LyoKICogQ29weXJpZ2h0IDIwMDggYnkgSmVucyBBbGJyZXRzZW4gPGplbnNAYWxicmV0c2VuLmRrPgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgpMQU5HVUFHRSBMQU5HX0RBTklTSCwgU1VCTEFOR19ERUZBVUxUCgpJRE1fTUFJTk1FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiZGaWwiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImTnkuLi5cdEN0cmwrTiIsICAgICAgICAgICAgSURfRklMRV9ORVcKICAgICAgICBNRU5VSVRFTSAiJsViZW4uLi5cdEN0cmwrTyIsICAgICAgICAgIElEX0ZJTEVfT1BFTgogICAgICAgIE1FTlVJVEVNICImR2VtbWVcdEN0cmwrUyIsICAgICAgICAgICAgSURfRklMRV9TQVZFCiAgICAgICAgTUVOVUlURU0gIkdlbW1lICZzb20uLi4iLCAgICAgICAgICAgICBJRF9GSUxFX1NBVkVBUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImVWRza3Jpdi4uLlx0Q3RybCtQIiwgICAgICAgSURfUFJJTlQKICAgICAgICBNRU5VSVRFTSAiJkZvcmjlbmRzdmlzbmluZy4uLiIsICAgICAgIElEX1BSRVZJRVcKICAgICAgICBNRU5VSVRFTSAiJlNpZGUgaW5kc3RpbGxpbmdlci4uLiIsICAgIElEX1BSSU5UU0VUVVAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkFmc2x1dCIsICAgICAgICAgICAgICAgICAgIElEX0ZJTEVfRVhJVAogICAgRU5ECiAgICBQT1BVUCAiUiZlZGlnZXIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImRm9ydHJ5ZFx0Q3RybCtaIiwgICAgICAgICAgSURfRURJVF9VTkRPCiAgICAgICAgTUVOVUlURU0gIiZHZW5kYWdcdEN0cmwrWSIsICAgICAgICAgICBJRF9FRElUX1JFRE8KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJktsaXBcdEN0cmwrWCIsICAgICAgICAgICAgIElEX0VESVRfQ1VUCiAgICAgICAgTUVOVUlURU0gIksmb3BpZXJcdEN0cmwrQyIsICAgICAgICAgICBJRF9FRElUX0NPUFkKICAgICAgICBNRU5VSVRFTSAiJkluZHPmdFx0Q3RybCtWIiwgICAgICAgICAgIElEX0VESVRfUEFTVEUKICAgICAgICBNRU5VSVRFTSAiJkZqZXJuXHRERUwiLCAgICAgICAgICAgICAgIElEX0VESVRfQ0xFQVIKICAgICAgICBNRU5VSVRFTSAiJk1hcmtlciBhbHRcdEN0cmwrQSIsICAgICAgIElEX0VESVRfU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZT+GcgZWZ0ZXIuLi5cdENydGwrRiIsICAgICBJRF9GSU5ECiAgICAgICAgTUVOVUlURU0gIlP4ZyBlZnRlciAmbuZzdGVcdEYzIiwgICAgICBJRF9GSU5EX05FWFQKICAgICAgICBNRU5VSVRFTSAiRSZyc3RhdC4uLlx0Q3RybCtIIiwgICAgICAgIElEX1JFUExBQ0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiUyZrcml2ZWJlc2t5dHRldCIsICAgICAgICAgIElEX0VESVRfUkVBRE9OTFkKICAgICAgICBNRU5VSVRFTSAixiZuZHJldCIsICAgICAgICAgICAgICAgICAgIElEX0VESVRfTU9ESUZJRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBQT1BVUCAiJkVrc3RyYSIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiJkluZm9ybWF0aW9uIG9tIG1hcmtlcmV0IG9tcuVkZSIsIElEX0VESVRfU0VMRUNUSU9OSU5GTwogICAgICAgICAgICBNRU5VSVRFTSAiVGVnbiZmb3JtYXQiLCAgICAgICAgICAgSURfRURJVF9DSEFSRk9STUFUCiAgICAgICAgICAgIE1FTlVJVEVNICJTdGFuJmRhcmQgdGVnbmZvcm1hdCIsICBJRF9FRElUX0RFRkNIQVJGT1JNQVQKICAgICAgICAgICAgTUVOVUlURU0gIiZBZnNuaXRzZm9ybWF0IiwgICAgICAgIElEX0VESVRfUEFSQUZPUk1BVAogICAgICAgICAgICBNRU5VSVRFTSAiJkhlbnQgdGVrc3QiLCAgICAgICAgICAgSURfRURJVF9HRVRURVhUCiAgICAgICAgRU5ECiAgICBFTkQKICAgIFBPUFVQICImVmlzIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiVuZyayZ0+GpzbGluaWUiLCAgICAgICAgICAgIElEX1RPR0dMRV9UT09MQkFSCiAgICAgICAgTUVOVUlURU0gIiZGb3JtYXR0ZXJpbmdsaW5pZSIsICAgICAgICBJRF9UT0dHTEVfRk9STUFUQkFSCiAgICAgICAgTUVOVUlURU0gIiZMaW5lYWwiLCAgICAgICAgICAgICAgICAgICBJRF9UT0dHTEVfUlVMRVIKICAgICAgICBNRU5VSVRFTSAiJlN0YXR1c2xpbmllIiwgICAgICAgICAgICAgIElEX1RPR0dMRV9TVEFUVVNCQVIKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkFsdGVybmF0aXZlci4uLiIsICAgICAgICAgIElEX1ZJRVdQUk9QRVJUSUVTCiAgICBFTkQKICAgIFBPUFVQICImSW5kc+Z0IgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkRhdG8gb2cgdGlkLi4uIiwgICAgICAgICAgIElEX0RBVEVUSU1FCiAgICBFTkQKICAgIFBPUFVQICJGJm9ybWF0IgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJlNrcmlmdHR5cGUuLi4iLCAgICAgICAgICAgIElEX0ZPTlRTRVRUSU5HUwogICAgICAgIE1FTlVJVEVNICImQnVsbGV0cyIgICAgICAgICAgICAgICAgICAgSURfQlVMTEVUCiAgICAgICAgTUVOVUlURU0gIiZBZnNuaXQuLi4iICAgICAgICAgICAgICAgICBJRF9QQVJBRk9STUFUCiAgICAgICAgTUVOVUlURU0gIiZUYWJ1bGF0b3Jlci4uLiIgICAgICAgICAgICBJRF9UQUJTVE9QUwogICAgICAgIFBPUFVQICImQmFnZ3J1bmQiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZTeXN0ZW1cdEN0cmwrMSIsICAgICAgIElEX0JBQ0tfMQogICAgICAgICAgICBNRU5VSVRFTSAiJkh1c2tlc2VkZGVsXHRDdHJsKzIiLCAgSURfQkFDS18yCiAgICAgICAgRU5ECiAgICBFTkQKICAgIFBPUFVQICImSGrmbHAiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImT20gV2luZSBXb3JkcGFkIiAgICAgICAgICAgSURfQUJPVVQKICAgIEVORApFTkQKCklETV9QT1BVUCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJktsaXAiICAgICAgICAgICAgICAgIElEX0VESVRfQ1VUCiAgICAgICAgTUVOVUlURU0gIksmb3BpZXIiICAgICAgICAgICAgICBJRF9FRElUX0NPUFkKICAgICAgICBNRU5VSVRFTSAiJkluZHPmdCIgICAgICAgICAgICAgIElEX0VESVRfUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkJ1bGxldHMiICAgICAgICAgICAgIElEX0JVTExFVAogICAgICAgIE1FTlVJVEVNICImQWZzbml0Li4uIiAgICAgICAgICAgSURfUEFSQUZPUk1BVAogICAgRU5ECkVORAoKSUREX0RBVEVUSU1FIERJQUxPRyBESVNDQVJEQUJMRSAzMCwgMjAsIDEzMCwgODAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkRhdG8gb2cgdGlkIgpGT05UIDEwLCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIExURVhUICAgICAgICAiVGlsZ+ZuZ2VsaWdlIGZvcm1hdGVyIiwtMSwzLDIsMTAwLDE1CiAgICBMSVNUQk9YICAgICAgSURDX0RBVEVUSU1FLDMsMTIsODAsNjUsTEJTX05PSU5URUdSQUxIRUlHSFQgfCBMQlNfTk9USUZZCiAgICBQVVNIQlVUVE9OICAgIiZPSyIsSURPSyw4NywxMiw0MCwxMgogICAgUFVTSEJVVFRPTiAgICImQW5udWxsZXIiLElEQ0FOQ0VMLDg3LDI2LDQwLDEyCkVORAoKSUREX05FV0ZJTEUgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMTQwLCA4MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTnkiCkZPTlQgMTAsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgTFRFWFQgICAgICAgICJOeSBkb2t1bWVudHR5cGUiLC0xLDMsMiwxMDAsMTUKICAgIExJU1RCT1ggICAgICBJRENfTkVXRklMRSwzLDEyLDkwLDY1LExCU19OT0lOVEVHUkFMSEVJR0hUCiAgICBQVVNIQlVUVE9OICAgIiZPSyIsSURPSyw5NywxMiw0MCwxMgogICAgUFVTSEJVVFRPTiAgICImQW5udWxsZXIiLElEQ0FOQ0VMLDk3LDI2LDQwLDEyCkVORAoKSUREX1BBUkFGT1JNQVQgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMjAwLCAxMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNhcHRpb24gIkZvcm1hdGVyIGFmc25pdCIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggIkluZHJ5ayIsIC0xLCAxMCwgMTAsIDEyMCwgNjgKICAgIExURVhUICJWZW5zdHJlIiwgLTEsIDE1LCAyMiwgNDAsIDEzCiAgICBFRElUVEVYVCBJRENfUEFSQV9MRUZULCA1NSwgMjAsIDYwLCAxMwogICAgTFRFWFQgIkj4anJlIiwgLTEsIDE1LCA0MCwgNDAsIDEzCiAgICBFRElUVEVYVCBJRENfUEFSQV9SSUdIVCwgNTUsIDM4LCA2MCwgMTMKICAgIExURVhUICJG+HJzdGUgbGluaWUiLCAtMSwgMTUsIDU4LCA0MCwgMTMKICAgIEVESVRURVhUIElEQ19QQVJBX0ZJUlNULCA1NSwgNTYsIDYwLCAxMwogICAgTFRFWFQgIkp1c3RlcmluZyIsIC0xLCAxNSwgODcsIDQwLCAxMwogICAgQ09NQk9CT1ggSURDX1BBUkFfQUxJR04sIDU1LCA4NSwgNjAsIDYwLCBDQlNfRFJPUERPV05MSVNUCiAgICBQVVNIQlVUVE9OICImT0siLCBJRE9LLCAxMzcsIDE1LCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIiZBbm51bGxlciIsIElEQ0FOQ0VMLCAxMzcsIDMzLCA1MCwgMTUKRU5ECgpJRERfVEFCU1RPUFMgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMjAwLCAxMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNhcHRpb24gIlRhYnVsYXRvcmVyIgpGT05UIDgsICJNUyBTSGVsbCBETGciCkJFR0lOCiAgICBHUk9VUEJPWCAiVGFidWxhdG9yc3RvcCIsIC0xLCAxMCwgMTAsIDEyMCwgOTAKICAgIENPTUJPQk9YIElEQ19UQUJTVE9QUywgMjAsIDIwLCAxMDAsIDYwLCBDQlNfU0lNUExFCiAgICBERUZQVVNIQlVUVE9OICImVGlsZvhqIiwgSURfVEFCX0FERCwgMjAsIDgwLCA0NSwgMTUKICAgIFBVU0hCVVRUT04gIiZGamVybiIsIElEX1RBQl9ERUwsIDcyLCA4MCwgNDUsIDE1CiAgICBQVVNIQlVUVE9OICImT0siLCBJRE9LLCAxMzcsIDE1LCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIiZBbm51bGxlciIsIElEQ0FOQ0VMLCAxMzcsIDMzLCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIkZqZXJuIGFsbCZlIiwgSURfVEFCX0VNUFRZLCAxMzcsIDUxLCA1MCwgMTUKRU5ECgpJRERfRk9STUFUT1BUUyBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCAxMTAKU1RZTEUgRFNfU1lTTU9EQUwKQ2FwdGlvbiAiIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAiTGluaWVicnlkbmluZyIsIC0xLCAxMCwgMTAsIDEzMCwgODUKICAgIFJBRElPQlVUVE9OICJObyBsaW5lIHdyYXBwaW5nIiwgSURDX1BBR0VGTVRfV04sIDE4LCAyNSwgMTE3LCAxNQogICAgUkFESU9CVVRUT04gIkJyeWQgdGVrc3QgZWZ0ZXIgdiZpbmR1c2JyZWRkZW4iLCBJRENfUEFHRUZNVF9XVywgMTgsIDQ1LCAxMTcsIDE1CiAgICBSQURJT0JVVFRPTiAiQnJ5ZCB0ZWtzdCBlZnRlciAmbWFyZ2VuIiwgSURDX1BBR0VGTVRfV00sIDE4LCA2NSwgMTE3LCAxNQogICAgR1JPVVBCT1ggIlbmcmt0+GpzbGluaWVyIiwgLTEsIDE1MCwgMTAsIDEyMCwgODUKICAgIENIRUNLQk9YICImVuZya3T4anNsaW5pZSIsIElEQ19QQUdFRk1UX1RCLCAxNjAsIDIwLCA4MCwgMTUKICAgIENIRUNLQk9YICImRm9ybWF0dGVyaW5nbGluaWUiLCBJRENfUEFHRUZNVF9GQiwgMTYwLCAzOCwgODAsIDE1CiAgICBDSEVDS0JPWCAiJkxpbmVhbCIsIElEQ19QQUdFRk1UX1JVLCAxNjAsIDU2LCA4MCwgMTUKICAgIENIRUNLQk9YICImU3RhdHVzbGluaWUiLCBJRENfUEFHRUZNVF9TQiwgMTYwLCA3NCwgODAsIDE1CiAgICBMVEVYVCAiIiwgSURDX1BBR0VGTVRfSUQsIDAsMCwwLDAKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1JJQ0hURVhUX0ZJTEVTX1JURiwgICAgICJSaWcgdGVrc3Rmb3JtYXQgKCoucnRmKSIKICAgIFNUUklOR19URVhUX0ZJTEVTX1RYVCwgICAgICAgICAiVGVrc3Rkb2t1bWVudCAoKi50eHQpIgogICAgU1RSSU5HX1RFWFRfRklMRVNfVU5JQ09ERV9UWFQsICJVbmljb2RlLXRla3N0ZG9rdW1lbnQgKCoudHh0KSIKICAgIFNUUklOR19BTExfRklMRVMsICAgICAgICAgICAgICAiQWxsZSBmaWxlciAoKi4qKSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX05FV0ZJTEVfUklDSFRFWFQsICAgICAiUmlnIHRla3N0ZG9rdW1lbnQiCiAgICBTVFJJTkdfTkVXRklMRV9UWFQsICAgICAgICAgICJUZWtzdGRva3VtZW50IgogICAgU1RSSU5HX05FV0ZJTEVfVFhUX1VOSUNPREUsICAiVGVrc3Rkb2t1bWVudCAoVW5pY29kZSkiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19BTElHTl9MRUZULCAgICAgICAgICAgICJWZW5zdHJlc3RpbGxldCIKICAgIFNUUklOR19BTElHTl9SSUdIVCwgICAgICAgICAgICJI+GpyZXN0aWxsZXQiCiAgICBTVFJJTkdfQUxJR05fQ0VOVEVSLCAgICAgICAgICAiTWlkdGVyc3RpbGxldCIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1BSSU5URVJfRklMRVNfUFJOLCAgICAgICAgIlByaW50ZXJmaWxlciAoKi5QUk4pIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfVklFV1BST1BTX1RJVExFLCAgICAgICAgICAiQWx0ZXJuYXRpdmVyIgogICAgU1RSSU5HX1ZJRVdQUk9QU19URVhULCAgICAgICAgICAgIlRla3N0IgogICAgU1RSSU5HX1ZJRVdQUk9QU19SSUNIVEVYVCwgICAgICAgIlJpZyB0ZWtzdCIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1BSRVZJRVdfUFJJTlQsICAgICAgICAgICAgIlVkc2tyaXYiCiAgICBTVFJJTkdfUFJFVklFV19ORVhUUEFHRSwgICAgICAgICAiTuZzdGUgc2lkZSIKICAgIFNUUklOR19QUkVWSUVXX1BSRVZQQUdFLCAgICAgICAgICJGb3JyaWdlIHNpZGUiCiAgICBTVFJJTkdfUFJFVklFV19UV09QQUdFUywgICAgICAgICAiVG8gc2lkZXIiCiAgICBTVFJJTkdfUFJFVklFV19PTkVQQUdFLCAgICAgICAgICAiyW4gc2lkZSIKICAgIFNUUklOR19QUkVWSUVXX0NMT1NFLCAgICAgICAgICAgICJMdWsiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19VTklUU19DTSwgICAgICAgICAgICAgImNtIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfREVGQVVMVF9GSUxFTkFNRSwgICAgICJEb2t1bWVudCIKICAgIFNUUklOR19QUk9NUFRfU0FWRV9DSEFOR0VTLCAgIkdlbW1lIOZuZHJpbmdlciBpIKslc7s/IgogICAgU1RSSU5HX1NFQVJDSF9GSU5JU0hFRCwgICAgICAiRuZyZGlnIG1lZCBhdCBz+GdlIGkgZG9rdW1lbnRldC4iCiAgICBTVFJJTkdfTE9BRF9SSUNIRURfRkFJTEVELCAgICJLdW5uZSBpa2tlIGluZGzmc2UgUmljaEVkaXQtYmlibGlvdGVrZXQuIgogICAgU1RSSU5HX1NBVkVfTE9TRUZPUk1BVFRJTkcsICAiRHUgaGFyIHZhbGd0IGF0IGdlbW1lIGkgcmVudCB0ZWtzdGZvcm1hdCwgbm9nZXQgc29tICIgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmlsIG1lZGb4cmUgYXQgYWwgZm9ybWF0ZXJpbmcgZ+VyIHRhYnQuIEVyIGR1ICIgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lra2VyIHDlIGF0IGR1IHZpbCBmb3J0c+Z0dGU/IgogICAgU1RSSU5HX0lOVkFMSURfTlVNQkVSLCAgICAgICAiVWd5bGRpZ3QgdGFsZm9ybWF0IgogICAgU1RSSU5HX09MRV9TVE9SQUdFX05PVF9TVVBQT1JURUQsICJPTEUgc3RvcmFnZSBkb2t1bWVudGVyIGVyIGlra2UgdW5kZXJzdPh0dGV0IgpFTkQK