LyoKICogQ29weXJpZ2h0IDIwMTAgo3VrYXN6IFdvam5ps293aWN6CiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCiNpbmNsdWRlICJzaGRvY2xjLmgiCgpMQU5HVUFHRSBMQU5HX1BPTElTSCwgU1VCTEFOR19ERUZBVUxUCgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfTUVTU0FHRV9CT1hfVElUTEUsICJXaW5lIEludGVybmV0IEV4cGxvcmVyIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfUFJJTlRfSEVBREVSX1RFTVBMQVRFICImdyZiU3Ryb25hICZwIiAvKiBGSVhNRTogc2hvdWxkIGJlICImdyZiU3Ryb25hICZwIHogJlAiICovCiAgICBJRFNfUFJJTlRfRk9PVEVSX1RFTVBMQVRFICImdSZiJmQiCn0KCklEUl9CUk9XU0VfQ09OVEVYVF9NRU5VIE1FTlUKewogICAgUE9QVVAgIkRvbXmcbG5lIgogICAgewogICAgICAgIE1FTlVJVEVNICImV3N0ZWN6IiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1fR09CQUNLV0FSRAogICAgICAgIE1FTlVJVEVNICImRGFsZWoiLCAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fR09GT1JXQVJECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlomYXBpc3ogdLNvIGpha28uLi4iLCAgICAgICAgICAgIElETV9TQVZFQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICImVXN0YXcgamFrbyB0s28iLCAgICAgICAgICAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIktvcCZpdWogdLNvIiwgICAgICAgICAgICAgICAgICAgIElETV9DT1BZQkFDS0dST1VORAogICAgICAgIE1FTlVJVEVNICJVc3RhdyBqYWtvICZlbGVtZW50IHB1bHBpdHUuLi4iLCBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlphem5hY3ogd3N6eXN0a28iLCAgICAgICAgICAgICAgSURNX1NFTEVDVEFMTAogICAgICAgIE1FTlVJVEVNICJXa2wmZWoiLCAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVXR383J6ICZza3LzdCIsICAgICAgICAgICAgICAgICAgSURNX0NSRUFURVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIkRvZGFqIGRvIHVsdSZiaW9ueWNoIiwgICAgICAgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSAiJlBva2G/IJ9y82SzbyIsICAgICAgICAgICAgICAgICBJRE1fVklFV1NPVVJDRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImS29kb3dhbmllIiwgICAgICAgICAgICAgICAgICAgICBJRE1fTEFOR1VBR0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiRCZydWt1aiIsICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BSSU5UCiAgICAgICAgTUVOVUlURU0gIiZPZJx3aWW/IiwgICAgICAgICAgICAgICAgICAgICAgX0lETV9SRUZSRVNICiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlezYZwmY2l3b5xjaSIsICAgICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJPYnJhemVrIgogICAgewogICAgICAgIE1FTlVJVEVNICImT3R383J6ILO5Y3plIiwgICAgICAgICAgICAgICAgICAgICBJRE1fRk9MTE9XTElOS0MKICAgICAgICBNRU5VSVRFTSAiT3R383J6ILO5Y3plIHcgJm5vd3ltIG9rbmllIiwgICAgICAgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIiZaYXBpc3ogZWxlbWVudCBkb2VjZWxvd3kgamFrby4uLiIsIElETV9TQVZFVEFSR0VUCiAgICAgICAgTUVOVUlURU0gIiZEcnVrdWogZWxlbWVudCBkb2NlbG93eSIsICAgICAgICAgIElETV9QUklOVFRBUkdFVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImUG9rYb8gb2JyYXoiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiJlphcGlzeiBvYnJheiBqYWtvLi4uIiwgICAgICAgICAgICAgSURNX1NBVkVQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIiZXeZxsaWogb2JyYXogcG9jenS5IGUtbWFpbC4uLiIsICAgSURNX01QX0VNQUlMUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJEJnJ1a3VqIG9icmF6Li4uIiwgICAgICAgICAgICAgICAgICBJRE1fTVBfUFJJTlRQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIlByemVqZJ8gZG8gJk1vaWNoIG9icmF683ciLCAgICAgICAgSURNX01QX01ZUElDUwogICAgICAgIE1FTlVJVEVNICImVXN0YXcgamFrbyB0s28iLCAgICAgICAgICAgICAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIlVzdGF3IGpha28gJmVsZW1lbnQgcHVscGl0dS4uLiIsICAgIElETV9TRVRERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJXeXQmbmlqIiwgICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3BpdWoiLCAgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGl1aiAmc2ty83QiLCAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiV2tsJmVqIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkRvZGFqIGRvIHVsdSZiaW9ueWNoLi4uIiwgICAgICAgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiV7NhnCZjaXdvnGNpIiwgICAgICAgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIlN0ZXJvd2FuaWUiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZDb25maWoiLCAgICAgICAgICAgSURNX1VORE8KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiV3l0Jm5paiIsICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3BpdWoiLCAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiV2tsJmVqIiwgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSAiJlVzdfEiLCAgICAgICAgICAgICBJRE1fREVMRVRFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZaYXpuYWN6IHdzenlzdGtvIiwgSURNX1NFTEVDVEFMTAogICAgfQoKICAgIFBPUFVQICJUYWJlbGEiCiAgICB7CiAgICAgICAgUE9QVVAgIiZaYXpuYWN6IgogICAgICAgIHsKICAgICAgICAgICAgTUVOVUlURU0gIiZLb23zcmthIiwgICAgICAgICBJRE1fQ0VMTFNFTEVDVAogICAgICAgICAgICBNRU5VSVRFTSAiJldpZXJzeiIsICAgICAgICAgIElETV9ST1dTRUxFQ1QKICAgICAgICAgICAgTUVOVUlURU0gIksmb2x1bW5hIiwgICAgICAgICBJRE1fQ09MVU1OU0VMRUNUCiAgICAgICAgICAgIE1FTlVJVEVNICImVGFiZWxhIiwgICAgICAgICAgSURNX1RBQkxFU0VMRUNUCiAgICAgICAgfQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJXs2GcY2l3b5xjaSAma29t83JraSIsIElETV9DRUxMUFJPUEVSVElFUwogICAgICAgIE1FTlVJVEVNICJXs2GcY2l3b5xjaSAmdGFiZWxpIiwgIElETV9UQUJMRVBST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiMURTaXRlIFNlbGVjdCIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiV3l0Jm5paiIsICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3BpdWoiLCAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiV2tsJmVqIiwgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSAiJlphem5hY3ogd3N6eXN0a28iLCBJRE1fU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gIkQmcnVrdWoiLCAgICAgICAgICAgSURNX1BSSU5UCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICB9CgogICAgUE9QVVAgIktvdHdpY2EiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZPdHfzcnoiLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gIk90d/NyeiB3ICZub3d5bSBva25pZSIsICAgICAgICAgICAgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIiZaYXBpc3ogZWxlbWVudCBkb2NlbG93eSBqYWtvLi4uIiwgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiJkRydWt1aiBlbGVtZW50IGRvY2Vsb3d5IiwgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiV3l0Jm5paiIsICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3BpdWoiLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiS29waXVqICZza3LzdCIsICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIldrbCZlaiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkRvZGFqIGRvIHVsdSZiaW9ueWNoLi4uIiwgICAgICAgICAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJXs2GcJmNpd2+cY2kiLCAgICAgICAgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkNvbnRleHQgVW5rbm93biIKICAgIHsKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgIH0KCiAgICBQT1BVUCAiRFlOU1JDIG9icmF6ZWsiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZPdHfzcnogs7ljemUiLCAgICAgICAgICAgICAgICAgICAgIElETV9GT0xMT1dMSU5LQwogICAgICAgIE1FTlVJVEVNICJPdHfzcnogs7ljemUgdyAmbm93eW0gb2tuaWUiLCAgICAgICBJRE1fRk9MTE9XTElOS04KICAgICAgICBNRU5VSVRFTSAiJlphcGlzeiBlbGVtZW50IGRvY2Vsb3d5IGpha28uLi4iLCAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiJkRydWt1aiBlbGVtZW50IGRvY2Vsb3d5IiwgICAgICAgICAgSURNX1BSSU5UVEFSR0VUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZQb2thvyBvYnJheiIsICAgICAgICAgICAgICAgICAgICAgIElETV9TSE9XUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJaYXBpc3ogJndpZGVvIGpha28uLi4iLCAgICAgICAgICAgICBJRE1fU0FWRVBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiJlVzdGF3IGpha28gdLNvIiwgICAgICAgICAgICAgICAgICAgSURNX1NFVFdBTExQQVBFUgogICAgICAgIE1FTlVJVEVNICJVc3RhdyBqYWtvICZlbGVtZW50IHB1bHBpdHUuLi4uLi4iLCBJRE1fU0VUREVTS1RPUElURU0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiV3l0Jm5paiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICImS29waXVqIiwgICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJLb3BpdWogJnNrcvN0IiwgICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIldrbCZlaiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJEb2RhaiBkbyB1bHUmYmlvbnljaCIsICAgICAgICAgICAgICBJRE1fQURERkFWT1JJVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIk9kdHdhcnphaiIsICAgICAgICAgICAgICAgICAgICAgICAgIElETV9EWU5TUkNQTEFZCiAgICAgICAgTUVOVUlURU0gIlphdHJ6eW1haiIsICAgICAgICAgICAgICAgICAgICAgICAgIElETV9EWU5TUkNTVE9QCiAgICAgICAgTUVOVUlURU0gIlezYZwmY2l3b5xjaSIsICAgICAgICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJBUlQgb2JyYXplayIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJk90d/NyeiCzuWN6ZSIsICAgICAgICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gIk90d/NyeiCzuWN6ZSB3ICZub3d5bSBva25pZSIsICAgICAgIElETV9GT0xMT1dMSU5LTgogICAgICAgIE1FTlVJVEVNICImWmFwaXN6IGVsZW1lbnQgZG9lY2Vsb3d5IGpha28uLi4iLCBJRE1fU0FWRVRBUkdFVAogICAgICAgIE1FTlVJVEVNICImRHJ1a3VqIGVsZW1lbnQgZG9jZWxvd3kiLCAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlBva2G/IG9icmF6IiwgICAgICAgICAgICAgICAgICAgICAgSURNX1NIT1dQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIiZaYXBpc3ogb2JyYXogamFrby4uLiIsICAgICAgICAgICAgIElETV9TQVZFUElDVFVSRQogICAgICAgIE1FTlVJVEVNICImVXN0YXcgamFrbyB0s28iLCAgICAgICAgICAgICAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIlVzdGF3IGpha28gJmVsZW1lbnQgcHVscGl0dS4uLi4uLiIsIElETV9TRVRERVNLVE9QSVRFTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJXeXQmbmlqIiwgICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3BpdWoiLCAgICAgICAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGl1aiAmc2ty83QiLCAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZU0hPUlRDVVQKICAgICAgICBNRU5VSVRFTSAiV2tsJmVqIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkRvZGFqIGRvIHVsdSZiaW9ueWNoLi4uIiwgICAgICAgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiT2R0d2FyemFqIiwgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0lNR0FSVFBMQVkKICAgICAgICBNRU5VSVRFTSAiWmF0cnp5bWFqIiwgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0lNR0FSVFNUT1AKICAgICAgICBNRU5VSVRFTSAiUHJ6ZXdp8SIsICAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0lNR0FSVFJFV0lORAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJXs2GcJmNpd2+cY2kiLCAgICAgICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiRGVidWciCiAgICB7CiAgICAgICAgTUVOVUlURU0gIlpuYWN6bmlraSCcbGVkemVuaWEiLCAgICAgICAgSURNX1RSQUNFVEFHUwogICAgICAgIE1FTlVJVEVNICJOaWVwb3dvZHplbmlhIHphc29i83ciLCAgICAgICBJRE1fUkVTT1VSQ0VGQUlMVVJFUwogICAgICAgIE1FTlVJVEVNICJacnp15iBpbmZvcm1hY2rqIJxsZWR6ZW5pYSIsIElETV9EVU1QVFJBQ0tJTkdJTkZPCiAgICAgICAgTUVOVUlURU0gIlByemVyd2EgZGVidWdvd2FuaWEiLCAgICAgICAgIElETV9ERUJVR0JSRUFLCiAgICAgICAgTUVOVUlURU0gIldpZG9rIGRlYnVnb3dhbmlhIiwgICAgICAgICAgIElETV9ERUJVR1ZJRVcKICAgICAgICBNRU5VSVRFTSAiWnJ6deYgZHJ6ZXdhIiwgICAgICAgICAgICAgICAgSURNX0RVTVBUUkVFCiAgICAgICAgTUVOVUlURU0gIlpyenXmIGxpbmllIiwgICAgICAgICAgICAgICAgIElETV9EVU1QTElORVMKICAgICAgICBNRU5VSVRFTSAiWnJ6deYgRGlzcGxheVRyZWUiLCAgICAgICAgICAgSURNX0RVTVBESVNQTEFZVFJFRQogICAgICAgIE1FTlVJVEVNICJacnp15iBGb3JtYXRDYWNoZXMiLCAgICAgICAgICBJRE1fRFVNUEZPUk1BVENBQ0hFUwogICAgICAgIE1FTlVJVEVNICJacnp15iBMYXlvdXRSZWN0cyIsICAgICAgICAgICBJRE1fRFVNUExBWU9VVFJFQ1RTCiAgICAgICAgTUVOVUlURU0gIk1vbml0b3IgcGFtaepjaSIsICAgICAgICAgICAgIElETV9NRU1PUllNT05JVE9SCiAgICAgICAgTUVOVUlURU0gIk1pZXJuaWtpIHd5ZGFqbm+cY2kiLCAgICAgICAgSURNX1BFUkZPUk1BTkNFTUVURVJTCiAgICAgICAgTUVOVUlURU0gIlphcGlzeiBIVE1MIiwgICAgICAgICAgICAgICAgIElETV9TQVZFSFRNTAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJXaWRvayAmcHJ6ZWdsuWRhbmlhIiwgICAgICAgICBJRE1fQlJPV1NFTU9ERQogICAgICAgIE1FTlVJVEVNICJXaWRvayAmZWR5Y2ppIiwgICAgICAgICAgICAgICBJRE1fRURJVE1PREUKICAgIH0KCiAgICBQT1BVUCAiUGlvbm93eSBzdXdhayIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiUHJ6ZXdp8SB0dXRhaiIsICBJRE1fU0NST0xMX0hFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiR/NyYSIsICAgICAgICAgICBJRE1fU0NST0xMX1RPUAogICAgICAgIE1FTlVJVEVNICJE87MiLCAgICAgICAgICAgIElETV9TQ1JPTExfQk9UVE9NCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlN0cm9uYSB3IGfzcuoiLCAgSURNX1NDUk9MTF9QQUdFVVAKICAgICAgICBNRU5VSVRFTSAiU3Ryb25hIHcgZPOzIiwgICBJRE1fU0NST0xMX1BBR0VET1dOCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlByemV3afEgdyBn83LqIiwgSURNX1NDUk9MTF9VUAogICAgICAgIE1FTlVJVEVNICJQcnpld2nxIHcgZPOzIiwgIElETV9TQ1JPTExfRE9XTgogICAgfQoKICAgIFBPUFVQICJQb3ppb215IHN1d2FrIgogICAgewogICAgICAgIE1FTlVJVEVNICJQcnpld2nxIHR1dGFqIiwgICBJRE1fU0NST0xMX0hFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiTGV3YSBrcmF36mSfIiwgICBJRE1fU0NST0xMX0xFRlRFREdFCiAgICAgICAgTUVOVUlURU0gIlByYXdhIGtyYXfqZJ8iLCAgSURNX1NDUk9MTF9SSUdIVEVER0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU3Ryb25hIHcgbGV3byIsICAgSURNX1NDUk9MTF9QQUdFTEVGVAogICAgICAgIE1FTlVJVEVNICJTdHJvbmEgdyBwcmF3byIsICBJRE1fU0NST0xMX1BBR0VSSUdIVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJQcnpld2nxIHcgbGV3byIsICBJRE1fU0NST0xMX0xFRlQKICAgICAgICBNRU5VSVRFTSAiUHJ6ZXdp8SB3IHByYXdvIiwgSURNX1NDUk9MTF9SSUdIVAogICAgfQp9Cg==