LyoKICogQ29weXJpZ2h0IDIwMDggYnkgSmVucyBBbGJyZXRzZW4gPGplbnNAYWxicmV0c2VuLmRrPgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgojaW5jbHVkZSAid29yZHBhZC5oIgoKTEFOR1VBR0UgTEFOR19EQU5JU0gsIFNVQkxBTkdfREVGQVVMVAoKSURNX01BSU5NRU5VIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICImRmlsIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk55Li4uXHRDdHJsK04iLCAgICAgICAgICAgIElEX0ZJTEVfTkVXCiAgICAgICAgTUVOVUlURU0gIibFYmVuLi4uXHRDdHJsK08iLCAgICAgICAgICBJRF9GSUxFX09QRU4KICAgICAgICBNRU5VSVRFTSAiJkdlbW1lXHRDdHJsK1MiLCAgICAgICAgICAgIElEX0ZJTEVfU0FWRQogICAgICAgIE1FTlVJVEVNICJHZW1tZSAmc29tLi4uIiwgICAgICAgICAgICAgSURfRklMRV9TQVZFQVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlVkc2tyaXYuLi5cdEN0cmwrUCIsICAgICAgIElEX1BSSU5UCiAgICAgICAgTUVOVUlURU0gIiZGb3Jo5W5kc3Zpc25pbmcuLi4iLCAgICAgICBJRF9QUkVWSUVXCiAgICAgICAgTUVOVUlURU0gIiZTaWRlIGluZHN0aWxsaW5nZXIuLi4iLCAgICBJRF9QUklOVFNFVFVQCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZBZnNsdXQiLCAgICAgICAgICAgICAgICAgICBJRF9GSUxFX0VYSVQKICAgIEVORAogICAgUE9QVVAgIlImZWRpZ2VyIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkZvcnRyeWRcdEN0cmwrWiIsICAgICAgICAgIElEX0VESVRfVU5ETwogICAgICAgIE1FTlVJVEVNICImR2VuZGFnXHRDdHJsK1kiLCAgICAgICAgICAgSURfRURJVF9SRURPCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZLbGlwXHRDdHJsK1giLCAgICAgICAgICAgICBJRF9FRElUX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waWVyXHRDdHJsK0MiLCAgICAgICAgICAgSURfRURJVF9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZJbmRz5nRcdEN0cmwrViIsICAgICAgICAgICBJRF9FRElUX1BBU1RFCiAgICAgICAgTUVOVUlURU0gIiZGamVyblx0REVMIiwgICAgICAgICAgICAgICBJRF9FRElUX0NMRUFSCiAgICAgICAgTUVOVUlURU0gIiZNYXJrZXIgYWx0XHRDdHJsK0EiLCAgICAgICBJRF9FRElUX1NFTEVDVEFMTAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImU/hnIGVmdGVyLi4uXHRDdHJsK0YiLCAgICAgSURfRklORAogICAgICAgIE1FTlVJVEVNICJT+GcgZWZ0ZXIgJm7mc3RlXHRGMyIsICAgICAgSURfRklORF9ORVhUCiAgICAgICAgTUVOVUlURU0gIkUmcnN0YXQuLi5cdEN0cmwrSCIsICAgICAgICBJRF9SRVBMQUNFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlMma3JpdmViZXNreXR0ZXQiLCAgICAgICAgICBJRF9FRElUX1JFQURPTkxZCiAgICAgICAgTUVOVUlURU0gIsYmbmRyZXQiLCAgICAgICAgICAgICAgICAgICBJRF9FRElUX01PRElGSUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgUE9QVVAgIiZFa3N0cmEiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZJbmZvcm1hdGlvbiBvbSBtYXJrZXJldCBvbXLlZGUiLCBJRF9FRElUX1NFTEVDVElPTklORk8KICAgICAgICAgICAgTUVOVUlURU0gIlRlZ24mZm9ybWF0IiwgICAgICAgICAgIElEX0VESVRfQ0hBUkZPUk1BVAogICAgICAgICAgICBNRU5VSVRFTSAiU3RhbiZkYXJkIHRlZ25mb3JtYXQiLCAgSURfRURJVF9ERUZDSEFSRk9STUFUCiAgICAgICAgICAgIE1FTlVJVEVNICImQWZzbml0c2Zvcm1hdCIsICAgICAgICBJRF9FRElUX1BBUkFGT1JNQVQKICAgICAgICAgICAgTUVOVUlURU0gIiZIZW50IHRla3N0IiwgICAgICAgICAgIElEX0VESVRfR0VUVEVYVAogICAgICAgIEVORAogICAgRU5ECiAgICBQT1BVUCAiJlZpcyIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIlbmcmsmdPhqc2xpbmllIiwgICAgICAgICAgICBJRF9UT0dHTEVfVE9PTEJBUgogICAgICAgIE1FTlVJVEVNICImRm9ybWF0dGVyaW5nbGluaWUiLCAgICAgICAgSURfVE9HR0xFX0ZPUk1BVEJBUgogICAgICAgIE1FTlVJVEVNICImTGluZWFsIiwgICAgICAgICAgICAgICAgICAgSURfVE9HR0xFX1JVTEVSCiAgICAgICAgTUVOVUlURU0gIiZTdGF0dXNsaW5pZSIsICAgICAgICAgICAgICBJRF9UT0dHTEVfU1RBVFVTQkFSCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZBbHRlcm5hdGl2ZXIuLi4iLCAgICAgICAgICBJRF9WSUVXUFJPUEVSVElFUwogICAgRU5ECiAgICBQT1BVUCAiJkluZHPmdCIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZEYXRvIG9nIHRpZC4uLiIsICAgICAgICAgICBJRF9EQVRFVElNRQogICAgRU5ECiAgICBQT1BVUCAiRiZvcm1hdCIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZTa3JpZnR0eXBlLi4uIiwgICAgICAgICAgICBJRF9GT05UU0VUVElOR1MKICAgICAgICBNRU5VSVRFTSAiJkJ1bGxldHMiICAgICAgICAgICAgICAgICAgIElEX0JVTExFVAogICAgICAgIE1FTlVJVEVNICImQWZzbml0Li4uIiAgICAgICAgICAgICAgICAgSURfUEFSQUZPUk1BVAogICAgICAgIE1FTlVJVEVNICImVGFidWxhdG9yZXIuLi4iICAgICAgICAgICAgSURfVEFCU1RPUFMKICAgICAgICBQT1BVUCAiJkJhZ2dydW5kIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImU3lzdGVtXHRDdHJsKzEiLCAgICAgICBJRF9CQUNLXzEKICAgICAgICAgICAgTUVOVUlURU0gIiZIdXNrZXNlZGRlbFx0Q3RybCsyIiwgIElEX0JBQ0tfMgogICAgICAgIEVORAogICAgRU5ECiAgICBQT1BVUCAiJkhq5mxwIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk9tIFdpbmUgV29yZHBhZCIgICAgICAgICAgIElEX0FCT1VUCiAgICBFTkQKRU5ECgpJRE1fUE9QVVAgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZLbGlwIiAgICAgICAgICAgICAgICBJRF9FRElUX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waWVyIiAgICAgICAgICAgICAgSURfRURJVF9DT1BZCiAgICAgICAgTUVOVUlURU0gIiZJbmRz5nQiICAgICAgICAgICAgICBJRF9FRElUX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZCdWxsZXRzIiAgICAgICAgICAgICBJRF9CVUxMRVQKICAgICAgICBNRU5VSVRFTSAiJkFmc25pdC4uLiIgICAgICAgICAgIElEX1BBUkFGT1JNQVQKICAgIEVORApFTkQKCklETV9DT0xPUl9QT1BVUCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiU29ydCIsICAgICAgSURfQ09MT1JfQkxBQ0sKICAgICAgICBNRU5VSVRFTSAiTfhya2Vy+GQiLCAgSURfQ09MT1JfTUFST09OCiAgICAgICAgTUVOVUlURU0gIkdy+G4iLCAgICAgIElEX0NPTE9SX0dSRUVOCiAgICAgICAgTUVOVUlURU0gIk9saXZlbiIgICAgIElEX0NPTE9SX09MSVZFCiAgICAgICAgTUVOVUlURU0gIk5hdnkiICAgICAgIElEX0NPTE9SX05BVlkKICAgICAgICBNRU5VSVRFTSAiTGlsbGEiICAgICAgSURfQ09MT1JfUFVSUExFCiAgICAgICAgTUVOVUlURU0gIlRlYWwiICAgICAgIElEX0NPTE9SX1RFQUwKICAgICAgICBNRU5VSVRFTSAiR3LlIiAgICAgICAgSURfQ09MT1JfR1JBWQogICAgICAgIE1FTlVJVEVNICJT+Gx2IiAgICAgICBJRF9DT0xPUl9TSUxWRVIKICAgICAgICBNRU5VSVRFTSAiUvhkIiAgICAgICAgSURfQ09MT1JfUkVECiAgICAgICAgTUVOVUlURU0gIkxpbWUiICAgICAgIElEX0NPTE9SX0xJTUUKICAgICAgICBNRU5VSVRFTSAiR3VsIiAgICAgICAgSURfQ09MT1JfWUVMTE9XCiAgICAgICAgTUVOVUlURU0gIkJs5SIgICAgICAgIElEX0NPTE9SX0JMVUUKICAgICAgICBNRU5VSVRFTSAiVmlvbGV0IiAgICAgSURfQ09MT1JfRlVDSFNJQQogICAgICAgIE1FTlVJVEVNICJDeWFuIiAgICAgICBJRF9DT0xPUl9BUVVBCiAgICAgICAgTUVOVUlURU0gIkh2aWQiICAgICAgIElEX0NPTE9SX1dISVRFCiAgICAgICAgTUVOVUlURU0gIkF1dG9tYXRpYyIgIElEX0NPTE9SX0FVVE9NQVRJQwogICAgRU5ECkVORAoKSUREX0RBVEVUSU1FIERJQUxPRyBESVNDQVJEQUJMRSAzMCwgMjAsIDEzMCwgODAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkRhdG8gb2cgdGlkIgpGT05UIDEwLCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIExURVhUICAgICAgICAiVGlsZ+ZuZ2VsaWdlIGZvcm1hdGVyIiwtMSwzLDIsMTAwLDE1CiAgICBMSVNUQk9YICAgICAgSURDX0RBVEVUSU1FLDMsMTIsODAsNjUsTEJTX05PSU5URUdSQUxIRUlHSFQgfCBMQlNfTk9USUZZCiAgICBQVVNIQlVUVE9OICAgIiZPSyIsSURPSyw4NywxMiw0MCwxMgogICAgUFVTSEJVVFRPTiAgICImQW5udWxsZXIiLElEQ0FOQ0VMLDg3LDI2LDQwLDEyCkVORAoKSUREX05FV0ZJTEUgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMTQwLCA4MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTnkiCkZPTlQgMTAsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgTFRFWFQgICAgICAgICJOeSBkb2t1bWVudHR5cGUiLC0xLDMsMiwxMDAsMTUKICAgIExJU1RCT1ggICAgICBJRENfTkVXRklMRSwzLDEyLDkwLDY1LExCU19OT0lOVEVHUkFMSEVJR0hUCiAgICBQVVNIQlVUVE9OICAgIiZPSyIsSURPSyw5NywxMiw0MCwxMgogICAgUFVTSEJVVFRPTiAgICImQW5udWxsZXIiLElEQ0FOQ0VMLDk3LDI2LDQwLDEyCkVORAoKSUREX1BBUkFGT1JNQVQgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMjAwLCAxMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNhcHRpb24gIkZvcm1hdGVyIGFmc25pdCIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggIkluZHJ5ayIsIC0xLCAxMCwgMTAsIDEyMCwgNjgKICAgIExURVhUICJWZW5zdHJlIiwgLTEsIDE1LCAyMiwgNDAsIDEzCiAgICBFRElUVEVYVCBJRENfUEFSQV9MRUZULCA1NSwgMjAsIDYwLCAxMwogICAgTFRFWFQgIkj4anJlIiwgLTEsIDE1LCA0MCwgNDAsIDEzCiAgICBFRElUVEVYVCBJRENfUEFSQV9SSUdIVCwgNTUsIDM4LCA2MCwgMTMKICAgIExURVhUICJG+HJzdGUgbGluaWUiLCAtMSwgMTUsIDU4LCA0MCwgMTMKICAgIEVESVRURVhUIElEQ19QQVJBX0ZJUlNULCA1NSwgNTYsIDYwLCAxMwogICAgTFRFWFQgIkp1c3RlcmluZyIsIC0xLCAxNSwgODcsIDQwLCAxMwogICAgQ09NQk9CT1ggSURDX1BBUkFfQUxJR04sIDU1LCA4NSwgNjAsIDYwLCBDQlNfRFJPUERPV05MSVNUCiAgICBQVVNIQlVUVE9OICImT0siLCBJRE9LLCAxMzcsIDE1LCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIiZBbm51bGxlciIsIElEQ0FOQ0VMLCAxMzcsIDMzLCA1MCwgMTUKRU5ECgpJRERfVEFCU1RPUFMgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMjAwLCAxMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNhcHRpb24gIlRhYnVsYXRvcmVyIgpGT05UIDgsICJNUyBTSGVsbCBETGciCkJFR0lOCiAgICBHUk9VUEJPWCAiVGFidWxhdG9yc3RvcCIsIC0xLCAxMCwgMTAsIDEyMCwgOTAKICAgIENPTUJPQk9YIElEQ19UQUJTVE9QUywgMjAsIDIwLCAxMDAsIDYwLCBDQlNfU0lNUExFCiAgICBERUZQVVNIQlVUVE9OICImVGlsZvhqIiwgSURfVEFCX0FERCwgMjAsIDgwLCA0NSwgMTUKICAgIFBVU0hCVVRUT04gIiZGamVybiIsIElEX1RBQl9ERUwsIDcyLCA4MCwgNDUsIDE1CiAgICBQVVNIQlVUVE9OICImT0siLCBJRE9LLCAxMzcsIDE1LCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIiZBbm51bGxlciIsIElEQ0FOQ0VMLCAxMzcsIDMzLCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIkZqZXJuIGFsbCZlIiwgSURfVEFCX0VNUFRZLCAxMzcsIDUxLCA1MCwgMTUKRU5ECgpJRERfRk9STUFUT1BUUyBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCAxMTAKU1RZTEUgRFNfU1lTTU9EQUwKQ2FwdGlvbiAiIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAiTGluaWVicnlkbmluZyIsIC0xLCAxMCwgMTAsIDEzMCwgODUKICAgIFJBRElPQlVUVE9OICJObyBsaW5lIHdyYXBwaW5nIiwgSURDX1BBR0VGTVRfV04sIDE4LCAyNSwgMTE3LCAxNQogICAgUkFESU9CVVRUT04gIkJyeWQgdGVrc3QgZWZ0ZXIgdiZpbmR1c2JyZWRkZW4iLCBJRENfUEFHRUZNVF9XVywgMTgsIDQ1LCAxMTcsIDE1CiAgICBSQURJT0JVVFRPTiAiQnJ5ZCB0ZWtzdCBlZnRlciAmbWFyZ2VuIiwgSURDX1BBR0VGTVRfV00sIDE4LCA2NSwgMTE3LCAxNQogICAgR1JPVVBCT1ggIlbmcmt0+GpzbGluaWVyIiwgLTEsIDE1MCwgMTAsIDEyMCwgODUKICAgIENIRUNLQk9YICImVuZya3T4anNsaW5pZSIsIElEQ19QQUdFRk1UX1RCLCAxNjAsIDIwLCA4MCwgMTUKICAgIENIRUNLQk9YICImRm9ybWF0dGVyaW5nbGluaWUiLCBJRENfUEFHRUZNVF9GQiwgMTYwLCAzOCwgODAsIDE1CiAgICBDSEVDS0JPWCAiJkxpbmVhbCIsIElEQ19QQUdFRk1UX1JVLCAxNjAsIDU2LCA4MCwgMTUKICAgIENIRUNLQk9YICImU3RhdHVzbGluaWUiLCBJRENfUEFHRUZNVF9TQiwgMTYwLCA3NCwgODAsIDE1CiAgICBMVEVYVCAiIiwgSURDX1BBR0VGTVRfSUQsIDAsMCwwLDAKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1JJQ0hURVhUX0ZJTEVTX1JURiwgICAgICJSaWcgdGVrc3Rmb3JtYXQgKCoucnRmKSIKICAgIFNUUklOR19URVhUX0ZJTEVTX1RYVCwgICAgICAgICAiVGVrc3Rkb2t1bWVudCAoKi50eHQpIgogICAgU1RSSU5HX1RFWFRfRklMRVNfVU5JQ09ERV9UWFQsICJVbmljb2RlLXRla3N0ZG9rdW1lbnQgKCoudHh0KSIKICAgIFNUUklOR19BTExfRklMRVMsICAgICAgICAgICAgICAiQWxsZSBmaWxlciAoKi4qKSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX05FV0ZJTEVfUklDSFRFWFQsICAgICAiUmlnIHRla3N0ZG9rdW1lbnQiCiAgICBTVFJJTkdfTkVXRklMRV9UWFQsICAgICAgICAgICJUZWtzdGRva3VtZW50IgogICAgU1RSSU5HX05FV0ZJTEVfVFhUX1VOSUNPREUsICAiVGVrc3Rkb2t1bWVudCAoVW5pY29kZSkiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19BTElHTl9MRUZULCAgICAgICAgICAgICJWZW5zdHJlc3RpbGxldCIKICAgIFNUUklOR19BTElHTl9SSUdIVCwgICAgICAgICAgICJI+GpyZXN0aWxsZXQiCiAgICBTVFJJTkdfQUxJR05fQ0VOVEVSLCAgICAgICAgICAiTWlkdGVyc3RpbGxldCIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1BSSU5URVJfRklMRVNfUFJOLCAgICAgICAgIlByaW50ZXJmaWxlciAoKi5QUk4pIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfVklFV1BST1BTX1RJVExFLCAgICAgICAgICAiQWx0ZXJuYXRpdmVyIgogICAgU1RSSU5HX1ZJRVdQUk9QU19URVhULCAgICAgICAgICAgIlRla3N0IgogICAgU1RSSU5HX1ZJRVdQUk9QU19SSUNIVEVYVCwgICAgICAgIlJpZyB0ZWtzdCIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1BSRVZJRVdfUFJJTlQsICAgICAgICAgICAgIlVkc2tyaXYiCiAgICBTVFJJTkdfUFJFVklFV19ORVhUUEFHRSwgICAgICAgICAiTuZzdGUgc2lkZSIKICAgIFNUUklOR19QUkVWSUVXX1BSRVZQQUdFLCAgICAgICAgICJGb3JyaWdlIHNpZGUiCiAgICBTVFJJTkdfUFJFVklFV19UV09QQUdFUywgICAgICAgICAiVG8gc2lkZXIiCiAgICBTVFJJTkdfUFJFVklFV19PTkVQQUdFLCAgICAgICAgICAiyW4gc2lkZSIKICAgIFNUUklOR19QUkVWSUVXX1pPT01JTiwgICAgICAgICAgICJab29tIGluIgogICAgU1RSSU5HX1BSRVZJRVdfWk9PTU9VVCwgICAgICAgICAgIlpvb20gb3V0IgogICAgU1RSSU5HX1BSRVZJRVdfQ0xPU0UsICAgICAgICAgICAgIkx1ayIKICAgIFNUUklOR19QUkVWSUVXX1BBR0UsICAgICAgICAgICAgICJQYWdlIgogICAgU1RSSU5HX1BSRVZJRVdfUEFHRVMsICAgICAgICAgICAgIlBhZ2VzIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfVU5JVFNfQ00sICAgICAgICAgICAgICJjbSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX0RFRkFVTFRfRklMRU5BTUUsICAgICAiRG9rdW1lbnQiCiAgICBTVFJJTkdfUFJPTVBUX1NBVkVfQ0hBTkdFUywgICJHZW1tZSDmbmRyaW5nZXIgaSCrJXO7PyIKICAgIFNUUklOR19TRUFSQ0hfRklOSVNIRUQsICAgICAgIkbmcmRpZyBtZWQgYXQgc/hnZSBpIGRva3VtZW50ZXQuIgogICAgU1RSSU5HX0xPQURfUklDSEVEX0ZBSUxFRCwgICAiS3VubmUgaWtrZSBpbmRs5nNlIFJpY2hFZGl0LWJpYmxpb3Rla2V0LiIKICAgIFNUUklOR19TQVZFX0xPU0VGT1JNQVRUSU5HLCAgIkR1IGhhciB2YWxndCBhdCBnZW1tZSBpIHJlbnQgdGVrc3Rmb3JtYXQsIG5vZ2V0IHNvbSAiIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZpbCBtZWRm+HJlIGF0IGFsIGZvcm1hdGVyaW5nIGflciB0YWJ0LiBFciBkdSAiIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpa2tlciBw5SBhdCBkdSB2aWwgZm9ydHPmdHRlPyIKICAgIFNUUklOR19JTlZBTElEX05VTUJFUiwgICAgICAgIlVneWxkaWd0IHRhbGZvcm1hdCIKICAgIFNUUklOR19PTEVfU1RPUkFHRV9OT1RfU1VQUE9SVEVELCAiT0xFIHN0b3JhZ2UgZG9rdW1lbnRlciBlciBpa2tlIHVuZGVyc3T4dHRldCIKRU5ECg==