IyBUaGlzIHNldCBvZiB0ZXN0cyBjaGVjayB0aGUgREZBIG1hdGNoaW5nIGZ1bmN0aW9uYWxpdHkgb2YgcGNyZTJfZGZhX21hdGNoKCksCiMgZXhjbHVkaW5nIFVURiBhbmQgVW5pY29kZSBwcm9wZXJ0eSBzdXBwb3J0LiBBbGwgbWF0Y2hlcyBhcmUgZG9uZSB1c2luZyBERkEsCiMgZm9yY2VkIGJ5IHNldHRpbmcgYSBkZWZhdWx0IHN1YmplY3QgbW9kaWZpZXIgYXQgdGhlIHN0YXJ0LgogICAgCiNmb3JiaWRfdXRmCiNzdWJqZWN0IGRmYQojbmV3bGluZV9kZWZhdWx0IGxmIGFueWNybGYgYW55CiAgICAgCi9hYmMvCiAgICBhYmMKICAgIAovYWIqYy8KICAgIGFiYwogICAgYWJiYmJjCiAgICBhYwogICAgCi9hYitjLwogICAgYWJjCiAgICBhYmJiYmJiYwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhYwogICAgYWIKICAgIAovYSovbm9fYXV0b19wb3NzZXNzCiAgICBhCiAgICBhYWFhYWFhYWFhYWFhYWFhYQogICAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhXD1vdmVjdG9yPTEwIAogICAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhXD1kZmFfc2hvcnRlc3QKICAgIAovKGF8YWJjZHxhZnJpY2FuKS8KICAgIGEKICAgIGFiY2QKICAgIGFmcmljYW4KICAgIAovXmFiYy8KICAgIGFiY2RlZgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5emFiYwogICAgeHl6XG5hYmMgICAgCiAgICAKL15hYmMvbQogICAgYWJjZGVmCiAgICB4eXpcbmFiYyAgICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXphYmMKICAgIAovXEFhYmMvCiAgICBhYmNkZWYKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXphYmMKICAgIHh5elxuYWJjICAgIAogICAgCi9cQWFiYy9tCiAgICBhYmNkZWYKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXphYmMKICAgIHh5elxuYWJjICAgIAogICAgCi9cR2FiYy8KICAgIGFiY2RlZgogICAgeHl6YWJjXD1vZmZzZXQ9MwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5emFiYyAgICAKICAgIHh5emFiY1w9b2Zmc2V0PTIKICAgIAoveFxkeVxEei8KICAgIHg5eXp6CiAgICB4MHkregpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5egogICAgeHh5MHogICAgIAogICAgCi94XHN5XFN6LwogICAgeCB5enoKICAgIHggeSt6Clw9IEV4cGVjdCBubyBtYXRjaAogICAgeHl6CiAgICB4eHl5egogICAgCi94XHd5XFd6LwogICAgeHh5K3oKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eHkwegogICAgeCt5K3ogICAgICAgICAKICAgIAoveC55LwogICAgeCt5CiAgICB4LXkKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4XG55CiAgICAKL3gueS9zCiAgICB4K3kKICAgIHgteQogICAgeFxueQoKLyhhLmIoP3MpYy5kfHgueSlwLnEvCiAgICBhK2JjK2RwK3EKICAgIGErYmNcbmRwK3EKICAgIHhcbnlwK3EgClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGFcbmJjXG5kcCtxCiAgICBhK2JjXG5kcFxucQogICAgeFxueXBcbnEgCgovYVxkXHovCiAgICBiYTAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiYTBcbgogICAgYmEwXG5jZCAgIAoKL2FcZFx6L20KICAgIGJhMApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJhMFxuCiAgICBiYTBcbmNkICAgCgovYVxkXFovCiAgICBiYTAKICAgIGJhMFxuClw9IEV4cGVjdCBubyBtYXRjaAogICAgYmEwXG5jZCAgIAoKL2FcZFxaL20KICAgIGJhMAogICAgYmEwXG4KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiYTBcbmNkICAgCgovYVxkJC8KICAgIGJhMAogICAgYmEwXG4KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiYTBcbmNkICAgCgovYVxkJC9tCiAgICBiYTAKICAgIGJhMFxuCiAgICBiYTBcbmNkICAgCgovYWJjL2kKICAgIGFiYwogICAgYUJjCiAgICBBQkMKICAgIAovW15hXS8KICAgIGFiY2QKICAgIAovYWI/XHcvCiAgICBhYnoKICAgIGFiYnoKICAgIGF6eiAgCgoveHswLDN9eXovCiAgICBheXpxCiAgICBheHl6cQogICAgYXh4eXoKICAgIGF4eHh5enEKICAgIGF4eHh4eXpxClw9IEV4cGVjdCBubyBtYXRjaAogICAgYXgKICAgIGF4eCAgICAgCiAgICAgIAoveHszfXl6LwogICAgYXh4eHl6cQogICAgYXh4eHh5enEKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBheAogICAgYXh4ICAgICAKICAgIGF5enEKICAgIGF4eXpxCiAgICBheHh5egogICAgICAKL3h7MiwzfXl6LwogICAgYXh4eXoKICAgIGF4eHh5enEKICAgIGF4eHh4eXpxClw9IEV4cGVjdCBubyBtYXRjaAogICAgYXgKICAgIGF4eCAgICAgCiAgICBheXpxCiAgICBheHl6cQogICAgICAKL1teYV0rL25vX2F1dG9fcG9zc2VzcwogICAgYmFjCiAgICBiY2RlZmF4Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFhYWEgICAKCi9bXmFdKi9ub19hdXRvX3Bvc3Nlc3MKICAgIGJhYwogICAgYmNkZWZheAogICAgYWFhYWEgICAKICAgIAovW15hXXszLDV9L25vX2F1dG9fcG9zc2VzcwogICAgeHl6CiAgICBhd3h5emEKICAgIGFiY2RlZmEKICAgIGFiY2RlZmdoaWprClw9IEV4cGVjdCBubyBtYXRjaAogICAgYXh5YQogICAgYXhhCiAgICBhYWFhYSAgICAgICAgIAoKL1xkKi8KICAgIDEyMzRiNTY3CiAgICB4eXoKICAgIAovXEQqLwogICAgYTEyMzRiNTY3CiAgICB4eXoKICAgICAKL1xkKy8KICAgIGFiMTIzNGM1NgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5egogICAgCi9cRCsvCiAgICBhYjEyM2M1NgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDc4OQogICAgCi9cZD9BLwogICAgMDQ1QUJDCiAgICBBQkMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBYWVoKICAgIAovXEQ/QS8KICAgIEFCQwogICAgQkFDCiAgICA5QUJDICAgICAgICAgICAgIAoKL2ErLwogICAgYWFhYQoKL14uKnh5ei8KICAgIHh5egogICAgZ2dnZ2dnZ2d4eXoKICAgIAovXi4reHl6LwogICAgYWJjZHh5egogICAgYXh5egpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5egogICAgCi9eLj94eXovCiAgICB4eXoKICAgIGN4eXogICAgICAgCgovXlxkezIsM31YLwogICAgMTJYCiAgICAxMjNYClw9IEV4cGVjdCBubyBtYXRjaAogICAgWAogICAgMVgKICAgIDEyMzRYICAgICAKCi9eW2FiY2RdXGQvCiAgICBhNDUKICAgIGI5MwogICAgYzk5egogICAgZDA0Clw9IEV4cGVjdCBubyBtYXRjaAogICAgZTQ1CiAgICBhYmNkICAgICAgCiAgICBhYmNkMTIzNAogICAgMTIzNCAgCgovXlthYmNkXSpcZC8KICAgIGE0NQogICAgYjkzCiAgICBjOTl6CiAgICBkMDQKICAgIGFiY2QxMjM0CiAgICAxMjM0ICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBlNDUKICAgIGFiY2QgICAgICAKCi9eW2FiY2RdK1xkLwogICAgYTQ1CiAgICBiOTMKICAgIGM5OXoKICAgIGQwNAogICAgYWJjZDEyMzQKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjM0ICAKICAgIGU0NQogICAgYWJjZCAgICAgIAoKL15hK1gvCiAgICBhWAogICAgYWFYIAoKL15bYWJjZF0/XGQvCiAgICBhNDUKICAgIGI5MwogICAgYzk5egogICAgZDA0CiAgICAxMjM0ICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNkMTIzNAogICAgZTQ1CgovXlthYmNkXXsyLDN9XGQvCiAgICBhYjQ1CiAgICBiY2Q5MwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMzQgCiAgICBhMzYgCiAgICBhYmNkMTIzNAogICAgZWU0NQoKL14oYWJjKSpcZC8KICAgIGFiYzQ1CiAgICBhYmNhYmNhYmM0NQogICAgNDJ4eXogCgovXihhYmMpK1xkLwogICAgYWJjNDUKICAgIGFiY2FiY2FiYzQ1Clw9IEV4cGVjdCBubyBtYXRjaAogICAgNDJ4eXogCgovXihhYmMpP1xkLwogICAgYWJjNDUKICAgIDQyeHl6IApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2FiY2FiYzQ1CgovXihhYmMpezIsM31cZC8KICAgIGFiY2FiYzQ1CiAgICBhYmNhYmNhYmM0NQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2FiY2FiY2FiYzQ1CiAgICBhYmM0NQogICAgNDJ4eXogCgovMShhYmN8eHl6KTIoPzEpMy8KICAgIDFhYmMyYWJjMzQ1NgogICAgMWFiYzJ4eXozNDU2IAoKL14oYSpcd3xhYik9KGEqXHd8YWIpLwogICAgYWI9YWIKCi9eKGEqXHd8YWIpPSg/MSkvCiAgICBhYj1hYgoKL14oW14oKV18XCgoPzEpKlwpKSokLwogICAgYWJjCiAgICBhKGIpYwogICAgYShiKGMpKWQgIApcPSBFeHBlY3Qgbm8gbWF0Y2gpCiAgICBhKGIoYylkICAKCi9ePmFiYz4oW14oKV18XCgoPzEpKlwpKSo8eHl6PCQvCiAgICA+YWJjPjEyMzx4eXo8CiAgICA+YWJjPjEoMikzPHh5ejwKICAgID5hYmM+KDEoMikzKTx4eXo8CgovXig/PmEqKVxkLwogICAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE5ODc2Clw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhCgovPCAoPzogKD8oUikgXGQrKyAgfCBbXjw+XSorKSB8ICg/UikpICogPi94CiAgICA8PgogICAgPGFiY2Q+CiAgICA8YWJjIDwxMjM+IGhpaj4KICAgIDxhYmMgPGRlZj4gaGlqPgogICAgPGFiYzw+ZGVmPiAKICAgIDxhYmM8PiAgICAgIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDxhYmMKCi9eKD8oPz1hYmMpXHd7M306fFxkXGQpJC8KICAgIGFiYzogICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApcPSBFeHBlY3Qgbm8gbWF0Y2ggICAgICAgICAgICAgICAgICAgICAKICAgIDEyMyAgICAgICAgICAgICAgICAgICAgICAgCiAgICB4eXogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKL14oPyg/IWFiYylcZFxkfFx3ezN9OikkLwogICAgYWJjOiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgMTIgICAgICAgICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjMKICAgIHh5eiAgICAKCi9eKD89YWJjKVx3ezV9OiQvCiAgICBhYmNkZTogICAgICAgICAgICAgICAgICAgICAgICAgIApcPSBFeHBlY3Qgbm8gbWF0Y2ggICAgICAgICAgICAgICAgICAgICAKICAgIGFiYy4uIAogICAgMTIzICAgICAgICAgICAgICAgICAgICAgICAKICAgIHZ3eHl6ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi9eKD8hYWJjKVxkXGQkLwogICAgMTIgICAgICAgICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNkZToKICAgIGFiYy4uICAKICAgIDEyMwogICAgdnd4eXogICAgCgovKD88PWFiY3x4eSkxMjMvCiAgICBhYmMxMjM0NQogICAgd3h5MTIzegpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyM2FiYwoKLyg/PCFhYmN8eHkpMTIzLwogICAgMTIzYWJjCiAgICBtbm8xMjM0NTYgClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjMTIzNDUKICAgIHd4eTEyM3oKCi9hYmMoP0MxKXh5ei8KICAgIGFiY3h5egogICAgMTIzYWJjeHl6OTk5IAoKLyhhYnxjZCl7Myw0fS9hdXRvX2NhbGxvdXQKICBhYmFiYWIKICBhYmNkYWJjZAogIGFiY2RjZGNkY2RjZCAgCgovXmFiYy8KICAgIGFiY2RlZgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2RlZlw9bm90Ym9sCgovXihhKnx4eXopLwogICAgYmNkCiAgICBhYWFiY2QKICAgIHh5egogICAgeHl6XD1ub3RlbXB0eQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJjZFw9bm90ZW1wdHkKICAgIAoveHl6JC8KICAgIHh5egogICAgeHl6XG4KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXpcPW5vdGVvbAogICAgeHl6XG5cPW5vdGVvbAogICAgCi94eXokL20KICAgIHh5egogICAgeHl6XG4gCiAgICBhYmN4eXpcbnBxciAKICAgIGFiY3h5elxucHFyXD1ub3Rlb2wKICAgIHh5elxuXD1ub3Rlb2wKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXpcPW5vdGVvbAoKL1xHYWJjLwogICAgYWJjZGVmCiAgICBkZWZhYmN4eXpcPW9mZnNldD0zClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGRlZmFiY3h5egoKL15hYmNkZWYvCiAgICBhYlw9cHMKICAgIGFiY2RlXD1wcwogICAgYWJjZGVmXD1wcwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFieFw9cHMKCi9eYXsyLDR9XGQrei8KICAgIGFcPXBzCiAgICBhYVw9cHMKICAgIGFhMlw9cHMKICAgIGFhYVw9cHMKICAgIGFhYTIzXD1wcwogICAgYWFhYTEyMzQ1XD1wcwogICAgYWEwelw9cHMKICAgIGFhYWE0NDQ0NDQ0NDQ0NDQ0elw9cHMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhelw9cHMKICAgIGFhYWFhXD1wcwogICAgYTU2XD1wcwoKL15hYmNkZWYvCiAgIGFiY1w9cHMKICAgZGVmXD1kZmFfcmVzdGFydAogICAKLyg/PD1mb28pYmFyLwogICBmb29iXD1wcyxvZmZzZXQ9MgogICBmb29iYXIuLi5cPXBzLGRmYV9yZXN0YXJ0LG9mZnNldD00CiAgIGZvb2Jhclw9b2Zmc2V0PTIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgIHh5emZvXD1wcwogICBvYmFyXD1kZmFfcmVzdGFydAoKLyhhYiooY2R8ZWYpKStYLwogICAgbGtqaGxramhsa2pobGtqaGFiYmJiYmJjZGFlZmFiYmJiYmJiZWZhXD1wcyxub3Rib2wsbm90ZW9sCiAgICBjZGFiYmJiYmJiYlw9cHMsbm90Ym9sLGRmYV9yZXN0YXJ0LG5vdGVvbAogICAgZWZhYmJiYmJiYmJiYmJiYmJiYlw9cHMsbm90Ym9sLGRmYV9yZXN0YXJ0LG5vdGVvbAogICAgYmJiYmJiYmJiYmJiY2RYeWFzZGZhZGZcPXBzLG5vdGJvbCxkZmFfcmVzdGFydCxub3Rlb2wKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhZGZhZGFkYWtsaGxrYWxrYWpobGtqYWhkZmFzZGZhc2RmbGFkc2Zqa2pcPXBzLG5vdGVvbAoKL3RoZSBxdWljayBicm93biBmb3gvCiAgICB0aGUgcXVpY2sgYnJvd24gZm94CiAgICBXaGF0IGRvIHlvdSBrbm93IGFib3V0IHRoZSBxdWljayBicm93biBmb3g/Clw9IEV4cGVjdCBubyBtYXRjaAogICAgVGhlIHF1aWNrIGJyb3duIEZPWAogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCBUSEUgUVVJQ0sgQlJPV04gRk9YPwoKL1RoZSBxdWljayBicm93biBmb3gvaQogICAgdGhlIHF1aWNrIGJyb3duIGZveAogICAgVGhlIHF1aWNrIGJyb3duIEZPWAogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCB0aGUgcXVpY2sgYnJvd24gZm94PwogICAgV2hhdCBkbyB5b3Uga25vdyBhYm91dCBUSEUgUVVJQ0sgQlJPV04gRk9YPwoKL2FiY2RcdFxuXHJcZlxhXGVcMDcxXHgzYlwkXFxcP2NheHl6LwogICAgYWJjZFx0XG5cclxmXGFcZTk7XCRcXD9jYXh5egoKL2EqYWJjP3h5eitwcXJ7M31hYnsyLH14eXs0LDV9cHF7MCw2fUFCezAsfXp6LwogICAgYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWFieHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYmN4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFxQXp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwcXFxcXFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFxcXFBenoKICAgIGFhYWFiY3h5enBxcnJyYWJieHl5eXlwcUF6egogICAgYWJ4eXp6cHFycnJhYmJ4eXl5eXBxQXp6CiAgICBhYWJ4eXp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYnh5enp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYWJ4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFiY3h5enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYmN4eXp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYmN4eXp6enpwcXJycmFiYnh5eXl5cHFBenoKICAgIGFhYWFiY3h5enp6enBxcnJyYWJieHl5eXlwcUF6egogICAgYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXlwcUF6egogICAgYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXl5cHFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBBQnp6CiAgICBhYWFiY3h5enBxcnJyYWJieHl5eXlwQUJCenoKICAgID4+PmFhYWJ4eXpwcXJycmFiYnh5eXl5cHFBenoKICAgID5hYWFhYnh5enBxcnJyYWJieHl5eXlwcUF6egogICAgPj4+PmFiY3h5enBxcnJyYWJieHl5eXlwcUF6egpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFieHl6cHFycmFiYnh5eXl5cHFBenoKICAgIGFieHl6cHFycnJyYWJieHl5eXlwcUF6egogICAgYWJ4eXpwcXJycmFieHl5eXlwcUF6egogICAgYWFhYWJjeHl6enp6cHFycnJhYmJieHl5eXl5eXBxQXp6CiAgICBhYWFhYmN4eXp6enpwcXJycmFiYmJ4eXl5cHFBenoKICAgIGFhYWJjeHl6cHFycnJhYmJ4eXl5eXBxcXFxcXFxQXp6CgovXihhYmMpezEsMn16ei8KICAgIGFiY3p6CiAgICBhYmNhYmN6egpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHp6CiAgICBhYmNhYmNhYmN6egogICAgPj5hYmN6egoKL14oYis/fGEpezEsMn0/Yy8KICAgIGJjCiAgICBiYmMKICAgIGJiYmMKICAgIGJhYwogICAgYmJhYwogICAgYWFjCiAgICBhYmJiYmJiYmJiYmJjCiAgICBiYmJiYmJiYmJiYmFjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFhYwogICAgYWJiYmJiYmJiYmJiYWMKCi9eKGIrfGEpezEsMn1jLwogICAgYmMKICAgIGJiYwogICAgYmJiYwogICAgYmFjCiAgICBiYmFjCiAgICBhYWMKICAgIGFiYmJiYmJiYmJiYmMKICAgIGJiYmJiYmJiYmJiYWMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWFjCiAgICBhYmJiYmJiYmJiYmJhYwoKL14oYit8YSl7MSwyfT9iYy8KICAgIGJiYwoKL14oYip8YmEpezEsMn0/YmMvCiAgICBiYWJjCiAgICBiYmFiYwogICAgYmFiYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYmFiYWJiYwogICAgYmFiYWJhYmMKCi9eKGJhfGIqKXsxLDJ9P2JjLwogICAgYmFiYwogICAgYmJhYmMKICAgIGJhYmFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJhYmFiYmMKICAgIGJhYmFiYWJjCgovXlxjYVxjQVxjW1xje1xjOi8KICAgIFx4MDFceDAxXGU7egoKL15bYWJcXWNkZV0vCiAgICBhdGhpbmcKICAgIGJ0aGluZwogICAgXXRoaW5nCiAgICBjdGhpbmcKICAgIGR0aGluZwogICAgZXRoaW5nClw9IEV4cGVjdCBubyBtYXRjaAogICAgZnRoaW5nCiAgICBbdGhpbmcKICAgIFxcdGhpbmcKCi9eW11jZGVdLwogICAgXXRoaW5nCiAgICBjdGhpbmcKICAgIGR0aGluZwogICAgZXRoaW5nClw9IEV4cGVjdCBubyBtYXRjaAogICAgYXRoaW5nCiAgICBmdGhpbmcKCi9eW15hYlxdY2RlXS8KICAgIGZ0aGluZwogICAgW3RoaW5nCiAgICBcXHRoaW5nClw9IEV4cGVjdCBubyBtYXRjaAogICAgYXRoaW5nCiAgICBidGhpbmcKICAgIF10aGluZwogICAgY3RoaW5nCiAgICBkdGhpbmcKICAgIGV0aGluZwoKL15bXl1jZGVdLwogICAgYXRoaW5nCiAgICBmdGhpbmcKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBddGhpbmcKICAgIGN0aGluZwogICAgZHRoaW5nCiAgICBldGhpbmcKCi9eXIEvCiAgICCBCgovXv8vCiAgICD/CgovXlswLTldKyQvCiAgICAwCiAgICAxCiAgICAyCiAgICAzCiAgICA0CiAgICA1CiAgICA2CiAgICA3CiAgICA4CiAgICA5CiAgICAxMAogICAgMTAwClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjCgovXi4qbnRlci8KICAgIGVudGVyCiAgICBpbnRlcgogICAgdXBvbnRlcgoKL154eHhbMC05XSskLwogICAgeHh4MAogICAgeHh4MTIzNApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh4eAoKL14uK1swLTldWzAtOV1bMC05XSQvCiAgICB4MTIzCiAgICB4eDEyMwogICAgMTIzNDU2CiAgICB4MTIzNApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMwoKL14uKz9bMC05XVswLTldWzAtOV0kLwogICAgeDEyMwogICAgeHgxMjMKICAgIDEyMzQ1NgogICAgeDEyMzQKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjMKCi9eKFteIV0rKSEoLispPWFwcXV4elwuaXhyXC56enpcLmFjXC51ayQvCiAgICBhYmMhcHFyPWFwcXV4ei5peHIuenp6LmFjLnVrClw9IEV4cGVjdCBubyBtYXRjaAogICAgIXBxcj1hcHF1eHouaXhyLnp6ei5hYy51awogICAgYWJjIT1hcHF1eHouaXhyLnp6ei5hYy51awogICAgYWJjIXBxcj1hcHF1eHo6aXhyLnp6ei5hYy51awogICAgYWJjIXBxcj1hcHF1eHouaXhyLnp6ei5hYy51a2sKCi86LwogICAgV2VsbCwgd2UgbmVlZCBhIGNvbG9uOiBzb21ld2hlcmUKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBObyBtYXRjaCB3aXRob3V0IGEgY29sb24KCi8oW1xkYS1mOl0rKSQvaQogICAgMGFiYwogICAgYWJjCiAgICBmZWQKICAgIEUKICAgIDo6CiAgICA1ZjAzOjEyQzA6OjkzMmUKICAgIGZlZCBkZWYKICAgIEFueSBvbGQgc3R1ZmYKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAwenp6CiAgICBnenp6CiAgICBmZWRceDIwCiAgICBBbnkgb2xkIHJ1YmJpc2gKCi9eLipcLihcZHsxLDN9KVwuKFxkezEsM30pXC4oXGR7MSwzfSkkLwogICAgLjEuMi4zCiAgICBBLjEyLjEyMy4wClw9IEV4cGVjdCBubyBtYXRjaAogICAgLjEuMi4zMzMzCiAgICAxLjIuMwogICAgMTIzNC4yLjMKCi9eKFxkKylccytJTlxzK1NPQVxzKyhcUyspXHMrKFxTKylccypcKFxzKiQvCiAgICAxIElOIFNPQSBub24tc3AxIG5vbi1zcDIoCiAgICAxICAgIElOICAgIFNPQSAgICBub24tc3AxICAgIG5vbi1zcDIgICAoClw9IEV4cGVjdCBubyBtYXRjaAogICAgMUlOIFNPQSBub24tc3AxIG5vbi1zcDIoCgovXlthLXpBLVpcZF1bYS16QS1aXGRcLV0qKFwuW2EtekEtWlxkXVthLXpBLXpcZFwtXSopKlwuJC8KICAgIGEuCiAgICBaLgogICAgMi4KICAgIGFiLWMucHEtci4KICAgIHN4ay56enouYWMudWsuCiAgICB4LS55LS4KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAtYWJjLnBlcS4KCi9eXCpcLlthLXpdKFthLXpcLVxkXSpbYS16XGRdKyk/KFwuW2Etel0oW2EtelwtXGRdKlthLXpcZF0rKT8pKiQvCiAgICAqLmEKICAgICouYjAtYQogICAgKi5jMy1iLmMKICAgICouYy1hLmItYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgICouMAogICAgKi5hLQogICAgKi5hLWIuYy0KICAgICouYy1hLjAtYwoKL14oPz1hYihkZSkpKGFiZCkoZSkvCiAgICBhYmRlCgovXig/IShhYilkZXx4KShhYmQpKGYpLwogICAgYWJkZgoKL14oPz0oYWIoY2QpKSkoYWIpLwogICAgYWJjZAoKL15bXGRhLWZdKFwuW1xkYS1mXSkqJC9pCiAgICBhLmIuYy5kCiAgICBBLkIuQy5ECiAgICBhLmIuYy4xLjIuMy5DCgovXlwiLipcIlxzKig7LiopPyQvCiAgICBcIjEyMzRcIgogICAgXCJhYmNkXCIgOwogICAgXCJcIiA7IHJodWJhcmIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBcIjEyMzRcIiA6IHRoaW5ncwoKL14kLwogICAgXAoKLyAgIF4gICAgYSAgICg/IyBiZWdpbnMgd2l0aCBhKSAgYlxzYyAoPyMgdGhlbiBiIGMpICQgKD8jIHRoZW4gZW5kKS94CiAgICBhYiBjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjCiAgICBhYiBjZGUKCi8oP3gpICAgXiAgICBhICAgKD8jIGJlZ2lucyB3aXRoIGEpICBiXHNjICg/IyB0aGVuIGIgYykgJCAoPyMgdGhlbiBlbmQpLwogICAgYWIgYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiYwogICAgYWIgY2RlCgovXiAgIGFcIGJbYyBdZCAgICAgICAkL3gKICAgIGEgYmNkCiAgICBhIGIgZApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2QKICAgIGFiIGQKCi9eKGEoYihjKSkpKGQoZShmKSkpKGgoaShqKSkpKGsobChtKSkpJC8KICAgIGFiY2RlZmhpamtsbQoKL14oPzphKGIoYykpKSg/OmQoZShmKSkpKD86aChpKGopKSkoPzprKGwobSkpKSQvCiAgICBhYmNkZWZoaWprbG0KCi9eW1x3XVtcV11bXHNdW1xTXVtcZF1bXERdW1xiXVtcbl1bXGNdXVtcMDIyXS8KICAgIGErIFowK1x4MDhcblx4MWRceDEyCgovXlsuXiR8KCkqKz97LH1dKy8KICAgIC5eXCQoKispfHs/LD99CgovXmEqXHcvCiAgICB6CiAgICBhegogICAgYWFhegogICAgYQogICAgYWEKICAgIGFhYWEKICAgIGErCiAgICBhYSsKCi9eYSo/XHcvCiAgICB6CiAgICBhegogICAgYWFhegogICAgYQogICAgYWEKICAgIGFhYWEKICAgIGErCiAgICBhYSsKCi9eYStcdy8KICAgIGF6CiAgICBhYWF6CiAgICBhYQogICAgYWFhYQogICAgYWErCgovXmErP1x3LwogICAgYXoKICAgIGFhYXoKICAgIGFhCiAgICBhYWFhCiAgICBhYSsKCi9eXGR7OH1cd3syLH0vCiAgICAxMjM0NTY3ODkwCiAgICAxMjM0NTY3OGFiCiAgICAxMjM0NTY3OF9fClw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzNDU2NwoKL15bYWVpb3VcZF17NCw1fSQvCiAgICB1b2llCiAgICAxMjM0CiAgICAxMjM0NQogICAgYWFhYWEKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjM0NTYKCi9eW2FlaW91XGRdezQsNX0/LwogICAgdW9pZQogICAgMTIzNAogICAgMTIzNDUKICAgIGFhYWFhCiAgICAxMjM0NTYKCi9eRnJvbSArKFteIF0rKSArW2EtekEtWl1bYS16QS1aXVthLXpBLVpdICtbYS16QS1aXVthLXpBLVpdW2EtekEtWl0gK1swLTldP1swLTldICtbMC05XVswLTldOlswLTldWzAtOV0vCiAgICBGcm9tIGFiY2QgIE1vbiBTZXAgMDEgMTI6MzM6MDIgMTk5NwoKL15Gcm9tXHMrXFMrXHMrKFthLXpBLVpdezN9XHMrKXsyfVxkezEsMn1ccytcZFxkOlxkXGQvCiAgICBGcm9tIGFiY2QgIE1vbiBTZXAgMDEgMTI6MzM6MDIgMTk5NwogICAgRnJvbSBhYmNkICBNb24gU2VwICAxIDEyOjMzOjAyIDE5OTcKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBGcm9tIGFiY2QgIFNlcCAwMSAxMjozMzowMiAxOTk3CgovXjEyLjM0L3MKICAgIDEyXG4zNAogICAgMTJccjM0CgovXHcrKD89XHQpLwogICAgdGhlIHF1aWNrIGJyb3duXHQgZm94CgovZm9vKD8hYmFyKSguKikvCiAgICBmb29iYXIgaXMgZm9vbGlzaCBzZWU/CgovKD86KD8hZm9vKS4uLnxeLnswLDJ9KWJhciguKikvCiAgICBmb29iYXIgY3Jvd2JhciBldGMKICAgIGJhcnJlbAogICAgMmJhcnJlbAogICAgQSBiYXJyZWwKCi9eKFxEKikoPz1cZCkoPyExMjMpLwogICAgYWJjNDU2Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjMTIzCgovXjEyMzQoPyMgdGVzdCBuZXdsaW5lcwogIGluc2lkZSkvCiAgICAxMjM0CgovXjEyMzQgI2NvbW1lbnQgaW4gZXh0ZW5kZWQgcmUKICAveAogICAgMTIzNAoKLyNyaHViYXJiCiAgYWJjZC94CiAgICBhYmNkCgovXmFiY2Qjcmh1YmFyYi94CiAgICBhYmNkCgovKD8hXilhYmMvCiAgICB0aGUgYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjCgovKD89XilhYmMvCiAgICBhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB0aGUgYWJjCgovXlthYl17MSwzfShhYip8Yikvbm9fYXV0b19wb3NzZXNzCiAgICBhYWJiYmJiCgovXlthYl17MSwzfT8oYWIqfGIpL25vX2F1dG9fcG9zc2VzcwogICAgYWFiYmJiYgoKL15bYWJdezEsM30/KGFiKj98Yikvbm9fYXV0b19wb3NzZXNzCiAgICBhYWJiYmJiCgovXlthYl17MSwzfShhYio/fGIpL25vX2F1dG9fcG9zc2VzcwogICAgYWFiYmJiYgoKLyAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICAgICAgICAgICAgICAgICAgICAgICAgIyBvcHRpb25hbCBsZWFkaW5nIGNvbW1lbnQKKD86ICAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKIiAoPzogICAgICAgICAgICAgICAgICAgICAgIyBvcGVuaW5nIHF1b3RlLi4uClteXFxceDgwLVx4ZmZcblwwMTUiXSAgICAgICAgICAgICAgICAjICAgQW55dGhpbmcgZXhjZXB0IGJhY2tzbGFzaCBhbmQgcXVvdGUKfCAgICAgICAgICAgICAgICAgICAgICMgICAgb3IKXFwgW15ceDgwLVx4ZmZdICAgICAgICAgICAjICAgRXNjYXBlZCBzb21ldGhpbmcgKHNvbWV0aGluZyAhPSBDUikKKSogIiAgIyBjbG9zaW5nIHF1b3RlCikgICAgICAgICAgICAgICAgICAgICMgaW5pdGlhbCB3b3JkCig/OiAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgXC4gICg/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8CiIgKD86ICAgICAgICAgICAgICAgICAgICAgICMgb3BlbmluZyBxdW90ZS4uLgpbXlxcXHg4MC1ceGZmXG5cMDE1Il0gICAgICAgICAgICAgICAgIyAgIEFueXRoaW5nIGV4Y2VwdCBiYWNrc2xhc2ggYW5kIHF1b3RlCnwgICAgICAgICAgICAgICAgICAgICAjICAgIG9yClxcIFteXHg4MC1ceGZmXSAgICAgICAgICAgIyAgIEVzY2FwZWQgc29tZXRoaW5nIChzb21ldGhpbmcgIT0gQ1IpCikqICIgICMgY2xvc2luZyBxdW90ZQopICApKiAjIGZ1cnRoZXIgb2theSwgaWYgbGVkIGJ5IGEgcGVyaW9kCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogIEAgICg/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAgKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfCAgIFxbICAgICAgICAgICAgICAgICAgICAgICAgICMgWwooPzogW15cXFx4ODAtXHhmZlxuXDAxNVxbXF1dIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaW5pdGlhbCBzdWJkb21haW4KKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgXC4gICAgICAgICAgICAgICAgICAgICAgICAjIGlmIGxlZCBieSBhIHBlcmlvZC4uLgooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfCAgIFxbICAgICAgICAgICAgICAgICAgICAgICAgICMgWwooPzogW15cXFx4ODAtXHhmZlxuXDAxNVxbXF1dIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKSAgICAgICAgICAgICAgICAgICAgICMgICAuLi5mdXJ0aGVyIG9rYXkKKSoKIyBhZGRyZXNzCnwgICAgICAgICAgICAgICAgICAgICAjICBvcgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8CiIgKD86ICAgICAgICAgICAgICAgICAgICAgICMgb3BlbmluZyBxdW90ZS4uLgpbXlxcXHg4MC1ceGZmXG5cMDE1Il0gICAgICAgICAgICAgICAgIyAgIEFueXRoaW5nIGV4Y2VwdCBiYWNrc2xhc2ggYW5kIHF1b3RlCnwgICAgICAgICAgICAgICAgICAgICAjICAgIG9yClxcIFteXHg4MC1ceGZmXSAgICAgICAgICAgIyAgIEVzY2FwZWQgc29tZXRoaW5nIChzb21ldGhpbmcgIT0gQ1IpCikqICIgICMgY2xvc2luZyBxdW90ZQopICAgICAgICAgICAgICMgb25lIHdvcmQsIG9wdGlvbmFsbHkgZm9sbG93ZWQgYnkuLi4uCig/OgpbXigpPD5ALDs6Ii5cXFxbXF1ceDgwLVx4ZmZcMDAwLVwwMTBcMDEyLVwwMzddICB8ICAjIGF0b20gYW5kIHNwYWNlIHBhcnRzLCBvci4uLgpcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgICAgICB8ICAjIGNvbW1lbnRzLCBvci4uLgoKIiAoPzogICAgICAgICAgICAgICAgICAgICAgIyBvcGVuaW5nIHF1b3RlLi4uClteXFxceDgwLVx4ZmZcblwwMTUiXSAgICAgICAgICAgICAgICAjICAgQW55dGhpbmcgZXhjZXB0IGJhY2tzbGFzaCBhbmQgcXVvdGUKfCAgICAgICAgICAgICAgICAgICAgICMgICAgb3IKXFwgW15ceDgwLVx4ZmZdICAgICAgICAgICAjICAgRXNjYXBlZCBzb21ldGhpbmcgKHNvbWV0aGluZyAhPSBDUikKKSogIiAgIyBjbG9zaW5nIHF1b3RlCiMgcXVvdGVkIHN0cmluZ3MKKSoKPCAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICAgICAgICAgICAgICAgICAgICMgbGVhZGluZyA8Cig/OiAgQCAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpbml0aWFsIHN1YmRvbWFpbgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBcLiAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgbGVkIGJ5IGEgcGVyaW9kLi4uCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgIyAgIC4uLmZ1cnRoZXIgb2theQopKgoKKD86ICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAsICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBAICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwgICBcWyAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGluaXRpYWwgc3ViZG9tYWluCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogIFwuICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiBsZWQgYnkgYSBwZXJpb2QuLi4KKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwgICBcWyAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICMgICAgc3R1ZmYKXF0gICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICBdCikgICAgICAgICAgICAgICAgICAgICAjICAgLi4uZnVydGhlciBva2F5CikqCikqICMgZnVydGhlciBva2F5LCBpZiBsZWQgYnkgY29tbWEKOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBjbG9zaW5nIGNvbG9uCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICk/ICMgICAgICAgb3B0aW9uYWwgcm91dGUKKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfAoiICg/OiAgICAgICAgICAgICAgICAgICAgICAjIG9wZW5pbmcgcXVvdGUuLi4KW15cXFx4ODAtXHhmZlxuXDAxNSJdICAgICAgICAgICAgICAgICMgICBBbnl0aGluZyBleGNlcHQgYmFja3NsYXNoIGFuZCBxdW90ZQp8ICAgICAgICAgICAgICAgICAgICAgIyAgICBvcgpcXCBbXlx4ODAtXHhmZl0gICAgICAgICAgICMgICBFc2NhcGVkIHNvbWV0aGluZyAoc29tZXRoaW5nICE9IENSKQopKiAiICAjIGNsb3NpbmcgcXVvdGUKKSAgICAgICAgICAgICAgICAgICAgIyBpbml0aWFsIHdvcmQKKD86ICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBcLiAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICg/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKIiAoPzogICAgICAgICAgICAgICAgICAgICAgIyBvcGVuaW5nIHF1b3RlLi4uClteXFxceDgwLVx4ZmZcblwwMTUiXSAgICAgICAgICAgICAgICAjICAgQW55dGhpbmcgZXhjZXB0IGJhY2tzbGFzaCBhbmQgcXVvdGUKfCAgICAgICAgICAgICAgICAgICAgICMgICAgb3IKXFwgW15ceDgwLVx4ZmZdICAgICAgICAgICAjICAgRXNjYXBlZCBzb21ldGhpbmcgKHNvbWV0aGluZyAhPSBDUikKKSogIiAgIyBjbG9zaW5nIHF1b3RlCikgICkqICMgZnVydGhlciBva2F5LCBpZiBsZWQgYnkgYSBwZXJpb2QKKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgQCAgKD86IFtcMDQwXHRdIHwgIFwoCig/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICB8ICBcKCAoPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgKSogXCkgICkqClwpICApKiAgICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpbml0aWFsIHN1YmRvbWFpbgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIwooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICBcLiAgICAgICAgICAgICAgICAgICAgICAgICMgaWYgbGVkIGJ5IGEgcGVyaW9kLi4uCig/OiBbXDA0MFx0XSB8ICBcKAooPzogIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gIHwgIFxcIFteXHg4MC1ceGZmXSAgfCAgXCggKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gICkqIFwpICApKgpcKSAgKSogICAoPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQp8ICAgXFsgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopICAgICAgICAgICAgICAgICAgICAgIyAgIC4uLmZ1cnRoZXIgb2theQopKgojICAgICAgIGFkZHJlc3Mgc3BlYwooPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICA+ICMgICAgICAgICAgICAgICAgICB0cmFpbGluZyA+CiMgbmFtZSBhbmQgYWRkcmVzcwopICAoPzogW1wwNDBcdF0gfCAgXCgKKD86ICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICB8ICBcXCBbXlx4ODAtXHhmZl0gIHwgIFwoICg/OiAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAgfCAgXFwgW15ceDgwLVx4ZmZdICApKiBcKSAgKSoKXCkgICkqICAgICAgICAgICAgICAgICAgICAgICAjIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnQKL3gKICAgIEFsYW4gT3RoZXIgPHVzZXJcQGRvbS5haW4+CiAgICA8dXNlclxAZG9tLmFpbj4KICAgIHVzZXJcQGRvbS5haW4KICAgIFwiQS4gT3RoZXJcIiA8dXNlci4xMjM0XEBkb20uYWluPiAoYSBjb21tZW50KQogICAgQS4gT3RoZXIgPHVzZXIuMTIzNFxAZG9tLmFpbj4gKGEgY29tbWVudCkKICAgIFwiL3M9dXNlci9vdT1ob3N0L289cGxhY2UvcHJtZD11dS55eS9hZG1kPSAvYz1nYi9cIlxAeDQwMC1yZS5sYXkKICAgIEEgbWlzc2luZyBhbmdsZSA8dXNlclxAc29tZS53aGVyZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFRoZSBxdWljayBicm93biBmb3gKCi9bXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIGxlYWRpbmcgY29tbWVudAooPzoKKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KIyBBdG9tCnwgICAgICAgICAgICAgICAgICAgICAgICMgIG9yCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAiClteXFxceDgwLVx4ZmZcblwwMTUiXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBub3JtYWwKKD86ICBcXCBbXlx4ODAtXHhmZl0gIFteXFxceDgwLVx4ZmZcblwwMTUiXSAqICkqICAgICAgICAjICAgKCBzcGVjaWFsIG5vcm1hbCogKSoKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAiCiMgUXVvdGVkIHN0cmluZwopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpcLgpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQojIEF0b20KfCAgICAgICAgICAgICAgICAgICAgICAgIyAgb3IKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICIKW15cXFx4ODAtXHhmZlxuXDAxNSJdICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIG5vcm1hbAooPzogIFxcIFteXHg4MC1ceGZmXSAgW15cXFx4ODAtXHhmZlxuXDAxNSJdICogKSogICAgICAgICMgICAoIHNwZWNpYWwgbm9ybWFsKiApKgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICIKIyBRdW90ZWQgc3RyaW5nCikKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KIyBhZGRpdGlvbmFsIHdvcmRzCikqCkAKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKXFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnRzCikqCiMgYWRkcmVzcwp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICBvcgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQojIEF0b20KfCAgICAgICAgICAgICAgICAgICAgICAgIyAgb3IKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICIKW15cXFx4ODAtXHhmZlxuXDAxNSJdICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIG5vcm1hbAooPzogIFxcIFteXHg4MC1ceGZmXSAgW15cXFx4ODAtXHhmZlxuXDAxNSJdICogKSogICAgICAgICMgICAoIHNwZWNpYWwgbm9ybWFsKiApKgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICIKIyBRdW90ZWQgc3RyaW5nCikKIyBsZWFkaW5nIHdvcmQKW14oKTw+QCw7OiIuXFxcW1xdXHg4MC1ceGZmXDAwMC1cMDEwXDAxMi1cMDM3XSAqICAgICAgICAgICAgICAgIyAibm9ybWFsIiBhdG9tcyBhbmQgb3Igc3BhY2VzCig/OgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQp8CiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAiClteXFxceDgwLVx4ZmZcblwwMTUiXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBub3JtYWwKKD86ICBcXCBbXlx4ODAtXHhmZl0gIFteXFxceDgwLVx4ZmZcblwwMTUiXSAqICkqICAgICAgICAjICAgKCBzcGVjaWFsIG5vcm1hbCogKSoKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAiCikgIyAic3BlY2lhbCIgY29tbWVudCBvciBxdW90ZWQgc3RyaW5nClteKCk8PkAsOzoiLlxcXFtcXVx4ODAtXHhmZlwwMDAtXDAxMFwwMTItXDAzN10gKiAgICAgICAgICAgICMgIG1vcmUgIm5vcm1hbCIKKSoKPApbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIDwKKD86CkAKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKXFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnRzCikqCig/OiAsCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCkAKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKXFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnRzCikqCikqICAjIGFkZGl0aW9uYWwgZG9tYWlucwo6CltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKT8gICAgICMgICAgICAgb3B0aW9uYWwgcm91dGUKKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KIyBBdG9tCnwgICAgICAgICAgICAgICAgICAgICAgICMgIG9yCiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAiClteXFxceDgwLVx4ZmZcblwwMTUiXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBub3JtYWwKKD86ICBcXCBbXlx4ODAtXHhmZl0gIFteXFxceDgwLVx4ZmZcblwwMTUiXSAqICkqICAgICAgICAjICAgKCBzcGVjaWFsIG5vcm1hbCogKSoKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAiCiMgUXVvdGVkIHN0cmluZwopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpcLgpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgooPzoKW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0rICAgICMgc29tZSBudW1iZXIgb2YgYXRvbSBjaGFyYWN0ZXJzLi4uCig/IVteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKSAjIC4ubm90IGZvbGxvd2VkIGJ5IHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIHBhcnQgb2YgYW4gYXRvbQojIEF0b20KfCAgICAgICAgICAgICAgICAgICAgICAgIyAgb3IKIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICIKW15cXFx4ODAtXHhmZlxuXDAxNSJdICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIG5vcm1hbAooPzogIFxcIFteXHg4MC1ceGZmXSAgW15cXFx4ODAtXHhmZlxuXDAxNSJdICogKSogICAgICAgICMgICAoIHNwZWNpYWwgbm9ybWFsKiApKgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICIKIyBRdW90ZWQgc3RyaW5nCikKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KIyBhZGRpdGlvbmFsIHdvcmRzCikqCkAKW1wwNDBcdF0qICAgICAgICAgICAgICAgICAgICAjIE5hYiB3aGl0ZXNwYWNlLgooPzoKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICgKKD86ICBcXCBbXlx4ODAtXHhmZl0gIHwKXCggICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgbm9ybWFsKgooPzogIFxcIFteXHg4MC1ceGZmXSAgIFteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiApKiAgICAgICAgIyAgICAgKHNwZWNpYWwgbm9ybWFsKikqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAgKQopICAgICMgICAgICAgICBzcGVjaWFsClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgbm9ybWFsKgopKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgKQpbXDA0MFx0XSogKSogICAgIyBJZiBjb21tZW50IGZvdW5kLCBhbGxvdyBtb3JlIHNwYWNlcy4KKD86ClteKFwwNDApPD5ALDs6Ii5cXFxbXF1cMDAwLVwwMzdceDgwLVx4ZmZdKyAgICAjIHNvbWUgbnVtYmVyIG9mIGF0b20gY2hhcmFjdGVycy4uLgooPyFbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSkgIyAuLm5vdCBmb2xsb3dlZCBieSBzb21ldGhpbmcgdGhhdCBjb3VsZCBiZSBwYXJ0IG9mIGFuIGF0b20KfApcWyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFsKKD86IFteXFxceDgwLVx4ZmZcblwwMTVcW1xdXSB8ICBcXCBbXlx4ODAtXHhmZl0gICkqICAgICAjICAgIHN0dWZmClxdICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgXQopCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCiMgb3B0aW9uYWwgdHJhaWxpbmcgY29tbWVudHMKKD86ClwuCltcMDQwXHRdKiAgICAgICAgICAgICAgICAgICAgIyBOYWIgd2hpdGVzcGFjZS4KKD86ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgKApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAoCig/OiAgXFwgW15ceDgwLVx4ZmZdICB8ClwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIG5vcm1hbCoKKD86ICBcXCBbXlx4ODAtXHhmZl0gICBbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogKSogICAgICAgICMgICAgIChzcGVjaWFsIG5vcm1hbCopKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICkKKSAgICAjICAgICAgICAgc3BlY2lhbApbXlxcXHg4MC1ceGZmXG5cMDE1KCldICogICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgIG5vcm1hbCoKKSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICkqClwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICkKW1wwNDBcdF0qICkqICAgICMgSWYgY29tbWVudCBmb3VuZCwgYWxsb3cgbW9yZSBzcGFjZXMuCig/OgpbXihcMDQwKTw+QCw7OiIuXFxcW1xdXDAwMC1cMDM3XHg4MC1ceGZmXSsgICAgIyBzb21lIG51bWJlciBvZiBhdG9tIGNoYXJhY3RlcnMuLi4KKD8hW14oXDA0MCk8PkAsOzoiLlxcXFtcXVwwMDAtXDAzN1x4ODAtXHhmZl0pICMgLi5ub3QgZm9sbG93ZWQgYnkgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgcGFydCBvZiBhbiBhdG9tCnwKXFsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbCig/OiBbXlxcXHg4MC1ceGZmXG5cMDE1XFtcXV0gfCAgXFwgW15ceDgwLVx4ZmZdICApKiAgICAgIyAgICBzdHVmZgpcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgIF0KKQpbXDA0MFx0XSogICAgICAgICAgICAgICAgICAgICMgTmFiIHdoaXRlc3BhY2UuCig/OgpcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICgKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgKAooPzogIFxcIFteXHg4MC1ceGZmXSAgfApcKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAoClteXFxceDgwLVx4ZmZcblwwMTUoKV0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBub3JtYWwqCig/OiAgXFwgW15ceDgwLVx4ZmZdICAgW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICkqICAgICAgICAjICAgICAoc3BlY2lhbCBub3JtYWwqKSoKXCkgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICApCikgICAgIyAgICAgICAgIHNwZWNpYWwKW15cXFx4ODAtXHhmZlxuXDAxNSgpXSAqICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICBub3JtYWwqCikqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICApKgpcKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICApCltcMDQwXHRdKiApKiAgICAjIElmIGNvbW1lbnQgZm91bmQsIGFsbG93IG1vcmUgc3BhY2VzLgojIG9wdGlvbmFsIHRyYWlsaW5nIGNvbW1lbnRzCikqCiMgICAgICAgYWRkcmVzcyBzcGVjCj4gICAgICAgICAgICAgICAgICAgICMgICAgICAgICAgICAgICAgID4KIyBuYW1lIGFuZCBhZGRyZXNzCikKL3gKICAgIEFsYW4gT3RoZXIgPHVzZXJcQGRvbS5haW4+CiAgICA8dXNlclxAZG9tLmFpbj4KICAgIHVzZXJcQGRvbS5haW4KICAgIFwiQS4gT3RoZXJcIiA8dXNlci4xMjM0XEBkb20uYWluPiAoYSBjb21tZW50KQogICAgQS4gT3RoZXIgPHVzZXIuMTIzNFxAZG9tLmFpbj4gKGEgY29tbWVudCkKICAgIFwiL3M9dXNlci9vdT1ob3N0L289cGxhY2UvcHJtZD11dS55eS9hZG1kPSAvYz1nYi9cIlxAeDQwMC1yZS5sYXkKICAgIEEgbWlzc2luZyBhbmdsZSA8dXNlclxAc29tZS53aGVyZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFRoZSBxdWljayBicm93biBmb3gKCi9hYmNcMGRlZlwwMHBxclwwMDB4eXpcMDAwMEFCLwogICAgYWJjXDBkZWZcMDBwcXJcMDAweHl6XDAwMDBBQgogICAgYWJjNDU2IGFiY1wwZGVmXDAwcHFyXDAwMHh5elwwMDAwQUJDREUKCi9hYmNceDBkZWZceDAwcHFyXHgwMDB4eXpceDAwMDBBQi8KICAgIGFiY1x4MGRlZlx4MDBwcXJceDAwMHh5elx4MDAwMEFCCiAgICBhYmM0NTYgYWJjXHgwZGVmXHgwMHBxclx4MDAweHl6XHgwMDAwQUJDREUKCi9eW1wwMDAtXDAzN10vCiAgICBcMEEKICAgIFwwMUIKICAgIFwwMzdDCgovXDAqLwogICAgXDBcMFwwXDAKCi9BXHgwezIsM31aLwogICAgVGhlIEFceDBceDBaCiAgICBBbiBBXDBceDBcMFoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBXDBaCiAgICBBXDBceDBcMFx4MFoKCi9eXHMvCiAgICBcMDQwYWJjCiAgICBceDBjYWJjCiAgICBcbmFiYwogICAgXHJhYmMKICAgIFx0YWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjCgovXmEJYgogICAgDCAgYy94CiAgICBhYmMKCi9hYnsxLDN9YmMvCiAgICBhYmJiYmMKICAgIGFiYmJjCiAgICBhYmJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjCiAgICBhYmJiYmJjCgovKFteLl0qKVwuKFteOl0qKTpbVCBdKyguKikvCiAgICB0cmFjazEudGl0bGU6VEJsYWggYmxhaCBibGFoCgovKFteLl0qKVwuKFteOl0qKTpbVCBdKyguKikvaQogICAgdHJhY2sxLnRpdGxlOlRCbGFoIGJsYWggYmxhaAoKLyhbXi5dKilcLihbXjpdKik6W3QgXSsoLiopL2kKICAgIHRyYWNrMS50aXRsZTpUQmxhaCBibGFoIGJsYWgKCi9eW1ctY10rJC8KICAgIFdYWV9eYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgd3h5CgovXltXLWNdKyQvaQogICAgV1hZX15hYmMKICAgIHd4eV9eQUJDCgovXltceDNmLVx4NUZdKyQvaQogICAgV1hZX15hYmMKICAgIHd4eV9eQUJDCgovXmFiYyQvbQogICAgYWJjCiAgICBxcXFcbmFiYwogICAgYWJjXG56enoKICAgIHFxcVxuYWJjXG56enoKCi9eYWJjJC8KICAgIGFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHFxcVxuYWJjCiAgICBhYmNcbnp6egogICAgcXFxXG5hYmNcbnp6egoKL1xBYWJjXFovbQogICAgYWJjCiAgICBhYmNcbiAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBxcXFcbmFiYwogICAgYWJjXG56enoKICAgIHFxcVxuYWJjXG56enoKICAgIAovXEEoLikqXFovcwogICAgYWJjXG5kZWYKCi9cQSguKSpcWi9tClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjXG5kZWYKCi8oPzpiKXwoPzo6KykvCiAgICBiOjpjCiAgICBjOjpiCgovWy1hel0rLwogICAgYXotClw9IEV4cGVjdCBubyBtYXRjaAogICAgYgoKL1thei1dKy8KICAgIHphLQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGIKCi9bYVwtel0rLwogICAgYS16Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYgoKL1thLXpdKy8KICAgIGFiY2R4eXoKCi9bXGQtXSsvCiAgICAxMi0zNApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYQoKL1tcZC16XSsvCiAgICAxMi0zNHoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWEKCi9ceDVjLwogICAgXFwKCi9ceDIwWi8KICAgIHRoZSBab28KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBadWx1CgovYWJ7M2NkLwogICAgYWJ7M2NkCgovYWJ7MyxjZC8KICAgIGFiezMsY2QKCi9hYnszLDRhfWNkLwogICAgYWJ7Myw0YX1jZAoKL3s0LDVhfWJjLwogICAgezQsNWF9YmMKCi9eYS5iL25ld2xpbmU9bGYKICAgIGFccmIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhXG5iCgovYWJjJC8KICAgIGFiYwogICAgYWJjXG4KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNcbmRlZgoKLyhhYmMpXDEyMy8KICAgIGFiY1x4NTMKCi8oYWJjKVwyMjMvCiAgICBhYmNceDkzCgovKGFiYylcMzIzLwogICAgYWJjXHhkMwoKLyhhYmMpXDEwMC8KICAgIGFiY1x4NDAKICAgIGFiY1wxMDAKCi8oYWJjKVwxMDAwLwogICAgYWJjXHg0MDAKICAgIGFiY1x4NDBceDMwCiAgICBhYmNcMTAwMAogICAgYWJjXDEwMFx4MzAKICAgIGFiY1wxMDBcMDYwCiAgICBhYmNcMTAwXDYwCgovKGEpKGIpKGMpKGQpKGUpKGYpKGcpKGgpKGkpKGopKGspXDEyXDEyMy8KICAgIGFiY2RlZmdoaWprXDEyUwoKL2F7MH1iYy8KICAgIGJjCgovKGF8KGJjKSl7MCwwfT94eXovCiAgICB4eXoKCi9hYmNbXDEwXWRlLwogICAgYWJjXDAxMGRlCgovYWJjW1wxXWRlLwogICAgYWJjXDFkZQoKLyhhYmMpW1wxXWRlLwogICAgYWJjXDFkZQoKLyg/cylhLmIvCiAgICBhXG5iCgovXihbXmFdKShbXlxiXSkoW15jXSopKFteZF17Myw0fSkvCiAgICBiYU5PVGNjY2NkCiAgICBiYU5PVGNjY2QKICAgIGJhTk9UY2NkCiAgICBiYWNjY2QKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhbnl0aGluZwogICAgYlxiYyAgIAogICAgYmFjY2QKCi9bXmFdLwogICAgQWJjCiAgCi9bXmFdL2kKICAgIEFiYyAKCi9bXmFdKy8KICAgIEFBQWFBYmMKICAKL1teYV0rL2kKICAgIEFBQWFBYmMgCgovW15hXSsvCiAgICBiYmJcbmNjYwogICAKL1tea10kLwogICAgYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJrICAgCiAgIAovW15rXXsyLDN9JC8KICAgIGFiYwogICAga2JjCiAgICBrYWJjIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiawogICAgYWtiCiAgICBha2sgCgovXlxkezgsfVxALitbXmtdJC8KICAgIDEyMzQ1Njc4XEBhLmIuYy5kCiAgICAxMjM0NTY3ODlcQHgueS56Clw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzNDU2NzhcQHgueS51awogICAgMTIzNDU2N1xAYS5iLmMuZCAgICAgICAKCi9bXmFdLwogICAgYWFhYWJjZAogICAgYWFBYWJjZCAKCi9bXmFdL2kKICAgIGFhYWFiY2QKICAgIGFhQWFiY2QgCgovW15hel0vCiAgICBhYWFhYmNkCiAgICBhYUFhYmNkIAoKL1teYXpdL2kKICAgIGFhYWFiY2QKICAgIGFhQWFiY2QgCgovXDAwMFwwMDFcMDAyXDAwM1wwMDRcMDA1XDAwNlwwMDdcMDEwXDAxMVwwMTJcMDEzXDAxNFwwMTVcMDE2XDAxN1wwMjBcMDIxXDAyMlwwMjNcMDI0XDAyNVwwMjZcMDI3XDAzMFwwMzFcMDMyXDAzM1wwMzRcMDM1XDAzNlwwMzdcMDQwXDA0MVwwNDJcMDQzXDA0NFwwNDVcMDQ2XDA0N1wwNTBcMDUxXDA1MlwwNTNcMDU0XDA1NVwwNTZcMDU3XDA2MFwwNjFcMDYyXDA2M1wwNjRcMDY1XDA2NlwwNjdcMDcwXDA3MVwwNzJcMDczXDA3NFwwNzVcMDc2XDA3N1wxMDBcMTAxXDEwMlwxMDNcMTA0XDEwNVwxMDZcMTA3XDExMFwxMTFcMTEyXDExM1wxMTRcMTE1XDExNlwxMTdcMTIwXDEyMVwxMjJcMTIzXDEyNFwxMjVcMTI2XDEyN1wxMzBcMTMxXDEzMlwxMzNcMTM0XDEzNVwxMzZcMTM3XDE0MFwxNDFcMTQyXDE0M1wxNDRcMTQ1XDE0NlwxNDdcMTUwXDE1MVwxNTJcMTUzXDE1NFwxNTVcMTU2XDE1N1wxNjBcMTYxXDE2MlwxNjNcMTY0XDE2NVwxNjZcMTY3XDE3MFwxNzFcMTcyXDE3M1wxNzRcMTc1XDE3NlwxNzdcMjAwXDIwMVwyMDJcMjAzXDIwNFwyMDVcMjA2XDIwN1wyMTBcMjExXDIxMlwyMTNcMjE0XDIxNVwyMTZcMjE3XDIyMFwyMjFcMjIyXDIyM1wyMjRcMjI1XDIyNlwyMjdcMjMwXDIzMVwyMzJcMjMzXDIzNFwyMzVcMjM2XDIzN1wyNDBcMjQxXDI0MlwyNDNcMjQ0XDI0NVwyNDZcMjQ3XDI1MFwyNTFcMjUyXDI1M1wyNTRcMjU1XDI1NlwyNTdcMjYwXDI2MVwyNjJcMjYzXDI2NFwyNjVcMjY2XDI2N1wyNzBcMjcxXDI3MlwyNzNcMjc0XDI3NVwyNzZcMjc3XDMwMFwzMDFcMzAyXDMwM1wzMDRcMzA1XDMwNlwzMDdcMzEwXDMxMVwzMTJcMzEzXDMxNFwzMTVcMzE2XDMxN1wzMjBcMzIxXDMyMlwzMjNcMzI0XDMyNVwzMjZcMzI3XDMzMFwzMzFcMzMyXDMzM1wzMzRcMzM1XDMzNlwzMzdcMzQwXDM0MVwzNDJcMzQzXDM0NFwzNDVcMzQ2XDM0N1wzNTBcMzUxXDM1MlwzNTNcMzU0XDM1NVwzNTZcMzU3XDM2MFwzNjFcMzYyXDM2M1wzNjRcMzY1XDM2NlwzNjdcMzcwXDM3MVwzNzJcMzczXDM3NFwzNzVcMzc2XDM3Ny8KIFwwMDBcMDAxXDAwMlwwMDNcMDA0XDAwNVwwMDZcMDA3XDAxMFwwMTFcMDEyXDAxM1wwMTRcMDE1XDAxNlwwMTdcMDIwXDAyMVwwMjJcMDIzXDAyNFwwMjVcMDI2XDAyN1wwMzBcMDMxXDAzMlwwMzNcMDM0XDAzNVwwMzZcMDM3XDA0MFwwNDFcMDQyXDA0M1wwNDRcMDQ1XDA0NlwwNDdcMDUwXDA1MVwwNTJcMDUzXDA1NFwwNTVcMDU2XDA1N1wwNjBcMDYxXDA2MlwwNjNcMDY0XDA2NVwwNjZcMDY3XDA3MFwwNzFcMDcyXDA3M1wwNzRcMDc1XDA3NlwwNzdcMTAwXDEwMVwxMDJcMTAzXDEwNFwxMDVcMTA2XDEwN1wxMTBcMTExXDExMlwxMTNcMTE0XDExNVwxMTZcMTE3XDEyMFwxMjFcMTIyXDEyM1wxMjRcMTI1XDEyNlwxMjdcMTMwXDEzMVwxMzJcMTMzXDEzNFwxMzVcMTM2XDEzN1wxNDBcMTQxXDE0MlwxNDNcMTQ0XDE0NVwxNDZcMTQ3XDE1MFwxNTFcMTUyXDE1M1wxNTRcMTU1XDE1NlwxNTdcMTYwXDE2MVwxNjJcMTYzXDE2NFwxNjVcMTY2XDE2N1wxNzBcMTcxXDE3MlwxNzNcMTc0XDE3NVwxNzZcMTc3XDIwMFwyMDFcMjAyXDIwM1wyMDRcMjA1XDIwNlwyMDdcMjEwXDIxMVwyMTJcMjEzXDIxNFwyMTVcMjE2XDIxN1wyMjBcMjIxXDIyMlwyMjNcMjI0XDIyNVwyMjZcMjI3XDIzMFwyMzFcMjMyXDIzM1wyMzRcMjM1XDIzNlwyMzdcMjQwXDI0MVwyNDJcMjQzXDI0NFwyNDVcMjQ2XDI0N1wyNTBcMjUxXDI1MlwyNTNcMjU0XDI1NVwyNTZcMjU3XDI2MFwyNjFcMjYyXDI2M1wyNjRcMjY1XDI2NlwyNjdcMjcwXDI3MVwyNzJcMjczXDI3NFwyNzVcMjc2XDI3N1wzMDBcMzAxXDMwMlwzMDNcMzA0XDMwNVwzMDZcMzA3XDMxMFwzMTFcMzEyXDMxM1wzMTRcMzE1XDMxNlwzMTdcMzIwXDMyMVwzMjJcMzIzXDMyNFwzMjVcMzI2XDMyN1wzMzBcMzMxXDMzMlwzMzNcMzM0XDMzNVwzMzZcMzM3XDM0MFwzNDFcMzQyXDM0M1wzNDRcMzQ1XDM0NlwzNDdcMzUwXDM1MVwzNTJcMzUzXDM1NFwzNTVcMzU2XDM1N1wzNjBcMzYxXDM2MlwzNjNcMzY0XDM2NVwzNjZcMzY3XDM3MFwzNzFcMzcyXDM3M1wzNzRcMzc1XDM3NlwzNzcKCi9QW14qXVRBSVJFW14qXXsxLDZ9P0xMLwogICAgeHh4eHh4eHh4eHhQU1RBSVJFSVNMTHh4eHh4eHh4eAoKL1BbXipdVEFJUkVbXipdezEsfT9MTC8KICAgIHh4eHh4eHh4eHh4UFNUQUlSRUlTTEx4eHh4eHh4eHgKCi8oXC5cZFxkWzEtOV0/KVxkKy8KICAgIDEuMjMwMDAzOTM4CiAgICAxLjg3NTAwMDI4MiAgIAogICAgMS4yMzUgIAogICAgICAgICAgICAgICAgICAKLyhcLlxkXGQoKD89MCl8XGQoPz1cZCkpKS8KICAgIDEuMjMwMDAzOTM4ICAgICAgCiAgICAxLjg3NTAwMDI4MgpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICAxLjIzNSAKICAgIAovYSg/KWIvCiAgICBhYiAKIAovXGIoZm9vKVxzKyhcdyspL2kKICAgIEZvb2QgaXMgb24gdGhlIGZvbyB0YWJsZQogICAgCi9mb28oLiopYmFyLwogICAgVGhlIGZvb2QgaXMgdW5kZXIgdGhlIGJhciBpbiB0aGUgYmFybi4KICAgIAovZm9vKC4qPyliYXIvCiAgICBUaGUgZm9vZCBpcyB1bmRlciB0aGUgYmFyIGluIHRoZSBiYXJuLgoKLyguKikoXGQqKS9ub19hdXRvX3Bvc3Nlc3MKICAgIEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CiAgICAKLyguKikoXGQrKS8KICAgIEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CiAKLyguKj8pKFxkKikvbm9fYXV0b19wb3NzZXNzCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwoKLyguKj8pKFxkKykvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwoKLyguKikoXGQrKSQvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwoKLyguKj8pKFxkKykkLwogICAgSSBoYXZlIDIgbnVtYmVyczogNTMxNDcKCi8oLiopXGIoXGQrKSQvCiAgICBJIGhhdmUgMiBudW1iZXJzOiA1MzE0NwoKLyguKlxEKShcZCspJC8KICAgIEkgaGF2ZSAyIG51bWJlcnM6IDUzMTQ3CgovXlxEKig/ITEyMykvCiAgICBBQkMxMjMKICAgICAKL14oXEQqKSg/PVxkKSg/ITEyMykvCiAgICBBQkM0NDUKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQkMxMjMKICAgIAovXltXLV00Nl0vCiAgICBXNDZdNzg5IAogICAgLTQ2XTc4OQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFdhbGwKICAgIFplYnJhCiAgICA0MgogICAgW2FiY2RdIAogICAgXWFiY2RbCiAgICAgICAKL15bVy1cXTQ2XS8KICAgIFc0Nl03ODkgCiAgICBXYWxsCiAgICBaZWJyYQogICAgWHlsb3Bob25lICAKICAgIDQyCiAgICBbYWJjZF0gCiAgICBdYWJjZFsKICAgIFxcYmFja3NsYXNoIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIC00Nl03ODkKICAgIHdlbGwKICAgIAovXGRcZFwvXGRcZFwvXGRcZFxkXGQvCiAgICAwMS8wMS8yMDAwCgovd29yZCAoPzpbYS16QS1aMC05XSsgKXswLDEwfW90aGVyd29yZC8KICB3b3JkIGNhdCBkb2cgZWxlcGhhbnQgbXVzc2VsIGNvdyBob3JzZSBjYW5hcnkgYmFib29uIHNuYWtlIHNoYXJrIG90aGVyd29yZApcPSBFeHBlY3Qgbm8gbWF0Y2gKICB3b3JkIGNhdCBkb2cgZWxlcGhhbnQgbXVzc2VsIGNvdyBob3JzZSBjYW5hcnkgYmFib29uIHNuYWtlIHNoYXJrCgovd29yZCAoPzpbYS16QS1aMC05XSsgKXswLDMwMH1vdGhlcndvcmQvClw9IEV4cGVjdCBubyBtYXRjaAogIHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsgdGhlIHF1aWNrIGJyb3duIGZveCBhbmQgdGhlIGxhenkgZG9nIGFuZCBzZXZlcmFsIG90aGVyIHdvcmRzIGdldHRpbmcgY2xvc2UgdG8gdGhpcnR5IGJ5IG5vdyBJIGhvcGUKCi9eKGEpezAsMH0vCiAgICBiY2QKICAgIGFiYwogICAgYWFiICAgICAKCi9eKGEpezAsMX0vCiAgICBiY2QKICAgIGFiYwogICAgYWFiICAKCi9eKGEpezAsMn0vCiAgICBiY2QKICAgIGFiYwogICAgYWFiICAKCi9eKGEpezAsM30vCiAgICBiY2QKICAgIGFiYwogICAgYWFiCiAgICBhYWEgICAKCi9eKGEpezAsfS8KICAgIGJjZAogICAgYWJjCiAgICBhYWIKICAgIGFhYQogICAgYWFhYWFhYWEgICAgCgovXihhKXsxLDF9LwogICAgYWJjCiAgICBhYWIgIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJjZAoKL14oYSl7MSwyfS8KICAgIGFiYwogICAgYWFiICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiY2QKCi9eKGEpezEsM30vCiAgICBhYmMKICAgIGFhYgogICAgYWFhICAgClw9IEV4cGVjdCBubyBtYXRjaAogICAgYmNkCgovXihhKXsxLH0vCiAgICBhYmMKICAgIGFhYgogICAgYWFhCiAgICBhYWFhYWFhYSAgICAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiY2QKCi8uKlwuZ2lmLwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwoKLy57MCx9XC5naWYvCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCgovLipcLmdpZi9tCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCgovLipcLmdpZi9zCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCgovLipcLmdpZi9tcwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwogICAgCi8uKiQvCiAgICBib3JmbGVcbmJpYi5naWZcbm5vCgovLiokL20KICAgIGJvcmZsZVxuYmliLmdpZlxubm8KCi8uKiQvcwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwoKLy4qJC9tcwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ubwogICAgCi8uKiQvCiAgICBib3JmbGVcbmJpYi5naWZcbm5vXG4KCi8uKiQvbQogICAgYm9yZmxlXG5iaWIuZ2lmXG5ub1xuCgovLiokL3MKICAgIGJvcmZsZVxuYmliLmdpZlxubm9cbgoKLy4qJC9tcwogICAgYm9yZmxlXG5iaWIuZ2lmXG5ub1xuCiAgICAKLyguKlh8XkIpLwogICAgYWJjZGVcbjEyMzRYeXoKICAgIEJhckZvbyAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNkZVxuQmFyICAKCi8oLipYfF5CKS9tCiAgICBhYmNkZVxuMTIzNFh5egogICAgQmFyRm9vIAogICAgYWJjZGVcbkJhciAgCgovKC4qWHxeQikvcwogICAgYWJjZGVcbjEyMzRYeXoKICAgIEJhckZvbyAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNkZVxuQmFyICAKCi8oLipYfF5CKS9tcwogICAgYWJjZGVcbjEyMzRYeXoKICAgIEJhckZvbyAKICAgIGFiY2RlXG5CYXIgIAoKLyg/cykoLipYfF5CKS8KICAgIGFiY2RlXG4xMjM0WHl6CiAgICBCYXJGb28gClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGFiY2RlXG5CYXIgIAoKLyg/czouKlh8XkIpLwogICAgYWJjZGVcbjEyMzRYeXoKICAgIEJhckZvbyAKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYWJjZGVcbkJhciAgCgovXi4qQi8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNcbkIKICAgICAKLyg/cyleLipCLwogICAgYWJjXG5CCgovKD9tKV4uKkIvCiAgICBhYmNcbkIKICAgICAKLyg/bXMpXi4qQi8KICAgIGFiY1xuQgoKLyg/bXMpXkIvCiAgICBhYmNcbkIKCi8oP3MpQiQvCiAgICBCXG4KCi9eWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldWzAtOV1bMC05XVswLTldLwogICAgMTIzNDU2NjU0MzIxCiAgCi9eXGRcZFxkXGRcZFxkXGRcZFxkXGRcZFxkLwogICAgMTIzNDU2NjU0MzIxIAoKL15bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF1bXGRdW1xkXVtcZF0vCiAgICAxMjM0NTY2NTQzMjEKICAKL15bYWJjXXsxMn0vCiAgICBhYmNhYmNhYmNhYmMKICAgIAovXlthLWNdezEyfS8KICAgIGFiY2FiY2FiY2FiYwogICAgCi9eKGF8YnxjKXsxMn0vCiAgICBhYmNhYmNhYmNhYmMgCgovXlthYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5MDEyMzQ1Njc4OV0vCiAgICBuClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIHogCgovYWJjZGV7MCwwfS8KICAgIGFiY2QKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNlICAKCi9hYltjZF17MCwwfWUvCiAgICBhYmUKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNkZSAKICAgIAovYWIoYyl7MCwwfWQvCiAgICBhYmQKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNkICAgCgovYShiKikvCiAgICBhCiAgICBhYgogICAgYWJiYmIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiYmJiYiAgICAKICAgIAovYWJcZHswfWUvCiAgICBhYmUKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYjFlICAgCiAgICAKLyIoW15cXCJdK3xcXC4pKiIvCiAgICB0aGUgXCJxdWlja1wiIGJyb3duIGZveAogICAgXCJ0aGUgXFxcInF1aWNrXFxcIiBicm93biBmb3hcIiAKCi8uKj8vZyxhZnRlcnRleHQKICAgIGFiYwogIAovXGIvZyxhZnRlcnRleHQKICAgIGFiYyAKCi9cYi9nLGFmdGVydGV4dAogICAgYWJjIAoKLy9nCiAgICBhYmMKCi88dHIoW1x3XFdcc1xkXVtePD5dezAsfSk+PFREKFtcd1xXXHNcZF1bXjw+XXswLH0pPihbXGRdezAsfVwuKSguKikoKDxCUj4oW1x3XFdcc1xkXVtePD5dezAsfSl8W1xzXXswLH0pKTxcL2E+PFwvVEQ+PFREKFtcd1xXXHNcZF1bXjw+XXswLH0pPihbXHdcV1xzXGRdW148Pl17MCx9KTxcL1REPjxURChbXHdcV1xzXGRdW148Pl17MCx9KT4oW1x3XFdcc1xkXVtePD5dezAsfSk8XC9URD48XC9UUj4vaXMKICA8VFIgQkdDT0xPUj0nI0RCRTlFOSc+PFREIGFsaWduPWxlZnQgdmFsaWduPXRvcD40My48YSBocmVmPSdqb2JsaXN0LmNmbT9Kb2JJRD05NCA2NzM1JktleXdvcmQ9Jz5Xb3JkIFByb2Nlc3NvcjxCUj4oTi0xMjg2KTwvYT48L1REPjxURCBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+TGVnYSBsc3RhZmYuY29tPC9URD48VEQgYWxpZ249bGVmdCB2YWxpZ249dG9wPkNBIC0gU3RhdGV3aWRlPC9URD48L1RSPgoKL2FbXmFdYi8KICAgIGFjYgogICAgYVxuYgogICAgCi9hLmIvCiAgICBhY2IKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYVxuYiAgIAogICAgCi9hW15hXWIvcwogICAgYWNiCiAgICBhXG5iICAKICAgIAovYS5iL3MKICAgIGFjYgogICAgYVxuYiAgCgovXihiKz98YSl7MSwyfT9jLwogICAgYmFjCiAgICBiYmFjCiAgICBiYmJhYwogICAgYmJiYmFjCiAgICBiYmJiYmFjIAoKL14oYit8YSl7MSwyfT9jLwogICAgYmFjCiAgICBiYmFjCiAgICBiYmJhYwogICAgYmJiYmFjCiAgICBiYmJiYmFjIAogICAgCi8oPyFcQSl4L20KICAgIGFcYnhcbiAgClw9IEV4cGVjdCBubyBtYXRjaAogICAgeFxuYlxuCiAgICAKL1x4MHthYn0vCiAgICBcMHthYn0gCgovKEF8QikqP0NELwogICAgQ0QgCiAgICAKLyhBfEIpKkNELwogICAgQ0QgCgovKD88IWJhcilmb28vCiAgICBmb28KICAgIGNhdGZvb2QKICAgIGFyZm9vdGxlCiAgICByZm9vc2gKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiYXJmb28KICAgIHRvd2JhcmZvbwoKL1x3ezN9KD88IWJhcilmb28vCiAgICBjYXRmb29kClw9IEV4cGVjdCBubyBtYXRjaAogICAgZm9vCiAgICBiYXJmb28KICAgIHRvd2JhcmZvbwoKLyg/PD0oZm9vKWEpYmFyLwogICAgZm9vYWJhcgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJhcgogICAgZm9vYmJhcgogICAgICAKL1xBYWJjXHovbQogICAgYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjXG4gICAKICAgIHFxcVxuYWJjCiAgICBhYmNcbnp6egogICAgcXFxXG5hYmNcbnp6egoKIig/Pi4qLylmb28iClw9IEV4cGVjdCBubyBtYXRjaAogICAgL3RoaXMvaXMvYS92ZXJ5L2xvbmcvbGluZS9pbi9kZWVkL3dpdGgvdmVyeS9tYW55L3NsYXNoZXMvaW4vaXQveW91L3NlZS8KCiIoPz4uKi8pZm9vIgogICAgL3RoaXMvaXMvYS92ZXJ5L2xvbmcvbGluZS9pbi9kZWVkL3dpdGgvdmVyeS9tYW55L3NsYXNoZXMvaW4vYW5kL2ZvbwoKLyg/PihcLlxkXGRbMS05XT8pKVxkKy8KICAgIDEuMjMwMDAzOTM4CiAgICAxLjg3NTAwMDI4MgpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICAxLjIzNSAKCi9eKCg/Plx3Kyl8KD8+XHMrKSkqJC8KICAgIG5vdyBpcyB0aGUgdGltZSBmb3IgYWxsIGdvb2QgbWVuIHRvIGNvbWUgdG8gdGhlIGFpZCBvZiB0aGUgcGFydHkKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB0aGlzIGlzIG5vdCBhIGxpbmUgd2l0aCBvbmx5IHdvcmRzIGFuZCBzcGFjZXMhCiAgICAKLyhcZCspKFx3KS8KICAgIDEyMzQ1YQogICAgMTIzNDUrIAoKLygoPz5cZCspKShcdykvCiAgICAxMjM0NWEKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjM0NSsgCgovKD8+YSspYi8KICAgIGFhYWIKCi8oKD8+YSspYikvCiAgICBhYWFiCgovKD8+KGErKSliLwogICAgYWFhYgoKLyg/PmIpKy8KICAgIGFhYWJiYmNjYwoKLyg/PmErfGIrfGMrKSpjLwogICAgYWFhYmJiYmNjY2NkCiAgICAKLyhhK3xiK3xjKykqYy8KICAgIGFhYWJiYmJjY2NjZAoKLygoPz5bXigpXSspfFwoW14oKV0qXCkpKy8KICAgICgoYWJjKGFkZSl1ZmgoKSgpeAogICAgCi9cKCgoPz5bXigpXSspfFwoW14oKV0rXCkpK1wpLwogICAgKGFiYykKICAgIChhYmMoZGVmKXh5eikKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAoKCgpYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEgICAKCi9hKD8taSliL2kKICAgIGFiCiAgICBBYgpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBhQgogICAgQUIKICAgICAgICAKLyhhICg/eCliIGMpZCBlLwogICAgYSBiY2QgZQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGEgYiBjZCBlCiAgICBhYmNkIGUgICAKICAgIGEgYmNkZSAKIAovKGEgYig/eCljIGQgKD8teCllIGYpLwogICAgYSBiY2RlIGYKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNkZWYgIAoKLyhhKD9pKWIpYy8KICAgIGFiYwogICAgYUJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJDCiAgICBhQkMgIAogICAgQWJjCiAgICBBQmMKICAgIEFCQwogICAgQWJDCiAgICAKL2EoP2k6YiljLwogICAgYWJjCiAgICBhQmMKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgQUJDCiAgICBhYkMKICAgIGFCQwogICAgCi9hKD9pOmIpKmMvCiAgICBhQmMKICAgIGFCQmMKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYUJDCiAgICBhQkJDCiAgICAKL2EoPz1iKD9pKWMpXHdcd2QvCiAgICBhYmNkCiAgICBhYkNkClw9IEV4cGVjdCBubyBtYXRjaAogICAgYUJDZAogICAgYWJjRCAgICAgCiAgICAKLyg/cy1pOm1vcmUuKnRoYW4pLiptaWxsaW9uL2kKICAgIG1vcmUgdGhhbiBtaWxsaW9uCiAgICBtb3JlIHRoYW4gTUlMTElPTgogICAgbW9yZSBcbiB0aGFuIE1pbGxpb24gClw9IEV4cGVjdCBubyBtYXRjaAogICAgTU9SRSBUSEFOIE1JTExJT04gICAgCiAgICBtb3JlIFxuIHRoYW4gXG4gbWlsbGlvbiAKCi8oPzooP3MtaSltb3JlLip0aGFuKS4qbWlsbGlvbi9pCiAgICBtb3JlIHRoYW4gbWlsbGlvbgogICAgbW9yZSB0aGFuIE1JTExJT04KICAgIG1vcmUgXG4gdGhhbiBNaWxsaW9uIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIE1PUkUgVEhBTiBNSUxMSU9OICAgIAogICAgbW9yZSBcbiB0aGFuIFxuIG1pbGxpb24gCiAgICAKLyg/PmEoP2kpYispK2MvCiAgICBhYmMKICAgIGFCYmMKICAgIGFCQmMgClw9IEV4cGVjdCBubyBtYXRjaAogICAgQWJjCiAgICBhYkFiICAgIAogICAgYWJiQyAKICAgIAovKD89YSg/aSliKVx3XHdjLwogICAgYWJjCiAgICBhQmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBYiAKICAgIGFiQwogICAgYUJDICAgICAKICAgIAovKD88PWEoP2kpYikoXHdcdyljLwogICAgYWJ4eGMKICAgIGFCeHhjClw9IEV4cGVjdCBubyBtYXRjaAogICAgQWJ4eGMKICAgIEFCeHhjCiAgICBhYnh4QyAgICAgIAoKL14oPyg/PWFiYylcd3szfTp8XGRcZCkkLwogICAgYWJjOgogICAgMTIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjMKICAgIHh5eiAgICAKCi9eKD8oPyFhYmMpXGRcZHxcd3szfTopJC8KICAgIGFiYzoKICAgIDEyClw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzCiAgICB4eXogICAgCiAgICAKLyg/KD88PWZvbyliYXJ8Y2F0KS8KICAgIGZvb2JhcgogICAgY2F0CiAgICBmY2F0CiAgICBmb2NhdCAgIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGZvb2NhdCAgCgovKD8oPzwhZm9vKWNhdHxiYXIpLwogICAgZm9vYmFyCiAgICBjYXQKICAgIGZjYXQKICAgIGZvY2F0ICAgClw9IEV4cGVjdCBubyBtYXRjaAogICAgZm9vY2F0ICAKCi8oPz5hKikqLwogICAgYQogICAgYWEKICAgIGFhYWEKICAgIAovKGFiY3wpKy8KICAgIGFiYwogICAgYWJjYWJjCiAgICBhYmNhYmNhYmMKICAgIHh5eiAgICAgIAoKLyhbYV0qKSovCiAgICBhCiAgICBhYWFhYSAKIAovKFthYl0qKSovCiAgICBhCiAgICBiCiAgICBhYmFiYWIKICAgIGFhYWFiY2RlCiAgICBiYmJiICAgIAogCi8oW15hXSopKi8KICAgIGIKICAgIGJiYmIKICAgIGFhYSAgIAogCi8oW15hYl0qKSovCiAgICBjY2NjCiAgICBhYmFiICAKIAovKFthXSo/KSovCiAgICBhCiAgICBhYWFhIAogCi8oW2FiXSo/KSovCiAgICBhCiAgICBiCiAgICBhYmFiCiAgICBiYWJhICAgCiAKLyhbXmFdKj8pKi8KICAgIGIKICAgIGJiYmIKICAgIGFhYSAgIAogCi8oW15hYl0qPykqLwogICAgYwogICAgY2NjYwogICAgYmFiYSAgIAogCi8oPz5hKikqLwogICAgYQogICAgYWFhYmNkZSAKIAovKCg/PmEqKSkqLwogICAgYWFhYWEKICAgIGFhYmJhYSAKIAovKCg/PmEqPykpKi8KICAgIGFhYWFhCiAgICBhYWJiYWEgCgovKD8oPz1bXmEtel0rW2Etel0pICBcZHsyfS1bYS16XXszfS1cZHsyfSAgfCAgXGR7Mn0tXGR7Mn0tXGR7Mn0gKSAveAogICAgMTItc2VwLTk4CiAgICAxMi0wOS05OApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHNlcC0xMi05OAogICAgICAgIAovKD9pOnNhdHVyZGF5fHN1bmRheSkvCiAgICBzYXR1cmRheQogICAgc3VuZGF5CiAgICBTYXR1cmRheQogICAgU3VuZGF5CiAgICBTQVRVUkRBWQogICAgU1VOREFZCiAgICBTdW5EYXkKICAgIAovKGEoP2kpYmN8QkIpeC8KICAgIGFiY3gKICAgIGFCQ3gKICAgIGJieAogICAgQkJ4Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjWAogICAgYUJDWAogICAgYmJYCiAgICBCQlggICAgICAgICAgICAgICAKCi9eKFthYl0oP2kpW2NkXXxbZWZdKS8KICAgIGFjCiAgICBhQwogICAgYkQKICAgIGVsZXBoYW50CiAgICBFdXJvcGUgCiAgICBmcm9nCiAgICBGcmFuY2UKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBZnJpY2EgICAgIAoKL14oYWJ8YSg/aSlbYi1jXSg/bS1pKWR8eCg/aSl5fHopLwogICAgYWIKICAgIGFCZAogICAgeHkKICAgIHhZCiAgICB6ZWJyYQogICAgWmFtYmVzaQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFDRCAgCiAgICBYWSAgCgovKD88PWZvb1xuKV5iYXIvbQogICAgZm9vXG5iYXIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiYXIKICAgIGJhelxuYmFyICAgCgovKD88PSg/PCFmb28pYmFyKWJhei8KICAgIGJhcmJhegogICAgYmFyYmFyYmF6IAogICAga29vYmFyYmF6IApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGJhegogICAgZm9vYmFyYmF6IAoKIyBUaGUgZm9sbG93aW5nIHRlc3RzIGFyZSB0YWtlbiBmcm9tIHRoZSBQZXJsIDUuMDA1IHRlc3Qgc3VpdGU7IHNvbWUgb2YgdGhlbQojIGFyZSBjb21wYXRpYmxlIHdpdGggNS4wMDQsIGJ1dCBJJ2QgcmF0aGVyIG5vdCBoYXZlIHRvIHNvcnQgdGhlbSBvdXQuCgovYWJjLwogICAgYWJjCiAgICB4YWJjeQogICAgYWJhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4YmMKICAgIGF4YwogICAgYWJ4CgovYWIqYy8KICAgIGFiYwoKL2FiKmJjLwogICAgYWJjCiAgICBhYmJjCiAgICBhYmJiYmMKCi8uezF9LwogICAgYWJiYmJjCgovLnszLDR9LwogICAgYWJiYmJjCgovYWJ7MCx9YmMvCiAgICBhYmJiYmMKCi9hYitiYy8KICAgIGFiYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmMKICAgIGFicQoKL2FiK2JjLwogICAgYWJiYmJjCgovYWJ7MSx9YmMvCiAgICBhYmJiYmMKCi9hYnsxLDN9YmMvCiAgICBhYmJiYmMKCi9hYnszLDR9YmMvCiAgICBhYmJiYmMKCi9hYns0LDV9YmMvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJxCiAgICBhYmJiYmMKCi9hYj9iYy8KICAgIGFiYmMKICAgIGFiYwoKL2FiezAsMX1iYy8KICAgIGFiYwoKL2FiP2JjLwoKL2FiP2MvCiAgICBhYmMKCi9hYnswLDF9Yy8KICAgIGFiYwoKL15hYmMkLwogICAgYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJiYmJjCiAgICBhYmNjCgovXmFiYy8KICAgIGFiY2MKCi9eYWJjJC8KCi9hYmMkLwogICAgYWFiYwogICAgYWFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhYmNkCgovXi8KICAgIGFiYwoKLyQvCiAgICBhYmMKCi9hLmMvCiAgICBhYmMKICAgIGF4YwoKL2EuKmMvCiAgICBheHl6YwoKL2FbYmNdZC8KICAgIGFiZApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGF4eXpkCiAgICBhYmMKCi9hW2ItZF1lLwogICAgYWNlCgovYVtiLWRdLwogICAgYWFjCgovYVstYl0vCiAgICBhLQoKL2FbYi1dLwogICAgYS0KCi9hXS8KICAgIGFdCgovYVtdXWIvCiAgICBhXWIKCi9hW15iY11kLwogICAgYWVkClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJkCiAgICBhYmQKCi9hW14tYl1jLwogICAgYWRjCgovYVteXWJdYy8KICAgIGFkYwogICAgYS1jClw9IEV4cGVjdCBubyBtYXRjaAogICAgYV1jCgovXGJhXGIvCiAgICBhLQogICAgLWEKICAgIC1hLQoKL1xieVxiLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5CiAgICB5egogICAgeHl6CgovXEJhXEIvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYS0KICAgIC1hCiAgICAtYS0KCi9cQnlcYi8KICAgIHh5CgovXGJ5XEIvCiAgICB5egoKL1xCeVxCLwogICAgeHl6CgovXHcvCiAgICBhCgovXFcvCiAgICAtClw9IEV4cGVjdCBubyBtYXRjaAogICAgYQoKL2Fcc2IvCiAgICBhIGIKCi9hXFNiLwogICAgYS1iClw9IEV4cGVjdCBubyBtYXRjaAogICAgYSBiCgovXGQvCiAgICAxCgovXEQvCiAgICAtClw9IEV4cGVjdCBubyBtYXRjaAogICAgMQoKL1tcd10vCiAgICBhCgovW1xXXS8KICAgIC0KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhCgovYVtcc11iLwogICAgYSBiCgovYVtcU11iLwogICAgYS1iClw9IEV4cGVjdCBubyBtYXRjaAogICAgYSBiCgovW1xkXS8KICAgIDEKCi9bXERdLwogICAgLQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEKCi9hYnxjZC8KICAgIGFiYwogICAgYWJjZAoKLygpZWYvCiAgICBkZWYKCi8kYi8KCi9hXChiLwogICAgYShiCgovYVwoKmIvCiAgICBhYgogICAgYSgoYgoKL2FcXGIvCiAgICBhXFxiClw9IEV4cGVjdCBubyBtYXRjaAogICAgYVxiCgovKChhKSkvCiAgICBhYmMKCi8oYSliKGMpLwogICAgYWJjCgovYStiK2MvCiAgICBhYWJiYWJjCgovYXsxLH1iezEsfWMvCiAgICBhYWJiYWJjCgovYS4rP2MvCiAgICBhYmNhYmMKCi8oYSt8YikqLwogICAgYWIKCi8oYSt8Yil7MCx9LwogICAgYWIKCi8oYSt8YikrLwogICAgYWIKCi8oYSt8Yil7MSx9LwogICAgYWIKCi8oYSt8Yik/LwogICAgYWIKCi8oYSt8Yil7MCwxfS8KICAgIGFiCgovW15hYl0qLwogICAgY2RlCgovYWJjLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGIKCi9hKi8KCi8oW2FiY10pKmQvCiAgICBhYmJiY2QKCi8oW2FiY10pKmJjZC8KICAgIGFiY2QKCi9hfGJ8Y3xkfGUvCiAgICBlCgovKGF8YnxjfGR8ZSlmLwogICAgZWYKCi9hYmNkKmVmZy8KICAgIGFiY2RlZmcKCi9hYiovCiAgICB4YWJ5YWJiYnoKICAgIHhheWFiYmJ6CgovKGFifGNkKWUvCiAgICBhYmNkZQoKL1thYmhnZWZkY11pai8KICAgIGhpagoKL14oYWJ8Y2QpZS8KCi8oYWJjfCllZi8KICAgIGFiY2RlZgoKLyhhfGIpYypkLwogICAgYWJjZAoKLyhhYnxhYiopYmMvCiAgICBhYmMKCi9hKFtiY10qKWMqLwogICAgYWJjCgovYShbYmNdKikoYypkKS8KICAgIGFiY2QKCi9hKFtiY10rKShjKmQpLwogICAgYWJjZAoKL2EoW2JjXSopKGMrZCkvCiAgICBhYmNkCgovYVtiY2RdKmRjZGNkZS8KICAgIGFkY2RjZGUKCi9hW2JjZF0rZGNkY2RlLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY2RlCiAgICBhZGNkY2RlCgovKGFifGEpYipjLwogICAgYWJjCgovKChhKShiKWMpKGQpLwogICAgYWJjZAoKL1thLXpBLVpfXVthLXpBLVowLTlfXSovCiAgICBhbHBoYQoKL15hKGJjK3xiW2VoXSlnfC5oJC8KICAgIGFiaAoKLyhiYytkJHxlZipnLnxoP2koanxrKSkvCiAgICBlZmZnegogICAgaWoKICAgIHJlZmZnegpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGVmZmcKICAgIGJjZGQKCi8oKCgoKCgoKCgoYSkpKSkpKSkpKSkvCiAgICBhCgovKCgoKCgoKCgoYSkpKSkpKSkpKS8KICAgIGEKCi9tdWx0aXBsZSB3b3JkcyBvZiB0ZXh0LwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFhCiAgICB1aC11aAoKL211bHRpcGxlIHdvcmRzLwogICAgbXVsdGlwbGUgd29yZHMsIHllYWgKCi8oLiopYyguKikvCiAgICBhYmNkZQoKL1woKC4qKSwgKC4qKVwpLwogICAgKGEsIGIpCgovW2tdLwoKL2FiY2QvCiAgICBhYmNkCgovYShiYylkLwogICAgYWJjZAoKL2FbLV0/Yy8KICAgIGFjCgovYWJjL2kKICAgIEFCQwogICAgWEFCQ1kKICAgIEFCQUJDClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWF4YWJ4YmF4YmJ4CiAgICBYQkMKICAgIEFYQwogICAgQUJYCgovYWIqYy9pCiAgICBBQkMKCi9hYipiYy9pCiAgICBBQkMKICAgIEFCQkMKCi9hYio/YmMvaQogICAgQUJCQkJDCgovYWJ7MCx9P2JjL2kKICAgIEFCQkJCQwoKL2FiKz9iYy9pCiAgICBBQkJDCgovYWIrYmMvaQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFCQwogICAgQUJRCgovYWJ7MSx9YmMvaQoKL2FiK2JjL2kKICAgIEFCQkJCQwoKL2FiezEsfT9iYy9pCiAgICBBQkJCQkMKCi9hYnsxLDN9P2JjL2kKICAgIEFCQkJCQwoKL2FiezMsNH0/YmMvaQogICAgQUJCQkJDCgovYWJ7NCw1fT9iYy9pClw9IEV4cGVjdCBubyBtYXRjaAogICAgQUJRCiAgICBBQkJCQkMKCi9hYj8/YmMvaQogICAgQUJCQwogICAgQUJDCgovYWJ7MCwxfT9iYy9pCiAgICBBQkMKCi9hYj8/YmMvaQoKL2FiPz9jL2kKICAgIEFCQwoKL2FiezAsMX0/Yy9pCiAgICBBQkMKCi9eYWJjJC9pCiAgICBBQkMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQkJCQkMKICAgIEFCQ0MKCi9eYWJjL2kKICAgIEFCQ0MKCi9eYWJjJC9pCgovYWJjJC9pCiAgICBBQUJDCgovXi9pCiAgICBBQkMKCi8kL2kKICAgIEFCQwoKL2EuYy9pCiAgICBBQkMKICAgIEFYQwoKL2EuKj9jL2kKICAgIEFYWVpDCgovYS4qYy9pCiAgICBBQUJDClw9IEV4cGVjdCBubyBtYXRjaAogICAgQVhZWkQKCi9hW2JjXWQvaQogICAgQUJECgovYVtiLWRdZS9pCiAgICBBQ0UKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQkMKICAgIEFCRAoKL2FbYi1kXS9pCiAgICBBQUMKCi9hWy1iXS9pCiAgICBBLQoKL2FbYi1dL2kKICAgIEEtCgovYV0vaQogICAgQV0KCi9hW11dYi9pCiAgICBBXUIKCi9hW15iY11kL2kKICAgIEFFRAoKL2FbXi1iXWMvaQogICAgQURDClw9IEV4cGVjdCBubyBtYXRjaAogICAgQUJECiAgICBBLUMKCi9hW15dYl1jL2kKICAgIEFEQwoKL2FifGNkL2kKICAgIEFCQwogICAgQUJDRAoKLygpZWYvaQogICAgREVGCgovJGIvaQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFdQwogICAgQgoKL2FcKGIvaQogICAgQShCCgovYVwoKmIvaQogICAgQUIKICAgIEEoKEIKCi9hXFxiL2kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBXD1ub3Rib2wKCi8oKGEpKS9pCiAgICBBQkMKCi8oYSliKGMpL2kKICAgIEFCQwoKL2ErYitjL2kKICAgIEFBQkJBQkMKCi9hezEsfWJ7MSx9Yy9pCiAgICBBQUJCQUJDCgovYS4rP2MvaQogICAgQUJDQUJDCgovYS4qP2MvaQogICAgQUJDQUJDCgovYS57MCw1fT9jL2kKICAgIEFCQ0FCQwoKLyhhK3xiKSovaQogICAgQUIKCi8oYSt8Yil7MCx9L2kKICAgIEFCCgovKGErfGIpKy9pCiAgICBBQgoKLyhhK3xiKXsxLH0vaQogICAgQUIKCi8oYSt8Yik/L2kKICAgIEFCCgovKGErfGIpezAsMX0vaQogICAgQUIKCi8oYSt8Yil7MCwxfT8vaQogICAgQUIKCi9bXmFiXSovaQogICAgQ0RFCgovYWJjL2kKCi9hKi9pCgovKFthYmNdKSpkL2kKICAgIEFCQkJDRAoKLyhbYWJjXSkqYmNkL2kKICAgIEFCQ0QKCi9hfGJ8Y3xkfGUvaQogICAgRQoKLyhhfGJ8Y3xkfGUpZi9pCiAgICBFRgoKL2FiY2QqZWZnL2kKICAgIEFCQ0RFRkcKCi9hYiovaQogICAgWEFCWUFCQkJaCiAgICBYQVlBQkJCWgoKLyhhYnxjZCllL2kKICAgIEFCQ0RFCgovW2FiaGdlZmRjXWlqL2kKICAgIEhJSgoKL14oYWJ8Y2QpZS9pClw9IEV4cGVjdCBubyBtYXRjaAogICAgQUJDREUKCi8oYWJjfCllZi9pCiAgICBBQkNERUYKCi8oYXxiKWMqZC9pCiAgICBBQkNECgovKGFifGFiKiliYy9pCiAgICBBQkMKCi9hKFtiY10qKWMqL2kKICAgIEFCQwoKL2EoW2JjXSopKGMqZCkvaQogICAgQUJDRAoKL2EoW2JjXSspKGMqZCkvaQogICAgQUJDRAoKL2EoW2JjXSopKGMrZCkvaQogICAgQUJDRAoKL2FbYmNkXSpkY2RjZGUvaQogICAgQURDRENERQoKL2FbYmNkXStkY2RjZGUvaQoKLyhhYnxhKWIqYy9pCiAgICBBQkMKCi8oKGEpKGIpYykoZCkvaQogICAgQUJDRAoKL1thLXpBLVpfXVthLXpBLVowLTlfXSovaQogICAgQUxQSEEKCi9eYShiYyt8YltlaF0pZ3wuaCQvaQogICAgQUJICgovKGJjK2QkfGVmKmcufGg/aShqfGspKS9pCiAgICBFRkZHWgogICAgSUoKICAgIFJFRkZHWgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFEQ0RDREUKICAgIEVGRkcKICAgIEJDREQKCi8oKCgoKCgoKCgoYSkpKSkpKSkpKSkvaQogICAgQQoKLygoKCgoKCgoKGEpKSkpKSkpKSkvaQogICAgQQoKLyg/Oig/Oig/Oig/Oig/Oig/Oig/Oig/Oig/OihhKSkpKSkpKSkpKS9pCiAgICBBCgovKD86KD86KD86KD86KD86KD86KD86KD86KD86KGF8YnxjKSkpKSkpKSkpKS9pCiAgICBDCgovbXVsdGlwbGUgd29yZHMgb2YgdGV4dC9pClw9IEV4cGVjdCBubyBtYXRjaAogICAgQUEKICAgIFVILVVICgovbXVsdGlwbGUgd29yZHMvaQogICAgTVVMVElQTEUgV09SRFMsIFlFQUgKCi8oLiopYyguKikvaQogICAgQUJDREUKCi9cKCguKiksICguKilcKS9pCiAgICAoQSwgQikKCi9ba10vaQoKL2FiY2QvaQogICAgQUJDRAoKL2EoYmMpZC9pCiAgICBBQkNECgovYVstXT9jL2kKICAgIEFDCgovYSg/IWIpLi8KICAgIGFiYWQKCi9hKD89ZCkuLwogICAgYWJhZAoKL2EoPz1jfGQpLi8KICAgIGFiYWQKCi9hKD86YnxjfGQpKC4pLwogICAgYWNlCgovYSg/OmJ8Y3xkKSooLikvCiAgICBhY2UKCi9hKD86YnxjfGQpKz8oLikvCiAgICBhY2UKICAgIGFjZGJjZGJlCgovYSg/OmJ8Y3xkKSsoLikvCiAgICBhY2RiY2RiZQoKL2EoPzpifGN8ZCl7Mn0oLikvCiAgICBhY2RiY2RiZQoKL2EoPzpifGN8ZCl7NCw1fSguKS8KICAgIGFjZGJjZGJlCgovYSg/OmJ8Y3xkKXs0LDV9PyguKS8KICAgIGFjZGJjZGJlCgovKChmb28pfChiYXIpKSovCiAgICBmb29iYXIKCi9hKD86YnxjfGQpezYsN30oLikvCiAgICBhY2RiY2RiZQoKL2EoPzpifGN8ZCl7Niw3fT8oLikvCiAgICBhY2RiY2RiZQoKL2EoPzpifGN8ZCl7NSw2fSguKS8KICAgIGFjZGJjZGJlCgovYSg/OmJ8Y3xkKXs1LDZ9PyguKS8KICAgIGFjZGJjZGJlCgovYSg/OmJ8Y3xkKXs1LDd9KC4pLwogICAgYWNkYmNkYmUKCi9hKD86YnxjfGQpezUsN30/KC4pLwogICAgYWNkYmNkYmUKCi9hKD86YnwoY3xlKXsxLDJ9P3xkKSs/KC4pLwogICAgYWNlCgovXiguKyk/Qi8KICAgIEFCCgovXihbXmEtel0pfChcXikkLwogICAgLgoKL15bPD5dJi8KICAgIDwmT1VUCgovKD86KGYpKG8pKG8pfChiKShhKShyKSkqLwogICAgZm9vYmFyCgovKD88PWEpYi8KICAgIGFiClw9IEV4cGVjdCBubyBtYXRjaAogICAgY2IKICAgIGIKCi8oPzwhYyliLwogICAgYWIKICAgIGIKICAgIGIKCi8oPzouLikqYS8KICAgIGFiYQoKLyg/Oi4uKSo/YS8KICAgIGFiYQoKL14oKXszLDV9LwogICAgYWJjCgovXihhKykqYXgvCiAgICBhYXgKCi9eKChhfGIpKykqYXgvCiAgICBhYXgKCi9eKChhfGJjKSspKmF4LwogICAgYWF4CgovKGF8eCkqYWIvCiAgICBjYWIKCi8oYSkqYWIvCiAgICBjYWIKCi8oPzooP2kpYSliLwogICAgYWIKCi8oKD9pKWEpYi8KICAgIGFiCgovKD86KD9pKWEpYi8KICAgIEFiCgovKCg/aSlhKWIvCiAgICBBYgoKLyg/Oig/aSlhKWIvClw9IEV4cGVjdCBubyBtYXRjaAogICAgY2IKICAgIGFCCgovKCg/aSlhKWIvCgovKD9pOmEpYi8KICAgIGFiCgovKCg/aTphKSliLwogICAgYWIKCi8oP2k6YSliLwogICAgQWIKCi8oKD9pOmEpKWIvCiAgICBBYgoKLyg/aTphKWIvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYUIKICAgIGFCCgovKCg/aTphKSliLwoKLyg/Oig/LWkpYSliL2kKICAgIGFiCgovKCg/LWkpYSliL2kKICAgIGFiCgovKD86KD8taSlhKWIvaQogICAgYUIKCi8oKD8taSlhKWIvaQogICAgYUIKCi8oPzooPy1pKWEpYi9pCiAgICBhQgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFiCgovKCg/LWkpYSliL2kKCi8oPzooPy1pKWEpYi9pCiAgICBhQgoKLygoPy1pKWEpYi9pCiAgICBhQgoKLyg/Oig/LWkpYSliL2kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBYgogICAgQUIKCi8oKD8taSlhKWIvaQoKLyg/LWk6YSliL2kKICAgIGFiCgovKCg/LWk6YSkpYi9pCiAgICBhYgoKLyg/LWk6YSliL2kKICAgIGFCCgovKCg/LWk6YSkpYi9pCiAgICBhQgoKLyg/LWk6YSliL2kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQgogICAgQWIKCi8oKD8taTphKSliL2kKCi8oPy1pOmEpYi9pCiAgICBhQgoKLygoPy1pOmEpKWIvaQogICAgYUIKCi8oPy1pOmEpYi9pClw9IEV4cGVjdCBubyBtYXRjaAogICAgQWIKICAgIEFCCgovKCg/LWk6YSkpYi9pCgovKCg/LWk6YS4pKWIvaQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEFCCiAgICBhXG5CCgovKCg/cy1pOmEuKSliL2kKICAgIGFcbkIKCi8oPzpjfGQpKD86KSg/OmEoPzopKD86YikoPzpiKD86KSkoPzpiKD86KSg/OmIpKSkvCiAgICBjYWJiYmIKCi8oPzpjfGQpKD86KSg/OmFhYWFhYWFhKD86KSg/OmJiYmJiYmJiKSg/OmJiYmJiYmJiKD86KSkoPzpiYmJiYmJiYig/OikoPzpiYmJiYmJiYikpKS8KICAgIGNhYWFhYWFhYWJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiCgovZm9vXHcqXGR7NH1iYXovCiAgICBmb29iYXIxMjM0YmF6CgoveCh+fikqKD86KD86Rik/KT8vCiAgICB4fn4KCi9eYSg/I3h4eCl7M31jLwogICAgYWFhYwoKL15hICg/I3h4eCkgKD8jeXl5KSB7M31jL3gKICAgIGFhYWMKCi8oPzwhW2NkXSliLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIEJcbkIKICAgIGRiY2IKCi8oPzwhW2NkXSlbYWJdLwogICAgZGJhYWNiCgovKD88IShjfGQpKWIvCgovKD88IShjfGQpKVthYl0vCiAgICBkYmFhY2IKCi8oPzwhY2QpW2FiXS8KICAgIGNkYWNjYgoKL14oPzphP2I/KSokLwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGRiY2IKICAgIGEtLQoKLygoP3MpXmEoLikpKCg/bSleYiQpLwogICAgYVxuYlxuY1xuCgovKCg/bSleYiQpLwogICAgYVxuYlxuY1xuCgovKD9tKV5iLwogICAgYVxuYlxuCgovKD9tKV4oYikvCiAgICBhXG5iXG4KCi8oKD9tKV5iKS8KICAgIGFcbmJcbgoKL1xuKCg/bSleYikvCiAgICBhXG5iXG4KCi8oKD9zKS4pYyg/IS4pLwogICAgYVxuYlxuY1xuCiAgICBhXG5iXG5jXG4KCi8oKD9zKWIuKWMoPyEuKS8KICAgIGFcbmJcbmNcbgogICAgYVxuYlxuY1xuCgovXmIvCgovKCleYi8KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhXG5iXG5jXG4KICAgIGFcbmJcbmNcbgoKLygoP20pXmIpLwogICAgYVxuYlxuY1xuCgovKD8oPyFhKWF8YikvCgovKD8oPyFhKWJ8YSkvCiAgICBhCgovKD8oPz1hKWJ8YSkvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYQogICAgYQoKLyg/KD89YSlhfGIpLwogICAgYQoKLyhcdys6KSsvCiAgICBvbmU6CgovJCg/PD1eKGEpKS8KICAgIGEKCi8oW1x3Ol0rOjopPyhcdyspJC8KICAgIGFiY2QKICAgIHh5Ono6OjphYmNkCgovXlteYmNkXSooYyspLwogICAgYWV4eWNkCgovKGEqKWIrLwogICAgY2FhYgoKLyhbXHc6XSs6Oik/KFx3KykkLwogICAgYWJjZAogICAgeHk6ejo6OmFiY2QKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYmNkOgogICAgYWJjZDoKCi9eW15iY2RdKihjKykvCiAgICBhZXh5Y2QKCi8oPmErKWFiLwoKLyg/PmErKWIvCiAgICBhYWFiCgovKFtbOl0rKS8KICAgIGE6W2JdOgoKLyhbWz1dKykvCiAgICBhPVtiXT0KCi8oW1suXSspLwogICAgYS5bYl0uCgovKCg/PmErKWIpLwogICAgYWFhYgoKLyg/PihhKykpYi8KICAgIGFhYWIKCi8oKD8+W14oKV0rKXxcKFteKCldKlwpKSsvCiAgICAoKGFiYyhhZGUpdWZoKCkoKXgKCi9hXFovClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFhYgogICAgYVxuYlxuCgovYlxaLwogICAgYVxuYlxuCgovYlx6LwoKL2JcWi8KICAgIGFcbmIKCi9iXHovCiAgICBhXG5iCiAgICAKLyg/Pi4qKSg/PD0oYWJjZHx3eHl6KSkvCiAgICBhbHBoYWJldGFiY2QKICAgIGVuZGluZ3d4eXoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhIHJhdGhlciBsb25nIHN0cmluZyB0aGF0IGRvZXNuJ3QgZW5kIHdpdGggb25lIG9mIHRoZW0KCi93b3JkICg/Pig/Oig/IW90aGVyd29yZClbYS16QS1aMC05XSsgKXswLDMwfSlvdGhlcndvcmQvCiAgICB3b3JkIGNhdCBkb2cgZWxlcGhhbnQgbXVzc2VsIGNvdyBob3JzZSBjYW5hcnkgYmFib29uIHNuYWtlIHNoYXJrIG90aGVyd29yZApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHdvcmQgY2F0IGRvZyBlbGVwaGFudCBtdXNzZWwgY293IGhvcnNlIGNhbmFyeSBiYWJvb24gc25ha2Ugc2hhcmsKICAKL3dvcmQgKD8+W2EtekEtWjAtOV0rICl7MCwzMH1vdGhlcndvcmQvClw9IEV4cGVjdCBubyBtYXRjaAogICAgd29yZCBjYXQgZG9nIGVsZXBoYW50IG11c3NlbCBjb3cgaG9yc2UgY2FuYXJ5IGJhYm9vbiBzbmFrZSBzaGFyayB0aGUgcXVpY2sgYnJvd24gZm94IGFuZCB0aGUgbGF6eSBkb2cgYW5kIHNldmVyYWwgb3RoZXIgd29yZHMgZ2V0dGluZyBjbG9zZSB0byB0aGlydHkgYnkgbm93IEkgaG9wZQoKLyg/PD1cZHszfSg/ITk5OSkpZm9vLwogICAgOTk5Zm9vCiAgICAxMjM5OTlmb28gClw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzYWJjZm9vCiAgICAKLyg/PD0oPyEuLi45OTkpXGR7M30pZm9vLwogICAgOTk5Zm9vCiAgICAxMjM5OTlmb28gClw9IEV4cGVjdCBubyBtYXRjaAogICAgMTIzYWJjZm9vCgovKD88PVxkezN9KD8hOTk5KS4uLilmb28vCiAgICAxMjNhYmNmb28KICAgIDEyMzQ1NmZvbyAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjM5OTlmb28gIAogICAgCi8oPzw9XGR7M30uLi4pKD88ITk5OSlmb28vCiAgICAxMjNhYmNmb28gICAKICAgIDEyMzQ1NmZvbyAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICAxMjM5OTlmb28gIAoKLygoWikrfEEpKi8KICAgIFpBQkNERUZHCgovKFooKXxBKSovCiAgICBaQUJDREVGRwoKLyhaKCgpKXxBKSovCiAgICBaQUJDREVGRwoKLygoPz5aKSt8QSkqLwogICAgWkFCQ0RFRkcKCi8oKD8+KSt8QSkqLwogICAgWkFCQ0RFRkcKCi9hKi9nCiAgICBhYmJhYgoKL15bXGQtYV0vCiAgICBhYmNkZQogICAgLXRoaW5ncwogICAgMGRpZ2l0Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYmNkZWYgICAgCiAgICAKL1tbOnNwYWNlOl1dKy8KICAgID4gXHgwOVx4MGFceDBjXHgwZFx4MGI8CiAgICAgCi9bWzpibGFuazpdXSsvCiAgICA+IFx4MDlceDBhXHgwY1x4MGRceDBiPAogICAgIAovW1xzXSsvCiAgICA+IFx4MDlceDBhXHgwY1x4MGRceDBiPAogICAgIAovXHMrLwogICAgPiBceDA5XHgwYVx4MGNceDBkXHgwYjwKICAgICAKL2ELYi94CiAgICBhYgoKLyg/IVxBKXgvbQogIGFcbnhiXG4KCi8oPyFeKXgvbQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFcbnhiXG4KCi9hYmNcUWFiY1xFYWJjLwogICAgYWJjYWJjYWJjCiAgICAKL2FiY1xRKCorfFxFYWJjLwogICAgYWJjKCorfGFiYyAKCi8gICBhYmNcUSBhYmNcRWFiYy94CiAgICBhYmMgYWJjYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWJjYWJjYWJjICAKICAgIAovYWJjI2NvbW1lbnQKICAgIFxRI25vdCBjb21tZW50CiAgICBsaXRlcmFsXEUveAogICAgYWJjI25vdCBjb21tZW50XG4gICAgbGl0ZXJhbCAgICAgCgovYWJjI2NvbW1lbnQKICAgIFxRI25vdCBjb21tZW50CiAgICBsaXRlcmFsL3gKICAgIGFiYyNub3QgY29tbWVudFxuICAgIGxpdGVyYWwgICAgIAoKL2FiYyNjb21tZW50CiAgICBcUSNub3QgY29tbWVudAogICAgbGl0ZXJhbFxFICNtb3JlIGNvbW1lbnQKICAgIC94CiAgICBhYmMjbm90IGNvbW1lbnRcbiAgICBsaXRlcmFsICAgICAKCi9hYmMjY29tbWVudAogICAgXFEjbm90IGNvbW1lbnQKICAgIGxpdGVyYWxcRSAjbW9yZSBjb21tZW50L3gKICAgIGFiYyNub3QgY29tbWVudFxuICAgIGxpdGVyYWwgICAgIAoKL1xRYWJjXCR4eXpcRS8KICAgIGFiY1xcXCR4eXoKCi9cUWFiY1xFXCRcUXh5elxFLwogICAgYWJjXCR4eXoKCi9cR2FiYy8KICAgIGFiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5emFiYyAgCgovXEdhYmMuL2cKICAgIGFiYzFhYmMyeHl6YWJjMwoKL2FiYy4vZwogICAgYWJjMWFiYzJ4eXphYmMzIAoKL2EoP3g6IGIgYyApZC8KICAgIFhhYmNkWQpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBYYSBiIGMgZCBZIAoKLygoP3gpeCB5IHogfCBhIGIgYykvCiAgICBYYWJjWQogICAgQXh5ekIgCgovKD9pKUFCKD8taSlDLwogICAgWGFiQ1kKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBYYWJjWSAgCgovKCg/aSlBQig/LWkpQ3xEKUUvCiAgICBhYkNFCiAgICBERQpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiY0UKICAgIGFiQ2UgIAogICAgZEUKICAgIERlICAgIAoKL1t6XFFhLWRdXEVdLwogICAgegogICAgYQogICAgLQogICAgZAogICAgXSAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBiICAgICAKCi8oYSspKmIvClw9IEV4cGVjdCBubyBtYXRjaAogICAgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYSAKICAgIAovKD9pKXJlZyg/OnVsKD86W2HkXXxhZSlyfGV4KS8KICAgIFJFR3VsYXIKICAgIHJlZ3VsYWVyCiAgICBSZWdleCAgCiAgICByZWd1bORyIAoKL8Xm5eRb4C3/wC3fXSsvCiAgICDF5uXk4AogICAgxebl5P8KICAgIMXm5eTACiAgICDF5uXk3woKLyg/PD1aKVguLwogICAgXHg4NFhBWlhCCgovXig/KDIpYXwoMSkoMikpKyQvCiAgICAxMjNhCgovKD88PWF8YmJiYiljLwogICAgYWMKICAgIGJiYmJjCgovbGluZVxuYnJlYWsvCiAgICB0aGlzIGlzIGEgbGluZVxuYnJlYWsKICAgIGxpbmUgb25lXG50aGlzIGlzIGEgbGluZVxuYnJlYWsgaW4gdGhlIHNlY29uZCBsaW5lIAoKL2xpbmVcbmJyZWFrL2ZpcnN0bGluZQogICAgdGhpcyBpcyBhIGxpbmVcbmJyZWFrClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGxpbmUgb25lXG50aGlzIGlzIGEgbGluZVxuYnJlYWsgaW4gdGhlIHNlY29uZCBsaW5lIAoKL2xpbmVcbmJyZWFrL20sZmlyc3RsaW5lCiAgICB0aGlzIGlzIGEgbGluZVxuYnJlYWsKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgbGluZSBvbmVcbnRoaXMgaXMgYSBsaW5lXG5icmVhayBpbiB0aGUgc2Vjb25kIGxpbmUgCgovMTIzNC8KICAgIDEyM1w9cHMKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYTRcPXBzLGRmYV9yZXN0YXJ0CgovMTIzNC8KICAgIDEyM1w9cHMKICAgIDRcPXBzLGRmYV9yZXN0YXJ0CgovXi9nbQogICAgYVxuYlxuY1xuCiAgICBcIAogICAgCi8oPzw9Q1xuKV4vZ20KICAgIEFcbkNcbkNcbiAKCi8oP3MpQT9CLwogICAgQUIKICAgIGFCICAKCi8oP3MpQSpCLwogICAgQUIKICAgIGFCICAKCi8oP20pQT9CLwogICAgQUIKICAgIGFCICAKCi8oP20pQSpCLwogICAgQUIKICAgIGFCICAKCi9Db250ZW50LVR5cGVceDNBW15cclxuXXs2LH0vCiAgICBDb250ZW50LVR5cGU6eHh4eHh5eXkgCgovQ29udGVudC1UeXBlXHgzQVteXHJcbl17Nix9ei8KICAgIENvbnRlbnQtVHlwZTp4eHh4eHl5eXoKCi9Db250ZW50LVR5cGVceDNBW15hXXs2LH0vCiAgICBDb250ZW50LVR5cGU6eHh4eXl5IAoKL0NvbnRlbnQtVHlwZVx4M0FbXmFdezYsfXovCiAgICBDb250ZW50LVR5cGU6eHh4eXl5egoKL15hYmMvSW0sbmV3bGluZT1sZgogICAgeHl6XG5hYmMKICAgIHh5elxyXG5hYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXpccmFiYwogICAgeHl6YWJjXHIKICAgIHh5emFiY1xycHFyCiAgICB4eXphYmNcclxuCiAgICB4eXphYmNcclxucHFyCgovXmFiYy9JbSxuZXdsaW5lPWNybGYKICAgIHh5elxyXG5hYmNsZj4KXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXpcbmFiY2xmCiAgICB4eXpccmFiY2xmCiAgICAKL15hYmMvSW0sbmV3bGluZT1jcgogICAgeHl6XHJhYmMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICB4eXpcbmFiYwogICAgeHl6XHJcbmFiYwoKLy4qL0ksbmV3bGluZT1sZgogICAgYWJjXG5kZWYKICAgIGFiY1xyZGVmCiAgICBhYmNcclxuZGVmCgovLiovSSxuZXdsaW5lPWNyCiAgICBhYmNcbmRlZgogICAgYWJjXHJkZWYKICAgIGFiY1xyXG5kZWYKCi8uKi9JLG5ld2xpbmU9Y3JsZgogICAgYWJjXG5kZWYKICAgIGFiY1xyZGVmCiAgICBhYmNcclxuZGVmCgovXHcrKC4pKC4pP2RlZi9JcwogICAgYWJjXG5kZWYKICAgIGFiY1xyZGVmCiAgICBhYmNcclxuZGVmCgovXHcrKC4pKC4pP2RlZi9zCiAgICBhYmNcbmRlZgogICAgYWJjXHJkZWYKICAgIGFiY1xyXG5kZWYKCi9eXHcrPS4qKFxcXG4uKikqLwogICAgYWJjPXh5elxcXG5wcXIKCi9eKGEoKSopKi8KICAgIGFhYWEKCi9eKD86YSg/Oig/OikpKikqLwogICAgYWFhYQoKL14oYSgpKykrLwogICAgYWFhYQoKL14oPzphKD86KD86KSkrKSsvCiAgICBhYWFhCgovKGF8KSpcZC8KICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE0Clw9IEV4cGVjdCBubyBtYXRjaAogIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQoKLyg/PmF8KSpcZC8KICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE0Clw9IEV4cGVjdCBubyBtYXRjaAogIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQoKLyg/OmF8KSpcZC8KICBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE0Clw9IEV4cGVjdCBubyBtYXRjaAogIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQoKL15hLmIvbmV3bGluZT1sZgogICAgYVxyYgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFcbmIKCi9eYS5iL25ld2xpbmU9Y3IKICAgIGFcbmIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhXHJiCgovXmEuYi9uZXdsaW5lPWFueWNybGYKICAgIGFceDg1YgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFccmIKCi9eYS5iL25ld2xpbmU9YW55Clw9IEV4cGVjdCBubyBtYXRjaAogICAgYVxuYgogICAgYVxyYgogICAgYVx4ODViCgovXmFiYy4vZ214LG5ld2xpbmU9YW55CiAgICBhYmMxIFx4MGFhYmMyIFx4MGJhYmMzeHggXHgwY2FiYzQgXHgwZGFiYzV4eCBceDBkXHgwYWFiYzYgXHg4NWFiYzcgSlVOSwoKL2FiYy4kL2dteCxuZXdsaW5lPWFueQogICAgYWJjMVx4MGEgYWJjMlx4MGIgYWJjM1x4MGMgYWJjNFx4MGQgYWJjNVx4MGRceDBhIGFiYzZceDg1IGFiYzkKCi9eYVxSYi9ic3I9dW5pY29kZQogICAgYVxuYgogICAgYVxyYgogICAgYVxyXG5iCiAgICBhXHgwYmIKICAgIGFceDBjYgogICAgYVx4ODViICAgClw9IEV4cGVjdCBubyBtYXRjaAogICAgYVxuXHJiICAgIAoKL15hXFIqYi9ic3I9dW5pY29kZQogICAgYWIKICAgIGFcbmIKICAgIGFccmIKICAgIGFcclxuYgogICAgYVx4MGJiCiAgICBhXHgwY2IKICAgIGFceDg1YiAgIAogICAgYVxuXHJiICAgIAogICAgYVxuXHJceDg1XHgwY2IgCgovXmFcUitiL2Jzcj11bmljb2RlCiAgICBhXG5iCiAgICBhXHJiCiAgICBhXHJcbmIKICAgIGFceDBiYgogICAgYVx4MGNiCiAgICBhXHg4NWIgICAKICAgIGFcblxyYiAgICAKICAgIGFcblxyXHg4NVx4MGNiIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiICAKICAgIAovXmFcUnsxLDN9Yi9ic3I9dW5pY29kZQogICAgYVxuYgogICAgYVxuXHJiCiAgICBhXG5cclx4ODViCiAgICBhXHJcblxyXG5iIAogICAgYVxyXG5cclxuXHJcbmIgCiAgICBhXG5cclxuXHJiCiAgICBhXG5cblxyXG5iIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFcblxuXG5ccmIKICAgIGFccgoKLy4rZm9vLwogICAgYWZvbwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBcclxuZm9vIAogICAgXG5mb28gCgovLitmb28vbmV3bGluZT1jcmxmCiAgICBhZm9vCiAgICBcbmZvbyAKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgXHJcbmZvbyAKCi8uK2Zvby9uZXdsaW5lPWFueQogICAgYWZvbwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBcbmZvbyAKICAgIFxyXG5mb28gCgovLitmb28vcwogICAgYWZvbwogICAgXHJcbmZvbyAKICAgIFxuZm9vIAoKL14kL2dtLG5ld2xpbmU9YW55CiAgICBhYmNcclxyeHl6CiAgICBhYmNcblxyeHl6ICAKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgYWJjXHJcbnh5egoKL15YL20KICAgIFhBQkMKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgWEFCQ1w9bm90Ym9sCgovKD9tKV4kL2csbmV3bGluZT1hbnksYWZ0ZXJ0ZXh0CiAgICBhYmNcclxuXHJcbgoKLyg/bSleJHxeXHJcbi9nLG5ld2xpbmU9YW55LGFmdGVydGV4dAogICAgYWJjXHJcblxyXG4KICAgIAovKD9tKSQvZyxuZXdsaW5lPWFueSxhZnRlcnRleHQKICAgIGFiY1xyXG5cclxuCgovKD98KGFiYyl8KHh5eikpLwogICA+YWJjPAogICA+eHl6PCAKCi8oeCkoP3woYWJjKXwoeHl6KSkoeCkvCiAgICB4YWJjeAogICAgeHh5enggCgovKHgpKD98KGFiYykocHFyKXwoeHl6KSkoeCkvCiAgICB4YWJjcHFyeAogICAgeHh5enggCgovKD98KGFiYyl8KHh5eikpKD8xKS8KICAgIGFiY2FiYwogICAgeHl6YWJjIApcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICB4eXp4eXogCiAKL1xIXGhcVlx2LwogICAgWCBYXHgwYQogICAgWFx4MDlYXHgwYgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFx4YTAgWFx4MGEgICAKICAgIAovXEgqXGgrXFY/XHZ7Myw0fS8KICAgIFx4MDlceDIwXHhhMFhceDBhXHgwYlx4MGNceDBkXHgwYQogICAgXHgwOVx4MjBceGEwXHgwYVx4MGJceDBjXHgwZFx4MGEKICAgIFx4MDlceDIwXHhhMFx4MGFceDBiXHgwYwpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBceDA5XHgyMFx4YTBceDBhXHgwYgogICAgIAovXEh7Myw0fS8KICAgIFhZICBBQkNERQogICAgWFkgIFBRUiBTVCAKICAgIAovLlxoezMsNH0uLwogICAgWFkgIEFCICAgIFBRUlMKCi9caCpYXGg/XEgrWVxIP1ovCiAgICA+WE5OTllaCiAgICA+ICBYIE5ZUVoKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICA+WFlaICAgCiAgICA+ICBYIE5ZIFoKCi9cdipYXHY/WVx2K1pcVipceDBhXFYrXHgwYlxWezIsM31ceDBjLwogICAgPlhZXHgwYVpceDBhQVx4MGJOTlx4MGMKICAgID5ceDBhXHgwZFhceDBhWVx4MGFceDBiWlpaXHgwYUFBQVx4MGJOTk5ceDBjCgovLitBL25ld2xpbmU9Y3JsZgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIFxyXG5BCiAgICAKL1xuQS9uZXdsaW5lPWNybGYKICAgIFxyXG5BIAoKL1tcclxuXUEvbmV3bGluZT1jcmxmCiAgICBcclxuQSAKCi8oXHJ8XG4pQS9uZXdsaW5lPWNybGYKICAgIFxyXG5BIAoKL2FcUmIvSSxic3I9YW55Y3JsZgogICAgYVxyYgogICAgYVxuYgogICAgYVxyXG5iClw9IEV4cGVjdCBubyBtYXRjaAogICAgYVx4ODViCiAgICBhXHgwYmIgICAgIAoKL2FcUmIvSSxic3I9dW5pY29kZQogICAgYVxyYgogICAgYVxuYgogICAgYVxyXG5iCiAgICBhXHg4NWIKICAgIGFceDBiYiAgICAgCiAgICAKL2FcUj9iL0ksYnNyPWFueWNybGYKICAgIGFccmIKICAgIGFcbmIKICAgIGFcclxuYgpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFceDg1YgogICAgYVx4MGJiICAgICAKCi9hXFI/Yi9JLGJzcj11bmljb2RlCiAgICBhXHJiCiAgICBhXG5iCiAgICBhXHJcbmIKICAgIGFceDg1YgogICAgYVx4MGJiICAgICAKICAgIAovYVxSezIsNH1iL0ksYnNyPWFueWNybGYKICAgIGFcclxuXG5iCiAgICBhXG5cclxyYgogICAgYVxyXG5cclxuXHJcblxyXG5iClw9IEV4cGVjdCBubyBtYXRjaAogICAgYVx4MGJceDBiYiAgICAgCiAgICBhXHg4NVx4ODViCgovYVxSezIsNH1iL0ksYnNyPXVuaWNvZGUKICAgIGFcclxyYgogICAgYVxuXG5cbmIKICAgIGFcclxuXG5cclxyYgogICAgYVx4ODVceDg1YgogICAgYVx4MGJceDBiYiAgICAgClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGFcclxyXHJcclxyYiAKICAgIAovYSg/ISl8XHdiYy8KICAgIGFiYyAKCi9hW11iL2FsdF9ic3V4LGFsbG93X2VtcHR5X2NsYXNzLG1hdGNoX3Vuc2V0X2JhY2tyZWYsZHVwbmFtZXMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYgoKL2FbXStiL2FsdF9ic3V4LGFsbG93X2VtcHR5X2NsYXNzLG1hdGNoX3Vuc2V0X2JhY2tyZWYsZHVwbmFtZXMKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYiAKCi9hW10qK2IvYWx0X2JzdXgsYWxsb3dfZW1wdHlfY2xhc3MsbWF0Y2hfdW5zZXRfYmFja3JlZixkdXBuYW1lcwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiIAoKL2FbXl1iL2FsdF9ic3V4LGFsbG93X2VtcHR5X2NsYXNzLG1hdGNoX3Vuc2V0X2JhY2tyZWYsZHVwbmFtZXMKICAgIGFYYgogICAgYVxuYiAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYiAgCiAgICAKL2FbXl0rYi9hbHRfYnN1eCxhbGxvd19lbXB0eV9jbGFzcyxtYXRjaF91bnNldF9iYWNrcmVmLGR1cG5hbWVzCiAgICBhWGIKICAgIGFcblhcblhiIApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIGFiICAKCi9YJC9kb2xsYXJfZW5kb25seQogICAgWApcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICBYXG4gCgovWCQvCiAgICBYCiAgICBYXG4gCgoveHl6L2F1dG9fY2FsbG91dAogIHh5eiAKICBhYmN4eXogClw9IEV4cGVjdCBubyBtYXRjaCAKICBhYmMKICBhYmN4eXBxciAgCgoveHl6L2F1dG9fY2FsbG91dCxub19zdGFydF9vcHRpbWl6ZQogIGFiY3h5eiAKXD0gRXhwZWN0IG5vIG1hdGNoIAogIGFiYwogIGFiY3h5cHFyICAKCi8oKk5PX1NUQVJUX09QVCl4eXovYXV0b19jYWxsb3V0CiAgYWJjeHl6IAogIAovKD9DKWFiLwogIGFiCiAgYWJcPWNhbGxvdXRfbm9uZQogIAovYWIvYXV0b19jYWxsb3V0CiAgYWIKICBhYlw9Y2FsbG91dF9ub25lCgovXiIoKD8oPz1bYV0pW14iXSl8YikqIiQvYXV0b19jYWxsb3V0CiAgICAiYWIiCiAgICAiYWIiXD1jYWxsb3V0X25vbmUKCi9cZCtYfDkrWS8KICAgICsrKysxMjM5OTlcPXBzCiAgICArKysrMTIzOTk5WVw9cHMKCi9aKCpGKS8KXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgWlw9cHMKICAgIFpBXD1wcwogICAgCi9aKD8hKS8KXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgWlw9cHMKICAgIFpBXD1wcwoKL2RvZyhzYm9keSk/LwogICAgZG9nc1w9cHMKICAgIGRvZ3NcPXBoCiAgICAKL2RvZyhzYm9keSk/Py8KICAgIGRvZ3NcPXBzCiAgICBkb2dzXD1waAoKL2RvZ3xkb2dzYm9keS8KICAgIGRvZ3NcPXBzCiAgICBkb2dzXD1waAogCi9kb2dzYm9keXxkb2cvCiAgICBkb2dzXD1wcwogICAgZG9nc1w9cGgKCi9aKCpGKVF8WlhZLwogICAgWlw9cHMKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgWkFcPXBzCiAgICBYXD1wcwoKL1xidGhlIGNhdFxiLwogICAgdGhlIGNhdFw9cHMKICAgIHRoZSBjYXRcPXBoCgovZG9nKHNib2R5KT8vCiAgICBkb2dzXD1wcwogICAgYm9keVw9ZGZhX3Jlc3RhcnQKCi9kb2coc2JvZHkpPy8KICAgIGRvZ3NcPXBoCiAgICBib2R5XD1kZmFfcmVzdGFydAoKL2FiYy8KICAgYWJjXD1wcwogICBhYmNcPXBoCgovYWJjXEsxMjMvCiAgICB4eXphYmMxMjNwcXIKICAgIAovKD88PWFiYykxMjMvCiAgICB4eXphYmMxMjNwcXIgCiAgICB4eXphYmMxMlw9cHMKICAgIHh5emFiYzEyXD1waAoKL1xiYWJjXGIvCiAgICArKythYmMrKysKICAgICsrK2FiXD1wcwogICAgKysrYWJcPXBoCgovKD89QykvZyxhZnRlcnRleHQKICAgIEFCQ0RFQ0JBCgovKGFiY3xkZWZ8eHl6KS9JCiAgICB0ZXJoams7YWJjZGFhZHNmZQogICAgdGhlIHF1aWNrIHh5eiBicm93biBmb3ggClw9IEV4cGVjdCBubyBtYXRjaAogICAgdGhlams7YWRsZmogYWVuamw7ZmRhIGFzZGZhc2QgZWhqO2tqeHlhc2l1cGQKCi8oYWJjfGRlZnx4eXopL0ksbm9fc3RhcnRfb3B0aW1pemUKICAgIHRlcmhqazthYmNkYWFkc2ZlCiAgICB0aGUgcXVpY2sgeHl6IGJyb3duIGZveApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHRoZWprO2FkbGZqIGFlbmpsO2ZkYSBhc2RmYXNkIGVoajtranh5YXNpdXBkCgovYWJjZCovYWZ0ZXJ0ZXh0CiAgICB4eHh4YWJjZFw9cHMKICAgIHh4eHhhYmNkXD1waAogICAgZGRkeHh4XD1kZmFfcmVzdGFydAogICAgeHh4eGFiY2RcPXBoCiAgICB4eHhcPWRmYV9yZXN0YXJ0CgovYWJjZCovaQogICAgeHh4eGFiY2RcPXBzCiAgICB4eHh4YWJjZFw9cGgKICAgIFhYWFhBQkNEXD1wcwogICAgWFhYWEFCQ0RcPXBoCgovYWJjXGQqLwogICAgeHh4eGFiYzFcPXBzCiAgICB4eHh4YWJjMVw9cGgKCi9hYmNbZGVdKi8KICAgIHh4eHhhYmNkZVw9cHMKICAgIHh4eHhhYmNkZVw9cGgKCi8oPzooPzEpfEIpKEEoKkYpfEMpLwogICAgQUJDRAogICAgQ0NEClw9IEV4cGVjdCBubyBtYXRjaAogICAgQ0FEICAgCgovXig/Oig/MSl8QikoQSgqRil8QykvCiAgICBDQ0QKICAgIEJDRCAKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBBQkNECiAgICBDQUQKICAgIEJBRCAgICAKCi9eKD8hYSgqU0tJUCliKS8KICAgIGFjCiAgICAKL14oPz1hKCpTS0lQKWJ8YWMpLwogICAgYWMKICAgIAovXig/PWEoKlRIRU4pYnxhYykvCiAgICBhYwogICAgCi9eKD89YSgqUFJVTkUpYikvCiAgICBhYiAgCgovXig/KD8hYSgqU0tJUCliKSkvCiAgICBhYwoKLyg/PD1hYmMpZGVmLwogICAgYWJjXD1waAoKL2FiYyQvCiAgICBhYmMKICAgIGFiY1w9cHMKICAgIGFiY1w9cGgKCi9hYmMkL20KICAgIGFiYwogICAgYWJjXG4KICAgIGFiY1w9cGgKICAgIGFiY1xuXD1waAogICAgYWJjXD1wcwogICAgYWJjXG5cPXBzCgovYWJjXHovCiAgICBhYmMKICAgIGFiY1w9cHMKICAgIGFiY1w9cGgKCi9hYmNcWi8KICAgIGFiYwogICAgYWJjXD1wcwogICAgYWJjXD1waAoKL2FiY1xiLwogICAgYWJjCiAgICBhYmNcPXBzCiAgICBhYmNcPXBoCgovYWJjXEIvCiAgICBhYmNcPXBzCiAgICBhYmNcPXBoClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGFiYwoKLy4rLwogICAgYWJjXD1vZmZzZXQ9MAogICAgYWJjXD1vZmZzZXQ9MQogICAgYWJjXD1vZmZzZXQ9MgpcPSBCYWQgb2Zmc2V0cwogICAgYWJjXD1vZmZzZXQ9NAogICAgYWJjXD1vZmZzZXQ9LTQgClw9IEV4cGVjdCBubyBtYXRjaCAKICAgIGFiY1w9b2Zmc2V0PTMKCi9eKD86YSkrK1x3LwogICAgIGFhYWFiClw9IEV4cGVjdCBubyBtYXRjaCAKICAgICBhYWFhIAogICAgIGJiYiAKCi9eKD86YWF8KD86YSkrK1x3KS8KICAgICBhYWFhYgogICAgIGFhYWEgClw9IEV4cGVjdCBubyBtYXRjaCAKICAgICBiYmIgCgovXig/OmEpKitcdy8KICAgICBhYWFhYgogICAgIGJiYiAKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgIGFhYWEgCgovXihhKSsrXHcvCiAgICAgYWFhYWIKXD0gRXhwZWN0IG5vIG1hdGNoIAogICAgIGFhYWEgCiAgICAgYmJiIAoKL14oYXwpKytcdy8KICAgICBhYWFhYgpcPSBFeHBlY3Qgbm8gbWF0Y2ggCiAgICAgYWFhYSAKICAgICBiYmIgCgovKD89YWJjKXszfWFiYy9hZnRlcnRleHQKICAgIGFiY2FiY2FiYwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5eiAgCiAgICAKLyg/PWFiYykrYWJjL2FmdGVydGV4dAogICAgYWJjYWJjYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgeHl6ICAKICAgIAovKD89YWJjKSsrYWJjL2FmdGVydGV4dAogICAgYWJjYWJjYWJjClw9IEV4cGVjdCBubyBtYXRjaAogICAgeHl6ICAKICAgIAovKD89YWJjKXswfXh5ei8KICAgIHh5eiAKCi8oPz1hYmMpezF9eHl6LwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIHh5eiAKICAgIAovKD89KGEpKT8uLwogICAgYWIKICAgIGJjCiAgICAgIAovKD89KGEpKT8/Li8KICAgIGFiCiAgICBiYwoKL14oPz0oYSkpezB9Yig/MSkvCiAgICBiYWNrZ2FtbW9uCgovXig/PSg/MSkpP1thel0oW2FiY10pZC8KICAgIGFiZCAKICAgIHpjZHh4IAoKL14oPyFhKXswfVx3Ky8KICAgIGFhYWFhCgovKD88PShhYmMpKT94eXovCiAgICBhYmN4eXoKICAgIHBxcnh5eiAKCi8oKD8yKSkoKD8xKSkvCiAgICBhYmMKCi8oPyhSKWErfCg/UiliKS8KICAgIGFhYWFiY2RlCgovKD8oUilhK3woKD9SKSliKS8KICAgIGFhYWFiY2RlCgovKCg/KFIpYSt8KD8xKWIpKS8KICAgIGFhYWFiY2RlCgovKCg/KFIyKWErfCg/MSliKSkvCiAgICBhYWFhYmNkZQoKLyg/KFIpYSooPzEpfCgoP1IpKWIpLwogICAgYWFhYWJjZGUKCi8oYSspL25vX2F1dG9fcG9zc2VzcwogICAgYWFhYVw9b3ZlY3Rvcj0zCiAgICBhYWFhXD1vdmVjdG9yPTQKCi9eXFIvCiAgICBcclw9cHMKICAgIFxyXD1waAogICAgCi9eXFJ7MiwzfXgvCiAgICBcclw9cHMKICAgIFxyXD1waAogICAgXHJcclw9cHMKICAgIFxyXHJcPXBoCiAgICBcclxyXHJcPXBzCiAgICBcclxyXHJcPXBoCiAgICBcclxyeAogICAgXHJcclxyeCAgICAKCi9eXFJ7MiwzfT94LwogICAgXHJcPXBzCiAgICBcclw9cGgKICAgIFxyXHJcPXBzCiAgICBcclxyXD1waAogICAgXHJcclxyXD1wcwogICAgXHJcclxyXD1waAogICAgXHJccngKICAgIFxyXHJccnggICAgCiAgICAKL15cUj94LwogICAgXHJcPXBzCiAgICBcclw9cGgKICAgIHgKICAgIFxyeCAgCgovXlxSK3gvCiAgICBcclw9cHMKICAgIFxyXD1waAogICAgXHJcblw9cHMKICAgIFxyXG5cPXBoCiAgICBccnggIAoKL15hJC9uZXdsaW5lPWNybGYKICAgIGFcclw9cHMKICAgIGFcclw9cGgKCi9eYSQvbSxuZXdsaW5lPWNybGYKICAgIGFcclw9cHMKICAgIGFcclw9cGgKCi9eKGEkfGFccikvbmV3bGluZT1jcmxmCiAgICBhXHJcPXBzCiAgICBhXHJcPXBoCgovXihhJHxhXHIpL20sbmV3bGluZT1jcmxmCiAgICBhXHJcPXBzCiAgICBhXHJcPXBoCgovLi9uZXdsaW5lPWNybGYKICAgIFxyXD1wcwogICAgXHJcPXBoCiAgCi8uezIsM30vbmV3bGluZT1jcmxmCiAgICBcclw9cHMKICAgIFxyXD1waAogICAgXHJcclw9cHMKICAgIFxyXHJcPXBoCiAgICBcclxyXHJcPXBzCiAgICBcclxyXHJcPXBoCgovLnsyLDN9Py9uZXdsaW5lPWNybGYKICAgIFxyXD1wcwogICAgXHJcPXBoCiAgICBcclxyXD1wcwogICAgXHJcclw9cGgKICAgIFxyXHJcclw9cHMKICAgIFxyXHJcclw9cGgKCiMgVGVzdCBzaW1wbGUgdmFsaWRpdHkgY2hlY2sgZm9yIHJlc3RhcnRzIAoKL2FiY2RlZi8KICAgYWJjXD1kZmFfcmVzdGFydAoKLzxIKCg/KD8hPEh8Rj4pKC4pfCg/UikpKyspKkY+LwogICAgdGV4dCA8SCBtb3JlIHRleHQgPEggdGV4dGluZyBtb3JlICBoZXhBMC0iXHhBMCIgICAgaGV4IGFib3ZlIDdGLSJceEJDIiBGPiB0ZXh0IHh4eHh4IDxIIHRleHQgRj4gdGV4dCBGPiB0ZXh0MiA8SCB0ZXh0IHNhbXBsZSBGPiBtb3JlIHRleHQuCgovXig/Pi57NH0pYWJjfF5cd1x3LnhhYmNkLwogICAgeHh4eGFiY2QKICAgIHh4XHhhMHhhYmNkIAoKL14oLns0fSl7Mn0rYWJjfF5cd1x3Lnhcd1x3XHdcd2FiY2QvCiAgICB4eHh4eHh4eGFiY2QKICAgIHh4XHhhMHh4eHh4YWJjZCAKCi9hYmNkLwogICAgYWJjZFw9b3ZlY3Rvcj0wCgojIFRoZXNlIHRlc3RzIHNob3cgdXAgYXV0by1wb3NzZXNzaWZpY2F0aW9uIAoKL1thYl0qLwogICAgYWFhYQogICAgCi9bYWJdKj8vCiAgICBhYWFhCiAgICAKL1thYl0/LwogICAgYWFhYQogICAgCi9bYWJdPz8vCiAgICBhYWFhCiAgICAKL1thYl0rLwogICAgYWFhYQogICAgCi9bYWJdKz8vCiAgICBhYWFhCiAgICAKL1thYl17MiwzfS8KICAgIGFhYWEKICAgIAovW2FiXXsyLDN9Py8KICAgIGFhYWEKICAgIAovW2FiXXsyLH0vCiAgICBhYWFhICAgIAoKL1thYl17Mix9Py8KICAgIGFhYWEgICAgCgonXEEoPzpbXlwiXSsrfFwiKD86W15cIl0qK3xcIlwiKSorXCIpKysnCiAgICBOT04gUVVPVEVEIFwiUVVPVFwiXCJFRFwiIEFGVEVSIFwiTk9UIE1BVENIRUQKCidcQSg/OlteXCJdKyt8XCIoPzpbXlwiXSsrfFwiXCIpKitcIikrKycKICAgIE5PTiBRVU9URUQgXCJRVU9UXCJcIkVEXCIgQUZURVIgXCJOT1QgTUFUQ0hFRAoKL2FiYyg/PXh5eikvYWxsdXNlZHRleHQKICAgIGFiY3h5enBxcgogICAgYWJjeHl6cHFyXD1hZnRlcnRleHQKICAgIAovKD88PXBxcilhYmMoPz14eXopL2FsbHVzZWR0ZXh0CiAgICB4eXpwcXJhYmN4eXpwcXIKICAgIHh5enBxcmFiY3h5enBxclw9YWZ0ZXJ0ZXh0CiAgICAKL2FcYi8KICAgIGEuXD1hbGx1c2VkdGV4dAogICAgYVw9YWxsdXNlZHRleHQgIAoKL2FiYyg/PWFiY2RlKSg/PWFiKS9hbGx1c2VkdGV4dAogICAgYWJjYWJjZGVmZwoKL2EqP2IqPy8KICAgIGFiCgovKCpOT1RFTVBUWSlhKj9iKj8vCiAgICBhYgogICAgYmEKICAgIGNiICAKCi8oKk5PVEVNUFRZX0FUU1RBUlQpYSo/Yio/L2FmdGVydGV4dAogICAgYWIKICAgIGNkYWIgCgovKGEpKGIpfChjKS8KICAgIFhjWFw9b3ZlY3Rvcj0yLGdldD0xLGdldD0yLGdldD0zLGdldD00LGdldGFsbAoKLyg/PEE+YWEpLwogICAgYWFcPWdldD1BCiAgICBhYVw9Y29weT1BIAoKL2ErL25vX2F1dG9fcG9zc2VzcwogICAgYVw9b3ZlY3Rvcj0yLGdldD0xLGdldD0yLGdldGFsbAogICAgYWFhXD1vdmVjdG9yPTIsZ2V0PTEsZ2V0PTIsZ2V0YWxsCgovYShiKWMoZCkvCiAgICBhYmNcPXBoLGNvcHk9MCxjb3B5PTEsZ2V0YWxsCgovYWIoP0MiIGFueSB0ZXh0IHdpdGggc3BhY2VzICIpY2RlL0IKICAgIGFiY2RlCiAgICAxMmFiY2RlCgovXmEoYiljKD9DMSlkZWYvCiAgICAgIGFiY2RlZgoKL15hKGIpYyg/QyJBQiIpZGVmLwogICAgICBhYmNkZWYKCi9eYShiKWMoP0MxKWRlZi8KICAgICAgYWJjZGVmXD1jYWxsb3V0X2NhcHR1cmUKCi9eYShiKWMoP0N7QUJ9KWRlZi9CCiAgICAgIGFiY2RlZlw9Y2FsbG91dF9jYXB0dXJlCgovXig/KD9DMjUpKD89YWJjKWFiY2R8eHl6KS9CCiAgICBhYmNkZWZnCiAgICB4eXoxMjMgCgovXig/KD9DJGFiYyQpKD89YWJjKWFiY2R8eHl6KS9CCiAgICBhYmNkZWZnCiAgICB4eXoxMjMgCgovXmFiKD9DJ2ZpcnN0JyljZCg/QyJzZWNvbmQiKWVmLwogICAgYWJjZGVmZwoKLyg/OmEoP0NgY29kZWApKXszfVgvCiAgICBhYWFYWQoKIyBCaW5hcnkgemVybyBpbiBjYWxsb3V0IHN0cmluZwojICBhICAoICA/ICBDICAnICB4ICAgICB6ICAnICApICBiCi8gNjEgMjggM2YgNDMgMjcgNzggMDAgN2EgMjcgMjkgNjIvaGV4CiAgICBhYmNkZWZnaAoKLyg/KD8hKWF8YikvCiAgICBiYmIKXD0gRXhwZWN0IG5vIG1hdGNoCiAgICBhYWEgCgovXi9nbQogICAgXG5cblxuCgovXi9nbSxhbHRfY2lyY3VtZmxleAogICAgXG5cblxuCgovYWJjL3VzZV9vZmZzZXRfbGltaXQKICAgIDEyMzRhYmNkZVw9b2Zmc2V0X2xpbWl0PTEwMAogICAgMTIzNGFiY2RlXD1vZmZzZXRfbGltaXQ9OQogICAgMTIzNGFiY2RlXD1vZmZzZXRfbGltaXQ9NAogICAgMTIzNGFiY2RlXD1vZmZzZXRfbGltaXQ9NCxvZmZzZXQ9NApcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMzRhYmNkZVw9b2Zmc2V0X2xpbWl0PTQsb2Zmc2V0PTUKICAgIDEyMzRhYmNkZVw9b2Zmc2V0X2xpbWl0PTMKCi8oPzw9YWJjKS91c2Vfb2Zmc2V0X2xpbWl0CiAgICAxMjM0YWJjXD1vZmZzZXRfbGltaXQ9NwpcPSBFeHBlY3Qgbm8gbWF0Y2gKICAgIDEyMzRhYmNcPW9mZnNldF9saW1pdD02CgovYWJjZC9udWxsX2NvbnRleHQKICAgIGFiY2RcPW51bGxfY29udGV4dAoKIyBFbmQgb2YgdGVzdGlucHV0Ngo=