diff --git a/murom_1.2.0.html b/murom_1.2.0.html deleted file mode 120000 index 5badf2d..0000000 --- a/murom_1.2.0.html +++ /dev/null @@ -1 +0,0 @@ -муром_1.2.0.html \ No newline at end of file diff --git a/murom_2.0.0.html b/murom_2.0.0.html new file mode 120000 index 0000000..2c9feb7 --- /dev/null +++ b/murom_2.0.0.html @@ -0,0 +1 @@ +муром_2.0.0.html \ No newline at end of file diff --git a/муром_1.2.0.html b/муром_2.0.0.html similarity index 98% rename from муром_1.2.0.html rename to муром_2.0.0.html index dc3d658..c8edc82 100644 --- a/муром_1.2.0.html +++ b/муром_2.0.0.html @@ -39,8 +39,22 @@ var murom = муром; [ -"функции", -"LyoKICoKICog0J/QvtC70YPRh9C40YLRjCDQvNC+0LTRg9C70Ywg0L/QviDQuNC80LXQvdC4CiAqCiAqLwpmdW5jdGlvbiDQvNC+0LTRg9C70Ywo0LjQvNGPKQp7CiAgICBmb3IgKHZhciDQvdC+0LzQtdGAIGluINC80YPRgNC+0Lwu0LzQvtC00YPQu9C4KQogICAgewogICAgICAgIHZhciDQvCA9INC80YPRgNC+0Lwu0LzQvtC00YPQu9C4W9C90L7QvNC10YBdOwogICAgICAgIGlmICjQvFswXSA9PSDQuNC80Y8pCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4g0Lw7CiAgICAgICAgfQogICAgfQogICAgCiAgICByZXR1cm4gbnVsbDsKfQoKLyoKICoKICog0JfQsNCz0YDRg9C30LjRgtGMINGB0YLQvtGA0L7QvdC90LjQuSDRgdC60YDQuNC/0YIg0LIg0YLRjdCzIHNjcmlwdAogKgogKi8KZnVuY3Rpb24g0LfQsNCz0YDRg9C30LjRgtGM0KHQutGA0LjQv9GCKNC60L7QtCkKewogICAgdmFyINGB0LrRgNC40L/RgiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwogICAg0YHQutGA0LjQv9GCLmlubmVySFRNTCA9INC60L7QtDsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo0YHQutGA0LjQv9GCKTsKfQoKLyoKICoKICog0KPQstC10LTQvtC80LjRgtGMINC+0LEg0L7QsdGL0YfQvdC+0Lwg0L/Rg9GB0LrQtQogKgogKi8K0LzRg9GA0L7QvC7QvtCx0YvRh9C90YvQudCf0YPRgdC6ID0gbmV3INCj0LLQtdC00L7QvNC40YLQtdC70YwoKTsK0LzRg9GA0L7QvC7Qv9GD0YHQui7Qv9C+0LTQv9C40YHQsNGC0YwoZnVuY3Rpb24oKXsKICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoICE9ICI/MCIpCiAgICB7CiAgICAgICAg0LzRg9GA0L7QvC7QvtCx0YvRh9C90YvQudCf0YPRgdC6LtGD0LLQtdC00L7QvNC40YLRjCgpOwogICAgfQp9KTsKCi8qCiAqCiAqINCh0L7Qt9C00LDRgtGMINGN0LrRgNCw0L0g0LjQvdGC0LXRgNGE0LXQudGB0LAKICoKICovCmZ1bmN0aW9uINGB0L7Qt9C00LDRgtGM0K3QutGA0LDQvSjQuNC80Y8pCnsKICAgIHZhciDRjdC60YDQsNC9ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICDRjdC60YDQsNC9LmlkID0g0LjQvNGPOwogICAg0Y3QutGA0LDQvS5zdHlsZS5jc3NUZXh0ID0KYApwb3NpdGlvbjogZml4ZWQ7CmxlZnQ6IDA7CnRvcDogMDsKcmlnaHQ6IDA7CmJvdHRvbTogMDsKcG9pbnRlci1ldmVudHM6IGFsbDsKYDsKICAgIHJldHVybiDRjdC60YDQsNC9Owp9CgovKgogKgogKiDQlNC+0LbQtNCw0YLRjNGB0Y8g0YPQstC10LTQvtC80LvQtdC90LjRjyDQvtGCINC90LXRgdC60L7Qu9GM0LrQuNGFINGD0LLQtdC00L7QvNC40YLQtdC70LXQuQogKgogKi8KZnVuY3Rpb24g0LTQvtC20LTQsNGC0YzRgdGPKNGD0LLQtdC00L7QvNC40YLQtdC70LgsINGE0YPQvdC60YbQuNGPKQp7CiAgICB2YXIg0YHRh9GR0YLRh9C40LogPSAwOwogICAgZnVuY3Rpb24g0LLRi9C/0L7Qu9C90LjRgtGMKCkKICAgIHsKICAgICAgICBpZiAoKyvRgdGH0ZHRgtGH0LjQuiA9PSDRg9Cy0LXQtNC+0LzQuNGC0LXQu9C4Lmxlbmd0aCkKICAgICAgICB7CiAgICAgICAgICAgINGE0YPQvdC60YbQuNGPKCk7CiAgICAgICAgfQogICAgfQogICAgZm9yICh2YXIg0L3QvtC80LXRgCBpbiDRg9Cy0LXQtNC+0LzQuNGC0LXQu9C4KQogICAgewogICAgICAgIHZhciDRg9Cy0LXQtNC+0LzQuNGC0LXQu9GMID0g0YPQstC10LTQvtC80LjRgtC10LvQuFvQvdC+0LzQtdGAXTsKICAgICAgICDRg9Cy0LXQtNC+0LzQuNGC0LXQu9GMLtC/0L7QtNC/0LjRgdCw0YLRjCjQstGL0L/QvtC70L3QuNGC0YwpOwogICAgfQp9CgovKgogKgogKiDQmNC80Y8g0LjRgdC/0L7Qu9C90Y/QtdC80L7Qs9C+INC/0YDRj9C80L4g0YHQtdC50YfQsNGBINGE0LDQudC70LAgSFRNTAogKgogKi8KZnVuY3Rpb24g0LjQvNGP0KTQsNC50LvQsCgpCnsKICAgIHZhciDQv9GD0YLRjCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKICAgIHZhciDQuNC80Y8gPSDQv9GD0YLRjC5zcGxpdCgiLyIpLnBvcCgpOwogICAgcmV0dXJuIGRlY29kZVVSSSjQuNC80Y8pOwp9CgovKgogKgogKiDQoNCw0LfQvtCx0YDQsNGC0Ywg0LDRgNCz0YPQvNC10L3RgtGLINC/0YDQuCDQvtCx0YvRh9C90L7QvCDQv9GD0YHQutC1CiAqCiAqLwrQvNGD0YDQvtC8LtCw0YDQs9GD0LzQtdC90YLRiyA9IHt9OwrQvNGD0YDQvtC8LtCw0YDQs9GD0LzQtdC90YLRi9CY0LfQvNC10L3QuNC70LggPSBuZXcg0KPQstC10LTQvtC80LjRgtC10LvRjCgpOwpmdW5jdGlvbiDRgNCw0LfQvtCx0YDQsNGC0YzQkNGA0LPRg9C80LXQvdGC0YsoKQp7CiAgICB2YXIg0LfQsNC/0YDQvtGBID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSk7CiAgICB2YXIg0LDRgNCz0LggPSDQt9Cw0L/RgNC+0YEuc3BsaXQoIiYiKTsKICAgIGZvciAodmFyINC90L7QvNC10YAgaW4g0LDRgNCz0LgpCiAgICB7CiAgICAgICAgdmFyINCw0YDQsyA9INCw0YDQs9C4W9C90L7QvNC10YBdOwogICAgICAgIHZhciDQv9C+0LfQuNGG0LjRj9CX0L3QsNC60LAgPSDQsNGA0LMuaW5kZXhPZigiPSIpOwogICAgICAgIC8vINCb0LjRiNGMINC60LvRjtGHLgogICAgICAgIGlmICjQv9C+0LfQuNGG0LjRj9CX0L3QsNC60LAgPT0gLTEpCiAgICAgICAgewogICAgICAgICAgICB2YXIg0LrQu9GO0YcgPSBkZWNvZGVVUklDb21wb25lbnQo0LDRgNCzKTsKICAgICAgICAgICAg0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0Ytb0LrQu9GO0YddID0gbnVsbDsKICAgICAgICB9CiAgICAgICAgLy8g0JrQu9GO0Ycg0YHQviDQt9C90LDRh9C10L3QuNC10LwuCiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgdmFyINGB0YvRgNC+0LnQmtC70Y7RhyA9INCw0YDQsy5zbGljZSgwLCDQv9C+0LfQuNGG0LjRj9CX0L3QsNC60LApOwogICAgICAgICAgICB2YXIg0YHRi9GA0L7QtdCX0L3QsNGH0LXQvdC40LUgPSDQsNGA0LMuc2xpY2Uo0L/QvtC30LjRhtC40Y/Ql9C90LDQutCwICsgMSk7CiAgICAgICAgICAgIHZhciDQutC70Y7RhyA9IGRlY29kZVVSSUNvbXBvbmVudCjRgdGL0YDQvtC50JrQu9GO0YcpOwogICAgICAgICAgICB2YXIg0LfQvdCw0YfQtdC90LjQtSA9IGRlY29kZVVSSUNvbXBvbmVudCjRgdGL0YDQvtC10JfQvdCw0YfQtdC90LjQtSk7CiAgICAgICAgICAgINC80YPRgNC+0Lwu0LDRgNCz0YPQvNC10L3RgtGLW9C60LvRjtGHXSA9INC30L3QsNGH0LXQvdC40LU7CiAgICAgICAgfQogICAgfQogICAg0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0YvQmNC30LzQtdC90LjQu9C4LtGD0LLQtdC00L7QvNC40YLRjCgpOwp9CtC80YPRgNC+0Lwu0L7QsdGL0YfQvdGL0LnQn9GD0YHQui7Qv9C+0LTQv9C40YHQsNGC0Ywo0YDQsNC30L7QsdGA0LDRgtGM0JDRgNCz0YPQvNC10L3RgtGLKTsK", +"функции_1.0.0", +"LyoKICoKICog0J/QvtC70YPRh9C40YLRjCDQvNC+0LTRg9C70Ywg0L/QviDQuNC80LXQvdC4CiAqCiAqLwpmdW5jdGlvbiDQvNC+0LTRg9C70Ywo0LjQvNGPKQp7CiAgICBmb3IgKHZhciDQvdC+0LzQtdGAIGluINC80YPRgNC+0Lwu0LzQvtC00YPQu9C4KQogICAgewogICAgICAgIHZhciDQvCA9INC80YPRgNC+0Lwu0LzQvtC00YPQu9C4W9C90L7QvNC10YBdOwogICAgICAgIGlmICjQvFswXSA9PSDQuNC80Y8pCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4g0Lw7CiAgICAgICAgfQogICAgfQogICAgCiAgICByZXR1cm4gbnVsbDsKfQoKLyoKICoKICog0JfQsNCz0YDRg9C30LjRgtGMINGB0YLQvtGA0L7QvdC90LjQuSDRgdC60YDQuNC/0YIg0LIg0YLRjdCzIHNjcmlwdAogKgogKi8KZnVuY3Rpb24g0LfQsNCz0YDRg9C30LjRgtGM0KHQutGA0LjQv9GCKNC60L7QtCkKewogICAgdmFyINGB0LrRgNC40L/RgiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwogICAg0YHQutGA0LjQv9GCLmlubmVySFRNTCA9INC60L7QtDsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo0YHQutGA0LjQv9GCKTsKfQoKLyoKICoKICog0KPQstC10LTQvtC80LjRgtGMINC+0LEg0L7QsdGL0YfQvdC+0Lwg0L/Rg9GB0LrQtQogKgogKi8K0LzRg9GA0L7QvC7QvtCx0YvRh9C90YvQudCf0YPRgdC6ID0gbmV3INCj0LLQtdC00L7QvNC40YLQtdC70YwoKTsK0LzRg9GA0L7QvC7Qv9GD0YHQui7Qv9C+0LTQv9C40YHQsNGC0YwoZnVuY3Rpb24oKXsKICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoICE9ICI/MCIpCiAgICB7CiAgICAgICAg0LzRg9GA0L7QvC7QvtCx0YvRh9C90YvQudCf0YPRgdC6LtGD0LLQtdC00L7QvNC40YLRjCgpOwogICAgfQp9KTsKCi8qCiAqCiAqINCh0L7Qt9C00LDRgtGMINGN0LrRgNCw0L0g0LjQvdGC0LXRgNGE0LXQudGB0LAKICoKICovCmZ1bmN0aW9uINGB0L7Qt9C00LDRgtGM0K3QutGA0LDQvSjQuNC80Y8pCnsKICAgIHZhciDRjdC60YDQsNC9ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICDRjdC60YDQsNC9LmlkID0g0LjQvNGPOwogICAg0Y3QutGA0LDQvS5zdHlsZS5jc3NUZXh0ID0KYApwb3NpdGlvbjogZml4ZWQ7CmxlZnQ6IDA7CnRvcDogMDsKcmlnaHQ6IDA7CmJvdHRvbTogMDsKcG9pbnRlci1ldmVudHM6IGFsbDsKYDsKICAgIHJldHVybiDRjdC60YDQsNC9Owp9CgovKgogKgogKiDQlNC+0LbQtNCw0YLRjNGB0Y8g0YPQstC10LTQvtC80LvQtdC90LjRjyDQvtGCINC90LXRgdC60L7Qu9GM0LrQuNGFINGD0LLQtdC00L7QvNC40YLQtdC70LXQuQogKgogKi8KZnVuY3Rpb24g0LTQvtC20LTQsNGC0YzRgdGPKNGD0LLQtdC00L7QvNC40YLQtdC70LgsINGE0YPQvdC60YbQuNGPKQp7CiAgICB2YXIg0YHRh9GR0YLRh9C40LogPSAwOwogICAgZnVuY3Rpb24g0LLRi9C/0L7Qu9C90LjRgtGMKCkKICAgIHsKICAgICAgICBpZiAoKyvRgdGH0ZHRgtGH0LjQuiA9PSDRg9Cy0LXQtNC+0LzQuNGC0LXQu9C4Lmxlbmd0aCkKICAgICAgICB7CiAgICAgICAgICAgINGE0YPQvdC60YbQuNGPKCk7CiAgICAgICAgfQogICAgfQogICAgZm9yICh2YXIg0L3QvtC80LXRgCBpbiDRg9Cy0LXQtNC+0LzQuNGC0LXQu9C4KQogICAgewogICAgICAgIHZhciDRg9Cy0LXQtNC+0LzQuNGC0LXQu9GMID0g0YPQstC10LTQvtC80LjRgtC10LvQuFvQvdC+0LzQtdGAXTsKICAgICAgICDRg9Cy0LXQtNC+0LzQuNGC0LXQu9GMLtC/0L7QtNC/0LjRgdCw0YLRjCjQstGL0L/QvtC70L3QuNGC0YwpOwogICAgfQp9CgovKgogKgogKiDQmNC80Y8g0LjRgdC/0L7Qu9C90Y/QtdC80L7Qs9C+INC/0YDRj9C80L4g0YHQtdC50YfQsNGBINGE0LDQudC70LAgSFRNTAogKgogKi8KZnVuY3Rpb24g0LjQvNGP0KTQsNC50LvQsCgpCnsKICAgIHZhciDQv9GD0YLRjCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKICAgIHZhciDQuNC80Y8gPSDQv9GD0YLRjC5zcGxpdCgiLyIpLnBvcCgpOwogICAgcmV0dXJuIGRlY29kZVVSSSjQuNC80Y8pOwp9CgovKgogKgogKiDQoNCw0LfQvtCx0YDQsNGC0Ywg0LDRgNCz0YPQvNC10L3RgtGLINC/0YDQuCDQvtCx0YvRh9C90L7QvCDQv9GD0YHQutC1CiAqCiAqLwrQvNGD0YDQvtC8LtCw0YDQs9GD0LzQtdC90YLRiyA9IHt9OwrQvNGD0YDQvtC8LtCw0YDQs9GD0LzQtdC90YLRi9CY0LfQvNC10L3QuNC70LggPSBuZXcg0KPQstC10LTQvtC80LjRgtC10LvRjCgpOwpmdW5jdGlvbiDRgNCw0LfQvtCx0YDQsNGC0YzQkNGA0LPRg9C80LXQvdGC0YsoKQp7CiAgICB2YXIg0LfQsNC/0YDQvtGBID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSk7CiAgICB2YXIg0LDRgNCz0LggPSDQt9Cw0L/RgNC+0YEuc3BsaXQoIiYiKTsKICAgIGZvciAodmFyINC90L7QvNC10YAgaW4g0LDRgNCz0LgpCiAgICB7CiAgICAgICAgdmFyINCw0YDQsyA9INCw0YDQs9C4W9C90L7QvNC10YBdOwogICAgICAgIHZhciDQv9C+0LfQuNGG0LjRj9CX0L3QsNC60LAgPSDQsNGA0LMuaW5kZXhPZigiPSIpOwogICAgICAgIC8vINCb0LjRiNGMINC60LvRjtGHLgogICAgICAgIGlmICjQv9C+0LfQuNGG0LjRj9CX0L3QsNC60LAgPT0gLTEpCiAgICAgICAgewogICAgICAgICAgICB2YXIg0LrQu9GO0YcgPSBkZWNvZGVVUklDb21wb25lbnQo0LDRgNCzKTsKICAgICAgICAgICAg0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0Ytb0LrQu9GO0YddID0gbnVsbDsKICAgICAgICB9CiAgICAgICAgLy8g0JrQu9GO0Ycg0YHQviDQt9C90LDRh9C10L3QuNC10LwuCiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgdmFyINGB0YvRgNC+0LnQmtC70Y7RhyA9INCw0YDQsy5zbGljZSgwLCDQv9C+0LfQuNGG0LjRj9CX0L3QsNC60LApOwogICAgICAgICAgICB2YXIg0YHRi9GA0L7QtdCX0L3QsNGH0LXQvdC40LUgPSDQsNGA0LMuc2xpY2Uo0L/QvtC30LjRhtC40Y/Ql9C90LDQutCwICsgMSk7CiAgICAgICAgICAgIHZhciDQutC70Y7RhyA9IGRlY29kZVVSSUNvbXBvbmVudCjRgdGL0YDQvtC50JrQu9GO0YcpOwogICAgICAgICAgICB2YXIg0LfQvdCw0YfQtdC90LjQtSA9IGRlY29kZVVSSUNvbXBvbmVudCjRgdGL0YDQvtC10JfQvdCw0YfQtdC90LjQtSk7CiAgICAgICAgICAgINC80YPRgNC+0Lwu0LDRgNCz0YPQvNC10L3RgtGLW9C60LvRjtGHXSA9INC30L3QsNGH0LXQvdC40LU7CiAgICAgICAgfQogICAgfQogICAg0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0YvQmNC30LzQtdC90LjQu9C4LtGD0LLQtdC00L7QvNC40YLRjCgpOwp9CtC80YPRgNC+0Lwu0L7QsdGL0YfQvdGL0LnQn9GD0YHQui7Qv9C+0LTQv9C40YHQsNGC0Ywo0YDQsNC30L7QsdGA0LDRgtGM0JDRgNCz0YPQvNC10L3RgtGLKTsKCi8qCiAqCiAqINCo0LjRhNGA0L7QstCw0L3QuNC1INGB0YLRgNC+0LrQuCDQsiDRhNC+0YDQvNCw0YLQtSB6aXAgKyBiYXNlNjQKICoKICovCtC80YPRgNC+0LwuemJ0b2EgPSBmdW5jdGlvbijRgdGC0YDQvtC60LApCnsKICAgIHZhciDQsdCw0LnRgtGLID0gbmV3IChUZXh0RW5jb2RlciB8fCBUZXh0RW5jb2RlckxpdGUpKCJ1dGYtOCIpLmVuY29kZSjRgdGC0YDQvtC60LApOwogICAgdmFyINGB0LbQsNGC0LjQtVppcCA9IHdpbmRvdy5wYWtvLmRlZmxhdGUo0LHQsNC50YLRiywge3RvOiAnc3RyaW5nJ30pOwogICAgcmV0dXJuINC80YPRgNC+0LwuYnRvYSjRgdC20LDRgtC40LVaaXApOwp9Ci8qCiAqCiAqINCU0LXRiNC40YTRgNC+0LLQsNC90LjQtSDRgdGC0YDQvtC60Lgg0LjQtyDRhNC+0YDQvNCw0YLQsCB6aXAgKyBiYXNlNjQKICoKICovCtC80YPRgNC+0LwuemF0b2IgPSBmdW5jdGlvbijRiNC40YTRgCkKewogICAgdmFyINGB0LbQsNGC0LjQtVppcCA9INC80YPRgNC+0LwuYXRvYijRiNC40YTRgCk7CiAgICB2YXIg0LHQsNC50YLRiyA9IHdpbmRvdy5wYWtvLmluZmxhdGUo0YHQttCw0YLQuNC1WmlwKQogICAgcmV0dXJuIG5ldyAoVGV4dERlY29kZXIgfHwgVGV4dERlY29kZXJMaXRlKSgidXRmLTgiKS5kZWNvZGUo0LHQsNC50YLRiyk7Cn0KCi8qCiAqCiAqINCh0LLRj9C30LDRgtGMINGD0LLQtdC00L7QvNC70LXQvdC40LUg0Lgg0YTRg9C90LrRhtC40Y4g0LIg0LHQvtC70LXQtSDRh9C40YLQsNC10LzQvtC8INCy0LjQtNC1CiAqCiAqLwrQv9GA0LggPSBmdW5jdGlvbijRg9Cy0LXQtNC+0LzQu9C10L3QuNC1LCDRhNGD0L3QutGG0LjRjykKewogICAg0YPQstC10LTQvtC80LvQtdC90LjQtS7Qv9C+0LTQv9C40YHQsNGC0Ywo0YTRg9C90LrRhtC40Y8pOwp9", +{"status":true} +], + + +[ +"pako.min.js_1.0.10", +"LyohIHBha28gMS4wLjEwIHwgaHR0cHM6Ly9naXRodWIuY29tL25vZGVjYS9wYWtvIHwgTUlULCBaTGliICovCiFmdW5jdGlvbih0KXtpZigib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlKW1vZHVsZS5leHBvcnRzPXQoKTtlbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQpZGVmaW5lKFtdLHQpO2Vsc2V7KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6dGhpcykucGFrbz10KCl9fShmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiByKHMsbyxsKXtmdW5jdGlvbiBoKGUsdCl7aWYoIW9bZV0pe2lmKCFzW2VdKXt2YXIgYT0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighdCYmYSlyZXR1cm4gYShlLCEwKTtpZihkKXJldHVybiBkKGUsITApO3ZhciBpPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK2UrIiciKTt0aHJvdyBpLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGl9dmFyIG49b1tlXT17ZXhwb3J0czp7fX07c1tlXVswXS5jYWxsKG4uZXhwb3J0cyxmdW5jdGlvbih0KXtyZXR1cm4gaChzW2VdWzFdW3RdfHx0KX0sbixuLmV4cG9ydHMscixzLG8sbCl9cmV0dXJuIG9bZV0uZXhwb3J0c31mb3IodmFyIGQ9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsdD0wO3Q8bC5sZW5ndGg7dCsrKWgobFt0XSk7cmV0dXJuIGh9KHsxOltmdW5jdGlvbih0LGUsYSl7InVzZSBzdHJpY3QiO3ZhciBzPXQoIi4vemxpYi9kZWZsYXRlIiksbz10KCIuL3V0aWxzL2NvbW1vbiIpLGw9dCgiLi91dGlscy9zdHJpbmdzIiksbj10KCIuL3psaWIvbWVzc2FnZXMiKSxyPXQoIi4vemxpYi96c3RyZWFtIiksaD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGQ9MCxmPS0xLF89MCx1PTg7ZnVuY3Rpb24gYyh0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBjKSlyZXR1cm4gbmV3IGModCk7dGhpcy5vcHRpb25zPW8uYXNzaWduKHtsZXZlbDpmLG1ldGhvZDp1LGNodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjE1LG1lbUxldmVsOjgsc3RyYXRlZ3k6Xyx0bzoiIn0sdHx8e30pO3ZhciBlPXRoaXMub3B0aW9ucztlLnJhdyYmMDxlLndpbmRvd0JpdHM/ZS53aW5kb3dCaXRzPS1lLndpbmRvd0JpdHM6ZS5nemlwJiYwPGUud2luZG93Qml0cyYmZS53aW5kb3dCaXRzPDE2JiYoZS53aW5kb3dCaXRzKz0xNiksdGhpcy5lcnI9MCx0aGlzLm1zZz0iIix0aGlzLmVuZGVkPSExLHRoaXMuY2h1bmtzPVtdLHRoaXMuc3RybT1uZXcgcix0aGlzLnN0cm0uYXZhaWxfb3V0PTA7dmFyIGE9cy5kZWZsYXRlSW5pdDIodGhpcy5zdHJtLGUubGV2ZWwsZS5tZXRob2QsZS53aW5kb3dCaXRzLGUubWVtTGV2ZWwsZS5zdHJhdGVneSk7aWYoYSE9PWQpdGhyb3cgbmV3IEVycm9yKG5bYV0pO2lmKGUuaGVhZGVyJiZzLmRlZmxhdGVTZXRIZWFkZXIodGhpcy5zdHJtLGUuaGVhZGVyKSxlLmRpY3Rpb25hcnkpe3ZhciBpO2lmKGk9InN0cmluZyI9PXR5cGVvZiBlLmRpY3Rpb25hcnk/bC5zdHJpbmcyYnVmKGUuZGljdGlvbmFyeSk6IltvYmplY3QgQXJyYXlCdWZmZXJdIj09PWguY2FsbChlLmRpY3Rpb25hcnkpP25ldyBVaW50OEFycmF5KGUuZGljdGlvbmFyeSk6ZS5kaWN0aW9uYXJ5LChhPXMuZGVmbGF0ZVNldERpY3Rpb25hcnkodGhpcy5zdHJtLGkpKSE9PWQpdGhyb3cgbmV3IEVycm9yKG5bYV0pO3RoaXMuX2RpY3Rfc2V0PSEwfX1mdW5jdGlvbiBpKHQsZSl7dmFyIGE9bmV3IGMoZSk7aWYoYS5wdXNoKHQsITApLGEuZXJyKXRocm93IGEubXNnfHxuW2EuZXJyXTtyZXR1cm4gYS5yZXN1bHR9Yy5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0LGUpe3ZhciBhLGksbj10aGlzLnN0cm0scj10aGlzLm9wdGlvbnMuY2h1bmtTaXplO2lmKHRoaXMuZW5kZWQpcmV0dXJuITE7aT1lPT09fn5lP2U6ITA9PT1lPzQ6MCwic3RyaW5nIj09dHlwZW9mIHQ/bi5pbnB1dD1sLnN0cmluZzJidWYodCk6IltvYmplY3QgQXJyYXlCdWZmZXJdIj09PWguY2FsbCh0KT9uLmlucHV0PW5ldyBVaW50OEFycmF5KHQpOm4uaW5wdXQ9dCxuLm5leHRfaW49MCxuLmF2YWlsX2luPW4uaW5wdXQubGVuZ3RoO2Rve2lmKDA9PT1uLmF2YWlsX291dCYmKG4ub3V0cHV0PW5ldyBvLkJ1Zjgociksbi5uZXh0X291dD0wLG4uYXZhaWxfb3V0PXIpLDEhPT0oYT1zLmRlZmxhdGUobixpKSkmJmEhPT1kKXJldHVybiB0aGlzLm9uRW5kKGEpLCEodGhpcy5lbmRlZD0hMCk7MCE9PW4uYXZhaWxfb3V0JiYoMCE9PW4uYXZhaWxfaW58fDQhPT1pJiYyIT09aSl8fCgic3RyaW5nIj09PXRoaXMub3B0aW9ucy50bz90aGlzLm9uRGF0YShsLmJ1ZjJiaW5zdHJpbmcoby5zaHJpbmtCdWYobi5vdXRwdXQsbi5uZXh0X291dCkpKTp0aGlzLm9uRGF0YShvLnNocmlua0J1ZihuLm91dHB1dCxuLm5leHRfb3V0KSkpfXdoaWxlKCgwPG4uYXZhaWxfaW58fDA9PT1uLmF2YWlsX291dCkmJjEhPT1hKTtyZXR1cm4gND09PWk/KGE9cy5kZWZsYXRlRW5kKHRoaXMuc3RybSksdGhpcy5vbkVuZChhKSx0aGlzLmVuZGVkPSEwLGE9PT1kKToyIT09aXx8KHRoaXMub25FbmQoZCksIShuLmF2YWlsX291dD0wKSl9LGMucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbih0KXt0aGlzLmNodW5rcy5wdXNoKHQpfSxjLnByb3RvdHlwZS5vbkVuZD1mdW5jdGlvbih0KXt0PT09ZCYmKCJzdHJpbmciPT09dGhpcy5vcHRpb25zLnRvP3RoaXMucmVzdWx0PXRoaXMuY2h1bmtzLmpvaW4oIiIpOnRoaXMucmVzdWx0PW8uZmxhdHRlbkNodW5rcyh0aGlzLmNodW5rcykpLHRoaXMuY2h1bmtzPVtdLHRoaXMuZXJyPXQsdGhpcy5tc2c9dGhpcy5zdHJtLm1zZ30sYS5EZWZsYXRlPWMsYS5kZWZsYXRlPWksYS5kZWZsYXRlUmF3PWZ1bmN0aW9uKHQsZSl7cmV0dXJuKGU9ZXx8e30pLnJhdz0hMCxpKHQsZSl9LGEuZ3ppcD1mdW5jdGlvbih0LGUpe3JldHVybihlPWV8fHt9KS5nemlwPSEwLGkodCxlKX19LHsiLi91dGlscy9jb21tb24iOjMsIi4vdXRpbHMvc3RyaW5ncyI6NCwiLi96bGliL2RlZmxhdGUiOjgsIi4vemxpYi9tZXNzYWdlcyI6MTMsIi4vemxpYi96c3RyZWFtIjoxNX1dLDI6W2Z1bmN0aW9uKHQsZSxhKXsidXNlIHN0cmljdCI7dmFyIGY9dCgiLi96bGliL2luZmxhdGUiKSxfPXQoIi4vdXRpbHMvY29tbW9uIiksdT10KCIuL3V0aWxzL3N0cmluZ3MiKSxjPXQoIi4vemxpYi9jb25zdGFudHMiKSxpPXQoIi4vemxpYi9tZXNzYWdlcyIpLG49dCgiLi96bGliL3pzdHJlYW0iKSxyPXQoIi4vemxpYi9nemhlYWRlciIpLGI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiBzKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIHMpKXJldHVybiBuZXcgcyh0KTt0aGlzLm9wdGlvbnM9Xy5hc3NpZ24oe2NodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjAsdG86IiJ9LHR8fHt9KTt2YXIgZT10aGlzLm9wdGlvbnM7ZS5yYXcmJjA8PWUud2luZG93Qml0cyYmZS53aW5kb3dCaXRzPDE2JiYoZS53aW5kb3dCaXRzPS1lLndpbmRvd0JpdHMsMD09PWUud2luZG93Qml0cyYmKGUud2luZG93Qml0cz0tMTUpKSwhKDA8PWUud2luZG93Qml0cyYmZS53aW5kb3dCaXRzPDE2KXx8dCYmdC53aW5kb3dCaXRzfHwoZS53aW5kb3dCaXRzKz0zMiksMTU8ZS53aW5kb3dCaXRzJiZlLndpbmRvd0JpdHM8NDgmJjA9PSgxNSZlLndpbmRvd0JpdHMpJiYoZS53aW5kb3dCaXRzfD0xNSksdGhpcy5lcnI9MCx0aGlzLm1zZz0iIix0aGlzLmVuZGVkPSExLHRoaXMuY2h1bmtzPVtdLHRoaXMuc3RybT1uZXcgbix0aGlzLnN0cm0uYXZhaWxfb3V0PTA7dmFyIGE9Zi5pbmZsYXRlSW5pdDIodGhpcy5zdHJtLGUud2luZG93Qml0cyk7aWYoYSE9PWMuWl9PSyl0aHJvdyBuZXcgRXJyb3IoaVthXSk7aWYodGhpcy5oZWFkZXI9bmV3IHIsZi5pbmZsYXRlR2V0SGVhZGVyKHRoaXMuc3RybSx0aGlzLmhlYWRlciksZS5kaWN0aW9uYXJ5JiYoInN0cmluZyI9PXR5cGVvZiBlLmRpY3Rpb25hcnk/ZS5kaWN0aW9uYXJ5PXUuc3RyaW5nMmJ1ZihlLmRpY3Rpb25hcnkpOiJbb2JqZWN0IEFycmF5QnVmZmVyXSI9PT1iLmNhbGwoZS5kaWN0aW9uYXJ5KSYmKGUuZGljdGlvbmFyeT1uZXcgVWludDhBcnJheShlLmRpY3Rpb25hcnkpKSxlLnJhdyYmKGE9Zi5pbmZsYXRlU2V0RGljdGlvbmFyeSh0aGlzLnN0cm0sZS5kaWN0aW9uYXJ5KSkhPT1jLlpfT0spKXRocm93IG5ldyBFcnJvcihpW2FdKX1mdW5jdGlvbiBvKHQsZSl7dmFyIGE9bmV3IHMoZSk7aWYoYS5wdXNoKHQsITApLGEuZXJyKXRocm93IGEubXNnfHxpW2EuZXJyXTtyZXR1cm4gYS5yZXN1bHR9cy5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0LGUpe3ZhciBhLGksbixyLHMsbz10aGlzLnN0cm0sbD10aGlzLm9wdGlvbnMuY2h1bmtTaXplLGg9dGhpcy5vcHRpb25zLmRpY3Rpb25hcnksZD0hMTtpZih0aGlzLmVuZGVkKXJldHVybiExO2k9ZT09PX5+ZT9lOiEwPT09ZT9jLlpfRklOSVNIOmMuWl9OT19GTFVTSCwic3RyaW5nIj09dHlwZW9mIHQ/by5pbnB1dD11LmJpbnN0cmluZzJidWYodCk6IltvYmplY3QgQXJyYXlCdWZmZXJdIj09PWIuY2FsbCh0KT9vLmlucHV0PW5ldyBVaW50OEFycmF5KHQpOm8uaW5wdXQ9dCxvLm5leHRfaW49MCxvLmF2YWlsX2luPW8uaW5wdXQubGVuZ3RoO2Rve2lmKDA9PT1vLmF2YWlsX291dCYmKG8ub3V0cHV0PW5ldyBfLkJ1ZjgobCksby5uZXh0X291dD0wLG8uYXZhaWxfb3V0PWwpLChhPWYuaW5mbGF0ZShvLGMuWl9OT19GTFVTSCkpPT09Yy5aX05FRURfRElDVCYmaCYmKGE9Zi5pbmZsYXRlU2V0RGljdGlvbmFyeSh0aGlzLnN0cm0saCkpLGE9PT1jLlpfQlVGX0VSUk9SJiYhMD09PWQmJihhPWMuWl9PSyxkPSExKSxhIT09Yy5aX1NUUkVBTV9FTkQmJmEhPT1jLlpfT0spcmV0dXJuIHRoaXMub25FbmQoYSksISh0aGlzLmVuZGVkPSEwKTtvLm5leHRfb3V0JiYoMCE9PW8uYXZhaWxfb3V0JiZhIT09Yy5aX1NUUkVBTV9FTkQmJigwIT09by5hdmFpbF9pbnx8aSE9PWMuWl9GSU5JU0gmJmkhPT1jLlpfU1lOQ19GTFVTSCl8fCgic3RyaW5nIj09PXRoaXMub3B0aW9ucy50bz8obj11LnV0Zjhib3JkZXIoby5vdXRwdXQsby5uZXh0X291dCkscj1vLm5leHRfb3V0LW4scz11LmJ1ZjJzdHJpbmcoby5vdXRwdXQsbiksby5uZXh0X291dD1yLG8uYXZhaWxfb3V0PWwtcixyJiZfLmFycmF5U2V0KG8ub3V0cHV0LG8ub3V0cHV0LG4sciwwKSx0aGlzLm9uRGF0YShzKSk6dGhpcy5vbkRhdGEoXy5zaHJpbmtCdWYoby5vdXRwdXQsby5uZXh0X291dCkpKSksMD09PW8uYXZhaWxfaW4mJjA9PT1vLmF2YWlsX291dCYmKGQ9ITApfXdoaWxlKCgwPG8uYXZhaWxfaW58fDA9PT1vLmF2YWlsX291dCkmJmEhPT1jLlpfU1RSRUFNX0VORCk7cmV0dXJuIGE9PT1jLlpfU1RSRUFNX0VORCYmKGk9Yy5aX0ZJTklTSCksaT09PWMuWl9GSU5JU0g/KGE9Zi5pbmZsYXRlRW5kKHRoaXMuc3RybSksdGhpcy5vbkVuZChhKSx0aGlzLmVuZGVkPSEwLGE9PT1jLlpfT0spOmkhPT1jLlpfU1lOQ19GTFVTSHx8KHRoaXMub25FbmQoYy5aX09LKSwhKG8uYXZhaWxfb3V0PTApKX0scy5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKHQpe3RoaXMuY2h1bmtzLnB1c2godCl9LHMucHJvdG90eXBlLm9uRW5kPWZ1bmN0aW9uKHQpe3Q9PT1jLlpfT0smJigic3RyaW5nIj09PXRoaXMub3B0aW9ucy50bz90aGlzLnJlc3VsdD10aGlzLmNodW5rcy5qb2luKCIiKTp0aGlzLnJlc3VsdD1fLmZsYXR0ZW5DaHVua3ModGhpcy5jaHVua3MpKSx0aGlzLmNodW5rcz1bXSx0aGlzLmVycj10LHRoaXMubXNnPXRoaXMuc3RybS5tc2d9LGEuSW5mbGF0ZT1zLGEuaW5mbGF0ZT1vLGEuaW5mbGF0ZVJhdz1mdW5jdGlvbih0LGUpe3JldHVybihlPWV8fHt9KS5yYXc9ITAsbyh0LGUpfSxhLnVuZ3ppcD1vfSx7Ii4vdXRpbHMvY29tbW9uIjozLCIuL3V0aWxzL3N0cmluZ3MiOjQsIi4vemxpYi9jb25zdGFudHMiOjYsIi4vemxpYi9nemhlYWRlciI6OSwiLi96bGliL2luZmxhdGUiOjExLCIuL3psaWIvbWVzc2FnZXMiOjEzLCIuL3psaWIvenN0cmVhbSI6MTV9XSwzOltmdW5jdGlvbih0LGUsYSl7InVzZSBzdHJpY3QiO3ZhciBpPSJ1bmRlZmluZWQiIT10eXBlb2YgVWludDhBcnJheSYmInVuZGVmaW5lZCIhPXR5cGVvZiBVaW50MTZBcnJheSYmInVuZGVmaW5lZCIhPXR5cGVvZiBJbnQzMkFycmF5O2EuYXNzaWduPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxhLGk9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO2kubGVuZ3RoOyl7dmFyIG49aS5zaGlmdCgpO2lmKG4pe2lmKCJvYmplY3QiIT10eXBlb2Ygbil0aHJvdyBuZXcgVHlwZUVycm9yKG4rIm11c3QgYmUgbm9uLW9iamVjdCIpO2Zvcih2YXIgciBpbiBuKWU9bixhPXIsT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsYSkmJih0W3JdPW5bcl0pfX1yZXR1cm4gdH0sYS5zaHJpbmtCdWY9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5sZW5ndGg9PT1lP3Q6dC5zdWJhcnJheT90LnN1YmFycmF5KDAsZSk6KHQubGVuZ3RoPWUsdCl9O3ZhciBuPXthcnJheVNldDpmdW5jdGlvbih0LGUsYSxpLG4pe2lmKGUuc3ViYXJyYXkmJnQuc3ViYXJyYXkpdC5zZXQoZS5zdWJhcnJheShhLGEraSksbik7ZWxzZSBmb3IodmFyIHI9MDtyPGk7cisrKXRbbityXT1lW2Ercl19LGZsYXR0ZW5DaHVua3M6ZnVuY3Rpb24odCl7dmFyIGUsYSxpLG4scixzO2ZvcihlPWk9MCxhPXQubGVuZ3RoO2U8YTtlKyspaSs9dFtlXS5sZW5ndGg7Zm9yKHM9bmV3IFVpbnQ4QXJyYXkoaSksZT1uPTAsYT10Lmxlbmd0aDtlPGE7ZSsrKXI9dFtlXSxzLnNldChyLG4pLG4rPXIubGVuZ3RoO3JldHVybiBzfX0scj17YXJyYXlTZXQ6ZnVuY3Rpb24odCxlLGEsaSxuKXtmb3IodmFyIHI9MDtyPGk7cisrKXRbbityXT1lW2Ercl19LGZsYXR0ZW5DaHVua3M6ZnVuY3Rpb24odCl7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLHQpfX07YS5zZXRUeXBlZD1mdW5jdGlvbih0KXt0PyhhLkJ1Zjg9VWludDhBcnJheSxhLkJ1ZjE2PVVpbnQxNkFycmF5LGEuQnVmMzI9SW50MzJBcnJheSxhLmFzc2lnbihhLG4pKTooYS5CdWY4PUFycmF5LGEuQnVmMTY9QXJyYXksYS5CdWYzMj1BcnJheSxhLmFzc2lnbihhLHIpKX0sYS5zZXRUeXBlZChpKX0se31dLDQ6W2Z1bmN0aW9uKHQsZSxhKXsidXNlIHN0cmljdCI7dmFyIGw9dCgiLi9jb21tb24iKSxuPSEwLHI9ITA7dHJ5e1N0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxbMF0pfWNhdGNoKHQpe249ITF9dHJ5e1N0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuZXcgVWludDhBcnJheSgxKSl9Y2F0Y2godCl7cj0hMX1mb3IodmFyIGg9bmV3IGwuQnVmOCgyNTYpLGk9MDtpPDI1NjtpKyspaFtpXT0yNTI8PWk/NjoyNDg8PWk/NToyNDA8PWk/NDoyMjQ8PWk/MzoxOTI8PWk/MjoxO2Z1bmN0aW9uIGQodCxlKXtpZihlPDY1NTM0JiYodC5zdWJhcnJheSYmcnx8IXQuc3ViYXJyYXkmJm4pKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbC5zaHJpbmtCdWYodCxlKSk7Zm9yKHZhciBhPSIiLGk9MDtpPGU7aSsrKWErPVN0cmluZy5mcm9tQ2hhckNvZGUodFtpXSk7cmV0dXJuIGF9aFsyNTRdPWhbMjU0XT0xLGEuc3RyaW5nMmJ1Zj1mdW5jdGlvbih0KXt2YXIgZSxhLGksbixyLHM9dC5sZW5ndGgsbz0wO2ZvcihuPTA7bjxzO24rKyk1NTI5Nj09KDY0NTEyJihhPXQuY2hhckNvZGVBdChuKSkpJiZuKzE8cyYmNTYzMjA9PSg2NDUxMiYoaT10LmNoYXJDb2RlQXQobisxKSkpJiYoYT02NTUzNisoYS01NTI5Njw8MTApKyhpLTU2MzIwKSxuKyspLG8rPWE8MTI4PzE6YTwyMDQ4PzI6YTw2NTUzNj8zOjQ7Zm9yKGU9bmV3IGwuQnVmOChvKSxuPXI9MDtyPG87bisrKTU1Mjk2PT0oNjQ1MTImKGE9dC5jaGFyQ29kZUF0KG4pKSkmJm4rMTxzJiY1NjMyMD09KDY0NTEyJihpPXQuY2hhckNvZGVBdChuKzEpKSkmJihhPTY1NTM2KyhhLTU1Mjk2PDwxMCkrKGktNTYzMjApLG4rKyksYTwxMjg/ZVtyKytdPWE6KGE8MjA0OD9lW3IrK109MTkyfGE+Pj42OihhPDY1NTM2P2VbcisrXT0yMjR8YT4+PjEyOihlW3IrK109MjQwfGE+Pj4xOCxlW3IrK109MTI4fGE+Pj4xMiY2MyksZVtyKytdPTEyOHxhPj4+NiY2MyksZVtyKytdPTEyOHw2MyZhKTtyZXR1cm4gZX0sYS5idWYyYmluc3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiBkKHQsdC5sZW5ndGgpfSxhLmJpbnN0cmluZzJidWY9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBsLkJ1ZjgodC5sZW5ndGgpLGE9MCxpPWUubGVuZ3RoO2E8aTthKyspZVthXT10LmNoYXJDb2RlQXQoYSk7cmV0dXJuIGV9LGEuYnVmMnN0cmluZz1mdW5jdGlvbih0LGUpe3ZhciBhLGksbixyLHM9ZXx8dC5sZW5ndGgsbz1uZXcgQXJyYXkoMipzKTtmb3IoYT1pPTA7YTxzOylpZigobj10W2ErK10pPDEyOClvW2krK109bjtlbHNlIGlmKDQ8KHI9aFtuXSkpb1tpKytdPTY1NTMzLGErPXItMTtlbHNle2ZvcihuJj0yPT09cj8zMTozPT09cj8xNTo3OzE8ciYmYTxzOyluPW48PDZ8NjMmdFthKytdLHItLTsxPHI/b1tpKytdPTY1NTMzOm48NjU1MzY/b1tpKytdPW46KG4tPTY1NTM2LG9baSsrXT01NTI5NnxuPj4xMCYxMDIzLG9baSsrXT01NjMyMHwxMDIzJm4pfXJldHVybiBkKG8saSl9LGEudXRmOGJvcmRlcj1mdW5jdGlvbih0LGUpe3ZhciBhO2ZvcigoZT1lfHx0Lmxlbmd0aCk+dC5sZW5ndGgmJihlPXQubGVuZ3RoKSxhPWUtMTswPD1hJiYxMjg9PSgxOTImdFthXSk7KWEtLTtyZXR1cm4gYTwwP2U6MD09PWE/ZTphK2hbdFthXV0+ZT9hOmV9fSx7Ii4vY29tbW9uIjozfV0sNTpbZnVuY3Rpb24odCxlLGEpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLGEsaSl7Zm9yKHZhciBuPTY1NTM1JnR8MCxyPXQ+Pj4xNiY2NTUzNXwwLHM9MDswIT09YTspe2ZvcihhLT1zPTJlMzxhPzJlMzphO3I9cisobj1uK2VbaSsrXXwwKXwwLC0tczspO24lPTY1NTIxLHIlPTY1NTIxfXJldHVybiBufHI8PDE2fDB9fSx7fV0sNjpbZnVuY3Rpb24odCxlLGEpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9e1pfTk9fRkxVU0g6MCxaX1BBUlRJQUxfRkxVU0g6MSxaX1NZTkNfRkxVU0g6MixaX0ZVTExfRkxVU0g6MyxaX0ZJTklTSDo0LFpfQkxPQ0s6NSxaX1RSRUVTOjYsWl9PSzowLFpfU1RSRUFNX0VORDoxLFpfTkVFRF9ESUNUOjIsWl9FUlJOTzotMSxaX1NUUkVBTV9FUlJPUjotMixaX0RBVEFfRVJST1I6LTMsWl9CVUZfRVJST1I6LTUsWl9OT19DT01QUkVTU0lPTjowLFpfQkVTVF9TUEVFRDoxLFpfQkVTVF9DT01QUkVTU0lPTjo5LFpfREVGQVVMVF9DT01QUkVTU0lPTjotMSxaX0ZJTFRFUkVEOjEsWl9IVUZGTUFOX09OTFk6MixaX1JMRTozLFpfRklYRUQ6NCxaX0RFRkFVTFRfU1RSQVRFR1k6MCxaX0JJTkFSWTowLFpfVEVYVDoxLFpfVU5LTk9XTjoyLFpfREVGTEFURUQ6OH19LHt9XSw3OltmdW5jdGlvbih0LGUsYSl7InVzZSBzdHJpY3QiO3ZhciBvPWZ1bmN0aW9uKCl7Zm9yKHZhciB0LGU9W10sYT0wO2E8MjU2O2ErKyl7dD1hO2Zvcih2YXIgaT0wO2k8ODtpKyspdD0xJnQ/Mzk4ODI5MjM4NF50Pj4+MTp0Pj4+MTtlW2FdPXR9cmV0dXJuIGV9KCk7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxhLGkpe3ZhciBuPW8scj1pK2E7dF49LTE7Zm9yKHZhciBzPWk7czxyO3MrKyl0PXQ+Pj44Xm5bMjU1Jih0XmVbc10pXTtyZXR1cm4tMV50fX0se31dLDg6W2Z1bmN0aW9uKHQsZSxhKXsidXNlIHN0cmljdCI7dmFyIGwsXz10KCIuLi91dGlscy9jb21tb24iKSxoPXQoIi4vdHJlZXMiKSx1PXQoIi4vYWRsZXIzMiIpLGM9dCgiLi9jcmMzMiIpLGk9dCgiLi9tZXNzYWdlcyIpLGQ9MCxmPTQsYj0wLGc9LTIsbT0tMSx3PTQsbj0yLHA9OCx2PTkscj0yODYscz0zMCxvPTE5LGs9MipyKzEseT0xNSx4PTMsej0yNTgsQj16K3grMSxTPTQyLEU9MTEzLEE9MSxaPTIsUj0zLEM9NDtmdW5jdGlvbiBOKHQsZSl7cmV0dXJuIHQubXNnPWlbZV0sZX1mdW5jdGlvbiBPKHQpe3JldHVybih0PDwxKS0oNDx0Pzk6MCl9ZnVuY3Rpb24gRCh0KXtmb3IodmFyIGU9dC5sZW5ndGg7MDw9LS1lOyl0W2VdPTB9ZnVuY3Rpb24gSSh0KXt2YXIgZT10LnN0YXRlLGE9ZS5wZW5kaW5nO2E+dC5hdmFpbF9vdXQmJihhPXQuYXZhaWxfb3V0KSwwIT09YSYmKF8uYXJyYXlTZXQodC5vdXRwdXQsZS5wZW5kaW5nX2J1ZixlLnBlbmRpbmdfb3V0LGEsdC5uZXh0X291dCksdC5uZXh0X291dCs9YSxlLnBlbmRpbmdfb3V0Kz1hLHQudG90YWxfb3V0Kz1hLHQuYXZhaWxfb3V0LT1hLGUucGVuZGluZy09YSwwPT09ZS5wZW5kaW5nJiYoZS5wZW5kaW5nX291dD0wKSl9ZnVuY3Rpb24gVSh0LGUpe2guX3RyX2ZsdXNoX2Jsb2NrKHQsMDw9dC5ibG9ja19zdGFydD90LmJsb2NrX3N0YXJ0Oi0xLHQuc3Ryc3RhcnQtdC5ibG9ja19zdGFydCxlKSx0LmJsb2NrX3N0YXJ0PXQuc3Ryc3RhcnQsSSh0LnN0cm0pfWZ1bmN0aW9uIFQodCxlKXt0LnBlbmRpbmdfYnVmW3QucGVuZGluZysrXT1lfWZ1bmN0aW9uIEYodCxlKXt0LnBlbmRpbmdfYnVmW3QucGVuZGluZysrXT1lPj4+OCYyNTUsdC5wZW5kaW5nX2J1Zlt0LnBlbmRpbmcrK109MjU1JmV9ZnVuY3Rpb24gTCh0LGUpe3ZhciBhLGksbj10Lm1heF9jaGFpbl9sZW5ndGgscj10LnN0cnN0YXJ0LHM9dC5wcmV2X2xlbmd0aCxvPXQubmljZV9tYXRjaCxsPXQuc3Ryc3RhcnQ+dC53X3NpemUtQj90LnN0cnN0YXJ0LSh0Lndfc2l6ZS1CKTowLGg9dC53aW5kb3csZD10LndfbWFzayxmPXQucHJldixfPXQuc3Ryc3RhcnQreix1PWhbcitzLTFdLGM9aFtyK3NdO3QucHJldl9sZW5ndGg+PXQuZ29vZF9tYXRjaCYmKG4+Pj0yKSxvPnQubG9va2FoZWFkJiYobz10Lmxvb2thaGVhZCk7ZG97aWYoaFsoYT1lKStzXT09PWMmJmhbYStzLTFdPT09dSYmaFthXT09PWhbcl0mJmhbKythXT09PWhbcisxXSl7cis9MixhKys7ZG97fXdoaWxlKGhbKytyXT09PWhbKythXSYmaFsrK3JdPT09aFsrK2FdJiZoWysrcl09PT1oWysrYV0mJmhbKytyXT09PWhbKythXSYmaFsrK3JdPT09aFsrK2FdJiZoWysrcl09PT1oWysrYV0mJmhbKytyXT09PWhbKythXSYmaFsrK3JdPT09aFsrK2FdJiZyPF8pO2lmKGk9ei0oXy1yKSxyPV8teixzPGkpe2lmKHQubWF0Y2hfc3RhcnQ9ZSxvPD0ocz1pKSlicmVhazt1PWhbcitzLTFdLGM9aFtyK3NdfX19d2hpbGUoKGU9ZltlJmRdKT5sJiYwIT0tLW4pO3JldHVybiBzPD10Lmxvb2thaGVhZD9zOnQubG9va2FoZWFkfWZ1bmN0aW9uIEgodCl7dmFyIGUsYSxpLG4scixzLG8sbCxoLGQsZj10Lndfc2l6ZTtkb3tpZihuPXQud2luZG93X3NpemUtdC5sb29rYWhlYWQtdC5zdHJzdGFydCx0LnN0cnN0YXJ0Pj1mKyhmLUIpKXtmb3IoXy5hcnJheVNldCh0LndpbmRvdyx0LndpbmRvdyxmLGYsMCksdC5tYXRjaF9zdGFydC09Zix0LnN0cnN0YXJ0LT1mLHQuYmxvY2tfc3RhcnQtPWYsZT1hPXQuaGFzaF9zaXplO2k9dC5oZWFkWy0tZV0sdC5oZWFkW2VdPWY8PWk/aS1mOjAsLS1hOyk7Zm9yKGU9YT1mO2k9dC5wcmV2Wy0tZV0sdC5wcmV2W2VdPWY8PWk/aS1mOjAsLS1hOyk7bis9Zn1pZigwPT09dC5zdHJtLmF2YWlsX2luKWJyZWFrO2lmKHM9dC5zdHJtLG89dC53aW5kb3csbD10LnN0cnN0YXJ0K3QubG9va2FoZWFkLGg9bixkPXZvaWQgMCxkPXMuYXZhaWxfaW4saDxkJiYoZD1oKSxhPTA9PT1kPzA6KHMuYXZhaWxfaW4tPWQsXy5hcnJheVNldChvLHMuaW5wdXQscy5uZXh0X2luLGQsbCksMT09PXMuc3RhdGUud3JhcD9zLmFkbGVyPXUocy5hZGxlcixvLGQsbCk6Mj09PXMuc3RhdGUud3JhcCYmKHMuYWRsZXI9YyhzLmFkbGVyLG8sZCxsKSkscy5uZXh0X2luKz1kLHMudG90YWxfaW4rPWQsZCksdC5sb29rYWhlYWQrPWEsdC5sb29rYWhlYWQrdC5pbnNlcnQ+PXgpZm9yKHI9dC5zdHJzdGFydC10Lmluc2VydCx0Lmluc19oPXQud2luZG93W3JdLHQuaW5zX2g9KHQuaW5zX2g8PHQuaGFzaF9zaGlmdF50LndpbmRvd1tyKzFdKSZ0Lmhhc2hfbWFzazt0Lmluc2VydCYmKHQuaW5zX2g9KHQuaW5zX2g8PHQuaGFzaF9zaGlmdF50LndpbmRvd1tyK3gtMV0pJnQuaGFzaF9tYXNrLHQucHJldltyJnQud19tYXNrXT10LmhlYWRbdC5pbnNfaF0sdC5oZWFkW3QuaW5zX2hdPXIscisrLHQuaW5zZXJ0LS0sISh0Lmxvb2thaGVhZCt0Lmluc2VydDx4KSk7KTt9d2hpbGUodC5sb29rYWhlYWQ8QiYmMCE9PXQuc3RybS5hdmFpbF9pbil9ZnVuY3Rpb24gaih0LGUpe2Zvcih2YXIgYSxpOzspe2lmKHQubG9va2FoZWFkPEIpe2lmKEgodCksdC5sb29rYWhlYWQ8QiYmZT09PWQpcmV0dXJuIEE7aWYoMD09PXQubG9va2FoZWFkKWJyZWFrfWlmKGE9MCx0Lmxvb2thaGVhZD49eCYmKHQuaW5zX2g9KHQuaW5zX2g8PHQuaGFzaF9zaGlmdF50LndpbmRvd1t0LnN0cnN0YXJ0K3gtMV0pJnQuaGFzaF9tYXNrLGE9dC5wcmV2W3Quc3Ryc3RhcnQmdC53X21hc2tdPXQuaGVhZFt0Lmluc19oXSx0LmhlYWRbdC5pbnNfaF09dC5zdHJzdGFydCksMCE9PWEmJnQuc3Ryc3RhcnQtYTw9dC53X3NpemUtQiYmKHQubWF0Y2hfbGVuZ3RoPUwodCxhKSksdC5tYXRjaF9sZW5ndGg+PXgpaWYoaT1oLl90cl90YWxseSh0LHQuc3Ryc3RhcnQtdC5tYXRjaF9zdGFydCx0Lm1hdGNoX2xlbmd0aC14KSx0Lmxvb2thaGVhZC09dC5tYXRjaF9sZW5ndGgsdC5tYXRjaF9sZW5ndGg8PXQubWF4X2xhenlfbWF0Y2gmJnQubG9va2FoZWFkPj14KXtmb3IodC5tYXRjaF9sZW5ndGgtLTt0LnN0cnN0YXJ0KyssdC5pbnNfaD0odC5pbnNfaDw8dC5oYXNoX3NoaWZ0XnQud2luZG93W3Quc3Ryc3RhcnQreC0xXSkmdC5oYXNoX21hc2ssYT10LnByZXZbdC5zdHJzdGFydCZ0LndfbWFza109dC5oZWFkW3QuaW5zX2hdLHQuaGVhZFt0Lmluc19oXT10LnN0cnN0YXJ0LDAhPS0tdC5tYXRjaF9sZW5ndGg7KTt0LnN0cnN0YXJ0Kyt9ZWxzZSB0LnN0cnN0YXJ0Kz10Lm1hdGNoX2xlbmd0aCx0Lm1hdGNoX2xlbmd0aD0wLHQuaW5zX2g9dC53aW5kb3dbdC5zdHJzdGFydF0sdC5pbnNfaD0odC5pbnNfaDw8dC5oYXNoX3NoaWZ0XnQud2luZG93W3Quc3Ryc3RhcnQrMV0pJnQuaGFzaF9tYXNrO2Vsc2UgaT1oLl90cl90YWxseSh0LDAsdC53aW5kb3dbdC5zdHJzdGFydF0pLHQubG9va2FoZWFkLS0sdC5zdHJzdGFydCsrO2lmKGkmJihVKHQsITEpLDA9PT10LnN0cm0uYXZhaWxfb3V0KSlyZXR1cm4gQX1yZXR1cm4gdC5pbnNlcnQ9dC5zdHJzdGFydDx4LTE/dC5zdHJzdGFydDp4LTEsZT09PWY/KFUodCwhMCksMD09PXQuc3RybS5hdmFpbF9vdXQ/UjpDKTp0Lmxhc3RfbGl0JiYoVSh0LCExKSwwPT09dC5zdHJtLmF2YWlsX291dCk/QTpafWZ1bmN0aW9uIEsodCxlKXtmb3IodmFyIGEsaSxuOzspe2lmKHQubG9va2FoZWFkPEIpe2lmKEgodCksdC5sb29rYWhlYWQ8QiYmZT09PWQpcmV0dXJuIEE7aWYoMD09PXQubG9va2FoZWFkKWJyZWFrfWlmKGE9MCx0Lmxvb2thaGVhZD49eCYmKHQuaW5zX2g9KHQuaW5zX2g8PHQuaGFzaF9zaGlmdF50LndpbmRvd1t0LnN0cnN0YXJ0K3gtMV0pJnQuaGFzaF9tYXNrLGE9dC5wcmV2W3Quc3Ryc3RhcnQmdC53X21hc2tdPXQuaGVhZFt0Lmluc19oXSx0LmhlYWRbdC5pbnNfaF09dC5zdHJzdGFydCksdC5wcmV2X2xlbmd0aD10Lm1hdGNoX2xlbmd0aCx0LnByZXZfbWF0Y2g9dC5tYXRjaF9zdGFydCx0Lm1hdGNoX2xlbmd0aD14LTEsMCE9PWEmJnQucHJldl9sZW5ndGg8dC5tYXhfbGF6eV9tYXRjaCYmdC5zdHJzdGFydC1hPD10Lndfc2l6ZS1CJiYodC5tYXRjaF9sZW5ndGg9TCh0LGEpLHQubWF0Y2hfbGVuZ3RoPD01JiYoMT09PXQuc3RyYXRlZ3l8fHQubWF0Y2hfbGVuZ3RoPT09eCYmNDA5Njx0LnN0cnN0YXJ0LXQubWF0Y2hfc3RhcnQpJiYodC5tYXRjaF9sZW5ndGg9eC0xKSksdC5wcmV2X2xlbmd0aD49eCYmdC5tYXRjaF9sZW5ndGg8PXQucHJldl9sZW5ndGgpe2ZvcihuPXQuc3Ryc3RhcnQrdC5sb29rYWhlYWQteCxpPWguX3RyX3RhbGx5KHQsdC5zdHJzdGFydC0xLXQucHJldl9tYXRjaCx0LnByZXZfbGVuZ3RoLXgpLHQubG9va2FoZWFkLT10LnByZXZfbGVuZ3RoLTEsdC5wcmV2X2xlbmd0aC09MjsrK3Quc3Ryc3RhcnQ8PW4mJih0Lmluc19oPSh0Lmluc19oPDx0Lmhhc2hfc2hpZnRedC53aW5kb3dbdC5zdHJzdGFydCt4LTFdKSZ0Lmhhc2hfbWFzayxhPXQucHJldlt0LnN0cnN0YXJ0JnQud19tYXNrXT10LmhlYWRbdC5pbnNfaF0sdC5oZWFkW3QuaW5zX2hdPXQuc3Ryc3RhcnQpLDAhPS0tdC5wcmV2X2xlbmd0aDspO2lmKHQubWF0Y2hfYXZhaWxhYmxlPTAsdC5tYXRjaF9sZW5ndGg9eC0xLHQuc3Ryc3RhcnQrKyxpJiYoVSh0LCExKSwwPT09dC5zdHJtLmF2YWlsX291dCkpcmV0dXJuIEF9ZWxzZSBpZih0Lm1hdGNoX2F2YWlsYWJsZSl7aWYoKGk9aC5fdHJfdGFsbHkodCwwLHQud2luZG93W3Quc3Ryc3RhcnQtMV0pKSYmVSh0LCExKSx0LnN0cnN0YXJ0KyssdC5sb29rYWhlYWQtLSwwPT09dC5zdHJtLmF2YWlsX291dClyZXR1cm4gQX1lbHNlIHQubWF0Y2hfYXZhaWxhYmxlPTEsdC5zdHJzdGFydCsrLHQubG9va2FoZWFkLS19cmV0dXJuIHQubWF0Y2hfYXZhaWxhYmxlJiYoaT1oLl90cl90YWxseSh0LDAsdC53aW5kb3dbdC5zdHJzdGFydC0xXSksdC5tYXRjaF9hdmFpbGFibGU9MCksdC5pbnNlcnQ9dC5zdHJzdGFydDx4LTE/dC5zdHJzdGFydDp4LTEsZT09PWY/KFUodCwhMCksMD09PXQuc3RybS5hdmFpbF9vdXQ/UjpDKTp0Lmxhc3RfbGl0JiYoVSh0LCExKSwwPT09dC5zdHJtLmF2YWlsX291dCk/QTpafWZ1bmN0aW9uIE0odCxlLGEsaSxuKXt0aGlzLmdvb2RfbGVuZ3RoPXQsdGhpcy5tYXhfbGF6eT1lLHRoaXMubmljZV9sZW5ndGg9YSx0aGlzLm1heF9jaGFpbj1pLHRoaXMuZnVuYz1ufWZ1bmN0aW9uIFAoKXt0aGlzLnN0cm09bnVsbCx0aGlzLnN0YXR1cz0wLHRoaXMucGVuZGluZ19idWY9bnVsbCx0aGlzLnBlbmRpbmdfYnVmX3NpemU9MCx0aGlzLnBlbmRpbmdfb3V0PTAsdGhpcy5wZW5kaW5nPTAsdGhpcy53cmFwPTAsdGhpcy5nemhlYWQ9bnVsbCx0aGlzLmd6aW5kZXg9MCx0aGlzLm1ldGhvZD1wLHRoaXMubGFzdF9mbHVzaD0tMSx0aGlzLndfc2l6ZT0wLHRoaXMud19iaXRzPTAsdGhpcy53X21hc2s9MCx0aGlzLndpbmRvdz1udWxsLHRoaXMud2luZG93X3NpemU9MCx0aGlzLnByZXY9bnVsbCx0aGlzLmhlYWQ9bnVsbCx0aGlzLmluc19oPTAsdGhpcy5oYXNoX3NpemU9MCx0aGlzLmhhc2hfYml0cz0wLHRoaXMuaGFzaF9tYXNrPTAsdGhpcy5oYXNoX3NoaWZ0PTAsdGhpcy5ibG9ja19zdGFydD0wLHRoaXMubWF0Y2hfbGVuZ3RoPTAsdGhpcy5wcmV2X21hdGNoPTAsdGhpcy5tYXRjaF9hdmFpbGFibGU9MCx0aGlzLnN0cnN0YXJ0PTAsdGhpcy5tYXRjaF9zdGFydD0wLHRoaXMubG9va2FoZWFkPTAsdGhpcy5wcmV2X2xlbmd0aD0wLHRoaXMubWF4X2NoYWluX2xlbmd0aD0wLHRoaXMubWF4X2xhenlfbWF0Y2g9MCx0aGlzLmxldmVsPTAsdGhpcy5zdHJhdGVneT0wLHRoaXMuZ29vZF9tYXRjaD0wLHRoaXMubmljZV9tYXRjaD0wLHRoaXMuZHluX2x0cmVlPW5ldyBfLkJ1ZjE2KDIqayksdGhpcy5keW5fZHRyZWU9bmV3IF8uQnVmMTYoMiooMipzKzEpKSx0aGlzLmJsX3RyZWU9bmV3IF8uQnVmMTYoMiooMipvKzEpKSxEKHRoaXMuZHluX2x0cmVlKSxEKHRoaXMuZHluX2R0cmVlKSxEKHRoaXMuYmxfdHJlZSksdGhpcy5sX2Rlc2M9bnVsbCx0aGlzLmRfZGVzYz1udWxsLHRoaXMuYmxfZGVzYz1udWxsLHRoaXMuYmxfY291bnQ9bmV3IF8uQnVmMTYoeSsxKSx0aGlzLmhlYXA9bmV3IF8uQnVmMTYoMipyKzEpLEQodGhpcy5oZWFwKSx0aGlzLmhlYXBfbGVuPTAsdGhpcy5oZWFwX21heD0wLHRoaXMuZGVwdGg9bmV3IF8uQnVmMTYoMipyKzEpLEQodGhpcy5kZXB0aCksdGhpcy5sX2J1Zj0wLHRoaXMubGl0X2J1ZnNpemU9MCx0aGlzLmxhc3RfbGl0PTAsdGhpcy5kX2J1Zj0wLHRoaXMub3B0X2xlbj0wLHRoaXMuc3RhdGljX2xlbj0wLHRoaXMubWF0Y2hlcz0wLHRoaXMuaW5zZXJ0PTAsdGhpcy5iaV9idWY9MCx0aGlzLmJpX3ZhbGlkPTB9ZnVuY3Rpb24gWSh0KXt2YXIgZTtyZXR1cm4gdCYmdC5zdGF0ZT8odC50b3RhbF9pbj10LnRvdGFsX291dD0wLHQuZGF0YV90eXBlPW4sKGU9dC5zdGF0ZSkucGVuZGluZz0wLGUucGVuZGluZ19vdXQ9MCxlLndyYXA8MCYmKGUud3JhcD0tZS53cmFwKSxlLnN0YXR1cz1lLndyYXA/UzpFLHQuYWRsZXI9Mj09PWUud3JhcD8wOjEsZS5sYXN0X2ZsdXNoPWQsaC5fdHJfaW5pdChlKSxiKTpOKHQsZyl9ZnVuY3Rpb24gcSh0KXt2YXIgZSxhPVkodCk7cmV0dXJuIGE9PT1iJiYoKGU9dC5zdGF0ZSkud2luZG93X3NpemU9MiplLndfc2l6ZSxEKGUuaGVhZCksZS5tYXhfbGF6eV9tYXRjaD1sW2UubGV2ZWxdLm1heF9sYXp5LGUuZ29vZF9tYXRjaD1sW2UubGV2ZWxdLmdvb2RfbGVuZ3RoLGUubmljZV9tYXRjaD1sW2UubGV2ZWxdLm5pY2VfbGVuZ3RoLGUubWF4X2NoYWluX2xlbmd0aD1sW2UubGV2ZWxdLm1heF9jaGFpbixlLnN0cnN0YXJ0PTAsZS5ibG9ja19zdGFydD0wLGUubG9va2FoZWFkPTAsZS5pbnNlcnQ9MCxlLm1hdGNoX2xlbmd0aD1lLnByZXZfbGVuZ3RoPXgtMSxlLm1hdGNoX2F2YWlsYWJsZT0wLGUuaW5zX2g9MCksYX1mdW5jdGlvbiBHKHQsZSxhLGksbixyKXtpZighdClyZXR1cm4gZzt2YXIgcz0xO2lmKGU9PT1tJiYoZT02KSxpPDA/KHM9MCxpPS1pKToxNTxpJiYocz0yLGktPTE2KSxuPDF8fHY8bnx8YSE9PXB8fGk8OHx8MTU8aXx8ZTwwfHw5PGV8fHI8MHx8dzxyKXJldHVybiBOKHQsZyk7OD09PWkmJihpPTkpO3ZhciBvPW5ldyBQO3JldHVybih0LnN0YXRlPW8pLnN0cm09dCxvLndyYXA9cyxvLmd6aGVhZD1udWxsLG8ud19iaXRzPWksby53X3NpemU9MTw8by53X2JpdHMsby53X21hc2s9by53X3NpemUtMSxvLmhhc2hfYml0cz1uKzcsby5oYXNoX3NpemU9MTw8by5oYXNoX2JpdHMsby5oYXNoX21hc2s9by5oYXNoX3NpemUtMSxvLmhhc2hfc2hpZnQ9fn4oKG8uaGFzaF9iaXRzK3gtMSkveCksby53aW5kb3c9bmV3IF8uQnVmOCgyKm8ud19zaXplKSxvLmhlYWQ9bmV3IF8uQnVmMTYoby5oYXNoX3NpemUpLG8ucHJldj1uZXcgXy5CdWYxNihvLndfc2l6ZSksby5saXRfYnVmc2l6ZT0xPDxuKzYsby5wZW5kaW5nX2J1Zl9zaXplPTQqby5saXRfYnVmc2l6ZSxvLnBlbmRpbmdfYnVmPW5ldyBfLkJ1Zjgoby5wZW5kaW5nX2J1Zl9zaXplKSxvLmRfYnVmPTEqby5saXRfYnVmc2l6ZSxvLmxfYnVmPTMqby5saXRfYnVmc2l6ZSxvLmxldmVsPWUsby5zdHJhdGVneT1yLG8ubWV0aG9kPWEscSh0KX1sPVtuZXcgTSgwLDAsMCwwLGZ1bmN0aW9uKHQsZSl7dmFyIGE9NjU1MzU7Zm9yKGE+dC5wZW5kaW5nX2J1Zl9zaXplLTUmJihhPXQucGVuZGluZ19idWZfc2l6ZS01KTs7KXtpZih0Lmxvb2thaGVhZDw9MSl7aWYoSCh0KSwwPT09dC5sb29rYWhlYWQmJmU9PT1kKXJldHVybiBBO2lmKDA9PT10Lmxvb2thaGVhZClicmVha310LnN0cnN0YXJ0Kz10Lmxvb2thaGVhZCx0Lmxvb2thaGVhZD0wO3ZhciBpPXQuYmxvY2tfc3RhcnQrYTtpZigoMD09PXQuc3Ryc3RhcnR8fHQuc3Ryc3RhcnQ+PWkpJiYodC5sb29rYWhlYWQ9dC5zdHJzdGFydC1pLHQuc3Ryc3RhcnQ9aSxVKHQsITEpLDA9PT10LnN0cm0uYXZhaWxfb3V0KSlyZXR1cm4gQTtpZih0LnN0cnN0YXJ0LXQuYmxvY2tfc3RhcnQ+PXQud19zaXplLUImJihVKHQsITEpLDA9PT10LnN0cm0uYXZhaWxfb3V0KSlyZXR1cm4gQX1yZXR1cm4gdC5pbnNlcnQ9MCxlPT09Zj8oVSh0LCEwKSwwPT09dC5zdHJtLmF2YWlsX291dD9SOkMpOih0LnN0cnN0YXJ0PnQuYmxvY2tfc3RhcnQmJihVKHQsITEpLHQuc3RybS5hdmFpbF9vdXQpLEEpfSksbmV3IE0oNCw0LDgsNCxqKSxuZXcgTSg0LDUsMTYsOCxqKSxuZXcgTSg0LDYsMzIsMzIsaiksbmV3IE0oNCw0LDE2LDE2LEspLG5ldyBNKDgsMTYsMzIsMzIsSyksbmV3IE0oOCwxNiwxMjgsMTI4LEspLG5ldyBNKDgsMzIsMTI4LDI1NixLKSxuZXcgTSgzMiwxMjgsMjU4LDEwMjQsSyksbmV3IE0oMzIsMjU4LDI1OCw0MDk2LEspXSxhLmRlZmxhdGVJbml0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIEcodCxlLHAsMTUsOCwwKX0sYS5kZWZsYXRlSW5pdDI9RyxhLmRlZmxhdGVSZXNldD1xLGEuZGVmbGF0ZVJlc2V0S2VlcD1ZLGEuZGVmbGF0ZVNldEhlYWRlcj1mdW5jdGlvbih0LGUpe3JldHVybiB0JiZ0LnN0YXRlPzIhPT10LnN0YXRlLndyYXA/ZzoodC5zdGF0ZS5nemhlYWQ9ZSxiKTpnfSxhLmRlZmxhdGU9ZnVuY3Rpb24odCxlKXt2YXIgYSxpLG4scjtpZighdHx8IXQuc3RhdGV8fDU8ZXx8ZTwwKXJldHVybiB0P04odCxnKTpnO2lmKGk9dC5zdGF0ZSwhdC5vdXRwdXR8fCF0LmlucHV0JiYwIT09dC5hdmFpbF9pbnx8NjY2PT09aS5zdGF0dXMmJmUhPT1mKXJldHVybiBOKHQsMD09PXQuYXZhaWxfb3V0Py01OmcpO2lmKGkuc3RybT10LGE9aS5sYXN0X2ZsdXNoLGkubGFzdF9mbHVzaD1lLGkuc3RhdHVzPT09UylpZigyPT09aS53cmFwKXQuYWRsZXI9MCxUKGksMzEpLFQoaSwxMzkpLFQoaSw4KSxpLmd6aGVhZD8oVChpLChpLmd6aGVhZC50ZXh0PzE6MCkrKGkuZ3poZWFkLmhjcmM/MjowKSsoaS5nemhlYWQuZXh0cmE/NDowKSsoaS5nemhlYWQubmFtZT84OjApKyhpLmd6aGVhZC5jb21tZW50PzE2OjApKSxUKGksMjU1JmkuZ3poZWFkLnRpbWUpLFQoaSxpLmd6aGVhZC50aW1lPj44JjI1NSksVChpLGkuZ3poZWFkLnRpbWU+PjE2JjI1NSksVChpLGkuZ3poZWFkLnRpbWU+PjI0JjI1NSksVChpLDk9PT1pLmxldmVsPzI6Mjw9aS5zdHJhdGVneXx8aS5sZXZlbDwyPzQ6MCksVChpLDI1NSZpLmd6aGVhZC5vcyksaS5nemhlYWQuZXh0cmEmJmkuZ3poZWFkLmV4dHJhLmxlbmd0aCYmKFQoaSwyNTUmaS5nemhlYWQuZXh0cmEubGVuZ3RoKSxUKGksaS5nemhlYWQuZXh0cmEubGVuZ3RoPj44JjI1NSkpLGkuZ3poZWFkLmhjcmMmJih0LmFkbGVyPWModC5hZGxlcixpLnBlbmRpbmdfYnVmLGkucGVuZGluZywwKSksaS5nemluZGV4PTAsaS5zdGF0dXM9NjkpOihUKGksMCksVChpLDApLFQoaSwwKSxUKGksMCksVChpLDApLFQoaSw5PT09aS5sZXZlbD8yOjI8PWkuc3RyYXRlZ3l8fGkubGV2ZWw8Mj80OjApLFQoaSwzKSxpLnN0YXR1cz1FKTtlbHNle3ZhciBzPXArKGkud19iaXRzLTg8PDQpPDw4O3N8PSgyPD1pLnN0cmF0ZWd5fHxpLmxldmVsPDI/MDppLmxldmVsPDY/MTo2PT09aS5sZXZlbD8yOjMpPDw2LDAhPT1pLnN0cnN0YXJ0JiYoc3w9MzIpLHMrPTMxLXMlMzEsaS5zdGF0dXM9RSxGKGkscyksMCE9PWkuc3Ryc3RhcnQmJihGKGksdC5hZGxlcj4+PjE2KSxGKGksNjU1MzUmdC5hZGxlcikpLHQuYWRsZXI9MX1pZig2OT09PWkuc3RhdHVzKWlmKGkuZ3poZWFkLmV4dHJhKXtmb3Iobj1pLnBlbmRpbmc7aS5nemluZGV4PCg2NTUzNSZpLmd6aGVhZC5leHRyYS5sZW5ndGgpJiYoaS5wZW5kaW5nIT09aS5wZW5kaW5nX2J1Zl9zaXplfHwoaS5nemhlYWQuaGNyYyYmaS5wZW5kaW5nPm4mJih0LmFkbGVyPWModC5hZGxlcixpLnBlbmRpbmdfYnVmLGkucGVuZGluZy1uLG4pKSxJKHQpLG49aS5wZW5kaW5nLGkucGVuZGluZyE9PWkucGVuZGluZ19idWZfc2l6ZSkpOylUKGksMjU1JmkuZ3poZWFkLmV4dHJhW2kuZ3ppbmRleF0pLGkuZ3ppbmRleCsrO2kuZ3poZWFkLmhjcmMmJmkucGVuZGluZz5uJiYodC5hZGxlcj1jKHQuYWRsZXIsaS5wZW5kaW5nX2J1ZixpLnBlbmRpbmctbixuKSksaS5nemluZGV4PT09aS5nemhlYWQuZXh0cmEubGVuZ3RoJiYoaS5nemluZGV4PTAsaS5zdGF0dXM9NzMpfWVsc2UgaS5zdGF0dXM9NzM7aWYoNzM9PT1pLnN0YXR1cylpZihpLmd6aGVhZC5uYW1lKXtuPWkucGVuZGluZztkb3tpZihpLnBlbmRpbmc9PT1pLnBlbmRpbmdfYnVmX3NpemUmJihpLmd6aGVhZC5oY3JjJiZpLnBlbmRpbmc+biYmKHQuYWRsZXI9Yyh0LmFkbGVyLGkucGVuZGluZ19idWYsaS5wZW5kaW5nLW4sbikpLEkodCksbj1pLnBlbmRpbmcsaS5wZW5kaW5nPT09aS5wZW5kaW5nX2J1Zl9zaXplKSl7cj0xO2JyZWFrfVQoaSxyPWkuZ3ppbmRleDxpLmd6aGVhZC5uYW1lLmxlbmd0aD8yNTUmaS5nemhlYWQubmFtZS5jaGFyQ29kZUF0KGkuZ3ppbmRleCsrKTowKX13aGlsZSgwIT09cik7aS5nemhlYWQuaGNyYyYmaS5wZW5kaW5nPm4mJih0LmFkbGVyPWModC5hZGxlcixpLnBlbmRpbmdfYnVmLGkucGVuZGluZy1uLG4pKSwwPT09ciYmKGkuZ3ppbmRleD0wLGkuc3RhdHVzPTkxKX1lbHNlIGkuc3RhdHVzPTkxO2lmKDkxPT09aS5zdGF0dXMpaWYoaS5nemhlYWQuY29tbWVudCl7bj1pLnBlbmRpbmc7ZG97aWYoaS5wZW5kaW5nPT09aS5wZW5kaW5nX2J1Zl9zaXplJiYoaS5nemhlYWQuaGNyYyYmaS5wZW5kaW5nPm4mJih0LmFkbGVyPWModC5hZGxlcixpLnBlbmRpbmdfYnVmLGkucGVuZGluZy1uLG4pKSxJKHQpLG49aS5wZW5kaW5nLGkucGVuZGluZz09PWkucGVuZGluZ19idWZfc2l6ZSkpe3I9MTticmVha31UKGkscj1pLmd6aW5kZXg8aS5nemhlYWQuY29tbWVudC5sZW5ndGg/MjU1JmkuZ3poZWFkLmNvbW1lbnQuY2hhckNvZGVBdChpLmd6aW5kZXgrKyk6MCl9d2hpbGUoMCE9PXIpO2kuZ3poZWFkLmhjcmMmJmkucGVuZGluZz5uJiYodC5hZGxlcj1jKHQuYWRsZXIsaS5wZW5kaW5nX2J1ZixpLnBlbmRpbmctbixuKSksMD09PXImJihpLnN0YXR1cz0xMDMpfWVsc2UgaS5zdGF0dXM9MTAzO2lmKDEwMz09PWkuc3RhdHVzJiYoaS5nemhlYWQuaGNyYz8oaS5wZW5kaW5nKzI+aS5wZW5kaW5nX2J1Zl9zaXplJiZJKHQpLGkucGVuZGluZysyPD1pLnBlbmRpbmdfYnVmX3NpemUmJihUKGksMjU1JnQuYWRsZXIpLFQoaSx0LmFkbGVyPj44JjI1NSksdC5hZGxlcj0wLGkuc3RhdHVzPUUpKTppLnN0YXR1cz1FKSwwIT09aS5wZW5kaW5nKXtpZihJKHQpLDA9PT10LmF2YWlsX291dClyZXR1cm4gaS5sYXN0X2ZsdXNoPS0xLGJ9ZWxzZSBpZigwPT09dC5hdmFpbF9pbiYmTyhlKTw9TyhhKSYmZSE9PWYpcmV0dXJuIE4odCwtNSk7aWYoNjY2PT09aS5zdGF0dXMmJjAhPT10LmF2YWlsX2luKXJldHVybiBOKHQsLTUpO2lmKDAhPT10LmF2YWlsX2lufHwwIT09aS5sb29rYWhlYWR8fGUhPT1kJiY2NjYhPT1pLnN0YXR1cyl7dmFyIG89Mj09PWkuc3RyYXRlZ3k/ZnVuY3Rpb24odCxlKXtmb3IodmFyIGE7Oyl7aWYoMD09PXQubG9va2FoZWFkJiYoSCh0KSwwPT09dC5sb29rYWhlYWQpKXtpZihlPT09ZClyZXR1cm4gQTticmVha31pZih0Lm1hdGNoX2xlbmd0aD0wLGE9aC5fdHJfdGFsbHkodCwwLHQud2luZG93W3Quc3Ryc3RhcnRdKSx0Lmxvb2thaGVhZC0tLHQuc3Ryc3RhcnQrKyxhJiYoVSh0LCExKSwwPT09dC5zdHJtLmF2YWlsX291dCkpcmV0dXJuIEF9cmV0dXJuIHQuaW5zZXJ0PTAsZT09PWY/KFUodCwhMCksMD09PXQuc3RybS5hdmFpbF9vdXQ/UjpDKTp0Lmxhc3RfbGl0JiYoVSh0LCExKSwwPT09dC5zdHJtLmF2YWlsX291dCk/QTpafShpLGUpOjM9PT1pLnN0cmF0ZWd5P2Z1bmN0aW9uKHQsZSl7Zm9yKHZhciBhLGksbixyLHM9dC53aW5kb3c7Oyl7aWYodC5sb29rYWhlYWQ8PXope2lmKEgodCksdC5sb29rYWhlYWQ8PXomJmU9PT1kKXJldHVybiBBO2lmKDA9PT10Lmxvb2thaGVhZClicmVha31pZih0Lm1hdGNoX2xlbmd0aD0wLHQubG9va2FoZWFkPj14JiYwPHQuc3Ryc3RhcnQmJihpPXNbbj10LnN0cnN0YXJ0LTFdKT09PXNbKytuXSYmaT09PXNbKytuXSYmaT09PXNbKytuXSl7cj10LnN0cnN0YXJ0K3o7ZG97fXdoaWxlKGk9PT1zWysrbl0mJmk9PT1zWysrbl0mJmk9PT1zWysrbl0mJmk9PT1zWysrbl0mJmk9PT1zWysrbl0mJmk9PT1zWysrbl0mJmk9PT1zWysrbl0mJmk9PT1zWysrbl0mJm48cik7dC5tYXRjaF9sZW5ndGg9ei0oci1uKSx0Lm1hdGNoX2xlbmd0aD50Lmxvb2thaGVhZCYmKHQubWF0Y2hfbGVuZ3RoPXQubG9va2FoZWFkKX1pZih0Lm1hdGNoX2xlbmd0aD49eD8oYT1oLl90cl90YWxseSh0LDEsdC5tYXRjaF9sZW5ndGgteCksdC5sb29rYWhlYWQtPXQubWF0Y2hfbGVuZ3RoLHQuc3Ryc3RhcnQrPXQubWF0Y2hfbGVuZ3RoLHQubWF0Y2hfbGVuZ3RoPTApOihhPWguX3RyX3RhbGx5KHQsMCx0LndpbmRvd1t0LnN0cnN0YXJ0XSksdC5sb29rYWhlYWQtLSx0LnN0cnN0YXJ0KyspLGEmJihVKHQsITEpLDA9PT10LnN0cm0uYXZhaWxfb3V0KSlyZXR1cm4gQX1yZXR1cm4gdC5pbnNlcnQ9MCxlPT09Zj8oVSh0LCEwKSwwPT09dC5zdHJtLmF2YWlsX291dD9SOkMpOnQubGFzdF9saXQmJihVKHQsITEpLDA9PT10LnN0cm0uYXZhaWxfb3V0KT9BOlp9KGksZSk6bFtpLmxldmVsXS5mdW5jKGksZSk7aWYobyE9PVImJm8hPT1DfHwoaS5zdGF0dXM9NjY2KSxvPT09QXx8bz09PVIpcmV0dXJuIDA9PT10LmF2YWlsX291dCYmKGkubGFzdF9mbHVzaD0tMSksYjtpZihvPT09WiYmKDE9PT1lP2guX3RyX2FsaWduKGkpOjUhPT1lJiYoaC5fdHJfc3RvcmVkX2Jsb2NrKGksMCwwLCExKSwzPT09ZSYmKEQoaS5oZWFkKSwwPT09aS5sb29rYWhlYWQmJihpLnN0cnN0YXJ0PTAsaS5ibG9ja19zdGFydD0wLGkuaW5zZXJ0PTApKSksSSh0KSwwPT09dC5hdmFpbF9vdXQpKXJldHVybiBpLmxhc3RfZmx1c2g9LTEsYn1yZXR1cm4gZSE9PWY/YjppLndyYXA8PTA/MTooMj09PWkud3JhcD8oVChpLDI1NSZ0LmFkbGVyKSxUKGksdC5hZGxlcj4+OCYyNTUpLFQoaSx0LmFkbGVyPj4xNiYyNTUpLFQoaSx0LmFkbGVyPj4yNCYyNTUpLFQoaSwyNTUmdC50b3RhbF9pbiksVChpLHQudG90YWxfaW4+PjgmMjU1KSxUKGksdC50b3RhbF9pbj4+MTYmMjU1KSxUKGksdC50b3RhbF9pbj4+MjQmMjU1KSk6KEYoaSx0LmFkbGVyPj4+MTYpLEYoaSw2NTUzNSZ0LmFkbGVyKSksSSh0KSwwPGkud3JhcCYmKGkud3JhcD0taS53cmFwKSwwIT09aS5wZW5kaW5nP2I6MSl9LGEuZGVmbGF0ZUVuZD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gdCYmdC5zdGF0ZT8oZT10LnN0YXRlLnN0YXR1cykhPT1TJiY2OSE9PWUmJjczIT09ZSYmOTEhPT1lJiYxMDMhPT1lJiZlIT09RSYmNjY2IT09ZT9OKHQsZyk6KHQuc3RhdGU9bnVsbCxlPT09RT9OKHQsLTMpOmIpOmd9LGEuZGVmbGF0ZVNldERpY3Rpb25hcnk9ZnVuY3Rpb24odCxlKXt2YXIgYSxpLG4scixzLG8sbCxoLGQ9ZS5sZW5ndGg7aWYoIXR8fCF0LnN0YXRlKXJldHVybiBnO2lmKDI9PT0ocj0oYT10LnN0YXRlKS53cmFwKXx8MT09PXImJmEuc3RhdHVzIT09U3x8YS5sb29rYWhlYWQpcmV0dXJuIGc7Zm9yKDE9PT1yJiYodC5hZGxlcj11KHQuYWRsZXIsZSxkLDApKSxhLndyYXA9MCxkPj1hLndfc2l6ZSYmKDA9PT1yJiYoRChhLmhlYWQpLGEuc3Ryc3RhcnQ9MCxhLmJsb2NrX3N0YXJ0PTAsYS5pbnNlcnQ9MCksaD1uZXcgXy5CdWY4KGEud19zaXplKSxfLmFycmF5U2V0KGgsZSxkLWEud19zaXplLGEud19zaXplLDApLGU9aCxkPWEud19zaXplKSxzPXQuYXZhaWxfaW4sbz10Lm5leHRfaW4sbD10LmlucHV0LHQuYXZhaWxfaW49ZCx0Lm5leHRfaW49MCx0LmlucHV0PWUsSChhKTthLmxvb2thaGVhZD49eDspe2ZvcihpPWEuc3Ryc3RhcnQsbj1hLmxvb2thaGVhZC0oeC0xKTthLmluc19oPShhLmluc19oPDxhLmhhc2hfc2hpZnReYS53aW5kb3dbaSt4LTFdKSZhLmhhc2hfbWFzayxhLnByZXZbaSZhLndfbWFza109YS5oZWFkW2EuaW5zX2hdLGEuaGVhZFthLmluc19oXT1pLGkrKywtLW47KTthLnN0cnN0YXJ0PWksYS5sb29rYWhlYWQ9eC0xLEgoYSl9cmV0dXJuIGEuc3Ryc3RhcnQrPWEubG9va2FoZWFkLGEuYmxvY2tfc3RhcnQ9YS5zdHJzdGFydCxhLmluc2VydD1hLmxvb2thaGVhZCxhLmxvb2thaGVhZD0wLGEubWF0Y2hfbGVuZ3RoPWEucHJldl9sZW5ndGg9eC0xLGEubWF0Y2hfYXZhaWxhYmxlPTAsdC5uZXh0X2luPW8sdC5pbnB1dD1sLHQuYXZhaWxfaW49cyxhLndyYXA9cixifSxhLmRlZmxhdGVJbmZvPSJwYWtvIGRlZmxhdGUgKGZyb20gTm9kZWNhIHByb2plY3QpIn0seyIuLi91dGlscy9jb21tb24iOjMsIi4vYWRsZXIzMiI6NSwiLi9jcmMzMiI6NywiLi9tZXNzYWdlcyI6MTMsIi4vdHJlZXMiOjE0fV0sOTpbZnVuY3Rpb24odCxlLGEpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt0aGlzLnRleHQ9MCx0aGlzLnRpbWU9MCx0aGlzLnhmbGFncz0wLHRoaXMub3M9MCx0aGlzLmV4dHJhPW51bGwsdGhpcy5leHRyYV9sZW49MCx0aGlzLm5hbWU9IiIsdGhpcy5jb21tZW50PSIiLHRoaXMuaGNyYz0wLHRoaXMuZG9uZT0hMX19LHt9XSwxMDpbZnVuY3Rpb24odCxlLGEpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgYSxpLG4scixzLG8sbCxoLGQsZixfLHUsYyxiLGcsbSx3LHAsdixrLHkseCx6LEIsUzthPXQuc3RhdGUsaT10Lm5leHRfaW4sQj10LmlucHV0LG49aSsodC5hdmFpbF9pbi01KSxyPXQubmV4dF9vdXQsUz10Lm91dHB1dCxzPXItKGUtdC5hdmFpbF9vdXQpLG89cisodC5hdmFpbF9vdXQtMjU3KSxsPWEuZG1heCxoPWEud3NpemUsZD1hLndoYXZlLGY9YS53bmV4dCxfPWEud2luZG93LHU9YS5ob2xkLGM9YS5iaXRzLGI9YS5sZW5jb2RlLGc9YS5kaXN0Y29kZSxtPSgxPDxhLmxlbmJpdHMpLTEsdz0oMTw8YS5kaXN0Yml0cyktMTt0OmRve2M8MTUmJih1Kz1CW2krK108PGMsYys9OCx1Kz1CW2krK108PGMsYys9OCkscD1iW3UmbV07ZTpmb3IoOzspe2lmKHU+Pj49dj1wPj4+MjQsYy09diwwPT09KHY9cD4+PjE2JjI1NSkpU1tyKytdPTY1NTM1JnA7ZWxzZXtpZighKDE2JnYpKXtpZigwPT0oNjQmdikpe3A9YlsoNjU1MzUmcCkrKHUmKDE8PHYpLTEpXTtjb250aW51ZSBlfWlmKDMyJnYpe2EubW9kZT0xMjticmVhayB0fXQubXNnPSJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUiLGEubW9kZT0zMDticmVhayB0fWs9NjU1MzUmcCwodiY9MTUpJiYoYzx2JiYodSs9QltpKytdPDxjLGMrPTgpLGsrPXUmKDE8PHYpLTEsdT4+Pj12LGMtPXYpLGM8MTUmJih1Kz1CW2krK108PGMsYys9OCx1Kz1CW2krK108PGMsYys9OCkscD1nW3Umd107YTpmb3IoOzspe2lmKHU+Pj49dj1wPj4+MjQsYy09diwhKDE2Jih2PXA+Pj4xNiYyNTUpKSl7aWYoMD09KDY0JnYpKXtwPWdbKDY1NTM1JnApKyh1JigxPDx2KS0xKV07Y29udGludWUgYX10Lm1zZz0iaW52YWxpZCBkaXN0YW5jZSBjb2RlIixhLm1vZGU9MzA7YnJlYWsgdH1pZih5PTY1NTM1JnAsYzwodiY9MTUpJiYodSs9QltpKytdPDxjLChjKz04KTx2JiYodSs9QltpKytdPDxjLGMrPTgpKSxsPCh5Kz11JigxPDx2KS0xKSl7dC5tc2c9ImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrIixhLm1vZGU9MzA7YnJlYWsgdH1pZih1Pj4+PXYsYy09diwodj1yLXMpPHkpe2lmKGQ8KHY9eS12KSYmYS5zYW5lKXt0Lm1zZz0iaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2siLGEubW9kZT0zMDticmVhayB0fWlmKHo9XywoeD0wKT09PWYpe2lmKHgrPWgtdix2PGspe2ZvcihrLT12O1NbcisrXT1fW3grK10sLS12Oyk7eD1yLXksej1TfX1lbHNlIGlmKGY8dil7aWYoeCs9aCtmLXYsKHYtPWYpPGspe2ZvcihrLT12O1NbcisrXT1fW3grK10sLS12Oyk7aWYoeD0wLGY8ayl7Zm9yKGstPXY9ZjtTW3IrK109X1t4KytdLC0tdjspO3g9ci15LHo9U319fWVsc2UgaWYoeCs9Zi12LHY8ayl7Zm9yKGstPXY7U1tyKytdPV9beCsrXSwtLXY7KTt4PXIteSx6PVN9Zm9yKDsyPGs7KVNbcisrXT16W3grK10sU1tyKytdPXpbeCsrXSxTW3IrK109elt4KytdLGstPTM7ayYmKFNbcisrXT16W3grK10sMTxrJiYoU1tyKytdPXpbeCsrXSkpfWVsc2V7Zm9yKHg9ci15O1NbcisrXT1TW3grK10sU1tyKytdPVNbeCsrXSxTW3IrK109U1t4KytdLDI8KGstPTMpOyk7ayYmKFNbcisrXT1TW3grK10sMTxrJiYoU1tyKytdPVNbeCsrXSkpfWJyZWFrfX1icmVha319d2hpbGUoaTxuJiZyPG8pO2ktPWs9Yz4+Myx1Jj0oMTw8KGMtPWs8PDMpKS0xLHQubmV4dF9pbj1pLHQubmV4dF9vdXQ9cix0LmF2YWlsX2luPWk8bj9uLWkrNTo1LShpLW4pLHQuYXZhaWxfb3V0PXI8bz9vLXIrMjU3OjI1Ny0oci1vKSxhLmhvbGQ9dSxhLmJpdHM9Y319LHt9XSwxMTpbZnVuY3Rpb24odCxlLGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgWj10KCIuLi91dGlscy9jb21tb24iKSxSPXQoIi4vYWRsZXIzMiIpLEM9dCgiLi9jcmMzMiIpLE49dCgiLi9pbmZmYXN0IiksTz10KCIuL2luZnRyZWVzIiksRD0xLEk9MixVPTAsVD0tMixGPTEsaT04NTIsbj01OTI7ZnVuY3Rpb24gTCh0KXtyZXR1cm4odD4+PjI0JjI1NSkrKHQ+Pj44JjY1MjgwKSsoKDY1MjgwJnQpPDw4KSsoKDI1NSZ0KTw8MjQpfWZ1bmN0aW9uIHIoKXt0aGlzLm1vZGU9MCx0aGlzLmxhc3Q9ITEsdGhpcy53cmFwPTAsdGhpcy5oYXZlZGljdD0hMSx0aGlzLmZsYWdzPTAsdGhpcy5kbWF4PTAsdGhpcy5jaGVjaz0wLHRoaXMudG90YWw9MCx0aGlzLmhlYWQ9bnVsbCx0aGlzLndiaXRzPTAsdGhpcy53c2l6ZT0wLHRoaXMud2hhdmU9MCx0aGlzLnduZXh0PTAsdGhpcy53aW5kb3c9bnVsbCx0aGlzLmhvbGQ9MCx0aGlzLmJpdHM9MCx0aGlzLmxlbmd0aD0wLHRoaXMub2Zmc2V0PTAsdGhpcy5leHRyYT0wLHRoaXMubGVuY29kZT1udWxsLHRoaXMuZGlzdGNvZGU9bnVsbCx0aGlzLmxlbmJpdHM9MCx0aGlzLmRpc3RiaXRzPTAsdGhpcy5uY29kZT0wLHRoaXMubmxlbj0wLHRoaXMubmRpc3Q9MCx0aGlzLmhhdmU9MCx0aGlzLm5leHQ9bnVsbCx0aGlzLmxlbnM9bmV3IFouQnVmMTYoMzIwKSx0aGlzLndvcms9bmV3IFouQnVmMTYoMjg4KSx0aGlzLmxlbmR5bj1udWxsLHRoaXMuZGlzdGR5bj1udWxsLHRoaXMuc2FuZT0wLHRoaXMuYmFjaz0wLHRoaXMud2FzPTB9ZnVuY3Rpb24gcyh0KXt2YXIgZTtyZXR1cm4gdCYmdC5zdGF0ZT8oZT10LnN0YXRlLHQudG90YWxfaW49dC50b3RhbF9vdXQ9ZS50b3RhbD0wLHQubXNnPSIiLGUud3JhcCYmKHQuYWRsZXI9MSZlLndyYXApLGUubW9kZT1GLGUubGFzdD0wLGUuaGF2ZWRpY3Q9MCxlLmRtYXg9MzI3NjgsZS5oZWFkPW51bGwsZS5ob2xkPTAsZS5iaXRzPTAsZS5sZW5jb2RlPWUubGVuZHluPW5ldyBaLkJ1ZjMyKGkpLGUuZGlzdGNvZGU9ZS5kaXN0ZHluPW5ldyBaLkJ1ZjMyKG4pLGUuc2FuZT0xLGUuYmFjaz0tMSxVKTpUfWZ1bmN0aW9uIG8odCl7dmFyIGU7cmV0dXJuIHQmJnQuc3RhdGU/KChlPXQuc3RhdGUpLndzaXplPTAsZS53aGF2ZT0wLGUud25leHQ9MCxzKHQpKTpUfWZ1bmN0aW9uIGwodCxlKXt2YXIgYSxpO3JldHVybiB0JiZ0LnN0YXRlPyhpPXQuc3RhdGUsZTwwPyhhPTAsZT0tZSk6KGE9MSsoZT4+NCksZTw0OCYmKGUmPTE1KSksZSYmKGU8OHx8MTU8ZSk/VDoobnVsbCE9PWkud2luZG93JiZpLndiaXRzIT09ZSYmKGkud2luZG93PW51bGwpLGkud3JhcD1hLGkud2JpdHM9ZSxvKHQpKSk6VH1mdW5jdGlvbiBoKHQsZSl7dmFyIGEsaTtyZXR1cm4gdD8oaT1uZXcgciwodC5zdGF0ZT1pKS53aW5kb3c9bnVsbCwoYT1sKHQsZSkpIT09VSYmKHQuc3RhdGU9bnVsbCksYSk6VH12YXIgZCxmLF89ITA7ZnVuY3Rpb24gSCh0KXtpZihfKXt2YXIgZTtmb3IoZD1uZXcgWi5CdWYzMig1MTIpLGY9bmV3IFouQnVmMzIoMzIpLGU9MDtlPDE0NDspdC5sZW5zW2UrK109ODtmb3IoO2U8MjU2Oyl0LmxlbnNbZSsrXT05O2Zvcig7ZTwyODA7KXQubGVuc1tlKytdPTc7Zm9yKDtlPDI4ODspdC5sZW5zW2UrK109ODtmb3IoTyhELHQubGVucywwLDI4OCxkLDAsdC53b3JrLHtiaXRzOjl9KSxlPTA7ZTwzMjspdC5sZW5zW2UrK109NTtPKEksdC5sZW5zLDAsMzIsZiwwLHQud29yayx7Yml0czo1fSksXz0hMX10LmxlbmNvZGU9ZCx0LmxlbmJpdHM9OSx0LmRpc3Rjb2RlPWYsdC5kaXN0Yml0cz01fWZ1bmN0aW9uIGoodCxlLGEsaSl7dmFyIG4scj10LnN0YXRlO3JldHVybiBudWxsPT09ci53aW5kb3cmJihyLndzaXplPTE8PHIud2JpdHMsci53bmV4dD0wLHIud2hhdmU9MCxyLndpbmRvdz1uZXcgWi5CdWY4KHIud3NpemUpKSxpPj1yLndzaXplPyhaLmFycmF5U2V0KHIud2luZG93LGUsYS1yLndzaXplLHIud3NpemUsMCksci53bmV4dD0wLHIud2hhdmU9ci53c2l6ZSk6KGk8KG49ci53c2l6ZS1yLnduZXh0KSYmKG49aSksWi5hcnJheVNldChyLndpbmRvdyxlLGEtaSxuLHIud25leHQpLChpLT1uKT8oWi5hcnJheVNldChyLndpbmRvdyxlLGEtaSxpLDApLHIud25leHQ9aSxyLndoYXZlPXIud3NpemUpOihyLnduZXh0Kz1uLHIud25leHQ9PT1yLndzaXplJiYoci53bmV4dD0wKSxyLndoYXZlPHIud3NpemUmJihyLndoYXZlKz1uKSkpLDB9YS5pbmZsYXRlUmVzZXQ9byxhLmluZmxhdGVSZXNldDI9bCxhLmluZmxhdGVSZXNldEtlZXA9cyxhLmluZmxhdGVJbml0PWZ1bmN0aW9uKHQpe3JldHVybiBoKHQsMTUpfSxhLmluZmxhdGVJbml0Mj1oLGEuaW5mbGF0ZT1mdW5jdGlvbih0LGUpe3ZhciBhLGksbixyLHMsbyxsLGgsZCxmLF8sdSxjLGIsZyxtLHcscCx2LGsseSx4LHosQixTPTAsRT1uZXcgWi5CdWY4KDQpLEE9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdO2lmKCF0fHwhdC5zdGF0ZXx8IXQub3V0cHV0fHwhdC5pbnB1dCYmMCE9PXQuYXZhaWxfaW4pcmV0dXJuIFQ7MTI9PT0oYT10LnN0YXRlKS5tb2RlJiYoYS5tb2RlPTEzKSxzPXQubmV4dF9vdXQsbj10Lm91dHB1dCxsPXQuYXZhaWxfb3V0LHI9dC5uZXh0X2luLGk9dC5pbnB1dCxvPXQuYXZhaWxfaW4saD1hLmhvbGQsZD1hLmJpdHMsZj1vLF89bCx4PVU7dDpmb3IoOzspc3dpdGNoKGEubW9kZSl7Y2FzZSBGOmlmKDA9PT1hLndyYXApe2EubW9kZT0xMzticmVha31mb3IoO2Q8MTY7KXtpZigwPT09bylicmVhayB0O28tLSxoKz1pW3IrK108PGQsZCs9OH1pZigyJmEud3JhcCYmMzU2MTU9PT1oKXtFW2EuY2hlY2s9MF09MjU1JmgsRVsxXT1oPj4+OCYyNTUsYS5jaGVjaz1DKGEuY2hlY2ssRSwyLDApLGQ9aD0wLGEubW9kZT0yO2JyZWFrfWlmKGEuZmxhZ3M9MCxhLmhlYWQmJihhLmhlYWQuZG9uZT0hMSksISgxJmEud3JhcCl8fCgoKDI1NSZoKTw8OCkrKGg+PjgpKSUzMSl7dC5tc2c9ImluY29ycmVjdCBoZWFkZXIgY2hlY2siLGEubW9kZT0zMDticmVha31pZig4IT0oMTUmaCkpe3QubXNnPSJ1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZCIsYS5tb2RlPTMwO2JyZWFrfWlmKGQtPTQseT04KygxNSYoaD4+Pj00KSksMD09PWEud2JpdHMpYS53Yml0cz15O2Vsc2UgaWYoeT5hLndiaXRzKXt0Lm1zZz0iaW52YWxpZCB3aW5kb3cgc2l6ZSIsYS5tb2RlPTMwO2JyZWFrfWEuZG1heD0xPDx5LHQuYWRsZXI9YS5jaGVjaz0xLGEubW9kZT01MTImaD8xMDoxMixkPWg9MDticmVhaztjYXNlIDI6Zm9yKDtkPDE2Oyl7aWYoMD09PW8pYnJlYWsgdDtvLS0saCs9aVtyKytdPDxkLGQrPTh9aWYoYS5mbGFncz1oLDghPSgyNTUmYS5mbGFncykpe3QubXNnPSJ1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZCIsYS5tb2RlPTMwO2JyZWFrfWlmKDU3MzQ0JmEuZmxhZ3Mpe3QubXNnPSJ1bmtub3duIGhlYWRlciBmbGFncyBzZXQiLGEubW9kZT0zMDticmVha31hLmhlYWQmJihhLmhlYWQudGV4dD1oPj44JjEpLDUxMiZhLmZsYWdzJiYoRVswXT0yNTUmaCxFWzFdPWg+Pj44JjI1NSxhLmNoZWNrPUMoYS5jaGVjayxFLDIsMCkpLGQ9aD0wLGEubW9kZT0zO2Nhc2UgMzpmb3IoO2Q8MzI7KXtpZigwPT09bylicmVhayB0O28tLSxoKz1pW3IrK108PGQsZCs9OH1hLmhlYWQmJihhLmhlYWQudGltZT1oKSw1MTImYS5mbGFncyYmKEVbMF09MjU1JmgsRVsxXT1oPj4+OCYyNTUsRVsyXT1oPj4+MTYmMjU1LEVbM109aD4+PjI0JjI1NSxhLmNoZWNrPUMoYS5jaGVjayxFLDQsMCkpLGQ9aD0wLGEubW9kZT00O2Nhc2UgNDpmb3IoO2Q8MTY7KXtpZigwPT09bylicmVhayB0O28tLSxoKz1pW3IrK108PGQsZCs9OH1hLmhlYWQmJihhLmhlYWQueGZsYWdzPTI1NSZoLGEuaGVhZC5vcz1oPj44KSw1MTImYS5mbGFncyYmKEVbMF09MjU1JmgsRVsxXT1oPj4+OCYyNTUsYS5jaGVjaz1DKGEuY2hlY2ssRSwyLDApKSxkPWg9MCxhLm1vZGU9NTtjYXNlIDU6aWYoMTAyNCZhLmZsYWdzKXtmb3IoO2Q8MTY7KXtpZigwPT09bylicmVhayB0O28tLSxoKz1pW3IrK108PGQsZCs9OH1hLmxlbmd0aD1oLGEuaGVhZCYmKGEuaGVhZC5leHRyYV9sZW49aCksNTEyJmEuZmxhZ3MmJihFWzBdPTI1NSZoLEVbMV09aD4+PjgmMjU1LGEuY2hlY2s9QyhhLmNoZWNrLEUsMiwwKSksZD1oPTB9ZWxzZSBhLmhlYWQmJihhLmhlYWQuZXh0cmE9bnVsbCk7YS5tb2RlPTY7Y2FzZSA2OmlmKDEwMjQmYS5mbGFncyYmKG88KHU9YS5sZW5ndGgpJiYodT1vKSx1JiYoYS5oZWFkJiYoeT1hLmhlYWQuZXh0cmFfbGVuLWEubGVuZ3RoLGEuaGVhZC5leHRyYXx8KGEuaGVhZC5leHRyYT1uZXcgQXJyYXkoYS5oZWFkLmV4dHJhX2xlbikpLFouYXJyYXlTZXQoYS5oZWFkLmV4dHJhLGkscix1LHkpKSw1MTImYS5mbGFncyYmKGEuY2hlY2s9QyhhLmNoZWNrLGksdSxyKSksby09dSxyKz11LGEubGVuZ3RoLT11KSxhLmxlbmd0aCkpYnJlYWsgdDthLmxlbmd0aD0wLGEubW9kZT03O2Nhc2UgNzppZigyMDQ4JmEuZmxhZ3Mpe2lmKDA9PT1vKWJyZWFrIHQ7Zm9yKHU9MDt5PWlbcit1KytdLGEuaGVhZCYmeSYmYS5sZW5ndGg8NjU1MzYmJihhLmhlYWQubmFtZSs9U3RyaW5nLmZyb21DaGFyQ29kZSh5KSkseSYmdTxvOyk7aWYoNTEyJmEuZmxhZ3MmJihhLmNoZWNrPUMoYS5jaGVjayxpLHUscikpLG8tPXUscis9dSx5KWJyZWFrIHR9ZWxzZSBhLmhlYWQmJihhLmhlYWQubmFtZT1udWxsKTthLmxlbmd0aD0wLGEubW9kZT04O2Nhc2UgODppZig0MDk2JmEuZmxhZ3Mpe2lmKDA9PT1vKWJyZWFrIHQ7Zm9yKHU9MDt5PWlbcit1KytdLGEuaGVhZCYmeSYmYS5sZW5ndGg8NjU1MzYmJihhLmhlYWQuY29tbWVudCs9U3RyaW5nLmZyb21DaGFyQ29kZSh5KSkseSYmdTxvOyk7aWYoNTEyJmEuZmxhZ3MmJihhLmNoZWNrPUMoYS5jaGVjayxpLHUscikpLG8tPXUscis9dSx5KWJyZWFrIHR9ZWxzZSBhLmhlYWQmJihhLmhlYWQuY29tbWVudD1udWxsKTthLm1vZGU9OTtjYXNlIDk6aWYoNTEyJmEuZmxhZ3Mpe2Zvcig7ZDwxNjspe2lmKDA9PT1vKWJyZWFrIHQ7by0tLGgrPWlbcisrXTw8ZCxkKz04fWlmKGghPT0oNjU1MzUmYS5jaGVjaykpe3QubXNnPSJoZWFkZXIgY3JjIG1pc21hdGNoIixhLm1vZGU9MzA7YnJlYWt9ZD1oPTB9YS5oZWFkJiYoYS5oZWFkLmhjcmM9YS5mbGFncz4+OSYxLGEuaGVhZC5kb25lPSEwKSx0LmFkbGVyPWEuY2hlY2s9MCxhLm1vZGU9MTI7YnJlYWs7Y2FzZSAxMDpmb3IoO2Q8MzI7KXtpZigwPT09bylicmVhayB0O28tLSxoKz1pW3IrK108PGQsZCs9OH10LmFkbGVyPWEuY2hlY2s9TChoKSxkPWg9MCxhLm1vZGU9MTE7Y2FzZSAxMTppZigwPT09YS5oYXZlZGljdClyZXR1cm4gdC5uZXh0X291dD1zLHQuYXZhaWxfb3V0PWwsdC5uZXh0X2luPXIsdC5hdmFpbF9pbj1vLGEuaG9sZD1oLGEuYml0cz1kLDI7dC5hZGxlcj1hLmNoZWNrPTEsYS5tb2RlPTEyO2Nhc2UgMTI6aWYoNT09PWV8fDY9PT1lKWJyZWFrIHQ7Y2FzZSAxMzppZihhLmxhc3Qpe2g+Pj49NyZkLGQtPTcmZCxhLm1vZGU9Mjc7YnJlYWt9Zm9yKDtkPDM7KXtpZigwPT09bylicmVhayB0O28tLSxoKz1pW3IrK108PGQsZCs9OH1zd2l0Y2goYS5sYXN0PTEmaCxkLT0xLDMmKGg+Pj49MSkpe2Nhc2UgMDphLm1vZGU9MTQ7YnJlYWs7Y2FzZSAxOmlmKEgoYSksYS5tb2RlPTIwLDYhPT1lKWJyZWFrO2g+Pj49MixkLT0yO2JyZWFrIHQ7Y2FzZSAyOmEubW9kZT0xNzticmVhaztjYXNlIDM6dC5tc2c9ImludmFsaWQgYmxvY2sgdHlwZSIsYS5tb2RlPTMwfWg+Pj49MixkLT0yO2JyZWFrO2Nhc2UgMTQ6Zm9yKGg+Pj49NyZkLGQtPTcmZDtkPDMyOyl7aWYoMD09PW8pYnJlYWsgdDtvLS0saCs9aVtyKytdPDxkLGQrPTh9aWYoKDY1NTM1JmgpIT0oaD4+PjE2XjY1NTM1KSl7dC5tc2c9ImludmFsaWQgc3RvcmVkIGJsb2NrIGxlbmd0aHMiLGEubW9kZT0zMDticmVha31pZihhLmxlbmd0aD02NTUzNSZoLGQ9aD0wLGEubW9kZT0xNSw2PT09ZSlicmVhayB0O2Nhc2UgMTU6YS5tb2RlPTE2O2Nhc2UgMTY6aWYodT1hLmxlbmd0aCl7aWYobzx1JiYodT1vKSxsPHUmJih1PWwpLDA9PT11KWJyZWFrIHQ7Wi5hcnJheVNldChuLGkscix1LHMpLG8tPXUscis9dSxsLT11LHMrPXUsYS5sZW5ndGgtPXU7YnJlYWt9YS5tb2RlPTEyO2JyZWFrO2Nhc2UgMTc6Zm9yKDtkPDE0Oyl7aWYoMD09PW8pYnJlYWsgdDtvLS0saCs9aVtyKytdPDxkLGQrPTh9aWYoYS5ubGVuPTI1NysoMzEmaCksaD4+Pj01LGQtPTUsYS5uZGlzdD0xKygzMSZoKSxoPj4+PTUsZC09NSxhLm5jb2RlPTQrKDE1JmgpLGg+Pj49NCxkLT00LDI4NjxhLm5sZW58fDMwPGEubmRpc3Qpe3QubXNnPSJ0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scyIsYS5tb2RlPTMwO2JyZWFrfWEuaGF2ZT0wLGEubW9kZT0xODtjYXNlIDE4OmZvcig7YS5oYXZlPGEubmNvZGU7KXtmb3IoO2Q8Mzspe2lmKDA9PT1vKWJyZWFrIHQ7by0tLGgrPWlbcisrXTw8ZCxkKz04fWEubGVuc1tBW2EuaGF2ZSsrXV09NyZoLGg+Pj49MyxkLT0zfWZvcig7YS5oYXZlPDE5OylhLmxlbnNbQVthLmhhdmUrK11dPTA7aWYoYS5sZW5jb2RlPWEubGVuZHluLGEubGVuYml0cz03LHo9e2JpdHM6YS5sZW5iaXRzfSx4PU8oMCxhLmxlbnMsMCwxOSxhLmxlbmNvZGUsMCxhLndvcmsseiksYS5sZW5iaXRzPXouYml0cyx4KXt0Lm1zZz0iaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0IixhLm1vZGU9MzA7YnJlYWt9YS5oYXZlPTAsYS5tb2RlPTE5O2Nhc2UgMTk6Zm9yKDthLmhhdmU8YS5ubGVuK2EubmRpc3Q7KXtmb3IoO209KFM9YS5sZW5jb2RlW2gmKDE8PGEubGVuYml0cyktMV0pPj4+MTYmMjU1LHc9NjU1MzUmUywhKChnPVM+Pj4yNCk8PWQpOyl7aWYoMD09PW8pYnJlYWsgdDtvLS0saCs9aVtyKytdPDxkLGQrPTh9aWYodzwxNiloPj4+PWcsZC09ZyxhLmxlbnNbYS5oYXZlKytdPXc7ZWxzZXtpZigxNj09PXcpe2ZvcihCPWcrMjtkPEI7KXtpZigwPT09bylicmVhayB0O28tLSxoKz1pW3IrK108PGQsZCs9OH1pZihoPj4+PWcsZC09ZywwPT09YS5oYXZlKXt0Lm1zZz0iaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdCIsYS5tb2RlPTMwO2JyZWFrfXk9YS5sZW5zW2EuaGF2ZS0xXSx1PTMrKDMmaCksaD4+Pj0yLGQtPTJ9ZWxzZSBpZigxNz09PXcpe2ZvcihCPWcrMztkPEI7KXtpZigwPT09bylicmVhayB0O28tLSxoKz1pW3IrK108PGQsZCs9OH1kLT1nLHk9MCx1PTMrKDcmKGg+Pj49ZykpLGg+Pj49MyxkLT0zfWVsc2V7Zm9yKEI9Zys3O2Q8Qjspe2lmKDA9PT1vKWJyZWFrIHQ7by0tLGgrPWlbcisrXTw8ZCxkKz04fWQtPWcseT0wLHU9MTErKDEyNyYoaD4+Pj1nKSksaD4+Pj03LGQtPTd9aWYoYS5oYXZlK3U+YS5ubGVuK2EubmRpc3Qpe3QubXNnPSJpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0IixhLm1vZGU9MzA7YnJlYWt9Zm9yKDt1LS07KWEubGVuc1thLmhhdmUrK109eX19aWYoMzA9PT1hLm1vZGUpYnJlYWs7aWYoMD09PWEubGVuc1syNTZdKXt0Lm1zZz0iaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrIixhLm1vZGU9MzA7YnJlYWt9aWYoYS5sZW5iaXRzPTksej17Yml0czphLmxlbmJpdHN9LHg9TyhELGEubGVucywwLGEubmxlbixhLmxlbmNvZGUsMCxhLndvcmsseiksYS5sZW5iaXRzPXouYml0cyx4KXt0Lm1zZz0iaW52YWxpZCBsaXRlcmFsL2xlbmd0aHMgc2V0IixhLm1vZGU9MzA7YnJlYWt9aWYoYS5kaXN0Yml0cz02LGEuZGlzdGNvZGU9YS5kaXN0ZHluLHo9e2JpdHM6YS5kaXN0Yml0c30seD1PKEksYS5sZW5zLGEubmxlbixhLm5kaXN0LGEuZGlzdGNvZGUsMCxhLndvcmsseiksYS5kaXN0Yml0cz16LmJpdHMseCl7dC5tc2c9ImludmFsaWQgZGlzdGFuY2VzIHNldCIsYS5tb2RlPTMwO2JyZWFrfWlmKGEubW9kZT0yMCw2PT09ZSlicmVhayB0O2Nhc2UgMjA6YS5tb2RlPTIxO2Nhc2UgMjE6aWYoNjw9byYmMjU4PD1sKXt0Lm5leHRfb3V0PXMsdC5hdmFpbF9vdXQ9bCx0Lm5leHRfaW49cix0LmF2YWlsX2luPW8sYS5ob2xkPWgsYS5iaXRzPWQsTih0LF8pLHM9dC5uZXh0X291dCxuPXQub3V0cHV0LGw9dC5hdmFpbF9vdXQscj10Lm5leHRfaW4saT10LmlucHV0LG89dC5hdmFpbF9pbixoPWEuaG9sZCxkPWEuYml0cywxMj09PWEubW9kZSYmKGEuYmFjaz0tMSk7YnJlYWt9Zm9yKGEuYmFjaz0wO209KFM9YS5sZW5jb2RlW2gmKDE8PGEubGVuYml0cyktMV0pPj4+MTYmMjU1LHc9NjU1MzUmUywhKChnPVM+Pj4yNCk8PWQpOyl7aWYoMD09PW8pYnJlYWsgdDtvLS0saCs9aVtyKytdPDxkLGQrPTh9aWYobSYmMD09KDI0MCZtKSl7Zm9yKHA9Zyx2PW0saz13O209KFM9YS5sZW5jb2RlW2srKChoJigxPDxwK3YpLTEpPj5wKV0pPj4+MTYmMjU1LHc9NjU1MzUmUywhKHArKGc9Uz4+PjI0KTw9ZCk7KXtpZigwPT09bylicmVhayB0O28tLSxoKz1pW3IrK108PGQsZCs9OH1oPj4+PXAsZC09cCxhLmJhY2srPXB9aWYoaD4+Pj1nLGQtPWcsYS5iYWNrKz1nLGEubGVuZ3RoPXcsMD09PW0pe2EubW9kZT0yNjticmVha31pZigzMiZtKXthLmJhY2s9LTEsYS5tb2RlPTEyO2JyZWFrfWlmKDY0Jm0pe3QubXNnPSJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUiLGEubW9kZT0zMDticmVha31hLmV4dHJhPTE1Jm0sYS5tb2RlPTIyO2Nhc2UgMjI6aWYoYS5leHRyYSl7Zm9yKEI9YS5leHRyYTtkPEI7KXtpZigwPT09bylicmVhayB0O28tLSxoKz1pW3IrK108PGQsZCs9OH1hLmxlbmd0aCs9aCYoMTw8YS5leHRyYSktMSxoPj4+PWEuZXh0cmEsZC09YS5leHRyYSxhLmJhY2srPWEuZXh0cmF9YS53YXM9YS5sZW5ndGgsYS5tb2RlPTIzO2Nhc2UgMjM6Zm9yKDttPShTPWEuZGlzdGNvZGVbaCYoMTw8YS5kaXN0Yml0cyktMV0pPj4+MTYmMjU1LHc9NjU1MzUmUywhKChnPVM+Pj4yNCk8PWQpOyl7aWYoMD09PW8pYnJlYWsgdDtvLS0saCs9aVtyKytdPDxkLGQrPTh9aWYoMD09KDI0MCZtKSl7Zm9yKHA9Zyx2PW0saz13O209KFM9YS5kaXN0Y29kZVtrKygoaCYoMTw8cCt2KS0xKT4+cCldKT4+PjE2JjI1NSx3PTY1NTM1JlMsIShwKyhnPVM+Pj4yNCk8PWQpOyl7aWYoMD09PW8pYnJlYWsgdDtvLS0saCs9aVtyKytdPDxkLGQrPTh9aD4+Pj1wLGQtPXAsYS5iYWNrKz1wfWlmKGg+Pj49ZyxkLT1nLGEuYmFjays9Zyw2NCZtKXt0Lm1zZz0iaW52YWxpZCBkaXN0YW5jZSBjb2RlIixhLm1vZGU9MzA7YnJlYWt9YS5vZmZzZXQ9dyxhLmV4dHJhPTE1Jm0sYS5tb2RlPTI0O2Nhc2UgMjQ6aWYoYS5leHRyYSl7Zm9yKEI9YS5leHRyYTtkPEI7KXtpZigwPT09bylicmVhayB0O28tLSxoKz1pW3IrK108PGQsZCs9OH1hLm9mZnNldCs9aCYoMTw8YS5leHRyYSktMSxoPj4+PWEuZXh0cmEsZC09YS5leHRyYSxhLmJhY2srPWEuZXh0cmF9aWYoYS5vZmZzZXQ+YS5kbWF4KXt0Lm1zZz0iaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2siLGEubW9kZT0zMDticmVha31hLm1vZGU9MjU7Y2FzZSAyNTppZigwPT09bClicmVhayB0O2lmKHU9Xy1sLGEub2Zmc2V0PnUpe2lmKCh1PWEub2Zmc2V0LXUpPmEud2hhdmUmJmEuc2FuZSl7dC5tc2c9ImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrIixhLm1vZGU9MzA7YnJlYWt9dT5hLnduZXh0Pyh1LT1hLnduZXh0LGM9YS53c2l6ZS11KTpjPWEud25leHQtdSx1PmEubGVuZ3RoJiYodT1hLmxlbmd0aCksYj1hLndpbmRvd31lbHNlIGI9bixjPXMtYS5vZmZzZXQsdT1hLmxlbmd0aDtmb3IobDx1JiYodT1sKSxsLT11LGEubGVuZ3RoLT11O25bcysrXT1iW2MrK10sLS11Oyk7MD09PWEubGVuZ3RoJiYoYS5tb2RlPTIxKTticmVhaztjYXNlIDI2OmlmKDA9PT1sKWJyZWFrIHQ7bltzKytdPWEubGVuZ3RoLGwtLSxhLm1vZGU9MjE7YnJlYWs7Y2FzZSAyNzppZihhLndyYXApe2Zvcig7ZDwzMjspe2lmKDA9PT1vKWJyZWFrIHQ7by0tLGh8PWlbcisrXTw8ZCxkKz04fWlmKF8tPWwsdC50b3RhbF9vdXQrPV8sYS50b3RhbCs9XyxfJiYodC5hZGxlcj1hLmNoZWNrPWEuZmxhZ3M/QyhhLmNoZWNrLG4sXyxzLV8pOlIoYS5jaGVjayxuLF8scy1fKSksXz1sLChhLmZsYWdzP2g6TChoKSkhPT1hLmNoZWNrKXt0Lm1zZz0iaW5jb3JyZWN0IGRhdGEgY2hlY2siLGEubW9kZT0zMDticmVha31kPWg9MH1hLm1vZGU9Mjg7Y2FzZSAyODppZihhLndyYXAmJmEuZmxhZ3Mpe2Zvcig7ZDwzMjspe2lmKDA9PT1vKWJyZWFrIHQ7by0tLGgrPWlbcisrXTw8ZCxkKz04fWlmKGghPT0oNDI5NDk2NzI5NSZhLnRvdGFsKSl7dC5tc2c9ImluY29ycmVjdCBsZW5ndGggY2hlY2siLGEubW9kZT0zMDticmVha31kPWg9MH1hLm1vZGU9Mjk7Y2FzZSAyOTp4PTE7YnJlYWsgdDtjYXNlIDMwOng9LTM7YnJlYWsgdDtjYXNlIDMxOnJldHVybi00O2Nhc2UgMzI6ZGVmYXVsdDpyZXR1cm4gVH1yZXR1cm4gdC5uZXh0X291dD1zLHQuYXZhaWxfb3V0PWwsdC5uZXh0X2luPXIsdC5hdmFpbF9pbj1vLGEuaG9sZD1oLGEuYml0cz1kLChhLndzaXplfHxfIT09dC5hdmFpbF9vdXQmJmEubW9kZTwzMCYmKGEubW9kZTwyN3x8NCE9PWUpKSYmaih0LHQub3V0cHV0LHQubmV4dF9vdXQsXy10LmF2YWlsX291dCk/KGEubW9kZT0zMSwtNCk6KGYtPXQuYXZhaWxfaW4sXy09dC5hdmFpbF9vdXQsdC50b3RhbF9pbis9Zix0LnRvdGFsX291dCs9XyxhLnRvdGFsKz1fLGEud3JhcCYmXyYmKHQuYWRsZXI9YS5jaGVjaz1hLmZsYWdzP0MoYS5jaGVjayxuLF8sdC5uZXh0X291dC1fKTpSKGEuY2hlY2ssbixfLHQubmV4dF9vdXQtXykpLHQuZGF0YV90eXBlPWEuYml0cysoYS5sYXN0PzY0OjApKygxMj09PWEubW9kZT8xMjg6MCkrKDIwPT09YS5tb2RlfHwxNT09PWEubW9kZT8yNTY6MCksKDA9PT1mJiYwPT09X3x8ND09PWUpJiZ4PT09VSYmKHg9LTUpLHgpfSxhLmluZmxhdGVFbmQ9ZnVuY3Rpb24odCl7aWYoIXR8fCF0LnN0YXRlKXJldHVybiBUO3ZhciBlPXQuc3RhdGU7cmV0dXJuIGUud2luZG93JiYoZS53aW5kb3c9bnVsbCksdC5zdGF0ZT1udWxsLFV9LGEuaW5mbGF0ZUdldEhlYWRlcj1mdW5jdGlvbih0LGUpe3ZhciBhO3JldHVybiB0JiZ0LnN0YXRlPzA9PSgyJihhPXQuc3RhdGUpLndyYXApP1Q6KChhLmhlYWQ9ZSkuZG9uZT0hMSxVKTpUfSxhLmluZmxhdGVTZXREaWN0aW9uYXJ5PWZ1bmN0aW9uKHQsZSl7dmFyIGEsaT1lLmxlbmd0aDtyZXR1cm4gdCYmdC5zdGF0ZT8wIT09KGE9dC5zdGF0ZSkud3JhcCYmMTEhPT1hLm1vZGU/VDoxMT09PWEubW9kZSYmUigxLGUsaSwwKSE9PWEuY2hlY2s/LTM6aih0LGUsaSxpKT8oYS5tb2RlPTMxLC00KTooYS5oYXZlZGljdD0xLFUpOlR9LGEuaW5mbGF0ZUluZm89InBha28gaW5mbGF0ZSAoZnJvbSBOb2RlY2EgcHJvamVjdCkifSx7Ii4uL3V0aWxzL2NvbW1vbiI6MywiLi9hZGxlcjMyIjo1LCIuL2NyYzMyIjo3LCIuL2luZmZhc3QiOjEwLCIuL2luZnRyZWVzIjoxMn1dLDEyOltmdW5jdGlvbih0LGUsYSl7InVzZSBzdHJpY3QiO3ZhciBEPXQoIi4uL3V0aWxzL2NvbW1vbiIpLEk9WzMsNCw1LDYsNyw4LDksMTAsMTEsMTMsMTUsMTcsMTksMjMsMjcsMzEsMzUsNDMsNTEsNTksNjcsODMsOTksMTE1LDEzMSwxNjMsMTk1LDIyNywyNTgsMCwwXSxVPVsxNiwxNiwxNiwxNiwxNiwxNiwxNiwxNiwxNywxNywxNywxNywxOCwxOCwxOCwxOCwxOSwxOSwxOSwxOSwyMCwyMCwyMCwyMCwyMSwyMSwyMSwyMSwxNiw3Miw3OF0sVD1bMSwyLDMsNCw1LDcsOSwxMywxNywyNSwzMyw0OSw2NSw5NywxMjksMTkzLDI1NywzODUsNTEzLDc2OSwxMDI1LDE1MzcsMjA0OSwzMDczLDQwOTcsNjE0NSw4MTkzLDEyMjg5LDE2Mzg1LDI0NTc3LDAsMF0sRj1bMTYsMTYsMTYsMTYsMTcsMTcsMTgsMTgsMTksMTksMjAsMjAsMjEsMjEsMjIsMjIsMjMsMjMsMjQsMjQsMjUsMjUsMjYsMjYsMjcsMjcsMjgsMjgsMjksMjksNjQsNjRdO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUsYSxpLG4scixzLG8pe3ZhciBsLGgsZCxmLF8sdSxjLGIsZyxtPW8uYml0cyx3PTAscD0wLHY9MCxrPTAseT0wLHg9MCx6PTAsQj0wLFM9MCxFPTAsQT1udWxsLFo9MCxSPW5ldyBELkJ1ZjE2KDE2KSxDPW5ldyBELkJ1ZjE2KDE2KSxOPW51bGwsTz0wO2Zvcih3PTA7dzw9MTU7dysrKVJbd109MDtmb3IocD0wO3A8aTtwKyspUltlW2ErcF1dKys7Zm9yKHk9bSxrPTE1OzE8PWsmJjA9PT1SW2tdO2stLSk7aWYoazx5JiYoeT1rKSwwPT09aylyZXR1cm4gbltyKytdPTIwOTcxNTIwLG5bcisrXT0yMDk3MTUyMCxvLmJpdHM9MSwwO2Zvcih2PTE7djxrJiYwPT09Ult2XTt2KyspO2Zvcih5PHYmJih5PXYpLHc9Qj0xO3c8PTE1O3crKylpZihCPDw9MSwoQi09Ult3XSk8MClyZXR1cm4tMTtpZigwPEImJigwPT09dHx8MSE9PWspKXJldHVybi0xO2ZvcihDWzFdPTAsdz0xO3c8MTU7dysrKUNbdysxXT1DW3ddK1Jbd107Zm9yKHA9MDtwPGk7cCsrKTAhPT1lW2ErcF0mJihzW0NbZVthK3BdXSsrXT1wKTtpZigwPT09dD8oQT1OPXMsdT0xOSk6MT09PXQ/KEE9SSxaLT0yNTcsTj1VLE8tPTI1Nyx1PTI1Nik6KEE9VCxOPUYsdT0tMSksdz12LF89cix6PXA9RT0wLGQ9LTEsZj0oUz0xPDwoeD15KSktMSwxPT09dCYmODUyPFN8fDI9PT10JiY1OTI8UylyZXR1cm4gMTtmb3IoOzspe2ZvcihjPXcteixzW3BdPHU/KGI9MCxnPXNbcF0pOnNbcF0+dT8oYj1OW08rc1twXV0sZz1BW1orc1twXV0pOihiPTk2LGc9MCksbD0xPDx3LXosdj1oPTE8PHg7bltfKyhFPj56KSsoaC09bCldPWM8PDI0fGI8PDE2fGd8MCwwIT09aDspO2ZvcihsPTE8PHctMTtFJmw7KWw+Pj0xO2lmKDAhPT1sPyhFJj1sLTEsRSs9bCk6RT0wLHArKywwPT0tLVJbd10pe2lmKHc9PT1rKWJyZWFrO3c9ZVthK3NbcF1dfWlmKHk8dyYmKEUmZikhPT1kKXtmb3IoMD09PXomJih6PXkpLF8rPXYsQj0xPDwoeD13LXopO3grejxrJiYhKChCLT1SW3grel0pPD0wKTspeCsrLEI8PD0xO2lmKFMrPTE8PHgsMT09PXQmJjg1MjxTfHwyPT09dCYmNTkyPFMpcmV0dXJuIDE7bltkPUUmZl09eTw8MjR8eDw8MTZ8Xy1yfDB9fXJldHVybiAwIT09RSYmKG5bXytFXT13LXo8PDI0fDY0PDwxNnwwKSxvLmJpdHM9eSwwfX0seyIuLi91dGlscy9jb21tb24iOjN9XSwxMzpbZnVuY3Rpb24odCxlLGEpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifX0se31dLDE0OltmdW5jdGlvbih0LGUsYSl7InVzZSBzdHJpY3QiO3ZhciBsPXQoIi4uL3V0aWxzL2NvbW1vbiIpLG89MCxoPTE7ZnVuY3Rpb24gaSh0KXtmb3IodmFyIGU9dC5sZW5ndGg7MDw9LS1lOyl0W2VdPTB9dmFyIGQ9MCxzPTI5LGY9MjU2LF89ZisxK3MsdT0zMCxjPTE5LGc9MipfKzEsbT0xNSxuPTE2LGI9Nyx3PTI1NixwPTE2LHY9MTcsaz0xOCx5PVswLDAsMCwwLDAsMCwwLDAsMSwxLDEsMSwyLDIsMiwyLDMsMywzLDMsNCw0LDQsNCw1LDUsNSw1LDBdLHg9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLHo9WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwzLDddLEI9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdLFM9bmV3IEFycmF5KDIqKF8rMikpO2koUyk7dmFyIEU9bmV3IEFycmF5KDIqdSk7aShFKTt2YXIgQT1uZXcgQXJyYXkoNTEyKTtpKEEpO3ZhciBaPW5ldyBBcnJheSgyNTYpO2koWik7dmFyIFI9bmV3IEFycmF5KHMpO2koUik7dmFyIEMsTixPLEQ9bmV3IEFycmF5KHUpO2Z1bmN0aW9uIEkodCxlLGEsaSxuKXt0aGlzLnN0YXRpY190cmVlPXQsdGhpcy5leHRyYV9iaXRzPWUsdGhpcy5leHRyYV9iYXNlPWEsdGhpcy5lbGVtcz1pLHRoaXMubWF4X2xlbmd0aD1uLHRoaXMuaGFzX3N0cmVlPXQmJnQubGVuZ3RofWZ1bmN0aW9uIHIodCxlKXt0aGlzLmR5bl90cmVlPXQsdGhpcy5tYXhfY29kZT0wLHRoaXMuc3RhdF9kZXNjPWV9ZnVuY3Rpb24gVSh0KXtyZXR1cm4gdDwyNTY/QVt0XTpBWzI1NisodD4+PjcpXX1mdW5jdGlvbiBUKHQsZSl7dC5wZW5kaW5nX2J1Zlt0LnBlbmRpbmcrK109MjU1JmUsdC5wZW5kaW5nX2J1Zlt0LnBlbmRpbmcrK109ZT4+PjgmMjU1fWZ1bmN0aW9uIEYodCxlLGEpe3QuYmlfdmFsaWQ+bi1hPyh0LmJpX2J1Znw9ZTw8dC5iaV92YWxpZCY2NTUzNSxUKHQsdC5iaV9idWYpLHQuYmlfYnVmPWU+Pm4tdC5iaV92YWxpZCx0LmJpX3ZhbGlkKz1hLW4pOih0LmJpX2J1Znw9ZTw8dC5iaV92YWxpZCY2NTUzNSx0LmJpX3ZhbGlkKz1hKX1mdW5jdGlvbiBMKHQsZSxhKXtGKHQsYVsyKmVdLGFbMiplKzFdKX1mdW5jdGlvbiBIKHQsZSl7Zm9yKHZhciBhPTA7YXw9MSZ0LHQ+Pj49MSxhPDw9MSwwPC0tZTspO3JldHVybiBhPj4+MX1mdW5jdGlvbiBqKHQsZSxhKXt2YXIgaSxuLHI9bmV3IEFycmF5KG0rMSkscz0wO2ZvcihpPTE7aTw9bTtpKyspcltpXT1zPXMrYVtpLTFdPDwxO2ZvcihuPTA7bjw9ZTtuKyspe3ZhciBvPXRbMipuKzFdOzAhPT1vJiYodFsyKm5dPUgocltvXSsrLG8pKX19ZnVuY3Rpb24gSyh0KXt2YXIgZTtmb3IoZT0wO2U8XztlKyspdC5keW5fbHRyZWVbMiplXT0wO2ZvcihlPTA7ZTx1O2UrKyl0LmR5bl9kdHJlZVsyKmVdPTA7Zm9yKGU9MDtlPGM7ZSsrKXQuYmxfdHJlZVsyKmVdPTA7dC5keW5fbHRyZWVbMip3XT0xLHQub3B0X2xlbj10LnN0YXRpY19sZW49MCx0Lmxhc3RfbGl0PXQubWF0Y2hlcz0wfWZ1bmN0aW9uIE0odCl7ODx0LmJpX3ZhbGlkP1QodCx0LmJpX2J1Zik6MDx0LmJpX3ZhbGlkJiYodC5wZW5kaW5nX2J1Zlt0LnBlbmRpbmcrK109dC5iaV9idWYpLHQuYmlfYnVmPTAsdC5iaV92YWxpZD0wfWZ1bmN0aW9uIFAodCxlLGEsaSl7dmFyIG49MiplLHI9MiphO3JldHVybiB0W25dPHRbcl18fHRbbl09PT10W3JdJiZpW2VdPD1pW2FdfWZ1bmN0aW9uIFkodCxlLGEpe2Zvcih2YXIgaT10LmhlYXBbYV0sbj1hPDwxO248PXQuaGVhcF9sZW4mJihuPHQuaGVhcF9sZW4mJlAoZSx0LmhlYXBbbisxXSx0LmhlYXBbbl0sdC5kZXB0aCkmJm4rKywhUChlLGksdC5oZWFwW25dLHQuZGVwdGgpKTspdC5oZWFwW2FdPXQuaGVhcFtuXSxhPW4sbjw8PTE7dC5oZWFwW2FdPWl9ZnVuY3Rpb24gcSh0LGUsYSl7dmFyIGksbixyLHMsbz0wO2lmKDAhPT10Lmxhc3RfbGl0KWZvcig7aT10LnBlbmRpbmdfYnVmW3QuZF9idWYrMipvXTw8OHx0LnBlbmRpbmdfYnVmW3QuZF9idWYrMipvKzFdLG49dC5wZW5kaW5nX2J1Zlt0LmxfYnVmK29dLG8rKywwPT09aT9MKHQsbixlKTooTCh0LChyPVpbbl0pK2YrMSxlKSwwIT09KHM9eVtyXSkmJkYodCxuLT1SW3JdLHMpLEwodCxyPVUoLS1pKSxhKSwwIT09KHM9eFtyXSkmJkYodCxpLT1EW3JdLHMpKSxvPHQubGFzdF9saXQ7KTtMKHQsdyxlKX1mdW5jdGlvbiBHKHQsZSl7dmFyIGEsaSxuLHI9ZS5keW5fdHJlZSxzPWUuc3RhdF9kZXNjLnN0YXRpY190cmVlLG89ZS5zdGF0X2Rlc2MuaGFzX3N0cmVlLGw9ZS5zdGF0X2Rlc2MuZWxlbXMsaD0tMTtmb3IodC5oZWFwX2xlbj0wLHQuaGVhcF9tYXg9ZyxhPTA7YTxsO2ErKykwIT09clsyKmFdPyh0LmhlYXBbKyt0LmhlYXBfbGVuXT1oPWEsdC5kZXB0aFthXT0wKTpyWzIqYSsxXT0wO2Zvcig7dC5oZWFwX2xlbjwyOylyWzIqKG49dC5oZWFwWysrdC5oZWFwX2xlbl09aDwyPysraDowKV09MSx0LmRlcHRoW25dPTAsdC5vcHRfbGVuLS0sbyYmKHQuc3RhdGljX2xlbi09c1syKm4rMV0pO2ZvcihlLm1heF9jb2RlPWgsYT10LmhlYXBfbGVuPj4xOzE8PWE7YS0tKVkodCxyLGEpO2ZvcihuPWw7YT10LmhlYXBbMV0sdC5oZWFwWzFdPXQuaGVhcFt0LmhlYXBfbGVuLS1dLFkodCxyLDEpLGk9dC5oZWFwWzFdLHQuaGVhcFstLXQuaGVhcF9tYXhdPWEsdC5oZWFwWy0tdC5oZWFwX21heF09aSxyWzIqbl09clsyKmFdK3JbMippXSx0LmRlcHRoW25dPSh0LmRlcHRoW2FdPj10LmRlcHRoW2ldP3QuZGVwdGhbYV06dC5kZXB0aFtpXSkrMSxyWzIqYSsxXT1yWzIqaSsxXT1uLHQuaGVhcFsxXT1uKyssWSh0LHIsMSksMjw9dC5oZWFwX2xlbjspO3QuaGVhcFstLXQuaGVhcF9tYXhdPXQuaGVhcFsxXSxmdW5jdGlvbih0LGUpe3ZhciBhLGksbixyLHMsbyxsPWUuZHluX3RyZWUsaD1lLm1heF9jb2RlLGQ9ZS5zdGF0X2Rlc2Muc3RhdGljX3RyZWUsZj1lLnN0YXRfZGVzYy5oYXNfc3RyZWUsXz1lLnN0YXRfZGVzYy5leHRyYV9iaXRzLHU9ZS5zdGF0X2Rlc2MuZXh0cmFfYmFzZSxjPWUuc3RhdF9kZXNjLm1heF9sZW5ndGgsYj0wO2ZvcihyPTA7cjw9bTtyKyspdC5ibF9jb3VudFtyXT0wO2ZvcihsWzIqdC5oZWFwW3QuaGVhcF9tYXhdKzFdPTAsYT10LmhlYXBfbWF4KzE7YTxnO2ErKyljPChyPWxbMipsWzIqKGk9dC5oZWFwW2FdKSsxXSsxXSsxKSYmKHI9YyxiKyspLGxbMippKzFdPXIsaDxpfHwodC5ibF9jb3VudFtyXSsrLHM9MCx1PD1pJiYocz1fW2ktdV0pLG89bFsyKmldLHQub3B0X2xlbis9byoocitzKSxmJiYodC5zdGF0aWNfbGVuKz1vKihkWzIqaSsxXStzKSkpO2lmKDAhPT1iKXtkb3tmb3Iocj1jLTE7MD09PXQuYmxfY291bnRbcl07KXItLTt0LmJsX2NvdW50W3JdLS0sdC5ibF9jb3VudFtyKzFdKz0yLHQuYmxfY291bnRbY10tLSxiLT0yfXdoaWxlKDA8Yik7Zm9yKHI9YzswIT09cjtyLS0pZm9yKGk9dC5ibF9jb3VudFtyXTswIT09aTspaDwobj10LmhlYXBbLS1hXSl8fChsWzIqbisxXSE9PXImJih0Lm9wdF9sZW4rPShyLWxbMipuKzFdKSpsWzIqbl0sbFsyKm4rMV09ciksaS0tKX19KHQsZSksaihyLGgsdC5ibF9jb3VudCl9ZnVuY3Rpb24gWCh0LGUsYSl7dmFyIGksbixyPS0xLHM9ZVsxXSxvPTAsbD03LGg9NDtmb3IoMD09PXMmJihsPTEzOCxoPTMpLGVbMiooYSsxKSsxXT02NTUzNSxpPTA7aTw9YTtpKyspbj1zLHM9ZVsyKihpKzEpKzFdLCsrbzxsJiZuPT09c3x8KG88aD90LmJsX3RyZWVbMipuXSs9bzowIT09bj8obiE9PXImJnQuYmxfdHJlZVsyKm5dKyssdC5ibF90cmVlWzIqcF0rKyk6bzw9MTA/dC5ibF90cmVlWzIqdl0rKzp0LmJsX3RyZWVbMiprXSsrLHI9biwobz0wKT09PXM/KGw9MTM4LGg9Myk6bj09PXM/KGw9NixoPTMpOihsPTcsaD00KSl9ZnVuY3Rpb24gVyh0LGUsYSl7dmFyIGksbixyPS0xLHM9ZVsxXSxvPTAsbD03LGg9NDtmb3IoMD09PXMmJihsPTEzOCxoPTMpLGk9MDtpPD1hO2krKylpZihuPXMscz1lWzIqKGkrMSkrMV0sISgrK288bCYmbj09PXMpKXtpZihvPGgpZm9yKDtMKHQsbix0LmJsX3RyZWUpLDAhPS0tbzspO2Vsc2UgMCE9PW4/KG4hPT1yJiYoTCh0LG4sdC5ibF90cmVlKSxvLS0pLEwodCxwLHQuYmxfdHJlZSksRih0LG8tMywyKSk6bzw9MTA/KEwodCx2LHQuYmxfdHJlZSksRih0LG8tMywzKSk6KEwodCxrLHQuYmxfdHJlZSksRih0LG8tMTEsNykpO3I9biwobz0wKT09PXM/KGw9MTM4LGg9Myk6bj09PXM/KGw9NixoPTMpOihsPTcsaD00KX19aShEKTt2YXIgSj0hMTtmdW5jdGlvbiBRKHQsZSxhLGkpe3ZhciBuLHIscyxvO0YodCwoZDw8MSkrKGk/MTowKSwzKSxyPWUscz1hLG89ITAsTShuPXQpLG8mJihUKG4scyksVChuLH5zKSksbC5hcnJheVNldChuLnBlbmRpbmdfYnVmLG4ud2luZG93LHIscyxuLnBlbmRpbmcpLG4ucGVuZGluZys9c31hLl90cl9pbml0PWZ1bmN0aW9uKHQpe0p8fChmdW5jdGlvbigpe3ZhciB0LGUsYSxpLG4scj1uZXcgQXJyYXkobSsxKTtmb3IoaT1hPTA7aTxzLTE7aSsrKWZvcihSW2ldPWEsdD0wO3Q8MTw8eVtpXTt0KyspWlthKytdPWk7Zm9yKFpbYS0xXT1pLGk9bj0wO2k8MTY7aSsrKWZvcihEW2ldPW4sdD0wO3Q8MTw8eFtpXTt0KyspQVtuKytdPWk7Zm9yKG4+Pj03O2k8dTtpKyspZm9yKERbaV09bjw8Nyx0PTA7dDwxPDx4W2ldLTc7dCsrKUFbMjU2K24rK109aTtmb3IoZT0wO2U8PW07ZSsrKXJbZV09MDtmb3IodD0wO3Q8PTE0MzspU1syKnQrMV09OCx0Kysscls4XSsrO2Zvcig7dDw9MjU1OylTWzIqdCsxXT05LHQrKyxyWzldKys7Zm9yKDt0PD0yNzk7KVNbMip0KzFdPTcsdCsrLHJbN10rKztmb3IoO3Q8PTI4NzspU1syKnQrMV09OCx0Kysscls4XSsrO2ZvcihqKFMsXysxLHIpLHQ9MDt0PHU7dCsrKUVbMip0KzFdPTUsRVsyKnRdPUgodCw1KTtDPW5ldyBJKFMseSxmKzEsXyxtKSxOPW5ldyBJKEUseCwwLHUsbSksTz1uZXcgSShuZXcgQXJyYXkoMCkseiwwLGMsYil9KCksSj0hMCksdC5sX2Rlc2M9bmV3IHIodC5keW5fbHRyZWUsQyksdC5kX2Rlc2M9bmV3IHIodC5keW5fZHRyZWUsTiksdC5ibF9kZXNjPW5ldyByKHQuYmxfdHJlZSxPKSx0LmJpX2J1Zj0wLHQuYmlfdmFsaWQ9MCxLKHQpfSxhLl90cl9zdG9yZWRfYmxvY2s9USxhLl90cl9mbHVzaF9ibG9jaz1mdW5jdGlvbih0LGUsYSxpKXt2YXIgbixyLHM9MDswPHQubGV2ZWw/KDI9PT10LnN0cm0uZGF0YV90eXBlJiYodC5zdHJtLmRhdGFfdHlwZT1mdW5jdGlvbih0KXt2YXIgZSxhPTQwOTM2MjQ0NDc7Zm9yKGU9MDtlPD0zMTtlKyssYT4+Pj0xKWlmKDEmYSYmMCE9PXQuZHluX2x0cmVlWzIqZV0pcmV0dXJuIG87aWYoMCE9PXQuZHluX2x0cmVlWzE4XXx8MCE9PXQuZHluX2x0cmVlWzIwXXx8MCE9PXQuZHluX2x0cmVlWzI2XSlyZXR1cm4gaDtmb3IoZT0zMjtlPGY7ZSsrKWlmKDAhPT10LmR5bl9sdHJlZVsyKmVdKXJldHVybiBoO3JldHVybiBvfSh0KSksRyh0LHQubF9kZXNjKSxHKHQsdC5kX2Rlc2MpLHM9ZnVuY3Rpb24odCl7dmFyIGU7Zm9yKFgodCx0LmR5bl9sdHJlZSx0LmxfZGVzYy5tYXhfY29kZSksWCh0LHQuZHluX2R0cmVlLHQuZF9kZXNjLm1heF9jb2RlKSxHKHQsdC5ibF9kZXNjKSxlPWMtMTszPD1lJiYwPT09dC5ibF90cmVlWzIqQltlXSsxXTtlLS0pO3JldHVybiB0Lm9wdF9sZW4rPTMqKGUrMSkrNSs1KzQsZX0odCksbj10Lm9wdF9sZW4rMys3Pj4+Mywocj10LnN0YXRpY19sZW4rMys3Pj4+Myk8PW4mJihuPXIpKTpuPXI9YSs1LGErNDw9biYmLTEhPT1lP1EodCxlLGEsaSk6ND09PXQuc3RyYXRlZ3l8fHI9PT1uPyhGKHQsMisoaT8xOjApLDMpLHEodCxTLEUpKTooRih0LDQrKGk/MTowKSwzKSxmdW5jdGlvbih0LGUsYSxpKXt2YXIgbjtmb3IoRih0LGUtMjU3LDUpLEYodCxhLTEsNSksRih0LGktNCw0KSxuPTA7bjxpO24rKylGKHQsdC5ibF90cmVlWzIqQltuXSsxXSwzKTtXKHQsdC5keW5fbHRyZWUsZS0xKSxXKHQsdC5keW5fZHRyZWUsYS0xKX0odCx0LmxfZGVzYy5tYXhfY29kZSsxLHQuZF9kZXNjLm1heF9jb2RlKzEscysxKSxxKHQsdC5keW5fbHRyZWUsdC5keW5fZHRyZWUpKSxLKHQpLGkmJk0odCl9LGEuX3RyX3RhbGx5PWZ1bmN0aW9uKHQsZSxhKXtyZXR1cm4gdC5wZW5kaW5nX2J1Zlt0LmRfYnVmKzIqdC5sYXN0X2xpdF09ZT4+PjgmMjU1LHQucGVuZGluZ19idWZbdC5kX2J1ZisyKnQubGFzdF9saXQrMV09MjU1JmUsdC5wZW5kaW5nX2J1Zlt0LmxfYnVmK3QubGFzdF9saXRdPTI1NSZhLHQubGFzdF9saXQrKywwPT09ZT90LmR5bl9sdHJlZVsyKmFdKys6KHQubWF0Y2hlcysrLGUtLSx0LmR5bl9sdHJlZVsyKihaW2FdK2YrMSldKyssdC5keW5fZHRyZWVbMipVKGUpXSsrKSx0Lmxhc3RfbGl0PT09dC5saXRfYnVmc2l6ZS0xfSxhLl90cl9hbGlnbj1mdW5jdGlvbih0KXt2YXIgZTtGKHQsMiwzKSxMKHQsdyxTKSwxNj09PShlPXQpLmJpX3ZhbGlkPyhUKGUsZS5iaV9idWYpLGUuYmlfYnVmPTAsZS5iaV92YWxpZD0wKTo4PD1lLmJpX3ZhbGlkJiYoZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK109MjU1JmUuYmlfYnVmLGUuYmlfYnVmPj49OCxlLmJpX3ZhbGlkLT04KX19LHsiLi4vdXRpbHMvY29tbW9uIjozfV0sMTU6W2Z1bmN0aW9uKHQsZSxhKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dGhpcy5pbnB1dD1udWxsLHRoaXMubmV4dF9pbj0wLHRoaXMuYXZhaWxfaW49MCx0aGlzLnRvdGFsX2luPTAsdGhpcy5vdXRwdXQ9bnVsbCx0aGlzLm5leHRfb3V0PTAsdGhpcy5hdmFpbF9vdXQ9MCx0aGlzLnRvdGFsX291dD0wLHRoaXMubXNnPSIiLHRoaXMuc3RhdGU9bnVsbCx0aGlzLmRhdGFfdHlwZT0yLHRoaXMuYWRsZXI9MH19LHt9XSwiLyI6W2Z1bmN0aW9uKHQsZSxhKXsidXNlIHN0cmljdCI7dmFyIGk9e307KDAsdCgiLi9saWIvdXRpbHMvY29tbW9uIikuYXNzaWduKShpLHQoIi4vbGliL2RlZmxhdGUiKSx0KCIuL2xpYi9pbmZsYXRlIiksdCgiLi9saWIvemxpYi9jb25zdGFudHMiKSksZS5leHBvcnRzPWl9LHsiLi9saWIvZGVmbGF0ZSI6MSwiLi9saWIvaW5mbGF0ZSI6MiwiLi9saWIvdXRpbHMvY29tbW9uIjozLCIuL2xpYi96bGliL2NvbnN0YW50cyI6Nn1dfSx7fSxbXSkoIi8iKX0pOw==", +{"status":false} +], + + +[ +"pako_1.0.10", +"ZnVuY3Rpb24g0YPRgdGC0LDQvdC+0LLQuNGC0YxQYWtvKCkKewogICAgdmFyIHBha29KUyA9INC80L7QtNGD0LvRjCgicGFrby5taW4uanNfMS4wLjEwIilbMV07CiAgICBldmFsKNC80YPRgNC+0LwuYXRvYihwYWtvSlMpKTsKfQoK0YPRgdGC0LDQvdC+0LLQuNGC0YxQYWtvKCk7", {"status":true} ], @@ -74,36 +88,36 @@ var murom = муром; [ -"параметры-пуска", -"0LzRg9GA0L7QvC7RgNC10LbQuNC80J/RgNC+0YHQvNC+0YLRgNCwID0gbmV3INCj0LLQtdC00L7QvNC40YLQtdC70YwoKTsK0LzRg9GA0L7QvC7RgNC10LbQuNC80KDQtdC00LDQutGC0L7RgNCwID0gbmV3INCj0LLQtdC00L7QvNC40YLQtdC70YwoKTsK0LzRg9GA0L7QvC7QutC+0LQgPSBudWxsOwoKZnVuY3Rpb24g0YDQsNC30L7QsdGA0LDRgtGM0J/QsNGA0LDQvNC10YLRgNGL0J/Rg9GB0LrQsCgpCnsKICAgIHZhciDQv9Cw0YDQsNC80LXRgtGA0YsgPSB7fTsKICAgIE9iamVjdC5hc3NpZ24o0L/QsNGA0LDQvNC10YLRgNGLLCDQvNGD0YDQvtC8LtCw0YDQs9GD0LzQtdC90YLRiyk7CiAgICAvLyDQoNC10LbQuNC8INCy0LXRgNGB0LjQuSAxLjAuMCDQuCAxLjEuMC4KICAgIGlmICgibW9kZSIgaW4g0L/QsNGA0LDQvNC10YLRgNGLKQogICAgewogICAgICAgIC8vINCSINCy0LXRgNGB0LjRj9GFIDEuMCDQuCAxLjEg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQu9GB0Y8g0LvQuNGI0Ywg0L/QsNGA0LDQvNC10YLRgCAibW9kZT1wcmV2aWV3IgogICAgICAgIC8vINCi0LXQv9C10YDRjCDRgNC10LbQuNC8INC/0YDQvtGB0LzQvtGC0YDQsCDQv9GA0LXQtNC/0L7Qu9Cw0LPQsNC10YLRgdGPINCx0LXQtyDQv9Cw0YDQsNC80LXRgtGA0L7QsiDQv9C+LdGD0LzQvtC70YfQsNC90LjRjgogICAgICAgIGRlbGV0ZSDQv9Cw0YDQsNC80LXRgtGA0YtbIm1vZGUiXTsKICAgIH0KICAgIC8vINCg0LXQttC40LwuCiAgICBpZiAoKCLRgNC10LTQsNC60YLQvtGAIiBpbiDQv9Cw0YDQsNC80LXRgtGA0YspIHx8ICgiZWRpdG9yIiBpbiDQv9Cw0YDQsNC80LXRgtGA0YspKQogICAgewogICAgICAgIGRlbGV0ZSDQv9Cw0YDQsNC80LXRgtGA0YtbItGA0LXQtNCw0LrRgtC+0YAiXTsKICAgICAgICBkZWxldGUg0L/QsNGA0LDQvNC10YLRgNGLWyJlZGl0b3IiXTsKICAgICAgICDQvNGD0YDQvtC8LtGA0LXQttC40LzQoNC10LTQsNC60YLQvtGA0LAu0YPQstC10LTQvtC80LjRgtGMKCk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAg0LzRg9GA0L7QvC7RgNC10LbQuNC80J/RgNC+0YHQvNC+0YLRgNCwLtGD0LLQtdC00L7QvNC40YLRjCgpOwogICAgfQogICAgCiAgICAvLyDQmtC+0LQg0LLQtdGA0YHQuNC5CiAgICAKfQoK0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0YvQmNC30LzQtdC90LjQu9C4LtC/0L7QtNC/0LjRgdCw0YLRjCjRgNCw0LfQvtCx0YDQsNGC0YzQn9Cw0YDQsNC80LXRgtGA0YvQn9GD0YHQutCwKTs=", +"муром.оповещения_1.0.0", +"LyoKICoKICog0J/QtdGA0LXQvdCw0L/RgNCw0LLQu9C10L3QuNC1INGD0LLQtdC00L7QvNC70LXQvdC40Lkg0LjQtyBDKysg0LIgSlMKICoKICovCtC80YPRgNC+0Lwu0LzQuNGA0JPQvtGC0L7QsiA9IG5ldyDQo9Cy0LXQtNC+0LzQuNGC0LXQu9GMKCk7CgpmdW5jdGlvbiBNaXIoKSB7IH0Kd2luZG93Lm1pciA9IG5ldyBNaXIoKTsKTWlyLnByb3RvdHlwZS5nb3RvdiA9IGZ1bmN0aW9uKCkKewogICAg0LzRg9GA0L7QvC7QvNC40YDQk9C+0YLQvtCyLtGD0LLQtdC00L7QvNC40YLRjCgpOwp9Ck1pci5wcm90b3R5cGUuaXpyZWsgPSBmdW5jdGlvbihrZXkpCnsKICAgIGlmIChrZXkgPT0gIm1vdXNlLnBvc2l0aW9uIikKICAgIHsKICAgICAgICBtdXJvbS5tb3VzZS5wb3NpdGlvbkNoYW5nZWQucmVwb3J0KCk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGtleSA9PSAibW91c2UucHJlc3NlZEJ1dHRvbnMiKQogICAgewogICAgICAgIG11cm9tLm1vdXNlLnByZXNzZWRCdXR0b25zQ2hhbmdlZC5yZXBvcnQoKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoa2V5ID09ICJ3aW5kb3cuc2l6ZSIpCiAgICB7CiAgICAgICAgbXVyb20ud2luZG93LnNpemVDaGFuZ2VkLnJlcG9ydCgpOwogICAgICAgIHJldHVybjsKICAgIH0KfQ==", +{} +], + + +[ +"режим", +"0LzRg9GA0L7QvC7RgNC10LbQuNC80J/RgNC+0YHQvNC+0YLRgNCwID0gbmV3INCj0LLQtdC00L7QvNC40YLQtdC70YwoKTsK0LzRg9GA0L7QvC7RgNC10LbQuNC80KDQtdC00LDQutGC0L7RgNCwID0gbmV3INCj0LLQtdC00L7QvNC40YLQtdC70YwoKTsKCmZ1bmN0aW9uINGA0LDQt9C+0LHRgNCw0YLRjNCf0LDRgNCw0LzQtdGC0YDRi9Cf0YPRgdC60LAoKQp7CiAgICAvLyDQoNC10LbQuNC8INC00LvRjyDQstC10YDRgdC40LkgMS4wLngg0LggMS4xLnguCiAgICBpZiAoIm1vZGUiIGluINC80YPRgNC+0Lwu0LDRgNCz0YPQvNC10L3RgtGLKQogICAgewogICAgICAgIHZhciDQt9C90LDRh9C10L3QuNC1ID0g0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0YtbIm1vZGUiXTsKICAgICAgICBpZiAo0LfQvdCw0YfQtdC90LjQtSA9PSAicHJldmlldyIpCiAgICAgICAgewogICAgICAgICAgICDQvNGD0YDQvtC8LtGA0LXQttC40LzQn9GA0L7RgdC80L7RgtGA0LAu0YPQstC10LTQvtC80LjRgtGMKCk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgINC80YPRgNC+0Lwu0YDQtdC20LjQvNCg0LXQtNCw0LrRgtC+0YDQsC7Rg9Cy0LXQtNC+0LzQuNGC0YwoKTsKICAgICAgICB9CiAgICB9CiAgICAvLyDQoNC10LbQuNC8INC/0YDQvtGB0LzQvtGC0YDQsCDQtNC70Y8g0LLQtdGA0YHQuNC5IDEuMi54LgogICAgZWxzZSBpZiAoCiAgICAgICAgKCLQv9GA0L7RgdC80L7RgtGAIiBpbiDQvNGD0YDQvtC8LtCw0YDQs9GD0LzQtdC90YLRiykgfHwKICAgICAgICAoInByZXZpZXciIGluINC80YPRgNC+0Lwu0LDRgNCz0YPQvNC10L3RgtGLKQogICAgKSB7CiAgICAgICAg0LzRg9GA0L7QvC7RgNC10LbQuNC80J/RgNC+0YHQvNC+0YLRgNCwLtGD0LLQtdC00L7QvNC40YLRjCgpOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgINC80YPRgNC+0Lwu0YDQtdC20LjQvNCg0LXQtNCw0LrRgtC+0YDQsC7Rg9Cy0LXQtNC+0LzQuNGC0YwoKTsKICAgIH0KfQoK0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0YvQmNC30LzQtdC90LjQu9C4LtC/0L7QtNC/0LjRgdCw0YLRjCjRgNCw0LfQvtCx0YDQsNGC0YzQn9Cw0YDQsNC80LXRgtGA0YvQn9GD0YHQutCwKTs=", {"status":true} ], [ "режим-редактора", -"ZnVuY3Rpb24g0LfQsNCz0YDRg9C30LjRgtGM0J7RgtC+0LHRgNCw0LbQtdC90LjQtSgpCnsKICAgIHZhciDQstGB0YLRgNC+0LnQutCwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoItCy0YHRgtGA0L7QudC60LAiKTsKICAgIC8qCiAgICB2YXIgdXJsID0gdGhpcy5maWxlTmFtZSArICI/bW9kZT1wcmV2aWV3IjsKICAgIC8vIFBhc3Mgc2NyaXB0IHRvIGlmcmFtZSBpZiBpdCdzIHByZXNlbnQuCiAgICBpZiAoemlwQmFzZTY0U2NyaXB0KQogICAgewogICAgICAgIHVybCArPSAiJnppcGJhc2U2ND0iICsgemlwQmFzZTY0U2NyaXB0OwogICAgfQogICAgKi8KICAgINCy0YHRgtGA0L7QudC60LAuc3JjID0g0LjQvNGP0KTQsNC50LvQsCgpOwp9CgpmdW5jdGlvbiDRgdC+0LfQtNCw0YLRjNCt0LrRgNCw0L3QoNC10LTQsNC60YLQvtGA0LAoKQp7CiAgICB2YXIg0Y3QutGA0LDQvSA9INGB0L7Qt9C00LDRgtGM0K3QutGA0LDQvSgi0YDQtdC00LDQutGC0L7RgCIpOwogICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCjRjdC60YDQsNC9KTsKICAgIHZhciDQstC40LQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOwogICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCjQstC40LQpOwogICAgCiAgICAvLyDQodGC0YDRg9C60YLRg9GA0LAuCgogICAg0Y3QutGA0LDQvS5pbm5lckhUTUwgPQpgCjxkaXYgaWQ9ItCz0LvQsNCy0L3Ri9C5LdC70LXQstCw0Y8t0L7QsdC70LDRgdGC0YwiPgogICAgPGRpdiBpZD0i0LPQu9Cw0LLQvdGL0Lkt0YDQtdC00LDQutGC0L7RgCI+CiAgICA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGlkPSLQs9C70LDQstC90YvQuS3RhtC10L3RgtGA0LDQu9GM0L3QsNGPLdC+0LHQu9Cw0YHRgtGMIj4KICAgIDxhIGNsYXNzPSJ1ay1pY29uLWJ1dHRvbiIgdWstaWNvbj0icGxheSI+PC9hPgo8L2Rpdj4KCjxkaXYgaWQ9ItCz0LvQsNCy0L3Ri9C5LdC/0YDQsNCy0LDRjy3QvtCx0LvQsNGB0YLRjCI+CiAgICA8aWZyYW1lIGlkPSLQstGB0YLRgNC+0LnQutCwIj4KICAgICAgICA8cD7QntCo0JjQkdCa0JAg0JLQsNGIINCy0LXQsS3QsdGA0LDRg9C30LXRgCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgiBpZnJhbWU8L3A+CiAgICAgICAgPHA+RVJST1IgWW91ciB3ZWIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IGlmcmFtZXM8L3A+CiAgICA8L2lmcmFtZT4KPC9kaXY+CmA7CgogICAgLy8g0JLQuNC0LgogICAgCiAgICDQstC40LQuaW5uZXJIVE1MID0KYAoj0LPQu9Cw0LLQvdGL0Lkt0LvQtdCy0LDRjy3QvtCx0LvQsNGB0YLRjAp7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IDA7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IGNhbGMoNTAlIC0gMmVtKTsKfQoj0LPQu9Cw0LLQvdGL0Lkt0YDQtdC00LDQutGC0L7RgAp7CiAgICBoZWlnaHQ6IDEwMCU7Cn0KCiPQs9C70LDQstC90YvQuS3RhtC10L3RgtGA0LDQu9GM0L3QsNGPLdC+0LHQu9Cw0YHRgtGMCnsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIHRvcDogMDsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDUwJTsKICAgIHdpZHRoOiA0ZW07CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJlbSk7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogICAgcGFkZGluZy10b3A6IDFlbTsKfQoKI9Cz0LvQsNCy0L3Ri9C5LdC/0YDQsNCy0LDRjy3QvtCx0LvQsNGB0YLRjAp7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IDA7CiAgICBib3R0b206IDA7CiAgICByaWdodDogMDsKICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJlbSk7Cn0KI9Cy0YHRgtGA0L7QudC60LAKewogICAgYm9yZGVyOiAwIG5vbmU7CiAgICB3aWR0aDogY2FsYyg1MCUgLSAyZW0pOwogICAgaGVpZ2h0OiAxMDAlOwogICAgcG9zaXRpb246IGZpeGVkOwp9CmA7CgogICAgLy8g0KDQtdC00LDQutGC0L7RgC4KICAgIAogICAg0LzRg9GA0L7QvC7Qt9Cw0LPRgNGD0LfQuNGC0YxBQ0UoKTsKICAgINC80YPRgNC+0Lwu0LfQsNCz0YDRg9C30LjRgtGM0KDQtdC20LjQvEFDRUpTKCk7CiAgICDQvNGD0YDQvtC8LtGA0LXQtNCw0LrRgtC+0YAgPSB3aW5kb3cuYWNlLmVkaXQoItCz0LvQsNCy0L3Ri9C5LdGA0LXQtNCw0LrRgtC+0YAiKTsKICAgINC80YPRgNC+0Lwu0YDQtdC00LDQutGC0L7RgC5zZXNzaW9uLnNldE1vZGUoImFjZS9tb2RlL2phdmFzY3JpcHQiKTsKICAgIAogICAgLy8g0J7RgtC+0LHRgNCw0LbQtdC90LjQtS4KICAgIAogICAg0LfQsNCz0YDRg9C30LjRgtGM0J7RgtC+0LHRgNCw0LbQtdC90LjQtSgpOwp9CgrQvNGD0YDQvtC8LtGA0LXQttC40LzQoNC10LTQsNC60YLQvtGA0LAu0L/QvtC00L/QuNGB0LDRgtGMKNGB0L7Qt9C00LDRgtGM0K3QutGA0LDQvdCg0LXQtNCw0LrRgtC+0YDQsCk7", +"ZnVuY3Rpb24g0LfQsNC/0YPRgdGC0LjRgtGM0JrQvtC0KCkKewogICAgdmFyINC60L7QtCA9INC80YPRgNC+0Lwu0YDQtdC00LDQutGC0L7RgC5zZXNzaW9uLmdldFZhbHVlKCk7CiAgICB2YXIg0LrQvtC0WjY0ID0g0LzRg9GA0L7QvC56YnRvYSjQutC+0LQpOwogICAgdmFyINC/0YPRgtGMID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lICsgIj96aXBiYXNlNjQ9IiArINC60L7QtFo2NDsKICAgIGhpc3RvcnkucHVzaFN0YXRlKG51bGwsICIiLCDQv9GD0YLRjCk7CgogICAgdmFyINCy0YHRgtGA0L7QudC60LAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi0LLRgdGC0YDQvtC50LrQsCIpOwogICAgdmFyINCw0LTRgNC10YEgPSDQuNC80Y/QpNCw0LnQu9CwKCkgKyAiP9C/0YDQvtGB0LzQvtGC0YAiOwogICAgaWYgKNC60L7QtFo2NCkKICAgIHsKICAgICAgICDQsNC00YDQtdGBICs9ICImemlwYmFzZTY0PSIgKyDQutC+0LRaNjQ7CiAgICB9CiAgICDQstGB0YLRgNC+0LnQutCwLnNyYyA9INCw0LTRgNC10YE7Cn0KCmZ1bmN0aW9uINC/0YDQvtGB0LzQvtGC0YDQtdGC0YzQmNCz0YDRgygpCnsKICAgIHZhciDQutC+0LQgPSDQvNGD0YDQvtC8LtGA0LXQtNCw0LrRgtC+0YAuc2Vzc2lvbi5nZXRWYWx1ZSgpOwogICAgdmFyINC60L7QtFo2NCA9INC80YPRgNC+0LwuemJ0b2Eo0LrQvtC0KTsKICAgIHZhciDQv9GD0YLRjCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArICI/0L/RgNC+0YHQvNC+0YLRgCZ6aXBiYXNlNjQ9IiArINC60L7QtFo2NDsKICAgIHdpbmRvdy5vcGVuKNC/0YPRgtGMLCAnX2JsYW5rJyk7Cn0KCmZ1bmN0aW9uINGB0L7Qt9C00LDRgtGM0K3QutGA0LDQvdCg0LXQtNCw0LrRgtC+0YDQsCgpCnsKICAgIHZhciDRjdC60YDQsNC9ID0g0YHQvtC30LTQsNGC0YzQrdC60YDQsNC9KCLRgNC10LTQsNC60YLQvtGAIik7CiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKNGN0LrRgNCw0L0pOwogICAgdmFyINCy0LjQtCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7CiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKNCy0LjQtCk7CiAgICAKICAgIC8vINCh0YLRgNGD0LrRgtGD0YDQsC4KCiAgICDRjdC60YDQsNC9LmlubmVySFRNTCA9CmAKPGRpdiBpZD0i0LPQu9Cw0LLQvdGL0Lkt0LvQtdCy0LDRjy3QvtCx0LvQsNGB0YLRjCI+CiAgICA8ZGl2IGlkPSLQs9C70LDQstC90YvQuS3RgNC10LTQsNC60YLQvtGAIj4KICAgIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgaWQ9ItCz0LvQsNCy0L3Ri9C5LdGG0LXQvdGC0YDQsNC70YzQvdCw0Y8t0L7QsdC70LDRgdGC0YwiPgogICAgPGEgaWQ9ItC40LPRgNCw0YLRjCIgY2xhc3M9InVrLWljb24tYnV0dG9uIHVrLW1hcmdpbi1ib3R0b20iIHVrLWljb249InBsYXkiIHVrLXRvb2x0aXA9ItCf0YPRgdC6IHwgUnVuIj48L2E+CiAgICA8YSBpZD0i0L/RgNC+0YHQvNC+0YLRgCIgY2xhc3M9InVrLWljb24tYnV0dG9uIHVrLW1hcmdpbi1ib3R0b20iIHVrLWljb249ImRlc2t0b3AiIHVrLXRvb2x0aXA9ItCf0YDQvtGB0LzQvtGC0YAgfCBQcmV2aWV3Ij48L2E+CjwvZGl2PgoKPGRpdiBpZD0i0LPQu9Cw0LLQvdGL0Lkt0L/RgNCw0LLQsNGPLdC+0LHQu9Cw0YHRgtGMIj4KICAgIDxpZnJhbWUgaWQ9ItCy0YHRgtGA0L7QudC60LAiPgogICAgICAgIDxwPtCe0KjQmNCR0JrQkCDQktCw0Ygg0LLQtdCxLdCx0YDQsNGD0LfQtdGAINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCIGlmcmFtZTwvcD4KICAgICAgICA8cD5FUlJPUiBZb3VyIHdlYiBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgaWZyYW1lczwvcD4KICAgIDwvaWZyYW1lPgo8L2Rpdj4KYDsKCiAgICAvLyDQktC40LQuCiAgICAKICAgINCy0LjQtC5pbm5lckhUTUwgPQpgCiPQs9C70LDQstC90YvQuS3Qu9C10LLQsNGPLdC+0LHQu9Cw0YHRgtGMCnsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIHRvcDogMDsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogY2FsYyg1MCUgLSAyZW0pOwp9CiPQs9C70LDQstC90YvQuS3RgNC10LTQsNC60YLQvtGACnsKICAgIGhlaWdodDogMTAwJTsKfQoKI9Cz0LvQsNCy0L3Ri9C5LdGG0LXQvdGC0YDQsNC70YzQvdCw0Y8t0L7QsdC70LDRgdGC0YwKewogICAgcG9zaXRpb246IGZpeGVkOwogICAgdG9wOiAwOwogICAgYm90dG9tOiAwOwogICAgbGVmdDogNTAlOwogICAgd2lkdGg6IDRlbTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMmVtKTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7CiAgICBwYWRkaW5nLXRvcDogMWVtOwp9Cgoj0LPQu9Cw0LLQvdGL0Lkt0L/RgNCw0LLQsNGPLdC+0LHQu9Cw0YHRgtGMCnsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIHRvcDogMDsKICAgIGJvdHRvbTogMDsKICAgIHJpZ2h0OiAwOwogICAgd2lkdGg6IGNhbGMoNTAlIC0gMmVtKTsKfQoj0LLRgdGC0YDQvtC50LrQsAp7CiAgICBib3JkZXI6IDAgbm9uZTsKICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJlbSk7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBwb3NpdGlvbjogZml4ZWQ7Cn0KYDsKCiAgICAvLyDQoNC10LTQsNC60YLQvtGALgogICAg0LzRg9GA0L7QvC7Qt9Cw0LPRgNGD0LfQuNGC0YxBQ0UoKTsKICAgINC80YPRgNC+0Lwu0LfQsNCz0YDRg9C30LjRgtGM0KDQtdC20LjQvEFDRUpTKCk7CiAgICDQvNGD0YDQvtC8LtGA0LXQtNCw0LrRgtC+0YAgPSB3aW5kb3cuYWNlLmVkaXQoItCz0LvQsNCy0L3Ri9C5LdGA0LXQtNCw0LrRgtC+0YAiKTsKICAgINC80YPRgNC+0Lwu0YDQtdC00LDQutGC0L7RgC5zZXNzaW9uLnNldE1vZGUoImFjZS9tb2RlL2phdmFzY3JpcHQiKTsKICAgIC8vINCe0YLQvtCx0YDQsNC20LXQvdC40LUg0LrQvtC00LAg0L/RgNC4INC/0YPRgdC60LUuCiAgICB2YXIg0LrQvtC0WjY0ID0g0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0YtbInppcGJhc2U2NCJdOwogICAgaWYgKNC60L7QtFo2NCkKICAgIHsKICAgICAgICB2YXIg0LrQvtC0ID0g0LzRg9GA0L7QvC56YXRvYijQutC+0LRaNjQpOwogICAgICAgINC80YPRgNC+0Lwu0YDQtdC00LDQutGC0L7RgC5zZXNzaW9uLnNldFZhbHVlKNC60L7QtCk7CiAgICB9CiAgICAKICAgIC8vINCe0YLQvtCx0YDQsNC20LXQvdC40LUg0L/RgNC4INC/0YPRgdC60LUuCiAgICDQt9Cw0L/Rg9GB0YLQuNGC0YzQmtC+0LQoKTsKICAgIAogICAgLy8g0J7RgtC+0LHRgNCw0LbQtdC90LjQtSDQv9GA0Lgg0L3QsNC20LDRgtC40Lgg0L3QsCDQutC90L7Qv9C60YMgItC40LPRgNCw0YLRjCIuCiAgICB2YXIg0LjQs9GA0LDRgtGMID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoItC40LPRgNCw0YLRjCIpOwogICAg0LjQs9GA0LDRgtGMLm9uY2xpY2sgPSDQt9Cw0L/Rg9GB0YLQuNGC0YzQmtC+0LQ7CiAgICAKICAgIC8vINCf0YDQvtGB0LzQvtGC0YAg0L/RgNC4INC90LDQttCw0YLQuNC4INC90LAg0LrQvdC+0L/QutGDICLQuNCz0YDQsNGC0YwiLgogICAgdmFyINC/0YDQvtGB0LzQvtGC0YAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi0L/RgNC+0YHQvNC+0YLRgCIpOwogICAg0L/RgNC+0YHQvNC+0YLRgC5vbmNsaWNrID0g0L/RgNC+0YHQvNC+0YLRgNC10YLRjNCY0LPRgNGDOwp9CgrQvNGD0YDQvtC8LtGA0LXQttC40LzQoNC10LTQsNC60YLQvtGA0LAu0L/QvtC00L/QuNGB0LDRgtGMKNGB0L7Qt9C00LDRgtGM0K3QutGA0LDQvdCg0LXQtNCw0LrRgtC+0YDQsCk7", {"status":true} ], [ "режим-просмотра", -"ZnVuY3Rpb24g0YHQvtC30LTQsNGC0YzQrdC60YDQsNC90J/RgNC+0YHQvNC+0YLRgNCwKCkKewogICAgdmFyINGN0LrRgNCw0L0gPSDRgdC+0LfQtNCw0YLRjNCt0LrRgNCw0L0oItC/0YDQvtGB0LzQvtGC0YAiKTsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo0Y3QutGA0LDQvSk7CiAgICB2YXIg0LLQuNC0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTsKICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQo0LLQuNC0KTsKICAgIAogICAgLy8g0KHRgtGA0YPQutGC0YPRgNCwLgoKICAgINGN0LrRgNCw0L0uaW5uZXJIVE1MID0KYAo8Y2FudmFzIGlkPSLRhdC+0LvRgdGCIiBvbmNvbnRleHRtZW51PSJldmVudC5wcmV2ZW50RGVmYXVsdCgpIj4KPC9jYW52YXM+CmA7CgogICAgLy8g0JLQuNC0LgogICAgCiAgICDQstC40LQuaW5uZXJIVE1MID0KYAoj0YXQvtC70YHRggp7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKICAgIC8qCiAgICBFbXNjcmlwdGVuIGNhbnZhcyBtdXN0IGhhdmUgTk8gQk9SREVSIC8gUEFERElORyBmb3IgY29ycmVjdCBtb3VzZSBwb3NpdGlvbgogICAgKi8KICAgIGJvcmRlcjogMCBub25lOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7Cn0KYDsKfQoKZnVuY3Rpb24g0LLQutC70Y7Rh9C40YLRjNCg0LXQttC40LzQn9GA0L7RgdC80L7RgtGA0LAoKQp7CiAgICDRgdC+0LfQtNCw0YLRjNCt0LrRgNCw0L3Qn9GA0L7RgdC80L7RgtGA0LAoKTsKICAgIHZhciBlbXNjcmlwdGVuTW9kdWxlSlMgPSDQvNC+0LTRg9C70YwoImVtc2NyaXB0ZW4uTW9kdWxlIilbMV07CiAgICB2YXIg0LzQvtGC0L7RgEpTID0g0LzQvtC00YPQu9GMKCLQvNC+0YLQvtGALTA1IilbMV07CiAgICDQt9Cw0LPRgNGD0LfQuNGC0YzQodC60YDQuNC/0YIo0LzRg9GA0L7QvC5hdG9iKGVtc2NyaXB0ZW5Nb2R1bGVKUykpOwogICAg0LfQsNCz0YDRg9C30LjRgtGM0KHQutGA0LjQv9GCKNC80YPRgNC+0LwuYXRvYijQvNC+0YLQvtGASlMpKTsKfQoK0LzRg9GA0L7QvC7RgNC10LbQuNC80J/RgNC+0YHQvNC+0YLRgNCwLtC/0L7QtNC/0LjRgdCw0YLRjCjQstC60LvRjtGH0LjRgtGM0KDQtdC20LjQvNCf0YDQvtGB0LzQvtGC0YDQsCk7", +"ZnVuY3Rpb24g0YHQvtC30LTQsNGC0YzQrdC60YDQsNC90J/RgNC+0YHQvNC+0YLRgNCwKCkKewogICAgdmFyINGN0LrRgNCw0L0gPSDRgdC+0LfQtNCw0YLRjNCt0LrRgNCw0L0oItC/0YDQvtGB0LzQvtGC0YAiKTsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo0Y3QutGA0LDQvSk7CiAgICB2YXIg0LLQuNC0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTsKICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQo0LLQuNC0KTsKICAgIAogICAgLy8g0KHRgtGA0YPQutGC0YPRgNCwLgoKICAgINGN0LrRgNCw0L0uaW5uZXJIVE1MID0KYAo8Y2FudmFzIGlkPSJjYW52YXMiIG9uY29udGV4dG1lbnU9ImV2ZW50LnByZXZlbnREZWZhdWx0KCkiPgo8L2NhbnZhcz4KYDsKCiAgICAvLyDQktC40LQuCiAgICAKICAgINCy0LjQtC5pbm5lckhUTUwgPQpgCiNjYW52YXMKewogICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7CiAgICAvKgogICAgRW1zY3JpcHRlbiBjYW52YXMgbXVzdCBoYXZlIE5PIEJPUkRFUiAvIFBBRERJTkcgZm9yIGNvcnJlY3QgbW91c2UgcG9zaXRpb24KICAgICovCiAgICBib3JkZXI6IDAgbm9uZTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwp9CmA7Cn0KCmZ1bmN0aW9uINC40YHQv9C+0LvQvdC40YLRjNCa0L7QtCgpCnsKICAgIHZhciDQutC+0LRaNjQgPSDQvNGD0YDQvtC8LtCw0YDQs9GD0LzQtdC90YLRi1siemlwYmFzZTY0Il07CiAgICBpZiAo0LrQvtC0WjY0KQogICAgewogICAgICAgIHZhciDQutC+0LQgPSDQvNGD0YDQvtC8LnphdG9iKNC60L7QtFo2NCk7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBldmFsKNC60L7QtCk7CiAgICAgICAgfQogICAgICAgIGNhdGNoICjQvtGI0LjQsdC60LApCiAgICAgICAgewogICAgICAgICAgICBjb25zb2xlLmVycm9yKCLQndC1INGD0LTQsNC70L7RgdGMINC40YHQv9C+0LvQvdC40YLRjCDQutC+0LQ6JyIgKyDQvtGI0LjQsdC60LAgKyAiJyIpOwogICAgICAgIH0KICAgIH0KfQoKZnVuY3Rpb24g0LLQutC70Y7Rh9C40YLRjNCg0LXQttC40LzQn9GA0L7RgdC80L7RgtGA0LAoKQp7CiAgICDRgdC+0LfQtNCw0YLRjNCt0LrRgNCw0L3Qn9GA0L7RgdC80L7RgtGA0LAoKTsKICAgIHZhciBlbXNjcmlwdGVuTW9kdWxlSlMgPSDQvNC+0LTRg9C70YwoImVtc2NyaXB0ZW4uTW9kdWxlIilbMV07CiAgICB2YXIg0LzQvtGC0L7RgEpTID0g0LzQvtC00YPQu9GMKCLQvNC+0YLQvtGALTA1IilbMV07CiAgICDQt9Cw0LPRgNGD0LfQuNGC0YzQodC60YDQuNC/0YIo0LzRg9GA0L7QvC5hdG9iKGVtc2NyaXB0ZW5Nb2R1bGVKUykpOwogICAg0LfQsNCz0YDRg9C30LjRgtGM0KHQutGA0LjQv9GCKNC80YPRgNC+0LwuYXRvYijQvNC+0YLQvtGASlMpKTsKICAgIAogICAg0L/RgNC4KNC80YPRgNC+0Lwu0LzQuNGA0JPQvtGC0L7Qsiwg0LjRgdC/0L7Qu9C90LjRgtGM0JrQvtC0KTsKfQoK0LzRg9GA0L7QvC7RgNC10LbQuNC80J/RgNC+0YHQvNC+0YLRgNCwLtC/0L7QtNC/0LjRgdCw0YLRjCjQstC60LvRjtGH0LjRgtGM0KDQtdC20LjQvNCf0YDQvtGB0LzQvtGC0YDQsCk7", {"status":true} ], -[ -"муром.оповещения-C++-JS_1.0.0", -"LyoKICoKICog0J7Qv9C+0LLQtdGJ0LXQvdC40Y8g0LjQtyBDKysg0LIgSlMKICoKICovCtC80YPRgNC+0Lwu0LzQuNGA0JPQvtGC0L7QsiA9IG5ldyDQo9Cy0LXQtNC+0LzQuNGC0LXQu9GMKCk7CgpmdW5jdGlvbiBNaXIoKSB7IH0Kd2luZG93Lm1pciA9IG5ldyBNaXIoKTsKTWlyLnByb3RvdHlwZS5nb3RvdiA9IGZ1bmN0aW9uKCkKewogICAg0LzRg9GA0L7QvC7QvNC40YDQk9C+0YLQvtCyLtGD0LLQtdC00L7QvNC40YLRjCgpOwp9Ck1pci5wcm90b3R5cGUuaXpyZWsgPSBmdW5jdGlvbihrZXkpCnsKICAgIGlmIChrZXkgPT0gIm1vdXNlLnBvc2l0aW9uIikKICAgIHsKICAgICAgICBtdXJvbS5tb3VzZS5wb3NpdGlvbkNoYW5nZWQucmVwb3J0KCk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGtleSA9PSAibW91c2UucHJlc3NlZEJ1dHRvbnMiKQogICAgewogICAgICAgIG11cm9tLm1vdXNlLnByZXNzZWRCdXR0b25zQ2hhbmdlZC5yZXBvcnQoKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoa2V5ID09ICJ3aW5kb3cuc2l6ZSIpCiAgICB7CiAgICAgICAgbXVyb20ud2luZG93LnNpemVDaGFuZ2VkLnJlcG9ydCgpOwogICAgICAgIHJldHVybjsKICAgIH0KfQ==", -{} -], - - [ "emscripten.Module", -"dmFyIE1vZHVsZSA9IHsKICAgIHByZVJ1bjogW10sCiAgICBwb3N0UnVuOiBbXSwKICAgIHByaW50OiBmdW5jdGlvbih0ZXh0KSB7CiAgICAgICAgY29uc29sZS5sb2codGV4dCk7CiAgICB9LAogICAgcHJpbnRFcnI6IGZ1bmN0aW9uKHRleHQpIHsKICAgICAgICBjb25zb2xlLmVycm9yKHRleHQpOwogICAgfSwKICAgIGNhbnZhczogKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi0YXQvtC70YHRgiIpOwogICAgICAgIC8vIEFzIGEgZGVmYXVsdCBpbml0aWFsIGJlaGF2aW9yLCBwb3AgdXAgYW4gYWxlcnQgd2hlbiB3ZWJnbCBjb250ZXh0IGlzIGxvc3QuIFRvIG1ha2UgeW91cgogICAgICAgIC8vIGFwcGxpY2F0aW9uIHJvYnVzdCwgeW91IG1heSB3YW50IHRvIG92ZXJyaWRlIHRoaXMgYmVoYXZpb3IgYmVmb3JlIHNoaXBwaW5nIQogICAgICAgIC8vIFNlZSBodHRwOi8vd3d3Lmtocm9ub3Mub3JnL3JlZ2lzdHJ5L3dlYmdsL3NwZWNzL2xhdGVzdC8xLjAvIzUuMTUuMgogICAgICAgIC8vIFRPRE8gVXNlIFVJS2l0IHRvIGRpc3BsYXkgYWxlcnQuCiAgICAgICAgY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoCiAgICAgICAgICAgICJ3ZWJnbGNvbnRleHRsb3N0IiwKICAgICAgICAgICAgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgYWxlcnQoJ1dlYkdMIGNvbnRleHQgaGFzIGJlZW4gbG9zdC4gUGxlYXNlLCByZWxvYWQgdGhlIHBhZ2UuJyk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGZhbHNlCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gY2FudmFzOwogICAgfSkoKSwKICAgIHNldFN0YXR1czogZnVuY3Rpb24odGV4dCkgewogICAgICAgIE1vZHVsZS5wcmludCgiU1RBVFVTOiAnIiArIHRleHQgKyAiJyIpOwogICAgfSwKICAgIHRvdGFsRGVwZW5kZW5jaWVzOiAwLAogICAgbW9uaXRvclJ1bkRlcGVuZGVuY2llczogZnVuY3Rpb24obGVmdCkgewogICAgICAgIHRoaXMudG90YWxEZXBlbmRlbmNpZXMgPSBNYXRoLm1heCh0aGlzLnRvdGFsRGVwZW5kZW5jaWVzLCBsZWZ0KTsKICAgICAgICBNb2R1bGUuc2V0U3RhdHVzKGxlZnQgPyAnUHJlcGFyaW5nLi4uICgnICsgKHRoaXMudG90YWxEZXBlbmRlbmNpZXMtbGVmdCkgKyAnLycgKyB0aGlzLnRvdGFsRGVwZW5kZW5jaWVzICsgJyknIDogJ0FsbCBkb3dubG9hZHMgY29tcGxldGUuJyk7CiAgICB9Cn07Ck1vZHVsZS5zZXRTdGF0dXMoJ0Rvd25sb2FkaW5nLi4uJyk7CndpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24oZXZlbnQpIHsKICAgIE1vZHVsZS5zZXRTdGF0dXMoJ0V4Y2VwdGlvbiB0aHJvd24sIHNlZSBKYXZhU2NyaXB0IGNvbnNvbGUnKTsKfTs=", +"dmFyIE1vZHVsZSA9IHsKICAgIHByZVJ1bjogW10sCiAgICBwb3N0UnVuOiBbXSwKICAgIHByaW50OiBmdW5jdGlvbih0ZXh0KSB7CiAgICAgICAgY29uc29sZS5sb2codGV4dCk7CiAgICB9LAogICAgcHJpbnRFcnI6IGZ1bmN0aW9uKHRleHQpIHsKICAgICAgICBjb25zb2xlLmVycm9yKHRleHQpOwogICAgfSwKICAgIGNhbnZhczogKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CiAgICAgICAgLy8gQXMgYSBkZWZhdWx0IGluaXRpYWwgYmVoYXZpb3IsIHBvcCB1cCBhbiBhbGVydCB3aGVuIHdlYmdsIGNvbnRleHQgaXMgbG9zdC4gVG8gbWFrZSB5b3VyCiAgICAgICAgLy8gYXBwbGljYXRpb24gcm9idXN0LCB5b3UgbWF5IHdhbnQgdG8gb3ZlcnJpZGUgdGhpcyBiZWhhdmlvciBiZWZvcmUgc2hpcHBpbmchCiAgICAgICAgLy8gU2VlIGh0dHA6Ly93d3cua2hyb25vcy5vcmcvcmVnaXN0cnkvd2ViZ2wvc3BlY3MvbGF0ZXN0LzEuMC8jNS4xNS4yCiAgICAgICAgLy8gVE9ETyBVc2UgVUlLaXQgdG8gZGlzcGxheSBhbGVydC4KICAgICAgICBjYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigKICAgICAgICAgICAgIndlYmdsY29udGV4dGxvc3QiLAogICAgICAgICAgICBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBhbGVydCgnV2ViR0wgY29udGV4dCBoYXMgYmVlbiBsb3N0LiBQbGVhc2UsIHJlbG9hZCB0aGUgcGFnZS4nKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZmFsc2UKICAgICAgICApOwogICAgICAgIHJldHVybiBjYW52YXM7CiAgICB9KSgpLAogICAgc2V0U3RhdHVzOiBmdW5jdGlvbih0ZXh0KSB7CiAgICAgICAgTW9kdWxlLnByaW50KCJTVEFUVVM6ICciICsgdGV4dCArICInIik7CiAgICB9LAogICAgdG90YWxEZXBlbmRlbmNpZXM6IDAsCiAgICBtb25pdG9yUnVuRGVwZW5kZW5jaWVzOiBmdW5jdGlvbihsZWZ0KSB7CiAgICAgICAgdGhpcy50b3RhbERlcGVuZGVuY2llcyA9IE1hdGgubWF4KHRoaXMudG90YWxEZXBlbmRlbmNpZXMsIGxlZnQpOwogICAgICAgIE1vZHVsZS5zZXRTdGF0dXMobGVmdCA/ICdQcmVwYXJpbmcuLi4gKCcgKyAodGhpcy50b3RhbERlcGVuZGVuY2llcy1sZWZ0KSArICcvJyArIHRoaXMudG90YWxEZXBlbmRlbmNpZXMgKyAnKScgOiAnQWxsIGRvd25sb2FkcyBjb21wbGV0ZS4nKTsKICAgIH0KfTsKTW9kdWxlLnNldFN0YXR1cygnRG93bmxvYWRpbmcuLi4nKTsKd2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihldmVudCkgewogICAgTW9kdWxlLnNldFN0YXR1cygnRXhjZXB0aW9uIHRocm93biwgc2VlIEphdmFTY3JpcHQgY29uc29sZScpOwp9Ow==", {"status":false} ], @@ -116,8 +130,64 @@ var murom = муром; [ -"муром.апи_1.0.0", -"Y29uc29sZS5sb2coItCd0JDQlNCeINCU0L7QsdCw0LLQuNGC0Ywg0LrQvtC0INCyINC80L7QtNGD0LvRjCAn0L3QvtCy0YvQuS0zMzYnIik7", +"муром.редактор.шрифт-25", +"ZnVuY3Rpb24g0LfQsNC00LDRgtGM0KDQsNC30LzQtdGA0KjRgNC40YTRgtCw0KDQtdC00LDQutGC0L7RgNGDKCkKewogICAgaWYgKNC80YPRgNC+0Lwu0YDQtdC00LDQutGC0L7RgCkKICAgIHsKICAgICAgICDQvNGD0YDQvtC8LtGA0LXQtNCw0LrRgtC+0YAuc2V0Rm9udFNpemUoIjI1cHgiKTsKICAgIH0KfQoK0L/RgNC4KNC80YPRgNC+0Lwu0L/Rg9GB0LosINC30LDQtNCw0YLRjNCg0LDQt9C80LXRgNCo0YDQuNGE0YLQsNCg0LXQtNCw0LrRgtC+0YDRgyk7", +{} +], + + +[ +"муром.апи.функции_1.0.0", +"LyoKICoKICog0J/QvtC70YPRh9C10L3QuNC1INGC0LXQutGB0YLQvtCy0YvRhSDQtNCw0L3QvdGL0YUg0L/QviBIVFRQKFMpCiAqIEdldHRpbmcgdGV4dHVhbCBkYXRhIG92ZXIgSFRUUChTKQogKgogKi8KbXVyb20uZ2V0ID0gZnVuY3Rpb24odXJsLCBzdWNjZXNzQ2FsbGJhY2ssIGZhaWx1cmVDYWxsYmFjaykKewogICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgcmVxLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICBpZiAodGhpcy5yZWFkeVN0YXRlID09IDQpCiAgICAgICAgewogICAgICAgICAgICBpZiAodGhpcy5zdGF0dXMgPT0gMjAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sodGhpcy5yZXNwb25zZVRleHQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYgKGZhaWx1cmVDYWxsYmFjaykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZmFpbHVyZUNhbGxiYWNrKHRoaXMuc3RhdHVzKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXEub3BlbigiR0VUIiwgdXJsKTsKICAgIHJlcS5zZW5kKCk7Cn0K0LzRg9GA0L7QvC7Qv9C+0LvRg9GH0LjRgtGMID0gZnVuY3Rpb24o0LDQtNGA0LXRgSwg0L7RgtC60LvQuNC60KPRgdC/0LXRhdCwLCDQvtGC0LrQu9C40LrQn9GA0L7QstCw0LvQsCkKewogICAgbXVyb20uZ2V0KNCw0LTRgNC10YEsINC+0YLQutC70LjQutCj0YHQv9C10YXQsCwg0L7RgtC60LvQuNC60J/RgNC+0LLQsNC70LApOwp9OwoKLyoKICoKICog0J/QvtC70YPRh9C10L3QuNC1INC00LLQvtC40YfQvdGL0YUgKNCx0LjQvdCw0YDQvdGL0YUpINC00LDQvdC90YvRhSDQv9C+IEhUVFAoUykKICogR2V0dGluZyBiaW5hcnkgZGF0YSBvdmVyIEhUVFAoUykKICoKICovCm11cm9tLmdldGIgPSBmdW5jdGlvbih1cmwsIHN1Y2Nlc3NDYWxsYmFjaywgZmFpbHVyZUNhbGxiYWNrKQp7CiAgICB2YXIgcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICByZXEucmVzcG9uc2VUeXBlID0gImFycmF5YnVmZmVyIjsKICAgIHJlcS5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgaWYgKHRoaXMucmVhZHlTdGF0ZSA9PSA0KQogICAgICAgIHsKICAgICAgICAgICAgaWYgKHRoaXMuc3RhdHVzID09IDIwMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc3VjY2Vzc0NhbGxiYWNrKHRoaXMucmVzcG9uc2UpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYgKGZhaWx1cmVDYWxsYmFjaykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZmFpbHVyZUNhbGxiYWNrKHRoaXMuc3RhdHVzKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXEub3BlbigiR0VUIiwgdXJsKTsKICAgIHJlcS5zZW5kKCk7Cn0K0LzRg9GA0L7QvC7Qv9C+0LvRg9GH0LjRgtGM0LEgPSBmdW5jdGlvbijQsNC00YDQtdGBLCDQvtGC0LrQu9C40LrQo9GB0L/QtdGF0LAsINC+0YLQutC70LjQutCf0YDQvtCy0LDQu9CwKQp7CiAgICBtdXJvbS5nZXRiKNCw0LTRgNC10YEsINC+0YLQutC70LjQutCj0YHQv9C10YXQsCwg0L7RgtC60LvQuNC60J/RgNC+0LLQsNC70LApOwp9OwoKLyoKICoKICog0J/QvtC70YPRh9C10L3QuNC1INGC0LXQutGB0YLQvtCy0YvRhSDQuCDQtNCy0L7QuNGH0L3Ri9GFINC00LDQvdC90YvRhSDQv9C+INC90LXRgdC60L7Qu9GM0LrQuNC8INCw0LTRgNC10YHQsNC8INGB0YDQsNC30YMKICogR2V0dGluZyB0ZXh0dWFsIGFuZCBiaW5hcnkgZGF0YSB1c2luZyBzZXZlcmFsIFVSTHMgYXQgb25jZQogKgogKi8KbXVyb20uZ2V0TWFueSA9IGZ1bmN0aW9uKGl0ZW1zLCBjb21wbGV0aW9uQ2FsbGJhY2spCnsKICAgIHZhciBzZWxmID0gdGhpczsKICAgIHZhciByZXN1bHRzID0ge307CgogICAgdmFyIGNvdW50ID0gMDsKICAgIGZ1bmN0aW9uIHJlcG9ydENvbXBsZXRpb24oKQogICAgewogICAgICAgIGlmICgrK2NvdW50ID09IGl0ZW1zLmxlbmd0aCkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChjb21wbGV0aW9uQ2FsbGJhY2spCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvbXBsZXRpb25DYWxsYmFjayhyZXN1bHRzKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIAogICAgZm9yICh2YXIgaWQgaW4gaXRlbXMpCiAgICB7CiAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2lkXTsKICAgICAgICBjb25zdCB1cmwgPSBpdGVtWzBdOwogICAgICAgIGNvbnN0IG5hbWUgPSBpdGVtWzFdOwogICAgICAgIHZhciBpc0JpbmFyeSA9IChpdGVtWzJdID09ICJiIik7CiAgICAgICAgCiAgICAgICAgZnVuY3Rpb24gc3VjY2Vzcyhjb250ZW50cykKICAgICAgICB7CiAgICAgICAgICAgIHJlc3VsdHNbbmFtZV0gPSBjb250ZW50czsKICAgICAgICAgICAgcmVwb3J0Q29tcGxldGlvbigpCiAgICAgICAgfQogICAgICAgIGZ1bmN0aW9uIGZhaWx1cmUoc3RhdHVzKQogICAgICAgIHsKICAgICAgICAgICAgTE9HKAogICAgICAgICAgICAgICAgZm9ybWF0U3RyaW5nKAogICAgICAgICAgICAgICAgICAgICJFUlJPUiBDb3VsZCBub3QgZG93bmxvYWQgVVJMOiAnezB9JyBzdGF0dXM6ICd7MX0nIiwKICAgICAgICAgICAgICAgICAgICB1cmwsCiAgICAgICAgICAgICAgICAgICAgc3RhdHVzCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJlcG9ydENvbXBsZXRpb24oKQogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZiAoaXNCaW5hcnkpCiAgICAgICAgewogICAgICAgICAgICBtdXJvbS5nZXRiKHVybCwgc3VjY2VzcywgZmFpbHVyZSk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIG11cm9tLmdldCh1cmwsIHN1Y2Nlc3MsIGZhaWx1cmUpOwogICAgICAgIH0KICAgIH0KfTsK0LzRg9GA0L7QvC7Qv9C+0LvRg9GH0LjRgtGM0JzQvdC+0LPQviA9IGZ1bmN0aW9uKNGN0LvQtdC80LXQvdGC0YssINC+0YLQutC70LjQutCX0LDQstC10YDRiNC10L3QuNGPKQp7CiAgICBtdXJvbS5nZXRNYW55KNGN0LvQtdC80LXQvdGC0YssINC+0YLQutC70LjQutCX0LDQstC10YDRiNC10L3QuNGPKTsKfTs=", +{"status":true} +], + + +[ +"муром.апи.камера_1.0.0", +"bXVyb20uY2FtZXJhID0ge307CtC80YPRgNC+0Lwu0LrQsNC80LXRgNCwID0ge307CgovKgogKgogKiDQptCy0LXRgiDQvtGH0LjRgdGC0LrQuCDQutCw0LzQtdGA0YsKICogQ2FtZXJhIGNsZWFyIGNvbG9yCiAqCiAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkobXVyb20uY2FtZXJhLCAiY2xlYXJDb2xvciIsIHsKICAgIGdldDogZnVuY3Rpb24oKQogICAgewogICAgICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgICAgICBjb25zdCB2b3V0ID0gTW9kdWxlLm1pckNhbGwoImNhbWVyYS5jbGVhckNvbG9yIiwgdmluKTsKICAgICAgICByZXR1cm4gWwogICAgICAgICAgICBwYXJzZUZsb2F0KHZvdXQuZ2V0KDApKSwKICAgICAgICAgICAgcGFyc2VGbG9hdCh2b3V0LmdldCgxKSksCiAgICAgICAgICAgIHBhcnNlRmxvYXQodm91dC5nZXQoMikpLAogICAgICAgIF07CiAgICB9LAogICAgc2V0OiBmdW5jdGlvbih2YWx1ZXMpCiAgICB7CiAgICAgICAgdmFyIHZpbiA9IG5ldyBNb2R1bGUuU3RyaW5nTGlzdCgpOwogICAgICAgIGZvciAodmFyIGlkID0gMDsgaWQgPCB2YWx1ZXMubGVuZ3RoOyArK2lkKQogICAgICAgIHsKICAgICAgICAgICAgdmluLnB1c2hfYmFjayh2YWx1ZXNbaWRdLnRvU3RyaW5nKCkpOwogICAgICAgIH0KICAgICAgICBjb25zdCB2b3V0ID0gTW9kdWxlLm1pckNhbGwoImNhbWVyYS5jbGVhckNvbG9yIiwgdmluKTsKICAgICAgICByZXR1cm4gWwogICAgICAgICAgICBwYXJzZUZsb2F0KHZvdXQuZ2V0KDApKSwKICAgICAgICAgICAgcGFyc2VGbG9hdCh2b3V0LmdldCgxKSksCiAgICAgICAgICAgIHBhcnNlRmxvYXQodm91dC5nZXQoMikpLAogICAgICAgIF07CiAgICB9Cn0pOwpPYmplY3QuZGVmaW5lUHJvcGVydHko0LzRg9GA0L7QvC7QutCw0LzQtdGA0LAsICLRhtCy0LXRgtCe0YfQuNGB0YLQutC4IiwgewogICAgZ2V0OiBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIG11cm9tLmNhbWVyYS5jbGVhckNvbG9yOwogICAgfSwKICAgIHNldDogZnVuY3Rpb24odmFsdWVzKQogICAgewogICAgICAgIG11cm9tLmNhbWVyYS5jbGVhckNvbG9yID0gdmFsdWVzOwogICAgfQp9KTsKCi8qCiAqCiAqINCf0L7Qu9GD0YfQtdC90LjQtSDRg9C30LvQsCDRgdGG0LXQvdGLINCyINC/0L7Qt9C40YbQuNC4INC80YvRiNC4INC90LAg0Y3QutGA0LDQvdC1INC/0YDQuCDQvdCw0LvQuNGH0LjQuCDRg9C60LDQt9Cw0L3QvdC+0Lkg0LzQsNGB0LrQuCDRgyDRg9C30LvQsAogKiBHZXR0aW5nIGEgc2NlbmUgbm9kZSBhdCBtb3VzZSBzY3JlZW4gcG9zaXRpb24gd2hlbiB0aGUgc2NlbmUgbm9kZSBoYXMgcHJvdmlkZWQgbWFzawogKgogKi8KbXVyb20uY2FtZXJhLm5vZGVBdFBvc2l0aW9uID0gZnVuY3Rpb24ocG9zaXRpb24sIHNlbGVjdGlvbk1hc2spCnsKICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgIHZpbi5wdXNoX2JhY2socG9zaXRpb25bMF0udG9TdHJpbmcoKSk7CiAgICB2aW4ucHVzaF9iYWNrKHBvc2l0aW9uWzFdLnRvU3RyaW5nKCkpOwogICAgdmluLnB1c2hfYmFjayhzZWxlY3Rpb25NYXNrLnRvU3RyaW5nKCkpOwogICAgY29uc3Qgdm91dCA9IE1vZHVsZS5taXJDYWxsKCJjYW1lcmEubm9kZUF0UG9zaXRpb24iLCB2aW4pOwoKICAgIGlmICh2b3V0LnNpemUoKSA9PSAxKQogICAgewogICAgICAgIGNvbnN0IG5hbWUgPSB2b3V0LmdldCgwKTsKICAgICAgICByZXR1cm4gbmV3IE5vZGUobmFtZSk7CiAgICB9CgogICAgcmV0dXJuIG51bGw7Cn0K0LzRg9GA0L7QvC7QutCw0LzQtdGA0LAu0YPQt9C10LvQktCf0L7Qt9C40YbQuNC4ID0gZnVuY3Rpb24o0L/QvtC30LjRhtC40Y8sINC80LDRgdC60LApCnsKICAgIHJldHVybiBtdXJvbS5jYW1lcmEubm9kZUF0UG9zaXRpb24o0L/QvtC30LjRhtC40Y8sINC80LDRgdC60LApOwp9OwoKLyoKICoKICog0J/QvtC30LjRhtC40Y8g0LrQsNC80LXRgNGLCiAqIENhbWVyYSBwb3NpdGlvbgogKgogKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KG11cm9tLmNhbWVyYSwgInBvc2l0aW9uIiwgewogICAgZ2V0OiBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgdmFyIHZpbiA9IG5ldyBNb2R1bGUuU3RyaW5nTGlzdCgpOwogICAgICAgIGNvbnN0IHZvdXQgPSBNb2R1bGUubWlyQ2FsbCgiY2FtZXJhLnBvc2l0aW9uIiwgdmluKTsKICAgICAgICByZXR1cm4gWwogICAgICAgICAgICBwYXJzZUZsb2F0KHZvdXQuZ2V0KDApKSwKICAgICAgICAgICAgcGFyc2VGbG9hdCh2b3V0LmdldCgxKSksCiAgICAgICAgICAgIHBhcnNlRmxvYXQodm91dC5nZXQoMikpLAogICAgICAgIF07CiAgICB9LAogICAgc2V0OiBmdW5jdGlvbih2YWx1ZXMpCiAgICB7CiAgICAgICAgdmFyIHZpbiA9IG5ldyBNb2R1bGUuU3RyaW5nTGlzdCgpOwogICAgICAgIGZvciAodmFyIGlkID0gMDsgaWQgPCB2YWx1ZXMubGVuZ3RoOyArK2lkKQogICAgICAgIHsKICAgICAgICAgICAgdmluLnB1c2hfYmFjayh2YWx1ZXNbaWRdLnRvU3RyaW5nKCkpOwogICAgICAgIH0KICAgICAgICBjb25zdCB2b3V0ID0gTW9kdWxlLm1pckNhbGwoImNhbWVyYS5wb3NpdGlvbiIsIHZpbik7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgcGFyc2VGbG9hdCh2b3V0LmdldCgwKSksCiAgICAgICAgICAgIHBhcnNlRmxvYXQodm91dC5nZXQoMSkpLAogICAgICAgICAgICBwYXJzZUZsb2F0KHZvdXQuZ2V0KDIpKSwKICAgICAgICBdOwogICAgfQp9KTsKT2JqZWN0LmRlZmluZVByb3BlcnR5KNC80YPRgNC+0Lwu0LrQsNC80LXRgNCwLCAi0L/QvtC30LjRhtC40Y8iLCB7CiAgICBnZXQ6IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gbXVyb20uY2FtZXJhLnBvc2l0aW9uOwogICAgfSwKICAgIHNldDogZnVuY3Rpb24odmFsdWVzKQogICAgewogICAgICAgIG11cm9tLmNhbWVyYS5wb3NpdGlvbiA9IHZhbHVlczsKICAgIH0KfSk7CgovKgogKgogKiDQktGA0LDRidC10L3QuNC1INC60LDQvNC10YDRiwogKiBDYW1lcmEgcm90YXRpb24KICoKICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShtdXJvbS5jYW1lcmEsICJyb3RhdGlvbiIsIHsKICAgIGdldDogZnVuY3Rpb24oKQogICAgewogICAgICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgICAgICBjb25zdCB2b3V0ID0gTW9kdWxlLm1pckNhbGwoImNhbWVyYS5yb3RhdGlvbiIsIHZpbik7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgcGFyc2VGbG9hdCh2b3V0LmdldCgwKSksCiAgICAgICAgICAgIHBhcnNlRmxvYXQodm91dC5nZXQoMSkpLAogICAgICAgICAgICBwYXJzZUZsb2F0KHZvdXQuZ2V0KDIpKSwKICAgICAgICBdOwogICAgfSwKICAgIHNldDogZnVuY3Rpb24odmFsdWVzKQogICAgewogICAgICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgICAgICBmb3IgKHZhciBpZCA9IDA7IGlkIDwgdmFsdWVzLmxlbmd0aDsgKytpZCkKICAgICAgICB7CiAgICAgICAgICAgIHZpbi5wdXNoX2JhY2sodmFsdWVzW2lkXS50b1N0cmluZygpKTsKICAgICAgICB9CiAgICAgICAgY29uc3Qgdm91dCA9IE1vZHVsZS5taXJDYWxsKCJjYW1lcmEucm90YXRpb24iLCB2aW4pOwogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgIHBhcnNlRmxvYXQodm91dC5nZXQoMCkpLAogICAgICAgICAgICBwYXJzZUZsb2F0KHZvdXQuZ2V0KDEpKSwKICAgICAgICAgICAgcGFyc2VGbG9hdCh2b3V0LmdldCgyKSksCiAgICAgICAgXTsKICAgIH0KfSk7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eSjQvNGD0YDQvtC8LtC60LDQvNC10YDQsCwgItCy0YDQsNGJ0LXQvdC40LUiLCB7CiAgICBnZXQ6IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gbXVyb20uY2FtZXJhLnJvdGF0aW9uOwogICAgfSwKICAgIHNldDogZnVuY3Rpb24odmFsdWVzKQogICAgewogICAgICAgIG11cm9tLmNhbWVyYS5yb3RhdGlvbiA9IHZhbHVlczsKICAgIH0KfSk7", +{"status":true} +], + + +[ +"муром.апи.мышь_1.0.0", +"bXVyb20ubW91c2UgPSB7fTsK0LzRg9GA0L7QvC7QvNGL0YjRjCA9IHt9OwoKLyoKICoKICog0J/QvtC30LjRhtC40Y8g0LzRi9GI0LgKICogTW91c2UgcG9zaXRpb24KICoKICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShtdXJvbS5tb3VzZSwgInBvc2l0aW9uIiwgewogICAgZ2V0OiBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgdmFyIHZpbiA9IG5ldyBNb2R1bGUuU3RyaW5nTGlzdCgpOwogICAgICAgIGNvbnN0IHZvdXQgPSBNb2R1bGUubWlyQ2FsbCgibW91c2UucG9zaXRpb24iLCB2aW4pOwogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgIHBhcnNlSW50KHZvdXQuZ2V0KDApKSwKICAgICAgICAgICAgcGFyc2VJbnQodm91dC5nZXQoMSkpLAogICAgICAgIF07CiAgICB9Cn0pOwpPYmplY3QuZGVmaW5lUHJvcGVydHko0LzRg9GA0L7QvC7QvNGL0YjRjCwgItC/0L7Qt9C40YbQuNGPIiwgewogICAgZ2V0OiBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIG11cm9tLm1vdXNlLnBvc2l0aW9uOwogICAgfQp9KTsKCi8qCiAqCiAqINCj0LLQtdC00L7QvNC70LXQvdC40LUg0L7QsSDQuNC30LzQtdC90LXQvdC40Lgg0L/QvtC30LjRhtC40Lgg0LzRi9GI0LgKICogTW91c2UgcG9zaXRpb24gY2hhbmdlIG5vdGlmaWNhdGlvbgogKgogKi8KbXVyb20ubW91c2UucG9zaXRpb25DaGFuZ2VkID0gbmV3IFJlcG9ydGVyKCk7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eSjQvNGD0YDQvtC8LtC80YvRiNGMLCAi0L/QvtC30LjRhtC40Y7QmNC30LzQtdC90LjQu9C4IiwgewogICAgZ2V0OiBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIG11cm9tLm1vdXNlLnBvc2l0aW9uQ2hhbmdlZDsKICAgIH0KfSk7CgovKgogKgogKiDQndCw0LbQsNGC0YvQtSDQutC90L7Qv9C60Lgg0LzRi9GI0LgKICogTW91c2UgcHJlc3NlZCBidXR0b25zCiAqCiAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkobXVyb20ubW91c2UsICJwcmVzc2VkQnV0dG9ucyIsIHsKICAgIGdldDogZnVuY3Rpb24oKQogICAgewogICAgICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgICAgICBjb25zdCB2b3V0ID0gTW9kdWxlLm1pckNhbGwoIm1vdXNlLnByZXNzZWRCdXR0b25zIiwgdmluKTsKICAgICAgICB2YXIgcmV0ID0gW107CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2b3V0LnNpemUoKTsgKytpKQogICAgICAgIHsKICAgICAgICAgICAgcmV0LnB1c2godm91dC5nZXQoaSkpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcmV0OwogICAgfQp9KTsKT2JqZWN0LmRlZmluZVByb3BlcnR5KNC80YPRgNC+0Lwu0LzRi9GI0YwsICLQvdCw0LbQsNGC0YvQtdCa0L3QvtC/0LrQuCIsIHsKICAgIGdldDogZnVuY3Rpb24oKQogICAgewogICAgICAgIHJldHVybiBtdXJvbS5tb3VzZS5wcmVzc2VkQnV0dG9uczsKICAgIH0KfSk7CgovKgogKgogKiDQo9Cy0LXQtNC+0LzQu9C10L3QuNC1INC+0LEg0LjQt9C80LXQvdC10L3QuNC4INC90LDQttCw0YLRi9GFINC60L3QvtC/0L7QuiDQvNGL0YjQuAogKiBNb3VzZSBwcmVzc2VkIGJ1dHRvbnMnIGNoYW5nZSBub3RpZmljYXRpb24KICoKICovCm11cm9tLm1vdXNlLnByZXNzZWRCdXR0b25zQ2hhbmdlZCA9IG5ldyBSZXBvcnRlcigpOwpPYmplY3QuZGVmaW5lUHJvcGVydHko0LzRg9GA0L7QvC7QvNGL0YjRjCwgItC90LDQttCw0YLRi9C10JrQvdC+0L/QutC40JjQt9C80LXQvdC40LvQuCIsIHsKICAgIGdldDogZnVuY3Rpb24oKQogICAgewogICAgICAgIHJldHVybiBtdXJvbS5tb3VzZS5wcmVzc2VkQnV0dG9uc0NoYW5nZWQ7CiAgICB9Cn0pOw==", +{"status":true} +], + + +[ +"муром.апи.окно_1.0.0", +"bXVyb20ud2luZG93ID0ge307CtC80YPRgNC+0Lwu0L7QutC90L4gPSB7fTsKCi8qCiAqCiAqINCg0LDQt9C80LXRgCDQvtC60L3QsAogKiBXaW5kb3cgc2l6ZQogKgogKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KG11cm9tLndpbmRvdywgInNpemUiLCB7CiAgICBnZXQ6IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICB2YXIgdmluID0gbmV3IE1vZHVsZS5TdHJpbmdMaXN0KCk7CiAgICAgICAgY29uc3Qgdm91dCA9IE1vZHVsZS5taXJDYWxsKCJ3aW5kb3cuc2l6ZSIsIHZpbik7CiAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgcGFyc2VJbnQodm91dC5nZXQoMCkpLAogICAgICAgICAgICBwYXJzZUludCh2b3V0LmdldCgxKSksCiAgICAgICAgXTsKICAgIH0KfSk7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eSjQvNGD0YDQvtC8LtC+0LrQvdC+LCAi0YDQsNC30LzQtdGAIiwgewogICAgZ2V0OiBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIG11cm9tLndpbmRvdy5zaXplOwogICAgfQp9KTsKCi8qCiAqCiAqINCj0LLQtdC00L7QvNC70LXQvdC40LUg0L7QsSDQuNC30LzQtdC90LXQvdC40Lgg0YDQsNC30LzQtdGA0LAg0L7QutC90LAKICogV2luZG93IHNpemUgY2hhbmdlIG5vdGlmaWNhdGlvbgogKgogKi8KbXVyb20ud2luZG93LnNpemVDaGFuZ2VkID0gbmV3IFJlcG9ydGVyKCk7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eSjQvNGD0YDQvtC8LtC+0LrQvdC+LCAi0YDQsNC30LzQtdGA0JjQt9C80LXQvdC40LvQuCIsIHsKICAgIGdldDogZnVuY3Rpb24oKQogICAgewogICAgICAgIHJldHVybiBtdXJvbS53aW5kb3cuc2l6ZUNoYW5nZWQ7CiAgICB9Cn0pOw==", +{"status":true} +], + + +[ +"муром.апи.узлы_1.0.0", +"Ly8KLy8g0KPQt9C10LsKLy8gTm9kZQovLwoKLyoKICoKICog0JrQvtC90YHRgtGA0YPQutGC0L7RgAogKiBDb25zdHJ1Y3RvcgogKgogKi8KZnVuY3Rpb24gTm9kZShuYW1lKQp7CiAgICB0aGlzLm5hbWUgPSBuYW1lOwp9Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShOb2RlLnByb3RvdHlwZSwgItC40LzRjyIsIHsKICAgIGdldDogZnVuY3Rpb24oKQogICAgewogICAgICAgIHJldHVybiB0aGlzLm5hbWU7CiAgICB9Cn0pOwoKLyoKICoKICog0JTQvtCx0LDQstC40YLRjCDQtNC+0YfQtdGA0L3QuNC5INGD0LfQtdC7CiAqIEFkZCBjaGlsZCBub2RlCiAqCiAqLwpOb2RlLnByb3RvdHlwZS5hZGRDaGlsZCA9IGZ1bmN0aW9uKG5vZGUpCnsKICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgIHZpbi5wdXNoX2JhY2sodGhpcy5uYW1lKTsKICAgIHZpbi5wdXNoX2JhY2sobm9kZS5uYW1lKTsKICAgIE1vZHVsZS5taXJDYWxsKCJub2Rlcy5ub2RlLmFkZENoaWxkIiwgdmluKTsKfQpOb2RlLnByb3RvdHlwZS7QtNC+0LHQsNCy0LjRgtGM0JTQuNGC0Y8gPSBmdW5jdGlvbijQtNC40YLRjykKewogICAgdGhpcy5hZGRDaGlsZCjQtNC40YLRjyk7Cn07CgovKgogKgogKiDQl9Cw0LTQsNGC0Ywg0LzQsNGB0LrRgwogKiBTZXQgbWFzawogKgogKi8KTm9kZS5wcm90b3R5cGUuc2V0TWFzayA9IGZ1bmN0aW9uKG1hc2spCnsKICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgIHZpbi5wdXNoX2JhY2sodGhpcy5uYW1lKTsKICAgIHZpbi5wdXNoX2JhY2sobWFzay50b1N0cmluZygpKTsKICAgIE1vZHVsZS5taXJDYWxsKCJub2Rlcy5ub2RlLm1hc2siLCB2aW4pOwp9Ck5vZGUucHJvdG90eXBlLtC30LDQtNCw0YLRjNCc0LDRgdC60YMgPSBmdW5jdGlvbijQvNCw0YHQutCwKQp7CiAgICB0aGlzLnNldE1hc2so0LzQsNGB0LrQsCk7Cn07CgovKgogKgogKiDQl9Cw0LTQsNGC0Ywg0LzQsNGC0LXRgNC40LDQuwogKiBTZXQgbWF0ZXJpYWwKICoKICovCk5vZGUucHJvdG90eXBlLnNldE1hdGVyaWFsID0gZnVuY3Rpb24obWF0ZXJpYWwpCnsKICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgIHZpbi5wdXNoX2JhY2sodGhpcy5uYW1lKTsKICAgIGlmIChtYXRlcmlhbCkKICAgIHsKICAgICAgICB2aW4ucHVzaF9iYWNrKG1hdGVyaWFsLm5hbWUpOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIC8vIEVtcHR5IHN0cmluZyBzZXJ2ZXMgYXMgbnVsbC4KICAgICAgICB2aW4ucHVzaF9iYWNrKCIiKTsKICAgIH0KICAgIE1vZHVsZS5taXJDYWxsKCJub2Rlcy5ub2RlLm1hdGVyaWFsIiwgdmluKTsKfQpOb2RlLnByb3RvdHlwZS7Qt9Cw0LTQsNGC0YzQnNCw0YLQtdGA0LjQsNC7ID0gZnVuY3Rpb24o0LzQsNGC0LXRgNC40LDQuykKewogICAgdGhpcy5zZXRNYXRlcmlhbCjQvNCw0YLQtdGA0LjQsNC7KTsKfTsKCi8qCiAqCiAqINCf0L7Qu9GD0YfQuNGC0Ywg0LjQu9C4INC30LDQtNCw0YLRjCDQv9C+0LfQuNGG0LjRjiDRg9C30LvQsAogKiBHZXQgb3Igc2V0IG5vZGUgcG9zaXRpb24KICoKICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShOb2RlLnByb3RvdHlwZSwgInBvc2l0aW9uIiwgewogICAgZ2V0OiBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgdmFyIHZpbiA9IG5ldyBNb2R1bGUuU3RyaW5nTGlzdCgpOwogICAgICAgIHZpbi5wdXNoX2JhY2sodGhpcy5uYW1lKTsKICAgICAgICBjb25zdCB2b3V0ID0gTW9kdWxlLm1pckNhbGwoIm5vZGVzLm5vZGUucG9zaXRpb24iLCB2aW4pOwogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgIHBhcnNlRmxvYXQodm91dC5nZXQoMCkpLAogICAgICAgICAgICBwYXJzZUZsb2F0KHZvdXQuZ2V0KDEpKSwKICAgICAgICAgICAgcGFyc2VGbG9hdCh2b3V0LmdldCgyKSksCiAgICAgICAgXTsKICAgIH0sCiAgICBzZXQ6IGZ1bmN0aW9uKHZhbHVlcykKICAgIHsKICAgICAgICB2YXIgdmluID0gbmV3IE1vZHVsZS5TdHJpbmdMaXN0KCk7CiAgICAgICAgdmluLnB1c2hfYmFjayh0aGlzLm5hbWUpOwogICAgICAgIGZvciAodmFyIGlkID0gMDsgaWQgPCB2YWx1ZXMubGVuZ3RoOyArK2lkKQogICAgICAgIHsKICAgICAgICAgICAgdmluLnB1c2hfYmFjayh2YWx1ZXNbaWRdLnRvU3RyaW5nKCkpOwogICAgICAgIH0KICAgICAgICBNb2R1bGUubWlyQ2FsbCgibm9kZXMubm9kZS5wb3NpdGlvbiIsIHZpbik7CiAgICB9Cn0pOwpPYmplY3QuZGVmaW5lUHJvcGVydHkoTm9kZS5wcm90b3R5cGUsICLQv9C+0LfQuNGG0LjRjyIsIHsKICAgIGdldDogZnVuY3Rpb24oKQogICAgewogICAgICAgIHJldHVybiB0aGlzLnBvc2l0aW9uOwogICAgfSwKICAgIHNldDogZnVuY3Rpb24odmFsdWVzKQogICAgewogICAgICAgIHRoaXMucG9zaXRpb24gPSB2YWx1ZXM7CiAgICB9Cn0pOwoKLyoKICoKICog0J/QvtC70YPRh9C40YLRjCDQuNC70Lgg0LfQsNC00LDRgtGMINCy0YDQsNGJ0LXQvdC40LUg0YPQt9C70LAKICogR2V0IG9yIHNldCBub2RlIHJvdGF0aW9uCiAqCiAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoTm9kZS5wcm90b3R5cGUsICJyb3RhdGlvbiIsIHsKICAgIGdldDogZnVuY3Rpb24oKQogICAgewogICAgICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgICAgICB2aW4ucHVzaF9iYWNrKHRoaXMubmFtZSk7CiAgICAgICAgY29uc3Qgdm91dCA9IE1vZHVsZS5taXJDYWxsKCJub2Rlcy5ub2RlLnJvdGF0aW9uIiwgdmluKTsKICAgICAgICByZXR1cm4gWwogICAgICAgICAgICBwYXJzZUZsb2F0KHZvdXQuZ2V0KDApKSwKICAgICAgICAgICAgcGFyc2VGbG9hdCh2b3V0LmdldCgxKSksCiAgICAgICAgICAgIHBhcnNlRmxvYXQodm91dC5nZXQoMikpLAogICAgICAgIF07CiAgICB9LAogICAgc2V0OiBmdW5jdGlvbih2YWx1ZXMpCiAgICB7CiAgICAgICAgdmFyIHZpbiA9IG5ldyBNb2R1bGUuU3RyaW5nTGlzdCgpOwogICAgICAgIHZpbi5wdXNoX2JhY2sodGhpcy5uYW1lKTsKICAgICAgICBmb3IgKHZhciBpZCA9IDA7IGlkIDwgdmFsdWVzLmxlbmd0aDsgKytpZCkKICAgICAgICB7CiAgICAgICAgICAgIHZpbi5wdXNoX2JhY2sodmFsdWVzW2lkXS50b1N0cmluZygpKTsKICAgICAgICB9CiAgICAgICAgTW9kdWxlLm1pckNhbGwoIm5vZGVzLm5vZGUucm90YXRpb24iLCB2aW4pOwogICAgfQp9KTsKT2JqZWN0LmRlZmluZVByb3BlcnR5KE5vZGUucHJvdG90eXBlLCAi0LLRgNCw0YnQtdC90LjQtSIsIHsKICAgIGdldDogZnVuY3Rpb24oKQogICAgewogICAgICAgIHJldHVybiB0aGlzLnJvdGF0aW9uOwogICAgfSwKICAgIHNldDogZnVuY3Rpb24odmFsdWVzKQogICAgewogICAgICAgIHRoaXMucm90YXRpb24gPSB2YWx1ZXM7CiAgICB9Cn0pOwoKLy8KLy8g0KPQt9C70YsKLy8gTm9kZXMKLy8KCm11cm9tLm5vZGVzID0ge307CtC80YPRgNC+0Lwu0YPQt9C70YsgPSB7fTsKCi8qCiAqCiAqINCh0L7Qt9C00LDRgtGMINGD0LfQtdC7INGBINGD0LrQsNC30LDQvdC90L7QuSDQvNC+0LTQtdC70YzRjgogKiBDcmVhdGUgYSBub2RlIHdpdGggdGhlIHByb3ZpZGVkIG1vZGVsCiAqCiAqLwptdXJvbS5ub2Rlcy5jcmVhdGVOb2RlID0gZnVuY3Rpb24obmFtZSwgcmVzb3VyY2UpCnsKICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgIHZpbi5wdXNoX2JhY2sobmFtZSk7CiAgICBpZiAocmVzb3VyY2UpCiAgICB7CiAgICAgICAgdmluLnB1c2hfYmFjayhyZXNvdXJjZS5uYW1lKTsKICAgIH0KICAgIE1vZHVsZS5taXJDYWxsKCJub2Rlcy5jcmVhdGVOb2RlIiwgdmluKTsKICAgIHJldHVybiBuZXcgTm9kZShuYW1lKTsKfQrQvNGD0YDQvtC8LtGD0LfQu9GLLtGB0L7Qt9C00LDRgtGM0KPQt9C10LsgPSBmdW5jdGlvbijQuNC80Y8sINC80L7QtNC10LvRjCkKewogICAgcmV0dXJuIG11cm9tLm5vZGVzLmNyZWF0ZU5vZGUo0LjQvNGPLCDQvNC+0LTQtdC70YwpOwp9OwoKLyoKICoKICog0KHQvtC30LTQsNGC0Ywg0YHRhNC10YDQuNGH0LXRgdC60LjQuSDRg9C30LXQuyDRgSDRg9C60LDQt9Cw0L3QvdGL0Lwg0YDQsNC00LjRg9GB0L7QvAogKiBDcmVhdGUgYSBzcGhlcmljYWwgbm9kZSB3aXRoIHRoZSBwcm92aWRlZCByYWRpdXMKICoKICovCm11cm9tLm5vZGVzLmNyZWF0ZVNwaGVyZSA9IGZ1bmN0aW9uKG5hbWUsIHJhZGl1cykKewogICAgdmFyIHZpbiA9IG5ldyBNb2R1bGUuU3RyaW5nTGlzdCgpOwogICAgdmluLnB1c2hfYmFjayhuYW1lKTsKICAgIHZpbi5wdXNoX2JhY2socmFkaXVzLnRvU3RyaW5nKCkpOwogICAgTW9kdWxlLm1pckNhbGwoIm5vZGVzLmNyZWF0ZVNwaGVyZSIsIHZpbik7CiAgICByZXR1cm4gbmV3IE5vZGUobmFtZSk7Cn0K0LzRg9GA0L7QvC7Rg9C30LvRiy7RgdC+0LfQtNCw0YLRjNCh0YTQtdGA0YMgPSBmdW5jdGlvbijQuNC80Y8sINGA0LDQtNC40YPRgSkKewogICAgcmV0dXJuIG11cm9tLm5vZGVzLmNyZWF0ZVNwaGVyZSjQuNC80Y8sINGA0LDQtNC40YPRgSk7Cn07CgovKgogKgogKiDQn9C+0LvRg9GH0LjRgtGMINGB0YPRidC10YHRgtCy0YPRjtGJ0LjQuSDRg9C30LXQuyDQv9C+INC40LzQtdC90LgKICogR2V0IGV4aXN0aW5nIG5vZGUgYnkgbmFtZQogKgogKi8KbXVyb20ubm9kZXMubm9kZSA9IGZ1bmN0aW9uKG5hbWUpCnsKICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgIHZpbi5wdXNoX2JhY2sobmFtZSk7CiAgICBjb25zdCB2b3V0ID0gTW9kdWxlLm1pckNhbGwoIm5vZGVzLm5vZGUuZXhpc3RzIiwgdmluKTsKICAgIC8vIEV4aXN0cy4KICAgIGlmICh2b3V0LnNpemUoKSA9PSAxKQogICAgewogICAgICAgIHJldHVybiBuZXcgTm9kZShuYW1lKTsKICAgIH0KICAgIC8vIEFic2VudC4KICAgIHJldHVybiBudWxsOwp9CtC80YPRgNC+0Lwu0YPQt9C70Ysu0YPQt9C10LsgPSBmdW5jdGlvbijQuNC80Y8pCnsKICAgIHJldHVybiBtdXJvbS5ub2Rlcy5ub2RlKNC40LzRjyk7Cn07", +{"status":true} +], + + +[ +"муром.апи.материалы_1.0.0", +"Ly8KLy8g0JzQsNGC0LXRgNC40LDQuwovLyBNYXRlcmlhbAovLwoKLyoKICoKICog0JrQvtC90YHRgtGA0YPQutGC0L7RgAogKiBDb25zdHJ1Y3RvcgogKgogKi8KZnVuY3Rpb24gTWF0ZXJpYWwobmFtZSkKewogICAgdGhpcy5uYW1lID0gbmFtZTsKfQpPYmplY3QuZGVmaW5lUHJvcGVydHkoTWF0ZXJpYWwucHJvdG90eXBlLCAi0LjQvNGPIiwgewogICAgZ2V0OiBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgcmV0dXJuIHRoaXMubmFtZTsKICAgIH0KfSk7CgovKgogKgogKiDQl9Cw0LTQsNGC0Ywg0LLQtdGA0YjQuNC90L3Ri9C5INC4INGE0YDQsNCz0LzQtdC90YLQvdGL0Lkg0YjQtdC50LTQtdGA0YsKICogU2V0IHZlcnRleCBhbmQgZnJhZ21lbnQgc2hhZGVycwogKgogKi8KTWF0ZXJpYWwucHJvdG90eXBlLnNldFNoYWRlcnMgPSBmdW5jdGlvbih2ZXJ0ZXgsIGZyYWdtZW50KQp7CiAgICB2YXIgdmluID0gbmV3IE1vZHVsZS5TdHJpbmdMaXN0KCk7CiAgICB2aW4ucHVzaF9iYWNrKHRoaXMubmFtZSk7CiAgICB2aW4ucHVzaF9iYWNrKHZlcnRleCk7CiAgICB2aW4ucHVzaF9iYWNrKGZyYWdtZW50KTsKICAgIE1vZHVsZS5taXJDYWxsKCJtYXRlcmlhbHMubWF0ZXJpYWwuc2hhZGVycyIsIHZpbik7Cn0KTWF0ZXJpYWwucHJvdG90eXBlLtC30LDQtNCw0YLRjNCo0LXQudC00LXRgNGLID0gZnVuY3Rpb24o0LLQtdGA0YjQuNC90L3Ri9C5LCDRhNGA0LDQs9C80LXQvdGC0L3Ri9C5KQp7CiAgICB0aGlzLnNldFNoYWRlcnMo0LLQtdGA0YjQuNC90L3Ri9C5LCDRhNGA0LDQs9C80LXQvdGC0L3Ri9C5KTsKfTsKCi8qCiAqCiAqINCX0LDQtNCw0YLRjCDRjtC90LjRhNC+0YDQvCDRiNC10LnQtNC10YDQsAogKiBTZXQgc2hhZGVyIHVuaWZvcm0KICoKICovCk1hdGVyaWFsLnByb3RvdHlwZS5zZXRVbmlmb3JtID0gZnVuY3Rpb24odW5pZm9ybSwgdmFsdWUpCnsKICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgIHZpbi5wdXNoX2JhY2sodGhpcy5uYW1lKTsKICAgIHZpbi5wdXNoX2JhY2sodW5pZm9ybSk7CiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpCiAgICB7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7ICsraSkKICAgICAgICB7CiAgICAgICAgICAgIHZpbi5wdXNoX2JhY2sodmFsdWVbaV0udG9TdHJpbmcoKSk7CiAgICAgICAgfQogICAgfQogICAgZWxzZQogICAgewogICAgICAgIHZpbi5wdXNoX2JhY2sodmFsdWUpOwogICAgfQogICAgTW9kdWxlLm1pckNhbGwoIm1hdGVyaWFscy5tYXRlcmlhbC51bmlmb3JtIiwgdmluKTsKfQpNYXRlcmlhbC5wcm90b3R5cGUu0LfQsNC00LDRgtGM0K7QvdC40YTQvtGA0LwgPSBmdW5jdGlvbijQuNC80Y8sINC30L3QsNGH0LXQvdC40LUpCnsKICAgIHRoaXMuc2V0VW5pZm9ybSjQuNC80Y8sINC30L3QsNGH0LXQvdC40LUpCn07CgovKgogKgogKiDQl9Cw0LTQsNGC0Ywg0YLQtdC60YHRgtGD0YDRgwogKiBTZXQgdGV4dHVyZQogKgogKi8KTWF0ZXJpYWwucHJvdG90eXBlLnNldFRleHR1cmUgPSBmdW5jdGlvbih1bmlmb3JtTmFtZSwgdGV4dHVyZSkKewogICAgdmFyIHZpbiA9IG5ldyBNb2R1bGUuU3RyaW5nTGlzdCgpOwogICAgdmluLnB1c2hfYmFjayh0aGlzLm5hbWUpOwogICAgdmluLnB1c2hfYmFjayh1bmlmb3JtTmFtZSk7CiAgICB2aW4ucHVzaF9iYWNrKHRleHR1cmUubmFtZSk7CiAgICBNb2R1bGUubWlyQ2FsbCgibWF0ZXJpYWxzLm1hdGVyaWFsLnRleHR1cmUiLCB2aW4pOwp9Ck1hdGVyaWFsLnByb3RvdHlwZS7Qt9Cw0LTQsNGC0YzQotC10LrRgdGC0YPRgNGDID0gZnVuY3Rpb24o0LjQvNGP0K7QvdC40YTQvtGA0LzQsCwg0YLQtdC60YHRgtGD0YDQsCkKewogICAgdGhpcy5zZXRUZXh0dXJlKNC40LzRj9Cu0L3QuNGE0L7RgNC80LAsINGC0LXQutGB0YLRg9GA0LApCn07CgovLwovLyDQnNCw0YLQtdGA0LjQsNC70YsKLy8gTWF0ZXJpYWxzCi8vCgptdXJvbS5tYXRlcmlhbHMgPSB7fTsK0LzRg9GA0L7QvC7QvNCw0YLQtdGA0LjQsNC70YsgPSB7fTsKCi8qCiAqCiAqINCh0L7Qt9C00LDRgtGMINC80LDRgtC10YDQuNCw0LsKICogQ3JlYXRlIGEgbWF0ZXJpYWwKICoKICovCm11cm9tLm1hdGVyaWFscy5jcmVhdGVNYXRlcmlhbCA9IGZ1bmN0aW9uKG5hbWUpCnsKICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgIHZpbi5wdXNoX2JhY2sobmFtZSk7CiAgICBNb2R1bGUubWlyQ2FsbCgibWF0ZXJpYWxzLmNyZWF0ZU1hdGVyaWFsIiwgdmluKTsKICAgIHJldHVybiBuZXcgTWF0ZXJpYWwobmFtZSk7Cn0K0LzRg9GA0L7QvC7QvNCw0YLQtdGA0LjQsNC70Ysu0YHQvtC30LTQsNGC0YzQnNCw0YLQtdGA0LjQsNC7ID0gZnVuY3Rpb24o0LjQvNGPKQp7CiAgICByZXR1cm4gbXVyb20ubWF0ZXJpYWxzLmNyZWF0ZU1hdGVyaWFsKNC40LzRjyk7Cn07", +{"status":true} +], + + +[ +"муром.апи.ресурсы_1.0.0", +"Ly8KLy8g0KDQtdGB0YPRgNGBCi8vIFJlc291cmNlCi8vCgovKgogKgogKiDQmtC+0L3RgdGC0YDRg9C60YLQvtGACiAqIENvbnN0cnVjdG9yCiAqCiAqLwpmdW5jdGlvbiBSZXNvdXJjZShuYW1lKQp7CiAgICB0aGlzLm5hbWUgPSBuYW1lOwp9Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZXNvdXJjZS5wcm90b3R5cGUsICLQuNC80Y8iLCB7CiAgICBnZXQ6IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gdGhpcy5uYW1lOwogICAgfQp9KTsKCi8qCiAqCiAqINCf0L7Qu9GD0YfQuNGC0Ywg0LjQu9C4INC30LDQtNCw0YLRjCDRgdC+0LTQtdGA0LbQuNC80L7QtSDRgNC10YHRg9GA0YHQsAogKiBHZXQgb3Igc2V0IHJlc291cmNlIGNvbnRlbnRzCiAqCiAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVzb3VyY2UucHJvdG90eXBlLCAiY29udGVudHMiLCB7CiAgICBnZXQ6IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICB2YXIgdmluID0gbmV3IE1vZHVsZS5TdHJpbmdMaXN0KCk7CiAgICAgICAgdmluLnB1c2hfYmFjayh0aGlzLm5hbWUpOwogICAgICAgIGNvbnN0IHZvdXQgPSBNb2R1bGUubWlyQ2FsbCgicmVzb3VyY2VzLnJlc291cmNlLmNvbnRlbnRzIiwgdmluKTsKICAgICAgICByZXR1cm4gYmFzZTY0RGVjb2RlKHZvdXQuZ2V0KDApKTsKICAgIH0sCiAgICBzZXQ6IGZ1bmN0aW9uKGNvbnRlbnRzKQogICAgewogICAgICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgICAgICB2aW4ucHVzaF9iYWNrKHRoaXMubmFtZSk7CiAgICAgICAgdmluLnB1c2hfYmFjayhiYXNlNjRFbmNvZGUoY29udGVudHMpKTsKICAgICAgICBNb2R1bGUubWlyQ2FsbCgicmVzb3VyY2VzLnJlc291cmNlLmNvbnRlbnRzIiwgdmluKTsKICAgIH0KfSk7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZXNvdXJjZS5wcm90b3R5cGUsICLRgdC+0LTQtdGA0LbQuNC80L7QtSIsIHsKICAgIGdldDogZnVuY3Rpb24oKQogICAgewogICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnRzOwogICAgfQp9KTsKCi8vCi8vINCg0LXRgdGD0YDRgdGLCi8vIFJlc291cmNlcwovLwoKbXVyb20ucmVzb3VyY2VzID0ge307CtC80YPRgNC+0Lwu0YDQtdGB0YPRgNGB0YsgPSB7fTsKCi8qCiAqCiAqINCh0L7Qt9C00LDRgtGMINGA0LXRgdGD0YDRgSDRgSDRg9C60LDQt9Cw0L3QvdGL0Lwg0YHQvtC00LXRgNC20LjQvNGL0LwKICogQ3JlYXRlIGEgcmVzb3VyY2Ugd2l0aCB0aGUgcHJvdmlkZWQgY29udGVudHMKICoKICovCm11cm9tLnJlc291cmNlcy5jcmVhdGVSZXNvdXJjZSA9IGZ1bmN0aW9uKG5hbWUsIGNvbnRlbnRzKQp7CiAgICB2YXIgdmluID0gbmV3IE1vZHVsZS5TdHJpbmdMaXN0KCk7CiAgICB2aW4ucHVzaF9iYWNrKG5hbWUpOwogICAgaWYgKGNvbnRlbnRzKQogICAgewogICAgICAgIHZpbi5wdXNoX2JhY2soY29udGVudHMpOwogICAgfQogICAgTW9kdWxlLm1pckNhbGwoInJlc291cmNlcy5jcmVhdGVSZXNvdXJjZSIsIHZpbik7CiAgICByZXR1cm4gbmV3IFJlc291cmNlKG5hbWUpOwp9OwrQvNGD0YDQvtC8LtGA0LXRgdGD0YDRgdGLLtGB0L7Qt9C00LDRgtGM0KDQtdGB0YPRgNGBID0gZnVuY3Rpb24o0LjQvNGPLCDRgdC+0LTQtdGA0LbQuNC80L7QtSkKewogICAgcmV0dXJuIG11cm9tLnJlc291cmNlcy5jcmVhdGVSZXNvdXJjZSjQuNC80Y8sINGB0L7QtNC10YDQttC40LzQvtC1KTsKfTsKCi8qCiAqCiAqINCf0L7Qu9GD0YfQuNGC0Ywg0YDQtdGB0YPRgNGB0Ysg0L/QviBIVFRQKFMpCiAqIEdldCByZXNvdXJjZXMgb3ZlciBIVFRQKFMpCiAqCiAqLwptdXJvbS5yZXNvdXJjZXMuZ2V0ID0gZnVuY3Rpb24oaXRlbXMsIGNvbXBsZXRpb25DYWxsYmFjaykKewogICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgIHZhciBjb3VudCA9IDA7CiAgICBmdW5jdGlvbiByZXBvcnRDb21wbGV0aW9uKCkKICAgIHsKICAgICAgICBpZiAoKytjb3VudCA9PSBpdGVtcy5sZW5ndGgpCiAgICAgICAgewogICAgICAgICAgICBpZiAoY29tcGxldGlvbkNhbGxiYWNrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb21wbGV0aW9uQ2FsbGJhY2soKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICB2YXIgbmFtZXMgPSB7IH07CgogICAgZm9yICh2YXIgaWQgaW4gaXRlbXMpCiAgICB7CiAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2lkXTsKCiAgICAgICAgLy8gUmVzb3VyY2UgVVJMIC8gbmFtZS4KICAgICAgICBjb25zdCB1cmwgPSBpdGVtWzBdOwogICAgICAgIG5hbWVzW3VybF0gPSB1cmw7CiAgICAgICAgaWYgKGl0ZW0ubGVuZ3RoID4gMSkKICAgICAgICB7CiAgICAgICAgICAgIG5hbWVzW3VybF0gPSBpdGVtWzFdOwogICAgICAgIH0KCiAgICAgICAgLy8gRG93bmxvYWQgdGhlIHJlc291cmNlLgogICAgICAgIG11cm9tLmdldGIoCiAgICAgICAgICAgIHVybCwKICAgICAgICAgICAgZnVuY3Rpb24oY29udGVudHMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheShjb250ZW50cyk7CiAgICAgICAgICAgICAgICB2YXIgYjY0ID0gYmFzZTY0anMuZnJvbUJ5dGVBcnJheShhcnIpOwogICAgICAgICAgICAgICAgdmFyIG5hbWUgPSBuYW1lc1t1cmxdOwogICAgICAgICAgICAgICAgbXVyb20ucmVzb3VyY2VzLmNyZWF0ZVJlc291cmNlKG5hbWUsIGI2NCk7CiAgICAgICAgICAgICAgICByZXBvcnRDb21wbGV0aW9uKCkKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZnVuY3Rpb24oc3RhdHVzKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgbmFtZSA9IG5hbWVzW3VybF07CiAgICAgICAgICAgICAgICBMT0coCiAgICAgICAgICAgICAgICAgICAgZm9ybWF0U3RyaW5nKAogICAgICAgICAgICAgICAgICAgICAgICAiRVJST1IgQ291bGQgbm90IGRvd25sb2FkIHJlc291cmNlLCBuYW1lOiAnezB9JyB1cmw6ICd7MX0nIHN0YXR1czogJ3syfSciLAogICAgICAgICAgICAgICAgICAgICAgICBuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICB1cmwsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cwogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICByZXBvcnRDb21wbGV0aW9uKCkKICAgICAgICAgICAgfQogICAgICAgICk7CiAgICB9Cn0K0LzRg9GA0L7QvC7RgNC10YHRg9GA0YHRiy7Qv9C+0LvRg9GH0LjRgtGMID0gZnVuY3Rpb24o0YDQtdGB0YPRgNGB0YssINC+0YLQutC70LjQuikKewogICAgbXVyb20ucmVzb3VyY2VzLmdldCjRgNC10YHRg9GA0YHRiywg0L7RgtC60LvQuNC6KTsKfTsKCi8qCiAqCiAqINCf0L7Qu9GD0YfQuNGC0Ywg0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC5INGA0LXRgdGD0YDRgSDQv9C+INC40LzQtdC90LgKICogR2V0IGV4aXN0aW5nIHJlc291cmNlIGJ5IG5hbWUKICoKICovCm11cm9tLnJlc291cmNlcy5yZXNvdXJjZSA9IGZ1bmN0aW9uKG5hbWUpCnsKICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgIHZpbi5wdXNoX2JhY2sobmFtZSk7CiAgICBjb25zdCB2b3V0ID0gTW9kdWxlLm1pckNhbGwoInJlc291cmNlcy5yZXNvdXJjZS5leGlzdHMiLCB2aW4pOwogICAgLy8gRXhpc3RzLgogICAgaWYgKHZvdXQuc2l6ZSgpID09IDEpCiAgICB7CiAgICAgICAgcmV0dXJuIG5ldyBSZXNvdXJjZShuYW1lKTsKICAgIH0KICAgIC8vIEFic2VudC4KICAgIHJldHVybiBudWxsOwp9CtC80YPRgNC+0Lwu0YDQtdGB0YPRgNGB0Ysu0YDQtdGB0YPRgNGBID0gZnVuY3Rpb24o0LjQvNGPKQp7CiAgICByZXR1cm4gbXVyb20ucmVzb3VyY2VzLnJlc291cmNlKNC40LzRjyk7Cn07", +{"status":true} +], + + +[ +"муром.заставка_2.0.0", +"ZnVuY3Rpb24g0L/QvtC60LDQt9Cw0YLRjNCX0LDRgdGC0LDQstC60YMoKQp7CiAgICB2YXIg0Y3QutGA0LDQvSA9INGB0L7Qt9C00LDRgtGM0K3QutGA0LDQvSgi0LzRg9GA0L7QvC3Qt9Cw0YHRgtCw0LLQutCwIik7CiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKNGN0LrRgNCw0L0pOwogICAgdmFyINCy0LjQtCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7CiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKNCy0LjQtCk7CiAgICAKICAgIC8vINCh0YLRgNGD0LrRgtGD0YDQsC4KCiAgICDRjdC60YDQsNC9LmlubmVySFRNTCA9CmAKPGRpdiBpZD0i0LzRg9GA0L7QvC3Qt9Cw0YHRgtCw0LLQutCwLdGC0LXQu9C+Ij4KICAgIDxjZW50ZXI+CiAgICAgICAgPGgxIGlkPSLQvNGD0YDQvtC8LdC30LDRgdGC0LDQstC60LAt0LfQsNCz0L7Qu9C+0LLQvtC6Ij7QnNCj0KDQntCcPC9oMT4KICAgICAgICA8c3Ryb25nPjIuMC4wPC9zdHJvbmc+CiAgICAgICAgPHA+0KDQsNC30YDQsNCx0LDRgtGL0LLQsNC5INC70L7QutCw0LvRjNC90L4sINGA0LDQt9C00LDQstCw0Lkg0LPQu9C+0LHQsNC70YzQvdC+PC9wPgogICAgPC9jZW50ZXI+CjwvZGl2PgpgOwoKICAgIC8vINCS0LjQtC4KICAgIAogICAg0LLQuNC0LmlubmVySFRNTCA9CmAKI9C80YPRgNC+0Lwt0LfQsNGB0YLQsNCy0LrQsC3Qt9Cw0LPQvtC70L7QstC+0LoKewogICAgZm9udDogYm9sZCA0ZW0gc2VyaWY7Cn0KI9C80YPRgNC+0Lwt0LfQsNGB0YLQsNCy0LrQsC3RgtC10LvQvgp7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA1MCU7CiAgICB0b3A6IDUwJTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KI9C80YPRgNC+0Lwt0LfQsNGB0YLQsNCy0LrQsAp7CiAgICBvcGFjaXR5OiAxOwogICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgICBhbmltYXRpb246IGZhZGVPdXQgMXMgZWFzZTsKICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwp9CkBrZXlmcmFtZXMgZmFkZU91dAp7CiAgICAwJQogICAgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICB9CiAgICA2MCUKICAgIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgfQogICAgMTAwJQogICAgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICB9Cn0KYDsKCiAgICAvLyDQo9C00LDQu9C10L3QuNC1INGN0LrRgNCw0L3QsC4KICAgIAogICAg0Y3QutGA0LDQvS5hZGRFdmVudExpc3RlbmVyKAogICAgICAgICJhbmltYXRpb25lbmQiLAogICAgICAgIGZ1bmN0aW9uKCkKICAgICAgICB7CiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQo0Y3QutGA0LDQvSk7CiAgICAgICAgfQogICAgKTsKCn0KCtC/0YDQuCjQvNGD0YDQvtC8LtGA0LXQttC40LzQoNC10LTQsNC60YLQvtGA0LAsINC/0L7QutCw0LfQsNGC0YzQl9Cw0YHRgtCw0LLQutGDKTs=", {} ],