Ly9NaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0LgovLwojaW5jbHVkZSAicmVzb3VyY2UuaCIKCiNkZWZpbmUgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBHZW5lcmF0ZWQgZnJvbSB0aGUgVEVYVElOQ0xVREUgMiByZXNvdXJjZS4KLy8KI2RlZmluZSBBUFNUVURJT19ISURERU5fU1lNQk9MUwojaWZkZWYgX19HTlVDX18KI2luY2x1ZGUgPHdpbmRvd3MuaD4KLy8jaW5jbHVkZSA8cmVhY3Rvcy9yZXNvdXJjZS5oPgovLyNpbmNsdWRlIDxjb21tY3RybC5oPgojZWxzZQojaW5jbHVkZSAid2luZG93cy5oIgojZW5kaWYKI3VuZGVmIEFQU1RVRElPX0hJRERFTl9TWU1CT0xTCiNpbmNsdWRlICJyZXNvdXJjZS5oIgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KI3VuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIEVuZ2xpc2ggKFUuUy4pIHJlc291cmNlcwoKI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfRU5VKQojaWZkZWYgX1dJTjMyCkxBTkdVQUdFIExBTkdfRU5HTElTSCwgU1VCTEFOR19FTkdMSVNIX1VTCiNwcmFnbWEgY29kZV9wYWdlKDEyNTIpCiNlbmRpZiAvL19XSU4zMgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gTWVudQovLwoKSURSX1RBU0tNQU5BR0VSIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICImRmlsZSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZOZXcgVGFzayAoUnVuLi4uKSIsICAgICAgICAgIElEX0ZJTEVfTkVXCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkUmeGl0IFRhc2sgTWFuYWdlciIsICAgICAgICAgIElEX0ZJTEVfRVhJVAogICAgRU5ECiAgICBQT1BVUCAiJk9wdGlvbnMiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImQWx3YXlzIE9uIFRvcCIsICAgICAgICAgICAgICBJRF9PUFRJT05TX0FMV0FZU09OVE9QCiAgICAgICAgLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZNaW5pbWl6ZSBPbiBVc2UiLCAgICAgICAgICAgIElEX09QVElPTlNfTUlOSU1JWkVPTlVTRQogICAgICAgICwgQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNICImSGlkZSBXaGVuIE1pbmltaXplZCIsICAgICAgICBJRF9PUFRJT05TX0hJREVXSEVOTUlOSU1JWkVECiAgICAgICAgLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZTaG93IDE2LWJpdCB0YXNrcyIsICAgICAgICAgIElEX09QVElPTlNfU0hPVzE2QklUVEFTS1MKICAgICAgICAsIENIRUNLRUQKICAgIEVORAogICAgUE9QVVAgIiZWaWV3IgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJlJlZnJlc2ggTm93IiwgICAgICAgICAgICAgICAgSURfVklFV19SRUZSRVNICiAgICAgICAgUE9QVVAgIiZVcGRhdGUgU3BlZWQiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZIaWdoIiwgICAgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfSElHSAogICAgICAgICAgICBNRU5VSVRFTSAiJk5vcm1hbCIsICAgICAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9OT1JNQUwKICAgICAgICAgICAgLCBDSEVDS0VECiAgICAgICAgICAgIE1FTlVJVEVNICImTG93IiwgICAgICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX1VQREFURVNQRUVEX0xPVwogICAgICAgICAgICBNRU5VSVRFTSAiJlBhdXNlZCIsICAgICAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9QQVVTRUQKCiAgICAgICAgRU5ECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkxhciZnZSBJY29ucyIsICAgICAgICAgICAgICAgIElEX1ZJRVdfTEFSR0UKICAgICAgICBNRU5VSVRFTSAiUyZtYWxsIEljb25zIiwgICAgICAgICAgICAgICAgSURfVklFV19TTUFMTAogICAgICAgIE1FTlVJVEVNICImRGV0YWlscyIsICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX0RFVEFJTFMsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiJlNlbGVjdCBDb2x1bW5zLi4uIiwgICAgICAgICAgSURfVklFV19TRUxFQ1RDT0xVTU5TCiAgICAgICAgUE9QVVAgIiZDUFUgSGlzdG9yeSIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiJk9uZSBHcmFwaCwgQWxsIENQVXMiLCAgICAgICAgSURfVklFV19DUFVISVNUT1JZX09ORUdSQVBIQUxMCgogICAgICAgICAgICBNRU5VSVRFTSAiT25lIEdyYXBoICZQZXIgQ1BVIiwgICAgICAgICAgSURfVklFV19DUFVISVNUT1JZX09ORUdSQVBIUEVSQ1BVCiAgICAgICAgICAgICwgQ0hFQ0tFRAogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNICImU2hvdyBLZXJuZWwgVGltZXMiLCAgICAgICAgICBJRF9WSUVXX1NIT1dLRVJORUxUSU1FUwogICAgRU5ECiAgICBQT1BVUCAiJldpbmRvd3MiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJUaWxlICZIb3Jpem9udGFsbHkiLCAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkKICAgICAgICBNRU5VSVRFTSAiVGlsZSAmVmVydGljYWxseSIsICAgICAgICAgICAgSURfV0lORE9XU19USUxFVkVSVElDQUxMWQogICAgICAgIE1FTlVJVEVNICImTWluaW1pemUiLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01JTklNSVpFCiAgICAgICAgTUVOVUlURU0gIk1hJnhpbWl6ZSIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKICAgICAgICBNRU5VSVRFTSAiJkNhc2NhZGUiLCAgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19DQVNDQURFCiAgICAgICAgTUVOVUlURU0gIiZCcmluZyBUbyBGcm9udCIsICAgICAgICAgICAgIElEX1dJTkRPV1NfQlJJTkdUT0ZST05UCiAgICBFTkQKICAgIFBPUFVQICImSGVscCIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIlRhc2sgTWFuYWdlciAmSGVscCBUb3BpY3MiLCAgIElEX0hFTFBfVE9QSUNTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZBYm91dCBUYXNrIE1hbmFnZXIiLCAgICAgICAgIElEX0hFTFBfQUJPVVQKICAgIEVORApFTkQKCklEUl9XSU5ET1dTTUVOVSBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBNRU5VSVRFTSAiVGlsZSAmSG9yaXpvbnRhbGx5IiwgICAgICAgICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICBNRU5VSVRFTSAiVGlsZSAmVmVydGljYWxseSIsICAgICAgICAgICAgSURfV0lORE9XU19USUxFVkVSVElDQUxMWQogICAgTUVOVUlURU0gIiZNaW5pbWl6ZSIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUlOSU1JWkUKICAgIE1FTlVJVEVNICJNYSZ4aW1pemUiLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01BWElNSVpFCiAgICBNRU5VSVRFTSAiJkNhc2NhZGUiLCAgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19DQVNDQURFCiAgICBNRU5VSVRFTSAiJkJyaW5nIFRvIEZyb250IiwgICAgICAgICAgICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQKRU5ECgpJRFJfQVBQTElDQVRJT05fUEFHRV9DT05URVhUMSBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImTmV3IFRhc2sgKFJ1bi4uLikiLCAgICAgICAgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMYXImZ2UgSWNvbnMiLCAgICAgICAgICAgICAgICBJRF9WSUVXX0xBUkdFCiAgICAgICAgTUVOVUlURU0gIlMmbWFsbCBJY29ucyIsICAgICAgICAgICAgICAgIElEX1ZJRVdfU01BTEwKICAgICAgICBNRU5VSVRFTSAiJkRldGFpbHMiLCAgICAgICAgICAgICAgICAgICAgSURfVklFV19ERVRBSUxTLCBDSEVDS0VECiAgICBFTkQKRU5ECgpJRFJfQVBQTElDQVRJT05fUEFHRV9DT05URVhUMiBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImU3dpdGNoIFRvIiwgICAgICAgICAgICAgICAgICBJRF9BUFBMSUNBVElPTl9QQUdFX1NXSVRDSFRPCiAgICAgICAgTUVOVUlURU0gIiZCcmluZyBUbyBGcm9udCIsICAgICAgICAgICAgIElEX1dJTkRPV1NfQlJJTkdUT0ZST05UCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlRpbGUgJkhvcml6b250YWxseSIsICAgICAgICAgIElEX1dJTkRPV1NfVElMRUhPUklaT05UQUxMWQogICAgICAgIE1FTlVJVEVNICJUaWxlICZWZXJ0aWNhbGx5IiwgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICAgICAgTUVOVUlURU0gIiZNaW5pbWl6ZSIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUlOSU1JWkUKICAgICAgICBNRU5VSVRFTSAiTWEmeGltaXplIiwgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NQVhJTUlaRQogICAgICAgIE1FTlVJVEVNICImQ2FzY2FkZSIsICAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkVuZCBUYXNrIiwgICAgICAgICAgICAgICAgICAgSURfQVBQTElDQVRJT05fUEFHRV9FTkRUQVNLCiAgICAgICAgTUVOVUlURU0gIiZHbyBUbyBQcm9jZXNzIiwgICAgICAgICAgICAgIElEX0FQUExJQ0FUSU9OX1BBR0VfR09UT1BST0NFU1MKCiAgICBFTkQKRU5ECgpJRFJfVFJBWV9QT1BVUCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBNRU5VSVRFTSAiJlJlc3RvcmUiLCAgICAgICAgICAgICAgICAgICAgSURfUkVTVE9SRQogICAgTUVOVUlURU0gIiZDbG9zZSIsICAgICAgICAgICAgICAgICAgICAgIElEX0ZJTEVfRVhJVAogICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICBNRU5VSVRFTSAiJkFsd2F5cyBPbiBUb3AiLCAgICAgICAgICAgICAgSURfT1BUSU9OU19BTFdBWVNPTlRPUCwgQ0hFQ0tFRApFTkQKCklEUl9QUk9DRVNTX1BBR0VfQ09OVEVYVCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImRW5kIFByb2Nlc3MiLCAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfRU5EUFJPQ0VTUwogICAgICAgIE1FTlVJVEVNICJFbmQgUHJvY2VzcyAmVHJlZSIsICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfRU5EUFJPQ0VTU1RSRUUKCiAgICAgICAgTUVOVUlURU0gIiZEZWJ1ZyIsICAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9ERUJVRwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICJTZXQgJlByaW9yaXR5IgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImUmVhbHRpbWUiLCAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfUkVBTFRJTUUKCiAgICAgICAgICAgIE1FTlVJVEVNICImSGlnaCIsICAgICAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfSElHSAoKICAgICAgICAgICAgTUVOVUlURU0gIiZBYm92ZU5vcm1hbCIsICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9BQk9WRU5PUk1BTAoKICAgICAgICAgICAgTUVOVUlURU0gIiZOb3JtYWwiLCAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9OT1JNQUwKCiAgICAgICAgICAgIE1FTlVJVEVNICImQmVsb3dOb3JtYWwiLCAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfQkVMT1dOT1JNQUwKCiAgICAgICAgICAgIE1FTlVJVEVNICImTG93IiwgICAgICAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTE9XCgogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNICJTZXQgJkFmZmluaXR5Li4uIiwgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUQUZGSU5JVFkKCU1FTlVJVEVNICJFZGl0IERlYnVnICZDaGFubmVscy4uLiIsCUlEX1BST0NFU1NfUEFHRV9ERUJVR0NIQU5ORUxTCiAgICBFTkQKRU5ECgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gRGlhbG9nCi8vCgpJRERfQUJPVVRCT1ggRElBTE9HIERJU0NBUkRBQkxFICAyMiwgMTcsIDI1OSwgMjEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJBYm91dCBUYXNrIE1hbmFnZXIiCkZPTlQgOCwgIlRhaG9tYSIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiVGFzayBNYW5hZ2VyIHYxLjBcbkNvcHlyaWdodCAoQykgMTk5OSAtIDIwMDFcbmJ5IEJyaWFuIFBhbG1lciAoYnJpYW5wQHJlYWN0b3Mub3JnKSIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFdTX0dST1VQLDUzLDI4LAogICAgICAgICAgICAgICAgICAgIDEyMiwyNgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODMsMTg5LDQ0LDE0LFdTX0dST1VQCiAgICBJQ09OICAgICAgICAgICAgSURJX1RBU0tNQU5BR0VSLElEQ19TVEFUSUMsMTksMzAsMjAsMjAKICAgIEVESVRURVhUICAgICAgICBJRENfTElDRU5TRV9FRElULDUzLDYzLDE3NCwxMDcsRVNfTVVMVElMSU5FIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IFdTX1ZTQ1JPTEwKRU5ECgpJRERfVEFTS01HUl9ESUFMT0cgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjQsIDI0NgpTVFlMRSBEU19DRU5URVIgfCBXU19NSU5JTUlaRUJPWCB8IFdTX01BWElNSVpFQk9YIHwgV1NfUE9QVVAgfAogICAgV1NfQ0xJUFNJQkxJTkdTIHwgV1NfQ0xJUENISUxEUkVOIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgV1NfVEhJQ0tGUkFNRQpDQVBUSU9OICJUYXNrIE1hbmFnZXIiCk1FTlUgSURSX1RBU0tNQU5BR0VSCkZPTlQgOCwgIlRhaG9tYSIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiVGFiMSIsSURDX1RBQiwiU3lzVGFiQ29udHJvbDMyIixXU19UQUJTVE9QLDMsMywyNTcsMjI4CkVORAoKSUREX0FQUExJQ0FUSU9OX1BBR0UgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNDcsIDIxMApTVFlMRSBEU19DT05UUk9MIHwgV1NfQ0hJTEQgfCBXU19DTElQQ0hJTERSRU4KRk9OVCA4LCAiVGFob21hIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJMaXN0MiIsSURDX0FQUExJU1QsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSE9XU0VMQUxXQVlTIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCw3LDcsMjMzLDE3NwogICAgUFVTSEJVVFRPTiAgICAgICImTmV3IFRhc2suLi4iLElEQ19ORVdUQVNLLDE4NywxODksNTMsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJlN3aXRjaCBUbyIsSURDX1NXSVRDSFRPLDEzMSwxODksNTMsMTQsV1NfRElTQUJMRUQKICAgIFBVU0hCVVRUT04gICAgICAiJkVuZCBUYXNrIixJRENfRU5EVEFTSyw3NSwxODksNTMsMTQsV1NfRElTQUJMRUQKRU5ECgpJRERfUFJPQ0VTU19QQUdFIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjQ3LCAyMTAKU1RZTEUgRFNfQ09OVFJPTCB8IFdTX0NISUxEIHwgV1NfQ0xJUENISUxEUkVOCkZPTlQgOCwgIlRhaG9tYSIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiTGlzdDIiLElEQ19QUk9DRVNTTElTVCwiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IExWU19TSE9XU0VMQUxXQVlTIHwgTFZTX09XTkVSREFUQSB8CiAgICAgICAgICAgICAgICAgICAgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCw3LDcsMjMzLDE3NwogICAgUFVTSEJVVFRPTiAgICAgICImRW5kIFByb2Nlc3MiLElEQ19FTkRQUk9DRVNTLDE3MSwxODksNjksMTQKICAgIENPTlRST0wgICAgICAgICAiJlNob3cgcHJvY2Vzc2VzIGZyb20gYWxsIHVzZXJzIixJRENfU0hPV0FMTFBST0NFU1NFUywKICAgICAgICAgICAgICAgICAgICAiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDcsMTkxLDExMSwxMApFTkQKCi8vSUREX1BFUkZPUk1BTkNFX1BBR0UgRElBTE9HRVggMCwgMCwgMjQ3LCAyMTAKSUREX1BFUkZPUk1BTkNFX1BBR0UgRElBTE9HRVggRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX0NPTlRST0wgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTgpGT05UIDgsICJUYWhvbWEiCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIkNQVSBVc2FnZSIsSURDX0NQVV9VU0FHRV9GUkFNRSw1LDUsNjAsNTQsV1NfVEFCU1RPUCwgV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiTUVNIFVzYWdlIixJRENfTUVNX1VTQUdFX0ZSQU1FLDUsNjMsNjAsNTQsQlNfTEVGVFRFWFQsIFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIlRvdGFscyIsSURDX1RPVEFMU19GUkFNRSw1LDEyMiwxMTEsMzksMCxXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJDb21taXQgQ2hhcmdlIChLKSIsSURDX0NPTU1JVF9DSEFSR0VfRlJBTUUsNSwxNjYsMTExLDM5LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiUGh5c2ljYWwgTWVtb3J5IChLKSIsSURDX1BIWVNJQ0FMX01FTU9SWV9GUkFNRSwxMzEsMTIyLDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIktlcm5lbCBNZW1vcnkgKEspIixJRENfS0VSTkVMX01FTU9SWV9GUkFNRSwxMzEsMTY2LDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBMVEVYVCAgICAgICAgICAgIkhhbmRsZXMiLElEU19UT1RBTFNfSEFORExFX0NPVU5ULDEyLDEzMSwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIlRocmVhZHMiLElEU19UT1RBTFNfVEhSRUFEX0NPVU5ULDEyLDE0MCwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIlByb2Nlc3NlcyIsSURTX1RPVEFMU19QUk9DRVNTX0NPVU5ULDEyLDE0OSwzNCw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX1RPVEFMU19IQU5ETEVfQ09VTlQsNjUsMTMxLDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19UT1RBTFNfVEhSRUFEX0NPVU5ULDY1LDE0MCw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfVE9UQUxTX1BST0NFU1NfQ09VTlQsNjUsMTQ5LDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgTFRFWFQgICAgICAgICAgICJUb3RhbCIsSURTX0NPTU1JVF9DSEFSR0VfVE9UQUwsMTIsMTc1LDI3LDgKICAgIExURVhUICAgICAgICAgICAiTGltaXQiLElEU19DT01NSVRfQ0hBUkdFX0xJTUlULDEyLDE4NCwxNSw4CiAgICBMVEVYVCAgICAgICAgICAgIlBlYWsiLElEU19DT01NSVRfQ0hBUkdFX1BFQUssMTIsMTkzLDM0LDgKICAgIEVESVRURVhUICAgICAgICBJRENfQ09NTUlUX0NIQVJHRV9UT1RBTCw2NSwxNzQsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0NPTU1JVF9DSEFSR0VfTElNSVQsNjUsMTg0LDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19DT01NSVRfQ0hBUkdFX1BFQUssNjUsMTkzLDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgTFRFWFQgICAgICAgICAgICJUb3RhbCIsSURTX1BIWVNJQ0FMX01FTU9SWV9UT1RBTCwxMzcsMTMxLDI3LDgKICAgIExURVhUICAgICAgICAgICAiQXZhaWxhYmxlIixJRFNfUEhZU0lDQUxfTUVNT1JZX0FWQUlMQUJMRSwxMzcsMTQwLDMwLDgKICAgIExURVhUICAgICAgICAgICAiU3lzdGVtIENhY2hlIixJRFNfUEhZU0lDQUxfTUVNT1JZX1NZU1RFTV9DQUNIRSwxMzcsMTQ5LDQ2LDgKICAgIEVESVRURVhUICAgICAgICBJRENfUEhZU0lDQUxfTUVNT1JZX1RPVEFMLDE4NSwxMzEsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BIWVNJQ0FMX01FTU9SWV9BVkFJTEFCTEUsMTg1LDE0MCw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfUEhZU0lDQUxfTUVNT1JZX1NZU1RFTV9DQUNIRSwxODUsMTQ5LDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgTFRFWFQgICAgICAgICAgICJUb3RhbCIsSURTX0tFUk5FTF9NRU1PUllfVE9UQUwsMTM3LDE3NCwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIlBhZ2VkIixJRFNfS0VSTkVMX01FTU9SWV9QQUdFRCwxMzcsMTg0LDIxLDgKICAgIExURVhUICAgICAgICAgICAiTm9ucGFnZWQiLElEU19LRVJORUxfTUVNT1JZX05PTlBBR0VELDEzNywxOTMsMzQsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19LRVJORUxfTUVNT1JZX1RPVEFMLDE4NSwxNzQsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0tFUk5FTF9NRU1PUllfUEFHRUQsMTg1LDE4NCw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfS0VSTkVMX01FTU9SWV9OT05QQUdFRCwxODUsMTkzLDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgR1JPVVBCT1ggICAgICAgICJDUFUgVXNhZ2UgSGlzdG9yeSIsSURDX0NQVV9VU0FHRV9ISVNUT1JZX0ZSQU1FLDc0LDUsMTY4LDU0LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiTWVtb3J5IFVzYWdlIEhpc3RvcnkiLElEQ19NRU1PUllfVVNBR0VfSElTVE9SWV9GUkFNRSw3NCw2MywxNjgsNTQsMCxXU19FWF9UUkFOU1BBUkVOVAogICAgUFVTSEJVVFRPTiAgICAgICJDUFUgVXNhZ2UgRGlzcGxheSIsSURDX0NQVV9VU0FHRV9HUkFQSCwxMiwxNyw0NywzNywwLAoJCSAgICBXU19FWF9DTElFTlRFREdFCiAgICBQVVNIQlVUVE9OICAgICAgIk1FTSBVc2FnZSBEaXNwbGF5IixJRENfTUVNX1VTQUdFX0dSQVBILDEyLDc1LDQ3LDM3LDAsCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJDUFUgVXNhZ2UgSGlzdG9yeSIsSURDX0NQVV9VU0FHRV9ISVNUT1JZX0dSQVBILDgxLDE3LAogICAgICAgICAgICAgICAgICAgIDE1MywzNywwLFdTX0VYX0NMSUVOVEVER0UKICAgIFBVU0hCVVRUT04gICAgICAiTUVNIFVzYWdlIEhpc3RvcnkiLElEQ19NRU1fVVNBR0VfSElTVE9SWV9HUkFQSCw4MSw3NSwKICAgICAgICAgICAgICAgICAgICAxNTMsMzcsMCxXU19FWF9DTElFTlRFREdFCkVORAoKSUREX0RFQlVHX0NIQU5ORUxTX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkRlYnVnIENoYW5uZWxzIgpGT05UIDgsICJUYWhvbWEiCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIkxpc3QyIixJRENfREVCVUdfQ0hBTk5FTFNfTElTVCwiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IExWU19TSE9XU0VMQUxXQVlTIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8CgkJICAgIExWU19TT1JUQVNDRU5ESU5HLDcsNywyMzMsMTc3CiAgICBQVVNIQlVUVE9OICAgICAgIkNsb3NlIixJRE9LLDE3MSwxODksNjksMTQKRU5ECgpJRERfQUZGSU5JVFlfRElBTE9HIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjMxLCAxNTQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUHJvY2Vzc29yIEFmZmluaXR5IgpGT05UIDgsICJUYWhvbWEiCkJFR0lOCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDEyMCwxMzMsNTAsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQ2FuY2VsIixJRENBTkNFTCwxNzQsMTMzLDUwLDE0CiAgICBMVEVYVCAgICAgICAgICAgIlRoZSBQcm9jZXNzb3IgQWZmaW5pdHkgc2V0dGluZyBjb250cm9scyB3aGljaCBDUFVzIHRoZSBwcm9jZXNzIHdpbGwgYmUgYWxsb3dlZCB0byBleGVjdXRlIG9uLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQyw1LDUsMjIwLDE2CiAgICBDT05UUk9MICAgICAgICAgIkNQVSAwIixJRENfQ1BVMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLAogICAgICAgICAgICAgICAgICAgIDExLDI4LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxIixJRENfQ1BVMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw0MSwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMiIsSURDX0NQVTIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsNTQsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDMiLElEQ19DUFUzLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDY3LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA0IixJRENfQ1BVNCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw4MCwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgNSIsSURDX0NQVTUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsOTMsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDYiLElEQ19DUFU2LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDEwNiwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgNyIsSURDX0NQVTcsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsMTE5LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA4IixJRENfQ1BVOCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw2MSwyOCwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgOSIsSURDX0NQVTksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNjEsNDEsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDEwIixJRENfQ1BVMTAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsNTQsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDExIixJRENfQ1BVMTEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsNjcsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDEyIixJRENfQ1BVMTIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsODAsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDEzIixJRENfQ1BVMTMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsOTMsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE0IixJRENfQ1BVMTQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsMTA2LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxNSIsSURDX0NQVTE1LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDExOSw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTYiLElEQ19DUFUxNiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsMjgsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE3IixJRENfQ1BVMTcsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDQxLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxOCIsSURDX0NQVTE4LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiw1NCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTkiLElEQ19DUFUxOSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsNjcsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDIwIixJRENfQ1BVMjAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDgwLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyMSIsSURDX0NQVTIxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiw5Myw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjIiLElEQ19DUFUyMiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsMTA2LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyMyIsSURDX0NQVTIzLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiwxMTksNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI0IixJRENfQ1BVMjQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDI4LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyNSIsSURDX0NQVTI1LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw0MSw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjYiLElEQ19DUFUyNiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsNTQsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI3IixJRENfQ1BVMjcsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDY3LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyOCIsSURDX0NQVTI4LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw4MCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjkiLElEQ19DUFUyOSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsOTMsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDMwIixJRENfQ1BVMzAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDEwNiw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMzEiLElEQ19DUFUzMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsMTE5LDQxLDEwCkVORAoKSUREX0NPTFVNTlNfRElBTE9HIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMTk1LCAxOTkKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU2VsZWN0IENvbHVtbnMiCkZPTlQgOCwgIlRhaG9tYSIKQkVHSU4KICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssODQsMTc4LDUwLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkNhbmNlbCIsSURDQU5DRUwsMTM4LDE3OCw1MCwxNAogICAgTFRFWFQgICAgICAgICAgICJTZWxlY3QgdGhlIGNvbHVtbnMgdGhhdCB3aWxsIGFwcGVhciBvbiB0aGUgUHJvY2VzcyBwYWdlIG9mIHRoZSBUYXNrIE1hbmFnZXIuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDcsNywxODEsMTcKICAgIENPTlRST0wgICAgICAgICAiJkltYWdlIE5hbWUiLElEQ19JTUFHRU5BTUUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNywyOCw1NiwxMAogICAgQ09OVFJPTCAgICAgICAgICImUElEIChQcm9jZXNzIElkZW50aWZpZXIpIixJRENfUElELCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNywzOSw4OCwxMAogICAgQ09OVFJPTCAgICAgICAgICImQ1BVIFVzYWdlIixJRENfQ1BVVVNBR0UsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsNTAsNTMsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIFRpbSZlIixJRENfQ1BVVElNRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNyw2MSw0OCwxMAogICAgQ09OVFJPTCAgICAgICAgICImTWVtb3J5IFVzYWdlIixJRENfTUVNT1JZVVNBR0UsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsNzIsNjMsMTAKICAgIENPTlRST0wgICAgICAgICAiTWVtb3J5IFVzYWdlICZEZWx0YSIsSURDX01FTU9SWVVTQUdFREVMVEEsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDgzLDgyLDEwCiAgICBDT05UUk9MICAgICAgICAgIlBlYSZrIE1lbW9yeSBVc2FnZSIsSURDX1BFQUtNRU1PUllVU0FHRSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDcsOTQsODIsMTAKICAgIENPTlRST0wgICAgICAgICAiUGFnZSAmRmF1bHRzIixJRENfUEFHRUZBVUxUUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxMDUsNTMsMTAKICAgIENPTlRST0wgICAgICAgICAiJlVTRVIgT2JqZWN0cyIsSURDX1VTRVJPQkpFQ1RTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDExNiw2MiwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gUmVhZHMiLElEQ19JT1JFQURTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDEyNyw0OSwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gUmVhZCBCeXRlcyIsSURDX0lPUkVBREJZVEVTLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNywxMzgsNjUsMTAKICAgIENPTlRST0wgICAgICAgICAiJlNlc3Npb24gSUQiLElEQ19TRVNTSU9OSUQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTQ5LDUwLDEwCiAgICBDT05UUk9MICAgICAgICAgIlVzZXIgJk5hbWUiLElEQ19VU0VSTkFNRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxNjAsNTEsMTAKICAgIENPTlRST0wgICAgICAgICAiUGFnZSBGJmF1bHRzIERlbHRhIixJRENfUEFHRUZBVUxUU0RFTFRBLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTA3LDI4LDcyLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZWaXJ0dWFsIE1lbW9yeSBTaXplIixJRENfVklSVFVBTE1FTU9SWVNJWkUsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMDcsMzksNzcsMTAKICAgIENPTlRST0wgICAgICAgICAiUGEmZ2VkIFBvb2wiLElEQ19QQUdFRFBPT0wsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEwNyw1MCw1MywxMAogICAgQ09OVFJPTCAgICAgICAgICJOJm9uLXBhZ2VkIFBvb2wiLElEQ19OT05QQUdFRFBPT0wsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMDcsNjEsNjcsMTAKICAgIENPTlRST0wgICAgICAgICAiQmFzZSBQJnJpb3JpdHkiLElEQ19CQVNFUFJJT1JJVFksIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMDcsNzIsNTUsMTAKICAgIENPTlRST0wgICAgICAgICAiJkhhbmRsZSBDb3VudCIsSURDX0hBTkRMRUNPVU5ULCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMDcsODMsNTksMTAKICAgIENPTlRST0wgICAgICAgICAiJlRocmVhZCBDb3VudCIsSURDX1RIUkVBRENPVU5ULCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMDcsOTQsNTksMTAKICAgIENPTlRST0wgICAgICAgICAiR0RJIE9iamVjdHMiLElEQ19HRElPQkpFQ1RTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMDcsMTA1LDU1LDEwCiAgICBDT05UUk9MICAgICAgICAgIkkvTyBXcml0ZXMiLElEQ19JT1dSSVRFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTA3LDExNiw0OSwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gV3JpdGUgQnl0ZXMiLElEQ19JT1dSSVRFQllURVMsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMDcsMTI3LDY1LDEwCiAgICBDT05UUk9MICAgICAgICAgIkkvTyBPdGhlciIsSURDX0lPT1RIRVIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEwNywxMzgsNDYsMTAKICAgIENPTlRST0wgICAgICAgICAiSS9PIE90aGVyIEJ5dGVzIixJRENfSU9PVEhFUkJZVEVTLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTA3LDE0OSw2NSwxMApFTkQKCgojaWZkZWYgQVBTVFVESU9fSU5WT0tFRAovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBURVhUSU5DTFVERQovLwoKMiBURVhUSU5DTFVERSBESVNDQVJEQUJMRQpCRUdJTgogICAgIiNkZWZpbmUgQVBTVFVESU9fSElEREVOX1NZTUJPTFNcclxuIgogICAgIiNpbmNsdWRlICIid2luZG93cy5oIiJcclxuIgogICAgIiN1bmRlZiBBUFNUVURJT19ISURERU5fU1lNQk9MU1xyXG4iCiAgICAiI2luY2x1ZGUgIiJyZXNvdXJjZS5oIiJcclxuIgogICAgIlwwIgpFTkQKCjMgVEVYVElOQ0xVREUgRElTQ0FSREFCTEUKQkVHSU4KICAgICJcclxuIgogICAgIlwwIgpFTkQKCjEgVEVYVElOQ0xVREUgRElTQ0FSREFCTEUKQkVHSU4KICAgICJyZXNvdXJjZS5oXDAiCkVORAoKI2VuZGlmICAgIC8vIEFQU1RVRElPX0lOVk9LRUQKCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBERVNJR05JTkZPCi8vCgojaWZkZWYgQVBTVFVESU9fSU5WT0tFRApHVUlERUxJTkVTIERFU0lHTklORk8gRElTQ0FSREFCTEUKQkVHSU4KICAgIElERF9BQk9VVEJPWCwgRElBTE9HCiAgICBCRUdJTgogICAgICAgIExFRlRNQVJHSU4sIDcKICAgICAgICBSSUdIVE1BUkdJTiwgMjUyCiAgICAgICAgVE9QTUFSR0lOLCA3CiAgICAgICAgQk9UVE9NTUFSR0lOLCAyMDMKICAgIEVORAoKICAgIElERF9UQVNLTUdSX0RJQUxPRywgRElBTE9HCiAgICBCRUdJTgogICAgICAgIExFRlRNQVJHSU4sIDMKICAgICAgICBSSUdIVE1BUkdJTiwgMjYwCiAgICAgICAgVE9QTUFSR0lOLCAzCiAgICAgICAgQk9UVE9NTUFSR0lOLCAyMzEKICAgIEVORAoKICAgIElERF9BUFBMSUNBVElPTl9QQUdFLCBESUFMT0cKICAgIEJFR0lOCiAgICAgICAgTEVGVE1BUkdJTiwgNwogICAgICAgIFJJR0hUTUFSR0lOLCAyNDAKICAgICAgICBUT1BNQVJHSU4sIDcKICAgICAgICBCT1RUT01NQVJHSU4sIDIwMwogICAgRU5ECgogICAgSUREX1BST0NFU1NfUEFHRSwgRElBTE9HCiAgICBCRUdJTgogICAgICAgIExFRlRNQVJHSU4sIDcKICAgICAgICBSSUdIVE1BUkdJTiwgMjQwCiAgICAgICAgVE9QTUFSR0lOLCA3CiAgICAgICAgQk9UVE9NTUFSR0lOLCAyMDMKICAgIEVORAoKICAgIElERF9QRVJGT1JNQU5DRV9QQUdFLCBESUFMT0cKICAgIEJFR0lOCiAgICAgICAgTEVGVE1BUkdJTiwgNQogICAgICAgIFJJR0hUTUFSR0lOLCAyNDIKICAgICAgICBWRVJUR1VJREUsIDEyCiAgICAgICAgVkVSVEdVSURFLCA2NQogICAgICAgIFZFUlRHVUlERSwgMTEwCiAgICAgICAgVE9QTUFSR0lOLCA1CiAgICAgICAgQk9UVE9NTUFSR0lOLCAyMDUKICAgIEVORAoKICAgIElERF9BRkZJTklUWV9ESUFMT0csIERJQUxPRwogICAgQkVHSU4KICAgICAgICBMRUZUTUFSR0lOLCA3CiAgICAgICAgUklHSFRNQVJHSU4sIDIyNAogICAgICAgIFZFUlRHVUlERSwgMTEKICAgICAgICBWRVJUR1VJREUsIDYxCiAgICAgICAgVkVSVEdVSURFLCAxMTYKICAgICAgICBWRVJUR1VJREUsIDE3NQogICAgICAgIFRPUE1BUkdJTiwgNwogICAgICAgIEJPVFRPTU1BUkdJTiwgMTQ3CiAgICAgICAgSE9SWkdVSURFLCAyOAogICAgICAgIEhPUlpHVUlERSwgMzgKICAgICAgICBIT1JaR1VJREUsIDUxCiAgICAgICAgSE9SWkdVSURFLCA2NAogICAgICAgIEhPUlpHVUlERSwgNzcKICAgICAgICBIT1JaR1VJREUsIDkwCiAgICAgICAgSE9SWkdVSURFLCAxMDMKICAgICAgICBIT1JaR1VJREUsIDExNgogICAgICAgIEhPUlpHVUlERSwgMTI5CiAgICBFTkQKCiAgICBJRERfQ09MVU1OU19ESUFMT0csIERJQUxPRwogICAgQkVHSU4KICAgICAgICBMRUZUTUFSR0lOLCA3CiAgICAgICAgUklHSFRNQVJHSU4sIDE4OAogICAgICAgIFZFUlRHVUlERSwgMTA3CiAgICAgICAgVE9QTUFSR0lOLCA3CiAgICAgICAgQk9UVE9NTUFSR0lOLCAxOTIKICAgICAgICBIT1JaR1VJREUsIDI4CiAgICBFTkQKRU5ECiNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VECgojaWZkZWYgV0lORQojZGVmaW5lIHJlc19kaXIgLgojZWxzZQojZGVmaW5lIHJlc19kaXIgcmVzCiNlbmRpZgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gSWNvbgovLwoKLy8gSWNvbiB3aXRoIGxvd2VzdCBJRCB2YWx1ZSBwbGFjZWQgZmlyc3QgdG8gZW5zdXJlIGFwcGxpY2F0aW9uIGljb24KLy8gcmVtYWlucyBjb25zaXN0ZW50IG9uIGFsbCBzeXN0ZW1zLgovKiBCSU5SRVMgdGFza21nci5pY28gKi8KSURJX1RBU0tNQU5BR0VSICAgICAgICAgSUNPTiAgICBESVNDQVJEQUJMRSB0YXNrbWdyLmljbwovKiB7CiAnMDAgMDAgMDEgMDAgMDIgMDAgMjAgMjAgMTAgMDAgMDAgMDAgMDAgMDAgRTggMDInCiAnMDAgMDAgMjYgMDAgMDAgMDAgMTAgMTAgMTAgMDAgMDAgMDAgMDAgMDAgMjggMDEnCiAnMDAgMDAgMEUgMDMgMDAgMDAgMjggMDAgMDAgMDAgMjAgMDAgMDAgMDAgNDAgMDAnCiAnMDAgMDAgMDEgMDAgMDQgMDAgMDAgMDAgMDAgMDAgODAgMDIgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgODAgMDAgMDAgODAgMDAgMDAgMDAgODAgODAgMDAgODAgMDAnCiAnMDAgMDAgODAgMDAgODAgMDAgODAgODAgMDAgMDAgQzAgQzAgQzAgMDAgODAgODAnCiAnODAgMDAgMDAgMDAgRkYgMDAgMDAgRkYgMDAgMDAgMDAgRkYgRkYgMDAgRkYgMDAnCiAnMDAgMDAgRkYgMDAgRkYgMDAgRkYgRkYgMDAgMDAgRkYgRkYgRkYgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgRkYgRjcgNzcgODggODAgMDAgMDAgMDAgMDAgRjcnCiAnNzcgNzcgNzcgODAgMDAgMDAgMDcgNzcgODggODggMDAgMDAgMDAgMDAgMDAgRjcnCiAnNzcgODcgODcgODggMDAgMDAgMDAgODggODggODAgMDAgMDAgMDAgMDAgMDAgRjcnCiAnNzcgODcgODcgODggODAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgRjcnCiAnNzcgODcgODcgODggMDggODggODggODggODggODggODggODggMDAgMDAgMDAgRjcnCiAnOTcgODcgODcgODAgODcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzAgMDAgMDAgRjcnCiAnNzcgODcgODcgODAgNzcgRkYgRkYgRkYgRkYgRkYgRkYgRjcgNzAgMDAgMDAgRjcnCiAnNzcgODcgODcgODAgNzggMDAgMDAgMDAgMDAgMDAgMEEgQUYgNzAgMDAgMDAgRjcnCiAnMjcgODcgODcgODAgNzggQUEgMDAgMDAgMDAgMDAgQTIgMEYgNzAgMDAgMDAgRjcnCiAnQTIgNzcgNzcgODAgNzggMDIgQTAgMEEgMDAgMEEgMjAgMEYgNzAgMDAgMDAgRjcnCiAnNzcgNzcgNzcgODAgNzggMDAgMkEgQTIgQTAgMEEgMDAgMEYgNzAgMDAgMDAgRjcnCiAnMDAgMDcgODcgODAgNzggMDAgMDAgMDAgQTAgMEEgMDAgMEYgNzAgMDAgMDAgRjcnCiAnODggNzcgRjcgODAgNzggMDAgMDggMDAgMkEgMEEgMDAgMEYgNzAgMDAgMDAgRjcnCiAnNzcgNzcgNzcgODAgNzggMDAgOEYgODAgMEEgQTIgMDAgMEYgNzAgMDAgMDAgRjcnCiAnNzcgNzcgNzcgODAgNzggMDAgMDggMDAgMDIgQTAgMDAgMEYgNzAgMDAgMDAgRjcnCiAnMDAgMDAgMDcgODAgNzggMDAgMDAgMDAgMDAgQTAgMDAgMEYgNzAgMDAgMDAgRjcnCiAnODggODggNzcgODAgN0YgODggODggODggODggODggODggODcgNzAgMDAgMDAgRjcnCiAnNzcgNzcgNzcgODAgRkYgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzAgMDAgMDAgRjcnCiAnMDAgMDAgMDcgODggMDcgRkYgRkYgRkYgRkYgRkYgRkYgRkYgMDAgMDAgMDAgRjcnCiAnODggODggNzcgODggODAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgRjcnCiAnNzcgNzcgNzcgODggODAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMEYnCiAnRkYgRkYgRkYgODggODAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDcnCiAnNzcgNzcgNzcgNzggODAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnNzcgNzcgNzcgNzcgODAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgRkYgRkYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYnCiAnMDAgN0YgQzAgM0MgMDAgMUYgODAgMEYgMDAgN0YgODAgMDcgODAgRkYgODAgMDAnCiAnMDAgMEYgODAgMDAgMDAgMDcgODAgMDAgMDAgMDMgODAgMDAgMDAgMDMgODAgMDAnCiAnMDAgMDMgODAgMDAgMDAgMDMgODAgMDAgMDAgMDMgODAgMDAgMDAgMDMgODAgMDAnCiAnMDAgMDMgODAgMDAgMDAgMDMgODAgMDAgMDAgMDMgODAgMDAgMDAgMDMgODAgMDAnCiAnMDAgMDMgODAgMDAgMDAgMDMgODAgMDAgMDAgMDMgODAgMDAgMDAgMDcgODAgMDAnCiAnMDAgMEYgODAgMDMgRkYgRkYgODAgMDMgRkYgRkYgQzAgMDMgRkYgRkYgRTAgMDMnCiAnRkYgRkYgRjAgMDMgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgMjggMDAnCiAnMDAgMDAgMTAgMDAgMDAgMDAgMjAgMDAgMDAgMDAgMDEgMDAgMDQgMDAgMDAgMDAnCiAnMDAgMDAgQzAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgODAgMDAgMDAgODAnCiAnMDAgMDAgMDAgODAgODAgMDAgODAgMDAgMDAgMDAgODAgMDAgODAgMDAgODAgODAnCiAnMDAgMDAgQzAgQzAgQzAgMDAgODAgODAgODAgMDAgMDAgMDAgRkYgMDAgMDAgRkYnCiAnMDAgMDAgMDAgRkYgRkYgMDAgRkYgMDAgMDAgMDAgRkYgMDAgRkYgMDAgRkYgRkYnCiAnMDAgMDAgRkYgRkYgRkYgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgRjggNzggODAgMDAgMEYgNzcnCiAnNzggMDAgMEYgNzggMDAgMDAgMEYgNzggNzAgODggODggODggODAgMDAgMEYgNzgnCiAnNzAgRjcgNzcgNzcgNzcgMDAgMEYgNzggNzAgRjIgQTAgMDAgQTggMDAgMEYgQUYnCiAnNzAgRjAgMkEgMEEgMDggMDAgMEYgNzcgNzAgRjAgMDAgQTIgMDggMDAgMEYgMDAnCiAnNzAgRjAgRjAgQTAgMDggMDAgMEYgNzcgNzAgRjggODggODggODggMDAgMEYgMDAnCiAnNzAgRkYgRkYgRkYgRkYgMDAgMEYgRkYgRjggMDAgMDAgMDAgMDAgMDAgMDggNzcnCiAnNzggMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgRkYgRkYgMDAgMDAgRkYgMDcgMDAgMDAgODIgMDMnCiAnMDAgMDAgMDEgMDcgMDAgMDAgMDAgMDMgMDAgMDAgMDAgMDEgMDAgMDAgMDAgMDEnCiAnMDAgMDAgMDAgMDEgMDAgMDAgMDAgMDEgMDAgMDAgMDAgMDEgMDAgMDAgMDAgMDEnCiAnMDAgMDAgMDAgMDEgMDAgMDAgMDAgMDMgMDAgMDAgMDEgRkYgMDAgMDAgODEgRkYnCiAnMDAgMDAgRkYgRkYgMDAgMDAnCn0gKi8KCi8qIEJJTlJFUyB3aW5kb3cuaWNvICovCklESV9XSU5ET1cgICAgICAgICAgICAgIElDT04gICAgRElTQ0FSREFCTEUgd2luZG93LmljbwovKiB7CiAnMDAgMDAgMDEgMDAgMDEgMDAgMjAgMjAgMTAgMDAgMDAgMDAgMDAgMDAgRTggMDInCiAnMDAgMDAgMTYgMDAgMDAgMDAgMjggMDAgMDAgMDAgMjAgMDAgMDAgMDAgNDAgMDAnCiAnMDAgMDAgMDEgMDAgMDQgMDAgMDAgMDAgMDAgMDAgODAgMDIgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgODAgMDAgMDAgODAgMDAgMDAgMDAgODAgODAgMDAgODAgMDAnCiAnMDAgMDAgODAgMDAgODAgMDAgODAgODAgMDAgMDAgQzAgQzAgQzAgMDAgODAgODAnCiAnODAgMDAgMDAgMDAgRkYgMDAgMDAgRkYgMDAgMDAgMDAgRkYgRkYgMDAgRkYgMDAnCiAnMDAgMDAgRkYgMDAgRkYgMDAgRkYgRkYgMDAgMDAgRkYgRkYgRkYgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgODggODgnCiAnODggODggODggODggODggODggODggODggODggODggODggODggODggODAgODcgNzcnCiAnNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgOEYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRjcgODAgODcgODgnCiAnODggODggODggODggODggODggODggODggODggODggODggODggODcgODAgODcgNzcnCiAnNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgODAgODcgNDQnCiAnNDQgNDQgNDQgNDQgNDQgNDQgNDQgNDQgNDAgMDAgMDAgMDAgMDAgODAgODcgNDQnCiAnNDQgNDQgNDQgNDQgNDQgNDQgNDQgNDQgNDcgNzAgNzcgMDcgNzAgODAgODcgNDQnCiAnNDQgNDQgNDQgNDQgNDQgNDQgNDQgNDQgNDcgNzAgNzcgMDcgNzAgODAgODcgNDQnCiAnNDQgNDQgNDQgNDQgNDQgNDQgNDQgNDQgNDQgNDQgNDQgNDQgNDQgODAgODcgNzcnCiAnNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgNzcgODAgODggODgnCiAnODggODggODggODggODggODggODggODggODggODggODggODggODggODAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgRkYgRkYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgRkYgRkYgRkYgRkYnCn0gKi8KCi8qIEJJTlJFUyB3aW5kb3dzbS5pY28gKi8KSURJX1dJTkRPV1NNICAgICAgICAgICAgSUNPTiAgICBESVNDQVJEQUJMRSB3aW5kb3dzbS5pY28KLyogewogJzAwIDAwIDAxIDAwIDAxIDAwIDEwIDEwIDEwIDAwIDAwIDAwIDAwIDAwIDI4IDAxJwogJzAwIDAwIDE2IDAwIDAwIDAwIDI4IDAwIDAwIDAwIDEwIDAwIDAwIDAwIDIwIDAwJwogJzAwIDAwIDAxIDAwIDA0IDAwIDAwIDAwIDAwIDAwIEMwIDAwIDAwIDAwIDAwIDAwJwogJzAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwJwogJzAwIDAwIDAwIDAwIDgwIDAwIDAwIDgwIDAwIDAwIDAwIDgwIDgwIDAwIDgwIDAwJwogJzAwIDAwIDgwIDAwIDgwIDAwIDgwIDgwIDAwIDAwIEMwIEMwIEMwIDAwIDgwIDgwJwogJzgwIDAwIDAwIDAwIEZGIDAwIDAwIEZGIDAwIDAwIDAwIEZGIEZGIDAwIEZGIDAwJwogJzAwIDAwIEZGIDAwIEZGIDAwIEZGIEZGIDAwIDAwIEZGIEZGIEZGIDAwIDAwIDAwJwogJzAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDg4IDg4JwogJzg4IDg4IDg4IDg4IDg4IDgwIDg3IEZGIEZGIEZGIEZGIEZGIEZGIDgwIDg3IEZGJwogJ0ZGIEZGIEZGIEZGIEZGIDgwIDg3IEZGIEZGIEZGIEZGIEZGIEZGIDgwIDg3IEZGJwogJ0ZGIEZGIEZGIEZGIEZGIDgwIDg3IEZGIEZGIEZGIEZGIEZGIEZGIDgwIDg3IEZGJwogJ0ZGIEZGIEZGIEZGIEZGIDgwIDg3IEZGIEZGIEZGIEZGIEZGIEZGIDgwIDg3IDg4JwogJzg4IDg4IDg4IDg4IDg4IDgwIDg3IDQ0IDQ0IDQ0IEYwIEYwIEYwIDgwIDg3IDQ0JwogJzQ0IDQ0IDQ0IDQ0IDQ0IDgwIDg3IDc3IDc3IDc3IDc3IDc3IDc3IDgwIDg4IDg4JwogJzg4IDg4IDg4IDg4IDg4IDg4IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIEZGIEZGJwogJzAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwJwogJzAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwJwogJzAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwJwogJzAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIEZGIEZGIDAwIDAwJwp9ICovCgojaWZuZGVmIF9NQUMKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gVmVyc2lvbgovLwoKVlNfVkVSU0lPTl9JTkZPIFZFUlNJT05JTkZPCiBGSUxFVkVSU0lPTiAxLDAsMCwxCiBQUk9EVUNUVkVSU0lPTiAxLDAsMCwxCiBGSUxFRkxBR1NNQVNLIDB4M2ZMCiNpZmRlZiBfREVCVUcKIEZJTEVGTEFHUyAweDFMCiNlbHNlCiBGSUxFRkxBR1MgMHgwTAojZW5kaWYKIEZJTEVPUyAweDQwMDA0TAogRklMRVRZUEUgMHgxTAogRklMRVNVQlRZUEUgMHgwTApCRUdJTgogICAgQkxPQ0sgIlN0cmluZ0ZpbGVJbmZvIgogICAgQkVHSU4KICAgICAgICBCTE9DSyAiMDQwOTA0YjAiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgVkFMVUUgIkNvbXBhbnlOYW1lIiwgIkJyaWFuIFBhbG1lclwwIgogICAgICAgICAgICBWQUxVRSAiRmlsZURlc2NyaXB0aW9uIiwgIlRhc2sgTWFuYWdlciBieSBCcmlhbiBQYWxtZXJcMCIKICAgICAgICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwgIjEuMC4wLjFcMCIKICAgICAgICAgICAgVkFMVUUgIkludGVybmFsTmFtZSIsICJ0YXNrbWdyXDAiCiAgICAgICAgICAgIFZBTFVFICJMZWdhbENvcHlyaWdodCIsICJDb3B5cmlnaHQgqSBCcmlhbiBQYWxtZXIgMjAwMFwwIgogICAgICAgICAgICBWQUxVRSAiT3JpZ2luYWxGaWxlbmFtZSIsICJ0YXNrbWdyLmV4ZVwwIgogICAgICAgICAgICBWQUxVRSAiUHJvZHVjdE5hbWUiLCAiVGFzayBNYW5hZ2VyIGJ5IEJyaWFuIFBhbG1lclwwIgogICAgICAgICAgICBWQUxVRSAiUHJvZHVjdFZlcnNpb24iLCAiMS4wLjAuMVwwIgogICAgICAgIEVORAogICAgRU5ECiAgICBCTE9DSyAiVmFyRmlsZUluZm8iCiAgICBCRUdJTgogICAgICAgIFZBTFVFICJUcmFuc2xhdGlvbiIsIDB4NDA5LCAxMjAwCiAgICBFTkQKRU5ECgojZW5kaWYgICAgLy8gIV9NQUMKCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBCaXRtYXAKLy8KLyogQklOUkVTIHRyYXltYXNrLmJtcCAqLwpJREJfVFJBWU1BU0sgICAgICAgICAgICBCSVRNQVAgIERJU0NBUkRBQkxFIHRyYXltYXNrLmJtcAovKiB7CiAnNDIgNEQgRjYgMDAgMDAgMDAgMDAgMDAgMDAgMDAgNzYgMDAgMDAgMDAgMjggMDAnCiAnMDAgMDAgMTAgMDAgMDAgMDAgMTAgMDAgMDAgMDAgMDEgMDAgMDQgMDAgMDAgMDAnCiAnMDAgMDAgODAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgODAgMDAgMDAgODAnCiAnMDAgMDAgMDAgODAgODAgMDAgODAgMDAgMDAgMDAgODAgMDAgODAgMDAgODAgODAnCiAnMDAgMDAgQzAgQzAgQzAgMDAgODAgODAgODAgMDAgMDAgMDAgRkYgMDAgMDAgRkYnCiAnMDAgMDAgMDAgRkYgRkYgMDAgRkYgMDAgMDAgMDAgRkYgMDAgRkYgMDAgRkYgRkYnCiAnMDAgMDAgRkYgRkYgRkYgMDAgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYgRkYnCiAnRkYgRkYgRkYgRkYgRkYgRkYgRkYgMDAgMDAgMDAgMDAgMDAgMDAgRkYgRkYgMDAnCiAnMDAgMDAgMDAgMDAgMDAgRkYgRkYgMDAgMDAgMDAgMDAgMDAgMDAgRkYgRkYgMDAnCiAnMDAgMDAgMDAgMDAgMDAgRkYgRkYgMDAgMDAgMDAgMDAgMDAgMDAgRkYgRkYgMDAnCiAnMDAgMDAgMDAgMDAgMDAgRkYgRkYgMDAgMDAgMDAgMDAgMDAgMDAgRkYgRkYgMDAnCiAnMDAgMDAgMDAgMDAgMDAgRkYgRkYgMDAgMDAgMDAgMDAgMDAgMDAgRkYgRkYgMDAnCiAnMDAgMDAgMDAgMDAgMDAgRkYgRkYgMDAgMDAgMDAgMDAgMDAgMDAgRkYgRkYgMDAnCiAnMDAgMDAgMDAgMDAgMDAgRkYgRkYgMDAgMDAgMDAgMDAgMDAgMDAgRkYgRkYgRkYnCiAnRkYgRkYgRkYgRkYgRkYgRkYnCn0gKi8KICAgICAgICAKLyogQklOUkVTIHRyYXlpY29uLmJtcCAqLwpJREJfVFJBWUlDT04gICAgICAgICAgICBCSVRNQVAgIERJU0NBUkRBQkxFIHRyYXlpY29uLmJtcAovKiB7CiAnNDIgNEQgRjYgMDAgMDAgMDAgMDAgMDAgMDAgMDAgNzYgMDAgMDAgMDAgMjggMDAnCiAnMDAgMDAgMTAgMDAgMDAgMDAgMTAgMDAgMDAgMDAgMDEgMDAgMDQgMDAgMDAgMDAnCiAnMDAgMDAgODAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgODAgMDAgMDAgODAnCiAnMDAgMDAgMDAgODAgODAgMDAgODAgMDAgMDAgMDAgODAgMDAgODAgMDAgODAgODAnCiAnMDAgMDAgQzAgQzAgQzAgMDAgODAgODAgODAgMDAgMDAgMDAgRkYgMDAgMDAgRkYnCiAnMDAgMDAgMDAgRkYgRkYgMDAgRkYgMDAgMDAgMDAgRkYgMDAgRkYgMDAgRkYgRkYnCiAnMDAgMDAgRkYgRkYgRkYgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAgMDAgOEYgRkYgRkYgRkYgRkYgRkYgMDAgMDAgODAnCiAnMjAgMjAgMjAgMjAgMkYgMDAgMDAgODIgMjIgMjIgMjIgMjIgMkYgMDAgMDAgODAnCiAnMjAgMjAgMjAgMjAgMkYgMDAgMDAgODIgMjIgMjIgMjIgMjIgMkYgMDAgMDAgODAnCiAnMjAgMjAgMjAgMjAgMkYgMDAgMDAgODIgMjIgMjIgMjIgMjIgMkYgMDAgMDAgODAnCiAnMjAgMjAgMjAgMjAgMkYgMDAgMDAgODIgMjIgMjIgMjIgMjIgMkYgMDAgMDAgODAnCiAnMjAgMjAgMjAgMjAgMkYgMDAgMDAgODIgMjIgMjIgMjIgMjIgMkYgMDAgMDAgODAnCiAnMjAgMjAgMjAgMjAgMkYgMDAgMDAgODggODggODggODggODggOEYgMDAgMDAgMDAnCiAnMDAgMDAgMDAgMDAgMDAgMDAnCn0gKi8KCi8qIEJJTlJFUyBmb250LmJtcCAqLwpJREJfRk9OVCAgICAgICAgICAgICAgICBCSVRNQVAgIERJU0NBUkRBQkxFIGZvbnQuYm1wCi8qIHsKICc0MiA0RCA4NiAwMiAwMCAwMCAwMCAwMCAwMCAwMCA3NiAwMCAwMCAwMCAyOCAwMCcKICcwMCAwMCA2MCAwMCAwMCAwMCAwQiAwMCAwMCAwMCAwMSAwMCAwNCAwMCAwMCAwMCcKICcwMCAwMCAxMCAwMiAwMCAwMCA3NCAxMiAwMCAwMCA3NCAxMiAwMCAwMCAwMCAwMCcKICcwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCA4MCAwMCAwMCA4MCcKICcwMCAwMCAwMCA4MCA4MCAwMCA4MCAwMCAwMCAwMCA4MCAwMCA4MCAwMCA4MCA4MCcKICcwMCAwMCBDMCBDMCBDMCAwMCA4MCA4MCA4MCAwMCAwMCAwMCBGRiAwMCAwMCBGRicKICcwMCAwMCAwMCBGRiBGRiAwMCBGRiAwMCAwMCAwMCBGRiAwMCBGRiAwMCBGRiBGRicKICcwMCAwMCBGRiBGRiBGRiAwMCBBQSBBQSBBQSBBMCAwMCAwMCAwQSAwMCBBQSBBQScKICdBQSBBMCBBQSBBQSBBQSBBMCAwMCAwMCAwMCBBMCBBQSBBQSBBQSBBMCBBQSBBQScKICdBQSBBMCAwMCAwMCAwMCBBMCBBQSBBQSBBQSBBMCBBQSBBQSBBQSBBMCBBMCAwMCcKICcwMCBBMCAwMCAwMCAwMCAwMCBBMCAwMCAwMCBBMCAwMCAwMCAwQSAwMCBBMCAwMCcKICcwMCAwMCAwMCAwMCAwMCBBMCAwMCAwMCAwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCcKICcwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCcKICcwQSAwMCAwMCAwMCBBQSAwMCBBMCAwMCAwMCBBMCAwMCAwMCAwQSAwMCBBMCAwMCcKICcwMCAwMCAwMCAwMCAwMCBBMCAwMCAwMCAwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCcKICcwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCcKICdBMCAwMCBBMCAwQSAwMCBBMCBBMCAwMCAwMCBBMCAwMCAwMCAwQSAwMCBBMCAwMCcKICcwMCAwMCAwMCAwMCAwMCBBMCAwMCAwMCAwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCcKICcwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCAwMCAwMCAwMCBBMCBBMCAwQScKICcwMCAwMCAwQSAwMCBBQSAwMCBBMCAwMCAwMCBBMCAwMCAwMCAwQSAwMCBBMCAwMCcKICcwMCAwMCAwMCAwMCAwMCBBMCAwMCAwMCAwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCcKICcwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCAwMCAwMCAwMCBBMCBBMCBBMCcKICcwMCAwMCAwMCBBMCAwMCAwMCBBMCAwMCAwMCBBMCAwMCAwMCAwQSAwMCBBQSBBQScKICdBQSBBMCAwQSBBQSBBQSBBMCBBQSBBQSBBQSBBMCBBQSBBQSBBQSBBMCBBQSBBQScKICdBQSBBMCAwMCAwMCAwMCBBMCBBQSBBQSBBQSBBMCBBQSBBQSBBQSBBMCBBQSAwMCcKICcwMCAwMCAwMCAwQSAwMCAwMCBBMCAwMCAwMCBBMCAwMCAwMCAwQSAwMCAwMCAwMCcKICcwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCBBMCAwMCAwMCAwMCBBMCAwMCcKICcwMCAwMCAwMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCBBMCBBMCcKICcwMCAwMCAwMCAwMCBBMCAwMCBBMCAwMCAwMCBBMCAwMCAwMCAwQSAwMCAwMCAwMCcKICcwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCBBMCAwMCAwMCAwMCBBMCAwMCcKICcwMCAwMCAwMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCBBMCAwQScKICcwMCAwMCAwQSBBMCAwQSAwMCBBMCAwMCAwMCBBMCAwMCAwMCAwQSAwMCAwMCAwMCcKICcwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCBBMCAwMCAwMCAwMCBBMCAwMCcKICcwMCAwMCAwMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCBBMCAwMCcKICdBMCAwMCBBMCAwQSAwMCBBMCBBMCAwMCAwMCBBMCAwMCAwMCAwQSAwMCAwMCAwMCcKICcwMCBBMCAwMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCBBMCAwMCAwMCAwMCBBMCAwMCcKICcwMCAwMCAwMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCBBMCAwMCAwMCBBMCBBMCAwMCcKICcwQSAwMCAwQSBBMCAwMCAwMCBBQSBBQSBBQSBBMCAwMCAwMCAwQSAwMCBBQSBBQScKICdBQSBBMCBBQSBBQSBBQSBBMCBBMCAwMCAwMCBBMCBBQSBBQSBBQSBBMCBBQSBBQScKICdBQSBBMCBBQSBBQSBBQSBBMCBBQSBBQSBBQSBBMCBBQSBBQSBBQSBBMCBBMCAwMCcKICcwMCBBMCAwMCAwMCAwMCAwMCcKfSAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gU3RyaW5nIFRhYmxlCi8vCgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0FQUF9USVRMRSAgICAgICAgICAgIlRhc2sgTWFuYWdlciIKICAgIElEQ19UQVNLTUdSICAgICAgICAgICAgICJUYXNrIE1hbmFnZXIiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEX0ZJTEVfTkVXICAgICAgICAgICAgICJSdW5zIGEgbmV3IHByb2dyYW0iCiAgICBJRF9PUFRJT05TX0FMV0FZU09OVE9QICAiVGFzayBNYW5hZ2VyIHJlbWFpbnMgaW4gZnJvbnQgb2YgYWxsIG90aGVyIHdpbmRvd3MgdW5sZXNzIG1pbmltaXplZCIKICAgIElEX09QVElPTlNfTUlOSU1JWkVPTlVTRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRhc2sgTWFuYWdlciBpcyBtaW5pbWl6ZWQgd2hlbiBhIFN3aXRjaFRvIG9wZXJhdGlvbiBpcyBwZXJmb3JtZWQiCiAgICBJRF9PUFRJT05TX0hJREVXSEVOTUlOSU1JWkVEICJIaWRlIHRoZSBUYXNrIE1hbmFnZXIgd2hlbiBpdCBpcyBtaW5pbWl6ZWQiCiAgICBJRF9WSUVXX1JFRlJFU0ggICAgICAgICAiRm9yY2UgVGFzayBNYW5hZ2VyIHRvIHVwZGF0ZSBub3csIHJlZ2FyZGxlc3Mgb2YgVXBkYXRlIFNwZWVkIHNldHRpbmciCiAgICBJRF9WSUVXX0xBUkdFICAgICAgICAgICAiRGlzcGxheXMgdGFza3MgYnkgdXNpbmcgbGFyZ2UgaWNvbnMiCiAgICBJRF9WSUVXX1NNQUxMICAgICAgICAgICAiRGlzcGxheXMgdGFza3MgYnkgdXNpbmcgc21hbGwgaWNvbnMiCiAgICBJRF9WSUVXX0RFVEFJTFMgICAgICAgICAiRGlzcGxheXMgaW5mb3JtYXRpb24gYWJvdXQgZWFjaCB0YXNrIgogICAgSURfVklFV19VUERBVEVTUEVFRF9ISUdIICJVcGRhdGVzIHRoZSBkaXNwbGF5IHR3aWNlIHBlciBzZWNvbmQiCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX05PUk1BTCAiVXBkYXRlcyB0aGUgZGlzcGxheSBldmVyeSB0d28gc2Vjb25kcyIKICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfTE9XICJVcGRhdGVzIHRoZSBkaXNwbGF5IGV2ZXJ5IGZvdXIgc2Vjb25kcyIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURfVklFV19VUERBVEVTUEVFRF9QQVVTRUQgIkRvZXMgbm90IGF1dG9tYXRpY2FsbHkgdXBkYXRlIgogICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGlsZXMgdGhlIHdpbmRvd3MgaG9yaXpvbnRhbGx5IG9uIHRoZSBkZXNrdG9wIgogICAgSURfV0lORE9XU19USUxFVkVSVElDQUxMWSAiVGlsZXMgdGhlIHdpbmRvd3MgdmVydGljYWxseSBvbiB0aGUgZGVza3RvcCIKICAgIElEX1dJTkRPV1NfTUlOSU1JWkUgICAgICJNaW5pbWl6ZXMgdGhlIHdpbmRvd3MiCiAgICBJRF9XSU5ET1dTX01BWElNSVpFICAgICAiTWF4aW1pemVzIHRoZSB3aW5kb3dzIgogICAgSURfV0lORE9XU19DQVNDQURFICAgICAgIkNhc2NhZGVzIHRoZSB3aW5kb3dzIGRpYWdvbmFsbHkgb24gdGhlIGRlc2t0b3AiCiAgICBJRF9XSU5ET1dTX0JSSU5HVE9GUk9OVCAiQnJpbmdzIHRoZSB3aW5kb3cgZnJvbnQsIGJ1dCBkb2VzIG5vdCBzd2l0Y2ggdG8gaXQiCiAgICBJRF9IRUxQX1RPUElDUyAgICAgICAgICAiRGlzcGxheXMgVGFzayBNYW5hZ2VyIGhlbHAgdG9waWNzIgogICAgSURfSEVMUF9BQk9VVCAgICAgICAgICAgIkRpc3BsYXlzIHByb2dyYW0gaW5mb3JtYXRpb24sIHZlcnNpb24gbnVtYmVyLCBhbmQgY29weXJpZ2h0IgogICAgSURfRklMRV9FWElUICAgICAgICAgICAgIkV4aXRzIHRoZSBUYXNrIE1hbmFnZXIgYXBwbGljYXRpb24iCiAgICBJRF9PUFRJT05TX1NIT1cxNkJJVFRBU0tTCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2hvd3MgMTYtYml0IHRhc2tzIHVuZGVyIHRoZSBhc3NvY2lhdGVkIG50dmRtLmV4ZSIKICAgIElEX1ZJRVdfU0VMRUNUQ09MVU1OUyAgICJTZWxlY3Qgd2hpY2ggY29sdW1ucyB3aWxsIGJlIHZpc2libGUgb24gdGhlIFByb2Nlc3MgcGFnZSIKICAgIElEX1ZJRVdfU0hPV0tFUk5FTFRJTUVTICJEaXNwbGF5cyBrZXJuZWwgdGltZSBpbiB0aGUgcGVyZm9ybWFuY2UgZ3JhcGhzIgogICAgSURfVklFV19DUFVISVNUT1JZX09ORUdSQVBIQUxMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQSBzaW5nbGUgaGlzdG9yeSBncmFwaCBzaG93cyB0b3RhbCBDUFUgdXNhZ2UiCiAgICBJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhQRVJDUFUgIkVhY2ggQ1BVIGhhcyBpdHMgb3duIGhpc3RvcnkgZ3JhcGgiCiAgICBJRF9BUFBMSUNBVElPTl9QQUdFX1NXSVRDSFRPCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQnJpbmdzIGEgdGFzayB0byB0aGUgZm9yZWdyb3VuZCwgc3dpdGNoIGZvY3VzIHRvIHRoYXQgdGFzayIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURfRU5EVEFTSyAgICAgICAgICAgICAgIlRlbGxzIHRoZSBzZWxlY3RlZCB0YXNrcyB0byBjbG9zZSIKICAgIElEX0dPVE9QUk9DRVNTICAgICAgICAgICJTd2l0Y2hlcyB0aGUgZm9jdXMgdG8gdGhlIHByb2Nlc3Mgb2YgdGhlIHNlbGVjdGVkIHRhc2siCiAgICBJRF9SRVNUT1JFICAgICAgICAgICAgICAiUmVzdG9yZXMgdGhlIFRhc2sgTWFuYWdlciBmcm9tIGl0cyBoaWRkZW4gc3RhdGUiCiAgICBJRF9QUk9DRVNTX1BBR0VfRU5EUFJPQ0VTUyAiUmVtb3ZlcyB0aGUgcHJvY2VzcyBmcm9tIHRoZSBzeXN0ZW0iCiAgICBJRF9QUk9DRVNTX1BBR0VfRU5EUFJPQ0VTU1RSRUUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSZW1vdmVzIHRoaXMgcHJvY2VzcyBhbmQgYWxsIGRlc2NlbmRhbnRzIGZyb20gdGhlIHN5c3RlbSIKICAgIElEX1BST0NFU1NfUEFHRV9ERUJVRyAgICJBdHRhY2hlcyB0aGUgZGVidWdnZXIgdG8gdGhpcyBwcm9jZXNzIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVEFGRklOSVRZCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29udHJvbHMgd2hpY2ggcHJvY2Vzc29ycyB0aGUgcHJvY2VzcyB3aWxsIGJlIGFsbG93ZWQgdG8gcnVuIG9uIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX1JFQUxUSU1FCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2V0cyBwcm9jZXNzIHRvIHRoZSBSRUFMVElNRSBwcmlvcml0eSBjbGFzcyIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9ISUdIICJTZXRzIHByb2Nlc3MgdG8gdGhlIEhJR0ggcHJpb3JpdHkgY2xhc3MiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfQUJPVkVOT1JNQUwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTZXRzIHByb2Nlc3MgdG8gdGhlIEFCT1ZFIE5PUk1BTCBwcmlvcml0eSBjbGFzcyIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9OT1JNQUwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTZXRzIHByb2Nlc3MgdG8gdGhlIE5PUk1BTCBwcmlvcml0eSBjbGFzcyIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9CRUxPV05PUk1BTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNldHMgcHJvY2VzcyB0byB0aGUgQkVMT1cgTk9STUFMIHByaW9yaXR5IGNsYXNzIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0xPVyAiU2V0cyBwcm9jZXNzIHRvIHRoZSBMT1cgcHJpb3JpdHkgY2xhc3MiCiAgICBJRFNfTElDRU5TRSAgICAgICAgICAgICAiVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuXHJcblRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcblxyXG5Zb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcsIFVTQS4iCkVORAoKI2VuZGlmICAgIC8vIEVuZ2xpc2ggKFUuUy4pIHJlc291cmNlcwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgojaWZuZGVmIEFQU1RVRElPX0lOVk9LRUQKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDMgcmVzb3VyY2UuCi8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KI2VuZGlmICAgIC8vIG5vdCBBUFNUVURJT19JTlZPS0VECg==