IyBNaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBQcm9qZWN0IEZpbGUgLSBOYW1lPSJsaWJqcGVnIiAtIFBhY2thZ2UgT3duZXI9PDQ+CiMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gR2VuZXJhdGVkIEJ1aWxkIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDYuMDAKIyAqKiDK1L24pLekyqSkpMekr6TApLWkpCAqKgoKIyBUQVJHVFlQRSAiV2luMzIgKHg4NikgU3RhdGljIExpYnJhcnkiIDB4MDEwNAoKQ0ZHPWxpYmpwZWcgLSBXaW4zMiBEZWJ1ZwohTUVTU0FHRSCks6TspM/Nrbj6pMqO0o6yjriOzI6njrKO2aTHpM+koqTqpN6ku6TzoaMgpLOkzo7Mjt+O2468jt6Oqo64jsSk8o7Ljt6O2Y7Ejt6kuaTrpL+k4aTLpM8gTk1BS0UgpPK7yM3RpLekxqSvpMCktaSkoaMKIU1FU1NBR0UgW47SjrKOuI7MjqeOso7ZpM6OtI64jr2Ozo7fjrCOxF0gjrqOz47djsSO3qTyu8jN0aS3pMa8wrnUpLekxqSvpMCktaSkCiFNRVNTQUdFIAohTUVTU0FHRSBOTUFLRSAvZiAibGlianBlZy5tYWsiLgohTUVTU0FHRSAKIU1FU1NBR0UgTk1BS0UgpM68wrnUu/6ky7m9wK6k8rvYxOqkx6StpN6kuQohTUVTU0FHRSCOuo7Pjt2OxI7eII7XjrKO3b7lpMeOz464jtukzsDfxOqk8sTqtcGkt6TepLmho87jOgohTUVTU0FHRSAKIU1FU1NBR0UgTk1BS0UgL2YgImxpYmpwZWcubWFrIiBDRkc9ImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKIU1FU1NBR0UgCiFNRVNTQUdFIMGqwvKyxMe9pMqOy47ejtmOxI7eII7TjrCOxI7eOgohTUVTU0FHRSAKIU1FU1NBR0UgImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIiAoIldpbjMyICh4ODYpIFN0YXRpYyBMaWJyYXJ5IiDN0SkKIU1FU1NBR0UgImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIgKCJXaW4zMiAoeDg2KSBTdGF0aWMgTGlicmFyeSIgzdEpCiFNRVNTQUdFIAoKIyBCZWdpbiBQcm9qZWN0CiMgUFJPUCBBbGxvd1BlckNvbmZpZ0RlcGVuZGVuY2llcyAwCiMgUFJPUCBTY2NfUHJvak5hbWUgIiIKIyBQUk9QIFNjY19Mb2NhbFBhdGggIiIKQ1BQPWNsLmV4ZQpSU0M9cmMuZXhlCgohSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgUmVsZWFzZSIKCiMgUFJPUCBCQVNFIFVzZV9NRkMgMAojIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDAKIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiUmVsZWFzZSIKIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiUmVsZWFzZSIKIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIgojIFBST1AgVXNlX01GQyAwCiMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDAKIyBQUk9QIE91dHB1dF9EaXIgIlJlbGVhc2UiCiMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJSZWxlYXNlIgojIFBST1AgVGFyZ2V0X0RpciAiIgojIEFERCBCQVNFIENQUCAvbm9sb2dvIC9XMyAvR1ggL08yIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9MSUIiIC9ZWCAvRkQgL2MKIyBBREQgQ1BQIC9ub2xvZ28gL1czIC9PMiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfTElCIiAvWVggL1psIC9GRCAvR0YgL2MKIyBBREQgQkFTRSBSU0MgL2wgMHg0MTEgL2QgIk5ERUJVRyIKIyBBREQgUlNDIC9sIDB4NDExIC9kICJOREVCVUciCkJTQzMyPWJzY21ha2UuZXhlCiMgQUREIEJBU0UgQlNDMzIgL25vbG9nbwojIEFERCBCU0MzMiAvbm9sb2dvCkxJQjMyPWxpbmsuZXhlIC1saWIKIyBBREQgQkFTRSBMSUIzMiAvbm9sb2dvCiMgQUREIExJQjMyIC9ub2xvZ28KCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgQkFTRSBVc2VfTUZDIDAKIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAxCiMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIkRlYnVnIgojIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJEZWJ1ZyIKIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIgojIFBST1AgVXNlX01GQyAwCiMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDEKIyBQUk9QIE91dHB1dF9EaXIgIkRlYnVnIgojIFBST1AgSW50ZXJtZWRpYXRlX0RpciAiRGVidWciCiMgUFJPUCBUYXJnZXRfRGlyICIiCiMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL1czIC9HbSAvR1ggL1pJIC9PZCAvRCAiV0lOMzIiIC9EICJfREVCVUciIC9EICJfTElCIiAvWVggL0ZEIC9HWiAvYwojIEFERCBDUFAgL25vbG9nbyAvVzMgL0dtIC9aSSAvT2QgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX0xJQiIgL1lYIC9abCAvRkQgL0daIC9jCiMgQUREIEJBU0UgUlNDIC9sIDB4NDExIC9kICJfREVCVUciCiMgQUREIFJTQyAvbCAweDQxMSAvZCAiX0RFQlVHIgpCU0MzMj1ic2NtYWtlLmV4ZQojIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28KIyBBREQgQlNDMzIgL25vbG9nbwpMSUIzMj1saW5rLmV4ZSAtbGliCiMgQUREIEJBU0UgTElCMzIgL25vbG9nbwojIEFERCBMSUIzMiAvbm9sb2dvCgohRU5ESUYgCgojIEJlZ2luIFRhcmdldAoKIyBOYW1lICJsaWJqcGVnIC0gV2luMzIgUmVsZWFzZSIKIyBOYW1lICJsaWJqcGVnIC0gV2luMzIgRGVidWciCiMgQmVnaW4gR3JvdXAgIlNvdXJjZSBGaWxlcyIKCiMgUFJPUCBEZWZhdWx0X0ZpbHRlciAiY3BwO2M7Y3h4O3JjO2RlZjtyO29kbDtpZGw7aHBqO2JhdCIKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camNhcGltaW4uYwojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqY2FwaXN0ZC5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpjY29lZmN0LmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camNjb2xvci5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpjZGN0bWdyLmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camNodWZmLmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camNpbml0LmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camNtYWluY3QuYwojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqY21hcmtlci5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpjbWFzdGVyLmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camNvbWFwaS5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpjcGFyYW0uYwojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqY3BodWZmLmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camNwcmVwY3QuYwojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqY3NhbXBsZS5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpjdHJhbnMuYwojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZGFwaW1pbi5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpkYXBpc3RkLmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camRhdGFkc3QuYwojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZGF0YXNyYy5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpkY29lZmN0LmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camRjb2xvci5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpkZGN0bWdyLmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camRodWZmLmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camRpbnB1dC5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpkbWFpbmN0LmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camRtYXJrZXIuYwojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZG1hc3Rlci5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpkbWVyZ2UuYwojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZHBodWZmLmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camRwb3N0Y3QuYwojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZHNhbXBsZS5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpkdHJhbnMuYwojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZXJyb3IuYwojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqbWVtbWdyLmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5cam1lbW5vYnMuYwojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqcXVhbnQxLmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5canF1YW50Mi5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGp1dGlscy5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgRW5kIEdyb3VwCiMgQmVnaW4gR3JvdXAgIkhlYWRlciBGaWxlcyIKCiMgUFJPUCBEZWZhdWx0X0ZpbHRlciAiaDtocHA7aHh4O2htO2lubCIKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camNodWZmLmgKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camNvbHNhbXAuaAojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqY29uZmlnLmgKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camRjdC5oCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpkaHVmZi5oCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGplcnJvci5oCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGppbmNsdWRlLmgKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5cam1lbXN5cy5oCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGptb3JlY2ZnLmgKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5canBlZ2ludC5oCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpwZWdsaWIuaAojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqdmVyc2lvbi5oCiMgRW5kIFNvdXJjZSBGaWxlCiMgRW5kIEdyb3VwCiMgQmVnaW4gR3JvdXAgIk5BU00gU291cmNlIgoKIyBQUk9QIERlZmF1bHRfRmlsdGVyICJhc20iCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpjY29sbW14LmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pDQ09MPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamNvbHNhbXAuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camNjb2xtbXguYXNtCklucHV0TmFtZT1qY2NvbG1teAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkNDT0w9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqY29sc2FtcC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cRGVidWcKSW5wdXRQYXRoPS5camNjb2xtbXguYXNtCklucHV0TmFtZT1qY2NvbG1teAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVORElGIAoKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camNjb2xzczIuYXNtCgohSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgUmVsZWFzZSIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkNDT0xTPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamNvbHNhbXAuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camNjb2xzczIuYXNtCklucHV0TmFtZT1qY2NvbHNzMgoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkNDT0xTPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamNvbHNhbXAuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGpjY29sc3MyLmFzbQpJbnB1dE5hbWU9amNjb2xzczIKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpjcW50M2RuLmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pDUU5UPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cUmVsZWFzZQpJbnB1dFBhdGg9LlxqY3FudDNkbi5hc20KSW5wdXROYW1lPWpjcW50M2RuCgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRUxTRUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIERlYnVnIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KQ1FOVD0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGpjcW50M2RuLmFzbQpJbnB1dE5hbWU9amNxbnQzZG4KCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpjcW50Zmx0LmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pDUU5URj0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camNxbnRmbHQuYXNtCklucHV0TmFtZT1qY3FudGZsdAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkNRTlRGPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cRGVidWcKSW5wdXRQYXRoPS5camNxbnRmbHQuYXNtCklucHV0TmFtZT1qY3FudGZsdAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVORElGIAoKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camNxbnRpbnQuYXNtCgohSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgUmVsZWFzZSIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkNRTlRJPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cUmVsZWFzZQpJbnB1dFBhdGg9LlxqY3FudGludC5hc20KSW5wdXROYW1lPWpjcW50aW50CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRUxTRUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIERlYnVnIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KQ1FOVEk9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqY3FudGludC5hc20KSW5wdXROYW1lPWpjcW50aW50CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqY3FudG1teC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KQ1FOVE09IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpjcW50bW14LmFzbQpJbnB1dE5hbWU9amNxbnRtbXgKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pDUU5UTT0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGpjcW50bW14LmFzbQpJbnB1dE5hbWU9amNxbnRtbXgKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpjcW50czJmLmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pDUU5UUz0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camNxbnRzMmYuYXNtCklucHV0TmFtZT1qY3FudHMyZgoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkNRTlRTPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cRGVidWcKSW5wdXRQYXRoPS5camNxbnRzMmYuYXNtCklucHV0TmFtZT1qY3FudHMyZgoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVORElGIAoKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camNxbnRzMmkuYXNtCgohSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgUmVsZWFzZSIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkNRTlRTMj0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camNxbnRzMmkuYXNtCklucHV0TmFtZT1qY3FudHMyaQoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkNRTlRTMj0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGpjcW50czJpLmFzbQpJbnB1dE5hbWU9amNxbnRzMmkKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpjcW50c3NlLmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pDUU5UU1M9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpjcW50c3NlLmFzbQpJbnB1dE5hbWU9amNxbnRzc2UKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pDUU5UU1M9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqY3FudHNzZS5hc20KSW5wdXROYW1lPWpjcW50c3NlCgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqY3NhbW1teC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KQ1NBTT0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpjb2xzYW1wLmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpjc2FtbW14LmFzbQpJbnB1dE5hbWU9amNzYW1tbXgKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pDU0FNPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamNvbHNhbXAuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGpjc2FtbW14LmFzbQpJbnB1dE5hbWU9amNzYW1tbXgKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpjc2Ftc3MyLmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pDU0FNUz0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpjb2xzYW1wLmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpjc2Ftc3MyLmFzbQpJbnB1dE5hbWU9amNzYW1zczIKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pDU0FNUz0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpjb2xzYW1wLmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqY3NhbXNzMi5hc20KSW5wdXROYW1lPWpjc2Ftc3MyCgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZGNvbG1teC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KRENPTD0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpjb2xzYW1wLmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpkY29sbW14LmFzbQpJbnB1dE5hbWU9amRjb2xtbXgKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pEQ09MPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamNvbHNhbXAuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGpkY29sbW14LmFzbQpJbnB1dE5hbWU9amRjb2xtbXgKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpkY29sc3MyLmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pEQ09MUz0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpjb2xzYW1wLmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpkY29sc3MyLmFzbQpJbnB1dE5hbWU9amRjb2xzczIKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pEQ09MUz0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpjb2xzYW1wLmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqZGNvbHNzMi5hc20KSW5wdXROYW1lPWpkY29sc3MyCgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZG1lcm1teC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KRE1FUj0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpjb2xzYW1wLmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpkbWVybW14LmFzbQpJbnB1dE5hbWU9amRtZXJtbXgKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pETUVSPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamNvbHNhbXAuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGpkbWVybW14LmFzbQpJbnB1dE5hbWU9amRtZXJtbXgKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpkbWVyc3MyLmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pETUVSUz0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpjb2xzYW1wLmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpkbWVyc3MyLmFzbQpJbnB1dE5hbWU9amRtZXJzczIKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pETUVSUz0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpjb2xzYW1wLmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqZG1lcnNzMi5hc20KSW5wdXROYW1lPWpkbWVyc3MyCgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZHNhbW1teC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KRFNBTT0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpjb2xzYW1wLmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpkc2FtbW14LmFzbQpJbnB1dE5hbWU9amRzYW1tbXgKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pEU0FNPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamNvbHNhbXAuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGpkc2FtbW14LmFzbQpJbnB1dE5hbWU9amRzYW1tbXgKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpkc2Ftc3MyLmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pEU0FNUz0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpjb2xzYW1wLmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpkc2Ftc3MyLmFzbQpJbnB1dE5hbWU9amRzYW1zczIKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pEU0FNUz0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpjb2xzYW1wLmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqZHNhbXNzMi5hc20KSW5wdXROYW1lPWpkc2Ftc3MyCgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZjNkbmZsdC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KRjNETj0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camYzZG5mbHQuYXNtCklucHV0TmFtZT1qZjNkbmZsdAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkYzRE49IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqZjNkbmZsdC5hc20KSW5wdXROYW1lPWpmM2RuZmx0CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZmRjdGZsdC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KRkRDVD0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camZkY3RmbHQuYXNtCklucHV0TmFtZT1qZmRjdGZsdAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkZEQ1Q9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqZmRjdGZsdC5hc20KSW5wdXROYW1lPWpmZGN0Zmx0CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZmRjdGZzdC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KRkRDVEY9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpmZGN0ZnN0LmFzbQpJbnB1dE5hbWU9amZkY3Rmc3QKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pGRENURj0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGpmZGN0ZnN0LmFzbQpJbnB1dE5hbWU9amZkY3Rmc3QKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpmZGN0aW50LmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pGRENUST0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camZkY3RpbnQuYXNtCklucHV0TmFtZT1qZmRjdGludAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkZEQ1RJPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cRGVidWcKSW5wdXRQYXRoPS5camZkY3RpbnQuYXNtCklucHV0TmFtZT1qZmRjdGludAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVORElGIAoKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camZtbXhmc3QuYXNtCgohSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgUmVsZWFzZSIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkZNTVg9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpmbW14ZnN0LmFzbQpJbnB1dE5hbWU9amZtbXhmc3QKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pGTU1YPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cRGVidWcKSW5wdXRQYXRoPS5camZtbXhmc3QuYXNtCklucHV0TmFtZT1qZm1teGZzdAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVORElGIAoKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camZtbXhpbnQuYXNtCgohSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgUmVsZWFzZSIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkZNTVhJPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cUmVsZWFzZQpJbnB1dFBhdGg9LlxqZm1teGludC5hc20KSW5wdXROYW1lPWpmbW14aW50CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRUxTRUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIERlYnVnIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KRk1NWEk9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqZm1teGludC5hc20KSW5wdXROYW1lPWpmbW14aW50CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZnNzMmZzdC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KRlNTMj0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camZzczJmc3QuYXNtCklucHV0TmFtZT1qZnNzMmZzdAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSkZTUzI9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqZnNzMmZzdC5hc20KSW5wdXROYW1lPWpmc3MyZnN0CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqZnNzMmludC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KRlNTMkk9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpmc3MyaW50LmFzbQpJbnB1dE5hbWU9amZzczJpbnQKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pGU1MyST0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGpmc3MyaW50LmFzbQpJbnB1dE5hbWU9amZzczJpbnQKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpmc3NlZmx0LmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pGU1NFPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cUmVsZWFzZQpJbnB1dFBhdGg9LlxqZnNzZWZsdC5hc20KSW5wdXROYW1lPWpmc3NlZmx0CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRUxTRUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIERlYnVnIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KRlNTRT0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGpmc3NlZmx0LmFzbQpJbnB1dE5hbWU9amZzc2VmbHQKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGppM2RuZmx0LmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pJM0ROPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cUmVsZWFzZQpJbnB1dFBhdGg9LlxqaTNkbmZsdC5hc20KSW5wdXROYW1lPWppM2RuZmx0CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRUxTRUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIERlYnVnIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KSTNETj0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGppM2RuZmx0LmFzbQpJbnB1dE5hbWU9amkzZG5mbHQKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGppZGN0Zmx0LmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pJRENUPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cUmVsZWFzZQpJbnB1dFBhdGg9LlxqaWRjdGZsdC5hc20KSW5wdXROYW1lPWppZGN0Zmx0CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRUxTRUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIERlYnVnIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KSURDVD0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGppZGN0Zmx0LmFzbQpJbnB1dE5hbWU9amlkY3RmbHQKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGppZGN0ZnN0LmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pJRENURj0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camlkY3Rmc3QuYXNtCklucHV0TmFtZT1qaWRjdGZzdAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSklEQ1RGPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cRGVidWcKSW5wdXRQYXRoPS5camlkY3Rmc3QuYXNtCklucHV0TmFtZT1qaWRjdGZzdAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVORElGIAoKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camlkY3RpbnQuYXNtCgohSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgUmVsZWFzZSIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSklEQ1RJPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cUmVsZWFzZQpJbnB1dFBhdGg9LlxqaWRjdGludC5hc20KSW5wdXROYW1lPWppZGN0aW50CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRUxTRUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIERlYnVnIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KSURDVEk9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqaWRjdGludC5hc20KSW5wdXROYW1lPWppZGN0aW50CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqaWRjdHJlZC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KSURDVFI9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGppZGN0cmVkLmFzbQpJbnB1dE5hbWU9amlkY3RyZWQKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pJRENUUj0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGppZGN0cmVkLmFzbQpJbnB1dE5hbWU9amlkY3RyZWQKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGppbW14ZnN0LmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pJTU1YPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cUmVsZWFzZQpJbnB1dFBhdGg9LlxqaW1teGZzdC5hc20KSW5wdXROYW1lPWppbW14ZnN0CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRUxTRUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIERlYnVnIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KSU1NWD0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGppbW14ZnN0LmFzbQpJbnB1dE5hbWU9amltbXhmc3QKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGppbW14aW50LmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pJTU1YST0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camltbXhpbnQuYXNtCklucHV0TmFtZT1qaW1teGludAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSklNTVhJPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cRGVidWcKSW5wdXRQYXRoPS5camltbXhpbnQuYXNtCklucHV0TmFtZT1qaW1teGludAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVORElGIAoKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camltbXhyZWQuYXNtCgohSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgUmVsZWFzZSIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSklNTVhSPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cUmVsZWFzZQpJbnB1dFBhdGg9LlxqaW1teHJlZC5hc20KSW5wdXROYW1lPWppbW14cmVkCgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRUxTRUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIERlYnVnIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KSU1NWFI9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqaW1teHJlZC5hc20KSW5wdXROYW1lPWppbW14cmVkCgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqaXNzMmZsdC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KSVNTMj0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camlzczJmbHQuYXNtCklucHV0TmFtZT1qaXNzMmZsdAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSklTUzI9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqaXNzMmZsdC5hc20KSW5wdXROYW1lPWppc3MyZmx0CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqaXNzMmZzdC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KSVNTMkY9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGppc3MyZnN0LmFzbQpJbnB1dE5hbWU9amlzczJmc3QKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pJU1MyRj0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGppc3MyZnN0LmFzbQpJbnB1dE5hbWU9amlzczJmc3QKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGppc3MyaW50LmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pJU1MyST0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camlzczJpbnQuYXNtCklucHV0TmFtZT1qaXNzMmludAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSklTUzJJPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cRGVidWcKSW5wdXRQYXRoPS5camlzczJpbnQuYXNtCklucHV0TmFtZT1qaXNzMmludAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVORElGIAoKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camlzczJyZWQuYXNtCgohSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgUmVsZWFzZSIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSklTUzJSPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkiamRjdC5pbmMiCQojIEJlZ2luIEN1c3RvbSBCdWlsZCAtIEFzc2VtYmxpbmcgLSAkKElucHV0UGF0aCkKSW50RGlyPS5cUmVsZWFzZQpJbnB1dFBhdGg9LlxqaXNzMnJlZC5hc20KSW5wdXROYW1lPWppc3MycmVkCgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRUxTRUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIERlYnVnIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KSVNTMlI9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqaXNzMnJlZC5hc20KSW5wdXROYW1lPWppc3MycmVkCgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqaXNzZWZsdC5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KSVNTRT0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJImpkY3QuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXFJlbGVhc2UKSW5wdXRQYXRoPS5camlzc2VmbHQuYXNtCklucHV0TmFtZT1qaXNzZWZsdAoKIiQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIgoJbmFzbXcgLVh2YyAtZndpbjMyIC1EV0lOMzIgLUkgJChJbnREaXIpXCAtbyAkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiAkKElucHV0UGF0aCkKCiMgRW5kIEN1c3RvbSBCdWlsZAoKIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBEZWJ1ZyIKCiMgUFJPUCBJZ25vcmVfRGVmYXVsdF9Ub29sIDEKVVNFUkRFUF9fSklTU0U9IiQoSW50RGlyKVxqc2ltZGNmZy5pbmMiCSJqc2ltZGV4dC5pbmMiCSJqZGN0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9LlxqaXNzZWZsdC5hc20KSW5wdXROYW1lPWppc3NlZmx0CgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9Llxqc2ltZGNwdS5hc20KCiFJRiAgIiQoQ0ZHKSIgPT0gImxpYmpwZWcgLSBXaW4zMiBSZWxlYXNlIgoKIyBQUk9QIElnbm9yZV9EZWZhdWx0X1Rvb2wgMQpVU0VSREVQX19KU0lNRD0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpzaW1kY3B1LmFzbQpJbnB1dE5hbWU9anNpbWRjcHUKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pTSU1EPSIkKEludERpcilcanNpbWRjZmcuaW5jIgkianNpbWRleHQuaW5jIgkKIyBCZWdpbiBDdXN0b20gQnVpbGQgLSBBc3NlbWJsaW5nIC0gJChJbnB1dFBhdGgpCkludERpcj0uXERlYnVnCklucHV0UGF0aD0uXGpzaW1kY3B1LmFzbQpJbnB1dE5hbWU9anNpbWRjcHUKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTkRJRiAKCiMgRW5kIFNvdXJjZSBGaWxlCiMgQmVnaW4gU291cmNlIEZpbGUKClNPVVJDRT0uXGpzaW1kdzMyLmFzbQoKIUlGICAiJChDRkcpIiA9PSAibGlianBlZyAtIFdpbjMyIFJlbGVhc2UiCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pTSU1EVz0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxSZWxlYXNlCklucHV0UGF0aD0uXGpzaW1kdzMyLmFzbQpJbnB1dE5hbWU9anNpbWR3MzIKCiIkKEludERpcilcJChJbnB1dE5hbWUpLm9iaiIgOiAkKFNPVVJDRSkgIiQoSU5URElSKSIgIiQoT1VURElSKSIKCW5hc213IC1YdmMgLWZ3aW4zMiAtRFdJTjMyIC1JICQoSW50RGlyKVwgLW8gJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmogJChJbnB1dFBhdGgpCgojIEVuZCBDdXN0b20gQnVpbGQKCiFFTFNFSUYgICIkKENGRykiID09ICJsaWJqcGVnIC0gV2luMzIgRGVidWciCgojIFBST1AgSWdub3JlX0RlZmF1bHRfVG9vbCAxClVTRVJERVBfX0pTSU1EVz0iJChJbnREaXIpXGpzaW1kY2ZnLmluYyIJImpzaW1kZXh0LmluYyIJCiMgQmVnaW4gQ3VzdG9tIEJ1aWxkIC0gQXNzZW1ibGluZyAtICQoSW5wdXRQYXRoKQpJbnREaXI9LlxEZWJ1ZwpJbnB1dFBhdGg9Llxqc2ltZHczMi5hc20KSW5wdXROYW1lPWpzaW1kdzMyCgoiJChJbnREaXIpXCQoSW5wdXROYW1lKS5vYmoiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCgluYXNtdyAtWHZjIC1md2luMzIgLURXSU4zMiAtSSAkKEludERpcilcIC1vICQoSW50RGlyKVwkKElucHV0TmFtZSkub2JqICQoSW5wdXRQYXRoKQoKIyBFbmQgQ3VzdG9tIEJ1aWxkCgohRU5ESUYgCgojIEVuZCBTb3VyY2UgRmlsZQojIEVuZCBHcm91cAojIEJlZ2luIEdyb3VwICJOQVNNIEhlYWRlciIKCiMgUFJPUCBEZWZhdWx0X0ZpbHRlciAiaW5jIgojIEJlZ2luIFNvdXJjZSBGaWxlCgpTT1VSQ0U9LlxqY29sc2FtcC5pbmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5camRjdC5pbmMKIyBFbmQgU291cmNlIEZpbGUKIyBCZWdpbiBTb3VyY2UgRmlsZQoKU09VUkNFPS5canNpbWRleHQuaW5jCiMgRW5kIFNvdXJjZSBGaWxlCiMgRW5kIEdyb3VwCiMgRW5kIFRhcmdldAojIEVuZCBQcm9qZWN0Cg==