J1wiIHQKLlwiCi5cIiBDb3B5cmlnaHQgMjAwMC0yMDA0IFN1biBNaWNyb3N5c3RlbXMsIEluYy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi5cIiBETyBOT1QgQUxURVIgT1IgUkVNT1ZFIENPUFlSSUdIVCBOT1RJQ0VTIE9SIFRISVMgRklMRSBIRUFERVIuCi5cIgouXCIgVGhpcyBjb2RlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKLlwiIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIG9ubHksIGFzCi5cIiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLlwiCi5cIiBUaGlzIGNvZGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKLlwiIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvcgouXCIgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi5cIiB2ZXJzaW9uIDIgZm9yIG1vcmUgZGV0YWlscyAoYSBjb3B5IGlzIGluY2x1ZGVkIGluIHRoZSBMSUNFTlNFIGZpbGUgdGhhdAouXCIgYWNjb21wYW5pZWQgdGhpcyBjb2RlKS4KLlwiCi5cIiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uCi5cIiAyIGFsb25nIHdpdGggdGhpcyB3b3JrOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCi5cIiBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCi5cIgouXCIgUGxlYXNlIGNvbnRhY3QgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiwgNDE1MCBOZXR3b3JrIENpcmNsZSwgU2FudGEgQ2xhcmEsCi5cIiBDQSA5NTA1NCBVU0Egb3IgdmlzaXQgd3d3LnN1bi5jb20gaWYgeW91IG5lZWQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvcgouXCIgaGF2ZSBhbnkgcXVlc3Rpb25zLgouXCIKLlwiIAouVEggbmF0aXZlMmFzY2lpIDEgIjIwMDQgx68gNiC37iAyMiDG/CIKLlNIICLMvsGwIgpuYXRpdmUyYXNjaWkgXC0gpc2lpKXGpaOl1qWzobylyaSrpOkgQVNDSUkgpNikzsrRtLkKLlwiIAouXCIgIFRoaXMgZG9jdW1lbnQgd2FzIGNyZWF0ZWQgYnkgc2F2aW5nIGFuIEhUTUwgZmlsZSBhcyB0ZXh0Ci5cIiAgZnJvbSB0aGUgSmF2YVNvZnQgd2ViIHNpdGU6Ci5cIiAKLlwiIGh0dHA6Ly9qYXZhLnN1bi5jb20vcHJvZHVjdHMvamRrLzEuMi9kb2NzL3Rvb2xkb2NzL3Rvb2xzLmh0bWwKLlwiIAouXCIgIGFuZCBhZGRpbmcgYXBwcm9wcmlhdGUgdHJvZmYgbWFjcm9zLiAgQmVjYXVzZSB0aGUgSmF2YVNvZnQgd2ViIHNpdGUgCi5cIiAgbWFuIHBhZ2VzIGNhbiBjaGFuZ2Ugd2l0aG91dCBub3RpY2UsIGl0IG1heSBiZSBoZWxwZnVsIHRvIGRpZmYKLlwiICBmaWxlcyB0byBpZGVudGlmeSBjaGFuZ2VzIG90aGVyIHRoYW4gbmV3IGZ1bmN0aW9uYWxpdHkuIAouXCIgCi5TSCAit8G8sCIKLkIgbmF0aXZlMmFzY2lpClsKLkIgb3B0aW9ucyAKXQouaWYgbiAudGkgKzVuClsKLklSIGlucHV0ZmlsZSAiIFsiIG91dHB1dGZpbGUgIl1dIgouU0ggIrWhx73A4szAIgouSVggIm5hdGl2ZSB0byBBU0NJSSBjb252ZXJ0ZXIiICIiICJuYXRpdmUgdG8gQVNDSUkgY29udmVydGVyIFwoZW0gXGZMbmF0aXZlMmFzY2lpXGZQIgouSVggIm5hdGl2ZTJhc2NpaSIgIiIgIlxmTG5hdGl2ZTJhc2NpaVxmUCBcKGVtIG5hdGl2ZSB0byBBU0NJSSBjb252ZXJ0ZXIiCkphdmEgpbOl86XRpaSl6aTKpMmkzgpKYXZhIAqlxKG8peukrL3ozf2kx6StpOul1aWhpaSl66TPoaIKTGF0aW4tMQrKuLv6pOKkt6SvpM9cXgpVbmljb2RlCqTHpail86WzobylyaS1pOykv8q4u/oKKFxcdWRkZGQpCqSrpOmkyqTrpdWloaWkpeukwKSxpMekuaGjCi5CIG5hdGl2ZTJhc2NpaQqkz6Giwr6kzsq4u/qls6G8pcmkzqXVpaGlpKXrpPIKTGF0aW4tMQqk3qS/pM8KVW5pY29kZQqlqKXzpbOhvKXHpaOl86WwpM6l1aWhpaSl66TLytG0uaS3pN6kuaGjCi5MUAouSSBvdXRwdXRmaWxlCrD6v/Sk8r7KzqykuaTrpMihor3Qzs/A6KTPybi94L3Qzs+kyKTKpOqk3qS5oaMKpN6kv6GiCi5JIGlucHV0ZmlsZQqw+r/0pPK+ys6spLmk66TIoaLG/s7PuLWkz8m4veDG/s7PpMikyqTqpN6kuaGjCi5TSCAipaql16W3peel8yIKsMqyvKTOpaql16W3peel86Ssu8jN0aTHpK2k3qS5oaMKLlRQIDUKLkIgXC1lbmNvZGluZyBcZjJlbmNvZGluZ19uYW1lXGYxCsrRtLm96M39pMfN0aSkpOulqKXzpbOhvKXHpaOl86WwzL6k8rvYxOqkt6TepLmhowqlx6XVpaml66XIpM6lqKXzpbOhvKXHpaOl86WwzL6kz6GipbeluaXGpeCl16XtpdGlxqWjpM4KXGYzZmlsZS5lbmNvZGluZ1xmMQqkq6TpxsCk6aTspN6kuaGjCi5JIGVuY29kaW5nX25hbWUgCsq4u/rO86TPoaKlyaWtpeWl4aXzpcih1qW1pd2hvKXIpLWk7KTGpKSk66WopfOls6G8pcelo6XzpbCh16TOoaIKpbWl3aG8pciktaTspOulqKXzpbOhvKXHpaOl86WwpM7JvaTHuse96aTOzvOky6SipOvKuLv6zvOkziAxIKTEpMekyqSxpOyk0AqkyqTqpN6ku6TzoaMKLmJyCmh0dHA6Ly9qYXZhLnN1bi5jb20vajJzZS8xLjUvZG9jcy9ndWlkZS9pbnRsL2VuY29kaW5nLmRvYy5odG1sCi5cIiBodHRwOi8vamF2YS5zdW4uY29tL2oyc2UvMS41L2RvY3MvZ3VpZGUvaW50bC9lbmNvZGluZy5kb2MuaHRtbAouVFAgNQouQiBcLXJldmVyc2UKtdWkzsrRtLm96M39pPK51KSkpN6kuaGjpMSk3qTqCkxhdGluLTEKpN6kv6TPClVuaWNvZGUKpMelqKXzpbOhvKXHpaOl86WwpLWk7KTGpKSk68q4u/qk8qGipc2lpKXGpaOl1qWzobylyaTLytG0uaS3pN6kuaGjCi5UUCAxNQouQkkgXC1KICJvcHRpb24iCi5JIG9wdGlvbgqk8iBKYXZhILK+wdul3qW3pfOky8XPpLek3qS5oaOks6SzpMehogouSSBvcHRpb24KpM+hokphdmEgpaKl16XqpbGhvKW3peel87WvxrCl16XtpbCl6aXgIGphdmEoMSkgpM6l3qXLpeWloqXrpdqhvKW4pMcKwOLMwKS1pOykxqSkpOulqqXXpbel56XzpM4gMSCkxKTHpLmho6S/pMikqKTQoaIKLkkgXC1KLVhtczQ4bQqkz6Gita/GsLv+pMu7yM3RpLmk66XhpeKl6qTyIDQ4TSCl0KWkpciky8DfxOqkt6TepLmhowouQiBcLUoKpKy08MvcpMikyqTrsr7B26Xepbel86TLpaql16W3peel86Tyxc+kuaSzpMikz6GitqbEzKTOtazM86THpLmhowoK