LyoKICogY3J5cHR1aSBkbGwgcmVzb3VyY2VzCiAqCiAqIENvcHlyaWdodCAyMDEwIKN1a2FzeiBXb2puabNvd2ljegogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgojaW5jbHVkZSAiY3J5cHR1aXJlcy5oIgoKTEFOR1VBR0UgTEFOR19QT0xJU0gsIFNVQkxBTkdfREVGQVVMVAoKSUREX0dFTkVSQUwgRElBTE9HIDAsIDAsIDI1NSwgMjM2CkNBUFRJT04gIk9n82xuZSIKU1RZTEUgV1NfVklTSUJMRQpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgQ09OVFJPTCAiIiwgLTEsICJTdGF0aWMiLCBXU19CT1JERVJ8U1NfV0hJVEVSRUNULCA2LDEwLDI0MSwyMDAKICBDT05UUk9MICIiLCBJRENfQ0VSVElGSUNBVEVfSUNPTiwiUmljaEVkaXQyMFciLAogICAgRVNfUkVBRE9OTFl8V1NfRElTQUJMRUQsOCwxMSwyNiwyNgogIENPTlRST0wgIiIsIElEQ19DRVJUSUZJQ0FURV9JTkZPLCJSaWNoRWRpdDIwVyIsCiAgICBFU19SRUFET05MWXxXU19ESVNBQkxFRCwzNCwxMSwyMTIsMjYKICBDT05UUk9MICIiLCAtMSwgIlN0YXRpYyIsIFNTX0JMQUNLRlJBTUUsIDE2LDM3LDIyMiwxCiAgQ09OVFJPTCAiIiwgSURDX0NFUlRJRklDQVRFX1NUQVRVUywiUmljaEVkaXQyMFciLAogICAgRVNfUkVBRE9OTFl8RVNfTVVMVElMSU5FLDgsMzgsMjM4LDc4CiAgQ09OVFJPTCAiIiwgLTEsICJTdGF0aWMiLCBTU19CTEFDS0ZSQU1FLCAxNiwxMTYsMjIyLDEKICBDT05UUk9MICIiLCBJRENfQ0VSVElGSUNBVEVfTkFNRVMsIlJpY2hFZGl0MjBXIiwKICAgIEVTX1JFQURPTkxZfEVTX01VTFRJTElORXxXU19ESVNBQkxFRCw4LDExOCwyMzgsOTAKICBQVVNIQlVUVE9OICImWmFpbnN0YWx1aiBjZXJ0eWZpa2F0Li4uIiwgSURDX0FERFRPU1RPUkUsMTAzLDIxNiw3MCwxNAogIFBVU0hCVVRUT04gIiZPnHdpYWRjemVuaWUgd3lzdGF3Y3kiLCBJRENfSVNTVUVSU1RBVEVNRU5ULDE3NywyMTYsNzAsMTQKRU5ECgpJRERfREVUQUlMIERJQUxPRyAwLCAwLCAyNTUsIDIzNgpDQVBUSU9OICJTemN6ZWfzs3kiClNUWUxFIFdTX1ZJU0lCTEUKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogIExURVhUICImUG9rYb86IiwgLTEsIDYsMTIsNDAsMTQKICBDT01CT0JPWCBJRENfREVUQUlMX1NFTEVDVCwgMjgsMTAsMTAwLDE0LAogICAgQ0JTX0RST1BET1dOTElTVHxXU19CT1JERVJ8V1NfVlNDUk9MTHxXU19UQUJTVE9QCiAgQ09OVFJPTCAiIiwgSURDX0RFVEFJTF9MSVNULCAiU3lzTGlzdFZpZXczMiIsCiAgICBMVlNfUkVQT1JUfExWU19TSU5HTEVTRUx8V1NfQ0hJTER8V1NfVklTSUJMRXxXU19UQUJTVE9QfFdTX0JPUkRFUiwKICAgIDYsMjgsMjQxLDEwMAogIENPTlRST0wgIiIsIElEQ19ERVRBSUxfVkFMVUUsICJSaWNoRWRpdDIwVyIsCiAgICBFU19SRUFET05MWXxFU19NVUxUSUxJTkV8V1NfVEFCU1RPUCwgNiwxMzYsMjQxLDcwCiAgUFVTSEJVVFRPTiAiJkVkeXR1aiB3s2GcY2l3b5xjaS4uLiIsIElEQ19FRElUUFJPUEVSVElFUywxMDMsMjE2LDcwLDE0CiAgUFVTSEJVVFRPTiAiJktvcGl1aiBkbyBwbGlrdS4uLiIsIElEQ19FWFBPUlQsMTc3LDIxNiw3MCwxNApFTkQKCklERF9ISUVSQVJDSFkgRElBTE9HIDAsIDAsIDI1NSwgMjM2CkNBUFRJT04gIoxjaWW/a2EgY2VydHlmaWthY2ppIgpTVFlMRSBXU19WSVNJQkxFCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICBHUk9VUEJPWCAijGNpZb9rYSAmY2VydHlmaWthY2ppIiwgLTEsNiwxMCwyNDUsMTY1LCBCU19HUk9VUEJPWAogIENPTlRST0wgIiIsSURDX0NFUlRQQVRILCAiU3lzVHJlZVZpZXczMiIsIFRWU19IQVNMSU5FU3xXU19CT1JERVIsCiAgICAxMywyMiwyMzEsMTMwCiAgUFVTSEJVVFRPTiAiJld5nHdpZXRsIGNlcnR5ZmlrYXQiLCBJRENfVklFV0NFUlRJRklDQVRFLDE3NSwxNTYsNzAsMTQKICBMVEVYVCAiJlN0YW4gY2VydHlmaWthdHU6IiwgSURDX0NFUlRJRklDQVRFU1RBVFVTLDYsMTgzLDcwLDE0CiAgQ09OVFJPTCAiIiwgSURDX0NFUlRJRklDQVRFU1RBVFVTVEVYVCwiUmljaEVkaXQyMFciLAogICAgV1NfQk9SREVSfEVTX1JFQURPTkxZfEVTX01VTFRJTElORXxXU19ESVNBQkxFRCw2LDE5NSwyNDUsMzYKRU5ECgpJRERfVVNFUk5PVElDRSBESUFMT0cgMCwgMCwgMjU1LCAyNTYKQ0FQVElPTiAiWnJ6ZWN6ZW5pZSIKU1RZTEUgV1NfVklTSUJMRQpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgQ09OVFJPTCAiIiwgSURDX1VTRVJOT1RJQ0UsIlJpY2hFZGl0MjBXIiwKICAgIFdTX0JPUkRFUnxFU19SRUFET05MWXxFU19NVUxUSUxJTkV8V1NfRElTQUJMRUQsNiwxMCwyNDEsMjAwCiAgUFVTSEJVVFRPTiAiWmFta25paiIsIElET0ssMTAzLDIxNiw3MCwxNAogIFBVU0hCVVRUT04gIldp6mNlaiAmaW5mb3JtYWNqaSIsIElEQ19DUFMsMTc3LDIxNiw3MCwxNApFTkQKCklERF9DRVJUX1BST1BFUlRJRVNfR0VORVJBTCBESUFMT0cgMCwgMCwgMjU1LCAyMzYKQ0FQVElPTiAiT2fzbG5lIgpTVFlMRSBXU19WSVNJQkxFCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICBMVEVYVCAiJlByenlqYXpuYSBuYXp3YToiLCAtMSwgNiwxNCw2MCwxNAogIEVESVRURVhUIElEQ19GUklFTkRMWV9OQU1FLCA2MCwxMiwxOTEsMTQsIEVTX0FVVE9IU0NST0xMfFdTX1RBQlNUT1AKICBMVEVYVCAiJk9waXM6IiwgLTEsIDYsMzIsNjAsMTQKICBFRElUVEVYVCBJRENfREVTQ1JJUFRJT04sIDYwLDMwLDE5MSwxNCwgRVNfQVVUT1ZTQ1JPTEx8RVNfTVVMVElMSU5FfFdTX1RBQlNUT1B8V1NfVlNDUk9MTAogIEdST1VQQk9YICJDZWwgY2VydHlmaWthdHUiLCAtMSw2LDQ4LDI0NSwxNjUsIEJTX0dST1VQQk9YCiAgQVVUT1JBRElPQlVUVE9OICImV7O5Y3ogd3N6eXN0a2llIGNlbGUgZGxhIHRlZ28gY2VydHlmaWthdHUiLAogICAgSURDX0VOQUJMRV9BTExfUFVSUE9TRVMsIDEyLDU4LDE4MCwxNCwgQlNfQVVUT1JBRElPQlVUVE9OfFdTX1RBQlNUT1AKICBBVVRPUkFESU9CVVRUT04gIld5s7kmY3ogd3N6eXN0a2llIGNlbGUgZGxhIHRlZ28gY2VydHlmaWthdHUiLAogICAgSURDX0RJU0FCTEVfQUxMX1BVUlBPU0VTLCAxMiw3MCwxODAsMTQsIEJTX0FVVE9SQURJT0JVVFRPTgogIEFVVE9SQURJT0JVVFRPTiAiV7O5Y3ogJm5hc3TqcHVquWNlIGNlbGUgZGxhIHRlZ28gY2VydHlmaWthdHU6IiwKICAgIElEQ19FTkFCTEVfU0VMRUNURURfUFVSUE9TRVMsIDEyLDgyLDE4MCwxNCwgQlNfQVVUT1JBRElPQlVUVE9OCiAgQ09OVFJPTCAiIiwgSURDX0NFUlRJRklDQVRFX1VTQUdFUywiU3lzTGlzdFZpZXczMiIsCiAgICBMVlNfUkVQT1JUfExWU19OT0NPTFVNTkhFQURFUnxMVlNfU0lOR0xFU0VMfFdTX0NISUxEfFdTX1ZJU0lCTEV8V1NfVEFCU1RPUHxXU19CT1JERVIsCiAgICAyNCwxMDAsMjIwLDkwCiAgUFVTSEJVVFRPTiAiJkRvZGFqIGNlbC4uLiIsIElEQ19BRERfUFVSUE9TRSwxODQsMTk0LDYwLDE0CkVORAoKSUREX0FERF9DRVJUX1BVUlBPU0UgRElBTE9HIDAsMCwyMDAsNjgKQ0FQVElPTiAiRG9kYWogY2VsIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgTFRFWFQgIldwaXN6IGlkZW50eWZpa2F0b3Igb2JpZWt0dSAoT0lEKSBkbGEgY2VsdSBjZXJ0eWZpa2F0dSwga3TzcnkgY2hjZXN6IGRvZGHmOiIsCiAgICAtMSwgNiw2LDE5MCwyOAogIEVESVRURVhUIElEQ19ORVdfUFVSUE9TRSwgNiwyOCwxOTAsMTQsIEVTX0FVVE9WU0NST0xMfEVTX01VTFRJTElORXxXU19UQUJTVE9QfFdTX1ZTQ1JPTEwKICBQVVNIQlVUVE9OICJPSyIsIElET0ssIDMzLDQ4LDYwLDE0CiAgUFVTSEJVVFRPTiAiQW51bHVqIiwgSURDQU5DRUwsIDEwMCw0OCw2MCwxNApFTkQKCklERF9TRUxFQ1RfU1RPUkUgRElBTE9HIDAsMCwyMDAsMTM2CkNBUFRJT04gIld5YvNyIG1hZ2F6eW51IGNlcnR5ZmlrYXTzdyIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogIExURVhUICJXeWJpZXJ6IG1hZ2F6eW4gY2VydHlmaWthdPN3LCBrdPNyeSBjaGNlc3ogdb955joiLCBJRENfU1RPUkVfVEVYVCwgNiw2LDE5MCwyOAogIENPTlRST0wgIiIsSURDX1NUT1JFX0xJU1QsICJTeXNUcmVlVmlldzMyIiwgVFZTX0hBU0xJTkVTfFdTX0JPUkRFUnxXU19UQUJTVE9QLAogICAgNiwyOCwxODgsNzAKICBDSEVDS0JPWCAiJlBva2G/IGZpenljem5lIG1hZ2F6eW55IiwgSURDX1NIT1dfUEhZU0lDQUxfU1RPUkVTLCA2LDEwMiw5MCwxNCwKICAgIEJTX0FVVE9DSEVDS0JPWHxXU19UQUJTVE9QCiAgUFVTSEJVVFRPTiAiT0siLCBJRE9LLCA5MCwxMTgsNTAsMTQsIEJTX0RFRlBVU0hCVVRUT04KICBQVVNIQlVUVE9OICJBbnVsdWoiLCBJRENBTkNFTCwgMTQ0LDExOCw1MCwxNApFTkQKCklERF9JTVBPUlRfV0VMQ09NRSBESUFMT0cgMCwwLDMxNywxNDMKQ0FQVElPTiAiS3JlYXRvciBpbXBvcnR1IGNlcnR5ZmlrYXTzdyIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogIExURVhUICJXaXRhbXkgdyBrcmVhdG9yemUgaW1wb3J0dSBjZXJ0eWZpa2F083ciLCBJRENfSU1QT1JUX1RJVExFLAogICAgMTE1LDcsMTk1LDEyCiAgTFRFWFQgIlRlbiBrcmVhdG9yIHBvbW+/ZSB0b2JpZSB6YWltcG9ydG93YeYgY2VydHlmaWthdHksIGxpc3R5IG9kd2+zYW5pYSBjZXJ0eWZpa2F0dSBpIGxpc3R5IHphdWZhbmlhIGNlcnR5ZmlrYXR1IHogcGxpa3UgZG8gbWFnYXp5bnUgY2VydHlmaWthdPN3LiIsCiAgICAtMSwgMTE1LDI2LDE5NSwyNQogIExURVhUICJDZXJ0eWZpa2F0IG1vv2UgYnnmIHW/eXR5IGRvIGlkZW50eWZpa2FjamkgY2llYmllIGx1YiBrb21wdXRlcmEsIHoga3TzcnltIHNp6iBrb211bmlrdWplc3ouICBNb79lIGJ55iBy83duaWV6IHW/eXR5IGRvIHV3aWVyenl0ZWxuaWVuaWEgaSBwb2RwaXN5d2FuaWEgd2lhZG9tb5xjaS4gTWFnYXp5biBjZXJ0eWZpa2F083cgamVzdCB6YmlvcmVtIGNlcnR5ZmlrYXTzdywgbGlzdCBvZHdvs2FuaWEgY2VydHlmaWthdHUgb3JheiBsaXN0IHphdWZhbmlhIGNlcnR5ZmlrYXR1LiIsCiAgICAtMSwgMTE1LDU2LDE5NSw0MAogIExURVhUICJBYnkga29udHludW93YeYsIGtsaWtuaWogcHJ6eWNpc2sgRGFsZWouIiwKICAgIC0xLCAxMTUsMTAzLDE5NSw4CkVORAoKSUREX0lNUE9SVF9GSUxFIERJQUxPRyAwLDAsMzE3LDE3OApDQVBUSU9OICJLcmVhdG9yIGltcG9ydHUgY2VydHlmaWthdPN3IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgTFRFWFQgIiZOYXp3YSBwbGlrdToiLCAtMSwgMjEsMSwxOTUsMTAKICBFRElUVEVYVCBJRENfSU1QT1JUX0ZJTEVOQU1FLCAyMSwxMSwyMDgsMTQsIEVTX0FVVE9IU0NST0xMfFdTX1RBQlNUT1AKICBQVVNIQlVUVE9OICImUHJ6ZWdsuWRhai4uLiIsIElEQ19JTVBPUlRfQlJPV1NFX0ZJTEUsIDIzNiwxMSw2MCwxNAogIExURVhUICJVd2FnYTogIE5hc3TqcHVquWNlIGZvcm1hdHkgcGxpa/N3IG1vZ7kgemF3aWVyYeYgd2nqY2VqIG5pvyBqZWRlbiBjZXJ0eWZpa2F0LCBsaXN06iBvZHdvs2FuaWEgY2VydHlmaWthdHUgbHViIGxpc3TqIHphdWZhbmlhIGNlcnR5ZmlrYXR1OiIsCiAgICAtMSwgMjEsMjYsMjY1LDE2CiAgTFRFWFQgIlN0YW5kYXJkIHNrs2Fkbmkgd2lhZG9tb5xjaSBrcnlwdG9ncmFmaWN6bnljaCAtIGNlcnR5ZmlrYXR5IFBLQ1MgIzcgKC5wN2IpIiwKICAgIC0xLCAzMSw0OSwyNjUsMTAKICBMVEVYVCAiV3ltaWFuYSBpbmZvcm1hY2ppIG9zb2Jpc3R5Y2gvUEtDUyAjMTIgKC5wZngsIC5wMTIpIiwKICAgIC0xLCAzMSw2NCwyNjUsMTAKICBMVEVYVCAiTWFnYXp5biBjZXJ0eWZpa2F083cgc2VyeWpueWNoIGZpcm15IE1pY3Jvc29mdCAoLnNzdCkiLAogICAgLTEsIDMxLDc5LDI2NSwxMApFTkQKCklERF9JTVBPUlRfU1RPUkUgRElBTE9HIDAsMCwzMTcsMTQzCkNBUFRJT04gIktyZWF0b3IgaW1wb3J0dSBjZXJ0eWZpa2F083ciCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICBMVEVYVCAiV2luZSBtb79lIGF1dG9tYXR5Y3puaWUgd3licmHmIG1hZ2F6eW4gY2VydHlmaWthdPN3LiBNb79lc3ogdGFrv2Ugcupjem5pZSBva3JlnGxp5iBwb7Nvv2VuaWUgY2VydHlmaWthdPN3LiIsCiAgICAtMSwgMjEsMSwxOTUsMjAKICBBVVRPUkFESU9CVVRUT04gIiZBdXRvbWF0eWN6bmllIHd5YmllcnogbWFnYXp5biBjZXJ0eWZpa2F083ciLAogICAgSURDX0lNUE9SVF9BVVRPX1NUT1JFLCAzMSwxOCwxODAsMTIsIEJTX0FVVE9SQURJT0JVVFRPTnxXU19UQUJTVE9QCiAgQVVUT1JBRElPQlVUVE9OICImVW1pZZzmIHdzenlzdGtpZSBjZXJ0eWZpa2F0eSB3IG5hc3TqcHVquWN5bSBtYWdhenluaWU6IiwKICAgIElEQ19JTVBPUlRfU1BFQ0lGWV9TVE9SRSwgMzEsMzAsMTgwLDEyLCBCU19BVVRPUkFESU9CVVRUT04KICBFRElUVEVYVCBJRENfSU1QT1JUX1NUT1JFLCA0NCw0OSwxODUsMTQsIEVTX1JFQURPTkxZCiAgUFVTSEJVVFRPTiAiJlByemVnbLlkYWouLi4iLCBJRENfSU1QT1JUX0JST1dTRV9TVE9SRSwgMjM2LDQ5LDYwLDE0CkVORAoKSUREX0lNUE9SVF9GSU5JU0ggRElBTE9HIDAsMCwzMTcsMTc4CkNBUFRJT04gIktyZWF0b3IgaW1wb3J0dSBjZXJ0eWZpa2F083ciCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICBMVEVYVCAiS2/xY3plbmllIHByYWN5IGtyZWF0b3JhIGltcG9ydHUgY2VydHlmaWthdPN3IiwgSURDX0lNUE9SVF9USVRMRSwKICAgIDExNSwxLDE5NSw0MAogIExURVhUICJQcmFjYSBrcmVhdG9yYSBpbXBvcnR1IGNlcnR5ZmlrYXTzdyB6b3N0YbNhIHpha2/xY3pvbmEgcG9teZxsbmllLiIsCiAgICAtMSwgMTE1LDMzLDE5NSwyNAogIExURVhUICJPa3JlnGxps2WcIG5hc3TqcHVquWNlIHVzdGF3aWVuaWE6IiwKICAgIC0xLCAxMTUsNTcsMTk1LDEyCiAgQ09OVFJPTCAiIiwgSURDX0lNUE9SVF9TRVRUSU5HUywgIlN5c0xpc3RWaWV3MzIiLAogICAgTFZTX1JFUE9SVHxMVlNfTk9DT0xVTU5IRUFERVJ8TFZTX1NJTkdMRVNFTHxXU19DSElMRHxXU19WSVNJQkxFfFdTX1RBQlNUT1B8V1NfQk9SREVSLAogICAgMTE1LDY3LDE3NCwxMDAKRU5ECgpJRERfQ0VSVF9NR1IgRElBTE9HIDAsMCwzMzUsMjcwCkNBUFRJT04gIkNlcnR5ZmlrYXR5IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgTFRFWFQgIiZaYW1pZXJ6b25lIGNlbGU6IiwgLTEsIDcsOSwxMDAsMTIKICBDT01CT0JPWCBJRENfTUdSX1BVUlBPU0VfU0VMRUNUSU9OLCA4Myw3LDI0NSwxNCwKICAgIENCU19EUk9QRE9XTkxJU1R8V1NfQk9SREVSfFdTX1ZTQ1JPTEx8V1NfVEFCU1RPUAogIENPTlRST0wgIiIsIElEQ19NR1JfU1RPUkVTLCAiU3lzVGFiQ29udHJvbDMyIiwKICAgIFdTX0NMSVBTSUJMSU5HU3xXU19UQUJTVE9QLCA3LDI1LDMyMSwxNDAKICBDT05UUk9MICIiLCBJRENfTUdSX0NFUlRTLCAiU3lzTGlzdFZpZXczMiIsCiAgICBMVlNfUkVQT1JUfFdTX0NISUxEfFdTX1ZJU0lCTEV8V1NfVEFCU1RPUHxXU19CT1JERVIsIDE1LDQ2LDMwNSwxMTEKICBQVVNIQlVUVE9OICImSW1wb3J0dWouLi4iLCBJRENfTUdSX0lNUE9SVCwgNywxNzIsNTEsMTQKICBQVVNIQlVUVE9OICImRWtzcG9ydHVqLi4uIiwgSURDX01HUl9FWFBPUlQsIDYyLDE3Miw1MSwxNCwgV1NfRElTQUJMRUQKICBQVVNIQlVUVE9OICImVXN18SIsIElEQ19NR1JfUkVNT1ZFLCAxMTcsMTcyLDUxLDE0LCBXU19ESVNBQkxFRAogIFBVU0hCVVRUT04gIiZaYWF3YW5zb3dhbmUuLi4iLCBJRENfTUdSX0FEVkFOQ0VELCAyNzcsMTcyLDUxLDE0CiAgR1JPVVBCT1ggIlphbWllcnpvbmUgY2VsZSBjZXJ0eWZpa2F0dSIsIC0xLDcsMTk0LDMyMSw0NywgQlNfR1JPVVBCT1gKICBMVEVYVCAiIiwgSURDX01HUl9QVVJQT1NFUywgMTMsMjA4LDI1MiwzMAogIFBVU0hCVVRUT04gIiZXeZx3aWV0bCIsIElEQ19NR1JfVklFVywgMjY5LDIxOCw1MSwxNCwgV1NfRElTQUJMRUQKICBQVVNIQlVUVE9OICJaYSZta25paiIsIElEQ0FOQ0VMLCAyNzcsMjQ5LDUxLDE0LCBCU19ERUZQVVNIQlVUVE9OCkVORAoKSUREX0NFUlRfTUdSX0FEVkFOQ0VEIERJQUxPRyAwLDAsMjQ4LDE3NgpDQVBUSU9OICJaYWF3YW5zb3dhbmUgb3BjamUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICBHUk9VUEJPWCAiQ2VsIGNlcnR5ZmlrYXR1IiwgLTEsIDcsNywyMzQsMTQxLCBCU19HUk9VUEJPWAogIExURVhUICJXeWJpZXJ6IGplZGVuIGx1YiB3aepjZWogY2Vs83csIGt083JlIG1harkgYnnmIHd5nHdpZXRsYW5lIGdkeSB6YXpuYWN6b25vIFphYXdhbnNvd2FuZSBDZWxlLiIsCiAgICAtMSwgMTQsMTgsMjIwLDE2CiAgTFRFWFQgIiZDZWxlIGNlcnR5ZmlrYXR1OiIsIC0xLCAxNCw0MSw5MCwxMiwgV1NfVEFCU1RPUAogIENPTlRST0wgIiIsIElEQ19DRVJUSUZJQ0FURV9VU0FHRVMsIlN5c0xpc3RWaWV3MzIiLAogICAgTFZTX1JFUE9SVHxMVlNfTk9DT0xVTU5IRUFERVJ8TFZTX1NJTkdMRVNFTHxXU19DSElMRHxXU19WSVNJQkxFfFdTX1RBQlNUT1B8V1NfQk9SREVSLAogICAgMTQsNTEsMjIwLDkwCiAgUFVTSEJVVFRPTiAiT0siLCBJRE9LLCAxMzIsMTU1LDUxLDE0LCBCU19ERUZQVVNIQlVUVE9OCiAgUFVTSEJVVFRPTiAiQW51bHVqIiwgSURDQU5DRUwsIDE5MCwxNTUsNTEsMTQKRU5ECgpJRERfRVhQT1JUX1dFTENPTUUgRElBTE9HIDAsMCwzMTcsMTQzCkNBUFRJT04gIktyZWF0b3IgZWtzcG9ydHUgY2VydHlmaWthdPN3IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgTFRFWFQgIldpdGFteSB3IGtyZWF0b3J6ZSBla3Nwb3J0dSBjZXJ0eWZpa2F083ciLCBJRENfRVhQT1JUX1RJVExFLAogICAgMTE1LDcsMTk1LDEyCiAgTFRFWFQgIlRlbiBrcmVhdG9yIHBvbW+/ZSB0b2JpZSB3eWVrc3BvcnRvd2HmIGNlcnR5ZmlrYXR5LCBsaXN0eSBvZHdvs2FuaWEgY2VydHlmaWthdHUgaSBsaXN0eSB6YXVmYW5pYSBjZXJ0eWZpa2F0dSB6IG1hZ2F6eW51IGNlcnR5ZmlrYXTzdyBkbyBwbGlrdS4iLAogICAgLTEsIDExNSwyNiwxOTUsMjUKICBMVEVYVCAiQ2VydHlmaWthdCBtb79lIGJ55iB1v3l0eSBkbyBpZGVudHlmaWthY2ppIGNpZWJpZSBsdWIga29tcHV0ZXJhLCB6IGt083J5bSBzaeoga29tdW5pa3VqZXN6LiAgTW+/ZSBieeYgcvN3bmlleiB1v3l0eSBkbyB1d2llcnp5dGVsbmllbmlhIGkgcG9kcGlzeXdhbmlhIHdpYWRvbW+cY2kuIE1hZ2F6eW4gY2VydHlmaWthdPN3IGplc3QgemJpb3JlbSBjZXJ0eWZpa2F083csIGxpc3Qgb2R3b7NhbmlhIGNlcnR5ZmlrYXR1IG9yYXogbGlzdCB6YXVmYW5pYSBjZXJ0eWZpa2F0dS4iLAogICAgLTEsIDExNSw1NiwxOTUsNDAKICBMVEVYVCAiQWJ5IGtvbnR5bnVvd2HmLCBrbGlrbmlqIHByenljaXNrIERhbGVqLiIsCiAgICAtMSwgMTE1LDEwMywxOTUsOApFTkQKCklERF9FWFBPUlRfUFJJVkFURV9LRVkgRElBTE9HIDAsMCwzMTcsMTQzCkNBUFRJT04gIktyZWF0b3IgZWtzcG9ydHUgY2VydHlmaWthdPN3IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgTFRFWFQgIkplv2VsaSB3eWJpZXJ6ZXN6IHd5ZWtzcG9ydG93YW5pZSBrbHVjemEgcHJ5d2F0bmVnbyB0byB3IGtvbGVqbnltIGtyb2t1IGLqZHppZXN6IHphcHl0YW55IG8gaGFzs28gY2hyb25puWNlIGtsdWN6IHByeXdhdG55LiIsIC0xLCAyMSwxLDE5NSwyNQogIExURVhUICJDenkgY2hjZXN6IHd5ZWtzcG9ydG93YeYga2x1Y3ogcHJ5d2F0bnk/IiwgLTEsIDIxLDI3LDE5NSwxMAogIEFVVE9SQURJT0JVVFRPTiAiJlRhaywgZWtzcG9ydHVqIGtsdWN6IHByeXdhdG55IiwKICAgIElEQ19FWFBPUlRfUFJJVkFURV9LRVlfWUVTLCAzMSwzNiwyMDAsMTIsIEJTX0FVVE9SQURJT0JVVFRPTnxXU19UQUJTVE9QCiAgQVVUT1JBRElPQlVUVE9OICImTmllLCBuaWUgZWtzcG9ydHVqIGtsdWN6YSBwcnl3YXRuZWdvIiwKICAgIElEQ19FWFBPUlRfUFJJVkFURV9LRVlfTk8sIDMxLDQ4LDIwMCwxMiwgQlNfQVVUT1JBRElPQlVUVE9OCiAgTFRFWFQgIiIsIElEQ19FWFBPUlRfUFJJVkFURV9LRVlfVU5BVkFJTEFCTEUsIDIxLDYwLDIwMCwyNApFTkQKCklERF9FWFBPUlRfUEFTU1dPUkQgRElBTE9HIDAsMCwzMTcsMTQzCkNBUFRJT04gIktyZWF0b3IgZWtzcG9ydHUgY2VydHlmaWthdPN3IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgTFRFWFQgIiZIYXOzbzoiLCAtMSwgMjEsMSwxOTUsMTAKICBFRElUVEVYVCBJRENfRVhQT1JUX1BBU1NXT1JELCAyMSwxMSwyMDgsMTQsIEVTX0FVVE9IU0NST0xMfFdTX1RBQlNUT1AKICBMVEVYVCAiJlBvdHdpZXJknyBoYXOzbzoiLCAtMSwgMjEsMzUsMTk1LDEwCiAgRURJVFRFWFQgSURDX0VYUE9SVF9QQVNTV09SRF9DT05GSVJNLCAyMSw0NSwyMDgsMTQsIEVTX0FVVE9IU0NST0xMfFdTX1RBQlNUT1AKRU5ECgpJRERfRVhQT1JUX0ZPUk1BVCBESUFMT0cgMCwwLDMxNywxNDMKQ0FQVElPTiAiS3JlYXRvciBla3Nwb3J0dSBjZXJ0eWZpa2F083ciCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICBMVEVYVCAiV3liaWVyeiBmb3JtYXQsIGt083JlZ28gY2hjZXN6IHW/eeY6IiwgLTEsIDIxLDEsMTk1LDEwCiAgQVVUT1JBRElPQlVUVE9OICJDZXJ0eWZpa2F0IFguNTA5IHN6eWZyb3dhbnkgYmluYXJuaWUgYWxnb3J5dG1lbSBERVIgKC4mY2VyKSIsCiAgICBJRENfRVhQT1JUX0ZPUk1BVF9ERVIsIDMxLDE4LDI0MCwxMiwgQlNfQVVUT1JBRElPQlVUVE9OfFdTX1RBQlNUT1AKICBBVVRPUkFESU9CVVRUT04gIkNlcnR5ZmlrYXQgWC41MDkgc3p5ZnJvd2FueSBhbGdvcnl0bWVtIEImYXNlNjQgKC5jZXIpOiIsCiAgICBJRENfRVhQT1JUX0ZPUk1BVF9CQVNFNjQsIDMxLDMwLDI0MCwxMiwgQlNfQVVUT1JBRElPQlVUVE9OCiAgQVVUT1JBRElPQlVUVE9OICImU3RhbmRhcmQgc2uzYWRuaSB3aWFkb21vnGNpIGtyeXB0b2dyYWZpY3pueWNoIC0gY2VydHlmaWthdCBQS0NTICM3ICgucDdiKSIsCiAgICBJRENfRVhQT1JUX0ZPUk1BVF9DTVMsIDMxLDQyLDI0MCwxMiwgQlNfQVVUT1JBRElPQlVUVE9OCiAgQ0hFQ0tCT1ggIiZKZb9lbGkgamVzdCB0byBtb79saXdlLCBkb7O5Y3ogd3N6eXN0a2llIGNlcnR5ZmlrYXR5IGRvIJxjaWW/a2kgY2VydHlmaWthY2ppIiwKICAgIElEQ19FWFBPUlRfQ01TX0lOQ0xVREVfQ0hBSU4sIDQ0LDU3LDI0MCw4LCBCU19BVVRPQ0hFQ0tCT1h8V1NfVEFCU1RPUHxXU19ESVNBQkxFRAogIEFVVE9SQURJT0JVVFRPTiAiV3ltaWFuYSBpbmZvcm1hY2ppICZvc29iaXN0eWNoIC0gUEtDUyAjMTIgKC5wZngpIiwKICAgIElEQ19FWFBPUlRfRk9STUFUX1BGWCwgMzEsNzIsMjQwLDEyLCBCU19BVVRPUkFESU9CVVRUT058V1NfRElTQUJMRUQKICBDSEVDS0JPWCAiSiZlv2VsaSBqZXN0IHRvIG1vv2xpd2UsIGRvs7ljeiB3c3p5c3RraWUgY2VydHlmaWthdHkgZG8gnGNpZb9raSBjZXJ0eWZpa2FjamkiLAogICAgSURDX0VYUE9SVF9QRlhfSU5DTFVERV9DSEFJTiwgNDQsODcsMjQwLDgsIEJTX0FVVE9DSEVDS0JPWHxXU19UQUJTVE9QfFdTX0RJU0FCTEVECiAgQ0hFQ0tCT1ggIlezuWMmeiBzaWxuuSBvY2hyb27qIiwKICAgIElEQ19FWFBPUlRfUEZYX1NUUk9OR19FTkNSWVBUSU9OLCA0NCwxMDIsMjQwLDgsCiAgICBCU19BVVRPQ0hFQ0tCT1h8V1NfVEFCU1RPUHxXU19ESVNBQkxFRAogIENIRUNLQk9YICJVc3XxICZrbHVjeiBwcnl3YXRueSwgamW/ZWxpIGVrc3BvcnQgem9zdGGzIHpha2/xY3pvbnkgcG9teZxsbmllIiwKICAgIElEQ19FWFBPUlRfUEZYX0RFTEVURV9QUklWQVRFX0tFWSwgNDQsMTE3LDI0MCw4LAogICAgQlNfQVVUT0NIRUNLQk9YfFdTX1RBQlNUT1B8V1NfRElTQUJMRUQKRU5ECgpJRERfRVhQT1JUX0ZJTEUgRElBTE9HIDAsMCwzMTcsMTQzCkNBUFRJT04gIktyZWF0b3IgZWtzcG9ydHUgY2VydHlmaWthdPN3IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgTFRFWFQgIiZOYXp3YSBwbGlrdToiLCAtMSwgMjEsMSwxOTUsMTAKICBFRElUVEVYVCBJRENfRVhQT1JUX0ZJTEVOQU1FLCAyMSwxMSwyMDgsMTQsIEVTX0FVVE9IU0NST0xMfFdTX1RBQlNUT1AKICBQVVNIQlVUVE9OICImUHJ6ZWdsuWRhai4uLiIsIElEQ19FWFBPUlRfQlJPV1NFX0ZJTEUsIDIzNiwxMSw2MCwxNApFTkQKCklERF9FWFBPUlRfRklOSVNIIERJQUxPRyAwLDAsMzE3LDE3OApDQVBUSU9OICJLcmVhdG9yIGVrc3BvcnR1IGNlcnR5ZmlrYXTzdyIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogIExURVhUICJLb/FjemVuaWUgcHJhY3kga3JlYXRvcmEgZWtzcG9ydHUgY2VydHlmaWthdPN3IiwgSURDX0VYUE9SVF9USVRMRSwKICAgIDExNSwxLDE5NSw0MAogIExURVhUICJQcmFjYSBrcmVhdG9yYSBla3Nwb3J0dSBjZXJ0eWZpa2F083cgem9zdGGzYSB6YWtv8WN6b25hIHBvbXmcbG5pZS4iLAogICAgLTEsIDExNSwzMywxOTUsMjQKICBMVEVYVCAiT2tyZZxsabNlnCBuYXN06nB1arljZSB1c3Rhd2llbmlhOiIsCiAgICAtMSwgMTE1LDU3LDE5NSwxMgogIENPTlRST0wgIiIsIElEQ19FWFBPUlRfU0VUVElOR1MsICJTeXNMaXN0VmlldzMyIiwKICAgIExWU19SRVBPUlR8TFZTX05PQ09MVU1OSEVBREVSfExWU19TSU5HTEVTRUx8V1NfQ0hJTER8V1NfVklTSUJMRXxXU19UQUJTVE9QfFdTX0JPUkRFUiwKICAgIDExNSw2NywxNzQsMTAwCkVORAo=