LyoKICogIFRhc2sgTWFuYWdlcgogKiAgR2VybWFuIExhbmd1YWdlIFN1cHBvcnQKICoKICogIENvcHlyaWdodCAyMDA1IEhlbm5pbmcgR2VyaGFyZHQKICoKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19HRVJNQU4sIFNVQkxBTkdfTkVVVFJBTAoKLyoKIE1lbnUKKi8KCklEUl9UQVNLTUFOQUdFUiBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiJkRhdGVpIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk5ldWVyIFRhc2sgKEF1c2b8aHJlbi4uLikiLCAgICAgICAgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJUYXNrLU1hbmFnZXIgJkJlZW5kZW4iLCAgICAgICAgICBJRF9GSUxFX0VYSVQKICAgIEVORAogICAgUE9QVVAgIiZPcHRpb25lbiIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZJbW1lciBpbSBWb3JkZXJncnVuZCIsICAgICAgICAgICAgICBJRF9PUFRJT05TX0FMV0FZU09OVE9QCiAgICAgICAgLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIk5hY2ggUHJvZ3JhbW1zdGFydCAmbWluaW1pZXJlbiIsICAgICAgICAgICAgSURfT1BUSU9OU19NSU5JTUlaRU9OVVNFCiAgICAgICAgLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZWZXJzdGVja2VuLCB3ZW5uIG1pbmltaWVydCIsICAgICAgICBJRF9PUFRJT05TX0hJREVXSEVOTUlOSU1JWkVECiAgICAgICAgLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiYxNi1iaXQtVGFza3MgYW56ZWlnZW4iLCAgICAgICAgICBJRF9PUFRJT05TX1NIT1cxNkJJVFRBU0tTCiAgICAgICAgLCBDSEVDS0VECiAgICBFTkQKICAgIFBPUFVQICImQW5zaWNodCIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZBa3R1YWxpc2llcmVuIiwgICAgICAgICAgICAgICAgSURfVklFV19SRUZSRVNICiAgICAgICAgUE9QVVAgIkEma3R1YWxpc2llcnVuZ3NnZXNjaHdpbmRpZ2tlaXQiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZIb2NoIiwgICAgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfSElHSAogICAgICAgICAgICBNRU5VSVRFTSAiJk5vcm1hbCIsICAgICAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9OT1JNQUwKICAgICAgICAgICAgLCBDSEVDS0VECiAgICAgICAgICAgIE1FTlVJVEVNICJOaWUmZHJpZyIsICAgICAgICAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9MT1cKICAgICAgICAgICAgTUVOVUlURU0gIiZBbmdlaGFsdGVuIiwgICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX1VQREFURVNQRUVEX1BBVVNFRAoKICAgICAgICBFTkQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkdyb99lIFN5bWJvbGUiLCAgICAgICAgICAgICAgICBJRF9WSUVXX0xBUkdFCiAgICAgICAgTUVOVUlURU0gIiZLbGVpbmUgU3ltYm9sZSIsICAgICAgICAgICAgICAgIElEX1ZJRVdfU01BTEwKICAgICAgICBNRU5VSVRFTSAiJkRldGFpbHMiLCAgICAgICAgICAgICAgICAgICAgSURfVklFV19ERVRBSUxTLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZTcGFsdGVuIGF1c3fkaGxlbi4uLiIsICAgICAgICAgIElEX1ZJRVdfU0VMRUNUQ09MVU1OUwogICAgICAgIFBPUFVQICImQ1BVIFZlcmxhdWYiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZFaW4gR3JhcGgsIEFsbGUgQ1BVcyIsICAgICAgICBJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhBTEwKCiAgICAgICAgICAgIE1FTlVJVEVNICJFaW4gR3JhcGggJnBybyBDUFUiLCAgICAgICAgICBJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhQRVJDUFUKICAgICAgICAgICAgLCBDSEVDS0VECiAgICAgICAgRU5ECiAgICAgICAgTUVOVUlURU0gIksmZXJuZWx6ZWl0ZW4gYW56ZWlnZW4iLCAgICAgICAgICBJRF9WSUVXX1NIT1dLRVJORUxUSU1FUwogICAgRU5ECiAgICBQT1BVUCAiJkZlbnN0ZXIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICIm3GJlcmVpbmFuZGVyIiwgICAgICAgICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICAgICAgTUVOVUlURU0gIiZOZWJlbmVpbmFuZGVyIiwgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICAgICAgTUVOVUlURU0gIiZNaW5pbWllcmVuIiwgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NSU5JTUlaRQogICAgICAgIE1FTlVJVEVNICJNYSZ4aW1pZXJlbiIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKICAgICAgICBNRU5VSVRFTSAiSGludGVyJmVpbmFuZGVyIiwgICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfQ0FTQ0FERQogICAgICAgIE1FTlVJVEVNICImSW4gZGVuIFZvcmRlcmdydW5kIGhvbGVuIiwgICAgICAgICAgICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQKICAgIEVORAogICAgUE9QVVAgIiZIaWxmZSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIlRhc2stTWFuYWdlciAmSGlsZmV0aGVtZW4iLCAgIElEX0hFTFBfVE9QSUNTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIibcYmVyIFRhc2stTWFuYWdlciIsICAgICAgICAgSURfSEVMUF9BQk9VVAogICAgRU5ECkVORAoKSURSX1dJTkRPV1NNRU5VIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIE1FTlVJVEVNICIm3GJlcmVpbmFuZGVyIiwgICAgICAgICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICBNRU5VSVRFTSAiJk5lYmVuZWluYW5kZXIiLCAgICAgICAgICAgIElEX1dJTkRPV1NfVElMRVZFUlRJQ0FMTFkKICAgIE1FTlVJVEVNICImTWluaW1pZXJlbiIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUlOSU1JWkUKICAgIE1FTlVJVEVNICJNYSZ4aW1pZXJlbiIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKICAgIE1FTlVJVEVNICJIaW50ZXImZWluYW5kZXIiLCAgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19DQVNDQURFCiAgICBNRU5VSVRFTSAiJkluIGRlbiBWb3JkZXJncnVuZCBob2xlbiIsICAgICAgICAgICAgIElEX1dJTkRPV1NfQlJJTkdUT0ZST05UCkVORAoKSURSX0FQUExJQ0FUSU9OX1BBR0VfQ09OVEVYVDEgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIkRVTU1ZIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk5ldWVuIFRhc2sgKEF1c2b8aHJlbi4uLikiLCAgICAgICAgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImR3Jv32UgU3ltYm9sZSIsICAgICAgICAgICAgICAgIElEX1ZJRVdfTEFSR0UKICAgICAgICBNRU5VSVRFTSAiJktsZWluZSBTeW1ib2xlIiwgICAgICAgICAgICAgICAgSURfVklFV19TTUFMTAogICAgICAgIE1FTlVJVEVNICImRGV0YWlscyIsICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX0RFVEFJTFMsIENIRUNLRUQKICAgIEVORApFTkQKCklEUl9BUFBMSUNBVElPTl9QQUdFX0NPTlRFWFQyIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICJEVU1NWSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZXZWNoc2VsbiB6dSIsICAgICAgICAgICAgICAgICAgSURfQVBQTElDQVRJT05fUEFHRV9TV0lUQ0hUTwogICAgICAgIE1FTlVJVEVNICImSW4gZGVuIFZvcmRlcmdydW5kIGhvbGVuIiwgICAgICAgICAgICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJtxiZXJlaW5hbmRlciIsICAgICAgICAgIElEX1dJTkRPV1NfVElMRUhPUklaT05UQUxMWQogICAgICAgIE1FTlVJVEVNICImTmViZW5laW5hbmRlciIsICAgICAgICAgICAgSURfV0lORE9XU19USUxFVkVSVElDQUxMWQogICAgICAgIE1FTlVJVEVNICImTWluaW1pZXJlbiIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUlOSU1JWkUKICAgICAgICBNRU5VSVRFTSAiTWEmeGltaWVyZW4iLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01BWElNSVpFCiAgICAgICAgTUVOVUlURU0gIkhpbnRlciZlaW5hbmRlciIsICAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVGFzayAmYmVlbmRlbiIsICAgICAgICAgICAgICAgICAgIElEX0FQUExJQ0FUSU9OX1BBR0VfRU5EVEFTSwogICAgICAgIE1FTlVJVEVNICImR2VoZSB6dSBQcm96ZXNzIiwgICAgICAgICAgICAgIElEX0FQUExJQ0FUSU9OX1BBR0VfR09UT1BST0NFU1MKICAgIEVORApFTkQKCklEUl9UUkFZX1BPUFVQIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICJEVU1NWSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZXaWVkZXJoZXJzdGVsbGVuIiwgICAgICAgICAgICAgICBJRF9SRVNUT1JFCiAgICAgICAgTUVOVUlURU0gIiZTY2hsaWXfZW4iLCAgICAgICAgICAgICAgICAgICAgICBJRF9GSUxFX0VYSVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkltbWVyIGltIFZvcmRlcmdydW5kIiwgICAgICAgICAgIElEX09QVElPTlNfQUxXQVlTT05UT1AKICAgIEVORApFTkQKCklEUl9QUk9DRVNTX1BBR0VfQ09OVEVYVCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJQcm96ZXNzICZiZWVuZGVuIiwgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1MKICAgICAgICBNRU5VSVRFTSAiQmVlbmRlIFByb3plc3MmYmF1bSIsICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfRU5EUFJPQ0VTU1RSRUUKCiAgICAgICAgTUVOVUlURU0gIiZEZWJ1Z2dlbiIsICAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9ERUJVRwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICJTZXR6ZSAmUHJpb3JpdOR0IgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImRWNodHplaXQiLCAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfUkVBTFRJTUUKICAgICAgICAgICAgTUVOVUlURU0gIiZIb2NoIiwgICAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9ISUdICiAgICAgICAgICAgIE1FTlVJVEVNICImSPZoZXIgYWxzIE5vcm1hbCIsICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9BQk9WRU5PUk1BTAogICAgICAgICAgICBNRU5VSVRFTSAiJk5vcm1hbCIsICAgICAgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX05PUk1BTAogICAgICAgICAgICBNRU5VSVRFTSAiTiZpZWRyaWdlciBhbHMgTm9ybWFsIiwgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0JFTE9XTk9STUFMCiAgICAgICAgICAgIE1FTlVJVEVNICJOaWUmZHJpZyIsICAgICAgICAgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0xPVwogICAgICAgIEVORAogICAgICAgIE1FTlVJVEVNICJTZXR6ZSBBZmZpbml05HQuLi4iLCAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRBRkZJTklUWQoJICAgICAgTUVOVUlURU0gIkVkaXRpZXJlIERlYnVnJmthbuRsZS4uLiIsCUlEX1BST0NFU1NfUEFHRV9ERUJVR0NIQU5ORUxTCiAgICBFTkQKRU5ECgovKgogRGlhbG9nCiovCgpJRERfVEFTS01HUl9ESUFMT0cgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjQsIDI0NgpTVFlMRSBEU19DRU5URVIgfCBXU19NSU5JTUlaRUJPWCB8IFdTX01BWElNSVpFQk9YIHwgV1NfUE9QVVAgfAogICAgV1NfQ0xJUFNJQkxJTkdTIHwgV1NfQ0xJUENISUxEUkVOIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgV1NfVEhJQ0tGUkFNRQpDQVBUSU9OICJUYXNrIE1hbmFnZXIiCk1FTlUgSURSX1RBU0tNQU5BR0VSCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiVGFiMSIsSURDX1RBQiwiU3lzVGFiQ29udHJvbDMyIixXU19UQUJTVE9QLDMsMywyNTcsMjI4CkVORAoKSUREX0FQUExJQ0FUSU9OX1BBR0UgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNDcsIDIxMApTVFlMRSBEU19DT05UUk9MIHwgV1NfQ0hJTEQgfCBXU19DTElQQ0hJTERSRU4KRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJMaXN0MiIsSURDX0FQUExJU1QsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSE9XU0VMQUxXQVlTIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCw3LDcsMjMzLDE3NwogICAgUFVTSEJVVFRPTiAgICAgICImTmV1ZXIgVGFzay4uLiIsSURDX05FV1RBU0ssMTg3LDE4OSw1MywxNAogICAgUFVTSEJVVFRPTiAgICAgICImV2VjaHNlbG4genUiLElEQ19TV0lUQ0hUTywxMzEsMTg5LDUzLDE0LFdTX0RJU0FCTEVECiAgICBQVVNIQlVUVE9OICAgICAgIiZUYXNrIGJlZW5kZW4iLElEQ19FTkRUQVNLLDc1LDE4OSw1MywxNCxXU19ESVNBQkxFRApFTkQKCklERF9QUk9DRVNTX1BBR0UgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNDcsIDIxMApTVFlMRSBEU19DT05UUk9MIHwgV1NfQ0hJTEQgfCBXU19DTElQQ0hJTERSRU4KRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJMaXN0MiIsSURDX1BST0NFU1NMSVNULCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMgfCBMVlNfT1dORVJEQVRBIHwKICAgICAgICAgICAgICAgICAgICBXU19CT1JERVIgfCBXU19UQUJTVE9QLDcsNywyMzMsMTc3CiAgICBQVVNIQlVUVE9OICAgICAgIiZQcm96ZXNzIGJlZW5kZW4iLElEQ19FTkRQUk9DRVNTLDE3MSwxODksNjksMTQKICAgIENPTlRST0wgICAgICAgICAiUCZyb3plc3NlIGFsbGVyIEJlbnV0emVybiBhbnplaWdlbiIsSURDX1NIT1dBTExQUk9DRVNTRVMsCiAgICAgICAgICAgICAgICAgICAgIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDE5MSwxMjEsMTAKRU5ECgovKklERF9QRVJGT1JNQU5DRV9QQUdFIERJQUxPR0VYIDAsIDAsIDI0NywgMjEwKi8KSUREX1BFUkZPUk1BTkNFX1BBR0UgRElBTE9HRVggRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX0NPTlRST0wgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIkNQVS1BdXNsYXN0dW5nIixJRENfQ1BVX1VTQUdFX0ZSQU1FLDUsNSw2MCw1NCxXU19UQUJTVE9QLCBXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJTcGVpY2hlcmF1c2wuIixJRENfTUVNX1VTQUdFX0ZSQU1FLDUsNjMsNjAsNTQsQlNfTEVGVFRFWFQsIFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIkluc2dlc2FtdCIsSURDX1RPVEFMU19GUkFNRSw1LDEyMiwxMTEsMzksMCxXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJadWdlc2ljaGVydGVyIFNwZWljaGVyIChLKSIsSURDX0NPTU1JVF9DSEFSR0VfRlJBTUUsNSwxNjYsMTExLDM5LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiUGh5c2lrYWxpc2NoZXIgU3BlaWNoZXIgKEspIixJRENfUEhZU0lDQUxfTUVNT1JZX0ZSQU1FLDEzMSwxMjIsMTExLDM5LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiS2VybmVsc3BlaWNoZXIgKEspIixJRENfS0VSTkVMX01FTU9SWV9GUkFNRSwxMzEsMTY2LDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBMVEVYVCAgICAgICAgICAgIkhhbmRsZXMiLElEU19UT1RBTFNfSEFORExFX0NPVU5ULDEyLDEzMSwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIlRocmVhZHMiLElEU19UT1RBTFNfVEhSRUFEX0NPVU5ULDEyLDE0MCwyNyw4CiAgICBMVEVYVCAgICAgICAgICAgIlByb3plc3NlIixJRFNfVE9UQUxTX1BST0NFU1NfQ09VTlQsMTIsMTQ5LDM0LDgKICAgIEVESVRURVhUICAgICAgICBJRENfVE9UQUxTX0hBTkRMRV9DT1VOVCw2NSwxMzEsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1RPVEFMU19USFJFQURfQ09VTlQsNjUsMTQwLDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19UT1RBTFNfUFJPQ0VTU19DT1VOVCw2NSwxNDksNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBMVEVYVCAgICAgICAgICAgIkluc2dlc2FtdCIsSURTX0NPTU1JVF9DSEFSR0VfVE9UQUwsMTIsMTc1LDM3LDgKICAgIExURVhUICAgICAgICAgICAiR3Jlbnp3ZXJ0IixJRFNfQ09NTUlUX0NIQVJHRV9MSU1JVCwxMiwxODQsMzcsOAogICAgTFRFWFQgICAgICAgICAgICJNYXhpbWFsd2VydCIsSURTX0NPTU1JVF9DSEFSR0VfUEVBSywxMiwxOTMsNDUsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19DT01NSVRfQ0hBUkdFX1RPVEFMLDY1LDE3NCw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfQ09NTUlUX0NIQVJHRV9MSU1JVCw2NSwxODQsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0NPTU1JVF9DSEFSR0VfUEVBSyw2NSwxOTMsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBMVEVYVCAgICAgICAgICAgIkluc2dlc2FtdCIsSURTX1BIWVNJQ0FMX01FTU9SWV9UT1RBTCwxMzcsMTMxLDM3LDgKICAgIExURVhUICAgICAgICAgICAiRHVyY2hzY2huaXR0bGljaCIsSURTX1BIWVNJQ0FMX01FTU9SWV9BVkFJTEFCTEUsMTM3LDE0MCw2MCw4CiAgICBMVEVYVCAgICAgICAgICAgIlN5c3RlbWNhY2hlIixJRFNfUEhZU0lDQUxfTUVNT1JZX1NZU1RFTV9DQUNIRSwxMzcsMTQ5LDQ2LDgKICAgIEVESVRURVhUICAgICAgICBJRENfUEhZU0lDQUxfTUVNT1JZX1RPVEFMLDE4NSwxMzEsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BIWVNJQ0FMX01FTU9SWV9BVkFJTEFCTEUsMjA1LDE0MCwyOCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfUEhZU0lDQUxfTUVNT1JZX1NZU1RFTV9DQUNIRSwxODUsMTQ5LDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgTFRFWFQgICAgICAgICAgICJJbnNnZXNhbXQiLElEU19LRVJORUxfTUVNT1JZX1RPVEFMLDEzNywxNzQsMzcsOAogICAgTFRFWFQgICAgICAgICAgICJBdXNnZWxhZ2VydCIsSURTX0tFUk5FTF9NRU1PUllfUEFHRUQsMTM3LDE4NCw2NCw4CiAgICBMVEVYVCAgICAgICAgICAgIk5pY2h0IGF1c2dlbGFnZXJ0IixJRFNfS0VSTkVMX01FTU9SWV9OT05QQUdFRCwxMzcsMTkzLDY4LDgKICAgIEVESVRURVhUICAgICAgICBJRENfS0VSTkVMX01FTU9SWV9UT1RBTCwxODUsMTc0LDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19LRVJORUxfTUVNT1JZX1BBR0VELDE4NSwxODQsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0tFUk5FTF9NRU1PUllfTk9OUEFHRUQsMTk1LDE5MywzOCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEdST1VQQk9YICAgICAgICAiVmVybGF1ZiBkZXIgQ1BVLUF1c2xhc3R1bmciLElEQ19DUFVfVVNBR0VfSElTVE9SWV9GUkFNRSw3NCw1LDE2OCw1NCwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIlZlcmxhdWYgZGVyIFNwZWljaGVyYXVzbGFzdHVuZyIsSURDX01FTU9SWV9VU0FHRV9ISVNUT1JZX0ZSQU1FLDc0LDYzLDE2OCw1NCwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBQVVNIQlVUVE9OICAgICAgIkNQVS1BdXNsYXN0dW5nc2FuemVpZ2UiLElEQ19DUFVfVVNBR0VfR1JBUEgsMTIsMTcsNDcsMzcsMCwKCQkgICAgV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJTcGVpY2hlcmF1c2xhc3R1bmdhbnplaWdlIixJRENfTUVNX1VTQUdFX0dSQVBILDEyLDc1LDQ3LDM3LDAsCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJDUFUtQXVzbGFzdHVuZ3N2ZXJsYXVmIixJRENfQ1BVX1VTQUdFX0hJU1RPUllfR1JBUEgsODEsMTcsCiAgICAgICAgICAgICAgICAgICAgMTUzLDM3LDAsV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJTcGVpY2hlcmF1c2xhc3R1bmdzdmVybGF1ZiIsSURDX01FTV9VU0FHRV9ISVNUT1JZX0dSQVBILDgxLDc1LAogICAgICAgICAgICAgICAgICAgIDE1MywzNywwLFdTX0VYX0NMSUVOVEVER0UKRU5ECgpJRERfREVCVUdfQ0hBTk5FTFNfRElBTE9HIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjQ3LCAyMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiRGVidWdrYW7kbGUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiTGlzdDIiLElEQ19ERUJVR19DSEFOTkVMU19MSVNULCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QIHwKCQkgICAgTFZTX1NPUlRBU0NFTkRJTkcsNyw3LDIzMywxNzcKICAgIFBVU0hCVVRUT04gICAgICAiU2NobGll32VuIixJRE9LLDE3MSwxODksNjksMTQKRU5ECgpJRERfQUZGSU5JVFlfRElBTE9HIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjMxLCAxNTQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUHJvemVzc29yYWZmaW5pdOR0IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDEyMCwxMzMsNTAsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQWJicmVjaGVuIixJRENBTkNFTCwxNzQsMTMzLDUwLDE0CiAgICBMVEVYVCAgICAgICAgICAgIkRpZSBQcm96ZXNzb3JhZmZpbml05HRzZWluc3RlbGx1bmcga29udHJvbGxpZXJ0LCBhdWYgd2VsY2hlbiBDUFVzIGRlciBQcm96ZXNzIGRpZSBFcmxhdWJuaXMgaGF0LCBhdXNnZWb8aHJ0IHdlcmRlbiB6dSBr9m5uZW4uIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDUsNSwyMjAsMTYKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDAiLElEQ19DUFUwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsCiAgICAgICAgICAgICAgICAgICAgMTEsMjgsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDEiLElEQ19DUFUxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDQxLDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyIixJRENfQ1BVMiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw1NCwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMyIsSURDX0NQVTMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsNjcsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDQiLElEQ19DUFU0LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDgwLDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA1IixJRENfQ1BVNSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw5MywzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgNiIsSURDX0NQVTYsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsMTA2LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA3IixJRENfQ1BVNywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSwxMTksMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDgiLElEQ19DUFU4LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDYxLDI4LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA5IixJRENfQ1BVOSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw2MSw0MSwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTAiLElEQ19DUFUxMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw1NCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTEiLElEQ19DUFUxMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw2Nyw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTIiLElEQ19DUFUxMiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw4MCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTMiLElEQ19DUFUxMywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSw5Myw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTQiLElEQ19DUFUxNCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw2MSwxMDYsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE1IixJRENfQ1BVMTUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsMTE5LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxNiIsSURDX0NQVTE2LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiwyOCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTciLElEQ19DUFUxNywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsNDEsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE4IixJRENfQ1BVMTgsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDU0LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxOSIsSURDX0NQVTE5LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiw2Nyw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjAiLElEQ19DUFUyMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsODAsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDIxIixJRENfQ1BVMjEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDkzLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyMiIsSURDX0NQVTIyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiwxMDYsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDIzIixJRENfQ1BVMjMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDExOSw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjQiLElEQ19DUFUyNCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsMjgsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI1IixJRENfQ1BVMjUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDQxLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyNiIsSURDX0NQVTI2LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw1NCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjciLElEQ19DUFUyNywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsNjcsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI4IixJRENfQ1BVMjgsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDgwLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyOSIsSURDX0NQVTI5LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw5Myw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMzAiLElEQ19DUFUzMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsMTA2LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAzMSIsSURDX0NQVTMxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSwxMTksNDEsMTAKRU5ECgpJRERfQ09MVU1OU19ESUFMT0cgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNDUsIDE5OQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTcGFsdGVuIGF1c3fkaGxlbiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSyw4NCwxNzgsNTAsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQWJicmVjaGVuIixJRENBTkNFTCwxMzgsMTc4LDUwLDE0CiAgICBMVEVYVCAgICAgICAgICAgIlfkaGxlbiBTaWUgZGllIFNwYWx0ZW4gYXVzLCBkaWUgYXVmIGRlciBQcm96ZXNzLVNlaXRlIGRlcyBUYXNrLU1hbmFnZXJzIGVyc2NoZWluZW4gc29sbGVuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDcsNywxODEsMTcKICAgIENPTlRST0wgICAgICAgICAiJk5hbWUiLElEQ19JTUFHRU5BTUUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNywyOCw1NiwxMAogICAgQ09OVFJPTCAgICAgICAgICImUElEIChQcm96ZXNzLUlEKSIsSURDX1BJRCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDcsMzksODgsMTAKICAgIENPTlRST0wgICAgICAgICAiJkNQVS1BdXNsYXN0dW5nIixJRENfQ1BVVVNBR0UsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsNTAsOTAsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVLVomZWl0IixJRENfQ1BVVElNRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNyw2MSw0OCwxMAogICAgQ09OVFJPTCAgICAgICAgICJTJnBlaWNoZXJhdXNsYXN0dW5nIixJRENfTUVNT1JZVVNBR0UsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsNzIsOTUsMTAKICAgIENPTlRST0wgICAgICAgICAiJlZlcuRuZC4gZGVyIFNwZWljaGVyYXVzbGFzdHVuZyIsSURDX01FTU9SWVVTQUdFREVMVEEsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDgzLDExNSwxMAogICAgQ09OVFJPTCAgICAgICAgICImTWF4aW1hbGUgU3BlaWNoZXJhdXNsYXN0dW5nIixJRENfUEVBS01FTU9SWVVTQUdFLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNyw5NCwxMTUsMTAKICAgIENPTlRST0wgICAgICAgICAiU2VpdGVuJmZlaGxlciIsSURDX1BBR0VGQVVMVFMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTA1LDUzLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZCZW51dHplci1PYmpla3RlIixJRENfVVNFUk9CSkVDVFMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTE2LDkwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkUvQSAoTGVzZW4pIixJRENfSU9SRUFEUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxMjcsNDksMTAKICAgIENPTlRST0wgICAgICAgICAiRS9BIC0gQnl0ZXMgKExlc2VuKSIsSURDX0lPUkVBREJZVEVTLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNywxMzgsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiJlNpdHp1bmdzLUlEIixJRENfU0VTU0lPTklELCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDE0OSw1MCwxMAogICAgQ09OVFJPTCAgICAgICAgICJCZW51dHplciZuYW1lIixJRENfVVNFUk5BTUUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTYwLDgwLDEwCiAgICBDT05UUk9MICAgICAgICAgIlZlcuRuJmQuIGRlciBTZWl0ZW5mZWhsZXIiLElEQ19QQUdFRkFVTFRTREVMVEEsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMzIsMjgsNzIsMTAKICAgIENPTlRST0wgICAgICAgICAiJkdy9t9lIGRlcyB2aXJ0LiBTcGVpY2hlcnMiLElEQ19WSVJUVUFMTUVNT1JZU0laRSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEzMiwzOSwxMDUsMTAKICAgIENPTlRST0wgICAgICAgICAiQXVzJmdlbGFnZXJ0ZXIgUG9vbCIsSURDX1BBR0VEUE9PTCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTMyLDUwLDkwLDEwCiAgICBDT05UUk9MICAgICAgICAgIk5pY2gmdGF1c2dlbGFnZXJ0ZXIgUG9vbCIsSURDX05PTlBBR0VEUE9PTCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEzMiw2MSwxMDUsMTAKICAgIENPTlRST0wgICAgICAgICAiQmFzaXNwJnJpb3JpdOR0IixJRENfQkFTRVBSSU9SSVRZLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTMyLDcyLDU1LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZIYW5kbGUtQW56YWhsIixJRENfSEFORExFQ09VTlQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEzMiw4Myw1OSwxMAogICAgQ09OVFJPTCAgICAgICAgICImVGhyZWFkLUFuemFobCIsSURDX1RIUkVBRENPVU5ULCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMzIsOTQsNTksMTAKICAgIENPTlRST0wgICAgICAgICAiR0RJLU9iamVrdGUiLElEQ19HRElPQkpFQ1RTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMzIsMTA1LDkwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkUvQSAoU2NocmVpYmVuKSIsSURDX0lPV1JJVEVTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMzIsMTE2LDkwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkUvQSAtIEJ5dGVzIChTY2hyZWliZW4pIixJRENfSU9XUklURUJZVEVTLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTMyLDEyNywxMDUsMTAKICAgIENPTlRST0wgICAgICAgICAiRS9BIChBbmRlcmUpIixJRENfSU9PVEhFUiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTMyLDEzOCw5MCwxMAogICAgQ09OVFJPTCAgICAgICAgICJFL0EgLSBCeXRlcyAoQW5kZXJlKSIsSURDX0lPT1RIRVJCWVRFUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEzMiwxNDksMTA1LDEwCkVORAoKLyoKIFN0cmluZyBUYWJsZQoqLwoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19BUFBfVElUTEUgICAgICAgICAgICJUYXNrLU1hbmFnZXIiCiAgICBJRENfVEFTS01HUiAgICAgICAgICAgICAiVGFzay1NYW5hZ2VyIgogICAgSURTX1JVTkRMR19DQVBUSU9OICAgICAgIkNyZWF0ZSBOZXcgVGFzayIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURfRklMRV9ORVcgICAgICAgICAgICAgICAgICAgIlN0YXJ0ZXQgZWluIG5ldWVzIFByb2dyYW1tIgogICAgSURfT1BUSU9OU19BTFdBWVNPTlRPUCAgICAgICAgIkRlciBUYXNrLU1hbmFnZXIgYmxlaWJ0IGltbWVyIG1pdCBzZWluZW4gZ2VzYW10ZW4gRmVuc3Rlcm4gaW0gVm9yZGVyZ3J1bmQsIGJpcyBlciBtaW5pbWllcnQgd2lyZCIKICAgIElEX09QVElPTlNfTUlOSU1JWkVPTlVTRSAgICAgICJEZXIgVGFzay1NYW5hZ2VyIG1pbmltaWVydCBzaWNoLCB3ZW5uIGVpbmUgJ1dlY2hzZWxuIHp1JyBPcGVyYXRpb24gYXVzZ2Vm/GhydCB3aXJkIgogICAgSURfT1BUSU9OU19ISURFV0hFTk1JTklNSVpFRCAgIlZlcnN0ZWNrdCBkZW4gVGFzay1NYW5hZ2VyLCB3ZW5uIGVyIG1pbmltaWVydCBpc3QiCiAgICBJRF9WSUVXX1JFRlJFU0ggICAgICAgICAgICAgICAiWndpbmd0IGRlbiBUYXNrIE1hbmFnZXIgenUgZWluZXIgQWt0dWFsaXNpZXJ1bmcsIHVuYWJo5G5pZyB2b24gZGVyIEFrdHVhbGlzaWVydW5nc2dlc2Nod2luZGlna2VpdCIKICAgIElEX1ZJRVdfTEFSR0UgICAgICAgICAgICAgICAgICJaZWlndCBUYXNrcyBtaXQgZ3Jv32VuIFN5bWJvbGVuIGFuIgogICAgSURfVklFV19TTUFMTCAgICAgICAgICAgICAgICAgIlplaWd0IFRhc2tzIG1pdCBrbGVpbmVuIFN5bWJvbGVuIGFuIgogICAgSURfVklFV19ERVRBSUxTICAgICAgICAgICAgICAgIlplaWd0IGRldGFpbGllcnRlIEluZm9ybWF0aW9uZW4g/GJlciBqZWRlbiBlaW56ZWxuZW4gVGFzayBhbiIKICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfSElHSCAgICAgICJBa3R1YWxpc2llcnQgZGllIEFuemVpZ2UgendlaW1hbCBwcm8gU2VrdW5kZSIKICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfTk9STUFMICAgICJBa3R1YWxpc2llcnQgZGllIEFuemVpZ2UgYWxsZSAyIFNla3VuZGVuIgogICAgSURfVklFV19VUERBVEVTUEVFRF9MT1cgICAgICAgIkFrdHVhbGlzaWVydCBkaWUgQW56ZWlnZSBhbGxlIDQgU2VrdW5kZW4iCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfUEFVU0VEICAgICAgICAiTmljaHQgYXV0b21hdGlzY2ggYWt0dWFsaXNpZXJlbiIKICAgIElEX1dJTkRPV1NfVElMRUhPUklaT05UQUxMWSAgICAgICAiU3RlbGx0IGRpZSBGZW5zdGVyIPxiZXJlaW5hbmRlciBhdWYgZGVtIERlc2t0b3AgZGFyIgogICAgSURfV0lORE9XU19USUxFVkVSVElDQUxMWSAgICAgICAgICJTdGVsbHQgZGllIEZlbnN0ZXIgbmViZW5laW5hbmRlciBhdWYgZGVtIERlc2t0b3AgZGFyIgogICAgSURfV0lORE9XU19NSU5JTUlaRSAgICAgICAgICAgICAgICJNaW5pbWllcnQgZGllIEZlbnN0ZXIiCiAgICBJRF9XSU5ET1dTX01BWElNSVpFICAgICAgICAgICAgICAgIk1heGltaWVydCBkaWUgRmVuc3RlciIKICAgIElEX1dJTkRPV1NfQ0FTQ0FERSAgICAgICAgICAgICAgICAiU3RlbGx0IGRpZSBGZW5zdGVyIGhpbnRlcmVpbmFuZGVyIGF1ZiBkZW0gRGVza3RvcCBkYXIiCiAgICBJRF9XSU5ET1dTX0JSSU5HVE9GUk9OVCAgICAgICAgICAgIkhvbHQgZGFzIEZlbnN0ZXIgaW4gZGVuIFZvcmRlcmdydW5kLCBhYmVyIHdlY2hzbHQgbmljaHQgenUgZGllc2VtIgogICAgSURfSEVMUF9UT1BJQ1MgICAgICAgICAgICAgICAgICAgICJaZWlndCBkaWUgSGlsZmV0aGVtZW4gZGVzIFRhc2stTWFuYWdlcnMgYW4iCiAgICBJRF9IRUxQX0FCT1VUICAgICAgICAgICAgICAgICAgICAgIlplaWd0IFByb2dyYW1taW5mb3JtYXRpb25lbiwgVmVyc2lvbnNudW1tZXIgdW5kIENvcHlyaWdodCBhbiIKICAgIElEX0ZJTEVfRVhJVCAgICAgICAgICAgICAgICAgICAgICAiQmVlbmRldCBkZW4gVGFzay1NYW5hZ2VyIgogICAgSURfT1BUSU9OU19TSE9XMTZCSVRUQVNLUyAgICAgICAgICJaZWlndCAxNi1iaXQtVGFza3MgdW5kZXIgZGVyIFZlcndlbmR1bmcgdm9uIG50dmRtLmV4ZSBhbiIKICAgIElEX1ZJRVdfU0VMRUNUQ09MVU1OUyAgICAgICAgICAgICAiTGVndCBmZXN0LCB3ZWxjaGUgU3BhbHRlbiBhdWYgZGVyIFByb3plc3MtU2VpdGUgc2ljaHRiYXIgc2VpbiBzb2xsZW4iCiAgICBJRF9WSUVXX1NIT1dLRVJORUxUSU1FUyAgICAgICAgICAgIlplaWd0IGRpZSBLZXJuZWwtWmVpdGVuIGltIExlaXN0dW5nc2dyYXBoZW4gYW4iCiAgICBJRF9WSUVXX0NQVUhJU1RPUllfT05FR1JBUEhBTEwgICAgIkVpbiBlaW56ZWxuZXIgVmVybGF1ZnNncmFwaCB6ZWlndCBkaWUgZ2VzYW10ZSBDUFUtQXVzbGFzdHVuZyBhbiIKICAgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSFBFUkNQVSAiSmVkZSBDUFUgaGF0IGlocmVuIGVpZ2VuZW4gVmVybGF1ZnNncmFwaGVuIgogICAgSURfQVBQTElDQVRJT05fUEFHRV9TV0lUQ0hUTyAgICAgICJIb2x0IGRlbiBUYXNrIGluIGRlbiBWb3JkZXJncnVuZCB1bmQgd2VjaHNlbHQgZGVuIEZva3VzIGF1ZiBkZW4gVGFzayIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURfRU5EVEFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXZWlzdCBkaWUgYXVzZ2V35GhsdGVuIFRhc2tzIGFuLCBzaWNoIHp1IGJlZW5kZW4iCiAgICBJRF9HT1RPUFJPQ0VTUyAgICAgICAgICAgICAgICAgICAgICAgICAgIldlY2hzZWx0IGRlbiBGb2t1cyB6dSBkZW0gUHJvemVzcyBkZXMgYXVzZ2V35GhsdGVuIFRhc2tzIgogICAgSURfUkVTVE9SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdGVsbHQgZGVuIFRhc2stTWFuYWdlciB2b24gc2VpbmVyIHZlcnN0ZWNrdGVuIFN0YXR1cyB3aWVkZXIgaGVyIgogICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1MgICAgICAgICAgICAgICJFbnRmZXJudCBkZW4gUHJvemVzcyB2b20gU3lzdGVtIgogICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1NUUkVFICAgICAgICAgICJFbnRmZXJudCBkZW4gUHJvemVzcyB1bmQgYWxsZSBzZWluZSBLaW5kcHJvemVzc2Ugdm9tIFN5c3RlbSIKICAgIElEX1BST0NFU1NfUEFHRV9ERUJVRyAgICAgICAgICAgICAgICAgICAiSGVmdGV0IGRlbiBEZWJ1Z2dlciBhbiBkaWVzZW4gUHJvemVzcyBhbiIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRBRkZJTklUWSAgICAgICAgICAgICAiS29udHJvbGxpZXJ0LCBhdWYgd2VsY2hlbiBQcm96ZXNzb3JlbiBlaW4gUHJvemVzcyBhdXNnZWb8aHJ0IHdlcmRlbiBkYXJmIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX1JFQUxUSU1FICAgICJTZXR6dCBkZW4gUHJvemVzcyBpbiBkaWUgRUNIVFpFSVQtUHJpb3JpdOR0c2tsYXNzZSIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9ISUdIICAgICAgICAiU2V0enQgZGVuIFByb3plc3MgaW4gZGllIEhPQ0gtUHJpb3JpdOR0c2tsYXNzZSIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9BQk9WRU5PUk1BTCAiU2V0enQgZGVuIFByb3plc3MgaW4gZGllIEjWSEVSIEFMUyBOT1JNQUwtUHJpb3JpdOR0c2tsYXNzZSIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9OT1JNQUwgICAgICAiU2V0enQgZGVuIFByb3plc3MgaW4gZGllIE5PUk1BTC1Qcmlvcml05HRza2xhc3NlIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0JFTE9XTk9STUFMICJTZXR6dCBkZW4gUHJvemVzcyBpbiBkaWUgTklFRFJJR0VSIEFMUyBOT1JNQUwtUHJpb3JpdOR0c2tsYXNzZSIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9MT1cgICAgICAgICAiU2V0enQgZGVuIFByb3plc3MgaW4gZGllIE5JRURSSUctUHJpb3JpdOR0c2tsYXNzZSIKRU5ECg==