[debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: [u'-v', u'--dump-pages', u'https://drive.google.com/file/d/1uVGhmYStm7z5Wb1v7Rkj0nYB4tzrzXDG/view?usp=sharing'] [debug] Encodings: locale UTF-8, fs UTF-8, out None, pref UTF-8 [debug] youtube-dl version 2020.01.24 [debug] Python version 2.7.17 (CPython) - Linux-5.4.0-kali2-amd64-x86_64-with-debian-kali-rolling [debug] exe versions: ffmpeg 4.2.1-2, ffprobe 4.2.1-2, phantomjs 2.1.1, rtmpdump 2.4 [debug] Proxy map: {} [GoogleDrive] 1uVGhmYStm7z5Wb1v7Rkj0nYB4tzrzXDG: Downloading webpage [GoogleDrive] Dumping request to https://docs.google.com/file/d/1uVGhmYStm7z5Wb1v7Rkj0nYB4tzrzXDG/edit PCFET0NUWVBFIGh0bWw+PGh0bWw+PGhlYWQ+PG1ldGEgbmFtZT0iZ29vZ2xlIiBjb250ZW50PSJub3RyYW5zbGF0ZSI+PG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlOyI+PHN0eWxlIG5vbmNlPSI3aFh5SXBsQkkwNEFKRFR0SUVlVFlBIj5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OjQwMDtzcmM6bG9jYWwoJ1JvYm90byBJdGFsaWMnKSxsb2NhbCgnUm9ib3RvLUl0YWxpYycpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9rQ25xRXU5MkZyMU11NTF4Rkl6SUZLdy53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzA0NjAtMDUyRixVKzFDODAtMUM4OCxVKzIwQjQsVSsyREUwLTJERkYsVStBNjQwLUE2OUYsVStGRTJFLUZFMkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NDAwO3NyYzpsb2NhbCgnUm9ib3RvIEl0YWxpYycpLGxvY2FsKCdSb2JvdG8tSXRhbGljJyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2tDbnFFdTkyRnIxTXU1MXhNSXpJRkt3LndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDQwMC0wNDVGLFUrMDQ5MC0wNDkxLFUrMDRCMC0wNEIxLFUrMjExNjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOml0YWxpYztmb250LXdlaWdodDo0MDA7c3JjOmxvY2FsKCdSb2JvdG8gSXRhbGljJyksbG9jYWwoJ1JvYm90by1JdGFsaWMnKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPa0NucUV1OTJGcjFNdTUxeEVJeklGS3cud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSsxRjAwLTFGRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NDAwO3NyYzpsb2NhbCgnUm9ib3RvIEl0YWxpYycpLGxvY2FsKCdSb2JvdG8tSXRhbGljJyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2tDbnFFdTkyRnIxTXU1MXhMSXpJRkt3LndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDM3MC0wM0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OjQwMDtzcmM6bG9jYWwoJ1JvYm90byBJdGFsaWMnKSxsb2NhbCgnUm9ib3RvLUl0YWxpYycpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9rQ25xRXU5MkZyMU11NTF4SEl6SUZLdy53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAxMDItMDEwMyxVKzAxMTAtMDExMSxVKzFFQTAtMUVGOSxVKzIwQUI7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NDAwO3NyYzpsb2NhbCgnUm9ib3RvIEl0YWxpYycpLGxvY2FsKCdSb2JvdG8tSXRhbGljJyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2tDbnFFdTkyRnIxTXU1MXhHSXpJRkt3LndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMC0wMjRGLFUrMDI1OSxVKzFFMDAtMUVGRixVKzIwMjAsVSsyMEEwLTIwQUIsVSsyMEFELTIwQ0YsVSsyMTEzLFUrMkM2MC0yQzdGLFUrQTcyMC1BN0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OjQwMDtzcmM6bG9jYWwoJ1JvYm90byBJdGFsaWMnKSxsb2NhbCgnUm9ib3RvLUl0YWxpYycpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9rQ25xRXU5MkZyMU11NTF4SUl6SS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDAtMDBGRixVKzAxMzEsVSswMTUyLTAxNTMsVSswMkJCLTAyQkMsVSswMkM2LFUrMDJEQSxVKzAyREMsVSsyMDAwLTIwNkYsVSsyMDc0LFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkQ7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MzAwO3NyYzpsb2NhbCgnUm9ib3RvIExpZ2h0JyksbG9jYWwoJ1JvYm90by1MaWdodCcpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tU1U1ZkNSYzRFc0Eud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswNDYwLTA1MkYsVSsxQzgwLTFDODgsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjMwMDtzcmM6bG9jYWwoJ1JvYm90byBMaWdodCcpLGxvY2FsKCdSb2JvdG8tTGlnaHQnKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbENucUV1OTJGcjFNbVNVNWZBQmM0RXNBLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDQwMC0wNDVGLFUrMDQ5MC0wNDkxLFUrMDRCMC0wNEIxLFUrMjExNjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDozMDA7c3JjOmxvY2FsKCdSb2JvdG8gTGlnaHQnKSxsb2NhbCgnUm9ib3RvLUxpZ2h0JyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2xDbnFFdTkyRnIxTW1TVTVmQ0JjNEVzQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzFGMDAtMUZGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDozMDA7c3JjOmxvY2FsKCdSb2JvdG8gTGlnaHQnKSxsb2NhbCgnUm9ib3RvLUxpZ2h0JyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2xDbnFFdTkyRnIxTW1TVTVmQnhjNEVzQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAzNzAtMDNGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDozMDA7c3JjOmxvY2FsKCdSb2JvdG8gTGlnaHQnKSxsb2NhbCgnUm9ib3RvLUxpZ2h0JyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2xDbnFFdTkyRnIxTW1TVTVmQ3hjNEVzQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAxMDItMDEwMyxVKzAxMTAtMDExMSxVKzFFQTAtMUVGOSxVKzIwQUI7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MzAwO3NyYzpsb2NhbCgnUm9ib3RvIExpZ2h0JyksbG9jYWwoJ1JvYm90by1MaWdodCcpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tU1U1ZkNoYzRFc0Eud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAwLTAyNEYsVSswMjU5LFUrMUUwMC0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDRixVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MzAwO3NyYzpsb2NhbCgnUm9ib3RvIExpZ2h0JyksbG9jYWwoJ1JvYm90by1MaWdodCcpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tU1U1ZkJCYzQud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAwLTAwRkYsVSswMTMxLFUrMDE1Mi0wMTUzLFUrMDJCQi0wMkJDLFUrMDJDNixVKzAyREEsVSswMkRDLFUrMjAwMC0yMDZGLFUrMjA3NCxVKzIwQUMsVSsyMTIyLFUrMjE5MSxVKzIxOTMsVSsyMjEyLFUrMjIxNSxVK0ZFRkYsVStGRkZEO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtzcmM6bG9jYWwoJ1JvYm90byBSZWd1bGFyJyksbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT21DbnFFdTkyRnIxTXU3MnhLT3pZLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDQ2MC0wNTJGLFUrMUM4MC0xQzg4LFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7c3JjOmxvY2FsKCdSb2JvdG8gUmVndWxhcicpLGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9tQ25xRXU5MkZyMU11NW14S096WS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzA0MDAtMDQ1RixVKzA0OTAtMDQ5MSxVKzA0QjAtMDRCMSxVKzIxMTY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NyYzpsb2NhbCgnUm9ib3RvIFJlZ3VsYXInKSxsb2NhbCgnUm9ib3RvLVJlZ3VsYXInKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbUNucUV1OTJGcjFNdTdteEtPelkud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSsxRjAwLTFGRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NyYzpsb2NhbCgnUm9ib3RvIFJlZ3VsYXInKSxsb2NhbCgnUm9ib3RvLVJlZ3VsYXInKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbUNucUV1OTJGcjFNdTRXeEtPelkud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzcwLTAzRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NyYzpsb2NhbCgnUm9ib3RvIFJlZ3VsYXInKSxsb2NhbCgnUm9ib3RvLVJlZ3VsYXInKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbUNucUV1OTJGcjFNdTdXeEtPelkud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAyLTAxMDMsVSswMTEwLTAxMTEsVSsxRUEwLTFFRjksVSsyMEFCO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtzcmM6bG9jYWwoJ1JvYm90byBSZWd1bGFyJyksbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT21DbnFFdTkyRnIxTXU3R3hLT3pZLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMC0wMjRGLFUrMDI1OSxVKzFFMDAtMUVGRixVKzIwMjAsVSsyMEEwLTIwQUIsVSsyMEFELTIwQ0YsVSsyMTEzLFUrMkM2MC0yQzdGLFUrQTcyMC1BN0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtzcmM6bG9jYWwoJ1JvYm90byBSZWd1bGFyJyksbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT21DbnFFdTkyRnIxTXU0bXhLLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDAwMC0wMEZGLFUrMDEzMSxVKzAxNTItMDE1MyxVKzAyQkItMDJCQyxVKzAyQzYsVSswMkRBLFUrMDJEQyxVKzIwMDAtMjA2RixVKzIwNzQsVSsyMEFDLFUrMjEyMixVKzIxOTEsVSsyMTkzLFUrMjIxMixVKzIyMTUsVStGRUZGLFUrRkZGRDt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDA7c3JjOmxvY2FsKCdSb2JvdG8gQm9sZCcpLGxvY2FsKCdSb2JvdG8tQm9sZCcpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tV1VsZkNSYzRFc0Eud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswNDYwLTA1MkYsVSsxQzgwLTFDODgsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMDtzcmM6bG9jYWwoJ1JvYm90byBCb2xkJyksbG9jYWwoJ1JvYm90by1Cb2xkJyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2xDbnFFdTkyRnIxTW1XVWxmQUJjNEVzQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzA0MDAtMDQ1RixVKzA0OTAtMDQ5MSxVKzA0QjAtMDRCMSxVKzIxMTY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NzAwO3NyYzpsb2NhbCgnUm9ib3RvIEJvbGQnKSxsb2NhbCgnUm9ib3RvLUJvbGQnKSx1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MTgvS0ZPbENucUV1OTJGcjFNbVdVbGZDQmM0RXNBLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMUYwMC0xRkZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMDtzcmM6bG9jYWwoJ1JvYm90byBCb2xkJyksbG9jYWwoJ1JvYm90by1Cb2xkJyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2xDbnFFdTkyRnIxTW1XVWxmQnhjNEVzQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAzNzAtMDNGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDA7c3JjOmxvY2FsKCdSb2JvdG8gQm9sZCcpLGxvY2FsKCdSb2JvdG8tQm9sZCcpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tV1VsZkN4YzRFc0Eud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAyLTAxMDMsVSswMTEwLTAxMTEsVSsxRUEwLTFFRjksVSsyMEFCO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMDtzcmM6bG9jYWwoJ1JvYm90byBCb2xkJyksbG9jYWwoJ1JvYm90by1Cb2xkJyksdXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjE4L0tGT2xDbnFFdTkyRnIxTW1XVWxmQ2hjNEVzQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAxMDAtMDI0RixVKzAyNTksVSsxRTAwLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMENGLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDA7c3JjOmxvY2FsKCdSb2JvdG8gQm9sZCcpLGxvY2FsKCdSb2JvdG8tQm9sZCcpLHVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YxOC9LRk9sQ25xRXU5MkZyMU1tV1VsZkJCYzQud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAwLTAwRkYsVSswMTMxLFUrMDE1Mi0wMTUzLFUrMDJCQi0wMkJDLFUrMDJDNixVKzAyREEsVSswMkRDLFUrMjAwMC0yMDZGLFUrMjA3NCxVKzIwQUMsVSsyMTIyLFUrMjE5MSxVKzIxOTMsVSsyMjEyLFUrMjIxNSxVK0ZFRkYsVStGRkZEO308L3N0eWxlPjxtZXRhIG5hbWU9InJlZmVycmVyIiBjb250ZW50PSJvcmlnaW4iPjx0aXRsZT5VbnRpdGxlZCBkb2N1bWVudC5wZGYgLSBHb29nbGUgRHJpdmU8L3RpdGxlPjxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iVW50aXRsZWQgZG9jdW1lbnQucGRmIj48bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0iYXJ0aWNsZSI+PG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29udGVudD0iR29vZ2xlIERvY3MiPjxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2ZpbGUvZC8xdVZHaG1ZU3RtN3o1V2IxdjdSa2owbllCNHR6cnpYREcvZWRpdD91c3A9ZW1iZWRfZmFjZWJvb2siPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL01BQ2FISVk2eWlvQ2JyR1Y5Vzd0cFAybmJFdGNmdm1paDhYZk1GdER5V0g4TXB1aFRPTENpb2FyNU1TdHhPRT13MTIwMC1oNjMwLXAiPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTp3aWR0aCIgY29udGVudD0iMTIwMCI+PG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOmhlaWdodCIgY29udGVudD0iNjMwIj48bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Imh0dHBzOi8vc3NsLmdzdGF0aWMuY29tL2RvY3MvZG9jbGlzdC9pbWFnZXMvaWNvbl8xNF9wZGZfZmF2aWNvbi5pY28iPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUdvb2dsZStTYW5zOjMwMCw0MDAsNTAwLDcwMCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3d3dy5nc3RhdGljLmNvbS9fL2FwcHMtZmlsZXZpZXcvXy9zcy9rPWFwcHMtZmlsZXZpZXcudi5Qbjh2WUFIQmNzay5MLlcuTy9kPTAvY3Q9emdtcy9ycz1BTzAwMzlzYWN5S196ZXJqRVFNWjBqQ0JQV0lmUDNVOVRnIj48c2NyaXB0IG5vbmNlPSI3aFh5SXBsQkkwNEFKRFR0SUVlVFlBIj5fZG9jc19mbGFnX2luaXRpYWxEYXRhPXsiZG9jcy1haWxzIjoiZG9jc19jb2xkIiwiZG9jcy1md2RzIjoiZG9jc19zZGYiLCJkb2NzLWNycyI6ImRvY3NfY3JzX25mZCIsImRvY3MtdGZoIjoiIiwiaW5mb19wYXJhbXMiOnt9LCJkb2Nvc0VtYmVkQXBpSnMiOiIvL2RvY3MuZ29vZ2xlLmNvbS9jb21tZW50cy9kL0FBSFJwblh2bm0wZnNIOEZvcVF5UEtwbzZ6dElkTkRVaEFFX3I5OG5odGNGR2RXRmVFTjJKR3JIUERkTHhqVW8tYlZkN045dEl3dGhMeWdZMmlGelhjU0Y0ZkZMMHlJWHJRZy9hcGkvanM/aGxcdTAwM2RwdF9CUiIsImRvY29zLWVkZG1oIjpmYWxzZSwiZG9jcy1lZGNzcCI6dHJ1ZSwiZG9jcy1lb2htbyI6ZmFsc2UsInVscyI6IiIsImRvY3MtY2UiOmZhbHNlLCJkb2NzLWFwaS1rZXlzIjp7fSwiYnVpbGRMYWJlbCI6InRleG1leF8yMDIwLjA0LVRodV9SQzA0IiwiZG9jcy1zaG93X2RlYnVnX2luZm8iOmZhbHNlLCJvbmRsYnVybCI6Imh0dHBzOi8vZG9jcy5nb29nbGUuY29tIiwiZHJpdmVfdXJsIjoiaHR0cHM6Ly9kcml2ZS5nb29nbGUuY29tIiwiYXBwX3VybCI6Imh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2ZpbGUvIiwiZG9jcy1taWQiOjIwNDgsImRvY3MtZWljZCI6ZmFsc2UsImRvY3MtaWNkbXQiOltdLCJkb2NzLXN1cCI6Ii9maWxlIiwiZG9jcy1zZXUiOiJodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9maWxlL2QvMXVWR2htWVN0bTd6NVdiMXY3UmtqMG5ZQjR0enJ6WERHL2VkaXQiLCJkb2NzLWNycCI6Ii9maWxlL2QvMXVWR2htWVN0bTd6NVdiMXY3UmtqMG5ZQjR0enJ6WERHL2VkaXQiLCJkb2NzLWVjdmNhIjp0cnVlLCJkb2NzLXVwdGMiOlsibHNycCIsImNhIiwic2giLCJub3JlcGxpY2EiLCJvdWlkIiwiZGwiLCJkb2RzIiwiaGkiLCJwb3ByIiwic2RzaWQiLCJ1c3AiLCJ1cnAiLCJ1dG1fc291cmNlIiwidXRtX21lZGl1bSIsInV0bV9jYW1wYWlnbiIsInV0bV90ZXJtIiwidXRtX2NvbnRlbnQiLCJhYWFjIiwic2xlIl0sImRvY3MtZG9kZG4iOiIiLCJkb2NzLWRvZG4iOiIiLCJkb2NzLXVkZG4iOiIiLCJkb2NzLXVkbiI6IiIsImRvY3MtY3dzZCI6IiIsImRvY3MtZ3NtZCI6IiIsImRvY3MtZXBpbCI6ZmFsc2UsImRvY3MtZXNtcCI6ZmFsc2UsImRvY3MtYWwiOlswLDAsMCwxLDBdLCJkb2NzLWRlY3VsbXUiOiJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS9kcml2ZT9wXHUwMDNkc2F2aW5nX2Vycm9ycyIsImRvY3MtZGV1b2ZsbXUiOiIiLCJkb2NzLWRlYnVsbXUiOiIiLCJkb2NzLWRlb2RsbXUiOiIiLCJkb2NzLW5kdCI6IlVudGl0bGVkIFRleG1leCIsImRvY3MtcHJuIjoiIiwiZG9jcy1lbXRiaSI6ZmFsc2UsImRvY3MtZWNhdCI6ZmFsc2UsImRvY3MtYXMiOiIiLCJkb2NzLWV0ZGltbyI6ZmFsc2UsImRvY3MtbWRjayI6IiIsImRvY3MtZXRpZmYiOmZhbHNlLCJkb2NzLW1yaWltIjoxODAwMDAwLCJkb2NzLWVjY2JzIjpmYWxzZSwiZG9jb3Mtc29zaiI6ZmFsc2UsImRvY3MtcmxtcCI6ZmFsc2UsImRvY3MtbW1wdCI6MTUwMDAsImRvY3MtZXJkIjpmYWxzZSwiZG9jcy1lcmZhciI6ZmFsc2UsImRvY3MtZW5zYiI6ZmFsc2UsImRvY3MtZGR0cyI6ZmFsc2UsImRvY3MtdW9vdHVucyI6ZmFsc2UsImRvY3MtYW1hd3NvIjpmYWxzZSwiZG9jcy1tZHNvIjpmYWxzZSwiZG9jcy1vZm1wcCI6ZmFsc2UsImRvY3MtYW5scGZkbyI6ZmFsc2UsImRvY3MtcGlkIjoiMTA1MjUwNTA2MDk3OTc5NzUzOTY4IiwiZG9jcy1lYmJvdWYiOmZhbHNlLCJkb2NzLWVmcyI6ZmFsc2UsImRvY3Mtcmljb2NwYiI6ZmFsc2UsImRvY3MtZWFsaSI6ZmFsc2UsImRvY3MtZXRhdWlobSI6ZmFsc2UsImRvY3MtZWlhcCI6ZmFsc2UsImRvY3MtZWdzIjpmYWxzZSwiZG9jcy1lZW90dCI6ZmFsc2UsImRvY3MtZGRtcCI6ZmFsc2UsImRvY3MtZXBhdCI6ZmFsc2UsImRvY3MtZWljcyI6ZmFsc2UsImRvY3MtZWRwMiI6ZmFsc2UsImRvY3MtZWFqZSI6dHJ1ZSwiZG9jb3MtcGxzcyI6ZmFsc2UsImRvY3MtaGZ0IjoiIiwiZG9jcy1lZHNpIjpmYWxzZSwiZG9jcy1lZGFtIjpmYWxzZSwiZG9jcy1lY2VjcyI6ZmFsc2UsImRvY3MtZXNsYXJzIjpmYWxzZSwiZG9jcy1lZHAiOmZhbHNlLCJkb2NzLWVkbG8iOmZhbHNlLCJkb2NzLWVlbSI6ZmFsc2UsImRvY3Mtb2ZmbGluZS1lbmNjcGQiOmZhbHNlLCJkb2NzLWVjZW5waWsiOmZhbHNlLCJkb2NzLWVkc2wiOmZhbHNlLCJkb2NzLWVmc2lpIjpmYWxzZSwiZG9jcy1lbGNmZCI6ZmFsc2UsImRvY3MtZWp0bHIiOmZhbHNlLCJkb2NzLWVkbWl0bSI6ZmFsc2UsImRvY3MtZW5qZWMiOmZhbHNlLCJkb2NzLWVoZHIiOmZhbHNlLCJkb2NzLWVnbWlkIjpmYWxzZSwiZG9jcy1lbG1mdiI6dHJ1ZSwiZG9jcy1lZm1zaCI6ZmFsc2UsImRvY3MtZWxyaSI6dHJ1ZSwiZWNpZCI6dHJ1ZSwiZG9jcy1laXIiOmZhbHNlLCJkb2NzLWVkbGwiOmZhbHNlLCJzZXJ2ZXJfdGltZV9tcyI6MTU4MDU5OTI4OTk5NCwiZ2FpYV9zZXNzaW9uX2lkIjoiIiwiYXBwLWJjIjoiI2QxZDFkMSIsImVuYWJsZV9pZnJhbWVkX2VtYmVkX2FwaSI6dHJ1ZSwiZG9jcy1mdXQiOiJodHRwczovL2RyaXZlLmdvb2dsZS5jb20jZm9sZGVycy97Zm9sZGVySWR9IiwiZG9jcy1pc2IiOnRydWUsImRvY3MtZW5jdCI6ZmFsc2UsImRvY3MtZW10cmxyYyI6ZmFsc2UsImRvY3MtZW10cmIxciI6ZmFsc2UsImRvY3MtbXRyYjFjIjoiIiwiZG9jcy1tdHJiMmMiOiIiLCJkb2NzLW10cmIzYyI6IiIsImRvY3MtYWdkYyI6ZmFsc2UsImRvY3MtYW5kZGMiOnRydWUsImRvY3MtYWRuZGxkYyI6ZmFsc2UsImRvY3MtZWZ0cyI6ZmFsc2UsImRvY3MtY24iOiIiLCJkb2NzLWR3YyI6ZmFsc2UsImRvY3MtZGVwcXVhZnIiOmZhbHNlLCJkb2NzLWVsc3IiOmZhbHNlLCJkb2NzLWVsbWMiOmZhbHNlLCJkb2NzLWVtdHJiMnIiOmZhbHNlLCJkb2NzLWVtdHJiM3IiOmZhbHNlLCJkb2NzLWZyYmFubWMiOmZhbHNlLCJkb2NzLXJsZGNlIjpmYWxzZSwiZG9jcy1zYXNpYyI6ZmFsc2UsImRvY3MtZG9tIjpmYWxzZSwiZG9jcy1lYmlkdSI6ZmFsc2UsImRvY3MtZWRhbWMiOmZhbHNlLCJkb2NzLWVkb21pYyI6ZmFsc2UsImRvY3MtZWRkbSI6ZmFsc2UsImRvY3MtZWZvZWNjIjpmYWxzZSwiZG9jcy1md2QiOmZhbHNlLCJkb2NzLWVpZHVjIjp0cnVlLCJkb2NzLWVsZHMiOmZhbHNlLCJkb2NzLW1jc3NhIjpmYWxzZSwiZG9jcy1lbXRmIjpmYWxzZSwiZG9jcy1lcGgiOmZhbHNlLCJkb2NzLWVwcGQiOmZhbHNlLCJkb2NzLWVyciI6ZmFsc2UsImRvY3MtdGRkIjpmYWxzZSwiZG9jcy1taWIiOjUyNDI4ODAsImRvY3MtbWlwIjo2MjUwMDAwLCJkb2NzLXJzYyI6IiIsImRvY3Mtc3NpIjpmYWxzZSwiZG9jcy11b2NpIjoiIiwiZG9jcy1ndGgiOiIiLCJkb2NzLXBvIjoiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20iLCJkb2NzLXRvIjoiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20iLCJwcm9qZWN0b3Jfdmlld191cmwiOiJodHRwczovL2RyaXZlLmdvb2dsZS5jb20vZmlsZS9kLzF1VkdobVlTdG03ejVXYjF2N1JrajBuWUI0dHpyelhERy92aWV3P3VzcFx1MDAzZGRvY3Nfd2ViIiwiZG9jcy1zZXNvIjpmYWxzZSwiZG9jcy1lYXN0ZGZtIjpmYWxzZSwiZG9jcy1lYXN0ZCI6ZmFsc2UsImRvY3MtZW9lcyI6ZmFsc2UsIm9wZW5kdiI6ZmFsc2UsIm9uZVBpY2tJbXBvcnREb2N1bWVudFVybCI6IiIsIm9wbWJzIjo1MjQyODgwLCJvcG1wZCI6MjUwMCwib3BidSI6Imh0dHBzOi8vZG9jcy5nb29nbGUuY29tL3BpY2tlciIsIm9wcnUiOiJodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9yZWxheS5odG1sIiwib3BkdSI6ZmFsc2UsIm9wY2NwIjpmYWxzZSwib3BoaSI6InRleG1leCIsIm9wc3QiOiIwMDA3NzBGMjAzQ0UzQzRGOTQ3RDE1MzZEMTM3REQzQjlBODJDNzIwQTAzODk1MzYwMTo6MTU4MDU5OTI4OTk5NiIsIm9wdWNpIjoiIiwiZG9jcy1lb3BpaXYyIjp0cnVlLCJkb2NzLWRtIjoiYXBwbGljYXRpb24vcGRmIiwiZG9jcy1uZHNvbSI6W10sImRvY3Mtc2Rzb20iOltdLCJkb2NzLWxmdWkiOmZhbHNlLCJqb2JzZXQiOiJwcm9kIiwiZG9jcy1lYnJvYyI6ZmFsc2UsImRvY3MtZWFscmUiOmZhbHNlLCJkb2NzLWV0YmxiaSI6ZmFsc2UsImRvY3MtZXRhdW8iOmZhbHNlLCJkb2NzLWVjYWQiOmZhbHNlLCJkb2NzLWVlYnYiOmZhbHNlLCJkb2NzLWVlYnZ0IjpmYWxzZSwiZG9jcy1lbXNpYiI6ZmFsc2UsImRvY3MtZWlpYiI6ZmFsc2UsImRvY3MtZWJsY2FzIjpmYWxzZSwiZG9jcy1lZWIiOmZhbHNlLCJkb2NzLWVxc3J1YXRidSI6ZmFsc2UsImRvY3Mtc2UiOmZhbHNlLCJkb2NzLWVnZiI6ZmFsc2UsImRvY3Mtb2RvbGgiOmZhbHNlLCJkb2NzLWVvZHAiOmZhbHNlLCJkb2NzLW9kcHUiOltudWxsLG51bGwsbnVsbCwiLy9kcml2ZS5nb29nbGUuY29tL29kcC9lbWJlZCJdLCJkb2NzLXNwZHkiOmZhbHNlLCJ4ZGJjZkFsbG93SG9zdE5hbWVQcmVmaXgiOnRydWUsInhkYmNmQWxsb3dYcGMiOnRydWUsImRvY3MtaXJvciI6dHJ1ZSwicHJvbW9fdXJsIjoiIiwicHJvbW9fdGl0bGUiOiIiLCJwcm9tb190aXRsZV9wcmVmaXgiOiIiLCJwcm9tb19jb250ZW50X2h0bWwiOiIiLCJwcm9tb19tb3JlX2VsZW1lbnRfdGV4dCI6IiIsInByb21vX2VsZW1lbnRfaWQiOiIiLCJwcm9tb19vcmllbnRhdGlvbiI6MSwicHJvbW9fYXJyb3dfYWxpZ25tZW50IjowLCJwcm9tb19zaG93X29uX2NsaWNrIjpmYWxzZSwicHJvbW9faGlkZV9hcnJvdyI6ZmFsc2UsInByb21vX3Nob3dfb25fbG9hZCI6ZmFsc2UsInByb21vX21hcmtfZGlzbWlzc2VkX29uX3Nob3ciOmZhbHNlLCJwcm9tb191c2VfZ2xvYmFsX3ByZWZlcmVuY2UiOmZhbHNlLCJwcm9tb19jbG9zZV9idXR0b25fdGV4dCI6IiIsInByb21vX2ljb25fdXJsIjoiIiwicHJvbW9fYWN0aW9uX2lkIjoiIiwicHJvbW9faW1wcmVzc2lvbl9pZCI6MCwicHJvbW9faXNfY29udGV4dHVhbCI6ZmFsc2UsImRvY3MtZXBjYyI6ZmFsc2UsImRvY3NfYWJ1c2VfbGluayI6Imh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2FidXNlP2lkXHUwMDNkMXVWR2htWVN0bTd6NVdiMXY3UmtqMG5ZQjR0enJ6WERHIiwiZG9jcy1tc29pbCI6ImRvY3Nfc3Bhbm5lciIsImRvY3MtZ3NvaWwiOiJkb2NzX2dzYWJzIiwiZG9jcy1mc2QiOmZhbHNlfTsgX2RvY3NfZmxhZ19jZWs9IG51bGwgOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IjdoWHlJcGxCSTA0QUpEVHRJRWVUWUEiPndpbmRvdy52aWV3ZXJEYXRhID0ge2NvbmZpZzogeydpZCc6ICcxdVZHaG1ZU3RtN3o1V2IxdjdSa2owbllCNHR6cnpYREcnLCAndGl0bGUnOiAnVW50aXRsZWQgZG9jdW1lbnQucGRmJywgJ2lzSXRlbVRyYXNoZWQnOiAnZmFsc2UnLCdlbmFibGVFbWJlZERpYWxvZyc6IHRydWUsJ3Byb2plY3RvckZlZWRiYWNrSWQnOiAnOTk5NTAnLCAncHJvamVjdG9yRmVlZGJhY2tCdWNrZXQnOiAndmlld2VyLXdlYicsfSwgY29uZmlnSnNvbjogWyIiLG51bGwsbnVsbCxudWxsLG51bGwsMSxudWxsLG51bGwsbnVsbCwxLDEsWzEsbnVsbCxudWxsLG51bGwsMCxudWxsLDEsbnVsbCxudWxsLCJBSXphU3lDMWVRMXhqNjlJZFRNZWlpNXI3YnJzM1I5MGVjay1tN2siLDAsIi9kcml2ZS92MmJldGEiLDAsMCwxLFswLDAsMF0KLG51bGwsMSxudWxsLDAsMV0KLG51bGwsNSwxLG51bGwsbnVsbCwxLCJodHRwczovL2RyaXZlLmdvb2dsZS5jb20iLG51bGwsbnVsbCwxLG51bGwsMSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsMSxudWxsLG51bGwsW1tudWxsLCIwIl0KLDYsMSwxLCJORCIsbnVsbCxudWxsLDFdCixudWxsLDEsbnVsbCxudWxsLFtudWxsLG51bGwsbnVsbCxudWxsLCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vU2VydmljZUxvZ2luP3NlcnZpY2VcdTAwM2R3aXNlXHUwMDI2cGFzc2l2ZVx1MDAzZDEyMDk2MDBcdTAwMjZjb250aW51ZVx1MDAzZGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2ZpbGUvZC8xdVZHaG1ZU3RtN3o1V2IxdjdSa2owbllCNHR6cnpYREcvZWRpdFx1MDAyNmhsXHUwMDNkcHRfQlJcdTAwMjZmb2xsb3d1cFx1MDAzZGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2ZpbGUvZC8xdVZHaG1ZU3RtN3o1V2IxdjdSa2owbllCNHR6cnpYREcvZWRpdCIsbnVsbCxudWxsLG51bGwsMV0KLG51bGwsbnVsbCwxLG51bGwsbnVsbCwiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20iLG51bGwsMSxbbnVsbCwwXQosWyJodHRwczovL3lvdXR1YmUuZ29vZ2xlYXBpcy5jb20iLG51bGwsMl0KLDEsbnVsbCxudWxsLG51bGwsMSxudWxsLDEsMSxudWxsLG51bGwsIjAwMDc3MEYyMDM0Q0NDNzU1OUFFOTU0NjdEMjJBNjFFMzI4MzU1NDZGMTBBMUExQTQxOjoxNTgwNTk5Mjg5OTk5IixudWxsLFsxLDEsMSwxXQosbnVsbCwxLG51bGwsMyxudWxsLG51bGwsbnVsbCxudWxsLDEsWyJBSXphU3lDTXA2c3I0b1RDMThBV2tFMklpNFVCWkhUSEVwR1pXWk0iLCJodHRwczovL2Jsb2Jjb21tZW50cy1wYS5jbGllbnRzNi5nb29nbGUuY29tIixudWxsLDEsMSwxXQosbnVsbCwxLG51bGwsbnVsbCwwLG51bGwsbnVsbCwxLG51bGwsbnVsbCxudWxsLFsxLDEsMV0KLG51bGwsbnVsbCwxLG51bGwsbnVsbCwxLDEsbnVsbCxudWxsLG51bGwsbnVsbCxbMCwwXQosbnVsbCxudWxsLG51bGwsbnVsbCwwLG51bGwsMCwxLG51bGwsMSwiaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vZHJpdmU/cFx1MDAzZHdvcmtfd2l0aF9maWxlcyIsbnVsbCwwLG51bGwsWzAsIiIsIiIsIiIsIiJdCixudWxsLG51bGwsbnVsbCwxLG51bGwsWzFdCl0KLCBpdGVtSnNvbjogW251bGwsIlVudGl0bGVkIGRvY3VtZW50LnBkZiIsImh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9ucGNDYnlSVWhlR21kSEpZclJxejVWSVhjSWZwQlMtejFPQ1h3aFlrbDg5S3laMkxTNDlDeFdYRTNuNWlUdmh5Y2lCRWNtbEM4c0hpYmdcdTAwM2R3MTYwMC1ydyIsbnVsbCxudWxsLG51bGwsIjF1VkdobVlTdG03ejVXYjF2N1JrajBuWUI0dHpyelhERyIsbnVsbCxudWxsLCJodHRwczovL2RyaXZlLmdvb2dsZS5jb20vdmlld2VybmcvdXBsb2FkP2RzXHUwMDNkQVB6bnphYVFYZDZTbGFvV0VDTndxSmFMRXY3RTdFb0otTVR3N3lMNFgtVTNremJ0QnVMbEcxTkt2VlctaU4yWFhtWUlyd1k1ME1NUDBYR3B0X01RWHRDYWNyZlZRNUFaRmZrUjdtWXU5UEc2c3NCMGVFSGFZWTNBSk1qWENFbks2SnNabmdlOTdTMmFvSDZnNHBJdmoyRlh0M0Vhd3RMc0k1Wlg4LVQzcy1mQ3JjaTBUMkp2d08yOTZHU09HZFRHd1F2Nkp3V2Z4R1dhNzlRc0UtOS1yRDhNMjN5NEgyMkxoMXZjbzdmbDV4V0RtYnNoTW1KTVBDOWxITjhoNUVkZ05xUC01c2tNTHNQcEdJQ2RzdzFKbTI0OTB1eE90VElhQ1FjYk91TVJMNFFYR2pVVnZXZ2lZWFltelJ4Zks3cGFqR3dxWERpNUxBMU5cdTAwMjZja1x1MDAzZGRyaXZlXHUwMDI2cFx1MDAzZHByb2oiLG51bGwsImFwcGxpY2F0aW9uL3BkZiIsbnVsbCxudWxsLDYsbnVsbCwiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZmlsZS9kLzF1VkdobVlTdG03ejVXYjF2N1JrajBuWUI0dHpyelhERy92aWV3IixudWxsLCJodHRwczovL2RyaXZlLmdvb2dsZS5jb20vdWM/aWRcdTAwM2QxdVZHaG1ZU3RtN3o1V2IxdjdSa2owbllCNHR6cnpYREdcdTAwMjZleHBvcnRcdTAwM2Rkb3dubG9hZCIsbnVsbCw1LDAsbnVsbCxudWxsLG51bGwsW251bGwsbnVsbCwiOTU5MSJdCixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsMCwicGRmIixudWxsLFtbIjBCNmd0YXB0Y0pFYnVWVVU1UVZwRWRDczFhbFJOVkRkSGFGVmliVzU1ZW1aQlZGZHZQUSJdCixbXQpdCixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwwXQp9Ozwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IjdoWHlJcGxCSTA0QUpEVHRJRWVUWUEiPjt0aGlzLmdiYXJfPXtDT05GSUc6W1tbMCwid3d3LmdzdGF0aWMuY29tIiwib2cucXRtLmVuX1VTLnMydXlYNVNTZDNZLk8iLCJjb20uYnIiLCJwdC1CUiIsIjI1IiwwLFs0LDIsIi40MC40MC40MC40MC40MC40MC4iLCIiLCIxMzAwMTAyLDM3MDAyNDYsMzcwMDU3MiwzNzAwNjk3LDM3MDA3MjUiLCIyOTE2NDI5MzIiLCIwIl0sbnVsbCwiLWdjMlh2ckxCTWE0endLQWlJZUFEZyIsbnVsbCwwLCJvZy5xdG0uLTFpdWt5enp6b2dncnYuTC5XLk8iLCJBQTJZclR0dUdhNTQwZHUtNjRyc1N4MnNhd2NoWHNuUFBRIiwiQUEyWXJUdjJlQXRpMUhQWnp1RWhjYXhBSDVZcF9rSFhEdyIsIiIsMiwxLDIwMCwiQlJBIixudWxsLG51bGwsIjI1IiwiMjUiLDFdLG51bGwsWzEsMC4xMDAwMDAwMDE0OTAxMTYxLDIsMV0sWzEsMC4wMDEwMDAwMDAwNDc0OTc0NTEsMV0sWzAsMCwwLG51bGwsIiIsIiIsIiIsIiJdLFswLDAsIiIsMSwwLDAsMCwwLDAsMCwwLDAsMCxudWxsLDAsMCxudWxsLG51bGwsMCwwLDAsIiIsIiIsIiIsIiIsIiIsIiIsbnVsbCwwLDAsMCwwLDAsbnVsbCxudWxsLG51bGwsInJnYmEoMzIsMzMsMzYsMSkiLCJyZ2JhKDI1NSwyNTUsMjU1LDEpIiwwLDAsMSwwXSxudWxsLG51bGwsWyIxIiwiZ2NpXzkxZjMwNzU1ZDZhNmI3ODdkY2MyYTQwNjJlNmU5ODI0LmpzIiwiZ29vZ2xlYXBpcy5jbGllbnQ6cGx1c29uZTpnYXBpLmlmcmFtZXMiLCIiLCJwdC1CUiJdLG51bGwsbnVsbCxudWxsLG51bGwsWyJtOy9fL3Njcy9hYmMtc3RhdGljL18vanMvaz1nYXBpLmdhcGkuZW4uU2o1TEt5ZVVLb0UuTy9kPTEvY3Q9emdtcy9ycz1BSHBPb285VG9DdG9hejBtcjlJS1hBb3A2RXE5QUlwU2x3L209X19mZWF0dXJlc19fIiwiaHR0cHM6Ly9hcGlzLmdvb2dsZS5jb20iLCIiLCIiLCIiLCIiLG51bGwsMSwiZXNfcGx1c29uZV9nY18yMDE5MTAyNS4wX3AxIiwicHQtQlIiLG51bGwsMF0sWzAuMDA5OTk5OTk5Nzc2NDgyNTgyLCJjb20uYnIiLCIyNSIsW251bGwsIiIsIjAiLG51bGwsMSw1MTg0MDAwLG51bGwsbnVsbCwiIiwwLDEsIiIsMCwwLDAsMCwwLDAsMSwwLDAsMF0sbnVsbCxbWyIiLCIiLCIwIiwwLDAsLTFdXSxudWxsLDAsbnVsbCxudWxsLFsiNTA2MTQ1MSIsImdvb2dsZVxcLihjb218cnV8Y2F8Ynl8a3p8Y29tXFwubXh8Y29tXFwudHIpJCIsMV1dLFsxLDEsMCw0MDQwMCwyNSwiQlJBIiwicHQtQlIiLCIyOTE2NDI5MzIuMCIsOCwwLjAwOTk5OTk5OTc3NjQ4MjU4MiwwLDAsbnVsbCxudWxsLDEsMCwiMzcwMDcyNSIsbnVsbCxudWxsLG51bGwsIi1nYzJYdnJMQk1hNHp3S0FpSWVBRGciXSxbW251bGwsbnVsbCxudWxsLCJodHRwczovL3d3dy5nc3RhdGljLmNvbS9vZy9fL2pzL2s9b2cucXRtLmVuX1VTLnMydXlYNVNTZDNZLk8vcnQ9ai9tPXFhYnIscV9kLHFjd2lkLHFtdXRzZCxxYXBpZC9leG09cWFhdyxxYWRkLHFhaWQscWVpbixxaGF3LHFoYnIscWhjaCxxaGdhLHFoaWQscWhpbixxaHByL2Q9MS9lZD0xL3JzPUFBMllyVHR1R2E1NDBkdS02NHJzU3gyc2F3Y2hYc25QUFEiXV0sbnVsbCxudWxsLFsiIl0sW1tbbnVsbCxudWxsLCJodHRwczovL29ncy5nb29nbGUuY29tL3dpZGdldC9hcHAvc28/aGw9cHQtQlIiLDAsNDY4LDM0MCw1Nyw0LDEsMCwwLDYzLDY0LDgwMDAsImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20uYnIvaW50bC9wdC1CUi9hYm91dC9wcm9kdWN0cyIsNjcsMSw2OSxudWxsLDEsNzAsIk9jb3JyZXUgdW0gcHJvYmxlbWEgbm8gY2FycmVnYW1lbnRvIGRvIGNvbmp1bnRvIGRlIGFwbGljYXRpdm9zLiBUZW50ZSBub3ZhbWVudGUgZW0gYWxndW5zIG1pbnV0b3Mgb3UgYWNlc3NlIGEgcMOhZ2luYSAlMSRzUHJvZHV0b3MgZG8gR29vZ2xlJTIkcy4iLDMsMSwwLDc0LDBdXSwwLFtudWxsLG51bGwsbnVsbCwiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vb2cvXy9qcy9rPW9nLnF0bS5lbl9VUy5zMnV5WDVTU2QzWS5PL3J0PWovbT1xZHNoL2Q9MS9lZD0xL3JzPUFBMllyVHR1R2E1NDBkdS02NHJzU3gyc2F3Y2hYc25QUFEiXSwiMjUiLCIyNSIsMSwwXV1dLH07dGhpcy5nYmFyXz10aGlzLmdiYXJffHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Ci8qCgogQ29weXJpZ2h0IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy4KIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCnZhciBhYSxjYSxkYSxqYSxrYSxsYSxtYSxuYSxvYSxGYSxHYSxJYTthYT1mdW5jdGlvbihhKXt2YXIgYz0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBjPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYysrXX06e2RvbmU6ITB9fX07Xy5iYT1mdW5jdGlvbihhKXt2YXIgYz0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07cmV0dXJuIGM/Yy5jYWxsKGEpOntuZXh0OmFhKGEpfX07Y2E9ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5jcmVhdGU/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihhKXt2YXIgYz1mdW5jdGlvbigpe307Yy5wcm90b3R5cGU9YTtyZXR1cm4gbmV3IGN9OwppZigiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LnNldFByb3RvdHlwZU9mKWRhPU9iamVjdC5zZXRQcm90b3R5cGVPZjtlbHNle3ZhciBmYTthOnt2YXIgaGE9e1FnOiEwfSxpYT17fTt0cnl7aWEuX19wcm90b19fPWhhO2ZhPWlhLlFnO2JyZWFrIGF9Y2F0Y2goYSl7fWZhPSExfWRhPWZhP2Z1bmN0aW9uKGEsYyl7YS5fX3Byb3RvX189YztpZihhLl9fcHJvdG9fXyE9PWMpdGhyb3cgbmV3IFR5cGVFcnJvcigiYWAiK2EpO3JldHVybiBhfTpudWxsfWphPWRhOwpfLnA9ZnVuY3Rpb24oYSxjKXthLnByb3RvdHlwZT1jYShjLnByb3RvdHlwZSk7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTtpZihqYSlqYShhLGMpO2Vsc2UgZm9yKHZhciBkIGluIGMpaWYoInByb3RvdHlwZSIhPWQpaWYoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMpe3ZhciBlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxkKTtlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxkLGUpfWVsc2UgYVtkXT1jW2RdO2EuTD1jLnByb3RvdHlwZX07a2E9ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbihhLGMsZCl7YSE9QXJyYXkucHJvdG90eXBlJiZhIT1PYmplY3QucHJvdG90eXBlJiYoYVtjXT1kLnZhbHVlKX07CmxhPWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWwsYV07Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDsrK2Mpe3ZhciBkPWFbY107aWYoZCYmZC5NYXRoPT1NYXRoKXJldHVybiBkfXJldHVybiBnbG9iYWxUaGlzfTttYT1sYSh0aGlzKTtuYT1mdW5jdGlvbihhLGMpe2lmKGMpe3ZhciBkPW1hO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZT0wO2U8YS5sZW5ndGgtMTtlKyspe3ZhciBmPWFbZV07ZiBpbiBkfHwoZFtmXT17fSk7ZD1kW2ZdfWE9YVthLmxlbmd0aC0xXTtlPWRbYV07Yz1jKGUpO2MhPWUmJm51bGwhPWMmJmthKGQsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX19OwpvYT1mdW5jdGlvbihhLGMsZCl7aWYobnVsbD09YSl0aHJvdyBuZXcgVHlwZUVycm9yKCJiYCIrZCk7aWYoYyBpbnN0YW5jZW9mIFJlZ0V4cCl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYCIrZCk7cmV0dXJuIGErIiJ9O25hKCJTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGgiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYyxkKXt2YXIgZT1vYSh0aGlzLGMsInN0YXJ0c1dpdGgiKSxmPWUubGVuZ3RoLGc9Yy5sZW5ndGg7ZD1NYXRoLm1heCgwLE1hdGgubWluKGR8MCxlLmxlbmd0aCkpO2Zvcih2YXIgaD0wO2g8ZyYmZDxmOylpZihlW2QrK10hPWNbaCsrXSlyZXR1cm4hMTtyZXR1cm4gaD49Z319KTtuYSgiTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIiLGZ1bmN0aW9uKCl7cmV0dXJuIDkwMDcxOTkyNTQ3NDA5OTF9KTsKdmFyIHBhPWZ1bmN0aW9uKCl7cGE9ZnVuY3Rpb24oKXt9O21hLlN5bWJvbHx8KG1hLlN5bWJvbD1xYSl9LHJhPWZ1bmN0aW9uKGEsYyl7dGhpcy5iPWE7a2EodGhpcywiZGVzY3JpcHRpb24iLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfTtyYS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ifTsKdmFyIHFhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShkKXtpZih0aGlzIGluc3RhbmNlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJkIik7cmV0dXJuIG5ldyByYSgianNjb21wX3N5bWJvbF8iKyhkfHwiIikrIl8iK2MrKyxkKX12YXIgYz0wO3JldHVybiBhfSgpLHRhPWZ1bmN0aW9uKCl7cGEoKTt2YXIgYT1tYS5TeW1ib2wuaXRlcmF0b3I7YXx8KGE9bWEuU3ltYm9sLml0ZXJhdG9yPW1hLlN5bWJvbCgiU3ltYm9sLml0ZXJhdG9yIikpOyJmdW5jdGlvbiIhPXR5cGVvZiBBcnJheS5wcm90b3R5cGVbYV0mJmthKEFycmF5LnByb3RvdHlwZSxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gc2EoYWEodGhpcykpfX0pO3RhPWZ1bmN0aW9uKCl7fX0sc2E9ZnVuY3Rpb24oYSl7dGEoKTthPXtuZXh0OmF9O2FbbWEuU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTtyZXR1cm4gYX0sdWE9ZnVuY3Rpb24oYSxjKXt0YSgpOwphIGluc3RhbmNlb2YgU3RyaW5nJiYoYSs9IiIpO3ZhciBkPTAsZT17bmV4dDpmdW5jdGlvbigpe2lmKGQ8YS5sZW5ndGgpe3ZhciBmPWQrKztyZXR1cm57dmFsdWU6YyhmLGFbZl0pLGRvbmU6ITF9fWUubmV4dD1mdW5jdGlvbigpe3JldHVybntkb25lOiEwLHZhbHVlOnZvaWQgMH19O3JldHVybiBlLm5leHQoKX19O2VbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBlfTtyZXR1cm4gZX07bmEoIkFycmF5LnByb3RvdHlwZS5rZXlzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7cmV0dXJuIHVhKHRoaXMsZnVuY3Rpb24oYyl7cmV0dXJuIGN9KX19KTtuYSgiQXJyYXkucHJvdG90eXBlLnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiB1YSh0aGlzLGZ1bmN0aW9uKGMsZCl7cmV0dXJuIGR9KX19KTsKdmFyIHZhPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGMpfTsKbmEoIldlYWtNYXAiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGMoKXt9ZnVuY3Rpb24gZChtKXt2YXIgbj10eXBlb2YgbTtyZXR1cm4ib2JqZWN0Ij09PW4mJm51bGwhPT1tfHwiZnVuY3Rpb24iPT09bn1mdW5jdGlvbiBlKG0pe2lmKCF2YShtLGcpKXt2YXIgbj1uZXcgYztrYShtLGcse3ZhbHVlOm59KX19ZnVuY3Rpb24gZihtKXt2YXIgbj1PYmplY3RbbV07biYmKE9iamVjdFttXT1mdW5jdGlvbihyKXtpZihyIGluc3RhbmNlb2YgYylyZXR1cm4gcjtlKHIpO3JldHVybiBuKHIpfSl9aWYoZnVuY3Rpb24oKXtpZighYXx8IU9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgbT1PYmplY3Quc2VhbCh7fSksbj1PYmplY3Quc2VhbCh7fSkscj1uZXcgYShbW20sMl0sW24sM11dKTtpZigyIT1yLmdldChtKXx8MyE9ci5nZXQobikpcmV0dXJuITE7clsiZGVsZXRlIl0obSk7ci5zZXQobiw0KTtyZXR1cm4hci5oYXMobSkmJjQ9PXIuZ2V0KG4pfWNhdGNoKHYpe3JldHVybiExfX0oKSlyZXR1cm4gYTsKdmFyIGc9IiRqc2NvbXBfaGlkZGVuXyIrTWF0aC5yYW5kb20oKTtmKCJmcmVlemUiKTtmKCJwcmV2ZW50RXh0ZW5zaW9ucyIpO2YoInNlYWwiKTt2YXIgaD0wLGw9ZnVuY3Rpb24obSl7dGhpcy5iPShoKz1NYXRoLnJhbmRvbSgpKzEpLnRvU3RyaW5nKCk7aWYobSl7bT1fLmJhKG0pO2Zvcih2YXIgbjshKG49bS5uZXh0KCkpLmRvbmU7KW49bi52YWx1ZSx0aGlzLnNldChuWzBdLG5bMV0pfX07bC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG0sbil7aWYoIWQobSkpdGhyb3cgRXJyb3IoImUiKTtlKG0pO2lmKCF2YShtLGcpKXRocm93IEVycm9yKCJmYCIrbSk7bVtnXVt0aGlzLmJdPW47cmV0dXJuIHRoaXN9O2wucHJvdG90eXBlLmdldD1mdW5jdGlvbihtKXtyZXR1cm4gZChtKSYmdmEobSxnKT9tW2ddW3RoaXMuYl06dm9pZCAwfTtsLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24obSl7cmV0dXJuIGQobSkmJnZhKG0sZykmJnZhKG1bZ10sdGhpcy5iKX07bC5wcm90b3R5cGVbImRlbGV0ZSJdPQpmdW5jdGlvbihtKXtyZXR1cm4gZChtKSYmdmEobSxnKSYmdmEobVtnXSx0aGlzLmIpP2RlbGV0ZSBtW2ddW3RoaXMuYl06ITF9O3JldHVybiBsfSk7Cm5hKCJNYXAiLGZ1bmN0aW9uKGEpe2lmKGZ1bmN0aW9uKCl7aWYoIWF8fCJmdW5jdGlvbiIhPXR5cGVvZiBhfHwhYS5wcm90b3R5cGUuZW50cmllc3x8ImZ1bmN0aW9uIiE9dHlwZW9mIE9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgbD1PYmplY3Quc2VhbCh7eDo0fSksbT1uZXcgYShfLmJhKFtbbCwicyJdXSkpO2lmKCJzIiE9bS5nZXQobCl8fDEhPW0uc2l6ZXx8bS5nZXQoe3g6NH0pfHxtLnNldCh7eDo0fSwidCIpIT1tfHwyIT1tLnNpemUpcmV0dXJuITE7dmFyIG49bS5lbnRyaWVzKCkscj1uLm5leHQoKTtpZihyLmRvbmV8fHIudmFsdWVbMF0hPWx8fCJzIiE9ci52YWx1ZVsxXSlyZXR1cm4hMTtyPW4ubmV4dCgpO3JldHVybiByLmRvbmV8fDQhPXIudmFsdWVbMF0ueHx8InQiIT1yLnZhbHVlWzFdfHwhbi5uZXh0KCkuZG9uZT8hMTohMH1jYXRjaCh2KXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7dGEoKTt2YXIgYz1uZXcgV2Vha01hcCxkPWZ1bmN0aW9uKGwpe3RoaXMuZj17fTsKdGhpcy5iPWcoKTt0aGlzLnNpemU9MDtpZihsKXtsPV8uYmEobCk7Zm9yKHZhciBtOyEobT1sLm5leHQoKSkuZG9uZTspbT1tLnZhbHVlLHRoaXMuc2V0KG1bMF0sbVsxXSl9fTtkLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24obCxtKXtsPTA9PT1sPzA6bDt2YXIgbj1lKHRoaXMsbCk7bi5saXN0fHwobi5saXN0PXRoaXMuZltuLmlkXT1bXSk7bi5ZYT9uLllhLnZhbHVlPW06KG4uWWE9e25leHQ6dGhpcy5iLCRiOnRoaXMuYi4kYixoZWFkOnRoaXMuYixrZXk6bCx2YWx1ZTptfSxuLmxpc3QucHVzaChuLllhKSx0aGlzLmIuJGIubmV4dD1uLllhLHRoaXMuYi4kYj1uLllhLHRoaXMuc2l6ZSsrKTtyZXR1cm4gdGhpc307ZC5wcm90b3R5cGVbImRlbGV0ZSJdPWZ1bmN0aW9uKGwpe2w9ZSh0aGlzLGwpO3JldHVybiBsLllhJiZsLmxpc3Q/KGwubGlzdC5zcGxpY2UobC5pbmRleCwxKSxsLmxpc3QubGVuZ3RofHxkZWxldGUgdGhpcy5mW2wuaWRdLGwuWWEuJGIubmV4dD1sLllhLm5leHQsbC5ZYS5uZXh0LiRiPQpsLllhLiRiLGwuWWEuaGVhZD1udWxsLHRoaXMuc2l6ZS0tLCEwKTohMX07ZC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmY9e307dGhpcy5iPXRoaXMuYi4kYj1nKCk7dGhpcy5zaXplPTB9O2QucHJvdG90eXBlLmhhcz1mdW5jdGlvbihsKXtyZXR1cm4hIWUodGhpcyxsKS5ZYX07ZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGwpe3JldHVybihsPWUodGhpcyxsKS5ZYSkmJmwudmFsdWV9O2QucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gZih0aGlzLGZ1bmN0aW9uKGwpe3JldHVybltsLmtleSxsLnZhbHVlXX0pfTtkLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIGYodGhpcyxmdW5jdGlvbihsKXtyZXR1cm4gbC5rZXl9KX07ZC5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGYodGhpcyxmdW5jdGlvbihsKXtyZXR1cm4gbC52YWx1ZX0pfTtkLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGwsbSl7Zm9yKHZhciBuPXRoaXMuZW50cmllcygpLApyOyEocj1uLm5leHQoKSkuZG9uZTspcj1yLnZhbHVlLGwuY2FsbChtLHJbMV0sclswXSx0aGlzKX07ZC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1kLnByb3RvdHlwZS5lbnRyaWVzO3ZhciBlPWZ1bmN0aW9uKGwsbSl7dmFyIG49bSYmdHlwZW9mIG07Im9iamVjdCI9PW58fCJmdW5jdGlvbiI9PW4/Yy5oYXMobSk/bj1jLmdldChtKToobj0iIisgKytoLGMuc2V0KG0sbikpOm49InBfIittO3ZhciByPWwuZltuXTtpZihyJiZ2YShsLmYsbikpZm9yKGw9MDtsPHIubGVuZ3RoO2wrKyl7dmFyIHY9cltsXTtpZihtIT09bSYmdi5rZXkhPT12LmtleXx8bT09PXYua2V5KXJldHVybntpZDpuLGxpc3Q6cixpbmRleDpsLFlhOnZ9fXJldHVybntpZDpuLGxpc3Q6cixpbmRleDotMSxZYTp2b2lkIDB9fSxmPWZ1bmN0aW9uKGwsbSl7dmFyIG49bC5iO3JldHVybiBzYShmdW5jdGlvbigpe2lmKG4pe2Zvcig7bi5oZWFkIT1sLmI7KW49bi4kYjtmb3IoO24ubmV4dCE9bi5oZWFkOylyZXR1cm4gbj0Kbi5uZXh0LHtkb25lOiExLHZhbHVlOm0obil9O249bnVsbH1yZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fSl9LGc9ZnVuY3Rpb24oKXt2YXIgbD17fTtyZXR1cm4gbC4kYj1sLm5leHQ9bC5oZWFkPWx9LGg9MDtyZXR1cm4gZH0pOwpuYSgiU2V0IixmdW5jdGlvbihhKXtpZihmdW5jdGlvbigpe2lmKCFhfHwiZnVuY3Rpb24iIT10eXBlb2YgYXx8IWEucHJvdG90eXBlLmVudHJpZXN8fCJmdW5jdGlvbiIhPXR5cGVvZiBPYmplY3Quc2VhbClyZXR1cm4hMTt0cnl7dmFyIGQ9T2JqZWN0LnNlYWwoe3g6NH0pLGU9bmV3IGEoXy5iYShbZF0pKTtpZighZS5oYXMoZCl8fDEhPWUuc2l6ZXx8ZS5hZGQoZCkhPWV8fDEhPWUuc2l6ZXx8ZS5hZGQoe3g6NH0pIT1lfHwyIT1lLnNpemUpcmV0dXJuITE7dmFyIGY9ZS5lbnRyaWVzKCksZz1mLm5leHQoKTtpZihnLmRvbmV8fGcudmFsdWVbMF0hPWR8fGcudmFsdWVbMV0hPWQpcmV0dXJuITE7Zz1mLm5leHQoKTtyZXR1cm4gZy5kb25lfHxnLnZhbHVlWzBdPT1kfHw0IT1nLnZhbHVlWzBdLnh8fGcudmFsdWVbMV0hPWcudmFsdWVbMF0/ITE6Zi5uZXh0KCkuZG9uZX1jYXRjaChoKXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7dGEoKTt2YXIgYz1mdW5jdGlvbihkKXt0aGlzLmI9bmV3IE1hcDsKaWYoZCl7ZD1fLmJhKGQpO2Zvcih2YXIgZTshKGU9ZC5uZXh0KCkpLmRvbmU7KXRoaXMuYWRkKGUudmFsdWUpfXRoaXMuc2l6ZT10aGlzLmIuc2l6ZX07Yy5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGQpe2Q9MD09PWQ/MDpkO3RoaXMuYi5zZXQoZCxkKTt0aGlzLnNpemU9dGhpcy5iLnNpemU7cmV0dXJuIHRoaXN9O2MucHJvdG90eXBlWyJkZWxldGUiXT1mdW5jdGlvbihkKXtkPXRoaXMuYlsiZGVsZXRlIl0oZCk7dGhpcy5zaXplPXRoaXMuYi5zaXplO3JldHVybiBkfTtjLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuYi5jbGVhcigpO3RoaXMuc2l6ZT0wfTtjLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oZCl7cmV0dXJuIHRoaXMuYi5oYXMoZCl9O2MucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5iLmVudHJpZXMoKX07Yy5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYi52YWx1ZXMoKX07Yy5wcm90b3R5cGUua2V5cz1jLnByb3RvdHlwZS52YWx1ZXM7CmMucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09Yy5wcm90b3R5cGUudmFsdWVzO2MucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oZCxlKXt2YXIgZj10aGlzO3RoaXMuYi5mb3JFYWNoKGZ1bmN0aW9uKGcpe3JldHVybiBkLmNhbGwoZSxnLGcsZil9KX07cmV0dXJuIGN9KTtuYSgiQXJyYXkuZnJvbSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihjLGQsZSl7ZD1udWxsIT1kP2Q6ZnVuY3Rpb24obCl7cmV0dXJuIGx9O3ZhciBmPVtdLGc9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmY1tTeW1ib2wuaXRlcmF0b3JdO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBnKXtjPWcuY2FsbChjKTtmb3IodmFyIGg9MDshKGc9Yy5uZXh0KCkpLmRvbmU7KWYucHVzaChkLmNhbGwoZSxnLnZhbHVlLGgrKykpfWVsc2UgZm9yKGc9Yy5sZW5ndGgsaD0wO2g8ZztoKyspZi5wdXNoKGQuY2FsbChlLGNbaF0saCkpO3JldHVybiBmfX0pOwpuYSgiT2JqZWN0LmlzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGMsZCl7cmV0dXJuIGM9PT1kPzAhPT1jfHwxL2M9PT0xL2Q6YyE9PWMmJmQhPT1kfX0pO25hKCJBcnJheS5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYyxkKXt2YXIgZT10aGlzO2UgaW5zdGFuY2VvZiBTdHJpbmcmJihlPVN0cmluZyhlKSk7dmFyIGY9ZS5sZW5ndGg7ZD1kfHwwO2ZvcigwPmQmJihkPU1hdGgubWF4KGQrZiwwKSk7ZDxmO2QrKyl7dmFyIGc9ZVtkXTtpZihnPT09Y3x8T2JqZWN0LmlzKGcsYykpcmV0dXJuITB9cmV0dXJuITF9fSk7bmEoIlN0cmluZy5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYyxkKXtyZXR1cm4tMSE9PW9hKHRoaXMsYywiaW5jbHVkZXMiKS5pbmRleE9mKGMsZHx8MCl9fSk7Cm5hKCJPYmplY3QuZW50cmllcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihjKXt2YXIgZD1bXSxlO2ZvcihlIGluIGMpdmEoYyxlKSYmZC5wdXNoKFtlLGNbZV1dKTtyZXR1cm4gZH19KTtfLndhPV8ud2F8fHt9O18ucT10aGlzfHxzZWxmO18ueGE9ZnVuY3Rpb24oKXt9O18ueWE9ZnVuY3Rpb24oYSl7YS5VZT12b2lkIDA7YS50YT1mdW5jdGlvbigpe3JldHVybiBhLlVlP2EuVWU6YS5VZT1uZXcgYX19OwpfLkFhPWZ1bmN0aW9uKGEpe3ZhciBjPXR5cGVvZiBhO2lmKCJvYmplY3QiPT1jKWlmKGEpe2lmKGEgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4iYXJyYXkiO2lmKGEgaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIGM7dmFyIGQ9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpO2lmKCJbb2JqZWN0IFdpbmRvd10iPT1kKXJldHVybiJvYmplY3QiO2lmKCJbb2JqZWN0IEFycmF5XSI9PWR8fCJudW1iZXIiPT10eXBlb2YgYS5sZW5ndGgmJiJ1bmRlZmluZWQiIT10eXBlb2YgYS5zcGxpY2UmJiJ1bmRlZmluZWQiIT10eXBlb2YgYS5wcm9wZXJ0eUlzRW51bWVyYWJsZSYmIWEucHJvcGVydHlJc0VudW1lcmFibGUoInNwbGljZSIpKXJldHVybiJhcnJheSI7aWYoIltvYmplY3QgRnVuY3Rpb25dIj09ZHx8InVuZGVmaW5lZCIhPXR5cGVvZiBhLmNhbGwmJiJ1bmRlZmluZWQiIT10eXBlb2YgYS5wcm9wZXJ0eUlzRW51bWVyYWJsZSYmIWEucHJvcGVydHlJc0VudW1lcmFibGUoImNhbGwiKSlyZXR1cm4iZnVuY3Rpb24ifWVsc2UgcmV0dXJuIm51bGwiOwplbHNlIGlmKCJmdW5jdGlvbiI9PWMmJiJ1bmRlZmluZWQiPT10eXBlb2YgYS5jYWxsKXJldHVybiJvYmplY3QiO3JldHVybiBjfTtfLkJhPWZ1bmN0aW9uKGEpe3JldHVybiJhcnJheSI9PV8uQWEoYSl9O18uQ2E9ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09Xy5BYShhKX07Xy5EYT1mdW5jdGlvbihhKXt2YXIgYz10eXBlb2YgYTtyZXR1cm4ib2JqZWN0Ij09YyYmbnVsbCE9YXx8ImZ1bmN0aW9uIj09Y307Xy5FYT0iY2xvc3VyZV91aWRfIisoMUU5Kk1hdGgucmFuZG9tKCk+Pj4wKTtGYT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX07CkdhPWZ1bmN0aW9uKGEsYyxkKXtpZighYSl0aHJvdyBFcnJvcigpO2lmKDI8YXJndW1lbnRzLmxlbmd0aCl7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDIpO3JldHVybiBmdW5jdGlvbigpe3ZhciBmPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7QXJyYXkucHJvdG90eXBlLnVuc2hpZnQuYXBwbHkoZixlKTtyZXR1cm4gYS5hcHBseShjLGYpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShjLGFyZ3VtZW50cyl9fTtfLnQ9ZnVuY3Rpb24oYSxjLGQpe0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kJiYtMSE9RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQudG9TdHJpbmcoKS5pbmRleE9mKCJuYXRpdmUgY29kZSIpP18udD1GYTpfLnQ9R2E7cmV0dXJuIF8udC5hcHBseShudWxsLGFyZ3VtZW50cyl9O18uSGE9RGF0ZS5ub3d8fGZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfTsKXy51PWZ1bmN0aW9uKGEsYyl7YT1hLnNwbGl0KCIuIik7dmFyIGQ9Xy5xO2FbMF1pbiBkfHwidW5kZWZpbmVkIj09dHlwZW9mIGQuZXhlY1NjcmlwdHx8ZC5leGVjU2NyaXB0KCJ2YXIgIithWzBdKTtmb3IodmFyIGU7YS5sZW5ndGgmJihlPWEuc2hpZnQoKSk7KWEubGVuZ3RofHx2b2lkIDA9PT1jP2RbZV0mJmRbZV0hPT1PYmplY3QucHJvdG90eXBlW2VdP2Q9ZFtlXTpkPWRbZV09e306ZFtlXT1jfTtfLnc9ZnVuY3Rpb24oYSxjKXtmdW5jdGlvbiBkKCl7fWQucHJvdG90eXBlPWMucHJvdG90eXBlO2EuTD1jLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgZDthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hfTtJYT1mdW5jdGlvbihhKXtyZXR1cm4gYX07Cl8uSmE9ZnVuY3Rpb24oYSl7dmFyIGM9bnVsbCxkPV8ucS50cnVzdGVkVHlwZXN8fF8ucS5UcnVzdGVkVHlwZXM7aWYoIWR8fCFkLmNyZWF0ZVBvbGljeSlyZXR1cm4gYzt0cnl7Yz1kLmNyZWF0ZVBvbGljeShhLHtjcmVhdGVIVE1MOklhLGNyZWF0ZVNjcmlwdDpJYSxjcmVhdGVTY3JpcHRVUkw6SWEsY3JlYXRlVVJMOklhfSl9Y2F0Y2goZSl7Xy5xLmNvbnNvbGUmJl8ucS5jb25zb2xlLmVycm9yKGUubWVzc2FnZSl9cmV0dXJuIGN9O18uSmEoIm9nYi1xdG0jYmFzZSIpOwpfLkthPWZ1bmN0aW9uKGEpe2lmKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKUVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsXy5LYSk7ZWxzZXt2YXIgYz1FcnJvcigpLnN0YWNrO2MmJih0aGlzLnN0YWNrPWMpfWEmJih0aGlzLm1lc3NhZ2U9U3RyaW5nKGEpKX07Xy53KF8uS2EsRXJyb3IpO18uS2EucHJvdG90eXBlLm5hbWU9IkN1c3RvbUVycm9yIjsKXy5MYT1BcnJheS5wcm90b3R5cGUuaW5kZXhPZj9mdW5jdGlvbihhLGMpe3JldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGEsYyx2b2lkIDApfTpmdW5jdGlvbihhLGMpe2lmKCJzdHJpbmciPT09dHlwZW9mIGEpcmV0dXJuInN0cmluZyIhPT10eXBlb2YgY3x8MSE9Yy5sZW5ndGg/LTE6YS5pbmRleE9mKGMsMCk7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aDtkKyspaWYoZCBpbiBhJiZhW2RdPT09YylyZXR1cm4gZDtyZXR1cm4tMX07Xy5NYT1BcnJheS5wcm90b3R5cGUuZm9yRWFjaD9mdW5jdGlvbihhLGMsZCl7QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGMsZCl9OmZ1bmN0aW9uKGEsYyxkKXtmb3IodmFyIGU9YS5sZW5ndGgsZj0ic3RyaW5nIj09PXR5cGVvZiBhP2Euc3BsaXQoIiIpOmEsZz0wO2c8ZTtnKyspZyBpbiBmJiZjLmNhbGwoZCxmW2ddLGcsYSl9OwpfLk5hPUFycmF5LnByb3RvdHlwZS5maWx0ZXI/ZnVuY3Rpb24oYSxjLGQpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYSxjLGQpfTpmdW5jdGlvbihhLGMsZCl7Zm9yKHZhciBlPWEubGVuZ3RoLGY9W10sZz0wLGg9InN0cmluZyI9PT10eXBlb2YgYT9hLnNwbGl0KCIiKTphLGw9MDtsPGU7bCsrKWlmKGwgaW4gaCl7dmFyIG09aFtsXTtjLmNhbGwoZCxtLGwsYSkmJihmW2crK109bSl9cmV0dXJuIGZ9O18uT2E9QXJyYXkucHJvdG90eXBlLm1hcD9mdW5jdGlvbihhLGMsZCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhLGMsZCl9OmZ1bmN0aW9uKGEsYyxkKXtmb3IodmFyIGU9YS5sZW5ndGgsZj1BcnJheShlKSxnPSJzdHJpbmciPT09dHlwZW9mIGE/YS5zcGxpdCgiIik6YSxoPTA7aDxlO2grKyloIGluIGcmJihmW2hdPWMuY2FsbChkLGdbaF0saCxhKSk7cmV0dXJuIGZ9OwpfLlBhPUFycmF5LnByb3RvdHlwZS5zb21lP2Z1bmN0aW9uKGEsYyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYSxjLHZvaWQgMCl9OmZ1bmN0aW9uKGEsYyl7Zm9yKHZhciBkPWEubGVuZ3RoLGU9InN0cmluZyI9PT10eXBlb2YgYT9hLnNwbGl0KCIiKTphLGY9MDtmPGQ7ZisrKWlmKGYgaW4gZSYmYy5jYWxsKHZvaWQgMCxlW2ZdLGYsYSkpcmV0dXJuITA7cmV0dXJuITF9O18uUWE9ZnVuY3Rpb24oYSxjKXtyZXR1cm4gMDw9KDAsXy5MYSkoYSxjKX07CnZhciBTYTtfLlJhPWZ1bmN0aW9uKGEsYyxkKXtmb3IodmFyIGUgaW4gYSljLmNhbGwoZCxhW2VdLGUsYSl9O1NhPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIik7Xy5UYT1mdW5jdGlvbihhLGMpe2Zvcih2YXIgZCxlLGY9MTtmPGFyZ3VtZW50cy5sZW5ndGg7ZisrKXtlPWFyZ3VtZW50c1tmXTtmb3IoZCBpbiBlKWFbZF09ZVtkXTtmb3IodmFyIGc9MDtnPFNhLmxlbmd0aDtnKyspZD1TYVtnXSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxkKSYmKGFbZF09ZVtkXSl9fTsKdmFyIFVhPV8uSmEoIm9nYi1xdG0jaHRtbCIpOwp2YXIgVmE7Xy5YYT1mdW5jdGlvbihhLGMpe3RoaXMuYj1hPT09VmEmJmN8fCIiO3RoaXMuZj1fLldhfTtfLlhhLnByb3RvdHlwZS5PYj0hMDtfLlhhLnByb3RvdHlwZS5BYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmJ9O18uWWE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlhhKFZhLGEpfTtfLldhPXt9O1ZhPXt9O18uWmE9Xy5ZYSgiIik7Cl8uYWI9ZnVuY3Rpb24oKXt0aGlzLmI9IiI7dGhpcy5mPV8uJGF9O18uYWIucHJvdG90eXBlLk9iPSEwO18uJGE9e307Xy5hYi5wcm90b3R5cGUuQWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5iLnRvU3RyaW5nKCl9O18uYmI9ZnVuY3Rpb24oYSl7dmFyIGM9bmV3IF8uYWI7Yy5iPVVhP1VhLmNyZWF0ZVNjcmlwdChhKTphO3JldHVybiBjfTtfLmJiKCIiKTsKdmFyIGNiO18uZWI9ZnVuY3Rpb24oYSxjKXt0aGlzLmY9YT09PWNiJiZjfHwiIjt0aGlzLmo9Xy5kYn07Xy5lYi5wcm90b3R5cGUuT2I9ITA7Xy5lYi5wcm90b3R5cGUuQWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5mLnRvU3RyaW5nKCl9O18uZWIucHJvdG90eXBlLlNlPSEwO18uZWIucHJvdG90eXBlLmI9ZnVuY3Rpb24oKXtyZXR1cm4gMX07Xy5kYj17fTtfLmZiPWZ1bmN0aW9uKGEpe2E9VWE/VWEuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLmViKGNiLGEpfTtjYj17fTsKdmFyIGhiO18uZ2I9U3RyaW5nLnByb3RvdHlwZS50cmltP2Z1bmN0aW9uKGEpe3JldHVybiBhLnRyaW0oKX06ZnVuY3Rpb24oYSl7cmV0dXJuL15bXHNceGEwXSooW1xzXFNdKj8pW1xzXHhhMF0qJC8uZXhlYyhhKVsxXX07Cl8uaWI9ZnVuY3Rpb24oYSxjKXt2YXIgZD0wO2E9KDAsXy5nYikoU3RyaW5nKGEpKS5zcGxpdCgiLiIpO2M9KDAsXy5nYikoU3RyaW5nKGMpKS5zcGxpdCgiLiIpO2Zvcih2YXIgZT1NYXRoLm1heChhLmxlbmd0aCxjLmxlbmd0aCksZj0wOzA9PWQmJmY8ZTtmKyspe3ZhciBnPWFbZl18fCIiLGg9Y1tmXXx8IiI7ZG97Zz0vKFxkKikoXEQqKSguKikvLmV4ZWMoZyl8fFsiIiwiIiwiIiwiIl07aD0vKFxkKikoXEQqKSguKikvLmV4ZWMoaCl8fFsiIiwiIiwiIiwiIl07aWYoMD09Z1swXS5sZW5ndGgmJjA9PWhbMF0ubGVuZ3RoKWJyZWFrO2Q9aGIoMD09Z1sxXS5sZW5ndGg/MDpwYXJzZUludChnWzFdLDEwKSwwPT1oWzFdLmxlbmd0aD8wOnBhcnNlSW50KGhbMV0sMTApKXx8aGIoMD09Z1syXS5sZW5ndGgsMD09aFsyXS5sZW5ndGgpfHxoYihnWzJdLGhbMl0pO2c9Z1szXTtoPWhbM119d2hpbGUoMD09ZCl9cmV0dXJuIGR9OwpoYj1mdW5jdGlvbihhLGMpe3JldHVybiBhPGM/LTE6YT5jPzE6MH07CnZhciBuYixrYjtfLmxiPWZ1bmN0aW9uKGEsYyl7dGhpcy5mPWE9PT1fLmpiJiZjfHwiIjt0aGlzLmo9a2J9O18ubGIucHJvdG90eXBlLk9iPSEwO18ubGIucHJvdG90eXBlLkFiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZi50b1N0cmluZygpfTtfLmxiLnByb3RvdHlwZS5TZT0hMDtfLmxiLnByb3RvdHlwZS5iPWZ1bmN0aW9uKCl7cmV0dXJuIDF9O18ubWI9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8ubGImJmEuY29uc3RydWN0b3I9PT1fLmxiJiZhLmo9PT1rYilyZXR1cm4gYS5mO18uQWEoYSk7cmV0dXJuInR5cGVfZXJyb3I6U2FmZVVybCJ9O25iPS9eKD86KD86aHR0cHM/fG1haWx0b3xmdHApOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pOwpfLm9iPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmxiKXJldHVybiBhO2E9Im9iamVjdCI9PXR5cGVvZiBhJiZhLk9iP2EuQWIoKTpTdHJpbmcoYSk7bmIudGVzdChhKXx8KGE9ImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7cmV0dXJuIG5ldyBfLmxiKF8uamIsYSl9O18ucGI9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8ubGIpcmV0dXJuIGE7YT0ib2JqZWN0Ij09dHlwZW9mIGEmJmEuT2I/YS5BYigpOlN0cmluZyhhKTtuYi50ZXN0KGEpfHwoYT0iYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXoiKTtyZXR1cm4gbmV3IF8ubGIoXy5qYixhKX07a2I9e307Xy5qYj17fTsKXy5yYj1mdW5jdGlvbigpe3RoaXMuYj0iIjt0aGlzLmY9Xy5xYn07Xy5yYi5wcm90b3R5cGUuT2I9ITA7Xy5xYj17fTtfLnJiLnByb3RvdHlwZS5BYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmJ9O18uc2I9ZnVuY3Rpb24oYSl7dmFyIGM9bmV3IF8ucmI7Yy5iPWE7cmV0dXJuIGN9O18udGI9Xy5zYigiIik7CmE6e3ZhciB2Yj1fLnEubmF2aWdhdG9yO2lmKHZiKXt2YXIgd2I9dmIudXNlckFnZW50O2lmKHdiKXtfLnViPXdiO2JyZWFrIGF9fV8udWI9IiJ9Xy54PWZ1bmN0aW9uKGEpe3JldHVybi0xIT1fLnViLmluZGV4T2YoYSl9Owp2YXIgemI7Xy54Yj1mdW5jdGlvbigpe3JldHVybiBfLngoIlRyaWRlbnQiKXx8Xy54KCJNU0lFIil9O18ueWI9ZnVuY3Rpb24oKXtyZXR1cm4gXy54KCJGaXJlZm94Iil8fF8ueCgiRnhpT1MiKX07Xy5BYj1mdW5jdGlvbigpe3JldHVybiBfLngoIlNhZmFyaSIpJiYhKHpiKCl8fF8ueCgiQ29hc3QiKXx8Xy54KCJPcGVyYSIpfHxfLngoIkVkZ2UiKXx8Xy54KCJFZGcvIil8fF8ueCgiT1BSIil8fF8ueWIoKXx8Xy54KCJTaWxrIil8fF8ueCgiQW5kcm9pZCIpKX07emI9ZnVuY3Rpb24oKXtyZXR1cm4oXy54KCJDaHJvbWUiKXx8Xy54KCJDcmlPUyIpKSYmIV8ueCgiRWRnZSIpfTtfLkJiPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiQW5kcm9pZCIpJiYhKHpiKCl8fF8ueWIoKXx8Xy54KCJPcGVyYSIpfHxfLngoIlNpbGsiKSl9Owp2YXIgQ2I7Xy5EYj1mdW5jdGlvbigpe3RoaXMuZj0iIjt0aGlzLm89Q2I7dGhpcy5qPW51bGx9O18uRGIucHJvdG90eXBlLlNlPSEwO18uRGIucHJvdG90eXBlLmI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qfTtfLkRiLnByb3RvdHlwZS5PYj0hMDtfLkRiLnByb3RvdHlwZS5BYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmYudG9TdHJpbmcoKX07Xy5FYj1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5EYiYmYS5jb25zdHJ1Y3Rvcj09PV8uRGImJmEubz09PUNiKXJldHVybiBhLmY7Xy5BYShhKTtyZXR1cm4idHlwZV9lcnJvcjpTYWZlSHRtbCJ9O0NiPXt9O18uRmI9ZnVuY3Rpb24oYSxjKXt2YXIgZD1uZXcgXy5EYjtkLmY9VWE/VWEuY3JlYXRlSFRNTChhKTphO2Quaj1jO3JldHVybiBkfTtfLkZiKCI8IURPQ1RZUEUgaHRtbD4iLDApO18uR2I9Xy5GYigiIiwwKTtfLkhiPV8uRmIoIjxicj4iLDApOwpfLkliPWZ1bmN0aW9uKGEpe3ZhciBjPSExLGQ7cmV0dXJuIGZ1bmN0aW9uKCl7Y3x8KGQ9YSgpLGM9ITApO3JldHVybiBkfX0oZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2MuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpO2EuYXBwZW5kQ2hpbGQoYyk7Yz1hLmZpcnN0Q2hpbGQuZmlyc3RDaGlsZDthLmlubmVySFRNTD1fLkViKF8uR2IpO3JldHVybiFjLnBhcmVudEVsZW1lbnR9KTsKdmFyIEpiO0piPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiaVBob25lIikmJiFfLngoImlQb2QiKSYmIV8ueCgiaVBhZCIpfTtfLktiPWZ1bmN0aW9uKCl7cmV0dXJuIEpiKCl8fF8ueCgiaVBhZCIpfHxfLngoImlQb2QiKX07Cl8uTGI9ZnVuY3Rpb24oYSl7Xy5MYlsiICJdKGEpO3JldHVybiBhfTtfLkxiWyIgIl09Xy54YTt2YXIgTmI9ZnVuY3Rpb24oYSxjKXt2YXIgZD1NYjtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGQsYSk/ZFthXTpkW2FdPWMoYSl9Owp2YXIgYWMsYmMsTWIsamM7Xy5PYj1fLngoIk9wZXJhIik7Xy55PV8ueGIoKTtfLlBiPV8ueCgiRWRnZSIpO18uUWI9Xy5QYnx8Xy55O18uUmI9Xy54KCJHZWNrbyIpJiYhKC0xIT1fLnViLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigid2Via2l0IikmJiFfLngoIkVkZ2UiKSkmJiEoXy54KCJUcmlkZW50Iil8fF8ueCgiTVNJRSIpKSYmIV8ueCgiRWRnZSIpO18uU2I9LTEhPV8udWIudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSYmIV8ueCgiRWRnZSIpO18uVGI9Xy54KCJNYWNpbnRvc2giKTtfLlViPV8ueCgiV2luZG93cyIpO18uVmI9Xy54KCJMaW51eCIpfHxfLngoIkNyT1MiKTtfLldiPV8ueCgiQW5kcm9pZCIpO18uWGI9SmIoKTtfLlliPV8ueCgiaVBhZCIpO18uWmI9Xy54KCJpUG9kIik7Xy4kYj1fLktiKCk7YWM9ZnVuY3Rpb24oKXt2YXIgYT1fLnEuZG9jdW1lbnQ7cmV0dXJuIGE/YS5kb2N1bWVudE1vZGU6dm9pZCAwfTsKYTp7dmFyIGNjPSIiLGRjPWZ1bmN0aW9uKCl7dmFyIGE9Xy51YjtpZihfLlJiKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoYSk7aWYoXy5QYilyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKGEpO2lmKF8ueSlyZXR1cm4vXGIoPzpNU0lFfHJ2KVs6IF0oW15cKTtdKykoXCl8OykvLmV4ZWMoYSk7aWYoXy5TYilyZXR1cm4vV2ViS2l0XC8oXFMrKS8uZXhlYyhhKTtpZihfLk9iKXJldHVybi8oPzpWZXJzaW9uKVsgXC9dPyhcUyspLy5leGVjKGEpfSgpO2RjJiYoY2M9ZGM/ZGNbMV06IiIpO2lmKF8ueSl7dmFyIGVjPWFjKCk7aWYobnVsbCE9ZWMmJmVjPnBhcnNlRmxvYXQoY2MpKXtiYz1TdHJpbmcoZWMpO2JyZWFrIGF9fWJjPWNjfV8uZmM9YmM7TWI9e307Xy5nYz1mdW5jdGlvbihhKXtyZXR1cm4gTmIoYSxmdW5jdGlvbigpe3JldHVybiAwPD1fLmliKF8uZmMsYSl9KX07Xy5pYz1mdW5jdGlvbihhKXtyZXR1cm4gTnVtYmVyKGhjKT49YX07CmpjPV8ucS5kb2N1bWVudCYmXy55P2FjKCk6dm9pZCAwO3ZhciBoYz1qYzsKXy5rYz1fLnliKCk7Xy5sYz1KYigpfHxfLngoImlQb2QiKTtfLm1jPV8ueCgiaVBhZCIpO18ubmM9Xy5CYigpO18ub2M9emIoKTtfLnBjPV8uQWIoKSYmIV8uS2IoKTsKdmFyIHFjPXt9LHJjPW51bGw7Cl8uc2M9ZnVuY3Rpb24oYSl7dGhpcy5iPTA7dGhpcy5mPWF9O18uc2MucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5iPHRoaXMuZi5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6dGhpcy5mW3RoaXMuYisrXX06e2RvbmU6ITAsdmFsdWU6dm9pZCAwfX07InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJihfLnNjLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KTsKdmFyIHZjLHpjO18uej1mdW5jdGlvbigpe307Xy50Yz0iZnVuY3Rpb24iPT10eXBlb2YgVWludDhBcnJheTsKXy5BPWZ1bmN0aW9uKGEsYyxkLGUsZixnKXthLmI9bnVsbDtjfHwoYz1kP1tkXTpbXSk7YS5GPWQ/U3RyaW5nKGQpOnZvaWQgMDthLnc9MD09PWQ/LTE6MDthLmo9YzthOntkPWEuai5sZW5ndGg7Yz0tMTtpZihkJiYoYz1kLTEsZD1hLmpbY10sIShudWxsPT09ZHx8Im9iamVjdCIhPXR5cGVvZiBkfHxfLkJhKGQpfHxfLnRjJiZkIGluc3RhbmNlb2YgVWludDhBcnJheSkpKXthLkE9Yy1hLnc7YS5vPWQ7YnJlYWsgYX0tMTxlPyhhLkE9TWF0aC5tYXgoZSxjKzEtYS53KSxhLm89bnVsbCk6YS5BPU51bWJlci5NQVhfVkFMVUV9YS5HPXt9O2lmKGYpZm9yKGU9MDtlPGYubGVuZ3RoO2UrKyljPWZbZV0sYzxhLkE/KGMrPWEudyxhLmpbY109YS5qW2NdfHxfLnVjKToodmMoYSksYS5vW2NdPWEub1tjXXx8Xy51Yyk7aWYoZyYmZy5sZW5ndGgpZm9yKGU9MDtlPGcubGVuZ3RoO2UrKylfLndjKGEsZ1tlXSl9O18udWM9W107CnZjPWZ1bmN0aW9uKGEpe3ZhciBjPWEuQSthLnc7YS5qW2NdfHwoYS5vPWEualtjXT17fSl9O18uQj1mdW5jdGlvbihhLGMpe2lmKGM8YS5BKXtjKz1hLnc7dmFyIGQ9YS5qW2NdO3JldHVybiBkPT09Xy51Yz9hLmpbY109W106ZH1pZihhLm8pcmV0dXJuIGQ9YS5vW2NdLGQ9PT1fLnVjP2Eub1tjXT1bXTpkfTtfLkM9ZnVuY3Rpb24oYSxjKXthPV8uQihhLGMpO3JldHVybiBudWxsPT1hP2E6ISFhfTtfLkU9ZnVuY3Rpb24oYSxjLGQpe2E9Xy5CKGEsYyk7cmV0dXJuIG51bGw9PWE/ZDphfTtfLnhjPWZ1bmN0aW9uKGEsYyxkKXthPV8uQyhhLGMpO3JldHVybiBudWxsPT1hP2Q6YX07Xy55Yz1mdW5jdGlvbihhLGMsZCl7YT1fLkIoYSxjKTthPW51bGw9PWE/YTorYTtyZXR1cm4gbnVsbD09YT9kOmF9O18uRj1mdW5jdGlvbihhLGMsZCl7YzxhLkE/YS5qW2MrYS53XT1kOih2YyhhKSxhLm9bY109ZCk7cmV0dXJuIGF9OwpfLndjPWZ1bmN0aW9uKGEsYyl7Zm9yKHZhciBkLGUsZj0wO2Y8Yy5sZW5ndGg7ZisrKXt2YXIgZz1jW2ZdLGg9Xy5CKGEsZyk7bnVsbCE9aCYmKGQ9ZyxlPWgsXy5GKGEsZyx2b2lkIDApKX1yZXR1cm4gZD8oXy5GKGEsZCxlKSxkKTowfTtfLkg9ZnVuY3Rpb24oYSxjLGQpe2EuYnx8KGEuYj17fSk7aWYoIWEuYltkXSl7dmFyIGU9Xy5CKGEsZCk7ZSYmKGEuYltkXT1uZXcgYyhlKSl9cmV0dXJuIGEuYltkXX07Xy5JPWZ1bmN0aW9uKGEsYyxkKXthLmJ8fChhLmI9e30pO3ZhciBlPWQ/ZC5yYigpOmQ7YS5iW2NdPWQ7cmV0dXJuIF8uRihhLGMsZSl9O3pjPWZ1bmN0aW9uKGEpe2lmKGEuYilmb3IodmFyIGMgaW4gYS5iKXt2YXIgZD1hLmJbY107aWYoXy5CYShkKSlmb3IodmFyIGU9MDtlPGQubGVuZ3RoO2UrKylkW2VdJiZkW2VdLnJiKCk7ZWxzZSBkJiZkLnJiKCl9fTtfLnoucHJvdG90eXBlLnJiPWZ1bmN0aW9uKCl7emModGhpcyk7cmV0dXJuIHRoaXMuan07Cl8uei5wcm90b3R5cGUuZj1fLnRjP2Z1bmN0aW9uKCl7dmFyIGE9VWludDhBcnJheS5wcm90b3R5cGUudG9KU09OO1VpbnQ4QXJyYXkucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3ZhciBjO3ZvaWQgMD09PWMmJihjPTApO2lmKCFyYyl7cmM9e307Zm9yKHZhciBkPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLGU9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl0sZj0wOzU+ZjtmKyspe3ZhciBnPWQuY29uY2F0KGVbZl0uc3BsaXQoIiIpKTtxY1tmXT1nO2Zvcih2YXIgaD0wO2g8Zy5sZW5ndGg7aCsrKXt2YXIgbD1nW2hdO3ZvaWQgMD09PXJjW2xdJiYocmNbbF09aCl9fX1jPXFjW2NdO2Q9W107Zm9yKGU9MDtlPHRoaXMubGVuZ3RoO2UrPTMpe3ZhciBtPXRoaXNbZV0sbj0oZj1lKzE8dGhpcy5sZW5ndGgpP3RoaXNbZSsxXTowO2w9KGc9ZSsyPHRoaXMubGVuZ3RoKT90aGlzW2UrMl06MDsKaD1tPj4yO209KG0mMyk8PDR8bj4+NDtuPShuJjE1KTw8MnxsPj42O2wmPTYzO2d8fChsPTY0LGZ8fChuPTY0KSk7ZC5wdXNoKGNbaF0sY1ttXSxjW25dfHwiIixjW2xdfHwiIil9cmV0dXJuIGQuam9pbigiIil9O3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5qJiZ0aGlzLnJiKCksQWMpfWZpbmFsbHl7VWludDhBcnJheS5wcm90b3R5cGUudG9KU09OPWF9fTpmdW5jdGlvbigpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLmomJnRoaXMucmIoKSxBYyl9O3ZhciBBYz1mdW5jdGlvbihhLGMpe3JldHVybiJudW1iZXIiIT09dHlwZW9mIGN8fCFpc05hTihjKSYmSW5maW5pdHkhPT1jJiYtSW5maW5pdHkhPT1jP2M6U3RyaW5nKGMpfTtfLnoucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7emModGhpcyk7cmV0dXJuIHRoaXMuai50b1N0cmluZygpfTsKXy5KPWZ1bmN0aW9uKCl7dGhpcy5TYT10aGlzLlNhO3RoaXMuTGI9dGhpcy5MYn07Xy5KLnByb3RvdHlwZS5TYT0hMTtfLkoucHJvdG90eXBlLnNhPWZ1bmN0aW9uKCl7dGhpcy5TYXx8KHRoaXMuU2E9ITAsdGhpcy5QKCkpfTtfLkoucHJvdG90eXBlLlA9ZnVuY3Rpb24oKXtpZih0aGlzLkxiKWZvcig7dGhpcy5MYi5sZW5ndGg7KXRoaXMuTGIuc2hpZnQoKSgpfTsKdmFyIEJjPWZ1bmN0aW9uKGEpe18uQSh0aGlzLGEsMCwtMSxudWxsLG51bGwpfTtfLncoQmMsXy56KTsKXy5DYz1mdW5jdGlvbihhKXtfLkEodGhpcyxhLDAsLTEsbnVsbCxudWxsKX07Xy53KF8uQ2MsXy56KTsKdmFyIERjPWZ1bmN0aW9uKGEpe18uQSh0aGlzLGEsMCwtMSxudWxsLG51bGwpfTtfLncoRGMsXy56KTsKXy5FYz1mdW5jdGlvbihhKXtfLkEodGhpcyxhLDAsLTEsbnVsbCxudWxsKX07Xy53KF8uRWMsXy56KTsKXy5GYz1mdW5jdGlvbihhKXtfLkEodGhpcyxhLDAsLTEsbnVsbCxudWxsKX07Xy53KF8uRmMsXy56KTsKdmFyIEdjPWZ1bmN0aW9uKGEpe18uSi5jYWxsKHRoaXMpO3RoaXMuaj1hO3RoaXMuYj1bXTt0aGlzLmY9e319O18udyhHYyxfLkopO0djLnByb3RvdHlwZS5DYz1mdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLmIubGVuZ3RoLGM9dGhpcy5iLGQ9W10sZT0wO2U8YTsrK2Upe3ZhciBmPWNbZV0uYigpO2E6e3ZhciBnPXRoaXMuajtmb3IodmFyIGg9Zi5zcGxpdCgiLiIpLGw9aC5sZW5ndGgsbT0wO208bDsrK20paWYoZ1toW21dXSlnPWdbaFttXV07ZWxzZXtnPW51bGw7YnJlYWsgYX1nPWcgaW5zdGFuY2VvZiBGdW5jdGlvbj9nOm51bGx9aWYoZyYmZyE9dGhpcy5mW2ZdKXRyeXtjW2VdLkNjKGcpfWNhdGNoKG4pe31lbHNlIGQucHVzaChjW2VdKX10aGlzLmI9ZC5jb25jYXQoYy5zbGljZShhKSl9Owp2YXIgSmM9ZnVuY3Rpb24oYSl7Xy5KLmNhbGwodGhpcyk7dGhpcy53PWE7dGhpcy5qPXRoaXMuYj1udWxsO3RoaXMuQT0wO3RoaXMubz17fTt0aGlzLmY9ITE7YT13aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudDswPD1hLmluZGV4T2YoIk1TSUUiKSYmMDw9YS5pbmRleE9mKCJUcmlkZW50IikmJihhPS9cYig/Ok1TSUV8cnYpWzogXShbXlwpO10rKShcKXw7KS8uZXhlYyhhKSkmJmFbMV0mJjk+cGFyc2VGbG9hdChhWzFdKSYmKHRoaXMuZj0hMCl9O18ucChKYyxfLkopO0pjLnByb3RvdHlwZS5CPWZ1bmN0aW9uKGEsYyl7dGhpcy5iPWM7dGhpcy5qPWE7Yy5wcmV2ZW50RGVmYXVsdD9jLnByZXZlbnREZWZhdWx0KCk6Yy5yZXR1cm5WYWx1ZT0hMX07Cl8uS2M9ZnVuY3Rpb24oYSl7Xy5BKHRoaXMsYSwwLC0xLG51bGwsbnVsbCl9O18udyhfLktjLF8ueik7Cl8uTGM9ZnVuY3Rpb24oYSl7Xy5BKHRoaXMsYSwwLC0xLG51bGwsbnVsbCl9O18udyhfLkxjLF8ueik7Cl8uSz1mdW5jdGlvbihhLGMpe3JldHVybiBudWxsIT1hPyEhYTohIWN9O18uTD1mdW5jdGlvbihhLGMpe3ZvaWQgMD09YyYmKGM9IiIpO3JldHVybiBudWxsIT1hP2E6Y307Xy5NYz1mdW5jdGlvbihhLGMpe3ZvaWQgMD09YyYmKGM9MCk7cmV0dXJuIG51bGwhPWE/YTpjfTsKXy5OYz1mdW5jdGlvbigpe3RoaXMuZGF0YT17fX07Xy5OYy5wcm90b3R5cGUuYj1mdW5jdGlvbigpe3dpbmRvdy5jb25zb2xlJiZ3aW5kb3cuY29uc29sZS5sb2cmJndpbmRvdy5jb25zb2xlLmxvZygiTG9nIGRhdGE6ICIsdGhpcy5kYXRhKX07Xy5OYy5wcm90b3R5cGUuZj1mdW5jdGlvbihhKXt2YXIgYz1bXSxkO2ZvcihkIGluIHRoaXMuZGF0YSljLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGQpKyI9IitlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKHRoaXMuZGF0YVtkXSkpKTtyZXR1cm4oImF0eXA9aSZ6eD0iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpKyImIitjLmpvaW4oIiYiKSkuc3Vic3RyKDAsYSl9Owp2YXIgT2M9ZnVuY3Rpb24oYSxjKXt0aGlzLmRhdGE9e307dmFyIGQ9Xy5IKGEsRGMsOCl8fG5ldyBEYzt3aW5kb3cuZ29vZ2xlJiZ3aW5kb3cuZ29vZ2xlLmtFSSYmKHRoaXMuZGF0YS5laT13aW5kb3cuZ29vZ2xlLmtFSSk7dGhpcy5kYXRhLnNlaT1fLkwoXy5CKGEsMTApKTt0aGlzLmRhdGEub2dmPV8uTChfLkIoZCwzKSk7dmFyIGU9d2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS5zbj8vLipocCQvLnRlc3Qod2luZG93Lmdvb2dsZS5zbik/ITE6ITA6Xy5LKF8uQyhhLDcpKTt0aGlzLmRhdGEub2dycD1lPyIxIjoiIjt0aGlzLmRhdGEub2d2PV8uTChfLkIoZCw2KSkrIi4iK18uTChfLkIoZCw3KSk7dGhpcy5kYXRhLm9nZD1fLkwoXy5CKGEsMjEpKTt0aGlzLmRhdGEub2djPV8uTChfLkIoYSwyMCkpO3RoaXMuZGF0YS5vZ2w9Xy5MKF8uQihhLDUpKTtjJiYodGhpcy5kYXRhLm9nZ3Y9Yyl9O18udyhPYyxfLk5jKTsKXy5QYz1mdW5jdGlvbihhLGMsZCxlLGYpe09jLmNhbGwodGhpcyxhLGMpO18uVGEodGhpcy5kYXRhLHtqZXhwaWQ6Xy5MKF8uQihhLDkpKSxzcmNwZzoicHJvcD0iK18uTChfLkIoYSw2KSksanNyOk1hdGgucm91bmQoMS9lKSxlbXNnOmQubmFtZSsiOiIrZC5tZXNzYWdlfSk7aWYoZil7Zi5fc24mJihmLl9zbj0ib2cuIitmLl9zbik7Zm9yKHZhciBnIGluIGYpdGhpcy5kYXRhW2VuY29kZVVSSUNvbXBvbmVudChnKV09ZltnXX19O18udyhfLlBjLE9jKTsKdmFyIFFjLFRjLFNjO18uUmM9ZnVuY3Rpb24oYSl7dmFyIGM9d2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS5sb2dVcmw/IiI6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20iO2MrPSIvZ2VuXzIwND8iO2MrPWEuZigyMDQwLWMubGVuZ3RoKTtRYyhfLm9iKGMpKX07UWM9ZnVuY3Rpb24oYSl7dmFyIGM9bmV3IEltYWdlO2Mub25lcnJvcj1jLm9ubG9hZD1jLm9uYWJvcnQ9ZnVuY3Rpb24oKXtTYyBpbiBUYyYmZGVsZXRlIFRjW1NjXX07VGNbU2MrK109YztjLnNyYz1fLm1iKGEpfTtUYz1bXTtTYz0wOwpfLlVjPWZ1bmN0aW9uKGEpe18uQSh0aGlzLGEsMCwtMSxudWxsLG51bGwpfTtfLncoXy5VYyxfLnopOwp2YXIgYWQ7Xy5WYz1mdW5jdGlvbigpe3RoaXMuYj17fTt0aGlzLmY9e319O18ueWEoXy5WYyk7Xy5YYz1mdW5jdGlvbihhKXtyZXR1cm4gXy5XYyhfLlZjLnRhKCksYSl9O18uWmM9ZnVuY3Rpb24oYSxjKXt2YXIgZD1fLlZjLnRhKCk7aWYoYSBpbiBkLmIpe2lmKGQuYlthXSE9Yyl0aHJvdyBuZXcgWWMoYSk7fWVsc2V7ZC5iW2FdPWM7aWYoYz1kLmZbYV0pZm9yKHZhciBlPTAsZj1jLmxlbmd0aDtlPGY7ZSsrKWNbZV0uYihkLmIsYSk7ZGVsZXRlIGQuZlthXX19O18uV2M9ZnVuY3Rpb24oYSxjKXtpZihjIGluIGEuYilyZXR1cm4gYS5iW2NdO3Rocm93IG5ldyAkYyhjKTt9O2FkPWZ1bmN0aW9uKCl7Xy5LYS5jYWxsKHRoaXMpfTtfLncoYWQsXy5LYSk7dmFyIFljPWZ1bmN0aW9uKCl7Xy5LYS5jYWxsKHRoaXMpfTtfLncoWWMsYWQpO3ZhciAkYz1mdW5jdGlvbigpe18uS2EuY2FsbCh0aGlzKX07Xy53KCRjLGFkKTsKdmFyIGRkPWZ1bmN0aW9uKCl7dmFyIGE9YmQ7dGhpcy5CPWNkO3RoaXMubz1fLk1jKF8ueWMoYSwyLC4wMDEpLC4wMDEpO3RoaXMuQT1fLksoXy5DKGEsMSkpJiZNYXRoLnJhbmRvbSgpPHRoaXMubzt0aGlzLnc9Xy5NYyhfLkUoYSwzLDEpLDEpO3RoaXMuaj0wO3RoaXMuYj10aGlzLmY9bnVsbDtfLnhjKGEsNCwhMCl9O2RkLnByb3RvdHlwZS5sb2c9ZnVuY3Rpb24oYSxjKXtpZih0aGlzLmIpe3ZhciBkPW5ldyBCYztfLkYoZCwxLGEubWVzc2FnZSk7Xy5GKGQsMixhLnN0YWNrKTtfLkYoZCwzLGEubGluZU51bWJlcik7Xy5GKGQsNSwxKTt2YXIgZT1uZXcgXy5DYztfLkkoZSw0MCxkKTt0aGlzLmIubG9nKDk4LGUpfXRyeXtpZih0aGlzLkEmJnRoaXMuajx0aGlzLncpe3RyeXt2YXIgZj0odGhpcy5mfHxfLldjKF8uVmMudGEoKSwibG0iKSkuYihhLGMpfWNhdGNoKGcpe2Y9bmV3IF8uUGModGhpcy5CLCJxdWFudHVtOmdhcGlCdWlsZExhYmVsIixhLHRoaXMubyxjKX1fLlJjKGYpO3RoaXMuaisrfX1jYXRjaChnKXt9fTsKdmFyIGVkPVsxLDIsMyw0LDUsNiw5LDEwLDExLDEzLDE0LDI4LDI5LDMwLDM0LDM1LDM3LDM4LDM5LDQwLDQyLDQzLDQ4LDQ5LDUwLDUxLDUyLDUzLDYyLDUwMF0saGQ9ZnVuY3Rpb24oYSxjLGQsZSxmLGcpe09jLmNhbGwodGhpcyxhLGMpO18uVGEodGhpcy5kYXRhLHtvZ2U6ZSxvZ2V4Ol8uTChfLkIoYSw5KSksb2dwOl8uTChfLkIoYSw2KSksb2dzcjpNYXRoLnJvdW5kKDEvKGZkKGUpP18uTWMoXy55YyhkLDMsMSkpOl8uTWMoXy55YyhkLDIsMUUtNCkpKSksb2d1czpmfSk7aWYoZyl7Im9ndyJpbiBnJiYodGhpcy5kYXRhLm9ndz1nLm9ndyxkZWxldGUgZy5vZ3cpOyJ2ZWQiaW4gZyYmKHRoaXMuZGF0YS52ZWQ9Zy52ZWQsZGVsZXRlIGcudmVkKTthPVtdO2Zvcih2YXIgaCBpbiBnKTAhPWEubGVuZ3RoJiZhLnB1c2goIiwiKSxhLnB1c2goZ2QoaCkpLGEucHVzaCgiLiIpLGEucHVzaChnZChnW2hdKSk7Zz1hLmpvaW4oIiIpOyIiIT1nJiYodGhpcy5kYXRhLm9nYWQ9Zyl9fTsKXy53KGhkLE9jKTt2YXIgZ2Q9ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7cmV0dXJuIGEucmVwbGFjZSgiLiIsIiUyRSIpLnJlcGxhY2UoIiwiLCIlMkMiKX0saWQ9bnVsbCxmZD1mdW5jdGlvbihhKXtpZighaWQpe2lkPXt9O2Zvcih2YXIgYz0wO2M8ZWQubGVuZ3RoO2MrKylpZFtlZFtjXV09ITB9cmV0dXJuISFpZFthXX07CnZhciBtZD1mdW5jdGlvbigpe3ZhciBhPWpkLGM9a2QsZD1sZDt0aGlzLkE9YTt0aGlzLnc9Yzt0aGlzLm89Xy5NYyhfLnljKGEsMiwxRS00KSwxRS00KTt0aGlzLmY9Xy5NYyhfLnljKGEsMywxKSwxKTtjPU1hdGgucmFuZG9tKCk7dGhpcy5qPV8uSyhfLkMoYSwxKSkmJmM8dGhpcy5vO3RoaXMuYj1fLksoXy5DKGEsMSkpJiZjPHRoaXMuZjthPTA7Xy5LKF8uQyhkLDEpKSYmKGF8PTEpO18uSyhfLkMoZCwyKSkmJihhfD0yKTtfLksoXy5DKGQsMykpJiYoYXw9NCk7dGhpcy5CPWF9O21kLnByb3RvdHlwZS5sb2c9ZnVuY3Rpb24oYSxjKXt0cnl7aWYoZmQoYSk/dGhpcy5iOnRoaXMuail7dmFyIGQ9bmV3IGhkKHRoaXMudywicXVhbnR1bTpnYXBpQnVpbGRMYWJlbCIsdGhpcy5BLGEsdGhpcy5CLGMpO18uUmMoZCl9fWNhdGNoKGUpe319Owp2YXIgbmQ9ZnVuY3Rpb24oYSl7Xy5BKHRoaXMsYSwwLC0xLG51bGwsbnVsbCl9O18udyhuZCxfLnopOwp2YXIgb2Q9ZnVuY3Rpb24oYSl7dGhpcy5iPWE7dGhpcy5mPXZvaWQgMDt0aGlzLmo9W119O29kLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYyxkKXt0aGlzLmoucHVzaChuZXcgcGQoYSxjLGQpKTtfLnFkKHRoaXMpfTtfLnJkPWZ1bmN0aW9uKGEsYyl7aWYodm9pZCAwIT09YS5ifHx2b2lkIDAhPT1hLmYpdGhyb3cgRXJyb3IoIm0iKTthLmI9YztfLnFkKGEpfTtfLnFkPWZ1bmN0aW9uKGEpe2lmKDA8YS5qLmxlbmd0aCl7dmFyIGM9dm9pZCAwIT09YS5iLGQ9dm9pZCAwIT09YS5mO2lmKGN8fGQpe2M9Yz9hLm86YS53O2Q9YS5qO2Euaj1bXTt0cnl7KDAsXy5NYSkoZCxjLGEpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9fX19O29kLnByb3RvdHlwZS5vPWZ1bmN0aW9uKGEpe2EuZiYmYS5mLmNhbGwoYS5iLHRoaXMuYil9O29kLnByb3RvdHlwZS53PWZ1bmN0aW9uKGEpe2EuaiYmYS5qLmNhbGwoYS5iLHRoaXMuZil9Owp2YXIgcGQ9ZnVuY3Rpb24oYSxjLGQpe3RoaXMuZj1hO3RoaXMuaj1jO3RoaXMuYj1kfTsKXy5zZD1mdW5jdGlvbigpe3RoaXMubz1uZXcgb2Q7dGhpcy5mPW5ldyBvZDt0aGlzLkI9bmV3IG9kO3RoaXMudz1uZXcgb2Q7dGhpcy5BPW5ldyBvZDt0aGlzLkQ9bmV3IG9kO3RoaXMuRz1uZXcgb2Q7dGhpcy5iPW5ldyBvZDt0aGlzLmo9bmV3IG9kfTtfLnlhKF8uc2QpO18uaz1fLnNkLnByb3RvdHlwZTtfLmsuemg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vfTtfLmsuSGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5mfTtfLmsuTWg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5CfTtfLmsuR2g9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53fTtfLmsuS2g9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BfTtfLmsuTmg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5EfTtfLmsuRGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5HfTtfLmsuRWg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ifTtfLmsucmg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qfTsKdmFyIHRkPWZ1bmN0aW9uKGEpe18uQSh0aGlzLGEsMCwtMSxudWxsLG51bGwpfTtfLncodGQsXy56KTtfLnZkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uSChfLnVkLF8uRWMsMSl9O18ud2Q9ZnVuY3Rpb24oKXtyZXR1cm4gXy5IKF8udWQsXy5GYyw1KX07CnZhciB4ZDt3aW5kb3cuZ2Jhcl8mJndpbmRvdy5nYmFyXy5DT05GSUc/eGQ9d2luZG93LmdiYXJfLkNPTkZJR1swXXx8e306eGQ9W107Xy51ZD1uZXcgdGQoeGQpOwp2YXIgYmQsY2Qsa2QsbGQsamQ7YmQ9Xy5IKF8udWQsXy5VYywzKXx8bmV3IF8uVWM7Y2Q9Xy52ZCgpfHxuZXcgXy5FYztfLk09bmV3IGRkO2tkPV8udmQoKXx8bmV3IF8uRWM7bGQ9Xy53ZCgpfHxuZXcgXy5GYztqZD1fLkgoXy51ZCxuZCw0KXx8bmV3IG5kO18ueWQ9bmV3IG1kOwpfLnUoImdiYXJfLl9EdW1wRXhjZXB0aW9uIixmdW5jdGlvbihhKXtfLk0/Xy5NLmxvZyhhKTpjb25zb2xlLmVycm9yKGEpfSk7Cl8uemQ9bmV3IEpjKF8uTSk7Cl8ueWQubG9nKDgse206IkJhY2tDb21wYXQiPT1kb2N1bWVudC5jb21wYXRNb2RlPyJxIjoicyJ9KTtfLnUoImdiYXIuQSIsb2QpO29kLnByb3RvdHlwZS5hYT1vZC5wcm90b3R5cGUudGhlbjtfLnUoImdiYXIuQiIsXy5zZCk7Xy5zZC5wcm90b3R5cGUuYmE9Xy5zZC5wcm90b3R5cGUuSGg7Xy5zZC5wcm90b3R5cGUuYmI9Xy5zZC5wcm90b3R5cGUuTWg7Xy5zZC5wcm90b3R5cGUuYmQ9Xy5zZC5wcm90b3R5cGUuS2g7Xy5zZC5wcm90b3R5cGUuYmU9Xy5zZC5wcm90b3R5cGUuTmg7Xy5zZC5wcm90b3R5cGUuYmY9Xy5zZC5wcm90b3R5cGUuemg7Xy5zZC5wcm90b3R5cGUuYmc9Xy5zZC5wcm90b3R5cGUuR2g7Xy5zZC5wcm90b3R5cGUuYmg9Xy5zZC5wcm90b3R5cGUuRGg7Xy5zZC5wcm90b3R5cGUuYmk9Xy5zZC5wcm90b3R5cGUuRWg7Xy5zZC5wcm90b3R5cGUuYmo9Xy5zZC5wcm90b3R5cGUucmg7Xy51KCJnYmFyLmEiLF8uc2QudGEoKSk7dmFyIEFkPW5ldyBHYyh3aW5kb3cpOwpfLlpjKCJhcGkiLEFkKTt2YXIgQmQ9Xy53ZCgpfHxuZXcgXy5GYyxDZD1fLkwoXy5CKEJkLDgpKTt3aW5kb3cuX19QVlQ9Q2Q7Xy5aYygiZXEiLF8uemQpOwoKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIERkPWZ1bmN0aW9uKGEpe18uQSh0aGlzLGEsMCwtMSxudWxsLG51bGwpfTtfLncoRGQsXy56KTsKdmFyIEVkPWZ1bmN0aW9uKCl7Xy5KLmNhbGwodGhpcyk7dGhpcy5mPVtdO3RoaXMuYj1bXX07Xy5wKEVkLF8uSik7RWQucHJvdG90eXBlLmo9ZnVuY3Rpb24oYSxjKXt0aGlzLmYucHVzaCh7TmQ6YSxvcHRpb25zOmN9KX07RWQucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oYSxjLGQpe3dpbmRvdy5nYXBpPXt9O3ZhciBlPXdpbmRvdy5fX19qc2w9e307ZS5oPV8uTChfLkIoYSwxKSk7bnVsbCE9Xy5CKGEsMTIpJiYoZS5kcG89Xy5LKF8uQyhhLDEyKSkpO2UubXM9Xy5MKF8uQihhLDIpKTtlLm09Xy5MKF8uQihhLDMpKTtlLmw9W107Xy5CKGMsMSkmJihhPV8uQihjLDMpKSYmdGhpcy5iLnB1c2goYSk7Xy5CKGQsMSkmJihkPV8uQihkLDIpKSYmdGhpcy5iLnB1c2goZCk7Xy51KCJnYXBpLmxvYWQiLCgwLF8udCkodGhpcy5qLHRoaXMpKTtyZXR1cm4gdGhpc307CnZhciBGZD1fLkgoXy51ZCxfLktjLDE0KXx8bmV3IF8uS2MsR2Q9Xy5IKF8udWQsXy5MYyw5KXx8bmV3IF8uTGMsSGQ9bmV3IERkLElkPW5ldyBFZDtJZC5pbml0KEZkLEdkLEhkKTtfLlpjKCJncyIsSWQpOwoKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9Cn0pKHRoaXMuZ2Jhcl8pOwovLyBHb29nbGUgSW5jLgo8L3NjcmlwdD48c3R5bGUgbm9uY2U9IjdoWHlJcGxCSTA0QUpEVHRJRWVUWUEiPi5nYl9aYXtmb250OjEzcHgvMjdweCBSb2JvdG8sUm9ib3RvRHJhZnQsQXJpYWwsc2Fucy1zZXJpZjt6LWluZGV4Ojk4Nn1ALXdlYmtpdC1rZXlmcmFtZXMgZ2JfX2F7MCV7b3BhY2l0eTowfTUwJXtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgZ2JfX2F7MCV7b3BhY2l0eTowfTUwJXtvcGFjaXR5OjF9fWEuZ2JfMHtib3JkZXI6bm9uZTtjb2xvcjojNDI4NWY0O2N1cnNvcjpkZWZhdWx0O2ZvbnQtd2VpZ2h0OmJvbGQ7b3V0bGluZTpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfWEuZ2JfMDpob3ZlcjphZnRlcixhLmdiXzA6Zm9jdXM6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMik7Y29udGVudDonJztoZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX1hLmdiXzA6aG92ZXIsYS5nYl8wOmZvY3Vze3RleHQtZGVjb3JhdGlvbjpub25lfWEuZ2JfMDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE1MywxNTMsMTUzLC40KTt0ZXh0LWRlY29yYXRpb246bm9uZX1hLmdiXzF7YmFja2dyb3VuZC1jb2xvcjojNDI4NWY0O2NvbG9yOiNmZmZ9YS5nYl8xOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDQzYjJ9LmdiXzJ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNik7Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTYpfS5nYl8wLC5nYl8xLC5nYl8zLC5nYl80e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI4cHg7cGFkZGluZzowIDEycHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjJweDtib3JkZXItcmFkaXVzOjJweH0uZ2JfM3tiYWNrZ3JvdW5kOiNmOGY4Zjg7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2fS5nYl80e2JhY2tncm91bmQ6I2Y4ZjhmOH0uZ2JfMywjZ2IgYS5nYl8zLmdiXzMsLmdiXzR7Y29sb3I6IzY2NjtjdXJzb3I6ZGVmYXVsdDt0ZXh0LWRlY29yYXRpb246bm9uZX0jZ2IgYS5nYl80LmdiXzR7Y3Vyc29yOmRlZmF1bHQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmdiXzR7Ym9yZGVyOjFweCBzb2xpZCAjNDI4NWY0O2ZvbnQtd2VpZ2h0OmJvbGQ7b3V0bGluZTpub25lO2JhY2tncm91bmQ6IzQyODVmNDtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjNDM4N2ZkLCM0NjgzZWEpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvcCwjNDM4N2ZkLCM0NjgzZWEpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jNDM4N2ZkLGVuZENvbG9yc3RyPSM0NjgzZWEsR3JhZGllbnRUeXBlPTApfSNnYiBhLmdiXzQuZ2JfNHtjb2xvcjojZmZmfS5nYl80OmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjE1KTtib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMTUpfS5nYl80OmFjdGl2ZXstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAycHggMCByZ2JhKDAsMCwwLC4xNSk7Ym94LXNoYWRvdzppbnNldCAwIDJweCAwIHJnYmEoMCwwLDAsLjE1KTtiYWNrZ3JvdW5kOiMzYzc4ZGM7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIzNjN2FlNCwjM2Y3NmQzKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0b3AsIzNjN2FlNCwjM2Y3NmQzKTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IzNjN2FlNCxlbmRDb2xvcnN0cj0jM2Y3NmQzLEdyYWRpZW50VHlwZT0wKX0uZ2JfRmF7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZ2JfSGF7dmlzaWJpbGl0eTpoaWRkZW59LmdiX2Vke2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZ2JfSGZ7cG9zaXRpb246cmVsYXRpdmV9LmdiX0R7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3V0bGluZTpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LWJvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1yYWRpdXM6MnB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6NDBweDt3aWR0aDo0MHB4O2NvbG9yOiMwMDA7Y3Vyc29yOnBvaW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmV9I2diI2diIGEuZ2JfRHtjb2xvcjojMDAwO2N1cnNvcjpwb2ludGVyO3RleHQtZGVjb3JhdGlvbjpub25lfS5nYl8xYXtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmO2JvcmRlci1zdHlsZTpkYXNoZWQgZGFzaGVkIHNvbGlkO2JvcmRlci13aWR0aDowIDguNXB4IDguNXB4O2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjExLjVweDt0b3A6NDNweDt6LWluZGV4OjE7aGVpZ2h0OjA7d2lkdGg6MDstd2Via2l0LWFuaW1hdGlvbjpnYl9fYSAuMnM7YW5pbWF0aW9uOmdiX19hIC4yc30uZ2JfMmF7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpkYXNoZWQgZGFzaGVkIHNvbGlkO2JvcmRlci13aWR0aDowIDguNXB4IDguNXB4O2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjExLjVweDt6LWluZGV4OjE7aGVpZ2h0OjA7d2lkdGg6MDstd2Via2l0LWFuaW1hdGlvbjpnYl9fYSAuMnM7YW5pbWF0aW9uOmdiX19hIC4ycztib3JkZXItYm90dG9tLWNvbG9yOiNjY2M7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLC4yKTt0b3A6NDJweH14Oi1vLXByZWZvY3VzLGRpdi5nYl8yYXtib3JkZXItYm90dG9tLWNvbG9yOiNjY2N9LmdiX0Z7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMik7Y29sb3I6IzAwMDstd2Via2l0LWJveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwuMik7ZGlzcGxheTpub25lO291dGxpbmU6bm9uZTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6OHB4O3RvcDo2MnB4Oy13ZWJraXQtYW5pbWF0aW9uOmdiX19hIC4yczthbmltYXRpb246Z2JfX2EgLjJzOy13ZWJraXQtYm9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0fS5nYl9lZC5nYl9uYSAuZ2JfMWEsLmdiX2VkLmdiX25hIC5nYl8yYSwuZ2JfZWQuZ2JfbmEgLmdiX0YsLmdiX25hLmdiX0Z7ZGlzcGxheTpibG9ja30uZ2JfZWQuZ2JfbmEuZ2JfSWYgLmdiXzFhLC5nYl9lZC5nYl9uYS5nYl9JZiAuZ2JfMmF7ZGlzcGxheTpub25lfS5nYl9KZntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDo4cHg7dG9wOjYycHg7ei1pbmRleDotMX0uZ2JfTGEgLmdiXzFhLC5nYl9MYSAuZ2JfMmEsLmdiX0xhIC5nYl9Ge21hcmdpbi10b3A6LTEwcHh9LmdiX2VkOmZpcnN0LWNoaWxkLCNnYnNmdzpmaXJzdC1jaGlsZCsuZ2JfZWR7cGFkZGluZy1sZWZ0OjRweH0uZ2Jfc2EuZ2JfUWUgLmdiX2VkOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDowfS5nYl9VY3twb3NpdGlvbjpyZWxhdGl2ZX0uZ2JfSmMgLmdiX1VjLC5nYl8xZCAuZ2JfVWN7ZmxvYXQ6cmlnaHR9LmdiX0R7cGFkZGluZzo4cHg7Y3Vyc29yOnBvaW50ZXJ9LmdiX3NhIC5nYl9XYzpub3QoLmdiXzApOmZvY3VzIGltZ3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4yMCk7b3V0bGluZTpub25lOy13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCV9LmdiX1JlIGJ1dHRvbjpmb2N1cyBzdmcsLmdiX1JlIGJ1dHRvbjpob3ZlciBzdmcsLmdiX1JlIGJ1dHRvbjphY3RpdmUgc3ZnLC5nYl9EOmZvY3VzLC5nYl9EOmhvdmVyLC5nYl9EOmFjdGl2ZSwuZ2JfRFthcmlhLWV4cGFuZGVkPXRydWVde291dGxpbmU6bm9uZTstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlfS5nYl9zYyAuZ2JfUmUuZ2JfU2UgYnV0dG9uOmZvY3VzIHN2ZywuZ2Jfc2MgLmdiX1JlLmdiX1NlIGJ1dHRvbjpmb2N1czpob3ZlciBzdmcsLmdiX1JlIGJ1dHRvbjpmb2N1cyBzdmcsLmdiX1JlIGJ1dHRvbjpmb2N1czpob3ZlciBzdmcsLmdiX0Q6Zm9jdXMsLmdiX0Q6Zm9jdXM6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDYwLDY0LDY3LDAuMSl9LmdiX3NjIC5nYl9SZS5nYl9TZSBidXR0b246YWN0aXZlIHN2ZywuZ2JfUmUgYnV0dG9uOmFjdGl2ZSBzdmcsLmdiX0Q6YWN0aXZle2JhY2tncm91bmQtY29sb3I6cmdiYSg2MCw2NCw2NywwLjEyKX0uZ2Jfc2MgLmdiX1JlLmdiX1NlIGJ1dHRvbjpob3ZlciBzdmcsLmdiX1JlIGJ1dHRvbjpob3ZlciBzdmcsLmdiX0Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDYwLDY0LDY3LDAuMDgpfS5nYl9pYSAuZ2JfRC5nYl9PYTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5nYl9EW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0sLmdiX0Q6aG92ZXJbYXJpYS1leHBhbmRlZD10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoOTUsOTksMTA0LDAuMjQpfS5nYl9EW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLmdiX1RlLC5nYl9EW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLmdiX1Vle2ZpbGw6IzVmNjM2ODtvcGFjaXR5OjF9LmdiX3NjIC5nYl9SZSBidXR0b246aG92ZXIgc3ZnLC5nYl9zYyAuZ2JfRDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjMyLDIzNCwyMzcsMC4wOCl9LmdiX3NjIC5nYl9SZSBidXR0b246Zm9jdXMgc3ZnLC5nYl9zYyAuZ2JfUmUgYnV0dG9uOmZvY3VzOmhvdmVyIHN2ZywuZ2Jfc2MgLmdiX0Q6Zm9jdXMsLmdiX3NjIC5nYl9EOmZvY3VzOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyMzIsMjM0LDIzNywwLjEwKX0uZ2Jfc2MgLmdiX1JlIGJ1dHRvbjphY3RpdmUgc3ZnLC5nYl9zYyAuZ2JfRDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIzMiwyMzQsMjM3LDAuMTIpfS5nYl9zYyAuZ2JfRFthcmlhLWV4cGFuZGVkPXRydWVdLC5nYl9zYyAuZ2JfRDpob3ZlclthcmlhLWV4cGFuZGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjEyKX0uZ2Jfc2MgLmdiX0RbYXJpYS1leHBhbmRlZD10cnVlXSAuZ2JfVGUsLmdiX3NjIC5nYl9EW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLmdiX1Vle2ZpbGw6I2ZmZmZmZjtvcGFjaXR5OjF9LmdiX2Vke3BhZGRpbmc6NHB4fS5nYl9zYS5nYl9RZSAuZ2JfZWR7cGFkZGluZzo0cHggMnB4fS5nYl9zYS5nYl9RZSAuZ2JfUGEuZ2JfZWR7cGFkZGluZy1sZWZ0OjZweH0uZ2JfRnt6LWluZGV4Ojk5MTtsaW5lLWhlaWdodDpub3JtYWx9LmdiX0YuZ2JfVmV7bGVmdDo4cHg7cmlnaHQ6YXV0b31AbWVkaWEgKG1heC13aWR0aDozNTBweCl7LmdiX0YuZ2JfVmV7bGVmdDowfX0uZ2JfV2UgLmdiX0Z7dG9wOjU2cHh9LmdiX0MgLmdiX0QsLmdiX0UgLmdiX0MgLmdiX0R7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMjlweH0uZ2JfaiAuZ2JfQyAuZ2JfRHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yOXB4IC0yOXB4O29wYWNpdHk6MX0uZ2JfQyAuZ2JfRCwuZ2JfQyAuZ2JfRDpob3ZlciwuZ2JfQyAuZ2JfRDpmb2N1c3tvcGFjaXR5OjF9LmdiX0xke2Rpc3BsYXk6bm9uZX0uZ2JfWGN7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsUm9ib3RvLFJvYm90b0RyYWZ0LEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouMjVweDtsaW5lLWhlaWdodDo0OHB4O21hcmdpbi1ib3R0b206MnB4O29wYWNpdHk6MTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1sZWZ0OjE2cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dG9wOjJweDt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC1mbGV4OjEgMSBhdXRvO2ZsZXg6MSAxIGF1dG99LmdiX1hjLmdiX1pje2NvbG9yOiMzYzQwNDN9LmdiX3NhLmdiX3RhIC5nYl9YY3ttYXJnaW4tYm90dG9tOjB9LmdiXzBjLmdiXzFjIC5nYl9YY3twYWRkaW5nLWxlZnQ6NHB4fS5nYl9zYS5nYl90YSAuZ2JfMmN7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0ycHh9LmdiX3Nhe2NvbG9yOmJsYWNrO21pbi13aWR0aDozMjBweDtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zaXRpb246Ym94LXNoYWRvdyAyNTBtczt0cmFuc2l0aW9uOmJveC1zaGFkb3cgMjUwbXN9LmdiX3NhLmdiX0Fje21pbi13aWR0aDoyNDBweH0uZ2Jfc2EuZ2JfTWQgLmdiX1Nje2Rpc3BsYXk6bm9uZX0uZ2Jfc2EuZ2JfTWQgLmdiX05ke2hlaWdodDo1NnB4fWhlYWRlci5nYl9zYXtkaXNwbGF5OmJsb2NrfS5nYl9zYSBzdmd7ZmlsbDpjdXJyZW50Q29sb3J9LmdiX09ke3Bvc2l0aW9uOmZpeGVkO3RvcDowO3dpZHRoOjEwMCV9LmdiX1Bkey13ZWJraXQtYm94LXNoYWRvdzowIDRweCA1cHggMCByZ2JhKDAsMCwwLDAuMTQpLDAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLDAuMTIpLDAgMnB4IDRweCAtMXB4IHJnYmEoMCwwLDAsMC4yKTtib3gtc2hhZG93OjAgNHB4IDVweCAwIHJnYmEoMCwwLDAsMC4xNCksMCAxcHggMTBweCAwIHJnYmEoMCwwLDAsMC4xMiksMCAycHggNHB4IC0xcHggcmdiYSgwLDAsMCwwLjIpfS5nYl9RZHtoZWlnaHQ6NjRweH0uZ2Jfc2E6bm90KC5nYl9EYykgLmdiXzRjLmdiXzVjOm5vdCguZ2JfUmQpLC5nYl9zYTpub3QoLmdiX0RjKSAuZ2JfSWQ6bm90KC5nYl9SZCksLmdiX3NhLmdiX1NkIC5nYl80Yy5nYl81Yy5nYl9SZCwuZ2Jfc2EuZ2JfU2QgLmdiX0lkLmdiX1Jke2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmdiX05key13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21pbi13aWR0aDotd2Via2l0LW1pbi1jb250ZW50O21pbi13aWR0aDptaW4tY29udGVudH0uZ2Jfc2E6bm90KC5nYl90YSkgLmdiX05ke3BhZGRpbmc6OHB4fS5nYl9zYS5nYl9UZCAuZ2JfTmR7LXdlYmtpdC1mbGV4OjEgMCBhdXRvO2ZsZXg6MSAwIGF1dG99LmdiX3NhIC5nYl9OZC5nYl9VZC5nYl9WZHttaW4td2lkdGg6MH0uZ2Jfc2EuZ2JfdGEgLmdiX05ke3BhZGRpbmc6NHB4O3BhZGRpbmctbGVmdDo4cHg7bWluLXdpZHRoOjB9LmdiX1Nje2hlaWdodDo0OHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9LmdiX1hkPi5nYl9TY3tkaXNwbGF5OnRhYmxlLWNlbGw7d2lkdGg6MTAwJX0uZ2JfMGN7cGFkZGluZy1yaWdodDozMHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWZsZXg6MSAwIGF1dG87ZmxleDoxIDAgYXV0b30uZ2Jfc2EuZ2JfdGEgLmdiXzBje3BhZGRpbmctcmlnaHQ6MTRweH0uZ2JfWmR7LXdlYmtpdC1mbGV4OjEgMSAxMDAlO2ZsZXg6MSAxIDEwMCV9LmdiX1pkPjpvbmx5LWNoaWxke2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5nYl9UYy5nYl9LY3twYWRkaW5nLWxlZnQ6NHB4fS5nYl9UYy5nYl8wZCwuZ2Jfc2EuZ2JfVGQgLmdiX1RjLC5nYl9zYS5nYl90YTpub3QoLmdiXzFkKSAuZ2JfVGN7cGFkZGluZy1sZWZ0OjB9LmdiX3NhLmdiX3RhIC5nYl9UYy5nYl8wZHtwYWRkaW5nLXJpZ2h0OjB9LmdiX3NhLmdiX3RhIC5nYl9UYy5nYl8wZCAuZ2JfaWF7bWFyZ2luLWxlZnQ6MTBweH0uZ2JfS2N7ZGlzcGxheTppbmxpbmV9LmdiX3NhLmdiX0RjIC5nYl9UYy5nYl8yZHtwYWRkaW5nLWxlZnQ6MnB4fS5nYl9YY3tkaXNwbGF5OmlubGluZS1ibG9ja30uZ2JfVGN7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0Om5vcm1hbDtwYWRkaW5nOjAgNHB4O3BhZGRpbmctbGVmdDozMHB4Oy13ZWJraXQtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvOy13ZWJraXQtYm94LXBhY2s6ZmxleC1lbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5nYl8xZHtoZWlnaHQ6NDhweH0uZ2Jfc2EuZ2JfMWR7bWluLXdpZHRoOmluaXRpYWw7bWluLXdpZHRoOmF1dG99LmdiXzFkIC5nYl9UY3tmbG9hdDpyaWdodDtwYWRkaW5nLWxlZnQ6MzJweH0uZ2JfM2R7Zm9udC1zaXplOjE0cHg7bWF4LXdpZHRoOjIwMHB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgMTJweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LXVzZXItc2VsZWN0OnRleHR9LmdiXzRkey13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC40czt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjRzfS5nYl81ZHtjb2xvcjpibGFja30uZ2Jfc2N7Y29sb3I6d2hpdGV9LmdiX3NhIGEsLmdiX3hjIGF7Y29sb3I6aW5oZXJpdH0uZ2JfdHtjb2xvcjpyZ2JhKDAsMCwwLDAuODcpfS5nYl9zYSBzdmcsLmdiX3hjIHN2ZywuZ2JfMGMgLmdiXzZkLC5nYl9KYyAuZ2JfNmR7Y29sb3I6IzVmNjM2ODtvcGFjaXR5OjF9LmdiX3NjIHN2ZywuZ2JfeGMuZ2JfQmMgc3ZnLC5nYl9zYyAuZ2JfMGMgLmdiXzZkLC5nYl9zYyAuZ2JfMGMgLmdiX3JjLC5nYl9zYyAuZ2JfMGMgLmdiXzJjLC5nYl94Yy5nYl9CYyAuZ2JfNmR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuODcpfS5nYl9zYyAuZ2JfMGMgLmdiX3VhOm5vdCguZ2JfN2Qpe29wYWNpdHk6Ljg3fS5nYl9aY3tjb2xvcjppbmhlcml0O29wYWNpdHk6MTt0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHk7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uZ2Jfc2MgLmdiX1pjLC5nYl81ZCAuZ2JfWmN7b3BhY2l0eToxfS5nYl84ZHtwb3NpdGlvbjpyZWxhdGl2ZX0uZ2JfOWR7bGluZS1oZWlnaHQ6bm9ybWFsO3BhZGRpbmctcmlnaHQ6MTVweH1hLmdiX2csc3Bhbi5nYl9ne2NvbG9yOnJnYmEoMCwwLDAsMC44Nyk7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmdiX3NjIGEuZ2JfZywuZ2Jfc2Mgc3Bhbi5nYl9ne2NvbG9yOndoaXRlfWEuZ2JfZzpob3ZlcixhLmdiX2c6Zm9jdXN7b3BhY2l0eTouODU7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uZ2JfaHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLWxlZnQ6MTVweH0uZ2JfaCAuZ2JfZ3tkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoyNHB4O291dGxpbmU6bm9uZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmdiX2Fle2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLFJvYm90byxSb2JvdG9EcmFmdCxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE0cHg7bGV0dGVyLXNwYWNpbmc6LjI1cHg7bGluZS1oZWlnaHQ6MTZweDttYXJnaW4tbGVmdDoxMHB4O21hcmdpbi1yaWdodDo4cHg7bWluLXdpZHRoOjk2cHg7cGFkZGluZzo5cHggMjNweDt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmdiX3NhLmdiXzFkIC5nYl9hZXttYXJnaW4tbGVmdDo4cHh9I2diIGEuZ2JfNC5nYl80LmdiX2FlLCNnYiBhLmdiXzMuZ2JfMy5nYl9hZXtjdXJzb3I6cG9pbnRlcn0uZ2JfNC5nYl9hZTpob3ZlcntiYWNrZ3JvdW5kOiMyYjdkZTk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCAwIHJnYmEoNjYsMTMzLDI0NCwwLjMpLDAgMXB4IDNweCAxcHggcmdiYSg2NiwxMzMsMjQ0LDAuMTUpO2JveC1zaGFkb3c6MCAxcHggMnB4IDAgcmdiYSg2NiwxMzMsMjQ0LDAuMyksMCAxcHggM3B4IDFweCByZ2JhKDY2LDEzMywyNDQsMC4xNSl9LmdiXzQuZ2JfYWU6Zm9jdXMsLmdiXzQuZ2JfYWU6aG92ZXI6Zm9jdXN7YmFja2dyb3VuZDojNTA5NGVkOy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDY2LDEzMywyNDQsMC4zKSwwIDFweCAzcHggMXB4IHJnYmEoNjYsMTMzLDI0NCwwLjE1KTtib3gtc2hhZG93OjAgMXB4IDJweCAwIHJnYmEoNjYsMTMzLDI0NCwwLjMpLDAgMXB4IDNweCAxcHggcmdiYSg2NiwxMzMsMjQ0LDAuMTUpfS5nYl80LmdiX2FlOmFjdGl2ZXtiYWNrZ3JvdW5kOiM2M2EwZWY7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCAwIHJnYmEoNjYsMTMzLDI0NCwwLjMpLDAgMXB4IDNweCAxcHggcmdiYSg2NiwxMzMsMjQ0LDAuMTUpO2JveC1zaGFkb3c6MCAxcHggMnB4IDAgcmdiYSg2NiwxMzMsMjQ0LDAuMyksMCAxcHggM3B4IDFweCByZ2JhKDY2LDEzMywyNDQsMC4xNSl9LmdiX2FlOm5vdCguZ2JfMyl7YmFja2dyb3VuZDojMWE3M2U4O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9LmdiX3NhLmdiX3RhIC5nYl9hZXtwYWRkaW5nOjlweCAxNXB4O21pbi13aWR0aDo4MHB4fSNnYiBhLmdiXzQuZ2JfamEuZ2JfYWUsI2diIGEuZ2JfYWUuZ2JfM3tiYWNrZ3JvdW5kOiNmZmZmZmY7Ym9yZGVyLWNvbG9yOiNkYWRjZTA7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO2NvbG9yOiMxYTczZTh9I2diIGEuZ2JfNC5nYl9qYS5nYl9hZTpob3ZlciwjZ2IgYS5nYl9hZS5nYl8zOmhvdmVye2JhY2tncm91bmQ6I2Y4ZmJmZjtib3JkZXItY29sb3I6I2NjZTBmY30jZ2IgYS5nYl80LmdiX2phLmdiX2FlOmZvY3VzLCNnYiBhLmdiXzQuZ2JfamEuZ2JfYWU6Zm9jdXM6aG92ZXIsI2diIGEuZ2JfYWUuZ2JfMzpmb2N1cywjZ2IgYS5nYl9hZS5nYl8zOmZvY3VzOmhvdmVye2JhY2tncm91bmQ6I2Y0ZjhmZjtib3JkZXItY29sb3I6I2M5ZGRmY30jZ2IgYS5nYl80LmdiX2phLmdiX2FlOmFjdGl2ZSwjZ2IgYS5nYl9hZS5nYl8zOmFjdGl2ZXtiYWNrZ3JvdW5kOiNlY2YzZmV9I2diIGEuZ2JfNC5nYl9qYS5nYl9hZTphY3RpdmV7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCAwIHJnYmEoMCwwLDAsMC4zKSwwIDJweCA2cHggMnB4IHJnYmEoMCwwLDAsMC4xNSk7Ym94LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDAsMCwwLDAuMyksMCAycHggNnB4IDJweCByZ2JhKDAsMCwwLDAuMTUpfSNnYiBhLmdiX2FlLmdiXzM6bm90KC5nYl9qYSk6YWN0aXZley13ZWJraXQtYm94LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDYwLDY0LDY3LDAuMyksMCAycHggNnB4IDJweCByZ2JhKDYwLDY0LDY3LDAuMTUpO2JveC1zaGFkb3c6MCAxcHggMnB4IDAgcmdiYSg2MCw2NCw2NywwLjMpLDAgMnB4IDZweCAycHggcmdiYSg2MCw2NCw2NywwLjE1KX0uZ2JfaWF7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuODgpO2JvcmRlcjoxcHggc29saWQgI2RhZGNlMDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LWhlaWdodDo0OHB4O292ZXJmbG93OmhpZGRlbjtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxMzRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6OHB4O2JvcmRlci1yYWRpdXM6OHB4fS5nYl9pYS5nYl9qYXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgIzVmNjM2OH0uZ2Jfa2F7d2lkdGg6MTE1cHh9LmdiX2xhe2Rpc3BsYXk6aW5oZXJpdH0uZ2JfbGEuZ2JfamF7YmFja2dyb3VuZDojZmZmZmZmOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyLXJhZGl1czo0cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjVweDtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjNweDt0b3A6LTFweH0uZ2JfbGEuZ2JfbWEuZ2JfamF7bGVmdDo2cHg7bWFyZ2luLXJpZ2h0OjJweH0uZ2JfaWE6aG92ZXJ7Ym9yZGVyOjFweCBzb2xpZCAjZDJlM2ZjO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDgsMjUwLDI1NSwwLjg4KX0uZ2JfaWEuZ2JfamE6aG92ZXJ7Ym9yZGVyOjFweCBzb2xpZCAjNWY2MzY4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyMzIsMjM0LDIzNywwLjA4KX0uZ2JfaWE6Zm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCAwIHJnYmEoNjAsNjQsNjcsMC4zKSwwIDFweCAzcHggMXB4IHJnYmEoNjAsNjQsNjcsMC4xNSk7Ym94LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDYwLDY0LDY3LDAuMyksMCAxcHggM3B4IDFweCByZ2JhKDYwLDY0LDY3LDAuMTUpfS5nYl9pYS5nYl9qYTpmb2N1c3tib3JkZXI6MXB4IHNvbGlkICNlOGVhZWQ7YmFja2dyb3VuZC1jb2xvcjojMzgzODNifS5nYl9pYS5nYl9qYTphY3RpdmUsLmdiX2lhLmdiX25hLmdiX2phOmZvY3Vze2JvcmRlcjoxcHggc29saWQgIzVmNjM2ODtiYWNrZ3JvdW5kLWNvbG9yOiMzMzM0Mzh9LmdiX29he2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctbGVmdDo3cHg7cGFkZGluZy1ib3R0b206MnB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtsaW5lLWhlaWdodDozMnB4O3dpZHRoOjc4cHh9LmdiX29hLmdiX2phe2xpbmUtaGVpZ2h0OjI2cHg7d2lkdGg6NzJweH0uZ2Jfb2EuZ2JfcGEuZ2JfamF7bGluZS1oZWlnaHQ6MzBweDt3aWR0aDo1N3B4fS5nYl9vYS5nYl9wYXtsaW5lLWhlaWdodDo0MHB4O3dpZHRoOjU5cHh9LmdiX29hLmdiX2phe3BhZGRpbmctbGVmdDowO3BhZGRpbmctYm90dG9tOjB9LmdiX29hLmdiX3Fhe2JhY2tncm91bmQtY29sb3I6I2YxZjNmNDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1yYWRpdXM6NHB4O21hcmdpbi1sZWZ0OjhweDtwYWRkaW5nLWxlZnQ6MH0uZ2Jfb2EuZ2JfcWEgLmdiX3Jhe3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZ2Jfc2E6bm90KC5nYl90YSkgLmdiX2lhe21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjRweH0uZ2JfaWEgLmdiX3JhLmdiX3Vhe21pbi13aWR0aDowfS5nYl92YXttYXgtaGVpZ2h0OjMycHg7d2lkdGg6NzhweH0uZ2JfcGE+LmdiX3Zhe21heC1oZWlnaHQ6NDBweDt3aWR0aDo5NnB4fS5nYl92YS5nYl9qYXttYXgtaGVpZ2h0OjI2cHg7d2lkdGg6NzJweH0uZ2JfcGE+LmdiX3ZhLmdiX2phe21heC1oZWlnaHQ6MzBweDt3aWR0aDo4OHB4fS5nYl9JYXstd2Via2l0LWJhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7YmFja2dyb3VuZC1zaXplOjMycHggMzJweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NTAlO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDozMnB4O3dpZHRoOjMycHg7ei1pbmRleDowfUBtZWRpYSAobWluLXJlc29sdXRpb246MS4yNWRwcHgpLCgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjUvNCksKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzoxLjI1KSwobWluLWRldmljZS1waXhlbC1yYXRpbzoxLjI1KXsuZ2JfSWE6OmJlZm9yZXtkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguNSk7dHJhbnNmb3JtOnNjYWxlKC41KTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCAwO3RyYW5zZm9ybS1vcmlnaW46bGVmdCAwfS5nYl9KYTo6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC41KTt0cmFuc2Zvcm06c2NhbGUoLjUpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IDA7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IDB9LmdiX2wgLmdiX0phOjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC40MTY2NjY2NjcpO3RyYW5zZm9ybTpzY2FsZSgwLjQxNjY2NjY2Nyl9fS5nYl9JYTpob3ZlciwuZ2JfSWE6Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMTUpO2JveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLC4xNSl9LmdiX0lhOmFjdGl2ZXstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAycHggMCByZ2JhKDAsMCwwLC4xNSk7Ym94LXNoYWRvdzppbnNldCAwIDJweCAwIHJnYmEoMCwwLDAsLjE1KX0uZ2JfSWE6YWN0aXZlOjphZnRlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCU7Y29udGVudDonJztkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlfS5nYl9LYXtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDo0MHB4O21pbi13aWR0aDozMHB4O29wYWNpdHk6Ljc1O292ZXJmbG93OmhpZGRlbjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uZ2JfRC5nYl9LYXt3aWR0aDphdXRvfS5nYl9LYTpob3ZlciwuZ2JfS2E6Zm9jdXN7b3BhY2l0eTouODV9LmdiX0xhIC5nYl9LYSwuZ2JfTGEgLmdiX01he2xpbmUtaGVpZ2h0OjI2cHh9I2diI2diLmdiX0xhIGEuZ2JfS2EsLmdiX0xhIC5nYl9NYXtmb250LXNpemU6MTFweDtoZWlnaHQ6YXV0b30uZ2JfTmF7Ym9yZGVyLXRvcDo0cHggc29saWQgIzAwMDtib3JkZXItbGVmdDo0cHggZGFzaGVkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo0cHggZGFzaGVkIHRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0OjZweDtvcGFjaXR5Oi43NTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmdiX09hOmhvdmVyIC5nYl9OYXtvcGFjaXR5Oi44NX0uZ2JfaWE+LmdiX1Bhe3BhZGRpbmc6M3B4IDNweCAzcHggNHB4fS5nYl9RYS5nYl9IYXtjb2xvcjojZmZmfS5nYl9qIC5nYl9LYSwuZ2JfaiAuZ2JfTmF7b3BhY2l0eToxfSNnYiNnYi5nYl9qLmdiX2ogYS5nYl9LYSwjZ2IjZ2IgLmdiX2ouZ2JfaiBhLmdiX0the2NvbG9yOiNmZmZ9LmdiX2ouZ2JfaiAuZ2JfTmF7Ym9yZGVyLXRvcC1jb2xvcjojZmZmO29wYWNpdHk6MX0uZ2JfRSAuZ2JfSWE6aG92ZXIsLmdiX2ogLmdiX0lhOmhvdmVyLC5nYl9FIC5nYl9JYTpmb2N1cywuZ2JfaiAuZ2JfSWE6Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMTUpLDAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMTUpLDAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKX0uZ2JfUmEgLmdiX1BhLC5nYl9TYSAuZ2JfUGF7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MXB4fS5nYl9QYS5nYl9pLC5nYl9UYS5nYl9pLC5nYl9PYS5nYl9pey13ZWJraXQtZmxleDowIDEgYXV0bztmbGV4OjAgMSBhdXRvOy13ZWJraXQtZmxleDowIDEgbWFpbi1zaXplO2ZsZXg6MCAxIG1haW4tc2l6ZX0uZ2JfVWEuZ2JfVmEgLmdiX0the3dpZHRoOjMwcHghaW1wb3J0YW50fS5nYl9XYS5nYl9IYXtkaXNwbGF5Om5vbmV9LmdiX1hhe2hlaWdodDo0MHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi01cHg7dG9wOi01cHg7d2lkdGg6NDBweH0uZ2JfWmEgLmdiX1hhLC5nYl8wYSAuZ2JfWGF7cmlnaHQ6MDt0b3A6MH0uZ2JfUGEgLmdiX0R7cGFkZGluZzo0cHh9LmdiX2Nle2Rpc3BsYXk6bm9uZX0uZ2JfM2N7ZGlzcGxheTpub25lfS5nYl8zYy5nYl9uYXtkaXNwbGF5OmJsb2NrfS5nYl80Y3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwwLjA4KTtib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwwLjA4KTtjb2xvcjojMDAwO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6OTg2fS5nYl81Y3toZWlnaHQ6NDBweDtwYWRkaW5nOjE2cHggMjRweDt3aGl0ZS1zcGFjZTpub3dyYXB9LmdiXzZje3Bvc2l0aW9uOmZpeGVkO2JvdHRvbToxNnB4O3BhZGRpbmc6MTZweDtyaWdodDoxNnB4O3doaXRlLXNwYWNlOm5vcm1hbDt3aWR0aDozMjhweDstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjJzLGJvdHRvbSAuMnMscmlnaHQgLjJzO3RyYW5zaXRpb246d2lkdGggLjJzLGJvdHRvbSAuMnMscmlnaHQgLjJzOy13ZWJraXQtYm9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2hhZG93OjAgNXB4IDVweCAtM3B4IHJnYmEoMCwwLDAsMC4yKSwwIDhweCAxMHB4IDFweCByZ2JhKDAsMCwwLDAuMTQpLDAgM3B4IDE0cHggMnB4IHJnYmEoMCwwLDAsMC4xMik7Ym94LXNoYWRvdzowIDVweCA1cHggLTNweCByZ2JhKDAsMCwwLDAuMiksMCA4cHggMTBweCAxcHggcmdiYSgwLDAsMCwwLjE0KSwwIDNweCAxNHB4IDJweCByZ2JhKDAsMCwwLDAuMTIpfUBtZWRpYSAobWF4LXdpZHRoOjQwMHB4KXsuZ2JfNGMuZ2JfNmN7bWF4LXdpZHRoOjM2OHB4O3dpZHRoOmF1dG87Ym90dG9tOjA7cmlnaHQ6MH19LmdiXzRjIC5nYl9XY3tib3JkZXI6MDtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MzZweDttaW4td2lkdGg6MzJweDtwYWRkaW5nOjAgMTZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmdiXzRjIC5nYl9XYzpiZWZvcmV7Y29udGVudDonJztoZWlnaHQ6NnB4O2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTZweDt3aWR0aDoxMDAlfS5nYl80YyAuZ2JfV2M6YWZ0ZXJ7Ym90dG9tOi02cHg7Y29udGVudDonJztoZWlnaHQ6NnB4O2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS5nYl80YyAuZ2JfV2MrLmdiX1dje21hcmdpbi1sZWZ0OjhweH0uZ2JfN2N7aGVpZ2h0OjQ4cHg7cGFkZGluZzo0cHg7bWFyZ2luOi04cHggMCAwIC04cHh9LmdiXzZjIC5nYl83Y3tmbG9hdDpsZWZ0O21hcmdpbjotNHB4fS5nYl84Y3tmb250LWZhbWlseTpSb2JvdG8sUm9ib3RvRHJhZnQsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7b3ZlcmZsb3c6aGlkZGVuO3ZlcnRpY2FsLWFsaWduOnRvcH0uZ2JfNWMgLmdiXzhje2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctbGVmdDo4cHg7d2lkdGg6NjQwcHh9LmdiXzZjIC5nYl84Y3tkaXNwbGF5OmJsb2NrO21hcmdpbi1sZWZ0OjU2cHg7cGFkZGluZy1ib3R0b206MTZweH0uZ2JfOWN7YmFja2dyb3VuZC1jb2xvcjppbmhlcml0fS5nYl81YyAuZ2JfOWN7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE4cHg7cmlnaHQ6MjRweH0uZ2JfNmMgLmdiXzlje3RleHQtYWxpZ246cmlnaHQ7cGFkZGluZy1yaWdodDoyNHB4O3BhZGRpbmctdG9wOjZweH0uZ2JfOWMgLmdiX2Fke2hlaWdodDoxLjVlbTttYXJnaW46LS4yNWVtIDEwcHggLS4yNWVtIDA7dmVydGljYWwtYWxpZ246dGV4dC10b3A7d2lkdGg6MS41ZW19LmdiX2Jke2xpbmUtaGVpZ2h0OjIwcHg7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0uZ2JfNmMgLmdiX2Jke2NvbG9yOnJnYmEoMCwwLDAsLjg3KTtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyMHB4O3BhZGRpbmctdG9wOjhweH0uZ2JfNWMgLmdiX2JkLC5nYl81YyAuZ2JfY2R7d2lkdGg6NjQwcHh9LmdiX2NkIC5nYl9kZCwuZ2JfY2R7bGluZS1oZWlnaHQ6MjBweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo0MDA7Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5nYl82YyAuZ2JfY2QgLmdiX2Rke2ZvbnQtc2l6ZToxNHB4fS5nYl82YyAuZ2JfY2R7cGFkZGluZy10b3A6MTJweH0uZ2JfNmMgLmdiX2NkIGF7Y29sb3I6cmdiYSg2NiwxMzMsMjQ0LDEpfS5nYl9lZC5nYl9mZHtwYWRkaW5nOjB9LmdiX2ZkIC5nYl9Ge2JhY2tncm91bmQ6I2ZmZmZmZjtib3JkZXI6c29saWQgMXB4IHRyYW5zcGFyZW50Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyLXJhZGl1czo4cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MTZweDtyaWdodDoxNnB4O3RvcDo3MnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDY1LDY5LDczLDAuMyksMCAzcHggNnB4IDJweCByZ2JhKDY1LDY5LDczLDAuMTUpO2JveC1zaGFkb3c6MCAxcHggMnB4IDAgcmdiYSg2NSw2OSw3MywwLjMpLDAgM3B4IDZweCAycHggcmdiYSg2NSw2OSw3MywwLjE1KX1hLmdiX2dke2NvbG9yOiM1ZjYzNjghaW1wb3J0YW50O2ZvbnQtc2l6ZToyMnB4O2hlaWdodDoyNHB4O29wYWNpdHk6MTtwYWRkaW5nOjhweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDo4cHg7dG9wOjhweDt0ZXh0LWRlY29yYXRpb246bm9uZSFpbXBvcnRhbnQ7d2lkdGg6MjRweH1hLmdiX2dkOmZvY3VzLGEuZ2JfZ2Q6YWN0aXZlLGEuZ2JfZ2Q6Zm9jdXM6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZThlYWVkOy13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCU7b3V0bGluZTpub25lfWEuZ2JfZ2Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjFmM2Y0Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJhZGl1czo1MCU7b3V0bGluZTpub25lfXN2Zy5nYl9oZHtmaWxsOiM1ZjYzNjg7b3BhY2l0eToxfS5nYl9pZHtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6bm9ybWFsO2Rpc3BsYXk6dGFibGV9LmdiX2pke2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpSb2JvdG8sUm9ib3RvRHJhZnQsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWZ9LmdiX2ZkIC5nYl80OmFjdGl2ZXtvdXRsaW5lOm5vbmU7LXdlYmtpdC1ib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4xNik7Ym94LXNoYWRvdzowIDRweCA1cHggcmdiYSgwLDAsMCwuMTYpfS5nYl8wLmdiX2tkLmdiX2xkey13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyLXJhZGl1czo0cHg7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjE2cHg7Y29sb3I6IzVmNjM2ODtmb250LWZhbWlseTpHb29nbGUgU2FucyxSb2JvdG8sUm9ib3RvRHJhZnQsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOi4yNXB4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZzo4cHggNnB4O3RleHQtdHJhbnNmb3JtOm5vbmU7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uZ2JfMC5nYl9rZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmF9LmdiXzAuZ2Jfa2Q6Zm9jdXMsLmdiXzAuZ2Jfa2Q6aG92ZXI6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojZjFmM2Y0O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uZ2JfMC5nYl9rZDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZjFmM2Y0Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDYwLDY0LDY3LDAuMyksMCAxcHggM3B4IDFweCByZ2JhKDYwLDY0LDY3LDAuMTUpO2JveC1zaGFkb3c6MCAxcHggMnB4IDAgcmdiYSg2MCw2NCw2NywwLjMpLDAgMXB4IDNweCAxcHggcmdiYSg2MCw2NCw2NywwLjE1KX0uZ2JfZGR7Y29sb3I6IzVmNjM2ODtmb250LWZhbWlseTpSb2JvdG8sUm9ib3RvRHJhZnQsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7bGV0dGVyLXNwYWNpbmc6LjI1cHg7bGluZS1oZWlnaHQ6MjBweDttYXJnaW46MDttYXJnaW4tYm90dG9tOjVweH0uZ2JfbWR7dGV4dC1hbGlnbjpyaWdodDtmb250LXNpemU6MTRweDtwYWRkaW5nLWJvdHRvbTowO3doaXRlLXNwYWNlOm5vd3JhcH0uZ2JfbWQgLmdiX25ke21hcmdpbi1sZWZ0OjEycHg7dGV4dC10cmFuc2Zvcm06bm9uZX1hLmdiXzQuZ2JfbmQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMmI3ZGU5O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IDAgcmdiYSg2NiwxMzMsMjQ0LDAuMyksMCAxcHggM3B4IDFweCByZ2JhKDY2LDEzMywyNDQsMC4xNSk7Ym94LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDY2LDEzMywyNDQsMC4zKSwwIDFweCAzcHggMXB4IHJnYmEoNjYsMTMzLDI0NCwwLjE1KX1hLmdiXzQuZ2JfbmQ6Zm9jdXMsYS5nYl80LmdiX25kOmhvdmVyOmZvY3Vze2JhY2tncm91bmQtY29sb3I6IzUwOTRlZDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCAwIHJnYmEoNjYsMTMzLDI0NCwwLjMpLDAgMXB4IDNweCAxcHggcmdiYSg2NiwxMzMsMjQ0LDAuMTUpO2JveC1zaGFkb3c6MCAxcHggMnB4IDAgcmdiYSg2NiwxMzMsMjQ0LDAuMyksMCAxcHggM3B4IDFweCByZ2JhKDY2LDEzMywyNDQsMC4xNSl9YS5nYl80LmdiX25kOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiM2M2EwZWY7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCAwIHJnYmEoNjYsMTMzLDI0NCwwLjMpLDAgMXB4IDNweCAxcHggcmdiYSg2NiwxMzMsMjQ0LDAuMTUpO2JveC1zaGFkb3c6MCAxcHggMnB4IDAgcmdiYSg2NiwxMzMsMjQ0LDAuMyksMCAxcHggM3B4IDFweCByZ2JhKDY2LDEzMywyNDQsMC4xNSl9LmdiX21kIC5nYl9uZC5nYl9vZHtwYWRkaW5nLWxlZnQ6NnB4O3BhZGRpbmctcmlnaHQ6MTRweH0uZ2JfbWQgLmdiX2xkLmdiX25kIGltZ3tiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7LXdlYmtpdC1ib3JkZXItcmFkaXVzOmluaXRpYWw7Ym9yZGVyLXJhZGl1czppbml0aWFsO2hlaWdodDoxOHB4O21hcmdpbjowIDhweCAwIDRweDt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LXRvcDt3aWR0aDoxOHB4fS5nYl9wZCAuZ2JfaWQgLmdiX3FkIC5nYl9sZHtib3JkZXI6MnB4IHNvbGlkIHRyYW5zcGFyZW50fS5nYl9wZCAuZ2JfaWQgLmdiX3FkIC5nYl9sZDpmb2N1czphZnRlciwuZ2JfcGQgLmdiX2lkIC5nYl9xZCAuZ2JfbGQ6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uZ2JfamR7YmFja2dyb3VuZC1jb2xvcjojNDA0MDQwO2NvbG9yOiNmZmY7cGFkZGluZzoxNnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2MnB4O21pbi13aWR0aDozMjhweDttYXgtd2lkdGg6NjUwcHg7cmlnaHQ6OHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2hhZG93OjRweCA0cHggMTJweCByZ2JhKDAsMCwwLDAuNCk7Ym94LXNoYWRvdzo0cHggNHB4IDEycHggcmdiYSgwLDAsMCwwLjQpfS5nYl9qZCBhLC5nYl9qZCBhOnZpc2l0ZWR7Y29sb3I6IzVlOTdmNjt0ZXh0LWRlY29yYXRpb246bm9uZX0uZ2JfcmR7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5nYl9zZHtwYWRkaW5nLWxlZnQ6NTBweH0uZ2JfdGR7Y29sb3I6IzNjNDA0Mztmb250LWZhbWlseTpHb29nbGUgU2FucyxSb2JvdG8sUm9ib3RvRHJhZnQsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOi4xcHg7bGluZS1oZWlnaHQ6MjBweDttYXJnaW46MDttYXJnaW4tYm90dG9tOjEycHh9LmdiX2RkIGEuZ2JfdmR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6IzVlOTdmNn0uZ2JfZGQgYS5nYl92ZDp2aXNpdGVke2NvbG9yOiM1ZTk3ZjZ9LmdiX2RkIGEuZ2JfdmQ6aG92ZXIsLmdiX2RkIGEuZ2JfdmQ6YWN0aXZle3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmdiX3dke3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dG9wOi05OTlweDt6LWluZGV4Oi0xO3Zpc2liaWxpdHk6aGlkZGVuO21hcmdpbi10b3A6MXB4O21hcmdpbi1sZWZ0OjFweH0jZ2IgLmdiX2Zke21hcmdpbjowfS5nYl9mZCAuZ2JfV2N7YmFja2dyb3VuZDojNGQ5MGZlO2JvcmRlcjoycHggc29saWQgdHJhbnNwYXJlbnQ7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjIxcHg7bWluLXdpZHRoOjcwcHg7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uZ2JfZmQgYS5nYl80e2JhY2tncm91bmQ6IzFhNzNlODstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOiNmZmZmZmY7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsUm9ib3RvLFJvYm90b0RyYWZ0LEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzouMjVweDtsaW5lLWhlaWdodDoxNnB4O3BhZGRpbmc6OHB4IDIycHg7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uZ2JfZmQgYS5nYl80LmdiX3hke2JhY2tncm91bmQ6I2Q5MzAyNX0uZ2JfZmQgYS5nYl80LmdiX3hkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2NjMzEyN30uZ2JfZmQgYS5nYl80LmdiX3hkOmZvY3VzLC5nYl9mZCBhLmdiXzQuZ2JfeGQ6Zm9jdXM6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYjMzMzJjfS5nYl9mZCBhLmdiXzQuZ2JfeGQ6YWN0aXZlLC5nYl9mZCBhLmdiXzQuZ2JfeGQ6Zm9jdXM6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2E2MzQyZX0uZ2JfZmQ6bm90KC5nYl9wZCkgYS5nYl80e2Zsb2F0OnJpZ2h0fSNnYiAuZ2JfZmQgYS5nYl9XYy5nYl9XY3tjb2xvcjojZmZmZmZmO2N1cnNvcjpwb2ludGVyfS5nYl9mZCAuZ2JfV2M6aG92ZXJ7YmFja2dyb3VuZDojMzU3YWU4O2JvcmRlci1jb2xvcjojMmY1YmI3fS5nYl95ZCwuZ2JfcWR7ZGlzcGxheTp0YWJsZS1jZWxsfS5nYl95ZHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmdiX3lkIGltZ3toZWlnaHQ6NDhweDtwYWRkaW5nLWxlZnQ6NHB4O3BhZGRpbmctcmlnaHQ6MjBweDt3aWR0aDo0OHB4fS5nYl9xZHtwYWRkaW5nLWxlZnQ6MTNweDt3aWR0aDoxMDAlfS5nYl9mZCAuZ2JfcWR7cGFkZGluZy10b3A6NHB4O21pbi13aWR0aDozMjZweDtwYWRkaW5nLWxlZnQ6MDt3aWR0aDozMjZweH0uZ2JfZmQuZ2JfemQgLmdiX3Fke21pbi13aWR0aDoyNTRweDt3aWR0aDoyNTRweH0uZ2JfZmQ6bm90KC5nYl9wZCkgLmdiX3Fke3BhZGRpbmctdG9wOjMycHh9LmdiX0Fke2Rpc3BsYXk6YmxvY2s7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzoxZW0gMCAwIDA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0uZ2JfQmR7Y29sb3I6I2ZmMDAwMDtmb250LXN0eWxlOml0YWxpYzttYXJnaW46MDtwYWRkaW5nLWxlZnQ6NDZweH0uZ2JfQWQgLmdiX0Nke2Zsb2F0OnJpZ2h0O21hcmdpbjotMjBweCAwO3dpZHRoOi13ZWJraXQtY2FsYygxMDAlIC0gNDZweCk7d2lkdGg6Y2FsYygxMDAlIC0gNDZweCl9LmdiX0RkIHN2Z3tmaWxsOmdyZXl9LmdiX0RkLmdiX0VkIHN2Z3tmaWxsOiM0Mjg1ZjR9LmdiX0FkIC5nYl9DZCBsYWJlbDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiM0Mjg1ZjR9LmdiX0Rke2Rpc3BsYXk6aW5saW5lO2Zsb2F0OnJpZ2h0O21hcmdpbi1yaWdodDoyMnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHh9LmdiX0lke2NvbG9yOiNmZmZmZmY7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6Ym9sZDtoZWlnaHQ6MjVweDtsaW5lLWhlaWdodDoxOXB4O3BhZGRpbmctdG9wOjVweDtwYWRkaW5nLWxlZnQ6MTJweDtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmV9LmdiX0lkIC5nYl9KZHtjb2xvcjojZmZmZmZmO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToyMnB4O2ZvbnQtd2VpZ2h0Om5vcm1hbDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMnB4O3RvcDo1cHh9LmdiX0lkIC5nYl9uZCwuZ2JfSWQgLmdiX2tke2NvbG9yOiNmZmZmZmY7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjExcHg7bWFyZ2luLWxlZnQ6MTZweDtwYWRkaW5nOjAgOHB4O3doaXRlLXNwYWNlOm5vd3JhcH0uZ2JfS2R7YmFja2dyb3VuZDpub25lO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2JhKDAsMCwwLDAuMTYpKSx0byhyZ2JhKDAsMCwwLDAuMikpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDAuMTYpLHJnYmEoMCwwLDAsMC4yKSk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMCwwLDAsMC4xNikscmdiYSgwLDAsMCwwLjIpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDAuMTYpLHJnYmEoMCwwLDAsMC4yKSk7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2N1cnNvcjpkZWZhdWx0IWltcG9ydGFudDtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IzE2MDAwMGZmLGVuZENvbG9yc3RyPSMyMjAwMDBmZik7dGV4dC1kZWNvcmF0aW9uOm5vbmUhaW1wb3J0YW50Oy13ZWJraXQtYm9yZGVyLXJhZGl1czoycHh9LmdiX0tkOmhvdmVye2JhY2tncm91bmQ6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwLjE0KSksdG8ocmdiYSgwLDAsMCwwLjIpKSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgwLDAsMCwwLjE0KSxyZ2JhKDAsMCwwLDAuMikpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDAuMTQpLHJnYmEoMCwwLDAsMC4yKSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgwLDAsMCwwLjE0KSxyZ2JhKDAsMCwwLDAuMikpO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjIpO2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsMC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsMC4xKTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IzE0MDAwMDAwLGVuZENvbG9yc3RyPSMyMjAwMDAwMCl9LmdiX0tkOmFjdGl2ZXtib3gtc2hhZG93Omluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMyk7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMyl9LmdiX3NhIC5nYl8we2NvbG9yOiM0Mjg1ZjR9LmdiX3NhIC5nYl8xe2NvbG9yOiNmZmZ9LmdiX3NhIC5nYl9XYzpub3QoLmdiX09lKTpmb2N1c3tvdXRsaW5lOm5vbmV9c2VudGluZWx7fS5nYmlpOjpiZWZvcmV7Y29udGVudDp1cmwoaHR0cHM6Ly9zc2wuZ3N0YXRpYy5jb20vZ2IvaW1hZ2VzL3NpbGhvdWV0dGVfMjcucG5nKX0uZ2JpcDo6YmVmb3Jle2NvbnRlbnQ6dXJsKGh0dHBzOi8vc3NsLmdzdGF0aWMuY29tL2diL2ltYWdlcy9zaWxob3VldHRlXzk2LnBuZyl9QG1lZGlhIChtaW4tcmVzb2x1dGlvbjoxLjI1ZHBweCksKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86NS80KSwoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjEuMjUpLChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOjEuMjUpey5nYmlpOjpiZWZvcmV7Y29udGVudDp1cmwoaHR0cHM6Ly9zc2wuZ3N0YXRpYy5jb20vZ2IvaW1hZ2VzL3NpbGhvdWV0dGVfMjcucG5nKX0uZ2JpcDo6YmVmb3Jle2NvbnRlbnQ6dXJsKGh0dHBzOi8vc3NsLmdzdGF0aWMuY29tL2diL2ltYWdlcy9zaWxob3VldHRlXzk2LnBuZyl9fQo8L3N0eWxlPjwvaGVhZD48Ym9keSBkaXI9Imx0ciIgcm9sZT0iYXBwbGljYXRpb24iIGl0ZW1zY29wZSBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvQ3JlYXRpdmVXb3JrL0RvY3VtZW50T2JqZWN0Ij48ZGl2IHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxkaXYgaWQ9Im9uZS1nb29nbGUtYmFyIiBjbGFzcz0ibmRmSEZiLWM0WVpEYy1Xb2FsMGMtamNKenllLVpNdjN1IG5kZkhGYi1jNFlaRGMtbjFVdVgtQnoxMTJjIj48ZGl2IGNsYXNzPSJnYl9zYSBnYl8xZCBnYl9aYSIgaWQ9ImdiIj48ZGl2IGNsYXNzPSJnYl9UYyBnYl9VYSBnYl9TYyIgbmctbm9uLWJpbmRhYmxlPSIiIGRhdGEtb2dzci11cD0iIiBzdHlsZT0icGFkZGluZzowIj48ZGl2IGNsYXNzPSJnYl9VYyIgc3R5bGU9ImRpc3BsYXk6YmxvY2siPjxkaXYgY2xhc3M9ImdiX0tjIj48L2Rpdj48YSBjbGFzcz0iZ2JfNCBnYl81IGdiX2FlIGdiX1djIiBocmVmPSJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vU2VydmljZUxvZ2luP3NlcnZpY2U9d2lzZSZhbXA7cGFzc2l2ZT0xMjA5NjAwJmFtcDtjb250aW51ZT1odHRwczovL2RvY3MuZ29vZ2xlLmNvbS9maWxlL2QvMXVWR2htWVN0bTd6NVdiMXY3UmtqMG5ZQjR0enJ6WERHL2VkaXQmYW1wO2ZvbGxvd3VwPWh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2ZpbGUvZC8xdVZHaG1ZU3RtN3o1V2IxdjdSa2owbllCNHR6cnpYREcvZWRpdCIgdGFyZ2V0PSJfdG9wIj5GYXplciBsb2dpbjwvYT48L2Rpdj48L2Rpdj48L2Rpdj48c2NyaXB0IG5vbmNlPSI3aFh5SXBsQkkwNEFKRFR0SUVlVFlBIj50aGlzLmdiYXJfPXRoaXMuZ2Jhcl98fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKXy5KZD0hXy55fHxfLmljKDkpO18uS2Q9IV8ueXx8Xy5pYyg5KTtfLkxkPV8ueSYmIV8uZ2MoIjkiKTtfLk1kPWZ1bmN0aW9uKCl7aWYoIV8ucS5hZGRFdmVudExpc3RlbmVyfHwhT2JqZWN0LmRlZmluZVByb3BlcnR5KXJldHVybiExO3ZhciBhPSExLGM9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7YT0hMH19KTt0cnl7Xy5xLmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLF8ueGEsYyksXy5xLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLF8ueGEsYyl9Y2F0Y2goZCl7fXJldHVybiBhfSgpOwpfLk5kPV8uU2I/IndlYmtpdFRyYW5zaXRpb25FbmQiOl8uT2I/Im90cmFuc2l0aW9uZW5kIjoidHJhbnNpdGlvbmVuZCI7Cgp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLk9kPWZ1bmN0aW9uKGEsYyxkKXtpZighYS5mKWlmKGQgaW5zdGFuY2VvZiBBcnJheSlmb3IodmFyIGUgaW4gZClfLk9kKGEsYyxkW2VdKTtlbHNle2U9KDAsXy50KShhLkIsYSxjKTt2YXIgZj1hLkErZDthLkErKztjLnNldEF0dHJpYnV0ZSgiZGF0YS1lcWlkIixmKTthLm9bZl09ZTtjJiZjLmFkZEV2ZW50TGlzdGVuZXI/Yy5hZGRFdmVudExpc3RlbmVyKGQsZSwhMSk6YyYmYy5hdHRhY2hFdmVudD9jLmF0dGFjaEV2ZW50KCJvbiIrZCxlKTphLncubG9nKEVycm9yKCJrYCIrYykpfX07Cgp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUGQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmdiX0MgLmdiX0QiKSxRZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjZ2IuZ2JfQWMiKTtQZCYmIVFkJiZfLk9kKF8uemQsUGQsImNsaWNrIik7Cgp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgR2g9ZnVuY3Rpb24oYSl7Xy5KLmNhbGwodGhpcyk7dGhpcy5BPWE7dGhpcy5qPW51bGw7dGhpcy5iPXt9O3RoaXMuQj17fTt0aGlzLmY9e319O18udyhHaCxfLkopO18uSGg9ZnVuY3Rpb24oYSl7aWYoYS5qKXJldHVybiBhLmo7Zm9yKHZhciBjIGluIGEuZilpZihhLmZbY10ubmcoKSYmYS5mW2NdLlJiKCkpcmV0dXJuIGEuZltjXTtyZXR1cm4gbnVsbH07R2gucHJvdG90eXBlLnc9ZnVuY3Rpb24oYSl7dGhpcy5mW2FdJiYoXy5IaCh0aGlzKSYmXy5IaCh0aGlzKS5CZCgpPT1hfHx0aGlzLmZbYV0ubWUoITApKX07R2gucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7dGhpcy5mW2EuQmQoKV09YX07dmFyIEloPW5ldyBHaChfLk0pO18uWmMoImRkIixJaCk7Cgp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgdWo9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmdiX1BhIC5nYl9EIiksdmo9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2diLmdiX0FjIik7dWomJiF2aiYmXy5PZChfLnpkLHVqLCJjbGljayIpOwoKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9Cn0pKHRoaXMuZ2Jhcl8pOwovLyBHb29nbGUgSW5jLgo8L3NjcmlwdD48L2Rpdj48L2Rpdj48bWV0YSBpdGVtcHJvcD0ibmFtZSIgY29udGVudD0iVW50aXRsZWQgZG9jdW1lbnQucGRmIj48bWV0YSBpdGVtcHJvcD0iZmF2aWNvblVybCIgY29udGVudD0iaHR0cHM6Ly9zc2wuZ3N0YXRpYy5jb20vZG9jcy9kb2NsaXN0L2ltYWdlcy9pY29uXzE0X3BkZl9mYXZpY29uLmljbyI+PG1ldGEgaXRlbXByb3A9InVybCIgY29udGVudD0iaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZmlsZS9kLzF1VkdobVlTdG03ejVXYjF2N1JrajBuWUI0dHpyelhERy9lZGl0P3VzcD1lbWJlZF9nb29nbGVwbHVzIj48bWV0YSBpdGVtcHJvcD0iZW1iZWRVUkwiIGNvbnRlbnQ9Imh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2ZpbGUvZC8xdVZHaG1ZU3RtN3o1V2IxdjdSa2owbllCNHR6cnpYREcvcHJldmlldz91c3A9ZW1iZWRfZ29vZ2xlcGx1cyI+PGRpdiBuZy1ub24tYmluZGFibGU9IiI+PC9kaXY+PHNjcmlwdCBub25jZT0iN2hYeUlwbEJJMDRBSkRUdElFZVRZQSI+dGhpcy5nYmFyXz10aGlzLmdiYXJffHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7CnZhciBTZCxVZCxWZCwkZCxhZSxiZSxjZSxkZSxlZSxmZSxrZTtfLlJkPWZ1bmN0aW9uKGEsYyl7dmFyIGQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBlPWQuc2xpY2UoKTtlLnB1c2guYXBwbHkoZSxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZSl9fTtTZD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5lYiYmYS5jb25zdHJ1Y3Rvcj09PV8uZWImJmEuaj09PV8uZGIpcmV0dXJuIGEuZjtfLkFhKGEpO3JldHVybiJ0eXBlX2Vycm9yOlRydXN0ZWRSZXNvdXJjZVVybCJ9O18uVGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIFNkKGEpLnRvU3RyaW5nKCl9O1VkPW51bGw7VmQ9L15bXHcrL18tXStbPV17MCwyfSQvOwpfLldkPWZ1bmN0aW9uKCl7aWYobnVsbD09PVVkKWE6e3ZhciBhPV8ucS5kb2N1bWVudDtpZigoYT1hLnF1ZXJ5U2VsZWN0b3ImJmEucXVlcnlTZWxlY3Rvcigic2NyaXB0W25vbmNlXSIpKSYmKGE9YS5ub25jZXx8YS5nZXRBdHRyaWJ1dGUoIm5vbmNlIikpJiZWZC50ZXN0KGEpKXtVZD1hO2JyZWFrIGF9VWQ9IiJ9cmV0dXJuIFVkfTtfLlhkPWZ1bmN0aW9uKGEpe3ZhciBjPV8uQWEoYSk7cmV0dXJuImFycmF5Ij09Y3x8Im9iamVjdCI9PWMmJiJudW1iZXIiPT10eXBlb2YgYS5sZW5ndGh9O18uWWQ9ZnVuY3Rpb24oYSl7dmFyIGM9YS5sZW5ndGg7aWYoMDxjKXtmb3IodmFyIGQ9QXJyYXkoYyksZT0wO2U8YztlKyspZFtlXT1hW2VdO3JldHVybiBkfXJldHVybltdfTtfLlpkPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIDA9PWEubGFzdEluZGV4T2YoYywwKX07JGQ9LyYvZzthZT0vPC9nO2JlPS8+L2c7Y2U9LyIvZztkZT0vJy9nO2VlPS9ceDAwL2c7ZmU9L1tceDAwJjw+IiddLzsKXy5nZT1mdW5jdGlvbihhLGMpe2lmKGMpYT1hLnJlcGxhY2UoJGQsIiZhbXA7IikucmVwbGFjZShhZSwiJmx0OyIpLnJlcGxhY2UoYmUsIiZndDsiKS5yZXBsYWNlKGNlLCImcXVvdDsiKS5yZXBsYWNlKGRlLCImIzM5OyIpLnJlcGxhY2UoZWUsIiYjMDsiKTtlbHNle2lmKCFmZS50ZXN0KGEpKXJldHVybiBhOy0xIT1hLmluZGV4T2YoIiYiKSYmKGE9YS5yZXBsYWNlKCRkLCImYW1wOyIpKTstMSE9YS5pbmRleE9mKCI8IikmJihhPWEucmVwbGFjZShhZSwiJmx0OyIpKTstMSE9YS5pbmRleE9mKCI+IikmJihhPWEucmVwbGFjZShiZSwiJmd0OyIpKTstMSE9YS5pbmRleE9mKCciJykmJihhPWEucmVwbGFjZShjZSwiJnF1b3Q7IikpOy0xIT1hLmluZGV4T2YoIiciKSYmKGE9YS5yZXBsYWNlKGRlLCImIzM5OyIpKTstMSE9YS5pbmRleE9mKCJceDAwIikmJihhPWEucmVwbGFjZShlZSwiJiMwOyIpKX1yZXR1cm4gYX07Cl8uaGU9ZnVuY3Rpb24oYSxjLGQpe2EucmVsPWQ7YS5ocmVmPS0xIT1kLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigic3R5bGVzaGVldCIpP18uVGQoYyk6YyBpbnN0YW5jZW9mIF8uZWI/Xy5UZChjKTpjIGluc3RhbmNlb2YgXy5sYj9fLm1iKGMpOl8ubWIoXy5wYihjKSl9O18uaWU9ZnVuY3Rpb24oYSxjKXthLnNyYz1TZChjKTsoYz1fLldkKCkpJiZhLnNldEF0dHJpYnV0ZSgibm9uY2UiLGMpfTtfLmplPWZ1bmN0aW9uKGEpe3JldHVybiBhPV8uZ2UoYSx2b2lkIDApfTtrZT0hXy55fHxfLmljKDkpO18ubGU9IV8uUmImJiFfLnl8fF8ueSYmXy5pYyg5KXx8Xy5SYiYmXy5nYygiMS45LjEiKTtfLm1lPV8ueSYmIV8uZ2MoIjkiKTtfLm5lPV8ueXx8Xy5PYnx8Xy5TYjsKXy5vZT1mdW5jdGlvbihhLGMpe3RoaXMud2lkdGg9YTt0aGlzLmhlaWdodD1jfTtfLms9Xy5vZS5wcm90b3R5cGU7Xy5rLmFzcGVjdFJhdGlvPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2lkdGgvdGhpcy5oZWlnaHR9O18uay52Yz1mdW5jdGlvbigpe3JldHVybiEodGhpcy53aWR0aCp0aGlzLmhlaWdodCl9O18uay5jZWlsPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5rLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmsucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9Owp2YXIgcmUseGU7Xy5wZT1mdW5jdGlvbihhLGMpe3JldHVybihjfHxkb2N1bWVudCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGEpKX07Xy5PPWZ1bmN0aW9uKGEsYyl7dmFyIGQ9Y3x8ZG9jdW1lbnQ7aWYoZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKWE9ZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpWzBdO2Vsc2V7ZD1kb2N1bWVudDt2YXIgZT1jfHxkO2E9ZS5xdWVyeVNlbGVjdG9yQWxsJiZlLnF1ZXJ5U2VsZWN0b3ImJmE/ZS5xdWVyeVNlbGVjdG9yKGE/Ii4iK2E6IiIpOl8ucWUoZCwiKiIsYSxjKVswXXx8bnVsbH1yZXR1cm4gYXx8bnVsbH07Cl8ucWU9ZnVuY3Rpb24oYSxjLGQsZSl7YT1lfHxhO2M9YyYmIioiIT1jP1N0cmluZyhjKS50b1VwcGVyQ2FzZSgpOiIiO2lmKGEucXVlcnlTZWxlY3RvckFsbCYmYS5xdWVyeVNlbGVjdG9yJiYoY3x8ZCkpcmV0dXJuIGEucXVlcnlTZWxlY3RvckFsbChjKyhkPyIuIitkOiIiKSk7aWYoZCYmYS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXthPWEuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShkKTtpZihjKXtlPXt9O2Zvcih2YXIgZj0wLGc9MCxoO2g9YVtnXTtnKyspYz09aC5ub2RlTmFtZSYmKGVbZisrXT1oKTtlLmxlbmd0aD1mO3JldHVybiBlfXJldHVybiBhfWE9YS5nZXRFbGVtZW50c0J5VGFnTmFtZShjfHwiKiIpO2lmKGQpe2U9e307Zm9yKGc9Zj0wO2g9YVtnXTtnKyspYz1oLmNsYXNzTmFtZSwiZnVuY3Rpb24iPT10eXBlb2YgYy5zcGxpdCYmXy5RYShjLnNwbGl0KC9ccysvKSxkKSYmKGVbZisrXT1oKTtlLmxlbmd0aD1mO3JldHVybiBlfXJldHVybiBhfTsKXy5zZT1mdW5jdGlvbihhLGMpe18uUmEoYyxmdW5jdGlvbihkLGUpe2QmJiJvYmplY3QiPT10eXBlb2YgZCYmZC5PYiYmKGQ9ZC5BYigpKTsic3R5bGUiPT1lP2Euc3R5bGUuY3NzVGV4dD1kOiJjbGFzcyI9PWU/YS5jbGFzc05hbWU9ZDoiZm9yIj09ZT9hLmh0bWxGb3I9ZDpyZS5oYXNPd25Qcm9wZXJ0eShlKT9hLnNldEF0dHJpYnV0ZShyZVtlXSxkKTpfLlpkKGUsImFyaWEtIil8fF8uWmQoZSwiZGF0YS0iKT9hLnNldEF0dHJpYnV0ZShlLGQpOmFbZV09ZH0pfTtyZT17Y2VsbHBhZGRpbmc6ImNlbGxQYWRkaW5nIixjZWxsc3BhY2luZzoiY2VsbFNwYWNpbmciLGNvbHNwYW46ImNvbFNwYW4iLGZyYW1lYm9yZGVyOiJmcmFtZUJvcmRlciIsaGVpZ2h0OiJoZWlnaHQiLG1heGxlbmd0aDoibWF4TGVuZ3RoIixub25jZToibm9uY2UiLHJvbGU6InJvbGUiLHJvd3NwYW46InJvd1NwYW4iLHR5cGU6InR5cGUiLHVzZW1hcDoidXNlTWFwIix2YWxpZ246InZBbGlnbiIsd2lkdGg6IndpZHRoIn07Cl8udWU9ZnVuY3Rpb24oYSxjLGQpe3JldHVybiBfLnRlKGRvY3VtZW50LGFyZ3VtZW50cyl9O18udGU9ZnVuY3Rpb24oYSxjKXt2YXIgZD1TdHJpbmcoY1swXSksZT1jWzFdO2lmKCFrZSYmZSYmKGUubmFtZXx8ZS50eXBlKSl7ZD1bIjwiLGRdO2UubmFtZSYmZC5wdXNoKCcgbmFtZT0iJyxfLmplKGUubmFtZSksJyInKTtpZihlLnR5cGUpe2QucHVzaCgnIHR5cGU9IicsXy5qZShlLnR5cGUpLCciJyk7dmFyIGY9e307Xy5UYShmLGUpO2RlbGV0ZSBmLnR5cGU7ZT1mfWQucHVzaCgiPiIpO2Q9ZC5qb2luKCIiKX1kPV8udmUoYSxkKTtlJiYoInN0cmluZyI9PT10eXBlb2YgZT9kLmNsYXNzTmFtZT1lOl8uQmEoZSk/ZC5jbGFzc05hbWU9ZS5qb2luKCIgIik6Xy5zZShkLGUpKTsyPGMubGVuZ3RoJiZfLndlKGEsZCxjLDIpO3JldHVybiBkfTsKXy53ZT1mdW5jdGlvbihhLGMsZCxlKXtmdW5jdGlvbiBmKGgpe2gmJmMuYXBwZW5kQ2hpbGQoInN0cmluZyI9PT10eXBlb2YgaD9hLmNyZWF0ZVRleHROb2RlKGgpOmgpfWZvcig7ZTxkLmxlbmd0aDtlKyspe3ZhciBnPWRbZV07IV8uWGQoZyl8fF8uRGEoZykmJjA8Zy5ub2RlVHlwZT9mKGcpOigwLF8uTWEpKHhlKGcpP18uWWQoZyk6ZyxmKX19O18ueWU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8udmUoZG9jdW1lbnQsYSl9O18udmU9ZnVuY3Rpb24oYSxjKXtjPVN0cmluZyhjKTsiYXBwbGljYXRpb24veGh0bWwreG1sIj09PWEuY29udGVudFR5cGUmJihjPWMudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChjKX07Xy56ZT1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5wYXJlbnROb2RlP2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTpudWxsfTtfLkFlPWZ1bmN0aW9uKGEpe3JldHVybiBfLkRhKGEpJiYxPT1hLm5vZGVUeXBlfTsKXy5CZT1mdW5jdGlvbihhKXtyZXR1cm4gOT09YS5ub2RlVHlwZT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07eGU9ZnVuY3Rpb24oYSl7aWYoYSYmIm51bWJlciI9PXR5cGVvZiBhLmxlbmd0aCl7aWYoXy5EYShhKSlyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgYS5pdGVtfHwic3RyaW5nIj09dHlwZW9mIGEuaXRlbTtpZihfLkNhKGEpKXJldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBhLml0ZW19cmV0dXJuITF9OwoKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy56aj1mdW5jdGlvbihhKXtfLkEodGhpcyxhLDAsLTEsbnVsbCxudWxsKX07Xy53KF8uemosXy56KTsKCn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBBaj1mdW5jdGlvbihhLGMsZCl7Xy55ZC5sb2coNDYse2F0dDphLG1heDpjLHVybDpkfSl9LENqPWZ1bmN0aW9uKGEsYyxkKXtfLnlkLmxvZyg0Nyx7YXR0OmEsbWF4OmMsdXJsOmR9KTthPGM/QmooYSsxLGMpOl8uTS5sb2coRXJyb3IoIk9gIithKyJgIitjKSx7dXJsOmR9KX0sQmo9ZnVuY3Rpb24oYSxjKXtpZihEail7dmFyIGQ9Xy55ZSgiU0NSSVBUIik7ZC5hc3luYz0hMDtkLnR5cGU9InRleHQvamF2YXNjcmlwdCI7ZC5jaGFyc2V0PSJVVEYtOCI7Xy5pZShkLERqKTtkLm9ubG9hZD1fLlJkKEFqLGEsYyxkLnNyYyk7ZC5vbmVycm9yPV8uUmQoQ2osYSxjLGQuc3JjKTtfLnlkLmxvZyg0NSx7YXR0OmEsbWF4OmMsdXJsOmQuc3JjfSk7Xy5wZSgiSEVBRCIpWzBdLmFwcGVuZENoaWxkKGQpfX0sRWo9ZnVuY3Rpb24oYSl7Xy5BKHRoaXMsYSwwLC0xLG51bGwsbnVsbCl9O18udyhFaixfLnopOwp2YXIgRmo9Xy5IKF8udWQsRWosMTcpfHxuZXcgRWosR2osRGo9KEdqPV8uSChGaixfLnpqLDEpKT9fLmZiKF8uQihHaiw0KXx8IiIpOm51bGwsSGosSWo9KEhqPV8uSChGaixfLnpqLDIpKT9fLmZiKF8uQihIaiw0KXx8IiIpOm51bGwsSmo9ZnVuY3Rpb24oKXtCaigxLDIpO2lmKElqKXt2YXIgYT1fLnllKCJMSU5LIik7YS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJ0ZXh0L2NzcyIpO18uaGUoYSxJaiwic3R5bGVzaGVldCIpO18ucGUoIkhFQUQiKVswXS5hcHBlbmRDaGlsZChhKX19OwooZnVuY3Rpb24oKXt2YXIgYT1fLnZkKCk7aWYoXy5DKGEsMTgpKUpqKCk7ZWxzZXt2YXIgYz1fLkIoYSwxOSl8fDA7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7d2luZG93LnNldFRpbWVvdXQoSmosYyl9KX19KSgpOwoKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9Cn0pKHRoaXMuZ2Jhcl8pOwovLyBHb29nbGUgSW5jLgo8L3NjcmlwdD48c2NyaXB0IGlkPSJiYXNlLWpzIiBhc3luYyB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vXy9hcHBzLWZpbGV2aWV3L18vanMvaz1hcHBzLWZpbGV2aWV3LnYucHRfQlIuRGswWXB6WkhFNDQuTy9kPTEvY3Q9emdtcy9ycz1BTzAwMzl1S3B1T28tWGViaXNvWTRWTDQzV1lZdVQtQXlBL209diIgbm9uY2U9IjdoWHlJcGxCSTA0QUpEVHRJRWVUWUEiPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+ [GoogleDrive] 1uVGhmYStm7z5Wb1v7Rkj0nYB4tzrzXDG: Requesting source file [debug] Default format spec: bestvideo+bestaudio/best [debug] Invoking downloader on u'https://drive.google.com/uc?export=download&id=1uVGhmYStm7z5Wb1v7Rkj0nYB4tzrzXDG' ERROR: unable to download video data: HTTP Error 302: The HTTP server returned a redirect error that would lead to an infinite loop. The last 30x error message was: Found Traceback (most recent call last): File "/home/acordado/.local/lib/python2.7/site-packages/youtube_dl/YoutubeDL.py", line 1925, in process_info success = dl(filename, info_dict) File "/home/acordado/.local/lib/python2.7/site-packages/youtube_dl/YoutubeDL.py", line 1864, in dl return fd.download(name, info) File "/home/acordado/.local/lib/python2.7/site-packages/youtube_dl/downloader/common.py", line 366, in download return self.real_download(filename, info_dict) File "/home/acordado/.local/lib/python2.7/site-packages/youtube_dl/downloader/http.py", line 341, in real_download establish_connection() File "/home/acordado/.local/lib/python2.7/site-packages/youtube_dl/downloader/http.py", line 109, in establish_connection ctx.data = self.ydl.urlopen(request) File "/home/acordado/.local/lib/python2.7/site-packages/youtube_dl/YoutubeDL.py", line 2237, in urlopen return self._opener.open(req, timeout=self._socket_timeout) File "/usr/lib/python2.7/urllib2.py", line 435, in open response = meth(req, response) File "/usr/lib/python2.7/urllib2.py", line 548, in http_response 'http', request, response, code, msg, hdrs) File "/usr/lib/python2.7/urllib2.py", line 467, in error result = self._call_chain(*args) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 654, in http_error_302 return self.parent.open(new, timeout=req.timeout) File "/usr/lib/python2.7/urllib2.py", line 435, in open response = meth(req, response) File "/usr/lib/python2.7/urllib2.py", line 548, in http_response 'http', request, response, code, msg, hdrs) File "/usr/lib/python2.7/urllib2.py", line 467, in error result = self._call_chain(*args) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 654, in http_error_302 return self.parent.open(new, timeout=req.timeout) File "/usr/lib/python2.7/urllib2.py", line 435, in open response = meth(req, response) File "/usr/lib/python2.7/urllib2.py", line 548, in http_response 'http', request, response, code, msg, hdrs) File "/usr/lib/python2.7/urllib2.py", line 467, in error result = self._call_chain(*args) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 654, in http_error_302 return self.parent.open(new, timeout=req.timeout) File "/usr/lib/python2.7/urllib2.py", line 435, in open response = meth(req, response) File "/usr/lib/python2.7/urllib2.py", line 548, in http_response 'http', request, response, code, msg, hdrs) File "/usr/lib/python2.7/urllib2.py", line 467, in error result = self._call_chain(*args) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 654, in http_error_302 return self.parent.open(new, timeout=req.timeout) File "/usr/lib/python2.7/urllib2.py", line 435, in open response = meth(req, response) File "/usr/lib/python2.7/urllib2.py", line 548, in http_response 'http', request, response, code, msg, hdrs) File "/usr/lib/python2.7/urllib2.py", line 467, in error result = self._call_chain(*args) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 654, in http_error_302 return self.parent.open(new, timeout=req.timeout) File "/usr/lib/python2.7/urllib2.py", line 435, in open response = meth(req, response) File "/usr/lib/python2.7/urllib2.py", line 548, in http_response 'http', request, response, code, msg, hdrs) File "/usr/lib/python2.7/urllib2.py", line 467, in error result = self._call_chain(*args) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 654, in http_error_302 return self.parent.open(new, timeout=req.timeout) File "/usr/lib/python2.7/urllib2.py", line 435, in open response = meth(req, response) File "/usr/lib/python2.7/urllib2.py", line 548, in http_response 'http', request, response, code, msg, hdrs) File "/usr/lib/python2.7/urllib2.py", line 467, in error result = self._call_chain(*args) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 654, in http_error_302 return self.parent.open(new, timeout=req.timeout) File "/usr/lib/python2.7/urllib2.py", line 435, in open response = meth(req, response) File "/usr/lib/python2.7/urllib2.py", line 548, in http_response 'http', request, response, code, msg, hdrs) File "/usr/lib/python2.7/urllib2.py", line 467, in error result = self._call_chain(*args) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 654, in http_error_302 return self.parent.open(new, timeout=req.timeout) File "/usr/lib/python2.7/urllib2.py", line 435, in open response = meth(req, response) File "/usr/lib/python2.7/urllib2.py", line 548, in http_response 'http', request, response, code, msg, hdrs) File "/usr/lib/python2.7/urllib2.py", line 467, in error result = self._call_chain(*args) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 654, in http_error_302 return self.parent.open(new, timeout=req.timeout) File "/usr/lib/python2.7/urllib2.py", line 435, in open response = meth(req, response) File "/usr/lib/python2.7/urllib2.py", line 548, in http_response 'http', request, response, code, msg, hdrs) File "/usr/lib/python2.7/urllib2.py", line 467, in error result = self._call_chain(*args) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 654, in http_error_302 return self.parent.open(new, timeout=req.timeout) File "/usr/lib/python2.7/urllib2.py", line 435, in open response = meth(req, response) File "/usr/lib/python2.7/urllib2.py", line 548, in http_response 'http', request, response, code, msg, hdrs) File "/usr/lib/python2.7/urllib2.py", line 467, in error result = self._call_chain(*args) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 644, in http_error_302 self.inf_msg + msg, headers, fp) HTTPError: HTTP Error 302: The HTTP server returned a redirect error that would lead to an infinite loop. The last 30x error message was: Found