LyoKICogVHVya2lzaCByZXNvdXJjZXMgZm9yIFdMREFQMzIKICoKICogQ29weXJpZ2h0IDIwMDYgRmF0aWggQf79Y/0KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19UVVJLSVNILCBTVUJMQU5HX0RFRkFVTFQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIDAgIkJh/mFy/Wz9IgogICAgMSAi3f5sZW0gSGF0YXP9IgogICAgMiAi3WxldGn+aW0gS3VyYWz9IEhhdGFz/SIKICAgIDMgIlphbWFuIFP9bv1y/SBB/v1sZP0iCiAgICA0ICJCb3l1dCBT/W79cv0gQf79bGT9IgogICAgNSAiS2Fy/v1sYf50/XJtYSBZYW5s/f4iCiAgICA2ICJLYXL+/Wxh/nT9cm1hIERv8HJ1IgogICAgNyAiWWV0a2lsZW5kaXJtZSBZ9m50ZW1pIERlc3Rla2xlbm1peW9yIgogICAgOCAiR/znbPwgWWVya2lsZW5kaXJtZSBHZXJla2xpIgogICAgOSAiQmH+dnVydSAodjIpIgogICAgMTAgIkJh/nZ1cnUiCiAgICAxMSAiWfZuZXRpbSBT/W79cv0gQf79bGT9IgogICAgMTIgIkt1bGxhbv1sYWJpbGlyIE9sbWF5YW4gS3JpdGlrIFV6YW50/SIKICAgIDEzICJHaXpsaSBPbGFyYWsgR2VyZWtsaSIKICAgIDE0ICIiCiAgICAxNSAiIgogICAgMTYgIkL2eWxlIEJpciDWem5pdGVsaWsgWW9rIgogICAgMTcgIlRhbv1tbGFubWFt/f4gVPxyIgogICAgMTggIlV5Z3Vuc3V6IEX+bGX+bWUiCiAgICAxOSAiS/1z/XRsYW1hIN1obGFsaSIKICAgIDIwICJWYXJvbGFuINZ6bml0ZWxpayBWZXlhIERl8GVyIgogICAgMjEgIkdl52Vyc2l6IFP2emRpemltaSIKICAgIDIyICIiCiAgICAyMyAiIgogICAgMjQgIiIKICAgIDI1ICIiCiAgICAyNiAiIgogICAgMjcgIiIKICAgIDI4ICIiCiAgICAyOSAiIgogICAgMzAgIiIKICAgIDMxICIiCiAgICAzMiAiQvZ5bGUgQmlyIE5lc25lIFlvayIKICAgIDMzICJUYWttYSBBZCBTb3J1bnUiCiAgICAzNCAiR2XnZXJzaXogRE4gU/Z6ZGl6aW1pIgogICAgMzUgIllhcHJhayBLb251bXVuZGEiCiAgICAzNiAiVGFrbWEgQWQgQmH+dnVydSBTb3J1bnUiCiAgICAzNyAiIgogICAgMzggIiIKICAgIDM5ICIiCiAgICA0MCAiIgogICAgNDEgIiIKICAgIDQyICIiCiAgICA0MyAiIgogICAgNDQgIiIKICAgIDQ1ICIiCiAgICA0NiAiIgogICAgNDcgIiIKICAgIDQ4ICJVeWd1bnN1eiBZZXRraWxlbmRpcm1lIgogICAgNDkgIkdl52Vyc2l6IEJlbGdlbGVyIgogICAgNTAgIkdl52Vyc2l6IFlldGtpbGVyIgogICAgNTEgIk1l/md1bCIKICAgIDUyICJLdWxsYW79bGFiaWxpciBEZfBpbCIKICAgIDUzICJZ/HL8dG1leWUg3XN0ZWtzaXoiCiAgICA1NCAiRPZuZ/wgQWxn/WxhbmT9IgogICAgNTUgIiIKICAgIDU2ICIiCiAgICA1NyAiIgogICAgNTggIiIKICAgIDU5ICIiCiAgICA2MCAiU/1yYWxhbWEgRGVuZXRpbWkgRWtzaWsiCiAgICA2MSAiRWtzaWsgRGl6aW4gQXJhbP3w/SBIYXRhc/0iCiAgICA2MiAiIgogICAgNjMgIiIKICAgIDY0ICJBZGxhbmT9cm1hIN1obGFsaSIKICAgIDY1ICJOZXNuZSBT/W79Zv0g3WhsYWxpIgogICAgNjYgIllhcHJhayBvbG1heWFuIGtvbnVtZGEgaXppbmxpIGRl8GlsIgogICAgNjcgIlJETiD8emVyaW5kZSBpemluIHZlcmlsbWl5b3IiCiAgICA2OCAiWmF0ZW4gVmFyIgogICAgNjkgIk5lc25lIFP9bv1m/SBNb2T8bGxlcmkgWW9rIgogICAgNzAgIlNvbnXnbGFyIMdvayBC/Hn8ayIKICAgIDcxICJCaXJkZW4gRmF6bGEgRFNBIEV0a2lsZW5pciIKICAgIDcyICIiCiAgICA3MyAiIgogICAgNzQgIiIKICAgIDc1ICIiCiAgICA3NiAiIgogICAgNzcgIiIKICAgIDc4ICIiCiAgICA3OSAiIgogICAgODAgIkRp8GVyIgogICAgODEgIlN1bnVjdSBLYXBhbP0iCiAgICA4MiAiWWVyZWwgSGF0YSIKICAgIDgzICJLb2RsYW1hIEhhdGFz/SIKICAgIDg0ICJLb2Qgx/Z6bWUgSGF0YXP9IgogICAgODUgIlphbWFuIEH+/W39IgogICAgODYgIllhemFyIEJpbGlubWl5b3IiCiAgICA4NyAiU/x6bWUgSGF0YXP9IgogICAgODggIkt1bGxhbv1j/SDdcHRhbCBFdHRpIgogICAgODkgIlBhcmFtZXRyZSBIYXRhc/0iCiAgICA5MCAiQmVsbGVrIFlvayIKICAgIDkxICJMREFQIHN1bnVjdXN1bmEgYmHwbGFuYW39eW9yIgogICAgOTIgIt3+bGVtIExEQVAgaWxldGn+aW0ga3VyYWz9bv1uIGJ1IHP8cvxt/G5jZSBkZXN0ZWtsZW5taXlvci4iCiAgICA5MyAi3WxldGlkZSBiZWxpcnRpbGVuIGRlbmV0aW0gYnVsdW5hbWFk/SIKICAgIDk0ICLdbGV0aWRlIHNvbnXnIHlvayIKICAgIDk1ICJE9m5lbiBkafBlciBzb25152xhciIKICAgIDk2ICJCYf52dXJ1bGFy/SBp/mxlcmtlbiBk9m4iCiAgICA5NyAiUGFrZXRpbiBn9m5kZXJpbGRp8GkgefZubGVuZGlyaWNpIHP9bv1y/SBh/v1sZP0iCn0K