LyoKICogQ29weXJpZ2h0IDIwMDYtMjAwNyBieSBKb25hdGhhbiBFcm5zdAogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgpMQU5HVUFHRSBMQU5HX0ZSRU5DSCwgU1VCTEFOR19ORVVUUkFMCgpJRE1fTUFJTk1FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIiZGaWNoaWVyIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk5vdXZlYXUuLi5cdEN0cmwrTiIsICAgICAgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNICImT3V2cmlyLi4uXHRDdHJsK08iLCAgICAgIElEX0ZJTEVfT1BFTgogICAgICAgIE1FTlVJVEVNICImRW5yZWdpc3RyZXJcdEN0cmwrUyIsICAgIElEX0ZJTEVfU0FWRQogICAgICAgIE1FTlVJVEVNICJFbnJlZ2lzdHJlciAmc291cy4uLiIsICAgIElEX0ZJTEVfU0FWRUFTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZJbXByaW1lci4uLlx0Q3RybCtQIiwgICAgSURfUFJJTlQKICAgICAgICBNRU5VSVRFTSAiQSZwZXLndSBhdmFudCBpbXByZXNzaW9uLi4uIiwgICAgSURfUFJFVklFVwogICAgICAgIE1FTlVJVEVNICImTWlzZSBlbiBwYWdlLi4uIiwgICAgICAgIElEX1BSSU5UU0VUVVAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlF1aXR0ZXIiLCAgICAgICAgSURfRklMRV9FWElUCiAgICBFTkQKICAgIFBPUFVQICLJJmRpdGlvbiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZBbm51bGVyXHRDdHJsK1oiLCAgICAgICAgICAgICAgICBJRF9FRElUX1VORE8KICAgICAgICBNRU5VSVRFTSAiJlLpdGFibGlyXHRDdHJsK1kiLCAgICAgICAgICAgICAgICBJRF9FRElUX1JFRE8KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkNvdXBlclx0Q3RybCtYIiwgICAgICAgICAgICAgICAgIElEX0VESVRfQ1VUCiAgICAgICAgTUVOVUlURU0gIkNvJnBpZXJcdEN0cmwrQyIsICAgICAgICAgICAgICAgICBJRF9FRElUX0NPUFkKICAgICAgICBNRU5VSVRFTSAiQyZvbGxlclx0Q3RybCtWIiwgICAgICAgICAgICAgICAgIElEX0VESVRfUEFTVEUKICAgICAgICBNRU5VSVRFTSAiJkVmZmFjZXJcdERlbCIsICAgICAgICAgICAgICAgICAgIElEX0VESVRfQ0xFQVIKICAgICAgICBNRU5VSVRFTSAiJlPpbGVjdGlvbm5lciB0b3V0XHRDdHJsK0EiLCAgICAgIElEX0VESVRfU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZSZWNoZXJjaGVyLi4uXHRDcnRsK0YiLCAgICAgICAgICAgICBJRF9GSU5ECiAgICAgICAgTUVOVUlURU0gIlJlY2hlcmNoZXIgbGUgJnN1aXZhbnRcdEYzIiwgICAgICAgICAgICAgICAgICBJRF9GSU5EX05FWFQKICAgICAgICBNRU5VSVRFTSAiJlJlbXBsYWNlci4uLlx0Q3RybCtIIiwgICAgICAgICAgSURfUkVQTEFDRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMZWN0dXJlLSZzZXVsZSIsICAgICAgICAgICAgICAgICAgSURfRURJVF9SRUFET05MWQogICAgICAgIE1FTlVJVEVNICImTW9kaWZp6SIsICAgICAgICAgICAgICAgICAgICAgICAgSURfRURJVF9NT0RJRklFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICImQXZhbmPpcyIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiJkluZm9ybWF0aW9uIHPpbGVjdGlvbiIsICAgICAgSURfRURJVF9TRUxFQ1RJT05JTkZPCiAgICAgICAgICAgIE1FTlVJVEVNICImRm9ybWF0IGNhcmFjdOhyZXMiLCAgICAgICAgICBJRF9FRElUX0NIQVJGT1JNQVQKICAgICAgICAgICAgTUVOVUlURU0gIiZE6WYuIGZvcm1hdCBjYXIuIiwgICAgICAgICAgIElEX0VESVRfREVGQ0hBUkZPUk1BVAogICAgICAgICAgICBNRU5VSVRFTSAiRm9ybWF0IHBhcmFncmFwJmhlIiwgICAgICAgICAgSURfRURJVF9QQVJBRk9STUFUCiAgICAgICAgICAgIE1FTlVJVEVNICImUmVjZXZvaXIgdGV4dGUiLCAgICAgICAgICAgICBJRF9FRElUX0dFVFRFWFQKICAgICAgICBFTkQKICAgIEVORAogICAgUE9QVVAgIiZBZmZpY2hhZ2UiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImQmFycmUgZCdvdXRpbHMiLCAgICAgICAgSURfVE9HR0xFX1RPT0xCQVIKICAgICAgICBNRU5VSVRFTSAiJkJhcnJlIGRlIGZvcm1hdCIsICAgICAgSURfVE9HR0xFX0ZPUk1BVEJBUgogICAgICAgIE1FTlVJVEVNICImUuhnbGUiLCAgICAgICAgICAgICBJRF9UT0dHTEVfUlVMRVIKICAgICAgICBNRU5VSVRFTSAiJkJhcnJlIGQn6XRhdCIsICAgICAgSURfVE9HR0xFX1NUQVRVU0JBUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImT3B0aW9ucy4uLiIsICBJRF9WSUVXUFJPUEVSVElFUwogICAgRU5ECiAgICBQT1BVUCAiJkluc2VydGlvbiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZEYXRlIGV0IGhldXJlLi4uIiwgIElEX0RBVEVUSU1FCiAgICBFTkQKICAgIFBPUFVQICJGb3JtYSZ0IgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJlBvbGljZS4uLiIsICAgICAgICAgICAgICAgICAgSURfRk9OVFNFVFRJTkdTCiAgICAgICAgTUVOVUlURU0gIiZQdWNlcyIgICAgICAgICAgICAgICAgSURfQlVMTEVUCiAgICAgICAgTUVOVUlURU0gIiZQYXJhZ3JhcGhlLi4uIiAgICAgICAgICAgICAgSURfUEFSQUZPUk1BVAogICAgICAgIE1FTlVJVEVNICImVGFidWxhdGlvbnMuLi4iICAgICAgICAgICAgICAgICAgIElEX1RBQlNUT1BTCiAgICAgICAgUE9QVVAgIiZGb25kIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImU3lzdOhtZVx0Q3RybCsxIiwgICAgICAgICBJRF9CQUNLXzEKICAgICAgICAgICAgTUVOVUlURU0gIiZKYXVuYXNzZVx0Q3RybCsyIiwgICAgICAgICAgIElEX0JBQ0tfMgogICAgICAgIEVORAogICAgRU5ECiAgICBQT1BVUCAiQWlkJmUiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICLAICZwcm9wb3MgZHUgV29yZHBhZCBkZSBXaW5lIiAgICAgICBJRF9BQk9VVAogICAgRU5ECkVORAoKSURNX1BPUFVQIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImQ291cGVyIiwgICAgICAgICAgICAgSURfRURJVF9DVVQKICAgICAgICBNRU5VSVRFTSAiQ28mcGllciIsICAgICAgICAgICAgIElEX0VESVRfQ09QWQogICAgICAgIE1FTlVJVEVNICJDJm9sbGVyIiwgICAgICAgICAgICAgSURfRURJVF9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImUHVjZXMiICAgICAgIElEX0JVTExFVAogICAgICAgIE1FTlVJVEVNICImUGFyYWdyYXBoZSIgICAgIElEX1BBUkFGT1JNQVQKICAgIEVORApFTkQKCklERF9EQVRFVElNRSBESUFMT0cgRElTQ0FSREFCTEUgMzAsIDIwLCAxMzAsIDgwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJEYXRlIGV0IGhldXJlIgpGT05UIDEwLCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIExURVhUICAgICAgICAiRm9ybWF0cyBkaXNwb25pYmxlcyIsMCwzLDIsMTAwLDE1CiAgICBMSVNUQk9YICAgICAgSURDX0RBVEVUSU1FLDMsMTIsODAsNjUsTEJTX05PSU5URUdSQUxIRUlHSFQKICAgIFBVU0hCVVRUT04gICAiJk9LIixJRE9LLDg3LDEyLDQwLDEyCiAgICBQVVNIQlVUVE9OICAgIiZBbm51bGVyIixJRENBTkNFTCw4NywyNiw0MCwxMgpFTkQKCklERF9ORVdGSUxFIERJQUxPRyBESVNDQVJEQUJMRSAzMCwgMjAsIDE0MCwgODAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIk5vdXZlYXUiCkZPTlQgMTAsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgTFRFWFQgICAgICAgICJOb3V2ZWF1IHR5cGUgZGUgZG9jdW1lbnQiLDAsMywyLDEwMCwxNQogICAgTElTVEJPWCAgICAgIElEQ19ORVdGSUxFLDMsMTIsOTAsNjUsTEJTX05PSU5URUdSQUxIRUlHSFQKICAgIFBVU0hCVVRUT04gICAiJk9LIixJRE9LLDk3LDEyLDQwLDEyCiAgICBQVVNIQlVUVE9OICAgIiZBbm51bGVyIixJRENBTkNFTCw5NywyNiw0MCwxMgpFTkQKCklERF9QQVJBRk9STUFUIERJQUxPRyBESVNDQVJEQUJMRSAzMCwgMjAsIDIwMCwgMTEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDYXB0aW9uICJGb3JtYXQgZGUgcGFyYWdyYXBoZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggIkluZGVudGF0aW9uIiwgMCwgMTAsIDEwLCAxMjAsIDY4CiAgICBMVEVYVCAiR2F1Y2hlIiwgMCwgMTUsIDIyLCA0MCwgMTMKICAgIEVESVRURVhUIElEQ19QQVJBX0xFRlQsIDU1LCAyMCwgNjAsIDEzCiAgICBMVEVYVCAiRHJvaXRlIiwgMCwgMTUsIDQwLCA0MCwgMTMKICAgIEVESVRURVhUIElEQ19QQVJBX1JJR0hULCA1NSwgMzgsIDYwLCAxMwogICAgTFRFWFQgIlByZW1p6HJlIGxpZ25lIiwgMCwgMTUsIDU4LCA0MCwgMTgKICAgIEVESVRURVhUIElEQ19QQVJBX0ZJUlNULCA1NSwgNTYsIDYwLCAxMwogICAgTFRFWFQgIkFsaWduZW1lbnQiLCAwLCAxNSwgODcsIDQwLCAxMwogICAgQ09NQk9CT1ggSURDX1BBUkFfQUxJR04sIDU1LCA4NSwgNjAsIDYwLCBDQlNfRFJPUERPV05MSVNUCiAgICBQVVNIQlVUVE9OICImT0siLCBJRE9LLCAxMzcsIDE1LCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIiZBbm51bGVyIiwgSURDQU5DRUwsIDEzNywgMzMsIDUwLCAxNQpFTkQKCklERF9UQUJTVE9QUyBESUFMT0cgRElTQ0FSREFCTEUgMzAsIDIwLCAyMDAsIDExMApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ2FwdGlvbiAiVGFidWxhdGlvbnMiCkZPTlQgOCwgIk1TIFNIZWxsIERMZyIKQkVHSU4KICAgIEdST1VQQk9YICJBcnLqdHMgZGUgdGFidWxhdGlvbiIsIDAsIDEwLCAxMCwgMTIwLCA5MAogICAgQ09NQk9CT1ggSURDX1RBQlNUT1BTLCAyMCwgMjAsIDEwMCwgNjAsIENCU19TSU1QTEUgfCBDQlNfU09SVAogICAgREVGUFVTSEJVVFRPTiAiJkFqb3V0ZXIiLCBJRF9UQUJfQURELCAyMCwgODAsIDQ1LCAxNQogICAgUFVTSEJVVFRPTiAiJlN1cHByaW1lciIsIElEX1RBQl9ERUwsIDcyLCA4MCwgNDUsIDE1CiAgICBQVVNIQlVUVE9OICImT0siLCBJRE9LLCAxMzcsIDE1LCA1MCwgMTUKICAgIFBVU0hCVVRUT04gIiZBbm51bGVyIiwgSURDQU5DRUwsIDEzNywgMzMsIDUwLCAxNQogICAgUFVTSEJVVFRPTiAiU3VwcHJpbWVyICZ0b3VzIiwgSURfVEFCX0VNUFRZLCAxMzcsIDUxLCA1MCwgMTUKRU5ECgpJRERfRk9STUFUT1BUUyBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCAxMTAKU1RZTEUgRFNfU1lTTU9EQUwKQ2FwdGlvbiAiIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAiRW52ZWxvcHBlbWVudCBkZSBsaWduZSIsIDAsIDEwLCAxMCwgMTcwLCA4NQogICAgUkFESU9CVVRUT04gIk5vIGxpbmUgd3JhcHBpbmciLCBJRENfUEFHRUZNVF9XTiwgMTgsIDI1LCAxNDUsIDE1CiAgICBSQURJT0JVVFRPTiAiRW52ZWxvcHBlIGxlIHRleHRlIOAgcGFydGlyIGRlIGxhIGJvcmR1cmUgZGUgZmVu6nRyZSIsIElEQ19QQUdFRk1UX1dXLCAxOCwgNDUsIDE0NSwgMTUKICAgIFJBRElPQlVUVE9OICJFbnZlbG9wcGUgbGUgdGV4dGUg4CBwYXJ0aXIgZGUgbGEgJm1hcmdlIiwgSURDX1BBR0VGTVRfV00sIDE4LCA2NSwgMTQ1LCAxNQogICAgR1JPVVBCT1ggIkJhcnJlcyBkJ291dGlscyIsIDAsIDE3MCwgMTAsIDEyMCwgODUKICAgIENIRUNLQk9YICImQmFycmUgZCdvdXRpbHMiLCBJRENfUEFHRUZNVF9UQiwgMTgwLCAyMCwgODAsIDE1CiAgICBDSEVDS0JPWCAiQmFycmUgZGUgJmZvcm1hdCIsIElEQ19QQUdFRk1UX0ZCLCAxODAsIDM4LCA4MCwgMTUKICAgIENIRUNLQk9YICImUuhnbGUiLCBJRENfUEFHRUZNVF9SVSwgMTgwLCA1NiwgODAsIDE1CiAgICBDSEVDS0JPWCAiQmFycmUgZGUgJnN0YXR1dCIsIElEQ19QQUdFRk1UX1NCLCAxODAsIDc0LCA4MCwgMTUKICAgIExURVhUICIiLCBJRENfUEFHRUZNVF9JRCwgMCwwLDAsMApFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfUklDSFRFWFRfRklMRVNfUlRGLCAgICAgIkRvY3VtZW50cyB0ZXh0ZSByaWNoZSAoKi5ydGYpIgogICAgU1RSSU5HX1RFWFRfRklMRVNfVFhULCAgICAgICAgICJEb2N1bWVudHMgdGV4dGUgKCoudHh0KSIKICAgIFNUUklOR19URVhUX0ZJTEVTX1VOSUNPREVfVFhULCAiRG9jdW1lbnRzIHRleHRlIHVuaWNvZGUgKCoudHh0KSIKICAgIFNUUklOR19BTExfRklMRVMsICAgICAgICAgICAgICAiVG91cyBsZXMgZG9jdW1lbnRzICgqLiopIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfQUxJR05fTEVGVCwgICAgICAgICAgICAiR2F1Y2hlIgogICAgU1RSSU5HX0FMSUdOX1JJR0hULCAgICAgICAgICAgIkRyb2l0ZSIKICAgIFNUUklOR19BTElHTl9DRU5URVIsICAgICAgICAgICJDZW50cmVyIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfTkVXRklMRV9SSUNIVEVYVCwgICAgICJEb2N1bWVudCB0ZXh0ZSByaWNoZSIKICAgIFNUUklOR19ORVdGSUxFX1RYVCwgICAgICAgICAgIkRvY3VtZW50IHRleHRlIgogICAgU1RSSU5HX05FV0ZJTEVfVFhUX1VOSUNPREUsICAiRG9jdW1lbnQgdGV4dGUgdW5pY29kZSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1BSSU5URVJfRklMRVNfUFJOLCAgICAgICAgIkZpY2hpZXJzIGQnaW1wcmVzc2lvbiAoKi5QUk4pIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfVklFV1BST1BTX1RJVExFLCAgICAgICAgICAiT3B0aW9ucyIKICAgIFNUUklOR19WSUVXUFJPUFNfVEVYVCwgICAgICAgICAgICJUZXh0ZSIKICAgIFNUUklOR19WSUVXUFJPUFNfUklDSFRFWFQsICAgICAgICJUZXh0ZSByaWNoZSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1BSRVZJRVdfUFJJTlQsICAgICAgICAgICAgIkltcHJpbWVyIgogICAgU1RSSU5HX1BSRVZJRVdfTkVYVFBBR0UsICAgICAgICAgIlBhZ2Ugc3VpdmFudGUiCiAgICBTVFJJTkdfUFJFVklFV19QUkVWUEFHRSwgICAgICAgICAiUGFnZSBwculj6WRlbnRlIgogICAgU1RSSU5HX1BSRVZJRVdfVFdPUEFHRVMsICAgICAgICAgIkRldXggcGFnZXMiCiAgICBTVFJJTkdfUFJFVklFV19PTkVQQUdFLCAgICAgICAgICAiVW5lIHBhZ2UiCiAgICBTVFJJTkdfUFJFVklFV19DTE9TRSwgICAgICAgICAgICAiRmVybWVyIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfVU5JVFNfQ00sICAgICAgICAgICAgICJjbSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX0RFRkFVTFRfRklMRU5BTUUsICAgICAiRG9jdW1lbnQiCiAgICBTVFJJTkdfUFJPTVBUX1NBVkVfQ0hBTkdFUywgICJFbnJlZ2lzdHJlciBsZXMgbW9kaWZpY2F0aW9ucyBkZSCroCVzoLugPyIKICAgIFNUUklOR19TRUFSQ0hfRklOSVNIRUQsICAgICAgIlJlY2hlcmNoZSB0ZXJtaW7pZSBkYW5zIGxlIGRvY3VtZW50LiIKICAgIFNUUklOR19MT0FEX1JJQ0hFRF9GQUlMRUQsICAgIkltcG9zc2libGUgZGUgY2hhcmdlciBsYSBiaWJsaW90aOhxdWUgUmljaEVkaXQuIgogICAgU1RSSU5HX1NBVkVfTE9TRUZPUk1BVFRJTkcsICAiVm91cyBhdmV6IGNob2lzaSBkJ2VucmVnaXN0cmVyIGVuIHRleHRlIHNpbXBsZSwgIiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjZSBxdWkgY2F1c2VyYSBsYSBwZXJ0ZSBkZSB0b3V0IGZvcm1hdHRhZ2UuICIgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVm91bGV6LXZvdXMgdnJhaW1lbnQgY29udGludWVyoD8iCiAgICBTVFJJTkdfSU5WQUxJRF9OVU1CRVIsICAgICAgICJGb3JtYXQgZGUgbm9tYnJlIGludmFsaWRlIgogICAgU1RSSU5HX09MRV9TVE9SQUdFX05PVF9TVVBQT1JURUQsICJMZXMgZG9jdW1lbnRzIGNvbnRlbmV1ciBPTEUgbmUgc29udCBwYXMgc3VwcG9ydOlzIgpFTkQK