Files
onebox/ts_bundled/bundle.ts
T

12 lines
7.6 MiB
Plaintext

// Auto-generated by tsbundle - do not edit
export const files: { path: string; contentBase64: string }[] = [
{
"path": "bundle.js",
"contentBase64": "dmFyIFh0dD1PYmplY3QuY3JlYXRlLFl0dD1PYmplY3QuZnJlZXplLEs0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgUXR0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7dmFyIFhoYT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lczt2YXIgUWhhPU9iamVjdC5nZXRQcm90b3R5cGVPZixKaGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgSnR0PShhLGUpPT4oZT1TeW1ib2xbYV0pP2U6U3ltYm9sLmZvcigiU3ltYm9sLiIrYSksTjU9YT0+e3Rocm93IFR5cGVFcnJvcihhKX07dmFyIGVhdD0oYSxlLHQpPT5lIGluIGE/SzQoYSxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp0fSk6YVtlXT10O3ZhciBzPShhLGUpPT5LNChhLCJuYW1lIix7dmFsdWU6ZSxjb25maWd1cmFibGU6ITB9KTt2YXIgZj0oYSxlKT0+KCk9PihhJiYoZT1hKGE9MCkpLGUpO3ZhciBNbz0oYSxlKT0+KCk9PihlfHxhKChlPXtleHBvcnRzOnt9fSkuZXhwb3J0cyxlKSxlLmV4cG9ydHMpLGx0PShhLGUpPT57Zm9yKHZhciB0IGluIGUpSzQoYSx0LHtnZXQ6ZVt0XSxlbnVtZXJhYmxlOiEwfSl9LGU4YT0oYSxlLHQscik9PntpZihlJiZ0eXBlb2YgZT09Im9iamVjdCJ8fHR5cGVvZiBlPT0iZnVuY3Rpb24iKWZvcihsZXQgaSBvZiBYaGEoZSkpIUpoYS5jYWxsKGEsaSkmJmkhPT10JiZLNChhLGkse2dldDooKT0+ZVtpXSxlbnVtZXJhYmxlOiEocj1RdHQoZSxpKSl8fHIuZW51bWVyYWJsZX0pO3JldHVybiBhfTt2YXIga289KGEsZSx0KT0+KHQ9YSE9bnVsbD9YdHQoUWhhKGEpKTp7fSxlOGEoZXx8IWF8fCFhLl9fZXNNb2R1bGU/SzQodCwiZGVmYXVsdCIse3ZhbHVlOmEsZW51bWVyYWJsZTohMH0pOnQsYSkpO3ZhciBBcj1hPT5bLCwsWHR0KGE/LltKdHQoIm1ldGFkYXRhIildPz9udWxsKV0sdGF0PVsiY2xhc3MiLCJtZXRob2QiLCJnZXR0ZXIiLCJzZXR0ZXIiLCJhY2Nlc3NvciIsImZpZWxkIiwidmFsdWUiLCJnZXQiLCJzZXQiXSxfNz1hPT5hIT09dm9pZCAwJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIj9ONSgiRnVuY3Rpb24gZXhwZWN0ZWQiKTphLHQ4YT0oYSxlLHQscixpKT0+KHtraW5kOnRhdFthXSxuYW1lOmUsbWV0YWRhdGE6cixhZGRJbml0aWFsaXplcjpvPT50Ll8/TjUoIkFscmVhZHkgaW5pdGlhbGl6ZWQiKTppLnB1c2goXzcob3x8bnVsbCkpfSksYThhPShhLGUpPT5lYXQoZSxKdHQoIm1ldGFkYXRhIiksYVszXSksVmU9KGEsZSx0LHIpPT57Zm9yKHZhciBpPTAsbz1hW2U+PjFdLG49byYmby5sZW5ndGg7aTxuO2krKyllJjE/b1tpXS5jYWxsKHQpOnI9b1tpXS5jYWxsKHQscik7cmV0dXJuIHJ9LHl0PShhLGUsdCxyLGksbyk9Pnt2YXIgbixsLGQsYyxwLHU9ZSY3LG09ISEoZSY4KSx2PSEhKGUmMTYpLHg9dT4zP2EubGVuZ3RoKzE6dT9tPzE6MjowLGI9dGF0W3UrNV0sZz11PjMmJihhW3gtMV09W10pLHk9YVt4XXx8KGFbeF09W10pLGs9dSYmKCF2JiYhbSYmKGk9aS5wcm90b3R5cGUpLHU8NSYmKHU+M3x8IXYpJiZRdHQodTw0P2k6e2dldFt0XSgpe3JldHVybiBLdHQodGhpcyxvKX0sc2V0W3RdKE4pe3JldHVybiBadHQodGhpcyxvLE4pfX0sdCkpO3U/diYmdTw0JiZzKG8sKHU+Mj8ic2V0ICI6dT4xPyJnZXQgIjoiIikrdCk6cyhpLHQpO2Zvcih2YXIgQz1yLmxlbmd0aC0xO0M+PTA7Qy0tKWM9dDhhKHUsdCxkPXt9LGFbM10seSksdSYmKGMuc3RhdGljPW0sYy5wcml2YXRlPXYscD1jLmFjY2Vzcz17aGFzOnY/Tj0+cjhhKGksTik6Tj0+dCBpbiBOfSx1XjMmJihwLmdldD12P049Pih1XjE/S3R0OnM4YSkoTixpLHVeND9vOmsuZ2V0KTpOPT5OW3RdKSx1PjImJihwLnNldD12PyhOLF8pPT5adHQoTixpLF8sdV40P286ay5zZXQpOihOLF8pPT5OW3RdPV8pKSxsPSgwLHJbQ10pKHU/dTw0P3Y/bzprW2JdOnU+ND92b2lkIDA6e2dldDprLmdldCxzZXQ6ay5zZXR9OmksYyksZC5fPTEsdV40fHxsPT09dm9pZCAwP183KGwpJiYodT40P2cudW5zaGlmdChsKTp1P3Y/bz1sOmtbYl09bDppPWwpOnR5cGVvZiBsIT0ib2JqZWN0Inx8bD09PW51bGw/TjUoIk9iamVjdCBleHBlY3RlZCIpOihfNyhuPWwuZ2V0KSYmKGsuZ2V0PW4pLF83KG49bC5zZXQpJiYoay5zZXQ9biksXzcobj1sLmluaXQpJiZnLnVuc2hpZnQobikpO3JldHVybiB1fHxhOGEoYSxpKSxrJiZLNChpLHQsayksdj91XjQ/bzprOml9LHZyPShhLGUsdCk9PmVhdChhLHR5cGVvZiBlIT0ic3ltYm9sIj9lKyIiOmUsdCksVmllPShhLGUsdCk9PmUuaGFzKGEpfHxONSgiQ2Fubm90ICIrdCkscjhhPShhLGUpPT5PYmplY3QoZSkhPT1lP041KCdDYW5ub3QgdXNlIHRoZSAiaW4iIG9wZXJhdG9yIG9uIHRoaXMgdmFsdWUnKTphLmhhcyhlKSxLdHQ9KGEsZSx0KT0+KFZpZShhLGUsInJlYWQgZnJvbSBwcml2YXRlIGZpZWxkIiksdD90LmNhbGwoYSk6ZS5nZXQoYSkpLFJ0PShhLGUsdCk9PmUuaGFzKGEpP041KCJDYW5ub3QgYWRkIHRoZSBzYW1lIHByaXZhdGUgbWVtYmVyIG1vcmUgdGhhbiBvbmNlIik6ZSBpbnN0YW5jZW9mIFdlYWtTZXQ/ZS5hZGQoYSk6ZS5zZXQoYSx0KSxadHQ9KGEsZSx0LHIpPT4oVmllKGEsZSwid3JpdGUgdG8gcHJpdmF0ZSBmaWVsZCIpLHI/ci5jYWxsKGEsdCk6ZS5zZXQoYSx0KSx0KSxzOGE9KGEsZSx0KT0+KFZpZShhLGUsImFjY2VzcyBwcml2YXRlIG1ldGhvZCIpLHQpO3ZhciBSNT0oYSxlKT0+WXR0KEs0KGEsInJhdyIse3ZhbHVlOll0dChlfHxhLnNsaWNlKCkpfSkpO3ZhciBPRyxUNyxqaWUsYWF0LE81LG9hLFgsRkcsTDcsVWllPWYoKCk9PntPRz1nbG9iYWxUaGlzLFQ3PU9HLlNoYWRvd1Jvb3QmJihPRy5TaGFkeUNTUz09PXZvaWQgMHx8T0cuU2hhZHlDU1MubmF0aXZlU2hhZG93KSYmImFkb3B0ZWRTdHlsZVNoZWV0cyJpbiBEb2N1bWVudC5wcm90b3R5cGUmJiJyZXBsYWNlImluIENTU1N0eWxlU2hlZXQucHJvdG90eXBlLGppZT1TeW1ib2woKSxhYXQ9bmV3IFdlYWtNYXAsTzU9Y2xhc3N7c3RhdGlje3ModGhpcywibiIpfWNvbnN0cnVjdG9yKGUsdCxyKXtpZih0aGlzLl8kY3NzUmVzdWx0JD0hMCxyIT09amllKXRocm93IEVycm9yKCJDU1NSZXN1bHQgaXMgbm90IGNvbnN0cnVjdGFibGUuIFVzZSBgdW5zYWZlQ1NTYCBvciBgY3NzYCBpbnN0ZWFkLiIpO3RoaXMuY3NzVGV4dD1lLHRoaXMudD10fWdldCBzdHlsZVNoZWV0KCl7bGV0IGU9dGhpcy5vLHQ9dGhpcy50O2lmKFQ3JiZlPT09dm9pZCAwKXtsZXQgcj10IT09dm9pZCAwJiZ0Lmxlbmd0aD09PTE7ciYmKGU9YWF0LmdldCh0KSksZT09PXZvaWQgMCYmKCh0aGlzLm89ZT1uZXcgQ1NTU3R5bGVTaGVldCkucmVwbGFjZVN5bmModGhpcy5jc3NUZXh0KSxyJiZhYXQuc2V0KHQsZSkpfXJldHVybiBlfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuY3NzVGV4dH19LG9hPXMoYT0+bmV3IE81KHR5cGVvZiBhPT0ic3RyaW5nIj9hOmErIiIsdm9pZCAwLGppZSksInIiKSxYPXMoKGEsLi4uZSk9PntsZXQgdD1hLmxlbmd0aD09PTE/YVswXTplLnJlZHVjZSgocixpLG8pPT5yKyhuPT57aWYobi5fJGNzc1Jlc3VsdCQ9PT0hMClyZXR1cm4gbi5jc3NUZXh0O2lmKHR5cGVvZiBuPT0ibnVtYmVyIilyZXR1cm4gbjt0aHJvdyBFcnJvcigiVmFsdWUgcGFzc2VkIHRvICdjc3MnIGZ1bmN0aW9uIG11c3QgYmUgYSAnY3NzJyBmdW5jdGlvbiByZXN1bHQ6ICIrbisiLiBVc2UgJ3Vuc2FmZUNTUycgdG8gcGFzcyBub24tbGl0ZXJhbCB2YWx1ZXMsIGJ1dCB0YWtlIGNhcmUgdG8gZW5zdXJlIHBhZ2Ugc2VjdXJpdHkuIil9KShpKSthW28rMV0sYVswXSk7cmV0dXJuIG5ldyBPNSh0LGEsamllKX0sImkiKSxGRz1zKChhLGUpPT57aWYoVDcpYS5hZG9wdGVkU3R5bGVTaGVldHM9ZS5tYXAodD0+dCBpbnN0YW5jZW9mIENTU1N0eWxlU2hlZXQ/dDp0LnN0eWxlU2hlZXQpO2Vsc2UgZm9yKGxldCB0IG9mIGUpe2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIiksaT1PRy5saXROb25jZTtpIT09dm9pZCAwJiZyLnNldEF0dHJpYnV0ZSgibm9uY2UiLGkpLHIudGV4dENvbnRlbnQ9dC5jc3NUZXh0LGEuYXBwZW5kQ2hpbGQocil9fSwiUyIpLEw3PVQ3P2E9PmE6YT0+YSBpbnN0YW5jZW9mIENTU1N0eWxlU2hlZXQ/KGU9PntsZXQgdD0iIjtmb3IobGV0IHIgb2YgZS5jc3NSdWxlcyl0Kz1yLmNzc1RleHQ7cmV0dXJuIG9hKHQpfSkoYSk6YX0pO3ZhciBpOGEsbzhhLG44YSxsOGEsYzhhLGQ4YSxCRyxyYXQsdThhLHA4YSwkNyxGNSxENyxzYXQsbzIsQTc9ZigoKT0+e1VpZSgpO1VpZSgpOyh7aXM6aThhLGRlZmluZVByb3BlcnR5Om84YSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6bjhhLGdldE93blByb3BlcnR5TmFtZXM6bDhhLGdldE93blByb3BlcnR5U3ltYm9sczpjOGEsZ2V0UHJvdG90eXBlT2Y6ZDhhfT1PYmplY3QpLEJHPWdsb2JhbFRoaXMscmF0PUJHLnRydXN0ZWRUeXBlcyx1OGE9cmF0P3JhdC5lbXB0eVNjcmlwdDoiIixwOGE9QkcucmVhY3RpdmVFbGVtZW50UG9seWZpbGxTdXBwb3J0LCQ3PXMoKGEsZSk9PmEsImQiKSxGNT17dG9BdHRyaWJ1dGUoYSxlKXtzd2l0Y2goZSl7Y2FzZSBCb29sZWFuOmE9YT91OGE6bnVsbDticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OmE9YT09bnVsbD9hOkpTT04uc3RyaW5naWZ5KGEpfXJldHVybiBhfSxmcm9tQXR0cmlidXRlKGEsZSl7bGV0IHQ9YTtzd2l0Y2goZSl7Y2FzZSBCb29sZWFuOnQ9YSE9PW51bGw7YnJlYWs7Y2FzZSBOdW1iZXI6dD1hPT09bnVsbD9udWxsOk51bWJlcihhKTticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnRyeXt0PUpTT04ucGFyc2UoYSl9Y2F0Y2h7dD1udWxsfX1yZXR1cm4gdH19LEQ3PXMoKGEsZSk9PiFpOGEoYSxlKSwiZiIpLHNhdD17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjpGNSxyZWZsZWN0OiExLHVzZURlZmF1bHQ6ITEsaGFzQ2hhbmdlZDpEN307U3ltYm9sLm1ldGFkYXRhPz89U3ltYm9sKCJtZXRhZGF0YSIpLEJHLmxpdFByb3BlcnR5TWV0YWRhdGE/Pz1uZXcgV2Vha01hcDtvMj1jbGFzcyBleHRlbmRzIEhUTUxFbGVtZW50e3N0YXRpY3tzKHRoaXMsInkiKX1zdGF0aWMgYWRkSW5pdGlhbGl6ZXIoZSl7dGhpcy5fJEVpKCksKHRoaXMubD8/PVtdKS5wdXNoKGUpfXN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCl7cmV0dXJuIHRoaXMuZmluYWxpemUoKSx0aGlzLl8kRWgmJlsuLi50aGlzLl8kRWgua2V5cygpXX1zdGF0aWMgY3JlYXRlUHJvcGVydHkoZSx0PXNhdCl7aWYodC5zdGF0ZSYmKHQuYXR0cmlidXRlPSExKSx0aGlzLl8kRWkoKSx0aGlzLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShlKSYmKCh0PU9iamVjdC5jcmVhdGUodCkpLndyYXBwZWQ9ITApLHRoaXMuZWxlbWVudFByb3BlcnRpZXMuc2V0KGUsdCksIXQubm9BY2Nlc3Nvcil7bGV0IHI9U3ltYm9sKCksaT10aGlzLmdldFByb3BlcnR5RGVzY3JpcHRvcihlLHIsdCk7aSE9PXZvaWQgMCYmbzhhKHRoaXMucHJvdG90eXBlLGUsaSl9fXN0YXRpYyBnZXRQcm9wZXJ0eURlc2NyaXB0b3IoZSx0LHIpe2xldHtnZXQ6aSxzZXQ6b309bjhhKHRoaXMucHJvdG90eXBlLGUpPz97Z2V0KCl7cmV0dXJuIHRoaXNbdF19LHNldChuKXt0aGlzW3RdPW59fTtyZXR1cm57Z2V0Omksc2V0KG4pe2xldCBsPWk/LmNhbGwodGhpcyk7bz8uY2FsbCh0aGlzLG4pLHRoaXMucmVxdWVzdFVwZGF0ZShlLGwscil9LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfX1zdGF0aWMgZ2V0UHJvcGVydHlPcHRpb25zKGUpe3JldHVybiB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzLmdldChlKT8/c2F0fXN0YXRpYyBfJEVpKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgkNygiZWxlbWVudFByb3BlcnRpZXMiKSkpcmV0dXJuO2xldCBlPWQ4YSh0aGlzKTtlLmZpbmFsaXplKCksZS5sIT09dm9pZCAwJiYodGhpcy5sPVsuLi5lLmxdKSx0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzPW5ldyBNYXAoZS5lbGVtZW50UHJvcGVydGllcyl9c3RhdGljIGZpbmFsaXplKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgkNygiZmluYWxpemVkIikpKXJldHVybjtpZih0aGlzLmZpbmFsaXplZD0hMCx0aGlzLl8kRWkoKSx0aGlzLmhhc093blByb3BlcnR5KCQ3KCJwcm9wZXJ0aWVzIikpKXtsZXQgdD10aGlzLnByb3BlcnRpZXMscj1bLi4ubDhhKHQpLC4uLmM4YSh0KV07Zm9yKGxldCBpIG9mIHIpdGhpcy5jcmVhdGVQcm9wZXJ0eShpLHRbaV0pfWxldCBlPXRoaXNbU3ltYm9sLm1ldGFkYXRhXTtpZihlIT09bnVsbCl7bGV0IHQ9bGl0UHJvcGVydHlNZXRhZGF0YS5nZXQoZSk7aWYodCE9PXZvaWQgMClmb3IobGV0W3IsaV1vZiB0KXRoaXMuZWxlbWVudFByb3BlcnRpZXMuc2V0KHIsaSl9dGhpcy5fJEVoPW5ldyBNYXA7Zm9yKGxldFt0LHJdb2YgdGhpcy5lbGVtZW50UHJvcGVydGllcyl7bGV0IGk9dGhpcy5fJEV1KHQscik7aSE9PXZvaWQgMCYmdGhpcy5fJEVoLnNldChpLHQpfXRoaXMuZWxlbWVudFN0eWxlcz10aGlzLmZpbmFsaXplU3R5bGVzKHRoaXMuc3R5bGVzKX1zdGF0aWMgZmluYWxpemVTdHlsZXMoZSl7bGV0IHQ9W107aWYoQXJyYXkuaXNBcnJheShlKSl7bGV0IHI9bmV3IFNldChlLmZsYXQoMS8wKS5yZXZlcnNlKCkpO2ZvcihsZXQgaSBvZiByKXQudW5zaGlmdChMNyhpKSl9ZWxzZSBlIT09dm9pZCAwJiZ0LnB1c2goTDcoZSkpO3JldHVybiB0fXN0YXRpYyBfJEV1KGUsdCl7bGV0IHI9dC5hdHRyaWJ1dGU7cmV0dXJuIHI9PT0hMT92b2lkIDA6dHlwZW9mIHI9PSJzdHJpbmciP3I6dHlwZW9mIGU9PSJzdHJpbmciP2UudG9Mb3dlckNhc2UoKTp2b2lkIDB9Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuXyRFcD12b2lkIDAsdGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITEsdGhpcy5oYXNVcGRhdGVkPSExLHRoaXMuXyRFbT1udWxsLHRoaXMuXyRFdigpfV8kRXYoKXt0aGlzLl8kRVM9bmV3IFByb21pc2UoZT0+dGhpcy5lbmFibGVVcGRhdGluZz1lKSx0aGlzLl8kQUw9bmV3IE1hcCx0aGlzLl8kRV8oKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmNvbnN0cnVjdG9yLmw/LmZvckVhY2goZT0+ZSh0aGlzKSl9YWRkQ29udHJvbGxlcihlKXsodGhpcy5fJEVPPz89bmV3IFNldCkuYWRkKGUpLHRoaXMucmVuZGVyUm9vdCE9PXZvaWQgMCYmdGhpcy5pc0Nvbm5lY3RlZCYmZS5ob3N0Q29ubmVjdGVkPy4oKX1yZW1vdmVDb250cm9sbGVyKGUpe3RoaXMuXyRFTz8uZGVsZXRlKGUpfV8kRV8oKXtsZXQgZT1uZXcgTWFwLHQ9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcztmb3IobGV0IHIgb2YgdC5rZXlzKCkpdGhpcy5oYXNPd25Qcm9wZXJ0eShyKSYmKGUuc2V0KHIsdGhpc1tyXSksZGVsZXRlIHRoaXNbcl0pO2Uuc2l6ZT4wJiYodGhpcy5fJEVwPWUpfWNyZWF0ZVJlbmRlclJvb3QoKXtsZXQgZT10aGlzLnNoYWRvd1Jvb3Q/P3RoaXMuYXR0YWNoU2hhZG93KHRoaXMuY29uc3RydWN0b3Iuc2hhZG93Um9vdE9wdGlvbnMpO3JldHVybiBGRyhlLHRoaXMuY29uc3RydWN0b3IuZWxlbWVudFN0eWxlcyksZX1jb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMucmVuZGVyUm9vdD8/PXRoaXMuY3JlYXRlUmVuZGVyUm9vdCgpLHRoaXMuZW5hYmxlVXBkYXRpbmcoITApLHRoaXMuXyRFTz8uZm9yRWFjaChlPT5lLmhvc3RDb25uZWN0ZWQ/LigpKX1lbmFibGVVcGRhdGluZyhlKXt9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLl8kRU8/LmZvckVhY2goZT0+ZS5ob3N0RGlzY29ubmVjdGVkPy4oKSl9YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKGUsdCxyKXt0aGlzLl8kQUsoZSxyKX1fJEVUKGUsdCl7bGV0IHI9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcy5nZXQoZSksaT10aGlzLmNvbnN0cnVjdG9yLl8kRXUoZSxyKTtpZihpIT09dm9pZCAwJiZyLnJlZmxlY3Q9PT0hMCl7bGV0IG89KHIuY29udmVydGVyPy50b0F0dHJpYnV0ZSE9PXZvaWQgMD9yLmNvbnZlcnRlcjpGNSkudG9BdHRyaWJ1dGUodCxyLnR5cGUpO3RoaXMuXyRFbT1lLG89PW51bGw/dGhpcy5yZW1vdmVBdHRyaWJ1dGUoaSk6dGhpcy5zZXRBdHRyaWJ1dGUoaSxvKSx0aGlzLl8kRW09bnVsbH19XyRBSyhlLHQpe2xldCByPXRoaXMuY29uc3RydWN0b3IsaT1yLl8kRWguZ2V0KGUpO2lmKGkhPT12b2lkIDAmJnRoaXMuXyRFbSE9PWkpe2xldCBvPXIuZ2V0UHJvcGVydHlPcHRpb25zKGkpLG49dHlwZW9mIG8uY29udmVydGVyPT0iZnVuY3Rpb24iP3tmcm9tQXR0cmlidXRlOm8uY29udmVydGVyfTpvLmNvbnZlcnRlcj8uZnJvbUF0dHJpYnV0ZSE9PXZvaWQgMD9vLmNvbnZlcnRlcjpGNTt0aGlzLl8kRW09aTtsZXQgbD1uLmZyb21BdHRyaWJ1dGUodCxvLnR5cGUpO3RoaXNbaV09bD8/dGhpcy5fJEVqPy5nZXQoaSk/P2wsdGhpcy5fJEVtPW51bGx9fXJlcXVlc3RVcGRhdGUoZSx0LHIsaT0hMSxvKXtpZihlIT09dm9pZCAwKXtsZXQgbj10aGlzLmNvbnN0cnVjdG9yO2lmKGk9PT0hMSYmKG89dGhpc1tlXSkscj8/PW4uZ2V0UHJvcGVydHlPcHRpb25zKGUpLCEoKHIuaGFzQ2hhbmdlZD8/RDcpKG8sdCl8fHIudXNlRGVmYXVsdCYmci5yZWZsZWN0JiZvPT09dGhpcy5fJEVqPy5nZXQoZSkmJiF0aGlzLmhhc0F0dHJpYnV0ZShuLl8kRXUoZSxyKSkpKXJldHVybjt0aGlzLkMoZSx0LHIpfXRoaXMuaXNVcGRhdGVQZW5kaW5nPT09ITEmJih0aGlzLl8kRVM9dGhpcy5fJEVQKCkpfUMoZSx0LHt1c2VEZWZhdWx0OnIscmVmbGVjdDppLHdyYXBwZWQ6b30sbil7ciYmISh0aGlzLl8kRWo/Pz1uZXcgTWFwKS5oYXMoZSkmJih0aGlzLl8kRWouc2V0KGUsbj8/dD8/dGhpc1tlXSksbyE9PSEwfHxuIT09dm9pZCAwKXx8KHRoaXMuXyRBTC5oYXMoZSl8fCh0aGlzLmhhc1VwZGF0ZWR8fHJ8fCh0PXZvaWQgMCksdGhpcy5fJEFMLnNldChlLHQpKSxpPT09ITAmJnRoaXMuXyRFbSE9PWUmJih0aGlzLl8kRXE/Pz1uZXcgU2V0KS5hZGQoZSkpfWFzeW5jIF8kRVAoKXt0aGlzLmlzVXBkYXRlUGVuZGluZz0hMDt0cnl7YXdhaXQgdGhpcy5fJEVTfWNhdGNoKHQpe1Byb21pc2UucmVqZWN0KHQpfWxldCBlPXRoaXMuc2NoZWR1bGVVcGRhdGUoKTtyZXR1cm4gZSE9bnVsbCYmYXdhaXQgZSwhdGhpcy5pc1VwZGF0ZVBlbmRpbmd9c2NoZWR1bGVVcGRhdGUoKXtyZXR1cm4gdGhpcy5wZXJmb3JtVXBkYXRlKCl9cGVyZm9ybVVwZGF0ZSgpe2lmKCF0aGlzLmlzVXBkYXRlUGVuZGluZylyZXR1cm47aWYoIXRoaXMuaGFzVXBkYXRlZCl7aWYodGhpcy5yZW5kZXJSb290Pz89dGhpcy5jcmVhdGVSZW5kZXJSb290KCksdGhpcy5fJEVwKXtmb3IobGV0W2ksb11vZiB0aGlzLl8kRXApdGhpc1tpXT1vO3RoaXMuXyRFcD12b2lkIDB9bGV0IHI9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcztpZihyLnNpemU+MClmb3IobGV0W2ksb11vZiByKXtsZXR7d3JhcHBlZDpufT1vLGw9dGhpc1tpXTtuIT09ITB8fHRoaXMuXyRBTC5oYXMoaSl8fGw9PT12b2lkIDB8fHRoaXMuQyhpLHZvaWQgMCxvLGwpfX1sZXQgZT0hMSx0PXRoaXMuXyRBTDt0cnl7ZT10aGlzLnNob3VsZFVwZGF0ZSh0KSxlPyh0aGlzLndpbGxVcGRhdGUodCksdGhpcy5fJEVPPy5mb3JFYWNoKHI9PnIuaG9zdFVwZGF0ZT8uKCkpLHRoaXMudXBkYXRlKHQpKTp0aGlzLl8kRU0oKX1jYXRjaChyKXt0aHJvdyBlPSExLHRoaXMuXyRFTSgpLHJ9ZSYmdGhpcy5fJEFFKHQpfXdpbGxVcGRhdGUoZSl7fV8kQUUoZSl7dGhpcy5fJEVPPy5mb3JFYWNoKHQ9PnQuaG9zdFVwZGF0ZWQ/LigpKSx0aGlzLmhhc1VwZGF0ZWR8fCh0aGlzLmhhc1VwZGF0ZWQ9ITAsdGhpcy5maXJzdFVwZGF0ZWQoZSkpLHRoaXMudXBkYXRlZChlKX1fJEVNKCl7dGhpcy5fJEFMPW5ldyBNYXAsdGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITF9Z2V0IHVwZGF0ZUNvbXBsZXRlKCl7cmV0dXJuIHRoaXMuZ2V0VXBkYXRlQ29tcGxldGUoKX1nZXRVcGRhdGVDb21wbGV0ZSgpe3JldHVybiB0aGlzLl8kRVN9c2hvdWxkVXBkYXRlKGUpe3JldHVybiEwfXVwZGF0ZShlKXt0aGlzLl8kRXEmJj10aGlzLl8kRXEuZm9yRWFjaCh0PT50aGlzLl8kRVQodCx0aGlzW3RdKSksdGhpcy5fJEVNKCl9dXBkYXRlZChlKXt9Zmlyc3RVcGRhdGVkKGUpe319O28yLmVsZW1lbnRTdHlsZXM9W10sbzIuc2hhZG93Um9vdE9wdGlvbnM9e21vZGU6Im9wZW4ifSxvMlskNygiZWxlbWVudFByb3BlcnRpZXMiKV09bmV3IE1hcCxvMlskNygiZmluYWxpemVkIildPW5ldyBNYXAscDhhPy4oe1JlYWN0aXZlRWxlbWVudDpvMn0pLChCRy5yZWFjdGl2ZUVsZW1lbnRWZXJzaW9ucz8/PVtdKS5wdXNoKCIyLjEuMiIpfSk7ZnVuY3Rpb24gaGF0KGEsZSl7aWYoIUtpZShhKXx8IWEuaGFzT3duUHJvcGVydHkoInJhdyIpKXRocm93IEVycm9yKCJpbnZhbGlkIHRlbXBsYXRlIHN0cmluZ3MgYXJyYXkiKTtyZXR1cm4gb2F0IT09dm9pZCAwP29hdC5jcmVhdGVIVE1MKGUpOmV9ZnVuY3Rpb24gSjQoYSxlLHQ9YSxyKXtpZihlPT09bHIpcmV0dXJuIGU7bGV0IGk9ciE9PXZvaWQgMD90Ll8kQ28/LltyXTp0Ll8kQ2wsbz1FNyhlKT92b2lkIDA6ZS5fJGxpdERpcmVjdGl2ZSQ7cmV0dXJuIGk/LmNvbnN0cnVjdG9yIT09byYmKGk/Ll8kQU8/LighMSksbz09PXZvaWQgMD9pPXZvaWQgMDooaT1uZXcgbyhhKSxpLl8kQVQoYSx0LHIpKSxyIT09dm9pZCAwPyh0Ll8kQ28/Pz1bXSlbcl09aTp0Ll8kQ2w9aSksaSE9PXZvaWQgMCYmKGU9SjQoYSxpLl8kQVMoYSxlLnZhbHVlcyksaSxyKSksZX12YXIgV2llLGlhdCxIRyxvYXQsR2llLGdsLFlpZSxmOGEsWjQsUDcsRTcsS2llLG5hdCxaaWUsSTcsbGF0LGNhdCxYNCxkYXQsdWF0LHBhdCxYaWUsdyxRaWUsSmllLGxyLHhyLGZhdCxRNCxtYXQsTjcscUcsQjUsZTMsVkcsakcsVUcsV0csZW9lLGg4YSxaYyx0MT1mKCgpPT57V2llPWdsb2JhbFRoaXMsaWF0PXMoYT0+YSwiaSIpLEhHPVdpZS50cnVzdGVkVHlwZXMsb2F0PUhHP0hHLmNyZWF0ZVBvbGljeSgibGl0LWh0bWwiLHtjcmVhdGVIVE1MOnMoYT0+YSwiY3JlYXRlSFRNTCIpfSk6dm9pZCAwLEdpZT0iJGxpdCQiLGdsPWBsaXQkJHtNYXRoLnJhbmRvbSgpLnRvRml4ZWQoOSkuc2xpY2UoMil9JGAsWWllPSI/IitnbCxmOGE9YDwke1lpZX0+YCxaND1kb2N1bWVudCxQNz1zKCgpPT5aNC5jcmVhdGVDb21tZW50KCIiKSwiYyIpLEU3PXMoYT0+YT09PW51bGx8fHR5cGVvZiBhIT0ib2JqZWN0IiYmdHlwZW9mIGEhPSJmdW5jdGlvbiIsImEiKSxLaWU9QXJyYXkuaXNBcnJheSxuYXQ9cyhhPT5LaWUoYSl8fHR5cGVvZiBhPy5bU3ltYm9sLml0ZXJhdG9yXT09ImZ1bmN0aW9uIiwiZCIpLFppZT1gWyAJClxmXHJdYCxJNz0vPCg/OighLS18XC9bXmEtekEtWl0pfChcLz9bYS16QS1aXVtePlxzXSopfChcLz8kKSkvZyxsYXQ9Ly0tPi9nLGNhdD0vPi9nLFg0PVJlZ0V4cChgPnwke1ppZX0oPzooW15cXHMiJz49L10rKSgke1ppZX0qPSR7WmllfSooPzpbXiAJClxmXHIiJ1xgPD49XXwoInwnKXwpKXwkKWAsImciKSxkYXQ9LycvZyx1YXQ9LyIvZyxwYXQ9L14oPzpzY3JpcHR8c3R5bGV8dGV4dGFyZWF8dGl0bGUpJC9pLFhpZT1zKGE9PihlLC4uLnQpPT4oe18kbGl0VHlwZSQ6YSxzdHJpbmdzOmUsdmFsdWVzOnR9KSwieCIpLHc9WGllKDEpLFFpZT1YaWUoMiksSmllPVhpZSgzKSxscj1TeW1ib2wuZm9yKCJsaXQtbm9DaGFuZ2UiKSx4cj1TeW1ib2wuZm9yKCJsaXQtbm90aGluZyIpLGZhdD1uZXcgV2Vha01hcCxRND1aNC5jcmVhdGVUcmVlV2Fsa2VyKFo0LDEyOSk7cyhoYXQsIlYiKTttYXQ9cygoYSxlKT0+e2xldCB0PWEubGVuZ3RoLTEscj1bXSxpLG89ZT09PTI/Ijxzdmc+IjplPT09Mz8iPG1hdGg+IjoiIixuPUk3O2ZvcihsZXQgbD0wO2w8dDtsKyspe2xldCBkPWFbbF0sYyxwLHU9LTEsbT0wO2Zvcig7bTxkLmxlbmd0aCYmKG4ubGFzdEluZGV4PW0scD1uLmV4ZWMoZCkscCE9PW51bGwpOyltPW4ubGFzdEluZGV4LG49PT1JNz9wWzFdPT09IiEtLSI/bj1sYXQ6cFsxXSE9PXZvaWQgMD9uPWNhdDpwWzJdIT09dm9pZCAwPyhwYXQudGVzdChwWzJdKSYmKGk9UmVnRXhwKCI8LyIrcFsyXSwiZyIpKSxuPVg0KTpwWzNdIT09dm9pZCAwJiYobj1YNCk6bj09PVg0P3BbMF09PT0iPiI/KG49aT8/STcsdT0tMSk6cFsxXT09PXZvaWQgMD91PS0yOih1PW4ubGFzdEluZGV4LXBbMl0ubGVuZ3RoLGM9cFsxXSxuPXBbM109PT12b2lkIDA/WDQ6cFszXT09PSciJz91YXQ6ZGF0KTpuPT09dWF0fHxuPT09ZGF0P249WDQ6bj09PWxhdHx8bj09PWNhdD9uPUk3OihuPVg0LGk9dm9pZCAwKTtsZXQgdj1uPT09WDQmJmFbbCsxXS5zdGFydHNXaXRoKCIvPiIpPyIgIjoiIjtvKz1uPT09STc/ZCtmOGE6dT49MD8oci5wdXNoKGMpLGQuc2xpY2UoMCx1KStHaWUrZC5zbGljZSh1KStnbCt2KTpkK2dsKyh1PT09LTI/bDp2KX1yZXR1cm5baGF0KGEsbysoYVt0XXx8Ijw/PiIpKyhlPT09Mj8iPC9zdmc+IjplPT09Mz8iPC9tYXRoPiI6IiIpKSxyXX0sIk4iKSxONz1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlMiKX1jb25zdHJ1Y3Rvcih7c3RyaW5nczplLF8kbGl0VHlwZSQ6dH0scil7bGV0IGk7dGhpcy5wYXJ0cz1bXTtsZXQgbz0wLG49MCxsPWUubGVuZ3RoLTEsZD10aGlzLnBhcnRzLFtjLHBdPW1hdChlLHQpO2lmKHRoaXMuZWw9YS5jcmVhdGVFbGVtZW50KGMsciksUTQuY3VycmVudE5vZGU9dGhpcy5lbC5jb250ZW50LHQ9PT0yfHx0PT09Myl7bGV0IHU9dGhpcy5lbC5jb250ZW50LmZpcnN0Q2hpbGQ7dS5yZXBsYWNlV2l0aCguLi51LmNoaWxkTm9kZXMpfWZvcig7KGk9UTQubmV4dE5vZGUoKSkhPT1udWxsJiZkLmxlbmd0aDxsOyl7aWYoaS5ub2RlVHlwZT09PTEpe2lmKGkuaGFzQXR0cmlidXRlcygpKWZvcihsZXQgdSBvZiBpLmdldEF0dHJpYnV0ZU5hbWVzKCkpaWYodS5lbmRzV2l0aChHaWUpKXtsZXQgbT1wW24rK10sdj1pLmdldEF0dHJpYnV0ZSh1KS5zcGxpdChnbCkseD0vKFsuP0BdKT8oLiopLy5leGVjKG0pO2QucHVzaCh7dHlwZToxLGluZGV4Om8sbmFtZTp4WzJdLHN0cmluZ3M6dixjdG9yOnhbMV09PT0iLiI/Vkc6eFsxXT09PSI/Ij9qRzp4WzFdPT09IkAiP1VHOmUzfSksaS5yZW1vdmVBdHRyaWJ1dGUodSl9ZWxzZSB1LnN0YXJ0c1dpdGgoZ2wpJiYoZC5wdXNoKHt0eXBlOjYsaW5kZXg6b30pLGkucmVtb3ZlQXR0cmlidXRlKHUpKTtpZihwYXQudGVzdChpLnRhZ05hbWUpKXtsZXQgdT1pLnRleHRDb250ZW50LnNwbGl0KGdsKSxtPXUubGVuZ3RoLTE7aWYobT4wKXtpLnRleHRDb250ZW50PUhHP0hHLmVtcHR5U2NyaXB0OiIiO2ZvcihsZXQgdj0wO3Y8bTt2KyspaS5hcHBlbmQodVt2XSxQNygpKSxRNC5uZXh0Tm9kZSgpLGQucHVzaCh7dHlwZToyLGluZGV4Oisrb30pO2kuYXBwZW5kKHVbbV0sUDcoKSl9fX1lbHNlIGlmKGkubm9kZVR5cGU9PT04KWlmKGkuZGF0YT09PVlpZSlkLnB1c2goe3R5cGU6MixpbmRleDpvfSk7ZWxzZXtsZXQgdT0tMTtmb3IoOyh1PWkuZGF0YS5pbmRleE9mKGdsLHUrMSkpIT09LTE7KWQucHVzaCh7dHlwZTo3LGluZGV4Om99KSx1Kz1nbC5sZW5ndGgtMX1vKyt9fXN0YXRpYyBjcmVhdGVFbGVtZW50KGUsdCl7bGV0IHI9WjQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtyZXR1cm4gci5pbm5lckhUTUw9ZSxyfX07cyhKNCwiTSIpO3FHPWNsYXNze3N0YXRpY3tzKHRoaXMsIlIiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuXyRBVj1bXSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBRD1lLHRoaXMuXyRBTT10fWdldCBwYXJlbnROb2RlKCl7cmV0dXJuIHRoaXMuXyRBTS5wYXJlbnROb2RlfWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfXUoZSl7bGV0e2VsOntjb250ZW50OnR9LHBhcnRzOnJ9PXRoaXMuXyRBRCxpPShlPy5jcmVhdGlvblNjb3BlPz9aNCkuaW1wb3J0Tm9kZSh0LCEwKTtRNC5jdXJyZW50Tm9kZT1pO2xldCBvPVE0Lm5leHROb2RlKCksbj0wLGw9MCxkPXJbMF07Zm9yKDtkIT09dm9pZCAwOyl7aWYobj09PWQuaW5kZXgpe2xldCBjO2QudHlwZT09PTI/Yz1uZXcgQjUobyxvLm5leHRTaWJsaW5nLHRoaXMsZSk6ZC50eXBlPT09MT9jPW5ldyBkLmN0b3IobyxkLm5hbWUsZC5zdHJpbmdzLHRoaXMsZSk6ZC50eXBlPT09NiYmKGM9bmV3IFdHKG8sdGhpcyxlKSksdGhpcy5fJEFWLnB1c2goYyksZD1yWysrbF19biE9PWQ/LmluZGV4JiYobz1RNC5uZXh0Tm9kZSgpLG4rKyl9cmV0dXJuIFE0LmN1cnJlbnROb2RlPVo0LGl9cChlKXtsZXQgdD0wO2ZvcihsZXQgciBvZiB0aGlzLl8kQVYpciE9PXZvaWQgMCYmKHIuc3RyaW5ncyE9PXZvaWQgMD8oci5fJEFJKGUscix0KSx0Kz1yLnN0cmluZ3MubGVuZ3RoLTIpOnIuXyRBSShlW3RdKSksdCsrfX0sQjU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJrIil9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNPy5fJEFVPz90aGlzLl8kQ3Z9Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy50eXBlPTIsdGhpcy5fJEFIPXhyLHRoaXMuXyRBTj12b2lkIDAsdGhpcy5fJEFBPWUsdGhpcy5fJEFCPXQsdGhpcy5fJEFNPXIsdGhpcy5vcHRpb25zPWksdGhpcy5fJEN2PWk/LmlzQ29ubmVjdGVkPz8hMH1nZXQgcGFyZW50Tm9kZSgpe2xldCBlPXRoaXMuXyRBQS5wYXJlbnROb2RlLHQ9dGhpcy5fJEFNO3JldHVybiB0IT09dm9pZCAwJiZlPy5ub2RlVHlwZT09PTExJiYoZT10LnBhcmVudE5vZGUpLGV9Z2V0IHN0YXJ0Tm9kZSgpe3JldHVybiB0aGlzLl8kQUF9Z2V0IGVuZE5vZGUoKXtyZXR1cm4gdGhpcy5fJEFCfV8kQUkoZSx0PXRoaXMpe2U9SjQodGhpcyxlLHQpLEU3KGUpP2U9PT14cnx8ZT09bnVsbHx8ZT09PSIiPyh0aGlzLl8kQUghPT14ciYmdGhpcy5fJEFSKCksdGhpcy5fJEFIPXhyKTplIT09dGhpcy5fJEFIJiZlIT09bHImJnRoaXMuXyhlKTplLl8kbGl0VHlwZSQhPT12b2lkIDA/dGhpcy4kKGUpOmUubm9kZVR5cGUhPT12b2lkIDA/dGhpcy5UKGUpOm5hdChlKT90aGlzLmsoZSk6dGhpcy5fKGUpfU8oZSl7cmV0dXJuIHRoaXMuXyRBQS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMuXyRBQil9VChlKXt0aGlzLl8kQUghPT1lJiYodGhpcy5fJEFSKCksdGhpcy5fJEFIPXRoaXMuTyhlKSl9XyhlKXt0aGlzLl8kQUghPT14ciYmRTcodGhpcy5fJEFIKT90aGlzLl8kQUEubmV4dFNpYmxpbmcuZGF0YT1lOnRoaXMuVChaNC5jcmVhdGVUZXh0Tm9kZShlKSksdGhpcy5fJEFIPWV9JChlKXtsZXR7dmFsdWVzOnQsXyRsaXRUeXBlJDpyfT1lLGk9dHlwZW9mIHI9PSJudW1iZXIiP3RoaXMuXyRBQyhlKTooci5lbD09PXZvaWQgMCYmKHIuZWw9TjcuY3JlYXRlRWxlbWVudChoYXQoci5oLHIuaFswXSksdGhpcy5vcHRpb25zKSkscik7aWYodGhpcy5fJEFIPy5fJEFEPT09aSl0aGlzLl8kQUgucCh0KTtlbHNle2xldCBvPW5ldyBxRyhpLHRoaXMpLG49by51KHRoaXMub3B0aW9ucyk7by5wKHQpLHRoaXMuVChuKSx0aGlzLl8kQUg9b319XyRBQyhlKXtsZXQgdD1mYXQuZ2V0KGUuc3RyaW5ncyk7cmV0dXJuIHQ9PT12b2lkIDAmJmZhdC5zZXQoZS5zdHJpbmdzLHQ9bmV3IE43KGUpKSx0fWsoZSl7S2llKHRoaXMuXyRBSCl8fCh0aGlzLl8kQUg9W10sdGhpcy5fJEFSKCkpO2xldCB0PXRoaXMuXyRBSCxyLGk9MDtmb3IobGV0IG8gb2YgZSlpPT09dC5sZW5ndGg/dC5wdXNoKHI9bmV3IGEodGhpcy5PKFA3KCkpLHRoaXMuTyhQNygpKSx0aGlzLHRoaXMub3B0aW9ucykpOnI9dFtpXSxyLl8kQUkobyksaSsrO2k8dC5sZW5ndGgmJih0aGlzLl8kQVIociYmci5fJEFCLm5leHRTaWJsaW5nLGkpLHQubGVuZ3RoPWkpfV8kQVIoZT10aGlzLl8kQUEubmV4dFNpYmxpbmcsdCl7Zm9yKHRoaXMuXyRBUD8uKCExLCEwLHQpO2UhPT10aGlzLl8kQUI7KXtsZXQgcj1pYXQoZSkubmV4dFNpYmxpbmc7aWF0KGUpLnJlbW92ZSgpLGU9cn19c2V0Q29ubmVjdGVkKGUpe3RoaXMuXyRBTT09PXZvaWQgMCYmKHRoaXMuXyRDdj1lLHRoaXMuXyRBUD8uKGUpKX19LGUzPWNsYXNze3N0YXRpY3tzKHRoaXMsIkgiKX1nZXQgdGFnTmFtZSgpe3JldHVybiB0aGlzLmVsZW1lbnQudGFnTmFtZX1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1jb25zdHJ1Y3RvcihlLHQscixpLG8pe3RoaXMudHlwZT0xLHRoaXMuXyRBSD14cix0aGlzLl8kQU49dm9pZCAwLHRoaXMuZWxlbWVudD1lLHRoaXMubmFtZT10LHRoaXMuXyRBTT1pLHRoaXMub3B0aW9ucz1vLHIubGVuZ3RoPjJ8fHJbMF0hPT0iInx8clsxXSE9PSIiPyh0aGlzLl8kQUg9QXJyYXkoci5sZW5ndGgtMSkuZmlsbChuZXcgU3RyaW5nKSx0aGlzLnN0cmluZ3M9cik6dGhpcy5fJEFIPXhyfV8kQUkoZSx0PXRoaXMscixpKXtsZXQgbz10aGlzLnN0cmluZ3Msbj0hMTtpZihvPT09dm9pZCAwKWU9SjQodGhpcyxlLHQsMCksbj0hRTcoZSl8fGUhPT10aGlzLl8kQUgmJmUhPT1scixuJiYodGhpcy5fJEFIPWUpO2Vsc2V7bGV0IGw9ZSxkLGM7Zm9yKGU9b1swXSxkPTA7ZDxvLmxlbmd0aC0xO2QrKyljPUo0KHRoaXMsbFtyK2RdLHQsZCksYz09PWxyJiYoYz10aGlzLl8kQUhbZF0pLG58fD0hRTcoYyl8fGMhPT10aGlzLl8kQUhbZF0sYz09PXhyP2U9eHI6ZSE9PXhyJiYoZSs9KGM/PyIiKStvW2QrMV0pLHRoaXMuXyRBSFtkXT1jfW4mJiFpJiZ0aGlzLmooZSl9aihlKXtlPT09eHI/dGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLm5hbWUpOnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5uYW1lLGU/PyIiKX19LFZHPWNsYXNzIGV4dGVuZHMgZTN7c3RhdGlje3ModGhpcywiSSIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9M31qKGUpe3RoaXMuZWxlbWVudFt0aGlzLm5hbWVdPWU9PT14cj92b2lkIDA6ZX19LGpHPWNsYXNzIGV4dGVuZHMgZTN7c3RhdGlje3ModGhpcywiTCIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9NH1qKGUpe3RoaXMuZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUodGhpcy5uYW1lLCEhZSYmZSE9PXhyKX19LFVHPWNsYXNzIGV4dGVuZHMgZTN7c3RhdGlje3ModGhpcywieiIpfWNvbnN0cnVjdG9yKGUsdCxyLGksbyl7c3VwZXIoZSx0LHIsaSxvKSx0aGlzLnR5cGU9NX1fJEFJKGUsdD10aGlzKXtpZigoZT1KNCh0aGlzLGUsdCwwKT8/eHIpPT09bHIpcmV0dXJuO2xldCByPXRoaXMuXyRBSCxpPWU9PT14ciYmciE9PXhyfHxlLmNhcHR1cmUhPT1yLmNhcHR1cmV8fGUub25jZSE9PXIub25jZXx8ZS5wYXNzaXZlIT09ci5wYXNzaXZlLG89ZSE9PXhyJiYocj09PXhyfHxpKTtpJiZ0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyxyKSxvJiZ0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyxlKSx0aGlzLl8kQUg9ZX1oYW5kbGVFdmVudChlKXt0eXBlb2YgdGhpcy5fJEFIPT0iZnVuY3Rpb24iP3RoaXMuXyRBSC5jYWxsKHRoaXMub3B0aW9ucz8uaG9zdD8/dGhpcy5lbGVtZW50LGUpOnRoaXMuXyRBSC5oYW5kbGVFdmVudChlKX19LFdHPWNsYXNze3N0YXRpY3tzKHRoaXMsIloiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5lbGVtZW50PWUsdGhpcy50eXBlPTYsdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQU09dCx0aGlzLm9wdGlvbnM9cn1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1fJEFJKGUpe0o0KHRoaXMsZSl9fSxlb2U9e006R2llLFA6Z2wsQTpZaWUsQzoxLEw6bWF0LFI6cUcsRDpuYXQsVjpKNCxJOkI1LEg6ZTMsTjpqRyxVOlVHLEI6VkcsRjpXR30saDhhPVdpZS5saXRIdG1sUG9seWZpbGxTdXBwb3J0O2g4YT8uKE43LEI1KSwoV2llLmxpdEh0bWxWZXJzaW9ucz8/PVtdKS5wdXNoKCIzLjMuMiIpO1pjPXMoKGEsZSx0KT0+e2xldCByPXQ/LnJlbmRlckJlZm9yZT8/ZSxpPXIuXyRsaXRQYXJ0JDtpZihpPT09dm9pZCAwKXtsZXQgbz10Py5yZW5kZXJCZWZvcmU/P251bGw7ci5fJGxpdFBhcnQkPWk9bmV3IEI1KGUuaW5zZXJ0QmVmb3JlKFA3KCksbyksbyx2b2lkIDAsdD8/e30pfXJldHVybiBpLl8kQUkoYSksaX0sIkQiKX0pO3ZhciB0b2UsYmwsbThhLGc4YSxnYXQ9ZigoKT0+e0E3KCk7QTcoKTt0MSgpO3QxKCk7dG9lPWdsb2JhbFRoaXMsYmw9Y2xhc3MgZXh0ZW5kcyBvMntzdGF0aWN7cyh0aGlzLCJpIil9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVuZGVyT3B0aW9ucz17aG9zdDp0aGlzfSx0aGlzLl8kRG89dm9pZCAwfWNyZWF0ZVJlbmRlclJvb3QoKXtsZXQgZT1zdXBlci5jcmVhdGVSZW5kZXJSb290KCk7cmV0dXJuIHRoaXMucmVuZGVyT3B0aW9ucy5yZW5kZXJCZWZvcmU/Pz1lLmZpcnN0Q2hpbGQsZX11cGRhdGUoZSl7bGV0IHQ9dGhpcy5yZW5kZXIoKTt0aGlzLmhhc1VwZGF0ZWR8fCh0aGlzLnJlbmRlck9wdGlvbnMuaXNDb25uZWN0ZWQ9dGhpcy5pc0Nvbm5lY3RlZCksc3VwZXIudXBkYXRlKGUpLHRoaXMuXyREbz1aYyh0LHRoaXMucmVuZGVyUm9vdCx0aGlzLnJlbmRlck9wdGlvbnMpfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl8kRG8/LnNldENvbm5lY3RlZCghMCl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuXyREbz8uc2V0Q29ubmVjdGVkKCExKX1yZW5kZXIoKXtyZXR1cm4gbHJ9fTtibC5fJGxpdEVsZW1lbnQkPSEwLGJsLmZpbmFsaXplZD0hMCx0b2UubGl0RWxlbWVudEh5ZHJhdGVTdXBwb3J0Py4oe0xpdEVsZW1lbnQ6Ymx9KTttOGE9dG9lLmxpdEVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQ7bThhPy4oe0xpdEVsZW1lbnQ6Ymx9KTtnOGE9e18kQUs6cygoYSxlLHQpPT57YS5fJEFLKGUsdCl9LCJfJEFLIiksXyRBTDpzKGE9PmEuXyRBTCwiXyRBTCIpfTsodG9lLmxpdEVsZW1lbnRWZXJzaW9ucz8/PVtdKS5wdXNoKCI0LjIuMiIpfSk7dmFyIGI4YSxiYXQ9ZigoKT0+e2I4YT0hMX0pO3ZhciBnbj1mKCgpPT57QTcoKTt0MSgpO2dhdCgpO2JhdCgpfSk7dmFyIFlHPU1vKEdHPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShHRywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksR0cudW5pPXZvaWQgMDt2YXIgdjhhPXMoKGE9InVuaSIpPT5gJHthfV8keyJ4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZyxlPT57bGV0IHQ9TWF0aC5yYW5kb20oKSoxNnwwO3JldHVybihlPT09IngiP3Q6dCYzfDgpLnRvU3RyaW5nKDE2KX0pfWAsInVuaSIpO0dHLnVuaT12OGF9KTt2YXIgS0csWGMsWkc9ZigoKT0+e0tHPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRlZmVycmVkIil9Y2xhaW0oKXtpZih0aGlzLmNsYWltZWQpdGhyb3cgbmV3IEVycm9yKCJEZWZlcnJlZCBhbHJlYWR5IGNsYWltZWQiKTt0aGlzLmNsYWltZWQ9ITB9Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuc3RvcHBlZEF0P3RoaXMuc3RvcHBlZEF0LXRoaXMuc3RhcnRlZEF0OkRhdGUubm93KCktdGhpcy5zdGFydGVkQXR9Y29uc3RydWN0b3IoKXt0aGlzLmNsYWltZWQ9ITEsdGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKChlLHQpPT57dGhpcy5yZXNvbHZlPXI9Pnt0aGlzLnN0YXR1cz0iZnVsZmlsbGVkIix0aGlzLnN0b3BwZWRBdD1EYXRlLm5vdygpLGUocil9LHRoaXMucmVqZWN0PXI9Pnt0aGlzLnN0YXR1cz0icmVqZWN0ZWQiLHRoaXMuc3RvcHBlZEF0PURhdGUubm93KCksdChyKX0sdGhpcy5zdGFydGVkQXQ9RGF0ZS5ub3coKSx0aGlzLnN0YXR1cz0icGVuZGluZyJ9KX19LFhjPXMoKCk9Pm5ldyBLRywiZGVmZXIiKX0pO3ZhciBYRyx4OGEsdmF0PWYoKCk9PntaRygpO1hHPWNsYXNze3N0YXRpY3tzKHRoaXMsIkN1bXVsYXRpdmVEZWZlcnJlZCIpfWNvbnN0cnVjdG9yKCl7dGhpcy5hY2N1bXVsYXRlZFByb21pc2VzPVtdLHRoaXMuZGVmZXJyZWQ9WGMoKSx0aGlzLnByb21pc2U9dGhpcy5kZWZlcnJlZC5wcm9taXNlLHNldFRpbWVvdXQoYXN5bmMoKT0+e2Zvcig7dGhpcy5hY2N1bXVsYXRlZFByb21pc2VzLmxlbmd0aD4wOylhd2FpdCB0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXMuc2hpZnQoKTt0aGlzLmRlZmVycmVkLnJlc29sdmUoKX0sMCl9c3ViRGVmZXIoKXtsZXQgZT1YYygpO3JldHVybiB0aGlzLmFkZFByb21pc2UoZS5wcm9taXNlKSxlfWFkZFByb21pc2UoZSl7dGhpcy5hY2N1bXVsYXRlZFByb21pc2VzLnB1c2goZSl9fSx4OGE9cygoKT0+bmV3IFhHLCJjdW11bGF0aXZlRGVmZXIiKX0pO3ZhciBjdD17fTtsdChjdCx7Q3VtdWxhdGl2ZURlZmVycmVkOigpPT5YRyxEZWZlcnJlZDooKT0+S0csY3VtdWxhdGl2ZURlZmVyOigpPT54OGEsZGVmZXI6KCk9PlhjLGZyb21DYWxsYmFjazooKT0+ejhhLGdldEZpcnN0VHJ1ZU9yRmFsc2U6KCk9PlM4YSxtYXA6KCk9Pk04YSxyZWplY3RlZFByb21pc2U6KCk9Pnc4YSxyZXNvbHZlZFByb21pc2U6KCk9Pnk4YSx0aW1lb3V0QW5kQ29udGludWU6KCk9Pms4YSx0aW1lb3V0V3JhcDooKT0+eGF0fSk7ZnVuY3Rpb24geThhKGEpe3JldHVybiBQcm9taXNlLnJlc29sdmUoYSl9dmFyIHc4YSxNOGEseGF0LGs4YSxTOGEsejhhLGJpPWYoKCk9PntaRygpO3ZhdCgpO1pHKCk7cyh5OGEsInJlc29sdmVkUHJvbWlzZSIpO3c4YT1zKGE9PlByb21pc2UucmVqZWN0KGEpLCJyZWplY3RlZFByb21pc2UiKSxNOGE9cyhhc3luYyhhLGUpPT5Qcm9taXNlLmFsbChhLm1hcChlKSksIm1hcCIpLHhhdD1zKGFzeW5jKGEsZSx0PSEwKT0+bmV3IFByb21pc2UoKHIsaSk9PntzZXRUaW1lb3V0KCgpPT57dD9pKG5ldyBFcnJvcigidGltZW91dCIpKTpyKG51bGwpfSxlKSxhLnRoZW4ocixpKX0pLCJ0aW1lb3V0V3JhcCIpLGs4YT1zKGFzeW5jKGEsZT02ZTQpPT54YXQoYSxlLCExKSwidGltZW91dEFuZENvbnRpbnVlIiksUzhhPXMoYXN5bmMgYT0+e2xldCBlPVhjKCk7Zm9yKGxldCB0IG9mIGEpdC50aGVuKHI9PntyPT09ITAmJmUucmVzb2x2ZSghMCl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoYSkudGhlbigoKT0+e2UucmVzb2x2ZSghMSl9KSxlLnByb21pc2V9LCJnZXRGaXJzdFRydWVPckZhbHNlIiksejhhPXMoYT0+bmV3IFByb21pc2UoKGUsdCk9PnthKChyLGkpPT57cj90KHIpOmUoaSl9KX0pLCJmcm9tQ2FsbGJhY2siKX0pO3ZhciBRRz1mKCgpPT57YmkoKX0pO2Z1bmN0aW9uIG5hKGEsZSl7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiImJmUhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoZSkrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7YW9lKGEsZSk7ZnVuY3Rpb24gdCgpe3RoaXMuY29uc3RydWN0b3I9YX1zKHQsIl9fIiksYS5wcm90b3R5cGU9ZT09PW51bGw/T2JqZWN0LmNyZWF0ZShlKToodC5wcm90b3R5cGU9ZS5wcm90b3R5cGUsbmV3IHQpfWZ1bmN0aW9uIF84YShhLGUpe3ZhciB0PXt9O2Zvcih2YXIgciBpbiBhKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLHIpJiZlLmluZGV4T2Yocik8MCYmKHRbcl09YVtyXSk7aWYoYSE9bnVsbCYmdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM9PSJmdW5jdGlvbiIpZm9yKHZhciBpPTAscj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGEpO2k8ci5sZW5ndGg7aSsrKWUuaW5kZXhPZihyW2ldKTwwJiZPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoYSxyW2ldKSYmKHRbcltpXV09YVtyW2ldXSk7cmV0dXJuIHR9ZnVuY3Rpb24gVDhhKGEsZSx0LHIpe3ZhciBpPWFyZ3VtZW50cy5sZW5ndGgsbz1pPDM/ZTpyPT09bnVsbD9yPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KTpyLG47aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZT09ImZ1bmN0aW9uIilvPVJlZmxlY3QuZGVjb3JhdGUoYSxlLHQscik7ZWxzZSBmb3IodmFyIGw9YS5sZW5ndGgtMTtsPj0wO2wtLSkobj1hW2xdKSYmKG89KGk8Mz9uKG8pOmk+Mz9uKGUsdCxvKTpuKGUsdCkpfHxvKTtyZXR1cm4gaT4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LG8pLG99ZnVuY3Rpb24gTDhhKGEsZSl7cmV0dXJuIGZ1bmN0aW9uKHQscil7ZSh0LHIsYSl9fWZ1bmN0aW9uICQ4YShhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH1mdW5jdGlvbiBEOGEoYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9ZnVuY3Rpb24gQThhKGEpe3JldHVybiB0eXBlb2YgYT09InN5bWJvbCI/YToiIi5jb25jYXQoYSl9ZnVuY3Rpb24gUDhhKGEsZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJzeW1ib2wiJiYoZT1lLmRlc2NyaXB0aW9uPyJbIi5jb25jYXQoZS5kZXNjcmlwdGlvbiwiXSIpOiIiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwibmFtZSIse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTp0PyIiLmNvbmNhdCh0LCIgIixlKTplfSl9ZnVuY3Rpb24gRThhKGEsZSl7aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YT09ImZ1bmN0aW9uIilyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShhLGUpfWZ1bmN0aW9uIG9vZShhLGUsdCxyKXtmdW5jdGlvbiBpKG8pe3JldHVybiBvIGluc3RhbmNlb2YgdD9vOm5ldyB0KGZ1bmN0aW9uKG4pe24obyl9KX1yZXR1cm4gcyhpLCJhZG9wdCIpLG5ldyh0fHwodD1Qcm9taXNlKSkoZnVuY3Rpb24obyxuKXtmdW5jdGlvbiBsKHApe3RyeXtjKHIubmV4dChwKSl9Y2F0Y2godSl7bih1KX19cyhsLCJmdWxmaWxsZWQiKTtmdW5jdGlvbiBkKHApe3RyeXtjKHIudGhyb3cocCkpfWNhdGNoKHUpe24odSl9fXMoZCwicmVqZWN0ZWQiKTtmdW5jdGlvbiBjKHApe3AuZG9uZT9vKHAudmFsdWUpOmkocC52YWx1ZSkudGhlbihsLGQpfXMoYywic3RlcCIpLGMoKHI9ci5hcHBseShhLGV8fFtdKSkubmV4dCgpKX0pfWZ1bmN0aW9uIFI3KGEsZSl7dmFyIHQ9e2xhYmVsOjAsc2VudDpzKGZ1bmN0aW9uKCl7aWYob1swXSYxKXRocm93IG9bMV07cmV0dXJuIG9bMV19LCJzZW50IiksdHJ5czpbXSxvcHM6W119LHIsaSxvLG49T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEl0ZXJhdG9yPT0iZnVuY3Rpb24iP0l0ZXJhdG9yOk9iamVjdCkucHJvdG90eXBlKTtyZXR1cm4gbi5uZXh0PWwoMCksbi50aHJvdz1sKDEpLG4ucmV0dXJuPWwoMiksdHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmKG5bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbjtmdW5jdGlvbiBsKGMpe3JldHVybiBmdW5jdGlvbihwKXtyZXR1cm4gZChbYyxwXSl9fWZ1bmN0aW9uIGQoYyl7aWYocil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtuJiYobj0wLGNbMF0mJih0PTApKSx0Oyl0cnl7aWYocj0xLGkmJihvPWNbMF0mMj9pLnJldHVybjpjWzBdP2kudGhyb3d8fCgobz1pLnJldHVybikmJm8uY2FsbChpKSwwKTppLm5leHQpJiYhKG89by5jYWxsKGksY1sxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKGk9MCxvJiYoYz1bY1swXSYyLG8udmFsdWVdKSxjWzBdKXtjYXNlIDA6Y2FzZSAxOm89YzticmVhaztjYXNlIDQ6cmV0dXJuIHQubGFiZWwrKyx7dmFsdWU6Y1sxXSxkb25lOiExfTtjYXNlIDU6dC5sYWJlbCsrLGk9Y1sxXSxjPVswXTtjb250aW51ZTtjYXNlIDc6Yz10Lm9wcy5wb3AoKSx0LnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZihvPXQudHJ5cywhKG89by5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSkmJihjWzBdPT09Nnx8Y1swXT09PTIpKXt0PTA7Y29udGludWV9aWYoY1swXT09PTMmJighb3x8Y1sxXT5vWzBdJiZjWzFdPG9bM10pKXt0LmxhYmVsPWNbMV07YnJlYWt9aWYoY1swXT09PTYmJnQubGFiZWw8b1sxXSl7dC5sYWJlbD1vWzFdLG89YzticmVha31pZihvJiZ0LmxhYmVsPG9bMl0pe3QubGFiZWw9b1syXSx0Lm9wcy5wdXNoKGMpO2JyZWFrfW9bMl0mJnQub3BzLnBvcCgpLHQudHJ5cy5wb3AoKTtjb250aW51ZX1jPWUuY2FsbChhLHQpfWNhdGNoKHApe2M9WzYscF0saT0wfWZpbmFsbHl7cj1vPTB9aWYoY1swXSY1KXRocm93IGNbMV07cmV0dXJue3ZhbHVlOmNbMF0/Y1sxXTp2b2lkIDAsZG9uZTohMH19fWZ1bmN0aW9uIEk4YShhLGUpe2Zvcih2YXIgdCBpbiBhKXQhPT0iZGVmYXVsdCImJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KSYmc29lKGUsYSx0KX1mdW5jdGlvbiB2aShhKXt2YXIgZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wuaXRlcmF0b3IsdD1lJiZhW2VdLHI9MDtpZih0KXJldHVybiB0LmNhbGwoYSk7aWYoYSYmdHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpzKGZ1bmN0aW9uKCl7cmV0dXJuIGEmJnI+PWEubGVuZ3RoJiYoYT12b2lkIDApLHt2YWx1ZTphJiZhW3IrK10sZG9uZTohYX19LCJuZXh0Iil9O3Rocm93IG5ldyBUeXBlRXJyb3IoZT8iT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS4iOiJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIil9ZnVuY3Rpb24gUHIoYSxlKXt2YXIgdD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoIXQpcmV0dXJuIGE7dmFyIHI9dC5jYWxsKGEpLGksbz1bXSxuO3RyeXtmb3IoOyhlPT09dm9pZCAwfHxlLS0gPjApJiYhKGk9ci5uZXh0KCkpLmRvbmU7KW8ucHVzaChpLnZhbHVlKX1jYXRjaChsKXtuPXtlcnJvcjpsfX1maW5hbGx5e3RyeXtpJiYhaS5kb25lJiYodD1yLnJldHVybikmJnQuY2FsbChyKX1maW5hbGx5e2lmKG4pdGhyb3cgbi5lcnJvcn19cmV0dXJuIG99ZnVuY3Rpb24gTjhhKCl7Zm9yKHZhciBhPVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKWE9YS5jb25jYXQoUHIoYXJndW1lbnRzW2VdKSk7cmV0dXJuIGF9ZnVuY3Rpb24gUjhhKCl7Zm9yKHZhciBhPTAsZT0wLHQ9YXJndW1lbnRzLmxlbmd0aDtlPHQ7ZSsrKWErPWFyZ3VtZW50c1tlXS5sZW5ndGg7Zm9yKHZhciByPUFycmF5KGEpLGk9MCxlPTA7ZTx0O2UrKylmb3IodmFyIG89YXJndW1lbnRzW2VdLG49MCxsPW8ubGVuZ3RoO248bDtuKyssaSsrKXJbaV09b1tuXTtyZXR1cm4gcn1mdW5jdGlvbiBTcyhhLGUsdCl7aWYodHx8YXJndW1lbnRzLmxlbmd0aD09PTIpZm9yKHZhciByPTAsaT1lLmxlbmd0aCxvO3I8aTtyKyspKG98fCEociBpbiBlKSkmJihvfHwobz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLDAscikpLG9bcl09ZVtyXSk7cmV0dXJuIGEuY29uY2F0KG98fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUpKX1mdW5jdGlvbiB2bChhKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIHZsPyh0aGlzLnY9YSx0aGlzKTpuZXcgdmwoYSl9ZnVuY3Rpb24gbm9lKGEsZSx0KXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIHI9dC5hcHBseShhLGV8fFtdKSxpLG89W107cmV0dXJuIGk9T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEFzeW5jSXRlcmF0b3I9PSJmdW5jdGlvbiI/QXN5bmNJdGVyYXRvcjpPYmplY3QpLnByb3RvdHlwZSksbCgibmV4dCIpLGwoInRocm93IiksbCgicmV0dXJuIixuKSxpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxpO2Z1bmN0aW9uIG4odil7cmV0dXJuIGZ1bmN0aW9uKHgpe3JldHVybiBQcm9taXNlLnJlc29sdmUoeCkudGhlbih2LHUpfX1mdW5jdGlvbiBsKHYseCl7clt2XSYmKGlbdl09ZnVuY3Rpb24oYil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGcseSl7by5wdXNoKFt2LGIsZyx5XSk+MXx8ZCh2LGIpfSl9LHgmJihpW3ZdPXgoaVt2XSkpKX1mdW5jdGlvbiBkKHYseCl7dHJ5e2Moclt2XSh4KSl9Y2F0Y2goYil7bShvWzBdWzNdLGIpfX1mdW5jdGlvbiBjKHYpe3YudmFsdWUgaW5zdGFuY2VvZiB2bD9Qcm9taXNlLnJlc29sdmUodi52YWx1ZS52KS50aGVuKHAsdSk6bShvWzBdWzJdLHYpfWZ1bmN0aW9uIHAodil7ZCgibmV4dCIsdil9ZnVuY3Rpb24gdSh2KXtkKCJ0aHJvdyIsdil9ZnVuY3Rpb24gbSh2LHgpe3YoeCksby5zaGlmdCgpLG8ubGVuZ3RoJiZkKG9bMF1bMF0sb1swXVsxXSl9fWZ1bmN0aW9uIE84YShhKXt2YXIgZSx0O3JldHVybiBlPXt9LHIoIm5leHQiKSxyKCJ0aHJvdyIsZnVuY3Rpb24oaSl7dGhyb3cgaX0pLHIoInJldHVybiIpLGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlO2Z1bmN0aW9uIHIoaSxvKXtlW2ldPWFbaV0/ZnVuY3Rpb24obil7cmV0dXJuKHQ9IXQpP3t2YWx1ZTp2bChhW2ldKG4pKSxkb25lOiExfTpvP28obik6bn06b319ZnVuY3Rpb24gbG9lKGEpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgZT1hW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSx0O3JldHVybiBlP2UuY2FsbChhKTooYT10eXBlb2Ygdmk9PSJmdW5jdGlvbiI/dmkoYSk6YVtTeW1ib2wuaXRlcmF0b3JdKCksdD17fSxyKCJuZXh0IikscigidGhyb3ciKSxyKCJyZXR1cm4iKSx0W1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSx0KTtmdW5jdGlvbiByKG8pe3Rbb109YVtvXSYmZnVuY3Rpb24obil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGwsZCl7bj1hW29dKG4pLGkobCxkLG4uZG9uZSxuLnZhbHVlKX0pfX1mdW5jdGlvbiBpKG8sbixsLGQpe1Byb21pc2UucmVzb2x2ZShkKS50aGVuKGZ1bmN0aW9uKGMpe28oe3ZhbHVlOmMsZG9uZTpsfSl9LG4pfX1mdW5jdGlvbiBGOGEoYSxlKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5P09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJyYXciLHt2YWx1ZTplfSk6YS5yYXc9ZSxhfWZ1bmN0aW9uIEg4YShhKXtpZihhJiZhLl9fZXNNb2R1bGUpcmV0dXJuIGE7dmFyIGU9e307aWYoYSE9bnVsbClmb3IodmFyIHQ9aW9lKGEpLHI9MDtyPHQubGVuZ3RoO3IrKyl0W3JdIT09ImRlZmF1bHQiJiZzb2UoZSxhLHRbcl0pO3JldHVybiBCOGEoZSxhKSxlfWZ1bmN0aW9uIHE4YShhKXtyZXR1cm4gYSYmYS5fX2VzTW9kdWxlP2E6e2RlZmF1bHQ6YX19ZnVuY3Rpb24gVjhhKGEsZSx0LHIpe2lmKHQ9PT0iYSImJiFyKXRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlciIpO2lmKHR5cGVvZiBlPT0iZnVuY3Rpb24iP2EhPT1lfHwhcjohZS5oYXMoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7cmV0dXJuIHQ9PT0ibSI/cjp0PT09ImEiP3IuY2FsbChhKTpyP3IudmFsdWU6ZS5nZXQoYSl9ZnVuY3Rpb24gajhhKGEsZSx0LHIsaSl7aWYocj09PSJtIil0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGUiKTtpZihyPT09ImEiJiYhaSl0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXIiKTtpZih0eXBlb2YgZT09ImZ1bmN0aW9uIj9hIT09ZXx8IWk6IWUuaGFzKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB3cml0ZSBwcml2YXRlIG1lbWJlciB0byBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7cmV0dXJuIHI9PT0iYSI/aS5jYWxsKGEsdCk6aT9pLnZhbHVlPXQ6ZS5zZXQoYSx0KSx0fWZ1bmN0aW9uIFU4YShhLGUpe2lmKGU9PT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCImJnR5cGVvZiBlIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0Iik7cmV0dXJuIHR5cGVvZiBhPT0iZnVuY3Rpb24iP2U9PT1hOmEuaGFzKGUpfWZ1bmN0aW9uIFc4YShhLGUsdCl7aWYoZSE9bnVsbCl7aWYodHlwZW9mIGUhPSJvYmplY3QiJiZ0eXBlb2YgZSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQuIik7dmFyIHIsaTtpZih0KXtpZighU3ltYm9sLmFzeW5jRGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNEaXNwb3NlIGlzIG5vdCBkZWZpbmVkLiIpO3I9ZVtTeW1ib2wuYXN5bmNEaXNwb3NlXX1pZihyPT09dm9pZCAwKXtpZighU3ltYm9sLmRpc3Bvc2UpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmRpc3Bvc2UgaXMgbm90IGRlZmluZWQuIik7cj1lW1N5bWJvbC5kaXNwb3NlXSx0JiYoaT1yKX1pZih0eXBlb2YgciE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3Qgbm90IGRpc3Bvc2FibGUuIik7aSYmKHI9cyhmdW5jdGlvbigpe3RyeXtpLmNhbGwodGhpcyl9Y2F0Y2gobyl7cmV0dXJuIFByb21pc2UucmVqZWN0KG8pfX0sImRpc3Bvc2UiKSksYS5zdGFjay5wdXNoKHt2YWx1ZTplLGRpc3Bvc2U6cixhc3luYzp0fSl9ZWxzZSB0JiZhLnN0YWNrLnB1c2goe2FzeW5jOiEwfSk7cmV0dXJuIGV9ZnVuY3Rpb24gWThhKGEpe2Z1bmN0aW9uIGUobyl7YS5lcnJvcj1hLmhhc0Vycm9yP25ldyBHOGEobyxhLmVycm9yLCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuIik6byxhLmhhc0Vycm9yPSEwfXMoZSwiZmFpbCIpO3ZhciB0LHI9MDtmdW5jdGlvbiBpKCl7Zm9yKDt0PWEuc3RhY2sucG9wKCk7KXRyeXtpZighdC5hc3luYyYmcj09PTEpcmV0dXJuIHI9MCxhLnN0YWNrLnB1c2godCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbihpKTtpZih0LmRpc3Bvc2Upe3ZhciBvPXQuZGlzcG9zZS5jYWxsKHQudmFsdWUpO2lmKHQuYXN5bmMpcmV0dXJuIHJ8PTIsUHJvbWlzZS5yZXNvbHZlKG8pLnRoZW4oaSxmdW5jdGlvbihuKXtyZXR1cm4gZShuKSxpKCl9KX1lbHNlIHJ8PTF9Y2F0Y2gobil7ZShuKX1pZihyPT09MSlyZXR1cm4gYS5oYXNFcnJvcj9Qcm9taXNlLnJlamVjdChhLmVycm9yKTpQcm9taXNlLnJlc29sdmUoKTtpZihhLmhhc0Vycm9yKXRocm93IGEuZXJyb3J9cmV0dXJuIHMoaSwibmV4dCIpLGkoKX1mdW5jdGlvbiBLOGEoYSxlKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmciJiYvXlwuXC4/XC8vLnRlc3QoYSk/YS5yZXBsYWNlKC9cLih0c3gpJHwoKD86XC5kKT8pKCg/OlwuW14uL10rPyk/KVwuKFtjbV0/KXRzJC9pLGZ1bmN0aW9uKHQscixpLG8sbil7cmV0dXJuIHI/ZT8iLmpzeCI6Ii5qcyI6aSYmKCFvfHwhbik/dDppK28rIi4iK24udG9Mb3dlckNhc2UoKSsianMifSk6YX12YXIgYW9lLHJvZSxzb2UsQjhhLGlvZSxHOGEsa0JhLEhhPWYoKCk9Pnthb2U9cyhmdW5jdGlvbihhLGUpe3JldHVybiBhb2U9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQscil7dC5fX3Byb3RvX189cn18fGZ1bmN0aW9uKHQscil7Zm9yKHZhciBpIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsaSkmJih0W2ldPXJbaV0pfSxhb2UoYSxlKX0sImV4dGVuZFN0YXRpY3MiKTtzKG5hLCJfX2V4dGVuZHMiKTtyb2U9cyhmdW5jdGlvbigpe3JldHVybiByb2U9T2JqZWN0LmFzc2lnbnx8cyhmdW5jdGlvbihlKXtmb3IodmFyIHQscj0xLGk9YXJndW1lbnRzLmxlbmd0aDtyPGk7cisrKXt0PWFyZ3VtZW50c1tyXTtmb3IodmFyIG8gaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxvKSYmKGVbb109dFtvXSl9cmV0dXJuIGV9LCJfX2Fzc2lnbiIpLHJvZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LCJfX2Fzc2lnbiIpO3MoXzhhLCJfX3Jlc3QiKTtzKFQ4YSwiX19kZWNvcmF0ZSIpO3MoTDhhLCJfX3BhcmFtIik7cygkOGEsIl9fZXNEZWNvcmF0ZSIpO3MoRDhhLCJfX3J1bkluaXRpYWxpemVycyIpO3MoQThhLCJfX3Byb3BLZXkiKTtzKFA4YSwiX19zZXRGdW5jdGlvbk5hbWUiKTtzKEU4YSwiX19tZXRhZGF0YSIpO3Mob29lLCJfX2F3YWl0ZXIiKTtzKFI3LCJfX2dlbmVyYXRvciIpO3NvZT1PYmplY3QuY3JlYXRlPyhmdW5jdGlvbihhLGUsdCxyKXtyPT09dm9pZCAwJiYocj10KTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCk7KCFpfHwoImdldCJpbiBpPyFlLl9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OnMoZnVuY3Rpb24oKXtyZXR1cm4gZVt0XX0sImdldCIpfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEscixpKX0pOihmdW5jdGlvbihhLGUsdCxyKXtyPT09dm9pZCAwJiYocj10KSxhW3JdPWVbdF19KTtzKEk4YSwiX19leHBvcnRTdGFyIik7cyh2aSwiX192YWx1ZXMiKTtzKFByLCJfX3JlYWQiKTtzKE44YSwiX19zcHJlYWQiKTtzKFI4YSwiX19zcHJlYWRBcnJheXMiKTtzKFNzLCJfX3NwcmVhZEFycmF5Iik7cyh2bCwiX19hd2FpdCIpO3Mobm9lLCJfX2FzeW5jR2VuZXJhdG9yIik7cyhPOGEsIl9fYXN5bmNEZWxlZ2F0b3IiKTtzKGxvZSwiX19hc3luY1ZhbHVlcyIpO3MoRjhhLCJfX21ha2VUZW1wbGF0ZU9iamVjdCIpO0I4YT1PYmplY3QuY3JlYXRlPyhmdW5jdGlvbihhLGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTplfSl9KTpmdW5jdGlvbihhLGUpe2EuZGVmYXVsdD1lfSxpb2U9cyhmdW5jdGlvbihhKXtyZXR1cm4gaW9lPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzfHxmdW5jdGlvbihlKXt2YXIgdD1bXTtmb3IodmFyIHIgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmKHRbdC5sZW5ndGhdPXIpO3JldHVybiB0fSxpb2UoYSl9LCJvd25LZXlzIik7cyhIOGEsIl9faW1wb3J0U3RhciIpO3MocThhLCJfX2ltcG9ydERlZmF1bHQiKTtzKFY4YSwiX19jbGFzc1ByaXZhdGVGaWVsZEdldCIpO3MoajhhLCJfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0Iik7cyhVOGEsIl9fY2xhc3NQcml2YXRlRmllbGRJbiIpO3MoVzhhLCJfX2FkZERpc3Bvc2FibGVSZXNvdXJjZSIpO0c4YT10eXBlb2YgU3VwcHJlc3NlZEVycm9yPT0iZnVuY3Rpb24iP1N1cHByZXNzZWRFcnJvcjpmdW5jdGlvbihhLGUsdCl7dmFyIHI9bmV3IEVycm9yKHQpO3JldHVybiByLm5hbWU9IlN1cHByZXNzZWRFcnJvciIsci5lcnJvcj1hLHIuc3VwcHJlc3NlZD1lLHJ9O3MoWThhLCJfX2Rpc3Bvc2VSZXNvdXJjZXMiKTtzKEs4YSwiX19yZXdyaXRlUmVsYXRpdmVJbXBvcnRFeHRlbnNpb24iKTtrQmE9e19fZXh0ZW5kczpuYSxfX2Fzc2lnbjpyb2UsX19yZXN0Ol84YSxfX2RlY29yYXRlOlQ4YSxfX3BhcmFtOkw4YSxfX2VzRGVjb3JhdGU6JDhhLF9fcnVuSW5pdGlhbGl6ZXJzOkQ4YSxfX3Byb3BLZXk6QThhLF9fc2V0RnVuY3Rpb25OYW1lOlA4YSxfX21ldGFkYXRhOkU4YSxfX2F3YWl0ZXI6b29lLF9fZ2VuZXJhdG9yOlI3LF9fY3JlYXRlQmluZGluZzpzb2UsX19leHBvcnRTdGFyOkk4YSxfX3ZhbHVlczp2aSxfX3JlYWQ6UHIsX19zcHJlYWQ6TjhhLF9fc3ByZWFkQXJyYXlzOlI4YSxfX3NwcmVhZEFycmF5OlNzLF9fYXdhaXQ6dmwsX19hc3luY0dlbmVyYXRvcjpub2UsX19hc3luY0RlbGVnYXRvcjpPOGEsX19hc3luY1ZhbHVlczpsb2UsX19tYWtlVGVtcGxhdGVPYmplY3Q6RjhhLF9faW1wb3J0U3RhcjpIOGEsX19pbXBvcnREZWZhdWx0OnE4YSxfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0OlY4YSxfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0Omo4YSxfX2NsYXNzUHJpdmF0ZUZpZWxkSW46VThhLF9fYWRkRGlzcG9zYWJsZVJlc291cmNlOlc4YSxfX2Rpc3Bvc2VSZXNvdXJjZXM6WThhLF9fcmV3cml0ZVJlbGF0aXZlSW1wb3J0RXh0ZW5zaW9uOks4YX19KTtmdW5jdGlvbiBPdChhKXtyZXR1cm4gdHlwZW9mIGE9PSJmdW5jdGlvbiJ9dmFyIEJzPWYoKCk9PntzKE90LCJpc0Z1bmN0aW9uIil9KTtmdW5jdGlvbiBTbyhhKXt2YXIgZT1zKGZ1bmN0aW9uKHIpe0Vycm9yLmNhbGwociksci5zdGFjaz1uZXcgRXJyb3IoKS5zdGFja30sIl9zdXBlciIpLHQ9YShlKTtyZXR1cm4gdC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXQsdH12YXIgUWM9ZigoKT0+e3MoU28sImNyZWF0ZUVycm9yQ2xhc3MiKX0pO3ZhciBPNyxjb2U9ZigoKT0+e1FjKCk7Tzc9U28oZnVuY3Rpb24oYSl7cmV0dXJuIHMoZnVuY3Rpb24odCl7YSh0aGlzKSx0aGlzLm1lc3NhZ2U9dD90Lmxlbmd0aCtgIGVycm9ycyBvY2N1cnJlZCBkdXJpbmcgdW5zdWJzY3JpcHRpb246CmArdC5tYXAoZnVuY3Rpb24ocixpKXtyZXR1cm4gaSsxKyIpICIrci50b1N0cmluZygpfSkuam9pbihgCiAgYCk6IiIsdGhpcy5uYW1lPSJVbnN1YnNjcmlwdGlvbkVycm9yIix0aGlzLmVycm9ycz10fSwiVW5zdWJzY3JpcHRpb25FcnJvckltcGwiKX0pfSk7ZnVuY3Rpb24gYTEoYSxlKXtpZihhKXt2YXIgdD1hLmluZGV4T2YoZSk7MDw9dCYmYS5zcGxpY2UodCwxKX19dmFyIEg1PWYoKCk9PntzKGExLCJhcnJSZW1vdmUiKX0pO2Z1bmN0aW9uIEpHKGEpe3JldHVybiBhIGluc3RhbmNlb2YgV3J8fGEmJiJjbG9zZWQiaW4gYSYmT3QoYS5yZW1vdmUpJiZPdChhLmFkZCkmJk90KGEudW5zdWJzY3JpYmUpfWZ1bmN0aW9uIHlhdChhKXtPdChhKT9hKCk6YS51bnN1YnNjcmliZSgpfXZhciBXcixkb2UsbjI9ZigoKT0+e0hhKCk7QnMoKTtjb2UoKTtINSgpO1dyPShmdW5jdGlvbigpe2Z1bmN0aW9uIGEoZSl7dGhpcy5pbml0aWFsVGVhcmRvd249ZSx0aGlzLmNsb3NlZD0hMSx0aGlzLl9wYXJlbnRhZ2U9bnVsbCx0aGlzLl9maW5hbGl6ZXJzPW51bGx9cmV0dXJuIHMoYSwiU3Vic2NyaXB0aW9uIiksYS5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXt2YXIgZSx0LHIsaSxvO2lmKCF0aGlzLmNsb3NlZCl7dGhpcy5jbG9zZWQ9ITA7dmFyIG49dGhpcy5fcGFyZW50YWdlO2lmKG4paWYodGhpcy5fcGFyZW50YWdlPW51bGwsQXJyYXkuaXNBcnJheShuKSl0cnl7Zm9yKHZhciBsPXZpKG4pLGQ9bC5uZXh0KCk7IWQuZG9uZTtkPWwubmV4dCgpKXt2YXIgYz1kLnZhbHVlO2MucmVtb3ZlKHRoaXMpfX1jYXRjaChiKXtlPXtlcnJvcjpifX1maW5hbGx5e3RyeXtkJiYhZC5kb25lJiYodD1sLnJldHVybikmJnQuY2FsbChsKX1maW5hbGx5e2lmKGUpdGhyb3cgZS5lcnJvcn19ZWxzZSBuLnJlbW92ZSh0aGlzKTt2YXIgcD10aGlzLmluaXRpYWxUZWFyZG93bjtpZihPdChwKSl0cnl7cCgpfWNhdGNoKGIpe289YiBpbnN0YW5jZW9mIE83P2IuZXJyb3JzOltiXX12YXIgdT10aGlzLl9maW5hbGl6ZXJzO2lmKHUpe3RoaXMuX2ZpbmFsaXplcnM9bnVsbDt0cnl7Zm9yKHZhciBtPXZpKHUpLHY9bS5uZXh0KCk7IXYuZG9uZTt2PW0ubmV4dCgpKXt2YXIgeD12LnZhbHVlO3RyeXt5YXQoeCl9Y2F0Y2goYil7bz1vPz9bXSxiIGluc3RhbmNlb2YgTzc/bz1TcyhTcyhbXSxQcihvKSksUHIoYi5lcnJvcnMpKTpvLnB1c2goYil9fX1jYXRjaChiKXtyPXtlcnJvcjpifX1maW5hbGx5e3RyeXt2JiYhdi5kb25lJiYoaT1tLnJldHVybikmJmkuY2FsbChtKX1maW5hbGx5e2lmKHIpdGhyb3cgci5lcnJvcn19fWlmKG8pdGhyb3cgbmV3IE83KG8pfX0sYS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUmJmUhPT10aGlzKWlmKHRoaXMuY2xvc2VkKXlhdChlKTtlbHNle2lmKGUgaW5zdGFuY2VvZiBhKXtpZihlLmNsb3NlZHx8ZS5faGFzUGFyZW50KHRoaXMpKXJldHVybjtlLl9hZGRQYXJlbnQodGhpcyl9KHRoaXMuX2ZpbmFsaXplcnM9KHQ9dGhpcy5fZmluYWxpemVycykhPT1udWxsJiZ0IT09dm9pZCAwP3Q6W10pLnB1c2goZSl9fSxhLnByb3RvdHlwZS5faGFzUGFyZW50PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3BhcmVudGFnZTtyZXR1cm4gdD09PWV8fEFycmF5LmlzQXJyYXkodCkmJnQuaW5jbHVkZXMoZSl9LGEucHJvdG90eXBlLl9hZGRQYXJlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fcGFyZW50YWdlO3RoaXMuX3BhcmVudGFnZT1BcnJheS5pc0FycmF5KHQpPyh0LnB1c2goZSksdCk6dD9bdCxlXTplfSxhLnByb3RvdHlwZS5fcmVtb3ZlUGFyZW50PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3BhcmVudGFnZTt0PT09ZT90aGlzLl9wYXJlbnRhZ2U9bnVsbDpBcnJheS5pc0FycmF5KHQpJiZhMSh0LGUpfSxhLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fZmluYWxpemVyczt0JiZhMSh0LGUpLGUgaW5zdGFuY2VvZiBhJiZlLl9yZW1vdmVQYXJlbnQodGhpcyl9LGEuRU1QVFk9KGZ1bmN0aW9uKCl7dmFyIGU9bmV3IGE7cmV0dXJuIGUuY2xvc2VkPSEwLGV9KSgpLGF9KSgpLGRvZT1Xci5FTVBUWTtzKEpHLCJpc1N1YnNjcmlwdGlvbiIpO3MoeWF0LCJleGVjRmluYWxpemVyIil9KTt2YXIgYm4scTU9ZigoKT0+e2JuPXtvblVuaGFuZGxlZEVycm9yOm51bGwsb25TdG9wcGVkTm90aWZpY2F0aW9uOm51bGwsUHJvbWlzZTp2b2lkIDAsdXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZzohMSx1c2VEZXByZWNhdGVkTmV4dENvbnRleHQ6ITF9fSk7dmFyIFY1LHVvZT1mKCgpPT57SGEoKTtWNT17c2V0VGltZW91dDpzKGZ1bmN0aW9uKGEsZSl7Zm9yKHZhciB0PVtdLHI9MjtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXRbci0yXT1hcmd1bWVudHNbcl07dmFyIGk9VjUuZGVsZWdhdGU7cmV0dXJuIGk/LnNldFRpbWVvdXQ/aS5zZXRUaW1lb3V0LmFwcGx5KGksU3MoW2EsZV0sUHIodCkpKTpzZXRUaW1lb3V0LmFwcGx5KHZvaWQgMCxTcyhbYSxlXSxQcih0KSkpfSwic2V0VGltZW91dCIpLGNsZWFyVGltZW91dDpzKGZ1bmN0aW9uKGEpe3ZhciBlPVY1LmRlbGVnYXRlO3JldHVybihlPy5jbGVhclRpbWVvdXR8fGNsZWFyVGltZW91dCkoYSl9LCJjbGVhclRpbWVvdXQiKSxkZWxlZ2F0ZTp2b2lkIDB9fSk7ZnVuY3Rpb24gZVkoYSl7VjUuc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBlPWJuLm9uVW5oYW5kbGVkRXJyb3I7aWYoZSllKGEpO2Vsc2UgdGhyb3cgYX0pfXZhciBwb2U9ZigoKT0+e3E1KCk7dW9lKCk7cyhlWSwicmVwb3J0VW5oYW5kbGVkRXJyb3IiKX0pO2Z1bmN0aW9uIHZuKCl7fXZhciB0Mz1mKCgpPT57cyh2biwibm9vcCIpfSk7ZnVuY3Rpb24gTWF0KGEpe3JldHVybiBmb2UoIkUiLHZvaWQgMCxhKX1mdW5jdGlvbiBrYXQoYSl7cmV0dXJuIGZvZSgiTiIsYSx2b2lkIDApfWZ1bmN0aW9uIGZvZShhLGUsdCl7cmV0dXJue2tpbmQ6YSx2YWx1ZTplLGVycm9yOnR9fXZhciB3YXQsU2F0PWYoKCk9Pnt3YXQ9KGZ1bmN0aW9uKCl7cmV0dXJuIGZvZSgiQyIsdm9pZCAwLHZvaWQgMCl9KSgpO3MoTWF0LCJlcnJvck5vdGlmaWNhdGlvbiIpO3Moa2F0LCJuZXh0Tm90aWZpY2F0aW9uIik7cyhmb2UsImNyZWF0ZU5vdGlmaWNhdGlvbiIpfSk7ZnVuY3Rpb24gajUoYSl7aWYoYm4udXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyl7dmFyIGU9IWEzO2lmKGUmJihhMz17ZXJyb3JUaHJvd246ITEsZXJyb3I6bnVsbH0pLGEoKSxlKXt2YXIgdD1hMyxyPXQuZXJyb3JUaHJvd24saT10LmVycm9yO2lmKGEzPW51bGwscil0aHJvdyBpfX1lbHNlIGEoKX1mdW5jdGlvbiB6YXQoYSl7Ym4udXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyYmYTMmJihhMy5lcnJvclRocm93bj0hMCxhMy5lcnJvcj1hKX12YXIgYTMsdFk9ZigoKT0+e3E1KCk7YTM9bnVsbDtzKGo1LCJlcnJvckNvbnRleHQiKTtzKHphdCwiY2FwdHVyZUVycm9yIil9KTtmdW5jdGlvbiBob2UoYSxlKXtyZXR1cm4gWjhhLmNhbGwoYSxlKX1mdW5jdGlvbiBhWShhKXtibi51c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nP3phdChhKTplWShhKX1mdW5jdGlvbiBROGEoYSl7dGhyb3cgYX1mdW5jdGlvbiBtb2UoYSxlKXt2YXIgdD1ibi5vblN0b3BwZWROb3RpZmljYXRpb247dCYmVjUuc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiB0KGEsZSl9KX12YXIgcjMsWjhhLFg4YSxKYyxKOGEsRjc9ZigoKT0+e0hhKCk7QnMoKTtuMigpO3E1KCk7cG9lKCk7dDMoKTtTYXQoKTt1b2UoKTt0WSgpO3IzPShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCl7dmFyIHI9YS5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiByLmlzU3RvcHBlZD0hMSx0PyhyLmRlc3RpbmF0aW9uPXQsSkcodCkmJnQuYWRkKHIpKTpyLmRlc3RpbmF0aW9uPUo4YSxyfXJldHVybiBzKGUsIlN1YnNjcmliZXIiKSxlLmNyZWF0ZT1mdW5jdGlvbih0LHIsaSl7cmV0dXJuIG5ldyBKYyh0LHIsaSl9LGUucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24odCl7dGhpcy5pc1N0b3BwZWQ/bW9lKGthdCh0KSx0aGlzKTp0aGlzLl9uZXh0KHQpfSxlLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbih0KXt0aGlzLmlzU3RvcHBlZD9tb2UoTWF0KHQpLHRoaXMpOih0aGlzLmlzU3RvcHBlZD0hMCx0aGlzLl9lcnJvcih0KSl9LGUucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dGhpcy5pc1N0b3BwZWQ/bW9lKHdhdCx0aGlzKToodGhpcy5pc1N0b3BwZWQ9ITAsdGhpcy5fY29tcGxldGUoKSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7dGhpcy5jbG9zZWR8fCh0aGlzLmlzU3RvcHBlZD0hMCxhLnByb3RvdHlwZS51bnN1YnNjcmliZS5jYWxsKHRoaXMpLHRoaXMuZGVzdGluYXRpb249bnVsbCl9LGUucHJvdG90eXBlLl9uZXh0PWZ1bmN0aW9uKHQpe3RoaXMuZGVzdGluYXRpb24ubmV4dCh0KX0sZS5wcm90b3R5cGUuX2Vycm9yPWZ1bmN0aW9uKHQpe3RyeXt0aGlzLmRlc3RpbmF0aW9uLmVycm9yKHQpfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX0sZS5wcm90b3R5cGUuX2NvbXBsZXRlPWZ1bmN0aW9uKCl7dHJ5e3RoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKX1maW5hbGx5e3RoaXMudW5zdWJzY3JpYmUoKX19LGV9KShXciksWjhhPUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kO3MoaG9lLCJiaW5kIik7WDhhPShmdW5jdGlvbigpe2Z1bmN0aW9uIGEoZSl7dGhpcy5wYXJ0aWFsT2JzZXJ2ZXI9ZX1yZXR1cm4gcyhhLCJDb25zdW1lck9ic2VydmVyIiksYS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnBhcnRpYWxPYnNlcnZlcjtpZih0Lm5leHQpdHJ5e3QubmV4dChlKX1jYXRjaChyKXthWShyKX19LGEucHJvdG90eXBlLmVycm9yPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucGFydGlhbE9ic2VydmVyO2lmKHQuZXJyb3IpdHJ5e3QuZXJyb3IoZSl9Y2F0Y2gocil7YVkocil9ZWxzZSBhWShlKX0sYS5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnBhcnRpYWxPYnNlcnZlcjtpZihlLmNvbXBsZXRlKXRyeXtlLmNvbXBsZXRlKCl9Y2F0Y2godCl7YVkodCl9fSxhfSkoKSxKYz0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscixpKXt2YXIgbz1hLmNhbGwodGhpcyl8fHRoaXMsbjtpZihPdCh0KXx8IXQpbj17bmV4dDp0Pz92b2lkIDAsZXJyb3I6cj8/dm9pZCAwLGNvbXBsZXRlOmk/P3ZvaWQgMH07ZWxzZXt2YXIgbDtvJiZibi51c2VEZXByZWNhdGVkTmV4dENvbnRleHQ/KGw9T2JqZWN0LmNyZWF0ZSh0KSxsLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7cmV0dXJuIG8udW5zdWJzY3JpYmUoKX0sbj17bmV4dDp0Lm5leHQmJmhvZSh0Lm5leHQsbCksZXJyb3I6dC5lcnJvciYmaG9lKHQuZXJyb3IsbCksY29tcGxldGU6dC5jb21wbGV0ZSYmaG9lKHQuY29tcGxldGUsbCl9KTpuPXR9cmV0dXJuIG8uZGVzdGluYXRpb249bmV3IFg4YShuKSxvfXJldHVybiBzKGUsIlNhZmVTdWJzY3JpYmVyIiksZX0pKHIzKTtzKGFZLCJoYW5kbGVVbmhhbmRsZWRFcnJvciIpO3MoUThhLCJkZWZhdWx0RXJyb3JIYW5kbGVyIik7cyhtb2UsImhhbmRsZVN0b3BwZWROb3RpZmljYXRpb24iKTtKOGE9e2Nsb3NlZDohMCxuZXh0OnZuLGVycm9yOlE4YSxjb21wbGV0ZTp2bn19KTt2YXIgczMsQjc9ZigoKT0+e3MzPShmdW5jdGlvbigpe3JldHVybiB0eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSJ9KSgpfSk7ZnVuY3Rpb24gbDIoYSl7cmV0dXJuIGF9dmFyIFU1PWYoKCk9PntzKGwyLCJpZGVudGl0eSIpfSk7ZnVuY3Rpb24gZW1hKCl7Zm9yKHZhciBhPVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKWFbZV09YXJndW1lbnRzW2VdO3JldHVybiBnb2UoYSl9ZnVuY3Rpb24gZ29lKGEpe3JldHVybiBhLmxlbmd0aD09PTA/bDI6YS5sZW5ndGg9PT0xP2FbMF06cyhmdW5jdGlvbih0KXtyZXR1cm4gYS5yZWR1Y2UoZnVuY3Rpb24ocixpKXtyZXR1cm4gaShyKX0sdCl9LCJwaXBlZCIpfXZhciBib2U9ZigoKT0+e1U1KCk7cyhlbWEsInBpcGUiKTtzKGdvZSwicGlwZUZyb21BcnJheSIpfSk7ZnVuY3Rpb24gQ2F0KGEpe3ZhciBlO3JldHVybihlPWE/P2JuLlByb21pc2UpIT09bnVsbCYmZSE9PXZvaWQgMD9lOlByb21pc2V9ZnVuY3Rpb24gdG1hKGEpe3JldHVybiBhJiZPdChhLm5leHQpJiZPdChhLmVycm9yKSYmT3QoYS5jb21wbGV0ZSl9ZnVuY3Rpb24gYW1hKGEpe3JldHVybiBhJiZhIGluc3RhbmNlb2YgcjN8fHRtYShhKSYmSkcoYSl9dmFyIEJ0LFZpPWYoKCk9PntGNygpO24yKCk7QjcoKTtib2UoKTtxNSgpO0JzKCk7dFkoKTtCdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGUpe2UmJih0aGlzLl9zdWJzY3JpYmU9ZSl9cmV0dXJuIHMoYSwiT2JzZXJ2YWJsZSIpLGEucHJvdG90eXBlLmxpZnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IGE7cmV0dXJuIHQuc291cmNlPXRoaXMsdC5vcGVyYXRvcj1lLHR9LGEucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbihlLHQscil7dmFyIGk9dGhpcyxvPWFtYShlKT9lOm5ldyBKYyhlLHQscik7cmV0dXJuIGo1KGZ1bmN0aW9uKCl7dmFyIG49aSxsPW4ub3BlcmF0b3IsZD1uLnNvdXJjZTtvLmFkZChsP2wuY2FsbChvLGQpOmQ/aS5fc3Vic2NyaWJlKG8pOmkuX3RyeVN1YnNjcmliZShvKSl9KSxvfSxhLnByb3RvdHlwZS5fdHJ5U3Vic2NyaWJlPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gdGhpcy5fc3Vic2NyaWJlKGUpfWNhdGNoKHQpe2UuZXJyb3IodCl9fSxhLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcztyZXR1cm4gdD1DYXQodCksbmV3IHQoZnVuY3Rpb24oaSxvKXt2YXIgbj1uZXcgSmMoe25leHQ6cyhmdW5jdGlvbihsKXt0cnl7ZShsKX1jYXRjaChkKXtvKGQpLG4udW5zdWJzY3JpYmUoKX19LCJuZXh0IiksZXJyb3I6byxjb21wbGV0ZTppfSk7ci5zdWJzY3JpYmUobil9KX0sYS5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4odD10aGlzLnNvdXJjZSk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0LnN1YnNjcmliZShlKX0sYS5wcm90b3R5cGVbczNdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07cmV0dXJuIGdvZShlKSh0aGlzKX0sYS5wcm90b3R5cGUudG9Qcm9taXNlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIGU9Q2F0KGUpLG5ldyBlKGZ1bmN0aW9uKHIsaSl7dmFyIG87dC5zdWJzY3JpYmUoZnVuY3Rpb24obil7cmV0dXJuIG89bn0sZnVuY3Rpb24obil7cmV0dXJuIGkobil9LGZ1bmN0aW9uKCl7cmV0dXJuIHIobyl9KX0pfSxhLmNyZWF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGEoZSl9LGF9KSgpO3MoQ2F0LCJnZXRQcm9taXNlQ3RvciIpO3ModG1hLCJpc09ic2VydmVyIik7cyhhbWEsImlzU3Vic2NyaWJlciIpfSk7ZnVuY3Rpb24gdm9lKGEpe3JldHVybiBPdChhPy5saWZ0KX1mdW5jdGlvbiB3YShhKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYodm9lKGUpKXJldHVybiBlLmxpZnQoZnVuY3Rpb24odCl7dHJ5e3JldHVybiBhKHQsdGhpcyl9Y2F0Y2gocil7dGhpcy5lcnJvcihyKX19KTt0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmFibGUgdG8gbGlmdCB1bmtub3duIE9ic2VydmFibGUgdHlwZSIpfX12YXIgbHM9ZigoKT0+e0JzKCk7cyh2b2UsImhhc0xpZnQiKTtzKHdhLCJvcGVyYXRlIil9KTtmdW5jdGlvbiBsYShhLGUsdCxyLGkpe3JldHVybiBuZXcgX2F0KGEsZSx0LHIsaSl9dmFyIF9hdCxIcz1mKCgpPT57SGEoKTtGNygpO3MobGEsImNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciIpO19hdD0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscixpLG8sbixsKXt2YXIgZD1hLmNhbGwodGhpcyx0KXx8dGhpcztyZXR1cm4gZC5vbkZpbmFsaXplPW4sZC5zaG91bGRVbnN1YnNjcmliZT1sLGQuX25leHQ9cj9mdW5jdGlvbihjKXt0cnl7cihjKX1jYXRjaChwKXt0LmVycm9yKHApfX06YS5wcm90b3R5cGUuX25leHQsZC5fZXJyb3I9bz9mdW5jdGlvbihjKXt0cnl7byhjKX1jYXRjaChwKXt0LmVycm9yKHApfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX06YS5wcm90b3R5cGUuX2Vycm9yLGQuX2NvbXBsZXRlPWk/ZnVuY3Rpb24oKXt0cnl7aSgpfWNhdGNoKGMpe3QuZXJyb3IoYyl9ZmluYWxseXt0aGlzLnVuc3Vic2NyaWJlKCl9fTphLnByb3RvdHlwZS5fY29tcGxldGUsZH1yZXR1cm4gcyhlLCJPcGVyYXRvclN1YnNjcmliZXIiKSxlLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbigpe3ZhciB0O2lmKCF0aGlzLnNob3VsZFVuc3Vic2NyaWJlfHx0aGlzLnNob3VsZFVuc3Vic2NyaWJlKCkpe3ZhciByPXRoaXMuY2xvc2VkO2EucHJvdG90eXBlLnVuc3Vic2NyaWJlLmNhbGwodGhpcyksIXImJigodD10aGlzLm9uRmluYWxpemUpPT09bnVsbHx8dD09PXZvaWQgMHx8dC5jYWxsKHRoaXMpKX19LGV9KShyMyl9KTtmdW5jdGlvbiByWSgpe3JldHVybiB3YShmdW5jdGlvbihhLGUpe3ZhciB0PW51bGw7YS5fcmVmQ291bnQrKzt2YXIgcj1sYShlLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7aWYoIWF8fGEuX3JlZkNvdW50PD0wfHwwPC0tYS5fcmVmQ291bnQpe3Q9bnVsbDtyZXR1cm59dmFyIGk9YS5fY29ubmVjdGlvbixvPXQ7dD1udWxsLGkmJighb3x8aT09PW8pJiZpLnVuc3Vic2NyaWJlKCksZS51bnN1YnNjcmliZSgpfSk7YS5zdWJzY3JpYmUociksci5jbG9zZWR8fCh0PWEuY29ubmVjdCgpKX0pfXZhciBzWT1mKCgpPT57bHMoKTtIcygpO3MoclksInJlZkNvdW50Iil9KTt2YXIgVGF0LExhdD1mKCgpPT57SGEoKTtWaSgpO24yKCk7c1koKTtIcygpO2xzKCk7VGF0PShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCxyKXt2YXIgaT1hLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGkuc291cmNlPXQsaS5zdWJqZWN0RmFjdG9yeT1yLGkuX3N1YmplY3Q9bnVsbCxpLl9yZWZDb3VudD0wLGkuX2Nvbm5lY3Rpb249bnVsbCx2b2UodCkmJihpLmxpZnQ9dC5saWZ0KSxpfXJldHVybiBzKGUsIkNvbm5lY3RhYmxlT2JzZXJ2YWJsZSIpLGUucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZ2V0U3ViamVjdCgpLnN1YnNjcmliZSh0KX0sZS5wcm90b3R5cGUuZ2V0U3ViamVjdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3N1YmplY3Q7cmV0dXJuKCF0fHx0LmlzU3RvcHBlZCkmJih0aGlzLl9zdWJqZWN0PXRoaXMuc3ViamVjdEZhY3RvcnkoKSksdGhpcy5fc3ViamVjdH0sZS5wcm90b3R5cGUuX3RlYXJkb3duPWZ1bmN0aW9uKCl7dGhpcy5fcmVmQ291bnQ9MDt2YXIgdD10aGlzLl9jb25uZWN0aW9uO3RoaXMuX3N1YmplY3Q9dGhpcy5fY29ubmVjdGlvbj1udWxsLHQ/LnVuc3Vic2NyaWJlKCl9LGUucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dGhpcy5fY29ubmVjdGlvbjtpZighcil7cj10aGlzLl9jb25uZWN0aW9uPW5ldyBXcjt2YXIgaT10aGlzLmdldFN1YmplY3QoKTtyLmFkZCh0aGlzLnNvdXJjZS5zdWJzY3JpYmUobGEoaSx2b2lkIDAsZnVuY3Rpb24oKXt0Ll90ZWFyZG93bigpLGkuY29tcGxldGUoKX0sZnVuY3Rpb24obyl7dC5fdGVhcmRvd24oKSxpLmVycm9yKG8pfSxmdW5jdGlvbigpe3JldHVybiB0Ll90ZWFyZG93bigpfSkpKSxyLmNsb3NlZCYmKHRoaXMuX2Nvbm5lY3Rpb249bnVsbCxyPVdyLkVNUFRZKX1yZXR1cm4gcn0sZS5wcm90b3R5cGUucmVmQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gclkoKSh0aGlzKX0sZX0pKEJ0KX0pO3ZhciB4b2UsJGF0PWYoKCk9Pnt4b2U9e25vdzpzKGZ1bmN0aW9uKCl7cmV0dXJuKHhvZS5kZWxlZ2F0ZXx8cGVyZm9ybWFuY2UpLm5vdygpfSwibm93IiksZGVsZWdhdGU6dm9pZCAwfX0pO3ZhciB4bCx5b2U9ZigoKT0+e0hhKCk7bjIoKTt4bD17c2NoZWR1bGU6cyhmdW5jdGlvbihhKXt2YXIgZT1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUsdD1jYW5jZWxBbmltYXRpb25GcmFtZSxyPXhsLmRlbGVnYXRlO3ImJihlPXIucmVxdWVzdEFuaW1hdGlvbkZyYW1lLHQ9ci5jYW5jZWxBbmltYXRpb25GcmFtZSk7dmFyIGk9ZShmdW5jdGlvbihvKXt0PXZvaWQgMCxhKG8pfSk7cmV0dXJuIG5ldyBXcihmdW5jdGlvbigpe3JldHVybiB0Py4oaSl9KX0sInNjaGVkdWxlIikscmVxdWVzdEFuaW1hdGlvbkZyYW1lOnMoZnVuY3Rpb24oKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9eGwuZGVsZWdhdGU7cmV0dXJuKHQ/LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8cmVxdWVzdEFuaW1hdGlvbkZyYW1lKS5hcHBseSh2b2lkIDAsU3MoW10sUHIoYSkpKX0sInJlcXVlc3RBbmltYXRpb25GcmFtZSIpLGNhbmNlbEFuaW1hdGlvbkZyYW1lOnMoZnVuY3Rpb24oKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9eGwuZGVsZWdhdGU7cmV0dXJuKHQ/LmNhbmNlbEFuaW1hdGlvbkZyYW1lfHxjYW5jZWxBbmltYXRpb25GcmFtZSkuYXBwbHkodm9pZCAwLFNzKFtdLFByKGEpKSl9LCJjYW5jZWxBbmltYXRpb25GcmFtZSIpLGRlbGVnYXRlOnZvaWQgMH19KTtmdW5jdGlvbiBybWEoYSl7cmV0dXJuIGE/RGF0KGEpOnNtYX1mdW5jdGlvbiBEYXQoYSl7cmV0dXJuIG5ldyBCdChmdW5jdGlvbihlKXt2YXIgdD1hfHx4b2Uscj10Lm5vdygpLGk9MCxvPXMoZnVuY3Rpb24oKXtlLmNsb3NlZHx8KGk9eGwucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKG4pe2k9MDt2YXIgbD10Lm5vdygpO2UubmV4dCh7dGltZXN0YW1wOmE/bDpuLGVsYXBzZWQ6bC1yfSksbygpfSkpfSwicnVuIik7cmV0dXJuIG8oKSxmdW5jdGlvbigpe2kmJnhsLmNhbmNlbEFuaW1hdGlvbkZyYW1lKGkpfX0pfXZhciBzbWEsQWF0PWYoKCk9PntWaSgpOyRhdCgpO3lvZSgpO3Mocm1hLCJhbmltYXRpb25GcmFtZXMiKTtzKERhdCwiYW5pbWF0aW9uRnJhbWVzRmFjdG9yeSIpO3NtYT1EYXQoKX0pO3ZhciB3b2UsTW9lPWYoKCk9PntRYygpO3dvZT1TbyhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbigpe2EodGhpcyksdGhpcy5uYW1lPSJPYmplY3RVbnN1YnNjcmliZWRFcnJvciIsdGhpcy5tZXNzYWdlPSJvYmplY3QgdW5zdWJzY3JpYmVkIn0sIk9iamVjdFVuc3Vic2NyaWJlZEVycm9ySW1wbCIpfSl9KTt2YXIgeGksa29lLFc1PWYoKCk9PntIYSgpO1ZpKCk7bjIoKTtNb2UoKTtINSgpO3RZKCk7eGk9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSgpe3ZhciB0PWEuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gdC5jbG9zZWQ9ITEsdC5jdXJyZW50T2JzZXJ2ZXJzPW51bGwsdC5vYnNlcnZlcnM9W10sdC5pc1N0b3BwZWQ9ITEsdC5oYXNFcnJvcj0hMSx0LnRocm93bkVycm9yPW51bGwsdH1yZXR1cm4gcyhlLCJTdWJqZWN0IiksZS5wcm90b3R5cGUubGlmdD1mdW5jdGlvbih0KXt2YXIgcj1uZXcga29lKHRoaXMsdGhpcyk7cmV0dXJuIHIub3BlcmF0b3I9dCxyfSxlLnByb3RvdHlwZS5fdGhyb3dJZkNsb3NlZD1mdW5jdGlvbigpe2lmKHRoaXMuY2xvc2VkKXRocm93IG5ldyB3b2V9LGUucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcztqNShmdW5jdGlvbigpe3ZhciBpLG87aWYoci5fdGhyb3dJZkNsb3NlZCgpLCFyLmlzU3RvcHBlZCl7ci5jdXJyZW50T2JzZXJ2ZXJzfHwoci5jdXJyZW50T2JzZXJ2ZXJzPUFycmF5LmZyb20oci5vYnNlcnZlcnMpKTt0cnl7Zm9yKHZhciBuPXZpKHIuY3VycmVudE9ic2VydmVycyksbD1uLm5leHQoKTshbC5kb25lO2w9bi5uZXh0KCkpe3ZhciBkPWwudmFsdWU7ZC5uZXh0KHQpfX1jYXRjaChjKXtpPXtlcnJvcjpjfX1maW5hbGx5e3RyeXtsJiYhbC5kb25lJiYobz1uLnJldHVybikmJm8uY2FsbChuKX1maW5hbGx5e2lmKGkpdGhyb3cgaS5lcnJvcn19fX0pfSxlLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbih0KXt2YXIgcj10aGlzO2o1KGZ1bmN0aW9uKCl7aWYoci5fdGhyb3dJZkNsb3NlZCgpLCFyLmlzU3RvcHBlZCl7ci5oYXNFcnJvcj1yLmlzU3RvcHBlZD0hMCxyLnRocm93bkVycm9yPXQ7Zm9yKHZhciBpPXIub2JzZXJ2ZXJzO2kubGVuZ3RoOylpLnNoaWZ0KCkuZXJyb3IodCl9fSl9LGUucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztqNShmdW5jdGlvbigpe2lmKHQuX3Rocm93SWZDbG9zZWQoKSwhdC5pc1N0b3BwZWQpe3QuaXNTdG9wcGVkPSEwO2Zvcih2YXIgcj10Lm9ic2VydmVycztyLmxlbmd0aDspci5zaGlmdCgpLmNvbXBsZXRlKCl9fSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7dGhpcy5pc1N0b3BwZWQ9dGhpcy5jbG9zZWQ9ITAsdGhpcy5vYnNlcnZlcnM9dGhpcy5jdXJyZW50T2JzZXJ2ZXJzPW51bGx9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwib2JzZXJ2ZWQiLHtnZXQ6cyhmdW5jdGlvbigpe3ZhciB0O3JldHVybigodD10aGlzLm9ic2VydmVycyk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0Lmxlbmd0aCk+MH0sImdldCIpLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuX3RyeVN1YnNjcmliZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdGhyb3dJZkNsb3NlZCgpLGEucHJvdG90eXBlLl90cnlTdWJzY3JpYmUuY2FsbCh0aGlzLHQpfSxlLnByb3RvdHlwZS5fc3Vic2NyaWJlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl90aHJvd0lmQ2xvc2VkKCksdGhpcy5fY2hlY2tGaW5hbGl6ZWRTdGF0dXNlcyh0KSx0aGlzLl9pbm5lclN1YnNjcmliZSh0KX0sZS5wcm90b3R5cGUuX2lubmVyU3Vic2NyaWJlPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMsaT10aGlzLG89aS5oYXNFcnJvcixuPWkuaXNTdG9wcGVkLGw9aS5vYnNlcnZlcnM7cmV0dXJuIG98fG4/ZG9lOih0aGlzLmN1cnJlbnRPYnNlcnZlcnM9bnVsbCxsLnB1c2godCksbmV3IFdyKGZ1bmN0aW9uKCl7ci5jdXJyZW50T2JzZXJ2ZXJzPW51bGwsYTEobCx0KX0pKX0sZS5wcm90b3R5cGUuX2NoZWNrRmluYWxpemVkU3RhdHVzZXM9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcyxpPXIuaGFzRXJyb3Isbz1yLnRocm93bkVycm9yLG49ci5pc1N0b3BwZWQ7aT90LmVycm9yKG8pOm4mJnQuY29tcGxldGUoKX0sZS5wcm90b3R5cGUuYXNPYnNlcnZhYmxlPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IEJ0O3JldHVybiB0LnNvdXJjZT10aGlzLHR9LGUuY3JlYXRlPWZ1bmN0aW9uKHQscil7cmV0dXJuIG5ldyBrb2UodCxyKX0sZX0pKEJ0KSxrb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIpe3ZhciBpPWEuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gaS5kZXN0aW5hdGlvbj10LGkuc291cmNlPXIsaX1yZXR1cm4gcyhlLCJBbm9ueW1vdXNTdWJqZWN0IiksZS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbih0KXt2YXIgcixpOyhpPShyPXRoaXMuZGVzdGluYXRpb24pPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci5uZXh0KT09PW51bGx8fGk9PT12b2lkIDB8fGkuY2FsbChyLHQpfSxlLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbih0KXt2YXIgcixpOyhpPShyPXRoaXMuZGVzdGluYXRpb24pPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci5lcnJvcik9PT1udWxsfHxpPT09dm9pZCAwfHxpLmNhbGwocix0KX0sZS5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgdCxyOyhyPSh0PXRoaXMuZGVzdGluYXRpb24pPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5jb21wbGV0ZSk9PT1udWxsfHxyPT09dm9pZCAwfHxyLmNhbGwodCl9LGUucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24odCl7dmFyIHIsaTtyZXR1cm4oaT0ocj10aGlzLnNvdXJjZSk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLnN1YnNjcmliZSh0KSkhPT1udWxsJiZpIT09dm9pZCAwP2k6ZG9lfSxlfSkoeGkpfSk7dmFyIEc1LFBhdD1mKCgpPT57SGEoKTtXNSgpO0c1PShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCl7dmFyIHI9YS5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiByLl92YWx1ZT10LHJ9cmV0dXJuIHMoZSwiQmVoYXZpb3JTdWJqZWN0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJ2YWx1ZSIse2dldDpzKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VmFsdWUoKX0sImdldCIpLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgcj1hLnByb3RvdHlwZS5fc3Vic2NyaWJlLmNhbGwodGhpcyx0KTtyZXR1cm4hci5jbG9zZWQmJnQubmV4dCh0aGlzLl92YWx1ZSkscn0sZS5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dC5oYXNFcnJvcixpPXQudGhyb3duRXJyb3Isbz10Ll92YWx1ZTtpZihyKXRocm93IGk7cmV0dXJuIHRoaXMuX3Rocm93SWZDbG9zZWQoKSxvfSxlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHQpe2EucHJvdG90eXBlLm5leHQuY2FsbCh0aGlzLHRoaXMuX3ZhbHVlPXQpfSxlfSkoeGkpfSk7dmFyIEg3LFNvZT1mKCgpPT57SDc9e25vdzpzKGZ1bmN0aW9uKCl7cmV0dXJuKEg3LmRlbGVnYXRlfHxEYXRlKS5ub3coKX0sIm5vdyIpLGRlbGVnYXRlOnZvaWQgMH19KTt2YXIgWTUsem9lPWYoKCk9PntIYSgpO1c1KCk7U29lKCk7WTU9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIsaSl7dD09PXZvaWQgMCYmKHQ9MS8wKSxyPT09dm9pZCAwJiYocj0xLzApLGk9PT12b2lkIDAmJihpPUg3KTt2YXIgbz1hLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG8uX2J1ZmZlclNpemU9dCxvLl93aW5kb3dUaW1lPXIsby5fdGltZXN0YW1wUHJvdmlkZXI9aSxvLl9idWZmZXI9W10sby5faW5maW5pdGVUaW1lV2luZG93PSEwLG8uX2luZmluaXRlVGltZVdpbmRvdz1yPT09MS8wLG8uX2J1ZmZlclNpemU9TWF0aC5tYXgoMSx0KSxvLl93aW5kb3dUaW1lPU1hdGgubWF4KDEsciksb31yZXR1cm4gcyhlLCJSZXBsYXlTdWJqZWN0IiksZS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLGk9ci5pc1N0b3BwZWQsbz1yLl9idWZmZXIsbj1yLl9pbmZpbml0ZVRpbWVXaW5kb3csbD1yLl90aW1lc3RhbXBQcm92aWRlcixkPXIuX3dpbmRvd1RpbWU7aXx8KG8ucHVzaCh0KSwhbiYmby5wdXNoKGwubm93KCkrZCkpLHRoaXMuX3RyaW1CdWZmZXIoKSxhLnByb3RvdHlwZS5uZXh0LmNhbGwodGhpcyx0KX0sZS5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbih0KXt0aGlzLl90aHJvd0lmQ2xvc2VkKCksdGhpcy5fdHJpbUJ1ZmZlcigpO2Zvcih2YXIgcj10aGlzLl9pbm5lclN1YnNjcmliZSh0KSxpPXRoaXMsbz1pLl9pbmZpbml0ZVRpbWVXaW5kb3csbj1pLl9idWZmZXIsbD1uLnNsaWNlKCksZD0wO2Q8bC5sZW5ndGgmJiF0LmNsb3NlZDtkKz1vPzE6Mil0Lm5leHQobFtkXSk7cmV0dXJuIHRoaXMuX2NoZWNrRmluYWxpemVkU3RhdHVzZXModCkscn0sZS5wcm90b3R5cGUuX3RyaW1CdWZmZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dC5fYnVmZmVyU2l6ZSxpPXQuX3RpbWVzdGFtcFByb3ZpZGVyLG89dC5fYnVmZmVyLG49dC5faW5maW5pdGVUaW1lV2luZG93LGw9KG4/MToyKSpyO2lmKHI8MS8wJiZsPG8ubGVuZ3RoJiZvLnNwbGljZSgwLG8ubGVuZ3RoLWwpLCFuKXtmb3IodmFyIGQ9aS5ub3coKSxjPTAscD0xO3A8by5sZW5ndGgmJm9bcF08PWQ7cCs9MiljPXA7YyYmby5zcGxpY2UoMCxjKzEpfX0sZX0pKHhpKX0pO3ZhciBFYXQsSWF0PWYoKCk9PntIYSgpO1c1KCk7RWF0PShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUoKXt2YXIgdD1hIT09bnVsbCYmYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7cmV0dXJuIHQuX3ZhbHVlPW51bGwsdC5faGFzVmFsdWU9ITEsdC5faXNDb21wbGV0ZT0hMSx0fXJldHVybiBzKGUsIkFzeW5jU3ViamVjdCIpLGUucHJvdG90eXBlLl9jaGVja0ZpbmFsaXplZFN0YXR1c2VzPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMsaT1yLmhhc0Vycm9yLG89ci5faGFzVmFsdWUsbj1yLl92YWx1ZSxsPXIudGhyb3duRXJyb3IsZD1yLmlzU3RvcHBlZCxjPXIuX2lzQ29tcGxldGU7aT90LmVycm9yKGwpOihkfHxjKSYmKG8mJnQubmV4dChuKSx0LmNvbXBsZXRlKCkpfSxlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHQpe3RoaXMuaXNTdG9wcGVkfHwodGhpcy5fdmFsdWU9dCx0aGlzLl9oYXNWYWx1ZT0hMCl9LGUucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxyPXQuX2hhc1ZhbHVlLGk9dC5fdmFsdWUsbz10Ll9pc0NvbXBsZXRlO298fCh0aGlzLl9pc0NvbXBsZXRlPSEwLHImJmEucHJvdG90eXBlLm5leHQuY2FsbCh0aGlzLGkpLGEucHJvdG90eXBlLmNvbXBsZXRlLmNhbGwodGhpcykpfSxlfSkoeGkpfSk7dmFyIENvZSxOYXQ9ZigoKT0+e0hhKCk7bjIoKTtDb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIpe3JldHVybiBhLmNhbGwodGhpcyl8fHRoaXN9cmV0dXJuIHMoZSwiQWN0aW9uIiksZS5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24odCxyKXtyZXR1cm4gcj09PXZvaWQgMCYmKHI9MCksdGhpc30sZX0pKFdyKX0pO3ZhciBxNyxSYXQ9ZigoKT0+e0hhKCk7cTc9e3NldEludGVydmFsOnMoZnVuY3Rpb24oYSxlKXtmb3IodmFyIHQ9W10scj0yO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyLTJdPWFyZ3VtZW50c1tyXTt2YXIgaT1xNy5kZWxlZ2F0ZTtyZXR1cm4gaT8uc2V0SW50ZXJ2YWw/aS5zZXRJbnRlcnZhbC5hcHBseShpLFNzKFthLGVdLFByKHQpKSk6c2V0SW50ZXJ2YWwuYXBwbHkodm9pZCAwLFNzKFthLGVdLFByKHQpKSl9LCJzZXRJbnRlcnZhbCIpLGNsZWFySW50ZXJ2YWw6cyhmdW5jdGlvbihhKXt2YXIgZT1xNy5kZWxlZ2F0ZTtyZXR1cm4oZT8uY2xlYXJJbnRlcnZhbHx8Y2xlYXJJbnRlcnZhbCkoYSl9LCJjbGVhckludGVydmFsIiksZGVsZWdhdGU6dm9pZCAwfX0pO3ZhciByMSxLNT1mKCgpPT57SGEoKTtOYXQoKTtSYXQoKTtINSgpO3IxPShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCxyKXt2YXIgaT1hLmNhbGwodGhpcyx0LHIpfHx0aGlzO3JldHVybiBpLnNjaGVkdWxlcj10LGkud29yaz1yLGkucGVuZGluZz0hMSxpfXJldHVybiBzKGUsIkFzeW5jQWN0aW9uIiksZS5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24odCxyKXt2YXIgaTtpZihyPT09dm9pZCAwJiYocj0wKSx0aGlzLmNsb3NlZClyZXR1cm4gdGhpczt0aGlzLnN0YXRlPXQ7dmFyIG89dGhpcy5pZCxuPXRoaXMuc2NoZWR1bGVyO3JldHVybiBvIT1udWxsJiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKG4sbyxyKSksdGhpcy5wZW5kaW5nPSEwLHRoaXMuZGVsYXk9cix0aGlzLmlkPShpPXRoaXMuaWQpIT09bnVsbCYmaSE9PXZvaWQgMD9pOnRoaXMucmVxdWVzdEFzeW5jSWQobix0aGlzLmlkLHIpLHRoaXN9LGUucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9MCkscTcuc2V0SW50ZXJ2YWwodC5mbHVzaC5iaW5kKHQsdGhpcyksaSl9LGUucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtpZihpPT09dm9pZCAwJiYoaT0wKSxpIT1udWxsJiZ0aGlzLmRlbGF5PT09aSYmdGhpcy5wZW5kaW5nPT09ITEpcmV0dXJuIHI7ciE9bnVsbCYmcTcuY2xlYXJJbnRlcnZhbChyKX0sZS5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbih0LHIpe2lmKHRoaXMuY2xvc2VkKXJldHVybiBuZXcgRXJyb3IoImV4ZWN1dGluZyBhIGNhbmNlbGxlZCBhY3Rpb24iKTt0aGlzLnBlbmRpbmc9ITE7dmFyIGk9dGhpcy5fZXhlY3V0ZSh0LHIpO2lmKGkpcmV0dXJuIGk7dGhpcy5wZW5kaW5nPT09ITEmJnRoaXMuaWQhPW51bGwmJih0aGlzLmlkPXRoaXMucmVjeWNsZUFzeW5jSWQodGhpcy5zY2hlZHVsZXIsdGhpcy5pZCxudWxsKSl9LGUucHJvdG90eXBlLl9leGVjdXRlPWZ1bmN0aW9uKHQscil7dmFyIGk9ITEsbzt0cnl7dGhpcy53b3JrKHQpfWNhdGNoKG4pe2k9ITAsbz1ufHxuZXcgRXJyb3IoIlNjaGVkdWxlZCBhY3Rpb24gdGhyZXcgZmFsc3kgZXJyb3IiKX1pZihpKXJldHVybiB0aGlzLnVuc3Vic2NyaWJlKCksb30sZS5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXtpZighdGhpcy5jbG9zZWQpe3ZhciB0PXRoaXMscj10LmlkLGk9dC5zY2hlZHVsZXIsbz1pLmFjdGlvbnM7dGhpcy53b3JrPXRoaXMuc3RhdGU9dGhpcy5zY2hlZHVsZXI9bnVsbCx0aGlzLnBlbmRpbmc9ITEsYTEobyx0aGlzKSxyIT1udWxsJiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKGkscixudWxsKSksdGhpcy5kZWxheT1udWxsLGEucHJvdG90eXBlLnVuc3Vic2NyaWJlLmNhbGwodGhpcyl9fSxlfSkoQ29lKX0pO2Z1bmN0aW9uIE9hdChhKXtyZXR1cm4gYSBpbiBpWT8oZGVsZXRlIGlZW2FdLCEwKTohMX12YXIgaW1hLF9vZSxpWSxUb2UsVnFhLEZhdD1mKCgpPT57aW1hPTEsaVk9e307cyhPYXQsImZpbmRBbmRDbGVhckhhbmRsZSIpO1RvZT17c2V0SW1tZWRpYXRlOnMoZnVuY3Rpb24oYSl7dmFyIGU9aW1hKys7cmV0dXJuIGlZW2VdPSEwLF9vZXx8KF9vZT1Qcm9taXNlLnJlc29sdmUoKSksX29lLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gT2F0KGUpJiZhKCl9KSxlfSwic2V0SW1tZWRpYXRlIiksY2xlYXJJbW1lZGlhdGU6cyhmdW5jdGlvbihhKXtPYXQoYSl9LCJjbGVhckltbWVkaWF0ZSIpfSxWcWE9e3BlbmRpbmc6cyhmdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyhpWSkubGVuZ3RofSwicGVuZGluZyIpfX0pO3ZhciBvbWEsbm1hLFY3LEJhdD1mKCgpPT57SGEoKTtGYXQoKTtvbWE9VG9lLnNldEltbWVkaWF0ZSxubWE9VG9lLmNsZWFySW1tZWRpYXRlLFY3PXtzZXRJbW1lZGlhdGU6cyhmdW5jdGlvbigpe2Zvcih2YXIgYT1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKylhW2VdPWFyZ3VtZW50c1tlXTt2YXIgdD1WNy5kZWxlZ2F0ZTtyZXR1cm4odD8uc2V0SW1tZWRpYXRlfHxvbWEpLmFwcGx5KHZvaWQgMCxTcyhbXSxQcihhKSkpfSwic2V0SW1tZWRpYXRlIiksY2xlYXJJbW1lZGlhdGU6cyhmdW5jdGlvbihhKXt2YXIgZT1WNy5kZWxlZ2F0ZTtyZXR1cm4oZT8uY2xlYXJJbW1lZGlhdGV8fG5tYSkoYSl9LCJjbGVhckltbWVkaWF0ZSIpLGRlbGVnYXRlOnZvaWQgMH19KTt2YXIgTG9lLEhhdD1mKCgpPT57SGEoKTtLNSgpO0JhdCgpO0xvZT0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscil7dmFyIGk9YS5jYWxsKHRoaXMsdCxyKXx8dGhpcztyZXR1cm4gaS5zY2hlZHVsZXI9dCxpLndvcms9cixpfXJldHVybiBzKGUsIkFzYXBBY3Rpb24iKSxlLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZD1mdW5jdGlvbih0LHIsaSl7cmV0dXJuIGk9PT12b2lkIDAmJihpPTApLGkhPT1udWxsJiZpPjA/YS5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQuY2FsbCh0aGlzLHQscixpKToodC5hY3Rpb25zLnB1c2godGhpcyksdC5fc2NoZWR1bGVkfHwodC5fc2NoZWR1bGVkPVY3LnNldEltbWVkaWF0ZSh0LmZsdXNoLmJpbmQodCx2b2lkIDApKSkpfSxlLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZD1mdW5jdGlvbih0LHIsaSl7dmFyIG87aWYoaT09PXZvaWQgMCYmKGk9MCksaSE9bnVsbD9pPjA6dGhpcy5kZWxheT4wKXJldHVybiBhLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZC5jYWxsKHRoaXMsdCxyLGkpO3ZhciBuPXQuYWN0aW9ucztyIT1udWxsJiYoKG89bltuLmxlbmd0aC0xXSk9PT1udWxsfHxvPT09dm9pZCAwP3ZvaWQgMDpvLmlkKSE9PXImJihWNy5jbGVhckltbWVkaWF0ZShyKSx0Ll9zY2hlZHVsZWQ9PT1yJiYodC5fc2NoZWR1bGVkPXZvaWQgMCkpfSxlfSkocjEpfSk7dmFyIGo3LCRvZT1mKCgpPT57U29lKCk7ajc9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShlLHQpe3Q9PT12b2lkIDAmJih0PWEubm93KSx0aGlzLnNjaGVkdWxlckFjdGlvbkN0b3I9ZSx0aGlzLm5vdz10fXJldHVybiBzKGEsIlNjaGVkdWxlciIpLGEucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdD09PXZvaWQgMCYmKHQ9MCksbmV3IHRoaXMuc2NoZWR1bGVyQWN0aW9uQ3Rvcih0aGlzLGUpLnNjaGVkdWxlKHIsdCl9LGEubm93PUg3Lm5vdyxhfSkoKX0pO3ZhciBzMSxaNT1mKCgpPT57SGEoKTskb2UoKTtzMT0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscil7cj09PXZvaWQgMCYmKHI9ajcubm93KTt2YXIgaT1hLmNhbGwodGhpcyx0LHIpfHx0aGlzO3JldHVybiBpLmFjdGlvbnM9W10saS5fYWN0aXZlPSExLGl9cmV0dXJuIHMoZSwiQXN5bmNTY2hlZHVsZXIiKSxlLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLmFjdGlvbnM7aWYodGhpcy5fYWN0aXZlKXtyLnB1c2godCk7cmV0dXJufXZhciBpO3RoaXMuX2FjdGl2ZT0hMDtkbyBpZihpPXQuZXhlY3V0ZSh0LnN0YXRlLHQuZGVsYXkpKWJyZWFrO3doaWxlKHQ9ci5zaGlmdCgpKTtpZih0aGlzLl9hY3RpdmU9ITEsaSl7Zm9yKDt0PXIuc2hpZnQoKTspdC51bnN1YnNjcmliZSgpO3Rocm93IGl9fSxlfSkoajcpfSk7dmFyIERvZSxxYXQ9ZigoKT0+e0hhKCk7WjUoKTtEb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSgpe3JldHVybiBhIT09bnVsbCYmYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHMoZSwiQXNhcFNjaGVkdWxlciIpLGUucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKHQpe3RoaXMuX2FjdGl2ZT0hMDt2YXIgcj10aGlzLl9zY2hlZHVsZWQ7dGhpcy5fc2NoZWR1bGVkPXZvaWQgMDt2YXIgaT10aGlzLmFjdGlvbnMsbzt0PXR8fGkuc2hpZnQoKTtkbyBpZihvPXQuZXhlY3V0ZSh0LnN0YXRlLHQuZGVsYXkpKWJyZWFrO3doaWxlKCh0PWlbMF0pJiZ0LmlkPT09ciYmaS5zaGlmdCgpKTtpZih0aGlzLl9hY3RpdmU9ITEsbyl7Zm9yKDsodD1pWzBdKSYmdC5pZD09PXImJmkuc2hpZnQoKTspdC51bnN1YnNjcmliZSgpO3Rocm93IG99fSxlfSkoczEpfSk7dmFyIFZhdCxsbWEsamF0PWYoKCk9PntIYXQoKTtxYXQoKTtWYXQ9bmV3IERvZShMb2UpLGxtYT1WYXR9KTt2YXIgem8sQW9lLHlsPWYoKCk9PntLNSgpO1o1KCk7em89bmV3IHMxKHIxKSxBb2U9em99KTt2YXIgUG9lLFVhdD1mKCgpPT57SGEoKTtLNSgpO1BvZT0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscil7dmFyIGk9YS5jYWxsKHRoaXMsdCxyKXx8dGhpcztyZXR1cm4gaS5zY2hlZHVsZXI9dCxpLndvcms9cixpfXJldHVybiBzKGUsIlF1ZXVlQWN0aW9uIiksZS5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24odCxyKXtyZXR1cm4gcj09PXZvaWQgMCYmKHI9MCkscj4wP2EucHJvdG90eXBlLnNjaGVkdWxlLmNhbGwodGhpcyx0LHIpOih0aGlzLmRlbGF5PXIsdGhpcy5zdGF0ZT10LHRoaXMuc2NoZWR1bGVyLmZsdXNoKHRoaXMpLHRoaXMpfSxlLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKHQscil7cmV0dXJuIHI+MHx8dGhpcy5jbG9zZWQ/YS5wcm90b3R5cGUuZXhlY3V0ZS5jYWxsKHRoaXMsdCxyKTp0aGlzLl9leGVjdXRlKHQscil9LGUucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9MCksaSE9bnVsbCYmaT4wfHxpPT1udWxsJiZ0aGlzLmRlbGF5PjA/YS5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQuY2FsbCh0aGlzLHQscixpKToodC5mbHVzaCh0aGlzKSwwKX0sZX0pKHIxKX0pO3ZhciBFb2UsV2F0PWYoKCk9PntIYSgpO1o1KCk7RW9lPShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUoKXtyZXR1cm4gYSE9PW51bGwmJmEuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBzKGUsIlF1ZXVlU2NoZWR1bGVyIiksZX0pKHMxKX0pO3ZhciBHYXQsY21hLFlhdD1mKCgpPT57VWF0KCk7V2F0KCk7R2F0PW5ldyBFb2UoUG9lKSxjbWE9R2F0fSk7dmFyIElvZSxLYXQ9ZigoKT0+e0hhKCk7SzUoKTt5b2UoKTtJb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIpe3ZhciBpPWEuY2FsbCh0aGlzLHQscil8fHRoaXM7cmV0dXJuIGkuc2NoZWR1bGVyPXQsaS53b3JrPXIsaX1yZXR1cm4gcyhlLCJBbmltYXRpb25GcmFtZUFjdGlvbiIpLGUucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9MCksaSE9PW51bGwmJmk+MD9hLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZC5jYWxsKHRoaXMsdCxyLGkpOih0LmFjdGlvbnMucHVzaCh0aGlzKSx0Ll9zY2hlZHVsZWR8fCh0Ll9zY2hlZHVsZWQ9eGwucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7cmV0dXJuIHQuZmx1c2godm9pZCAwKX0pKSl9LGUucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKHQscixpKXt2YXIgbztpZihpPT09dm9pZCAwJiYoaT0wKSxpIT1udWxsP2k+MDp0aGlzLmRlbGF5PjApcmV0dXJuIGEucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkLmNhbGwodGhpcyx0LHIsaSk7dmFyIG49dC5hY3Rpb25zO3IhPW51bGwmJnI9PT10Ll9zY2hlZHVsZWQmJigobz1uW24ubGVuZ3RoLTFdKT09PW51bGx8fG89PT12b2lkIDA/dm9pZCAwOm8uaWQpIT09ciYmKHhsLmNhbmNlbEFuaW1hdGlvbkZyYW1lKHIpLHQuX3NjaGVkdWxlZD12b2lkIDApfSxlfSkocjEpfSk7dmFyIE5vZSxaYXQ9ZigoKT0+e0hhKCk7WjUoKTtOb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSgpe3JldHVybiBhIT09bnVsbCYmYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHMoZSwiQW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIiKSxlLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbih0KXt0aGlzLl9hY3RpdmU9ITA7dmFyIHI7dD9yPXQuaWQ6KHI9dGhpcy5fc2NoZWR1bGVkLHRoaXMuX3NjaGVkdWxlZD12b2lkIDApO3ZhciBpPXRoaXMuYWN0aW9ucyxvO3Q9dHx8aS5zaGlmdCgpO2RvIGlmKG89dC5leGVjdXRlKHQuc3RhdGUsdC5kZWxheSkpYnJlYWs7d2hpbGUoKHQ9aVswXSkmJnQuaWQ9PT1yJiZpLnNoaWZ0KCkpO2lmKHRoaXMuX2FjdGl2ZT0hMSxvKXtmb3IoOyh0PWlbMF0pJiZ0LmlkPT09ciYmaS5zaGlmdCgpOyl0LnVuc3Vic2NyaWJlKCk7dGhyb3cgb319LGV9KShzMSl9KTt2YXIgWGF0LGRtYSxRYXQ9ZigoKT0+e0thdCgpO1phdCgpO1hhdD1uZXcgTm9lKElvZSksZG1hPVhhdH0pO3ZhciBKYXQsUm9lLGVydD1mKCgpPT57SGEoKTtLNSgpO24yKCk7WjUoKTtKYXQ9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIpe3Q9PT12b2lkIDAmJih0PVJvZSkscj09PXZvaWQgMCYmKHI9MS8wKTt2YXIgaT1hLmNhbGwodGhpcyx0LGZ1bmN0aW9uKCl7cmV0dXJuIGkuZnJhbWV9KXx8dGhpcztyZXR1cm4gaS5tYXhGcmFtZXM9cixpLmZyYW1lPTAsaS5pbmRleD0tMSxpfXJldHVybiBzKGUsIlZpcnR1YWxUaW1lU2NoZWR1bGVyIiksZS5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcyxyPXQuYWN0aW9ucyxpPXQubWF4RnJhbWVzLG8sbjsobj1yWzBdKSYmbi5kZWxheTw9aSYmKHIuc2hpZnQoKSx0aGlzLmZyYW1lPW4uZGVsYXksIShvPW4uZXhlY3V0ZShuLnN0YXRlLG4uZGVsYXkpKSk7KTtpZihvKXtmb3IoO249ci5zaGlmdCgpOyluLnVuc3Vic2NyaWJlKCk7dGhyb3cgb319LGUuZnJhbWVUaW1lRmFjdG9yPTEwLGV9KShzMSksUm9lPShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCxyLGkpe2k9PT12b2lkIDAmJihpPXQuaW5kZXgrPTEpO3ZhciBvPWEuY2FsbCh0aGlzLHQscil8fHRoaXM7cmV0dXJuIG8uc2NoZWR1bGVyPXQsby53b3JrPXIsby5pbmRleD1pLG8uYWN0aXZlPSEwLG8uaW5kZXg9dC5pbmRleD1pLG99cmV0dXJuIHMoZSwiVmlydHVhbEFjdGlvbiIpLGUucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKHQscil7aWYocj09PXZvaWQgMCYmKHI9MCksTnVtYmVyLmlzRmluaXRlKHIpKXtpZighdGhpcy5pZClyZXR1cm4gYS5wcm90b3R5cGUuc2NoZWR1bGUuY2FsbCh0aGlzLHQscik7dGhpcy5hY3RpdmU9ITE7dmFyIGk9bmV3IGUodGhpcy5zY2hlZHVsZXIsdGhpcy53b3JrKTtyZXR1cm4gdGhpcy5hZGQoaSksaS5zY2hlZHVsZSh0LHIpfWVsc2UgcmV0dXJuIFdyLkVNUFRZfSxlLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZD1mdW5jdGlvbih0LHIsaSl7aT09PXZvaWQgMCYmKGk9MCksdGhpcy5kZWxheT10LmZyYW1lK2k7dmFyIG89dC5hY3Rpb25zO3JldHVybiBvLnB1c2godGhpcyksby5zb3J0KGUuc29ydEFjdGlvbnMpLDF9LGUucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtpPT09dm9pZCAwJiYoaT0wKX0sZS5wcm90b3R5cGUuX2V4ZWN1dGU9ZnVuY3Rpb24odCxyKXtpZih0aGlzLmFjdGl2ZT09PSEwKXJldHVybiBhLnByb3RvdHlwZS5fZXhlY3V0ZS5jYWxsKHRoaXMsdCxyKX0sZS5zb3J0QWN0aW9ucz1mdW5jdGlvbih0LHIpe3JldHVybiB0LmRlbGF5PT09ci5kZWxheT90LmluZGV4PT09ci5pbmRleD8wOnQuaW5kZXg+ci5pbmRleD8xOi0xOnQuZGVsYXk+ci5kZWxheT8xOi0xfSxlfSkocjEpfSk7ZnVuY3Rpb24gdW1hKGEpe3JldHVybiBhP3BtYShhKTpvWX1mdW5jdGlvbiBwbWEoYSl7cmV0dXJuIG5ldyBCdChmdW5jdGlvbihlKXtyZXR1cm4gYS5zY2hlZHVsZShmdW5jdGlvbigpe3JldHVybiBlLmNvbXBsZXRlKCl9KX0pfXZhciBvWSxuWT1mKCgpPT57VmkoKTtvWT1uZXcgQnQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29tcGxldGUoKX0pO3ModW1hLCJlbXB0eSIpO3MocG1hLCJlbXB0eVNjaGVkdWxlZCIpfSk7ZnVuY3Rpb24gbFkoYSl7cmV0dXJuIGEmJk90KGEuc2NoZWR1bGUpfXZhciBPb2U9ZigoKT0+e0JzKCk7cyhsWSwiaXNTY2hlZHVsZXIiKX0pO2Z1bmN0aW9uIEZvZShhKXtyZXR1cm4gYVthLmxlbmd0aC0xXX1mdW5jdGlvbiB0cnQoYSl7cmV0dXJuIE90KEZvZShhKSk/YS5wb3AoKTp2b2lkIDB9ZnVuY3Rpb24gYzIoYSl7cmV0dXJuIGxZKEZvZShhKSk/YS5wb3AoKTp2b2lkIDB9ZnVuY3Rpb24gdGphKGEsZSl7cmV0dXJuIHR5cGVvZiBGb2UoYSk9PSJudW1iZXIiP2EucG9wKCk6ZX12YXIgWDU9ZigoKT0+e0JzKCk7T29lKCk7cyhGb2UsImxhc3QiKTtzKHRydCwicG9wUmVzdWx0U2VsZWN0b3IiKTtzKGMyLCJwb3BTY2hlZHVsZXIiKTtzKHRqYSwicG9wTnVtYmVyIil9KTt2YXIgUTUsY1k9ZigoKT0+e1E1PXMoKGZ1bmN0aW9uKGEpe3JldHVybiBhJiZ0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIn0pLCJpc0FycmF5TGlrZSIpfSk7ZnVuY3Rpb24gZFkoYSl7cmV0dXJuIE90KGE/LnRoZW4pfXZhciBCb2U9ZigoKT0+e0JzKCk7cyhkWSwiaXNQcm9taXNlIil9KTtmdW5jdGlvbiB1WShhKXtyZXR1cm4gT3QoYVtzM10pfXZhciBIb2U9ZigoKT0+e0I3KCk7QnMoKTtzKHVZLCJpc0ludGVyb3BPYnNlcnZhYmxlIil9KTtmdW5jdGlvbiBwWShhKXtyZXR1cm4gU3ltYm9sLmFzeW5jSXRlcmF0b3ImJk90KGE/LltTeW1ib2wuYXN5bmNJdGVyYXRvcl0pfXZhciBxb2U9ZigoKT0+e0JzKCk7cyhwWSwiaXNBc3luY0l0ZXJhYmxlIil9KTtmdW5jdGlvbiBmWShhKXtyZXR1cm4gbmV3IFR5cGVFcnJvcigiWW91IHByb3ZpZGVkICIrKGEhPT1udWxsJiZ0eXBlb2YgYT09Im9iamVjdCI/ImFuIGludmFsaWQgb2JqZWN0IjoiJyIrYSsiJyIpKyIgd2hlcmUgYSBzdHJlYW0gd2FzIGV4cGVjdGVkLiBZb3UgY2FuIHByb3ZpZGUgYW4gT2JzZXJ2YWJsZSwgUHJvbWlzZSwgUmVhZGFibGVTdHJlYW0sIEFycmF5LCBBc3luY0l0ZXJhYmxlLCBvciBJdGVyYWJsZS4iKX12YXIgVm9lPWYoKCk9PntzKGZZLCJjcmVhdGVJbnZhbGlkT2JzZXJ2YWJsZVR5cGVFcnJvciIpfSk7ZnVuY3Rpb24gZm1hKCl7cmV0dXJuIHR5cGVvZiBTeW1ib2whPSJmdW5jdGlvbiJ8fCFTeW1ib2wuaXRlcmF0b3I/IkBAaXRlcmF0b3IiOlN5bWJvbC5pdGVyYXRvcn12YXIgaFksam9lPWYoKCk9PntzKGZtYSwiZ2V0U3ltYm9sSXRlcmF0b3IiKTtoWT1mbWEoKX0pO2Z1bmN0aW9uIG1ZKGEpe3JldHVybiBPdChhPy5baFldKX12YXIgVW9lPWYoKCk9Pntqb2UoKTtCcygpO3MobVksImlzSXRlcmFibGUiKX0pO2Z1bmN0aW9uIGdZKGEpe3JldHVybiBub2UodGhpcyxhcmd1bWVudHMscyhmdW5jdGlvbigpe3ZhciB0LHIsaSxvO3JldHVybiBSNyh0aGlzLGZ1bmN0aW9uKG4pe3N3aXRjaChuLmxhYmVsKXtjYXNlIDA6dD1hLmdldFJlYWRlcigpLG4ubGFiZWw9MTtjYXNlIDE6bi50cnlzLnB1c2goWzEsLDksMTBdKSxuLmxhYmVsPTI7Y2FzZSAyOnJldHVybls0LHZsKHQucmVhZCgpKV07Y2FzZSAzOnJldHVybiByPW4uc2VudCgpLGk9ci52YWx1ZSxvPXIuZG9uZSxvP1s0LHZsKHZvaWQgMCldOlszLDVdO2Nhc2UgNDpyZXR1cm5bMixuLnNlbnQoKV07Y2FzZSA1OnJldHVybls0LHZsKGkpXTtjYXNlIDY6cmV0dXJuWzQsbi5zZW50KCldO2Nhc2UgNzpyZXR1cm4gbi5zZW50KCksWzMsMl07Y2FzZSA4OnJldHVyblszLDEwXTtjYXNlIDk6cmV0dXJuIHQucmVsZWFzZUxvY2soKSxbN107Y2FzZSAxMDpyZXR1cm5bMl19fSl9LCJyZWFkYWJsZVN0cmVhbUxpa2VUb0FzeW5jR2VuZXJhdG9yXzEiKSl9ZnVuY3Rpb24gYlkoYSl7cmV0dXJuIE90KGE/LmdldFJlYWRlcil9dmFyIHZZPWYoKCk9PntIYSgpO0JzKCk7cyhnWSwicmVhZGFibGVTdHJlYW1MaWtlVG9Bc3luY0dlbmVyYXRvciIpO3MoYlksImlzUmVhZGFibGVTdHJlYW1MaWtlIil9KTtmdW5jdGlvbiBjcihhKXtpZihhIGluc3RhbmNlb2YgQnQpcmV0dXJuIGE7aWYoYSE9bnVsbCl7aWYodVkoYSkpcmV0dXJuIGhtYShhKTtpZihRNShhKSlyZXR1cm4gbW1hKGEpO2lmKGRZKGEpKXJldHVybiBnbWEoYSk7aWYocFkoYSkpcmV0dXJuIGFydChhKTtpZihtWShhKSlyZXR1cm4gYm1hKGEpO2lmKGJZKGEpKXJldHVybiB2bWEoYSl9dGhyb3cgZlkoYSl9ZnVuY3Rpb24gaG1hKGEpe3JldHVybiBuZXcgQnQoZnVuY3Rpb24oZSl7dmFyIHQ9YVtzM10oKTtpZihPdCh0LnN1YnNjcmliZSkpcmV0dXJuIHQuc3Vic2NyaWJlKGUpO3Rocm93IG5ldyBUeXBlRXJyb3IoIlByb3ZpZGVkIG9iamVjdCBkb2VzIG5vdCBjb3JyZWN0bHkgaW1wbGVtZW50IFN5bWJvbC5vYnNlcnZhYmxlIil9KX1mdW5jdGlvbiBtbWEoYSl7cmV0dXJuIG5ldyBCdChmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGEubGVuZ3RoJiYhZS5jbG9zZWQ7dCsrKWUubmV4dChhW3RdKTtlLmNvbXBsZXRlKCl9KX1mdW5jdGlvbiBnbWEoYSl7cmV0dXJuIG5ldyBCdChmdW5jdGlvbihlKXthLnRoZW4oZnVuY3Rpb24odCl7ZS5jbG9zZWR8fChlLm5leHQodCksZS5jb21wbGV0ZSgpKX0sZnVuY3Rpb24odCl7cmV0dXJuIGUuZXJyb3IodCl9KS50aGVuKG51bGwsZVkpfSl9ZnVuY3Rpb24gYm1hKGEpe3JldHVybiBuZXcgQnQoZnVuY3Rpb24oZSl7dmFyIHQscjt0cnl7Zm9yKHZhciBpPXZpKGEpLG89aS5uZXh0KCk7IW8uZG9uZTtvPWkubmV4dCgpKXt2YXIgbj1vLnZhbHVlO2lmKGUubmV4dChuKSxlLmNsb3NlZClyZXR1cm59fWNhdGNoKGwpe3Q9e2Vycm9yOmx9fWZpbmFsbHl7dHJ5e28mJiFvLmRvbmUmJihyPWkucmV0dXJuKSYmci5jYWxsKGkpfWZpbmFsbHl7aWYodCl0aHJvdyB0LmVycm9yfX1lLmNvbXBsZXRlKCl9KX1mdW5jdGlvbiBhcnQoYSl7cmV0dXJuIG5ldyBCdChmdW5jdGlvbihlKXt4bWEoYSxlKS5jYXRjaChmdW5jdGlvbih0KXtyZXR1cm4gZS5lcnJvcih0KX0pfSl9ZnVuY3Rpb24gdm1hKGEpe3JldHVybiBhcnQoZ1koYSkpfWZ1bmN0aW9uIHhtYShhLGUpe3ZhciB0LHIsaSxvO3JldHVybiBvb2UodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG4sbDtyZXR1cm4gUjcodGhpcyxmdW5jdGlvbihkKXtzd2l0Y2goZC5sYWJlbCl7Y2FzZSAwOmQudHJ5cy5wdXNoKFswLDUsNiwxMV0pLHQ9bG9lKGEpLGQubGFiZWw9MTtjYXNlIDE6cmV0dXJuWzQsdC5uZXh0KCldO2Nhc2UgMjppZihyPWQuc2VudCgpLCEhci5kb25lKXJldHVyblszLDRdO2lmKG49ci52YWx1ZSxlLm5leHQobiksZS5jbG9zZWQpcmV0dXJuWzJdO2QubGFiZWw9MztjYXNlIDM6cmV0dXJuWzMsMV07Y2FzZSA0OnJldHVyblszLDExXTtjYXNlIDU6cmV0dXJuIGw9ZC5zZW50KCksaT17ZXJyb3I6bH0sWzMsMTFdO2Nhc2UgNjpyZXR1cm4gZC50cnlzLnB1c2goWzYsLDksMTBdKSxyJiYhci5kb25lJiYobz10LnJldHVybik/WzQsby5jYWxsKHQpXTpbMyw4XTtjYXNlIDc6ZC5zZW50KCksZC5sYWJlbD04O2Nhc2UgODpyZXR1cm5bMywxMF07Y2FzZSA5OmlmKGkpdGhyb3cgaS5lcnJvcjtyZXR1cm5bN107Y2FzZSAxMDpyZXR1cm5bN107Y2FzZSAxMTpyZXR1cm4gZS5jb21wbGV0ZSgpLFsyXX19KX0pfXZhciBxbz1mKCgpPT57SGEoKTtjWSgpO0JvZSgpO1ZpKCk7SG9lKCk7cW9lKCk7Vm9lKCk7VW9lKCk7dlkoKTtCcygpO3BvZSgpO0I3KCk7cyhjciwiaW5uZXJGcm9tIik7cyhobWEsImZyb21JbnRlcm9wT2JzZXJ2YWJsZSIpO3MobW1hLCJmcm9tQXJyYXlMaWtlIik7cyhnbWEsImZyb21Qcm9taXNlIik7cyhibWEsImZyb21JdGVyYWJsZSIpO3MoYXJ0LCJmcm9tQXN5bmNJdGVyYWJsZSIpO3Modm1hLCJmcm9tUmVhZGFibGVTdHJlYW1MaWtlIik7cyh4bWEsInByb2Nlc3MiKX0pO2Z1bmN0aW9uIHpzKGEsZSx0LHIsaSl7cj09PXZvaWQgMCYmKHI9MCksaT09PXZvaWQgMCYmKGk9ITEpO3ZhciBvPWUuc2NoZWR1bGUoZnVuY3Rpb24oKXt0KCksaT9hLmFkZCh0aGlzLnNjaGVkdWxlKG51bGwscikpOnRoaXMudW5zdWJzY3JpYmUoKX0scik7aWYoYS5hZGQobyksIWkpcmV0dXJuIG99dmFyIGUwPWYoKCk9PntzKHpzLCJleGVjdXRlU2NoZWR1bGUiKX0pO2Z1bmN0aW9uIEo1KGEsZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPTApLHdhKGZ1bmN0aW9uKHQscil7dC5zdWJzY3JpYmUobGEocixmdW5jdGlvbihpKXtyZXR1cm4genMocixhLGZ1bmN0aW9uKCl7cmV0dXJuIHIubmV4dChpKX0sZSl9LGZ1bmN0aW9uKCl7cmV0dXJuIHpzKHIsYSxmdW5jdGlvbigpe3JldHVybiByLmNvbXBsZXRlKCl9LGUpfSxmdW5jdGlvbihpKXtyZXR1cm4genMocixhLGZ1bmN0aW9uKCl7cmV0dXJuIHIuZXJyb3IoaSl9LGUpfSkpfSl9dmFyIFU3PWYoKCk9PntlMCgpO2xzKCk7SHMoKTtzKEo1LCJvYnNlcnZlT24iKX0pO2Z1bmN0aW9uIGVoKGEsZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPTApLHdhKGZ1bmN0aW9uKHQscil7ci5hZGQoYS5zY2hlZHVsZShmdW5jdGlvbigpe3JldHVybiB0LnN1YnNjcmliZShyKX0sZSkpfSl9dmFyIFc3PWYoKCk9PntscygpO3MoZWgsInN1YnNjcmliZU9uIil9KTtmdW5jdGlvbiBycnQoYSxlKXtyZXR1cm4gY3IoYSkucGlwZShlaChlKSxKNShlKSl9dmFyIHNydD1mKCgpPT57cW8oKTtVNygpO1c3KCk7cyhycnQsInNjaGVkdWxlT2JzZXJ2YWJsZSIpfSk7ZnVuY3Rpb24gaXJ0KGEsZSl7cmV0dXJuIGNyKGEpLnBpcGUoZWgoZSksSjUoZSkpfXZhciBvcnQ9ZigoKT0+e3FvKCk7VTcoKTtXNygpO3MoaXJ0LCJzY2hlZHVsZVByb21pc2UiKX0pO2Z1bmN0aW9uIG5ydChhLGUpe3JldHVybiBuZXcgQnQoZnVuY3Rpb24odCl7dmFyIHI9MDtyZXR1cm4gZS5zY2hlZHVsZShmdW5jdGlvbigpe3I9PT1hLmxlbmd0aD90LmNvbXBsZXRlKCk6KHQubmV4dChhW3IrK10pLHQuY2xvc2VkfHx0aGlzLnNjaGVkdWxlKCkpfSl9KX12YXIgbHJ0PWYoKCk9PntWaSgpO3MobnJ0LCJzY2hlZHVsZUFycmF5Iil9KTtmdW5jdGlvbiBjcnQoYSxlKXtyZXR1cm4gbmV3IEJ0KGZ1bmN0aW9uKHQpe3ZhciByO3JldHVybiB6cyh0LGUsZnVuY3Rpb24oKXtyPWFbaFldKCksenModCxlLGZ1bmN0aW9uKCl7dmFyIGksbyxuO3RyeXtpPXIubmV4dCgpLG89aS52YWx1ZSxuPWkuZG9uZX1jYXRjaChsKXt0LmVycm9yKGwpO3JldHVybn1uP3QuY29tcGxldGUoKTp0Lm5leHQobyl9LDAsITApfSksZnVuY3Rpb24oKXtyZXR1cm4gT3Qocj8ucmV0dXJuKSYmci5yZXR1cm4oKX19KX12YXIgZHJ0PWYoKCk9PntWaSgpO2pvZSgpO0JzKCk7ZTAoKTtzKGNydCwic2NoZWR1bGVJdGVyYWJsZSIpfSk7ZnVuY3Rpb24geFkoYSxlKXtpZighYSl0aHJvdyBuZXcgRXJyb3IoIkl0ZXJhYmxlIGNhbm5vdCBiZSBudWxsIik7cmV0dXJuIG5ldyBCdChmdW5jdGlvbih0KXt6cyh0LGUsZnVuY3Rpb24oKXt2YXIgcj1hW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSgpO3pzKHQsZSxmdW5jdGlvbigpe3IubmV4dCgpLnRoZW4oZnVuY3Rpb24oaSl7aS5kb25lP3QuY29tcGxldGUoKTp0Lm5leHQoaS52YWx1ZSl9KX0sMCwhMCl9KX0pfXZhciBXb2U9ZigoKT0+e1ZpKCk7ZTAoKTtzKHhZLCJzY2hlZHVsZUFzeW5jSXRlcmFibGUiKX0pO2Z1bmN0aW9uIHVydChhLGUpe3JldHVybiB4WShnWShhKSxlKX12YXIgcHJ0PWYoKCk9PntXb2UoKTt2WSgpO3ModXJ0LCJzY2hlZHVsZVJlYWRhYmxlU3RyZWFtTGlrZSIpfSk7ZnVuY3Rpb24gR29lKGEsZSl7aWYoYSE9bnVsbCl7aWYodVkoYSkpcmV0dXJuIHJydChhLGUpO2lmKFE1KGEpKXJldHVybiBucnQoYSxlKTtpZihkWShhKSlyZXR1cm4gaXJ0KGEsZSk7aWYocFkoYSkpcmV0dXJuIHhZKGEsZSk7aWYobVkoYSkpcmV0dXJuIGNydChhLGUpO2lmKGJZKGEpKXJldHVybiB1cnQoYSxlKX10aHJvdyBmWShhKX12YXIgWW9lPWYoKCk9PntzcnQoKTtvcnQoKTtscnQoKTtkcnQoKTtXb2UoKTtIb2UoKTtCb2UoKTtjWSgpO1VvZSgpO3FvZSgpO1ZvZSgpO3ZZKCk7cHJ0KCk7cyhHb2UsInNjaGVkdWxlZCIpfSk7ZnVuY3Rpb24gZDIoYSxlKXtyZXR1cm4gZT9Hb2UoYSxlKTpjcihhKX12YXIgRzc9ZigoKT0+e1lvZSgpO3FvKCk7cyhkMiwiZnJvbSIpfSk7ZnVuY3Rpb24gaTMoKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9YzIoYSk7cmV0dXJuIGQyKGEsdCl9dmFyIEtvZT1mKCgpPT57WDUoKTtHNygpO3MoaTMsIm9mIil9KTtmdW5jdGlvbiBab2UoYSxlKXt2YXIgdD1PdChhKT9hOmZ1bmN0aW9uKCl7cmV0dXJuIGF9LHI9cyhmdW5jdGlvbihpKXtyZXR1cm4gaS5lcnJvcih0KCkpfSwiaW5pdCIpO3JldHVybiBuZXcgQnQoZT9mdW5jdGlvbihpKXtyZXR1cm4gZS5zY2hlZHVsZShyLDAsaSl9OnIpfXZhciBYb2U9ZigoKT0+e1ZpKCk7QnMoKTtzKFpvZSwidGhyb3dFcnJvciIpfSk7ZnVuY3Rpb24geW1hKGEsZSl7dmFyIHQscixpLG89YSxuPW8ua2luZCxsPW8udmFsdWUsZD1vLmVycm9yO2lmKHR5cGVvZiBuIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG5vdGlmaWNhdGlvbiwgbWlzc2luZyAia2luZCInKTtuPT09Ik4iPyh0PWUubmV4dCk9PT1udWxsfHx0PT09dm9pZCAwfHx0LmNhbGwoZSxsKTpuPT09IkUiPyhyPWUuZXJyb3IpPT09bnVsbHx8cj09PXZvaWQgMHx8ci5jYWxsKGUsZCk6KGk9ZS5jb21wbGV0ZSk9PT1udWxsfHxpPT09dm9pZCAwfHxpLmNhbGwoZSl9dmFyIFFvZSxmcnQsaHJ0PWYoKCk9PntuWSgpO0tvZSgpO1hvZSgpO0JzKCk7KGZ1bmN0aW9uKGEpe2EuTkVYVD0iTiIsYS5FUlJPUj0iRSIsYS5DT01QTEVURT0iQyJ9KShRb2V8fChRb2U9e30pKTtmcnQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShlLHQscil7dGhpcy5raW5kPWUsdGhpcy52YWx1ZT10LHRoaXMuZXJyb3I9cix0aGlzLmhhc1ZhbHVlPWU9PT0iTiJ9cmV0dXJuIHMoYSwiTm90aWZpY2F0aW9uIiksYS5wcm90b3R5cGUub2JzZXJ2ZT1mdW5jdGlvbihlKXtyZXR1cm4geW1hKHRoaXMsZSl9LGEucHJvdG90eXBlLmRvPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10aGlzLG89aS5raW5kLG49aS52YWx1ZSxsPWkuZXJyb3I7cmV0dXJuIG89PT0iTiI/ZT8uKG4pOm89PT0iRSI/dD8uKGwpOnI/LigpfSxhLnByb3RvdHlwZS5hY2NlcHQ9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpO3JldHVybiBPdCgoaT1lKT09PW51bGx8fGk9PT12b2lkIDA/dm9pZCAwOmkubmV4dCk/dGhpcy5vYnNlcnZlKGUpOnRoaXMuZG8oZSx0LHIpfSxhLnByb3RvdHlwZS50b09ic2VydmFibGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5raW5kLHI9ZS52YWx1ZSxpPWUuZXJyb3Isbz10PT09Ik4iP2kzKHIpOnQ9PT0iRSI/Wm9lKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KTp0PT09IkMiP29ZOjA7aWYoIW8pdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5leHBlY3RlZCBub3RpZmljYXRpb24ga2luZCAiK3QpO3JldHVybiBvfSxhLmNyZWF0ZU5leHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBhKCJOIixlKX0sYS5jcmVhdGVFcnJvcj1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGEoIkUiLHZvaWQgMCxlKX0sYS5jcmVhdGVDb21wbGV0ZT1mdW5jdGlvbigpe3JldHVybiBhLmNvbXBsZXRlTm90aWZpY2F0aW9ufSxhLmNvbXBsZXRlTm90aWZpY2F0aW9uPW5ldyBhKCJDIiksYX0pKCk7cyh5bWEsIm9ic2VydmVOb3RpZmljYXRpb24iKX0pO3ZhciBtcnQ9ZigoKT0+e30pO3ZhciB3bWEsZ3J0PWYoKCk9PntRYygpO3dtYT1TbyhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbigpe2EodGhpcyksdGhpcy5uYW1lPSJFbXB0eUVycm9yIix0aGlzLm1lc3NhZ2U9Im5vIGVsZW1lbnRzIGluIHNlcXVlbmNlIn0sIkVtcHR5RXJyb3JJbXBsIil9KX0pO3ZhciBicnQ9ZigoKT0+e30pO3ZhciB2cnQ9ZigoKT0+e30pO3ZhciBNbWEseHJ0PWYoKCk9PntRYygpO01tYT1TbyhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbigpe2EodGhpcyksdGhpcy5uYW1lPSJBcmd1bWVudE91dE9mUmFuZ2VFcnJvciIsdGhpcy5tZXNzYWdlPSJhcmd1bWVudCBvdXQgb2YgcmFuZ2UifSwiQXJndW1lbnRPdXRPZlJhbmdlRXJyb3JJbXBsIil9KX0pO3ZhciBrbWEseXJ0PWYoKCk9PntRYygpO2ttYT1TbyhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbih0KXthKHRoaXMpLHRoaXMubmFtZT0iTm90Rm91bmRFcnJvciIsdGhpcy5tZXNzYWdlPXR9LCJOb3RGb3VuZEVycm9ySW1wbCIpfSl9KTt2YXIgU21hLHdydD1mKCgpPT57UWMoKTtTbWE9U28oZnVuY3Rpb24oYSl7cmV0dXJuIHMoZnVuY3Rpb24odCl7YSh0aGlzKSx0aGlzLm5hbWU9IlNlcXVlbmNlRXJyb3IiLHRoaXMubWVzc2FnZT10fSwiU2VxdWVuY2VFcnJvckltcGwiKX0pfSk7ZnVuY3Rpb24geVkoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBEYXRlJiYhaXNOYU4oYSl9dmFyIEpvZT1mKCgpPT57cyh5WSwiaXNWYWxpZERhdGUiKX0pO2Z1bmN0aW9uIGtydChhLGUpe3ZhciB0PXlZKGEpP3tmaXJzdDphfTp0eXBlb2YgYT09Im51bWJlciI/e2VhY2g6YX06YSxyPXQuZmlyc3QsaT10LmVhY2gsbz10LndpdGgsbj1vPT09dm9pZCAwP3ptYTpvLGw9dC5zY2hlZHVsZXIsZD1sPT09dm9pZCAwP2U/P3pvOmwsYz10Lm1ldGEscD1jPT09dm9pZCAwP251bGw6YztpZihyPT1udWxsJiZpPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIk5vIHRpbWVvdXQgcHJvdmlkZWQuIik7cmV0dXJuIHdhKGZ1bmN0aW9uKHUsbSl7dmFyIHYseCxiPW51bGwsZz0wLHk9cyhmdW5jdGlvbihrKXt4PXpzKG0sZCxmdW5jdGlvbigpe3RyeXt2LnVuc3Vic2NyaWJlKCksY3Iobih7bWV0YTpwLGxhc3RWYWx1ZTpiLHNlZW46Z30pKS5zdWJzY3JpYmUobSl9Y2F0Y2goQyl7bS5lcnJvcihDKX19LGspfSwic3RhcnRUaW1lciIpO3Y9dS5zdWJzY3JpYmUobGEobSxmdW5jdGlvbihrKXt4Py51bnN1YnNjcmliZSgpLGcrKyxtLm5leHQoYj1rKSxpPjAmJnkoaSl9LHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt4Py5jbG9zZWR8fHg/LnVuc3Vic2NyaWJlKCksYj1udWxsfSkpLCFnJiZ5KHIhPW51bGw/dHlwZW9mIHI9PSJudW1iZXIiP3I6K3ItZC5ub3coKTppKX0pfWZ1bmN0aW9uIHptYShhKXt0aHJvdyBuZXcgTXJ0KGEpfXZhciBNcnQsd1k9ZigoKT0+e3lsKCk7Sm9lKCk7bHMoKTtxbygpO1FjKCk7SHMoKTtlMCgpO01ydD1TbyhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbih0KXt0PT09dm9pZCAwJiYodD1udWxsKSxhKHRoaXMpLHRoaXMubWVzc2FnZT0iVGltZW91dCBoYXMgb2NjdXJyZWQiLHRoaXMubmFtZT0iVGltZW91dEVycm9yIix0aGlzLmluZm89dH0sIlRpbWVvdXRFcnJvckltcGwiKX0pO3Moa3J0LCJ0aW1lb3V0Iik7cyh6bWEsInRpbWVvdXRFcnJvckZhY3RvcnkiKX0pO2Z1bmN0aW9uIHUyKGEsZSl7cmV0dXJuIHdhKGZ1bmN0aW9uKHQscil7dmFyIGk9MDt0LnN1YnNjcmliZShsYShyLGZ1bmN0aW9uKG8pe3IubmV4dChhLmNhbGwoZSxvLGkrKykpfSkpfSl9dmFyIFk3PWYoKCk9PntscygpO0hzKCk7cyh1MiwibWFwIil9KTtmdW5jdGlvbiBfbWEoYSxlKXtyZXR1cm4gQ21hKGUpP2EuYXBwbHkodm9pZCAwLFNzKFtdLFByKGUpKSk6YShlKX1mdW5jdGlvbiBNWShhKXtyZXR1cm4gdTIoZnVuY3Rpb24oZSl7cmV0dXJuIF9tYShhLGUpfSl9dmFyIENtYSxlbmU9ZigoKT0+e0hhKCk7WTcoKTtDbWE9QXJyYXkuaXNBcnJheTtzKF9tYSwiY2FsbE9yQXBwbHkiKTtzKE1ZLCJtYXBPbmVPck1hbnlBcmdzIil9KTt2YXIgU3J0PWYoKCk9Pnt9KTt2YXIgenJ0PWYoKCk9Pnt9KTtmdW5jdGlvbiBDcnQoYSl7aWYoYS5sZW5ndGg9PT0xKXt2YXIgZT1hWzBdO2lmKFRtYShlKSlyZXR1cm57YXJnczplLGtleXM6bnVsbH07aWYoQW1hKGUpKXt2YXIgdD1EbWEoZSk7cmV0dXJue2FyZ3M6dC5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIGVbcl19KSxrZXlzOnR9fX1yZXR1cm57YXJnczphLGtleXM6bnVsbH19ZnVuY3Rpb24gQW1hKGEpe3JldHVybiBhJiZ0eXBlb2YgYT09Im9iamVjdCImJkxtYShhKT09PSRtYX12YXIgVG1hLExtYSwkbWEsRG1hLF9ydD1mKCgpPT57VG1hPUFycmF5LmlzQXJyYXksTG1hPU9iamVjdC5nZXRQcm90b3R5cGVPZiwkbWE9T2JqZWN0LnByb3RvdHlwZSxEbWE9T2JqZWN0LmtleXM7cyhDcnQsImFyZ3NBcmdBcnJheU9yT2JqZWN0Iik7cyhBbWEsImlzUE9KTyIpfSk7ZnVuY3Rpb24gVHJ0KGEsZSl7cmV0dXJuIGEucmVkdWNlKGZ1bmN0aW9uKHQscixpKXtyZXR1cm4gdFtyXT1lW2ldLHR9LHt9KX12YXIgTHJ0PWYoKCk9PntzKFRydCwiY3JlYXRlT2JqZWN0Iil9KTtmdW5jdGlvbiB0bmUoKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9YzIoYSkscj10cnQoYSksaT1DcnQoYSksbz1pLmFyZ3Msbj1pLmtleXM7aWYoby5sZW5ndGg9PT0wKXJldHVybiBkMihbXSx0KTt2YXIgbD1uZXcgQnQoUG1hKG8sdCxuP2Z1bmN0aW9uKGQpe3JldHVybiBUcnQobixkKX06bDIpKTtyZXR1cm4gcj9sLnBpcGUoTVkocikpOmx9ZnVuY3Rpb24gUG1hKGEsZSx0KXtyZXR1cm4gdD09PXZvaWQgMCYmKHQ9bDIpLGZ1bmN0aW9uKHIpeyRydChlLGZ1bmN0aW9uKCl7Zm9yKHZhciBpPWEubGVuZ3RoLG89bmV3IEFycmF5KGkpLG49aSxsPWksZD1zKGZ1bmN0aW9uKHApeyRydChlLGZ1bmN0aW9uKCl7dmFyIHU9ZDIoYVtwXSxlKSxtPSExO3Uuc3Vic2NyaWJlKGxhKHIsZnVuY3Rpb24odil7b1twXT12LG18fChtPSEwLGwtLSksbHx8ci5uZXh0KHQoby5zbGljZSgpKSl9LGZ1bmN0aW9uKCl7LS1ufHxyLmNvbXBsZXRlKCl9KSl9LHIpfSwiX2xvb3BfMSIpLGM9MDtjPGk7YysrKWQoYyl9LHIpfX1mdW5jdGlvbiAkcnQoYSxlLHQpe2E/enModCxhLGUpOmUoKX12YXIgRHJ0PWYoKCk9PntWaSgpO19ydCgpO0c3KCk7VTUoKTtlbmUoKTtYNSgpO0xydCgpO0hzKCk7ZTAoKTtzKHRuZSwiY29tYmluZUxhdGVzdCIpO3MoUG1hLCJjb21iaW5lTGF0ZXN0SW5pdCIpO3MoJHJ0LCJtYXliZVNjaGVkdWxlIil9KTtmdW5jdGlvbiBBcnQoYSxlLHQscixpLG8sbixsKXt2YXIgZD1bXSxjPTAscD0wLHU9ITEsbT1zKGZ1bmN0aW9uKCl7dSYmIWQubGVuZ3RoJiYhYyYmZS5jb21wbGV0ZSgpfSwiY2hlY2tDb21wbGV0ZSIpLHY9cyhmdW5jdGlvbihiKXtyZXR1cm4gYzxyP3goYik6ZC5wdXNoKGIpfSwib3V0ZXJOZXh0IikseD1zKGZ1bmN0aW9uKGIpe28mJmUubmV4dChiKSxjKys7dmFyIGc9ITE7Y3IodChiLHArKykpLnN1YnNjcmliZShsYShlLGZ1bmN0aW9uKHkpe2k/Lih5KSxvP3YoeSk6ZS5uZXh0KHkpfSxmdW5jdGlvbigpe2c9ITB9LHZvaWQgMCxmdW5jdGlvbigpe2lmKGcpdHJ5e2MtLTtmb3IodmFyIHk9cyhmdW5jdGlvbigpe3ZhciBrPWQuc2hpZnQoKTtuP3pzKGUsbixmdW5jdGlvbigpe3JldHVybiB4KGspfSk6eChrKX0sIl9sb29wXzEiKTtkLmxlbmd0aCYmYzxyOyl5KCk7bSgpfWNhdGNoKGspe2UuZXJyb3Ioayl9fSkpfSwiZG9Jbm5lclN1YiIpO3JldHVybiBhLnN1YnNjcmliZShsYShlLHYsZnVuY3Rpb24oKXt1PSEwLG0oKX0pKSxmdW5jdGlvbigpe2w/LigpfX12YXIgUHJ0PWYoKCk9PntxbygpO2UwKCk7SHMoKTtzKEFydCwibWVyZ2VJbnRlcm5hbHMiKX0pO2Z1bmN0aW9uIG8zKGEsZSx0KXtyZXR1cm4gdD09PXZvaWQgMCYmKHQ9MS8wKSxPdChlKT9vMyhmdW5jdGlvbihyLGkpe3JldHVybiB1MihmdW5jdGlvbihvLG4pe3JldHVybiBlKHIsbyxpLG4pfSkoY3IoYShyLGkpKSl9LHQpOih0eXBlb2YgZT09Im51bWJlciImJih0PWUpLHdhKGZ1bmN0aW9uKHIsaSl7cmV0dXJuIEFydChyLGksYSx0KX0pKX12YXIgSzc9ZigoKT0+e1k3KCk7cW8oKTtscygpO1BydCgpO0JzKCk7cyhvMywibWVyZ2VNYXAiKX0pO2Z1bmN0aW9uIGtZKGEpe3JldHVybiBhPT09dm9pZCAwJiYoYT0xLzApLG8zKGwyLGEpfXZhciBTWT1mKCgpPT57SzcoKTtVNSgpO3Moa1ksIm1lcmdlQWxsIil9KTtmdW5jdGlvbiB6WSgpe3JldHVybiBrWSgxKX12YXIgQ1k9ZigoKT0+e1NZKCk7cyh6WSwiY29uY2F0QWxsIil9KTtmdW5jdGlvbiBfWSgpe2Zvcih2YXIgYT1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKylhW2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gelkoKShkMihhLGMyKGEpKSl9dmFyIGFuZT1mKCgpPT57Q1koKTtYNSgpO0c3KCk7cyhfWSwiY29uY2F0Iil9KTt2YXIgRXJ0PWYoKCk9Pnt9KTt2YXIgSXJ0PWYoKCk9Pnt9KTt2YXIgTnJ0PWYoKCk9Pnt9KTtmdW5jdGlvbiBuMyhhLGUsdCxyKXtpZihPdCh0KSYmKHI9dCx0PXZvaWQgMCkscilyZXR1cm4gbjMoYSxlLHQpLnBpcGUoTVkocikpO3ZhciBpPVByKEZtYShhKT9JbWEubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBmdW5jdGlvbihkKXtyZXR1cm4gYVtsXShlLGQsdCl9fSk6Um1hKGEpP0VtYS5tYXAoUnJ0KGEsZSkpOk9tYShhKT9ObWEubWFwKFJydChhLGUpKTpbXSwyKSxvPWlbMF0sbj1pWzFdO2lmKCFvJiZRNShhKSlyZXR1cm4gbzMoZnVuY3Rpb24obCl7cmV0dXJuIG4zKGwsZSx0KX0pKGNyKGEpKTtpZighbyl0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGV2ZW50IHRhcmdldCIpO3JldHVybiBuZXcgQnQoZnVuY3Rpb24obCl7dmFyIGQ9cyhmdW5jdGlvbigpe2Zvcih2YXIgYz1bXSxwPTA7cDxhcmd1bWVudHMubGVuZ3RoO3ArKyljW3BdPWFyZ3VtZW50c1twXTtyZXR1cm4gbC5uZXh0KDE8Yy5sZW5ndGg/YzpjWzBdKX0sImhhbmRsZXIiKTtyZXR1cm4gbyhkKSxmdW5jdGlvbigpe3JldHVybiBuKGQpfX0pfWZ1bmN0aW9uIFJydChhLGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIGFbdF0oZSxyKX19fWZ1bmN0aW9uIFJtYShhKXtyZXR1cm4gT3QoYS5hZGRMaXN0ZW5lcikmJk90KGEucmVtb3ZlTGlzdGVuZXIpfWZ1bmN0aW9uIE9tYShhKXtyZXR1cm4gT3QoYS5vbikmJk90KGEub2ZmKX1mdW5jdGlvbiBGbWEoYSl7cmV0dXJuIE90KGEuYWRkRXZlbnRMaXN0ZW5lcikmJk90KGEucmVtb3ZlRXZlbnRMaXN0ZW5lcil9dmFyIEVtYSxJbWEsTm1hLE9ydD1mKCgpPT57SGEoKTtxbygpO1ZpKCk7SzcoKTtjWSgpO0JzKCk7ZW5lKCk7RW1hPVsiYWRkTGlzdGVuZXIiLCJyZW1vdmVMaXN0ZW5lciJdLEltYT1bImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sTm1hPVsib24iLCJvZmYiXTtzKG4zLCJmcm9tRXZlbnQiKTtzKFJydCwidG9Db21tb25IYW5kbGVyUmVnaXN0cnkiKTtzKFJtYSwiaXNOb2RlU3R5bGVFdmVudEVtaXR0ZXIiKTtzKE9tYSwiaXNKUXVlcnlTdHlsZUV2ZW50RW1pdHRlciIpO3MoRm1hLCJpc0V2ZW50VGFyZ2V0Iil9KTt2YXIgRnJ0PWYoKCk9Pnt9KTt2YXIgQnJ0PWYoKCk9Pnt9KTt2YXIgSHJ0PWYoKCk9Pnt9KTtmdW5jdGlvbiBaNyhhLGUsdCl7YT09PXZvaWQgMCYmKGE9MCksdD09PXZvaWQgMCYmKHQ9QW9lKTt2YXIgcj0tMTtyZXR1cm4gZSE9bnVsbCYmKGxZKGUpP3Q9ZTpyPWUpLG5ldyBCdChmdW5jdGlvbihpKXt2YXIgbz15WShhKT8rYS10Lm5vdygpOmE7bzwwJiYobz0wKTt2YXIgbj0wO3JldHVybiB0LnNjaGVkdWxlKGZ1bmN0aW9uKCl7aS5jbG9zZWR8fChpLm5leHQobisrKSwwPD1yP3RoaXMuc2NoZWR1bGUodm9pZCAwLHIpOmkuY29tcGxldGUoKSl9LG8pfSl9dmFyIFRZPWYoKCk9PntWaSgpO3lsKCk7T29lKCk7Sm9lKCk7cyhaNywidGltZXIiKX0pO2Z1bmN0aW9uIHJuZShhLGUpe3JldHVybiBhPT09dm9pZCAwJiYoYT0wKSxlPT09dm9pZCAwJiYoZT16byksYTwwJiYoYT0wKSxaNyhhLGEsZSl9dmFyIHFydD1mKCgpPT57eWwoKTtUWSgpO3Mocm5lLCJpbnRlcnZhbCIpfSk7dmFyIFZydD1mKCgpPT57fSk7ZnVuY3Rpb24gQm1hKCl7cmV0dXJuIGpydH12YXIganJ0LHNuZT1mKCgpPT57VmkoKTt0MygpO2pydD1uZXcgQnQodm4pO3MoQm1hLCJuZXZlciIpfSk7dmFyIFVydD1mKCgpPT57fSk7dmFyIFdydD1mKCgpPT57fSk7ZnVuY3Rpb24gTFkoYSxlKXtyZXR1cm4gd2EoZnVuY3Rpb24odCxyKXt2YXIgaT0wO3Quc3Vic2NyaWJlKGxhKHIsZnVuY3Rpb24obyl7cmV0dXJuIGEuY2FsbChlLG8saSsrKSYmci5uZXh0KG8pfSkpfSl9dmFyIGluZT1mKCgpPT57bHMoKTtIcygpO3MoTFksImZpbHRlciIpfSk7dmFyIEdydD1mKCgpPT57fSk7dmFyIFlydD1mKCgpPT57fSk7dmFyIEtydD1mKCgpPT57fSk7dmFyIFpydD1mKCgpPT57fSk7dmFyIFhydD1mKCgpPT57fSk7dmFyIFFydD1mKCgpPT57fSk7dmFyIG9uZT1mKCgpPT57fSk7dmFyIG5uZT1mKCgpPT57fSk7ZnVuY3Rpb24gJFkoYSl7cmV0dXJuIHdhKGZ1bmN0aW9uKGUsdCl7dmFyIHI9W107cmV0dXJuIGUuc3Vic2NyaWJlKGxhKHQsZnVuY3Rpb24oaSl7cmV0dXJuIHIucHVzaChpKX0sZnVuY3Rpb24oKXt0Lm5leHQociksdC5jb21wbGV0ZSgpfSkpLGNyKGEpLnN1YnNjcmliZShsYSh0LGZ1bmN0aW9uKCl7dmFyIGk9cjtyPVtdLHQubmV4dChpKX0sdm4pKSxmdW5jdGlvbigpe3I9bnVsbH19KX12YXIgbG5lPWYoKCk9PntscygpO3QzKCk7SHMoKTtxbygpO3MoJFksImJ1ZmZlciIpfSk7ZnVuY3Rpb24gRFkoYSxlKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9bnVsbCksZT1lPz9hLHdhKGZ1bmN0aW9uKHQscil7dmFyIGk9W10sbz0wO3Quc3Vic2NyaWJlKGxhKHIsZnVuY3Rpb24obil7dmFyIGwsZCxjLHAsdT1udWxsO28rKyVlPT09MCYmaS5wdXNoKFtdKTt0cnl7Zm9yKHZhciBtPXZpKGkpLHY9bS5uZXh0KCk7IXYuZG9uZTt2PW0ubmV4dCgpKXt2YXIgeD12LnZhbHVlO3gucHVzaChuKSxhPD14Lmxlbmd0aCYmKHU9dT8/W10sdS5wdXNoKHgpKX19Y2F0Y2goeSl7bD17ZXJyb3I6eX19ZmluYWxseXt0cnl7diYmIXYuZG9uZSYmKGQ9bS5yZXR1cm4pJiZkLmNhbGwobSl9ZmluYWxseXtpZihsKXRocm93IGwuZXJyb3J9fWlmKHUpdHJ5e2Zvcih2YXIgYj12aSh1KSxnPWIubmV4dCgpOyFnLmRvbmU7Zz1iLm5leHQoKSl7dmFyIHg9Zy52YWx1ZTthMShpLHgpLHIubmV4dCh4KX19Y2F0Y2goeSl7Yz17ZXJyb3I6eX19ZmluYWxseXt0cnl7ZyYmIWcuZG9uZSYmKHA9Yi5yZXR1cm4pJiZwLmNhbGwoYil9ZmluYWxseXtpZihjKXRocm93IGMuZXJyb3J9fX0sZnVuY3Rpb24oKXt2YXIgbixsO3RyeXtmb3IodmFyIGQ9dmkoaSksYz1kLm5leHQoKTshYy5kb25lO2M9ZC5uZXh0KCkpe3ZhciBwPWMudmFsdWU7ci5uZXh0KHApfX1jYXRjaCh1KXtuPXtlcnJvcjp1fX1maW5hbGx5e3RyeXtjJiYhYy5kb25lJiYobD1kLnJldHVybikmJmwuY2FsbChkKX1maW5hbGx5e2lmKG4pdGhyb3cgbi5lcnJvcn19ci5jb21wbGV0ZSgpfSx2b2lkIDAsZnVuY3Rpb24oKXtpPW51bGx9KSl9KX12YXIgY25lPWYoKCk9PntIYSgpO2xzKCk7SHMoKTtINSgpO3MoRFksImJ1ZmZlckNvdW50Iil9KTtmdW5jdGlvbiBBWShhKXtmb3IodmFyIGUsdCxyPVtdLGk9MTtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKXJbaS0xXT1hcmd1bWVudHNbaV07dmFyIG89KGU9YzIocikpIT09bnVsbCYmZSE9PXZvaWQgMD9lOnpvLG49KHQ9clswXSkhPT1udWxsJiZ0IT09dm9pZCAwP3Q6bnVsbCxsPXJbMV18fDEvMDtyZXR1cm4gd2EoZnVuY3Rpb24oZCxjKXt2YXIgcD1bXSx1PSExLG09cyhmdW5jdGlvbihiKXt2YXIgZz1iLmJ1ZmZlcix5PWIuc3Viczt5LnVuc3Vic2NyaWJlKCksYTEocCxiKSxjLm5leHQoZyksdSYmdigpfSwiZW1pdCIpLHY9cyhmdW5jdGlvbigpe2lmKHApe3ZhciBiPW5ldyBXcjtjLmFkZChiKTt2YXIgZz1bXSx5PXtidWZmZXI6ZyxzdWJzOmJ9O3AucHVzaCh5KSx6cyhiLG8sZnVuY3Rpb24oKXtyZXR1cm4gbSh5KX0sYSl9fSwic3RhcnRCdWZmZXIiKTtuIT09bnVsbCYmbj49MD96cyhjLG8sdixuLCEwKTp1PSEwLHYoKTt2YXIgeD1sYShjLGZ1bmN0aW9uKGIpe3ZhciBnLHksaz1wLnNsaWNlKCk7dHJ5e2Zvcih2YXIgQz12aShrKSxOPUMubmV4dCgpOyFOLmRvbmU7Tj1DLm5leHQoKSl7dmFyIF89Ti52YWx1ZSx6PV8uYnVmZmVyO3oucHVzaChiKSxsPD16Lmxlbmd0aCYmbShfKX19Y2F0Y2goTyl7Zz17ZXJyb3I6T319ZmluYWxseXt0cnl7TiYmIU4uZG9uZSYmKHk9Qy5yZXR1cm4pJiZ5LmNhbGwoQyl9ZmluYWxseXtpZihnKXRocm93IGcuZXJyb3J9fX0sZnVuY3Rpb24oKXtmb3IoO3A/Lmxlbmd0aDspYy5uZXh0KHAuc2hpZnQoKS5idWZmZXIpO3g/LnVuc3Vic2NyaWJlKCksYy5jb21wbGV0ZSgpLGMudW5zdWJzY3JpYmUoKX0sdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIHA9bnVsbH0pO2Quc3Vic2NyaWJlKHgpfSl9dmFyIGRuZT1mKCgpPT57SGEoKTtuMigpO2xzKCk7SHMoKTtINSgpO3lsKCk7WDUoKTtlMCgpO3MoQVksImJ1ZmZlclRpbWUiKX0pO3ZhciB1bmU9ZigoKT0+e30pO3ZhciBwbmU9ZigoKT0+e30pO3ZhciBmbmU9ZigoKT0+e30pO3ZhciBobmU9ZigoKT0+e30pO3ZhciBtbmU9ZigoKT0+e30pO3ZhciBnbmU9ZigoKT0+e30pO3ZhciBibmU9ZigoKT0+e30pO3ZhciBKcnQ9ZigoKT0+e30pO3ZhciB2bmU9ZigoKT0+e30pO3ZhciB4bmU9ZigoKT0+e30pO3ZhciB5bmU9ZigoKT0+e30pO3ZhciBlc3Q9ZigoKT0+e30pO3ZhciB3bmU9ZigoKT0+e30pO3ZhciBNbmU9ZigoKT0+e30pO3ZhciBrbmU9ZigoKT0+e30pO2Z1bmN0aW9uIFBZKGEpe3JldHVybiB3YShmdW5jdGlvbihlLHQpe3ZhciByPSExLGk9bnVsbCxvPW51bGwsbj1zKGZ1bmN0aW9uKCl7aWYobz8udW5zdWJzY3JpYmUoKSxvPW51bGwscil7cj0hMTt2YXIgbD1pO2k9bnVsbCx0Lm5leHQobCl9fSwiZW1pdCIpO2Uuc3Vic2NyaWJlKGxhKHQsZnVuY3Rpb24obCl7bz8udW5zdWJzY3JpYmUoKSxyPSEwLGk9bCxvPWxhKHQsbix2biksY3IoYShsKSkuc3Vic2NyaWJlKG8pfSxmdW5jdGlvbigpe24oKSx0LmNvbXBsZXRlKCl9LHZvaWQgMCxmdW5jdGlvbigpe2k9bz1udWxsfSkpfSl9dmFyIFNuZT1mKCgpPT57bHMoKTt0MygpO0hzKCk7cW8oKTtzKFBZLCJkZWJvdW5jZSIpfSk7ZnVuY3Rpb24gRVkoYSxlKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9em8pLHdhKGZ1bmN0aW9uKHQscil7dmFyIGk9bnVsbCxvPW51bGwsbj1udWxsLGw9cyhmdW5jdGlvbigpe2lmKGkpe2kudW5zdWJzY3JpYmUoKSxpPW51bGw7dmFyIGM9bztvPW51bGwsci5uZXh0KGMpfX0sImVtaXQiKTtmdW5jdGlvbiBkKCl7dmFyIGM9bithLHA9ZS5ub3coKTtpZihwPGMpe2k9dGhpcy5zY2hlZHVsZSh2b2lkIDAsYy1wKSxyLmFkZChpKTtyZXR1cm59bCgpfXMoZCwiZW1pdFdoZW5JZGxlIiksdC5zdWJzY3JpYmUobGEocixmdW5jdGlvbihjKXtvPWMsbj1lLm5vdygpLGl8fChpPWUuc2NoZWR1bGUoZCxhKSxyLmFkZChpKSl9LGZ1bmN0aW9uKCl7bCgpLHIuY29tcGxldGUoKX0sdm9pZCAwLGZ1bmN0aW9uKCl7bz1pPW51bGx9KSl9KX12YXIgem5lPWYoKCk9Pnt5bCgpO2xzKCk7SHMoKTtzKEVZLCJkZWJvdW5jZVRpbWUiKX0pO3ZhciBDbmU9ZigoKT0+e30pO3ZhciBfbmU9ZigoKT0+e30pO3ZhciBUbmU9ZigoKT0+e30pO3ZhciBMbmU9ZigoKT0+e30pO3ZhciAkbmU9ZigoKT0+e30pO3ZhciBEbmU9ZigoKT0+e30pO3ZhciBBbmU9ZigoKT0+e30pO3ZhciBQbmU9ZigoKT0+e30pO2Z1bmN0aW9uIHRoKGEsZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPWwyKSxhPWE/P0htYSx3YShmdW5jdGlvbih0LHIpe3ZhciBpLG89ITA7dC5zdWJzY3JpYmUobGEocixmdW5jdGlvbihuKXt2YXIgbD1lKG4pOyhvfHwhYShpLGwpKSYmKG89ITEsaT1sLHIubmV4dChuKSl9KSl9KX1mdW5jdGlvbiBIbWEoYSxlKXtyZXR1cm4gYT09PWV9dmFyIEVuZT1mKCgpPT57VTUoKTtscygpO0hzKCk7cyh0aCwiZGlzdGluY3RVbnRpbENoYW5nZWQiKTtzKEhtYSwiZGVmYXVsdENvbXBhcmUiKX0pO3ZhciBJbmU9ZigoKT0+e30pO3ZhciBObmU9ZigoKT0+e30pO3ZhciBSbmU9ZigoKT0+e30pO3ZhciBPbmU9ZigoKT0+e30pO3ZhciBGbmU9ZigoKT0+e30pO3ZhciBCbmU9ZigoKT0+e30pO3ZhciBIbmU9ZigoKT0+e30pO3ZhciBxbmU9ZigoKT0+e30pO3ZhciBWbmU9ZigoKT0+e30pO3ZhciBqbmU9ZigoKT0+e30pO3ZhciBVbmU9ZigoKT0+e30pO3ZhciBXbmU9ZigoKT0+e30pO3ZhciBHbmU9ZigoKT0+e30pO3ZhciBZbmU9ZigoKT0+e30pO3ZhciBLbmU9ZigoKT0+e30pO3ZhciBabmU9ZigoKT0+e30pO3ZhciBYbmU9ZigoKT0+e30pO3ZhciBRbmU9ZigoKT0+e30pO3ZhciBKbmU9ZigoKT0+e30pO3ZhciBlMWU9ZigoKT0+e30pO3ZhciB0MWU9ZigoKT0+e30pO3ZhciBhMWU9ZigoKT0+e30pO3ZhciB0c3Q9ZigoKT0+e30pO3ZhciByMWU9ZigoKT0+e30pO3ZhciBzMWU9ZigoKT0+e30pO3ZhciBpMWU9ZigoKT0+e30pO3ZhciBvMWU9ZigoKT0+e30pO3ZhciBuMWU9ZigoKT0+e30pO3ZhciBsMWU9ZigoKT0+e30pO3ZhciBjMWU9ZigoKT0+e30pO3ZhciBkMWU9ZigoKT0+e30pO3ZhciB1MWU9ZigoKT0+e30pO3ZhciBwMWU9ZigoKT0+e30pO3ZhciBmMWU9ZigoKT0+e30pO3ZhciBoMWU9ZigoKT0+e30pO3ZhciBtMWU9ZigoKT0+e30pO3ZhciBnMWU9ZigoKT0+e30pO3ZhciBiMWU9ZigoKT0+e30pO3ZhciB2MWU9ZigoKT0+e30pO3ZhciB4MWU9ZigoKT0+e30pO3ZhciB5MWU9ZigoKT0+e30pO3ZhciB3MWU9ZigoKT0+e30pO2Z1bmN0aW9uIElZKGEpe2E9PT12b2lkIDAmJihhPXt9KTt2YXIgZT1hLmNvbm5lY3Rvcix0PWU9PT12b2lkIDA/ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHhpfTplLHI9YS5yZXNldE9uRXJyb3IsaT1yPT09dm9pZCAwPyEwOnIsbz1hLnJlc2V0T25Db21wbGV0ZSxuPW89PT12b2lkIDA/ITA6byxsPWEucmVzZXRPblJlZkNvdW50WmVybyxkPWw9PT12b2lkIDA/ITA6bDtyZXR1cm4gZnVuY3Rpb24oYyl7dmFyIHAsdSxtLHY9MCx4PSExLGI9ITEsZz1zKGZ1bmN0aW9uKCl7dT8udW5zdWJzY3JpYmUoKSx1PXZvaWQgMH0sImNhbmNlbFJlc2V0IikseT1zKGZ1bmN0aW9uKCl7ZygpLHA9bT12b2lkIDAseD1iPSExfSwicmVzZXQiKSxrPXMoZnVuY3Rpb24oKXt2YXIgQz1wO3koKSxDPy51bnN1YnNjcmliZSgpfSwicmVzZXRBbmRVbnN1YnNjcmliZSIpO3JldHVybiB3YShmdW5jdGlvbihDLE4pe3YrKywhYiYmIXgmJmcoKTt2YXIgXz1tPW0/P3QoKTtOLmFkZChmdW5jdGlvbigpe3YtLSx2PT09MCYmIWImJiF4JiYodT1NMWUoayxkKSl9KSxfLnN1YnNjcmliZShOKSwhcCYmdj4wJiYocD1uZXcgSmMoe25leHQ6cyhmdW5jdGlvbih6KXtyZXR1cm4gXy5uZXh0KHopfSwibmV4dCIpLGVycm9yOnMoZnVuY3Rpb24oeil7Yj0hMCxnKCksdT1NMWUoeSxpLHopLF8uZXJyb3Ioeil9LCJlcnJvciIpLGNvbXBsZXRlOnMoZnVuY3Rpb24oKXt4PSEwLGcoKSx1PU0xZSh5LG4pLF8uY29tcGxldGUoKX0sImNvbXBsZXRlIil9KSxjcihDKS5zdWJzY3JpYmUocCkpfSkoYyl9fWZ1bmN0aW9uIE0xZShhLGUpe2Zvcih2YXIgdD1bXSxyPTI7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMl09YXJndW1lbnRzW3JdO2lmKGU9PT0hMCl7YSgpO3JldHVybn1pZihlIT09ITEpe3ZhciBpPW5ldyBKYyh7bmV4dDpzKGZ1bmN0aW9uKCl7aS51bnN1YnNjcmliZSgpLGEoKX0sIm5leHQiKX0pO3JldHVybiBjcihlLmFwcGx5KHZvaWQgMCxTcyhbXSxQcih0KSkpKS5zdWJzY3JpYmUoaSl9fXZhciBOWT1mKCgpPT57SGEoKTtxbygpO1c1KCk7RjcoKTtscygpO3MoSVksInNoYXJlIik7cyhNMWUsImhhbmRsZVJlc2V0Iil9KTtmdW5jdGlvbiBSWShhLGUsdCl7dmFyIHIsaSxvLG4sbD0hMTtyZXR1cm4gYSYmdHlwZW9mIGE9PSJvYmplY3QiPyhyPWEuYnVmZmVyU2l6ZSxuPXI9PT12b2lkIDA/MS8wOnIsaT1hLndpbmRvd1RpbWUsZT1pPT09dm9pZCAwPzEvMDppLG89YS5yZWZDb3VudCxsPW89PT12b2lkIDA/ITE6byx0PWEuc2NoZWR1bGVyKTpuPWE/PzEvMCxJWSh7Y29ubmVjdG9yOnMoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFk1KG4sZSx0KX0sImNvbm5lY3RvciIpLHJlc2V0T25FcnJvcjohMCxyZXNldE9uQ29tcGxldGU6ITEscmVzZXRPblJlZkNvdW50WmVybzpsfSl9dmFyIGsxZT1mKCgpPT57em9lKCk7TlkoKTtzKFJZLCJzaGFyZVJlcGxheSIpfSk7dmFyIFMxZT1mKCgpPT57fSk7dmFyIHoxZT1mKCgpPT57fSk7dmFyIEMxZT1mKCgpPT57fSk7dmFyIF8xZT1mKCgpPT57fSk7dmFyIFQxZT1mKCgpPT57fSk7ZnVuY3Rpb24gT1koKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9YzIoYSk7cmV0dXJuIHdhKGZ1bmN0aW9uKHIsaSl7KHQ/X1koYSxyLHQpOl9ZKGEscikpLnN1YnNjcmliZShpKX0pfXZhciBMMWU9ZigoKT0+e2FuZSgpO1g1KCk7bHMoKTtzKE9ZLCJzdGFydFdpdGgiKX0pO3ZhciAkMWU9ZigoKT0+e30pO3ZhciBEMWU9ZigoKT0+e30pO3ZhciBBMWU9ZigoKT0+e30pO3ZhciBQMWU9ZigoKT0+e30pO2Z1bmN0aW9uIGFoKGEpe3JldHVybiB3YShmdW5jdGlvbihlLHQpe2NyKGEpLnN1YnNjcmliZShsYSh0LGZ1bmN0aW9uKCl7cmV0dXJuIHQuY29tcGxldGUoKX0sdm4pKSwhdC5jbG9zZWQmJmUuc3Vic2NyaWJlKHQpfSl9dmFyIEUxZT1mKCgpPT57bHMoKTtIcygpO3FvKCk7dDMoKTtzKGFoLCJ0YWtlVW50aWwiKX0pO3ZhciBJMWU9ZigoKT0+e30pO3ZhciBOMWU9ZigoKT0+e30pO2Z1bmN0aW9uIEZZKGEsZSl7cmV0dXJuIHdhKGZ1bmN0aW9uKHQscil7dmFyIGk9ZT8/e30sbz1pLmxlYWRpbmcsbj1vPT09dm9pZCAwPyEwOm8sbD1pLnRyYWlsaW5nLGQ9bD09PXZvaWQgMD8hMTpsLGM9ITEscD1udWxsLHU9bnVsbCxtPSExLHY9cyhmdW5jdGlvbigpe3U/LnVuc3Vic2NyaWJlKCksdT1udWxsLGQmJihnKCksbSYmci5jb21wbGV0ZSgpKX0sImVuZFRocm90dGxpbmciKSx4PXMoZnVuY3Rpb24oKXt1PW51bGwsbSYmci5jb21wbGV0ZSgpfSwiY2xlYW51cFRocm90dGxpbmciKSxiPXMoZnVuY3Rpb24oeSl7cmV0dXJuIHU9Y3IoYSh5KSkuc3Vic2NyaWJlKGxhKHIsdix4KSl9LCJzdGFydFRocm90dGxlIiksZz1zKGZ1bmN0aW9uKCl7aWYoYyl7Yz0hMTt2YXIgeT1wO3A9bnVsbCxyLm5leHQoeSksIW0mJmIoeSl9fSwic2VuZCIpO3Quc3Vic2NyaWJlKGxhKHIsZnVuY3Rpb24oeSl7Yz0hMCxwPXksISh1JiYhdS5jbG9zZWQpJiYobj9nKCk6Yih5KSl9LGZ1bmN0aW9uKCl7bT0hMCwhKGQmJmMmJnUmJiF1LmNsb3NlZCkmJnIuY29tcGxldGUoKX0pKX0pfXZhciBCWT1mKCgpPT57bHMoKTtIcygpO3FvKCk7cyhGWSwidGhyb3R0bGUiKX0pO2Z1bmN0aW9uIEhZKGEsZSx0KXtlPT09dm9pZCAwJiYoZT16byk7dmFyIHI9WjcoYSxlKTtyZXR1cm4gRlkoZnVuY3Rpb24oKXtyZXR1cm4gcn0sdCl9dmFyIFIxZT1mKCgpPT57eWwoKTtCWSgpO1RZKCk7cyhIWSwidGhyb3R0bGVUaW1lIil9KTtmdW5jdGlvbiByc3QoYSl7cmV0dXJuIGE9PT12b2lkIDAmJihhPXpvKSx3YShmdW5jdGlvbihlLHQpe3ZhciByPWEubm93KCk7ZS5zdWJzY3JpYmUobGEodCxmdW5jdGlvbihpKXt2YXIgbz1hLm5vdygpLG49by1yO3I9byx0Lm5leHQobmV3IGFzdChpLG4pKX0pKX0pfXZhciBhc3QsTzFlPWYoKCk9Pnt5bCgpO2xzKCk7SHMoKTtzKHJzdCwidGltZUludGVydmFsIik7YXN0PShmdW5jdGlvbigpe2Z1bmN0aW9uIGEoZSx0KXt0aGlzLnZhbHVlPWUsdGhpcy5pbnRlcnZhbD10fXJldHVybiBzKGEsIlRpbWVJbnRlcnZhbCIpLGF9KSgpfSk7dmFyIEYxZT1mKCgpPT57fSk7dmFyIEIxZT1mKCgpPT57fSk7dmFyIEgxZT1mKCgpPT57fSk7dmFyIHExZT1mKCgpPT57fSk7dmFyIFYxZT1mKCgpPT57fSk7dmFyIGoxZT1mKCgpPT57fSk7dmFyIFUxZT1mKCgpPT57fSk7dmFyIFcxZT1mKCgpPT57fSk7dmFyIEcxZT1mKCgpPT57fSk7dmFyIHNzdD1mKCgpPT57fSk7dmFyIFkxZT1mKCgpPT57fSk7dmFyIHJoPWYoKCk9PntWaSgpO0xhdCgpO0I3KCk7QWF0KCk7VzUoKTtQYXQoKTt6b2UoKTtJYXQoKTtqYXQoKTt5bCgpO1lhdCgpO1FhdCgpO2VydCgpOyRvZSgpO24yKCk7RjcoKTtocnQoKTtib2UoKTt0MygpO1U1KCk7bXJ0KCk7YnJ0KCk7dnJ0KCk7eHJ0KCk7Z3J0KCk7eXJ0KCk7TW9lKCk7d3J0KCk7d1koKTtjb2UoKTtTcnQoKTt6cnQoKTtEcnQoKTthbmUoKTtJcnQoKTtFcnQoKTtuWSgpO05ydCgpO0c3KCk7T3J0KCk7RnJ0KCk7QnJ0KCk7SHJ0KCk7cXJ0KCk7VnJ0KCk7c25lKCk7S29lKCk7VXJ0KCk7V3J0KCk7R3J0KCk7WXJ0KCk7S3J0KCk7WG9lKCk7VFkoKTtacnQoKTtYcnQoKTtZb2UoKTtuWSgpO3NuZSgpO1FydCgpO3E1KCk7b25lKCk7bm5lKCk7bG5lKCk7Y25lKCk7ZG5lKCk7dW5lKCk7cG5lKCk7Zm5lKCk7Ym5lKCk7Z25lKCk7dm5lKCk7Q1koKTt4bmUoKTt5bmUoKTt3bmUoKTtNbmUoKTtrbmUoKTtTbmUoKTt6bmUoKTtDbmUoKTtEbmUoKTskbmUoKTtBbmUoKTtQbmUoKTtFbmUoKTtJbmUoKTtSbmUoKTtPbmUoKTtGbmUoKTtxbmUoKTtIbmUoKTtCbmUoKTtWbmUoKTtpbmUoKTtqbmUoKTtVbmUoKTtXbmUoKTtHbmUoKTtZbmUoKTtUbmUoKTtLbmUoKTtYbmUoKTtZNygpO0xuZSgpO1FuZSgpO0puZSgpO1NZKCk7ZTFlKCk7SzcoKTt0MWUoKTthMWUoKTtyMWUoKTtzMWUoKTtpMWUoKTtVNygpO28xZSgpO24xZSgpO2wxZSgpO2MxZSgpO2QxZSgpO3UxZSgpO3AxZSgpO2YxZSgpO2huZSgpO2gxZSgpO20xZSgpO2cxZSgpO2IxZSgpO3NZKCk7djFlKCk7eDFlKCk7eTFlKCk7dzFlKCk7TlkoKTtrMWUoKTtTMWUoKTt6MWUoKTtDMWUoKTtfMWUoKTtUMWUoKTtMMWUoKTtXNygpO0QxZSgpOyQxZSgpO0ExZSgpO1AxZSgpO19uZSgpO1puZSgpO0UxZSgpO0kxZSgpO04xZSgpO0JZKCk7UjFlKCk7Tm5lKCk7TzFlKCk7d1koKTtGMWUoKTtCMWUoKTttbmUoKTtIMWUoKTtxMWUoKTtWMWUoKTtqMWUoKTtVMWUoKTtXMWUoKTtHMWUoKTtZMWUoKX0pO3ZhciBpc3Q9ZigoKT0+e30pO3ZhciBvc3Q9ZigoKT0+e30pO3ZhciBuc3Q9ZigoKT0+e29uZSgpO25uZSgpO2xuZSgpO2NuZSgpO2RuZSgpO3VuZSgpO3BuZSgpO2ZuZSgpO2JuZSgpO2duZSgpO0pydCgpO3ZuZSgpO2VzdCgpO0NZKCk7eG5lKCk7eW5lKCk7d25lKCk7TW5lKCk7a25lKCk7U25lKCk7em5lKCk7Q25lKCk7RG5lKCk7JG5lKCk7QW5lKCk7UG5lKCk7RW5lKCk7SW5lKCk7Um5lKCk7T25lKCk7Rm5lKCk7cW5lKCk7SG5lKCk7Qm5lKCk7Vm5lKCk7aW5lKCk7am5lKCk7VW5lKCk7V25lKCk7R25lKCk7WW5lKCk7VG5lKCk7S25lKCk7WG5lKCk7WTcoKTtMbmUoKTtRbmUoKTtKbmUoKTt0c3QoKTtTWSgpO2UxZSgpO0s3KCk7dDFlKCk7YTFlKCk7cjFlKCk7czFlKCk7aTFlKCk7VTcoKTtvMWUoKTtuMWUoKTtpc3QoKTtsMWUoKTtjMWUoKTtkMWUoKTt1MWUoKTtwMWUoKTtvc3QoKTtmMWUoKTtobmUoKTtoMWUoKTttMWUoKTtnMWUoKTtiMWUoKTtzWSgpO3YxZSgpO3gxZSgpO3kxZSgpO3cxZSgpO05ZKCk7azFlKCk7UzFlKCk7ejFlKCk7QzFlKCk7XzFlKCk7VDFlKCk7TDFlKCk7VzcoKTtEMWUoKTskMWUoKTtBMWUoKTtQMWUoKTtfbmUoKTtabmUoKTtFMWUoKTtJMWUoKTtOMWUoKTtCWSgpO1IxZSgpO05uZSgpO08xZSgpO3dZKCk7RjFlKCk7QjFlKCk7bW5lKCk7SDFlKCk7cTFlKCk7VjFlKCk7ajFlKCk7VTFlKCk7VzFlKCk7c3N0KCk7RzFlKCk7WTFlKCl9KTt2YXIgc2g9e307bHQoc2gse09ic2VydmFibGU6KCk9PkJ0LFJlcGxheVN1YmplY3Q6KCk9Plk1LFN1YmplY3Q6KCk9PnhpLFN1YnNjcmlwdGlvbjooKT0+V3IsZnJvbTooKT0+ZDIsZnJvbUV2ZW50OigpPT5uMyxvZjooKT0+aTMsb3BzOigpPT52OWF9KTt2YXIgdjlhLHFZPWYoKCk9PntyaCgpO25zdCgpO3Y5YT17YnVmZmVyOiRZLGJ1ZmZlckNvdW50OkRZLGJ1ZmZlclRpbWU6QVksZGVib3VuY2U6UFksZGVib3VuY2VUaW1lOkVZLGZpbHRlcjpMWSxtYXA6dTIsc3RhcnRXaXRoOk9ZLHRha2VVbnRpbDphaCx0aHJvdHRsZVRpbWU6SFl9fSk7dmFyIEsxZSxsc3Q9ZigoKT0+e1FHKCk7cVkoKTtLMWU9Y2xhc3N7c3RhdGlje3ModGhpcywiT2JzZXJ2YWJsZW1hcCIpfWNvbnN0cnVjdG9yKCl7dGhpcy5vYnNlcnZhYmxlRXZlbnRFbWl0dGVyQnVuZGxlQXJyYXk9bmV3IEFycmF5LHRoaXMub2JzZXJ2YWJsZUV2ZW50VGFyZ2V0QnVuZGxlQXJyYXk9bmV3IEFycmF5fWdldFN1YmplY3RGb3JFbWl0dGVyRXZlbnQoZSx0KXtsZXQgcj10aGlzLm9ic2VydmFibGVFdmVudEVtaXR0ZXJCdW5kbGVBcnJheS5maW5kKGk9PmkuZXZlbnRSZWY9PT1lJiZpLmV2ZW50PT09dCk7aWYocilyZXR1cm4gci5zdWJqZWN0O3tsZXQgaT1uMyhlLHQpLG89bmV3IHhpO2kuc3Vic2NyaWJlKG8pO2xldCBuPXtzdWJqZWN0Om8sZXZlbnRSZWY6ZSxldmVudDp0fTtyZXR1cm4gdGhpcy5vYnNlcnZhYmxlRXZlbnRFbWl0dGVyQnVuZGxlQXJyYXkucHVzaChuKSxuLnN1YmplY3R9fWdldFN1YmplY3RGb3JFdmVudFRhcmdldChlLHQpe2xldCByPXRoaXMub2JzZXJ2YWJsZUV2ZW50VGFyZ2V0QnVuZGxlQXJyYXkuZmluZChpPT5pLmV2ZW50UmVmPT09ZSYmaS5ldmVudD09PXQpO2lmKHIpcmV0dXJuIHIuc3ViamVjdDt7bGV0IG89e3N1YmplY3Q6bmV3IHhpLGV2ZW50UmVmOmUsZXZlbnQ6dH07cmV0dXJuIHRoaXMub2JzZXJ2YWJsZUV2ZW50VGFyZ2V0QnVuZGxlQXJyYXkucHVzaChvKSxvLnN1YmplY3R9fX19KTt2YXIgWjFlLGNzdD1mKCgpPT57UUcoKTtxWSgpO1oxZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJPYnNlcnZhYmxlSW50YWtlIil9Y29uc3RydWN0b3IoKXt0aGlzLm9ic2VydmFibGVGdW5jdGlvbnM9e25leHQ6cyhlPT57fSwibmV4dCIpLGNvbXBsZXRlOnMoZT0+e30sImNvbXBsZXRlIil9LHRoaXMuZ2VuZXJhdG9yPW51bGwsdGhpcy5idWZmZXJlZD0hMSx0aGlzLnBheWxvYWRCdWZmZXI9W10sdGhpcy5vYnNlcnZhYmxlPW5ldyBCdChlPT57dGhpcy5vYnNlcnZhYmxlRnVuY3Rpb25zLm5leHQ9KC4uLnQpPT5lLm5leHQodCksdGhpcy5vYnNlcnZhYmxlRnVuY3Rpb25zLmNvbXBsZXRlPSgpPT4odGhpcy5jb21wbGV0ZWREZWZmZXJlZC5yZXNvbHZlKCksZS5jb21wbGV0ZSgpKX0pLHRoaXMuY29tcGxldGVkRGVmZmVyZWQ9Y3QuZGVmZXIoKSx0aGlzLmNvbXBsZXRlZD10aGlzLmNvbXBsZXRlZERlZmZlcmVkLnByb21pc2V9c2V0T2JzZXJ2YWJsZShlKXt0aGlzLm9ic2VydmFibGU9ZX1wdXNoKGUpe3RoaXMuYnVmZmVyZWQ/dGhpcy5wYXlsb2FkQnVmZmVyLnB1c2goZSk6dGhpcy5pbnRlcm5hbFB1c2goZSl9cHVzaE1hbnkoZSl7Zm9yKGxldCB0IG9mIGUpdGhpcy5wdXNoKHQpfXNldEdlbmVyYXRvcihlKXt0aGlzLmdlbmVyYXRvcj1lfW1ha2VCdWZmZXJlZCgpe3RoaXMuYnVmZmVyZWQ9ITB9c3Vic2NyaWJlKC4uLmUpe3JldHVybiB0aGlzLm9ic2VydmFibGUuc3Vic2NyaWJlKC4uLmUpfXJlcXVlc3QoZSl7aWYoZSE9PTApZm9yKGxldCB0PTA7dCE9PWU7dCsrKWlmKHRoaXMucGF5bG9hZEJ1ZmZlci5sZW5ndGg+MCl0aGlzLmludGVybmFsUHVzaCh0aGlzLnBheWxvYWRCdWZmZXIuc2hpZnQoKSk7ZWxzZXtsZXQgcj10aGlzLmdlbmVyYXRvci5uZXh0KCk7dGhpcy5pbnRlcm5hbFB1c2goci52YWx1ZSl9fXNpZ25hbENvbXBsZXRlKCl7dGhpcy5vYnNlcnZhYmxlRnVuY3Rpb25zLmNvbXBsZXRlKCl9aW50ZXJuYWxQdXNoKGUpe3RoaXMub2JzZXJ2YWJsZUZ1bmN0aW9ucy5uZXh0KGUpfX19KTtmdW5jdGlvbiB4OWEoYSl7cmV0dXJuIG5ldyBCdChlPT57bGV0IHQ9cygoKT0+YS5wYXVzZSgpLCJwYXVzZVN0cmVhbSIpLHI9cygoKT0+cHJvY2Vzcy5uZXh0VGljaygoKT0+YS5yZXN1bWUoKSksInJlc3VtZVN0cmVhbSIpLGk9cyhvPT57dCgpLGUubmV4dChvKSxyKCl9LCJvbkRhdGEiKTtyZXR1cm4gYS5vbigiZGF0YSIsaSksYS5vbigiZXJyb3IiLG89PmUuZXJyb3IobykpLGEub24oImVuZCIsKCk9PmUuY29tcGxldGUoKSksYS5vbigiY2xvc2UiLCgpPT5lLmNvbXBsZXRlKCkpLCgpPT57YS5yZW1vdmVMaXN0ZW5lcigiZGF0YSIsaSksYS5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGUuZXJyb3IpLGEucmVtb3ZlTGlzdGVuZXIoImVuZCIsZS5jb21wbGV0ZSksYS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLGUuY29tcGxldGUpfX0pfXZhciBkc3Q9ZigoKT0+e3JoKCk7cyh4OWEsImZyb21TdHJlYW1XaXRoQmFja3ByZXNzdXJlIil9KTt2YXIgX2E9e307bHQoX2Ese09ic2VydmFibGVJbnRha2U6KCk9PloxZSxPYnNlcnZhYmxlbWFwOigpPT5LMWUsZnJvbVN0cmVhbVdpdGhCYWNrcHJlc3N1cmU6KCk9Png5YSxyeGpzOigpPT5zaH0pO3ZhciBwMj1mKCgpPT57UUcoKTtsc3QoKTtjc3QoKTtkc3QoKTtxWSgpfSk7ZnVuY3Rpb24gJChhKXtyZXR1cm4oZSx0KT0+dHlwZW9mIHQ9PSJvYmplY3QiP3VzdChhLGUsdCk6KChyLGksbyk9PntsZXQgbj1pLmhhc093blByb3BlcnR5KG8pO3JldHVybiBpLmNvbnN0cnVjdG9yLmNyZWF0ZVByb3BlcnR5KG8sciksbj9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGksbyk6dm9pZCAwfSkoYSxlLHQpfXZhciB5OWEsdXN0LFZZPWYoKCk9PntBNygpO3k5YT17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjpGNSxyZWZsZWN0OiExLGhhc0NoYW5nZWQ6RDd9LHVzdD1zKChhPXk5YSxlLHQpPT57bGV0e2tpbmQ6cixtZXRhZGF0YTppfT10LG89Z2xvYmFsVGhpcy5saXRQcm9wZXJ0eU1ldGFkYXRhLmdldChpKTtpZihvPT09dm9pZCAwJiZnbG9iYWxUaGlzLmxpdFByb3BlcnR5TWV0YWRhdGEuc2V0KGksbz1uZXcgTWFwKSxyPT09InNldHRlciImJigoYT1PYmplY3QuY3JlYXRlKGEpKS53cmFwcGVkPSEwKSxvLnNldCh0Lm5hbWUsYSkscj09PSJhY2Nlc3NvciIpe2xldHtuYW1lOm59PXQ7cmV0dXJue3NldChsKXtsZXQgZD1lLmdldC5jYWxsKHRoaXMpO2Uuc2V0LmNhbGwodGhpcyxsKSx0aGlzLnJlcXVlc3RVcGRhdGUobixkLGEsITAsbCl9LGluaXQobCl7cmV0dXJuIGwhPT12b2lkIDAmJnRoaXMuQyhuLHZvaWQgMCxhLGwpLGx9fX1pZihyPT09InNldHRlciIpe2xldHtuYW1lOm59PXQ7cmV0dXJuIGZ1bmN0aW9uKGwpe2xldCBkPXRoaXNbbl07ZS5jYWxsKHRoaXMsbCksdGhpcy5yZXF1ZXN0VXBkYXRlKG4sZCxhLCEwLGwpfX10aHJvdyBFcnJvcigiVW5zdXBwb3J0ZWQgZGVjb3JhdG9yIGxvY2F0aW9uOiAiK3IpfSwiciIpO3MoJCwibiIpfSk7dmFyIHBzdD1mKCgpPT57VlkoKX0pO3ZhciBmc3Q9ZigoKT0+e30pO3ZhciBVdD17fTtsdChVdCx7VGltZW91dDooKT0+alksZGVsYXlGb3I6KCk9PmhzdCxkZWxheUZvclJhbmRvbTooKT0+dzlhfSk7dmFyIGhzdCx3OWEsalksdDA9ZigoKT0+e2JpKCk7aHN0PXMoYXN5bmMoYSxlLHQ9ITEpPT4oYXdhaXQgbmV3IGpZKGEsbnVsbCx0KS5wcm9taXNlLGUpLCJkZWxheUZvciIpLHc5YT1zKGFzeW5jKGEsZSx0LHI9ITEpPT4oYXdhaXQgaHN0KE1hdGgucmFuZG9tKCkqKGUtYSkrYSxudWxsLHIpLHQpLCJkZWxheUZvclJhbmRvbSIpLGpZPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRpbWVvdXQiKX1jb25zdHJ1Y3RvcihlLHQscj0hMSl7dGhpcy5fY2FuY2VsbGVkPSExLHRoaXMudGltZW91dEluTWlsbGlzPWUsdGhpcy5fZGVmZXJyZWQ9WGMoKSx0aGlzLnByb21pc2U9dGhpcy5fZGVmZXJyZWQucHJvbWlzZSx0aGlzLl90aW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLl9jYW5jZWxsZWR8fHRoaXMuX2RlZmVycmVkLnJlc29sdmUodCl9LGUpLHRoaXMuc3RhcnRlZD1EYXRlLm5vdygpLHImJnRoaXMubWFrZVVucmVmZWQoKX1tYWtlVW5yZWZlZCgpe3RoaXMuX3RpbWVvdXQudW5yZWY/LigpfWNhbmNlbCgpe3RoaXMuX2NhbmNlbGxlZD0hMCxjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCl9Z2V0VGltZUxlZnQoKXtsZXQgZT10aGlzLnN0YXJ0ZWQrdGhpcy50aW1lb3V0SW5NaWxsaXMtRGF0ZS5ub3coKTtyZXR1cm4gZT4wP2U6MH19fSk7dmFyIGYyPXt9O3ZhciBpaD1mKCgpPT57fSk7ZnVuY3Rpb24gbDMoYSl7aWYodHlwZW9mIGEhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7cmV0dXJuIGEucmVwbGFjZSgvW3xcXHt9KClbXF1eJCsqPy5dL2csIlxcJCYiKS5yZXBsYWNlKC8tL2csIlxceDJkIil9dmFyIFVZPWYoKCk9PntzKGwzLCJlc2NhcGVTdHJpbmdSZWdleHAiKX0pO3ZhciBYNz17fTtsdChYNyx7aXNNYXRjaDooKT0+UzlhLG1hdGNoZXI6KCk9Pms5YX0pO2Z1bmN0aW9uIGs5YShhLGUsdCl7cmV0dXJuIGdzdChhLGUsdCwhMSl9ZnVuY3Rpb24gUzlhKGEsZSx0KXtyZXR1cm4gZ3N0KGEsZSx0LCEwKS5sZW5ndGg+MH12YXIgWDFlLG1zdCxNOWEsZ3N0LGJzdD1mKCgpPT57VVkoKTtYMWU9bmV3IE1hcCxtc3Q9cygoYSxlKT0+e2lmKCFBcnJheS5pc0FycmF5KGEpKXN3aXRjaCh0eXBlb2YgYSl7Y2FzZSJzdHJpbmciOmE9W2FdO2JyZWFrO2Nhc2UidW5kZWZpbmVkIjphPVtdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgJyR7ZX0nIHRvIGJlIGEgc3RyaW5nIG9yIGFuIGFycmF5LCBidXQgZ290IGEgdHlwZSBvZiAnJHt0eXBlb2YgYX0nYCl9cmV0dXJuIGEuZmlsdGVyKHQ9PntpZih0eXBlb2YgdCE9InN0cmluZyIpe2lmKHR5cGVvZiB0PiJ1IilyZXR1cm4hMTt0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAnJHtlfScgdG8gYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncywgYnV0IGZvdW5kIGEgdHlwZSBvZiAnJHt0eXBlb2YgdH0nIGluIHRoZSBhcnJheWApfXJldHVybiEwfSl9LCJzYW5pdGl6ZUFycmF5IiksTTlhPXMoKGEsZSk9PntlPXtjYXNlU2Vuc2l0aXZlOiExLC4uLmV9O2xldCB0PWErSlNPTi5zdHJpbmdpZnkoZSk7aWYoWDFlLmhhcyh0KSlyZXR1cm4gWDFlLmdldCh0KTtsZXQgcj1hWzBdPT09IiEiO3ImJihhPWEuc2xpY2UoMSkpLGE9bDMoYSkucmVwbGFjZSgvXFxcKi9nLCJbXFxzXFxTXSoiKTtsZXQgaT1uZXcgUmVnRXhwKGBeJHthfSRgLGUuY2FzZVNlbnNpdGl2ZT8iIjoiaSIpO3JldHVybiBpLm5lZ2F0ZWQ9cixYMWUuc2V0KHQsaSksaX0sIm1ha2VSZWdleHAiKSxnc3Q9cygoYSxlLHQscik9PntpZihhPW1zdChhLCJpbnB1dHMiKSxlPW1zdChlLCJwYXR0ZXJucyIpLGUubGVuZ3RoPT09MClyZXR1cm5bXTtlPWUubWFwKG49Pk05YShuLHQpKTtsZXR7YWxsUGF0dGVybnM6aX09dHx8e30sbz1bXTtmb3IobGV0IG4gb2YgYSl7bGV0IGwsZD1bLi4uZV0uZmlsbCghMSk7Zm9yKGxldFtjLHBdb2YgZS5lbnRyaWVzKCkpaWYocC50ZXN0KG4pJiYoZFtjXT0hMCxsPSFwLm5lZ2F0ZWQsIWwpKWJyZWFrO2lmKCEobD09PSExfHxsPT09dm9pZCAwJiZlLnNvbWUoYz0+IWMubmVnYXRlZCl8fGkmJmQuc29tZSgoYyxwKT0+IWMmJiFlW3BdLm5lZ2F0ZWQpKSYmKG8ucHVzaChuKSxyKSlicmVha31yZXR1cm4gb30sImJhc2VNYXRjaGVyIik7cyhrOWEsIm1hdGNoZXIiKTtzKFM5YSwiaXNNYXRjaCIpfSk7dmFyIHZzdD1mKCgpPT57YnN0KCl9KTt2YXIgUTc9e307bHQoUTcse1NtYXJ0TWF0Y2g6KCk9PlExZX0pO3ZhciBRMWUseHN0PWYoKCk9Pnt2c3QoKTtRMWU9Y2xhc3N7c3RhdGlje3ModGhpcywiU21hcnRNYXRjaCIpfWNvbnN0cnVjdG9yKGUpe3RoaXMud2lsZGNhcmQ9ZX1tYXRjaChlKXtyZXR1cm4gWDcuaXNNYXRjaChlLHRoaXMud2lsZGNhcmQpfX19KTt2YXIgYTk9e307bHQoYTkse0Nyb246KCk9PnpzdCxDcm9uRGF0ZTooKT0+Q3MsQ3JvblBhdHRlcm46KCk9PldZLHNjaGVkdWxlZEpvYnM6KCk9Pm9ofSk7ZnVuY3Rpb24gSjcoYSl7cmV0dXJuIERhdGUuVVRDKGEueSxhLm0tMSxhLmQsYS5oLGEuaSxhLnMpfWZ1bmN0aW9uIEoxZShhLGUpe3JldHVybiBhLnk9PT1lLnkmJmEubT09PWUubSYmYS5kPT09ZS5kJiZhLmg9PT1lLmgmJmEuaT09PWUuaSYmYS5zPT09ZS5zfWZ1bmN0aW9uIEM5YShhLGUpe2xldCB0PW5ldyBEYXRlKERhdGUucGFyc2UoYSkpO2lmKGlzTmFOKHQpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBJU084NjAxIHBhc3NlZCB0byB0aW1lem9uZSBwYXJzZXIuIik7bGV0IHI9YS5zdWJzdHJpbmcoOSk7cmV0dXJuIHIuaW5jbHVkZXMoIloiKXx8ci5pbmNsdWRlcygiKyIpfHxyLmluY2x1ZGVzKCItIik/ZTJlKHQuZ2V0VVRDRnVsbFllYXIoKSx0LmdldFVUQ01vbnRoKCkrMSx0LmdldFVUQ0RhdGUoKSx0LmdldFVUQ0hvdXJzKCksdC5nZXRVVENNaW51dGVzKCksdC5nZXRVVENTZWNvbmRzKCksIkV0Yy9VVEMiKTplMmUodC5nZXRGdWxsWWVhcigpLHQuZ2V0TW9udGgoKSsxLHQuZ2V0RGF0ZSgpLHQuZ2V0SG91cnMoKSx0LmdldE1pbnV0ZXMoKSx0LmdldFNlY29uZHMoKSxlKX1mdW5jdGlvbiB5c3QoYSxlLHQpe3JldHVybiB3c3QoQzlhKGEsZSksdCl9ZnVuY3Rpb24gd3N0KGEsZSl7bGV0IHQ9bmV3IERhdGUoSjcoYSkpLHI9ZTkodCxhLnR6KSxpPUo3KGEpLG89Sjcociksbj1pLW8sbD1uZXcgRGF0ZSh0LmdldFRpbWUoKStuKSxkPWU5KGwsYS50eik7aWYoSjFlKGQsYSkpe2xldCB1PW5ldyBEYXRlKGwuZ2V0VGltZSgpLTM2ZTUpLG09ZTkodSxhLnR6KTtyZXR1cm4gSjFlKG0sYSk/dTpsfWxldCBjPW5ldyBEYXRlKGwuZ2V0VGltZSgpK0o3KGEpLUo3KGQpKSxwPWU5KGMsYS50eik7aWYoSjFlKHAsYSkpcmV0dXJuIGM7aWYoZSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgZGF0ZSBwYXNzZWQgdG8gZnJvbVRaKCkiKTtyZXR1cm4gbC5nZXRUaW1lKCk+Yy5nZXRUaW1lKCk/bDpjfWZ1bmN0aW9uIGU5KGEsZSl7bGV0IHQscjt0cnl7dD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZW4tVVMiLHt0aW1lWm9uZTplLHllYXI6Im51bWVyaWMiLG1vbnRoOiJudW1lcmljIixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIixob3VyMTI6ITF9KSxyPXQuZm9ybWF0VG9QYXJ0cyhhKX1jYXRjaChvKXtsZXQgbj1vIGluc3RhbmNlb2YgRXJyb3I/by5tZXNzYWdlOlN0cmluZyhvKTt0aHJvdyBuZXcgUmFuZ2VFcnJvcihgdG9UWjogSW52YWxpZCB0aW1lem9uZSAnJHtlfScgb3IgZGF0ZS4gUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBJQU5BIHRpbWV6b25lIChlLmcuLCAnQW1lcmljYS9OZXdfWW9yaycsICdFdXJvcGUvU3RvY2tob2xtJykuIE9yaWdpbmFsIGVycm9yOiAke259YCl9bGV0IGk9e3llYXI6MCxtb250aDowLGRheTowLGhvdXI6MCxtaW51dGU6MCxzZWNvbmQ6MH07Zm9yKGxldCBvIG9mIHIpKG8udHlwZT09PSJ5ZWFyInx8by50eXBlPT09Im1vbnRoInx8by50eXBlPT09ImRheSJ8fG8udHlwZT09PSJob3VyInx8by50eXBlPT09Im1pbnV0ZSJ8fG8udHlwZT09PSJzZWNvbmQiKSYmKGlbby50eXBlXT1wYXJzZUludChvLnZhbHVlLDEwKSk7aWYoaXNOYU4oaS55ZWFyKXx8aXNOYU4oaS5tb250aCl8fGlzTmFOKGkuZGF5KXx8aXNOYU4oaS5ob3VyKXx8aXNOYU4oaS5taW51dGUpfHxpc05hTihpLnNlY29uZCkpdGhyb3cgbmV3IEVycm9yKGB0b1RaOiBGYWlsZWQgdG8gcGFyc2UgYWxsIGRhdGUgY29tcG9uZW50cyBmcm9tIHRpbWV6b25lICcke2V9Jy4gVGhpcyBtYXkgaW5kaWNhdGUgYW4gaW52YWxpZCBkYXRlIG9yIHRpbWV6b25lIGNvbmZpZ3VyYXRpb24uIFBhcnNlZCBjb21wb25lbnRzOiAke0pTT04uc3RyaW5naWZ5KGkpfWApO3JldHVybiBpLmhvdXI9PT0yNCYmKGkuaG91cj0wKSx7eTppLnllYXIsbTppLm1vbnRoLGQ6aS5kYXksaDppLmhvdXIsaTppLm1pbnV0ZSxzOmkuc2Vjb25kLHR6OmV9fWZ1bmN0aW9uIGUyZShhLGUsdCxyLGksbyxuKXtyZXR1cm57eTphLG06ZSxkOnQsaDpyLGksczpvLHR6Om59fWZ1bmN0aW9uIF85YShhKXtpZihhPT09dm9pZCAwJiYoYT17fSksZGVsZXRlIGEubmFtZSxhLmxlZ2FjeU1vZGUhPT12b2lkIDAmJmEuZG9tQW5kRG93PT09dm9pZCAwP2EuZG9tQW5kRG93PSFhLmxlZ2FjeU1vZGU6YS5kb21BbmREb3c9PT12b2lkIDAmJihhLmRvbUFuZERvdz0hMSksYS5sZWdhY3lNb2RlPSFhLmRvbUFuZERvdyxhLnBhdXNlZD1hLnBhdXNlZD09PXZvaWQgMD8hMTphLnBhdXNlZCxhLm1heFJ1bnM9YS5tYXhSdW5zPT09dm9pZCAwPzEvMDphLm1heFJ1bnMsYS5jYXRjaD1hLmNhdGNoPT09dm9pZCAwPyExOmEuY2F0Y2gsYS5pbnRlcnZhbD1hLmludGVydmFsPT09dm9pZCAwPzA6cGFyc2VJbnQoYS5pbnRlcnZhbC50b1N0cmluZygpLDEwKSxhLnV0Y09mZnNldD1hLnV0Y09mZnNldD09PXZvaWQgMD92b2lkIDA6cGFyc2VJbnQoYS51dGNPZmZzZXQudG9TdHJpbmcoKSwxMCksYS5kYXlPZmZzZXQ9YS5kYXlPZmZzZXQ9PT12b2lkIDA/MDpwYXJzZUludChhLmRheU9mZnNldC50b1N0cmluZygpLDEwKSxhLnVucmVmPWEudW5yZWY9PT12b2lkIDA/ITE6YS51bnJlZixhLm1vZGU9YS5tb2RlPT09dm9pZCAwPyJhdXRvIjphLm1vZGUsYS5hbHRlcm5hdGl2ZVdlZWtkYXlzPWEuYWx0ZXJuYXRpdmVXZWVrZGF5cz09PXZvaWQgMD8hMTphLmFsdGVybmF0aXZlV2Vla2RheXMsYS5zbG9wcHlSYW5nZXM9YS5zbG9wcHlSYW5nZXM9PT12b2lkIDA/ITE6YS5zbG9wcHlSYW5nZXMsIVsiYXV0byIsIjUtcGFydCIsIjYtcGFydCIsIjctcGFydCIsIjUtb3ItNi1wYXJ0cyIsIjYtb3ItNy1wYXJ0cyJdLmluY2x1ZGVzKGEubW9kZSkpdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogbW9kZSBtdXN0IGJlIG9uZSBvZiAnYXV0bycsICc1LXBhcnQnLCAnNi1wYXJ0JywgJzctcGFydCcsICc1LW9yLTYtcGFydHMnLCBvciAnNi1vci03LXBhcnRzJy4iKTtpZihhLnN0YXJ0QXQmJihhLnN0YXJ0QXQ9bmV3IENzKGEuc3RhcnRBdCxhLnRpbWV6b25lKSksYS5zdG9wQXQmJihhLnN0b3BBdD1uZXcgQ3MoYS5zdG9wQXQsYS50aW1lem9uZSkpLGEuaW50ZXJ2YWwhPT1udWxsKXtpZihpc05hTihhLmludGVydmFsKSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBTdXBwbGllZCB2YWx1ZSBmb3IgaW50ZXJ2YWwgaXMgbm90IGEgbnVtYmVyIik7aWYoYS5pbnRlcnZhbDwwKXRocm93IG5ldyBFcnJvcigiQ3Jvbk9wdGlvbnM6IFN1cHBsaWVkIHZhbHVlIGZvciBpbnRlcnZhbCBjYW4gbm90IGJlIG5lZ2F0aXZlIil9aWYoYS51dGNPZmZzZXQhPT12b2lkIDApe2lmKGlzTmFOKGEudXRjT2Zmc2V0KSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBJbnZhbGlkIHZhbHVlIHBhc3NlZCBmb3IgdXRjT2Zmc2V0LCBzaG91bGQgYmUgbnVtYmVyIHJlcHJlc2VudGluZyBtaW51dGVzIG9mZnNldCBmcm9tIFVUQy4iKTtpZihhLnV0Y09mZnNldDwtODcwfHxhLnV0Y09mZnNldD44NzApdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogdXRjT2Zmc2V0IG91dCBvZiBib3VuZHMuIik7aWYoYS51dGNPZmZzZXQhPT12b2lkIDAmJmEudGltZXpvbmUpdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogQ29tYmluaW5nICd1dGNPZmZzZXQnIHdpdGggJ3RpbWV6b25lJyBpcyBub3QgYWxsb3dlZC4iKX1pZihhLnVucmVmIT09ITAmJmEudW5yZWYhPT0hMSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBVbnJlZiBzaG91bGQgYmUgZWl0aGVyIHRydWUsIGZhbHNlIG9yIHVuZGVmaW5lZChmYWxzZSkuIik7aWYoYS5kYXlPZmZzZXQhPT12b2lkIDAmJmEuZGF5T2Zmc2V0IT09MCYmaXNOYU4oYS5kYXlPZmZzZXQpKXRocm93IG5ldyBFcnJvcigiQ3Jvbk9wdGlvbnM6IEludmFsaWQgdmFsdWUgcGFzc2VkIGZvciBkYXlPZmZzZXQsIHNob3VsZCBiZSBhIG51bWJlciByZXByZXNlbnRpbmcgZGF5cyB0byBvZmZzZXQuIik7cmV0dXJuIGF9ZnVuY3Rpb24gdDkoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKT09PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiBhPT0iZnVuY3Rpb24ifHxhIGluc3RhbmNlb2YgRnVuY3Rpb259ZnVuY3Rpb24gVDlhKGEpe3JldHVybiB0OShhKX1mdW5jdGlvbiBMOWEoYSl7dHlwZW9mIERlbm88InUiJiZ0eXBlb2YgRGVuby51bnJlZlRpbWVyPCJ1Ij9EZW5vLnVucmVmVGltZXIoYSk6YSYmdHlwZW9mIGEudW5yZWY8InUiJiZhLnVucmVmKCl9dmFyIE1zdCxXWSx0MmUsZHIsQ3Msa3N0LG9oLHpzdCxDc3Q9ZigoKT0+e3MoSjcsIlQiKTtzKEoxZSwiRCIpO3MoQzlhLCJBIik7cyh5c3QsInYiKTtzKHdzdCwiayIpO3MoZTksImciKTtzKGUyZSwiYiIpO01zdD1bMSwyLDQsOCwxNl0sV1k9Y2xhc3N7c3RhdGlje3ModGhpcywiQyIpfXBhdHRlcm47dGltZXpvbmU7bW9kZTthbHRlcm5hdGl2ZVdlZWtkYXlzO3Nsb3BweVJhbmdlcztzZWNvbmQ7bWludXRlO2hvdXI7ZGF5O21vbnRoO2RheU9mV2Vlazt5ZWFyO2xhc3REYXlPZk1vbnRoO2xhc3RXZWVrZGF5O25lYXJlc3RXZWVrZGF5cztzdGFyRE9NO3N0YXJET1c7c3RhclllYXI7dXNlQW5kTG9naWM7Y29uc3RydWN0b3IoYSxlLHQpe3RoaXMucGF0dGVybj1hLHRoaXMudGltZXpvbmU9ZSx0aGlzLm1vZGU9dD8ubW9kZT8/ImF1dG8iLHRoaXMuYWx0ZXJuYXRpdmVXZWVrZGF5cz10Py5hbHRlcm5hdGl2ZVdlZWtkYXlzPz8hMSx0aGlzLnNsb3BweVJhbmdlcz10Py5zbG9wcHlSYW5nZXM/PyExLHRoaXMuc2Vjb25kPUFycmF5KDYwKS5maWxsKDApLHRoaXMubWludXRlPUFycmF5KDYwKS5maWxsKDApLHRoaXMuaG91cj1BcnJheSgyNCkuZmlsbCgwKSx0aGlzLmRheT1BcnJheSgzMSkuZmlsbCgwKSx0aGlzLm1vbnRoPUFycmF5KDEyKS5maWxsKDApLHRoaXMuZGF5T2ZXZWVrPUFycmF5KDcpLmZpbGwoMCksdGhpcy55ZWFyPUFycmF5KDFlNCkuZmlsbCgwKSx0aGlzLmxhc3REYXlPZk1vbnRoPSExLHRoaXMubGFzdFdlZWtkYXk9ITEsdGhpcy5uZWFyZXN0V2Vla2RheXM9QXJyYXkoMzEpLmZpbGwoMCksdGhpcy5zdGFyRE9NPSExLHRoaXMuc3RhckRPVz0hMSx0aGlzLnN0YXJZZWFyPSExLHRoaXMudXNlQW5kTG9naWM9ITEsdGhpcy5wYXJzZSgpfXBhcnNlKCl7aWYoISh0eXBlb2YgdGhpcy5wYXR0ZXJuPT0ic3RyaW5nInx8dGhpcy5wYXR0ZXJuIGluc3RhbmNlb2YgU3RyaW5nKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogUGF0dGVybiBoYXMgdG8gYmUgb2YgdHlwZSBzdHJpbmcuIik7dGhpcy5wYXR0ZXJuLmluZGV4T2YoIkAiKT49MCYmKHRoaXMucGF0dGVybj10aGlzLmhhbmRsZU5pY2tuYW1lcyh0aGlzLnBhdHRlcm4pLnRyaW0oKSk7bGV0IGE9dGhpcy5wYXR0ZXJuLm1hdGNoKC9cUysvZyl8fFsiIl0sZT1hLmxlbmd0aDtpZihhLmxlbmd0aDw1fHxhLmxlbmd0aD43KXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBpbnZhbGlkIGNvbmZpZ3VyYXRpb24gZm9ybWF0ICgnIit0aGlzLnBhdHRlcm4rIicpLCBleGFjdGx5IGZpdmUsIHNpeCwgb3Igc2V2ZW4gc3BhY2Ugc2VwYXJhdGVkIHBhcnRzIGFyZSByZXF1aXJlZC4iKTtpZih0aGlzLm1vZGUhPT0iYXV0byIpe2xldCByO3N3aXRjaCh0aGlzLm1vZGUpe2Nhc2UiNS1wYXJ0IjpyPTU7YnJlYWs7Y2FzZSI2LXBhcnQiOnI9NjticmVhaztjYXNlIjctcGFydCI6cj03O2JyZWFrO2Nhc2UiNS1vci02LXBhcnRzIjpyPVs1LDZdO2JyZWFrO2Nhc2UiNi1vci03LXBhcnRzIjpyPVs2LDddO2JyZWFrO2RlZmF1bHQ6cj0wfWlmKCEoQXJyYXkuaXNBcnJheShyKT9yLmluY2x1ZGVzKGUpOmU9PT1yKSl7bGV0IGk9QXJyYXkuaXNBcnJheShyKT9yLmpvaW4oIiBvciAiKTpyLnRvU3RyaW5nKCk7dGhyb3cgbmV3IFR5cGVFcnJvcihgQ3JvblBhdHRlcm46IG1vZGUgJyR7dGhpcy5tb2RlfScgcmVxdWlyZXMgZXhhY3RseSAke2l9IHBhcnRzLCBidXQgcGF0dGVybiAnJHt0aGlzLnBhdHRlcm59JyBoYXMgJHtlfSBwYXJ0cy5gKX19aWYoYS5sZW5ndGg9PT01JiZhLnVuc2hpZnQoIjAiKSxhLmxlbmd0aD09PTYmJmEucHVzaCgiKiIpLGFbM10udG9VcHBlckNhc2UoKT09PSJMVyI/KHRoaXMubGFzdFdlZWtkYXk9ITAsYVszXT0iIik6YVszXS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIkwiKT49MCYmKGFbM109YVszXS5yZXBsYWNlKC9ML2dpLCIiKSx0aGlzLmxhc3REYXlPZk1vbnRoPSEwKSxhWzNdPT0iKiImJih0aGlzLnN0YXJET009ITApLGFbNl09PSIqIiYmKHRoaXMuc3RhclllYXI9ITApLGFbNF0ubGVuZ3RoPj0zJiYoYVs0XT10aGlzLnJlcGxhY2VBbHBoYU1vbnRocyhhWzRdKSksYVs1XS5sZW5ndGg+PTMmJihhWzVdPXRoaXMuYWx0ZXJuYXRpdmVXZWVrZGF5cz90aGlzLnJlcGxhY2VBbHBoYURheXNRdWFydHooYVs1XSk6dGhpcy5yZXBsYWNlQWxwaGFEYXlzKGFbNV0pKSxhWzVdLnN0YXJ0c1dpdGgoIisiKSYmKHRoaXMudXNlQW5kTG9naWM9ITAsYVs1XT1hWzVdLnN1YnN0cmluZygxKSxhWzVdPT09IiIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBEYXktb2Ytd2VlayBmaWVsZCBjYW5ub3QgYmUgZW1wdHkgYWZ0ZXIgJysnIG1vZGlmaWVyLiIpO3N3aXRjaChhWzVdPT0iKiImJih0aGlzLnN0YXJET1c9ITApLHRoaXMucGF0dGVybi5pbmRleE9mKCI/Iik+PTAmJihhWzBdPWFbMF0ucmVwbGFjZSgvXD8vZywiKiIpLGFbMV09YVsxXS5yZXBsYWNlKC9cPy9nLCIqIiksYVsyXT1hWzJdLnJlcGxhY2UoL1w/L2csIioiKSxhWzNdPWFbM10ucmVwbGFjZSgvXD8vZywiKiIpLGFbNF09YVs0XS5yZXBsYWNlKC9cPy9nLCIqIiksYVs1XT1hWzVdLnJlcGxhY2UoL1w/L2csIioiKSxhWzZdJiYoYVs2XT1hWzZdLnJlcGxhY2UoL1w/L2csIioiKSkpLHRoaXMubW9kZSl7Y2FzZSI1LXBhcnQiOmFbMF09IjAiLGFbNl09IioiO2JyZWFrO2Nhc2UiNi1wYXJ0IjphWzZdPSIqIjticmVhaztjYXNlIjUtb3ItNi1wYXJ0cyI6YVs2XT0iKiI7YnJlYWs7Y2FzZSI2LW9yLTctcGFydHMiOmJyZWFrO2Nhc2UiNy1wYXJ0IjpjYXNlImF1dG8iOmJyZWFrfXRoaXMudGhyb3dBdElsbGVnYWxDaGFyYWN0ZXJzKGEpLHRoaXMucGFydFRvQXJyYXkoInNlY29uZCIsYVswXSwwLDEpLHRoaXMucGFydFRvQXJyYXkoIm1pbnV0ZSIsYVsxXSwwLDEpLHRoaXMucGFydFRvQXJyYXkoImhvdXIiLGFbMl0sMCwxKSx0aGlzLnBhcnRUb0FycmF5KCJkYXkiLGFbM10sLTEsMSksdGhpcy5wYXJ0VG9BcnJheSgibW9udGgiLGFbNF0sLTEsMSk7bGV0IHQ9dGhpcy5hbHRlcm5hdGl2ZVdlZWtkYXlzPy0xOjA7dGhpcy5wYXJ0VG9BcnJheSgiZGF5T2ZXZWVrIixhWzVdLHQsNjMpLHRoaXMucGFydFRvQXJyYXkoInllYXIiLGFbNl0sMCwxKSwhdGhpcy5hbHRlcm5hdGl2ZVdlZWtkYXlzJiZ0aGlzLmRheU9mV2Vla1s3XSYmKHRoaXMuZGF5T2ZXZWVrWzBdPXRoaXMuZGF5T2ZXZWVrWzddKX1wYXJ0VG9BcnJheShhLGUsdCxyKXtsZXQgaT10aGlzW2FdLG89YT09PSJkYXkiJiZ0aGlzLmxhc3REYXlPZk1vbnRoLG49YT09PSJkYXkiJiZ0aGlzLmxhc3RXZWVrZGF5O2lmKGU9PT0iIiYmIW8mJiFuKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBjb25maWd1cmF0aW9uIGVudHJ5ICIrYSsiICgiK2UrIikgaXMgZW1wdHksIGNoZWNrIGZvciB0cmFpbGluZyBzcGFjZXMuIik7aWYoZT09PSIqIilyZXR1cm4gaS5maWxsKHIpO2xldCBsPWUuc3BsaXQoIiwiKTtpZihsLmxlbmd0aD4xKWZvcihsZXQgZD0wO2Q8bC5sZW5ndGg7ZCsrKXRoaXMucGFydFRvQXJyYXkoYSxsW2RdLHQscik7ZWxzZSBlLmluZGV4T2YoIi0iKSE9PS0xJiZlLmluZGV4T2YoIi8iKSE9PS0xP3RoaXMuaGFuZGxlUmFuZ2VXaXRoU3RlcHBpbmcoZSxhLHQscik6ZS5pbmRleE9mKCItIikhPT0tMT90aGlzLmhhbmRsZVJhbmdlKGUsYSx0LHIpOmUuaW5kZXhPZigiLyIpIT09LTE/dGhpcy5oYW5kbGVTdGVwcGluZyhlLGEsdCxyKTplIT09IiImJnRoaXMuaGFuZGxlTnVtYmVyKGUsYSx0LHIpfXRocm93QXRJbGxlZ2FsQ2hhcmFjdGVycyhhKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrKylpZigoZT09PTM/L1teLyowLTksXC1Xd0xsXSsvOmU9PT01Py9bXi8qMC05LFwtI0xsXSsvOi9bXi8qMC05LFwtXSsvKS50ZXN0KGFbZV0pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBjb25maWd1cmF0aW9uIGVudHJ5ICIrZSsiICgiK2FbZV0rIikgY29udGFpbnMgaWxsZWdhbCBjaGFyYWN0ZXJzLiIpfWhhbmRsZU51bWJlcihhLGUsdCxyKXtsZXQgaT10aGlzLmV4dHJhY3ROdGgoYSxlKSxvPWEudG9VcHBlckNhc2UoKS5pbmNsdWRlcygiVyIpO2lmKGUhPT0iZGF5IiYmbyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogTmVhcmVzdCB3ZWVrZGF5IG1vZGlmaWVyIChXKSBvbmx5IGFsbG93ZWQgaW4gZGF5LW9mLW1vbnRoLiIpO28mJihlPSJuZWFyZXN0V2Vla2RheXMiKTtsZXQgbj1wYXJzZUludChpWzBdLDEwKSt0O2lmKGlzTmFOKG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiAiK2UrIiBpcyBub3QgYSBudW1iZXI6ICciK2ErIiciKTt0aGlzLnNldFBhcnQoZSxuLGlbMV18fHIpfXNldFBhcnQoYSxlLHQpe2lmKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcyxhKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCBwYXJ0IHNwZWNpZmllZDogIithKTtpZihhPT09ImRheU9mV2VlayIpe2lmKGU9PT03JiYoZT0wKSxlPDB8fGU+Nil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ3JvblBhdHRlcm46IEludmFsaWQgdmFsdWUgZm9yIGRheU9mV2VlazogIitlKTt0aGlzLnNldE50aFdlZWtkYXlPZk1vbnRoKGUsdCk7cmV0dXJufWlmKGE9PT0ic2Vjb25kInx8YT09PSJtaW51dGUiKXtpZihlPDB8fGU+PTYwKXRocm93IG5ldyBSYW5nZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCB2YWx1ZSBmb3IgIithKyI6ICIrZSl9ZWxzZSBpZihhPT09ImhvdXIiKXtpZihlPDB8fGU+PTI0KXRocm93IG5ldyBSYW5nZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCB2YWx1ZSBmb3IgIithKyI6ICIrZSl9ZWxzZSBpZihhPT09ImRheSJ8fGE9PT0ibmVhcmVzdFdlZWtkYXlzIil7aWYoZTwwfHxlPj0zMSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ3JvblBhdHRlcm46IEludmFsaWQgdmFsdWUgZm9yICIrYSsiOiAiK2UpfWVsc2UgaWYoYT09PSJtb250aCIpe2lmKGU8MHx8ZT49MTIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNyb25QYXR0ZXJuOiBJbnZhbGlkIHZhbHVlIGZvciAiK2ErIjogIitlKX1lbHNlIGlmKGE9PT0ieWVhciImJihlPDF8fGU+PTFlNCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNyb25QYXR0ZXJuOiBJbnZhbGlkIHZhbHVlIGZvciAiK2ErIjogIitlKyIgKHN1cHBvcnRlZCByYW5nZTogMS05OTk5KSIpO3RoaXNbYV1bZV09dH12YWxpZGF0ZU5vdE5hTihhLGUpe2lmKGlzTmFOKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoZSl9dmFsaWRhdGVSYW5nZShhLGUsdCxyLGkpe2lmKGE+ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogRnJvbSB2YWx1ZSBpcyBsYXJnZXIgdGhhbiB0byB2YWx1ZTogJyIraSsiJyIpO2lmKHQhPT12b2lkIDApe2lmKHQ9PT0wKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgc3RlcHBpbmc6IDAiKTtpZih0PnRoaXNbcl0ubGVuZ3RoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIHN0ZXBzIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gbWF4aW11bSB2YWx1ZSBvZiBwYXJ0ICgiK3RoaXNbcl0ubGVuZ3RoKyIpIil9fWhhbmRsZVJhbmdlV2l0aFN0ZXBwaW5nKGEsZSx0LHIpe2lmKGEudG9VcHBlckNhc2UoKS5pbmNsdWRlcygiVyIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIFcgaXMgbm90IGFsbG93ZWQgaW4gcmFuZ2VzIHdpdGggc3RlcHBpbmcuIik7bGV0IGk9dGhpcy5leHRyYWN0TnRoKGEsZSksbz1pWzBdLm1hdGNoKC9eKFxkKyktKFxkKylcLyhcZCspJC8pO2lmKG89PT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgcmFuZ2Ugd2l0aCBzdGVwcGluZzogJyIrYSsiJyIpO2xldFssbixsLGRdPW8sYz1wYXJzZUludChuLDEwKSt0LHA9cGFyc2VJbnQobCwxMCkrdCx1PXBhcnNlSW50KGQsMTApO3RoaXMudmFsaWRhdGVOb3ROYU4oYywiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBsb3dlciByYW5nZSAoTmFOKSIpLHRoaXMudmFsaWRhdGVOb3ROYU4ocCwiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCB1cHBlciByYW5nZSAoTmFOKSIpLHRoaXMudmFsaWRhdGVOb3ROYU4odSwiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBzdGVwcGluZzogKE5hTikiKSx0aGlzLnZhbGlkYXRlUmFuZ2UoYyxwLHUsZSxhKTtmb3IobGV0IG09YzttPD1wO20rPXUpdGhpcy5zZXRQYXJ0KGUsbSxpWzFdfHxyKX1leHRyYWN0TnRoKGEsZSl7bGV0IHQ9YSxyO2lmKHQuaW5jbHVkZXMoIiMiKSl7aWYoZSE9PSJkYXlPZldlZWsiKXRocm93IG5ldyBFcnJvcigiQ3JvblBhdHRlcm46IG50aCAoIykgb25seSBhbGxvd2VkIGluIGRheS1vZi13ZWVrIGZpZWxkIik7cj10LnNwbGl0KCIjIilbMV0sdD10LnNwbGl0KCIjIilbMF19ZWxzZSBpZih0LnRvVXBwZXJDYXNlKCkuZW5kc1dpdGgoIkwiKSl7aWYoZSE9PSJkYXlPZldlZWsiKXRocm93IG5ldyBFcnJvcigiQ3JvblBhdHRlcm46IEwgbW9kaWZpZXIgb25seSBhbGxvd2VkIGluIGRheS1vZi13ZWVrIGZpZWxkICh1c2UgTCBhbG9uZSBmb3IgZGF5LW9mLW1vbnRoKSIpO3I9IkwiLHQ9dC5zbGljZSgwLC0xKX1yZXR1cm5bdCxyXX1oYW5kbGVSYW5nZShhLGUsdCxyKXtpZihhLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoIlciKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBXIGlzIG5vdCBhbGxvd2VkIGluIGEgcmFuZ2UuIik7bGV0IGk9dGhpcy5leHRyYWN0TnRoKGEsZSksbz1pWzBdLnNwbGl0KCItIik7aWYoby5sZW5ndGghPT0yKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgcmFuZ2U6ICciK2ErIiciKTtsZXQgbj1wYXJzZUludChvWzBdLDEwKSt0LGw9cGFyc2VJbnQob1sxXSwxMCkrdDt0aGlzLnZhbGlkYXRlTm90TmFOKG4sIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgbG93ZXIgcmFuZ2UgKE5hTikiKSx0aGlzLnZhbGlkYXRlTm90TmFOKGwsIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgdXBwZXIgcmFuZ2UgKE5hTikiKSx0aGlzLnZhbGlkYXRlUmFuZ2UobixsLHZvaWQgMCxlLGEpO2ZvcihsZXQgZD1uO2Q8PWw7ZCsrKXRoaXMuc2V0UGFydChlLGQsaVsxXXx8cil9aGFuZGxlU3RlcHBpbmcoYSxlLHQscil7aWYoYS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKCJXIikpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgVyBpcyBub3QgYWxsb3dlZCBpbiBwYXJ0cyB3aXRoIHN0ZXBwaW5nLiIpO2xldCBpPXRoaXMuZXh0cmFjdE50aChhLGUpLG89aVswXS5zcGxpdCgiLyIpO2lmKG8ubGVuZ3RoIT09Mil0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBpbGxlZ2FsIHN0ZXBwaW5nOiAnIithKyInIik7aWYodGhpcy5zbG9wcHlSYW5nZXMpb1swXT09PSIiJiYob1swXT0iKiIpO2Vsc2V7aWYob1swXT09PSIiKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIHN0ZXBwaW5nIHdpdGggbWlzc2luZyBwcmVmaXggKCciK2ErIicpIGlzIG5vdCBhbGxvd2VkLiBVc2Ugd2lsZGNhcmQgKCovc3RlcCkgb3IgcmFuZ2UgKG1pbi1tYXgvc3RlcCkgaW5zdGVhZC4iKTtpZihvWzBdIT09IioiKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIHN0ZXBwaW5nIHdpdGggbnVtZXJpYyBwcmVmaXggKCciK2ErIicpIGlzIG5vdCBhbGxvd2VkLiBVc2Ugd2lsZGNhcmQgKCovc3RlcCkgb3IgcmFuZ2UgKG1pbi1tYXgvc3RlcCkgaW5zdGVhZC4iKX1sZXQgbj0wO29bMF0hPT0iKiImJihuPXBhcnNlSW50KG9bMF0sMTApK3QpO2xldCBsPXBhcnNlSW50KG9bMV0sMTApO3RoaXMudmFsaWRhdGVOb3ROYU4obCwiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBzdGVwcGluZzogKE5hTikiKSx0aGlzLnZhbGlkYXRlUmFuZ2UoMCx0aGlzW2VdLmxlbmd0aC0xLGwsZSxhKTtmb3IobGV0IGQ9bjtkPHRoaXNbZV0ubGVuZ3RoO2QrPWwpdGhpcy5zZXRQYXJ0KGUsZCxpWzFdfHxyKX1yZXBsYWNlQWxwaGFEYXlzKGEpe3JldHVybiBhLnJlcGxhY2UoLy1zdW4vZ2ksIi03IikucmVwbGFjZSgvc3VuL2dpLCIwIikucmVwbGFjZSgvbW9uL2dpLCIxIikucmVwbGFjZSgvdHVlL2dpLCIyIikucmVwbGFjZSgvd2VkL2dpLCIzIikucmVwbGFjZSgvdGh1L2dpLCI0IikucmVwbGFjZSgvZnJpL2dpLCI1IikucmVwbGFjZSgvc2F0L2dpLCI2Iil9cmVwbGFjZUFscGhhRGF5c1F1YXJ0eihhKXtyZXR1cm4gYS5yZXBsYWNlKC9zdW4vZ2ksIjEiKS5yZXBsYWNlKC9tb24vZ2ksIjIiKS5yZXBsYWNlKC90dWUvZ2ksIjMiKS5yZXBsYWNlKC93ZWQvZ2ksIjQiKS5yZXBsYWNlKC90aHUvZ2ksIjUiKS5yZXBsYWNlKC9mcmkvZ2ksIjYiKS5yZXBsYWNlKC9zYXQvZ2ksIjciKX1yZXBsYWNlQWxwaGFNb250aHMoYSl7cmV0dXJuIGEucmVwbGFjZSgvamFuL2dpLCIxIikucmVwbGFjZSgvZmViL2dpLCIyIikucmVwbGFjZSgvbWFyL2dpLCIzIikucmVwbGFjZSgvYXByL2dpLCI0IikucmVwbGFjZSgvbWF5L2dpLCI1IikucmVwbGFjZSgvanVuL2dpLCI2IikucmVwbGFjZSgvanVsL2dpLCI3IikucmVwbGFjZSgvYXVnL2dpLCI4IikucmVwbGFjZSgvc2VwL2dpLCI5IikucmVwbGFjZSgvb2N0L2dpLCIxMCIpLnJlcGxhY2UoL25vdi9naSwiMTEiKS5yZXBsYWNlKC9kZWMvZ2ksIjEyIil9aGFuZGxlTmlja25hbWVzKGEpe2xldCBlPWEudHJpbSgpLnRvTG93ZXJDYXNlKCk7aWYoZT09PSJAeWVhcmx5Inx8ZT09PSJAYW5udWFsbHkiKXJldHVybiIwIDAgMSAxICoiO2lmKGU9PT0iQG1vbnRobHkiKXJldHVybiIwIDAgMSAqICoiO2lmKGU9PT0iQHdlZWtseSIpcmV0dXJuIjAgMCAqICogMCI7aWYoZT09PSJAZGFpbHkifHxlPT09IkBtaWRuaWdodCIpcmV0dXJuIjAgMCAqICogKiI7aWYoZT09PSJAaG91cmx5IilyZXR1cm4iMCAqICogKiAqIjtpZihlPT09IkByZWJvb3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBAcmVib290IGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBlbnZpcm9ubWVudC4gVGhpcyBpcyBhbiBldmVudC1iYXNlZCB0cmlnZ2VyIHRoYXQgcmVxdWlyZXMgc3lzdGVtIHN0YXJ0dXAgZGV0ZWN0aW9uLiIpO3JldHVybiBhfXNldE50aFdlZWtkYXlPZk1vbnRoKGEsZSl7aWYodHlwZW9mIGUhPSJudW1iZXIiJiZlLnRvVXBwZXJDYXNlKCk9PT0iTCIpdGhpcy5kYXlPZldlZWtbYV09dGhpcy5kYXlPZldlZWtbYV18MzI7ZWxzZSBpZihlPT09NjMpdGhpcy5kYXlPZldlZWtbYV09NjM7ZWxzZSBpZihlPDYmJmU+MCl0aGlzLmRheU9mV2Vla1thXT10aGlzLmRheU9mV2Vla1thXXxNc3RbZS0xXTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoYENyb25QYXR0ZXJuOiBudGggd2Vla2RheSBvdXQgb2YgcmFuZ2UsIHNob3VsZCBiZSAxLTUgb3IgTC4gVmFsdWU6ICR7ZX0sIFR5cGU6ICR7dHlwZW9mIGV9YCl9fSx0MmU9WzMxLDI4LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXSxkcj1bWyJtb250aCIsInllYXIiLDBdLFsiZGF5IiwibW9udGgiLC0xXSxbImhvdXIiLCJkYXkiLDBdLFsibWludXRlIiwiaG91ciIsMF0sWyJzZWNvbmQiLCJtaW51dGUiLDBdXSxDcz1jbGFzcyBTc3R7c3RhdGlje3ModGhpcywicyIpfXR6O21zO3NlY29uZDttaW51dGU7aG91cjtkYXk7bW9udGg7eWVhcjtjb25zdHJ1Y3RvcihlLHQpe2lmKHRoaXMudHo9dCxlJiZlIGluc3RhbmNlb2YgRGF0ZSlpZighaXNOYU4oZSkpdGhpcy5mcm9tRGF0ZShlKTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25EYXRlOiBJbnZhbGlkIGRhdGUgcGFzc2VkIHRvIENyb25EYXRlIGNvbnN0cnVjdG9yIik7ZWxzZSBpZihlPT1udWxsKXRoaXMuZnJvbURhdGUobmV3IERhdGUpO2Vsc2UgaWYoZSYmdHlwZW9mIGU9PSJzdHJpbmciKXRoaXMuZnJvbVN0cmluZyhlKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBTc3QpdGhpcy5mcm9tQ3JvbkRhdGUoZSk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uRGF0ZTogSW52YWxpZCB0eXBlICgiK3R5cGVvZiBlKyIpIHBhc3NlZCB0byBDcm9uRGF0ZSBjb25zdHJ1Y3RvciIpfWdldExhc3REYXlPZk1vbnRoKGUsdCl7cmV0dXJuIHQhPT0xP3QyZVt0XTpuZXcgRGF0ZShEYXRlLlVUQyhlLHQrMSwwKSkuZ2V0VVRDRGF0ZSgpfWdldExhc3RXZWVrZGF5KGUsdCl7bGV0IHI9dGhpcy5nZXRMYXN0RGF5T2ZNb250aChlLHQpLGk9bmV3IERhdGUoRGF0ZS5VVEMoZSx0LHIpKS5nZXRVVENEYXkoKTtyZXR1cm4gaT09PTA/ci0yOmk9PT02P3ItMTpyfWdldE5lYXJlc3RXZWVrZGF5KGUsdCxyKXtsZXQgaT10aGlzLmdldExhc3REYXlPZk1vbnRoKGUsdCk7aWYocj5pKXJldHVybi0xO2xldCBvPW5ldyBEYXRlKERhdGUuVVRDKGUsdCxyKSkuZ2V0VVRDRGF5KCk7cmV0dXJuIG89PT0wP3I9PT1pP3ItMjpyKzE6bz09PTY/cj09PTE/cisyOnItMTpyfWlzTnRoV2Vla2RheU9mTW9udGgoZSx0LHIsaSl7bGV0IG89bmV3IERhdGUoRGF0ZS5VVEMoZSx0LHIpKS5nZXRVVENEYXkoKSxuPTA7Zm9yKGxldCBsPTE7bDw9cjtsKyspbmV3IERhdGUoRGF0ZS5VVEMoZSx0LGwpKS5nZXRVVENEYXkoKT09PW8mJm4rKztpZihpJjYzJiZNc3Rbbi0xXSZpKXJldHVybiEwO2lmKGkmMzIpe2xldCBsPXRoaXMuZ2V0TGFzdERheU9mTW9udGgoZSx0KTtmb3IobGV0IGQ9cisxO2Q8PWw7ZCsrKWlmKG5ldyBEYXRlKERhdGUuVVRDKGUsdCxkKSkuZ2V0VVRDRGF5KCk9PT1vKXJldHVybiExO3JldHVybiEwfXJldHVybiExfWZyb21EYXRlKGUpe2lmKHRoaXMudHohPT12b2lkIDApaWYodHlwZW9mIHRoaXMudHo9PSJudW1iZXIiKXRoaXMubXM9ZS5nZXRVVENNaWxsaXNlY29uZHMoKSx0aGlzLnNlY29uZD1lLmdldFVUQ1NlY29uZHMoKSx0aGlzLm1pbnV0ZT1lLmdldFVUQ01pbnV0ZXMoKSt0aGlzLnR6LHRoaXMuaG91cj1lLmdldFVUQ0hvdXJzKCksdGhpcy5kYXk9ZS5nZXRVVENEYXRlKCksdGhpcy5tb250aD1lLmdldFVUQ01vbnRoKCksdGhpcy55ZWFyPWUuZ2V0VVRDRnVsbFllYXIoKSx0aGlzLmFwcGx5KCk7ZWxzZSB0cnl7bGV0IHQ9ZTkoZSx0aGlzLnR6KTt0aGlzLm1zPWUuZ2V0TWlsbGlzZWNvbmRzKCksdGhpcy5zZWNvbmQ9dC5zLHRoaXMubWludXRlPXQuaSx0aGlzLmhvdXI9dC5oLHRoaXMuZGF5PXQuZCx0aGlzLm1vbnRoPXQubS0xLHRoaXMueWVhcj10Lnl9Y2F0Y2godCl7bGV0IHI9dCBpbnN0YW5jZW9mIEVycm9yP3QubWVzc2FnZTpTdHJpbmcodCk7dGhyb3cgbmV3IFR5cGVFcnJvcihgQ3JvbkRhdGU6IEZhaWxlZCB0byBjb252ZXJ0IGRhdGUgdG8gdGltZXpvbmUgJyR7dGhpcy50en0nLiBUaGlzIG1heSBoYXBwZW4gd2l0aCBpbnZhbGlkIHRpbWV6b25lIG5hbWVzIG9yIGRhdGVzLiBPcmlnaW5hbCBlcnJvcjogJHtyfWApfWVsc2UgdGhpcy5tcz1lLmdldE1pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPWUuZ2V0U2Vjb25kcygpLHRoaXMubWludXRlPWUuZ2V0TWludXRlcygpLHRoaXMuaG91cj1lLmdldEhvdXJzKCksdGhpcy5kYXk9ZS5nZXREYXRlKCksdGhpcy5tb250aD1lLmdldE1vbnRoKCksdGhpcy55ZWFyPWUuZ2V0RnVsbFllYXIoKX1mcm9tQ3JvbkRhdGUoZSl7dGhpcy50ej1lLnR6LHRoaXMueWVhcj1lLnllYXIsdGhpcy5tb250aD1lLm1vbnRoLHRoaXMuZGF5PWUuZGF5LHRoaXMuaG91cj1lLmhvdXIsdGhpcy5taW51dGU9ZS5taW51dGUsdGhpcy5zZWNvbmQ9ZS5zZWNvbmQsdGhpcy5tcz1lLm1zfWFwcGx5KCl7aWYodGhpcy5tb250aD4xMXx8dGhpcy5tb250aDwwfHx0aGlzLmRheT50MmVbdGhpcy5tb250aF18fHRoaXMuZGF5PDF8fHRoaXMuaG91cj41OXx8dGhpcy5taW51dGU+NTl8fHRoaXMuc2Vjb25kPjU5fHx0aGlzLmhvdXI8MHx8dGhpcy5taW51dGU8MHx8dGhpcy5zZWNvbmQ8MCl7bGV0IGU9bmV3IERhdGUoRGF0ZS5VVEModGhpcy55ZWFyLHRoaXMubW9udGgsdGhpcy5kYXksdGhpcy5ob3VyLHRoaXMubWludXRlLHRoaXMuc2Vjb25kLHRoaXMubXMpKTtyZXR1cm4gdGhpcy5tcz1lLmdldFVUQ01pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPWUuZ2V0VVRDU2Vjb25kcygpLHRoaXMubWludXRlPWUuZ2V0VVRDTWludXRlcygpLHRoaXMuaG91cj1lLmdldFVUQ0hvdXJzKCksdGhpcy5kYXk9ZS5nZXRVVENEYXRlKCksdGhpcy5tb250aD1lLmdldFVUQ01vbnRoKCksdGhpcy55ZWFyPWUuZ2V0VVRDRnVsbFllYXIoKSwhMH1lbHNlIHJldHVybiExfWZyb21TdHJpbmcoZSl7aWYodHlwZW9mIHRoaXMudHo9PSJudW1iZXIiKXtsZXQgdD15c3QoZSk7dGhpcy5tcz10LmdldFVUQ01pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPXQuZ2V0VVRDU2Vjb25kcygpLHRoaXMubWludXRlPXQuZ2V0VVRDTWludXRlcygpLHRoaXMuaG91cj10LmdldFVUQ0hvdXJzKCksdGhpcy5kYXk9dC5nZXRVVENEYXRlKCksdGhpcy5tb250aD10LmdldFVUQ01vbnRoKCksdGhpcy55ZWFyPXQuZ2V0VVRDRnVsbFllYXIoKSx0aGlzLmFwcGx5KCl9ZWxzZSByZXR1cm4gdGhpcy5mcm9tRGF0ZSh5c3QoZSx0aGlzLnR6KSl9ZmluZE5leHQoZSx0LHIsaSl7cmV0dXJuIHRoaXMuX2ZpbmRNYXRjaChlLHQscixpLDEpfV9maW5kTWF0Y2goZSx0LHIsaSxvKXtsZXQgbj10aGlzW3RdLGw7ci5sYXN0RGF5T2ZNb250aCYmKGw9dGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCkpO2xldCBkPSFyLnN0YXJET1cmJnQ9PSJkYXkiP25ldyBEYXRlKERhdGUuVVRDKHRoaXMueWVhcix0aGlzLm1vbnRoLDEsMCwwLDAsMCkpLmdldFVUQ0RheSgpOnZvaWQgMCxjPXRoaXNbdF0raSxwPW89PT0xP3U9PnU8clt0XS5sZW5ndGg6dT0+dT49MDtmb3IobGV0IHU9YztwKHUpO3UrPW8pe2xldCBtPXJbdF1bdV07aWYodD09PSJkYXkiJiYhbSl7Zm9yKGxldCB2PTA7djxyLm5lYXJlc3RXZWVrZGF5cy5sZW5ndGg7disrKWlmKHIubmVhcmVzdFdlZWtkYXlzW3ZdKXtsZXQgeD10aGlzLmdldE5lYXJlc3RXZWVrZGF5KHRoaXMueWVhcix0aGlzLm1vbnRoLHYtaSk7aWYoeD09PS0xKWNvbnRpbnVlO2lmKHg9PT11LWkpe209MTticmVha319fWlmKHQ9PT0iZGF5IiYmci5sYXN0V2Vla2RheSl7bGV0IHY9dGhpcy5nZXRMYXN0V2Vla2RheSh0aGlzLnllYXIsdGhpcy5tb250aCk7dS1pPT09diYmKG09MSl9aWYodD09PSJkYXkiJiZyLmxhc3REYXlPZk1vbnRoJiZ1LWk9PWwmJihtPTEpLHQ9PT0iZGF5IiYmIXIuc3RhckRPVyl7bGV0IHY9ci5kYXlPZldlZWtbKGQrKHUtaS0xKSklN107aWYodiYmdiY2Myl2PXRoaXMuaXNOdGhXZWVrZGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCx1LWksdik/MTowO2Vsc2UgaWYodil0aHJvdyBuZXcgRXJyb3IoYENyb25EYXRlOiBJbnZhbGlkIHZhbHVlIGZvciBkYXlPZldlZWsgZW5jb3VudGVyZWQuICR7dn1gKTtyLnVzZUFuZExvZ2ljP209bSYmdjohZS5kb21BbmREb3cmJiFyLnN0YXJET00/bT1tfHx2Om09bSYmdn1pZihtKXJldHVybiB0aGlzW3RdPXUtaSxuIT09dGhpc1t0XT8yOjF9cmV0dXJuIDN9cmVjdXJzZShlLHQscil7aWYocj09PTAmJiFlLnN0YXJZZWFyKXtpZih0aGlzLnllYXI+PTAmJnRoaXMueWVhcjxlLnllYXIubGVuZ3RoJiZlLnllYXJbdGhpcy55ZWFyXT09PTApe2xldCBvPS0xO2ZvcihsZXQgbj10aGlzLnllYXIrMTtuPGUueWVhci5sZW5ndGgmJm48MWU0O24rKylpZihlLnllYXJbbl09PT0xKXtvPW47YnJlYWt9aWYobz09PS0xKXJldHVybiBudWxsO3RoaXMueWVhcj1vLHRoaXMubW9udGg9MCx0aGlzLmRheT0xLHRoaXMuaG91cj0wLHRoaXMubWludXRlPTAsdGhpcy5zZWNvbmQ9MCx0aGlzLm1zPTB9aWYodGhpcy55ZWFyPj0xZTQpcmV0dXJuIG51bGx9bGV0IGk9dGhpcy5maW5kTmV4dCh0LGRyW3JdWzBdLGUsZHJbcl1bMl0pO2lmKGk+MSl7bGV0IG89cisxO2Zvcig7bzxkci5sZW5ndGg7KXRoaXNbZHJbb11bMF1dPS1kcltvXVsyXSxvKys7aWYoaT09PTMpe2lmKHRoaXNbZHJbcl1bMV1dKyssdGhpc1tkcltyXVswXV09LWRyW3JdWzJdLHRoaXMuYXBwbHkoKSxyPT09MCYmIWUuc3RhclllYXIpe2Zvcig7dGhpcy55ZWFyPj0wJiZ0aGlzLnllYXI8ZS55ZWFyLmxlbmd0aCYmZS55ZWFyW3RoaXMueWVhcl09PT0wJiZ0aGlzLnllYXI8MWU0Oyl0aGlzLnllYXIrKztpZih0aGlzLnllYXI+PTFlNHx8dGhpcy55ZWFyPj1lLnllYXIubGVuZ3RoKXJldHVybiBudWxsfXJldHVybiB0aGlzLnJlY3Vyc2UoZSx0LDApfWVsc2UgaWYodGhpcy5hcHBseSgpKXJldHVybiB0aGlzLnJlY3Vyc2UoZSx0LHItMSl9cmV0dXJuIHIrPTEscj49ZHIubGVuZ3RoP3RoaXM6KGUuc3RhclllYXI/dGhpcy55ZWFyPj0zZTM6dGhpcy55ZWFyPj0xZTQpP251bGw6dGhpcy5yZWN1cnNlKGUsdCxyKX1pbmNyZW1lbnQoZSx0LHIpe3JldHVybiB0aGlzLnNlY29uZCs9dC5pbnRlcnZhbCE9PXZvaWQgMCYmdC5pbnRlcnZhbD4xJiZyP3QuaW50ZXJ2YWw6MSx0aGlzLm1zPTAsdGhpcy5hcHBseSgpLHRoaXMucmVjdXJzZShlLHQsMCl9ZGVjcmVtZW50KGUsdCl7cmV0dXJuIHRoaXMuc2Vjb25kLT10LmludGVydmFsIT09dm9pZCAwJiZ0LmludGVydmFsPjE/dC5pbnRlcnZhbDoxLHRoaXMubXM9MCx0aGlzLmFwcGx5KCksdGhpcy5yZWN1cnNlQmFja3dhcmQoZSx0LDAsMCl9cmVjdXJzZUJhY2t3YXJkKGUsdCxyLGk9MCl7aWYoaT4xZTQpcmV0dXJuIG51bGw7aWYocj09PTAmJiFlLnN0YXJZZWFyKXtpZih0aGlzLnllYXI+PTAmJnRoaXMueWVhcjxlLnllYXIubGVuZ3RoJiZlLnllYXJbdGhpcy55ZWFyXT09PTApe2xldCBuPS0xO2ZvcihsZXQgbD10aGlzLnllYXItMTtsPj0wO2wtLSlpZihlLnllYXJbbF09PT0xKXtuPWw7YnJlYWt9aWYobj09PS0xKXJldHVybiBudWxsO3RoaXMueWVhcj1uLHRoaXMubW9udGg9MTEsdGhpcy5kYXk9MzEsdGhpcy5ob3VyPTIzLHRoaXMubWludXRlPTU5LHRoaXMuc2Vjb25kPTU5LHRoaXMubXM9MH1pZih0aGlzLnllYXI8MClyZXR1cm4gbnVsbH1sZXQgbz10aGlzLmZpbmRQcmV2aW91cyh0LGRyW3JdWzBdLGUsZHJbcl1bMl0pO2lmKG8+MSl7bGV0IG49cisxO2Zvcig7bjxkci5sZW5ndGg7KXtsZXQgbD1kcltuXVswXSxkPWRyW25dWzJdLGM9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUobCxlLGQpO3RoaXNbbF09YyxuKyt9aWYobz09PTMpe2lmKHRoaXNbZHJbcl1bMV1dLS0scj09PTApe2xldCBwPXRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO3RoaXMuZGF5PnAmJih0aGlzLmRheT1wKX1pZihyPT09MSlpZih0aGlzLmRheTw9MCl0aGlzLmRheT0xO2Vsc2V7bGV0IHA9dGhpcy55ZWFyLHU9dGhpcy5tb250aDtmb3IoO3U8MDspdSs9MTIscC0tO2Zvcig7dT4xMTspdS09MTIscCsrO2xldCBtPXUhPT0xP3QyZVt1XTpuZXcgRGF0ZShEYXRlLlVUQyhwLHUrMSwwKSkuZ2V0VVRDRGF0ZSgpO3RoaXMuZGF5Pm0mJih0aGlzLmRheT1tKX10aGlzLmFwcGx5KCk7bGV0IGw9ZHJbcl1bMF0sZD1kcltyXVsyXSxjPXRoaXMuZ2V0TWF4UGF0dGVyblZhbHVlKGwsZSxkKTtpZihsPT09ImRheSIpe2xldCBwPXRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO3RoaXNbbF09TWF0aC5taW4oYyxwKX1lbHNlIHRoaXNbbF09YztpZih0aGlzLmFwcGx5KCkscj09PTApe2xldCBwPWRyWzFdWzJdLHU9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUoImRheSIsZSxwKSxtPXRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpLHY9TWF0aC5taW4odSxtKTt2IT09dGhpcy5kYXkmJih0aGlzLmRheT12LHRoaXMuaG91cj10aGlzLmdldE1heFBhdHRlcm5WYWx1ZSgiaG91ciIsZSxkclsyXVsyXSksdGhpcy5taW51dGU9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUoIm1pbnV0ZSIsZSxkclszXVsyXSksdGhpcy5zZWNvbmQ9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUoInNlY29uZCIsZSxkcls0XVsyXSkpfWlmKHI9PT0wJiYhZS5zdGFyWWVhcil7Zm9yKDt0aGlzLnllYXI+PTAmJnRoaXMueWVhcjxlLnllYXIubGVuZ3RoJiZlLnllYXJbdGhpcy55ZWFyXT09PTA7KXRoaXMueWVhci0tO2lmKHRoaXMueWVhcjwwKXJldHVybiBudWxsfXJldHVybiB0aGlzLnJlY3Vyc2VCYWNrd2FyZChlLHQsMCxpKzEpfWVsc2UgaWYodGhpcy5hcHBseSgpKXJldHVybiB0aGlzLnJlY3Vyc2VCYWNrd2FyZChlLHQsci0xLGkrMSl9cmV0dXJuIHIrPTEscj49ZHIubGVuZ3RoP3RoaXM6dGhpcy55ZWFyPDA/bnVsbDp0aGlzLnJlY3Vyc2VCYWNrd2FyZChlLHQscixpKzEpfWdldE1heFBhdHRlcm5WYWx1ZShlLHQscil7aWYoZT09PSJkYXkiJiZ0Lmxhc3REYXlPZk1vbnRoKXJldHVybiB0aGlzLmdldExhc3REYXlPZk1vbnRoKHRoaXMueWVhcix0aGlzLm1vbnRoKTtpZihlPT09ImRheSImJiF0LnN0YXJET1cpcmV0dXJuIHRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO2ZvcihsZXQgaT10W2VdLmxlbmd0aC0xO2k+PTA7aS0tKWlmKHRbZV1baV0pcmV0dXJuIGktcjtyZXR1cm4gdFtlXS5sZW5ndGgtMS1yfWZpbmRQcmV2aW91cyhlLHQscixpKXtyZXR1cm4gdGhpcy5fZmluZE1hdGNoKGUsdCxyLGksLTEpfWdldERhdGUoZSl7cmV0dXJuIGV8fHRoaXMudHo9PT12b2lkIDA/bmV3IERhdGUodGhpcy55ZWFyLHRoaXMubW9udGgsdGhpcy5kYXksdGhpcy5ob3VyLHRoaXMubWludXRlLHRoaXMuc2Vjb25kLHRoaXMubXMpOnR5cGVvZiB0aGlzLnR6PT0ibnVtYmVyIj9uZXcgRGF0ZShEYXRlLlVUQyh0aGlzLnllYXIsdGhpcy5tb250aCx0aGlzLmRheSx0aGlzLmhvdXIsdGhpcy5taW51dGUtdGhpcy50eix0aGlzLnNlY29uZCx0aGlzLm1zKSk6d3N0KGUyZSh0aGlzLnllYXIsdGhpcy5tb250aCsxLHRoaXMuZGF5LHRoaXMuaG91cix0aGlzLm1pbnV0ZSx0aGlzLnNlY29uZCx0aGlzLnR6KSwhMSl9Z2V0VGltZSgpe3JldHVybiB0aGlzLmdldERhdGUoITEpLmdldFRpbWUoKX1tYXRjaChlLHQpe2lmKCFlLnN0YXJZZWFyJiYodGhpcy55ZWFyPDB8fHRoaXMueWVhcj49ZS55ZWFyLmxlbmd0aHx8ZS55ZWFyW3RoaXMueWVhcl09PT0wKSlyZXR1cm4hMTtmb3IobGV0IHI9MDtyPGRyLmxlbmd0aDtyKyspe2xldCBpPWRyW3JdWzBdLG89ZHJbcl1bMl0sbj10aGlzW2ldO2lmKG4rbzwwfHxuK28+PWVbaV0ubGVuZ3RoKXJldHVybiExO2xldCBsPWVbaV1bbitvXTtpZihpPT09ImRheSIpe2lmKCFsKXtmb3IobGV0IGQ9MDtkPGUubmVhcmVzdFdlZWtkYXlzLmxlbmd0aDtkKyspaWYoZS5uZWFyZXN0V2Vla2RheXNbZF0pe2xldCBjPXRoaXMuZ2V0TmVhcmVzdFdlZWtkYXkodGhpcy55ZWFyLHRoaXMubW9udGgsZC1vKTtpZihjIT09LTEmJmM9PT1uKXtsPTE7YnJlYWt9fX1pZihlLmxhc3RXZWVrZGF5KXtsZXQgZD10aGlzLmdldExhc3RXZWVrZGF5KHRoaXMueWVhcix0aGlzLm1vbnRoKTtuPT09ZCYmKGw9MSl9aWYoZS5sYXN0RGF5T2ZNb250aCl7bGV0IGQ9dGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCk7bj09PWQmJihsPTEpfWlmKCFlLnN0YXJET1cpe2xldCBkPW5ldyBEYXRlKERhdGUuVVRDKHRoaXMueWVhcix0aGlzLm1vbnRoLDEsMCwwLDAsMCkpLmdldFVUQ0RheSgpLGM9ZS5kYXlPZldlZWtbKGQrKG4tMSkpJTddO2MmJmMmNjMmJihjPXRoaXMuaXNOdGhXZWVrZGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCxuLGMpPzE6MCksZS51c2VBbmRMb2dpYz9sPWwmJmM6IXQuZG9tQW5kRG93JiYhZS5zdGFyRE9NP2w9bHx8YzpsPWwmJmN9fWlmKCFsKXJldHVybiExfXJldHVybiEwfX07cyhfOWEsIlIiKTtzKHQ5LCJwIik7cyhUOWEsIl8iKTtzKEw5YSwieCIpO2tzdD0zMCoxZTMsb2g9W10senN0PWNsYXNze3N0YXRpY3tzKHRoaXMsIkUiKX1uYW1lO29wdGlvbnM7X3N0YXRlcztmbjtnZXRUeigpe3JldHVybiB0aGlzLm9wdGlvbnMudGltZXpvbmV8fHRoaXMub3B0aW9ucy51dGNPZmZzZXR9YXBwbHlEYXlPZmZzZXQoYSl7aWYodGhpcy5vcHRpb25zLmRheU9mZnNldCE9PXZvaWQgMCYmdGhpcy5vcHRpb25zLmRheU9mZnNldCE9PTApe2xldCBlPXRoaXMub3B0aW9ucy5kYXlPZmZzZXQqMjQqNjAqNjAqMWUzO3JldHVybiBuZXcgRGF0ZShhLmdldFRpbWUoKStlKX1yZXR1cm4gYX1jb25zdHJ1Y3RvcihhLGUsdCl7bGV0IHIsaTtpZih0OShlKSlpPWU7ZWxzZSBpZih0eXBlb2YgZT09Im9iamVjdCIpcj1lO2Vsc2UgaWYoZSE9PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoIkNyb246IEludmFsaWQgYXJndW1lbnQgcGFzc2VkIGZvciBvcHRpb25zSW4uIFNob3VsZCBiZSBvbmUgb2YgZnVuY3Rpb24sIG9yIG9iamVjdCAob3B0aW9ucykuIik7aWYodDkodCkpaT10O2Vsc2UgaWYodHlwZW9mIHQ9PSJvYmplY3QiKXI9dDtlbHNlIGlmKHQhPT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJDcm9uOiBJbnZhbGlkIGFyZ3VtZW50IHBhc3NlZCBmb3IgZnVuY0luLiBTaG91bGQgYmUgb25lIG9mIGZ1bmN0aW9uLCBvciBvYmplY3QgKG9wdGlvbnMpLiIpO2lmKHRoaXMubmFtZT1yPy5uYW1lLHRoaXMub3B0aW9ucz1fOWEociksdGhpcy5fc3RhdGVzPXtraWxsOiExLGJsb2NraW5nOiExLHByZXZpb3VzUnVuOnZvaWQgMCxjdXJyZW50UnVuOnZvaWQgMCxvbmNlOnZvaWQgMCxjdXJyZW50VGltZW91dDp2b2lkIDAsbWF4UnVuczpyP3IubWF4UnVuczp2b2lkIDAscGF1c2VkOnI/ci5wYXVzZWQ6ITEscGF0dGVybjpuZXcgV1koIiogKiAqICogKiIsdm9pZCAwLHttb2RlOiJhdXRvIn0pfSxhJiYoYSBpbnN0YW5jZW9mIERhdGV8fHR5cGVvZiBhPT0ic3RyaW5nIiYmYS5pbmRleE9mKCI6Iik+MCk/dGhpcy5fc3RhdGVzLm9uY2U9bmV3IENzKGEsdGhpcy5nZXRUeigpKTp0aGlzLl9zdGF0ZXMucGF0dGVybj1uZXcgV1koYSx0aGlzLm9wdGlvbnMudGltZXpvbmUse21vZGU6dGhpcy5vcHRpb25zLm1vZGUsYWx0ZXJuYXRpdmVXZWVrZGF5czp0aGlzLm9wdGlvbnMuYWx0ZXJuYXRpdmVXZWVrZGF5cyxzbG9wcHlSYW5nZXM6dGhpcy5vcHRpb25zLnNsb3BweVJhbmdlc30pLHRoaXMubmFtZSl7aWYob2guZmluZChvPT5vLm5hbWU9PT10aGlzLm5hbWUpKXRocm93IG5ldyBFcnJvcigiQ3JvbjogVHJpZWQgdG8gaW5pdGlhbGl6ZSBuZXcgbmFtZWQgam9iICciK3RoaXMubmFtZSsiJywgYnV0IG5hbWUgYWxyZWFkeSB0YWtlbi4iKTtvaC5wdXNoKHRoaXMpfXJldHVybiBpIT09dm9pZCAwJiZUOWEoaSkmJih0aGlzLmZuPWksdGhpcy5zY2hlZHVsZSgpKSx0aGlzfW5leHRSdW4oYSl7bGV0IGU9dGhpcy5fbmV4dChhKTtyZXR1cm4gZT90aGlzLmFwcGx5RGF5T2Zmc2V0KGUuZ2V0RGF0ZSghMSkpOm51bGx9bmV4dFJ1bnMoYSxlKXt0aGlzLl9zdGF0ZXMubWF4UnVucyE9PXZvaWQgMCYmYT50aGlzLl9zdGF0ZXMubWF4UnVucyYmKGE9dGhpcy5fc3RhdGVzLm1heFJ1bnMpO2xldCB0PWV8fHRoaXMuX3N0YXRlcy5jdXJyZW50UnVufHx2b2lkIDA7cmV0dXJuIHRoaXMuX2VudW1lcmF0ZVJ1bnMoYSx0LCJuZXh0Iil9cHJldmlvdXNSdW5zKGEsZSl7cmV0dXJuIHRoaXMuX2VudW1lcmF0ZVJ1bnMoYSxlfHx2b2lkIDAsInByZXZpb3VzIil9X2VudW1lcmF0ZVJ1bnMoYSxlLHQpe2xldCByPVtdLGk9ZT9uZXcgQ3MoZSx0aGlzLmdldFR6KCkpOm51bGwsbz10PT09Im5leHQiP3RoaXMuX25leHQ6dGhpcy5fcHJldmlvdXM7Zm9yKDthLS07KXtsZXQgbj1vLmNhbGwodGhpcyxpKTtpZighbilicmVhaztsZXQgbD1uLmdldERhdGUoITEpO3IucHVzaCh0aGlzLmFwcGx5RGF5T2Zmc2V0KGwpKSxpPW59cmV0dXJuIHJ9bWF0Y2goYSl7aWYodGhpcy5fc3RhdGVzLm9uY2Upe2xldCB0PW5ldyBDcyhhLHRoaXMuZ2V0VHooKSk7dC5tcz0wO2xldCByPW5ldyBDcyh0aGlzLl9zdGF0ZXMub25jZSx0aGlzLmdldFR6KCkpO3JldHVybiByLm1zPTAsdC5nZXRUaW1lKCk9PT1yLmdldFRpbWUoKX1sZXQgZT1uZXcgQ3MoYSx0aGlzLmdldFR6KCkpO3JldHVybiBlLm1zPTAsZS5tYXRjaCh0aGlzLl9zdGF0ZXMucGF0dGVybix0aGlzLm9wdGlvbnMpfWdldFBhdHRlcm4oKXtpZighdGhpcy5fc3RhdGVzLm9uY2UpcmV0dXJuIHRoaXMuX3N0YXRlcy5wYXR0ZXJuP3RoaXMuX3N0YXRlcy5wYXR0ZXJuLnBhdHRlcm46dm9pZCAwfWdldE9uY2UoKXtyZXR1cm4gdGhpcy5fc3RhdGVzLm9uY2U/dGhpcy5fc3RhdGVzLm9uY2UuZ2V0RGF0ZSgpOm51bGx9aXNSdW5uaW5nKCl7bGV0IGE9dGhpcy5uZXh0UnVuKHRoaXMuX3N0YXRlcy5jdXJyZW50UnVuKSxlPSF0aGlzLl9zdGF0ZXMucGF1c2VkLHQ9dGhpcy5mbiE9PXZvaWQgMCxyPSF0aGlzLl9zdGF0ZXMua2lsbDtyZXR1cm4gZSYmdCYmciYmYSE9PW51bGx9aXNTdG9wcGVkKCl7cmV0dXJuIHRoaXMuX3N0YXRlcy5raWxsfWlzQnVzeSgpe3JldHVybiB0aGlzLl9zdGF0ZXMuYmxvY2tpbmd9Y3VycmVudFJ1bigpe3JldHVybiB0aGlzLl9zdGF0ZXMuY3VycmVudFJ1bj90aGlzLl9zdGF0ZXMuY3VycmVudFJ1bi5nZXREYXRlKCk6bnVsbH1wcmV2aW91c1J1bigpe3JldHVybiB0aGlzLl9zdGF0ZXMucHJldmlvdXNSdW4/dGhpcy5fc3RhdGVzLnByZXZpb3VzUnVuLmdldERhdGUoKTpudWxsfW1zVG9OZXh0KGEpe2xldCBlPXRoaXMuX25leHQoYSk7cmV0dXJuIGU/YSBpbnN0YW5jZW9mIENzfHxhIGluc3RhbmNlb2YgRGF0ZT9lLmdldFRpbWUoKS1hLmdldFRpbWUoKTplLmdldFRpbWUoKS1uZXcgQ3MoYSkuZ2V0VGltZSgpOm51bGx9c3RvcCgpe3RoaXMuX3N0YXRlcy5raWxsPSEwLHRoaXMuX3N0YXRlcy5jdXJyZW50VGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuX3N0YXRlcy5jdXJyZW50VGltZW91dCk7bGV0IGE9b2guaW5kZXhPZih0aGlzKTthPj0wJiZvaC5zcGxpY2UoYSwxKX1wYXVzZSgpe3JldHVybiB0aGlzLl9zdGF0ZXMucGF1c2VkPSEwLCF0aGlzLl9zdGF0ZXMua2lsbH1yZXN1bWUoKXtyZXR1cm4gdGhpcy5fc3RhdGVzLnBhdXNlZD0hMSwhdGhpcy5fc3RhdGVzLmtpbGx9c2NoZWR1bGUoYSl7aWYoYSYmdGhpcy5mbil0aHJvdyBuZXcgRXJyb3IoIkNyb246IEl0IGlzIG5vdCBhbGxvd2VkIHRvIHNjaGVkdWxlIHR3byBmdW5jdGlvbnMgdXNpbmcgdGhlIHNhbWUgQ3JvbmVyIGluc3RhbmNlLiIpO2EmJih0aGlzLmZuPWEpO2xldCBlPXRoaXMubXNUb05leHQoKSx0PXRoaXMubmV4dFJ1bih0aGlzLl9zdGF0ZXMuY3VycmVudFJ1bik7cmV0dXJuIGU9PW51bGx8fGlzTmFOKGUpfHx0PT09bnVsbD90aGlzOihlPmtzdCYmKGU9a3N0KSx0aGlzLl9zdGF0ZXMuY3VycmVudFRpbWVvdXQ9c2V0VGltZW91dCgoKT0+dGhpcy5fY2hlY2tUcmlnZ2VyKHQpLGUpLHRoaXMuX3N0YXRlcy5jdXJyZW50VGltZW91dCYmdGhpcy5vcHRpb25zLnVucmVmJiZMOWEodGhpcy5fc3RhdGVzLmN1cnJlbnRUaW1lb3V0KSx0aGlzKX1hc3luYyBfdHJpZ2dlcihhKXt0aGlzLl9zdGF0ZXMuYmxvY2tpbmc9ITAsdGhpcy5fc3RhdGVzLmN1cnJlbnRSdW49bmV3IENzKHZvaWQgMCx0aGlzLmdldFR6KCkpO3RyeXtpZih0aGlzLm9wdGlvbnMuY2F0Y2gpdHJ5e3RoaXMuZm4hPT12b2lkIDAmJmF3YWl0IHRoaXMuZm4odGhpcyx0aGlzLm9wdGlvbnMuY29udGV4dCl9Y2F0Y2goZSl7aWYodDkodGhpcy5vcHRpb25zLmNhdGNoKSl0cnl7dGhpcy5vcHRpb25zLmNhdGNoKGUsdGhpcyl9Y2F0Y2h7fX1lbHNlIHRoaXMuZm4hPT12b2lkIDAmJmF3YWl0IHRoaXMuZm4odGhpcyx0aGlzLm9wdGlvbnMuY29udGV4dCl9ZmluYWxseXt0aGlzLl9zdGF0ZXMucHJldmlvdXNSdW49bmV3IENzKGEsdGhpcy5nZXRUeigpKSx0aGlzLl9zdGF0ZXMuYmxvY2tpbmc9ITF9fWFzeW5jIHRyaWdnZXIoKXthd2FpdCB0aGlzLl90cmlnZ2VyKCl9cnVuc0xlZnQoKXtyZXR1cm4gdGhpcy5fc3RhdGVzLm1heFJ1bnN9X2NoZWNrVHJpZ2dlcihhKXtsZXQgZT1uZXcgRGF0ZSx0PSF0aGlzLl9zdGF0ZXMucGF1c2VkJiZlLmdldFRpbWUoKT49YS5nZXRUaW1lKCkscj10aGlzLl9zdGF0ZXMuYmxvY2tpbmcmJnRoaXMub3B0aW9ucy5wcm90ZWN0O3QmJiFyPyh0aGlzLl9zdGF0ZXMubWF4UnVucyE9PXZvaWQgMCYmdGhpcy5fc3RhdGVzLm1heFJ1bnMtLSx0aGlzLl90cmlnZ2VyKCkpOnQmJnImJnQ5KHRoaXMub3B0aW9ucy5wcm90ZWN0KSYmc2V0VGltZW91dCgoKT0+dGhpcy5vcHRpb25zLnByb3RlY3QodGhpcyksMCksdGhpcy5zY2hlZHVsZSgpfV9uZXh0KGEpe2xldCBlPSEhKGF8fHRoaXMuX3N0YXRlcy5jdXJyZW50UnVuKSx0PSExOyFhJiZ0aGlzLm9wdGlvbnMuc3RhcnRBdCYmdGhpcy5vcHRpb25zLmludGVydmFsJiYoW2EsZV09dGhpcy5fY2FsY3VsYXRlUHJldmlvdXNSdW4oYSxlKSx0PSFhKSxhPW5ldyBDcyhhLHRoaXMuZ2V0VHooKSksdGhpcy5vcHRpb25zLnN0YXJ0QXQmJmEmJmEuZ2V0VGltZSgpPHRoaXMub3B0aW9ucy5zdGFydEF0LmdldFRpbWUoKSYmKGE9dGhpcy5vcHRpb25zLnN0YXJ0QXQpO2xldCByPXRoaXMuX3N0YXRlcy5vbmNlfHxuZXcgQ3MoYSx0aGlzLmdldFR6KCkpO3JldHVybiF0JiZyIT09dGhpcy5fc3RhdGVzLm9uY2UmJihyPXIuaW5jcmVtZW50KHRoaXMuX3N0YXRlcy5wYXR0ZXJuLHRoaXMub3B0aW9ucyxlKSksdGhpcy5fc3RhdGVzLm9uY2UmJnRoaXMuX3N0YXRlcy5vbmNlLmdldFRpbWUoKTw9YS5nZXRUaW1lKCl8fHI9PT1udWxsfHx0aGlzLl9zdGF0ZXMubWF4UnVucyE9PXZvaWQgMCYmdGhpcy5fc3RhdGVzLm1heFJ1bnM8PTB8fHRoaXMuX3N0YXRlcy5raWxsfHx0aGlzLm9wdGlvbnMuc3RvcEF0JiZyLmdldFRpbWUoKT49dGhpcy5vcHRpb25zLnN0b3BBdC5nZXRUaW1lKCk/bnVsbDpyfV9wcmV2aW91cyhhKXtsZXQgZT1uZXcgQ3MoYSx0aGlzLmdldFR6KCkpO3RoaXMub3B0aW9ucy5zdG9wQXQmJmUuZ2V0VGltZSgpPnRoaXMub3B0aW9ucy5zdG9wQXQuZ2V0VGltZSgpJiYoZT10aGlzLm9wdGlvbnMuc3RvcEF0KTtsZXQgdD1uZXcgQ3MoZSx0aGlzLmdldFR6KCkpO3JldHVybiB0aGlzLl9zdGF0ZXMub25jZT90aGlzLl9zdGF0ZXMub25jZS5nZXRUaW1lKCk8ZS5nZXRUaW1lKCk/dGhpcy5fc3RhdGVzLm9uY2U6bnVsbDoodD10LmRlY3JlbWVudCh0aGlzLl9zdGF0ZXMucGF0dGVybix0aGlzLm9wdGlvbnMpLHQ9PT1udWxsfHx0aGlzLm9wdGlvbnMuc3RhcnRBdCYmdC5nZXRUaW1lKCk8dGhpcy5vcHRpb25zLnN0YXJ0QXQuZ2V0VGltZSgpP251bGw6dCl9X2NhbGN1bGF0ZVByZXZpb3VzUnVuKGEsZSl7bGV0IHQ9bmV3IENzKHZvaWQgMCx0aGlzLmdldFR6KCkpLHI9YTtpZih0aGlzLm9wdGlvbnMuc3RhcnRBdC5nZXRUaW1lKCk8PXQuZ2V0VGltZSgpKXtyPXRoaXMub3B0aW9ucy5zdGFydEF0O2xldCBpPXIuZ2V0VGltZSgpK3RoaXMub3B0aW9ucy5pbnRlcnZhbCoxZTM7Zm9yKDtpPD10LmdldFRpbWUoKTspcj1uZXcgQ3Mocix0aGlzLmdldFR6KCkpLmluY3JlbWVudCh0aGlzLl9zdGF0ZXMucGF0dGVybix0aGlzLm9wdGlvbnMsITApLGk9ci5nZXRUaW1lKCkrdGhpcy5vcHRpb25zLmludGVydmFsKjFlMztlPSEwfXJldHVybiByPT09bnVsbCYmKHI9dm9pZCAwKSxbcixlXX19fSk7dmFyIFlZLHI5LCQ5YSwkaXIsaDIsS1kseWksVm8sbmgsYTJlLGEwLGxoLFpZLFhZLFFZLEpZLGMzLGNoLEdZLF9zdCxyMmUsczJlLFRzdCxpMmUsSnQ9ZigoKT0+e1lZPTcscjk9MzY1LjI0MjUsJDlhPU1hdGgucG93KDEwLDgpKjI0KjYwKjYwKjFlMywkaXI9LSQ5YSxoMj02MDQ4ZTUsS1k9ODY0ZTUseWk9NmU0LFZvPTM2ZTUsbmg9MWUzLGEyZT01MjU2MDAsYTA9NDMyMDAsbGg9MTQ0MCxaWT02MCxYWT0zLFFZPTEyLEpZPTQsYzM9MzYwMCxjaD02MCxHWT1jMyoyNCxfc3Q9R1kqNyxyMmU9R1kqMzY1LjI0MjUsczJlPXIyZS8xMixUc3Q9czJlKjMsaTJlPVN5bWJvbC5mb3IoImNvbnN0cnVjdERhdGVGcm9tIil9KTtmdW5jdGlvbiBGZShhLGUpe3JldHVybiB0eXBlb2YgYT09ImZ1bmN0aW9uIj9hKGUpOmEmJnR5cGVvZiBhPT0ib2JqZWN0IiYmaTJlIGluIGE/YVtpMmVdKGUpOmEgaW5zdGFuY2VvZiBEYXRlP25ldyBhLmNvbnN0cnVjdG9yKGUpOm5ldyBEYXRlKGUpfXZhciBQaXIsJHQ9ZigoKT0+e0p0KCk7cyhGZSwiY29uc3RydWN0RnJvbSIpO1Bpcj1GZX0pO2Z1bmN0aW9uIGtlKGEsZSl7cmV0dXJuIEZlKGV8fGEsYSl9dmFyIFJpcixIZT1mKCgpPT57JHQoKTtzKGtlLCJ0b0RhdGUiKTtSaXI9a2V9KTtmdW5jdGlvbiBfcyhhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIGlzTmFOKGUpP0ZlKHQ/LmlufHxhLE5hTik6KGUmJnIuc2V0RGF0ZShyLmdldERhdGUoKStlKSxyKX12YXIgcWlyLG0yPWYoKCk9PnskdCgpO0hlKCk7cyhfcywiYWRkRGF5cyIpO3Fpcj1fc30pO2Z1bmN0aW9uIGcyKGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKTtpZihpc05hTihlKSlyZXR1cm4gRmUodD8uaW58fGEsTmFOKTtpZighZSlyZXR1cm4gcjtsZXQgaT1yLmdldERhdGUoKSxvPUZlKHQ/LmlufHxhLHIuZ2V0VGltZSgpKTtvLnNldE1vbnRoKHIuZ2V0TW9udGgoKStlKzEsMCk7bGV0IG49by5nZXREYXRlKCk7cmV0dXJuIGk+PW4/bzooci5zZXRGdWxsWWVhcihvLmdldEZ1bGxZZWFyKCksby5nZXRNb250aCgpLGkpLHIpfXZhciBHaXIsZGg9ZigoKT0+eyR0KCk7SGUoKTtzKGcyLCJhZGRNb250aHMiKTtHaXI9ZzJ9KTtmdW5jdGlvbiByMChhLGUsdCl7bGV0e3llYXJzOnI9MCxtb250aHM6aT0wLHdlZWtzOm89MCxkYXlzOm49MCxob3VyczpsPTAsbWludXRlczpkPTAsc2Vjb25kczpjPTB9PWUscD1rZShhLHQ/LmluKSx1PWl8fHI/ZzIocCxpK3IqMTIpOnAsbT1ufHxvP19zKHUsbitvKjcpOnUsdj1kK2wqNjAsYj0oYyt2KjYwKSoxZTM7cmV0dXJuIEZlKHQ/LmlufHxhLCttK2IpfXZhciBlb3IsbzJlPWYoKCk9PnttMigpO2RoKCk7JHQoKTtIZSgpO3MocjAsImFkZCIpO2Vvcj1yMH0pO2Z1bmN0aW9uIGVLKGEsZSl7cmV0dXJuIGtlKGEsZT8uaW4pLmdldERheSgpPT09Nn12YXIgc29yLG4yZT1mKCgpPT57SGUoKTtzKGVLLCJpc1NhdHVyZGF5Iik7c29yPWVLfSk7ZnVuY3Rpb24gdEsoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF5KCk9PT0wfXZhciBsb3IsbDJlPWYoKCk9PntIZSgpO3ModEssImlzU3VuZGF5Iik7bG9yPXRLfSk7ZnVuY3Rpb24gYjIoYSxlKXtsZXQgdD1rZShhLGU/LmluKS5nZXREYXkoKTtyZXR1cm4gdD09PTB8fHQ9PT02fXZhciBwb3Isczk9ZigoKT0+e0hlKCk7cyhiMiwiaXNXZWVrZW5kIik7cG9yPWIyfSk7ZnVuY3Rpb24gYUsoYSxlLHQpe2xldCByPWtlKGEsdD8uaW4pLGk9YjIocix0KTtpZihpc05hTihlKSlyZXR1cm4gRmUodD8uaW4sTmFOKTtsZXQgbz1yLmdldEhvdXJzKCksbj1lPDA/LTE6MSxsPU1hdGgudHJ1bmMoZS81KTtyLnNldERhdGUoci5nZXREYXRlKCkrbCo3KTtsZXQgZD1NYXRoLmFicyhlJTUpO2Zvcig7ZD4wOylyLnNldERhdGUoci5nZXREYXRlKCkrbiksYjIocix0KXx8KGQtPTEpO3JldHVybiBpJiZiMihyLHQpJiZlIT09MCYmKGVLKHIsdCkmJnIuc2V0RGF0ZShyLmdldERhdGUoKSsobjwwPzI6LTEpKSx0SyhyLHQpJiZyLnNldERhdGUoci5nZXREYXRlKCkrKG48MD8xOi0yKSkpLHIuc2V0SG91cnMobykscn12YXIgd29yLGMyZT1mKCgpPT57JHQoKTtuMmUoKTtsMmUoKTtzOSgpO0hlKCk7cyhhSywiYWRkQnVzaW5lc3NEYXlzIik7d29yPWFLfSk7ZnVuY3Rpb24gczAoYSxlLHQpe3JldHVybiBGZSh0Py5pbnx8YSwra2UoYSkrZSl9dmFyIENvcixpOT1mKCgpPT57JHQoKTtIZSgpO3MoczAsImFkZE1pbGxpc2Vjb25kcyIpO0Nvcj1zMH0pO2Z1bmN0aW9uIHJLKGEsZSx0KXtyZXR1cm4gczAoYSxlKlZvLHQpfXZhciBEb3IsZDJlPWYoKCk9PntpOSgpO0p0KCk7cyhySywiYWRkSG91cnMiKTtEb3I9ckt9KTtmdW5jdGlvbiBxYSgpe3JldHVybiBMc3R9ZnVuY3Rpb24gJHN0KGEpe0xzdD1hfXZhciBMc3Qsd2k9ZigoKT0+e0xzdD17fTtzKHFhLCJnZXREZWZhdWx0T3B0aW9ucyIpO3MoJHN0LCJzZXREZWZhdWx0T3B0aW9ucyIpfSk7ZnVuY3Rpb24gZXIoYSxlKXtsZXQgdD1xYSgpLHI9ZT8ud2Vla1N0YXJ0c09uPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/dC53ZWVrU3RhcnRzT24/P3QubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsaT1rZShhLGU/LmluKSxvPWkuZ2V0RGF5KCksbj0obzxyPzc6MCkrby1yO3JldHVybiBpLnNldERhdGUoaS5nZXREYXRlKCktbiksaS5zZXRIb3VycygwLDAsMCwwKSxpfXZhciBPb3IsaTE9ZigoKT0+e3dpKCk7SGUoKTtzKGVyLCJzdGFydE9mV2VlayIpO09vcj1lcn0pO2Z1bmN0aW9uIGNzKGEsZSl7cmV0dXJuIGVyKGEsey4uLmUsd2Vla1N0YXJ0c09uOjF9KX12YXIgcW9yLHYyPWYoKCk9PntpMSgpO3MoY3MsInN0YXJ0T2ZJU09XZWVrIik7cW9yPWNzfSk7ZnVuY3Rpb24gamkoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0RnVsbFllYXIoKSxpPUZlKHQsMCk7aS5zZXRGdWxsWWVhcihyKzEsMCw0KSxpLnNldEhvdXJzKDAsMCwwLDApO2xldCBvPWNzKGkpLG49RmUodCwwKTtuLnNldEZ1bGxZZWFyKHIsMCw0KSxuLnNldEhvdXJzKDAsMCwwLDApO2xldCBsPWNzKG4pO3JldHVybiB0LmdldFRpbWUoKT49by5nZXRUaW1lKCk/cisxOnQuZ2V0VGltZSgpPj1sLmdldFRpbWUoKT9yOnItMX12YXIgWW9yLGkwPWYoKCk9PnskdCgpO3YyKCk7SGUoKTtzKGppLCJnZXRJU09XZWVrWWVhciIpO1lvcj1qaX0pO2Z1bmN0aW9uIEVyKGEpe2xldCBlPWtlKGEpLHQ9bmV3IERhdGUoRGF0ZS5VVEMoZS5nZXRGdWxsWWVhcigpLGUuZ2V0TW9udGgoKSxlLmdldERhdGUoKSxlLmdldEhvdXJzKCksZS5nZXRNaW51dGVzKCksZS5nZXRTZWNvbmRzKCksZS5nZXRNaWxsaXNlY29uZHMoKSkpO3JldHVybiB0LnNldFVUQ0Z1bGxZZWFyKGUuZ2V0RnVsbFllYXIoKSksK2EtK3R9dmFyIHdsPWYoKCk9PntIZSgpO3MoRXIsImdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMiKX0pO2Z1bmN0aW9uIFR0KGEsLi4uZSl7bGV0IHQ9RmUuYmluZChudWxsLGF8fGUuZmluZChyPT50eXBlb2Ygcj09Im9iamVjdCIpKTtyZXR1cm4gZS5tYXAodCl9dmFyIFVhPWYoKCk9PnskdCgpO3MoVHQsIm5vcm1hbGl6ZURhdGVzIil9KTtmdW5jdGlvbiB4MihhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldEhvdXJzKDAsMCwwLDApLHR9dmFyIHNucixvOT1mKCgpPT57SGUoKTtzKHgyLCJzdGFydE9mRGF5Iik7c25yPXgyfSk7ZnVuY3Rpb24gcXMoYSxlLHQpe2xldFtyLGldPVR0KHQ/LmluLGEsZSksbz14MihyKSxuPXgyKGkpLGw9K28tRXIobyksZD0rbi1FcihuKTtyZXR1cm4gTWF0aC5yb3VuZCgobC1kKS9LWSl9dmFyIHVucixNbD1mKCgpPT57d2woKTtVYSgpO0p0KCk7bzkoKTtzKHFzLCJkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMiKTt1bnI9cXN9KTtmdW5jdGlvbiBqbyhhLGUpe2xldCB0PWppKGEsZSkscj1GZShlPy5pbnx8YSwwKTtyZXR1cm4gci5zZXRGdWxsWWVhcih0LDAsNCksci5zZXRIb3VycygwLDAsMCwwKSxjcyhyKX12YXIgYm5yLHVoPWYoKCk9PnskdCgpO2kwKCk7djIoKTtzKGpvLCJzdGFydE9mSVNPV2Vla1llYXIiKTtibnI9am99KTtmdW5jdGlvbiBzSyhhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbiksaT1xcyhyLGpvKHIsdCkpLG89RmUodD8uaW58fGEsMCk7cmV0dXJuIG8uc2V0RnVsbFllYXIoZSwwLDQpLG8uc2V0SG91cnMoMCwwLDAsMCkscj1qbyhvKSxyLnNldERhdGUoci5nZXREYXRlKCkraSkscn12YXIgU25yLHUyZT1mKCgpPT57JHQoKTtNbCgpO3VoKCk7SGUoKTtzKHNLLCJzZXRJU09XZWVrWWVhciIpO1Nucj1zS30pO2Z1bmN0aW9uIGlLKGEsZSx0KXtyZXR1cm4gc0soYSxqaShhLHQpK2UsdCl9dmFyIExucixwMmU9ZigoKT0+e2kwKCk7dTJlKCk7cyhpSywiYWRkSVNPV2Vla1llYXJzIik7TG5yPWlLfSk7ZnVuY3Rpb24gcGgoYSxlLHQpe2xldCByPWtlKGEsdD8uaW4pO3JldHVybiByLnNldFRpbWUoci5nZXRUaW1lKCkrZSp5aSkscn12YXIgRW5yLG9LPWYoKCk9PntKdCgpO0hlKCk7cyhwaCwiYWRkTWludXRlcyIpO0Vucj1waH0pO2Z1bmN0aW9uIGZoKGEsZSx0KXtyZXR1cm4gZzIoYSxlKjMsdCl9dmFyIE9ucixuSz1mKCgpPT57ZGgoKTtzKGZoLCJhZGRRdWFydGVycyIpO09ucj1maH0pO2Z1bmN0aW9uIGxLKGEsZSx0KXtyZXR1cm4gczAoYSxlKjFlMyx0KX12YXIgcW5yLGYyZT1mKCgpPT57aTkoKTtzKGxLLCJhZGRTZWNvbmRzIik7cW5yPWxLfSk7ZnVuY3Rpb24gbzAoYSxlLHQpe3JldHVybiBfcyhhLGUqNyx0KX12YXIgV25yLG45PWYoKCk9PnttMigpO3MobzAsImFkZFdlZWtzIik7V25yPW8wfSk7ZnVuY3Rpb24gY0soYSxlLHQpe3JldHVybiBnMihhLGUqMTIsdCl9dmFyIFpucixoMmU9ZigoKT0+e2RoKCk7cyhjSywiYWRkWWVhcnMiKTtabnI9Y0t9KTtmdW5jdGlvbiBEc3QoYSxlLHQpe2xldFtyLGldPVsra2UoYS5zdGFydCx0Py5pbiksK2tlKGEuZW5kLHQ/LmluKV0uc29ydCgobCxkKT0+bC1kKSxbbyxuXT1bK2tlKGUuc3RhcnQsdD8uaW4pLCtrZShlLmVuZCx0Py5pbildLnNvcnQoKGwsZCk9PmwtZCk7cmV0dXJuIHQ/LmluY2x1c2l2ZT9yPD1uJiZvPD1pOnI8biYmbzxpfXZhciBlMXIsQXN0PWYoKCk9PntIZSgpO3MoRHN0LCJhcmVJbnRlcnZhbHNPdmVybGFwcGluZyIpO2Uxcj1Ec3R9KTtmdW5jdGlvbiBkSyhhLGUpe2xldCB0LHI9ZT8uaW47cmV0dXJuIGEuZm9yRWFjaChpPT57IXImJnR5cGVvZiBpPT0ib2JqZWN0IiYmKHI9RmUuYmluZChudWxsLGkpKTtsZXQgbz1rZShpLHIpOyghdHx8dDxvfHxpc05hTigrbykpJiYodD1vKX0pLEZlKHIsdHx8TmFOKX12YXIgaTFyLG0yZT1mKCgpPT57JHQoKTtIZSgpO3MoZEssIm1heCIpO2kxcj1kS30pO2Z1bmN0aW9uIHVLKGEsZSl7bGV0IHQscj1lPy5pbjtyZXR1cm4gYS5mb3JFYWNoKGk9PnshciYmdHlwZW9mIGk9PSJvYmplY3QiJiYocj1GZS5iaW5kKG51bGwsaSkpO2xldCBvPWtlKGkscik7KCF0fHx0Pm98fGlzTmFOKCtvKSkmJih0PW8pfSksRmUocix0fHxOYU4pfXZhciBkMXIsZzJlPWYoKCk9PnskdCgpO0hlKCk7cyh1SywibWluIik7ZDFyPXVLfSk7ZnVuY3Rpb24gUHN0KGEsZSx0KXtsZXRbcixpLG9dPVR0KHQ/LmluLGEsZS5zdGFydCxlLmVuZCk7cmV0dXJuIHVLKFtkSyhbcixpXSx0KSxvXSx0KX12YXIgZzFyLEVzdD1mKCgpPT57VWEoKTttMmUoKTtnMmUoKTtzKFBzdCwiY2xhbXAiKTtnMXI9UHN0fSk7ZnVuY3Rpb24gcEsoYSxlKXtsZXQgdD0ra2UoYSk7aWYoaXNOYU4odCkpcmV0dXJuIE5hTjtsZXQgcixpO3JldHVybiBlLmZvckVhY2goKG8sbik9PntsZXQgbD1rZShvKTtpZihpc05hTigrbCkpe3I9TmFOLGk9TmFOO3JldHVybn1sZXQgZD1NYXRoLmFicyh0LStsKTsocj09bnVsbHx8ZDxpKSYmKHI9bixpPWQpfSkscn12YXIgeTFyLGIyZT1mKCgpPT57SGUoKTtzKHBLLCJjbG9zZXN0SW5kZXhUbyIpO3kxcj1wS30pO2Z1bmN0aW9uIElzdChhLGUsdCl7bGV0W3IsLi4uaV09VHQodD8uaW4sYSwuLi5lKSxvPXBLKHIsaSk7aWYodHlwZW9mIG89PSJudW1iZXIiJiZpc05hTihvKSlyZXR1cm4gRmUocixOYU4pO2lmKG8hPT12b2lkIDApcmV0dXJuIGlbb119dmFyIEMxcixOc3Q9ZigoKT0+e1VhKCk7YjJlKCk7JHQoKTtzKElzdCwiY2xvc2VzdFRvIik7QzFyPUlzdH0pO2Z1bmN0aW9uIE1pKGEsZSl7bGV0IHQ9K2tlKGEpLStrZShlKTtyZXR1cm4gdDwwPy0xOnQ+MD8xOnR9dmFyICQxcixkMz1mKCgpPT57SGUoKTtzKE1pLCJjb21wYXJlQXNjIik7JDFyPU1pfSk7ZnVuY3Rpb24gUnN0KGEsZSl7bGV0IHQ9K2tlKGEpLStrZShlKTtyZXR1cm4gdD4wPy0xOnQ8MD8xOnR9dmFyIEUxcixPc3Q9ZigoKT0+e0hlKCk7cyhSc3QsImNvbXBhcmVEZXNjIik7RTFyPVJzdH0pO2Z1bmN0aW9uIGNhKGEpe3JldHVybiBGZShhLERhdGUubm93KCkpfXZhciBPMXIsVHM9ZigoKT0+eyR0KCk7cyhjYSwiY29uc3RydWN0Tm93Iik7TzFyPWNhfSk7ZnVuY3Rpb24gRnN0KGEpe2xldCBlPU1hdGgudHJ1bmMoYS83KTtyZXR1cm4gZT09PTA/MDplfXZhciBxMXIsQnN0PWYoKCk9PntKdCgpO3MoRnN0LCJkYXlzVG9XZWVrcyIpO3Excj1Gc3R9KTtmdW5jdGlvbiB5MihhLGUsdCl7bGV0W3IsaV09VHQodD8uaW4sYSxlKTtyZXR1cm4reDIocik9PSt4MihpKX12YXIgRzFyLGhoPWYoKCk9PntVYSgpO285KCk7cyh5MiwiaXNTYW1lRGF5Iik7RzFyPXkyfSk7ZnVuY3Rpb24gZksoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBEYXRlfHx0eXBlb2YgYT09Im9iamVjdCImJk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKT09PSJbb2JqZWN0IERhdGVdIn12YXIgWjFyLHYyZT1mKCgpPT57cyhmSywiaXNEYXRlIik7WjFyPWZLfSk7ZnVuY3Rpb24gSnMoYSl7cmV0dXJuISghZksoYSkmJnR5cGVvZiBhIT0ibnVtYmVyInx8aXNOYU4oK2tlKGEpKSl9dmFyIHQycixrbD1mKCgpPT57djJlKCk7SGUoKTtzKEpzLCJpc1ZhbGlkIik7dDJyPUpzfSk7ZnVuY3Rpb24gSHN0KGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO2lmKCFKcyhyKXx8IUpzKGkpKXJldHVybiBOYU47bGV0IG89cXMocixpKSxuPW88MD8tMToxLGw9TWF0aC50cnVuYyhvLzcpLGQ9bCo1LGM9X3MoaSxsKjcpO2Zvcig7IXkyKHIsYyk7KWQrPWIyKGMsdCk/MDpuLGM9X3MoYyxuKTtyZXR1cm4gZD09PTA/MDpkfXZhciBkMnIscXN0PWYoKCk9PntVYSgpO20yKCk7TWwoKTtoaCgpO2tsKCk7czkoKTtzKEhzdCwiZGlmZmVyZW5jZUluQnVzaW5lc3NEYXlzIik7ZDJyPUhzdH0pO2Z1bmN0aW9uIGhLKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO3JldHVybiBqaShyLHQpLWppKGksdCl9dmFyIG0ycix4MmU9ZigoKT0+e1VhKCk7aTAoKTtzKGhLLCJkaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtZZWFycyIpO20ycj1oS30pO2Z1bmN0aW9uIFZzdChhLGUsdCl7bGV0W3IsaV09VHQodD8uaW4sYSxlKSxvPWNzKHIpLG49Y3MoaSksbD0rby1FcihvKSxkPStuLUVyKG4pO3JldHVybiBNYXRoLnJvdW5kKChsLWQpL2gyKX12YXIgTTJyLGpzdD1mKCgpPT57d2woKTtVYSgpO0p0KCk7djIoKTtzKFZzdCwiZGlmZmVyZW5jZUluQ2FsZW5kYXJJU09XZWVrcyIpO00ycj1Wc3R9KTtmdW5jdGlvbiB1MyhhLGUsdCl7bGV0W3IsaV09VHQodD8uaW4sYSxlKSxvPXIuZ2V0RnVsbFllYXIoKS1pLmdldEZ1bGxZZWFyKCksbj1yLmdldE1vbnRoKCktaS5nZXRNb250aCgpO3JldHVybiBvKjEyK259dmFyIEMycixtSz1mKCgpPT57VWEoKTtzKHUzLCJkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRocyIpO0Mycj11M30pO2Z1bmN0aW9uIGw5KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuIE1hdGgudHJ1bmModC5nZXRNb250aCgpLzMpKzF9dmFyICQycix5MmU9ZigoKT0+e0hlKCk7cyhsOSwiZ2V0UXVhcnRlciIpOyQycj1sOX0pO2Z1bmN0aW9uIG1oKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpLG89ci5nZXRGdWxsWWVhcigpLWkuZ2V0RnVsbFllYXIoKSxuPWw5KHIpLWw5KGkpO3JldHVybiBvKjQrbn12YXIgSTJyLHcyZT1mKCgpPT57VWEoKTt5MmUoKTtzKG1oLCJkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzIik7STJyPW1ofSk7ZnVuY3Rpb24gcDMoYSxlLHQpe2xldFtyLGldPVR0KHQ/LmluLGEsZSksbz1lcihyLHQpLG49ZXIoaSx0KSxsPStvLUVyKG8pLGQ9K24tRXIobik7cmV0dXJuIE1hdGgucm91bmQoKGwtZCkvaDIpfXZhciBxMnIsZ0s9ZigoKT0+e3dsKCk7VWEoKTtKdCgpO2kxKCk7cyhwMywiZGlmZmVyZW5jZUluQ2FsZW5kYXJXZWVrcyIpO3Eycj1wM30pO2Z1bmN0aW9uIG4wKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO3JldHVybiByLmdldEZ1bGxZZWFyKCktaS5nZXRGdWxsWWVhcigpfXZhciBXMnIsYks9ZigoKT0+e1VhKCk7cyhuMCwiZGlmZmVyZW5jZUluQ2FsZW5kYXJZZWFycyIpO1cycj1uMH0pO2Z1bmN0aW9uIGdoKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpLG89VXN0KHIsaSksbj1NYXRoLmFicyhxcyhyLGkpKTtyLnNldERhdGUoci5nZXREYXRlKCktbypuKTtsZXQgbD0rKFVzdChyLGkpPT09LW8pLGQ9byoobi1sKTtyZXR1cm4gZD09PTA/MDpkfWZ1bmN0aW9uIFVzdChhLGUpe2xldCB0PWEuZ2V0RnVsbFllYXIoKS1lLmdldEZ1bGxZZWFyKCl8fGEuZ2V0TW9udGgoKS1lLmdldE1vbnRoKCl8fGEuZ2V0RGF0ZSgpLWUuZ2V0RGF0ZSgpfHxhLmdldEhvdXJzKCktZS5nZXRIb3VycygpfHxhLmdldE1pbnV0ZXMoKS1lLmdldE1pbnV0ZXMoKXx8YS5nZXRTZWNvbmRzKCktZS5nZXRTZWNvbmRzKCl8fGEuZ2V0TWlsbGlzZWNvbmRzKCktZS5nZXRNaWxsaXNlY29uZHMoKTtyZXR1cm4gdDwwPy0xOnQ+MD8xOnR9dmFyIFgycix2Sz1mKCgpPT57VWEoKTtNbCgpO3MoZ2gsImRpZmZlcmVuY2VJbkRheXMiKTtzKFVzdCwiY29tcGFyZUxvY2FsQXNjIik7WDJyPWdofSk7ZnVuY3Rpb24ga2koYSl7cmV0dXJuIGU9PntsZXQgcj0oYT9NYXRoW2FdOk1hdGgudHJ1bmMpKGUpO3JldHVybiByPT09MD8wOnJ9fXZhciBTbD1mKCgpPT57cyhraSwiZ2V0Um91bmRpbmdNZXRob2QiKX0pO2Z1bmN0aW9uIGYzKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpLG89KCtyLStpKS9WbztyZXR1cm4ga2kodD8ucm91bmRpbmdNZXRob2QpKG8pfXZhciBpbHIseEs9ZigoKT0+e1NsKCk7VWEoKTtKdCgpO3MoZjMsImRpZmZlcmVuY2VJbkhvdXJzIik7aWxyPWYzfSk7ZnVuY3Rpb24geUsoYSxlLHQpe3JldHVybiBpSyhhLC1lLHQpfXZhciBjbHIsTTJlPWYoKCk9PntwMmUoKTtzKHlLLCJzdWJJU09XZWVrWWVhcnMiKTtjbHI9eUt9KTtmdW5jdGlvbiBXc3QoYSxlLHQpe2xldFtyLGldPVR0KHQ/LmluLGEsZSksbz1NaShyLGkpLG49TWF0aC5hYnMoaEsocixpLHQpKSxsPXlLKHIsbypuLHQpLGQ9KyhNaShsLGkpPT09LW8pLGM9byoobi1kKTtyZXR1cm4gYz09PTA/MDpjfXZhciBnbHIsR3N0PWYoKCk9PntVYSgpO2QzKCk7eDJlKCk7TTJlKCk7cyhXc3QsImRpZmZlcmVuY2VJbklTT1dlZWtZZWFycyIpO2dscj1Xc3R9KTtmdW5jdGlvbiBiaChhLGUpe3JldHVybitrZShhKS0ra2UoZSl9dmFyIHlscix3Sz1mKCgpPT57SGUoKTtzKGJoLCJkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMiKTt5bHI9Ymh9KTtmdW5jdGlvbiBoMyhhLGUsdCl7bGV0IHI9YmgoYSxlKS95aTtyZXR1cm4ga2kodD8ucm91bmRpbmdNZXRob2QpKHIpfXZhciBDbHIsTUs9ZigoKT0+e1NsKCk7SnQoKTt3SygpO3MoaDMsImRpZmZlcmVuY2VJbk1pbnV0ZXMiKTtDbHI9aDN9KTtmdW5jdGlvbiB2aChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldEhvdXJzKDIzLDU5LDU5LDk5OSksdH12YXIgJGxyLGtLPWYoKCk9PntIZSgpO3ModmgsImVuZE9mRGF5Iik7JGxyPXZofSk7ZnVuY3Rpb24geGgoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0TW9udGgoKTtyZXR1cm4gdC5zZXRGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCkscisxLDApLHQuc2V0SG91cnMoMjMsNTksNTksOTk5KSx0fXZhciBFbHIsU0s9ZigoKT0+e0hlKCk7cyh4aCwiZW5kT2ZNb250aCIpO0Vscj14aH0pO2Z1bmN0aW9uIHpLKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuK3ZoKHQsZSk9PSt4aCh0LGUpfXZhciBCbHIsazJlPWYoKCk9PntrSygpO1NLKCk7SGUoKTtzKHpLLCJpc0xhc3REYXlPZk1vbnRoIik7QmxyPXpLfSk7ZnVuY3Rpb24gbDAoYSxlLHQpe2xldFtyLGksb109VHQodD8uaW4sYSxhLGUpLG49TWkoaSxvKSxsPU1hdGguYWJzKHUzKGksbykpO2lmKGw8MSlyZXR1cm4gMDtpLmdldE1vbnRoKCk9PT0xJiZpLmdldERhdGUoKT4yNyYmaS5zZXREYXRlKDMwKSxpLnNldE1vbnRoKGkuZ2V0TW9udGgoKS1uKmwpO2xldCBkPU1pKGksbyk9PT0tbjt6SyhyKSYmbD09PTEmJk1pKHIsbyk9PT0xJiYoZD0hMSk7bGV0IGM9bioobC0rZCk7cmV0dXJuIGM9PT0wPzA6Y312YXIgR2xyLGM5PWYoKCk9PntVYSgpO2QzKCk7bUsoKTtrMmUoKTtzKGwwLCJkaWZmZXJlbmNlSW5Nb250aHMiKTtHbHI9bDB9KTtmdW5jdGlvbiBZc3QoYSxlLHQpe2xldCByPWwwKGEsZSx0KS8zO3JldHVybiBraSh0Py5yb3VuZGluZ01ldGhvZCkocil9dmFyIFFscixLc3Q9ZigoKT0+e1NsKCk7YzkoKTtzKFlzdCwiZGlmZmVyZW5jZUluUXVhcnRlcnMiKTtRbHI9WXN0fSk7ZnVuY3Rpb24gdzIoYSxlLHQpe2xldCByPWJoKGEsZSkvMWUzO3JldHVybiBraSh0Py5yb3VuZGluZ01ldGhvZCkocil9dmFyIHJjcixkOT1mKCgpPT57U2woKTt3SygpO3ModzIsImRpZmZlcmVuY2VJblNlY29uZHMiKTtyY3I9dzJ9KTtmdW5jdGlvbiBac3QoYSxlLHQpe2xldCByPWdoKGEsZSx0KS83O3JldHVybiBraSh0Py5yb3VuZGluZ01ldGhvZCkocil9dmFyIGxjcixYc3Q9ZigoKT0+e1NsKCk7dksoKTtzKFpzdCwiZGlmZmVyZW5jZUluV2Vla3MiKTtsY3I9WnN0fSk7ZnVuY3Rpb24gQ0soYSxlLHQpe2xldFtyLGldPVR0KHQ/LmluLGEsZSksbz1NaShyLGkpLG49TWF0aC5hYnMobjAocixpKSk7ci5zZXRGdWxsWWVhcigxNTg0KSxpLnNldEZ1bGxZZWFyKDE1ODQpO2xldCBsPU1pKHIsaSk9PT0tbyxkPW8qKG4tK2wpO3JldHVybiBkPT09MD8wOmR9dmFyIGhjcixTMmU9ZigoKT0+e1VhKCk7ZDMoKTtiSygpO3MoQ0ssImRpZmZlcmVuY2VJblllYXJzIik7aGNyPUNLfSk7ZnVuY3Rpb24gVnMoYSxlKXtsZXRbdCxyXT1UdChhLGUuc3RhcnQsZS5lbmQpO3JldHVybntzdGFydDp0LGVuZDpyfX12YXIgTTI9ZigoKT0+e1VhKCk7cyhWcywibm9ybWFsaXplSW50ZXJ2YWwiKX0pO2Z1bmN0aW9uIF9LKGEsZSl7bGV0e3N0YXJ0OnQsZW5kOnJ9PVZzKGU/LmluLGEpLGk9K3Q+K3Isbz1pPyt0OityLG49aT9yOnQ7bi5zZXRIb3VycygwLDAsMCwwKTtsZXQgbD1lPy5zdGVwPz8xO2lmKCFsKXJldHVybltdO2w8MCYmKGw9LWwsaT0haSk7bGV0IGQ9W107Zm9yKDsrbjw9bzspZC5wdXNoKEZlKHQsbikpLG4uc2V0RGF0ZShuLmdldERhdGUoKStsKSxuLnNldEhvdXJzKDAsMCwwLDApO3JldHVybiBpP2QucmV2ZXJzZSgpOmR9dmFyIE1jcix6MmU9ZigoKT0+e00yKCk7JHQoKTtzKF9LLCJlYWNoRGF5T2ZJbnRlcnZhbCIpO01jcj1fS30pO2Z1bmN0aW9uIFFzdChhLGUpe2xldHtzdGFydDp0LGVuZDpyfT1WcyhlPy5pbixhKSxpPSt0PityLG89aT8rdDorcixuPWk/cjp0O24uc2V0TWludXRlcygwLDAsMCk7bGV0IGw9ZT8uc3RlcD8/MTtpZighbClyZXR1cm5bXTtsPDAmJihsPS1sLGk9IWkpO2xldCBkPVtdO2Zvcig7K248PW87KWQucHVzaChGZSh0LG4pKSxuLnNldEhvdXJzKG4uZ2V0SG91cnMoKStsKTtyZXR1cm4gaT9kLnJldmVyc2UoKTpkfXZhciBfY3IsSnN0PWYoKCk9PntNMigpOyR0KCk7cyhRc3QsImVhY2hIb3VyT2ZJbnRlcnZhbCIpO19jcj1Rc3R9KTtmdW5jdGlvbiBlaXQoYSxlKXtsZXR7c3RhcnQ6dCxlbmQ6cn09VnMoZT8uaW4sYSk7dC5zZXRTZWNvbmRzKDAsMCk7bGV0IGk9K3Q+K3Isbz1pPyt0OityLG49aT9yOnQsbD1lPy5zdGVwPz8xO2lmKCFsKXJldHVybltdO2w8MCYmKGw9LWwsaT0haSk7bGV0IGQ9W107Zm9yKDsrbjw9bzspZC5wdXNoKEZlKHQsbikpLG49cGgobixsKTtyZXR1cm4gaT9kLnJldmVyc2UoKTpkfXZhciBQY3IsdGl0PWYoKCk9PntNMigpO29LKCk7JHQoKTtzKGVpdCwiZWFjaE1pbnV0ZU9mSW50ZXJ2YWwiKTtQY3I9ZWl0fSk7ZnVuY3Rpb24gYWl0KGEsZSl7bGV0e3N0YXJ0OnQsZW5kOnJ9PVZzKGU/LmluLGEpLGk9K3Q+K3Isbz1pPyt0OityLG49aT9yOnQ7bi5zZXRIb3VycygwLDAsMCwwKSxuLnNldERhdGUoMSk7bGV0IGw9ZT8uc3RlcD8/MTtpZighbClyZXR1cm5bXTtsPDAmJihsPS1sLGk9IWkpO2xldCBkPVtdO2Zvcig7K248PW87KWQucHVzaChGZSh0LG4pKSxuLnNldE1vbnRoKG4uZ2V0TW9udGgoKStsKTtyZXR1cm4gaT9kLnJldmVyc2UoKTpkfXZhciBPY3Iscml0PWYoKCk9PntNMigpOyR0KCk7cyhhaXQsImVhY2hNb250aE9mSW50ZXJ2YWwiKTtPY3I9YWl0fSk7ZnVuY3Rpb24gazIoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0TW9udGgoKSxpPXItciUzO3JldHVybiB0LnNldE1vbnRoKGksMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fXZhciBxY3IsVEs9ZigoKT0+e0hlKCk7cyhrMiwic3RhcnRPZlF1YXJ0ZXIiKTtxY3I9azJ9KTtmdW5jdGlvbiBzaXQoYSxlKXtsZXR7c3RhcnQ6dCxlbmQ6cn09VnMoZT8uaW4sYSksaT0rdD4rcixvPWk/K2syKHQpOitrMihyKSxuPWk/azIocik6azIodCksbD1lPy5zdGVwPz8xO2lmKCFsKXJldHVybltdO2w8MCYmKGw9LWwsaT0haSk7bGV0IGQ9W107Zm9yKDsrbjw9bzspZC5wdXNoKEZlKHQsbikpLG49ZmgobixsKTtyZXR1cm4gaT9kLnJldmVyc2UoKTpkfXZhciBLY3IsaWl0PWYoKCk9PntNMigpO25LKCk7JHQoKTtUSygpO3Moc2l0LCJlYWNoUXVhcnRlck9mSW50ZXJ2YWwiKTtLY3I9c2l0fSk7ZnVuY3Rpb24gb2l0KGEsZSl7bGV0e3N0YXJ0OnQsZW5kOnJ9PVZzKGU/LmluLGEpLGk9K3Q+K3Isbz1pP2VyKHIsZSk6ZXIodCxlKSxuPWk/ZXIodCxlKTplcihyLGUpO28uc2V0SG91cnMoMTUpLG4uc2V0SG91cnMoMTUpO2xldCBsPStuLmdldFRpbWUoKSxkPW8sYz1lPy5zdGVwPz8xO2lmKCFjKXJldHVybltdO2M8MCYmKGM9LWMsaT0haSk7bGV0IHA9W107Zm9yKDsrZDw9bDspZC5zZXRIb3VycygwKSxwLnB1c2goRmUodCxkKSksZD1vMChkLGMpLGQuc2V0SG91cnMoMTUpO3JldHVybiBpP3AucmV2ZXJzZSgpOnB9dmFyIGEwcixuaXQ9ZigoKT0+e00yKCk7bjkoKTskdCgpO2kxKCk7cyhvaXQsImVhY2hXZWVrT2ZJbnRlcnZhbCIpO2Ewcj1vaXR9KTtmdW5jdGlvbiB5aChhLGUpe2xldHtzdGFydDp0LGVuZDpyfT1WcyhlPy5pbixhKSxpPV9LKHtzdGFydDp0LGVuZDpyfSxlKSxvPVtdLG49MDtmb3IoO248aS5sZW5ndGg7KXtsZXQgbD1pW24rK107YjIobCkmJm8ucHVzaChGZSh0LGwpKX1yZXR1cm4gb312YXIgYzByLExLPWYoKCk9PntNMigpOyR0KCk7ejJlKCk7czkoKTtzKHloLCJlYWNoV2Vla2VuZE9mSW50ZXJ2YWwiKTtjMHI9eWh9KTtmdW5jdGlvbiBjMChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldERhdGUoMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fXZhciBmMHIsdTk9ZigoKT0+e0hlKCk7cyhjMCwic3RhcnRPZk1vbnRoIik7ZjByPWMwfSk7ZnVuY3Rpb24gbGl0KGEsZSl7bGV0IHQ9YzAoYSxlKSxyPXhoKGEsZSk7cmV0dXJuIHloKHtzdGFydDp0LGVuZDpyfSxlKX12YXIgeDByLGNpdD1mKCgpPT57TEsoKTtTSygpO3U5KCk7cyhsaXQsImVhY2hXZWVrZW5kT2ZNb250aCIpO3gwcj1saXR9KTtmdW5jdGlvbiAkSyhhLGUpe2xldCB0PWtlKGEsZT8uaW4pLHI9dC5nZXRGdWxsWWVhcigpO3JldHVybiB0LnNldEZ1bGxZZWFyKHIrMSwwLDApLHQuc2V0SG91cnMoMjMsNTksNTksOTk5KSx0fXZhciBrMHIsQzJlPWYoKCk9PntIZSgpO3MoJEssImVuZE9mWWVhciIpO2swcj0kS30pO2Z1bmN0aW9uIHdoKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuIHQuc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpLDAsMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fXZhciBfMHIsREs9ZigoKT0+e0hlKCk7cyh3aCwic3RhcnRPZlllYXIiKTtfMHI9d2h9KTtmdW5jdGlvbiBkaXQoYSxlKXtsZXQgdD13aChhLGUpLHI9JEsoYSxlKTtyZXR1cm4geWgoe3N0YXJ0OnQsZW5kOnJ9LGUpfXZhciBQMHIsdWl0PWYoKCk9PntMSygpO0MyZSgpO0RLKCk7cyhkaXQsImVhY2hXZWVrZW5kT2ZZZWFyIik7UDByPWRpdH0pO2Z1bmN0aW9uIHBpdChhLGUpe2xldHtzdGFydDp0LGVuZDpyfT1WcyhlPy5pbixhKSxpPSt0PityLG89aT8rdDorcixuPWk/cjp0O24uc2V0SG91cnMoMCwwLDAsMCksbi5zZXRNb250aCgwLDEpO2xldCBsPWU/LnN0ZXA/PzE7aWYoIWwpcmV0dXJuW107bDwwJiYobD0tbCxpPSFpKTtsZXQgZD1bXTtmb3IoOytuPD1vOylkLnB1c2goRmUodCxuKSksbi5zZXRGdWxsWWVhcihuLmdldEZ1bGxZZWFyKCkrbCk7cmV0dXJuIGk/ZC5yZXZlcnNlKCk6ZH12YXIgTzByLGZpdD1mKCgpPT57TTIoKTskdCgpO3MocGl0LCJlYWNoWWVhck9mSW50ZXJ2YWwiKTtPMHI9cGl0fSk7ZnVuY3Rpb24gaGl0KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikscj10LmdldEZ1bGxZZWFyKCksaT05K01hdGguZmxvb3Ioci8xMCkqMTA7cmV0dXJuIHQuc2V0RnVsbFllYXIoaSwxMSwzMSksdC5zZXRIb3VycygyMyw1OSw1OSw5OTkpLHR9dmFyIHEwcixtaXQ9ZigoKT0+e0hlKCk7cyhoaXQsImVuZE9mRGVjYWRlIik7cTByPWhpdH0pO2Z1bmN0aW9uIGdpdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldE1pbnV0ZXMoNTksNTksOTk5KSx0fXZhciBXMHIsYml0PWYoKCk9PntIZSgpO3MoZ2l0LCJlbmRPZkhvdXIiKTtXMHI9Z2l0fSk7ZnVuY3Rpb24gQUsoYSxlKXtsZXQgdD1xYSgpLHI9ZT8ud2Vla1N0YXJ0c09uPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/dC53ZWVrU3RhcnRzT24/P3QubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsaT1rZShhLGU/LmluKSxvPWkuZ2V0RGF5KCksbj0obzxyPy03OjApKzYtKG8tcik7cmV0dXJuIGkuc2V0RGF0ZShpLmdldERhdGUoKStuKSxpLnNldEhvdXJzKDIzLDU5LDU5LDk5OSksaX12YXIgWDByLF8yZT1mKCgpPT57d2koKTtIZSgpO3MoQUssImVuZE9mV2VlayIpO1gwcj1BS30pO2Z1bmN0aW9uIHZpdChhLGUpe3JldHVybiBBSyhhLHsuLi5lLHdlZWtTdGFydHNPbjoxfSl9dmFyIHQ0cix4aXQ9ZigoKT0+e18yZSgpO3Modml0LCJlbmRPZklTT1dlZWsiKTt0NHI9dml0fSk7ZnVuY3Rpb24geWl0KGEsZSl7bGV0IHQ9amkoYSxlKSxyPUZlKGU/LmlufHxhLDApO3Iuc2V0RnVsbFllYXIodCsxLDAsNCksci5zZXRIb3VycygwLDAsMCwwKTtsZXQgaT1jcyhyLGUpO3JldHVybiBpLnNldE1pbGxpc2Vjb25kcyhpLmdldE1pbGxpc2Vjb25kcygpLTEpLGl9dmFyIG40cix3aXQ9ZigoKT0+eyR0KCk7aTAoKTt2MigpO3MoeWl0LCJlbmRPZklTT1dlZWtZZWFyIik7bjRyPXlpdH0pO2Z1bmN0aW9uIE1pdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldFNlY29uZHMoNTksOTk5KSx0fXZhciB1NHIsa2l0PWYoKCk9PntIZSgpO3MoTWl0LCJlbmRPZk1pbnV0ZSIpO3U0cj1NaXR9KTtmdW5jdGlvbiBTaXQoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0TW9udGgoKSxpPXItciUzKzM7cmV0dXJuIHQuc2V0TW9udGgoaSwwKSx0LnNldEhvdXJzKDIzLDU5LDU5LDk5OSksdH12YXIgbTRyLHppdD1mKCgpPT57SGUoKTtzKFNpdCwiZW5kT2ZRdWFydGVyIik7bTRyPVNpdH0pO2Z1bmN0aW9uIENpdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldE1pbGxpc2Vjb25kcyg5OTkpLHR9dmFyIHg0cixfaXQ9ZigoKT0+e0hlKCk7cyhDaXQsImVuZE9mU2Vjb25kIik7eDRyPUNpdH0pO2Z1bmN0aW9uIFRpdChhKXtyZXR1cm4gdmgoRGF0ZS5ub3coKSxhKX12YXIgazRyLExpdD1mKCgpPT57a0soKTtzKFRpdCwiZW5kT2ZUb2RheSIpO2s0cj1UaXR9KTtmdW5jdGlvbiAkaXQoYSl7bGV0IGU9Y2EoYT8uaW4pLHQ9ZS5nZXRGdWxsWWVhcigpLHI9ZS5nZXRNb250aCgpLGk9ZS5nZXREYXRlKCksbz1jYShhPy5pbik7cmV0dXJuIG8uc2V0RnVsbFllYXIodCxyLGkrMSksby5zZXRIb3VycygyMyw1OSw1OSw5OTkpLGE/LmluP2EuaW4obyk6b312YXIgXzRyLERpdD1mKCgpPT57VHMoKTtzKCRpdCwiZW5kT2ZUb21vcnJvdyIpO180cj0kaXR9KTtmdW5jdGlvbiBBaXQoYSl7bGV0IGU9Y2EoYT8uaW4pLHQ9RmUoYT8uaW4sMCk7cmV0dXJuIHQuc2V0RnVsbFllYXIoZS5nZXRGdWxsWWVhcigpLGUuZ2V0TW9udGgoKSxlLmdldERhdGUoKS0xKSx0LnNldEhvdXJzKDIzLDU5LDU5LDk5OSksdH12YXIgQTRyLFBpdD1mKCgpPT57JHQoKTtUcygpO3MoQWl0LCJlbmRPZlllc3RlcmRheSIpO0E0cj1BaXR9KTt2YXIgRDlhLEVpdCxJaXQ9ZigoKT0+e0Q5YT17bGVzc1RoYW5YU2Vjb25kczp7b25lOiJsZXNzIHRoYW4gYSBzZWNvbmQiLG90aGVyOiJsZXNzIHRoYW4ge3tjb3VudH19IHNlY29uZHMifSx4U2Vjb25kczp7b25lOiIxIHNlY29uZCIsb3RoZXI6Int7Y291bnR9fSBzZWNvbmRzIn0saGFsZkFNaW51dGU6ImhhbGYgYSBtaW51dGUiLGxlc3NUaGFuWE1pbnV0ZXM6e29uZToibGVzcyB0aGFuIGEgbWludXRlIixvdGhlcjoibGVzcyB0aGFuIHt7Y291bnR9fSBtaW51dGVzIn0seE1pbnV0ZXM6e29uZToiMSBtaW51dGUiLG90aGVyOiJ7e2NvdW50fX0gbWludXRlcyJ9LGFib3V0WEhvdXJzOntvbmU6ImFib3V0IDEgaG91ciIsb3RoZXI6ImFib3V0IHt7Y291bnR9fSBob3VycyJ9LHhIb3Vyczp7b25lOiIxIGhvdXIiLG90aGVyOiJ7e2NvdW50fX0gaG91cnMifSx4RGF5czp7b25lOiIxIGRheSIsb3RoZXI6Int7Y291bnR9fSBkYXlzIn0sYWJvdXRYV2Vla3M6e29uZToiYWJvdXQgMSB3ZWVrIixvdGhlcjoiYWJvdXQge3tjb3VudH19IHdlZWtzIn0seFdlZWtzOntvbmU6IjEgd2VlayIsb3RoZXI6Int7Y291bnR9fSB3ZWVrcyJ9LGFib3V0WE1vbnRoczp7b25lOiJhYm91dCAxIG1vbnRoIixvdGhlcjoiYWJvdXQge3tjb3VudH19IG1vbnRocyJ9LHhNb250aHM6e29uZToiMSBtb250aCIsb3RoZXI6Int7Y291bnR9fSBtb250aHMifSxhYm91dFhZZWFyczp7b25lOiJhYm91dCAxIHllYXIiLG90aGVyOiJhYm91dCB7e2NvdW50fX0geWVhcnMifSx4WWVhcnM6e29uZToiMSB5ZWFyIixvdGhlcjoie3tjb3VudH19IHllYXJzIn0sb3ZlclhZZWFyczp7b25lOiJvdmVyIDEgeWVhciIsb3RoZXI6Im92ZXIge3tjb3VudH19IHllYXJzIn0sYWxtb3N0WFllYXJzOntvbmU6ImFsbW9zdCAxIHllYXIiLG90aGVyOiJhbG1vc3Qge3tjb3VudH19IHllYXJzIn19LEVpdD1zKChhLGUsdCk9PntsZXQgcixpPUQ5YVthXTtyZXR1cm4gdHlwZW9mIGk9PSJzdHJpbmciP3I9aTplPT09MT9yPWkub25lOnI9aS5vdGhlci5yZXBsYWNlKCJ7e2NvdW50fX0iLGUudG9TdHJpbmcoKSksdD8uYWRkU3VmZml4P3QuY29tcGFyaXNvbiYmdC5jb21wYXJpc29uPjA/ImluICIrcjpyKyIgYWdvIjpyfSwiZm9ybWF0RGlzdGFuY2UiKX0pO2Z1bmN0aW9uIFBLKGEpe3JldHVybihlPXt9KT0+e2xldCB0PWUud2lkdGg/U3RyaW5nKGUud2lkdGgpOmEuZGVmYXVsdFdpZHRoO3JldHVybiBhLmZvcm1hdHNbdF18fGEuZm9ybWF0c1thLmRlZmF1bHRXaWR0aF19fXZhciBOaXQ9ZigoKT0+e3MoUEssImJ1aWxkRm9ybWF0TG9uZ0ZuIil9KTt2YXIgQTlhLFA5YSxFOWEsUml0LE9pdD1mKCgpPT57Tml0KCk7QTlhPXtmdWxsOiJFRUVFLCBNTU1NIGRvLCB5Iixsb25nOiJNTU1NIGRvLCB5IixtZWRpdW06Ik1NTSBkLCB5IixzaG9ydDoiTU0vZGQveXl5eSJ9LFA5YT17ZnVsbDoiaDptbTpzcyBhIHp6enoiLGxvbmc6Img6bW06c3MgYSB6IixtZWRpdW06Img6bW06c3MgYSIsc2hvcnQ6Img6bW0gYSJ9LEU5YT17ZnVsbDoie3tkYXRlfX0gJ2F0JyB7e3RpbWV9fSIsbG9uZzoie3tkYXRlfX0gJ2F0JyB7e3RpbWV9fSIsbWVkaXVtOiJ7e2RhdGV9fSwge3t0aW1lfX0iLHNob3J0OiJ7e2RhdGV9fSwge3t0aW1lfX0ifSxSaXQ9e2RhdGU6UEsoe2Zvcm1hdHM6QTlhLGRlZmF1bHRXaWR0aDoiZnVsbCJ9KSx0aW1lOlBLKHtmb3JtYXRzOlA5YSxkZWZhdWx0V2lkdGg6ImZ1bGwifSksZGF0ZVRpbWU6UEsoe2Zvcm1hdHM6RTlhLGRlZmF1bHRXaWR0aDoiZnVsbCJ9KX19KTt2YXIgSTlhLEZpdCxCaXQ9ZigoKT0+e0k5YT17bGFzdFdlZWs6IidsYXN0JyBlZWVlICdhdCcgcCIseWVzdGVyZGF5OiIneWVzdGVyZGF5IGF0JyBwIix0b2RheToiJ3RvZGF5IGF0JyBwIix0b21vcnJvdzoiJ3RvbW9ycm93IGF0JyBwIixuZXh0V2VlazoiZWVlZSAnYXQnIHAiLG90aGVyOiJQIn0sRml0PXMoKGEsZSx0LHIpPT5JOWFbYV0sImZvcm1hdFJlbGF0aXZlIil9KTtmdW5jdGlvbiBNaChhKXtyZXR1cm4oZSx0KT0+e2xldCByPXQ/LmNvbnRleHQ/U3RyaW5nKHQuY29udGV4dCk6InN0YW5kYWxvbmUiLGk7aWYocj09PSJmb3JtYXR0aW5nIiYmYS5mb3JtYXR0aW5nVmFsdWVzKXtsZXQgbj1hLmRlZmF1bHRGb3JtYXR0aW5nV2lkdGh8fGEuZGVmYXVsdFdpZHRoLGw9dD8ud2lkdGg/U3RyaW5nKHQud2lkdGgpOm47aT1hLmZvcm1hdHRpbmdWYWx1ZXNbbF18fGEuZm9ybWF0dGluZ1ZhbHVlc1tuXX1lbHNle2xldCBuPWEuZGVmYXVsdFdpZHRoLGw9dD8ud2lkdGg/U3RyaW5nKHQud2lkdGgpOmEuZGVmYXVsdFdpZHRoO2k9YS52YWx1ZXNbbF18fGEudmFsdWVzW25dfWxldCBvPWEuYXJndW1lbnRDYWxsYmFjaz9hLmFyZ3VtZW50Q2FsbGJhY2soZSk6ZTtyZXR1cm4gaVtvXX19dmFyIEhpdD1mKCgpPT57cyhNaCwiYnVpbGRMb2NhbGl6ZUZuIil9KTt2YXIgTjlhLFI5YSxPOWEsRjlhLEI5YSxIOWEscTlhLHFpdCxWaXQ9ZigoKT0+e0hpdCgpO045YT17bmFycm93OlsiQiIsIkEiXSxhYmJyZXZpYXRlZDpbIkJDIiwiQUQiXSx3aWRlOlsiQmVmb3JlIENocmlzdCIsIkFubm8gRG9taW5pIl19LFI5YT17bmFycm93OlsiMSIsIjIiLCIzIiwiNCJdLGFiYnJldmlhdGVkOlsiUTEiLCJRMiIsIlEzIiwiUTQiXSx3aWRlOlsiMXN0IHF1YXJ0ZXIiLCIybmQgcXVhcnRlciIsIjNyZCBxdWFydGVyIiwiNHRoIHF1YXJ0ZXIiXX0sTzlhPXtuYXJyb3c6WyJKIiwiRiIsIk0iLCJBIiwiTSIsIkoiLCJKIiwiQSIsIlMiLCJPIiwiTiIsIkQiXSxhYmJyZXZpYXRlZDpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLHdpZGU6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdfSxGOWE9e25hcnJvdzpbIlMiLCJNIiwiVCIsIlciLCJUIiwiRiIsIlMiXSxzaG9ydDpbIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl0sYWJicmV2aWF0ZWQ6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSx3aWRlOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXX0sQjlhPXtuYXJyb3c6e2FtOiJhIixwbToicCIsbWlkbmlnaHQ6Im1pIixub29uOiJuIixtb3JuaW5nOiJtb3JuaW5nIixhZnRlcm5vb246ImFmdGVybm9vbiIsZXZlbmluZzoiZXZlbmluZyIsbmlnaHQ6Im5pZ2h0In0sYWJicmV2aWF0ZWQ6e2FtOiJBTSIscG06IlBNIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6Im1vcm5pbmciLGFmdGVybm9vbjoiYWZ0ZXJub29uIixldmVuaW5nOiJldmVuaW5nIixuaWdodDoibmlnaHQifSx3aWRlOnthbToiYS5tLiIscG06InAubS4iLG1pZG5pZ2h0OiJtaWRuaWdodCIsbm9vbjoibm9vbiIsbW9ybmluZzoibW9ybmluZyIsYWZ0ZXJub29uOiJhZnRlcm5vb24iLGV2ZW5pbmc6ImV2ZW5pbmciLG5pZ2h0OiJuaWdodCJ9fSxIOWE9e25hcnJvdzp7YW06ImEiLHBtOiJwIixtaWRuaWdodDoibWkiLG5vb246Im4iLG1vcm5pbmc6ImluIHRoZSBtb3JuaW5nIixhZnRlcm5vb246ImluIHRoZSBhZnRlcm5vb24iLGV2ZW5pbmc6ImluIHRoZSBldmVuaW5nIixuaWdodDoiYXQgbmlnaHQifSxhYmJyZXZpYXRlZDp7YW06IkFNIixwbToiUE0iLG1pZG5pZ2h0OiJtaWRuaWdodCIsbm9vbjoibm9vbiIsbW9ybmluZzoiaW4gdGhlIG1vcm5pbmciLGFmdGVybm9vbjoiaW4gdGhlIGFmdGVybm9vbiIsZXZlbmluZzoiaW4gdGhlIGV2ZW5pbmciLG5pZ2h0OiJhdCBuaWdodCJ9LHdpZGU6e2FtOiJhLm0uIixwbToicC5tLiIsbWlkbmlnaHQ6Im1pZG5pZ2h0Iixub29uOiJub29uIixtb3JuaW5nOiJpbiB0aGUgbW9ybmluZyIsYWZ0ZXJub29uOiJpbiB0aGUgYWZ0ZXJub29uIixldmVuaW5nOiJpbiB0aGUgZXZlbmluZyIsbmlnaHQ6ImF0IG5pZ2h0In19LHE5YT1zKChhLGUpPT57bGV0IHQ9TnVtYmVyKGEpLHI9dCUxMDA7aWYocj4yMHx8cjwxMClzd2l0Y2gociUxMCl7Y2FzZSAxOnJldHVybiB0KyJzdCI7Y2FzZSAyOnJldHVybiB0KyJuZCI7Y2FzZSAzOnJldHVybiB0KyJyZCJ9cmV0dXJuIHQrInRoIn0sIm9yZGluYWxOdW1iZXIiKSxxaXQ9e29yZGluYWxOdW1iZXI6cTlhLGVyYTpNaCh7dmFsdWVzOk45YSxkZWZhdWx0V2lkdGg6IndpZGUifSkscXVhcnRlcjpNaCh7dmFsdWVzOlI5YSxkZWZhdWx0V2lkdGg6IndpZGUiLGFyZ3VtZW50Q2FsbGJhY2s6cyhhPT5hLTEsImFyZ3VtZW50Q2FsbGJhY2siKX0pLG1vbnRoOk1oKHt2YWx1ZXM6TzlhLGRlZmF1bHRXaWR0aDoid2lkZSJ9KSxkYXk6TWgoe3ZhbHVlczpGOWEsZGVmYXVsdFdpZHRoOiJ3aWRlIn0pLGRheVBlcmlvZDpNaCh7dmFsdWVzOkI5YSxkZWZhdWx0V2lkdGg6IndpZGUiLGZvcm1hdHRpbmdWYWx1ZXM6SDlhLGRlZmF1bHRGb3JtYXR0aW5nV2lkdGg6IndpZGUifSl9fSk7ZnVuY3Rpb24ga2goYSl7cmV0dXJuKGUsdD17fSk9PntsZXQgcj10LndpZHRoLGk9ciYmYS5tYXRjaFBhdHRlcm5zW3JdfHxhLm1hdGNoUGF0dGVybnNbYS5kZWZhdWx0TWF0Y2hXaWR0aF0sbz1lLm1hdGNoKGkpO2lmKCFvKXJldHVybiBudWxsO2xldCBuPW9bMF0sbD1yJiZhLnBhcnNlUGF0dGVybnNbcl18fGEucGFyc2VQYXR0ZXJuc1thLmRlZmF1bHRQYXJzZVdpZHRoXSxkPUFycmF5LmlzQXJyYXkobCk/ajlhKGwsdT0+dS50ZXN0KG4pKTpWOWEobCx1PT51LnRlc3QobikpLGM7Yz1hLnZhbHVlQ2FsbGJhY2s/YS52YWx1ZUNhbGxiYWNrKGQpOmQsYz10LnZhbHVlQ2FsbGJhY2s/dC52YWx1ZUNhbGxiYWNrKGMpOmM7bGV0IHA9ZS5zbGljZShuLmxlbmd0aCk7cmV0dXJue3ZhbHVlOmMscmVzdDpwfX19ZnVuY3Rpb24gVjlhKGEsZSl7Zm9yKGxldCB0IGluIGEpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsdCkmJmUoYVt0XSkpcmV0dXJuIHR9ZnVuY3Rpb24gajlhKGEsZSl7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0KyspaWYoZShhW3RdKSlyZXR1cm4gdH12YXIgaml0PWYoKCk9PntzKGtoLCJidWlsZE1hdGNoRm4iKTtzKFY5YSwiZmluZEtleSIpO3MoajlhLCJmaW5kSW5kZXgiKX0pO2Z1bmN0aW9uIFVpdChhKXtyZXR1cm4oZSx0PXt9KT0+e2xldCByPWUubWF0Y2goYS5tYXRjaFBhdHRlcm4pO2lmKCFyKXJldHVybiBudWxsO2xldCBpPXJbMF0sbz1lLm1hdGNoKGEucGFyc2VQYXR0ZXJuKTtpZighbylyZXR1cm4gbnVsbDtsZXQgbj1hLnZhbHVlQ2FsbGJhY2s/YS52YWx1ZUNhbGxiYWNrKG9bMF0pOm9bMF07bj10LnZhbHVlQ2FsbGJhY2s/dC52YWx1ZUNhbGxiYWNrKG4pOm47bGV0IGw9ZS5zbGljZShpLmxlbmd0aCk7cmV0dXJue3ZhbHVlOm4scmVzdDpsfX19dmFyIFdpdD1mKCgpPT57cyhVaXQsImJ1aWxkTWF0Y2hQYXR0ZXJuRm4iKX0pO3ZhciBVOWEsVzlhLEc5YSxZOWEsSzlhLFo5YSxYOWEsUTlhLEo5YSxlZ2EsdGdhLGFnYSxHaXQsWWl0PWYoKCk9PntqaXQoKTtXaXQoKTtVOWE9L14oXGQrKSh0aHxzdHxuZHxyZCk/L2ksVzlhPS9cZCsvaSxHOWE9e25hcnJvdzovXihifGEpL2ksYWJicmV2aWF0ZWQ6L14oYlwuP1xzP2NcLj98YlwuP1xzP2NcLj9ccz9lXC4/fGFcLj9ccz9kXC4/fGNcLj9ccz9lXC4/KS9pLHdpZGU6L14oYmVmb3JlIGNocmlzdHxiZWZvcmUgY29tbW9uIGVyYXxhbm5vIGRvbWluaXxjb21tb24gZXJhKS9pfSxZOWE9e2FueTpbL15iL2ksL14oYXxjKS9pXX0sSzlhPXtuYXJyb3c6L15bMTIzNF0vaSxhYmJyZXZpYXRlZDovXnFbMTIzNF0vaSx3aWRlOi9eWzEyMzRdKHRofHN0fG5kfHJkKT8gcXVhcnRlci9pfSxaOWE9e2FueTpbLzEvaSwvMi9pLC8zL2ksLzQvaV19LFg5YT17bmFycm93Oi9eW2pmbWFzb25kXS9pLGFiYnJldmlhdGVkOi9eKGphbnxmZWJ8bWFyfGFwcnxtYXl8anVufGp1bHxhdWd8c2VwfG9jdHxub3Z8ZGVjKS9pLHdpZGU6L14oamFudWFyeXxmZWJydWFyeXxtYXJjaHxhcHJpbHxtYXl8anVuZXxqdWx5fGF1Z3VzdHxzZXB0ZW1iZXJ8b2N0b2Jlcnxub3ZlbWJlcnxkZWNlbWJlcikvaX0sUTlhPXtuYXJyb3c6Wy9eai9pLC9eZi9pLC9ebS9pLC9eYS9pLC9ebS9pLC9eai9pLC9eai9pLC9eYS9pLC9ecy9pLC9eby9pLC9ebi9pLC9eZC9pXSxhbnk6Wy9eamEvaSwvXmYvaSwvXm1hci9pLC9eYXAvaSwvXm1heS9pLC9eanVuL2ksL15qdWwvaSwvXmF1L2ksL15zL2ksL15vL2ksL15uL2ksL15kL2ldfSxKOWE9e25hcnJvdzovXltzbXR3Zl0vaSxzaG9ydDovXihzdXxtb3x0dXx3ZXx0aHxmcnxzYSkvaSxhYmJyZXZpYXRlZDovXihzdW58bW9ufHR1ZXx3ZWR8dGh1fGZyaXxzYXQpL2ksd2lkZTovXihzdW5kYXl8bW9uZGF5fHR1ZXNkYXl8d2VkbmVzZGF5fHRodXJzZGF5fGZyaWRheXxzYXR1cmRheSkvaX0sZWdhPXtuYXJyb3c6Wy9ecy9pLC9ebS9pLC9edC9pLC9edy9pLC9edC9pLC9eZi9pLC9ecy9pXSxhbnk6Wy9ec3UvaSwvXm0vaSwvXnR1L2ksL153L2ksL150aC9pLC9eZi9pLC9ec2EvaV19LHRnYT17bmFycm93Oi9eKGF8cHxtaXxufChpbiB0aGV8YXQpIChtb3JuaW5nfGFmdGVybm9vbnxldmVuaW5nfG5pZ2h0KSkvaSxhbnk6L14oW2FwXVwuP1xzP21cLj98bWlkbmlnaHR8bm9vbnwoaW4gdGhlfGF0KSAobW9ybmluZ3xhZnRlcm5vb258ZXZlbmluZ3xuaWdodCkpL2l9LGFnYT17YW55OnthbTovXmEvaSxwbTovXnAvaSxtaWRuaWdodDovXm1pL2ksbm9vbjovXm5vL2ksbW9ybmluZzovbW9ybmluZy9pLGFmdGVybm9vbjovYWZ0ZXJub29uL2ksZXZlbmluZzovZXZlbmluZy9pLG5pZ2h0Oi9uaWdodC9pfX0sR2l0PXtvcmRpbmFsTnVtYmVyOlVpdCh7bWF0Y2hQYXR0ZXJuOlU5YSxwYXJzZVBhdHRlcm46VzlhLHZhbHVlQ2FsbGJhY2s6cyhhPT5wYXJzZUludChhLDEwKSwidmFsdWVDYWxsYmFjayIpfSksZXJhOmtoKHttYXRjaFBhdHRlcm5zOkc5YSxkZWZhdWx0TWF0Y2hXaWR0aDoid2lkZSIscGFyc2VQYXR0ZXJuczpZOWEsZGVmYXVsdFBhcnNlV2lkdGg6ImFueSJ9KSxxdWFydGVyOmtoKHttYXRjaFBhdHRlcm5zOks5YSxkZWZhdWx0TWF0Y2hXaWR0aDoid2lkZSIscGFyc2VQYXR0ZXJuczpaOWEsZGVmYXVsdFBhcnNlV2lkdGg6ImFueSIsdmFsdWVDYWxsYmFjazpzKGE9PmErMSwidmFsdWVDYWxsYmFjayIpfSksbW9udGg6a2goe21hdGNoUGF0dGVybnM6WDlhLGRlZmF1bHRNYXRjaFdpZHRoOiJ3aWRlIixwYXJzZVBhdHRlcm5zOlE5YSxkZWZhdWx0UGFyc2VXaWR0aDoiYW55In0pLGRheTpraCh7bWF0Y2hQYXR0ZXJuczpKOWEsZGVmYXVsdE1hdGNoV2lkdGg6IndpZGUiLHBhcnNlUGF0dGVybnM6ZWdhLGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkifSksZGF5UGVyaW9kOmtoKHttYXRjaFBhdHRlcm5zOnRnYSxkZWZhdWx0TWF0Y2hXaWR0aDoiYW55IixwYXJzZVBhdHRlcm5zOmFnYSxkZWZhdWx0UGFyc2VXaWR0aDoiYW55In0pfX0pO3ZhciBDbyxuM3IsS2l0PWYoKCk9PntJaXQoKTtPaXQoKTtCaXQoKTtWaXQoKTtZaXQoKTtDbz17Y29kZToiZW4tVVMiLGZvcm1hdERpc3RhbmNlOkVpdCxmb3JtYXRMb25nOlJpdCxmb3JtYXRSZWxhdGl2ZTpGaXQsbG9jYWxpemU6cWl0LG1hdGNoOkdpdCxvcHRpb25zOnt3ZWVrU3RhcnRzT246MCxmaXJzdFdlZWtDb250YWluc0RhdGU6MX19LG4zcj1Db30pO3ZhciBtMz1mKCgpPT57S2l0KCl9KTtmdW5jdGlvbiBFSyhhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiBxcyh0LHdoKHQpKSsxfXZhciBoM3IsVDJlPWYoKCk9PntNbCgpO0RLKCk7SGUoKTtzKEVLLCJnZXREYXlPZlllYXIiKTtoM3I9RUt9KTtmdW5jdGlvbiBTaChhLGUpe2xldCB0PWtlKGEsZT8uaW4pLHI9K2NzKHQpLStqbyh0KTtyZXR1cm4gTWF0aC5yb3VuZChyL2gyKSsxfXZhciB3M3IsSUs9ZigoKT0+e0p0KCk7djIoKTt1aCgpO0hlKCk7cyhTaCwiZ2V0SVNPV2VlayIpO3czcj1TaH0pO2Z1bmN0aW9uIGQwKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikscj10LmdldEZ1bGxZZWFyKCksaT1xYSgpLG89ZT8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/aS5maXJzdFdlZWtDb250YWluc0RhdGU/P2kubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/PzEsbj1GZShlPy5pbnx8YSwwKTtuLnNldEZ1bGxZZWFyKHIrMSwwLG8pLG4uc2V0SG91cnMoMCwwLDAsMCk7bGV0IGw9ZXIobixlKSxkPUZlKGU/LmlufHxhLDApO2Quc2V0RnVsbFllYXIociwwLG8pLGQuc2V0SG91cnMoMCwwLDAsMCk7bGV0IGM9ZXIoZCxlKTtyZXR1cm4rdD49K2w/cisxOit0Pj0rYz9yOnItMX12YXIgVDNyLHA5PWYoKCk9Pnt3aSgpOyR0KCk7aTEoKTtIZSgpO3MoZDAsImdldFdlZWtZZWFyIik7VDNyPWQwfSk7ZnVuY3Rpb24gZzMoYSxlKXtsZXQgdD1xYSgpLHI9ZT8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/dC5maXJzdFdlZWtDb250YWluc0RhdGU/P3QubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/PzEsaT1kMChhLGUpLG89RmUoZT8uaW58fGEsMCk7cmV0dXJuIG8uc2V0RnVsbFllYXIoaSwwLHIpLG8uc2V0SG91cnMoMCwwLDAsMCksZXIobyxlKX12YXIgSTNyLE5LPWYoKCk9Pnt3aSgpOyR0KCk7cDkoKTtpMSgpO3MoZzMsInN0YXJ0T2ZXZWVrWWVhciIpO0kzcj1nM30pO2Z1bmN0aW9uIHpoKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikscj0rZXIodCxlKS0rZzModCxlKTtyZXR1cm4gTWF0aC5yb3VuZChyL2gyKSsxfXZhciBxM3IsUks9ZigoKT0+e0p0KCk7aTEoKTtOSygpO0hlKCk7cyh6aCwiZ2V0V2VlayIpO3Ezcj16aH0pO2Z1bmN0aW9uIGJ0KGEsZSl7bGV0IHQ9YTwwPyItIjoiIixyPU1hdGguYWJzKGEpLnRvU3RyaW5nKCkucGFkU3RhcnQoZSwiMCIpO3JldHVybiB0K3J9dmFyIGIzPWYoKCk9PntzKGJ0LCJhZGRMZWFkaW5nWmVyb3MiKX0pO3ZhciBVbyxMMmU9ZigoKT0+e2IzKCk7VW89e3koYSxlKXtsZXQgdD1hLmdldEZ1bGxZZWFyKCkscj10PjA/dDoxLXQ7cmV0dXJuIGJ0KGU9PT0ieXkiP3IlMTAwOnIsZS5sZW5ndGgpfSxNKGEsZSl7bGV0IHQ9YS5nZXRNb250aCgpO3JldHVybiBlPT09Ik0iP1N0cmluZyh0KzEpOmJ0KHQrMSwyKX0sZChhLGUpe3JldHVybiBidChhLmdldERhdGUoKSxlLmxlbmd0aCl9LGEoYSxlKXtsZXQgdD1hLmdldEhvdXJzKCkvMTI+PTE/InBtIjoiYW0iO3N3aXRjaChlKXtjYXNlImEiOmNhc2UiYWEiOnJldHVybiB0LnRvVXBwZXJDYXNlKCk7Y2FzZSJhYWEiOnJldHVybiB0O2Nhc2UiYWFhYWEiOnJldHVybiB0WzBdO2RlZmF1bHQ6cmV0dXJuIHQ9PT0iYW0iPyJhLm0uIjoicC5tLiJ9fSxoKGEsZSl7cmV0dXJuIGJ0KGEuZ2V0SG91cnMoKSUxMnx8MTIsZS5sZW5ndGgpfSxIKGEsZSl7cmV0dXJuIGJ0KGEuZ2V0SG91cnMoKSxlLmxlbmd0aCl9LG0oYSxlKXtyZXR1cm4gYnQoYS5nZXRNaW51dGVzKCksZS5sZW5ndGgpfSxzKGEsZSl7cmV0dXJuIGJ0KGEuZ2V0U2Vjb25kcygpLGUubGVuZ3RoKX0sUyhhLGUpe2xldCB0PWUubGVuZ3RoLHI9YS5nZXRNaWxsaXNlY29uZHMoKSxpPU1hdGgudHJ1bmMocipNYXRoLnBvdygxMCx0LTMpKTtyZXR1cm4gYnQoaSxlLmxlbmd0aCl9fX0pO2Z1bmN0aW9uIFppdChhLGU9IiIpe2xldCB0PWE+MD8iLSI6IisiLHI9TWF0aC5hYnMoYSksaT1NYXRoLnRydW5jKHIvNjApLG89ciU2MDtyZXR1cm4gbz09PTA/dCtTdHJpbmcoaSk6dCtTdHJpbmcoaSkrZStidChvLDIpfWZ1bmN0aW9uIFhpdChhLGUpe3JldHVybiBhJTYwPT09MD8oYT4wPyItIjoiKyIpK2J0KE1hdGguYWJzKGEpLzYwLDIpOnYzKGEsZSl9ZnVuY3Rpb24gdjMoYSxlPSIiKXtsZXQgdD1hPjA/Ii0iOiIrIixyPU1hdGguYWJzKGEpLGk9YnQoTWF0aC50cnVuYyhyLzYwKSwyKSxvPWJ0KHIlNjAsMik7cmV0dXJuIHQraStlK299dmFyIENoLGY5LFFpdD1mKCgpPT57VDJlKCk7SUsoKTtpMCgpO1JLKCk7cDkoKTtiMygpO0wyZSgpO0NoPXthbToiYW0iLHBtOiJwbSIsbWlkbmlnaHQ6Im1pZG5pZ2h0Iixub29uOiJub29uIixtb3JuaW5nOiJtb3JuaW5nIixhZnRlcm5vb246ImFmdGVybm9vbiIsZXZlbmluZzoiZXZlbmluZyIsbmlnaHQ6Im5pZ2h0In0sZjk9e0c6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9YS5nZXRGdWxsWWVhcigpPjA/MTowO3N3aXRjaChlKXtjYXNlIkciOmNhc2UiR0ciOmNhc2UiR0dHIjpyZXR1cm4gdC5lcmEocix7d2lkdGg6ImFiYnJldmlhdGVkIn0pO2Nhc2UiR0dHR0ciOnJldHVybiB0LmVyYShyLHt3aWR0aDoibmFycm93In0pO2RlZmF1bHQ6cmV0dXJuIHQuZXJhKHIse3dpZHRoOiJ3aWRlIn0pfX0sIkciKSx5OnMoZnVuY3Rpb24oYSxlLHQpe2lmKGU9PT0ieW8iKXtsZXQgcj1hLmdldEZ1bGxZZWFyKCksaT1yPjA/cjoxLXI7cmV0dXJuIHQub3JkaW5hbE51bWJlcihpLHt1bml0OiJ5ZWFyIn0pfXJldHVybiBVby55KGEsZSl9LCJ5IiksWTpzKGZ1bmN0aW9uKGEsZSx0LHIpe2xldCBpPWQwKGEsciksbz1pPjA/aToxLWk7aWYoZT09PSJZWSIpe2xldCBuPW8lMTAwO3JldHVybiBidChuLDIpfXJldHVybiBlPT09IllvIj90Lm9yZGluYWxOdW1iZXIobyx7dW5pdDoieWVhciJ9KTpidChvLGUubGVuZ3RoKX0sIlkiKSxSOnMoZnVuY3Rpb24oYSxlKXtsZXQgdD1qaShhKTtyZXR1cm4gYnQodCxlLmxlbmd0aCl9LCJSIiksdTpzKGZ1bmN0aW9uKGEsZSl7bGV0IHQ9YS5nZXRGdWxsWWVhcigpO3JldHVybiBidCh0LGUubGVuZ3RoKX0sInUiKSxROnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPU1hdGguY2VpbCgoYS5nZXRNb250aCgpKzEpLzMpO3N3aXRjaChlKXtjYXNlIlEiOnJldHVybiBTdHJpbmcocik7Y2FzZSJRUSI6cmV0dXJuIGJ0KHIsMik7Y2FzZSJRbyI6cmV0dXJuIHQub3JkaW5hbE51bWJlcihyLHt1bml0OiJxdWFydGVyIn0pO2Nhc2UiUVFRIjpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIlFRUVFRIjpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sIlEiKSxxOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPU1hdGguY2VpbCgoYS5nZXRNb250aCgpKzEpLzMpO3N3aXRjaChlKXtjYXNlInEiOnJldHVybiBTdHJpbmcocik7Y2FzZSJxcSI6cmV0dXJuIGJ0KHIsMik7Y2FzZSJxbyI6cmV0dXJuIHQub3JkaW5hbE51bWJlcihyLHt1bml0OiJxdWFydGVyIn0pO2Nhc2UicXFxIjpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlInFxcXFxIjpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX0sInEiKSxNOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPWEuZ2V0TW9udGgoKTtzd2l0Y2goZSl7Y2FzZSJNIjpjYXNlIk1NIjpyZXR1cm4gVW8uTShhLGUpO2Nhc2UiTW8iOnJldHVybiB0Lm9yZGluYWxOdW1iZXIocisxLHt1bml0OiJtb250aCJ9KTtjYXNlIk1NTSI6cmV0dXJuIHQubW9udGgocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiTU1NTU0iOnJldHVybiB0Lm1vbnRoKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gdC5tb250aChyLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJNIiksTDpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldE1vbnRoKCk7c3dpdGNoKGUpe2Nhc2UiTCI6cmV0dXJuIFN0cmluZyhyKzEpO2Nhc2UiTEwiOnJldHVybiBidChyKzEsMik7Y2FzZSJMbyI6cmV0dXJuIHQub3JkaW5hbE51bWJlcihyKzEse3VuaXQ6Im1vbnRoIn0pO2Nhc2UiTExMIjpyZXR1cm4gdC5tb250aChyLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJMTExMTCI6cmV0dXJuIHQubW9udGgocix7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiB0Lm1vbnRoKHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX0sIkwiKSx3OnMoZnVuY3Rpb24oYSxlLHQscil7bGV0IGk9emgoYSxyKTtyZXR1cm4gZT09PSJ3byI/dC5vcmRpbmFsTnVtYmVyKGkse3VuaXQ6IndlZWsifSk6YnQoaSxlLmxlbmd0aCl9LCJ3IiksSTpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1TaChhKTtyZXR1cm4gZT09PSJJbyI/dC5vcmRpbmFsTnVtYmVyKHIse3VuaXQ6IndlZWsifSk6YnQocixlLmxlbmd0aCl9LCJJIiksZDpzKGZ1bmN0aW9uKGEsZSx0KXtyZXR1cm4gZT09PSJkbyI/dC5vcmRpbmFsTnVtYmVyKGEuZ2V0RGF0ZSgpLHt1bml0OiJkYXRlIn0pOlVvLmQoYSxlKX0sImQiKSxEOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPUVLKGEpO3JldHVybiBlPT09IkRvIj90Lm9yZGluYWxOdW1iZXIocix7dW5pdDoiZGF5T2ZZZWFyIn0pOmJ0KHIsZS5sZW5ndGgpfSwiRCIpLEU6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9YS5nZXREYXkoKTtzd2l0Y2goZSl7Y2FzZSJFIjpjYXNlIkVFIjpjYXNlIkVFRSI6cmV0dXJuIHQuZGF5KHIse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFIjpyZXR1cm4gdC5kYXkocix7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFRSI6cmV0dXJuIHQuZGF5KHIse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiB0LmRheShyLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJFIiksZTpzKGZ1bmN0aW9uKGEsZSx0LHIpe2xldCBpPWEuZ2V0RGF5KCksbz0oaS1yLndlZWtTdGFydHNPbis4KSU3fHw3O3N3aXRjaChlKXtjYXNlImUiOnJldHVybiBTdHJpbmcobyk7Y2FzZSJlZSI6cmV0dXJuIGJ0KG8sMik7Y2FzZSJlbyI6cmV0dXJuIHQub3JkaW5hbE51bWJlcihvLHt1bml0OiJkYXkifSk7Y2FzZSJlZWUiOnJldHVybiB0LmRheShpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZSI6cmV0dXJuIHQuZGF5KGkse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZWUiOnJldHVybiB0LmRheShpLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gdC5kYXkoaSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSwiZSIpLGM6cyhmdW5jdGlvbihhLGUsdCxyKXtsZXQgaT1hLmdldERheSgpLG89KGktci53ZWVrU3RhcnRzT24rOCklN3x8Nztzd2l0Y2goZSl7Y2FzZSJjIjpyZXR1cm4gU3RyaW5nKG8pO2Nhc2UiY2MiOnJldHVybiBidChvLGUubGVuZ3RoKTtjYXNlImNvIjpyZXR1cm4gdC5vcmRpbmFsTnVtYmVyKG8se3VuaXQ6ImRheSJ9KTtjYXNlImNjYyI6cmV0dXJuIHQuZGF5KGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlImNjY2NjIjpyZXR1cm4gdC5kYXkoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlImNjY2NjYyI6cmV0dXJuIHQuZGF5KGkse3dpZHRoOiJzaG9ydCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiB0LmRheShpLHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19LCJjIiksaTpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldERheSgpLGk9cj09PTA/NzpyO3N3aXRjaChlKXtjYXNlImkiOnJldHVybiBTdHJpbmcoaSk7Y2FzZSJpaSI6cmV0dXJuIGJ0KGksZS5sZW5ndGgpO2Nhc2UiaW8iOnJldHVybiB0Lm9yZGluYWxOdW1iZXIoaSx7dW5pdDoiZGF5In0pO2Nhc2UiaWlpIjpyZXR1cm4gdC5kYXkocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiaWlpaWkiOnJldHVybiB0LmRheShyLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiaWlpaWlpIjpyZXR1cm4gdC5kYXkocix7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHQuZGF5KHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sImkiKSxhOnMoZnVuY3Rpb24oYSxlLHQpe2xldCBpPWEuZ2V0SG91cnMoKS8xMj49MT8icG0iOiJhbSI7c3dpdGNoKGUpe2Nhc2UiYSI6Y2FzZSJhYSI6cmV0dXJuIHQuZGF5UGVyaW9kKGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImFhYSI6cmV0dXJuIHQuZGF5UGVyaW9kKGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KS50b0xvd2VyQ2FzZSgpO2Nhc2UiYWFhYWEiOnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHQuZGF5UGVyaW9kKGkse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sImEiKSxiOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPWEuZ2V0SG91cnMoKSxpO3N3aXRjaChyPT09MTI/aT1DaC5ub29uOnI9PT0wP2k9Q2gubWlkbmlnaHQ6aT1yLzEyPj0xPyJwbSI6ImFtIixlKXtjYXNlImIiOmNhc2UiYmIiOnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJiYmIiOnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSkudG9Mb3dlckNhc2UoKTtjYXNlImJiYmJiIjpyZXR1cm4gdC5kYXlQZXJpb2QoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJiIiksQjpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldEhvdXJzKCksaTtzd2l0Y2gocj49MTc/aT1DaC5ldmVuaW5nOnI+PTEyP2k9Q2guYWZ0ZXJub29uOnI+PTQ/aT1DaC5tb3JuaW5nOmk9Q2gubmlnaHQsZSl7Y2FzZSJCIjpjYXNlIkJCIjpjYXNlIkJCQiI6cmV0dXJuIHQuZGF5UGVyaW9kKGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkJCQkJCIjpyZXR1cm4gdC5kYXlQZXJpb2QoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJCIiksaDpzKGZ1bmN0aW9uKGEsZSx0KXtpZihlPT09ImhvIil7bGV0IHI9YS5nZXRIb3VycygpJTEyO3JldHVybiByPT09MCYmKHI9MTIpLHQub3JkaW5hbE51bWJlcihyLHt1bml0OiJob3VyIn0pfXJldHVybiBVby5oKGEsZSl9LCJoIiksSDpzKGZ1bmN0aW9uKGEsZSx0KXtyZXR1cm4gZT09PSJIbyI/dC5vcmRpbmFsTnVtYmVyKGEuZ2V0SG91cnMoKSx7dW5pdDoiaG91ciJ9KTpVby5IKGEsZSl9LCJIIiksSzpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldEhvdXJzKCklMTI7cmV0dXJuIGU9PT0iS28iP3Qub3JkaW5hbE51bWJlcihyLHt1bml0OiJob3VyIn0pOmJ0KHIsZS5sZW5ndGgpfSwiSyIpLGs6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9YS5nZXRIb3VycygpO3JldHVybiByPT09MCYmKHI9MjQpLGU9PT0ia28iP3Qub3JkaW5hbE51bWJlcihyLHt1bml0OiJob3VyIn0pOmJ0KHIsZS5sZW5ndGgpfSwiayIpLG06cyhmdW5jdGlvbihhLGUsdCl7cmV0dXJuIGU9PT0ibW8iP3Qub3JkaW5hbE51bWJlcihhLmdldE1pbnV0ZXMoKSx7dW5pdDoibWludXRlIn0pOlVvLm0oYSxlKX0sIm0iKSxzOnMoZnVuY3Rpb24oYSxlLHQpe3JldHVybiBlPT09InNvIj90Lm9yZGluYWxOdW1iZXIoYS5nZXRTZWNvbmRzKCkse3VuaXQ6InNlY29uZCJ9KTpVby5zKGEsZSl9LCJzIiksUzpzKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIFVvLlMoYSxlKX0sIlMiKSxYOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPWEuZ2V0VGltZXpvbmVPZmZzZXQoKTtpZihyPT09MClyZXR1cm4iWiI7c3dpdGNoKGUpe2Nhc2UiWCI6cmV0dXJuIFhpdChyKTtjYXNlIlhYWFgiOmNhc2UiWFgiOnJldHVybiB2MyhyKTtkZWZhdWx0OnJldHVybiB2MyhyLCI6Iil9fSwiWCIpLHg6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9YS5nZXRUaW1lem9uZU9mZnNldCgpO3N3aXRjaChlKXtjYXNlIngiOnJldHVybiBYaXQocik7Y2FzZSJ4eHh4IjpjYXNlInh4IjpyZXR1cm4gdjMocik7ZGVmYXVsdDpyZXR1cm4gdjMociwiOiIpfX0sIngiKSxPOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPWEuZ2V0VGltZXpvbmVPZmZzZXQoKTtzd2l0Y2goZSl7Y2FzZSJPIjpjYXNlIk9PIjpjYXNlIk9PTyI6cmV0dXJuIkdNVCIrWml0KHIsIjoiKTtkZWZhdWx0OnJldHVybiJHTVQiK3YzKHIsIjoiKX19LCJPIiksejpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKGUpe2Nhc2UieiI6Y2FzZSJ6eiI6Y2FzZSJ6enoiOnJldHVybiJHTVQiK1ppdChyLCI6Iik7ZGVmYXVsdDpyZXR1cm4iR01UIit2MyhyLCI6Iil9fSwieiIpLHQ6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9TWF0aC50cnVuYygrYS8xZTMpO3JldHVybiBidChyLGUubGVuZ3RoKX0sInQiKSxUOnMoZnVuY3Rpb24oYSxlLHQpe3JldHVybiBidCgrYSxlLmxlbmd0aCl9LCJUIil9O3MoWml0LCJmb3JtYXRUaW1lem9uZVNob3J0Iik7cyhYaXQsImZvcm1hdFRpbWV6b25lV2l0aE9wdGlvbmFsTWludXRlcyIpO3ModjMsImZvcm1hdFRpbWV6b25lIil9KTt2YXIgSml0LGVvdCxyZ2EsdTAsJDJlPWYoKCk9PntKaXQ9cygoYSxlKT0+e3N3aXRjaChhKXtjYXNlIlAiOnJldHVybiBlLmRhdGUoe3dpZHRoOiJzaG9ydCJ9KTtjYXNlIlBQIjpyZXR1cm4gZS5kYXRlKHt3aWR0aDoibWVkaXVtIn0pO2Nhc2UiUFBQIjpyZXR1cm4gZS5kYXRlKHt3aWR0aDoibG9uZyJ9KTtkZWZhdWx0OnJldHVybiBlLmRhdGUoe3dpZHRoOiJmdWxsIn0pfX0sImRhdGVMb25nRm9ybWF0dGVyIiksZW90PXMoKGEsZSk9Pntzd2l0Y2goYSl7Y2FzZSJwIjpyZXR1cm4gZS50aW1lKHt3aWR0aDoic2hvcnQifSk7Y2FzZSJwcCI6cmV0dXJuIGUudGltZSh7d2lkdGg6Im1lZGl1bSJ9KTtjYXNlInBwcCI6cmV0dXJuIGUudGltZSh7d2lkdGg6ImxvbmcifSk7ZGVmYXVsdDpyZXR1cm4gZS50aW1lKHt3aWR0aDoiZnVsbCJ9KX19LCJ0aW1lTG9uZ0Zvcm1hdHRlciIpLHJnYT1zKChhLGUpPT57bGV0IHQ9YS5tYXRjaCgvKFArKShwKyk/Lyl8fFtdLHI9dFsxXSxpPXRbMl07aWYoIWkpcmV0dXJuIEppdChhLGUpO2xldCBvO3N3aXRjaChyKXtjYXNlIlAiOm89ZS5kYXRlVGltZSh7d2lkdGg6InNob3J0In0pO2JyZWFrO2Nhc2UiUFAiOm89ZS5kYXRlVGltZSh7d2lkdGg6Im1lZGl1bSJ9KTticmVhaztjYXNlIlBQUCI6bz1lLmRhdGVUaW1lKHt3aWR0aDoibG9uZyJ9KTticmVhaztkZWZhdWx0Om89ZS5kYXRlVGltZSh7d2lkdGg6ImZ1bGwifSk7YnJlYWt9cmV0dXJuIG8ucmVwbGFjZSgie3tkYXRlfX0iLEppdChyLGUpKS5yZXBsYWNlKCJ7e3RpbWV9fSIsZW90KGksZSkpfSwiZGF0ZVRpbWVMb25nRm9ybWF0dGVyIiksdTA9e3A6ZW90LFA6cmdhfX0pO2Z1bmN0aW9uIE9LKGEpe3JldHVybiBzZ2EudGVzdChhKX1mdW5jdGlvbiBGSyhhKXtyZXR1cm4gaWdhLnRlc3QoYSl9ZnVuY3Rpb24gaDkoYSxlLHQpe2xldCByPW5nYShhLGUsdCk7aWYoY29uc29sZS53YXJuKHIpLG9nYS5pbmNsdWRlcyhhKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcihyKX1mdW5jdGlvbiBuZ2EoYSxlLHQpe2xldCByPWFbMF09PT0iWSI/InllYXJzIjoiZGF5cyBvZiB0aGUgbW9udGgiO3JldHVybmBVc2UgXGAke2EudG9Mb3dlckNhc2UoKX1cYCBpbnN0ZWFkIG9mIFxgJHthfVxgIChpbiBcYCR7ZX1cYCkgZm9yIGZvcm1hdHRpbmcgJHtyfSB0byB0aGUgaW5wdXQgXGAke3R9XGA7IHNlZTogaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdW5pY29kZVRva2Vucy5tZGB9dmFyIHNnYSxpZ2Esb2dhLEQyZT1mKCgpPT57c2dhPS9eRCskLyxpZ2E9L15ZKyQvLG9nYT1bIkQiLCJERCIsIllZIiwiWVlZWSJdO3MoT0ssImlzUHJvdGVjdGVkRGF5T2ZZZWFyVG9rZW4iKTtzKEZLLCJpc1Byb3RlY3RlZFdlZWtZZWFyVG9rZW4iKTtzKGg5LCJ3YXJuT3JUaHJvd1Byb3RlY3RlZEVycm9yIik7cyhuZ2EsIm1lc3NhZ2UiKX0pO2Z1bmN0aW9uIG05KGEsZSx0KXtsZXQgcj1xYSgpLGk9dD8ubG9jYWxlPz9yLmxvY2FsZT8/Q28sbz10Py5maXJzdFdlZWtDb250YWluc0RhdGU/P3Q/LmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9yLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/ci5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/MSxuPXQ/LndlZWtTdGFydHNPbj8/dD8ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/P3Iud2Vla1N0YXJ0c09uPz9yLmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz8wLGw9a2UoYSx0Py5pbik7aWYoIUpzKGwpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgZD1lLm1hdGNoKGNnYSkubWFwKHA9PntsZXQgdT1wWzBdO2lmKHU9PT0icCJ8fHU9PT0iUCIpe2xldCBtPXUwW3VdO3JldHVybiBtKHAsaS5mb3JtYXRMb25nKX1yZXR1cm4gcH0pLmpvaW4oIiIpLm1hdGNoKGxnYSkubWFwKHA9PntpZihwPT09IicnIilyZXR1cm57aXNUb2tlbjohMSx2YWx1ZToiJyJ9O2xldCB1PXBbMF07aWYodT09PSInIilyZXR1cm57aXNUb2tlbjohMSx2YWx1ZTpmZ2EocCl9O2lmKGY5W3VdKXJldHVybntpc1Rva2VuOiEwLHZhbHVlOnB9O2lmKHUubWF0Y2gocGdhKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0IHN0cmluZyBjb250YWlucyBhbiB1bmVzY2FwZWQgbGF0aW4gYWxwaGFiZXQgY2hhcmFjdGVyIGAiK3UrImAiKTtyZXR1cm57aXNUb2tlbjohMSx2YWx1ZTpwfX0pO2kubG9jYWxpemUucHJlcHJvY2Vzc29yJiYoZD1pLmxvY2FsaXplLnByZXByb2Nlc3NvcihsLGQpKTtsZXQgYz17Zmlyc3RXZWVrQ29udGFpbnNEYXRlOm8sd2Vla1N0YXJ0c09uOm4sbG9jYWxlOml9O3JldHVybiBkLm1hcChwPT57aWYoIXAuaXNUb2tlbilyZXR1cm4gcC52YWx1ZTtsZXQgdT1wLnZhbHVlOyghdD8udXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zJiZGSyh1KXx8IXQ/LnVzZUFkZGl0aW9uYWxEYXlPZlllYXJUb2tlbnMmJk9LKHUpKSYmaDkodSxlLFN0cmluZyhhKSk7bGV0IG09ZjlbdVswXV07cmV0dXJuIG0obCx1LGkubG9jYWxpemUsYyl9KS5qb2luKCIiKX1mdW5jdGlvbiBmZ2EoYSl7bGV0IGU9YS5tYXRjaChkZ2EpO3JldHVybiBlP2VbMV0ucmVwbGFjZSh1Z2EsIiciKTphfXZhciBsZ2EsY2dhLGRnYSx1Z2EscGdhLG1kcixBMmU9ZigoKT0+e20zKCk7d2koKTtRaXQoKTskMmUoKTtEMmUoKTtrbCgpO0hlKCk7bGdhPS9beVlRcU1Md0lkRGVjaWhIS2ttc11vfChcdylcMSp8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2csY2dhPS9QK3ArfFArfHArfCcnfCcoJyd8W14nXSkrKCd8JCl8Li9nLGRnYT0vXicoW15dKj8pJz8kLyx1Z2E9LycnL2cscGdhPS9bYS16QS1aXS87cyhtOSwiZm9ybWF0Iik7cyhmZ2EsImNsZWFuRXNjYXBlZFN0cmluZyIpO21kcj1tOX0pO2Z1bmN0aW9uIEJLKGEsZSx0KXtsZXQgcj1xYSgpLGk9dD8ubG9jYWxlPz9yLmxvY2FsZT8/Q28sbz0yNTIwLG49TWkoYSxlKTtpZihpc05hTihuKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IGw9T2JqZWN0LmFzc2lnbih7fSx0LHthZGRTdWZmaXg6dD8uYWRkU3VmZml4LGNvbXBhcmlzb246bn0pLFtkLGNdPVR0KHQ/LmluLC4uLm4+MD9bZSxhXTpbYSxlXSkscD13MihjLGQpLHU9KEVyKGMpLUVyKGQpKS8xZTMsbT1NYXRoLnJvdW5kKChwLXUpLzYwKSx2O2lmKG08MilyZXR1cm4gdD8uaW5jbHVkZVNlY29uZHM/cDw1P2kuZm9ybWF0RGlzdGFuY2UoImxlc3NUaGFuWFNlY29uZHMiLDUsbCk6cDwxMD9pLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhTZWNvbmRzIiwxMCxsKTpwPDIwP2kuZm9ybWF0RGlzdGFuY2UoImxlc3NUaGFuWFNlY29uZHMiLDIwLGwpOnA8NDA/aS5mb3JtYXREaXN0YW5jZSgiaGFsZkFNaW51dGUiLDAsbCk6cDw2MD9pLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhNaW51dGVzIiwxLGwpOmkuZm9ybWF0RGlzdGFuY2UoInhNaW51dGVzIiwxLGwpOm09PT0wP2kuZm9ybWF0RGlzdGFuY2UoImxlc3NUaGFuWE1pbnV0ZXMiLDEsbCk6aS5mb3JtYXREaXN0YW5jZSgieE1pbnV0ZXMiLG0sbCk7aWYobTw0NSlyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgieE1pbnV0ZXMiLG0sbCk7aWYobTw5MClyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgiYWJvdXRYSG91cnMiLDEsbCk7aWYobTxsaCl7bGV0IHg9TWF0aC5yb3VuZChtLzYwKTtyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgiYWJvdXRYSG91cnMiLHgsbCl9ZWxzZXtpZihtPG8pcmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoInhEYXlzIiwxLGwpO2lmKG08YTApe2xldCB4PU1hdGgucm91bmQobS9saCk7cmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoInhEYXlzIix4LGwpfWVsc2UgaWYobTxhMCoyKXJldHVybiB2PU1hdGgucm91bmQobS9hMCksaS5mb3JtYXREaXN0YW5jZSgiYWJvdXRYTW9udGhzIix2LGwpfWlmKHY9bDAoYyxkKSx2PDEyKXtsZXQgeD1NYXRoLnJvdW5kKG0vYTApO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4TW9udGhzIix4LGwpfWVsc2V7bGV0IHg9diUxMixiPU1hdGgudHJ1bmModi8xMik7cmV0dXJuIHg8Mz9pLmZvcm1hdERpc3RhbmNlKCJhYm91dFhZZWFycyIsYixsKTp4PDk/aS5mb3JtYXREaXN0YW5jZSgib3ZlclhZZWFycyIsYixsKTppLmZvcm1hdERpc3RhbmNlKCJhbG1vc3RYWWVhcnMiLGIrMSxsKX19dmFyIENkcixQMmU9ZigoKT0+e20zKCk7d2koKTt3bCgpO1VhKCk7ZDMoKTtKdCgpO2M5KCk7ZDkoKTtzKEJLLCJmb3JtYXREaXN0YW5jZSIpO0Nkcj1CS30pO2Z1bmN0aW9uIEhLKGEsZSx0KXtsZXQgcj1xYSgpLGk9dD8ubG9jYWxlPz9yLmxvY2FsZT8/Q28sbz1NaShhLGUpO2lmKGlzTmFOKG8pKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgbj1PYmplY3QuYXNzaWduKHt9LHQse2FkZFN1ZmZpeDp0Py5hZGRTdWZmaXgsY29tcGFyaXNvbjpvfSksW2wsZF09VHQodD8uaW4sLi4ubz4wP1tlLGFdOlthLGVdKSxjPWtpKHQ/LnJvdW5kaW5nTWV0aG9kPz8icm91bmQiKSxwPWQuZ2V0VGltZSgpLWwuZ2V0VGltZSgpLHU9cC95aSxtPUVyKGQpLUVyKGwpLHY9KHAtbSkveWkseD10Py51bml0LGI7aWYoeD9iPXg6dTwxP2I9InNlY29uZCI6dTw2MD9iPSJtaW51dGUiOnU8bGg/Yj0iaG91ciI6djxhMD9iPSJkYXkiOnY8YTJlP2I9Im1vbnRoIjpiPSJ5ZWFyIixiPT09InNlY29uZCIpe2xldCBnPWMocC8xZTMpO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4U2Vjb25kcyIsZyxuKX1lbHNlIGlmKGI9PT0ibWludXRlIil7bGV0IGc9Yyh1KTtyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgieE1pbnV0ZXMiLGcsbil9ZWxzZSBpZihiPT09ImhvdXIiKXtsZXQgZz1jKHUvNjApO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4SG91cnMiLGcsbil9ZWxzZSBpZihiPT09ImRheSIpe2xldCBnPWModi9saCk7cmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoInhEYXlzIixnLG4pfWVsc2UgaWYoYj09PSJtb250aCIpe2xldCBnPWModi9hMCk7cmV0dXJuIGc9PT0xMiYmeCE9PSJtb250aCI/aS5mb3JtYXREaXN0YW5jZSgieFllYXJzIiwxLG4pOmkuZm9ybWF0RGlzdGFuY2UoInhNb250aHMiLGcsbil9ZWxzZXtsZXQgZz1jKHYvYTJlKTtyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgieFllYXJzIixnLG4pfX12YXIgTmRyLEUyZT1mKCgpPT57bTMoKTt3aSgpO1NsKCk7d2woKTtVYSgpO2QzKCk7SnQoKTtzKEhLLCJmb3JtYXREaXN0YW5jZVN0cmljdCIpO05kcj1IS30pO2Z1bmN0aW9uIHRvdChhLGUpe3JldHVybiBCSyhhLGNhKGEpLGUpfXZhciBIZHIsYW90PWYoKCk9PntUcygpO1AyZSgpO3ModG90LCJmb3JtYXREaXN0YW5jZVRvTm93Iik7SGRyPXRvdH0pO2Z1bmN0aW9uIHJvdChhLGUpe3JldHVybiBISyhhLGNhKGEpLGUpfXZhciBXZHIsc290PWYoKCk9PntUcygpO0UyZSgpO3Mocm90LCJmb3JtYXREaXN0YW5jZVRvTm93U3RyaWN0Iik7V2RyPXJvdH0pO2Z1bmN0aW9uIGlvdChhLGUpe2xldCB0PXFhKCkscj1lPy5sb2NhbGU/P3QubG9jYWxlPz9DbyxpPWU/LmZvcm1hdD8/aGdhLG89ZT8uemVybz8/ITEsbj1lPy5kZWxpbWl0ZXI/PyIgIjtyZXR1cm4gci5mb3JtYXREaXN0YW5jZT9pLnJlZHVjZSgoZCxjKT0+e2xldCBwPWB4JHtjLnJlcGxhY2UoLyheLikvLG09Pm0udG9VcHBlckNhc2UoKSl9YCx1PWFbY107cmV0dXJuIHUhPT12b2lkIDAmJihvfHxhW2NdKT9kLmNvbmNhdChyLmZvcm1hdERpc3RhbmNlKHAsdSkpOmR9LFtdKS5qb2luKG4pOiIifXZhciBoZ2EsWGRyLG9vdD1mKCgpPT57bTMoKTt3aSgpO2hnYT1bInllYXJzIiwibW9udGhzIiwid2Vla3MiLCJkYXlzIiwiaG91cnMiLCJtaW51dGVzIiwic2Vjb25kcyJdO3MoaW90LCJmb3JtYXREdXJhdGlvbiIpO1hkcj1pb3R9KTtmdW5jdGlvbiBub3QoYSxlKXtsZXQgdD1rZShhLGU/LmluKTtpZihpc05hTigrdCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGltZSB2YWx1ZSIpO2xldCByPWU/LmZvcm1hdD8/ImV4dGVuZGVkIixpPWU/LnJlcHJlc2VudGF0aW9uPz8iY29tcGxldGUiLG89IiIsbj0iIixsPXI9PT0iZXh0ZW5kZWQiPyItIjoiIixkPXI9PT0iZXh0ZW5kZWQiPyI6IjoiIjtpZihpIT09InRpbWUiKXtsZXQgYz1idCh0LmdldERhdGUoKSwyKSxwPWJ0KHQuZ2V0TW9udGgoKSsxLDIpO289YCR7YnQodC5nZXRGdWxsWWVhcigpLDQpfSR7bH0ke3B9JHtsfSR7Y31gfWlmKGkhPT0iZGF0ZSIpe2xldCBjPXQuZ2V0VGltZXpvbmVPZmZzZXQoKTtpZihjIT09MCl7bGV0IGI9TWF0aC5hYnMoYyksZz1idChNYXRoLnRydW5jKGIvNjApLDIpLHk9YnQoYiU2MCwyKTtuPWAke2M8MD8iKyI6Ii0ifSR7Z306JHt5fWB9ZWxzZSBuPSJaIjtsZXQgcD1idCh0LmdldEhvdXJzKCksMiksdT1idCh0LmdldE1pbnV0ZXMoKSwyKSxtPWJ0KHQuZ2V0U2Vjb25kcygpLDIpLHY9bz09PSIiPyIiOiJUIix4PVtwLHUsbV0uam9pbihkKTtvPWAke299JHt2fSR7eH0ke259YH1yZXR1cm4gb312YXIgYTZyLGxvdD1mKCgpPT57YjMoKTtIZSgpO3Mobm90LCJmb3JtYXRJU08iKTthNnI9bm90fSk7ZnVuY3Rpb24gY290KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7aWYoIUpzKHQpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgcj1lPy5mb3JtYXQ/PyJleHRlbmRlZCIsaT1lPy5yZXByZXNlbnRhdGlvbj8/ImNvbXBsZXRlIixvPSIiLG49cj09PSJleHRlbmRlZCI/Ii0iOiIiLGw9cj09PSJleHRlbmRlZCI/IjoiOiIiO2lmKGkhPT0idGltZSIpe2xldCBkPWJ0KHQuZ2V0RGF0ZSgpLDIpLGM9YnQodC5nZXRNb250aCgpKzEsMik7bz1gJHtidCh0LmdldEZ1bGxZZWFyKCksNCl9JHtufSR7Y30ke259JHtkfWB9aWYoaSE9PSJkYXRlIil7bGV0IGQ9YnQodC5nZXRIb3VycygpLDIpLGM9YnQodC5nZXRNaW51dGVzKCksMikscD1idCh0LmdldFNlY29uZHMoKSwyKTtvPWAke299JHtvPT09IiI/IiI6IiAifSR7ZH0ke2x9JHtjfSR7bH0ke3B9YH1yZXR1cm4gb312YXIgbDZyLGRvdD1mKCgpPT57YjMoKTtrbCgpO0hlKCk7cyhjb3QsImZvcm1hdElTTzkwNzUiKTtsNnI9Y290fSk7ZnVuY3Rpb24gdW90KGEpe2xldHt5ZWFyczplPTAsbW9udGhzOnQ9MCxkYXlzOnI9MCxob3VyczppPTAsbWludXRlczpvPTAsc2Vjb25kczpuPTB9PWE7cmV0dXJuYFAke2V9WSR7dH1NJHtyfURUJHtpfUgke299TSR7bn1TYH12YXIgdTZyLHBvdD1mKCgpPT57cyh1b3QsImZvcm1hdElTT0R1cmF0aW9uIik7dTZyPXVvdH0pO2Z1bmN0aW9uIGZvdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO2lmKCFKcyh0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IHI9ZT8uZnJhY3Rpb25EaWdpdHM/PzAsaT1idCh0LmdldERhdGUoKSwyKSxvPWJ0KHQuZ2V0TW9udGgoKSsxLDIpLG49dC5nZXRGdWxsWWVhcigpLGw9YnQodC5nZXRIb3VycygpLDIpLGQ9YnQodC5nZXRNaW51dGVzKCksMiksYz1idCh0LmdldFNlY29uZHMoKSwyKSxwPSIiO2lmKHI+MCl7bGV0IHY9dC5nZXRNaWxsaXNlY29uZHMoKSx4PU1hdGgudHJ1bmModipNYXRoLnBvdygxMCxyLTMpKTtwPSIuIitidCh4LHIpfWxldCB1PSIiLG09dC5nZXRUaW1lem9uZU9mZnNldCgpO2lmKG0hPT0wKXtsZXQgdj1NYXRoLmFicyhtKSx4PWJ0KE1hdGgudHJ1bmModi82MCksMiksYj1idCh2JTYwLDIpO3U9YCR7bTwwPyIrIjoiLSJ9JHt4fToke2J9YH1lbHNlIHU9IloiO3JldHVybmAke259LSR7b30tJHtpfVQke2x9OiR7ZH06JHtjfSR7cH0ke3V9YH12YXIgYjZyLGhvdD1mKCgpPT57YjMoKTtrbCgpO0hlKCk7cyhmb3QsImZvcm1hdFJGQzMzMzkiKTtiNnI9Zm90fSk7ZnVuY3Rpb24gbW90KGEpe2xldCBlPWtlKGEpO2lmKCFKcyhlKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IHQ9bWdhW2UuZ2V0VVRDRGF5KCldLHI9YnQoZS5nZXRVVENEYXRlKCksMiksaT1nZ2FbZS5nZXRVVENNb250aCgpXSxvPWUuZ2V0VVRDRnVsbFllYXIoKSxuPWJ0KGUuZ2V0VVRDSG91cnMoKSwyKSxsPWJ0KGUuZ2V0VVRDTWludXRlcygpLDIpLGQ9YnQoZS5nZXRVVENTZWNvbmRzKCksMik7cmV0dXJuYCR7dH0sICR7cn0gJHtpfSAke299ICR7bn06JHtsfToke2R9IEdNVGB9dmFyIG1nYSxnZ2EsazZyLGdvdD1mKCgpPT57YjMoKTtrbCgpO0hlKCk7bWdhPVsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sZ2dhPVsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl07cyhtb3QsImZvcm1hdFJGQzcyMzEiKTtrNnI9bW90fSk7ZnVuY3Rpb24gYm90KGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpLG89cWEoKSxuPXQ/LmxvY2FsZT8/by5sb2NhbGU/P0NvLGw9dD8ud2Vla1N0YXJ0c09uPz90Py5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/by53ZWVrU3RhcnRzT24/P28ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsZD1xcyhyLGkpO2lmKGlzTmFOKGQpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgYztkPC02P2M9Im90aGVyIjpkPC0xP2M9Imxhc3RXZWVrIjpkPDA/Yz0ieWVzdGVyZGF5IjpkPDE/Yz0idG9kYXkiOmQ8Mj9jPSJ0b21vcnJvdyI6ZDw3P2M9Im5leHRXZWVrIjpjPSJvdGhlciI7bGV0IHA9bi5mb3JtYXRSZWxhdGl2ZShjLHIsaSx7bG9jYWxlOm4sd2Vla1N0YXJ0c09uOmx9KTtyZXR1cm4gbTkocixwLHtsb2NhbGU6bix3ZWVrU3RhcnRzT246bH0pfXZhciBENnIsdm90PWYoKCk9PnttMygpO3dpKCk7VWEoKTtNbCgpO0EyZSgpO3MoYm90LCJmb3JtYXRSZWxhdGl2ZSIpO0Q2cj1ib3R9KTtmdW5jdGlvbiB4b3QoYSxlKXtyZXR1cm4ga2UoYSoxZTMsZT8uaW4pfXZhciBJNnIseW90PWYoKCk9PntIZSgpO3MoeG90LCJmcm9tVW5peFRpbWUiKTtJNnI9eG90fSk7ZnVuY3Rpb24gcUsoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF0ZSgpfXZhciBGNnIsSTJlPWYoKCk9PntIZSgpO3MocUssImdldERhdGUiKTtGNnI9cUt9KTtmdW5jdGlvbiBwMChhLGUpe3JldHVybiBrZShhLGU/LmluKS5nZXREYXkoKX12YXIgVjZyLGc5PWYoKCk9PntIZSgpO3MocDAsImdldERheSIpO1Y2cj1wMH0pO2Z1bmN0aW9uIFZLKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikscj10LmdldEZ1bGxZZWFyKCksaT10LmdldE1vbnRoKCksbz1GZSh0LDApO3JldHVybiBvLnNldEZ1bGxZZWFyKHIsaSsxLDApLG8uc2V0SG91cnMoMCwwLDAsMCksby5nZXREYXRlKCl9dmFyIFk2cixOMmU9ZigoKT0+eyR0KCk7SGUoKTtzKFZLLCJnZXREYXlzSW5Nb250aCIpO1k2cj1WS30pO2Z1bmN0aW9uIGpLKGEsZSl7bGV0IHI9a2UoYSxlPy5pbikuZ2V0RnVsbFllYXIoKTtyZXR1cm4gciU0MDA9PT0wfHxyJTQ9PT0wJiZyJTEwMCE9PTB9dmFyIFE2cixSMmU9ZigoKT0+e0hlKCk7cyhqSywiaXNMZWFwWWVhciIpO1E2cj1qS30pO2Z1bmN0aW9uIHdvdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiBOdW1iZXIuaXNOYU4oK3QpP05hTjpqSyh0KT8zNjY6MzY1fXZhciBydXIsTW90PWYoKCk9PntSMmUoKTtIZSgpO3Mod290LCJnZXREYXlzSW5ZZWFyIik7cnVyPXdvdH0pO2Z1bmN0aW9uIGtvdChhLGUpe2xldCByPWtlKGEsZT8uaW4pLmdldEZ1bGxZZWFyKCk7cmV0dXJuIE1hdGguZmxvb3Ioci8xMCkqMTB9dmFyIG51cixTb3Q9ZigoKT0+e0hlKCk7cyhrb3QsImdldERlY2FkZSIpO251cj1rb3R9KTtmdW5jdGlvbiBVSygpe3JldHVybiBPYmplY3QuYXNzaWduKHt9LHFhKCkpfXZhciB1dXIsTzJlPWYoKCk9Pnt3aSgpO3MoVUssImdldERlZmF1bHRPcHRpb25zIik7dXVyPVVLfSk7ZnVuY3Rpb24gem90KGEsZSl7cmV0dXJuIGtlKGEsZT8uaW4pLmdldEhvdXJzKCl9dmFyIG11cixDb3Q9ZigoKT0+e0hlKCk7cyh6b3QsImdldEhvdXJzIik7bXVyPXpvdH0pO2Z1bmN0aW9uIFdLKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikuZ2V0RGF5KCk7cmV0dXJuIHQ9PT0wPzc6dH12YXIgeHVyLEYyZT1mKCgpPT57SGUoKTtzKFdLLCJnZXRJU09EYXkiKTt4dXI9V0t9KTtmdW5jdGlvbiBfb3QoYSxlKXtsZXQgdD1qbyhhLGUpLGk9K2pvKG8wKHQsNjApKS0rdDtyZXR1cm4gTWF0aC5yb3VuZChpL2gyKX12YXIgenVyLFRvdD1mKCgpPT57bjkoKTtKdCgpO3VoKCk7cyhfb3QsImdldElTT1dlZWtzSW5ZZWFyIik7enVyPV9vdH0pO2Z1bmN0aW9uIExvdChhKXtyZXR1cm4ga2UoYSkuZ2V0TWlsbGlzZWNvbmRzKCl9dmFyIEx1ciwkb3Q9ZigoKT0+e0hlKCk7cyhMb3QsImdldE1pbGxpc2Vjb25kcyIpO0x1cj1Mb3R9KTtmdW5jdGlvbiBEb3QoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0TWludXRlcygpfXZhciBQdXIsQW90PWYoKCk9PntIZSgpO3MoRG90LCJnZXRNaW51dGVzIik7UHVyPURvdH0pO2Z1bmN0aW9uIFBvdChhLGUpe3JldHVybiBrZShhLGU/LmluKS5nZXRNb250aCgpfXZhciBSdXIsRW90PWYoKCk9PntIZSgpO3MoUG90LCJnZXRNb250aCIpO1J1cj1Qb3R9KTtmdW5jdGlvbiBJb3QoYSxlKXtsZXRbdCxyXT1bK2tlKGEuc3RhcnQpLCtrZShhLmVuZCldLnNvcnQoKHUsbSk9PnUtbSksW2ksb109WytrZShlLnN0YXJ0KSwra2UoZS5lbmQpXS5zb3J0KCh1LG0pPT51LW0pO2lmKCEodDxvJiZpPHIpKXJldHVybiAwO2xldCBsPWk8dD90OmksZD1sLUVyKGwpLGM9bz5yP3I6byxwPWMtRXIoYyk7cmV0dXJuIE1hdGguY2VpbCgocC1kKS9LWSl9dmFyIFZ1cixOb3Q9ZigoKT0+e3dsKCk7SnQoKTtIZSgpO3MoSW90LCJnZXRPdmVybGFwcGluZ0RheXNJbkludGVydmFscyIpO1Z1cj1Jb3R9KTtmdW5jdGlvbiBSb3QoYSl7cmV0dXJuIGtlKGEpLmdldFNlY29uZHMoKX12YXIgR3VyLE9vdD1mKCgpPT57SGUoKTtzKFJvdCwiZ2V0U2Vjb25kcyIpO0d1cj1Sb3R9KTtmdW5jdGlvbiBGb3QoYSl7cmV0dXJuK2tlKGEpfXZhciBYdXIsQm90PWYoKCk9PntIZSgpO3MoRm90LCJnZXRUaW1lIik7WHVyPUZvdH0pO2Z1bmN0aW9uIEhvdChhKXtyZXR1cm4gTWF0aC50cnVuYygra2UoYSkvMWUzKX12YXIgdHByLHFvdD1mKCgpPT57SGUoKTtzKEhvdCwiZ2V0VW5peFRpbWUiKTt0cHI9SG90fSk7ZnVuY3Rpb24gVm90KGEsZSl7bGV0IHQ9cWEoKSxyPWU/LndlZWtTdGFydHNPbj8/ZT8ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/P3Qud2Vla1N0YXJ0c09uPz90LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz8wLGk9cUsoa2UoYSxlPy5pbikpO2lmKGlzTmFOKGkpKXJldHVybiBOYU47bGV0IG89cDAoYzAoYSxlKSksbj1yLW87bjw9MCYmKG4rPTcpO2xldCBsPWktbjtyZXR1cm4gTWF0aC5jZWlsKGwvNykrMX12YXIgY3ByLGpvdD1mKCgpPT57d2koKTtJMmUoKTtnOSgpO3U5KCk7SGUoKTtzKFZvdCwiZ2V0V2Vla09mTW9udGgiKTtjcHI9Vm90fSk7ZnVuY3Rpb24gR0soYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0TW9udGgoKTtyZXR1cm4gdC5zZXRGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCkscisxLDApLHQuc2V0SG91cnMoMCwwLDAsMCksa2UodCxlPy5pbil9dmFyIGZwcixCMmU9ZigoKT0+e0hlKCk7cyhHSywibGFzdERheU9mTW9udGgiKTtmcHI9R0t9KTtmdW5jdGlvbiBVb3QoYSxlKXtsZXQgdD1rZShhLGU/LmluKTtyZXR1cm4gcDMoR0sodCxlKSxjMCh0LGUpLGUpKzF9dmFyIHlwcixXb3Q9ZigoKT0+e2dLKCk7QjJlKCk7dTkoKTtIZSgpO3MoVW90LCJnZXRXZWVrc0luTW9udGgiKTt5cHI9VW90fSk7ZnVuY3Rpb24gR290KGEsZSl7cmV0dXJuIGtlKGEsZT8uaW4pLmdldEZ1bGxZZWFyKCl9dmFyIFNwcixZb3Q9ZigoKT0+e0hlKCk7cyhHb3QsImdldFllYXIiKTtTcHI9R290fSk7ZnVuY3Rpb24gS290KGEpe3JldHVybiBNYXRoLnRydW5jKGEqVm8pfXZhciBUcHIsWm90PWYoKCk9PntKdCgpO3MoS290LCJob3Vyc1RvTWlsbGlzZWNvbmRzIik7VHByPUtvdH0pO2Z1bmN0aW9uIFhvdChhKXtyZXR1cm4gTWF0aC50cnVuYyhhKlpZKX12YXIgQXByLFFvdD1mKCgpPT57SnQoKTtzKFhvdCwiaG91cnNUb01pbnV0ZXMiKTtBcHI9WG90fSk7ZnVuY3Rpb24gSm90KGEpe3JldHVybiBNYXRoLnRydW5jKGEqYzMpfXZhciBOcHIsZW50PWYoKCk9PntKdCgpO3MoSm90LCJob3Vyc1RvU2Vjb25kcyIpO05wcj1Kb3R9KTtmdW5jdGlvbiB0bnQoYSxlLHQpe2xldFtyLGldPVR0KHQ/LmluLGEsZSk7aWYoaXNOYU4oK3IpKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0YXJ0IGRhdGUgaXMgaW52YWxpZCIpO2lmKGlzTmFOKCtpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFbmQgZGF0ZSBpcyBpbnZhbGlkIik7aWYodD8uYXNzZXJ0UG9zaXRpdmUmJityPitpKXRocm93IG5ldyBUeXBlRXJyb3IoIkVuZCBkYXRlIG11c3QgYmUgYWZ0ZXIgc3RhcnQgZGF0ZSIpO3JldHVybntzdGFydDpyLGVuZDppfX12YXIgQnByLGFudD1mKCgpPT57VWEoKTtzKHRudCwiaW50ZXJ2YWwiKTtCcHI9dG50fSk7ZnVuY3Rpb24gcm50KGEsZSl7bGV0e3N0YXJ0OnQsZW5kOnJ9PVZzKGU/LmluLGEpLGk9e30sbz1DSyhyLHQpO28mJihpLnllYXJzPW8pO2xldCBuPXIwKHQse3llYXJzOmkueWVhcnN9KSxsPWwwKHIsbik7bCYmKGkubW9udGhzPWwpO2xldCBkPXIwKG4se21vbnRoczppLm1vbnRoc30pLGM9Z2gocixkKTtjJiYoaS5kYXlzPWMpO2xldCBwPXIwKGQse2RheXM6aS5kYXlzfSksdT1mMyhyLHApO3UmJihpLmhvdXJzPXUpO2xldCBtPXIwKHAse2hvdXJzOmkuaG91cnN9KSx2PWgzKHIsbSk7diYmKGkubWludXRlcz12KTtsZXQgeD1yMChtLHttaW51dGVzOmkubWludXRlc30pLGI9dzIocix4KTtyZXR1cm4gYiYmKGkuc2Vjb25kcz1iKSxpfXZhciBYcHIsc250PWYoKCk9PntNMigpO28yZSgpO3ZLKCk7eEsoKTtNSygpO2M5KCk7ZDkoKTtTMmUoKTtzKHJudCwiaW50ZXJ2YWxUb0R1cmF0aW9uIik7WHByPXJudH0pO2Z1bmN0aW9uIGludChhLGUsdCl7bGV0IHI7cmV0dXJuIGJnYShlKT9yPWU6dD1lLG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHQ/LmxvY2FsZSxyKS5mb3JtYXQoa2UoYSkpfWZ1bmN0aW9uIGJnYShhKXtyZXR1cm4gYSE9PXZvaWQgMCYmISgibG9jYWxlImluIGEpfXZhciB0ZnIsb250PWYoKCk9PntIZSgpO3MoaW50LCJpbnRsRm9ybWF0Iik7cyhiZ2EsImlzRm9ybWF0T3B0aW9ucyIpO3Rmcj1pbnR9KTtmdW5jdGlvbiBubnQoYSxlLHQpe2xldCByPTAsaSxbbyxuXT1UdCh0Py5pbixhLGUpO2lmKHQ/LnVuaXQpaT10Py51bml0LGk9PT0ic2Vjb25kIj9yPXcyKG8sbik6aT09PSJtaW51dGUiP3I9aDMobyxuKTppPT09ImhvdXIiP3I9ZjMobyxuKTppPT09ImRheSI/cj1xcyhvLG4pOmk9PT0id2VlayI/cj1wMyhvLG4pOmk9PT0ibW9udGgiP3I9dTMobyxuKTppPT09InF1YXJ0ZXIiP3I9bWgobyxuKTppPT09InllYXIiJiYocj1uMChvLG4pKTtlbHNle2xldCBkPXcyKG8sbik7TWF0aC5hYnMoZCk8Y2g/KHI9dzIobyxuKSxpPSJzZWNvbmQiKTpNYXRoLmFicyhkKTxjMz8ocj1oMyhvLG4pLGk9Im1pbnV0ZSIpOk1hdGguYWJzKGQpPEdZJiZNYXRoLmFicyhxcyhvLG4pKTwxPyhyPWYzKG8sbiksaT0iaG91ciIpOk1hdGguYWJzKGQpPF9zdCYmKHI9cXMobyxuKSkmJk1hdGguYWJzKHIpPDc/aT0iZGF5IjpNYXRoLmFicyhkKTxzMmU/KHI9cDMobyxuKSxpPSJ3ZWVrIik6TWF0aC5hYnMoZCk8VHN0PyhyPXUzKG8sbiksaT0ibW9udGgiKTpNYXRoLmFicyhkKTxyMmU/bWgobyxuKTw0PyhyPW1oKG8sbiksaT0icXVhcnRlciIpOihyPW4wKG8sbiksaT0ieWVhciIpOihyPW4wKG8sbiksaT0ieWVhciIpfXJldHVybiBuZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQodD8ubG9jYWxlLHtudW1lcmljOiJhdXRvIiwuLi50fSkuZm9ybWF0KHIsaSl9dmFyIGhmcixsbnQ9ZigoKT0+e1VhKCk7SnQoKTtNbCgpO21LKCk7dzJlKCk7Z0soKTtiSygpO3hLKCk7TUsoKTtkOSgpO3Mobm50LCJpbnRsRm9ybWF0RGlzdGFuY2UiKTtoZnI9bm50fSk7ZnVuY3Rpb24gY250KGEsZSl7cmV0dXJuK2tlKGEpPitrZShlKX12YXIgdmZyLGRudD1mKCgpPT57SGUoKTtzKGNudCwiaXNBZnRlciIpO3Zmcj1jbnR9KTtmdW5jdGlvbiB1bnQoYSxlKXtyZXR1cm4ra2UoYSk8K2tlKGUpfXZhciBNZnIscG50PWYoKCk9PntIZSgpO3ModW50LCJpc0JlZm9yZSIpO01mcj11bnR9KTtmdW5jdGlvbiBmbnQoYSxlKXtyZXR1cm4ra2UoYSk9PStrZShlKX12YXIgQ2ZyLGhudD1mKCgpPT57SGUoKTtzKGZudCwiaXNFcXVhbCIpO0Nmcj1mbnR9KTtmdW5jdGlvbiBtbnQoYSxlLHQpe2xldCByPW5ldyBEYXRlKGEsZSx0KTtyZXR1cm4gci5nZXRGdWxsWWVhcigpPT09YSYmci5nZXRNb250aCgpPT09ZSYmci5nZXREYXRlKCk9PT10fXZhciBMZnIsZ250PWYoKCk9PntzKG1udCwiaXNFeGlzdHMiKTtMZnI9bW50fSk7ZnVuY3Rpb24gYm50KGEsZSl7cmV0dXJuIGtlKGEsZT8uaW4pLmdldERhdGUoKT09PTF9dmFyIFBmcix2bnQ9ZigoKT0+e0hlKCk7cyhibnQsImlzRmlyc3REYXlPZk1vbnRoIik7UGZyPWJudH0pO2Z1bmN0aW9uIHhudChhLGUpe3JldHVybiBrZShhLGU/LmluKS5nZXREYXkoKT09PTV9dmFyIFJmcix5bnQ9ZigoKT0+e0hlKCk7cyh4bnQsImlzRnJpZGF5Iik7UmZyPXhudH0pO2Z1bmN0aW9uIHdudChhKXtyZXR1cm4ra2UoYSk+RGF0ZS5ub3coKX12YXIgSGZyLE1udD1mKCgpPT57SGUoKTtzKHdudCwiaXNGdXR1cmUiKTtIZnI9d250fSk7ZnVuY3Rpb24gWUsoYSxlKXtsZXQgdD12Z2EoZSk/bmV3IGUoMCk6RmUoZSwwKTtyZXR1cm4gdC5zZXRGdWxsWWVhcihhLmdldEZ1bGxZZWFyKCksYS5nZXRNb250aCgpLGEuZ2V0RGF0ZSgpKSx0LnNldEhvdXJzKGEuZ2V0SG91cnMoKSxhLmdldE1pbnV0ZXMoKSxhLmdldFNlY29uZHMoKSxhLmdldE1pbGxpc2Vjb25kcygpKSx0fWZ1bmN0aW9uIHZnYShhKXtyZXR1cm4gdHlwZW9mIGE9PSJmdW5jdGlvbiImJmEucHJvdG90eXBlPy5jb25zdHJ1Y3Rvcj09PWF9dmFyIFVmcixIMmU9ZigoKT0+eyR0KCk7cyhZSywidHJhbnNwb3NlIik7cyh2Z2EsImlzQ29uc3RydWN0b3IiKTtVZnI9WUt9KTt2YXIgeGdhLEtLLFpLLFhLLHEyZT1mKCgpPT57JHQoKTtIMmUoKTt4Z2E9MTAsS0s9Y2xhc3N7c3RhdGlje3ModGhpcywiU2V0dGVyIil9c3ViUHJpb3JpdHk9MDt2YWxpZGF0ZShlLHQpe3JldHVybiEwfX0sWks9Y2xhc3MgZXh0ZW5kcyBLS3tzdGF0aWN7cyh0aGlzLCJWYWx1ZVNldHRlciIpfWNvbnN0cnVjdG9yKGUsdCxyLGksbyl7c3VwZXIoKSx0aGlzLnZhbHVlPWUsdGhpcy52YWxpZGF0ZVZhbHVlPXQsdGhpcy5zZXRWYWx1ZT1yLHRoaXMucHJpb3JpdHk9aSxvJiYodGhpcy5zdWJQcmlvcml0eT1vKX12YWxpZGF0ZShlLHQpe3JldHVybiB0aGlzLnZhbGlkYXRlVmFsdWUoZSx0aGlzLnZhbHVlLHQpfXNldChlLHQscil7cmV0dXJuIHRoaXMuc2V0VmFsdWUoZSx0LHRoaXMudmFsdWUscil9fSxYSz1jbGFzcyBleHRlbmRzIEtLe3N0YXRpY3tzKHRoaXMsIkRhdGVUaW1lem9uZVNldHRlciIpfXByaW9yaXR5PXhnYTtzdWJQcmlvcml0eT0tMTtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5jb250ZXh0PWV8fChyPT5GZSh0LHIpKX1zZXQoZSx0KXtyZXR1cm4gdC50aW1lc3RhbXBJc1NldD9lOkZlKGUsWUsoZSx0aGlzLmNvbnRleHQpKX19fSk7dmFyIGd0LElhPWYoKCk9PntxMmUoKTtndD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJQYXJzZXIiKX1ydW4oZSx0LHIsaSl7bGV0IG89dGhpcy5wYXJzZShlLHQscixpKTtyZXR1cm4gbz97c2V0dGVyOm5ldyBaSyhvLnZhbHVlLHRoaXMudmFsaWRhdGUsdGhpcy5zZXQsdGhpcy5wcmlvcml0eSx0aGlzLnN1YlByaW9yaXR5KSxyZXN0Om8ucmVzdH06bnVsbH12YWxpZGF0ZShlLHQscil7cmV0dXJuITB9fX0pO3ZhciBRSyxrbnQ9ZigoKT0+e0lhKCk7UUs9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJFcmFQYXJzZXIiKX1wcmlvcml0eT0xNDA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlIkciOmNhc2UiR0ciOmNhc2UiR0dHIjpyZXR1cm4gci5lcmEoZSx7d2lkdGg6ImFiYnJldmlhdGVkIn0pfHxyLmVyYShlLHt3aWR0aDoibmFycm93In0pO2Nhc2UiR0dHR0ciOnJldHVybiByLmVyYShlLHt3aWR0aDoibmFycm93In0pO2RlZmF1bHQ6cmV0dXJuIHIuZXJhKGUse3dpZHRoOiJ3aWRlIn0pfHxyLmVyYShlLHt3aWR0aDoiYWJicmV2aWF0ZWQifSl8fHIuZXJhKGUse3dpZHRoOiJuYXJyb3cifSl9fXNldChlLHQscil7cmV0dXJuIHQuZXJhPXIsZS5zZXRGdWxsWWVhcihyLDAsMSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIlIiLCJ1IiwidCIsIlQiXX19KTt2YXIgVGEseG4sU2k9ZigoKT0+e1RhPXttb250aDovXigxWzAtMl18MD9cZCkvLGRhdGU6L14oM1swLTFdfFswLTJdP1xkKS8sZGF5T2ZZZWFyOi9eKDM2WzAtNl18M1swLTVdXGR8WzAtMl0/XGQ/XGQpLyx3ZWVrOi9eKDVbMC0zXXxbMC00XT9cZCkvLGhvdXIyM2g6L14oMlswLTNdfFswLTFdP1xkKS8saG91cjI0aDovXigyWzAtNF18WzAtMV0/XGQpLyxob3VyMTFoOi9eKDFbMC0xXXwwP1xkKS8saG91cjEyaDovXigxWzAtMl18MD9cZCkvLG1pbnV0ZTovXlswLTVdP1xkLyxzZWNvbmQ6L15bMC01XT9cZC8sc2luZ2xlRGlnaXQ6L15cZC8sdHdvRGlnaXRzOi9eXGR7MSwyfS8sdGhyZWVEaWdpdHM6L15cZHsxLDN9Lyxmb3VyRGlnaXRzOi9eXGR7MSw0fS8sYW55RGlnaXRzU2lnbmVkOi9eLT9cZCsvLHNpbmdsZURpZ2l0U2lnbmVkOi9eLT9cZC8sdHdvRGlnaXRzU2lnbmVkOi9eLT9cZHsxLDJ9Lyx0aHJlZURpZ2l0c1NpZ25lZDovXi0/XGR7MSwzfS8sZm91ckRpZ2l0c1NpZ25lZDovXi0/XGR7MSw0fS99LHhuPXtiYXNpY09wdGlvbmFsTWludXRlczovXihbKy1dKShcZHsyfSkoXGR7Mn0pP3xaLyxiYXNpYzovXihbKy1dKShcZHsyfSkoXGR7Mn0pfFovLGJhc2ljT3B0aW9uYWxTZWNvbmRzOi9eKFsrLV0pKFxkezJ9KShcZHsyfSkoKFxkezJ9KSk/fFovLGV4dGVuZGVkOi9eKFsrLV0pKFxkezJ9KTooXGR7Mn0pfFovLGV4dGVuZGVkT3B0aW9uYWxTZWNvbmRzOi9eKFsrLV0pKFxkezJ9KTooXGR7Mn0pKDooXGR7Mn0pKT98Wi99fSk7ZnVuY3Rpb24gV2EoYSxlKXtyZXR1cm4gYSYme3ZhbHVlOmUoYS52YWx1ZSkscmVzdDphLnJlc3R9fWZ1bmN0aW9uIFNhKGEsZSl7bGV0IHQ9ZS5tYXRjaChhKTtyZXR1cm4gdD97dmFsdWU6cGFyc2VJbnQodFswXSwxMCkscmVzdDplLnNsaWNlKHRbMF0ubGVuZ3RoKX06bnVsbH1mdW5jdGlvbiB5bihhLGUpe2xldCB0PWUubWF0Y2goYSk7aWYoIXQpcmV0dXJuIG51bGw7aWYodFswXT09PSJaIilyZXR1cm57dmFsdWU6MCxyZXN0OmUuc2xpY2UoMSl9O2xldCByPXRbMV09PT0iKyI/MTotMSxpPXRbMl0/cGFyc2VJbnQodFsyXSwxMCk6MCxvPXRbM10/cGFyc2VJbnQodFszXSwxMCk6MCxuPXRbNV0/cGFyc2VJbnQodFs1XSwxMCk6MDtyZXR1cm57dmFsdWU6ciooaSpWbytvKnlpK24qbmgpLHJlc3Q6ZS5zbGljZSh0WzBdLmxlbmd0aCl9fWZ1bmN0aW9uIEpLKGEpe3JldHVybiBTYShUYS5hbnlEaWdpdHNTaWduZWQsYSl9ZnVuY3Rpb24gS3QoYSxlKXtzd2l0Y2goYSl7Y2FzZSAxOnJldHVybiBTYShUYS5zaW5nbGVEaWdpdCxlKTtjYXNlIDI6cmV0dXJuIFNhKFRhLnR3b0RpZ2l0cyxlKTtjYXNlIDM6cmV0dXJuIFNhKFRhLnRocmVlRGlnaXRzLGUpO2Nhc2UgNDpyZXR1cm4gU2EoVGEuZm91ckRpZ2l0cyxlKTtkZWZhdWx0OnJldHVybiBTYShuZXcgUmVnRXhwKCJeXFxkezEsIithKyJ9IiksZSl9fWZ1bmN0aW9uIF9oKGEsZSl7c3dpdGNoKGEpe2Nhc2UgMTpyZXR1cm4gU2EoVGEuc2luZ2xlRGlnaXRTaWduZWQsZSk7Y2FzZSAyOnJldHVybiBTYShUYS50d29EaWdpdHNTaWduZWQsZSk7Y2FzZSAzOnJldHVybiBTYShUYS50aHJlZURpZ2l0c1NpZ25lZCxlKTtjYXNlIDQ6cmV0dXJuIFNhKFRhLmZvdXJEaWdpdHNTaWduZWQsZSk7ZGVmYXVsdDpyZXR1cm4gU2EobmV3IFJlZ0V4cCgiXi0/XFxkezEsIithKyJ9IiksZSl9fWZ1bmN0aW9uIFRoKGEpe3N3aXRjaChhKXtjYXNlIm1vcm5pbmciOnJldHVybiA0O2Nhc2UiZXZlbmluZyI6cmV0dXJuIDE3O2Nhc2UicG0iOmNhc2Uibm9vbiI6Y2FzZSJhZnRlcm5vb24iOnJldHVybiAxMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBlWihhLGUpe2xldCB0PWU+MCxyPXQ/ZToxLWUsaTtpZihyPD01MClpPWF8fDEwMDtlbHNle2xldCBvPXIrNTAsbj1NYXRoLnRydW5jKG8vMTAwKSoxMDAsbD1hPj1vJTEwMDtpPWErbi0obD8xMDA6MCl9cmV0dXJuIHQ/aToxLWl9ZnVuY3Rpb24gdFooYSl7cmV0dXJuIGElNDAwPT09MHx8YSU0PT09MCYmYSUxMDAhPT0wfXZhciBWYT1mKCgpPT57SnQoKTtTaSgpO3MoV2EsIm1hcFZhbHVlIik7cyhTYSwicGFyc2VOdW1lcmljUGF0dGVybiIpO3MoeW4sInBhcnNlVGltZXpvbmVQYXR0ZXJuIik7cyhKSywicGFyc2VBbnlEaWdpdHNTaWduZWQiKTtzKEt0LCJwYXJzZU5EaWdpdHMiKTtzKF9oLCJwYXJzZU5EaWdpdHNTaWduZWQiKTtzKFRoLCJkYXlQZXJpb2RFbnVtVG9Ib3VycyIpO3MoZVosIm5vcm1hbGl6ZVR3b0RpZ2l0WWVhciIpO3ModFosImlzTGVhcFllYXJJbmRleCIpfSk7dmFyIGFaLFNudD1mKCgpPT57SWEoKTtWYSgpO2FaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiWWVhclBhcnNlciIpfXByaW9yaXR5PTEzMDtpbmNvbXBhdGlibGVUb2tlbnM9WyJZIiwiUiIsInUiLCJ3IiwiSSIsImkiLCJlIiwiYyIsInQiLCJUIl07cGFyc2UoZSx0LHIpe2xldCBpPXMobz0+KHt5ZWFyOm8saXNUd29EaWdpdFllYXI6dD09PSJ5eSJ9KSwidmFsdWVDYWxsYmFjayIpO3N3aXRjaCh0KXtjYXNlInkiOnJldHVybiBXYShLdCg0LGUpLGkpO2Nhc2UieW8iOnJldHVybiBXYShyLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoieWVhciJ9KSxpKTtkZWZhdWx0OnJldHVybiBXYShLdCh0Lmxlbmd0aCxlKSxpKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdC5pc1R3b0RpZ2l0WWVhcnx8dC55ZWFyPjB9c2V0KGUsdCxyKXtsZXQgaT1lLmdldEZ1bGxZZWFyKCk7aWYoci5pc1R3b0RpZ2l0WWVhcil7bGV0IG49ZVooci55ZWFyLGkpO3JldHVybiBlLnNldEZ1bGxZZWFyKG4sMCwxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9bGV0IG89ISgiZXJhImluIHQpfHx0LmVyYT09PTE/ci55ZWFyOjEtci55ZWFyO3JldHVybiBlLnNldEZ1bGxZZWFyKG8sMCwxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9fX0pO3ZhciByWix6bnQ9ZigoKT0+e3A5KCk7aTEoKTtJYSgpO1ZhKCk7clo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJMb2NhbFdlZWtZZWFyUGFyc2VyIil9cHJpb3JpdHk9MTMwO3BhcnNlKGUsdCxyKXtsZXQgaT1zKG89Pih7eWVhcjpvLGlzVHdvRGlnaXRZZWFyOnQ9PT0iWVkifSksInZhbHVlQ2FsbGJhY2siKTtzd2l0Y2godCl7Y2FzZSJZIjpyZXR1cm4gV2EoS3QoNCxlKSxpKTtjYXNlIllvIjpyZXR1cm4gV2Eoci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6InllYXIifSksaSk7ZGVmYXVsdDpyZXR1cm4gV2EoS3QodC5sZW5ndGgsZSksaSl9fXZhbGlkYXRlKGUsdCl7cmV0dXJuIHQuaXNUd29EaWdpdFllYXJ8fHQueWVhcj4wfXNldChlLHQscixpKXtsZXQgbz1kMChlLGkpO2lmKHIuaXNUd29EaWdpdFllYXIpe2xldCBsPWVaKHIueWVhcixvKTtyZXR1cm4gZS5zZXRGdWxsWWVhcihsLDAsaS5maXJzdFdlZWtDb250YWluc0RhdGUpLGUuc2V0SG91cnMoMCwwLDAsMCksZXIoZSxpKX1sZXQgbj0hKCJlcmEiaW4gdCl8fHQuZXJhPT09MT9yLnllYXI6MS1yLnllYXI7cmV0dXJuIGUuc2V0RnVsbFllYXIobiwwLGkuZmlyc3RXZWVrQ29udGFpbnNEYXRlKSxlLnNldEhvdXJzKDAsMCwwLDApLGVyKGUsaSl9aW5jb21wYXRpYmxlVG9rZW5zPVsieSIsIlIiLCJ1IiwiUSIsInEiLCJNIiwiTCIsIkkiLCJkIiwiRCIsImkiLCJ0IiwiVCJdfX0pO3ZhciBzWixDbnQ9ZigoKT0+e3YyKCk7JHQoKTtJYSgpO1ZhKCk7c1o9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJJU09XZWVrWWVhclBhcnNlciIpfXByaW9yaXR5PTEzMDtwYXJzZShlLHQpe3JldHVybiB0PT09IlIiP19oKDQsZSk6X2godC5sZW5ndGgsZSl9c2V0KGUsdCxyKXtsZXQgaT1GZShlLDApO3JldHVybiBpLnNldEZ1bGxZZWFyKHIsMCw0KSxpLnNldEhvdXJzKDAsMCwwLDApLGNzKGkpfWluY29tcGF0aWJsZVRva2Vucz1bIkciLCJ5IiwiWSIsInUiLCJRIiwicSIsIk0iLCJMIiwidyIsImQiLCJEIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBpWixfbnQ9ZigoKT0+e0lhKCk7VmEoKTtpWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIkV4dGVuZGVkWWVhclBhcnNlciIpfXByaW9yaXR5PTEzMDtwYXJzZShlLHQpe3JldHVybiB0PT09InUiP19oKDQsZSk6X2godC5sZW5ndGgsZSl9c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRGdWxsWWVhcihyLDAsMSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIkciLCJ5IiwiWSIsIlIiLCJ3IiwiSSIsImkiLCJlIiwiYyIsInQiLCJUIl19fSk7dmFyIG9aLFRudD1mKCgpPT57SWEoKTtWYSgpO29aPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiUXVhcnRlclBhcnNlciIpfXByaW9yaXR5PTEyMDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiUSI6Y2FzZSJRUSI6cmV0dXJuIEt0KHQubGVuZ3RoLGUpO2Nhc2UiUW8iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoicXVhcnRlciJ9KTtjYXNlIlFRUSI6cmV0dXJuIHIucXVhcnRlcihlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiUVFRUVEiOnJldHVybiByLnF1YXJ0ZXIoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLnF1YXJ0ZXIoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIucXVhcnRlcihlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0xJiZ0PD00fXNldChlLHQscil7cmV0dXJuIGUuc2V0TW9udGgoKHItMSkqMywxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJxIiwiTSIsIkwiLCJ3IiwiSSIsImQiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTt2YXIgblosTG50PWYoKCk9PntJYSgpO1ZhKCk7blo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJTdGFuZEFsb25lUXVhcnRlclBhcnNlciIpfXByaW9yaXR5PTEyMDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UicSI6Y2FzZSJxcSI6cmV0dXJuIEt0KHQubGVuZ3RoLGUpO2Nhc2UicW8iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoicXVhcnRlciJ9KTtjYXNlInFxcSI6cmV0dXJuIHIucXVhcnRlcihlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UicXFxcXEiOnJldHVybiByLnF1YXJ0ZXIoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiByLnF1YXJ0ZXIoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIucXVhcnRlcihlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0xJiZ0PD00fXNldChlLHQscil7cmV0dXJuIGUuc2V0TW9udGgoKHItMSkqMywxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJRIiwiTSIsIkwiLCJ3IiwiSSIsImQiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTt2YXIgbFosJG50PWYoKCk9PntTaSgpO0lhKCk7VmEoKTtsWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIk1vbnRoUGFyc2VyIil9aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJxIiwiUSIsIkwiLCJ3IiwiSSIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdO3ByaW9yaXR5PTExMDtwYXJzZShlLHQscil7bGV0IGk9cyhvPT5vLTEsInZhbHVlQ2FsbGJhY2siKTtzd2l0Y2godCl7Y2FzZSJNIjpyZXR1cm4gV2EoU2EoVGEubW9udGgsZSksaSk7Y2FzZSJNTSI6cmV0dXJuIFdhKEt0KDIsZSksaSk7Y2FzZSJNbyI6cmV0dXJuIFdhKHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJtb250aCJ9KSxpKTtjYXNlIk1NTSI6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJNTU1NTSI6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLm1vbnRoKGUse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5tb250aChlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD0xMX1zZXQoZSx0LHIpe3JldHVybiBlLnNldE1vbnRoKHIsMSksZS5zZXRIb3VycygwLDAsMCwwKSxlfX19KTt2YXIgY1osRG50PWYoKCk9PntTaSgpO0lhKCk7VmEoKTtjWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIlN0YW5kQWxvbmVNb250aFBhcnNlciIpfXByaW9yaXR5PTExMDtwYXJzZShlLHQscil7bGV0IGk9cyhvPT5vLTEsInZhbHVlQ2FsbGJhY2siKTtzd2l0Y2godCl7Y2FzZSJMIjpyZXR1cm4gV2EoU2EoVGEubW9udGgsZSksaSk7Y2FzZSJMTCI6cmV0dXJuIFdhKEt0KDIsZSksaSk7Y2FzZSJMbyI6cmV0dXJuIFdhKHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJtb250aCJ9KSxpKTtjYXNlIkxMTCI6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJMTExMTCI6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiByLm1vbnRoKGUse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8ci5tb250aChlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD0xMX1zZXQoZSx0LHIpe3JldHVybiBlLnNldE1vbnRoKHIsMSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIlkiLCJSIiwicSIsIlEiLCJNIiwidyIsIkkiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTtmdW5jdGlvbiBkWihhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbiksaT16aChyLHQpLWU7cmV0dXJuIHIuc2V0RGF0ZShyLmdldERhdGUoKS1pKjcpLGtlKHIsdD8uaW4pfXZhciBLNXIsVjJlPWYoKCk9PntSSygpO0hlKCk7cyhkWiwic2V0V2VlayIpO0s1cj1kWn0pO3ZhciB1WixBbnQ9ZigoKT0+e1YyZSgpO2kxKCk7U2koKTtJYSgpO1ZhKCk7dVo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJMb2NhbFdlZWtQYXJzZXIiKX1wcmlvcml0eT0xMDA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlInciOnJldHVybiBTYShUYS53ZWVrLGUpO2Nhc2Uid28iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoid2VlayJ9KTtkZWZhdWx0OnJldHVybiBLdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MSYmdDw9NTN9c2V0KGUsdCxyLGkpe3JldHVybiBlcihkWihlLHIsaSksaSl9aW5jb21wYXRpYmxlVG9rZW5zPVsieSIsIlIiLCJ1IiwicSIsIlEiLCJNIiwiTCIsIkkiLCJkIiwiRCIsImkiLCJ0IiwiVCJdfX0pO2Z1bmN0aW9uIHBaKGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKSxpPVNoKHIsdCktZTtyZXR1cm4gci5zZXREYXRlKHIuZ2V0RGF0ZSgpLWkqNykscn12YXIgbmhyLGoyZT1mKCgpPT57SUsoKTtIZSgpO3MocFosInNldElTT1dlZWsiKTtuaHI9cFp9KTt2YXIgZlosUG50PWYoKCk9PntqMmUoKTt2MigpO1NpKCk7SWEoKTtWYSgpO2ZaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiSVNPV2Vla1BhcnNlciIpfXByaW9yaXR5PTEwMDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiSSI6cmV0dXJuIFNhKFRhLndlZWssZSk7Y2FzZSJJbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJ3ZWVrIn0pO2RlZmF1bHQ6cmV0dXJuIEt0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0xJiZ0PD01M31zZXQoZSx0LHIpe3JldHVybiBjcyhwWihlLHIpKX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ5IiwiWSIsInUiLCJxIiwiUSIsIk0iLCJMIiwidyIsImQiLCJEIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciB5Z2Esd2dhLGhaLEVudD1mKCgpPT57U2koKTtJYSgpO1ZhKCk7eWdhPVszMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sd2dhPVszMSwyOSwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0saFo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJEYXRlUGFyc2VyIil9cHJpb3JpdHk9OTA7c3ViUHJpb3JpdHk9MTtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiZCI6cmV0dXJuIFNhKFRhLmRhdGUsZSk7Y2FzZSJkbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJkYXRlIn0pO2RlZmF1bHQ6cmV0dXJuIEt0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe2xldCByPWUuZ2V0RnVsbFllYXIoKSxpPXRaKHIpLG89ZS5nZXRNb250aCgpO3JldHVybiBpP3Q+PTEmJnQ8PXdnYVtvXTp0Pj0xJiZ0PD15Z2Fbb119c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXREYXRlKHIpLGUuc2V0SG91cnMoMCwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJZIiwiUiIsInEiLCJRIiwidyIsIkkiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTt2YXIgbVosSW50PWYoKCk9PntTaSgpO0lhKCk7VmEoKTttWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIkRheU9mWWVhclBhcnNlciIpfXByaW9yaXR5PTkwO3N1YnByaW9yaXR5PTE7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlIkQiOmNhc2UiREQiOnJldHVybiBTYShUYS5kYXlPZlllYXIsZSk7Y2FzZSJEbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJkYXRlIn0pO2RlZmF1bHQ6cmV0dXJuIEt0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe2xldCByPWUuZ2V0RnVsbFllYXIoKTtyZXR1cm4gdFoocik/dD49MSYmdDw9MzY2OnQ+PTEmJnQ8PTM2NX1zZXQoZSx0LHIpe3JldHVybiBlLnNldE1vbnRoKDAsciksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIlkiLCJSIiwicSIsIlEiLCJNIiwiTCIsInciLCJJIiwiZCIsIkUiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO2Z1bmN0aW9uIGYwKGEsZSx0KXtsZXQgcj1xYSgpLGk9dD8ud2Vla1N0YXJ0c09uPz90Py5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/ci53ZWVrU3RhcnRzT24/P3IubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsbz1rZShhLHQ/LmluKSxuPW8uZ2V0RGF5KCksZD0oZSU3KzcpJTcsYz03LWkscD1lPDB8fGU+Nj9lLShuK2MpJTc6KGQrYyklNy0obitjKSU3O3JldHVybiBfcyhvLHAsdCl9dmFyICRocixiOT1mKCgpPT57d2koKTttMigpO0hlKCk7cyhmMCwic2V0RGF5Iik7JGhyPWYwfSk7dmFyIGdaLE5udD1mKCgpPT57YjkoKTtJYSgpO2daPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiRGF5UGFyc2VyIil9cHJpb3JpdHk9OTA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlIkUiOmNhc2UiRUUiOmNhc2UiRUVFIjpyZXR1cm4gci5kYXkoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJFRUVFRSI6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJFRUVFRUUiOnJldHVybiByLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXkoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD02fXNldChlLHQscixpKXtyZXR1cm4gZT1mMChlLHIsaSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBiWixSbnQ9ZigoKT0+e2I5KCk7SWEoKTtWYSgpO2JaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiTG9jYWxEYXlQYXJzZXIiKX1wcmlvcml0eT05MDtwYXJzZShlLHQscixpKXtsZXQgbz1zKG49PntsZXQgbD1NYXRoLmZsb29yKChuLTEpLzcpKjc7cmV0dXJuKG4raS53ZWVrU3RhcnRzT24rNiklNytsfSwidmFsdWVDYWxsYmFjayIpO3N3aXRjaCh0KXtjYXNlImUiOmNhc2UiZWUiOnJldHVybiBXYShLdCh0Lmxlbmd0aCxlKSxvKTtjYXNlImVvIjpyZXR1cm4gV2Eoci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6ImRheSJ9KSxvKTtjYXNlImVlZSI6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiZWVlZWUiOnJldHVybiByLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiZWVlZWVlIjpyZXR1cm4gci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MCYmdDw9Nn1zZXQoZSx0LHIsaSl7cmV0dXJuIGU9ZjAoZSxyLGkpLGUuc2V0SG91cnMoMCwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ5IiwiUiIsInUiLCJxIiwiUSIsIk0iLCJMIiwiSSIsImQiLCJEIiwiRSIsImkiLCJjIiwidCIsIlQiXX19KTt2YXIgdlosT250PWYoKCk9PntiOSgpO0lhKCk7VmEoKTt2Wj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIlN0YW5kQWxvbmVMb2NhbERheVBhcnNlciIpfXByaW9yaXR5PTkwO3BhcnNlKGUsdCxyLGkpe2xldCBvPXMobj0+e2xldCBsPU1hdGguZmxvb3IoKG4tMSkvNykqNztyZXR1cm4obitpLndlZWtTdGFydHNPbis2KSU3K2x9LCJ2YWx1ZUNhbGxiYWNrIik7c3dpdGNoKHQpe2Nhc2UiYyI6Y2FzZSJjYyI6cmV0dXJuIFdhKEt0KHQubGVuZ3RoLGUpLG8pO2Nhc2UiY28iOnJldHVybiBXYShyLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoiZGF5In0pLG8pO2Nhc2UiY2NjIjpyZXR1cm4gci5kYXkoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJjY2NjYyI6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJjY2NjY2MiOnJldHVybiByLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXkoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD02fXNldChlLHQscixpKXtyZXR1cm4gZT1mMChlLHIsaSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJSIiwidSIsInEiLCJRIiwiTSIsIkwiLCJJIiwiZCIsIkQiLCJFIiwiaSIsImUiLCJ0IiwiVCJdfX0pO2Z1bmN0aW9uIHhaKGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKSxpPVdLKHIsdCksbz1lLWk7cmV0dXJuIF9zKHIsbyx0KX12YXIgWmhyLFUyZT1mKCgpPT57bTIoKTtGMmUoKTtIZSgpO3MoeFosInNldElTT0RheSIpO1pocj14Wn0pO3ZhciB5WixGbnQ9ZigoKT0+e1UyZSgpO0lhKCk7VmEoKTt5Wj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIklTT0RheVBhcnNlciIpfXByaW9yaXR5PTkwO3BhcnNlKGUsdCxyKXtsZXQgaT1zKG89Pm89PT0wPzc6bywidmFsdWVDYWxsYmFjayIpO3N3aXRjaCh0KXtjYXNlImkiOmNhc2UiaWkiOnJldHVybiBLdCh0Lmxlbmd0aCxlKTtjYXNlImlvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6ImRheSJ9KTtjYXNlImlpaSI6cmV0dXJuIFdhKHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2Nhc2UiaWlpaWkiOnJldHVybiBXYShyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2Nhc2UiaWlpaWlpIjpyZXR1cm4gV2Eoci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2RlZmF1bHQ6cmV0dXJuIFdhKHIuZGF5KGUse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KSxpKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MSYmdDw9N31zZXQoZSx0LHIpe3JldHVybiBlPXhaKGUsciksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJZIiwidSIsInEiLCJRIiwiTSIsIkwiLCJ3IiwiZCIsIkQiLCJFIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciB3WixCbnQ9ZigoKT0+e0lhKCk7VmEoKTt3Wj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIkFNUE1QYXJzZXIiKX1wcmlvcml0eT04MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiYSI6Y2FzZSJhYSI6Y2FzZSJhYWEiOnJldHVybiByLmRheVBlcmlvZChlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJhYWFhYSI6cmV0dXJuIHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXlQZXJpb2QoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRIb3VycyhUaChyKSwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJiIiwiQiIsIkgiLCJrIiwidCIsIlQiXX19KTt2YXIgTVosSG50PWYoKCk9PntJYSgpO1ZhKCk7TVo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJBTVBNTWlkbmlnaHRQYXJzZXIiKX1wcmlvcml0eT04MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiYiI6Y2FzZSJiYiI6Y2FzZSJiYmIiOnJldHVybiByLmRheVBlcmlvZChlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJiYmJiYiI6cmV0dXJuIHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXlQZXJpb2QoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRIb3VycyhUaChyKSwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJhIiwiQiIsIkgiLCJrIiwidCIsIlQiXX19KTt2YXIga1oscW50PWYoKCk9PntJYSgpO1ZhKCk7a1o9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJEYXlQZXJpb2RQYXJzZXIiKX1wcmlvcml0eT04MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiQiI6Y2FzZSJCQiI6Y2FzZSJCQkIiOnJldHVybiByLmRheVBlcmlvZChlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJCQkJCQiI6cmV0dXJuIHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXlQZXJpb2QoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRIb3VycyhUaChyKSwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJhIiwiYiIsInQiLCJUIl19fSk7dmFyIFNaLFZudD1mKCgpPT57U2koKTtJYSgpO1ZhKCk7U1o9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJIb3VyMXRvMTJQYXJzZXIiKX1wcmlvcml0eT03MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiaCI6cmV0dXJuIFNhKFRhLmhvdXIxMmgsZSk7Y2FzZSJobyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIEt0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0xJiZ0PD0xMn1zZXQoZSx0LHIpe2xldCBpPWUuZ2V0SG91cnMoKT49MTI7cmV0dXJuIGkmJnI8MTI/ZS5zZXRIb3VycyhyKzEyLDAsMCwwKTohaSYmcj09PTEyP2Uuc2V0SG91cnMoMCwwLDAsMCk6ZS5zZXRIb3VycyhyLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIkgiLCJLIiwiayIsInQiLCJUIl19fSk7dmFyIHpaLGpudD1mKCgpPT57U2koKTtJYSgpO1ZhKCk7elo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJIb3VyMHRvMjNQYXJzZXIiKX1wcmlvcml0eT03MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiSCI6cmV0dXJuIFNhKFRhLmhvdXIyM2gsZSk7Y2FzZSJIbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIEt0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD0yM31zZXQoZSx0LHIpe3JldHVybiBlLnNldEhvdXJzKHIsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiYSIsImIiLCJoIiwiSyIsImsiLCJ0IiwiVCJdfX0pO3ZhciBDWixVbnQ9ZigoKT0+e1NpKCk7SWEoKTtWYSgpO0NaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiSG91cjBUbzExUGFyc2VyIil9cHJpb3JpdHk9NzA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlIksiOnJldHVybiBTYShUYS5ob3VyMTFoLGUpO2Nhc2UiS28iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoiaG91ciJ9KTtkZWZhdWx0OnJldHVybiBLdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MCYmdDw9MTF9c2V0KGUsdCxyKXtyZXR1cm4gZS5nZXRIb3VycygpPj0xMiYmcjwxMj9lLnNldEhvdXJzKHIrMTIsMCwwLDApOmUuc2V0SG91cnMociwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJoIiwiSCIsImsiLCJ0IiwiVCJdfX0pO3ZhciBfWixXbnQ9ZigoKT0+e1NpKCk7SWEoKTtWYSgpO19aPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiSG91cjFUbzI0UGFyc2VyIil9cHJpb3JpdHk9NzA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlImsiOnJldHVybiBTYShUYS5ob3VyMjRoLGUpO2Nhc2Uia28iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoiaG91ciJ9KTtkZWZhdWx0OnJldHVybiBLdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MSYmdDw9MjR9c2V0KGUsdCxyKXtsZXQgaT1yPD0yND9yJTI0OnI7cmV0dXJuIGUuc2V0SG91cnMoaSwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJhIiwiYiIsImgiLCJIIiwiSyIsInQiLCJUIl19fSk7dmFyIFRaLEdudD1mKCgpPT57U2koKTtJYSgpO1ZhKCk7VFo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJNaW51dGVQYXJzZXIiKX1wcmlvcml0eT02MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UibSI6cmV0dXJuIFNhKFRhLm1pbnV0ZSxlKTtjYXNlIm1vIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6Im1pbnV0ZSJ9KTtkZWZhdWx0OnJldHVybiBLdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MCYmdDw9NTl9c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRNaW51dGVzKHIsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIl19fSk7dmFyIExaLFludD1mKCgpPT57U2koKTtJYSgpO1ZhKCk7TFo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJTZWNvbmRQYXJzZXIiKX1wcmlvcml0eT01MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UicyI6cmV0dXJuIFNhKFRhLnNlY29uZCxlKTtjYXNlInNvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6InNlY29uZCJ9KTtkZWZhdWx0OnJldHVybiBLdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MCYmdDw9NTl9c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRTZWNvbmRzKHIsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ0IiwiVCJdfX0pO3ZhciAkWixLbnQ9ZigoKT0+e0lhKCk7VmEoKTskWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIkZyYWN0aW9uT2ZTZWNvbmRQYXJzZXIiKX1wcmlvcml0eT0zMDtwYXJzZShlLHQpe2xldCByPXMoaT0+TWF0aC50cnVuYyhpKk1hdGgucG93KDEwLC10Lmxlbmd0aCszKSksInZhbHVlQ2FsbGJhY2siKTtyZXR1cm4gV2EoS3QodC5sZW5ndGgsZSkscil9c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRNaWxsaXNlY29uZHMociksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ0IiwiVCJdfX0pO3ZhciBEWixabnQ9ZigoKT0+eyR0KCk7d2woKTtTaSgpO0lhKCk7VmEoKTtEWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIklTT1RpbWV6b25lV2l0aFpQYXJzZXIiKX1wcmlvcml0eT0xMDtwYXJzZShlLHQpe3N3aXRjaCh0KXtjYXNlIlgiOnJldHVybiB5bih4bi5iYXNpY09wdGlvbmFsTWludXRlcyxlKTtjYXNlIlhYIjpyZXR1cm4geW4oeG4uYmFzaWMsZSk7Y2FzZSJYWFhYIjpyZXR1cm4geW4oeG4uYmFzaWNPcHRpb25hbFNlY29uZHMsZSk7Y2FzZSJYWFhYWCI6cmV0dXJuIHluKHhuLmV4dGVuZGVkT3B0aW9uYWxTZWNvbmRzLGUpO2RlZmF1bHQ6cmV0dXJuIHluKHhuLmV4dGVuZGVkLGUpfX1zZXQoZSx0LHIpe3JldHVybiB0LnRpbWVzdGFtcElzU2V0P2U6RmUoZSxlLmdldFRpbWUoKS1FcihlKS1yKX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ0IiwiVCIsIngiXX19KTt2YXIgQVosWG50PWYoKCk9PnskdCgpO3dsKCk7U2koKTtJYSgpO1ZhKCk7QVo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJJU09UaW1lem9uZVBhcnNlciIpfXByaW9yaXR5PTEwO3BhcnNlKGUsdCl7c3dpdGNoKHQpe2Nhc2UieCI6cmV0dXJuIHluKHhuLmJhc2ljT3B0aW9uYWxNaW51dGVzLGUpO2Nhc2UieHgiOnJldHVybiB5bih4bi5iYXNpYyxlKTtjYXNlInh4eHgiOnJldHVybiB5bih4bi5iYXNpY09wdGlvbmFsU2Vjb25kcyxlKTtjYXNlInh4eHh4IjpyZXR1cm4geW4oeG4uZXh0ZW5kZWRPcHRpb25hbFNlY29uZHMsZSk7ZGVmYXVsdDpyZXR1cm4geW4oeG4uZXh0ZW5kZWQsZSl9fXNldChlLHQscil7cmV0dXJuIHQudGltZXN0YW1wSXNTZXQ/ZTpGZShlLGUuZ2V0VGltZSgpLUVyKGUpLXIpfWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIiwiWCJdfX0pO3ZhciBQWixRbnQ9ZigoKT0+eyR0KCk7SWEoKTtWYSgpO1BaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiVGltZXN0YW1wU2Vjb25kc1BhcnNlciIpfXByaW9yaXR5PTQwO3BhcnNlKGUpe3JldHVybiBKSyhlKX1zZXQoZSx0LHIpe3JldHVybltGZShlLHIqMWUzKSx7dGltZXN0YW1wSXNTZXQ6ITB9XX1pbmNvbXBhdGlibGVUb2tlbnM9IioifX0pO3ZhciBFWixKbnQ9ZigoKT0+eyR0KCk7SWEoKTtWYSgpO0VaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiVGltZXN0YW1wTWlsbGlzZWNvbmRzUGFyc2VyIil9cHJpb3JpdHk9MjA7cGFyc2UoZSl7cmV0dXJuIEpLKGUpfXNldChlLHQscil7cmV0dXJuW0ZlKGUscikse3RpbWVzdGFtcElzU2V0OiEwfV19aW5jb21wYXRpYmxlVG9rZW5zPSIqIn19KTt2YXIgSVosZTF0PWYoKCk9PntrbnQoKTtTbnQoKTt6bnQoKTtDbnQoKTtfbnQoKTtUbnQoKTtMbnQoKTskbnQoKTtEbnQoKTtBbnQoKTtQbnQoKTtFbnQoKTtJbnQoKTtObnQoKTtSbnQoKTtPbnQoKTtGbnQoKTtCbnQoKTtIbnQoKTtxbnQoKTtWbnQoKTtqbnQoKTtVbnQoKTtXbnQoKTtHbnQoKTtZbnQoKTtLbnQoKTtabnQoKTtYbnQoKTtRbnQoKTtKbnQoKTtJWj17RzpuZXcgUUsseTpuZXcgYVosWTpuZXcgclosUjpuZXcgc1osdTpuZXcgaVosUTpuZXcgb1oscTpuZXcgblosTTpuZXcgbFosTDpuZXcgY1osdzpuZXcgdVosSTpuZXcgZlosZDpuZXcgaFosRDpuZXcgbVosRTpuZXcgZ1osZTpuZXcgYlosYzpuZXcgdlosaTpuZXcgeVosYTpuZXcgd1osYjpuZXcgTVosQjpuZXcga1osaDpuZXcgU1osSDpuZXcgelosSzpuZXcgQ1osazpuZXcgX1osbTpuZXcgVFosczpuZXcgTFosUzpuZXcgJFosWDpuZXcgRFoseDpuZXcgQVosdDpuZXcgUFosVDpuZXcgRVp9fSk7ZnVuY3Rpb24gTlooYSxlLHQscil7bGV0IGk9cygoKT0+RmUocj8uaW58fHQsTmFOKSwiaW52YWxpZERhdGUiKSxvPVVLKCksbj1yPy5sb2NhbGU/P28ubG9jYWxlPz9DbyxsPXI/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/cj8ubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/P28uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9vLmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8xLGQ9cj8ud2Vla1N0YXJ0c09uPz9yPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/by53ZWVrU3RhcnRzT24/P28ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzA7aWYoIWUpcmV0dXJuIGE/aSgpOmtlKHQscj8uaW4pO2xldCBjPXtmaXJzdFdlZWtDb250YWluc0RhdGU6bCx3ZWVrU3RhcnRzT246ZCxsb2NhbGU6bn0scD1bbmV3IFhLKHI/LmluLHQpXSx1PWUubWF0Y2goa2dhKS5tYXAoZz0+e2xldCB5PWdbMF07aWYoeSBpbiB1MCl7bGV0IGs9dTBbeV07cmV0dXJuIGsoZyxuLmZvcm1hdExvbmcpfXJldHVybiBnfSkuam9pbigiIikubWF0Y2goTWdhKSxtPVtdO2ZvcihsZXQgZyBvZiB1KXshcj8udXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zJiZGSyhnKSYmaDkoZyxlLGEpLCFyPy51c2VBZGRpdGlvbmFsRGF5T2ZZZWFyVG9rZW5zJiZPSyhnKSYmaDkoZyxlLGEpO2xldCB5PWdbMF0saz1JWlt5XTtpZihrKXtsZXR7aW5jb21wYXRpYmxlVG9rZW5zOkN9PWs7aWYoQXJyYXkuaXNBcnJheShDKSl7bGV0IF89bS5maW5kKHo9PkMuaW5jbHVkZXMoei50b2tlbil8fHoudG9rZW49PT15KTtpZihfKXRocm93IG5ldyBSYW5nZUVycm9yKGBUaGUgZm9ybWF0IHN0cmluZyBtdXN0bid0IGNvbnRhaW4gXGAke18uZnVsbFRva2VufVxgIGFuZCBcYCR7Z31cYCBhdCB0aGUgc2FtZSB0aW1lYCl9ZWxzZSBpZihrLmluY29tcGF0aWJsZVRva2Vucz09PSIqIiYmbS5sZW5ndGg+MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVGhlIGZvcm1hdCBzdHJpbmcgbXVzdG4ndCBjb250YWluIFxgJHtnfVxgIGFuZCBhbnkgb3RoZXIgdG9rZW4gYXQgdGhlIHNhbWUgdGltZWApO20ucHVzaCh7dG9rZW46eSxmdWxsVG9rZW46Z30pO2xldCBOPWsucnVuKGEsZyxuLm1hdGNoLGMpO2lmKCFOKXJldHVybiBpKCk7cC5wdXNoKE4uc2V0dGVyKSxhPU4ucmVzdH1lbHNle2lmKHkubWF0Y2goX2dhKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0IHN0cmluZyBjb250YWlucyBhbiB1bmVzY2FwZWQgbGF0aW4gYWxwaGFiZXQgY2hhcmFjdGVyIGAiK3krImAiKTtpZihnPT09IicnIj9nPSInIjp5PT09IiciJiYoZz1UZ2EoZykpLGEuaW5kZXhPZihnKT09PTApYT1hLnNsaWNlKGcubGVuZ3RoKTtlbHNlIHJldHVybiBpKCl9fWlmKGEubGVuZ3RoPjAmJkNnYS50ZXN0KGEpKXJldHVybiBpKCk7bGV0IHY9cC5tYXAoZz0+Zy5wcmlvcml0eSkuc29ydCgoZyx5KT0+eS1nKS5maWx0ZXIoKGcseSxrKT0+ay5pbmRleE9mKGcpPT09eSkubWFwKGc9PnAuZmlsdGVyKHk9PnkucHJpb3JpdHk9PT1nKS5zb3J0KCh5LGspPT5rLnN1YlByaW9yaXR5LXkuc3ViUHJpb3JpdHkpKS5tYXAoZz0+Z1swXSkseD1rZSh0LHI/LmluKTtpZihpc05hTigreCkpcmV0dXJuIGkoKTtsZXQgYj17fTtmb3IobGV0IGcgb2Ygdil7aWYoIWcudmFsaWRhdGUoeCxjKSlyZXR1cm4gaSgpO2xldCB5PWcuc2V0KHgsYixjKTtBcnJheS5pc0FycmF5KHkpPyh4PXlbMF0sT2JqZWN0LmFzc2lnbihiLHlbMV0pKTp4PXl9cmV0dXJuIHh9ZnVuY3Rpb24gVGdhKGEpe3JldHVybiBhLm1hdGNoKFNnYSlbMV0ucmVwbGFjZSh6Z2EsIiciKX12YXIgTWdhLGtnYSxTZ2EsemdhLENnYSxfZ2EsbzdyLFcyZT1mKCgpPT57bTMoKTskMmUoKTtEMmUoKTskdCgpO08yZSgpO0hlKCk7cTJlKCk7ZTF0KCk7TWdhPS9beVlRcU1Md0lkRGVjaWhIS2ttc11vfChcdylcMSp8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2csa2dhPS9QK3ArfFArfHArfCcnfCcoJyd8W14nXSkrKCd8JCl8Li9nLFNnYT0vXicoW15dKj8pJz8kLyx6Z2E9LycnL2csQ2dhPS9cUy8sX2dhPS9bYS16QS1aXS87cyhOWiwicGFyc2UiKTtzKFRnYSwiY2xlYW5Fc2NhcGVkU3RyaW5nIik7bzdyPU5afSk7ZnVuY3Rpb24gdDF0KGEsZSx0KXtyZXR1cm4gSnMoTlooYSxlLG5ldyBEYXRlLHQpKX12YXIgdTdyLGExdD1mKCgpPT57a2woKTtXMmUoKTtzKHQxdCwiaXNNYXRjaCIpO3U3cj10MXR9KTtmdW5jdGlvbiByMXQoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF5KCk9PT0xfXZhciBtN3IsczF0PWYoKCk9PntIZSgpO3MocjF0LCJpc01vbmRheSIpO203cj1yMXR9KTtmdW5jdGlvbiBpMXQoYSl7cmV0dXJuK2tlKGEpPERhdGUubm93KCl9dmFyIHg3cixvMXQ9ZigoKT0+e0hlKCk7cyhpMXQsImlzUGFzdCIpO3g3cj1pMXR9KTtmdW5jdGlvbiB2OShhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldE1pbnV0ZXMoMCwwLDApLHR9dmFyIGs3cixHMmU9ZigoKT0+e0hlKCk7cyh2OSwic3RhcnRPZkhvdXIiKTtrN3I9djl9KTtmdW5jdGlvbiBSWihhLGUsdCl7bGV0W3IsaV09VHQodD8uaW4sYSxlKTtyZXR1cm4rdjkocik9PSt2OShpKX12YXIgVDdyLFkyZT1mKCgpPT57VWEoKTtHMmUoKTtzKFJaLCJpc1NhbWVIb3VyIik7VDdyPVJafSk7ZnVuY3Rpb24gTGgoYSxlLHQpe2xldFtyLGldPVR0KHQ/LmluLGEsZSk7cmV0dXJuK2VyKHIsdCk9PStlcihpLHQpfXZhciBQN3IsT1o9ZigoKT0+e1VhKCk7aTEoKTtzKExoLCJpc1NhbWVXZWVrIik7UDdyPUxofSk7ZnVuY3Rpb24gRlooYSxlLHQpe3JldHVybiBMaChhLGUsey4uLnQsd2Vla1N0YXJ0c09uOjF9KX12YXIgUjdyLEsyZT1mKCgpPT57T1ooKTtzKEZaLCJpc1NhbWVJU09XZWVrIik7UjdyPUZafSk7ZnVuY3Rpb24gbjF0KGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO3JldHVybitqbyhyKT09K2pvKGkpfXZhciBxN3IsbDF0PWYoKCk9Pnt1aCgpO1VhKCk7cyhuMXQsImlzU2FtZUlTT1dlZWtZZWFyIik7cTdyPW4xdH0pO2Z1bmN0aW9uIHg5KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuIHQuc2V0U2Vjb25kcygwLDApLHR9dmFyIFc3cixaMmU9ZigoKT0+e0hlKCk7cyh4OSwic3RhcnRPZk1pbnV0ZSIpO1c3cj14OX0pO2Z1bmN0aW9uIEJaKGEsZSl7cmV0dXJuK3g5KGEpPT0reDkoZSl9dmFyIFo3cixYMmU9ZigoKT0+e1oyZSgpO3MoQlosImlzU2FtZU1pbnV0ZSIpO1o3cj1CWn0pO2Z1bmN0aW9uIEhaKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO3JldHVybiByLmdldEZ1bGxZZWFyKCk9PT1pLmdldEZ1bGxZZWFyKCkmJnIuZ2V0TW9udGgoKT09PWkuZ2V0TW9udGgoKX12YXIgZTlyLFEyZT1mKCgpPT57VWEoKTtzKEhaLCJpc1NhbWVNb250aCIpO2U5cj1IWn0pO2Z1bmN0aW9uIHFaKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO3JldHVybitrMihyKT09K2syKGkpfXZhciBpOXIsSjJlPWYoKCk9PntVYSgpO1RLKCk7cyhxWiwiaXNTYW1lUXVhcnRlciIpO2k5cj1xWn0pO2Z1bmN0aW9uIHk5KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuIHQuc2V0TWlsbGlzZWNvbmRzKDApLHR9dmFyIGM5cixlbGU9ZigoKT0+e0hlKCk7cyh5OSwic3RhcnRPZlNlY29uZCIpO2M5cj15OX0pO2Z1bmN0aW9uIFZaKGEsZSl7cmV0dXJuK3k5KGEpPT0reTkoZSl9dmFyIGY5cix0bGU9ZigoKT0+e2VsZSgpO3MoVlosImlzU2FtZVNlY29uZCIpO2Y5cj1WWn0pO2Z1bmN0aW9uIGpaKGEsZSx0KXtsZXRbcixpXT1UdCh0Py5pbixhLGUpO3JldHVybiByLmdldEZ1bGxZZWFyKCk9PT1pLmdldEZ1bGxZZWFyKCl9dmFyIGI5cixhbGU9ZigoKT0+e1VhKCk7cyhqWiwiaXNTYW1lWWVhciIpO2I5cj1qWn0pO2Z1bmN0aW9uIGMxdChhLGUpe3JldHVybiBSWihrZShhLGU/LmluKSxjYShlPy5pbnx8YSkpfXZhciBrOXIsZDF0PWYoKCk9PntUcygpO1kyZSgpO0hlKCk7cyhjMXQsImlzVGhpc0hvdXIiKTtrOXI9YzF0fSk7ZnVuY3Rpb24gdTF0KGEsZSl7cmV0dXJuIEZaKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSl9dmFyIEw5cixwMXQ9ZigoKT0+eyR0KCk7VHMoKTtLMmUoKTtzKHUxdCwiaXNUaGlzSVNPV2VlayIpO0w5cj11MXR9KTtmdW5jdGlvbiBmMXQoYSl7cmV0dXJuIEJaKGEsY2EoYSkpfXZhciBFOXIsaDF0PWYoKCk9PntUcygpO1gyZSgpO3MoZjF0LCJpc1RoaXNNaW51dGUiKTtFOXI9ZjF0fSk7ZnVuY3Rpb24gbTF0KGEsZSl7cmV0dXJuIEhaKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSl9dmFyIEI5cixnMXQ9ZigoKT0+eyR0KCk7VHMoKTtRMmUoKTtzKG0xdCwiaXNUaGlzTW9udGgiKTtCOXI9bTF0fSk7ZnVuY3Rpb24gYjF0KGEsZSl7cmV0dXJuIHFaKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSl9dmFyIFc5cix2MXQ9ZigoKT0+eyR0KCk7VHMoKTtKMmUoKTtzKGIxdCwiaXNUaGlzUXVhcnRlciIpO1c5cj1iMXR9KTtmdW5jdGlvbiB4MXQoYSl7cmV0dXJuIFZaKGEsY2EoYSkpfXZhciBYOXIseTF0PWYoKCk9PntUcygpO3RsZSgpO3MoeDF0LCJpc1RoaXNTZWNvbmQiKTtYOXI9eDF0fSk7ZnVuY3Rpb24gdzF0KGEsZSl7cmV0dXJuIExoKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSxlKX12YXIgcmdyLE0xdD1mKCgpPT57JHQoKTtUcygpO09aKCk7cyh3MXQsImlzVGhpc1dlZWsiKTtyZ3I9dzF0fSk7ZnVuY3Rpb24gazF0KGEsZSl7cmV0dXJuIGpaKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSl9dmFyIGNncixTMXQ9ZigoKT0+eyR0KCk7VHMoKTthbGUoKTtzKGsxdCwiaXNUaGlzWWVhciIpO2Nncj1rMXR9KTtmdW5jdGlvbiB6MXQoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF5KCk9PT00fXZhciBmZ3IsQzF0PWYoKCk9PntIZSgpO3MoejF0LCJpc1RodXJzZGF5Iik7ZmdyPXoxdH0pO2Z1bmN0aW9uIF8xdChhLGUpe3JldHVybiB5MihGZShlPy5pbnx8YSxhKSxjYShlPy5pbnx8YSkpfXZhciB4Z3IsVDF0PWYoKCk9PnskdCgpO1RzKCk7aGgoKTtzKF8xdCwiaXNUb2RheSIpO3hncj1fMXR9KTtmdW5jdGlvbiBMMXQoYSxlKXtyZXR1cm4geTIoYSxfcyhjYShlPy5pbnx8YSksMSksZSl9dmFyIHpnciwkMXQ9ZigoKT0+e20yKCk7VHMoKTtoaCgpO3MoTDF0LCJpc1RvbW9ycm93Iik7emdyPUwxdH0pO2Z1bmN0aW9uIEQxdChhLGUpe3JldHVybiBrZShhLGU/LmluKS5nZXREYXkoKT09PTJ9dmFyIExncixBMXQ9ZigoKT0+e0hlKCk7cyhEMXQsImlzVHVlc2RheSIpO0xncj1EMXR9KTtmdW5jdGlvbiBQMXQoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF5KCk9PT0zfXZhciBQZ3IsRTF0PWYoKCk9PntIZSgpO3MoUDF0LCJpc1dlZG5lc2RheSIpO1Bncj1QMXR9KTtmdW5jdGlvbiBJMXQoYSxlLHQpe2xldCByPStrZShhLHQ/LmluKSxbaSxvXT1bK2tlKGUuc3RhcnQsdD8uaW4pLCtrZShlLmVuZCx0Py5pbildLnNvcnQoKG4sbCk9Pm4tbCk7cmV0dXJuIHI+PWkmJnI8PW99dmFyIFJncixOMXQ9ZigoKT0+e0hlKCk7cyhJMXQsImlzV2l0aGluSW50ZXJ2YWwiKTtSZ3I9STF0fSk7ZnVuY3Rpb24gaDAoYSxlLHQpe3JldHVybiBfcyhhLC1lLHQpfXZhciBIZ3Isdzk9ZigoKT0+e20yKCk7cyhoMCwic3ViRGF5cyIpO0hncj1oMH0pO2Z1bmN0aW9uIFIxdChhLGUpe3JldHVybiB5MihGZShlPy5pbnx8YSxhKSxoMChjYShlPy5pbnx8YSksMSkpfXZhciBZZ3IsTzF0PWYoKCk9PnskdCgpO1RzKCk7aGgoKTt3OSgpO3MoUjF0LCJpc1llc3RlcmRheSIpO1lncj1SMXR9KTtmdW5jdGlvbiBGMXQoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0RnVsbFllYXIoKSxpPTkrTWF0aC5mbG9vcihyLzEwKSoxMDtyZXR1cm4gdC5zZXRGdWxsWWVhcihpKzEsMCwwKSx0LnNldEhvdXJzKDAsMCwwLDApLGtlKHQsZT8uaW4pfXZhciBRZ3IsQjF0PWYoKCk9PntIZSgpO3MoRjF0LCJsYXN0RGF5T2ZEZWNhZGUiKTtRZ3I9RjF0fSk7ZnVuY3Rpb24gVVooYSxlKXtsZXQgdD1xYSgpLHI9ZT8ud2Vla1N0YXJ0c09uPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/dC53ZWVrU3RhcnRzT24/P3QubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsaT1rZShhLGU/LmluKSxvPWkuZ2V0RGF5KCksbj0obzxyPy03OjApKzYtKG8tcik7cmV0dXJuIGkuc2V0SG91cnMoMCwwLDAsMCksaS5zZXREYXRlKGkuZ2V0RGF0ZSgpK24pLGl9dmFyIHJicixybGU9ZigoKT0+e3dpKCk7SGUoKTtzKFVaLCJsYXN0RGF5T2ZXZWVrIik7cmJyPVVafSk7ZnVuY3Rpb24gSDF0KGEsZSl7cmV0dXJuIFVaKGEsey4uLmUsd2Vla1N0YXJ0c09uOjF9KX12YXIgbmJyLHExdD1mKCgpPT57cmxlKCk7cyhIMXQsImxhc3REYXlPZklTT1dlZWsiKTtuYnI9SDF0fSk7ZnVuY3Rpb24gVjF0KGEsZSl7bGV0IHQ9amkoYSxlKSxyPUZlKGU/LmlufHxhLDApO3Iuc2V0RnVsbFllYXIodCsxLDAsNCksci5zZXRIb3VycygwLDAsMCwwKTtsZXQgaT1jcyhyLGUpO3JldHVybiBpLnNldERhdGUoaS5nZXREYXRlKCktMSksaX12YXIgZmJyLGoxdD1mKCgpPT57JHQoKTtpMCgpO3YyKCk7cyhWMXQsImxhc3REYXlPZklTT1dlZWtZZWFyIik7ZmJyPVYxdH0pO2Z1bmN0aW9uIFUxdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pLHI9dC5nZXRNb250aCgpLGk9ci1yJTMrMztyZXR1cm4gdC5zZXRNb250aChpLDApLHQuc2V0SG91cnMoMCwwLDAsMCksdH12YXIgYmJyLFcxdD1mKCgpPT57SGUoKTtzKFUxdCwibGFzdERheU9mUXVhcnRlciIpO2Jicj1VMXR9KTtmdW5jdGlvbiBHMXQoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0RnVsbFllYXIoKTtyZXR1cm4gdC5zZXRGdWxsWWVhcihyKzEsMCwwKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9dmFyIHdicixZMXQ9ZigoKT0+e0hlKCk7cyhHMXQsImxhc3REYXlPZlllYXIiKTt3YnI9RzF0fSk7ZnVuY3Rpb24gSzF0KGEsZSl7bGV0IHQ9a2UoYSk7aWYoIUpzKHQpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgcj1lLm1hdGNoKExnYSk7cmV0dXJuIHI/ci5tYXAobz0+e2lmKG89PT0iJyciKXJldHVybiInIjtsZXQgbj1vWzBdO2lmKG49PT0iJyIpcmV0dXJuIFBnYShvKTtsZXQgbD1Vb1tuXTtpZihsKXJldHVybiBsKHQsbyk7aWYobi5tYXRjaChBZ2EpKXRocm93IG5ldyBSYW5nZUVycm9yKCJGb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXIgYCIrbisiYCIpO3JldHVybiBvfSkuam9pbigiIik6IiJ9ZnVuY3Rpb24gUGdhKGEpe2xldCBlPWEubWF0Y2goJGdhKTtyZXR1cm4gZT9lWzFdLnJlcGxhY2UoRGdhLCInIik6YX12YXIgTGdhLCRnYSxEZ2EsQWdhLF9icixaMXQ9ZigoKT0+e0wyZSgpO2tsKCk7SGUoKTtMZ2E9LyhcdylcMSp8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2csJGdhPS9eJyhbXl0qPyknPyQvLERnYT0vJycvZyxBZ2E9L1thLXpBLVpdLztzKEsxdCwibGlnaHRGb3JtYXQiKTtzKFBnYSwiY2xlYW5Fc2NhcGVkU3RyaW5nIik7X2JyPUsxdH0pO2Z1bmN0aW9uIFgxdCh7eWVhcnM6YSxtb250aHM6ZSx3ZWVrczp0LGRheXM6cixob3VyczppLG1pbnV0ZXM6byxzZWNvbmRzOm59KXtsZXQgbD0wO2EmJihsKz1hKjM2NS4yNDI1KSxlJiYobCs9ZSooMzY1LjI0MjUvMTIpKSx0JiYobCs9dCo3KSxyJiYobCs9cik7bGV0IGQ9bCoyNCo2MCo2MDtyZXR1cm4gaSYmKGQrPWkqNjAqNjApLG8mJihkKz1vKjYwKSxuJiYoZCs9biksTWF0aC50cnVuYyhkKjFlMyl9dmFyIERicixRMXQ9ZigoKT0+e0p0KCk7cyhYMXQsIm1pbGxpc2Vjb25kcyIpO0Ricj1YMXR9KTtmdW5jdGlvbiBKMXQoYSl7bGV0IGU9YS9WbztyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgSWJyLGUydD1mKCgpPT57SnQoKTtzKEoxdCwibWlsbGlzZWNvbmRzVG9Ib3VycyIpO0licj1KMXR9KTtmdW5jdGlvbiB0MnQoYSl7bGV0IGU9YS95aTtyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgRmJyLGEydD1mKCgpPT57SnQoKTtzKHQydCwibWlsbGlzZWNvbmRzVG9NaW51dGVzIik7RmJyPXQydH0pO2Z1bmN0aW9uIHIydChhKXtsZXQgZT1hL25oO3JldHVybiBNYXRoLnRydW5jKGUpfXZhciBWYnIsczJ0PWYoKCk9PntKdCgpO3MocjJ0LCJtaWxsaXNlY29uZHNUb1NlY29uZHMiKTtWYnI9cjJ0fSk7ZnVuY3Rpb24gaTJ0KGEpe2xldCBlPWEvWlk7cmV0dXJuIE1hdGgudHJ1bmMoZSl9dmFyIEdicixvMnQ9ZigoKT0+e0p0KCk7cyhpMnQsIm1pbnV0ZXNUb0hvdXJzIik7R2JyPWkydH0pO2Z1bmN0aW9uIG4ydChhKXtyZXR1cm4gTWF0aC50cnVuYyhhKnlpKX12YXIgWGJyLGwydD1mKCgpPT57SnQoKTtzKG4ydCwibWludXRlc1RvTWlsbGlzZWNvbmRzIik7WGJyPW4ydH0pO2Z1bmN0aW9uIGMydChhKXtyZXR1cm4gTWF0aC50cnVuYyhhKmNoKX12YXIgdHZyLGQydD1mKCgpPT57SnQoKTtzKGMydCwibWludXRlc1RvU2Vjb25kcyIpO3R2cj1jMnR9KTtmdW5jdGlvbiB1MnQoYSl7bGV0IGU9YS9YWTtyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgaXZyLHAydD1mKCgpPT57SnQoKTtzKHUydCwibW9udGhzVG9RdWFydGVycyIpO2l2cj11MnR9KTtmdW5jdGlvbiBmMnQoYSl7bGV0IGU9YS9RWTtyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgY3ZyLGgydD1mKCgpPT57SnQoKTtzKGYydCwibW9udGhzVG9ZZWFycyIpO2N2cj1mMnR9KTtmdW5jdGlvbiB6aShhLGUsdCl7bGV0IHI9ZS1wMChhLHQpO3JldHVybiByPD0wJiYocis9NyksX3MoYSxyLHQpfXZhciBodnIsemw9ZigoKT0+e20yKCk7ZzkoKTtzKHppLCJuZXh0RGF5Iik7aHZyPXppfSk7ZnVuY3Rpb24gbTJ0KGEsZSl7cmV0dXJuIHppKGEsNSxlKX12YXIgdnZyLGcydD1mKCgpPT57emwoKTtzKG0ydCwibmV4dEZyaWRheSIpO3Z2cj1tMnR9KTtmdW5jdGlvbiBiMnQoYSxlKXtyZXR1cm4gemkoYSwxLGUpfXZhciBNdnIsdjJ0PWYoKCk9Pnt6bCgpO3MoYjJ0LCJuZXh0TW9uZGF5Iik7TXZyPWIydH0pO2Z1bmN0aW9uIHgydChhLGUpe3JldHVybiB6aShhLDYsZSl9dmFyIEN2cix5MnQ9ZigoKT0+e3psKCk7cyh4MnQsIm5leHRTYXR1cmRheSIpO0N2cj14MnR9KTtmdW5jdGlvbiB3MnQoYSxlKXtyZXR1cm4gemkoYSwwLGUpfXZhciAkdnIsTTJ0PWYoKCk9Pnt6bCgpO3ModzJ0LCJuZXh0U3VuZGF5Iik7JHZyPXcydH0pO2Z1bmN0aW9uIGsydChhLGUpe3JldHVybiB6aShhLDQsZSl9dmFyIEV2cixTMnQ9ZigoKT0+e3psKCk7cyhrMnQsIm5leHRUaHVyc2RheSIpO0V2cj1rMnR9KTtmdW5jdGlvbiB6MnQoYSxlKXtyZXR1cm4gemkoYSwyLGUpfXZhciBPdnIsQzJ0PWYoKCk9Pnt6bCgpO3MoejJ0LCJuZXh0VHVlc2RheSIpO092cj16MnR9KTtmdW5jdGlvbiBfMnQoYSxlKXtyZXR1cm4gemkoYSwzLGUpfXZhciBxdnIsVDJ0PWYoKCk9Pnt6bCgpO3MoXzJ0LCJuZXh0V2VkbmVzZGF5Iik7cXZyPV8ydH0pO2Z1bmN0aW9uICQydChhLGUpe2xldCB0PXMoKCk9PkZlKGU/LmluLE5hTiksImludmFsaWREYXRlIikscj1lPy5hZGRpdGlvbmFsRGlnaXRzPz8yLGk9UmdhKGEpLG87aWYoaS5kYXRlKXtsZXQgYz1PZ2EoaS5kYXRlLHIpO289RmdhKGMucmVzdERhdGVTdHJpbmcsYy55ZWFyKX1pZighb3x8aXNOYU4oK28pKXJldHVybiB0KCk7bGV0IG49K28sbD0wLGQ7aWYoaS50aW1lJiYobD1CZ2EoaS50aW1lKSxpc05hTihsKSkpcmV0dXJuIHQoKTtpZihpLnRpbWV6b25lKXtpZihkPUhnYShpLnRpbWV6b25lKSxpc05hTihkKSlyZXR1cm4gdCgpfWVsc2V7bGV0IGM9bmV3IERhdGUobitsKSxwPWtlKDAsZT8uaW4pO3JldHVybiBwLnNldEZ1bGxZZWFyKGMuZ2V0VVRDRnVsbFllYXIoKSxjLmdldFVUQ01vbnRoKCksYy5nZXRVVENEYXRlKCkpLHAuc2V0SG91cnMoYy5nZXRVVENIb3VycygpLGMuZ2V0VVRDTWludXRlcygpLGMuZ2V0VVRDU2Vjb25kcygpLGMuZ2V0VVRDTWlsbGlzZWNvbmRzKCkpLHB9cmV0dXJuIGtlKG4rbCtkLGU/LmluKX1mdW5jdGlvbiBSZ2EoYSl7bGV0IGU9e30sdD1hLnNwbGl0KFdaLmRhdGVUaW1lRGVsaW1pdGVyKSxyO2lmKHQubGVuZ3RoPjIpcmV0dXJuIGU7aWYoLzovLnRlc3QodFswXSk/cj10WzBdOihlLmRhdGU9dFswXSxyPXRbMV0sV1oudGltZVpvbmVEZWxpbWl0ZXIudGVzdChlLmRhdGUpJiYoZS5kYXRlPWEuc3BsaXQoV1oudGltZVpvbmVEZWxpbWl0ZXIpWzBdLHI9YS5zdWJzdHIoZS5kYXRlLmxlbmd0aCxhLmxlbmd0aCkpKSxyKXtsZXQgaT1XWi50aW1lem9uZS5leGVjKHIpO2k/KGUudGltZT1yLnJlcGxhY2UoaVsxXSwiIiksZS50aW1lem9uZT1pWzFdKTplLnRpbWU9cn1yZXR1cm4gZX1mdW5jdGlvbiBPZ2EoYSxlKXtsZXQgdD1uZXcgUmVnRXhwKCJeKD86KFxcZHs0fXxbKy1dXFxkeyIrKDQrZSkrIn0pfChcXGR7Mn18WystXVxcZHsiKygyK2UpKyJ9KSQpIikscj1hLm1hdGNoKHQpO2lmKCFyKXJldHVybnt5ZWFyOk5hTixyZXN0RGF0ZVN0cmluZzoiIn07bGV0IGk9clsxXT9wYXJzZUludChyWzFdKTpudWxsLG89clsyXT9wYXJzZUludChyWzJdKTpudWxsO3JldHVybnt5ZWFyOm89PT1udWxsP2k6byoxMDAscmVzdERhdGVTdHJpbmc6YS5zbGljZSgoclsxXXx8clsyXSkubGVuZ3RoKX19ZnVuY3Rpb24gRmdhKGEsZSl7aWYoZT09PW51bGwpcmV0dXJuIG5ldyBEYXRlKE5hTik7bGV0IHQ9YS5tYXRjaChFZ2EpO2lmKCF0KXJldHVybiBuZXcgRGF0ZShOYU4pO2xldCByPSEhdFs0XSxpPU05KHRbMV0pLG89TTkodFsyXSktMSxuPU05KHRbM10pLGw9TTkodFs0XSksZD1NOSh0WzVdKS0xO2lmKHIpcmV0dXJuIFdnYShlLGwsZCk/cWdhKGUsbCxkKTpuZXcgRGF0ZShOYU4pO3tsZXQgYz1uZXcgRGF0ZSgwKTtyZXR1cm4hamdhKGUsbyxuKXx8IVVnYShlLGkpP25ldyBEYXRlKE5hTik6KGMuc2V0VVRDRnVsbFllYXIoZSxvLE1hdGgubWF4KGksbikpLGMpfX1mdW5jdGlvbiBNOShhKXtyZXR1cm4gYT9wYXJzZUludChhKToxfWZ1bmN0aW9uIEJnYShhKXtsZXQgZT1hLm1hdGNoKElnYSk7aWYoIWUpcmV0dXJuIE5hTjtsZXQgdD1zbGUoZVsxXSkscj1zbGUoZVsyXSksaT1zbGUoZVszXSk7cmV0dXJuIEdnYSh0LHIsaSk/dCpWbytyKnlpK2kqMWUzOk5hTn1mdW5jdGlvbiBzbGUoYSl7cmV0dXJuIGEmJnBhcnNlRmxvYXQoYS5yZXBsYWNlKCIsIiwiLiIpKXx8MH1mdW5jdGlvbiBIZ2EoYSl7aWYoYT09PSJaIilyZXR1cm4gMDtsZXQgZT1hLm1hdGNoKE5nYSk7aWYoIWUpcmV0dXJuIDA7bGV0IHQ9ZVsxXT09PSIrIj8tMToxLHI9cGFyc2VJbnQoZVsyXSksaT1lWzNdJiZwYXJzZUludChlWzNdKXx8MDtyZXR1cm4gWWdhKHIsaSk/dCoocipWbytpKnlpKTpOYU59ZnVuY3Rpb24gcWdhKGEsZSx0KXtsZXQgcj1uZXcgRGF0ZSgwKTtyLnNldFVUQ0Z1bGxZZWFyKGEsMCw0KTtsZXQgaT1yLmdldFVUQ0RheSgpfHw3LG89KGUtMSkqNyt0KzEtaTtyZXR1cm4gci5zZXRVVENEYXRlKHIuZ2V0VVRDRGF0ZSgpK28pLHJ9ZnVuY3Rpb24gTDJ0KGEpe3JldHVybiBhJTQwMD09PTB8fGElND09PTAmJmElMTAwIT09MH1mdW5jdGlvbiBqZ2EoYSxlLHQpe3JldHVybiBlPj0wJiZlPD0xMSYmdD49MSYmdDw9KFZnYVtlXXx8KEwydChhKT8yOToyOCkpfWZ1bmN0aW9uIFVnYShhLGUpe3JldHVybiBlPj0xJiZlPD0oTDJ0KGEpPzM2NjozNjUpfWZ1bmN0aW9uIFdnYShhLGUsdCl7cmV0dXJuIGU+PTEmJmU8PTUzJiZ0Pj0wJiZ0PD02fWZ1bmN0aW9uIEdnYShhLGUsdCl7cmV0dXJuIGE9PT0yND9lPT09MCYmdD09PTA6dD49MCYmdDw2MCYmZT49MCYmZTw2MCYmYT49MCYmYTwyNX1mdW5jdGlvbiBZZ2EoYSxlKXtyZXR1cm4gZT49MCYmZTw9NTl9dmFyIFdaLEVnYSxJZ2EsTmdhLFZnYSxZdnIsRDJ0PWYoKCk9PntKdCgpOyR0KCk7SGUoKTtzKCQydCwicGFyc2VJU08iKTtXWj17ZGF0ZVRpbWVEZWxpbWl0ZXI6L1tUIF0vLHRpbWVab25lRGVsaW1pdGVyOi9bWiBdL2ksdGltZXpvbmU6LyhbWistXS4qKSQvfSxFZ2E9L14tPyg/OihcZHszfSl8KFxkezJ9KSg/Oi0/KFxkezJ9KSk/fFcoXGR7Mn0pKD86LT8oXGR7MX0pKT98KSQvLElnYT0vXihcZHsyfSg/OlsuLF1cZCopPykoPzo6PyhcZHsyfSg/OlsuLF1cZCopPykpPyg/Ojo/KFxkezJ9KD86Wy4sXVxkKik/KSk/JC8sTmdhPS9eKFsrLV0pKFxkezJ9KSg/Ojo/KFxkezJ9KSk/JC87cyhSZ2EsInNwbGl0RGF0ZVN0cmluZyIpO3MoT2dhLCJwYXJzZVllYXIiKTtzKEZnYSwicGFyc2VEYXRlIik7cyhNOSwicGFyc2VEYXRlVW5pdCIpO3MoQmdhLCJwYXJzZVRpbWUiKTtzKHNsZSwicGFyc2VUaW1lVW5pdCIpO3MoSGdhLCJwYXJzZVRpbWV6b25lIik7cyhxZ2EsImRheU9mSVNPV2Vla1llYXIiKTtWZ2E9WzMxLG51bGwsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdO3MoTDJ0LCJpc0xlYXBZZWFySW5kZXgiKTtzKGpnYSwidmFsaWRhdGVEYXRlIik7cyhVZ2EsInZhbGlkYXRlRGF5T2ZZZWFyRGF0ZSIpO3MoV2dhLCJ2YWxpZGF0ZVdlZWtEYXRlIik7cyhHZ2EsInZhbGlkYXRlVGltZSIpO3MoWWdhLCJ2YWxpZGF0ZVRpbWV6b25lIik7WXZyPSQydH0pO2Z1bmN0aW9uIEEydChhLGUpe2xldCB0PWEubWF0Y2goLyhcZHs0fSktKFxkezJ9KS0oXGR7Mn0pW1QgXShcZHsyfSk6KFxkezJ9KTooXGR7Mn0pKD86XC4oXGR7MCw3fSkpPyg/Olp8KC4pKFxkezJ9KTo/KFxkezJ9KT8pPy8pO3JldHVybiB0P2tlKERhdGUuVVRDKCt0WzFdLCt0WzJdLTEsK3RbM10sK3RbNF0tKCt0WzldfHwwKSoodFs4XT09Ii0iPy0xOjEpLCt0WzVdLSgrdFsxMF18fDApKih0WzhdPT0iLSI/LTE6MSksK3RbNl0sKygodFs3XXx8IjAiKSsiMDAiKS5zdWJzdHJpbmcoMCwzKSksZT8uaW4pOmtlKE5hTixlPy5pbil9dmFyIFF2cixQMnQ9ZigoKT0+e0hlKCk7cyhBMnQsInBhcnNlSlNPTiIpO1F2cj1BMnR9KTtmdW5jdGlvbiBDaShhLGUsdCl7bGV0IHI9cDAoYSx0KS1lO3JldHVybiByPD0wJiYocis9NyksaDAoYSxyLHQpfXZhciByeHIsQ2w9ZigoKT0+e2c5KCk7dzkoKTtzKENpLCJwcmV2aW91c0RheSIpO3J4cj1DaX0pO2Z1bmN0aW9uIEUydChhLGUpe3JldHVybiBDaShhLDUsZSl9dmFyIG54cixJMnQ9ZigoKT0+e0NsKCk7cyhFMnQsInByZXZpb3VzRnJpZGF5Iik7bnhyPUUydH0pO2Z1bmN0aW9uIE4ydChhLGUpe3JldHVybiBDaShhLDEsZSl9dmFyIHV4cixSMnQ9ZigoKT0+e0NsKCk7cyhOMnQsInByZXZpb3VzTW9uZGF5Iik7dXhyPU4ydH0pO2Z1bmN0aW9uIE8ydChhLGUpe3JldHVybiBDaShhLDYsZSl9dmFyIG14cixGMnQ9ZigoKT0+e0NsKCk7cyhPMnQsInByZXZpb3VzU2F0dXJkYXkiKTtteHI9TzJ0fSk7ZnVuY3Rpb24gQjJ0KGEsZSl7cmV0dXJuIENpKGEsMCxlKX12YXIgeHhyLEgydD1mKCgpPT57Q2woKTtzKEIydCwicHJldmlvdXNTdW5kYXkiKTt4eHI9QjJ0fSk7ZnVuY3Rpb24gcTJ0KGEsZSl7cmV0dXJuIENpKGEsNCxlKX12YXIga3hyLFYydD1mKCgpPT57Q2woKTtzKHEydCwicHJldmlvdXNUaHVyc2RheSIpO2t4cj1xMnR9KTtmdW5jdGlvbiBqMnQoYSxlKXtyZXR1cm4gQ2koYSwyLGUpfXZhciBfeHIsVTJ0PWYoKCk9PntDbCgpO3MoajJ0LCJwcmV2aW91c1R1ZXNkYXkiKTtfeHI9ajJ0fSk7ZnVuY3Rpb24gVzJ0KGEsZSl7cmV0dXJuIENpKGEsMyxlKX12YXIgRHhyLEcydD1mKCgpPT57Q2woKTtzKFcydCwicHJldmlvdXNXZWRuZXNkYXkiKTtEeHI9VzJ0fSk7ZnVuY3Rpb24gWTJ0KGEpe3JldHVybiBNYXRoLnRydW5jKGEqWFkpfXZhciBJeHIsSzJ0PWYoKCk9PntKdCgpO3MoWTJ0LCJxdWFydGVyc1RvTW9udGhzIik7SXhyPVkydH0pO2Z1bmN0aW9uIFoydChhKXtsZXQgZT1hL0pZO3JldHVybiBNYXRoLnRydW5jKGUpfXZhciBGeHIsWDJ0PWYoKCk9PntKdCgpO3MoWjJ0LCJxdWFydGVyc1RvWWVhcnMiKTtGeHI9WjJ0fSk7ZnVuY3Rpb24gUTJ0KGEsZSl7bGV0IHQ9ZT8ubmVhcmVzdFRvPz8xO2lmKHQ8MXx8dD4xMilyZXR1cm4gRmUoZT8uaW58fGEsTmFOKTtsZXQgcj1rZShhLGU/LmluKSxpPXIuZ2V0TWludXRlcygpLzYwLG89ci5nZXRTZWNvbmRzKCkvNjAvNjAsbj1yLmdldE1pbGxpc2Vjb25kcygpLzFlMy82MC82MCxsPXIuZ2V0SG91cnMoKStpK28rbixkPWU/LnJvdW5kaW5nTWV0aG9kPz8icm91bmQiLHA9a2koZCkobC90KSp0O3JldHVybiByLnNldEhvdXJzKHAsMCwwLDApLHJ9dmFyIFV4cixKMnQ9ZigoKT0+e1NsKCk7JHQoKTtIZSgpO3MoUTJ0LCJyb3VuZFRvTmVhcmVzdEhvdXJzIik7VXhyPVEydH0pO2Z1bmN0aW9uIGVsdChhLGUpe2xldCB0PWU/Lm5lYXJlc3RUbz8/MTtpZih0PDF8fHQ+MzApcmV0dXJuIEZlKGEsTmFOKTtsZXQgcj1rZShhLGU/LmluKSxpPXIuZ2V0U2Vjb25kcygpLzYwLG89ci5nZXRNaWxsaXNlY29uZHMoKS8xZTMvNjAsbj1yLmdldE1pbnV0ZXMoKStpK28sbD1lPy5yb3VuZGluZ01ldGhvZD8/InJvdW5kIixjPWtpKGwpKG4vdCkqdDtyZXR1cm4gci5zZXRNaW51dGVzKGMsMCwwKSxyfXZhciBYeHIsdGx0PWYoKCk9PntTbCgpOyR0KCk7SGUoKTtzKGVsdCwicm91bmRUb05lYXJlc3RNaW51dGVzIik7WHhyPWVsdH0pO2Z1bmN0aW9uIGFsdChhKXtsZXQgZT1hL2MzO3JldHVybiBNYXRoLnRydW5jKGUpfXZhciB0eXIscmx0PWYoKCk9PntKdCgpO3MoYWx0LCJzZWNvbmRzVG9Ib3VycyIpO3R5cj1hbHR9KTtmdW5jdGlvbiBzbHQoYSl7cmV0dXJuIGEqbmh9dmFyIGl5cixpbHQ9ZigoKT0+e0p0KCk7cyhzbHQsInNlY29uZHNUb01pbGxpc2Vjb25kcyIpO2l5cj1zbHR9KTtmdW5jdGlvbiBvbHQoYSl7bGV0IGU9YS9jaDtyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgY3lyLG5sdD1mKCgpPT57SnQoKTtzKG9sdCwic2Vjb25kc1RvTWludXRlcyIpO2N5cj1vbHR9KTtmdW5jdGlvbiAkaChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbiksaT1yLmdldEZ1bGxZZWFyKCksbz1yLmdldERhdGUoKSxuPUZlKHQ/LmlufHxhLDApO24uc2V0RnVsbFllYXIoaSxlLDE1KSxuLnNldEhvdXJzKDAsMCwwLDApO2xldCBsPVZLKG4pO3JldHVybiByLnNldE1vbnRoKGUsTWF0aC5taW4obyxsKSkscn12YXIgbXlyLEdaPWYoKCk9PnskdCgpO04yZSgpO0hlKCk7cygkaCwic2V0TW9udGgiKTtteXI9JGh9KTtmdW5jdGlvbiBsbHQoYSxlLHQpe2xldCByPWtlKGEsdD8uaW4pO3JldHVybiBpc05hTigrcik/RmUodD8uaW58fGEsTmFOKTooZS55ZWFyIT1udWxsJiZyLnNldEZ1bGxZZWFyKGUueWVhciksZS5tb250aCE9bnVsbCYmKHI9JGgocixlLm1vbnRoKSksZS5kYXRlIT1udWxsJiZyLnNldERhdGUoZS5kYXRlKSxlLmhvdXJzIT1udWxsJiZyLnNldEhvdXJzKGUuaG91cnMpLGUubWludXRlcyE9bnVsbCYmci5zZXRNaW51dGVzKGUubWludXRlcyksZS5zZWNvbmRzIT1udWxsJiZyLnNldFNlY29uZHMoZS5zZWNvbmRzKSxlLm1pbGxpc2Vjb25kcyE9bnVsbCYmci5zZXRNaWxsaXNlY29uZHMoZS5taWxsaXNlY29uZHMpLHIpfXZhciB3eXIsY2x0PWYoKCk9PnskdCgpO0daKCk7SGUoKTtzKGxsdCwic2V0Iik7d3lyPWxsdH0pO2Z1bmN0aW9uIGRsdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIHIuc2V0RGF0ZShlKSxyfXZhciB6eXIsdWx0PWYoKCk9PntIZSgpO3MoZGx0LCJzZXREYXRlIik7enlyPWRsdH0pO2Z1bmN0aW9uIHBsdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIHIuc2V0TW9udGgoMCksci5zZXREYXRlKGUpLHJ9dmFyIEx5cixmbHQ9ZigoKT0+e0hlKCk7cyhwbHQsInNldERheU9mWWVhciIpO0x5cj1wbHR9KTtmdW5jdGlvbiBobHQoYSl7bGV0IGU9e30sdD1xYSgpO2ZvcihsZXQgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiYoZVtyXT10W3JdKTtmb3IobGV0IHIgaW4gYSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxyKSYmKGFbcl09PT12b2lkIDA/ZGVsZXRlIGVbcl06ZVtyXT1hW3JdKTskc3QoZSl9dmFyIFB5cixtbHQ9ZigoKT0+e3dpKCk7cyhobHQsInNldERlZmF1bHRPcHRpb25zIik7UHlyPWhsdH0pO2Z1bmN0aW9uIGdsdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIHIuc2V0SG91cnMoZSkscn12YXIgUnlyLGJsdD1mKCgpPT57SGUoKTtzKGdsdCwic2V0SG91cnMiKTtSeXI9Z2x0fSk7ZnVuY3Rpb24gdmx0KGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKTtyZXR1cm4gci5zZXRNaWxsaXNlY29uZHMoZSkscn12YXIgSHlyLHhsdD1mKCgpPT57SGUoKTtzKHZsdCwic2V0TWlsbGlzZWNvbmRzIik7SHlyPXZsdH0pO2Z1bmN0aW9uIHlsdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIHIuc2V0TWludXRlcyhlKSxyfXZhciBVeXIsd2x0PWYoKCk9PntIZSgpO3MoeWx0LCJzZXRNaW51dGVzIik7VXlyPXlsdH0pO2Z1bmN0aW9uIE1sdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbiksaT1NYXRoLnRydW5jKHIuZ2V0TW9udGgoKS8zKSsxLG89ZS1pO3JldHVybiAkaChyLHIuZ2V0TW9udGgoKStvKjMpfXZhciBaeXIsa2x0PWYoKCk9PntHWigpO0hlKCk7cyhNbHQsInNldFF1YXJ0ZXIiKTtaeXI9TWx0fSk7ZnVuY3Rpb24gU2x0KGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKTtyZXR1cm4gci5zZXRTZWNvbmRzKGUpLHJ9dmFyIGV3cix6bHQ9ZigoKT0+e0hlKCk7cyhTbHQsInNldFNlY29uZHMiKTtld3I9U2x0fSk7ZnVuY3Rpb24gQ2x0KGEsZSx0KXtsZXQgcj1xYSgpLGk9dD8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz90Py5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/ci5maXJzdFdlZWtDb250YWluc0RhdGU/P3IubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/PzEsbz1xcyhrZShhLHQ/LmluKSxnMyhhLHQpLHQpLG49RmUodD8uaW58fGEsMCk7bi5zZXRGdWxsWWVhcihlLDAsaSksbi5zZXRIb3VycygwLDAsMCwwKTtsZXQgbD1nMyhuLHQpO3JldHVybiBsLnNldERhdGUobC5nZXREYXRlKCkrbyksbH12YXIgbHdyLF9sdD1mKCgpPT57d2koKTskdCgpO01sKCk7TksoKTtIZSgpO3MoQ2x0LCJzZXRXZWVrWWVhciIpO2x3cj1DbHR9KTtmdW5jdGlvbiBUbHQoYSxlLHQpe2xldCByPWtlKGEsdD8uaW4pO3JldHVybiBpc05hTigrcik/RmUodD8uaW58fGEsTmFOKTooci5zZXRGdWxsWWVhcihlKSxyKX12YXIgZndyLExsdD1mKCgpPT57JHQoKTtIZSgpO3MoVGx0LCJzZXRZZWFyIik7ZndyPVRsdH0pO2Z1bmN0aW9uICRsdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pLHI9dC5nZXRGdWxsWWVhcigpLGk9TWF0aC5mbG9vcihyLzEwKSoxMDtyZXR1cm4gdC5zZXRGdWxsWWVhcihpLDAsMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fXZhciBid3IsRGx0PWYoKCk9PntIZSgpO3MoJGx0LCJzdGFydE9mRGVjYWRlIik7YndyPSRsdH0pO2Z1bmN0aW9uIEFsdChhKXtyZXR1cm4geDIoRGF0ZS5ub3coKSxhKX12YXIgd3dyLFBsdD1mKCgpPT57bzkoKTtzKEFsdCwic3RhcnRPZlRvZGF5Iik7d3dyPUFsdH0pO2Z1bmN0aW9uIEVsdChhKXtsZXQgZT1jYShhPy5pbiksdD1lLmdldEZ1bGxZZWFyKCkscj1lLmdldE1vbnRoKCksaT1lLmdldERhdGUoKSxvPUZlKGE/LmluLDApO3JldHVybiBvLnNldEZ1bGxZZWFyKHQscixpKzEpLG8uc2V0SG91cnMoMCwwLDAsMCksb312YXIgQ3dyLElsdD1mKCgpPT57JHQoKTtUcygpO3MoRWx0LCJzdGFydE9mVG9tb3Jyb3ciKTtDd3I9RWx0fSk7ZnVuY3Rpb24gTmx0KGEpe2xldCBlPWNhKGE/LmluKSx0PWUuZ2V0RnVsbFllYXIoKSxyPWUuZ2V0TW9udGgoKSxpPWUuZ2V0RGF0ZSgpLG89Y2EoYT8uaW4pO3JldHVybiBvLnNldEZ1bGxZZWFyKHQscixpLTEpLG8uc2V0SG91cnMoMCwwLDAsMCksb312YXIgJHdyLFJsdD1mKCgpPT57VHMoKTtzKE5sdCwic3RhcnRPZlllc3RlcmRheSIpOyR3cj1ObHR9KTtmdW5jdGlvbiBZWihhLGUsdCl7cmV0dXJuIGcyKGEsLWUsdCl9dmFyIEV3cixpbGU9ZigoKT0+e2RoKCk7cyhZWiwic3ViTW9udGhzIik7RXdyPVlafSk7ZnVuY3Rpb24gT2x0KGEsZSx0KXtsZXR7eWVhcnM6cj0wLG1vbnRoczppPTAsd2Vla3M6bz0wLGRheXM6bj0wLGhvdXJzOmw9MCxtaW51dGVzOmQ9MCxzZWNvbmRzOmM9MH09ZSxwPVlaKGEsaStyKjEyLHQpLHU9aDAocCxuK28qNyx0KSxtPWQrbCo2MCx4PShjK20qNjApKjFlMztyZXR1cm4gRmUodD8uaW58fGEsK3UteCl9dmFyIEJ3cixGbHQ9ZigoKT0+eyR0KCk7dzkoKTtpbGUoKTtzKE9sdCwic3ViIik7QndyPU9sdH0pO2Z1bmN0aW9uIEJsdChhLGUsdCl7cmV0dXJuIGFLKGEsLWUsdCl9dmFyIGp3cixIbHQ9ZigoKT0+e2MyZSgpO3MoQmx0LCJzdWJCdXNpbmVzc0RheXMiKTtqd3I9Qmx0fSk7ZnVuY3Rpb24gcWx0KGEsZSx0KXtyZXR1cm4gcksoYSwtZSx0KX12YXIgWXdyLFZsdD1mKCgpPT57ZDJlKCk7cyhxbHQsInN1YkhvdXJzIik7WXdyPXFsdH0pO2Z1bmN0aW9uIGpsdChhLGUsdCl7cmV0dXJuIHMwKGEsLWUsdCl9dmFyIFF3cixVbHQ9ZigoKT0+e2k5KCk7cyhqbHQsInN1Yk1pbGxpc2Vjb25kcyIpO1F3cj1qbHR9KTtmdW5jdGlvbiBXbHQoYSxlLHQpe3JldHVybiBwaChhLC1lLHQpfXZhciBhTXIsR2x0PWYoKCk9PntvSygpO3MoV2x0LCJzdWJNaW51dGVzIik7YU1yPVdsdH0pO2Z1bmN0aW9uIFlsdChhLGUsdCl7cmV0dXJuIGZoKGEsLWUsdCl9dmFyIG9NcixLbHQ9ZigoKT0+e25LKCk7cyhZbHQsInN1YlF1YXJ0ZXJzIik7b01yPVlsdH0pO2Z1bmN0aW9uIFpsdChhLGUsdCl7cmV0dXJuIGxLKGEsLWUsdCl9dmFyIGRNcixYbHQ9ZigoKT0+e2YyZSgpO3MoWmx0LCJzdWJTZWNvbmRzIik7ZE1yPVpsdH0pO2Z1bmN0aW9uIFFsdChhLGUsdCl7cmV0dXJuIG8wKGEsLWUsdCl9dmFyIGhNcixKbHQ9ZigoKT0+e245KCk7cyhRbHQsInN1YldlZWtzIik7aE1yPVFsdH0pO2Z1bmN0aW9uIGVjdChhLGUsdCl7cmV0dXJuIGNLKGEsLWUsdCl9dmFyIHZNcix0Y3Q9ZigoKT0+e2gyZSgpO3MoZWN0LCJzdWJZZWFycyIpO3ZNcj1lY3R9KTtmdW5jdGlvbiBhY3QoYSl7cmV0dXJuIE1hdGgudHJ1bmMoYSo3KX12YXIgTU1yLHJjdD1mKCgpPT57SnQoKTtzKGFjdCwid2Vla3NUb0RheXMiKTtNTXI9YWN0fSk7ZnVuY3Rpb24gc2N0KGEpe3JldHVybiBNYXRoLnRydW5jKGEqMzY1LjI0MjUpfXZhciBDTXIsaWN0PWYoKCk9PntKdCgpO3Moc2N0LCJ5ZWFyc1RvRGF5cyIpO0NNcj1zY3R9KTtmdW5jdGlvbiBvY3QoYSl7cmV0dXJuIE1hdGgudHJ1bmMoYSpRWSl9dmFyICRNcixuY3Q9ZigoKT0+e0p0KCk7cyhvY3QsInllYXJzVG9Nb250aHMiKTskTXI9b2N0fSk7ZnVuY3Rpb24gbGN0KGEpe3JldHVybiBNYXRoLnRydW5jKGEqSlkpfXZhciBFTXIsY2N0PWYoKCk9PntKdCgpO3MobGN0LCJ5ZWFyc1RvUXVhcnRlcnMiKTtFTXI9bGN0fSk7dmFyIGs5PXt9O2x0KGs5LHthZGQ6KCk9PnIwLGFkZEJ1c2luZXNzRGF5czooKT0+YUssYWRkRGF5czooKT0+X3MsYWRkSG91cnM6KCk9PnJLLGFkZElTT1dlZWtZZWFyczooKT0+aUssYWRkTWlsbGlzZWNvbmRzOigpPT5zMCxhZGRNaW51dGVzOigpPT5waCxhZGRNb250aHM6KCk9PmcyLGFkZFF1YXJ0ZXJzOigpPT5maCxhZGRTZWNvbmRzOigpPT5sSyxhZGRXZWVrczooKT0+bzAsYWRkWWVhcnM6KCk9PmNLLGFyZUludGVydmFsc092ZXJsYXBwaW5nOigpPT5Ec3QsY2xhbXA6KCk9PlBzdCxjbG9zZXN0SW5kZXhUbzooKT0+cEssY2xvc2VzdFRvOigpPT5Jc3QsY29tcGFyZUFzYzooKT0+TWksY29tcGFyZURlc2M6KCk9PlJzdCxjb25zdHJ1Y3RGcm9tOigpPT5GZSxjb25zdHJ1Y3ROb3c6KCk9PmNhLGRheXNUb1dlZWtzOigpPT5Gc3QsZGlmZmVyZW5jZUluQnVzaW5lc3NEYXlzOigpPT5Ic3QsZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzOigpPT5xcyxkaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtZZWFyczooKT0+aEssZGlmZmVyZW5jZUluQ2FsZW5kYXJJU09XZWVrczooKT0+VnN0LGRpZmZlcmVuY2VJbkNhbGVuZGFyTW9udGhzOigpPT51MyxkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzOigpPT5taCxkaWZmZXJlbmNlSW5DYWxlbmRhcldlZWtzOigpPT5wMyxkaWZmZXJlbmNlSW5DYWxlbmRhclllYXJzOigpPT5uMCxkaWZmZXJlbmNlSW5EYXlzOigpPT5naCxkaWZmZXJlbmNlSW5Ib3VyczooKT0+ZjMsZGlmZmVyZW5jZUluSVNPV2Vla1llYXJzOigpPT5Xc3QsZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzOigpPT5iaCxkaWZmZXJlbmNlSW5NaW51dGVzOigpPT5oMyxkaWZmZXJlbmNlSW5Nb250aHM6KCk9PmwwLGRpZmZlcmVuY2VJblF1YXJ0ZXJzOigpPT5Zc3QsZGlmZmVyZW5jZUluU2Vjb25kczooKT0+dzIsZGlmZmVyZW5jZUluV2Vla3M6KCk9PlpzdCxkaWZmZXJlbmNlSW5ZZWFyczooKT0+Q0ssZWFjaERheU9mSW50ZXJ2YWw6KCk9Pl9LLGVhY2hIb3VyT2ZJbnRlcnZhbDooKT0+UXN0LGVhY2hNaW51dGVPZkludGVydmFsOigpPT5laXQsZWFjaE1vbnRoT2ZJbnRlcnZhbDooKT0+YWl0LGVhY2hRdWFydGVyT2ZJbnRlcnZhbDooKT0+c2l0LGVhY2hXZWVrT2ZJbnRlcnZhbDooKT0+b2l0LGVhY2hXZWVrZW5kT2ZJbnRlcnZhbDooKT0+eWgsZWFjaFdlZWtlbmRPZk1vbnRoOigpPT5saXQsZWFjaFdlZWtlbmRPZlllYXI6KCk9PmRpdCxlYWNoWWVhck9mSW50ZXJ2YWw6KCk9PnBpdCxlbmRPZkRheTooKT0+dmgsZW5kT2ZEZWNhZGU6KCk9PmhpdCxlbmRPZkhvdXI6KCk9PmdpdCxlbmRPZklTT1dlZWs6KCk9PnZpdCxlbmRPZklTT1dlZWtZZWFyOigpPT55aXQsZW5kT2ZNaW51dGU6KCk9Pk1pdCxlbmRPZk1vbnRoOigpPT54aCxlbmRPZlF1YXJ0ZXI6KCk9PlNpdCxlbmRPZlNlY29uZDooKT0+Q2l0LGVuZE9mVG9kYXk6KCk9PlRpdCxlbmRPZlRvbW9ycm93OigpPT4kaXQsZW5kT2ZXZWVrOigpPT5BSyxlbmRPZlllYXI6KCk9PiRLLGVuZE9mWWVzdGVyZGF5OigpPT5BaXQsZm9ybWF0OigpPT5tOSxmb3JtYXREYXRlOigpPT5tOSxmb3JtYXREaXN0YW5jZTooKT0+QkssZm9ybWF0RGlzdGFuY2VTdHJpY3Q6KCk9PkhLLGZvcm1hdERpc3RhbmNlVG9Ob3c6KCk9PnRvdCxmb3JtYXREaXN0YW5jZVRvTm93U3RyaWN0OigpPT5yb3QsZm9ybWF0RHVyYXRpb246KCk9PmlvdCxmb3JtYXRJU086KCk9Pm5vdCxmb3JtYXRJU085MDc1OigpPT5jb3QsZm9ybWF0SVNPRHVyYXRpb246KCk9PnVvdCxmb3JtYXRSRkMzMzM5OigpPT5mb3QsZm9ybWF0UkZDNzIzMTooKT0+bW90LGZvcm1hdFJlbGF0aXZlOigpPT5ib3QsZm9ybWF0dGVyczooKT0+ZjksZnJvbVVuaXhUaW1lOigpPT54b3QsZ2V0RGF0ZTooKT0+cUssZ2V0RGF5OigpPT5wMCxnZXREYXlPZlllYXI6KCk9PkVLLGdldERheXNJbk1vbnRoOigpPT5WSyxnZXREYXlzSW5ZZWFyOigpPT53b3QsZ2V0RGVjYWRlOigpPT5rb3QsZ2V0RGVmYXVsdE9wdGlvbnM6KCk9PlVLLGdldEhvdXJzOigpPT56b3QsZ2V0SVNPRGF5OigpPT5XSyxnZXRJU09XZWVrOigpPT5TaCxnZXRJU09XZWVrWWVhcjooKT0+amksZ2V0SVNPV2Vla3NJblllYXI6KCk9Pl9vdCxnZXRNaWxsaXNlY29uZHM6KCk9PkxvdCxnZXRNaW51dGVzOigpPT5Eb3QsZ2V0TW9udGg6KCk9PlBvdCxnZXRPdmVybGFwcGluZ0RheXNJbkludGVydmFsczooKT0+SW90LGdldFF1YXJ0ZXI6KCk9Pmw5LGdldFNlY29uZHM6KCk9PlJvdCxnZXRUaW1lOigpPT5Gb3QsZ2V0VW5peFRpbWU6KCk9PkhvdCxnZXRXZWVrOigpPT56aCxnZXRXZWVrT2ZNb250aDooKT0+Vm90LGdldFdlZWtZZWFyOigpPT5kMCxnZXRXZWVrc0luTW9udGg6KCk9PlVvdCxnZXRZZWFyOigpPT5Hb3QsaG91cnNUb01pbGxpc2Vjb25kczooKT0+S290LGhvdXJzVG9NaW51dGVzOigpPT5Yb3QsaG91cnNUb1NlY29uZHM6KCk9PkpvdCxpbnRlcnZhbDooKT0+dG50LGludGVydmFsVG9EdXJhdGlvbjooKT0+cm50LGludGxGb3JtYXQ6KCk9PmludCxpbnRsRm9ybWF0RGlzdGFuY2U6KCk9Pm5udCxpc0FmdGVyOigpPT5jbnQsaXNCZWZvcmU6KCk9PnVudCxpc0RhdGU6KCk9PmZLLGlzRXF1YWw6KCk9PmZudCxpc0V4aXN0czooKT0+bW50LGlzRmlyc3REYXlPZk1vbnRoOigpPT5ibnQsaXNGcmlkYXk6KCk9PnhudCxpc0Z1dHVyZTooKT0+d250LGlzTGFzdERheU9mTW9udGg6KCk9PnpLLGlzTGVhcFllYXI6KCk9PmpLLGlzTWF0Y2g6KCk9PnQxdCxpc01vbmRheTooKT0+cjF0LGlzUGFzdDooKT0+aTF0LGlzU2FtZURheTooKT0+eTIsaXNTYW1lSG91cjooKT0+UlosaXNTYW1lSVNPV2VlazooKT0+RlosaXNTYW1lSVNPV2Vla1llYXI6KCk9Pm4xdCxpc1NhbWVNaW51dGU6KCk9PkJaLGlzU2FtZU1vbnRoOigpPT5IWixpc1NhbWVRdWFydGVyOigpPT5xWixpc1NhbWVTZWNvbmQ6KCk9PlZaLGlzU2FtZVdlZWs6KCk9PkxoLGlzU2FtZVllYXI6KCk9PmpaLGlzU2F0dXJkYXk6KCk9PmVLLGlzU3VuZGF5OigpPT50Syxpc1RoaXNIb3VyOigpPT5jMXQsaXNUaGlzSVNPV2VlazooKT0+dTF0LGlzVGhpc01pbnV0ZTooKT0+ZjF0LGlzVGhpc01vbnRoOigpPT5tMXQsaXNUaGlzUXVhcnRlcjooKT0+YjF0LGlzVGhpc1NlY29uZDooKT0+eDF0LGlzVGhpc1dlZWs6KCk9PncxdCxpc1RoaXNZZWFyOigpPT5rMXQsaXNUaHVyc2RheTooKT0+ejF0LGlzVG9kYXk6KCk9Pl8xdCxpc1RvbW9ycm93OigpPT5MMXQsaXNUdWVzZGF5OigpPT5EMXQsaXNWYWxpZDooKT0+SnMsaXNXZWRuZXNkYXk6KCk9PlAxdCxpc1dlZWtlbmQ6KCk9PmIyLGlzV2l0aGluSW50ZXJ2YWw6KCk9PkkxdCxpc1llc3RlcmRheTooKT0+UjF0LGxhc3REYXlPZkRlY2FkZTooKT0+RjF0LGxhc3REYXlPZklTT1dlZWs6KCk9PkgxdCxsYXN0RGF5T2ZJU09XZWVrWWVhcjooKT0+VjF0LGxhc3REYXlPZk1vbnRoOigpPT5HSyxsYXN0RGF5T2ZRdWFydGVyOigpPT5VMXQsbGFzdERheU9mV2VlazooKT0+VVosbGFzdERheU9mWWVhcjooKT0+RzF0LGxpZ2h0Rm9ybWF0OigpPT5LMXQsbGlnaHRGb3JtYXR0ZXJzOigpPT5Vbyxsb25nRm9ybWF0dGVyczooKT0+dTAsbWF4OigpPT5kSyxtaWxsaXNlY29uZHM6KCk9PlgxdCxtaWxsaXNlY29uZHNUb0hvdXJzOigpPT5KMXQsbWlsbGlzZWNvbmRzVG9NaW51dGVzOigpPT50MnQsbWlsbGlzZWNvbmRzVG9TZWNvbmRzOigpPT5yMnQsbWluOigpPT51SyxtaW51dGVzVG9Ib3VyczooKT0+aTJ0LG1pbnV0ZXNUb01pbGxpc2Vjb25kczooKT0+bjJ0LG1pbnV0ZXNUb1NlY29uZHM6KCk9PmMydCxtb250aHNUb1F1YXJ0ZXJzOigpPT51MnQsbW9udGhzVG9ZZWFyczooKT0+ZjJ0LG5leHREYXk6KCk9PnppLG5leHRGcmlkYXk6KCk9Pm0ydCxuZXh0TW9uZGF5OigpPT5iMnQsbmV4dFNhdHVyZGF5OigpPT54MnQsbmV4dFN1bmRheTooKT0+dzJ0LG5leHRUaHVyc2RheTooKT0+azJ0LG5leHRUdWVzZGF5OigpPT56MnQsbmV4dFdlZG5lc2RheTooKT0+XzJ0LHBhcnNlOigpPT5OWixwYXJzZUlTTzooKT0+JDJ0LHBhcnNlSlNPTjooKT0+QTJ0LHBhcnNlcnM6KCk9PklaLHByZXZpb3VzRGF5OigpPT5DaSxwcmV2aW91c0ZyaWRheTooKT0+RTJ0LHByZXZpb3VzTW9uZGF5OigpPT5OMnQscHJldmlvdXNTYXR1cmRheTooKT0+TzJ0LHByZXZpb3VzU3VuZGF5OigpPT5CMnQscHJldmlvdXNUaHVyc2RheTooKT0+cTJ0LHByZXZpb3VzVHVlc2RheTooKT0+ajJ0LHByZXZpb3VzV2VkbmVzZGF5OigpPT5XMnQscXVhcnRlcnNUb01vbnRoczooKT0+WTJ0LHF1YXJ0ZXJzVG9ZZWFyczooKT0+WjJ0LHJvdW5kVG9OZWFyZXN0SG91cnM6KCk9PlEydCxyb3VuZFRvTmVhcmVzdE1pbnV0ZXM6KCk9PmVsdCxzZWNvbmRzVG9Ib3VyczooKT0+YWx0LHNlY29uZHNUb01pbGxpc2Vjb25kczooKT0+c2x0LHNlY29uZHNUb01pbnV0ZXM6KCk9Pm9sdCxzZXQ6KCk9PmxsdCxzZXREYXRlOigpPT5kbHQsc2V0RGF5OigpPT5mMCxzZXREYXlPZlllYXI6KCk9PnBsdCxzZXREZWZhdWx0T3B0aW9uczooKT0+aGx0LHNldEhvdXJzOigpPT5nbHQsc2V0SVNPRGF5OigpPT54WixzZXRJU09XZWVrOigpPT5wWixzZXRJU09XZWVrWWVhcjooKT0+c0ssc2V0TWlsbGlzZWNvbmRzOigpPT52bHQsc2V0TWludXRlczooKT0+eWx0LHNldE1vbnRoOigpPT4kaCxzZXRRdWFydGVyOigpPT5NbHQsc2V0U2Vjb25kczooKT0+U2x0LHNldFdlZWs6KCk9PmRaLHNldFdlZWtZZWFyOigpPT5DbHQsc2V0WWVhcjooKT0+VGx0LHN0YXJ0T2ZEYXk6KCk9PngyLHN0YXJ0T2ZEZWNhZGU6KCk9PiRsdCxzdGFydE9mSG91cjooKT0+djksc3RhcnRPZklTT1dlZWs6KCk9PmNzLHN0YXJ0T2ZJU09XZWVrWWVhcjooKT0+am8sc3RhcnRPZk1pbnV0ZTooKT0+eDksc3RhcnRPZk1vbnRoOigpPT5jMCxzdGFydE9mUXVhcnRlcjooKT0+azIsc3RhcnRPZlNlY29uZDooKT0+eTksc3RhcnRPZlRvZGF5OigpPT5BbHQsc3RhcnRPZlRvbW9ycm93OigpPT5FbHQsc3RhcnRPZldlZWs6KCk9PmVyLHN0YXJ0T2ZXZWVrWWVhcjooKT0+ZzMsc3RhcnRPZlllYXI6KCk9PndoLHN0YXJ0T2ZZZXN0ZXJkYXk6KCk9Pk5sdCxzdWI6KCk9Pk9sdCxzdWJCdXNpbmVzc0RheXM6KCk9PkJsdCxzdWJEYXlzOigpPT5oMCxzdWJIb3VyczooKT0+cWx0LHN1YklTT1dlZWtZZWFyczooKT0+eUssc3ViTWlsbGlzZWNvbmRzOigpPT5qbHQsc3ViTWludXRlczooKT0+V2x0LHN1Yk1vbnRoczooKT0+WVosc3ViUXVhcnRlcnM6KCk9PllsdCxzdWJTZWNvbmRzOigpPT5abHQsc3ViV2Vla3M6KCk9PlFsdCxzdWJZZWFyczooKT0+ZWN0LHRvRGF0ZTooKT0+a2UsdHJhbnNwb3NlOigpPT5ZSyx3ZWVrc1RvRGF5czooKT0+YWN0LHllYXJzVG9EYXlzOigpPT5zY3QseWVhcnNUb01vbnRoczooKT0+b2N0LHllYXJzVG9RdWFydGVyczooKT0+bGN0fSk7dmFyIGRjdD1mKCgpPT57bzJlKCk7YzJlKCk7bTIoKTtkMmUoKTtwMmUoKTtpOSgpO29LKCk7ZGgoKTtuSygpO2YyZSgpO245KCk7aDJlKCk7QXN0KCk7RXN0KCk7YjJlKCk7TnN0KCk7ZDMoKTtPc3QoKTskdCgpO1RzKCk7QnN0KCk7cXN0KCk7TWwoKTt4MmUoKTtqc3QoKTttSygpO3cyZSgpO2dLKCk7YksoKTt2SygpO3hLKCk7R3N0KCk7d0soKTtNSygpO2M5KCk7S3N0KCk7ZDkoKTtYc3QoKTtTMmUoKTt6MmUoKTtKc3QoKTt0aXQoKTtyaXQoKTtpaXQoKTtuaXQoKTtMSygpO2NpdCgpO3VpdCgpO2ZpdCgpO2tLKCk7bWl0KCk7Yml0KCk7eGl0KCk7d2l0KCk7a2l0KCk7U0soKTt6aXQoKTtfaXQoKTtMaXQoKTtEaXQoKTtfMmUoKTtDMmUoKTtQaXQoKTtBMmUoKTtQMmUoKTtFMmUoKTthb3QoKTtzb3QoKTtvb3QoKTtsb3QoKTtkb3QoKTtwb3QoKTtob3QoKTtnb3QoKTt2b3QoKTt5b3QoKTtJMmUoKTtnOSgpO1QyZSgpO04yZSgpO01vdCgpO1NvdCgpO08yZSgpO0NvdCgpO0YyZSgpO0lLKCk7aTAoKTtUb3QoKTskb3QoKTtBb3QoKTtFb3QoKTtOb3QoKTt5MmUoKTtPb3QoKTtCb3QoKTtxb3QoKTtSSygpO2pvdCgpO3A5KCk7V290KCk7WW90KCk7Wm90KCk7UW90KCk7ZW50KCk7YW50KCk7c250KCk7b250KCk7bG50KCk7ZG50KCk7cG50KCk7djJlKCk7aG50KCk7Z250KCk7dm50KCk7eW50KCk7TW50KCk7azJlKCk7UjJlKCk7YTF0KCk7czF0KCk7bzF0KCk7aGgoKTtZMmUoKTtLMmUoKTtsMXQoKTtYMmUoKTtRMmUoKTtKMmUoKTt0bGUoKTtPWigpO2FsZSgpO24yZSgpO2wyZSgpO2QxdCgpO3AxdCgpO2gxdCgpO2cxdCgpO3YxdCgpO3kxdCgpO00xdCgpO1MxdCgpO0MxdCgpO1QxdCgpOyQxdCgpO0ExdCgpO2tsKCk7RTF0KCk7czkoKTtOMXQoKTtPMXQoKTtCMXQoKTtxMXQoKTtqMXQoKTtCMmUoKTtXMXQoKTtybGUoKTtZMXQoKTtaMXQoKTttMmUoKTtRMXQoKTtlMnQoKTthMnQoKTtzMnQoKTtnMmUoKTtvMnQoKTtsMnQoKTtkMnQoKTtwMnQoKTtoMnQoKTt6bCgpO2cydCgpO3YydCgpO3kydCgpO00ydCgpO1MydCgpO0MydCgpO1QydCgpO1cyZSgpO0QydCgpO1AydCgpO0NsKCk7STJ0KCk7UjJ0KCk7RjJ0KCk7SDJ0KCk7VjJ0KCk7VTJ0KCk7RzJ0KCk7SzJ0KCk7WDJ0KCk7SjJ0KCk7dGx0KCk7cmx0KCk7aWx0KCk7bmx0KCk7Y2x0KCk7dWx0KCk7YjkoKTtmbHQoKTttbHQoKTtibHQoKTtVMmUoKTtqMmUoKTt1MmUoKTt4bHQoKTt3bHQoKTtHWigpO2tsdCgpO3psdCgpO1YyZSgpO19sdCgpO0xsdCgpO285KCk7RGx0KCk7RzJlKCk7djIoKTt1aCgpO1oyZSgpO3U5KCk7VEsoKTtlbGUoKTtQbHQoKTtJbHQoKTtpMSgpO05LKCk7REsoKTtSbHQoKTtGbHQoKTtIbHQoKTt3OSgpO1ZsdCgpO00yZSgpO1VsdCgpO0dsdCgpO2lsZSgpO0tsdCgpO1hsdCgpO0psdCgpO3RjdCgpO0hlKCk7SDJlKCk7cmN0KCk7aWN0KCk7bmN0KCk7Y2N0KCl9KTt2YXIgdWN0PU1vKChvbGUsbmxlKT0+eyhmdW5jdGlvbihhLGUpe3R5cGVvZiBvbGU9PSJvYmplY3QiJiZ0eXBlb2YgbmxlPCJ1Ij9ubGUuZXhwb3J0cz1lKCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6KGE9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6YXx8c2VsZikuZGF5anM9ZSgpfSkob2xlLChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgYT0xZTMsZT02ZTQsdD0zNmU1LHI9Im1pbGxpc2Vjb25kIixpPSJzZWNvbmQiLG89Im1pbnV0ZSIsbj0iaG91ciIsbD0iZGF5IixkPSJ3ZWVrIixjPSJtb250aCIscD0icXVhcnRlciIsdT0ieWVhciIsbT0iZGF0ZSIsdj0iSW52YWxpZCBEYXRlIix4PS9eKFxkezR9KVstL10/KFxkezEsMn0pP1stL10/KFxkezAsMn0pW1R0XHNdKihcZHsxLDJ9KT86PyhcZHsxLDJ9KT86PyhcZHsxLDJ9KT9bLjpdPyhcZCspPyQvLGI9L1xbKFteXF1dKyldfFl7MSw0fXxNezEsNH18RHsxLDJ9fGR7MSw0fXxIezEsMn18aHsxLDJ9fGF8QXxtezEsMn18c3sxLDJ9fFp7MSwyfXxTU1MvZyxnPXtuYW1lOiJlbiIsd2Vla2RheXM6IlN1bmRheV9Nb25kYXlfVHVlc2RheV9XZWRuZXNkYXlfVGh1cnNkYXlfRnJpZGF5X1NhdHVyZGF5Ii5zcGxpdCgiXyIpLG1vbnRoczoiSmFudWFyeV9GZWJydWFyeV9NYXJjaF9BcHJpbF9NYXlfSnVuZV9KdWx5X0F1Z3VzdF9TZXB0ZW1iZXJfT2N0b2Jlcl9Ob3ZlbWJlcl9EZWNlbWJlciIuc3BsaXQoIl8iKSxvcmRpbmFsOnMoZnVuY3Rpb24oUyl7dmFyIEU9WyJ0aCIsInN0IiwibmQiLCJyZCJdLEE9UyUxMDA7cmV0dXJuIlsiK1MrKEVbKEEtMjApJTEwXXx8RVtBXXx8RVswXSkrIl0ifSwib3JkaW5hbCIpfSx5PXMoZnVuY3Rpb24oUyxFLEEpe3ZhciBGPVN0cmluZyhTKTtyZXR1cm4hRnx8Ri5sZW5ndGg+PUU/UzoiIitBcnJheShFKzEtRi5sZW5ndGgpLmpvaW4oQSkrU30sIm0iKSxrPXtzOnksejpzKGZ1bmN0aW9uKFMpe3ZhciBFPS1TLnV0Y09mZnNldCgpLEE9TWF0aC5hYnMoRSksRj1NYXRoLmZsb29yKEEvNjApLFc9QSU2MDtyZXR1cm4oRTw9MD8iKyI6Ii0iKSt5KEYsMiwiMCIpKyI6Iit5KFcsMiwiMCIpfSwieiIpLG06cyhmdW5jdGlvbiBTKEUsQSl7aWYoRS5kYXRlKCk8QS5kYXRlKCkpcmV0dXJuLVMoQSxFKTt2YXIgRj0xMiooQS55ZWFyKCktRS55ZWFyKCkpKyhBLm1vbnRoKCktRS5tb250aCgpKSxXPUUuY2xvbmUoKS5hZGQoRixjKSxqPUEtVzwwLEc9RS5jbG9uZSgpLmFkZChGKyhqPy0xOjEpLGMpO3JldHVybisoLShGKyhBLVcpLyhqP1ctRzpHLVcpKXx8MCl9LCJ0IiksYTpzKGZ1bmN0aW9uKFMpe3JldHVybiBTPDA/TWF0aC5jZWlsKFMpfHwwOk1hdGguZmxvb3IoUyl9LCJhIikscDpzKGZ1bmN0aW9uKFMpe3JldHVybntNOmMseTp1LHc6ZCxkOmwsRDptLGg6bixtOm8sczppLG1zOnIsUTpwfVtTXXx8U3RyaW5nKFN8fCIiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL3MkLywiIil9LCJwIiksdTpzKGZ1bmN0aW9uKFMpe3JldHVybiBTPT09dm9pZCAwfSwidSIpfSxDPSJlbiIsTj17fTtOW0NdPWc7dmFyIF89IiRpc0RheWpzT2JqZWN0Iix6PXMoZnVuY3Rpb24oUyl7cmV0dXJuIFMgaW5zdGFuY2VvZiBCfHwhKCFTfHwhU1tfXSl9LCJTIiksTz1zKGZ1bmN0aW9uIFMoRSxBLEYpe3ZhciBXO2lmKCFFKXJldHVybiBDO2lmKHR5cGVvZiBFPT0ic3RyaW5nIil7dmFyIGo9RS50b0xvd2VyQ2FzZSgpO05bal0mJihXPWopLEEmJihOW2pdPUEsVz1qKTt2YXIgRz1FLnNwbGl0KCItIik7aWYoIVcmJkcubGVuZ3RoPjEpcmV0dXJuIFMoR1swXSl9ZWxzZXt2YXIgaGU9RS5uYW1lO05baGVdPUUsVz1oZX1yZXR1cm4hRiYmVyYmKEM9VyksV3x8IUYmJkN9LCJ0IiksVD1zKGZ1bmN0aW9uKFMsRSl7aWYoeihTKSlyZXR1cm4gUy5jbG9uZSgpO3ZhciBBPXR5cGVvZiBFPT0ib2JqZWN0Ij9FOnt9O3JldHVybiBBLmRhdGU9UyxBLmFyZ3M9YXJndW1lbnRzLG5ldyBCKEEpfSwiTyIpLFA9aztQLmw9TyxQLmk9eixQLnc9ZnVuY3Rpb24oUyxFKXtyZXR1cm4gVChTLHtsb2NhbGU6RS4kTCx1dGM6RS4kdSx4OkUuJHgsJG9mZnNldDpFLiRvZmZzZXR9KX07dmFyIEI9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gUyhBKXt0aGlzLiRMPU8oQS5sb2NhbGUsbnVsbCwhMCksdGhpcy5wYXJzZShBKSx0aGlzLiR4PXRoaXMuJHh8fEEueHx8e30sdGhpc1tfXT0hMH1zKFMsIk0iKTt2YXIgRT1TLnByb3RvdHlwZTtyZXR1cm4gRS5wYXJzZT1mdW5jdGlvbihBKXt0aGlzLiRkPShmdW5jdGlvbihGKXt2YXIgVz1GLmRhdGUsaj1GLnV0YztpZihXPT09bnVsbClyZXR1cm4gbmV3IERhdGUoTmFOKTtpZihQLnUoVykpcmV0dXJuIG5ldyBEYXRlO2lmKFcgaW5zdGFuY2VvZiBEYXRlKXJldHVybiBuZXcgRGF0ZShXKTtpZih0eXBlb2YgVz09InN0cmluZyImJiEvWiQvaS50ZXN0KFcpKXt2YXIgRz1XLm1hdGNoKHgpO2lmKEcpe3ZhciBoZT1HWzJdLTF8fDAsUj0oR1s3XXx8IjAiKS5zdWJzdHJpbmcoMCwzKTtyZXR1cm4gaj9uZXcgRGF0ZShEYXRlLlVUQyhHWzFdLGhlLEdbM118fDEsR1s0XXx8MCxHWzVdfHwwLEdbNl18fDAsUikpOm5ldyBEYXRlKEdbMV0saGUsR1szXXx8MSxHWzRdfHwwLEdbNV18fDAsR1s2XXx8MCxSKX19cmV0dXJuIG5ldyBEYXRlKFcpfSkoQSksdGhpcy5pbml0KCl9LEUuaW5pdD1mdW5jdGlvbigpe3ZhciBBPXRoaXMuJGQ7dGhpcy4keT1BLmdldEZ1bGxZZWFyKCksdGhpcy4kTT1BLmdldE1vbnRoKCksdGhpcy4kRD1BLmdldERhdGUoKSx0aGlzLiRXPUEuZ2V0RGF5KCksdGhpcy4kSD1BLmdldEhvdXJzKCksdGhpcy4kbT1BLmdldE1pbnV0ZXMoKSx0aGlzLiRzPUEuZ2V0U2Vjb25kcygpLHRoaXMuJG1zPUEuZ2V0TWlsbGlzZWNvbmRzKCl9LEUuJHV0aWxzPWZ1bmN0aW9uKCl7cmV0dXJuIFB9LEUuaXNWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLnRvU3RyaW5nKCkhPT12fSxFLmlzU2FtZT1mdW5jdGlvbihBLEYpe3ZhciBXPVQoQSk7cmV0dXJuIHRoaXMuc3RhcnRPZihGKTw9VyYmVzw9dGhpcy5lbmRPZihGKX0sRS5pc0FmdGVyPWZ1bmN0aW9uKEEsRil7cmV0dXJuIFQoQSk8dGhpcy5zdGFydE9mKEYpfSxFLmlzQmVmb3JlPWZ1bmN0aW9uKEEsRil7cmV0dXJuIHRoaXMuZW5kT2YoRik8VChBKX0sRS4kZz1mdW5jdGlvbihBLEYsVyl7cmV0dXJuIFAudShBKT90aGlzW0ZdOnRoaXMuc2V0KFcsQSl9LEUudW5peD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmZsb29yKHRoaXMudmFsdWVPZigpLzFlMyl9LEUudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLmdldFRpbWUoKX0sRS5zdGFydE9mPWZ1bmN0aW9uKEEsRil7dmFyIFc9dGhpcyxqPSEhUC51KEYpfHxGLEc9UC5wKEEpLGhlPXMoZnVuY3Rpb24oWSxRKXt2YXIgSj1QLncoVy4kdT9EYXRlLlVUQyhXLiR5LFEsWSk6bmV3IERhdGUoVy4keSxRLFkpLFcpO3JldHVybiBqP0o6Si5lbmRPZihsKX0sImwiKSxSPXMoZnVuY3Rpb24oWSxRKXtyZXR1cm4gUC53KFcudG9EYXRlKClbWV0uYXBwbHkoVy50b0RhdGUoInMiKSwoaj9bMCwwLDAsMF06WzIzLDU5LDU5LDk5OV0pLnNsaWNlKFEpKSxXKX0sIiQiKSxVPXRoaXMuJFcsbWU9dGhpcy4kTSxJPXRoaXMuJEQscT0ic2V0IisodGhpcy4kdT8iVVRDIjoiIik7c3dpdGNoKEcpe2Nhc2UgdTpyZXR1cm4gaj9oZSgxLDApOmhlKDMxLDExKTtjYXNlIGM6cmV0dXJuIGo/aGUoMSxtZSk6aGUoMCxtZSsxKTtjYXNlIGQ6dmFyIGNlPXRoaXMuJGxvY2FsZSgpLndlZWtTdGFydHx8MCx1ZT0oVTxjZT9VKzc6VSktY2U7cmV0dXJuIGhlKGo/SS11ZTpJKyg2LXVlKSxtZSk7Y2FzZSBsOmNhc2UgbTpyZXR1cm4gUihxKyJIb3VycyIsMCk7Y2FzZSBuOnJldHVybiBSKHErIk1pbnV0ZXMiLDEpO2Nhc2UgbzpyZXR1cm4gUihxKyJTZWNvbmRzIiwyKTtjYXNlIGk6cmV0dXJuIFIocSsiTWlsbGlzZWNvbmRzIiwzKTtkZWZhdWx0OnJldHVybiB0aGlzLmNsb25lKCl9fSxFLmVuZE9mPWZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLnN0YXJ0T2YoQSwhMSl9LEUuJHNldD1mdW5jdGlvbihBLEYpe3ZhciBXLGo9UC5wKEEpLEc9InNldCIrKHRoaXMuJHU/IlVUQyI6IiIpLGhlPShXPXt9LFdbbF09RysiRGF0ZSIsV1ttXT1HKyJEYXRlIixXW2NdPUcrIk1vbnRoIixXW3VdPUcrIkZ1bGxZZWFyIixXW25dPUcrIkhvdXJzIixXW29dPUcrIk1pbnV0ZXMiLFdbaV09RysiU2Vjb25kcyIsV1tyXT1HKyJNaWxsaXNlY29uZHMiLFcpW2pdLFI9aj09PWw/dGhpcy4kRCsoRi10aGlzLiRXKTpGO2lmKGo9PT1jfHxqPT09dSl7dmFyIFU9dGhpcy5jbG9uZSgpLnNldChtLDEpO1UuJGRbaGVdKFIpLFUuaW5pdCgpLHRoaXMuJGQ9VS5zZXQobSxNYXRoLm1pbih0aGlzLiRELFUuZGF5c0luTW9udGgoKSkpLiRkfWVsc2UgaGUmJnRoaXMuJGRbaGVdKFIpO3JldHVybiB0aGlzLmluaXQoKSx0aGlzfSxFLnNldD1mdW5jdGlvbihBLEYpe3JldHVybiB0aGlzLmNsb25lKCkuJHNldChBLEYpfSxFLmdldD1mdW5jdGlvbihBKXtyZXR1cm4gdGhpc1tQLnAoQSldKCl9LEUuYWRkPWZ1bmN0aW9uKEEsRil7dmFyIFcsaj10aGlzO0E9TnVtYmVyKEEpO3ZhciBHPVAucChGKSxoZT1zKGZ1bmN0aW9uKG1lKXt2YXIgST1UKGopO3JldHVybiBQLncoSS5kYXRlKEkuZGF0ZSgpK01hdGgucm91bmQobWUqQSkpLGopfSwieSIpO2lmKEc9PT1jKXJldHVybiB0aGlzLnNldChjLHRoaXMuJE0rQSk7aWYoRz09PXUpcmV0dXJuIHRoaXMuc2V0KHUsdGhpcy4keStBKTtpZihHPT09bClyZXR1cm4gaGUoMSk7aWYoRz09PWQpcmV0dXJuIGhlKDcpO3ZhciBSPShXPXt9LFdbb109ZSxXW25dPXQsV1tpXT1hLFcpW0ddfHwxLFU9dGhpcy4kZC5nZXRUaW1lKCkrQSpSO3JldHVybiBQLncoVSx0aGlzKX0sRS5zdWJ0cmFjdD1mdW5jdGlvbihBLEYpe3JldHVybiB0aGlzLmFkZCgtMSpBLEYpfSxFLmZvcm1hdD1mdW5jdGlvbihBKXt2YXIgRj10aGlzLFc9dGhpcy4kbG9jYWxlKCk7aWYoIXRoaXMuaXNWYWxpZCgpKXJldHVybiBXLmludmFsaWREYXRlfHx2O3ZhciBqPUF8fCJZWVlZLU1NLUREVEhIOm1tOnNzWiIsRz1QLnoodGhpcyksaGU9dGhpcy4kSCxSPXRoaXMuJG0sVT10aGlzLiRNLG1lPVcud2Vla2RheXMsST1XLm1vbnRocyxxPVcubWVyaWRpZW0sY2U9cyhmdW5jdGlvbihRLEosWixnZSl7cmV0dXJuIFEmJihRW0pdfHxRKEYsaikpfHxaW0pdLnNsaWNlKDAsZ2UpfSwiaCIpLHVlPXMoZnVuY3Rpb24oUSl7cmV0dXJuIFAucyhoZSUxMnx8MTIsUSwiMCIpfSwiZCIpLFk9cXx8ZnVuY3Rpb24oUSxKLFope3ZhciBnZT1RPDEyPyJBTSI6IlBNIjtyZXR1cm4gWj9nZS50b0xvd2VyQ2FzZSgpOmdlfTtyZXR1cm4gai5yZXBsYWNlKGIsKGZ1bmN0aW9uKFEsSil7cmV0dXJuIEp8fChmdW5jdGlvbihaKXtzd2l0Y2goWil7Y2FzZSJZWSI6cmV0dXJuIFN0cmluZyhGLiR5KS5zbGljZSgtMik7Y2FzZSJZWVlZIjpyZXR1cm4gUC5zKEYuJHksNCwiMCIpO2Nhc2UiTSI6cmV0dXJuIFUrMTtjYXNlIk1NIjpyZXR1cm4gUC5zKFUrMSwyLCIwIik7Y2FzZSJNTU0iOnJldHVybiBjZShXLm1vbnRoc1Nob3J0LFUsSSwzKTtjYXNlIk1NTU0iOnJldHVybiBjZShJLFUpO2Nhc2UiRCI6cmV0dXJuIEYuJEQ7Y2FzZSJERCI6cmV0dXJuIFAucyhGLiRELDIsIjAiKTtjYXNlImQiOnJldHVybiBTdHJpbmcoRi4kVyk7Y2FzZSJkZCI6cmV0dXJuIGNlKFcud2Vla2RheXNNaW4sRi4kVyxtZSwyKTtjYXNlImRkZCI6cmV0dXJuIGNlKFcud2Vla2RheXNTaG9ydCxGLiRXLG1lLDMpO2Nhc2UiZGRkZCI6cmV0dXJuIG1lW0YuJFddO2Nhc2UiSCI6cmV0dXJuIFN0cmluZyhoZSk7Y2FzZSJISCI6cmV0dXJuIFAucyhoZSwyLCIwIik7Y2FzZSJoIjpyZXR1cm4gdWUoMSk7Y2FzZSJoaCI6cmV0dXJuIHVlKDIpO2Nhc2UiYSI6cmV0dXJuIFkoaGUsUiwhMCk7Y2FzZSJBIjpyZXR1cm4gWShoZSxSLCExKTtjYXNlIm0iOnJldHVybiBTdHJpbmcoUik7Y2FzZSJtbSI6cmV0dXJuIFAucyhSLDIsIjAiKTtjYXNlInMiOnJldHVybiBTdHJpbmcoRi4kcyk7Y2FzZSJzcyI6cmV0dXJuIFAucyhGLiRzLDIsIjAiKTtjYXNlIlNTUyI6cmV0dXJuIFAucyhGLiRtcywzLCIwIik7Y2FzZSJaIjpyZXR1cm4gR31yZXR1cm4gbnVsbH0pKFEpfHxHLnJlcGxhY2UoIjoiLCIiKX0pKX0sRS51dGNPZmZzZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gMTUqLU1hdGgucm91bmQodGhpcy4kZC5nZXRUaW1lem9uZU9mZnNldCgpLzE1KX0sRS5kaWZmPWZ1bmN0aW9uKEEsRixXKXt2YXIgaixHPXRoaXMsaGU9UC5wKEYpLFI9VChBKSxVPShSLnV0Y09mZnNldCgpLXRoaXMudXRjT2Zmc2V0KCkpKmUsbWU9dGhpcy1SLEk9cyhmdW5jdGlvbigpe3JldHVybiBQLm0oRyxSKX0sIkQiKTtzd2l0Y2goaGUpe2Nhc2UgdTpqPUkoKS8xMjticmVhaztjYXNlIGM6aj1JKCk7YnJlYWs7Y2FzZSBwOmo9SSgpLzM7YnJlYWs7Y2FzZSBkOmo9KG1lLVUpLzYwNDhlNTticmVhaztjYXNlIGw6aj0obWUtVSkvODY0ZTU7YnJlYWs7Y2FzZSBuOmo9bWUvdDticmVhaztjYXNlIG86aj1tZS9lO2JyZWFrO2Nhc2UgaTpqPW1lL2E7YnJlYWs7ZGVmYXVsdDpqPW1lfXJldHVybiBXP2o6UC5hKGopfSxFLmRheXNJbk1vbnRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZW5kT2YoYykuJER9LEUuJGxvY2FsZT1mdW5jdGlvbigpe3JldHVybiBOW3RoaXMuJExdfSxFLmxvY2FsZT1mdW5jdGlvbihBLEYpe2lmKCFBKXJldHVybiB0aGlzLiRMO3ZhciBXPXRoaXMuY2xvbmUoKSxqPU8oQSxGLCEwKTtyZXR1cm4gaiYmKFcuJEw9aiksV30sRS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBQLncodGhpcy4kZCx0aGlzKX0sRS50b0RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IERhdGUodGhpcy52YWx1ZU9mKCkpfSxFLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzVmFsaWQoKT90aGlzLnRvSVNPU3RyaW5nKCk6bnVsbH0sRS50b0lTT1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLnRvSVNPU3RyaW5nKCl9LEUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC50b1VUQ1N0cmluZygpfSxTfSkoKSxNPUIucHJvdG90eXBlO3JldHVybiBULnByb3RvdHlwZT1NLFtbIiRtcyIscl0sWyIkcyIsaV0sWyIkbSIsb10sWyIkSCIsbl0sWyIkVyIsbF0sWyIkTSIsY10sWyIkeSIsdV0sWyIkRCIsbV1dLmZvckVhY2goKGZ1bmN0aW9uKFMpe01bU1sxXV09ZnVuY3Rpb24oRSl7cmV0dXJuIHRoaXMuJGcoRSxTWzBdLFNbMV0pfX0pKSxULmV4dGVuZD1mdW5jdGlvbihTLEUpe3JldHVybiBTLiRpfHwoUyhFLEIsVCksUy4kaT0hMCksVH0sVC5sb2NhbGU9TyxULmlzRGF5anM9eixULnVuaXg9ZnVuY3Rpb24oUyl7cmV0dXJuIFQoMWUzKlMpfSxULmVuPU5bQ10sVC5Mcz1OLFQucD17fSxUfSkpfSk7dmFyIHBjdD1NbygobGxlLGNsZSk9PnsoZnVuY3Rpb24oYSxlKXt0eXBlb2YgbGxlPT0ib2JqZWN0IiYmdHlwZW9mIGNsZTwidSI/Y2xlLmV4cG9ydHM9ZSgpOnR5cGVvZiBkZWZpbmU9PSJmdW5jdGlvbiImJmRlZmluZS5hbWQ/ZGVmaW5lKGUpOihhPXR5cGVvZiBnbG9iYWxUaGlzPCJ1Ij9nbG9iYWxUaGlzOmF8fHNlbGYpLmRheWpzX3BsdWdpbl9pc1RvZGF5PWUoKX0pKGxsZSwoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7cmV0dXJuIGZ1bmN0aW9uKGEsZSx0KXtlLnByb3RvdHlwZS5pc1RvZGF5PWZ1bmN0aW9uKCl7dmFyIHI9IllZWVktTU0tREQiLGk9dCgpO3JldHVybiB0aGlzLmZvcm1hdChyKT09PWkuZm9ybWF0KHIpfX19KSl9KTtmdW5jdGlvbiBLZ2EoYSl7cmV0dXJue2RheXM6TWF0aC50cnVuYyhhLzg2NGU1KSxob3VyczpNYXRoLnRydW5jKGEvMzZlNSUyNCksbWludXRlczpNYXRoLnRydW5jKGEvNmU0JTYwKSxzZWNvbmRzOk1hdGgudHJ1bmMoYS8xZTMlNjApLG1pbGxpc2Vjb25kczpNYXRoLnRydW5jKGElMWUzKSxtaWNyb3NlY29uZHM6TWF0aC50cnVuYyhmY3QoYSoxZTMpJTFlMyksbmFub3NlY29uZHM6TWF0aC50cnVuYyhmY3QoYSoxZTYpJTFlMyl9fWZ1bmN0aW9uIFpnYShhKXtyZXR1cm57ZGF5czphLzg2NDAwMDAwbixob3VyczphLzM2MDAwMDBuJTI0bixtaW51dGVzOmEvNjAwMDBuJTYwbixzZWNvbmRzOmEvMTAwMG4lNjBuLG1pbGxpc2Vjb25kczphJTEwMDBuLG1pY3Jvc2Vjb25kczowbixuYW5vc2Vjb25kczowbn19ZnVuY3Rpb24gZGxlKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSJudW1iZXIiOntpZihOdW1iZXIuaXNGaW5pdGUoYSkpcmV0dXJuIEtnYShhKTticmVha31jYXNlImJpZ2ludCI6cmV0dXJuIFpnYShhKX10aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZpbml0ZSBudW1iZXIgb3IgYmlnaW50Iil9dmFyIGZjdCxoY3Q9ZigoKT0+e2ZjdD1zKGE9Pk51bWJlci5pc0Zpbml0ZShhKT9hOjAsInRvWmVyb0lmSW5maW5pdHkiKTtzKEtnYSwicGFyc2VOdW1iZXIiKTtzKFpnYSwicGFyc2VCaWdpbnQiKTtzKGRsZSwicGFyc2VNaWxsaXNlY29uZHMiKX0pO2Z1bmN0aW9uIFM5KGEsZSl7bGV0IHQ9dHlwZW9mIGE9PSJiaWdpbnQiO2lmKCF0JiYhTnVtYmVyLmlzRmluaXRlKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgZmluaXRlIG51bWJlciBvciBiaWdpbnQiKTtlPXsuLi5lfTtsZXQgcj1hPDA/Ii0iOiIiO2E9YTwwPy1hOmEsZS5jb2xvbk5vdGF0aW9uJiYoZS5jb21wYWN0PSExLGUuZm9ybWF0U3ViTWlsbGlzZWNvbmRzPSExLGUuc2VwYXJhdGVNaWxsaXNlY29uZHM9ITEsZS52ZXJib3NlPSExKSxlLmNvbXBhY3QmJihlLnVuaXRDb3VudD0xLGUuc2Vjb25kc0RlY2ltYWxEaWdpdHM9MCxlLm1pbGxpc2Vjb25kc0RlY2ltYWxEaWdpdHM9MCk7bGV0IGk9W10sbz1zKChwLHUpPT57bGV0IG09TWF0aC5mbG9vcihwKjEwKip1K0pnYSk7cmV0dXJuKE1hdGgucm91bmQobSkvMTAqKnUpLnRvRml4ZWQodSl9LCJmbG9vckRlY2ltYWxzIiksbj1zKChwLHUsbSx2KT0+e2lmKCEoKGkubGVuZ3RoPT09MHx8IWUuY29sb25Ob3RhdGlvbikmJlhnYShwKSYmIShlLmNvbG9uTm90YXRpb24mJm09PT0ibSIpKSl7aWYodj8/PVN0cmluZyhwKSxlLmNvbG9uTm90YXRpb24pe2xldCB4PXYuaW5jbHVkZXMoIi4iKT92LnNwbGl0KCIuIilbMF0ubGVuZ3RoOnYubGVuZ3RoLGI9aS5sZW5ndGg+MD8yOjE7dj0iMCIucmVwZWF0KE1hdGgubWF4KDAsYi14KSkrdn1lbHNlIHYrPWUudmVyYm9zZT8iICIrUWdhKHUscCk6bTtpLnB1c2godil9fSwiYWRkIiksbD1kbGUoYSksZD1CaWdJbnQobC5kYXlzKTtpZihlLmhpZGVZZWFyQW5kRGF5cz9uKEJpZ0ludChkKSoyNG4rQmlnSW50KGwuaG91cnMpLCJob3VyIiwiaCIpOihlLmhpZGVZZWFyP24oZCwiZGF5IiwiZCIpOihuKGQvMzY1biwieWVhciIsInkiKSxuKGQlMzY1biwiZGF5IiwiZCIpKSxuKE51bWJlcihsLmhvdXJzKSwiaG91ciIsImgiKSksbihOdW1iZXIobC5taW51dGVzKSwibWludXRlIiwibSIpLCFlLmhpZGVTZWNvbmRzKWlmKGUuc2VwYXJhdGVNaWxsaXNlY29uZHN8fGUuZm9ybWF0U3ViTWlsbGlzZWNvbmRzfHwhZS5jb2xvbk5vdGF0aW9uJiZhPDFlMyYmIWUuc3ViU2Vjb25kc0FzRGVjaW1hbHMpe2xldCBwPU51bWJlcihsLnNlY29uZHMpLHU9TnVtYmVyKGwubWlsbGlzZWNvbmRzKSxtPU51bWJlcihsLm1pY3Jvc2Vjb25kcyksdj1OdW1iZXIobC5uYW5vc2Vjb25kcyk7aWYobihwLCJzZWNvbmQiLCJzIiksZS5mb3JtYXRTdWJNaWxsaXNlY29uZHMpbih1LCJtaWxsaXNlY29uZCIsIm1zIiksbihtLCJtaWNyb3NlY29uZCIsIlx4QjVzIiksbih2LCJuYW5vc2Vjb25kIiwibnMiKTtlbHNle2xldCB4PXUrbS8xZTMrdi8xZTYsYj10eXBlb2YgZS5taWxsaXNlY29uZHNEZWNpbWFsRGlnaXRzPT0ibnVtYmVyIj9lLm1pbGxpc2Vjb25kc0RlY2ltYWxEaWdpdHM6MCxnPXg+PTE/TWF0aC5yb3VuZCh4KTpNYXRoLmNlaWwoeCkseT1iP3gudG9GaXhlZChiKTpnO24oTnVtYmVyLnBhcnNlRmxvYXQoeSksIm1pbGxpc2Vjb25kIiwibXMiLHkpfX1lbHNle2xldCBwPSh0P051bWJlcihhJWViYSk6YSkvMWUzJTYwLHU9dHlwZW9mIGUuc2Vjb25kc0RlY2ltYWxEaWdpdHM9PSJudW1iZXIiP2Uuc2Vjb25kc0RlY2ltYWxEaWdpdHM6MSxtPW8ocCx1KSx2PWUua2VlcERlY2ltYWxzT25XaG9sZVNlY29uZHM/bTptLnJlcGxhY2UoL1wuMCskLywiIik7bihOdW1iZXIucGFyc2VGbG9hdCh2KSwic2Vjb25kIiwicyIsdil9aWYoaS5sZW5ndGg9PT0wKXJldHVybiByKyIwIisoZS52ZXJib3NlPyIgbWlsbGlzZWNvbmRzIjoibXMiKTtsZXQgYz1lLmNvbG9uTm90YXRpb24/IjoiOiIgIjtyZXR1cm4gdHlwZW9mIGUudW5pdENvdW50PT0ibnVtYmVyIiYmKGk9aS5zbGljZSgwLE1hdGgubWF4KGUudW5pdENvdW50LDEpKSkscitpLmpvaW4oYyl9dmFyIFhnYSxRZ2EsSmdhLGViYSxtY3Q9ZigoKT0+e2hjdCgpO1hnYT1zKGE9PmE9PT0wfHxhPT09MG4sImlzWmVybyIpLFFnYT1zKChhLGUpPT5lPT09MXx8ZT09PTFuP2E6YCR7YX1zYCwicGx1cmFsaXplIiksSmdhPTFlLTcsZWJhPTI0bio2MG4qNjBuKjEwMDBuO3MoUzksInByZXR0eU1pbGxpc2Vjb25kcyIpfSk7dmFyIHgzLGdjdCxtMD1mKCgpPT57ejkoKTt0MCgpO2JpKCk7Q3N0KCk7ZGN0KCk7eDM9a28odWN0KCksMSksZ2N0PWtvKHBjdCgpLDEpO21jdCgpO3gzLmRlZmF1bHQuZXh0ZW5kKGdjdC5kZWZhdWx0KX0pO3ZhciBDOSx1bGU9ZigoKT0+e20wKCk7cGxlKCk7Qzk9Y2xhc3N7c3RhdGlje3ModGhpcywiQ3JvbkpvYiIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLnN0YXR1cz0iaW5pdGlhbCIsdGhpcy5uZXh0RXhlY3V0aW9uVW5peD0wLHRoaXMuY3JvbkV4cHJlc3Npb249dCx0aGlzLmpvYkZ1bmN0aW9uPXIsdGhpcy5jcm9uUGFyc2VyPW5ldyBhOS5Dcm9uKHQpfWNoZWNrRXhlY3V0aW9uKCl7aWYodGhpcy5zdGF0dXM9PT0ic3RvcHBlZCIpcmV0dXJuIHRoaXMubmV4dEV4ZWN1dGlvblVuaXg7aWYodGhpcy5uZXh0RXhlY3V0aW9uVW5peD09PTAmJnRoaXMuZ2V0TmV4dEV4ZWN1dGlvblRpbWUoKSxEYXRlLm5vdygpPnRoaXMubmV4dEV4ZWN1dGlvblVuaXgpe2xldCBlPXRoaXMuam9iRnVuY3Rpb24odGhpcy5uZXh0RXhlY3V0aW9uVW5peCk7ZSBpbnN0YW5jZW9mIFByb21pc2UmJmUuY2F0Y2godD0+Y29uc29sZS5sb2codCkpLHRoaXMubmV4dEV4ZWN1dGlvblVuaXg9dGhpcy5nZXROZXh0RXhlY3V0aW9uVGltZSgpfXJldHVybiB0aGlzLm5leHRFeGVjdXRpb25Vbml4fWdldE5leHRFeGVjdXRpb25UaW1lKCl7cmV0dXJuIHRoaXMubmV4dEV4ZWN1dGlvblVuaXg9RGF0ZS5ub3coKSt0aGlzLmdldFRpbWVUb05leHRFeGVjdXRpb24oKX1nZXRUaW1lVG9OZXh0RXhlY3V0aW9uKCl7cmV0dXJuIHRoaXMuY3JvblBhcnNlci5tc1RvTmV4dCgpfXN0YXJ0KCl7dGhpcy5zdGF0dXM9InN0YXJ0ZWQifXN0b3AoKXt0aGlzLnN0YXR1cz0ic3RvcHBlZCJ9fX0pO3ZhciBmbGUscGxlPWYoKCk9PnttMCgpO3VsZSgpO2ZsZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJDcm9uTWFuYWdlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5zdGF0dXM9InN0b3BwZWQiLHRoaXMuY3JvbmpvYnM9bmV3IExzLk9iamVjdE1hcCx0aGlzLmN5Y2xlV2FrZURlZmVycmVkPW51bGx9d2FrZUN5Y2xlKCl7dGhpcy5jeWNsZVdha2VEZWZlcnJlZCYmdGhpcy5jeWNsZVdha2VEZWZlcnJlZC5zdGF0dXM9PT0icGVuZGluZyImJnRoaXMuY3ljbGVXYWtlRGVmZXJyZWQucmVzb2x2ZSgpfWFkZENyb25qb2IoZSx0KXtsZXQgcj1uZXcgQzkodGhpcyxlLHQpO3JldHVybiB0aGlzLmNyb25qb2JzLmFkZChyKSx0aGlzLnN0YXR1cz09PSJzdGFydGVkIiYmKHIuc3RhcnQoKSx0aGlzLndha2VDeWNsZSgpKSxyfXJlbW92ZUNyb25qb2IoZSl7ZS5zdG9wKCksdGhpcy5jcm9uam9icy5yZW1vdmUoZSksdGhpcy5zdGF0dXM9PT0ic3RhcnRlZCImJnRoaXMud2FrZUN5Y2xlKCl9c3RhcnQoKXtpZih0aGlzLnN0YXR1cyE9PSJzdGFydGVkIil7dGhpcy5zdGF0dXM9InN0YXJ0ZWQiO2ZvcihsZXQgZSBvZiB0aGlzLmNyb25qb2JzLmdldEFycmF5KCkpZS5zdGFydCgpO3RoaXMucnVuQ3JvbkN5Y2xlKCl9fWFzeW5jIHJ1bkNyb25DeWNsZSgpe2Zvcig7dGhpcy5zdGF0dXM9PT0ic3RhcnRlZCI7KXt0aGlzLmN5Y2xlV2FrZURlZmVycmVkPW5ldyBjdC5EZWZlcnJlZDtsZXQgZT0xLzA7Zm9yKGxldCB0IG9mIHRoaXMuY3JvbmpvYnMuZ2V0QXJyYXkoKSl7dC5jaGVja0V4ZWN1dGlvbigpO2xldCByPXQuZ2V0VGltZVRvTmV4dEV4ZWN1dGlvbigpO3I8ZSYmKGU9cil9aWYoZTwxLzAmJmU+MCl0aGlzLmV4ZWN1dGlvblRpbWVvdXQ9bmV3IFV0LlRpbWVvdXQoZSksYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmV4ZWN1dGlvblRpbWVvdXQucHJvbWlzZSx0aGlzLmN5Y2xlV2FrZURlZmVycmVkLnByb21pc2VdKSx0aGlzLmV4ZWN1dGlvblRpbWVvdXQuY2FuY2VsKCk7ZWxzZXtpZihlPD0wKWNvbnRpbnVlO2F3YWl0IHRoaXMuY3ljbGVXYWtlRGVmZXJyZWQucHJvbWlzZX19dGhpcy5jeWNsZVdha2VEZWZlcnJlZD1udWxsfXN0b3AoKXt0aGlzLnN0YXR1cz09PSJzdGFydGVkIiYmKHRoaXMuc3RhdHVzPSJzdG9wcGVkIix0aGlzLmV4ZWN1dGlvblRpbWVvdXQmJnRoaXMuZXhlY3V0aW9uVGltZW91dC5jYW5jZWwoKSx0aGlzLndha2VDeWNsZSgpKTtmb3IobGV0IGUgb2YgdGhpcy5jcm9uam9icy5nZXRBcnJheSgpKWUuc3RvcCgpfX19KTt2YXIgZzAsaGxlLHRiYSxhYmEsbWxlPWYoKCk9PnttMCgpO2cwPXt5ZWFyczpzKChhPTEpPT5hKjMxNTRlNywieWVhcnMiKSxtb250aHM6cygoYT0xKT0+YSoyNjI4ZTYsIm1vbnRocyIpLHdlZWtzOnMoKGE9MSk9PmEqNjA0OGU1LCJ3ZWVrcyIpLGRheXM6cygoYT0xKT0+YSo4NjRlNSwiZGF5cyIpLGhvdXJzOnMoKGE9MSk9PmEqMzZlNSwiaG91cnMiKSxtaW51dGVzOnMoKGE9MSk9PmEqNmU0LCJtaW51dGVzIiksc2Vjb25kczpzKChhPTEpPT5hKjFlMywic2Vjb25kcyIpfSxobGU9cyhhPT57bGV0IGU9MCx0PXMocj0+e2U9ZStyfSwiYWRkTWlsbGlTZWNvbmRzIik7cmV0dXJuIGEueWVhcnMmJnQoZzAueWVhcnMoYS55ZWFycykpLGEubW9udGhzJiZ0KGcwLm1vbnRocyhhLm1vbnRocykpLGEud2Vla3MmJnQoZzAud2Vla3MoYS53ZWVrcykpLGEuZGF5cyYmdChnMC5kYXlzKGEuZGF5cykpLGEuaG91cnMmJnQoZzAuaG91cnMoYS5ob3VycykpLGEubWludXRlcyYmdChnMC5taW51dGVzKGEubWludXRlcykpLGEuc2Vjb25kcyYmdChnMC5zZWNvbmRzKGEuc2Vjb25kcykpLGV9LCJnZXRNaWxsaVNlY29uZHNGcm9tVW5pdHMiKSx0YmE9cyhhPT5TOShhKSwiZ2V0TWlsbGlTZWNvbmRzQXNIdW1hblJlYWRhYmxlU3RyaW5nIiksYWJhPXMoYT0+azkuZm9ybWF0RGlzdGFuY2VUb05vdyhuZXcgRGF0ZShhKSksImdldE1pbGxpU2Vjb25kc0FzSHVtYW5SZWFkYWJsZUFnb1RpbWUiKX0pO3ZhciBnbGUsYmN0PWYoKCk9PnttMCgpO21sZSgpO2dsZT1jbGFzcyBhIGV4dGVuZHMgRGF0ZXtzdGF0aWN7cyh0aGlzLCJFeHRlbmRlZERhdGUiKX1zdGF0aWMgZnJvbU1pbGxpcyhlKXtyZXR1cm4gbmV3IGEoZSl9c3RhdGljIGZyb21EYXRlKGUpe3JldHVybiBuZXcgYShlLmdldFRpbWUoKSl9c3RhdGljIGZyb21FdXJvcGVhbkRhdGUoZSl7bGV0IHQ9LyguKilcLiguKilcLiguKikvLmV4ZWMoZSksaT1uZXcgRGF0ZShwYXJzZUZsb2F0KHRbM10pLHBhcnNlRmxvYXQodFsyXSktMSxwYXJzZUZsb2F0KHRbMV0pKS5nZXRUaW1lKCk7cmV0dXJuIG5ldyBhKGkpfXN0YXRpYyBmcm9tSHlwaGVkRGF0ZShlKXtsZXQgdD1uZXcgRGF0ZShlKS5nZXRUaW1lKCk7cmV0dXJuIG5ldyBhKHQpfXN0YXRpYyBmcm9tRXVyb3BlYW5EYXRlQW5kVGltZShlLHQ9IjEyOjAwOjAwIixyPSJFdXJvcGUvQmVybGluIil7bGV0IGk9LyguKilcLiguKilcLiguKikvLmV4ZWMoZSksbz1zKGM9PmAwJHtjfWAuc2xpY2UoLTIpLCJzbGljZURhdGUiKSxuPWAke2lbM119LSR7byhpWzJdKX0tJHtvKGlbMV0pfVQke3R9YCxkPXgzLmRlZmF1bHQobikudG9EYXRlKCkuZ2V0VGltZSgpO3JldHVybiBuZXcgYShkKX1jb25zdHJ1Y3RvcihlPURhdGUubm93KCkpe3N1cGVyKGUpfWV4cG9ydFRvRXVyb3BlYW5EYXRlKCl7bGV0IGU9dGhpcy5leHBvcnRUb1VuaXRzKCk7cmV0dXJuYCR7ZS5kYXlTdHJpbmd9LiR7ZS5tb250aFN0cmluZ30uJHtlLnllYXJTdHJpbmd9YH1leHBvcnRUb0h5cGhlZFNvcnRhYmxlRGF0ZSgpe2xldCBlPXRoaXMuZXhwb3J0VG9Vbml0cygpO3JldHVybmAke2UueWVhclN0cmluZ30tJHtlLm1vbnRoU3RyaW5nfS0ke2UuZGF5U3RyaW5nfWB9ZXhwb3J0VG9Vbml0cygpe2xldCBlPVsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSx0PVsiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiLCJTdW5kYXkiXTtyZXR1cm57eWVhcjp0aGlzLmdldEZ1bGxZZWFyKCkseWVhclN0cmluZzpgJHt0aGlzLmdldEZ1bGxZZWFyKCl9YCxtb250aDp0aGlzLmdldE1vbnRoKCkrMSxtb250aFN0cmluZzooIjAiKyh0aGlzLmdldE1vbnRoKCkrMSkpLnNsaWNlKC0yKSxtb250aE5hbWU6ZVt0aGlzLmdldE1vbnRoKCldLGRheTp0aGlzLmdldERhdGUoKSxkYXlTdHJpbmc6KCIwIit0aGlzLmdldERhdGUoKSkuc2xpY2UoLTIpLGRheU9mVGhlV2Vlazp0aGlzLmdldERheSgpLGRheU9mVGhlV2Vla05hbWU6dFt0aGlzLmdldERheSgpXX19Zm9ybWF0KGUpe3JldHVybiB4My5kZWZhdWx0KHRoaXMuZ2V0VGltZSgpKS5mb3JtYXQoZSl9aXNUb2RheSgpe3JldHVybiB4My5kZWZhdWx0KHRoaXMuZ2V0VGltZSgpKS5pc1RvZGF5KCl9bGVzc1RpbWVQYXNzZWRUb05vdyhlKXtsZXQgdD1obGUoZSk7cmV0dXJuIERhdGUubm93KCktdGhpcy5nZXRUaW1lKCk8dH1tb3JlVGltZVBhc3NlZFRvTm93KGUpe3JldHVybiF0aGlzLmxlc3NUaW1lUGFzc2VkVG9Ob3coZSl9fX0pO3ZhciBibGUsdmN0PWYoKCk9PntibGU9Y2xhc3N7c3RhdGlje3ModGhpcywiSHJ0TWVhc3VyZW1lbnQiKX1jb25zdHJ1Y3Rvcigpe3RoaXMubmFub1NlY29uZHM9bnVsbCx0aGlzLm1pbGxpU2Vjb25kcz1udWxsLHRoaXMuX21pbGxpU3RhcnQ9bnVsbCx0aGlzLl9taWxsaURpZmY9bnVsbCx0aGlzLl9zdGFydGVkPSExfXN0YXJ0KCl7dGhpcy5fc3RhcnRlZD0hMCx0aGlzLl9taWxsaVN0YXJ0PURhdGUubm93KCl9c3RvcCgpe2lmKHRoaXMuX3N0YXJ0ZWQ9PT0hMSl7Y29uc29sZS5sb2coIkhhc24ndCBzdGFydGVkIHlldCIpO3JldHVybn1yZXR1cm4gdGhpcy5fbWlsbGlEaWZmPURhdGUubm93KCktdGhpcy5fbWlsbGlTdGFydCx0aGlzLm5hbm9TZWNvbmRzPXRoaXMuX21pbGxpRGlmZioxZTMsdGhpcy5taWxsaVNlY29uZHM9dGhpcy5fbWlsbGlEaWZmLHRoaXN9cmVzZXQoKXt0aGlzLm5hbm9TZWNvbmRzPW51bGwsdGhpcy5taWxsaVNlY29uZHM9bnVsbCx0aGlzLl9taWxsaVN0YXJ0PW51bGwsdGhpcy5fbWlsbGlEaWZmPW51bGwsdGhpcy5fc3RhcnRlZD0hMX19fSk7dmFyIHZsZSx4Y3Q9ZigoKT0+e20wKCk7dmxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkludGVydmFsIil9Y29uc3RydWN0b3IoZSl7dGhpcy5zdGF0dXM9ImluaXRpYWwiLHRoaXMuc3RhdHVzQXV0aG9yaXphdGlvbj1udWxsLHRoaXMuaW50ZXJ2YWxKb2JzPVtdLHRoaXMuaW50ZXJ2YWxNaWxsaXNlY29uZHM9ZX1zdGFydCgpe3RoaXMuc3RhdHVzPSJzdGFydGVkIjtsZXQgZT1uZXcgRGF0ZTt0aGlzLnN0YXR1c0F1dGhvcml6YXRpb249ZSxzKGFzeW5jKCk9Pntmb3IoO3RoaXMuc3RhdHVzPT09InN0YXJ0ZWQiJiZ0aGlzLnN0YXR1c0F1dGhvcml6YXRpb249PT1lOylhd2FpdCBVdC5kZWxheUZvcih0aGlzLmludGVydmFsTWlsbGlzZWNvbmRzKSx0aGlzLmV4ZWN1dGVJbnRlcnZhbEpvYnMoKX0sInJ1bkludGVydmFsIikoKX1zdG9wKCl7dGhpcy5zdGF0dXM9InN0b3BwZWQiLHRoaXMuc3RhdHVzQXV0aG9yaXphdGlvbj1udWxsfWFkZEludGVydmFsSm9iKGUpe3RoaXMuaW50ZXJ2YWxKb2JzLnB1c2goZSl9ZXhlY3V0ZUludGVydmFsSm9icygpe2ZvcihsZXQgZSBvZiB0aGlzLmludGVydmFsSm9icyllKCl9fX0pO3ZhciBBaCx4bGU9ZigoKT0+e20wKCk7QWg9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJUaW1lU3RhbXAiKX1zdGF0aWMgZnJvbU1pbGxpU2Vjb25kcyhlKXtyZXR1cm4gbmV3IGEoZSl9c3RhdGljIGZyb21UaW1lU3RhbXAoZSl7bGV0IHQ9bmV3IGE7cmV0dXJuIHQuY2hhbmdlPXQubWlsbGlTZWNvbmRzLWUubWlsbGlTZWNvbmRzLHR9Y29uc3RydWN0b3IoZSl7dGhpcy5jaGFuZ2U9bnVsbCxlP3R5cGVvZiBlPT0ibnVtYmVyIiYmKHRoaXMuZGF0ZT1uZXcgRGF0ZShlKSk6dGhpcy5kYXRlPW5ldyBEYXRlLHRoaXMubWlsbGlTZWNvbmRzPXRoaXMuZGF0ZS5nZXRUaW1lKCksdGhpcy5lcG9jaHRpbWU9TWF0aC5mbG9vcih0aGlzLm1pbGxpU2Vjb25kcy8xZTMpfWlzT2xkZXJUaGFuT3RoZXJUaW1lU3RhbXAoZSx0PTApe3JldHVybiB0aGlzLm1pbGxpU2Vjb25kczxlLm1pbGxpU2Vjb25kcy10fWlzT2xkZXJUaGFuKGUsdD0wKXtyZXR1cm4gdGhpcy5taWxsaVNlY29uZHMrdDxlLm1pbGxpU2Vjb25kc31pc1lvdW5nZXJUaGFuT3RoZXJUaW1lU3RhbXAoZSx0PTApe3JldHVybiB0aGlzLm1pbGxpU2Vjb25kcz5lLm1pbGxpU2Vjb25kcyt0fWlzWW91bmdlclRoYW5NaWxsaVNlY29uZHMoZSl7bGV0IHI9bmV3IGEoKS5lcG9jaHRpbWUtZSxpPW5ldyBhKHIpO3JldHVybiB0aGlzLmlzWW91bmdlclRoYW5PdGhlclRpbWVTdGFtcChpKX19fSk7dmFyIHlsZSx5Y3Q9ZigoKT0+e20wKCk7eGxlKCk7eWxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRpbWVyIil9Z2V0IHRpbWVMZWZ0KCl7cmV0dXJuIHRoaXMudGltZUluTWlsbGlzZWNvbmRzLXRoaXMucGF1c2VkQXQuY2hhbmdlfWNvbnN0cnVjdG9yKGUpe3RoaXMuc3RhdGU9ImluaXRpYXRlZCIsdGhpcy5jb21wbGV0ZWREZWZlcnJlZD1jdC5kZWZlcigpLHRoaXMudGltZUluTWlsbGlzZWNvbmRzPWUsdGhpcy5jb21wbGV0ZWQ9dGhpcy5jb21wbGV0ZWREZWZlcnJlZC5wcm9taXNlfXN0YXJ0KCl7aWYoIXRoaXMuc3RhcnRlZEF0KXRoaXMuY3VycmVudFRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuY29tcGxldGVkRGVmZXJyZWQucmVzb2x2ZSgpfSx0aGlzLnRpbWVJbk1pbGxpc2Vjb25kcyksdGhpcy5zdGFydGVkQXQ9bmV3IEFoO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJ0aW1lciBoYXMgYmVlbiBzdGFydGVkIGJlZm9yZS4gUGxlYXNlIHVzZSByZXN1bWUgaW5zdGVhZCIpfXBhdXNlKCl7dGhpcy5zdGFydGVkQXQmJihjbGVhclRpbWVvdXQodGhpcy5jdXJyZW50VGltZW91dCksdGhpcy5jdXJyZW50VGltZW91dD1udWxsLHRoaXMucGF1c2VkQXQ9QWguZnJvbVRpbWVTdGFtcCh0aGlzLnN0YXJ0ZWRBdCkpfXJlc3VtZSgpe2lmKHRoaXMuc3RhcnRlZEF0KXRoaXMuY3VycmVudFRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuY29tcGxldGVkRGVmZXJyZWQucmVzb2x2ZSgpfSx0aGlzLnRpbWVMZWZ0KTtlbHNlIHRocm93IG5ldyBFcnJvcigidGltZXIgaGFzIE5PVCBiZWVuIHN0YXJ0ZWQgYmVmb3JlLiBQbGVhc2UgdXNlIC5zdGFydCgpIGluc3RlYWQiKX1yZXNldCgpe3RoaXMucGF1c2UoKSx0aGlzLnN0YXJ0ZWRBdD1udWxsLHRoaXMucGF1c2VkQXQ9bnVsbH19fSk7dmFyIHkzPXt9O2x0KHkzLHtDcm9uSm9iOigpPT5DOSxDcm9uTWFuYWdlcjooKT0+ZmxlLEV4dGVuZGVkRGF0ZTooKT0+Z2xlLEhydE1lYXN1cmVtZW50OigpPT5ibGUsSW50ZXJ2YWw6KCk9PnZsZSxUaW1lU3RhbXA6KCk9PkFoLFRpbWVyOigpPT55bGUsZ2V0TWlsbGlTZWNvbmRzQXNIdW1hblJlYWRhYmxlQWdvVGltZTooKT0+YWJhLGdldE1pbGxpU2Vjb25kc0FzSHVtYW5SZWFkYWJsZVN0cmluZzooKT0+dGJhLGdldE1pbGxpU2Vjb25kc0Zyb21Vbml0czooKT0+aGxlLHVuaXRzOigpPT5nMH0pO3ZhciB3Y3Q9ZigoKT0+e3BsZSgpO3VsZSgpO2JjdCgpO3ZjdCgpO3hjdCgpO3ljdCgpO3hsZSgpO21sZSgpfSk7dmFyIGtjdD1NbygoWV9yLE1jdCk9PnsidXNlIHN0cmljdCI7TWN0LmV4cG9ydHM9Y2xhc3N7c3RhdGlje3ModGhpcywiU3ltYm9sVHJlZU5vZGUiKX1jb25zdHJ1Y3Rvcigpe3RoaXMucGFyZW50PW51bGwsdGhpcy5wcmV2aW91c1NpYmxpbmc9bnVsbCx0aGlzLm5leHRTaWJsaW5nPW51bGwsdGhpcy5maXJzdENoaWxkPW51bGwsdGhpcy5sYXN0Q2hpbGQ9bnVsbCx0aGlzLmNoaWxkcmVuVmVyc2lvbj0wLHRoaXMuY2hpbGRJbmRleENhY2hlZFVwVG89bnVsbCx0aGlzLmNhY2hlZEluZGV4PS0xLHRoaXMuY2FjaGVkSW5kZXhWZXJzaW9uPU5hTn1nZXQgaXNBdHRhY2hlZCgpe3JldHVybiEhKHRoaXMucGFyZW50fHx0aGlzLnByZXZpb3VzU2libGluZ3x8dGhpcy5uZXh0U2libGluZyl9Z2V0IGhhc0NoaWxkcmVuKCl7cmV0dXJuISF0aGlzLmZpcnN0Q2hpbGR9Y2hpbGRyZW5DaGFuZ2VkKCl7dGhpcy5jaGlsZHJlblZlcnNpb249dGhpcy5jaGlsZHJlblZlcnNpb24rMSY0Mjk0OTY3Mjk1LHRoaXMuY2hpbGRJbmRleENhY2hlZFVwVG89bnVsbH1nZXRDYWNoZWRJbmRleChlKXtyZXR1cm4gdGhpcy5jYWNoZWRJbmRleFZlcnNpb24hPT1lLmNoaWxkcmVuVmVyc2lvbj8odGhpcy5jYWNoZWRJbmRleFZlcnNpb249TmFOLC0xKTp0aGlzLmNhY2hlZEluZGV4fXNldENhY2hlZEluZGV4KGUsdCl7dGhpcy5jYWNoZWRJbmRleFZlcnNpb249ZS5jaGlsZHJlblZlcnNpb24sdGhpcy5jYWNoZWRJbmRleD10fX19KTt2YXIgemN0PU1vKChaX3IsU2N0KT0+eyJ1c2Ugc3RyaWN0IjtTY3QuZXhwb3J0cz1PYmplY3QuZnJlZXplKHtESVNDT05ORUNURUQ6MSxQUkVDRURJTkc6MixGT0xMT1dJTkc6NCxDT05UQUlOUzo4LENPTlRBSU5FRF9CWToxNn0pfSk7dmFyICRjdD1NbygoWF9yLExjdCk9PnsidXNlIHN0cmljdCI7dmFyIENjdD1TeW1ib2woKSxfY3Q9U3ltYm9sKCksYjA9U3ltYm9sKCksVGN0PVN5bWJvbCgpLG8xPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRyZWVJdGVyYXRvciIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe3RoaXNbQ2N0XT1lLHRoaXNbX2N0XT10LHRoaXNbYjBdPXIsdGhpc1tUY3RdPWl9bmV4dCgpe2xldCBlPXRoaXNbQ2N0XSx0PXRoaXNbVGN0XSxyPXRoaXNbX2N0XTtpZighdGhpc1tiMF0pcmV0dXJue2RvbmU6ITAsdmFsdWU6cn07bGV0IGk9dGhpc1tiMF07cmV0dXJuIHQ9PT0xP3RoaXNbYjBdPWUuX25vZGUoaSkucHJldmlvdXNTaWJsaW5nOnQ9PT0yP3RoaXNbYjBdPWUuX25vZGUoaSkubmV4dFNpYmxpbmc6dD09PTM/dGhpc1tiMF09ZS5fbm9kZShpKS5wYXJlbnQ6dD09PTQ/dGhpc1tiMF09ZS5wcmVjZWRpbmcoaSx7cm9vdDpyfSk6dGhpc1tiMF09ZS5mb2xsb3dpbmcoaSx7cm9vdDpyfSkse2RvbmU6ITEsdmFsdWU6aX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkobzEucHJvdG90eXBlLFN5bWJvbC5pdGVyYXRvcix7dmFsdWU6cyhmdW5jdGlvbigpe3JldHVybiB0aGlzfSwidmFsdWUiKSx3cml0YWJsZTohMX0pLG8xLlBSRVY9MSxvMS5ORVhUPTIsbzEuUEFSRU5UPTMsbzEuUFJFQ0VESU5HPTQsbzEuRk9MTE9XSU5HPTUsT2JqZWN0LmZyZWV6ZShvMSksT2JqZWN0LmZyZWV6ZShvMS5wcm90b3R5cGUpLExjdC5leHBvcnRzPW8xfSk7dmFyIEFjdD1NbygoSl9yLERjdCk9PnsidXNlIHN0cmljdCI7dmFyIHNiYT1rY3QoKSx2MD16Y3QoKSx3bj0kY3QoKTtmdW5jdGlvbiB3bGUoKXtyZXR1cm4hMH1zKHdsZSwicmV0dXJuVHJ1ZSIpO2Z1bmN0aW9uIFBoKGEsZSl7cmV0dXJuIGFbYS5sZW5ndGgtMS1lXX1zKFBoLCJyZXZlcnNlQXJyYXlJbmRleCIpO3ZhciBLWj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTeW1ib2xUcmVlIil9Y29uc3RydWN0b3IoZSl7dGhpcy5zeW1ib2w9U3ltYm9sKGV8fCJTeW1ib2xUcmVlIGRhdGEiKX1pbml0aWFsaXplKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLGV9X25vZGUoZSl7aWYoIWUpcmV0dXJuIG51bGw7bGV0IHQ9ZVt0aGlzLnN5bWJvbF07cmV0dXJuIHR8fChlW3RoaXMuc3ltYm9sXT1uZXcgc2JhKX1oYXNDaGlsZHJlbihlKXtyZXR1cm4gdGhpcy5fbm9kZShlKS5oYXNDaGlsZHJlbn1maXJzdENoaWxkKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLmZpcnN0Q2hpbGR9bGFzdENoaWxkKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLmxhc3RDaGlsZH1wcmV2aW91c1NpYmxpbmcoZSl7cmV0dXJuIHRoaXMuX25vZGUoZSkucHJldmlvdXNTaWJsaW5nfW5leHRTaWJsaW5nKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLm5leHRTaWJsaW5nfXBhcmVudChlKXtyZXR1cm4gdGhpcy5fbm9kZShlKS5wYXJlbnR9bGFzdEluY2x1c2l2ZURlc2NlbmRhbnQoZSl7bGV0IHQscj1lO2Zvcig7dD10aGlzLl9ub2RlKHIpLmxhc3RDaGlsZDspcj10O3JldHVybiByfXByZWNlZGluZyhlLHQpe2xldCByPXQmJnQucm9vdDtpZihlPT09cilyZXR1cm4gbnVsbDtsZXQgaT10aGlzLl9ub2RlKGUpLnByZXZpb3VzU2libGluZztyZXR1cm4gaT90aGlzLmxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KGkpOnRoaXMuX25vZGUoZSkucGFyZW50fWZvbGxvd2luZyhlLHQpe2xldCByPXQmJnQucm9vdCxvPSEodCYmdC5za2lwQ2hpbGRyZW4pJiZ0aGlzLl9ub2RlKGUpLmZpcnN0Q2hpbGQ7aWYobylyZXR1cm4gbztsZXQgbj1lO2Rve2lmKG49PT1yKXJldHVybiBudWxsO2xldCBsPXRoaXMuX25vZGUobikubmV4dFNpYmxpbmc7aWYobClyZXR1cm4gbDtuPXRoaXMuX25vZGUobikucGFyZW50fXdoaWxlKG4pO3JldHVybiBudWxsfWNoaWxkcmVuVG9BcnJheShlLHQpe2xldCByPXQmJnQuYXJyYXl8fFtdLGk9dCYmdC5maWx0ZXJ8fHdsZSxvPXQmJnQudGhpc0FyZ3x8dm9pZCAwLG49dGhpcy5fbm9kZShlKSxsPW4uZmlyc3RDaGlsZCxkPTA7Zm9yKDtsOyl7bGV0IGM9dGhpcy5fbm9kZShsKTtjLnNldENhY2hlZEluZGV4KG4sZCksaS5jYWxsKG8sbCkmJnIucHVzaChsKSxsPWMubmV4dFNpYmxpbmcsKytkfXJldHVybiByfWFuY2VzdG9yc1RvQXJyYXkoZSx0KXtsZXQgcj10JiZ0LmFycmF5fHxbXSxpPXQmJnQuZmlsdGVyfHx3bGUsbz10JiZ0LnRoaXNBcmd8fHZvaWQgMCxuPWU7Zm9yKDtuOylpLmNhbGwobyxuKSYmci5wdXNoKG4pLG49dGhpcy5fbm9kZShuKS5wYXJlbnQ7cmV0dXJuIHJ9dHJlZVRvQXJyYXkoZSx0KXtsZXQgcj10JiZ0LmFycmF5fHxbXSxpPXQmJnQuZmlsdGVyfHx3bGUsbz10JiZ0LnRoaXNBcmd8fHZvaWQgMCxuPWU7Zm9yKDtuOylpLmNhbGwobyxuKSYmci5wdXNoKG4pLG49dGhpcy5mb2xsb3dpbmcobix7cm9vdDplfSk7cmV0dXJuIHJ9Y2hpbGRyZW5JdGVyYXRvcihlLHQpe2xldCByPXQmJnQucmV2ZXJzZSxpPXRoaXMuX25vZGUoZSk7cmV0dXJuIG5ldyB3bih0aGlzLGUscj9pLmxhc3RDaGlsZDppLmZpcnN0Q2hpbGQscj93bi5QUkVWOnduLk5FWFQpfXByZXZpb3VzU2libGluZ3NJdGVyYXRvcihlKXtyZXR1cm4gbmV3IHduKHRoaXMsZSx0aGlzLl9ub2RlKGUpLnByZXZpb3VzU2libGluZyx3bi5QUkVWKX1uZXh0U2libGluZ3NJdGVyYXRvcihlKXtyZXR1cm4gbmV3IHduKHRoaXMsZSx0aGlzLl9ub2RlKGUpLm5leHRTaWJsaW5nLHduLk5FWFQpfWFuY2VzdG9yc0l0ZXJhdG9yKGUpe3JldHVybiBuZXcgd24odGhpcyxlLGUsd24uUEFSRU5UKX10cmVlSXRlcmF0b3IoZSx0KXtsZXQgcj10JiZ0LnJldmVyc2U7cmV0dXJuIG5ldyB3bih0aGlzLGUscj90aGlzLmxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KGUpOmUscj93bi5QUkVDRURJTkc6d24uRk9MTE9XSU5HKX1pbmRleChlKXtsZXQgdD10aGlzLl9ub2RlKGUpLHI9dGhpcy5fbm9kZSh0LnBhcmVudCk7aWYoIXIpcmV0dXJuLTE7bGV0IGk9dC5nZXRDYWNoZWRJbmRleChyKTtpZihpPj0wKXJldHVybiBpO2k9MDtsZXQgbz1yLmZpcnN0Q2hpbGQ7aWYoci5jaGlsZEluZGV4Q2FjaGVkVXBUbyl7bGV0IG49dGhpcy5fbm9kZShyLmNoaWxkSW5kZXhDYWNoZWRVcFRvKTtvPW4ubmV4dFNpYmxpbmcsaT1uLmdldENhY2hlZEluZGV4KHIpKzF9Zm9yKDtvOyl7bGV0IG49dGhpcy5fbm9kZShvKTtpZihuLnNldENhY2hlZEluZGV4KHIsaSksbz09PWUpYnJlYWs7KytpLG89bi5uZXh0U2libGluZ31yZXR1cm4gci5jaGlsZEluZGV4Q2FjaGVkVXBUbz1lLGl9Y2hpbGRyZW5Db3VudChlKXtsZXQgdD10aGlzLl9ub2RlKGUpO3JldHVybiB0Lmxhc3RDaGlsZD90aGlzLmluZGV4KHQubGFzdENoaWxkKSsxOjB9Y29tcGFyZVRyZWVQb3NpdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiAwO2xldCByPVtdO3tsZXQgcD1lO2Zvcig7cDspe2lmKHA9PT10KXJldHVybiB2MC5DT05UQUlOU3x2MC5QUkVDRURJTkc7ci5wdXNoKHApLHA9dGhpcy5wYXJlbnQocCl9fWxldCBpPVtdO3tsZXQgcD10O2Zvcig7cDspe2lmKHA9PT1lKXJldHVybiB2MC5DT05UQUlORURfQll8djAuRk9MTE9XSU5HO2kucHVzaChwKSxwPXRoaXMucGFyZW50KHApfX1sZXQgbz1QaChyLDApO2lmKCFvfHxvIT09UGgoaSwwKSlyZXR1cm4gdjAuRElTQ09OTkVDVEVEO2xldCBuPTAsbD1NYXRoLm1pbihyLmxlbmd0aCxpLmxlbmd0aCk7Zm9yKGxldCBwPTA7cDxsOysrcCl7bGV0IHU9UGgocixwKSxtPVBoKGkscCk7aWYodSE9PW0pYnJlYWs7bj1wfWxldCBkPXRoaXMuaW5kZXgoUGgocixuKzEpKTtyZXR1cm4gdGhpcy5pbmRleChQaChpLG4rMSkpPGQ/djAuUFJFQ0VESU5HOnYwLkZPTExPV0lOR31yZW1vdmUoZSl7bGV0IHQ9dGhpcy5fbm9kZShlKSxyPXRoaXMuX25vZGUodC5wYXJlbnQpLGk9dGhpcy5fbm9kZSh0LnByZXZpb3VzU2libGluZyksbz10aGlzLl9ub2RlKHQubmV4dFNpYmxpbmcpO3JldHVybiByJiYoci5maXJzdENoaWxkPT09ZSYmKHIuZmlyc3RDaGlsZD10Lm5leHRTaWJsaW5nKSxyLmxhc3RDaGlsZD09PWUmJihyLmxhc3RDaGlsZD10LnByZXZpb3VzU2libGluZykpLGkmJihpLm5leHRTaWJsaW5nPXQubmV4dFNpYmxpbmcpLG8mJihvLnByZXZpb3VzU2libGluZz10LnByZXZpb3VzU2libGluZyksdC5wYXJlbnQ9bnVsbCx0LnByZXZpb3VzU2libGluZz1udWxsLHQubmV4dFNpYmxpbmc9bnVsbCx0LmNhY2hlZEluZGV4PS0xLHQuY2FjaGVkSW5kZXhWZXJzaW9uPU5hTixyJiZyLmNoaWxkcmVuQ2hhbmdlZCgpLGV9aW5zZXJ0QmVmb3JlKGUsdCl7bGV0IHI9dGhpcy5fbm9kZShlKSxpPXRoaXMuX25vZGUoci5wcmV2aW91c1NpYmxpbmcpLG89dGhpcy5fbm9kZSh0KSxuPXRoaXMuX25vZGUoci5wYXJlbnQpO2lmKG8uaXNBdHRhY2hlZCl0aHJvdyBFcnJvcigiR2l2ZW4gb2JqZWN0IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGlzIFN5bWJvbFRyZWUsIHJlbW92ZSBpdCBmaXJzdCIpO3JldHVybiBvLnBhcmVudD1yLnBhcmVudCxvLnByZXZpb3VzU2libGluZz1yLnByZXZpb3VzU2libGluZyxvLm5leHRTaWJsaW5nPWUsci5wcmV2aW91c1NpYmxpbmc9dCxpJiYoaS5uZXh0U2libGluZz10KSxuJiZuLmZpcnN0Q2hpbGQ9PT1lJiYobi5maXJzdENoaWxkPXQpLG4mJm4uY2hpbGRyZW5DaGFuZ2VkKCksdH1pbnNlcnRBZnRlcihlLHQpe2xldCByPXRoaXMuX25vZGUoZSksaT10aGlzLl9ub2RlKHIubmV4dFNpYmxpbmcpLG89dGhpcy5fbm9kZSh0KSxuPXRoaXMuX25vZGUoci5wYXJlbnQpO2lmKG8uaXNBdHRhY2hlZCl0aHJvdyBFcnJvcigiR2l2ZW4gb2JqZWN0IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGlzIFN5bWJvbFRyZWUsIHJlbW92ZSBpdCBmaXJzdCIpO3JldHVybiBvLnBhcmVudD1yLnBhcmVudCxvLnByZXZpb3VzU2libGluZz1lLG8ubmV4dFNpYmxpbmc9ci5uZXh0U2libGluZyxyLm5leHRTaWJsaW5nPXQsaSYmKGkucHJldmlvdXNTaWJsaW5nPXQpLG4mJm4ubGFzdENoaWxkPT09ZSYmKG4ubGFzdENoaWxkPXQpLG4mJm4uY2hpbGRyZW5DaGFuZ2VkKCksdH1wcmVwZW5kQ2hpbGQoZSx0KXtsZXQgcj10aGlzLl9ub2RlKGUpLGk9dGhpcy5fbm9kZSh0KTtpZihpLmlzQXR0YWNoZWQpdGhyb3cgRXJyb3IoIkdpdmVuIG9iamVjdCBpcyBhbHJlYWR5IHByZXNlbnQgaW4gdGhpcyBTeW1ib2xUcmVlLCByZW1vdmUgaXQgZmlyc3QiKTtyZXR1cm4gci5oYXNDaGlsZHJlbj90aGlzLmluc2VydEJlZm9yZShyLmZpcnN0Q2hpbGQsdCk6KGkucGFyZW50PWUsci5maXJzdENoaWxkPXQsci5sYXN0Q2hpbGQ9dCxyLmNoaWxkcmVuQ2hhbmdlZCgpKSx0fWFwcGVuZENoaWxkKGUsdCl7bGV0IHI9dGhpcy5fbm9kZShlKSxpPXRoaXMuX25vZGUodCk7aWYoaS5pc0F0dGFjaGVkKXRocm93IEVycm9yKCJHaXZlbiBvYmplY3QgaXMgYWxyZWFkeSBwcmVzZW50IGluIHRoaXMgU3ltYm9sVHJlZSwgcmVtb3ZlIGl0IGZpcnN0Iik7cmV0dXJuIHIuaGFzQ2hpbGRyZW4/dGhpcy5pbnNlcnRBZnRlcihyLmxhc3RDaGlsZCx0KTooaS5wYXJlbnQ9ZSxyLmZpcnN0Q2hpbGQ9dCxyLmxhc3RDaGlsZD10LHIuY2hpbGRyZW5DaGFuZ2VkKCkpLHR9fTtEY3QuZXhwb3J0cz1LWixLWi5UcmVlUG9zaXRpb249djB9KTt2YXIgWlosTW49ZigoKT0+e3QwKCk7eHN0KCk7YmkoKTtwMigpO3djdCgpO1paPWtvKEFjdCgpLDEpfSk7dmFyIE1sZSxQY3Q9ZigoKT0+e01uKCk7TWxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkFzeW5jRXhlY3V0aW9uU3RhY2siKX1leGVjdXRpb25TbG90cz1bXTtpc1Byb2Nlc3Npbmc9ITE7bm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3k9MS8wO25vbkV4Y2x1c2l2ZUN1cnJlbnRDb3VudD0wO25vbkV4Y2x1c2l2ZVBlbmRpbmdRdWV1ZT1bXTthc3luYyBnZXRFeGNsdXNpdmVFeGVjdXRpb25TbG90KGUsdCl7bGV0IHI9Y3QuZGVmZXIoKSxpPXtmdW5jVG9FeGVjdXRlOmUsZXhlY3V0aW9uRGVmZXJyZWQ6cix0aW1lb3V0OnQsbW9kZToiZXhjbHVzaXZlIn07cmV0dXJuIHRoaXMuZXhlY3V0aW9uU2xvdHMucHVzaChpKSx0aGlzLnByb2Nlc3NFeGVjdXRpb25TbG90cygpLHIucHJvbWlzZX1hc3luYyBnZXROb25FeGNsdXNpdmVFeGVjdXRpb25TbG90KGUsdCl7bGV0IHI9Y3QuZGVmZXIoKSxpPXtmdW5jVG9FeGVjdXRlOmUsZXhlY3V0aW9uRGVmZXJyZWQ6cix0aW1lb3V0OnQsbW9kZToibm9uZXhjbHVzaXZlIn07cmV0dXJuIHRoaXMuZXhlY3V0aW9uU2xvdHMucHVzaChpKSx0aGlzLnByb2Nlc3NFeGVjdXRpb25TbG90cygpLHIucHJvbWlzZX1zZXROb25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeShlKXtpZighTnVtYmVyLmlzRmluaXRlKGUpfHxlPDEpdGhyb3cgbmV3IEVycm9yKCJub25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeSBtdXN0IGJlIGEgZmluaXRlIG51bWJlciA+PSAxIik7dGhpcy5ub25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeT1lfWdldE5vbkV4Y2x1c2l2ZU1heENvbmN1cnJlbmN5KCl7cmV0dXJuIHRoaXMubm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3l9Z2V0QWN0aXZlTm9uRXhjbHVzaXZlQ291bnQoKXtyZXR1cm4gdGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnR9Z2V0UGVuZGluZ05vbkV4Y2x1c2l2ZUNvdW50KCl7cmV0dXJuIHRoaXMubm9uRXhjbHVzaXZlUGVuZGluZ1F1ZXVlLmxlbmd0aH1hc3luYyBwcm9jZXNzRXhlY3V0aW9uU2xvdHMoKXtpZighdGhpcy5pc1Byb2Nlc3Npbmcpe2Zvcih0aGlzLmlzUHJvY2Vzc2luZz0hMDt0aGlzLmV4ZWN1dGlvblNsb3RzLmxlbmd0aD4wOyl7bGV0IGU9dGhpcy5leGVjdXRpb25TbG90c1swXTtpZihlLm1vZGU9PT0iZXhjbHVzaXZlIilhd2FpdCB0aGlzLmV4ZWN1dGVFeGNsdXNpdmVTbG90KGUpLHRoaXMuZXhlY3V0aW9uU2xvdHMuc2hpZnQoKTtlbHNle2xldCB0PVtdO2Zvcig7dGhpcy5leGVjdXRpb25TbG90cy5sZW5ndGg+MCYmdGhpcy5leGVjdXRpb25TbG90c1swXS5tb2RlPT09Im5vbmV4Y2x1c2l2ZSI7KXQucHVzaCh0aGlzLmV4ZWN1dGlvblNsb3RzLnNoaWZ0KCkpO2F3YWl0IHRoaXMuZXhlY3V0ZU5vbkV4Y2x1c2l2ZVNsb3RzKHQpfX10aGlzLmlzUHJvY2Vzc2luZz0hMX19YXN5bmMgZXhlY3V0ZUV4Y2x1c2l2ZVNsb3QoZSl7dHJ5e2lmKGUudGltZW91dCl7bGV0IHQ9bmV3IFV0LlRpbWVvdXQoZS50aW1lb3V0KTt0cnl7bGV0IHI9YXdhaXQgUHJvbWlzZS5yYWNlKFtlLmZ1bmNUb0V4ZWN1dGUoKSx0LnByb21pc2UudGhlbigoKT0+e3Rocm93IG5ldyBFcnJvcigiVGltZW91dCByZWFjaGVkIil9KV0pO3QuY2FuY2VsKCksZS5leGVjdXRpb25EZWZlcnJlZC5yZXNvbHZlKHIpfWNhdGNoKHIpe3Rocm93IHQuY2FuY2VsKCkscn19ZWxzZXtsZXQgdD1hd2FpdCBlLmZ1bmNUb0V4ZWN1dGUoKTtlLmV4ZWN1dGlvbkRlZmVycmVkLnJlc29sdmUodCl9fWNhdGNoKHQpe2UuZXhlY3V0aW9uRGVmZXJyZWQucmVqZWN0KHQpfX1hc3luYyBleGVjdXRlTm9uRXhjbHVzaXZlU2xvdHMoZSl7bGV0IHQ9ZS5tYXAoYXN5bmMgcj0+e2F3YWl0IHRoaXMud2FpdEZvck5vbkV4Y2x1c2l2ZVNsb3QoKTt0cnl7aWYoci50aW1lb3V0KXtsZXQgaT1uZXcgVXQuVGltZW91dChyLnRpbWVvdXQpO3RyeXtsZXQgbz1hd2FpdCBQcm9taXNlLnJhY2UoW3IuZnVuY1RvRXhlY3V0ZSgpLGkucHJvbWlzZS50aGVuKCgpPT57dGhyb3cgbmV3IEVycm9yKCJUaW1lb3V0IHJlYWNoZWQiKX0pXSk7aS5jYW5jZWwoKSxyLmV4ZWN1dGlvbkRlZmVycmVkLnJlc29sdmUobyl9Y2F0Y2gobyl7dGhyb3cgaS5jYW5jZWwoKSxvfX1lbHNle2xldCBpPWF3YWl0IHIuZnVuY1RvRXhlY3V0ZSgpO3IuZXhlY3V0aW9uRGVmZXJyZWQucmVzb2x2ZShpKX19Y2F0Y2goaSl7ci5leGVjdXRpb25EZWZlcnJlZC5yZWplY3QoaSl9ZmluYWxseXt0aGlzLnJlbGVhc2VOb25FeGNsdXNpdmVTbG90KCl9fSk7YXdhaXQgUHJvbWlzZS5hbGwodCl9d2FpdEZvck5vbkV4Y2x1c2l2ZVNsb3QoKXtyZXR1cm4gdGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnQ8dGhpcy5ub25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeT8odGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnQrKyxQcm9taXNlLnJlc29sdmUoKSk6bmV3IFByb21pc2UoZT0+e3RoaXMubm9uRXhjbHVzaXZlUGVuZGluZ1F1ZXVlLnB1c2goKCk9Pnt0aGlzLm5vbkV4Y2x1c2l2ZUN1cnJlbnRDb3VudCsrLGUoKX0pfSl9cmVsZWFzZU5vbkV4Y2x1c2l2ZVNsb3QoKXt0aGlzLm5vbkV4Y2x1c2l2ZUN1cnJlbnRDb3VudC0tO2xldCBlPXRoaXMubm9uRXhjbHVzaXZlUGVuZGluZ1F1ZXVlLnNoaWZ0KCk7ZSYmZSgpfX19KTt2YXIga2xlLEVjdD1mKCgpPT57TW4oKTtrbGU9Y2xhc3N7c3RhdGlje3ModGhpcywiQmFja3ByZXNzdXJlZEFycmF5Iil9ZGF0YTtoaWdoV2F0ZXJNYXJrO2hhc1NwYWNlPW5ldyBfYS5yeGpzLlN1YmplY3Q7aXRlbXNBdmFpbGFibGU9bmV3IF9hLnJ4anMuU3ViamVjdDtpc0Rlc3Ryb3llZD0hMTtjb25zdHJ1Y3RvcihlPTE2KXt0aGlzLmRhdGE9W10sdGhpcy5oaWdoV2F0ZXJNYXJrPWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmRhdGEubGVuZ3RofXB1c2goZSl7dGhpcy5kYXRhLnB1c2goZSksdGhpcy5pdGVtc0F2YWlsYWJsZS5uZXh0KCJpdGVtc0F2YWlsYWJsZSIpO2xldCB0PXRoaXMuY2hlY2tTcGFjZUF2YWlsYWJsZSgpO3JldHVybiB0JiZ0aGlzLmhhc1NwYWNlLm5leHQoImhhc1NwYWNlIiksdH1wdXNoTWFueShlKXtmb3IobGV0IHQgb2YgZSl0aGlzLnB1c2godCk7cmV0dXJuIHRoaXMuY2hlY2tTcGFjZUF2YWlsYWJsZSgpfXNoaWZ0KCl7bGV0IGU9dGhpcy5kYXRhLnNoaWZ0KCk7cmV0dXJuIHRoaXMuY2hlY2tTcGFjZUF2YWlsYWJsZSgpJiZ0aGlzLmhhc1NwYWNlLm5leHQoImhhc1NwYWNlIiksZX1wZWVrKCl7cmV0dXJuIHRoaXMuZGF0YVswXX1jaGVja1NwYWNlQXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuZGF0YS5sZW5ndGg8dGhpcy5oaWdoV2F0ZXJNYXJrfWNoZWNrSGFzSXRlbXMoKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aD4wfXdhaXRGb3JTcGFjZSgpe3JldHVybiBuZXcgUHJvbWlzZShlPT57aWYodGhpcy5jaGVja1NwYWNlQXZhaWxhYmxlKCl8fHRoaXMuaXNEZXN0cm95ZWQpZSgpO2Vsc2V7bGV0IHQ9dGhpcy5oYXNTcGFjZS5zdWJzY3JpYmUoe25leHQ6cygoKT0+e3QudW5zdWJzY3JpYmUoKSxlKCl9LCJuZXh0IiksY29tcGxldGU6cygoKT0+e2UoKX0sImNvbXBsZXRlIil9KX19KX13YWl0Rm9ySXRlbXMoKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+e2lmKHRoaXMuZGF0YS5sZW5ndGg+MHx8dGhpcy5pc0Rlc3Ryb3llZCllKCk7ZWxzZXtsZXQgdD10aGlzLml0ZW1zQXZhaWxhYmxlLnN1YnNjcmliZSh7bmV4dDpzKCgpPT57dC51bnN1YnNjcmliZSgpLGUoKX0sIm5leHQiKSxjb21wbGV0ZTpzKCgpPT57ZSgpfSwiY29tcGxldGUiKX0pfX0pfVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXMuZGF0YVtTeW1ib2wuaXRlcmF0b3JdKCl9ZGVzdHJveSgpe3RoaXMuaXNEZXN0cm95ZWQ9ITAsdGhpcy5oYXNTcGFjZS5jb21wbGV0ZSgpLHRoaXMuaXRlbXNBdmFpbGFibGUuY29tcGxldGUoKX19fSk7dmFyIHczLFhaPWYoKCk9PntNbigpO3czPWNsYXNzIGF7c3RhdGlje3ModGhpcywiRmFzdE1hcCIpfW1hcE9iamVjdD1uZXcgTWFwO2lzVW5pcXVlS2V5KGUpe3JldHVybiF0aGlzLm1hcE9iamVjdC5oYXMoZSl9aGFzKGUpe3JldHVybiB0aGlzLm1hcE9iamVjdC5oYXMoZSl9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5tYXBPYmplY3Quc2l6ZX1hZGRUb01hcChlLHQscil7cmV0dXJuIHRoaXMuaXNVbmlxdWVLZXkoZSl8fHImJnIuZm9yY2U/KHRoaXMubWFwT2JqZWN0LnNldChlLHQpLCEwKTohMX1nZXRCeUtleShlKXtyZXR1cm4gdGhpcy5tYXBPYmplY3QuZ2V0KGUpfXJlbW92ZUZyb21NYXAoZSl7bGV0IHQ9dGhpcy5tYXBPYmplY3QuZ2V0KGUpO3JldHVybiB0aGlzLm1hcE9iamVjdC5kZWxldGUoZSksdH1nZXRLZXlzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5tYXBPYmplY3Qua2V5cygpKX12YWx1ZXMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLm1hcE9iamVjdC52YWx1ZXMoKSl9ZW50cmllcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMubWFwT2JqZWN0LmVudHJpZXMoKSl9Y2xlYW4oKXt0aGlzLm1hcE9iamVjdC5jbGVhcigpfWNvbmNhdChlKXtsZXQgdD1uZXcgYTtmb3IobGV0IHIgb2YgdGhpcy5nZXRLZXlzKCkpdC5hZGRUb01hcChyLHRoaXMuZ2V0QnlLZXkocikpO2ZvcihsZXQgciBvZiBlLmdldEtleXMoKSl0LmFkZFRvTWFwKHIsZS5nZXRCeUtleShyKSx7Zm9yY2U6ITB9KTtyZXR1cm4gdH1hZGRBbGxGcm9tT3RoZXIoZSl7Zm9yKGxldCB0IG9mIGUuZ2V0S2V5cygpKXRoaXMuYWRkVG9NYXAodCxlLmdldEJ5S2V5KHQpLHtmb3JjZTohMH0pfWFzeW5jIGZpbmQoZSl7Zm9yKGxldCB0IG9mIHRoaXMuZ2V0S2V5cygpKXtsZXQgcj10aGlzLmdldEJ5S2V5KHQpO2lmKGF3YWl0IGUocikpcmV0dXJuIHJ9fVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXMubWFwT2JqZWN0LmVudHJpZXMoKX19fSk7dmFyIEljdCxfbCxfOT1mKCgpPT57TW4oKTtYWigpO0ljdD1zKChhPSJ1bmkiKT0+YCR7YX14eHh4eHh4eHh4eGAucmVwbGFjZSgvW3h5XS9nLGU9PntsZXQgdD1NYXRoLnJhbmRvbSgpKjE2fDA7cmV0dXJuKGU9PT0ieCI/dDp0JjN8OCkudG9TdHJpbmcoMTYpfSksInVuaSIpLF9sPWNsYXNzIGF7c3RhdGlje3ModGhpcywiT2JqZWN0TWFwIil9ZmFzdE1hcD1uZXcgdzM7cmV2ZXJzZU1hcD1uZXcgTWFwO2V2ZW50U3ViamVjdD1uZXcgX2Eucnhqcy5TdWJqZWN0O2NvbnN0cnVjdG9yKCl7fWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5mYXN0TWFwLnNpemV9YWRkTWFwcGVkVW5pcXVlKGUsdCl7dGhpcy5mYXN0TWFwLmFkZFRvTWFwKGUsdCksdGhpcy5yZXZlcnNlTWFwLnNldCh0LGUpfWdldE1hcHBlZFVuaXF1ZShlKXtyZXR1cm4gdGhpcy5mYXN0TWFwLmdldEJ5S2V5KGUpfXJlbW92ZU1hcHBlZFVuaXF1ZShlKXtsZXQgdD10aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcChlKTtyZXR1cm4gdCE9PXZvaWQgMCYmKHRoaXMucmV2ZXJzZU1hcC5kZWxldGUodCksdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJyZW1vdmUiLHBheWxvYWQ6dH0pKSx0fWFkZChlKXtsZXQgdD10aGlzLnJldmVyc2VNYXAuZ2V0KGUpO2lmKHQhPT12b2lkIDApcmV0dXJuIHQ7bGV0IHI9SWN0KCJrZXkiKTtyZXR1cm4gdGhpcy5hZGRNYXBwZWRVbmlxdWUocixlKSx0aGlzLmV2ZW50U3ViamVjdC5uZXh0KHtvcGVyYXRpb246ImFkZCIscGF5bG9hZDplfSkscn1hZGRBcnJheShlKXtmb3IobGV0IHQgb2YgZSl0aGlzLmFkZCh0KX1jaGVja0Zvck9iamVjdChlKXtyZXR1cm4gdGhpcy5yZXZlcnNlTWFwLmhhcyhlKX1nZXRLZXlGb3JPYmplY3QoZSl7cmV0dXJuIHRoaXMucmV2ZXJzZU1hcC5nZXQoZSk/P251bGx9YXN5bmMgZmluZChlKXtyZXR1cm4gdGhpcy5mYXN0TWFwLmZpbmQoZSl9ZmluZFN5bmMoZSl7Zm9yKGxldCB0IG9mIHRoaXMuZmFzdE1hcC5nZXRLZXlzKCkpaWYoZSh0aGlzLmZhc3RNYXAuZ2V0QnlLZXkodCkpKXJldHVybiB0aGlzLmdldE1hcHBlZFVuaXF1ZSh0KX1hc3luYyBmaW5kT25lQW5kUmVtb3ZlKGUpe2xldCB0PWF3YWl0IHRoaXMuZmluZChlKTtyZXR1cm4gdCYmdGhpcy5yZW1vdmUodCksdH1maW5kT25lQW5kUmVtb3ZlU3luYyhlKXtsZXQgdD10aGlzLmZpbmRTeW5jKGUpO3JldHVybiB0JiZ0aGlzLnJlbW92ZSh0KSx0fWFzeW5jIGZvckVhY2goZSl7Zm9yKGxldCB0IG9mIHRoaXMuZmFzdE1hcC5nZXRLZXlzKCkpYXdhaXQgZSh0aGlzLmZhc3RNYXAuZ2V0QnlLZXkodCkpfWdldE9uZUFuZFJlbW92ZSgpe2xldCBlPXRoaXMuZmFzdE1hcC5nZXRLZXlzKCk7aWYoZS5sZW5ndGg9PT0wKXJldHVybiBudWxsO3tsZXQgdD1lWzBdLHI9dGhpcy5mYXN0TWFwLnJlbW92ZUZyb21NYXAodCk7cmV0dXJuIHRoaXMucmV2ZXJzZU1hcC5kZWxldGUociksdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJyZW1vdmUiLHBheWxvYWQ6cn0pLHJ9fWdldEFycmF5KCl7cmV0dXJuIHRoaXMuZmFzdE1hcC52YWx1ZXMoKX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuZmFzdE1hcC5zaXplPT09MH1yZW1vdmUoZSl7bGV0IHQ9dGhpcy5yZXZlcnNlTWFwLmdldChlKTtpZih0IT09dm9pZCAwKXtsZXQgcj10aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcCh0KTtyZXR1cm4gdGhpcy5yZXZlcnNlTWFwLmRlbGV0ZShyKSx0aGlzLmV2ZW50U3ViamVjdC5uZXh0KHtvcGVyYXRpb246InJlbW92ZSIscGF5bG9hZDpyfSkscn1yZXR1cm4gbnVsbH13aXBlKCl7bGV0IGU9dGhpcy5mYXN0TWFwLmdldEtleXMoKTtmb3IobGV0IHQgb2YgZSl7bGV0IHI9dGhpcy5mYXN0TWFwLnJlbW92ZUZyb21NYXAodCk7dGhpcy5yZXZlcnNlTWFwLmRlbGV0ZShyKSx0aGlzLmV2ZW50U3ViamVjdC5uZXh0KHtvcGVyYXRpb246InJlbW92ZSIscGF5bG9hZDpyfSl9fWNvbmNhdChlKXtsZXQgdD1uZXcgYTt0LmZhc3RNYXAuYWRkQWxsRnJvbU90aGVyKHRoaXMuZmFzdE1hcCksdC5mYXN0TWFwLmFkZEFsbEZyb21PdGhlcihlLmZhc3RNYXApO2ZvcihsZXQgciBvZiB0LmZhc3RNYXAuZ2V0S2V5cygpKXQucmV2ZXJzZU1hcC5zZXQodC5mYXN0TWFwLmdldEJ5S2V5KHIpLHIpO3JldHVybiB0fWFkZEFsbEZyb21PdGhlcihlKXt0aGlzLmZhc3RNYXAuYWRkQWxsRnJvbU90aGVyKGUuZmFzdE1hcCk7Zm9yKGxldCB0IG9mIGUuZmFzdE1hcC5nZXRLZXlzKCkpdGhpcy5yZXZlcnNlTWFwLnNldChlLmZhc3RNYXAuZ2V0QnlLZXkodCksdCl9bWFwKGUpe3JldHVybiB0aGlzLmdldEFycmF5KCkubWFwKGUpfWZpbHRlcihlKXtyZXR1cm4gdGhpcy5nZXRBcnJheSgpLmZpbHRlcihlKX1yZWR1Y2UoZSx0KXtyZXR1cm4gdGhpcy5nZXRBcnJheSgpLnJlZHVjZShlLHQpfVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXMuZ2V0QXJyYXkoKVtTeW1ib2wuaXRlcmF0b3JdKCl9ZGVzdHJveSgpe3RoaXMud2lwZSgpLHRoaXMucmV2ZXJzZU1hcC5jbGVhcigpLHRoaXMuZXZlbnRTdWJqZWN0LmNvbXBsZXRlKCl9fX0pO3ZhciBUOSxTbGU9ZigoKT0+e01uKCk7emxlKCk7VDk9Y2xhc3N7c3RhdGlje3ModGhpcywiSW50ZXJlc3QiKX1vcHRpb25zO2ludGVyZXN0TWFwUmVmO29yaWdpbmFsSW50ZXJlc3Q7Y29tcGFyaXNvbkZ1bmM7ZGVzdHJ1Y3Rpb25UaW1lcj1uZXcgeTMuVGltZXIoMWU0KTtpc0Z1bGxmaWxsZWQ9ITE7aXNEZXN0cm95ZWQ9ITE7ZnVsbGZpbGxtZW50U3RvcmU9W107bWFya0xvc3RUaW1lb3V0PW51bGw7Z2V0IGNvbXBhcmlzb25TdHJpbmcoKXtyZXR1cm4gdGhpcy5jb21wYXJpc29uRnVuYyh0aGlzLm9yaWdpbmFsSW50ZXJlc3QpfWludGVyZXN0RGVmZXJyZWQ9bmV3IGN0LkRlZmVycmVkO2ludGVyZXN0RnVsbGZpbGxlZD10aGlzLmludGVyZXN0RGVmZXJyZWQucHJvbWlzZTtmdWxsZmlsbEludGVyZXN0KGUpe3RoaXMuaXNGdWxsZmlsbGVkPSEwLHRoaXMuZnVsbGZpbGxtZW50U3RvcmU9W10sdGhpcy5pbnRlcmVzdERlZmVycmVkLnJlc29sdmUoZSksdGhpcy5kZXN0cm95KCl9Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy5pbnRlcmVzdE1hcFJlZj1lLHRoaXMub3JpZ2luYWxJbnRlcmVzdD10LHRoaXMuY29tcGFyaXNvbkZ1bmM9cix0aGlzLm9wdGlvbnM9aSx0aGlzLmRlc3RydWN0aW9uVGltZXIuY29tcGxldGVkLnRoZW4oKCk9Pnt0aGlzLmlzRGVzdHJveWVkfHx0aGlzLmRlc3Ryb3koKX0pLHRoaXMub3B0aW9ucz8ubWFya0xvc3RBZnRlckRlZmF1bHQmJih0aGlzLm1hcmtMb3N0VGltZW91dD1uZXcgVXQuVGltZW91dCh0aGlzLm9wdGlvbnMubWFya0xvc3RBZnRlckRlZmF1bHQpLHRoaXMubWFya0xvc3RUaW1lb3V0LnByb21pc2UudGhlbigoKT0+e3RoaXMuaXNEZXN0cm95ZWR8fHRoaXMubWFya0xvc3QoKX0pKX1kZXN0cm95KCl7dGhpcy5pc0Rlc3Ryb3llZHx8KHRoaXMuaXNEZXN0cm95ZWQ9ITAsdGhpcy5kZXN0cnVjdGlvblRpbWVyLnJlc2V0KCksdGhpcy5tYXJrTG9zdFRpbWVvdXQmJih0aGlzLm1hcmtMb3N0VGltZW91dC5jYW5jZWwoKSx0aGlzLm1hcmtMb3N0VGltZW91dD1udWxsKSx0aGlzLmZ1bGxmaWxsbWVudFN0b3JlPVtdLHRoaXMuaW50ZXJlc3RNYXBSZWYucmVtb3ZlSW50ZXJlc3QodGhpcyksIXRoaXMuaXNGdWxsZmlsbGVkJiZ0aGlzLm9wdGlvbnM/LmRlZmF1bHRGdWxsZmlsbG1lbnQmJih0aGlzLmlzRnVsbGZpbGxlZD0hMCx0aGlzLmludGVyZXN0RGVmZXJyZWQucmVzb2x2ZSh0aGlzLm9wdGlvbnMuZGVmYXVsdEZ1bGxmaWxsbWVudCkpKX1tYXJrTG9zdCgpe3RoaXMuZGVzdHJ1Y3Rpb25UaW1lci5zdGFydCgpfXJlbmV3KCl7dGhpcy5kZXN0cnVjdGlvblRpbWVyLnJlc2V0KCl9fX0pO3ZhciBDbGUsemxlPWYoKCk9PntNbigpO185KCk7U2xlKCk7Q2xlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkludGVyZXN0TWFwIil9b3B0aW9ucztpbnRlcmVzdE9iamVjdE1hcD1uZXcgX2w7aW50ZXJlc3RzQnlDb21wYXJpc29uU3RyaW5nPW5ldyBNYXA7Y29tcGFyaXNvbkZ1bmM7Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLmNvbXBhcmlzb25GdW5jPWUsdGhpcy5vcHRpb25zPXR9YXN5bmMgYWRkSW50ZXJlc3QoZSx0KXtsZXQgcj10aGlzLmNvbXBhcmlzb25GdW5jKGUpLGksbz10aGlzLmludGVyZXN0c0J5Q29tcGFyaXNvblN0cmluZy5nZXQocik7cmV0dXJuIG8/KGk9byxpLnJlbmV3KCkpOihpPW5ldyBUOSh0aGlzLGUsdGhpcy5jb21wYXJpc29uRnVuYyx7bWFya0xvc3RBZnRlckRlZmF1bHQ6dGhpcy5vcHRpb25zLm1hcmtMb3N0QWZ0ZXJEZWZhdWx0LGRlZmF1bHRGdWxsZmlsbG1lbnQ6dH0pLHRoaXMuaW50ZXJlc3RPYmplY3RNYXAuYWRkKGkpLHRoaXMuaW50ZXJlc3RzQnlDb21wYXJpc29uU3RyaW5nLnNldChyLGkpKSx0aGlzLmludGVyZXN0T2JzZXJ2YWJsZS5wdXNoKGkpLGl9aW50ZXJlc3RPYnNlcnZhYmxlPW5ldyBfYS5PYnNlcnZhYmxlSW50YWtlO3JlbW92ZUludGVyZXN0KGUpe3RoaXMuaW50ZXJlc3RPYmplY3RNYXAuZmluZE9uZUFuZFJlbW92ZVN5bmModD0+ZS5jb21wYXJpc29uU3RyaW5nPT09dC5jb21wYXJpc29uU3RyaW5nKSx0aGlzLmludGVyZXN0c0J5Q29tcGFyaXNvblN0cmluZy5kZWxldGUoZS5jb21wYXJpc29uU3RyaW5nKX1jaGVja0ludGVyZXN0KGUpe2xldCB0PXRoaXMuY29tcGFyaXNvbkZ1bmMoZSk7cmV0dXJuIHRoaXMuY2hlY2tJbnRlcmVzdEJ5U3RyaW5nKHQpfWNoZWNrSW50ZXJlc3RCeVN0cmluZyhlKXtyZXR1cm4gdGhpcy5pbnRlcmVzdHNCeUNvbXBhcmlzb25TdHJpbmcuaGFzKGUpfWluZm9ybUxvc3RJbnRlcmVzdChlKXtsZXQgdD10aGlzLmZpbmRJbnRlcmVzdChlKTt0JiZ0Lm1hcmtMb3N0KCl9ZmluZEludGVyZXN0KGUpe2xldCB0PXRoaXMuY29tcGFyaXNvbkZ1bmMoZSk7cmV0dXJuIHRoaXMuaW50ZXJlc3RzQnlDb21wYXJpc29uU3RyaW5nLmdldCh0KT8/bnVsbH1kZXN0cm95KCl7bGV0IGU9dGhpcy5pbnRlcmVzdE9iamVjdE1hcC5nZXRBcnJheSgpO2ZvcihsZXQgdCBvZiBlKXQuZGVzdHJveSgpO3RoaXMuaW50ZXJlc3RPYmplY3RNYXAud2lwZSgpLHRoaXMuaW50ZXJlc3RzQnlDb21wYXJpc29uU3RyaW5nLmNsZWFyKCksdGhpcy5pbnRlcmVzdE9ic2VydmFibGUuc2lnbmFsQ29tcGxldGUoKX19fSk7dmFyIF9sZSxOY3Q9ZigoKT0+e01uKCk7X2xlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkxpbWl0ZWRBcnJheSIpfWFycmF5PVtdO2FycmF5TGltaXQ7Y29uc3RydWN0b3IoZSl7dGhpcy5hcnJheUxpbWl0PWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmFycmF5Lmxlbmd0aH1hZGRPbmUoZSl7dGhpcy5hcnJheS51bnNoaWZ0KGUpLHRoaXMuYXJyYXkubGVuZ3RoPnRoaXMuYXJyYXlMaW1pdCYmKHRoaXMuYXJyYXkubGVuZ3RoPXRoaXMuYXJyYXlMaW1pdCl9YWRkTWFueShlKXtmb3IobGV0IHQgb2YgZSl0aGlzLmFkZE9uZSh0KX1zZXRMaW1pdChlKXt0aGlzLmFycmF5TGltaXQ9ZSx0aGlzLmFycmF5Lmxlbmd0aD50aGlzLmFycmF5TGltaXQmJih0aGlzLmFycmF5Lmxlbmd0aD10aGlzLmFycmF5TGltaXQpfWdldEF2ZXJhZ2UoKXtpZih0aGlzLmFycmF5Lmxlbmd0aD09PTApcmV0dXJuIDA7aWYodHlwZW9mIHRoaXMuYXJyYXlbMF09PSJudW1iZXIiKXtsZXQgZT0wO2ZvcihsZXQgdCBvZiB0aGlzLmFycmF5KWU9ZSt0O3JldHVybiBlL3RoaXMuYXJyYXkubGVuZ3RofWVsc2UgcmV0dXJuIG51bGx9cmVtb3ZlKGUpe2xldCB0PXRoaXMuYXJyYXkuaW5kZXhPZihlKTtyZXR1cm4gdCE9PS0xPyh0aGlzLmFycmF5LnNwbGljZSh0LDEpLCEwKTohMX1jbGVhcigpe3RoaXMuYXJyYXkubGVuZ3RoPTB9Z2V0QXJyYXkoKXtyZXR1cm5bLi4udGhpcy5hcnJheV19W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpcy5hcnJheVtTeW1ib2wuaXRlcmF0b3JdKCl9fX0pO3ZhciBUbGUsUmN0PWYoKCk9PntNbigpO185KCk7VGxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkxvb3BUcmFja2VyIil9cmVmZXJlbmNlT2JqZWN0TWFwPW5ldyBfbDtjb25zdHJ1Y3Rvcigpe31jaGVja0FuZFRyYWNrKGUpe3JldHVybiB0aGlzLnJlZmVyZW5jZU9iamVjdE1hcC5jaGVja0Zvck9iamVjdChlKT8hMToodGhpcy5yZWZlcmVuY2VPYmplY3RNYXAuYWRkKGUpLCEwKX1yZXNldCgpe3RoaXMucmVmZXJlbmNlT2JqZWN0TWFwLndpcGUoKX1kZXN0cm95KCl7dGhpcy5yZWZlcmVuY2VPYmplY3RNYXAuZGVzdHJveSgpfX19KTt2YXIgTDksTGxlPWYoKCk9PntNbigpO0w5PWNsYXNze3N0YXRpY3tzKHRoaXMsIlN0cmluZ21hcCIpfV9zdHJpbmdBcnJheT1bXTtfdHJpZ2dlclVudGlsVHJ1ZUZ1bmN0aW9uQXJyYXk9W107Y29uc3RydWN0b3IoKXt9YWRkU3RyaW5nKGUpe3RoaXMuX3N0cmluZ0FycmF5LnB1c2goZSksdGhpcy5ub3RpZnlUcmlnZ2VyKCl9YWRkU3RyaW5nQXJyYXkoZSl7Zm9yKGxldCB0IG9mIGUpdGhpcy5hZGRTdHJpbmcodCl9cmVtb3ZlU3RyaW5nKGUpe3RoaXMuX3N0cmluZ0FycmF5PXRoaXMuX3N0cmluZ0FycmF5LmZpbHRlcih0PT50IT09ZSksdGhpcy5ub3RpZnlUcmlnZ2VyKCl9d2lwZSgpe3RoaXMuX3N0cmluZ0FycmF5PVtdLHRoaXMubm90aWZ5VHJpZ2dlcigpfWNoZWNrU3RyaW5nKGUpe3JldHVybiB0aGlzLl9zdHJpbmdBcnJheS5pbmRleE9mKGUpIT09LTF9Y2hlY2tNaW5pbWF0Y2goZSl7bGV0IHQ9bmV3IFE3LlNtYXJ0TWF0Y2goZSkscj0hMTtmb3IobGV0IGkgb2YgdGhpcy5fc3RyaW5nQXJyYXkpdC5tYXRjaChpKSYmKHI9ITApO3JldHVybiByfWNoZWNrSXNFbXB0eSgpe3JldHVybiB0aGlzLl9zdHJpbmdBcnJheS5sZW5ndGg9PT0wfWdldFN0cmluZ0FycmF5KCl7bGV0IGU9W107Zm9yKGxldCB0IG9mIHRoaXMuX3N0cmluZ0FycmF5KWUucHVzaCh0KTtyZXR1cm4gZX1yZWdpc3RlclVudGlsVHJ1ZShlLHQpe2xldCByPWN0LmRlZmVyKCk7cmV0dXJuIHRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5LnB1c2goKCk9PntsZXQgaT1lKHRoaXMuZ2V0U3RyaW5nQXJyYXkoKSk7cmV0dXJuIGk9PT0hMCYmKHQmJnQoKSxyLnJlc29sdmUoKSksaX0pLHRoaXMubm90aWZ5VHJpZ2dlcigpLHIucHJvbWlzZX1ub3RpZnlUcmlnZ2VyKCl7bGV0IGU9dGhpcy5fdHJpZ2dlclVudGlsVHJ1ZUZ1bmN0aW9uQXJyYXkuZmlsdGVyKHQ9PiF0KCkpO3RoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5PWV9ZGVzdHJveSgpe3RoaXMuX3N0cmluZ0FycmF5PVtdLHRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5PVtdfX19KTt2YXIgJDksJGxlPWYoKCk9PntNbigpOyQ5PWNsYXNze3N0YXRpY3tzKHRoaXMsIlRpbWVkQWdncmVndG9yIil9b3B0aW9ucztzdG9yYWdlQXJyYXk9W107aXNTdG9wcGVkPSExO2NvbnN0cnVjdG9yKGUpe3RoaXMub3B0aW9ucz1lfWFnZ3JlZ2F0aW9uVGltZXI7Y2hlY2tBZ2dyZWdhdGlvblN0YXR1cygpe2lmKHRoaXMuaXNTdG9wcGVkKXJldHVybjtsZXQgZT1zKCgpPT57dGhpcy5hZ2dyZWdhdGlvblRpbWVyPW5ldyB5My5UaW1lcih0aGlzLm9wdGlvbnMuYWdncmVnYXRpb25JbnRlcnZhbEluTWlsbGlzKSx0aGlzLmFnZ3JlZ2F0aW9uVGltZXIuY29tcGxldGVkLnRoZW4oKCk9PntpZih0aGlzLmlzU3RvcHBlZCl7dGhpcy5hZ2dyZWdhdGlvblRpbWVyPW51bGw7cmV0dXJufWxldCB0PXRoaXMuc3RvcmFnZUFycmF5O2lmKHQubGVuZ3RoPT09MCl7dGhpcy5hZ2dyZWdhdGlvblRpbWVyPW51bGw7cmV0dXJufXRoaXMuc3RvcmFnZUFycmF5PVtdLGUoKSx0aGlzLm9wdGlvbnMuZnVuY3Rpb25Gb3JBZ2dyZWdhdGlvbih0KX0pLHRoaXMuYWdncmVnYXRpb25UaW1lci5zdGFydCgpfSwiYWRkQWdncmVnYXRpb25UaW1lciIpO3RoaXMuYWdncmVnYXRpb25UaW1lcnx8ZSgpfWFkZChlKXt0aGlzLmlzU3RvcHBlZHx8KHRoaXMuc3RvcmFnZUFycmF5LnB1c2goZSksdGhpcy5jaGVja0FnZ3JlZ2F0aW9uU3RhdHVzKCkpfXN0b3AoZT0hMSl7aWYodGhpcy5pc1N0b3BwZWQ9ITAsdGhpcy5hZ2dyZWdhdGlvblRpbWVyJiYodGhpcy5hZ2dyZWdhdGlvblRpbWVyLnJlc2V0KCksdGhpcy5hZ2dyZWdhdGlvblRpbWVyPW51bGwpLGUmJnRoaXMuc3RvcmFnZUFycmF5Lmxlbmd0aD4wKXtsZXQgdD10aGlzLnN0b3JhZ2VBcnJheTt0aGlzLnN0b3JhZ2VBcnJheT1bXSx0aGlzLm9wdGlvbnMuZnVuY3Rpb25Gb3JBZ2dyZWdhdGlvbih0KX1lbHNlIHRoaXMuc3RvcmFnZUFycmF5PVtdfXJlc3RhcnQoKXt0aGlzLmlzU3RvcHBlZD0hMX19fSk7dmFyIERsZSxPY3Q9ZigoKT0+e01uKCk7RGxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRyZWUiKX1zeW1ib2xUcmVlO2NvbnN0cnVjdG9yKCl7dGhpcy5zeW1ib2xUcmVlPW5ldyBaWi5kZWZhdWx0fWluaXRpYWxpemUoZSl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5pbml0aWFsaXplKGUpfWhhc0NoaWxkcmVuKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuaGFzQ2hpbGRyZW4oZSl9Zmlyc3RDaGlsZChlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmZpcnN0Q2hpbGQoZSl9bGFzdENoaWxkKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUubGFzdENoaWxkKGUpfXByZXZpb3VzU2libGluZyhlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnByZXZpb3VzU2libGluZyhlKX1uZXh0U2libGluZyhlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLm5leHRTaWJsaW5nKGUpfXBhcmVudChlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnBhcmVudChlKX1sYXN0SW5jbHVzaXZlRGVzY2VuZGFudChlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KGUpfXByZWNlZGluZyhlLHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucHJlY2VkaW5nKGUsdCl9Zm9sbG93aW5nKGUsdCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5mb2xsb3dpbmcoZSx0KX1jaGlsZHJlblRvQXJyYXkoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmNoaWxkcmVuVG9BcnJheShlLHQpfWFuY2VzdG9yc1RvQXJyYXkoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmFuY2VzdG9yc1RvQXJyYXkoZSx0KX10cmVlVG9BcnJheShlLHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUudHJlZVRvQXJyYXkoZSx0KX1jaGlsZHJlbkl0ZXJhdG9yKGUsdCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5jaGlsZHJlbkl0ZXJhdG9yKGUsdCl9cHJldmlvdXNTaWJsaW5nc0l0ZXJhdG9yKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucHJldmlvdXNTaWJsaW5nc0l0ZXJhdG9yKGUpfW5leHRTaWJsaW5nc0l0ZXJhdG9yKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUubmV4dFNpYmxpbmdzSXRlcmF0b3IoZSl9YW5jZXN0b3JzSXRlcmF0b3IoZSl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5hbmNlc3RvcnNJdGVyYXRvcihlKX10cmVlSXRlcmF0b3IoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnRyZWVJdGVyYXRvcihlLHQpfWluZGV4KGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuaW5kZXgoZSl9Y2hpbGRyZW5Db3VudChlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmNoaWxkcmVuQ291bnQoZSl9Y29tcGFyZVRyZWVQb3NpdGlvbihlLHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuY29tcGFyZVRyZWVQb3NpdGlvbihlLHQpfXJlbW92ZShlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnJlbW92ZShlKX1pbnNlcnRCZWZvcmUoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmluc2VydEJlZm9yZShlLHQpfWluc2VydEFmdGVyKGUsdCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5pbnNlcnRBZnRlcihlLHQpfXByZXBlbmRDaGlsZChlLHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucHJlcGVuZENoaWxkKGUsdCl9YXBwZW5kQ2hpbGQoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmFwcGVuZENoaWxkKGUsdCl9dG9Kc29uV2l0aEhpZXJhY2h5KGUpe2xldCB0PXMocj0+e2xldCBpPVtdO2lmKHRoaXMuaGFzQ2hpbGRyZW4ocikpe2xldCBvPXRoaXMuY2hpbGRyZW5Ub0FycmF5KHIse30pO2ZvcihsZXQgbiBvZiBvKWkucHVzaCh0KG4pKX1yZXR1cm57ZGF0YTpyLGNoaWxkcmVuOml9fSwiYnVpbGROb2RlIik7cmV0dXJuIHQoZSl9ZnJvbUpzb25XaXRoSGllcmFjaHkoZSx0KXtsZXQgcj1zKChpLG8pPT57bGV0IG49dD90KGkuZGF0YSk6aS5kYXRhO3RoaXMuaW5pdGlhbGl6ZShuKSxvJiZ0aGlzLmFwcGVuZENoaWxkKG8sbik7Zm9yKGxldCBsIG9mIGkuY2hpbGRyZW4pcihsLG4pO3JldHVybiBufSwiYnVpbGRUcmVlIik7cmV0dXJuIHIoZSl9fX0pO3ZhciBMcz17fTtsdChMcyx7QXN5bmNFeGVjdXRpb25TdGFjazooKT0+TWxlLEJhY2twcmVzc3VyZWRBcnJheTooKT0+a2xlLEZhc3RNYXA6KCk9PnczLEludGVyZXN0OigpPT5UOSxJbnRlcmVzdE1hcDooKT0+Q2xlLExpbWl0ZWRBcnJheTooKT0+X2xlLExvb3BUcmFja2VyOigpPT5UbGUsT2JqZWN0TWFwOigpPT5fbCxTdHJpbmdtYXA6KCk9Pkw5LFRpbWVkQWdncmVnYXRvcjooKT0+JDksVGltZWRBZ2dyZWd0b3I6KCk9PiQ5LFRyZWU6KCk9PkRsZSx1bmk6KCk9PkljdH0pO3ZhciB6OT1mKCgpPT57UGN0KCk7RWN0KCk7WFooKTt6bGUoKTtTbGUoKTtOY3QoKTtSY3QoKTtfOSgpO0xsZSgpOyRsZSgpOyRsZSgpO09jdCgpfSk7dmFyIHcwPXt9O2x0KHcwLHthcmVVaW50OEFycmF5c0VxdWFsOigpPT5wYmEsYXNzZXJ0VWludDhBcnJheTooKT0+eTAsYXNzZXJ0VWludDhBcnJheU9yQXJyYXlCdWZmZXI6KCk9PlZjdCxiYXNlNjRUb1N0cmluZzooKT0+dmJhLGJhc2U2NFRvVWludDhBcnJheTooKT0+R2N0LGNvbXBhcmVVaW50OEFycmF5czooKT0+ZmJhLGNvbmNhdFVpbnQ4QXJyYXlzOigpPT51YmEsZ2V0VWludEJFOigpPT5NYmEsaGV4VG9VaW50OEFycmF5OigpPT53YmEsaW5jbHVkZXM6KCk9PmtiYSxpbmRleE9mOigpPT5ZY3QsaXNVaW50OEFycmF5OigpPT5BbGUsc3RyaW5nVG9CYXNlNjQ6KCk9PmJiYSxzdHJpbmdUb1VpbnQ4QXJyYXk6KCk9PlVjdCx0b1VpbnQ4QXJyYXk6KCk9PmRiYSx1aW50OEFycmF5VG9CYXNlNjQ6KCk9PldjdCx1aW50OEFycmF5VG9IZXg6KCk9PnliYSx1aW50OEFycmF5VG9TdHJpbmc6KCk9PmpjdH0pO2Z1bmN0aW9uIEZjdChhLGUsdCl7cmV0dXJuIGE/YS5jb25zdHJ1Y3Rvcj09PWU/ITA6aWJhLmNhbGwoYSk9PT10OiExfWZ1bmN0aW9uIEFsZShhKXtyZXR1cm4gRmN0KGEsVWludDhBcnJheSxvYmEpfWZ1bmN0aW9uIGxiYShhKXtyZXR1cm4gRmN0KGEsQXJyYXlCdWZmZXIsbmJhKX1mdW5jdGlvbiBjYmEoYSl7cmV0dXJuIEFsZShhKXx8bGJhKGEpfWZ1bmN0aW9uIHkwKGEpe2lmKCFBbGUoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXGBVaW50OEFycmF5XGAsIGdvdCBcYCR7dHlwZW9mIGF9XGBgKX1mdW5jdGlvbiBWY3QoYSl7aWYoIWNiYShhKSl0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBcYFVpbnQ4QXJyYXlcYCBvciBcYEFycmF5QnVmZmVyXGAsIGdvdCBcYCR7dHlwZW9mIGF9XGBgKX1mdW5jdGlvbiBkYmEoYSl7aWYoYSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXJldHVybiBuZXcgVWludDhBcnJheShhKTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcoYSkpcmV0dXJuIG5ldyBVaW50OEFycmF5KGEuYnVmZmVyLGEuYnl0ZU9mZnNldCxhLmJ5dGVMZW5ndGgpO3Rocm93IG5ldyBUeXBlRXJyb3IoYFVuc3VwcG9ydGVkIHZhbHVlLCBnb3QgXGAke3R5cGVvZiBhfVxgLmApfWZ1bmN0aW9uIHViYShhLGUpe2lmKGEubGVuZ3RoPT09MClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoMCk7ZT8/PWEucmVkdWNlKChpLG8pPT5pK28ubGVuZ3RoLDApO2xldCB0PW5ldyBVaW50OEFycmF5KGUpLHI9MDtmb3IobGV0IGkgb2YgYSl5MChpKSx0LnNldChpLHIpLHIrPWkubGVuZ3RoO3JldHVybiB0fWZ1bmN0aW9uIHBiYShhLGUpe2lmKHkwKGEpLHkwKGUpLGE9PT1lKXJldHVybiEwO2lmKGEubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0KyspaWYoYVt0XSE9PWVbdF0pcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gZmJhKGEsZSl7eTAoYSkseTAoZSk7bGV0IHQ9TWF0aC5taW4oYS5sZW5ndGgsZS5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8dDtyKyspe2xldCBpPWFbcl0tZVtyXTtpZihpIT09MClyZXR1cm4gTWF0aC5zaWduKGkpfXJldHVybiBNYXRoLnNpZ24oYS5sZW5ndGgtZS5sZW5ndGgpfWZ1bmN0aW9uIGpjdChhLGU9InV0ZjgiKXtyZXR1cm4gVmN0KGEpLEJjdFtlXT8/PW5ldyBnbG9iYWxUaGlzLlRleHREZWNvZGVyKGUpLEJjdFtlXS5kZWNvZGUoYSl9ZnVuY3Rpb24gRDkoYSl7aWYodHlwZW9mIGEhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIFxgc3RyaW5nXGAsIGdvdCBcYCR7dHlwZW9mIGF9XGBgKX1mdW5jdGlvbiBVY3QoYSl7cmV0dXJuIEQ5KGEpLGhiYS5lbmNvZGUoYSl9ZnVuY3Rpb24gbWJhKGEpe3JldHVybiBhLnJlcGxhY2VBbGwoIisiLCItIikucmVwbGFjZUFsbCgiLyIsIl8iKS5yZXBsYWNlKC89KyQvLCIiKX1mdW5jdGlvbiBnYmEoYSl7bGV0IGU9YS5yZXBsYWNlQWxsKCItIiwiKyIpLnJlcGxhY2VBbGwoIl8iLCIvIiksdD0oNC1lLmxlbmd0aCU0KSU0O3JldHVybiBlKyI9Ii5yZXBlYXQodCl9ZnVuY3Rpb24gV2N0KGEse3VybFNhZmU6ZT0hMX09e30pe3kwKGEpO2xldCB0PSIiO2ZvcihsZXQgcj0wO3I8YS5sZW5ndGg7cis9SGN0KXtsZXQgaT1hLnN1YmFycmF5KHIscitIY3QpO3QrPWdsb2JhbFRoaXMuYnRvYShTdHJpbmcuZnJvbUNvZGVQb2ludC5hcHBseSh2b2lkIDAsaSkpfXJldHVybiBlP21iYSh0KTp0fWZ1bmN0aW9uIEdjdChhKXtyZXR1cm4gRDkoYSksVWludDhBcnJheS5mcm9tKGdsb2JhbFRoaXMuYXRvYihnYmEoYSkpLGU9PmUuY29kZVBvaW50QXQoMCkpfWZ1bmN0aW9uIGJiYShhLHt1cmxTYWZlOmU9ITF9PXt9KXtyZXR1cm4gRDkoYSksV2N0KFVjdChhKSx7dXJsU2FmZTplfSl9ZnVuY3Rpb24gdmJhKGEpe3JldHVybiBEOShhKSxqY3QoR2N0KGEpKX1mdW5jdGlvbiB5YmEoYSl7eTAoYSk7bGV0IGU9IiI7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0KyspZSs9eGJhW2FbdF1dO3JldHVybiBlfWZ1bmN0aW9uIHdiYShhKXtpZihEOShhKSxhLmxlbmd0aCUyIT09MCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgSGV4IHN0cmluZyBsZW5ndGguIik7bGV0IGU9YS5sZW5ndGgvMix0PW5ldyBVaW50OEFycmF5KGUpO2ZvcihsZXQgcj0wO3I8ZTtyKyspe2xldCBpPXFjdFthW3IqMl1dLG89cWN0W2FbcioyKzFdXTtpZihpPT09dm9pZCAwfHxvPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBIZXggY2hhcmFjdGVyIGVuY291bnRlcmVkIGF0IHBvc2l0aW9uICR7cioyfWApO3Rbcl09aTw8NHxvfXJldHVybiB0fWZ1bmN0aW9uIE1iYShhKXtsZXR7Ynl0ZUxlbmd0aDplfT1hO2lmKGU9PT02KXJldHVybiBhLmdldFVpbnQxNigwKSoyKiozMithLmdldFVpbnQzMigyKTtpZihlPT09NSlyZXR1cm4gYS5nZXRVaW50OCgwKSoyKiozMithLmdldFVpbnQzMigxKTtpZihlPT09NClyZXR1cm4gYS5nZXRVaW50MzIoMCk7aWYoZT09PTMpcmV0dXJuIGEuZ2V0VWludDgoMCkqMioqMTYrYS5nZXRVaW50MTYoMSk7aWYoZT09PTIpcmV0dXJuIGEuZ2V0VWludDE2KDApO2lmKGU9PT0xKXJldHVybiBhLmdldFVpbnQ4KDApfWZ1bmN0aW9uIFljdChhLGUpe2xldCB0PWEubGVuZ3RoLHI9ZS5sZW5ndGg7aWYocj09PTB8fHI+dClyZXR1cm4tMTtsZXQgaT10LXI7Zm9yKGxldCBvPTA7bzw9aTtvKyspe2xldCBuPSEwO2ZvcihsZXQgbD0wO2w8cjtsKyspaWYoYVtvK2xdIT09ZVtsXSl7bj0hMTticmVha31pZihuKXJldHVybiBvfXJldHVybi0xfWZ1bmN0aW9uIGtiYShhLGUpe3JldHVybiBZY3QoYSxlKSE9PS0xfXZhciBpYmEsb2JhLG5iYSxCY3QsaGJhLEhjdCx4YmEscWN0LEtjdD1mKCgpPT57aWJhPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsb2JhPSJbb2JqZWN0IFVpbnQ4QXJyYXldIixuYmE9IltvYmplY3QgQXJyYXlCdWZmZXJdIjtzKEZjdCwiaXNUeXBlIik7cyhBbGUsImlzVWludDhBcnJheSIpO3MobGJhLCJpc0FycmF5QnVmZmVyIik7cyhjYmEsImlzVWludDhBcnJheU9yQXJyYXlCdWZmZXIiKTtzKHkwLCJhc3NlcnRVaW50OEFycmF5Iik7cyhWY3QsImFzc2VydFVpbnQ4QXJyYXlPckFycmF5QnVmZmVyIik7cyhkYmEsInRvVWludDhBcnJheSIpO3ModWJhLCJjb25jYXRVaW50OEFycmF5cyIpO3MocGJhLCJhcmVVaW50OEFycmF5c0VxdWFsIik7cyhmYmEsImNvbXBhcmVVaW50OEFycmF5cyIpO0JjdD17dXRmODpuZXcgZ2xvYmFsVGhpcy5UZXh0RGVjb2RlcigidXRmOCIpfTtzKGpjdCwidWludDhBcnJheVRvU3RyaW5nIik7cyhEOSwiYXNzZXJ0U3RyaW5nIik7aGJhPW5ldyBnbG9iYWxUaGlzLlRleHRFbmNvZGVyO3MoVWN0LCJzdHJpbmdUb1VpbnQ4QXJyYXkiKTtzKG1iYSwiYmFzZTY0VG9CYXNlNjRVcmwiKTtzKGdiYSwiYmFzZTY0VXJsVG9CYXNlNjQiKTtIY3Q9NjU1MzU7cyhXY3QsInVpbnQ4QXJyYXlUb0Jhc2U2NCIpO3MoR2N0LCJiYXNlNjRUb1VpbnQ4QXJyYXkiKTtzKGJiYSwic3RyaW5nVG9CYXNlNjQiKTtzKHZiYSwiYmFzZTY0VG9TdHJpbmciKTt4YmE9QXJyYXkuZnJvbSh7bGVuZ3RoOjI1Nn0sKGEsZSk9PmUudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSk7cyh5YmEsInVpbnQ4QXJyYXlUb0hleCIpO3FjdD17MDowLDE6MSwyOjIsMzozLDQ6NCw1OjUsNjo2LDc6Nyw4OjgsOTo5LGE6MTAsYjoxMSxjOjEyLGQ6MTMsZToxNCxmOjE1LEE6MTAsQjoxMSxDOjEyLEQ6MTMsRToxNCxGOjE1fTtzKHdiYSwiaGV4VG9VaW50OEFycmF5Iik7cyhNYmEsImdldFVpbnRCRSIpO3MoWWN0LCJpbmRleE9mIik7cyhrYmEsImluY2x1ZGVzIil9KTt2YXIgWmN0PWYoKCk9PntLY3QoKX0pO3ZhciBFaD17fTtsdChFaCx7YmFzZTY0VG9VaW50OEFycmF5OigpPT5fYmEsZW5zdXJlUHVyZVVpbnQ4QXJyYXk6KCk9PiRiYSxpc0J1ZmZlckxpa2U6KCk9PkxiYSxpc1VpbnQ4QXJyYXk6KCk9PlRiYSx1SW50OEFycmF5RXh0cmFzOigpPT56YmEsdUludDhBcnJheVRvQmFzZTY0OigpPT5DYmF9KTtmdW5jdGlvbiBDYmEoYSl7cmV0dXJuIHcwLnVpbnQ4QXJyYXlUb0Jhc2U2NChhKX1mdW5jdGlvbiBfYmEoYSl7cmV0dXJuIHcwLmJhc2U2NFRvVWludDhBcnJheShhKX1mdW5jdGlvbiBMYmEoYSl7cmV0dXJuIGEmJnR5cGVvZiBhLmJ5dGVMZW5ndGg9PSJudW1iZXIiPyEwOnR5cGVvZiBCdWZmZXI8InUiJiZCdWZmZXIuaXNCdWZmZXI/QnVmZmVyLmlzQnVmZmVyKGEpOiExfWZ1bmN0aW9uICRiYShhKXtsZXQgZT1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7cmV0dXJuIGUuc2V0KGEpLGV9dmFyIHpiYSxUYmEsWGN0PWYoKCk9PntaY3QoKTt6YmE9dzA7cyhDYmEsInVJbnQ4QXJyYXlUb0Jhc2U2NCIpO3MoX2JhLCJiYXNlNjRUb1VpbnQ4QXJyYXkiKTtUYmE9cyhhPT53MC5pc1VpbnQ4QXJyYXkoYSksImlzVWludDhBcnJheSIpO3MoTGJhLCJpc0J1ZmZlckxpa2UiKTtzKCRiYSwiZW5zdXJlUHVyZVVpbnQ4QXJyYXkiKX0pO3ZhciBBOT1mKCgpPT57YmkoKX0pO3ZhciBQOSxRWj1mKCgpPT57QTkoKTtQOT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJHdWFyZCIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5ndWFyZEZ1bmN0aW9uPWUsdGhpcy5vcHRpb25zPXR9YXN5bmMgZXhlYyhlKXtyZXR1cm4gYXdhaXQgdGhpcy5ndWFyZEZ1bmN0aW9uKGUpfWFzeW5jIGdldEZhaWxlZEhpbnQoZSl7cmV0dXJuIGF3YWl0IHRoaXMuZXhlYyhlKT9udWxsOnRoaXMub3B0aW9ucy5mYWlsZWRIaW50fX19KTt2YXIgRTksUGxlPWYoKCk9PntBOSgpO0U5PWNsYXNzIGV4dGVuZHMgRXJyb3J7c3RhdGlje3ModGhpcywiR3VhcmRFcnJvciIpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMubmFtZT0iR3VhcmRFcnJvciJ9fX0pO3ZhciBJOSxFbGU9ZigoKT0+e0E5KCk7UVooKTtJOT1jbGFzcyBleHRlbmRzIFA5e3N0YXRpY3tzKHRoaXMsIkd1YXJkU2V0Iil9Y29uc3RydWN0b3IoZT1bXSl7c3VwZXIoYXN5bmMgdD0+dGhpcy5hbGxHdWFyZHNQYXNzKHQpKSx0aGlzLmd1YXJkcz1lfWFzeW5jIGV4ZWNBbGxXaXRoRGF0YShlLHQ9e21vZGU6InBhcmFsbGVsIixzdG9wT25GYWlsOiExfSl7bGV0IHI9W107Zm9yKGxldCBvIG9mIHRoaXMuZ3VhcmRzKXtsZXQgbj1vLmV4ZWMoZSk7aWYodC5tb2RlPT09InNlcmlhbCImJmF3YWl0IG4sci5wdXNoKG4pLHQuc3RvcE9uRmFpbCYmIWF3YWl0IG4pcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKHIpfXJldHVybiBhd2FpdCBQcm9taXNlLmFsbChyKX1hc3luYyBhbGxHdWFyZHNQYXNzKGUsdD17bW9kZToicGFyYWxsZWwiLHN0b3BPbkZhaWw6ITF9KXtyZXR1cm4oYXdhaXQgdGhpcy5leGVjQWxsV2l0aERhdGEoZSx0KSkuZXZlcnkoaT0+aSl9YXN5bmMgYW55R3VhcmRzUGFzcyhlKXtyZXR1cm4oYXdhaXQgdGhpcy5leGVjQWxsV2l0aERhdGEoZSx7bW9kZToicGFyYWxsZWwiLHN0b3BPbkZhaWw6ITF9KSkuc29tZShyPT5yKX1nZXRGYWlsZWRIaW50KGUpe2ZvcihsZXQgdCBvZiB0aGlzLmd1YXJkcyl7bGV0IHI9dC5nZXRGYWlsZWRIaW50KGUpO2lmKHIpcmV0dXJuIHJ9fX19KTt2YXIgTjk9e307bHQoTjkse0d1YXJkOigpPT5QOSxHdWFyZEVycm9yOigpPT5FOSxHdWFyZFNldDooKT0+STkscGFzc0d1YXJkc09yUmVqZWN0OigpPT5EYmF9KTt2YXIgRGJhLFFjdD1mKCgpPT57QTkoKTtRWigpO1BsZSgpO1FaKCk7RWxlKCk7RWxlKCk7UGxlKCk7RGJhPXMoYXN5bmMoYSxlKT0+e2xldCB0PW5ldyBJOShlKTtpZighYXdhaXQgdC5hbGxHdWFyZHNQYXNzKGEpKXtsZXQgaT1hd2FpdCB0LmdldEZhaWxlZEhpbnQoYSk7dGhyb3cgbmV3IEU5KGBHdWFyZHMgZmFpbGVkOgoke2l9CiAgICBgKX19LCJwYXNzR3VhcmRzT3JSZWplY3QiKX0pO3ZhciBJaCxJbGU9ZigoKT0+e0loPWNsYXNze3N0YXRpY3tzKHRoaXMsIkludGVyY2VwdG9yTWFuYWdlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzPVtdLHRoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnM9W10sdGhpcy5lcnJvckludGVyY2VwdG9ycz1bXX1hZGRSZXF1ZXN0SW50ZXJjZXB0b3IoZSl7dGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzLnB1c2goZSl9YWRkUmVzcG9uc2VJbnRlcmNlcHRvcihlKXt0aGlzLnJlc3BvbnNlSW50ZXJjZXB0b3JzLnB1c2goZSl9YWRkRXJyb3JJbnRlcmNlcHRvcihlKXt0aGlzLmVycm9ySW50ZXJjZXB0b3JzLnB1c2goZSl9cmVtb3ZlUmVxdWVzdEludGVyY2VwdG9yKGUpe2xldCB0PXRoaXMucmVxdWVzdEludGVyY2VwdG9ycy5pbmRleE9mKGUpO3Q+LTEmJnRoaXMucmVxdWVzdEludGVyY2VwdG9ycy5zcGxpY2UodCwxKX1yZW1vdmVSZXNwb25zZUludGVyY2VwdG9yKGUpe2xldCB0PXRoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnMuaW5kZXhPZihlKTt0Pi0xJiZ0aGlzLnJlc3BvbnNlSW50ZXJjZXB0b3JzLnNwbGljZSh0LDEpfXJlbW92ZUVycm9ySW50ZXJjZXB0b3IoZSl7bGV0IHQ9dGhpcy5lcnJvckludGVyY2VwdG9ycy5pbmRleE9mKGUpO3Q+LTEmJnRoaXMuZXJyb3JJbnRlcmNlcHRvcnMuc3BsaWNlKHQsMSl9Y2xlYXJBbGwoKXt0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnM9W10sdGhpcy5yZXNwb25zZUludGVyY2VwdG9ycz1bXSx0aGlzLmVycm9ySW50ZXJjZXB0b3JzPVtdfWFzeW5jIHByb2Nlc3NSZXF1ZXN0KGUpe2xldCB0PWU7Zm9yKGxldCByIG9mIHRoaXMucmVxdWVzdEludGVyY2VwdG9ycyl0cnl7dD1hd2FpdCByKHQpfWNhdGNoKGkpe3Rocm93IGF3YWl0IHRoaXMucHJvY2Vzc0Vycm9yKGkgaW5zdGFuY2VvZiBFcnJvcj9pOm5ldyBFcnJvcihTdHJpbmcoaSkpKX1yZXR1cm4gdH1hc3luYyBwcm9jZXNzUmVzcG9uc2UoZSl7bGV0IHQ9ZTtmb3IobGV0IHIgb2YgdGhpcy5yZXNwb25zZUludGVyY2VwdG9ycyl0cnl7dD1hd2FpdCByKHQpfWNhdGNoKGkpe3Rocm93IGF3YWl0IHRoaXMucHJvY2Vzc0Vycm9yKGkgaW5zdGFuY2VvZiBFcnJvcj9pOm5ldyBFcnJvcihTdHJpbmcoaSkpKX1yZXR1cm4gdH1hc3luYyBwcm9jZXNzRXJyb3IoZSl7bGV0IHQ9ZTtmb3IobGV0IHIgb2YgdGhpcy5lcnJvckludGVyY2VwdG9ycyl0cnl7dD1hd2FpdCByKHQpfWNhdGNoKGkpe3Q9aSBpbnN0YW5jZW9mIEVycm9yP2k6bmV3IEVycm9yKFN0cmluZyhpKSl9cmV0dXJuIHR9Z2V0SW50ZXJjZXB0b3JDb3VudHMoKXtyZXR1cm57cmVxdWVzdDp0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnMubGVuZ3RoLHJlc3BvbnNlOnRoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnMubGVuZ3RoLGVycm9yOnRoaXMuZXJyb3JJbnRlcmNlcHRvcnMubGVuZ3RofX19fSk7dmFyIEpjdD1mKCgpPT57YmkoKX0pO3ZhciBlMHQ9ZigoKT0+e30pO3ZhciBObGUsdDB0PWYoKCk9PntKY3QoKTtlMHQoKTtObGU9Y2xhc3N7c3RhdGlje3ModGhpcywiU21hcnRlbnYiKX1jb25zdHJ1Y3Rvcigpe3RoaXMubG9hZGVkU2NyaXB0cz1bXX1hc3luYyBnZXRFbnZBd2FyZU1vZHVsZShlKXtpZih0aGlzLmlzTm9kZSlyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZShlLm5vZGVNb2R1bGVOYW1lKTtpZih0aGlzLmlzQnJvd3NlcilyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlV2ViTW9kdWxlKGUud2ViVXJsQXJnLGUuZ2V0RnVuY3Rpb24pO2NvbnNvbGUuZXJyb3IoInBsYXRmb3JtIGZvciBsb2FkaW5nIG5vdCBzdXBwb3J0ZWQgYnkgc21hcnRlbnYiKX1hc3luYyBnZXRTYWZlTm9kZU1vZHVsZShlLHQpe2lmKCF0aGlzLmlzTm9kZSYmIXRoaXMuaXNEZW5vJiYhdGhpcy5pc0J1bil7Y29uc29sZS5lcnJvcihgWW91IHRyaWVkIHRvIGxvYWQgYSBzZXJ2ZXIgbW9kdWxlIGluIGEgd3JvbmcgY29udGV4dDogJHtlfS4gVGhpcyBkb2VzIG5vdCB0aHJvdy5gKTtyZXR1cm59bGV0IHI9YXdhaXQgbmV3IEZ1bmN0aW9uKGByZXR1cm4gaW1wb3J0KCcke2V9JylgKSgpO3JldHVybiB0JiZhd2FpdCB0KHIpLHJ9YXN5bmMgZ2V0U2FmZVdlYk1vZHVsZShlLHQpe2lmKCF0aGlzLmlzQnJvd3Nlcil7Y29uc29sZS5lcnJvcigiWW91IHRyaWVkIHRvIGxvYWQgYSB3ZWIgbW9kdWxlIGluIGEgd3JvbmcgY29udGV4dCIpO3JldHVybn1pZih0aGlzLmxvYWRlZFNjcmlwdHMuaW5jbHVkZXMoZSkpcmV0dXJuIHQoKTt0aGlzLmxvYWRlZFNjcmlwdHMucHVzaChlKTtsZXQgcj1jdC5kZWZlcigpLGk9Z2xvYmFsVGhpcztpZihpLmltcG9ydFNjcmlwdHMpaS5pbXBvcnRTY3JpcHRzKGUpLHIucmVzb2x2ZSgpO2Vsc2V7bGV0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7by5vbmxvYWQ9KCk9PntyLnJlc29sdmUoKX0sby5zcmM9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG8pfXJldHVybiBhd2FpdCByLnByb21pc2UsdCgpfWdldCBydW50aW1lRW52KCl7bGV0IGU9Z2xvYmFsVGhpcztyZXR1cm4gdHlwZW9mIGUuRGVubzwidSImJnR5cGVvZiBlLkRlbm8udmVyc2lvbjwidSI/ImRlbm8iOnR5cGVvZiBlLkJ1bjwidSImJnR5cGVvZiBlLkJ1bi52ZXJzaW9uPCJ1Ij8iYnVuIjp0eXBlb2YgZ2xvYmFsVGhpcy5wcm9jZXNzPCJ1IiYmdHlwZW9mIGdsb2JhbFRoaXMucHJvY2Vzcz8udmVyc2lvbnM/Lm5vZGU8InUiPyJub2RlIjoodHlwZW9mIGdsb2JhbFRoaXMud2luZG93PCJ1IiYmdHlwZW9mIGdsb2JhbFRoaXMuZG9jdW1lbnQ8InUiLCJicm93c2VyIil9Z2V0IGlzQnJvd3Nlcigpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0iYnJvd3NlciJ9Z2V0IGlzTm9kZSgpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0ibm9kZSJ9Z2V0IGlzRGVubygpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0iZGVubyJ9Z2V0IGlzQnVuKCl7cmV0dXJuIHRoaXMucnVudGltZUVudj09PSJidW4ifWdldCB1c2VyQWdlbnQoKXtyZXR1cm4gdGhpcy5pc0Jyb3dzZXI/bmF2aWdhdG9yLnVzZXJBZ2VudDoidW5kZWZpbmVkIn1nZXQgbm9kZVZlcnNpb24oKXtyZXR1cm4gdGhpcy5pc05vZGU/cHJvY2Vzcy52ZXJzaW9uOiJ1bmRlZmluZWQifWdldCBkZW5vVmVyc2lvbigpe3JldHVybiB0aGlzLmlzRGVubz9nbG9iYWxUaGlzLkRlbm8/LnZlcnNpb24/LmRlbm8/PyJ1bmRlZmluZWQiOiJ1bmRlZmluZWQifWdldCBidW5WZXJzaW9uKCl7cmV0dXJuIHRoaXMuaXNCdW4/Z2xvYmFsVGhpcy5CdW4/LnZlcnNpb24/PyJ1bmRlZmluZWQiOiJ1bmRlZmluZWQifWFzeW5jIGdldFNhZmVNb2R1bGVGb3IoZSx0LHIpe2xldCBpO2lmKEFycmF5LmlzQXJyYXkoZSk/aT1lLmZsYXRNYXAobz0+bz09PSJzZXJ2ZXIiP1sibm9kZSIsImRlbm8iLCJidW4iXTpbb10pOmU9PT0ic2VydmVyIj9pPVsibm9kZSIsImRlbm8iLCJidW4iXTppPVtlXSwhaS5pbmNsdWRlcyh0aGlzLnJ1bnRpbWVFbnYpKXtjb25zb2xlLndhcm4oYE1vZHVsZSAiJHt0fSIgcmVxdWVzdGVkIGZvciBydW50aW1lKHMpIFske2kuam9pbigiLCAiKX1dIGJ1dCBjdXJyZW50IHJ1bnRpbWUgaXMgIiR7dGhpcy5ydW50aW1lRW52fSIuIFNraXBwaW5nIGxvYWQuYCk7cmV0dXJufWlmKHRoaXMuaXNOb2RlfHx0aGlzLmlzRGVub3x8dGhpcy5pc0J1bilyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSh0KTtpZih0aGlzLmlzQnJvd3Nlcil7aWYoIXIpe2NvbnNvbGUuZXJyb3IoYEJyb3dzZXIgbW9kdWxlIGxvYWQgcmVxdWlyZXMgZ2V0RnVuY3Rpb24gcGFyYW1ldGVyIGZvciAiJHt0fSJgKTtyZXR1cm59cmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZVdlYk1vZHVsZSh0LHIpfX1nZXQgaXNDSSgpe3JldHVybiB0aGlzLmlzTm9kZT8hIXByb2Nlc3MuZW52LkNJOiExfWFzeW5jIGlzTWFjQXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGV8fHRoaXMuaXNEZW5vfHx0aGlzLmlzQnVuPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKHRoaXMuaXNEZW5vPyJub2RlOm9zIjoib3MiKSk/LnBsYXRmb3JtKCk9PT0iZGFyd2luIjohMX1hc3luYyBpc1dpbmRvd3NBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZXx8dGhpcy5pc0Rlbm98fHRoaXMuaXNCdW4/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUodGhpcy5pc0Rlbm8/Im5vZGU6b3MiOiJvcyIpKT8ucGxhdGZvcm0oKT09PSJ3aW4zMiI6ITF9YXN5bmMgaXNMaW51eEFzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlfHx0aGlzLmlzRGVub3x8dGhpcy5pc0J1bj8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSh0aGlzLmlzRGVubz8ibm9kZTpvcyI6Im9zIikpPy5wbGF0Zm9ybSgpPT09ImxpbnV4IjohMX1hc3luYyBwcmludEVudigpe3RoaXMuaXNOb2RlPyhjb25zb2xlLmxvZygicnVubmluZyBvbiBOT0RFIiksY29uc29sZS5sb2coIm5vZGUgdmVyc2lvbiBpcyAiK3RoaXMubm9kZVZlcnNpb24pKTp0aGlzLmlzRGVubz8oY29uc29sZS5sb2coInJ1bm5pbmcgb24gREVOTyIpLGNvbnNvbGUubG9nKCJkZW5vIHZlcnNpb24gaXMgIit0aGlzLmRlbm9WZXJzaW9uKSk6dGhpcy5pc0J1bj8oY29uc29sZS5sb2coInJ1bm5pbmcgb24gQlVOIiksY29uc29sZS5sb2coImJ1biB2ZXJzaW9uIGlzICIrdGhpcy5idW5WZXJzaW9uKSk6KGNvbnNvbGUubG9nKCJydW5uaW5nIG9uIEJST1dTRVIiKSxjb25zb2xlLmxvZygiYnJvd3NlciBpcyAiK3RoaXMudXNlckFnZW50KSl9fX0pO3ZhciBuMT17fTtsdChuMSx7U21hcnRlbnY6KCk9Pk5sZX0pO3ZhciBSOT1mKCgpPT57dDB0KCl9KTt2YXIgUmxlLE85PWYoKCk9PntSbGU9a28oWUcoKSwxKX0pO3ZhciBKWj17fTtsdChKWix7Y3JlYXRlQ3J5cHRvUmFuZG9tU3RyaW5nOigpPT5SYmEsY3JlYXRlUmFuZG9tU3RyaW5nOigpPT5OYmF9KTt2YXIgRWJhLEliYSxOYmEsUmJhLGEwdD1mKCgpPT57TzkoKTtFYmE9cygoYSxlKT0+e2lmKHR5cGVvZiBnbG9iYWxUaGlzPCJ1IiYmZ2xvYmFsVGhpcy5jcnlwdG8mJmdsb2JhbFRoaXMuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl7bGV0IHQ9ZS1hLHI9bmV3IFVpbnQzMkFycmF5KDEpO3JldHVybiBnbG9iYWxUaGlzLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMociksYStyWzBdJXR9ZWxzZSByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKihlLWEpKSthfSwiZ2V0UmFuZG9tSW50IiksSWJhPXMoKGEsZSx0KT0+e2xldCByPXtBOiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIsYToiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLDA6IjAxMjM0NTY3ODkiLCIhIjoiIUAjJCVeJiooKV8rLT1bXXt9fDs6LC48Pj8iLCIqIjoiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkhQCMkJV4mKigpXystPVtde318OzosLjw+PyJ9LGk9YTtlJiZlPmEubGVuZ3RoP2k9YS5yZXBlYXQoTWF0aC5jZWlsKGUvYS5sZW5ndGgpKS5zbGljZSgwLGUpOmUmJihpPWEuc2xpY2UoMCxlKSk7bGV0IG89IiI7Zm9yKGxldCBuIG9mIGkpaWYocltuXSl7bGV0IGw9cltuXSxkPUViYSgwLGwubGVuZ3RoKTtvKz1sW2RdfWVsc2Ugbys9bjtyZXR1cm4gb30sImN1c3RvbVJhbmRvbWF0aWMiKSxOYmE9cygoYSxlLHQpPT5JYmEoYSxlLHQpLCJjcmVhdGVSYW5kb21TdHJpbmciKSxSYmE9cygoKT0+UmxlLnVuaSgpLCJjcmVhdGVDcnlwdG9SYW5kb21TdHJpbmciKX0pO3ZhciBlWD17fTtsdChlWCx7bWFrZUVudk9iamVjdDooKT0+T2JhfSk7dmFyIE9iYSxyMHQ9ZigoKT0+e085KCk7T2JhPXMoZnVuY3Rpb24oYSl7bGV0IGU9e30sdD0vKC4qKT0oLiopLztpZih0eXBlb2YgYTwidSIpZm9yKGxldCByIG9mIGEpe2xldCBpPXQuZXhlYyhyKTtpJiYoZVtpWzFdXT1pWzJdKX1yZXR1cm4gZX0sIm1ha2VFbnZPYmplY3QiKX0pO3ZhciBNMz17fTtsdChNMyx7aW5kZW50OigpPT5CYmEsaW5kZW50V2l0aFByZWZpeDooKT0+SGJhLG5vcm1hbGl6ZTooKT0+cWJhfSk7dmFyIE9sZSxGbGUsRmJhLEJiYSxIYmEscWJhLHMwdD1mKCgpPT57TzkoKTtPbGU9cyhhPT57bGV0IGU9YS5zcGxpdChgCmApO3JldHVybiBGYmEoZSl9LCJzcGxpdFN0cmluZ0F0TGluZUJyZWFrIiksRmxlPXMoYT0+e2xldCBlPSIiO2ZvcihsZXQgdCBvZiBhKWU9ZSt0K2AKYDtyZXR1cm4gZX0sImpvaW5TdHJpbmdXaXRoTGluZUJyZWFrcyIpLEZiYT1zKGE9PntsZXQgZT0vXltcc10qJC87cmV0dXJuIGUudGVzdChhWzBdKSYmYS5zaGlmdCgpLGUudGVzdChhW2EubGVuZ3RoLTFdKSYmYS5wb3AoKSxhfSwiY2xlYW5TdHJpbmdBcnJheSIpLEJiYT1zKChhLGUpPT57bGV0IHQ9T2xlKGEpO2ZvcihsZXQgaSBvZiB0KWk9IiAiLnJlcGVhdChlKStpO3JldHVybiBGbGUodCl9LCJpbmRlbnQiKSxIYmE9cygoYSxlKT0+e2xldCB0LHI9T2xlKGEpLGk9W107Zm9yKGxldCBvIG9mIHIpaS5wdXNoKGUrbyk7cmV0dXJuIHQ9RmxlKGkpLHR9LCJpbmRlbnRXaXRoUHJlZml4IikscWJhPXMoYT0+e2xldCBlLHQ9T2xlKGEpLHIsaT0vXihccyopLyxvPS9eKFxzKikkLztmb3IobGV0IGQgb2YgdCl7bGV0IGM9aS5leGVjKGQpLHA9Yz9jWzFdOiIiOyh0eXBlb2Ygcj4idSJ8fHAubGVuZ3RoPHIpJiYhby50ZXN0KGQpJiYocj1wLmxlbmd0aCl9bGV0IG49W10sbD1yfHwwO2ZvcihsZXQgZCBvZiB0KW4ucHVzaChkLnN1YnN0cihsKSk7cmV0dXJuIGU9RmxlKG4pLGV9LCJub3JtYWxpemUiKX0pO3ZhciB0WD17fTtsdCh0WCx7cmVwbGFjZUFsbDooKT0+aTB0LHN0YW5kYXJkOigpPT5qYmF9KTt2YXIgaTB0LFZiYSxqYmEsbzB0PWYoKCk9PntpMHQ9cygoYSxlLHQpPT5hLnJlcGxhY2UobmV3IFJlZ0V4cChlLCJnIiksdCksInJlcGxhY2VBbGwiKSxWYmE9cyhhPT57bGV0IGU9YS5zcGxpdChgCmApLHQ9MS8wO2ZvcihsZXQgciBvZiBlKWlmKHIudHJpbSgpLmxlbmd0aD4wKXtsZXQgaT1yLm1hdGNoKC9eKFxzKikvKTtpJiYodD1NYXRoLm1pbih0LGlbMV0ubGVuZ3RoKSl9cmV0dXJuIHQ9PT0xLzB8fHQ9PT0wP2E6ZS5tYXAocj0+ci5sZW5ndGg+PXQ/ci5zbGljZSh0KTpyKS5qb2luKGAKYCl9LCJzdHJpcEluZGVudCIpLGpiYT1zKChhLGUpPT57bGV0IHQ9YTtyZXR1cm4oIWV8fGUuc3RyaXBJbmRlbnQpJiYodD1WYmEodCkpLCghZXx8ZS5ub3JtYWxpemVOZXdsaW5lKSYmKHQ9dC5yZXBsYWNlKC9cclxuL2csYApgKSksKCFlfHxlLnJlcGxhY2VUYWJzKSYmKHQ9aTB0KHQsIgkvIiwiICIpKSwoIWV8fGUuc3RyaXBMZWFkaW5nVHJhaWxpbmdFbXB0eUxpbmVzKSYmKHQ9dC5yZXBsYWNlKC9eXHMqW1xyXG5dL2dtLCIiKS5yZXBsYWNlKC9ccypbXHJcbl0kL2dtLCIiKSksKCFlfHxlLnN0cmlwQWxsRW1wdHlMaW5lcykmJih0PXQucmVwbGFjZSgvXlxzKltcclxuXS9nbSwiIikpLHR9LCJzdGFuZGFyZCIpfSk7dmFyIEJsZSxhWCxOaCxIbGU9ZigoKT0+e0JsZT17ZW5jb2RlOnMoYT0+e2lmKHR5cGVvZiBCdWZmZXI8InUiKXJldHVybiBCdWZmZXIuZnJvbShhLCJ1dGY4IikudG9TdHJpbmcoImJhc2U2NCIpO2lmKHR5cGVvZiBidG9hPCJ1Iil7bGV0IGU9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGEpLHQ9QXJyYXkuZnJvbShlLHI9PlN0cmluZy5mcm9tQ2hhckNvZGUocikpLmpvaW4oIiIpO3JldHVybiBidG9hKHQpfWVsc2V7bGV0IGU9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iLHQ9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGEpLHI9IiIsaT0wO2Zvcig7aTx0Lmxlbmd0aDspe2xldCBvPXRbaSsrXSxuPWk8dC5sZW5ndGg/dFtpKytdOjAsbD1pPHQubGVuZ3RoP3RbaSsrXTowLGQ9bzw8MTZ8bjw8OHxsO3IrPWUuY2hhckF0KGQ+PjE4JjYzKSxyKz1lLmNoYXJBdChkPj4xMiY2Mykscis9aS0yPHQubGVuZ3RoP2UuY2hhckF0KGQ+PjYmNjMpOiI9IixyKz1pLTE8dC5sZW5ndGg/ZS5jaGFyQXQoZCY2Myk6Ij0ifXJldHVybiByfX0sImVuY29kZSIpLGRlY29kZTpzKGE9PntsZXQgZT1hLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpLnBhZEVuZChhLmxlbmd0aCsoNC1hLmxlbmd0aCU0KSU0LCI9Iik7aWYodHlwZW9mIEJ1ZmZlcjwidSIpcmV0dXJuIEJ1ZmZlci5mcm9tKGUsImJhc2U2NCIpLnRvU3RyaW5nKCJ1dGY4Iik7aWYodHlwZW9mIGF0b2I8InUiKXtsZXQgdD1hdG9iKGUpLHI9bmV3IFVpbnQ4QXJyYXkodC5sZW5ndGgpO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXJbaV09dC5jaGFyQ29kZUF0KGkpO3JldHVybiBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUocil9ZWxzZXtsZXQgdD0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIscj1bXSxpPTA7Zm9yKDtpPGUubGVuZ3RoOyl7bGV0IG89dC5pbmRleE9mKGUuY2hhckF0KGkrKykpLG49dC5pbmRleE9mKGUuY2hhckF0KGkrKykpLGw9dC5pbmRleE9mKGUuY2hhckF0KGkrKykpLGQ9dC5pbmRleE9mKGUuY2hhckF0KGkrKykpLGM9bzw8MTh8bjw8MTJ8bDw8NnxkO3IucHVzaChjPj4xNiYyNTUpLGwhPT02NCYmci5wdXNoKGM+PjgmMjU1KSxkIT09NjQmJnIucHVzaChjJjI1NSl9cmV0dXJuIG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShuZXcgVWludDhBcnJheShyKSl9fSwiZGVjb2RlIil9LGFYPWNsYXNze3N0YXRpY3tzKHRoaXMsIkJhc2U2NCIpfWNvbnN0cnVjdG9yKGUsdCl7c3dpdGNoKHQpe2Nhc2Uic3RyaW5nIjp0aGlzLnJlZlN0cmluZz1lO2JyZWFrO2Nhc2UiYmFzZTY0Ijp0aGlzLnJlZlN0cmluZz1OaC5kZWNvZGUoZSk7YnJlYWs7Y2FzZSJiYXNlNjR1cmkiOnRoaXMucmVmU3RyaW5nPU5oLmRlY29kZShlKX19Z2V0IHNpbXBsZVN0cmluZygpe3JldHVybiB0aGlzLnJlZlN0cmluZ31nZXQgYmFzZTY0U3RyaW5nKCl7cmV0dXJuIE5oLmVuY29kZSh0aGlzLnJlZlN0cmluZyl9Z2V0IGJhc2U2NFVyaVN0cmluZygpe3JldHVybiBOaC5lbmNvZGVVcmkodGhpcy5yZWZTdHJpbmcpfX0sTmg9e2VuY29kZTpzKGE9PkJsZS5lbmNvZGUoYSksImVuY29kZSIpLGVuY29kZVVyaTpzKGE9PkJsZS5lbmNvZGUoYSkucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKS5yZXBsYWNlKC89L2csIiIpLCJlbmNvZGVVcmkiKSxkZWNvZGU6cyhhPT5CbGUuZGVjb2RlKGEpLCJkZWNvZGUiKSxpc0Jhc2U2NDpzKGE9Pi9eKFtBLVphLXowLTkrL117NH0pKihbQS1aYS16MC05Ky9dezN9PXxbQS1aYS16MC05Ky9dezJ9PT0pPyQvLnRlc3QoYSksImlzQmFzZTY0Iil9fSk7dmFyIHJYPXt9O2x0KHJYLHtpc0Jhc2U2NDooKT0+V2JhLGlzVXRmODooKT0+VWJhfSk7dmFyIFViYSxXYmEsbjB0PWYoKCk9PntPOSgpO0hsZSgpO1ViYT1zKGE9PntsZXQgdD1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoYSkscj0wO2Zvcig7cjx0Lmxlbmd0aDspe2lmKHRbcl09PT05fHx0W3JdPT09MTB8fHRbcl09PT0xM3x8MzI8PXRbcl0mJnRbcl08PTEyNil7cis9MTtjb250aW51ZX1pZigxOTQ8PXRbcl0mJnRbcl08PTIyMyYmMTI4PD10W3IrMV0mJnRbcisxXTw9MTkxKXtyKz0yO2NvbnRpbnVlfWlmKHRbcl09PT0yMjQmJjE2MDw9dFtyKzFdJiZ0W3IrMV08PTE5MSYmMTI4PD10W3IrMl0mJnRbcisyXTw9MTkxfHwoMjI1PD10W3JdJiZ0W3JdPD0yMzZ8fHRbcl09PT0yMzh8fHRbcl09PT0yMzkpJiYxMjg8PXRbcisxXSYmdFtyKzFdPD0xOTEmJjEyODw9dFtyKzJdJiZ0W3IrMl08PTE5MXx8dFtyXT09PTIzNyYmMTI4PD10W3IrMV0mJnRbcisxXTw9MTU5JiYxMjg8PXRbcisyXSYmdFtyKzJdPD0xOTEpe3IrPTM7Y29udGludWV9aWYodFtyXT09PTI0MCYmMTQ0PD10W3IrMV0mJnRbcisxXTw9MTkxJiYxMjg8PXRbcisyXSYmdFtyKzJdPD0xOTEmJjEyODw9dFtyKzNdJiZ0W3IrM108PTE5MXx8MjQxPD10W3JdJiZ0W3JdPD0yNDMmJjEyODw9dFtyKzFdJiZ0W3IrMV08PTE5MSYmMTI4PD10W3IrMl0mJnRbcisyXTw9MTkxJiYxMjg8PXRbciszXSYmdFtyKzNdPD0xOTF8fHRbcl09PT0yNDQmJjEyODw9dFtyKzFdJiZ0W3IrMV08PTE0MyYmMTI4PD10W3IrMl0mJnRbcisyXTw9MTkxJiYxMjg8PXRbciszXSYmdFtyKzNdPD0xOTEpe3IrPTQ7Y29udGludWV9cmV0dXJuITF9cmV0dXJuITB9LCJpc1V0ZjgiKSxXYmE9cyhhPT57bGV0IGU9L1teQS1aMC05K1wvPV0vaSx0PWEubGVuZ3RoO2lmKCF0fHx0JTQhPT0wfHxlLnRlc3QoYSkpcmV0dXJuITE7bGV0IHI9YS5pbmRleE9mKCI9Iik7cmV0dXJuIHI9PT0tMXx8cj09PXQtMXx8cj09PXQtMiYmYVt0LTFdPT09Ij0ifSwiaXNCYXNlNjQiKX0pO3ZhciBzWCxsMHQ9ZigoKT0+e3NYPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRvbWFpbiIpfWNvbnN0cnVjdG9yKGUpe3RoaXMucHJvdG9jb2w9dGhpcy5fcHJvdG9jb2xSZWdleChlKSx0aGlzLnByb3RvY29sfHwoZT1gaHR0cHM6Ly8ke2V9YCksdGhpcy5ub2RlUGFyc2VkVXJsPW5ldyBVUkwoZSksdGhpcy5wb3J0PXRoaXMubm9kZVBhcnNlZFVybC5wb3J0O2xldCB0PXRoaXMuX2RvbWFpblJlZ2V4KGUucmVwbGFjZSh0aGlzLm5vZGVQYXJzZWRVcmwucGF0aG5hbWUsIiIpKTtbdGhpcy5sZXZlbDEsdGhpcy5sZXZlbDIsdGhpcy5sZXZlbDMsdGhpcy5sZXZlbDQsdGhpcy5sZXZlbDVdPXQsdGhpcy5mdWxsTmFtZT0iIjtmb3IobGV0IHIgb2YgdCl0aGlzLmZ1bGxOYW1lPT09IiI/dGhpcy5mdWxsTmFtZT1yOnRoaXMuZnVsbE5hbWU9cisiLiIrdGhpcy5mdWxsTmFtZTt0aGlzLnpvbmVOYW1lPVt0aGlzLmxldmVsMix0aGlzLmxldmVsMV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIi4iKSx0aGlzLnRvcExldmVsPXRoaXMubGV2ZWwxLHRoaXMuZG9tYWluTmFtZT10aGlzLmxldmVsMix0aGlzLnN1YkRvbWFpbj10aGlzLmxldmVsM31fZG9tYWluUmVnZXgoZSl7bGV0IHI9LyhbYS16QS1aMC05XC1cX10qKVwuezAsMX0oW2EtekEtWjAtOVwtXF9dKilcLnswLDF9KFthLXpBLVowLTlcLVxfXSopXC57MCwxfShbYS16QS1aMC05XC1cX10qKVwuezAsMX0oW2EtekEtWjAtOVwtXF9dKilcLnswLDF9JC8uZXhlYyhlKTtpZighcilyZXR1cm5bXTtsZXQgaT1bLi4ucl0ucmV2ZXJzZSgpO3JldHVybiBpLnBvcCgpLGkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiBuIT09IiJ9KX1fcHJvdG9jb2xSZWdleChlKXtsZXQgcj0vXihbYS16QS1aMC05XSopOlwvXC8vLmV4ZWMoZSk7aWYocilyZXR1cm4gclsxXX1fcG9ydFJlZ2V4KGUpe2xldCByPS9eKFthLXpBLVowLTldKik6XC9cLy8uZXhlYyhlKTtpZihyKXJldHVybiByWzFdfX19KTt2YXIgaVgsR2JhLGMwdCxkMHQ9ZigoKT0+e2lYPWNsYXNze3N0YXRpY3tzKHRoaXMsIkdpdFJlcG8iKX1jb25zdHJ1Y3RvcihlLHQpe2xldCByPUdiYShlKTtpZighcil0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZ2l0IHJlcG9zaXRvcnkgVVJMOiAke2V9YCk7dGhpcy5ob3N0PXJbMV0sdGhpcy51c2VyPXJbMl0sdGhpcy5yZXBvPXJbM10sdGhpcy5hY2Nlc3NUb2tlbj10LHRoaXMuc3NoVXJsPWMwdCh0aGlzLmhvc3QsdGhpcy51c2VyLHRoaXMucmVwbyx0aGlzLmFjY2Vzc1Rva2VuLCJzc2giKSx0aGlzLmh0dHBzVXJsPWMwdCh0aGlzLmhvc3QsdGhpcy51c2VyLHRoaXMucmVwbyx0aGlzLmFjY2Vzc1Rva2VuLCJodHRwcyIpfX0sR2JhPXMoZnVuY3Rpb24oYSl7cmV0dXJuLyhbYS16QS1aMC05XC1fXC5dKikoPzpcL3xcOikoW2EtekEtWjAtOVwtX1wuXSopKD86XC8pKFthLXpBLVowLTlcLV9cLl0qKSg/OlwuZ2l0KS8uZXhlYyhhKX0sImdpdFJlZ2V4IiksYzB0PXMoZnVuY3Rpb24oYSxlLHQscj0iIixpKXtzd2l0Y2gociE9PSIiJiYocj1yKyJAIiksaSl7Y2FzZSJodHRwcyI6cmV0dXJuImh0dHBzOi8vIityK2ErIi8iK2UrIi8iK3QrIi5naXQiO2Nhc2Uic3NoIjpyZXR1cm4iZ2l0QCIrYSsiOiIrZSsiLyIrdCsiLmdpdCJ9fSwiZ2l0TGluayIpfSk7dmFyIGRzPXt9O2x0KGRzLHtCYXNlNjQ6KCk9PmFYLERvbWFpbjooKT0+c1gsR2l0UmVwbzooKT0+aVgsYmFzZTY0OigpPT5OaCxjcmVhdGU6KCk9PkpaLGRvY2tlcjooKT0+ZVgsaW5kZW50OigpPT5NMyxub3JtYWxpemU6KCk9PnRYLHR5cGU6KCk9PnJYfSk7dmFyIFJoPWYoKCk9PnthMHQoKTtyMHQoKTtzMHQoKTtvMHQoKTtuMHQoKTtIbGUoKTtsMHQoKTtkMHQoKX0pO3ZhciBxbGU9TW8oKFJMcix1MHQpPT57InVzZSBzdHJpY3QiO3UwdC5leHBvcnRzPWZ1bmN0aW9uKGEsZSl7ZXx8KGU9e30pLHR5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT17Y21wOmV9KTt2YXIgdD10eXBlb2YgZS5jeWNsZXM9PSJib29sZWFuIj9lLmN5Y2xlczohMSxyPWUuY21wJiYoZnVuY3Rpb24obyl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihsLGQpe3ZhciBjPXtrZXk6bCx2YWx1ZTpuW2xdfSxwPXtrZXk6ZCx2YWx1ZTpuW2RdfTtyZXR1cm4gbyhjLHApfX19KShlLmNtcCksaT1bXTtyZXR1cm4gcygoZnVuY3Rpb24gbyhuKXtpZihuJiZuLnRvSlNPTiYmdHlwZW9mIG4udG9KU09OPT0iZnVuY3Rpb24iJiYobj1uLnRvSlNPTigpKSxuIT09dm9pZCAwKXtpZih0eXBlb2Ygbj09Im51bWJlciIpcmV0dXJuIGlzRmluaXRlKG4pPyIiK246Im51bGwiO2lmKHR5cGVvZiBuIT0ib2JqZWN0IilyZXR1cm4gSlNPTi5zdHJpbmdpZnkobik7dmFyIGwsZDtpZihBcnJheS5pc0FycmF5KG4pKXtmb3IoZD0iWyIsbD0wO2w8bi5sZW5ndGg7bCsrKWwmJihkKz0iLCIpLGQrPW8obltsXSl8fCJudWxsIjtyZXR1cm4gZCsiXSJ9aWYobj09PW51bGwpcmV0dXJuIm51bGwiO2lmKGkuaW5kZXhPZihuKSE9PS0xKXtpZih0KXJldHVybiBKU09OLnN0cmluZ2lmeSgiX19jeWNsZV9fIik7dGhyb3cgbmV3IFR5cGVFcnJvcigiQ29udmVydGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8gSlNPTiIpfXZhciBjPWkucHVzaChuKS0xLHA9T2JqZWN0LmtleXMobikuc29ydChyJiZyKG4pKTtmb3IoZD0iIixsPTA7bDxwLmxlbmd0aDtsKyspe3ZhciB1PXBbbF0sbT1vKG5bdV0pO20mJihkJiYoZCs9IiwiKSxkKz1KU09OLnN0cmluZ2lmeSh1KSsiOiIrbSl9cmV0dXJuIGkuc3BsaWNlKGMsMSksInsiK2QrIn0ifX0pLCJzdHJpbmdpZnkiKShhKX19KTt2YXIgcDB0LG9YLFZsZT1mKCgpPT57UjkoKTtSaCgpO3AwdD1rbyhxbGUoKSwxKSxvWD1wMHQuZGVmYXVsdH0pO2Z1bmN0aW9uIEtiYShhKXtsZXQgZT1mMHQoKTtyZXR1cm4gZT9lLmZyb20oYSkudG9TdHJpbmcoImJhc2U2NCIpOmJ0b2EoU3RyaW5nLmZyb21DaGFyQ29kZSguLi5hKSl9ZnVuY3Rpb24gWmJhKGEpe2xldCBlPWYwdCgpO2lmKGUpe2xldCB0PWUuZnJvbShhLCJiYXNlNjQiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9cmV0dXJuIG5ldyBVaW50OEFycmF5KEFycmF5LmZyb20oYXRvYihhKSkubWFwKHQ9PnQuY2hhckNvZGVBdCgwKSkpfWZ1bmN0aW9uIFVsZShhLGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShhLG5YLGUpfWZ1bmN0aW9uIFdsZShhKXtyZXR1cm4gSlNPTi5wYXJzZShhLGgwdCl9ZnVuY3Rpb24gWGJhKGEpe3JldHVybiBnMHQoYSkmJmEudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmamxlKGEuZGF0YSl9ZnVuY3Rpb24gUWJhKGEpe3JldHVybiBnMHQoYSkmJmEudHlwZT09PSJCdWZmZXIiJiYobTB0KGEuZGF0YSl8fGpsZShhLmRhdGEpKXx8YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl9ZnVuY3Rpb24gbTB0KGEpe3JldHVybiBBcnJheS5pc0FycmF5KGEpfWZ1bmN0aW9uIGpsZShhKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmcifWZ1bmN0aW9uIGcwdChhKXtyZXR1cm4gdHlwZW9mIGE9PSJvYmplY3QiJiZhIT09bnVsbH12YXIgZjB0LG5YLGgwdCxiMHQ9ZigoKT0+e1ZsZSgpO2YwdD1zKCgpPT5nbG9iYWxUaGlzLkJ1ZmZlciwiZ2V0Tm9kZUJ1ZmZlciIpO3MoS2JhLCJiYXNlNjRFbmNvZGUiKTtzKFpiYSwiYmFzZTY0RGVjb2RlIik7cyhVbGUsInN0cmluZ2lmeSIpO3MoV2xlLCJwYXJzZSIpO25YPXMoKGEsZSk9PntpZihRYmEoZSkpe2xldCB0O2lmKCJkYXRhImluIGUmJm0wdChlLmRhdGEpKXQ9bmV3IFVpbnQ4QXJyYXkoZS5kYXRhKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXQ9ZTtlbHNlIHJldHVybiBlO3JldHVybnt0eXBlOiJFbmNvZGVkQnVmZmVyIixkYXRhOiJiYXNlNjQ6IitLYmEodCl9fXJldHVybiBlfSwicmVwbGFjZXIiKSxoMHQ9cygoYSxlKT0+e2lmKFhiYShlKSYmamxlKGUuZGF0YSkmJmUuZGF0YS5zdGFydHNXaXRoKCJiYXNlNjQ6Iikpe2xldCB0PWUuZGF0YS5zbGljZSg3KTtyZXR1cm4gWmJhKHQpfXJldHVybiBlfSwicmV2aXZlciIpO3MoWGJhLCJpc0VuY29kZWRCdWZmZXIiKTtzKFFiYSwiaXNCdWZmZXJMaWtlIik7cyhtMHQsImlzQXJyYXkiKTtzKGpsZSwiaXNTdHJpbmciKTtzKGcwdCwiaXNPYmplY3QiKX0pO3ZhciAkcz17fTtsdCgkcyx7U21hcnRqc29uOigpPT5ZbGUsZGVlcEVxdWFsSnNvbkxTdHJpbmdzOigpPT5vdmEsZGVlcEVxdWFsT2JqZWN0czooKT0+djB0LGZvbGREZWM6KCk9Pml2YSxwYXJzZTooKT0+bFgscGFyc2VCYXNlNjQ6KCk9PnN2YSxwYXJzZUpzb25MOigpPT5HbGUsc3RhYmxlT25lV2F5U3RyaW5naWZ5OigpPT50dmEsc3RyaW5naWZ5OigpPT5rMyxzdHJpbmdpZnlCYXNlNjQ6KCk9PnJ2YSxzdHJpbmdpZnlKc29uTDooKT0+ZXZhLHN0cmluZ2lmeVByZXR0eTooKT0+YXZhfSk7dmFyIGxYLEdsZSxldmEsdHZhLGszLGF2YSxydmEsc3ZhLFlsZSxpdmEsdjB0LG92YSxPaD1mKCgpPT57VmxlKCk7YjB0KCk7bFg9V2xlLEdsZT1zKGE9PmEuc3BsaXQoYApgKS5yZWR1Y2UoKHIsaSk9PntsZXQgbz1pLnRyaW0oKTtyZXR1cm4gby5sZW5ndGg+MCYmci5wdXNoKGxYKG8pKSxyfSxbXSksInBhcnNlSnNvbkwiKSxldmE9cyhhPT5hLm1hcChlPT5rMyhlKSkuam9pbihgCmApLCJzdHJpbmdpZnlKc29uTCIpLHR2YT1zKChhLGUsdD17fSk9PntsZXQgcj1uZXcgV2Vha1NldCxpPXMobD0+e2lmKGw9PT1udWxsfHx0eXBlb2YgbCE9Im9iamVjdCIpcmV0dXJuIGw7bGV0IGQ9blgoIiIsbCk7aWYoZCYmZC50eXBlPT09IkVuY29kZWRCdWZmZXIiJiZ0eXBlb2YgZC5kYXRhPT0ic3RyaW5nIilyZXR1cm4gZDtpZihyLmhhcyhsKSlyZXR1cm4iX19jeWNsZV9fIjtpZihyLmFkZChsKSxBcnJheS5pc0FycmF5KGwpKXJldHVybiBsLm1hcChwPT5pKHApKTtsZXQgYz17fTtmb3IobGV0IHAgb2YgT2JqZWN0LmtleXMobCkpdHJ5e2NbcF09aShsW3BdKX1jYXRjaHtjW3BdPSJfX3Vuc2VyaWFsaXphYmxlX18ifXJldHVybiBjfSwic2FuaXRpemUiKSxvPWkoYSksbj17Li4udCxjeWNsZXM6ITB9O2lmKGUmJiFuLmNtcCl7bGV0IGw9bmV3IE1hcDtlLmZvckVhY2goKGQsYyk9Pmwuc2V0KGQsYykpLG4uY21wPShkLGMpPT57bGV0IHA9bC5oYXMoZC5rZXkpP2wuZ2V0KGQua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksdT1sLmhhcyhjLmtleSk/bC5nZXQoYy5rZXkpOk51bWJlci5QT1NJVElWRV9JTkZJTklUWTtyZXR1cm4gcCE9PXU/cC11OmQua2V5PGMua2V5Py0xOmQua2V5PmMua2V5PzE6MH19cmV0dXJuIG9YKG8sbil9LCJzdGFibGVPbmVXYXlTdHJpbmdpZnkiKSxrMz1zKChhLGUsdD17fSk9PntsZXQgcj1VbGUoYSk7YT1KU09OLnBhcnNlKHIpO2xldCBpPXsuLi50fTtpZihlJiYhaS5jbXApe2xldCBuPW5ldyBNYXA7ZS5mb3JFYWNoKChsLGQpPT5uLnNldChsLGQpKSxpLmNtcD0obCxkKT0+e2xldCBjPW4uaGFzKGwua2V5KT9uLmdldChsLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHA9bi5oYXMoZC5rZXkpP24uZ2V0KGQua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIGMhPT1wP2MtcDpsLmtleTxkLmtleT8tMTpsLmtleT5kLmtleT8xOjB9fXJldHVybiBvWChhLGkpfSwic3RyaW5naWZ5IiksYXZhPXMoYT0+e2xldCBlPWszKGEpLHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCxudWxsLDIpfSwic3RyaW5naWZ5UHJldHR5IikscnZhPXMoKC4uLmEpPT57bGV0IGU9azMoLi4uYSk7cmV0dXJuIGRzLmJhc2U2NC5lbmNvZGVVcmkoZSl9LCJzdHJpbmdpZnlCYXNlNjQiKSxzdmE9cyhhPT57bGV0IGU9ZHMuYmFzZTY0LHI9KGUuZGVjb2RlVXJpfHxlLmRlY29kZSkoYSk7cmV0dXJuIGxYKHIpfSwicGFyc2VCYXNlNjQiKSxZbGU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTbWFydGpzb24iKX1zdGF0aWMgZW5mb2xkRnJvbU9iamVjdChlKXtsZXQgdD1uZXcgdGhpcyxyPXQuc2F2ZWFibGVQcm9wZXJ0aWVzfHxbXTtmb3IobGV0IGkgaW4gZSlyLmluZGV4T2YoaSkhPT0tMSYmKHRbaV09ZVtpXSk7cmV0dXJuIHR9c3RhdGljIGVuZm9sZEZyb21Kc29uKGUpe2xldCB0PWxYKGUpO3JldHVybiB0aGlzLmVuZm9sZEZyb21PYmplY3QodCl9c2F2ZWFibGVQcm9wZXJ0aWVzPVtdO2ZvbGRUb09iamVjdCgpe2xldCBlPW5ldyBTZXQ7cmV0dXJuIGUuYWRkKHRoaXMpLHRoaXMuZm9sZFRvT2JqZWN0SW50ZXJuYWwoZSl9Zm9sZFRvT2JqZWN0SW50ZXJuYWwoZSl7bGV0IHQ9e30scj1zKG89PntpZihvIGluc3RhbmNlb2YgYSl7aWYoZS5oYXMobykpdGhyb3cgbmV3IEVycm9yKCJjeWNsZSBkZXRlY3RlZCIpO3JldHVybiBlLmFkZChvKSxvLmZvbGRUb09iamVjdEludGVybmFsKGUpfXJldHVybiBBcnJheS5pc0FycmF5KG8pP28ubWFwKG49PnIobikpOnN0cnVjdHVyZWRDbG9uZShvKX0sImZvbGRWYWx1ZSIpLGk9dGhpcy5zYXZlYWJsZVByb3BlcnRpZXN8fFtdO2ZvcihsZXQgbyBvZiBpKXtsZXQgbj10aGlzW29dO3Rbb109cihuKX1yZXR1cm4gdH1mb2xkVG9Kc29uKCl7bGV0IGU9dGhpcy5mb2xkVG9PYmplY3QoKTtyZXR1cm4gazMoZSl9fSxpdmE9cygoKT0+KGEsZSk9PntsZXQgdD1TdHJpbmcoZS5uYW1lKTtlLmFkZEluaXRpYWxpemVyKGZ1bmN0aW9uKCl7dGhpcy5zYXZlYWJsZVByb3BlcnRpZXN8fCh0aGlzLnNhdmVhYmxlUHJvcGVydGllcz1bXSksdGhpcy5zYXZlYWJsZVByb3BlcnRpZXMuaW5jbHVkZXModCl8fHRoaXMuc2F2ZWFibGVQcm9wZXJ0aWVzLnB1c2godCl9KX0sImZvbGREZWMiKSx2MHQ9cygoYSxlKT0+e2xldCB0PWszKGEpLHI9azMoZSk7cmV0dXJuIHQ9PT1yfSwiZGVlcEVxdWFsT2JqZWN0cyIpLG92YT1zKChhLGUpPT57bGV0IHQ9R2xlKGEpLHI9R2xlKGUpO3JldHVybiB2MHQodCxyKX0sImRlZXBFcXVhbEpzb25MU3RyaW5ncyIpfSk7dmFyIEI5PXt9O2x0KEI5LHtkZWxldGVEQjooKT0+XzB0LG9wZW5EQjooKT0+QzB0LHVud3JhcDooKT0+Rjksd3JhcDooKT0+UzJ9KTtmdW5jdGlvbiBudmEoKXtyZXR1cm4geDB0fHwoeDB0PVtJREJEYXRhYmFzZSxJREJPYmplY3RTdG9yZSxJREJJbmRleCxJREJDdXJzb3IsSURCVHJhbnNhY3Rpb25dKX1mdW5jdGlvbiBsdmEoKXtyZXR1cm4geTB0fHwoeTB0PVtJREJDdXJzb3IucHJvdG90eXBlLmFkdmFuY2UsSURCQ3Vyc29yLnByb3RvdHlwZS5jb250aW51ZSxJREJDdXJzb3IucHJvdG90eXBlLmNvbnRpbnVlUHJpbWFyeUtleV0pfWZ1bmN0aW9uIGN2YShhKXtsZXQgZT1uZXcgUHJvbWlzZSgodCxyKT0+e2xldCBpPXMoKCk9PnthLnJlbW92ZUV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLG8pLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4pfSwidW5saXN0ZW4iKSxvPXMoKCk9Pnt0KFMyKGEucmVzdWx0KSksaSgpfSwic3VjY2VzcyIpLG49cygoKT0+e3IoYS5lcnJvciksaSgpfSwiZXJyb3IiKTthLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLG8pLGEuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4pfSk7cmV0dXJuIGNYLnNldChlLGEpLGV9ZnVuY3Rpb24gZHZhKGEpe2lmKFpsZS5oYXMoYSkpcmV0dXJuO2xldCBlPW5ldyBQcm9taXNlKCh0LHIpPT57bGV0IGk9cygoKT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29tcGxldGUiLG8pLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4pLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLG4pfSwidW5saXN0ZW4iKSxvPXMoKCk9Pnt0KCksaSgpfSwiY29tcGxldGUiKSxuPXMoKCk9PntyKGEuZXJyb3J8fG5ldyBET01FeGNlcHRpb24oIkFib3J0RXJyb3IiLCJBYm9ydEVycm9yIikpLGkoKX0sImVycm9yIik7YS5hZGRFdmVudExpc3RlbmVyKCJjb21wbGV0ZSIsbyksYS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsbiksYS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsbil9KTtabGUuc2V0KGEsZSl9ZnVuY3Rpb24gdzB0KGEpe1FsZT1hKFFsZSl9ZnVuY3Rpb24gdXZhKGEpe3JldHVybiBsdmEoKS5pbmNsdWRlcyhhKT9mdW5jdGlvbiguLi5lKXtyZXR1cm4gYS5hcHBseShGOSh0aGlzKSxlKSxTMih0aGlzLnJlcXVlc3QpfTpmdW5jdGlvbiguLi5lKXtyZXR1cm4gUzIoYS5hcHBseShGOSh0aGlzKSxlKSl9fWZ1bmN0aW9uIHB2YShhKXtyZXR1cm4gdHlwZW9mIGE9PSJmdW5jdGlvbiI/dXZhKGEpOihhIGluc3RhbmNlb2YgSURCVHJhbnNhY3Rpb24mJmR2YShhKSxLbGUoYSxudmEoKSk/bmV3IFByb3h5KGEsUWxlKTphKX1mdW5jdGlvbiBTMihhKXtpZihhIGluc3RhbmNlb2YgSURCUmVxdWVzdClyZXR1cm4gY3ZhKGEpO2lmKFhsZS5oYXMoYSkpcmV0dXJuIFhsZS5nZXQoYSk7bGV0IGU9cHZhKGEpO3JldHVybiBlIT09YSYmKFhsZS5zZXQoYSxlKSxjWC5zZXQoZSxhKSksZX1mdW5jdGlvbiBDMHQoYSxlLHtibG9ja2VkOnQsdXBncmFkZTpyLGJsb2NraW5nOmksdGVybWluYXRlZDpvfT17fSl7bGV0IG49aW5kZXhlZERCLm9wZW4oYSxlKSxsPVMyKG4pO3JldHVybiByJiZuLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLGQ9PntyKFMyKG4ucmVzdWx0KSxkLm9sZFZlcnNpb24sZC5uZXdWZXJzaW9uLFMyKG4udHJhbnNhY3Rpb24pLGQpfSksdCYmbi5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIixkPT50KGQub2xkVmVyc2lvbixkLm5ld1ZlcnNpb24sZCkpLGwudGhlbihkPT57byYmZC5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9Pm8oKSksaSYmZC5hZGRFdmVudExpc3RlbmVyKCJ2ZXJzaW9uY2hhbmdlIixjPT5pKGMub2xkVmVyc2lvbixjLm5ld1ZlcnNpb24sYykpfSkuY2F0Y2goKCk9Pnt9KSxsfWZ1bmN0aW9uIF8wdChhLHtibG9ja2VkOmV9PXt9KXtsZXQgdD1pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoYSk7cmV0dXJuIGUmJnQuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIscj0+ZShyLm9sZFZlcnNpb24scikpLFMyKHQpLnRoZW4oKCk9Pnt9KX1mdW5jdGlvbiBNMHQoYSxlKXtpZighKGEgaW5zdGFuY2VvZiBJREJEYXRhYmFzZSYmIShlIGluIGEpJiZ0eXBlb2YgZT09InN0cmluZyIpKXJldHVybjtpZihKbGUuZ2V0KGUpKXJldHVybiBKbGUuZ2V0KGUpO2xldCB0PWUucmVwbGFjZSgvRnJvbUluZGV4JC8sIiIpLHI9ZSE9PXQsaT1odmEuaW5jbHVkZXModCk7aWYoISh0IGluKHI/SURCSW5kZXg6SURCT2JqZWN0U3RvcmUpLnByb3RvdHlwZSl8fCEoaXx8ZnZhLmluY2x1ZGVzKHQpKSlyZXR1cm47bGV0IG89cyhhc3luYyBmdW5jdGlvbihuLC4uLmwpe2xldCBkPXRoaXMudHJhbnNhY3Rpb24obixpPyJyZWFkd3JpdGUiOiJyZWFkb25seSIpLGM9ZC5zdG9yZTtyZXR1cm4gciYmKGM9Yy5pbmRleChsLnNoaWZ0KCkpKSwoYXdhaXQgUHJvbWlzZS5hbGwoW2NbdF0oLi4ubCksaSYmZC5kb25lXSkpWzBdfSwibWV0aG9kIik7cmV0dXJuIEpsZS5zZXQoZSxvKSxvfWFzeW5jIGZ1bmN0aW9uKmJ2YSguLi5hKXtsZXQgZT10aGlzO2lmKGUgaW5zdGFuY2VvZiBJREJDdXJzb3J8fChlPWF3YWl0IGUub3BlbkN1cnNvciguLi5hKSksIWUpcmV0dXJuO2U9ZTtsZXQgdD1uZXcgUHJveHkoZSxndmEpO2ZvcihTMHQuc2V0KHQsZSksY1guc2V0KHQsRjkoZSkpO2U7KXlpZWxkIHQsZT1hd2FpdChlY2UuZ2V0KHQpfHxlLmNvbnRpbnVlKCkpLGVjZS5kZWxldGUodCl9ZnVuY3Rpb24gejB0KGEsZSl7cmV0dXJuIGU9PT1TeW1ib2wuYXN5bmNJdGVyYXRvciYmS2xlKGEsW0lEQkluZGV4LElEQk9iamVjdFN0b3JlLElEQkN1cnNvcl0pfHxlPT09Iml0ZXJhdGUiJiZLbGUoYSxbSURCSW5kZXgsSURCT2JqZWN0U3RvcmVdKX12YXIgS2xlLHgwdCx5MHQsWmxlLFhsZSxjWCxRbGUsRjksZnZhLGh2YSxKbGUsbXZhLGswdCxlY2UsUzB0LGd2YSxUMHQ9ZigoKT0+e0tsZT1zKChhLGUpPT5lLnNvbWUodD0+YSBpbnN0YW5jZW9mIHQpLCJpbnN0YW5jZU9mQW55Iik7cyhudmEsImdldElkYlByb3h5YWJsZVR5cGVzIik7cyhsdmEsImdldEN1cnNvckFkdmFuY2VNZXRob2RzIik7WmxlPW5ldyBXZWFrTWFwLFhsZT1uZXcgV2Vha01hcCxjWD1uZXcgV2Vha01hcDtzKGN2YSwicHJvbWlzaWZ5UmVxdWVzdCIpO3MoZHZhLCJjYWNoZURvbmVQcm9taXNlRm9yVHJhbnNhY3Rpb24iKTtRbGU9e2dldChhLGUsdCl7aWYoYSBpbnN0YW5jZW9mIElEQlRyYW5zYWN0aW9uKXtpZihlPT09ImRvbmUiKXJldHVybiBabGUuZ2V0KGEpO2lmKGU9PT0ic3RvcmUiKXJldHVybiB0Lm9iamVjdFN0b3JlTmFtZXNbMV0/dm9pZCAwOnQub2JqZWN0U3RvcmUodC5vYmplY3RTdG9yZU5hbWVzWzBdKX1yZXR1cm4gUzIoYVtlXSl9LHNldChhLGUsdCl7cmV0dXJuIGFbZV09dCwhMH0saGFzKGEsZSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiYmKGU9PT0iZG9uZSJ8fGU9PT0ic3RvcmUiKT8hMDplIGluIGF9fTtzKHcwdCwicmVwbGFjZVRyYXBzIik7cyh1dmEsIndyYXBGdW5jdGlvbiIpO3MocHZhLCJ0cmFuc2Zvcm1DYWNoYWJsZVZhbHVlIik7cyhTMiwid3JhcCIpO0Y5PXMoYT0+Y1guZ2V0KGEpLCJ1bndyYXAiKTtzKEMwdCwib3BlbkRCIik7cyhfMHQsImRlbGV0ZURCIik7ZnZhPVsiZ2V0IiwiZ2V0S2V5IiwiZ2V0QWxsIiwiZ2V0QWxsS2V5cyIsImNvdW50Il0saHZhPVsicHV0IiwiYWRkIiwiZGVsZXRlIiwiY2xlYXIiXSxKbGU9bmV3IE1hcDtzKE0wdCwiZ2V0TWV0aG9kIiksdzB0KGE9Pih7Li4uYSxnZXQ6cygoZSx0LHIpPT5NMHQoZSx0KXx8YS5nZXQoZSx0LHIpLCJnZXQiKSxoYXM6cygoZSx0KT0+ISFNMHQoZSx0KXx8YS5oYXMoZSx0KSwiaGFzIil9KSk7bXZhPVsiY29udGludWUiLCJjb250aW51ZVByaW1hcnlLZXkiLCJhZHZhbmNlIl0sazB0PXt9LGVjZT1uZXcgV2Vha01hcCxTMHQ9bmV3IFdlYWtNYXAsZ3ZhPXtnZXQoYSxlKXtpZighbXZhLmluY2x1ZGVzKGUpKXJldHVybiBhW2VdO2xldCB0PWswdFtlXTtyZXR1cm4gdHx8KHQ9azB0W2VdPWZ1bmN0aW9uKC4uLnIpe2VjZS5zZXQodGhpcyxTMHQuZ2V0KHRoaXMpW2VdKC4uLnIpKX0pLHR9fTtzKGJ2YSwiaXRlcmF0ZSIpO3MoejB0LCJpc0l0ZXJhdG9yUHJvcCIpLHcwdChhPT4oey4uLmEsZ2V0KGUsdCxyKXtyZXR1cm4gejB0KGUsdCk/YnZhOmEuZ2V0KGUsdCxyKX0saGFzKGUsdCl7cmV0dXJuIHowdChlLHQpfHxhLmhhcyhlLHQpfX0pKX0pO3ZhciB0Y2U9ZigoKT0+e3o5KCk7UjkoKTtPaCgpO2JpKCk7cDIoKTtpaCgpO1QwdCgpfSk7dmFyIEg5LGFjZT1mKCgpPT57dGNlKCk7SDk9Y2xhc3N7c3RhdGlje3ModGhpcywiV2ViU3RvcmUiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmluaXRDYWxsZWQ9ITEsdGhpcy5yZWFkeURlZmVycmVkPWN0LmRlZmVyKCksdGhpcy5vcHRpb25zPWV9YXN5bmMgaW5pdCgpe2lmKHRoaXMuaW5pdENhbGxlZCl7YXdhaXQgdGhpcy5yZWFkeURlZmVycmVkLnByb21pc2U7cmV0dXJufXRoaXMuaW5pdENhbGxlZD0hMDtsZXQgZT1uZXcgbjEuU21hcnRlbnY7aWYoIWUuaXNCcm93c2VyJiYhZ2xvYmFsVGhpcy5pbmRleGVkREImJihjb25zb2xlLmxvZygiaGV5IiksY29uc29sZS5sb2coZ2xvYmFsVGhpcy5pbmRleGVkREIpLGF3YWl0IGUuZ2V0U2FmZU5vZGVNb2R1bGUoImZha2UtaW5kZXhlZGRiL2F1dG8iKSwhZ2xvYmFsVGhpcy5pbmRleGVkREIpKXtsZXQgdD1hd2FpdCBlLmdldFNhZmVOb2RlTW9kdWxlKCJmYWtlLWluZGV4ZWRkYiIpO2dsb2JhbFRoaXMuaW5kZXhlZERCPW5ldyB0LklEQkZhY3Rvcnl9dGhpcy5kYj1hd2FpdCBCOS5vcGVuREIodGhpcy5vcHRpb25zLmRiTmFtZSwxLHt1cGdyYWRlOnModD0+e3QuY3JlYXRlT2JqZWN0U3RvcmUodGhpcy5vcHRpb25zLnN0b3JlTmFtZSl9LCJ1cGdyYWRlIil9KSx0aGlzLnJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpfWFzeW5jIGdldChlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5nZXQodGhpcy5vcHRpb25zLnN0b3JlTmFtZSxlKX1hc3luYyBjaGVjayhlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksISFhd2FpdCB0aGlzLmdldChlKX1hc3luYyBzZXQoZSx0KXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5wdXQodGhpcy5vcHRpb25zLnN0b3JlTmFtZSx0LGUpfWFzeW5jIGRlbGV0ZShlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5kZWxldGUodGhpcy5vcHRpb25zLnN0b3JlTmFtZSxlKX1hc3luYyBjbGVhcigpe3JldHVybiBhd2FpdCB0aGlzLmluaXQoKSx0aGlzLmRiLmNsZWFyKHRoaXMub3B0aW9ucy5zdG9yZU5hbWUpfWFzeW5jIGtleXMoKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5nZXRBbGxLZXlzKHRoaXMub3B0aW9ucy5zdG9yZU5hbWUpfX19KTt2YXIgcmNlLCQwdD1mKCgpPT57YWNlKCk7dGNlKCk7cmNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVkcmVxdWVzdENhY2hlIil9Y29uc3RydWN0b3IoZT0iZGVmYXVsdCIpe3RoaXMud2Vic3RvcmU9bmV3IEg5KHtkYk5hbWU6InRyU3RvcmUiLHN0b3JlTmFtZTpgdHJTdG9yZS0ke2V9YH0pfWJ1aWxkS2V5KGUpe3JldHVybiAkcy5zdHJpbmdpZnkoe21ldGhvZDplLm1ldGhvZCxyZXF1ZXN0OmUucmVxdWVzdH0pfWFzeW5jIHNldEJ5UmVxdWVzdChlKXtpZighZS5yZXNwb25zZSl0aHJvdyBuZXcgRXJyb3IoIllvdSBjYW5ub3Qgc3RvcmUgcmVxdWVzdHMgd2l0aG91dCBhIHJlc3BvbnNlIHByZXNlbnQiKTthd2FpdCB0aGlzLndlYnN0b3JlLnNldCh0aGlzLmJ1aWxkS2V5KGUpLGUpfWFzeW5jIGdldEJ5UmVxdWVzdChlKXtyZXR1cm4gYXdhaXQgdGhpcy53ZWJzdG9yZS5nZXQodGhpcy5idWlsZEtleShlKSl9fX0pO3ZhciBsMT17fTtsdChsMSx7VHlwZWRyZXF1ZXN0Q2FjaGU6KCk9PnJjZSxXZWJTdG9yZTooKT0+SDl9KTt2YXIgZFg9ZigoKT0+eyQwdCgpO2FjZSgpfSk7dmFyIHE5PWYoKCk9Pnt0MCgpO1I5KCk7T2goKTtiaSgpO2RYKCl9KTt2YXIgRmgscFg9ZigoKT0+e3E5KCk7Rmg9Y2xhc3N7c3RhdGlje3ModGhpcywiQ2FjaGVTdG9yZSIpfWNvbnN0cnVjdG9yKGU9IndlYnJlcXVlc3QtdjQiLHQ9ImNhY2hlIil7dGhpcy53ZWJzdG9yZT1uZXcgbDEuV2ViU3RvcmUoe2RiTmFtZTplLHN0b3JlTmFtZTp0fSksdGhpcy5pbml0UHJvbWlzZT10aGlzLmluaXQoKX1hc3luYyBpbml0KCl7fWdlbmVyYXRlQ2FjaGVLZXkoZSl7bGV0IHQ9ZS51cmwscj1lLm1ldGhvZDtyZXR1cm4gcj09PSJHRVQiP3Q6YCR7cn06JHt0fWB9YXN5bmMgc2V0KGUsdCl7YXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLnNldChlLHQpfWFzeW5jIGdldChlKXthd2FpdCB0aGlzLmluaXRQcm9taXNlO3RyeXtyZXR1cm4gYXdhaXQgdGhpcy53ZWJzdG9yZS5nZXQoZSl8fG51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fWFzeW5jIGhhcyhlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLmNoZWNrKGUpfWFzeW5jIGRlbGV0ZShlKXthd2FpdCB0aGlzLmluaXRQcm9taXNlLGF3YWl0IHRoaXMud2Vic3RvcmUuZGVsZXRlKGUpfWFzeW5jIGNsZWFyKCl7YXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLmNsZWFyKCl9cmVzcG9uc2VGcm9tQ2FjaGVFbnRyeShlKXtsZXQgdD1uZXcgSGVhZGVycyhlLmhlYWRlcnMpO3JldHVybiBuZXcgUmVzcG9uc2UoZS5yZXNwb25zZSx7c3RhdHVzOmUuc3RhdHVzLHN0YXR1c1RleHQ6ZS5zdGF0dXNUZXh0LGhlYWRlcnM6dH0pfWFzeW5jIGNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZSx0LHIpe2xldCBpPXQuY2xvbmUoKSxvPWF3YWl0IGkuYXJyYXlCdWZmZXIoKSxuPXt9O3JldHVybiBpLmhlYWRlcnMuZm9yRWFjaCgobCxkKT0+e25bZF09bH0pLHtyZXNwb25zZTpvLGhlYWRlcnM6bix0aW1lc3RhbXA6RGF0ZS5ub3coKSxldGFnOnI/LmV0YWd8fGkuaGVhZGVycy5nZXQoImV0YWciKXx8dm9pZCAwLGxhc3RNb2RpZmllZDpyPy5sYXN0TW9kaWZpZWR8fGkuaGVhZGVycy5nZXQoImxhc3QtbW9kaWZpZWQiKXx8dm9pZCAwLG1heEFnZTpyPy5tYXhBZ2UsdXJsOmUsc3RhdHVzOmkuc3RhdHVzLHN0YXR1c1RleHQ6aS5zdGF0dXNUZXh0fX1hc3luYyBwcnVuZUV4cGlyZWQoKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0UHJvbWlzZSwwfX19KTtmdW5jdGlvbiB2dmEoYSl7bGV0IGU9e21heEFnZTowLGltbXV0YWJsZTohMSxub0NhY2hlOiExLG5vU3RvcmU6ITEsbXVzdFJldmFsaWRhdGU6ITF9O2lmKCFhKXJldHVybiBlO2xldCB0PWEudG9Mb3dlckNhc2UoKS5zcGxpdCgiLCIpLm1hcChyPT5yLnRyaW0oKSk7Zm9yKGxldCByIG9mIHQpaWYocj09PSJuby1jYWNoZSIpZS5ub0NhY2hlPSEwO2Vsc2UgaWYocj09PSJuby1zdG9yZSIpZS5ub1N0b3JlPSEwO2Vsc2UgaWYocj09PSJpbW11dGFibGUiKWUuaW1tdXRhYmxlPSEwO2Vsc2UgaWYocj09PSJtdXN0LXJldmFsaWRhdGUiKWUubXVzdFJldmFsaWRhdGU9ITA7ZWxzZSBpZihyLnN0YXJ0c1dpdGgoIm1heC1hZ2U9Iikpe2xldCBpPXBhcnNlSW50KHIuc3BsaXQoIj0iKVsxXSwxMCk7aXNOYU4oaSl8fChlLm1heEFnZT1pKjFlMyl9cmV0dXJuIGV9ZnVuY3Rpb24geHZhKGEpe2lmKGEpdHJ5e3JldHVybiBuZXcgRGF0ZShhKS5nZXRUaW1lKCl9Y2F0Y2h7cmV0dXJufX1mdW5jdGlvbiB6MihhKXtsZXQgZT1hLmdldCgiY2FjaGUtY29udHJvbCIpLHQ9YS5nZXQoImV4cGlyZXMiKSxyPWEuZ2V0KCJldGFnIiksaT1hLmdldCgibGFzdC1tb2RpZmllZCIpLG89dnZhKGUpO2lmKG8ubWF4QWdlPT09MCYmdCl7bGV0IG49eHZhKHQpO24mJihvLm1heEFnZT1NYXRoLm1heCgwLG4tRGF0ZS5ub3coKSkpfXJldHVybnttYXhBZ2U6by5tYXhBZ2V8fDAsZXRhZzpyfHx2b2lkIDAsbGFzdE1vZGlmaWVkOml8fHZvaWQgMCxpbW11dGFibGU6by5pbW11dGFibGV8fCExLG5vQ2FjaGU6by5ub0NhY2hlfHwhMSxub1N0b3JlOm8ubm9TdG9yZXx8ITEsbXVzdFJldmFsaWRhdGU6by5tdXN0UmV2YWxpZGF0ZXx8ITF9fWZ1bmN0aW9uIFY5KGEsZSl7aWYoZS5ub1N0b3JlKXJldHVybiExO2lmKGUuaW1tdXRhYmxlKXJldHVybiEwO2xldCB0PURhdGUubm93KCktYS50aW1lc3RhbXAscj1hLm1heEFnZXx8ZS5tYXhBZ2V8fDA7cmV0dXJuIHI9PT0wPyExOnQ8cn1mdW5jdGlvbiBqOShhKXtyZXR1cm4gYS5ub0NhY2hlfHxhLm11c3RSZXZhbGlkYXRlfWZ1bmN0aW9uIGZYKGEpe2xldCBlPXt9O3JldHVybiBhLmV0YWcmJihlWyJpZi1ub25lLW1hdGNoIl09YS5ldGFnKSxhLmxhc3RNb2RpZmllZCYmKGVbImlmLW1vZGlmaWVkLXNpbmNlIl09YS5sYXN0TW9kaWZpZWQpLGV9ZnVuY3Rpb24gaFgoYSl7bGV0IGU9e307cmV0dXJuIGEuZm9yRWFjaCgodCxyKT0+e2Vbcl09dH0pLGV9ZnVuY3Rpb24gRDB0KGEpe2xldCBlPW5ldyBIZWFkZXJzO3JldHVybiBPYmplY3QuZW50cmllcyhhKS5mb3JFYWNoKChbdCxyXSk9PntlLnNldCh0LHIpfSksZX12YXIgbVg9ZigoKT0+e3ModnZhLCJwYXJzZUNhY2hlQ29udHJvbCIpO3MoeHZhLCJwYXJzZUV4cGlyZXMiKTtzKHoyLCJleHRyYWN0Q2FjaGVNZXRhZGF0YSIpO3MoVjksImlzRnJlc2giKTtzKGo5LCJyZXF1aXJlc1JldmFsaWRhdGlvbiIpO3MoZlgsImNyZWF0ZUNvbmRpdGlvbmFsSGVhZGVycyIpO3MoaFgsImhlYWRlcnNUb09iamVjdCIpO3MoRDB0LCJvYmplY3RUb0hlYWRlcnMiKX0pO2Z1bmN0aW9uIEEwdChhKXtzd2l0Y2goYSl7Y2FzZSJuZXR3b3JrLWZpcnN0IjpyZXR1cm4gbmV3IGdYO2Nhc2UiY2FjaGUtZmlyc3QiOnJldHVybiBuZXcgc2NlO2Nhc2Uic3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSI6cmV0dXJuIG5ldyBpY2U7Y2FzZSJuZXR3b3JrLW9ubHkiOnJldHVybiBuZXcgb2NlO2Nhc2UiY2FjaGUtb25seSI6cmV0dXJuIG5ldyBuY2U7ZGVmYXVsdDpyZXR1cm4gbmV3IGdYfX12YXIgZ1gsc2NlLGljZSxvY2UsbmNlLFAwdD1mKCgpPT57cFgoKTttWCgpO2dYPWNsYXNze3N0YXRpY3tzKHRoaXMsIk5ldHdvcmtGaXJzdFN0cmF0ZWd5Iil9YXN5bmMgZXhlY3V0ZShlKXt0cnl7bGV0IHQ9YXdhaXQgZS5mZXRjaEZuKGUucmVxdWVzdCk7cmV0dXJuIHQub2smJmF3YWl0IHRoaXMuY2FjaGVSZXNwb25zZShlLHQpLHtyZXNwb25zZTp0LGZyb21DYWNoZTohMSxyZXZhbGlkYXRlZDohMX19Y2F0Y2godCl7ZS5sb2dnaW5nJiZjb25zb2xlLmxvZygiW3dlYnJlcXVlc3RdIE5ldHdvcmsgZmFpbGVkLCB0cnlpbmcgY2FjaGU6Iix0KTtsZXQgcj1hd2FpdCBlLmNhY2hlU3RvcmUuZ2V0KGUuY2FjaGVLZXkpO2lmKHIpcmV0dXJue3Jlc3BvbnNlOmUuY2FjaGVTdG9yZS5yZXNwb25zZUZyb21DYWNoZUVudHJ5KHIpLGZyb21DYWNoZTohMCxyZXZhbGlkYXRlZDohMX07dGhyb3cgdH19YXN5bmMgY2FjaGVSZXNwb25zZShlLHQpe2xldCByPXoyKHQuaGVhZGVycyk7aWYoci5ub1N0b3JlKXJldHVybjtsZXQgaT1hd2FpdCBlLmNhY2hlU3RvcmUuY2FjaGVFbnRyeUZyb21SZXNwb25zZShlLnJlcXVlc3QudXJsLHQscik7YXdhaXQgZS5jYWNoZVN0b3JlLnNldChlLmNhY2hlS2V5LGkpfX0sc2NlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkNhY2hlRmlyc3RTdHJhdGVneSIpfWFzeW5jIGV4ZWN1dGUoZSl7bGV0IHQ9YXdhaXQgZS5jYWNoZVN0b3JlLmdldChlLmNhY2hlS2V5KTtpZih0KXtsZXQgbz16MihuZXcgSGVhZGVycyh0LmhlYWRlcnMpKTtpZihWOSh0LG8pKXJldHVybiBlLmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gQ2FjaGUgaGl0IChmcmVzaCk6IixlLnJlcXVlc3QudXJsKSx7cmVzcG9uc2U6ZS5jYWNoZVN0b3JlLnJlc3BvbnNlRnJvbUNhY2hlRW50cnkodCksZnJvbUNhY2hlOiEwLHJldmFsaWRhdGVkOiExfTtpZihqOShvKSYmKHQuZXRhZ3x8dC5sYXN0TW9kaWZpZWQpKXJldHVybiBhd2FpdCB0aGlzLnJldmFsaWRhdGUoZSx0KX1lLmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gQ2FjaGUgbWlzcywgZmV0Y2hpbmc6IixlLnJlcXVlc3QudXJsKTtsZXQgcj1hd2FpdCBlLmZldGNoRm4oZS5yZXF1ZXN0KSxpPXoyKHIuaGVhZGVycyk7aWYoIWkubm9TdG9yZSl7bGV0IG89YXdhaXQgZS5jYWNoZVN0b3JlLmNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZS5yZXF1ZXN0LnVybCxyLGkpO2F3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxvKX1yZXR1cm57cmVzcG9uc2U6cixmcm9tQ2FjaGU6ITEscmV2YWxpZGF0ZWQ6ITF9fWFzeW5jIHJldmFsaWRhdGUoZSx0KXtsZXQgcj1mWCh0KSxpPW5ldyBSZXF1ZXN0KGUucmVxdWVzdC51cmwse21ldGhvZDplLnJlcXVlc3QubWV0aG9kLGhlYWRlcnM6ey4uLmhYKGUucmVxdWVzdC5oZWFkZXJzKSwuLi5yfX0pO3RyeXtsZXQgbz1hd2FpdCBlLmZldGNoRm4oaSk7aWYoby5zdGF0dXM9PT0zMDQpcmV0dXJuIGUubG9nZ2luZyYmY29uc29sZS5sb2coIlt3ZWJyZXF1ZXN0XSBDYWNoZSByZXZhbGlkYXRlZCAoMzA0KToiLGUucmVxdWVzdC51cmwpLHQudGltZXN0YW1wPURhdGUubm93KCksYXdhaXQgZS5jYWNoZVN0b3JlLnNldChlLmNhY2hlS2V5LHQpLHtyZXNwb25zZTplLmNhY2hlU3RvcmUucmVzcG9uc2VGcm9tQ2FjaGVFbnRyeSh0KSxmcm9tQ2FjaGU6ITAscmV2YWxpZGF0ZWQ6ITB9O2lmKG8ub2spe2xldCBuPXoyKG8uaGVhZGVycyk7aWYoIW4ubm9TdG9yZSl7bGV0IGw9YXdhaXQgZS5jYWNoZVN0b3JlLmNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZS5yZXF1ZXN0LnVybCxvLG4pO2F3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxsKX19cmV0dXJue3Jlc3BvbnNlOm8sZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiEwfX1jYXRjaChvKXtyZXR1cm4gZS5sb2dnaW5nJiZjb25zb2xlLmxvZygiW3dlYnJlcXVlc3RdIFJldmFsaWRhdGlvbiBmYWlsZWQsIHVzaW5nIGNhY2hlOiIsbykse3Jlc3BvbnNlOmUuY2FjaGVTdG9yZS5yZXNwb25zZUZyb21DYWNoZUVudHJ5KHQpLGZyb21DYWNoZTohMCxyZXZhbGlkYXRlZDohMX19fX0saWNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlN0YWxlV2hpbGVSZXZhbGlkYXRlU3RyYXRlZ3kiKX1hc3luYyBleGVjdXRlKGUpe2xldCB0PWF3YWl0IGUuY2FjaGVTdG9yZS5nZXQoZS5jYWNoZUtleSk7aWYodCl7bGV0IG89ZS5jYWNoZVN0b3JlLnJlc3BvbnNlRnJvbUNhY2hlRW50cnkodCk7cmV0dXJuIHRoaXMucmV2YWxpZGF0ZUluQmFja2dyb3VuZChlLHQpLmNhdGNoKG49PntlLmxvZ2dpbmcmJmNvbnNvbGUud2FybigiW3dlYnJlcXVlc3RdIEJhY2tncm91bmQgcmV2YWxpZGF0aW9uIGZhaWxlZDoiLG4pfSkse3Jlc3BvbnNlOm8sZnJvbUNhY2hlOiEwLHJldmFsaWRhdGVkOiExfX1sZXQgcj1hd2FpdCBlLmZldGNoRm4oZS5yZXF1ZXN0KSxpPXoyKHIuaGVhZGVycyk7aWYoIWkubm9TdG9yZSYmci5vayl7bGV0IG89YXdhaXQgZS5jYWNoZVN0b3JlLmNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZS5yZXF1ZXN0LnVybCxyLGkpO2F3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxvKX1yZXR1cm57cmVzcG9uc2U6cixmcm9tQ2FjaGU6ITEscmV2YWxpZGF0ZWQ6ITF9fWFzeW5jIHJldmFsaWRhdGVJbkJhY2tncm91bmQoZSx0KXtsZXQgcj16MihuZXcgSGVhZGVycyh0LmhlYWRlcnMpKTtpZighKFY5KHQscikmJiFqOShyKSkpdHJ5e2xldCBpPWF3YWl0IGUuZmV0Y2hGbihlLnJlcXVlc3QpO2lmKGkub2spe2xldCBvPXoyKGkuaGVhZGVycyk7aWYoIW8ubm9TdG9yZSl7bGV0IG49YXdhaXQgZS5jYWNoZVN0b3JlLmNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZS5yZXF1ZXN0LnVybCxpLG8pO2F3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxuKSxlLmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gQmFja2dyb3VuZCByZXZhbGlkYXRpb24gY29tcGxldGU6IixlLnJlcXVlc3QudXJsKX19fWNhdGNoKGkpe2UubG9nZ2luZyYmY29uc29sZS53YXJuKCJbd2VicmVxdWVzdF0gQmFja2dyb3VuZCByZXZhbGlkYXRpb24gZmFpbGVkOiIsaSl9fX0sb2NlPWNsYXNze3N0YXRpY3tzKHRoaXMsIk5ldHdvcmtPbmx5U3RyYXRlZ3kiKX1hc3luYyBleGVjdXRlKGUpe3JldHVybntyZXNwb25zZTphd2FpdCBlLmZldGNoRm4oZS5yZXF1ZXN0KSxmcm9tQ2FjaGU6ITEscmV2YWxpZGF0ZWQ6ITF9fX0sbmNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkNhY2hlT25seVN0cmF0ZWd5Iil9YXN5bmMgZXhlY3V0ZShlKXtsZXQgdD1hd2FpdCBlLmNhY2hlU3RvcmUuZ2V0KGUuY2FjaGVLZXkpO2lmKCF0KXRocm93IG5ldyBFcnJvcihgQ2FjaGUgbWlzcyBmb3IgJHtlLnJlcXVlc3QudXJsfSAoY2FjaGUtb25seSBtb2RlKWApO3JldHVybntyZXNwb25zZTplLmNhY2hlU3RvcmUucmVzcG9uc2VGcm9tQ2FjaGVFbnRyeSh0KSxmcm9tQ2FjaGU6ITAscmV2YWxpZGF0ZWQ6ITF9fX07cyhBMHQsImdldFN0cmF0ZWd5SGFuZGxlciIpfSk7dmFyIEJoLGxjZT1mKCgpPT57cFgoKTtQMHQoKTttWCgpO0JoPWNsYXNze3N0YXRpY3tzKHRoaXMsIkNhY2hlTWFuYWdlciIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5jYWNoZVN0b3JlPW5ldyBGaChlLHQpfWFzeW5jIGV4ZWN1dGUoZSx0LHIpe2xldCBpPXRoaXMuZGV0ZXJtaW5lU3RyYXRlZ3koZSx0KTtpZihpPT09Im5ldHdvcmstb25seSIpcmV0dXJue3Jlc3BvbnNlOmF3YWl0IHIoZSksZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiExfTtsZXQgbz10aGlzLmdlbmVyYXRlQ2FjaGVLZXkoZSx0KSxuPUEwdChpKSxsPXtyZXF1ZXN0OmUsY2FjaGVLZXk6byxjYWNoZVN0b3JlOnRoaXMuY2FjaGVTdG9yZSxmZXRjaEZuOnIsbG9nZ2luZzp0LmxvZ2dpbmd9O3JldHVybiBhd2FpdCBuLmV4ZWN1dGUobCl9ZGV0ZXJtaW5lU3RyYXRlZ3koZSx0KXtyZXR1cm4gdC5jYWNoZVN0cmF0ZWd5P3QuY2FjaGVTdHJhdGVneTp0LmNhY2hlP3RoaXMubWFwQ2FjaGVNb2RlVG9TdHJhdGVneSh0LmNhY2hlKTplLmNhY2hlP3RoaXMubWFwQ2FjaGVNb2RlVG9TdHJhdGVneShlLmNhY2hlKToibmV0d29yay1maXJzdCJ9bWFwQ2FjaGVNb2RlVG9TdHJhdGVneShlKXtzd2l0Y2goZSl7Y2FzZSJkZWZhdWx0IjpyZXR1cm4ibmV0d29yay1maXJzdCI7Y2FzZSJuby1zdG9yZSI6Y2FzZSJyZWxvYWQiOnJldHVybiJuZXR3b3JrLW9ubHkiO2Nhc2Uibm8tY2FjaGUiOnJldHVybiJuZXR3b3JrLWZpcnN0IjtjYXNlImZvcmNlLWNhY2hlIjpyZXR1cm4iY2FjaGUtZmlyc3QiO2Nhc2Uib25seS1pZi1jYWNoZWQiOnJldHVybiJjYWNoZS1vbmx5IjtkZWZhdWx0OnJldHVybiJuZXR3b3JrLWZpcnN0In19Z2VuZXJhdGVDYWNoZUtleShlLHQpe3JldHVybiB0LmNhY2hlS2V5P3R5cGVvZiB0LmNhY2hlS2V5PT0iZnVuY3Rpb24iP3QuY2FjaGVLZXkoZSk6dC5jYWNoZUtleTp0aGlzLmNhY2hlU3RvcmUuZ2VuZXJhdGVDYWNoZUtleShlKX1hc3luYyBjbGVhcigpe2F3YWl0IHRoaXMuY2FjaGVTdG9yZS5jbGVhcigpfWFzeW5jIGRlbGV0ZShlKXthd2FpdCB0aGlzLmNhY2hlU3RvcmUuZGVsZXRlKGUpfWFzeW5jIGhhcyhlKXtyZXR1cm4gYXdhaXQgdGhpcy5jYWNoZVN0b3JlLmhhcyhlKX1nZXRTdG9yZSgpe3JldHVybiB0aGlzLmNhY2hlU3RvcmV9fX0pO2Z1bmN0aW9uIEUwdChhKXtzd2l0Y2goYSl7Y2FzZSJleHBvbmVudGlhbCI6cmV0dXJuIG5ldyBiWDtjYXNlImxpbmVhciI6cmV0dXJuIG5ldyBjY2U7Y2FzZSJjb25zdGFudCI6cmV0dXJuIG5ldyBkY2U7ZGVmYXVsdDpyZXR1cm4gbmV3IGJYfX1mdW5jdGlvbiBJMHQoYSxlPS4xKXtsZXQgdD1hKmUqTWF0aC5yYW5kb20oKTtyZXR1cm4gYSt0fXZhciBiWCxjY2UsZGNlLE4wdD1mKCgpPT57Ylg9Y2xhc3N7c3RhdGlje3ModGhpcywiRXhwb25lbnRpYWxCYWNrb2ZmIil9Y2FsY3VsYXRlKGUsdCxyKXtsZXQgaT10Kk1hdGgucG93KDIsZS0xKTtyZXR1cm4gTWF0aC5taW4oaSxyKX19LGNjZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJMaW5lYXJCYWNrb2ZmIil9Y2FsY3VsYXRlKGUsdCxyKXtsZXQgaT10KmU7cmV0dXJuIE1hdGgubWluKGkscil9fSxkY2U9Y2xhc3N7c3RhdGlje3ModGhpcywiQ29uc3RhbnRCYWNrb2ZmIil9Y2FsY3VsYXRlKGUsdCxyKXtyZXR1cm4gTWF0aC5taW4odCxyKX19O3MoRTB0LCJnZXRCYWNrb2ZmQ2FsY3VsYXRvciIpO3MoSTB0LCJhZGRKaXR0ZXIiKX0pO3ZhciBIaCx1Y2U9ZigoKT0+e3E5KCk7TjB0KCk7SGg9Y2xhc3N7c3RhdGlje3ModGhpcywiUmV0cnlNYW5hZ2VyIil9Y29uc3RydWN0b3IoZT17fSl7dGhpcy5vcHRpb25zPXttYXhBdHRlbXB0czplLm1heEF0dGVtcHRzPz8zLGJhY2tvZmY6ZS5iYWNrb2ZmPz8iZXhwb25lbnRpYWwiLGluaXRpYWxEZWxheTplLmluaXRpYWxEZWxheT8/MWUzLG1heERlbGF5OmUubWF4RGVsYXk/PzNlNCxyZXRyeU9uOmUucmV0cnlPbj8/WzQwOCw0MjksNTAwLDUwMiw1MDMsNTA0XSxvblJldHJ5OmUub25SZXRyeT8/KCgpPT57fSl9fWFzeW5jIGV4ZWN1dGUoZSx0KXtsZXQgcixpO2ZvcihsZXQgbz0xO288PXRoaXMub3B0aW9ucy5tYXhBdHRlbXB0cztvKyspdHJ5e2xldCBuPWF3YWl0IGUoKTtpZihuIGluc3RhbmNlb2YgUmVzcG9uc2UmJnRoaXMuc2hvdWxkUmV0cnlSZXNwb25zZShuKSl7aWYoaT1uLG89PT10aGlzLm9wdGlvbnMubWF4QXR0ZW1wdHMpcmV0dXJuIG47bGV0IGw9dGhpcy5jYWxjdWxhdGVEZWxheShvKTt0aGlzLm9wdGlvbnMub25SZXRyeShvLG5ldyBFcnJvcihgSFRUUCAke24uc3RhdHVzfWApLGwpLGF3YWl0IHRoaXMuZGVsYXkobCk7Y29udGludWV9cmV0dXJuIG59Y2F0Y2gobil7cj1uIGluc3RhbmNlb2YgRXJyb3I/bjpuZXcgRXJyb3IoU3RyaW5nKG4pKTtsZXQgbD10P3QobixvKTp0aGlzLnNob3VsZFJldHJ5RXJyb3Iobik7aWYobz09PXRoaXMub3B0aW9ucy5tYXhBdHRlbXB0c3x8IWwpdGhyb3cgcjtsZXQgZD10aGlzLmNhbGN1bGF0ZURlbGF5KG8pO3RoaXMub3B0aW9ucy5vblJldHJ5KG8scixkKSxhd2FpdCB0aGlzLmRlbGF5KGQpfXRocm93IHJ8fG5ldyBFcnJvcigiTWF4IHJldHJ5IGF0dGVtcHRzIHJlYWNoZWQiKX1hc3luYyBleGVjdXRlV2l0aEZhbGxiYWNrcyhlLHQscil7aWYoZS5sZW5ndGg9PT0wKXRocm93IG5ldyBFcnJvcigiTm8gVVJMcyBwcm92aWRlZCBmb3IgZmFsbGJhY2sgZXhlY3V0aW9uIik7bGV0IGksbz1bXTtmb3IobGV0IG4gb2YgZSl0cnl7bGV0IGw9YXdhaXQgdGhpcy5leGVjdXRlKGFzeW5jKCk9PmF3YWl0IHIobix0KSk7aWYobC5zdGF0dXM8NDAwfHxsLnN0YXR1cz49NDAwJiZsLnN0YXR1czw1MDAmJmwuc3RhdHVzIT09NDA4KXJldHVybiBsO28ucHVzaChuKSxpPW5ldyBFcnJvcihgUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgJHtsLnN0YXR1c31gKX1jYXRjaChsKXtvLnB1c2gobiksaT1sIGluc3RhbmNlb2YgRXJyb3I/bDpuZXcgRXJyb3IoU3RyaW5nKGwpKX10aHJvdyBuZXcgRXJyb3IoYEFsbCBVUkxzIGZhaWxlZDogJHtvLmpvaW4oIiwgIil9LiBMYXN0IGVycm9yOiAke2k/Lm1lc3NhZ2V8fCJVbmtub3duIGVycm9yIn1gKX1zaG91bGRSZXRyeVJlc3BvbnNlKGUpe2xldCB0PXRoaXMub3B0aW9ucy5yZXRyeU9uO3JldHVybiB0eXBlb2YgdD09ImZ1bmN0aW9uIj90KGUpOkFycmF5LmlzQXJyYXkodCk/dC5pbmNsdWRlcyhlLnN0YXR1cyk6ITF9c2hvdWxkUmV0cnlFcnJvcihlKXtpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yJiZlLm1lc3NhZ2UuaW5jbHVkZXMoImZldGNoIil8fGUubmFtZT09PSJBYm9ydEVycm9yInx8ZS5tZXNzYWdlLmluY2x1ZGVzKCJ0aW1lb3V0IikpcmV0dXJuITA7bGV0IHQ9dGhpcy5vcHRpb25zLnJldHJ5T247cmV0dXJuIHR5cGVvZiB0PT0iZnVuY3Rpb24iP3Qodm9pZCAwLGUpOiExfWNhbGN1bGF0ZURlbGF5KGUpe2xldCByPUUwdCh0aGlzLm9wdGlvbnMuYmFja29mZikuY2FsY3VsYXRlKGUsdGhpcy5vcHRpb25zLmluaXRpYWxEZWxheSx0aGlzLm9wdGlvbnMubWF4RGVsYXkpO3JldHVybiBJMHQocil9YXN5bmMgZGVsYXkoZSl7YXdhaXQgVXQuZGVsYXlGb3IoZSl9fX0pO3ZhciBxaCxwY2U9ZigoKT0+e3E5KCk7cWg9Y2xhc3N7c3RhdGlje3ModGhpcywiUmVxdWVzdERlZHVwbGljYXRvciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5pbkZsaWdodFJlcXVlc3RzPW5ldyBNYXB9Z2VuZXJhdGVLZXkoZSl7bGV0IHQ9ZS51cmwscj1lLm1ldGhvZDtyZXR1cm4gcj09PSJHRVQifHxyPT09IkhFQUQiP2Ake3J9OiR7dH1gOmAke3J9OiR7dH06JHtEYXRlLm5vdygpfWB9YXN5bmMgZXhlY3V0ZShlLHQpe2xldCByPXRoaXMuaW5GbGlnaHRSZXF1ZXN0cy5nZXQoZSk7aWYocilyZXR1cm57cmVzcG9uc2U6KGF3YWl0IHIucHJvbWlzZSkuY2xvbmUoKSx3YXNEZWR1cGxpY2F0ZWQ6ITB9O2xldCBpPWN0LmRlZmVyKCk7dGhpcy5pbkZsaWdodFJlcXVlc3RzLnNldChlLGkpO3RyeXtsZXQgbz1hd2FpdCB0KCk7cmV0dXJuIGkucmVzb2x2ZShvKSx0aGlzLmluRmxpZ2h0UmVxdWVzdHMuZGVsZXRlKGUpLHtyZXNwb25zZTpvLHdhc0RlZHVwbGljYXRlZDohMX19Y2F0Y2gobyl7dGhyb3cgaS5yZWplY3QobyksdGhpcy5pbkZsaWdodFJlcXVlc3RzLmRlbGV0ZShlKSxvfX1pc0luRmxpZ2h0KGUpe3JldHVybiB0aGlzLmluRmxpZ2h0UmVxdWVzdHMuaGFzKGUpfWdldEluRmxpZ2h0Q291bnQoKXtyZXR1cm4gdGhpcy5pbkZsaWdodFJlcXVlc3RzLnNpemV9Y2xlYXIoKXt0aGlzLmluRmxpZ2h0UmVxdWVzdHMuY2xlYXIoKX19fSk7ZnVuY3Rpb24geXZhKGEpe2xldCBlPW5ldyBBYm9ydENvbnRyb2xsZXIsdD1uZXcgVXQuVGltZW91dChhLG51bGwpO3JldHVybiB0LnByb21pc2UudGhlbigoKT0+e2UuYWJvcnQoKX0pLHtjb250cm9sbGVyOmUsY2xlYW51cDpzKCgpPT57dC5jYW5jZWwoKX0sImNsZWFudXAiKX19YXN5bmMgZnVuY3Rpb24gZmNlKGEsZSx0KXtsZXR7Y29udHJvbGxlcjpyLGNsZWFudXA6aX09eXZhKHQpO3RyeXtsZXQgbz1hd2FpdCBmZXRjaChhLHsuLi5lLHNpZ25hbDpyLnNpZ25hbH0pO3JldHVybiBpKCksb31jYXRjaChvKXt0aHJvdyBpKCksbyBpbnN0YW5jZW9mIEVycm9yJiZvLm5hbWU9PT0iQWJvcnRFcnJvciI/bmV3IEVycm9yKGBSZXF1ZXN0IHRpbWVvdXQgYWZ0ZXIgJHt0fW1zOiAke2F9YCk6b319dmFyIFIwdD1mKCgpPT57cTkoKTtzKHl2YSwiY3JlYXRlVGltZW91dENvbnRyb2xsZXIiKTtzKGZjZSwiZmV0Y2hXaXRoVGltZW91dCIpfSk7dmFyIFMzLGhjZT1mKCgpPT57SWxlKCk7bGNlKCk7dWNlKCk7cGNlKCk7UjB0KCk7UzM9Y2xhc3N7c3RhdGlje3ModGhpcywiV2VicmVxdWVzdENsaWVudCIpfWNvbnN0cnVjdG9yKGU9e30pe3RoaXMuZGVmYXVsdE9wdGlvbnM9ZSx0aGlzLmludGVyY2VwdG9yTWFuYWdlcj1uZXcgSWgsdGhpcy5jYWNoZU1hbmFnZXI9bmV3IEJoLHRoaXMuZGVkdXBsaWNhdG9yPW5ldyBxaH1hZGRSZXF1ZXN0SW50ZXJjZXB0b3IoZSl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuYWRkUmVxdWVzdEludGVyY2VwdG9yKGUpfWFkZFJlc3BvbnNlSW50ZXJjZXB0b3IoZSl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuYWRkUmVzcG9uc2VJbnRlcmNlcHRvcihlKX1hZGRFcnJvckludGVyY2VwdG9yKGUpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLmFkZEVycm9ySW50ZXJjZXB0b3IoZSl9cmVtb3ZlUmVxdWVzdEludGVyY2VwdG9yKGUpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnJlbW92ZVJlcXVlc3RJbnRlcmNlcHRvcihlKX1yZW1vdmVSZXNwb25zZUludGVyY2VwdG9yKGUpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnJlbW92ZVJlc3BvbnNlSW50ZXJjZXB0b3IoZSl9cmVtb3ZlRXJyb3JJbnRlcmNlcHRvcihlKXt0aGlzLmludGVyY2VwdG9yTWFuYWdlci5yZW1vdmVFcnJvckludGVyY2VwdG9yKGUpfWNsZWFySW50ZXJjZXB0b3JzKCl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuY2xlYXJBbGwoKX1hc3luYyBjbGVhckNhY2hlKCl7YXdhaXQgdGhpcy5jYWNoZU1hbmFnZXIuY2xlYXIoKX1hc3luYyByZXF1ZXN0KGUsdD17fSl7bGV0IHI9ey4uLnRoaXMuZGVmYXVsdE9wdGlvbnMsLi4udH0saTtpZih0eXBlb2YgZT09InN0cmluZyI/aT1uZXcgUmVxdWVzdChlLHIpOmk9ZSxpPWF3YWl0IHRoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3NSZXF1ZXN0KGkpLHIuaW50ZXJjZXB0b3JzPy5yZXF1ZXN0KWZvcihsZXQgbiBvZiByLmludGVyY2VwdG9ycy5yZXF1ZXN0KWk9YXdhaXQgbihpKTtpZihyLmRlZHVwbGljYXRlPz8hMSl7bGV0IG49dGhpcy5kZWR1cGxpY2F0b3IuZ2VuZXJhdGVLZXkoaSk7cmV0dXJuKGF3YWl0IHRoaXMuZGVkdXBsaWNhdG9yLmV4ZWN1dGUobixhc3luYygpPT5hd2FpdCB0aGlzLmV4ZWN1dGVSZXF1ZXN0KGkscikpKS5yZXNwb25zZX1yZXR1cm4gYXdhaXQgdGhpcy5leGVjdXRlUmVxdWVzdChpLHIpfWFzeW5jIGV4ZWN1dGVSZXF1ZXN0KGUsdCl7dHJ5e2xldCByPXR5cGVvZiB0LnJldHJ5PT0ib2JqZWN0Ij90LnJldHJ5OnQucmV0cnk/e306dm9pZCAwLGk9cyhhc3luYyBsPT57bGV0IGQ9dC50aW1lb3V0Pz82ZTQ7cmV0dXJuIGF3YWl0IGZjZShsLnVybCx7bWV0aG9kOmwubWV0aG9kLGhlYWRlcnM6bC5oZWFkZXJzLGJvZHk6bC5ib2R5LC4uLnR9LGQpfSwiZmV0Y2hGbkZvclJlcXVlc3QiKSxvPXMoYXN5bmMobCxkKT0+e2xldCBjPXQudGltZW91dD8/NmU0O3JldHVybiBhd2FpdCBmY2UobCxkLGMpfSwiZmV0Y2hGbkZvckZhbGxiYWNrcyIpLG47aWYocil7bGV0IGw9bmV3IEhoKHIpO2lmKHQuZmFsbGJhY2tVcmxzJiZ0LmZhbGxiYWNrVXJscy5sZW5ndGg+MCl7bGV0IGQ9W2UudXJsLC4uLnQuZmFsbGJhY2tVcmxzXTtuPWF3YWl0IGwuZXhlY3V0ZVdpdGhGYWxsYmFja3MoZCx7bWV0aG9kOmUubWV0aG9kLGhlYWRlcnM6ZS5oZWFkZXJzLGJvZHk6ZS5ib2R5LC4uLnR9LG8pfWVsc2Ugbj1hd2FpdCBsLmV4ZWN1dGUoYXN5bmMoKT0+KGF3YWl0IHRoaXMuY2FjaGVNYW5hZ2VyLmV4ZWN1dGUoZSx0LGkpKS5yZXNwb25zZSl9ZWxzZSBuPShhd2FpdCB0aGlzLmNhY2hlTWFuYWdlci5leGVjdXRlKGUsdCxpKSkucmVzcG9uc2U7aWYobj1hd2FpdCB0aGlzLmludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzUmVzcG9uc2UobiksdC5pbnRlcmNlcHRvcnM/LnJlc3BvbnNlKWZvcihsZXQgbCBvZiB0LmludGVyY2VwdG9ycy5yZXNwb25zZSluPWF3YWl0IGwobik7cmV0dXJuIG59Y2F0Y2gocil7dGhyb3cgYXdhaXQgdGhpcy5pbnRlcmNlcHRvck1hbmFnZXIucHJvY2Vzc0Vycm9yKHIgaW5zdGFuY2VvZiBFcnJvcj9yOm5ldyBFcnJvcihTdHJpbmcocikpKX19YXN5bmMgZ2V0SnNvbihlLHQ9e30pe2xldCByPWF3YWl0IHRoaXMucmVxdWVzdChlLHsuLi50LG1ldGhvZDoiR0VUIixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLC4uLnQuaGVhZGVyc3x8e319fSk7aWYoIXIub2spdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7ci5zdGF0dXN9OiAke3Iuc3RhdHVzVGV4dH1gKTtyZXR1cm4gYXdhaXQgci5qc29uKCl9YXN5bmMgcG9zdEpzb24oZSx0LHI9e30pe2xldCBpPWF3YWl0IHRoaXMucmVxdWVzdChlLHsuLi5yLG1ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24iLEFjY2VwdDoiYXBwbGljYXRpb24vanNvbiIsLi4uci5oZWFkZXJzfHx7fX0sYm9keTpKU09OLnN0cmluZ2lmeSh0KX0pO2lmKCFpLm9rKXRocm93IG5ldyBFcnJvcihgSFRUUCAke2kuc3RhdHVzfTogJHtpLnN0YXR1c1RleHR9YCk7cmV0dXJuIGF3YWl0IGkuanNvbigpfWFzeW5jIHB1dEpzb24oZSx0LHI9e30pe2xldCBpPWF3YWl0IHRoaXMucmVxdWVzdChlLHsuLi5yLG1ldGhvZDoiUFVUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIiwuLi5yLmhlYWRlcnN8fHt9fSxib2R5OkpTT04uc3RyaW5naWZ5KHQpfSk7aWYoIWkub2spdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7aS5zdGF0dXN9OiAke2kuc3RhdHVzVGV4dH1gKTtyZXR1cm4gYXdhaXQgaS5qc29uKCl9YXN5bmMgZGVsZXRlSnNvbihlLHQ9e30pe2xldCByPWF3YWl0IHRoaXMucmVxdWVzdChlLHsuLi50LG1ldGhvZDoiREVMRVRFIixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLC4uLnQuaGVhZGVyc3x8e319fSk7aWYoIXIub2spdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7ci5zdGF0dXN9OiAke3Iuc3RhdHVzVGV4dH1gKTtyZXR1cm4gYXdhaXQgci5qc29uKCl9fX0pO2FzeW5jIGZ1bmN0aW9uIFdvKGEsZSl7bGV0IHQ9YSBpbnN0YW5jZW9mIFJlcXVlc3Q/YS51cmw6U3RyaW5nKGEpLHI9YSBpbnN0YW5jZW9mIFJlcXVlc3Q/YTpuZXcgUmVxdWVzdCh0LGUpO3JldHVybiBhd2FpdCBjMS5yZXF1ZXN0KHIsZSl9dmFyIGMxLE8wdD1mKCgpPT57aGNlKCk7YzE9bmV3IFMzO3MoV28sIndlYnJlcXVlc3QiKSxXby5nZXRKc29uPWFzeW5jIGZ1bmN0aW9uKGEsZSl7cmV0dXJuIGF3YWl0IGMxLmdldEpzb24oYSxlKX0sV28ucG9zdEpzb249YXN5bmMgZnVuY3Rpb24oYSxlLHQpe3JldHVybiBhd2FpdCBjMS5wb3N0SnNvbihhLGUsdCl9LFdvLnB1dEpzb249YXN5bmMgZnVuY3Rpb24oYSxlLHQpe3JldHVybiBhd2FpdCBjMS5wdXRKc29uKGEsZSx0KX0sV28uZGVsZXRlSnNvbj1hc3luYyBmdW5jdGlvbihhLGUpe3JldHVybiBhd2FpdCBjMS5kZWxldGVKc29uKGEsZSl9LFdvLmFkZFJlcXVlc3RJbnRlcmNlcHRvcj1mdW5jdGlvbihhKXtjMS5hZGRSZXF1ZXN0SW50ZXJjZXB0b3IoYSl9LFdvLmFkZFJlc3BvbnNlSW50ZXJjZXB0b3I9ZnVuY3Rpb24oYSl7YzEuYWRkUmVzcG9uc2VJbnRlcmNlcHRvcihhKX0sV28uYWRkRXJyb3JJbnRlcmNlcHRvcj1mdW5jdGlvbihhKXtjMS5hZGRFcnJvckludGVyY2VwdG9yKGEpfSxXby5jbGVhckludGVyY2VwdG9ycz1mdW5jdGlvbigpe2MxLmNsZWFySW50ZXJjZXB0b3JzKCl9LFdvLmNsZWFyQ2FjaGU9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBjMS5jbGVhckNhY2hlKCl9LFdvLmNyZWF0ZUNsaWVudD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFMzKGEpfSxXby5nZXREZWZhdWx0Q2xpZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGMxfX0pO3ZhciB6Mz17fTtsdCh6Myx7Q2FjaGVNYW5hZ2VyOigpPT5CaCxDYWNoZVN0b3JlOigpPT5GaCxJbnRlcmNlcHRvck1hbmFnZXI6KCk9PkloLFJlcXVlc3REZWR1cGxpY2F0b3I6KCk9PnFoLFJldHJ5TWFuYWdlcjooKT0+SGgsV2VicmVxdWVzdENsaWVudDooKT0+UzMsY3JlYXRlQ29uZGl0aW9uYWxIZWFkZXJzOigpPT5mWCxleHRyYWN0Q2FjaGVNZXRhZGF0YTooKT0+ejIsaGVhZGVyc1RvT2JqZWN0OigpPT5oWCxpc0ZyZXNoOigpPT5WOSxvYmplY3RUb0hlYWRlcnM6KCk9PkQwdCxyZXF1aXJlc1JldmFsaWRhdGlvbjooKT0+ajksd2VicmVxdWVzdDooKT0+V299KTt2YXIgbWNlPWYoKCk9PntPMHQoKTtoY2UoKTtsY2UoKTtwWCgpO3VjZSgpO0lsZSgpO3BjZSgpO21YKCl9KTt2YXIgTTAsazA9ZigoKT0+e2loKCk7TTA9a28oWUcoKSwxKTt6OSgpO1hjdCgpO3QwKCk7UWN0KCk7YmkoKTttY2UoKX0pO3ZhciBkMSxWaD1mKCgpPT57azAoKTtkMT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUeXBlZFJlc3BvbnNlRXJyb3IiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuZXJyb3JUZXh0PWUsdGhpcy5lcnJvckRhdGE9dH19fSk7dmFyIHhYLEYwdD1mKCgpPT57VmgoKTtrMCgpO3hYPWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVkVG9vbHMiKX1jb25zdHJ1Y3Rvcigpe3RoaXMubG9jYWxEYXRhPXt9fWFzeW5jIHBhc3NHdWFyZHMoZSx0KXtsZXQgcj1uZXcgTjkuR3VhcmRTZXQoZSk7aWYoIWF3YWl0IHIuYWxsR3VhcmRzUGFzcyh0KSl7bGV0IG89YXdhaXQgci5nZXRGYWlsZWRIaW50KHQpO3Rocm93IG5ldyBkMShgZ3VhcmQgZmFpbGVkOiAke299YCx7ZmFpbGVkSGludDpvfSl9fX19KTt2YXIgZ2NlLGJjZT1mKCgpPT57azAoKTtWaCgpO0YwdCgpO2djZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUeXBlZEhhbmRsZXIiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMubWV0aG9kPWUsdGhpcy5oYW5kbGVyRnVuY3Rpb249dH1hc3luYyBhZGRSZXNwb25zZShlKXtpZihlLm1ldGhvZCE9PXRoaXMubWV0aG9kKXRocm93IG5ldyBFcnJvcigidGhpcyBoYW5kbGVyIGhhcyBiZWVuIGdpdmVuIGEgd3JvbmcgbWV0aG9kIHRvIGFuc3dlciB0by4gUGxlYXNlIHVzZSBhIFR5cGVkUm91dGVyIHRvIGZpbHRlciByZXF1ZXN0cyIpO2xldCB0LHI9bmV3IHhYO2UubG9jYWxEYXRhJiYoci5sb2NhbERhdGE9ZS5sb2NhbERhdGEpO2xldCBpPWF3YWl0IHRoaXMuaGFuZGxlckZ1bmN0aW9uKGUucmVxdWVzdCxyKS5jYXRjaChvPT57byBpbnN0YW5jZW9mIGQxP3Q9bzpjb25zb2xlLmxvZyhvKX0pO3JldHVybiB0JiYoZS5lcnJvcj17dGV4dDp0LmVycm9yVGV4dCxkYXRhOnQuZXJyb3JEYXRhfSksaSYmKGUucmVzcG9uc2U9aSksZT8uY29ycmVsYXRpb24/LnBoYXNlJiYoZS5jb3JyZWxhdGlvbi5waGFzZT0icmVzcG9uc2UiKSxlfX19KTt2YXIgQzMsVTk9ZigoKT0+e2swKCk7eVgoKTtiY2UoKTt2Y2UoKTtWaCgpO0MzPWNsYXNzIGF7c3RhdGlje3ModGhpcywiVHlwZWRSb3V0ZXIiKX1jb25zdHJ1Y3Rvcigpe3RoaXMuaG9va3M9e30sdGhpcy5yb3V0ZXJNYXA9bmV3IExzLk9iamVjdE1hcCx0aGlzLmhhbmRsZXJNYXA9bmV3IExzLk9iamVjdE1hcCx0aGlzLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcz1uZXcgTHMuT2JqZWN0TWFwLHRoaXMubWlkZGxld2FyZXM9W10sdGhpcy5maXJlRXZlbnRJbnRlcmVzdE1hcD1uZXcgTHMuSW50ZXJlc3RNYXAoZT0+ZSl9c3RhdGljIGdldCBnbG9iYWxIb29rcygpe3JldHVybiBnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rc3x8KGdsb2JhbFRoaXMuX190eXBlZFJvdXRlckdsb2JhbEhvb2tzPXt9KSxnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rc31zdGF0aWMgc2V0IGdsb2JhbEhvb2tzKGUpe2dsb2JhbFRoaXMuX190eXBlZFJvdXRlckdsb2JhbEhvb2tzPWV9c3RhdGljIHNldEdsb2JhbEhvb2tzKGUpe2xldCB0PWEuZ2xvYmFsSG9va3M7YS5nbG9iYWxIb29rcz17Li4udCwuLi5lfX1zdGF0aWMgY2xlYXJHbG9iYWxIb29rcygpe2dsb2JhbFRoaXMuX190eXBlZFJvdXRlckdsb2JhbEhvb2tzPXt9fXNldEhvb2tzKGUpe3RoaXMuaG9va3M9ey4uLnRoaXMuaG9va3MsLi4uZX19Y2FsbEhvb2soZSx0KXt0cnl7YS5nbG9iYWxIb29rc1tlXT8uKHQpLHRoaXMuaG9va3NbZV0/Lih0KX1jYXRjaChyKXtjb25zb2xlLmVycm9yKGBUeXBlZFJvdXRlciBob29rIGVycm9yICgke2V9KTpgLHIpfX1hZGRNaWRkbGV3YXJlKGUpe3RoaXMubWlkZGxld2FyZXMucHVzaChlKX1hZGRUeXBlZEhhbmRsZXIoZSl7aWYodGhpcy5nZXRUeXBlZEhhbmRsZXJGb3JNZXRob2QoZS5tZXRob2QpKXRocm93IG5ldyBFcnJvcihgYSBUeXBlZEhhbmRsZXIgZm9yICR7ZS5tZXRob2R9IGFscmVkeSBleGlzdHMhIENhbid0IGFkZCBhbm90aGVyIG9uZS5gKTt0aGlzLmhhbmRsZXJNYXAuYWRkKGUpfWFkZFR5cGVkUm91dGVyKGUpe3RoaXMucm91dGVyTWFwLmZpbmRTeW5jKHI9PnI9PT1lKXx8KHRoaXMucm91dGVyTWFwLmFkZChlKSxlLmFkZFR5cGVkUm91dGVyKHRoaXMpKX1jaGVja0ZvclR5cGVkSGFuZGxlcihlKXtyZXR1cm4hIXRoaXMuZ2V0VHlwZWRIYW5kbGVyRm9yTWV0aG9kKGUpfWdldFR5cGVkSGFuZGxlckZvck1ldGhvZChlLHQ9W10pe3QucHVzaCh0aGlzKTtsZXQgcjtyZXR1cm4gcj10aGlzLmhhbmRsZXJNYXAuZmluZFN5bmMoaT0+aS5tZXRob2Q9PT1lKSxyfHx0aGlzLnJvdXRlck1hcC5nZXRBcnJheSgpLmZvckVhY2goaT0+eyFyJiYhdC5pbmNsdWRlcyhpKSYmKHI9aS5nZXRUeXBlZEhhbmRsZXJGb3JNZXRob2QoZSx0KSl9KSxyfWdldFR5cGVkSGFuZGxlckFuZFJvdXRlcihlLHQ9W10pe3QucHVzaCh0aGlzKTtsZXQgcj10aGlzLmhhbmRsZXJNYXAuZmluZFN5bmMoaT0+aS5tZXRob2Q9PT1lKTtpZihyKXJldHVybntoYW5kbGVyOnIscm91dGVyOnRoaXN9O2ZvcihsZXQgaSBvZiB0aGlzLnJvdXRlck1hcC5nZXRBcnJheSgpKWlmKCF0LmluY2x1ZGVzKGkpKXtsZXQgbz1pLmdldFR5cGVkSGFuZGxlckFuZFJvdXRlcihlLHQpO2lmKG8pcmV0dXJuIG99cmV0dXJuIG51bGx9c3RhdGlje3RoaXMuZGVmYXVsdFJvdXRlT3B0aW9ucz17bG9jYWxSZXF1ZXN0OiExLHNraXBIb29rczohMX19YXN5bmMgcm91dGVBbmRBZGRSZXNwb25zZShlLHQ9e30pe2xldCByPXsuLi5hLmRlZmF1bHRSb3V0ZU9wdGlvbnMsLi4udH07aWYoZT11MS5kZWNvZGVQYXlsb2FkRnJvbU5ldHdvcmsoZSx7dHlwZWRyb3V0ZXI6dGhpc30pLGUubG9jYWxEYXRhPWUubG9jYWxEYXRhfHx7fSxlLmxvY2FsRGF0YS5maXJzdFR5cGVkcm91dGVyPXRoaXMsZS5tZXRob2Q9PT0iIyNWaXJ0dWFsU3RyZWFtIyMiKXtsZXQgaT1hd2FpdCB0aGlzLmhhbmRsZVN0cmVhbVR5cGVkUmVxdWVzdChlKTtyZXR1cm4gaS5sb2NhbERhdGE9bnVsbCxpfWlmKGU/LmNvcnJlbGF0aW9uPy5waGFzZT09PSJyZXF1ZXN0Inx8ci5sb2NhbFJlcXVlc3Qpe2xldCBpPURhdGUubm93KCk7ci5za2lwSG9va3N8fHRoaXMuY2FsbEhvb2soIm9uSW5jb21pbmdSZXF1ZXN0Iix7Y29ycmVsYXRpb25JZDplLmNvcnJlbGF0aW9uPy5pZHx8InVua25vd24iLG1ldGhvZDplLm1ldGhvZCxkaXJlY3Rpb246ImluY29taW5nIixwaGFzZToicmVxdWVzdCIsdGltZXN0YW1wOmkscGF5bG9hZDplLnJlcXVlc3R9KTtsZXQgbz10aGlzLmdldFR5cGVkSGFuZGxlckFuZFJvdXRlcihlLm1ldGhvZCk7aWYoIW8pcmV0dXJuIGNvbnNvbGUubG9nKGBDYW5ub3QgZmluZCBoYW5kbGVyIGZvciBtZXRob2RuYW1lICR7ZS5tZXRob2R9YCksZS5lcnJvcj17dGV4dDoiVGhlcmUgaXMgbm8gYXZhaWxhYmxlIG1ldGhvZCBmb3IgdGhpcyBjYWxsIG9uIHRoZSBzZXJ2ZXIgc2lkZSIsZGF0YTp7fX0sZS5jb3JyZWxhdGlvbi5waGFzZT0icmVzcG9uc2UiLGUubG9jYWxEYXRhPW51bGwsZT11MS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhlLHt0eXBlZHJvdXRlcjp0aGlzfSksci5za2lwSG9va3N8fHRoaXMuY2FsbEhvb2soIm9uT3V0Z29pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6ZS5jb3JyZWxhdGlvbj8uaWR8fCJ1bmtub3duIixtZXRob2Q6ZS5tZXRob2QsZGlyZWN0aW9uOiJvdXRnb2luZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktaSxwYXlsb2FkOmUucmVzcG9uc2UsZXJyb3I6ZS5lcnJvcj8udGV4dH0pLGU7bGV0e2hhbmRsZXI6bixyb3V0ZXI6bH09bztpZihsLm1pZGRsZXdhcmVzLmxlbmd0aD4wKXRyeXtmb3IobGV0IGQgb2YgbC5taWRkbGV3YXJlcylhd2FpdCBkKGUpfWNhdGNoKGQpe3JldHVybiBkIGluc3RhbmNlb2YgZDE/ZS5lcnJvcj17dGV4dDpkLmVycm9yVGV4dCxkYXRhOmQuZXJyb3JEYXRhfHx7fX06ZS5lcnJvcj17dGV4dDpkLm1lc3NhZ2V8fCJNaWRkbGV3YXJlIGVycm9yIixkYXRhOnt9fSxlLmNvcnJlbGF0aW9uLnBoYXNlPSJyZXNwb25zZSIsZS5sb2NhbERhdGE9bnVsbCxlPXUxLmVuY29kZVBheWxvYWRGb3JOZXR3b3JrKGUse3R5cGVkcm91dGVyOnRoaXN9KSxyLnNraXBIb29rc3x8dGhpcy5jYWxsSG9vaygib25PdXRnb2luZ1Jlc3BvbnNlIix7Y29ycmVsYXRpb25JZDplLmNvcnJlbGF0aW9uPy5pZHx8InVua25vd24iLG1ldGhvZDplLm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVzcG9uc2UiLHRpbWVzdGFtcDpEYXRlLm5vdygpLGR1cmF0aW9uTXM6RGF0ZS5ub3coKS1pLHBheWxvYWQ6ZS5yZXNwb25zZSxlcnJvcjplLmVycm9yPy50ZXh0fSksZX1yZXR1cm4gZT1hd2FpdCBuLmFkZFJlc3BvbnNlKGUpLGUubG9jYWxEYXRhPW51bGwsZT11MS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhlLHt0eXBlZHJvdXRlcjp0aGlzfSksci5za2lwSG9va3N8fHRoaXMuY2FsbEhvb2soIm9uT3V0Z29pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6ZS5jb3JyZWxhdGlvbj8uaWR8fCJ1bmtub3duIixtZXRob2Q6ZS5tZXRob2QsZGlyZWN0aW9uOiJvdXRnb2luZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktaSxwYXlsb2FkOmUucmVzcG9uc2UsZXJyb3I6ZS5lcnJvcj8udGV4dH0pLGV9ZWxzZSByZXR1cm4gZT8uY29ycmVsYXRpb24/LnBoYXNlPT09InJlc3BvbnNlIj8oci5za2lwSG9va3N8fHRoaXMuY2FsbEhvb2soIm9uSW5jb21pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6ZS5jb3JyZWxhdGlvbj8uaWR8fCJ1bmtub3duIixtZXRob2Q6ZS5tZXRob2QsZGlyZWN0aW9uOiJpbmNvbWluZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxwYXlsb2FkOmUucmVzcG9uc2UsZXJyb3I6ZS5lcnJvcj8udGV4dH0pLHRoaXMuZmlyZUV2ZW50SW50ZXJlc3RNYXAuZmluZEludGVyZXN0KGUuY29ycmVsYXRpb24uaWQpPy5mdWxsZmlsbEludGVyZXN0KGUpLG51bGwpOihjb25zb2xlLmxvZygicmVjZWl2ZWQgd2VpcmRseSBzaGFwZWQgcmVxdWVzdCIpLGNvbnNvbGUubG9nKGUpLG51bGwpfWFzeW5jIGhhbmRsZVN0cmVhbVR5cGVkUmVxdWVzdChlKXtsZXQgdD1hd2FpdCB0aGlzLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5maW5kKGFzeW5jIGk9Pmkuc3RyZWFtSWQ9PT1lLnJlcXVlc3Quc3RyZWFtSWQpO2lmKHQpY29uc29sZS5sb2coYHN1Y2Nlc3M6IGZvdW5kIHJlbGV2YW50IHZpcnR1YWwgc3RyZWFtIHdpdGggaWQgJHtlLnJlcXVlc3Quc3RyZWFtSWR9YCk7ZWxzZSByZXR1cm4gY29uc29sZS5sb2coYG5vIHJlbGV2YW50IHZpcnR1YWwgc3RyZWFtIGZvdW5kIGZvciBzdHJlYW0gd2l0aCBpZCAke2UucmVxdWVzdC5zdHJlYW1JZH1gKSxjb25zb2xlLmxvZyh0aGlzLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5nZXRBcnJheSgpKSxlO3JldHVybiBhd2FpdCB0LmhhbmRsZVN0cmVhbVRyKGUpfX19KTt2YXIgQjB0LHUxLHlYPWYoKCk9PntrMCgpO1U5KCk7QjB0PSIjIyMjIyMjIyMjIyMjQ0xPU0lORyBCSVQjIyMjIyMjIyMjIyMjIix1MT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlZpcnR1YWxTdHJlYW0iKX1zdGF0aWMgZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsoZSx0LHIsaT1bXSl7cmV0dXJuIWV8fEVoLmlzQnVmZmVyTGlrZShlKT9lOmUgaW5zdGFuY2VvZiBhPyghZS5zaWRlJiZ0LnNlbmRNZXRob2QmJihlLnNpZGU9InJlcXVlc3RpbmciLGUuc2VuZE1ldGhvZD10LnNlbmRNZXRob2QpLCFlLnNpZGUmJnQudHlwZWRyb3V0ZXImJihlLnNpZGU9InJlc3BvbmRpbmciLGUudHlwZWRyb3V0ZXI9dC50eXBlZHJvdXRlcix0LnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5hZGQoZSkpLCFyLnJlc3BvbnNlfHxpLmluY2x1ZGVzKCJyZXNwb25zZSIpPyhlLnN0YXJ0S2VlcEFsaXZlTG9vcCgpLHtfaXNWaXJ0dWFsU3RyZWFtOiEwLHN0cmVhbUlkOmUuc3RyZWFtSWR9KTp7X09CTUlUVEVEX1ZJUlRVQUxfU1RSRUFNOiEwLHJlYXNvbjoicGF0aCBpcyB1bmRlciAucmVxdWVzdDogb2JtaXR0ZWQgZm9yIGRlZHVwbGljYXRpb24gcmVhc29ucyBpbiByZXNwb25zZSBjeWNsZS4ifSk6QXJyYXkuaXNBcnJheShlKT9lLm1hcCgobyxuKT0+YS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhvLHQscnx8ZSxpLmNvbmNhdChTdHJpbmcobikpKSk6ZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0Ij9PYmplY3QuZW50cmllcyhlKS5yZWR1Y2UoKG8sW24sbF0pPT57bGV0IGQ9aS5jb25jYXQobik7cmV0dXJuIG9bbl09YS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhsLHQscnx8ZSxkKSxvfSx7fSk6ZX1zdGF0aWMgZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGUsdCl7aWYoRWguaXNCdWZmZXJMaWtlKGUpfHxlIGluc3RhbmNlb2YgQzMpcmV0dXJuIGU7aWYoZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0Iil7aWYoZSBpbnN0YW5jZW9mIFNldHx8ZSBpbnN0YW5jZW9mIE1hcHx8ZSBpbnN0YW5jZW9mIERhdGV8fGUgaW5zdGFuY2VvZiBSZWdFeHB8fGUgaW5zdGFuY2VvZiBFcnJvcnx8ZSBpbnN0YW5jZW9mIFByb21pc2V8fHR5cGVvZiBlLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIGU7aWYoZS5faXNWaXJ0dWFsU3RyZWFtKXtsZXQgcj1uZXcgYTtyZXR1cm4gci5zdHJlYW1JZD1lLnN0cmVhbUlkLCFyLnNpZGUmJnQuc2VuZE1ldGhvZCYmKHIuc2lkZT0icmVxdWVzdGluZyIsci5zZW5kTWV0aG9kPXQuc2VuZE1ldGhvZCksIXIuc2lkZSYmdC50eXBlZHJvdXRlciYmKHIuc2lkZT0icmVzcG9uZGluZyIsci50eXBlZHJvdXRlcj10LnR5cGVkcm91dGVyLHQudHlwZWRyb3V0ZXIucmVnaXN0ZXJlZFZpcnR1YWxTdHJlYW1zLmFkZChyKSksci5zdGFydEtlZXBBbGl2ZUxvb3AoKSxyfWVsc2UgaWYoQXJyYXkuaXNBcnJheShlKSl7bGV0IHI9W107Zm9yKGxldCBpIG9mIGUpci5wdXNoKGEuZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGksdCkpO3JldHVybiByfWVsc2UgcmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgocixpKT0+KHJbaV09YS5kZWNvZGVQYXlsb2FkRnJvbU5ldHdvcmsoZVtpXSx0KSxyKSx7fSl9ZWxzZSByZXR1cm4gZX1jb25zdHJ1Y3Rvcigpe3RoaXMuc3RyZWFtSWQ9TTAudW5pKCksdGhpcy5rZWVwQWxpdmU9ITAsdGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5PW5ldyBMcy5CYWNrcHJlc3N1cmVkQXJyYXkoMTYpLHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheT1uZXcgTHMuQmFja3ByZXNzdXJlZEFycmF5KDE2KX1zdGF0aWMgcmVjb25zdGl0dXRlQmluYXJ5RGF0YShlKXtpZihlPT1udWxsfHxlIGluc3RhbmNlb2YgVWludDhBcnJheXx8dHlwZW9mIEJ1ZmZlcjwidSImJkJ1ZmZlci5pc0J1ZmZlcihlKSlyZXR1cm4gZTtpZih0eXBlb2YgZT09Im9iamVjdCIpe2lmKGUudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmdHlwZW9mIGUuZGF0YT09InN0cmluZyImJmUuZGF0YS5zdGFydHNXaXRoKCJiYXNlNjQ6Iikpe2xldCByPWUuZGF0YS5zbGljZSg3KTtpZih0eXBlb2YgQnVmZmVyPCJ1Iil7bGV0IGk9QnVmZmVyLmZyb20ociwiYmFzZTY0Iik7cmV0dXJuIG5ldyBVaW50OEFycmF5KGkuYnVmZmVyLGkuYnl0ZU9mZnNldCxpLmJ5dGVMZW5ndGgpfXJldHVybiBuZXcgVWludDhBcnJheShBcnJheS5mcm9tKGF0b2IocikpLm1hcChpPT5pLmNoYXJDb2RlQXQoMCkpKX1pZihlLnR5cGU9PT0iQnVmZmVyIiYmQXJyYXkuaXNBcnJheShlLmRhdGEpKXJldHVybiBuZXcgVWludDhBcnJheShlLmRhdGEpO2xldCB0PU9iamVjdC5rZXlzKGUpO2lmKHQubGVuZ3RoPjAmJnQuZXZlcnkocj0+L15cZCskLy50ZXN0KHIpKSl7bGV0IHI9bmV3IEFycmF5KHQubGVuZ3RoKTtmb3IobGV0IGkgb2YgdClyW051bWJlcihpKV09ZVtpXTtpZihyLmV2ZXJ5KGk9PnR5cGVvZiBpPT0ibnVtYmVyIikpcmV0dXJuIG5ldyBVaW50OEFycmF5KHIpfX1yZXR1cm4gZX1hc3luYyB3b3JrT25RdWV1ZSgpe2lmKHRoaXMud29ya2luZ0RlZmVycmVkKXJldHVybiB0aGlzLndvcmtpbmdEZWZlcnJlZC5wcm9taXNlO2lmKHRoaXMud29ya2luZ0RlZmVycmVkPWN0LmRlZmVyKCksdGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtsZXQgZT0hdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKSx0PSExLHI9ITEsaT1zKGFzeW5jKCk9PntsZXQgbz1hd2FpdCB0aGlzLnNlbmRNZXRob2Qoe21ldGhvZDoiIyNWaXJ0dWFsU3RyZWFtIyMiLHJlcXVlc3Q6e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDpNMC51bmkoKSxjeWNsZToicmVxdWVzdCIsbWFpblB1cnBvc2U6ImZlZWRiYWNrIixuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57Y29uc29sZS5sb2coInN0cmVhbSBlbmRlZCBpbW1hdHVyZWx5IiksdGhpcy5rZWVwQWxpdmU9ITF9KTtvJiZvLnJlc3BvbnNlJiYocj1vLnJlc3BvbnNlLmJhY2twcmVzc3VyZSx0PW8ucmVzcG9uc2UubmV4dCl9LCJnZXRGZWVkYmFjayIpO2Zvcihhd2FpdCBpKCk7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjB8fHQ7KXtpZihyKWZvcig7cjspY29uc29sZS5sb2coIndhaXRpbmcgZm9yIGZlZWRiYWNrIGJlY2F1c2Ugb2YgYmFja3ByZXNzdXJlLi4uIiksYXdhaXQgVXQuZGVsYXlGb3IoNTApLGF3YWl0IGkoKTtsZXQgbzt0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCYmKG89dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnNoaWZ0KCkpO2xldCBuO249YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6TTAudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOm8/ImNodW5rIjoicmVhZCIsYmFja3ByZXNzdXJlOmUsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCwuLi5vP3tjaHVua0RhdGE6b306e319LHJlc3BvbnNlOm51bGx9KS5jYXRjaCgoKT0+KGNvbnNvbGUubG9nKCJzdHJlYW0gZW5kZWQgaW1tYXR1cmVseSIpLHRoaXMua2VlcEFsaXZlPSExLG51bGwpKSxuJiZuLnJlc3BvbnNlJiZuLnJlc3BvbnNlLmNodW5rRGF0YSYmdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LnB1c2goYS5yZWNvbnN0aXR1dGVCaW5hcnlEYXRhKG4ucmVzcG9uc2UuY2h1bmtEYXRhKSkscj1uJiZuLnJlc3BvbnNlJiZuLnJlc3BvbnNlLmJhY2twcmVzc3VyZSxlPSF0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuY2hlY2tTcGFjZUF2YWlsYWJsZSgpLHQ9biYmbi5yZXNwb25zZSYmbi5yZXNwb25zZS5uZXh0fX10aGlzLndvcmtpbmdEZWZlcnJlZC5yZXNvbHZlKCksdGhpcy53b3JraW5nRGVmZXJyZWQ9bnVsbH1hc3luYyBoYW5kbGVTdHJlYW1UcihlKXtpZihlLnJlcXVlc3Qua2VlcEFsaXZlPT09ITAmJnRoaXMua2VlcEFsaXZlPT09ITA/dGhpcy5sYXN0S2VlcEFsaXZlRXZlbnQ9RGF0ZS5ub3coKTplLnJlcXVlc3Qua2VlcEFsaXZlPT09ITEmJih0aGlzLmtlZXBBbGl2ZT0hMSksZS5yZXF1ZXN0Lm1haW5QdXJwb3NlPT09ImtlZXBBbGl2ZSImJihlLnJlc3BvbnNlPXtzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6ZS5yZXF1ZXN0LmN5Y2xlSWQsY3ljbGU6InJlc3BvbnNlIixtYWluUHVycG9zZToia2VlcEFsaXZlIixrZWVwQWxpdmU6dGhpcy5rZWVwQWxpdmUsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9KSxlLnJlcXVlc3QubWFpblB1cnBvc2U9PT0iZmVlZGJhY2siJiYoZS5yZXNwb25zZT17c3RyZWFtSWQ6dGhpcy5zdHJlYW1JZCxjeWNsZUlkOmUucmVxdWVzdC5jeWNsZUlkLGN5Y2xlOiJyZXNwb25zZSIsbWFpblB1cnBvc2U6ImZlZWRiYWNrIixuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0pLGUucmVxdWVzdC5tYWluUHVycG9zZT09PSJjaHVuayIpe2lmKHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5wdXNoKGEucmVjb25zdGl0dXRlQmluYXJ5RGF0YShlLnJlcXVlc3QuY2h1bmtEYXRhKSksdGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAmJmUucmVzcG9uc2UuYmFja3ByZXNzdXJlPT09ITEpe2xldCB0PXRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpO2UucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDplLnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJjaHVuayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MSxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCksY2h1bmtEYXRhOnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpfX1lbHNlIGUucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDplLnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJmZWVkYmFjayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9O2UucmVxdWVzdD1udWxsfXJldHVybiBlfWFzeW5jIGNsZWFudXAoKXt0aGlzLnR5cGVkcm91dGVyJiZ0aGlzLnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5yZW1vdmUodGhpcyl9YXN5bmMgc3RhcnRLZWVwQWxpdmVMb29wKCl7aWYodGhpcy5zaWRlPT09InJlc3BvbmRpbmciKXJldHVybjthd2FpdCBVdC5kZWxheUZvcigwKSxjb25zb2xlLmxvZyhgc3RhcnRpbmcga2VlcGFsaXZlIGxvb3Agb24gc2lkZSAke3RoaXMuc2lkZX1gKTtsZXQgZT0wO2Zvcig7dGhpcy5rZWVwQWxpdmU7KWF3YWl0IHRoaXMudHJpZ2dlcktlZXBBbGl2ZSgpLGF3YWl0IFV0LmRlbGF5Rm9yKDFlMyk7YXdhaXQgVXQuZGVsYXlGb3IoMWUzKSxhd2FpdCB0aGlzLmNsZWFudXAoKSxjb25zb2xlLmxvZyhgY2xlYW5lZCB1cCBmb3Igc3RyZWFtICR7dGhpcy5zdHJlYW1JZH1gKX1hc3luYyB0cmlnZ2VyS2VlcEFsaXZlKCl7aWYodGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtjb25zb2xlLmxvZygia2VlcGFsaXZlIHNlbnQuIik7bGV0IGU9YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6TTAudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOiJrZWVwQWxpdmUiLGtlZXBBbGl2ZTp0aGlzLmtlZXBBbGl2ZX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57dGhpcy5rZWVwQWxpdmU9ITF9KTtlJiZlLnJlc3BvbnNlJiZlLnJlc3BvbnNlLmtlZXBBbGl2ZT09PSExP3RoaXMua2VlcEFsaXZlPSExOnRoaXMubGFzdEtlZXBBbGl2ZUV2ZW50PURhdGUubm93KCksZSYmZS5yZXNwb25zZSYmZS5yZXNwb25zZS5uZXh0JiZ0aGlzLndvcmtPblF1ZXVlKCl9RGF0ZS5ub3coKS10aGlzLmxhc3RLZWVwQWxpdmVFdmVudD4xZTQmJihjb25zb2xlLmxvZyhgY2xvc2luZyBzdHJlYW0gZm9yICR7dGhpcy5zdHJlYW1JZH1gKSx0aGlzLmtlZXBBbGl2ZT0hMSl9YXN5bmMgc2VuZERhdGEoZSl7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnB1c2goZSksdGhpcy53b3JrT25RdWV1ZSgpLGF3YWl0IHRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9yU3BhY2UoKX1hc3luYyBmZXRjaERhdGEoKXtyZXR1cm4gdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5Lmhhc1NwYWNlLGF3YWl0IHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9ySXRlbXMoKSx0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuc2hpZnQoKX1hc3luYyByZWFkRnJvbVdlYnN0cmVhbShlLHQ9ITApe2xldCByPWUuZ2V0UmVhZGVyKCksaT0hMTtmb3IoOyFpOyl7bGV0e3ZhbHVlOm8sZG9uZTpufT1hd2FpdCByLnJlYWQoKTtvJiZhd2FpdCB0aGlzLnNlbmREYXRhKG8pLGk9bn10JiZhd2FpdCB0aGlzLmNsb3NlKCEwKX1hc3luYyB3cml0ZVRvV2Vic3RyZWFtKGUpe2xldCB0PWUuZ2V0V3JpdGVyKCk7Zm9yKDt0aGlzLmtlZXBBbGl2ZXx8dGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrSGFzSXRlbXMoKTspe2xldCByPWF3YWl0IHRoaXMuZmV0Y2hEYXRhKCk7aWYocj09PUIwdCl7dC5yZWxlYXNlTG9jaygpLGF3YWl0IGUuY2xvc2UoKTticmVha31hd2FpdCB0LndyaXRlKHIpfX1hc3luYyBjbG9zZShlPSExKXtlJiZ0aGlzLnNlbmREYXRhKEIwdCksdGhpcy5rZWVwQWxpdmU9ITF9fX0pO3ZhciB4Y2UseWNlPWYoKCk9PntVOSgpO2swKCk7eGNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVkVGFyZ2V0Iil9Y29uc3RydWN0b3IoZSl7aWYoZS5wb3N0TWV0aG9kV2l0aFR5cGVkUm91dGVyJiYhZS50eXBlZFJvdXRlclJlZil0aHJvdyBuZXcgRXJyb3IoInlvdSBoYXZlIHRvIHNwZWNpZnkgYSB0eXBlZHJvdXRlciB3aGVuIHVzaW5nIHBvc3RtZXRob2Qgd2l0aCB0eXBlZHJvdXRlciIpO3RoaXMub3B0aW9ucz1lfWFzeW5jIHBvc3QoZSl7bGV0IHQ7dGhpcy5vcHRpb25zLnR5cGVkUm91dGVyUmVmJiYodD1hd2FpdCB0aGlzLm9wdGlvbnMudHlwZWRSb3V0ZXJSZWYuZmlyZUV2ZW50SW50ZXJlc3RNYXAuYWRkSW50ZXJlc3QoZS5jb3JyZWxhdGlvbi5pZCxlKSk7bGV0IGk9YXdhaXQodGhpcy5vcHRpb25zLnBvc3RNZXRob2R8fHRoaXMub3B0aW9ucy5wb3N0TWV0aG9kV2l0aFR5cGVkUm91dGVyKShlKSxvO3JldHVybiB0P289YXdhaXQgdC5pbnRlcmVzdEZ1bGxmaWxsZWQ6aT9vPWk6bz1lLG99fX0pO2Z1bmN0aW9uIEgwdChhLGUpe3RyeXtDMy5nbG9iYWxIb29rc1thXT8uKGUpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoYFR5cGVkUmVxdWVzdCBob29rIGVycm9yICgke2F9KTpgLHQpfX12YXIgd3ZhLFc5LHZjZT1mKCgpPT57azAoKTt5WCgpO1ZoKCk7VTkoKTt5Y2UoKTt3dmE9bmV3IHozLldlYnJlcXVlc3RDbGllbnQ7cyhIMHQsImNhbGxHbG9iYWxIb29rIik7Vzk9Y2xhc3N7c3RhdGlje3ModGhpcywiVHlwZWRSZXF1ZXN0Iil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnNraXBIb29rcz0hMSx0eXBlb2YgZT09InN0cmluZyI/dGhpcy51cmxFbmRQb2ludD1lOnRoaXMudHlwZWRUYXJnZXQ9ZSx0aGlzLm1ldGhvZD10fWFzeW5jIGZpcmUoZSx0PSExKXtsZXQgcj1EYXRlLm5vdygpLGk9e21ldGhvZDp0aGlzLm1ldGhvZCxyZXF1ZXN0OmUscmVzcG9uc2U6bnVsbCxjb3JyZWxhdGlvbjp7aWQ6TTAudW5pKCkscGhhc2U6InJlcXVlc3QifX07aT11MS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhpLHtzZW5kTWV0aG9kOnMobj0+dGhpcy5wb3N0VHJPYmplY3QobiksInNlbmRNZXRob2QiKX0pLHRoaXMuc2tpcEhvb2tzfHxIMHQoIm9uT3V0Z29pbmdSZXF1ZXN0Iix7Y29ycmVsYXRpb25JZDppLmNvcnJlbGF0aW9uLmlkLG1ldGhvZDp0aGlzLm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVxdWVzdCIsdGltZXN0YW1wOnIscGF5bG9hZDplfSk7bGV0IG87cmV0dXJuIG89YXdhaXQgdGhpcy5wb3N0VHJPYmplY3QoaSx0KSxvPXUxLmRlY29kZVBheWxvYWRGcm9tTmV0d29yayhvLHtzZW5kTWV0aG9kOnMobj0+dGhpcy5wb3N0VHJPYmplY3QobiksInNlbmRNZXRob2QiKX0pLHRoaXMuc2tpcEhvb2tzfHxIMHQoIm9uSW5jb21pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6aS5jb3JyZWxhdGlvbi5pZCxtZXRob2Q6dGhpcy5tZXRob2QsZGlyZWN0aW9uOiJpbmNvbWluZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktcixwYXlsb2FkOm8/LnJlc3BvbnNlLGVycm9yOm8/LmVycm9yPy50ZXh0fSksby5yZXNwb25zZX1hc3luYyBwb3N0VHJPYmplY3QoZSx0PSExKXtsZXQgcjtpZih0aGlzLnVybEVuZFBvaW50P3I9YXdhaXQgd3ZhLnBvc3RKc29uKHRoaXMudXJsRW5kUG9pbnQsZSx0P3tjYWNoZVN0cmF0ZWd5OiJjYWNoZS1maXJzdCJ9Ont9KTpyPWF3YWl0IHRoaXMudHlwZWRUYXJnZXQucG9zdChlKSxyLmVycm9yKXtpZihjb25zb2xlLmVycm9yKGBtZXRob2Q6ID4+JHt0aGlzLm1ldGhvZH08PCBnb3QgYW4gRVJST1I6ICIke3IuZXJyb3IudGV4dH0iIHdpdGggZGF0YSAke0pTT04uc3RyaW5naWZ5KHIuZXJyb3IuZGF0YSxudWxsLDIpfWApLCFyLnJldHJ5KXRocm93IG5ldyBkMShyLmVycm9yLnRleHQsci5lcnJvci5kYXRhKTtyZXR1cm4gbnVsbH1yZXR1cm4gci5yZXRyeSYmKGNvbnNvbGUubG9nKGBzZXJ2ZXIgcmVxdWVzdGVkIHJldHJ5IGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbjogJHtyLnJldHJ5LnJlYXNvbn1gKSxhd2FpdCBVdC5kZWxheUZvcihyLnJldHJ5LndhaXRGb3JNcykscj1hd2FpdCB0aGlzLnBvc3RUck9iamVjdChlLHQpKSxyfX19KTt2YXIgR3I9e307bHQoR3Ise1R5cGVkSGFuZGxlcjooKT0+Z2NlLFR5cGVkUmVxdWVzdDooKT0+VzksVHlwZWRSZXNwb25zZUVycm9yOigpPT5kMSxUeXBlZFJvdXRlcjooKT0+QzMsVHlwZWRUYXJnZXQ6KCk9PnhjZSxWaXJ0dWFsU3RyZWFtOigpPT51MX0pO3ZhciBHOT1mKCgpPT57dmNlKCk7YmNlKCk7VTkoKTtWaCgpO3ljZSgpO3lYKCl9KTtmdW5jdGlvbiBxMHQoYSl7cmV0dXJuIGEmJnR5cGVvZiBhLnRoZW49PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gQzIoYSxlKXtyZXR1cm4gYXx8KGE9MCksbmV3IFByb21pc2UoZnVuY3Rpb24odCl7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gdChlKX0sYSl9KX1mdW5jdGlvbiBVMHQoYSxlKXtyZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKihlLWErMSkrYSl9ZnVuY3Rpb24gVGwoKXtyZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpfWZ1bmN0aW9uIExsKCl7dmFyIGE9RGF0ZS5ub3coKSoxZTM7cmV0dXJuIGE8PXdjZSYmKGE9d2NlKzEpLHdjZT1hLGF9ZnVuY3Rpb24gVzB0KCl7cmV0dXJuIHR5cGVvZiBuYXZpZ2F0b3I8InUiJiZ0eXBlb2YgbmF2aWdhdG9yLmxvY2tzPCJ1IiYmdHlwZW9mIG5hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0PT0iZnVuY3Rpb24ifXZhciBWMHQsajB0LEdvLHdjZSxTMD1mKCgpPT57cyhxMHQsImlzUHJvbWlzZSIpO1YwdD1Qcm9taXNlLnJlc29sdmUoITEpLGowdD1Qcm9taXNlLnJlc29sdmUoITApLEdvPVByb21pc2UucmVzb2x2ZSgpO3MoQzIsInNsZWVwIik7cyhVMHQsInJhbmRvbUludCIpO3MoVGwsInJhbmRvbVRva2VuIik7d2NlPTA7cyhMbCwibWljcm9TZWNvbmRzIik7cyhXMHQsInN1cHBvcnRzV2ViTG9ja0FQSSIpfSk7ZnVuY3Rpb24gU3ZhKGEpe3ZhciBlPXt0aW1lOkxsKCksbWVzc2FnZXNDYWxsYmFjazpudWxsLGJjOm5ldyBCcm9hZGNhc3RDaGFubmVsKGEpLHN1YkZuczpbXX07cmV0dXJuIGUuYmMub25tZXNzYWdlPWZ1bmN0aW9uKHQpe2UubWVzc2FnZXNDYWxsYmFjayYmZS5tZXNzYWdlc0NhbGxiYWNrKHQuZGF0YSl9LGV9ZnVuY3Rpb24genZhKGEpe2EuYmMuY2xvc2UoKSxhLnN1YkZucz1bXX1mdW5jdGlvbiBDdmEoYSxlKXt0cnl7cmV0dXJuIGEuYmMucG9zdE1lc3NhZ2UoZSwhMSksR299Y2F0Y2godCl7cmV0dXJuIFByb21pc2UucmVqZWN0KHQpfX1mdW5jdGlvbiBfdmEoYSxlKXthLm1lc3NhZ2VzQ2FsbGJhY2s9ZX1mdW5jdGlvbiBUdmEoKXtpZih0eXBlb2YgZ2xvYmFsVGhpczwidSImJmdsb2JhbFRoaXMuRGVubyYmZ2xvYmFsVGhpcy5EZW5vLmFyZ3MpcmV0dXJuITA7aWYoKHR5cGVvZiB3aW5kb3c8InUifHx0eXBlb2Ygc2VsZjwidSIpJiZ0eXBlb2YgQnJvYWRjYXN0Q2hhbm5lbD09ImZ1bmN0aW9uIil7aWYoQnJvYWRjYXN0Q2hhbm5lbC5fcHVia2V5KXRocm93IG5ldyBFcnJvcigiQnJvYWRjYXN0Q2hhbm5lbDogRG8gbm90IG92ZXJ3cml0ZSB3aW5kb3cuQnJvYWRjYXN0Q2hhbm5lbCB3aXRoIHRoaXMgbW9kdWxlLCB0aGlzIGlzIG5vdCBhIHBvbHlmaWxsIik7cmV0dXJuITB9ZWxzZSByZXR1cm4hMX1mdW5jdGlvbiBMdmEoKXtyZXR1cm4gMTUwfXZhciBNdmEsa3ZhLEcwdCxZMHQ9ZigoKT0+e1MwKCk7TXZhPUxsLGt2YT0ibmF0aXZlIjtzKFN2YSwiY3JlYXRlIik7cyh6dmEsImNsb3NlIik7cyhDdmEsInBvc3RNZXNzYWdlIik7cyhfdmEsIm9uTWVzc2FnZSIpO3MoVHZhLCJjYW5CZVVzZWQiKTtzKEx2YSwiYXZlcmFnZVJlc3BvbnNlVGltZSIpO0cwdD17Y3JlYXRlOlN2YSxjbG9zZTp6dmEsb25NZXNzYWdlOl92YSxwb3N0TWVzc2FnZTpDdmEsY2FuQmVVc2VkOlR2YSx0eXBlOmt2YSxhdmVyYWdlUmVzcG9uc2VUaW1lOkx2YSxtaWNyb1NlY29uZHM6TXZhfX0pO2Z1bmN0aW9uICR2YShhKXtsZXQgZT1NY2UoKS1hLnR0bCx0PWEubWFwW1N5bWJvbC5pdGVyYXRvcl0oKTtmb3IoOzspe2xldCByPXQubmV4dCgpLnZhbHVlO2lmKCFyKWJyZWFrO2xldCBpPXJbMF07aWYoclsxXTxlKWEubWFwLmRlbGV0ZShpKTtlbHNlIGJyZWFrfX1mdW5jdGlvbiBNY2UoKXtyZXR1cm4gRGF0ZS5ub3coKX12YXIgamgsa2NlPWYoKCk9PntqaD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJPYmxpdmlvdXNTZXQiKX10dGw7bWFwPW5ldyBNYXA7X3RvPSExO2NvbnN0cnVjdG9yKGUpe3RoaXMudHRsPWV9aGFzKGUpe2xldCB0PXRoaXMubWFwLmdldChlKTtyZXR1cm4gdHlwZW9mIHQ+InUiPyExOnQ8TWNlKCktdGhpcy50dGw/KHRoaXMubWFwLmRlbGV0ZShlKSwhMSk6ITB9YWRkKGUpe3RoaXMubWFwLmRlbGV0ZShlKSx0aGlzLm1hcC5zZXQoZSxNY2UoKSksdGhpcy5fdG98fCh0aGlzLl90bz0hMCxzZXRUaW1lb3V0KCgpPT57dGhpcy5fdG89ITEsJHZhKHRoaXMpfSwwKSl9Y2xlYXIoKXt0aGlzLm1hcC5jbGVhcigpfX07cygkdmEsInJlbW92ZVRvb09sZFZhbHVlcyIpO3MoTWNlLCJub3ciKX0pO2Z1bmN0aW9uIF8zKCl7dmFyIGE9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9LGU9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhKSk7cmV0dXJuIHR5cGVvZiBlLndlYldvcmtlclN1cHBvcnQ+InUiJiYoZS53ZWJXb3JrZXJTdXBwb3J0PSEwKSxlLmlkYnx8KGUuaWRiPXt9KSxlLmlkYi50dGx8fChlLmlkYi50dGw9MWUzKjQ1KSxlLmlkYi5mYWxsYmFja0ludGVydmFsfHwoZS5pZGIuZmFsbGJhY2tJbnRlcnZhbD0xNTApLGEuaWRiJiZ0eXBlb2YgYS5pZGIub25jbG9zZT09ImZ1bmN0aW9uIiYmKGUuaWRiLm9uY2xvc2U9YS5pZGIub25jbG9zZSksZS5sb2NhbHN0b3JhZ2V8fChlLmxvY2Fsc3RvcmFnZT17fSksZS5sb2NhbHN0b3JhZ2UucmVtb3ZlVGltZW91dHx8KGUubG9jYWxzdG9yYWdlLnJlbW92ZVRpbWVvdXQ9MWUzKjYwKSxhLm1ldGhvZHMmJihlLm1ldGhvZHM9YS5tZXRob2RzKSxlLm5vZGV8fChlLm5vZGU9e30pLGUubm9kZS50dGx8fChlLm5vZGUudHRsPTFlMyo2MCoyKSxlLm5vZGUubWF4UGFyYWxsZWxXcml0ZXN8fChlLm5vZGUubWF4UGFyYWxsZWxXcml0ZXM9MjA0OCksdHlwZW9mIGUubm9kZS51c2VGYXN0UGF0aD4idSImJihlLm5vZGUudXNlRmFzdFBhdGg9ITApLGV9dmFyIHdYPWYoKCk9PntzKF8zLCJmaWxsT3B0aW9uc1dpdGhEZWZhdWx0cyIpfSk7ZnVuY3Rpb24gSzB0KCl7aWYodHlwZW9mIGluZGV4ZWREQjwidSIpcmV0dXJuIGluZGV4ZWREQjtpZih0eXBlb2Ygd2luZG93PCJ1Iil7aWYodHlwZW9mIHdpbmRvdy5tb3pJbmRleGVkREI8InUiKXJldHVybiB3aW5kb3cubW96SW5kZXhlZERCO2lmKHR5cGVvZiB3aW5kb3cud2Via2l0SW5kZXhlZERCPCJ1IilyZXR1cm4gd2luZG93LndlYmtpdEluZGV4ZWREQjtpZih0eXBlb2Ygd2luZG93Lm1zSW5kZXhlZERCPCJ1IilyZXR1cm4gd2luZG93Lm1zSW5kZXhlZERCfXJldHVybiExfWZ1bmN0aW9uIE1YKGEpe2EuY29tbWl0JiZhLmNvbW1pdCgpfWZ1bmN0aW9uIEV2YShhKXt2YXIgZT1LMHQoKSx0PUF2YSthLHI9ZS5vcGVuKHQpO3JldHVybiByLm9udXBncmFkZW5lZWRlZD1mdW5jdGlvbihpKXt2YXIgbz1pLnRhcmdldC5yZXN1bHQ7by5jcmVhdGVPYmplY3RTdG9yZShwMSx7a2V5UGF0aDoiaWQiLGF1dG9JbmNyZW1lbnQ6ITB9KX0sbmV3IFByb21pc2UoZnVuY3Rpb24oaSxvKXtyLm9uZXJyb3I9ZnVuY3Rpb24obil7cmV0dXJuIG8obil9LHIub25zdWNjZXNzPWZ1bmN0aW9uKCl7aShyLnJlc3VsdCl9fSl9ZnVuY3Rpb24gSXZhKGEsZSx0KXt2YXIgcj1EYXRlLm5vdygpLGk9e3V1aWQ6ZSx0aW1lOnIsZGF0YTp0fSxvPWEudHJhbnNhY3Rpb24oW3AxXSwicmVhZHdyaXRlIixZOSk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4sbCl7by5vbmNvbXBsZXRlPWZ1bmN0aW9uKCl7cmV0dXJuIG4oKX0sby5vbmVycm9yPWZ1bmN0aW9uKGMpe3JldHVybiBsKGMpfTt2YXIgZD1vLm9iamVjdFN0b3JlKHAxKTtkLmFkZChpKSxNWChvKX0pfWZ1bmN0aW9uIE5EcihhKXt2YXIgZT1hLnRyYW5zYWN0aW9uKHAxLCJyZWFkb25seSIsWTkpLHQ9ZS5vYmplY3RTdG9yZShwMSkscj1bXTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oaSl7dC5vcGVuQ3Vyc29yKCkub25zdWNjZXNzPWZ1bmN0aW9uKG8pe3ZhciBuPW8udGFyZ2V0LnJlc3VsdDtuPyhyLnB1c2gobi52YWx1ZSksbi5jb250aW51ZSgpKTooTVgoZSksaShyKSl9fSl9ZnVuY3Rpb24gTnZhKGEsZSl7dmFyIHQ9YS50cmFuc2FjdGlvbihwMSwicmVhZG9ubHkiLFk5KSxyPXQub2JqZWN0U3RvcmUocDEpLGk9W10sbz1JREJLZXlSYW5nZS5ib3VuZChlKzEsMS8wKTtpZihyLmdldEFsbCl7dmFyIG49ci5nZXRBbGwobyk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGQsYyl7bi5vbmVycm9yPWZ1bmN0aW9uKHApe3JldHVybiBjKHApfSxuLm9uc3VjY2Vzcz1mdW5jdGlvbihwKXtkKHAudGFyZ2V0LnJlc3VsdCl9fSl9ZnVuY3Rpb24gbCgpe3RyeXtyZXR1cm4gbz1JREJLZXlSYW5nZS5ib3VuZChlKzEsMS8wKSxyLm9wZW5DdXJzb3Iobyl9Y2F0Y2h7cmV0dXJuIHIub3BlbkN1cnNvcigpfX1yZXR1cm4gcyhsLCJvcGVuQ3Vyc29yIiksbmV3IFByb21pc2UoZnVuY3Rpb24oZCxjKXt2YXIgcD1sKCk7cC5vbmVycm9yPWZ1bmN0aW9uKHUpe3JldHVybiBjKHUpfSxwLm9uc3VjY2Vzcz1mdW5jdGlvbih1KXt2YXIgbT11LnRhcmdldC5yZXN1bHQ7bT9tLnZhbHVlLmlkPGUrMT9tLmNvbnRpbnVlKGUrMSk6KGkucHVzaChtLnZhbHVlKSxtLmNvbnRpbnVlKCkpOihNWCh0KSxkKGkpKX19KX1mdW5jdGlvbiBSdmEoYSxlKXtpZihhLmNsb3NlZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTt2YXIgdD1hLmRiLnRyYW5zYWN0aW9uKHAxLCJyZWFkd3JpdGUiLFk5KSxyPXQub2JqZWN0U3RvcmUocDEpO3JldHVybiBQcm9taXNlLmFsbChlLm1hcChmdW5jdGlvbihpKXt2YXIgbz1yLmRlbGV0ZShpKTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obil7by5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXtyZXR1cm4gbigpfX0pfSkpfWZ1bmN0aW9uIE92YShhLGUpe3ZhciB0PURhdGUubm93KCktZSxyPWEudHJhbnNhY3Rpb24ocDEsInJlYWRvbmx5IixZOSksaT1yLm9iamVjdFN0b3JlKHAxKSxvPVtdO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuKXtpLm9wZW5DdXJzb3IoKS5vbnN1Y2Nlc3M9ZnVuY3Rpb24obCl7dmFyIGQ9bC50YXJnZXQucmVzdWx0O2lmKGQpe3ZhciBjPWQudmFsdWU7Yy50aW1lPHQ/KG8ucHVzaChjKSxkLmNvbnRpbnVlKCkpOihNWChyKSxuKG8pKX1lbHNlIG4obyl9fSl9ZnVuY3Rpb24gRnZhKGEpe3JldHVybiBPdmEoYS5kYixhLm9wdGlvbnMuaWRiLnR0bCkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gUnZhKGEsZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWR9KSl9KX1mdW5jdGlvbiBCdmEoYSxlKXtyZXR1cm4gZT1fMyhlKSxFdmEoYSkudGhlbihmdW5jdGlvbih0KXt2YXIgcj17Y2xvc2VkOiExLGxhc3RDdXJzb3JJZDowLGNoYW5uZWxOYW1lOmEsb3B0aW9uczplLHV1aWQ6VGwoKSxlTUlzOm5ldyBqaChlLmlkYi50dGwqMiksd3JpdGVCbG9ja1Byb21pc2U6R28sbWVzc2FnZXNDYWxsYmFjazpudWxsLHJlYWRRdWV1ZVByb21pc2VzOltdLGRiOnR9O3JldHVybiB0Lm9uY2xvc2U9ZnVuY3Rpb24oKXtyLmNsb3NlZD0hMCxlLmlkYi5vbmNsb3NlJiZlLmlkYi5vbmNsb3NlKCl9LFowdChyKSxyfSl9ZnVuY3Rpb24gWjB0KGEpe2EuY2xvc2VkfHxYMHQoYSkudGhlbihmdW5jdGlvbigpe3JldHVybiBDMihhLm9wdGlvbnMuaWRiLmZhbGxiYWNrSW50ZXJ2YWwpfSkudGhlbihmdW5jdGlvbigpe3JldHVybiBaMHQoYSl9KX1mdW5jdGlvbiBIdmEoYSxlKXtyZXR1cm4hKGEudXVpZD09PWUudXVpZHx8ZS5lTUlzLmhhcyhhLmlkKXx8YS5kYXRhLnRpbWU8ZS5tZXNzYWdlc0NhbGxiYWNrVGltZSl9ZnVuY3Rpb24gWDB0KGEpe3JldHVybiBhLmNsb3NlZD9HbzphLm1lc3NhZ2VzQ2FsbGJhY2s/TnZhKGEuZGIsYS5sYXN0Q3Vyc29ySWQpLnRoZW4oZnVuY3Rpb24oZSl7dmFyIHQ9ZS5maWx0ZXIoZnVuY3Rpb24ocil7cmV0dXJuISFyfSkubWFwKGZ1bmN0aW9uKHIpe3JldHVybiByLmlkPmEubGFzdEN1cnNvcklkJiYoYS5sYXN0Q3Vyc29ySWQ9ci5pZCkscn0pLmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4gSHZhKHIsYSl9KS5zb3J0KGZ1bmN0aW9uKHIsaSl7cmV0dXJuIHIudGltZS1pLnRpbWV9KTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHIpe2EubWVzc2FnZXNDYWxsYmFjayYmKGEuZU1Jcy5hZGQoci5pZCksYS5tZXNzYWdlc0NhbGxiYWNrKHIuZGF0YSkpfSksR299KTpHb31mdW5jdGlvbiBxdmEoYSl7YS5jbG9zZWQ9ITAsYS5kYi5jbG9zZSgpfWZ1bmN0aW9uIFZ2YShhLGUpe3JldHVybiBhLndyaXRlQmxvY2tQcm9taXNlPWEud3JpdGVCbG9ja1Byb21pc2UudGhlbihmdW5jdGlvbigpe3JldHVybiBJdmEoYS5kYixhLnV1aWQsZSl9KS50aGVuKGZ1bmN0aW9uKCl7VTB0KDAsMTApPT09MCYmRnZhKGEpfSksYS53cml0ZUJsb2NrUHJvbWlzZX1mdW5jdGlvbiBqdmEoYSxlLHQpe2EubWVzc2FnZXNDYWxsYmFja1RpbWU9dCxhLm1lc3NhZ2VzQ2FsbGJhY2s9ZSxYMHQoYSl9ZnVuY3Rpb24gVXZhKCl7cmV0dXJuISFLMHQoKX1mdW5jdGlvbiBXdmEoYSl7cmV0dXJuIGEuaWRiLmZhbGxiYWNrSW50ZXJ2YWwqMn12YXIgRHZhLEF2YSxwMSxZOSxQdmEsUTB0LEowdD1mKCgpPT57UzAoKTtrY2UoKTt3WCgpO0R2YT1MbCxBdmE9InB1YmtleS5icm9hZGNhc3QtY2hhbm5lbC0wLSIscDE9Im1lc3NhZ2VzIixZOT17ZHVyYWJpbGl0eToicmVsYXhlZCJ9LFB2YT0iaWRiIjtzKEswdCwiZ2V0SWRiIik7cyhNWCwiY29tbWl0SW5kZXhlZERCVHJhbnNhY3Rpb24iKTtzKEV2YSwiY3JlYXRlRGF0YWJhc2UiKTtzKEl2YSwid3JpdGVNZXNzYWdlIik7cyhORHIsImdldEFsbE1lc3NhZ2VzIik7cyhOdmEsImdldE1lc3NhZ2VzSGlnaGVyVGhhbiIpO3MoUnZhLCJyZW1vdmVNZXNzYWdlc0J5SWQiKTtzKE92YSwiZ2V0T2xkTWVzc2FnZXMiKTtzKEZ2YSwiY2xlYW5PbGRNZXNzYWdlcyIpO3MoQnZhLCJjcmVhdGUiKTtzKFowdCwiX3JlYWRMb29wIik7cyhIdmEsIl9maWx0ZXJNZXNzYWdlIik7cyhYMHQsInJlYWROZXdNZXNzYWdlcyIpO3MocXZhLCJjbG9zZSIpO3MoVnZhLCJwb3N0TWVzc2FnZSIpO3MoanZhLCJvbk1lc3NhZ2UiKTtzKFV2YSwiY2FuQmVVc2VkIik7cyhXdmEsImF2ZXJhZ2VSZXNwb25zZVRpbWUiKTtRMHQ9e2NyZWF0ZTpCdmEsY2xvc2U6cXZhLG9uTWVzc2FnZTpqdmEscG9zdE1lc3NhZ2U6VnZhLGNhbkJlVXNlZDpVdmEsdHlwZTpQdmEsYXZlcmFnZVJlc3BvbnNlVGltZTpXdmEsbWljcm9TZWNvbmRzOkR2YX19KTtmdW5jdGlvbiBlNHQoKXt2YXIgYTtpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4gbnVsbDt0cnl7YT13aW5kb3cubG9jYWxTdG9yYWdlLGE9d2luZG93WyJpZTgtZXZlbnRsaXN0ZW5lci9zdG9yYWdlIl18fHdpbmRvdy5sb2NhbFN0b3JhZ2V9Y2F0Y2h7fXJldHVybiBhfWZ1bmN0aW9uIHQ0dChhKXtyZXR1cm4gWXZhK2F9ZnVuY3Rpb24gWnZhKGEsZSl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQpe0MyKCkudGhlbihmdW5jdGlvbigpe3ZhciByPXQ0dChhLmNoYW5uZWxOYW1lKSxpPXt0b2tlbjpUbCgpLHRpbWU6RGF0ZS5ub3coKSxkYXRhOmUsdXVpZDphLnV1aWR9LG89SlNPTi5zdHJpbmdpZnkoaSk7ZTR0KCkuc2V0SXRlbShyLG8pO3ZhciBuPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpO24uaW5pdEV2ZW50KCJzdG9yYWdlIiwhMCwhMCksbi5rZXk9cixuLm5ld1ZhbHVlPW8sd2luZG93LmRpc3BhdGNoRXZlbnQobiksdCgpfSl9KX1mdW5jdGlvbiBYdmEoYSxlKXt2YXIgdD10NHQoYSkscj1zKGZ1bmN0aW9uKG8pe28ua2V5PT09dCYmZShKU09OLnBhcnNlKG8ubmV3VmFsdWUpKX0sImxpc3RlbmVyIik7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIixyKSxyfWZ1bmN0aW9uIFF2YShhKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIsYSl9ZnVuY3Rpb24gSnZhKGEsZSl7aWYoZT1fMyhlKSwhYTR0KCkpdGhyb3cgbmV3IEVycm9yKCJCcm9hZGNhc3RDaGFubmVsOiBsb2NhbHN0b3JhZ2UgY2Fubm90IGJlIHVzZWQiKTt2YXIgdD1UbCgpLHI9bmV3IGpoKGUubG9jYWxzdG9yYWdlLnJlbW92ZVRpbWVvdXQpLGk9e2NoYW5uZWxOYW1lOmEsdXVpZDp0LGVNSXM6cn07cmV0dXJuIGkubGlzdGVuZXI9WHZhKGEsZnVuY3Rpb24obyl7aS5tZXNzYWdlc0NhbGxiYWNrJiZvLnV1aWQhPT10JiYoIW8udG9rZW58fHIuaGFzKG8udG9rZW4pfHxvLmRhdGEudGltZSYmby5kYXRhLnRpbWU8aS5tZXNzYWdlc0NhbGxiYWNrVGltZXx8KHIuYWRkKG8udG9rZW4pLGkubWVzc2FnZXNDYWxsYmFjayhvLmRhdGEpKSl9KSxpfWZ1bmN0aW9uIGV4YShhKXtRdmEoYS5saXN0ZW5lcil9ZnVuY3Rpb24gdHhhKGEsZSx0KXthLm1lc3NhZ2VzQ2FsbGJhY2tUaW1lPXQsYS5tZXNzYWdlc0NhbGxiYWNrPWV9ZnVuY3Rpb24gYTR0KCl7dmFyIGE9ZTR0KCk7aWYoIWEpcmV0dXJuITE7dHJ5e3ZhciBlPSJfX2Jyb2FkY2FzdGNoYW5uZWxfY2hlY2siO2Euc2V0SXRlbShlLCJ3b3JrcyIpLGEucmVtb3ZlSXRlbShlKX1jYXRjaHtyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBheGEoKXt2YXIgYT0xMjAsZT1uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7cmV0dXJuIGUuaW5jbHVkZXMoInNhZmFyaSIpJiYhZS5pbmNsdWRlcygiY2hyb21lIik/YSoyOmF9dmFyIEd2YSxZdmEsS3ZhLHI0dCxzNHQ9ZigoKT0+e2tjZSgpO3dYKCk7UzAoKTtHdmE9TGwsWXZhPSJwdWJrZXkuYnJvYWRjYXN0Q2hhbm5lbC0iLEt2YT0ibG9jYWxzdG9yYWdlIjtzKGU0dCwiZ2V0TG9jYWxTdG9yYWdlIik7cyh0NHQsInN0b3JhZ2VLZXkiKTtzKFp2YSwicG9zdE1lc3NhZ2UiKTtzKFh2YSwiYWRkU3RvcmFnZUV2ZW50TGlzdGVuZXIiKTtzKFF2YSwicmVtb3ZlU3RvcmFnZUV2ZW50TGlzdGVuZXIiKTtzKEp2YSwiY3JlYXRlIik7cyhleGEsImNsb3NlIik7cyh0eGEsIm9uTWVzc2FnZSIpO3MoYTR0LCJjYW5CZVVzZWQiKTtzKGF4YSwiYXZlcmFnZVJlc3BvbnNlVGltZSIpO3I0dD17Y3JlYXRlOkp2YSxjbG9zZTpleGEsb25NZXNzYWdlOnR4YSxwb3N0TWVzc2FnZTpadmEsY2FuQmVVc2VkOmE0dCx0eXBlOkt2YSxhdmVyYWdlUmVzcG9uc2VUaW1lOmF4YSxtaWNyb1NlY29uZHM6R3ZhfX0pO2Z1bmN0aW9uIHN4YShhKXt2YXIgZT17dGltZTppNHQoKSxuYW1lOmEsbWVzc2FnZXNDYWxsYmFjazpudWxsfTtyZXR1cm4gU2NlLmFkZChlKSxlfWZ1bmN0aW9uIGl4YShhKXtTY2UuZGVsZXRlKGEpfWZ1bmN0aW9uIG94YShhLGUpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0KXtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciByPUFycmF5LmZyb20oU2NlKTtyLmZvckVhY2goZnVuY3Rpb24oaSl7aS5uYW1lPT09YS5uYW1lJiZpIT09YSYmaS5tZXNzYWdlc0NhbGxiYWNrJiZpLnRpbWU8ZS50aW1lJiZpLm1lc3NhZ2VzQ2FsbGJhY2soZSl9KSx0KCl9LG80dCl9KX1mdW5jdGlvbiBueGEoYSxlKXthLm1lc3NhZ2VzQ2FsbGJhY2s9ZX1mdW5jdGlvbiBseGEoKXtyZXR1cm4hMH1mdW5jdGlvbiBjeGEoKXtyZXR1cm4gbzR0fXZhciBpNHQscnhhLFNjZSxvNHQsbjR0LGw0dD1mKCgpPT57UzAoKTtpNHQ9TGwscnhhPSJzaW11bGF0ZSIsU2NlPW5ldyBTZXQ7cyhzeGEsImNyZWF0ZSIpO3MoaXhhLCJjbG9zZSIpO280dD01O3Mob3hhLCJwb3N0TWVzc2FnZSIpO3MobnhhLCJvbk1lc3NhZ2UiKTtzKGx4YSwiY2FuQmVVc2VkIik7cyhjeGEsImF2ZXJhZ2VSZXNwb25zZVRpbWUiKTtuNHQ9e2NyZWF0ZTpzeGEsY2xvc2U6aXhhLG9uTWVzc2FnZTpueGEscG9zdE1lc3NhZ2U6b3hhLGNhbkJlVXNlZDpseGEsdHlwZTpyeGEsYXZlcmFnZVJlc3BvbnNlVGltZTpjeGEsbWljcm9TZWNvbmRzOmk0dH19KTtmdW5jdGlvbiB6Y2UoYSl7dmFyIGU9W10uY29uY2F0KGEubWV0aG9kcyxjNHQpLmZpbHRlcihCb29sZWFuKTtpZihhLnR5cGUpe2lmKGEudHlwZT09PSJzaW11bGF0ZSIpcmV0dXJuIG40dDt2YXIgdD1lLmZpbmQoZnVuY3Rpb24oaSl7cmV0dXJuIGkudHlwZT09PWEudHlwZX0pO2lmKHQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJtZXRob2QtdHlwZSAiK2EudHlwZSsiIG5vdCBmb3VuZCIpfWEud2ViV29ya2VyU3VwcG9ydHx8KGU9ZS5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIGkudHlwZSE9PSJpZGIifSkpO3ZhciByPWUuZmluZChmdW5jdGlvbihpKXtyZXR1cm4gaS5jYW5CZVVzZWQoKX0pO2lmKHIpcmV0dXJuIHI7dGhyb3cgbmV3IEVycm9yKCJObyB1c2FibGUgbWV0aG9kIGZvdW5kIGluICIrSlNPTi5zdHJpbmdpZnkoYzR0Lm1hcChmdW5jdGlvbihpKXtyZXR1cm4gaS50eXBlfSkpKX12YXIgYzR0LGQ0dD1mKCgpPT57WTB0KCk7SjB0KCk7czR0KCk7bDR0KCk7YzR0PVtHMHQsUTB0LHI0dF07cyh6Y2UsImNob29zZU1ldGhvZCIpfSk7ZnVuY3Rpb24gdXhhKGEpe2E9XzMoYSk7dmFyIGU9emNlKGEpO3JldHVybiBlLnR5cGU9PT0ibm9kZSI/ZS5jbGVhck5vZGVGb2xkZXIoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuITB9KTpWMHR9ZnVuY3Rpb24gcHhhKGEpe0NjZT1hfWZ1bmN0aW9uIHU0dChhLGUsdCl7dmFyIHI9YS5tZXRob2QubWljcm9TZWNvbmRzKCksaT17dGltZTpyLHR5cGU6ZSxkYXRhOnR9LG89YS5fcHJlcFA/YS5fcHJlcFA6R287cmV0dXJuIG8udGhlbihmdW5jdGlvbigpe3ZhciBuPWEubWV0aG9kLnBvc3RNZXNzYWdlKGEuX3N0YXRlLGkpO3JldHVybiBhLl91TVAuYWRkKG4pLG4uY2F0Y2goKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGEuX3VNUC5kZWxldGUobil9KSxufSl9ZnVuY3Rpb24gZnhhKGEpe3ZhciBlPWEubWV0aG9kLmNyZWF0ZShhLm5hbWUsYS5vcHRpb25zKTtxMHQoZSk/KGEuX3ByZXBQPWUsZS50aGVuKGZ1bmN0aW9uKHQpe2EuX3N0YXRlPXR9KSk6YS5fc3RhdGU9ZX1mdW5jdGlvbiBwNHQoYSl7cmV0dXJuIGEuX2FkZEVMLm1lc3NhZ2UubGVuZ3RoPjB8fGEuX2FkZEVMLmludGVybmFsLmxlbmd0aD4wfWZ1bmN0aW9uIGY0dChhLGUsdCl7YS5fYWRkRUxbZV0ucHVzaCh0KSxoeGEoYSl9ZnVuY3Rpb24gaDR0KGEsZSx0KXthLl9hZGRFTFtlXT1hLl9hZGRFTFtlXS5maWx0ZXIoZnVuY3Rpb24ocil7cmV0dXJuIHIhPT10fSksbXhhKGEpfWZ1bmN0aW9uIGh4YShhKXtpZighYS5faUwmJnA0dChhKSl7dmFyIGU9cyhmdW5jdGlvbihpKXthLl9hZGRFTFtpLnR5cGVdLmZvckVhY2goZnVuY3Rpb24obyl7aS50aW1lPj1vLnRpbWUmJm8uZm4oaS5kYXRhKX0pfSwibGlzdGVuZXJGbiIpLHQ9YS5tZXRob2QubWljcm9TZWNvbmRzKCk7YS5fcHJlcFA/YS5fcHJlcFAudGhlbihmdW5jdGlvbigpe2EuX2lMPSEwLGEubWV0aG9kLm9uTWVzc2FnZShhLl9zdGF0ZSxlLHQpfSk6KGEuX2lMPSEwLGEubWV0aG9kLm9uTWVzc2FnZShhLl9zdGF0ZSxlLHQpKX19ZnVuY3Rpb24gbXhhKGEpe2lmKGEuX2lMJiYhcDR0KGEpKXthLl9pTD0hMTt2YXIgZT1hLm1ldGhvZC5taWNyb1NlY29uZHMoKTthLm1ldGhvZC5vbk1lc3NhZ2UoYS5fc3RhdGUsbnVsbCxlKX19dmFyIF9jZSxkeGEsVDMsQ2NlLG00dD1mKCgpPT57UzAoKTtkNHQoKTt3WCgpO19jZT1uZXcgU2V0LGR4YT0wLFQzPXMoZnVuY3Rpb24oZSx0KXt0aGlzLmlkPWR4YSsrLF9jZS5hZGQodGhpcyksdGhpcy5uYW1lPWUsQ2NlJiYodD1DY2UpLHRoaXMub3B0aW9ucz1fMyh0KSx0aGlzLm1ldGhvZD16Y2UodGhpcy5vcHRpb25zKSx0aGlzLl9pTD0hMSx0aGlzLl9vbk1MPW51bGwsdGhpcy5fYWRkRUw9e21lc3NhZ2U6W10saW50ZXJuYWw6W119LHRoaXMuX3VNUD1uZXcgU2V0LHRoaXMuX2JlZkM9W10sdGhpcy5fcHJlcFA9bnVsbCxmeGEodGhpcyl9LCJCcm9hZGNhc3RDaGFubmVsIik7VDMuX3B1YmtleT0hMDtzKHV4YSwiY2xlYXJOb2RlRm9sZGVyIik7cyhweGEsImVuZm9yY2VPcHRpb25zIiksVDMucHJvdG90eXBlPXtwb3N0TWVzc2FnZTpzKGZ1bmN0aW9uKGUpe2lmKHRoaXMuY2xvc2VkKXRocm93IG5ldyBFcnJvcigiQnJvYWRjYXN0Q2hhbm5lbC5wb3N0TWVzc2FnZSgpOiBDYW5ub3QgcG9zdCBtZXNzYWdlIGFmdGVyIGNoYW5uZWwgaGFzIGNsb3NlZCAiK0pTT04uc3RyaW5naWZ5KGUpKTtyZXR1cm4gdTR0KHRoaXMsIm1lc3NhZ2UiLGUpfSwicG9zdE1lc3NhZ2UiKSxwb3N0SW50ZXJuYWw6cyhmdW5jdGlvbihlKXtyZXR1cm4gdTR0KHRoaXMsImludGVybmFsIixlKX0sInBvc3RJbnRlcm5hbCIpLHNldCBvbm1lc3NhZ2UoYSl7dmFyIGU9dGhpcy5tZXRob2QubWljcm9TZWNvbmRzKCksdD17dGltZTplLGZuOmF9O2g0dCh0aGlzLCJtZXNzYWdlIix0aGlzLl9vbk1MKSxhJiZ0eXBlb2YgYT09ImZ1bmN0aW9uIj8odGhpcy5fb25NTD10LGY0dCh0aGlzLCJtZXNzYWdlIix0KSk6dGhpcy5fb25NTD1udWxsfSxhZGRFdmVudExpc3RlbmVyOnMoZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLm1ldGhvZC5taWNyb1NlY29uZHMoKSxpPXt0aW1lOnIsZm46dH07ZjR0KHRoaXMsZSxpKX0sImFkZEV2ZW50TGlzdGVuZXIiKSxyZW1vdmVFdmVudExpc3RlbmVyOnMoZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLl9hZGRFTFtlXS5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmZuPT09dH0pO2g0dCh0aGlzLGUscil9LCJyZW1vdmVFdmVudExpc3RlbmVyIiksY2xvc2U6cyhmdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoIXRoaXMuY2xvc2VkKXtfY2UuZGVsZXRlKHRoaXMpLHRoaXMuY2xvc2VkPSEwO3ZhciB0PXRoaXMuX3ByZXBQP3RoaXMuX3ByZXBQOkdvO3JldHVybiB0aGlzLl9vbk1MPW51bGwsdGhpcy5fYWRkRUwubWVzc2FnZT1bXSx0LnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5hbGwoQXJyYXkuZnJvbShlLl91TVApKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5fYmVmQy5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIoKX0pKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZS5tZXRob2QuY2xvc2UoZS5fc3RhdGUpfSl9fSwiY2xvc2UiKSxnZXQgdHlwZSgpe3JldHVybiB0aGlzLm1ldGhvZC50eXBlfSxnZXQgaXNDbG9zZWQoKXtyZXR1cm4gdGhpcy5jbG9zZWR9fTtzKHU0dCwiX3Bvc3QiKTtzKGZ4YSwiX3ByZXBhcmVDaGFubmVsIik7cyhwNHQsIl9oYXNNZXNzYWdlTGlzdGVuZXJzIik7cyhmNHQsIl9hZGRMaXN0ZW5lck9iamVjdCIpO3MoaDR0LCJfcmVtb3ZlTGlzdGVuZXJPYmplY3QiKTtzKGh4YSwiX3N0YXJ0TGlzdGVuaW5nIik7cyhteGEsIl9zdG9wTGlzdGVuaW5nIil9KTtmdW5jdGlvbiBnNHQoYSl7aWYodHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlPT0iZnVuY3Rpb24iJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGUpe3ZhciBlPXNlbGYuY2xvc2UuYmluZChzZWxmKTtzZWxmLmNsb3NlPWZ1bmN0aW9uKCl7cmV0dXJuIGEoKSxlKCl9fWVsc2V7aWYodHlwZW9mIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyIT0iZnVuY3Rpb24iKXJldHVybjt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixmdW5jdGlvbigpe2EoKX0sITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLGZ1bmN0aW9uKCl7YSgpfSwhMCl9fXZhciBiNHQ9ZigoKT0+e3MoZzR0LCJhZGRCcm93c2VyIil9KTtmdW5jdGlvbiB2NHQoYSl7cHJvY2Vzcy5vbigiZXhpdCIsZnVuY3Rpb24oKXtyZXR1cm4gYSgpfSkscHJvY2Vzcy5vbigiYmVmb3JlRXhpdCIsZnVuY3Rpb24oKXtyZXR1cm4gYSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcHJvY2Vzcy5leGl0KCl9KX0pLHByb2Nlc3Mub24oIlNJR0lOVCIsZnVuY3Rpb24oKXtyZXR1cm4gYSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcHJvY2Vzcy5leGl0KCl9KX0pLHByb2Nlc3Mub24oInVuY2F1Z2h0RXhjZXB0aW9uIixmdW5jdGlvbihlKXtyZXR1cm4gYSgpLnRoZW4oZnVuY3Rpb24oKXtjb25zb2xlLnRyYWNlKGUpLHByb2Nlc3MuZXhpdCgxMDEpfSl9KX12YXIgeDR0PWYoKCk9PntzKHY0dCwiYWRkTm9kZSIpfSk7ZnVuY3Rpb24gdnhhKCl7eTR0fHwoeTR0PSEwLGJ4YSh4eGEpKX1mdW5jdGlvbiB3NHQoYSl7aWYodnhhKCksdHlwZW9mIGEhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IEVycm9yKCJMaXN0ZW5lciBpcyBubyBmdW5jdGlvbiIpO0wzLmFkZChhKTt2YXIgZT17cmVtb3ZlOnMoZnVuY3Rpb24oKXtyZXR1cm4gTDMuZGVsZXRlKGEpfSwicmVtb3ZlIikscnVuOnMoZnVuY3Rpb24oKXtyZXR1cm4gTDMuZGVsZXRlKGEpLGEoKX0sInJ1biIpfTtyZXR1cm4gZX1mdW5jdGlvbiB4eGEoKXt2YXIgYT1bXTtyZXR1cm4gTDMuZm9yRWFjaChmdW5jdGlvbihlKXthLnB1c2goZSgpKSxMMy5kZWxldGUoZSl9KSxQcm9taXNlLmFsbChhKX1mdW5jdGlvbiBkQXIoKXtMMy5jbGVhcigpfWZ1bmN0aW9uIHVBcigpe3JldHVybiBMMy5zaXplfXZhciBneGEsYnhhLEwzLHk0dCxNNHQ9ZigoKT0+e2I0dCgpO3g0dCgpO2d4YT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodHlwZW9mIHByb2Nlc3M8InUiP3Byb2Nlc3M6MCk9PT0iW29iamVjdCBwcm9jZXNzXSIsYnhhPWd4YT92NHQ6ZzR0LEwzPW5ldyBTZXQseTR0PSExO3ModnhhLCJzdGFydExpc3RlbmluZyIpO3ModzR0LCJhZGQiKTtzKHh4YSwicnVuQWxsIik7cyhkQXIsInJlbW92ZUFsbCIpO3ModUFyLCJnZXRTaXplIil9KTtmdW5jdGlvbiAkbChhLGUpe3ZhciB0PXtjb250ZXh0OiJsZWFkZXIiLGFjdGlvbjplLHRva2VuOmEudG9rZW59O3JldHVybiBhLmJyb2FkY2FzdENoYW5uZWwucG9zdEludGVybmFsKHQpfWZ1bmN0aW9uIEs5KGEpe2EuaXNMZWFkZXI9ITAsYS5faGFzTGVhZGVyPSEwO3ZhciBlPXc0dChmdW5jdGlvbigpe3JldHVybiBhLmRpZSgpfSk7YS5fdW5sLnB1c2goZSk7dmFyIHQ9cyhmdW5jdGlvbihpKXtpLmNvbnRleHQ9PT0ibGVhZGVyIiYmaS5hY3Rpb249PT0iYXBwbHkiJiYkbChhLCJ0ZWxsIiksaS5jb250ZXh0PT09ImxlYWRlciImJmkuYWN0aW9uPT09InRlbGwiJiYhYS5fZHBMQyYmKGEuX2RwTEM9ITAsYS5fZHBMKCksJGwoYSwidGVsbCIpKX0sImlzTGVhZGVyTGlzdGVuZXIiKTtyZXR1cm4gYS5icm9hZGNhc3RDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoImludGVybmFsIix0KSxhLl9sc3Rucy5wdXNoKHQpLCRsKGEsInRlbGwiKX12YXIga1g9ZigoKT0+e000dCgpO3MoJGwsInNlbmRMZWFkZXJNZXNzYWdlIik7cyhLOSwiYmVMZWFkZXIiKX0pO3ZhciBUY2UsazR0LFM0dD1mKCgpPT57UzAoKTtrWCgpO1RjZT1zKGZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpczt0aGlzLmJyb2FkY2FzdENoYW5uZWw9ZSxlLl9iZWZDLnB1c2goZnVuY3Rpb24oKXtyZXR1cm4gci5kaWUoKX0pLHRoaXMuX29wdGlvbnM9dCx0aGlzLmlzTGVhZGVyPSExLHRoaXMuaXNEZWFkPSExLHRoaXMudG9rZW49VGwoKSx0aGlzLl9sc3Rucz1bXSx0aGlzLl91bmw9W10sdGhpcy5fZHBMPWZ1bmN0aW9uKCl7fSx0aGlzLl9kcExDPSExLHRoaXMuX3dLTUM9e30sdGhpcy5sTj0icHVia2V5LWJjfHwiK2UubWV0aG9kLnR5cGUrInx8IitlLm5hbWV9LCJMZWFkZXJFbGVjdGlvbldlYkxvY2siKSxrNHQ9IkxlYWRlckVsZWN0aW9uV2ViTG9jay5kaWUoKSBjYWxsZWQiO1RjZS5wcm90b3R5cGU9e2hhc0xlYWRlcjpzKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gbmF2aWdhdG9yLmxvY2tzLnF1ZXJ5KCkudGhlbihmdW5jdGlvbih0KXt2YXIgcj10LmhlbGQ/dC5oZWxkLmZpbHRlcihmdW5jdGlvbihpKXtyZXR1cm4gaS5uYW1lPT09ZS5sTn0pOltdO3JldHVybiEhKHImJnIubGVuZ3RoPjApfSl9LCJoYXNMZWFkZXIiKSxhd2FpdExlYWRlcnNoaXA6cyhmdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoIXRoaXMuX3dMTVApe3RoaXMuX3dLTUMuYz1uZXcgQWJvcnRDb250cm9sbGVyO3ZhciB0PW5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsaSl7ZS5fd0tNQy5yZXM9cixlLl93S01DLnJlaj1pfSk7dGhpcy5fd0xNUD1uZXcgUHJvbWlzZShmdW5jdGlvbihyLGkpe25hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0KGUubE4se3NpZ25hbDplLl93S01DLmMuc2lnbmFsfSxmdW5jdGlvbigpe3JldHVybiBlLl93S01DLmM9dm9pZCAwLEs5KGUpLHIoKSx0fSkuY2F0Y2goZnVuY3Rpb24obyl7by5tZXNzYWdlJiZvLm1lc3NhZ2U9PT1rNHR8fChlLl93S01DLnJlaiYmZS5fd0tNQy5yZWoobyksaShvKSl9KX0pfXJldHVybiB0aGlzLl93TE1QfSwiYXdhaXRMZWFkZXJzaGlwIiksc2V0IG9uZHVwbGljYXRlKGEpe30sZGllOnMoZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiB0aGlzLl9sc3Rucy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiBlLmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLHQpfSksdGhpcy5fbHN0bnM9W10sdGhpcy5fdW5sLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHQucmVtb3ZlKCl9KSx0aGlzLl91bmw9W10sdGhpcy5pc0xlYWRlciYmKHRoaXMuaXNMZWFkZXI9ITEpLHRoaXMuaXNEZWFkPSEwLHRoaXMuX3dLTUMucmVzJiZ0aGlzLl93S01DLnJlcygpLHRoaXMuX3dLTUMuYyYmdGhpcy5fd0tNQy5jLmFib3J0KG5ldyBFcnJvcihrNHQpKSwkbCh0aGlzLCJkZWF0aCIpfSwiZGllIil9fSk7ZnVuY3Rpb24geXhhKGEpe3JldHVybiBhLmlzTGVhZGVyP0dvOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3ZhciB0PSExO2Z1bmN0aW9uIHIoKXt0fHwodD0hMCxhLmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLG8pLGUoITApKX1zKHIsImZpbmlzaCIpLGEuYXBwbHlPbmNlKCkudGhlbihmdW5jdGlvbigpe2EuaXNMZWFkZXImJnIoKX0pO3ZhciBpPXMoZnVuY3Rpb24oKXtyZXR1cm4gQzIoYS5fb3B0aW9ucy5mYWxsYmFja0ludGVydmFsKS50aGVuKGZ1bmN0aW9uKCl7aWYoIShhLmlzRGVhZHx8dCkpaWYoYS5pc0xlYWRlcilyKCk7ZWxzZSByZXR1cm4gYS5hcHBseU9uY2UoITApLnRoZW4oZnVuY3Rpb24oKXthLmlzTGVhZGVyP3IoKTppKCl9KX0pfSwidHJ5T25GYWxsQmFjayIpO2koKTt2YXIgbz1zKGZ1bmN0aW9uKGwpe2wuY29udGV4dD09PSJsZWFkZXIiJiZsLmFjdGlvbj09PSJkZWF0aCImJihhLl9oYXNMZWFkZXI9ITEsYS5hcHBseU9uY2UoKS50aGVuKGZ1bmN0aW9uKCl7YS5pc0xlYWRlciYmcigpfSkpfSwid2hlbkRlYXRoTGlzdGVuZXIiKTthLmJyb2FkY2FzdENoYW5uZWwuYWRkRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLG8pLGEuX2xzdG5zLnB1c2gobyl9KX1mdW5jdGlvbiB3eGEoYSxlKXtyZXR1cm4gYXx8KGE9e30pLGE9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhKSksYS5mYWxsYmFja0ludGVydmFsfHwoYS5mYWxsYmFja0ludGVydmFsPTNlMyksYS5yZXNwb25zZVRpbWV8fChhLnJlc3BvbnNlVGltZT1lLm1ldGhvZC5hdmVyYWdlUmVzcG9uc2VUaW1lKGUub3B0aW9ucykpLGF9ZnVuY3Rpb24gTXhhKGEsZSl7aWYoYS5fbGVhZGVyRWxlY3Rvcil0aHJvdyBuZXcgRXJyb3IoIkJyb2FkY2FzdENoYW5uZWwgYWxyZWFkeSBoYXMgYSBsZWFkZXItZWxlY3RvciIpO2U9d3hhKGUsYSk7dmFyIHQ9VzB0KCk/bmV3IFRjZShhLGUpOm5ldyB6NHQoYSxlKTtyZXR1cm4gYS5fYmVmQy5wdXNoKGZ1bmN0aW9uKCl7cmV0dXJuIHQuZGllKCl9KSxhLl9sZWFkZXJFbGVjdG9yPXQsdH12YXIgejR0LEM0dD1mKCgpPT57UzAoKTtrWCgpO1M0dCgpO3o0dD1zKGZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpczt0aGlzLmJyb2FkY2FzdENoYW5uZWw9ZSx0aGlzLl9vcHRpb25zPXQsdGhpcy5pc0xlYWRlcj0hMSx0aGlzLl9oYXNMZWFkZXI9ITEsdGhpcy5pc0RlYWQ9ITEsdGhpcy50b2tlbj1UbCgpLHRoaXMuX2FwbFE9R28sdGhpcy5fYXBsUUM9MCx0aGlzLl91bmw9W10sdGhpcy5fbHN0bnM9W10sdGhpcy5fZHBMPWZ1bmN0aW9uKCl7fSx0aGlzLl9kcExDPSExO3ZhciBpPXMoZnVuY3Rpb24obil7bi5jb250ZXh0PT09ImxlYWRlciImJihuLmFjdGlvbj09PSJkZWF0aCImJihyLl9oYXNMZWFkZXI9ITEpLG4uYWN0aW9uPT09InRlbGwiJiYoci5faGFzTGVhZGVyPSEwKSl9LCJoYXNMZWFkZXJMaXN0ZW5lciIpO3RoaXMuYnJvYWRjYXN0Q2hhbm5lbC5hZGRFdmVudExpc3RlbmVyKCJpbnRlcm5hbCIsaSksdGhpcy5fbHN0bnMucHVzaChpKX0sIkxlYWRlckVsZWN0aW9uIik7ejR0LnByb3RvdHlwZT17aGFzTGVhZGVyOnMoZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2hhc0xlYWRlcil9LCJoYXNMZWFkZXIiKSxhcHBseU9uY2U6cyhmdW5jdGlvbihlKXt2YXIgdD10aGlzO2lmKHRoaXMuaXNMZWFkZXIpcmV0dXJuIEMyKDAsITApO2lmKHRoaXMuaXNEZWFkKXJldHVybiBDMigwLCExKTtpZih0aGlzLl9hcGxRQz4xKXJldHVybiB0aGlzLl9hcGxRO3ZhciByPXMoZnVuY3Rpb24oKXtpZih0LmlzTGVhZGVyKXJldHVybiBqMHQ7dmFyIG89ITEsbixsPW5ldyBQcm9taXNlKGZ1bmN0aW9uKHApe249cyhmdW5jdGlvbigpe289ITAscCgpfSwic3RvcENyaXRlcmlhUHJvbWlzZVJlc29sdmUiKX0pLGQ9cyhmdW5jdGlvbih1KXt1LmNvbnRleHQ9PT0ibGVhZGVyIiYmdS50b2tlbiE9dC50b2tlbiYmKHUuYWN0aW9uPT09ImFwcGx5IiYmdS50b2tlbj50LnRva2VuJiZuKCksdS5hY3Rpb249PT0idGVsbCImJihuKCksdC5faGFzTGVhZGVyPSEwKSl9LCJoYW5kbGVNZXNzYWdlIik7dC5icm9hZGNhc3RDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoImludGVybmFsIixkKTt2YXIgYz1lP3QuX29wdGlvbnMucmVzcG9uc2VUaW1lKjQ6dC5fb3B0aW9ucy5yZXNwb25zZVRpbWU7cmV0dXJuICRsKHQsImFwcGx5IikudGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJhY2UoW0MyKGMpLGwudGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IpfSldKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gJGwodCwiYXBwbHkiKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yYWNlKFtDMihjKSxsLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKX0pXSl9KS5jYXRjaChmdW5jdGlvbigpe30pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gdC5icm9hZGNhc3RDaGFubmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImludGVybmFsIixkKSxvPyExOks5KHQpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pfSl9LCJhcHBseVJ1biIpO3JldHVybiB0aGlzLl9hcGxRQz10aGlzLl9hcGxRQysxLHRoaXMuX2FwbFE9dGhpcy5fYXBsUS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHIoKX0pLnRoZW4oZnVuY3Rpb24oKXt0Ll9hcGxRQz10Ll9hcGxRQy0xfSksdGhpcy5fYXBsUS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHQuaXNMZWFkZXJ9KX0sImFwcGx5T25jZSIpLGF3YWl0TGVhZGVyc2hpcDpzKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FMUHx8KHRoaXMuX2FMUD15eGEodGhpcykpLHRoaXMuX2FMUH0sImF3YWl0TGVhZGVyc2hpcCIpLHNldCBvbmR1cGxpY2F0ZShhKXt0aGlzLl9kcEw9YX0sZGllOnMoZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiB0aGlzLl9sc3Rucy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiBlLmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLHQpfSksdGhpcy5fbHN0bnM9W10sdGhpcy5fdW5sLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHQucmVtb3ZlKCl9KSx0aGlzLl91bmw9W10sdGhpcy5pc0xlYWRlciYmKHRoaXMuX2hhc0xlYWRlcj0hMSx0aGlzLmlzTGVhZGVyPSExKSx0aGlzLmlzRGVhZD0hMCwkbCh0aGlzLCJkZWF0aCIpfSwiZGllIil9O3MoeXhhLCJfYXdhaXRMZWFkZXJzaGlwT25jZSIpO3Mod3hhLCJmaWxsT3B0aW9uc1dpdGhEZWZhdWx0cyIpO3MoTXhhLCJjcmVhdGVMZWFkZXJFbGVjdGlvbiIpfSk7dmFyIF80dD1mKCgpPT57bTR0KCk7QzR0KCk7a1goKX0pO3ZhciBUNHQ9ZigoKT0+e3QwKCk7aWgoKTtHOSgpO180dCgpfSk7dmFyIExjZSwkY2UsTDR0PWYoKCk9PntUNHQoKTtMY2U9Z2xvYmFsVGhpcy5Ccm9hZGNhc3RDaGFubmVsO0xjZXx8KExjZT1UMyk7JGNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRlZXNDb21tcyIpfWNvbnN0cnVjdG9yKCl7dGhpcy5icm9hZGNhc3RDaGFubmVsPW5ldyBMY2UoImRlZXMtY29tbXMiKSx0aGlzLnR5cGVkcm91dGVyPW5ldyBHci5UeXBlZFJvdXRlcix0aGlzLnR5cGVkdGFyZ2V0PW5ldyBHci5UeXBlZFRhcmdldCh7cG9zdE1ldGhvZFdpdGhUeXBlZFJvdXRlcjpzKGFzeW5jIGU9Pnt0aGlzLnBvc3RNZXNzYWdlKGUpfSwicG9zdE1ldGhvZFdpdGhUeXBlZFJvdXRlciIpLHR5cGVkUm91dGVyUmVmOnRoaXMudHlwZWRyb3V0ZXJ9KSx0aGlzLmJyb2FkY2FzdENoYW5uZWwub25tZXNzYWdlPWFzeW5jIGU9PntsZXQgdD1lLm1ldGhvZD9lOmUuZGF0YTtjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh0KSk7bGV0IHI9YXdhaXQgdGhpcy50eXBlZHJvdXRlci5yb3V0ZUFuZEFkZFJlc3BvbnNlKHQse3NraXBIb29rczohMH0pO3ImJiFyLmVycm9yJiZ0aGlzLnBvc3RNZXNzYWdlKHIpfX1jcmVhdGVUeXBlZFJlcXVlc3QoZSl7cmV0dXJuIG5ldyBHci5UeXBlZFJlcXVlc3QodGhpcy50eXBlZHRhcmdldCxlKX1hc3luYyBwb3N0TWVzc2FnZShlKXt0aGlzLmJyb2FkY2FzdENoYW5uZWwucG9zdE1lc3NhZ2UoZSl9YXN5bmMgY3JlYXRlVHlwZWRIYW5kbGVyKGUsdCl7dGhpcy50eXBlZHJvdXRlci5hZGRUeXBlZEhhbmRsZXIobmV3IEdyLlR5cGVkSGFuZGxlcihlLHQpKX19fSk7dmFyIFo5PXt9O2x0KFo5LHtEZWVzQ29tbXM6KCk9PiRjZX0pO3ZhciAkNHQ9ZigoKT0+e0w0dCgpfSk7ZnVuY3Rpb24gTGEoYSl7aWYoYSYmdHlwZW9mIGE9PSJvYmplY3QiKXN3aXRjaChhW19pXSl7Y2FzZSBrbjpjYXNlIF8yOnJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIGRhKGEpe2lmKGEmJnR5cGVvZiBhPT0ib2JqZWN0Iilzd2l0Y2goYVtfaV0pe2Nhc2UgWDk6Y2FzZSBrbjpjYXNlIF9vOmNhc2UgXzI6cmV0dXJuITB9cmV0dXJuITF9dmFyIFg5LFE5LGtuLFNYLF9vLF8yLF9pLFRvLExvLCRvLHJhLFZ0LERvLEo5LCRhPWYoKCk9PntYOT1TeW1ib2wuZm9yKCJ5YW1sLmFsaWFzIiksUTk9U3ltYm9sLmZvcigieWFtbC5kb2N1bWVudCIpLGtuPVN5bWJvbC5mb3IoInlhbWwubWFwIiksU1g9U3ltYm9sLmZvcigieWFtbC5wYWlyIiksX289U3ltYm9sLmZvcigieWFtbC5zY2FsYXIiKSxfMj1TeW1ib2wuZm9yKCJ5YW1sLnNlcSIpLF9pPVN5bWJvbC5mb3IoInlhbWwubm9kZS50eXBlIiksVG89cyhhPT4hIWEmJnR5cGVvZiBhPT0ib2JqZWN0IiYmYVtfaV09PT1YOSwiaXNBbGlhcyIpLExvPXMoYT0+ISFhJiZ0eXBlb2YgYT09Im9iamVjdCImJmFbX2ldPT09UTksImlzRG9jdW1lbnQiKSwkbz1zKGE9PiEhYSYmdHlwZW9mIGE9PSJvYmplY3QiJiZhW19pXT09PWtuLCJpc01hcCIpLHJhPXMoYT0+ISFhJiZ0eXBlb2YgYT09Im9iamVjdCImJmFbX2ldPT09U1gsImlzUGFpciIpLFZ0PXMoYT0+ISFhJiZ0eXBlb2YgYT09Im9iamVjdCImJmFbX2ldPT09X28sImlzU2NhbGFyIiksRG89cyhhPT4hIWEmJnR5cGVvZiBhPT0ib2JqZWN0IiYmYVtfaV09PT1fMiwiaXNTZXEiKTtzKExhLCJpc0NvbGxlY3Rpb24iKTtzKGRhLCJpc05vZGUiKTtKOT1zKGE9PihWdChhKXx8TGEoYSkpJiYhIWEuYW5jaG9yLCJoYXNBbmNob3IiKX0pO2Z1bmN0aW9uIFlvKGEsZSl7bGV0IHQ9QTR0KGUpO0xvKGEpP1VoKG51bGwsYS5jb250ZW50cyx0LE9iamVjdC5mcmVlemUoW2FdKSk9PT1UMiYmKGEuY29udGVudHM9bnVsbCk6VWgobnVsbCxhLHQsT2JqZWN0LmZyZWV6ZShbXSkpfWZ1bmN0aW9uIFVoKGEsZSx0LHIpe2xldCBpPVA0dChhLGUsdCxyKTtpZihkYShpKXx8cmEoaSkpcmV0dXJuIEU0dChhLHIsaSksVWgoYSxpLHQscik7aWYodHlwZW9mIGkhPSJzeW1ib2wiKXtpZihMYShlKSl7cj1PYmplY3QuZnJlZXplKHIuY29uY2F0KGUpKTtmb3IobGV0IG89MDtvPGUuaXRlbXMubGVuZ3RoOysrbyl7bGV0IG49VWgobyxlLml0ZW1zW29dLHQscik7aWYodHlwZW9mIG49PSJudW1iZXIiKW89bi0xO2Vsc2V7aWYobj09PUFvKXJldHVybiBBbztuPT09VDImJihlLml0ZW1zLnNwbGljZShvLDEpLG8tPTEpfX19ZWxzZSBpZihyYShlKSl7cj1PYmplY3QuZnJlZXplKHIuY29uY2F0KGUpKTtsZXQgbz1VaCgia2V5IixlLmtleSx0LHIpO2lmKG89PT1BbylyZXR1cm4gQW87bz09PVQyJiYoZS5rZXk9bnVsbCk7bGV0IG49VWgoInZhbHVlIixlLnZhbHVlLHQscik7aWYobj09PUFvKXJldHVybiBBbztuPT09VDImJihlLnZhbHVlPW51bGwpfX1yZXR1cm4gaX1hc3luYyBmdW5jdGlvbiAkMyhhLGUpe2xldCB0PUE0dChlKTtMbyhhKT9hd2FpdCBXaChudWxsLGEuY29udGVudHMsdCxPYmplY3QuZnJlZXplKFthXSkpPT09VDImJihhLmNvbnRlbnRzPW51bGwpOmF3YWl0IFdoKG51bGwsYSx0LE9iamVjdC5mcmVlemUoW10pKX1hc3luYyBmdW5jdGlvbiBXaChhLGUsdCxyKXtsZXQgaT1hd2FpdCBQNHQoYSxlLHQscik7aWYoZGEoaSl8fHJhKGkpKXJldHVybiBFNHQoYSxyLGkpLFdoKGEsaSx0LHIpO2lmKHR5cGVvZiBpIT0ic3ltYm9sIil7aWYoTGEoZSkpe3I9T2JqZWN0LmZyZWV6ZShyLmNvbmNhdChlKSk7Zm9yKGxldCBvPTA7bzxlLml0ZW1zLmxlbmd0aDsrK28pe2xldCBuPWF3YWl0IFdoKG8sZS5pdGVtc1tvXSx0LHIpO2lmKHR5cGVvZiBuPT0ibnVtYmVyIilvPW4tMTtlbHNle2lmKG49PT1BbylyZXR1cm4gQW87bj09PVQyJiYoZS5pdGVtcy5zcGxpY2UobywxKSxvLT0xKX19fWVsc2UgaWYocmEoZSkpe3I9T2JqZWN0LmZyZWV6ZShyLmNvbmNhdChlKSk7bGV0IG89YXdhaXQgV2goImtleSIsZS5rZXksdCxyKTtpZihvPT09QW8pcmV0dXJuIEFvO289PT1UMiYmKGUua2V5PW51bGwpO2xldCBuPWF3YWl0IFdoKCJ2YWx1ZSIsZS52YWx1ZSx0LHIpO2lmKG49PT1BbylyZXR1cm4gQW87bj09PVQyJiYoZS52YWx1ZT1udWxsKX19cmV0dXJuIGl9ZnVuY3Rpb24gQTR0KGEpe3JldHVybiB0eXBlb2YgYT09Im9iamVjdCImJihhLkNvbGxlY3Rpb258fGEuTm9kZXx8YS5WYWx1ZSk/T2JqZWN0LmFzc2lnbih7QWxpYXM6YS5Ob2RlLE1hcDphLk5vZGUsU2NhbGFyOmEuTm9kZSxTZXE6YS5Ob2RlfSxhLlZhbHVlJiZ7TWFwOmEuVmFsdWUsU2NhbGFyOmEuVmFsdWUsU2VxOmEuVmFsdWV9LGEuQ29sbGVjdGlvbiYme01hcDphLkNvbGxlY3Rpb24sU2VxOmEuQ29sbGVjdGlvbn0sYSk6YX1mdW5jdGlvbiBQNHQoYSxlLHQscil7aWYodHlwZW9mIHQ9PSJmdW5jdGlvbiIpcmV0dXJuIHQoYSxlLHIpO2lmKCRvKGUpKXJldHVybiB0Lk1hcD8uKGEsZSxyKTtpZihEbyhlKSlyZXR1cm4gdC5TZXE/LihhLGUscik7aWYocmEoZSkpcmV0dXJuIHQuUGFpcj8uKGEsZSxyKTtpZihWdChlKSlyZXR1cm4gdC5TY2FsYXI/LihhLGUscik7aWYoVG8oZSkpcmV0dXJuIHQuQWxpYXM/LihhLGUscil9ZnVuY3Rpb24gRTR0KGEsZSx0KXtsZXQgcj1lW2UubGVuZ3RoLTFdO2lmKExhKHIpKXIuaXRlbXNbYV09dDtlbHNlIGlmKHJhKHIpKWE9PT0ia2V5Ij9yLmtleT10OnIudmFsdWU9dDtlbHNlIGlmKExvKHIpKXIuY29udGVudHM9dDtlbHNle2xldCBpPVRvKHIpPyJhbGlhcyI6InNjYWxhciI7dGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmVwbGFjZSBub2RlIHdpdGggJHtpfSBwYXJlbnRgKX19dmFyIEFvLEQ0dCxUMixlZz1mKCgpPT57JGEoKTtBbz1TeW1ib2woImJyZWFrIHZpc2l0IiksRDR0PVN5bWJvbCgic2tpcCBjaGlsZHJlbiIpLFQyPVN5bWJvbCgicmVtb3ZlIG5vZGUiKTtzKFlvLCJ2aXNpdCIpLFlvLkJSRUFLPUFvLFlvLlNLSVA9RDR0LFlvLlJFTU9WRT1UMjtzKFVoLCJ2aXNpdF8iKTtzKCQzLCJ2aXNpdEFzeW5jIiksJDMuQlJFQUs9QW8sJDMuU0tJUD1ENHQsJDMuUkVNT1ZFPVQyO3MoV2gsInZpc2l0QXN5bmNfIik7cyhBNHQsImluaXRWaXNpdG9yIik7cyhQNHQsImNhbGxWaXNpdG9yIik7cyhFNHQsInJlcGxhY2VOb2RlIil9KTt2YXIgU3hhLHp4YSxmMSxEY2U9ZigoKT0+eyRhKCk7ZWcoKTtTeGE9eyIhIjoiJTIxIiwiLCI6IiUyQyIsIlsiOiIlNUIiLCJdIjoiJTVEIiwieyI6IiU3QiIsIn0iOiIlN0QifSx6eGE9cyhhPT5hLnJlcGxhY2UoL1shLFtcXXt9XS9nLGU9PlN4YVtlXSksImVzY2FwZVRhZ05hbWUiKSxmMT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRpcmVjdGl2ZXMiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuZG9jU3RhcnQ9bnVsbCx0aGlzLmRvY0VuZD0hMSx0aGlzLnlhbWw9T2JqZWN0LmFzc2lnbih7fSxhLmRlZmF1bHRZYW1sLGUpLHRoaXMudGFncz1PYmplY3QuYXNzaWduKHt9LGEuZGVmYXVsdFRhZ3MsdCl9Y2xvbmUoKXtsZXQgZT1uZXcgYSh0aGlzLnlhbWwsdGhpcy50YWdzKTtyZXR1cm4gZS5kb2NTdGFydD10aGlzLmRvY1N0YXJ0LGV9YXREb2N1bWVudCgpe2xldCBlPW5ldyBhKHRoaXMueWFtbCx0aGlzLnRhZ3MpO3N3aXRjaCh0aGlzLnlhbWwudmVyc2lvbil7Y2FzZSIxLjEiOnRoaXMuYXROZXh0RG9jdW1lbnQ9ITA7YnJlYWs7Y2FzZSIxLjIiOnRoaXMuYXROZXh0RG9jdW1lbnQ9ITEsdGhpcy55YW1sPXtleHBsaWNpdDphLmRlZmF1bHRZYW1sLmV4cGxpY2l0LHZlcnNpb246IjEuMiJ9LHRoaXMudGFncz1PYmplY3QuYXNzaWduKHt9LGEuZGVmYXVsdFRhZ3MpO2JyZWFrfXJldHVybiBlfWFkZChlLHQpe3RoaXMuYXROZXh0RG9jdW1lbnQmJih0aGlzLnlhbWw9e2V4cGxpY2l0OmEuZGVmYXVsdFlhbWwuZXhwbGljaXQsdmVyc2lvbjoiMS4xIn0sdGhpcy50YWdzPU9iamVjdC5hc3NpZ24oe30sYS5kZWZhdWx0VGFncyksdGhpcy5hdE5leHREb2N1bWVudD0hMSk7bGV0IHI9ZS50cmltKCkuc3BsaXQoL1sgXHRdKy8pLGk9ci5zaGlmdCgpO3N3aXRjaChpKXtjYXNlIiVUQUciOntpZihyLmxlbmd0aCE9PTImJih0KDAsIiVUQUcgZGlyZWN0aXZlIHNob3VsZCBjb250YWluIGV4YWN0bHkgdHdvIHBhcnRzIiksci5sZW5ndGg8MikpcmV0dXJuITE7bGV0W28sbl09cjtyZXR1cm4gdGhpcy50YWdzW29dPW4sITB9Y2FzZSIlWUFNTCI6e2lmKHRoaXMueWFtbC5leHBsaWNpdD0hMCxyLmxlbmd0aCE9PTEpcmV0dXJuIHQoMCwiJVlBTUwgZGlyZWN0aXZlIHNob3VsZCBjb250YWluIGV4YWN0bHkgb25lIHBhcnQiKSwhMTtsZXRbb109cjtpZihvPT09IjEuMSJ8fG89PT0iMS4yIilyZXR1cm4gdGhpcy55YW1sLnZlcnNpb249bywhMDt7bGV0IG49L15cZCtcLlxkKyQvLnRlc3Qobyk7cmV0dXJuIHQoNixgVW5zdXBwb3J0ZWQgWUFNTCB2ZXJzaW9uICR7b31gLG4pLCExfX1kZWZhdWx0OnJldHVybiB0KDAsYFVua25vd24gZGlyZWN0aXZlICR7aX1gLCEwKSwhMX19dGFnTmFtZShlLHQpe2lmKGU9PT0iISIpcmV0dXJuIiEiO2lmKGVbMF0hPT0iISIpcmV0dXJuIHQoYE5vdCBhIHZhbGlkIHRhZzogJHtlfWApLG51bGw7aWYoZVsxXT09PSI8Iil7bGV0IG49ZS5zbGljZSgyLC0xKTtyZXR1cm4gbj09PSIhInx8bj09PSIhISI/KHQoYFZlcmJhdGltIHRhZ3MgYXJlbid0IHJlc29sdmVkLCBzbyAke2V9IGlzIGludmFsaWQuYCksbnVsbCk6KGVbZS5sZW5ndGgtMV0hPT0iPiImJnQoIlZlcmJhdGltIHRhZ3MgbXVzdCBlbmQgd2l0aCBhID4iKSxuKX1sZXRbLHIsaV09ZS5tYXRjaCgvXiguKiEpKFteIV0qKSQvcyk7aXx8dChgVGhlICR7ZX0gdGFnIGhhcyBubyBzdWZmaXhgKTtsZXQgbz10aGlzLnRhZ3Nbcl07aWYobyl0cnl7cmV0dXJuIG8rZGVjb2RlVVJJQ29tcG9uZW50KGkpfWNhdGNoKG4pe3JldHVybiB0KFN0cmluZyhuKSksbnVsbH1yZXR1cm4gcj09PSIhIj9lOih0KGBDb3VsZCBub3QgcmVzb2x2ZSB0YWc6ICR7ZX1gKSxudWxsKX10YWdTdHJpbmcoZSl7Zm9yKGxldFt0LHJdb2YgT2JqZWN0LmVudHJpZXModGhpcy50YWdzKSlpZihlLnN0YXJ0c1dpdGgocikpcmV0dXJuIHQrenhhKGUuc3Vic3RyaW5nKHIubGVuZ3RoKSk7cmV0dXJuIGVbMF09PT0iISI/ZTpgITwke2V9PmB9dG9TdHJpbmcoZSl7bGV0IHQ9dGhpcy55YW1sLmV4cGxpY2l0P1tgJVlBTUwgJHt0aGlzLnlhbWwudmVyc2lvbnx8IjEuMiJ9YF06W10scj1PYmplY3QuZW50cmllcyh0aGlzLnRhZ3MpLGk7aWYoZSYmci5sZW5ndGg+MCYmZGEoZS5jb250ZW50cykpe2xldCBvPXt9O1lvKGUuY29udGVudHMsKG4sbCk9PntkYShsKSYmbC50YWcmJihvW2wudGFnXT0hMCl9KSxpPU9iamVjdC5rZXlzKG8pfWVsc2UgaT1bXTtmb3IobGV0W28sbl1vZiByKW89PT0iISEiJiZuPT09InRhZzp5YW1sLm9yZywyMDAyOiJ8fCghZXx8aS5zb21lKGw9Pmwuc3RhcnRzV2l0aChuKSkpJiZ0LnB1c2goYCVUQUcgJHtvfSAke259YCk7cmV0dXJuIHQuam9pbihgCmApfX07ZjEuZGVmYXVsdFlhbWw9e2V4cGxpY2l0OiExLHZlcnNpb246IjEuMiJ9LGYxLmRlZmF1bHRUYWdzPXsiISEiOiJ0YWc6eWFtbC5vcmcsMjAwMjoifX0pO2Z1bmN0aW9uIHRnKGEpe2lmKC9bXHgwMC1ceDE5XHMsW1xde31dLy50ZXN0KGEpKXtsZXQgdD1gQW5jaG9yIG11c3Qgbm90IGNvbnRhaW4gd2hpdGVzcGFjZSBvciBjb250cm9sIGNoYXJhY3RlcnM6ICR7SlNPTi5zdHJpbmdpZnkoYSl9YDt0aHJvdyBuZXcgRXJyb3IodCl9cmV0dXJuITB9ZnVuY3Rpb24gelgoYSl7bGV0IGU9bmV3IFNldDtyZXR1cm4gWW8oYSx7VmFsdWUodCxyKXtyLmFuY2hvciYmZS5hZGQoci5hbmNob3IpfX0pLGV9ZnVuY3Rpb24gQ1goYSxlKXtmb3IobGV0IHQ9MTs7Kyt0KXtsZXQgcj1gJHthfSR7dH1gO2lmKCFlLmhhcyhyKSlyZXR1cm4gcn19ZnVuY3Rpb24gQWNlKGEsZSl7bGV0IHQ9W10scj1uZXcgTWFwLGk9bnVsbDtyZXR1cm57b25BbmNob3I6cyhvPT57dC5wdXNoKG8pLGk/PyhpPXpYKGEpKTtsZXQgbj1DWChlLGkpO3JldHVybiBpLmFkZChuKSxufSwib25BbmNob3IiKSxzZXRBbmNob3JzOnMoKCk9Pntmb3IobGV0IG8gb2YgdCl7bGV0IG49ci5nZXQobyk7aWYodHlwZW9mIG49PSJvYmplY3QiJiZuLmFuY2hvciYmKFZ0KG4ubm9kZSl8fExhKG4ubm9kZSkpKW4ubm9kZS5hbmNob3I9bi5hbmNob3I7ZWxzZXtsZXQgbD1uZXcgRXJyb3IoIkZhaWxlZCB0byByZXNvbHZlIHJlcGVhdGVkIG9iamVjdCAodGhpcyBzaG91bGQgbm90IGhhcHBlbikiKTt0aHJvdyBsLnNvdXJjZT1vLGx9fX0sInNldEFuY2hvcnMiKSxzb3VyY2VPYmplY3RzOnJ9fXZhciBfWD1mKCgpPT57JGEoKTtlZygpO3ModGcsImFuY2hvcklzVmFsaWQiKTtzKHpYLCJhbmNob3JOYW1lcyIpO3MoQ1gsImZpbmROZXdBbmNob3IiKTtzKEFjZSwiY3JlYXRlTm9kZUFuY2hvcnMiKX0pO2Z1bmN0aW9uIERsKGEsZSx0LHIpe2lmKHImJnR5cGVvZiByPT0ib2JqZWN0IilpZihBcnJheS5pc0FycmF5KHIpKWZvcihsZXQgaT0wLG89ci5sZW5ndGg7aTxvOysraSl7bGV0IG49cltpXSxsPURsKGEscixTdHJpbmcoaSksbik7bD09PXZvaWQgMD9kZWxldGUgcltpXTpsIT09biYmKHJbaV09bCl9ZWxzZSBpZihyIGluc3RhbmNlb2YgTWFwKWZvcihsZXQgaSBvZiBBcnJheS5mcm9tKHIua2V5cygpKSl7bGV0IG89ci5nZXQoaSksbj1EbChhLHIsaSxvKTtuPT09dm9pZCAwP3IuZGVsZXRlKGkpOm4hPT1vJiZyLnNldChpLG4pfWVsc2UgaWYociBpbnN0YW5jZW9mIFNldClmb3IobGV0IGkgb2YgQXJyYXkuZnJvbShyKSl7bGV0IG89RGwoYSxyLGksaSk7bz09PXZvaWQgMD9yLmRlbGV0ZShpKTpvIT09aSYmKHIuZGVsZXRlKGkpLHIuYWRkKG8pKX1lbHNlIGZvcihsZXRbaSxvXW9mIE9iamVjdC5lbnRyaWVzKHIpKXtsZXQgbj1EbChhLHIsaSxvKTtuPT09dm9pZCAwP2RlbGV0ZSByW2ldOm4hPT1vJiYocltpXT1uKX1yZXR1cm4gYS5jYWxsKGUsdCxyKX12YXIgUGNlPWYoKCk9PntzKERsLCJhcHBseVJldml2ZXIiKX0pO2Z1bmN0aW9uIHVzKGEsZSx0KXtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBhLm1hcCgocixpKT0+dXMocixTdHJpbmcoaSksdCkpO2lmKGEmJnR5cGVvZiBhLnRvSlNPTj09ImZ1bmN0aW9uIil7aWYoIXR8fCFKOShhKSlyZXR1cm4gYS50b0pTT04oZSx0KTtsZXQgcj17YWxpYXNDb3VudDowLGNvdW50OjEscmVzOnZvaWQgMH07dC5hbmNob3JzLnNldChhLHIpLHQub25DcmVhdGU9bz0+e3IucmVzPW8sZGVsZXRlIHQub25DcmVhdGV9O2xldCBpPWEudG9KU09OKGUsdCk7cmV0dXJuIHQub25DcmVhdGUmJnQub25DcmVhdGUoaSksaX1yZXR1cm4gdHlwZW9mIGE9PSJiaWdpbnQiJiYhdD8ua2VlcD9OdW1iZXIoYSk6YX12YXIgejA9ZigoKT0+eyRhKCk7cyh1cywidG9KUyIpfSk7dmFyIEFsLFRYPWYoKCk9PntQY2UoKTskYSgpO3owKCk7QWw9Y2xhc3N7c3RhdGlje3ModGhpcywiTm9kZUJhc2UiKX1jb25zdHJ1Y3RvcihlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxfaSx7dmFsdWU6ZX0pfWNsb25lKCl7bGV0IGU9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyksT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModGhpcykpO3JldHVybiB0aGlzLnJhbmdlJiYoZS5yYW5nZT10aGlzLnJhbmdlLnNsaWNlKCkpLGV9dG9KUyhlLHttYXBBc01hcDp0LG1heEFsaWFzQ291bnQ6cixvbkFuY2hvcjppLHJldml2ZXI6b309e30pe2lmKCFMbyhlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBIGRvY3VtZW50IGFyZ3VtZW50IGlzIHJlcXVpcmVkIik7bGV0IG49e2FuY2hvcnM6bmV3IE1hcCxkb2M6ZSxrZWVwOiEwLG1hcEFzTWFwOnQ9PT0hMCxtYXBLZXlXYXJuZWQ6ITEsbWF4QWxpYXNDb3VudDp0eXBlb2Ygcj09Im51bWJlciI/cjoxMDB9LGw9dXModGhpcywiIixuKTtpZih0eXBlb2YgaT09ImZ1bmN0aW9uIilmb3IobGV0e2NvdW50OmQscmVzOmN9b2Ygbi5hbmNob3JzLnZhbHVlcygpKWkoYyxkKTtyZXR1cm4gdHlwZW9mIG89PSJmdW5jdGlvbiI/RGwobyx7IiI6bH0sIiIsbCk6bH19fSk7ZnVuY3Rpb24gTFgoYSxlLHQpe2lmKFRvKGUpKXtsZXQgcj1lLnJlc29sdmUoYSksaT10JiZyJiZ0LmdldChyKTtyZXR1cm4gaT9pLmNvdW50KmkuYWxpYXNDb3VudDowfWVsc2UgaWYoTGEoZSkpe2xldCByPTA7Zm9yKGxldCBpIG9mIGUuaXRlbXMpe2xldCBvPUxYKGEsaSx0KTtvPnImJihyPW8pfXJldHVybiByfWVsc2UgaWYocmEoZSkpe2xldCByPUxYKGEsZS5rZXksdCksaT1MWChhLGUudmFsdWUsdCk7cmV0dXJuIE1hdGgubWF4KHIsaSl9cmV0dXJuIDF9dmFyIFNuLGFnPWYoKCk9PntfWCgpO2VnKCk7JGEoKTtUWCgpO3owKCk7U249Y2xhc3MgZXh0ZW5kcyBBbHtzdGF0aWN7cyh0aGlzLCJBbGlhcyIpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKFg5KSx0aGlzLnNvdXJjZT1lLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJ0YWciLHtzZXQoKXt0aHJvdyBuZXcgRXJyb3IoIkFsaWFzIG5vZGVzIGNhbm5vdCBoYXZlIHRhZ3MiKX19KX1yZXNvbHZlKGUsdCl7aWYodD8ubWF4QWxpYXNDb3VudD09PTApdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCJBbGlhcyByZXNvbHV0aW9uIGlzIGRpc2FibGVkIik7bGV0IHI7dD8uYWxpYXNSZXNvbHZlQ2FjaGU/cj10LmFsaWFzUmVzb2x2ZUNhY2hlOihyPVtdLFlvKGUse05vZGU6cygobyxuKT0+eyhUbyhuKXx8SjkobikpJiZyLnB1c2gobil9LCJOb2RlIil9KSx0JiYodC5hbGlhc1Jlc29sdmVDYWNoZT1yKSk7bGV0IGk7Zm9yKGxldCBvIG9mIHIpe2lmKG89PT10aGlzKWJyZWFrO28uYW5jaG9yPT09dGhpcy5zb3VyY2UmJihpPW8pfXJldHVybiBpfXRvSlNPTihlLHQpe2lmKCF0KXJldHVybntzb3VyY2U6dGhpcy5zb3VyY2V9O2xldHthbmNob3JzOnIsZG9jOmksbWF4QWxpYXNDb3VudDpvfT10LG49dGhpcy5yZXNvbHZlKGksdCk7aWYoIW4pe2xldCBkPWBVbnJlc29sdmVkIGFsaWFzICh0aGUgYW5jaG9yIG11c3QgYmUgc2V0IGJlZm9yZSB0aGUgYWxpYXMpOiAke3RoaXMuc291cmNlfWA7dGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKGQpfWxldCBsPXIuZ2V0KG4pO2lmKGx8fCh1cyhuLG51bGwsdCksbD1yLmdldChuKSksbD8ucmVzPT09dm9pZCAwKXtsZXQgZD0iVGhpcyBzaG91bGQgbm90IGhhcHBlbjogQWxpYXMgYW5jaG9yIHdhcyBub3QgcmVzb2x2ZWQ/Ijt0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoZCl9aWYobz49MCYmKGwuY291bnQrPTEsbC5hbGlhc0NvdW50PT09MCYmKGwuYWxpYXNDb3VudD1MWChpLG4scikpLGwuY291bnQqbC5hbGlhc0NvdW50Pm8pKXtsZXQgZD0iRXhjZXNzaXZlIGFsaWFzIGNvdW50IGluZGljYXRlcyBhIHJlc291cmNlIGV4aGF1c3Rpb24gYXR0YWNrIjt0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoZCl9cmV0dXJuIGwucmVzfXRvU3RyaW5nKGUsdCxyKXtsZXQgaT1gKiR7dGhpcy5zb3VyY2V9YDtpZihlKXtpZih0Zyh0aGlzLnNvdXJjZSksZS5vcHRpb25zLnZlcmlmeUFsaWFzT3JkZXImJiFlLmFuY2hvcnMuaGFzKHRoaXMuc291cmNlKSl7bGV0IG89YFVucmVzb2x2ZWQgYWxpYXMgKHRoZSBhbmNob3IgbXVzdCBiZSBzZXQgYmVmb3JlIHRoZSBhbGlhcyk6ICR7dGhpcy5zb3VyY2V9YDt0aHJvdyBuZXcgRXJyb3Iobyl9aWYoZS5pbXBsaWNpdEtleSlyZXR1cm5gJHtpfSBgfXJldHVybiBpfX07cyhMWCwiZ2V0QWxpYXNDb3VudCIpfSk7dmFyIHJnLGh0LHBzPWYoKCk9PnskYSgpO1RYKCk7ejAoKTtyZz1zKGE9PiFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJvYmplY3QiLCJpc1NjYWxhclZhbHVlIiksaHQ9Y2xhc3MgZXh0ZW5kcyBBbHtzdGF0aWN7cyh0aGlzLCJTY2FsYXIiKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihfbyksdGhpcy52YWx1ZT1lfXRvSlNPTihlLHQpe3JldHVybiB0Py5rZWVwP3RoaXMudmFsdWU6dXModGhpcy52YWx1ZSxlLHQpfXRvU3RyaW5nKCl7cmV0dXJuIFN0cmluZyh0aGlzLnZhbHVlKX19O2h0LkJMT0NLX0ZPTERFRD0iQkxPQ0tfRk9MREVEIixodC5CTE9DS19MSVRFUkFMPSJCTE9DS19MSVRFUkFMIixodC5QTEFJTj0iUExBSU4iLGh0LlFVT1RFX0RPVUJMRT0iUVVPVEVfRE9VQkxFIixodC5RVU9URV9TSU5HTEU9IlFVT1RFX1NJTkdMRSJ9KTtmdW5jdGlvbiBfeGEoYSxlLHQpe2lmKGUpe2xldCByPXQuZmlsdGVyKG89Pm8udGFnPT09ZSksaT1yLmZpbmQobz0+IW8uZm9ybWF0KT8/clswXTtpZighaSl0aHJvdyBuZXcgRXJyb3IoYFRhZyAke2V9IG5vdCBmb3VuZGApO3JldHVybiBpfXJldHVybiB0LmZpbmQocj0+ci5pZGVudGlmeT8uKGEpJiYhci5mb3JtYXQpfWZ1bmN0aW9uIEwyKGEsZSx0KXtpZihMbyhhKSYmKGE9YS5jb250ZW50cyksZGEoYSkpcmV0dXJuIGE7aWYocmEoYSkpe2xldCB1PXQuc2NoZW1hW2tuXS5jcmVhdGVOb2RlPy4odC5zY2hlbWEsbnVsbCx0KTtyZXR1cm4gdS5pdGVtcy5wdXNoKGEpLHV9KGEgaW5zdGFuY2VvZiBTdHJpbmd8fGEgaW5zdGFuY2VvZiBOdW1iZXJ8fGEgaW5zdGFuY2VvZiBCb29sZWFufHx0eXBlb2YgQmlnSW50PCJ1IiYmYSBpbnN0YW5jZW9mIEJpZ0ludCkmJihhPWEudmFsdWVPZigpKTtsZXR7YWxpYXNEdXBsaWNhdGVPYmplY3RzOnIsb25BbmNob3I6aSxvblRhZ09iajpvLHNjaGVtYTpuLHNvdXJjZU9iamVjdHM6bH09dCxkO2lmKHImJmEmJnR5cGVvZiBhPT0ib2JqZWN0Iil7aWYoZD1sLmdldChhKSxkKXJldHVybiBkLmFuY2hvcj8/KGQuYW5jaG9yPWkoYSkpLG5ldyBTbihkLmFuY2hvcik7ZD17YW5jaG9yOm51bGwsbm9kZTpudWxsfSxsLnNldChhLGQpfWU/LnN0YXJ0c1dpdGgoIiEhIikmJihlPUN4YStlLnNsaWNlKDIpKTtsZXQgYz1feGEoYSxlLG4udGFncyk7aWYoIWMpe2lmKGEmJnR5cGVvZiBhLnRvSlNPTj09ImZ1bmN0aW9uIiYmKGE9YS50b0pTT04oKSksIWF8fHR5cGVvZiBhIT0ib2JqZWN0Iil7bGV0IHU9bmV3IGh0KGEpO3JldHVybiBkJiYoZC5ub2RlPXUpLHV9Yz1hIGluc3RhbmNlb2YgTWFwP25ba25dOlN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoYSk/bltfMl06bltrbl19byYmKG8oYyksZGVsZXRlIHQub25UYWdPYmopO2xldCBwPWM/LmNyZWF0ZU5vZGU/Yy5jcmVhdGVOb2RlKHQuc2NoZW1hLGEsdCk6dHlwZW9mIGM/Lm5vZGVDbGFzcz8uZnJvbT09ImZ1bmN0aW9uIj9jLm5vZGVDbGFzcy5mcm9tKHQuc2NoZW1hLGEsdCk6bmV3IGh0KGEpO3JldHVybiBlP3AudGFnPWU6Yy5kZWZhdWx0fHwocC50YWc9Yy50YWcpLGQmJihkLm5vZGU9cCkscH12YXIgQ3hhLHNnPWYoKCk9PnthZygpOyRhKCk7cHMoKTtDeGE9InRhZzp5YW1sLm9yZywyMDAyOiI7cyhfeGEsImZpbmRUYWdPYmplY3QiKTtzKEwyLCJjcmVhdGVOb2RlIil9KTtmdW5jdGlvbiBHaChhLGUsdCl7bGV0IHI9dDtmb3IobGV0IGk9ZS5sZW5ndGgtMTtpPj0wOy0taSl7bGV0IG89ZVtpXTtpZih0eXBlb2Ygbz09Im51bWJlciImJk51bWJlci5pc0ludGVnZXIobykmJm8+PTApe2xldCBuPVtdO25bb109cixyPW59ZWxzZSByPW5ldyBNYXAoW1tvLHJdXSl9cmV0dXJuIEwyKHIsdm9pZCAwLHthbGlhc0R1cGxpY2F0ZU9iamVjdHM6ITEsa2VlcFVuZGVmaW5lZDohMSxvbkFuY2hvcjpzKCgpPT57dGhyb3cgbmV3IEVycm9yKCJUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBwbGVhc2UgcmVwb3J0IGEgYnVnLiIpfSwib25BbmNob3IiKSxzY2hlbWE6YSxzb3VyY2VPYmplY3RzOm5ldyBNYXB9KX12YXIgQTMsRDMsJFg9ZigoKT0+e3NnKCk7JGEoKTtUWCgpO3MoR2gsImNvbGxlY3Rpb25Gcm9tUGF0aCIpO0EzPXMoYT0+YT09bnVsbHx8dHlwZW9mIGE9PSJvYmplY3QiJiYhIWFbU3ltYm9sLml0ZXJhdG9yXSgpLm5leHQoKS5kb25lLCJpc0VtcHR5UGF0aCIpLEQzPWNsYXNzIGV4dGVuZHMgQWx7c3RhdGlje3ModGhpcywiQ29sbGVjdGlvbiIpfWNvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsInNjaGVtYSIse3ZhbHVlOnQsY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITB9KX1jbG9uZShlKXtsZXQgdD1PYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0aGlzKSk7cmV0dXJuIGUmJih0LnNjaGVtYT1lKSx0Lml0ZW1zPXQuaXRlbXMubWFwKHI9PmRhKHIpfHxyYShyKT9yLmNsb25lKGUpOnIpLHRoaXMucmFuZ2UmJih0LnJhbmdlPXRoaXMucmFuZ2Uuc2xpY2UoKSksdH1hZGRJbihlLHQpe2lmKEEzKGUpKXRoaXMuYWRkKHQpO2Vsc2V7bGV0W3IsLi4uaV09ZSxvPXRoaXMuZ2V0KHIsITApO2lmKExhKG8pKW8uYWRkSW4oaSx0KTtlbHNlIGlmKG89PT12b2lkIDAmJnRoaXMuc2NoZW1hKXRoaXMuc2V0KHIsR2godGhpcy5zY2hlbWEsaSx0KSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIFlBTUwgY29sbGVjdGlvbiBhdCAke3J9LiBSZW1haW5pbmcgcGF0aDogJHtpfWApfX1kZWxldGVJbihlKXtsZXRbdCwuLi5yXT1lO2lmKHIubGVuZ3RoPT09MClyZXR1cm4gdGhpcy5kZWxldGUodCk7bGV0IGk9dGhpcy5nZXQodCwhMCk7aWYoTGEoaSkpcmV0dXJuIGkuZGVsZXRlSW4ocik7dGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBZQU1MIGNvbGxlY3Rpb24gYXQgJHt0fS4gUmVtYWluaW5nIHBhdGg6ICR7cn1gKX1nZXRJbihlLHQpe2xldFtyLC4uLmldPWUsbz10aGlzLmdldChyLCEwKTtyZXR1cm4gaS5sZW5ndGg9PT0wPyF0JiZWdChvKT9vLnZhbHVlOm86TGEobyk/by5nZXRJbihpLHQpOnZvaWQgMH1oYXNBbGxOdWxsVmFsdWVzKGUpe3JldHVybiB0aGlzLml0ZW1zLmV2ZXJ5KHQ9PntpZighcmEodCkpcmV0dXJuITE7bGV0IHI9dC52YWx1ZTtyZXR1cm4gcj09bnVsbHx8ZSYmVnQocikmJnIudmFsdWU9PW51bGwmJiFyLmNvbW1lbnRCZWZvcmUmJiFyLmNvbW1lbnQmJiFyLnRhZ30pfWhhc0luKGUpe2xldFt0LC4uLnJdPWU7aWYoci5sZW5ndGg9PT0wKXJldHVybiB0aGlzLmhhcyh0KTtsZXQgaT10aGlzLmdldCh0LCEwKTtyZXR1cm4gTGEoaSk/aS5oYXNJbihyKTohMX1zZXRJbihlLHQpe2xldFtyLC4uLmldPWU7aWYoaS5sZW5ndGg9PT0wKXRoaXMuc2V0KHIsdCk7ZWxzZXtsZXQgbz10aGlzLmdldChyLCEwKTtpZihMYShvKSlvLnNldEluKGksdCk7ZWxzZSBpZihvPT09dm9pZCAwJiZ0aGlzLnNjaGVtYSl0aGlzLnNldChyLEdoKHRoaXMuc2NoZW1hLGksdCkpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBZQU1MIGNvbGxlY3Rpb24gYXQgJHtyfS4gUmVtYWluaW5nIHBhdGg6ICR7aX1gKX19fX0pO2Z1bmN0aW9uIEtvKGEsZSl7cmV0dXJuL15cbiskLy50ZXN0KGEpP2Euc3Vic3RyaW5nKDEpOmU/YS5yZXBsYWNlKC9eKD8hICokKS9nbSxlKTphfXZhciBFY2UsaDEsaWc9ZigoKT0+e0VjZT1zKGE9PmEucmVwbGFjZSgvXig/ISQpKD86ICQpPy9nbSwiIyIpLCJzdHJpbmdpZnlDb21tZW50Iik7cyhLbywiaW5kZW50Q29tbWVudCIpO2gxPXMoKGEsZSx0KT0+YS5lbmRzV2l0aChgCmApP0tvKHQsZSk6dC5pbmNsdWRlcyhgCmApP2AKYCtLbyh0LGUpOihhLmVuZHNXaXRoKCIgIik/IiI6IiAiKSt0LCJsaW5lQ29tbWVudCIpfSk7ZnVuY3Rpb24gS2goYSxlLHQ9ImZsb3ciLHtpbmRlbnRBdFN0YXJ0OnIsbGluZVdpZHRoOmk9ODAsbWluQ29udGVudFdpZHRoOm89MjAsb25Gb2xkOm4sb25PdmVyZmxvdzpsfT17fSl7aWYoIWl8fGk8MClyZXR1cm4gYTtpPG8mJihvPTApO2xldCBkPU1hdGgubWF4KDErbywxK2ktZS5sZW5ndGgpO2lmKGEubGVuZ3RoPD1kKXJldHVybiBhO2xldCBjPVtdLHA9e30sdT1pLWUubGVuZ3RoO3R5cGVvZiByPT0ibnVtYmVyIiYmKHI+aS1NYXRoLm1heCgyLG8pP2MucHVzaCgwKTp1PWktcik7bGV0IG0sdix4PSExLGI9LTEsZz0tMSx5PS0xO3Q9PT1vZyYmKGI9STR0KGEsYixlLmxlbmd0aCksYiE9PS0xJiYodT1iK2QpKTtmb3IobGV0IEM7Qz1hW2IrPTFdOyl7aWYodD09PVloJiZDPT09IlxcIil7c3dpdGNoKGc9YixhW2IrMV0pe2Nhc2UieCI6Yis9MzticmVhaztjYXNlInUiOmIrPTU7YnJlYWs7Y2FzZSJVIjpiKz05O2JyZWFrO2RlZmF1bHQ6Yis9MX15PWJ9aWYoQz09PWAKYCl0PT09b2cmJihiPUk0dChhLGIsZS5sZW5ndGgpKSx1PWIrZS5sZW5ndGgrZCxtPXZvaWQgMDtlbHNle2lmKEM9PT0iICImJnYmJnYhPT0iICImJnYhPT1gCmAmJnYhPT0iCSIpe2xldCBOPWFbYisxXTtOJiZOIT09IiAiJiZOIT09YApgJiZOIT09IgkiJiYobT1iKX1pZihiPj11KWlmKG0pYy5wdXNoKG0pLHU9bStkLG09dm9pZCAwO2Vsc2UgaWYodD09PVloKXtmb3IoO3Y9PT0iICJ8fHY9PT0iCSI7KXY9QyxDPWFbYis9MV0seD0hMDtsZXQgTj1iPnkrMT9iLTI6Zy0xO2lmKHBbTl0pcmV0dXJuIGE7Yy5wdXNoKE4pLHBbTl09ITAsdT1OK2QsbT12b2lkIDB9ZWxzZSB4PSEwfXY9Q31pZih4JiZsJiZsKCksYy5sZW5ndGg9PT0wKXJldHVybiBhO24mJm4oKTtsZXQgaz1hLnNsaWNlKDAsY1swXSk7Zm9yKGxldCBDPTA7QzxjLmxlbmd0aDsrK0Mpe2xldCBOPWNbQ10sXz1jW0MrMV18fGEubGVuZ3RoO049PT0wP2s9YAoke2V9JHthLnNsaWNlKDAsXyl9YDoodD09PVloJiZwW05dJiYoays9YCR7YVtOXX1cXGApLGsrPWAKJHtlfSR7YS5zbGljZShOKzEsXyl9YCl9cmV0dXJuIGt9ZnVuY3Rpb24gSTR0KGEsZSx0KXtsZXQgcj1lLGk9ZSsxLG89YVtpXTtmb3IoO289PT0iICJ8fG89PT0iCSI7KWlmKGU8aSt0KW89YVsrK2VdO2Vsc2V7ZG8gbz1hWysrZV07d2hpbGUobyYmbyE9PWAKYCk7cj1lLGk9ZSsxLG89YVtpXX1yZXR1cm4gcn12YXIgRFgsb2csWWgsTjR0PWYoKCk9PntEWD0iZmxvdyIsb2c9ImJsb2NrIixZaD0icXVvdGVkIjtzKEtoLCJmb2xkRmxvd0xpbmVzIik7cyhJNHQsImNvbnN1bWVNb3JlSW5kZW50ZWRMaW5lcyIpfSk7ZnVuY3Rpb24gVHhhKGEsZSx0KXtpZighZXx8ZTwwKXJldHVybiExO2xldCByPWUtdCxpPWEubGVuZ3RoO2lmKGk8PXIpcmV0dXJuITE7Zm9yKGxldCBvPTAsbj0wO288aTsrK28paWYoYVtvXT09PWAKYCl7aWYoby1uPnIpcmV0dXJuITA7aWYobj1vKzEsaS1uPD1yKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIG5nKGEsZSl7bGV0IHQ9SlNPTi5zdHJpbmdpZnkoYSk7aWYoZS5vcHRpb25zLmRvdWJsZVF1b3RlZEFzSlNPTilyZXR1cm4gdDtsZXR7aW1wbGljaXRLZXk6cn09ZSxpPWUub3B0aW9ucy5kb3VibGVRdW90ZWRNaW5NdWx0aUxpbmVMZW5ndGgsbz1lLmluZGVudHx8KFBYKGEpPyIgICI6IiIpLG49IiIsbD0wO2ZvcihsZXQgZD0wLGM9dFtkXTtjO2M9dFsrK2RdKWlmKGM9PT0iICImJnRbZCsxXT09PSJcXCImJnRbZCsyXT09PSJuIiYmKG4rPXQuc2xpY2UobCxkKSsiXFwgIixkKz0xLGw9ZCxjPSJcXCIpLGM9PT0iXFwiKXN3aXRjaCh0W2QrMV0pe2Nhc2UidSI6e24rPXQuc2xpY2UobCxkKTtsZXQgcD10LnN1YnN0cihkKzIsNCk7c3dpdGNoKHApe2Nhc2UiMDAwMCI6bis9IlxcMCI7YnJlYWs7Y2FzZSIwMDA3IjpuKz0iXFxhIjticmVhaztjYXNlIjAwMGIiOm4rPSJcXHYiO2JyZWFrO2Nhc2UiMDAxYiI6bis9IlxcZSI7YnJlYWs7Y2FzZSIwMDg1IjpuKz0iXFxOIjticmVhaztjYXNlIjAwYTAiOm4rPSJcXF8iO2JyZWFrO2Nhc2UiMjAyOCI6bis9IlxcTCI7YnJlYWs7Y2FzZSIyMDI5IjpuKz0iXFxQIjticmVhaztkZWZhdWx0OnAuc3Vic3RyKDAsMik9PT0iMDAiP24rPSJcXHgiK3Auc3Vic3RyKDIpOm4rPXQuc3Vic3RyKGQsNil9ZCs9NSxsPWQrMX1icmVhaztjYXNlIm4iOmlmKHJ8fHRbZCsyXT09PSciJ3x8dC5sZW5ndGg8aSlkKz0xO2Vsc2V7Zm9yKG4rPXQuc2xpY2UobCxkKStgCgpgO3RbZCsyXT09PSJcXCImJnRbZCszXT09PSJuIiYmdFtkKzRdIT09JyInOyluKz1gCmAsZCs9MjtuKz1vLHRbZCsyXT09PSIgIiYmKG4rPSJcXCIpLGQrPTEsbD1kKzF9YnJlYWs7ZGVmYXVsdDpkKz0xfXJldHVybiBuPWw/bit0LnNsaWNlKGwpOnQscj9uOktoKG4sbyxZaCxBWChlLCExKSl9ZnVuY3Rpb24gSWNlKGEsZSl7aWYoZS5vcHRpb25zLnNpbmdsZVF1b3RlPT09ITF8fGUuaW1wbGljaXRLZXkmJmEuaW5jbHVkZXMoYApgKXx8L1sgXHRdXG58XG5bIFx0XS8udGVzdChhKSlyZXR1cm4gbmcoYSxlKTtsZXQgdD1lLmluZGVudHx8KFBYKGEpPyIgICI6IiIpLHI9IiciK2EucmVwbGFjZSgvJy9nLCInJyIpLnJlcGxhY2UoL1xuKy9nLGAkJgoke3R9YCkrIiciO3JldHVybiBlLmltcGxpY2l0S2V5P3I6S2gocix0LERYLEFYKGUsITEpKX1mdW5jdGlvbiBaaChhLGUpe2xldHtzaW5nbGVRdW90ZTp0fT1lLm9wdGlvbnMscjtpZih0PT09ITEpcj1uZztlbHNle2xldCBpPWEuaW5jbHVkZXMoJyInKSxvPWEuaW5jbHVkZXMoIiciKTtpJiYhbz9yPUljZTpvJiYhaT9yPW5nOnI9dD9JY2U6bmd9cmV0dXJuIHIoYSxlKX1mdW5jdGlvbiBFWCh7Y29tbWVudDphLHR5cGU6ZSx2YWx1ZTp0fSxyLGksbyl7bGV0e2Jsb2NrUXVvdGU6bixjb21tZW50U3RyaW5nOmwsbGluZVdpZHRoOmR9PXIub3B0aW9ucztpZighbnx8L1xuW1x0IF0rJC8udGVzdCh0KSlyZXR1cm4gWmgodCxyKTtsZXQgYz1yLmluZGVudHx8KHIuZm9yY2VCbG9ja0luZGVudHx8UFgodCk/IiAgIjoiIikscD1uPT09ImxpdGVyYWwiPyEwOm49PT0iZm9sZGVkInx8ZT09PWh0LkJMT0NLX0ZPTERFRD8hMTplPT09aHQuQkxPQ0tfTElURVJBTD8hMDohVHhhKHQsZCxjLmxlbmd0aCk7aWYoIXQpcmV0dXJuIHA/YHwKYDpgPgpgO2xldCB1LG07Zm9yKG09dC5sZW5ndGg7bT4wOy0tbSl7bGV0IF89dFttLTFdO2lmKF8hPT1gCmAmJl8hPT0iCSImJl8hPT0iICIpYnJlYWt9bGV0IHY9dC5zdWJzdHJpbmcobSkseD12LmluZGV4T2YoYApgKTt4PT09LTE/dT0iLSI6dD09PXZ8fHghPT12Lmxlbmd0aC0xPyh1PSIrIixvJiZvKCkpOnU9IiIsdiYmKHQ9dC5zbGljZSgwLC12Lmxlbmd0aCksdlt2Lmxlbmd0aC0xXT09PWAKYCYmKHY9di5zbGljZSgwLC0xKSksdj12LnJlcGxhY2UoTmNlLGAkJiR7Y31gKSk7bGV0IGI9ITEsZyx5PS0xO2ZvcihnPTA7Zzx0Lmxlbmd0aDsrK2cpe2xldCBfPXRbZ107aWYoXz09PSIgIiliPSEwO2Vsc2UgaWYoXz09PWAKYCl5PWc7ZWxzZSBicmVha31sZXQgaz10LnN1YnN0cmluZygwLHk8Zz95KzE6Zyk7ayYmKHQ9dC5zdWJzdHJpbmcoay5sZW5ndGgpLGs9ay5yZXBsYWNlKC9cbisvZyxgJCYke2N9YCkpO2xldCBOPShiP2M/IjIiOiIxIjoiIikrdTtpZihhJiYoTis9IiAiK2woYS5yZXBsYWNlKC8gP1tcclxuXSsvZywiICIpKSxpJiZpKCkpLCFwKXtsZXQgXz10LnJlcGxhY2UoL1xuKy9nLGAKJCZgKS5yZXBsYWNlKC8oPzpefFxuKShbXHQgXS4qKSg/OihbXG5cdCBdKilcbig/IVtcblx0IF0pKT8vZywiJDEkMiIpLnJlcGxhY2UoL1xuKy9nLGAkJiR7Y31gKSx6PSExLE89QVgociwhMCk7biE9PSJmb2xkZWQiJiZlIT09aHQuQkxPQ0tfRk9MREVEJiYoTy5vbk92ZXJmbG93PSgpPT57ej0hMH0pO2xldCBUPUtoKGAke2t9JHtffSR7dn1gLGMsb2csTyk7aWYoIXopcmV0dXJuYD4ke059CiR7Y30ke1R9YH1yZXR1cm4gdD10LnJlcGxhY2UoL1xuKy9nLGAkJiR7Y31gKSxgfCR7Tn0KJHtjfSR7a30ke3R9JHt2fWB9ZnVuY3Rpb24gTHhhKGEsZSx0LHIpe2xldHt0eXBlOmksdmFsdWU6b309YSx7YWN0dWFsU3RyaW5nOm4saW1wbGljaXRLZXk6bCxpbmRlbnQ6ZCxpbmRlbnRTdGVwOmMsaW5GbG93OnB9PWU7aWYobCYmby5pbmNsdWRlcyhgCmApfHxwJiYvW1tcXXt9LF0vLnRlc3QobykpcmV0dXJuIFpoKG8sZSk7aWYoL15bXG5cdCAsW1xde30jJiohfD4nIiVAYF18Xls/LV0kfF5bPy1dWyBcdF18W1xuOl1bIFx0XXxbIFx0XVxufFtcblx0IF0jfFtcblx0IDpdJC8udGVzdChvKSlyZXR1cm4gbHx8cHx8IW8uaW5jbHVkZXMoYApgKT9aaChvLGUpOkVYKGEsZSx0LHIpO2lmKCFsJiYhcCYmaSE9PWh0LlBMQUlOJiZvLmluY2x1ZGVzKGAKYCkpcmV0dXJuIEVYKGEsZSx0LHIpO2lmKFBYKG8pKXtpZihkPT09IiIpcmV0dXJuIGUuZm9yY2VCbG9ja0luZGVudD0hMCxFWChhLGUsdCxyKTtpZihsJiZkPT09YylyZXR1cm4gWmgobyxlKX1sZXQgdT1vLnJlcGxhY2UoL1xuKy9nLGAkJgoke2R9YCk7aWYobil7bGV0IG09cyhiPT5iLmRlZmF1bHQmJmIudGFnIT09InRhZzp5YW1sLm9yZywyMDAyOnN0ciImJmIudGVzdD8udGVzdCh1KSwidGVzdCIpLHtjb21wYXQ6dix0YWdzOnh9PWUuZG9jLnNjaGVtYTtpZih4LnNvbWUobSl8fHY/LnNvbWUobSkpcmV0dXJuIFpoKG8sZSl9cmV0dXJuIGw/dTpLaCh1LGQsRFgsQVgoZSwhMSkpfWZ1bmN0aW9uICQyKGEsZSx0LHIpe2xldHtpbXBsaWNpdEtleTppLGluRmxvdzpvfT1lLG49dHlwZW9mIGEudmFsdWU9PSJzdHJpbmciP2E6T2JqZWN0LmFzc2lnbih7fSxhLHt2YWx1ZTpTdHJpbmcoYS52YWx1ZSl9KSx7dHlwZTpsfT1hO2whPT1odC5RVU9URV9ET1VCTEUmJi9bXHgwMC1ceDA4XHgwYi1ceDFmXHg3Zi1ceDlmXHV7RDgwMH0tXHV7REZGRn1dL3UudGVzdChuLnZhbHVlKSYmKGw9aHQuUVVPVEVfRE9VQkxFKTtsZXQgZD1zKHA9Pntzd2l0Y2gocCl7Y2FzZSBodC5CTE9DS19GT0xERUQ6Y2FzZSBodC5CTE9DS19MSVRFUkFMOnJldHVybiBpfHxvP1poKG4udmFsdWUsZSk6RVgobixlLHQscik7Y2FzZSBodC5RVU9URV9ET1VCTEU6cmV0dXJuIG5nKG4udmFsdWUsZSk7Y2FzZSBodC5RVU9URV9TSU5HTEU6cmV0dXJuIEljZShuLnZhbHVlLGUpO2Nhc2UgaHQuUExBSU46cmV0dXJuIEx4YShuLGUsdCxyKTtkZWZhdWx0OnJldHVybiBudWxsfX0sIl9zdHJpbmdpZnkiKSxjPWQobCk7aWYoYz09PW51bGwpe2xldHtkZWZhdWx0S2V5VHlwZTpwLGRlZmF1bHRTdHJpbmdUeXBlOnV9PWUub3B0aW9ucyxtPWkmJnB8fHU7aWYoYz1kKG0pLGM9PT1udWxsKXRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZGVmYXVsdCBzdHJpbmcgdHlwZSAke219YCl9cmV0dXJuIGN9dmFyIEFYLFBYLE5jZSxsZz1mKCgpPT57cHMoKTtONHQoKTtBWD1zKChhLGUpPT4oe2luZGVudEF0U3RhcnQ6ZT9hLmluZGVudC5sZW5ndGg6YS5pbmRlbnRBdFN0YXJ0LGxpbmVXaWR0aDphLm9wdGlvbnMubGluZVdpZHRoLG1pbkNvbnRlbnRXaWR0aDphLm9wdGlvbnMubWluQ29udGVudFdpZHRofSksImdldEZvbGRPcHRpb25zIiksUFg9cyhhPT4vXiglfC0tLXxcLlwuXC4pL20udGVzdChhKSwiY29udGFpbnNEb2N1bWVudE1hcmtlciIpO3MoVHhhLCJsaW5lTGVuZ3RoT3ZlckxpbWl0Iik7cyhuZywiZG91YmxlUXVvdGVkU3RyaW5nIik7cyhJY2UsInNpbmdsZVF1b3RlZFN0cmluZyIpO3MoWmgsInF1b3RlZFN0cmluZyIpO3RyeXtOY2U9bmV3IFJlZ0V4cChgKF58KD88IQopKQorKD8hCnwkKWAsImciKX1jYXRjaHtOY2U9L1xuKyg/IVxufCQpL2d9cyhFWCwiYmxvY2tTdHJpbmciKTtzKEx4YSwicGxhaW5TdHJpbmciKTtzKCQyLCJzdHJpbmdpZnlTdHJpbmciKX0pO2Z1bmN0aW9uIGNnKGEsZSl7bGV0IHQ9T2JqZWN0LmFzc2lnbih7YmxvY2tRdW90ZTohMCxjb21tZW50U3RyaW5nOkVjZSxkZWZhdWx0S2V5VHlwZTpudWxsLGRlZmF1bHRTdHJpbmdUeXBlOiJQTEFJTiIsZGlyZWN0aXZlczpudWxsLGRvdWJsZVF1b3RlZEFzSlNPTjohMSxkb3VibGVRdW90ZWRNaW5NdWx0aUxpbmVMZW5ndGg6NDAsZmFsc2VTdHI6ImZhbHNlIixmbG93Q29sbGVjdGlvblBhZGRpbmc6ITAsaW5kZW50U2VxOiEwLGxpbmVXaWR0aDo4MCxtaW5Db250ZW50V2lkdGg6MjAsbnVsbFN0cjoibnVsbCIsc2ltcGxlS2V5czohMSxzaW5nbGVRdW90ZTpudWxsLHRyYWlsaW5nQ29tbWE6ITEsdHJ1ZVN0cjoidHJ1ZSIsdmVyaWZ5QWxpYXNPcmRlcjohMH0sYS5zY2hlbWEudG9TdHJpbmdPcHRpb25zLGUpLHI7c3dpdGNoKHQuY29sbGVjdGlvblN0eWxlKXtjYXNlImJsb2NrIjpyPSExO2JyZWFrO2Nhc2UiZmxvdyI6cj0hMDticmVhaztkZWZhdWx0OnI9bnVsbH1yZXR1cm57YW5jaG9yczpuZXcgU2V0LGRvYzphLGZsb3dDb2xsZWN0aW9uUGFkZGluZzp0LmZsb3dDb2xsZWN0aW9uUGFkZGluZz8iICI6IiIsaW5kZW50OiIiLGluZGVudFN0ZXA6dHlwZW9mIHQuaW5kZW50PT0ibnVtYmVyIj8iICIucmVwZWF0KHQuaW5kZW50KToiICAiLGluRmxvdzpyLG9wdGlvbnM6dH19ZnVuY3Rpb24gJHhhKGEsZSl7aWYoZS50YWcpe2xldCBpPWEuZmlsdGVyKG89Pm8udGFnPT09ZS50YWcpO2lmKGkubGVuZ3RoPjApcmV0dXJuIGkuZmluZChvPT5vLmZvcm1hdD09PWUuZm9ybWF0KT8/aVswXX1sZXQgdCxyO2lmKFZ0KGUpKXtyPWUudmFsdWU7bGV0IGk9YS5maWx0ZXIobz0+by5pZGVudGlmeT8uKHIpKTtpZihpLmxlbmd0aD4xKXtsZXQgbz1pLmZpbHRlcihuPT5uLnRlc3QpO28ubGVuZ3RoPjAmJihpPW8pfXQ9aS5maW5kKG89Pm8uZm9ybWF0PT09ZS5mb3JtYXQpPz9pLmZpbmQobz0+IW8uZm9ybWF0KX1lbHNlIHI9ZSx0PWEuZmluZChpPT5pLm5vZGVDbGFzcyYmciBpbnN0YW5jZW9mIGkubm9kZUNsYXNzKTtpZighdCl7bGV0IGk9cj8uY29uc3RydWN0b3I/Lm5hbWU/PyhyPT09bnVsbD8ibnVsbCI6dHlwZW9mIHIpO3Rocm93IG5ldyBFcnJvcihgVGFnIG5vdCByZXNvbHZlZCBmb3IgJHtpfSB2YWx1ZWApfXJldHVybiB0fWZ1bmN0aW9uIER4YShhLGUse2FuY2hvcnM6dCxkb2M6cn0pe2lmKCFyLmRpcmVjdGl2ZXMpcmV0dXJuIiI7bGV0IGk9W10sbz0oVnQoYSl8fExhKGEpKSYmYS5hbmNob3I7byYmdGcobykmJih0LmFkZChvKSxpLnB1c2goYCYke299YCkpO2xldCBuPWEudGFnPz8oZS5kZWZhdWx0P251bGw6ZS50YWcpO3JldHVybiBuJiZpLnB1c2goci5kaXJlY3RpdmVzLnRhZ1N0cmluZyhuKSksaS5qb2luKCIgIil9ZnVuY3Rpb24gRDIoYSxlLHQscil7aWYocmEoYSkpcmV0dXJuIGEudG9TdHJpbmcoZSx0LHIpO2lmKFRvKGEpKXtpZihlLmRvYy5kaXJlY3RpdmVzKXJldHVybiBhLnRvU3RyaW5nKGUpO2lmKGUucmVzb2x2ZWRBbGlhc2VzPy5oYXMoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHN0cmluZ2lmeSBjaXJjdWxhciBzdHJ1Y3R1cmUgd2l0aG91dCBhbGlhcyBub2RlcyIpO2UucmVzb2x2ZWRBbGlhc2VzP2UucmVzb2x2ZWRBbGlhc2VzLmFkZChhKTplLnJlc29sdmVkQWxpYXNlcz1uZXcgU2V0KFthXSksYT1hLnJlc29sdmUoZS5kb2MpfWxldCBpLG89ZGEoYSk/YTplLmRvYy5jcmVhdGVOb2RlKGEse29uVGFnT2JqOnMoZD0+aT1kLCJvblRhZ09iaiIpfSk7aT8/KGk9JHhhKGUuZG9jLnNjaGVtYS50YWdzLG8pKTtsZXQgbj1EeGEobyxpLGUpO24ubGVuZ3RoPjAmJihlLmluZGVudEF0U3RhcnQ9KGUuaW5kZW50QXRTdGFydD8/MCkrbi5sZW5ndGgrMSk7bGV0IGw9dHlwZW9mIGkuc3RyaW5naWZ5PT0iZnVuY3Rpb24iP2kuc3RyaW5naWZ5KG8sZSx0LHIpOlZ0KG8pPyQyKG8sZSx0LHIpOm8udG9TdHJpbmcoZSx0LHIpO3JldHVybiBuP1Z0KG8pfHxsWzBdPT09InsifHxsWzBdPT09IlsiP2Ake259ICR7bH1gOmAke259CiR7ZS5pbmRlbnR9JHtsfWA6bH12YXIgZGc9ZigoKT0+e19YKCk7JGEoKTtpZygpO2xnKCk7cyhjZywiY3JlYXRlU3RyaW5naWZ5Q29udGV4dCIpO3MoJHhhLCJnZXRUYWdPYmplY3QiKTtzKER4YSwic3RyaW5naWZ5UHJvcHMiKTtzKEQyLCJzdHJpbmdpZnkiKX0pO2Z1bmN0aW9uIFJjZSh7a2V5OmEsdmFsdWU6ZX0sdCxyLGkpe2xldHthbGxOdWxsVmFsdWVzOm8sZG9jOm4saW5kZW50OmwsaW5kZW50U3RlcDpkLG9wdGlvbnM6e2NvbW1lbnRTdHJpbmc6YyxpbmRlbnRTZXE6cCxzaW1wbGVLZXlzOnV9fT10LG09ZGEoYSkmJmEuY29tbWVudHx8bnVsbDtpZih1KXtpZihtKXRocm93IG5ldyBFcnJvcigiV2l0aCBzaW1wbGUga2V5cywga2V5IG5vZGVzIGNhbm5vdCBoYXZlIGNvbW1lbnRzIik7aWYoTGEoYSl8fCFkYShhKSYmdHlwZW9mIGE9PSJvYmplY3QiKXtsZXQgTz0iV2l0aCBzaW1wbGUga2V5cywgY29sbGVjdGlvbiBjYW5ub3QgYmUgdXNlZCBhcyBhIGtleSB2YWx1ZSI7dGhyb3cgbmV3IEVycm9yKE8pfX1sZXQgdj0hdSYmKCFhfHxtJiZlPT1udWxsJiYhdC5pbkZsb3d8fExhKGEpfHwoVnQoYSk/YS50eXBlPT09aHQuQkxPQ0tfRk9MREVEfHxhLnR5cGU9PT1odC5CTE9DS19MSVRFUkFMOnR5cGVvZiBhPT0ib2JqZWN0IikpO3Q9T2JqZWN0LmFzc2lnbih7fSx0LHthbGxOdWxsVmFsdWVzOiExLGltcGxpY2l0S2V5OiF2JiYodXx8IW8pLGluZGVudDpsK2R9KTtsZXQgeD0hMSxiPSExLGc9RDIoYSx0LCgpPT54PSEwLCgpPT5iPSEwKTtpZighdiYmIXQuaW5GbG93JiZnLmxlbmd0aD4xMDI0KXtpZih1KXRocm93IG5ldyBFcnJvcigiV2l0aCBzaW1wbGUga2V5cywgc2luZ2xlIGxpbmUgc2NhbGFyIG11c3Qgbm90IHNwYW4gbW9yZSB0aGFuIDEwMjQgY2hhcmFjdGVycyIpO3Y9ITB9aWYodC5pbkZsb3cpe2lmKG98fGU9PW51bGwpcmV0dXJuIHgmJnImJnIoKSxnPT09IiI/Ij8iOnY/YD8gJHtnfWA6Z31lbHNlIGlmKG8mJiF1fHxlPT1udWxsJiZ2KXJldHVybiBnPWA/ICR7Z31gLG0mJiF4P2crPWgxKGcsdC5pbmRlbnQsYyhtKSk6YiYmaSYmaSgpLGc7eCYmKG09bnVsbCksdj8obSYmKGcrPWgxKGcsdC5pbmRlbnQsYyhtKSkpLGc9YD8gJHtnfQoke2x9OmApOihnPWAke2d9OmAsbSYmKGcrPWgxKGcsdC5pbmRlbnQsYyhtKSkpKTtsZXQgeSxrLEM7ZGEoZSk/KHk9ISFlLnNwYWNlQmVmb3JlLGs9ZS5jb21tZW50QmVmb3JlLEM9ZS5jb21tZW50KTooeT0hMSxrPW51bGwsQz1udWxsLGUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmKGU9bi5jcmVhdGVOb2RlKGUpKSksdC5pbXBsaWNpdEtleT0hMSwhdiYmIW0mJlZ0KGUpJiYodC5pbmRlbnRBdFN0YXJ0PWcubGVuZ3RoKzEpLGI9ITEsIXAmJmQubGVuZ3RoPj0yJiYhdC5pbkZsb3cmJiF2JiZEbyhlKSYmIWUuZmxvdyYmIWUudGFnJiYhZS5hbmNob3ImJih0LmluZGVudD10LmluZGVudC5zdWJzdHJpbmcoMikpO2xldCBOPSExLF89RDIoZSx0LCgpPT5OPSEwLCgpPT5iPSEwKSx6PSIgIjtpZihtfHx5fHxrKXtpZih6PXk/YApgOiIiLGspe2xldCBPPWMoayk7eis9YAoke0tvKE8sdC5pbmRlbnQpfWB9Xz09PSIiJiYhdC5pbkZsb3c/ej09PWAKYCYmQyYmKHo9YAoKYCk6eis9YAoke3QuaW5kZW50fWB9ZWxzZSBpZighdiYmTGEoZSkpe2xldCBPPV9bMF0sVD1fLmluZGV4T2YoYApgKSxQPVQhPT0tMSxCPXQuaW5GbG93Pz9lLmZsb3c/P2UuaXRlbXMubGVuZ3RoPT09MDtpZihQfHwhQil7bGV0IE09ITE7aWYoUCYmKE89PT0iJiJ8fE89PT0iISIpKXtsZXQgUz1fLmluZGV4T2YoIiAiKTtPPT09IiYiJiZTIT09LTEmJlM8VCYmX1tTKzFdPT09IiEiJiYoUz1fLmluZGV4T2YoIiAiLFMrMSkpLChTPT09LTF8fFQ8UykmJihNPSEwKX1NfHwoej1gCiR7dC5pbmRlbnR9YCl9fWVsc2UoXz09PSIifHxfWzBdPT09YApgKSYmKHo9IiIpO3JldHVybiBnKz16K18sdC5pbkZsb3c/TiYmciYmcigpOkMmJiFOP2crPWgxKGcsdC5pbmRlbnQsYyhDKSk6YiYmaSYmaSgpLGd9dmFyIFI0dD1mKCgpPT57JGEoKTtwcygpO2RnKCk7aWcoKTtzKFJjZSwic3RyaW5naWZ5UGFpciIpfSk7ZnVuY3Rpb24gQXhhKGEsLi4uZSl7YT09PSJkZWJ1ZyImJmNvbnNvbGUubG9nKC4uLmUpfWZ1bmN0aW9uIHVnKGEsZSl7KGE9PT0iZGVidWcifHxhPT09Indhcm4iKSYmY29uc29sZS53YXJuKGUpfXZhciBPY2U9ZigoKT0+e3MoQXhhLCJkZWJ1ZyIpO3ModWcsIndhcm4iKX0pO2Z1bmN0aW9uIE5YKGEsZSx0KXtsZXQgcj1PNHQoYSx0KTtpZihEbyhyKSlmb3IobGV0IGkgb2Ygci5pdGVtcylGY2UoYSxlLGkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSlmb3IobGV0IGkgb2YgcilGY2UoYSxlLGkpO2Vsc2UgRmNlKGEsZSxyKX1mdW5jdGlvbiBGY2UoYSxlLHQpe2xldCByPU80dChhLHQpO2lmKCEkbyhyKSl0aHJvdyBuZXcgRXJyb3IoIk1lcmdlIHNvdXJjZXMgbXVzdCBiZSBtYXBzIG9yIG1hcCBhbGlhc2VzIik7bGV0IGk9ci50b0pTT04obnVsbCxhLE1hcCk7Zm9yKGxldFtvLG5db2YgaSllIGluc3RhbmNlb2YgTWFwP2UuaGFzKG8pfHxlLnNldChvLG4pOmUgaW5zdGFuY2VvZiBTZXQ/ZS5hZGQobyk6T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbyl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG8se3ZhbHVlOm4sd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gZX1mdW5jdGlvbiBPNHQoYSxlKXtyZXR1cm4gYSYmVG8oZSk/ZS5yZXNvbHZlKGEuZG9jLGEpOmV9dmFyIElYLHpuLEJjZSxSWD1mKCgpPT57JGEoKTtwcygpO0lYPSI8PCIsem49e2lkZW50aWZ5OnMoYT0+YT09PUlYfHx0eXBlb2YgYT09InN5bWJvbCImJmEuZGVzY3JpcHRpb249PT1JWCwiaWRlbnRpZnkiKSxkZWZhdWx0OiJrZXkiLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6bWVyZ2UiLHRlc3Q6L148PCQvLHJlc29sdmU6cygoKT0+T2JqZWN0LmFzc2lnbihuZXcgaHQoU3ltYm9sKElYKSkse2FkZFRvSlNNYXA6Tlh9KSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpzKCgpPT5JWCwic3RyaW5naWZ5Iil9LEJjZT1zKChhLGUpPT4oem4uaWRlbnRpZnkoZSl8fFZ0KGUpJiYoIWUudHlwZXx8ZS50eXBlPT09aHQuUExBSU4pJiZ6bi5pZGVudGlmeShlLnZhbHVlKSkmJmE/LmRvYy5zY2hlbWEudGFncy5zb21lKHQ9PnQudGFnPT09em4udGFnJiZ0LmRlZmF1bHQpLCJpc01lcmdlS2V5Iik7cyhOWCwiYWRkTWVyZ2VUb0pTTWFwIik7cyhGY2UsIm1lcmdlVmFsdWUiKTtzKE80dCwicmVzb2x2ZUFsaWFzVmFsdWUiKX0pO2Z1bmN0aW9uIHBnKGEsZSx7a2V5OnQsdmFsdWU6cn0pe2lmKGRhKHQpJiZ0LmFkZFRvSlNNYXApdC5hZGRUb0pTTWFwKGEsZSxyKTtlbHNlIGlmKEJjZShhLHQpKU5YKGEsZSxyKTtlbHNle2xldCBpPXVzKHQsIiIsYSk7aWYoZSBpbnN0YW5jZW9mIE1hcCllLnNldChpLHVzKHIsaSxhKSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgU2V0KWUuYWRkKGkpO2Vsc2V7bGV0IG89UHhhKHQsaSxhKSxuPXVzKHIsbyxhKTtvIGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbyx7dmFsdWU6bix3cml0YWJsZTohMCxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pOmVbb109bn19cmV0dXJuIGV9ZnVuY3Rpb24gUHhhKGEsZSx0KXtpZihlPT09bnVsbClyZXR1cm4iIjtpZih0eXBlb2YgZSE9Im9iamVjdCIpcmV0dXJuIFN0cmluZyhlKTtpZihkYShhKSYmdD8uZG9jKXtsZXQgcj1jZyh0LmRvYyx7fSk7ci5hbmNob3JzPW5ldyBTZXQ7Zm9yKGxldCBvIG9mIHQuYW5jaG9ycy5rZXlzKCkpci5hbmNob3JzLmFkZChvLmFuY2hvcik7ci5pbkZsb3c9ITAsci5pblN0cmluZ2lmeUtleT0hMDtsZXQgaT1hLnRvU3RyaW5nKHIpO2lmKCF0Lm1hcEtleVdhcm5lZCl7bGV0IG89SlNPTi5zdHJpbmdpZnkoaSk7by5sZW5ndGg+NDAmJihvPW8uc3Vic3RyaW5nKDAsMzYpKycuLi4iJyksdWcodC5kb2Mub3B0aW9ucy5sb2dMZXZlbCxgS2V5cyB3aXRoIGNvbGxlY3Rpb24gdmFsdWVzIHdpbGwgYmUgc3RyaW5naWZpZWQgZHVlIHRvIEpTIE9iamVjdCByZXN0cmljdGlvbnM6ICR7b30uIFNldCBtYXBBc01hcDogdHJ1ZSB0byB1c2Ugb2JqZWN0IGtleXMuYCksdC5tYXBLZXlXYXJuZWQ9ITB9cmV0dXJuIGl9cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfXZhciBIY2U9ZigoKT0+e09jZSgpO1JYKCk7ZGcoKTskYSgpO3owKCk7cyhwZywiYWRkUGFpclRvSlNNYXAiKTtzKFB4YSwic3RyaW5naWZ5S2V5Iil9KTtmdW5jdGlvbiBQMyhhLGUsdCl7bGV0IHI9TDIoYSx2b2lkIDAsdCksaT1MMihlLHZvaWQgMCx0KTtyZXR1cm4gbmV3IHVyKHIsaSl9dmFyIHVyLEMwPWYoKCk9PntzZygpO1I0dCgpO0hjZSgpOyRhKCk7cyhQMywiY3JlYXRlUGFpciIpO3VyPWNsYXNzIGF7c3RhdGlje3ModGhpcywiUGFpciIpfWNvbnN0cnVjdG9yKGUsdD1udWxsKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxfaSx7dmFsdWU6U1h9KSx0aGlzLmtleT1lLHRoaXMudmFsdWU9dH1jbG9uZShlKXtsZXR7a2V5OnQsdmFsdWU6cn09dGhpcztyZXR1cm4gZGEodCkmJih0PXQuY2xvbmUoZSkpLGRhKHIpJiYocj1yLmNsb25lKGUpKSxuZXcgYSh0LHIpfXRvSlNPTihlLHQpe2xldCByPXQ/Lm1hcEFzTWFwP25ldyBNYXA6e307cmV0dXJuIHBnKHQscix0aGlzKX10b1N0cmluZyhlLHQscil7cmV0dXJuIGU/LmRvYz9SY2UodGhpcyxlLHQscik6SlNPTi5zdHJpbmdpZnkodGhpcyl9fX0pO2Z1bmN0aW9uIGZnKGEsZSx0KXtyZXR1cm4oZS5pbkZsb3c/P2EuZmxvdz9JeGE6RXhhKShhLGUsdCl9ZnVuY3Rpb24gRXhhKHtjb21tZW50OmEsaXRlbXM6ZX0sdCx7YmxvY2tJdGVtUHJlZml4OnIsZmxvd0NoYXJzOmksaXRlbUluZGVudDpvLG9uQ2hvbXBLZWVwOm4sb25Db21tZW50Omx9KXtsZXR7aW5kZW50OmQsb3B0aW9uczp7Y29tbWVudFN0cmluZzpjfX09dCxwPU9iamVjdC5hc3NpZ24oe30sdCx7aW5kZW50Om8sdHlwZTpudWxsfSksdT0hMSxtPVtdO2ZvcihsZXQgeD0wO3g8ZS5sZW5ndGg7Kyt4KXtsZXQgYj1lW3hdLGc9bnVsbDtpZihkYShiKSkhdSYmYi5zcGFjZUJlZm9yZSYmbS5wdXNoKCIiKSxPWCh0LG0sYi5jb21tZW50QmVmb3JlLHUpLGIuY29tbWVudCYmKGc9Yi5jb21tZW50KTtlbHNlIGlmKHJhKGIpKXtsZXQgaz1kYShiLmtleSk/Yi5rZXk6bnVsbDtrJiYoIXUmJmsuc3BhY2VCZWZvcmUmJm0ucHVzaCgiIiksT1godCxtLGsuY29tbWVudEJlZm9yZSx1KSl9dT0hMTtsZXQgeT1EMihiLHAsKCk9Pmc9bnVsbCwoKT0+dT0hMCk7ZyYmKHkrPWgxKHksbyxjKGcpKSksdSYmZyYmKHU9ITEpLG0ucHVzaChyK3kpfWxldCB2O2lmKG0ubGVuZ3RoPT09MCl2PWkuc3RhcnQraS5lbmQ7ZWxzZXt2PW1bMF07Zm9yKGxldCB4PTE7eDxtLmxlbmd0aDsrK3gpe2xldCBiPW1beF07dis9Yj9gCiR7ZH0ke2J9YDpgCmB9fXJldHVybiBhPyh2Kz1gCmArS28oYyhhKSxkKSxsJiZsKCkpOnUmJm4mJm4oKSx2fWZ1bmN0aW9uIEl4YSh7aXRlbXM6YX0sZSx7Zmxvd0NoYXJzOnQsaXRlbUluZGVudDpyfSl7bGV0e2luZGVudDppLGluZGVudFN0ZXA6byxmbG93Q29sbGVjdGlvblBhZGRpbmc6bixvcHRpb25zOntjb21tZW50U3RyaW5nOmx9fT1lO3IrPW87bGV0IGQ9T2JqZWN0LmFzc2lnbih7fSxlLHtpbmRlbnQ6cixpbkZsb3c6ITAsdHlwZTpudWxsfSksYz0hMSxwPTAsdT1bXTtmb3IobGV0IHg9MDt4PGEubGVuZ3RoOysreCl7bGV0IGI9YVt4XSxnPW51bGw7aWYoZGEoYikpYi5zcGFjZUJlZm9yZSYmdS5wdXNoKCIiKSxPWChlLHUsYi5jb21tZW50QmVmb3JlLCExKSxiLmNvbW1lbnQmJihnPWIuY29tbWVudCk7ZWxzZSBpZihyYShiKSl7bGV0IGs9ZGEoYi5rZXkpP2Iua2V5Om51bGw7ayYmKGsuc3BhY2VCZWZvcmUmJnUucHVzaCgiIiksT1goZSx1LGsuY29tbWVudEJlZm9yZSwhMSksay5jb21tZW50JiYoYz0hMCkpO2xldCBDPWRhKGIudmFsdWUpP2IudmFsdWU6bnVsbDtDPyhDLmNvbW1lbnQmJihnPUMuY29tbWVudCksQy5jb21tZW50QmVmb3JlJiYoYz0hMCkpOmIudmFsdWU9PW51bGwmJms/LmNvbW1lbnQmJihnPWsuY29tbWVudCl9ZyYmKGM9ITApO2xldCB5PUQyKGIsZCwoKT0+Zz1udWxsKTtjfHwoYz11Lmxlbmd0aD5wfHx5LmluY2x1ZGVzKGAKYCkpLHg8YS5sZW5ndGgtMT95Kz0iLCI6ZS5vcHRpb25zLnRyYWlsaW5nQ29tbWEmJihlLm9wdGlvbnMubGluZVdpZHRoPjAmJihjfHwoYz11LnJlZHVjZSgoayxDKT0+aytDLmxlbmd0aCsyLDIpKyh5Lmxlbmd0aCsyKT5lLm9wdGlvbnMubGluZVdpZHRoKSksYyYmKHkrPSIsIikpLGcmJih5Kz1oMSh5LHIsbChnKSkpLHUucHVzaCh5KSxwPXUubGVuZ3RofWxldHtzdGFydDptLGVuZDp2fT10O2lmKHUubGVuZ3RoPT09MClyZXR1cm4gbSt2O2lmKCFjKXtsZXQgeD11LnJlZHVjZSgoYixnKT0+YitnLmxlbmd0aCsyLDIpO2M9ZS5vcHRpb25zLmxpbmVXaWR0aD4wJiZ4PmUub3B0aW9ucy5saW5lV2lkdGh9aWYoYyl7bGV0IHg9bTtmb3IobGV0IGIgb2YgdSl4Kz1iP2AKJHtvfSR7aX0ke2J9YDpgCmA7cmV0dXJuYCR7eH0KJHtpfSR7dn1gfWVsc2UgcmV0dXJuYCR7bX0ke259JHt1LmpvaW4oIiAiKX0ke259JHt2fWB9ZnVuY3Rpb24gT1goe2luZGVudDphLG9wdGlvbnM6e2NvbW1lbnRTdHJpbmc6ZX19LHQscixpKXtpZihyJiZpJiYocj1yLnJlcGxhY2UoL15cbisvLCIiKSkscil7bGV0IG89S28oZShyKSxhKTt0LnB1c2goby50cmltU3RhcnQoKSl9fXZhciBxY2U9ZigoKT0+eyRhKCk7ZGcoKTtpZygpO3MoZmcsInN0cmluZ2lmeUNvbGxlY3Rpb24iKTtzKEV4YSwic3RyaW5naWZ5QmxvY2tDb2xsZWN0aW9uIik7cyhJeGEsInN0cmluZ2lmeUZsb3dDb2xsZWN0aW9uIik7cyhPWCwiYWRkQ29tbWVudEJlZm9yZSIpfSk7ZnVuY3Rpb24gUGwoYSxlKXtsZXQgdD1WdChlKT9lLnZhbHVlOmU7Zm9yKGxldCByIG9mIGEpaWYocmEocikmJihyLmtleT09PWV8fHIua2V5PT09dHx8VnQoci5rZXkpJiZyLmtleS52YWx1ZT09PXQpKXJldHVybiByfXZhciB5cixfMD1mKCgpPT57cWNlKCk7SGNlKCk7JFgoKTskYSgpO0MwKCk7cHMoKTtzKFBsLCJmaW5kUGFpciIpO3lyPWNsYXNzIGV4dGVuZHMgRDN7c3RhdGlje3ModGhpcywiWUFNTE1hcCIpfXN0YXRpYyBnZXQgdGFnTmFtZSgpe3JldHVybiJ0YWc6eWFtbC5vcmcsMjAwMjptYXAifWNvbnN0cnVjdG9yKGUpe3N1cGVyKGtuLGUpLHRoaXMuaXRlbXM9W119c3RhdGljIGZyb20oZSx0LHIpe2xldHtrZWVwVW5kZWZpbmVkOmkscmVwbGFjZXI6b309cixuPW5ldyB0aGlzKGUpLGw9cygoZCxjKT0+e2lmKHR5cGVvZiBvPT0iZnVuY3Rpb24iKWM9by5jYWxsKHQsZCxjKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkobykmJiFvLmluY2x1ZGVzKGQpKXJldHVybjsoYyE9PXZvaWQgMHx8aSkmJm4uaXRlbXMucHVzaChQMyhkLGMscikpfSwiYWRkIik7aWYodCBpbnN0YW5jZW9mIE1hcClmb3IobGV0W2QsY11vZiB0KWwoZCxjKTtlbHNlIGlmKHQmJnR5cGVvZiB0PT0ib2JqZWN0Iilmb3IobGV0IGQgb2YgT2JqZWN0LmtleXModCkpbChkLHRbZF0pO3JldHVybiB0eXBlb2YgZS5zb3J0TWFwRW50cmllcz09ImZ1bmN0aW9uIiYmbi5pdGVtcy5zb3J0KGUuc29ydE1hcEVudHJpZXMpLG59YWRkKGUsdCl7bGV0IHI7cmEoZSk/cj1lOiFlfHx0eXBlb2YgZSE9Im9iamVjdCJ8fCEoImtleSJpbiBlKT9yPW5ldyB1cihlLGU/LnZhbHVlKTpyPW5ldyB1cihlLmtleSxlLnZhbHVlKTtsZXQgaT1QbCh0aGlzLml0ZW1zLHIua2V5KSxvPXRoaXMuc2NoZW1hPy5zb3J0TWFwRW50cmllcztpZihpKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoYEtleSAke3Iua2V5fSBhbHJlYWR5IHNldGApO1Z0KGkudmFsdWUpJiZyZyhyLnZhbHVlKT9pLnZhbHVlLnZhbHVlPXIudmFsdWU6aS52YWx1ZT1yLnZhbHVlfWVsc2UgaWYobyl7bGV0IG49dGhpcy5pdGVtcy5maW5kSW5kZXgobD0+byhyLGwpPDApO249PT0tMT90aGlzLml0ZW1zLnB1c2gocik6dGhpcy5pdGVtcy5zcGxpY2UobiwwLHIpfWVsc2UgdGhpcy5pdGVtcy5wdXNoKHIpfWRlbGV0ZShlKXtsZXQgdD1QbCh0aGlzLml0ZW1zLGUpO3JldHVybiB0P3RoaXMuaXRlbXMuc3BsaWNlKHRoaXMuaXRlbXMuaW5kZXhPZih0KSwxKS5sZW5ndGg+MDohMX1nZXQoZSx0KXtsZXQgaT1QbCh0aGlzLml0ZW1zLGUpPy52YWx1ZTtyZXR1cm4oIXQmJlZ0KGkpP2kudmFsdWU6aSk/P3ZvaWQgMH1oYXMoZSl7cmV0dXJuISFQbCh0aGlzLml0ZW1zLGUpfXNldChlLHQpe3RoaXMuYWRkKG5ldyB1cihlLHQpLCEwKX10b0pTT04oZSx0LHIpe2xldCBpPXI/bmV3IHI6dD8ubWFwQXNNYXA/bmV3IE1hcDp7fTt0Py5vbkNyZWF0ZSYmdC5vbkNyZWF0ZShpKTtmb3IobGV0IG8gb2YgdGhpcy5pdGVtcylwZyh0LGksbyk7cmV0dXJuIGl9dG9TdHJpbmcoZSx0LHIpe2lmKCFlKXJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzKTtmb3IobGV0IGkgb2YgdGhpcy5pdGVtcylpZighcmEoaSkpdGhyb3cgbmV3IEVycm9yKGBNYXAgaXRlbXMgbXVzdCBhbGwgYmUgcGFpcnM7IGZvdW5kICR7SlNPTi5zdHJpbmdpZnkoaSl9IGluc3RlYWRgKTtyZXR1cm4hZS5hbGxOdWxsVmFsdWVzJiZ0aGlzLmhhc0FsbE51bGxWYWx1ZXMoITEpJiYoZT1PYmplY3QuYXNzaWduKHt9LGUse2FsbE51bGxWYWx1ZXM6ITB9KSksZmcodGhpcyxlLHtibG9ja0l0ZW1QcmVmaXg6IiIsZmxvd0NoYXJzOntzdGFydDoieyIsZW5kOiJ9In0saXRlbUluZGVudDplLmluZGVudHx8IiIsb25DaG9tcEtlZXA6cixvbkNvbW1lbnQ6dH0pfX19KTt2YXIgQ24sWGg9ZigoKT0+eyRhKCk7XzAoKTtDbj17Y29sbGVjdGlvbjoibWFwIixkZWZhdWx0OiEwLG5vZGVDbGFzczp5cix0YWc6InRhZzp5YW1sLm9yZywyMDAyOm1hcCIscmVzb2x2ZShhLGUpe3JldHVybiAkbyhhKXx8ZSgiRXhwZWN0ZWQgYSBtYXBwaW5nIGZvciB0aGlzIHRhZyIpLGF9LGNyZWF0ZU5vZGU6cygoYSxlLHQpPT55ci5mcm9tKGEsZSx0KSwiY3JlYXRlTm9kZSIpfX0pO2Z1bmN0aW9uIEZYKGEpe2xldCBlPVZ0KGEpP2EudmFsdWU6YTtyZXR1cm4gZSYmdHlwZW9mIGU9PSJzdHJpbmciJiYoZT1OdW1iZXIoZSkpLHR5cGVvZiBlPT0ibnVtYmVyIiYmTnVtYmVyLmlzSW50ZWdlcihlKSYmZT49MD9lOm51bGx9dmFyIERzLFQwPWYoKCk9PntzZygpO3FjZSgpOyRYKCk7JGEoKTtwcygpO3owKCk7RHM9Y2xhc3MgZXh0ZW5kcyBEM3tzdGF0aWN7cyh0aGlzLCJZQU1MU2VxIil9c3RhdGljIGdldCB0YWdOYW1lKCl7cmV0dXJuInRhZzp5YW1sLm9yZywyMDAyOnNlcSJ9Y29uc3RydWN0b3IoZSl7c3VwZXIoXzIsZSksdGhpcy5pdGVtcz1bXX1hZGQoZSl7dGhpcy5pdGVtcy5wdXNoKGUpfWRlbGV0ZShlKXtsZXQgdD1GWChlKTtyZXR1cm4gdHlwZW9mIHQhPSJudW1iZXIiPyExOnRoaXMuaXRlbXMuc3BsaWNlKHQsMSkubGVuZ3RoPjB9Z2V0KGUsdCl7bGV0IHI9RlgoZSk7aWYodHlwZW9mIHIhPSJudW1iZXIiKXJldHVybjtsZXQgaT10aGlzLml0ZW1zW3JdO3JldHVybiF0JiZWdChpKT9pLnZhbHVlOml9aGFzKGUpe2xldCB0PUZYKGUpO3JldHVybiB0eXBlb2YgdD09Im51bWJlciImJnQ8dGhpcy5pdGVtcy5sZW5ndGh9c2V0KGUsdCl7bGV0IHI9RlgoZSk7aWYodHlwZW9mIHIhPSJudW1iZXIiKXRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgYSB2YWxpZCBpbmRleCwgbm90ICR7ZX0uYCk7bGV0IGk9dGhpcy5pdGVtc1tyXTtWdChpKSYmcmcodCk/aS52YWx1ZT10OnRoaXMuaXRlbXNbcl09dH10b0pTT04oZSx0KXtsZXQgcj1bXTt0Py5vbkNyZWF0ZSYmdC5vbkNyZWF0ZShyKTtsZXQgaT0wO2ZvcihsZXQgbyBvZiB0aGlzLml0ZW1zKXIucHVzaCh1cyhvLFN0cmluZyhpKyspLHQpKTtyZXR1cm4gcn10b1N0cmluZyhlLHQscil7cmV0dXJuIGU/ZmcodGhpcyxlLHtibG9ja0l0ZW1QcmVmaXg6Ii0gIixmbG93Q2hhcnM6e3N0YXJ0OiJbIixlbmQ6Il0ifSxpdGVtSW5kZW50OihlLmluZGVudHx8IiIpKyIgICIsb25DaG9tcEtlZXA6cixvbkNvbW1lbnQ6dH0pOkpTT04uc3RyaW5naWZ5KHRoaXMpfXN0YXRpYyBmcm9tKGUsdCxyKXtsZXR7cmVwbGFjZXI6aX09cixvPW5ldyB0aGlzKGUpO2lmKHQmJlN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodCkpe2xldCBuPTA7Zm9yKGxldCBsIG9mIHQpe2lmKHR5cGVvZiBpPT0iZnVuY3Rpb24iKXtsZXQgZD10IGluc3RhbmNlb2YgU2V0P2w6U3RyaW5nKG4rKyk7bD1pLmNhbGwodCxkLGwpfW8uaXRlbXMucHVzaChMMihsLHZvaWQgMCxyKSl9fXJldHVybiBvfX07cyhGWCwiYXNJdGVtSW5kZXgiKX0pO3ZhciBfbixRaD1mKCgpPT57JGEoKTtUMCgpO19uPXtjb2xsZWN0aW9uOiJzZXEiLGRlZmF1bHQ6ITAsbm9kZUNsYXNzOkRzLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6c2VxIixyZXNvbHZlKGEsZSl7cmV0dXJuIERvKGEpfHxlKCJFeHBlY3RlZCBhIHNlcXVlbmNlIGZvciB0aGlzIHRhZyIpLGF9LGNyZWF0ZU5vZGU6cygoYSxlLHQpPT5Ecy5mcm9tKGEsZSx0KSwiY3JlYXRlTm9kZSIpfX0pO3ZhciBFbCxoZz1mKCgpPT57bGcoKTtFbD17aWRlbnRpZnk6cyhhPT50eXBlb2YgYT09InN0cmluZyIsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOnN0ciIscmVzb2x2ZTpzKGE9PmEsInJlc29sdmUiKSxzdHJpbmdpZnkoYSxlLHQscil7cmV0dXJuIGU9T2JqZWN0LmFzc2lnbih7YWN0dWFsU3RyaW5nOiEwfSxlKSwkMihhLGUsdCxyKX19fSk7dmFyIEwwLEJYPWYoKCk9PntwcygpO0wwPXtpZGVudGlmeTpzKGE9PmE9PW51bGwsImlkZW50aWZ5IiksY3JlYXRlTm9kZTpzKCgpPT5uZXcgaHQobnVsbCksImNyZWF0ZU5vZGUiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6bnVsbCIsdGVzdDovXig/On58W05uXXVsbHxOVUxMKT8kLyxyZXNvbHZlOnMoKCk9Pm5ldyBodChudWxsKSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpzKCh7c291cmNlOmF9LGUpPT50eXBlb2YgYT09InN0cmluZyImJkwwLnRlc3QudGVzdChhKT9hOmUub3B0aW9ucy5udWxsU3RyLCJzdHJpbmdpZnkiKX19KTt2YXIgSmgsVmNlPWYoKCk9PntwcygpO0poPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0iYm9vbGVhbiIsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmJvb2wiLHRlc3Q6L14oPzpbVHRdcnVlfFRSVUV8W0ZmXWFsc2V8RkFMU0UpJC8scmVzb2x2ZTpzKGE9Pm5ldyBodChhWzBdPT09InQifHxhWzBdPT09IlQiKSwicmVzb2x2ZSIpLHN0cmluZ2lmeSh7c291cmNlOmEsdmFsdWU6ZX0sdCl7aWYoYSYmSmgudGVzdC50ZXN0KGEpKXtsZXQgcj1hWzBdPT09InQifHxhWzBdPT09IlQiO2lmKGU9PT1yKXJldHVybiBhfXJldHVybiBlP3Qub3B0aW9ucy50cnVlU3RyOnQub3B0aW9ucy5mYWxzZVN0cn19fSk7ZnVuY3Rpb24gZWkoe2Zvcm1hdDphLG1pbkZyYWN0aW9uRGlnaXRzOmUsdGFnOnQsdmFsdWU6cn0pe2lmKHR5cGVvZiByPT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKHIpO2xldCBpPXR5cGVvZiByPT0ibnVtYmVyIj9yOk51bWJlcihyKTtpZighaXNGaW5pdGUoaSkpcmV0dXJuIGlzTmFOKGkpPyIubmFuIjppPDA/Ii0uaW5mIjoiLmluZiI7bGV0IG89T2JqZWN0LmlzKHIsLTApPyItMCI6SlNPTi5zdHJpbmdpZnkocik7aWYoIWEmJmUmJighdHx8dD09PSJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCIpJiYvXi0/XGQvLnRlc3QobykmJiFvLmluY2x1ZGVzKCJlIikpe2xldCBuPW8uaW5kZXhPZigiLiIpO248MCYmKG49by5sZW5ndGgsbys9Ii4iKTtsZXQgbD1lLShvLmxlbmd0aC1uLTEpO2Zvcig7bC0tID4wOylvKz0iMCJ9cmV0dXJuIG99dmFyIGU4PWYoKCk9PntzKGVpLCJzdHJpbmdpZnlOdW1iZXIiKX0pO3ZhciBtZyxnZyxiZyxqY2U9ZigoKT0+e3BzKCk7ZTgoKTttZz17aWRlbnRpZnk6cyhhPT50eXBlb2YgYT09Im51bWJlciIsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmZsb2F0Iix0ZXN0Oi9eKD86Wy0rXT9cLig/OmluZnxJbmZ8SU5GKXxcLm5hbnxcLk5hTnxcLk5BTikkLyxyZXNvbHZlOnMoYT0+YS5zbGljZSgtMykudG9Mb3dlckNhc2UoKT09PSJuYW4iP05hTjphWzBdPT09Ii0iP051bWJlci5ORUdBVElWRV9JTkZJTklUWTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksInJlc29sdmUiKSxzdHJpbmdpZnk6ZWl9LGdnPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLGZvcm1hdDoiRVhQIix0ZXN0Oi9eWy0rXT8oPzpcLlswLTldK3xbMC05XSsoPzpcLlswLTldKik/KVtlRV1bLStdP1swLTldKyQvLHJlc29sdmU6cyhhPT5wYXJzZUZsb2F0KGEpLCJyZXNvbHZlIiksc3RyaW5naWZ5KGEpe2xldCBlPU51bWJlcihhLnZhbHVlKTtyZXR1cm4gaXNGaW5pdGUoZSk/ZS50b0V4cG9uZW50aWFsKCk6ZWkoYSl9fSxiZz17aWRlbnRpZnk6cyhhPT50eXBlb2YgYT09Im51bWJlciIsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmZsb2F0Iix0ZXN0Oi9eWy0rXT8oPzpcLlswLTldK3xbMC05XStcLlswLTldKikkLyxyZXNvbHZlKGEpe2xldCBlPW5ldyBodChwYXJzZUZsb2F0KGEpKSx0PWEuaW5kZXhPZigiLiIpO3JldHVybiB0IT09LTEmJmFbYS5sZW5ndGgtMV09PT0iMCImJihlLm1pbkZyYWN0aW9uRGlnaXRzPWEubGVuZ3RoLXQtMSksZX0sc3RyaW5naWZ5OmVpfX0pO2Z1bmN0aW9uIEY0dChhLGUsdCl7bGV0e3ZhbHVlOnJ9PWE7cmV0dXJuIEhYKHIpJiZyPj0wP3Qrci50b1N0cmluZyhlKTplaShhKX12YXIgSFgsVWNlLHZnLHhnLHlnLFdjZT1mKCgpPT57ZTgoKTtIWD1zKGE9PnR5cGVvZiBhPT0iYmlnaW50Inx8TnVtYmVyLmlzSW50ZWdlcihhKSwiaW50SWRlbnRpZnkiKSxVY2U9cygoYSxlLHQse2ludEFzQmlnSW50OnJ9KT0+cj9CaWdJbnQoYSk6cGFyc2VJbnQoYS5zdWJzdHJpbmcoZSksdCksImludFJlc29sdmUiKTtzKEY0dCwiaW50U3RyaW5naWZ5Iik7dmc9e2lkZW50aWZ5OnMoYT0+SFgoYSkmJmE+PTAsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmludCIsZm9ybWF0OiJPQ1QiLHRlc3Q6L14wb1swLTddKyQvLHJlc29sdmU6cygoYSxlLHQpPT5VY2UoYSwyLDgsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5GNHQoYSw4LCIwbyIpLCJzdHJpbmdpZnkiKX0seGc9e2lkZW50aWZ5OkhYLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLHRlc3Q6L15bLStdP1swLTldKyQvLHJlc29sdmU6cygoYSxlLHQpPT5VY2UoYSwwLDEwLHQpLCJyZXNvbHZlIiksc3RyaW5naWZ5OmVpfSx5Zz17aWRlbnRpZnk6cyhhPT5IWChhKSYmYT49MCwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6aW50Iixmb3JtYXQ6IkhFWCIsdGVzdDovXjB4WzAtOWEtZkEtRl0rJC8scmVzb2x2ZTpzKChhLGUsdCk9PlVjZShhLDIsMTYsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5GNHQoYSwxNiwiMHgiKSwic3RyaW5naWZ5Iil9fSk7dmFyIEdjZSxCNHQ9ZigoKT0+e1hoKCk7QlgoKTtRaCgpO2hnKCk7VmNlKCk7amNlKCk7V2NlKCk7R2NlPVtDbixfbixFbCxMMCxKaCx2Zyx4Zyx5ZyxtZyxnZyxiZ119KTtmdW5jdGlvbiBINHQoYSl7cmV0dXJuIHR5cGVvZiBhPT0iYmlnaW50Inx8TnVtYmVyLmlzSW50ZWdlcihhKX12YXIgcVgsTnhhLFJ4YSxZY2UscTR0PWYoKCk9PntwcygpO1hoKCk7UWgoKTtzKEg0dCwiaW50SWRlbnRpZnkiKTtxWD1zKCh7dmFsdWU6YX0pPT5KU09OLnN0cmluZ2lmeShhKSwic3RyaW5naWZ5SlNPTiIpLE54YT1be2lkZW50aWZ5OnMoYT0+dHlwZW9mIGE9PSJzdHJpbmciLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpzdHIiLHJlc29sdmU6cyhhPT5hLCJyZXNvbHZlIiksc3RyaW5naWZ5OnFYfSx7aWRlbnRpZnk6cyhhPT5hPT1udWxsLCJpZGVudGlmeSIpLGNyZWF0ZU5vZGU6cygoKT0+bmV3IGh0KG51bGwpLCJjcmVhdGVOb2RlIiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOm51bGwiLHRlc3Q6L15udWxsJC8scmVzb2x2ZTpzKCgpPT5udWxsLCJyZXNvbHZlIiksc3RyaW5naWZ5OnFYfSx7aWRlbnRpZnk6cyhhPT50eXBlb2YgYT09ImJvb2xlYW4iLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpib29sIix0ZXN0Oi9edHJ1ZSR8XmZhbHNlJC8scmVzb2x2ZTpzKGE9PmE9PT0idHJ1ZSIsInJlc29sdmUiKSxzdHJpbmdpZnk6cVh9LHtpZGVudGlmeTpINHQsZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmludCIsdGVzdDovXi0/KD86MHxbMS05XVswLTldKikkLyxyZXNvbHZlOnMoKGEsZSx7aW50QXNCaWdJbnQ6dH0pPT50P0JpZ0ludChhKTpwYXJzZUludChhLDEwKSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpzKCh7dmFsdWU6YX0pPT5INHQoYSk/YS50b1N0cmluZygpOkpTT04uc3RyaW5naWZ5KGEpLCJzdHJpbmdpZnkiKX0se2lkZW50aWZ5OnMoYT0+dHlwZW9mIGE9PSJudW1iZXIiLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCIsdGVzdDovXi0/KD86MHxbMS05XVswLTldKikoPzpcLlswLTldKik/KD86W2VFXVstK10/WzAtOV0rKT8kLyxyZXNvbHZlOnMoYT0+cGFyc2VGbG9hdChhKSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpxWH1dLFJ4YT17ZGVmYXVsdDohMCx0YWc6IiIsdGVzdDovXi8scmVzb2x2ZShhLGUpe3JldHVybiBlKGBVbnJlc29sdmVkIHBsYWluIHNjYWxhciAke0pTT04uc3RyaW5naWZ5KGEpfWApLGF9fSxZY2U9W0NuLF9uXS5jb25jYXQoTnhhLFJ4YSl9KTt2YXIgdDgsS2NlPWYoKCk9PntwcygpO2xnKCk7dDg9e2lkZW50aWZ5OnMoYT0+YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXksImlkZW50aWZ5IiksZGVmYXVsdDohMSx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmJpbmFyeSIscmVzb2x2ZShhLGUpe2lmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtsZXQgdD1hdG9iKGEucmVwbGFjZSgvW1xuXHJdL2csIiIpKSxyPW5ldyBVaW50OEFycmF5KHQubGVuZ3RoKTtmb3IobGV0IGk9MDtpPHQubGVuZ3RoOysraSlyW2ldPXQuY2hhckNvZGVBdChpKTtyZXR1cm4gcn1lbHNlIHJldHVybiBlKCJUaGlzIGVudmlyb25tZW50IGRvZXMgbm90IHN1cHBvcnQgcmVhZGluZyBiaW5hcnkgdGFnczsgZWl0aGVyIEJ1ZmZlciBvciBhdG9iIGlzIHJlcXVpcmVkIiksYX0sc3RyaW5naWZ5KHtjb21tZW50OmEsdHlwZTplLHZhbHVlOnR9LHIsaSxvKXtpZighdClyZXR1cm4iIjtsZXQgbj10LGw7aWYodHlwZW9mIGJ0b2E9PSJmdW5jdGlvbiIpe2xldCBkPSIiO2ZvcihsZXQgYz0wO2M8bi5sZW5ndGg7KytjKWQrPVN0cmluZy5mcm9tQ2hhckNvZGUobltjXSk7bD1idG9hKGQpfWVsc2UgdGhyb3cgbmV3IEVycm9yKCJUaGlzIGVudmlyb25tZW50IGRvZXMgbm90IHN1cHBvcnQgd3JpdGluZyBiaW5hcnkgdGFnczsgZWl0aGVyIEJ1ZmZlciBvciBidG9hIGlzIHJlcXVpcmVkIik7aWYoZT8/KGU9aHQuQkxPQ0tfTElURVJBTCksZSE9PWh0LlFVT1RFX0RPVUJMRSl7bGV0IGQ9TWF0aC5tYXgoci5vcHRpb25zLmxpbmVXaWR0aC1yLmluZGVudC5sZW5ndGgsci5vcHRpb25zLm1pbkNvbnRlbnRXaWR0aCksYz1NYXRoLmNlaWwobC5sZW5ndGgvZCkscD1uZXcgQXJyYXkoYyk7Zm9yKGxldCB1PTAsbT0wO3U8YzsrK3UsbSs9ZClwW3VdPWwuc3Vic3RyKG0sZCk7bD1wLmpvaW4oZT09PWh0LkJMT0NLX0xJVEVSQUw/YApgOiIgIil9cmV0dXJuICQyKHtjb21tZW50OmEsdHlwZTplLHZhbHVlOmx9LHIsaSxvKX19fSk7ZnVuY3Rpb24gVlgoYSxlKXtpZihEbyhhKSlmb3IobGV0IHQ9MDt0PGEuaXRlbXMubGVuZ3RoOysrdCl7bGV0IHI9YS5pdGVtc1t0XTtpZighcmEocikpe2lmKCRvKHIpKXtyLml0ZW1zLmxlbmd0aD4xJiZlKCJFYWNoIHBhaXIgbXVzdCBoYXZlIGl0cyBvd24gc2VxdWVuY2UgaW5kaWNhdG9yIik7bGV0IGk9ci5pdGVtc1swXXx8bmV3IHVyKG5ldyBodChudWxsKSk7aWYoci5jb21tZW50QmVmb3JlJiYoaS5rZXkuY29tbWVudEJlZm9yZT1pLmtleS5jb21tZW50QmVmb3JlP2Ake3IuY29tbWVudEJlZm9yZX0KJHtpLmtleS5jb21tZW50QmVmb3JlfWA6ci5jb21tZW50QmVmb3JlKSxyLmNvbW1lbnQpe2xldCBvPWkudmFsdWU/P2kua2V5O28uY29tbWVudD1vLmNvbW1lbnQ/YCR7ci5jb21tZW50fQoke28uY29tbWVudH1gOnIuY29tbWVudH1yPWl9YS5pdGVtc1t0XT1yYShyKT9yOm5ldyB1cihyKX19ZWxzZSBlKCJFeHBlY3RlZCBhIHNlcXVlbmNlIGZvciB0aGlzIHRhZyIpO3JldHVybiBhfWZ1bmN0aW9uIGpYKGEsZSx0KXtsZXR7cmVwbGFjZXI6cn09dCxpPW5ldyBEcyhhKTtpLnRhZz0idGFnOnlhbWwub3JnLDIwMDI6cGFpcnMiO2xldCBvPTA7aWYoZSYmU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChlKSlmb3IobGV0IG4gb2YgZSl7dHlwZW9mIHI9PSJmdW5jdGlvbiImJihuPXIuY2FsbChlLFN0cmluZyhvKyspLG4pKTtsZXQgbCxkO2lmKEFycmF5LmlzQXJyYXkobikpaWYobi5sZW5ndGg9PT0yKWw9blswXSxkPW5bMV07ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBba2V5LCB2YWx1ZV0gdHVwbGU6ICR7bn1gKTtlbHNlIGlmKG4mJm4gaW5zdGFuY2VvZiBPYmplY3Qpe2xldCBjPU9iamVjdC5rZXlzKG4pO2lmKGMubGVuZ3RoPT09MSlsPWNbMF0sZD1uW2xdO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgdHVwbGUgd2l0aCBvbmUga2V5LCBub3QgJHtjLmxlbmd0aH0ga2V5c2ApfWVsc2UgbD1uO2kuaXRlbXMucHVzaChQMyhsLGQsdCkpfXJldHVybiBpfXZhciBhOCxVWD1mKCgpPT57JGEoKTtDMCgpO3BzKCk7VDAoKTtzKFZYLCJyZXNvbHZlUGFpcnMiKTtzKGpYLCJjcmVhdGVQYWlycyIpO2E4PXtjb2xsZWN0aW9uOiJzZXEiLGRlZmF1bHQ6ITEsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpwYWlycyIscmVzb2x2ZTpWWCxjcmVhdGVOb2RlOmpYfX0pO3ZhciBFMyxyOCxaY2U9ZigoKT0+eyRhKCk7ejAoKTtfMCgpO1QwKCk7VVgoKTtFMz1jbGFzcyBhIGV4dGVuZHMgRHN7c3RhdGlje3ModGhpcywiWUFNTE9NYXAiKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5hZGQ9eXIucHJvdG90eXBlLmFkZC5iaW5kKHRoaXMpLHRoaXMuZGVsZXRlPXlyLnByb3RvdHlwZS5kZWxldGUuYmluZCh0aGlzKSx0aGlzLmdldD15ci5wcm90b3R5cGUuZ2V0LmJpbmQodGhpcyksdGhpcy5oYXM9eXIucHJvdG90eXBlLmhhcy5iaW5kKHRoaXMpLHRoaXMuc2V0PXlyLnByb3RvdHlwZS5zZXQuYmluZCh0aGlzKSx0aGlzLnRhZz1hLnRhZ310b0pTT04oZSx0KXtpZighdClyZXR1cm4gc3VwZXIudG9KU09OKGUpO2xldCByPW5ldyBNYXA7dD8ub25DcmVhdGUmJnQub25DcmVhdGUocik7Zm9yKGxldCBpIG9mIHRoaXMuaXRlbXMpe2xldCBvLG47aWYocmEoaSk/KG89dXMoaS5rZXksIiIsdCksbj11cyhpLnZhbHVlLG8sdCkpOm89dXMoaSwiIix0KSxyLmhhcyhvKSl0aHJvdyBuZXcgRXJyb3IoIk9yZGVyZWQgbWFwcyBtdXN0IG5vdCBpbmNsdWRlIGR1cGxpY2F0ZSBrZXlzIik7ci5zZXQobyxuKX1yZXR1cm4gcn1zdGF0aWMgZnJvbShlLHQscil7bGV0IGk9algoZSx0LHIpLG89bmV3IHRoaXM7cmV0dXJuIG8uaXRlbXM9aS5pdGVtcyxvfX07RTMudGFnPSJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwIjtyOD17Y29sbGVjdGlvbjoic2VxIixpZGVudGlmeTpzKGE9PmEgaW5zdGFuY2VvZiBNYXAsImlkZW50aWZ5Iiksbm9kZUNsYXNzOkUzLGRlZmF1bHQ6ITEsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwIixyZXNvbHZlKGEsZSl7bGV0IHQ9VlgoYSxlKSxyPVtdO2ZvcihsZXR7a2V5Oml9b2YgdC5pdGVtcylWdChpKSYmKHIuaW5jbHVkZXMoaS52YWx1ZSk/ZShgT3JkZXJlZCBtYXBzIG11c3Qgbm90IGluY2x1ZGUgZHVwbGljYXRlIGtleXM6ICR7aS52YWx1ZX1gKTpyLnB1c2goaS52YWx1ZSkpO3JldHVybiBPYmplY3QuYXNzaWduKG5ldyBFMyx0KX0sY3JlYXRlTm9kZTpzKChhLGUsdCk9PkUzLmZyb20oYSxlLHQpLCJjcmVhdGVOb2RlIil9fSk7ZnVuY3Rpb24gVjR0KHt2YWx1ZTphLHNvdXJjZTplfSx0KXtyZXR1cm4gZSYmKGE/V1g6R1gpLnRlc3QudGVzdChlKT9lOmE/dC5vcHRpb25zLnRydWVTdHI6dC5vcHRpb25zLmZhbHNlU3RyfXZhciBXWCxHWCxqNHQ9ZigoKT0+e3BzKCk7cyhWNHQsImJvb2xTdHJpbmdpZnkiKTtXWD17aWRlbnRpZnk6cyhhPT5hPT09ITAsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmJvb2wiLHRlc3Q6L14oPzpZfHl8W1l5XWVzfFlFU3xbVHRdcnVlfFRSVUV8W09vXW58T04pJC8scmVzb2x2ZTpzKCgpPT5uZXcgaHQoITApLCJyZXNvbHZlIiksc3RyaW5naWZ5OlY0dH0sR1g9e2lkZW50aWZ5OnMoYT0+YT09PSExLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpib29sIix0ZXN0Oi9eKD86TnxufFtObl1vfE5PfFtGZl1hbHNlfEZBTFNFfFtPb11mZnxPRkYpJC8scmVzb2x2ZTpzKCgpPT5uZXcgaHQoITEpLCJyZXNvbHZlIiksc3RyaW5naWZ5OlY0dH19KTt2YXIgWGNlLFFjZSxKY2UsVTR0PWYoKCk9PntwcygpO2U4KCk7WGNlPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLHRlc3Q6L14oPzpbLStdP1wuKD86aW5mfEluZnxJTkYpfFwubmFufFwuTmFOfFwuTkFOKSQvLHJlc29sdmU6cyhhPT5hLnNsaWNlKC0zKS50b0xvd2VyQ2FzZSgpPT09Im5hbiI/TmFOOmFbMF09PT0iLSI/TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOk51bWJlci5QT1NJVElWRV9JTkZJTklUWSwicmVzb2x2ZSIpLHN0cmluZ2lmeTplaX0sUWNlPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLGZvcm1hdDoiRVhQIix0ZXN0Oi9eWy0rXT8oPzpbMC05XVswLTlfXSopPyg/OlwuWzAtOV9dKik/W2VFXVstK10/WzAtOV0rJC8scmVzb2x2ZTpzKGE9PnBhcnNlRmxvYXQoYS5yZXBsYWNlKC9fL2csIiIpKSwicmVzb2x2ZSIpLHN0cmluZ2lmeShhKXtsZXQgZT1OdW1iZXIoYS52YWx1ZSk7cmV0dXJuIGlzRmluaXRlKGUpP2UudG9FeHBvbmVudGlhbCgpOmVpKGEpfX0sSmNlPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLHRlc3Q6L15bLStdPyg/OlswLTldWzAtOV9dKik/XC5bMC05X10qJC8scmVzb2x2ZShhKXtsZXQgZT1uZXcgaHQocGFyc2VGbG9hdChhLnJlcGxhY2UoL18vZywiIikpKSx0PWEuaW5kZXhPZigiLiIpO2lmKHQhPT0tMSl7bGV0IHI9YS5zdWJzdHJpbmcodCsxKS5yZXBsYWNlKC9fL2csIiIpO3Jbci5sZW5ndGgtMV09PT0iMCImJihlLm1pbkZyYWN0aW9uRGlnaXRzPXIubGVuZ3RoKX1yZXR1cm4gZX0sc3RyaW5naWZ5OmVpfX0pO2Z1bmN0aW9uIFlYKGEsZSx0LHtpbnRBc0JpZ0ludDpyfSl7bGV0IGk9YVswXTtpZigoaT09PSItInx8aT09PSIrIikmJihlKz0xKSxhPWEuc3Vic3RyaW5nKGUpLnJlcGxhY2UoL18vZywiIikscil7c3dpdGNoKHQpe2Nhc2UgMjphPWAwYiR7YX1gO2JyZWFrO2Nhc2UgODphPWAwbyR7YX1gO2JyZWFrO2Nhc2UgMTY6YT1gMHgke2F9YDticmVha31sZXQgbj1CaWdJbnQoYSk7cmV0dXJuIGk9PT0iLSI/QmlnSW50KC0xKSpuOm59bGV0IG89cGFyc2VJbnQoYSx0KTtyZXR1cm4gaT09PSItIj8tMSpvOm99ZnVuY3Rpb24gZTBlKGEsZSx0KXtsZXR7dmFsdWU6cn09YTtpZih3ZyhyKSl7bGV0IGk9ci50b1N0cmluZyhlKTtyZXR1cm4gcjwwPyItIit0K2kuc3Vic3RyKDEpOnQraX1yZXR1cm4gZWkoYSl9dmFyIHdnLHQwZSxhMGUscjBlLHMwZSxXNHQ9ZigoKT0+e2U4KCk7d2c9cyhhPT50eXBlb2YgYT09ImJpZ2ludCJ8fE51bWJlci5pc0ludGVnZXIoYSksImludElkZW50aWZ5Iik7cyhZWCwiaW50UmVzb2x2ZSIpO3MoZTBlLCJpbnRTdHJpbmdpZnkiKTt0MGU9e2lkZW50aWZ5OndnLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLGZvcm1hdDoiQklOIix0ZXN0Oi9eWy0rXT8wYlswLTFfXSskLyxyZXNvbHZlOnMoKGEsZSx0KT0+WVgoYSwyLDIsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5lMGUoYSwyLCIwYiIpLCJzdHJpbmdpZnkiKX0sYTBlPXtpZGVudGlmeTp3ZyxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6aW50Iixmb3JtYXQ6Ik9DVCIsdGVzdDovXlstK10/MFswLTdfXSskLyxyZXNvbHZlOnMoKGEsZSx0KT0+WVgoYSwxLDgsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5lMGUoYSw4LCIwIiksInN0cmluZ2lmeSIpfSxyMGU9e2lkZW50aWZ5OndnLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLHRlc3Q6L15bLStdP1swLTldWzAtOV9dKiQvLHJlc29sdmU6cygoYSxlLHQpPT5ZWChhLDAsMTAsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6ZWl9LHMwZT17aWRlbnRpZnk6d2csZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmludCIsZm9ybWF0OiJIRVgiLHRlc3Q6L15bLStdPzB4WzAtOWEtZkEtRl9dKyQvLHJlc29sdmU6cygoYSxlLHQpPT5ZWChhLDIsMTYsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5lMGUoYSwxNiwiMHgiKSwic3RyaW5naWZ5Iil9fSk7dmFyIEkzLHM4LGkwZT1mKCgpPT57JGEoKTtDMCgpO18wKCk7STM9Y2xhc3MgYSBleHRlbmRzIHlye3N0YXRpY3tzKHRoaXMsIllBTUxTZXQiKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLnRhZz1hLnRhZ31hZGQoZSl7bGV0IHQ7cmEoZSk/dD1lOmUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmImtleSJpbiBlJiYidmFsdWUiaW4gZSYmZS52YWx1ZT09PW51bGw/dD1uZXcgdXIoZS5rZXksbnVsbCk6dD1uZXcgdXIoZSxudWxsKSxQbCh0aGlzLml0ZW1zLHQua2V5KXx8dGhpcy5pdGVtcy5wdXNoKHQpfWdldChlLHQpe2xldCByPVBsKHRoaXMuaXRlbXMsZSk7cmV0dXJuIXQmJnJhKHIpP1Z0KHIua2V5KT9yLmtleS52YWx1ZTpyLmtleTpyfXNldChlLHQpe2lmKHR5cGVvZiB0IT0iYm9vbGVhbiIpdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBib29sZWFuIHZhbHVlIGZvciBzZXQoa2V5LCB2YWx1ZSkgaW4gYSBZQU1MIHNldCwgbm90ICR7dHlwZW9mIHR9YCk7bGV0IHI9UGwodGhpcy5pdGVtcyxlKTtyJiYhdD90aGlzLml0ZW1zLnNwbGljZSh0aGlzLml0ZW1zLmluZGV4T2YociksMSk6IXImJnQmJnRoaXMuaXRlbXMucHVzaChuZXcgdXIoZSkpfXRvSlNPTihlLHQpe3JldHVybiBzdXBlci50b0pTT04oZSx0LFNldCl9dG9TdHJpbmcoZSx0LHIpe2lmKCFlKXJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzKTtpZih0aGlzLmhhc0FsbE51bGxWYWx1ZXMoITApKXJldHVybiBzdXBlci50b1N0cmluZyhPYmplY3QuYXNzaWduKHt9LGUse2FsbE51bGxWYWx1ZXM6ITB9KSx0LHIpO3Rocm93IG5ldyBFcnJvcigiU2V0IGl0ZW1zIG11c3QgYWxsIGhhdmUgbnVsbCB2YWx1ZXMiKX1zdGF0aWMgZnJvbShlLHQscil7bGV0e3JlcGxhY2VyOml9PXIsbz1uZXcgdGhpcyhlKTtpZih0JiZTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KHQpKWZvcihsZXQgbiBvZiB0KXR5cGVvZiBpPT0iZnVuY3Rpb24iJiYobj1pLmNhbGwodCxuLG4pKSxvLml0ZW1zLnB1c2goUDMobixudWxsLHIpKTtyZXR1cm4gb319O0kzLnRhZz0idGFnOnlhbWwub3JnLDIwMDI6c2V0IjtzOD17Y29sbGVjdGlvbjoibWFwIixpZGVudGlmeTpzKGE9PmEgaW5zdGFuY2VvZiBTZXQsImlkZW50aWZ5Iiksbm9kZUNsYXNzOkkzLGRlZmF1bHQ6ITEsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpzZXQiLGNyZWF0ZU5vZGU6cygoYSxlLHQpPT5JMy5mcm9tKGEsZSx0KSwiY3JlYXRlTm9kZSIpLHJlc29sdmUoYSxlKXtpZigkbyhhKSl7aWYoYS5oYXNBbGxOdWxsVmFsdWVzKCEwKSlyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgSTMsYSk7ZSgiU2V0IGl0ZW1zIG11c3QgYWxsIGhhdmUgbnVsbCB2YWx1ZXMiKX1lbHNlIGUoIkV4cGVjdGVkIGEgbWFwcGluZyBmb3IgdGhpcyB0YWciKTtyZXR1cm4gYX19fSk7ZnVuY3Rpb24gbzBlKGEsZSl7bGV0IHQ9YVswXSxyPXQ9PT0iLSJ8fHQ9PT0iKyI/YS5zdWJzdHJpbmcoMSk6YSxpPXMobj0+ZT9CaWdJbnQobik6TnVtYmVyKG4pLCJudW0iKSxvPXIucmVwbGFjZSgvXy9nLCIiKS5zcGxpdCgiOiIpLnJlZHVjZSgobixsKT0+bippKDYwKStpKGwpLGkoMCkpO3JldHVybiB0PT09Ii0iP2koLTEpKm86b31mdW5jdGlvbiBHNHQoYSl7bGV0e3ZhbHVlOmV9PWEsdD1zKG49Pm4sIm51bSIpO2lmKHR5cGVvZiBlPT0iYmlnaW50Iil0PXMobj0+QmlnSW50KG4pLCJudW0iKTtlbHNlIGlmKGlzTmFOKGUpfHwhaXNGaW5pdGUoZSkpcmV0dXJuIGVpKGEpO2xldCByPSIiO2U8MCYmKHI9Ii0iLGUqPXQoLTEpKTtsZXQgaT10KDYwKSxvPVtlJWldO3JldHVybiBlPDYwP28udW5zaGlmdCgwKTooZT0oZS1vWzBdKS9pLG8udW5zaGlmdChlJWkpLGU+PTYwJiYoZT0oZS1vWzBdKS9pLG8udW5zaGlmdChlKSkpLHIrby5tYXAobj0+U3RyaW5nKG4pLnBhZFN0YXJ0KDIsIjAiKSkuam9pbigiOiIpLnJlcGxhY2UoLzAwMDAwMFxkKiQvLCIiKX12YXIgTWcsa2csTjMsbjBlPWYoKCk9PntlOCgpO3MobzBlLCJwYXJzZVNleGFnZXNpbWFsIik7cyhHNHQsInN0cmluZ2lmeVNleGFnZXNpbWFsIik7TWc9e2lkZW50aWZ5OnMoYT0+dHlwZW9mIGE9PSJiaWdpbnQifHxOdW1iZXIuaXNJbnRlZ2VyKGEpLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLGZvcm1hdDoiVElNRSIsdGVzdDovXlstK10/WzAtOV1bMC05X10qKD86OlswLTVdP1swLTldKSskLyxyZXNvbHZlOnMoKGEsZSx7aW50QXNCaWdJbnQ6dH0pPT5vMGUoYSx0KSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpHNHR9LGtnPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLGZvcm1hdDoiVElNRSIsdGVzdDovXlstK10/WzAtOV1bMC05X10qKD86OlswLTVdP1swLTldKStcLlswLTlfXSokLyxyZXNvbHZlOnMoYT0+bzBlKGEsITEpLCJyZXNvbHZlIiksc3RyaW5naWZ5Okc0dH0sTjM9e2lkZW50aWZ5OnMoYT0+YSBpbnN0YW5jZW9mIERhdGUsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOnRpbWVzdGFtcCIsdGVzdDpSZWdFeHAoIl4oWzAtOV17NH0pLShbMC05XXsxLDJ9KS0oWzAtOV17MSwyfSkoPzooPzp0fFR8WyBcXHRdKykoWzAtOV17MSwyfSk6KFswLTldezEsMn0pOihbMC05XXsxLDJ9KFxcLlswLTldKyk/KSg/OlsgXFx0XSooWnxbLStdWzAxMl0/WzAtOV0oPzo6WzAtOV17Mn0pPykpPyk/JCIpLHJlc29sdmUoYSl7bGV0IGU9YS5tYXRjaChOMy50ZXN0KTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIiEhdGltZXN0YW1wIGV4cGVjdHMgYSBkYXRlLCBzdGFydGluZyB3aXRoIHl5eXktbW0tZGQiKTtsZXRbLHQscixpLG8sbixsXT1lLm1hcChOdW1iZXIpLGQ9ZVs3XT9OdW1iZXIoKGVbN10rIjAwIikuc3Vic3RyKDEsMykpOjAsYz1EYXRlLlVUQyh0LHItMSxpLG98fDAsbnx8MCxsfHwwLGQpLHA9ZVs4XTtpZihwJiZwIT09IloiKXtsZXQgdT1vMGUocCwhMSk7TWF0aC5hYnModSk8MzAmJih1Kj02MCksYy09NmU0KnV9cmV0dXJuIG5ldyBEYXRlKGMpfSxzdHJpbmdpZnk6cygoe3ZhbHVlOmF9KT0+YT8udG9JU09TdHJpbmcoKS5yZXBsYWNlKC8oVDAwOjAwOjAwKT9cLjAwMFokLywiIik/PyIiLCJzdHJpbmdpZnkiKX19KTt2YXIgS1gsWTR0PWYoKCk9PntYaCgpO0JYKCk7UWgoKTtoZygpO0tjZSgpO2o0dCgpO1U0dCgpO1c0dCgpO1JYKCk7WmNlKCk7VVgoKTtpMGUoKTtuMGUoKTtLWD1bQ24sX24sRWwsTDAsV1gsR1gsdDBlLGEwZSxyMGUsczBlLFhjZSxRY2UsSmNlLHQ4LHpuLHI4LGE4LHM4LE1nLGtnLE4zXX0pO2Z1bmN0aW9uIFNnKGEsZSx0KXtsZXQgcj1LNHQuZ2V0KGUpO2lmKHImJiFhKXJldHVybiB0JiYhci5pbmNsdWRlcyh6bik/ci5jb25jYXQoem4pOnIuc2xpY2UoKTtsZXQgaT1yO2lmKCFpKWlmKEFycmF5LmlzQXJyYXkoYSkpaT1bXTtlbHNle2xldCBvPUFycmF5LmZyb20oSzR0LmtleXMoKSkuZmlsdGVyKG49Pm4hPT0ieWFtbDExIikubWFwKG49PkpTT04uc3RyaW5naWZ5KG4pKS5qb2luKCIsICIpO3Rocm93IG5ldyBFcnJvcihgVW5rbm93biBzY2hlbWEgIiR7ZX0iOyB1c2Ugb25lIG9mICR7b30gb3IgZGVmaW5lIGN1c3RvbVRhZ3MgYXJyYXlgKX1pZihBcnJheS5pc0FycmF5KGEpKWZvcihsZXQgbyBvZiBhKWk9aS5jb25jYXQobyk7ZWxzZSB0eXBlb2YgYT09ImZ1bmN0aW9uIiYmKGk9YShpLnNsaWNlKCkpKTtyZXR1cm4gdCYmKGk9aS5jb25jYXQoem4pKSxpLnJlZHVjZSgobyxuKT0+e2xldCBsPXR5cGVvZiBuPT0ic3RyaW5nIj9aNHRbbl06bjtpZighbCl7bGV0IGQ9SlNPTi5zdHJpbmdpZnkobiksYz1PYmplY3Qua2V5cyhaNHQpLm1hcChwPT5KU09OLnN0cmluZ2lmeShwKSkuam9pbigiLCAiKTt0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY3VzdG9tIHRhZyAke2R9OyB1c2Ugb25lIG9mICR7Y31gKX1yZXR1cm4gby5pbmNsdWRlcyhsKXx8by5wdXNoKGwpLG99LFtdKX12YXIgSzR0LFo0dCxsMGUsWDR0PWYoKCk9PntYaCgpO0JYKCk7UWgoKTtoZygpO1ZjZSgpO2pjZSgpO1djZSgpO0I0dCgpO3E0dCgpO0tjZSgpO1JYKCk7WmNlKCk7VVgoKTtZNHQoKTtpMGUoKTtuMGUoKTtLNHQ9bmV3IE1hcChbWyJjb3JlIixHY2VdLFsiZmFpbHNhZmUiLFtDbixfbixFbF1dLFsianNvbiIsWWNlXSxbInlhbWwxMSIsS1hdLFsieWFtbC0xLjEiLEtYXV0pLFo0dD17YmluYXJ5OnQ4LGJvb2w6SmgsZmxvYXQ6YmcsZmxvYXRFeHA6Z2csZmxvYXROYU46bWcsZmxvYXRUaW1lOmtnLGludDp4ZyxpbnRIZXg6eWcsaW50T2N0OnZnLGludFRpbWU6TWcsbWFwOkNuLG1lcmdlOnpuLG51bGw6TDAsb21hcDpyOCxwYWlyczphOCxzZXE6X24sc2V0OnM4LHRpbWVzdGFtcDpOM30sbDBlPXsidGFnOnlhbWwub3JnLDIwMDI6YmluYXJ5Ijp0OCwidGFnOnlhbWwub3JnLDIwMDI6bWVyZ2UiOnpuLCJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwIjpyOCwidGFnOnlhbWwub3JnLDIwMDI6cGFpcnMiOmE4LCJ0YWc6eWFtbC5vcmcsMjAwMjpzZXQiOnM4LCJ0YWc6eWFtbC5vcmcsMjAwMjp0aW1lc3RhbXAiOk4zfTtzKFNnLCJnZXRUYWdzIil9KTt2YXIgT3hhLCQwLGMwZT1mKCgpPT57JGEoKTtYaCgpO1FoKCk7aGcoKTtYNHQoKTtPeGE9cygoYSxlKT0+YS5rZXk8ZS5rZXk/LTE6YS5rZXk+ZS5rZXk/MTowLCJzb3J0TWFwRW50cmllc0J5S2V5IiksJDA9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTY2hlbWEiKX1jb25zdHJ1Y3Rvcih7Y29tcGF0OmUsY3VzdG9tVGFnczp0LG1lcmdlOnIscmVzb2x2ZUtub3duVGFnczppLHNjaGVtYTpvLHNvcnRNYXBFbnRyaWVzOm4sdG9TdHJpbmdEZWZhdWx0czpsfSl7dGhpcy5jb21wYXQ9QXJyYXkuaXNBcnJheShlKT9TZyhlLCJjb21wYXQiKTplP1NnKG51bGwsZSk6bnVsbCx0aGlzLm5hbWU9dHlwZW9mIG89PSJzdHJpbmciJiZvfHwiY29yZSIsdGhpcy5rbm93blRhZ3M9aT9sMGU6e30sdGhpcy50YWdzPVNnKHQsdGhpcy5uYW1lLHIpLHRoaXMudG9TdHJpbmdPcHRpb25zPWw/P251bGwsT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsa24se3ZhbHVlOkNufSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsX28se3ZhbHVlOkVsfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsXzIse3ZhbHVlOl9ufSksdGhpcy5zb3J0TWFwRW50cmllcz10eXBlb2Ygbj09ImZ1bmN0aW9uIj9uOm49PT0hMD9PeGE6bnVsbH1jbG9uZSgpe2xldCBlPU9iamVjdC5jcmVhdGUoYS5wcm90b3R5cGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModGhpcykpO3JldHVybiBlLnRhZ3M9dGhpcy50YWdzLnNsaWNlKCksZX19fSk7ZnVuY3Rpb24gZDBlKGEsZSl7bGV0IHQ9W10scj1lLmRpcmVjdGl2ZXM9PT0hMDtpZihlLmRpcmVjdGl2ZXMhPT0hMSYmYS5kaXJlY3RpdmVzKXtsZXQgZD1hLmRpcmVjdGl2ZXMudG9TdHJpbmcoYSk7ZD8odC5wdXNoKGQpLHI9ITApOmEuZGlyZWN0aXZlcy5kb2NTdGFydCYmKHI9ITApfXImJnQucHVzaCgiLS0tIik7bGV0IGk9Y2coYSxlKSx7Y29tbWVudFN0cmluZzpvfT1pLm9wdGlvbnM7aWYoYS5jb21tZW50QmVmb3JlKXt0Lmxlbmd0aCE9PTEmJnQudW5zaGlmdCgiIik7bGV0IGQ9byhhLmNvbW1lbnRCZWZvcmUpO3QudW5zaGlmdChLbyhkLCIiKSl9bGV0IG49ITEsbD1udWxsO2lmKGEuY29udGVudHMpe2lmKGRhKGEuY29udGVudHMpKXtpZihhLmNvbnRlbnRzLnNwYWNlQmVmb3JlJiZyJiZ0LnB1c2goIiIpLGEuY29udGVudHMuY29tbWVudEJlZm9yZSl7bGV0IHA9byhhLmNvbnRlbnRzLmNvbW1lbnRCZWZvcmUpO3QucHVzaChLbyhwLCIiKSl9aS5mb3JjZUJsb2NrSW5kZW50PSEhYS5jb21tZW50LGw9YS5jb250ZW50cy5jb21tZW50fWxldCBkPWw/dm9pZCAwOigpPT5uPSEwLGM9RDIoYS5jb250ZW50cyxpLCgpPT5sPW51bGwsZCk7bCYmKGMrPWgxKGMsIiIsbyhsKSkpLChjWzBdPT09InwifHxjWzBdPT09Ij4iKSYmdFt0Lmxlbmd0aC0xXT09PSItLS0iP3RbdC5sZW5ndGgtMV09YC0tLSAke2N9YDp0LnB1c2goYyl9ZWxzZSB0LnB1c2goRDIoYS5jb250ZW50cyxpKSk7aWYoYS5kaXJlY3RpdmVzPy5kb2NFbmQpaWYoYS5jb21tZW50KXtsZXQgZD1vKGEuY29tbWVudCk7ZC5pbmNsdWRlcyhgCmApPyh0LnB1c2goIi4uLiIpLHQucHVzaChLbyhkLCIiKSkpOnQucHVzaChgLi4uICR7ZH1gKX1lbHNlIHQucHVzaCgiLi4uIik7ZWxzZXtsZXQgZD1hLmNvbW1lbnQ7ZCYmbiYmKGQ9ZC5yZXBsYWNlKC9eXG4rLywiIikpLGQmJigoIW58fGwpJiZ0W3QubGVuZ3RoLTFdIT09IiImJnQucHVzaCgiIiksdC5wdXNoKEtvKG8oZCksIiIpKSl9cmV0dXJuIHQuam9pbihgCmApK2AKYH12YXIgUTR0PWYoKCk9PnskYSgpO2RnKCk7aWcoKTtzKGQwZSwic3RyaW5naWZ5RG9jdW1lbnQiKX0pO2Z1bmN0aW9uIGk4KGEpe2lmKExhKGEpKXJldHVybiEwO3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYSBZQU1MIGNvbGxlY3Rpb24gYXMgZG9jdW1lbnQgY29udGVudHMiKX12YXIgVG4semc9ZigoKT0+e2FnKCk7JFgoKTskYSgpO0MwKCk7ejAoKTtjMGUoKTtRNHQoKTtfWCgpO1BjZSgpO3NnKCk7RGNlKCk7VG49Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJEb2N1bWVudCIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLmNvbW1lbnRCZWZvcmU9bnVsbCx0aGlzLmNvbW1lbnQ9bnVsbCx0aGlzLmVycm9ycz1bXSx0aGlzLndhcm5pbmdzPVtdLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLF9pLHt2YWx1ZTpROX0pO2xldCBpPW51bGw7dHlwZW9mIHQ9PSJmdW5jdGlvbiJ8fEFycmF5LmlzQXJyYXkodCk/aT10OnI9PT12b2lkIDAmJnQmJihyPXQsdD12b2lkIDApO2xldCBvPU9iamVjdC5hc3NpZ24oe2ludEFzQmlnSW50OiExLGtlZXBTb3VyY2VUb2tlbnM6ITEsbG9nTGV2ZWw6Indhcm4iLHByZXR0eUVycm9yczohMCxzdHJpY3Q6ITAsc3RyaW5nS2V5czohMSx1bmlxdWVLZXlzOiEwLHZlcnNpb246IjEuMiJ9LHIpO3RoaXMub3B0aW9ucz1vO2xldHt2ZXJzaW9uOm59PW87cj8uX2RpcmVjdGl2ZXM/KHRoaXMuZGlyZWN0aXZlcz1yLl9kaXJlY3RpdmVzLmF0RG9jdW1lbnQoKSx0aGlzLmRpcmVjdGl2ZXMueWFtbC5leHBsaWNpdCYmKG49dGhpcy5kaXJlY3RpdmVzLnlhbWwudmVyc2lvbikpOnRoaXMuZGlyZWN0aXZlcz1uZXcgZjEoe3ZlcnNpb246bn0pLHRoaXMuc2V0U2NoZW1hKG4sciksdGhpcy5jb250ZW50cz1lPT09dm9pZCAwP251bGw6dGhpcy5jcmVhdGVOb2RlKGUsaSxyKX1jbG9uZSgpe2xldCBlPU9iamVjdC5jcmVhdGUoYS5wcm90b3R5cGUse1tfaV06e3ZhbHVlOlE5fX0pO3JldHVybiBlLmNvbW1lbnRCZWZvcmU9dGhpcy5jb21tZW50QmVmb3JlLGUuY29tbWVudD10aGlzLmNvbW1lbnQsZS5lcnJvcnM9dGhpcy5lcnJvcnMuc2xpY2UoKSxlLndhcm5pbmdzPXRoaXMud2FybmluZ3Muc2xpY2UoKSxlLm9wdGlvbnM9T2JqZWN0LmFzc2lnbih7fSx0aGlzLm9wdGlvbnMpLHRoaXMuZGlyZWN0aXZlcyYmKGUuZGlyZWN0aXZlcz10aGlzLmRpcmVjdGl2ZXMuY2xvbmUoKSksZS5zY2hlbWE9dGhpcy5zY2hlbWEuY2xvbmUoKSxlLmNvbnRlbnRzPWRhKHRoaXMuY29udGVudHMpP3RoaXMuY29udGVudHMuY2xvbmUoZS5zY2hlbWEpOnRoaXMuY29udGVudHMsdGhpcy5yYW5nZSYmKGUucmFuZ2U9dGhpcy5yYW5nZS5zbGljZSgpKSxlfWFkZChlKXtpOCh0aGlzLmNvbnRlbnRzKSYmdGhpcy5jb250ZW50cy5hZGQoZSl9YWRkSW4oZSx0KXtpOCh0aGlzLmNvbnRlbnRzKSYmdGhpcy5jb250ZW50cy5hZGRJbihlLHQpfWNyZWF0ZUFsaWFzKGUsdCl7aWYoIWUuYW5jaG9yKXtsZXQgcj16WCh0aGlzKTtlLmFuY2hvcj0hdHx8ci5oYXModCk/Q1godHx8ImEiLHIpOnR9cmV0dXJuIG5ldyBTbihlLmFuY2hvcil9Y3JlYXRlTm9kZShlLHQscil7bGV0IGk7aWYodHlwZW9mIHQ9PSJmdW5jdGlvbiIpZT10LmNhbGwoeyIiOmV9LCIiLGUpLGk9dDtlbHNlIGlmKEFycmF5LmlzQXJyYXkodCkpe2xldCBnPXMoaz0+dHlwZW9mIGs9PSJudW1iZXIifHxrIGluc3RhbmNlb2YgU3RyaW5nfHxrIGluc3RhbmNlb2YgTnVtYmVyLCJrZXlUb1N0ciIpLHk9dC5maWx0ZXIoZykubWFwKFN0cmluZyk7eS5sZW5ndGg+MCYmKHQ9dC5jb25jYXQoeSkpLGk9dH1lbHNlIHI9PT12b2lkIDAmJnQmJihyPXQsdD12b2lkIDApO2xldHthbGlhc0R1cGxpY2F0ZU9iamVjdHM6byxhbmNob3JQcmVmaXg6bixmbG93Omwsa2VlcFVuZGVmaW5lZDpkLG9uVGFnT2JqOmMsdGFnOnB9PXI/P3t9LHtvbkFuY2hvcjp1LHNldEFuY2hvcnM6bSxzb3VyY2VPYmplY3RzOnZ9PUFjZSh0aGlzLG58fCJhIikseD17YWxpYXNEdXBsaWNhdGVPYmplY3RzOm8/PyEwLGtlZXBVbmRlZmluZWQ6ZD8/ITEsb25BbmNob3I6dSxvblRhZ09iajpjLHJlcGxhY2VyOmksc2NoZW1hOnRoaXMuc2NoZW1hLHNvdXJjZU9iamVjdHM6dn0sYj1MMihlLHAseCk7cmV0dXJuIGwmJkxhKGIpJiYoYi5mbG93PSEwKSxtKCksYn1jcmVhdGVQYWlyKGUsdCxyPXt9KXtsZXQgaT10aGlzLmNyZWF0ZU5vZGUoZSxudWxsLHIpLG89dGhpcy5jcmVhdGVOb2RlKHQsbnVsbCxyKTtyZXR1cm4gbmV3IHVyKGksbyl9ZGVsZXRlKGUpe3JldHVybiBpOCh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmRlbGV0ZShlKTohMX1kZWxldGVJbihlKXtyZXR1cm4gQTMoZSk/dGhpcy5jb250ZW50cz09bnVsbD8hMToodGhpcy5jb250ZW50cz1udWxsLCEwKTppOCh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmRlbGV0ZUluKGUpOiExfWdldChlLHQpe3JldHVybiBMYSh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmdldChlLHQpOnZvaWQgMH1nZXRJbihlLHQpe3JldHVybiBBMyhlKT8hdCYmVnQodGhpcy5jb250ZW50cyk/dGhpcy5jb250ZW50cy52YWx1ZTp0aGlzLmNvbnRlbnRzOkxhKHRoaXMuY29udGVudHMpP3RoaXMuY29udGVudHMuZ2V0SW4oZSx0KTp2b2lkIDB9aGFzKGUpe3JldHVybiBMYSh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmhhcyhlKTohMX1oYXNJbihlKXtyZXR1cm4gQTMoZSk/dGhpcy5jb250ZW50cyE9PXZvaWQgMDpMYSh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmhhc0luKGUpOiExfXNldChlLHQpe3RoaXMuY29udGVudHM9PW51bGw/dGhpcy5jb250ZW50cz1HaCh0aGlzLnNjaGVtYSxbZV0sdCk6aTgodGhpcy5jb250ZW50cykmJnRoaXMuY29udGVudHMuc2V0KGUsdCl9c2V0SW4oZSx0KXtBMyhlKT90aGlzLmNvbnRlbnRzPXQ6dGhpcy5jb250ZW50cz09bnVsbD90aGlzLmNvbnRlbnRzPUdoKHRoaXMuc2NoZW1hLEFycmF5LmZyb20oZSksdCk6aTgodGhpcy5jb250ZW50cykmJnRoaXMuY29udGVudHMuc2V0SW4oZSx0KX1zZXRTY2hlbWEoZSx0PXt9KXt0eXBlb2YgZT09Im51bWJlciImJihlPVN0cmluZyhlKSk7bGV0IHI7c3dpdGNoKGUpe2Nhc2UiMS4xIjp0aGlzLmRpcmVjdGl2ZXM/dGhpcy5kaXJlY3RpdmVzLnlhbWwudmVyc2lvbj0iMS4xIjp0aGlzLmRpcmVjdGl2ZXM9bmV3IGYxKHt2ZXJzaW9uOiIxLjEifSkscj17cmVzb2x2ZUtub3duVGFnczohMSxzY2hlbWE6InlhbWwtMS4xIn07YnJlYWs7Y2FzZSIxLjIiOmNhc2UibmV4dCI6dGhpcy5kaXJlY3RpdmVzP3RoaXMuZGlyZWN0aXZlcy55YW1sLnZlcnNpb249ZTp0aGlzLmRpcmVjdGl2ZXM9bmV3IGYxKHt2ZXJzaW9uOmV9KSxyPXtyZXNvbHZlS25vd25UYWdzOiEwLHNjaGVtYToiY29yZSJ9O2JyZWFrO2Nhc2UgbnVsbDp0aGlzLmRpcmVjdGl2ZXMmJmRlbGV0ZSB0aGlzLmRpcmVjdGl2ZXMscj1udWxsO2JyZWFrO2RlZmF1bHQ6e2xldCBpPUpTT04uc3RyaW5naWZ5KGUpO3Rocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgJzEuMScsICcxLjInIG9yIG51bGwgYXMgZmlyc3QgYXJndW1lbnQsIGJ1dCBmb3VuZDogJHtpfWApfX1pZih0LnNjaGVtYSBpbnN0YW5jZW9mIE9iamVjdCl0aGlzLnNjaGVtYT10LnNjaGVtYTtlbHNlIGlmKHIpdGhpcy5zY2hlbWE9bmV3ICQwKE9iamVjdC5hc3NpZ24ocix0KSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIldpdGggYSBudWxsIFlBTUwgdmVyc2lvbiwgdGhlIHsgc2NoZW1hOiBTY2hlbWEgfSBvcHRpb24gaXMgcmVxdWlyZWQiKX10b0pTKHtqc29uOmUsanNvbkFyZzp0LG1hcEFzTWFwOnIsbWF4QWxpYXNDb3VudDppLG9uQW5jaG9yOm8scmV2aXZlcjpufT17fSl7bGV0IGw9e2FuY2hvcnM6bmV3IE1hcCxkb2M6dGhpcyxrZWVwOiFlLG1hcEFzTWFwOnI9PT0hMCxtYXBLZXlXYXJuZWQ6ITEsbWF4QWxpYXNDb3VudDp0eXBlb2YgaT09Im51bWJlciI/aToxMDB9LGQ9dXModGhpcy5jb250ZW50cyx0Pz8iIixsKTtpZih0eXBlb2Ygbz09ImZ1bmN0aW9uIilmb3IobGV0e2NvdW50OmMscmVzOnB9b2YgbC5hbmNob3JzLnZhbHVlcygpKW8ocCxjKTtyZXR1cm4gdHlwZW9mIG49PSJmdW5jdGlvbiI/RGwobix7IiI6ZH0sIiIsZCk6ZH10b0pTT04oZSx0KXtyZXR1cm4gdGhpcy50b0pTKHtqc29uOiEwLGpzb25Bcmc6ZSxtYXBBc01hcDohMSxvbkFuY2hvcjp0fSl9dG9TdHJpbmcoZT17fSl7aWYodGhpcy5lcnJvcnMubGVuZ3RoPjApdGhyb3cgbmV3IEVycm9yKCJEb2N1bWVudCB3aXRoIGVycm9ycyBjYW5ub3QgYmUgc3RyaW5naWZpZWQiKTtpZigiaW5kZW50ImluIGUmJighTnVtYmVyLmlzSW50ZWdlcihlLmluZGVudCl8fE51bWJlcihlLmluZGVudCk8PTApKXtsZXQgdD1KU09OLnN0cmluZ2lmeShlLmluZGVudCk7dGhyb3cgbmV3IEVycm9yKGAiaW5kZW50IiBvcHRpb24gbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIsIG5vdCAke3R9YCl9cmV0dXJuIGQwZSh0aGlzLGUpfX07cyhpOCwiYXNzZXJ0Q29sbGVjdGlvbiIpfSk7dmFyIEQwLFVpLEEwLG84LENnPWYoKCk9PntEMD1jbGFzcyBleHRlbmRzIEVycm9ye3N0YXRpY3tzKHRoaXMsIllBTUxFcnJvciIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe3N1cGVyKCksdGhpcy5uYW1lPWUsdGhpcy5jb2RlPXIsdGhpcy5tZXNzYWdlPWksdGhpcy5wb3M9dH19LFVpPWNsYXNzIGV4dGVuZHMgRDB7c3RhdGlje3ModGhpcywiWUFNTFBhcnNlRXJyb3IiKX1jb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoIllBTUxQYXJzZUVycm9yIixlLHQscil9fSxBMD1jbGFzcyBleHRlbmRzIEQwe3N0YXRpY3tzKHRoaXMsIllBTUxXYXJuaW5nIil9Y29uc3RydWN0b3IoZSx0LHIpe3N1cGVyKCJZQU1MV2FybmluZyIsZSx0LHIpfX0sbzg9cygoYSxlKT0+dD0+e2lmKHQucG9zWzBdPT09LTEpcmV0dXJuO3QubGluZVBvcz10LnBvcy5tYXAobD0+ZS5saW5lUG9zKGwpKTtsZXR7bGluZTpyLGNvbDppfT10LmxpbmVQb3NbMF07dC5tZXNzYWdlKz1gIGF0IGxpbmUgJHtyfSwgY29sdW1uICR7aX1gO2xldCBvPWktMSxuPWEuc3Vic3RyaW5nKGUubGluZVN0YXJ0c1tyLTFdLGUubGluZVN0YXJ0c1tyXSkucmVwbGFjZSgvW1xuXHJdKyQvLCIiKTtpZihvPj02MCYmbi5sZW5ndGg+ODApe2xldCBsPU1hdGgubWluKG8tMzksbi5sZW5ndGgtNzkpO249Ilx1MjAyNiIrbi5zdWJzdHJpbmcobCksby09bC0xfWlmKG4ubGVuZ3RoPjgwJiYobj1uLnN1YnN0cmluZygwLDc5KSsiXHUyMDI2Iikscj4xJiYvXiAqJC8udGVzdChuLnN1YnN0cmluZygwLG8pKSl7bGV0IGw9YS5zdWJzdHJpbmcoZS5saW5lU3RhcnRzW3ItMl0sZS5saW5lU3RhcnRzW3ItMV0pO2wubGVuZ3RoPjgwJiYobD1sLnN1YnN0cmluZygwLDc5KStgXHUyMDI2CmApLG49bCtufWlmKC9bXiBdLy50ZXN0KG4pKXtsZXQgbD0xLGQ9dC5saW5lUG9zWzFdO2Q/LmxpbmU9PT1yJiZkLmNvbD5pJiYobD1NYXRoLm1heCgxLE1hdGgubWluKGQuY29sLWksODAtbykpKTtsZXQgYz0iICIucmVwZWF0KG8pKyJeIi5yZXBlYXQobCk7dC5tZXNzYWdlKz1gOgoKJHtufQoke2N9CmB9fSwicHJldHRpZnlFcnJvciIpfSk7ZnVuY3Rpb24gbTEoYSx7ZmxvdzplLGluZGljYXRvcjp0LG5leHQ6cixvZmZzZXQ6aSxvbkVycm9yOm8scGFyZW50SW5kZW50Om4sc3RhcnRPbk5ld2xpbmU6bH0pe2xldCBkPSExLGM9bCxwPWwsdT0iIixtPSIiLHY9ITEseD0hMSxiPW51bGwsZz1udWxsLHk9bnVsbCxrPW51bGwsQz1udWxsLE49bnVsbCxfPW51bGw7Zm9yKGxldCBUIG9mIGEpc3dpdGNoKHgmJihULnR5cGUhPT0ic3BhY2UiJiZULnR5cGUhPT0ibmV3bGluZSImJlQudHlwZSE9PSJjb21tYSImJm8oVC5vZmZzZXQsIk1JU1NJTkdfQ0hBUiIsIlRhZ3MgYW5kIGFuY2hvcnMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbmV4dCB0b2tlbiBieSB3aGl0ZSBzcGFjZSIpLHg9ITEpLGImJihjJiZULnR5cGUhPT0iY29tbWVudCImJlQudHlwZSE9PSJuZXdsaW5lIiYmbyhiLCJUQUJfQVNfSU5ERU5UIiwiVGFicyBhcmUgbm90IGFsbG93ZWQgYXMgaW5kZW50YXRpb24iKSxiPW51bGwpLFQudHlwZSl7Y2FzZSJzcGFjZSI6IWUmJih0IT09ImRvYy1zdGFydCJ8fHI/LnR5cGUhPT0iZmxvdy1jb2xsZWN0aW9uIikmJlQuc291cmNlLmluY2x1ZGVzKCIJIikmJihiPVQpLHA9ITA7YnJlYWs7Y2FzZSJjb21tZW50Ijp7cHx8byhULCJNSVNTSU5HX0NIQVIiLCJDb21tZW50cyBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIG90aGVyIHRva2VucyBieSB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzIik7bGV0IFA9VC5zb3VyY2Uuc3Vic3RyaW5nKDEpfHwiICI7dT91Kz1tK1A6dT1QLG09IiIsYz0hMTticmVha31jYXNlIm5ld2xpbmUiOmM/dT91Kz1ULnNvdXJjZTooIU58fHQhPT0ic2VxLWl0ZW0taW5kIikmJihkPSEwKTptKz1ULnNvdXJjZSxjPSEwLHY9ITAsKGd8fHkpJiYoaz1UKSxwPSEwO2JyZWFrO2Nhc2UiYW5jaG9yIjpnJiZvKFQsIk1VTFRJUExFX0FOQ0hPUlMiLCJBIG5vZGUgY2FuIGhhdmUgYXQgbW9zdCBvbmUgYW5jaG9yIiksVC5zb3VyY2UuZW5kc1dpdGgoIjoiKSYmbyhULm9mZnNldCtULnNvdXJjZS5sZW5ndGgtMSwiQkFEX0FMSUFTIiwiQW5jaG9yIGVuZGluZyBpbiA6IGlzIGFtYmlndW91cyIsITApLGc9VCxfPz8oXz1ULm9mZnNldCksYz0hMSxwPSExLHg9ITA7YnJlYWs7Y2FzZSJ0YWciOnt5JiZvKFQsIk1VTFRJUExFX1RBR1MiLCJBIG5vZGUgY2FuIGhhdmUgYXQgbW9zdCBvbmUgdGFnIikseT1ULF8/PyhfPVQub2Zmc2V0KSxjPSExLHA9ITEseD0hMDticmVha31jYXNlIHQ6KGd8fHkpJiZvKFQsIkJBRF9QUk9QX09SREVSIixgQW5jaG9ycyBhbmQgdGFncyBtdXN0IGJlIGFmdGVyIHRoZSAke1Quc291cmNlfSBpbmRpY2F0b3JgKSxOJiZvKFQsIlVORVhQRUNURURfVE9LRU4iLGBVbmV4cGVjdGVkICR7VC5zb3VyY2V9IGluICR7ZT8/ImNvbGxlY3Rpb24ifWApLE49VCxjPXQ9PT0ic2VxLWl0ZW0taW5kInx8dD09PSJleHBsaWNpdC1rZXktaW5kIixwPSExO2JyZWFrO2Nhc2UiY29tbWEiOmlmKGUpe0MmJm8oVCwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgLCBpbiAke2V9YCksQz1ULGM9ITEscD0hMTticmVha31kZWZhdWx0Om8oVCwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgJHtULnR5cGV9IHRva2VuYCksYz0hMSxwPSExfWxldCB6PWFbYS5sZW5ndGgtMV0sTz16P3oub2Zmc2V0K3ouc291cmNlLmxlbmd0aDppO3JldHVybiB4JiZyJiZyLnR5cGUhPT0ic3BhY2UiJiZyLnR5cGUhPT0ibmV3bGluZSImJnIudHlwZSE9PSJjb21tYSImJihyLnR5cGUhPT0ic2NhbGFyInx8ci5zb3VyY2UhPT0iIikmJm8oci5vZmZzZXQsIk1JU1NJTkdfQ0hBUiIsIlRhZ3MgYW5kIGFuY2hvcnMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbmV4dCB0b2tlbiBieSB3aGl0ZSBzcGFjZSIpLGImJihjJiZiLmluZGVudDw9bnx8cj8udHlwZT09PSJibG9jay1tYXAifHxyPy50eXBlPT09ImJsb2NrLXNlcSIpJiZvKGIsIlRBQl9BU19JTkRFTlQiLCJUYWJzIGFyZSBub3QgYWxsb3dlZCBhcyBpbmRlbnRhdGlvbiIpLHtjb21tYTpDLGZvdW5kOk4sc3BhY2VCZWZvcmU6ZCxjb21tZW50OnUsaGFzTmV3bGluZTp2LGFuY2hvcjpnLHRhZzp5LG5ld2xpbmVBZnRlclByb3A6ayxlbmQ6TyxzdGFydDpfPz9PfX12YXIgX2c9ZigoKT0+e3MobTEsInJlc29sdmVQcm9wcyIpfSk7ZnVuY3Rpb24gSWwoYSl7aWYoIWEpcmV0dXJuIG51bGw7c3dpdGNoKGEudHlwZSl7Y2FzZSJhbGlhcyI6Y2FzZSJzY2FsYXIiOmNhc2UiZG91YmxlLXF1b3RlZC1zY2FsYXIiOmNhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOmlmKGEuc291cmNlLmluY2x1ZGVzKGAKYCkpcmV0dXJuITA7aWYoYS5lbmQpe2ZvcihsZXQgZSBvZiBhLmVuZClpZihlLnR5cGU9PT0ibmV3bGluZSIpcmV0dXJuITB9cmV0dXJuITE7Y2FzZSJmbG93LWNvbGxlY3Rpb24iOmZvcihsZXQgZSBvZiBhLml0ZW1zKXtmb3IobGV0IHQgb2YgZS5zdGFydClpZih0LnR5cGU9PT0ibmV3bGluZSIpcmV0dXJuITA7aWYoZS5zZXApe2ZvcihsZXQgdCBvZiBlLnNlcClpZih0LnR5cGU9PT0ibmV3bGluZSIpcmV0dXJuITB9aWYoSWwoZS5rZXkpfHxJbChlLnZhbHVlKSlyZXR1cm4hMH1yZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgWlg9ZigoKT0+e3MoSWwsImNvbnRhaW5zTmV3bGluZSIpfSk7ZnVuY3Rpb24gbjgoYSxlLHQpe2lmKGU/LnR5cGU9PT0iZmxvdy1jb2xsZWN0aW9uIil7bGV0IHI9ZS5lbmRbMF07ci5pbmRlbnQ9PT1hJiYoci5zb3VyY2U9PT0iXSJ8fHIuc291cmNlPT09In0iKSYmSWwoZSkmJnQociwiQkFEX0lOREVOVCIsIkZsb3cgZW5kIGluZGljYXRvciBzaG91bGQgYmUgbW9yZSBpbmRlbnRlZCB0aGFuIHBhcmVudCIsITApfX12YXIgdTBlPWYoKCk9PntaWCgpO3MobjgsImZsb3dJbmRlbnRDaGVjayIpfSk7ZnVuY3Rpb24gVGcoYSxlLHQpe2xldHt1bmlxdWVLZXlzOnJ9PWEub3B0aW9ucztpZihyPT09ITEpcmV0dXJuITE7bGV0IGk9dHlwZW9mIHI9PSJmdW5jdGlvbiI/cjoobyxuKT0+bz09PW58fFZ0KG8pJiZWdChuKSYmby52YWx1ZT09PW4udmFsdWU7cmV0dXJuIGUuc29tZShvPT5pKG8ua2V5LHQpKX12YXIgcDBlPWYoKCk9PnskYSgpO3MoVGcsIm1hcEluY2x1ZGVzIil9KTtmdW5jdGlvbiBmMGUoe2NvbXBvc2VOb2RlOmEsY29tcG9zZUVtcHR5Tm9kZTplfSx0LHIsaSxvKXtsZXQgbj1vPy5ub2RlQ2xhc3M/P3lyLGw9bmV3IG4odC5zY2hlbWEpO3QuYXRSb290JiYodC5hdFJvb3Q9ITEpO2xldCBkPXIub2Zmc2V0LGM9bnVsbDtmb3IobGV0IHAgb2Ygci5pdGVtcyl7bGV0e3N0YXJ0OnUsa2V5Om0sc2VwOnYsdmFsdWU6eH09cCxiPW0xKHUse2luZGljYXRvcjoiZXhwbGljaXQta2V5LWluZCIsbmV4dDptPz92Py5bMF0sb2Zmc2V0OmQsb25FcnJvcjppLHBhcmVudEluZGVudDpyLmluZGVudCxzdGFydE9uTmV3bGluZTohMH0pLGc9IWIuZm91bmQ7aWYoZyl7aWYobSYmKG0udHlwZT09PSJibG9jay1zZXEiP2koZCwiQkxPQ0tfQVNfSU1QTElDSVRfS0VZIiwiQSBibG9jayBzZXF1ZW5jZSBtYXkgbm90IGJlIHVzZWQgYXMgYW4gaW1wbGljaXQgbWFwIGtleSIpOiJpbmRlbnQiaW4gbSYmbS5pbmRlbnQhPT1yLmluZGVudCYmaShkLCJCQURfSU5ERU5UIixKNHQpKSwhYi5hbmNob3ImJiFiLnRhZyYmIXYpe2M9Yi5lbmQsYi5jb21tZW50JiYobC5jb21tZW50P2wuY29tbWVudCs9YApgK2IuY29tbWVudDpsLmNvbW1lbnQ9Yi5jb21tZW50KTtjb250aW51ZX0oYi5uZXdsaW5lQWZ0ZXJQcm9wfHxJbChtKSkmJmkobT8/dVt1Lmxlbmd0aC0xXSwiTVVMVElMSU5FX0lNUExJQ0lUX0tFWSIsIkltcGxpY2l0IGtleXMgbmVlZCB0byBiZSBvbiBhIHNpbmdsZSBsaW5lIil9ZWxzZSBiLmZvdW5kPy5pbmRlbnQhPT1yLmluZGVudCYmaShkLCJCQURfSU5ERU5UIixKNHQpO3QuYXRLZXk9ITA7bGV0IHk9Yi5lbmQsaz1tP2EodCxtLGIsaSk6ZSh0LHksdSxudWxsLGIsaSk7dC5zY2hlbWEuY29tcGF0JiZuOChyLmluZGVudCxtLGkpLHQuYXRLZXk9ITEsVGcodCxsLml0ZW1zLGspJiZpKHksIkRVUExJQ0FURV9LRVkiLCJNYXAga2V5cyBtdXN0IGJlIHVuaXF1ZSIpO2xldCBDPW0xKHY/P1tdLHtpbmRpY2F0b3I6Im1hcC12YWx1ZS1pbmQiLG5leHQ6eCxvZmZzZXQ6ay5yYW5nZVsyXSxvbkVycm9yOmkscGFyZW50SW5kZW50OnIuaW5kZW50LHN0YXJ0T25OZXdsaW5lOiFtfHxtLnR5cGU9PT0iYmxvY2stc2NhbGFyIn0pO2lmKGQ9Qy5lbmQsQy5mb3VuZCl7ZyYmKHg/LnR5cGU9PT0iYmxvY2stbWFwIiYmIUMuaGFzTmV3bGluZSYmaShkLCJCTE9DS19BU19JTVBMSUNJVF9LRVkiLCJOZXN0ZWQgbWFwcGluZ3MgYXJlIG5vdCBhbGxvd2VkIGluIGNvbXBhY3QgbWFwcGluZ3MiKSx0Lm9wdGlvbnMuc3RyaWN0JiZiLnN0YXJ0PEMuZm91bmQub2Zmc2V0LTEwMjQmJmkoay5yYW5nZSwiS0VZX09WRVJfMTAyNF9DSEFSUyIsIlRoZSA6IGluZGljYXRvciBtdXN0IGJlIGF0IG1vc3QgMTAyNCBjaGFycyBhZnRlciB0aGUgc3RhcnQgb2YgYW4gaW1wbGljaXQgYmxvY2sgbWFwcGluZyBrZXkiKSk7bGV0IE49eD9hKHQseCxDLGkpOmUodCxkLHYsbnVsbCxDLGkpO3Quc2NoZW1hLmNvbXBhdCYmbjgoci5pbmRlbnQseCxpKSxkPU4ucmFuZ2VbMl07bGV0IF89bmV3IHVyKGssTik7dC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJihfLnNyY1Rva2VuPXApLGwuaXRlbXMucHVzaChfKX1lbHNle2cmJmkoay5yYW5nZSwiTUlTU0lOR19DSEFSIiwiSW1wbGljaXQgbWFwIGtleXMgbmVlZCB0byBiZSBmb2xsb3dlZCBieSBtYXAgdmFsdWVzIiksQy5jb21tZW50JiYoay5jb21tZW50P2suY29tbWVudCs9YApgK0MuY29tbWVudDprLmNvbW1lbnQ9Qy5jb21tZW50KTtsZXQgTj1uZXcgdXIoayk7dC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJihOLnNyY1Rva2VuPXApLGwuaXRlbXMucHVzaChOKX19cmV0dXJuIGMmJmM8ZCYmaShjLCJJTVBPU1NJQkxFIiwiTWFwIGNvbW1lbnQgd2l0aCB0cmFpbGluZyBjb250ZW50IiksbC5yYW5nZT1bci5vZmZzZXQsZCxjPz9kXSxsfXZhciBKNHQsZTN0PWYoKCk9PntDMCgpO18wKCk7X2coKTtaWCgpO3UwZSgpO3AwZSgpO0o0dD0iQWxsIG1hcHBpbmcgaXRlbXMgbXVzdCBzdGFydCBhdCB0aGUgc2FtZSBjb2x1bW4iO3MoZjBlLCJyZXNvbHZlQmxvY2tNYXAiKX0pO2Z1bmN0aW9uIGgwZSh7Y29tcG9zZU5vZGU6YSxjb21wb3NlRW1wdHlOb2RlOmV9LHQscixpLG8pe2xldCBuPW8/Lm5vZGVDbGFzcz8/RHMsbD1uZXcgbih0LnNjaGVtYSk7dC5hdFJvb3QmJih0LmF0Um9vdD0hMSksdC5hdEtleSYmKHQuYXRLZXk9ITEpO2xldCBkPXIub2Zmc2V0LGM9bnVsbDtmb3IobGV0e3N0YXJ0OnAsdmFsdWU6dX1vZiByLml0ZW1zKXtsZXQgbT1tMShwLHtpbmRpY2F0b3I6InNlcS1pdGVtLWluZCIsbmV4dDp1LG9mZnNldDpkLG9uRXJyb3I6aSxwYXJlbnRJbmRlbnQ6ci5pbmRlbnQsc3RhcnRPbk5ld2xpbmU6ITB9KTtpZighbS5mb3VuZClpZihtLmFuY2hvcnx8bS50YWd8fHUpdT8udHlwZT09PSJibG9jay1zZXEiP2kobS5lbmQsIkJBRF9JTkRFTlQiLCJBbGwgc2VxdWVuY2UgaXRlbXMgbXVzdCBzdGFydCBhdCB0aGUgc2FtZSBjb2x1bW4iKTppKGQsIk1JU1NJTkdfQ0hBUiIsIlNlcXVlbmNlIGl0ZW0gd2l0aG91dCAtIGluZGljYXRvciIpO2Vsc2V7Yz1tLmVuZCxtLmNvbW1lbnQmJihsLmNvbW1lbnQ9bS5jb21tZW50KTtjb250aW51ZX1sZXQgdj11P2EodCx1LG0saSk6ZSh0LG0uZW5kLHAsbnVsbCxtLGkpO3Quc2NoZW1hLmNvbXBhdCYmbjgoci5pbmRlbnQsdSxpKSxkPXYucmFuZ2VbMl0sbC5pdGVtcy5wdXNoKHYpfXJldHVybiBsLnJhbmdlPVtyLm9mZnNldCxkLGM/P2RdLGx9dmFyIHQzdD1mKCgpPT57VDAoKTtfZygpO3UwZSgpO3MoaDBlLCJyZXNvbHZlQmxvY2tTZXEiKX0pO2Z1bmN0aW9uIGcxKGEsZSx0LHIpe2xldCBpPSIiO2lmKGEpe2xldCBvPSExLG49IiI7Zm9yKGxldCBsIG9mIGEpe2xldHtzb3VyY2U6ZCx0eXBlOmN9PWw7c3dpdGNoKGMpe2Nhc2Uic3BhY2UiOm89ITA7YnJlYWs7Y2FzZSJjb21tZW50Ijp7dCYmIW8mJnIobCwiTUlTU0lOR19DSEFSIiwiQ29tbWVudHMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSBvdGhlciB0b2tlbnMgYnkgd2hpdGUgc3BhY2UgY2hhcmFjdGVycyIpO2xldCBwPWQuc3Vic3RyaW5nKDEpfHwiICI7aT9pKz1uK3A6aT1wLG49IiI7YnJlYWt9Y2FzZSJuZXdsaW5lIjppJiYobis9ZCksbz0hMDticmVhaztkZWZhdWx0OnIobCwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgJHtjfSBhdCBub2RlIGVuZGApfWUrPWQubGVuZ3RofX1yZXR1cm57Y29tbWVudDppLG9mZnNldDplfX12YXIgbDg9ZigoKT0+e3MoZzEsInJlc29sdmVFbmQiKX0pO2Z1bmN0aW9uIGIwZSh7Y29tcG9zZU5vZGU6YSxjb21wb3NlRW1wdHlOb2RlOmV9LHQscixpLG8pe2xldCBuPXIuc3RhcnQuc291cmNlPT09InsiLGw9bj8iZmxvdyBtYXAiOiJmbG93IHNlcXVlbmNlIixkPW8/Lm5vZGVDbGFzcz8/KG4/eXI6RHMpLGM9bmV3IGQodC5zY2hlbWEpO2MuZmxvdz0hMDtsZXQgcD10LmF0Um9vdDtwJiYodC5hdFJvb3Q9ITEpLHQuYXRLZXkmJih0LmF0S2V5PSExKTtsZXQgdT1yLm9mZnNldCtyLnN0YXJ0LnNvdXJjZS5sZW5ndGg7Zm9yKGxldCBnPTA7ZzxyLml0ZW1zLmxlbmd0aDsrK2cpe2xldCB5PXIuaXRlbXNbZ10se3N0YXJ0Omssa2V5OkMsc2VwOk4sdmFsdWU6X309eSx6PW0xKGsse2Zsb3c6bCxpbmRpY2F0b3I6ImV4cGxpY2l0LWtleS1pbmQiLG5leHQ6Qz8/Tj8uWzBdLG9mZnNldDp1LG9uRXJyb3I6aSxwYXJlbnRJbmRlbnQ6ci5pbmRlbnQsc3RhcnRPbk5ld2xpbmU6ITF9KTtpZighei5mb3VuZCl7aWYoIXouYW5jaG9yJiYhei50YWcmJiFOJiYhXyl7Zz09PTAmJnouY29tbWE/aSh6LmNvbW1hLCJVTkVYUEVDVEVEX1RPS0VOIixgVW5leHBlY3RlZCAsIGluICR7bH1gKTpnPHIuaXRlbXMubGVuZ3RoLTEmJmkoei5zdGFydCwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgZW1wdHkgaXRlbSBpbiAke2x9YCksei5jb21tZW50JiYoYy5jb21tZW50P2MuY29tbWVudCs9YApgK3ouY29tbWVudDpjLmNvbW1lbnQ9ei5jb21tZW50KSx1PXouZW5kO2NvbnRpbnVlfSFuJiZ0Lm9wdGlvbnMuc3RyaWN0JiZJbChDKSYmaShDLCJNVUxUSUxJTkVfSU1QTElDSVRfS0VZIiwiSW1wbGljaXQga2V5cyBvZiBmbG93IHNlcXVlbmNlIHBhaXJzIG5lZWQgdG8gYmUgb24gYSBzaW5nbGUgbGluZSIpfWlmKGc9PT0wKXouY29tbWEmJmkoei5jb21tYSwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgLCBpbiAke2x9YCk7ZWxzZSBpZih6LmNvbW1hfHxpKHouc3RhcnQsIk1JU1NJTkdfQ0hBUiIsYE1pc3NpbmcgLCBiZXR3ZWVuICR7bH0gaXRlbXNgKSx6LmNvbW1lbnQpe2xldCBPPSIiO2U6Zm9yKGxldCBUIG9mIGspc3dpdGNoKFQudHlwZSl7Y2FzZSJjb21tYSI6Y2FzZSJzcGFjZSI6YnJlYWs7Y2FzZSJjb21tZW50IjpPPVQuc291cmNlLnN1YnN0cmluZygxKTticmVhayBlO2RlZmF1bHQ6YnJlYWsgZX1pZihPKXtsZXQgVD1jLml0ZW1zW2MuaXRlbXMubGVuZ3RoLTFdO3JhKFQpJiYoVD1ULnZhbHVlPz9ULmtleSksVC5jb21tZW50P1QuY29tbWVudCs9YApgK086VC5jb21tZW50PU8sei5jb21tZW50PXouY29tbWVudC5zdWJzdHJpbmcoTy5sZW5ndGgrMSl9fWlmKCFuJiYhTiYmIXouZm91bmQpe2xldCBPPV8/YSh0LF8seixpKTplKHQsei5lbmQsTixudWxsLHosaSk7Yy5pdGVtcy5wdXNoKE8pLHU9Ty5yYW5nZVsyXSxnMGUoXykmJmkoTy5yYW5nZSwiQkxPQ0tfSU5fRkxPVyIsbTBlKX1lbHNle3QuYXRLZXk9ITA7bGV0IE89ei5lbmQsVD1DP2EodCxDLHosaSk6ZSh0LE8sayxudWxsLHosaSk7ZzBlKEMpJiZpKFQucmFuZ2UsIkJMT0NLX0lOX0ZMT1ciLG0wZSksdC5hdEtleT0hMTtsZXQgUD1tMShOPz9bXSx7ZmxvdzpsLGluZGljYXRvcjoibWFwLXZhbHVlLWluZCIsbmV4dDpfLG9mZnNldDpULnJhbmdlWzJdLG9uRXJyb3I6aSxwYXJlbnRJbmRlbnQ6ci5pbmRlbnQsc3RhcnRPbk5ld2xpbmU6ITF9KTtpZihQLmZvdW5kKXtpZighbiYmIXouZm91bmQmJnQub3B0aW9ucy5zdHJpY3Qpe2lmKE4pZm9yKGxldCBTIG9mIE4pe2lmKFM9PT1QLmZvdW5kKWJyZWFrO2lmKFMudHlwZT09PSJuZXdsaW5lIil7aShTLCJNVUxUSUxJTkVfSU1QTElDSVRfS0VZIiwiSW1wbGljaXQga2V5cyBvZiBmbG93IHNlcXVlbmNlIHBhaXJzIG5lZWQgdG8gYmUgb24gYSBzaW5nbGUgbGluZSIpO2JyZWFrfX16LnN0YXJ0PFAuZm91bmQub2Zmc2V0LTEwMjQmJmkoUC5mb3VuZCwiS0VZX09WRVJfMTAyNF9DSEFSUyIsIlRoZSA6IGluZGljYXRvciBtdXN0IGJlIGF0IG1vc3QgMTAyNCBjaGFycyBhZnRlciB0aGUgc3RhcnQgb2YgYW4gaW1wbGljaXQgZmxvdyBzZXF1ZW5jZSBrZXkiKX19ZWxzZSBfJiYoInNvdXJjZSJpbiBfJiZfLnNvdXJjZT8uWzBdPT09IjoiP2koXywiTUlTU0lOR19DSEFSIixgTWlzc2luZyBzcGFjZSBhZnRlciA6IGluICR7bH1gKTppKFAuc3RhcnQsIk1JU1NJTkdfQ0hBUiIsYE1pc3NpbmcgLCBvciA6IGJldHdlZW4gJHtsfSBpdGVtc2ApKTtsZXQgQj1fP2EodCxfLFAsaSk6UC5mb3VuZD9lKHQsUC5lbmQsTixudWxsLFAsaSk6bnVsbDtCP2cwZShfKSYmaShCLnJhbmdlLCJCTE9DS19JTl9GTE9XIixtMGUpOlAuY29tbWVudCYmKFQuY29tbWVudD9ULmNvbW1lbnQrPWAKYCtQLmNvbW1lbnQ6VC5jb21tZW50PVAuY29tbWVudCk7bGV0IE09bmV3IHVyKFQsQik7aWYodC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJihNLnNyY1Rva2VuPXkpLG4pe2xldCBTPWM7VGcodCxTLml0ZW1zLFQpJiZpKE8sIkRVUExJQ0FURV9LRVkiLCJNYXAga2V5cyBtdXN0IGJlIHVuaXF1ZSIpLFMuaXRlbXMucHVzaChNKX1lbHNle2xldCBTPW5ldyB5cih0LnNjaGVtYSk7Uy5mbG93PSEwLFMuaXRlbXMucHVzaChNKTtsZXQgRT0oQj8/VCkucmFuZ2U7Uy5yYW5nZT1bVC5yYW5nZVswXSxFWzFdLEVbMl1dLGMuaXRlbXMucHVzaChTKX11PUI/Qi5yYW5nZVsyXTpQLmVuZH19bGV0IG09bj8ifSI6Il0iLFt2LC4uLnhdPXIuZW5kLGI9dTtpZih2Py5zb3VyY2U9PT1tKWI9di5vZmZzZXQrdi5zb3VyY2UubGVuZ3RoO2Vsc2V7bGV0IGc9bFswXS50b1VwcGVyQ2FzZSgpK2wuc3Vic3RyaW5nKDEpLHk9cD9gJHtnfSBtdXN0IGVuZCB3aXRoIGEgJHttfWA6YCR7Z30gaW4gYmxvY2sgY29sbGVjdGlvbiBtdXN0IGJlIHN1ZmZpY2llbnRseSBpbmRlbnRlZCBhbmQgZW5kIHdpdGggYSAke219YDtpKHUscD8iTUlTU0lOR19DSEFSIjoiQkFEX0lOREVOVCIseSksdiYmdi5zb3VyY2UubGVuZ3RoIT09MSYmeC51bnNoaWZ0KHYpfWlmKHgubGVuZ3RoPjApe2xldCBnPWcxKHgsYix0Lm9wdGlvbnMuc3RyaWN0LGkpO2cuY29tbWVudCYmKGMuY29tbWVudD9jLmNvbW1lbnQrPWAKYCtnLmNvbW1lbnQ6Yy5jb21tZW50PWcuY29tbWVudCksYy5yYW5nZT1bci5vZmZzZXQsYixnLm9mZnNldF19ZWxzZSBjLnJhbmdlPVtyLm9mZnNldCxiLGJdO3JldHVybiBjfXZhciBtMGUsZzBlLGEzdD1mKCgpPT57JGEoKTtDMCgpO18wKCk7VDAoKTtsOCgpO19nKCk7WlgoKTtwMGUoKTttMGU9IkJsb2NrIGNvbGxlY3Rpb25zIGFyZSBub3QgYWxsb3dlZCB3aXRoaW4gZmxvdyBjb2xsZWN0aW9ucyIsZzBlPXMoYT0+YSYmKGEudHlwZT09PSJibG9jay1tYXAifHxhLnR5cGU9PT0iYmxvY2stc2VxIiksImlzQmxvY2siKTtzKGIwZSwicmVzb2x2ZUZsb3dDb2xsZWN0aW9uIil9KTtmdW5jdGlvbiB2MGUoYSxlLHQscixpLG8pe2xldCBuPXQudHlwZT09PSJibG9jay1tYXAiP2YwZShhLGUsdCxyLG8pOnQudHlwZT09PSJibG9jay1zZXEiP2gwZShhLGUsdCxyLG8pOmIwZShhLGUsdCxyLG8pLGw9bi5jb25zdHJ1Y3RvcjtyZXR1cm4gaT09PSIhInx8aT09PWwudGFnTmFtZT8obi50YWc9bC50YWdOYW1lLG4pOihpJiYobi50YWc9aSksbil9ZnVuY3Rpb24geDBlKGEsZSx0LHIsaSl7bGV0IG89ci50YWcsbj1vP2UuZGlyZWN0aXZlcy50YWdOYW1lKG8uc291cmNlLG09PmkobywiVEFHX1JFU09MVkVfRkFJTEVEIixtKSk6bnVsbDtpZih0LnR5cGU9PT0iYmxvY2stc2VxIil7bGV0e2FuY2hvcjptLG5ld2xpbmVBZnRlclByb3A6dn09cix4PW0mJm8/bS5vZmZzZXQ+by5vZmZzZXQ/bTpvOm0/P287eCYmKCF2fHx2Lm9mZnNldDx4Lm9mZnNldCkmJmkoeCwiTUlTU0lOR19DSEFSIiwiTWlzc2luZyBuZXdsaW5lIGFmdGVyIGJsb2NrIHNlcXVlbmNlIHByb3BzIil9bGV0IGw9dC50eXBlPT09ImJsb2NrLW1hcCI/Im1hcCI6dC50eXBlPT09ImJsb2NrLXNlcSI/InNlcSI6dC5zdGFydC5zb3VyY2U9PT0ieyI/Im1hcCI6InNlcSI7aWYoIW98fCFufHxuPT09IiEifHxuPT09eXIudGFnTmFtZSYmbD09PSJtYXAifHxuPT09RHMudGFnTmFtZSYmbD09PSJzZXEiKXJldHVybiB2MGUoYSxlLHQsaSxuKTtsZXQgZD1lLnNjaGVtYS50YWdzLmZpbmQobT0+bS50YWc9PT1uJiZtLmNvbGxlY3Rpb249PT1sKTtpZighZCl7bGV0IG09ZS5zY2hlbWEua25vd25UYWdzW25dO2lmKG0/LmNvbGxlY3Rpb249PT1sKWUuc2NoZW1hLnRhZ3MucHVzaChPYmplY3QuYXNzaWduKHt9LG0se2RlZmF1bHQ6ITF9KSksZD1tO2Vsc2UgcmV0dXJuIG0/aShvLCJCQURfQ09MTEVDVElPTl9UWVBFIixgJHttLnRhZ30gdXNlZCBmb3IgJHtsfSBjb2xsZWN0aW9uLCBidXQgZXhwZWN0cyAke20uY29sbGVjdGlvbj8/InNjYWxhciJ9YCwhMCk6aShvLCJUQUdfUkVTT0xWRV9GQUlMRUQiLGBVbnJlc29sdmVkIHRhZzogJHtufWAsITApLHYwZShhLGUsdCxpLG4pfWxldCBjPXYwZShhLGUsdCxpLG4sZCkscD1kLnJlc29sdmU/LihjLG09PmkobywiVEFHX1JFU09MVkVfRkFJTEVEIixtKSxlLm9wdGlvbnMpPz9jLHU9ZGEocCk/cDpuZXcgaHQocCk7cmV0dXJuIHUucmFuZ2U9Yy5yYW5nZSx1LnRhZz1uLGQ/LmZvcm1hdCYmKHUuZm9ybWF0PWQuZm9ybWF0KSx1fXZhciByM3Q9ZigoKT0+eyRhKCk7cHMoKTtfMCgpO1QwKCk7ZTN0KCk7dDN0KCk7YTN0KCk7cyh2MGUsInJlc29sdmVDb2xsZWN0aW9uIik7cyh4MGUsImNvbXBvc2VDb2xsZWN0aW9uIil9KTtmdW5jdGlvbiBMZyhhLGUsdCl7bGV0IHI9ZS5vZmZzZXQsaT1GeGEoZSxhLm9wdGlvbnMuc3RyaWN0LHQpO2lmKCFpKXJldHVybnt2YWx1ZToiIix0eXBlOm51bGwsY29tbWVudDoiIixyYW5nZTpbcixyLHJdfTtsZXQgbz1pLm1vZGU9PT0iPiI/aHQuQkxPQ0tfRk9MREVEOmh0LkJMT0NLX0xJVEVSQUwsbj1lLnNvdXJjZT9CeGEoZS5zb3VyY2UpOltdLGw9bi5sZW5ndGg7Zm9yKGxldCBiPW4ubGVuZ3RoLTE7Yj49MDstLWIpe2xldCBnPW5bYl1bMV07aWYoZz09PSIifHxnPT09IlxyIilsPWI7ZWxzZSBicmVha31pZihsPT09MCl7bGV0IGI9aS5jaG9tcD09PSIrIiYmbi5sZW5ndGg+MD9gCmAucmVwZWF0KE1hdGgubWF4KDEsbi5sZW5ndGgtMSkpOiIiLGc9citpLmxlbmd0aDtyZXR1cm4gZS5zb3VyY2UmJihnKz1lLnNvdXJjZS5sZW5ndGgpLHt2YWx1ZTpiLHR5cGU6byxjb21tZW50OmkuY29tbWVudCxyYW5nZTpbcixnLGddfX1sZXQgZD1lLmluZGVudCtpLmluZGVudCxjPWUub2Zmc2V0K2kubGVuZ3RoLHA9MDtmb3IobGV0IGI9MDtiPGw7KytiKXtsZXRbZyx5XT1uW2JdO2lmKHk9PT0iInx8eT09PSJcciIpaS5pbmRlbnQ9PT0wJiZnLmxlbmd0aD5kJiYoZD1nLmxlbmd0aCk7ZWxzZXtnLmxlbmd0aDxkJiZ0KGMrZy5sZW5ndGgsIk1JU1NJTkdfQ0hBUiIsIkJsb2NrIHNjYWxhcnMgd2l0aCBtb3JlLWluZGVudGVkIGxlYWRpbmcgZW1wdHkgbGluZXMgbXVzdCB1c2UgYW4gZXhwbGljaXQgaW5kZW50YXRpb24gaW5kaWNhdG9yIiksaS5pbmRlbnQ9PT0wJiYoZD1nLmxlbmd0aCkscD1iLGQ9PT0wJiYhYS5hdFJvb3QmJnQoYywiQkFEX0lOREVOVCIsIkJsb2NrIHNjYWxhciB2YWx1ZXMgaW4gY29sbGVjdGlvbnMgbXVzdCBiZSBpbmRlbnRlZCIpO2JyZWFrfWMrPWcubGVuZ3RoK3kubGVuZ3RoKzF9Zm9yKGxldCBiPW4ubGVuZ3RoLTE7Yj49bDstLWIpbltiXVswXS5sZW5ndGg+ZCYmKGw9YisxKTtsZXQgdT0iIixtPSIiLHY9ITE7Zm9yKGxldCBiPTA7YjxwOysrYil1Kz1uW2JdWzBdLnNsaWNlKGQpK2AKYDtmb3IobGV0IGI9cDtiPGw7KytiKXtsZXRbZyx5XT1uW2JdO2MrPWcubGVuZ3RoK3kubGVuZ3RoKzE7bGV0IGs9eVt5Lmxlbmd0aC0xXT09PSJcciI7aWYoayYmKHk9eS5zbGljZSgwLC0xKSkseSYmZy5sZW5ndGg8ZCl7bGV0IE49YEJsb2NrIHNjYWxhciBsaW5lcyBtdXN0IG5vdCBiZSBsZXNzIGluZGVudGVkIHRoYW4gdGhlaXIgJHtpLmluZGVudD8iZXhwbGljaXQgaW5kZW50YXRpb24gaW5kaWNhdG9yIjoiZmlyc3QgbGluZSJ9YDt0KGMteS5sZW5ndGgtKGs/MjoxKSwiQkFEX0lOREVOVCIsTiksZz0iIn1vPT09aHQuQkxPQ0tfTElURVJBTD8odSs9bStnLnNsaWNlKGQpK3ksbT1gCmApOmcubGVuZ3RoPmR8fHlbMF09PT0iCSI/KG09PT0iICI/bT1gCmA6IXYmJm09PT1gCmAmJihtPWAKCmApLHUrPW0rZy5zbGljZShkKSt5LG09YApgLHY9ITApOnk9PT0iIj9tPT09YApgP3UrPWAKYDptPWAKYDoodSs9bSt5LG09IiAiLHY9ITEpfXN3aXRjaChpLmNob21wKXtjYXNlIi0iOmJyZWFrO2Nhc2UiKyI6Zm9yKGxldCBiPWw7YjxuLmxlbmd0aDsrK2IpdSs9YApgK25bYl1bMF0uc2xpY2UoZCk7dVt1Lmxlbmd0aC0xXSE9PWAKYCYmKHUrPWAKYCk7YnJlYWs7ZGVmYXVsdDp1Kz1gCmB9bGV0IHg9citpLmxlbmd0aCtlLnNvdXJjZS5sZW5ndGg7cmV0dXJue3ZhbHVlOnUsdHlwZTpvLGNvbW1lbnQ6aS5jb21tZW50LHJhbmdlOltyLHgseF19fWZ1bmN0aW9uIEZ4YSh7b2Zmc2V0OmEscHJvcHM6ZX0sdCxyKXtpZihlWzBdLnR5cGUhPT0iYmxvY2stc2NhbGFyLWhlYWRlciIpcmV0dXJuIHIoZVswXSwiSU1QT1NTSUJMRSIsIkJsb2NrIHNjYWxhciBoZWFkZXIgbm90IGZvdW5kIiksbnVsbDtsZXR7c291cmNlOml9PWVbMF0sbz1pWzBdLG49MCxsPSIiLGQ9LTE7Zm9yKGxldCBtPTE7bTxpLmxlbmd0aDsrK20pe2xldCB2PWlbbV07aWYoIWwmJih2PT09Ii0ifHx2PT09IisiKSlsPXY7ZWxzZXtsZXQgeD1OdW1iZXIodik7IW4mJng/bj14OmQ9PT0tMSYmKGQ9YSttKX19ZCE9PS0xJiZyKGQsIlVORVhQRUNURURfVE9LRU4iLGBCbG9jayBzY2FsYXIgaGVhZGVyIGluY2x1ZGVzIGV4dHJhIGNoYXJhY3RlcnM6ICR7aX1gKTtsZXQgYz0hMSxwPSIiLHU9aS5sZW5ndGg7Zm9yKGxldCBtPTE7bTxlLmxlbmd0aDsrK20pe2xldCB2PWVbbV07c3dpdGNoKHYudHlwZSl7Y2FzZSJzcGFjZSI6Yz0hMDtjYXNlIm5ld2xpbmUiOnUrPXYuc291cmNlLmxlbmd0aDticmVhaztjYXNlImNvbW1lbnQiOnQmJiFjJiZyKHYsIk1JU1NJTkdfQ0hBUiIsIkNvbW1lbnRzIG11c3QgYmUgc2VwYXJhdGVkIGZyb20gb3RoZXIgdG9rZW5zIGJ5IHdoaXRlIHNwYWNlIGNoYXJhY3RlcnMiKSx1Kz12LnNvdXJjZS5sZW5ndGgscD12LnNvdXJjZS5zdWJzdHJpbmcoMSk7YnJlYWs7Y2FzZSJlcnJvciI6cih2LCJVTkVYUEVDVEVEX1RPS0VOIix2Lm1lc3NhZ2UpLHUrPXYuc291cmNlLmxlbmd0aDticmVhaztkZWZhdWx0OntsZXQgeD1gVW5leHBlY3RlZCB0b2tlbiBpbiBibG9jayBzY2FsYXIgaGVhZGVyOiAke3YudHlwZX1gO3IodiwiVU5FWFBFQ1RFRF9UT0tFTiIseCk7bGV0IGI9di5zb3VyY2U7YiYmdHlwZW9mIGI9PSJzdHJpbmciJiYodSs9Yi5sZW5ndGgpfX19cmV0dXJue21vZGU6byxpbmRlbnQ6bixjaG9tcDpsLGNvbW1lbnQ6cCxsZW5ndGg6dX19ZnVuY3Rpb24gQnhhKGEpe2xldCBlPWEuc3BsaXQoL1xuKCAqKS8pLHQ9ZVswXSxyPXQubWF0Y2goL14oICopLyksbz1bcj8uWzFdP1tyWzFdLHQuc2xpY2UoclsxXS5sZW5ndGgpXTpbIiIsdF1dO2ZvcihsZXQgbj0xO248ZS5sZW5ndGg7bis9MilvLnB1c2goW2Vbbl0sZVtuKzFdXSk7cmV0dXJuIG99dmFyIHkwZT1mKCgpPT57cHMoKTtzKExnLCJyZXNvbHZlQmxvY2tTY2FsYXIiKTtzKEZ4YSwicGFyc2VCbG9ja1NjYWxhckhlYWRlciIpO3MoQnhhLCJzcGxpdExpbmVzIil9KTtmdW5jdGlvbiAkZyhhLGUsdCl7bGV0e29mZnNldDpyLHR5cGU6aSxzb3VyY2U6byxlbmQ6bn09YSxsLGQsYz1zKChtLHYseCk9PnQocittLHYseCksIl9vbkVycm9yIik7c3dpdGNoKGkpe2Nhc2Uic2NhbGFyIjpsPWh0LlBMQUlOLGQ9SHhhKG8sYyk7YnJlYWs7Y2FzZSJzaW5nbGUtcXVvdGVkLXNjYWxhciI6bD1odC5RVU9URV9TSU5HTEUsZD1xeGEobyxjKTticmVhaztjYXNlImRvdWJsZS1xdW90ZWQtc2NhbGFyIjpsPWh0LlFVT1RFX0RPVUJMRSxkPVZ4YShvLGMpO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIHQoYSwiVU5FWFBFQ1RFRF9UT0tFTiIsYEV4cGVjdGVkIGEgZmxvdyBzY2FsYXIgdmFsdWUsIGJ1dCBmb3VuZDogJHtpfWApLHt2YWx1ZToiIix0eXBlOm51bGwsY29tbWVudDoiIixyYW5nZTpbcixyK28ubGVuZ3RoLHIrby5sZW5ndGhdfX1sZXQgcD1yK28ubGVuZ3RoLHU9ZzEobixwLGUsdCk7cmV0dXJue3ZhbHVlOmQsdHlwZTpsLGNvbW1lbnQ6dS5jb21tZW50LHJhbmdlOltyLHAsdS5vZmZzZXRdfX1mdW5jdGlvbiBIeGEoYSxlKXtsZXQgdD0iIjtzd2l0Y2goYVswXSl7Y2FzZSIJIjp0PSJhIHRhYiBjaGFyYWN0ZXIiO2JyZWFrO2Nhc2UiLCI6dD0iZmxvdyBpbmRpY2F0b3IgY2hhcmFjdGVyICwiO2JyZWFrO2Nhc2UiJSI6dD0iZGlyZWN0aXZlIGluZGljYXRvciBjaGFyYWN0ZXIgJSI7YnJlYWs7Y2FzZSJ8IjpjYXNlIj4iOnt0PWBibG9jayBzY2FsYXIgaW5kaWNhdG9yICR7YVswXX1gO2JyZWFrfWNhc2UiQCI6Y2FzZSJgIjp7dD1gcmVzZXJ2ZWQgY2hhcmFjdGVyICR7YVswXX1gO2JyZWFrfX1yZXR1cm4gdCYmZSgwLCJCQURfU0NBTEFSX1NUQVJUIixgUGxhaW4gdmFsdWUgY2Fubm90IHN0YXJ0IHdpdGggJHt0fWApLHMzdChhKX1mdW5jdGlvbiBxeGEoYSxlKXtyZXR1cm4oYVthLmxlbmd0aC0xXSE9PSInInx8YS5sZW5ndGg9PT0xKSYmZShhLmxlbmd0aCwiTUlTU0lOR19DSEFSIiwiTWlzc2luZyBjbG9zaW5nICdxdW90ZSIpLHMzdChhLnNsaWNlKDEsLTEpKS5yZXBsYWNlKC8nJy9nLCInIil9ZnVuY3Rpb24gczN0KGEpe2xldCBlLHQ7dHJ5e2U9bmV3IFJlZ0V4cChgKC4qPykoPzwhWyAJXSlbIAldKlxyPwpgLCJzeSIpLHQ9bmV3IFJlZ0V4cChgWyAJXSooLio/KSg/Oig/PCFbIAldKVsgCV0qKT9ccj8KYCwic3kiKX1jYXRjaHtlPS8oLio/KVsgXHRdKlxyP1xuL3N5LHQ9L1sgXHRdKiguKj8pWyBcdF0qXHI/XG4vc3l9bGV0IHI9ZS5leGVjKGEpO2lmKCFyKXJldHVybiBhO2xldCBpPXJbMV0sbz0iICIsbj1lLmxhc3RJbmRleDtmb3IodC5sYXN0SW5kZXg9bjtyPXQuZXhlYyhhKTspclsxXT09PSIiP289PT1gCmA/aSs9bzpvPWAKYDooaSs9bytyWzFdLG89IiAiKSxuPXQubGFzdEluZGV4O2xldCBsPS9bIFx0XSooLiopL3N5O3JldHVybiBsLmxhc3RJbmRleD1uLHI9bC5leGVjKGEpLGkrbysocj8uWzFdPz8iIil9ZnVuY3Rpb24gVnhhKGEsZSl7bGV0IHQ9IiI7Zm9yKGxldCByPTE7cjxhLmxlbmd0aC0xOysrcil7bGV0IGk9YVtyXTtpZighKGk9PT0iXHIiJiZhW3IrMV09PT1gCmApKWlmKGk9PT1gCmApe2xldHtmb2xkOm8sb2Zmc2V0Om59PWp4YShhLHIpO3QrPW8scj1ufWVsc2UgaWYoaT09PSJcXCIpe2xldCBvPWFbKytyXSxuPVV4YVtvXTtpZihuKXQrPW47ZWxzZSBpZihvPT09YApgKWZvcihvPWFbcisxXTtvPT09IiAifHxvPT09IgkiOylvPWFbKytyKzFdO2Vsc2UgaWYobz09PSJcciImJmFbcisxXT09PWAKYClmb3Iobz1hWysrcisxXTtvPT09IiAifHxvPT09IgkiOylvPWFbKytyKzFdO2Vsc2UgaWYobz09PSJ4Inx8bz09PSJ1Inx8bz09PSJVIil7bGV0IGw9bz09PSJ4Ij8yOm89PT0idSI/NDo4O3QrPVd4YShhLHIrMSxsLGUpLHIrPWx9ZWxzZXtsZXQgbD1hLnN1YnN0cihyLTEsMik7ZShyLTEsIkJBRF9EUV9FU0NBUEUiLGBJbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZSAke2x9YCksdCs9bH19ZWxzZSBpZihpPT09IiAifHxpPT09IgkiKXtsZXQgbz1yLG49YVtyKzFdO2Zvcig7bj09PSIgInx8bj09PSIJIjspbj1hWysrcisxXTtuIT09YApgJiYhKG49PT0iXHIiJiZhW3IrMl09PT1gCmApJiYodCs9cj5vP2Euc2xpY2UobyxyKzEpOmkpfWVsc2UgdCs9aX1yZXR1cm4oYVthLmxlbmd0aC0xXSE9PSciJ3x8YS5sZW5ndGg9PT0xKSYmZShhLmxlbmd0aCwiTUlTU0lOR19DSEFSIiwnTWlzc2luZyBjbG9zaW5nICJxdW90ZScpLHR9ZnVuY3Rpb24ganhhKGEsZSl7bGV0IHQ9IiIscj1hW2UrMV07Zm9yKDsocj09PSIgInx8cj09PSIJInx8cj09PWAKYHx8cj09PSJcciIpJiYhKHI9PT0iXHIiJiZhW2UrMl0hPT1gCmApOylyPT09YApgJiYodCs9YApgKSxlKz0xLHI9YVtlKzFdO3JldHVybiB0fHwodD0iICIpLHtmb2xkOnQsb2Zmc2V0OmV9fWZ1bmN0aW9uIFd4YShhLGUsdCxyKXtsZXQgaT1hLnN1YnN0cihlLHQpLG49aS5sZW5ndGg9PT10JiYvXlswLTlhLWZBLUZdKyQvLnRlc3QoaSk/cGFyc2VJbnQoaSwxNik6TmFOO3RyeXtyZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQobil9Y2F0Y2h7bGV0IGw9YS5zdWJzdHIoZS0yLHQrMik7cmV0dXJuIHIoZS0yLCJCQURfRFFfRVNDQVBFIixgSW52YWxpZCBlc2NhcGUgc2VxdWVuY2UgJHtsfWApLGx9fXZhciBVeGEsdzBlPWYoKCk9PntwcygpO2w4KCk7cygkZywicmVzb2x2ZUZsb3dTY2FsYXIiKTtzKEh4YSwicGxhaW5WYWx1ZSIpO3MocXhhLCJzaW5nbGVRdW90ZWRWYWx1ZSIpO3MoczN0LCJmb2xkTGluZXMiKTtzKFZ4YSwiZG91YmxlUXVvdGVkVmFsdWUiKTtzKGp4YSwiZm9sZE5ld2xpbmUiKTtVeGE9ezA6IlwwIixhOiJceDA3IixiOiJcYiIsZToiXHgxQiIsZjoiXGYiLG46YApgLHI6IlxyIix0OiIJIix2OiJcdiIsTjoiXHg4NSIsXzoiXHhBMCIsTDoiXHUyMDI4IixQOiJcdTIwMjkiLCIgIjoiICIsJyInOiciJywiLyI6Ii8iLCJcXCI6IlxcIiwiCSI6IgkifTtzKFd4YSwicGFyc2VDaGFyQ29kZSIpfSk7ZnVuY3Rpb24gWFgoYSxlLHQscil7bGV0e3ZhbHVlOmksdHlwZTpvLGNvbW1lbnQ6bixyYW5nZTpsfT1lLnR5cGU9PT0iYmxvY2stc2NhbGFyIj9MZyhhLGUscik6JGcoZSxhLm9wdGlvbnMuc3RyaWN0LHIpLGQ9dD9hLmRpcmVjdGl2ZXMudGFnTmFtZSh0LnNvdXJjZSx1PT5yKHQsIlRBR19SRVNPTFZFX0ZBSUxFRCIsdSkpOm51bGwsYzthLm9wdGlvbnMuc3RyaW5nS2V5cyYmYS5hdEtleT9jPWEuc2NoZW1hW19vXTpkP2M9R3hhKGEuc2NoZW1hLGksZCx0LHIpOmUudHlwZT09PSJzY2FsYXIiP2M9WXhhKGEsaSxlLHIpOmM9YS5zY2hlbWFbX29dO2xldCBwO3RyeXtsZXQgdT1jLnJlc29sdmUoaSxtPT5yKHQ/P2UsIlRBR19SRVNPTFZFX0ZBSUxFRCIsbSksYS5vcHRpb25zKTtwPVZ0KHUpP3U6bmV3IGh0KHUpfWNhdGNoKHUpe2xldCBtPXUgaW5zdGFuY2VvZiBFcnJvcj91Lm1lc3NhZ2U6U3RyaW5nKHUpO3IodD8/ZSwiVEFHX1JFU09MVkVfRkFJTEVEIixtKSxwPW5ldyBodChpKX1yZXR1cm4gcC5yYW5nZT1sLHAuc291cmNlPWksbyYmKHAudHlwZT1vKSxkJiYocC50YWc9ZCksYy5mb3JtYXQmJihwLmZvcm1hdD1jLmZvcm1hdCksbiYmKHAuY29tbWVudD1uKSxwfWZ1bmN0aW9uIEd4YShhLGUsdCxyLGkpe2lmKHQ9PT0iISIpcmV0dXJuIGFbX29dO2xldCBvPVtdO2ZvcihsZXQgbCBvZiBhLnRhZ3MpaWYoIWwuY29sbGVjdGlvbiYmbC50YWc9PT10KWlmKGwuZGVmYXVsdCYmbC50ZXN0KW8ucHVzaChsKTtlbHNlIHJldHVybiBsO2ZvcihsZXQgbCBvZiBvKWlmKGwudGVzdD8udGVzdChlKSlyZXR1cm4gbDtsZXQgbj1hLmtub3duVGFnc1t0XTtyZXR1cm4gbiYmIW4uY29sbGVjdGlvbj8oYS50YWdzLnB1c2goT2JqZWN0LmFzc2lnbih7fSxuLHtkZWZhdWx0OiExLHRlc3Q6dm9pZCAwfSkpLG4pOihpKHIsIlRBR19SRVNPTFZFX0ZBSUxFRCIsYFVucmVzb2x2ZWQgdGFnOiAke3R9YCx0IT09InRhZzp5YW1sLm9yZywyMDAyOnN0ciIpLGFbX29dKX1mdW5jdGlvbiBZeGEoe2F0S2V5OmEsZGlyZWN0aXZlczplLHNjaGVtYTp0fSxyLGksbyl7bGV0IG49dC50YWdzLmZpbmQobD0+KGwuZGVmYXVsdD09PSEwfHxhJiZsLmRlZmF1bHQ9PT0ia2V5IikmJmwudGVzdD8udGVzdChyKSl8fHRbX29dO2lmKHQuY29tcGF0KXtsZXQgbD10LmNvbXBhdC5maW5kKGQ9PmQuZGVmYXVsdCYmZC50ZXN0Py50ZXN0KHIpKT8/dFtfb107aWYobi50YWchPT1sLnRhZyl7bGV0IGQ9ZS50YWdTdHJpbmcobi50YWcpLGM9ZS50YWdTdHJpbmcobC50YWcpLHA9YFZhbHVlIG1heSBiZSBwYXJzZWQgYXMgZWl0aGVyICR7ZH0gb3IgJHtjfWA7byhpLCJUQUdfUkVTT0xWRV9GQUlMRUQiLHAsITApfX1yZXR1cm4gbn12YXIgaTN0PWYoKCk9PnskYSgpO3BzKCk7eTBlKCk7dzBlKCk7cyhYWCwiY29tcG9zZVNjYWxhciIpO3MoR3hhLCJmaW5kU2NhbGFyVGFnQnlOYW1lIik7cyhZeGEsImZpbmRTY2FsYXJUYWdCeVRlc3QiKX0pO2Z1bmN0aW9uIE0wZShhLGUsdCl7aWYoZSl7dD8/KHQ9ZS5sZW5ndGgpO2ZvcihsZXQgcj10LTE7cj49MDstLXIpe2xldCBpPWVbcl07c3dpdGNoKGkudHlwZSl7Y2FzZSJzcGFjZSI6Y2FzZSJjb21tZW50IjpjYXNlIm5ld2xpbmUiOmEtPWkuc291cmNlLmxlbmd0aDtjb250aW51ZX1mb3IoaT1lWysrcl07aT8udHlwZT09PSJzcGFjZSI7KWErPWkuc291cmNlLmxlbmd0aCxpPWVbKytyXTticmVha319cmV0dXJuIGF9dmFyIG8zdD1mKCgpPT57cyhNMGUsImVtcHR5U2NhbGFyUG9zaXRpb24iKX0pO2Z1bmN0aW9uIFFYKGEsZSx0LHIpe2xldCBpPWEuYXRLZXkse3NwYWNlQmVmb3JlOm8sY29tbWVudDpuLGFuY2hvcjpsLHRhZzpkfT10LGMscD0hMDtzd2l0Y2goZS50eXBlKXtjYXNlImFsaWFzIjpjPVp4YShhLGUsciksKGx8fGQpJiZyKGUsIkFMSUFTX1BST1BTIiwiQW4gYWxpYXMgbm9kZSBtdXN0IG5vdCBzcGVjaWZ5IGFueSBwcm9wZXJ0aWVzIik7YnJlYWs7Y2FzZSJzY2FsYXIiOmNhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOmNhc2UiZG91YmxlLXF1b3RlZC1zY2FsYXIiOmNhc2UiYmxvY2stc2NhbGFyIjpjPVhYKGEsZSxkLHIpLGwmJihjLmFuY2hvcj1sLnNvdXJjZS5zdWJzdHJpbmcoMSkpO2JyZWFrO2Nhc2UiYmxvY2stbWFwIjpjYXNlImJsb2NrLXNlcSI6Y2FzZSJmbG93LWNvbGxlY3Rpb24iOnRyeXtjPXgwZShLeGEsYSxlLHQsciksbCYmKGMuYW5jaG9yPWwuc291cmNlLnN1YnN0cmluZygxKSl9Y2F0Y2godSl7bGV0IG09dSBpbnN0YW5jZW9mIEVycm9yP3UubWVzc2FnZTpTdHJpbmcodSk7cihlLCJSRVNPVVJDRV9FWEhBVVNUSU9OIixtKX1icmVhaztkZWZhdWx0OntsZXQgdT1lLnR5cGU9PT0iZXJyb3IiP2UubWVzc2FnZTpgVW5zdXBwb3J0ZWQgdG9rZW4gKHR5cGU6ICR7ZS50eXBlfSlgO3IoZSwiVU5FWFBFQ1RFRF9UT0tFTiIsdSkscD0hMX19cmV0dXJuIGM/PyhjPURnKGEsZS5vZmZzZXQsdm9pZCAwLG51bGwsdCxyKSksbCYmYy5hbmNob3I9PT0iIiYmcihsLCJCQURfQUxJQVMiLCJBbmNob3IgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZyIpLGkmJmEub3B0aW9ucy5zdHJpbmdLZXlzJiYoIVZ0KGMpfHx0eXBlb2YgYy52YWx1ZSE9InN0cmluZyJ8fGMudGFnJiZjLnRhZyE9PSJ0YWc6eWFtbC5vcmcsMjAwMjpzdHIiKSYmcihkPz9lLCJOT05fU1RSSU5HX0tFWSIsIldpdGggc3RyaW5nS2V5cywgYWxsIGtleXMgbXVzdCBiZSBzdHJpbmdzIiksbyYmKGMuc3BhY2VCZWZvcmU9ITApLG4mJihlLnR5cGU9PT0ic2NhbGFyIiYmZS5zb3VyY2U9PT0iIj9jLmNvbW1lbnQ9bjpjLmNvbW1lbnRCZWZvcmU9biksYS5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJnAmJihjLnNyY1Rva2VuPWUpLGN9ZnVuY3Rpb24gRGcoYSxlLHQscix7c3BhY2VCZWZvcmU6aSxjb21tZW50Om8sYW5jaG9yOm4sdGFnOmwsZW5kOmR9LGMpe2xldCBwPXt0eXBlOiJzY2FsYXIiLG9mZnNldDpNMGUoZSx0LHIpLGluZGVudDotMSxzb3VyY2U6IiJ9LHU9WFgoYSxwLGwsYyk7cmV0dXJuIG4mJih1LmFuY2hvcj1uLnNvdXJjZS5zdWJzdHJpbmcoMSksdS5hbmNob3I9PT0iIiYmYyhuLCJCQURfQUxJQVMiLCJBbmNob3IgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZyIpKSxpJiYodS5zcGFjZUJlZm9yZT0hMCksbyYmKHUuY29tbWVudD1vLHUucmFuZ2VbMl09ZCksdX1mdW5jdGlvbiBaeGEoe29wdGlvbnM6YX0se29mZnNldDplLHNvdXJjZTp0LGVuZDpyfSxpKXtsZXQgbz1uZXcgU24odC5zdWJzdHJpbmcoMSkpO28uc291cmNlPT09IiImJmkoZSwiQkFEX0FMSUFTIiwiQWxpYXMgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZyIpLG8uc291cmNlLmVuZHNXaXRoKCI6IikmJmkoZSt0Lmxlbmd0aC0xLCJCQURfQUxJQVMiLCJBbGlhcyBlbmRpbmcgaW4gOiBpcyBhbWJpZ3VvdXMiLCEwKTtsZXQgbj1lK3QubGVuZ3RoLGw9ZzEocixuLGEuc3RyaWN0LGkpO3JldHVybiBvLnJhbmdlPVtlLG4sbC5vZmZzZXRdLGwuY29tbWVudCYmKG8uY29tbWVudD1sLmNvbW1lbnQpLG99dmFyIEt4YSxuM3Q9ZigoKT0+e2FnKCk7JGEoKTtyM3QoKTtpM3QoKTtsOCgpO28zdCgpO0t4YT17Y29tcG9zZU5vZGU6UVgsY29tcG9zZUVtcHR5Tm9kZTpEZ307cyhRWCwiY29tcG9zZU5vZGUiKTtzKERnLCJjb21wb3NlRW1wdHlOb2RlIik7cyhaeGEsImNvbXBvc2VBbGlhcyIpfSk7ZnVuY3Rpb24gazBlKGEsZSx7b2Zmc2V0OnQsc3RhcnQ6cix2YWx1ZTppLGVuZDpvfSxuKXtsZXQgbD1PYmplY3QuYXNzaWduKHtfZGlyZWN0aXZlczplfSxhKSxkPW5ldyBUbih2b2lkIDAsbCksYz17YXRLZXk6ITEsYXRSb290OiEwLGRpcmVjdGl2ZXM6ZC5kaXJlY3RpdmVzLG9wdGlvbnM6ZC5vcHRpb25zLHNjaGVtYTpkLnNjaGVtYX0scD1tMShyLHtpbmRpY2F0b3I6ImRvYy1zdGFydCIsbmV4dDppPz9vPy5bMF0sb2Zmc2V0OnQsb25FcnJvcjpuLHBhcmVudEluZGVudDowLHN0YXJ0T25OZXdsaW5lOiEwfSk7cC5mb3VuZCYmKGQuZGlyZWN0aXZlcy5kb2NTdGFydD0hMCxpJiYoaS50eXBlPT09ImJsb2NrLW1hcCJ8fGkudHlwZT09PSJibG9jay1zZXEiKSYmIXAuaGFzTmV3bGluZSYmbihwLmVuZCwiTUlTU0lOR19DSEFSIiwiQmxvY2sgY29sbGVjdGlvbiBjYW5ub3Qgc3RhcnQgb24gc2FtZSBsaW5lIHdpdGggZGlyZWN0aXZlcy1lbmQgbWFya2VyIikpLGQuY29udGVudHM9aT9RWChjLGkscCxuKTpEZyhjLHAuZW5kLHIsbnVsbCxwLG4pO2xldCB1PWQuY29udGVudHMucmFuZ2VbMl0sbT1nMShvLHUsITEsbik7cmV0dXJuIG0uY29tbWVudCYmKGQuY29tbWVudD1tLmNvbW1lbnQpLGQucmFuZ2U9W3QsdSxtLm9mZnNldF0sZH12YXIgbDN0PWYoKCk9Pnt6ZygpO24zdCgpO2w4KCk7X2coKTtzKGswZSwiY29tcG9zZURvYyIpfSk7ZnVuY3Rpb24gQWcoYSl7aWYodHlwZW9mIGE9PSJudW1iZXIiKXJldHVyblthLGErMV07aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm4gYS5sZW5ndGg9PT0yP2E6W2FbMF0sYVsxXV07bGV0e29mZnNldDplLHNvdXJjZTp0fT1hO3JldHVybltlLGUrKHR5cGVvZiB0PT0ic3RyaW5nIj90Lmxlbmd0aDoxKV19ZnVuY3Rpb24gYzN0KGEpe2xldCBlPSIiLHQ9ITEscj0hMTtmb3IobGV0IGk9MDtpPGEubGVuZ3RoOysraSl7bGV0IG89YVtpXTtzd2l0Y2gob1swXSl7Y2FzZSIjIjplKz0oZT09PSIiPyIiOnI/YAoKYDpgCmApKyhvLnN1YnN0cmluZygxKXx8IiAiKSx0PSEwLHI9ITE7YnJlYWs7Y2FzZSIlIjphW2krMV0/LlswXSE9PSIjIiYmKGkrPTEpLHQ9ITE7YnJlYWs7ZGVmYXVsdDp0fHwocj0hMCksdD0hMX19cmV0dXJue2NvbW1lbnQ6ZSxhZnRlckVtcHR5TGluZTpyfX12YXIgTmwsUzBlPWYoKCk9PntEY2UoKTt6ZygpO0NnKCk7JGEoKTtsM3QoKTtsOCgpO3MoQWcsImdldEVycm9yUG9zIik7cyhjM3QsInBhcnNlUHJlbHVkZSIpO05sPWNsYXNze3N0YXRpY3tzKHRoaXMsIkNvbXBvc2VyIil9Y29uc3RydWN0b3IoZT17fSl7dGhpcy5kb2M9bnVsbCx0aGlzLmF0RGlyZWN0aXZlcz0hMSx0aGlzLnByZWx1ZGU9W10sdGhpcy5lcnJvcnM9W10sdGhpcy53YXJuaW5ncz1bXSx0aGlzLm9uRXJyb3I9KHQscixpLG8pPT57bGV0IG49QWcodCk7bz90aGlzLndhcm5pbmdzLnB1c2gobmV3IEEwKG4scixpKSk6dGhpcy5lcnJvcnMucHVzaChuZXcgVWkobixyLGkpKX0sdGhpcy5kaXJlY3RpdmVzPW5ldyBmMSh7dmVyc2lvbjplLnZlcnNpb258fCIxLjIifSksdGhpcy5vcHRpb25zPWV9ZGVjb3JhdGUoZSx0KXtsZXR7Y29tbWVudDpyLGFmdGVyRW1wdHlMaW5lOml9PWMzdCh0aGlzLnByZWx1ZGUpO2lmKHIpe2xldCBvPWUuY29udGVudHM7aWYodCllLmNvbW1lbnQ9ZS5jb21tZW50P2Ake2UuY29tbWVudH0KJHtyfWA6cjtlbHNlIGlmKGl8fGUuZGlyZWN0aXZlcy5kb2NTdGFydHx8IW8pZS5jb21tZW50QmVmb3JlPXI7ZWxzZSBpZihMYShvKSYmIW8uZmxvdyYmby5pdGVtcy5sZW5ndGg+MCl7bGV0IG49by5pdGVtc1swXTtyYShuKSYmKG49bi5rZXkpO2xldCBsPW4uY29tbWVudEJlZm9yZTtuLmNvbW1lbnRCZWZvcmU9bD9gJHtyfQoke2x9YDpyfWVsc2V7bGV0IG49by5jb21tZW50QmVmb3JlO28uY29tbWVudEJlZm9yZT1uP2Ake3J9CiR7bn1gOnJ9fXQ/KEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGUuZXJyb3JzLHRoaXMuZXJyb3JzKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShlLndhcm5pbmdzLHRoaXMud2FybmluZ3MpKTooZS5lcnJvcnM9dGhpcy5lcnJvcnMsZS53YXJuaW5ncz10aGlzLndhcm5pbmdzKSx0aGlzLnByZWx1ZGU9W10sdGhpcy5lcnJvcnM9W10sdGhpcy53YXJuaW5ncz1bXX1zdHJlYW1JbmZvKCl7cmV0dXJue2NvbW1lbnQ6YzN0KHRoaXMucHJlbHVkZSkuY29tbWVudCxkaXJlY3RpdmVzOnRoaXMuZGlyZWN0aXZlcyxlcnJvcnM6dGhpcy5lcnJvcnMsd2FybmluZ3M6dGhpcy53YXJuaW5nc319KmNvbXBvc2UoZSx0PSExLHI9LTEpe2ZvcihsZXQgaSBvZiBlKXlpZWxkKnRoaXMubmV4dChpKTt5aWVsZCp0aGlzLmVuZCh0LHIpfSpuZXh0KGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UiZGlyZWN0aXZlIjp0aGlzLmRpcmVjdGl2ZXMuYWRkKGUuc291cmNlLCh0LHIsaSk9PntsZXQgbz1BZyhlKTtvWzBdKz10LHRoaXMub25FcnJvcihvLCJCQURfRElSRUNUSVZFIixyLGkpfSksdGhpcy5wcmVsdWRlLnB1c2goZS5zb3VyY2UpLHRoaXMuYXREaXJlY3RpdmVzPSEwO2JyZWFrO2Nhc2UiZG9jdW1lbnQiOntsZXQgdD1rMGUodGhpcy5vcHRpb25zLHRoaXMuZGlyZWN0aXZlcyxlLHRoaXMub25FcnJvcik7dGhpcy5hdERpcmVjdGl2ZXMmJiF0LmRpcmVjdGl2ZXMuZG9jU3RhcnQmJnRoaXMub25FcnJvcihlLCJNSVNTSU5HX0NIQVIiLCJNaXNzaW5nIGRpcmVjdGl2ZXMtZW5kL2RvYy1zdGFydCBpbmRpY2F0b3IgbGluZSIpLHRoaXMuZGVjb3JhdGUodCwhMSksdGhpcy5kb2MmJih5aWVsZCB0aGlzLmRvYyksdGhpcy5kb2M9dCx0aGlzLmF0RGlyZWN0aXZlcz0hMTticmVha31jYXNlImJ5dGUtb3JkZXItbWFyayI6Y2FzZSJzcGFjZSI6YnJlYWs7Y2FzZSJjb21tZW50IjpjYXNlIm5ld2xpbmUiOnRoaXMucHJlbHVkZS5wdXNoKGUuc291cmNlKTticmVhaztjYXNlImVycm9yIjp7bGV0IHQ9ZS5zb3VyY2U/YCR7ZS5tZXNzYWdlfTogJHtKU09OLnN0cmluZ2lmeShlLnNvdXJjZSl9YDplLm1lc3NhZ2Uscj1uZXcgVWkoQWcoZSksIlVORVhQRUNURURfVE9LRU4iLHQpO3RoaXMuYXREaXJlY3RpdmVzfHwhdGhpcy5kb2M/dGhpcy5lcnJvcnMucHVzaChyKTp0aGlzLmRvYy5lcnJvcnMucHVzaChyKTticmVha31jYXNlImRvYy1lbmQiOntpZighdGhpcy5kb2Mpe2xldCByPSJVbmV4cGVjdGVkIGRvYy1lbmQgd2l0aG91dCBwcmVjZWRpbmcgZG9jdW1lbnQiO3RoaXMuZXJyb3JzLnB1c2gobmV3IFVpKEFnKGUpLCJVTkVYUEVDVEVEX1RPS0VOIixyKSk7YnJlYWt9dGhpcy5kb2MuZGlyZWN0aXZlcy5kb2NFbmQ9ITA7bGV0IHQ9ZzEoZS5lbmQsZS5vZmZzZXQrZS5zb3VyY2UubGVuZ3RoLHRoaXMuZG9jLm9wdGlvbnMuc3RyaWN0LHRoaXMub25FcnJvcik7aWYodGhpcy5kZWNvcmF0ZSh0aGlzLmRvYywhMCksdC5jb21tZW50KXtsZXQgcj10aGlzLmRvYy5jb21tZW50O3RoaXMuZG9jLmNvbW1lbnQ9cj9gJHtyfQoke3QuY29tbWVudH1gOnQuY29tbWVudH10aGlzLmRvYy5yYW5nZVsyXT10Lm9mZnNldDticmVha31kZWZhdWx0OnRoaXMuZXJyb3JzLnB1c2gobmV3IFVpKEFnKGUpLCJVTkVYUEVDVEVEX1RPS0VOIixgVW5zdXBwb3J0ZWQgdG9rZW4gJHtlLnR5cGV9YCkpfX0qZW5kKGU9ITEsdD0tMSl7aWYodGhpcy5kb2MpdGhpcy5kZWNvcmF0ZSh0aGlzLmRvYywhMCkseWllbGQgdGhpcy5kb2MsdGhpcy5kb2M9bnVsbDtlbHNlIGlmKGUpe2xldCByPU9iamVjdC5hc3NpZ24oe19kaXJlY3RpdmVzOnRoaXMuZGlyZWN0aXZlc30sdGhpcy5vcHRpb25zKSxpPW5ldyBUbih2b2lkIDAscik7dGhpcy5hdERpcmVjdGl2ZXMmJnRoaXMub25FcnJvcih0LCJNSVNTSU5HX0NIQVIiLCJNaXNzaW5nIGRpcmVjdGl2ZXMtZW5kIGluZGljYXRvciBsaW5lIiksaS5yYW5nZT1bMCx0LHRdLHRoaXMuZGVjb3JhdGUoaSwhMSkseWllbGQgaX19fX0pO2Z1bmN0aW9uIEMwZShhLGU9ITAsdCl7aWYoYSl7bGV0IHI9cygoaSxvLG4pPT57bGV0IGw9dHlwZW9mIGk9PSJudW1iZXIiP2k6QXJyYXkuaXNBcnJheShpKT9pWzBdOmkub2Zmc2V0O2lmKHQpdChsLG8sbik7ZWxzZSB0aHJvdyBuZXcgVWkoW2wsbCsxXSxvLG4pfSwiX29uRXJyb3IiKTtzd2l0Y2goYS50eXBlKXtjYXNlInNjYWxhciI6Y2FzZSJzaW5nbGUtcXVvdGVkLXNjYWxhciI6Y2FzZSJkb3VibGUtcXVvdGVkLXNjYWxhciI6cmV0dXJuICRnKGEsZSxyKTtjYXNlImJsb2NrLXNjYWxhciI6cmV0dXJuIExnKHtvcHRpb25zOntzdHJpY3Q6ZX19LGEscil9fXJldHVybiBudWxsfWZ1bmN0aW9uIF8wZShhLGUpe2xldHtpbXBsaWNpdEtleTp0PSExLGluZGVudDpyLGluRmxvdzppPSExLG9mZnNldDpvPS0xLHR5cGU6bj0iUExBSU4ifT1lLGw9JDIoe3R5cGU6bix2YWx1ZTphfSx7aW1wbGljaXRLZXk6dCxpbmRlbnQ6cj4wPyIgIi5yZXBlYXQocik6IiIsaW5GbG93Omksb3B0aW9uczp7YmxvY2tRdW90ZTohMCxsaW5lV2lkdGg6LTF9fSksZD1lLmVuZD8/W3t0eXBlOiJuZXdsaW5lIixvZmZzZXQ6LTEsaW5kZW50OnIsc291cmNlOmAKYH1dO3N3aXRjaChsWzBdKXtjYXNlInwiOmNhc2UiPiI6e2xldCBjPWwuaW5kZXhPZihgCmApLHA9bC5zdWJzdHJpbmcoMCxjKSx1PWwuc3Vic3RyaW5nKGMrMSkrYApgLG09W3t0eXBlOiJibG9jay1zY2FsYXItaGVhZGVyIixvZmZzZXQ6byxpbmRlbnQ6cixzb3VyY2U6cH1dO3JldHVybiBkM3QobSxkKXx8bS5wdXNoKHt0eXBlOiJuZXdsaW5lIixvZmZzZXQ6LTEsaW5kZW50OnIsc291cmNlOmAKYH0pLHt0eXBlOiJibG9jay1zY2FsYXIiLG9mZnNldDpvLGluZGVudDpyLHByb3BzOm0sc291cmNlOnV9fWNhc2UnIic6cmV0dXJue3R5cGU6ImRvdWJsZS1xdW90ZWQtc2NhbGFyIixvZmZzZXQ6byxpbmRlbnQ6cixzb3VyY2U6bCxlbmQ6ZH07Y2FzZSInIjpyZXR1cm57dHlwZToic2luZ2xlLXF1b3RlZC1zY2FsYXIiLG9mZnNldDpvLGluZGVudDpyLHNvdXJjZTpsLGVuZDpkfTtkZWZhdWx0OnJldHVybnt0eXBlOiJzY2FsYXIiLG9mZnNldDpvLGluZGVudDpyLHNvdXJjZTpsLGVuZDpkfX19ZnVuY3Rpb24gVDBlKGEsZSx0PXt9KXtsZXR7YWZ0ZXJLZXk6cj0hMSxpbXBsaWNpdEtleTppPSExLGluRmxvdzpvPSExLHR5cGU6bn09dCxsPSJpbmRlbnQiaW4gYT9hLmluZGVudDpudWxsO2lmKHImJnR5cGVvZiBsPT0ibnVtYmVyIiYmKGwrPTIpLCFuKXN3aXRjaChhLnR5cGUpe2Nhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOm49IlFVT1RFX1NJTkdMRSI7YnJlYWs7Y2FzZSJkb3VibGUtcXVvdGVkLXNjYWxhciI6bj0iUVVPVEVfRE9VQkxFIjticmVhaztjYXNlImJsb2NrLXNjYWxhciI6e2xldCBjPWEucHJvcHNbMF07aWYoYy50eXBlIT09ImJsb2NrLXNjYWxhci1oZWFkZXIiKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBibG9jayBzY2FsYXIgaGVhZGVyIik7bj1jLnNvdXJjZVswXT09PSI+Ij8iQkxPQ0tfRk9MREVEIjoiQkxPQ0tfTElURVJBTCI7YnJlYWt9ZGVmYXVsdDpuPSJQTEFJTiJ9bGV0IGQ9JDIoe3R5cGU6bix2YWx1ZTplfSx7aW1wbGljaXRLZXk6aXx8bD09PW51bGwsaW5kZW50OmwhPT1udWxsJiZsPjA/IiAiLnJlcGVhdChsKToiIixpbkZsb3c6byxvcHRpb25zOntibG9ja1F1b3RlOiEwLGxpbmVXaWR0aDotMX19KTtzd2l0Y2goZFswXSl7Y2FzZSJ8IjpjYXNlIj4iOlh4YShhLGQpO2JyZWFrO2Nhc2UnIic6ejBlKGEsZCwiZG91YmxlLXF1b3RlZC1zY2FsYXIiKTticmVhaztjYXNlIiciOnowZShhLGQsInNpbmdsZS1xdW90ZWQtc2NhbGFyIik7YnJlYWs7ZGVmYXVsdDp6MGUoYSxkLCJzY2FsYXIiKX19ZnVuY3Rpb24gWHhhKGEsZSl7bGV0IHQ9ZS5pbmRleE9mKGAKYCkscj1lLnN1YnN0cmluZygwLHQpLGk9ZS5zdWJzdHJpbmcodCsxKStgCmA7aWYoYS50eXBlPT09ImJsb2NrLXNjYWxhciIpe2xldCBvPWEucHJvcHNbMF07aWYoby50eXBlIT09ImJsb2NrLXNjYWxhci1oZWFkZXIiKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBibG9jayBzY2FsYXIgaGVhZGVyIik7by5zb3VyY2U9cixhLnNvdXJjZT1pfWVsc2V7bGV0e29mZnNldDpvfT1hLG49ImluZGVudCJpbiBhP2EuaW5kZW50Oi0xLGw9W3t0eXBlOiJibG9jay1zY2FsYXItaGVhZGVyIixvZmZzZXQ6byxpbmRlbnQ6bixzb3VyY2U6cn1dO2QzdChsLCJlbmQiaW4gYT9hLmVuZDp2b2lkIDApfHxsLnB1c2goe3R5cGU6Im5ld2xpbmUiLG9mZnNldDotMSxpbmRlbnQ6bixzb3VyY2U6YApgfSk7Zm9yKGxldCBkIG9mIE9iamVjdC5rZXlzKGEpKWQhPT0idHlwZSImJmQhPT0ib2Zmc2V0IiYmZGVsZXRlIGFbZF07T2JqZWN0LmFzc2lnbihhLHt0eXBlOiJibG9jay1zY2FsYXIiLGluZGVudDpuLHByb3BzOmwsc291cmNlOml9KX19ZnVuY3Rpb24gZDN0KGEsZSl7aWYoZSlmb3IobGV0IHQgb2YgZSlzd2l0Y2godC50eXBlKXtjYXNlInNwYWNlIjpjYXNlImNvbW1lbnQiOmEucHVzaCh0KTticmVhaztjYXNlIm5ld2xpbmUiOnJldHVybiBhLnB1c2godCksITB9cmV0dXJuITF9ZnVuY3Rpb24gejBlKGEsZSx0KXtzd2l0Y2goYS50eXBlKXtjYXNlInNjYWxhciI6Y2FzZSJkb3VibGUtcXVvdGVkLXNjYWxhciI6Y2FzZSJzaW5nbGUtcXVvdGVkLXNjYWxhciI6YS50eXBlPXQsYS5zb3VyY2U9ZTticmVhaztjYXNlImJsb2NrLXNjYWxhciI6e2xldCByPWEucHJvcHMuc2xpY2UoMSksaT1lLmxlbmd0aDthLnByb3BzWzBdLnR5cGU9PT0iYmxvY2stc2NhbGFyLWhlYWRlciImJihpLT1hLnByb3BzWzBdLnNvdXJjZS5sZW5ndGgpO2ZvcihsZXQgbyBvZiByKW8ub2Zmc2V0Kz1pO2RlbGV0ZSBhLnByb3BzLE9iamVjdC5hc3NpZ24oYSx7dHlwZTp0LHNvdXJjZTplLGVuZDpyfSk7YnJlYWt9Y2FzZSJibG9jay1tYXAiOmNhc2UiYmxvY2stc2VxIjp7bGV0IGk9e3R5cGU6Im5ld2xpbmUiLG9mZnNldDphLm9mZnNldCtlLmxlbmd0aCxpbmRlbnQ6YS5pbmRlbnQsc291cmNlOmAKYH07ZGVsZXRlIGEuaXRlbXMsT2JqZWN0LmFzc2lnbihhLHt0eXBlOnQsc291cmNlOmUsZW5kOltpXX0pO2JyZWFrfWRlZmF1bHQ6e2xldCByPSJpbmRlbnQiaW4gYT9hLmluZGVudDotMSxpPSJlbmQiaW4gYSYmQXJyYXkuaXNBcnJheShhLmVuZCk/YS5lbmQuZmlsdGVyKG89Pm8udHlwZT09PSJzcGFjZSJ8fG8udHlwZT09PSJjb21tZW50Inx8by50eXBlPT09Im5ld2xpbmUiKTpbXTtmb3IobGV0IG8gb2YgT2JqZWN0LmtleXMoYSkpbyE9PSJ0eXBlIiYmbyE9PSJvZmZzZXQiJiZkZWxldGUgYVtvXTtPYmplY3QuYXNzaWduKGEse3R5cGU6dCxpbmRlbnQ6cixzb3VyY2U6ZSxlbmQ6aX0pfX19dmFyIHUzdD1mKCgpPT57eTBlKCk7dzBlKCk7Q2coKTtsZygpO3MoQzBlLCJyZXNvbHZlQXNTY2FsYXIiKTtzKF8wZSwiY3JlYXRlU2NhbGFyVG9rZW4iKTtzKFQwZSwic2V0U2NhbGFyVmFsdWUiKTtzKFh4YSwic2V0QmxvY2tTY2FsYXJWYWx1ZSIpO3MoZDN0LCJhZGRFbmR0b0Jsb2NrUHJvcHMiKTtzKHowZSwic2V0Rmxvd1NjYWxhclZhbHVlIil9KTtmdW5jdGlvbiBKWChhKXtzd2l0Y2goYS50eXBlKXtjYXNlImJsb2NrLXNjYWxhciI6e2xldCBlPSIiO2ZvcihsZXQgdCBvZiBhLnByb3BzKWUrPUpYKHQpO3JldHVybiBlK2Euc291cmNlfWNhc2UiYmxvY2stbWFwIjpjYXNlImJsb2NrLXNlcSI6e2xldCBlPSIiO2ZvcihsZXQgdCBvZiBhLml0ZW1zKWUrPWVRKHQpO3JldHVybiBlfWNhc2UiZmxvdy1jb2xsZWN0aW9uIjp7bGV0IGU9YS5zdGFydC5zb3VyY2U7Zm9yKGxldCB0IG9mIGEuaXRlbXMpZSs9ZVEodCk7Zm9yKGxldCB0IG9mIGEuZW5kKWUrPXQuc291cmNlO3JldHVybiBlfWNhc2UiZG9jdW1lbnQiOntsZXQgZT1lUShhKTtpZihhLmVuZClmb3IobGV0IHQgb2YgYS5lbmQpZSs9dC5zb3VyY2U7cmV0dXJuIGV9ZGVmYXVsdDp7bGV0IGU9YS5zb3VyY2U7aWYoImVuZCJpbiBhJiZhLmVuZClmb3IobGV0IHQgb2YgYS5lbmQpZSs9dC5zb3VyY2U7cmV0dXJuIGV9fX1mdW5jdGlvbiBlUSh7c3RhcnQ6YSxrZXk6ZSxzZXA6dCx2YWx1ZTpyfSl7bGV0IGk9IiI7Zm9yKGxldCBvIG9mIGEpaSs9by5zb3VyY2U7aWYoZSYmKGkrPUpYKGUpKSx0KWZvcihsZXQgbyBvZiB0KWkrPW8uc291cmNlO3JldHVybiByJiYoaSs9SlgocikpLGl9dmFyIEwwZSxwM3Q9ZigoKT0+e0wwZT1zKGE9PiJ0eXBlImluIGE/SlgoYSk6ZVEoYSksInN0cmluZ2lmeSIpO3MoSlgsInN0cmluZ2lmeVRva2VuIik7cyhlUSwic3RyaW5naWZ5SXRlbSIpfSk7ZnVuY3Rpb24gUmwoYSxlKXsidHlwZSJpbiBhJiZhLnR5cGU9PT0iZG9jdW1lbnQiJiYoYT17c3RhcnQ6YS5zdGFydCx2YWx1ZTphLnZhbHVlfSksaDN0KE9iamVjdC5mcmVlemUoW10pLGEsZSl9ZnVuY3Rpb24gaDN0KGEsZSx0KXtsZXQgcj10KGUsYSk7aWYodHlwZW9mIHI9PSJzeW1ib2wiKXJldHVybiByO2ZvcihsZXQgaSBvZlsia2V5IiwidmFsdWUiXSl7bGV0IG89ZVtpXTtpZihvJiYiaXRlbXMiaW4gbyl7Zm9yKGxldCBuPTA7bjxvLml0ZW1zLmxlbmd0aDsrK24pe2xldCBsPWgzdChPYmplY3QuZnJlZXplKGEuY29uY2F0KFtbaSxuXV0pKSxvLml0ZW1zW25dLHQpO2lmKHR5cGVvZiBsPT0ibnVtYmVyIiluPWwtMTtlbHNle2lmKGw9PT0kMGUpcmV0dXJuICQwZTtsPT09ZjN0JiYoby5pdGVtcy5zcGxpY2UobiwxKSxuLT0xKX19dHlwZW9mIHI9PSJmdW5jdGlvbiImJmk9PT0ia2V5IiYmKHI9cihlLGEpKX19cmV0dXJuIHR5cGVvZiByPT0iZnVuY3Rpb24iP3IoZSxhKTpyfXZhciAkMGUsUXhhLGYzdCxtM3Q9ZigoKT0+eyQwZT1TeW1ib2woImJyZWFrIHZpc2l0IiksUXhhPVN5bWJvbCgic2tpcCBjaGlsZHJlbiIpLGYzdD1TeW1ib2woInJlbW92ZSBpdGVtIik7cyhSbCwidmlzaXQiKSxSbC5CUkVBSz0kMGUsUmwuU0tJUD1ReGEsUmwuUkVNT1ZFPWYzdCxSbC5pdGVtQXRQYXRoPShhLGUpPT57bGV0IHQ9YTtmb3IobGV0W3IsaV1vZiBlKXtsZXQgbz10Py5bcl07aWYobyYmIml0ZW1zImluIG8pdD1vLml0ZW1zW2ldO2Vsc2UgcmV0dXJufXJldHVybiB0fSxSbC5wYXJlbnRDb2xsZWN0aW9uPShhLGUpPT57bGV0IHQ9UmwuaXRlbUF0UGF0aChhLGUuc2xpY2UoMCwtMSkpLHI9ZVtlLmxlbmd0aC0xXVswXSxpPXQ/LltyXTtpZihpJiYiaXRlbXMiaW4gaSlyZXR1cm4gaTt0aHJvdyBuZXcgRXJyb3IoIlBhcmVudCBjb2xsZWN0aW9uIG5vdCBmb3VuZCIpfTtzKGgzdCwiX3Zpc2l0Iil9KTt2YXIgUGc9e307bHQoUGcse0JPTTooKT0+YzgsRE9DVU1FTlQ6KCk9PmQ4LEZMT1dfRU5EOigpPT51OCxTQ0FMQVI6KCk9PlIzLGNyZWF0ZVNjYWxhclRva2VuOigpPT5fMGUsaXNDb2xsZWN0aW9uOigpPT5nM3QsaXNTY2FsYXI6KCk9PmIzdCxwcmV0dHlUb2tlbjooKT0+djN0LHJlc29sdmVBc1NjYWxhcjooKT0+QzBlLHNldFNjYWxhclZhbHVlOigpPT5UMGUsc3RyaW5naWZ5OigpPT5MMGUsdG9rZW5UeXBlOigpPT50USx2aXNpdDooKT0+Umx9KTtmdW5jdGlvbiB2M3QoYSl7c3dpdGNoKGEpe2Nhc2UgYzg6cmV0dXJuIjxCT00+IjtjYXNlIGQ4OnJldHVybiI8RE9DPiI7Y2FzZSB1ODpyZXR1cm4iPEZMT1dfRU5EPiI7Y2FzZSBSMzpyZXR1cm4iPFNDQUxBUj4iO2RlZmF1bHQ6cmV0dXJuIEpTT04uc3RyaW5naWZ5KGEpfX1mdW5jdGlvbiB0UShhKXtzd2l0Y2goYSl7Y2FzZSBjODpyZXR1cm4iYnl0ZS1vcmRlci1tYXJrIjtjYXNlIGQ4OnJldHVybiJkb2MtbW9kZSI7Y2FzZSB1ODpyZXR1cm4iZmxvdy1lcnJvci1lbmQiO2Nhc2UgUjM6cmV0dXJuInNjYWxhciI7Y2FzZSItLS0iOnJldHVybiJkb2Mtc3RhcnQiO2Nhc2UiLi4uIjpyZXR1cm4iZG9jLWVuZCI7Y2FzZSIiOmNhc2VgCmA6Y2FzZWBccgpgOnJldHVybiJuZXdsaW5lIjtjYXNlIi0iOnJldHVybiJzZXEtaXRlbS1pbmQiO2Nhc2UiPyI6cmV0dXJuImV4cGxpY2l0LWtleS1pbmQiO2Nhc2UiOiI6cmV0dXJuIm1hcC12YWx1ZS1pbmQiO2Nhc2UieyI6cmV0dXJuImZsb3ctbWFwLXN0YXJ0IjtjYXNlIn0iOnJldHVybiJmbG93LW1hcC1lbmQiO2Nhc2UiWyI6cmV0dXJuImZsb3ctc2VxLXN0YXJ0IjtjYXNlIl0iOnJldHVybiJmbG93LXNlcS1lbmQiO2Nhc2UiLCI6cmV0dXJuImNvbW1hIn1zd2l0Y2goYVswXSl7Y2FzZSIgIjpjYXNlIgkiOnJldHVybiJzcGFjZSI7Y2FzZSIjIjpyZXR1cm4iY29tbWVudCI7Y2FzZSIlIjpyZXR1cm4iZGlyZWN0aXZlLWxpbmUiO2Nhc2UiKiI6cmV0dXJuImFsaWFzIjtjYXNlIiYiOnJldHVybiJhbmNob3IiO2Nhc2UiISI6cmV0dXJuInRhZyI7Y2FzZSInIjpyZXR1cm4ic2luZ2xlLXF1b3RlZC1zY2FsYXIiO2Nhc2UnIic6cmV0dXJuImRvdWJsZS1xdW90ZWQtc2NhbGFyIjtjYXNlInwiOmNhc2UiPiI6cmV0dXJuImJsb2NrLXNjYWxhci1oZWFkZXIifXJldHVybiBudWxsfXZhciBjOCxkOCx1OCxSMyxnM3QsYjN0LGFRPWYoKCk9Pnt1M3QoKTtwM3QoKTttM3QoKTtjOD0iXHVGRUZGIixkOD0iAiIsdTg9IhgiLFIzPSIfIixnM3Q9cyhhPT4hIWEmJiJpdGVtcyJpbiBhLCJpc0NvbGxlY3Rpb24iKSxiM3Q9cyhhPT4hIWEmJihhLnR5cGU9PT0ic2NhbGFyInx8YS50eXBlPT09InNpbmdsZS1xdW90ZWQtc2NhbGFyInx8YS50eXBlPT09ImRvdWJsZS1xdW90ZWQtc2NhbGFyInx8YS50eXBlPT09ImJsb2NrLXNjYWxhciIpLCJpc1NjYWxhciIpO3ModjN0LCJwcmV0dHlUb2tlbiIpO3ModFEsInRva2VuVHlwZSIpfSk7ZnVuY3Rpb24gYjEoYSl7c3dpdGNoKGEpe2Nhc2Ugdm9pZCAwOmNhc2UiICI6Y2FzZWAKYDpjYXNlIlxyIjpjYXNlIgkiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fXZhciB4M3QsSnhhLHJRLGV5YSxEMGUsUDAsQTBlPWYoKCk9PnthUSgpO3MoYjEsImlzRW1wdHkiKTt4M3Q9bmV3IFNldCgiMDEyMzQ1Njc4OUFCQ0RFRmFiY2RlZiIpLEp4YT1uZXcgU2V0KCIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei0jOy8/OkAmPSskXy4hfionKCkiKSxyUT1uZXcgU2V0KCIsW117fSIpLGV5YT1uZXcgU2V0KGAgLFtde30KXHIJYCksRDBlPXMoYT0+IWF8fGV5YS5oYXMoYSksImlzTm90QW5jaG9yQ2hhciIpLFAwPWNsYXNze3N0YXRpY3tzKHRoaXMsIkxleGVyIil9Y29uc3RydWN0b3IoKXt0aGlzLmF0RW5kPSExLHRoaXMuYmxvY2tTY2FsYXJJbmRlbnQ9LTEsdGhpcy5ibG9ja1NjYWxhcktlZXA9ITEsdGhpcy5idWZmZXI9IiIsdGhpcy5mbG93S2V5PSExLHRoaXMuZmxvd0xldmVsPTAsdGhpcy5pbmRlbnROZXh0PTAsdGhpcy5pbmRlbnRWYWx1ZT0wLHRoaXMubGluZUVuZFBvcz1udWxsLHRoaXMubmV4dD1udWxsLHRoaXMucG9zPTB9KmxleChlLHQ9ITEpe2lmKGUpe2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBUeXBlRXJyb3IoInNvdXJjZSBpcyBub3QgYSBzdHJpbmciKTt0aGlzLmJ1ZmZlcj10aGlzLmJ1ZmZlcj90aGlzLmJ1ZmZlcitlOmUsdGhpcy5saW5lRW5kUG9zPW51bGx9dGhpcy5hdEVuZD0hdDtsZXQgcj10aGlzLm5leHQ/PyJzdHJlYW0iO2Zvcig7ciYmKHR8fHRoaXMuaGFzQ2hhcnMoMSkpOylyPXlpZWxkKnRoaXMucGFyc2VOZXh0KHIpfWF0TGluZUVuZCgpe2xldCBlPXRoaXMucG9zLHQ9dGhpcy5idWZmZXJbZV07Zm9yKDt0PT09IiAifHx0PT09IgkiOyl0PXRoaXMuYnVmZmVyWysrZV07cmV0dXJuIXR8fHQ9PT0iIyJ8fHQ9PT1gCmA/ITA6dD09PSJcciI/dGhpcy5idWZmZXJbZSsxXT09PWAKYDohMX1jaGFyQXQoZSl7cmV0dXJuIHRoaXMuYnVmZmVyW3RoaXMucG9zK2VdfWNvbnRpbnVlU2NhbGFyKGUpe2xldCB0PXRoaXMuYnVmZmVyW2VdO2lmKHRoaXMuaW5kZW50TmV4dD4wKXtsZXQgcj0wO2Zvcig7dD09PSIgIjspdD10aGlzLmJ1ZmZlclsrK3IrZV07aWYodD09PSJcciIpe2xldCBpPXRoaXMuYnVmZmVyW3IrZSsxXTtpZihpPT09YApgfHwhaSYmIXRoaXMuYXRFbmQpcmV0dXJuIGUrcisxfXJldHVybiB0PT09YApgfHxyPj10aGlzLmluZGVudE5leHR8fCF0JiYhdGhpcy5hdEVuZD9lK3I6LTF9aWYodD09PSItInx8dD09PSIuIil7bGV0IHI9dGhpcy5idWZmZXIuc3Vic3RyKGUsMyk7aWYoKHI9PT0iLS0tInx8cj09PSIuLi4iKSYmYjEodGhpcy5idWZmZXJbZSszXSkpcmV0dXJuLTF9cmV0dXJuIGV9Z2V0TGluZSgpe2xldCBlPXRoaXMubGluZUVuZFBvcztyZXR1cm4odHlwZW9mIGUhPSJudW1iZXIifHxlIT09LTEmJmU8dGhpcy5wb3MpJiYoZT10aGlzLmJ1ZmZlci5pbmRleE9mKGAKYCx0aGlzLnBvcyksdGhpcy5saW5lRW5kUG9zPWUpLGU9PT0tMT90aGlzLmF0RW5kP3RoaXMuYnVmZmVyLnN1YnN0cmluZyh0aGlzLnBvcyk6bnVsbDoodGhpcy5idWZmZXJbZS0xXT09PSJcciImJihlLT0xKSx0aGlzLmJ1ZmZlci5zdWJzdHJpbmcodGhpcy5wb3MsZSkpfWhhc0NoYXJzKGUpe3JldHVybiB0aGlzLnBvcytlPD10aGlzLmJ1ZmZlci5sZW5ndGh9c2V0TmV4dChlKXtyZXR1cm4gdGhpcy5idWZmZXI9dGhpcy5idWZmZXIuc3Vic3RyaW5nKHRoaXMucG9zKSx0aGlzLnBvcz0wLHRoaXMubGluZUVuZFBvcz1udWxsLHRoaXMubmV4dD1lLG51bGx9cGVlayhlKXtyZXR1cm4gdGhpcy5idWZmZXIuc3Vic3RyKHRoaXMucG9zLGUpfSpwYXJzZU5leHQoZSl7c3dpdGNoKGUpe2Nhc2Uic3RyZWFtIjpyZXR1cm4geWllbGQqdGhpcy5wYXJzZVN0cmVhbSgpO2Nhc2UibGluZS1zdGFydCI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VMaW5lU3RhcnQoKTtjYXNlImJsb2NrLXN0YXJ0IjpyZXR1cm4geWllbGQqdGhpcy5wYXJzZUJsb2NrU3RhcnQoKTtjYXNlImRvYyI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VEb2N1bWVudCgpO2Nhc2UiZmxvdyI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VGbG93Q29sbGVjdGlvbigpO2Nhc2UicXVvdGVkLXNjYWxhciI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VRdW90ZWRTY2FsYXIoKTtjYXNlImJsb2NrLXNjYWxhciI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VCbG9ja1NjYWxhcigpO2Nhc2UicGxhaW4tc2NhbGFyIjpyZXR1cm4geWllbGQqdGhpcy5wYXJzZVBsYWluU2NhbGFyKCl9fSpwYXJzZVN0cmVhbSgpe2xldCBlPXRoaXMuZ2V0TGluZSgpO2lmKGU9PT1udWxsKXJldHVybiB0aGlzLnNldE5leHQoInN0cmVhbSIpO2lmKGVbMF09PT1jOCYmKHlpZWxkKnRoaXMucHVzaENvdW50KDEpLGU9ZS5zdWJzdHJpbmcoMSkpLGVbMF09PT0iJSIpe2xldCB0PWUubGVuZ3RoLHI9ZS5pbmRleE9mKCIjIik7Zm9yKDtyIT09LTE7KXtsZXQgbz1lW3ItMV07aWYobz09PSIgInx8bz09PSIJIil7dD1yLTE7YnJlYWt9ZWxzZSByPWUuaW5kZXhPZigiIyIscisxKX1mb3IoOzspe2xldCBvPWVbdC0xXTtpZihvPT09IiAifHxvPT09IgkiKXQtPTE7ZWxzZSBicmVha31sZXQgaT0oeWllbGQqdGhpcy5wdXNoQ291bnQodCkpKyh5aWVsZCp0aGlzLnB1c2hTcGFjZXMoITApKTtyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoZS5sZW5ndGgtaSksdGhpcy5wdXNoTmV3bGluZSgpLCJzdHJlYW0ifWlmKHRoaXMuYXRMaW5lRW5kKCkpe2xldCB0PXlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCk7cmV0dXJuIHlpZWxkKnRoaXMucHVzaENvdW50KGUubGVuZ3RoLXQpLHlpZWxkKnRoaXMucHVzaE5ld2xpbmUoKSwic3RyZWFtIn1yZXR1cm4geWllbGQgZDgseWllbGQqdGhpcy5wYXJzZUxpbmVTdGFydCgpfSpwYXJzZUxpbmVTdGFydCgpe2xldCBlPXRoaXMuY2hhckF0KDApO2lmKCFlJiYhdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KCJsaW5lLXN0YXJ0Iik7aWYoZT09PSItInx8ZT09PSIuIil7aWYoIXRoaXMuYXRFbmQmJiF0aGlzLmhhc0NoYXJzKDQpKXJldHVybiB0aGlzLnNldE5leHQoImxpbmUtc3RhcnQiKTtsZXQgdD10aGlzLnBlZWsoMyk7aWYoKHQ9PT0iLS0tInx8dD09PSIuLi4iKSYmYjEodGhpcy5jaGFyQXQoMykpKXJldHVybiB5aWVsZCp0aGlzLnB1c2hDb3VudCgzKSx0aGlzLmluZGVudFZhbHVlPTAsdGhpcy5pbmRlbnROZXh0PTAsdD09PSItLS0iPyJkb2MiOiJzdHJlYW0ifXJldHVybiB0aGlzLmluZGVudFZhbHVlPXlpZWxkKnRoaXMucHVzaFNwYWNlcyghMSksdGhpcy5pbmRlbnROZXh0PnRoaXMuaW5kZW50VmFsdWUmJiFiMSh0aGlzLmNoYXJBdCgxKSkmJih0aGlzLmluZGVudE5leHQ9dGhpcy5pbmRlbnRWYWx1ZSkseWllbGQqdGhpcy5wYXJzZUJsb2NrU3RhcnQoKX0qcGFyc2VCbG9ja1N0YXJ0KCl7bGV0W2UsdF09dGhpcy5wZWVrKDIpO2lmKCF0JiYhdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KCJibG9jay1zdGFydCIpO2lmKChlPT09Ii0ifHxlPT09Ij8ifHxlPT09IjoiKSYmYjEodCkpe2xldCByPSh5aWVsZCp0aGlzLnB1c2hDb3VudCgxKSkrKHlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCkpO3JldHVybiB0aGlzLmluZGVudE5leHQ9dGhpcy5pbmRlbnRWYWx1ZSsxLHRoaXMuaW5kZW50VmFsdWUrPXIseWllbGQqdGhpcy5wYXJzZUJsb2NrU3RhcnQoKX1yZXR1cm4iZG9jIn0qcGFyc2VEb2N1bWVudCgpe3lpZWxkKnRoaXMucHVzaFNwYWNlcyghMCk7bGV0IGU9dGhpcy5nZXRMaW5lKCk7aWYoZT09PW51bGwpcmV0dXJuIHRoaXMuc2V0TmV4dCgiZG9jIik7bGV0IHQ9eWllbGQqdGhpcy5wdXNoSW5kaWNhdG9ycygpO3N3aXRjaChlW3RdKXtjYXNlIiMiOnlpZWxkKnRoaXMucHVzaENvdW50KGUubGVuZ3RoLXQpO2Nhc2Ugdm9pZCAwOnJldHVybiB5aWVsZCp0aGlzLnB1c2hOZXdsaW5lKCkseWllbGQqdGhpcy5wYXJzZUxpbmVTdGFydCgpO2Nhc2UieyI6Y2FzZSJbIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoMSksdGhpcy5mbG93S2V5PSExLHRoaXMuZmxvd0xldmVsPTEsImZsb3ciO2Nhc2UifSI6Y2FzZSJdIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoMSksImRvYyI7Y2FzZSIqIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoVW50aWwoRDBlKSwiZG9jIjtjYXNlJyInOmNhc2UiJyI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VRdW90ZWRTY2FsYXIoKTtjYXNlInwiOmNhc2UiPiI6cmV0dXJuIHQrPXlpZWxkKnRoaXMucGFyc2VCbG9ja1NjYWxhckhlYWRlcigpLHQrPXlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCkseWllbGQqdGhpcy5wdXNoQ291bnQoZS5sZW5ndGgtdCkseWllbGQqdGhpcy5wdXNoTmV3bGluZSgpLHlpZWxkKnRoaXMucGFyc2VCbG9ja1NjYWxhcigpO2RlZmF1bHQ6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VQbGFpblNjYWxhcigpfX0qcGFyc2VGbG93Q29sbGVjdGlvbigpe2xldCBlLHQscj0tMTtkbyBlPXlpZWxkKnRoaXMucHVzaE5ld2xpbmUoKSxlPjA/KHQ9eWllbGQqdGhpcy5wdXNoU3BhY2VzKCExKSx0aGlzLmluZGVudFZhbHVlPXI9dCk6dD0wLHQrPXlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCk7d2hpbGUoZSt0PjApO2xldCBpPXRoaXMuZ2V0TGluZSgpO2lmKGk9PT1udWxsKXJldHVybiB0aGlzLnNldE5leHQoImZsb3ciKTtpZigociE9PS0xJiZyPHRoaXMuaW5kZW50TmV4dCYmaVswXSE9PSIjInx8cj09PTAmJihpLnN0YXJ0c1dpdGgoIi0tLSIpfHxpLnN0YXJ0c1dpdGgoIi4uLiIpKSYmYjEoaVszXSkpJiYhKHI9PT10aGlzLmluZGVudE5leHQtMSYmdGhpcy5mbG93TGV2ZWw9PT0xJiYoaVswXT09PSJdInx8aVswXT09PSJ9IikpKXJldHVybiB0aGlzLmZsb3dMZXZlbD0wLHlpZWxkIHU4LHlpZWxkKnRoaXMucGFyc2VMaW5lU3RhcnQoKTtsZXQgbz0wO2Zvcig7aVtvXT09PSIsIjspbys9eWllbGQqdGhpcy5wdXNoQ291bnQoMSksbys9eWllbGQqdGhpcy5wdXNoU3BhY2VzKCEwKSx0aGlzLmZsb3dLZXk9ITE7c3dpdGNoKG8rPXlpZWxkKnRoaXMucHVzaEluZGljYXRvcnMoKSxpW29dKXtjYXNlIHZvaWQgMDpyZXR1cm4iZmxvdyI7Y2FzZSIjIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoaS5sZW5ndGgtbyksImZsb3ciO2Nhc2UieyI6Y2FzZSJbIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoMSksdGhpcy5mbG93S2V5PSExLHRoaXMuZmxvd0xldmVsKz0xLCJmbG93IjtjYXNlIn0iOmNhc2UiXSI6cmV0dXJuIHlpZWxkKnRoaXMucHVzaENvdW50KDEpLHRoaXMuZmxvd0tleT0hMCx0aGlzLmZsb3dMZXZlbC09MSx0aGlzLmZsb3dMZXZlbD8iZmxvdyI6ImRvYyI7Y2FzZSIqIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoVW50aWwoRDBlKSwiZmxvdyI7Y2FzZSciJzpjYXNlIiciOnJldHVybiB0aGlzLmZsb3dLZXk9ITAseWllbGQqdGhpcy5wYXJzZVF1b3RlZFNjYWxhcigpO2Nhc2UiOiI6e2xldCBuPXRoaXMuY2hhckF0KDEpO2lmKHRoaXMuZmxvd0tleXx8YjEobil8fG49PT0iLCIpcmV0dXJuIHRoaXMuZmxvd0tleT0hMSx5aWVsZCp0aGlzLnB1c2hDb3VudCgxKSx5aWVsZCp0aGlzLnB1c2hTcGFjZXMoITApLCJmbG93In1kZWZhdWx0OnJldHVybiB0aGlzLmZsb3dLZXk9ITEseWllbGQqdGhpcy5wYXJzZVBsYWluU2NhbGFyKCl9fSpwYXJzZVF1b3RlZFNjYWxhcigpe2xldCBlPXRoaXMuY2hhckF0KDApLHQ9dGhpcy5idWZmZXIuaW5kZXhPZihlLHRoaXMucG9zKzEpO2lmKGU9PT0iJyIpZm9yKDt0IT09LTEmJnRoaXMuYnVmZmVyW3QrMV09PT0iJyI7KXQ9dGhpcy5idWZmZXIuaW5kZXhPZigiJyIsdCsyKTtlbHNlIGZvcig7dCE9PS0xOyl7bGV0IG89MDtmb3IoO3RoaXMuYnVmZmVyW3QtMS1vXT09PSJcXCI7KW8rPTE7aWYobyUyPT09MClicmVhazt0PXRoaXMuYnVmZmVyLmluZGV4T2YoJyInLHQrMSl9bGV0IHI9dGhpcy5idWZmZXIuc3Vic3RyaW5nKDAsdCksaT1yLmluZGV4T2YoYApgLHRoaXMucG9zKTtpZihpIT09LTEpe2Zvcig7aSE9PS0xOyl7bGV0IG89dGhpcy5jb250aW51ZVNjYWxhcihpKzEpO2lmKG89PT0tMSlicmVhaztpPXIuaW5kZXhPZihgCmAsbyl9aSE9PS0xJiYodD1pLShyW2ktMV09PT0iXHIiPzI6MSkpfWlmKHQ9PT0tMSl7aWYoIXRoaXMuYXRFbmQpcmV0dXJuIHRoaXMuc2V0TmV4dCgicXVvdGVkLXNjYWxhciIpO3Q9dGhpcy5idWZmZXIubGVuZ3RofXJldHVybiB5aWVsZCp0aGlzLnB1c2hUb0luZGV4KHQrMSwhMSksdGhpcy5mbG93TGV2ZWw/ImZsb3ciOiJkb2MifSpwYXJzZUJsb2NrU2NhbGFySGVhZGVyKCl7dGhpcy5ibG9ja1NjYWxhckluZGVudD0tMSx0aGlzLmJsb2NrU2NhbGFyS2VlcD0hMTtsZXQgZT10aGlzLnBvcztmb3IoOzspe2xldCB0PXRoaXMuYnVmZmVyWysrZV07aWYodD09PSIrIil0aGlzLmJsb2NrU2NhbGFyS2VlcD0hMDtlbHNlIGlmKHQ+IjAiJiZ0PD0iOSIpdGhpcy5ibG9ja1NjYWxhckluZGVudD1OdW1iZXIodCktMTtlbHNlIGlmKHQhPT0iLSIpYnJlYWt9cmV0dXJuIHlpZWxkKnRoaXMucHVzaFVudGlsKHQ9PmIxKHQpfHx0PT09IiMiKX0qcGFyc2VCbG9ja1NjYWxhcigpe2xldCBlPXRoaXMucG9zLTEsdD0wLHI7ZTpmb3IobGV0IG89dGhpcy5wb3M7cj10aGlzLmJ1ZmZlcltvXTsrK28pc3dpdGNoKHIpe2Nhc2UiICI6dCs9MTticmVhaztjYXNlYApgOmU9byx0PTA7YnJlYWs7Y2FzZSJcciI6e2xldCBuPXRoaXMuYnVmZmVyW28rMV07aWYoIW4mJiF0aGlzLmF0RW5kKXJldHVybiB0aGlzLnNldE5leHQoImJsb2NrLXNjYWxhciIpO2lmKG49PT1gCmApYnJlYWt9ZGVmYXVsdDpicmVhayBlfWlmKCFyJiYhdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KCJibG9jay1zY2FsYXIiKTtpZih0Pj10aGlzLmluZGVudE5leHQpe3RoaXMuYmxvY2tTY2FsYXJJbmRlbnQ9PT0tMT90aGlzLmluZGVudE5leHQ9dDp0aGlzLmluZGVudE5leHQ9dGhpcy5ibG9ja1NjYWxhckluZGVudCsodGhpcy5pbmRlbnROZXh0PT09MD8xOnRoaXMuaW5kZW50TmV4dCk7ZG97bGV0IG89dGhpcy5jb250aW51ZVNjYWxhcihlKzEpO2lmKG89PT0tMSlicmVhaztlPXRoaXMuYnVmZmVyLmluZGV4T2YoYApgLG8pfXdoaWxlKGUhPT0tMSk7aWYoZT09PS0xKXtpZighdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KCJibG9jay1zY2FsYXIiKTtlPXRoaXMuYnVmZmVyLmxlbmd0aH19bGV0IGk9ZSsxO2ZvcihyPXRoaXMuYnVmZmVyW2ldO3I9PT0iICI7KXI9dGhpcy5idWZmZXJbKytpXTtpZihyPT09IgkiKXtmb3IoO3I9PT0iCSJ8fHI9PT0iICJ8fHI9PT0iXHIifHxyPT09YApgOylyPXRoaXMuYnVmZmVyWysraV07ZT1pLTF9ZWxzZSBpZighdGhpcy5ibG9ja1NjYWxhcktlZXApZG97bGV0IG89ZS0xLG49dGhpcy5idWZmZXJbb107bj09PSJcciImJihuPXRoaXMuYnVmZmVyWy0tb10pO2xldCBsPW87Zm9yKDtuPT09IiAiOyluPXRoaXMuYnVmZmVyWy0tb107aWYobj09PWAKYCYmbz49dGhpcy5wb3MmJm8rMSt0PmwpZT1vO2Vsc2UgYnJlYWt9d2hpbGUoITApO3JldHVybiB5aWVsZCBSMyx5aWVsZCp0aGlzLnB1c2hUb0luZGV4KGUrMSwhMCkseWllbGQqdGhpcy5wYXJzZUxpbmVTdGFydCgpfSpwYXJzZVBsYWluU2NhbGFyKCl7bGV0IGU9dGhpcy5mbG93TGV2ZWw+MCx0PXRoaXMucG9zLTEscj10aGlzLnBvcy0xLGk7Zm9yKDtpPXRoaXMuYnVmZmVyWysrcl07KWlmKGk9PT0iOiIpe2xldCBvPXRoaXMuYnVmZmVyW3IrMV07aWYoYjEobyl8fGUmJnJRLmhhcyhvKSlicmVhazt0PXJ9ZWxzZSBpZihiMShpKSl7bGV0IG89dGhpcy5idWZmZXJbcisxXTtpZihpPT09IlxyIiYmKG89PT1gCmA/KHIrPTEsaT1gCmAsbz10aGlzLmJ1ZmZlcltyKzFdKTp0PXIpLG89PT0iIyJ8fGUmJnJRLmhhcyhvKSlicmVhaztpZihpPT09YApgKXtsZXQgbj10aGlzLmNvbnRpbnVlU2NhbGFyKHIrMSk7aWYobj09PS0xKWJyZWFrO3I9TWF0aC5tYXgocixuLTIpfX1lbHNle2lmKGUmJnJRLmhhcyhpKSlicmVhazt0PXJ9cmV0dXJuIWkmJiF0aGlzLmF0RW5kP3RoaXMuc2V0TmV4dCgicGxhaW4tc2NhbGFyIik6KHlpZWxkIFIzLHlpZWxkKnRoaXMucHVzaFRvSW5kZXgodCsxLCEwKSxlPyJmbG93IjoiZG9jIil9KnB1c2hDb3VudChlKXtyZXR1cm4gZT4wPyh5aWVsZCB0aGlzLmJ1ZmZlci5zdWJzdHIodGhpcy5wb3MsZSksdGhpcy5wb3MrPWUsZSk6MH0qcHVzaFRvSW5kZXgoZSx0KXtsZXQgcj10aGlzLmJ1ZmZlci5zbGljZSh0aGlzLnBvcyxlKTtyZXR1cm4gcj8oeWllbGQgcix0aGlzLnBvcys9ci5sZW5ndGgsci5sZW5ndGgpOih0JiYoeWllbGQiIiksMCl9KnB1c2hJbmRpY2F0b3JzKCl7c3dpdGNoKHRoaXMuY2hhckF0KDApKXtjYXNlIiEiOnJldHVybih5aWVsZCp0aGlzLnB1c2hUYWcoKSkrKHlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCkpKyh5aWVsZCp0aGlzLnB1c2hJbmRpY2F0b3JzKCkpO2Nhc2UiJiI6cmV0dXJuKHlpZWxkKnRoaXMucHVzaFVudGlsKEQwZSkpKyh5aWVsZCp0aGlzLnB1c2hTcGFjZXMoITApKSsoeWllbGQqdGhpcy5wdXNoSW5kaWNhdG9ycygpKTtjYXNlIi0iOmNhc2UiPyI6Y2FzZSI6Ijp7bGV0IGU9dGhpcy5mbG93TGV2ZWw+MCx0PXRoaXMuY2hhckF0KDEpO2lmKGIxKHQpfHxlJiZyUS5oYXModCkpcmV0dXJuIGU/dGhpcy5mbG93S2V5JiYodGhpcy5mbG93S2V5PSExKTp0aGlzLmluZGVudE5leHQ9dGhpcy5pbmRlbnRWYWx1ZSsxLCh5aWVsZCp0aGlzLnB1c2hDb3VudCgxKSkrKHlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCkpKyh5aWVsZCp0aGlzLnB1c2hJbmRpY2F0b3JzKCkpfX1yZXR1cm4gMH0qcHVzaFRhZygpe2lmKHRoaXMuY2hhckF0KDEpPT09IjwiKXtsZXQgZT10aGlzLnBvcysyLHQ9dGhpcy5idWZmZXJbZV07Zm9yKDshYjEodCkmJnQhPT0iPiI7KXQ9dGhpcy5idWZmZXJbKytlXTtyZXR1cm4geWllbGQqdGhpcy5wdXNoVG9JbmRleCh0PT09Ij4iP2UrMTplLCExKX1lbHNle2xldCBlPXRoaXMucG9zKzEsdD10aGlzLmJ1ZmZlcltlXTtmb3IoO3Q7KWlmKEp4YS5oYXModCkpdD10aGlzLmJ1ZmZlclsrK2VdO2Vsc2UgaWYodD09PSIlIiYmeDN0Lmhhcyh0aGlzLmJ1ZmZlcltlKzFdKSYmeDN0Lmhhcyh0aGlzLmJ1ZmZlcltlKzJdKSl0PXRoaXMuYnVmZmVyW2UrPTNdO2Vsc2UgYnJlYWs7cmV0dXJuIHlpZWxkKnRoaXMucHVzaFRvSW5kZXgoZSwhMSl9fSpwdXNoTmV3bGluZSgpe2xldCBlPXRoaXMuYnVmZmVyW3RoaXMucG9zXTtyZXR1cm4gZT09PWAKYD95aWVsZCp0aGlzLnB1c2hDb3VudCgxKTplPT09IlxyIiYmdGhpcy5jaGFyQXQoMSk9PT1gCmA/eWllbGQqdGhpcy5wdXNoQ291bnQoMik6MH0qcHVzaFNwYWNlcyhlKXtsZXQgdD10aGlzLnBvcy0xLHI7ZG8gcj10aGlzLmJ1ZmZlclsrK3RdO3doaWxlKHI9PT0iICJ8fGUmJnI9PT0iCSIpO2xldCBpPXQtdGhpcy5wb3M7cmV0dXJuIGk+MCYmKHlpZWxkIHRoaXMuYnVmZmVyLnN1YnN0cih0aGlzLnBvcyxpKSx0aGlzLnBvcz10KSxpfSpwdXNoVW50aWwoZSl7bGV0IHQ9dGhpcy5wb3Mscj10aGlzLmJ1ZmZlclt0XTtmb3IoOyFlKHIpOylyPXRoaXMuYnVmZmVyWysrdF07cmV0dXJuIHlpZWxkKnRoaXMucHVzaFRvSW5kZXgodCwhMSl9fX0pO3ZhciBFMCxQMGU9ZigoKT0+e0UwPWNsYXNze3N0YXRpY3tzKHRoaXMsIkxpbmVDb3VudGVyIil9Y29uc3RydWN0b3IoKXt0aGlzLmxpbmVTdGFydHM9W10sdGhpcy5hZGROZXdMaW5lPWU9PnRoaXMubGluZVN0YXJ0cy5wdXNoKGUpLHRoaXMubGluZVBvcz1lPT57bGV0IHQ9MCxyPXRoaXMubGluZVN0YXJ0cy5sZW5ndGg7Zm9yKDt0PHI7KXtsZXQgbz10K3I+PjE7dGhpcy5saW5lU3RhcnRzW29dPGU/dD1vKzE6cj1vfWlmKHRoaXMubGluZVN0YXJ0c1t0XT09PWUpcmV0dXJue2xpbmU6dCsxLGNvbDoxfTtpZih0PT09MClyZXR1cm57bGluZTowLGNvbDplfTtsZXQgaT10aGlzLmxpbmVTdGFydHNbdC0xXTtyZXR1cm57bGluZTp0LGNvbDplLWkrMX19fX19KTtmdW5jdGlvbiBJMChhLGUpe2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7Kyt0KWlmKGFbdF0udHlwZT09PWUpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24geTN0KGEpe2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7KytlKXN3aXRjaChhW2VdLnR5cGUpe2Nhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6Y2FzZSJuZXdsaW5lIjpicmVhaztkZWZhdWx0OnJldHVybiBlfXJldHVybi0xfWZ1bmN0aW9uIHczdChhKXtzd2l0Y2goYT8udHlwZSl7Y2FzZSJhbGlhcyI6Y2FzZSJzY2FsYXIiOmNhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOmNhc2UiZG91YmxlLXF1b3RlZC1zY2FsYXIiOmNhc2UiZmxvdy1jb2xsZWN0aW9uIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBzUShhKXtzd2l0Y2goYS50eXBlKXtjYXNlImRvY3VtZW50IjpyZXR1cm4gYS5zdGFydDtjYXNlImJsb2NrLW1hcCI6e2xldCBlPWEuaXRlbXNbYS5pdGVtcy5sZW5ndGgtMV07cmV0dXJuIGUuc2VwPz9lLnN0YXJ0fWNhc2UiYmxvY2stc2VxIjpyZXR1cm4gYS5pdGVtc1thLml0ZW1zLmxlbmd0aC0xXS5zdGFydDtkZWZhdWx0OnJldHVybltdfX1mdW5jdGlvbiBwOChhKXtpZihhLmxlbmd0aD09PTApcmV0dXJuW107bGV0IGU9YS5sZW5ndGg7ZTpmb3IoOy0tZT49MDspc3dpdGNoKGFbZV0udHlwZSl7Y2FzZSJkb2Mtc3RhcnQiOmNhc2UiZXhwbGljaXQta2V5LWluZCI6Y2FzZSJtYXAtdmFsdWUtaW5kIjpjYXNlInNlcS1pdGVtLWluZCI6Y2FzZSJuZXdsaW5lIjpicmVhayBlfWZvcig7YVsrK2VdPy50eXBlPT09InNwYWNlIjspO3JldHVybiBhLnNwbGljZShlLGEubGVuZ3RoKX1mdW5jdGlvbiBNM3QoYSl7aWYoYS5zdGFydC50eXBlPT09ImZsb3ctc2VxLXN0YXJ0Iilmb3IobGV0IGUgb2YgYS5pdGVtcyllLnNlcCYmIWUudmFsdWUmJiFJMChlLnN0YXJ0LCJleHBsaWNpdC1rZXktaW5kIikmJiFJMChlLnNlcCwibWFwLXZhbHVlLWluZCIpJiYoZS5rZXkmJihlLnZhbHVlPWUua2V5KSxkZWxldGUgZS5rZXksdzN0KGUudmFsdWUpP2UudmFsdWUuZW5kP0FycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGUudmFsdWUuZW5kLGUuc2VwKTplLnZhbHVlLmVuZD1lLnNlcDpBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShlLnN0YXJ0LGUuc2VwKSxkZWxldGUgZS5zZXApfXZhciBPbCxFMGU9ZigoKT0+e2FRKCk7QTBlKCk7cyhJMCwiaW5jbHVkZXNUb2tlbiIpO3MoeTN0LCJmaW5kTm9uRW1wdHlJbmRleCIpO3ModzN0LCJpc0Zsb3dUb2tlbiIpO3Moc1EsImdldFByZXZQcm9wcyIpO3MocDgsImdldEZpcnN0S2V5U3RhcnRQcm9wcyIpO3MoTTN0LCJmaXhGbG93U2VxSXRlbXMiKTtPbD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJQYXJzZXIiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmF0TmV3TGluZT0hMCx0aGlzLmF0U2NhbGFyPSExLHRoaXMuaW5kZW50PTAsdGhpcy5vZmZzZXQ9MCx0aGlzLm9uS2V5TGluZT0hMSx0aGlzLnN0YWNrPVtdLHRoaXMuc291cmNlPSIiLHRoaXMudHlwZT0iIix0aGlzLmxleGVyPW5ldyBQMCx0aGlzLm9uTmV3TGluZT1lfSpwYXJzZShlLHQ9ITEpe3RoaXMub25OZXdMaW5lJiZ0aGlzLm9mZnNldD09PTAmJnRoaXMub25OZXdMaW5lKDApO2ZvcihsZXQgciBvZiB0aGlzLmxleGVyLmxleChlLHQpKXlpZWxkKnRoaXMubmV4dChyKTt0fHwoeWllbGQqdGhpcy5lbmQoKSl9Km5leHQoZSl7aWYodGhpcy5zb3VyY2U9ZSx0aGlzLmF0U2NhbGFyKXt0aGlzLmF0U2NhbGFyPSExLHlpZWxkKnRoaXMuc3RlcCgpLHRoaXMub2Zmc2V0Kz1lLmxlbmd0aDtyZXR1cm59bGV0IHQ9dFEoZSk7aWYodClpZih0PT09InNjYWxhciIpdGhpcy5hdE5ld0xpbmU9ITEsdGhpcy5hdFNjYWxhcj0hMCx0aGlzLnR5cGU9InNjYWxhciI7ZWxzZXtzd2l0Y2godGhpcy50eXBlPXQseWllbGQqdGhpcy5zdGVwKCksdCl7Y2FzZSJuZXdsaW5lIjp0aGlzLmF0TmV3TGluZT0hMCx0aGlzLmluZGVudD0wLHRoaXMub25OZXdMaW5lJiZ0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCtlLmxlbmd0aCk7YnJlYWs7Y2FzZSJzcGFjZSI6dGhpcy5hdE5ld0xpbmUmJmVbMF09PT0iICImJih0aGlzLmluZGVudCs9ZS5sZW5ndGgpO2JyZWFrO2Nhc2UiZXhwbGljaXQta2V5LWluZCI6Y2FzZSJtYXAtdmFsdWUtaW5kIjpjYXNlInNlcS1pdGVtLWluZCI6dGhpcy5hdE5ld0xpbmUmJih0aGlzLmluZGVudCs9ZS5sZW5ndGgpO2JyZWFrO2Nhc2UiZG9jLW1vZGUiOmNhc2UiZmxvdy1lcnJvci1lbmQiOnJldHVybjtkZWZhdWx0OnRoaXMuYXROZXdMaW5lPSExfXRoaXMub2Zmc2V0Kz1lLmxlbmd0aH1lbHNle2xldCByPWBOb3QgYSBZQU1MIHRva2VuOiAke2V9YDt5aWVsZCp0aGlzLnBvcCh7dHlwZToiZXJyb3IiLG9mZnNldDp0aGlzLm9mZnNldCxtZXNzYWdlOnIsc291cmNlOmV9KSx0aGlzLm9mZnNldCs9ZS5sZW5ndGh9fSplbmQoKXtmb3IoO3RoaXMuc3RhY2subGVuZ3RoPjA7KXlpZWxkKnRoaXMucG9wKCl9Z2V0IHNvdXJjZVRva2VuKCl7cmV0dXJue3R5cGU6dGhpcy50eXBlLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsc291cmNlOnRoaXMuc291cmNlfX0qc3RlcCgpe2xldCBlPXRoaXMucGVlaygxKTtpZih0aGlzLnR5cGU9PT0iZG9jLWVuZCImJmU/LnR5cGUhPT0iZG9jLWVuZCIpe2Zvcig7dGhpcy5zdGFjay5sZW5ndGg+MDspeWllbGQqdGhpcy5wb3AoKTt0aGlzLnN0YWNrLnB1c2goe3R5cGU6ImRvYy1lbmQiLG9mZnNldDp0aGlzLm9mZnNldCxzb3VyY2U6dGhpcy5zb3VyY2V9KTtyZXR1cm59aWYoIWUpcmV0dXJuIHlpZWxkKnRoaXMuc3RyZWFtKCk7c3dpdGNoKGUudHlwZSl7Y2FzZSJkb2N1bWVudCI6cmV0dXJuIHlpZWxkKnRoaXMuZG9jdW1lbnQoZSk7Y2FzZSJhbGlhcyI6Y2FzZSJzY2FsYXIiOmNhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOmNhc2UiZG91YmxlLXF1b3RlZC1zY2FsYXIiOnJldHVybiB5aWVsZCp0aGlzLnNjYWxhcihlKTtjYXNlImJsb2NrLXNjYWxhciI6cmV0dXJuIHlpZWxkKnRoaXMuYmxvY2tTY2FsYXIoZSk7Y2FzZSJibG9jay1tYXAiOnJldHVybiB5aWVsZCp0aGlzLmJsb2NrTWFwKGUpO2Nhc2UiYmxvY2stc2VxIjpyZXR1cm4geWllbGQqdGhpcy5ibG9ja1NlcXVlbmNlKGUpO2Nhc2UiZmxvdy1jb2xsZWN0aW9uIjpyZXR1cm4geWllbGQqdGhpcy5mbG93Q29sbGVjdGlvbihlKTtjYXNlImRvYy1lbmQiOnJldHVybiB5aWVsZCp0aGlzLmRvY3VtZW50RW5kKGUpfXlpZWxkKnRoaXMucG9wKCl9cGVlayhlKXtyZXR1cm4gdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC1lXX0qcG9wKGUpe2xldCB0PWU/P3RoaXMuc3RhY2sucG9wKCk7aWYoIXQpeWllbGR7dHlwZToiZXJyb3IiLG9mZnNldDp0aGlzLm9mZnNldCxzb3VyY2U6IiIsbWVzc2FnZToiVHJpZWQgdG8gcG9wIGFuIGVtcHR5IHN0YWNrIn07ZWxzZSBpZih0aGlzLnN0YWNrLmxlbmd0aD09PTApeWllbGQgdDtlbHNle2xldCByPXRoaXMucGVlaygxKTtzd2l0Y2godC50eXBlPT09ImJsb2NrLXNjYWxhciI/dC5pbmRlbnQ9ImluZGVudCJpbiByP3IuaW5kZW50OjA6dC50eXBlPT09ImZsb3ctY29sbGVjdGlvbiImJnIudHlwZT09PSJkb2N1bWVudCImJih0LmluZGVudD0wKSx0LnR5cGU9PT0iZmxvdy1jb2xsZWN0aW9uIiYmTTN0KHQpLHIudHlwZSl7Y2FzZSJkb2N1bWVudCI6ci52YWx1ZT10O2JyZWFrO2Nhc2UiYmxvY2stc2NhbGFyIjpyLnByb3BzLnB1c2godCk7YnJlYWs7Y2FzZSJibG9jay1tYXAiOntsZXQgaT1yLml0ZW1zW3IuaXRlbXMubGVuZ3RoLTFdO2lmKGkudmFsdWUpe3IuaXRlbXMucHVzaCh7c3RhcnQ6W10sa2V5OnQsc2VwOltdfSksdGhpcy5vbktleUxpbmU9ITA7cmV0dXJufWVsc2UgaWYoaS5zZXApaS52YWx1ZT10O2Vsc2V7T2JqZWN0LmFzc2lnbihpLHtrZXk6dCxzZXA6W119KSx0aGlzLm9uS2V5TGluZT0haS5leHBsaWNpdEtleTtyZXR1cm59YnJlYWt9Y2FzZSJibG9jay1zZXEiOntsZXQgaT1yLml0ZW1zW3IuaXRlbXMubGVuZ3RoLTFdO2kudmFsdWU/ci5pdGVtcy5wdXNoKHtzdGFydDpbXSx2YWx1ZTp0fSk6aS52YWx1ZT10O2JyZWFrfWNhc2UiZmxvdy1jb2xsZWN0aW9uIjp7bGV0IGk9ci5pdGVtc1tyLml0ZW1zLmxlbmd0aC0xXTshaXx8aS52YWx1ZT9yLml0ZW1zLnB1c2goe3N0YXJ0OltdLGtleTp0LHNlcDpbXX0pOmkuc2VwP2kudmFsdWU9dDpPYmplY3QuYXNzaWduKGkse2tleTp0LHNlcDpbXX0pO3JldHVybn1kZWZhdWx0OnlpZWxkKnRoaXMucG9wKCkseWllbGQqdGhpcy5wb3AodCl9aWYoKHIudHlwZT09PSJkb2N1bWVudCJ8fHIudHlwZT09PSJibG9jay1tYXAifHxyLnR5cGU9PT0iYmxvY2stc2VxIikmJih0LnR5cGU9PT0iYmxvY2stbWFwInx8dC50eXBlPT09ImJsb2NrLXNlcSIpKXtsZXQgaT10Lml0ZW1zW3QuaXRlbXMubGVuZ3RoLTFdO2kmJiFpLnNlcCYmIWkudmFsdWUmJmkuc3RhcnQubGVuZ3RoPjAmJnkzdChpLnN0YXJ0KT09PS0xJiYodC5pbmRlbnQ9PT0wfHxpLnN0YXJ0LmV2ZXJ5KG89Pm8udHlwZSE9PSJjb21tZW50Inx8by5pbmRlbnQ8dC5pbmRlbnQpKSYmKHIudHlwZT09PSJkb2N1bWVudCI/ci5lbmQ9aS5zdGFydDpyLml0ZW1zLnB1c2goe3N0YXJ0Omkuc3RhcnR9KSx0Lml0ZW1zLnNwbGljZSgtMSwxKSl9fX0qc3RyZWFtKCl7c3dpdGNoKHRoaXMudHlwZSl7Y2FzZSJkaXJlY3RpdmUtbGluZSI6eWllbGR7dHlwZToiZGlyZWN0aXZlIixvZmZzZXQ6dGhpcy5vZmZzZXQsc291cmNlOnRoaXMuc291cmNlfTtyZXR1cm47Y2FzZSJieXRlLW9yZGVyLW1hcmsiOmNhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6Y2FzZSJuZXdsaW5lIjp5aWVsZCB0aGlzLnNvdXJjZVRva2VuO3JldHVybjtjYXNlImRvYy1tb2RlIjpjYXNlImRvYy1zdGFydCI6e2xldCBlPXt0eXBlOiJkb2N1bWVudCIsb2Zmc2V0OnRoaXMub2Zmc2V0LHN0YXJ0OltdfTt0aGlzLnR5cGU9PT0iZG9jLXN0YXJ0IiYmZS5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pLHRoaXMuc3RhY2sucHVzaChlKTtyZXR1cm59fXlpZWxke3R5cGU6ImVycm9yIixvZmZzZXQ6dGhpcy5vZmZzZXQsbWVzc2FnZTpgVW5leHBlY3RlZCAke3RoaXMudHlwZX0gdG9rZW4gaW4gWUFNTCBzdHJlYW1gLHNvdXJjZTp0aGlzLnNvdXJjZX19KmRvY3VtZW50KGUpe2lmKGUudmFsdWUpcmV0dXJuIHlpZWxkKnRoaXMubGluZUVuZChlKTtzd2l0Y2godGhpcy50eXBlKXtjYXNlImRvYy1zdGFydCI6e3kzdChlLnN0YXJ0KSE9PS0xPyh5aWVsZCp0aGlzLnBvcCgpLHlpZWxkKnRoaXMuc3RlcCgpKTplLnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJufWNhc2UiYW5jaG9yIjpjYXNlInRhZyI6Y2FzZSJzcGFjZSI6Y2FzZSJjb21tZW50IjpjYXNlIm5ld2xpbmUiOmUuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm59bGV0IHQ9dGhpcy5zdGFydEJsb2NrVmFsdWUoZSk7dD90aGlzLnN0YWNrLnB1c2godCk6eWllbGR7dHlwZToiZXJyb3IiLG9mZnNldDp0aGlzLm9mZnNldCxtZXNzYWdlOmBVbmV4cGVjdGVkICR7dGhpcy50eXBlfSB0b2tlbiBpbiBZQU1MIGRvY3VtZW50YCxzb3VyY2U6dGhpcy5zb3VyY2V9fSpzY2FsYXIoZSl7aWYodGhpcy50eXBlPT09Im1hcC12YWx1ZS1pbmQiKXtsZXQgdD1zUSh0aGlzLnBlZWsoMikpLHI9cDgodCksaTtlLmVuZD8oaT1lLmVuZCxpLnB1c2godGhpcy5zb3VyY2VUb2tlbiksZGVsZXRlIGUuZW5kKTppPVt0aGlzLnNvdXJjZVRva2VuXTtsZXQgbz17dHlwZToiYmxvY2stbWFwIixvZmZzZXQ6ZS5vZmZzZXQsaW5kZW50OmUuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6cixrZXk6ZSxzZXA6aX1dfTt0aGlzLm9uS2V5TGluZT0hMCx0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdPW99ZWxzZSB5aWVsZCp0aGlzLmxpbmVFbmQoZSl9KmJsb2NrU2NhbGFyKGUpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6Y2FzZSJuZXdsaW5lIjplLnByb3BzLnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2Uic2NhbGFyIjppZihlLnNvdXJjZT10aGlzLnNvdXJjZSx0aGlzLmF0TmV3TGluZT0hMCx0aGlzLmluZGVudD0wLHRoaXMub25OZXdMaW5lKXtsZXQgdD10aGlzLnNvdXJjZS5pbmRleE9mKGAKYCkrMTtmb3IoO3QhPT0wOyl0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCt0KSx0PXRoaXMuc291cmNlLmluZGV4T2YoYApgLHQpKzF9eWllbGQqdGhpcy5wb3AoKTticmVhaztkZWZhdWx0OnlpZWxkKnRoaXMucG9wKCkseWllbGQqdGhpcy5zdGVwKCl9fSpibG9ja01hcChlKXtsZXQgdD1lLml0ZW1zW2UuaXRlbXMubGVuZ3RoLTFdO3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UibmV3bGluZSI6aWYodGhpcy5vbktleUxpbmU9ITEsdC52YWx1ZSl7bGV0IHI9ImVuZCJpbiB0LnZhbHVlP3QudmFsdWUuZW5kOnZvaWQgMDsoQXJyYXkuaXNBcnJheShyKT9yW3IubGVuZ3RoLTFdOnZvaWQgMCk/LnR5cGU9PT0iY29tbWVudCI/cj8ucHVzaCh0aGlzLnNvdXJjZVRva2VuKTplLml0ZW1zLnB1c2goe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXX0pfWVsc2UgdC5zZXA/dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6aWYodC52YWx1ZSllLml0ZW1zLnB1c2goe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXX0pO2Vsc2UgaWYodC5zZXApdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtlbHNle2lmKHRoaXMuYXRJbmRlbnRlZENvbW1lbnQodC5zdGFydCxlLmluZGVudCkpe2xldCBpPWUuaXRlbXNbZS5pdGVtcy5sZW5ndGgtMl0/LnZhbHVlPy5lbmQ7aWYoQXJyYXkuaXNBcnJheShpKSl7QXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoaSx0LnN0YXJ0KSxpLnB1c2godGhpcy5zb3VyY2VUb2tlbiksZS5pdGVtcy5wb3AoKTtyZXR1cm59fXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKX1yZXR1cm59aWYodGhpcy5pbmRlbnQ+PWUuaW5kZW50KXtsZXQgcj0hdGhpcy5vbktleUxpbmUmJnRoaXMuaW5kZW50PT09ZS5pbmRlbnQsaT1yJiYodC5zZXB8fHQuZXhwbGljaXRLZXkpJiZ0aGlzLnR5cGUhPT0ic2VxLWl0ZW0taW5kIixvPVtdO2lmKGkmJnQuc2VwJiYhdC52YWx1ZSl7bGV0IG49W107Zm9yKGxldCBsPTA7bDx0LnNlcC5sZW5ndGg7KytsKXtsZXQgZD10LnNlcFtsXTtzd2l0Y2goZC50eXBlKXtjYXNlIm5ld2xpbmUiOm4ucHVzaChsKTticmVhaztjYXNlInNwYWNlIjpicmVhaztjYXNlImNvbW1lbnQiOmQuaW5kZW50PmUuaW5kZW50JiYobi5sZW5ndGg9MCk7YnJlYWs7ZGVmYXVsdDpuLmxlbmd0aD0wfX1uLmxlbmd0aD49MiYmKG89dC5zZXAuc3BsaWNlKG5bMV0pKX1zd2l0Y2godGhpcy50eXBlKXtjYXNlImFuY2hvciI6Y2FzZSJ0YWciOml8fHQudmFsdWU/KG8ucHVzaCh0aGlzLnNvdXJjZVRva2VuKSxlLml0ZW1zLnB1c2goe3N0YXJ0Om99KSx0aGlzLm9uS2V5TGluZT0hMCk6dC5zZXA/dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2UiZXhwbGljaXQta2V5LWluZCI6IXQuc2VwJiYhdC5leHBsaWNpdEtleT8odC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pLHQuZXhwbGljaXRLZXk9ITApOml8fHQudmFsdWU/KG8ucHVzaCh0aGlzLnNvdXJjZVRva2VuKSxlLml0ZW1zLnB1c2goe3N0YXJ0Om8sZXhwbGljaXRLZXk6ITB9KSk6dGhpcy5zdGFjay5wdXNoKHt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl0sZXhwbGljaXRLZXk6ITB9XX0pLHRoaXMub25LZXlMaW5lPSEwO3JldHVybjtjYXNlIm1hcC12YWx1ZS1pbmQiOmlmKHQuZXhwbGljaXRLZXkpaWYodC5zZXApaWYodC52YWx1ZSllLml0ZW1zLnB1c2goe3N0YXJ0OltdLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19KTtlbHNlIGlmKEkwKHQuc2VwLCJtYXAtdmFsdWUtaW5kIikpdGhpcy5zdGFjay5wdXNoKHt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpvLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19XX0pO2Vsc2UgaWYodzN0KHQua2V5KSYmIUkwKHQuc2VwLCJuZXdsaW5lIikpe2xldCBuPXA4KHQuc3RhcnQpLGw9dC5rZXksZD10LnNlcDtkLnB1c2godGhpcy5zb3VyY2VUb2tlbiksZGVsZXRlIHQua2V5LGRlbGV0ZSB0LnNlcCx0aGlzLnN0YWNrLnB1c2goe3R5cGU6ImJsb2NrLW1hcCIsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxpdGVtczpbe3N0YXJ0Om4sa2V5Omwsc2VwOmR9XX0pfWVsc2Ugby5sZW5ndGg+MD90LnNlcD10LnNlcC5jb25jYXQobyx0aGlzLnNvdXJjZVRva2VuKTp0LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO2Vsc2UgaWYoSTAodC5zdGFydCwibmV3bGluZSIpKU9iamVjdC5hc3NpZ24odCx7a2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pO2Vsc2V7bGV0IG49cDgodC5zdGFydCk7dGhpcy5zdGFjay5wdXNoKHt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpuLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19XX0pfWVsc2UgdC5zZXA/dC52YWx1ZXx8aT9lLml0ZW1zLnB1c2goe3N0YXJ0Om8sa2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pOkkwKHQuc2VwLCJtYXAtdmFsdWUtaW5kIik/dGhpcy5zdGFjay5wdXNoKHt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpbXSxrZXk6bnVsbCxzZXA6W3RoaXMuc291cmNlVG9rZW5dfV19KTp0LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pOk9iamVjdC5hc3NpZ24odCx7a2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pO3RoaXMub25LZXlMaW5lPSEwO3JldHVybjtjYXNlImFsaWFzIjpjYXNlInNjYWxhciI6Y2FzZSJzaW5nbGUtcXVvdGVkLXNjYWxhciI6Y2FzZSJkb3VibGUtcXVvdGVkLXNjYWxhciI6e2xldCBuPXRoaXMuZmxvd1NjYWxhcih0aGlzLnR5cGUpO2l8fHQudmFsdWU/KGUuaXRlbXMucHVzaCh7c3RhcnQ6byxrZXk6bixzZXA6W119KSx0aGlzLm9uS2V5TGluZT0hMCk6dC5zZXA/dGhpcy5zdGFjay5wdXNoKG4pOihPYmplY3QuYXNzaWduKHQse2tleTpuLHNlcDpbXX0pLHRoaXMub25LZXlMaW5lPSEwKTtyZXR1cm59ZGVmYXVsdDp7bGV0IG49dGhpcy5zdGFydEJsb2NrVmFsdWUoZSk7aWYobil7aWYobi50eXBlPT09ImJsb2NrLXNlcSIpe2lmKCF0LmV4cGxpY2l0S2V5JiZ0LnNlcCYmIUkwKHQuc2VwLCJuZXdsaW5lIikpe3lpZWxkKnRoaXMucG9wKHt0eXBlOiJlcnJvciIsb2Zmc2V0OnRoaXMub2Zmc2V0LG1lc3NhZ2U6IlVuZXhwZWN0ZWQgYmxvY2stc2VxLWluZCBvbiBzYW1lIGxpbmUgd2l0aCBrZXkiLHNvdXJjZTp0aGlzLnNvdXJjZX0pO3JldHVybn19ZWxzZSByJiZlLml0ZW1zLnB1c2goe3N0YXJ0Om99KTt0aGlzLnN0YWNrLnB1c2gobik7cmV0dXJufX19fXlpZWxkKnRoaXMucG9wKCkseWllbGQqdGhpcy5zdGVwKCl9KmJsb2NrU2VxdWVuY2UoZSl7bGV0IHQ9ZS5pdGVtc1tlLml0ZW1zLmxlbmd0aC0xXTtzd2l0Y2godGhpcy50eXBlKXtjYXNlIm5ld2xpbmUiOmlmKHQudmFsdWUpe2xldCByPSJlbmQiaW4gdC52YWx1ZT90LnZhbHVlLmVuZDp2b2lkIDA7KEFycmF5LmlzQXJyYXkocik/cltyLmxlbmd0aC0xXTp2b2lkIDApPy50eXBlPT09ImNvbW1lbnQiP3I/LnB1c2godGhpcy5zb3VyY2VUb2tlbik6ZS5pdGVtcy5wdXNoKHtzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl19KX1lbHNlIHQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm47Y2FzZSJzcGFjZSI6Y2FzZSJjb21tZW50IjppZih0LnZhbHVlKWUuaXRlbXMucHVzaCh7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfSk7ZWxzZXtpZih0aGlzLmF0SW5kZW50ZWRDb21tZW50KHQuc3RhcnQsZS5pbmRlbnQpKXtsZXQgaT1lLml0ZW1zW2UuaXRlbXMubGVuZ3RoLTJdPy52YWx1ZT8uZW5kO2lmKEFycmF5LmlzQXJyYXkoaSkpe0FycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGksdC5zdGFydCksaS5wdXNoKHRoaXMuc291cmNlVG9rZW4pLGUuaXRlbXMucG9wKCk7cmV0dXJufX10LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbil9cmV0dXJuO2Nhc2UiYW5jaG9yIjpjYXNlInRhZyI6aWYodC52YWx1ZXx8dGhpcy5pbmRlbnQ8PWUuaW5kZW50KWJyZWFrO3Quc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm47Y2FzZSJzZXEtaXRlbS1pbmQiOmlmKHRoaXMuaW5kZW50IT09ZS5pbmRlbnQpYnJlYWs7dC52YWx1ZXx8STAodC5zdGFydCwic2VxLWl0ZW0taW5kIik/ZS5pdGVtcy5wdXNoKHtzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl19KTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJufWlmKHRoaXMuaW5kZW50PmUuaW5kZW50KXtsZXQgcj10aGlzLnN0YXJ0QmxvY2tWYWx1ZShlKTtpZihyKXt0aGlzLnN0YWNrLnB1c2gocik7cmV0dXJufX15aWVsZCp0aGlzLnBvcCgpLHlpZWxkKnRoaXMuc3RlcCgpfSpmbG93Q29sbGVjdGlvbihlKXtsZXQgdD1lLml0ZW1zW2UuaXRlbXMubGVuZ3RoLTFdO2lmKHRoaXMudHlwZT09PSJmbG93LWVycm9yLWVuZCIpe2xldCByO2RvIHlpZWxkKnRoaXMucG9wKCkscj10aGlzLnBlZWsoMSk7d2hpbGUocj8udHlwZT09PSJmbG93LWNvbGxlY3Rpb24iKX1lbHNlIGlmKGUuZW5kLmxlbmd0aD09PTApe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UiY29tbWEiOmNhc2UiZXhwbGljaXQta2V5LWluZCI6IXR8fHQuc2VwP2UuaXRlbXMucHVzaCh7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfSk6dC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO3JldHVybjtjYXNlIm1hcC12YWx1ZS1pbmQiOiF0fHx0LnZhbHVlP2UuaXRlbXMucHVzaCh7c3RhcnQ6W10sa2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pOnQuc2VwP3Quc2VwLnB1c2godGhpcy5zb3VyY2VUb2tlbik6T2JqZWN0LmFzc2lnbih0LHtrZXk6bnVsbCxzZXA6W3RoaXMuc291cmNlVG9rZW5dfSk7cmV0dXJuO2Nhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6Y2FzZSJuZXdsaW5lIjpjYXNlImFuY2hvciI6Y2FzZSJ0YWciOiF0fHx0LnZhbHVlP2UuaXRlbXMucHVzaCh7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfSk6dC5zZXA/dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2UiYWxpYXMiOmNhc2Uic2NhbGFyIjpjYXNlInNpbmdsZS1xdW90ZWQtc2NhbGFyIjpjYXNlImRvdWJsZS1xdW90ZWQtc2NhbGFyIjp7bGV0IGk9dGhpcy5mbG93U2NhbGFyKHRoaXMudHlwZSk7IXR8fHQudmFsdWU/ZS5pdGVtcy5wdXNoKHtzdGFydDpbXSxrZXk6aSxzZXA6W119KTp0LnNlcD90aGlzLnN0YWNrLnB1c2goaSk6T2JqZWN0LmFzc2lnbih0LHtrZXk6aSxzZXA6W119KTtyZXR1cm59Y2FzZSJmbG93LW1hcC1lbmQiOmNhc2UiZmxvdy1zZXEtZW5kIjplLmVuZC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO3JldHVybn1sZXQgcj10aGlzLnN0YXJ0QmxvY2tWYWx1ZShlKTtyP3RoaXMuc3RhY2sucHVzaChyKTooeWllbGQqdGhpcy5wb3AoKSx5aWVsZCp0aGlzLnN0ZXAoKSl9ZWxzZXtsZXQgcj10aGlzLnBlZWsoMik7aWYoci50eXBlPT09ImJsb2NrLW1hcCImJih0aGlzLnR5cGU9PT0ibWFwLXZhbHVlLWluZCImJnIuaW5kZW50PT09ZS5pbmRlbnR8fHRoaXMudHlwZT09PSJuZXdsaW5lIiYmIXIuaXRlbXNbci5pdGVtcy5sZW5ndGgtMV0uc2VwKSl5aWVsZCp0aGlzLnBvcCgpLHlpZWxkKnRoaXMuc3RlcCgpO2Vsc2UgaWYodGhpcy50eXBlPT09Im1hcC12YWx1ZS1pbmQiJiZyLnR5cGUhPT0iZmxvdy1jb2xsZWN0aW9uIil7bGV0IGk9c1Eociksbz1wOChpKTtNM3QoZSk7bGV0IG49ZS5lbmQuc3BsaWNlKDEsZS5lbmQubGVuZ3RoKTtuLnB1c2godGhpcy5zb3VyY2VUb2tlbik7bGV0IGw9e3R5cGU6ImJsb2NrLW1hcCIsb2Zmc2V0OmUub2Zmc2V0LGluZGVudDplLmluZGVudCxpdGVtczpbe3N0YXJ0Om8sa2V5OmUsc2VwOm59XX07dGhpcy5vbktleUxpbmU9ITAsdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXT1sfWVsc2UgeWllbGQqdGhpcy5saW5lRW5kKGUpfX1mbG93U2NhbGFyKGUpe2lmKHRoaXMub25OZXdMaW5lKXtsZXQgdD10aGlzLnNvdXJjZS5pbmRleE9mKGAKYCkrMTtmb3IoO3QhPT0wOyl0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCt0KSx0PXRoaXMuc291cmNlLmluZGV4T2YoYApgLHQpKzF9cmV0dXJue3R5cGU6ZSxvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LHNvdXJjZTp0aGlzLnNvdXJjZX19c3RhcnRCbG9ja1ZhbHVlKGUpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UiYWxpYXMiOmNhc2Uic2NhbGFyIjpjYXNlInNpbmdsZS1xdW90ZWQtc2NhbGFyIjpjYXNlImRvdWJsZS1xdW90ZWQtc2NhbGFyIjpyZXR1cm4gdGhpcy5mbG93U2NhbGFyKHRoaXMudHlwZSk7Y2FzZSJibG9jay1zY2FsYXItaGVhZGVyIjpyZXR1cm57dHlwZToiYmxvY2stc2NhbGFyIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LHByb3BzOlt0aGlzLnNvdXJjZVRva2VuXSxzb3VyY2U6IiJ9O2Nhc2UiZmxvdy1tYXAtc3RhcnQiOmNhc2UiZmxvdy1zZXEtc3RhcnQiOnJldHVybnt0eXBlOiJmbG93LWNvbGxlY3Rpb24iLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsc3RhcnQ6dGhpcy5zb3VyY2VUb2tlbixpdGVtczpbXSxlbmQ6W119O2Nhc2Uic2VxLWl0ZW0taW5kIjpyZXR1cm57dHlwZToiYmxvY2stc2VxIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfV19O2Nhc2UiZXhwbGljaXQta2V5LWluZCI6e3RoaXMub25LZXlMaW5lPSEwO2xldCB0PXNRKGUpLHI9cDgodCk7cmV0dXJuIHIucHVzaCh0aGlzLnNvdXJjZVRva2VuKSx7dHlwZToiYmxvY2stbWFwIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6cixleHBsaWNpdEtleTohMH1dfX1jYXNlIm1hcC12YWx1ZS1pbmQiOnt0aGlzLm9uS2V5TGluZT0hMDtsZXQgdD1zUShlKSxyPXA4KHQpO3JldHVybnt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpyLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19XX19fXJldHVybiBudWxsfWF0SW5kZW50ZWRDb21tZW50KGUsdCl7cmV0dXJuIHRoaXMudHlwZSE9PSJjb21tZW50Inx8dGhpcy5pbmRlbnQ8PXQ/ITE6ZS5ldmVyeShyPT5yLnR5cGU9PT0ibmV3bGluZSJ8fHIudHlwZT09PSJzcGFjZSIpfSpkb2N1bWVudEVuZChlKXt0aGlzLnR5cGUhPT0iZG9jLW1vZGUiJiYoZS5lbmQ/ZS5lbmQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTplLmVuZD1bdGhpcy5zb3VyY2VUb2tlbl0sdGhpcy50eXBlPT09Im5ld2xpbmUiJiYoeWllbGQqdGhpcy5wb3AoKSkpfSpsaW5lRW5kKGUpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UiY29tbWEiOmNhc2UiZG9jLXN0YXJ0IjpjYXNlImRvYy1lbmQiOmNhc2UiZmxvdy1zZXEtZW5kIjpjYXNlImZsb3ctbWFwLWVuZCI6Y2FzZSJtYXAtdmFsdWUtaW5kIjp5aWVsZCp0aGlzLnBvcCgpLHlpZWxkKnRoaXMuc3RlcCgpO2JyZWFrO2Nhc2UibmV3bGluZSI6dGhpcy5vbktleUxpbmU9ITE7ZGVmYXVsdDplLmVuZD9lLmVuZC5wdXNoKHRoaXMuc291cmNlVG9rZW4pOmUuZW5kPVt0aGlzLnNvdXJjZVRva2VuXSx0aGlzLnR5cGU9PT0ibmV3bGluZSImJih5aWVsZCp0aGlzLnBvcCgpKX19fX0pO2Z1bmN0aW9uIGszdChhKXtsZXQgZT1hLnByZXR0eUVycm9ycyE9PSExO3JldHVybntsaW5lQ291bnRlcjphLmxpbmVDb3VudGVyfHxlJiZuZXcgRTB8fG51bGwscHJldHR5RXJyb3JzOmV9fWZ1bmN0aW9uIGlRKGEsZT17fSl7bGV0e2xpbmVDb3VudGVyOnQscHJldHR5RXJyb3JzOnJ9PWszdChlKSxpPW5ldyBPbCh0Py5hZGROZXdMaW5lKSxvPW5ldyBObChlKSxuPUFycmF5LmZyb20oby5jb21wb3NlKGkucGFyc2UoYSkpKTtpZihyJiZ0KWZvcihsZXQgbCBvZiBuKWwuZXJyb3JzLmZvckVhY2gobzgoYSx0KSksbC53YXJuaW5ncy5mb3JFYWNoKG84KGEsdCkpO3JldHVybiBuLmxlbmd0aD4wP246T2JqZWN0LmFzc2lnbihbXSx7ZW1wdHk6ITB9LG8uc3RyZWFtSW5mbygpKX1mdW5jdGlvbiBFZyhhLGU9e30pe2xldHtsaW5lQ291bnRlcjp0LHByZXR0eUVycm9yczpyfT1rM3QoZSksaT1uZXcgT2wodD8uYWRkTmV3TGluZSksbz1uZXcgTmwoZSksbj1udWxsO2ZvcihsZXQgbCBvZiBvLmNvbXBvc2UoaS5wYXJzZShhKSwhMCxhLmxlbmd0aCkpaWYoIW4pbj1sO2Vsc2UgaWYobi5vcHRpb25zLmxvZ0xldmVsIT09InNpbGVudCIpe24uZXJyb3JzLnB1c2gobmV3IFVpKGwucmFuZ2Uuc2xpY2UoMCwyKSwiTVVMVElQTEVfRE9DUyIsIlNvdXJjZSBjb250YWlucyBtdWx0aXBsZSBkb2N1bWVudHM7IHBsZWFzZSB1c2UgWUFNTC5wYXJzZUFsbERvY3VtZW50cygpIikpO2JyZWFrfXJldHVybiByJiZ0JiYobi5lcnJvcnMuZm9yRWFjaChvOChhLHQpKSxuLndhcm5pbmdzLmZvckVhY2gobzgoYSx0KSkpLG59ZnVuY3Rpb24gb1EoYSxlLHQpe2xldCByO3R5cGVvZiBlPT0iZnVuY3Rpb24iP3I9ZTp0PT09dm9pZCAwJiZlJiZ0eXBlb2YgZT09Im9iamVjdCImJih0PWUpO2xldCBpPUVnKGEsdCk7aWYoIWkpcmV0dXJuIG51bGw7aWYoaS53YXJuaW5ncy5mb3JFYWNoKG89PnVnKGkub3B0aW9ucy5sb2dMZXZlbCxvKSksaS5lcnJvcnMubGVuZ3RoPjApe2lmKGkub3B0aW9ucy5sb2dMZXZlbCE9PSJzaWxlbnQiKXRocm93IGkuZXJyb3JzWzBdO2kuZXJyb3JzPVtdfXJldHVybiBpLnRvSlMoT2JqZWN0LmFzc2lnbih7cmV2aXZlcjpyfSx0KSl9ZnVuY3Rpb24gblEoYSxlLHQpe2xldCByPW51bGw7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiJ8fEFycmF5LmlzQXJyYXkoZSk/cj1lOnQ9PT12b2lkIDAmJmUmJih0PWUpLHR5cGVvZiB0PT0ic3RyaW5nIiYmKHQ9dC5sZW5ndGgpLHR5cGVvZiB0PT0ibnVtYmVyIil7bGV0IGk9TWF0aC5yb3VuZCh0KTt0PWk8MT92b2lkIDA6aT44P3tpbmRlbnQ6OH06e2luZGVudDppfX1pZihhPT09dm9pZCAwKXtsZXR7a2VlcFVuZGVmaW5lZDppfT10Pz9lPz97fTtpZighaSlyZXR1cm59cmV0dXJuIExvKGEpJiYhcj9hLnRvU3RyaW5nKHQpOm5ldyBUbihhLHIsdCkudG9TdHJpbmcodCl9dmFyIFMzdD1mKCgpPT57UzBlKCk7emcoKTtDZygpO09jZSgpOyRhKCk7UDBlKCk7RTBlKCk7cyhrM3QsInBhcnNlT3B0aW9ucyIpO3MoaVEsInBhcnNlQWxsRG9jdW1lbnRzIik7cyhFZywicGFyc2VEb2N1bWVudCIpO3Mob1EsInBhcnNlIik7cyhuUSwic3RyaW5naWZ5Iil9KTt2YXIgSTBlPXt9O2x0KEkwZSx7QWxpYXM6KCk9PlNuLENTVDooKT0+UGcsQ29tcG9zZXI6KCk9Pk5sLERvY3VtZW50OigpPT5UbixMZXhlcjooKT0+UDAsTGluZUNvdW50ZXI6KCk9PkUwLFBhaXI6KCk9PnVyLFBhcnNlcjooKT0+T2wsU2NhbGFyOigpPT5odCxTY2hlbWE6KCk9PiQwLFlBTUxFcnJvcjooKT0+RDAsWUFNTE1hcDooKT0+eXIsWUFNTFBhcnNlRXJyb3I6KCk9PlVpLFlBTUxTZXE6KCk9PkRzLFlBTUxXYXJuaW5nOigpPT5BMCxpc0FsaWFzOigpPT5Ubyxpc0NvbGxlY3Rpb246KCk9PkxhLGlzRG9jdW1lbnQ6KCk9PkxvLGlzTWFwOigpPT4kbyxpc05vZGU6KCk9PmRhLGlzUGFpcjooKT0+cmEsaXNTY2FsYXI6KCk9PlZ0LGlzU2VxOigpPT5EbyxwYXJzZTooKT0+b1EscGFyc2VBbGxEb2N1bWVudHM6KCk9PmlRLHBhcnNlRG9jdW1lbnQ6KCk9PkVnLHN0cmluZ2lmeTooKT0+blEsdmlzaXQ6KCk9PllvLHZpc2l0QXN5bmM6KCk9PiQzfSk7dmFyIE4wZT1mKCgpPT57UzBlKCk7emcoKTtjMGUoKTtDZygpO2FnKCk7JGEoKTtDMCgpO3BzKCk7XzAoKTtUMCgpO2FRKCk7QTBlKCk7UDBlKCk7RTBlKCk7UzN0KCk7ZWcoKX0pO3ZhciBPMz17fTtsdChPMyx7QWxpYXM6KCk9PlNuLENTVDooKT0+UGcsQ29tcG9zZXI6KCk9Pk5sLERvY3VtZW50OigpPT5UbixMZXhlcjooKT0+UDAsTGluZUNvdW50ZXI6KCk9PkUwLFBhaXI6KCk9PnVyLFBhcnNlcjooKT0+T2wsU2NhbGFyOigpPT5odCxTY2hlbWE6KCk9PiQwLFlBTUxFcnJvcjooKT0+RDAsWUFNTE1hcDooKT0+eXIsWUFNTFBhcnNlRXJyb3I6KCk9PlVpLFlBTUxTZXE6KCk9PkRzLFlBTUxXYXJuaW5nOigpPT5BMCxkZWZhdWx0OigpPT50eWEsaXNBbGlhczooKT0+VG8saXNDb2xsZWN0aW9uOigpPT5MYSxpc0RvY3VtZW50OigpPT5Mbyxpc01hcDooKT0+JG8saXNOb2RlOigpPT5kYSxpc1BhaXI6KCk9PnJhLGlzU2NhbGFyOigpPT5WdCxpc1NlcTooKT0+RG8scGFyc2U6KCk9Pm9RLHBhcnNlQWxsRG9jdW1lbnRzOigpPT5pUSxwYXJzZURvY3VtZW50OigpPT5FZyxzdHJpbmdpZnk6KCk9Pm5RLHZpc2l0OigpPT5Zbyx2aXNpdEFzeW5jOigpPT4kM30pO3ZhciB0eWEsejN0PWYoKCk9PntOMGUoKTtOMGUoKTt0eWE9STBlfSk7dmFyIEMzdD1mKCgpPT57ejN0KCl9KTt2YXIgSWc9e307bHQoSWcse2dldFlhbWxEb2NGcm9tU3RyaW5nOigpPT5peWEsb2JqZWN0VG9ZYW1sU3RyaW5nOigpPT5zeWEseWFtbFN0cmluZ1RvT2JqZWN0OigpPT5yeWF9KTt2YXIgcnlhLHN5YSxpeWEsXzN0PWYoKCk9PntDM3QoKTtyeWE9cyhhc3luYyBhPT5PMy5wYXJzZShhKSwieWFtbFN0cmluZ1RvT2JqZWN0Iiksc3lhPXMoYXN5bmMgYT0+TzMuc3RyaW5naWZ5KGEpLCJvYmplY3RUb1lhbWxTdHJpbmciKSxpeWE9cyhhc3luYyBhPT5PMy5wYXJzZURvY3VtZW50KGEpLCJnZXRZYW1sRG9jRnJvbVN0cmluZyIpfSk7ZnVuY3Rpb24gUjBlKGEpe2lmKGEpdGhyb3cgYX12YXIgVDN0PWYoKCk9PntzKFIwZSwiYmFpbCIpfSk7dmFyIFIzdD1NbygoQ0ZyLE4zdCk9PnsidXNlIHN0cmljdCI7dmFyIGxRPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksTDN0PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsJDN0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxEM3Q9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixBM3Q9cyhmdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIEFycmF5LmlzQXJyYXk9PSJmdW5jdGlvbiI/QXJyYXkuaXNBcnJheShlKTpMM3QuY2FsbChlKT09PSJbb2JqZWN0IEFycmF5XSJ9LCJpc0FycmF5IiksUDN0PXMoZnVuY3Rpb24oZSl7aWYoIWV8fEwzdC5jYWxsKGUpIT09IltvYmplY3QgT2JqZWN0XSIpcmV0dXJuITE7dmFyIHQ9bFEuY2FsbChlLCJjb25zdHJ1Y3RvciIpLHI9ZS5jb25zdHJ1Y3RvciYmZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUmJmxRLmNhbGwoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2YiKTtpZihlLmNvbnN0cnVjdG9yJiYhdCYmIXIpcmV0dXJuITE7dmFyIGk7Zm9yKGkgaW4gZSk7cmV0dXJuIHR5cGVvZiBpPiJ1Inx8bFEuY2FsbChlLGkpfSwiaXNQbGFpbk9iamVjdCIpLEUzdD1zKGZ1bmN0aW9uKGUsdCl7JDN0JiZ0Lm5hbWU9PT0iX19wcm90b19fIj8kM3QoZSx0Lm5hbWUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHZhbHVlOnQubmV3VmFsdWUsd3JpdGFibGU6ITB9KTplW3QubmFtZV09dC5uZXdWYWx1ZX0sInNldFByb3BlcnR5IiksSTN0PXMoZnVuY3Rpb24oZSx0KXtpZih0PT09Il9fcHJvdG9fXyIpaWYobFEuY2FsbChlLHQpKXtpZihEM3QpcmV0dXJuIEQzdChlLHQpLnZhbHVlfWVsc2UgcmV0dXJuO3JldHVybiBlW3RdfSwiZ2V0UHJvcGVydHkiKTtOM3QuZXhwb3J0cz1zKGZ1bmN0aW9uIGEoKXt2YXIgZSx0LHIsaSxvLG4sbD1hcmd1bWVudHNbMF0sZD0xLGM9YXJndW1lbnRzLmxlbmd0aCxwPSExO2Zvcih0eXBlb2YgbD09ImJvb2xlYW4iJiYocD1sLGw9YXJndW1lbnRzWzFdfHx7fSxkPTIpLChsPT1udWxsfHx0eXBlb2YgbCE9Im9iamVjdCImJnR5cGVvZiBsIT0iZnVuY3Rpb24iKSYmKGw9e30pO2Q8YzsrK2QpaWYoZT1hcmd1bWVudHNbZF0sZSE9bnVsbClmb3IodCBpbiBlKXI9STN0KGwsdCksaT1JM3QoZSx0KSxsIT09aSYmKHAmJmkmJihQM3QoaSl8fChvPUEzdChpKSkpPyhvPyhvPSExLG49ciYmQTN0KHIpP3I6W10pOm49ciYmUDN0KHIpP3I6e30sRTN0KGwse25hbWU6dCxuZXdWYWx1ZTphKHAsbixpKX0pKTp0eXBlb2YgaTwidSImJkUzdChsLHtuYW1lOnQsbmV3VmFsdWU6aX0pKTtyZXR1cm4gbH0sImV4dGVuZCIpfSk7dmFyIE4wPWYoKCk9Pnt9KTtmdW5jdGlvbiBOZyhhKXtpZih0eXBlb2YgYSE9Im9iamVjdCJ8fGE9PT1udWxsKXJldHVybiExO2xldCBlPU9iamVjdC5nZXRQcm90b3R5cGVPZihhKTtyZXR1cm4oZT09PW51bGx8fGU9PT1PYmplY3QucHJvdG90eXBlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk9PT1udWxsKSYmIShTeW1ib2wudG9TdHJpbmdUYWcgaW4gYSkmJiEoU3ltYm9sLml0ZXJhdG9yIGluIGEpfXZhciBPM3Q9ZigoKT0+e3MoTmcsImlzUGxhaW5PYmplY3QiKX0pO2Z1bmN0aW9uIE8wZSgpe2xldCBhPVtdLGU9e3J1bjp0LHVzZTpyfTtyZXR1cm4gZTtmdW5jdGlvbiB0KC4uLmkpe2xldCBvPS0xLG49aS5wb3AoKTtpZih0eXBlb2YgbiE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBmdW5jdGlvbiBhcyBsYXN0IGFyZ3VtZW50LCBub3QgIituKTtsKG51bGwsLi4uaSk7ZnVuY3Rpb24gbChkLC4uLmMpe2xldCBwPWFbKytvXSx1PS0xO2lmKGQpe24oZCk7cmV0dXJufWZvcig7Kyt1PGkubGVuZ3RoOykoY1t1XT09PW51bGx8fGNbdV09PT12b2lkIDApJiYoY1t1XT1pW3VdKTtpPWMscD9GM3QocCxsKSguLi5jKTpuKG51bGwsLi4uYyl9cyhsLCJuZXh0Iil9ZnVuY3Rpb24gcihpKXtpZih0eXBlb2YgaSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBgbWlkZGVsd2FyZWAgdG8gYmUgYSBmdW5jdGlvbiwgbm90ICIraSk7cmV0dXJuIGEucHVzaChpKSxlfX1mdW5jdGlvbiBGM3QoYSxlKXtsZXQgdDtyZXR1cm4gcjtmdW5jdGlvbiByKC4uLm4pe2xldCBsPWEubGVuZ3RoPm4ubGVuZ3RoLGQ7bCYmbi5wdXNoKGkpO3RyeXtkPWEuYXBwbHkodGhpcyxuKX1jYXRjaChjKXtsZXQgcD1jO2lmKGwmJnQpdGhyb3cgcDtyZXR1cm4gaShwKX1sfHwoZCYmZC50aGVuJiZ0eXBlb2YgZC50aGVuPT0iZnVuY3Rpb24iP2QudGhlbihvLGkpOmQgaW5zdGFuY2VvZiBFcnJvcj9pKGQpOm8oZCkpfWZ1bmN0aW9uIGkobiwuLi5sKXt0fHwodD0hMCxlKG4sLi4ubCkpfWZ1bmN0aW9uIG8obil7aShudWxsLG4pfX12YXIgQjN0PWYoKCk9PntzKE8wZSwidHJvdWdoIik7cyhGM3QsIndyYXAiKX0pO3ZhciBIM3Q9ZigoKT0+e0IzdCgpfSk7ZnVuY3Rpb24gUjAoYSl7cmV0dXJuIWF8fHR5cGVvZiBhIT0ib2JqZWN0Ij8iIjoicG9zaXRpb24iaW4gYXx8InR5cGUiaW4gYT9xM3QoYS5wb3NpdGlvbik6InN0YXJ0ImluIGF8fCJlbmQiaW4gYT9xM3QoYSk6ImxpbmUiaW4gYXx8ImNvbHVtbiJpbiBhP0YwZShhKToiIn1mdW5jdGlvbiBGMGUoYSl7cmV0dXJuIFYzdChhJiZhLmxpbmUpKyI6IitWM3QoYSYmYS5jb2x1bW4pfWZ1bmN0aW9uIHEzdChhKXtyZXR1cm4gRjBlKGEmJmEuc3RhcnQpKyItIitGMGUoYSYmYS5lbmQpfWZ1bmN0aW9uIFYzdChhKXtyZXR1cm4gYSYmdHlwZW9mIGE9PSJudW1iZXIiP2E6MX12YXIgajN0PWYoKCk9PntzKFIwLCJzdHJpbmdpZnlQb3NpdGlvbiIpO3MoRjBlLCJwb2ludCIpO3MocTN0LCJwb3NpdGlvbiIpO3MoVjN0LCJpbmRleCIpfSk7dmFyIEIwZT1mKCgpPT57ajN0KCl9KTt2YXIganMsVTN0PWYoKCk9PntCMGUoKTtqcz1jbGFzcyBleHRlbmRzIEVycm9ye3N0YXRpY3tzKHRoaXMsIlZGaWxlTWVzc2FnZSIpfWNvbnN0cnVjdG9yKGUsdCxyKXtzdXBlcigpLHR5cGVvZiB0PT0ic3RyaW5nIiYmKHI9dCx0PXZvaWQgMCk7bGV0IGk9IiIsbz17fSxuPSExO2lmKHQmJigibGluZSJpbiB0JiYiY29sdW1uImluIHQ/bz17cGxhY2U6dH06InN0YXJ0ImluIHQmJiJlbmQiaW4gdD9vPXtwbGFjZTp0fToidHlwZSJpbiB0P289e2FuY2VzdG9yczpbdF0scGxhY2U6dC5wb3NpdGlvbn06bz17Li4udH0pLHR5cGVvZiBlPT0ic3RyaW5nIj9pPWU6IW8uY2F1c2UmJmUmJihuPSEwLGk9ZS5tZXNzYWdlLG8uY2F1c2U9ZSksIW8ucnVsZUlkJiYhby5zb3VyY2UmJnR5cGVvZiByPT0ic3RyaW5nIil7bGV0IGQ9ci5pbmRleE9mKCI6Iik7ZD09PS0xP28ucnVsZUlkPXI6KG8uc291cmNlPXIuc2xpY2UoMCxkKSxvLnJ1bGVJZD1yLnNsaWNlKGQrMSkpfWlmKCFvLnBsYWNlJiZvLmFuY2VzdG9ycyYmby5hbmNlc3RvcnMpe2xldCBkPW8uYW5jZXN0b3JzW28uYW5jZXN0b3JzLmxlbmd0aC0xXTtkJiYoby5wbGFjZT1kLnBvc2l0aW9uKX1sZXQgbD1vLnBsYWNlJiYic3RhcnQiaW4gby5wbGFjZT9vLnBsYWNlLnN0YXJ0Om8ucGxhY2U7dGhpcy5hbmNlc3RvcnM9by5hbmNlc3RvcnN8fHZvaWQgMCx0aGlzLmNhdXNlPW8uY2F1c2V8fHZvaWQgMCx0aGlzLmNvbHVtbj1sP2wuY29sdW1uOnZvaWQgMCx0aGlzLmZhdGFsPXZvaWQgMCx0aGlzLmZpbGU9IiIsdGhpcy5tZXNzYWdlPWksdGhpcy5saW5lPWw/bC5saW5lOnZvaWQgMCx0aGlzLm5hbWU9UjAoby5wbGFjZSl8fCIxOjEiLHRoaXMucGxhY2U9by5wbGFjZXx8dm9pZCAwLHRoaXMucmVhc29uPXRoaXMubWVzc2FnZSx0aGlzLnJ1bGVJZD1vLnJ1bGVJZHx8dm9pZCAwLHRoaXMuc291cmNlPW8uc291cmNlfHx2b2lkIDAsdGhpcy5zdGFjaz1uJiZvLmNhdXNlJiZ0eXBlb2Ygby5jYXVzZS5zdGFjaz09InN0cmluZyI/by5jYXVzZS5zdGFjazoiIix0aGlzLmFjdHVhbD12b2lkIDAsdGhpcy5leHBlY3RlZD12b2lkIDAsdGhpcy5ub3RlPXZvaWQgMCx0aGlzLnVybD12b2lkIDB9fTtqcy5wcm90b3R5cGUuZmlsZT0iIixqcy5wcm90b3R5cGUubmFtZT0iIixqcy5wcm90b3R5cGUucmVhc29uPSIiLGpzLnByb3RvdHlwZS5tZXNzYWdlPSIiLGpzLnByb3RvdHlwZS5zdGFjaz0iIixqcy5wcm90b3R5cGUuY29sdW1uPXZvaWQgMCxqcy5wcm90b3R5cGUubGluZT12b2lkIDAsanMucHJvdG90eXBlLmFuY2VzdG9ycz12b2lkIDAsanMucHJvdG90eXBlLmNhdXNlPXZvaWQgMCxqcy5wcm90b3R5cGUuZmF0YWw9dm9pZCAwLGpzLnByb3RvdHlwZS5wbGFjZT12b2lkIDAsanMucHJvdG90eXBlLnJ1bGVJZD12b2lkIDAsanMucHJvdG90eXBlLnNvdXJjZT12b2lkIDB9KTt2YXIgVzN0PWYoKCk9PntVM3QoKX0pO2Z1bmN0aW9uIG95YShhLGUpe2lmKGUhPT12b2lkIDAmJnR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCciZXh0IiBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nJyk7UmcoYSk7bGV0IHQ9MCxyPS0xLGk9YS5sZW5ndGgsbztpZihlPT09dm9pZCAwfHxlLmxlbmd0aD09PTB8fGUubGVuZ3RoPmEubGVuZ3RoKXtmb3IoO2ktLTspaWYoYS5jb2RlUG9pbnRBdChpKT09PTQ3KXtpZihvKXt0PWkrMTticmVha319ZWxzZSByPDAmJihvPSEwLHI9aSsxKTtyZXR1cm4gcjwwPyIiOmEuc2xpY2UodCxyKX1pZihlPT09YSlyZXR1cm4iIjtsZXQgbj0tMSxsPWUubGVuZ3RoLTE7Zm9yKDtpLS07KWlmKGEuY29kZVBvaW50QXQoaSk9PT00Nyl7aWYobyl7dD1pKzE7YnJlYWt9fWVsc2UgbjwwJiYobz0hMCxuPWkrMSksbD4tMSYmKGEuY29kZVBvaW50QXQoaSk9PT1lLmNvZGVQb2ludEF0KGwtLSk/bDwwJiYocj1pKToobD0tMSxyPW4pKTtyZXR1cm4gdD09PXI/cj1uOnI8MCYmKHI9YS5sZW5ndGgpLGEuc2xpY2UodCxyKX1mdW5jdGlvbiBueWEoYSl7aWYoUmcoYSksYS5sZW5ndGg9PT0wKXJldHVybiIuIjtsZXQgZT0tMSx0PWEubGVuZ3RoLHI7Zm9yKDstLXQ7KWlmKGEuY29kZVBvaW50QXQodCk9PT00Nyl7aWYocil7ZT10O2JyZWFrfX1lbHNlIHJ8fChyPSEwKTtyZXR1cm4gZTwwP2EuY29kZVBvaW50QXQoMCk9PT00Nz8iLyI6Ii4iOmU9PT0xJiZhLmNvZGVQb2ludEF0KDApPT09NDc/Ii8vIjphLnNsaWNlKDAsZSl9ZnVuY3Rpb24gbHlhKGEpe1JnKGEpO2xldCBlPWEubGVuZ3RoLHQ9LTEscj0wLGk9LTEsbz0wLG47Zm9yKDtlLS07KXtsZXQgbD1hLmNvZGVQb2ludEF0KGUpO2lmKGw9PT00Nyl7aWYobil7cj1lKzE7YnJlYWt9Y29udGludWV9dDwwJiYobj0hMCx0PWUrMSksbD09PTQ2P2k8MD9pPWU6byE9PTEmJihvPTEpOmk+LTEmJihvPS0xKX1yZXR1cm4gaTwwfHx0PDB8fG89PT0wfHxvPT09MSYmaT09PXQtMSYmaT09PXIrMT8iIjphLnNsaWNlKGksdCl9ZnVuY3Rpb24gY3lhKC4uLmEpe2xldCBlPS0xLHQ7Zm9yKDsrK2U8YS5sZW5ndGg7KVJnKGFbZV0pLGFbZV0mJih0PXQ9PT12b2lkIDA/YVtlXTp0KyIvIithW2VdKTtyZXR1cm4gdD09PXZvaWQgMD8iLiI6ZHlhKHQpfWZ1bmN0aW9uIGR5YShhKXtSZyhhKTtsZXQgZT1hLmNvZGVQb2ludEF0KDApPT09NDcsdD11eWEoYSwhZSk7cmV0dXJuIHQubGVuZ3RoPT09MCYmIWUmJih0PSIuIiksdC5sZW5ndGg+MCYmYS5jb2RlUG9pbnRBdChhLmxlbmd0aC0xKT09PTQ3JiYodCs9Ii8iKSxlPyIvIit0OnR9ZnVuY3Rpb24gdXlhKGEsZSl7bGV0IHQ9IiIscj0wLGk9LTEsbz0wLG49LTEsbCxkO2Zvcig7KytuPD1hLmxlbmd0aDspe2lmKG48YS5sZW5ndGgpbD1hLmNvZGVQb2ludEF0KG4pO2Vsc2V7aWYobD09PTQ3KWJyZWFrO2w9NDd9aWYobD09PTQ3KXtpZighKGk9PT1uLTF8fG89PT0xKSlpZihpIT09bi0xJiZvPT09Mil7aWYodC5sZW5ndGg8Mnx8ciE9PTJ8fHQuY29kZVBvaW50QXQodC5sZW5ndGgtMSkhPT00Nnx8dC5jb2RlUG9pbnRBdCh0Lmxlbmd0aC0yKSE9PTQ2KXtpZih0Lmxlbmd0aD4yKXtpZihkPXQubGFzdEluZGV4T2YoIi8iKSxkIT09dC5sZW5ndGgtMSl7ZDwwPyh0PSIiLHI9MCk6KHQ9dC5zbGljZSgwLGQpLHI9dC5sZW5ndGgtMS10Lmxhc3RJbmRleE9mKCIvIikpLGk9bixvPTA7Y29udGludWV9fWVsc2UgaWYodC5sZW5ndGg+MCl7dD0iIixyPTAsaT1uLG89MDtjb250aW51ZX19ZSYmKHQ9dC5sZW5ndGg+MD90KyIvLi4iOiIuLiIscj0yKX1lbHNlIHQubGVuZ3RoPjA/dCs9Ii8iK2Euc2xpY2UoaSsxLG4pOnQ9YS5zbGljZShpKzEsbikscj1uLWktMTtpPW4sbz0wfWVsc2UgbD09PTQ2JiZvPi0xP28rKzpvPS0xfXJldHVybiB0fWZ1bmN0aW9uIFJnKGEpe2lmKHR5cGVvZiBhIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJQYXRoIG11c3QgYmUgYSBzdHJpbmcuIFJlY2VpdmVkICIrSlNPTi5zdHJpbmdpZnkoYSkpfXZhciB2MSxHM3Q9ZigoKT0+e3YxPXtiYXNlbmFtZTpveWEsZGlybmFtZTpueWEsZXh0bmFtZTpseWEsam9pbjpjeWEsc2VwOiIvIn07cyhveWEsImJhc2VuYW1lIik7cyhueWEsImRpcm5hbWUiKTtzKGx5YSwiZXh0bmFtZSIpO3MoY3lhLCJqb2luIik7cyhkeWEsIm5vcm1hbGl6ZSIpO3ModXlhLCJub3JtYWxpemVTdHJpbmciKTtzKFJnLCJhc3NlcnRQYXRoIil9KTtmdW5jdGlvbiBweWEoKXtyZXR1cm4iLyJ9dmFyIFkzdCxLM3Q9ZigoKT0+e1kzdD17Y3dkOnB5YX07cyhweWEsImN3ZCIpfSk7ZnVuY3Rpb24gZjgoYSl7cmV0dXJuISEoYSE9PW51bGwmJnR5cGVvZiBhPT0ib2JqZWN0IiYmImhyZWYiaW4gYSYmYS5ocmVmJiYicHJvdG9jb2wiaW4gYSYmYS5wcm90b2NvbCYmYS5hdXRoPT09dm9pZCAwKX12YXIgSDBlPWYoKCk9PntzKGY4LCJpc1VybCIpfSk7ZnVuY3Rpb24gWjN0KGEpe2lmKHR5cGVvZiBhPT0ic3RyaW5nIilhPW5ldyBVUkwoYSk7ZWxzZSBpZighZjgoYSkpe2xldCBlPW5ldyBUeXBlRXJyb3IoJ1RoZSAicGF0aCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIHN0cmluZyBvciBhbiBpbnN0YW5jZSBvZiBVUkwuIFJlY2VpdmVkIGAnK2ErImAiKTt0aHJvdyBlLmNvZGU9IkVSUl9JTlZBTElEX0FSR19UWVBFIixlfWlmKGEucHJvdG9jb2whPT0iZmlsZToiKXtsZXQgZT1uZXcgVHlwZUVycm9yKCJUaGUgVVJMIG11c3QgYmUgb2Ygc2NoZW1lIGZpbGUiKTt0aHJvdyBlLmNvZGU9IkVSUl9JTlZBTElEX1VSTF9TQ0hFTUUiLGV9cmV0dXJuIGZ5YShhKX1mdW5jdGlvbiBmeWEoYSl7aWYoYS5ob3N0bmFtZSE9PSIiKXtsZXQgcj1uZXcgVHlwZUVycm9yKCdGaWxlIFVSTCBob3N0IG11c3QgYmUgImxvY2FsaG9zdCIgb3IgZW1wdHkgb24gZGFyd2luJyk7dGhyb3cgci5jb2RlPSJFUlJfSU5WQUxJRF9GSUxFX1VSTF9IT1NUIixyfWxldCBlPWEucGF0aG5hbWUsdD0tMTtmb3IoOysrdDxlLmxlbmd0aDspaWYoZS5jb2RlUG9pbnRBdCh0KT09PTM3JiZlLmNvZGVQb2ludEF0KHQrMSk9PT01MCl7bGV0IHI9ZS5jb2RlUG9pbnRBdCh0KzIpO2lmKHI9PT03MHx8cj09PTEwMil7bGV0IGk9bmV3IFR5cGVFcnJvcigiRmlsZSBVUkwgcGF0aCBtdXN0IG5vdCBpbmNsdWRlIGVuY29kZWQgLyBjaGFyYWN0ZXJzIik7dGhyb3cgaS5jb2RlPSJFUlJfSU5WQUxJRF9GSUxFX1VSTF9QQVRIIixpfX1yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGUpfXZhciBYM3Q9ZigoKT0+e0gwZSgpO0gwZSgpO3MoWjN0LCJ1cmxUb1BhdGgiKTtzKGZ5YSwiZ2V0UGF0aEZyb21VUkxQb3NpeCIpfSk7ZnVuY3Rpb24gVjBlKGEsZSl7aWYoYSYmYS5pbmNsdWRlcyh2MS5zZXApKXRocm93IG5ldyBFcnJvcigiYCIrZSsiYCBjYW5ub3QgYmUgYSBwYXRoOiBkaWQgbm90IGV4cGVjdCBgIit2MS5zZXArImAiKX1mdW5jdGlvbiBqMGUoYSxlKXtpZighYSl0aHJvdyBuZXcgRXJyb3IoImAiK2UrImAgY2Fubm90IGJlIGVtcHR5Iil9ZnVuY3Rpb24gUTN0KGEsZSl7aWYoIWEpdGhyb3cgbmV3IEVycm9yKCJTZXR0aW5nIGAiK2UrImAgcmVxdWlyZXMgYHBhdGhgIHRvIGJlIHNldCB0b28iKX1mdW5jdGlvbiBoeWEoYSl7cmV0dXJuISEoYSYmdHlwZW9mIGE9PSJvYmplY3QiJiYiYnl0ZUxlbmd0aCJpbiBhJiYiYnl0ZU9mZnNldCJpbiBhKX12YXIgcTBlLE9nLEozdD1mKCgpPT57VzN0KCk7RzN0KCk7SzN0KCk7WDN0KCk7cTBlPVsiaGlzdG9yeSIsInBhdGgiLCJiYXNlbmFtZSIsInN0ZW0iLCJleHRuYW1lIiwiZGlybmFtZSJdLE9nPWNsYXNze3N0YXRpY3tzKHRoaXMsIlZGaWxlIil9Y29uc3RydWN0b3IoZSl7bGV0IHQ7ZT9mOChlKT90PXtwYXRoOmV9OnR5cGVvZiBlPT0ic3RyaW5nInx8aHlhKGUpP3Q9e3ZhbHVlOmV9OnQ9ZTp0PXt9LHRoaXMuY3dkPSJjd2QiaW4gdD8iIjpZM3QuY3dkKCksdGhpcy5kYXRhPXt9LHRoaXMuaGlzdG9yeT1bXSx0aGlzLm1lc3NhZ2VzPVtdLHRoaXMudmFsdWUsdGhpcy5tYXAsdGhpcy5yZXN1bHQsdGhpcy5zdG9yZWQ7bGV0IHI9LTE7Zm9yKDsrK3I8cTBlLmxlbmd0aDspe2xldCBvPXEwZVtyXTtvIGluIHQmJnRbb10hPT12b2lkIDAmJnRbb10hPT1udWxsJiYodGhpc1tvXT1vPT09Imhpc3RvcnkiP1suLi50W29dXTp0W29dKX1sZXQgaTtmb3IoaSBpbiB0KXEwZS5pbmNsdWRlcyhpKXx8KHRoaXNbaV09dFtpXSl9Z2V0IGJhc2VuYW1lKCl7cmV0dXJuIHR5cGVvZiB0aGlzLnBhdGg9PSJzdHJpbmciP3YxLmJhc2VuYW1lKHRoaXMucGF0aCk6dm9pZCAwfXNldCBiYXNlbmFtZShlKXtqMGUoZSwiYmFzZW5hbWUiKSxWMGUoZSwiYmFzZW5hbWUiKSx0aGlzLnBhdGg9djEuam9pbih0aGlzLmRpcm5hbWV8fCIiLGUpfWdldCBkaXJuYW1lKCl7cmV0dXJuIHR5cGVvZiB0aGlzLnBhdGg9PSJzdHJpbmciP3YxLmRpcm5hbWUodGhpcy5wYXRoKTp2b2lkIDB9c2V0IGRpcm5hbWUoZSl7UTN0KHRoaXMuYmFzZW5hbWUsImRpcm5hbWUiKSx0aGlzLnBhdGg9djEuam9pbihlfHwiIix0aGlzLmJhc2VuYW1lKX1nZXQgZXh0bmFtZSgpe3JldHVybiB0eXBlb2YgdGhpcy5wYXRoPT0ic3RyaW5nIj92MS5leHRuYW1lKHRoaXMucGF0aCk6dm9pZCAwfXNldCBleHRuYW1lKGUpe2lmKFYwZShlLCJleHRuYW1lIiksUTN0KHRoaXMuZGlybmFtZSwiZXh0bmFtZSIpLGUpe2lmKGUuY29kZVBvaW50QXQoMCkhPT00Nil0aHJvdyBuZXcgRXJyb3IoImBleHRuYW1lYCBtdXN0IHN0YXJ0IHdpdGggYC5gIik7aWYoZS5pbmNsdWRlcygiLiIsMSkpdGhyb3cgbmV3IEVycm9yKCJgZXh0bmFtZWAgY2Fubm90IGNvbnRhaW4gbXVsdGlwbGUgZG90cyIpfXRoaXMucGF0aD12MS5qb2luKHRoaXMuZGlybmFtZSx0aGlzLnN0ZW0rKGV8fCIiKSl9Z2V0IHBhdGgoKXtyZXR1cm4gdGhpcy5oaXN0b3J5W3RoaXMuaGlzdG9yeS5sZW5ndGgtMV19c2V0IHBhdGgoZSl7ZjgoZSkmJihlPVozdChlKSksajBlKGUsInBhdGgiKSx0aGlzLnBhdGghPT1lJiZ0aGlzLmhpc3RvcnkucHVzaChlKX1nZXQgc3RlbSgpe3JldHVybiB0eXBlb2YgdGhpcy5wYXRoPT0ic3RyaW5nIj92MS5iYXNlbmFtZSh0aGlzLnBhdGgsdGhpcy5leHRuYW1lKTp2b2lkIDB9c2V0IHN0ZW0oZSl7ajBlKGUsInN0ZW0iKSxWMGUoZSwic3RlbSIpLHRoaXMucGF0aD12MS5qb2luKHRoaXMuZGlybmFtZXx8IiIsZSsodGhpcy5leHRuYW1lfHwiIikpfWZhaWwoZSx0LHIpe2xldCBpPXRoaXMubWVzc2FnZShlLHQscik7dGhyb3cgaS5mYXRhbD0hMCxpfWluZm8oZSx0LHIpe2xldCBpPXRoaXMubWVzc2FnZShlLHQscik7cmV0dXJuIGkuZmF0YWw9dm9pZCAwLGl9bWVzc2FnZShlLHQscil7bGV0IGk9bmV3IGpzKGUsdCxyKTtyZXR1cm4gdGhpcy5wYXRoJiYoaS5uYW1lPXRoaXMucGF0aCsiOiIraS5uYW1lLGkuZmlsZT10aGlzLnBhdGgpLGkuZmF0YWw9ITEsdGhpcy5tZXNzYWdlcy5wdXNoKGkpLGl9dG9TdHJpbmcoZSl7cmV0dXJuIHRoaXMudmFsdWU9PT12b2lkIDA/IiI6dHlwZW9mIHRoaXMudmFsdWU9PSJzdHJpbmciP3RoaXMudmFsdWU6bmV3IFRleHREZWNvZGVyKGV8fHZvaWQgMCkuZGVjb2RlKHRoaXMudmFsdWUpfX07cyhWMGUsImFzc2VydFBhcnQiKTtzKGowZSwiYXNzZXJ0Tm9uRW1wdHkiKTtzKFEzdCwiYXNzZXJ0UGF0aCIpO3MoaHlhLCJpc1VpbnQ4QXJyYXkiKX0pO3ZhciBlZHQ9ZigoKT0+e0ozdCgpfSk7dmFyIHRkdCxhZHQ9ZigoKT0+e3RkdD1zKChmdW5jdGlvbihhKXtsZXQgcj10aGlzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxpPXJbYV0sbz1zKGZ1bmN0aW9uKCl7cmV0dXJuIGkuYXBwbHkobyxhcmd1bWVudHMpfSwiYXBwbHkiKTtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKG8sciksb30pLCJDYWxsYWJsZUluc3RhbmNlIil9KTtmdW5jdGlvbiBXMGUoYSxlKXtpZih0eXBlb2YgZSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYCIrYSsiYCB3aXRob3V0IGBwYXJzZXJgIil9ZnVuY3Rpb24gRzBlKGEsZSl7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGAiK2ErImAgd2l0aG91dCBgY29tcGlsZXJgIil9ZnVuY3Rpb24gWTBlKGEsZSl7aWYoZSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjYWxsIGAiK2ErImAgb24gYSBmcm96ZW4gcHJvY2Vzc29yLlxuQ3JlYXRlIGEgbmV3IHByb2Nlc3NvciBmaXJzdCwgYnkgY2FsbGluZyBpdDogdXNlIGBwcm9jZXNzb3IoKWAgaW5zdGVhZCBvZiBgcHJvY2Vzc29yYC4iKX1mdW5jdGlvbiByZHQoYSl7aWYoIU5nKGEpfHx0eXBlb2YgYS50eXBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBub2RlLCBnb3QgYCIrYSsiYCIpfWZ1bmN0aW9uIHNkdChhLGUsdCl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJgIithKyJgIGZpbmlzaGVkIGFzeW5jLiBVc2UgYCIrZSsiYCBpbnN0ZWFkIil9ZnVuY3Rpb24gY1EoYSl7cmV0dXJuIGd5YShhKT9hOm5ldyBPZyhhKX1mdW5jdGlvbiBneWEoYSl7cmV0dXJuISEoYSYmdHlwZW9mIGE9PSJvYmplY3QiJiYibWVzc2FnZSJpbiBhJiYibWVzc2FnZXMiaW4gYSl9ZnVuY3Rpb24gYnlhKGEpe3JldHVybiB0eXBlb2YgYT09InN0cmluZyJ8fHZ5YShhKX1mdW5jdGlvbiB2eWEoYSl7cmV0dXJuISEoYSYmdHlwZW9mIGE9PSJvYmplY3QiJiYiYnl0ZUxlbmd0aCJpbiBhJiYiYnl0ZU9mZnNldCJpbiBhKX12YXIgZFEsbXlhLFUwZSxGZyxpZHQ9ZigoKT0+e1QzdCgpO2RRPWtvKFIzdCgpLDEpO04wKCk7TzN0KCk7SDN0KCk7ZWR0KCk7YWR0KCk7bXlhPXt9Lmhhc093blByb3BlcnR5LFUwZT1jbGFzcyBhIGV4dGVuZHMgdGR0e3N0YXRpY3tzKHRoaXMsIlByb2Nlc3NvciIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoImNvcHkiKSx0aGlzLkNvbXBpbGVyPXZvaWQgMCx0aGlzLlBhcnNlcj12b2lkIDAsdGhpcy5hdHRhY2hlcnM9W10sdGhpcy5jb21waWxlcj12b2lkIDAsdGhpcy5mcmVlemVJbmRleD0tMSx0aGlzLmZyb3plbj12b2lkIDAsdGhpcy5uYW1lc3BhY2U9e30sdGhpcy5wYXJzZXI9dm9pZCAwLHRoaXMudHJhbnNmb3JtZXJzPU8wZSgpfWNvcHkoKXtsZXQgZT1uZXcgYSx0PS0xO2Zvcig7Kyt0PHRoaXMuYXR0YWNoZXJzLmxlbmd0aDspe2xldCByPXRoaXMuYXR0YWNoZXJzW3RdO2UudXNlKC4uLnIpfXJldHVybiBlLmRhdGEoKDAsZFEuZGVmYXVsdCkoITAse30sdGhpcy5uYW1lc3BhY2UpKSxlfWRhdGEoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciP2FyZ3VtZW50cy5sZW5ndGg9PT0yPyhZMGUoImRhdGEiLHRoaXMuZnJvemVuKSx0aGlzLm5hbWVzcGFjZVtlXT10LHRoaXMpOm15YS5jYWxsKHRoaXMubmFtZXNwYWNlLGUpJiZ0aGlzLm5hbWVzcGFjZVtlXXx8dm9pZCAwOmU/KFkwZSgiZGF0YSIsdGhpcy5mcm96ZW4pLHRoaXMubmFtZXNwYWNlPWUsdGhpcyk6dGhpcy5uYW1lc3BhY2V9ZnJlZXplKCl7aWYodGhpcy5mcm96ZW4pcmV0dXJuIHRoaXM7bGV0IGU9dGhpcztmb3IoOysrdGhpcy5mcmVlemVJbmRleDx0aGlzLmF0dGFjaGVycy5sZW5ndGg7KXtsZXRbdCwuLi5yXT10aGlzLmF0dGFjaGVyc1t0aGlzLmZyZWV6ZUluZGV4XTtpZihyWzBdPT09ITEpY29udGludWU7clswXT09PSEwJiYoclswXT12b2lkIDApO2xldCBpPXQuY2FsbChlLC4uLnIpO3R5cGVvZiBpPT0iZnVuY3Rpb24iJiZ0aGlzLnRyYW5zZm9ybWVycy51c2UoaSl9cmV0dXJuIHRoaXMuZnJvemVuPSEwLHRoaXMuZnJlZXplSW5kZXg9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHRoaXN9cGFyc2UoZSl7dGhpcy5mcmVlemUoKTtsZXQgdD1jUShlKSxyPXRoaXMucGFyc2VyfHx0aGlzLlBhcnNlcjtyZXR1cm4gVzBlKCJwYXJzZSIscikscihTdHJpbmcodCksdCl9cHJvY2VzcyhlLHQpe2xldCByPXRoaXM7cmV0dXJuIHRoaXMuZnJlZXplKCksVzBlKCJwcm9jZXNzIix0aGlzLnBhcnNlcnx8dGhpcy5QYXJzZXIpLEcwZSgicHJvY2VzcyIsdGhpcy5jb21waWxlcnx8dGhpcy5Db21waWxlciksdD9pKHZvaWQgMCx0KTpuZXcgUHJvbWlzZShpKTtmdW5jdGlvbiBpKG8sbil7bGV0IGw9Y1EoZSksZD1yLnBhcnNlKGwpO3IucnVuKGQsbCxmdW5jdGlvbihwLHUsbSl7aWYocHx8IXV8fCFtKXJldHVybiBjKHApO2xldCB2PXUseD1yLnN0cmluZ2lmeSh2LG0pO2J5YSh4KT9tLnZhbHVlPXg6bS5yZXN1bHQ9eCxjKHAsbSl9KTtmdW5jdGlvbiBjKHAsdSl7cHx8IXU/bihwKTpvP28odSk6dCh2b2lkIDAsdSl9cyhjLCJyZWFsRG9uZSIpfXMoaSwiZXhlY3V0b3IiKX1wcm9jZXNzU3luYyhlKXtsZXQgdD0hMSxyO3JldHVybiB0aGlzLmZyZWV6ZSgpLFcwZSgicHJvY2Vzc1N5bmMiLHRoaXMucGFyc2VyfHx0aGlzLlBhcnNlciksRzBlKCJwcm9jZXNzU3luYyIsdGhpcy5jb21waWxlcnx8dGhpcy5Db21waWxlciksdGhpcy5wcm9jZXNzKGUsaSksc2R0KCJwcm9jZXNzU3luYyIsInByb2Nlc3MiLHQpLHI7ZnVuY3Rpb24gaShvLG4pe3Q9ITAsUjBlKG8pLHI9bn1zKGksInJlYWxEb25lIil9cnVuKGUsdCxyKXtyZHQoZSksdGhpcy5mcmVlemUoKTtsZXQgaT10aGlzLnRyYW5zZm9ybWVycztyZXR1cm4hciYmdHlwZW9mIHQ9PSJmdW5jdGlvbiImJihyPXQsdD12b2lkIDApLHI/byh2b2lkIDAscik6bmV3IFByb21pc2Uobyk7ZnVuY3Rpb24gbyhuLGwpe2xldCBkPWNRKHQpO2kucnVuKGUsZCxjKTtmdW5jdGlvbiBjKHAsdSxtKXtsZXQgdj11fHxlO3A/bChwKTpuP24odik6cih2b2lkIDAsdixtKX1zKGMsInJlYWxEb25lIil9cyhvLCJleGVjdXRvciIpfXJ1blN5bmMoZSx0KXtsZXQgcj0hMSxpO3JldHVybiB0aGlzLnJ1bihlLHQsbyksc2R0KCJydW5TeW5jIiwicnVuIixyKSxpO2Z1bmN0aW9uIG8obixsKXtSMGUobiksaT1sLHI9ITB9cyhvLCJyZWFsRG9uZSIpfXN0cmluZ2lmeShlLHQpe3RoaXMuZnJlZXplKCk7bGV0IHI9Y1EodCksaT10aGlzLmNvbXBpbGVyfHx0aGlzLkNvbXBpbGVyO3JldHVybiBHMGUoInN0cmluZ2lmeSIsaSkscmR0KGUpLGkoZSxyKX11c2UoZSwuLi50KXtsZXQgcj10aGlzLmF0dGFjaGVycyxpPXRoaXMubmFtZXNwYWNlO2lmKFkwZSgidXNlIix0aGlzLmZyb3plbiksZSE9bnVsbClpZih0eXBlb2YgZT09ImZ1bmN0aW9uIilkKGUsdCk7ZWxzZSBpZih0eXBlb2YgZT09Im9iamVjdCIpQXJyYXkuaXNBcnJheShlKT9sKGUpOm4oZSk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCB1c2FibGUgdmFsdWUsIG5vdCBgIitlKyJgIik7cmV0dXJuIHRoaXM7ZnVuY3Rpb24gbyhjKXtpZih0eXBlb2YgYz09ImZ1bmN0aW9uIilkKGMsW10pO2Vsc2UgaWYodHlwZW9mIGM9PSJvYmplY3QiKWlmKEFycmF5LmlzQXJyYXkoYykpe2xldFtwLC4uLnVdPWM7ZChwLHUpfWVsc2UgbihjKTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIHVzYWJsZSB2YWx1ZSwgbm90IGAiK2MrImAiKX1mdW5jdGlvbiBuKGMpe2lmKCEoInBsdWdpbnMiaW4gYykmJiEoInNldHRpbmdzImluIGMpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgdXNhYmxlIHZhbHVlIGJ1dCByZWNlaXZlZCBhbiBlbXB0eSBwcmVzZXQsIHdoaWNoIGlzIHByb2JhYmx5IGEgbWlzdGFrZTogcHJlc2V0cyB0eXBpY2FsbHkgY29tZSB3aXRoIGBwbHVnaW5zYCBhbmQgc29tZXRpbWVzIHdpdGggYHNldHRpbmdzYCwgYnV0IHRoaXMgaGFzIG5laXRoZXIiKTtsKGMucGx1Z2lucyksYy5zZXR0aW5ncyYmKGkuc2V0dGluZ3M9KDAsZFEuZGVmYXVsdCkoITAsaS5zZXR0aW5ncyxjLnNldHRpbmdzKSl9ZnVuY3Rpb24gbChjKXtsZXQgcD0tMTtpZihjIT1udWxsKWlmKEFycmF5LmlzQXJyYXkoYykpZm9yKDsrK3A8Yy5sZW5ndGg7KXtsZXQgdT1jW3BdO28odSl9ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGxpc3Qgb2YgcGx1Z2lucywgbm90IGAiK2MrImAiKX1mdW5jdGlvbiBkKGMscCl7bGV0IHU9LTEsbT0tMTtmb3IoOysrdTxyLmxlbmd0aDspaWYoclt1XVswXT09PWMpe209dTticmVha31pZihtPT09LTEpci5wdXNoKFtjLC4uLnBdKTtlbHNlIGlmKHAubGVuZ3RoPjApe2xldFt2LC4uLnhdPXAsYj1yW21dWzFdO05nKGIpJiZOZyh2KSYmKHY9KDAsZFEuZGVmYXVsdCkoITAsYix2KSksclttXT1bYyx2LC4uLnhdfX19fSxGZz1uZXcgVTBlKCkuZnJlZXplKCk7cyhXMGUsImFzc2VydFBhcnNlciIpO3MoRzBlLCJhc3NlcnRDb21waWxlciIpO3MoWTBlLCJhc3NlcnRVbmZyb3plbiIpO3MocmR0LCJhc3NlcnROb2RlIik7cyhzZHQsImFzc2VydERvbmUiKTtzKGNRLCJ2ZmlsZSIpO3MoZ3lhLCJsb29rc0xpa2VBVkZpbGUiKTtzKGJ5YSwibG9va3NMaWtlQVZhbHVlIik7cyh2eWEsImlzVWludDhBcnJheSIpfSk7dmFyIG9kdD1mKCgpPT57aWR0KCl9KTtmdW5jdGlvbiBtOChhLGUpe2xldCB0PVN0cmluZyhhKTtpZih0eXBlb2YgZSE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgY2hhcmFjdGVyIik7bGV0IHI9MCxpPXQuaW5kZXhPZihlKTtmb3IoO2khPT0tMTspcisrLGk9dC5pbmRleE9mKGUsaStlLmxlbmd0aCk7cmV0dXJuIHJ9dmFyIEswZT1mKCgpPT57cyhtOCwiY2NvdW50Iil9KTtmdW5jdGlvbiBGMyhhKXtyZXR1cm4gYSE9PW51bGwmJihhPDMyfHxhPT09MTI3KX1mdW5jdGlvbiBldChhKXtyZXR1cm4gYSE9PW51bGwmJmE8LTJ9ZnVuY3Rpb24gdWEoYSl7cmV0dXJuIGEhPT1udWxsJiYoYTwwfHxhPT09MzIpfWZ1bmN0aW9uIEN0KGEpe3JldHVybiBhPT09LTJ8fGE9PT0tMXx8YT09PTMyfWZ1bmN0aW9uIE8wKGEpe3JldHVybiBlO2Z1bmN0aW9uIGUodCl7cmV0dXJuIHQhPT1udWxsJiZ0Pi0xJiZhLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZSh0KSl9fXZhciBBcyxJcixuZHQsQmcsbGR0LGNkdCxCMyxBMixiYT1mKCgpPT57QXM9TzAoL1tBLVphLXpdLyksSXI9TzAoL1tcZEEtWmEtel0vKSxuZHQ9TzAoL1sjLScqK1wtLTk9P0EtWl4tfl0vKTtzKEYzLCJhc2NpaUNvbnRyb2wiKTtCZz1PMCgvXGQvKSxsZHQ9TzAoL1tcZEEtRmEtZl0vKSxjZHQ9TzAoL1shLS86LUBbLWB7LX5dLyk7cyhldCwibWFya2Rvd25MaW5lRW5kaW5nIik7cyh1YSwibWFya2Rvd25MaW5lRW5kaW5nT3JTcGFjZSIpO3MoQ3QsIm1hcmtkb3duU3BhY2UiKTtCMz1PMCgvXHB7UH18XHB7U30vdSksQTI9TzAoL1xzLyk7cyhPMCwicmVnZXhDaGVjayIpfSk7ZnVuY3Rpb24geHlhKGEpe2xldCBlPVtdLHQ9LTE7Zm9yKDsrK3Q8YS5sZW5ndGg7KWVbdF09RmwoYVt0XSk7cmV0dXJuIHVRKHIpO2Z1bmN0aW9uIHIoLi4uaSl7bGV0IG89LTE7Zm9yKDsrK288ZS5sZW5ndGg7KWlmKGVbb10uYXBwbHkodGhpcyxpKSlyZXR1cm4hMDtyZXR1cm4hMX19ZnVuY3Rpb24geXlhKGEpe2xldCBlPWE7cmV0dXJuIHVRKHQpO2Z1bmN0aW9uIHQocil7bGV0IGk9cixvO2ZvcihvIGluIGEpaWYoaVtvXSE9PWVbb10pcmV0dXJuITE7cmV0dXJuITB9fWZ1bmN0aW9uIHd5YShhKXtyZXR1cm4gdVEoZSk7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdC50eXBlPT09YX19ZnVuY3Rpb24gdVEoYSl7cmV0dXJuIGU7ZnVuY3Rpb24gZSh0LHIsaSl7cmV0dXJuISEoZGR0KHQpJiZhLmNhbGwodGhpcyx0LHR5cGVvZiByPT0ibnVtYmVyIj9yOnZvaWQgMCxpfHx2b2lkIDApKX19ZnVuY3Rpb24gTXlhKCl7cmV0dXJuITB9ZnVuY3Rpb24gZGR0KGEpe3JldHVybiBhIT09bnVsbCYmdHlwZW9mIGE9PSJvYmplY3QiJiYidHlwZSJpbiBhfXZhciB1ZHQsRmwscGR0PWYoKCk9Pnt1ZHQ9cygoZnVuY3Rpb24oYSxlLHQscixpKXtsZXQgbz1GbChlKTtpZih0IT1udWxsJiYodHlwZW9mIHQhPSJudW1iZXIifHx0PDB8fHQ9PT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgcG9zaXRpdmUgZmluaXRlIGluZGV4Iik7aWYociE9bnVsbCYmKCF1ZHQocil8fCFyLmNoaWxkcmVuKSl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIHBhcmVudCBub2RlIik7aWYocj09bnVsbCE9KHQ9PW51bGwpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYm90aCBwYXJlbnQgYW5kIGluZGV4Iik7cmV0dXJuIGRkdChhKT9vLmNhbGwoaSxhLHQscik6ITF9KSwiaXMiKSxGbD1zKChmdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBNeWE7aWYodHlwZW9mIGE9PSJmdW5jdGlvbiIpcmV0dXJuIHVRKGEpO2lmKHR5cGVvZiBhPT0ib2JqZWN0IilyZXR1cm4gQXJyYXkuaXNBcnJheShhKT94eWEoYSk6eXlhKGEpO2lmKHR5cGVvZiBhPT0ic3RyaW5nIilyZXR1cm4gd3lhKGEpO3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgZnVuY3Rpb24sIHN0cmluZywgb3Igb2JqZWN0IGFzIHRlc3QiKX0pLCJjb252ZXJ0Iik7cyh4eWEsImFueUZhY3RvcnkiKTtzKHl5YSwicHJvcGVydGllc0ZhY3RvcnkiKTtzKHd5YSwidHlwZUZhY3RvcnkiKTtzKHVRLCJjYXN0RmFjdG9yeSIpO3MoTXlhLCJvayIpO3MoZGR0LCJsb29rc0xpa2VBTm9kZSIpfSk7dmFyIHBRPWYoKCk9PntwZHQoKX0pO3ZhciBmZHQ9ZigoKT0+e30pO2Z1bmN0aW9uIEhnKGEsZSx0LHIpe2xldCBpO3R5cGVvZiBlPT0iZnVuY3Rpb24iJiZ0eXBlb2YgdCE9ImZ1bmN0aW9uIj8ocj10LHQ9ZSk6aT1lO2xldCBvPUZsKGkpLG49cj8tMToxO2woYSx2b2lkIDAsW10pKCk7ZnVuY3Rpb24gbChkLGMscCl7bGV0IHU9ZCYmdHlwZW9mIGQ9PSJvYmplY3QiP2Q6e307aWYodHlwZW9mIHUudHlwZT09InN0cmluZyIpe2xldCB2PXR5cGVvZiB1LnRhZ05hbWU9PSJzdHJpbmciP3UudGFnTmFtZTp0eXBlb2YgdS5uYW1lPT0ic3RyaW5nIj91Lm5hbWU6dm9pZCAwO09iamVjdC5kZWZpbmVQcm9wZXJ0eShtLCJuYW1lIix7dmFsdWU6Im5vZGUgKCIrKGQudHlwZSsodj8iPCIrdisiPiI6IiIpKSsiKSJ9KX1yZXR1cm4gbTtmdW5jdGlvbiBtKCl7bGV0IHY9aGR0LHgsYixnO2lmKCghZXx8byhkLGMscFtwLmxlbmd0aC0xXXx8dm9pZCAwKSkmJih2PWt5YSh0KGQscCkpLHZbMF09PT1IMykpcmV0dXJuIHY7aWYoImNoaWxkcmVuImluIGQmJmQuY2hpbGRyZW4pe2xldCB5PWQ7aWYoeS5jaGlsZHJlbiYmdlswXSE9PWhRKWZvcihiPShyP3kuY2hpbGRyZW4ubGVuZ3RoOi0xKStuLGc9cC5jb25jYXQoeSk7Yj4tMSYmYjx5LmNoaWxkcmVuLmxlbmd0aDspe2xldCBrPXkuY2hpbGRyZW5bYl07aWYoeD1sKGssYixnKSgpLHhbMF09PT1IMylyZXR1cm4geDtiPXR5cGVvZiB4WzFdPT0ibnVtYmVyIj94WzFdOmIrbn19cmV0dXJuIHZ9fXMobCwiZmFjdG9yeSIpfWZ1bmN0aW9uIGt5YShhKXtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9hOnR5cGVvZiBhPT0ibnVtYmVyIj9bZlEsYV06YT09bnVsbD9oZHQ6W2FdfXZhciBoZHQsZlEsSDMsaFEsbWR0PWYoKCk9PntwUSgpO2ZkdCgpO2hkdD1bXSxmUT0hMCxIMz0hMSxoUT0ic2tpcCI7cyhIZywidmlzaXRQYXJlbnRzIik7cyhreWEsInRvUmVzdWx0Iil9KTt2YXIgbVE9ZigoKT0+e21kdCgpfSk7ZnVuY3Rpb24gWjBlKGEsZSx0KXtsZXQgaT1GbCgodHx8e30pLmlnbm9yZXx8W10pLG89U3lhKGUpLG49LTE7Zm9yKDsrK248by5sZW5ndGg7KUhnKGEsInRleHQiLGwpO2Z1bmN0aW9uIGwoYyxwKXtsZXQgdT0tMSxtO2Zvcig7Kyt1PHAubGVuZ3RoOyl7bGV0IHY9cFt1XSx4PW0/bS5jaGlsZHJlbjp2b2lkIDA7aWYoaSh2LHg/eC5pbmRleE9mKHYpOnZvaWQgMCxtKSlyZXR1cm47bT12fWlmKG0pcmV0dXJuIGQoYyxwKX1zKGwsInZpc2l0b3IiKTtmdW5jdGlvbiBkKGMscCl7bGV0IHU9cFtwLmxlbmd0aC0xXSxtPW9bbl1bMF0sdj1vW25dWzFdLHg9MCxnPXUuY2hpbGRyZW4uaW5kZXhPZihjKSx5PSExLGs9W107bS5sYXN0SW5kZXg9MDtsZXQgQz1tLmV4ZWMoYy52YWx1ZSk7Zm9yKDtDOyl7bGV0IE49Qy5pbmRleCxfPXtpbmRleDpDLmluZGV4LGlucHV0OkMuaW5wdXQsc3RhY2s6Wy4uLnAsY119LHo9diguLi5DLF8pO2lmKHR5cGVvZiB6PT0ic3RyaW5nIiYmKHo9ei5sZW5ndGg+MD97dHlwZToidGV4dCIsdmFsdWU6en06dm9pZCAwKSx6PT09ITE/bS5sYXN0SW5kZXg9TisxOih4IT09TiYmay5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpjLnZhbHVlLnNsaWNlKHgsTil9KSxBcnJheS5pc0FycmF5KHopP2sucHVzaCguLi56KTp6JiZrLnB1c2goeikseD1OK0NbMF0ubGVuZ3RoLHk9ITApLCFtLmdsb2JhbClicmVhaztDPW0uZXhlYyhjLnZhbHVlKX1yZXR1cm4geT8oeDxjLnZhbHVlLmxlbmd0aCYmay5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpjLnZhbHVlLnNsaWNlKHgpfSksdS5jaGlsZHJlbi5zcGxpY2UoZywxLC4uLmspKTprPVtjXSxnK2subGVuZ3RofXMoZCwiaGFuZGxlciIpfWZ1bmN0aW9uIFN5YShhKXtsZXQgZT1bXTtpZighQXJyYXkuaXNBcnJheShhKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBmaW5kIGFuZCByZXBsYWNlIHR1cGxlIG9yIGxpc3Qgb2YgdHVwbGVzIik7bGV0IHQ9IWFbMF18fEFycmF5LmlzQXJyYXkoYVswXSk/YTpbYV0scj0tMTtmb3IoOysrcjx0Lmxlbmd0aDspe2xldCBpPXRbcl07ZS5wdXNoKFt6eWEoaVswXSksQ3lhKGlbMV0pXSl9cmV0dXJuIGV9ZnVuY3Rpb24genlhKGEpe3JldHVybiB0eXBlb2YgYT09InN0cmluZyI/bmV3IFJlZ0V4cChsMyhhKSwiZyIpOmF9ZnVuY3Rpb24gQ3lhKGEpe3JldHVybiB0eXBlb2YgYT09ImZ1bmN0aW9uIj9hOmZ1bmN0aW9uKCl7cmV0dXJuIGF9fXZhciBnZHQ9ZigoKT0+e1VZKCk7bVEoKTtwUSgpO3MoWjBlLCJmaW5kQW5kUmVwbGFjZSIpO3MoU3lhLCJ0b1BhaXJzIik7cyh6eWEsInRvRXhwcmVzc2lvbiIpO3MoQ3lhLCJ0b0Z1bmN0aW9uIil9KTt2YXIgYmR0PWYoKCk9PntnZHQoKX0pO2Z1bmN0aW9uIGU0ZSgpe3JldHVybnt0cmFuc2Zvcm1zOltBeWFdLGVudGVyOntsaXRlcmFsQXV0b2xpbms6X3lhLGxpdGVyYWxBdXRvbGlua0VtYWlsOkowZSxsaXRlcmFsQXV0b2xpbmtIdHRwOkowZSxsaXRlcmFsQXV0b2xpbmtXd3c6SjBlfSxleGl0OntsaXRlcmFsQXV0b2xpbms6RHlhLGxpdGVyYWxBdXRvbGlua0VtYWlsOiR5YSxsaXRlcmFsQXV0b2xpbmtIdHRwOlR5YSxsaXRlcmFsQXV0b2xpbmtXd3c6THlhfX19ZnVuY3Rpb24gdDRlKCl7cmV0dXJue3Vuc2FmZTpbe2NoYXJhY3RlcjoiQCIsYmVmb3JlOiJbK1xcLS5cXHddIixhZnRlcjoiW1xcLS5cXHddIixpbkNvbnN0cnVjdDpYMGUsbm90SW5Db25zdHJ1Y3Q6UTBlfSx7Y2hhcmFjdGVyOiIuIixiZWZvcmU6IltXd10iLGFmdGVyOiJbXFwtLlxcd10iLGluQ29uc3RydWN0OlgwZSxub3RJbkNvbnN0cnVjdDpRMGV9LHtjaGFyYWN0ZXI6IjoiLGJlZm9yZToiW3BzXSIsYWZ0ZXI6IlxcLyIsaW5Db25zdHJ1Y3Q6WDBlLG5vdEluQ29uc3RydWN0OlEwZX1dfX1mdW5jdGlvbiBfeWEoYSl7dGhpcy5lbnRlcih7dHlwZToibGluayIsdGl0bGU6bnVsbCx1cmw6IiIsY2hpbGRyZW46W119LGEpfWZ1bmN0aW9uIEowZShhKXt0aGlzLmNvbmZpZy5lbnRlci5hdXRvbGlua1Byb3RvY29sLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBUeWEoYSl7dGhpcy5jb25maWcuZXhpdC5hdXRvbGlua1Byb3RvY29sLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBMeWEoYSl7dGhpcy5jb25maWcuZXhpdC5kYXRhLmNhbGwodGhpcyxhKTtsZXQgZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2UudHlwZSxlLnVybD0iaHR0cDovLyIrdGhpcy5zbGljZVNlcmlhbGl6ZShhKX1mdW5jdGlvbiAkeWEoYSl7dGhpcy5jb25maWcuZXhpdC5hdXRvbGlua0VtYWlsLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBEeWEoYSl7dGhpcy5leGl0KGEpfWZ1bmN0aW9uIEF5YShhKXtaMGUoYSxbWy8oaHR0cHM/OlwvXC98d3d3KD89XC4pKShbLS5cd10rKShbXiBcdFxyXG5dKikvZ2ksUHlhXSxbLyg/PD1efFxzfFxwe1B9fFxwe1N9KShbLS5cdytdKylAKFstXHddKyg/OlwuWy1cd10rKSspL2d1LEV5YV1dLHtpZ25vcmU6WyJsaW5rIiwibGlua1JlZmVyZW5jZSJdfSl9ZnVuY3Rpb24gUHlhKGEsZSx0LHIsaSl7bGV0IG89IiI7aWYoIXZkdChpKXx8KC9edy9pLnRlc3QoZSkmJih0PWUrdCxlPSIiLG89Imh0dHA6Ly8iKSwhSXlhKHQpKSlyZXR1cm4hMTtsZXQgbj1OeWEodCtyKTtpZighblswXSlyZXR1cm4hMTtsZXQgbD17dHlwZToibGluayIsdGl0bGU6bnVsbCx1cmw6bytlK25bMF0sY2hpbGRyZW46W3t0eXBlOiJ0ZXh0Iix2YWx1ZTplK25bMF19XX07cmV0dXJuIG5bMV0/W2wse3R5cGU6InRleHQiLHZhbHVlOm5bMV19XTpsfWZ1bmN0aW9uIEV5YShhLGUsdCxyKXtyZXR1cm4hdmR0KHIsITApfHwvWy1cZF9dJC8udGVzdCh0KT8hMTp7dHlwZToibGluayIsdGl0bGU6bnVsbCx1cmw6Im1haWx0bzoiK2UrIkAiK3QsY2hpbGRyZW46W3t0eXBlOiJ0ZXh0Iix2YWx1ZTplKyJAIit0fV19fWZ1bmN0aW9uIEl5YShhKXtsZXQgZT1hLnNwbGl0KCIuIik7cmV0dXJuIShlLmxlbmd0aDwyfHxlW2UubGVuZ3RoLTFdJiYoL18vLnRlc3QoZVtlLmxlbmd0aC0xXSl8fCEvW2EtekEtWlxkXS8udGVzdChlW2UubGVuZ3RoLTFdKSl8fGVbZS5sZW5ndGgtMl0mJigvXy8udGVzdChlW2UubGVuZ3RoLTJdKXx8IS9bYS16QS1aXGRdLy50ZXN0KGVbZS5sZW5ndGgtMl0pKSl9ZnVuY3Rpb24gTnlhKGEpe2xldCBlPS9bISImJyksLjo7PD4/XF19XSskLy5leGVjKGEpO2lmKCFlKXJldHVyblthLHZvaWQgMF07YT1hLnNsaWNlKDAsZS5pbmRleCk7bGV0IHQ9ZVswXSxyPXQuaW5kZXhPZigiKSIpLGk9bTgoYSwiKCIpLG89bTgoYSwiKSIpO2Zvcig7ciE9PS0xJiZpPm87KWErPXQuc2xpY2UoMCxyKzEpLHQ9dC5zbGljZShyKzEpLHI9dC5pbmRleE9mKCIpIiksbysrO3JldHVyblthLHRdfWZ1bmN0aW9uIHZkdChhLGUpe2xldCB0PWEuaW5wdXQuY2hhckNvZGVBdChhLmluZGV4LTEpO3JldHVybihhLmluZGV4PT09MHx8QTIodCl8fEIzKHQpKSYmKCFlfHx0IT09NDcpfXZhciBYMGUsUTBlLHhkdD1mKCgpPT57SzBlKCk7TjAoKTtiYSgpO2JkdCgpO1gwZT0icGhyYXNpbmciLFEwZT1bImF1dG9saW5rIiwibGluayIsImltYWdlIiwibGFiZWwiXTtzKGU0ZSwiZ2ZtQXV0b2xpbmtMaXRlcmFsRnJvbU1hcmtkb3duIik7cyh0NGUsImdmbUF1dG9saW5rTGl0ZXJhbFRvTWFya2Rvd24iKTtzKF95YSwiZW50ZXJMaXRlcmFsQXV0b2xpbmsiKTtzKEowZSwiZW50ZXJMaXRlcmFsQXV0b2xpbmtWYWx1ZSIpO3MoVHlhLCJleGl0TGl0ZXJhbEF1dG9saW5rSHR0cCIpO3MoTHlhLCJleGl0TGl0ZXJhbEF1dG9saW5rV3d3Iik7cygkeWEsImV4aXRMaXRlcmFsQXV0b2xpbmtFbWFpbCIpO3MoRHlhLCJleGl0TGl0ZXJhbEF1dG9saW5rIik7cyhBeWEsInRyYW5zZm9ybUdmbUF1dG9saW5rTGl0ZXJhbHMiKTtzKFB5YSwiZmluZFVybCIpO3MoRXlhLCJmaW5kRW1haWwiKTtzKEl5YSwiaXNDb3JyZWN0RG9tYWluIik7cyhOeWEsInNwbGl0VXJsIik7cyh2ZHQsInByZXZpb3VzIil9KTt2YXIgeWR0PWYoKCk9Pnt4ZHQoKX0pO2Z1bmN0aW9uIE5yKGEpe3JldHVybiBhLnJlcGxhY2UoL1tcdFxuXHIgXSsvZywiICIpLnJlcGxhY2UoL14gfCAkL2csIiIpLnRvTG93ZXJDYXNlKCkudG9VcHBlckNhc2UoKX12YXIgRjA9ZigoKT0+e3MoTnIsIm5vcm1hbGl6ZUlkZW50aWZpZXIiKX0pO2Z1bmN0aW9uIFJ5YSgpe3RoaXMuYnVmZmVyKCl9ZnVuY3Rpb24gT3lhKGEpe3RoaXMuZW50ZXIoe3R5cGU6ImZvb3Rub3RlUmVmZXJlbmNlIixpZGVudGlmaWVyOiIiLGxhYmVsOiIifSxhKX1mdW5jdGlvbiBGeWEoKXt0aGlzLmJ1ZmZlcigpfWZ1bmN0aW9uIEJ5YShhKXt0aGlzLmVudGVyKHt0eXBlOiJmb290bm90ZURlZmluaXRpb24iLGlkZW50aWZpZXI6IiIsbGFiZWw6IiIsY2hpbGRyZW46W119LGEpfWZ1bmN0aW9uIEh5YShhKXtsZXQgZT10aGlzLnJlc3VtZSgpLHQ9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTt0LnR5cGUsdC5pZGVudGlmaWVyPU5yKHRoaXMuc2xpY2VTZXJpYWxpemUoYSkpLnRvTG93ZXJDYXNlKCksdC5sYWJlbD1lfWZ1bmN0aW9uIHF5YShhKXt0aGlzLmV4aXQoYSl9ZnVuY3Rpb24gVnlhKGEpe2xldCBlPXRoaXMucmVzdW1lKCksdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO3QudHlwZSx0LmlkZW50aWZpZXI9TnIodGhpcy5zbGljZVNlcmlhbGl6ZShhKSkudG9Mb3dlckNhc2UoKSx0LmxhYmVsPWV9ZnVuY3Rpb24ganlhKGEpe3RoaXMuZXhpdChhKX1mdW5jdGlvbiBVeWEoKXtyZXR1cm4iWyJ9ZnVuY3Rpb24gd2R0KGEsZSx0LHIpe2xldCBpPXQuY3JlYXRlVHJhY2tlcihyKSxvPWkubW92ZSgiW14iKSxuPXQuZW50ZXIoImZvb3Rub3RlUmVmZXJlbmNlIiksbD10LmVudGVyKCJyZWZlcmVuY2UiKTtyZXR1cm4gbys9aS5tb3ZlKHQuc2FmZSh0LmFzc29jaWF0aW9uSWQoYSkse2FmdGVyOiJdIixiZWZvcmU6b30pKSxsKCksbigpLG8rPWkubW92ZSgiXSIpLG99ZnVuY3Rpb24gYTRlKCl7cmV0dXJue2VudGVyOntnZm1Gb290bm90ZUNhbGxTdHJpbmc6UnlhLGdmbUZvb3Rub3RlQ2FsbDpPeWEsZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmc6RnlhLGdmbUZvb3Rub3RlRGVmaW5pdGlvbjpCeWF9LGV4aXQ6e2dmbUZvb3Rub3RlQ2FsbFN0cmluZzpIeWEsZ2ZtRm9vdG5vdGVDYWxsOnF5YSxnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZzpWeWEsZ2ZtRm9vdG5vdGVEZWZpbml0aW9uOmp5YX19fWZ1bmN0aW9uIHI0ZShhKXtsZXQgZT0hMTtyZXR1cm4gYSYmYS5maXJzdExpbmVCbGFuayYmKGU9ITApLHtoYW5kbGVyczp7Zm9vdG5vdGVEZWZpbml0aW9uOnQsZm9vdG5vdGVSZWZlcmVuY2U6d2R0fSx1bnNhZmU6W3tjaGFyYWN0ZXI6IlsiLGluQ29uc3RydWN0OlsibGFiZWwiLCJwaHJhc2luZyIsInJlZmVyZW5jZSJdfV19O2Z1bmN0aW9uIHQocixpLG8sbil7bGV0IGw9by5jcmVhdGVUcmFja2VyKG4pLGQ9bC5tb3ZlKCJbXiIpLGM9by5lbnRlcigiZm9vdG5vdGVEZWZpbml0aW9uIikscD1vLmVudGVyKCJsYWJlbCIpO3JldHVybiBkKz1sLm1vdmUoby5zYWZlKG8uYXNzb2NpYXRpb25JZChyKSx7YmVmb3JlOmQsYWZ0ZXI6Il0ifSkpLHAoKSxkKz1sLm1vdmUoIl06Iiksci5jaGlsZHJlbiYmci5jaGlsZHJlbi5sZW5ndGg+MCYmKGwuc2hpZnQoNCksZCs9bC5tb3ZlKChlP2AKYDoiICIpK28uaW5kZW50TGluZXMoby5jb250YWluZXJGbG93KHIsbC5jdXJyZW50KCkpLGU/TWR0Old5YSkpKSxjKCksZH1zKHQsImZvb3Rub3RlRGVmaW5pdGlvbiIpfWZ1bmN0aW9uIFd5YShhLGUsdCl7cmV0dXJuIGU9PT0wP2E6TWR0KGEsZSx0KX1mdW5jdGlvbiBNZHQoYSxlLHQpe3JldHVybih0PyIiOiIgICAgIikrYX12YXIga2R0PWYoKCk9PntOMCgpO0YwKCk7d2R0LnBlZWs9VXlhO3MoUnlhLCJlbnRlckZvb3Rub3RlQ2FsbFN0cmluZyIpO3MoT3lhLCJlbnRlckZvb3Rub3RlQ2FsbCIpO3MoRnlhLCJlbnRlckZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsU3RyaW5nIik7cyhCeWEsImVudGVyRm9vdG5vdGVEZWZpbml0aW9uIik7cyhIeWEsImV4aXRGb290bm90ZUNhbGxTdHJpbmciKTtzKHF5YSwiZXhpdEZvb3Rub3RlQ2FsbCIpO3MoVnlhLCJleGl0Rm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmciKTtzKGp5YSwiZXhpdEZvb3Rub3RlRGVmaW5pdGlvbiIpO3MoVXlhLCJmb290bm90ZVJlZmVyZW5jZVBlZWsiKTtzKHdkdCwiZm9vdG5vdGVSZWZlcmVuY2UiKTtzKGE0ZSwiZ2ZtRm9vdG5vdGVGcm9tTWFya2Rvd24iKTtzKHI0ZSwiZ2ZtRm9vdG5vdGVUb01hcmtkb3duIik7cyhXeWEsIm1hcEV4Y2VwdEZpcnN0Iik7cyhNZHQsIm1hcEFsbCIpfSk7dmFyIFNkdD1mKCgpPT57a2R0KCl9KTtmdW5jdGlvbiBzNGUoKXtyZXR1cm57Y2FuQ29udGFpbkVvbHM6WyJkZWxldGUiXSxlbnRlcjp7c3RyaWtldGhyb3VnaDpZeWF9LGV4aXQ6e3N0cmlrZXRocm91Z2g6S3lhfX19ZnVuY3Rpb24gaTRlKCl7cmV0dXJue3Vuc2FmZTpbe2NoYXJhY3RlcjoifiIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpHeWF9XSxoYW5kbGVyczp7ZGVsZXRlOnpkdH19fWZ1bmN0aW9uIFl5YShhKXt0aGlzLmVudGVyKHt0eXBlOiJkZWxldGUiLGNoaWxkcmVuOltdfSxhKX1mdW5jdGlvbiBLeWEoYSl7dGhpcy5leGl0KGEpfWZ1bmN0aW9uIHpkdChhLGUsdCxyKXtsZXQgaT10LmNyZWF0ZVRyYWNrZXIociksbz10LmVudGVyKCJzdHJpa2V0aHJvdWdoIiksbj1pLm1vdmUoIn5+Iik7cmV0dXJuIG4rPXQuY29udGFpbmVyUGhyYXNpbmcoYSx7Li4uaS5jdXJyZW50KCksYmVmb3JlOm4sYWZ0ZXI6In4ifSksbis9aS5tb3ZlKCJ+fiIpLG8oKSxufWZ1bmN0aW9uIFp5YSgpe3JldHVybiJ+In12YXIgR3lhLENkdD1mKCgpPT57R3lhPVsiYXV0b2xpbmsiLCJkZXN0aW5hdGlvbkxpdGVyYWwiLCJkZXN0aW5hdGlvblJhdyIsInJlZmVyZW5jZSIsInRpdGxlUXVvdGUiLCJ0aXRsZUFwb3N0cm9waGUiXTt6ZHQucGVlaz1aeWE7cyhzNGUsImdmbVN0cmlrZXRocm91Z2hGcm9tTWFya2Rvd24iKTtzKGk0ZSwiZ2ZtU3RyaWtldGhyb3VnaFRvTWFya2Rvd24iKTtzKFl5YSwiZW50ZXJTdHJpa2V0aHJvdWdoIik7cyhLeWEsImV4aXRTdHJpa2V0aHJvdWdoIik7cyh6ZHQsImhhbmRsZURlbGV0ZSIpO3MoWnlhLCJwZWVrRGVsZXRlIil9KTt2YXIgX2R0PWYoKCk9PntDZHQoKX0pO2Z1bmN0aW9uIFh5YShhKXtyZXR1cm4gYS5sZW5ndGh9ZnVuY3Rpb24gTGR0KGEsZSl7bGV0IHQ9ZXx8e30scj0odC5hbGlnbnx8W10pLmNvbmNhdCgpLGk9dC5zdHJpbmdMZW5ndGh8fFh5YSxvPVtdLG49W10sbD1bXSxkPVtdLGM9MCxwPS0xO2Zvcig7KytwPGEubGVuZ3RoOyl7bGV0IGI9W10sZz1bXSx5PS0xO2ZvcihhW3BdLmxlbmd0aD5jJiYoYz1hW3BdLmxlbmd0aCk7Kyt5PGFbcF0ubGVuZ3RoOyl7bGV0IGs9UXlhKGFbcF1beV0pO2lmKHQuYWxpZ25EZWxpbWl0ZXJzIT09ITEpe2xldCBDPWkoayk7Z1t5XT1DLChkW3ldPT09dm9pZCAwfHxDPmRbeV0pJiYoZFt5XT1DKX1iLnB1c2goayl9bltwXT1iLGxbcF09Z31sZXQgdT0tMTtpZih0eXBlb2Ygcj09Im9iamVjdCImJiJsZW5ndGgiaW4gcilmb3IoOysrdTxjOylvW3VdPVRkdChyW3VdKTtlbHNle2xldCBiPVRkdChyKTtmb3IoOysrdTxjOylvW3VdPWJ9dT0tMTtsZXQgbT1bXSx2PVtdO2Zvcig7Kyt1PGM7KXtsZXQgYj1vW3VdLGc9IiIseT0iIjtiPT09OTk/KGc9IjoiLHk9IjoiKTpiPT09MTA4P2c9IjoiOmI9PT0xMTQmJih5PSI6Iik7bGV0IGs9dC5hbGlnbkRlbGltaXRlcnM9PT0hMT8xOk1hdGgubWF4KDEsZFt1XS1nLmxlbmd0aC15Lmxlbmd0aCksQz1nKyItIi5yZXBlYXQoaykreTt0LmFsaWduRGVsaW1pdGVycyE9PSExJiYoaz1nLmxlbmd0aCtrK3kubGVuZ3RoLGs+ZFt1XSYmKGRbdV09ayksdlt1XT1rKSxtW3VdPUN9bi5zcGxpY2UoMSwwLG0pLGwuc3BsaWNlKDEsMCx2KSxwPS0xO2xldCB4PVtdO2Zvcig7KytwPG4ubGVuZ3RoOyl7bGV0IGI9bltwXSxnPWxbcF07dT0tMTtsZXQgeT1bXTtmb3IoOysrdTxjOyl7bGV0IGs9Ylt1XXx8IiIsQz0iIixOPSIiO2lmKHQuYWxpZ25EZWxpbWl0ZXJzIT09ITEpe2xldCBfPWRbdV0tKGdbdV18fDApLHo9b1t1XTt6PT09MTE0P0M9IiAiLnJlcGVhdChfKTp6PT09OTk/XyUyPyhDPSIgIi5yZXBlYXQoXy8yKy41KSxOPSIgIi5yZXBlYXQoXy8yLS41KSk6KEM9IiAiLnJlcGVhdChfLzIpLE49Qyk6Tj0iICIucmVwZWF0KF8pfXQuZGVsaW1pdGVyU3RhcnQhPT0hMSYmIXUmJnkucHVzaCgifCIpLHQucGFkZGluZyE9PSExJiYhKHQuYWxpZ25EZWxpbWl0ZXJzPT09ITEmJms9PT0iIikmJih0LmRlbGltaXRlclN0YXJ0IT09ITF8fHUpJiZ5LnB1c2goIiAiKSx0LmFsaWduRGVsaW1pdGVycyE9PSExJiZ5LnB1c2goQykseS5wdXNoKGspLHQuYWxpZ25EZWxpbWl0ZXJzIT09ITEmJnkucHVzaChOKSx0LnBhZGRpbmchPT0hMSYmeS5wdXNoKCIgIiksKHQuZGVsaW1pdGVyRW5kIT09ITF8fHUhPT1jLTEpJiZ5LnB1c2goInwiKX14LnB1c2godC5kZWxpbWl0ZXJFbmQ9PT0hMT95LmpvaW4oIiIpLnJlcGxhY2UoLyArJC8sIiIpOnkuam9pbigiIikpfXJldHVybiB4LmpvaW4oYApgKX1mdW5jdGlvbiBReWEoYSl7cmV0dXJuIGE9PW51bGw/IiI6U3RyaW5nKGEpfWZ1bmN0aW9uIFRkdChhKXtsZXQgZT10eXBlb2YgYT09InN0cmluZyI/YS5jb2RlUG9pbnRBdCgwKTowO3JldHVybiBlPT09Njd8fGU9PT05OT85OTplPT09NzZ8fGU9PT0xMDg/MTA4OmU9PT04Mnx8ZT09PTExND8xMTQ6MH12YXIgJGR0PWYoKCk9PntzKFh5YSwiZGVmYXVsdFN0cmluZ0xlbmd0aCIpO3MoTGR0LCJtYXJrZG93blRhYmxlIik7cyhReWEsInNlcmlhbGl6ZSIpO3MoVGR0LCJ0b0FsaWdubWVudCIpfSk7ZnVuY3Rpb24gZ1EoYSxlKXtsZXQgdD1lfHx7fTtmdW5jdGlvbiByKGksLi4ubyl7bGV0IG49ci5pbnZhbGlkLGw9ci5oYW5kbGVycztpZihpJiZEZHQuY2FsbChpLGEpKXtsZXQgZD1TdHJpbmcoaVthXSk7bj1EZHQuY2FsbChsLGQpP2xbZF06ci51bmtub3dufWlmKG4pcmV0dXJuIG4uY2FsbCh0aGlzLGksLi4ubyl9cmV0dXJuIHMociwib25lIiksci5oYW5kbGVycz10LmhhbmRsZXJzfHx7fSxyLmludmFsaWQ9dC5pbnZhbGlkLHIudW5rbm93bj10LnVua25vd24scn12YXIgRGR0LG80ZT1mKCgpPT57RGR0PXt9Lmhhc093blByb3BlcnR5O3MoZ1EsInp3aXRjaCIpfSk7ZnVuY3Rpb24gbjRlKGEsZSl7bGV0IHQ9LTEscjtpZihlLmV4dGVuc2lvbnMpZm9yKDsrK3Q8ZS5leHRlbnNpb25zLmxlbmd0aDspbjRlKGEsZS5leHRlbnNpb25zW3RdKTtmb3IociBpbiBlKWlmKEp5YS5jYWxsKGUscikpc3dpdGNoKHIpe2Nhc2UiZXh0ZW5zaW9ucyI6YnJlYWs7Y2FzZSJ1bnNhZmUiOntBZHQoYVtyXSxlW3JdKTticmVha31jYXNlImpvaW4iOntBZHQoYVtyXSxlW3JdKTticmVha31jYXNlImhhbmRsZXJzIjp7ZXdhKGFbcl0sZVtyXSk7YnJlYWt9ZGVmYXVsdDphLm9wdGlvbnNbcl09ZVtyXX1yZXR1cm4gYX1mdW5jdGlvbiBBZHQoYSxlKXtlJiZhLnB1c2goLi4uZSl9ZnVuY3Rpb24gZXdhKGEsZSl7ZSYmT2JqZWN0LmFzc2lnbihhLGUpfXZhciBKeWEsUGR0PWYoKCk9PntKeWE9e30uaGFzT3duUHJvcGVydHk7cyhuNGUsImNvbmZpZ3VyZSIpO3MoQWR0LCJsaXN0Iik7cyhld2EsIm1hcCIpfSk7ZnVuY3Rpb24gRWR0KGEsZSx0LHIpe2xldCBpPXQuZW50ZXIoImJsb2NrcXVvdGUiKSxvPXQuY3JlYXRlVHJhY2tlcihyKTtvLm1vdmUoIj4gIiksby5zaGlmdCgyKTtsZXQgbj10LmluZGVudExpbmVzKHQuY29udGFpbmVyRmxvdyhhLG8uY3VycmVudCgpKSx0d2EpO3JldHVybiBpKCksbn1mdW5jdGlvbiB0d2EoYSxlLHQpe3JldHVybiI+IisodD8iIjoiICIpK2F9dmFyIElkdD1mKCgpPT57cyhFZHQsImJsb2NrcXVvdGUiKTtzKHR3YSwibWFwIil9KTtmdW5jdGlvbiBiUShhLGUpe3JldHVybiBOZHQoYSxlLmluQ29uc3RydWN0LCEwKSYmIU5kdChhLGUubm90SW5Db25zdHJ1Y3QsITEpfWZ1bmN0aW9uIE5kdChhLGUsdCl7aWYodHlwZW9mIGU9PSJzdHJpbmciJiYoZT1bZV0pLCFlfHxlLmxlbmd0aD09PTApcmV0dXJuIHQ7bGV0IHI9LTE7Zm9yKDsrK3I8ZS5sZW5ndGg7KWlmKGEuaW5jbHVkZXMoZVtyXSkpcmV0dXJuITA7cmV0dXJuITF9dmFyIGw0ZT1mKCgpPT57cyhiUSwicGF0dGVybkluU2NvcGUiKTtzKE5kdCwibGlzdEluU2NvcGUiKX0pO2Z1bmN0aW9uIGM0ZShhLGUsdCxyKXtsZXQgaT0tMTtmb3IoOysraTx0LnVuc2FmZS5sZW5ndGg7KWlmKHQudW5zYWZlW2ldLmNoYXJhY3Rlcj09PWAKYCYmYlEodC5zdGFjayx0LnVuc2FmZVtpXSkpcmV0dXJuL1sgXHRdLy50ZXN0KHIuYmVmb3JlKT8iIjoiICI7cmV0dXJuYFxcCmB9dmFyIFJkdD1mKCgpPT57bDRlKCk7cyhjNGUsImhhcmRCcmVhayIpfSk7ZnVuY3Rpb24gT2R0KGEsZSl7bGV0IHQ9U3RyaW5nKGEpLHI9dC5pbmRleE9mKGUpLGk9cixvPTAsbj0wO2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBzdWJzdHJpbmciKTtmb3IoO3IhPT0tMTspcj09PWk/KytvPm4mJihuPW8pOm89MSxpPXIrZS5sZW5ndGgscj10LmluZGV4T2YoZSxpKTtyZXR1cm4gbn12YXIgRmR0PWYoKCk9PntzKE9kdCwibG9uZ2VzdFN0cmVhayIpfSk7ZnVuY3Rpb24gcWcoYSxlKXtyZXR1cm4hIShlLm9wdGlvbnMuZmVuY2VzPT09ITEmJmEudmFsdWUmJiFhLmxhbmcmJi9bXiBcclxuXS8udGVzdChhLnZhbHVlKSYmIS9eW1x0IF0qKD86W1xyXG5dfCQpfCg/Ol58W1xyXG5dKVtcdCBdKiQvLnRlc3QoYS52YWx1ZSkpfXZhciBkNGU9ZigoKT0+e3MocWcsImZvcm1hdENvZGVBc0luZGVudGVkIil9KTtmdW5jdGlvbiBCZHQoYSl7bGV0IGU9YS5vcHRpb25zLmZlbmNlfHwiYCI7aWYoZSE9PSJgIiYmZSE9PSJ+Iil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgY29kZSB3aXRoIGAiK2UrImAgZm9yIGBvcHRpb25zLmZlbmNlYCwgZXhwZWN0ZWQgYGAgYCBgYCBvciBgfmAiKTtyZXR1cm4gZX12YXIgSGR0PWYoKCk9PntzKEJkdCwiY2hlY2tGZW5jZSIpfSk7ZnVuY3Rpb24gcWR0KGEsZSx0LHIpe2xldCBpPUJkdCh0KSxvPWEudmFsdWV8fCIiLG49aT09PSJgIj8iR3JhdmVBY2NlbnQiOiJUaWxkZSI7aWYocWcoYSx0KSl7bGV0IHU9dC5lbnRlcigiY29kZUluZGVudGVkIiksbT10LmluZGVudExpbmVzKG8sYXdhKTtyZXR1cm4gdSgpLG19bGV0IGw9dC5jcmVhdGVUcmFja2VyKHIpLGQ9aS5yZXBlYXQoTWF0aC5tYXgoT2R0KG8saSkrMSwzKSksYz10LmVudGVyKCJjb2RlRmVuY2VkIikscD1sLm1vdmUoZCk7aWYoYS5sYW5nKXtsZXQgdT10LmVudGVyKGBjb2RlRmVuY2VkTGFuZyR7bn1gKTtwKz1sLm1vdmUodC5zYWZlKGEubGFuZyx7YmVmb3JlOnAsYWZ0ZXI6IiAiLGVuY29kZTpbImAiXSwuLi5sLmN1cnJlbnQoKX0pKSx1KCl9aWYoYS5sYW5nJiZhLm1ldGEpe2xldCB1PXQuZW50ZXIoYGNvZGVGZW5jZWRNZXRhJHtufWApO3ArPWwubW92ZSgiICIpLHArPWwubW92ZSh0LnNhZmUoYS5tZXRhLHtiZWZvcmU6cCxhZnRlcjpgCmAsZW5jb2RlOlsiYCJdLC4uLmwuY3VycmVudCgpfSkpLHUoKX1yZXR1cm4gcCs9bC5tb3ZlKGAKYCksbyYmKHArPWwubW92ZShvK2AKYCkpLHArPWwubW92ZShkKSxjKCkscH1mdW5jdGlvbiBhd2EoYSxlLHQpe3JldHVybih0PyIiOiIgICAgIikrYX12YXIgVmR0PWYoKCk9PntGZHQoKTtkNGUoKTtIZHQoKTtzKHFkdCwiY29kZSIpO3MoYXdhLCJtYXAiKX0pO2Z1bmN0aW9uIGc4KGEpe2xldCBlPWEub3B0aW9ucy5xdW90ZXx8JyInO2lmKGUhPT0nIicmJmUhPT0iJyIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIHRpdGxlIHdpdGggYCIrZSsiYCBmb3IgYG9wdGlvbnMucXVvdGVgLCBleHBlY3RlZCBgXCJgLCBvciBgJ2AiKTtyZXR1cm4gZX12YXIgdlE9ZigoKT0+e3MoZzgsImNoZWNrUXVvdGUiKX0pO2Z1bmN0aW9uIGpkdChhLGUsdCxyKXtsZXQgaT1nOCh0KSxvPWk9PT0nIic/IlF1b3RlIjoiQXBvc3Ryb3BoZSIsbj10LmVudGVyKCJkZWZpbml0aW9uIiksbD10LmVudGVyKCJsYWJlbCIpLGQ9dC5jcmVhdGVUcmFja2VyKHIpLGM9ZC5tb3ZlKCJbIik7cmV0dXJuIGMrPWQubW92ZSh0LnNhZmUodC5hc3NvY2lhdGlvbklkKGEpLHtiZWZvcmU6YyxhZnRlcjoiXSIsLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKCJdOiAiKSxsKCksIWEudXJsfHwvW1wwLSBcdTAwN0ZdLy50ZXN0KGEudXJsKT8obD10LmVudGVyKCJkZXN0aW5hdGlvbkxpdGVyYWwiKSxjKz1kLm1vdmUoIjwiKSxjKz1kLm1vdmUodC5zYWZlKGEudXJsLHtiZWZvcmU6YyxhZnRlcjoiPiIsLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKCI+IikpOihsPXQuZW50ZXIoImRlc3RpbmF0aW9uUmF3IiksYys9ZC5tb3ZlKHQuc2FmZShhLnVybCx7YmVmb3JlOmMsYWZ0ZXI6YS50aXRsZT8iICI6YApgLC4uLmQuY3VycmVudCgpfSkpKSxsKCksYS50aXRsZSYmKGw9dC5lbnRlcihgdGl0bGUke299YCksYys9ZC5tb3ZlKCIgIitpKSxjKz1kLm1vdmUodC5zYWZlKGEudGl0bGUse2JlZm9yZTpjLGFmdGVyOmksLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKGkpLGwoKSksbigpLGN9dmFyIFVkdD1mKCgpPT57dlEoKTtzKGpkdCwiZGVmaW5pdGlvbiIpfSk7ZnVuY3Rpb24gV2R0KGEpe2xldCBlPWEub3B0aW9ucy5lbXBoYXNpc3x8IioiO2lmKGUhPT0iKiImJmUhPT0iXyIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIGVtcGhhc2lzIHdpdGggYCIrZSsiYCBmb3IgYG9wdGlvbnMuZW1waGFzaXNgLCBleHBlY3RlZCBgKmAsIG9yIGBfYCIpO3JldHVybiBlfXZhciBHZHQ9ZigoKT0+e3MoV2R0LCJjaGVja0VtcGhhc2lzIil9KTtmdW5jdGlvbiBabyhhKXtyZXR1cm4iJiN4IithLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpKyI7In12YXIgYjg9ZigoKT0+e3MoWm8sImVuY29kZUNoYXJhY3RlclJlZmVyZW5jZSIpfSk7ZnVuY3Rpb24gQmwoYSl7aWYoYT09PW51bGx8fHVhKGEpfHxBMihhKSlyZXR1cm4gMTtpZihCMyhhKSlyZXR1cm4gMn12YXIgeFE9ZigoKT0+e2JhKCk7cyhCbCwiY2xhc3NpZnlDaGFyYWN0ZXIiKX0pO2Z1bmN0aW9uIHY4KGEsZSx0KXtsZXQgcj1CbChhKSxpPUJsKGUpO3JldHVybiByPT09dm9pZCAwP2k9PT12b2lkIDA/dD09PSJfIj97aW5zaWRlOiEwLG91dHNpZGU6ITB9OntpbnNpZGU6ITEsb3V0c2lkZTohMX06aT09PTE/e2luc2lkZTohMCxvdXRzaWRlOiEwfTp7aW5zaWRlOiExLG91dHNpZGU6ITB9OnI9PT0xP2k9PT12b2lkIDA/e2luc2lkZTohMSxvdXRzaWRlOiExfTppPT09MT97aW5zaWRlOiEwLG91dHNpZGU6ITB9OntpbnNpZGU6ITEsb3V0c2lkZTohMX06aT09PXZvaWQgMD97aW5zaWRlOiExLG91dHNpZGU6ITF9Omk9PT0xP3tpbnNpZGU6ITAsb3V0c2lkZTohMX06e2luc2lkZTohMSxvdXRzaWRlOiExfX12YXIgdTRlPWYoKCk9Pnt4USgpO3ModjgsImVuY29kZUluZm8iKX0pO2Z1bmN0aW9uIHA0ZShhLGUsdCxyKXtsZXQgaT1XZHQodCksbz10LmVudGVyKCJlbXBoYXNpcyIpLG49dC5jcmVhdGVUcmFja2VyKHIpLGw9bi5tb3ZlKGkpLGQ9bi5tb3ZlKHQuY29udGFpbmVyUGhyYXNpbmcoYSx7YWZ0ZXI6aSxiZWZvcmU6bCwuLi5uLmN1cnJlbnQoKX0pKSxjPWQuY2hhckNvZGVBdCgwKSxwPXY4KHIuYmVmb3JlLmNoYXJDb2RlQXQoci5iZWZvcmUubGVuZ3RoLTEpLGMsaSk7cC5pbnNpZGUmJihkPVpvKGMpK2Quc2xpY2UoMSkpO2xldCB1PWQuY2hhckNvZGVBdChkLmxlbmd0aC0xKSxtPXY4KHIuYWZ0ZXIuY2hhckNvZGVBdCgwKSx1LGkpO20uaW5zaWRlJiYoZD1kLnNsaWNlKDAsLTEpK1pvKHUpKTtsZXQgdj1uLm1vdmUoaSk7cmV0dXJuIG8oKSx0LmF0dGVudGlvbkVuY29kZVN1cnJvdW5kaW5nSW5mbz17YWZ0ZXI6bS5vdXRzaWRlLGJlZm9yZTpwLm91dHNpZGV9LGwrZCt2fWZ1bmN0aW9uIHJ3YShhLGUsdCl7cmV0dXJuIHQub3B0aW9ucy5lbXBoYXNpc3x8IioifXZhciBZZHQ9ZigoKT0+e0dkdCgpO2I4KCk7dTRlKCk7cDRlLnBlZWs9cndhO3MocDRlLCJlbXBoYXNpcyIpO3MocndhLCJlbXBoYXNpc1BlZWsiKX0pO2Z1bmN0aW9uIFZnKGEsZSx0LHIpe2xldCBpLG8sbjt0eXBlb2YgZT09ImZ1bmN0aW9uIiYmdHlwZW9mIHQhPSJmdW5jdGlvbiI/KG89dm9pZCAwLG49ZSxpPXQpOihvPWUsbj10LGk9ciksSGcoYSxvLGwsaSk7ZnVuY3Rpb24gbChkLGMpe2xldCBwPWNbYy5sZW5ndGgtMV0sdT1wP3AuY2hpbGRyZW4uaW5kZXhPZihkKTp2b2lkIDA7cmV0dXJuIG4oZCx1LHApfXMobCwib3ZlcmxvYWQiKX12YXIgS2R0PWYoKCk9PnttUSgpO21RKCk7cyhWZywidmlzaXQiKX0pO3ZhciBmNGU9ZigoKT0+e0tkdCgpfSk7ZnVuY3Rpb24gcTMoYSxlKXtsZXQgdD1lfHxzd2Escj10eXBlb2YgdC5pbmNsdWRlSW1hZ2VBbHQ9PSJib29sZWFuIj90LmluY2x1ZGVJbWFnZUFsdDohMCxpPXR5cGVvZiB0LmluY2x1ZGVIdG1sPT0iYm9vbGVhbiI/dC5pbmNsdWRlSHRtbDohMDtyZXR1cm4gWmR0KGEscixpKX1mdW5jdGlvbiBaZHQoYSxlLHQpe2lmKGl3YShhKSl7aWYoInZhbHVlImluIGEpcmV0dXJuIGEudHlwZT09PSJodG1sIiYmIXQ/IiI6YS52YWx1ZTtpZihlJiYiYWx0ImluIGEmJmEuYWx0KXJldHVybiBhLmFsdDtpZigiY2hpbGRyZW4iaW4gYSlyZXR1cm4gWGR0KGEuY2hpbGRyZW4sZSx0KX1yZXR1cm4gQXJyYXkuaXNBcnJheShhKT9YZHQoYSxlLHQpOiIifWZ1bmN0aW9uIFhkdChhLGUsdCl7bGV0IHI9W10saT0tMTtmb3IoOysraTxhLmxlbmd0aDspcltpXT1aZHQoYVtpXSxlLHQpO3JldHVybiByLmpvaW4oIiIpfWZ1bmN0aW9uIGl3YShhKXtyZXR1cm4hIShhJiZ0eXBlb2YgYT09Im9iamVjdCIpfXZhciBzd2EsUWR0PWYoKCk9Pntzd2E9e307cyhxMywidG9TdHJpbmciKTtzKFpkdCwib25lIik7cyhYZHQsImFsbCIpO3MoaXdhLCJub2RlIil9KTt2YXIgeVE9ZigoKT0+e1FkdCgpfSk7ZnVuY3Rpb24gd1EoYSxlKXtsZXQgdD0hMTtyZXR1cm4gVmcoYSxmdW5jdGlvbihyKXtpZigidmFsdWUiaW4gciYmL1xyP1xufFxyLy50ZXN0KHIudmFsdWUpfHxyLnR5cGU9PT0iYnJlYWsiKXJldHVybiB0PSEwLEgzfSksISEoKCFhLmRlcHRofHxhLmRlcHRoPDMpJiZxMyhhKSYmKGUub3B0aW9ucy5zZXRleHR8fHQpKX12YXIgaDRlPWYoKCk9PntmNGUoKTt5USgpO3Mod1EsImZvcm1hdEhlYWRpbmdBc1NldGV4dCIpfSk7ZnVuY3Rpb24gSmR0KGEsZSx0LHIpe2xldCBpPU1hdGgubWF4KE1hdGgubWluKDYsYS5kZXB0aHx8MSksMSksbz10LmNyZWF0ZVRyYWNrZXIocik7aWYod1EoYSx0KSl7bGV0IHA9dC5lbnRlcigiaGVhZGluZ1NldGV4dCIpLHU9dC5lbnRlcigicGhyYXNpbmciKSxtPXQuY29udGFpbmVyUGhyYXNpbmcoYSx7Li4uby5jdXJyZW50KCksYmVmb3JlOmAKYCxhZnRlcjpgCmB9KTtyZXR1cm4gdSgpLHAoKSxtK2AKYCsoaT09PTE/Ij0iOiItIikucmVwZWF0KG0ubGVuZ3RoLShNYXRoLm1heChtLmxhc3RJbmRleE9mKCJcciIpLG0ubGFzdEluZGV4T2YoYApgKSkrMSkpfWxldCBuPSIjIi5yZXBlYXQoaSksbD10LmVudGVyKCJoZWFkaW5nQXR4IiksZD10LmVudGVyKCJwaHJhc2luZyIpO28ubW92ZShuKyIgIik7bGV0IGM9dC5jb250YWluZXJQaHJhc2luZyhhLHtiZWZvcmU6IiMgIixhZnRlcjpgCmAsLi4uby5jdXJyZW50KCl9KTtyZXR1cm4vXltcdCBdLy50ZXN0KGMpJiYoYz1abyhjLmNoYXJDb2RlQXQoMCkpK2Muc2xpY2UoMSkpLGM9Yz9uKyIgIitjOm4sdC5vcHRpb25zLmNsb3NlQXR4JiYoYys9IiAiK24pLGQoKSxsKCksY312YXIgZTZ0PWYoKCk9PntiOCgpO2g0ZSgpO3MoSmR0LCJoZWFkaW5nIil9KTtmdW5jdGlvbiBtNGUoYSl7cmV0dXJuIGEudmFsdWV8fCIifWZ1bmN0aW9uIG93YSgpe3JldHVybiI8In12YXIgdDZ0PWYoKCk9PnttNGUucGVlaz1vd2E7cyhtNGUsImh0bWwiKTtzKG93YSwiaHRtbFBlZWsiKX0pO2Z1bmN0aW9uIGc0ZShhLGUsdCxyKXtsZXQgaT1nOCh0KSxvPWk9PT0nIic/IlF1b3RlIjoiQXBvc3Ryb3BoZSIsbj10LmVudGVyKCJpbWFnZSIpLGw9dC5lbnRlcigibGFiZWwiKSxkPXQuY3JlYXRlVHJhY2tlcihyKSxjPWQubW92ZSgiIVsiKTtyZXR1cm4gYys9ZC5tb3ZlKHQuc2FmZShhLmFsdCx7YmVmb3JlOmMsYWZ0ZXI6Il0iLC4uLmQuY3VycmVudCgpfSkpLGMrPWQubW92ZSgiXSgiKSxsKCksIWEudXJsJiZhLnRpdGxlfHwvW1wwLSBcdTAwN0ZdLy50ZXN0KGEudXJsKT8obD10LmVudGVyKCJkZXN0aW5hdGlvbkxpdGVyYWwiKSxjKz1kLm1vdmUoIjwiKSxjKz1kLm1vdmUodC5zYWZlKGEudXJsLHtiZWZvcmU6YyxhZnRlcjoiPiIsLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKCI+IikpOihsPXQuZW50ZXIoImRlc3RpbmF0aW9uUmF3IiksYys9ZC5tb3ZlKHQuc2FmZShhLnVybCx7YmVmb3JlOmMsYWZ0ZXI6YS50aXRsZT8iICI6IikiLC4uLmQuY3VycmVudCgpfSkpKSxsKCksYS50aXRsZSYmKGw9dC5lbnRlcihgdGl0bGUke299YCksYys9ZC5tb3ZlKCIgIitpKSxjKz1kLm1vdmUodC5zYWZlKGEudGl0bGUse2JlZm9yZTpjLGFmdGVyOmksLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKGkpLGwoKSksYys9ZC5tb3ZlKCIpIiksbigpLGN9ZnVuY3Rpb24gbndhKCl7cmV0dXJuIiEifXZhciBhNnQ9ZigoKT0+e3ZRKCk7ZzRlLnBlZWs9bndhO3MoZzRlLCJpbWFnZSIpO3MobndhLCJpbWFnZVBlZWsiKX0pO2Z1bmN0aW9uIGI0ZShhLGUsdCxyKXtsZXQgaT1hLnJlZmVyZW5jZVR5cGUsbz10LmVudGVyKCJpbWFnZVJlZmVyZW5jZSIpLG49dC5lbnRlcigibGFiZWwiKSxsPXQuY3JlYXRlVHJhY2tlcihyKSxkPWwubW92ZSgiIVsiKSxjPXQuc2FmZShhLmFsdCx7YmVmb3JlOmQsYWZ0ZXI6Il0iLC4uLmwuY3VycmVudCgpfSk7ZCs9bC5tb3ZlKGMrIl1bIiksbigpO2xldCBwPXQuc3RhY2s7dC5zdGFjaz1bXSxuPXQuZW50ZXIoInJlZmVyZW5jZSIpO2xldCB1PXQuc2FmZSh0LmFzc29jaWF0aW9uSWQoYSkse2JlZm9yZTpkLGFmdGVyOiJdIiwuLi5sLmN1cnJlbnQoKX0pO3JldHVybiBuKCksdC5zdGFjaz1wLG8oKSxpPT09ImZ1bGwifHwhY3x8YyE9PXU/ZCs9bC5tb3ZlKHUrIl0iKTppPT09InNob3J0Y3V0Ij9kPWQuc2xpY2UoMCwtMSk6ZCs9bC5tb3ZlKCJdIiksZH1mdW5jdGlvbiBsd2EoKXtyZXR1cm4iISJ9dmFyIHI2dD1mKCgpPT57YjRlLnBlZWs9bHdhO3MoYjRlLCJpbWFnZVJlZmVyZW5jZSIpO3MobHdhLCJpbWFnZVJlZmVyZW5jZVBlZWsiKX0pO2Z1bmN0aW9uIHY0ZShhLGUsdCl7bGV0IHI9YS52YWx1ZXx8IiIsaT0iYCIsbz0tMTtmb3IoO25ldyBSZWdFeHAoIihefFteYF0pIitpKyIoW15gXXwkKSIpLnRlc3Qocik7KWkrPSJgIjtmb3IoL1teIFxyXG5dLy50ZXN0KHIpJiYoL15bIFxyXG5dLy50ZXN0KHIpJiYvWyBcclxuXSQvLnRlc3Qocil8fC9eYHxgJC8udGVzdChyKSkmJihyPSIgIityKyIgIik7KytvPHQudW5zYWZlLmxlbmd0aDspe2xldCBuPXQudW5zYWZlW29dLGw9dC5jb21waWxlUGF0dGVybihuKSxkO2lmKG4uYXRCcmVhaylmb3IoO2Q9bC5leGVjKHIpOyl7bGV0IGM9ZC5pbmRleDtyLmNoYXJDb2RlQXQoYyk9PT0xMCYmci5jaGFyQ29kZUF0KGMtMSk9PT0xMyYmYy0tLHI9ci5zbGljZSgwLGMpKyIgIityLnNsaWNlKGQuaW5kZXgrMSl9fXJldHVybiBpK3IraX1mdW5jdGlvbiBjd2EoKXtyZXR1cm4iYCJ9dmFyIHM2dD1mKCgpPT57djRlLnBlZWs9Y3dhO3ModjRlLCJpbmxpbmVDb2RlIik7cyhjd2EsImlubGluZUNvZGVQZWVrIil9KTtmdW5jdGlvbiB4NGUoYSxlKXtsZXQgdD1xMyhhKTtyZXR1cm4hISghZS5vcHRpb25zLnJlc291cmNlTGluayYmYS51cmwmJiFhLnRpdGxlJiZhLmNoaWxkcmVuJiZhLmNoaWxkcmVuLmxlbmd0aD09PTEmJmEuY2hpbGRyZW5bMF0udHlwZT09PSJ0ZXh0IiYmKHQ9PT1hLnVybHx8Im1haWx0bzoiK3Q9PT1hLnVybCkmJi9eW2Etel1bYS16Ky4tXSs6L2kudGVzdChhLnVybCkmJiEvW1wwLSA8Plx1MDA3Rl0vLnRlc3QoYS51cmwpKX12YXIgaTZ0PWYoKCk9Pnt5USgpO3MoeDRlLCJmb3JtYXRMaW5rQXNBdXRvbGluayIpfSk7ZnVuY3Rpb24geTRlKGEsZSx0LHIpe2xldCBpPWc4KHQpLG89aT09PSciJz8iUXVvdGUiOiJBcG9zdHJvcGhlIixuPXQuY3JlYXRlVHJhY2tlcihyKSxsLGQ7aWYoeDRlKGEsdCkpe2xldCBwPXQuc3RhY2s7dC5zdGFjaz1bXSxsPXQuZW50ZXIoImF1dG9saW5rIik7bGV0IHU9bi5tb3ZlKCI8Iik7cmV0dXJuIHUrPW4ubW92ZSh0LmNvbnRhaW5lclBocmFzaW5nKGEse2JlZm9yZTp1LGFmdGVyOiI+IiwuLi5uLmN1cnJlbnQoKX0pKSx1Kz1uLm1vdmUoIj4iKSxsKCksdC5zdGFjaz1wLHV9bD10LmVudGVyKCJsaW5rIiksZD10LmVudGVyKCJsYWJlbCIpO2xldCBjPW4ubW92ZSgiWyIpO3JldHVybiBjKz1uLm1vdmUodC5jb250YWluZXJQaHJhc2luZyhhLHtiZWZvcmU6YyxhZnRlcjoiXSgiLC4uLm4uY3VycmVudCgpfSkpLGMrPW4ubW92ZSgiXSgiKSxkKCksIWEudXJsJiZhLnRpdGxlfHwvW1wwLSBcdTAwN0ZdLy50ZXN0KGEudXJsKT8oZD10LmVudGVyKCJkZXN0aW5hdGlvbkxpdGVyYWwiKSxjKz1uLm1vdmUoIjwiKSxjKz1uLm1vdmUodC5zYWZlKGEudXJsLHtiZWZvcmU6YyxhZnRlcjoiPiIsLi4ubi5jdXJyZW50KCl9KSksYys9bi5tb3ZlKCI+IikpOihkPXQuZW50ZXIoImRlc3RpbmF0aW9uUmF3IiksYys9bi5tb3ZlKHQuc2FmZShhLnVybCx7YmVmb3JlOmMsYWZ0ZXI6YS50aXRsZT8iICI6IikiLC4uLm4uY3VycmVudCgpfSkpKSxkKCksYS50aXRsZSYmKGQ9dC5lbnRlcihgdGl0bGUke299YCksYys9bi5tb3ZlKCIgIitpKSxjKz1uLm1vdmUodC5zYWZlKGEudGl0bGUse2JlZm9yZTpjLGFmdGVyOmksLi4ubi5jdXJyZW50KCl9KSksYys9bi5tb3ZlKGkpLGQoKSksYys9bi5tb3ZlKCIpIiksbCgpLGN9ZnVuY3Rpb24gZHdhKGEsZSx0KXtyZXR1cm4geDRlKGEsdCk/IjwiOiJbIn12YXIgbzZ0PWYoKCk9Pnt2USgpO2k2dCgpO3k0ZS5wZWVrPWR3YTtzKHk0ZSwibGluayIpO3MoZHdhLCJsaW5rUGVlayIpfSk7ZnVuY3Rpb24gdzRlKGEsZSx0LHIpe2xldCBpPWEucmVmZXJlbmNlVHlwZSxvPXQuZW50ZXIoImxpbmtSZWZlcmVuY2UiKSxuPXQuZW50ZXIoImxhYmVsIiksbD10LmNyZWF0ZVRyYWNrZXIociksZD1sLm1vdmUoIlsiKSxjPXQuY29udGFpbmVyUGhyYXNpbmcoYSx7YmVmb3JlOmQsYWZ0ZXI6Il0iLC4uLmwuY3VycmVudCgpfSk7ZCs9bC5tb3ZlKGMrIl1bIiksbigpO2xldCBwPXQuc3RhY2s7dC5zdGFjaz1bXSxuPXQuZW50ZXIoInJlZmVyZW5jZSIpO2xldCB1PXQuc2FmZSh0LmFzc29jaWF0aW9uSWQoYSkse2JlZm9yZTpkLGFmdGVyOiJdIiwuLi5sLmN1cnJlbnQoKX0pO3JldHVybiBuKCksdC5zdGFjaz1wLG8oKSxpPT09ImZ1bGwifHwhY3x8YyE9PXU/ZCs9bC5tb3ZlKHUrIl0iKTppPT09InNob3J0Y3V0Ij9kPWQuc2xpY2UoMCwtMSk6ZCs9bC5tb3ZlKCJdIiksZH1mdW5jdGlvbiB1d2EoKXtyZXR1cm4iWyJ9dmFyIG42dD1mKCgpPT57dzRlLnBlZWs9dXdhO3ModzRlLCJsaW5rUmVmZXJlbmNlIik7cyh1d2EsImxpbmtSZWZlcmVuY2VQZWVrIil9KTtmdW5jdGlvbiB4OChhKXtsZXQgZT1hLm9wdGlvbnMuYnVsbGV0fHwiKiI7aWYoZSE9PSIqIiYmZSE9PSIrIiYmZSE9PSItIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgaXRlbXMgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5idWxsZXRgLCBleHBlY3RlZCBgKmAsIGArYCwgb3IgYC1gIik7cmV0dXJuIGV9dmFyIE1RPWYoKCk9PntzKHg4LCJjaGVja0J1bGxldCIpfSk7ZnVuY3Rpb24gbDZ0KGEpe2xldCBlPXg4KGEpLHQ9YS5vcHRpb25zLmJ1bGxldE90aGVyO2lmKCF0KXJldHVybiBlPT09IioiPyItIjoiKiI7aWYodCE9PSIqIiYmdCE9PSIrIiYmdCE9PSItIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgaXRlbXMgd2l0aCBgIit0KyJgIGZvciBgb3B0aW9ucy5idWxsZXRPdGhlcmAsIGV4cGVjdGVkIGAqYCwgYCtgLCBvciBgLWAiKTtpZih0PT09ZSl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIGBidWxsZXRgIChgIitlKyJgKSBhbmQgYGJ1bGxldE90aGVyYCAoYCIrdCsiYCkgdG8gYmUgZGlmZmVyZW50Iik7cmV0dXJuIHR9dmFyIGM2dD1mKCgpPT57TVEoKTtzKGw2dCwiY2hlY2tCdWxsZXRPdGhlciIpfSk7ZnVuY3Rpb24gZDZ0KGEpe2xldCBlPWEub3B0aW9ucy5idWxsZXRPcmRlcmVkfHwiLiI7aWYoZSE9PSIuIiYmZSE9PSIpIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgaXRlbXMgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5idWxsZXRPcmRlcmVkYCwgZXhwZWN0ZWQgYC5gIG9yIGApYCIpO3JldHVybiBlfXZhciB1NnQ9ZigoKT0+e3MoZDZ0LCJjaGVja0J1bGxldE9yZGVyZWQiKX0pO2Z1bmN0aW9uIGtRKGEpe2xldCBlPWEub3B0aW9ucy5ydWxlfHwiKiI7aWYoZSE9PSIqIiYmZSE9PSItIiYmZSE9PSJfIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgcnVsZXMgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5ydWxlYCwgZXhwZWN0ZWQgYCpgLCBgLWAsIG9yIGBfYCIpO3JldHVybiBlfXZhciBNNGU9ZigoKT0+e3Moa1EsImNoZWNrUnVsZSIpfSk7ZnVuY3Rpb24gcDZ0KGEsZSx0LHIpe2xldCBpPXQuZW50ZXIoImxpc3QiKSxvPXQuYnVsbGV0Q3VycmVudCxuPWEub3JkZXJlZD9kNnQodCk6eDgodCksbD1hLm9yZGVyZWQ/bj09PSIuIj8iKSI6Ii4iOmw2dCh0KSxkPWUmJnQuYnVsbGV0TGFzdFVzZWQ/bj09PXQuYnVsbGV0TGFzdFVzZWQ6ITE7aWYoIWEub3JkZXJlZCl7bGV0IHA9YS5jaGlsZHJlbj9hLmNoaWxkcmVuWzBdOnZvaWQgMDtpZigobj09PSIqInx8bj09PSItIikmJnAmJighcC5jaGlsZHJlbnx8IXAuY2hpbGRyZW5bMF0pJiZ0LnN0YWNrW3Quc3RhY2subGVuZ3RoLTFdPT09Imxpc3QiJiZ0LnN0YWNrW3Quc3RhY2subGVuZ3RoLTJdPT09Imxpc3RJdGVtIiYmdC5zdGFja1t0LnN0YWNrLmxlbmd0aC0zXT09PSJsaXN0IiYmdC5zdGFja1t0LnN0YWNrLmxlbmd0aC00XT09PSJsaXN0SXRlbSImJnQuaW5kZXhTdGFja1t0LmluZGV4U3RhY2subGVuZ3RoLTFdPT09MCYmdC5pbmRleFN0YWNrW3QuaW5kZXhTdGFjay5sZW5ndGgtMl09PT0wJiZ0LmluZGV4U3RhY2tbdC5pbmRleFN0YWNrLmxlbmd0aC0zXT09PTAmJihkPSEwKSxrUSh0KT09PW4mJnApe2xldCB1PS0xO2Zvcig7Kyt1PGEuY2hpbGRyZW4ubGVuZ3RoOyl7bGV0IG09YS5jaGlsZHJlblt1XTtpZihtJiZtLnR5cGU9PT0ibGlzdEl0ZW0iJiZtLmNoaWxkcmVuJiZtLmNoaWxkcmVuWzBdJiZtLmNoaWxkcmVuWzBdLnR5cGU9PT0idGhlbWF0aWNCcmVhayIpe2Q9ITA7YnJlYWt9fX19ZCYmKG49bCksdC5idWxsZXRDdXJyZW50PW47bGV0IGM9dC5jb250YWluZXJGbG93KGEscik7cmV0dXJuIHQuYnVsbGV0TGFzdFVzZWQ9bix0LmJ1bGxldEN1cnJlbnQ9byxpKCksY312YXIgZjZ0PWYoKCk9PntNUSgpO2M2dCgpO3U2dCgpO000ZSgpO3MocDZ0LCJsaXN0Iil9KTtmdW5jdGlvbiBoNnQoYSl7bGV0IGU9YS5vcHRpb25zLmxpc3RJdGVtSW5kZW50fHwib25lIjtpZihlIT09InRhYiImJmUhPT0ib25lIiYmZSE9PSJtaXhlZCIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIGl0ZW1zIHdpdGggYCIrZSsiYCBmb3IgYG9wdGlvbnMubGlzdEl0ZW1JbmRlbnRgLCBleHBlY3RlZCBgdGFiYCwgYG9uZWAsIG9yIGBtaXhlZGAiKTtyZXR1cm4gZX12YXIgbTZ0PWYoKCk9PntzKGg2dCwiY2hlY2tMaXN0SXRlbUluZGVudCIpfSk7ZnVuY3Rpb24gZzZ0KGEsZSx0LHIpe2xldCBpPWg2dCh0KSxvPXQuYnVsbGV0Q3VycmVudHx8eDgodCk7ZSYmZS50eXBlPT09Imxpc3QiJiZlLm9yZGVyZWQmJihvPSh0eXBlb2YgZS5zdGFydD09Im51bWJlciImJmUuc3RhcnQ+LTE/ZS5zdGFydDoxKSsodC5vcHRpb25zLmluY3JlbWVudExpc3RNYXJrZXI9PT0hMT8wOmUuY2hpbGRyZW4uaW5kZXhPZihhKSkrbyk7bGV0IG49by5sZW5ndGgrMTsoaT09PSJ0YWIifHxpPT09Im1peGVkIiYmKGUmJmUudHlwZT09PSJsaXN0IiYmZS5zcHJlYWR8fGEuc3ByZWFkKSkmJihuPU1hdGguY2VpbChuLzQpKjQpO2xldCBsPXQuY3JlYXRlVHJhY2tlcihyKTtsLm1vdmUobysiICIucmVwZWF0KG4tby5sZW5ndGgpKSxsLnNoaWZ0KG4pO2xldCBkPXQuZW50ZXIoImxpc3RJdGVtIiksYz10LmluZGVudExpbmVzKHQuY29udGFpbmVyRmxvdyhhLGwuY3VycmVudCgpKSxwKTtyZXR1cm4gZCgpLGM7ZnVuY3Rpb24gcCh1LG0sdil7cmV0dXJuIG0/KHY/IiI6IiAiLnJlcGVhdChuKSkrdToodj9vOm8rIiAiLnJlcGVhdChuLW8ubGVuZ3RoKSkrdX1zKHAsIm1hcCIpfXZhciBiNnQ9ZigoKT0+e01RKCk7bTZ0KCk7cyhnNnQsImxpc3RJdGVtIil9KTtmdW5jdGlvbiB2NnQoYSxlLHQscil7bGV0IGk9dC5lbnRlcigicGFyYWdyYXBoIiksbz10LmVudGVyKCJwaHJhc2luZyIpLG49dC5jb250YWluZXJQaHJhc2luZyhhLHIpO3JldHVybiBvKCksaSgpLG59dmFyIHg2dD1mKCgpPT57cyh2NnQsInBhcmFncmFwaCIpfSk7dmFyIGs0ZSx5NnQ9ZigoKT0+e3BRKCk7azRlPUZsKFsiYnJlYWsiLCJkZWxldGUiLCJlbXBoYXNpcyIsImZvb3Rub3RlIiwiZm9vdG5vdGVSZWZlcmVuY2UiLCJpbWFnZSIsImltYWdlUmVmZXJlbmNlIiwiaW5saW5lQ29kZSIsImlubGluZU1hdGgiLCJsaW5rIiwibGlua1JlZmVyZW5jZSIsIm1keEpzeFRleHRFbGVtZW50IiwibWR4VGV4dEV4cHJlc3Npb24iLCJzdHJvbmciLCJ0ZXh0IiwidGV4dERpcmVjdGl2ZSJdKX0pO3ZhciB3NnQ9ZigoKT0+e3k2dCgpfSk7ZnVuY3Rpb24gTTZ0KGEsZSx0LHIpe3JldHVybihhLmNoaWxkcmVuLnNvbWUoZnVuY3Rpb24obil7cmV0dXJuIGs0ZShuKX0pP3QuY29udGFpbmVyUGhyYXNpbmc6dC5jb250YWluZXJGbG93KS5jYWxsKHQsYSxyKX12YXIgazZ0PWYoKCk9Pnt3NnQoKTtzKE02dCwicm9vdCIpfSk7ZnVuY3Rpb24gUzZ0KGEpe2xldCBlPWEub3B0aW9ucy5zdHJvbmd8fCIqIjtpZihlIT09IioiJiZlIT09Il8iKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSBzdHJvbmcgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5zdHJvbmdgLCBleHBlY3RlZCBgKmAsIG9yIGBfYCIpO3JldHVybiBlfXZhciB6NnQ9ZigoKT0+e3MoUzZ0LCJjaGVja1N0cm9uZyIpfSk7ZnVuY3Rpb24gUzRlKGEsZSx0LHIpe2xldCBpPVM2dCh0KSxvPXQuZW50ZXIoInN0cm9uZyIpLG49dC5jcmVhdGVUcmFja2VyKHIpLGw9bi5tb3ZlKGkraSksZD1uLm1vdmUodC5jb250YWluZXJQaHJhc2luZyhhLHthZnRlcjppLGJlZm9yZTpsLC4uLm4uY3VycmVudCgpfSkpLGM9ZC5jaGFyQ29kZUF0KDApLHA9djgoci5iZWZvcmUuY2hhckNvZGVBdChyLmJlZm9yZS5sZW5ndGgtMSksYyxpKTtwLmluc2lkZSYmKGQ9Wm8oYykrZC5zbGljZSgxKSk7bGV0IHU9ZC5jaGFyQ29kZUF0KGQubGVuZ3RoLTEpLG09djgoci5hZnRlci5jaGFyQ29kZUF0KDApLHUsaSk7bS5pbnNpZGUmJihkPWQuc2xpY2UoMCwtMSkrWm8odSkpO2xldCB2PW4ubW92ZShpK2kpO3JldHVybiBvKCksdC5hdHRlbnRpb25FbmNvZGVTdXJyb3VuZGluZ0luZm89e2FmdGVyOm0ub3V0c2lkZSxiZWZvcmU6cC5vdXRzaWRlfSxsK2Qrdn1mdW5jdGlvbiBwd2EoYSxlLHQpe3JldHVybiB0Lm9wdGlvbnMuc3Ryb25nfHwiKiJ9dmFyIEM2dD1mKCgpPT57ejZ0KCk7YjgoKTt1NGUoKTtTNGUucGVlaz1wd2E7cyhTNGUsInN0cm9uZyIpO3MocHdhLCJzdHJvbmdQZWVrIil9KTtmdW5jdGlvbiBfNnQoYSxlLHQscil7cmV0dXJuIHQuc2FmZShhLnZhbHVlLHIpfXZhciBUNnQ9ZigoKT0+e3MoXzZ0LCJ0ZXh0Iil9KTtmdW5jdGlvbiBMNnQoYSl7bGV0IGU9YS5vcHRpb25zLnJ1bGVSZXBldGl0aW9ufHwzO2lmKGU8Myl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgcnVsZXMgd2l0aCByZXBldGl0aW9uIGAiK2UrImAgZm9yIGBvcHRpb25zLnJ1bGVSZXBldGl0aW9uYCwgZXhwZWN0ZWQgYDNgIG9yIG1vcmUiKTtyZXR1cm4gZX12YXIgJDZ0PWYoKCk9PntzKEw2dCwiY2hlY2tSdWxlUmVwZXRpdGlvbiIpfSk7ZnVuY3Rpb24gRDZ0KGEsZSx0KXtsZXQgcj0oa1EodCkrKHQub3B0aW9ucy5ydWxlU3BhY2VzPyIgIjoiIikpLnJlcGVhdChMNnQodCkpO3JldHVybiB0Lm9wdGlvbnMucnVsZVNwYWNlcz9yLnNsaWNlKDAsLTEpOnJ9dmFyIEE2dD1mKCgpPT57JDZ0KCk7TTRlKCk7cyhENnQsInRoZW1hdGljQnJlYWsiKX0pO3ZhciBWMyx6NGU9ZigoKT0+e0lkdCgpO1JkdCgpO1ZkdCgpO1VkdCgpO1lkdCgpO2U2dCgpO3Q2dCgpO2E2dCgpO3I2dCgpO3M2dCgpO282dCgpO242dCgpO2Y2dCgpO2I2dCgpO3g2dCgpO2s2dCgpO0M2dCgpO1Q2dCgpO0E2dCgpO1YzPXtibG9ja3F1b3RlOkVkdCxicmVhazpjNGUsY29kZTpxZHQsZGVmaW5pdGlvbjpqZHQsZW1waGFzaXM6cDRlLGhhcmRCcmVhazpjNGUsaGVhZGluZzpKZHQsaHRtbDptNGUsaW1hZ2U6ZzRlLGltYWdlUmVmZXJlbmNlOmI0ZSxpbmxpbmVDb2RlOnY0ZSxsaW5rOnk0ZSxsaW5rUmVmZXJlbmNlOnc0ZSxsaXN0OnA2dCxsaXN0SXRlbTpnNnQscGFyYWdyYXBoOnY2dCxyb290Ok02dCxzdHJvbmc6UzRlLHRleHQ6XzZ0LHRoZW1hdGljQnJlYWs6RDZ0fX0pO2Z1bmN0aW9uIGZ3YShhLGUsdCxyKXtpZihlLnR5cGU9PT0iY29kZSImJnFnKGUscikmJihhLnR5cGU9PT0ibGlzdCJ8fGEudHlwZT09PWUudHlwZSYmcWcoYSxyKSkpcmV0dXJuITE7aWYoInNwcmVhZCJpbiB0JiZ0eXBlb2YgdC5zcHJlYWQ9PSJib29sZWFuIilyZXR1cm4gYS50eXBlPT09InBhcmFncmFwaCImJihhLnR5cGU9PT1lLnR5cGV8fGUudHlwZT09PSJkZWZpbml0aW9uInx8ZS50eXBlPT09ImhlYWRpbmciJiZ3UShlLHIpKT92b2lkIDA6dC5zcHJlYWQ/MTowfXZhciBQNnQsRTZ0PWYoKCk9PntkNGUoKTtoNGUoKTtQNnQ9W2Z3YV07cyhmd2EsImpvaW5EZWZhdWx0cyIpfSk7dmFyIGozLEk2dCxONnQ9ZigoKT0+e2ozPVsiYXV0b2xpbmsiLCJkZXN0aW5hdGlvbkxpdGVyYWwiLCJkZXN0aW5hdGlvblJhdyIsInJlZmVyZW5jZSIsInRpdGxlUXVvdGUiLCJ0aXRsZUFwb3N0cm9waGUiXSxJNnQ9W3tjaGFyYWN0ZXI6IgkiLGFmdGVyOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiCSIsYmVmb3JlOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiCSIsaW5Db25zdHJ1Y3Q6WyJjb2RlRmVuY2VkTGFuZ0dyYXZlQWNjZW50IiwiY29kZUZlbmNlZExhbmdUaWxkZSJdfSx7Y2hhcmFjdGVyOiJcciIsaW5Db25zdHJ1Y3Q6WyJjb2RlRmVuY2VkTGFuZ0dyYXZlQWNjZW50IiwiY29kZUZlbmNlZExhbmdUaWxkZSIsImNvZGVGZW5jZWRNZXRhR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTWV0YVRpbGRlIiwiZGVzdGluYXRpb25MaXRlcmFsIiwiaGVhZGluZ0F0eCJdfSx7Y2hhcmFjdGVyOmAKYCxpbkNvbnN0cnVjdDpbImNvZGVGZW5jZWRMYW5nR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTGFuZ1RpbGRlIiwiY29kZUZlbmNlZE1ldGFHcmF2ZUFjY2VudCIsImNvZGVGZW5jZWRNZXRhVGlsZGUiLCJkZXN0aW5hdGlvbkxpdGVyYWwiLCJoZWFkaW5nQXR4Il19LHtjaGFyYWN0ZXI6IiAiLGFmdGVyOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiICIsYmVmb3JlOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiICIsaW5Db25zdHJ1Y3Q6WyJjb2RlRmVuY2VkTGFuZ0dyYXZlQWNjZW50IiwiY29kZUZlbmNlZExhbmdUaWxkZSJdfSx7Y2hhcmFjdGVyOiIhIixhZnRlcjoiXFxbIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OmozfSx7Y2hhcmFjdGVyOiciJyxpbkNvbnN0cnVjdDoidGl0bGVRdW90ZSJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiIyJ9LHtjaGFyYWN0ZXI6IiMiLGluQ29uc3RydWN0OiJoZWFkaW5nQXR4IixhZnRlcjpgKD86W1xyCl18JClgfSx7Y2hhcmFjdGVyOiImIixhZnRlcjoiWyNBLVphLXpdIixpbkNvbnN0cnVjdDoicGhyYXNpbmcifSx7Y2hhcmFjdGVyOiInIixpbkNvbnN0cnVjdDoidGl0bGVBcG9zdHJvcGhlIn0se2NoYXJhY3RlcjoiKCIsaW5Db25zdHJ1Y3Q6ImRlc3RpbmF0aW9uUmF3In0se2JlZm9yZToiXFxdIixjaGFyYWN0ZXI6IigiLGluQ29uc3RydWN0OiJwaHJhc2luZyIsbm90SW5Db25zdHJ1Y3Q6ajN9LHthdEJyZWFrOiEwLGJlZm9yZToiXFxkKyIsY2hhcmFjdGVyOiIpIn0se2NoYXJhY3RlcjoiKSIsaW5Db25zdHJ1Y3Q6ImRlc3RpbmF0aW9uUmF3In0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiIqIixhZnRlcjpgKD86WyAJXHIKKl0pYH0se2NoYXJhY3RlcjoiKiIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpqM30se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiIrIixhZnRlcjpgKD86WyAJXHIKXSlgfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6Ii0iLGFmdGVyOmAoPzpbIAlccgotXSlgfSx7YXRCcmVhazohMCxiZWZvcmU6IlxcZCsiLGNoYXJhY3RlcjoiLiIsYWZ0ZXI6YCg/OlsgCVxyCl18JClgfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6IjwiLGFmdGVyOiJbIS8/QS1aYS16XSJ9LHtjaGFyYWN0ZXI6IjwiLGFmdGVyOiJbIS8/QS1aYS16XSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpqM30se2NoYXJhY3RlcjoiPCIsaW5Db25zdHJ1Y3Q6ImRlc3RpbmF0aW9uTGl0ZXJhbCJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiPSJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiPiJ9LHtjaGFyYWN0ZXI6Ij4iLGluQ29uc3RydWN0OiJkZXN0aW5hdGlvbkxpdGVyYWwifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6IlsifSx7Y2hhcmFjdGVyOiJbIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OmozfSx7Y2hhcmFjdGVyOiJbIixpbkNvbnN0cnVjdDpbImxhYmVsIiwicmVmZXJlbmNlIl19LHtjaGFyYWN0ZXI6IlxcIixhZnRlcjoiW1xcclxcbl0iLGluQ29uc3RydWN0OiJwaHJhc2luZyJ9LHtjaGFyYWN0ZXI6Il0iLGluQ29uc3RydWN0OlsibGFiZWwiLCJyZWZlcmVuY2UiXX0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiJfIn0se2NoYXJhY3RlcjoiXyIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpqM30se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiJgIn0se2NoYXJhY3RlcjoiYCIsaW5Db25zdHJ1Y3Q6WyJjb2RlRmVuY2VkTGFuZ0dyYXZlQWNjZW50IiwiY29kZUZlbmNlZE1ldGFHcmF2ZUFjY2VudCJdfSx7Y2hhcmFjdGVyOiJgIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OmozfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6In4ifV19KTtmdW5jdGlvbiBCMChhKXtsZXQgZT0iJiIrYSsiOyI7UjZ0LmlubmVySFRNTD1lO2xldCB0PVI2dC50ZXh0Q29udGVudDtyZXR1cm4gdC5jaGFyQ29kZUF0KHQubGVuZ3RoLTEpPT09NTkmJmEhPT0ic2VtaSJ8fHQ9PT1lPyExOnR9dmFyIFI2dCxqZz1mKCgpPT57UjZ0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImkiKTtzKEIwLCJkZWNvZGVOYW1lZENoYXJhY3RlclJlZmVyZW5jZSIpfSk7ZnVuY3Rpb24geTgoYSxlKXtsZXQgdD1OdW1iZXIucGFyc2VJbnQoYSxlKTtyZXR1cm4gdDw5fHx0PT09MTF8fHQ+MTMmJnQ8MzJ8fHQ+MTI2JiZ0PDE2MHx8dD41NTI5NSYmdDw1NzM0NHx8dD42NDk3NSYmdDw2NTAwOHx8KHQmNjU1MzUpPT09NjU1MzV8fCh0JjY1NTM1KT09PTY1NTM0fHx0PjExMTQxMTE/Ilx1RkZGRCI6U3RyaW5nLmZyb21Db2RlUG9pbnQodCl9dmFyIFNRPWYoKCk9PntzKHk4LCJkZWNvZGVOdW1lcmljQ2hhcmFjdGVyUmVmZXJlbmNlIil9KTtmdW5jdGlvbiB6UShhKXtyZXR1cm4gYS5yZXBsYWNlKGh3YSxtd2EpfWZ1bmN0aW9uIG13YShhLGUsdCl7aWYoZSlyZXR1cm4gZTtpZih0LmNoYXJDb2RlQXQoMCk9PT0zNSl7bGV0IGk9dC5jaGFyQ29kZUF0KDEpLG89aT09PTEyMHx8aT09PTg4O3JldHVybiB5OCh0LnNsaWNlKG8/MjoxKSxvPzE2OjEwKX1yZXR1cm4gQjAodCl8fGF9dmFyIGh3YSxDNGU9ZigoKT0+e2pnKCk7U1EoKTtod2E9L1xcKFshLS86LUBbLWB7LX5dKXwmKCMoPzpcZHsxLDd9fHhbXGRhLWZdezEsNn0pfFtcZGEtel17MSwzMX0pOy9naTtzKHpRLCJkZWNvZGVTdHJpbmciKTtzKG13YSwiZGVjb2RlIil9KTtmdW5jdGlvbiBPNnQoYSl7cmV0dXJuIGEubGFiZWx8fCFhLmlkZW50aWZpZXI/YS5sYWJlbHx8IiI6elEoYS5pZGVudGlmaWVyKX12YXIgRjZ0PWYoKCk9PntDNGUoKTtzKE82dCwiYXNzb2NpYXRpb24iKX0pO2Z1bmN0aW9uIEI2dChhKXtpZighYS5fY29tcGlsZWQpe2xldCBlPShhLmF0QnJlYWs/IltcXHJcXG5dW1xcdCBdKiI6IiIpKyhhLmJlZm9yZT8iKD86IithLmJlZm9yZSsiKSI6IiIpO2EuX2NvbXBpbGVkPW5ldyBSZWdFeHAoKGU/IigiK2UrIikiOiIiKSsoL1t8XFx7fSgpW1xdXiQrKj8uLV0vLnRlc3QoYS5jaGFyYWN0ZXIpPyJcXCI6IiIpK2EuY2hhcmFjdGVyKyhhLmFmdGVyPyIoPzoiK2EuYWZ0ZXIrIikiOiIiKSwiZyIpfXJldHVybiBhLl9jb21waWxlZH12YXIgSDZ0PWYoKCk9PntzKEI2dCwiY29tcGlsZVBhdHRlcm4iKX0pO2Z1bmN0aW9uIHE2dChhLGUsdCl7bGV0IHI9ZS5pbmRleFN0YWNrLGk9YS5jaGlsZHJlbnx8W10sbz1bXSxuPS0xLGw9dC5iZWZvcmUsZDtyLnB1c2goLTEpO2xldCBjPWUuY3JlYXRlVHJhY2tlcih0KTtmb3IoOysrbjxpLmxlbmd0aDspe2xldCBwPWlbbl0sdTtpZihyW3IubGVuZ3RoLTFdPW4sbisxPGkubGVuZ3RoKXtsZXQgeD1lLmhhbmRsZS5oYW5kbGVyc1tpW24rMV0udHlwZV07eCYmeC5wZWVrJiYoeD14LnBlZWspLHU9eD94KGlbbisxXSxhLGUse2JlZm9yZToiIixhZnRlcjoiIiwuLi5jLmN1cnJlbnQoKX0pLmNoYXJBdCgwKToiIn1lbHNlIHU9dC5hZnRlcjtvLmxlbmd0aD4wJiYobD09PSJcciJ8fGw9PT1gCmApJiZwLnR5cGU9PT0iaHRtbCImJihvW28ubGVuZ3RoLTFdPW9bby5sZW5ndGgtMV0ucmVwbGFjZSgvKFxyP1xufFxyKSQvLCIgIiksbD0iICIsYz1lLmNyZWF0ZVRyYWNrZXIodCksYy5tb3ZlKG8uam9pbigiIikpKTtsZXQgbT1lLmhhbmRsZShwLGEsZSx7Li4uYy5jdXJyZW50KCksYWZ0ZXI6dSxiZWZvcmU6bH0pO2QmJmQ9PT1tLnNsaWNlKDAsMSkmJihtPVpvKGQuY2hhckNvZGVBdCgwKSkrbS5zbGljZSgxKSk7bGV0IHY9ZS5hdHRlbnRpb25FbmNvZGVTdXJyb3VuZGluZ0luZm87ZS5hdHRlbnRpb25FbmNvZGVTdXJyb3VuZGluZ0luZm89dm9pZCAwLGQ9dm9pZCAwLHYmJihvLmxlbmd0aD4wJiZ2LmJlZm9yZSYmbD09PW9bby5sZW5ndGgtMV0uc2xpY2UoLTEpJiYob1tvLmxlbmd0aC0xXT1vW28ubGVuZ3RoLTFdLnNsaWNlKDAsLTEpK1pvKGwuY2hhckNvZGVBdCgwKSkpLHYuYWZ0ZXImJihkPXUpKSxjLm1vdmUobSksby5wdXNoKG0pLGw9bS5zbGljZSgtMSl9cmV0dXJuIHIucG9wKCksby5qb2luKCIiKX12YXIgVjZ0PWYoKCk9PntiOCgpO3MocTZ0LCJjb250YWluZXJQaHJhc2luZyIpfSk7ZnVuY3Rpb24gajZ0KGEsZSx0KXtsZXQgcj1lLmluZGV4U3RhY2ssaT1hLmNoaWxkcmVufHxbXSxvPWUuY3JlYXRlVHJhY2tlcih0KSxuPVtdLGw9LTE7Zm9yKHIucHVzaCgtMSk7KytsPGkubGVuZ3RoOyl7bGV0IGQ9aVtsXTtyW3IubGVuZ3RoLTFdPWwsbi5wdXNoKG8ubW92ZShlLmhhbmRsZShkLGEsZSx7YmVmb3JlOmAKYCxhZnRlcjpgCmAsLi4uby5jdXJyZW50KCl9KSkpLGQudHlwZSE9PSJsaXN0IiYmKGUuYnVsbGV0TGFzdFVzZWQ9dm9pZCAwKSxsPGkubGVuZ3RoLTEmJm4ucHVzaChvLm1vdmUoZ3dhKGQsaVtsKzFdLGEsZSkpKX1yZXR1cm4gci5wb3AoKSxuLmpvaW4oIiIpfWZ1bmN0aW9uIGd3YShhLGUsdCxyKXtsZXQgaT1yLmpvaW4ubGVuZ3RoO2Zvcig7aS0tOyl7bGV0IG89ci5qb2luW2ldKGEsZSx0LHIpO2lmKG89PT0hMHx8bz09PTEpYnJlYWs7aWYodHlwZW9mIG89PSJudW1iZXIiKXJldHVybmAKYC5yZXBlYXQoMStvKTtpZihvPT09ITEpcmV0dXJuYAoKPCEtLS0tPgoKYH1yZXR1cm5gCgpgfXZhciBVNnQ9ZigoKT0+e3MoajZ0LCJjb250YWluZXJGbG93Iik7cyhnd2EsImJldHdlZW4iKX0pO2Z1bmN0aW9uIFc2dChhLGUpe2xldCB0PVtdLHI9MCxpPTAsbztmb3IoO289YndhLmV4ZWMoYSk7KW4oYS5zbGljZShyLG8uaW5kZXgpKSx0LnB1c2gob1swXSkscj1vLmluZGV4K29bMF0ubGVuZ3RoLGkrKztyZXR1cm4gbihhLnNsaWNlKHIpKSx0LmpvaW4oIiIpO2Z1bmN0aW9uIG4obCl7dC5wdXNoKGUobCxpLCFsKSl9cyhuLCJvbmUiKX12YXIgYndhLEc2dD1mKCgpPT57YndhPS9ccj9cbnxcci9nO3MoVzZ0LCJpbmRlbnRMaW5lcyIpfSk7ZnVuY3Rpb24gSzZ0KGEsZSx0KXtsZXQgcj0odC5iZWZvcmV8fCIiKSsoZXx8IiIpKyh0LmFmdGVyfHwiIiksaT1bXSxvPVtdLG49e30sbD0tMTtmb3IoOysrbDxhLnVuc2FmZS5sZW5ndGg7KXtsZXQgcD1hLnVuc2FmZVtsXTtpZighYlEoYS5zdGFjayxwKSljb250aW51ZTtsZXQgdT1hLmNvbXBpbGVQYXR0ZXJuKHApLG07Zm9yKDttPXUuZXhlYyhyKTspe2xldCB2PSJiZWZvcmUiaW4gcHx8ISFwLmF0QnJlYWsseD0iYWZ0ZXIiaW4gcCxiPW0uaW5kZXgrKHY/bVsxXS5sZW5ndGg6MCk7aS5pbmNsdWRlcyhiKT8obltiXS5iZWZvcmUmJiF2JiYobltiXS5iZWZvcmU9ITEpLG5bYl0uYWZ0ZXImJiF4JiYobltiXS5hZnRlcj0hMSkpOihpLnB1c2goYiksbltiXT17YmVmb3JlOnYsYWZ0ZXI6eH0pfX1pLnNvcnQodndhKTtsZXQgZD10LmJlZm9yZT90LmJlZm9yZS5sZW5ndGg6MCxjPXIubGVuZ3RoLSh0LmFmdGVyP3QuYWZ0ZXIubGVuZ3RoOjApO2ZvcihsPS0xOysrbDxpLmxlbmd0aDspe2xldCBwPWlbbF07cDxkfHxwPj1jfHxwKzE8YyYmaVtsKzFdPT09cCsxJiZuW3BdLmFmdGVyJiYhbltwKzFdLmJlZm9yZSYmIW5bcCsxXS5hZnRlcnx8aVtsLTFdPT09cC0xJiZuW3BdLmJlZm9yZSYmIW5bcC0xXS5iZWZvcmUmJiFuW3AtMV0uYWZ0ZXJ8fChkIT09cCYmby5wdXNoKFk2dChyLnNsaWNlKGQscCksIlxcIikpLGQ9cCwvWyEtLzotQFstYHstfl0vLnRlc3Qoci5jaGFyQXQocCkpJiYoIXQuZW5jb2RlfHwhdC5lbmNvZGUuaW5jbHVkZXMoci5jaGFyQXQocCkpKT9vLnB1c2goIlxcIik6KG8ucHVzaChabyhyLmNoYXJDb2RlQXQocCkpKSxkKyspKX1yZXR1cm4gby5wdXNoKFk2dChyLnNsaWNlKGQsYyksdC5hZnRlcikpLG8uam9pbigiIil9ZnVuY3Rpb24gdndhKGEsZSl7cmV0dXJuIGEtZX1mdW5jdGlvbiBZNnQoYSxlKXtsZXQgdD0vXFwoPz1bIS0vOi1AWy1gey1+XSkvZyxyPVtdLGk9W10sbz1hK2Usbj0tMSxsPTAsZDtmb3IoO2Q9dC5leGVjKG8pOylyLnB1c2goZC5pbmRleCk7Zm9yKDsrK248ci5sZW5ndGg7KWwhPT1yW25dJiZpLnB1c2goYS5zbGljZShsLHJbbl0pKSxpLnB1c2goIlxcIiksbD1yW25dO3JldHVybiBpLnB1c2goYS5zbGljZShsKSksaS5qb2luKCIiKX12YXIgWjZ0PWYoKCk9PntiOCgpO2w0ZSgpO3MoSzZ0LCJzYWZlIik7cyh2d2EsIm51bWVyaWNhbCIpO3MoWTZ0LCJlc2NhcGVCYWNrc2xhc2hlcyIpfSk7ZnVuY3Rpb24gWDZ0KGEpe2xldCBlPWF8fHt9LHQ9ZS5ub3d8fHt9LHI9ZS5saW5lU2hpZnR8fDAsaT10LmxpbmV8fDEsbz10LmNvbHVtbnx8MTtyZXR1cm57bW92ZTpkLGN1cnJlbnQ6bixzaGlmdDpsfTtmdW5jdGlvbiBuKCl7cmV0dXJue25vdzp7bGluZTppLGNvbHVtbjpvfSxsaW5lU2hpZnQ6cn19ZnVuY3Rpb24gbChjKXtyKz1jfWZ1bmN0aW9uIGQoYyl7bGV0IHA9Y3x8IiIsdT1wLnNwbGl0KC9ccj9cbnxcci9nKSxtPXVbdS5sZW5ndGgtMV07cmV0dXJuIGkrPXUubGVuZ3RoLTEsbz11Lmxlbmd0aD09PTE/byttLmxlbmd0aDoxK20ubGVuZ3RoK3IscH19dmFyIFE2dD1mKCgpPT57cyhYNnQsInRyYWNrIil9KTtmdW5jdGlvbiBfNGUoYSxlKXtsZXQgdD1lfHx7fSxyPXthc3NvY2lhdGlvbklkOk82dCxjb250YWluZXJQaHJhc2luZzpNd2EsY29udGFpbmVyRmxvdzprd2EsY3JlYXRlVHJhY2tlcjpYNnQsY29tcGlsZVBhdHRlcm46QjZ0LGVudGVyOm8saGFuZGxlcnM6ey4uLlYzfSxoYW5kbGU6dm9pZCAwLGluZGVudExpbmVzOlc2dCxpbmRleFN0YWNrOltdLGpvaW46Wy4uLlA2dF0sb3B0aW9uczp7fSxzYWZlOlN3YSxzdGFjazpbXSx1bnNhZmU6Wy4uLkk2dF19O240ZShyLHQpLHIub3B0aW9ucy50aWdodERlZmluaXRpb25zJiZyLmpvaW4ucHVzaCh3d2EpLHIuaGFuZGxlPWdRKCJ0eXBlIix7aW52YWxpZDp4d2EsdW5rbm93bjp5d2EsaGFuZGxlcnM6ci5oYW5kbGVyc30pO2xldCBpPXIuaGFuZGxlKGEsdm9pZCAwLHIse2JlZm9yZTpgCmAsYWZ0ZXI6YApgLG5vdzp7bGluZToxLGNvbHVtbjoxfSxsaW5lU2hpZnQ6MH0pO3JldHVybiBpJiZpLmNoYXJDb2RlQXQoaS5sZW5ndGgtMSkhPT0xMCYmaS5jaGFyQ29kZUF0KGkubGVuZ3RoLTEpIT09MTMmJihpKz1gCmApLGk7ZnVuY3Rpb24gbyhuKXtyZXR1cm4gci5zdGFjay5wdXNoKG4pLGw7ZnVuY3Rpb24gbCgpe3Iuc3RhY2sucG9wKCl9cyhsLCJleGl0Iil9cyhvLCJlbnRlciIpfWZ1bmN0aW9uIHh3YShhKXt0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBoYW5kbGUgdmFsdWUgYCIrYSsiYCwgZXhwZWN0ZWQgbm9kZSIpfWZ1bmN0aW9uIHl3YShhKXtsZXQgZT1hO3Rocm93IG5ldyBFcnJvcigiQ2Fubm90IGhhbmRsZSB1bmtub3duIG5vZGUgYCIrZS50eXBlKyJgIil9ZnVuY3Rpb24gd3dhKGEsZSl7aWYoYS50eXBlPT09ImRlZmluaXRpb24iJiZhLnR5cGU9PT1lLnR5cGUpcmV0dXJuIDB9ZnVuY3Rpb24gTXdhKGEsZSl7cmV0dXJuIHE2dChhLHRoaXMsZSl9ZnVuY3Rpb24ga3dhKGEsZSl7cmV0dXJuIGo2dChhLHRoaXMsZSl9ZnVuY3Rpb24gU3dhKGEsZSl7cmV0dXJuIEs2dCh0aGlzLGEsZSl9dmFyIEo2dD1mKCgpPT57bzRlKCk7UGR0KCk7ejRlKCk7RTZ0KCk7TjZ0KCk7RjZ0KCk7SDZ0KCk7VjZ0KCk7VTZ0KCk7RzZ0KCk7WjZ0KCk7UTZ0KCk7cyhfNGUsInRvTWFya2Rvd24iKTtzKHh3YSwiaW52YWxpZCIpO3MoeXdhLCJ1bmtub3duIik7cyh3d2EsImpvaW5EZWZpbml0aW9uIik7cyhNd2EsImNvbnRhaW5lclBocmFzaW5nQm91bmQiKTtzKGt3YSwiY29udGFpbmVyRmxvd0JvdW5kIik7cyhTd2EsInNhZmVCb3VuZCIpfSk7dmFyIENRPWYoKCk9PntKNnQoKTt6NGUoKX0pO2Z1bmN0aW9uIEw0ZSgpe3JldHVybntlbnRlcjp7dGFibGU6endhLHRhYmxlRGF0YTpldXQsdGFibGVIZWFkZXI6ZXV0LHRhYmxlUm93Ol93YX0sZXhpdDp7Y29kZVRleHQ6VHdhLHRhYmxlOkN3YSx0YWJsZURhdGE6VDRlLHRhYmxlSGVhZGVyOlQ0ZSx0YWJsZVJvdzpUNGV9fX1mdW5jdGlvbiB6d2EoYSl7bGV0IGU9YS5fYWxpZ247dGhpcy5lbnRlcih7dHlwZToidGFibGUiLGFsaWduOmUubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0PT09Im5vbmUiP251bGw6dH0pLGNoaWxkcmVuOltdfSxhKSx0aGlzLmRhdGEuaW5UYWJsZT0hMH1mdW5jdGlvbiBDd2EoYSl7dGhpcy5leGl0KGEpLHRoaXMuZGF0YS5pblRhYmxlPXZvaWQgMH1mdW5jdGlvbiBfd2EoYSl7dGhpcy5lbnRlcih7dHlwZToidGFibGVSb3ciLGNoaWxkcmVuOltdfSxhKX1mdW5jdGlvbiBUNGUoYSl7dGhpcy5leGl0KGEpfWZ1bmN0aW9uIGV1dChhKXt0aGlzLmVudGVyKHt0eXBlOiJ0YWJsZUNlbGwiLGNoaWxkcmVuOltdfSxhKX1mdW5jdGlvbiBUd2EoYSl7bGV0IGU9dGhpcy5yZXN1bWUoKTt0aGlzLmRhdGEuaW5UYWJsZSYmKGU9ZS5yZXBsYWNlKC9cXChbXFx8XSkvZyxMd2EpKTtsZXQgdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO3QudHlwZSx0LnZhbHVlPWUsdGhpcy5leGl0KGEpfWZ1bmN0aW9uIEx3YShhLGUpe3JldHVybiBlPT09InwiP2U6YX1mdW5jdGlvbiAkNGUoYSl7bGV0IGU9YXx8e30sdD1lLnRhYmxlQ2VsbFBhZGRpbmcscj1lLnRhYmxlUGlwZUFsaWduLGk9ZS5zdHJpbmdMZW5ndGgsbz10PyIgIjoifCI7cmV0dXJue3Vuc2FmZTpbe2NoYXJhY3RlcjoiXHIiLGluQ29uc3RydWN0OiJ0YWJsZUNlbGwifSx7Y2hhcmFjdGVyOmAKYCxpbkNvbnN0cnVjdDoidGFibGVDZWxsIn0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiJ8IixhZnRlcjoiWwkgOi1dIn0se2NoYXJhY3RlcjoifCIsaW5Db25zdHJ1Y3Q6InRhYmxlQ2VsbCJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiOiIsYWZ0ZXI6Ii0ifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6Ii0iLGFmdGVyOiJbOnwtXSJ9XSxoYW5kbGVyczp7aW5saW5lQ29kZTptLHRhYmxlOm4sdGFibGVDZWxsOmQsdGFibGVSb3c6bH19O2Z1bmN0aW9uIG4odix4LGIsZyl7cmV0dXJuIGMocCh2LGIsZyksdi5hbGlnbil9ZnVuY3Rpb24gbCh2LHgsYixnKXtsZXQgeT11KHYsYixnKSxrPWMoW3ldKTtyZXR1cm4gay5zbGljZSgwLGsuaW5kZXhPZihgCmApKX1mdW5jdGlvbiBkKHYseCxiLGcpe2xldCB5PWIuZW50ZXIoInRhYmxlQ2VsbCIpLGs9Yi5lbnRlcigicGhyYXNpbmciKSxDPWIuY29udGFpbmVyUGhyYXNpbmcodix7Li4uZyxiZWZvcmU6byxhZnRlcjpvfSk7cmV0dXJuIGsoKSx5KCksQ31mdW5jdGlvbiBjKHYseCl7cmV0dXJuIExkdCh2LHthbGlnbjp4LGFsaWduRGVsaW1pdGVyczpyLHBhZGRpbmc6dCxzdHJpbmdMZW5ndGg6aX0pfWZ1bmN0aW9uIHAodix4LGIpe2xldCBnPXYuY2hpbGRyZW4seT0tMSxrPVtdLEM9eC5lbnRlcigidGFibGUiKTtmb3IoOysreTxnLmxlbmd0aDspa1t5XT11KGdbeV0seCxiKTtyZXR1cm4gQygpLGt9ZnVuY3Rpb24gdSh2LHgsYil7bGV0IGc9di5jaGlsZHJlbix5PS0xLGs9W10sQz14LmVudGVyKCJ0YWJsZVJvdyIpO2Zvcig7Kyt5PGcubGVuZ3RoOylrW3ldPWQoZ1t5XSx2LHgsYik7cmV0dXJuIEMoKSxrfWZ1bmN0aW9uIG0odix4LGIpe2xldCBnPVYzLmlubGluZUNvZGUodix4LGIpO3JldHVybiBiLnN0YWNrLmluY2x1ZGVzKCJ0YWJsZUNlbGwiKSYmKGc9Zy5yZXBsYWNlKC9cfC9nLCJcXCQmIikpLGd9fXZhciB0dXQ9ZigoKT0+e04wKCk7JGR0KCk7Q1EoKTtzKEw0ZSwiZ2ZtVGFibGVGcm9tTWFya2Rvd24iKTtzKHp3YSwiZW50ZXJUYWJsZSIpO3MoQ3dhLCJleGl0VGFibGUiKTtzKF93YSwiZW50ZXJSb3ciKTtzKFQ0ZSwiZXhpdCIpO3MoZXV0LCJlbnRlckNlbGwiKTtzKFR3YSwiZXhpdENvZGVUZXh0Iik7cyhMd2EsInJlcGxhY2UiKTtzKCQ0ZSwiZ2ZtVGFibGVUb01hcmtkb3duIil9KTt2YXIgYXV0PWYoKCk9Pnt0dXQoKX0pO2Z1bmN0aW9uIEQ0ZSgpe3JldHVybntleGl0Ont0YXNrTGlzdENoZWNrVmFsdWVDaGVja2VkOnJ1dCx0YXNrTGlzdENoZWNrVmFsdWVVbmNoZWNrZWQ6cnV0LHBhcmFncmFwaDokd2F9fX1mdW5jdGlvbiBBNGUoKXtyZXR1cm57dW5zYWZlOlt7YXRCcmVhazohMCxjaGFyYWN0ZXI6Ii0iLGFmdGVyOiJbOnwtXSJ9XSxoYW5kbGVyczp7bGlzdEl0ZW06RHdhfX19ZnVuY3Rpb24gcnV0KGEpe2xldCBlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMl07ZS50eXBlLGUuY2hlY2tlZD1hLnR5cGU9PT0idGFza0xpc3RDaGVja1ZhbHVlQ2hlY2tlZCJ9ZnVuY3Rpb24gJHdhKGEpe2xldCBlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMl07aWYoZSYmZS50eXBlPT09Imxpc3RJdGVtIiYmdHlwZW9mIGUuY2hlY2tlZD09ImJvb2xlYW4iKXtsZXQgdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO3QudHlwZTtsZXQgcj10LmNoaWxkcmVuWzBdO2lmKHImJnIudHlwZT09PSJ0ZXh0Iil7bGV0IGk9ZS5jaGlsZHJlbixvPS0xLG47Zm9yKDsrK288aS5sZW5ndGg7KXtsZXQgbD1pW29dO2lmKGwudHlwZT09PSJwYXJhZ3JhcGgiKXtuPWw7YnJlYWt9fW49PT10JiYoci52YWx1ZT1yLnZhbHVlLnNsaWNlKDEpLHIudmFsdWUubGVuZ3RoPT09MD90LmNoaWxkcmVuLnNoaWZ0KCk6dC5wb3NpdGlvbiYmci5wb3NpdGlvbiYmdHlwZW9mIHIucG9zaXRpb24uc3RhcnQub2Zmc2V0PT0ibnVtYmVyIiYmKHIucG9zaXRpb24uc3RhcnQuY29sdW1uKyssci5wb3NpdGlvbi5zdGFydC5vZmZzZXQrKyx0LnBvc2l0aW9uLnN0YXJ0PU9iamVjdC5hc3NpZ24oe30sci5wb3NpdGlvbi5zdGFydCkpKX19dGhpcy5leGl0KGEpfWZ1bmN0aW9uIER3YShhLGUsdCxyKXtsZXQgaT1hLmNoaWxkcmVuWzBdLG89dHlwZW9mIGEuY2hlY2tlZD09ImJvb2xlYW4iJiZpJiZpLnR5cGU9PT0icGFyYWdyYXBoIixuPSJbIisoYS5jaGVja2VkPyJ4IjoiICIpKyJdICIsbD10LmNyZWF0ZVRyYWNrZXIocik7byYmbC5tb3ZlKG4pO2xldCBkPVYzLmxpc3RJdGVtKGEsZSx0LHsuLi5yLC4uLmwuY3VycmVudCgpfSk7cmV0dXJuIG8mJihkPWQucmVwbGFjZSgvXig/OlsqKy1dfFxkK1wuKShbXHJcbl18IHsxLDN9KS8sYykpLGQ7ZnVuY3Rpb24gYyhwKXtyZXR1cm4gcCtufXMoYywiY2hlY2siKX12YXIgc3V0PWYoKCk9PntOMCgpO0NRKCk7cyhENGUsImdmbVRhc2tMaXN0SXRlbUZyb21NYXJrZG93biIpO3MoQTRlLCJnZm1UYXNrTGlzdEl0ZW1Ub01hcmtkb3duIik7cyhydXQsImV4aXRDaGVjayIpO3MoJHdhLCJleGl0UGFyYWdyYXBoV2l0aFRhc2tMaXN0SXRlbSIpO3MoRHdhLCJsaXN0SXRlbVdpdGhUYXNrTGlzdEl0ZW0iKX0pO3ZhciBpdXQ9ZigoKT0+e3N1dCgpfSk7ZnVuY3Rpb24gUDRlKCl7cmV0dXJuW2U0ZSgpLGE0ZSgpLHM0ZSgpLEw0ZSgpLEQ0ZSgpXX1mdW5jdGlvbiBFNGUoYSl7cmV0dXJue2V4dGVuc2lvbnM6W3Q0ZSgpLHI0ZShhKSxpNGUoKSwkNGUoYSksQTRlKCldfX12YXIgb3V0PWYoKCk9Pnt5ZHQoKTtTZHQoKTtfZHQoKTthdXQoKTtpdXQoKTtzKFA0ZSwiZ2ZtRnJvbU1hcmtkb3duIik7cyhFNGUsImdmbVRvTWFya2Rvd24iKX0pO3ZhciBudXQ9ZigoKT0+e291dCgpfSk7ZnVuY3Rpb24gWXIoYSxlLHQscil7bGV0IGk9YS5sZW5ndGgsbz0wLG47aWYoZTwwP2U9LWU+aT8wOmkrZTplPWU+aT9pOmUsdD10PjA/dDowLHIubGVuZ3RoPDFlNCluPUFycmF5LmZyb20ociksbi51bnNoaWZ0KGUsdCksYS5zcGxpY2UoLi4ubik7ZWxzZSBmb3IodCYmYS5zcGxpY2UoZSx0KTtvPHIubGVuZ3RoOyluPXIuc2xpY2UobyxvKzFlNCksbi51bnNoaWZ0KGUsMCksYS5zcGxpY2UoLi4ubiksbys9MWU0LGUrPTFlNH1mdW5jdGlvbiBmcyhhLGUpe3JldHVybiBhLmxlbmd0aD4wPyhZcihhLGEubGVuZ3RoLDAsZSksYSk6ZX12YXIgUDI9ZigoKT0+e3MoWXIsInNwbGljZSIpO3MoZnMsInB1c2giKX0pO2Z1bmN0aW9uIF9RKGEpe2xldCBlPXt9LHQ9LTE7Zm9yKDsrK3Q8YS5sZW5ndGg7KUF3YShlLGFbdF0pO3JldHVybiBlfWZ1bmN0aW9uIEF3YShhLGUpe2xldCB0O2Zvcih0IGluIGUpe2xldCBpPShJNGUuY2FsbChhLHQpP2FbdF06dm9pZCAwKXx8KGFbdF09e30pLG89ZVt0XSxuO2lmKG8pZm9yKG4gaW4gbyl7STRlLmNhbGwoaSxuKXx8KGlbbl09W10pO2xldCBsPW9bbl07UHdhKGlbbl0sQXJyYXkuaXNBcnJheShsKT9sOmw/W2xdOltdKX19fWZ1bmN0aW9uIFB3YShhLGUpe2xldCB0PS0xLHI9W107Zm9yKDsrK3Q8ZS5sZW5ndGg7KShlW3RdLmFkZD09PSJhZnRlciI/YTpyKS5wdXNoKGVbdF0pO1lyKGEsMCwwLHIpfWZ1bmN0aW9uIFRRKGEpe2xldCBlPXt9LHQ9LTE7Zm9yKDsrK3Q8YS5sZW5ndGg7KUV3YShlLGFbdF0pO3JldHVybiBlfWZ1bmN0aW9uIEV3YShhLGUpe2xldCB0O2Zvcih0IGluIGUpe2xldCBpPShJNGUuY2FsbChhLHQpP2FbdF06dm9pZCAwKXx8KGFbdF09e30pLG89ZVt0XSxuO2lmKG8pZm9yKG4gaW4gbylpW25dPW9bbl19fXZhciBJNGUsTFE9ZigoKT0+e1AyKCk7STRlPXt9Lmhhc093blByb3BlcnR5O3MoX1EsImNvbWJpbmVFeHRlbnNpb25zIik7cyhBd2EsInN5bnRheEV4dGVuc2lvbiIpO3MoUHdhLCJjb25zdHJ1Y3RzIik7cyhUUSwiY29tYmluZUh0bWxFeHRlbnNpb25zIik7cyhFd2EsImh0bWxFeHRlbnNpb24iKX0pO2Z1bmN0aW9uIE80ZSgpe3JldHVybnt0ZXh0OkUyfX1mdW5jdGlvbiBSd2EoYSxlLHQpe2xldCByPXRoaXMsaSxvO3JldHVybiBuO2Z1bmN0aW9uIG4odSl7cmV0dXJuIU40ZSh1KXx8IW11dC5jYWxsKHIsci5wcmV2aW91cyl8fFI0ZShyLmV2ZW50cyk/dCh1KTooYS5lbnRlcigibGl0ZXJhbEF1dG9saW5rIiksYS5lbnRlcigibGl0ZXJhbEF1dG9saW5rRW1haWwiKSxsKHUpKX1mdW5jdGlvbiBsKHUpe3JldHVybiBONGUodSk/KGEuY29uc3VtZSh1KSxsKTp1PT09NjQ/KGEuY29uc3VtZSh1KSxkKTp0KHUpfWZ1bmN0aW9uIGQodSl7cmV0dXJuIHU9PT00Nj9hLmNoZWNrKE53YSxwLGMpKHUpOnU9PT00NXx8dT09PTk1fHxJcih1KT8obz0hMCxhLmNvbnN1bWUodSksZCk6cCh1KX1mdW5jdGlvbiBjKHUpe3JldHVybiBhLmNvbnN1bWUodSksaT0hMCxkfWZ1bmN0aW9uIHAodSl7cmV0dXJuIG8mJmkmJkFzKHIucHJldmlvdXMpPyhhLmV4aXQoImxpdGVyYWxBdXRvbGlua0VtYWlsIiksYS5leGl0KCJsaXRlcmFsQXV0b2xpbmsiKSxlKHUpKTp0KHUpfX1mdW5jdGlvbiBPd2EoYSxlLHQpe2xldCByPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShuKXtyZXR1cm4gbiE9PTg3JiZuIT09MTE5fHwhZnV0LmNhbGwocixyLnByZXZpb3VzKXx8UjRlKHIuZXZlbnRzKT90KG4pOihhLmVudGVyKCJsaXRlcmFsQXV0b2xpbmsiKSxhLmVudGVyKCJsaXRlcmFsQXV0b2xpbmtXd3ciKSxhLmNoZWNrKEl3YSxhLmF0dGVtcHQobHV0LGEuYXR0ZW1wdChjdXQsbyksdCksdCkobikpfWZ1bmN0aW9uIG8obil7cmV0dXJuIGEuZXhpdCgibGl0ZXJhbEF1dG9saW5rV3d3IiksYS5leGl0KCJsaXRlcmFsQXV0b2xpbmsiKSxlKG4pfX1mdW5jdGlvbiBGd2EoYSxlLHQpe2xldCByPXRoaXMsaT0iIixvPSExO3JldHVybiBuO2Z1bmN0aW9uIG4odSl7cmV0dXJuKHU9PT03Mnx8dT09PTEwNCkmJmh1dC5jYWxsKHIsci5wcmV2aW91cykmJiFSNGUoci5ldmVudHMpPyhhLmVudGVyKCJsaXRlcmFsQXV0b2xpbmsiKSxhLmVudGVyKCJsaXRlcmFsQXV0b2xpbmtIdHRwIiksaSs9U3RyaW5nLmZyb21Db2RlUG9pbnQodSksYS5jb25zdW1lKHUpLGwpOnQodSl9ZnVuY3Rpb24gbCh1KXtpZihBcyh1KSYmaS5sZW5ndGg8NSlyZXR1cm4gaSs9U3RyaW5nLmZyb21Db2RlUG9pbnQodSksYS5jb25zdW1lKHUpLGw7aWYodT09PTU4KXtsZXQgbT1pLnRvTG93ZXJDYXNlKCk7aWYobT09PSJodHRwInx8bT09PSJodHRwcyIpcmV0dXJuIGEuY29uc3VtZSh1KSxkfXJldHVybiB0KHUpfWZ1bmN0aW9uIGQodSl7cmV0dXJuIHU9PT00Nz8oYS5jb25zdW1lKHUpLG8/Yzoobz0hMCxkKSk6dCh1KX1mdW5jdGlvbiBjKHUpe3JldHVybiB1PT09bnVsbHx8RjModSl8fHVhKHUpfHxBMih1KXx8QjModSk/dCh1KTphLmF0dGVtcHQobHV0LGEuYXR0ZW1wdChjdXQscCksdCkodSl9ZnVuY3Rpb24gcCh1KXtyZXR1cm4gYS5leGl0KCJsaXRlcmFsQXV0b2xpbmtIdHRwIiksYS5leGl0KCJsaXRlcmFsQXV0b2xpbmsiKSxlKHUpfX1mdW5jdGlvbiBCd2EoYSxlLHQpe2xldCByPTA7cmV0dXJuIGk7ZnVuY3Rpb24gaShuKXtyZXR1cm4obj09PTg3fHxuPT09MTE5KSYmcjwzPyhyKyssYS5jb25zdW1lKG4pLGkpOm49PT00NiYmcj09PTM/KGEuY29uc3VtZShuKSxvKTp0KG4pfWZ1bmN0aW9uIG8obil7cmV0dXJuIG49PT1udWxsP3Qobik6ZShuKX19ZnVuY3Rpb24gSHdhKGEsZSx0KXtsZXQgcixpLG87cmV0dXJuIG47ZnVuY3Rpb24gbihjKXtyZXR1cm4gYz09PTQ2fHxjPT09OTU/YS5jaGVjayhkdXQsZCxsKShjKTpjPT09bnVsbHx8dWEoYyl8fEEyKGMpfHxjIT09NDUmJkIzKGMpP2QoYyk6KG89ITAsYS5jb25zdW1lKGMpLG4pfWZ1bmN0aW9uIGwoYyl7cmV0dXJuIGM9PT05NT9yPSEwOihpPXIscj12b2lkIDApLGEuY29uc3VtZShjKSxufWZ1bmN0aW9uIGQoYyl7cmV0dXJuIGl8fHJ8fCFvP3QoYyk6ZShjKX19ZnVuY3Rpb24gcXdhKGEsZSl7bGV0IHQ9MCxyPTA7cmV0dXJuIGk7ZnVuY3Rpb24gaShuKXtyZXR1cm4gbj09PTQwPyh0KyssYS5jb25zdW1lKG4pLGkpOm49PT00MSYmcjx0P28obik6bj09PTMzfHxuPT09MzR8fG49PT0zOHx8bj09PTM5fHxuPT09NDF8fG49PT00Mnx8bj09PTQ0fHxuPT09NDZ8fG49PT01OHx8bj09PTU5fHxuPT09NjB8fG49PT02M3x8bj09PTkzfHxuPT09OTV8fG49PT0xMjY/YS5jaGVjayhkdXQsZSxvKShuKTpuPT09bnVsbHx8dWEobil8fEEyKG4pP2Uobik6KGEuY29uc3VtZShuKSxpKX1mdW5jdGlvbiBvKG4pe3JldHVybiBuPT09NDEmJnIrKyxhLmNvbnN1bWUobiksaX19ZnVuY3Rpb24gVndhKGEsZSx0KXtyZXR1cm4gcjtmdW5jdGlvbiByKGwpe3JldHVybiBsPT09MzN8fGw9PT0zNHx8bD09PTM5fHxsPT09NDF8fGw9PT00Mnx8bD09PTQ0fHxsPT09NDZ8fGw9PT01OHx8bD09PTU5fHxsPT09NjN8fGw9PT05NXx8bD09PTEyNj8oYS5jb25zdW1lKGwpLHIpOmw9PT0zOD8oYS5jb25zdW1lKGwpLG8pOmw9PT05Mz8oYS5jb25zdW1lKGwpLGkpOmw9PT02MHx8bD09PW51bGx8fHVhKGwpfHxBMihsKT9lKGwpOnQobCl9ZnVuY3Rpb24gaShsKXtyZXR1cm4gbD09PW51bGx8fGw9PT00MHx8bD09PTkxfHx1YShsKXx8QTIobCk/ZShsKTpyKGwpfWZ1bmN0aW9uIG8obCl7cmV0dXJuIEFzKGwpP24obCk6dChsKX1mdW5jdGlvbiBuKGwpe3JldHVybiBsPT09NTk/KGEuY29uc3VtZShsKSxyKTpBcyhsKT8oYS5jb25zdW1lKGwpLG4pOnQobCl9fWZ1bmN0aW9uIGp3YShhLGUsdCl7cmV0dXJuIHI7ZnVuY3Rpb24gcihvKXtyZXR1cm4gYS5jb25zdW1lKG8pLGl9ZnVuY3Rpb24gaShvKXtyZXR1cm4gSXIobyk/dChvKTplKG8pfX1mdW5jdGlvbiBmdXQoYSl7cmV0dXJuIGE9PT1udWxsfHxhPT09NDB8fGE9PT00Mnx8YT09PTk1fHxhPT09OTF8fGE9PT05M3x8YT09PTEyNnx8dWEoYSl9ZnVuY3Rpb24gaHV0KGEpe3JldHVybiFBcyhhKX1mdW5jdGlvbiBtdXQoYSl7cmV0dXJuIShhPT09NDd8fE40ZShhKSl9ZnVuY3Rpb24gTjRlKGEpe3JldHVybiBhPT09NDN8fGE9PT00NXx8YT09PTQ2fHxhPT09OTV8fElyKGEpfWZ1bmN0aW9uIFI0ZShhKXtsZXQgZT1hLmxlbmd0aCx0PSExO2Zvcig7ZS0tOyl7bGV0IHI9YVtlXVsxXTtpZigoci50eXBlPT09ImxhYmVsTGluayJ8fHIudHlwZT09PSJsYWJlbEltYWdlIikmJiFyLl9iYWxhbmNlZCl7dD0hMDticmVha31pZihyLl9nZm1BdXRvbGlua0xpdGVyYWxXYWxrZWRJbnRvKXt0PSExO2JyZWFrfX1yZXR1cm4gYS5sZW5ndGg+MCYmIXQmJihhW2EubGVuZ3RoLTFdWzFdLl9nZm1BdXRvbGlua0xpdGVyYWxXYWxrZWRJbnRvPSEwKSx0fXZhciBJd2EsbHV0LGN1dCxkdXQsTndhLHV1dCxwdXQsSGwsRTIsZ3V0PWYoKCk9PntiYSgpO0l3YT17dG9rZW5pemU6QndhLHBhcnRpYWw6ITB9LGx1dD17dG9rZW5pemU6SHdhLHBhcnRpYWw6ITB9LGN1dD17dG9rZW5pemU6cXdhLHBhcnRpYWw6ITB9LGR1dD17dG9rZW5pemU6VndhLHBhcnRpYWw6ITB9LE53YT17dG9rZW5pemU6andhLHBhcnRpYWw6ITB9LHV1dD17bmFtZToid3d3QXV0b2xpbmsiLHRva2VuaXplOk93YSxwcmV2aW91czpmdXR9LHB1dD17bmFtZToicHJvdG9jb2xBdXRvbGluayIsdG9rZW5pemU6RndhLHByZXZpb3VzOmh1dH0sSGw9e25hbWU6ImVtYWlsQXV0b2xpbmsiLHRva2VuaXplOlJ3YSxwcmV2aW91czptdXR9LEUyPXt9O3MoTzRlLCJnZm1BdXRvbGlua0xpdGVyYWwiKTtmb3IodmFyIFUzPTQ4O1UzPDEyMzspRTJbVTNdPUhsLFUzKyssVTM9PT01OD9VMz02NTpVMz09PTkxJiYoVTM9OTcpO0UyWzQzXT1IbCxFMls0NV09SGwsRTJbNDZdPUhsLEUyWzk1XT1IbCxFMls3Ml09W0hsLHB1dF0sRTJbMTA0XT1bSGwscHV0XSxFMls4N109W0hsLHV1dF0sRTJbMTE5XT1bSGwsdXV0XTtzKFJ3YSwidG9rZW5pemVFbWFpbEF1dG9saW5rIik7cyhPd2EsInRva2VuaXplV3d3QXV0b2xpbmsiKTtzKEZ3YSwidG9rZW5pemVQcm90b2NvbEF1dG9saW5rIik7cyhCd2EsInRva2VuaXplV3d3UHJlZml4Iik7cyhId2EsInRva2VuaXplRG9tYWluIik7cyhxd2EsInRva2VuaXplUGF0aCIpO3MoVndhLCJ0b2tlbml6ZVRyYWlsIik7cyhqd2EsInRva2VuaXplRW1haWxEb21haW5Eb3RUcmFpbCIpO3MoZnV0LCJwcmV2aW91c1d3dyIpO3MoaHV0LCJwcmV2aW91c1Byb3RvY29sIik7cyhtdXQsInByZXZpb3VzRW1haWwiKTtzKE40ZSwiZ2ZtQXRleHQiKTtzKFI0ZSwicHJldmlvdXNVbmJhbGFuY2VkIil9KTtmdW5jdGlvbiAkUShhKXtyZXR1cm4gYS5yZXBsYWNlKC9bIiY8Pl0vZyxlKTtmdW5jdGlvbiBlKHQpe3JldHVybiImIitVd2FbdF0rIjsifX12YXIgVXdhLEY0ZT1mKCgpPT57VXdhPXsnIic6InF1b3QiLCImIjoiYW1wIiwiPCI6Imx0IiwiPiI6Imd0In07cygkUSwiZW5jb2RlIil9KTtmdW5jdGlvbiBJMihhLGUpe2xldCB0PSRRKFhvKGF8fCIiKSk7aWYoIWUpcmV0dXJuIHQ7bGV0IHI9dC5pbmRleE9mKCI6IiksaT10LmluZGV4T2YoIj8iKSxvPXQuaW5kZXhPZigiIyIpLG49dC5pbmRleE9mKCIvIik7cmV0dXJuIHI8MHx8bj4tMSYmcj5ufHxpPi0xJiZyPml8fG8+LTEmJnI+b3x8ZS50ZXN0KHQuc2xpY2UoMCxyKSk/dDoiIn1mdW5jdGlvbiBYbyhhKXtsZXQgZT1bXSx0PS0xLHI9MCxpPTA7Zm9yKDsrK3Q8YS5sZW5ndGg7KXtsZXQgbz1hLmNoYXJDb2RlQXQodCksbj0iIjtpZihvPT09MzcmJklyKGEuY2hhckNvZGVBdCh0KzEpKSYmSXIoYS5jaGFyQ29kZUF0KHQrMikpKWk9MjtlbHNlIGlmKG88MTI4KS9bISMkJi07PT8tWl9hLXp+XS8udGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKG8pKXx8KG49U3RyaW5nLmZyb21DaGFyQ29kZShvKSk7ZWxzZSBpZihvPjU1Mjk1JiZvPDU3MzQ0KXtsZXQgbD1hLmNoYXJDb2RlQXQodCsxKTtvPDU2MzIwJiZsPjU2MzE5JiZsPDU3MzQ0PyhuPVN0cmluZy5mcm9tQ2hhckNvZGUobyxsKSxpPTEpOm49Ilx1RkZGRCJ9ZWxzZSBuPVN0cmluZy5mcm9tQ2hhckNvZGUobyk7biYmKGUucHVzaChhLnNsaWNlKHIsdCksZW5jb2RlVVJJQ29tcG9uZW50KG4pKSxyPXQraSsxLG49IiIpLGkmJih0Kz1pLGk9MCl9cmV0dXJuIGUuam9pbigiIikrYS5zbGljZShyKX12YXIgTjI9ZigoKT0+e2JhKCk7RjRlKCk7cyhJMiwic2FuaXRpemVVcmkiKTtzKFhvLCJub3JtYWxpemVVcmkiKX0pO2Z1bmN0aW9uIEg0ZSgpe3JldHVybntleGl0OntsaXRlcmFsQXV0b2xpbmtFbWFpbDpHd2EsbGl0ZXJhbEF1dG9saW5rSHR0cDpZd2EsbGl0ZXJhbEF1dG9saW5rV3d3Old3YX19fWZ1bmN0aW9uIFd3YShhKXtCNGUuY2FsbCh0aGlzLGEsImh0dHA6Ly8iKX1mdW5jdGlvbiBHd2EoYSl7QjRlLmNhbGwodGhpcyxhLCJtYWlsdG86Iil9ZnVuY3Rpb24gWXdhKGEpe0I0ZS5jYWxsKHRoaXMsYSl9ZnVuY3Rpb24gQjRlKGEsZSl7bGV0IHQ9dGhpcy5zbGljZVNlcmlhbGl6ZShhKTt0aGlzLnRhZygnPGEgaHJlZj0iJytJMigoZXx8IiIpK3QpKyciPicpLHRoaXMucmF3KHRoaXMuZW5jb2RlKHQpKSx0aGlzLnRhZygiPC9hPiIpfXZhciBidXQ9ZigoKT0+e04yKCk7cyhINGUsImdmbUF1dG9saW5rTGl0ZXJhbEh0bWwiKTtzKFd3YSwibGl0ZXJhbEF1dG9saW5rV3d3Iik7cyhHd2EsImxpdGVyYWxBdXRvbGlua0VtYWlsIik7cyhZd2EsImxpdGVyYWxBdXRvbGlua0h0dHAiKTtzKEI0ZSwiYW5jaG9yRnJvbVRva2VuIil9KTt2YXIgdnV0PWYoKCk9PntndXQoKTtidXQoKX0pO2Z1bmN0aW9uIEgwKGEsZSx0KXtsZXQgcj1bXSxpPS0xO2Zvcig7KytpPGEubGVuZ3RoOyl7bGV0IG89YVtpXS5yZXNvbHZlQWxsO28mJiFyLmluY2x1ZGVzKG8pJiYoZT1vKGUsdCksci5wdXNoKG8pKX1yZXR1cm4gZX12YXIgVWc9ZigoKT0+e3MoSDAsInJlc29sdmVBbGwiKX0pO2Z1bmN0aW9uIEt3YShhLGUpe2xldCB0PS0xLHIsaSxvLG4sbCxkLGMscDtmb3IoOysrdDxhLmxlbmd0aDspaWYoYVt0XVswXT09PSJlbnRlciImJmFbdF1bMV0udHlwZT09PSJhdHRlbnRpb25TZXF1ZW5jZSImJmFbdF1bMV0uX2Nsb3NlKXtmb3Iocj10O3ItLTspaWYoYVtyXVswXT09PSJleGl0IiYmYVtyXVsxXS50eXBlPT09ImF0dGVudGlvblNlcXVlbmNlIiYmYVtyXVsxXS5fb3BlbiYmZS5zbGljZVNlcmlhbGl6ZShhW3JdWzFdKS5jaGFyQ29kZUF0KDApPT09ZS5zbGljZVNlcmlhbGl6ZShhW3RdWzFdKS5jaGFyQ29kZUF0KDApKXtpZigoYVtyXVsxXS5fY2xvc2V8fGFbdF1bMV0uX29wZW4pJiYoYVt0XVsxXS5lbmQub2Zmc2V0LWFbdF1bMV0uc3RhcnQub2Zmc2V0KSUzJiYhKChhW3JdWzFdLmVuZC5vZmZzZXQtYVtyXVsxXS5zdGFydC5vZmZzZXQrYVt0XVsxXS5lbmQub2Zmc2V0LWFbdF1bMV0uc3RhcnQub2Zmc2V0KSUzKSljb250aW51ZTtkPWFbcl1bMV0uZW5kLm9mZnNldC1hW3JdWzFdLnN0YXJ0Lm9mZnNldD4xJiZhW3RdWzFdLmVuZC5vZmZzZXQtYVt0XVsxXS5zdGFydC5vZmZzZXQ+MT8yOjE7bGV0IHU9ey4uLmFbcl1bMV0uZW5kfSxtPXsuLi5hW3RdWzFdLnN0YXJ0fTt4dXQodSwtZCkseHV0KG0sZCksbj17dHlwZTpkPjE/InN0cm9uZ1NlcXVlbmNlIjoiZW1waGFzaXNTZXF1ZW5jZSIsc3RhcnQ6dSxlbmQ6ey4uLmFbcl1bMV0uZW5kfX0sbD17dHlwZTpkPjE/InN0cm9uZ1NlcXVlbmNlIjoiZW1waGFzaXNTZXF1ZW5jZSIsc3RhcnQ6ey4uLmFbdF1bMV0uc3RhcnR9LGVuZDptfSxvPXt0eXBlOmQ+MT8ic3Ryb25nVGV4dCI6ImVtcGhhc2lzVGV4dCIsc3RhcnQ6ey4uLmFbcl1bMV0uZW5kfSxlbmQ6ey4uLmFbdF1bMV0uc3RhcnR9fSxpPXt0eXBlOmQ+MT8ic3Ryb25nIjoiZW1waGFzaXMiLHN0YXJ0OnsuLi5uLnN0YXJ0fSxlbmQ6ey4uLmwuZW5kfX0sYVtyXVsxXS5lbmQ9ey4uLm4uc3RhcnR9LGFbdF1bMV0uc3RhcnQ9ey4uLmwuZW5kfSxjPVtdLGFbcl1bMV0uZW5kLm9mZnNldC1hW3JdWzFdLnN0YXJ0Lm9mZnNldCYmKGM9ZnMoYyxbWyJlbnRlciIsYVtyXVsxXSxlXSxbImV4aXQiLGFbcl1bMV0sZV1dKSksYz1mcyhjLFtbImVudGVyIixpLGVdLFsiZW50ZXIiLG4sZV0sWyJleGl0IixuLGVdLFsiZW50ZXIiLG8sZV1dKSxjPWZzKGMsSDAoZS5wYXJzZXIuY29uc3RydWN0cy5pbnNpZGVTcGFuLm51bGwsYS5zbGljZShyKzEsdCksZSkpLGM9ZnMoYyxbWyJleGl0IixvLGVdLFsiZW50ZXIiLGwsZV0sWyJleGl0IixsLGVdLFsiZXhpdCIsaSxlXV0pLGFbdF1bMV0uZW5kLm9mZnNldC1hW3RdWzFdLnN0YXJ0Lm9mZnNldD8ocD0yLGM9ZnMoYyxbWyJlbnRlciIsYVt0XVsxXSxlXSxbImV4aXQiLGFbdF1bMV0sZV1dKSk6cD0wLFlyKGEsci0xLHQtciszLGMpLHQ9citjLmxlbmd0aC1wLTI7YnJlYWt9fWZvcih0PS0xOysrdDxhLmxlbmd0aDspYVt0XVsxXS50eXBlPT09ImF0dGVudGlvblNlcXVlbmNlIiYmKGFbdF1bMV0udHlwZT0iZGF0YSIpO3JldHVybiBhfWZ1bmN0aW9uIFp3YShhLGUpe2xldCB0PXRoaXMucGFyc2VyLmNvbnN0cnVjdHMuYXR0ZW50aW9uTWFya2Vycy5udWxsLHI9dGhpcy5wcmV2aW91cyxpPUJsKHIpLG87cmV0dXJuIG47ZnVuY3Rpb24gbihkKXtyZXR1cm4gbz1kLGEuZW50ZXIoImF0dGVudGlvblNlcXVlbmNlIiksbChkKX1mdW5jdGlvbiBsKGQpe2lmKGQ9PT1vKXJldHVybiBhLmNvbnN1bWUoZCksbDtsZXQgYz1hLmV4aXQoImF0dGVudGlvblNlcXVlbmNlIikscD1CbChkKSx1PSFwfHxwPT09MiYmaXx8dC5pbmNsdWRlcyhkKSxtPSFpfHxpPT09MiYmcHx8dC5pbmNsdWRlcyhyKTtyZXR1cm4gYy5fb3Blbj0hIShvPT09NDI/dTp1JiYoaXx8IW0pKSxjLl9jbG9zZT0hIShvPT09NDI/bTptJiYocHx8IXUpKSxlKGQpfX1mdW5jdGlvbiB4dXQoYSxlKXthLmNvbHVtbis9ZSxhLm9mZnNldCs9ZSxhLl9idWZmZXJJbmRleCs9ZX12YXIgV2cseXV0PWYoKCk9PntQMigpO3hRKCk7VWcoKTtXZz17bmFtZToiYXR0ZW50aW9uIixyZXNvbHZlQWxsOkt3YSx0b2tlbml6ZTpad2F9O3MoS3dhLCJyZXNvbHZlQWxsQXR0ZW50aW9uIik7cyhad2EsInRva2VuaXplQXR0ZW50aW9uIik7cyh4dXQsIm1vdmVQb2ludCIpfSk7ZnVuY3Rpb24gWHdhKGEsZSx0KXtsZXQgcj0wO3JldHVybiBpO2Z1bmN0aW9uIGkodil7cmV0dXJuIGEuZW50ZXIoImF1dG9saW5rIiksYS5lbnRlcigiYXV0b2xpbmtNYXJrZXIiKSxhLmNvbnN1bWUodiksYS5leGl0KCJhdXRvbGlua01hcmtlciIpLGEuZW50ZXIoImF1dG9saW5rUHJvdG9jb2wiKSxvfWZ1bmN0aW9uIG8odil7cmV0dXJuIEFzKHYpPyhhLmNvbnN1bWUodiksbik6dj09PTY0P3Qodik6Yyh2KX1mdW5jdGlvbiBuKHYpe3JldHVybiB2PT09NDN8fHY9PT00NXx8dj09PTQ2fHxJcih2KT8ocj0xLGwodikpOmModil9ZnVuY3Rpb24gbCh2KXtyZXR1cm4gdj09PTU4PyhhLmNvbnN1bWUodikscj0wLGQpOih2PT09NDN8fHY9PT00NXx8dj09PTQ2fHxJcih2KSkmJnIrKzwzMj8oYS5jb25zdW1lKHYpLGwpOihyPTAsYyh2KSl9ZnVuY3Rpb24gZCh2KXtyZXR1cm4gdj09PTYyPyhhLmV4aXQoImF1dG9saW5rUHJvdG9jb2wiKSxhLmVudGVyKCJhdXRvbGlua01hcmtlciIpLGEuY29uc3VtZSh2KSxhLmV4aXQoImF1dG9saW5rTWFya2VyIiksYS5leGl0KCJhdXRvbGluayIpLGUpOnY9PT1udWxsfHx2PT09MzJ8fHY9PT02MHx8RjModik/dCh2KTooYS5jb25zdW1lKHYpLGQpfWZ1bmN0aW9uIGModil7cmV0dXJuIHY9PT02ND8oYS5jb25zdW1lKHYpLHApOm5kdCh2KT8oYS5jb25zdW1lKHYpLGMpOnQodil9ZnVuY3Rpb24gcCh2KXtyZXR1cm4gSXIodik/dSh2KTp0KHYpfWZ1bmN0aW9uIHUodil7cmV0dXJuIHY9PT00Nj8oYS5jb25zdW1lKHYpLHI9MCxwKTp2PT09NjI/KGEuZXhpdCgiYXV0b2xpbmtQcm90b2NvbCIpLnR5cGU9ImF1dG9saW5rRW1haWwiLGEuZW50ZXIoImF1dG9saW5rTWFya2VyIiksYS5jb25zdW1lKHYpLGEuZXhpdCgiYXV0b2xpbmtNYXJrZXIiKSxhLmV4aXQoImF1dG9saW5rIiksZSk6bSh2KX1mdW5jdGlvbiBtKHYpe2lmKCh2PT09NDV8fElyKHYpKSYmcisrPDYzKXtsZXQgeD12PT09NDU/bTp1O3JldHVybiBhLmNvbnN1bWUodikseH1yZXR1cm4gdCh2KX19dmFyIHE0ZSx3dXQ9ZigoKT0+e2JhKCk7cTRlPXtuYW1lOiJhdXRvbGluayIsdG9rZW5pemU6WHdhfTtzKFh3YSwidG9rZW5pemVBdXRvbGluayIpfSk7ZnVuY3Rpb24gRHQoYSxlLHQscil7bGV0IGk9cj9yLTE6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLG89MDtyZXR1cm4gbjtmdW5jdGlvbiBuKGQpe3JldHVybiBDdChkKT8oYS5lbnRlcih0KSxsKGQpKTplKGQpfWZ1bmN0aW9uIGwoZCl7cmV0dXJuIEN0KGQpJiZvKys8aT8oYS5jb25zdW1lKGQpLGwpOihhLmV4aXQodCksZShkKSl9fXZhciBLcj1mKCgpPT57YmEoKTtzKER0LCJmYWN0b3J5U3BhY2UiKX0pO2Z1bmN0aW9uIFF3YShhLGUsdCl7cmV0dXJuIHI7ZnVuY3Rpb24gcihvKXtyZXR1cm4gQ3Qobyk/RHQoYSxpLCJsaW5lUHJlZml4Iikobyk6aShvKX1mdW5jdGlvbiBpKG8pe3JldHVybiBvPT09bnVsbHx8ZXQobyk/ZShvKTp0KG8pfX12YXIgUjIsRFE9ZigoKT0+e0tyKCk7YmEoKTtSMj17cGFydGlhbDohMCx0b2tlbml6ZTpRd2F9O3MoUXdhLCJ0b2tlbml6ZUJsYW5rTGluZSIpfSk7ZnVuY3Rpb24gSndhKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobil7aWYobj09PTYyKXtsZXQgbD1yLmNvbnRhaW5lclN0YXRlO3JldHVybiBsLm9wZW58fChhLmVudGVyKCJibG9ja1F1b3RlIix7X2NvbnRhaW5lcjohMH0pLGwub3Blbj0hMCksYS5lbnRlcigiYmxvY2tRdW90ZVByZWZpeCIpLGEuZW50ZXIoImJsb2NrUXVvdGVNYXJrZXIiKSxhLmNvbnN1bWUobiksYS5leGl0KCJibG9ja1F1b3RlTWFya2VyIiksb31yZXR1cm4gdChuKX1mdW5jdGlvbiBvKG4pe3JldHVybiBDdChuKT8oYS5lbnRlcigiYmxvY2tRdW90ZVByZWZpeFdoaXRlc3BhY2UiKSxhLmNvbnN1bWUobiksYS5leGl0KCJibG9ja1F1b3RlUHJlZml4V2hpdGVzcGFjZSIpLGEuZXhpdCgiYmxvY2tRdW90ZVByZWZpeCIpLGUpOihhLmV4aXQoImJsb2NrUXVvdGVQcmVmaXgiKSxlKG4pKX19ZnVuY3Rpb24gZU1hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobil7cmV0dXJuIEN0KG4pP0R0KGEsbywibGluZVByZWZpeCIsci5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo0KShuKTpvKG4pfWZ1bmN0aW9uIG8obil7cmV0dXJuIGEuYXR0ZW1wdChBUSxlLHQpKG4pfX1mdW5jdGlvbiB0TWEoYSl7YS5leGl0KCJibG9ja1F1b3RlIil9dmFyIEFRLE11dD1mKCgpPT57S3IoKTtiYSgpO0FRPXtjb250aW51YXRpb246e3Rva2VuaXplOmVNYX0sZXhpdDp0TWEsbmFtZToiYmxvY2tRdW90ZSIsdG9rZW5pemU6SndhfTtzKEp3YSwidG9rZW5pemVCbG9ja1F1b3RlU3RhcnQiKTtzKGVNYSwidG9rZW5pemVCbG9ja1F1b3RlQ29udGludWF0aW9uIik7cyh0TWEsImV4aXQiKX0pO2Z1bmN0aW9uIGFNYShhLGUsdCl7cmV0dXJuIHI7ZnVuY3Rpb24gcihvKXtyZXR1cm4gYS5lbnRlcigiY2hhcmFjdGVyRXNjYXBlIiksYS5lbnRlcigiZXNjYXBlTWFya2VyIiksYS5jb25zdW1lKG8pLGEuZXhpdCgiZXNjYXBlTWFya2VyIiksaX1mdW5jdGlvbiBpKG8pe3JldHVybiBjZHQobyk/KGEuZW50ZXIoImNoYXJhY3RlckVzY2FwZVZhbHVlIiksYS5jb25zdW1lKG8pLGEuZXhpdCgiY2hhcmFjdGVyRXNjYXBlVmFsdWUiKSxhLmV4aXQoImNoYXJhY3RlckVzY2FwZSIpLGUpOnQobyl9fXZhciBQUSxrdXQ9ZigoKT0+e2JhKCk7UFE9e25hbWU6ImNoYXJhY3RlckVzY2FwZSIsdG9rZW5pemU6YU1hfTtzKGFNYSwidG9rZW5pemVDaGFyYWN0ZXJFc2NhcGUiKX0pO2Z1bmN0aW9uIHJNYShhLGUsdCl7bGV0IHI9dGhpcyxpPTAsbyxuO3JldHVybiBsO2Z1bmN0aW9uIGwodSl7cmV0dXJuIGEuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZSIpLGEuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlciIpLGEuY29uc3VtZSh1KSxhLmV4aXQoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlciIpLGR9ZnVuY3Rpb24gZCh1KXtyZXR1cm4gdT09PTM1PyhhLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljIiksYS5jb25zdW1lKHUpLGEuZXhpdCgiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyTnVtZXJpYyIpLGMpOihhLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VWYWx1ZSIpLG89MzEsbj1JcixwKHUpKX1mdW5jdGlvbiBjKHUpe3JldHVybiB1PT09ODh8fHU9PT0xMjA/KGEuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlckhleGFkZWNpbWFsIiksYS5jb25zdW1lKHUpLGEuZXhpdCgiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VySGV4YWRlY2ltYWwiKSxhLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VWYWx1ZSIpLG89NixuPWxkdCxwKTooYS5lbnRlcigiY2hhcmFjdGVyUmVmZXJlbmNlVmFsdWUiKSxvPTcsbj1CZyxwKHUpKX1mdW5jdGlvbiBwKHUpe2lmKHU9PT01OSYmaSl7bGV0IG09YS5leGl0KCJjaGFyYWN0ZXJSZWZlcmVuY2VWYWx1ZSIpO3JldHVybiBuPT09SXImJiFCMChyLnNsaWNlU2VyaWFsaXplKG0pKT90KHUpOihhLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXIiKSxhLmNvbnN1bWUodSksYS5leGl0KCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXIiKSxhLmV4aXQoImNoYXJhY3RlclJlZmVyZW5jZSIpLGUpfXJldHVybiBuKHUpJiZpKys8bz8oYS5jb25zdW1lKHUpLHApOnQodSl9fXZhciBFUSxTdXQ9ZigoKT0+e2pnKCk7YmEoKTtFUT17bmFtZToiY2hhcmFjdGVyUmVmZXJlbmNlIix0b2tlbml6ZTpyTWF9O3Mock1hLCJ0b2tlbml6ZUNoYXJhY3RlclJlZmVyZW5jZSIpfSk7ZnVuY3Rpb24gc01hKGEsZSx0KXtsZXQgcj10aGlzLGk9e3BhcnRpYWw6ITAsdG9rZW5pemU6X30sbz0wLG49MCxsO3JldHVybiBkO2Z1bmN0aW9uIGQoeil7cmV0dXJuIGMoeil9ZnVuY3Rpb24gYyh6KXtsZXQgTz1yLmV2ZW50c1tyLmV2ZW50cy5sZW5ndGgtMV07cmV0dXJuIG89TyYmT1sxXS50eXBlPT09ImxpbmVQcmVmaXgiP09bMl0uc2xpY2VTZXJpYWxpemUoT1sxXSwhMCkubGVuZ3RoOjAsbD16LGEuZW50ZXIoImNvZGVGZW5jZWQiKSxhLmVudGVyKCJjb2RlRmVuY2VkRmVuY2UiKSxhLmVudGVyKCJjb2RlRmVuY2VkRmVuY2VTZXF1ZW5jZSIpLHAoeil9ZnVuY3Rpb24gcCh6KXtyZXR1cm4gej09PWw/KG4rKyxhLmNvbnN1bWUoeikscCk6bjwzP3Qoeik6KGEuZXhpdCgiY29kZUZlbmNlZEZlbmNlU2VxdWVuY2UiKSxDdCh6KT9EdChhLHUsIndoaXRlc3BhY2UiKSh6KTp1KHopKX1mdW5jdGlvbiB1KHope3JldHVybiB6PT09bnVsbHx8ZXQoeik/KGEuZXhpdCgiY29kZUZlbmNlZEZlbmNlIiksci5pbnRlcnJ1cHQ/ZSh6KTphLmNoZWNrKHp1dCxiLE4pKHopKTooYS5lbnRlcigiY29kZUZlbmNlZEZlbmNlSW5mbyIpLGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSxtKHopKX1mdW5jdGlvbiBtKHope3JldHVybiB6PT09bnVsbHx8ZXQoeik/KGEuZXhpdCgiY2h1bmtTdHJpbmciKSxhLmV4aXQoImNvZGVGZW5jZWRGZW5jZUluZm8iKSx1KHopKTpDdCh6KT8oYS5leGl0KCJjaHVua1N0cmluZyIpLGEuZXhpdCgiY29kZUZlbmNlZEZlbmNlSW5mbyIpLER0KGEsdiwid2hpdGVzcGFjZSIpKHopKTp6PT09OTYmJno9PT1sP3Qoeik6KGEuY29uc3VtZSh6KSxtKX1mdW5jdGlvbiB2KHope3JldHVybiB6PT09bnVsbHx8ZXQoeik/dSh6KTooYS5lbnRlcigiY29kZUZlbmNlZEZlbmNlTWV0YSIpLGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSx4KHopKX1mdW5jdGlvbiB4KHope3JldHVybiB6PT09bnVsbHx8ZXQoeik/KGEuZXhpdCgiY2h1bmtTdHJpbmciKSxhLmV4aXQoImNvZGVGZW5jZWRGZW5jZU1ldGEiKSx1KHopKTp6PT09OTYmJno9PT1sP3Qoeik6KGEuY29uc3VtZSh6KSx4KX1mdW5jdGlvbiBiKHope3JldHVybiBhLmF0dGVtcHQoaSxOLGcpKHopfWZ1bmN0aW9uIGcoeil7cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUoeiksYS5leGl0KCJsaW5lRW5kaW5nIikseX1mdW5jdGlvbiB5KHope3JldHVybiBvPjAmJkN0KHopP0R0KGEsaywibGluZVByZWZpeCIsbysxKSh6KTprKHopfWZ1bmN0aW9uIGsoeil7cmV0dXJuIHo9PT1udWxsfHxldCh6KT9hLmNoZWNrKHp1dCxiLE4pKHopOihhLmVudGVyKCJjb2RlRmxvd1ZhbHVlIiksQyh6KSl9ZnVuY3Rpb24gQyh6KXtyZXR1cm4gej09PW51bGx8fGV0KHopPyhhLmV4aXQoImNvZGVGbG93VmFsdWUiKSxrKHopKTooYS5jb25zdW1lKHopLEMpfWZ1bmN0aW9uIE4oeil7cmV0dXJuIGEuZXhpdCgiY29kZUZlbmNlZCIpLGUoeil9ZnVuY3Rpb24gXyh6LE8sVCl7bGV0IFA9MDtyZXR1cm4gQjtmdW5jdGlvbiBCKEYpe3JldHVybiB6LmVudGVyKCJsaW5lRW5kaW5nIiksei5jb25zdW1lKEYpLHouZXhpdCgibGluZUVuZGluZyIpLE19ZnVuY3Rpb24gTShGKXtyZXR1cm4gei5lbnRlcigiY29kZUZlbmNlZEZlbmNlIiksQ3QoRik/RHQoeixTLCJsaW5lUHJlZml4IixyLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIik/dm9pZCAwOjQpKEYpOlMoRil9ZnVuY3Rpb24gUyhGKXtyZXR1cm4gRj09PWw/KHouZW50ZXIoImNvZGVGZW5jZWRGZW5jZVNlcXVlbmNlIiksRShGKSk6VChGKX1mdW5jdGlvbiBFKEYpe3JldHVybiBGPT09bD8oUCsrLHouY29uc3VtZShGKSxFKTpQPj1uPyh6LmV4aXQoImNvZGVGZW5jZWRGZW5jZVNlcXVlbmNlIiksQ3QoRik/RHQoeixBLCJ3aGl0ZXNwYWNlIikoRik6QShGKSk6VChGKX1mdW5jdGlvbiBBKEYpe3JldHVybiBGPT09bnVsbHx8ZXQoRik/KHouZXhpdCgiY29kZUZlbmNlZEZlbmNlIiksTyhGKSk6VChGKX19fWZ1bmN0aW9uIGlNYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKG4pe3JldHVybiBuPT09bnVsbD90KG4pOihhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKG4pLGEuZXhpdCgibGluZUVuZGluZyIpLG8pfWZ1bmN0aW9uIG8obil7cmV0dXJuIHIucGFyc2VyLmxhenlbci5ub3coKS5saW5lXT90KG4pOmUobil9fXZhciB6dXQsSVEsQ3V0PWYoKCk9PntLcigpO2JhKCk7enV0PXtwYXJ0aWFsOiEwLHRva2VuaXplOmlNYX0sSVE9e2NvbmNyZXRlOiEwLG5hbWU6ImNvZGVGZW5jZWQiLHRva2VuaXplOnNNYX07cyhzTWEsInRva2VuaXplQ29kZUZlbmNlZCIpO3MoaU1hLCJ0b2tlbml6ZU5vbkxhenlDb250aW51YXRpb24iKX0pO2Z1bmN0aW9uIG5NYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKGMpe3JldHVybiBhLmVudGVyKCJjb2RlSW5kZW50ZWQiKSxEdChhLG8sImxpbmVQcmVmaXgiLDUpKGMpfWZ1bmN0aW9uIG8oYyl7bGV0IHA9ci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdO3JldHVybiBwJiZwWzFdLnR5cGU9PT0ibGluZVByZWZpeCImJnBbMl0uc2xpY2VTZXJpYWxpemUocFsxXSwhMCkubGVuZ3RoPj00P24oYyk6dChjKX1mdW5jdGlvbiBuKGMpe3JldHVybiBjPT09bnVsbD9kKGMpOmV0KGMpP2EuYXR0ZW1wdChvTWEsbixkKShjKTooYS5lbnRlcigiY29kZUZsb3dWYWx1ZSIpLGwoYykpfWZ1bmN0aW9uIGwoYyl7cmV0dXJuIGM9PT1udWxsfHxldChjKT8oYS5leGl0KCJjb2RlRmxvd1ZhbHVlIiksbihjKSk6KGEuY29uc3VtZShjKSxsKX1mdW5jdGlvbiBkKGMpe3JldHVybiBhLmV4aXQoImNvZGVJbmRlbnRlZCIpLGUoYyl9fWZ1bmN0aW9uIGxNYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKG4pe3JldHVybiByLnBhcnNlci5sYXp5W3Iubm93KCkubGluZV0/dChuKTpldChuKT8oYS5lbnRlcigibGluZUVuZGluZyIpLGEuY29uc3VtZShuKSxhLmV4aXQoImxpbmVFbmRpbmciKSxpKTpEdChhLG8sImxpbmVQcmVmaXgiLDUpKG4pfWZ1bmN0aW9uIG8obil7bGV0IGw9ci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdO3JldHVybiBsJiZsWzFdLnR5cGU9PT0ibGluZVByZWZpeCImJmxbMl0uc2xpY2VTZXJpYWxpemUobFsxXSwhMCkubGVuZ3RoPj00P2Uobik6ZXQobik/aShuKTp0KG4pfX12YXIgR2csb01hLF91dD1mKCgpPT57S3IoKTtiYSgpO0dnPXtuYW1lOiJjb2RlSW5kZW50ZWQiLHRva2VuaXplOm5NYX0sb01hPXtwYXJ0aWFsOiEwLHRva2VuaXplOmxNYX07cyhuTWEsInRva2VuaXplQ29kZUluZGVudGVkIik7cyhsTWEsInRva2VuaXplRnVydGhlclN0YXJ0Iil9KTtmdW5jdGlvbiBjTWEoYSl7bGV0IGU9YS5sZW5ndGgtNCx0PTMscixpO2lmKChhW3RdWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fGFbdF1bMV0udHlwZT09PSJzcGFjZSIpJiYoYVtlXVsxXS50eXBlPT09ImxpbmVFbmRpbmcifHxhW2VdWzFdLnR5cGU9PT0ic3BhY2UiKSl7Zm9yKHI9dDsrK3I8ZTspaWYoYVtyXVsxXS50eXBlPT09ImNvZGVUZXh0RGF0YSIpe2FbdF1bMV0udHlwZT0iY29kZVRleHRQYWRkaW5nIixhW2VdWzFdLnR5cGU9ImNvZGVUZXh0UGFkZGluZyIsdCs9MixlLT0yO2JyZWFrfX1mb3Iocj10LTEsZSsrOysrcjw9ZTspaT09PXZvaWQgMD9yIT09ZSYmYVtyXVsxXS50eXBlIT09ImxpbmVFbmRpbmciJiYoaT1yKToocj09PWV8fGFbcl1bMV0udHlwZT09PSJsaW5lRW5kaW5nIikmJihhW2ldWzFdLnR5cGU9ImNvZGVUZXh0RGF0YSIsciE9PWkrMiYmKGFbaV1bMV0uZW5kPWFbci0xXVsxXS5lbmQsYS5zcGxpY2UoaSsyLHItaS0yKSxlLT1yLWktMixyPWkrMiksaT12b2lkIDApO3JldHVybiBhfWZ1bmN0aW9uIGRNYShhKXtyZXR1cm4gYSE9PTk2fHx0aGlzLmV2ZW50c1t0aGlzLmV2ZW50cy5sZW5ndGgtMV1bMV0udHlwZT09PSJjaGFyYWN0ZXJFc2NhcGUifWZ1bmN0aW9uIHVNYShhLGUsdCl7bGV0IHI9dGhpcyxpPTAsbyxuO3JldHVybiBsO2Z1bmN0aW9uIGwobSl7cmV0dXJuIGEuZW50ZXIoImNvZGVUZXh0IiksYS5lbnRlcigiY29kZVRleHRTZXF1ZW5jZSIpLGQobSl9ZnVuY3Rpb24gZChtKXtyZXR1cm4gbT09PTk2PyhhLmNvbnN1bWUobSksaSsrLGQpOihhLmV4aXQoImNvZGVUZXh0U2VxdWVuY2UiKSxjKG0pKX1mdW5jdGlvbiBjKG0pe3JldHVybiBtPT09bnVsbD90KG0pOm09PT0zMj8oYS5lbnRlcigic3BhY2UiKSxhLmNvbnN1bWUobSksYS5leGl0KCJzcGFjZSIpLGMpOm09PT05Nj8obj1hLmVudGVyKCJjb2RlVGV4dFNlcXVlbmNlIiksbz0wLHUobSkpOmV0KG0pPyhhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKG0pLGEuZXhpdCgibGluZUVuZGluZyIpLGMpOihhLmVudGVyKCJjb2RlVGV4dERhdGEiKSxwKG0pKX1mdW5jdGlvbiBwKG0pe3JldHVybiBtPT09bnVsbHx8bT09PTMyfHxtPT09OTZ8fGV0KG0pPyhhLmV4aXQoImNvZGVUZXh0RGF0YSIpLGMobSkpOihhLmNvbnN1bWUobSkscCl9ZnVuY3Rpb24gdShtKXtyZXR1cm4gbT09PTk2PyhhLmNvbnN1bWUobSksbysrLHUpOm89PT1pPyhhLmV4aXQoImNvZGVUZXh0U2VxdWVuY2UiKSxhLmV4aXQoImNvZGVUZXh0IiksZShtKSk6KG4udHlwZT0iY29kZVRleHREYXRhIixwKG0pKX19dmFyIFY0ZSxUdXQ9ZigoKT0+e2JhKCk7VjRlPXtuYW1lOiJjb2RlVGV4dCIscHJldmlvdXM6ZE1hLHJlc29sdmU6Y01hLHRva2VuaXplOnVNYX07cyhjTWEsInJlc29sdmVDb2RlVGV4dCIpO3MoZE1hLCJwcmV2aW91cyIpO3ModU1hLCJ0b2tlbml6ZUNvZGVUZXh0Iil9KTtmdW5jdGlvbiBZZyhhLGUpe2xldCB0PTA7aWYoZS5sZW5ndGg8MWU0KWEucHVzaCguLi5lKTtlbHNlIGZvcig7dDxlLmxlbmd0aDspYS5wdXNoKC4uLmUuc2xpY2UodCx0KzFlNCkpLHQrPTFlNH12YXIgS2csajRlPWYoKCk9PntLZz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTcGxpY2VCdWZmZXIiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmxlZnQ9ZT9bLi4uZV06W10sdGhpcy5yaWdodD1bXX1nZXQoZSl7aWYoZTwwfHxlPj10aGlzLmxlZnQubGVuZ3RoK3RoaXMucmlnaHQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJDYW5ub3QgYWNjZXNzIGluZGV4IGAiK2UrImAgaW4gYSBzcGxpY2UgYnVmZmVyIG9mIHNpemUgYCIrKHRoaXMubGVmdC5sZW5ndGgrdGhpcy5yaWdodC5sZW5ndGgpKyJgIik7cmV0dXJuIGU8dGhpcy5sZWZ0Lmxlbmd0aD90aGlzLmxlZnRbZV06dGhpcy5yaWdodFt0aGlzLnJpZ2h0Lmxlbmd0aC1lK3RoaXMubGVmdC5sZW5ndGgtMV19Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmxlZnQubGVuZ3RoK3RoaXMucmlnaHQubGVuZ3RofXNoaWZ0KCl7cmV0dXJuIHRoaXMuc2V0Q3Vyc29yKDApLHRoaXMucmlnaHQucG9wKCl9c2xpY2UoZSx0KXtsZXQgcj10Pz9OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIHI8dGhpcy5sZWZ0Lmxlbmd0aD90aGlzLmxlZnQuc2xpY2UoZSxyKTplPnRoaXMubGVmdC5sZW5ndGg/dGhpcy5yaWdodC5zbGljZSh0aGlzLnJpZ2h0Lmxlbmd0aC1yK3RoaXMubGVmdC5sZW5ndGgsdGhpcy5yaWdodC5sZW5ndGgtZSt0aGlzLmxlZnQubGVuZ3RoKS5yZXZlcnNlKCk6dGhpcy5sZWZ0LnNsaWNlKGUpLmNvbmNhdCh0aGlzLnJpZ2h0LnNsaWNlKHRoaXMucmlnaHQubGVuZ3RoLXIrdGhpcy5sZWZ0Lmxlbmd0aCkucmV2ZXJzZSgpKX1zcGxpY2UoZSx0LHIpe2xldCBpPXR8fDA7dGhpcy5zZXRDdXJzb3IoTWF0aC50cnVuYyhlKSk7bGV0IG89dGhpcy5yaWdodC5zcGxpY2UodGhpcy5yaWdodC5sZW5ndGgtaSxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpO3JldHVybiByJiZZZyh0aGlzLmxlZnQsciksby5yZXZlcnNlKCl9cG9wKCl7cmV0dXJuIHRoaXMuc2V0Q3Vyc29yKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSksdGhpcy5sZWZ0LnBvcCgpfXB1c2goZSl7dGhpcy5zZXRDdXJzb3IoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSx0aGlzLmxlZnQucHVzaChlKX1wdXNoTWFueShlKXt0aGlzLnNldEN1cnNvcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLFlnKHRoaXMubGVmdCxlKX11bnNoaWZ0KGUpe3RoaXMuc2V0Q3Vyc29yKDApLHRoaXMucmlnaHQucHVzaChlKX11bnNoaWZ0TWFueShlKXt0aGlzLnNldEN1cnNvcigwKSxZZyh0aGlzLnJpZ2h0LGUucmV2ZXJzZSgpKX1zZXRDdXJzb3IoZSl7aWYoIShlPT09dGhpcy5sZWZ0Lmxlbmd0aHx8ZT50aGlzLmxlZnQubGVuZ3RoJiZ0aGlzLnJpZ2h0Lmxlbmd0aD09PTB8fGU8MCYmdGhpcy5sZWZ0Lmxlbmd0aD09PTApKWlmKGU8dGhpcy5sZWZ0Lmxlbmd0aCl7bGV0IHQ9dGhpcy5sZWZ0LnNwbGljZShlLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7WWcodGhpcy5yaWdodCx0LnJldmVyc2UoKSl9ZWxzZXtsZXQgdD10aGlzLnJpZ2h0LnNwbGljZSh0aGlzLmxlZnQubGVuZ3RoK3RoaXMucmlnaHQubGVuZ3RoLWUsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTtZZyh0aGlzLmxlZnQsdC5yZXZlcnNlKCkpfX19O3MoWWcsImNodW5rZWRQdXNoIil9KTtmdW5jdGlvbiBOUShhKXtsZXQgZT17fSx0PS0xLHIsaSxvLG4sbCxkLGMscD1uZXcgS2coYSk7Zm9yKDsrK3Q8cC5sZW5ndGg7KXtmb3IoO3QgaW4gZTspdD1lW3RdO2lmKHI9cC5nZXQodCksdCYmclsxXS50eXBlPT09ImNodW5rRmxvdyImJnAuZ2V0KHQtMSlbMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeCImJihkPXJbMV0uX3Rva2VuaXplci5ldmVudHMsbz0wLG88ZC5sZW5ndGgmJmRbb11bMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiJiYobys9MiksbzxkLmxlbmd0aCYmZFtvXVsxXS50eXBlPT09ImNvbnRlbnQiKSlmb3IoOysrbzxkLmxlbmd0aCYmZFtvXVsxXS50eXBlIT09ImNvbnRlbnQiOylkW29dWzFdLnR5cGU9PT0iY2h1bmtUZXh0IiYmKGRbb11bMV0uX2lzSW5GaXJzdENvbnRlbnRPZkxpc3RJdGVtPSEwLG8rKyk7aWYoclswXT09PSJlbnRlciIpclsxXS5jb250ZW50VHlwZSYmKE9iamVjdC5hc3NpZ24oZSxwTWEocCx0KSksdD1lW3RdLGM9ITApO2Vsc2UgaWYoclsxXS5fY29udGFpbmVyKXtmb3Iobz10LGk9dm9pZCAwO28tLTspaWYobj1wLmdldChvKSxuWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fG5bMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiKW5bMF09PT0iZW50ZXIiJiYoaSYmKHAuZ2V0KGkpWzFdLnR5cGU9ImxpbmVFbmRpbmdCbGFuayIpLG5bMV0udHlwZT0ibGluZUVuZGluZyIsaT1vKTtlbHNlIGlmKCEoblsxXS50eXBlPT09ImxpbmVQcmVmaXgifHxuWzFdLnR5cGU9PT0ibGlzdEl0ZW1JbmRlbnQiKSlicmVhaztpJiYoclsxXS5lbmQ9ey4uLnAuZ2V0KGkpWzFdLnN0YXJ0fSxsPXAuc2xpY2UoaSx0KSxsLnVuc2hpZnQocikscC5zcGxpY2UoaSx0LWkrMSxsKSl9fXJldHVybiBZcihhLDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHAuc2xpY2UoMCkpLCFjfWZ1bmN0aW9uIHBNYShhLGUpe2xldCB0PWEuZ2V0KGUpWzFdLHI9YS5nZXQoZSlbMl0saT1lLTEsbz1bXSxuPXQuX3Rva2VuaXplcjtufHwobj1yLnBhcnNlclt0LmNvbnRlbnRUeXBlXSh0LnN0YXJ0KSx0Ll9jb250ZW50VHlwZVRleHRUcmFpbGluZyYmKG4uX2NvbnRlbnRUeXBlVGV4dFRyYWlsaW5nPSEwKSk7bGV0IGw9bi5ldmVudHMsZD1bXSxjPXt9LHAsdSxtPS0xLHY9dCx4PTAsYj0wLGc9W2JdO2Zvcig7djspe2Zvcig7YS5nZXQoKytpKVsxXSE9PXY7KTtvLnB1c2goaSksdi5fdG9rZW5pemVyfHwocD1yLnNsaWNlU3RyZWFtKHYpLHYubmV4dHx8cC5wdXNoKG51bGwpLHUmJm4uZGVmaW5lU2tpcCh2LnN0YXJ0KSx2Ll9pc0luRmlyc3RDb250ZW50T2ZMaXN0SXRlbSYmKG4uX2dmbVRhc2tsaXN0Rmlyc3RDb250ZW50T2ZMaXN0SXRlbT0hMCksbi53cml0ZShwKSx2Ll9pc0luRmlyc3RDb250ZW50T2ZMaXN0SXRlbSYmKG4uX2dmbVRhc2tsaXN0Rmlyc3RDb250ZW50T2ZMaXN0SXRlbT12b2lkIDApKSx1PXYsdj12Lm5leHR9Zm9yKHY9dDsrK208bC5sZW5ndGg7KWxbbV1bMF09PT0iZXhpdCImJmxbbS0xXVswXT09PSJlbnRlciImJmxbbV1bMV0udHlwZT09PWxbbS0xXVsxXS50eXBlJiZsW21dWzFdLnN0YXJ0LmxpbmUhPT1sW21dWzFdLmVuZC5saW5lJiYoYj1tKzEsZy5wdXNoKGIpLHYuX3Rva2VuaXplcj12b2lkIDAsdi5wcmV2aW91cz12b2lkIDAsdj12Lm5leHQpO2ZvcihuLmV2ZW50cz1bXSx2Pyh2Ll90b2tlbml6ZXI9dm9pZCAwLHYucHJldmlvdXM9dm9pZCAwKTpnLnBvcCgpLG09Zy5sZW5ndGg7bS0tOyl7bGV0IHk9bC5zbGljZShnW21dLGdbbSsxXSksaz1vLnBvcCgpO2QucHVzaChbayxrK3kubGVuZ3RoLTFdKSxhLnNwbGljZShrLDIseSl9Zm9yKGQucmV2ZXJzZSgpLG09LTE7KyttPGQubGVuZ3RoOyljW3grZFttXVswXV09eCtkW21dWzFdLHgrPWRbbV1bMV0tZFttXVswXS0xO3JldHVybiBjfXZhciBVNGU9ZigoKT0+e1AyKCk7ajRlKCk7ajRlKCk7cyhOUSwic3VidG9rZW5pemUiKTtzKHBNYSwic3ViY29udGVudCIpfSk7ZnVuY3Rpb24gaE1hKGEpe3JldHVybiBOUShhKSxhfWZ1bmN0aW9uIG1NYShhLGUpe2xldCB0O3JldHVybiByO2Z1bmN0aW9uIHIobCl7cmV0dXJuIGEuZW50ZXIoImNvbnRlbnQiKSx0PWEuZW50ZXIoImNodW5rQ29udGVudCIse2NvbnRlbnRUeXBlOiJjb250ZW50In0pLGkobCl9ZnVuY3Rpb24gaShsKXtyZXR1cm4gbD09PW51bGw/byhsKTpldChsKT9hLmNoZWNrKGZNYSxuLG8pKGwpOihhLmNvbnN1bWUobCksaSl9ZnVuY3Rpb24gbyhsKXtyZXR1cm4gYS5leGl0KCJjaHVua0NvbnRlbnQiKSxhLmV4aXQoImNvbnRlbnQiKSxlKGwpfWZ1bmN0aW9uIG4obCl7cmV0dXJuIGEuY29uc3VtZShsKSxhLmV4aXQoImNodW5rQ29udGVudCIpLHQubmV4dD1hLmVudGVyKCJjaHVua0NvbnRlbnQiLHtjb250ZW50VHlwZToiY29udGVudCIscHJldmlvdXM6dH0pLHQ9dC5uZXh0LGl9fWZ1bmN0aW9uIGdNYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKG4pe3JldHVybiBhLmV4aXQoImNodW5rQ29udGVudCIpLGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUobiksYS5leGl0KCJsaW5lRW5kaW5nIiksRHQoYSxvLCJsaW5lUHJlZml4Iil9ZnVuY3Rpb24gbyhuKXtpZihuPT09bnVsbHx8ZXQobikpcmV0dXJuIHQobik7bGV0IGw9ci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdO3JldHVybiFyLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIikmJmwmJmxbMV0udHlwZT09PSJsaW5lUHJlZml4IiYmbFsyXS5zbGljZVNlcmlhbGl6ZShsWzFdLCEwKS5sZW5ndGg+PTQ/ZShuKTphLmludGVycnVwdChyLnBhcnNlci5jb25zdHJ1Y3RzLmZsb3csdCxlKShuKX19dmFyIFc0ZSxmTWEsTHV0PWYoKCk9PntLcigpO2JhKCk7VTRlKCk7VzRlPXtyZXNvbHZlOmhNYSx0b2tlbml6ZTptTWF9LGZNYT17cGFydGlhbDohMCx0b2tlbml6ZTpnTWF9O3MoaE1hLCJyZXNvbHZlQ29udGVudCIpO3MobU1hLCJ0b2tlbml6ZUNvbnRlbnQiKTtzKGdNYSwidG9rZW5pemVDb250aW51YXRpb24iKX0pO2Z1bmN0aW9uIFJRKGEsZSx0LHIsaSxvLG4sbCxkKXtsZXQgYz1kfHxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkscD0wO3JldHVybiB1O2Z1bmN0aW9uIHUoeSl7cmV0dXJuIHk9PT02MD8oYS5lbnRlcihyKSxhLmVudGVyKGkpLGEuZW50ZXIobyksYS5jb25zdW1lKHkpLGEuZXhpdChvKSxtKTp5PT09bnVsbHx8eT09PTMyfHx5PT09NDF8fEYzKHkpP3QoeSk6KGEuZW50ZXIociksYS5lbnRlcihuKSxhLmVudGVyKGwpLGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSxiKHkpKX1mdW5jdGlvbiBtKHkpe3JldHVybiB5PT09NjI/KGEuZW50ZXIobyksYS5jb25zdW1lKHkpLGEuZXhpdChvKSxhLmV4aXQoaSksYS5leGl0KHIpLGUpOihhLmVudGVyKGwpLGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSx2KHkpKX1mdW5jdGlvbiB2KHkpe3JldHVybiB5PT09NjI/KGEuZXhpdCgiY2h1bmtTdHJpbmciKSxhLmV4aXQobCksbSh5KSk6eT09PW51bGx8fHk9PT02MHx8ZXQoeSk/dCh5KTooYS5jb25zdW1lKHkpLHk9PT05Mj94OnYpfWZ1bmN0aW9uIHgoeSl7cmV0dXJuIHk9PT02MHx8eT09PTYyfHx5PT09OTI/KGEuY29uc3VtZSh5KSx2KTp2KHkpfWZ1bmN0aW9uIGIoeSl7cmV0dXJuIXAmJih5PT09bnVsbHx8eT09PTQxfHx1YSh5KSk/KGEuZXhpdCgiY2h1bmtTdHJpbmciKSxhLmV4aXQobCksYS5leGl0KG4pLGEuZXhpdChyKSxlKHkpKTpwPGMmJnk9PT00MD8oYS5jb25zdW1lKHkpLHArKyxiKTp5PT09NDE/KGEuY29uc3VtZSh5KSxwLS0sYik6eT09PW51bGx8fHk9PT0zMnx8eT09PTQwfHxGMyh5KT90KHkpOihhLmNvbnN1bWUoeSkseT09PTkyP2c6Yil9ZnVuY3Rpb24gZyh5KXtyZXR1cm4geT09PTQwfHx5PT09NDF8fHk9PT05Mj8oYS5jb25zdW1lKHkpLGIpOmIoeSl9fXZhciBHNGU9ZigoKT0+e2JhKCk7cyhSUSwiZmFjdG9yeURlc3RpbmF0aW9uIil9KTtmdW5jdGlvbiBPUShhLGUsdCxyLGksbyl7bGV0IG49dGhpcyxsPTAsZDtyZXR1cm4gYztmdW5jdGlvbiBjKHYpe3JldHVybiBhLmVudGVyKHIpLGEuZW50ZXIoaSksYS5jb25zdW1lKHYpLGEuZXhpdChpKSxhLmVudGVyKG8pLHB9ZnVuY3Rpb24gcCh2KXtyZXR1cm4gbD45OTl8fHY9PT1udWxsfHx2PT09OTF8fHY9PT05MyYmIWR8fHY9PT05NCYmIWwmJiJfaGlkZGVuRm9vdG5vdGVTdXBwb3J0ImluIG4ucGFyc2VyLmNvbnN0cnVjdHM/dCh2KTp2PT09OTM/KGEuZXhpdChvKSxhLmVudGVyKGkpLGEuY29uc3VtZSh2KSxhLmV4aXQoaSksYS5leGl0KHIpLGUpOmV0KHYpPyhhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKHYpLGEuZXhpdCgibGluZUVuZGluZyIpLHApOihhLmVudGVyKCJjaHVua1N0cmluZyIse2NvbnRlbnRUeXBlOiJzdHJpbmcifSksdSh2KSl9ZnVuY3Rpb24gdSh2KXtyZXR1cm4gdj09PW51bGx8fHY9PT05MXx8dj09PTkzfHxldCh2KXx8bCsrPjk5OT8oYS5leGl0KCJjaHVua1N0cmluZyIpLHAodikpOihhLmNvbnN1bWUodiksZHx8KGQ9IUN0KHYpKSx2PT09OTI/bTp1KX1mdW5jdGlvbiBtKHYpe3JldHVybiB2PT09OTF8fHY9PT05Mnx8dj09PTkzPyhhLmNvbnN1bWUodiksbCsrLHUpOnUodil9fXZhciBZNGU9ZigoKT0+e2JhKCk7cyhPUSwiZmFjdG9yeUxhYmVsIil9KTtmdW5jdGlvbiBGUShhLGUsdCxyLGksbyl7bGV0IG47cmV0dXJuIGw7ZnVuY3Rpb24gbChtKXtyZXR1cm4gbT09PTM0fHxtPT09Mzl8fG09PT00MD8oYS5lbnRlcihyKSxhLmVudGVyKGkpLGEuY29uc3VtZShtKSxhLmV4aXQoaSksbj1tPT09NDA/NDE6bSxkKTp0KG0pfWZ1bmN0aW9uIGQobSl7cmV0dXJuIG09PT1uPyhhLmVudGVyKGkpLGEuY29uc3VtZShtKSxhLmV4aXQoaSksYS5leGl0KHIpLGUpOihhLmVudGVyKG8pLGMobSkpfWZ1bmN0aW9uIGMobSl7cmV0dXJuIG09PT1uPyhhLmV4aXQobyksZChuKSk6bT09PW51bGw/dChtKTpldChtKT8oYS5lbnRlcigibGluZUVuZGluZyIpLGEuY29uc3VtZShtKSxhLmV4aXQoImxpbmVFbmRpbmciKSxEdChhLGMsImxpbmVQcmVmaXgiKSk6KGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSxwKG0pKX1mdW5jdGlvbiBwKG0pe3JldHVybiBtPT09bnx8bT09PW51bGx8fGV0KG0pPyhhLmV4aXQoImNodW5rU3RyaW5nIiksYyhtKSk6KGEuY29uc3VtZShtKSxtPT09OTI/dTpwKX1mdW5jdGlvbiB1KG0pe3JldHVybiBtPT09bnx8bT09PTkyPyhhLmNvbnN1bWUobSkscCk6cChtKX19dmFyIEs0ZT1mKCgpPT57S3IoKTtiYSgpO3MoRlEsImZhY3RvcnlUaXRsZSIpfSk7ZnVuY3Rpb24gVzMoYSxlKXtsZXQgdDtyZXR1cm4gcjtmdW5jdGlvbiByKGkpe3JldHVybiBldChpKT8oYS5lbnRlcigibGluZUVuZGluZyIpLGEuY29uc3VtZShpKSxhLmV4aXQoImxpbmVFbmRpbmciKSx0PSEwLHIpOkN0KGkpP0R0KGEscix0PyJsaW5lUHJlZml4IjoibGluZVN1ZmZpeCIpKGkpOmUoaSl9fXZhciBaNGU9ZigoKT0+e0tyKCk7YmEoKTtzKFczLCJmYWN0b3J5V2hpdGVzcGFjZSIpfSk7ZnVuY3Rpb24gdk1hKGEsZSx0KXtsZXQgcj10aGlzLGk7cmV0dXJuIG87ZnVuY3Rpb24gbyh2KXtyZXR1cm4gYS5lbnRlcigiZGVmaW5pdGlvbiIpLG4odil9ZnVuY3Rpb24gbih2KXtyZXR1cm4gT1EuY2FsbChyLGEsbCx0LCJkZWZpbml0aW9uTGFiZWwiLCJkZWZpbml0aW9uTGFiZWxNYXJrZXIiLCJkZWZpbml0aW9uTGFiZWxTdHJpbmciKSh2KX1mdW5jdGlvbiBsKHYpe3JldHVybiBpPU5yKHIuc2xpY2VTZXJpYWxpemUoci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdWzFdKS5zbGljZSgxLC0xKSksdj09PTU4PyhhLmVudGVyKCJkZWZpbml0aW9uTWFya2VyIiksYS5jb25zdW1lKHYpLGEuZXhpdCgiZGVmaW5pdGlvbk1hcmtlciIpLGQpOnQodil9ZnVuY3Rpb24gZCh2KXtyZXR1cm4gdWEodik/VzMoYSxjKSh2KTpjKHYpfWZ1bmN0aW9uIGModil7cmV0dXJuIFJRKGEscCx0LCJkZWZpbml0aW9uRGVzdGluYXRpb24iLCJkZWZpbml0aW9uRGVzdGluYXRpb25MaXRlcmFsIiwiZGVmaW5pdGlvbkRlc3RpbmF0aW9uTGl0ZXJhbE1hcmtlciIsImRlZmluaXRpb25EZXN0aW5hdGlvblJhdyIsImRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZyIpKHYpfWZ1bmN0aW9uIHAodil7cmV0dXJuIGEuYXR0ZW1wdChiTWEsdSx1KSh2KX1mdW5jdGlvbiB1KHYpe3JldHVybiBDdCh2KT9EdChhLG0sIndoaXRlc3BhY2UiKSh2KTptKHYpfWZ1bmN0aW9uIG0odil7cmV0dXJuIHY9PT1udWxsfHxldCh2KT8oYS5leGl0KCJkZWZpbml0aW9uIiksci5wYXJzZXIuZGVmaW5lZC5wdXNoKGkpLGUodikpOnQodil9fWZ1bmN0aW9uIHhNYShhLGUsdCl7cmV0dXJuIHI7ZnVuY3Rpb24gcihsKXtyZXR1cm4gdWEobCk/VzMoYSxpKShsKTp0KGwpfWZ1bmN0aW9uIGkobCl7cmV0dXJuIEZRKGEsbyx0LCJkZWZpbml0aW9uVGl0bGUiLCJkZWZpbml0aW9uVGl0bGVNYXJrZXIiLCJkZWZpbml0aW9uVGl0bGVTdHJpbmciKShsKX1mdW5jdGlvbiBvKGwpe3JldHVybiBDdChsKT9EdChhLG4sIndoaXRlc3BhY2UiKShsKTpuKGwpfWZ1bmN0aW9uIG4obCl7cmV0dXJuIGw9PT1udWxsfHxldChsKT9lKGwpOnQobCl9fXZhciBYNGUsYk1hLCR1dD1mKCgpPT57RzRlKCk7WTRlKCk7S3IoKTtLNGUoKTtaNGUoKTtiYSgpO0YwKCk7WDRlPXtuYW1lOiJkZWZpbml0aW9uIix0b2tlbml6ZTp2TWF9LGJNYT17cGFydGlhbDohMCx0b2tlbml6ZTp4TWF9O3Modk1hLCJ0b2tlbml6ZURlZmluaXRpb24iKTtzKHhNYSwidG9rZW5pemVUaXRsZUJlZm9yZSIpfSk7ZnVuY3Rpb24geU1hKGEsZSx0KXtyZXR1cm4gcjtmdW5jdGlvbiByKG8pe3JldHVybiBhLmVudGVyKCJoYXJkQnJlYWtFc2NhcGUiKSxhLmNvbnN1bWUobyksaX1mdW5jdGlvbiBpKG8pe3JldHVybiBldChvKT8oYS5leGl0KCJoYXJkQnJlYWtFc2NhcGUiKSxlKG8pKTp0KG8pfX12YXIgUTRlLER1dD1mKCgpPT57YmEoKTtRNGU9e25hbWU6ImhhcmRCcmVha0VzY2FwZSIsdG9rZW5pemU6eU1hfTtzKHlNYSwidG9rZW5pemVIYXJkQnJlYWtFc2NhcGUiKX0pO2Z1bmN0aW9uIHdNYShhLGUpe2xldCB0PWEubGVuZ3RoLTIscj0zLGksbztyZXR1cm4gYVtyXVsxXS50eXBlPT09IndoaXRlc3BhY2UiJiYocis9MiksdC0yPnImJmFbdF1bMV0udHlwZT09PSJ3aGl0ZXNwYWNlIiYmKHQtPTIpLGFbdF1bMV0udHlwZT09PSJhdHhIZWFkaW5nU2VxdWVuY2UiJiYocj09PXQtMXx8dC00PnImJmFbdC0yXVsxXS50eXBlPT09IndoaXRlc3BhY2UiKSYmKHQtPXIrMT09PXQ/Mjo0KSx0PnImJihpPXt0eXBlOiJhdHhIZWFkaW5nVGV4dCIsc3RhcnQ6YVtyXVsxXS5zdGFydCxlbmQ6YVt0XVsxXS5lbmR9LG89e3R5cGU6ImNodW5rVGV4dCIsc3RhcnQ6YVtyXVsxXS5zdGFydCxlbmQ6YVt0XVsxXS5lbmQsY29udGVudFR5cGU6InRleHQifSxZcihhLHIsdC1yKzEsW1siZW50ZXIiLGksZV0sWyJlbnRlciIsbyxlXSxbImV4aXQiLG8sZV0sWyJleGl0IixpLGVdXSkpLGF9ZnVuY3Rpb24gTU1hKGEsZSx0KXtsZXQgcj0wO3JldHVybiBpO2Z1bmN0aW9uIGkocCl7cmV0dXJuIGEuZW50ZXIoImF0eEhlYWRpbmciKSxvKHApfWZ1bmN0aW9uIG8ocCl7cmV0dXJuIGEuZW50ZXIoImF0eEhlYWRpbmdTZXF1ZW5jZSIpLG4ocCl9ZnVuY3Rpb24gbihwKXtyZXR1cm4gcD09PTM1JiZyKys8Nj8oYS5jb25zdW1lKHApLG4pOnA9PT1udWxsfHx1YShwKT8oYS5leGl0KCJhdHhIZWFkaW5nU2VxdWVuY2UiKSxsKHApKTp0KHApfWZ1bmN0aW9uIGwocCl7cmV0dXJuIHA9PT0zNT8oYS5lbnRlcigiYXR4SGVhZGluZ1NlcXVlbmNlIiksZChwKSk6cD09PW51bGx8fGV0KHApPyhhLmV4aXQoImF0eEhlYWRpbmciKSxlKHApKTpDdChwKT9EdChhLGwsIndoaXRlc3BhY2UiKShwKTooYS5lbnRlcigiYXR4SGVhZGluZ1RleHQiKSxjKHApKX1mdW5jdGlvbiBkKHApe3JldHVybiBwPT09MzU/KGEuY29uc3VtZShwKSxkKTooYS5leGl0KCJhdHhIZWFkaW5nU2VxdWVuY2UiKSxsKHApKX1mdW5jdGlvbiBjKHApe3JldHVybiBwPT09bnVsbHx8cD09PTM1fHx1YShwKT8oYS5leGl0KCJhdHhIZWFkaW5nVGV4dCIpLGwocCkpOihhLmNvbnN1bWUocCksYyl9fXZhciBKNGUsQXV0PWYoKCk9PntLcigpO2JhKCk7UDIoKTtKNGU9e25hbWU6ImhlYWRpbmdBdHgiLHJlc29sdmU6d01hLHRva2VuaXplOk1NYX07cyh3TWEsInJlc29sdmVIZWFkaW5nQXR4Iik7cyhNTWEsInRva2VuaXplSGVhZGluZ0F0eCIpfSk7dmFyIFB1dCxlM2UsRXV0PWYoKCk9PntQdXQ9WyJhZGRyZXNzIiwiYXJ0aWNsZSIsImFzaWRlIiwiYmFzZSIsImJhc2Vmb250IiwiYmxvY2txdW90ZSIsImJvZHkiLCJjYXB0aW9uIiwiY2VudGVyIiwiY29sIiwiY29sZ3JvdXAiLCJkZCIsImRldGFpbHMiLCJkaWFsb2ciLCJkaXIiLCJkaXYiLCJkbCIsImR0IiwiZmllbGRzZXQiLCJmaWdjYXB0aW9uIiwiZmlndXJlIiwiZm9vdGVyIiwiZm9ybSIsImZyYW1lIiwiZnJhbWVzZXQiLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJoZWFkIiwiaGVhZGVyIiwiaHIiLCJodG1sIiwiaWZyYW1lIiwibGVnZW5kIiwibGkiLCJsaW5rIiwibWFpbiIsIm1lbnUiLCJtZW51aXRlbSIsIm5hdiIsIm5vZnJhbWVzIiwib2wiLCJvcHRncm91cCIsIm9wdGlvbiIsInAiLCJwYXJhbSIsInNlYXJjaCIsInNlY3Rpb24iLCJzdW1tYXJ5IiwidGFibGUiLCJ0Ym9keSIsInRkIiwidGZvb3QiLCJ0aCIsInRoZWFkIiwidGl0bGUiLCJ0ciIsInRyYWNrIiwidWwiXSxlM2U9WyJwcmUiLCJzY3JpcHQiLCJzdHlsZSIsInRleHRhcmVhIl19KTtmdW5jdGlvbiB6TWEoYSl7bGV0IGU9YS5sZW5ndGg7Zm9yKDtlLS0mJiEoYVtlXVswXT09PSJlbnRlciImJmFbZV1bMV0udHlwZT09PSJodG1sRmxvdyIpOyk7cmV0dXJuIGU+MSYmYVtlLTJdWzFdLnR5cGU9PT0ibGluZVByZWZpeCImJihhW2VdWzFdLnN0YXJ0PWFbZS0yXVsxXS5zdGFydCxhW2UrMV1bMV0uc3RhcnQ9YVtlLTJdWzFdLnN0YXJ0LGEuc3BsaWNlKGUtMiwyKSksYX1mdW5jdGlvbiBDTWEoYSxlLHQpe2xldCByPXRoaXMsaSxvLG4sbCxkO3JldHVybiBjO2Z1bmN0aW9uIGMoSSl7cmV0dXJuIHAoSSl9ZnVuY3Rpb24gcChJKXtyZXR1cm4gYS5lbnRlcigiaHRtbEZsb3ciKSxhLmVudGVyKCJodG1sRmxvd0RhdGEiKSxhLmNvbnN1bWUoSSksdX1mdW5jdGlvbiB1KEkpe3JldHVybiBJPT09MzM/KGEuY29uc3VtZShJKSxtKTpJPT09NDc/KGEuY29uc3VtZShJKSxvPSEwLGIpOkk9PT02Mz8oYS5jb25zdW1lKEkpLGk9MyxyLmludGVycnVwdD9lOlIpOkFzKEkpPyhhLmNvbnN1bWUoSSksbj1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpLGcpOnQoSSl9ZnVuY3Rpb24gbShJKXtyZXR1cm4gST09PTQ1PyhhLmNvbnN1bWUoSSksaT0yLHYpOkk9PT05MT8oYS5jb25zdW1lKEkpLGk9NSxsPTAseCk6QXMoSSk/KGEuY29uc3VtZShJKSxpPTQsci5pbnRlcnJ1cHQ/ZTpSKTp0KEkpfWZ1bmN0aW9uIHYoSSl7cmV0dXJuIEk9PT00NT8oYS5jb25zdW1lKEkpLHIuaW50ZXJydXB0P2U6Uik6dChJKX1mdW5jdGlvbiB4KEkpe2xldCBxPSJDREFUQVsiO3JldHVybiBJPT09cS5jaGFyQ29kZUF0KGwrKyk/KGEuY29uc3VtZShJKSxsPT09cS5sZW5ndGg/ci5pbnRlcnJ1cHQ/ZTpTOngpOnQoSSl9ZnVuY3Rpb24gYihJKXtyZXR1cm4gQXMoSSk/KGEuY29uc3VtZShJKSxuPVN0cmluZy5mcm9tQ2hhckNvZGUoSSksZyk6dChJKX1mdW5jdGlvbiBnKEkpe2lmKEk9PT1udWxsfHxJPT09NDd8fEk9PT02Mnx8dWEoSSkpe2xldCBxPUk9PT00NyxjZT1uLnRvTG93ZXJDYXNlKCk7cmV0dXJuIXEmJiFvJiZlM2UuaW5jbHVkZXMoY2UpPyhpPTEsci5pbnRlcnJ1cHQ/ZShJKTpTKEkpKTpQdXQuaW5jbHVkZXMobi50b0xvd2VyQ2FzZSgpKT8oaT02LHE/KGEuY29uc3VtZShJKSx5KTpyLmludGVycnVwdD9lKEkpOlMoSSkpOihpPTcsci5pbnRlcnJ1cHQmJiFyLnBhcnNlci5sYXp5W3Iubm93KCkubGluZV0/dChJKTpvP2soSSk6QyhJKSl9cmV0dXJuIEk9PT00NXx8SXIoSSk/KGEuY29uc3VtZShJKSxuKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpLGcpOnQoSSl9ZnVuY3Rpb24geShJKXtyZXR1cm4gST09PTYyPyhhLmNvbnN1bWUoSSksci5pbnRlcnJ1cHQ/ZTpTKTp0KEkpfWZ1bmN0aW9uIGsoSSl7cmV0dXJuIEN0KEkpPyhhLmNvbnN1bWUoSSksayk6QihJKX1mdW5jdGlvbiBDKEkpe3JldHVybiBJPT09NDc/KGEuY29uc3VtZShJKSxCKTpJPT09NTh8fEk9PT05NXx8QXMoSSk/KGEuY29uc3VtZShJKSxOKTpDdChJKT8oYS5jb25zdW1lKEkpLEMpOkIoSSl9ZnVuY3Rpb24gTihJKXtyZXR1cm4gST09PTQ1fHxJPT09NDZ8fEk9PT01OHx8ST09PTk1fHxJcihJKT8oYS5jb25zdW1lKEkpLE4pOl8oSSl9ZnVuY3Rpb24gXyhJKXtyZXR1cm4gST09PTYxPyhhLmNvbnN1bWUoSSkseik6Q3QoSSk/KGEuY29uc3VtZShJKSxfKTpDKEkpfWZ1bmN0aW9uIHooSSl7cmV0dXJuIEk9PT1udWxsfHxJPT09NjB8fEk9PT02MXx8ST09PTYyfHxJPT09OTY/dChJKTpJPT09MzR8fEk9PT0zOT8oYS5jb25zdW1lKEkpLGQ9SSxPKTpDdChJKT8oYS5jb25zdW1lKEkpLHopOlQoSSl9ZnVuY3Rpb24gTyhJKXtyZXR1cm4gST09PWQ/KGEuY29uc3VtZShJKSxkPW51bGwsUCk6ST09PW51bGx8fGV0KEkpP3QoSSk6KGEuY29uc3VtZShJKSxPKX1mdW5jdGlvbiBUKEkpe3JldHVybiBJPT09bnVsbHx8ST09PTM0fHxJPT09Mzl8fEk9PT00N3x8ST09PTYwfHxJPT09NjF8fEk9PT02Mnx8ST09PTk2fHx1YShJKT9fKEkpOihhLmNvbnN1bWUoSSksVCl9ZnVuY3Rpb24gUChJKXtyZXR1cm4gST09PTQ3fHxJPT09NjJ8fEN0KEkpP0MoSSk6dChJKX1mdW5jdGlvbiBCKEkpe3JldHVybiBJPT09NjI/KGEuY29uc3VtZShJKSxNKTp0KEkpfWZ1bmN0aW9uIE0oSSl7cmV0dXJuIEk9PT1udWxsfHxldChJKT9TKEkpOkN0KEkpPyhhLmNvbnN1bWUoSSksTSk6dChJKX1mdW5jdGlvbiBTKEkpe3JldHVybiBJPT09NDUmJmk9PT0yPyhhLmNvbnN1bWUoSSksVyk6ST09PTYwJiZpPT09MT8oYS5jb25zdW1lKEkpLGopOkk9PT02MiYmaT09PTQ/KGEuY29uc3VtZShJKSxVKTpJPT09NjMmJmk9PT0zPyhhLmNvbnN1bWUoSSksUik6ST09PTkzJiZpPT09NT8oYS5jb25zdW1lKEkpLGhlKTpldChJKSYmKGk9PT02fHxpPT09Nyk/KGEuZXhpdCgiaHRtbEZsb3dEYXRhIiksYS5jaGVjayhrTWEsbWUsRSkoSSkpOkk9PT1udWxsfHxldChJKT8oYS5leGl0KCJodG1sRmxvd0RhdGEiKSxFKEkpKTooYS5jb25zdW1lKEkpLFMpfWZ1bmN0aW9uIEUoSSl7cmV0dXJuIGEuY2hlY2soU01hLEEsbWUpKEkpfWZ1bmN0aW9uIEEoSSl7cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUoSSksYS5leGl0KCJsaW5lRW5kaW5nIiksRn1mdW5jdGlvbiBGKEkpe3JldHVybiBJPT09bnVsbHx8ZXQoSSk/RShJKTooYS5lbnRlcigiaHRtbEZsb3dEYXRhIiksUyhJKSl9ZnVuY3Rpb24gVyhJKXtyZXR1cm4gST09PTQ1PyhhLmNvbnN1bWUoSSksUik6UyhJKX1mdW5jdGlvbiBqKEkpe3JldHVybiBJPT09NDc/KGEuY29uc3VtZShJKSxuPSIiLEcpOlMoSSl9ZnVuY3Rpb24gRyhJKXtpZihJPT09NjIpe2xldCBxPW4udG9Mb3dlckNhc2UoKTtyZXR1cm4gZTNlLmluY2x1ZGVzKHEpPyhhLmNvbnN1bWUoSSksVSk6UyhJKX1yZXR1cm4gQXMoSSkmJm4ubGVuZ3RoPDg/KGEuY29uc3VtZShJKSxuKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpLEcpOlMoSSl9ZnVuY3Rpb24gaGUoSSl7cmV0dXJuIEk9PT05Mz8oYS5jb25zdW1lKEkpLFIpOlMoSSl9ZnVuY3Rpb24gUihJKXtyZXR1cm4gST09PTYyPyhhLmNvbnN1bWUoSSksVSk6ST09PTQ1JiZpPT09Mj8oYS5jb25zdW1lKEkpLFIpOlMoSSl9ZnVuY3Rpb24gVShJKXtyZXR1cm4gST09PW51bGx8fGV0KEkpPyhhLmV4aXQoImh0bWxGbG93RGF0YSIpLG1lKEkpKTooYS5jb25zdW1lKEkpLFUpfWZ1bmN0aW9uIG1lKEkpe3JldHVybiBhLmV4aXQoImh0bWxGbG93IiksZShJKX19ZnVuY3Rpb24gX01hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobil7cmV0dXJuIGV0KG4pPyhhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKG4pLGEuZXhpdCgibGluZUVuZGluZyIpLG8pOnQobil9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gci5wYXJzZXIubGF6eVtyLm5vdygpLmxpbmVdP3Qobik6ZShuKX19ZnVuY3Rpb24gVE1hKGEsZSx0KXtyZXR1cm4gcjtmdW5jdGlvbiByKGkpe3JldHVybiBhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKGkpLGEuZXhpdCgibGluZUVuZGluZyIpLGEuYXR0ZW1wdChSMixlLHQpfX12YXIgdDNlLGtNYSxTTWEsSXV0PWYoKCk9PntiYSgpO0V1dCgpO0RRKCk7dDNlPXtjb25jcmV0ZTohMCxuYW1lOiJodG1sRmxvdyIscmVzb2x2ZVRvOnpNYSx0b2tlbml6ZTpDTWF9LGtNYT17cGFydGlhbDohMCx0b2tlbml6ZTpUTWF9LFNNYT17cGFydGlhbDohMCx0b2tlbml6ZTpfTWF9O3Moek1hLCJyZXNvbHZlVG9IdG1sRmxvdyIpO3MoQ01hLCJ0b2tlbml6ZUh0bWxGbG93Iik7cyhfTWEsInRva2VuaXplTm9uTGF6eUNvbnRpbnVhdGlvblN0YXJ0Iik7cyhUTWEsInRva2VuaXplQmxhbmtMaW5lQmVmb3JlIil9KTtmdW5jdGlvbiBMTWEoYSxlLHQpe2xldCByPXRoaXMsaSxvLG47cmV0dXJuIGw7ZnVuY3Rpb24gbChSKXtyZXR1cm4gYS5lbnRlcigiaHRtbFRleHQiKSxhLmVudGVyKCJodG1sVGV4dERhdGEiKSxhLmNvbnN1bWUoUiksZH1mdW5jdGlvbiBkKFIpe3JldHVybiBSPT09MzM/KGEuY29uc3VtZShSKSxjKTpSPT09NDc/KGEuY29uc3VtZShSKSxfKTpSPT09NjM/KGEuY29uc3VtZShSKSxDKTpBcyhSKT8oYS5jb25zdW1lKFIpLFQpOnQoUil9ZnVuY3Rpb24gYyhSKXtyZXR1cm4gUj09PTQ1PyhhLmNvbnN1bWUoUikscCk6Uj09PTkxPyhhLmNvbnN1bWUoUiksbz0wLHgpOkFzKFIpPyhhLmNvbnN1bWUoUiksayk6dChSKX1mdW5jdGlvbiBwKFIpe3JldHVybiBSPT09NDU/KGEuY29uc3VtZShSKSx2KTp0KFIpfWZ1bmN0aW9uIHUoUil7cmV0dXJuIFI9PT1udWxsP3QoUik6Uj09PTQ1PyhhLmNvbnN1bWUoUiksbSk6ZXQoUik/KG49dSxqKFIpKTooYS5jb25zdW1lKFIpLHUpfWZ1bmN0aW9uIG0oUil7cmV0dXJuIFI9PT00NT8oYS5jb25zdW1lKFIpLHYpOnUoUil9ZnVuY3Rpb24gdihSKXtyZXR1cm4gUj09PTYyP1coUik6Uj09PTQ1P20oUik6dShSKX1mdW5jdGlvbiB4KFIpe2xldCBVPSJDREFUQVsiO3JldHVybiBSPT09VS5jaGFyQ29kZUF0KG8rKyk/KGEuY29uc3VtZShSKSxvPT09VS5sZW5ndGg/Yjp4KTp0KFIpfWZ1bmN0aW9uIGIoUil7cmV0dXJuIFI9PT1udWxsP3QoUik6Uj09PTkzPyhhLmNvbnN1bWUoUiksZyk6ZXQoUik/KG49YixqKFIpKTooYS5jb25zdW1lKFIpLGIpfWZ1bmN0aW9uIGcoUil7cmV0dXJuIFI9PT05Mz8oYS5jb25zdW1lKFIpLHkpOmIoUil9ZnVuY3Rpb24geShSKXtyZXR1cm4gUj09PTYyP1coUik6Uj09PTkzPyhhLmNvbnN1bWUoUikseSk6YihSKX1mdW5jdGlvbiBrKFIpe3JldHVybiBSPT09bnVsbHx8Uj09PTYyP1coUik6ZXQoUik/KG49ayxqKFIpKTooYS5jb25zdW1lKFIpLGspfWZ1bmN0aW9uIEMoUil7cmV0dXJuIFI9PT1udWxsP3QoUik6Uj09PTYzPyhhLmNvbnN1bWUoUiksTik6ZXQoUik/KG49QyxqKFIpKTooYS5jb25zdW1lKFIpLEMpfWZ1bmN0aW9uIE4oUil7cmV0dXJuIFI9PT02Mj9XKFIpOkMoUil9ZnVuY3Rpb24gXyhSKXtyZXR1cm4gQXMoUik/KGEuY29uc3VtZShSKSx6KTp0KFIpfWZ1bmN0aW9uIHooUil7cmV0dXJuIFI9PT00NXx8SXIoUik/KGEuY29uc3VtZShSKSx6KTpPKFIpfWZ1bmN0aW9uIE8oUil7cmV0dXJuIGV0KFIpPyhuPU8saihSKSk6Q3QoUik/KGEuY29uc3VtZShSKSxPKTpXKFIpfWZ1bmN0aW9uIFQoUil7cmV0dXJuIFI9PT00NXx8SXIoUik/KGEuY29uc3VtZShSKSxUKTpSPT09NDd8fFI9PT02Mnx8dWEoUik/UChSKTp0KFIpfWZ1bmN0aW9uIFAoUil7cmV0dXJuIFI9PT00Nz8oYS5jb25zdW1lKFIpLFcpOlI9PT01OHx8Uj09PTk1fHxBcyhSKT8oYS5jb25zdW1lKFIpLEIpOmV0KFIpPyhuPVAsaihSKSk6Q3QoUik/KGEuY29uc3VtZShSKSxQKTpXKFIpfWZ1bmN0aW9uIEIoUil7cmV0dXJuIFI9PT00NXx8Uj09PTQ2fHxSPT09NTh8fFI9PT05NXx8SXIoUik/KGEuY29uc3VtZShSKSxCKTpNKFIpfWZ1bmN0aW9uIE0oUil7cmV0dXJuIFI9PT02MT8oYS5jb25zdW1lKFIpLFMpOmV0KFIpPyhuPU0saihSKSk6Q3QoUik/KGEuY29uc3VtZShSKSxNKTpQKFIpfWZ1bmN0aW9uIFMoUil7cmV0dXJuIFI9PT1udWxsfHxSPT09NjB8fFI9PT02MXx8Uj09PTYyfHxSPT09OTY/dChSKTpSPT09MzR8fFI9PT0zOT8oYS5jb25zdW1lKFIpLGk9UixFKTpldChSKT8obj1TLGooUikpOkN0KFIpPyhhLmNvbnN1bWUoUiksUyk6KGEuY29uc3VtZShSKSxBKX1mdW5jdGlvbiBFKFIpe3JldHVybiBSPT09aT8oYS5jb25zdW1lKFIpLGk9dm9pZCAwLEYpOlI9PT1udWxsP3QoUik6ZXQoUik/KG49RSxqKFIpKTooYS5jb25zdW1lKFIpLEUpfWZ1bmN0aW9uIEEoUil7cmV0dXJuIFI9PT1udWxsfHxSPT09MzR8fFI9PT0zOXx8Uj09PTYwfHxSPT09NjF8fFI9PT05Nj90KFIpOlI9PT00N3x8Uj09PTYyfHx1YShSKT9QKFIpOihhLmNvbnN1bWUoUiksQSl9ZnVuY3Rpb24gRihSKXtyZXR1cm4gUj09PTQ3fHxSPT09NjJ8fHVhKFIpP1AoUik6dChSKX1mdW5jdGlvbiBXKFIpe3JldHVybiBSPT09NjI/KGEuY29uc3VtZShSKSxhLmV4aXQoImh0bWxUZXh0RGF0YSIpLGEuZXhpdCgiaHRtbFRleHQiKSxlKTp0KFIpfWZ1bmN0aW9uIGooUil7cmV0dXJuIGEuZXhpdCgiaHRtbFRleHREYXRhIiksYS5lbnRlcigibGluZUVuZGluZyIpLGEuY29uc3VtZShSKSxhLmV4aXQoImxpbmVFbmRpbmciKSxHfWZ1bmN0aW9uIEcoUil7cmV0dXJuIEN0KFIpP0R0KGEsaGUsImxpbmVQcmVmaXgiLHIucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCkoUik6aGUoUil9ZnVuY3Rpb24gaGUoUil7cmV0dXJuIGEuZW50ZXIoImh0bWxUZXh0RGF0YSIpLG4oUil9fXZhciBhM2UsTnV0PWYoKCk9PntLcigpO2JhKCk7YTNlPXtuYW1lOiJodG1sVGV4dCIsdG9rZW5pemU6TE1hfTtzKExNYSwidG9rZW5pemVIdG1sVGV4dCIpfSk7ZnVuY3Rpb24gUE1hKGEpe2xldCBlPS0xLHQ9W107Zm9yKDsrK2U8YS5sZW5ndGg7KXtsZXQgcj1hW2VdWzFdO2lmKHQucHVzaChhW2VdKSxyLnR5cGU9PT0ibGFiZWxJbWFnZSJ8fHIudHlwZT09PSJsYWJlbExpbmsifHxyLnR5cGU9PT0ibGFiZWxFbmQiKXtsZXQgaT1yLnR5cGU9PT0ibGFiZWxJbWFnZSI/NDoyO3IudHlwZT0iZGF0YSIsZSs9aX19cmV0dXJuIGEubGVuZ3RoIT09dC5sZW5ndGgmJllyKGEsMCxhLmxlbmd0aCx0KSxhfWZ1bmN0aW9uIEVNYShhLGUpe2xldCB0PWEubGVuZ3RoLHI9MCxpLG8sbixsO2Zvcig7dC0tOylpZihpPWFbdF1bMV0sbyl7aWYoaS50eXBlPT09ImxpbmsifHxpLnR5cGU9PT0ibGFiZWxMaW5rIiYmaS5faW5hY3RpdmUpYnJlYWs7YVt0XVswXT09PSJlbnRlciImJmkudHlwZT09PSJsYWJlbExpbmsiJiYoaS5faW5hY3RpdmU9ITApfWVsc2UgaWYobil7aWYoYVt0XVswXT09PSJlbnRlciImJihpLnR5cGU9PT0ibGFiZWxJbWFnZSJ8fGkudHlwZT09PSJsYWJlbExpbmsiKSYmIWkuX2JhbGFuY2VkJiYobz10LGkudHlwZSE9PSJsYWJlbExpbmsiKSl7cj0yO2JyZWFrfX1lbHNlIGkudHlwZT09PSJsYWJlbEVuZCImJihuPXQpO2xldCBkPXt0eXBlOmFbb11bMV0udHlwZT09PSJsYWJlbExpbmsiPyJsaW5rIjoiaW1hZ2UiLHN0YXJ0OnsuLi5hW29dWzFdLnN0YXJ0fSxlbmQ6ey4uLmFbYS5sZW5ndGgtMV1bMV0uZW5kfX0sYz17dHlwZToibGFiZWwiLHN0YXJ0OnsuLi5hW29dWzFdLnN0YXJ0fSxlbmQ6ey4uLmFbbl1bMV0uZW5kfX0scD17dHlwZToibGFiZWxUZXh0IixzdGFydDp7Li4uYVtvK3IrMl1bMV0uZW5kfSxlbmQ6ey4uLmFbbi0yXVsxXS5zdGFydH19O3JldHVybiBsPVtbImVudGVyIixkLGVdLFsiZW50ZXIiLGMsZV1dLGw9ZnMobCxhLnNsaWNlKG8rMSxvK3IrMykpLGw9ZnMobCxbWyJlbnRlciIscCxlXV0pLGw9ZnMobCxIMChlLnBhcnNlci5jb25zdHJ1Y3RzLmluc2lkZVNwYW4ubnVsbCxhLnNsaWNlKG8rcis0LG4tMyksZSkpLGw9ZnMobCxbWyJleGl0IixwLGVdLGFbbi0yXSxhW24tMV0sWyJleGl0IixjLGVdXSksbD1mcyhsLGEuc2xpY2UobisxKSksbD1mcyhsLFtbImV4aXQiLGQsZV1dKSxZcihhLG8sYS5sZW5ndGgsbCksYX1mdW5jdGlvbiBJTWEoYSxlLHQpe2xldCByPXRoaXMsaT1yLmV2ZW50cy5sZW5ndGgsbyxuO2Zvcig7aS0tOylpZigoci5ldmVudHNbaV1bMV0udHlwZT09PSJsYWJlbEltYWdlInx8ci5ldmVudHNbaV1bMV0udHlwZT09PSJsYWJlbExpbmsiKSYmIXIuZXZlbnRzW2ldWzFdLl9iYWxhbmNlZCl7bz1yLmV2ZW50c1tpXVsxXTticmVha31yZXR1cm4gbDtmdW5jdGlvbiBsKG0pe3JldHVybiBvP28uX2luYWN0aXZlP3UobSk6KG49ci5wYXJzZXIuZGVmaW5lZC5pbmNsdWRlcyhOcihyLnNsaWNlU2VyaWFsaXplKHtzdGFydDpvLmVuZCxlbmQ6ci5ub3coKX0pKSksYS5lbnRlcigibGFiZWxFbmQiKSxhLmVudGVyKCJsYWJlbE1hcmtlciIpLGEuY29uc3VtZShtKSxhLmV4aXQoImxhYmVsTWFya2VyIiksYS5leGl0KCJsYWJlbEVuZCIpLGQpOnQobSl9ZnVuY3Rpb24gZChtKXtyZXR1cm4gbT09PTQwP2EuYXR0ZW1wdCgkTWEscCxuP3A6dSkobSk6bT09PTkxP2EuYXR0ZW1wdChETWEscCxuP2M6dSkobSk6bj9wKG0pOnUobSl9ZnVuY3Rpb24gYyhtKXtyZXR1cm4gYS5hdHRlbXB0KEFNYSxwLHUpKG0pfWZ1bmN0aW9uIHAobSl7cmV0dXJuIGUobSl9ZnVuY3Rpb24gdShtKXtyZXR1cm4gby5fYmFsYW5jZWQ9ITAsdChtKX19ZnVuY3Rpb24gTk1hKGEsZSx0KXtyZXR1cm4gcjtmdW5jdGlvbiByKHUpe3JldHVybiBhLmVudGVyKCJyZXNvdXJjZSIpLGEuZW50ZXIoInJlc291cmNlTWFya2VyIiksYS5jb25zdW1lKHUpLGEuZXhpdCgicmVzb3VyY2VNYXJrZXIiKSxpfWZ1bmN0aW9uIGkodSl7cmV0dXJuIHVhKHUpP1czKGEsbykodSk6byh1KX1mdW5jdGlvbiBvKHUpe3JldHVybiB1PT09NDE/cCh1KTpSUShhLG4sbCwicmVzb3VyY2VEZXN0aW5hdGlvbiIsInJlc291cmNlRGVzdGluYXRpb25MaXRlcmFsIiwicmVzb3VyY2VEZXN0aW5hdGlvbkxpdGVyYWxNYXJrZXIiLCJyZXNvdXJjZURlc3RpbmF0aW9uUmF3IiwicmVzb3VyY2VEZXN0aW5hdGlvblN0cmluZyIsMzIpKHUpfWZ1bmN0aW9uIG4odSl7cmV0dXJuIHVhKHUpP1czKGEsZCkodSk6cCh1KX1mdW5jdGlvbiBsKHUpe3JldHVybiB0KHUpfWZ1bmN0aW9uIGQodSl7cmV0dXJuIHU9PT0zNHx8dT09PTM5fHx1PT09NDA/RlEoYSxjLHQsInJlc291cmNlVGl0bGUiLCJyZXNvdXJjZVRpdGxlTWFya2VyIiwicmVzb3VyY2VUaXRsZVN0cmluZyIpKHUpOnAodSl9ZnVuY3Rpb24gYyh1KXtyZXR1cm4gdWEodSk/VzMoYSxwKSh1KTpwKHUpfWZ1bmN0aW9uIHAodSl7cmV0dXJuIHU9PT00MT8oYS5lbnRlcigicmVzb3VyY2VNYXJrZXIiKSxhLmNvbnN1bWUodSksYS5leGl0KCJyZXNvdXJjZU1hcmtlciIpLGEuZXhpdCgicmVzb3VyY2UiKSxlKTp0KHUpfX1mdW5jdGlvbiBSTWEoYSxlLHQpe2xldCByPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShsKXtyZXR1cm4gT1EuY2FsbChyLGEsbyxuLCJyZWZlcmVuY2UiLCJyZWZlcmVuY2VNYXJrZXIiLCJyZWZlcmVuY2VTdHJpbmciKShsKX1mdW5jdGlvbiBvKGwpe3JldHVybiByLnBhcnNlci5kZWZpbmVkLmluY2x1ZGVzKE5yKHIuc2xpY2VTZXJpYWxpemUoci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdWzFdKS5zbGljZSgxLC0xKSkpP2UobCk6dChsKX1mdW5jdGlvbiBuKGwpe3JldHVybiB0KGwpfX1mdW5jdGlvbiBPTWEoYSxlLHQpe3JldHVybiByO2Z1bmN0aW9uIHIobyl7cmV0dXJuIGEuZW50ZXIoInJlZmVyZW5jZSIpLGEuZW50ZXIoInJlZmVyZW5jZU1hcmtlciIpLGEuY29uc3VtZShvKSxhLmV4aXQoInJlZmVyZW5jZU1hcmtlciIpLGl9ZnVuY3Rpb24gaShvKXtyZXR1cm4gbz09PTkzPyhhLmVudGVyKCJyZWZlcmVuY2VNYXJrZXIiKSxhLmNvbnN1bWUobyksYS5leGl0KCJyZWZlcmVuY2VNYXJrZXIiKSxhLmV4aXQoInJlZmVyZW5jZSIpLGUpOnQobyl9fXZhciBHMywkTWEsRE1hLEFNYSxCUT1mKCgpPT57RzRlKCk7WTRlKCk7SzRlKCk7WjRlKCk7YmEoKTtQMigpO0YwKCk7VWcoKTtHMz17bmFtZToibGFiZWxFbmQiLHJlc29sdmVBbGw6UE1hLHJlc29sdmVUbzpFTWEsdG9rZW5pemU6SU1hfSwkTWE9e3Rva2VuaXplOk5NYX0sRE1hPXt0b2tlbml6ZTpSTWF9LEFNYT17dG9rZW5pemU6T01hfTtzKFBNYSwicmVzb2x2ZUFsbExhYmVsRW5kIik7cyhFTWEsInJlc29sdmVUb0xhYmVsRW5kIik7cyhJTWEsInRva2VuaXplTGFiZWxFbmQiKTtzKE5NYSwidG9rZW5pemVSZXNvdXJjZSIpO3MoUk1hLCJ0b2tlbml6ZVJlZmVyZW5jZUZ1bGwiKTtzKE9NYSwidG9rZW5pemVSZWZlcmVuY2VDb2xsYXBzZWQiKX0pO2Z1bmN0aW9uIEZNYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKGwpe3JldHVybiBhLmVudGVyKCJsYWJlbEltYWdlIiksYS5lbnRlcigibGFiZWxJbWFnZU1hcmtlciIpLGEuY29uc3VtZShsKSxhLmV4aXQoImxhYmVsSW1hZ2VNYXJrZXIiKSxvfWZ1bmN0aW9uIG8obCl7cmV0dXJuIGw9PT05MT8oYS5lbnRlcigibGFiZWxNYXJrZXIiKSxhLmNvbnN1bWUobCksYS5leGl0KCJsYWJlbE1hcmtlciIpLGEuZXhpdCgibGFiZWxJbWFnZSIpLG4pOnQobCl9ZnVuY3Rpb24gbihsKXtyZXR1cm4gbD09PTk0JiYiX2hpZGRlbkZvb3Rub3RlU3VwcG9ydCJpbiByLnBhcnNlci5jb25zdHJ1Y3RzP3QobCk6ZShsKX19dmFyIHIzZSxSdXQ9ZigoKT0+e0JRKCk7cjNlPXtuYW1lOiJsYWJlbFN0YXJ0SW1hZ2UiLHJlc29sdmVBbGw6RzMucmVzb2x2ZUFsbCx0b2tlbml6ZTpGTWF9O3MoRk1hLCJ0b2tlbml6ZUxhYmVsU3RhcnRJbWFnZSIpfSk7ZnVuY3Rpb24gQk1hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobil7cmV0dXJuIGEuZW50ZXIoImxhYmVsTGluayIpLGEuZW50ZXIoImxhYmVsTWFya2VyIiksYS5jb25zdW1lKG4pLGEuZXhpdCgibGFiZWxNYXJrZXIiKSxhLmV4aXQoImxhYmVsTGluayIpLG99ZnVuY3Rpb24gbyhuKXtyZXR1cm4gbj09PTk0JiYiX2hpZGRlbkZvb3Rub3RlU3VwcG9ydCJpbiByLnBhcnNlci5jb25zdHJ1Y3RzP3Qobik6ZShuKX19dmFyIHMzZSxPdXQ9ZigoKT0+e0JRKCk7czNlPXtuYW1lOiJsYWJlbFN0YXJ0TGluayIscmVzb2x2ZUFsbDpHMy5yZXNvbHZlQWxsLHRva2VuaXplOkJNYX07cyhCTWEsInRva2VuaXplTGFiZWxTdGFydExpbmsiKX0pO2Z1bmN0aW9uIEhNYShhLGUpe3JldHVybiB0O2Z1bmN0aW9uIHQocil7cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUociksYS5leGl0KCJsaW5lRW5kaW5nIiksRHQoYSxlLCJsaW5lUHJlZml4Iil9fXZhciBaZyxGdXQ9ZigoKT0+e0tyKCk7YmEoKTtaZz17bmFtZToibGluZUVuZGluZyIsdG9rZW5pemU6SE1hfTtzKEhNYSwidG9rZW5pemVMaW5lRW5kaW5nIil9KTtmdW5jdGlvbiBxTWEoYSxlLHQpe2xldCByPTAsaTtyZXR1cm4gbztmdW5jdGlvbiBvKGMpe3JldHVybiBhLmVudGVyKCJ0aGVtYXRpY0JyZWFrIiksbihjKX1mdW5jdGlvbiBuKGMpe3JldHVybiBpPWMsbChjKX1mdW5jdGlvbiBsKGMpe3JldHVybiBjPT09aT8oYS5lbnRlcigidGhlbWF0aWNCcmVha1NlcXVlbmNlIiksZChjKSk6cj49MyYmKGM9PT1udWxsfHxldChjKSk/KGEuZXhpdCgidGhlbWF0aWNCcmVhayIpLGUoYykpOnQoYyl9ZnVuY3Rpb24gZChjKXtyZXR1cm4gYz09PWk/KGEuY29uc3VtZShjKSxyKyssZCk6KGEuZXhpdCgidGhlbWF0aWNCcmVha1NlcXVlbmNlIiksQ3QoYyk/RHQoYSxsLCJ3aGl0ZXNwYWNlIikoYyk6bChjKSl9fXZhciBZMyxpM2U9ZigoKT0+e0tyKCk7YmEoKTtZMz17bmFtZToidGhlbWF0aWNCcmVhayIsdG9rZW5pemU6cU1hfTtzKHFNYSwidG9rZW5pemVUaGVtYXRpY0JyZWFrIil9KTtmdW5jdGlvbiBVTWEoYSxlLHQpe2xldCByPXRoaXMsaT1yLmV2ZW50c1tyLmV2ZW50cy5sZW5ndGgtMV0sbz1pJiZpWzFdLnR5cGU9PT0ibGluZVByZWZpeCI/aVsyXS5zbGljZVNlcmlhbGl6ZShpWzFdLCEwKS5sZW5ndGg6MCxuPTA7cmV0dXJuIGw7ZnVuY3Rpb24gbCh2KXtsZXQgeD1yLmNvbnRhaW5lclN0YXRlLnR5cGV8fCh2PT09NDJ8fHY9PT00M3x8dj09PTQ1PyJsaXN0VW5vcmRlcmVkIjoibGlzdE9yZGVyZWQiKTtpZih4PT09Imxpc3RVbm9yZGVyZWQiPyFyLmNvbnRhaW5lclN0YXRlLm1hcmtlcnx8dj09PXIuY29udGFpbmVyU3RhdGUubWFya2VyOkJnKHYpKXtpZihyLmNvbnRhaW5lclN0YXRlLnR5cGV8fChyLmNvbnRhaW5lclN0YXRlLnR5cGU9eCxhLmVudGVyKHgse19jb250YWluZXI6ITB9KSkseD09PSJsaXN0VW5vcmRlcmVkIilyZXR1cm4gYS5lbnRlcigibGlzdEl0ZW1QcmVmaXgiKSx2PT09NDJ8fHY9PT00NT9hLmNoZWNrKFkzLHQsYykodik6Yyh2KTtpZighci5pbnRlcnJ1cHR8fHY9PT00OSlyZXR1cm4gYS5lbnRlcigibGlzdEl0ZW1QcmVmaXgiKSxhLmVudGVyKCJsaXN0SXRlbVZhbHVlIiksZCh2KX1yZXR1cm4gdCh2KX1mdW5jdGlvbiBkKHYpe3JldHVybiBCZyh2KSYmKytuPDEwPyhhLmNvbnN1bWUodiksZCk6KCFyLmludGVycnVwdHx8bjwyKSYmKHIuY29udGFpbmVyU3RhdGUubWFya2VyP3Y9PT1yLmNvbnRhaW5lclN0YXRlLm1hcmtlcjp2PT09NDF8fHY9PT00Nik/KGEuZXhpdCgibGlzdEl0ZW1WYWx1ZSIpLGModikpOnQodil9ZnVuY3Rpb24gYyh2KXtyZXR1cm4gYS5lbnRlcigibGlzdEl0ZW1NYXJrZXIiKSxhLmNvbnN1bWUodiksYS5leGl0KCJsaXN0SXRlbU1hcmtlciIpLHIuY29udGFpbmVyU3RhdGUubWFya2VyPXIuY29udGFpbmVyU3RhdGUubWFya2VyfHx2LGEuY2hlY2soUjIsci5pbnRlcnJ1cHQ/dDpwLGEuYXR0ZW1wdChWTWEsbSx1KSl9ZnVuY3Rpb24gcCh2KXtyZXR1cm4gci5jb250YWluZXJTdGF0ZS5pbml0aWFsQmxhbmtMaW5lPSEwLG8rKyxtKHYpfWZ1bmN0aW9uIHUodil7cmV0dXJuIEN0KHYpPyhhLmVudGVyKCJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiKSxhLmNvbnN1bWUodiksYS5leGl0KCJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiKSxtKTp0KHYpfWZ1bmN0aW9uIG0odil7cmV0dXJuIHIuY29udGFpbmVyU3RhdGUuc2l6ZT1vK3Iuc2xpY2VTZXJpYWxpemUoYS5leGl0KCJsaXN0SXRlbVByZWZpeCIpLCEwKS5sZW5ndGgsZSh2KX19ZnVuY3Rpb24gV01hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiByLmNvbnRhaW5lclN0YXRlLl9jbG9zZUZsb3c9dm9pZCAwLGEuY2hlY2soUjIsaSxvKTtmdW5jdGlvbiBpKGwpe3JldHVybiByLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzPXIuY29udGFpbmVyU3RhdGUuZnVydGhlckJsYW5rTGluZXN8fHIuY29udGFpbmVyU3RhdGUuaW5pdGlhbEJsYW5rTGluZSxEdChhLGUsImxpc3RJdGVtSW5kZW50IixyLmNvbnRhaW5lclN0YXRlLnNpemUrMSkobCl9cyhpLCJvbkJsYW5rIik7ZnVuY3Rpb24gbyhsKXtyZXR1cm4gci5jb250YWluZXJTdGF0ZS5mdXJ0aGVyQmxhbmtMaW5lc3x8IUN0KGwpPyhyLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzPXZvaWQgMCxyLmNvbnRhaW5lclN0YXRlLmluaXRpYWxCbGFua0xpbmU9dm9pZCAwLG4obCkpOihyLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzPXZvaWQgMCxyLmNvbnRhaW5lclN0YXRlLmluaXRpYWxCbGFua0xpbmU9dm9pZCAwLGEuYXR0ZW1wdChqTWEsZSxuKShsKSl9cyhvLCJub3RCbGFuayIpO2Z1bmN0aW9uIG4obCl7cmV0dXJuIHIuY29udGFpbmVyU3RhdGUuX2Nsb3NlRmxvdz0hMCxyLmludGVycnVwdD12b2lkIDAsRHQoYSxhLmF0dGVtcHQoVGksZSx0KSwibGluZVByZWZpeCIsci5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo0KShsKX1zKG4sIm5vdEluQ3VycmVudEl0ZW0iKX1mdW5jdGlvbiBHTWEoYSxlLHQpe2xldCByPXRoaXM7cmV0dXJuIER0KGEsaSwibGlzdEl0ZW1JbmRlbnQiLHIuY29udGFpbmVyU3RhdGUuc2l6ZSsxKTtmdW5jdGlvbiBpKG8pe2xldCBuPXIuZXZlbnRzW3IuZXZlbnRzLmxlbmd0aC0xXTtyZXR1cm4gbiYmblsxXS50eXBlPT09Imxpc3RJdGVtSW5kZW50IiYmblsyXS5zbGljZVNlcmlhbGl6ZShuWzFdLCEwKS5sZW5ndGg9PT1yLmNvbnRhaW5lclN0YXRlLnNpemU/ZShvKTp0KG8pfX1mdW5jdGlvbiBZTWEoYSl7YS5leGl0KHRoaXMuY29udGFpbmVyU3RhdGUudHlwZSl9ZnVuY3Rpb24gS01hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBEdChhLGksImxpc3RJdGVtUHJlZml4V2hpdGVzcGFjZSIsci5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo1KTtmdW5jdGlvbiBpKG8pe2xldCBuPXIuZXZlbnRzW3IuZXZlbnRzLmxlbmd0aC0xXTtyZXR1cm4hQ3QobykmJm4mJm5bMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiP2Uobyk6dChvKX19dmFyIFRpLFZNYSxqTWEsQnV0PWYoKCk9PntLcigpO2JhKCk7RFEoKTtpM2UoKTtUaT17Y29udGludWF0aW9uOnt0b2tlbml6ZTpXTWF9LGV4aXQ6WU1hLG5hbWU6Imxpc3QiLHRva2VuaXplOlVNYX0sVk1hPXtwYXJ0aWFsOiEwLHRva2VuaXplOktNYX0sak1hPXtwYXJ0aWFsOiEwLHRva2VuaXplOkdNYX07cyhVTWEsInRva2VuaXplTGlzdFN0YXJ0Iik7cyhXTWEsInRva2VuaXplTGlzdENvbnRpbnVhdGlvbiIpO3MoR01hLCJ0b2tlbml6ZUluZGVudCIpO3MoWU1hLCJ0b2tlbml6ZUxpc3RFbmQiKTtzKEtNYSwidG9rZW5pemVMaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiKX0pO2Z1bmN0aW9uIFpNYShhLGUpe2xldCB0PWEubGVuZ3RoLHIsaSxvO2Zvcig7dC0tOylpZihhW3RdWzBdPT09ImVudGVyIil7aWYoYVt0XVsxXS50eXBlPT09ImNvbnRlbnQiKXtyPXQ7YnJlYWt9YVt0XVsxXS50eXBlPT09InBhcmFncmFwaCImJihpPXQpfWVsc2UgYVt0XVsxXS50eXBlPT09ImNvbnRlbnQiJiZhLnNwbGljZSh0LDEpLCFvJiZhW3RdWzFdLnR5cGU9PT0iZGVmaW5pdGlvbiImJihvPXQpO2xldCBuPXt0eXBlOiJzZXRleHRIZWFkaW5nIixzdGFydDp7Li4uYVtyXVsxXS5zdGFydH0sZW5kOnsuLi5hW2EubGVuZ3RoLTFdWzFdLmVuZH19O3JldHVybiBhW2ldWzFdLnR5cGU9InNldGV4dEhlYWRpbmdUZXh0IixvPyhhLnNwbGljZShpLDAsWyJlbnRlciIsbixlXSksYS5zcGxpY2UobysxLDAsWyJleGl0IixhW3JdWzFdLGVdKSxhW3JdWzFdLmVuZD17Li4uYVtvXVsxXS5lbmR9KTphW3JdWzFdPW4sYS5wdXNoKFsiZXhpdCIsbixlXSksYX1mdW5jdGlvbiBYTWEoYSxlLHQpe2xldCByPXRoaXMsaTtyZXR1cm4gbztmdW5jdGlvbiBvKGMpe2xldCBwPXIuZXZlbnRzLmxlbmd0aCx1O2Zvcig7cC0tOylpZihyLmV2ZW50c1twXVsxXS50eXBlIT09ImxpbmVFbmRpbmciJiZyLmV2ZW50c1twXVsxXS50eXBlIT09ImxpbmVQcmVmaXgiJiZyLmV2ZW50c1twXVsxXS50eXBlIT09ImNvbnRlbnQiKXt1PXIuZXZlbnRzW3BdWzFdLnR5cGU9PT0icGFyYWdyYXBoIjticmVha31yZXR1cm4hci5wYXJzZXIubGF6eVtyLm5vdygpLmxpbmVdJiYoci5pbnRlcnJ1cHR8fHUpPyhhLmVudGVyKCJzZXRleHRIZWFkaW5nTGluZSIpLGk9YyxuKGMpKTp0KGMpfWZ1bmN0aW9uIG4oYyl7cmV0dXJuIGEuZW50ZXIoInNldGV4dEhlYWRpbmdMaW5lU2VxdWVuY2UiKSxsKGMpfWZ1bmN0aW9uIGwoYyl7cmV0dXJuIGM9PT1pPyhhLmNvbnN1bWUoYyksbCk6KGEuZXhpdCgic2V0ZXh0SGVhZGluZ0xpbmVTZXF1ZW5jZSIpLEN0KGMpP0R0KGEsZCwibGluZVN1ZmZpeCIpKGMpOmQoYykpfWZ1bmN0aW9uIGQoYyl7cmV0dXJuIGM9PT1udWxsfHxldChjKT8oYS5leGl0KCJzZXRleHRIZWFkaW5nTGluZSIpLGUoYykpOnQoYyl9fXZhciBIUSxIdXQ9ZigoKT0+e0tyKCk7YmEoKTtIUT17bmFtZToic2V0ZXh0VW5kZXJsaW5lIixyZXNvbHZlVG86Wk1hLHRva2VuaXplOlhNYX07cyhaTWEsInJlc29sdmVUb1NldGV4dFVuZGVybGluZSIpO3MoWE1hLCJ0b2tlbml6ZVNldGV4dFVuZGVybGluZSIpfSk7dmFyIHFRPWYoKCk9Pnt5dXQoKTt3dXQoKTtEUSgpO011dCgpO2t1dCgpO1N1dCgpO0N1dCgpO191dCgpO1R1dCgpO0x1dCgpOyR1dCgpO0R1dCgpO0F1dCgpO0l1dCgpO051dCgpO0JRKCk7UnV0KCk7T3V0KCk7RnV0KCk7QnV0KCk7SHV0KCk7aTNlKCl9KTtmdW5jdGlvbiBvM2UoKXtyZXR1cm57ZG9jdW1lbnQ6ezkxOntuYW1lOiJnZm1Gb290bm90ZURlZmluaXRpb24iLHRva2VuaXplOmFrYSxjb250aW51YXRpb246e3Rva2VuaXplOnJrYX0sZXhpdDpza2F9fSx0ZXh0Ons5MTp7bmFtZToiZ2ZtRm9vdG5vdGVDYWxsIix0b2tlbml6ZTp0a2F9LDkzOntuYW1lOiJnZm1Qb3RlbnRpYWxGb290bm90ZUNhbGwiLGFkZDoiYWZ0ZXIiLHRva2VuaXplOkpNYSxyZXNvbHZlVG86ZWthfX19fWZ1bmN0aW9uIEpNYShhLGUsdCl7bGV0IHI9dGhpcyxpPXIuZXZlbnRzLmxlbmd0aCxvPXIucGFyc2VyLmdmbUZvb3Rub3Rlc3x8KHIucGFyc2VyLmdmbUZvb3Rub3Rlcz1bXSksbjtmb3IoO2ktLTspe2xldCBkPXIuZXZlbnRzW2ldWzFdO2lmKGQudHlwZT09PSJsYWJlbEltYWdlIil7bj1kO2JyZWFrfWlmKGQudHlwZT09PSJnZm1Gb290bm90ZUNhbGwifHxkLnR5cGU9PT0ibGFiZWxMaW5rInx8ZC50eXBlPT09ImxhYmVsInx8ZC50eXBlPT09ImltYWdlInx8ZC50eXBlPT09ImxpbmsiKWJyZWFrfXJldHVybiBsO2Z1bmN0aW9uIGwoZCl7aWYoIW58fCFuLl9iYWxhbmNlZClyZXR1cm4gdChkKTtsZXQgYz1OcihyLnNsaWNlU2VyaWFsaXplKHtzdGFydDpuLmVuZCxlbmQ6ci5ub3coKX0pKTtyZXR1cm4gYy5jb2RlUG9pbnRBdCgwKSE9PTk0fHwhby5pbmNsdWRlcyhjLnNsaWNlKDEpKT90KGQpOihhLmVudGVyKCJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciIpLGEuY29uc3VtZShkKSxhLmV4aXQoImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIiksZShkKSl9fWZ1bmN0aW9uIGVrYShhLGUpe2xldCB0PWEubGVuZ3RoLHI7Zm9yKDt0LS07KWlmKGFbdF1bMV0udHlwZT09PSJsYWJlbEltYWdlIiYmYVt0XVswXT09PSJlbnRlciIpe3I9YVt0XVsxXTticmVha31hW3QrMV1bMV0udHlwZT0iZGF0YSIsYVt0KzNdWzFdLnR5cGU9ImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIjtsZXQgaT17dHlwZToiZ2ZtRm9vdG5vdGVDYWxsIixzdGFydDpPYmplY3QuYXNzaWduKHt9LGFbdCszXVsxXS5zdGFydCksZW5kOk9iamVjdC5hc3NpZ24oe30sYVthLmxlbmd0aC0xXVsxXS5lbmQpfSxvPXt0eXBlOiJnZm1Gb290bm90ZUNhbGxNYXJrZXIiLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sYVt0KzNdWzFdLmVuZCksZW5kOk9iamVjdC5hc3NpZ24oe30sYVt0KzNdWzFdLmVuZCl9O28uZW5kLmNvbHVtbisrLG8uZW5kLm9mZnNldCsrLG8uZW5kLl9idWZmZXJJbmRleCsrO2xldCBuPXt0eXBlOiJnZm1Gb290bm90ZUNhbGxTdHJpbmciLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sby5lbmQpLGVuZDpPYmplY3QuYXNzaWduKHt9LGFbYS5sZW5ndGgtMV1bMV0uc3RhcnQpfSxsPXt0eXBlOiJjaHVua1N0cmluZyIsY29udGVudFR5cGU6InN0cmluZyIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxuLnN0YXJ0KSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxuLmVuZCl9LGQ9W2FbdCsxXSxhW3QrMl0sWyJlbnRlciIsaSxlXSxhW3QrM10sYVt0KzRdLFsiZW50ZXIiLG8sZV0sWyJleGl0IixvLGVdLFsiZW50ZXIiLG4sZV0sWyJlbnRlciIsbCxlXSxbImV4aXQiLGwsZV0sWyJleGl0IixuLGVdLGFbYS5sZW5ndGgtMl0sYVthLmxlbmd0aC0xXSxbImV4aXQiLGksZV1dO3JldHVybiBhLnNwbGljZSh0LGEubGVuZ3RoLXQrMSwuLi5kKSxhfWZ1bmN0aW9uIHRrYShhLGUsdCl7bGV0IHI9dGhpcyxpPXIucGFyc2VyLmdmbUZvb3Rub3Rlc3x8KHIucGFyc2VyLmdmbUZvb3Rub3Rlcz1bXSksbz0wLG47cmV0dXJuIGw7ZnVuY3Rpb24gbCh1KXtyZXR1cm4gYS5lbnRlcigiZ2ZtRm9vdG5vdGVDYWxsIiksYS5lbnRlcigiZ2ZtRm9vdG5vdGVDYWxsTGFiZWxNYXJrZXIiKSxhLmNvbnN1bWUodSksYS5leGl0KCJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciIpLGR9ZnVuY3Rpb24gZCh1KXtyZXR1cm4gdSE9PTk0P3QodSk6KGEuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbE1hcmtlciIpLGEuY29uc3VtZSh1KSxhLmV4aXQoImdmbUZvb3Rub3RlQ2FsbE1hcmtlciIpLGEuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbFN0cmluZyIpLGEuZW50ZXIoImNodW5rU3RyaW5nIikuY29udGVudFR5cGU9InN0cmluZyIsYyl9ZnVuY3Rpb24gYyh1KXtpZihvPjk5OXx8dT09PTkzJiYhbnx8dT09PW51bGx8fHU9PT05MXx8dWEodSkpcmV0dXJuIHQodSk7aWYodT09PTkzKXthLmV4aXQoImNodW5rU3RyaW5nIik7bGV0IG09YS5leGl0KCJnZm1Gb290bm90ZUNhbGxTdHJpbmciKTtyZXR1cm4gaS5pbmNsdWRlcyhOcihyLnNsaWNlU2VyaWFsaXplKG0pKSk/KGEuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIiksYS5jb25zdW1lKHUpLGEuZXhpdCgiZ2ZtRm9vdG5vdGVDYWxsTGFiZWxNYXJrZXIiKSxhLmV4aXQoImdmbUZvb3Rub3RlQ2FsbCIpLGUpOnQodSl9cmV0dXJuIHVhKHUpfHwobj0hMCksbysrLGEuY29uc3VtZSh1KSx1PT09OTI/cDpjfWZ1bmN0aW9uIHAodSl7cmV0dXJuIHU9PT05MXx8dT09PTkyfHx1PT09OTM/KGEuY29uc3VtZSh1KSxvKyssYyk6Yyh1KX19ZnVuY3Rpb24gYWthKGEsZSx0KXtsZXQgcj10aGlzLGk9ci5wYXJzZXIuZ2ZtRm9vdG5vdGVzfHwoci5wYXJzZXIuZ2ZtRm9vdG5vdGVzPVtdKSxvLG49MCxsO3JldHVybiBkO2Z1bmN0aW9uIGQoeCl7cmV0dXJuIGEuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbiIpLl9jb250YWluZXI9ITAsYS5lbnRlcigiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWwiKSxhLmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbE1hcmtlciIpLGEuY29uc3VtZSh4KSxhLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsTWFya2VyIiksY31mdW5jdGlvbiBjKHgpe3JldHVybiB4PT09OTQ/KGEuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbk1hcmtlciIpLGEuY29uc3VtZSh4KSxhLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbk1hcmtlciIpLGEuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsU3RyaW5nIiksYS5lbnRlcigiY2h1bmtTdHJpbmciKS5jb250ZW50VHlwZT0ic3RyaW5nIixwKTp0KHgpfWZ1bmN0aW9uIHAoeCl7aWYobj45OTl8fHg9PT05MyYmIWx8fHg9PT1udWxsfHx4PT09OTF8fHVhKHgpKXJldHVybiB0KHgpO2lmKHg9PT05Myl7YS5leGl0KCJjaHVua1N0cmluZyIpO2xldCBiPWEuZXhpdCgiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmciKTtyZXR1cm4gbz1OcihyLnNsaWNlU2VyaWFsaXplKGIpKSxhLmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbE1hcmtlciIpLGEuY29uc3VtZSh4KSxhLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsTWFya2VyIiksYS5leGl0KCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbCIpLG19cmV0dXJuIHVhKHgpfHwobD0hMCksbisrLGEuY29uc3VtZSh4KSx4PT09OTI/dTpwfWZ1bmN0aW9uIHUoeCl7cmV0dXJuIHg9PT05MXx8eD09PTkyfHx4PT09OTM/KGEuY29uc3VtZSh4KSxuKysscCk6cCh4KX1mdW5jdGlvbiBtKHgpe3JldHVybiB4PT09NTg/KGEuZW50ZXIoImRlZmluaXRpb25NYXJrZXIiKSxhLmNvbnN1bWUoeCksYS5leGl0KCJkZWZpbml0aW9uTWFya2VyIiksaS5pbmNsdWRlcyhvKXx8aS5wdXNoKG8pLER0KGEsdiwiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uV2hpdGVzcGFjZSIpKTp0KHgpfWZ1bmN0aW9uIHYoeCl7cmV0dXJuIGUoeCl9fWZ1bmN0aW9uIHJrYShhLGUsdCl7cmV0dXJuIGEuY2hlY2soUjIsZSxhLmF0dGVtcHQoUU1hLGUsdCkpfWZ1bmN0aW9uIHNrYShhKXthLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbiIpfWZ1bmN0aW9uIGlrYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gRHQoYSxpLCJnZm1Gb290bm90ZURlZmluaXRpb25JbmRlbnQiLDUpO2Z1bmN0aW9uIGkobyl7bGV0IG49ci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdO3JldHVybiBuJiZuWzFdLnR5cGU9PT0iZ2ZtRm9vdG5vdGVEZWZpbml0aW9uSW5kZW50IiYmblsyXS5zbGljZVNlcmlhbGl6ZShuWzFdLCEwKS5sZW5ndGg9PT00P2Uobyk6dChvKX19dmFyIFFNYSxxdXQ9ZigoKT0+e3FRKCk7S3IoKTtiYSgpO0YwKCk7UU1hPXt0b2tlbml6ZTppa2EscGFydGlhbDohMH07cyhvM2UsImdmbUZvb3Rub3RlIik7cyhKTWEsInRva2VuaXplUG90ZW50aWFsR2ZtRm9vdG5vdGVDYWxsIik7cyhla2EsInJlc29sdmVUb1BvdGVudGlhbEdmbUZvb3Rub3RlQ2FsbCIpO3ModGthLCJ0b2tlbml6ZUdmbUZvb3Rub3RlQ2FsbCIpO3MoYWthLCJ0b2tlbml6ZURlZmluaXRpb25TdGFydCIpO3MocmthLCJ0b2tlbml6ZURlZmluaXRpb25Db250aW51YXRpb24iKTtzKHNrYSwiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uRW5kIik7cyhpa2EsInRva2VuaXplSW5kZW50Iil9KTtmdW5jdGlvbiBWdXQoYSxlKXtyZXR1cm4iQmFjayB0byByZWZlcmVuY2UgIisoYSsxKSsoZT4xPyItIitlOiIiKX1mdW5jdGlvbiBuM2UoYSl7bGV0IGU9YXx8bmthLHQ9ZS5sYWJlbHx8IkZvb3Rub3RlcyIscj1lLmxhYmVsVGFnTmFtZXx8ImgyIixpPWUubGFiZWxBdHRyaWJ1dGVzPT09bnVsbHx8ZS5sYWJlbEF0dHJpYnV0ZXM9PT12b2lkIDA/J2NsYXNzPSJzci1vbmx5Iic6ZS5sYWJlbEF0dHJpYnV0ZXMsbz1lLmJhY2tMYWJlbHx8VnV0LG49ZS5jbG9iYmVyUHJlZml4PT09bnVsbHx8ZS5jbG9iYmVyUHJlZml4PT09dm9pZCAwPyJ1c2VyLWNvbnRlbnQtIjplLmNsb2JiZXJQcmVmaXg7cmV0dXJue2VudGVyOntnZm1Gb290bm90ZURlZmluaXRpb24oKXt0aGlzLmdldERhdGEoInRpZ2h0U3RhY2siKS5wdXNoKCExKX0sZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmcoKXt0aGlzLmJ1ZmZlcigpfSxnZm1Gb290bm90ZUNhbGxTdHJpbmcoKXt0aGlzLmJ1ZmZlcigpfX0sZXhpdDp7Z2ZtRm9vdG5vdGVEZWZpbml0aW9uKCl7bGV0IGw9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZURlZmluaXRpb25zIiksZD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvblN0YWNrIiksYz10aGlzLmdldERhdGEoInRpZ2h0U3RhY2siKSxwPWQucG9wKCksdT10aGlzLnJlc3VtZSgpO2x8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVEZWZpbml0aW9ucyIsbD17fSksb2thLmNhbGwobCxwKXx8KGxbcF09dSksYy5wb3AoKSx0aGlzLnNldERhdGEoInNsdXJwT25lTGluZUVuZGluZyIsITApLHRoaXMuc2V0RGF0YSgibGFzdFdhc1RhZyIpfSxnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZyhsKXtsZXQgZD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvblN0YWNrIik7ZHx8dGhpcy5zZXREYXRhKCJnZm1Gb290bm90ZURlZmluaXRpb25TdGFjayIsZD1bXSksZC5wdXNoKE5yKHRoaXMuc2xpY2VTZXJpYWxpemUobCkpKSx0aGlzLnJlc3VtZSgpLHRoaXMuYnVmZmVyKCl9LGdmbUZvb3Rub3RlQ2FsbFN0cmluZyhsKXtsZXQgZD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbE9yZGVyIiksYz10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbENvdW50cyIpLHA9TnIodGhpcy5zbGljZVNlcmlhbGl6ZShsKSksdTt0aGlzLnJlc3VtZSgpLGR8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVDYWxsT3JkZXIiLGQ9W10pLGN8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVDYWxsQ291bnRzIixjPXt9KTtsZXQgbT1kLmluZGV4T2YocCksdj1JMihwLnRvTG93ZXJDYXNlKCkpO209PT0tMT8oZC5wdXNoKHApLGNbcF09MSx1PWQubGVuZ3RoKTooY1twXSsrLHU9bSsxKTtsZXQgeD1jW3BdO3RoaXMudGFnKCc8c3VwPjxhIGhyZWY9IiMnK24rImZuLSIrdisnIiBpZD0iJytuKyJmbnJlZi0iK3YrKHg+MT8iLSIreDoiIikrJyIgZGF0YS1mb290bm90ZS1yZWY9IiIgYXJpYS1kZXNjcmliZWRieT0iZm9vdG5vdGUtbGFiZWwiPicrU3RyaW5nKHUpKyI8L2E+PC9zdXA+Iil9LG51bGwoKXtsZXQgbD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbE9yZGVyIil8fFtdLGQ9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZUNhbGxDb3VudHMiKXx8e30sYz10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvbnMiKXx8e30scD0tMTtmb3IobC5sZW5ndGg+MCYmKHRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoJzxzZWN0aW9uIGRhdGEtZm9vdG5vdGVzPSIiIGNsYXNzPSJmb290bm90ZXMiPjwnK3IrJyBpZD0iZm9vdG5vdGUtbGFiZWwiJysoaT8iICIraToiIikrIj4iKSx0aGlzLnJhdyh0aGlzLmVuY29kZSh0KSksdGhpcy50YWcoIjwvIityKyI+IiksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPG9sPiIpKTsrK3A8bC5sZW5ndGg7KXtsZXQgdT1sW3BdLG09STIodS50b0xvd2VyQ2FzZSgpKSx2PTAseD1bXTtmb3IoOysrdjw9ZFt1XTspeC5wdXNoKCc8YSBocmVmPSIjJytuKyJmbnJlZi0iK20rKHY+MT8iLSIrdjoiIikrJyIgZGF0YS1mb290bm90ZS1iYWNrcmVmPSIiIGFyaWEtbGFiZWw9IicrdGhpcy5lbmNvZGUodHlwZW9mIG89PSJzdHJpbmciP286byhwLHYpKSsnIiBjbGFzcz0iZGF0YS1mb290bm90ZS1iYWNrcmVmIj5cdTIxQTknKyh2PjE/IjxzdXA+Iit2KyI8L3N1cD4iOiIiKSsiPC9hPiIpO2xldCBiPXguam9pbigiICIpLGc9ITE7dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygnPGxpIGlkPSInK24rImZuLSIrbSsnIj4nKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKGNbdV0ucmVwbGFjZSgvPFwvcD4oPzpccj9cbnxccik/JC8sZnVuY3Rpb24oeSl7cmV0dXJuIGc9ITAsIiAiK2IreX0pKSxnfHwodGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZyhiKSksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC9saT4iKX1sLmxlbmd0aD4wJiYodGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC9vbD4iKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3NlY3Rpb24+IikpfX19fXZhciBva2EsbmthLGp1dD1mKCgpPT57RjAoKTtOMigpO29rYT17fS5oYXNPd25Qcm9wZXJ0eSxua2E9e307cyhWdXQsImRlZmF1bHRCYWNrTGFiZWwiKTtzKG4zZSwiZ2ZtRm9vdG5vdGVIdG1sIil9KTt2YXIgVXV0PWYoKCk9PntxdXQoKTtqdXQoKX0pO2Z1bmN0aW9uIGwzZSgpe3JldHVybntlbnRlcjp7c3RyaWtldGhyb3VnaCgpe3RoaXMudGFnKCI8ZGVsPiIpfX0sZXhpdDp7c3RyaWtldGhyb3VnaCgpe3RoaXMudGFnKCI8L2RlbD4iKX19fX12YXIgV3V0PWYoKCk9PntzKGwzZSwiZ2ZtU3RyaWtldGhyb3VnaEh0bWwiKX0pO2Z1bmN0aW9uIGMzZShhKXtsZXQgdD0oYXx8e30pLnNpbmdsZVRpbGRlLHI9e25hbWU6InN0cmlrZXRocm91Z2giLHRva2VuaXplOm8scmVzb2x2ZUFsbDppfTtyZXR1cm4gdD09bnVsbCYmKHQ9ITApLHt0ZXh0OnsxMjY6cn0saW5zaWRlU3Bhbjp7bnVsbDpbcl19LGF0dGVudGlvbk1hcmtlcnM6e251bGw6WzEyNl19fTtmdW5jdGlvbiBpKG4sbCl7bGV0IGQ9LTE7Zm9yKDsrK2Q8bi5sZW5ndGg7KWlmKG5bZF1bMF09PT0iZW50ZXIiJiZuW2RdWzFdLnR5cGU9PT0ic3RyaWtldGhyb3VnaFNlcXVlbmNlVGVtcG9yYXJ5IiYmbltkXVsxXS5fY2xvc2Upe2xldCBjPWQ7Zm9yKDtjLS07KWlmKG5bY11bMF09PT0iZXhpdCImJm5bY11bMV0udHlwZT09PSJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiJiZuW2NdWzFdLl9vcGVuJiZuW2RdWzFdLmVuZC5vZmZzZXQtbltkXVsxXS5zdGFydC5vZmZzZXQ9PT1uW2NdWzFdLmVuZC5vZmZzZXQtbltjXVsxXS5zdGFydC5vZmZzZXQpe25bZF1bMV0udHlwZT0ic3RyaWtldGhyb3VnaFNlcXVlbmNlIixuW2NdWzFdLnR5cGU9InN0cmlrZXRocm91Z2hTZXF1ZW5jZSI7bGV0IHA9e3R5cGU6InN0cmlrZXRocm91Z2giLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sbltjXVsxXS5zdGFydCksZW5kOk9iamVjdC5hc3NpZ24oe30sbltkXVsxXS5lbmQpfSx1PXt0eXBlOiJzdHJpa2V0aHJvdWdoVGV4dCIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxuW2NdWzFdLmVuZCksZW5kOk9iamVjdC5hc3NpZ24oe30sbltkXVsxXS5zdGFydCl9LG09W1siZW50ZXIiLHAsbF0sWyJlbnRlciIsbltjXVsxXSxsXSxbImV4aXQiLG5bY11bMV0sbF0sWyJlbnRlciIsdSxsXV0sdj1sLnBhcnNlci5jb25zdHJ1Y3RzLmluc2lkZVNwYW4ubnVsbDt2JiZZcihtLG0ubGVuZ3RoLDAsSDAodixuLnNsaWNlKGMrMSxkKSxsKSksWXIobSxtLmxlbmd0aCwwLFtbImV4aXQiLHUsbF0sWyJlbnRlciIsbltkXVsxXSxsXSxbImV4aXQiLG5bZF1bMV0sbF0sWyJleGl0IixwLGxdXSksWXIobixjLTEsZC1jKzMsbSksZD1jK20ubGVuZ3RoLTI7YnJlYWt9fWZvcihkPS0xOysrZDxuLmxlbmd0aDspbltkXVsxXS50eXBlPT09InN0cmlrZXRocm91Z2hTZXF1ZW5jZVRlbXBvcmFyeSImJihuW2RdWzFdLnR5cGU9ImRhdGEiKTtyZXR1cm4gbn1zKGksInJlc29sdmVBbGxTdHJpa2V0aHJvdWdoIik7ZnVuY3Rpb24gbyhuLGwsZCl7bGV0IGM9dGhpcy5wcmV2aW91cyxwPXRoaXMuZXZlbnRzLHU9MDtyZXR1cm4gbTtmdW5jdGlvbiBtKHgpe3JldHVybiBjPT09MTI2JiZwW3AubGVuZ3RoLTFdWzFdLnR5cGUhPT0iY2hhcmFjdGVyRXNjYXBlIj9kKHgpOihuLmVudGVyKCJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiKSx2KHgpKX1mdW5jdGlvbiB2KHgpe2xldCBiPUJsKGMpO2lmKHg9PT0xMjYpcmV0dXJuIHU+MT9kKHgpOihuLmNvbnN1bWUoeCksdSsrLHYpO2lmKHU8MiYmIXQpcmV0dXJuIGQoeCk7bGV0IGc9bi5leGl0KCJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiKSx5PUJsKHgpO3JldHVybiBnLl9vcGVuPSF5fHx5PT09MiYmISFiLGcuX2Nsb3NlPSFifHxiPT09MiYmISF5LGwoeCl9fXMobywidG9rZW5pemVTdHJpa2V0aHJvdWdoIil9dmFyIEd1dD1mKCgpPT57UDIoKTt4USgpO1VnKCk7cyhjM2UsImdmbVN0cmlrZXRocm91Z2giKX0pO3ZhciBZdXQ9ZigoKT0+e1d1dCgpO0d1dCgpfSk7ZnVuY3Rpb24gdTNlKCl7cmV0dXJue2VudGVyOnt0YWJsZShhKXtsZXQgZT1hLl9hbGlnbjt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGFibGU+IiksdGhpcy5zZXREYXRhKCJ0YWJsZUFsaWduIixlKX0sdGFibGVCb2R5KCl7dGhpcy50YWcoIjx0Ym9keT4iKX0sdGFibGVEYXRhKCl7bGV0IGE9dGhpcy5nZXREYXRhKCJ0YWJsZUFsaWduIiksZT10aGlzLmdldERhdGEoInRhYmxlQ29sdW1uIiksdD1kM2VbYVtlXV07dD09PXZvaWQgMD90aGlzLmJ1ZmZlcigpOih0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGQiK3QrIj4iKSl9LHRhYmxlSGVhZCgpe3RoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjx0aGVhZD4iKX0sdGFibGVIZWFkZXIoKXtsZXQgYT10aGlzLmdldERhdGEoInRhYmxlQWxpZ24iKSxlPXRoaXMuZ2V0RGF0YSgidGFibGVDb2x1bW4iKSx0PWQzZVthW2VdXTt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGgiK3QrIj4iKX0sdGFibGVSb3coKXt0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIiwwKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dHI+Iil9fSxleGl0Ontjb2RlVGV4dERhdGEoYSl7bGV0IGU9dGhpcy5zbGljZVNlcmlhbGl6ZShhKTt0aGlzLmdldERhdGEoInRhYmxlQWxpZ24iKSYmKGU9ZS5yZXBsYWNlKC9cXChbXFx8XSkvZyxsa2EpKSx0aGlzLnJhdyh0aGlzLmVuY29kZShlKSl9LHRhYmxlKCl7dGhpcy5zZXREYXRhKCJ0YWJsZUFsaWduIiksdGhpcy5zZXREYXRhKCJzbHVycEFsbExpbmVFbmRpbmdzIiksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC90YWJsZT4iKX0sdGFibGVCb2R5KCl7dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC90Ym9keT4iKX0sdGFibGVEYXRhKCl7bGV0IGE9dGhpcy5nZXREYXRhKCJ0YWJsZUFsaWduIiksZT10aGlzLmdldERhdGEoInRhYmxlQ29sdW1uIik7ZSBpbiBhPyh0aGlzLnRhZygiPC90ZD4iKSx0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIixlKzEpKTp0aGlzLnJlc3VtZSgpfSx0YWJsZUhlYWQoKXt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3RoZWFkPiIpfSx0YWJsZUhlYWRlcigpe2xldCBhPXRoaXMuZ2V0RGF0YSgidGFibGVDb2x1bW4iKTt0aGlzLnRhZygiPC90aD4iKSx0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIixhKzEpfSx0YWJsZVJvdygpe2xldCBhPXRoaXMuZ2V0RGF0YSgidGFibGVBbGlnbiIpLGU9dGhpcy5nZXREYXRhKCJ0YWJsZUNvbHVtbiIpO2Zvcig7ZTxhLmxlbmd0aDspdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPHRkIitkM2VbYVtlXV0rIj48L3RkPiIpLGUrKzt0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIixlKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3RyPiIpfX19fWZ1bmN0aW9uIGxrYShhLGUpe3JldHVybiBlPT09InwiP2U6YX12YXIgZDNlLEt1dD1mKCgpPT57ZDNlPXtub25lOiIiLGxlZnQ6JyBhbGlnbj0ibGVmdCInLHJpZ2h0OicgYWxpZ249InJpZ2h0IicsY2VudGVyOicgYWxpZ249ImNlbnRlciInfTtzKHUzZSwiZ2ZtVGFibGVIdG1sIik7cyhsa2EsInJlcGxhY2UiKX0pO2Z1bmN0aW9uIGNrYShhLGUsdCxyKXtsZXQgaT0wO2lmKCEodD09PTAmJnIubGVuZ3RoPT09MCkpe2Zvcig7aTxhLm1hcC5sZW5ndGg7KXtpZihhLm1hcFtpXVswXT09PWUpe2EubWFwW2ldWzFdKz10LGEubWFwW2ldWzJdLnB1c2goLi4ucik7cmV0dXJufWkrPTF9YS5tYXAucHVzaChbZSx0LHJdKX19dmFyIFZRLFp1dD1mKCgpPT57VlE9Y2xhc3N7c3RhdGlje3ModGhpcywiRWRpdE1hcCIpfWNvbnN0cnVjdG9yKCl7dGhpcy5tYXA9W119YWRkKGUsdCxyKXtja2EodGhpcyxlLHQscil9Y29uc3VtZShlKXtpZih0aGlzLm1hcC5zb3J0KGZ1bmN0aW9uKG8sbil7cmV0dXJuIG9bMF0tblswXX0pLHRoaXMubWFwLmxlbmd0aD09PTApcmV0dXJuO2xldCB0PXRoaXMubWFwLmxlbmd0aCxyPVtdO2Zvcig7dD4wOyl0LT0xLHIucHVzaChlLnNsaWNlKHRoaXMubWFwW3RdWzBdK3RoaXMubWFwW3RdWzFdKSx0aGlzLm1hcFt0XVsyXSksZS5sZW5ndGg9dGhpcy5tYXBbdF1bMF07ci5wdXNoKGUuc2xpY2UoKSksZS5sZW5ndGg9MDtsZXQgaT1yLnBvcCgpO2Zvcig7aTspe2ZvcihsZXQgbyBvZiBpKWUucHVzaChvKTtpPXIucG9wKCl9dGhpcy5tYXAubGVuZ3RoPTB9fTtzKGNrYSwiYWRkSW1wbGVtZW50YXRpb24iKX0pO2Z1bmN0aW9uIFh1dChhLGUpe2xldCB0PSExLHI9W107Zm9yKDtlPGEubGVuZ3RoOyl7bGV0IGk9YVtlXTtpZih0KXtpZihpWzBdPT09ImVudGVyIilpWzFdLnR5cGU9PT0idGFibGVDb250ZW50IiYmci5wdXNoKGFbZSsxXVsxXS50eXBlPT09InRhYmxlRGVsaW1pdGVyTWFya2VyIj8ibGVmdCI6Im5vbmUiKTtlbHNlIGlmKGlbMV0udHlwZT09PSJ0YWJsZUNvbnRlbnQiKXtpZihhW2UtMV1bMV0udHlwZT09PSJ0YWJsZURlbGltaXRlck1hcmtlciIpe2xldCBvPXIubGVuZ3RoLTE7cltvXT1yW29dPT09ImxlZnQiPyJjZW50ZXIiOiJyaWdodCJ9fWVsc2UgaWYoaVsxXS50eXBlPT09InRhYmxlRGVsaW1pdGVyUm93IilicmVha31lbHNlIGlbMF09PT0iZW50ZXIiJiZpWzFdLnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciJiYodD0hMCk7ZSs9MX1yZXR1cm4gcn12YXIgUXV0PWYoKCk9PntzKFh1dCwiZ2ZtVGFibGVBbGlnbiIpfSk7ZnVuY3Rpb24gcDNlKCl7cmV0dXJue2Zsb3c6e251bGw6e25hbWU6InRhYmxlIix0b2tlbml6ZTpka2EscmVzb2x2ZUFsbDp1a2F9fX19ZnVuY3Rpb24gZGthKGEsZSx0KXtsZXQgcj10aGlzLGk9MCxvPTAsbjtyZXR1cm4gbDtmdW5jdGlvbiBsKEIpe2xldCBNPXIuZXZlbnRzLmxlbmd0aC0xO2Zvcig7TT4tMTspe2xldCBBPXIuZXZlbnRzW01dWzFdLnR5cGU7aWYoQT09PSJsaW5lRW5kaW5nInx8QT09PSJsaW5lUHJlZml4IilNLS07ZWxzZSBicmVha31sZXQgUz1NPi0xP3IuZXZlbnRzW01dWzFdLnR5cGU6bnVsbCxFPVM9PT0idGFibGVIZWFkInx8Uz09PSJ0YWJsZVJvdyI/ejpkO3JldHVybiBFPT09eiYmci5wYXJzZXIubGF6eVtyLm5vdygpLmxpbmVdP3QoQik6RShCKX1mdW5jdGlvbiBkKEIpe3JldHVybiBhLmVudGVyKCJ0YWJsZUhlYWQiKSxhLmVudGVyKCJ0YWJsZVJvdyIpLGMoQil9ZnVuY3Rpb24gYyhCKXtyZXR1cm4gQj09PTEyNHx8KG49ITAsbys9MSkscChCKX1mdW5jdGlvbiBwKEIpe3JldHVybiBCPT09bnVsbD90KEIpOmV0KEIpP28+MT8obz0wLHIuaW50ZXJydXB0PSEwLGEuZXhpdCgidGFibGVSb3ciKSxhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKEIpLGEuZXhpdCgibGluZUVuZGluZyIpLHYpOnQoQik6Q3QoQik/RHQoYSxwLCJ3aGl0ZXNwYWNlIikoQik6KG8rPTEsbiYmKG49ITEsaSs9MSksQj09PTEyND8oYS5lbnRlcigidGFibGVDZWxsRGl2aWRlciIpLGEuY29uc3VtZShCKSxhLmV4aXQoInRhYmxlQ2VsbERpdmlkZXIiKSxuPSEwLHApOihhLmVudGVyKCJkYXRhIiksdShCKSkpfWZ1bmN0aW9uIHUoQil7cmV0dXJuIEI9PT1udWxsfHxCPT09MTI0fHx1YShCKT8oYS5leGl0KCJkYXRhIikscChCKSk6KGEuY29uc3VtZShCKSxCPT09OTI/bTp1KX1mdW5jdGlvbiBtKEIpe3JldHVybiBCPT09OTJ8fEI9PT0xMjQ/KGEuY29uc3VtZShCKSx1KTp1KEIpfWZ1bmN0aW9uIHYoQil7cmV0dXJuIHIuaW50ZXJydXB0PSExLHIucGFyc2VyLmxhenlbci5ub3coKS5saW5lXT90KEIpOihhLmVudGVyKCJ0YWJsZURlbGltaXRlclJvdyIpLG49ITEsQ3QoQik/RHQoYSx4LCJsaW5lUHJlZml4IixyLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIik/dm9pZCAwOjQpKEIpOngoQikpfWZ1bmN0aW9uIHgoQil7cmV0dXJuIEI9PT00NXx8Qj09PTU4P2coQik6Qj09PTEyND8obj0hMCxhLmVudGVyKCJ0YWJsZUNlbGxEaXZpZGVyIiksYS5jb25zdW1lKEIpLGEuZXhpdCgidGFibGVDZWxsRGl2aWRlciIpLGIpOl8oQil9ZnVuY3Rpb24gYihCKXtyZXR1cm4gQ3QoQik/RHQoYSxnLCJ3aGl0ZXNwYWNlIikoQik6ZyhCKX1mdW5jdGlvbiBnKEIpe3JldHVybiBCPT09NTg/KG8rPTEsbj0hMCxhLmVudGVyKCJ0YWJsZURlbGltaXRlck1hcmtlciIpLGEuY29uc3VtZShCKSxhLmV4aXQoInRhYmxlRGVsaW1pdGVyTWFya2VyIikseSk6Qj09PTQ1PyhvKz0xLHkoQikpOkI9PT1udWxsfHxldChCKT9OKEIpOl8oQil9ZnVuY3Rpb24geShCKXtyZXR1cm4gQj09PTQ1PyhhLmVudGVyKCJ0YWJsZURlbGltaXRlckZpbGxlciIpLGsoQikpOl8oQil9ZnVuY3Rpb24gayhCKXtyZXR1cm4gQj09PTQ1PyhhLmNvbnN1bWUoQiksayk6Qj09PTU4PyhuPSEwLGEuZXhpdCgidGFibGVEZWxpbWl0ZXJGaWxsZXIiKSxhLmVudGVyKCJ0YWJsZURlbGltaXRlck1hcmtlciIpLGEuY29uc3VtZShCKSxhLmV4aXQoInRhYmxlRGVsaW1pdGVyTWFya2VyIiksQyk6KGEuZXhpdCgidGFibGVEZWxpbWl0ZXJGaWxsZXIiKSxDKEIpKX1mdW5jdGlvbiBDKEIpe3JldHVybiBDdChCKT9EdChhLE4sIndoaXRlc3BhY2UiKShCKTpOKEIpfWZ1bmN0aW9uIE4oQil7cmV0dXJuIEI9PT0xMjQ/eChCKTpCPT09bnVsbHx8ZXQoQik/IW58fGkhPT1vP18oQik6KGEuZXhpdCgidGFibGVEZWxpbWl0ZXJSb3ciKSxhLmV4aXQoInRhYmxlSGVhZCIpLGUoQikpOl8oQil9ZnVuY3Rpb24gXyhCKXtyZXR1cm4gdChCKX1mdW5jdGlvbiB6KEIpe3JldHVybiBhLmVudGVyKCJ0YWJsZVJvdyIpLE8oQil9ZnVuY3Rpb24gTyhCKXtyZXR1cm4gQj09PTEyND8oYS5lbnRlcigidGFibGVDZWxsRGl2aWRlciIpLGEuY29uc3VtZShCKSxhLmV4aXQoInRhYmxlQ2VsbERpdmlkZXIiKSxPKTpCPT09bnVsbHx8ZXQoQik/KGEuZXhpdCgidGFibGVSb3ciKSxlKEIpKTpDdChCKT9EdChhLE8sIndoaXRlc3BhY2UiKShCKTooYS5lbnRlcigiZGF0YSIpLFQoQikpfWZ1bmN0aW9uIFQoQil7cmV0dXJuIEI9PT1udWxsfHxCPT09MTI0fHx1YShCKT8oYS5leGl0KCJkYXRhIiksTyhCKSk6KGEuY29uc3VtZShCKSxCPT09OTI/UDpUKX1mdW5jdGlvbiBQKEIpe3JldHVybiBCPT09OTJ8fEI9PT0xMjQ/KGEuY29uc3VtZShCKSxUKTpUKEIpfX1mdW5jdGlvbiB1a2EoYSxlKXtsZXQgdD0tMSxyPSEwLGk9MCxvPVswLDAsMCwwXSxuPVswLDAsMCwwXSxsPSExLGQ9MCxjLHAsdSxtPW5ldyBWUTtmb3IoOysrdDxhLmxlbmd0aDspe2xldCB2PWFbdF0seD12WzFdO3ZbMF09PT0iZW50ZXIiP3gudHlwZT09PSJ0YWJsZUhlYWQiPyhsPSExLGQhPT0wJiYoSnV0KG0sZSxkLGMscCkscD12b2lkIDAsZD0wKSxjPXt0eXBlOiJ0YWJsZSIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSx4LnN0YXJ0KSxlbmQ6T2JqZWN0LmFzc2lnbih7fSx4LmVuZCl9LG0uYWRkKHQsMCxbWyJlbnRlciIsYyxlXV0pKTp4LnR5cGU9PT0idGFibGVSb3cifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciPyhyPSEwLHU9dm9pZCAwLG89WzAsMCwwLDBdLG49WzAsdCsxLDAsMF0sbCYmKGw9ITEscD17dHlwZToidGFibGVCb2R5IixzdGFydDpPYmplY3QuYXNzaWduKHt9LHguc3RhcnQpLGVuZDpPYmplY3QuYXNzaWduKHt9LHguZW5kKX0sbS5hZGQodCwwLFtbImVudGVyIixwLGVdXSkpLGk9eC50eXBlPT09InRhYmxlRGVsaW1pdGVyUm93Ij8yOnA/MzoxKTppJiYoeC50eXBlPT09ImRhdGEifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJNYXJrZXIifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJGaWxsZXIiKT8ocj0hMSxuWzJdPT09MCYmKG9bMV0hPT0wJiYoblswXT1uWzFdLHU9alEobSxlLG8saSx2b2lkIDAsdSksbz1bMCwwLDAsMF0pLG5bMl09dCkpOngudHlwZT09PSJ0YWJsZUNlbGxEaXZpZGVyIiYmKHI/cj0hMToob1sxXSE9PTAmJihuWzBdPW5bMV0sdT1qUShtLGUsbyxpLHZvaWQgMCx1KSksbz1uLG49W29bMV0sdCwwLDBdKSk6eC50eXBlPT09InRhYmxlSGVhZCI/KGw9ITAsZD10KTp4LnR5cGU9PT0idGFibGVSb3cifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciPyhkPXQsb1sxXSE9PTA/KG5bMF09blsxXSx1PWpRKG0sZSxvLGksdCx1KSk6blsxXSE9PTAmJih1PWpRKG0sZSxuLGksdCx1KSksaT0wKTppJiYoeC50eXBlPT09ImRhdGEifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJNYXJrZXIifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJGaWxsZXIiKSYmKG5bM109dCl9Zm9yKGQhPT0wJiZKdXQobSxlLGQsYyxwKSxtLmNvbnN1bWUoZS5ldmVudHMpLHQ9LTE7Kyt0PGUuZXZlbnRzLmxlbmd0aDspe2xldCB2PWUuZXZlbnRzW3RdO3ZbMF09PT0iZW50ZXIiJiZ2WzFdLnR5cGU9PT0idGFibGUiJiYodlsxXS5fYWxpZ249WHV0KGUuZXZlbnRzLHQpKX1yZXR1cm4gYX1mdW5jdGlvbiBqUShhLGUsdCxyLGksbyl7bGV0IG49cj09PTE/InRhYmxlSGVhZGVyIjpyPT09Mj8idGFibGVEZWxpbWl0ZXIiOiJ0YWJsZURhdGEiLGw9InRhYmxlQ29udGVudCI7dFswXSE9PTAmJihvLmVuZD1PYmplY3QuYXNzaWduKHt9LHc4KGUuZXZlbnRzLHRbMF0pKSxhLmFkZCh0WzBdLDAsW1siZXhpdCIsbyxlXV0pKTtsZXQgZD13OChlLmV2ZW50cyx0WzFdKTtpZihvPXt0eXBlOm4sc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxkKSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxkKX0sYS5hZGQodFsxXSwwLFtbImVudGVyIixvLGVdXSksdFsyXSE9PTApe2xldCBjPXc4KGUuZXZlbnRzLHRbMl0pLHA9dzgoZS5ldmVudHMsdFszXSksdT17dHlwZTpsLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sYyksZW5kOk9iamVjdC5hc3NpZ24oe30scCl9O2lmKGEuYWRkKHRbMl0sMCxbWyJlbnRlciIsdSxlXV0pLHIhPT0yKXtsZXQgbT1lLmV2ZW50c1t0WzJdXSx2PWUuZXZlbnRzW3RbM11dO2lmKG1bMV0uZW5kPU9iamVjdC5hc3NpZ24oe30sdlsxXS5lbmQpLG1bMV0udHlwZT0iY2h1bmtUZXh0IixtWzFdLmNvbnRlbnRUeXBlPSJ0ZXh0Iix0WzNdPnRbMl0rMSl7bGV0IHg9dFsyXSsxLGI9dFszXS10WzJdLTE7YS5hZGQoeCxiLFtdKX19YS5hZGQodFszXSsxLDAsW1siZXhpdCIsdSxlXV0pfXJldHVybiBpIT09dm9pZCAwJiYoby5lbmQ9T2JqZWN0LmFzc2lnbih7fSx3OChlLmV2ZW50cyxpKSksYS5hZGQoaSwwLFtbImV4aXQiLG8sZV1dKSxvPXZvaWQgMCksb31mdW5jdGlvbiBKdXQoYSxlLHQscixpKXtsZXQgbz1bXSxuPXc4KGUuZXZlbnRzLHQpO2kmJihpLmVuZD1PYmplY3QuYXNzaWduKHt9LG4pLG8ucHVzaChbImV4aXQiLGksZV0pKSxyLmVuZD1PYmplY3QuYXNzaWduKHt9LG4pLG8ucHVzaChbImV4aXQiLHIsZV0pLGEuYWRkKHQrMSwwLG8pfWZ1bmN0aW9uIHc4KGEsZSl7bGV0IHQ9YVtlXSxyPXRbMF09PT0iZW50ZXIiPyJzdGFydCI6ImVuZCI7cmV0dXJuIHRbMV1bcl19dmFyIGVwdD1mKCgpPT57S3IoKTtiYSgpO1p1dCgpO1F1dCgpO3MocDNlLCJnZm1UYWJsZSIpO3MoZGthLCJ0b2tlbml6ZVRhYmxlIik7cyh1a2EsInJlc29sdmVUYWJsZSIpO3MoalEsImZsdXNoQ2VsbCIpO3MoSnV0LCJmbHVzaFRhYmxlRW5kIik7cyh3OCwiZ2V0UG9pbnQiKX0pO3ZhciB0cHQ9ZigoKT0+e0t1dCgpO2VwdCgpfSk7ZnVuY3Rpb24gZjNlKCl7cmV0dXJue2V4aXQ6e2h0bWxGbG93RGF0YShhKXtycHQuY2FsbCh0aGlzLGEsYXB0KX0saHRtbFRleHREYXRhKGEpe3JwdC5jYWxsKHRoaXMsYSxwa2EpfX19fWZ1bmN0aW9uIHJwdChhLGUpe2xldCB0PXRoaXMuc2xpY2VTZXJpYWxpemUoYSk7dGhpcy5vcHRpb25zLmFsbG93RGFuZ2Vyb3VzSHRtbCYmKHQ9dC5yZXBsYWNlKGUsIiZsdDskMSQyIikpLHRoaXMucmF3KHRoaXMuZW5jb2RlKHQpKX12YXIgYXB0LHBrYSxzcHQ9ZigoKT0+e2FwdD0vPChcLz8pKGlmcmFtZXxub2VtYmVkfG5vZnJhbWVzfHBsYWludGV4dHxzY3JpcHR8c3R5bGV8dGl0bGV8dGV4dGFyZWF8eG1wKSg/PVtcdFxuXGZcciAvPl0pL2dpLHBrYT1uZXcgUmVnRXhwKCJeIithcHQuc291cmNlLCJpIik7cyhmM2UsImdmbVRhZ2ZpbHRlckh0bWwiKTtzKHJwdCwiZXhpdEh0bWxEYXRhIil9KTt2YXIgaXB0PWYoKCk9PntzcHQoKX0pO2Z1bmN0aW9uIGgzZSgpe3JldHVybntlbnRlcjp7dGFza0xpc3RDaGVjaygpe3RoaXMudGFnKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giIGRpc2FibGVkPSIiICcpfX0sZXhpdDp7dGFza0xpc3RDaGVjaygpe3RoaXMudGFnKCIvPiIpfSx0YXNrTGlzdENoZWNrVmFsdWVDaGVja2VkKCl7dGhpcy50YWcoJ2NoZWNrZWQ9IiIgJyl9fX19dmFyIG9wdD1mKCgpPT57cyhoM2UsImdmbVRhc2tMaXN0SXRlbUh0bWwiKX0pO2Z1bmN0aW9uIG0zZSgpe3JldHVybnt0ZXh0Ons5MTpma2F9fX1mdW5jdGlvbiBoa2EoYSxlLHQpe2xldCByPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShkKXtyZXR1cm4gci5wcmV2aW91cyE9PW51bGx8fCFyLl9nZm1UYXNrbGlzdEZpcnN0Q29udGVudE9mTGlzdEl0ZW0/dChkKTooYS5lbnRlcigidGFza0xpc3RDaGVjayIpLGEuZW50ZXIoInRhc2tMaXN0Q2hlY2tNYXJrZXIiKSxhLmNvbnN1bWUoZCksYS5leGl0KCJ0YXNrTGlzdENoZWNrTWFya2VyIiksbyl9ZnVuY3Rpb24gbyhkKXtyZXR1cm4gdWEoZCk/KGEuZW50ZXIoInRhc2tMaXN0Q2hlY2tWYWx1ZVVuY2hlY2tlZCIpLGEuY29uc3VtZShkKSxhLmV4aXQoInRhc2tMaXN0Q2hlY2tWYWx1ZVVuY2hlY2tlZCIpLG4pOmQ9PT04OHx8ZD09PTEyMD8oYS5lbnRlcigidGFza0xpc3RDaGVja1ZhbHVlQ2hlY2tlZCIpLGEuY29uc3VtZShkKSxhLmV4aXQoInRhc2tMaXN0Q2hlY2tWYWx1ZUNoZWNrZWQiKSxuKTp0KGQpfWZ1bmN0aW9uIG4oZCl7cmV0dXJuIGQ9PT05Mz8oYS5lbnRlcigidGFza0xpc3RDaGVja01hcmtlciIpLGEuY29uc3VtZShkKSxhLmV4aXQoInRhc2tMaXN0Q2hlY2tNYXJrZXIiKSxhLmV4aXQoInRhc2tMaXN0Q2hlY2siKSxsKTp0KGQpfWZ1bmN0aW9uIGwoZCl7cmV0dXJuIGV0KGQpP2UoZCk6Q3QoZCk/YS5jaGVjayh7dG9rZW5pemU6bWthfSxlLHQpKGQpOnQoZCl9fWZ1bmN0aW9uIG1rYShhLGUsdCl7cmV0dXJuIER0KGEsciwid2hpdGVzcGFjZSIpO2Z1bmN0aW9uIHIoaSl7cmV0dXJuIGk9PT1udWxsP3QoaSk6ZShpKX19dmFyIGZrYSxucHQ9ZigoKT0+e0tyKCk7YmEoKTtma2E9e25hbWU6InRhc2tsaXN0Q2hlY2siLHRva2VuaXplOmhrYX07cyhtM2UsImdmbVRhc2tMaXN0SXRlbSIpO3MoaGthLCJ0b2tlbml6ZVRhc2tsaXN0Q2hlY2siKTtzKG1rYSwic3BhY2VUaGVuTm9uU3BhY2UiKX0pO3ZhciBscHQ9ZigoKT0+e29wdCgpO25wdCgpfSk7ZnVuY3Rpb24gY3B0KGEpe3JldHVybiBfUShbTzRlKCksbzNlKCksYzNlKGEpLHAzZSgpLG0zZSgpXSl9ZnVuY3Rpb24ga0tyKGEpe3JldHVybiBUUShbSDRlKCksbjNlKGEpLGwzZSgpLHUzZSgpLGYzZSgpLGgzZSgpXSl9dmFyIGRwdD1mKCgpPT57TFEoKTt2dXQoKTtVdXQoKTtZdXQoKTt0cHQoKTtpcHQoKTtscHQoKTtzKGNwdCwiZ2ZtIik7cyhrS3IsImdmbUh0bWwiKX0pO2Z1bmN0aW9uIE04KGEpe2xldCBlPXRoaXMsdD1hfHxna2Escj1lLmRhdGEoKSxpPXIubWljcm9tYXJrRXh0ZW5zaW9uc3x8KHIubWljcm9tYXJrRXh0ZW5zaW9ucz1bXSksbz1yLmZyb21NYXJrZG93bkV4dGVuc2lvbnN8fChyLmZyb21NYXJrZG93bkV4dGVuc2lvbnM9W10pLG49ci50b01hcmtkb3duRXh0ZW5zaW9uc3x8KHIudG9NYXJrZG93bkV4dGVuc2lvbnM9W10pO2kucHVzaChjcHQodCkpLG8ucHVzaChQNGUoKSksbi5wdXNoKEU0ZSh0KSl9dmFyIGdrYSx1cHQ9ZigoKT0+e251dCgpO2RwdCgpO2drYT17fTtzKE04LCJyZW1hcmtHZm0iKX0pO3ZhciBwcHQ9ZigoKT0+e3VwdCgpfSk7ZnVuY3Rpb24gZzNlKGEpe2xldCBlPWF8fHt9LHQ9ITAscj17fSxpPVtbXV0sbz1bXSxuPVtdLGQ9VFEoW3tlbnRlcjp7YmxvY2tRdW90ZTpGLGNvZGVGZW5jZWQ6aGUsY29kZUZlbmNlZEZlbmNlSW5mbzpnLGNvZGVGZW5jZWRGZW5jZU1ldGE6Zyxjb2RlSW5kZW50ZWQ6bWUsY29kZVRleHQ6ZmUsY29udGVudDp6ZSxkZWZpbml0aW9uOnllLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzpILGRlZmluaXRpb25MYWJlbFN0cmluZzpnLGRlZmluaXRpb25UaXRsZVN0cmluZzpnLGVtcGhhc2lzOndlLGh0bWxGbG93Om50LGh0bWxUZXh0OlRlLGltYWdlOnEsbGFiZWw6ZyxsaW5rOmNlLGxpc3RJdGVtTWFya2VyOk0sbGlzdEl0ZW1WYWx1ZTpCLGxpc3RPcmRlcmVkOlQsbGlzdFVub3JkZXJlZDpQLHBhcmFncmFwaDpqLHJlZmVyZW5jZTpnLHJlc291cmNlOkoscmVzb3VyY2VEZXN0aW5hdGlvblN0cmluZzpaLHJlc291cmNlVGl0bGVTdHJpbmc6ZyxzZXRleHRIZWFkaW5nOnFlLHN0cm9uZzpSZX0sZXhpdDp7YXR4SGVhZGluZzokZSxhdHhIZWFkaW5nU2VxdWVuY2U6T2UsYXV0b2xpbmtFbWFpbDp3cyxhdXRvbGlua1Byb3RvY29sOkphLGJsb2NrUXVvdGU6VyxjaGFyYWN0ZXJFc2NhcGVWYWx1ZTpkZSxjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJIZXhhZGVjaW1hbDpJdCxjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljOkl0LGNoYXJhY3RlclJlZmVyZW5jZVZhbHVlOlhhLGNvZGVGZW5jZWQ6SSxjb2RlRmVuY2VkRmVuY2U6VSxjb2RlRmVuY2VkRmVuY2VJbmZvOlIsY29kZUZlbmNlZEZlbmNlTWV0YTpPLGNvZGVGbG93VmFsdWU6QWUsY29kZUluZGVudGVkOkksY29kZVRleHQ6YmUsY29kZVRleHREYXRhOmRlLGRhdGE6ZGUsZGVmaW5pdGlvbjp0ZSxkZWZpbml0aW9uRGVzdGluYXRpb25TdHJpbmc6b2UsZGVmaW5pdGlvbkxhYmVsU3RyaW5nOlYsZGVmaW5pdGlvblRpdGxlU3RyaW5nOnNlLGVtcGhhc2lzOkVlLGhhcmRCcmVha0VzY2FwZTpaZSxoYXJkQnJlYWtUcmFpbGluZzpaZSxodG1sRmxvdzp6dCxodG1sRmxvd0RhdGE6ZGUsaHRtbFRleHQ6enQsaHRtbFRleHREYXRhOmRlLGltYWdlOnJlLGxhYmVsOlksbGFiZWxUZXh0OnVlLGxpbmVFbmRpbmc6dmUsbGluazpyZSxsaXN0T3JkZXJlZDpTLGxpc3RVbm9yZGVyZWQ6RSxwYXJhZ3JhcGg6RyxyZWZlcmVuY2U6TyxyZWZlcmVuY2VTdHJpbmc6USxyZXNvdXJjZTpPLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6Z2UscmVzb3VyY2VUaXRsZVN0cmluZzphZSxzZXRleHRIZWFkaW5nOk1lLHNldGV4dEhlYWRpbmdMaW5lU2VxdWVuY2U6Q2Usc2V0ZXh0SGVhZGluZ1RleHQ6ZHQsc3Ryb25nOmZ0LHRoZW1hdGljQnJlYWs6bXR9fSwuLi5lLmh0bWxFeHRlbnNpb25zfHxbXV0pLGM9e2RlZmluaXRpb25zOnIsdGlnaHRTdGFjazpufSxwPXtidWZmZXI6ZyxlbmNvZGU6eixnZXREYXRhOmIsbGluZUVuZGluZ0lmTmVlZGVkOl8sb3B0aW9uczplLHJhdzpDLHJlc3VtZTp5LHNldERhdGE6eCx0YWc6a30sdT1lLmRlZmF1bHRMaW5lRW5kaW5nO3JldHVybiBtO2Z1bmN0aW9uIG0oVWUpe2xldCB1dD0tMSxRYT0wLE1yPVtdLCRyPVtdLFZyPVtdO2Zvcig7Kyt1dDxVZS5sZW5ndGg7KSF1JiYoVWVbdXRdWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fFVlW3V0XVsxXS50eXBlPT09ImxpbmVFbmRpbmdCbGFuayIpJiYodT1VZVt1dF1bMl0uc2xpY2VTZXJpYWxpemUoVWVbdXRdWzFdKSksKFVlW3V0XVsxXS50eXBlPT09Imxpc3RPcmRlcmVkInx8VWVbdXRdWzFdLnR5cGU9PT0ibGlzdFVub3JkZXJlZCIpJiYoVWVbdXRdWzBdPT09ImVudGVyIj9Nci5wdXNoKHV0KTp2KFVlLnNsaWNlKE1yLnBvcCgpLHV0KSkpLFVlW3V0XVsxXS50eXBlPT09ImRlZmluaXRpb24iJiYoVWVbdXRdWzBdPT09ImVudGVyIj8oVnI9ZnMoVnIsVWUuc2xpY2UoUWEsdXQpKSxRYT11dCk6KCRyPWZzKCRyLFVlLnNsaWNlKFFhLHV0KzEpKSxRYT11dCsxKSk7JHI9ZnMoJHIsVnIpLCRyPWZzKCRyLFVlLnNsaWNlKFFhKSksdXQ9LTE7bGV0IERyPSRyO2ZvcihkLmVudGVyLm51bGwmJmQuZW50ZXIubnVsbC5jYWxsKHApOysrdXQ8VWUubGVuZ3RoOyl7bGV0IHhvPWRbRHJbdXRdWzBdXSx5bz1Eclt1dF1bMV0udHlwZSxMZT14b1t5b107ZnB0LmNhbGwoeG8seW8pJiZMZSYmTGUuY2FsbCh7c2xpY2VTZXJpYWxpemU6RHJbdXRdWzJdLnNsaWNlU2VyaWFsaXplLC4uLnB9LERyW3V0XVsxXSl9cmV0dXJuIGQuZXhpdC5udWxsJiZkLmV4aXQubnVsbC5jYWxsKHApLGlbMF0uam9pbigiIil9ZnVuY3Rpb24gdihVZSl7bGV0IHV0PVVlLmxlbmd0aCxRYT0wLE1yPTAsJHI9ITEsVnI7Zm9yKDsrK1FhPHV0Oyl7bGV0IERyPVVlW1FhXTtpZihEclsxXS5fY29udGFpbmVyKVZyPXZvaWQgMCxEclswXT09PSJlbnRlciI/TXIrKzpNci0tO2Vsc2Ugc3dpdGNoKERyWzFdLnR5cGUpe2Nhc2UibGlzdEl0ZW1QcmVmaXgiOntEclswXT09PSJleGl0IiYmKFZyPSEwKTticmVha31jYXNlImxpbmVQcmVmaXgiOmJyZWFrO2Nhc2UibGluZUVuZGluZ0JsYW5rIjp7RHJbMF09PT0iZW50ZXIiJiYhTXImJihWcj9Wcj12b2lkIDA6JHI9ITApO2JyZWFrfWRlZmF1bHQ6VnI9dm9pZCAwfX1VZVswXVsxXS5fbG9vc2U9JHJ9ZnVuY3Rpb24geChVZSx1dCl7Y1tVZV09dXR9ZnVuY3Rpb24gYihVZSl7cmV0dXJuIGNbVWVdfWZ1bmN0aW9uIGcoKXtpLnB1c2goW10pfWZ1bmN0aW9uIHkoKXtyZXR1cm4gaS5wb3AoKS5qb2luKCIiKX1mdW5jdGlvbiBrKFVlKXt0JiYoeCgibGFzdFdhc1RhZyIsITApLGlbaS5sZW5ndGgtMV0ucHVzaChVZSkpfWZ1bmN0aW9uIEMoVWUpe3goImxhc3RXYXNUYWciKSxpW2kubGVuZ3RoLTFdLnB1c2goVWUpfWZ1bmN0aW9uIE4oKXtDKHV8fGAKYCl9ZnVuY3Rpb24gXygpe2xldCBVZT1pW2kubGVuZ3RoLTFdLHV0PVVlW1VlLmxlbmd0aC0xXSxRYT11dD91dC5jaGFyQ29kZUF0KHV0Lmxlbmd0aC0xKTpudWxsO1FhPT09MTB8fFFhPT09MTN8fFFhPT09bnVsbHx8TigpfWZ1bmN0aW9uIHooVWUpe3JldHVybiBiKCJpZ25vcmVFbmNvZGUiKT9VZTokUShVZSl9ZnVuY3Rpb24gTygpe3koKX1mdW5jdGlvbiBUKFVlKXtuLnB1c2goIVVlLl9sb29zZSksXygpLGsoIjxvbCIpLHgoImV4cGVjdEZpcnN0SXRlbSIsITApfWZ1bmN0aW9uIFAoVWUpe24ucHVzaCghVWUuX2xvb3NlKSxfKCksaygiPHVsIikseCgiZXhwZWN0Rmlyc3RJdGVtIiwhMCl9ZnVuY3Rpb24gQihVZSl7aWYoYigiZXhwZWN0Rmlyc3RJdGVtIikpe2xldCB1dD1OdW1iZXIucGFyc2VJbnQodGhpcy5zbGljZVNlcmlhbGl6ZShVZSksMTApO3V0IT09MSYmaygnIHN0YXJ0PSInK3ooU3RyaW5nKHV0KSkrJyInKX19ZnVuY3Rpb24gTSgpe2IoImV4cGVjdEZpcnN0SXRlbSIpP2soIj4iKTpBKCksXygpLGsoIjxsaT4iKSx4KCJleHBlY3RGaXJzdEl0ZW0iKSx4KCJsYXN0V2FzVGFnIil9ZnVuY3Rpb24gUygpe0EoKSxuLnBvcCgpLE4oKSxrKCI8L29sPiIpfWZ1bmN0aW9uIEUoKXtBKCksbi5wb3AoKSxOKCksaygiPC91bD4iKX1mdW5jdGlvbiBBKCl7YigibGFzdFdhc1RhZyIpJiYhYigic2x1cnBBbGxMaW5lRW5kaW5ncyIpJiZfKCksaygiPC9saT4iKSx4KCJzbHVycEFsbExpbmVFbmRpbmdzIil9ZnVuY3Rpb24gRigpe24ucHVzaCghMSksXygpLGsoIjxibG9ja3F1b3RlPiIpfWZ1bmN0aW9uIFcoKXtuLnBvcCgpLF8oKSxrKCI8L2Jsb2NrcXVvdGU+IikseCgic2x1cnBBbGxMaW5lRW5kaW5ncyIpfWZ1bmN0aW9uIGooKXtuW24ubGVuZ3RoLTFdfHwoXygpLGsoIjxwPiIpKSx4KCJzbHVycEFsbExpbmVFbmRpbmdzIil9ZnVuY3Rpb24gRygpe25bbi5sZW5ndGgtMV0/eCgic2x1cnBBbGxMaW5lRW5kaW5ncyIsITApOmsoIjwvcD4iKX1mdW5jdGlvbiBoZSgpe18oKSxrKCI8cHJlPjxjb2RlIikseCgiZmVuY2VzQ291bnQiLDApfWZ1bmN0aW9uIFIoKXtsZXQgVWU9eSgpO2soJyBjbGFzcz0ibGFuZ3VhZ2UtJytVZSsnIicpfWZ1bmN0aW9uIFUoKXtsZXQgVWU9YigiZmVuY2VzQ291bnQiKXx8MDtVZXx8KGsoIj4iKSx4KCJzbHVycE9uZUxpbmVFbmRpbmciLCEwKSkseCgiZmVuY2VzQ291bnQiLFVlKzEpfWZ1bmN0aW9uIG1lKCl7XygpLGsoIjxwcmU+PGNvZGU+Iil9ZnVuY3Rpb24gSSgpe2xldCBVZT1iKCJmZW5jZXNDb3VudCIpO1VlIT09dm9pZCAwJiZVZTwyJiZjLnRpZ2h0U3RhY2subGVuZ3RoPjAmJiFiKCJsYXN0V2FzVGFnIikmJk4oKSxiKCJmbG93Q29kZVNlZW5EYXRhIikmJl8oKSxrKCI8L2NvZGU+PC9wcmU+IiksVWUhPT12b2lkIDAmJlVlPDImJl8oKSx4KCJmbG93Q29kZVNlZW5EYXRhIikseCgiZmVuY2VzQ291bnQiKSx4KCJzbHVycE9uZUxpbmVFbmRpbmciKX1mdW5jdGlvbiBxKCl7by5wdXNoKHtpbWFnZTohMH0pLHQ9dm9pZCAwfWZ1bmN0aW9uIGNlKCl7by5wdXNoKHt9KX1mdW5jdGlvbiB1ZShVZSl7b1tvLmxlbmd0aC0xXS5sYWJlbElkPXRoaXMuc2xpY2VTZXJpYWxpemUoVWUpfWZ1bmN0aW9uIFkoKXtvW28ubGVuZ3RoLTFdLmxhYmVsPXkoKX1mdW5jdGlvbiBRKFVlKXtvW28ubGVuZ3RoLTFdLnJlZmVyZW5jZUlkPXRoaXMuc2xpY2VTZXJpYWxpemUoVWUpfWZ1bmN0aW9uIEooKXtnKCksb1tvLmxlbmd0aC0xXS5kZXN0aW5hdGlvbj0iIn1mdW5jdGlvbiBaKCl7ZygpLHgoImlnbm9yZUVuY29kZSIsITApfWZ1bmN0aW9uIGdlKCl7b1tvLmxlbmd0aC0xXS5kZXN0aW5hdGlvbj15KCkseCgiaWdub3JlRW5jb2RlIil9ZnVuY3Rpb24gYWUoKXtvW28ubGVuZ3RoLTFdLnRpdGxlPXkoKX1mdW5jdGlvbiByZSgpe2xldCBVZT1vLmxlbmd0aC0xLHV0PW9bVWVdLFFhPXV0LnJlZmVyZW5jZUlkfHx1dC5sYWJlbElkLE1yPXV0LmRlc3RpbmF0aW9uPT09dm9pZCAwP3JbTnIoUWEpXTp1dDtmb3IodD0hMDtVZS0tOylpZihvW1VlXS5pbWFnZSl7dD12b2lkIDA7YnJlYWt9dXQuaW1hZ2U/KGsoJzxpbWcgc3JjPSInK0kyKE1yLmRlc3RpbmF0aW9uLGUuYWxsb3dEYW5nZXJvdXNQcm90b2NvbD92b2lkIDA6YmthKSsnIiBhbHQ9IicpLEModXQubGFiZWwpLGsoJyInKSk6aygnPGEgaHJlZj0iJytJMihNci5kZXN0aW5hdGlvbixlLmFsbG93RGFuZ2Vyb3VzUHJvdG9jb2w/dm9pZCAwOmhwdCkrJyInKSxrKE1yLnRpdGxlPycgdGl0bGU9IicrTXIudGl0bGUrJyInOiIiKSx1dC5pbWFnZT9rKCIgLz4iKTooaygiPiIpLEModXQubGFiZWwpLGsoIjwvYT4iKSksby5wb3AoKX1mdW5jdGlvbiB5ZSgpe2coKSxvLnB1c2goe30pfWZ1bmN0aW9uIFYoVWUpe3koKSxvW28ubGVuZ3RoLTFdLmxhYmVsSWQ9dGhpcy5zbGljZVNlcmlhbGl6ZShVZSl9ZnVuY3Rpb24gSCgpe2coKSx4KCJpZ25vcmVFbmNvZGUiLCEwKX1mdW5jdGlvbiBvZSgpe29bby5sZW5ndGgtMV0uZGVzdGluYXRpb249eSgpLHgoImlnbm9yZUVuY29kZSIpfWZ1bmN0aW9uIHNlKCl7b1tvLmxlbmd0aC0xXS50aXRsZT15KCl9ZnVuY3Rpb24gdGUoKXtsZXQgVWU9b1tvLmxlbmd0aC0xXSx1dD1OcihVZS5sYWJlbElkKTt5KCksZnB0LmNhbGwocix1dCl8fChyW3V0XT1vW28ubGVuZ3RoLTFdKSxvLnBvcCgpfWZ1bmN0aW9uIHplKCl7eCgic2x1cnBBbGxMaW5lRW5kaW5ncyIsITApfWZ1bmN0aW9uIE9lKFVlKXtiKCJoZWFkaW5nUmFuayIpfHwoeCgiaGVhZGluZ1JhbmsiLHRoaXMuc2xpY2VTZXJpYWxpemUoVWUpLmxlbmd0aCksXygpLGsoIjxoIitiKCJoZWFkaW5nUmFuayIpKyI+IikpfWZ1bmN0aW9uIHFlKCl7ZygpLHgoInNsdXJwQWxsTGluZUVuZGluZ3MiKX1mdW5jdGlvbiBkdCgpe3goInNsdXJwQWxsTGluZUVuZGluZ3MiLCEwKX1mdW5jdGlvbiAkZSgpe2soIjwvaCIrYigiaGVhZGluZ1JhbmsiKSsiPiIpLHgoImhlYWRpbmdSYW5rIil9ZnVuY3Rpb24gQ2UoVWUpe3goImhlYWRpbmdSYW5rIix0aGlzLnNsaWNlU2VyaWFsaXplKFVlKS5jaGFyQ29kZUF0KDApPT09NjE/MToyKX1mdW5jdGlvbiBNZSgpe2xldCBVZT15KCk7XygpLGsoIjxoIitiKCJoZWFkaW5nUmFuayIpKyI+IiksQyhVZSksaygiPC9oIitiKCJoZWFkaW5nUmFuayIpKyI+IikseCgic2x1cnBBbGxMaW5lRW5kaW5ncyIpLHgoImhlYWRpbmdSYW5rIil9ZnVuY3Rpb24gZGUoVWUpe0Moeih0aGlzLnNsaWNlU2VyaWFsaXplKFVlKSkpfWZ1bmN0aW9uIHZlKFVlKXtpZighYigic2x1cnBBbGxMaW5lRW5kaW5ncyIpKXtpZihiKCJzbHVycE9uZUxpbmVFbmRpbmciKSl7eCgic2x1cnBPbmVMaW5lRW5kaW5nIik7cmV0dXJufWlmKGIoImluQ29kZVRleHQiKSl7QygiICIpO3JldHVybn1DKHoodGhpcy5zbGljZVNlcmlhbGl6ZShVZSkpKX19ZnVuY3Rpb24gQWUoVWUpe0Moeih0aGlzLnNsaWNlU2VyaWFsaXplKFVlKSkpLHgoImZsb3dDb2RlU2VlbkRhdGEiLCEwKX1mdW5jdGlvbiBaZSgpe2soIjxiciAvPiIpfWZ1bmN0aW9uIG50KCl7XygpLFRlKCl9ZnVuY3Rpb24genQoKXt4KCJpZ25vcmVFbmNvZGUiKX1mdW5jdGlvbiBUZSgpe2UuYWxsb3dEYW5nZXJvdXNIdG1sJiZ4KCJpZ25vcmVFbmNvZGUiLCEwKX1mdW5jdGlvbiB3ZSgpe2soIjxlbT4iKX1mdW5jdGlvbiBSZSgpe2soIjxzdHJvbmc+Iil9ZnVuY3Rpb24gZmUoKXt4KCJpbkNvZGVUZXh0IiwhMCksaygiPGNvZGU+Iil9ZnVuY3Rpb24gYmUoKXt4KCJpbkNvZGVUZXh0IiksaygiPC9jb2RlPiIpfWZ1bmN0aW9uIEVlKCl7aygiPC9lbT4iKX1mdW5jdGlvbiBmdCgpe2soIjwvc3Ryb25nPiIpfWZ1bmN0aW9uIG10KCl7XygpLGsoIjxociAvPiIpfWZ1bmN0aW9uIEl0KFVlKXt4KCJjaGFyYWN0ZXJSZWZlcmVuY2VUeXBlIixVZS50eXBlKX1mdW5jdGlvbiBYYShVZSl7bGV0IHV0PXRoaXMuc2xpY2VTZXJpYWxpemUoVWUpLFFhPWIoImNoYXJhY3RlclJlZmVyZW5jZVR5cGUiKT95OCh1dCxiKCJjaGFyYWN0ZXJSZWZlcmVuY2VUeXBlIik9PT0iY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyTnVtZXJpYyI/MTA6MTYpOkIwKHV0KTtDKHooUWEpKSx4KCJjaGFyYWN0ZXJSZWZlcmVuY2VUeXBlIil9ZnVuY3Rpb24gSmEoVWUpe2xldCB1dD10aGlzLnNsaWNlU2VyaWFsaXplKFVlKTtrKCc8YSBocmVmPSInK0kyKHV0LGUuYWxsb3dEYW5nZXJvdXNQcm90b2NvbD92b2lkIDA6aHB0KSsnIj4nKSxDKHoodXQpKSxrKCI8L2E+Iil9ZnVuY3Rpb24gd3MoVWUpe2xldCB1dD10aGlzLnNsaWNlU2VyaWFsaXplKFVlKTtrKCc8YSBocmVmPSInK0kyKCJtYWlsdG86Iit1dCkrJyI+JyksQyh6KHV0KSksaygiPC9hPiIpfX12YXIgZnB0LGhwdCxia2EsYjNlPWYoKCk9PntqZygpO1AyKCk7TFEoKTtTUSgpO0Y0ZSgpO0YwKCk7TjIoKTtmcHQ9e30uaGFzT3duUHJvcGVydHksaHB0PS9eKGh0dHBzP3xpcmNzP3xtYWlsdG98eG1wcCkkL2ksYmthPS9eaHR0cHM/JC9pO3MoZzNlLCJjb21waWxlIil9KTtmdW5jdGlvbiB2a2EoYSl7bGV0IGU9YS5hdHRlbXB0KHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuY29udGVudEluaXRpYWwscixpKSx0O3JldHVybiBlO2Z1bmN0aW9uIHIobCl7aWYobD09PW51bGwpe2EuY29uc3VtZShsKTtyZXR1cm59cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUobCksYS5leGl0KCJsaW5lRW5kaW5nIiksRHQoYSxlLCJsaW5lUHJlZml4Iil9ZnVuY3Rpb24gaShsKXtyZXR1cm4gYS5lbnRlcigicGFyYWdyYXBoIiksbyhsKX1mdW5jdGlvbiBvKGwpe2xldCBkPWEuZW50ZXIoImNodW5rVGV4dCIse2NvbnRlbnRUeXBlOiJ0ZXh0IixwcmV2aW91czp0fSk7cmV0dXJuIHQmJih0Lm5leHQ9ZCksdD1kLG4obCl9ZnVuY3Rpb24gbihsKXtpZihsPT09bnVsbCl7YS5leGl0KCJjaHVua1RleHQiKSxhLmV4aXQoInBhcmFncmFwaCIpLGEuY29uc3VtZShsKTtyZXR1cm59cmV0dXJuIGV0KGwpPyhhLmNvbnN1bWUobCksYS5leGl0KCJjaHVua1RleHQiKSxvKTooYS5jb25zdW1lKGwpLG4pfX12YXIgbXB0LGdwdD1mKCgpPT57S3IoKTtiYSgpO21wdD17dG9rZW5pemU6dmthfTtzKHZrYSwiaW5pdGlhbGl6ZUNvbnRlbnQiKX0pO2Z1bmN0aW9uIHhrYShhKXtsZXQgZT10aGlzLHQ9W10scj0wLGksbyxuO3JldHVybiBsO2Z1bmN0aW9uIGwoQyl7aWYocjx0Lmxlbmd0aCl7bGV0IE49dFtyXTtyZXR1cm4gZS5jb250YWluZXJTdGF0ZT1OWzFdLGEuYXR0ZW1wdChOWzBdLmNvbnRpbnVhdGlvbixkLGMpKEMpfXJldHVybiBjKEMpfWZ1bmN0aW9uIGQoQyl7aWYocisrLGUuY29udGFpbmVyU3RhdGUuX2Nsb3NlRmxvdyl7ZS5jb250YWluZXJTdGF0ZS5fY2xvc2VGbG93PXZvaWQgMCxpJiZrKCk7bGV0IE49ZS5ldmVudHMubGVuZ3RoLF89Tix6O2Zvcig7Xy0tOylpZihlLmV2ZW50c1tfXVswXT09PSJleGl0IiYmZS5ldmVudHNbX11bMV0udHlwZT09PSJjaHVua0Zsb3ciKXt6PWUuZXZlbnRzW19dWzFdLmVuZDticmVha315KHIpO2xldCBPPU47Zm9yKDtPPGUuZXZlbnRzLmxlbmd0aDspZS5ldmVudHNbT11bMV0uZW5kPXsuLi56fSxPKys7cmV0dXJuIFlyKGUuZXZlbnRzLF8rMSwwLGUuZXZlbnRzLnNsaWNlKE4pKSxlLmV2ZW50cy5sZW5ndGg9TyxjKEMpfXJldHVybiBsKEMpfWZ1bmN0aW9uIGMoQyl7aWYocj09PXQubGVuZ3RoKXtpZighaSlyZXR1cm4gbShDKTtpZihpLmN1cnJlbnRDb25zdHJ1Y3QmJmkuY3VycmVudENvbnN0cnVjdC5jb25jcmV0ZSlyZXR1cm4geChDKTtlLmludGVycnVwdD0hIShpLmN1cnJlbnRDb25zdHJ1Y3QmJiFpLl9nZm1UYWJsZUR5bmFtaWNJbnRlcnJ1cHRIYWNrKX1yZXR1cm4gZS5jb250YWluZXJTdGF0ZT17fSxhLmNoZWNrKGJwdCxwLHUpKEMpfWZ1bmN0aW9uIHAoQyl7cmV0dXJuIGkmJmsoKSx5KHIpLG0oQyl9ZnVuY3Rpb24gdShDKXtyZXR1cm4gZS5wYXJzZXIubGF6eVtlLm5vdygpLmxpbmVdPXIhPT10Lmxlbmd0aCxuPWUubm93KCkub2Zmc2V0LHgoQyl9ZnVuY3Rpb24gbShDKXtyZXR1cm4gZS5jb250YWluZXJTdGF0ZT17fSxhLmF0dGVtcHQoYnB0LHYseCkoQyl9ZnVuY3Rpb24gdihDKXtyZXR1cm4gcisrLHQucHVzaChbZS5jdXJyZW50Q29uc3RydWN0LGUuY29udGFpbmVyU3RhdGVdKSxtKEMpfWZ1bmN0aW9uIHgoQyl7aWYoQz09PW51bGwpe2kmJmsoKSx5KDApLGEuY29uc3VtZShDKTtyZXR1cm59cmV0dXJuIGk9aXx8ZS5wYXJzZXIuZmxvdyhlLm5vdygpKSxhLmVudGVyKCJjaHVua0Zsb3ciLHtfdG9rZW5pemVyOmksY29udGVudFR5cGU6ImZsb3ciLHByZXZpb3VzOm99KSxiKEMpfWZ1bmN0aW9uIGIoQyl7aWYoQz09PW51bGwpe2coYS5leGl0KCJjaHVua0Zsb3ciKSwhMCkseSgwKSxhLmNvbnN1bWUoQyk7cmV0dXJufXJldHVybiBldChDKT8oYS5jb25zdW1lKEMpLGcoYS5leGl0KCJjaHVua0Zsb3ciKSkscj0wLGUuaW50ZXJydXB0PXZvaWQgMCxsKTooYS5jb25zdW1lKEMpLGIpfWZ1bmN0aW9uIGcoQyxOKXtsZXQgXz1lLnNsaWNlU3RyZWFtKEMpO2lmKE4mJl8ucHVzaChudWxsKSxDLnByZXZpb3VzPW8sbyYmKG8ubmV4dD1DKSxvPUMsaS5kZWZpbmVTa2lwKEMuc3RhcnQpLGkud3JpdGUoXyksZS5wYXJzZXIubGF6eVtDLnN0YXJ0LmxpbmVdKXtsZXQgej1pLmV2ZW50cy5sZW5ndGg7Zm9yKDt6LS07KWlmKGkuZXZlbnRzW3pdWzFdLnN0YXJ0Lm9mZnNldDxuJiYoIWkuZXZlbnRzW3pdWzFdLmVuZHx8aS5ldmVudHNbel1bMV0uZW5kLm9mZnNldD5uKSlyZXR1cm47bGV0IE89ZS5ldmVudHMubGVuZ3RoLFQ9TyxQLEI7Zm9yKDtULS07KWlmKGUuZXZlbnRzW1RdWzBdPT09ImV4aXQiJiZlLmV2ZW50c1tUXVsxXS50eXBlPT09ImNodW5rRmxvdyIpe2lmKFApe0I9ZS5ldmVudHNbVF1bMV0uZW5kO2JyZWFrfVA9ITB9Zm9yKHkociksej1PO3o8ZS5ldmVudHMubGVuZ3RoOyllLmV2ZW50c1t6XVsxXS5lbmQ9ey4uLkJ9LHorKztZcihlLmV2ZW50cyxUKzEsMCxlLmV2ZW50cy5zbGljZShPKSksZS5ldmVudHMubGVuZ3RoPXp9fWZ1bmN0aW9uIHkoQyl7bGV0IE49dC5sZW5ndGg7Zm9yKDtOLS0gPkM7KXtsZXQgXz10W05dO2UuY29udGFpbmVyU3RhdGU9X1sxXSxfWzBdLmV4aXQuY2FsbChlLGEpfXQubGVuZ3RoPUN9ZnVuY3Rpb24gaygpe2kud3JpdGUoW251bGxdKSxvPXZvaWQgMCxpPXZvaWQgMCxlLmNvbnRhaW5lclN0YXRlLl9jbG9zZUZsb3c9dm9pZCAwfX1mdW5jdGlvbiB5a2EoYSxlLHQpe3JldHVybiBEdChhLGEuYXR0ZW1wdCh0aGlzLnBhcnNlci5jb25zdHJ1Y3RzLmRvY3VtZW50LGUsdCksImxpbmVQcmVmaXgiLHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCl9dmFyIHZwdCxicHQseHB0PWYoKCk9PntLcigpO2JhKCk7UDIoKTt2cHQ9e3Rva2VuaXplOnhrYX0sYnB0PXt0b2tlbml6ZTp5a2F9O3MoeGthLCJpbml0aWFsaXplRG9jdW1lbnQiKTtzKHlrYSwidG9rZW5pemVDb250YWluZXIiKX0pO2Z1bmN0aW9uIHdrYShhKXtsZXQgZT10aGlzLHQ9YS5hdHRlbXB0KFIyLHIsYS5hdHRlbXB0KHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuZmxvd0luaXRpYWwsaSxEdChhLGEuYXR0ZW1wdCh0aGlzLnBhcnNlci5jb25zdHJ1Y3RzLmZsb3csaSxhLmF0dGVtcHQoVzRlLGkpKSwibGluZVByZWZpeCIpKSk7cmV0dXJuIHQ7ZnVuY3Rpb24gcihvKXtpZihvPT09bnVsbCl7YS5jb25zdW1lKG8pO3JldHVybn1yZXR1cm4gYS5lbnRlcigibGluZUVuZGluZ0JsYW5rIiksYS5jb25zdW1lKG8pLGEuZXhpdCgibGluZUVuZGluZ0JsYW5rIiksZS5jdXJyZW50Q29uc3RydWN0PXZvaWQgMCx0fWZ1bmN0aW9uIGkobyl7aWYobz09PW51bGwpe2EuY29uc3VtZShvKTtyZXR1cm59cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUobyksYS5leGl0KCJsaW5lRW5kaW5nIiksZS5jdXJyZW50Q29uc3RydWN0PXZvaWQgMCx0fX12YXIgeXB0LHdwdD1mKCgpPT57cVEoKTtLcigpO2JhKCk7eXB0PXt0b2tlbml6ZTp3a2F9O3Mod2thLCJpbml0aWFsaXplRmxvdyIpfSk7ZnVuY3Rpb24gTXB0KGEpe3JldHVybntyZXNvbHZlQWxsOmtwdChhPT09InRleHQiP01rYTp2b2lkIDApLHRva2VuaXplOmV9O2Z1bmN0aW9uIGUodCl7bGV0IHI9dGhpcyxpPXRoaXMucGFyc2VyLmNvbnN0cnVjdHNbYV0sbz10LmF0dGVtcHQoaSxuLGwpO3JldHVybiBuO2Z1bmN0aW9uIG4ocCl7cmV0dXJuIGMocCk/byhwKTpsKHApfWZ1bmN0aW9uIGwocCl7aWYocD09PW51bGwpe3QuY29uc3VtZShwKTtyZXR1cm59cmV0dXJuIHQuZW50ZXIoImRhdGEiKSx0LmNvbnN1bWUocCksZH1mdW5jdGlvbiBkKHApe3JldHVybiBjKHApPyh0LmV4aXQoImRhdGEiKSxvKHApKToodC5jb25zdW1lKHApLGQpfWZ1bmN0aW9uIGMocCl7aWYocD09PW51bGwpcmV0dXJuITA7bGV0IHU9aVtwXSxtPS0xO2lmKHUpZm9yKDsrK208dS5sZW5ndGg7KXtsZXQgdj11W21dO2lmKCF2LnByZXZpb3VzfHx2LnByZXZpb3VzLmNhbGwocixyLnByZXZpb3VzKSlyZXR1cm4hMH1yZXR1cm4hMX19fWZ1bmN0aW9uIGtwdChhKXtyZXR1cm4gZTtmdW5jdGlvbiBlKHQscil7bGV0IGk9LTEsbztmb3IoOysraTw9dC5sZW5ndGg7KW89PT12b2lkIDA/dFtpXSYmdFtpXVsxXS50eXBlPT09ImRhdGEiJiYobz1pLGkrKyk6KCF0W2ldfHx0W2ldWzFdLnR5cGUhPT0iZGF0YSIpJiYoaSE9PW8rMiYmKHRbb11bMV0uZW5kPXRbaS0xXVsxXS5lbmQsdC5zcGxpY2UobysyLGktby0yKSxpPW8rMiksbz12b2lkIDApO3JldHVybiBhP2EodCxyKTp0fX1mdW5jdGlvbiBNa2EoYSxlKXtsZXQgdD0wO2Zvcig7Kyt0PD1hLmxlbmd0aDspaWYoKHQ9PT1hLmxlbmd0aHx8YVt0XVsxXS50eXBlPT09ImxpbmVFbmRpbmciKSYmYVt0LTFdWzFdLnR5cGU9PT0iZGF0YSIpe2xldCByPWFbdC0xXVsxXSxpPWUuc2xpY2VTdHJlYW0ociksbz1pLmxlbmd0aCxuPS0xLGw9MCxkO2Zvcig7by0tOyl7bGV0IGM9aVtvXTtpZih0eXBlb2YgYz09InN0cmluZyIpe2ZvcihuPWMubGVuZ3RoO2MuY2hhckNvZGVBdChuLTEpPT09MzI7KWwrKyxuLS07aWYobilicmVhaztuPS0xfWVsc2UgaWYoYz09PS0yKWQ9ITAsbCsrO2Vsc2UgaWYoYyE9PS0xKXtvKys7YnJlYWt9fWlmKGUuX2NvbnRlbnRUeXBlVGV4dFRyYWlsaW5nJiZ0PT09YS5sZW5ndGgmJihsPTApLGwpe2xldCBjPXt0eXBlOnQ9PT1hLmxlbmd0aHx8ZHx8bDwyPyJsaW5lU3VmZml4IjoiaGFyZEJyZWFrVHJhaWxpbmciLHN0YXJ0OntfYnVmZmVySW5kZXg6bz9uOnIuc3RhcnQuX2J1ZmZlckluZGV4K24sX2luZGV4OnIuc3RhcnQuX2luZGV4K28sbGluZTpyLmVuZC5saW5lLGNvbHVtbjpyLmVuZC5jb2x1bW4tbCxvZmZzZXQ6ci5lbmQub2Zmc2V0LWx9LGVuZDp7Li4uci5lbmR9fTtyLmVuZD17Li4uYy5zdGFydH0sci5zdGFydC5vZmZzZXQ9PT1yLmVuZC5vZmZzZXQ/T2JqZWN0LmFzc2lnbihyLGMpOihhLnNwbGljZSh0LDAsWyJlbnRlciIsYyxlXSxbImV4aXQiLGMsZV0pLHQrPTIpfXQrK31yZXR1cm4gYX12YXIgU3B0LHpwdCxDcHQsdjNlPWYoKCk9PntTcHQ9e3Jlc29sdmVBbGw6a3B0KCl9LHpwdD1NcHQoInN0cmluZyIpLENwdD1NcHQoInRleHQiKTtzKE1wdCwiaW5pdGlhbGl6ZUZhY3RvcnkiKTtzKGtwdCwiY3JlYXRlUmVzb2x2ZXIiKTtzKE1rYSwicmVzb2x2ZUFsbExpbmVTdWZmaXhlcyIpfSk7dmFyIHgzZT17fTtsdCh4M2Use2F0dGVudGlvbk1hcmtlcnM6KCk9PiRrYSxjb250ZW50SW5pdGlhbDooKT0+U2thLGRpc2FibGU6KCk9PkRrYSxkb2N1bWVudDooKT0+a2thLGZsb3c6KCk9PkNrYSxmbG93SW5pdGlhbDooKT0+emthLGluc2lkZVNwYW46KCk9PkxrYSxzdHJpbmc6KCk9Pl9rYSx0ZXh0OigpPT5Ua2F9KTt2YXIga2thLFNrYSx6a2EsQ2thLF9rYSxUa2EsTGthLCRrYSxEa2EsX3B0PWYoKCk9PntxUSgpO3YzZSgpO2trYT17NDI6VGksNDM6VGksNDU6VGksNDg6VGksNDk6VGksNTA6VGksNTE6VGksNTI6VGksNTM6VGksNTQ6VGksNTU6VGksNTY6VGksNTc6VGksNjI6QVF9LFNrYT17OTE6WDRlfSx6a2E9e1stMl06R2csWy0xXTpHZywzMjpHZ30sQ2thPXszNTpKNGUsNDI6WTMsNDU6W0hRLFkzXSw2MDp0M2UsNjE6SFEsOTU6WTMsOTY6SVEsMTI2OklRfSxfa2E9ezM4OkVRLDkyOlBRfSxUa2E9e1stNV06WmcsWy00XTpaZyxbLTNdOlpnLDMzOnIzZSwzODpFUSw0MjpXZyw2MDpbcTRlLGEzZV0sOTE6czNlLDkyOltRNGUsUFFdLDkzOkczLDk1OldnLDk2OlY0ZX0sTGthPXtudWxsOltXZyxTcHRdfSwka2E9e251bGw6WzQyLDk1XX0sRGthPXtudWxsOltdfX0pO2Z1bmN0aW9uIFRwdChhLGUsdCl7bGV0IHI9e19idWZmZXJJbmRleDotMSxfaW5kZXg6MCxsaW5lOnQmJnQubGluZXx8MSxjb2x1bW46dCYmdC5jb2x1bW58fDEsb2Zmc2V0OnQmJnQub2Zmc2V0fHwwfSxpPXt9LG89W10sbj1bXSxsPVtdLGQ9ITAsYz17YXR0ZW1wdDpQKE8pLGNoZWNrOlAoVCksY29uc3VtZTpOLGVudGVyOl8sZXhpdDp6LGludGVycnVwdDpQKFQse2ludGVycnVwdDohMH0pfSxwPXtjb2RlOm51bGwsY29udGFpbmVyU3RhdGU6e30sZGVmaW5lU2tpcDp5LGV2ZW50czpbXSxub3c6ZyxwYXJzZXI6YSxwcmV2aW91czpudWxsLHNsaWNlU2VyaWFsaXplOngsc2xpY2VTdHJlYW06Yix3cml0ZTp2fSx1PWUudG9rZW5pemUuY2FsbChwLGMpLG07cmV0dXJuIGUucmVzb2x2ZUFsbCYmby5wdXNoKGUpLHA7ZnVuY3Rpb24gdihFKXtyZXR1cm4gbj1mcyhuLEUpLGsoKSxuW24ubGVuZ3RoLTFdIT09bnVsbD9bXTooQihlLDApLHAuZXZlbnRzPUgwKG8scC5ldmVudHMscCkscC5ldmVudHMpfXModiwid3JpdGUiKTtmdW5jdGlvbiB4KEUsQSl7cmV0dXJuIFBrYShiKEUpLEEpfXMoeCwic2xpY2VTZXJpYWxpemUiKTtmdW5jdGlvbiBiKEUpe3JldHVybiBBa2EobixFKX1zKGIsInNsaWNlU3RyZWFtIik7ZnVuY3Rpb24gZygpe2xldHtfYnVmZmVySW5kZXg6RSxfaW5kZXg6QSxsaW5lOkYsY29sdW1uOlcsb2Zmc2V0Omp9PXI7cmV0dXJue19idWZmZXJJbmRleDpFLF9pbmRleDpBLGxpbmU6Rixjb2x1bW46VyxvZmZzZXQ6an19cyhnLCJub3ciKTtmdW5jdGlvbiB5KEUpe2lbRS5saW5lXT1FLmNvbHVtbixTKCl9cyh5LCJkZWZpbmVTa2lwIik7ZnVuY3Rpb24gaygpe2xldCBFO2Zvcig7ci5faW5kZXg8bi5sZW5ndGg7KXtsZXQgQT1uW3IuX2luZGV4XTtpZih0eXBlb2YgQT09InN0cmluZyIpZm9yKEU9ci5faW5kZXgsci5fYnVmZmVySW5kZXg8MCYmKHIuX2J1ZmZlckluZGV4PTApO3IuX2luZGV4PT09RSYmci5fYnVmZmVySW5kZXg8QS5sZW5ndGg7KUMoQS5jaGFyQ29kZUF0KHIuX2J1ZmZlckluZGV4KSk7ZWxzZSBDKEEpfX1zKGssIm1haW4iKTtmdW5jdGlvbiBDKEUpe2Q9dm9pZCAwLG09RSx1PXUoRSl9cyhDLCJnbyIpO2Z1bmN0aW9uIE4oRSl7ZXQoRSk/KHIubGluZSsrLHIuY29sdW1uPTEsci5vZmZzZXQrPUU9PT0tMz8yOjEsUygpKTpFIT09LTEmJihyLmNvbHVtbisrLHIub2Zmc2V0KyspLHIuX2J1ZmZlckluZGV4PDA/ci5faW5kZXgrKzooci5fYnVmZmVySW5kZXgrKyxyLl9idWZmZXJJbmRleD09PW5bci5faW5kZXhdLmxlbmd0aCYmKHIuX2J1ZmZlckluZGV4PS0xLHIuX2luZGV4KyspKSxwLnByZXZpb3VzPUUsZD0hMH1zKE4sImNvbnN1bWUiKTtmdW5jdGlvbiBfKEUsQSl7bGV0IEY9QXx8e307cmV0dXJuIEYudHlwZT1FLEYuc3RhcnQ9ZygpLHAuZXZlbnRzLnB1c2goWyJlbnRlciIsRixwXSksbC5wdXNoKEYpLEZ9cyhfLCJlbnRlciIpO2Z1bmN0aW9uIHooRSl7bGV0IEE9bC5wb3AoKTtyZXR1cm4gQS5lbmQ9ZygpLHAuZXZlbnRzLnB1c2goWyJleGl0IixBLHBdKSxBfXMoeiwiZXhpdCIpO2Z1bmN0aW9uIE8oRSxBKXtCKEUsQS5mcm9tKX1zKE8sIm9uc3VjY2Vzc2Z1bGNvbnN0cnVjdCIpO2Z1bmN0aW9uIFQoRSxBKXtBLnJlc3RvcmUoKX1zKFQsIm9uc3VjY2Vzc2Z1bGNoZWNrIik7ZnVuY3Rpb24gUChFLEEpe3JldHVybiBGO2Z1bmN0aW9uIEYoVyxqLEcpe2xldCBoZSxSLFUsbWU7cmV0dXJuIEFycmF5LmlzQXJyYXkoVyk/cShXKToidG9rZW5pemUiaW4gVz9xKFtXXSk6SShXKTtmdW5jdGlvbiBJKFEpe3JldHVybiBKO2Z1bmN0aW9uIEooWil7bGV0IGdlPVohPT1udWxsJiZRW1pdLGFlPVohPT1udWxsJiZRLm51bGwscmU9Wy4uLkFycmF5LmlzQXJyYXkoZ2UpP2dlOmdlP1tnZV06W10sLi4uQXJyYXkuaXNBcnJheShhZSk/YWU6YWU/W2FlXTpbXV07cmV0dXJuIHEocmUpKFopfX1mdW5jdGlvbiBxKFEpe3JldHVybiBoZT1RLFI9MCxRLmxlbmd0aD09PTA/RzpjZShRW1JdKX1mdW5jdGlvbiBjZShRKXtyZXR1cm4gSjtmdW5jdGlvbiBKKFope3JldHVybiBtZT1NKCksVT1RLFEucGFydGlhbHx8KHAuY3VycmVudENvbnN0cnVjdD1RKSxRLm5hbWUmJnAucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKFEubmFtZSk/WShaKTpRLnRva2VuaXplLmNhbGwoQT9PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUocCksQSk6cCxjLHVlLFkpKFopfX1mdW5jdGlvbiB1ZShRKXtyZXR1cm4gZD0hMCxFKFUsbWUpLGp9ZnVuY3Rpb24gWShRKXtyZXR1cm4gZD0hMCxtZS5yZXN0b3JlKCksKytSPGhlLmxlbmd0aD9jZShoZVtSXSk6R319fXMoUCwiY29uc3RydWN0RmFjdG9yeSIpO2Z1bmN0aW9uIEIoRSxBKXtFLnJlc29sdmVBbGwmJiFvLmluY2x1ZGVzKEUpJiZvLnB1c2goRSksRS5yZXNvbHZlJiZZcihwLmV2ZW50cyxBLHAuZXZlbnRzLmxlbmd0aC1BLEUucmVzb2x2ZShwLmV2ZW50cy5zbGljZShBKSxwKSksRS5yZXNvbHZlVG8mJihwLmV2ZW50cz1FLnJlc29sdmVUbyhwLmV2ZW50cyxwKSl9cyhCLCJhZGRSZXN1bHQiKTtmdW5jdGlvbiBNKCl7bGV0IEU9ZygpLEE9cC5wcmV2aW91cyxGPXAuY3VycmVudENvbnN0cnVjdCxXPXAuZXZlbnRzLmxlbmd0aCxqPUFycmF5LmZyb20obCk7cmV0dXJue2Zyb206VyxyZXN0b3JlOkd9O2Z1bmN0aW9uIEcoKXtyPUUscC5wcmV2aW91cz1BLHAuY3VycmVudENvbnN0cnVjdD1GLHAuZXZlbnRzLmxlbmd0aD1XLGw9aixTKCl9fXMoTSwic3RvcmUiKTtmdW5jdGlvbiBTKCl7ci5saW5lIGluIGkmJnIuY29sdW1uPDImJihyLmNvbHVtbj1pW3IubGluZV0sci5vZmZzZXQrPWlbci5saW5lXS0xKX1zKFMsImFjY291bnRGb3JQb3RlbnRpYWxTa2lwIil9ZnVuY3Rpb24gQWthKGEsZSl7bGV0IHQ9ZS5zdGFydC5faW5kZXgscj1lLnN0YXJ0Ll9idWZmZXJJbmRleCxpPWUuZW5kLl9pbmRleCxvPWUuZW5kLl9idWZmZXJJbmRleCxuO2lmKHQ9PT1pKW49W2FbdF0uc2xpY2UocixvKV07ZWxzZXtpZihuPWEuc2xpY2UodCxpKSxyPi0xKXtsZXQgbD1uWzBdO3R5cGVvZiBsPT0ic3RyaW5nIj9uWzBdPWwuc2xpY2Uocik6bi5zaGlmdCgpfW8+MCYmbi5wdXNoKGFbaV0uc2xpY2UoMCxvKSl9cmV0dXJuIG59ZnVuY3Rpb24gUGthKGEsZSl7bGV0IHQ9LTEscj1bXSxpO2Zvcig7Kyt0PGEubGVuZ3RoOyl7bGV0IG89YVt0XSxuO2lmKHR5cGVvZiBvPT0ic3RyaW5nIiluPW87ZWxzZSBzd2l0Y2gobyl7Y2FzZS01OntuPSJcciI7YnJlYWt9Y2FzZS00OntuPWAKYDticmVha31jYXNlLTM6e249YFxyCmA7YnJlYWt9Y2FzZS0yOntuPWU/IiAiOiIJIjticmVha31jYXNlLTE6e2lmKCFlJiZpKWNvbnRpbnVlO249IiAiO2JyZWFrfWRlZmF1bHQ6bj1TdHJpbmcuZnJvbUNoYXJDb2RlKG8pfWk9bz09PS0yLHIucHVzaChuKX1yZXR1cm4gci5qb2luKCIiKX12YXIgTHB0PWYoKCk9PntiYSgpO1AyKCk7VWcoKTtzKFRwdCwiY3JlYXRlVG9rZW5pemVyIik7cyhBa2EsInNsaWNlQ2h1bmtzIik7cyhQa2EsInNlcmlhbGl6ZUNodW5rcyIpfSk7ZnVuY3Rpb24gWGcoYSl7bGV0IHI9e2NvbnN0cnVjdHM6X1EoW3gzZSwuLi4oYXx8e30pLmV4dGVuc2lvbnN8fFtdXSksY29udGVudDppKG1wdCksZGVmaW5lZDpbXSxkb2N1bWVudDppKHZwdCksZmxvdzppKHlwdCksbGF6eTp7fSxzdHJpbmc6aSh6cHQpLHRleHQ6aShDcHQpfTtyZXR1cm4gcjtmdW5jdGlvbiBpKG8pe3JldHVybiBuO2Z1bmN0aW9uIG4obCl7cmV0dXJuIFRwdChyLG8sbCl9fX12YXIgeTNlPWYoKCk9PntMUSgpO2dwdCgpO3hwdCgpO3dwdCgpO3YzZSgpO19wdCgpO0xwdCgpO3MoWGcsInBhcnNlIil9KTtmdW5jdGlvbiBRZyhhKXtmb3IoOyFOUShhKTspO3JldHVybiBhfXZhciB3M2U9ZigoKT0+e1U0ZSgpO3MoUWcsInBvc3Rwcm9jZXNzIil9KTtmdW5jdGlvbiBKZygpe2xldCBhPTEsZT0iIix0PSEwLHI7cmV0dXJuIGk7ZnVuY3Rpb24gaShvLG4sbCl7bGV0IGQ9W10sYyxwLHUsbSx2O2ZvcihvPWUrKHR5cGVvZiBvPT0ic3RyaW5nIj9vLnRvU3RyaW5nKCk6bmV3IFRleHREZWNvZGVyKG58fHZvaWQgMCkuZGVjb2RlKG8pKSx1PTAsZT0iIix0JiYoby5jaGFyQ29kZUF0KDApPT09NjUyNzkmJnUrKyx0PXZvaWQgMCk7dTxvLmxlbmd0aDspe2lmKCRwdC5sYXN0SW5kZXg9dSxjPSRwdC5leGVjKG8pLG09YyYmYy5pbmRleCE9PXZvaWQgMD9jLmluZGV4Om8ubGVuZ3RoLHY9by5jaGFyQ29kZUF0KG0pLCFjKXtlPW8uc2xpY2UodSk7YnJlYWt9aWYodj09PTEwJiZ1PT09bSYmcilkLnB1c2goLTMpLHI9dm9pZCAwO2Vsc2Ugc3dpdGNoKHImJihkLnB1c2goLTUpLHI9dm9pZCAwKSx1PG0mJihkLnB1c2goby5zbGljZSh1LG0pKSxhKz1tLXUpLHYpe2Nhc2UgMDp7ZC5wdXNoKDY1NTMzKSxhKys7YnJlYWt9Y2FzZSA5Ontmb3IocD1NYXRoLmNlaWwoYS80KSo0LGQucHVzaCgtMik7YSsrPHA7KWQucHVzaCgtMSk7YnJlYWt9Y2FzZSAxMDp7ZC5wdXNoKC00KSxhPTE7YnJlYWt9ZGVmYXVsdDpyPSEwLGE9MX11PW0rMX1yZXR1cm4gbCYmKHImJmQucHVzaCgtNSksZSYmZC5wdXNoKGUpLGQucHVzaChudWxsKSksZH19dmFyICRwdCxNM2U9ZigoKT0+eyRwdD0vW1wwXHRcblxyXS9nO3MoSmcsInByZXByb2Nlc3MiKX0pO2Z1bmN0aW9uIFRacihhLGUsdCl7cmV0dXJuIHR5cGVvZiBlIT0ic3RyaW5nIiYmKHQ9ZSxlPXZvaWQgMCksZzNlKHQpKFFnKFhnKHQpLmRvY3VtZW50KCkud3JpdGUoSmcoKShhLGUsITApKSkpfXZhciBEcHQ9ZigoKT0+e2IzZSgpO3kzZSgpO3czZSgpO00zZSgpO2IzZSgpO3kzZSgpO3czZSgpO00zZSgpO3MoVFpyLCJtaWNyb21hcmsiKX0pO2Z1bmN0aW9uIGszZShhLGUsdCl7cmV0dXJuIGUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmKHQ9ZSxlPXZvaWQgMCksRWthKHQpKFFnKFhnKHQpLmRvY3VtZW50KCkud3JpdGUoSmcoKShhLGUsITApKSkpfWZ1bmN0aW9uIEVrYShhKXtsZXQgZT17dHJhbnNmb3JtczpbXSxjYW5Db250YWluRW9sczpbImVtcGhhc2lzIiwiZnJhZ21lbnQiLCJoZWFkaW5nIiwicGFyYWdyYXBoIiwic3Ryb25nIl0sZW50ZXI6e2F1dG9saW5rOm8odGUpLGF1dG9saW5rUHJvdG9jb2w6UCxhdXRvbGlua0VtYWlsOlAsYXR4SGVhZGluZzpvKFYpLGJsb2NrUXVvdGU6byhaKSxjaGFyYWN0ZXJFc2NhcGU6UCxjaGFyYWN0ZXJSZWZlcmVuY2U6UCxjb2RlRmVuY2VkOm8oZ2UpLGNvZGVGZW5jZWRGZW5jZUluZm86bixjb2RlRmVuY2VkRmVuY2VNZXRhOm4sY29kZUluZGVudGVkOm8oZ2UsbiksY29kZVRleHQ6byhhZSxuKSxjb2RlVGV4dERhdGE6UCxkYXRhOlAsY29kZUZsb3dWYWx1ZTpQLGRlZmluaXRpb246byhyZSksZGVmaW5pdGlvbkRlc3RpbmF0aW9uU3RyaW5nOm4sZGVmaW5pdGlvbkxhYmVsU3RyaW5nOm4sZGVmaW5pdGlvblRpdGxlU3RyaW5nOm4sZW1waGFzaXM6byh5ZSksaGFyZEJyZWFrRXNjYXBlOm8oSCksaGFyZEJyZWFrVHJhaWxpbmc6byhIKSxodG1sRmxvdzpvKG9lLG4pLGh0bWxGbG93RGF0YTpQLGh0bWxUZXh0Om8ob2UsbiksaHRtbFRleHREYXRhOlAsaW1hZ2U6byhzZSksbGFiZWw6bixsaW5rOm8odGUpLGxpc3RJdGVtOm8oT2UpLGxpc3RJdGVtVmFsdWU6bSxsaXN0T3JkZXJlZDpvKHplLHUpLGxpc3RVbm9yZGVyZWQ6byh6ZSkscGFyYWdyYXBoOm8ocWUpLHJlZmVyZW5jZTpJLHJlZmVyZW5jZVN0cmluZzpuLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6bixyZXNvdXJjZVRpdGxlU3RyaW5nOm4sc2V0ZXh0SGVhZGluZzpvKFYpLHN0cm9uZzpvKGR0KSx0aGVtYXRpY0JyZWFrOm8oQ2UpfSxleGl0OnthdHhIZWFkaW5nOmQoKSxhdHhIZWFkaW5nU2VxdWVuY2U6XyxhdXRvbGluazpkKCksYXV0b2xpbmtFbWFpbDpKLGF1dG9saW5rUHJvdG9jb2w6USxibG9ja1F1b3RlOmQoKSxjaGFyYWN0ZXJFc2NhcGVWYWx1ZTpCLGNoYXJhY3RlclJlZmVyZW5jZU1hcmtlckhleGFkZWNpbWFsOmNlLGNoYXJhY3RlclJlZmVyZW5jZU1hcmtlck51bWVyaWM6Y2UsY2hhcmFjdGVyUmVmZXJlbmNlVmFsdWU6dWUsY2hhcmFjdGVyUmVmZXJlbmNlOlksY29kZUZlbmNlZDpkKGcpLGNvZGVGZW5jZWRGZW5jZTpiLGNvZGVGZW5jZWRGZW5jZUluZm86dixjb2RlRmVuY2VkRmVuY2VNZXRhOngsY29kZUZsb3dWYWx1ZTpCLGNvZGVJbmRlbnRlZDpkKHkpLGNvZGVUZXh0OmQoRiksY29kZVRleHREYXRhOkIsZGF0YTpCLGRlZmluaXRpb246ZCgpLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzpOLGRlZmluaXRpb25MYWJlbFN0cmluZzprLGRlZmluaXRpb25UaXRsZVN0cmluZzpDLGVtcGhhc2lzOmQoKSxoYXJkQnJlYWtFc2NhcGU6ZChTKSxoYXJkQnJlYWtUcmFpbGluZzpkKFMpLGh0bWxGbG93OmQoRSksaHRtbEZsb3dEYXRhOkIsaHRtbFRleHQ6ZChBKSxodG1sVGV4dERhdGE6QixpbWFnZTpkKGopLGxhYmVsOmhlLGxhYmVsVGV4dDpHLGxpbmVFbmRpbmc6TSxsaW5rOmQoVyksbGlzdEl0ZW06ZCgpLGxpc3RPcmRlcmVkOmQoKSxsaXN0VW5vcmRlcmVkOmQoKSxwYXJhZ3JhcGg6ZCgpLHJlZmVyZW5jZVN0cmluZzpxLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6UixyZXNvdXJjZVRpdGxlU3RyaW5nOlUscmVzb3VyY2U6bWUsc2V0ZXh0SGVhZGluZzpkKFQpLHNldGV4dEhlYWRpbmdMaW5lU2VxdWVuY2U6TyxzZXRleHRIZWFkaW5nVGV4dDp6LHN0cm9uZzpkKCksdGhlbWF0aWNCcmVhazpkKCl9fTtQcHQoZSwoYXx8e30pLm1kYXN0RXh0ZW5zaW9uc3x8W10pO2xldCB0PXt9O3JldHVybiByO2Z1bmN0aW9uIHIoTWUpe2xldCBkZT17dHlwZToicm9vdCIsY2hpbGRyZW46W119LHZlPXtzdGFjazpbZGVdLHRva2VuU3RhY2s6W10sY29uZmlnOmUsZW50ZXI6bCxleGl0OmMsYnVmZmVyOm4scmVzdW1lOnAsZGF0YTp0fSxBZT1bXSxaZT0tMTtmb3IoOysrWmU8TWUubGVuZ3RoOylpZihNZVtaZV1bMV0udHlwZT09PSJsaXN0T3JkZXJlZCJ8fE1lW1plXVsxXS50eXBlPT09Imxpc3RVbm9yZGVyZWQiKWlmKE1lW1plXVswXT09PSJlbnRlciIpQWUucHVzaChaZSk7ZWxzZXtsZXQgbnQ9QWUucG9wKCk7WmU9aShNZSxudCxaZSl9Zm9yKFplPS0xOysrWmU8TWUubGVuZ3RoOyl7bGV0IG50PWVbTWVbWmVdWzBdXTtBcHQuY2FsbChudCxNZVtaZV1bMV0udHlwZSkmJm50W01lW1plXVsxXS50eXBlXS5jYWxsKE9iamVjdC5hc3NpZ24oe3NsaWNlU2VyaWFsaXplOk1lW1plXVsyXS5zbGljZVNlcmlhbGl6ZX0sdmUpLE1lW1plXVsxXSl9aWYodmUudG9rZW5TdGFjay5sZW5ndGg+MCl7bGV0IG50PXZlLnRva2VuU3RhY2tbdmUudG9rZW5TdGFjay5sZW5ndGgtMV07KG50WzFdfHxFcHQpLmNhbGwodmUsdm9pZCAwLG50WzBdKX1mb3IoZGUucG9zaXRpb249e3N0YXJ0OnEwKE1lLmxlbmd0aD4wP01lWzBdWzFdLnN0YXJ0OntsaW5lOjEsY29sdW1uOjEsb2Zmc2V0OjB9KSxlbmQ6cTAoTWUubGVuZ3RoPjA/TWVbTWUubGVuZ3RoLTJdWzFdLmVuZDp7bGluZToxLGNvbHVtbjoxLG9mZnNldDowfSl9LFplPS0xOysrWmU8ZS50cmFuc2Zvcm1zLmxlbmd0aDspZGU9ZS50cmFuc2Zvcm1zW1plXShkZSl8fGRlO3JldHVybiBkZX1mdW5jdGlvbiBpKE1lLGRlLHZlKXtsZXQgQWU9ZGUtMSxaZT0tMSxudD0hMSx6dCxUZSx3ZSxSZTtmb3IoOysrQWU8PXZlOyl7bGV0IGZlPU1lW0FlXTtzd2l0Y2goZmVbMV0udHlwZSl7Y2FzZSJsaXN0VW5vcmRlcmVkIjpjYXNlImxpc3RPcmRlcmVkIjpjYXNlImJsb2NrUXVvdGUiOntmZVswXT09PSJlbnRlciI/WmUrKzpaZS0tLFJlPXZvaWQgMDticmVha31jYXNlImxpbmVFbmRpbmdCbGFuayI6e2ZlWzBdPT09ImVudGVyIiYmKHp0JiYhUmUmJiFaZSYmIXdlJiYod2U9QWUpLFJlPXZvaWQgMCk7YnJlYWt9Y2FzZSJsaW5lUHJlZml4IjpjYXNlImxpc3RJdGVtVmFsdWUiOmNhc2UibGlzdEl0ZW1NYXJrZXIiOmNhc2UibGlzdEl0ZW1QcmVmaXgiOmNhc2UibGlzdEl0ZW1QcmVmaXhXaGl0ZXNwYWNlIjpicmVhaztkZWZhdWx0OlJlPXZvaWQgMH1pZighWmUmJmZlWzBdPT09ImVudGVyIiYmZmVbMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeCJ8fFplPT09LTEmJmZlWzBdPT09ImV4aXQiJiYoZmVbMV0udHlwZT09PSJsaXN0VW5vcmRlcmVkInx8ZmVbMV0udHlwZT09PSJsaXN0T3JkZXJlZCIpKXtpZih6dCl7bGV0IGJlPUFlO2ZvcihUZT12b2lkIDA7YmUtLTspe2xldCBFZT1NZVtiZV07aWYoRWVbMV0udHlwZT09PSJsaW5lRW5kaW5nInx8RWVbMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiKXtpZihFZVswXT09PSJleGl0Iiljb250aW51ZTtUZSYmKE1lW1RlXVsxXS50eXBlPSJsaW5lRW5kaW5nQmxhbmsiLG50PSEwKSxFZVsxXS50eXBlPSJsaW5lRW5kaW5nIixUZT1iZX1lbHNlIGlmKCEoRWVbMV0udHlwZT09PSJsaW5lUHJlZml4Inx8RWVbMV0udHlwZT09PSJibG9ja1F1b3RlUHJlZml4Inx8RWVbMV0udHlwZT09PSJibG9ja1F1b3RlUHJlZml4V2hpdGVzcGFjZSJ8fEVlWzFdLnR5cGU9PT0iYmxvY2tRdW90ZU1hcmtlciJ8fEVlWzFdLnR5cGU9PT0ibGlzdEl0ZW1JbmRlbnQiKSlicmVha313ZSYmKCFUZXx8d2U8VGUpJiYoenQuX3NwcmVhZD0hMCksenQuZW5kPU9iamVjdC5hc3NpZ24oe30sVGU/TWVbVGVdWzFdLnN0YXJ0OmZlWzFdLmVuZCksTWUuc3BsaWNlKFRlfHxBZSwwLFsiZXhpdCIsenQsZmVbMl1dKSxBZSsrLHZlKyt9aWYoZmVbMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeCIpe2xldCBiZT17dHlwZToibGlzdEl0ZW0iLF9zcHJlYWQ6ITEsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxmZVsxXS5zdGFydCksZW5kOnZvaWQgMH07enQ9YmUsTWUuc3BsaWNlKEFlLDAsWyJlbnRlciIsYmUsZmVbMl1dKSxBZSsrLHZlKyssd2U9dm9pZCAwLFJlPSEwfX19cmV0dXJuIE1lW2RlXVsxXS5fc3ByZWFkPW50LHZlfWZ1bmN0aW9uIG8oTWUsZGUpe3JldHVybiB2ZTtmdW5jdGlvbiB2ZShBZSl7bC5jYWxsKHRoaXMsTWUoQWUpLEFlKSxkZSYmZGUuY2FsbCh0aGlzLEFlKX19ZnVuY3Rpb24gbigpe3RoaXMuc3RhY2sucHVzaCh7dHlwZToiZnJhZ21lbnQiLGNoaWxkcmVuOltdfSl9ZnVuY3Rpb24gbChNZSxkZSx2ZSl7dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXS5jaGlsZHJlbi5wdXNoKE1lKSx0aGlzLnN0YWNrLnB1c2goTWUpLHRoaXMudG9rZW5TdGFjay5wdXNoKFtkZSx2ZXx8dm9pZCAwXSksTWUucG9zaXRpb249e3N0YXJ0OnEwKGRlLnN0YXJ0KSxlbmQ6dm9pZCAwfX1mdW5jdGlvbiBkKE1lKXtyZXR1cm4gZGU7ZnVuY3Rpb24gZGUodmUpe01lJiZNZS5jYWxsKHRoaXMsdmUpLGMuY2FsbCh0aGlzLHZlKX19ZnVuY3Rpb24gYyhNZSxkZSl7bGV0IHZlPXRoaXMuc3RhY2sucG9wKCksQWU9dGhpcy50b2tlblN0YWNrLnBvcCgpO2lmKEFlKUFlWzBdLnR5cGUhPT1NZS50eXBlJiYoZGU/ZGUuY2FsbCh0aGlzLE1lLEFlWzBdKTooQWVbMV18fEVwdCkuY2FsbCh0aGlzLE1lLEFlWzBdKSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjbG9zZSBgIitNZS50eXBlKyJgICgiK1IwKHtzdGFydDpNZS5zdGFydCxlbmQ6TWUuZW5kfSkrIik6IGl0XHUyMDE5cyBub3Qgb3BlbiIpO3ZlLnBvc2l0aW9uLmVuZD1xMChNZS5lbmQpfWZ1bmN0aW9uIHAoKXtyZXR1cm4gcTModGhpcy5zdGFjay5wb3AoKSl9ZnVuY3Rpb24gdSgpe3RoaXMuZGF0YS5leHBlY3RpbmdGaXJzdExpc3RJdGVtVmFsdWU9ITB9ZnVuY3Rpb24gbShNZSl7aWYodGhpcy5kYXRhLmV4cGVjdGluZ0ZpcnN0TGlzdEl0ZW1WYWx1ZSl7bGV0IGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMl07ZGUuc3RhcnQ9TnVtYmVyLnBhcnNlSW50KHRoaXMuc2xpY2VTZXJpYWxpemUoTWUpLDEwKSx0aGlzLmRhdGEuZXhwZWN0aW5nRmlyc3RMaXN0SXRlbVZhbHVlPXZvaWQgMH19ZnVuY3Rpb24gdigpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUubGFuZz1NZX1mdW5jdGlvbiB4KCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS5tZXRhPU1lfWZ1bmN0aW9uIGIoKXt0aGlzLmRhdGEuZmxvd0NvZGVJbnNpZGV8fCh0aGlzLmJ1ZmZlcigpLHRoaXMuZGF0YS5mbG93Q29kZUluc2lkZT0hMCl9ZnVuY3Rpb24gZygpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUudmFsdWU9TWUucmVwbGFjZSgvXihccj9cbnxccil8KFxyP1xufFxyKSQvZywiIiksdGhpcy5kYXRhLmZsb3dDb2RlSW5zaWRlPXZvaWQgMH1mdW5jdGlvbiB5KCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS52YWx1ZT1NZS5yZXBsYWNlKC8oXHI/XG58XHIpJC9nLCIiKX1mdW5jdGlvbiBrKE1lKXtsZXQgZGU9dGhpcy5yZXN1bWUoKSx2ZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO3ZlLmxhYmVsPWRlLHZlLmlkZW50aWZpZXI9TnIodGhpcy5zbGljZVNlcmlhbGl6ZShNZSkpLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gQygpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUudGl0bGU9TWV9ZnVuY3Rpb24gTigpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUudXJsPU1lfWZ1bmN0aW9uIF8oTWUpe2xldCBkZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2lmKCFkZS5kZXB0aCl7bGV0IHZlPXRoaXMuc2xpY2VTZXJpYWxpemUoTWUpLmxlbmd0aDtkZS5kZXB0aD12ZX19ZnVuY3Rpb24geigpe3RoaXMuZGF0YS5zZXRleHRIZWFkaW5nU2x1cnBMaW5lRW5kaW5nPSEwfWZ1bmN0aW9uIE8oTWUpe2xldCBkZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2RlLmRlcHRoPXRoaXMuc2xpY2VTZXJpYWxpemUoTWUpLmNvZGVQb2ludEF0KDApPT09NjE/MToyfWZ1bmN0aW9uIFQoKXt0aGlzLmRhdGEuc2V0ZXh0SGVhZGluZ1NsdXJwTGluZUVuZGluZz12b2lkIDB9ZnVuY3Rpb24gUChNZSl7bGV0IHZlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV0uY2hpbGRyZW4sQWU9dmVbdmUubGVuZ3RoLTFdOyghQWV8fEFlLnR5cGUhPT0idGV4dCIpJiYoQWU9JGUoKSxBZS5wb3NpdGlvbj17c3RhcnQ6cTAoTWUuc3RhcnQpLGVuZDp2b2lkIDB9LHZlLnB1c2goQWUpKSx0aGlzLnN0YWNrLnB1c2goQWUpfWZ1bmN0aW9uIEIoTWUpe2xldCBkZT10aGlzLnN0YWNrLnBvcCgpO2RlLnZhbHVlKz10aGlzLnNsaWNlU2VyaWFsaXplKE1lKSxkZS5wb3NpdGlvbi5lbmQ9cTAoTWUuZW5kKX1mdW5jdGlvbiBNKE1lKXtsZXQgZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtpZih0aGlzLmRhdGEuYXRIYXJkQnJlYWspe2xldCB2ZT1kZS5jaGlsZHJlbltkZS5jaGlsZHJlbi5sZW5ndGgtMV07dmUucG9zaXRpb24uZW5kPXEwKE1lLmVuZCksdGhpcy5kYXRhLmF0SGFyZEJyZWFrPXZvaWQgMDtyZXR1cm59IXRoaXMuZGF0YS5zZXRleHRIZWFkaW5nU2x1cnBMaW5lRW5kaW5nJiZlLmNhbkNvbnRhaW5Fb2xzLmluY2x1ZGVzKGRlLnR5cGUpJiYoUC5jYWxsKHRoaXMsTWUpLEIuY2FsbCh0aGlzLE1lKSl9ZnVuY3Rpb24gUygpe3RoaXMuZGF0YS5hdEhhcmRCcmVhaz0hMH1mdW5jdGlvbiBFKCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS52YWx1ZT1NZX1mdW5jdGlvbiBBKCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS52YWx1ZT1NZX1mdW5jdGlvbiBGKCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS52YWx1ZT1NZX1mdW5jdGlvbiBXKCl7bGV0IE1lPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07aWYodGhpcy5kYXRhLmluUmVmZXJlbmNlKXtsZXQgZGU9dGhpcy5kYXRhLnJlZmVyZW5jZVR5cGV8fCJzaG9ydGN1dCI7TWUudHlwZSs9IlJlZmVyZW5jZSIsTWUucmVmZXJlbmNlVHlwZT1kZSxkZWxldGUgTWUudXJsLGRlbGV0ZSBNZS50aXRsZX1lbHNlIGRlbGV0ZSBNZS5pZGVudGlmaWVyLGRlbGV0ZSBNZS5sYWJlbDt0aGlzLmRhdGEucmVmZXJlbmNlVHlwZT12b2lkIDB9ZnVuY3Rpb24gaigpe2xldCBNZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2lmKHRoaXMuZGF0YS5pblJlZmVyZW5jZSl7bGV0IGRlPXRoaXMuZGF0YS5yZWZlcmVuY2VUeXBlfHwic2hvcnRjdXQiO01lLnR5cGUrPSJSZWZlcmVuY2UiLE1lLnJlZmVyZW5jZVR5cGU9ZGUsZGVsZXRlIE1lLnVybCxkZWxldGUgTWUudGl0bGV9ZWxzZSBkZWxldGUgTWUuaWRlbnRpZmllcixkZWxldGUgTWUubGFiZWw7dGhpcy5kYXRhLnJlZmVyZW5jZVR5cGU9dm9pZCAwfWZ1bmN0aW9uIEcoTWUpe2xldCBkZT10aGlzLnNsaWNlU2VyaWFsaXplKE1lKSx2ZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTJdO3ZlLmxhYmVsPXpRKGRlKSx2ZS5pZGVudGlmaWVyPU5yKGRlKS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIGhlKCl7bGV0IE1lPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV0sZGU9dGhpcy5yZXN1bWUoKSx2ZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2lmKHRoaXMuZGF0YS5pblJlZmVyZW5jZT0hMCx2ZS50eXBlPT09ImxpbmsiKXtsZXQgQWU9TWUuY2hpbGRyZW47dmUuY2hpbGRyZW49QWV9ZWxzZSB2ZS5hbHQ9ZGV9ZnVuY3Rpb24gUigpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUudXJsPU1lfWZ1bmN0aW9uIFUoKXtsZXQgTWU9dGhpcy5yZXN1bWUoKSxkZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2RlLnRpdGxlPU1lfWZ1bmN0aW9uIG1lKCl7dGhpcy5kYXRhLmluUmVmZXJlbmNlPXZvaWQgMH1mdW5jdGlvbiBJKCl7dGhpcy5kYXRhLnJlZmVyZW5jZVR5cGU9ImNvbGxhcHNlZCJ9ZnVuY3Rpb24gcShNZSl7bGV0IGRlPXRoaXMucmVzdW1lKCksdmU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTt2ZS5sYWJlbD1kZSx2ZS5pZGVudGlmaWVyPU5yKHRoaXMuc2xpY2VTZXJpYWxpemUoTWUpKS50b0xvd2VyQ2FzZSgpLHRoaXMuZGF0YS5yZWZlcmVuY2VUeXBlPSJmdWxsIn1mdW5jdGlvbiBjZShNZSl7dGhpcy5kYXRhLmNoYXJhY3RlclJlZmVyZW5jZVR5cGU9TWUudHlwZX1mdW5jdGlvbiB1ZShNZSl7bGV0IGRlPXRoaXMuc2xpY2VTZXJpYWxpemUoTWUpLHZlPXRoaXMuZGF0YS5jaGFyYWN0ZXJSZWZlcmVuY2VUeXBlLEFlO3ZlPyhBZT15OChkZSx2ZT09PSJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljIj8xMDoxNiksdGhpcy5kYXRhLmNoYXJhY3RlclJlZmVyZW5jZVR5cGU9dm9pZCAwKTpBZT1CMChkZSk7bGV0IFplPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07WmUudmFsdWUrPUFlfWZ1bmN0aW9uIFkoTWUpe2xldCBkZT10aGlzLnN0YWNrLnBvcCgpO2RlLnBvc2l0aW9uLmVuZD1xMChNZS5lbmQpfWZ1bmN0aW9uIFEoTWUpe0IuY2FsbCh0aGlzLE1lKTtsZXQgZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS51cmw9dGhpcy5zbGljZVNlcmlhbGl6ZShNZSl9ZnVuY3Rpb24gSihNZSl7Qi5jYWxsKHRoaXMsTWUpO2xldCBkZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2RlLnVybD0ibWFpbHRvOiIrdGhpcy5zbGljZVNlcmlhbGl6ZShNZSl9ZnVuY3Rpb24gWigpe3JldHVybnt0eXBlOiJibG9ja3F1b3RlIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gZ2UoKXtyZXR1cm57dHlwZToiY29kZSIsbGFuZzpudWxsLG1ldGE6bnVsbCx2YWx1ZToiIn19ZnVuY3Rpb24gYWUoKXtyZXR1cm57dHlwZToiaW5saW5lQ29kZSIsdmFsdWU6IiJ9fWZ1bmN0aW9uIHJlKCl7cmV0dXJue3R5cGU6ImRlZmluaXRpb24iLGlkZW50aWZpZXI6IiIsbGFiZWw6bnVsbCx0aXRsZTpudWxsLHVybDoiIn19ZnVuY3Rpb24geWUoKXtyZXR1cm57dHlwZToiZW1waGFzaXMiLGNoaWxkcmVuOltdfX1mdW5jdGlvbiBWKCl7cmV0dXJue3R5cGU6ImhlYWRpbmciLGRlcHRoOjAsY2hpbGRyZW46W119fWZ1bmN0aW9uIEgoKXtyZXR1cm57dHlwZToiYnJlYWsifX1mdW5jdGlvbiBvZSgpe3JldHVybnt0eXBlOiJodG1sIix2YWx1ZToiIn19ZnVuY3Rpb24gc2UoKXtyZXR1cm57dHlwZToiaW1hZ2UiLHRpdGxlOm51bGwsdXJsOiIiLGFsdDpudWxsfX1mdW5jdGlvbiB0ZSgpe3JldHVybnt0eXBlOiJsaW5rIix0aXRsZTpudWxsLHVybDoiIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gemUoTWUpe3JldHVybnt0eXBlOiJsaXN0IixvcmRlcmVkOk1lLnR5cGU9PT0ibGlzdE9yZGVyZWQiLHN0YXJ0Om51bGwsc3ByZWFkOk1lLl9zcHJlYWQsY2hpbGRyZW46W119fWZ1bmN0aW9uIE9lKE1lKXtyZXR1cm57dHlwZToibGlzdEl0ZW0iLHNwcmVhZDpNZS5fc3ByZWFkLGNoZWNrZWQ6bnVsbCxjaGlsZHJlbjpbXX19ZnVuY3Rpb24gcWUoKXtyZXR1cm57dHlwZToicGFyYWdyYXBoIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gZHQoKXtyZXR1cm57dHlwZToic3Ryb25nIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gJGUoKXtyZXR1cm57dHlwZToidGV4dCIsdmFsdWU6IiJ9fWZ1bmN0aW9uIENlKCl7cmV0dXJue3R5cGU6InRoZW1hdGljQnJlYWsifX19ZnVuY3Rpb24gcTAoYSl7cmV0dXJue2xpbmU6YS5saW5lLGNvbHVtbjphLmNvbHVtbixvZmZzZXQ6YS5vZmZzZXR9fWZ1bmN0aW9uIFBwdChhLGUpe2xldCB0PS0xO2Zvcig7Kyt0PGUubGVuZ3RoOyl7bGV0IHI9ZVt0XTtBcnJheS5pc0FycmF5KHIpP1BwdChhLHIpOklrYShhLHIpfX1mdW5jdGlvbiBJa2EoYSxlKXtsZXQgdDtmb3IodCBpbiBlKWlmKEFwdC5jYWxsKGUsdCkpc3dpdGNoKHQpe2Nhc2UiY2FuQ29udGFpbkVvbHMiOntsZXQgcj1lW3RdO3ImJmFbdF0ucHVzaCguLi5yKTticmVha31jYXNlInRyYW5zZm9ybXMiOntsZXQgcj1lW3RdO3ImJmFbdF0ucHVzaCguLi5yKTticmVha31jYXNlImVudGVyIjpjYXNlImV4aXQiOntsZXQgcj1lW3RdO3ImJk9iamVjdC5hc3NpZ24oYVt0XSxyKTticmVha319fWZ1bmN0aW9uIEVwdChhLGUpe3Rocm93IGE/bmV3IEVycm9yKCJDYW5ub3QgY2xvc2UgYCIrYS50eXBlKyJgICgiK1IwKHtzdGFydDphLnN0YXJ0LGVuZDphLmVuZH0pKyIpOiBhIGRpZmZlcmVudCB0b2tlbiAoYCIrZS50eXBlKyJgLCAiK1IwKHtzdGFydDplLnN0YXJ0LGVuZDplLmVuZH0pKyIpIGlzIG9wZW4iKTpuZXcgRXJyb3IoIkNhbm5vdCBjbG9zZSBkb2N1bWVudCwgYSB0b2tlbiAoYCIrZS50eXBlKyJgLCAiK1IwKHtzdGFydDplLnN0YXJ0LGVuZDplLmVuZH0pKyIpIGlzIHN0aWxsIG9wZW4iKX12YXIgQXB0LElwdD1mKCgpPT57eVEoKTtEcHQoKTtTUSgpO0M0ZSgpO0YwKCk7amcoKTtCMGUoKTtBcHQ9e30uaGFzT3duUHJvcGVydHk7cyhrM2UsImZyb21NYXJrZG93biIpO3MoRWthLCJjb21waWxlciIpO3MocTAsInBvaW50Iik7cyhQcHQsImNvbmZpZ3VyZSIpO3MoSWthLCJleHRlbnNpb24iKTtzKEVwdCwiZGVmYXVsdE9uRXJyb3IiKX0pO3ZhciBOcHQ9ZigoKT0+e0lwdCgpfSk7ZnVuY3Rpb24gazgoYSl7bGV0IGU9dGhpcztlLnBhcnNlcj10O2Z1bmN0aW9uIHQocil7cmV0dXJuIGszZShyLHsuLi5lLmRhdGEoInNldHRpbmdzIiksLi4uYSxleHRlbnNpb25zOmUuZGF0YSgibWljcm9tYXJrRXh0ZW5zaW9ucyIpfHxbXSxtZGFzdEV4dGVuc2lvbnM6ZS5kYXRhKCJmcm9tTWFya2Rvd25FeHRlbnNpb25zIil8fFtdfSl9cyh0LCJwYXJzZXIiKX12YXIgUnB0PWYoKCk9PntOcHQoKTtzKGs4LCJyZW1hcmtQYXJzZSIpfSk7dmFyIE9wdD1mKCgpPT57UnB0KCl9KTt2YXIgRnB0PU1vKChYWnIsUzNlKT0+eyhmdW5jdGlvbigpe3ZhciBhO3R5cGVvZiBTM2U8InUiP2E9UzNlLmV4cG9ydHM9cjphPShmdW5jdGlvbigpe3JldHVybiB0aGlzfHwoMCxldmFsKSgidGhpcyIpfSkoKSxhLmZvcm1hdD1yLGEudnNwcmludGY9dCx0eXBlb2YgY29uc29sZTwidSImJnR5cGVvZiBjb25zb2xlLmxvZz09ImZ1bmN0aW9uIiYmKGEucHJpbnRmPWUpO2Z1bmN0aW9uIGUoKXtjb25zb2xlLmxvZyhyLmFwcGx5KG51bGwsYXJndW1lbnRzKSl9cyhlLCJwcmludGYiKTtmdW5jdGlvbiB0KGksbyl7cmV0dXJuIHIuYXBwbHkobnVsbCxbaV0uY29uY2F0KG8pKX1zKHQsInZzcHJpbnRmIik7ZnVuY3Rpb24gcihpKXtmb3IodmFyIG89MSxuPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxsPTAsZD1pLmxlbmd0aCxjPSIiLHAsdT0hMSxtLHYseD0hMSxiLGc9cyhmdW5jdGlvbigpe3JldHVybiBuW28rK119LCJuZXh0QXJnIikseT1zKGZ1bmN0aW9uKCl7Zm9yKHZhciBrPSIiOy9cZC8udGVzdChpW2xdKTspays9aVtsKytdLHA9aVtsXTtyZXR1cm4gay5sZW5ndGg+MD9wYXJzZUludChrKTpudWxsfSwic2x1cnBOdW1iZXIiKTtsPGQ7KytsKWlmKHA9aVtsXSx1KXN3aXRjaCh1PSExLHA9PSIuIj8oeD0hMSxwPWlbKytsXSk6cD09IjAiJiZpW2wrMV09PSIuIj8oeD0hMCxsKz0yLHA9aVtsXSk6eD0hMCxiPXkoKSxwKXtjYXNlImIiOmMrPXBhcnNlSW50KGcoKSwxMCkudG9TdHJpbmcoMik7YnJlYWs7Y2FzZSJjIjptPWcoKSx0eXBlb2YgbT09InN0cmluZyJ8fG0gaW5zdGFuY2VvZiBTdHJpbmc/Yys9bTpjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KG0sMTApKTticmVhaztjYXNlImQiOmMrPXBhcnNlSW50KGcoKSwxMCk7YnJlYWs7Y2FzZSJmIjp2PVN0cmluZyhwYXJzZUZsb2F0KGcoKSkudG9GaXhlZChifHw2KSksYys9eD92OnYucmVwbGFjZSgvXjAvLCIiKTticmVhaztjYXNlImoiOmMrPUpTT04uc3RyaW5naWZ5KGcoKSk7YnJlYWs7Y2FzZSJvIjpjKz0iMCIrcGFyc2VJbnQoZygpLDEwKS50b1N0cmluZyg4KTticmVhaztjYXNlInMiOmMrPWcoKTticmVhaztjYXNlIngiOmMrPSIweCIrcGFyc2VJbnQoZygpLDEwKS50b1N0cmluZygxNik7YnJlYWs7Y2FzZSJYIjpjKz0iMHgiK3BhcnNlSW50KGcoKSwxMCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7YnJlYWs7ZGVmYXVsdDpjKz1wO2JyZWFrfWVsc2UgcD09PSIlIj91PSEwOmMrPXA7cmV0dXJuIGN9cyhyLCJmb3JtYXQiKX0pKCl9KTtmdW5jdGlvbiBLMyhhKXtyZXR1cm4gZS5kaXNwbGF5TmFtZT1hLmRpc3BsYXlOYW1lfHxhLm5hbWUsZTtmdW5jdGlvbiBlKHQsLi4ucil7bGV0IGk9dCYmKDAsQnB0LmRlZmF1bHQpKHQsLi4ucik7cmV0dXJuIG5ldyBhKGkpfXMoZSwiRm9ybWF0dGVkRXJyb3IiKX12YXIgQnB0LGViLEhwdD1mKCgpPT57QnB0PWtvKEZwdCgpLDEpLGViPU9iamVjdC5hc3NpZ24oSzMoRXJyb3IpLHtldmFsOkszKEV2YWxFcnJvcikscmFuZ2U6SzMoUmFuZ2VFcnJvcikscmVmZXJlbmNlOkszKFJlZmVyZW5jZUVycm9yKSxzeW50YXg6SzMoU3ludGF4RXJyb3IpLHR5cGU6SzMoVHlwZUVycm9yKSx1cmk6SzMoVVJJRXJyb3IpfSk7cyhLMywiY3JlYXRlIil9KTtmdW5jdGlvbiBTOChhKXtsZXQgZT1bXSx0PS0xLHI9QXJyYXkuaXNBcnJheShhKT9hOmE/W2FdOlsieWFtbCJdO2Zvcig7Kyt0PHIubGVuZ3RoOyllW3RdPU5rYShyW3RdKTtyZXR1cm4gZX1mdW5jdGlvbiBOa2EoYSl7bGV0IGU9YTtpZih0eXBlb2YgZT09InN0cmluZyIpe2lmKCFVUS5jYWxsKHFwdCxlKSl0aHJvdyBlYigiTWlzc2luZyBtYXR0ZXIgZGVmaW5pdGlvbiBmb3IgYCVzYCIsZSk7ZT17dHlwZTplLG1hcmtlcjpxcHRbZV19fWVsc2UgaWYodHlwZW9mIGUhPSJvYmplY3QiKXRocm93IGViKCJFeHBlY3RlZCBtYXR0ZXIgdG8gYmUgYW4gb2JqZWN0LCBub3QgYCVqYCIsZSk7aWYoIVVRLmNhbGwoZSwidHlwZSIpKXRocm93IGViKCJNaXNzaW5nIGB0eXBlYCBpbiBtYXR0ZXIgYCVqYCIsZSk7aWYoIVVRLmNhbGwoZSwiZmVuY2UiKSYmIVVRLmNhbGwoZSwibWFya2VyIikpdGhyb3cgZWIoIk1pc3NpbmcgYG1hcmtlcmAgb3IgYGZlbmNlYCBpbiBtYXR0ZXIgYCVqYCIsZSk7cmV0dXJuIGV9dmFyIFVRLHFwdCx6M2U9ZigoKT0+e0hwdCgpO1VRPXt9Lmhhc093blByb3BlcnR5LHFwdD17eWFtbDoiLSIsdG9tbDoiKyJ9O3MoUzgsInRvTWF0dGVycyIpO3MoTmthLCJtYXR0ZXIiKX0pO2Z1bmN0aW9uIF8zZShhKXtsZXQgZT1TOChhKSx0PXt9LHI9LTE7Zm9yKDsrK3I8ZS5sZW5ndGg7KXtsZXQgaT1lW3JdLG89QzNlKGksIm9wZW4iKS5jaGFyQ29kZUF0KDApLG49UmthKGkpLGw9dFtvXTtBcnJheS5pc0FycmF5KGwpP2wucHVzaChuKTp0W29dPVtuXX1yZXR1cm57Zmxvdzp0fX1mdW5jdGlvbiBSa2EoYSl7bGV0IGU9YS5hbnl3aGVyZSx0PWEudHlwZSxyPXQrIkZlbmNlIixpPXIrIlNlcXVlbmNlIixvPXQrIlZhbHVlIixuPXt0b2tlbml6ZTpwLHBhcnRpYWw6ITB9LGwsZD0wO3JldHVybnt0b2tlbml6ZTpjLGNvbmNyZXRlOiEwfTtmdW5jdGlvbiBjKHUsbSx2KXtsZXQgeD10aGlzO3JldHVybiBiO2Z1bmN0aW9uIGIoTyl7bGV0IFQ9eC5ub3coKTtyZXR1cm4gVC5jb2x1bW49PT0xJiYoVC5saW5lPT09MXx8ZSkmJihsPUMzZShhLCJvcGVuIiksZD0wLE89PT1sLmNoYXJDb2RlQXQoZCkpPyh1LmVudGVyKHQpLHUuZW50ZXIociksdS5lbnRlcihpKSxnKE8pKTp2KE8pfWZ1bmN0aW9uIGcoTyl7cmV0dXJuIGQ9PT1sLmxlbmd0aD8odS5leGl0KGkpLEN0KE8pPyh1LmVudGVyKCJ3aGl0ZXNwYWNlIikseShPKSk6ayhPKSk6Tz09PWwuY2hhckNvZGVBdChkKyspPyh1LmNvbnN1bWUoTyksZyk6dihPKX1mdW5jdGlvbiB5KE8pe3JldHVybiBDdChPKT8odS5jb25zdW1lKE8pLHkpOih1LmV4aXQoIndoaXRlc3BhY2UiKSxrKE8pKX1mdW5jdGlvbiBrKE8pe3JldHVybiBldChPKT8odS5leGl0KHIpLHUuZW50ZXIoImxpbmVFbmRpbmciKSx1LmNvbnN1bWUoTyksdS5leGl0KCJsaW5lRW5kaW5nIiksbD1DM2UoYSwiY2xvc2UiKSxkPTAsdS5hdHRlbXB0KG4seixDKSk6dihPKX1mdW5jdGlvbiBDKE8pe3JldHVybiBPPT09bnVsbHx8ZXQoTyk/XyhPKToodS5lbnRlcihvKSxOKE8pKX1mdW5jdGlvbiBOKE8pe3JldHVybiBPPT09bnVsbHx8ZXQoTyk/KHUuZXhpdChvKSxfKE8pKToodS5jb25zdW1lKE8pLE4pfWZ1bmN0aW9uIF8oTyl7cmV0dXJuIE89PT1udWxsP3YoTyk6KHUuZW50ZXIoImxpbmVFbmRpbmciKSx1LmNvbnN1bWUoTyksdS5leGl0KCJsaW5lRW5kaW5nIiksdS5hdHRlbXB0KG4seixDKSl9ZnVuY3Rpb24geihPKXtyZXR1cm4gdS5leGl0KHQpLG0oTyl9fWZ1bmN0aW9uIHAodSxtLHYpe2xldCB4PTA7cmV0dXJuIGI7ZnVuY3Rpb24gYihDKXtyZXR1cm4gQz09PWwuY2hhckNvZGVBdCh4KT8odS5lbnRlcihyKSx1LmVudGVyKGkpLGcoQykpOnYoQyl9ZnVuY3Rpb24gZyhDKXtyZXR1cm4geD09PWwubGVuZ3RoPyh1LmV4aXQoaSksQ3QoQyk/KHUuZW50ZXIoIndoaXRlc3BhY2UiKSx5KEMpKTprKEMpKTpDPT09bC5jaGFyQ29kZUF0KHgrKyk/KHUuY29uc3VtZShDKSxnKTp2KEMpfWZ1bmN0aW9uIHkoQyl7cmV0dXJuIEN0KEMpPyh1LmNvbnN1bWUoQykseSk6KHUuZXhpdCgid2hpdGVzcGFjZSIpLGsoQykpfWZ1bmN0aW9uIGsoQyl7cmV0dXJuIEM9PT1udWxsfHxldChDKT8odS5leGl0KHIpLG0oQykpOnYoQyl9fX1mdW5jdGlvbiBDM2UoYSxlKXtyZXR1cm4gYS5tYXJrZXI/VnB0KGEubWFya2VyLGUpLnJlcGVhdCgzKTpWcHQoYS5mZW5jZSxlKX1mdW5jdGlvbiBWcHQoYSxlKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmciP2E6YVtlXX12YXIganB0PWYoKCk9PntiYSgpO3ozZSgpO3MoXzNlLCJmcm9udG1hdHRlciIpO3MoUmthLCJjcmVhdGVDb25zdHJ1Y3QiKTtzKEMzZSwiZmVuY2UiKTtzKFZwdCwicGljayIpfSk7dmFyIFVwdD1mKCgpPT57fSk7dmFyIFQzZT1mKCgpPT57anB0KCk7VXB0KCk7ejNlKCl9KTtmdW5jdGlvbiAkM2UoYSl7bGV0IGU9UzgoYSksdD17fSxyPXt9LGk9LTE7Zm9yKDsrK2k8ZS5sZW5ndGg7KXtsZXQgbz1lW2ldO3Rbby50eXBlXT1Pa2EobykscltvLnR5cGVdPUZrYSxyW28udHlwZSsiVmFsdWUiXT1Ca2F9cmV0dXJue2VudGVyOnQsZXhpdDpyfX1mdW5jdGlvbiBPa2EoYSl7cmV0dXJuIGU7ZnVuY3Rpb24gZSh0KXt0aGlzLmVudGVyKHt0eXBlOmEudHlwZSx2YWx1ZToiIn0sdCksdGhpcy5idWZmZXIoKX19ZnVuY3Rpb24gRmthKGEpe2xldCBlPXRoaXMucmVzdW1lKCksdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdOyJ2YWx1ZSJpbiB0LHRoaXMuZXhpdChhKSx0LnZhbHVlPWUucmVwbGFjZSgvXihccj9cbnxccil8KFxyP1xufFxyKSQvZywiIil9ZnVuY3Rpb24gQmthKGEpe3RoaXMuY29uZmlnLmVudGVyLmRhdGEuY2FsbCh0aGlzLGEpLHRoaXMuY29uZmlnLmV4aXQuZGF0YS5jYWxsKHRoaXMsYSl9ZnVuY3Rpb24gRDNlKGEpe2xldCBlPVtdLHQ9e30scj1TOChhKSxpPS0xO2Zvcig7KytpPHIubGVuZ3RoOyl7bGV0IG89cltpXTt0W28udHlwZV09SGthKG8pO2xldCBuPUwzZShvLCJvcGVuIik7ZS5wdXNoKHthdEJyZWFrOiEwLGNoYXJhY3RlcjpuLmNoYXJBdCgwKSxhZnRlcjpsMyhuLmNoYXJBdCgxKSl9KX1yZXR1cm57dW5zYWZlOmUsaGFuZGxlcnM6dH19ZnVuY3Rpb24gSGthKGEpe2xldCBlPUwzZShhLCJvcGVuIiksdD1MM2UoYSwiY2xvc2UiKTtyZXR1cm4gcjtmdW5jdGlvbiByKGkpe3JldHVybiBlKyhpLnZhbHVlP2AKYCtpLnZhbHVlOiIiKStgCmArdH19ZnVuY3Rpb24gTDNlKGEsZSl7cmV0dXJuIGEubWFya2VyP1dwdChhLm1hcmtlcixlKS5yZXBlYXQoMyk6V3B0KGEuZmVuY2UsZSl9ZnVuY3Rpb24gV3B0KGEsZSl7cmV0dXJuIHR5cGVvZiBhPT0ic3RyaW5nIj9hOmFbZV19dmFyIEdwdD1mKCgpPT57TjAoKTtUM2UoKTtVWSgpO3MoJDNlLCJmcm9udG1hdHRlckZyb21NYXJrZG93biIpO3MoT2thLCJvcGVuZXIiKTtzKEZrYSwiY2xvc2UiKTtzKEJrYSwidmFsdWUiKTtzKEQzZSwiZnJvbnRtYXR0ZXJUb01hcmtkb3duIik7cyhIa2EsImhhbmRsZXIiKTtzKEwzZSwiZmVuY2UiKTtzKFdwdCwicGljayIpfSk7dmFyIFlwdD1mKCgpPT57R3B0KCl9KTtmdW5jdGlvbiB6OChhKXtsZXQgZT10aGlzLHQ9YXx8cWthLHI9ZS5kYXRhKCksaT1yLm1pY3JvbWFya0V4dGVuc2lvbnN8fChyLm1pY3JvbWFya0V4dGVuc2lvbnM9W10pLG89ci5mcm9tTWFya2Rvd25FeHRlbnNpb25zfHwoci5mcm9tTWFya2Rvd25FeHRlbnNpb25zPVtdKSxuPXIudG9NYXJrZG93bkV4dGVuc2lvbnN8fChyLnRvTWFya2Rvd25FeHRlbnNpb25zPVtdKTtpLnB1c2goXzNlKHQpKSxvLnB1c2goJDNlKHQpKSxuLnB1c2goRDNlKHQpKX12YXIgcWthLEtwdD1mKCgpPT57WXB0KCk7VDNlKCk7cWthPSJ5YW1sIjtzKHo4LCJyZW1hcmtGcm9udG1hdHRlciIpfSk7dmFyIFpwdD1mKCgpPT57S3B0KCl9KTt2YXIgQTNlPWYoKCk9Pnt9KTt2YXIgVmthLFhwdCxqa2EsWlEsUXB0PWYoKCk9PntBM2UoKTtWa2E9dHlwZW9mIHNlbGY9PSJvYmplY3QiP3NlbGY6Z2xvYmFsVGhpcyxYcHQ9cygoYSxlKT0+e3N3aXRjaChhKXtjYXNlIkZ1bmN0aW9uIjpjYXNlIlNoYXJlZFdvcmtlciI6Y2FzZSJXb3JrZXIiOmNhc2UiZXZhbCI6Y2FzZSJzZXRJbnRlcnZhbCI6Y2FzZSJzZXRUaW1lb3V0Ijp0aHJvdyBuZXcgVHlwZUVycm9yKCJ1bmFibGUgdG8gZGVzZXJpYWxpemUgIithKX1yZXR1cm4gbmV3IFZrYVthXShlKX0sImd1YXJkIiksamthPXMoKGEsZSk9PntsZXQgdD1zKChpLG8pPT4oYS5zZXQobyxpKSxpKSwiYXMiKSxyPXMoaT0+e2lmKGEuaGFzKGkpKXJldHVybiBhLmdldChpKTtsZXRbbyxuXT1lW2ldO3N3aXRjaChvKXtjYXNlIDA6Y2FzZS0xOnJldHVybiB0KG4saSk7Y2FzZSAxOntsZXQgbD10KFtdLGkpO2ZvcihsZXQgZCBvZiBuKWwucHVzaChyKGQpKTtyZXR1cm4gbH1jYXNlIDI6e2xldCBsPXQoe30saSk7Zm9yKGxldFtkLGNdb2YgbilsW3IoZCldPXIoYyk7cmV0dXJuIGx9Y2FzZSAzOnJldHVybiB0KG5ldyBEYXRlKG4pLGkpO2Nhc2UgNDp7bGV0e3NvdXJjZTpsLGZsYWdzOmR9PW47cmV0dXJuIHQobmV3IFJlZ0V4cChsLGQpLGkpfWNhc2UgNTp7bGV0IGw9dChuZXcgTWFwLGkpO2ZvcihsZXRbZCxjXW9mIG4pbC5zZXQocihkKSxyKGMpKTtyZXR1cm4gbH1jYXNlIDY6e2xldCBsPXQobmV3IFNldCxpKTtmb3IobGV0IGQgb2YgbilsLmFkZChyKGQpKTtyZXR1cm4gbH1jYXNlIDc6e2xldHtuYW1lOmwsbWVzc2FnZTpkfT1uO3JldHVybiB0KFhwdChsLGQpLGkpfWNhc2UgODpyZXR1cm4gdChCaWdJbnQobiksaSk7Y2FzZSJCaWdJbnQiOnJldHVybiB0KE9iamVjdChCaWdJbnQobikpLGkpO2Nhc2UiQXJyYXlCdWZmZXIiOnJldHVybiB0KG5ldyBVaW50OEFycmF5KG4pLmJ1ZmZlcixuKTtjYXNlIkRhdGFWaWV3Ijp7bGV0e2J1ZmZlcjpsfT1uZXcgVWludDhBcnJheShuKTtyZXR1cm4gdChuZXcgRGF0YVZpZXcobCksbil9fXJldHVybiB0KFhwdChvLG4pLGkpfSwidW5wYWlyIik7cmV0dXJuIHJ9LCJkZXNlcmlhbGl6ZXIiKSxaUT1zKGE9PmprYShuZXcgTWFwLGEpKDApLCJkZXNlcmlhbGl6ZSIpfSk7dmFyIF84LFVrYSxXa2EscmIsWFEsR2thLFFRLEpwdD1mKCgpPT57QTNlKCk7Xzg9IiIse3RvU3RyaW5nOlVrYX09e30se2tleXM6V2thfT1PYmplY3QscmI9cyhhPT57bGV0IGU9dHlwZW9mIGE7aWYoZSE9PSJvYmplY3QifHwhYSlyZXR1cm5bMCxlXTtsZXQgdD1Va2EuY2FsbChhKS5zbGljZSg4LC0xKTtzd2l0Y2godCl7Y2FzZSJBcnJheSI6cmV0dXJuWzEsXzhdO2Nhc2UiT2JqZWN0IjpyZXR1cm5bMixfOF07Y2FzZSJEYXRlIjpyZXR1cm5bMyxfOF07Y2FzZSJSZWdFeHAiOnJldHVybls0LF84XTtjYXNlIk1hcCI6cmV0dXJuWzUsXzhdO2Nhc2UiU2V0IjpyZXR1cm5bNixfOF07Y2FzZSJEYXRhVmlldyI6cmV0dXJuWzEsdF19cmV0dXJuIHQuaW5jbHVkZXMoIkFycmF5Iik/WzEsdF06dC5pbmNsdWRlcygiRXJyb3IiKT9bNyx0XTpbMix0XX0sInR5cGVPZiIpLFhRPXMoKFthLGVdKT0+YT09PTAmJihlPT09ImZ1bmN0aW9uInx8ZT09PSJzeW1ib2wiKSwic2hvdWxkU2tpcCIpLEdrYT1zKChhLGUsdCxyKT0+e2xldCBpPXMoKG4sbCk9PntsZXQgZD1yLnB1c2gobiktMTtyZXR1cm4gdC5zZXQobCxkKSxkfSwiYXMiKSxvPXMobj0+e2lmKHQuaGFzKG4pKXJldHVybiB0LmdldChuKTtsZXRbbCxkXT1yYihuKTtzd2l0Y2gobCl7Y2FzZSAwOntsZXQgcD1uO3N3aXRjaChkKXtjYXNlImJpZ2ludCI6bD04LHA9bi50b1N0cmluZygpO2JyZWFrO2Nhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjppZihhKXRocm93IG5ldyBUeXBlRXJyb3IoInVuYWJsZSB0byBzZXJpYWxpemUgIitkKTtwPW51bGw7YnJlYWs7Y2FzZSJ1bmRlZmluZWQiOnJldHVybiBpKFstMV0sbil9cmV0dXJuIGkoW2wscF0sbil9Y2FzZSAxOntpZihkKXtsZXQgbT1uO3JldHVybiBkPT09IkRhdGFWaWV3Ij9tPW5ldyBVaW50OEFycmF5KG4uYnVmZmVyKTpkPT09IkFycmF5QnVmZmVyIiYmKG09bmV3IFVpbnQ4QXJyYXkobikpLGkoW2QsWy4uLm1dXSxuKX1sZXQgcD1bXSx1PWkoW2wscF0sbik7Zm9yKGxldCBtIG9mIG4pcC5wdXNoKG8obSkpO3JldHVybiB1fWNhc2UgMjp7aWYoZClzd2l0Y2goZCl7Y2FzZSJCaWdJbnQiOnJldHVybiBpKFtkLG4udG9TdHJpbmcoKV0sbik7Y2FzZSJCb29sZWFuIjpjYXNlIk51bWJlciI6Y2FzZSJTdHJpbmciOnJldHVybiBpKFtkLG4udmFsdWVPZigpXSxuKX1pZihlJiYidG9KU09OImluIG4pcmV0dXJuIG8obi50b0pTT04oKSk7bGV0IHA9W10sdT1pKFtsLHBdLG4pO2ZvcihsZXQgbSBvZiBXa2EobikpKGF8fCFYUShyYihuW21dKSkpJiZwLnB1c2goW28obSksbyhuW21dKV0pO3JldHVybiB1fWNhc2UgMzpyZXR1cm4gaShbbCxuLnRvSVNPU3RyaW5nKCldLG4pO2Nhc2UgNDp7bGV0e3NvdXJjZTpwLGZsYWdzOnV9PW47cmV0dXJuIGkoW2wse3NvdXJjZTpwLGZsYWdzOnV9XSxuKX1jYXNlIDU6e2xldCBwPVtdLHU9aShbbCxwXSxuKTtmb3IobGV0W20sdl1vZiBuKShhfHwhKFhRKHJiKG0pKXx8WFEocmIodikpKSkmJnAucHVzaChbbyhtKSxvKHYpXSk7cmV0dXJuIHV9Y2FzZSA2OntsZXQgcD1bXSx1PWkoW2wscF0sbik7Zm9yKGxldCBtIG9mIG4pKGF8fCFYUShyYihtKSkpJiZwLnB1c2gobyhtKSk7cmV0dXJuIHV9fWxldHttZXNzYWdlOmN9PW47cmV0dXJuIGkoW2wse25hbWU6ZCxtZXNzYWdlOmN9XSxuKX0sInBhaXIiKTtyZXR1cm4gb30sInNlcmlhbGl6ZXIiKSxRUT1zKChhLHtqc29uOmUsbG9zc3k6dH09e30pPT57bGV0IHI9W107cmV0dXJuIEdrYSghKGV8fHQpLCEhZSxuZXcgTWFwLHIpKGEpLHJ9LCJzZXJpYWxpemUiKX0pO3ZhciBWMCxKUT1mKCgpPT57UXB0KCk7SnB0KCk7VjA9dHlwZW9mIHN0cnVjdHVyZWRDbG9uZT09ImZ1bmN0aW9uIj8oYSxlKT0+ZSYmKCJqc29uImluIGV8fCJsb3NzeSJpbiBlKT9aUShRUShhLGUpKTpzdHJ1Y3R1cmVkQ2xvbmUoYSk6KGEsZSk9PlpRKFFRKGEsZSkpfSk7ZnVuY3Rpb24gZWZ0KGEpe3JldHVybiBlO2Z1bmN0aW9uIGUodCl7bGV0IHI9dCYmdC5wb3NpdGlvbiYmdC5wb3NpdGlvblthXXx8e307aWYodHlwZW9mIHIubGluZT09Im51bWJlciImJnIubGluZT4wJiZ0eXBlb2Ygci5jb2x1bW49PSJudW1iZXIiJiZyLmNvbHVtbj4wKXJldHVybntsaW5lOnIubGluZSxjb2x1bW46ci5jb2x1bW4sb2Zmc2V0OnR5cGVvZiByLm9mZnNldD09Im51bWJlciImJnIub2Zmc2V0Pi0xP3Iub2Zmc2V0OnZvaWQgMH19fWZ1bmN0aW9uIHNiKGEpe2xldCBlPXRKKGEpLHQ9ZUooYSk7aWYoZSYmdClyZXR1cm57c3RhcnQ6ZSxlbmQ6dH19dmFyIGVKLHRKLHRmdD1mKCgpPT57ZUo9ZWZ0KCJlbmQiKSx0Sj1lZnQoInN0YXJ0Iik7cyhlZnQsInBvaW50Iik7cyhzYiwicG9zaXRpb24iKX0pO3ZhciBhSj1mKCgpPT57dGZ0KCl9KTt2YXIgWjMsckosTjNlPWYoKCk9PntaMz1bImFyaWFEZXNjcmliZWRCeSIsImFyaWFMYWJlbCIsImFyaWFMYWJlbGxlZEJ5Il0scko9e2FuY2VzdG9yczp7dGJvZHk6WyJ0YWJsZSJdLHRkOlsidGFibGUiXSx0aDpbInRhYmxlIl0sdGhlYWQ6WyJ0YWJsZSJdLHRmb290OlsidGFibGUiXSx0cjpbInRhYmxlIl19LGF0dHJpYnV0ZXM6e2E6Wy4uLlozLCJkYXRhRm9vdG5vdGVCYWNrcmVmIiwiZGF0YUZvb3Rub3RlUmVmIixbImNsYXNzTmFtZSIsImRhdGEtZm9vdG5vdGUtYmFja3JlZiJdLCJocmVmIl0sYmxvY2txdW90ZTpbImNpdGUiXSxjb2RlOltbImNsYXNzTmFtZSIsL15sYW5ndWFnZS0uL11dLGRlbDpbImNpdGUiXSxkaXY6WyJpdGVtU2NvcGUiLCJpdGVtVHlwZSJdLGRsOlsuLi5aM10saDI6W1siY2xhc3NOYW1lIiwic3Itb25seSJdXSxpbWc6Wy4uLlozLCJsb25nRGVzYyIsInNyYyJdLGlucHV0OltbImRpc2FibGVkIiwhMF0sWyJ0eXBlIiwiY2hlY2tib3giXV0saW5zOlsiY2l0ZSJdLGxpOltbImNsYXNzTmFtZSIsInRhc2stbGlzdC1pdGVtIl1dLG9sOlsuLi5aMyxbImNsYXNzTmFtZSIsImNvbnRhaW5zLXRhc2stbGlzdCJdXSxxOlsiY2l0ZSJdLHNlY3Rpb246WyJkYXRhRm9vdG5vdGVzIixbImNsYXNzTmFtZSIsImZvb3Rub3RlcyJdXSxzb3VyY2U6WyJzcmNTZXQiXSxzdW1tYXJ5OlsuLi5aM10sdGFibGU6Wy4uLlozXSx1bDpbLi4uWjMsWyJjbGFzc05hbWUiLCJjb250YWlucy10YXNrLWxpc3QiXV0sIioiOlsiYWJiciIsImFjY2VwdCIsImFjY2VwdENoYXJzZXQiLCJhY2Nlc3NLZXkiLCJhY3Rpb24iLCJhbGlnbiIsImFsdCIsImF4aXMiLCJib3JkZXIiLCJjZWxsUGFkZGluZyIsImNlbGxTcGFjaW5nIiwiY2hhciIsImNoYXJPZmYiLCJjaGFyU2V0IiwiY2hlY2tlZCIsImNsZWFyIiwiY29sU3BhbiIsImNvbG9yIiwiY29scyIsImNvbXBhY3QiLCJjb29yZHMiLCJkYXRlVGltZSIsImRpciIsImVuY1R5cGUiLCJmcmFtZSIsImhTcGFjZSIsImhlYWRlcnMiLCJoZWlnaHQiLCJocmVmTGFuZyIsImh0bWxGb3IiLCJpZCIsImlzTWFwIiwiaXRlbVByb3AiLCJsYWJlbCIsImxhbmciLCJtYXhMZW5ndGgiLCJtZWRpYSIsIm1ldGhvZCIsIm11bHRpcGxlIiwibmFtZSIsIm5vSHJlZiIsIm5vU2hhZGUiLCJub1dyYXAiLCJvcGVuIiwicHJvbXB0IiwicmVhZE9ubHkiLCJyZXYiLCJyb3dTcGFuIiwicm93cyIsInJ1bGVzIiwic2NvcGUiLCJzZWxlY3RlZCIsInNoYXBlIiwic2l6ZSIsInNwYW4iLCJzdGFydCIsInN1bW1hcnkiLCJ0YWJJbmRleCIsInRpdGxlIiwidXNlTWFwIiwidkFsaWduIiwidmFsdWUiLCJ3aWR0aCJdfSxjbG9iYmVyOlsiYXJpYURlc2NyaWJlZEJ5IiwiYXJpYUxhYmVsbGVkQnkiLCJpZCIsIm5hbWUiXSxjbG9iYmVyUHJlZml4OiJ1c2VyLWNvbnRlbnQtIixwcm90b2NvbHM6e2NpdGU6WyJodHRwIiwiaHR0cHMiXSxocmVmOlsiaHR0cCIsImh0dHBzIiwiaXJjIiwiaXJjcyIsIm1haWx0byIsInhtcHAiXSxsb25nRGVzYzpbImh0dHAiLCJodHRwcyJdLHNyYzpbImh0dHAiLCJodHRwcyJdfSxyZXF1aXJlZDp7aW5wdXQ6e2Rpc2FibGVkOiEwLHR5cGU6ImNoZWNrYm94In19LHN0cmlwOlsic2NyaXB0Il0sdGFnTmFtZXM6WyJhIiwiYiIsImJsb2NrcXVvdGUiLCJiciIsImNvZGUiLCJkZCIsImRlbCIsImRldGFpbHMiLCJkaXYiLCJkbCIsImR0IiwiZW0iLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJociIsImkiLCJpbWciLCJpbnB1dCIsImlucyIsImtiZCIsImxpIiwib2wiLCJwIiwicGljdHVyZSIsInByZSIsInEiLCJycCIsInJ0IiwicnVieSIsInMiLCJzYW1wIiwic2VjdGlvbiIsInNvdXJjZSIsInNwYW4iLCJzdHJpa2UiLCJzdHJvbmciLCJzdWIiLCJzdW1tYXJ5Iiwic3VwIiwidGFibGUiLCJ0Ym9keSIsInRkIiwidGZvb3QiLCJ0aCIsInRoZWFkIiwidHIiLCJ0dCIsInVsIiwidmFyIl19fSk7ZnVuY3Rpb24gUjNlKGEsZSl7bGV0IHQ9e3R5cGU6InJvb3QiLGNoaWxkcmVuOltdfSxyPXtzY2hlbWE6ZT97Li4uckosLi4uZX06ckosc3RhY2s6W119LGk9YWZ0KHIsYSk7cmV0dXJuIGkmJihBcnJheS5pc0FycmF5KGkpP2kubGVuZ3RoPT09MT90PWlbMF06dC5jaGlsZHJlbj1pOnQ9aSksdH1mdW5jdGlvbiBhZnQoYSxlKXtpZihlJiZ0eXBlb2YgZT09Im9iamVjdCIpe2xldCB0PWU7c3dpdGNoKHR5cGVvZiB0LnR5cGU9PSJzdHJpbmciP3QudHlwZToiIil7Y2FzZSJjb21tZW50IjpyZXR1cm4gWWthKGEsdCk7Y2FzZSJkb2N0eXBlIjpyZXR1cm4gS2thKGEsdCk7Y2FzZSJlbGVtZW50IjpyZXR1cm4gWmthKGEsdCk7Y2FzZSJyb290IjpyZXR1cm4gWGthKGEsdCk7Y2FzZSJ0ZXh0IjpyZXR1cm4gUWthKGEsdCk7ZGVmYXVsdDp9fX1mdW5jdGlvbiBZa2EoYSxlKXtpZihhLnNjaGVtYS5hbGxvd0NvbW1lbnRzKXtsZXQgdD10eXBlb2YgZS52YWx1ZT09InN0cmluZyI/ZS52YWx1ZToiIixyPXQuaW5kZXhPZigiLS0+Iiksbz17dHlwZToiY29tbWVudCIsdmFsdWU6cjwwP3Q6dC5zbGljZSgwLHIpfTtyZXR1cm4gaWIobyxlKSxvfX1mdW5jdGlvbiBLa2EoYSxlKXtpZihhLnNjaGVtYS5hbGxvd0RvY3R5cGVzKXtsZXQgdD17dHlwZToiZG9jdHlwZSJ9O3JldHVybiBpYih0LGUpLHR9fWZ1bmN0aW9uIFprYShhLGUpe2xldCB0PXR5cGVvZiBlLnRhZ05hbWU9PSJzdHJpbmciP2UudGFnTmFtZToiIjthLnN0YWNrLnB1c2godCk7bGV0IHI9cmZ0KGEsZS5jaGlsZHJlbiksaT1Ka2EoYSxlLnByb3BlcnRpZXMpO2Euc3RhY2sucG9wKCk7bGV0IG89ITE7aWYodCYmdCE9PSIqIiYmKCFhLnNjaGVtYS50YWdOYW1lc3x8YS5zY2hlbWEudGFnTmFtZXMuaW5jbHVkZXModCkpJiYobz0hMCxhLnNjaGVtYS5hbmNlc3RvcnMmJmowLmNhbGwoYS5zY2hlbWEuYW5jZXN0b3JzLHQpKSl7bGV0IGw9YS5zY2hlbWEuYW5jZXN0b3JzW3RdLGQ9LTE7Zm9yKG89ITE7KytkPGwubGVuZ3RoOylhLnN0YWNrLmluY2x1ZGVzKGxbZF0pJiYobz0hMCl9aWYoIW8pcmV0dXJuIGEuc2NoZW1hLnN0cmlwJiYhYS5zY2hlbWEuc3RyaXAuaW5jbHVkZXModCk/cjp2b2lkIDA7bGV0IG49e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6dCxwcm9wZXJ0aWVzOmksY2hpbGRyZW46cn07cmV0dXJuIGliKG4sZSksbn1mdW5jdGlvbiBYa2EoYSxlKXtsZXQgcj17dHlwZToicm9vdCIsY2hpbGRyZW46cmZ0KGEsZS5jaGlsZHJlbil9O3JldHVybiBpYihyLGUpLHJ9ZnVuY3Rpb24gUWthKGEsZSl7bGV0IHI9e3R5cGU6InRleHQiLHZhbHVlOnR5cGVvZiBlLnZhbHVlPT0ic3RyaW5nIj9lLnZhbHVlOiIifTtyZXR1cm4gaWIocixlKSxyfWZ1bmN0aW9uIHJmdChhLGUpe2xldCB0PVtdO2lmKEFycmF5LmlzQXJyYXkoZSkpe2xldCByPWUsaT0tMTtmb3IoOysraTxyLmxlbmd0aDspe2xldCBvPWFmdChhLHJbaV0pO28mJihBcnJheS5pc0FycmF5KG8pP3QucHVzaCguLi5vKTp0LnB1c2gobykpfX1yZXR1cm4gdH1mdW5jdGlvbiBKa2EoYSxlKXtsZXQgdD1hLnN0YWNrW2Euc3RhY2subGVuZ3RoLTFdLHI9YS5zY2hlbWEuYXR0cmlidXRlcyxpPWEuc2NoZW1hLnJlcXVpcmVkLG89ciYmajAuY2FsbChyLHQpP3JbdF06dm9pZCAwLG49ciYmajAuY2FsbChyLCIqIik/clsiKiJdOnZvaWQgMCxsPWUmJnR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9LGQ9e30sYztmb3IoYyBpbiBsKWlmKGowLmNhbGwobCxjKSl7bGV0IHA9bFtjXSx1PXNmdChhLG9mdChvLGMpLGMscCk7dT09bnVsbCYmKHU9c2Z0KGEsb2Z0KG4sYyksYyxwKSksdSE9bnVsbCYmKGRbY109dSl9aWYoaSYmajAuY2FsbChpLHQpKXtsZXQgcD1pW3RdO2ZvcihjIGluIHApajAuY2FsbChwLGMpJiYhajAuY2FsbChkLGMpJiYoZFtjXT1wW2NdKX1yZXR1cm4gZH1mdW5jdGlvbiBzZnQoYSxlLHQscil7cmV0dXJuIGU/QXJyYXkuaXNBcnJheShyKT9lU2EoYSxlLHQscik6aWZ0KGEsZSx0LHIpOnZvaWQgMH1mdW5jdGlvbiBlU2EoYSxlLHQscil7bGV0IGk9LTEsbz1bXTtmb3IoOysraTxyLmxlbmd0aDspe2xldCBuPWlmdChhLGUsdCxyW2ldKTsodHlwZW9mIG49PSJudW1iZXIifHx0eXBlb2Ygbj09InN0cmluZyIpJiZvLnB1c2gobil9cmV0dXJuIG99ZnVuY3Rpb24gaWZ0KGEsZSx0LHIpe2lmKCEodHlwZW9mIHIhPSJib29sZWFuIiYmdHlwZW9mIHIhPSJudW1iZXIiJiZ0eXBlb2YgciE9InN0cmluZyIpJiZ0U2EoYSx0LHIpKXtpZih0eXBlb2YgZT09Im9iamVjdCImJmUubGVuZ3RoPjEpe2xldCBpPSExLG89MDtmb3IoOysrbzxlLmxlbmd0aDspe2xldCBuPWVbb107aWYobiYmdHlwZW9mIG49PSJvYmplY3QiJiYiZmxhZ3MiaW4gbil7aWYobi50ZXN0KFN0cmluZyhyKSkpe2k9ITA7YnJlYWt9fWVsc2UgaWYobj09PXIpe2k9ITA7YnJlYWt9fWlmKCFpKXJldHVybn1yZXR1cm4gYS5zY2hlbWEuY2xvYmJlciYmYS5zY2hlbWEuY2xvYmJlclByZWZpeCYmYS5zY2hlbWEuY2xvYmJlci5pbmNsdWRlcyh0KT9hLnNjaGVtYS5jbG9iYmVyUHJlZml4K3I6cn19ZnVuY3Rpb24gdFNhKGEsZSx0KXtsZXQgcj1hLnNjaGVtYS5wcm90b2NvbHMmJmowLmNhbGwoYS5zY2hlbWEucHJvdG9jb2xzLGUpP2Euc2NoZW1hLnByb3RvY29sc1tlXTp2b2lkIDA7aWYoIXJ8fHIubGVuZ3RoPT09MClyZXR1cm4hMDtsZXQgaT1TdHJpbmcodCksbz1pLmluZGV4T2YoIjoiKSxuPWkuaW5kZXhPZigiPyIpLGw9aS5pbmRleE9mKCIjIiksZD1pLmluZGV4T2YoIi8iKTtpZihvPDB8fGQ+LTEmJm8+ZHx8bj4tMSYmbz5ufHxsPi0xJiZvPmwpcmV0dXJuITA7bGV0IGM9LTE7Zm9yKDsrK2M8ci5sZW5ndGg7KXtsZXQgcD1yW2NdO2lmKG89PT1wLmxlbmd0aCYmaS5zbGljZSgwLHAubGVuZ3RoKT09PXApcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gaWIoYSxlKXtsZXQgdD1zYihlKTtlLmRhdGEmJihhLmRhdGE9VjAoZS5kYXRhKSksdCYmKGEucG9zaXRpb249dCl9ZnVuY3Rpb24gb2Z0KGEsZSl7bGV0IHQscj0tMTtpZihhKWZvcig7KytyPGEubGVuZ3RoOyl7bGV0IGk9YVtyXSxvPXR5cGVvZiBpPT0ic3RyaW5nIj9pOmlbMF07aWYobz09PWUpcmV0dXJuIGk7bz09PSJkYXRhKiImJih0PWkpfWlmKGUubGVuZ3RoPjQmJmUuc2xpY2UoMCw0KS50b0xvd2VyQ2FzZSgpPT09ImRhdGEiKXJldHVybiB0fXZhciBqMCxuZnQ9ZigoKT0+e0pRKCk7YUooKTtOM2UoKTtqMD17fS5oYXNPd25Qcm9wZXJ0eTtzKFIzZSwic2FuaXRpemUiKTtzKGFmdCwidHJhbnNmb3JtIik7cyhZa2EsImNvbW1lbnQiKTtzKEtrYSwiZG9jdHlwZSIpO3MoWmthLCJlbGVtZW50Iik7cyhYa2EsInJvb3QiKTtzKFFrYSwidGV4dCIpO3MocmZ0LCJjaGlsZHJlbiIpO3MoSmthLCJwcm9wZXJ0aWVzIik7cyhzZnQsInByb3BlcnR5VmFsdWUiKTtzKGVTYSwicHJvcGVydHlWYWx1ZU1hbnkiKTtzKGlmdCwicHJvcGVydHlWYWx1ZVByaW1pdGl2ZSIpO3ModFNhLCJzYWZlUHJvdG9jb2wiKTtzKGliLCJwYXRjaCIpO3Mob2Z0LCJmaW5kRGVmaW5pdGlvbiIpfSk7dmFyIGxmdD1mKCgpPT57bmZ0KCk7TjNlKCl9KTtmdW5jdGlvbiBjZnQoYSxlKXtsZXQgdD17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiYmxvY2txdW90ZSIscHJvcGVydGllczp7fSxjaGlsZHJlbjphLndyYXAoYS5hbGwoZSksITApfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIGRmdD1mKCgpPT57cyhjZnQsImJsb2NrcXVvdGUiKX0pO2Z1bmN0aW9uIHVmdChhLGUpe2xldCB0PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJiciIscHJvcGVydGllczp7fSxjaGlsZHJlbjpbXX07cmV0dXJuIGEucGF0Y2goZSx0KSxbYS5hcHBseURhdGEoZSx0KSx7dHlwZToidGV4dCIsdmFsdWU6YApgfV19dmFyIHBmdD1mKCgpPT57cyh1ZnQsImhhcmRCcmVhayIpfSk7ZnVuY3Rpb24gZmZ0KGEsZSl7bGV0IHQ9ZS52YWx1ZT9lLnZhbHVlK2AKYDoiIixyPXt9LGk9ZS5sYW5nP2UubGFuZy5zcGxpdCgvXHMrLyk6W107aS5sZW5ndGg+MCYmKHIuY2xhc3NOYW1lPVsibGFuZ3VhZ2UtIitpWzBdXSk7bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImNvZGUiLHByb3BlcnRpZXM6cixjaGlsZHJlbjpbe3R5cGU6InRleHQiLHZhbHVlOnR9XX07cmV0dXJuIGUubWV0YSYmKG8uZGF0YT17bWV0YTplLm1ldGF9KSxhLnBhdGNoKGUsbyksbz1hLmFwcGx5RGF0YShlLG8pLG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InByZSIscHJvcGVydGllczp7fSxjaGlsZHJlbjpbb119LGEucGF0Y2goZSxvKSxvfXZhciBoZnQ9ZigoKT0+e3MoZmZ0LCJjb2RlIil9KTtmdW5jdGlvbiBtZnQoYSxlKXtsZXQgdD17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiZGVsIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEuYWxsKGUpfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIGdmdD1mKCgpPT57cyhtZnQsInN0cmlrZXRocm91Z2giKX0pO2Z1bmN0aW9uIGJmdChhLGUpe2xldCB0PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJlbSIscHJvcGVydGllczp7fSxjaGlsZHJlbjphLmFsbChlKX07cmV0dXJuIGEucGF0Y2goZSx0KSxhLmFwcGx5RGF0YShlLHQpfXZhciB2ZnQ9ZigoKT0+e3MoYmZ0LCJlbXBoYXNpcyIpfSk7ZnVuY3Rpb24geGZ0KGEsZSl7bGV0IHQ9dHlwZW9mIGEub3B0aW9ucy5jbG9iYmVyUHJlZml4PT0ic3RyaW5nIj9hLm9wdGlvbnMuY2xvYmJlclByZWZpeDoidXNlci1jb250ZW50LSIscj1TdHJpbmcoZS5pZGVudGlmaWVyKS50b1VwcGVyQ2FzZSgpLGk9WG8oci50b0xvd2VyQ2FzZSgpKSxvPWEuZm9vdG5vdGVPcmRlci5pbmRleE9mKHIpLG4sbD1hLmZvb3Rub3RlQ291bnRzLmdldChyKTtsPT09dm9pZCAwPyhsPTAsYS5mb290bm90ZU9yZGVyLnB1c2gociksbj1hLmZvb3Rub3RlT3JkZXIubGVuZ3RoKTpuPW8rMSxsKz0xLGEuZm9vdG5vdGVDb3VudHMuc2V0KHIsbCk7bGV0IGQ9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImEiLHByb3BlcnRpZXM6e2hyZWY6IiMiK3QrImZuLSIraSxpZDp0KyJmbnJlZi0iK2krKGw+MT8iLSIrbDoiIiksZGF0YUZvb3Rub3RlUmVmOiEwLGFyaWFEZXNjcmliZWRCeTpbImZvb3Rub3RlLWxhYmVsIl19LGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6U3RyaW5nKG4pfV19O2EucGF0Y2goZSxkKTtsZXQgYz17dHlwZToiZWxlbWVudCIsdGFnTmFtZToic3VwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltkXX07cmV0dXJuIGEucGF0Y2goZSxjKSxhLmFwcGx5RGF0YShlLGMpfXZhciB5ZnQ9ZigoKT0+e04yKCk7cyh4ZnQsImZvb3Rub3RlUmVmZXJlbmNlIil9KTtmdW5jdGlvbiB3ZnQoYSxlKXtsZXQgdD17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiaCIrZS5kZXB0aCxwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEuYWxsKGUpfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIE1mdD1mKCgpPT57cyh3ZnQsImhlYWRpbmciKX0pO2Z1bmN0aW9uIGtmdChhLGUpe2lmKGEub3B0aW9ucy5hbGxvd0Rhbmdlcm91c0h0bWwpe2xldCB0PXt0eXBlOiJyYXciLHZhbHVlOmUudmFsdWV9O3JldHVybiBhLnBhdGNoKGUsdCksYS5hcHBseURhdGEoZSx0KX19dmFyIFNmdD1mKCgpPT57cyhrZnQsImh0bWwiKX0pO2Z1bmN0aW9uIHNKKGEsZSl7bGV0IHQ9ZS5yZWZlcmVuY2VUeXBlLHI9Il0iO2lmKHQ9PT0iY29sbGFwc2VkIj9yKz0iW10iOnQ9PT0iZnVsbCImJihyKz0iWyIrKGUubGFiZWx8fGUuaWRlbnRpZmllcikrIl0iKSxlLnR5cGU9PT0iaW1hZ2VSZWZlcmVuY2UiKXJldHVyblt7dHlwZToidGV4dCIsdmFsdWU6IiFbIitlLmFsdCtyfV07bGV0IGk9YS5hbGwoZSksbz1pWzBdO28mJm8udHlwZT09PSJ0ZXh0Ij9vLnZhbHVlPSJbIitvLnZhbHVlOmkudW5zaGlmdCh7dHlwZToidGV4dCIsdmFsdWU6IlsifSk7bGV0IG49aVtpLmxlbmd0aC0xXTtyZXR1cm4gbiYmbi50eXBlPT09InRleHQiP24udmFsdWUrPXI6aS5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpyfSksaX12YXIgTzNlPWYoKCk9PntzKHNKLCJyZXZlcnQiKX0pO2Z1bmN0aW9uIHpmdChhLGUpe2xldCB0PVN0cmluZyhlLmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCkscj1hLmRlZmluaXRpb25CeUlkLmdldCh0KTtpZighcilyZXR1cm4gc0ooYSxlKTtsZXQgaT17c3JjOlhvKHIudXJsfHwiIiksYWx0OmUuYWx0fTtyLnRpdGxlIT09bnVsbCYmci50aXRsZSE9PXZvaWQgMCYmKGkudGl0bGU9ci50aXRsZSk7bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImltZyIscHJvcGVydGllczppLGNoaWxkcmVuOltdfTtyZXR1cm4gYS5wYXRjaChlLG8pLGEuYXBwbHlEYXRhKGUsbyl9dmFyIENmdD1mKCgpPT57TjIoKTtPM2UoKTtzKHpmdCwiaW1hZ2VSZWZlcmVuY2UiKX0pO2Z1bmN0aW9uIF9mdChhLGUpe2xldCB0PXtzcmM6WG8oZS51cmwpfTtlLmFsdCE9PW51bGwmJmUuYWx0IT09dm9pZCAwJiYodC5hbHQ9ZS5hbHQpLGUudGl0bGUhPT1udWxsJiZlLnRpdGxlIT09dm9pZCAwJiYodC50aXRsZT1lLnRpdGxlKTtsZXQgcj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiaW1nIixwcm9wZXJ0aWVzOnQsY2hpbGRyZW46W119O3JldHVybiBhLnBhdGNoKGUsciksYS5hcHBseURhdGEoZSxyKX12YXIgVGZ0PWYoKCk9PntOMigpO3MoX2Z0LCJpbWFnZSIpfSk7ZnVuY3Rpb24gTGZ0KGEsZSl7bGV0IHQ9e3R5cGU6InRleHQiLHZhbHVlOmUudmFsdWUucmVwbGFjZSgvXHI/XG58XHIvZywiICIpfTthLnBhdGNoKGUsdCk7bGV0IHI9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImNvZGUiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46W3RdfTtyZXR1cm4gYS5wYXRjaChlLHIpLGEuYXBwbHlEYXRhKGUscil9dmFyICRmdD1mKCgpPT57cyhMZnQsImlubGluZUNvZGUiKX0pO2Z1bmN0aW9uIERmdChhLGUpe2xldCB0PVN0cmluZyhlLmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCkscj1hLmRlZmluaXRpb25CeUlkLmdldCh0KTtpZighcilyZXR1cm4gc0ooYSxlKTtsZXQgaT17aHJlZjpYbyhyLnVybHx8IiIpfTtyLnRpdGxlIT09bnVsbCYmci50aXRsZSE9PXZvaWQgMCYmKGkudGl0bGU9ci50aXRsZSk7bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImEiLHByb3BlcnRpZXM6aSxjaGlsZHJlbjphLmFsbChlKX07cmV0dXJuIGEucGF0Y2goZSxvKSxhLmFwcGx5RGF0YShlLG8pfXZhciBBZnQ9ZigoKT0+e04yKCk7TzNlKCk7cyhEZnQsImxpbmtSZWZlcmVuY2UiKX0pO2Z1bmN0aW9uIFBmdChhLGUpe2xldCB0PXtocmVmOlhvKGUudXJsKX07ZS50aXRsZSE9PW51bGwmJmUudGl0bGUhPT12b2lkIDAmJih0LnRpdGxlPWUudGl0bGUpO2xldCByPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJhIixwcm9wZXJ0aWVzOnQsY2hpbGRyZW46YS5hbGwoZSl9O3JldHVybiBhLnBhdGNoKGUsciksYS5hcHBseURhdGEoZSxyKX12YXIgRWZ0PWYoKCk9PntOMigpO3MoUGZ0LCJsaW5rIil9KTtmdW5jdGlvbiBOZnQoYSxlLHQpe2xldCByPWEuYWxsKGUpLGk9dD9hU2EodCk6SWZ0KGUpLG89e30sbj1bXTtpZih0eXBlb2YgZS5jaGVja2VkPT0iYm9vbGVhbiIpe2xldCBwPXJbMF0sdTtwJiZwLnR5cGU9PT0iZWxlbWVudCImJnAudGFnTmFtZT09PSJwIj91PXA6KHU9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InAiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46W119LHIudW5zaGlmdCh1KSksdS5jaGlsZHJlbi5sZW5ndGg+MCYmdS5jaGlsZHJlbi51bnNoaWZ0KHt0eXBlOiJ0ZXh0Iix2YWx1ZToiICJ9KSx1LmNoaWxkcmVuLnVuc2hpZnQoe3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImlucHV0Iixwcm9wZXJ0aWVzOnt0eXBlOiJjaGVja2JveCIsY2hlY2tlZDplLmNoZWNrZWQsZGlzYWJsZWQ6ITB9LGNoaWxkcmVuOltdfSksby5jbGFzc05hbWU9WyJ0YXNrLWxpc3QtaXRlbSJdfWxldCBsPS0xO2Zvcig7KytsPHIubGVuZ3RoOyl7bGV0IHA9cltsXTsoaXx8bCE9PTB8fHAudHlwZSE9PSJlbGVtZW50Inx8cC50YWdOYW1lIT09InAiKSYmbi5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9KSxwLnR5cGU9PT0iZWxlbWVudCImJnAudGFnTmFtZT09PSJwIiYmIWk/bi5wdXNoKC4uLnAuY2hpbGRyZW4pOm4ucHVzaChwKX1sZXQgZD1yW3IubGVuZ3RoLTFdO2QmJihpfHxkLnR5cGUhPT0iZWxlbWVudCJ8fGQudGFnTmFtZSE9PSJwIikmJm4ucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YApgfSk7bGV0IGM9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImxpIixwcm9wZXJ0aWVzOm8sY2hpbGRyZW46bn07cmV0dXJuIGEucGF0Y2goZSxjKSxhLmFwcGx5RGF0YShlLGMpfWZ1bmN0aW9uIGFTYShhKXtsZXQgZT0hMTtpZihhLnR5cGU9PT0ibGlzdCIpe2U9YS5zcHJlYWR8fCExO2xldCB0PWEuY2hpbGRyZW4scj0tMTtmb3IoOyFlJiYrK3I8dC5sZW5ndGg7KWU9SWZ0KHRbcl0pfXJldHVybiBlfWZ1bmN0aW9uIElmdChhKXtsZXQgZT1hLnNwcmVhZDtyZXR1cm4gZT8/YS5jaGlsZHJlbi5sZW5ndGg+MX12YXIgUmZ0PWYoKCk9PntzKE5mdCwibGlzdEl0ZW0iKTtzKGFTYSwibGlzdExvb3NlIik7cyhJZnQsImxpc3RJdGVtTG9vc2UiKX0pO2Z1bmN0aW9uIE9mdChhLGUpe2xldCB0PXt9LHI9YS5hbGwoZSksaT0tMTtmb3IodHlwZW9mIGUuc3RhcnQ9PSJudW1iZXIiJiZlLnN0YXJ0IT09MSYmKHQuc3RhcnQ9ZS5zdGFydCk7KytpPHIubGVuZ3RoOyl7bGV0IG49cltpXTtpZihuLnR5cGU9PT0iZWxlbWVudCImJm4udGFnTmFtZT09PSJsaSImJm4ucHJvcGVydGllcyYmQXJyYXkuaXNBcnJheShuLnByb3BlcnRpZXMuY2xhc3NOYW1lKSYmbi5wcm9wZXJ0aWVzLmNsYXNzTmFtZS5pbmNsdWRlcygidGFzay1saXN0LWl0ZW0iKSl7dC5jbGFzc05hbWU9WyJjb250YWlucy10YXNrLWxpc3QiXTticmVha319bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ZS5vcmRlcmVkPyJvbCI6InVsIixwcm9wZXJ0aWVzOnQsY2hpbGRyZW46YS53cmFwKHIsITApfTtyZXR1cm4gYS5wYXRjaChlLG8pLGEuYXBwbHlEYXRhKGUsbyl9dmFyIEZmdD1mKCgpPT57cyhPZnQsImxpc3QiKX0pO2Z1bmN0aW9uIEJmdChhLGUpe2xldCB0PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEuYWxsKGUpfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIEhmdD1mKCgpPT57cyhCZnQsInBhcmFncmFwaCIpfSk7ZnVuY3Rpb24gcWZ0KGEsZSl7bGV0IHQ9e3R5cGU6InJvb3QiLGNoaWxkcmVuOmEud3JhcChhLmFsbChlKSl9O3JldHVybiBhLnBhdGNoKGUsdCksYS5hcHBseURhdGEoZSx0KX12YXIgVmZ0PWYoKCk9PntzKHFmdCwicm9vdCIpfSk7ZnVuY3Rpb24gamZ0KGEsZSl7bGV0IHQ9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InN0cm9uZyIscHJvcGVydGllczp7fSxjaGlsZHJlbjphLmFsbChlKX07cmV0dXJuIGEucGF0Y2goZSx0KSxhLmFwcGx5RGF0YShlLHQpfXZhciBVZnQ9ZigoKT0+e3MoamZ0LCJzdHJvbmciKX0pO2Z1bmN0aW9uIFdmdChhLGUpe2xldCB0PWEuYWxsKGUpLHI9dC5zaGlmdCgpLGk9W107aWYocil7bGV0IG49e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRoZWFkIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEud3JhcChbcl0sITApfTthLnBhdGNoKGUuY2hpbGRyZW5bMF0sbiksaS5wdXNoKG4pfWlmKHQubGVuZ3RoPjApe2xldCBuPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJ0Ym9keSIscHJvcGVydGllczp7fSxjaGlsZHJlbjphLndyYXAodCwhMCl9LGw9dEooZS5jaGlsZHJlblsxXSksZD1lSihlLmNoaWxkcmVuW2UuY2hpbGRyZW4ubGVuZ3RoLTFdKTtsJiZkJiYobi5wb3NpdGlvbj17c3RhcnQ6bCxlbmQ6ZH0pLGkucHVzaChuKX1sZXQgbz17dHlwZToiZWxlbWVudCIsdGFnTmFtZToidGFibGUiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46YS53cmFwKGksITApfTtyZXR1cm4gYS5wYXRjaChlLG8pLGEuYXBwbHlEYXRhKGUsbyl9dmFyIEdmdD1mKCgpPT57YUooKTtzKFdmdCwidGFibGUiKX0pO2Z1bmN0aW9uIFlmdChhLGUsdCl7bGV0IHI9dD90LmNoaWxkcmVuOnZvaWQgMCxvPShyP3IuaW5kZXhPZihlKToxKT09PTA/InRoIjoidGQiLG49dCYmdC50eXBlPT09InRhYmxlIj90LmFsaWduOnZvaWQgMCxsPW4/bi5sZW5ndGg6ZS5jaGlsZHJlbi5sZW5ndGgsZD0tMSxjPVtdO2Zvcig7KytkPGw7KXtsZXQgdT1lLmNoaWxkcmVuW2RdLG09e30sdj1uP25bZF06dm9pZCAwO3YmJihtLmFsaWduPXYpO2xldCB4PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOm8scHJvcGVydGllczptLGNoaWxkcmVuOltdfTt1JiYoeC5jaGlsZHJlbj1hLmFsbCh1KSxhLnBhdGNoKHUseCkseD1hLmFwcGx5RGF0YSh1LHgpKSxjLnB1c2goeCl9bGV0IHA9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRyIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEud3JhcChjLCEwKX07cmV0dXJuIGEucGF0Y2goZSxwKSxhLmFwcGx5RGF0YShlLHApfXZhciBLZnQ9ZigoKT0+e3MoWWZ0LCJ0YWJsZVJvdyIpfSk7ZnVuY3Rpb24gWmZ0KGEsZSl7bGV0IHQ9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRkIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEuYWxsKGUpfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIFhmdD1mKCgpPT57cyhaZnQsInRhYmxlQ2VsbCIpfSk7ZnVuY3Rpb24gSmZ0KGEpe2xldCBlPVN0cmluZyhhKSx0PS9ccj9cbnxcci9nLHI9dC5leGVjKGUpLGk9MCxvPVtdO2Zvcig7cjspby5wdXNoKFFmdChlLnNsaWNlKGksci5pbmRleCksaT4wLCEwKSxyWzBdKSxpPXIuaW5kZXgrclswXS5sZW5ndGgscj10LmV4ZWMoZSk7cmV0dXJuIG8ucHVzaChRZnQoZS5zbGljZShpKSxpPjAsITEpKSxvLmpvaW4oIiIpfWZ1bmN0aW9uIFFmdChhLGUsdCl7bGV0IHI9MCxpPWEubGVuZ3RoO2lmKGUpe2xldCBvPWEuY29kZVBvaW50QXQocik7Zm9yKDtvPT09OXx8bz09PTMyOylyKyssbz1hLmNvZGVQb2ludEF0KHIpfWlmKHQpe2xldCBvPWEuY29kZVBvaW50QXQoaS0xKTtmb3IoO289PT05fHxvPT09MzI7KWktLSxvPWEuY29kZVBvaW50QXQoaS0xKX1yZXR1cm4gaT5yP2Euc2xpY2UocixpKToiIn12YXIgS1FyLFpRcixlNXQ9ZigoKT0+e0tRcj05LFpRcj0zMjtzKEpmdCwidHJpbUxpbmVzIik7cyhRZnQsInRyaW1MaW5lIil9KTtmdW5jdGlvbiB0NXQoYSxlKXtsZXQgdD17dHlwZToidGV4dCIsdmFsdWU6SmZ0KFN0cmluZyhlLnZhbHVlKSl9O3JldHVybiBhLnBhdGNoKGUsdCksYS5hcHBseURhdGEoZSx0KX12YXIgYTV0PWYoKCk9PntlNXQoKTtzKHQ1dCwidGV4dCIpfSk7ZnVuY3Rpb24gcjV0KGEsZSl7bGV0IHQ9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImhyIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltdfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIHM1dD1mKCgpPT57cyhyNXQsInRoZW1hdGljQnJlYWsiKX0pO2Z1bmN0aW9uIGlKKCl7fXZhciBGM2UsQjNlPWYoKCk9PntkZnQoKTtwZnQoKTtoZnQoKTtnZnQoKTt2ZnQoKTt5ZnQoKTtNZnQoKTtTZnQoKTtDZnQoKTtUZnQoKTskZnQoKTtBZnQoKTtFZnQoKTtSZnQoKTtGZnQoKTtIZnQoKTtWZnQoKTtVZnQoKTtHZnQoKTtLZnQoKTtYZnQoKTthNXQoKTtzNXQoKTtGM2U9e2Jsb2NrcXVvdGU6Y2Z0LGJyZWFrOnVmdCxjb2RlOmZmdCxkZWxldGU6bWZ0LGVtcGhhc2lzOmJmdCxmb290bm90ZVJlZmVyZW5jZTp4ZnQsaGVhZGluZzp3ZnQsaHRtbDprZnQsaW1hZ2VSZWZlcmVuY2U6emZ0LGltYWdlOl9mdCxpbmxpbmVDb2RlOkxmdCxsaW5rUmVmZXJlbmNlOkRmdCxsaW5rOlBmdCxsaXN0SXRlbTpOZnQsbGlzdDpPZnQscGFyYWdyYXBoOkJmdCxyb290OnFmdCxzdHJvbmc6amZ0LHRhYmxlOldmdCx0YWJsZUNlbGw6WmZ0LHRhYmxlUm93OllmdCx0ZXh0OnQ1dCx0aGVtYXRpY0JyZWFrOnI1dCx0b21sOmlKLHlhbWw6aUosZGVmaW5pdGlvbjppSixmb290bm90ZURlZmluaXRpb246aUp9O3MoaUosImlnbm9yZSIpfSk7ZnVuY3Rpb24gaTV0KGEsZSl7bGV0IHQ9W3t0eXBlOiJ0ZXh0Iix2YWx1ZToiXHUyMUE5In1dO3JldHVybiBlPjEmJnQucHVzaCh7dHlwZToiZWxlbWVudCIsdGFnTmFtZToic3VwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6U3RyaW5nKGUpfV19KSx0fWZ1bmN0aW9uIG81dChhLGUpe3JldHVybiJCYWNrIHRvIHJlZmVyZW5jZSAiKyhhKzEpKyhlPjE/Ii0iK2U6IiIpfWZ1bmN0aW9uIG41dChhKXtsZXQgZT10eXBlb2YgYS5vcHRpb25zLmNsb2JiZXJQcmVmaXg9PSJzdHJpbmciP2Eub3B0aW9ucy5jbG9iYmVyUHJlZml4OiJ1c2VyLWNvbnRlbnQtIix0PWEub3B0aW9ucy5mb290bm90ZUJhY2tDb250ZW50fHxpNXQscj1hLm9wdGlvbnMuZm9vdG5vdGVCYWNrTGFiZWx8fG81dCxpPWEub3B0aW9ucy5mb290bm90ZUxhYmVsfHwiRm9vdG5vdGVzIixvPWEub3B0aW9ucy5mb290bm90ZUxhYmVsVGFnTmFtZXx8ImgyIixuPWEub3B0aW9ucy5mb290bm90ZUxhYmVsUHJvcGVydGllc3x8e2NsYXNzTmFtZTpbInNyLW9ubHkiXX0sbD1bXSxkPS0xO2Zvcig7KytkPGEuZm9vdG5vdGVPcmRlci5sZW5ndGg7KXtsZXQgYz1hLmZvb3Rub3RlQnlJZC5nZXQoYS5mb290bm90ZU9yZGVyW2RdKTtpZighYyljb250aW51ZTtsZXQgcD1hLmFsbChjKSx1PVN0cmluZyhjLmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCksbT1Ybyh1LnRvTG93ZXJDYXNlKCkpLHY9MCx4PVtdLGI9YS5mb290bm90ZUNvdW50cy5nZXQodSk7Zm9yKDtiIT09dm9pZCAwJiYrK3Y8PWI7KXt4Lmxlbmd0aD4wJiZ4LnB1c2goe3R5cGU6InRleHQiLHZhbHVlOiIgIn0pO2xldCBrPXR5cGVvZiB0PT0ic3RyaW5nIj90OnQoZCx2KTt0eXBlb2Ygaz09InN0cmluZyImJihrPXt0eXBlOiJ0ZXh0Iix2YWx1ZTprfSkseC5wdXNoKHt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJhIixwcm9wZXJ0aWVzOntocmVmOiIjIitlKyJmbnJlZi0iK20rKHY+MT8iLSIrdjoiIiksZGF0YUZvb3Rub3RlQmFja3JlZjoiIixhcmlhTGFiZWw6dHlwZW9mIHI9PSJzdHJpbmciP3I6cihkLHYpLGNsYXNzTmFtZTpbImRhdGEtZm9vdG5vdGUtYmFja3JlZiJdfSxjaGlsZHJlbjpBcnJheS5pc0FycmF5KGspP2s6W2tdfSl9bGV0IGc9cFtwLmxlbmd0aC0xXTtpZihnJiZnLnR5cGU9PT0iZWxlbWVudCImJmcudGFnTmFtZT09PSJwIil7bGV0IGs9Zy5jaGlsZHJlbltnLmNoaWxkcmVuLmxlbmd0aC0xXTtrJiZrLnR5cGU9PT0idGV4dCI/ay52YWx1ZSs9IiAiOmcuY2hpbGRyZW4ucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6IiAifSksZy5jaGlsZHJlbi5wdXNoKC4uLngpfWVsc2UgcC5wdXNoKC4uLngpO2xldCB5PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJsaSIscHJvcGVydGllczp7aWQ6ZSsiZm4tIittfSxjaGlsZHJlbjphLndyYXAocCwhMCl9O2EucGF0Y2goYyx5KSxsLnB1c2goeSl9aWYobC5sZW5ndGghPT0wKXJldHVybnt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJzZWN0aW9uIixwcm9wZXJ0aWVzOntkYXRhRm9vdG5vdGVzOiEwLGNsYXNzTmFtZTpbImZvb3Rub3RlcyJdfSxjaGlsZHJlbjpbe3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6byxwcm9wZXJ0aWVzOnsuLi5WMChuKSxpZDoiZm9vdG5vdGUtbGFiZWwifSxjaGlsZHJlbjpbe3R5cGU6InRleHQiLHZhbHVlOml9XX0se3R5cGU6InRleHQiLHZhbHVlOmAKYH0se3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6Im9sIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEud3JhcChsLCEwKX0se3R5cGU6InRleHQiLHZhbHVlOmAKYH1dfX12YXIgSDNlPWYoKCk9PntKUSgpO04yKCk7cyhpNXQsImRlZmF1bHRGb290bm90ZUJhY2tDb250ZW50Iik7cyhvNXQsImRlZmF1bHRGb290bm90ZUJhY2tMYWJlbCIpO3MobjV0LCJmb290ZXIiKX0pO2Z1bmN0aW9uIGM1dChhLGUpe2xldCB0PWV8fHJTYSxyPW5ldyBNYXAsaT1uZXcgTWFwLG89bmV3IE1hcCxuPXsuLi5GM2UsLi4udC5oYW5kbGVyc30sbD17YWxsOmMsYXBwbHlEYXRhOmlTYSxkZWZpbml0aW9uQnlJZDpyLGZvb3Rub3RlQnlJZDppLGZvb3Rub3RlQ291bnRzOm8sZm9vdG5vdGVPcmRlcjpbXSxoYW5kbGVyczpuLG9uZTpkLG9wdGlvbnM6dCxwYXRjaDpzU2Esd3JhcDpuU2F9O3JldHVybiBWZyhhLGZ1bmN0aW9uKHApe2lmKHAudHlwZT09PSJkZWZpbml0aW9uInx8cC50eXBlPT09ImZvb3Rub3RlRGVmaW5pdGlvbiIpe2xldCB1PXAudHlwZT09PSJkZWZpbml0aW9uIj9yOmksbT1TdHJpbmcocC5pZGVudGlmaWVyKS50b1VwcGVyQ2FzZSgpO3UuaGFzKG0pfHx1LnNldChtLHApfX0pLGw7ZnVuY3Rpb24gZChwLHUpe2xldCBtPXAudHlwZSx2PWwuaGFuZGxlcnNbbV07aWYocTNlLmNhbGwobC5oYW5kbGVycyxtKSYmdilyZXR1cm4gdihsLHAsdSk7aWYobC5vcHRpb25zLnBhc3NUaHJvdWdoJiZsLm9wdGlvbnMucGFzc1Rocm91Z2guaW5jbHVkZXMobSkpe2lmKCJjaGlsZHJlbiJpbiBwKXtsZXR7Y2hpbGRyZW46YiwuLi5nfT1wLHk9VjAoZyk7cmV0dXJuIHkuY2hpbGRyZW49bC5hbGwocCkseX1yZXR1cm4gVjAocCl9cmV0dXJuKGwub3B0aW9ucy51bmtub3duSGFuZGxlcnx8b1NhKShsLHAsdSl9cyhkLCJvbmUiKTtmdW5jdGlvbiBjKHApe2xldCB1PVtdO2lmKCJjaGlsZHJlbiJpbiBwKXtsZXQgbT1wLmNoaWxkcmVuLHY9LTE7Zm9yKDsrK3Y8bS5sZW5ndGg7KXtsZXQgeD1sLm9uZShtW3ZdLHApO2lmKHgpe2lmKHYmJm1bdi0xXS50eXBlPT09ImJyZWFrIiYmKCFBcnJheS5pc0FycmF5KHgpJiZ4LnR5cGU9PT0idGV4dCImJih4LnZhbHVlPWw1dCh4LnZhbHVlKSksIUFycmF5LmlzQXJyYXkoeCkmJngudHlwZT09PSJlbGVtZW50Iikpe2xldCBiPXguY2hpbGRyZW5bMF07YiYmYi50eXBlPT09InRleHQiJiYoYi52YWx1ZT1sNXQoYi52YWx1ZSkpfUFycmF5LmlzQXJyYXkoeCk/dS5wdXNoKC4uLngpOnUucHVzaCh4KX19fXJldHVybiB1fXMoYywiYWxsIil9ZnVuY3Rpb24gc1NhKGEsZSl7YS5wb3NpdGlvbiYmKGUucG9zaXRpb249c2IoYSkpfWZ1bmN0aW9uIGlTYShhLGUpe2xldCB0PWU7aWYoYSYmYS5kYXRhKXtsZXQgcj1hLmRhdGEuaE5hbWUsaT1hLmRhdGEuaENoaWxkcmVuLG89YS5kYXRhLmhQcm9wZXJ0aWVzO2lmKHR5cGVvZiByPT0ic3RyaW5nIilpZih0LnR5cGU9PT0iZWxlbWVudCIpdC50YWdOYW1lPXI7ZWxzZXtsZXQgbj0iY2hpbGRyZW4iaW4gdD90LmNoaWxkcmVuOlt0XTt0PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOnIscHJvcGVydGllczp7fSxjaGlsZHJlbjpufX10LnR5cGU9PT0iZWxlbWVudCImJm8mJk9iamVjdC5hc3NpZ24odC5wcm9wZXJ0aWVzLFYwKG8pKSwiY2hpbGRyZW4iaW4gdCYmdC5jaGlsZHJlbiYmaSE9PW51bGwmJmkhPT12b2lkIDAmJih0LmNoaWxkcmVuPWkpfXJldHVybiB0fWZ1bmN0aW9uIG9TYShhLGUpe2xldCB0PWUuZGF0YXx8e30scj0idmFsdWUiaW4gZSYmIShxM2UuY2FsbCh0LCJoUHJvcGVydGllcyIpfHxxM2UuY2FsbCh0LCJoQ2hpbGRyZW4iKSk/e3R5cGU6InRleHQiLHZhbHVlOmUudmFsdWV9Ont0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJkaXYiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46YS5hbGwoZSl9O3JldHVybiBhLnBhdGNoKGUsciksYS5hcHBseURhdGEoZSxyKX1mdW5jdGlvbiBuU2EoYSxlKXtsZXQgdD1bXSxyPS0xO2ZvcihlJiZ0LnB1c2goe3R5cGU6InRleHQiLHZhbHVlOmAKYH0pOysrcjxhLmxlbmd0aDspciYmdC5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9KSx0LnB1c2goYVtyXSk7cmV0dXJuIGUmJmEubGVuZ3RoPjAmJnQucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YApgfSksdH1mdW5jdGlvbiBsNXQoYSl7bGV0IGU9MCx0PWEuY2hhckNvZGVBdChlKTtmb3IoO3Q9PT05fHx0PT09MzI7KWUrKyx0PWEuY2hhckNvZGVBdChlKTtyZXR1cm4gYS5zbGljZShlKX12YXIgcTNlLHJTYSxkNXQ9ZigoKT0+e0pRKCk7ZjRlKCk7YUooKTtCM2UoKTtxM2U9e30uaGFzT3duUHJvcGVydHksclNhPXt9O3MoYzV0LCJjcmVhdGVTdGF0ZSIpO3Moc1NhLCJwYXRjaCIpO3MoaVNhLCJhcHBseURhdGEiKTtzKG9TYSwiZGVmYXVsdFVua25vd25IYW5kbGVyIik7cyhuU2EsIndyYXAiKTtzKGw1dCwidHJpbU1hcmtkb3duU3BhY2VTdGFydCIpfSk7ZnVuY3Rpb24gVjNlKGEsZSl7bGV0IHQ9YzV0KGEsZSkscj10Lm9uZShhLHZvaWQgMCksaT1uNXQodCksbz1BcnJheS5pc0FycmF5KHIpP3t0eXBlOiJyb290IixjaGlsZHJlbjpyfTpyfHx7dHlwZToicm9vdCIsY2hpbGRyZW46W119O3JldHVybiBpJiYoImNoaWxkcmVuImluIG8sby5jaGlsZHJlbi5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9LGkpKSxvfXZhciB1NXQ9ZigoKT0+e04wKCk7SDNlKCk7ZDV0KCk7cyhWM2UsInRvSGFzdCIpfSk7dmFyIHA1dD1mKCgpPT57QjNlKCk7dTV0KCk7SDNlKCl9KTt2YXIgZjV0LGg1dD1mKCgpPT57ZjV0PVsiYXJlYSIsImJhc2UiLCJiYXNlZm9udCIsImJnc291bmQiLCJiciIsImNvbCIsImNvbW1hbmQiLCJlbWJlZCIsImZyYW1lIiwiaHIiLCJpbWFnZSIsImltZyIsImlucHV0Iiwia2V5Z2VuIiwibGluayIsIm1ldGEiLCJwYXJhbSIsInNvdXJjZSIsInRyYWNrIiwid2JyIl19KTt2YXIgcWwsajNlPWYoKCk9PntxbD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTY2hlbWEiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5ub3JtYWw9dCx0aGlzLnByb3BlcnR5PWUsciYmKHRoaXMuc3BhY2U9cil9fTtxbC5wcm90b3R5cGUubm9ybWFsPXt9LHFsLnByb3RvdHlwZS5wcm9wZXJ0eT17fSxxbC5wcm90b3R5cGUuc3BhY2U9dm9pZCAwfSk7ZnVuY3Rpb24gVTNlKGEsZSl7bGV0IHQ9e30scj17fTtmb3IobGV0IGkgb2YgYSlPYmplY3QuYXNzaWduKHQsaS5wcm9wZXJ0eSksT2JqZWN0LmFzc2lnbihyLGkubm9ybWFsKTtyZXR1cm4gbmV3IHFsKHQscixlKX12YXIgbTV0PWYoKCk9PntqM2UoKTtzKFUzZSwibWVyZ2UiKX0pO2Z1bmN0aW9uIFQ4KGEpe3JldHVybiBhLnRvTG93ZXJDYXNlKCl9dmFyIG9KPWYoKCk9PntzKFQ4LCJub3JtYWxpemUiKX0pO3ZhciBVcyxXM2U9ZigoKT0+e1VzPWNsYXNze3N0YXRpY3tzKHRoaXMsIkluZm8iKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuYXR0cmlidXRlPXQsdGhpcy5wcm9wZXJ0eT1lfX07VXMucHJvdG90eXBlLmF0dHJpYnV0ZT0iIixVcy5wcm90b3R5cGUuYm9vbGVhbmlzaD0hMSxVcy5wcm90b3R5cGUuYm9vbGVhbj0hMSxVcy5wcm90b3R5cGUuY29tbWFPclNwYWNlU2VwYXJhdGVkPSExLFVzLnByb3RvdHlwZS5jb21tYVNlcGFyYXRlZD0hMSxVcy5wcm90b3R5cGUuZGVmaW5lZD0hMSxVcy5wcm90b3R5cGUubXVzdFVzZVByb3BlcnR5PSExLFVzLnByb3RvdHlwZS5udW1iZXI9ITEsVXMucHJvdG90eXBlLm92ZXJsb2FkZWRCb29sZWFuPSExLFVzLnByb3RvdHlwZS5wcm9wZXJ0eT0iIixVcy5wcm90b3R5cGUuc3BhY2VTZXBhcmF0ZWQ9ITEsVXMucHJvdG90eXBlLnNwYWNlPXZvaWQgMH0pO3ZhciBvYj17fTtsdChvYix7Ym9vbGVhbjooKT0+V3QsYm9vbGVhbmlzaDooKT0+UnIsY29tbWFPclNwYWNlU2VwYXJhdGVkOigpPT5Qbyxjb21tYVNlcGFyYXRlZDooKT0+VTAsbnVtYmVyOigpPT5ZZSxvdmVybG9hZGVkQm9vbGVhbjooKT0+bkosc3BhY2VTZXBhcmF0ZWQ6KCk9PkdhfSk7ZnVuY3Rpb24gWDMoKXtyZXR1cm4gMioqKytsU2F9dmFyIGxTYSxXdCxScixuSixZZSxHYSxVMCxQbyxuYj1mKCgpPT57bFNhPTAsV3Q9WDMoKSxScj1YMygpLG5KPVgzKCksWWU9WDMoKSxHYT1YMygpLFUwPVgzKCksUG89WDMoKTtzKFgzLCJpbmNyZW1lbnQiKX0pO2Z1bmN0aW9uIGc1dChhLGUsdCl7dCYmKGFbZV09dCl9dmFyIEczZSxRMyxZM2U9ZigoKT0+e1czZSgpO25iKCk7RzNlPU9iamVjdC5rZXlzKG9iKSxRMz1jbGFzcyBleHRlbmRzIFVze3N0YXRpY3tzKHRoaXMsIkRlZmluZWRJbmZvIil9Y29uc3RydWN0b3IoZSx0LHIsaSl7bGV0IG89LTE7aWYoc3VwZXIoZSx0KSxnNXQodGhpcywic3BhY2UiLGkpLHR5cGVvZiByPT0ibnVtYmVyIilmb3IoOysrbzxHM2UubGVuZ3RoOyl7bGV0IG49RzNlW29dO2c1dCh0aGlzLEczZVtvXSwociZvYltuXSk9PT1vYltuXSl9fX07UTMucHJvdG90eXBlLmRlZmluZWQ9ITA7cyhnNXQsIm1hcmsiKX0pO2Z1bmN0aW9uIExuKGEpe2xldCBlPXt9LHQ9e307Zm9yKGxldFtyLGldb2YgT2JqZWN0LmVudHJpZXMoYS5wcm9wZXJ0aWVzKSl7bGV0IG89bmV3IFEzKHIsYS50cmFuc2Zvcm0oYS5hdHRyaWJ1dGVzfHx7fSxyKSxpLGEuc3BhY2UpO2EubXVzdFVzZVByb3BlcnR5JiZhLm11c3RVc2VQcm9wZXJ0eS5pbmNsdWRlcyhyKSYmKG8ubXVzdFVzZVByb3BlcnR5PSEwKSxlW3JdPW8sdFtUOChyKV09cix0W1Q4KG8uYXR0cmlidXRlKV09cn1yZXR1cm4gbmV3IHFsKGUsdCxhLnNwYWNlKX12YXIgSjM9ZigoKT0+e29KKCk7WTNlKCk7ajNlKCk7cyhMbiwiY3JlYXRlIil9KTt2YXIgSzNlLGI1dD1mKCgpPT57SjMoKTtuYigpO0szZT1Mbih7cHJvcGVydGllczp7YXJpYUFjdGl2ZURlc2NlbmRhbnQ6bnVsbCxhcmlhQXRvbWljOlJyLGFyaWFBdXRvQ29tcGxldGU6bnVsbCxhcmlhQnVzeTpScixhcmlhQ2hlY2tlZDpScixhcmlhQ29sQ291bnQ6WWUsYXJpYUNvbEluZGV4OlllLGFyaWFDb2xTcGFuOlllLGFyaWFDb250cm9sczpHYSxhcmlhQ3VycmVudDpudWxsLGFyaWFEZXNjcmliZWRCeTpHYSxhcmlhRGV0YWlsczpudWxsLGFyaWFEaXNhYmxlZDpScixhcmlhRHJvcEVmZmVjdDpHYSxhcmlhRXJyb3JNZXNzYWdlOm51bGwsYXJpYUV4cGFuZGVkOlJyLGFyaWFGbG93VG86R2EsYXJpYUdyYWJiZWQ6UnIsYXJpYUhhc1BvcHVwOm51bGwsYXJpYUhpZGRlbjpScixhcmlhSW52YWxpZDpudWxsLGFyaWFLZXlTaG9ydGN1dHM6bnVsbCxhcmlhTGFiZWw6bnVsbCxhcmlhTGFiZWxsZWRCeTpHYSxhcmlhTGV2ZWw6WWUsYXJpYUxpdmU6bnVsbCxhcmlhTW9kYWw6UnIsYXJpYU11bHRpTGluZTpScixhcmlhTXVsdGlTZWxlY3RhYmxlOlJyLGFyaWFPcmllbnRhdGlvbjpudWxsLGFyaWFPd25zOkdhLGFyaWFQbGFjZWhvbGRlcjpudWxsLGFyaWFQb3NJblNldDpZZSxhcmlhUHJlc3NlZDpScixhcmlhUmVhZE9ubHk6UnIsYXJpYVJlbGV2YW50Om51bGwsYXJpYVJlcXVpcmVkOlJyLGFyaWFSb2xlRGVzY3JpcHRpb246R2EsYXJpYVJvd0NvdW50OlllLGFyaWFSb3dJbmRleDpZZSxhcmlhUm93U3BhbjpZZSxhcmlhU2VsZWN0ZWQ6UnIsYXJpYVNldFNpemU6WWUsYXJpYVNvcnQ6bnVsbCxhcmlhVmFsdWVNYXg6WWUsYXJpYVZhbHVlTWluOlllLGFyaWFWYWx1ZU5vdzpZZSxhcmlhVmFsdWVUZXh0Om51bGwscm9sZTpudWxsfSx0cmFuc2Zvcm0oYSxlKXtyZXR1cm4gZT09PSJyb2xlIj9lOiJhcmlhLSIrZS5zbGljZSg0KS50b0xvd2VyQ2FzZSgpfX0pfSk7ZnVuY3Rpb24gbEooYSxlKXtyZXR1cm4gZSBpbiBhP2FbZV06ZX12YXIgWjNlPWYoKCk9PntzKGxKLCJjYXNlU2Vuc2l0aXZlVHJhbnNmb3JtIil9KTtmdW5jdGlvbiBjSihhLGUpe3JldHVybiBsSihhLGUudG9Mb3dlckNhc2UoKSl9dmFyIFgzZT1mKCgpPT57WjNlKCk7cyhjSiwiY2FzZUluc2Vuc2l0aXZlVHJhbnNmb3JtIil9KTt2YXIgdjV0LHg1dD1mKCgpPT57WDNlKCk7SjMoKTtuYigpO3Y1dD1Mbih7YXR0cmlidXRlczp7YWNjZXB0Y2hhcnNldDoiYWNjZXB0LWNoYXJzZXQiLGNsYXNzbmFtZToiY2xhc3MiLGh0bWxmb3I6ImZvciIsaHR0cGVxdWl2OiJodHRwLWVxdWl2In0sbXVzdFVzZVByb3BlcnR5OlsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLHByb3BlcnRpZXM6e2FiYnI6bnVsbCxhY2NlcHQ6VTAsYWNjZXB0Q2hhcnNldDpHYSxhY2Nlc3NLZXk6R2EsYWN0aW9uOm51bGwsYWxsb3c6bnVsbCxhbGxvd0Z1bGxTY3JlZW46V3QsYWxsb3dQYXltZW50UmVxdWVzdDpXdCxhbGxvd1VzZXJNZWRpYTpXdCxhbHQ6bnVsbCxhczpudWxsLGFzeW5jOld0LGF1dG9DYXBpdGFsaXplOm51bGwsYXV0b0NvbXBsZXRlOkdhLGF1dG9Gb2N1czpXdCxhdXRvUGxheTpXdCxibG9ja2luZzpHYSxjYXB0dXJlOm51bGwsY2hhclNldDpudWxsLGNoZWNrZWQ6V3QsY2l0ZTpudWxsLGNsYXNzTmFtZTpHYSxjb2xzOlllLGNvbFNwYW46bnVsbCxjb250ZW50Om51bGwsY29udGVudEVkaXRhYmxlOlJyLGNvbnRyb2xzOld0LGNvbnRyb2xzTGlzdDpHYSxjb29yZHM6WWV8VTAsY3Jvc3NPcmlnaW46bnVsbCxkYXRhOm51bGwsZGF0ZVRpbWU6bnVsbCxkZWNvZGluZzpudWxsLGRlZmF1bHQ6V3QsZGVmZXI6V3QsZGlyOm51bGwsZGlyTmFtZTpudWxsLGRpc2FibGVkOld0LGRvd25sb2FkOm5KLGRyYWdnYWJsZTpScixlbmNUeXBlOm51bGwsZW50ZXJLZXlIaW50Om51bGwsZmV0Y2hQcmlvcml0eTpudWxsLGZvcm06bnVsbCxmb3JtQWN0aW9uOm51bGwsZm9ybUVuY1R5cGU6bnVsbCxmb3JtTWV0aG9kOm51bGwsZm9ybU5vVmFsaWRhdGU6V3QsZm9ybVRhcmdldDpudWxsLGhlYWRlcnM6R2EsaGVpZ2h0OlllLGhpZGRlbjpuSixoaWdoOlllLGhyZWY6bnVsbCxocmVmTGFuZzpudWxsLGh0bWxGb3I6R2EsaHR0cEVxdWl2OkdhLGlkOm51bGwsaW1hZ2VTaXplczpudWxsLGltYWdlU3JjU2V0Om51bGwsaW5lcnQ6V3QsaW5wdXRNb2RlOm51bGwsaW50ZWdyaXR5Om51bGwsaXM6bnVsbCxpc01hcDpXdCxpdGVtSWQ6bnVsbCxpdGVtUHJvcDpHYSxpdGVtUmVmOkdhLGl0ZW1TY29wZTpXdCxpdGVtVHlwZTpHYSxraW5kOm51bGwsbGFiZWw6bnVsbCxsYW5nOm51bGwsbGFuZ3VhZ2U6bnVsbCxsaXN0Om51bGwsbG9hZGluZzpudWxsLGxvb3A6V3QsbG93OlllLG1hbmlmZXN0Om51bGwsbWF4Om51bGwsbWF4TGVuZ3RoOlllLG1lZGlhOm51bGwsbWV0aG9kOm51bGwsbWluOm51bGwsbWluTGVuZ3RoOlllLG11bHRpcGxlOld0LG11dGVkOld0LG5hbWU6bnVsbCxub25jZTpudWxsLG5vTW9kdWxlOld0LG5vVmFsaWRhdGU6V3Qsb25BYm9ydDpudWxsLG9uQWZ0ZXJQcmludDpudWxsLG9uQXV4Q2xpY2s6bnVsbCxvbkJlZm9yZU1hdGNoOm51bGwsb25CZWZvcmVQcmludDpudWxsLG9uQmVmb3JlVG9nZ2xlOm51bGwsb25CZWZvcmVVbmxvYWQ6bnVsbCxvbkJsdXI6bnVsbCxvbkNhbmNlbDpudWxsLG9uQ2FuUGxheTpudWxsLG9uQ2FuUGxheVRocm91Z2g6bnVsbCxvbkNoYW5nZTpudWxsLG9uQ2xpY2s6bnVsbCxvbkNsb3NlOm51bGwsb25Db250ZXh0TG9zdDpudWxsLG9uQ29udGV4dE1lbnU6bnVsbCxvbkNvbnRleHRSZXN0b3JlZDpudWxsLG9uQ29weTpudWxsLG9uQ3VlQ2hhbmdlOm51bGwsb25DdXQ6bnVsbCxvbkRibENsaWNrOm51bGwsb25EcmFnOm51bGwsb25EcmFnRW5kOm51bGwsb25EcmFnRW50ZXI6bnVsbCxvbkRyYWdFeGl0Om51bGwsb25EcmFnTGVhdmU6bnVsbCxvbkRyYWdPdmVyOm51bGwsb25EcmFnU3RhcnQ6bnVsbCxvbkRyb3A6bnVsbCxvbkR1cmF0aW9uQ2hhbmdlOm51bGwsb25FbXB0aWVkOm51bGwsb25FbmRlZDpudWxsLG9uRXJyb3I6bnVsbCxvbkZvY3VzOm51bGwsb25Gb3JtRGF0YTpudWxsLG9uSGFzaENoYW5nZTpudWxsLG9uSW5wdXQ6bnVsbCxvbkludmFsaWQ6bnVsbCxvbktleURvd246bnVsbCxvbktleVByZXNzOm51bGwsb25LZXlVcDpudWxsLG9uTGFuZ3VhZ2VDaGFuZ2U6bnVsbCxvbkxvYWQ6bnVsbCxvbkxvYWRlZERhdGE6bnVsbCxvbkxvYWRlZE1ldGFkYXRhOm51bGwsb25Mb2FkRW5kOm51bGwsb25Mb2FkU3RhcnQ6bnVsbCxvbk1lc3NhZ2U6bnVsbCxvbk1lc3NhZ2VFcnJvcjpudWxsLG9uTW91c2VEb3duOm51bGwsb25Nb3VzZUVudGVyOm51bGwsb25Nb3VzZUxlYXZlOm51bGwsb25Nb3VzZU1vdmU6bnVsbCxvbk1vdXNlT3V0Om51bGwsb25Nb3VzZU92ZXI6bnVsbCxvbk1vdXNlVXA6bnVsbCxvbk9mZmxpbmU6bnVsbCxvbk9ubGluZTpudWxsLG9uUGFnZUhpZGU6bnVsbCxvblBhZ2VTaG93Om51bGwsb25QYXN0ZTpudWxsLG9uUGF1c2U6bnVsbCxvblBsYXk6bnVsbCxvblBsYXlpbmc6bnVsbCxvblBvcFN0YXRlOm51bGwsb25Qcm9ncmVzczpudWxsLG9uUmF0ZUNoYW5nZTpudWxsLG9uUmVqZWN0aW9uSGFuZGxlZDpudWxsLG9uUmVzZXQ6bnVsbCxvblJlc2l6ZTpudWxsLG9uU2Nyb2xsOm51bGwsb25TY3JvbGxFbmQ6bnVsbCxvblNlY3VyaXR5UG9saWN5VmlvbGF0aW9uOm51bGwsb25TZWVrZWQ6bnVsbCxvblNlZWtpbmc6bnVsbCxvblNlbGVjdDpudWxsLG9uU2xvdENoYW5nZTpudWxsLG9uU3RhbGxlZDpudWxsLG9uU3RvcmFnZTpudWxsLG9uU3VibWl0Om51bGwsb25TdXNwZW5kOm51bGwsb25UaW1lVXBkYXRlOm51bGwsb25Ub2dnbGU6bnVsbCxvblVuaGFuZGxlZFJlamVjdGlvbjpudWxsLG9uVW5sb2FkOm51bGwsb25Wb2x1bWVDaGFuZ2U6bnVsbCxvbldhaXRpbmc6bnVsbCxvbldoZWVsOm51bGwsb3BlbjpXdCxvcHRpbXVtOlllLHBhdHRlcm46bnVsbCxwaW5nOkdhLHBsYWNlaG9sZGVyOm51bGwscGxheXNJbmxpbmU6V3QscG9wb3ZlcjpudWxsLHBvcG92ZXJUYXJnZXQ6bnVsbCxwb3BvdmVyVGFyZ2V0QWN0aW9uOm51bGwscG9zdGVyOm51bGwscHJlbG9hZDpudWxsLHJlYWRPbmx5Old0LHJlZmVycmVyUG9saWN5Om51bGwscmVsOkdhLHJlcXVpcmVkOld0LHJldmVyc2VkOld0LHJvd3M6WWUscm93U3BhbjpZZSxzYW5kYm94OkdhLHNjb3BlOm51bGwsc2NvcGVkOld0LHNlYW1sZXNzOld0LHNlbGVjdGVkOld0LHNoYWRvd1Jvb3RDbG9uYWJsZTpXdCxzaGFkb3dSb290RGVsZWdhdGVzRm9jdXM6V3Qsc2hhZG93Um9vdE1vZGU6bnVsbCxzaGFwZTpudWxsLHNpemU6WWUsc2l6ZXM6bnVsbCxzbG90Om51bGwsc3BhbjpZZSxzcGVsbENoZWNrOlJyLHNyYzpudWxsLHNyY0RvYzpudWxsLHNyY0xhbmc6bnVsbCxzcmNTZXQ6bnVsbCxzdGFydDpZZSxzdGVwOm51bGwsc3R5bGU6bnVsbCx0YWJJbmRleDpZZSx0YXJnZXQ6bnVsbCx0aXRsZTpudWxsLHRyYW5zbGF0ZTpudWxsLHR5cGU6bnVsbCx0eXBlTXVzdE1hdGNoOld0LHVzZU1hcDpudWxsLHZhbHVlOlJyLHdpZHRoOlllLHdyYXA6bnVsbCx3cml0aW5nU3VnZ2VzdGlvbnM6bnVsbCxhbGlnbjpudWxsLGFMaW5rOm51bGwsYXJjaGl2ZTpHYSxheGlzOm51bGwsYmFja2dyb3VuZDpudWxsLGJnQ29sb3I6bnVsbCxib3JkZXI6WWUsYm9yZGVyQ29sb3I6bnVsbCxib3R0b21NYXJnaW46WWUsY2VsbFBhZGRpbmc6bnVsbCxjZWxsU3BhY2luZzpudWxsLGNoYXI6bnVsbCxjaGFyT2ZmOm51bGwsY2xhc3NJZDpudWxsLGNsZWFyOm51bGwsY29kZTpudWxsLGNvZGVCYXNlOm51bGwsY29kZVR5cGU6bnVsbCxjb2xvcjpudWxsLGNvbXBhY3Q6V3QsZGVjbGFyZTpXdCxldmVudDpudWxsLGZhY2U6bnVsbCxmcmFtZTpudWxsLGZyYW1lQm9yZGVyOm51bGwsaFNwYWNlOlllLGxlZnRNYXJnaW46WWUsbGluazpudWxsLGxvbmdEZXNjOm51bGwsbG93U3JjOm51bGwsbWFyZ2luSGVpZ2h0OlllLG1hcmdpbldpZHRoOlllLG5vUmVzaXplOld0LG5vSHJlZjpXdCxub1NoYWRlOld0LG5vV3JhcDpXdCxvYmplY3Q6bnVsbCxwcm9maWxlOm51bGwscHJvbXB0Om51bGwscmV2Om51bGwscmlnaHRNYXJnaW46WWUscnVsZXM6bnVsbCxzY2hlbWU6bnVsbCxzY3JvbGxpbmc6UnIsc3RhbmRieTpudWxsLHN1bW1hcnk6bnVsbCx0ZXh0Om51bGwsdG9wTWFyZ2luOlllLHZhbHVlVHlwZTpudWxsLHZlcnNpb246bnVsbCx2QWxpZ246bnVsbCx2TGluazpudWxsLHZTcGFjZTpZZSxhbGxvd1RyYW5zcGFyZW5jeTpudWxsLGF1dG9Db3JyZWN0Om51bGwsYXV0b1NhdmU6bnVsbCxkaXNhYmxlUGljdHVyZUluUGljdHVyZTpXdCxkaXNhYmxlUmVtb3RlUGxheWJhY2s6V3QscHJlZml4Om51bGwscHJvcGVydHk6bnVsbCxyZXN1bHRzOlllLHNlY3VyaXR5Om51bGwsdW5zZWxlY3RhYmxlOm51bGx9LHNwYWNlOiJodG1sIix0cmFuc2Zvcm06Y0p9KX0pO3ZhciB5NXQsdzV0PWYoKCk9PntaM2UoKTtKMygpO25iKCk7eTV0PUxuKHthdHRyaWJ1dGVzOnthY2NlbnRIZWlnaHQ6ImFjY2VudC1oZWlnaHQiLGFsaWdubWVudEJhc2VsaW5lOiJhbGlnbm1lbnQtYmFzZWxpbmUiLGFyYWJpY0Zvcm06ImFyYWJpYy1mb3JtIixiYXNlbGluZVNoaWZ0OiJiYXNlbGluZS1zaGlmdCIsY2FwSGVpZ2h0OiJjYXAtaGVpZ2h0IixjbGFzc05hbWU6ImNsYXNzIixjbGlwUGF0aDoiY2xpcC1wYXRoIixjbGlwUnVsZToiY2xpcC1ydWxlIixjb2xvckludGVycG9sYXRpb246ImNvbG9yLWludGVycG9sYXRpb24iLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6ImNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycyIsY29sb3JQcm9maWxlOiJjb2xvci1wcm9maWxlIixjb2xvclJlbmRlcmluZzoiY29sb3ItcmVuZGVyaW5nIixjcm9zc09yaWdpbjoiY3Jvc3NvcmlnaW4iLGRhdGFUeXBlOiJkYXRhdHlwZSIsZG9taW5hbnRCYXNlbGluZToiZG9taW5hbnQtYmFzZWxpbmUiLGVuYWJsZUJhY2tncm91bmQ6ImVuYWJsZS1iYWNrZ3JvdW5kIixmaWxsT3BhY2l0eToiZmlsbC1vcGFjaXR5IixmaWxsUnVsZToiZmlsbC1ydWxlIixmbG9vZENvbG9yOiJmbG9vZC1jb2xvciIsZmxvb2RPcGFjaXR5OiJmbG9vZC1vcGFjaXR5Iixmb250RmFtaWx5OiJmb250LWZhbWlseSIsZm9udFNpemU6ImZvbnQtc2l6ZSIsZm9udFNpemVBZGp1c3Q6ImZvbnQtc2l6ZS1hZGp1c3QiLGZvbnRTdHJldGNoOiJmb250LXN0cmV0Y2giLGZvbnRTdHlsZToiZm9udC1zdHlsZSIsZm9udFZhcmlhbnQ6ImZvbnQtdmFyaWFudCIsZm9udFdlaWdodDoiZm9udC13ZWlnaHQiLGdseXBoTmFtZToiZ2x5cGgtbmFtZSIsZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWw6ImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiLGdseXBoT3JpZW50YXRpb25WZXJ0aWNhbDoiZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwiLGhyZWZMYW5nOiJocmVmbGFuZyIsaG9yaXpBZHZYOiJob3Jpei1hZHYteCIsaG9yaXpPcmlnaW5YOiJob3Jpei1vcmlnaW4teCIsaG9yaXpPcmlnaW5ZOiJob3Jpei1vcmlnaW4teSIsaW1hZ2VSZW5kZXJpbmc6ImltYWdlLXJlbmRlcmluZyIsbGV0dGVyU3BhY2luZzoibGV0dGVyLXNwYWNpbmciLGxpZ2h0aW5nQ29sb3I6ImxpZ2h0aW5nLWNvbG9yIixtYXJrZXJFbmQ6Im1hcmtlci1lbmQiLG1hcmtlck1pZDoibWFya2VyLW1pZCIsbWFya2VyU3RhcnQ6Im1hcmtlci1zdGFydCIsbmF2RG93bjoibmF2LWRvd24iLG5hdkRvd25MZWZ0OiJuYXYtZG93bi1sZWZ0IixuYXZEb3duUmlnaHQ6Im5hdi1kb3duLXJpZ2h0IixuYXZMZWZ0OiJuYXYtbGVmdCIsbmF2TmV4dDoibmF2LW5leHQiLG5hdlByZXY6Im5hdi1wcmV2IixuYXZSaWdodDoibmF2LXJpZ2h0IixuYXZVcDoibmF2LXVwIixuYXZVcExlZnQ6Im5hdi11cC1sZWZ0IixuYXZVcFJpZ2h0OiJuYXYtdXAtcmlnaHQiLG9uQWJvcnQ6Im9uYWJvcnQiLG9uQWN0aXZhdGU6Im9uYWN0aXZhdGUiLG9uQWZ0ZXJQcmludDoib25hZnRlcnByaW50IixvbkJlZm9yZVByaW50OiJvbmJlZm9yZXByaW50IixvbkJlZ2luOiJvbmJlZ2luIixvbkNhbmNlbDoib25jYW5jZWwiLG9uQ2FuUGxheToib25jYW5wbGF5IixvbkNhblBsYXlUaHJvdWdoOiJvbmNhbnBsYXl0aHJvdWdoIixvbkNoYW5nZToib25jaGFuZ2UiLG9uQ2xpY2s6Im9uY2xpY2siLG9uQ2xvc2U6Im9uY2xvc2UiLG9uQ29weToib25jb3B5IixvbkN1ZUNoYW5nZToib25jdWVjaGFuZ2UiLG9uQ3V0OiJvbmN1dCIsb25EYmxDbGljazoib25kYmxjbGljayIsb25EcmFnOiJvbmRyYWciLG9uRHJhZ0VuZDoib25kcmFnZW5kIixvbkRyYWdFbnRlcjoib25kcmFnZW50ZXIiLG9uRHJhZ0V4aXQ6Im9uZHJhZ2V4aXQiLG9uRHJhZ0xlYXZlOiJvbmRyYWdsZWF2ZSIsb25EcmFnT3Zlcjoib25kcmFnb3ZlciIsb25EcmFnU3RhcnQ6Im9uZHJhZ3N0YXJ0IixvbkRyb3A6Im9uZHJvcCIsb25EdXJhdGlvbkNoYW5nZToib25kdXJhdGlvbmNoYW5nZSIsb25FbXB0aWVkOiJvbmVtcHRpZWQiLG9uRW5kOiJvbmVuZCIsb25FbmRlZDoib25lbmRlZCIsb25FcnJvcjoib25lcnJvciIsb25Gb2N1czoib25mb2N1cyIsb25Gb2N1c0luOiJvbmZvY3VzaW4iLG9uRm9jdXNPdXQ6Im9uZm9jdXNvdXQiLG9uSGFzaENoYW5nZToib25oYXNoY2hhbmdlIixvbklucHV0OiJvbmlucHV0IixvbkludmFsaWQ6Im9uaW52YWxpZCIsb25LZXlEb3duOiJvbmtleWRvd24iLG9uS2V5UHJlc3M6Im9ua2V5cHJlc3MiLG9uS2V5VXA6Im9ua2V5dXAiLG9uTG9hZDoib25sb2FkIixvbkxvYWRlZERhdGE6Im9ubG9hZGVkZGF0YSIsb25Mb2FkZWRNZXRhZGF0YToib25sb2FkZWRtZXRhZGF0YSIsb25Mb2FkU3RhcnQ6Im9ubG9hZHN0YXJ0Iixvbk1lc3NhZ2U6Im9ubWVzc2FnZSIsb25Nb3VzZURvd246Im9ubW91c2Vkb3duIixvbk1vdXNlRW50ZXI6Im9ubW91c2VlbnRlciIsb25Nb3VzZUxlYXZlOiJvbm1vdXNlbGVhdmUiLG9uTW91c2VNb3ZlOiJvbm1vdXNlbW92ZSIsb25Nb3VzZU91dDoib25tb3VzZW91dCIsb25Nb3VzZU92ZXI6Im9ubW91c2VvdmVyIixvbk1vdXNlVXA6Im9ubW91c2V1cCIsb25Nb3VzZVdoZWVsOiJvbm1vdXNld2hlZWwiLG9uT2ZmbGluZToib25vZmZsaW5lIixvbk9ubGluZToib25vbmxpbmUiLG9uUGFnZUhpZGU6Im9ucGFnZWhpZGUiLG9uUGFnZVNob3c6Im9ucGFnZXNob3ciLG9uUGFzdGU6Im9ucGFzdGUiLG9uUGF1c2U6Im9ucGF1c2UiLG9uUGxheToib25wbGF5IixvblBsYXlpbmc6Im9ucGxheWluZyIsb25Qb3BTdGF0ZToib25wb3BzdGF0ZSIsb25Qcm9ncmVzczoib25wcm9ncmVzcyIsb25SYXRlQ2hhbmdlOiJvbnJhdGVjaGFuZ2UiLG9uUmVwZWF0OiJvbnJlcGVhdCIsb25SZXNldDoib25yZXNldCIsb25SZXNpemU6Im9ucmVzaXplIixvblNjcm9sbDoib25zY3JvbGwiLG9uU2Vla2VkOiJvbnNlZWtlZCIsb25TZWVraW5nOiJvbnNlZWtpbmciLG9uU2VsZWN0OiJvbnNlbGVjdCIsb25TaG93OiJvbnNob3ciLG9uU3RhbGxlZDoib25zdGFsbGVkIixvblN0b3JhZ2U6Im9uc3RvcmFnZSIsb25TdWJtaXQ6Im9uc3VibWl0IixvblN1c3BlbmQ6Im9uc3VzcGVuZCIsb25UaW1lVXBkYXRlOiJvbnRpbWV1cGRhdGUiLG9uVG9nZ2xlOiJvbnRvZ2dsZSIsb25VbmxvYWQ6Im9udW5sb2FkIixvblZvbHVtZUNoYW5nZToib252b2x1bWVjaGFuZ2UiLG9uV2FpdGluZzoib253YWl0aW5nIixvblpvb206Im9uem9vbSIsb3ZlcmxpbmVQb3NpdGlvbjoib3ZlcmxpbmUtcG9zaXRpb24iLG92ZXJsaW5lVGhpY2tuZXNzOiJvdmVybGluZS10aGlja25lc3MiLHBhaW50T3JkZXI6InBhaW50LW9yZGVyIixwYW5vc2UxOiJwYW5vc2UtMSIscG9pbnRlckV2ZW50czoicG9pbnRlci1ldmVudHMiLHJlZmVycmVyUG9saWN5OiJyZWZlcnJlcnBvbGljeSIscmVuZGVyaW5nSW50ZW50OiJyZW5kZXJpbmctaW50ZW50IixzaGFwZVJlbmRlcmluZzoic2hhcGUtcmVuZGVyaW5nIixzdG9wQ29sb3I6InN0b3AtY29sb3IiLHN0b3BPcGFjaXR5OiJzdG9wLW9wYWNpdHkiLHN0cmlrZXRocm91Z2hQb3NpdGlvbjoic3RyaWtldGhyb3VnaC1wb3NpdGlvbiIsc3RyaWtldGhyb3VnaFRoaWNrbmVzczoic3RyaWtldGhyb3VnaC10aGlja25lc3MiLHN0cm9rZURhc2hBcnJheToic3Ryb2tlLWRhc2hhcnJheSIsc3Ryb2tlRGFzaE9mZnNldDoic3Ryb2tlLWRhc2hvZmZzZXQiLHN0cm9rZUxpbmVDYXA6InN0cm9rZS1saW5lY2FwIixzdHJva2VMaW5lSm9pbjoic3Ryb2tlLWxpbmVqb2luIixzdHJva2VNaXRlckxpbWl0OiJzdHJva2UtbWl0ZXJsaW1pdCIsc3Ryb2tlT3BhY2l0eToic3Ryb2tlLW9wYWNpdHkiLHN0cm9rZVdpZHRoOiJzdHJva2Utd2lkdGgiLHRhYkluZGV4OiJ0YWJpbmRleCIsdGV4dEFuY2hvcjoidGV4dC1hbmNob3IiLHRleHREZWNvcmF0aW9uOiJ0ZXh0LWRlY29yYXRpb24iLHRleHRSZW5kZXJpbmc6InRleHQtcmVuZGVyaW5nIix0cmFuc2Zvcm1PcmlnaW46InRyYW5zZm9ybS1vcmlnaW4iLHR5cGVPZjoidHlwZW9mIix1bmRlcmxpbmVQb3NpdGlvbjoidW5kZXJsaW5lLXBvc2l0aW9uIix1bmRlcmxpbmVUaGlja25lc3M6InVuZGVybGluZS10aGlja25lc3MiLHVuaWNvZGVCaWRpOiJ1bmljb2RlLWJpZGkiLHVuaWNvZGVSYW5nZToidW5pY29kZS1yYW5nZSIsdW5pdHNQZXJFbToidW5pdHMtcGVyLWVtIix2QWxwaGFiZXRpYzoidi1hbHBoYWJldGljIix2SGFuZ2luZzoidi1oYW5naW5nIix2SWRlb2dyYXBoaWM6InYtaWRlb2dyYXBoaWMiLHZNYXRoZW1hdGljYWw6InYtbWF0aGVtYXRpY2FsIix2ZWN0b3JFZmZlY3Q6InZlY3Rvci1lZmZlY3QiLHZlcnRBZHZZOiJ2ZXJ0LWFkdi15Iix2ZXJ0T3JpZ2luWDoidmVydC1vcmlnaW4teCIsdmVydE9yaWdpblk6InZlcnQtb3JpZ2luLXkiLHdvcmRTcGFjaW5nOiJ3b3JkLXNwYWNpbmciLHdyaXRpbmdNb2RlOiJ3cml0aW5nLW1vZGUiLHhIZWlnaHQ6IngtaGVpZ2h0IixwbGF5YmFja09yZGVyOiJwbGF5YmFja29yZGVyIix0aW1lbGluZUJlZ2luOiJ0aW1lbGluZWJlZ2luIn0scHJvcGVydGllczp7YWJvdXQ6UG8sYWNjZW50SGVpZ2h0OlllLGFjY3VtdWxhdGU6bnVsbCxhZGRpdGl2ZTpudWxsLGFsaWdubWVudEJhc2VsaW5lOm51bGwsYWxwaGFiZXRpYzpZZSxhbXBsaXR1ZGU6WWUsYXJhYmljRm9ybTpudWxsLGFzY2VudDpZZSxhdHRyaWJ1dGVOYW1lOm51bGwsYXR0cmlidXRlVHlwZTpudWxsLGF6aW11dGg6WWUsYmFuZHdpZHRoOm51bGwsYmFzZWxpbmVTaGlmdDpudWxsLGJhc2VGcmVxdWVuY3k6bnVsbCxiYXNlUHJvZmlsZTpudWxsLGJib3g6bnVsbCxiZWdpbjpudWxsLGJpYXM6WWUsYnk6bnVsbCxjYWxjTW9kZTpudWxsLGNhcEhlaWdodDpZZSxjbGFzc05hbWU6R2EsY2xpcDpudWxsLGNsaXBQYXRoOm51bGwsY2xpcFBhdGhVbml0czpudWxsLGNsaXBSdWxlOm51bGwsY29sb3I6bnVsbCxjb2xvckludGVycG9sYXRpb246bnVsbCxjb2xvckludGVycG9sYXRpb25GaWx0ZXJzOm51bGwsY29sb3JQcm9maWxlOm51bGwsY29sb3JSZW5kZXJpbmc6bnVsbCxjb250ZW50Om51bGwsY29udGVudFNjcmlwdFR5cGU6bnVsbCxjb250ZW50U3R5bGVUeXBlOm51bGwsY3Jvc3NPcmlnaW46bnVsbCxjdXJzb3I6bnVsbCxjeDpudWxsLGN5Om51bGwsZDpudWxsLGRhdGFUeXBlOm51bGwsZGVmYXVsdEFjdGlvbjpudWxsLGRlc2NlbnQ6WWUsZGlmZnVzZUNvbnN0YW50OlllLGRpcmVjdGlvbjpudWxsLGRpc3BsYXk6bnVsbCxkdXI6bnVsbCxkaXZpc29yOlllLGRvbWluYW50QmFzZWxpbmU6bnVsbCxkb3dubG9hZDpXdCxkeDpudWxsLGR5Om51bGwsZWRnZU1vZGU6bnVsbCxlZGl0YWJsZTpudWxsLGVsZXZhdGlvbjpZZSxlbmFibGVCYWNrZ3JvdW5kOm51bGwsZW5kOm51bGwsZXZlbnQ6bnVsbCxleHBvbmVudDpZZSxleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOm51bGwsZmlsbDpudWxsLGZpbGxPcGFjaXR5OlllLGZpbGxSdWxlOm51bGwsZmlsdGVyOm51bGwsZmlsdGVyUmVzOm51bGwsZmlsdGVyVW5pdHM6bnVsbCxmbG9vZENvbG9yOm51bGwsZmxvb2RPcGFjaXR5Om51bGwsZm9jdXNhYmxlOm51bGwsZm9jdXNIaWdobGlnaHQ6bnVsbCxmb250RmFtaWx5Om51bGwsZm9udFNpemU6bnVsbCxmb250U2l6ZUFkanVzdDpudWxsLGZvbnRTdHJldGNoOm51bGwsZm9udFN0eWxlOm51bGwsZm9udFZhcmlhbnQ6bnVsbCxmb250V2VpZ2h0Om51bGwsZm9ybWF0Om51bGwsZnI6bnVsbCxmcm9tOm51bGwsZng6bnVsbCxmeTpudWxsLGcxOlUwLGcyOlUwLGdseXBoTmFtZTpVMCxnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbDpudWxsLGdseXBoT3JpZW50YXRpb25WZXJ0aWNhbDpudWxsLGdseXBoUmVmOm51bGwsZ3JhZGllbnRUcmFuc2Zvcm06bnVsbCxncmFkaWVudFVuaXRzOm51bGwsaGFuZGxlcjpudWxsLGhhbmdpbmc6WWUsaGF0Y2hDb250ZW50VW5pdHM6bnVsbCxoYXRjaFVuaXRzOm51bGwsaGVpZ2h0Om51bGwsaHJlZjpudWxsLGhyZWZMYW5nOm51bGwsaG9yaXpBZHZYOlllLGhvcml6T3JpZ2luWDpZZSxob3Jpek9yaWdpblk6WWUsaWQ6bnVsbCxpZGVvZ3JhcGhpYzpZZSxpbWFnZVJlbmRlcmluZzpudWxsLGluaXRpYWxWaXNpYmlsaXR5Om51bGwsaW46bnVsbCxpbjI6bnVsbCxpbnRlcmNlcHQ6WWUsazpZZSxrMTpZZSxrMjpZZSxrMzpZZSxrNDpZZSxrZXJuZWxNYXRyaXg6UG8sa2VybmVsVW5pdExlbmd0aDpudWxsLGtleVBvaW50czpudWxsLGtleVNwbGluZXM6bnVsbCxrZXlUaW1lczpudWxsLGtlcm5pbmc6bnVsbCxsYW5nOm51bGwsbGVuZ3RoQWRqdXN0Om51bGwsbGV0dGVyU3BhY2luZzpudWxsLGxpZ2h0aW5nQ29sb3I6bnVsbCxsaW1pdGluZ0NvbmVBbmdsZTpZZSxsb2NhbDpudWxsLG1hcmtlckVuZDpudWxsLG1hcmtlck1pZDpudWxsLG1hcmtlclN0YXJ0Om51bGwsbWFya2VySGVpZ2h0Om51bGwsbWFya2VyVW5pdHM6bnVsbCxtYXJrZXJXaWR0aDpudWxsLG1hc2s6bnVsbCxtYXNrQ29udGVudFVuaXRzOm51bGwsbWFza1VuaXRzOm51bGwsbWF0aGVtYXRpY2FsOm51bGwsbWF4Om51bGwsbWVkaWE6bnVsbCxtZWRpYUNoYXJhY3RlckVuY29kaW5nOm51bGwsbWVkaWFDb250ZW50RW5jb2RpbmdzOm51bGwsbWVkaWFTaXplOlllLG1lZGlhVGltZTpudWxsLG1ldGhvZDpudWxsLG1pbjpudWxsLG1vZGU6bnVsbCxuYW1lOm51bGwsbmF2RG93bjpudWxsLG5hdkRvd25MZWZ0Om51bGwsbmF2RG93blJpZ2h0Om51bGwsbmF2TGVmdDpudWxsLG5hdk5leHQ6bnVsbCxuYXZQcmV2Om51bGwsbmF2UmlnaHQ6bnVsbCxuYXZVcDpudWxsLG5hdlVwTGVmdDpudWxsLG5hdlVwUmlnaHQ6bnVsbCxudW1PY3RhdmVzOm51bGwsb2JzZXJ2ZXI6bnVsbCxvZmZzZXQ6bnVsbCxvbkFib3J0Om51bGwsb25BY3RpdmF0ZTpudWxsLG9uQWZ0ZXJQcmludDpudWxsLG9uQmVmb3JlUHJpbnQ6bnVsbCxvbkJlZ2luOm51bGwsb25DYW5jZWw6bnVsbCxvbkNhblBsYXk6bnVsbCxvbkNhblBsYXlUaHJvdWdoOm51bGwsb25DaGFuZ2U6bnVsbCxvbkNsaWNrOm51bGwsb25DbG9zZTpudWxsLG9uQ29weTpudWxsLG9uQ3VlQ2hhbmdlOm51bGwsb25DdXQ6bnVsbCxvbkRibENsaWNrOm51bGwsb25EcmFnOm51bGwsb25EcmFnRW5kOm51bGwsb25EcmFnRW50ZXI6bnVsbCxvbkRyYWdFeGl0Om51bGwsb25EcmFnTGVhdmU6bnVsbCxvbkRyYWdPdmVyOm51bGwsb25EcmFnU3RhcnQ6bnVsbCxvbkRyb3A6bnVsbCxvbkR1cmF0aW9uQ2hhbmdlOm51bGwsb25FbXB0aWVkOm51bGwsb25FbmQ6bnVsbCxvbkVuZGVkOm51bGwsb25FcnJvcjpudWxsLG9uRm9jdXM6bnVsbCxvbkZvY3VzSW46bnVsbCxvbkZvY3VzT3V0Om51bGwsb25IYXNoQ2hhbmdlOm51bGwsb25JbnB1dDpudWxsLG9uSW52YWxpZDpudWxsLG9uS2V5RG93bjpudWxsLG9uS2V5UHJlc3M6bnVsbCxvbktleVVwOm51bGwsb25Mb2FkOm51bGwsb25Mb2FkZWREYXRhOm51bGwsb25Mb2FkZWRNZXRhZGF0YTpudWxsLG9uTG9hZFN0YXJ0Om51bGwsb25NZXNzYWdlOm51bGwsb25Nb3VzZURvd246bnVsbCxvbk1vdXNlRW50ZXI6bnVsbCxvbk1vdXNlTGVhdmU6bnVsbCxvbk1vdXNlTW92ZTpudWxsLG9uTW91c2VPdXQ6bnVsbCxvbk1vdXNlT3ZlcjpudWxsLG9uTW91c2VVcDpudWxsLG9uTW91c2VXaGVlbDpudWxsLG9uT2ZmbGluZTpudWxsLG9uT25saW5lOm51bGwsb25QYWdlSGlkZTpudWxsLG9uUGFnZVNob3c6bnVsbCxvblBhc3RlOm51bGwsb25QYXVzZTpudWxsLG9uUGxheTpudWxsLG9uUGxheWluZzpudWxsLG9uUG9wU3RhdGU6bnVsbCxvblByb2dyZXNzOm51bGwsb25SYXRlQ2hhbmdlOm51bGwsb25SZXBlYXQ6bnVsbCxvblJlc2V0Om51bGwsb25SZXNpemU6bnVsbCxvblNjcm9sbDpudWxsLG9uU2Vla2VkOm51bGwsb25TZWVraW5nOm51bGwsb25TZWxlY3Q6bnVsbCxvblNob3c6bnVsbCxvblN0YWxsZWQ6bnVsbCxvblN0b3JhZ2U6bnVsbCxvblN1Ym1pdDpudWxsLG9uU3VzcGVuZDpudWxsLG9uVGltZVVwZGF0ZTpudWxsLG9uVG9nZ2xlOm51bGwsb25VbmxvYWQ6bnVsbCxvblZvbHVtZUNoYW5nZTpudWxsLG9uV2FpdGluZzpudWxsLG9uWm9vbTpudWxsLG9wYWNpdHk6bnVsbCxvcGVyYXRvcjpudWxsLG9yZGVyOm51bGwsb3JpZW50Om51bGwsb3JpZW50YXRpb246bnVsbCxvcmlnaW46bnVsbCxvdmVyZmxvdzpudWxsLG92ZXJsYXk6bnVsbCxvdmVybGluZVBvc2l0aW9uOlllLG92ZXJsaW5lVGhpY2tuZXNzOlllLHBhaW50T3JkZXI6bnVsbCxwYW5vc2UxOm51bGwscGF0aDpudWxsLHBhdGhMZW5ndGg6WWUscGF0dGVybkNvbnRlbnRVbml0czpudWxsLHBhdHRlcm5UcmFuc2Zvcm06bnVsbCxwYXR0ZXJuVW5pdHM6bnVsbCxwaGFzZTpudWxsLHBpbmc6R2EscGl0Y2g6bnVsbCxwbGF5YmFja09yZGVyOm51bGwscG9pbnRlckV2ZW50czpudWxsLHBvaW50czpudWxsLHBvaW50c0F0WDpZZSxwb2ludHNBdFk6WWUscG9pbnRzQXRaOlllLHByZXNlcnZlQWxwaGE6bnVsbCxwcmVzZXJ2ZUFzcGVjdFJhdGlvOm51bGwscHJpbWl0aXZlVW5pdHM6bnVsbCxwcm9wYWdhdGU6bnVsbCxwcm9wZXJ0eTpQbyxyOm51bGwscmFkaXVzOm51bGwscmVmZXJyZXJQb2xpY3k6bnVsbCxyZWZYOm51bGwscmVmWTpudWxsLHJlbDpQbyxyZXY6UG8scmVuZGVyaW5nSW50ZW50Om51bGwscmVwZWF0Q291bnQ6bnVsbCxyZXBlYXREdXI6bnVsbCxyZXF1aXJlZEV4dGVuc2lvbnM6UG8scmVxdWlyZWRGZWF0dXJlczpQbyxyZXF1aXJlZEZvbnRzOlBvLHJlcXVpcmVkRm9ybWF0czpQbyxyZXNvdXJjZTpudWxsLHJlc3RhcnQ6bnVsbCxyZXN1bHQ6bnVsbCxyb3RhdGU6bnVsbCxyeDpudWxsLHJ5Om51bGwsc2NhbGU6bnVsbCxzZWVkOm51bGwsc2hhcGVSZW5kZXJpbmc6bnVsbCxzaWRlOm51bGwsc2xvcGU6bnVsbCxzbmFwc2hvdFRpbWU6bnVsbCxzcGVjdWxhckNvbnN0YW50OlllLHNwZWN1bGFyRXhwb25lbnQ6WWUsc3ByZWFkTWV0aG9kOm51bGwsc3BhY2luZzpudWxsLHN0YXJ0T2Zmc2V0Om51bGwsc3RkRGV2aWF0aW9uOm51bGwsc3RlbWg6bnVsbCxzdGVtdjpudWxsLHN0aXRjaFRpbGVzOm51bGwsc3RvcENvbG9yOm51bGwsc3RvcE9wYWNpdHk6bnVsbCxzdHJpa2V0aHJvdWdoUG9zaXRpb246WWUsc3RyaWtldGhyb3VnaFRoaWNrbmVzczpZZSxzdHJpbmc6bnVsbCxzdHJva2U6bnVsbCxzdHJva2VEYXNoQXJyYXk6UG8sc3Ryb2tlRGFzaE9mZnNldDpudWxsLHN0cm9rZUxpbmVDYXA6bnVsbCxzdHJva2VMaW5lSm9pbjpudWxsLHN0cm9rZU1pdGVyTGltaXQ6WWUsc3Ryb2tlT3BhY2l0eTpZZSxzdHJva2VXaWR0aDpudWxsLHN0eWxlOm51bGwsc3VyZmFjZVNjYWxlOlllLHN5bmNCZWhhdmlvcjpudWxsLHN5bmNCZWhhdmlvckRlZmF1bHQ6bnVsbCxzeW5jTWFzdGVyOm51bGwsc3luY1RvbGVyYW5jZTpudWxsLHN5bmNUb2xlcmFuY2VEZWZhdWx0Om51bGwsc3lzdGVtTGFuZ3VhZ2U6UG8sdGFiSW5kZXg6WWUsdGFibGVWYWx1ZXM6bnVsbCx0YXJnZXQ6bnVsbCx0YXJnZXRYOlllLHRhcmdldFk6WWUsdGV4dEFuY2hvcjpudWxsLHRleHREZWNvcmF0aW9uOm51bGwsdGV4dFJlbmRlcmluZzpudWxsLHRleHRMZW5ndGg6bnVsbCx0aW1lbGluZUJlZ2luOm51bGwsdGl0bGU6bnVsbCx0cmFuc2Zvcm1CZWhhdmlvcjpudWxsLHR5cGU6bnVsbCx0eXBlT2Y6UG8sdG86bnVsbCx0cmFuc2Zvcm06bnVsbCx0cmFuc2Zvcm1PcmlnaW46bnVsbCx1MTpudWxsLHUyOm51bGwsdW5kZXJsaW5lUG9zaXRpb246WWUsdW5kZXJsaW5lVGhpY2tuZXNzOlllLHVuaWNvZGU6bnVsbCx1bmljb2RlQmlkaTpudWxsLHVuaWNvZGVSYW5nZTpudWxsLHVuaXRzUGVyRW06WWUsdmFsdWVzOm51bGwsdkFscGhhYmV0aWM6WWUsdk1hdGhlbWF0aWNhbDpZZSx2ZWN0b3JFZmZlY3Q6bnVsbCx2SGFuZ2luZzpZZSx2SWRlb2dyYXBoaWM6WWUsdmVyc2lvbjpudWxsLHZlcnRBZHZZOlllLHZlcnRPcmlnaW5YOlllLHZlcnRPcmlnaW5ZOlllLHZpZXdCb3g6bnVsbCx2aWV3VGFyZ2V0Om51bGwsdmlzaWJpbGl0eTpudWxsLHdpZHRoOm51bGwsd2lkdGhzOm51bGwsd29yZFNwYWNpbmc6bnVsbCx3cml0aW5nTW9kZTpudWxsLHg6bnVsbCx4MTpudWxsLHgyOm51bGwseENoYW5uZWxTZWxlY3RvcjpudWxsLHhIZWlnaHQ6WWUseTpudWxsLHkxOm51bGwseTI6bnVsbCx5Q2hhbm5lbFNlbGVjdG9yOm51bGwsejpudWxsLHpvb21BbmRQYW46bnVsbH0sc3BhY2U6InN2ZyIsdHJhbnNmb3JtOmxKfSl9KTt2YXIgUTNlLE01dD1mKCgpPT57SjMoKTtRM2U9TG4oe3Byb3BlcnRpZXM6e3hMaW5rQWN0dWF0ZTpudWxsLHhMaW5rQXJjUm9sZTpudWxsLHhMaW5rSHJlZjpudWxsLHhMaW5rUm9sZTpudWxsLHhMaW5rU2hvdzpudWxsLHhMaW5rVGl0bGU6bnVsbCx4TGlua1R5cGU6bnVsbH0sc3BhY2U6InhsaW5rIix0cmFuc2Zvcm0oYSxlKXtyZXR1cm4ieGxpbms6IitlLnNsaWNlKDUpLnRvTG93ZXJDYXNlKCl9fSl9KTt2YXIgSjNlLGs1dD1mKCgpPT57SjMoKTtYM2UoKTtKM2U9TG4oe2F0dHJpYnV0ZXM6e3htbG5zeGxpbms6InhtbG5zOnhsaW5rIn0scHJvcGVydGllczp7eG1sbnNYTGluazpudWxsLHhtbG5zOm51bGx9LHNwYWNlOiJ4bWxucyIsdHJhbnNmb3JtOmNKfSl9KTt2YXIgZWRlLFM1dD1mKCgpPT57SjMoKTtlZGU9TG4oe3Byb3BlcnRpZXM6e3htbEJhc2U6bnVsbCx4bWxMYW5nOm51bGwseG1sU3BhY2U6bnVsbH0sc3BhY2U6InhtbCIsdHJhbnNmb3JtKGEsZSl7cmV0dXJuInhtbDoiK2Uuc2xpY2UoMykudG9Mb3dlckNhc2UoKX19KX0pO3ZhciB6NXQ9ZigoKT0+e30pO2Z1bmN0aW9uIHRkZShhLGUpe2xldCB0PVQ4KGUpLHI9ZSxpPVVzO2lmKHQgaW4gYS5ub3JtYWwpcmV0dXJuIGEucHJvcGVydHlbYS5ub3JtYWxbdF1dO2lmKHQubGVuZ3RoPjQmJnQuc2xpY2UoMCw0KT09PSJkYXRhIiYmZFNhLnRlc3QoZSkpe2lmKGUuY2hhckF0KDQpPT09Ii0iKXtsZXQgbz1lLnNsaWNlKDUpLnJlcGxhY2UoQzV0LHBTYSk7cj0iZGF0YSIrby5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStvLnNsaWNlKDEpfWVsc2V7bGV0IG89ZS5zbGljZSg0KTtpZighQzV0LnRlc3Qobykpe2xldCBuPW8ucmVwbGFjZShjU2EsdVNhKTtuLmNoYXJBdCgwKSE9PSItIiYmKG49Ii0iK24pLGU9ImRhdGEiK259fWk9UTN9cmV0dXJuIG5ldyBpKHIsZSl9ZnVuY3Rpb24gdVNhKGEpe3JldHVybiItIithLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gcFNhKGEpe3JldHVybiBhLmNoYXJBdCgxKS50b1VwcGVyQ2FzZSgpfXZhciBjU2EsQzV0LGRTYSxfNXQ9ZigoKT0+e1kzZSgpO1czZSgpO29KKCk7Y1NhPS9bQS1aXS9nLEM1dD0vLVthLXpdL2csZFNhPS9eZGF0YVstXHcuOl0rJC9pO3ModGRlLCJmaW5kIik7cyh1U2EsImtlYmFiIik7cyhwU2EsImNhbWVsY2FzZSIpfSk7dmFyIFQ1dCxkSixhZGU9ZigoKT0+e201dCgpO2I1dCgpO3g1dCgpO3c1dCgpO001dCgpO2s1dCgpO1M1dCgpO3o1dCgpO181dCgpO29KKCk7VDV0PVUzZShbSzNlLHY1dCxRM2UsSjNlLGVkZV0sImh0bWwiKSxkSj1VM2UoW0szZSx5NXQsUTNlLEozZSxlZGVdLCJzdmciKX0pO2Z1bmN0aW9uIHJkZShhLGUpe2lmKGE9YS5yZXBsYWNlKGUuc3Vic2V0P2JTYShlLnN1YnNldCk6ZlNhLHIpLGUuc3Vic2V0fHxlLmVzY2FwZU9ubHkpcmV0dXJuIGE7cmV0dXJuIGEucmVwbGFjZShoU2EsdCkucmVwbGFjZShtU2Escik7ZnVuY3Rpb24gdChpLG8sbil7cmV0dXJuIGUuZm9ybWF0KChpLmNoYXJDb2RlQXQoMCktNTUyOTYpKjEwMjQraS5jaGFyQ29kZUF0KDEpLTU2MzIwKzY1NTM2LG4uY2hhckNvZGVBdChvKzIpLGUpfWZ1bmN0aW9uIHIoaSxvLG4pe3JldHVybiBlLmZvcm1hdChpLmNoYXJDb2RlQXQoMCksbi5jaGFyQ29kZUF0KG8rMSksZSl9fWZ1bmN0aW9uIGJTYShhKXtsZXQgZT1MNXQuZ2V0KGEpO3JldHVybiBlfHwoZT12U2EoYSksTDV0LnNldChhLGUpKSxlfWZ1bmN0aW9uIHZTYShhKXtsZXQgZT1bXSx0PS0xO2Zvcig7Kyt0PGEubGVuZ3RoOyllLnB1c2goYVt0XS5yZXBsYWNlKGdTYSwiXFwkJiIpKTtyZXR1cm4gbmV3IFJlZ0V4cCgiKD86IitlLmpvaW4oInwiKSsiKSIsImciKX12YXIgZlNhLGhTYSxtU2EsZ1NhLEw1dCwkNXQ9ZigoKT0+e2ZTYT0vWyImJzw+YF0vZyxoU2E9L1tcdUQ4MDAtXHVEQkZGXVtcdURDMDAtXHVERkZGXS9nLG1TYT0vW1x4MDEtXHRcdlxmXHgwRS1ceDFGXHg3Rlx4ODFceDhEXHg4Rlx4OTBceDlEXHhBMC1cdUZGRkZdL2csZ1NhPS9bfFxce30oKVtcXV4kKyo/Ll0vZyxMNXQ9bmV3IFdlYWtNYXA7cyhyZGUsImNvcmUiKTtzKGJTYSwiY2hhcmFjdGVyc1RvRXhwcmVzc2lvbkNhY2hlZCIpO3ModlNhLCJjaGFyYWN0ZXJzVG9FeHByZXNzaW9uIil9KTtmdW5jdGlvbiBENXQoYSxlLHQpe2xldCByPSImI3giK2EudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7cmV0dXJuIHQmJmUmJiF4U2EudGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKT9yOnIrIjsifXZhciB4U2EsQTV0PWYoKCk9Pnt4U2E9L1tcZEEtRmEtZl0vO3MoRDV0LCJ0b0hleGFkZWNpbWFsIil9KTtmdW5jdGlvbiBQNXQoYSxlLHQpe2xldCByPSImIyIrU3RyaW5nKGEpO3JldHVybiB0JiZlJiYheVNhLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZShlKSk/cjpyKyI7In12YXIgeVNhLEU1dD1mKCgpPT57eVNhPS9cZC87cyhQNXQsInRvRGVjaW1hbCIpfSk7dmFyIEk1dCxONXQ9ZigoKT0+e0k1dD1bIkFFbGlnIiwiQU1QIiwiQWFjdXRlIiwiQWNpcmMiLCJBZ3JhdmUiLCJBcmluZyIsIkF0aWxkZSIsIkF1bWwiLCJDT1BZIiwiQ2NlZGlsIiwiRVRIIiwiRWFjdXRlIiwiRWNpcmMiLCJFZ3JhdmUiLCJFdW1sIiwiR1QiLCJJYWN1dGUiLCJJY2lyYyIsIklncmF2ZSIsIkl1bWwiLCJMVCIsIk50aWxkZSIsIk9hY3V0ZSIsIk9jaXJjIiwiT2dyYXZlIiwiT3NsYXNoIiwiT3RpbGRlIiwiT3VtbCIsIlFVT1QiLCJSRUciLCJUSE9STiIsIlVhY3V0ZSIsIlVjaXJjIiwiVWdyYXZlIiwiVXVtbCIsIllhY3V0ZSIsImFhY3V0ZSIsImFjaXJjIiwiYWN1dGUiLCJhZWxpZyIsImFncmF2ZSIsImFtcCIsImFyaW5nIiwiYXRpbGRlIiwiYXVtbCIsImJydmJhciIsImNjZWRpbCIsImNlZGlsIiwiY2VudCIsImNvcHkiLCJjdXJyZW4iLCJkZWciLCJkaXZpZGUiLCJlYWN1dGUiLCJlY2lyYyIsImVncmF2ZSIsImV0aCIsImV1bWwiLCJmcmFjMTIiLCJmcmFjMTQiLCJmcmFjMzQiLCJndCIsImlhY3V0ZSIsImljaXJjIiwiaWV4Y2wiLCJpZ3JhdmUiLCJpcXVlc3QiLCJpdW1sIiwibGFxdW8iLCJsdCIsIm1hY3IiLCJtaWNybyIsIm1pZGRvdCIsIm5ic3AiLCJub3QiLCJudGlsZGUiLCJvYWN1dGUiLCJvY2lyYyIsIm9ncmF2ZSIsIm9yZGYiLCJvcmRtIiwib3NsYXNoIiwib3RpbGRlIiwib3VtbCIsInBhcmEiLCJwbHVzbW4iLCJwb3VuZCIsInF1b3QiLCJyYXF1byIsInJlZyIsInNlY3QiLCJzaHkiLCJzdXAxIiwic3VwMiIsInN1cDMiLCJzemxpZyIsInRob3JuIiwidGltZXMiLCJ1YWN1dGUiLCJ1Y2lyYyIsInVncmF2ZSIsInVtbCIsInV1bWwiLCJ5YWN1dGUiLCJ5ZW4iLCJ5dW1sIl19KTt2YXIgdUosUjV0PWYoKCk9Pnt1Sj17bmJzcDoiXHhBMCIsaWV4Y2w6Ilx4QTEiLGNlbnQ6Ilx4QTIiLHBvdW5kOiJceEEzIixjdXJyZW46Ilx4QTQiLHllbjoiXHhBNSIsYnJ2YmFyOiJceEE2IixzZWN0OiJceEE3Iix1bWw6Ilx4QTgiLGNvcHk6Ilx4QTkiLG9yZGY6Ilx4QUEiLGxhcXVvOiJceEFCIixub3Q6Ilx4QUMiLHNoeToiXHhBRCIscmVnOiJceEFFIixtYWNyOiJceEFGIixkZWc6Ilx4QjAiLHBsdXNtbjoiXHhCMSIsc3VwMjoiXHhCMiIsc3VwMzoiXHhCMyIsYWN1dGU6Ilx4QjQiLG1pY3JvOiJceEI1IixwYXJhOiJceEI2IixtaWRkb3Q6Ilx4QjciLGNlZGlsOiJceEI4IixzdXAxOiJceEI5IixvcmRtOiJceEJBIixyYXF1bzoiXHhCQiIsZnJhYzE0OiJceEJDIixmcmFjMTI6Ilx4QkQiLGZyYWMzNDoiXHhCRSIsaXF1ZXN0OiJceEJGIixBZ3JhdmU6Ilx4QzAiLEFhY3V0ZToiXHhDMSIsQWNpcmM6Ilx4QzIiLEF0aWxkZToiXHhDMyIsQXVtbDoiXHhDNCIsQXJpbmc6Ilx4QzUiLEFFbGlnOiJceEM2IixDY2VkaWw6Ilx4QzciLEVncmF2ZToiXHhDOCIsRWFjdXRlOiJceEM5IixFY2lyYzoiXHhDQSIsRXVtbDoiXHhDQiIsSWdyYXZlOiJceENDIixJYWN1dGU6Ilx4Q0QiLEljaXJjOiJceENFIixJdW1sOiJceENGIixFVEg6Ilx4RDAiLE50aWxkZToiXHhEMSIsT2dyYXZlOiJceEQyIixPYWN1dGU6Ilx4RDMiLE9jaXJjOiJceEQ0IixPdGlsZGU6Ilx4RDUiLE91bWw6Ilx4RDYiLHRpbWVzOiJceEQ3IixPc2xhc2g6Ilx4RDgiLFVncmF2ZToiXHhEOSIsVWFjdXRlOiJceERBIixVY2lyYzoiXHhEQiIsVXVtbDoiXHhEQyIsWWFjdXRlOiJceEREIixUSE9STjoiXHhERSIsc3psaWc6Ilx4REYiLGFncmF2ZToiXHhFMCIsYWFjdXRlOiJceEUxIixhY2lyYzoiXHhFMiIsYXRpbGRlOiJceEUzIixhdW1sOiJceEU0IixhcmluZzoiXHhFNSIsYWVsaWc6Ilx4RTYiLGNjZWRpbDoiXHhFNyIsZWdyYXZlOiJceEU4IixlYWN1dGU6Ilx4RTkiLGVjaXJjOiJceEVBIixldW1sOiJceEVCIixpZ3JhdmU6Ilx4RUMiLGlhY3V0ZToiXHhFRCIsaWNpcmM6Ilx4RUUiLGl1bWw6Ilx4RUYiLGV0aDoiXHhGMCIsbnRpbGRlOiJceEYxIixvZ3JhdmU6Ilx4RjIiLG9hY3V0ZToiXHhGMyIsb2NpcmM6Ilx4RjQiLG90aWxkZToiXHhGNSIsb3VtbDoiXHhGNiIsZGl2aWRlOiJceEY3Iixvc2xhc2g6Ilx4RjgiLHVncmF2ZToiXHhGOSIsdWFjdXRlOiJceEZBIix1Y2lyYzoiXHhGQiIsdXVtbDoiXHhGQyIseWFjdXRlOiJceEZEIix0aG9ybjoiXHhGRSIseXVtbDoiXHhGRiIsZm5vZjoiXHUwMTkyIixBbHBoYToiXHUwMzkxIixCZXRhOiJcdTAzOTIiLEdhbW1hOiJcdTAzOTMiLERlbHRhOiJcdTAzOTQiLEVwc2lsb246Ilx1MDM5NSIsWmV0YToiXHUwMzk2IixFdGE6Ilx1MDM5NyIsVGhldGE6Ilx1MDM5OCIsSW90YToiXHUwMzk5IixLYXBwYToiXHUwMzlBIixMYW1iZGE6Ilx1MDM5QiIsTXU6Ilx1MDM5QyIsTnU6Ilx1MDM5RCIsWGk6Ilx1MDM5RSIsT21pY3JvbjoiXHUwMzlGIixQaToiXHUwM0EwIixSaG86Ilx1MDNBMSIsU2lnbWE6Ilx1MDNBMyIsVGF1OiJcdTAzQTQiLFVwc2lsb246Ilx1MDNBNSIsUGhpOiJcdTAzQTYiLENoaToiXHUwM0E3IixQc2k6Ilx1MDNBOCIsT21lZ2E6Ilx1MDNBOSIsYWxwaGE6Ilx1MDNCMSIsYmV0YToiXHUwM0IyIixnYW1tYToiXHUwM0IzIixkZWx0YToiXHUwM0I0IixlcHNpbG9uOiJcdTAzQjUiLHpldGE6Ilx1MDNCNiIsZXRhOiJcdTAzQjciLHRoZXRhOiJcdTAzQjgiLGlvdGE6Ilx1MDNCOSIsa2FwcGE6Ilx1MDNCQSIsbGFtYmRhOiJcdTAzQkIiLG11OiJcdTAzQkMiLG51OiJcdTAzQkQiLHhpOiJcdTAzQkUiLG9taWNyb246Ilx1MDNCRiIscGk6Ilx1MDNDMCIscmhvOiJcdTAzQzEiLHNpZ21hZjoiXHUwM0MyIixzaWdtYToiXHUwM0MzIix0YXU6Ilx1MDNDNCIsdXBzaWxvbjoiXHUwM0M1IixwaGk6Ilx1MDNDNiIsY2hpOiJcdTAzQzciLHBzaToiXHUwM0M4IixvbWVnYToiXHUwM0M5Iix0aGV0YXN5bToiXHUwM0QxIix1cHNpaDoiXHUwM0QyIixwaXY6Ilx1MDNENiIsYnVsbDoiXHUyMDIyIixoZWxsaXA6Ilx1MjAyNiIscHJpbWU6Ilx1MjAzMiIsUHJpbWU6Ilx1MjAzMyIsb2xpbmU6Ilx1MjAzRSIsZnJhc2w6Ilx1MjA0NCIsd2VpZXJwOiJcdTIxMTgiLGltYWdlOiJcdTIxMTEiLHJlYWw6Ilx1MjExQyIsdHJhZGU6Ilx1MjEyMiIsYWxlZnN5bToiXHUyMTM1IixsYXJyOiJcdTIxOTAiLHVhcnI6Ilx1MjE5MSIscmFycjoiXHUyMTkyIixkYXJyOiJcdTIxOTMiLGhhcnI6Ilx1MjE5NCIsY3JhcnI6Ilx1MjFCNSIsbEFycjoiXHUyMUQwIix1QXJyOiJcdTIxRDEiLHJBcnI6Ilx1MjFEMiIsZEFycjoiXHUyMUQzIixoQXJyOiJcdTIxRDQiLGZvcmFsbDoiXHUyMjAwIixwYXJ0OiJcdTIyMDIiLGV4aXN0OiJcdTIyMDMiLGVtcHR5OiJcdTIyMDUiLG5hYmxhOiJcdTIyMDciLGlzaW46Ilx1MjIwOCIsbm90aW46Ilx1MjIwOSIsbmk6Ilx1MjIwQiIscHJvZDoiXHUyMjBGIixzdW06Ilx1MjIxMSIsbWludXM6Ilx1MjIxMiIsbG93YXN0OiJcdTIyMTciLHJhZGljOiJcdTIyMUEiLHByb3A6Ilx1MjIxRCIsaW5maW46Ilx1MjIxRSIsYW5nOiJcdTIyMjAiLGFuZDoiXHUyMjI3IixvcjoiXHUyMjI4IixjYXA6Ilx1MjIyOSIsY3VwOiJcdTIyMkEiLGludDoiXHUyMjJCIix0aGVyZTQ6Ilx1MjIzNCIsc2ltOiJcdTIyM0MiLGNvbmc6Ilx1MjI0NSIsYXN5bXA6Ilx1MjI0OCIsbmU6Ilx1MjI2MCIsZXF1aXY6Ilx1MjI2MSIsbGU6Ilx1MjI2NCIsZ2U6Ilx1MjI2NSIsc3ViOiJcdTIyODIiLHN1cDoiXHUyMjgzIixuc3ViOiJcdTIyODQiLHN1YmU6Ilx1MjI4NiIsc3VwZToiXHUyMjg3IixvcGx1czoiXHUyMjk1IixvdGltZXM6Ilx1MjI5NyIscGVycDoiXHUyMkE1IixzZG90OiJcdTIyQzUiLGxjZWlsOiJcdTIzMDgiLHJjZWlsOiJcdTIzMDkiLGxmbG9vcjoiXHUyMzBBIixyZmxvb3I6Ilx1MjMwQiIsbGFuZzoiXHUyMzI5IixyYW5nOiJcdTIzMkEiLGxvejoiXHUyNUNBIixzcGFkZXM6Ilx1MjY2MCIsY2x1YnM6Ilx1MjY2MyIsaGVhcnRzOiJcdTI2NjUiLGRpYW1zOiJcdTI2NjYiLHF1b3Q6JyInLGFtcDoiJiIsbHQ6IjwiLGd0OiI+IixPRWxpZzoiXHUwMTUyIixvZWxpZzoiXHUwMTUzIixTY2Fyb246Ilx1MDE2MCIsc2Nhcm9uOiJcdTAxNjEiLFl1bWw6Ilx1MDE3OCIsY2lyYzoiXHUwMkM2Iix0aWxkZToiXHUwMkRDIixlbnNwOiJcdTIwMDIiLGVtc3A6Ilx1MjAwMyIsdGhpbnNwOiJcdTIwMDkiLHp3bmo6Ilx1MjAwQyIsendqOiJcdTIwMEQiLGxybToiXHUyMDBFIixybG06Ilx1MjAwRiIsbmRhc2g6Ilx1MjAxMyIsbWRhc2g6Ilx1MjAxNCIsbHNxdW86Ilx1MjAxOCIscnNxdW86Ilx1MjAxOSIsc2JxdW86Ilx1MjAxQSIsbGRxdW86Ilx1MjAxQyIscmRxdW86Ilx1MjAxRCIsYmRxdW86Ilx1MjAxRSIsZGFnZ2VyOiJcdTIwMjAiLERhZ2dlcjoiXHUyMDIxIixwZXJtaWw6Ilx1MjAzMCIsbHNhcXVvOiJcdTIwMzkiLHJzYXF1bzoiXHUyMDNBIixldXJvOiJcdTIwQUMifX0pO3ZhciBPNXQsRjV0PWYoKCk9PntPNXQ9WyJjZW50IiwiY29weSIsImRpdmlkZSIsImd0IiwibHQiLCJub3QiLCJwYXJhIiwidGltZXMiXX0pO2Z1bmN0aW9uIEg1dChhLGUsdCxyKXtsZXQgaT1TdHJpbmcuZnJvbUNoYXJDb2RlKGEpO2lmKEI1dC5jYWxsKHNkZSxpKSl7bGV0IG89c2RlW2ldLG49IiYiK287cmV0dXJuIHQmJkk1dC5pbmNsdWRlcyhvKSYmIU81dC5pbmNsdWRlcyhvKSYmKCFyfHxlJiZlIT09NjEmJndTYS50ZXN0KFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpKT9uOm4rIjsifXJldHVybiIifXZhciBCNXQsc2RlLHBKLHdTYSxxNXQ9ZigoKT0+e041dCgpO1I1dCgpO0Y1dCgpO0I1dD17fS5oYXNPd25Qcm9wZXJ0eSxzZGU9e307Zm9yKHBKIGluIHVKKUI1dC5jYWxsKHVKLHBKKSYmKHNkZVt1SltwSl1dPXBKKTt3U2E9L1teXGRBLVphLXpdLztzKEg1dCwidG9OYW1lZCIpfSk7ZnVuY3Rpb24gVjV0KGEsZSx0KXtsZXQgcj1ENXQoYSxlLHQub21pdE9wdGlvbmFsU2VtaWNvbG9ucyksaTtpZigodC51c2VOYW1lZFJlZmVyZW5jZXN8fHQudXNlU2hvcnRlc3RSZWZlcmVuY2VzKSYmKGk9SDV0KGEsZSx0Lm9taXRPcHRpb25hbFNlbWljb2xvbnMsdC5hdHRyaWJ1dGUpKSwodC51c2VTaG9ydGVzdFJlZmVyZW5jZXN8fCFpKSYmdC51c2VTaG9ydGVzdFJlZmVyZW5jZXMpe2xldCBvPVA1dChhLGUsdC5vbWl0T3B0aW9uYWxTZW1pY29sb25zKTtvLmxlbmd0aDxyLmxlbmd0aCYmKHI9byl9cmV0dXJuIGkmJighdC51c2VTaG9ydGVzdFJlZmVyZW5jZXN8fGkubGVuZ3RoPHIubGVuZ3RoKT9pOnJ9dmFyIGo1dD1mKCgpPT57QTV0KCk7RTV0KCk7cTV0KCk7cyhWNXQsImZvcm1hdFNtYXJ0Iil9KTtmdW5jdGlvbiBVNXQoYSl7cmV0dXJuIiYjeCIrYS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSsiOyJ9dmFyIFc1dD1mKCgpPT57cyhVNXQsImZvcm1hdEJhc2ljIil9KTtmdW5jdGlvbiBWbChhLGUpe3JldHVybiByZGUoYSxPYmplY3QuYXNzaWduKHtmb3JtYXQ6VjV0fSxlKSl9ZnVuY3Rpb24gU3RzKGEsZSl7cmV0dXJuIHJkZShhLE9iamVjdC5hc3NpZ24oe2Zvcm1hdDpVNXR9LGUpKX12YXIgRzV0PWYoKCk9PnskNXQoKTtqNXQoKTtXNXQoKTtzKFZsLCJzdHJpbmdpZnlFbnRpdGllcyIpO3MoU3RzLCJzdHJpbmdpZnlFbnRpdGllc0xpZ2h0Iil9KTt2YXIgZko9ZigoKT0+e0c1dCgpfSk7ZnVuY3Rpb24gWTV0KGEsZSx0LHIpe3JldHVybiByLnNldHRpbmdzLmJvZ3VzQ29tbWVudHM/Ijw/IitWbChhLnZhbHVlLE9iamVjdC5hc3NpZ24oe30sci5zZXR0aW5ncy5jaGFyYWN0ZXJSZWZlcmVuY2VzLHtzdWJzZXQ6a1NhfSkpKyI+IjoiPCEtLSIrYS52YWx1ZS5yZXBsYWNlKE1TYSxpKSsiLS0+IjtmdW5jdGlvbiBpKG8pe3JldHVybiBWbChvLE9iamVjdC5hc3NpZ24oe30sci5zZXR0aW5ncy5jaGFyYWN0ZXJSZWZlcmVuY2VzLHtzdWJzZXQ6U1NhfSkpfX12YXIgTVNhLGtTYSxTU2EsSzV0PWYoKCk9PntmSigpO01TYT0vXj58Xi0+fDwhLS18LS0+fC0tIT58PCEtJC9nLGtTYT1bIj4iXSxTU2E9WyI8IiwiPiJdO3MoWTV0LCJjb21tZW50Iil9KTtmdW5jdGlvbiBaNXQoYSxlLHQscil7cmV0dXJuIjwhIisoci5zZXR0aW5ncy51cHBlckRvY3R5cGU/IkRPQ1RZUEUiOiJkb2N0eXBlIikrKHIuc2V0dGluZ3MudGlnaHREb2N0eXBlPyIiOiIgIikrImh0bWw+In12YXIgWDV0PWYoKCk9PntzKFo1dCwiZG9jdHlwZSIpfSk7ZnVuY3Rpb24gRXRzKGEpe2xldCBlPVtdLHQ9U3RyaW5nKGF8fCIiKSxyPXQuaW5kZXhPZigiLCIpLGk9MCxvPSExO2Zvcig7IW87KXtyPT09LTEmJihyPXQubGVuZ3RoLG89ITApO2xldCBuPXQuc2xpY2UoaSxyKS50cmltKCk7KG58fCFvKSYmZS5wdXNoKG4pLGk9cisxLHI9dC5pbmRleE9mKCIsIixpKX1yZXR1cm4gZX1mdW5jdGlvbiBRNXQoYSxlKXtsZXQgdD1lfHx7fTtyZXR1cm4oYVthLmxlbmd0aC0xXT09PSIiP1suLi5hLCIiXTphKS5qb2luKCh0LnBhZFJpZ2h0PyIgIjoiIikrIiwiKyh0LnBhZExlZnQ9PT0hMT8iIjoiICIpKS50cmltKCl9dmFyIEo1dD1mKCgpPT57cyhFdHMsInBhcnNlIik7cyhRNXQsInN0cmluZ2lmeSIpfSk7ZnVuY3Rpb24gUnRzKGEpe2xldCBlPVN0cmluZyhhfHwiIikudHJpbSgpO3JldHVybiBlP2Uuc3BsaXQoL1sgXHRcblxyXGZdKy9nKTpbXX1mdW5jdGlvbiBlaHQoYSl7cmV0dXJuIGEuam9pbigiICIpLnRyaW0oKX12YXIgdGh0PWYoKCk9PntzKFJ0cywicGFyc2UiKTtzKGVodCwic3RyaW5naWZ5Iil9KTtmdW5jdGlvbiBlZChhKXtyZXR1cm4gdHlwZW9mIGE9PSJvYmplY3QiP2EudHlwZT09PSJ0ZXh0Ij9haHQoYS52YWx1ZSk6ITE6YWh0KGEpfWZ1bmN0aW9uIGFodChhKXtyZXR1cm4gYS5yZXBsYWNlKHpTYSwiIik9PT0iIn12YXIgelNhLHJodD1mKCgpPT57elNhPS9bIFx0XG5cZlxyXS9nO3MoZWQsIndoaXRlc3BhY2UiKTtzKGFodCwiZW1wdHkiKX0pO3ZhciBoSj1mKCgpPT57cmh0KCl9KTtmdW5jdGlvbiBzaHQoYSl7cmV0dXJuIGU7ZnVuY3Rpb24gZSh0LHIsaSl7bGV0IG89dD90LmNoaWxkcmVuOkNTYSxuPShyfHwwKSthLGw9b1tuXTtpZighaSlmb3IoO2wmJmVkKGwpOyluKz1hLGw9b1tuXTtyZXR1cm4gbH19dmFyIFpyLGlkZSxDU2Esb2RlPWYoKCk9PntoSigpO1pyPXNodCgxKSxpZGU9c2h0KC0xKSxDU2E9W107cyhzaHQsInNpYmxpbmdzIil9KTtmdW5jdGlvbiBtSihhKXtyZXR1cm4gZTtmdW5jdGlvbiBlKHQscixpKXtyZXR1cm4gX1NhLmNhbGwoYSx0LnRhZ05hbWUpJiZhW3QudGFnTmFtZV0odCxyLGkpfX12YXIgX1NhLG5kZT1mKCgpPT57X1NhPXt9Lmhhc093blByb3BlcnR5O3MobUosIm9taXNzaW9uIil9KTtmdW5jdGlvbiBsZGUoYSxlLHQpe2xldCByPVpyKHQsZSwhMCk7cmV0dXJuIXJ8fHIudHlwZSE9PSJjb21tZW50IiYmIShyLnR5cGU9PT0idGV4dCImJmVkKHIudmFsdWUuY2hhckF0KDApKSl9ZnVuY3Rpb24gVFNhKGEsZSx0KXtsZXQgcj1acih0LGUpO3JldHVybiFyfHxyLnR5cGUhPT0iY29tbWVudCJ9ZnVuY3Rpb24gTFNhKGEsZSx0KXtsZXQgcj1acih0LGUpO3JldHVybiFyfHxyLnR5cGUhPT0iY29tbWVudCJ9ZnVuY3Rpb24gJFNhKGEsZSx0KXtsZXQgcj1acih0LGUpO3JldHVybiByP3IudHlwZT09PSJlbGVtZW50IiYmKHIudGFnTmFtZT09PSJhZGRyZXNzInx8ci50YWdOYW1lPT09ImFydGljbGUifHxyLnRhZ05hbWU9PT0iYXNpZGUifHxyLnRhZ05hbWU9PT0iYmxvY2txdW90ZSJ8fHIudGFnTmFtZT09PSJkZXRhaWxzInx8ci50YWdOYW1lPT09ImRpdiJ8fHIudGFnTmFtZT09PSJkbCJ8fHIudGFnTmFtZT09PSJmaWVsZHNldCJ8fHIudGFnTmFtZT09PSJmaWdjYXB0aW9uInx8ci50YWdOYW1lPT09ImZpZ3VyZSJ8fHIudGFnTmFtZT09PSJmb290ZXIifHxyLnRhZ05hbWU9PT0iZm9ybSJ8fHIudGFnTmFtZT09PSJoMSJ8fHIudGFnTmFtZT09PSJoMiJ8fHIudGFnTmFtZT09PSJoMyJ8fHIudGFnTmFtZT09PSJoNCJ8fHIudGFnTmFtZT09PSJoNSJ8fHIudGFnTmFtZT09PSJoNiJ8fHIudGFnTmFtZT09PSJoZWFkZXIifHxyLnRhZ05hbWU9PT0iaGdyb3VwInx8ci50YWdOYW1lPT09ImhyInx8ci50YWdOYW1lPT09Im1haW4ifHxyLnRhZ05hbWU9PT0ibWVudSJ8fHIudGFnTmFtZT09PSJuYXYifHxyLnRhZ05hbWU9PT0ib2wifHxyLnRhZ05hbWU9PT0icCJ8fHIudGFnTmFtZT09PSJwcmUifHxyLnRhZ05hbWU9PT0ic2VjdGlvbiJ8fHIudGFnTmFtZT09PSJ0YWJsZSJ8fHIudGFnTmFtZT09PSJ1bCIpOiF0fHwhKHQudHlwZT09PSJlbGVtZW50IiYmKHQudGFnTmFtZT09PSJhInx8dC50YWdOYW1lPT09ImF1ZGlvInx8dC50YWdOYW1lPT09ImRlbCJ8fHQudGFnTmFtZT09PSJpbnMifHx0LnRhZ05hbWU9PT0ibWFwInx8dC50YWdOYW1lPT09Im5vc2NyaXB0Inx8dC50YWdOYW1lPT09InZpZGVvIikpfWZ1bmN0aW9uIERTYShhLGUsdCl7bGV0IHI9WnIodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiZyLnRhZ05hbWU9PT0ibGkifWZ1bmN0aW9uIEFTYShhLGUsdCl7bGV0IHI9WnIodCxlKTtyZXR1cm4hIShyJiZyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0iZHQifHxyLnRhZ05hbWU9PT0iZGQiKSl9ZnVuY3Rpb24gUFNhKGEsZSx0KXtsZXQgcj1acih0LGUpO3JldHVybiFyfHxyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0iZHQifHxyLnRhZ05hbWU9PT0iZGQiKX1mdW5jdGlvbiBpaHQoYSxlLHQpe2xldCByPVpyKHQsZSk7cmV0dXJuIXJ8fHIudHlwZT09PSJlbGVtZW50IiYmKHIudGFnTmFtZT09PSJycCJ8fHIudGFnTmFtZT09PSJydCIpfWZ1bmN0aW9uIEVTYShhLGUsdCl7bGV0IHI9WnIodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiZyLnRhZ05hbWU9PT0ib3B0Z3JvdXAifWZ1bmN0aW9uIElTYShhLGUsdCl7bGV0IHI9WnIodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiYoci50YWdOYW1lPT09Im9wdGlvbiJ8fHIudGFnTmFtZT09PSJvcHRncm91cCIpfWZ1bmN0aW9uIE5TYShhLGUsdCl7bGV0IHI9WnIodCxlKTtyZXR1cm4hIShyJiZyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0idGJvZHkifHxyLnRhZ05hbWU9PT0idGZvb3QiKSl9ZnVuY3Rpb24gUlNhKGEsZSx0KXtsZXQgcj1acih0LGUpO3JldHVybiFyfHxyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0idGJvZHkifHxyLnRhZ05hbWU9PT0idGZvb3QiKX1mdW5jdGlvbiBPU2EoYSxlLHQpe3JldHVybiFacih0LGUpfWZ1bmN0aW9uIEZTYShhLGUsdCl7bGV0IHI9WnIodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiZyLnRhZ05hbWU9PT0idHIifWZ1bmN0aW9uIG9odChhLGUsdCl7bGV0IHI9WnIodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiYoci50YWdOYW1lPT09InRkInx8ci50YWdOYW1lPT09InRoIil9dmFyIGxiLGNkZT1mKCgpPT57aEooKTtvZGUoKTtuZGUoKTtsYj1tSih7Ym9keTpMU2EsY2FwdGlvbjpsZGUsY29sZ3JvdXA6bGRlLGRkOlBTYSxkdDpBU2EsaGVhZDpsZGUsaHRtbDpUU2EsbGk6RFNhLG9wdGdyb3VwOkVTYSxvcHRpb246SVNhLHA6JFNhLHJwOmlodCxydDppaHQsdGJvZHk6UlNhLHRkOm9odCx0Zm9vdDpPU2EsdGg6b2h0LHRoZWFkOk5TYSx0cjpGU2F9KTtzKGxkZSwiaGVhZE9yQ29sZ3JvdXBPckNhcHRpb24iKTtzKFRTYSwiaHRtbCIpO3MoTFNhLCJib2R5Iik7cygkU2EsInAiKTtzKERTYSwibGkiKTtzKEFTYSwiZHQiKTtzKFBTYSwiZGQiKTtzKGlodCwicnVieUVsZW1lbnQiKTtzKEVTYSwib3B0Z3JvdXAiKTtzKElTYSwib3B0aW9uIik7cyhOU2EsInRoZWFkIik7cyhSU2EsInRib2R5Iik7cyhPU2EsInRmb290Iik7cyhGU2EsInRyIik7cyhvaHQsImNlbGxzIil9KTtmdW5jdGlvbiBCU2EoYSl7bGV0IGU9WnIoYSwtMSk7cmV0dXJuIWV8fGUudHlwZSE9PSJjb21tZW50In1mdW5jdGlvbiBIU2EoYSl7bGV0IGU9bmV3IFNldDtmb3IobGV0IHIgb2YgYS5jaGlsZHJlbilpZihyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0iYmFzZSJ8fHIudGFnTmFtZT09PSJ0aXRsZSIpKXtpZihlLmhhcyhyLnRhZ05hbWUpKXJldHVybiExO2UuYWRkKHIudGFnTmFtZSl9bGV0IHQ9YS5jaGlsZHJlblswXTtyZXR1cm4hdHx8dC50eXBlPT09ImVsZW1lbnQifWZ1bmN0aW9uIHFTYShhKXtsZXQgZT1acihhLC0xLCEwKTtyZXR1cm4hZXx8ZS50eXBlIT09ImNvbW1lbnQiJiYhKGUudHlwZT09PSJ0ZXh0IiYmZWQoZS52YWx1ZS5jaGFyQXQoMCkpKSYmIShlLnR5cGU9PT0iZWxlbWVudCImJihlLnRhZ05hbWU9PT0ibWV0YSJ8fGUudGFnTmFtZT09PSJsaW5rInx8ZS50YWdOYW1lPT09InNjcmlwdCJ8fGUudGFnTmFtZT09PSJzdHlsZSJ8fGUudGFnTmFtZT09PSJ0ZW1wbGF0ZSIpKX1mdW5jdGlvbiBWU2EoYSxlLHQpe2xldCByPWlkZSh0LGUpLGk9WnIoYSwtMSwhMCk7cmV0dXJuIHQmJnImJnIudHlwZT09PSJlbGVtZW50IiYmci50YWdOYW1lPT09ImNvbGdyb3VwIiYmbGIocix0LmNoaWxkcmVuLmluZGV4T2YociksdCk/ITE6ISEoaSYmaS50eXBlPT09ImVsZW1lbnQiJiZpLnRhZ05hbWU9PT0iY29sIil9ZnVuY3Rpb24galNhKGEsZSx0KXtsZXQgcj1pZGUodCxlKSxpPVpyKGEsLTEpO3JldHVybiB0JiZyJiZyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0idGhlYWQifHxyLnRhZ05hbWU9PT0idGJvZHkiKSYmbGIocix0LmNoaWxkcmVuLmluZGV4T2YociksdCk/ITE6ISEoaSYmaS50eXBlPT09ImVsZW1lbnQiJiZpLnRhZ05hbWU9PT0idHIiKX12YXIgbmh0LGxodD1mKCgpPT57aEooKTtvZGUoKTtjZGUoKTtuZGUoKTtuaHQ9bUooe2JvZHk6cVNhLGNvbGdyb3VwOlZTYSxoZWFkOkhTYSxodG1sOkJTYSx0Ym9keTpqU2F9KTtzKEJTYSwiaHRtbCIpO3MoSFNhLCJoZWFkIik7cyhxU2EsImJvZHkiKTtzKFZTYSwiY29sZ3JvdXAiKTtzKGpTYSwidGJvZHkiKX0pO2Z1bmN0aW9uIGNodChhLGUsdCxyKXtsZXQgaT1yLnNjaGVtYSxvPWkuc3BhY2U9PT0ic3ZnIj8hMTpyLnNldHRpbmdzLm9taXRPcHRpb25hbFRhZ3Msbj1pLnNwYWNlPT09InN2ZyI/ci5zZXR0aW5ncy5jbG9zZUVtcHR5RWxlbWVudHM6ci5zZXR0aW5ncy52b2lkcy5pbmNsdWRlcyhhLnRhZ05hbWUudG9Mb3dlckNhc2UoKSksbD1bXSxkO2kuc3BhY2U9PT0iaHRtbCImJmEudGFnTmFtZT09PSJzdmciJiYoci5zY2hlbWE9ZEopO2xldCBjPVVTYShyLGEucHJvcGVydGllcykscD1yLmFsbChpLnNwYWNlPT09Imh0bWwiJiZhLnRhZ05hbWU9PT0idGVtcGxhdGUiP2EuY29udGVudDphKTtyZXR1cm4gci5zY2hlbWE9aSxwJiYobj0hMSksKGN8fCFvfHwhbmh0KGEsZSx0KSkmJihsLnB1c2goIjwiLGEudGFnTmFtZSxjPyIgIitjOiIiKSxuJiYoaS5zcGFjZT09PSJzdmcifHxyLnNldHRpbmdzLmNsb3NlU2VsZkNsb3NpbmcpJiYoZD1jLmNoYXJBdChjLmxlbmd0aC0xKSwoIXIuc2V0dGluZ3MudGlnaHRTZWxmQ2xvc2luZ3x8ZD09PSIvInx8ZCYmZCE9PSciJyYmZCE9PSInIikmJmwucHVzaCgiICIpLGwucHVzaCgiLyIpKSxsLnB1c2goIj4iKSksbC5wdXNoKHApLCFuJiYoIW98fCFsYihhLGUsdCkpJiZsLnB1c2goIjwvIithLnRhZ05hbWUrIj4iKSxsLmpvaW4oIiIpfWZ1bmN0aW9uIFVTYShhLGUpe2xldCB0PVtdLHI9LTEsaTtpZihlKXtmb3IoaSBpbiBlKWlmKGVbaV0hPT1udWxsJiZlW2ldIT09dm9pZCAwKXtsZXQgbz1XU2EoYSxpLGVbaV0pO28mJnQucHVzaChvKX19Zm9yKDsrK3I8dC5sZW5ndGg7KXtsZXQgbz1hLnNldHRpbmdzLnRpZ2h0QXR0cmlidXRlcz90W3JdLmNoYXJBdCh0W3JdLmxlbmd0aC0xKTp2b2lkIDA7ciE9PXQubGVuZ3RoLTEmJm8hPT0nIicmJm8hPT0iJyImJih0W3JdKz0iICIpfXJldHVybiB0LmpvaW4oIiIpfWZ1bmN0aW9uIFdTYShhLGUsdCl7bGV0IHI9dGRlKGEuc2NoZW1hLGUpLGk9YS5zZXR0aW5ncy5hbGxvd1BhcnNlRXJyb3JzJiZhLnNjaGVtYS5zcGFjZT09PSJodG1sIj8wOjEsbz1hLnNldHRpbmdzLmFsbG93RGFuZ2Vyb3VzQ2hhcmFjdGVycz8wOjEsbj1hLnF1b3RlLGw7aWYoci5vdmVybG9hZGVkQm9vbGVhbiYmKHQ9PT1yLmF0dHJpYnV0ZXx8dD09PSIiKT90PSEwOihyLmJvb2xlYW58fHIub3ZlcmxvYWRlZEJvb2xlYW4pJiYodHlwZW9mIHQhPSJzdHJpbmcifHx0PT09ci5hdHRyaWJ1dGV8fHQ9PT0iIikmJih0PSEhdCksdD09bnVsbHx8dD09PSExfHx0eXBlb2YgdD09Im51bWJlciImJk51bWJlci5pc05hTih0KSlyZXR1cm4iIjtsZXQgZD1WbChyLmF0dHJpYnV0ZSxPYmplY3QuYXNzaWduKHt9LGEuc2V0dGluZ3MuY2hhcmFjdGVyUmVmZXJlbmNlcyx7c3Vic2V0OmdKLm5hbWVbaV1bb119KSk7cmV0dXJuIHQ9PT0hMHx8KHQ9QXJyYXkuaXNBcnJheSh0KT8oci5jb21tYVNlcGFyYXRlZD9RNXQ6ZWh0KSh0LHtwYWRMZWZ0OiFhLnNldHRpbmdzLnRpZ2h0Q29tbWFTZXBhcmF0ZWRMaXN0c30pOlN0cmluZyh0KSxhLnNldHRpbmdzLmNvbGxhcHNlRW1wdHlBdHRyaWJ1dGVzJiYhdCk/ZDooYS5zZXR0aW5ncy5wcmVmZXJVbnF1b3RlZCYmKGw9VmwodCxPYmplY3QuYXNzaWduKHt9LGEuc2V0dGluZ3MuY2hhcmFjdGVyUmVmZXJlbmNlcyx7YXR0cmlidXRlOiEwLHN1YnNldDpnSi51bnF1b3RlZFtpXVtvXX0pKSksbCE9PXQmJihhLnNldHRpbmdzLnF1b3RlU21hcnQmJm04KHQsbik+bTgodCxhLmFsdGVybmF0aXZlKSYmKG49YS5hbHRlcm5hdGl2ZSksbD1uK1ZsKHQsT2JqZWN0LmFzc2lnbih7fSxhLnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse3N1YnNldDoobj09PSInIj9nSi5zaW5nbGU6Z0ouZG91YmxlKVtpXVtvXSxhdHRyaWJ1dGU6ITB9KSkrbiksZCsobCYmIj0iK2wpKX12YXIgZ0osZGh0PWYoKCk9PntLMGUoKTtKNXQoKTthZGUoKTt0aHQoKTtmSigpO2NkZSgpO2xodCgpO2dKPXtuYW1lOltbYAkKXGZcciAmLz0+YC5zcGxpdCgiIiksYAkKXGZcciAiJicvPT5cYGAuc3BsaXQoIiIpXSxbYFwwCQpcZlxyICImJy88PT5gLnNwbGl0KCIiKSxgXDAJClxmXHIgIiYnLzw9PlxgYC5zcGxpdCgiIildXSx1bnF1b3RlZDpbW2AJClxmXHIgJj5gLnNwbGl0KCIiKSxgXDAJClxmXHIgIiYnPD0+XGBgLnNwbGl0KCIiKV0sW2BcMAkKXGZcciAiJic8PT5cYGAuc3BsaXQoIiIpLGBcMAkKXGZcciAiJic8PT5cYGAuc3BsaXQoIiIpXV0sc2luZ2xlOltbIiYnIi5zcGxpdCgiIiksIlwiJidgIi5zcGxpdCgiIildLFsiXDAmJyIuc3BsaXQoIiIpLCJcMFwiJidgIi5zcGxpdCgiIildXSxkb3VibGU6W1snIiYnLnNwbGl0KCIiKSwiXCImJ2AiLnNwbGl0KCIiKV0sWydcMCImJy5zcGxpdCgiIiksIlwwXCImJ2AiLnNwbGl0KCIiKV1dfTtzKGNodCwiZWxlbWVudCIpO3MoVVNhLCJzZXJpYWxpemVBdHRyaWJ1dGVzIik7cyhXU2EsInNlcmlhbGl6ZUF0dHJpYnV0ZSIpfSk7ZnVuY3Rpb24gYkooYSxlLHQscil7cmV0dXJuIHQmJnQudHlwZT09PSJlbGVtZW50IiYmKHQudGFnTmFtZT09PSJzY3JpcHQifHx0LnRhZ05hbWU9PT0ic3R5bGUiKT9hLnZhbHVlOlZsKGEudmFsdWUsT2JqZWN0LmFzc2lnbih7fSxyLnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse3N1YnNldDpHU2F9KSl9dmFyIEdTYSxkZGU9ZigoKT0+e2ZKKCk7R1NhPVsiPCIsIiYiXTtzKGJKLCJ0ZXh0Iil9KTtmdW5jdGlvbiB1aHQoYSxlLHQscil7cmV0dXJuIHIuc2V0dGluZ3MuYWxsb3dEYW5nZXJvdXNIdG1sP2EudmFsdWU6YkooYSxlLHQscil9dmFyIHBodD1mKCgpPT57ZGRlKCk7cyh1aHQsInJhdyIpfSk7ZnVuY3Rpb24gZmh0KGEsZSx0LHIpe3JldHVybiByLmFsbChhKX12YXIgaGh0PWYoKCk9PntzKGZodCwicm9vdCIpfSk7ZnVuY3Rpb24gWVNhKGEpe3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgbm9kZSwgbm90IGAiK2ErImAiKX1mdW5jdGlvbiBLU2EoYSl7bGV0IGU9YTt0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjb21waWxlIHVua25vd24gbm9kZSBgIitlLnR5cGUrImAiKX12YXIgbWh0LGdodD1mKCgpPT57bzRlKCk7SzV0KCk7WDV0KCk7ZGh0KCk7cGh0KCk7aGh0KCk7ZGRlKCk7bWh0PWdRKCJ0eXBlIix7aW52YWxpZDpZU2EsdW5rbm93bjpLU2EsaGFuZGxlcnM6e2NvbW1lbnQ6WTV0LGRvY3R5cGU6WjV0LGVsZW1lbnQ6Y2h0LHJhdzp1aHQscm9vdDpmaHQsdGV4dDpiSn19KTtzKFlTYSwiaW52YWxpZCIpO3MoS1NhLCJ1bmtub3duIil9KTtmdW5jdGlvbiB1ZGUoYSxlKXtsZXQgdD1lfHxaU2Escj10LnF1b3RlfHwnIicsaT1yPT09JyInPyInIjonIic7aWYociE9PSciJyYmciE9PSInIil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcXVvdGUgYCIrcisiYCwgZXhwZWN0ZWQgYCdgIG9yIGBcImAiKTtyZXR1cm57b25lOkpTYSxhbGw6ZXphLHNldHRpbmdzOntvbWl0T3B0aW9uYWxUYWdzOnQub21pdE9wdGlvbmFsVGFnc3x8ITEsYWxsb3dQYXJzZUVycm9yczp0LmFsbG93UGFyc2VFcnJvcnN8fCExLGFsbG93RGFuZ2Vyb3VzQ2hhcmFjdGVyczp0LmFsbG93RGFuZ2Vyb3VzQ2hhcmFjdGVyc3x8ITEscXVvdGVTbWFydDp0LnF1b3RlU21hcnR8fCExLHByZWZlclVucXVvdGVkOnQucHJlZmVyVW5xdW90ZWR8fCExLHRpZ2h0QXR0cmlidXRlczp0LnRpZ2h0QXR0cmlidXRlc3x8ITEsdXBwZXJEb2N0eXBlOnQudXBwZXJEb2N0eXBlfHwhMSx0aWdodERvY3R5cGU6dC50aWdodERvY3R5cGV8fCExLGJvZ3VzQ29tbWVudHM6dC5ib2d1c0NvbW1lbnRzfHwhMSx0aWdodENvbW1hU2VwYXJhdGVkTGlzdHM6dC50aWdodENvbW1hU2VwYXJhdGVkTGlzdHN8fCExLHRpZ2h0U2VsZkNsb3Npbmc6dC50aWdodFNlbGZDbG9zaW5nfHwhMSxjb2xsYXBzZUVtcHR5QXR0cmlidXRlczp0LmNvbGxhcHNlRW1wdHlBdHRyaWJ1dGVzfHwhMSxhbGxvd0Rhbmdlcm91c0h0bWw6dC5hbGxvd0Rhbmdlcm91c0h0bWx8fCExLHZvaWRzOnQudm9pZHN8fGY1dCxjaGFyYWN0ZXJSZWZlcmVuY2VzOnQuY2hhcmFjdGVyUmVmZXJlbmNlc3x8WFNhLGNsb3NlU2VsZkNsb3Npbmc6dC5jbG9zZVNlbGZDbG9zaW5nfHwhMSxjbG9zZUVtcHR5RWxlbWVudHM6dC5jbG9zZUVtcHR5RWxlbWVudHN8fCExfSxzY2hlbWE6dC5zcGFjZT09PSJzdmciP2RKOlQ1dCxxdW90ZTpyLGFsdGVybmF0aXZlOml9Lm9uZShBcnJheS5pc0FycmF5KGEpP3t0eXBlOiJyb290IixjaGlsZHJlbjphfTphLHZvaWQgMCx2b2lkIDApfWZ1bmN0aW9uIEpTYShhLGUsdCl7cmV0dXJuIG1odChhLGUsdCx0aGlzKX1mdW5jdGlvbiBlemEoYSl7bGV0IGU9W10sdD1hJiZhLmNoaWxkcmVufHxRU2Escj0tMTtmb3IoOysrcjx0Lmxlbmd0aDspZVtyXT10aGlzLm9uZSh0W3JdLHIsYSk7cmV0dXJuIGUuam9pbigiIil9dmFyIFpTYSxYU2EsUVNhLGJodD1mKCgpPT57aDV0KCk7YWRlKCk7Z2h0KCk7WlNhPXt9LFhTYT17fSxRU2E9W107cyh1ZGUsInRvSHRtbCIpO3MoSlNhLCJvbmUiKTtzKGV6YSwiYWxsIil9KTt2YXIgdmh0PWYoKCk9PntiaHQoKX0pO2Z1bmN0aW9uIEw4KGEpe2xldCBlPXRoaXMse2hhbmRsZXJzOnQsc2FuaXRpemU6ciwuLi5pfT1hfHx0emEsbz0hMSxuO3R5cGVvZiByPT0iYm9vbGVhbiI/bz0hcjpyJiYobj1yKSxlLmNvbXBpbGVyPWw7ZnVuY3Rpb24gbChkLGMpe2xldCBwPVYzZShkLHtoYW5kbGVyczp0LGFsbG93RGFuZ2Vyb3VzSHRtbDpvfSksdT1vP3A6UjNlKHAsbiksbT11ZGUodSx7Li4uaSxhbGxvd0Rhbmdlcm91c0h0bWw6b30pO3JldHVybiBjLmV4dG5hbWUmJihjLmV4dG5hbWU9Ii5odG1sIiksZCYmZC50eXBlPT09InJvb3QiJiZtJiYvW15cclxuXS8udGVzdChtLmNoYXJBdChtLmxlbmd0aC0xKSk/bStgCmA6bX1zKGwsImNvbXBpbGVyIil9dmFyIHR6YSx4aHQ9ZigoKT0+e2xmdCgpO3A1dCgpO3ZodCgpO3R6YT17fTtzKEw4LCJyZW1hcmtIdG1sIil9KTt2YXIgeWh0PWYoKCk9Pnt4aHQoKX0pO2Z1bmN0aW9uICQ4KGEpe2xldCBlPXRoaXM7ZS5jb21waWxlcj10O2Z1bmN0aW9uIHQocil7cmV0dXJuIF80ZShyLHsuLi5lLmRhdGEoInNldHRpbmdzIiksLi4uYSxleHRlbnNpb25zOmUuZGF0YSgidG9NYXJrZG93bkV4dGVuc2lvbnMiKXx8W119KX1zKHQsImNvbXBpbGVyIil9dmFyIHdodD1mKCgpPT57Q1EoKTtzKCQ4LCJyZW1hcmtTdHJpbmdpZnkiKX0pO3ZhciBNaHQ9ZigoKT0+e3dodCgpfSk7ZnVuY3Rpb24gYXphKGEpe2Zvcih2YXIgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe3ZhciB0PWFyZ3VtZW50c1tlXTtmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKGFbcl09dFtyXSl9cmV0dXJuIGF9ZnVuY3Rpb24gcGRlKGEsZSl7cmV0dXJuIEFycmF5KGUrMSkuam9pbihhKX1mdW5jdGlvbiBraHQoYSl7cmV0dXJuIGEucmVwbGFjZSgvXlxuKi8sIiIpfWZ1bmN0aW9uIFNodChhKXtmb3IodmFyIGU9YS5sZW5ndGg7ZT4wJiZhW2UtMV09PT1gCmA7KWUtLTtyZXR1cm4gYS5zdWJzdHJpbmcoMCxlKX1mdW5jdGlvbiB6aHQoYSl7cmV0dXJuIFNodChraHQoYSkpfWZ1bmN0aW9uIGZkZShhKXtyZXR1cm4gaGRlKGEscnphKX1mdW5jdGlvbiBfaHQoYSl7cmV0dXJuIGhkZShhLENodCl9ZnVuY3Rpb24gc3phKGEpe3JldHVybiBMaHQoYSxDaHQpfWZ1bmN0aW9uIGl6YShhKXtyZXR1cm4gaGRlKGEsVGh0KX1mdW5jdGlvbiBvemEoYSl7cmV0dXJuIExodChhLFRodCl9ZnVuY3Rpb24gaGRlKGEsZSl7cmV0dXJuIGUuaW5kZXhPZihhLm5vZGVOYW1lKT49MH1mdW5jdGlvbiBMaHQoYSxlKXtyZXR1cm4gYS5nZXRFbGVtZW50c0J5VGFnTmFtZSYmZS5zb21lKGZ1bmN0aW9uKHQpe3JldHVybiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lKHQpLmxlbmd0aH0pfWZ1bmN0aW9uICRodChhKXtyZXR1cm4gbnphLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiBlLnJlcGxhY2UodFswXSx0WzFdKX0sYSl9ZnVuY3Rpb24gdkooYSl7cmV0dXJuIGE/YS5yZXBsYWNlKC8oXG4rXHMqKSsvZyxgCmApOiIifWZ1bmN0aW9uIG1kZShhKXt2YXIgZT1hLnJlcGxhY2UoLyhbPD4oKV0pL2csIlxcJDEiKTtyZXR1cm4gZS5pbmRleE9mKCIgIik+PTA/IjwiK2UrIj4iOmV9ZnVuY3Rpb24gZ2RlKGEpe3JldHVybiBhLnJlcGxhY2UoLyIvZywnXFwiJyl9ZnVuY3Rpb24gRGh0KGEpe3RoaXMub3B0aW9ucz1hLHRoaXMuX2tlZXA9W10sdGhpcy5fcmVtb3ZlPVtdLHRoaXMuYmxhbmtSdWxlPXtyZXBsYWNlbWVudDphLmJsYW5rUmVwbGFjZW1lbnR9LHRoaXMua2VlcFJlcGxhY2VtZW50PWEua2VlcFJlcGxhY2VtZW50LHRoaXMuZGVmYXVsdFJ1bGU9e3JlcGxhY2VtZW50OmEuZGVmYXVsdFJlcGxhY2VtZW50fSx0aGlzLmFycmF5PVtdO2Zvcih2YXIgZSBpbiBhLnJ1bGVzKXRoaXMuYXJyYXkucHVzaChhLnJ1bGVzW2VdKX1mdW5jdGlvbiBiZGUoYSxlLHQpe2Zvcih2YXIgcj0wO3I8YS5sZW5ndGg7cisrKXt2YXIgaT1hW3JdO2lmKGx6YShpLGUsdCkpcmV0dXJuIGl9fWZ1bmN0aW9uIGx6YShhLGUsdCl7dmFyIHI9YS5maWx0ZXI7aWYodHlwZW9mIHI9PSJzdHJpbmciKXtpZihyPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXJldHVybiEwfWVsc2UgaWYoQXJyYXkuaXNBcnJheShyKSl7aWYoci5pbmRleE9mKGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk+LTEpcmV0dXJuITB9ZWxzZSBpZih0eXBlb2Ygcj09ImZ1bmN0aW9uIil7aWYoci5jYWxsKGEsZSx0KSlyZXR1cm4hMH1lbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoImBmaWx0ZXJgIG5lZWRzIHRvIGJlIGEgc3RyaW5nLCBhcnJheSwgb3IgZnVuY3Rpb24iKX1mdW5jdGlvbiBjemEoYSl7dmFyIGU9YS5lbGVtZW50LHQ9YS5pc0Jsb2NrLHI9YS5pc1ZvaWQsaT1hLmlzUHJlfHxmdW5jdGlvbih1KXtyZXR1cm4gdS5ub2RlTmFtZT09PSJQUkUifTtpZighKCFlLmZpcnN0Q2hpbGR8fGkoZSkpKXtmb3IodmFyIG89bnVsbCxuPSExLGw9bnVsbCxkPUFodChsLGUsaSk7ZCE9PWU7KXtpZihkLm5vZGVUeXBlPT09M3x8ZC5ub2RlVHlwZT09PTQpe3ZhciBjPWQuZGF0YS5yZXBsYWNlKC9bIFxyXG5cdF0rL2csIiAiKTtpZigoIW98fC8gJC8udGVzdChvLmRhdGEpKSYmIW4mJmNbMF09PT0iICImJihjPWMuc3Vic3RyKDEpKSwhYyl7ZD12ZGUoZCk7Y29udGludWV9ZC5kYXRhPWMsbz1kfWVsc2UgaWYoZC5ub2RlVHlwZT09PTEpdChkKXx8ZC5ub2RlTmFtZT09PSJCUiI/KG8mJihvLmRhdGE9by5kYXRhLnJlcGxhY2UoLyAkLywiIikpLG89bnVsbCxuPSExKTpyKGQpfHxpKGQpPyhvPW51bGwsbj0hMCk6byYmKG49ITEpO2Vsc2V7ZD12ZGUoZCk7Y29udGludWV9dmFyIHA9QWh0KGwsZCxpKTtsPWQsZD1wfW8mJihvLmRhdGE9by5kYXRhLnJlcGxhY2UoLyAkLywiIiksby5kYXRhfHx2ZGUobykpfX1mdW5jdGlvbiB2ZGUoYSl7dmFyIGU9YS5uZXh0U2libGluZ3x8YS5wYXJlbnROb2RlO3JldHVybiBhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSksZX1mdW5jdGlvbiBBaHQoYSxlLHQpe3JldHVybiBhJiZhLnBhcmVudE5vZGU9PT1lfHx0KGUpP2UubmV4dFNpYmxpbmd8fGUucGFyZW50Tm9kZTplLmZpcnN0Q2hpbGR8fGUubmV4dFNpYmxpbmd8fGUucGFyZW50Tm9kZX1mdW5jdGlvbiBkemEoKXt2YXIgYT14ZGUuRE9NUGFyc2VyLGU9ITE7dHJ5e25ldyBhKCkucGFyc2VGcm9tU3RyaW5nKCIiLCJ0ZXh0L2h0bWwiKSYmKGU9ITApfWNhdGNoe31yZXR1cm4gZX1mdW5jdGlvbiB1emEoKXt2YXIgYT1zKGZ1bmN0aW9uKCl7fSwiUGFyc2VyIik7cmV0dXJuIHB6YSgpP2EucHJvdG90eXBlLnBhcnNlRnJvbVN0cmluZz1mdW5jdGlvbihlKXt2YXIgdD1uZXcgd2luZG93LkFjdGl2ZVhPYmplY3QoImh0bWxmaWxlIik7cmV0dXJuIHQuZGVzaWduTW9kZT0ib24iLHQub3BlbigpLHQud3JpdGUoZSksdC5jbG9zZSgpLHR9OmEucHJvdG90eXBlLnBhcnNlRnJvbVN0cmluZz1mdW5jdGlvbihlKXt2YXIgdD1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpO3JldHVybiB0Lm9wZW4oKSx0LndyaXRlKGUpLHQuY2xvc2UoKSx0fSxhfWZ1bmN0aW9uIHB6YSgpe3ZhciBhPSExO3RyeXtkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLm9wZW4oKX1jYXRjaHt4ZGUuQWN0aXZlWE9iamVjdCYmKGE9ITApfXJldHVybiBhfWZ1bmN0aW9uIGh6YShhLGUpe3ZhciB0O2lmKHR5cGVvZiBhPT0ic3RyaW5nIil7dmFyIHI9bXphKCkucGFyc2VGcm9tU3RyaW5nKCc8eC10dXJuZG93biBpZD0idHVybmRvd24tcm9vdCI+JythKyI8L3gtdHVybmRvd24+IiwidGV4dC9odG1sIik7dD1yLmdldEVsZW1lbnRCeUlkKCJ0dXJuZG93bi1yb290Iil9ZWxzZSB0PWEuY2xvbmVOb2RlKCEwKTtyZXR1cm4gY3phKHtlbGVtZW50OnQsaXNCbG9jazpmZGUsaXNWb2lkOl9odCxpc1ByZTplLnByZWZvcm1hdHRlZENvZGU/Z3phOm51bGx9KSx0fWZ1bmN0aW9uIG16YSgpe3JldHVybiB5ZGU9eWRlfHxuZXcgZnphLHlkZX1mdW5jdGlvbiBnemEoYSl7cmV0dXJuIGEubm9kZU5hbWU9PT0iUFJFInx8YS5ub2RlTmFtZT09PSJDT0RFIn1mdW5jdGlvbiBiemEoYSxlKXtyZXR1cm4gYS5pc0Jsb2NrPWZkZShhKSxhLmlzQ29kZT1hLm5vZGVOYW1lPT09IkNPREUifHxhLnBhcmVudE5vZGUuaXNDb2RlLGEuaXNCbGFuaz12emEoYSksYS5mbGFua2luZ1doaXRlc3BhY2U9eHphKGEsZSksYX1mdW5jdGlvbiB2emEoYSl7cmV0dXJuIV9odChhKSYmIWl6YShhKSYmL15ccyokL2kudGVzdChhLnRleHRDb250ZW50KSYmIXN6YShhKSYmIW96YShhKX1mdW5jdGlvbiB4emEoYSxlKXtpZihhLmlzQmxvY2t8fGUucHJlZm9ybWF0dGVkQ29kZSYmYS5pc0NvZGUpcmV0dXJue2xlYWRpbmc6IiIsdHJhaWxpbmc6IiJ9O3ZhciB0PXl6YShhLnRleHRDb250ZW50KTtyZXR1cm4gdC5sZWFkaW5nQXNjaWkmJlBodCgibGVmdCIsYSxlKSYmKHQubGVhZGluZz10LmxlYWRpbmdOb25Bc2NpaSksdC50cmFpbGluZ0FzY2lpJiZQaHQoInJpZ2h0IixhLGUpJiYodC50cmFpbGluZz10LnRyYWlsaW5nTm9uQXNjaWkpLHtsZWFkaW5nOnQubGVhZGluZyx0cmFpbGluZzp0LnRyYWlsaW5nfX1mdW5jdGlvbiB5emEoYSl7dmFyIGU9YS5tYXRjaCgvXigoWyBcdFxyXG5dKikoXHMqKSkoPzooPz1cUylbXHNcU10qXFMpPygoXHMqPykoWyBcdFxyXG5dKikpJC8pO3JldHVybntsZWFkaW5nOmVbMV0sbGVhZGluZ0FzY2lpOmVbMl0sbGVhZGluZ05vbkFzY2lpOmVbM10sdHJhaWxpbmc6ZVs0XSx0cmFpbGluZ05vbkFzY2lpOmVbNV0sdHJhaWxpbmdBc2NpaTplWzZdfX1mdW5jdGlvbiBQaHQoYSxlLHQpe3ZhciByLGksbztyZXR1cm4gYT09PSJsZWZ0Ij8ocj1lLnByZXZpb3VzU2libGluZyxpPS8gJC8pOihyPWUubmV4dFNpYmxpbmcsaT0vXiAvKSxyJiYoci5ub2RlVHlwZT09PTM/bz1pLnRlc3Qoci5ub2RlVmFsdWUpOnQucHJlZm9ybWF0dGVkQ29kZSYmci5ub2RlTmFtZT09PSJDT0RFIj9vPSExOnIubm9kZVR5cGU9PT0xJiYhZmRlKHIpJiYobz1pLnRlc3Qoci50ZXh0Q29udGVudCkpKSxvfWZ1bmN0aW9uIFcwKGEpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFcwKSlyZXR1cm4gbmV3IFcwKGEpO3ZhciBlPXtydWxlczpMaSxoZWFkaW5nU3R5bGU6InNldGV4dCIsaHI6IiogKiAqIixidWxsZXRMaXN0TWFya2VyOiIqIixjb2RlQmxvY2tTdHlsZToiaW5kZW50ZWQiLGZlbmNlOiJgYGAiLGVtRGVsaW1pdGVyOiJfIixzdHJvbmdEZWxpbWl0ZXI6IioqIixsaW5rU3R5bGU6ImlubGluZWQiLGxpbmtSZWZlcmVuY2VTdHlsZToiZnVsbCIsYnI6IiAgIixwcmVmb3JtYXR0ZWRDb2RlOiExLGJsYW5rUmVwbGFjZW1lbnQ6cyhmdW5jdGlvbih0LHIpe3JldHVybiByLmlzQmxvY2s/YAoKYDoiIn0sImJsYW5rUmVwbGFjZW1lbnQiKSxrZWVwUmVwbGFjZW1lbnQ6cyhmdW5jdGlvbih0LHIpe3JldHVybiByLmlzQmxvY2s/YAoKYCtyLm91dGVySFRNTCtgCgpgOnIub3V0ZXJIVE1MfSwia2VlcFJlcGxhY2VtZW50IiksZGVmYXVsdFJlcGxhY2VtZW50OnMoZnVuY3Rpb24odCxyKXtyZXR1cm4gci5pc0Jsb2NrP2AKCmArdCtgCgpgOnR9LCJkZWZhdWx0UmVwbGFjZW1lbnQiKX07dGhpcy5vcHRpb25zPWF6YSh7fSxlLGEpLHRoaXMucnVsZXM9bmV3IERodCh0aGlzLm9wdGlvbnMpfWZ1bmN0aW9uIEVodChhKXt2YXIgZT10aGlzO3JldHVybiB3emEuY2FsbChhLmNoaWxkTm9kZXMsZnVuY3Rpb24odCxyKXtyPW5ldyBiemEocixlLm9wdGlvbnMpO3ZhciBpPSIiO3JldHVybiByLm5vZGVUeXBlPT09Mz9pPXIuaXNDb2RlP3Iubm9kZVZhbHVlOmUuZXNjYXBlKHIubm9kZVZhbHVlKTpyLm5vZGVUeXBlPT09MSYmKGk9a3phLmNhbGwoZSxyKSksSWh0KHQsaSl9LCIiKX1mdW5jdGlvbiBNemEoYSl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5ydWxlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3R5cGVvZiB0LmFwcGVuZD09ImZ1bmN0aW9uIiYmKGE9SWh0KGEsdC5hcHBlbmQoZS5vcHRpb25zKSkpfSksYS5yZXBsYWNlKC9eW1x0XHJcbl0rLywiIikucmVwbGFjZSgvW1x0XHJcblxzXSskLywiIil9ZnVuY3Rpb24ga3phKGEpe3ZhciBlPXRoaXMucnVsZXMuZm9yTm9kZShhKSx0PUVodC5jYWxsKHRoaXMsYSkscj1hLmZsYW5raW5nV2hpdGVzcGFjZTtyZXR1cm4oci5sZWFkaW5nfHxyLnRyYWlsaW5nKSYmKHQ9dC50cmltKCkpLHIubGVhZGluZytlLnJlcGxhY2VtZW50KHQsYSx0aGlzLm9wdGlvbnMpK3IudHJhaWxpbmd9ZnVuY3Rpb24gSWh0KGEsZSl7dmFyIHQ9U2h0KGEpLHI9a2h0KGUpLGk9TWF0aC5tYXgoYS5sZW5ndGgtdC5sZW5ndGgsZS5sZW5ndGgtci5sZW5ndGgpLG89YAoKYC5zdWJzdHJpbmcoMCxpKTtyZXR1cm4gdCtvK3J9ZnVuY3Rpb24gU3phKGEpe3JldHVybiBhIT1udWxsJiYodHlwZW9mIGE9PSJzdHJpbmcifHxhLm5vZGVUeXBlJiYoYS5ub2RlVHlwZT09PTF8fGEubm9kZVR5cGU9PT05fHxhLm5vZGVUeXBlPT09MTEpKX12YXIgcnphLENodCxUaHQsbnphLExpLHhkZSxmemEseWRlLHd6YSxOaHQ9ZigoKT0+e3MoYXphLCJleHRlbmQiKTtzKHBkZSwicmVwZWF0Iik7cyhraHQsInRyaW1MZWFkaW5nTmV3bGluZXMiKTtzKFNodCwidHJpbVRyYWlsaW5nTmV3bGluZXMiKTtzKHpodCwidHJpbU5ld2xpbmVzIik7cnphPVsiQUREUkVTUyIsIkFSVElDTEUiLCJBU0lERSIsIkFVRElPIiwiQkxPQ0tRVU9URSIsIkJPRFkiLCJDQU5WQVMiLCJDRU5URVIiLCJERCIsIkRJUiIsIkRJViIsIkRMIiwiRFQiLCJGSUVMRFNFVCIsIkZJR0NBUFRJT04iLCJGSUdVUkUiLCJGT09URVIiLCJGT1JNIiwiRlJBTUVTRVQiLCJIMSIsIkgyIiwiSDMiLCJINCIsIkg1IiwiSDYiLCJIRUFERVIiLCJIR1JPVVAiLCJIUiIsIkhUTUwiLCJJU0lOREVYIiwiTEkiLCJNQUlOIiwiTUVOVSIsIk5BViIsIk5PRlJBTUVTIiwiTk9TQ1JJUFQiLCJPTCIsIk9VVFBVVCIsIlAiLCJQUkUiLCJTRUNUSU9OIiwiVEFCTEUiLCJUQk9EWSIsIlREIiwiVEZPT1QiLCJUSCIsIlRIRUFEIiwiVFIiLCJVTCJdO3MoZmRlLCJpc0Jsb2NrIik7Q2h0PVsiQVJFQSIsIkJBU0UiLCJCUiIsIkNPTCIsIkNPTU1BTkQiLCJFTUJFRCIsIkhSIiwiSU1HIiwiSU5QVVQiLCJLRVlHRU4iLCJMSU5LIiwiTUVUQSIsIlBBUkFNIiwiU09VUkNFIiwiVFJBQ0siLCJXQlIiXTtzKF9odCwiaXNWb2lkIik7cyhzemEsImhhc1ZvaWQiKTtUaHQ9WyJBIiwiVEFCTEUiLCJUSEVBRCIsIlRCT0RZIiwiVEZPT1QiLCJUSCIsIlREIiwiSUZSQU1FIiwiU0NSSVBUIiwiQVVESU8iLCJWSURFTyJdO3MoaXphLCJpc01lYW5pbmdmdWxXaGVuQmxhbmsiKTtzKG96YSwiaGFzTWVhbmluZ2Z1bFdoZW5CbGFuayIpO3MoaGRlLCJpcyIpO3MoTGh0LCJoYXMiKTtuemE9W1svXFwvZywiXFxcXCJdLFsvXCovZywiXFwqIl0sWy9eLS9nLCJcXC0iXSxbL15cKyAvZywiXFwrICJdLFsvXig9KykvZywiXFwkMSJdLFsvXigjezEsNn0pIC9nLCJcXCQxICJdLFsvYC9nLCJcXGAiXSxbL15+fn4vZywiXFx+fn4iXSxbL1xbL2csIlxcWyJdLFsvXF0vZywiXFxdIl0sWy9ePi9nLCJcXD4iXSxbL18vZywiXFxfIl0sWy9eKFxkKylcLiAvZywiJDFcXC4gIl1dO3MoJGh0LCJlc2NhcGVNYXJrZG93biIpO0xpPXt9O0xpLnBhcmFncmFwaD17ZmlsdGVyOiJwIixyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEpe3JldHVybmAKCmArYStgCgpgfSwicmVwbGFjZW1lbnQiKX0sTGkubGluZUJyZWFrPXtmaWx0ZXI6ImJyIixyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEsZSx0KXtyZXR1cm4gdC5icitgCmB9LCJyZXBsYWNlbWVudCIpfSxMaS5oZWFkaW5nPXtmaWx0ZXI6WyJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiXSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEsZSx0KXt2YXIgcj1OdW1iZXIoZS5ub2RlTmFtZS5jaGFyQXQoMSkpO2lmKHQuaGVhZGluZ1N0eWxlPT09InNldGV4dCImJnI8Myl7dmFyIGk9cGRlKHI9PT0xPyI9IjoiLSIsYS5sZW5ndGgpO3JldHVybmAKCmArYStgCmAraStgCgpgfWVsc2UgcmV0dXJuYAoKYCtwZGUoIiMiLHIpKyIgIithK2AKCmB9LCJyZXBsYWNlbWVudCIpfSxMaS5ibG9ja3F1b3RlPXtmaWx0ZXI6ImJsb2NrcXVvdGUiLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSl7cmV0dXJuIGE9emh0KGEpLnJlcGxhY2UoL14vZ20sIj4gIiksYAoKYCthK2AKCmB9LCJyZXBsYWNlbWVudCIpfSxMaS5saXN0PXtmaWx0ZXI6WyJ1bCIsIm9sIl0scmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdC5ub2RlTmFtZT09PSJMSSImJnQubGFzdEVsZW1lbnRDaGlsZD09PWU/YApgK2E6YAoKYCthK2AKCmB9LCJyZXBsYWNlbWVudCIpfSxMaS5saXN0SXRlbT17ZmlsdGVyOiJsaSIscmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUsdCl7dmFyIHI9dC5idWxsZXRMaXN0TWFya2VyKyIgICAiLGk9ZS5wYXJlbnROb2RlO2lmKGkubm9kZU5hbWU9PT0iT0wiKXt2YXIgbz1pLmdldEF0dHJpYnV0ZSgic3RhcnQiKSxuPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoaS5jaGlsZHJlbixlKTtyPShvP051bWJlcihvKStuOm4rMSkrIi4gICJ9dmFyIGw9L1xuJC8udGVzdChhKTtyZXR1cm4gYT16aHQoYSkrKGw/YApgOiIiKSxhPWEucmVwbGFjZSgvXG4vZ20sYApgKyIgIi5yZXBlYXQoci5sZW5ndGgpKSxyK2ErKGUubmV4dFNpYmxpbmc/YApgOiIiKX0sInJlcGxhY2VtZW50Iil9LExpLmluZGVudGVkQ29kZUJsb2NrPXtmaWx0ZXI6cyhmdW5jdGlvbihhLGUpe3JldHVybiBlLmNvZGVCbG9ja1N0eWxlPT09ImluZGVudGVkIiYmYS5ub2RlTmFtZT09PSJQUkUiJiZhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlTmFtZT09PSJDT0RFIn0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSxlLHQpe3JldHVybmAKCiAgICBgK2UuZmlyc3RDaGlsZC50ZXh0Q29udGVudC5yZXBsYWNlKC9cbi9nLGAKICAgIGApK2AKCmB9LCJyZXBsYWNlbWVudCIpfSxMaS5mZW5jZWRDb2RlQmxvY2s9e2ZpbHRlcjpzKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIGUuY29kZUJsb2NrU3R5bGU9PT0iZmVuY2VkIiYmYS5ub2RlTmFtZT09PSJQUkUiJiZhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlTmFtZT09PSJDT0RFIn0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1lLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIixpPShyLm1hdGNoKC9sYW5ndWFnZS0oXFMrKS8pfHxbbnVsbCwiIl0pWzFdLG89ZS5maXJzdENoaWxkLnRleHRDb250ZW50LG49dC5mZW5jZS5jaGFyQXQoMCksbD0zLGQ9bmV3IFJlZ0V4cCgiXiIrbisiezMsfSIsImdtIiksYztjPWQuZXhlYyhvKTspY1swXS5sZW5ndGg+PWwmJihsPWNbMF0ubGVuZ3RoKzEpO3ZhciBwPXBkZShuLGwpO3JldHVybmAKCmArcCtpK2AKYCtvLnJlcGxhY2UoL1xuJC8sIiIpK2AKYCtwK2AKCmB9LCJyZXBsYWNlbWVudCIpfSxMaS5ob3Jpem9udGFsUnVsZT17ZmlsdGVyOiJociIscmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUsdCl7cmV0dXJuYAoKYCt0LmhyK2AKCmB9LCJyZXBsYWNlbWVudCIpfSxMaS5pbmxpbmVMaW5rPXtmaWx0ZXI6cyhmdW5jdGlvbihhLGUpe3JldHVybiBlLmxpbmtTdHlsZT09PSJpbmxpbmVkIiYmYS5ub2RlTmFtZT09PSJBIiYmYS5nZXRBdHRyaWJ1dGUoImhyZWYiKX0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSxlKXt2YXIgdD1tZGUoZS5nZXRBdHRyaWJ1dGUoImhyZWYiKSkscj1nZGUodkooZS5nZXRBdHRyaWJ1dGUoInRpdGxlIikpKSxpPXI/JyAiJytyKyciJzoiIjtyZXR1cm4iWyIrYSsiXSgiK3QraSsiKSJ9LCJyZXBsYWNlbWVudCIpfSxMaS5yZWZlcmVuY2VMaW5rPXtmaWx0ZXI6cyhmdW5jdGlvbihhLGUpe3JldHVybiBlLmxpbmtTdHlsZT09PSJyZWZlcmVuY2VkIiYmYS5ub2RlTmFtZT09PSJBIiYmYS5nZXRBdHRyaWJ1dGUoImhyZWYiKX0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSxlLHQpe3ZhciByPW1kZShlLmdldEF0dHJpYnV0ZSgiaHJlZiIpKSxpPXZKKGUuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpKTtpJiYoaT0nICInK2dkZShpKSsnIicpO3ZhciBvLG47c3dpdGNoKHQubGlua1JlZmVyZW5jZVN0eWxlKXtjYXNlImNvbGxhcHNlZCI6bz0iWyIrYSsiXVtdIixuPSJbIithKyJdOiAiK3IraTticmVhaztjYXNlInNob3J0Y3V0IjpvPSJbIithKyJdIixuPSJbIithKyJdOiAiK3IraTticmVhaztkZWZhdWx0OnZhciBsPXRoaXMucmVmZXJlbmNlcy5sZW5ndGgrMTtvPSJbIithKyJdWyIrbCsiXSIsbj0iWyIrbCsiXTogIityK2l9cmV0dXJuIHRoaXMucmVmZXJlbmNlcy5wdXNoKG4pLG99LCJyZXBsYWNlbWVudCIpLHJlZmVyZW5jZXM6W10sYXBwZW5kOnMoZnVuY3Rpb24oYSl7dmFyIGU9IiI7cmV0dXJuIHRoaXMucmVmZXJlbmNlcy5sZW5ndGgmJihlPWAKCmArdGhpcy5yZWZlcmVuY2VzLmpvaW4oYApgKStgCgpgLHRoaXMucmVmZXJlbmNlcz1bXSksZX0sImFwcGVuZCIpfSxMaS5lbXBoYXNpcz17ZmlsdGVyOlsiZW0iLCJpIl0scmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUsdCl7cmV0dXJuIGEudHJpbSgpP3QuZW1EZWxpbWl0ZXIrYSt0LmVtRGVsaW1pdGVyOiIifSwicmVwbGFjZW1lbnQiKX0sTGkuc3Ryb25nPXtmaWx0ZXI6WyJzdHJvbmciLCJiIl0scmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUsdCl7cmV0dXJuIGEudHJpbSgpP3Quc3Ryb25nRGVsaW1pdGVyK2ErdC5zdHJvbmdEZWxpbWl0ZXI6IiJ9LCJyZXBsYWNlbWVudCIpfSxMaS5jb2RlPXtmaWx0ZXI6cyhmdW5jdGlvbihhKXt2YXIgZT1hLnByZXZpb3VzU2libGluZ3x8YS5uZXh0U2libGluZyx0PWEucGFyZW50Tm9kZS5ub2RlTmFtZT09PSJQUkUiJiYhZTtyZXR1cm4gYS5ub2RlTmFtZT09PSJDT0RFIiYmIXR9LCJmaWx0ZXIiKSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiIiO2E9YS5yZXBsYWNlKC9ccj9cbnxcci9nLCIgIik7Zm9yKHZhciBlPS9eYHxeIC4qP1teIF0uKiAkfGAkLy50ZXN0KGEpPyIgIjoiIix0PSJgIixyPWEubWF0Y2goL2ArL2dtKXx8W107ci5pbmRleE9mKHQpIT09LTE7KXQ9dCsiYCI7cmV0dXJuIHQrZSthK2UrdH0sInJlcGxhY2VtZW50Iil9LExpLmltYWdlPXtmaWx0ZXI6ImltZyIscmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUpe3ZhciB0PSRodCh2SihlLmdldEF0dHJpYnV0ZSgiYWx0IikpKSxyPW1kZShlLmdldEF0dHJpYnV0ZSgic3JjIil8fCIiKSxpPXZKKGUuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpKSxvPWk/JyAiJytnZGUoaSkrJyInOiIiO3JldHVybiByPyIhWyIrdCsiXSgiK3IrbysiKSI6IiJ9LCJyZXBsYWNlbWVudCIpfTtzKHZKLCJjbGVhbkF0dHJpYnV0ZSIpO3MobWRlLCJlc2NhcGVMaW5rRGVzdGluYXRpb24iKTtzKGdkZSwiZXNjYXBlTGlua1RpdGxlIik7cyhEaHQsIlJ1bGVzIiksRGh0LnByb3RvdHlwZT17YWRkOnMoZnVuY3Rpb24oYSxlKXt0aGlzLmFycmF5LnVuc2hpZnQoZSl9LCJhZGQiKSxrZWVwOnMoZnVuY3Rpb24oYSl7dGhpcy5fa2VlcC51bnNoaWZ0KHtmaWx0ZXI6YSxyZXBsYWNlbWVudDp0aGlzLmtlZXBSZXBsYWNlbWVudH0pfSwia2VlcCIpLHJlbW92ZTpzKGZ1bmN0aW9uKGEpe3RoaXMuX3JlbW92ZS51bnNoaWZ0KHtmaWx0ZXI6YSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKCl7cmV0dXJuIiJ9LCJyZXBsYWNlbWVudCIpfSl9LCJyZW1vdmUiKSxmb3JOb2RlOnMoZnVuY3Rpb24oYSl7aWYoYS5pc0JsYW5rKXJldHVybiB0aGlzLmJsYW5rUnVsZTt2YXIgZTtyZXR1cm4oZT1iZGUodGhpcy5hcnJheSxhLHRoaXMub3B0aW9ucykpfHwoZT1iZGUodGhpcy5fa2VlcCxhLHRoaXMub3B0aW9ucykpfHwoZT1iZGUodGhpcy5fcmVtb3ZlLGEsdGhpcy5vcHRpb25zKSk/ZTp0aGlzLmRlZmF1bHRSdWxlfSwiZm9yTm9kZSIpLGZvckVhY2g6cyhmdW5jdGlvbihhKXtmb3IodmFyIGU9MDtlPHRoaXMuYXJyYXkubGVuZ3RoO2UrKylhKHRoaXMuYXJyYXlbZV0sZSl9LCJmb3JFYWNoIil9O3MoYmRlLCJmaW5kUnVsZSIpO3MobHphLCJmaWx0ZXJWYWx1ZSIpO3MoY3phLCJjb2xsYXBzZVdoaXRlc3BhY2UiKTtzKHZkZSwicmVtb3ZlIik7cyhBaHQsIm5leHQiKTt4ZGU9dHlwZW9mIHdpbmRvdzwidSI/d2luZG93Ont9O3MoZHphLCJjYW5QYXJzZUhUTUxOYXRpdmVseSIpO3ModXphLCJjcmVhdGVIVE1MUGFyc2VyIik7cyhwemEsInNob3VsZFVzZUFjdGl2ZVgiKTtmemE9ZHphKCk/eGRlLkRPTVBhcnNlcjp1emEoKTtzKGh6YSwiUm9vdE5vZGUiKTtzKG16YSwiaHRtbFBhcnNlciIpO3MoZ3phLCJpc1ByZU9yQ29kZSIpO3MoYnphLCJOb2RlIik7cyh2emEsImlzQmxhbmsiKTtzKHh6YSwiZmxhbmtpbmdXaGl0ZXNwYWNlIik7cyh5emEsImVkZ2VXaGl0ZXNwYWNlIik7cyhQaHQsImlzRmxhbmtlZEJ5V2hpdGVzcGFjZSIpO3d6YT1BcnJheS5wcm90b3R5cGUucmVkdWNlO3MoVzAsIlR1cm5kb3duU2VydmljZSIpLFcwLnByb3RvdHlwZT17dHVybmRvd246cyhmdW5jdGlvbihhKXtpZighU3phKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoYSsiIGlzIG5vdCBhIHN0cmluZywgb3IgYW4gZWxlbWVudC9kb2N1bWVudC9mcmFnbWVudCBub2RlLiIpO2lmKGE9PT0iIilyZXR1cm4iIjt2YXIgZT1FaHQuY2FsbCh0aGlzLG5ldyBoemEoYSx0aGlzLm9wdGlvbnMpKTtyZXR1cm4gTXphLmNhbGwodGhpcyxlKX0sInR1cm5kb3duIiksdXNlOnMoZnVuY3Rpb24oYSl7aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIGU9MDtlPGEubGVuZ3RoO2UrKyl0aGlzLnVzZShhW2VdKTtlbHNlIGlmKHR5cGVvZiBhPT0iZnVuY3Rpb24iKWEodGhpcyk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJwbHVnaW4gbXVzdCBiZSBhIEZ1bmN0aW9uIG9yIGFuIEFycmF5IG9mIEZ1bmN0aW9ucyIpO3JldHVybiB0aGlzfSwidXNlIiksYWRkUnVsZTpzKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIHRoaXMucnVsZXMuYWRkKGEsZSksdGhpc30sImFkZFJ1bGUiKSxrZWVwOnMoZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucnVsZXMua2VlcChhKSx0aGlzfSwia2VlcCIpLHJlbW92ZTpzKGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJ1bGVzLnJlbW92ZShhKSx0aGlzfSwicmVtb3ZlIiksZXNjYXBlOnMoZnVuY3Rpb24oYSl7cmV0dXJuICRodChhKX0sImVzY2FwZSIpfTtzKEVodCwicHJvY2VzcyIpO3MoTXphLCJwb3N0UHJvY2VzcyIpO3Moa3phLCJyZXBsYWNlbWVudEZvck5vZGUiKTtzKElodCwiam9pbiIpO3MoU3phLCJjYW5Db252ZXJ0Iil9KTt2YXIgQ2RlPXt9O2x0KENkZSx7Z2ZtOigpPT5GaHQsaGlnaGxpZ2h0ZWRDb2RlQmxvY2s6KCk9Pk1kZSxzdHJpa2V0aHJvdWdoOigpPT5rZGUsdGFibGVzOigpPT5TZGUsdGFza0xpc3RJdGVtczooKT0+emRlfSk7ZnVuY3Rpb24gTWRlKGEpe2EuYWRkUnVsZSgiaGlnaGxpZ2h0ZWRDb2RlQmxvY2siLHtmaWx0ZXI6cyhmdW5jdGlvbihlKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7cmV0dXJuIGUubm9kZU5hbWU9PT0iRElWIiYmUmh0LnRlc3QoZS5jbGFzc05hbWUpJiZ0JiZ0Lm5vZGVOYW1lPT09IlBSRSJ9LCJmaWx0ZXIiKSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10LmNsYXNzTmFtZXx8IiIsbz0oaS5tYXRjaChSaHQpfHxbbnVsbCwiIl0pWzFdO3JldHVybmAKCmArci5mZW5jZStvK2AKYCt0LmZpcnN0Q2hpbGQudGV4dENvbnRlbnQrYApgK3IuZmVuY2UrYAoKYH0sInJlcGxhY2VtZW50Iil9KX1mdW5jdGlvbiBrZGUoYSl7YS5hZGRSdWxlKCJzdHJpa2V0aHJvdWdoIix7ZmlsdGVyOlsiZGVsIiwicyIsInN0cmlrZSJdLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oZSl7cmV0dXJuIn4iK2UrIn4ifSwicmVwbGFjZW1lbnQiKX0pfWZ1bmN0aW9uIHdkZShhKXt2YXIgZT1hLnBhcmVudE5vZGU7cmV0dXJuIGUubm9kZU5hbWU9PT0iVEhFQUQifHxlLmZpcnN0Q2hpbGQ9PT1hJiYoZS5ub2RlTmFtZT09PSJUQUJMRSJ8fF96YShlKSkmJkN6YS5jYWxsKGEuY2hpbGROb2RlcyxmdW5jdGlvbih0KXtyZXR1cm4gdC5ub2RlTmFtZT09PSJUSCJ9KX1mdW5jdGlvbiBfemEoYSl7dmFyIGU9YS5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIGEubm9kZU5hbWU9PT0iVEJPRFkiJiYoIWV8fGUubm9kZU5hbWU9PT0iVEhFQUQiJiYvXlxzKiQvaS50ZXN0KGUudGV4dENvbnRlbnQpKX1mdW5jdGlvbiBPaHQoYSxlKXt2YXIgdD16emEuY2FsbChlLnBhcmVudE5vZGUuY2hpbGROb2RlcyxlKSxyPSIgIjtyZXR1cm4gdD09PTAmJihyPSJ8ICIpLHIrYSsiIHwifWZ1bmN0aW9uIFNkZShhKXthLmtlZXAoZnVuY3Rpb24odCl7cmV0dXJuIHQubm9kZU5hbWU9PT0iVEFCTEUiJiYhd2RlKHQucm93c1swXSl9KTtmb3IodmFyIGUgaW4gRDgpYS5hZGRSdWxlKGUsRDhbZV0pfWZ1bmN0aW9uIHpkZShhKXthLmFkZFJ1bGUoInRhc2tMaXN0SXRlbXMiLHtmaWx0ZXI6cyhmdW5jdGlvbihlKXtyZXR1cm4gZS50eXBlPT09ImNoZWNrYm94IiYmZS5wYXJlbnROb2RlLm5vZGVOYW1lPT09IkxJIn0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oZSx0KXtyZXR1cm4odC5jaGVja2VkPyJbeF0iOiJbIF0iKSsiICJ9LCJyZXBsYWNlbWVudCIpfSl9ZnVuY3Rpb24gRmh0KGEpe2EudXNlKFtNZGUsa2RlLFNkZSx6ZGVdKX12YXIgUmh0LHp6YSxDemEsRDgsQmh0PWYoKCk9PntSaHQ9L2hpZ2hsaWdodC0oPzp0ZXh0fHNvdXJjZSktKFthLXowLTldKykvO3MoTWRlLCJoaWdobGlnaHRlZENvZGVCbG9jayIpO3Moa2RlLCJzdHJpa2V0aHJvdWdoIik7enphPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLEN6YT1BcnJheS5wcm90b3R5cGUuZXZlcnksRDg9e307RDgudGFibGVDZWxsPXtmaWx0ZXI6WyJ0aCIsInRkIl0scmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUpe3JldHVybiBPaHQoYSxlKX0sInJlcGxhY2VtZW50Iil9LEQ4LnRhYmxlUm93PXtmaWx0ZXI6InRyIixyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEsZSl7dmFyIHQ9IiIscj17bGVmdDoiOi0tIixyaWdodDoiLS06IixjZW50ZXI6IjotOiJ9O2lmKHdkZShlKSlmb3IodmFyIGk9MDtpPGUuY2hpbGROb2Rlcy5sZW5ndGg7aSsrKXt2YXIgbz0iLS0tIixuPShlLmNoaWxkTm9kZXNbaV0uZ2V0QXR0cmlidXRlKCJhbGlnbiIpfHwiIikudG9Mb3dlckNhc2UoKTtuJiYobz1yW25dfHxvKSx0Kz1PaHQobyxlLmNoaWxkTm9kZXNbaV0pfXJldHVybmAKYCthKyh0P2AKYCt0OiIiKX0sInJlcGxhY2VtZW50Iil9LEQ4LnRhYmxlPXtmaWx0ZXI6cyhmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZT09PSJUQUJMRSImJndkZShhLnJvd3NbMF0pfSwiZmlsdGVyIikscmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhKXtyZXR1cm4gYT1hLnJlcGxhY2UoYAoKYCxgCmApLGAKCmArYStgCgpgfSwicmVwbGFjZW1lbnQiKX0sRDgudGFibGVTZWN0aW9uPXtmaWx0ZXI6WyJ0aGVhZCIsInRib2R5IiwidGZvb3QiXSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEpe3JldHVybiBhfSwicmVwbGFjZW1lbnQiKX07cyh3ZGUsImlzSGVhZGluZ1JvdyIpO3MoX3phLCJpc0ZpcnN0VGJvZHkiKTtzKE9odCwiY2VsbCIpO3MoU2RlLCJ0YWJsZXMiKTtzKHpkZSwidGFza0xpc3RJdGVtcyIpO3MoRmh0LCJnZm0iKX0pO3ZhciBfZGUsVGRlPWYoKCk9PntfM3QoKTtvZHQoKTtwcHQoKTtPcHQoKTtacHQoKTt5aHQoKTtNaHQoKTtOaHQoKTtCaHQoKTtfZGU9Q2RlfSk7dmFyIFR6YSx4SixxaHQ9ZigoKT0+e1RkZSgpO1R6YT1zKGE9PmEudHlwZT09PSJ5YW1sIiYmInZhbHVlImluIGEmJnR5cGVvZiBhLnZhbHVlPT0ic3RyaW5nIiwiaXNZYW1sTm9kZSIpLHhKPWNsYXNzIGF7c3RhdGlje3ModGhpcywiTWRQYXJzZWRSZXN1bHQiKX1jb25zdHJ1Y3Rvcigpe3RoaXMub3JpZ2luYWxTdHJpbmc9IiIsdGhpcy50aXRsZT0iIix0aGlzLmh0bWw9IiIsdGhpcy5mcm9udG1hdHRlckRhdGE9e319c3RhdGljIGFzeW5jIGNyZWF0ZUZyb21NYXJrZG93blN0cmluZyhlKXtsZXQgdD1uZXcgYTtyZXR1cm4gYXdhaXQgdC51cGRhdGVGcm9tTWFya2Rvd25TdHJpbmcoZSksdH1hc3luYyB1cGRhdGVGcm9tTWFya2Rvd25TdHJpbmcoZSl7dGhpcy5vcmlnaW5hbFN0cmluZz1lO2xldCB0LHI9YXdhaXQgRmcoKS51c2UoazgpLnVzZShNOCkudXNlKHo4LFsieWFtbCIsInRvbWwiXSkudXNlKCQ4KS51c2UoTDgpLnVzZSgoKT0+aT0+e2xldCBvPWkuY2hpbGRyZW4uZmluZChUemEpO28mJih0PW8udmFsdWUpfSkucHJvY2VzcyhlKTt0aGlzLmh0bWw9ci50b1N0cmluZygpLHQ/dGhpcy5mcm9udG1hdHRlckRhdGE9YXdhaXQgSWcueWFtbFN0cmluZ1RvT2JqZWN0KHQpOnRoaXMuZnJvbnRtYXR0ZXJEYXRhPXt9fX19KTt2YXIgY2I9e307bHQoY2Ise1NtYXJ0TWFya2Rvd246KCk9PkxkZX0pO3ZhciBMZGUsVmh0PWYoKCk9PntUZGUoKTtxaHQoKTtMZGU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTbWFydE1hcmtkb3duIil9c3RhdGljIGFzeW5jIGVhc3lNYXJrZG93blRvSHRtbChlKXtyZXR1cm4oYXdhaXQgbmV3IGEoKS5nZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bihlKSkuaHRtbH1jb25zdHJ1Y3Rvcigpe31hc3luYyBnZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bihlKXtyZXR1cm4gYXdhaXQgeEouY3JlYXRlRnJvbU1hcmtkb3duU3RyaW5nKGUpfWh0bWxUb01hcmtkb3duKGUpe2xldCB0PW5ldyBXMCh7aGVhZGluZ1N0eWxlOiJhdHgiLGNvZGVCbG9ja1N0eWxlOiJmZW5jZWQifSk7cmV0dXJuIHQudXNlKF9kZS5nZm0pLHQudHVybmRvd24oZSl9fX0pO3ZhciBLaHQ9TW8oeDE9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHgxLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx4MS5QYXRoRXJyb3I9eDEuVG9rZW5EYXRhPXZvaWQgMCx4MS5wYXJzZT1BZGUseDEuY29tcGlsZT1BemEseDEubWF0Y2g9RXphLHgxLnBhdGhUb1JlZ2V4cD1XaHQseDEuc3RyaW5naWZ5PU56YTt2YXIgJGRlPSIvIixEZGU9cyhhPT5hLCJOT09QX1ZBTFVFIiksTHphPS9eWyRfXHB7SURfU3RhcnR9XSQvdSxqaHQ9L15bJFx1MjAwY1x1MjAwZFxwe0lEX0NvbnRpbnVlfV0kL3UsJHphPS9eWyRfXHB7SURfU3RhcnR9XVskXHUyMDBjXHUyMDBkXHB7SURfQ29udGludWV9XSokL3U7ZnVuY3Rpb24gRHphKGEpe3JldHVybiBhLnJlcGxhY2UoL1t7fSgpXFtcXSs/IToqXFxdL2csIlxcJCYiKX1zKER6YSwiZXNjYXBlVGV4dCIpO2Z1bmN0aW9uIGpsKGEpe3JldHVybiBhLnJlcGxhY2UoL1suKyo/XiR7fSgpW1xdfC9cXF0vZywiXFwkJiIpfXMoamwsImVzY2FwZSIpO3ZhciB5Sj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUb2tlbkRhdGEiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMudG9rZW5zPWUsdGhpcy5vcmlnaW5hbFBhdGg9dH19O3gxLlRva2VuRGF0YT15Sjt2YXIgTzI9Y2xhc3MgZXh0ZW5kcyBUeXBlRXJyb3J7c3RhdGlje3ModGhpcywiUGF0aEVycm9yIil9Y29uc3RydWN0b3IoZSx0KXtsZXQgcj1lO3QmJihyKz1gOiAke3R9YCkscis9IjsgdmlzaXQgaHR0cHM6Ly9naXQubmV3L3BhdGhUb1JlZ2V4cEVycm9yIGZvciBpbmZvIixzdXBlcihyKSx0aGlzLm9yaWdpbmFsUGF0aD10fX07eDEuUGF0aEVycm9yPU8yO2Z1bmN0aW9uIEFkZShhLGU9e30pe2xldHtlbmNvZGVQYXRoOnQ9RGRlfT1lLHI9Wy4uLmFdLGk9MDtmdW5jdGlvbiBvKG4pe2xldCBsPVtdLGQ9IiI7ZnVuY3Rpb24gYygpe2QmJihsLnB1c2goe3R5cGU6InRleHQiLHZhbHVlOnQoZCl9KSxkPSIiKX1mb3IocyhjLCJ3cml0ZVBhdGgiKTtpPHIubGVuZ3RoOyl7bGV0IHA9cltpKytdO2lmKHA9PT1uKXJldHVybiBjKCksbDtpZihwPT09IlxcIil7aWYoaT09PXIubGVuZ3RoKXRocm93IG5ldyBPMihgVW5leHBlY3RlZCBlbmQgYWZ0ZXIgXFwgYXQgaW5kZXggJHtpfWAsYSk7ZCs9cltpKytdO2NvbnRpbnVlfWlmKHA9PT0iOiJ8fHA9PT0iKiIpe2xldCB1PXA9PT0iOiI/InBhcmFtIjoid2lsZGNhcmQiLG09IiI7aWYoTHphLnRlc3QocltpXSkpZG8gbSs9cltpKytdO3doaWxlKGpodC50ZXN0KHJbaV0pKTtlbHNlIGlmKHJbaV09PT0nIicpe2xldCB2PWk7Zm9yKDtpPHIubGVuZ3RoOyl7aWYoclsrK2ldPT09JyInKXtpKyssdj0wO2JyZWFrfXJbaV09PT0iXFwiJiZpKyssbSs9cltpXX1pZih2KXRocm93IG5ldyBPMihgVW50ZXJtaW5hdGVkIHF1b3RlIGF0IGluZGV4ICR7dn1gLGEpfWlmKCFtKXRocm93IG5ldyBPMihgTWlzc2luZyBwYXJhbWV0ZXIgbmFtZSBhdCBpbmRleCAke2l9YCxhKTtjKCksbC5wdXNoKHt0eXBlOnUsbmFtZTptfSk7Y29udGludWV9aWYocD09PSJ7Iil7YygpLGwucHVzaCh7dHlwZToiZ3JvdXAiLHRva2VuczpvKCJ9Iil9KTtjb250aW51ZX1pZihwPT09In0ifHxwPT09IigifHxwPT09IikifHxwPT09IlsifHxwPT09Il0ifHxwPT09IisifHxwPT09Ij8ifHxwPT09IiEiKXRocm93IG5ldyBPMihgVW5leHBlY3RlZCAke3B9IGF0IGluZGV4ICR7aS0xfWAsYSk7ZCs9cH1pZihuKXRocm93IG5ldyBPMihgVW5leHBlY3RlZCBlbmQgYXQgaW5kZXggJHtpfSwgZXhwZWN0ZWQgJHtufWAsYSk7cmV0dXJuIGMoKSxsfXJldHVybiBzKG8sImNvbnN1bWVVbnRpbCIpLG5ldyB5SihvKCIiKSxhKX1zKEFkZSwicGFyc2UiKTtmdW5jdGlvbiBBemEoYSxlPXt9KXtsZXR7ZW5jb2RlOnQ9ZW5jb2RlVVJJQ29tcG9uZW50LGRlbGltaXRlcjpyPSRkZX09ZSxpPXR5cGVvZiBhPT0ib2JqZWN0Ij9hOkFkZShhLGUpLG89VWh0KGkudG9rZW5zLHIsdCk7cmV0dXJuIHMoZnVuY3Rpb24obD17fSl7bGV0IGQ9W10sYz1vKGwsZCk7aWYoZC5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcihgTWlzc2luZyBwYXJhbWV0ZXJzOiAke2Quam9pbigiLCAiKX1gKTtyZXR1cm4gY30sInBhdGgiKX1zKEF6YSwiY29tcGlsZSIpO2Z1bmN0aW9uIFVodChhLGUsdCl7bGV0IHI9YS5tYXAoaT0+UHphKGksZSx0KSk7cmV0dXJuKGksbyk9PntsZXQgbj0iIjtmb3IobGV0IGwgb2YgciluKz1sKGksbyk7cmV0dXJuIG59fXMoVWh0LCJ0b2tlbnNUb0Z1bmN0aW9uIik7ZnVuY3Rpb24gUHphKGEsZSx0KXtpZihhLnR5cGU9PT0idGV4dCIpcmV0dXJuKCk9PmEudmFsdWU7aWYoYS50eXBlPT09Imdyb3VwIil7bGV0IGk9VWh0KGEudG9rZW5zLGUsdCk7cmV0dXJuKG8sbik9PntsZXQgbD1uLmxlbmd0aCxkPWkobyxuKTtyZXR1cm4gbi5sZW5ndGg9PT1sP2Q6KG4ubGVuZ3RoPWwsIiIpfX1sZXQgcj10fHxEZGU7cmV0dXJuIGEudHlwZT09PSJ3aWxkY2FyZCImJnQhPT0hMT8oaSxvKT0+e2xldCBuPWlbYS5uYW1lXTtpZihuPT1udWxsKXJldHVybiBvLnB1c2goYS5uYW1lKSwiIjtpZighQXJyYXkuaXNBcnJheShuKXx8bi5sZW5ndGg9PT0wKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkICIke2EubmFtZX0iIHRvIGJlIGEgbm9uLWVtcHR5IGFycmF5YCk7bGV0IGw9IiI7Zm9yKGxldCBkPTA7ZDxuLmxlbmd0aDtkKyspe2lmKHR5cGVvZiBuW2RdIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAiJHthLm5hbWV9LyR7ZH0iIHRvIGJlIGEgc3RyaW5nYCk7ZD4wJiYobCs9ZSksbCs9cihuW2RdKX1yZXR1cm4gbH06KGksbyk9PntsZXQgbj1pW2EubmFtZV07aWYobj09bnVsbClyZXR1cm4gby5wdXNoKGEubmFtZSksIiI7aWYodHlwZW9mIG4hPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkICIke2EubmFtZX0iIHRvIGJlIGEgc3RyaW5nYCk7cmV0dXJuIHIobil9fXMoUHphLCJ0b2tlblRvRnVuY3Rpb24iKTtmdW5jdGlvbiBFemEoYSxlPXt9KXtsZXR7ZGVjb2RlOnQ9ZGVjb2RlVVJJQ29tcG9uZW50LGRlbGltaXRlcjpyPSRkZX09ZSx7cmVnZXhwOmksa2V5czpvfT1XaHQoYSxlKSxuPW8ubWFwKGw9PnQ9PT0hMT9EZGU6bC50eXBlPT09InBhcmFtIj90OmQ9PmQuc3BsaXQocikubWFwKHQpKTtyZXR1cm4gcyhmdW5jdGlvbihkKXtsZXQgYz1pLmV4ZWMoZCk7aWYoIWMpcmV0dXJuITE7bGV0IHA9Y1swXSx1PU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCBtPTE7bTxjLmxlbmd0aDttKyspe2lmKGNbbV09PT12b2lkIDApY29udGludWU7bGV0IHY9b1ttLTFdLHg9blttLTFdO3Vbdi5uYW1lXT14KGNbbV0pfXJldHVybntwYXRoOnAscGFyYW1zOnV9fSwibWF0Y2giKX1zKEV6YSwibWF0Y2giKTtmdW5jdGlvbiBXaHQoYSxlPXt9KXtsZXR7ZGVsaW1pdGVyOnQ9JGRlLGVuZDpyPSEwLHNlbnNpdGl2ZTppPSExLHRyYWlsaW5nOm89ITB9PWUsbj1bXSxsPSIiLGQ9MDtmdW5jdGlvbiBjKHUpe2lmKEFycmF5LmlzQXJyYXkodSkpe2ZvcihsZXQgdiBvZiB1KWModik7cmV0dXJufWxldCBtPXR5cGVvZiB1PT0ib2JqZWN0Ij91OkFkZSh1LGUpO1BkZShtLnRva2VucywwLFtdLHY9PntpZihkPj0yNTYpdGhyb3cgbmV3IE8yKCJUb28gbWFueSBwYXRoIGNvbWJpbmF0aW9ucyIsbS5vcmlnaW5hbFBhdGgpO2Q+MCYmKGwrPSJ8IiksbCs9SXphKHYsdCxuLG0ub3JpZ2luYWxQYXRoKSxkKyt9KX1zKGMsInByb2Nlc3MiKSxjKGEpO2xldCBwPWBeKD86JHtsfSlgO3JldHVybiBvJiYocCs9Iig/OiIramwodCkrIiQpPyIpLHArPXI/IiQiOiIoPz0iK2psKHQpKyJ8JCkiLHtyZWdleHA6bmV3IFJlZ0V4cChwLGk/IiI6ImkiKSxrZXlzOm59fXMoV2h0LCJwYXRoVG9SZWdleHAiKTtmdW5jdGlvbiBQZGUoYSxlLHQscil7Zm9yKDtlPGEubGVuZ3RoOyl7bGV0IGk9YVtlKytdO2lmKGkudHlwZT09PSJncm91cCIpe2xldCBvPXQubGVuZ3RoO1BkZShpLnRva2VucywwLHQsbj0+UGRlKGEsZSxuLHIpKSx0Lmxlbmd0aD1vO2NvbnRpbnVlfXQucHVzaChpKX1yKHQpfXMoUGRlLCJmbGF0dGVuIik7ZnVuY3Rpb24gSXphKGEsZSx0LHIpe2xldCBpPSIiLG89IiIsbj0iIixsPTAsZD0wLGM9MDtmdW5jdGlvbiBwKG0sdil7Zm9yKDttPGEubGVuZ3RoOyl7bGV0IHg9YVttKytdO2lmKHgudHlwZT09PXYpcmV0dXJuITA7aWYoeC50eXBlPT09InRleHQiJiZ4LnZhbHVlLmluY2x1ZGVzKGUpKWJyZWFrfXJldHVybiExfXMocCwiaGFzSW5TZWdtZW50Iik7ZnVuY3Rpb24gdShtKXtsZXQgdj0iIjtmb3IoO208YS5sZW5ndGg7KXtsZXQgeD1hW20rK107aWYoeC50eXBlIT09InRleHQiKWJyZWFrO3YrPXgudmFsdWV9cmV0dXJuIHZ9Zm9yKHModSwicGVla1RleHQiKTtjPGEubGVuZ3RoOyl7bGV0IG09YVtjKytdO2lmKG0udHlwZT09PSJ0ZXh0Iil7aSs9amwobS52YWx1ZSksbys9bS52YWx1ZSxsPT09MiYmKG4rPW0udmFsdWUpLG0udmFsdWUuaW5jbHVkZXMoZSkmJihkPTApO2NvbnRpbnVlfWlmKG0udHlwZT09PSJwYXJhbSJ8fG0udHlwZT09PSJ3aWxkY2FyZCIpe2lmKGwmJiFvKXRocm93IG5ldyBPMihgTWlzc2luZyB0ZXh0IGJlZm9yZSAiJHttLm5hbWV9IiAke20udHlwZX1gLHIpO20udHlwZT09PSJwYXJhbSI/KGkrPWQmMj9gKCR7RzAoZSxvKX0rKWA6cChjLCJ3aWxkY2FyZCIpP2AoJHtHMChlLHUoYykpfSspYDpkJjE/YCgke0cwKGUsbyl9K3wke2psKG8pfSlgOmAoJHtHMChlLCIiKX0rKWAsZHw9bD0xKTooaSs9ZCYyP2AoJHtHMChvLCIiKX0rKWA6bj9gKCR7RzAobiwiIil9K3wke0cwKGUsIiIpfSspYDoiKFteXSspIixuPSIiLGR8PWw9MiksdC5wdXNoKG0pLG89IiI7Y29udGludWV9dGhyb3cgbmV3IFR5cGVFcnJvcihgVW5rbm93biB0b2tlbiB0eXBlOiAke20udHlwZX1gKX1yZXR1cm4gaX1zKEl6YSwidG9SZWdFeHBTb3VyY2UiKTtmdW5jdGlvbiBHMChhLGUpe3JldHVybiBlLmxlbmd0aD5hLmxlbmd0aD9HMChlLGEpOihhPT09ZSYmKGU9IiIpLGUubGVuZ3RoPjE/YCg/Oig/ISR7amwoYSl9fCR7amwoZSl9KVteXSlgOmEubGVuZ3RoPjE/YCg/Oig/ISR7amwoYSl9KVteJHtqbChlKX1dKWA6YFteJHtqbChhK2UpfV1gKX1zKEcwLCJuZWdhdGUiKTtmdW5jdGlvbiBHaHQoYSxlKXtsZXQgdD0iIjtmb3IoO2U8YS5sZW5ndGg7KXtsZXQgcj1hW2UrK107aWYoci50eXBlPT09InRleHQiKXt0Kz1EemEoci52YWx1ZSk7Y29udGludWV9aWYoci50eXBlPT09Imdyb3VwIil7dCs9InsiK0dodChyLnRva2VucywwKSsifSI7Y29udGludWV9aWYoci50eXBlPT09InBhcmFtIil7dCs9IjoiK1lodChyLm5hbWUsYVtlXSk7Y29udGludWV9aWYoci50eXBlPT09IndpbGRjYXJkIil7dCs9IioiK1lodChyLm5hbWUsYVtlXSk7Y29udGludWV9dGhyb3cgbmV3IFR5cGVFcnJvcihgVW5rbm93biB0b2tlbiB0eXBlOiAke3IudHlwZX1gKX1yZXR1cm4gdH1zKEdodCwic3RyaW5naWZ5VG9rZW5zIik7ZnVuY3Rpb24gTnphKGEpe3JldHVybiBHaHQoYS50b2tlbnMsMCl9cyhOemEsInN0cmluZ2lmeSIpO2Z1bmN0aW9uIFlodChhLGUpe3JldHVybiEkemEudGVzdChhKXx8ZT8udHlwZT09PSJ0ZXh0IiYmamh0LnRlc3QoZS52YWx1ZVswXSk/SlNPTi5zdHJpbmdpZnkoYSk6YX1zKFlodCwic3RyaW5naWZ5TmFtZSIpfSk7dmFyIEVkZSxJZGU9ZigoKT0+e3o5KCk7cDIoKTtFZGU9a28oS2h0KCksMSl9KTt2YXIgd0osWmh0PWYoKCk9PntJZGUoKTt3Sj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJRdWVyeVBhcmFtcyIpfWNvbnN0cnVjdG9yKCl7fWdldEFsbEFzT2JqZWN0KCl7bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKGUuZW50cmllcygpKX1zZXRRdWVyeVBhcmFtKGUsdCxyPSJyZXBsYWNlIil7dmFyIGk9bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtpLnNldChlLHQpLHI9PT0icHVzaCI/aGlzdG9yeS5wdXNoU3RhdGUobnVsbCxudWxsLCI/IitpLnRvU3RyaW5nKCkpOmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsbnVsbCwiPyIraS50b1N0cmluZygpKX1kZWxldGVRdWVyeVBhcmFtKGUsdD0icmVwbGFjZSIpe3ZhciByPW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7ci5kZWxldGUoZSksdD09PSJwdXNoIj9oaXN0b3J5LnB1c2hTdGF0ZShudWxsLG51bGwsIj8iK3IudG9TdHJpbmcoKSk6aGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCxudWxsLCI/IityLnRvU3RyaW5nKCkpfWdldFF1ZXJ5UGFyYW0oZSl7cmV0dXJuIHRoaXMuZ2V0QWxsQXNPYmplY3QoKVtlXX19fSk7dmFyIGJycyxOZGUsWGh0PWYoKCk9PntJZGUoKTtaaHQoKTticnM9cyhhPT57Y29uc29sZS5sb2coYCVjW1JvdXRlcl0lYyAke2F9YCwiY29sb3I6IHJnYigyNTUsIDEwNSwgMTAwKTsiLCJjb2xvcjogaW5oZXJpdCIpfSwicm91dGVMb2ciKSxOZGU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTbWFydFJvdXRlciIpfWNvbnN0cnVjdG9yKGUsdD0iIil7dGhpcy5vcHRpb25zPXtkZWJ1ZzohMX0sdGhpcy5xdWVyeVBhcmFtcz1uZXcgd0osdGhpcy5yb3V0ZXM9W10sdGhpcy5vcHRpb25zPXsuLi50aGlzLm9wdGlvbnMsLi4uZX0sdGhpcy5iYXNlUGF0aD10LHRoaXMucG9wc3RhdGVMaXN0ZW5lcj1yPT57ci5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2hhbmRsZVJvdXRlU3RhdGUoKX0sd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIix0aGlzLnBvcHN0YXRlTGlzdGVuZXIpfWNyZWF0ZVN1YlJvdXRlcihlLHQpe2xldCByPWAke3RoaXMuYmFzZVBhdGh9JHtlfWA7cmV0dXJuIG5ldyBhKHsuLi50aGlzLm9wdGlvbnMsLi4udH0scil9YXN5bmMgcHVzaFVybChlPSIvIix0PXt9KXtsZXQgcj1gJHt0aGlzLmJhc2VQYXRofSR7ZX1gO3IhPT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWU/d2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHQsd2luZG93LmRvY3VtZW50LnRpdGxlLHIpOndpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh0LHdpbmRvdy5kb2N1bWVudC50aXRsZSxyKSxhd2FpdCB0aGlzLl9oYW5kbGVSb3V0ZVN0YXRlKCl9b24oZSx0KXtsZXQgcj1gJHt0aGlzLmJhc2VQYXRofSR7ZX1gLGk9e21hdGNoRnVuY3Rpb246RWRlLm1hdGNoKHIpLGhhbmRsZXI6dH07cmV0dXJuIHRoaXMucm91dGVzLnB1c2goaSkscygoKT0+e3RoaXMucm91dGVzLnNwbGljZSh0aGlzLnJvdXRlcy5pbmRleE9mKGkpLDEpfSwicmVtb3ZlRnVuY3Rpb24iKX1hc3luYyBfaGFuZGxlUm91dGVTdGF0ZSgpe2xldCBlPXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSx0PXRoaXMucm91dGVzLmZpbHRlcihyPT4hIXIubWF0Y2hGdW5jdGlvbihlKSk7Zm9yKGxldCByIG9mIHQpe2xldCBpPXIubWF0Y2hGdW5jdGlvbihlKTtyLmhhbmRsZXIoey4uLmkudmFsdWVPZigpLHF1ZXJ5UGFyYW1zOnRoaXMucXVlcnlQYXJhbXMuZ2V0QWxsQXNPYmplY3QoKX0pfX1kZXN0cm95KCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIix0aGlzLnBvcHN0YXRlTGlzdGVuZXIpLHRoaXMucm91dGVzPVtdfX19KTt2YXIgdGQ9e307bHQodGQse1NtYXJ0Um91dGVyOigpPT5OZGV9KTt2YXIgUWh0PWYoKCk9PntYaHQoKX0pO3ZhciBKaHQ9ZigoKT0+e1I5KCk7T2goKX0pO2Z1bmN0aW9uIEYyKGEsZSl7cmV0dXJuIGE+Pj5lfGE8PDMyLWV9ZnVuY3Rpb24gSHphKGEsZSl7bGV0IHQ9ZVswXSxyPWVbMV0saT1lWzJdLG89ZVszXSxuPWVbNF0sbD1lWzVdLGQ9ZVs2XSxjPWVbN107Zm9yKGxldCBwPTA7cDw2NDtwKyspe2lmKHA+PTE2KXtsZXQgeT1GMihhW3AtMTVdLDcpXkYyKGFbcC0xNV0sMTgpXmFbcC0xNV0+Pj4zLGs9RjIoYVtwLTJdLDE3KV5GMihhW3AtMl0sMTkpXmFbcC0yXT4+PjEwO2FbcF09YVtwLTE2XSt5K2FbcC03XStrPj4+MH1sZXQgdT1GMihuLDYpXkYyKG4sMTEpXkYyKG4sMjUpLG09biZsXn5uJmQsdj1jK3UrbStGemFbcF0rYVtwXT4+PjAseD1GMih0LDIpXkYyKHQsMTMpXkYyKHQsMjIpLGI9dCZyXnQmaV5yJmksZz14K2I+Pj4wO2M9ZCxkPWwsbD1uLG49byt2Pj4+MCxvPWksaT1yLHI9dCx0PXYrZz4+PjB9ZVswXT1lWzBdK3Q+Pj4wLGVbMV09ZVsxXStyPj4+MCxlWzJdPWVbMl0raT4+PjAsZVszXT1lWzNdK28+Pj4wLGVbNF09ZVs0XStuPj4+MCxlWzVdPWVbNV0rbD4+PjAsZVs2XT1lWzZdK2Q+Pj4wLGVbN109ZVs3XStjPj4+MH1mdW5jdGlvbiBSZGUoYSl7bGV0IGU9Wy4uLkJ6YV0sdD1hLmxlbmd0aCxyPXQqOCxpPXQlNjQ8NTY/NTYtdCU2NDoxMjAtdCU2NCxvPW5ldyBVaW50OEFycmF5KHQraSs4KTtvLnNldChhKSxvW3RdPTEyODtsZXQgbj1uZXcgRGF0YVZpZXcoby5idWZmZXIpO24uc2V0VWludDMyKG8ubGVuZ3RoLTgsMCwhMSksbi5zZXRVaW50MzIoby5sZW5ndGgtNCxyPj4+MCwhMSk7Zm9yKGxldCBkPTA7ZDxvLmxlbmd0aDtkKz02NCl7bGV0IGM9bmV3IEFycmF5KDY0KTtmb3IobGV0IHA9MDtwPDE2O3ArKyljW3BdPW4uZ2V0VWludDMyKGQrcCo0LCExKTtIemEoYyxlKX1sZXQgbD0iIjtmb3IobGV0IGQ9MDtkPDg7ZCsrKWwrPWVbZF0udG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDgsIjAiKTtyZXR1cm4gbH12YXIgRnphLEJ6YSxlOHQ9ZigoKT0+e0Z6YT1bMTExNjM1MjQwOCwxODk5NDQ3NDQxLDMwNDkzMjM0NzEsMzkyMTAwOTU3Myw5NjE5ODcxNjMsMTUwODk3MDk5MywyNDUzNjM1NzQ4LDI4NzA3NjMyMjEsMzYyNDM4MTA4MCwzMTA1OTg0MDEsNjA3MjI1Mjc4LDE0MjY4ODE5ODcsMTkyNTA3ODM4OCwyMTYyMDc4MjA2LDI2MTQ4ODgxMDMsMzI0ODIyMjU4MCwzODM1MzkwNDAxLDQwMjIyMjQ3NzQsMjY0MzQ3MDc4LDYwNDgwNzYyOCw3NzAyNTU5ODMsMTI0OTE1MDEyMiwxNTU1MDgxNjkyLDE5OTYwNjQ5ODYsMjU1NDIyMDg4MiwyODIxODM0MzQ5LDI5NTI5OTY4MDgsMzIxMDMxMzY3MSwzMzM2NTcxODkxLDM1ODQ1Mjg3MTEsMTEzOTI2OTkzLDMzODI0MTg5NSw2NjYzMDcyMDUsNzczNTI5OTEyLDEyOTQ3NTczNzIsMTM5NjE4MjI5MSwxNjk1MTgzNzAwLDE5ODY2NjEwNTEsMjE3NzAyNjM1MCwyNDU2OTU2MDM3LDI3MzA0ODU5MjEsMjgyMDMwMjQxMSwzMjU5NzMwODAwLDMzNDU3NjQ3NzEsMzUxNjA2NTgxNywzNjAwMzUyODA0LDQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XSxCemE9WzE3NzkwMzM3MDMsMzE0NDEzNDI3NywxMDEzOTA0MjQyLDI3NzM0ODA3NjIsMTM1OTg5MzExOSwyNjAwODIyOTI0LDUyODczNDYzNSwxNTQxNDU5MjI1XTtzKEYyLCJyb3RyIik7cyhIemEsInNoYTI1NlRyYW5zZm9ybSIpO3MoUmRlLCJzaGEyNTZGYWxsYmFjayIpfSk7dmFyIGRiPXt9O2x0KGRiLHttZDVGcm9tU3RyaW5nOigpPT5HemEsc2hhMjU2RnJvbUJ1ZmZlcjooKT0+VnphLHNoYTI1NkZyb21GaWxlOigpPT5XemEsc2hhMjU2RnJvbVN0cmVhbTooKT0+VXphLHNoYTI1NkZyb21TdHJpbmc6KCk9PnI4dCxzaGEyNTZGcm9tU3RyaW5nU3luYzooKT0+cXphLHNoYTI2NUZyb21PYmplY3Q6KCk9Pmp6YX0pO3ZhciB0OHQsYTh0LHI4dCxxemEsVnphLGp6YSxVemEsV3phLEd6YSxzOHQ9ZigoKT0+e0podCgpO2U4dCgpO3Q4dD1zKGE9PntsZXQgZT1bXSx0PW5ldyBEYXRhVmlldyhhKTtmb3IobGV0IHI9MDtyPHQuYnl0ZUxlbmd0aDtyKz00KXtsZXQgbz10LmdldFVpbnQzMihyKS50b1N0cmluZygxNiksbj0iMDAwMDAwMDAiLGw9KG4rbykuc2xpY2UoLW4ubGVuZ3RoKTtlLnB1c2gobCl9cmV0dXJuIGUuam9pbigiIil9LCJoZXgiKSxhOHQ9cygoKT0+dHlwZW9mIGNyeXB0bzwidSImJmNyeXB0by5zdWJ0bGUhPT12b2lkIDAsImlzQ3J5cHRvU3VidGxlQXZhaWxhYmxlIikscjh0PXMoYXN5bmMgYT0+e2xldCBlPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShhKTtpZihhOHQoKSl7bGV0IHQ9YXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QoIlNIQS0yNTYiLGUpO3JldHVybiB0OHQodCl9ZWxzZSByZXR1cm4gUmRlKGUpfSwic2hhMjU2RnJvbVN0cmluZyIpLHF6YT1zKGE9Pnt0aHJvdyBjb25zb2xlLndhcm4oInNoYTI1NkZyb21TdHJpbmdTeW5jIGlzIG5vdCB0cnVseSBzeW5jaHJvbm91cyBpbiBicm93c2VyIGVudmlyb25tZW50IiksbmV3IEVycm9yKCJzaGEyNTZGcm9tU3RyaW5nU3luYyBpcyBub3Qgc3VwcG9ydGVkIGluIGJyb3dzZXIgZW52aXJvbm1lbnQuIFVzZSBzaGEyNTZGcm9tU3RyaW5nIGluc3RlYWQuIil9LCJzaGEyNTZGcm9tU3RyaW5nU3luYyIpLFZ6YT1zKGFzeW5jIGE9PntpZihhOHQoKSl7bGV0IGU7aWYoYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpe2xldCBpPWE7ZT1pLmJ1ZmZlci5zbGljZShpLmJ5dGVPZmZzZXQsaS5ieXRlT2Zmc2V0K2kuYnl0ZUxlbmd0aCl9ZWxzZSBlPWE7bGV0IHQ9YXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QoIlNIQS0yNTYiLGUpO3JldHVybiB0OHQodCl9ZWxzZXtsZXQgZT1hIGluc3RhbmNlb2YgVWludDhBcnJheT9hOm5ldyBVaW50OEFycmF5KGEpO3JldHVybiBSZGUoZSl9fSwic2hhMjU2RnJvbUJ1ZmZlciIpLGp6YT1zKGFzeW5jIGE9PntsZXQgZT0kcy5zdHJpbmdpZnkoYSk7cmV0dXJuIGF3YWl0IHI4dChlKX0sInNoYTI2NUZyb21PYmplY3QiKSxVemE9cyhhPT57dGhyb3cgbmV3IEVycm9yKCJzaGEyNTZGcm9tU3RyZWFtIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYnJvd3NlciBlbnZpcm9ubWVudCIpfSwic2hhMjU2RnJvbVN0cmVhbSIpLFd6YT1zKGFzeW5jIGE9Pnt0aHJvdyBuZXcgRXJyb3IoInNoYTI1NkZyb21GaWxlIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYnJvd3NlciBlbnZpcm9ubWVudCIpfSwic2hhMjU2RnJvbUZpbGUiKSxHemE9cyhhc3luYyBhPT57dGhyb3cgbmV3IEVycm9yKCJtZDVGcm9tU3RyaW5nIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYnJvd3NlciBlbnZpcm9ubWVudC4gV2ViIENyeXB0byBBUEkgZG9lcyBub3Qgc3VwcG9ydCBNRDUuIil9LCJtZDVGcm9tU3RyaW5nIil9KTt2YXIgTUo9ZigoKT0+e3M4dCgpO09oKCk7YmkoKTtwMigpO2RYKCl9KTt2YXIgdWIsT2RlPWYoKCk9PntrSigpO3ViPWNsYXNze3N0YXRpY3tzKHRoaXMsIlN0YXRlQWN0aW9uIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnN0YXRlUGFydFJlZj1lLHRoaXMuYWN0aW9uRGVmPXR9dHJpZ2dlcihlKXtyZXR1cm4gdGhpcy5zdGF0ZVBhcnRSZWYuZGlzcGF0Y2hBY3Rpb24odGhpcyxlKX19fSk7ZnVuY3Rpb24gS3phKCl7cmV0dXJuIHR5cGVvZiBkb2N1bWVudD4idSI/aTMoITApOm5ldyBCdChhPT57YS5uZXh0KCFkb2N1bWVudC5oaWRkZW4pO2xldCBlPXMoKCk9PmEubmV4dCghZG9jdW1lbnQuaGlkZGVuKSwiaGFuZGxlciIpO3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixlKSwoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsZSl9KX12YXIgQTgsRmRlPWYoKCk9PntyaCgpO3MoS3phLCJjcmVhdGVWaXNpYmlsaXR5T2JzZXJ2YWJsZSIpO0E4PWNsYXNze3N0YXRpY3tzKHRoaXMsIlN0YXRlUHJvY2VzcyIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5zdGF0dXNTdWJqZWN0PW5ldyBHNSgiaWRsZSIpLHRoaXMucHJvZHVjZXJTdWJzY3JpcHRpb249bnVsbCx0aGlzLmF1dG9QYXVzZVN1YnNjcmlwdGlvbj1udWxsLHRoaXMucHJvY2Vzc2luZ1F1ZXVlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuc3RhdGVQYXJ0UmVmPWUsdGhpcy5wcm9kdWNlckZuPXQucHJvZHVjZXIsdGhpcy5yZWR1Y2VyPXQucmVkdWNlcix0aGlzLnNpZGVFZmZlY3Q9dC5zaWRlRWZmZWN0LHRoaXMuYXV0b1BhdXNlT3B0aW9uPXQuYXV0b1BhdXNlPz8hMX1nZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuc3RhdHVzU3ViamVjdC5nZXRWYWx1ZSgpfWdldCBzdGF0dXMkKCl7cmV0dXJuIHRoaXMuc3RhdHVzU3ViamVjdC5hc09ic2VydmFibGUoKX1zdGFydCgpe2lmKHRoaXMuc3RhdHVzPT09ImRpc3Bvc2VkIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzdGFydCBhIGRpc3Bvc2VkIHByb2Nlc3MiKTt0aGlzLnN0YXR1cyE9PSJydW5uaW5nIiYmKHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KCJydW5uaW5nIiksdGhpcy5zdWJzY3JpYmVQcm9kdWNlcigpLHRoaXMuc2V0dXBBdXRvUGF1c2UoKSl9cGF1c2UoKXtpZih0aGlzLnN0YXR1cz09PSJkaXNwb3NlZCIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgcGF1c2UgYSBkaXNwb3NlZCBwcm9jZXNzIik7dGhpcy5zdGF0dXM9PT0icnVubmluZyImJih0aGlzLnN0YXR1c1N1YmplY3QubmV4dCgicGF1c2VkIiksdGhpcy51bnN1YnNjcmliZVByb2R1Y2VyKCkpfXJlc3VtZSgpe2lmKHRoaXMuc3RhdHVzPT09ImRpc3Bvc2VkIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCByZXN1bWUgYSBkaXNwb3NlZCBwcm9jZXNzIik7dGhpcy5zdGF0dXM9PT0icGF1c2VkIiYmKHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KCJydW5uaW5nIiksdGhpcy5zdWJzY3JpYmVQcm9kdWNlcigpKX1kaXNwb3NlKCl7dGhpcy5zdGF0dXMhPT0iZGlzcG9zZWQiJiYodGhpcy51bnN1YnNjcmliZVByb2R1Y2VyKCksdGhpcy50ZWFyZG93bkF1dG9QYXVzZSgpLHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KCJkaXNwb3NlZCIpLHRoaXMuc3RhdHVzU3ViamVjdC5jb21wbGV0ZSgpLHRoaXMuc3RhdGVQYXJ0UmVmLl9yZW1vdmVQcm9jZXNzKHRoaXMpKX1zdWJzY3JpYmVQcm9kdWNlcigpe3RoaXMudW5zdWJzY3JpYmVQcm9kdWNlcigpO2xldCBlPXRoaXMucHJvZHVjZXJGbigpO3RoaXMucHJvZHVjZXJTdWJzY3JpcHRpb249ZS5zdWJzY3JpYmUoe25leHQ6cyh0PT57dGhpcy5wcm9jZXNzaW5nUXVldWU9dGhpcy5wcm9jZXNzaW5nUXVldWUudGhlbihhc3luYygpPT57dHJ5e2lmKHRoaXMuc2lkZUVmZmVjdClhd2FpdCB0aGlzLnNpZGVFZmZlY3QodCk7ZWxzZSBpZih0aGlzLnJlZHVjZXIpe2xldCByPXRoaXMuc3RhdGVQYXJ0UmVmLmdldFN0YXRlKCk7ciE9PXZvaWQgMCYmYXdhaXQgdGhpcy5zdGF0ZVBhcnRSZWYuc2V0U3RhdGUodGhpcy5yZWR1Y2VyKHIsdCkpfX1jYXRjaChyKXtjb25zb2xlLmVycm9yKCJTdGF0ZVByb2Nlc3MgdmFsdWUgaGFuZGxpbmcgZXJyb3I6IixyKX19KX0sIm5leHQiKSxlcnJvcjpzKHQ9Pntjb25zb2xlLmVycm9yKCJTdGF0ZVByb2Nlc3MgcHJvZHVjZXIgZXJyb3I6Iix0KSx0aGlzLnN0YXR1cz09PSJydW5uaW5nIiYmKHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KCJwYXVzZWQiKSx0aGlzLnVuc3Vic2NyaWJlUHJvZHVjZXIoKSl9LCJlcnJvciIpfSl9dW5zdWJzY3JpYmVQcm9kdWNlcigpe3RoaXMucHJvZHVjZXJTdWJzY3JpcHRpb24mJih0aGlzLnByb2R1Y2VyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5wcm9kdWNlclN1YnNjcmlwdGlvbj1udWxsKX1zZXR1cEF1dG9QYXVzZSgpe2lmKHRoaXMudGVhcmRvd25BdXRvUGF1c2UoKSwhdGhpcy5hdXRvUGF1c2VPcHRpb24pcmV0dXJuO2xldCBlPXRoaXMuYXV0b1BhdXNlT3B0aW9uPT09InZpc2liaWxpdHkiP0t6YSgpOnRoaXMuYXV0b1BhdXNlT3B0aW9uO3RoaXMuYXV0b1BhdXNlU3Vic2NyaXB0aW9uPWUuc3Vic2NyaWJlKHQ9PnshdCYmdGhpcy5zdGF0dXM9PT0icnVubmluZyI/dGhpcy5wYXVzZSgpOnQmJnRoaXMuc3RhdHVzPT09InBhdXNlZCImJnRoaXMucmVzdW1lKCl9KX10ZWFyZG93bkF1dG9QYXVzZSgpe3RoaXMuYXV0b1BhdXNlU3Vic2NyaXB0aW9uJiYodGhpcy5hdXRvUGF1c2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLmF1dG9QYXVzZVN1YnNjcmlwdGlvbj1udWxsKX19fSk7ZnVuY3Rpb24gWnphKGEpe3JldHVybiBuZXcgQnQoZT0+e2lmKGEuYWJvcnRlZCl7ZS5uZXh0KCksZS5jb21wbGV0ZSgpO3JldHVybn1sZXQgdD1zKCgpPT57ZS5uZXh0KCksZS5jb21wbGV0ZSgpfSwiaGFuZGxlciIpO3JldHVybiBhLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0Iix0KSwoKT0+YS5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsdCl9KX12YXIgcGIsa0o9ZigoKT0+e01KKCk7cmgoKTtPZGUoKTtGZGUoKTtzKFp6YSwiZnJvbUFib3J0U2lnbmFsIik7cGI9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTdGF0ZVBhcnQiKX1zdGF0aWN7dGhpcy5NQVhfTkVTVEVEX0RJU1BBVENIX0RFUFRIPTEwfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5zdGF0ZT1uZXcgRzUodm9pZCAwKSx0aGlzLmRpc3Bvc2VkPSExLHRoaXMuY3VtdWxhdGl2ZURlZmVycmVkPWN0LmN1bXVsYXRpdmVEZWZlcigpLHRoaXMubXV0YXRpb25RdWV1ZT1Qcm9taXNlLnJlc29sdmUoKSx0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uPW51bGwsdGhpcy53ZWJTdG9yZT1udWxsLHRoaXMubWlkZGxld2FyZXM9W10sdGhpcy5wcm9jZXNzZXM9W10sdGhpcy5zZWxlY3RvckNhY2hlPW5ldyBXZWFrTWFwLHRoaXMuZGVmYXVsdFNlbGVjdE9ic2VydmFibGU9bnVsbCx0aGlzLm5hbWU9ZSx0JiYodGhpcy53ZWJTdG9yZU9wdGlvbnM9dCl9YXN5bmMgaW5pdCgpe2lmKHRoaXMud2ViU3RvcmVPcHRpb25zKXt0aGlzLndlYlN0b3JlPW5ldyBsMS5XZWJTdG9yZSh0aGlzLndlYlN0b3JlT3B0aW9ucyksYXdhaXQgdGhpcy53ZWJTdG9yZS5pbml0KCk7bGV0IGU9YXdhaXQgdGhpcy53ZWJTdG9yZS5nZXQoU3RyaW5nKHRoaXMubmFtZSkpO2UmJnRoaXMudmFsaWRhdGVTdGF0ZShlKSYmKHRoaXMuc3RhdGVTdG9yZT1lLGF3YWl0IHRoaXMubm90aWZ5Q2hhbmdlKCkpfX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0YXRlU3RvcmV9YWRkTWlkZGxld2FyZShlKXtyZXR1cm4gdGhpcy5taWRkbGV3YXJlcy5wdXNoKGUpLCgpPT57bGV0IHQ9dGhpcy5taWRkbGV3YXJlcy5pbmRleE9mKGUpO3QhPT0tMSYmdGhpcy5taWRkbGV3YXJlcy5zcGxpY2UodCwxKX19YXN5bmMgc2V0U3RhdGUoZSl7aWYodGhpcy5kaXNwb3NlZCl0aHJvdyBuZXcgRXJyb3IoYFN0YXRlUGFydCAnJHt0aGlzLm5hbWV9JyBoYXMgYmVlbiBkaXNwb3NlZGApO3JldHVybiB0aGlzLm11dGF0aW9uUXVldWU9dGhpcy5tdXRhdGlvblF1ZXVlLnRoZW4oKCk9PnRoaXMuYXBwbHlTdGF0ZShlKSwoKT0+dGhpcy5hcHBseVN0YXRlKGUpKX1hc3luYyBhcHBseVN0YXRlKGUpe2xldCB0PWU7Zm9yKGxldCByIG9mIHRoaXMubWlkZGxld2FyZXMpdD1hd2FpdCByKHQsdGhpcy5zdGF0ZVN0b3JlKTtpZighdGhpcy52YWxpZGF0ZVN0YXRlKHQpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzdGF0ZSBzdHJ1Y3R1cmUgZm9yIHN0YXRlIHBhcnQgJyR7dGhpcy5uYW1lfSdgKTtyZXR1cm4gdGhpcy53ZWJTdG9yZSYmYXdhaXQgdGhpcy53ZWJTdG9yZS5zZXQoU3RyaW5nKHRoaXMubmFtZSksdCksdGhpcy5zdGF0ZVN0b3JlPXQsYXdhaXQgdGhpcy5ub3RpZnlDaGFuZ2UoKSx0aGlzLnN0YXRlU3RvcmV9dmFsaWRhdGVTdGF0ZShlKXtyZXR1cm4gZSE9bnVsbH1hc3luYyBub3RpZnlDaGFuZ2UoKXtsZXQgZT10aGlzLnN0YXRlU3RvcmU7aWYoZT09PXZvaWQgMClyZXR1cm47aWYodGhpcy5zbWFydHN0YXRlUmVmPy5pc0JhdGNoaW5nKXt0aGlzLnNtYXJ0c3RhdGVSZWYucmVnaXN0ZXJQZW5kaW5nTm90aWZpY2F0aW9uKHRoaXMpO3JldHVybn1sZXQgdD1zKGFzeW5jIHI9PmF3YWl0IGRiLnNoYTI1NkZyb21TdHJpbmcoJHMuc3RhYmxlT25lV2F5U3RyaW5naWZ5KHIpKSwiY3JlYXRlU3RhdGVIYXNoIik7dHJ5e2xldCByPWF3YWl0IHQoZSk7aWYodGhpcy5sYXN0U3RhdGVOb3RpZmljYXRpb25QYXlsb2FkSGFzaCYmcj09PXRoaXMubGFzdFN0YXRlTm90aWZpY2F0aW9uUGF5bG9hZEhhc2gpcmV0dXJuO3RoaXMubGFzdFN0YXRlTm90aWZpY2F0aW9uUGF5bG9hZEhhc2g9cn1jYXRjaChyKXtjb25zb2xlLmVycm9yKGBTdGF0ZSBoYXNoIGNvbXB1dGF0aW9uIGZhaWxlZCBmb3IgJyR7dGhpcy5uYW1lfSc6YCxyKX10aGlzLnN0YXRlLm5leHQoZSl9bm90aWZ5Q2hhbmdlQ3VtdWxhdGl2ZSgpe3RoaXMucGVuZGluZ0N1bXVsYXRpdmVOb3RpZmljYXRpb24mJmNsZWFyVGltZW91dCh0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uKSx0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uPW51bGwsdGhpcy5zdGF0ZVN0b3JlIT09dm9pZCAwJiZ0aGlzLm5vdGlmeUNoYW5nZSgpLmNhdGNoKGU9Pntjb25zb2xlLmVycm9yKGBub3RpZnlDaGFuZ2VDdW11bGF0aXZlIGZhaWxlZCBmb3IgJyR7dGhpcy5uYW1lfSc6YCxlKX0pfSwwKX1zZWxlY3QoZSx0KXtsZXQgcj10Py5zaWduYWwhPW51bGw7aWYoIXIpe2lmKGUpe2lmKHRoaXMuc2VsZWN0b3JDYWNoZS5oYXMoZSkpcmV0dXJuIHRoaXMuc2VsZWN0b3JDYWNoZS5nZXQoZSl9ZWxzZSBpZih0aGlzLmRlZmF1bHRTZWxlY3RPYnNlcnZhYmxlKXJldHVybiB0aGlzLmRlZmF1bHRTZWxlY3RPYnNlcnZhYmxlfWxldCBpPWV8fChkPT5kKSxvPVN5bWJvbCgic2VsZWN0b3ItZXJyb3IiKSxuPXRoaXMuc3RhdGUucGlwZShfYS5yeGpzLm9wcy5maWx0ZXIoZD0+ZCE9PXZvaWQgMCksX2Eucnhqcy5vcHMubWFwKGQ9Pnt0cnl7cmV0dXJuIGkoZCl9Y2F0Y2goYyl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoYFNlbGVjdG9yIGVycm9yIGluIHN0YXRlIHBhcnQgJyR7dGhpcy5uYW1lfSc6YCxjKSxvfX0pLF9hLnJ4anMub3BzLmZpbHRlcihkPT5kIT09byksdGgoKGQsYyk9PkpTT04uc3RyaW5naWZ5KGQpPT09SlNPTi5zdHJpbmdpZnkoYykpKTtpZihyKXJldHVybiBuPW4ucGlwZShhaChaemEodC5zaWduYWwpKSksbjtsZXQgbD1uLnBpcGUoUlkoe2J1ZmZlclNpemU6MSxyZWZDb3VudDohMH0pKTtyZXR1cm4gZT90aGlzLnNlbGVjdG9yQ2FjaGUuc2V0KGUsbCk6dGhpcy5kZWZhdWx0U2VsZWN0T2JzZXJ2YWJsZT1sLGx9Y3JlYXRlQWN0aW9uKGUpe3JldHVybiBuZXcgdWIodGhpcyxlKX1jcmVhdGVBY3Rpb25Db250ZXh0KGUpe2xldCB0PXRoaXM7cmV0dXJue2Rpc3BhdGNoOnMoYXN5bmMocixpKT0+e2lmKGU+PWEuTUFYX05FU1RFRF9ESVNQQVRDSF9ERVBUSCl0aHJvdyBuZXcgRXJyb3IoYE1heGltdW0gbmVzdGVkIGFjdGlvbiBkaXNwYXRjaCBkZXB0aCAoJHthLk1BWF9ORVNURURfRElTUEFUQ0hfREVQVEh9KSBleGNlZWRlZC4gQ2hlY2sgZm9yIGNpcmN1bGFyIGFjdGlvbiBkaXNwYXRjaGVzLmApO2xldCBvPXQuY3JlYXRlQWN0aW9uQ29udGV4dChlKzEpLG49YXdhaXQgci5hY3Rpb25EZWYodCxpLG8pO3JldHVybiB0LmFwcGx5U3RhdGUobil9LCJkaXNwYXRjaCIpfX1hc3luYyBkaXNwYXRjaEFjdGlvbihlLHQpe2lmKHRoaXMuZGlzcG9zZWQpdGhyb3cgbmV3IEVycm9yKGBTdGF0ZVBhcnQgJyR7dGhpcy5uYW1lfScgaGFzIGJlZW4gZGlzcG9zZWRgKTthd2FpdCB0aGlzLmN1bXVsYXRpdmVEZWZlcnJlZC5wcm9taXNlO2xldCByPXMoYXN5bmMoKT0+e2xldCBpPXRoaXMuY3JlYXRlQWN0aW9uQ29udGV4dCgwKSxvPWF3YWl0IGUuYWN0aW9uRGVmKHRoaXMsdCxpKTtyZXR1cm4gdGhpcy5hcHBseVN0YXRlKG8pfSwiZXhlY3V0ZSIpO3JldHVybiB0aGlzLm11dGF0aW9uUXVldWU9dGhpcy5tdXRhdGlvblF1ZXVlLnRoZW4ocixyKX1hc3luYyB3YWl0VW50aWxQcmVzZW50KGUsdCl7bGV0IHIsaTt0eXBlb2YgdD09Im51bWJlciI/cj10OnQmJihyPXQudGltZW91dE1zLGk9dC5zaWduYWwpO2xldCBvPWN0LmRlZmVyKCksbj10aGlzLnNlbGVjdChlKSxsPSExO2lmKGk/LmFib3J0ZWQpdGhyb3cgbmV3IEVycm9yKCJBYm9ydGVkIik7bGV0IGQ9bi5zdWJzY3JpYmUodT0+e3UhPW51bGwmJiFsJiYobD0hMCxvLnJlc29sdmUodSkpfSksYztyJiYoYz1zZXRUaW1lb3V0KCgpPT57bHx8KGw9ITAsZC51bnN1YnNjcmliZSgpLG8ucmVqZWN0KG5ldyBFcnJvcihgd2FpdFVudGlsUHJlc2VudCB0aW1lZCBvdXQgYWZ0ZXIgJHtyfW1zYCkpKX0scikpO2xldCBwPWk/KCk9PntsfHwobD0hMCxkLnVuc3Vic2NyaWJlKCksYyYmY2xlYXJUaW1lb3V0KGMpLG8ucmVqZWN0KG5ldyBFcnJvcigiQWJvcnRlZCIpKSl9OnZvaWQgMDtpJiZwJiZpLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixwKTt0cnl7cmV0dXJuIGF3YWl0IG8ucHJvbWlzZX1maW5hbGx5e2QudW5zdWJzY3JpYmUoKSxjJiZjbGVhclRpbWVvdXQoYyksaSYmcCYmaS5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIscCl9fWFzeW5jIHN0YXRlU2V0dXAoZSl7bGV0IHQ9ZSh0aGlzKTt0aGlzLmN1bXVsYXRpdmVEZWZlcnJlZC5hZGRQcm9taXNlKHQpLGF3YWl0IHRoaXMuc2V0U3RhdGUoYXdhaXQgdCl9Y3JlYXRlUHJvY2VzcyhlKXtpZih0aGlzLmRpc3Bvc2VkKXRocm93IG5ldyBFcnJvcihgU3RhdGVQYXJ0ICcke3RoaXMubmFtZX0nIGhhcyBiZWVuIGRpc3Bvc2VkYCk7bGV0IHQ9bmV3IEE4KHRoaXMsZSk7cmV0dXJuIHRoaXMucHJvY2Vzc2VzLnB1c2godCksZS5hdXRvU3RhcnQmJnQuc3RhcnQoKSx0fWNyZWF0ZVNjaGVkdWxlZEFjdGlvbihlKXtpZih0aGlzLmRpc3Bvc2VkKXRocm93IG5ldyBFcnJvcihgU3RhdGVQYXJ0ICcke3RoaXMubmFtZX0nIGhhcyBiZWVuIGRpc3Bvc2VkYCk7bGV0IHQ9bmV3IEE4KHRoaXMse3Byb2R1Y2VyOnMoKCk9PnJuZShlLmludGVydmFsTXMpLCJwcm9kdWNlciIpLHNpZGVFZmZlY3Q6cyhhc3luYygpPT57YXdhaXQgZS5hY3Rpb24udHJpZ2dlcihlLnBheWxvYWQpfSwic2lkZUVmZmVjdCIpLGF1dG9QYXVzZTplLmF1dG9QYXVzZT8/ITF9KTtyZXR1cm4gdGhpcy5wcm9jZXNzZXMucHVzaCh0KSx0LnN0YXJ0KCksdH1fcmVtb3ZlUHJvY2VzcyhlKXtsZXQgdD10aGlzLnByb2Nlc3Nlcy5pbmRleE9mKGUpO3QhPT0tMSYmdGhpcy5wcm9jZXNzZXMuc3BsaWNlKHQsMSl9ZGlzcG9zZSgpe2lmKCF0aGlzLmRpc3Bvc2VkKXt0aGlzLmRpc3Bvc2VkPSEwO2ZvcihsZXQgZSBvZlsuLi50aGlzLnByb2Nlc3Nlc10pZS5kaXNwb3NlKCk7dGhpcy5wcm9jZXNzZXMubGVuZ3RoPTAsdGhpcy5zdGF0ZS5jb21wbGV0ZSgpLHRoaXMubXV0YXRpb25RdWV1ZT1Qcm9taXNlLnJlc29sdmUoKSx0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uJiYoY2xlYXJUaW1lb3V0KHRoaXMucGVuZGluZ0N1bXVsYXRpdmVOb3RpZmljYXRpb24pLHRoaXMucGVuZGluZ0N1bXVsYXRpdmVOb3RpZmljYXRpb249bnVsbCksdGhpcy5taWRkbGV3YXJlcy5sZW5ndGg9MCx0aGlzLnNlbGVjdG9yQ2FjaGU9bmV3IFdlYWtNYXAsdGhpcy5kZWZhdWx0U2VsZWN0T2JzZXJ2YWJsZT1udWxsLHRoaXMud2ViU3RvcmU9bnVsbCx0aGlzLnNtYXJ0c3RhdGVSZWY9dm9pZCAwLHRoaXMuc3RhdGVTdG9yZT12b2lkIDB9fX19KTtmdW5jdGlvbiBCZGUoYSxlKXtyZXR1cm4gdG5lKGEubWFwKHQ9PnQuc2VsZWN0KCkpKS5waXBlKHUyKHQ9PmUoLi4udCkpLHRoKCh0LHIpPT5KU09OLnN0cmluZ2lmeSh0KT09PUpTT04uc3RyaW5naWZ5KHIpKSl9dmFyIEhkZT1mKCgpPT57TUooKTtyaCgpO3MoQmRlLCJjb21wdXRlZCIpfSk7dmFyIHFkZSxpOHQ9ZigoKT0+e01KKCk7a0ooKTtIZGUoKTtxZGU9Y2xhc3N7c3RhdGlje3ModGhpcywiU21hcnRzdGF0ZSIpfWNvbnN0cnVjdG9yKCl7dGhpcy5zdGF0ZVBhcnRNYXA9e30sdGhpcy5wZW5kaW5nU3RhdGVQYXJ0Q3JlYXRpb249bmV3IE1hcCx0aGlzLmJhdGNoRGVwdGg9MCx0aGlzLmlzRmx1c2hpbmc9ITEsdGhpcy5wZW5kaW5nTm90aWZpY2F0aW9ucz1uZXcgU2V0fWdldCBpc0JhdGNoaW5nKCl7cmV0dXJuIHRoaXMuYmF0Y2hEZXB0aD4wfXJlZ2lzdGVyUGVuZGluZ05vdGlmaWNhdGlvbihlKXt0aGlzLnBlbmRpbmdOb3RpZmljYXRpb25zLmFkZChlKX1hc3luYyBiYXRjaChlKXt0aGlzLmJhdGNoRGVwdGgrKzt0cnl7YXdhaXQgZSgpfWZpbmFsbHl7aWYodGhpcy5iYXRjaERlcHRoLS0sdGhpcy5iYXRjaERlcHRoPT09MCYmIXRoaXMuaXNGbHVzaGluZyl7dGhpcy5pc0ZsdXNoaW5nPSEwO3RyeXtmb3IoO3RoaXMucGVuZGluZ05vdGlmaWNhdGlvbnMuc2l6ZT4wOyl7bGV0IHQ9Wy4uLnRoaXMucGVuZGluZ05vdGlmaWNhdGlvbnNdO3RoaXMucGVuZGluZ05vdGlmaWNhdGlvbnMuY2xlYXIoKTtmb3IobGV0IHIgb2YgdCl0cnl7YXdhaXQgci5ub3RpZnlDaGFuZ2UoKX1jYXRjaChpKXtjb25zb2xlLmVycm9yKCJFcnJvciBmbHVzaGluZyBub3RpZmljYXRpb24gZm9yIHN0YXRlIHBhcnQ6IixpKX19fWZpbmFsbHl7dGhpcy5pc0ZsdXNoaW5nPSExfX19fWNvbXB1dGVkKGUsdCl7cmV0dXJuIEJkZShlLHQpfWRpc3Bvc2UoKXtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXModGhpcy5zdGF0ZVBhcnRNYXApKXtsZXQgdD10aGlzLnN0YXRlUGFydE1hcFtlXTt0JiZ0LmRpc3Bvc2UoKX10aGlzLnN0YXRlUGFydE1hcD17fSx0aGlzLnBlbmRpbmdTdGF0ZVBhcnRDcmVhdGlvbi5jbGVhcigpLHRoaXMucGVuZGluZ05vdGlmaWNhdGlvbnMuY2xlYXIoKX1hc3luYyBnZXRTdGF0ZVBhcnQoZSx0LHI9InNvZnQiKXtsZXQgaT10aGlzLnBlbmRpbmdTdGF0ZVBhcnRDcmVhdGlvbi5nZXQoZSk7aWYoaSlyZXR1cm4gaTtsZXQgbz10aGlzLnN0YXRlUGFydE1hcFtlXTtpZihvKXN3aXRjaChyKXtjYXNlIm1hbmRhdG9yeSI6dGhyb3cgbmV3IEVycm9yKGBTdGF0ZSBwYXJ0ICcke2V9JyBhbHJlYWR5IGV4aXN0cywgYnV0IGluaXRNb2RlIGlzICdtYW5kYXRvcnknYCk7Y2FzZSJmb3JjZSI6by5kaXNwb3NlKCk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gb31lbHNlIGlmKHQ9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKGBTdGF0ZSBwYXJ0ICcke2V9JyBkb2VzIG5vdCBleGlzdCBhbmQgbm8gaW5pdGlhbCBzdGF0ZSBwcm92aWRlZGApO2xldCBuPXRoaXMuY3JlYXRlU3RhdGVQYXJ0KGUsdCxyKTt0aGlzLnBlbmRpbmdTdGF0ZVBhcnRDcmVhdGlvbi5zZXQoZSxuKTt0cnl7cmV0dXJuIGF3YWl0IG59ZmluYWxseXt0aGlzLnBlbmRpbmdTdGF0ZVBhcnRDcmVhdGlvbi5kZWxldGUoZSl9fWFzeW5jIGNyZWF0ZVN0YXRlUGFydChlLHQscj0ic29mdCIpe2xldCBpPW5ldyBwYihlLHI9PT0icGVyc2lzdGVudCI/e2RiTmFtZToic21hcnRzdGF0ZSIsc3RvcmVOYW1lOmV9OnZvaWQgMCk7aS5zbWFydHN0YXRlUmVmPXRoaXMsYXdhaXQgaS5pbml0KCk7bGV0IG89aS5nZXRTdGF0ZSgpO3JldHVybiByPT09InBlcnNpc3RlbnQiJiZvIT09dm9pZCAwP2F3YWl0IGkuc2V0U3RhdGUoey4uLnQsLi4ub30pOmF3YWl0IGkuc2V0U3RhdGUodCksdGhpcy5zdGF0ZVBhcnRNYXBbZV09aSxpfX19KTtmdW5jdGlvbiBYemEoYSxlKXtsZXR7Y29udGV4dDp0LHN0YXRlUGFydDpyLHNlbGVjdG9yRm46aX09ZSxvPW5ldyBTZXQsbj1yLnNlbGVjdChpKS5zdWJzY3JpYmUoYz0+e2ZvcihsZXQgcCBvZiBvKXAoYyl9KSxsPXMoKCk9PntsZXQgYz1yLmdldFN0YXRlKCk7aWYoYyE9PXZvaWQgMClyZXR1cm4gaT9pKGMpOmN9LCJnZXRWYWx1ZSIpLGQ9cyhjPT57bGV0IHA9Yyx1PXAuZGV0YWlsO2lmKCEoIXV8fHUuY29udGV4dCE9PXQpKWlmKHAuc3RvcFByb3BhZ2F0aW9uKCksdS5zdWJzY3JpYmUpe2xldCBtPXUuY2FsbGJhY2s7by5hZGQobSk7bGV0IHY9cygoKT0+by5kZWxldGUobSksInVuc3Vic2NyaWJlIik7bShsKCksdil9ZWxzZSB1LmNhbGxiYWNrKGwoKSl9LCJoYW5kbGVyIik7cmV0dXJuIGEuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dC1yZXF1ZXN0IixkKSwoKT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29udGV4dC1yZXF1ZXN0IixkKSxuLnVuc3Vic2NyaWJlKCksby5jbGVhcigpfX12YXIgbzh0PWYoKCk9PntzKFh6YSwiYXR0YWNoQ29udGV4dFByb3ZpZGVyIil9KTt2YXIgYWQ9e307bHQoYWQse1NtYXJ0c3RhdGU6KCk9PnFkZSxTdGF0ZUFjdGlvbjooKT0+dWIsU3RhdGVQYXJ0OigpPT5wYixTdGF0ZVByb2Nlc3M6KCk9PkE4LGF0dGFjaENvbnRleHRQcm92aWRlcjooKT0+WHphLGNvbXB1dGVkOigpPT5CZGV9KTt2YXIgbjh0PWYoKCk9PntpOHQoKTtrSigpO09kZSgpO0hkZSgpO284dCgpO0ZkZSgpfSk7dmFyIGw4dD1mKCgpPT57fSk7dmFyIFZkZSxjOHQ9ZigoKT0+e2w4dCgpO1ZkZT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlNtYXJ0dXJsIil9c3RhdGljIGNyZWF0ZUZyb21VcmwoZSx0KXtsZXQgcj1uZXcgVVJMKGUpLGk9e30sbz1bXTtyLnNlYXJjaCYmci5zZWFyY2gucmVwbGFjZSgiPyIsIiIpLnNwbGl0KCImIikubWFwKGM9PntvLnB1c2goe2tleTpjLnNwbGl0KCI9IilbMF0sdmFsdWU6Yy5zcGxpdCgiPSIpWzFdfSl9KTtmb3IobGV0IGMgb2YgbylpW2Mua2V5XT1jLnZhbHVlO2lmKHQ/LnNlYXJjaFBhcmFtcylmb3IobGV0IGMgb2YgT2JqZWN0LmtleXModC5zZWFyY2hQYXJhbXMpKWlbY109dC5zZWFyY2hQYXJhbXNbY107bGV0IG49ci5wYXRobmFtZXx8IiI7aWYoT2JqZWN0LmtleXMoaSkubGVuZ3RoPjApe24rPSI/IjtsZXQgYz0hMDtmb3IobGV0IHAgb2YgT2JqZWN0LmtleXMoaSkpYz9jPSExOm4rPSImIixuKz1gJHtwfT0ke2lbcF19YH1sZXQgbD17Li4ucixocmVmOnIuaHJlZixvcmlnaW46ci5vcmlnaW4scHJvdG9jb2w6ci5wcm90b2NvbCx1c2VybmFtZTpyLnVzZXJuYW1lLHBhc3N3b3JkOnIucGFzc3dvcmQsaG9zdDpyLmhvc3QsaG9zdG5hbWU6ci5ob3N0bmFtZSxwb3J0OnIucG9ydCxwYXRoOm4scGF0aG5hbWU6ci5wYXRobmFtZSxzZWFyY2g6ci5zZWFyY2gsc2VhcmNoUGFyYW1zOmksaGFzaDpyLmhhc2h9OyFsLnBvcnQmJmwucHJvdG9jb2w9PT0iaHR0cHM6IiYmKGwucG9ydD0iNDQzIiksIWwucG9ydCYmbC5wcm90b2NvbD09PSJodHRwOiImJihsLnBvcnQ9IjgwIik7bGV0IGQ9bmV3IGE7cmV0dXJuIE9iamVjdC5hc3NpZ24oZCxsKSxkfXN0YXRpYyBjcmVhdGVGcm9tUGFyc2VkVXJsKGUpe2xldCB0PW5ldyBhO3JldHVybiBPYmplY3QuYXNzaWduKHQsZSksdH1jb25zdHJ1Y3Rvcigpe3RoaXMuc2VhcmNoUGFyYW1zPXt9fWNsb25lKCl7bGV0IGU9bmV3IGE7cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx0aGlzKSxlLnNlYXJjaFBhcmFtcz17Li4udGhpcy5zZWFyY2hQYXJhbXN9LGV9c2V0KGUsdCl7cmV0dXJuIHRoaXNbZV09dCx0aGlzfXRvU3RyaW5nKCl7bGV0IGU9IiI7cmV0dXJuIHRoaXMudXNlcm5hbWUmJiF0aGlzLnBhc3N3b3JkJiYoZT1gJHt0aGlzLnVzZXJuYW1lfUBgKSx0aGlzLnVzZXJuYW1lJiZ0aGlzLnBhc3N3b3JkJiYoZT1gJHt0aGlzLnVzZXJuYW1lfToke3RoaXMucGFzc3dvcmR9QGApLGAke3RoaXMucHJvdG9jb2x9Ly8ke2V9JHt0aGlzLmhvc3RuYW1lfToke3RoaXMucG9ydH0ke3RoaXMucGF0aH1gfX19KTt2YXIgeTE9e307bHQoeTEse1NtYXJ0dXJsOigpPT5WZGV9KTt2YXIgamRlPWYoKCk9PntjOHQoKX0pO3ZhciBkOHQ9ZigoKT0+e30pO3ZhciBVZGU9ZigoKT0+eyRuKCk7JG4oKX0pO3ZhciB1OHQ9ZigoKT0+e30pO3ZhciBwOHQ9ZigoKT0+e30pO3ZhciBmOHQ9ZigoKT0+e30pO3ZhciBoOHQ9ZigoKT0+e30pO3ZhciBXZGU9e307dmFyIEdkZT1mKCgpPT57dTh0KCk7cDh0KCk7Zjh0KCk7aDh0KCl9KTt2YXIgbTh0PWYoKCk9PntHZGUoKTtTSigpfSk7dmFyIGc4dD1mKCgpPT57JG4oKX0pO3ZhciBiOHQ9ZigoKT0+e30pO3ZhciB2OHQ9ZigoKT0+eyRuKCl9KTt2YXIgeDh0PWYoKCk9PnskbigpfSk7dmFyIHk4dD1mKCgpPT57fSk7dmFyIHc4dD1mKCgpPT57fSk7dmFyIE04dD1mKCgpPT57fSk7dmFyIFlkZT17fTt2YXIgeko9ZigoKT0+e2c4dCgpO2I4dCgpO3Y4dCgpO3g4dCgpO3k4dCgpO3c4dCgpO004dCgpfSk7dmFyIGs4dD1mKCgpPT57ekooKTtVZGUoKX0pO3ZhciBTOHQ9ZigoKT0+e1NKKCk7ekooKX0pO3ZhciB6OHQ9ZigoKT0+e30pO3ZhciBDOHQ9ZigoKT0+e30pO3ZhciBLZGU9e307dmFyIFNKPWYoKCk9PntkOHQoKTtVZGUoKTttOHQoKTtrOHQoKTtTOHQoKTt6OHQoKTtDOHQoKX0pO3ZhciBfOHQ9ZigoKT0+e30pO3ZhciBUOHQ9ZigoKT0+e30pO3ZhciBaZGU9e307dmFyIEw4dD1mKCgpPT57Xzh0KCk7VDh0KCl9KTt2YXIgJDh0PWYoKCk9Pnt9KTt2YXIgRDh0PWYoKCk9Pnt9KTt2YXIgWGRlPXt9O3ZhciBBOHQ9ZigoKT0+eyQ4dCgpO0Q4dCgpfSk7dmFyIFFkZT17fTt2YXIgUDh0PWYoKCk9Pnt9KTt2YXIgSmRlPWYoKCk9PnskbigpfSk7dmFyIEU4dD1mKCgpPT57JG4oKX0pO3ZhciBJOHQ9ZigoKT0+e0pkZSgpfSk7dmFyIGU2ZT17fTt2YXIgTjh0PWYoKCk9PntKZGUoKTtFOHQoKTtJOHQoKX0pO3ZhciBSOHQ9ZigoKT0+e30pO3ZhciBPOHQ9ZigoKT0+e30pO3ZhciB0NmU9e307dmFyIEY4dD1mKCgpPT57Ujh0KCk7Tzh0KCl9KTt2YXIgYTZlPWYoKCk9Pnt9KTt2YXIgcjZlLEI4dD1mKCgpPT57YTZlKCk7cjZlPWNsYXNze3N0YXRpY3tzKHRoaXMsIklDbmFtZURlc2NyaXB0b3IiKX19fSk7dmFyIEg4dD1mKCgpPT57fSk7dmFyIHE4dD1mKCgpPT57fSk7dmFyIFY4dD1mKCgpPT57fSk7dmFyIGo4dD1mKCgpPT57fSk7dmFyIFU4dD1mKCgpPT57fSk7dmFyIFc4dD1mKCgpPT57fSk7dmFyIEc4dD1mKCgpPT57fSk7dmFyIFk4dD1mKCgpPT57fSk7dmFyIEs4dD1mKCgpPT57fSk7dmFyIFo4dD1mKCgpPT57fSk7dmFyIENKPXt9O2x0KENKLHtJQ25hbWVEZXNjcmlwdG9yOigpPT5yNmV9KTt2YXIgWDh0PWYoKCk9PnthNmUoKTtCOHQoKTtIOHQoKTtxOHQoKTtWOHQoKTtqOHQoKTtVOHQoKTtXOHQoKTtHOHQoKTtZOHQoKTtLOHQoKTtaOHQoKX0pO3ZhciBzNmU9ZigoKT0+e30pO3ZhciBROHQ9ZigoKT0+e3M2ZSgpfSk7dmFyIGk2ZT17fTt2YXIgSjh0PWYoKCk9PntROHQoKTtzNmUoKX0pO3ZhciBvNmU9e307dmFyIGVtdD1mKCgpPT57fSk7dmFyIHRtdD1mKCgpPT57fSk7dmFyIGFtdD1mKCgpPT57fSk7dmFyIHJtdD1mKCgpPT57fSk7dmFyIG42ZT17fTt2YXIgc210PWYoKCk9Pnt0bXQoKTthbXQoKTtybXQoKX0pO3ZhciBpbXQ9ZigoKT0+e30pO3ZhciBmYj17fTtsdChmYix7YnVzaW5lc3M6KCk9PktkZSxjb2RlOigpPT5aZGUsY29udGFpbmVyOigpPT5YZGUsY29udGVudDooKT0+ZTZlLGRhdGFiYXNlOigpPT5XZGUsZGVzY3JpcHRvcnM6KCk9PlFkZSxmaW5hbmNlOigpPT5ZZGUsZ2VuZXJhbDooKT0+dDZlLG5ldHdvcms6KCk9PkNKLHNhYXM6KCk9Pmk2ZSxzdG9yYWdlOigpPT5vNmUsd2Vic2l0ZTooKT0+bjZlfSk7dmFyICRuPWYoKCk9PntTSigpO0w4dCgpO0E4dCgpO0dkZSgpO1A4dCgpO3pKKCk7Tjh0KCk7Rjh0KCk7WDh0KCk7Sjh0KCk7ZW10KCk7c210KCk7aW10KCl9KTt2YXIgVWw9ZigoKT0+e2JpKCk7JG4oKX0pO3ZhciBfSj1mKCgpPT57VWwoKX0pO3ZhciBZMCxoYj1mKCgpPT57VWwoKTtZMD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUYWciKX1jb25zdHJ1Y3Rvcigpe3RoaXMudGFnTGV2ZWw9ImxldmVsYm91bmQifWFwcGVuZFRvRG9tKCl7IXRoaXMuZWxlbWVudFJlZi5wYXJlbnRFbGVtZW50JiYhdGhpcy5lbGVtZW50UmVmLnBhcmVudE5vZGUmJmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50UmVmKX1yZW1vdmVGcm9tRG9tKCl7dGhpcy5lbGVtZW50UmVmLnBhcmVudEVsZW1lbnQ/dGhpcy5lbGVtZW50UmVmLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50UmVmKTp0aGlzLmVsZW1lbnRSZWYucGFyZW50Tm9kZSYmdGhpcy5lbGVtZW50UmVmLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50UmVmKX19fSk7dmFyIHJkLFRKPWYoKCk9PntVbCgpO19KKCk7aGIoKTtyZD1jbGFzcyBhIGV4dGVuZHMgWTB7c3RhdGlje3ModGhpcywiSnNvbkxkVGFnIil9c3RhdGljIGNyZWF0ZUNvbXBhbnlKc29uTGQoZSl7bGV0IHQ9eyJAY29udGV4dCI6Imh0dHBzOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiQ29ycG9yYXRpb24iLG5hbWU6ZS5uYW1lLGFsdGVybmF0ZU5hbWU6ZS5uYW1lLnJlcGxhY2UoIiBHbWJIIiwiIiksdXJsOmUud2Vic2l0ZSxsb2dvOmUubG9nb1VybCxjb250YWN0UG9pbnQ6eyJAdHlwZSI6IkNvbnRhY3RQb2ludCIsdGVsZXBob25lOmUucGhvbmUsY29udGFjdFR5cGU6ImN1c3RvbWVyIHNlcnZpY2UiLGFyZWFTZXJ2ZWQ6IkRFIixhdmFpbGFibGVMYW5ndWFnZTpbImVuIiwiR2VybWFuIl19LHNhbWVBczpbXX0scj1lLnNvY2lhbHM/LmZpbmQobj0+bi50eXBlPT09ImZhY2Vib29rIik/LnVybDtyJiZ0LnNhbWVBcy5wdXNoKHIpO2xldCBpPWUuc29jaWFscz8uZmluZChuPT5uLnR5cGU9PT0idHdpdHRlciIpPy51cmw7cmV0dXJuIGkmJnQuc2FtZUFzLnB1c2goaSksbmV3IGEodCl9c3RhdGljIGNyZWF0ZU5ld3NBcnRpY2xlSnNvbkxkKGUpe2xldCB0PXsiQGNvbnRleHQiOiJodHRwczovL3NjaGVtYS5vcmciLCJAdHlwZSI6Ik5ld3NBcnRpY2xlIixtYWluRW50aXR5T2ZQYWdlOnsiQHR5cGUiOiJXZWJQYWdlIiwiQGlkIjp3aW5kb3cubG9jYXRpb24uaHJlZn0saGVhZGxpbmU6IkFydGljbGUgaGVhZGxpbmUiLGltYWdlOltlLmZlYXR1cmVkSW1hZ2VVcmxdLGRhdGVQdWJsaXNoZWQ6bmV3IERhdGUoZS50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCksZGF0ZU1vZGlmaWVkOm5ldyBEYXRlKGUudGltZXN0YW1wKS50b0lTT1N0cmluZygpLGF1dGhvcjp7IkB0eXBlIjoiUGVyc29uIixuYW1lOmAke2UuYXV0aG9yLmZpcnN0TmFtZX0gJHtlLmF1dGhvci5zdXJOYW1lfWB9LHB1Ymxpc2hlcjp7IkB0eXBlIjoiT3JnYW5pemF0aW9uIixuYW1lOmUuYXV0aG9yLnN1ck5hbWUsbG9nbzp7IkB0eXBlIjoiSW1hZ2VPYmplY3QiLHVybDplLmF1dGhvci5zdXJOYW1lfX0sZGVzY3JpcHRpb246ZS5hdXRob3IuZmlyc3ROYW1lfTtyZXR1cm4gbmV3IGEodCl9c3RhdGljIGNyZWF0ZVByb2R1Y3RKc29uTGQoZSx0KXtsZXQgcj17IkBjb250ZXh0IjoiaHR0cHM6Ly9zY2hlbWEub3JnIiwiQHR5cGUiOiJTb2Z0d2FyZUFwcGxpY2F0aW9uIixuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLG9wZXJhdGluZ1N5c3RlbTplLm9zLGFwcGxpY2F0aW9uQ2F0ZWdvcnk6ZS5jYXRlZ29yeSxvZmZlcnM6eyJAdHlwZSI6Ik9mZmVyIixuYW1lOiJVc2VyLWJhc2VkIFBsYW4iLHByaWNlU3BlY2lmaWNhdGlvbjp7IkB0eXBlIjoiUHJvcGVydHlWYWx1ZVNwZWNpZmljYXRpb24iLHZhbHVlTmFtZToiTnVtYmVyIG9mIFVzZXJzIix2YWx1ZVJlcXVpcmVkOiEwLHByaWNlOiI0Ljk5IixwcmljZUN1cnJlbmN5OiJFVVIifX0scHVibGlzaGVyOnQ/dGhpcy5jcmVhdGVDb21wYW55SnNvbkxkKHQpLmVsZW1lbnRSZWYudGV4dENvbnRlbnQ6dm9pZCAwLHNjcmVlbnNob3Q6Imh0dHBzOi8vd3d3LnNvY2lhbC5pby9zY3JlZW5zaG90LnBuZyIsdXJsOiJodHRwczovL3d3dy5zb2NpYWwuaW8vIn07cmV0dXJuIG5ldyBhKHIpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKCk7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7dC50eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIix0LnRleHQ9SlNPTi5zdHJpbmdpZnkoZSksdGhpcy5lbGVtZW50UmVmPXR9fX0pO3ZhciBXaSxMSj1mKCgpPT57VWwoKTtoYigpO1dpPWNsYXNzIGEgZXh0ZW5kcyBZMHtzdGF0aWN7cyh0aGlzLCJPcGVuZ3JhcGhUYWciKX1zdGF0aWMgY3JlYXRlTmV3c0FydGljbGVPZ1RhZ3MoZSl7bGV0IHQ9W107cmV0dXJuIHQucHVzaChuZXcgYSgib2c6dXJsIixlLnVybD8/Z2xvYmFsVGhpcy5sb2NhdGlvbi5ocmVmKSksdC5wdXNoKG5ldyBhKCJvZzp0aXRsZSIsZS50aXRsZSkpLHQucHVzaChuZXcgYSgib2c6ZGVzY3JpcHRpb24iLGUuY29udGVudCkpLHQucHVzaChuZXcgYSgib2c6aW1hZ2UiLGUuZmVhdHVyZWRJbWFnZVVybD8/IiIpKSx0fXN0YXRpYyBjcmVhdGVQcm9kdWN0T2dUYWdzKGUpe2xldCB0PVtdO3JldHVybiB0LnB1c2gobmV3IGEoIm9nOnR5cGUiLCJwcm9kdWN0IikpLHQucHVzaChuZXcgYSgib2c6dXJsIixnbG9iYWxUaGlzLmxvY2F0aW9uLmhyZWYpKSx0LnB1c2gobmV3IGEoIm9nOnRpdGxlIixgJHtlLm5hbWV9IC0gJHtlLnNsb2dhbn1gKSksdC5wdXNoKG5ldyBhKCJvZzpzaXRlX25hbWUiLGUubmFtZSkpLHQucHVzaChuZXcgYSgib2c6ZGVzY3JpcHRpb24iLGUuZGVzY3JpcHRpb24pKSx0LnB1c2gobmV3IGEoIm9nOmltYWdlIixlLmxvZ29MaW5rKSksdH1zdGF0aWMgY3JlYXRlQ29tcGFueU9nVGFncyhlKXtsZXQgdD1bXTtyZXR1cm4gdC5wdXNoKG5ldyBhKCJvZzp0eXBlIiwiY29tcGFueSIpKSx0LnB1c2gobmV3IGEoIm9nOnVybCIsZ2xvYmFsVGhpcy5sb2NhdGlvbi5ocmVmKSksdC5wdXNoKG5ldyBhKCJvZzp0aXRsZSIsZS5uYW1lKSksdC5wdXNoKG5ldyBhKCJvZzpzaXRlX25hbWUiLGUubmFtZSkpLHQucHVzaChuZXcgYSgib2c6ZGVzY3JpcHRpb24iLGUuZGVzY3JpcHRpb24pKSx0LnB1c2gobmV3IGEoIm9nOmltYWdlIixlLmxvZ29Vcmw/PyIiKSksdH1jb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCk7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibWV0YSIpO3Iuc2V0QXR0cmlidXRlKCJwcm9wZXJ0eSIsZSksci5jb250ZW50PXQsdGhpcy5lbGVtZW50UmVmPXJ9fX0pO3ZhciBQOCxsNmU9ZigoKT0+e2hiKCk7VEooKTtMSigpO2M2ZSgpO1VsKCk7UDg9Y2xhc3N7c3RhdGlje3ModGhpcywiVGFnTGV2ZWwiKX1zZXQgdGl0bGUoZSl7dGhpcy50aXRsZVN0b3JlPWUsdGhpcy5zdGF0ZT09PSJlbmFibGVkIiYmKGRvY3VtZW50LnRpdGxlPXRoaXMudGl0bGVTdG9yZSl9Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMudGl0bGVTdG9yZX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMudGFncz1bXSx0aGlzLnN0YXRlPSJkaXNhYmxlZCIsdGhpcy50YWdNYW5hZ2VyUmVmPWUsdGhpcy50eXBlPXR9YWRkVGFnKGUpe2lmKGUgaW5zdGFuY2VvZiBBcnJheSlmb3IobGV0IHQgb2YgZSl0aGlzLmFkZFRhZyh0KTtlbHNlIHRoaXMudGFncy5wdXNoKGUpLHRoaXMuc3RhdGU9PT0iZW5hYmxlZCImJmUuYXBwZW5kVG9Eb20oKX1hc3luYyBhZGRDb21wYW55SW5mbyhlKXt0aGlzLmFkZFRhZyhyZC5jcmVhdGVDb21wYW55SnNvbkxkKGUpKSx0aGlzLmFkZFRhZyhuZXcgV2koIm9nOnR5cGUiLCJidXNpbmVzcy5idXNpbmVzcyIpKSx0aGlzLmFkZFRhZyhuZXcgV2koIm9nOnRpdGxlIixlLm5hbWUpKSx0aGlzLmFkZFRhZyhuZXcgV2koIm9nOnVybCIsZS53ZWJzaXRlPz8iIikpLHRoaXMuYWRkVGFnKG5ldyBXaSgib2c6aW1hZ2UiLGUubG9nb1VybD8/IiIpKSx0aGlzLmFkZFRhZyhuZXcgV2koImJ1c2luZXNzOmNvbnRhY3RfZGF0YTpzdHJlZXRfYWRkcmVzcyIsYCR7ZS5hZGRyZXNzLnN0cmVldE5hbWV9ICR7ZS5hZGRyZXNzLmhvdXNlTnVtYmVyfWApKSx0aGlzLmFkZFRhZyhuZXcgV2koImJ1c2luZXNzOmNvbnRhY3RfZGF0YTpsb2NhbGl0eSIsZS5hZGRyZXNzLnBvc3RhbENvZGUpKSx0aGlzLmFkZFRhZyhuZXcgV2koImJ1c2luZXNzOmNvbnRhY3RfZGF0YTpyZWdpb24iLGUuYWRkcmVzcy5jaXR5KSksdGhpcy5hZGRUYWcobmV3IFdpKCJidXNpbmVzczpjb250YWN0X2RhdGE6cG9zdGFsX2NvZGUiLGUuYWRkcmVzcy5wb3N0YWxDb2RlKSksdGhpcy5hZGRUYWcobmV3IFdpKCJidXNpbmVzczpjb250YWN0X2RhdGE6Y291bnRyeV9uYW1lIixlLmFkZHJlc3MuY291bnRyeSkpfWFkZE5ld3NBcnRpY2xlSW5mbyhlKXt0aGlzLmFkZFRhZyhyZC5jcmVhdGVOZXdzQXJ0aWNsZUpzb25MZChlKSksdGhpcy5hZGRUYWcoV2kuY3JlYXRlTmV3c0FydGljbGVPZ1RhZ3MoZSkpfWFkZFByb2R1Y3RJbmZvKGUsdCl7dGhpcy5hZGRUYWcocmQuY3JlYXRlUHJvZHVjdEpzb25MZChlLHQpKSx0aGlzLmFkZFRhZyhXaS5jcmVhdGVQcm9kdWN0T2dUYWdzKGUpKX1hc3luYyBlbmFibGUoKXt0aGlzLnRpdGxlJiYoZG9jdW1lbnQudGl0bGU9dGhpcy50aXRsZSk7Zm9yKGxldCBlIG9mIHRoaXMudGFncyllLmFwcGVuZFRvRG9tKCk7dGhpcy5zdGF0ZT0iZW5hYmxlZCJ9YXN5bmMgZGlzYWJsZSgpe2ZvcihsZXQgZSBvZiB0aGlzLnRhZ3MpZS5yZW1vdmVGcm9tRG9tKCk7dGhpcy5zdGF0ZT0iZGlzYWJsZWQifX19KTt2YXIgRG4sZDZlPWYoKCk9PntoYigpO0RuPWNsYXNzIGV4dGVuZHMgWTB7c3RhdGlje3ModGhpcywiTWV0YVRhZyIpfWNvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKTtsZXQgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJtZXRhIik7ci5uYW1lPWUsci5jb250ZW50PXQsdGhpcy5lbGVtZW50UmVmPXJ9fX0pO3ZhciAkSixjNmU9ZigoKT0+e2w2ZSgpO1VsKCk7X0ooKTtkNmUoKTtUSigpO0xKKCk7JEo9Y2xhc3N7c3RhdGlje3ModGhpcywiVGFnTWFuYWdlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5nbG9iYWxMZXZlbD1uZXcgUDgodGhpcywiZ2xvYmFsIiksdGhpcy5iYXNlTGV2ZWw9bmV3IFA4KHRoaXMsImJhc2UiKX1hc3luYyBzZXR1cChlKXtzd2l0Y2godGhpcy5nbG9iYWxMZXZlbC5hZGRUYWcobmV3IERuKCJnb29nbGUiLCJub3RyYW5zbGF0ZSIpKSx0aGlzLmdsb2JhbExldmVsLmFkZFRhZyhuZXcgRG4oInJldmlzaXQtYWZ0ZXIiLCIxIGRheXMiKSksZS50d2l0dGVySGFuZGxlJiYodGhpcy5nbG9iYWxMZXZlbC5hZGRUYWcobmV3IERuKCJ0d2l0dGVyOmNhcmQiLCJzdW1tYXJ5X2xhcmdlX2ltYWdlIikpLHRoaXMuZ2xvYmFsTGV2ZWwuYWRkVGFnKG5ldyBEbigidHdpdHRlcjpzaXRlIixlLnR3aXR0ZXJIYW5kbGUpKSx0aGlzLmdsb2JhbExldmVsLmFkZFRhZyhuZXcgRG4oInR3aXR0ZXI6Y3JlYXRvciIsZS50d2l0dGVySGFuZGxlKSkpLHRoaXMuYmFzZUxldmVsLnRpdGxlPWUudGl0bGUsZS5kZXNjcmlwdGlvbiYmdGhpcy5iYXNlTGV2ZWwuYWRkVGFnKG5ldyBEbigiZGVzY3JpcHRpb24iLGUuZGVzY3JpcHRpb24pKSxlLmNhbm9uaWNhbERvbWFpbiYmdGhpcy5iYXNlTGV2ZWwuYWRkVGFnKG5ldyBEbigiY2Fub25pY2FsIixlLmNhbm9uaWNhbERvbWFpbikpLCEwKXtjYXNlKGUubGRDb21wYW55JiYhZS5sZFByb2R1Y3QpOnRoaXMuYmFzZUxldmVsLmFkZENvbXBhbnlJbmZvKGUubGRDb21wYW55KTticmVhaztjYXNlISFlLmxkUHJvZHVjdDp0aGlzLmJhc2VMZXZlbC5hZGRQcm9kdWN0SW5mbyhlLmxkUHJvZHVjdCxlLmxkQ29tcGFueSk7YnJlYWt9YXdhaXQgdGhpcy5nbG9iYWxMZXZlbC5lbmFibGUoKSx0aGlzLmFjdGl2ZUxldmVsPXRoaXMuYmFzZUxldmVsLGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZW5hYmxlKCl9YXN5bmMgc2V0U3ViUGFnZUxldmVsKGUpe2xldCB0PW5ldyBQOCh0aGlzLCJzdWJwYWdlIik7cmV0dXJuIHQudGl0bGU9ZS50aXRsZSxlLmRlc2NyaXB0aW9uJiZ0LmFkZFRhZyhuZXcgRG4oImRlc2NyaXB0aW9uIixlLmRlc2NyaXB0aW9uKSksYXdhaXQgdGhpcy5hY3RpdmVMZXZlbC5kaXNhYmxlKCksdGhpcy5hY3RpdmVMZXZlbD10LGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZW5hYmxlKCksdH1hc3luYyByZXZlcnRUb0Jhc2VMZXZlbCgpe3RoaXMuYWN0aXZlTGV2ZWwhPT10aGlzLmJhc2VMZXZlbCYmKGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZGlzYWJsZSgpLHRoaXMuYWN0aXZlTGV2ZWw9dGhpcy5iYXNlTGV2ZWwsYXdhaXQgdGhpcy5hY3RpdmVMZXZlbC5lbmFibGUoKSl9fX0pO3ZhciBtYixvbXQ9ZigoKT0+e1VsKCk7X0ooKTtjNmUoKTtsNmUoKTttYj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXZWJTZXR1cCIpfWNvbnN0cnVjdG9yKGUpe3RoaXMudGFnTWFuYWdlcj1uZXcgJEosdGhpcy5yZWFkeURlZmVycmVkPWN0LmRlZmVyKCksdGhpcy5yZWFkeUZvclNtYXJ0c3NyRGVmZXJyZWQ9Y3QuZGVmZXIoKSx0aGlzLnJlYWR5UHJvbWlzZT10aGlzLnJlYWR5RGVmZXJyZWQucHJvbWlzZSx0aGlzLnJlYWR5Rm9yU21hcnRzc3JQcm9taXNlPXRoaXMucmVhZHlGb3JTbWFydHNzckRlZmVycmVkLnByb21pc2UsdGhpcy5vcHRpb25zPWUsdGhpcy5zZXR1cCgpLnRoZW4oKCk9Pnt0aGlzLnJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpLHRoaXMub3B0aW9ucy5zbWFydHNzcldhaXRGb3JSZWFkeVNpZ25hbHx8dGhpcy5yZWFkeUZvclNtYXJ0c3NyRGVmZXJyZWQucmVzb2x2ZSgpfSl9YXN5bmMgc2V0dXAoZSl7ZSYmKHRoaXMub3B0aW9ucz1lKSxhd2FpdCB0aGlzLnRhZ01hbmFnZXIuc2V0dXAodGhpcy5vcHRpb25zLm1ldGFPYmplY3QpfXJldmVydFRvQmFzZUxldmVsKCl7dGhpcy50YWdNYW5hZ2VyLnJldmVydFRvQmFzZUxldmVsKCl9YXN5bmMgc2V0U3ViTGV2ZWwoZSl7cmV0dXJuIGF3YWl0IHRoaXMudGFnTWFuYWdlci5zZXRTdWJQYWdlTGV2ZWwoZSl9Zmxhc2hUaXRsZShlKXt9aW5mb3JtUmVhZHlGb3JTbWFydHNzcigpe3RoaXMub3B0aW9ucy5zbWFydHNzcldhaXRGb3JSZWFkeVNpZ25hbHx8Y29uc29sZS5lcnJvcigiWW91IGhhdmUgbm90IGluZGljYXRlZCB0aGF0IHlvdSBpbmZvcm0gc21hcnRzc3IgYnkgYSBkZWRpY2F0ZWQgc2lnbmFsISBQbGVhc2UgY29uc2lkZXIgZG9pbmcgc28hIiksdGhpcy5yZWFkeUZvclNtYXJ0c3NyRGVmZXJyZWQucmVzb2x2ZSgpfX19KTt2YXIgdTZlLG5tdD1mKCgpPT57VWwoKTt1NmU9Y2xhc3N7c3RhdGlje3ModGhpcywiVGl0bGUiKX19fSk7dmFyIHA2ZT17fTtsdChwNmUse0pzb25MZFRhZzooKT0+cmQsTWV0YVRhZzooKT0+RG4sT3BlbmdyYXBoVGFnOigpPT5XaSxUaXRsZTooKT0+dTZlLFdlYlNldHVwOigpPT5tYn0pO3ZhciBESj1mKCgpPT57b210KCk7ZDZlKCk7TEooKTtUSigpO25tdCgpfSk7ZnVuY3Rpb24gbG10KGEsZSx0KXtyZXR1cm4gTWF0aC5tYXgoYSxNYXRoLm1pbihlLHQpKX1mdW5jdGlvbiBlQ2EoYSxlLHQpe3JldHVybigxLXQpKmErdCplfWZ1bmN0aW9uIHRDYShhLGUsdCxyKXtyZXR1cm4gZUNhKGEsZSwxLU1hdGguZXhwKC10KnIpKX1mdW5jdGlvbiBhQ2EoYSxlKXtyZXR1cm4oYSVlK2UpJWV9ZnVuY3Rpb24gc0NhKGEsZSl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uKC4uLnIpe2xldCBpPXRoaXM7Y2xlYXJUaW1lb3V0KHQpLHQ9c2V0VGltZW91dCgoKT0+e3Q9dm9pZCAwLGEuYXBwbHkoaSxyKX0sZSl9fXZhciBKemEsckNhLGlDYSxjbXQsZG10LEswLG9DYSx1bXQsZ2IscG10PWYoKCk9PntKemE9IjEuMy4xNyI7cyhsbXQsImNsYW1wIik7cyhlQ2EsImxlcnAiKTtzKHRDYSwiZGFtcCIpO3MoYUNhLCJtb2R1bG8iKTtyQ2E9Y2xhc3N7c3RhdGlje3ModGhpcywiQW5pbWF0ZSIpfWlzUnVubmluZz0hMTt2YWx1ZT0wO2Zyb209MDt0bz0wO2N1cnJlbnRUaW1lPTA7bGVycDtkdXJhdGlvbjtlYXNpbmc7b25VcGRhdGU7YWR2YW5jZShhKXtpZighdGhpcy5pc1J1bm5pbmcpcmV0dXJuO2xldCBlPSExO2lmKHRoaXMuZHVyYXRpb24mJnRoaXMuZWFzaW5nKXt0aGlzLmN1cnJlbnRUaW1lKz1hO2xldCB0PWxtdCgwLHRoaXMuY3VycmVudFRpbWUvdGhpcy5kdXJhdGlvbiwxKTtlPXQ+PTE7bGV0IHI9ZT8xOnRoaXMuZWFzaW5nKHQpO3RoaXMudmFsdWU9dGhpcy5mcm9tKyh0aGlzLnRvLXRoaXMuZnJvbSkqcn1lbHNlIHRoaXMubGVycD8odGhpcy52YWx1ZT10Q2EodGhpcy52YWx1ZSx0aGlzLnRvLHRoaXMubGVycCo2MCxhKSxNYXRoLnJvdW5kKHRoaXMudmFsdWUpPT09dGhpcy50byYmKHRoaXMudmFsdWU9dGhpcy50byxlPSEwKSk6KHRoaXMudmFsdWU9dGhpcy50byxlPSEwKTtlJiZ0aGlzLnN0b3AoKSx0aGlzLm9uVXBkYXRlPy4odGhpcy52YWx1ZSxlKX1zdG9wKCl7dGhpcy5pc1J1bm5pbmc9ITF9ZnJvbVRvKGEsZSx7bGVycDp0LGR1cmF0aW9uOnIsZWFzaW5nOmksb25TdGFydDpvLG9uVXBkYXRlOm59KXt0aGlzLmZyb209dGhpcy52YWx1ZT1hLHRoaXMudG89ZSx0aGlzLmxlcnA9dCx0aGlzLmR1cmF0aW9uPXIsdGhpcy5lYXNpbmc9aSx0aGlzLmN1cnJlbnRUaW1lPTAsdGhpcy5pc1J1bm5pbmc9ITAsbz8uKCksdGhpcy5vblVwZGF0ZT1ufX07cyhzQ2EsImRlYm91bmNlIik7aUNhPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRpbWVuc2lvbnMiKX1jb25zdHJ1Y3RvcihhLGUse2F1dG9SZXNpemU6dD0hMCxkZWJvdW5jZTpyPTI1MH09e30pe3RoaXMud3JhcHBlcj1hLHRoaXMuY29udGVudD1lLHQmJih0aGlzLmRlYm91bmNlZFJlc2l6ZT1zQ2EodGhpcy5yZXNpemUsciksdGhpcy53cmFwcGVyIGluc3RhbmNlb2YgV2luZG93P3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuZGVib3VuY2VkUmVzaXplLCExKToodGhpcy53cmFwcGVyUmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMuZGVib3VuY2VkUmVzaXplKSx0aGlzLndyYXBwZXJSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMud3JhcHBlcikpLHRoaXMuY29udGVudFJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcih0aGlzLmRlYm91bmNlZFJlc2l6ZSksdGhpcy5jb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmNvbnRlbnQpKSx0aGlzLnJlc2l6ZSgpfXdpZHRoPTA7aGVpZ2h0PTA7c2Nyb2xsSGVpZ2h0PTA7c2Nyb2xsV2lkdGg9MDtkZWJvdW5jZWRSZXNpemU7d3JhcHBlclJlc2l6ZU9ic2VydmVyO2NvbnRlbnRSZXNpemVPYnNlcnZlcjtkZXN0cm95KCl7dGhpcy53cmFwcGVyUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSx0aGlzLmNvbnRlbnRSZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMud3JhcHBlcj09PXdpbmRvdyYmdGhpcy5kZWJvdW5jZWRSZXNpemUmJndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuZGVib3VuY2VkUmVzaXplLCExKX1yZXNpemU9cygoKT0+e3RoaXMub25XcmFwcGVyUmVzaXplKCksdGhpcy5vbkNvbnRlbnRSZXNpemUoKX0sInJlc2l6ZSIpO29uV3JhcHBlclJlc2l6ZT1zKCgpPT57dGhpcy53cmFwcGVyIGluc3RhbmNlb2YgV2luZG93Pyh0aGlzLndpZHRoPXdpbmRvdy5pbm5lcldpZHRoLHRoaXMuaGVpZ2h0PXdpbmRvdy5pbm5lckhlaWdodCk6KHRoaXMud2lkdGg9dGhpcy53cmFwcGVyLmNsaWVudFdpZHRoLHRoaXMuaGVpZ2h0PXRoaXMud3JhcHBlci5jbGllbnRIZWlnaHQpfSwib25XcmFwcGVyUmVzaXplIik7b25Db250ZW50UmVzaXplPXMoKCk9Pnt0aGlzLndyYXBwZXIgaW5zdGFuY2VvZiBXaW5kb3c/KHRoaXMuc2Nyb2xsSGVpZ2h0PXRoaXMuY29udGVudC5zY3JvbGxIZWlnaHQsdGhpcy5zY3JvbGxXaWR0aD10aGlzLmNvbnRlbnQuc2Nyb2xsV2lkdGgpOih0aGlzLnNjcm9sbEhlaWdodD10aGlzLndyYXBwZXIuc2Nyb2xsSGVpZ2h0LHRoaXMuc2Nyb2xsV2lkdGg9dGhpcy53cmFwcGVyLnNjcm9sbFdpZHRoKX0sIm9uQ29udGVudFJlc2l6ZSIpO2dldCBsaW1pdCgpe3JldHVybnt4OnRoaXMuc2Nyb2xsV2lkdGgtdGhpcy53aWR0aCx5OnRoaXMuc2Nyb2xsSGVpZ2h0LXRoaXMuaGVpZ2h0fX19LGNtdD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJFbWl0dGVyIil9ZXZlbnRzPXt9O2VtaXQoYSwuLi5lKXtsZXQgdD10aGlzLmV2ZW50c1thXXx8W107Zm9yKGxldCByPTAsaT10Lmxlbmd0aDtyPGk7cisrKXRbcl0/LiguLi5lKX1vbihhLGUpe3JldHVybiB0aGlzLmV2ZW50c1thXT8ucHVzaChlKXx8KHRoaXMuZXZlbnRzW2FdPVtlXSksKCk9Pnt0aGlzLmV2ZW50c1thXT10aGlzLmV2ZW50c1thXT8uZmlsdGVyKHQ9PmUhPT10KX19b2ZmKGEsZSl7dGhpcy5ldmVudHNbYV09dGhpcy5ldmVudHNbYV0/LmZpbHRlcih0PT5lIT09dCl9ZGVzdHJveSgpe3RoaXMuZXZlbnRzPXt9fX0sZG10PTEwMC82LEswPXtwYXNzaXZlOiExfSxvQ2E9Y2xhc3N7c3RhdGlje3ModGhpcywiVmlydHVhbFNjcm9sbCIpfWNvbnN0cnVjdG9yKGEsZT17d2hlZWxNdWx0aXBsaWVyOjEsdG91Y2hNdWx0aXBsaWVyOjF9KXt0aGlzLmVsZW1lbnQ9YSx0aGlzLm9wdGlvbnM9ZSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLm9uV2luZG93UmVzaXplLCExKSx0aGlzLm9uV2luZG93UmVzaXplKCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLm9uV2hlZWwsSzApLHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLm9uVG91Y2hTdGFydCxLMCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5vblRvdWNoTW92ZSxLMCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLm9uVG91Y2hFbmQsSzApfXRvdWNoU3RhcnQ9e3g6MCx5OjB9O2xhc3REZWx0YT17eDowLHk6MH07d2luZG93PXt3aWR0aDowLGhlaWdodDowfTtlbWl0dGVyPW5ldyBjbXQ7b24oYSxlKXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uKGEsZSl9ZGVzdHJveSgpe3RoaXMuZW1pdHRlci5kZXN0cm95KCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5vbldpbmRvd1Jlc2l6ZSwhMSksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLm9uV2hlZWwsSzApLHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLm9uVG91Y2hTdGFydCxLMCksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5vblRvdWNoTW92ZSxLMCksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLm9uVG91Y2hFbmQsSzApfW9uVG91Y2hTdGFydD1zKGE9PntsZXR7Y2xpZW50WDplLGNsaWVudFk6dH09YS50YXJnZXRUb3VjaGVzP2EudGFyZ2V0VG91Y2hlc1swXTphO3RoaXMudG91Y2hTdGFydC54PWUsdGhpcy50b3VjaFN0YXJ0Lnk9dCx0aGlzLmxhc3REZWx0YT17eDowLHk6MH0sdGhpcy5lbWl0dGVyLmVtaXQoInNjcm9sbCIse2RlbHRhWDowLGRlbHRhWTowLGV2ZW50OmF9KX0sIm9uVG91Y2hTdGFydCIpO29uVG91Y2hNb3ZlPXMoYT0+e2xldHtjbGllbnRYOmUsY2xpZW50WTp0fT1hLnRhcmdldFRvdWNoZXM/YS50YXJnZXRUb3VjaGVzWzBdOmEscj0tKGUtdGhpcy50b3VjaFN0YXJ0LngpKnRoaXMub3B0aW9ucy50b3VjaE11bHRpcGxpZXIsaT0tKHQtdGhpcy50b3VjaFN0YXJ0LnkpKnRoaXMub3B0aW9ucy50b3VjaE11bHRpcGxpZXI7dGhpcy50b3VjaFN0YXJ0Lng9ZSx0aGlzLnRvdWNoU3RhcnQueT10LHRoaXMubGFzdERlbHRhPXt4OnIseTppfSx0aGlzLmVtaXR0ZXIuZW1pdCgic2Nyb2xsIix7ZGVsdGFYOnIsZGVsdGFZOmksZXZlbnQ6YX0pfSwib25Ub3VjaE1vdmUiKTtvblRvdWNoRW5kPXMoYT0+e3RoaXMuZW1pdHRlci5lbWl0KCJzY3JvbGwiLHtkZWx0YVg6dGhpcy5sYXN0RGVsdGEueCxkZWx0YVk6dGhpcy5sYXN0RGVsdGEueSxldmVudDphfSl9LCJvblRvdWNoRW5kIik7b25XaGVlbD1zKGE9PntsZXR7ZGVsdGFYOmUsZGVsdGFZOnQsZGVsdGFNb2RlOnJ9PWEsaT1yPT09MT9kbXQ6cj09PTI/dGhpcy53aW5kb3cud2lkdGg6MSxvPXI9PT0xP2RtdDpyPT09Mj90aGlzLndpbmRvdy5oZWlnaHQ6MTtlKj1pLHQqPW8sZSo9dGhpcy5vcHRpb25zLndoZWVsTXVsdGlwbGllcix0Kj10aGlzLm9wdGlvbnMud2hlZWxNdWx0aXBsaWVyLHRoaXMuZW1pdHRlci5lbWl0KCJzY3JvbGwiLHtkZWx0YVg6ZSxkZWx0YVk6dCxldmVudDphfSl9LCJvbldoZWVsIik7b25XaW5kb3dSZXNpemU9cygoKT0+e3RoaXMud2luZG93PXt3aWR0aDp3aW5kb3cuaW5uZXJXaWR0aCxoZWlnaHQ6d2luZG93LmlubmVySGVpZ2h0fX0sIm9uV2luZG93UmVzaXplIil9LHVtdD1zKGE9Pk1hdGgubWluKDEsMS4wMDEtTWF0aC5wb3coMiwtMTAqYSkpLCJkZWZhdWx0RWFzaW5nIiksZ2I9Y2xhc3N7c3RhdGlje3ModGhpcywiTGVuaXMiKX1faXNTY3JvbGxpbmc9ITE7X2lzU3RvcHBlZD0hMTtfaXNMb2NrZWQ9ITE7X3ByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQ9ITE7X3Jlc2V0VmVsb2NpdHlUaW1lb3V0PW51bGw7X3JhZklkPW51bGw7aXNUb3VjaGluZzt0aW1lPTA7dXNlckRhdGE9e307bGFzdFZlbG9jaXR5PTA7dmVsb2NpdHk9MDtkaXJlY3Rpb249MDtvcHRpb25zO3RhcmdldFNjcm9sbDthbmltYXRlZFNjcm9sbDthbmltYXRlPW5ldyByQ2E7ZW1pdHRlcj1uZXcgY210O2RpbWVuc2lvbnM7dmlydHVhbFNjcm9sbDtjb25zdHJ1Y3Rvcih7d3JhcHBlcjphPXdpbmRvdyxjb250ZW50OmU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGV2ZW50c1RhcmdldDp0PWEsc21vb3RoV2hlZWw6cj0hMCxzeW5jVG91Y2g6aT0hMSxzeW5jVG91Y2hMZXJwOm89LjA3NSx0b3VjaEluZXJ0aWFFeHBvbmVudDpuPTEuNyxkdXJhdGlvbjpsLGVhc2luZzpkLGxlcnA6Yz0uMSxpbmZpbml0ZTpwPSExLG9yaWVudGF0aW9uOnU9InZlcnRpY2FsIixnZXN0dXJlT3JpZW50YXRpb246bT11PT09Imhvcml6b250YWwiPyJib3RoIjoidmVydGljYWwiLHRvdWNoTXVsdGlwbGllcjp2PTEsd2hlZWxNdWx0aXBsaWVyOng9MSxhdXRvUmVzaXplOmI9ITAscHJldmVudDpnLHZpcnR1YWxTY3JvbGw6eSxvdmVyc2Nyb2xsOms9ITAsYXV0b1JhZjpDPSExLGFuY2hvcnM6Tj0hMSxhdXRvVG9nZ2xlOl89ITEsYWxsb3dOZXN0ZWRTY3JvbGw6ej0hMSxfX2V4cGVyaW1lbnRhbF9fbmFpdmVEaW1lbnNpb25zOk89ITEsbmFpdmVEaW1lbnNpb25zOlQ9TyxzdG9wSW5lcnRpYU9uTmF2aWdhdGU6UD0hMX09e30pe3dpbmRvdy5sZW5pc1ZlcnNpb249SnphLCghYXx8YT09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkmJihhPXdpbmRvdyksdHlwZW9mIGw9PSJudW1iZXIiJiZ0eXBlb2YgZCE9ImZ1bmN0aW9uIj9kPXVtdDp0eXBlb2YgZD09ImZ1bmN0aW9uIiYmdHlwZW9mIGwhPSJudW1iZXIiJiYobD0xKSx0aGlzLm9wdGlvbnM9e3dyYXBwZXI6YSxjb250ZW50OmUsZXZlbnRzVGFyZ2V0OnQsc21vb3RoV2hlZWw6cixzeW5jVG91Y2g6aSxzeW5jVG91Y2hMZXJwOm8sdG91Y2hJbmVydGlhRXhwb25lbnQ6bixkdXJhdGlvbjpsLGVhc2luZzpkLGxlcnA6YyxpbmZpbml0ZTpwLGdlc3R1cmVPcmllbnRhdGlvbjptLG9yaWVudGF0aW9uOnUsdG91Y2hNdWx0aXBsaWVyOnYsd2hlZWxNdWx0aXBsaWVyOngsYXV0b1Jlc2l6ZTpiLHByZXZlbnQ6Zyx2aXJ0dWFsU2Nyb2xsOnksb3ZlcnNjcm9sbDprLGF1dG9SYWY6QyxhbmNob3JzOk4sYXV0b1RvZ2dsZTpfLGFsbG93TmVzdGVkU2Nyb2xsOnosbmFpdmVEaW1lbnNpb25zOlQsc3RvcEluZXJ0aWFPbk5hdmlnYXRlOlB9LHRoaXMuZGltZW5zaW9ucz1uZXcgaUNhKGEsZSx7YXV0b1Jlc2l6ZTpifSksdGhpcy51cGRhdGVDbGFzc05hbWUoKSx0aGlzLnRhcmdldFNjcm9sbD10aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMuYWN0dWFsU2Nyb2xsLHRoaXMub3B0aW9ucy53cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5vbk5hdGl2ZVNjcm9sbCwhMSksdGhpcy5vcHRpb25zLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIix0aGlzLm9uU2Nyb2xsRW5kLHtjYXB0dXJlOiEwfSksKHRoaXMub3B0aW9ucy5hbmNob3JzfHx0aGlzLm9wdGlvbnMuc3RvcEluZXJ0aWFPbk5hdmlnYXRlKSYmdGhpcy5vcHRpb25zLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMub25DbGljaywhMSksdGhpcy5vcHRpb25zLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHRoaXMub25Qb2ludGVyRG93biwhMSksdGhpcy52aXJ0dWFsU2Nyb2xsPW5ldyBvQ2EodCx7dG91Y2hNdWx0aXBsaWVyOnYsd2hlZWxNdWx0aXBsaWVyOnh9KSx0aGlzLnZpcnR1YWxTY3JvbGwub24oInNjcm9sbCIsdGhpcy5vblZpcnR1YWxTY3JvbGwpLHRoaXMub3B0aW9ucy5hdXRvVG9nZ2xlJiYodGhpcy5jaGVja092ZXJmbG93KCksdGhpcy5yb290RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIix0aGlzLm9uVHJhbnNpdGlvbkVuZCx7cGFzc2l2ZTohMH0pKSx0aGlzLm9wdGlvbnMuYXV0b1JhZiYmKHRoaXMuX3JhZklkPXJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnJhZikpfWRlc3Ryb3koKXt0aGlzLmVtaXR0ZXIuZGVzdHJveSgpLHRoaXMub3B0aW9ucy53cmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5vbk5hdGl2ZVNjcm9sbCwhMSksdGhpcy5vcHRpb25zLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIix0aGlzLm9uU2Nyb2xsRW5kLHtjYXB0dXJlOiEwfSksdGhpcy5vcHRpb25zLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHRoaXMub25Qb2ludGVyRG93biwhMSksKHRoaXMub3B0aW9ucy5hbmNob3JzfHx0aGlzLm9wdGlvbnMuc3RvcEluZXJ0aWFPbk5hdmlnYXRlKSYmdGhpcy5vcHRpb25zLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMub25DbGljaywhMSksdGhpcy52aXJ0dWFsU2Nyb2xsLmRlc3Ryb3koKSx0aGlzLmRpbWVuc2lvbnMuZGVzdHJveSgpLHRoaXMuY2xlYW5VcENsYXNzTmFtZSgpLHRoaXMuX3JhZklkJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yYWZJZCl9b24oYSxlKXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uKGEsZSl9b2ZmKGEsZSl7cmV0dXJuIHRoaXMuZW1pdHRlci5vZmYoYSxlKX1vblNjcm9sbEVuZD1zKGE9PnthIGluc3RhbmNlb2YgQ3VzdG9tRXZlbnR8fCh0aGlzLmlzU2Nyb2xsaW5nPT09InNtb290aCJ8fHRoaXMuaXNTY3JvbGxpbmc9PT0hMSkmJmEuc3RvcFByb3BhZ2F0aW9uKCl9LCJvblNjcm9sbEVuZCIpO2Rpc3BhdGNoU2Nyb2xsZW5kRXZlbnQ9cygoKT0+e3RoaXMub3B0aW9ucy53cmFwcGVyLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzY3JvbGxlbmQiLHtidWJibGVzOnRoaXMub3B0aW9ucy53cmFwcGVyPT09d2luZG93LGRldGFpbDp7bGVuaXNTY3JvbGxFbmQ6ITB9fSkpfSwiZGlzcGF0Y2hTY3JvbGxlbmRFdmVudCIpO2dldCBvdmVyZmxvdygpe2xldCBhPXRoaXMuaXNIb3Jpem9udGFsPyJvdmVyZmxvdy14Ijoib3ZlcmZsb3cteSI7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5yb290RWxlbWVudClbYV19Y2hlY2tPdmVyZmxvdygpe1siaGlkZGVuIiwiY2xpcCJdLmluY2x1ZGVzKHRoaXMub3ZlcmZsb3cpP3RoaXMuaW50ZXJuYWxTdG9wKCk6dGhpcy5pbnRlcm5hbFN0YXJ0KCl9b25UcmFuc2l0aW9uRW5kPXMoYT0+e2EucHJvcGVydHlOYW1lLmluY2x1ZGVzKCJvdmVyZmxvdyIpJiZ0aGlzLmNoZWNrT3ZlcmZsb3coKX0sIm9uVHJhbnNpdGlvbkVuZCIpO3NldFNjcm9sbChhKXt0aGlzLmlzSG9yaXpvbnRhbD90aGlzLm9wdGlvbnMud3JhcHBlci5zY3JvbGxUbyh7bGVmdDphLGJlaGF2aW9yOiJpbnN0YW50In0pOnRoaXMub3B0aW9ucy53cmFwcGVyLnNjcm9sbFRvKHt0b3A6YSxiZWhhdmlvcjoiaW5zdGFudCJ9KX1vbkNsaWNrPXMoYT0+e2xldCB0PWEuY29tcG9zZWRQYXRoKCkuZmlsdGVyKHI9PnIgaW5zdGFuY2VvZiBIVE1MQW5jaG9yRWxlbWVudCYmci5nZXRBdHRyaWJ1dGUoImhyZWYiKSk7aWYodGhpcy5vcHRpb25zLmFuY2hvcnMpe2xldCByPXQuZmluZChpPT5pLmdldEF0dHJpYnV0ZSgiaHJlZiIpPy5pbmNsdWRlcygiIyIpKTtpZihyKXtsZXQgaT1yLmdldEF0dHJpYnV0ZSgiaHJlZiIpO2lmKGkpe2xldCBvPXR5cGVvZiB0aGlzLm9wdGlvbnMuYW5jaG9ycz09Im9iamVjdCImJnRoaXMub3B0aW9ucy5hbmNob3JzP3RoaXMub3B0aW9ucy5hbmNob3JzOnZvaWQgMCxuPWAjJHtpLnNwbGl0KCIjIilbMV19YDt0aGlzLnNjcm9sbFRvKG4sbyl9fX10aGlzLm9wdGlvbnMuc3RvcEluZXJ0aWFPbk5hdmlnYXRlJiZ0LmZpbmQoaT0+aS5ob3N0PT09d2luZG93LmxvY2F0aW9uLmhvc3QpJiZ0aGlzLnJlc2V0KCl9LCJvbkNsaWNrIik7b25Qb2ludGVyRG93bj1zKGE9PnthLmJ1dHRvbj09PTEmJnRoaXMucmVzZXQoKX0sIm9uUG9pbnRlckRvd24iKTtvblZpcnR1YWxTY3JvbGw9cyhhPT57aWYodHlwZW9mIHRoaXMub3B0aW9ucy52aXJ0dWFsU2Nyb2xsPT0iZnVuY3Rpb24iJiZ0aGlzLm9wdGlvbnMudmlydHVhbFNjcm9sbChhKT09PSExKXJldHVybjtsZXR7ZGVsdGFYOmUsZGVsdGFZOnQsZXZlbnQ6cn09YTtpZih0aGlzLmVtaXR0ZXIuZW1pdCgidmlydHVhbC1zY3JvbGwiLHtkZWx0YVg6ZSxkZWx0YVk6dCxldmVudDpyfSksci5jdHJsS2V5fHxyLmxlbmlzU3RvcFByb3BhZ2F0aW9uKXJldHVybjtsZXQgaT1yLnR5cGUuaW5jbHVkZXMoInRvdWNoIiksbz1yLnR5cGUuaW5jbHVkZXMoIndoZWVsIik7dGhpcy5pc1RvdWNoaW5nPXIudHlwZT09PSJ0b3VjaHN0YXJ0Inx8ci50eXBlPT09InRvdWNobW92ZSI7bGV0IG49ZT09PTAmJnQ9PT0wO2lmKHRoaXMub3B0aW9ucy5zeW5jVG91Y2gmJmkmJnIudHlwZT09PSJ0b3VjaHN0YXJ0IiYmbiYmIXRoaXMuaXNTdG9wcGVkJiYhdGhpcy5pc0xvY2tlZCl7dGhpcy5yZXNldCgpO3JldHVybn1sZXQgZD10aGlzLm9wdGlvbnMuZ2VzdHVyZU9yaWVudGF0aW9uPT09InZlcnRpY2FsIiYmdD09PTB8fHRoaXMub3B0aW9ucy5nZXN0dXJlT3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCImJmU9PT0wO2lmKG58fGQpcmV0dXJuO2xldCBjPXIuY29tcG9zZWRQYXRoKCk7Yz1jLnNsaWNlKDAsYy5pbmRleE9mKHRoaXMucm9vdEVsZW1lbnQpKTtsZXQgcD10aGlzLm9wdGlvbnMucHJldmVudDtpZihjLmZpbmQoZz0+ZyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYodHlwZW9mIHA9PSJmdW5jdGlvbiImJnA/LihnKXx8Zy5oYXNBdHRyaWJ1dGU/LigiZGF0YS1sZW5pcy1wcmV2ZW50Iil8fGkmJmcuaGFzQXR0cmlidXRlPy4oImRhdGEtbGVuaXMtcHJldmVudC10b3VjaCIpfHxvJiZnLmhhc0F0dHJpYnV0ZT8uKCJkYXRhLWxlbmlzLXByZXZlbnQtd2hlZWwiKXx8dGhpcy5vcHRpb25zLmFsbG93TmVzdGVkU2Nyb2xsJiZ0aGlzLmNoZWNrTmVzdGVkU2Nyb2xsKGcse2RlbHRhWDplLGRlbHRhWTp0fSkpKSlyZXR1cm47aWYodGhpcy5pc1N0b3BwZWR8fHRoaXMuaXNMb2NrZWQpe3IuY2FuY2VsYWJsZSYmci5wcmV2ZW50RGVmYXVsdCgpO3JldHVybn1pZighKHRoaXMub3B0aW9ucy5zeW5jVG91Y2gmJml8fHRoaXMub3B0aW9ucy5zbW9vdGhXaGVlbCYmbykpe3RoaXMuaXNTY3JvbGxpbmc9Im5hdGl2ZSIsdGhpcy5hbmltYXRlLnN0b3AoKSxyLmxlbmlzU3RvcFByb3BhZ2F0aW9uPSEwO3JldHVybn1sZXQgbT10O3RoaXMub3B0aW9ucy5nZXN0dXJlT3JpZW50YXRpb249PT0iYm90aCI/bT1NYXRoLmFicyh0KT5NYXRoLmFicyhlKT90OmU6dGhpcy5vcHRpb25zLmdlc3R1cmVPcmllbnRhdGlvbj09PSJob3Jpem9udGFsIiYmKG09ZSksKCF0aGlzLm9wdGlvbnMub3ZlcnNjcm9sbHx8dGhpcy5vcHRpb25zLmluZmluaXRlfHx0aGlzLm9wdGlvbnMud3JhcHBlciE9PXdpbmRvdyYmdGhpcy5saW1pdD4wJiYodGhpcy5hbmltYXRlZFNjcm9sbD4wJiZ0aGlzLmFuaW1hdGVkU2Nyb2xsPHRoaXMubGltaXR8fHRoaXMuYW5pbWF0ZWRTY3JvbGw9PT0wJiZ0PjB8fHRoaXMuYW5pbWF0ZWRTY3JvbGw9PT10aGlzLmxpbWl0JiZ0PDApKSYmKHIubGVuaXNTdG9wUHJvcGFnYXRpb249ITApLHIuY2FuY2VsYWJsZSYmci5wcmV2ZW50RGVmYXVsdCgpO2xldCB2PWkmJnRoaXMub3B0aW9ucy5zeW5jVG91Y2gsYj1pJiZyLnR5cGU9PT0idG91Y2hlbmQiO2ImJihtPU1hdGguc2lnbih0aGlzLnZlbG9jaXR5KSpNYXRoLnBvdyhNYXRoLmFicyh0aGlzLnZlbG9jaXR5KSx0aGlzLm9wdGlvbnMudG91Y2hJbmVydGlhRXhwb25lbnQpKSx0aGlzLnNjcm9sbFRvKHRoaXMudGFyZ2V0U2Nyb2xsK20se3Byb2dyYW1tYXRpYzohMSwuLi52P3tsZXJwOmI/dGhpcy5vcHRpb25zLnN5bmNUb3VjaExlcnA6MX06e2xlcnA6dGhpcy5vcHRpb25zLmxlcnAsZHVyYXRpb246dGhpcy5vcHRpb25zLmR1cmF0aW9uLGVhc2luZzp0aGlzLm9wdGlvbnMuZWFzaW5nfX0pfSwib25WaXJ0dWFsU2Nyb2xsIik7cmVzaXplKCl7dGhpcy5kaW1lbnNpb25zLnJlc2l6ZSgpLHRoaXMuYW5pbWF0ZWRTY3JvbGw9dGhpcy50YXJnZXRTY3JvbGw9dGhpcy5hY3R1YWxTY3JvbGwsdGhpcy5lbWl0KCl9ZW1pdCgpe3RoaXMuZW1pdHRlci5lbWl0KCJzY3JvbGwiLHRoaXMpfW9uTmF0aXZlU2Nyb2xsPXMoKCk9PntpZih0aGlzLl9yZXNldFZlbG9jaXR5VGltZW91dCE9PW51bGwmJihjbGVhclRpbWVvdXQodGhpcy5fcmVzZXRWZWxvY2l0eVRpbWVvdXQpLHRoaXMuX3Jlc2V0VmVsb2NpdHlUaW1lb3V0PW51bGwpLHRoaXMuX3ByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQpe3RoaXMuX3ByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQ9ITE7cmV0dXJufWlmKHRoaXMuaXNTY3JvbGxpbmc9PT0hMXx8dGhpcy5pc1Njcm9sbGluZz09PSJuYXRpdmUiKXtsZXQgYT10aGlzLmFuaW1hdGVkU2Nyb2xsO3RoaXMuYW5pbWF0ZWRTY3JvbGw9dGhpcy50YXJnZXRTY3JvbGw9dGhpcy5hY3R1YWxTY3JvbGwsdGhpcy5sYXN0VmVsb2NpdHk9dGhpcy52ZWxvY2l0eSx0aGlzLnZlbG9jaXR5PXRoaXMuYW5pbWF0ZWRTY3JvbGwtYSx0aGlzLmRpcmVjdGlvbj1NYXRoLnNpZ24odGhpcy5hbmltYXRlZFNjcm9sbC1hKSx0aGlzLmlzU3RvcHBlZHx8KHRoaXMuaXNTY3JvbGxpbmc9Im5hdGl2ZSIpLHRoaXMuZW1pdCgpLHRoaXMudmVsb2NpdHkhPT0wJiYodGhpcy5fcmVzZXRWZWxvY2l0eVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMubGFzdFZlbG9jaXR5PXRoaXMudmVsb2NpdHksdGhpcy52ZWxvY2l0eT0wLHRoaXMuaXNTY3JvbGxpbmc9ITEsdGhpcy5lbWl0KCl9LDQwMCkpfX0sIm9uTmF0aXZlU2Nyb2xsIik7cmVzZXQoKXt0aGlzLmlzTG9ja2VkPSExLHRoaXMuaXNTY3JvbGxpbmc9ITEsdGhpcy5hbmltYXRlZFNjcm9sbD10aGlzLnRhcmdldFNjcm9sbD10aGlzLmFjdHVhbFNjcm9sbCx0aGlzLmxhc3RWZWxvY2l0eT10aGlzLnZlbG9jaXR5PTAsdGhpcy5hbmltYXRlLnN0b3AoKX1zdGFydCgpe2lmKHRoaXMuaXNTdG9wcGVkKXtpZih0aGlzLm9wdGlvbnMuYXV0b1RvZ2dsZSl7dGhpcy5yb290RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgib3ZlcmZsb3ciKTtyZXR1cm59dGhpcy5pbnRlcm5hbFN0YXJ0KCl9fWludGVybmFsU3RhcnQoKXt0aGlzLmlzU3RvcHBlZCYmKHRoaXMucmVzZXQoKSx0aGlzLmlzU3RvcHBlZD0hMSx0aGlzLmVtaXQoKSl9c3RvcCgpe2lmKCF0aGlzLmlzU3RvcHBlZCl7aWYodGhpcy5vcHRpb25zLmF1dG9Ub2dnbGUpe3RoaXMucm9vdEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoIm92ZXJmbG93IiwiY2xpcCIpO3JldHVybn10aGlzLmludGVybmFsU3RvcCgpfX1pbnRlcm5hbFN0b3AoKXt0aGlzLmlzU3RvcHBlZHx8KHRoaXMucmVzZXQoKSx0aGlzLmlzU3RvcHBlZD0hMCx0aGlzLmVtaXQoKSl9cmFmPXMoYT0+e2xldCBlPWEtKHRoaXMudGltZXx8YSk7dGhpcy50aW1lPWEsdGhpcy5hbmltYXRlLmFkdmFuY2UoZSouMDAxKSx0aGlzLm9wdGlvbnMuYXV0b1JhZiYmKHRoaXMuX3JhZklkPXJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnJhZikpfSwicmFmIik7c2Nyb2xsVG8oYSx7b2Zmc2V0OmU9MCxpbW1lZGlhdGU6dD0hMSxsb2NrOnI9ITEscHJvZ3JhbW1hdGljOmk9ITAsbGVycDpvPWk/dGhpcy5vcHRpb25zLmxlcnA6dm9pZCAwLGR1cmF0aW9uOm49aT90aGlzLm9wdGlvbnMuZHVyYXRpb246dm9pZCAwLGVhc2luZzpsPWk/dGhpcy5vcHRpb25zLmVhc2luZzp2b2lkIDAsb25TdGFydDpkLG9uQ29tcGxldGU6Yyxmb3JjZTpwPSExLHVzZXJEYXRhOnV9PXt9KXtpZighKCh0aGlzLmlzU3RvcHBlZHx8dGhpcy5pc0xvY2tlZCkmJiFwKSl7aWYodHlwZW9mIGE9PSJzdHJpbmciJiZbInRvcCIsImxlZnQiLCJzdGFydCIsIiMiXS5pbmNsdWRlcyhhKSlhPTA7ZWxzZSBpZih0eXBlb2YgYT09InN0cmluZyImJlsiYm90dG9tIiwicmlnaHQiLCJlbmQiXS5pbmNsdWRlcyhhKSlhPXRoaXMubGltaXQ7ZWxzZXtsZXQgbTtpZih0eXBlb2YgYT09InN0cmluZyI/KG09ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhKSxtfHwoYT09PSIjdG9wIj9hPTA6Y29uc29sZS53YXJuKCJMZW5pczogVGFyZ2V0IG5vdCBmb3VuZCIsYSkpKTphIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmE/Lm5vZGVUeXBlJiYobT1hKSxtKXtpZih0aGlzLm9wdGlvbnMud3JhcHBlciE9PXdpbmRvdyl7bGV0IHg9dGhpcy5yb290RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlLT10aGlzLmlzSG9yaXpvbnRhbD94LmxlZnQ6eC50b3B9bGV0IHY9bS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTthPSh0aGlzLmlzSG9yaXpvbnRhbD92LmxlZnQ6di50b3ApK3RoaXMuYW5pbWF0ZWRTY3JvbGx9fWlmKHR5cGVvZiBhPT0ibnVtYmVyIil7aWYoYSs9ZSxhPU1hdGgucm91bmQoYSksdGhpcy5vcHRpb25zLmluZmluaXRlKXtpZihpKXt0aGlzLnRhcmdldFNjcm9sbD10aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMuc2Nyb2xsO2xldCBtPWEtdGhpcy5hbmltYXRlZFNjcm9sbDttPnRoaXMubGltaXQvMj9hPWEtdGhpcy5saW1pdDptPC10aGlzLmxpbWl0LzImJihhPWErdGhpcy5saW1pdCl9fWVsc2UgYT1sbXQoMCxhLHRoaXMubGltaXQpO2lmKGE9PT10aGlzLnRhcmdldFNjcm9sbCl7ZD8uKHRoaXMpLGM/Lih0aGlzKTtyZXR1cm59aWYodGhpcy51c2VyRGF0YT11Pz97fSx0KXt0aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMudGFyZ2V0U2Nyb2xsPWEsdGhpcy5zZXRTY3JvbGwodGhpcy5zY3JvbGwpLHRoaXMucmVzZXQoKSx0aGlzLnByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQoKSx0aGlzLmVtaXQoKSxjPy4odGhpcyksdGhpcy51c2VyRGF0YT17fSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLmRpc3BhdGNoU2Nyb2xsZW5kRXZlbnQoKX0pO3JldHVybn1pfHwodGhpcy50YXJnZXRTY3JvbGw9YSksdHlwZW9mIG49PSJudW1iZXIiJiZ0eXBlb2YgbCE9ImZ1bmN0aW9uIj9sPXVtdDp0eXBlb2YgbD09ImZ1bmN0aW9uIiYmdHlwZW9mIG4hPSJudW1iZXIiJiYobj0xKSx0aGlzLmFuaW1hdGUuZnJvbVRvKHRoaXMuYW5pbWF0ZWRTY3JvbGwsYSx7ZHVyYXRpb246bixlYXNpbmc6bCxsZXJwOm8sb25TdGFydDpzKCgpPT57ciYmKHRoaXMuaXNMb2NrZWQ9ITApLHRoaXMuaXNTY3JvbGxpbmc9InNtb290aCIsZD8uKHRoaXMpfSwib25TdGFydCIpLG9uVXBkYXRlOnMoKG0sdik9Pnt0aGlzLmlzU2Nyb2xsaW5nPSJzbW9vdGgiLHRoaXMubGFzdFZlbG9jaXR5PXRoaXMudmVsb2NpdHksdGhpcy52ZWxvY2l0eT1tLXRoaXMuYW5pbWF0ZWRTY3JvbGwsdGhpcy5kaXJlY3Rpb249TWF0aC5zaWduKHRoaXMudmVsb2NpdHkpLHRoaXMuYW5pbWF0ZWRTY3JvbGw9bSx0aGlzLnNldFNjcm9sbCh0aGlzLnNjcm9sbCksaSYmKHRoaXMudGFyZ2V0U2Nyb2xsPW0pLHZ8fHRoaXMuZW1pdCgpLHYmJih0aGlzLnJlc2V0KCksdGhpcy5lbWl0KCksYz8uKHRoaXMpLHRoaXMudXNlckRhdGE9e30scmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5kaXNwYXRjaFNjcm9sbGVuZEV2ZW50KCl9KSx0aGlzLnByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQoKSl9LCJvblVwZGF0ZSIpfSl9fX1wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50KCl7dGhpcy5fcHJldmVudE5leHROYXRpdmVTY3JvbGxFdmVudD0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLl9wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50PSExfSl9Y2hlY2tOZXN0ZWRTY3JvbGwoYSx7ZGVsdGFYOmUsZGVsdGFZOnR9KXtsZXQgcj1EYXRlLm5vdygpLGk9YS5fbGVuaXM/Pz17fSxvLG4sbCxkLGMscCx1LG0sdj10aGlzLm9wdGlvbnMuZ2VzdHVyZU9yaWVudGF0aW9uO2lmKHItKGkudGltZT8/MCk+MmUzKXtpLnRpbWU9RGF0ZS5ub3coKTtsZXQgXz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShhKTtpLmNvbXB1dGVkU3R5bGU9XztsZXQgej1fLm92ZXJmbG93WCxPPV8ub3ZlcmZsb3dZO2lmKG89WyJhdXRvIiwib3ZlcmxheSIsInNjcm9sbCJdLmluY2x1ZGVzKHopLG49WyJhdXRvIiwib3ZlcmxheSIsInNjcm9sbCJdLmluY2x1ZGVzKE8pLGkuaGFzT3ZlcmZsb3dYPW8saS5oYXNPdmVyZmxvd1k9biwhbyYmIW58fHY9PT0idmVydGljYWwiJiYhbnx8dj09PSJob3Jpem9udGFsIiYmIW8pcmV0dXJuITE7Yz1hLnNjcm9sbFdpZHRoLHA9YS5zY3JvbGxIZWlnaHQsdT1hLmNsaWVudFdpZHRoLG09YS5jbGllbnRIZWlnaHQsbD1jPnUsZD1wPm0saS5pc1Njcm9sbGFibGVYPWwsaS5pc1Njcm9sbGFibGVZPWQsaS5zY3JvbGxXaWR0aD1jLGkuc2Nyb2xsSGVpZ2h0PXAsaS5jbGllbnRXaWR0aD11LGkuY2xpZW50SGVpZ2h0PW19ZWxzZSBsPWkuaXNTY3JvbGxhYmxlWCxkPWkuaXNTY3JvbGxhYmxlWSxvPWkuaGFzT3ZlcmZsb3dYLG49aS5oYXNPdmVyZmxvd1ksYz1pLnNjcm9sbFdpZHRoLHA9aS5zY3JvbGxIZWlnaHQsdT1pLmNsaWVudFdpZHRoLG09aS5jbGllbnRIZWlnaHQ7aWYoIW8mJiFufHwhbCYmIWR8fHY9PT0idmVydGljYWwiJiYoIW58fCFkKXx8dj09PSJob3Jpem9udGFsIiYmKCFvfHwhbCkpcmV0dXJuITE7bGV0IHg7aWYodj09PSJob3Jpem9udGFsIil4PSJ4IjtlbHNlIGlmKHY9PT0idmVydGljYWwiKXg9InkiO2Vsc2V7bGV0IF89ZSE9PTAsej10IT09MDtfJiZvJiZsJiYoeD0ieCIpLHomJm4mJmQmJih4PSJ5Iil9aWYoIXgpcmV0dXJuITE7bGV0IGIsZyx5LGssQztpZih4PT09IngiKWI9YS5zY3JvbGxMZWZ0LGc9Yy11LHk9ZSxrPW8sQz1sO2Vsc2UgaWYoeD09PSJ5IiliPWEuc2Nyb2xsVG9wLGc9cC1tLHk9dCxrPW4sQz1kO2Vsc2UgcmV0dXJuITE7cmV0dXJuKHk+MD9iPGc6Yj4wKSYmayYmQ31nZXQgcm9vdEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5vcHRpb25zLndyYXBwZXI9PT13aW5kb3c/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OnRoaXMub3B0aW9ucy53cmFwcGVyfWdldCBsaW1pdCgpe3JldHVybiB0aGlzLm9wdGlvbnMubmFpdmVEaW1lbnNpb25zP3RoaXMuaXNIb3Jpem9udGFsP3RoaXMucm9vdEVsZW1lbnQuc2Nyb2xsV2lkdGgtdGhpcy5yb290RWxlbWVudC5jbGllbnRXaWR0aDp0aGlzLnJvb3RFbGVtZW50LnNjcm9sbEhlaWdodC10aGlzLnJvb3RFbGVtZW50LmNsaWVudEhlaWdodDp0aGlzLmRpbWVuc2lvbnMubGltaXRbdGhpcy5pc0hvcml6b250YWw/IngiOiJ5Il19Z2V0IGlzSG9yaXpvbnRhbCgpe3JldHVybiB0aGlzLm9wdGlvbnMub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCJ9Z2V0IGFjdHVhbFNjcm9sbCgpe2xldCBhPXRoaXMub3B0aW9ucy53cmFwcGVyO3JldHVybiB0aGlzLmlzSG9yaXpvbnRhbD9hLnNjcm9sbFg/P2Euc2Nyb2xsTGVmdDphLnNjcm9sbFk/P2Euc2Nyb2xsVG9wfWdldCBzY3JvbGwoKXtyZXR1cm4gdGhpcy5vcHRpb25zLmluZmluaXRlP2FDYSh0aGlzLmFuaW1hdGVkU2Nyb2xsLHRoaXMubGltaXQpOnRoaXMuYW5pbWF0ZWRTY3JvbGx9Z2V0IHByb2dyZXNzKCl7cmV0dXJuIHRoaXMubGltaXQ9PT0wPzE6dGhpcy5zY3JvbGwvdGhpcy5saW1pdH1nZXQgaXNTY3JvbGxpbmcoKXtyZXR1cm4gdGhpcy5faXNTY3JvbGxpbmd9c2V0IGlzU2Nyb2xsaW5nKGEpe3RoaXMuX2lzU2Nyb2xsaW5nIT09YSYmKHRoaXMuX2lzU2Nyb2xsaW5nPWEsdGhpcy51cGRhdGVDbGFzc05hbWUoKSl9Z2V0IGlzU3RvcHBlZCgpe3JldHVybiB0aGlzLl9pc1N0b3BwZWR9c2V0IGlzU3RvcHBlZChhKXt0aGlzLl9pc1N0b3BwZWQhPT1hJiYodGhpcy5faXNTdG9wcGVkPWEsdGhpcy51cGRhdGVDbGFzc05hbWUoKSl9Z2V0IGlzTG9ja2VkKCl7cmV0dXJuIHRoaXMuX2lzTG9ja2VkfXNldCBpc0xvY2tlZChhKXt0aGlzLl9pc0xvY2tlZCE9PWEmJih0aGlzLl9pc0xvY2tlZD1hLHRoaXMudXBkYXRlQ2xhc3NOYW1lKCkpfWdldCBpc1Ntb290aCgpe3JldHVybiB0aGlzLmlzU2Nyb2xsaW5nPT09InNtb290aCJ9Z2V0IGNsYXNzTmFtZSgpe2xldCBhPSJsZW5pcyI7cmV0dXJuIHRoaXMub3B0aW9ucy5hdXRvVG9nZ2xlJiYoYSs9IiBsZW5pcy1hdXRvVG9nZ2xlIiksdGhpcy5pc1N0b3BwZWQmJihhKz0iIGxlbmlzLXN0b3BwZWQiKSx0aGlzLmlzTG9ja2VkJiYoYSs9IiBsZW5pcy1sb2NrZWQiKSx0aGlzLmlzU2Nyb2xsaW5nJiYoYSs9IiBsZW5pcy1zY3JvbGxpbmciKSx0aGlzLmlzU2Nyb2xsaW5nPT09InNtb290aCImJihhKz0iIGxlbmlzLXNtb290aCIpLGF9dXBkYXRlQ2xhc3NOYW1lKCl7dGhpcy5jbGVhblVwQ2xhc3NOYW1lKCksdGhpcy5yb290RWxlbWVudC5jbGFzc05hbWU9YCR7dGhpcy5yb290RWxlbWVudC5jbGFzc05hbWV9ICR7dGhpcy5jbGFzc05hbWV9YC50cmltKCl9Y2xlYW5VcENsYXNzTmFtZSgpe3RoaXMucm9vdEVsZW1lbnQuY2xhc3NOYW1lPXRoaXMucm9vdEVsZW1lbnQuY2xhc3NOYW1lLnJlcGxhY2UoL2xlbmlzKC1cdyspPy9nLCIiKS50cmltKCl9fX0pO3ZhciBmbXQ9TW8oKGY2ZSxoNmUpPT57KGZ1bmN0aW9uKGEsZSl7dHlwZW9mIGY2ZT09Im9iamVjdCImJnR5cGVvZiBoNmU8InUiP2g2ZS5leHBvcnRzPWUoKTp0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kP2RlZmluZShlKTooYT1hfHxzZWxmLGEuU3dlZXRTY3JvbGw9ZSgpKX0pKGY2ZSxmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgYT1zKGZ1bmN0aW9uKCl7cmV0dXJuIGE9T2JqZWN0LmFzc2lnbnx8cyhmdW5jdGlvbihRKXtmb3IodmFyIEosWj0xLGdlPWFyZ3VtZW50cy5sZW5ndGg7WjxnZTtaKyspe0o9YXJndW1lbnRzW1pdO2Zvcih2YXIgYWUgaW4gSilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoSixhZSkmJihRW2FlXT1KW2FlXSl9cmV0dXJuIFF9LCJfX2Fzc2lnbiIpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSwiX19hc3NpZ24iKSxlPSEhKHR5cGVvZiB3aW5kb3c8InUiJiZ3aW5kb3cuZG9jdW1lbnQmJndpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KSx0PWU/d2luZG93Lmhpc3RvcnkmJiJwdXNoU3RhdGUiaW4gd2luZG93Lmhpc3RvcnkmJndpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCE9PSJmaWxlOiI6ITEscj0oZnVuY3Rpb24oKXt2YXIgWT0hMTtpZighZSlyZXR1cm4gWTt0cnl7dmFyIFE9d2luZG93LEo9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OnMoZnVuY3Rpb24oKXtZPSEwfSwiZ2V0Iil9KTtRLmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsSiksUS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLEopfWNhdGNoe31yZXR1cm4gWX0pKCksaT1zKGZ1bmN0aW9uKFkpe3JldHVybiB0eXBlb2YgWT09InN0cmluZyJ9LCJpc1N0cmluZyIpLG89cyhmdW5jdGlvbihZKXtyZXR1cm4gdHlwZW9mIFk9PSJmdW5jdGlvbiJ9LCJpc0Z1bmN0aW9uIiksbj1zKGZ1bmN0aW9uKFkpe3JldHVybiBBcnJheS5pc0FycmF5KFkpfSwiaXNBcnJheSIpLGw9cyhmdW5jdGlvbihZKXtyZXR1cm4hbihZKSYmWS1wYXJzZUZsb2F0KFkpKzE+PTB9LCJpc051bWVyaWMiKSxkPXMoZnVuY3Rpb24oWSxRKXtyZXR1cm4gWSYmWS5oYXNPd25Qcm9wZXJ0eShRKX0sImhhc1Byb3AiKSxjPWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdyk6bnVsbCxwPWU/d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KTpudWxsLHU9TWF0aC5jb3MsbT1NYXRoLnNpbix2PU1hdGgucG93LHg9TWF0aC5zcXJ0LGI9TWF0aC5QSSxnPXtsaW5lYXI6cyhmdW5jdGlvbihZKXtyZXR1cm4gWX0sImxpbmVhciIpLGVhc2VJblF1YWQ6cyhmdW5jdGlvbihZLFEsSixaLGdlKXtyZXR1cm4gWiooUS89Z2UpKlErSn0sImVhc2VJblF1YWQiKSxlYXNlT3V0UXVhZDpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybi1aKihRLz1nZSkqKFEtMikrSn0sImVhc2VPdXRRdWFkIiksZWFzZUluT3V0UXVhZDpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybihRLz1nZS8yKTwxP1ovMipRKlErSjotWi8yKigtLVEqKFEtMiktMSkrSn0sImVhc2VJbk91dFF1YWQiKSxlYXNlSW5DdWJpYzpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybiBaKihRLz1nZSkqUSpRK0p9LCJlYXNlSW5DdWJpYyIpLGVhc2VPdXRDdWJpYzpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybiBaKigoUT1RL2dlLTEpKlEqUSsxKStKfSwiZWFzZU91dEN1YmljIiksZWFzZUluT3V0Q3ViaWM6cyhmdW5jdGlvbihZLFEsSixaLGdlKXtyZXR1cm4oUS89Z2UvMik8MT9aLzIqUSpRKlErSjpaLzIqKChRLT0yKSpRKlErMikrSn0sImVhc2VJbk91dEN1YmljIiksZWFzZUluUXVhcnQ6cyhmdW5jdGlvbihZLFEsSixaLGdlKXtyZXR1cm4gWiooUS89Z2UpKlEqUSpRK0p9LCJlYXNlSW5RdWFydCIpLGVhc2VPdXRRdWFydDpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybi1aKigoUT1RL2dlLTEpKlEqUSpRLTEpK0p9LCJlYXNlT3V0UXVhcnQiKSxlYXNlSW5PdXRRdWFydDpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybihRLz1nZS8yKTwxP1ovMipRKlEqUSpRK0o6LVovMiooKFEtPTIpKlEqUSpRLTIpK0p9LCJlYXNlSW5PdXRRdWFydCIpLGVhc2VJblF1aW50OnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuIFoqKFEvPWdlKSpRKlEqUSpRK0p9LCJlYXNlSW5RdWludCIpLGVhc2VPdXRRdWludDpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybiBaKigoUT1RL2dlLTEpKlEqUSpRKlErMSkrSn0sImVhc2VPdXRRdWludCIpLGVhc2VJbk91dFF1aW50OnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuKFEvPWdlLzIpPDE/Wi8yKlEqUSpRKlEqUStKOlovMiooKFEtPTIpKlEqUSpRKlErMikrSn0sImVhc2VJbk91dFF1aW50IiksZWFzZUluU2luZTpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybi1aKnUoUS9nZSooYi8yKSkrWitKfSwiZWFzZUluU2luZSIpLGVhc2VPdXRTaW5lOnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuIFoqbShRL2dlKihiLzIpKStKfSwiZWFzZU91dFNpbmUiKSxlYXNlSW5PdXRTaW5lOnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuLVovMioodShiKlEvZ2UpLTEpK0p9LCJlYXNlSW5PdXRTaW5lIiksZWFzZUluRXhwbzpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybiBRPT09MD9KOloqdigyLDEwKihRL2dlLTEpKStKfSwiZWFzZUluRXhwbyIpLGVhc2VPdXRFeHBvOnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuIFE9PT1nZT9KK1o6WiooLXYoMiwtMTAqUS9nZSkrMSkrSn0sImVhc2VPdXRFeHBvIiksZWFzZUluT3V0RXhwbzpzKGZ1bmN0aW9uKFksUSxKLFosZ2Upe3JldHVybiBRPT09MD9KOlE9PT1nZT9KK1o6KFEvPWdlLzIpPDE/Wi8yKnYoMiwxMCooUS0xKSkrSjpaLzIqKC12KDIsLTEwKi0tUSkrMikrSn0sImVhc2VJbk91dEV4cG8iKSxlYXNlSW5DaXJjOnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuLVoqKHgoMS0oUS89Z2UpKlEpLTEpK0p9LCJlYXNlSW5DaXJjIiksZWFzZU91dENpcmM6cyhmdW5jdGlvbihZLFEsSixaLGdlKXtyZXR1cm4gWip4KDEtKFE9US9nZS0xKSpRKStKfSwiZWFzZU91dENpcmMiKSxlYXNlSW5PdXRDaXJjOnMoZnVuY3Rpb24oWSxRLEosWixnZSl7cmV0dXJuKFEvPWdlLzIpPDE/LVovMiooeCgxLVEqUSktMSkrSjpaLzIqKHgoMS0oUS09MikqUSkrMSkrSn0sImVhc2VJbk91dENpcmMiKX0seT1zKGZ1bmN0aW9uKFkpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChZP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoWSk6W10pfSwiJCQiKSxrPXMoZnVuY3Rpb24oWSl7cmV0dXJuIHkoWSkuc2hpZnQoKXx8bnVsbH0sIiQiKSxDPXMoZnVuY3Rpb24oWSl7cmV0dXJuIFkgaW5zdGFuY2VvZiBFbGVtZW50fSwiaXNFbGVtZW50IiksTj1zKGZ1bmN0aW9uKFkpe3JldHVybiBZPT09d2luZG93fSwiaXNXaW5kb3ciKSxfPXMoZnVuY3Rpb24oWSl7cmV0dXJuIFk9PT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnR8fFk9PT1kb2N1bWVudC5ib2R5fSwiaXNSb290Q29udGFpbmVyIiksej1zKGZ1bmN0aW9uKFksUSl7aWYoQyhRKSlyZXR1cm4gWT09PVE7Zm9yKHZhciBKPXkoUSksWj1KLmxlbmd0aDstLVo+PTAmJkpbWl0hPT1ZOyk7cmV0dXJuIFo+LTF9LCJtYXRjaGVzIiksTz1zKGZ1bmN0aW9uKFkpe3JldHVybiBNYXRoLm1heChZLnNjcm9sbEhlaWdodCxZLmNsaWVudEhlaWdodCxZLm9mZnNldEhlaWdodCl9LCJnZXRIZWlnaHQiKSxUPXMoZnVuY3Rpb24oWSl7cmV0dXJuIE1hdGgubWF4KFkuc2Nyb2xsV2lkdGgsWS5jbGllbnRXaWR0aCxZLm9mZnNldFdpZHRoKX0sImdldFdpZHRoIiksUD1zKGZ1bmN0aW9uKFkpe3JldHVybnt3aWR0aDpUKFkpLGhlaWdodDpPKFkpfX0sImdldFNpemUiKSxCPXMoZnVuY3Rpb24oWSl7dmFyIFE9TihZKXx8XyhZKTtyZXR1cm57dmlld3BvcnQ6e3dpZHRoOlE/TWF0aC5taW4od2luZG93LmlubmVyV2lkdGgsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKTpZLmNsaWVudFdpZHRoLGhlaWdodDpRP3dpbmRvdy5pbm5lckhlaWdodDpZLmNsaWVudEhlaWdodH0sc2l6ZTpRP3t3aWR0aDpNYXRoLm1heChUKGRvY3VtZW50LmJvZHkpLFQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSksaGVpZ2h0Ok1hdGgubWF4KE8oZG9jdW1lbnQuYm9keSksTyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKX06UChZKX19LCJnZXRWaWV3cG9ydEFuZEVsZW1lbnRTaXplcyIpLE09e3k6InNjcm9sbFRvcCIseDoic2Nyb2xsTGVmdCJ9LFM9e3k6InBhZ2VZT2Zmc2V0Iix4OiJwYWdlWE9mZnNldCJ9LEU9cyhmdW5jdGlvbihZLFEpe3JldHVybiBOKFkpP1lbU1tRXV06WVtNW1FdXX0sImdldFNjcm9sbCIpLEE9cyhmdW5jdGlvbihZLFEsSil7aWYoTihZKSl7dmFyIFo9Sj09PSJ5IjtZLnNjcm9sbFRvKFo/WS5wYWdlWE9mZnNldDpRLFo/UTpZLnBhZ2VZT2Zmc2V0KX1lbHNlIFlbTVtKXV09UX0sInNldFNjcm9sbCIpLEY9cyhmdW5jdGlvbihZLFEpe3ZhciBKPVkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoSi53aWR0aHx8Si5oZWlnaHQpe3ZhciBaPXt0b3A6MCxsZWZ0OjB9LGdlPXZvaWQgMDtpZihOKFEpfHxfKFEpKWdlPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxaLnRvcD13aW5kb3dbUy55XSxaLmxlZnQ9d2luZG93W1MueF07ZWxzZXtnZT1RO3ZhciBhZT1nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtaLnRvcD1hZS50b3AqLTErZ2VbTS55XSxaLmxlZnQ9YWUubGVmdCotMStnZVtNLnhdfXJldHVybnt0b3A6Si50b3ArWi50b3AtZ2UuY2xpZW50VG9wLGxlZnQ6Si5sZWZ0K1oubGVmdC1nZS5jbGllbnRMZWZ0fX1yZXR1cm4gSn0sImdldE9mZnNldCIpLFc9KGZ1bmN0aW9uKCl7cmV0dXJuIGU/Im9ud2hlZWwiaW4gZG9jdW1lbnQ/IndoZWVsIjoibW91c2V3aGVlbCI6IndoZWVsIn0pKCksaj1zKGZ1bmN0aW9uKFkpe3JldHVybiBZPT09IndoZWVsIj9XOll9LCJldmVudE5hbWUiKSxHPXMoZnVuY3Rpb24oWSxRLEosWixnZSl7Si5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24oYWUpe1lbUV0oaihhZSksWixyP3twYXNzaXZlOmdlfTohMSl9KX0sImFwcGx5IiksaGU9cyhmdW5jdGlvbihZLFEsSixaKXtyZXR1cm4gRyhZLCJhZGRFdmVudExpc3RlbmVyIixRLEosWil9LCJhZGRFdmVudCIpLFI9cyhmdW5jdGlvbihZLFEsSixaKXtyZXR1cm4gRyhZLCJyZW1vdmVFdmVudExpc3RlbmVyIixRLEosWil9LCJyZW1vdmVFdmVudCIpLFU9L14oXCt8LSk9KFxkKyg/OlwuXGQrKT8pJC8sbWU9cyhmdW5jdGlvbihZLFEpe3ZhciBKPXt0b3A6MCxsZWZ0OjAscmVsYXRpdmU6ITF9O2lmKGQoWSwidG9wIil8fGQoWSwibGVmdCIpKUo9YSh7fSxKLFkpO2Vsc2UgaWYobihZKSlpZihZLmxlbmd0aD4xKUoudG9wPVlbMF0sSi5sZWZ0PVlbMV07ZWxzZSBpZihZLmxlbmd0aD09PTEpSi50b3A9UT9ZWzBdOjAsSi5sZWZ0PVE/MDpZWzBdO2Vsc2UgcmV0dXJuIG51bGw7ZWxzZSBpZihsKFkpKVE/Si50b3A9WTpKLmxlZnQ9WTtlbHNlIGlmKGkoWSkpe3ZhciBaPVkudHJpbSgpLm1hdGNoKFUpO2lmKCFaKXJldHVybiBudWxsO3ZhciBnZT1aWzFdLGFlPXBhcnNlSW50KFpbMl0sMTApO2dlPT09IisiPyhKLnRvcD1RP2FlOjAsSi5sZWZ0PVE/MDphZSk6KEoudG9wPVE/LWFlOjAsSi5sZWZ0PVE/MDotYWUpLEoucmVsYXRpdmU9ITB9ZWxzZSByZXR1cm4gbnVsbDtyZXR1cm4gSn0sInBhcnNlQ29vcmRpbmF0ZSIpLEk9e3RyaWdnZXI6IltkYXRhLXNjcm9sbF0iLGhlYWRlcjoiW2RhdGEtc2Nyb2xsLWhlYWRlcl0iLGR1cmF0aW9uOjFlMyxlYXNpbmc6ImVhc2VPdXRRdWludCIsb2Zmc2V0OjAsdmVydGljYWw6ITAsaG9yaXpvbnRhbDohMSxjYW5jZWxsYWJsZTohMCx1cGRhdGVVUkw6ITEscHJldmVudERlZmF1bHQ6ITAsc3RvcFByb3BhZ2F0aW9uOiEwLGJlZm9yZTpudWxsLGFmdGVyOm51bGwsY2FuY2VsOm51bGwsY29tcGxldGU6bnVsbCxzdGVwOm51bGx9LHE9ImNsaWNrIixjZT0id2hlZWwgdG91Y2hzdGFydCB0b3VjaG1vdmUiLHVlPShmdW5jdGlvbigpe2Z1bmN0aW9uIFkoUSxKKXt2YXIgWj10aGlzO3RoaXMuJGVsPW51bGwsdGhpcy5jdHg9eyR0cmlnZ2VyOm51bGwsb3B0czpudWxsLHByb2dyZXNzOiExLHBvczpudWxsLHN0YXJ0UG9zOm51bGwsZWFzaW5nOm51bGwsc3RhcnQ6MCxpZDowLGNhbmNlbDohMSxoYXNoOm51bGx9LHRoaXMubG9vcD1mdW5jdGlvbihhZSl7dmFyIHJlPVoseWU9cmUuJGVsLFY9cmUuY3R4O2lmKFYuc3RhcnR8fChWLnN0YXJ0PWFlKSwhVi5wcm9ncmVzc3x8IXllKXtaLnN0b3AoKTtyZXR1cm59dmFyIEg9Vi5vcHRzLG9lPVYucG9zLHNlPVYuc3RhcnQsdGU9Vi5zdGFydFBvcyx6ZT1WLmVhc2luZyxPZT1ILmR1cmF0aW9uLHFlPXt0b3A6InkiLGxlZnQ6IngifSxkdD1hZS1zZSwkZT1NYXRoLm1pbigxLE1hdGgubWF4KGR0L09lLDApKTtPYmplY3Qua2V5cyhvZSkuZm9yRWFjaChmdW5jdGlvbihDZSl7dmFyIE1lPW9lW0NlXSxkZT10ZVtDZV0sdmU9TWUtZGU7aWYodmUhPT0wKXt2YXIgQWU9emUoJGUsT2UqJGUsMCwxLE9lKTtBKHllLE1hdGgucm91bmQoZGUrdmUqQWUpLHFlW0NlXSl9fSksZHQ8PU9lPyhaLmhvb2soSCwic3RlcCIsJGUpLFYuaWQ9WS5yYWYoWi5sb29wKSk6Wi5zdG9wKCEwKX0sdGhpcy5oYW5kbGVDbGljaz1mdW5jdGlvbihhZSl7Zm9yKHZhciByZT1aLm9wdHMseWU9YWUudGFyZ2V0O3llJiZ5ZSE9PWRvY3VtZW50O3llPXllLnBhcmVudE5vZGUpaWYoeih5ZSxyZS50cmlnZ2VyKSl7dmFyIFY9SlNPTi5wYXJzZSh5ZS5nZXRBdHRyaWJ1dGUoImRhdGEtc2Nyb2xsLW9wdGlvbnMiKXx8Int9IiksSD15ZS5nZXRBdHRyaWJ1dGUoImRhdGEtc2Nyb2xsIiksb2U9SHx8eWUuZ2V0QXR0cmlidXRlKCJocmVmIiksc2U9YSh7fSxyZSxWKSx0ZT1zZS5wcmV2ZW50RGVmYXVsdCx6ZT1zZS5zdG9wUHJvcGFnYXRpb24sT2U9c2UudmVydGljYWwscWU9c2UuaG9yaXpvbnRhbDt0ZSYmYWUucHJldmVudERlZmF1bHQoKSx6ZSYmYWUuc3RvcFByb3BhZ2F0aW9uKCksWi5jdHguJHRyaWdnZXI9eWUscWUmJk9lP1oudG8ob2Usc2UpOk9lP1oudG9Ub3Aob2Usc2UpOnFlJiZaLnRvTGVmdChvZSxzZSk7YnJlYWt9fSx0aGlzLmhhbmRsZVN0b3A9ZnVuY3Rpb24oYWUpe3ZhciByZT1aLmN0eCx5ZT1yZS5vcHRzO3llJiZ5ZS5jYW5jZWxsYWJsZT8ocmUuY2FuY2VsPSEwLFouc3RvcCgpKTphZS5wcmV2ZW50RGVmYXVsdCgpfSx0aGlzLm9wdHM9YSh7fSxJLFF8fHt9KTt2YXIgZ2U9bnVsbDtlJiYodHlwZW9mIEo9PSJzdHJpbmciP2dlPWsoSik6SiE9bnVsbD9nZT1KOmdlPXdpbmRvdyksdGhpcy4kZWw9Z2UsZ2UmJnRoaXMuYmluZCghMCwhMSl9cmV0dXJuIHMoWSwiU3dlZXRTY3JvbGwiKSxZLmNyZWF0ZT1mdW5jdGlvbihRLEope3JldHVybiBuZXcgWShRLEopfSxZLnByb3RvdHlwZS50bz1mdW5jdGlvbihRLEope2lmKGUpe3ZhciBaPXRoaXMsZ2U9Wi4kZWwsYWU9Wi5jdHgscmU9Wi5vcHRzLHllPWFlLiR0cmlnZ2VyLFY9YSh7fSxyZSxKfHx7fSksSD1WLm9mZnNldCxvZT1WLnZlcnRpY2FsLHNlPVYuaG9yaXpvbnRhbCx0ZT1DKFYuaGVhZGVyKT9WLmhlYWRlcjprKFYuaGVhZGVyKSx6ZT0vXiMvLE9lPWkoUSkmJnplLnRlc3QoUSk/UTpudWxsO2lmKGFlLm9wdHM9VixhZS5jYW5jZWw9ITEsYWUuaGFzaD1PZSx0aGlzLnN0b3AoKSwhIWdlKXt2YXIgcWU9bWUoSCxvZSksZHQ9bWUoUSxvZSksJGU9e3RvcDowLGxlZnQ6MH07aWYoZHQpaWYoZHQucmVsYXRpdmUpe3ZhciBDZT1FKGdlLG9lPyJ5IjoieCIpOyRlLnRvcD1vZT9DZStkdC50b3A6ZHQudG9wLCRlLmxlZnQ9b2U/ZHQubGVmdDpDZStkdC5sZWZ0fWVsc2UgJGU9ZHQ7ZWxzZSBpZihpKFEpJiZRIT09IiMiKXt2YXIgTWU9ayhRKTtpZighTWUpcmV0dXJuOyRlPUYoTWUsZ2UpfXFlJiYoJGUudG9wKz1xZS50b3AsJGUubGVmdCs9cWUubGVmdCksdGUmJigkZS50b3A9TWF0aC5tYXgoMCwkZS50b3AtUCh0ZSkuaGVpZ2h0KSk7dmFyIGRlPUIoZ2UpLHZlPWRlLnZpZXdwb3J0LEFlPWRlLnNpemU7aWYoJGUudG9wPW9lP01hdGgubWF4KDAsTWF0aC5taW4oQWUuaGVpZ2h0LXZlLmhlaWdodCwkZS50b3ApKTpFKGdlLCJ5IiksJGUubGVmdD1zZT9NYXRoLm1heCgwLE1hdGgubWluKEFlLndpZHRoLXZlLndpZHRoLCRlLmxlZnQpKTpFKGdlLCJ4IiksdGhpcy5ob29rKFYsImJlZm9yZSIsJGUseWUpPT09ITEpe2FlLm9wdHM9bnVsbDtyZXR1cm59YWUucG9zPSRlLHRoaXMuc3RhcnQoViksdGhpcy5iaW5kKCExLCEwKX19fSxZLnByb3RvdHlwZS50b1RvcD1mdW5jdGlvbihRLEope3RoaXMudG8oUSxhKHt9LEp8fHt9LHt2ZXJ0aWNhbDohMCxob3Jpem9udGFsOiExfSkpfSxZLnByb3RvdHlwZS50b0xlZnQ9ZnVuY3Rpb24oUSxKKXt0aGlzLnRvKFEsYSh7fSxKfHx7fSx7dmVydGljYWw6ITEsaG9yaXpvbnRhbDohMH0pKX0sWS5wcm90b3R5cGUudG9FbGVtZW50PWZ1bmN0aW9uKFEsSil7dmFyIFo9dGhpcy4kZWw7IWV8fCFafHx0aGlzLnRvKEYoUSxaKSxKfHx7fSl9LFkucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oUSl7UT09PXZvaWQgMCYmKFE9ITEpO3ZhciBKPXRoaXMsWj1KLiRlbCxnZT1KLmN0eCxhZT1nZS5wb3M7IVp8fCFnZS5wcm9ncmVzc3x8KFkuY2FmKGdlLmlkKSxnZS5wcm9ncmVzcz0hMSxnZS5zdGFydD0wLGdlLmlkPTAsUSYmYWUmJihBKFosYWUubGVmdCwieCIpLEEoWixhZS50b3AsInkiKSksdGhpcy5jb21wbGV0ZSgpKX0sWS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKFEpe2lmKHRoaXMuJGVsKXt2YXIgSj1hKHt9LHRoaXMub3B0cyxRKTt0aGlzLnN0b3AoKSx0aGlzLnVuYmluZCghMCwhMCksdGhpcy5vcHRzPUosdGhpcy5iaW5kKCEwLCExKX19LFkucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLiRlbCYmKHRoaXMuc3RvcCgpLHRoaXMudW5iaW5kKCEwLCEwKSx0aGlzLiRlbD1udWxsKX0sWS5wcm90b3R5cGUub25CZWZvcmU9ZnVuY3Rpb24oUSxKKXtyZXR1cm4hMH0sWS5wcm90b3R5cGUub25TdGVwPWZ1bmN0aW9uKFEpe30sWS5wcm90b3R5cGUub25BZnRlcj1mdW5jdGlvbihRLEope30sWS5wcm90b3R5cGUub25DYW5jZWw9ZnVuY3Rpb24oKXt9LFkucHJvdG90eXBlLm9uQ29tcGxldGU9ZnVuY3Rpb24oUSl7fSxZLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbihRKXt2YXIgSj10aGlzLmN0eDtKLm9wdHM9USxKLnByb2dyZXNzPSEwLEouZWFzaW5nPW8oUS5lYXNpbmcpP1EuZWFzaW5nOmdbUS5lYXNpbmddO3ZhciBaPXRoaXMuJGVsLGdlPXt0b3A6RShaLCJ5IiksbGVmdDpFKFosIngiKX07Si5zdGFydFBvcz1nZSxKLmlkPVkucmFmKHRoaXMubG9vcCl9LFkucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIFE9dGhpcyxKPVEuJGVsLFo9US5jdHgsZ2U9Wi5oYXNoLGFlPVouY2FuY2VsLHJlPVoub3B0cyx5ZT1aLnBvcyxWPVouJHRyaWdnZXI7aWYoISghSnx8IXJlKSl7aWYoZ2UhPW51bGwmJmdlIT09d2luZG93LmxvY2F0aW9uLmhhc2gpe3ZhciBIPXJlLnVwZGF0ZVVSTDtlJiZ0JiZIIT09ITEmJndpbmRvdy5oaXN0b3J5W0g9PT0icmVwbGFjZSI/InJlcGxhY2VTdGF0ZSI6InB1c2hTdGF0ZSJdKG51bGwsIiIsZ2UpfXRoaXMudW5iaW5kKCExLCEwKSxaLm9wdHM9bnVsbCxaLiR0cmlnZ2VyPW51bGwsYWU/dGhpcy5ob29rKHJlLCJjYW5jZWwiKTp0aGlzLmhvb2socmUsImFmdGVyIix5ZSxWKSx0aGlzLmhvb2socmUsImNvbXBsZXRlIixhZSl9fSxZLnByb3RvdHlwZS5ob29rPWZ1bmN0aW9uKFEsSil7Zm9yKHZhciBaPVtdLGdlPTI7Z2U8YXJndW1lbnRzLmxlbmd0aDtnZSsrKVpbZ2UtMl09YXJndW1lbnRzW2dlXTt2YXIgYWUscmU9UVtKXSx5ZSxWO3JldHVybiBvKHJlKSYmKHllPXJlLmFwcGx5KHRoaXMsWi5jb25jYXQoW3RoaXNdKSkpLFY9KGFlPXRoaXMpWyJvbiIrKEpbMF0udG9VcHBlckNhc2UoKStKLnNsaWNlKDEpKV0uYXBwbHkoYWUsWikseWUhPT12b2lkIDA/eWU6Vn0sWS5wcm90b3R5cGUuYmluZD1mdW5jdGlvbihRLEope3ZhciBaPXRoaXMsZ2U9Wi4kZWwsYWU9Wi5jdHgub3B0cztnZSYmKFEmJmhlKGdlLHEsdGhpcy5oYW5kbGVDbGljaywhMSksSiYmaGUoZ2UsY2UsdGhpcy5oYW5kbGVTdG9wLGFlP2FlLmNhbmNlbGxhYmxlOiEwKSl9LFkucHJvdG90eXBlLnVuYmluZD1mdW5jdGlvbihRLEope3ZhciBaPXRoaXMsZ2U9Wi4kZWwsYWU9Wi5jdHgub3B0cztnZSYmKFEmJlIoZ2UscSx0aGlzLmhhbmRsZUNsaWNrLCExKSxKJiZSKGdlLGNlLHRoaXMuaGFuZGxlU3RvcCxhZT9hZS5jYW5jZWxsYWJsZTohMCkpfSxZLnJhZj1jLFkuY2FmPXAsWX0pKCk7cmV0dXJuIHVlfSl9KTt2YXIgRTgsbkNhLEk4PWYoKCk9PnskNHQoKTtHOSgpO3QwKCk7T2goKTtWaHQoKTtiaSgpO1FodCgpO3AyKCk7bjh0KCk7UmgoKTtqZGUoKTttY2UoKTtESigpO2RYKCk7XzkoKTtMbGUoKTtYWigpO3BtdCgpO0U4PWtvKGZtdCgpLDEpLG5DYT17T2JqZWN0TWFwOl9sLFN0cmluZ21hcDpMOSxGYXN0TWFwOnczfX0pO3ZhciBrcj17fTtsdChrcix7Y29udGFpbmVyQ29udGV4dFN0eWxlczooKT0+ZENhLGNzc0ZvckNvbnN0cmFpbnQ6KCk9PmxDYSxjc3NGb3JDb25zdHJhaW50Q29udGFpbmVyOigpPT5jQ2EsY3NzRm9yQ29udGFpbmVyOigpPT55bXQsY3NzRm9yRGVza3RvcDooKT0+dUNhLGNzc0Zvck5vdGVib29rOigpPT5wQ2EsY3NzRm9yUGhhYmxldDooKT0+aENhLGNzc0ZvclBob25lOigpPT5tQ2EsY3NzRm9yVGFibGV0OigpPT5mQ2EsY3NzRm9yVmlld3BvcnQ6KCk9PnNkLGRlc2t0b3A6KCk9Pm1tdCxub3RlYm9vazooKT0+Z210LHBoYWJsZXQ6KCk9PnZtdCxwaG9uZTooKT0+eG10LHRhYmxldDooKT0+Ym10fSk7dmFyIG1tdCxnbXQsYm10LHZtdCx4bXQsaG10LHNkLHltdCxsQ2EsY0NhLGRDYSx1Q2EscENhLGZDYSxoQ2EsbUNhLG02ZT1mKCgpPT57TjgoKTtnbigpO21tdD0xNjAwLGdtdD0xMjQwLGJtdD0xMDI0LHZtdD02MDAseG10PTQwMCxobXQ9cyhhPT57bGV0IGU9W107cmV0dXJuIGEubWluV2lkdGgmJmUucHVzaChgKG1pbi13aWR0aDogJHthLm1pbldpZHRofXB4KWApLGEubWF4V2lkdGgmJmUucHVzaChgKG1heC13aWR0aDogJHthLm1heFdpZHRofXB4KWApLGUuam9pbigiIGFuZCAiKX0sImJ1aWxkQ29uZGl0aW9uIiksc2Q9cygoYSxlKT0+b2EoYAogICAgQGNvbnRhaW5lciB3Y2NUb29sc1ZpZXdwb3J0ICR7ZX0gewogICAgICAke2EuY3NzVGV4dH0KICAgIH0KICAgIEBtZWRpYSAke2V9IHsKICAgICAgJHthLmNzc1RleHR9CiAgICB9CiAgYCksImNzc0ZvclZpZXdwb3J0IikseW10PXMoKGEsZSx0KT0+b2EoYAogICAgQGNvbnRhaW5lciAke3R9ICR7ZX0gewogICAgICAke2EuY3NzVGV4dH0KICAgIH0KICBgKSwiY3NzRm9yQ29udGFpbmVyIiksbENhPXMoYT0+ZT0+c2QoZSxobXQoYSkpLCJjc3NGb3JDb25zdHJhaW50IiksY0NhPXMoKGEsZSk9PnQ9PnltdCh0LGhtdChhKSxlKSwiY3NzRm9yQ29uc3RyYWludENvbnRhaW5lciIpLGRDYT1zKGE9PlhgCiAgOmhvc3QgewogICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplOwogICAgY29udGFpbmVyLW5hbWU6ICR7b2EoYSl9OwogIH0KYCwiY29udGFpbmVyQ29udGV4dFN0eWxlcyIpLHVDYT1zKGE9PnNkKGEsYChtaW4td2lkdGg6ICR7bW10fXB4KWApLCJjc3NGb3JEZXNrdG9wIikscENhPXMoYT0+c2QoYSxgKG1heC13aWR0aDogJHtnbXR9cHgpYCksImNzc0Zvck5vdGVib29rIiksZkNhPXMoYT0+c2QoYSxgKG1heC13aWR0aDogJHtibXR9cHgpYCksImNzc0ZvclRhYmxldCIpLGhDYT1zKGE9PnNkKGEsYChtYXgtd2lkdGg6ICR7dm10fXB4KWApLCJjc3NGb3JQaGFibGV0IiksbUNhPXMoYT0+c2QoYSxgKG1heC13aWR0aDogJHt4bXR9cHgpYCksImNzc0ZvclBob25lIil9KTt2YXIgUEosd210PWYoKCk9PntJOCgpO1BKPWNsYXNze3N0YXRpY3tzKHRoaXMsIlNjcm9sbGVyIil9ZG9tdG9vbHNJbnN0YW5jZTtkaXNwb3NlZD0hMTtzY3JvbGxDYWxsYmFja3M9W107bGVuaXNJbnN0YW5jZT1udWxsO2xlbmlzU2Nyb2xsVW5zdWJzY3JpYmU9bnVsbDtuYXRpdmVTY3JvbGxMaXN0ZW5lckF0dGFjaGVkPSExO2hhbmRsZU5hdGl2ZVNjcm9sbD1zKGU9Pnt0aGlzLmV4ZWN1dGVTY3JvbGxDYWxsYmFja3MoKX0sImhhbmRsZU5hdGl2ZVNjcm9sbCIpO2hhbmRsZUxlbmlzU2Nyb2xsPXMoZT0+e3RoaXMuZXhlY3V0ZVNjcm9sbENhbGxiYWNrcygpfSwiaGFuZGxlTGVuaXNTY3JvbGwiKTtjb25zdHJ1Y3RvcihlKXt0aGlzLmRvbXRvb2xzSW5zdGFuY2U9ZSx0aGlzLmF0dGFjaE5hdGl2ZVNjcm9sbExpc3RlbmVyKCl9c3dlZXRTY3JvbGxlcj1uZXcgRTguZGVmYXVsdCh7fSk7YXN5bmMgdG9FbGVtZW50KGUsdCl7dGhpcy5zd2VldFNjcm9sbGVyLnRvRWxlbWVudChlLHQpLHQ/LmR1cmF0aW9uJiZhd2FpdCBVdC5kZWxheUZvcih0LmR1cmF0aW9uKX1hc3luYyBkZXRlY3ROYXRpdmVTbW9vdGhTY3JvbGwoKXtsZXQgZT1nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuc2Nyb2xsQmVoYXZpb3IsdD1kb2N1bWVudC5ib2R5P2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuc2Nyb2xsQmVoYXZpb3I6ImF1dG8iO2lmKGU9PT0ic21vb3RoInx8dD09PSJzbW9vdGgiKXJldHVybiEwO2xldCByPWN0LmRlZmVyKCksaT0xMixvPTMsbj0uNzUsbD0xMjAwLGQ9W10sYz1zKHY9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLHApLHdpbmRvdy5jbGVhclRpbWVvdXQobSksci5yZXNvbHZlKHYpfSwiZmluYWxpemUiKTtmdW5jdGlvbiBwKHYpe2QucHVzaCh2LmRlbHRhWSksZC5sZW5ndGg+PWkmJnUoKX1zKHAsIm9uV2hlZWwiKTtmdW5jdGlvbiB1KCl7aWYoZC5sZW5ndGg8Mil7YyghMSk7cmV0dXJufWxldCB2PWQubGVuZ3RoLTEseD0wO2ZvcihsZXQgZz0wO2c8djtnKyspTWF0aC5hYnMoZFtnKzFdLWRbZ10pPD1vJiZ4Kys7bGV0IGI9eC92O2MoYj49bil9cyh1LCJhbmFseXplRXZlbnRzIik7bGV0IG09d2luZG93LnNldFRpbWVvdXQoKCk9Pnt1KCl9LGwpO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLHAse3Bhc3NpdmU6ITB9KSxyLnByb21pc2V9YXN5bmMgZW5hYmxlTGVuaXNTY3JvbGwoZSl7aWYodGhpcy5kaXNwb3NlZClyZXR1cm47dGhpcy5sZW5pc0luc3RhbmNlJiZ0aGlzLmRpc2FibGVMZW5pc1Njcm9sbCgpO2xldCB0PW5ldyBnYih7YXV0b1JhZjohMH0pO2lmKGU/LmRpc2FibGVPbk5hdGl2ZVNtb290aFNjcm9sbCYmYXdhaXQgdGhpcy5kZXRlY3ROYXRpdmVTbW9vdGhTY3JvbGwoKSl7dC5kZXN0cm95KCk7cmV0dXJufXRoaXMubGVuaXNJbnN0YW5jZT10LHRoaXMuZGV0YWNoTmF0aXZlU2Nyb2xsTGlzdGVuZXIoKSx0aGlzLmF0dGFjaExlbmlzU2Nyb2xsTGlzdGVuZXIoKX1kaXNhYmxlTGVuaXNTY3JvbGwoKXt0aGlzLmxlbmlzSW5zdGFuY2UmJih0aGlzLmRldGFjaExlbmlzU2Nyb2xsTGlzdGVuZXIoKSx0aGlzLmxlbmlzSW5zdGFuY2UuZGVzdHJveSgpLHRoaXMubGVuaXNJbnN0YW5jZT1udWxsLHRoaXMuYXR0YWNoTmF0aXZlU2Nyb2xsTGlzdGVuZXIoKSl9b25TY3JvbGwoZSl7cmV0dXJuIHRoaXMuc2Nyb2xsQ2FsbGJhY2tzLnB1c2goZSksKCk9Pnt0aGlzLnNjcm9sbENhbGxiYWNrcz10aGlzLnNjcm9sbENhbGxiYWNrcy5maWx0ZXIodD0+dCE9PWUpfX1leGVjdXRlU2Nyb2xsQ2FsbGJhY2tzKCl7dGhpcy5zY3JvbGxDYWxsYmFja3MuZm9yRWFjaChlPT57dHJ5e2UoKX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKCJFcnJvciBpbiBzY3JvbGwgY2FsbGJhY2s6Iix0KX19KX1hdHRhY2hOYXRpdmVTY3JvbGxMaXN0ZW5lcigpe3RoaXMubmF0aXZlU2Nyb2xsTGlzdGVuZXJBdHRhY2hlZHx8dGhpcy5kaXNwb3NlZHx8KHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuaGFuZGxlTmF0aXZlU2Nyb2xsKSx0aGlzLm5hdGl2ZVNjcm9sbExpc3RlbmVyQXR0YWNoZWQ9ITApfWRldGFjaE5hdGl2ZVNjcm9sbExpc3RlbmVyKCl7dGhpcy5uYXRpdmVTY3JvbGxMaXN0ZW5lckF0dGFjaGVkJiYod2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5oYW5kbGVOYXRpdmVTY3JvbGwpLHRoaXMubmF0aXZlU2Nyb2xsTGlzdGVuZXJBdHRhY2hlZD0hMSl9YXR0YWNoTGVuaXNTY3JvbGxMaXN0ZW5lcigpe3RoaXMubGVuaXNJbnN0YW5jZSYmIXRoaXMubGVuaXNTY3JvbGxVbnN1YnNjcmliZSYmKHRoaXMubGVuaXNTY3JvbGxVbnN1YnNjcmliZT10aGlzLmxlbmlzSW5zdGFuY2Uub24oInNjcm9sbCIsdGhpcy5oYW5kbGVMZW5pc1Njcm9sbCkpfWRldGFjaExlbmlzU2Nyb2xsTGlzdGVuZXIoKXt0aGlzLmxlbmlzU2Nyb2xsVW5zdWJzY3JpYmUmJih0aGlzLmxlbmlzU2Nyb2xsVW5zdWJzY3JpYmUoKSx0aGlzLmxlbmlzU2Nyb2xsVW5zdWJzY3JpYmU9bnVsbCl9ZGlzcG9zZSgpe3RoaXMuZGlzcG9zZWR8fCh0aGlzLmRpc3Bvc2VkPSEwLHRoaXMuZGV0YWNoTGVuaXNTY3JvbGxMaXN0ZW5lcigpLHRoaXMubGVuaXNJbnN0YW5jZT8uZGVzdHJveSgpLHRoaXMubGVuaXNJbnN0YW5jZT1udWxsLHRoaXMuZGV0YWNoTmF0aXZlU2Nyb2xsTGlzdGVuZXIoKSx0aGlzLnNjcm9sbENhbGxiYWNrcz1bXSx0aGlzLnN3ZWV0U2Nyb2xsZXIuZGVzdHJveSgpKX19fSk7dmFyIEVKLE1tdD1mKCgpPT57TjgoKTtJOCgpO0VKPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRoZW1lTWFuYWdlciIpfWRvbXRvb2xzUmVmO2dvQnJpZ2h0Qm9vbGVhbj0hMTtwcmVmZXJyZWRDb2xvclNjaGVtZU1lZGlhTWF0Y2g9d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogbGlnaHQpIik7dGhlbWVPYnNlcnZhYmxlPW5ldyBfYS5yeGpzLlJlcGxheVN1YmplY3QoMSk7YXV0b21hdGljR2xvYmFsVGhlbWVDaGFuZ2VTdWJzY3JpcHRpb249bnVsbDtwcmVmZXJyZWRDb2xvclNjaGVtZUNoYW5nZUhhbmRsZXI9cyhlPT57dGhpcy5nb0JyaWdodEJvb2xlYW49ZS5tYXRjaGVzLHRoaXMudXBkYXRlQWxsQ29ubmVjdGVkRWxlbWVudHMoKX0sInByZWZlcnJlZENvbG9yU2NoZW1lQ2hhbmdlSGFuZGxlciIpO2NvbnN0cnVjdG9yKGUpe3RoaXMuZG9tdG9vbHNSZWY9ZSx0aGlzLmdvQnJpZ2h0Qm9vbGVhbj10aGlzLnByZWZlcnJlZENvbG9yU2NoZW1lTWVkaWFNYXRjaC5tYXRjaGVzLHRoaXMucHJlZmVycmVkQ29sb3JTY2hlbWVNZWRpYU1hdGNoLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5wcmVmZXJyZWRDb2xvclNjaGVtZUNoYW5nZUhhbmRsZXIpLHRoaXMudXBkYXRlQWxsQ29ubmVjdGVkRWxlbWVudHMoKX1hc3luYyBlbmFibGVBdXRvbWF0aWNHbG9iYWxUaGVtZUNoYW5nZSgpe2F3YWl0IHRoaXMuZG9tdG9vbHNSZWYuZG9tUmVhZHkucHJvbWlzZSx0aGlzLmF1dG9tYXRpY0dsb2JhbFRoZW1lQ2hhbmdlU3Vic2NyaXB0aW9ufHwodGhpcy5hdXRvbWF0aWNHbG9iYWxUaGVtZUNoYW5nZVN1YnNjcmlwdGlvbj10aGlzLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoe25leHQ6cyhlPT57ZG9jdW1lbnQuYm9keS5zdHlsZS5iYWNrZ3JvdW5kPWU/IiNmZmYiOiIjMDAwIn0sIm5leHQiKX0pKX11cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpe3RoaXMuZG9tdG9vbHNSZWYuZGlzcG9zZWR8fHRoaXMudGhlbWVPYnNlcnZhYmxlLm5leHQodGhpcy5nb0JyaWdodEJvb2xlYW4pfWdvQnJpZ2h0KCl7dGhpcy5nb0JyaWdodEJvb2xlYW49ITAsdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfWdvRGFyaygpe3RoaXMuZ29CcmlnaHRCb29sZWFuPSExLHRoaXMudXBkYXRlQWxsQ29ubmVjdGVkRWxlbWVudHMoKX10b2dnbGVEYXJrQnJpZ2h0KCl7dGhpcy5nb0JyaWdodEJvb2xlYW49IXRoaXMuZ29CcmlnaHRCb29sZWFuLHRoaXMudXBkYXRlQWxsQ29ubmVjdGVkRWxlbWVudHMoKX1kaXNwb3NlKCl7dGhpcy5wcmVmZXJyZWRDb2xvclNjaGVtZU1lZGlhTWF0Y2gucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLnByZWZlcnJlZENvbG9yU2NoZW1lQ2hhbmdlSGFuZGxlciksdGhpcy5hdXRvbWF0aWNHbG9iYWxUaGVtZUNoYW5nZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKSx0aGlzLmF1dG9tYXRpY0dsb2JhbFRoZW1lQ2hhbmdlU3Vic2NyaXB0aW9uPW51bGwsdGhpcy50aGVtZU9ic2VydmFibGUuY29tcGxldGUoKX19fSk7dmFyIE5lLElKLGttdD1mKCgpPT57STgoKTsoZnVuY3Rpb24oYSl7YVthLkJhY2tzcGFjZT04XT0iQmFja3NwYWNlIixhW2EuVGFiPTldPSJUYWIiLGFbYS5FbnRlcj0xM109IkVudGVyIixhW2EuU2hpZnQ9MTZdPSJTaGlmdCIsYVthLkN0cmw9MTddPSJDdHJsIixhW2EuQWx0PTE4XT0iQWx0IixhW2EuUGF1c2VCcmVhaz0xOV09IlBhdXNlQnJlYWsiLGFbYS5DYXBzTG9jaz0yMF09IkNhcHNMb2NrIixhW2EuRXNjYXBlPTI3XT0iRXNjYXBlIixhW2EuU3BhY2U9MzJdPSJTcGFjZSIsYVthLlBhZ2VVcD0zM109IlBhZ2VVcCIsYVthLlBhZ2VEb3duPTM0XT0iUGFnZURvd24iLGFbYS5FbmQ9MzVdPSJFbmQiLGFbYS5Ib21lPTM2XT0iSG9tZSIsYVthLkxlZnRBcnJvdz0zN109IkxlZnRBcnJvdyIsYVthLlVwQXJyb3c9MzhdPSJVcEFycm93IixhW2EuUmlnaHRBcnJvdz0zOV09IlJpZ2h0QXJyb3ciLGFbYS5Eb3duQXJyb3c9NDBdPSJEb3duQXJyb3ciLGFbYS5JbnNlcnQ9NDVdPSJJbnNlcnQiLGFbYS5EZWxldGU9NDZdPSJEZWxldGUiLGFbYS5aZXJvPTQ4XT0iWmVybyIsYVthLkNsb3NlZFBhcmVuPTQ4XT0iQ2xvc2VkUGFyZW4iLGFbYS5PbmU9NDldPSJPbmUiLGFbYS5FeGNsYW1hdGlvbk1hcms9NDldPSJFeGNsYW1hdGlvbk1hcmsiLGFbYS5Ud289NTBdPSJUd28iLGFbYS5BdFNpZ249NTBdPSJBdFNpZ24iLGFbYS5UaHJlZT01MV09IlRocmVlIixhW2EuUG91bmRTaWduPTUxXT0iUG91bmRTaWduIixhW2EuSGFzaD01MV09Ikhhc2giLGFbYS5Gb3VyPTUyXT0iRm91ciIsYVthLkRvbGxhclNpZ249NTJdPSJEb2xsYXJTaWduIixhW2EuRml2ZT01M109IkZpdmUiLGFbYS5QZXJjZW50U2lnbj01M109IlBlcmNlbnRTaWduIixhW2EuU2l4PTU0XT0iU2l4IixhW2EuQ2FyZXQ9NTRdPSJDYXJldCIsYVthLkhhdD01NF09IkhhdCIsYVthLlNldmVuPTU1XT0iU2V2ZW4iLGFbYS5BbXBlcnNhbmQ9NTVdPSJBbXBlcnNhbmQiLGFbYS5FaWdodD01Nl09IkVpZ2h0IixhW2EuU3Rhcj01Nl09IlN0YXIiLGFbYS5Bc3RlcmlrPTU2XT0iQXN0ZXJpayIsYVthLk5pbmU9NTddPSJOaW5lIixhW2EuT3BlblBhcmVuPTU3XT0iT3BlblBhcmVuIixhW2EuQT02NV09IkEiLGFbYS5CPTY2XT0iQiIsYVthLkM9NjddPSJDIixhW2EuRD02OF09IkQiLGFbYS5FPTY5XT0iRSIsYVthLkY9NzBdPSJGIixhW2EuRz03MV09IkciLGFbYS5IPTcyXT0iSCIsYVthLkk9NzNdPSJJIixhW2EuSj03NF09IkoiLGFbYS5LPTc1XT0iSyIsYVthLkw9NzZdPSJMIixhW2EuTT03N109Ik0iLGFbYS5OPTc4XT0iTiIsYVthLk89NzldPSJPIixhW2EuUD04MF09IlAiLGFbYS5RPTgxXT0iUSIsYVthLlI9ODJdPSJSIixhW2EuUz04M109IlMiLGFbYS5UPTg0XT0iVCIsYVthLlU9ODVdPSJVIixhW2EuVj04Nl09IlYiLGFbYS5XPTg3XT0iVyIsYVthLlg9ODhdPSJYIixhW2EuWT04OV09IlkiLGFbYS5aPTkwXT0iWiIsYVthLkxlZnRXaW5kb3dLZXk9OTFdPSJMZWZ0V2luZG93S2V5IixhW2EuUmlnaHRXaW5kb3dLZXk9OTJdPSJSaWdodFdpbmRvd0tleSIsYVthLlNlbGVjdEtleT05M109IlNlbGVjdEtleSIsYVthLk51bXBhZDA9OTZdPSJOdW1wYWQwIixhW2EuTnVtcGFkMT05N109Ik51bXBhZDEiLGFbYS5OdW1wYWQyPTk4XT0iTnVtcGFkMiIsYVthLk51bXBhZDM9OTldPSJOdW1wYWQzIixhW2EuTnVtcGFkND0xMDBdPSJOdW1wYWQ0IixhW2EuTnVtcGFkNT0xMDFdPSJOdW1wYWQ1IixhW2EuTnVtcGFkNj0xMDJdPSJOdW1wYWQ2IixhW2EuTnVtcGFkNz0xMDNdPSJOdW1wYWQ3IixhW2EuTnVtcGFkOD0xMDRdPSJOdW1wYWQ4IixhW2EuTnVtcGFkOT0xMDVdPSJOdW1wYWQ5IixhW2EuTXVsdGlwbHk9MTA2XT0iTXVsdGlwbHkiLGFbYS5BZGQ9MTA3XT0iQWRkIixhW2EuU3VidHJhY3Q9MTA5XT0iU3VidHJhY3QiLGFbYS5EZWNpbWFsUG9pbnQ9MTEwXT0iRGVjaW1hbFBvaW50IixhW2EuRGl2aWRlPTExMV09IkRpdmlkZSIsYVthLkYxPTExMl09IkYxIixhW2EuRjI9MTEzXT0iRjIiLGFbYS5GMz0xMTRdPSJGMyIsYVthLkY0PTExNV09IkY0IixhW2EuRjU9MTE2XT0iRjUiLGFbYS5GNj0xMTddPSJGNiIsYVthLkY3PTExOF09IkY3IixhW2EuRjg9MTE5XT0iRjgiLGFbYS5GOT0xMjBdPSJGOSIsYVthLkYxMD0xMjFdPSJGMTAiLGFbYS5GMTE9MTIyXT0iRjExIixhW2EuRjEyPTEyM109IkYxMiIsYVthLk51bUxvY2s9MTQ0XT0iTnVtTG9jayIsYVthLlNjcm9sbExvY2s9MTQ1XT0iU2Nyb2xsTG9jayIsYVthLlNlbWlDb2xvbj0xODZdPSJTZW1pQ29sb24iLGFbYS5FcXVhbHM9MTg3XT0iRXF1YWxzIixhW2EuQ29tbWE9MTg4XT0iQ29tbWEiLGFbYS5EYXNoPTE4OV09IkRhc2giLGFbYS5QZXJpb2Q9MTkwXT0iUGVyaW9kIixhW2EuVW5kZXJTY29yZT0xODldPSJVbmRlclNjb3JlIixhW2EuUGx1c1NpZ249MTg3XT0iUGx1c1NpZ24iLGFbYS5Gb3J3YXJkU2xhc2g9MTkxXT0iRm9yd2FyZFNsYXNoIixhW2EuVGlsZGU9MTkyXT0iVGlsZGUiLGFbYS5HcmF2ZUFjY2VudD0xOTJdPSJHcmF2ZUFjY2VudCIsYVthLk9wZW5CcmFja2V0PTIxOV09Ik9wZW5CcmFja2V0IixhW2EuQ2xvc2VkQnJhY2tldD0yMjFdPSJDbG9zZWRCcmFja2V0IixhW2EuUXVvdGU9MjIyXT0iUXVvdGUifSkoTmV8fChOZT17fSkpO0lKPWNsYXNze3N0YXRpY3tzKHRoaXMsIktleWJvYXJkIil9ZG9tTm9kZTttYXBDb21ib3NUb0hhbmRsZXJzPW5ldyBNYXA7cHJlc3NlZEtleXM9bmV3IFNldDtsaXN0ZW5pbmc9ITE7Y29uc3RydWN0b3IoZSl7dGhpcy5kb21Ob2RlPWUsdGhpcy5zdGFydExpc3RlbmluZygpfWtleUVudW09TmU7b24oZSl7bGV0IHQ9bmV3IF9hLnJ4anMuU3ViamVjdDtyZXR1cm4gdGhpcy5yZWdpc3RlcktleXMoZSx0KSx0fXRyaWdnZXJLZXlQcmVzcyhlKXtsZXQgdD10aGlzLm5vcm1hbGl6ZUtleXMoZSk7Zm9yKGxldCByIG9mIHQpdGhpcy5wcmVzc2VkS2V5cy5hZGQocik7dGhpcy5jaGVja01hdGNoaW5nS2V5Ym9hcmRTdWJqZWN0cyh0aGlzLmNyZWF0ZUtleWJvYXJkRXZlbnQodCkpO2ZvcihsZXQgciBvZiB0KXRoaXMucHJlc3NlZEtleXMuZGVsZXRlKHIpfXN0YXJ0TGlzdGVuaW5nKCl7dGhpcy5saXN0ZW5pbmd8fCh0aGlzLmRvbU5vZGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5oYW5kbGVLZXlEb3duKSx0aGlzLmRvbU5vZGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuaGFuZGxlS2V5VXApLHRoaXMubGlzdGVuaW5nPSEwKX1zdG9wTGlzdGVuaW5nKCl7dGhpcy5saXN0ZW5pbmcmJih0aGlzLmRvbU5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5oYW5kbGVLZXlEb3duKSx0aGlzLmRvbU5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuaGFuZGxlS2V5VXApLHRoaXMubGlzdGVuaW5nPSExKX1jbGVhcigpe3RoaXMuc3RvcExpc3RlbmluZygpO2ZvcihsZXQgZSBvZiB0aGlzLm1hcENvbWJvc1RvSGFuZGxlcnMudmFsdWVzKCkpZm9yKGxldCB0IG9mIGUuc3ViamVjdHMpdC5jb21wbGV0ZSgpO3RoaXMubWFwQ29tYm9zVG9IYW5kbGVycy5jbGVhcigpLHRoaXMucHJlc3NlZEtleXMuY2xlYXIoKX1kaXNwb3NlKCl7dGhpcy5jbGVhcigpfWhhbmRsZUtleURvd249cyhlPT57bGV0IHQ9dGhpcy5yZXNvbHZlS2V5KGUpO3QhPT1udWxsJiYodGhpcy5wcmVzc2VkS2V5cy5hZGQodCksdGhpcy5jaGVja01hdGNoaW5nS2V5Ym9hcmRTdWJqZWN0cyhlKSl9LCJoYW5kbGVLZXlEb3duIik7Y2hlY2tNYXRjaGluZ0tleWJvYXJkU3ViamVjdHMoZSl7dGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLmZvckVhY2godD0+e2lmKHRoaXMuYXJlQWxsS2V5c1ByZXNzZWQodC5rZXlzKSlmb3IobGV0IHIgb2YgdC5zdWJqZWN0cylyLm5leHQoZSl9KX1oYW5kbGVLZXlVcD1zKGU9PntsZXQgdD10aGlzLnJlc29sdmVLZXkoZSk7dCE9PW51bGwmJnRoaXMucHJlc3NlZEtleXMuZGVsZXRlKHQpfSwiaGFuZGxlS2V5VXAiKTthcmVBbGxLZXlzUHJlc3NlZChlKXtsZXQgdD0hMDtyZXR1cm4gZS5mb3JFYWNoKHI9Pnt0aGlzLnByZXNzZWRLZXlzLmhhcyhyKXx8KHQ9ITEpfSksdH1yZWdpc3RlcktleXMoZSx0KXtsZXQgcj10aGlzLm5vcm1hbGl6ZUtleXMoZSksaT1yLmpvaW4oIisiKSxvPXRoaXMubWFwQ29tYm9zVG9IYW5kbGVycy5nZXQoaSk7aWYoIW8pe3RoaXMubWFwQ29tYm9zVG9IYW5kbGVycy5zZXQoaSx7a2V5czpyLHN1YmplY3RzOlt0XX0pO3JldHVybn1vLnN1YmplY3RzLnB1c2godCl9bm9ybWFsaXplS2V5cyhlKXtyZXR1cm5bLi4ubmV3IFNldChlKV0uc29ydCgodCxyKT0+dC1yKX1yZXNvbHZlS2V5KGUpe3JldHVybiB0aGlzLnJlc29sdmVLZXlGcm9tQ29kZShlLmNvZGUpPz90aGlzLnJlc29sdmVLZXlGcm9tS2V5KGUua2V5KT8/dGhpcy5yZXNvbHZlS2V5RnJvbUtleUNvZGUoZS5rZXlDb2RlKX1yZXNvbHZlS2V5RnJvbUNvZGUoZSl7aWYoIWUpcmV0dXJuIG51bGw7aWYoZS5zdGFydHNXaXRoKCJLZXkiKSYmZS5sZW5ndGg9PT00KXJldHVybiBOZVtlLnNsaWNlKDMpXT8/bnVsbDtpZihlLnN0YXJ0c1dpdGgoIkRpZ2l0IikmJmUubGVuZ3RoPT09NilyZXR1cm4gdGhpcy5yZXNvbHZlS2V5RnJvbUtleShlLnNsaWNlKDUpKTtzd2l0Y2goZSl7Y2FzZSJCYWNrc3BhY2UiOnJldHVybiBOZS5CYWNrc3BhY2U7Y2FzZSJUYWIiOnJldHVybiBOZS5UYWI7Y2FzZSJFbnRlciI6Y2FzZSJOdW1wYWRFbnRlciI6cmV0dXJuIE5lLkVudGVyO2Nhc2UiU2hpZnRMZWZ0IjpjYXNlIlNoaWZ0UmlnaHQiOnJldHVybiBOZS5TaGlmdDtjYXNlIkNvbnRyb2xMZWZ0IjpjYXNlIkNvbnRyb2xSaWdodCI6cmV0dXJuIE5lLkN0cmw7Y2FzZSJBbHRMZWZ0IjpjYXNlIkFsdFJpZ2h0IjpyZXR1cm4gTmUuQWx0O2Nhc2UiUGF1c2UiOnJldHVybiBOZS5QYXVzZUJyZWFrO2Nhc2UiQ2Fwc0xvY2siOnJldHVybiBOZS5DYXBzTG9jaztjYXNlIkVzY2FwZSI6cmV0dXJuIE5lLkVzY2FwZTtjYXNlIlNwYWNlIjpyZXR1cm4gTmUuU3BhY2U7Y2FzZSJQYWdlVXAiOnJldHVybiBOZS5QYWdlVXA7Y2FzZSJQYWdlRG93biI6cmV0dXJuIE5lLlBhZ2VEb3duO2Nhc2UiRW5kIjpyZXR1cm4gTmUuRW5kO2Nhc2UiSG9tZSI6cmV0dXJuIE5lLkhvbWU7Y2FzZSJBcnJvd0xlZnQiOnJldHVybiBOZS5MZWZ0QXJyb3c7Y2FzZSJBcnJvd1VwIjpyZXR1cm4gTmUuVXBBcnJvdztjYXNlIkFycm93UmlnaHQiOnJldHVybiBOZS5SaWdodEFycm93O2Nhc2UiQXJyb3dEb3duIjpyZXR1cm4gTmUuRG93bkFycm93O2Nhc2UiSW5zZXJ0IjpyZXR1cm4gTmUuSW5zZXJ0O2Nhc2UiRGVsZXRlIjpyZXR1cm4gTmUuRGVsZXRlO2Nhc2UiTWV0YUxlZnQiOnJldHVybiBOZS5MZWZ0V2luZG93S2V5O2Nhc2UiTWV0YVJpZ2h0IjpyZXR1cm4gTmUuUmlnaHRXaW5kb3dLZXk7Y2FzZSJDb250ZXh0TWVudSI6cmV0dXJuIE5lLlNlbGVjdEtleTtjYXNlIk51bXBhZDAiOnJldHVybiBOZS5OdW1wYWQwO2Nhc2UiTnVtcGFkMSI6cmV0dXJuIE5lLk51bXBhZDE7Y2FzZSJOdW1wYWQyIjpyZXR1cm4gTmUuTnVtcGFkMjtjYXNlIk51bXBhZDMiOnJldHVybiBOZS5OdW1wYWQzO2Nhc2UiTnVtcGFkNCI6cmV0dXJuIE5lLk51bXBhZDQ7Y2FzZSJOdW1wYWQ1IjpyZXR1cm4gTmUuTnVtcGFkNTtjYXNlIk51bXBhZDYiOnJldHVybiBOZS5OdW1wYWQ2O2Nhc2UiTnVtcGFkNyI6cmV0dXJuIE5lLk51bXBhZDc7Y2FzZSJOdW1wYWQ4IjpyZXR1cm4gTmUuTnVtcGFkODtjYXNlIk51bXBhZDkiOnJldHVybiBOZS5OdW1wYWQ5O2Nhc2UiTnVtcGFkTXVsdGlwbHkiOnJldHVybiBOZS5NdWx0aXBseTtjYXNlIk51bXBhZEFkZCI6cmV0dXJuIE5lLkFkZDtjYXNlIk51bXBhZFN1YnRyYWN0IjpyZXR1cm4gTmUuU3VidHJhY3Q7Y2FzZSJOdW1wYWREZWNpbWFsIjpyZXR1cm4gTmUuRGVjaW1hbFBvaW50O2Nhc2UiTnVtcGFkRGl2aWRlIjpyZXR1cm4gTmUuRGl2aWRlO2Nhc2UiRjEiOnJldHVybiBOZS5GMTtjYXNlIkYyIjpyZXR1cm4gTmUuRjI7Y2FzZSJGMyI6cmV0dXJuIE5lLkYzO2Nhc2UiRjQiOnJldHVybiBOZS5GNDtjYXNlIkY1IjpyZXR1cm4gTmUuRjU7Y2FzZSJGNiI6cmV0dXJuIE5lLkY2O2Nhc2UiRjciOnJldHVybiBOZS5GNztjYXNlIkY4IjpyZXR1cm4gTmUuRjg7Y2FzZSJGOSI6cmV0dXJuIE5lLkY5O2Nhc2UiRjEwIjpyZXR1cm4gTmUuRjEwO2Nhc2UiRjExIjpyZXR1cm4gTmUuRjExO2Nhc2UiRjEyIjpyZXR1cm4gTmUuRjEyO2Nhc2UiTnVtTG9jayI6cmV0dXJuIE5lLk51bUxvY2s7Y2FzZSJTY3JvbGxMb2NrIjpyZXR1cm4gTmUuU2Nyb2xsTG9jaztjYXNlIlNlbWljb2xvbiI6cmV0dXJuIE5lLlNlbWlDb2xvbjtjYXNlIkVxdWFsIjpyZXR1cm4gTmUuRXF1YWxzO2Nhc2UiQ29tbWEiOnJldHVybiBOZS5Db21tYTtjYXNlIk1pbnVzIjpyZXR1cm4gTmUuRGFzaDtjYXNlIlBlcmlvZCI6cmV0dXJuIE5lLlBlcmlvZDtjYXNlIlNsYXNoIjpyZXR1cm4gTmUuRm9yd2FyZFNsYXNoO2Nhc2UiQmFja3F1b3RlIjpyZXR1cm4gTmUuVGlsZGU7Y2FzZSJCcmFja2V0TGVmdCI6cmV0dXJuIE5lLk9wZW5CcmFja2V0O2Nhc2UiQnJhY2tldFJpZ2h0IjpyZXR1cm4gTmUuQ2xvc2VkQnJhY2tldDtjYXNlIlF1b3RlIjpyZXR1cm4gTmUuUXVvdGU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19cmVzb2x2ZUtleUZyb21LZXkoZSl7aWYoIWUpcmV0dXJuIG51bGw7aWYoZS5sZW5ndGg9PT0xKXtsZXQgdD1lLnRvVXBwZXJDYXNlKCk7aWYodD49IkEiJiZ0PD0iWiIpcmV0dXJuIE5lW3RdPz9udWxsO3N3aXRjaChlKXtjYXNlIjAiOnJldHVybiBOZS5aZXJvO2Nhc2UiMSI6cmV0dXJuIE5lLk9uZTtjYXNlIjIiOnJldHVybiBOZS5Ud287Y2FzZSIzIjpyZXR1cm4gTmUuVGhyZWU7Y2FzZSI0IjpyZXR1cm4gTmUuRm91cjtjYXNlIjUiOnJldHVybiBOZS5GaXZlO2Nhc2UiNiI6cmV0dXJuIE5lLlNpeDtjYXNlIjciOnJldHVybiBOZS5TZXZlbjtjYXNlIjgiOnJldHVybiBOZS5FaWdodDtjYXNlIjkiOnJldHVybiBOZS5OaW5lO2Nhc2UiICI6cmV0dXJuIE5lLlNwYWNlO2Nhc2UiOyI6cmV0dXJuIE5lLlNlbWlDb2xvbjtjYXNlIj0iOnJldHVybiBOZS5FcXVhbHM7Y2FzZSIsIjpyZXR1cm4gTmUuQ29tbWE7Y2FzZSItIjpyZXR1cm4gTmUuRGFzaDtjYXNlIi4iOnJldHVybiBOZS5QZXJpb2Q7Y2FzZSIvIjpyZXR1cm4gTmUuRm9yd2FyZFNsYXNoO2Nhc2UiYCI6cmV0dXJuIE5lLlRpbGRlO2Nhc2UiWyI6cmV0dXJuIE5lLk9wZW5CcmFja2V0O2Nhc2UiXSI6cmV0dXJuIE5lLkNsb3NlZEJyYWNrZXQ7Y2FzZSInIjpyZXR1cm4gTmUuUXVvdGU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19c3dpdGNoKGUpe2Nhc2UiQmFja3NwYWNlIjpyZXR1cm4gTmUuQmFja3NwYWNlO2Nhc2UiVGFiIjpyZXR1cm4gTmUuVGFiO2Nhc2UiRW50ZXIiOnJldHVybiBOZS5FbnRlcjtjYXNlIlNoaWZ0IjpyZXR1cm4gTmUuU2hpZnQ7Y2FzZSJDb250cm9sIjpyZXR1cm4gTmUuQ3RybDtjYXNlIkFsdCI6cmV0dXJuIE5lLkFsdDtjYXNlIlBhdXNlIjpyZXR1cm4gTmUuUGF1c2VCcmVhaztjYXNlIkNhcHNMb2NrIjpyZXR1cm4gTmUuQ2Fwc0xvY2s7Y2FzZSJFc2NhcGUiOnJldHVybiBOZS5Fc2NhcGU7Y2FzZSJQYWdlVXAiOnJldHVybiBOZS5QYWdlVXA7Y2FzZSJQYWdlRG93biI6cmV0dXJuIE5lLlBhZ2VEb3duO2Nhc2UiRW5kIjpyZXR1cm4gTmUuRW5kO2Nhc2UiSG9tZSI6cmV0dXJuIE5lLkhvbWU7Y2FzZSJBcnJvd0xlZnQiOnJldHVybiBOZS5MZWZ0QXJyb3c7Y2FzZSJBcnJvd1VwIjpyZXR1cm4gTmUuVXBBcnJvdztjYXNlIkFycm93UmlnaHQiOnJldHVybiBOZS5SaWdodEFycm93O2Nhc2UiQXJyb3dEb3duIjpyZXR1cm4gTmUuRG93bkFycm93O2Nhc2UiSW5zZXJ0IjpyZXR1cm4gTmUuSW5zZXJ0O2Nhc2UiRGVsZXRlIjpyZXR1cm4gTmUuRGVsZXRlO2Nhc2UiTWV0YSI6cmV0dXJuIE5lLkxlZnRXaW5kb3dLZXk7Y2FzZSJDb250ZXh0TWVudSI6cmV0dXJuIE5lLlNlbGVjdEtleTtjYXNlIk51bUxvY2siOnJldHVybiBOZS5OdW1Mb2NrO2Nhc2UiU2Nyb2xsTG9jayI6cmV0dXJuIE5lLlNjcm9sbExvY2s7ZGVmYXVsdDpyZXR1cm4gbnVsbH19cmVzb2x2ZUtleUZyb21LZXlDb2RlKGUpe3JldHVybiB0eXBlb2YgZSE9Im51bWJlciI/bnVsbDp0eXBlb2YgTmVbZV08InUiP2U6bnVsbH1jcmVhdGVLZXlib2FyZEV2ZW50KGUpe2xldCB0PWVbZS5sZW5ndGgtMV0/P05lLkVudGVyLHI9dGhpcy5nZXRLZXlEZXNjcmlwdG9yKHQpO3JldHVybiBuZXcgS2V5Ym9hcmRFdmVudCgia2V5ZG93biIse2tleTpyLmtleSxjb2RlOnIuY29kZSxjdHJsS2V5OmUuaW5jbHVkZXMoTmUuQ3RybCksc2hpZnRLZXk6ZS5pbmNsdWRlcyhOZS5TaGlmdCksYWx0S2V5OmUuaW5jbHVkZXMoTmUuQWx0KSxtZXRhS2V5OmUuaW5jbHVkZXMoTmUuTGVmdFdpbmRvd0tleSl8fGUuaW5jbHVkZXMoTmUuUmlnaHRXaW5kb3dLZXkpfSl9Z2V0S2V5RGVzY3JpcHRvcihlKXtzd2l0Y2goZSl7Y2FzZSBOZS5DdHJsOnJldHVybntrZXk6IkNvbnRyb2wiLGNvZGU6IkNvbnRyb2xMZWZ0In07Y2FzZSBOZS5TaGlmdDpyZXR1cm57a2V5OiJTaGlmdCIsY29kZToiU2hpZnRMZWZ0In07Y2FzZSBOZS5BbHQ6cmV0dXJue2tleToiQWx0Iixjb2RlOiJBbHRMZWZ0In07Y2FzZSBOZS5FbnRlcjpyZXR1cm57a2V5OiJFbnRlciIsY29kZToiRW50ZXIifTtjYXNlIE5lLlNwYWNlOnJldHVybntrZXk6IiAiLGNvZGU6IlNwYWNlIn07ZGVmYXVsdDp7bGV0IHQ9TmVbZV07aWYodCYmdC5sZW5ndGg9PT0xJiZ0Pj0iQSImJnQ8PSJaIilyZXR1cm57a2V5OnQudG9Mb3dlckNhc2UoKSxjb2RlOmBLZXkke3R9YH07aWYoZT49TmUuWmVybyYmZTw9TmUuTmluZSl7bGV0IHI9U3RyaW5nKGUtTmUuWmVybyk7cmV0dXJue2tleTpyLGNvZGU6YERpZ2l0JHtyfWB9fXJldHVybntrZXk6dD8/IlVuaWRlbnRpZmllZCIsY29kZToiVW5pZGVudGlmaWVkIn19fX19fSk7dmFyICRpLE44PWYoKCk9PntJOCgpO202ZSgpO3dtdCgpO0RKKCk7TW10KCk7a210KCk7JGk9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJEb21Ub29scyIpfXN0YXRpYyBpbml0aWFsaXphdGlvblByb21pc2U9bnVsbDtzdGF0aWMgYXN5bmMgc2V0dXBEb21Ub29scyhlPXt9KXtpZihlLmlnbm9yZUdsb2JhbCl7bGV0IHQ9bmV3IGEoZSk7cmV0dXJuIGF3YWl0IHQuaW5pdGlhbGl6YXRpb25Qcm9taXNlLHR9aWYoZ2xvYmFsVGhpcy5kZWVzRG9tVG9vbHMmJiFnbG9iYWxUaGlzLmRlZXNEb21Ub29scy5kaXNwb3NlZClyZXR1cm4gYXdhaXQgZ2xvYmFsVGhpcy5kZWVzRG9tVG9vbHMuaW5pdGlhbGl6YXRpb25Qcm9taXNlLGdsb2JhbFRoaXMuZGVlc0RvbVRvb2xzO2lmKCFhLmluaXRpYWxpemF0aW9uUHJvbWlzZSl7bGV0IHQ9bmV3IGEoZSk7Z2xvYmFsVGhpcy5kZWVzRG9tVG9vbHM9dCxhLmluaXRpYWxpemF0aW9uUHJvbWlzZT10LmluaXRpYWxpemF0aW9uUHJvbWlzZS50aGVuKCgpPT50KS5jYXRjaChyPT57dGhyb3cgZ2xvYmFsVGhpcy5kZWVzRG9tVG9vbHM9PT10JiYoZ2xvYmFsVGhpcy5kZWVzRG9tVG9vbHM9dm9pZCAwKSxhLmluaXRpYWxpemF0aW9uUHJvbWlzZT1udWxsLHJ9KX1yZXR1cm4gYXdhaXQgYS5pbml0aWFsaXphdGlvblByb21pc2V9c3RhdGljIGdldEdsb2JhbERvbVRvb2xzU3luYygpe2xldCBlPWdsb2JhbFRoaXMuZGVlc0RvbVRvb2xzO2lmKCFlfHxlLmRpc3Bvc2VkKXRocm93IG5ldyBFcnJvcigiWW91IHRyaWVkIHRvIGFjY2VzcyBkb210b29scyBzeW5jaHJvbm91c2x5IHRvbyBlYXJseSIpO3JldHVybiBlfWVsZW1lbnRzPXtoZWFkRWxlbWVudDpudWxsLGJvZHlFbGVtZW50Om51bGx9O3dlYnNldHVwPW5ldyBtYih7bWV0YU9iamVjdDp7dGl0bGU6IiJ9fSk7c21hcnRzdGF0ZT1uZXcgYWQuU21hcnRzdGF0ZTtkb21Ub29sc1N0YXRlUGFydD10aGlzLnNtYXJ0c3RhdGUuZ2V0U3RhdGVQYXJ0KCJkb210b29scyIse3ZpcnR1YWxWaWV3cG9ydDoibmF0aXZlIixqd3Q6IiJ9KTtyb3V0ZXI9bmV3IHRkLlNtYXJ0Um91dGVyKHtkZWJ1ZzohMX0pO2NvbnZlbmllbmNlPXt0eXBlZHJlcXVlc3Q6R3Isc21hcnRkZWxheTpVdCxzbWFydGpzb246JHMsc21hcnR1cmw6eTF9O2RlZXNDb21tcz1uZXcgWjkuRGVlc0NvbW1zO3Njcm9sbGVyPW5ldyBQSih0aGlzKTt0aGVtZU1hbmFnZXI9bmV3IEVKKHRoaXMpO2tleWJvYXJkPW51bGw7ZGlzcG9zZWQ9ITE7ZG9tVG9vbHNSZWFkeT1jdC5kZWZlcigpO2RvbVJlYWR5PWN0LmRlZmVyKCk7Z2xvYmFsU3R5bGVzUmVhZHk9Y3QuZGVmZXIoKTtpbml0aWFsaXphdGlvblByb21pc2U7bWFuYWdlZERvbU5vZGVzPVtdO3JlYWR5U3RhdGVDaGFuZ2VkRnVuYz1zKCgpPT57dGhpcy50cnlNYXJrRG9tUmVhZHkoKX0sInJlYWR5U3RhdGVDaGFuZ2VkRnVuYyIpO2NvbnN0cnVjdG9yKGUpe3RoaXMuaW5pdGlhbGl6YXRpb25Qcm9taXNlPXRoaXMuaW5pdGlhbGl6ZSgpfXJ1bk9uY2VQcm9taXNlTWFwPW5ldyBNYXA7YXN5bmMgaW5pdGlhbGl6ZSgpe3RoaXMudHJ5TWFya0RvbVJlYWR5KCksdGhpcy5kb21SZWFkeS5zdGF0dXM9PT0icGVuZGluZyImJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLHRoaXMucmVhZHlTdGF0ZUNoYW5nZWRGdW5jKSx0aGlzLmRvbVRvb2xzUmVhZHkuc3RhdHVzPT09InBlbmRpbmciJiZ0aGlzLmRvbVRvb2xzUmVhZHkucmVzb2x2ZSgpfXRyeU1hcmtEb21SZWFkeSgpe3RoaXMuZGlzcG9zZWR8fHRoaXMuZG9tUmVhZHkuc3RhdHVzIT09InBlbmRpbmcifHxkb2N1bWVudC5yZWFkeVN0YXRlIT09ImludGVyYWN0aXZlIiYmZG9jdW1lbnQucmVhZHlTdGF0ZSE9PSJjb21wbGV0ZSJ8fCFkb2N1bWVudC5oZWFkfHwhZG9jdW1lbnQuYm9keXx8KHRoaXMuZWxlbWVudHMuaGVhZEVsZW1lbnQ9ZG9jdW1lbnQuaGVhZCx0aGlzLmVsZW1lbnRzLmJvZHlFbGVtZW50PWRvY3VtZW50LmJvZHksdGhpcy5rZXlib2FyZHx8KHRoaXMua2V5Ym9hcmQ9bmV3IElKKGRvY3VtZW50LmJvZHkpKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIix0aGlzLnJlYWR5U3RhdGVDaGFuZ2VkRnVuYyksdGhpcy5kb21SZWFkeS5yZXNvbHZlKCkpfXRyYWNrTWFuYWdlZERvbU5vZGUoZSl7cmV0dXJuIHRoaXMubWFuYWdlZERvbU5vZGVzLnB1c2goZSksZX1nZXRIZWFkT3JCb2R5RWxlbWVudCgpe2xldCBlPXRoaXMuZWxlbWVudHMuaGVhZEVsZW1lbnR8fGRvY3VtZW50LmhlYWR8fHRoaXMuZWxlbWVudHMuYm9keUVsZW1lbnR8fGRvY3VtZW50LmJvZHk7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJEb21Ub29scyBjb3VsZCBub3QgZmluZCBhIERPTSB0YXJnZXQgZWxlbWVudCB0byBhdHRhY2ggcmVzb3VyY2VzIHRvIik7cmV0dXJuIGV9YXN5bmMgcnVuT25jZShlLHQpe2xldCByPXRoaXMucnVuT25jZVByb21pc2VNYXAuZ2V0KGUpO3JldHVybiByfHwocj1Qcm9taXNlLnJlc29sdmUoKS50aGVuKGFzeW5jKCk9PmF3YWl0IHQoKSksdGhpcy5ydW5PbmNlUHJvbWlzZU1hcC5zZXQoZSxyKSksYXdhaXQgcn1hc3luYyBzZXRHbG9iYWxTdHlsZXMoZSl7YXdhaXQgdGhpcy5kb21SZWFkeS5wcm9taXNlO2xldCB0PXRoaXMudHJhY2tNYW5hZ2VkRG9tTm9kZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKTt0LnR5cGU9InRleHQvY3NzIix0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUpKSx0aGlzLmdldEhlYWRPckJvZHlFbGVtZW50KCkuYXBwZW5kQ2hpbGQodCl9YXN5bmMgc2V0RXh0ZXJuYWxTY3JpcHQoZSl7YXdhaXQgdGhpcy5kb21SZWFkeS5wcm9taXNlO2xldCB0PWN0LmRlZmVyKCkscj10aGlzLnRyYWNrTWFuYWdlZERvbU5vZGUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IikpO3Iuc3JjPWUsci5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e3QucmVzb2x2ZSgpfSksci5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt0LnJlamVjdChuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIGV4dGVybmFsIHNjcmlwdDogJHtlfWApKX0pLHRoaXMuZ2V0SGVhZE9yQm9keUVsZW1lbnQoKS5hcHBlbmQociksYXdhaXQgdC5wcm9taXNlfWFzeW5jIHNldEV4dGVybmFsQ3NzKGUpe2F3YWl0IHRoaXMuZG9tUmVhZHkucHJvbWlzZTtsZXQgdD1jdC5kZWZlcigpLHI9dGhpcy50cmFja01hbmFnZWREb21Ob2RlKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKSk7ci5yZWw9InN0eWxlc2hlZXQiLHIuY3Jvc3NPcmlnaW49ImFub255bW91cyIsci5ocmVmPWUsci5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e3QucmVzb2x2ZSgpfSksci5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt0LnJlamVjdChuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIGV4dGVybmFsIHN0eWxlc2hlZXQ6ICR7ZX1gKSl9KSx0aGlzLmdldEhlYWRPckJvZHlFbGVtZW50KCkuYXBwZW5kKHIpLGF3YWl0IHQucHJvbWlzZX1hc3luYyBzZXRXZWJzaXRlSW5mbyhlKXthd2FpdCB0aGlzLndlYnNldHVwLnNldHVwKGUpLGF3YWl0IHRoaXMud2Vic2V0dXAucmVhZHlQcm9taXNlfWRpc3Bvc2UoKXtpZighdGhpcy5kaXNwb3NlZCl7dGhpcy5kaXNwb3NlZD0hMCxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIix0aGlzLnJlYWR5U3RhdGVDaGFuZ2VkRnVuYyksdGhpcy5rZXlib2FyZD8uZGlzcG9zZSgpLHRoaXMua2V5Ym9hcmQ9bnVsbCx0aGlzLnNjcm9sbGVyLmRpc3Bvc2UoKSx0aGlzLnRoZW1lTWFuYWdlci5kaXNwb3NlKCk7Zm9yKGxldCBlIG9mIHRoaXMubWFuYWdlZERvbU5vZGVzKWUucmVtb3ZlKCk7dGhpcy5tYW5hZ2VkRG9tTm9kZXMubGVuZ3RoPTAsZ2xvYmFsVGhpcy5kZWVzRG9tVG9vbHM9PT10aGlzJiYoZ2xvYmFsVGhpcy5kZWVzRG9tVG9vbHM9dm9pZCAwLGEuaW5pdGlhbGl6YXRpb25Qcm9taXNlPW51bGwpfX19fSk7dmFyIE5KLFNtdCx6bXQ9ZigoKT0+e044KCk7Z24oKTtOSj0oKCk9PntsZXQgYT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIk1hYyBPUyBYIik9PT0tMT9YYGAuY3NzVGV4dDoiIjtyZXR1cm4gWGAKICAgIC8qIHdpZHRoICovCiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgd2lkdGg6IDBweDsKICAgIH0KICAgIGJvZHkgewogICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7CiAgICB9CiAgYC5jc3NUZXh0fSkoKSxTbXQ9WGAKICAvKgogIEBmb250LWZhY2UgewogICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21hdGVyaWFsaWNvbnMvdjQyL2ZsVWhScTZ0elpjbFFFSi1WZGctSXVpYURzTmNJaFE4dFEud29mZjIpCiAgICAgIGZvcm1hdCgnd29mZjInKTsKICB9ICovCgogIC8qIGdsb2JhbCBib2R5IHN0eWxlcyAqLwogIGJvZHkgewogICAgbWFyZ2luOiAwcHg7CiAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCBzYW5zLXNlcmlmOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICB9CgogIC8qIHNjcm9sbCBiYXIgc3R5bGVzICovCiAgJHtvYShOSil9CmAuY3NzVGV4dH0pO3ZhciB0cj17fTtsdCh0cix7c2V0dXA6KCk9PnZDYSxzdGF0aWNTdHlsZXM6KCk9PmdDYSxzdHlsZXM6KCk9PmJDYX0pO3ZhciBnQ2EsYkNhLHZDYSxDbXQ9ZigoKT0+e044KCk7em10KCk7Z24oKTtnQ2E9WGAKICAqIHsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcywgY29sb3IgMC4xczsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgfQoKICA6aG9zdCB7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgc2Fucy1zZXJpZjsKICB9CgogICR7b2EoTkopfQpgLGJDYT13YAogIDxzdHlsZT4KICAgICogewogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMsIGNvbG9yIDAuMXM7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICB9CgogICAgOmhvc3QgewogICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCBzYW5zLXNlcmlmOwogICAgfQoKICAgICR7Tkp9CiAgPC9zdHlsZT4KYCx2Q2E9cyhhc3luYyhhLGU9e30pPT57bGV0IHQ9YXdhaXQgJGkuc2V0dXBEb21Ub29scyhlKTtyZXR1cm4gYXdhaXQgdC5ydW5PbmNlKCJlbGVtZW50QmFzaWNTZXR1cCIsYXN5bmMoKT0+e2F3YWl0IHQuc2V0R2xvYmFsU3R5bGVzKFNtdCl9KSx0Lmdsb2JhbFN0eWxlc1JlYWR5LnN0YXR1cz09PSJwZW5kaW5nIiYmdC5nbG9iYWxTdHlsZXNSZWFkeS5yZXNvbHZlKCksYXdhaXQgdC5nbG9iYWxTdHlsZXNSZWFkeS5wcm9taXNlLHR9LCJzZXR1cCIpfSk7dmFyIFJKPXt9O2x0KFJKLHtjc3NHcmlkQ29sdW1uczooKT0+eENhfSk7dmFyIHhDYSxfbXQ9ZigoKT0+e3hDYT1zKChhLGUpPT57bGV0IHQ9IiI7Zm9yKGxldCByPTA7cjxhO3IrKyl0Kz1gIGNhbGMoKDEwMCUvJHthfSkgLSAoJHtlKihhLTEpfXB4LyR7YX0pKWA7cmV0dXJuIHR9LCJjc3NHcmlkQ29sdW1ucyIpfSk7dmFyIEh0PXt9O2x0KEh0LHtTd2VldFNjcm9sbDooKT0+RTguZGVmYXVsdCxzbWFydGRlbGF5OigpPT5VdCxzbWFydG1hcmtkb3duOigpPT5jYixzbWFydHByb21pc2U6KCk9PmN0LHNtYXJ0cm91dGVyOigpPT50ZCxzbWFydHJ4OigpPT5fYSxzbWFydHN0YXRlOigpPT5hZCxzbWFydHN0cmluZzooKT0+ZHMsc21hcnR1cmw6KCk9PnkxLHR5cGVkcmVxdWVzdDooKT0+R3J9KTt2YXIgVG10PWYoKCk9PntJOCgpfSk7dmFyIEF0PXt9O2x0KEF0LHtEb21Ub29sczooKT0+JGksVHlwZWRSZXF1ZXN0OigpPT5XOSxicmVha3BvaW50czooKT0+a3IsY3NzOigpPT5SSixlbGVtZW50QmFzaWM6KCk9PnRyLHBsdWdpbnM6KCk9Pkh0fSk7dmFyIGVhPWYoKCk9Pntmc3QoKTtDbXQoKTttNmUoKTtfbXQoKTtOOCgpO0c5KCk7REooKTtUbXQoKX0pO3ZhciBnNmUsWjAsYjZlPWYoKCk9PntnNmU9a28oWUcoKSwxKTtwMigpO2duKCk7cHN0KCk7ZWEoKTtaMD17Y3NzOlgsdW5zYWZlQ1NTOm9hLExpdEVsZW1lbnQ6YmwscHJvcGVydHk6JH19KTt2YXIgT0osJG10PWYoKCk9PntnbigpO2I2ZSgpO2VhKCk7T0o9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJDc3NNYW5hZ2VyIil9c3RhdGljIGluc3RhbmNlPW51bGw7c3RhdGljIGdldFNpbmdsZXRvbigpe3JldHVybiBhLmluc3RhbmNlfHwoYS5pbnN0YW5jZT1uZXcgYSksYS5pbnN0YW5jZX1kb210b29sc1Byb21pc2U9JGkuc2V0dXBEb21Ub29scygpO2dvQnJpZ2h0PSExO2JkVmFyVHJpcGxldFN0b3JlPVtdO2NvbnN0cnVjdG9yKCl7dGhpcy5kb210b29sc1Byb21pc2UudGhlbihhc3luYyBlPT57ZS50aGVtZU1hbmFnZXIudGhlbWVPYnNlcnZhYmxlLnN1YnNjcmliZShhc3luYyB0PT57dGhpcy5nb0JyaWdodD10LGF3YWl0IGUuZG9tUmVhZHkucHJvbWlzZTtmb3IobGV0IHIgb2YgdGhpcy5iZFZhclRyaXBsZXRTdG9yZSlkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KHIuY3NzVmFyTmFtZSx0aGlzLmdvQnJpZ2h0P3IuYnJpZ2h0VmFsdWU6ci5kYXJrVmFsdWUpfSl9KX1nZXQgZGVmYXVsdFN0eWxlcygpe3JldHVybiB0ci5zdGF0aWNTdHlsZXN9Z2V0Q29udGFpbmVyTmFtZUZyb21DbGFzcyhlKXtyZXR1cm4gZS5pc3x8ZS5uYW1lLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csIiQxLSQyIikudG9Mb3dlckNhc2UoKX1jc3NGb3JEZXNrdG9wKGUsdCl7cmV0dXJuIHQ/b2Eoa3IuY3NzRm9yQ29udGFpbmVyKGUsYChtaW4td2lkdGg6ICR7a3IuZGVza3RvcH1weClgLHRoaXMuZ2V0Q29udGFpbmVyTmFtZUZyb21DbGFzcyh0KSkpOm9hKGtyLmNzc0ZvckRlc2t0b3AoZSkpfWNzc0Zvck5vdGVib29rKGUsdCl7cmV0dXJuIHQ/b2Eoa3IuY3NzRm9yQ29udGFpbmVyKGUsYChtYXgtd2lkdGg6ICR7a3Iubm90ZWJvb2t9cHgpYCx0aGlzLmdldENvbnRhaW5lck5hbWVGcm9tQ2xhc3ModCkpKTpvYShrci5jc3NGb3JOb3RlYm9vayhlKSl9Y3NzRm9yVGFibGV0KGUsdCl7cmV0dXJuIHQ/b2Eoa3IuY3NzRm9yQ29udGFpbmVyKGUsYChtYXgtd2lkdGg6ICR7a3IudGFibGV0fXB4KWAsdGhpcy5nZXRDb250YWluZXJOYW1lRnJvbUNsYXNzKHQpKSk6b2Eoa3IuY3NzRm9yVGFibGV0KGUpKX1jc3NGb3JQaGFibGV0KGUsdCl7cmV0dXJuIHQ/b2Eoa3IuY3NzRm9yQ29udGFpbmVyKGUsYChtYXgtd2lkdGg6ICR7a3IucGhhYmxldH1weClgLHRoaXMuZ2V0Q29udGFpbmVyTmFtZUZyb21DbGFzcyh0KSkpOm9hKGtyLmNzc0ZvclBoYWJsZXQoZSkpfWNzc0ZvclBob25lKGUsdCl7cmV0dXJuIHQ/b2Eoa3IuY3NzRm9yQ29udGFpbmVyKGUsYChtYXgtd2lkdGg6ICR7a3IucGhvbmV9cHgpYCx0aGlzLmdldENvbnRhaW5lck5hbWVGcm9tQ2xhc3ModCkpKTpvYShrci5jc3NGb3JQaG9uZShlKSl9Y3NzRm9yQ29uc3RyYWludChlKXtyZXR1cm4gdD0+b2Eoa3IuY3NzRm9yQ29uc3RyYWludChlKSh0KSl9YmRUaGVtZShlLHQpe2xldCByLGk7JGkuZ2V0R2xvYmFsRG9tVG9vbHNTeW5jKCk/aT0kaS5nZXRHbG9iYWxEb21Ub29sc1N5bmMoKS50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuP2U6dDppPXQ7bGV0IG89dGhpcy5iZFZhclRyaXBsZXRTdG9yZS5maW5kKG49Pm4uZGFya1ZhbHVlPT09dCYmbi5icmlnaHRWYWx1ZT09PWUpO2lmKG8pcj1vLmNzc1Zhck5hbWU7ZWxzZXtsZXQgbj17Y3NzVmFyTmFtZTpgLS0ke2c2ZS51bmkoKX1gLGJyaWdodFZhbHVlOmUsZGFya1ZhbHVlOnR9O3RoaXMuYmRWYXJUcmlwbGV0U3RvcmUucHVzaChuKSx0aGlzLmRvbXRvb2xzUHJvbWlzZS50aGVuKGFzeW5jIGw9Pnthd2FpdCBsLmRvbVJlYWR5LnByb21pc2UsZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eShuLmNzc1Zhck5hbWUsaSl9KSxyPW4uY3NzVmFyTmFtZX1yZXR1cm4gWjAudW5zYWZlQ1NTKGB2YXIoJHtyfSwgJHtpfSlgKX1jc3NHcmlkQ29sdW1ucz1zKChlLHQpPT57bGV0IHI9IiI7Zm9yKGxldCBpPTA7aTxlO2krKylyKz1gIGNhbGMoKDEwMCUvJHtlfSkgLSAoJHt0KihlLTEpfXB4LyR7ZX0pKWA7cmV0dXJuIFowLnVuc2FmZUNTUyhyKX0sImNzc0dyaWRDb2x1bW5zIil9fSk7dmFyIHY2ZSx5Q2EseDZlLHdDYSxEbXQsRkosV2wsTUNhLGtDYSxBbXQ9ZigoKT0+e3QxKCk7djZlPVN5bWJvbC5mb3IoIiIpLHlDYT1zKGE9PntpZihhPy5yPT09djZlKXJldHVybiBhPy5fJGxpdFN0YXRpYyR9LCJvIikseDZlPXMoYT0+KHtfJGxpdFN0YXRpYyQ6YSxyOnY2ZX0pLCJzIiksd0NhPXMoKGEsLi4uZSk9Pih7XyRsaXRTdGF0aWMkOmUucmVkdWNlKCh0LHIsaSk9PnQrKG89PntpZihvLl8kbGl0U3RhdGljJCE9PXZvaWQgMClyZXR1cm4gby5fJGxpdFN0YXRpYyQ7dGhyb3cgRXJyb3IoYFZhbHVlIHBhc3NlZCB0byAnbGl0ZXJhbCcgZnVuY3Rpb24gbXVzdCBiZSBhICdsaXRlcmFsJyByZXN1bHQ6ICR7b30uIFVzZSAndW5zYWZlU3RhdGljJyB0byBwYXNzIG5vbi1saXRlcmFsIHZhbHVlcywgYnV0CiAgICAgICAgICAgIHRha2UgY2FyZSB0byBlbnN1cmUgcGFnZSBzZWN1cml0eS5gKX0pKHIpK2FbaSsxXSxhWzBdKSxyOnY2ZX0pLCJpIiksRG10PW5ldyBNYXAsRko9cyhhPT4oZSwuLi50KT0+e2xldCByPXQubGVuZ3RoLGksbyxuPVtdLGw9W10sZCxjPTAscD0hMTtmb3IoO2M8cjspe2ZvcihkPWVbY107YzxyJiYobz10W2NdLChpPXlDYShvKSkhPT12b2lkIDApOylkKz1pK2VbKytjXSxwPSEwO2MhPT1yJiZsLnB1c2gobyksbi5wdXNoKGQpLGMrK31pZihjPT09ciYmbi5wdXNoKGVbcl0pLHApe2xldCB1PW4uam9pbigiJCRsaXQkJCIpOyhlPURtdC5nZXQodSkpPT09dm9pZCAwJiYobi5yYXc9bixEbXQuc2V0KHUsZT1uKSksdD1sfXJldHVybiBhKGUsLi4udCl9LCJuIiksV2w9RkoodyksTUNhPUZKKFFpZSksa0NhPUZKKEppZSl9KTt2YXIgUG10PWYoKCk9PntBbXQoKX0pO3ZhciBCMixocyxBbixHbD1mKCgpPT57QjI9e0FUVFJJQlVURToxLENISUxEOjIsUFJPUEVSVFk6MyxCT09MRUFOX0FUVFJJQlVURTo0LEVWRU5UOjUsRUxFTUVOVDo2fSxocz1zKGE9PiguLi5lKT0+KHtfJGxpdERpcmVjdGl2ZSQ6YSx2YWx1ZXM6ZX0pLCJlIiksQW49Y2xhc3N7c3RhdGlje3ModGhpcywiaSIpfWNvbnN0cnVjdG9yKGUpe31nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1fJEFUKGUsdCxyKXt0aGlzLl8kQ3Q9ZSx0aGlzLl8kQU09dCx0aGlzLl8kQ2k9cn1fJEFTKGUsdCl7cmV0dXJuIHRoaXMudXBkYXRlKGUsdCl9dXBkYXRlKGUsdCl7cmV0dXJuIHRoaXMucmVuZGVyKC4uLnQpfX19KTt2YXIgUjgsYmIsRW10PWYoKCk9Pnt0MSgpO0dsKCk7Ujg9Y2xhc3MgZXh0ZW5kcyBBbntzdGF0aWN7cyh0aGlzLCJlIil9Y29uc3RydWN0b3IoZSl7aWYoc3VwZXIoZSksdGhpcy5pdD14cixlLnR5cGUhPT1CMi5DSElMRCl0aHJvdyBFcnJvcih0aGlzLmNvbnN0cnVjdG9yLmRpcmVjdGl2ZU5hbWUrIigpIGNhbiBvbmx5IGJlIHVzZWQgaW4gY2hpbGQgYmluZGluZ3MiKX1yZW5kZXIoZSl7aWYoZT09PXhyfHxlPT1udWxsKXJldHVybiB0aGlzLl90PXZvaWQgMCx0aGlzLml0PWU7aWYoZT09PWxyKXJldHVybiBlO2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBFcnJvcih0aGlzLmNvbnN0cnVjdG9yLmRpcmVjdGl2ZU5hbWUrIigpIGNhbGxlZCB3aXRoIGEgbm9uLXN0cmluZyB2YWx1ZSIpO2lmKGU9PT10aGlzLml0KXJldHVybiB0aGlzLl90O3RoaXMuaXQ9ZTtsZXQgdD1bZV07cmV0dXJuIHQucmF3PXQsdGhpcy5fdD17XyRsaXRUeXBlJDp0aGlzLmNvbnN0cnVjdG9yLnJlc3VsdFR5cGUsc3RyaW5nczp0LHZhbHVlczpbXX19fTtSOC5kaXJlY3RpdmVOYW1lPSJ1bnNhZmVIVE1MIixSOC5yZXN1bHRUeXBlPTE7YmI9aHMoUjgpfSk7dmFyIEltdD1mKCgpPT57RW10KCl9KTt2YXIgeTZlLHc2ZT1mKCgpPT57eTZlPXMoYT0+KGUsdCk9Pnt0IT09dm9pZCAwP3QuYWRkSW5pdGlhbGl6ZXIoKCk9PntjdXN0b21FbGVtZW50cy5kZWZpbmUoYSxlKX0pOmN1c3RvbUVsZW1lbnRzLmRlZmluZShhLGUpfSwidCIpfSk7dmFyIE5tdD1mKCgpPT57dzZlKCl9KTtmdW5jdGlvbiBpZShhKXtyZXR1cm4oZSx0KT0+e2lmKGUuaXM9YSxlLm5hbWUpe2xldCByPVNDYShlLm5hbWUpO3IhPT1hJiZjb25zb2xlLndhcm4oYFtkZWVzLWVsZW1lbnRdIENsYXNzICIke2UubmFtZX0iIGtlYmFiLWNhc2VzIHRvICIke3J9IiBidXQgdGFnIGlzICIke2F9Ii4gQ29udGFpbmVyIHF1ZXJpZXMgdXNlIC5pcyAoIiR7YX0iKS5gKX1yZXR1cm4geTZlKGEpKGUsdCl9fXZhciBTQ2EsUm10PWYoKCk9PntObXQoKTtTQ2E9cyhhPT5hLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csIiQxLSQyIikudG9Mb3dlckNhc2UoKSwiY2FtZWxUb0tlYmFiIik7cyhpZSwiY3VzdG9tRWxlbWVudCIpfSk7ZnVuY3Rpb24gSyhhKXtyZXR1cm4gJCh7Li4uYSxzdGF0ZTohMCxhdHRyaWJ1dGU6ITF9KX12YXIgT210PWYoKCk9PntWWSgpO3MoSywiciIpfSk7ZnVuY3Rpb24gekNhKGEpe3JldHVybihlLHQpPT57bGV0IHI9dHlwZW9mIGU9PSJmdW5jdGlvbiI/ZTplW3RdO09iamVjdC5hc3NpZ24ocixhKX19dmFyIEZtdD1mKCgpPT57cyh6Q2EsInQiKX0pO3ZhciBQbixPOD1mKCgpPT57UG49cygoYSxlLHQpPT4odC5jb25maWd1cmFibGU9ITAsdC5lbnVtZXJhYmxlPSEwLFJlZmxlY3QuZGVjb3JhdGUmJnR5cGVvZiBlIT0ib2JqZWN0IiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsZSx0KSx0KSwiZSIpfSk7ZnVuY3Rpb24gTTZlKGEsZSl7cmV0dXJuKHQscixpKT0+e2xldCBvPXMobj0+bi5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKGEpPz9udWxsLCJvIik7aWYoZSl7bGV0e2dldDpuLHNldDpsfT10eXBlb2Ygcj09Im9iamVjdCI/dDppPz8oKCk9PntsZXQgZD1TeW1ib2woKTtyZXR1cm57Z2V0KCl7cmV0dXJuIHRoaXNbZF19LHNldChjKXt0aGlzW2RdPWN9fX0pKCk7cmV0dXJuIFBuKHQscix7Z2V0KCl7bGV0IGQ9bi5jYWxsKHRoaXMpO3JldHVybiBkPT09dm9pZCAwJiYoZD1vKHRoaXMpLChkIT09bnVsbHx8dGhpcy5oYXNVcGRhdGVkKSYmbC5jYWxsKHRoaXMsZCkpLGR9fSl9cmV0dXJuIFBuKHQscix7Z2V0KCl7cmV0dXJuIG8odGhpcyl9fSl9fXZhciBCbXQ9ZigoKT0+e084KCk7cyhNNmUsImUiKX0pO2Z1bmN0aW9uIGs2ZShhKXtyZXR1cm4oZSx0KT0+UG4oZSx0LHtnZXQoKXtyZXR1cm4odGhpcy5yZW5kZXJSb290Pz8oQ0NhPz89ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKSkucXVlcnlTZWxlY3RvckFsbChhKX19KX12YXIgQ0NhLEhtdD1mKCgpPT57TzgoKTtzKGs2ZSwiciIpfSk7ZnVuY3Rpb24gUzZlKGEpe3JldHVybihlLHQpPT5QbihlLHQse2FzeW5jIGdldCgpe3JldHVybiBhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMucmVuZGVyUm9vdD8ucXVlcnlTZWxlY3RvcihhKT8/bnVsbH19KX12YXIgcW10PWYoKCk9PntPOCgpO3MoUzZlLCJyIil9KTtmdW5jdGlvbiBfQ2EoYSl7cmV0dXJuKGUsdCk9PntsZXR7c2xvdDpyLHNlbGVjdG9yOml9PWE/P3t9LG89InNsb3QiKyhyP2BbbmFtZT0ke3J9XWA6Ijpub3QoW25hbWVdKSIpO3JldHVybiBQbihlLHQse2dldCgpe2xldCBuPXRoaXMucmVuZGVyUm9vdD8ucXVlcnlTZWxlY3RvcihvKSxsPW4/LmFzc2lnbmVkRWxlbWVudHMoYSk/P1tdO3JldHVybiBpPT09dm9pZCAwP2w6bC5maWx0ZXIoZD0+ZC5tYXRjaGVzKGkpKX19KX19dmFyIFZtdD1mKCgpPT57TzgoKTtzKF9DYSwibyIpfSk7ZnVuY3Rpb24gVENhKGEpe3JldHVybihlLHQpPT57bGV0e3Nsb3Q6cn09YT8/e30saT0ic2xvdCIrKHI/YFtuYW1lPSR7cn1dYDoiOm5vdChbbmFtZV0pIik7cmV0dXJuIFBuKGUsdCx7Z2V0KCl7cmV0dXJuIHRoaXMucmVuZGVyUm9vdD8ucXVlcnlTZWxlY3RvcihpKT8uYXNzaWduZWROb2RlcyhhKT8/W119fSl9fXZhciBqbXQ9ZigoKT0+e084KCk7cyhUQ2EsIm4iKX0pO3ZhciBVbXQ9ZigoKT0+e3c2ZSgpO1ZZKCk7T210KCk7Rm10KCk7Qm10KCk7SG10KCk7cW10KCk7Vm10KCk7am10KCl9KTt2YXIgV210LEJKLHBlLEdtdD1mKCgpPT57YjZlKCk7Z24oKTtXbXQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEJKPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxwZT0oKCk9PntsZXQgYT1aMC5MaXRFbGVtZW50LGUsdD1bXSxyPVtdLGksbz1bXSxuPVtdO3JldHVybiBjbGFzcyBleHRlbmRzIGF7c3RhdGlje3ModGhpcywiRGVlc0VsZW1lbnQiKX1zdGF0aWN7bGV0IGQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoYVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7ZT1bWjAucHJvcGVydHkoe3R5cGU6Qm9vbGVhbn0pXSxpPVtaMC5wcm9wZXJ0eSgpXSxXbXQodGhpcyxudWxsLGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJnb0JyaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhjPT4iZ29CcmlnaHQiaW4gYywiaGFzIiksZ2V0OnMoYz0+Yy5nb0JyaWdodCwiZ2V0Iiksc2V0OnMoKGMscCk9PntjLmdvQnJpZ2h0PXB9LCJzZXQiKX0sbWV0YWRhdGE6ZH0sdCxyKSxXbXQodGhpcyxudWxsLGkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkb210b29scyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhjPT4iZG9tdG9vbHMiaW4gYywiaGFzIiksZ2V0OnMoYz0+Yy5kb210b29scywiZ2V0Iiksc2V0OnMoKGMscCk9PntjLmRvbXRvb2xzPXB9LCJzZXQiKX0sbWV0YWRhdGE6ZH0sbyxuKSxkJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmR9KX1zdGF0aWMgZ2V0Q29udGFpbmVyTmFtZSgpe3JldHVybiB0aGlzLmlzfHx0aGlzLm5hbWUucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZywiJDEtJDIiKS50b0xvd2VyQ2FzZSgpfXN0YXRpYyBjc3NGb3JDb25zdHJhaW50KGQpe3JldHVybiBjPT5BdC5icmVha3BvaW50cy5jc3NGb3JDb25zdHJhaW50Q29udGFpbmVyKGQsdGhpcy5nZXRDb250YWluZXJOYW1lKCkpKGMpfSNlPUJKKHRoaXMsdCwhMSk7Z2V0IGdvQnJpZ2h0KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGdvQnJpZ2h0KGQpe3RoaXMuI2U9ZH1kb210b29sc1Byb21pc2U9QkoodGhpcyxyKTsjdD1CSih0aGlzLG8sdm9pZCAwKTtnZXQgZG9tdG9vbHMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZG9tdG9vbHMoZCl7dGhpcy4jdD1kfXJ4U3Vic2NyaXB0aW9ucz0oQkoodGhpcyxuKSxbXSk7dGhlbWVTdWJzY3JpcHRpb247ZWxlbWVudERvbVJlYWR5RGVmZXJyZWQ9QXQucGx1Z2lucy5zbWFydHByb21pc2UuZGVmZXIoKTtlbGVtZW50RG9tUmVhZHk9dGhpcy5lbGVtZW50RG9tUmVhZHlEZWZlcnJlZC5wcm9taXNlO2NvbnN0cnVjdG9yKGQ9e30pe3N1cGVyKCksdGhpcy5kb210b29sc1Byb21pc2U9QXQuZWxlbWVudEJhc2ljLnNldHVwKHRoaXMsZCksdGhpcy5kb210b29sc1Byb21pc2UudGhlbihjPT57dGhpcy5kb210b29scz1jfSl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO2xldCBkPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMudGhlbWVTdWJzY3JpcHRpb249ZC50aGVtZU1hbmFnZXIudGhlbWVPYnNlcnZhYmxlLnN1YnNjcmliZShjPT57dGhpcy5nb0JyaWdodD1jLHRoaXMudGhlbWVDaGFuZ2VkJiZ0aGlzLnRoZW1lQ2hhbmdlZChjKX0pLHRoaXMucnhTdWJzY3JpcHRpb25zLnB1c2godGhpcy50aGVtZVN1YnNjcmlwdGlvbik7Zm9yKGxldCBjIG9mIHRoaXMuc3RhcnR1cEZ1bmN0aW9ucylhd2FpdCBjKCk7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVlc0VsZW1lbnRDb25uZWN0ZWQiKSl9Zmlyc3RVcGRhdGVkKGQpe3N1cGVyLmZpcnN0VXBkYXRlZChkKSx0aGlzLmVsZW1lbnREb21SZWFkeURlZmVycmVkLnJlc29sdmUoKX1zdGFydHVwRnVuY3Rpb25zPVtdO3JlZ2lzdGVyU3RhcnR1cEZ1bmN0aW9uKGQpe3RoaXMuc3RhcnR1cEZ1bmN0aW9ucy5wdXNoKGQpfWdhcmJhZ2VGdW5jdGlvbnM9W107cmVnaXN0ZXJHYXJiYWdlRnVuY3Rpb24oZCl7dGhpcy5nYXJiYWdlRnVuY3Rpb25zLnB1c2goZCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSxzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO2ZvcihsZXQgZCBvZiB0aGlzLnJ4U3Vic2NyaXB0aW9ucylkLnVuc3Vic2NyaWJlKCk7Zm9yKGxldCBkIG9mIHRoaXMuZ2FyYmFnZUZ1bmN0aW9ucylhd2FpdCBkKCk7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVlc0VsZW1lbnREaXNjb25uZWN0ZWQiKSl9fX0pKCl9KTtmdW5jdGlvbiBISigpe3JldHVybiBmdW5jdGlvbihhKXtsZXQgZT1hLmlzfHxhLm5hbWUucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZywiJDEtJDIiKS50b0xvd2VyQ2FzZSgpLHQ9YS5uYW1lP0xDYShhLm5hbWUpOm51bGw7aWYodCYmdCE9PWUpe2xldCBvPXMobD0+bCYmbC5jc3NUZXh0JiZsLmNzc1RleHQuaW5jbHVkZXMoYEBjb250YWluZXIgJHt0fWApP29hKGwuY3NzVGV4dC5yZXBsYWNlQWxsKGBAY29udGFpbmVyICR7dH1gLGBAY29udGFpbmVyICR7ZX1gKSk6bCwiZml4U3R5bGUiKSxuPWEuc3R5bGVzO0FycmF5LmlzQXJyYXkobik/YS5zdHlsZXM9bi5tYXAobyk6biYmKGEuc3R5bGVzPW8obikpfWxldCByPWtyLmNvbnRhaW5lckNvbnRleHRTdHlsZXMoZSksaT1hLnN0eWxlcztyZXR1cm4gQXJyYXkuaXNBcnJheShpKT9hLnN0eWxlcz1bLi4uaSxyXTppP2Euc3R5bGVzPVtpLHJdOmEuc3R5bGVzPVtyXSxhfX12YXIgTENhLFltdD1mKCgpPT57Z24oKTtlYSgpO0xDYT1zKGE9PmEucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZywiJDEtJDIiKS50b0xvd2VyQ2FzZSgpLCJjYW1lbFRvS2ViYWIiKTtzKEhKLCJjb250YWluZXJSZXNwb25zaXZlIil9KTt2YXIgJENhLEttdCx6NmUsRENhLEFDYSxQQ2EsRUNhLElDYSxDNmUsWm10LFlsLHcxLE5DYSx2YixfNmUseGIsVDZlLEY4PWYoKCk9Pnt0MSgpOyh7STokQ2F9PWVvZSksS210PXMoYT0+YSwiaSIpLHo2ZT1zKGE9PmE9PT1udWxsfHx0eXBlb2YgYSE9Im9iamVjdCImJnR5cGVvZiBhIT0iZnVuY3Rpb24iLCJuIiksRENhPXtIVE1MOjEsU1ZHOjIsTUFUSE1MOjN9LEFDYT1zKChhLGUpPT5lPT09dm9pZCAwP2E/Ll8kbGl0VHlwZSQhPT12b2lkIDA6YT8uXyRsaXRUeXBlJD09PWUsImwiKSxQQ2E9cyhhPT5hPy5fJGxpdFR5cGUkPy5oIT1udWxsLCJkIiksRUNhPXMoYT0+YT8uXyRsaXREaXJlY3RpdmUkIT09dm9pZCAwLCJjIiksSUNhPXMoYT0+YT8uXyRsaXREaXJlY3RpdmUkLCJmIiksQzZlPXMoYT0+YS5zdHJpbmdzPT09dm9pZCAwLCJyIiksWm10PXMoKCk9PmRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoIiIpLCJzIiksWWw9cygoYSxlLHQpPT57bGV0IHI9YS5fJEFBLnBhcmVudE5vZGUsaT1lPT09dm9pZCAwP2EuXyRBQjplLl8kQUE7aWYodD09PXZvaWQgMCl7bGV0IG89ci5pbnNlcnRCZWZvcmUoWm10KCksaSksbj1yLmluc2VydEJlZm9yZShabXQoKSxpKTt0PW5ldyAkQ2EobyxuLGEsYS5vcHRpb25zKX1lbHNle2xldCBvPXQuXyRBQi5uZXh0U2libGluZyxuPXQuXyRBTSxsPW4hPT1hO2lmKGwpe2xldCBkO3QuXyRBUT8uKGEpLHQuXyRBTT1hLHQuXyRBUCE9PXZvaWQgMCYmKGQ9YS5fJEFVKSE9PW4uXyRBVSYmdC5fJEFQKGQpfWlmKG8hPT1pfHxsKXtsZXQgZD10Ll8kQUE7Zm9yKDtkIT09bzspe2xldCBjPUttdChkKS5uZXh0U2libGluZztLbXQocikuaW5zZXJ0QmVmb3JlKGQsaSksZD1jfX19cmV0dXJuIHR9LCJ2IiksdzE9cygoYSxlLHQ9YSk9PihhLl8kQUkoZSx0KSxhKSwidSIpLE5DYT17fSx2Yj1zKChhLGU9TkNhKT0+YS5fJEFIPWUsInAiKSxfNmU9cyhhPT5hLl8kQUgsIk0iKSx4Yj1zKGE9PnthLl8kQVIoKSxhLl8kQUEucmVtb3ZlKCl9LCJoIiksVDZlPXMoYT0+e2EuXyRBUigpfSwiaiIpfSk7ZnVuY3Rpb24gUkNhKGEpe3RoaXMuXyRBTiE9PXZvaWQgMD8ocUoodGhpcyksdGhpcy5fJEFNPWEsWG10KHRoaXMpKTp0aGlzLl8kQU09YX1mdW5jdGlvbiBPQ2EoYSxlPSExLHQ9MCl7bGV0IHI9dGhpcy5fJEFILGk9dGhpcy5fJEFOO2lmKGkhPT12b2lkIDAmJmkuc2l6ZSE9PTApaWYoZSlpZihBcnJheS5pc0FycmF5KHIpKWZvcihsZXQgbz10O288ci5sZW5ndGg7bysrKXliKHJbb10sITEpLHFKKHJbb10pO2Vsc2UgciE9bnVsbCYmKHliKHIsITEpLHFKKHIpKTtlbHNlIHliKHRoaXMsYSl9dmFyIHliLHFKLFhtdCxGQ2EsUW8sVko9ZigoKT0+e0Y4KCk7R2woKTtHbCgpO3liPXMoKGEsZSk9PntsZXQgdD1hLl8kQU47aWYodD09PXZvaWQgMClyZXR1cm4hMTtmb3IobGV0IHIgb2YgdClyLl8kQU8/LihlLCExKSx5YihyLGUpO3JldHVybiEwfSwicyIpLHFKPXMoYT0+e2xldCBlLHQ7ZG97aWYoKGU9YS5fJEFNKT09PXZvaWQgMClicmVhazt0PWUuXyRBTix0LmRlbGV0ZShhKSxhPWV9d2hpbGUodD8uc2l6ZT09PTApfSwibyIpLFhtdD1zKGE9Pntmb3IobGV0IGU7ZT1hLl8kQU07YT1lKXtsZXQgdD1lLl8kQU47aWYodD09PXZvaWQgMCllLl8kQU49dD1uZXcgU2V0O2Vsc2UgaWYodC5oYXMoYSkpYnJlYWs7dC5hZGQoYSksRkNhKGUpfX0sInIiKTtzKFJDYSwiaCIpO3MoT0NhLCJuIik7RkNhPXMoYT0+e2EudHlwZT09QjIuQ0hJTEQmJihhLl8kQVA/Pz1PQ2EsYS5fJEFRPz89UkNhKX0sImMiKSxRbz1jbGFzcyBleHRlbmRzIEFue3N0YXRpY3tzKHRoaXMsImYiKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fJEFOPXZvaWQgMH1fJEFUKGUsdCxyKXtzdXBlci5fJEFUKGUsdCxyKSxYbXQodGhpcyksdGhpcy5pc0Nvbm5lY3RlZD1lLl8kQVV9XyRBTyhlLHQ9ITApe2UhPT10aGlzLmlzQ29ubmVjdGVkJiYodGhpcy5pc0Nvbm5lY3RlZD1lLGU/dGhpcy5yZWNvbm5lY3RlZD8uKCk6dGhpcy5kaXNjb25uZWN0ZWQ/LigpKSx0JiYoeWIodGhpcyxlKSxxSih0aGlzKSl9c2V0VmFsdWUoZSl7aWYoQzZlKHRoaXMuXyRDdCkpdGhpcy5fJEN0Ll8kQUkoZSx0aGlzKTtlbHNle2xldCB0PVsuLi50aGlzLl8kQ3QuXyRBSF07dFt0aGlzLl8kQ2ldPWUsdGhpcy5fJEN0Ll8kQUkodCx0aGlzLDApfX1kaXNjb25uZWN0ZWQoKXt9cmVjb25uZWN0ZWQoKXt9fX0pO3ZhciBqSj1mKCgpPT57VkooKX0pO3ZhciBMNmUsUW10LEJDYSxKbXQ9ZigoKT0+e2duKCk7akooKTtMNmU9Y2xhc3MgZXh0ZW5kcyBRb3tzdGF0aWN7cyh0aGlzLCJSZXNvbHZlRGlyZWN0aXZlIil9cHJvbWlzZTtoYXNQcm9taXNlU2V0dGxlZD0hMTtyZW5kZXIoZSl7cmV0dXJuIHRoaXMucHJvbWlzZSE9PWUmJih0aGlzLnByb21pc2U9ZSx0aGlzLmlzQ29ubmVjdGVkJiZ0aGlzLmhhbmRsZVByb21pc2UoZSkpLGxyfWhhbmRsZVByb21pc2UoZSl7dGhpcy5oYXNQcm9taXNlU2V0dGxlZD0hMSxlLnRoZW4odD0+e3RoaXMucHJvbWlzZT09PWUmJiF0aGlzLmhhc1Byb21pc2VTZXR0bGVkJiYodGhpcy5zZXRWYWx1ZSh0KSx0aGlzLmhhc1Byb21pc2VTZXR0bGVkPSEwKX0pLmNhdGNoKHQ9Pnt0aGlzLnByb21pc2U9PT1lJiYhdGhpcy5oYXNQcm9taXNlU2V0dGxlZCYmKHRoaXMuc2V0VmFsdWUodCksdGhpcy5oYXNQcm9taXNlU2V0dGxlZD0hMCl9KX1kaXNjb25uZWN0ZWQoKXt0aGlzLmhhc1Byb21pc2VTZXR0bGVkPSEwfXJlY29ubmVjdGVkKCl7dGhpcy5oYXNQcm9taXNlU2V0dGxlZHx8dGhpcy5oYW5kbGVQcm9taXNlKHRoaXMucHJvbWlzZSl9fSxRbXQ9aHMoTDZlKSxCQ2E9cyhhPT5RbXQoYSgpKSwicmVzb2x2ZUV4ZWMiKX0pO3ZhciAkNmUsSENhLGU3dD1mKCgpPT57Z24oKTtqSigpO3AyKCk7JDZlPWNsYXNzIGV4dGVuZHMgUW97c3RhdGlje3ModGhpcywiU3Vic2NyaWJlRGlyZWN0aXZlIil9b2JzZXJ2YWJsZTtzdWI9bnVsbDtyZW5kZXIoZSl7cmV0dXJuIHRoaXMub2JzZXJ2YWJsZSE9PWUmJih0aGlzLnN1Yj8udW5zdWJzY3JpYmUoKSx0aGlzLm9ic2VydmFibGU9ZSx0aGlzLmlzQ29ubmVjdGVkJiZ0aGlzLnN1YnNjcmliZShlKSksbHJ9c3Vic2NyaWJlKGUpe3RoaXMuc3ViPWUuc3Vic2NyaWJlKHQ9Pnt0aGlzLnNldFZhbHVlKHQpfSl9ZGlzY29ubmVjdGVkKCl7dGhpcy5zdWI/LnVuc3Vic2NyaWJlKCl9cmVjb25uZWN0ZWQoKXt0aGlzLnN1YnNjcmliZSh0aGlzLm9ic2VydmFibGUpfX0sSENhPWhzKCQ2ZSl9KTt2YXIgRDZlLHQ3dCxhN3Q9ZigoKT0+e2duKCk7akooKTtwMigpO0Q2ZT1jbGFzcyBleHRlbmRzIFFve3N0YXRpY3tzKHRoaXMsIlN1YnNjcmliZVdpdGhUZW1wbGF0ZURpcmVjdGl2ZSIpfW9ic2VydmFibGU7dGVtcGxhdGVGbjtzdWI9bnVsbDtyZW5kZXIoZSx0KXtyZXR1cm4odGhpcy5vYnNlcnZhYmxlIT09ZXx8dGhpcy50ZW1wbGF0ZUZuIT09dCkmJih0aGlzLnN1Yj8udW5zdWJzY3JpYmUoKSx0aGlzLm9ic2VydmFibGU9ZSx0aGlzLnRlbXBsYXRlRm49dCx0aGlzLmlzQ29ubmVjdGVkJiZ0aGlzLnN0YXJ0U3Vic2NyaXB0aW9uKCkpLGxyfXN0YXJ0U3Vic2NyaXB0aW9uKCl7dGhpcy5zdWI9dGhpcy5vYnNlcnZhYmxlLnN1YnNjcmliZShlPT57bGV0IHQ9dGhpcy50ZW1wbGF0ZUZuKGUpO3RoaXMuc2V0VmFsdWUodCl9KX1kaXNjb25uZWN0ZWQoKXt0aGlzLnN1Yj8udW5zdWJzY3JpYmUoKX1yZWNvbm5lY3RlZCgpe3RoaXMuc3RhcnRTdWJzY3JpcHRpb24oKX19LHQ3dD1ocyhENmUpfSk7dmFyIEE2ZSxpZCxvZCxQNmU9ZigoKT0+e0E2ZT1zKGFzeW5jKGEsZSk9Pntmb3IgYXdhaXQobGV0IHQgb2YgYSlpZihhd2FpdCBlKHQpPT09ITEpcmV0dXJufSwidCIpLGlkPWNsYXNze3N0YXRpY3tzKHRoaXMsInMiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLkc9ZX1kaXNjb25uZWN0KCl7dGhpcy5HPXZvaWQgMH1yZWNvbm5lY3QoZSl7dGhpcy5HPWV9ZGVyZWYoKXtyZXR1cm4gdGhpcy5HfX0sb2Q9Y2xhc3N7c3RhdGlje3ModGhpcywiaSIpfWNvbnN0cnVjdG9yKCl7dGhpcy5ZPXZvaWQgMCx0aGlzLlo9dm9pZCAwfWdldCgpe3JldHVybiB0aGlzLll9cGF1c2UoKXt0aGlzLlk/Pz1uZXcgUHJvbWlzZShlPT50aGlzLlo9ZSl9cmVzdW1lKCl7dGhpcy5aPy4oKSx0aGlzLlk9dGhpcy5aPXZvaWQgMH19fSk7dmFyIHI3dCxzN3QsVUosRTZlLGk3dD1mKCgpPT57dDEoKTtGOCgpO1ZKKCk7UDZlKCk7R2woKTtyN3Q9cyhhPT4hejZlKGEpJiZ0eXBlb2YgYS50aGVuPT0iZnVuY3Rpb24iLCJuIiksczd0PTEwNzM3NDE4MjMsVUo9Y2xhc3MgZXh0ZW5kcyBRb3tzdGF0aWN7cyh0aGlzLCJjIil9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuXyRDd3Q9czd0LHRoaXMuXyRDYnQ9W10sdGhpcy5fJENLPW5ldyBpZCh0aGlzKSx0aGlzLl8kQ1g9bmV3IG9kfXJlbmRlciguLi5lKXtyZXR1cm4gZS5maW5kKHQ9PiFyN3QodCkpPz9scn11cGRhdGUoZSx0KXtsZXQgcj10aGlzLl8kQ2J0LGk9ci5sZW5ndGg7dGhpcy5fJENidD10O2xldCBvPXRoaXMuXyRDSyxuPXRoaXMuXyRDWDt0aGlzLmlzQ29ubmVjdGVkfHx0aGlzLmRpc2Nvbm5lY3RlZCgpO2ZvcihsZXQgbD0wO2w8dC5sZW5ndGgmJiEobD50aGlzLl8kQ3d0KTtsKyspe2xldCBkPXRbbF07aWYoIXI3dChkKSlyZXR1cm4gdGhpcy5fJEN3dD1sLGQ7bDxpJiZkPT09cltsXXx8KHRoaXMuXyRDd3Q9czd0LGk9MCxQcm9taXNlLnJlc29sdmUoZCkudGhlbihhc3luYyBjPT57Zm9yKDtuLmdldCgpOylhd2FpdCBuLmdldCgpO2xldCBwPW8uZGVyZWYoKTtpZihwIT09dm9pZCAwKXtsZXQgdT1wLl8kQ2J0LmluZGV4T2YoZCk7dT4tMSYmdTxwLl8kQ3d0JiYocC5fJEN3dD11LHAuc2V0VmFsdWUoYykpfX0pKX1yZXR1cm4gbHJ9ZGlzY29ubmVjdGVkKCl7dGhpcy5fJENLLmRpc2Nvbm5lY3QoKSx0aGlzLl8kQ1gucGF1c2UoKX1yZWNvbm5lY3RlZCgpe3RoaXMuXyRDSy5yZWNvbm5lY3QodGhpcyksdGhpcy5fJENYLnJlc3VtZSgpfX0sRTZlPWhzKFVKKX0pO3ZhciBvN3Q9ZigoKT0+e2k3dCgpfSk7dmFyIEI4LHFDYSxuN3Q9ZigoKT0+e3QxKCk7VkooKTtQNmUoKTtHbCgpO0I4PWNsYXNzIGV4dGVuZHMgUW97c3RhdGlje3ModGhpcywibyIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl8kQ0s9bmV3IGlkKHRoaXMpLHRoaXMuXyRDWD1uZXcgb2R9cmVuZGVyKGUsdCl7cmV0dXJuIGxyfXVwZGF0ZShlLFt0LHJdKXtpZih0aGlzLmlzQ29ubmVjdGVkfHx0aGlzLmRpc2Nvbm5lY3RlZCgpLHQ9PT10aGlzLl8kQ0opcmV0dXJuIGxyO3RoaXMuXyRDSj10O2xldCBpPTAse18kQ0s6byxfJENYOm59PXRoaXM7cmV0dXJuIEE2ZSh0LGFzeW5jIGw9Pntmb3IoO24uZ2V0KCk7KWF3YWl0IG4uZ2V0KCk7bGV0IGQ9by5kZXJlZigpO2lmKGQhPT12b2lkIDApe2lmKGQuXyRDSiE9PXQpcmV0dXJuITE7ciE9PXZvaWQgMCYmKGw9cihsLGkpKSxkLmNvbW1pdFZhbHVlKGwsaSksaSsrfXJldHVybiEwfSksbHJ9Y29tbWl0VmFsdWUoZSx0KXt0aGlzLnNldFZhbHVlKGUpfWRpc2Nvbm5lY3RlZCgpe3RoaXMuXyRDSy5kaXNjb25uZWN0KCksdGhpcy5fJENYLnBhdXNlKCl9cmVjb25uZWN0ZWQoKXt0aGlzLl8kQ0sucmVjb25uZWN0KHRoaXMpLHRoaXMuXyRDWC5yZXN1bWUoKX19LHFDYT1ocyhCOCl9KTt2YXIgSTZlLGw3dD1mKCgpPT57R2woKTtuN3QoKTtGOCgpO0k2ZT1ocyhjbGFzcyBleHRlbmRzIEI4e2NvbnN0cnVjdG9yKGEpe2lmKHN1cGVyKGEpLGEudHlwZSE9PUIyLkNISUxEKXRocm93IEVycm9yKCJhc3luY0FwcGVuZCBjYW4gb25seSBiZSB1c2VkIGluIGNoaWxkIGV4cHJlc3Npb25zIil9dXBkYXRlKGEsZSl7cmV0dXJuIHRoaXMuXyRDdHQ9YSxzdXBlci51cGRhdGUoYSxlKX1jb21taXRWYWx1ZShhLGUpe2U9PT0wJiZUNmUodGhpcy5fJEN0dCk7bGV0IHQ9WWwodGhpcy5fJEN0dCk7dzEodCxhKX19KX0pO3ZhciBjN3Q9ZigoKT0+e2w3dCgpfSk7dmFyIE42ZSxkN3Q9ZigoKT0+e3QxKCk7R2woKTtGOCgpO042ZT1ocyhjbGFzcyBleHRlbmRzIEFue2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmtleT14cn1yZW5kZXIoYSxlKXtyZXR1cm4gdGhpcy5rZXk9YSxlfXVwZGF0ZShhLFtlLHRdKXtyZXR1cm4gZSE9PXRoaXMua2V5JiYodmIoYSksdGhpcy5rZXk9ZSksdH19KX0pO3ZhciB1N3Q9ZigoKT0+e2Q3dCgpfSk7dmFyIHA3dCxSNmUsZjd0PWYoKCk9Pnt0MSgpO0dsKCk7RjgoKTtwN3Q9cygoYSxlLHQpPT57bGV0IHI9bmV3IE1hcDtmb3IobGV0IGk9ZTtpPD10O2krKylyLnNldChhW2ldLGkpO3JldHVybiByfSwidSIpLFI2ZT1ocyhjbGFzcyBleHRlbmRzIEFue2NvbnN0cnVjdG9yKGEpe2lmKHN1cGVyKGEpLGEudHlwZSE9PUIyLkNISUxEKXRocm93IEVycm9yKCJyZXBlYXQoKSBjYW4gb25seSBiZSB1c2VkIGluIHRleHQgZXhwcmVzc2lvbnMiKX1kdChhLGUsdCl7bGV0IHI7dD09PXZvaWQgMD90PWU6ZSE9PXZvaWQgMCYmKHI9ZSk7bGV0IGk9W10sbz1bXSxuPTA7Zm9yKGxldCBsIG9mIGEpaVtuXT1yP3IobCxuKTpuLG9bbl09dChsLG4pLG4rKztyZXR1cm57dmFsdWVzOm8sa2V5czppfX1yZW5kZXIoYSxlLHQpe3JldHVybiB0aGlzLmR0KGEsZSx0KS52YWx1ZXN9dXBkYXRlKGEsW2UsdCxyXSl7bGV0IGk9XzZlKGEpLHt2YWx1ZXM6byxrZXlzOm59PXRoaXMuZHQoZSx0LHIpO2lmKCFBcnJheS5pc0FycmF5KGkpKXJldHVybiB0aGlzLnV0PW4sbztsZXQgbD10aGlzLnV0Pz89W10sZD1bXSxjLHAsdT0wLG09aS5sZW5ndGgtMSx2PTAseD1vLmxlbmd0aC0xO2Zvcig7dTw9bSYmdjw9eDspaWYoaVt1XT09PW51bGwpdSsrO2Vsc2UgaWYoaVttXT09PW51bGwpbS0tO2Vsc2UgaWYobFt1XT09PW5bdl0pZFt2XT13MShpW3VdLG9bdl0pLHUrKyx2Kys7ZWxzZSBpZihsW21dPT09blt4XSlkW3hdPXcxKGlbbV0sb1t4XSksbS0tLHgtLTtlbHNlIGlmKGxbdV09PT1uW3hdKWRbeF09dzEoaVt1XSxvW3hdKSxZbChhLGRbeCsxXSxpW3VdKSx1KysseC0tO2Vsc2UgaWYobFttXT09PW5bdl0pZFt2XT13MShpW21dLG9bdl0pLFlsKGEsaVt1XSxpW21dKSxtLS0sdisrO2Vsc2UgaWYoYz09PXZvaWQgMCYmKGM9cDd0KG4sdix4KSxwPXA3dChsLHUsbSkpLGMuaGFzKGxbdV0pKWlmKGMuaGFzKGxbbV0pKXtsZXQgYj1wLmdldChuW3ZdKSxnPWIhPT12b2lkIDA/aVtiXTpudWxsO2lmKGc9PT1udWxsKXtsZXQgeT1ZbChhLGlbdV0pO3cxKHksb1t2XSksZFt2XT15fWVsc2UgZFt2XT13MShnLG9bdl0pLFlsKGEsaVt1XSxnKSxpW2JdPW51bGw7disrfWVsc2UgeGIoaVttXSksbS0tO2Vsc2UgeGIoaVt1XSksdSsrO2Zvcig7djw9eDspe2xldCBiPVlsKGEsZFt4KzFdKTt3MShiLG9bdl0pLGRbdisrXT1ifWZvcig7dTw9bTspe2xldCBiPWlbdSsrXTtiIT09bnVsbCYmeGIoYil9cmV0dXJuIHRoaXMudXQ9bix2YihhLGQpLGxyfX0pfSk7dmFyIGg3dD1mKCgpPT57Zjd0KCl9KTt2YXIgSm89e307bHQoSm8se2FzeW5jQXBwZW5kOigpPT5JNmUsa2V5ZWQ6KCk9Pk42ZSxyZXBlYXQ6KCk9PlI2ZSxyZXNvbHZlOigpPT5RbXQscmVzb2x2ZUV4ZWM6KCk9PkJDYSxzdWJzY3JpYmU6KCk9PkhDYSxzdWJzY3JpYmVXaXRoVGVtcGxhdGU6KCk9PnQ3dCx1bnRpbDooKT0+RTZlfSk7dmFyIG03dD1mKCgpPT57Sm10KCk7ZTd0KCk7YTd0KCk7bzd0KCk7Yzd0KCk7dTd0KCk7aDd0KCl9KTt2YXIgbmQ9e307bHQobmQse0RlZXNFbGVtZW50OigpPT5wZSxjb250YWluZXJSZXNwb25zaXZlOigpPT5ISixjc3M6KCk9PlgsY3NzTWFuYWdlcjooKT0+aCxjdXN0b21FbGVtZW50OigpPT5pZSxkaXJlY3RpdmVzOigpPT5Kbyxkb210b29sczooKT0+QXQsaHRtbDooKT0+dyxwcm9wZXJ0eTooKT0+JCxxdWVyeTooKT0+TTZlLHF1ZXJ5QWxsOigpPT5rNmUscXVlcnlBc3luYzooKT0+UzZlLHJlbmRlcjooKT0+WmMsc3RhdGU6KCk9Pkssc3RhdGljOigpPT5XbCx1bnNhZmVDU1M6KCk9Pm9hLHVuc2FmZUhUTUw6KCk9PmJiLHVuc2FmZVN0YXRpYzooKT0+eDZlfSk7dmFyIGgsbGU9ZigoKT0+eyRtdCgpO2duKCk7UG10KCk7SW10KCk7Um10KCk7VW10KCk7ZWEoKTtHbXQoKTtZbXQoKTttN3QoKTtoPU9KLmdldFNpbmdsZXRvbigpfSk7ZnVuY3Rpb24gVkNhKGEsZSl7bGV0IHQ9UHNbYV07cmV0dXJuIHR5cGVvZiB0PT0ib2JqZWN0IiYmZT90W2VdfHwiYXV0byI6dHlwZW9mIHQ9PSJudW1iZXIiP3Q6ImF1dG8ifXZhciBQcyxqQ2EsV0osWHQsR2k9ZigoKT0+e1BzPXtiYXNlOntjb250ZW50OiJhdXRvIixpbnB1dEVsZW1lbnRzOjF9LGZpeGVkOnthcHBCYXI6MTAsc2lkZU1lbnU6MTAsbW9iaWxlTmF2OjI1MH0sYmFja2Ryb3A6e2Ryb3Bkb3duOjE5OTksbW9kYWw6Mjk5OSxjb250ZXh0TWVudTozOTk5fSxvdmVybGF5Ontkcm9wZG93bjoyZTMsbW9kYWw6M2UzLGNvbnRleHRNZW51OjRlMyx0b2FzdDo1ZTN9LG1vZGFsRHJvcGRvd246MzUwMCx3eXNpd3lnTWVudXM6NDUwMH07cyhWQ2EsImdldFpJbmRleCIpO2pDYT17ImRlZXMtbW9kYWwiOlBzLm92ZXJsYXkubW9kYWwsImRlZXMtd2luZG93bGF5ZXIiOlBzLm92ZXJsYXkuZHJvcGRvd24sImRlZXMtY29udGV4dG1lbnUiOlBzLm92ZXJsYXkuY29udGV4dE1lbnUsImRlZXMtdG9hc3QiOlBzLm92ZXJsYXkudG9hc3QsImRlZXMtYXBwdWktbWFpbm1lbnUiOlBzLmZpeGVkLmFwcEJhciwiZGVlcy1tb2JpbGVuYXZpZ2F0aW9uIjpQcy5maXhlZC5tb2JpbGVOYXYsImRlZXMtc2xhc2gtbWVudSI6UHMud3lzaXd5Z01lbnVzLCJkZWVzLWZvcm1hdHRpbmctbWVudSI6UHMud3lzaXd5Z01lbnVzfSxXSj1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlpJbmRleFJlZ2lzdHJ5Iil9c3RhdGljIGluc3RhbmNlO2FjdGl2ZUVsZW1lbnRzPW5ldyBTZXQ7ZWxlbWVudFpJbmRleE1hcD1uZXcgV2Vha01hcDtjdXJyZW50WkluZGV4PTFlMztjb25zdHJ1Y3Rvcigpe31zdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gYS5pbnN0YW5jZXx8KGEuaW5zdGFuY2U9bmV3IGEpLGEuaW5zdGFuY2V9Z2V0TmV4dFpJbmRleCgpe3JldHVybiB0aGlzLmN1cnJlbnRaSW5kZXgrPTEwLHRoaXMuY3VycmVudFpJbmRleH1yZWdpc3RlcihlLHQpe3RoaXMuYWN0aXZlRWxlbWVudHMuYWRkKGUpLHRoaXMuZWxlbWVudFpJbmRleE1hcC5zZXQoZSx0KX11bnJlZ2lzdGVyKGUpe3RoaXMuYWN0aXZlRWxlbWVudHMuZGVsZXRlKGUpLHRoaXMuZWxlbWVudFpJbmRleE1hcC5kZWxldGUoZSksdGhpcy5hY3RpdmVFbGVtZW50cy5zaXplPT09MCYmKHRoaXMuY3VycmVudFpJbmRleD0xZTMpfWdldEVsZW1lbnRaSW5kZXgoZSl7cmV0dXJuIHRoaXMuZWxlbWVudFpJbmRleE1hcC5nZXQoZSl9Z2V0QWN0aXZlQ291bnQoKXtyZXR1cm4gdGhpcy5hY3RpdmVFbGVtZW50cy5zaXplfWdldEN1cnJlbnRaSW5kZXgoKXtyZXR1cm4gdGhpcy5jdXJyZW50WkluZGV4fWNsZWFyKCl7dGhpcy5hY3RpdmVFbGVtZW50cy5jbGVhcigpLHRoaXMuZWxlbWVudFpJbmRleE1hcD1uZXcgV2Vha01hcCx0aGlzLmN1cnJlbnRaSW5kZXg9MWUzfWdldEFjdGl2ZUVsZW1lbnRzSW5PcmRlcigpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuYWN0aXZlRWxlbWVudHMpLnNvcnQoKGUsdCk9PntsZXQgcj10aGlzLmVsZW1lbnRaSW5kZXhNYXAuZ2V0KGUpfHwwLGk9dGhpcy5lbGVtZW50WkluZGV4TWFwLmdldCh0KXx8MDtyZXR1cm4gci1pfSl9fSxYdD1XSi5nZXRJbnN0YW5jZSgpfSk7dmFyIGVuLE9yLEZyLFBlLFFlPWYoKCk9PntsZSgpO2VuPXtjb2xvcnM6e2xpZ2h0OntiZ1ByaW1hcnk6ImhzbCgwIDAlIDEwMCUpIixiZ1NlY29uZGFyeToiaHNsKDAgMCUgOTglKSIsYmdUZXJ0aWFyeToiaHNsKDAgMCUgOTYlKSIsdGV4dFByaW1hcnk6ImhzbCgwIDAlIDMuOSUpIix0ZXh0U2Vjb25kYXJ5OiJoc2woMCAwJSAyMCUpIix0ZXh0TXV0ZWQ6ImhzbCgwIDAlIDQ1JSkiLHRleHRXYXJtOiIjNzg3MTZjIixib3JkZXJEZWZhdWx0OiJoc2woMCAwJSA4OS44JSkiLGJvcmRlclN1YnRsZToiaHNsKDAgMCUgOTMlKSIsYm9yZGVyU3Ryb25nOiJoc2woMCAwJSA4MCUpIixhY2NlbnRQcmltYXJ5OiIjM2I4MmY2IixhY2NlbnRTdWNjZXNzOiIjMjJjNTVlIixhY2NlbnRXYXJuaW5nOiIjZjU5ZTBiIixhY2NlbnRFcnJvcjoiI2VmNDQ0NCIsYmFkZ2VEZWZhdWx0Qmc6IiNmNGY0ZjUiLGJhZGdlRGVmYXVsdEZnOiIjM2YzZjQ2IixiYWRnZVN1Y2Nlc3NCZzoiI2RjZmNlNyIsYmFkZ2VTdWNjZXNzRmc6IiMxNjY1MzQiLGJhZGdlV2FybmluZ0JnOiIjZmVmM2M3IixiYWRnZVdhcm5pbmdGZzoiIzkyNDAwZSIsYmFkZ2VFcnJvckJnOiIjZmVlMmUyIixiYWRnZUVycm9yRmc6IiM5OTFiMWIifSxkYXJrOntiZ1ByaW1hcnk6ImhzbCgwIDAlIDMuOSUpIixiZ1NlY29uZGFyeToiaHNsKDAgMCUgMy45JSkiLGJnVGVydGlhcnk6ImhzbCgwIDAlIDclKSIsdGV4dFByaW1hcnk6ImhzbCgwIDAlIDk4JSkiLHRleHRTZWNvbmRhcnk6ImhzbCgwIDAlIDYzLjklKSIsdGV4dE11dGVkOiJoc2woMCAwJSA1NSUpIix0ZXh0V2FybToiI2I1YTk5YSIsYm9yZGVyRGVmYXVsdDoiaHNsKDAgMCUgMTQuOSUpIixib3JkZXJTdWJ0bGU6ImhzbCgwIDAlIDExJSkiLGJvcmRlclN0cm9uZzoiaHNsKDAgMCUgMjAlKSIsYWNjZW50UHJpbWFyeToiIzNiODJmNiIsYWNjZW50U3VjY2VzczoiIzIyYzU1ZSIsYWNjZW50V2FybmluZzoiI2Y1OWUwYiIsYWNjZW50RXJyb3I6IiNlZjQ0NDQiLGJhZGdlRGVmYXVsdEJnOiIjMjcyNzJhIixiYWRnZURlZmF1bHRGZzoiI2ExYTFhYSIsYmFkZ2VTdWNjZXNzQmc6IiMxNDUzMmQiLGJhZGdlU3VjY2Vzc0ZnOiIjNGFkZTgwIixiYWRnZVdhcm5pbmdCZzoiIzQ1MWEwMyIsYmFkZ2VXYXJuaW5nRmc6IiNmYmJmMjQiLGJhZGdlRXJyb3JCZzoiIzQ1MGEwYSIsYmFkZ2VFcnJvckZnOiIjZjg3MTcxIn19LHNwYWNpbmc6e3hzOiI0cHgiLHNtOiI4cHgiLG1kOiIxMnB4IixsZzoiMTZweCIseGw6IjI0cHgiLCIyeGwiOiIzMnB4IiwiM3hsIjoiNDhweCJ9LHJhZGl1czp7eHM6IjJweCIsc206IjRweCIsbWQ6IjZweCIsbGc6IjhweCIseGw6IjEycHgiLGZ1bGw6Ijk5OXB4In0sc2hhZG93czp7eHM6IjAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpIixzbToiMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSIsbWQ6IjAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpIixsZzoiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpIn0sdHJhbnNpdGlvbnM6e2Zhc3Q6IjAuMXMiLGRlZmF1bHQ6IjAuMTVzIixzbG93OiIwLjJzIixzbG93ZXI6IjAuM3MifSxjb250cm9sSGVpZ2h0czp7c206IjMycHgiLG1kOiIzNnB4IixsZzoiNDBweCIseGw6IjQ4cHgifX0sT3I9ZW4uY29sb3JzLmxpZ2h0LEZyPWVuLmNvbG9ycy5kYXJrLFBlPVhgCiAgOmhvc3QgewogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogQ29sb3JzIOKAlCBCYWNrZ3JvdW5kIChmcm9tIHRoZW1lRGVmYXVsdHMpCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29sb3ItYmctcHJpbWFyeTogJHtoLmJkVGhlbWUoT3IuYmdQcmltYXJ5LEZyLmJnUHJpbWFyeSl9OwogICAgLS1kZWVzLWNvbG9yLWJnLXNlY29uZGFyeTogJHtoLmJkVGhlbWUoT3IuYmdTZWNvbmRhcnksRnIuYmdTZWNvbmRhcnkpfTsKICAgIC0tZGVlcy1jb2xvci1iZy10ZXJ0aWFyeTogJHtoLmJkVGhlbWUoT3IuYmdUZXJ0aWFyeSxGci5iZ1RlcnRpYXJ5KX07CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogQ29sb3JzIOKAlCBUZXh0IChmcm9tIHRoZW1lRGVmYXVsdHMpCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5OiAke2guYmRUaGVtZShPci50ZXh0UHJpbWFyeSxGci50ZXh0UHJpbWFyeSl9OwogICAgLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5OiAke2guYmRUaGVtZShPci50ZXh0U2Vjb25kYXJ5LEZyLnRleHRTZWNvbmRhcnkpfTsKICAgIC0tZGVlcy1jb2xvci10ZXh0LW11dGVkOiAke2guYmRUaGVtZShPci50ZXh0TXV0ZWQsRnIudGV4dE11dGVkKX07CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogQ29sb3JzIOKAlCBCb3JkZXIgKGZyb20gdGhlbWVEZWZhdWx0cykKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdDogJHtoLmJkVGhlbWUoT3IuYm9yZGVyRGVmYXVsdCxGci5ib3JkZXJEZWZhdWx0KX07CiAgICAtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZTogJHtoLmJkVGhlbWUoT3IuYm9yZGVyU3VidGxlLEZyLmJvcmRlclN1YnRsZSl9OwogICAgLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmc6ICR7aC5iZFRoZW1lKE9yLmJvcmRlclN0cm9uZyxGci5ib3JkZXJTdHJvbmcpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIFdhcm0gVGV4dCAoZnJvbSB0aGVtZURlZmF1bHRzKQogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLWNvbG9yLXRleHQtd2FybTogJHtoLmJkVGhlbWUoT3IudGV4dFdhcm0sRnIudGV4dFdhcm0pfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIEFjY2VudCAoZnJvbSB0aGVtZURlZmF1bHRzKQogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLWNvbG9yLWFjY2VudC1wcmltYXJ5OiAke2guYmRUaGVtZShPci5hY2NlbnRQcmltYXJ5LEZyLmFjY2VudFByaW1hcnkpfTsKICAgIC0tZGVlcy1jb2xvci1hY2NlbnQtc3VjY2VzczogJHtoLmJkVGhlbWUoT3IuYWNjZW50U3VjY2VzcyxGci5hY2NlbnRTdWNjZXNzKX07CiAgICAtLWRlZXMtY29sb3ItYWNjZW50LXdhcm5pbmc6ICR7aC5iZFRoZW1lKE9yLmFjY2VudFdhcm5pbmcsRnIuYWNjZW50V2FybmluZyl9OwogICAgLS1kZWVzLWNvbG9yLWFjY2VudC1lcnJvcjogJHtoLmJkVGhlbWUoT3IuYWNjZW50RXJyb3IsRnIuYWNjZW50RXJyb3IpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIEJhZGdlIChmcm9tIHRoZW1lRGVmYXVsdHMpCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29sb3ItYmFkZ2UtZGVmYXVsdC1iZzogJHtoLmJkVGhlbWUoT3IuYmFkZ2VEZWZhdWx0QmcsRnIuYmFkZ2VEZWZhdWx0QmcpfTsKICAgIC0tZGVlcy1jb2xvci1iYWRnZS1kZWZhdWx0LWZnOiAke2guYmRUaGVtZShPci5iYWRnZURlZmF1bHRGZyxGci5iYWRnZURlZmF1bHRGZyl9OwogICAgLS1kZWVzLWNvbG9yLWJhZGdlLXN1Y2Nlc3MtYmc6ICR7aC5iZFRoZW1lKE9yLmJhZGdlU3VjY2Vzc0JnLEZyLmJhZGdlU3VjY2Vzc0JnKX07CiAgICAtLWRlZXMtY29sb3ItYmFkZ2Utc3VjY2Vzcy1mZzogJHtoLmJkVGhlbWUoT3IuYmFkZ2VTdWNjZXNzRmcsRnIuYmFkZ2VTdWNjZXNzRmcpfTsKICAgIC0tZGVlcy1jb2xvci1iYWRnZS13YXJuaW5nLWJnOiAke2guYmRUaGVtZShPci5iYWRnZVdhcm5pbmdCZyxGci5iYWRnZVdhcm5pbmdCZyl9OwogICAgLS1kZWVzLWNvbG9yLWJhZGdlLXdhcm5pbmctZmc6ICR7aC5iZFRoZW1lKE9yLmJhZGdlV2FybmluZ0ZnLEZyLmJhZGdlV2FybmluZ0ZnKX07CiAgICAtLWRlZXMtY29sb3ItYmFkZ2UtZXJyb3ItYmc6ICR7aC5iZFRoZW1lKE9yLmJhZGdlRXJyb3JCZyxGci5iYWRnZUVycm9yQmcpfTsKICAgIC0tZGVlcy1jb2xvci1iYWRnZS1lcnJvci1mZzogJHtoLmJkVGhlbWUoT3IuYmFkZ2VFcnJvckZnLEZyLmJhZGdlRXJyb3JGZyl9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgSW50ZXJhY3RpdmUgU3RhdGVzCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29sb3ItaG92ZXI6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDQpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgIC0tZGVlcy1jb2xvci1hY3RpdmU6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSIpfTsKICAgIC0tZGVlcy1jb2xvci1wcmVzc2VkOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA4KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikiKX07CiAgICAtLWRlZXMtY29sb3Itcm93LWhvdmVyOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4wNikiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA4KSIpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIEZvY3VzIFJpbmcKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1mb2N1cy1yaW5nOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuNCkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC40KSIpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIFRvb2x0aXAgKGludmVydGVkIGNvbnRyYXN0KQogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLWNvbG9yLXRvb2x0aXAtYmc6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgIC0tZGVlcy1jb2xvci10b29sdGlwLWZnOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogQ29sb3JzIOKAlCBMaW5rCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29sb3ItbGluazogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgLS1kZWVzLWNvbG9yLWxpbmstaG92ZXI6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzkzYmJmZCIpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIENvZGUKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1jb2RlLWJnOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA2KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgIC0tZGVlcy1jb2xvci1jb2RlLWJsb2NrLWJnOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogQ29sb3JzIOKAlCBTZWxlY3Rpb24KICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1zZWxlY3Rpb246ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpIil9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgU2Nyb2xsYmFyCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29sb3Itc2Nyb2xsYmFyLXRodW1iOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjE1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkiKX07CiAgICAtLWRlZXMtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWhvdmVyOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjI1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkiKX07CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogU3BhY2luZyBTY2FsZQogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLXNwYWNpbmcteHM6IDRweDsKICAgIC0tZGVlcy1zcGFjaW5nLXNtOiA4cHg7CiAgICAtLWRlZXMtc3BhY2luZy1tZDogMTJweDsKICAgIC0tZGVlcy1zcGFjaW5nLWxnOiAxNnB4OwogICAgLS1kZWVzLXNwYWNpbmcteGw6IDI0cHg7CiAgICAtLWRlZXMtc3BhY2luZy0yeGw6IDMycHg7CiAgICAtLWRlZXMtc3BhY2luZy0zeGw6IDQ4cHg7CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogQm9yZGVyIFJhZGl1cyBTY2FsZQogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLXJhZGl1cy14czogMnB4OwogICAgLS1kZWVzLXJhZGl1cy1zbTogNHB4OwogICAgLS1kZWVzLXJhZGl1cy1tZDogNnB4OwogICAgLS1kZWVzLXJhZGl1cy1sZzogOHB4OwogICAgLS1kZWVzLXJhZGl1cy14bDogMTJweDsKICAgIC0tZGVlcy1yYWRpdXMtZnVsbDogOTk5cHg7CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogU2hhZG93IEVsZXZhdGlvbiBTY2FsZQogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLXNoYWRvdy14czogMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4wNSk7CiAgICAtLWRlZXMtc2hhZG93LXNtOiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgLS1kZWVzLXNoYWRvdy1tZDogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAtLWRlZXMtc2hhZG93LWxnOiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogVHJhbnNpdGlvbiBEdXJhdGlvbiBTY2FsZQogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLXRyYW5zaXRpb24tZmFzdDogMC4xczsKICAgIC0tZGVlcy10cmFuc2l0aW9uLWRlZmF1bHQ6IDAuMTVzOwogICAgLS1kZWVzLXRyYW5zaXRpb24tc2xvdzogMC4yczsKICAgIC0tZGVlcy10cmFuc2l0aW9uLXNsb3dlcjogMC4zczsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb250cm9sIEhlaWdodCBTY2FsZQogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LXNtOiAzMnB4OwogICAgLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LW1kOiAzNnB4OwogICAgLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LWxnOiA0MHB4OwogICAgLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LXhsOiA0OHB4OwogIH0KYH0pO3ZhciBXcz1mKCgpPT57YmkoKTskbigpfSk7dmFyIGc3dCxiN3Q9ZigoKT0+e2xlKCk7V3MoKTtYcigpO2c3dD1zKCgpPT53YAo8c3R5bGU+CiAgLndpdGhNYXJnaW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW46IDIwcHg7CiAgfQogIC5kZW1vLWNvbnRhaW5lciB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogMjBweDsKICAgIHBhZGRpbmc6IDIwcHg7CiAgICBtaW4taGVpZ2h0OiA0MDBweDsKICB9CiAgLmRlbW8tYXJlYSB7CiAgICBwYWRkaW5nOiA0MHB4OwogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgY3Vyc29yOiBjb250ZXh0LW1lbnU7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7CiAgfQogIC5kZW1vLWFyZWE6aG92ZXIgewogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAyKTsKICB9Cjwvc3R5bGU+CjxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICA8ZGVlcy1wYW5lbCBoZWFkaW5nPSJCYXNpYyBDb250ZXh0IE1lbnUgd2l0aCBOZXN0ZWQgU3VibWVudXMiPgogICAgPGRpdiBjbGFzcz0iZGVtby1hcmVhIiBAY29udGV4dG1lbnU9JHthPT57dGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoYSxbe25hbWU6IkZpbGUiLGljb25OYW1lOiJmaWxlVGV4dCIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJOZXciLGljb25OYW1lOiJmaWxlUGx1cyIsc2hvcnRjdXQ6IkNtZCtOIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiTmV3IGZpbGUiKSwiYWN0aW9uIil9LHtuYW1lOiJPcGVuIixpY29uTmFtZToiZm9sZGVyT3BlbiIsc2hvcnRjdXQ6IkNtZCtPIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiBmaWxlIiksImFjdGlvbiIpfSx7bmFtZToiU2F2ZSIsaWNvbk5hbWU6InNhdmUiLHNob3J0Y3V0OiJDbWQrUyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNhdmUiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRXhwb3J0IGFzIFBERiIsaWNvbk5hbWU6ImRvd25sb2FkIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRXhwb3J0IFBERiIpLCJhY3Rpb24iKX0se25hbWU6IkV4cG9ydCBhcyBIVE1MIixpY29uTmFtZToiY29kZSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkV4cG9ydCBIVE1MIiksImFjdGlvbiIpfV19LHtuYW1lOiJFZGl0IixpY29uTmFtZToiZWRpdDMiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiQ3V0IixpY29uTmFtZToic2Npc3NvcnMiLHNob3J0Y3V0OiJDbWQrWCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkN1dCIpLCJhY3Rpb24iKX0se25hbWU6IkNvcHkiLGljb25OYW1lOiJjb3B5IixzaG9ydGN1dDoiQ21kK0MiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJDb3B5IiksImFjdGlvbiIpfSx7bmFtZToiUGFzdGUiLGljb25OYW1lOiJjbGlwYm9hcmQiLHNob3J0Y3V0OiJDbWQrViIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlBhc3RlIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkZpbmQiLGljb25OYW1lOiJzZWFyY2giLHNob3J0Y3V0OiJDbWQrRiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkZpbmQiKSwiYWN0aW9uIil9LHtuYW1lOiJSZXBsYWNlIixpY29uTmFtZToicmVwZWF0IixzaG9ydGN1dDoiQ21kK0giLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZXBsYWNlIiksImFjdGlvbiIpfV19LHtuYW1lOiJWaWV3IixpY29uTmFtZToiZXllIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6Ilpvb20gSW4iLGljb25OYW1lOiJ6b29tSW4iLHNob3J0Y3V0OiJDbWQrKyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlpvb20gaW4iKSwiYWN0aW9uIil9LHtuYW1lOiJab29tIE91dCIsaWNvbk5hbWU6Inpvb21PdXQiLHNob3J0Y3V0OiJDbWQrLSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlpvb20gb3V0IiksImFjdGlvbiIpfSx7bmFtZToiUmVzZXQgWm9vbSIsaWNvbk5hbWU6Im1heGltaXplMiIsc2hvcnRjdXQ6IkNtZCswIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUmVzZXQgem9vbSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJGdWxsIFNjcmVlbiIsaWNvbk5hbWU6Im1heGltaXplIixzaG9ydGN1dDoiRjExIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRnVsbCBzY3JlZW4iKSwiYWN0aW9uIil9XX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTZXR0aW5ncyIsaWNvbk5hbWU6InNldHRpbmdzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiU2V0dGluZ3MiKSwiYWN0aW9uIil9LHtuYW1lOiJIZWxwIixpY29uTmFtZToiaGVscENpcmNsZSIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJEb2N1bWVudGF0aW9uIixpY29uTmFtZToiYm9vayIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkRvY3VtZW50YXRpb24iKSwiYWN0aW9uIil9LHtuYW1lOiJLZXlib2FyZCBTaG9ydGN1dHMiLGljb25OYW1lOiJrZXlib2FyZCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNob3J0Y3V0cyIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJBYm91dCIsaWNvbk5hbWU6ImluZm8iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJBYm91dCIpLCJhY3Rpb24iKX1dfV0pfX0+CiAgICAgIDxoMz5SaWdodC1jbGljayBhbnl3aGVyZSBpbiB0aGlzIGFyZWE8L2gzPgogICAgICA8cD5BIGNvbnRleHQgbWVudSB3aXRoIG5lc3RlZCBzdWJtZW51cyB3aWxsIGFwcGVhcjwvcD4KICAgIDwvZGl2PgogIDwvZGVlcy1wYW5lbD4KICA8ZGVlcy1wYW5lbCBoZWFkaW5nPSJDb21wb25lbnQtU3BlY2lmaWMgQ29udGV4dCBNZW51Ij4KICAgIDxkZWVzLWJ1dHRvbiBzdHlsZT0ibWFyZ2luOiAyMHB4OyIgQGNvbnRleHRtZW51PSR7YT0+e3RhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKGEsW3tuYW1lOiJCdXR0b24gQWN0aW9ucyIsaWNvbk5hbWU6Im1vdXNlUG9pbnRlciIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJDbGljayIsaWNvbk5hbWU6Im1vdXNlIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQ2xpY2sgYWN0aW9uIiksImFjdGlvbiIpfSx7bmFtZToiRG91YmxlIENsaWNrIixpY29uTmFtZToiemFwIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRG91YmxlIGNsaWNrIiksImFjdGlvbiIpfSx7bmFtZToiTG9uZyBQcmVzcyIsaWNvbk5hbWU6ImNsb2NrIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiTG9uZyBwcmVzcyIpLCJhY3Rpb24iKX1dfSx7bmFtZToiQnV0dG9uIFN0YXRlIixpY29uTmFtZToidG9nZ2xlTGVmdCIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJFbmFibGUiLGljb25OYW1lOiJjaGVja0NpcmNsZSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkVuYWJsZSIpLCJhY3Rpb24iKX0se25hbWU6IkRpc2FibGUiLGljb25OYW1lOiJ4Q2lyY2xlIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRGlzYWJsZSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTaG93IixpY29uTmFtZToiZXllIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiU2hvdyIpLCJhY3Rpb24iKX0se25hbWU6IkhpZGUiLGljb25OYW1lOiJleWVPZmYiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJIaWRlIiksImFjdGlvbiIpfV19LHtkaXZpZGVyOiEwfSx7bmFtZToiRGlzYWJsZWQgQWN0aW9uIixpY29uTmFtZToiYmFuIixkaXNhYmxlZDohMCxhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiVGhpcyBzaG91bGQgbm90IHJ1biIpLCJhY3Rpb24iKX0se25hbWU6IlByb3BlcnRpZXMiLGljb25OYW1lOiJzZXR0aW5ncyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkJ1dHRvbiBwcm9wZXJ0aWVzIiksImFjdGlvbiIpfV0pfX0+UmlnaHQtY2xpY2sgb24gdGhpcyBidXR0b248L2RlZXMtYnV0dG9uPgogIDwvZGVlcy1wYW5lbD4KCiAgPGRlZXMtcGFuZWwgaGVhZGluZz0iQWR2YW5jZWQgQ29udGV4dCBNZW51IEV4YW1wbGUiPgogICAgPGRpdiBjbGFzcz0iZGVtby1hcmVhIiBAY29udGV4dG1lbnU9JHthPT57dGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoYSxbe25hbWU6IkZvcm1hdCIsaWNvbk5hbWU6InR5cGUiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiQm9sZCIsaWNvbk5hbWU6ImJvbGQiLHNob3J0Y3V0OiJDbWQrQiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkJvbGQiKSwiYWN0aW9uIil9LHtuYW1lOiJJdGFsaWMiLGljb25OYW1lOiJpdGFsaWMiLHNob3J0Y3V0OiJDbWQrSSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkl0YWxpYyIpLCJhY3Rpb24iKX0se25hbWU6IlVuZGVybGluZSIsaWNvbk5hbWU6InVuZGVybGluZSIsc2hvcnRjdXQ6IkNtZCtVIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiVW5kZXJsaW5lIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkZvbnQgU2l6ZSIsaWNvbk5hbWU6InR5cGUiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJGb250IHNpemUgbWVudSIpLCJhY3Rpb24iKX0se25hbWU6IkZvbnQgQ29sb3IiLGljb25OYW1lOiJwYWxldHRlIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRm9udCBjb2xvciBtZW51IiksImFjdGlvbiIpfV19LHtuYW1lOiJUcmFuc2Zvcm0iLGljb25OYW1lOiJzaHVmZmxlIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IlRvIFVwcGVyY2FzZSIsaWNvbk5hbWU6ImFycm93VXAiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJVcHBlcmNhc2UiKSwiYWN0aW9uIil9LHtuYW1lOiJUbyBMb3dlcmNhc2UiLGljb25OYW1lOiJhcnJvd0Rvd24iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJMb3dlcmNhc2UiKSwiYWN0aW9uIil9LHtuYW1lOiJDYXBpdGFsaXplIixpY29uTmFtZToidHlwZSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkNhcGl0YWxpemUiKSwiYWN0aW9uIil9XX0se2RpdmlkZXI6ITB9LHtuYW1lOiJEZWxldGUiLGljb25OYW1lOiJ0cmFzaDIiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJEZWxldGUiKSwiYWN0aW9uIil9XSl9fT4KICAgICAgPGgzPkFkdmFuY2VkIE5lc3RlZCBNZW51IEV4YW1wbGU8L2gzPgogICAgICA8cD5UaGlzIHNob3dzIGRlZXBseSBuZXN0ZWQgc3VibWVudXMgYW5kIHZhcmlvdXMgZm9ybWF0dGluZyBvcHRpb25zPC9wPgogICAgPC9kaXY+CiAgPC9kZWVzLXBhbmVsPgogIAogIDxkZWVzLXBhbmVsIGhlYWRpbmc9IlN0YXRpYyBDb250ZXh0IE1lbnUgKEFsd2F5cyBWaXNpYmxlKSI+CiAgICA8ZGVlcy1jb250ZXh0bWVudQogICAgICBjbGFzcz0id2l0aE1hcmdpbiIKICAgICAgLm1lbnVJdGVtcz0ke1t7bmFtZToiUHJvamVjdCIsaWNvbk5hbWU6ImZvbGRlciIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJOZXcgUHJvamVjdCIsaWNvbk5hbWU6ImZvbGRlclBsdXMiLHNob3J0Y3V0OiJDbWQrU2hpZnQrTiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIk5ldyBwcm9qZWN0IiksImFjdGlvbiIpfSx7bmFtZToiT3BlbiBQcm9qZWN0IixpY29uTmFtZToiZm9sZGVyT3BlbiIsc2hvcnRjdXQ6IkNtZCtTaGlmdCtPIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiBwcm9qZWN0IiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlJlY2VudCBQcm9qZWN0cyIsaWNvbk5hbWU6ImNsb2NrIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IlByb2plY3QgQWxwaGEiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIEFscGhhIiksImFjdGlvbiIpfSx7bmFtZToiUHJvamVjdCBCZXRhIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiBCZXRhIiksImFjdGlvbiIpfSx7bmFtZToiUHJvamVjdCBHYW1tYSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4gR2FtbWEiKSwiYWN0aW9uIil9XX1dfSx7bmFtZToiVG9vbHMiLGljb25OYW1lOiJ0b29sIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IlRlcm1pbmFsIixpY29uTmFtZToidGVybWluYWwiLHNob3J0Y3V0OiJDbWQrVCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlRlcm1pbmFsIiksImFjdGlvbiIpfSx7bmFtZToiQ29uc29sZSIsaWNvbk5hbWU6Im1vbml0b3IiLHNob3J0Y3V0OiJDbWQrSyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkNvbnNvbGUiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRXh0ZW5zaW9ucyIsaWNvbk5hbWU6InBhY2thZ2UiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJFeHRlbnNpb25zIiksImFjdGlvbiIpfV19LHtkaXZpZGVyOiEwfSx7bmFtZToiUHJlZmVyZW5jZXMiLGljb25OYW1lOiJzbGlkZXJzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUHJlZmVyZW5jZXMiKSwiYWN0aW9uIil9XX0KICAgID48L2RlZXMtY29udGV4dG1lbnU+CiAgPC9kZWVzLXBhbmVsPgo8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciB3YixLbCxHcyxNMT1mKCgpPT57bGUoKTtHaSgpO3diPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxLbD1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sR3M9KCgpPT57bGV0IGE9W2llKCJkZWVzLXdpbmRvd2xheWVyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXaW5kb3dMYXllciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBrPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVtLKCldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx3Yih0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9wdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+Im9wdGlvbnMiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5vcHRpb25zLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0Mub3B0aW9ucz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG4sbCksd2IodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJiYWNrZHJvcFpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iYmFja2Ryb3BaSW5kZXgiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5iYWNrZHJvcFpJbmRleCwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmJhY2tkcm9wWkluZGV4PU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSx3Yih0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRlbnRaSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImNvbnRlbnRaSW5kZXgiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5jb250ZW50WkluZGV4LCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuY29udGVudFpJbmRleD1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG0sdiksd2IodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJ2aXNpYmxlImluIEMsImhhcyIpLGdldDpzKEM9PkMudmlzaWJsZSwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnZpc2libGU9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxiLGcpLHdiKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmt9LG51bGwsdCkseT1yPWUudmFsdWUsayYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTprfSl9c3RhdGljIGRlbW89cygoKT0+d2A8ZGVlcy13aW5kb3dsYXllcj48L2RlZXMtd2luZG93bGF5ZXI+YCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiT3ZlcmxheSJdO3N0YXRpYyBhc3luYyBjcmVhdGVBbmRTaG93KGspe2xldCBDPUF0LkRvbVRvb2xzLmdldEdsb2JhbERvbVRvb2xzU3luYygpLE49bmV3IHk7cmV0dXJuIE4ub3B0aW9ucz17Li4uTi5vcHRpb25zLC4uLmt9LGRvY3VtZW50LmJvZHkuYXBwZW5kKE4pLGF3YWl0IEMuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigwKSxOLnNob3coKSxOfSNlPUtsKHRoaXMsbix7Ymx1cjohMX0pO2dldCBvcHRpb25zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG9wdGlvbnMoayl7dGhpcy4jZT1rfSN0PShLbCh0aGlzLGwpLEtsKHRoaXMsYywxZTMpKTtnZXQgYmFja2Ryb3BaSW5kZXgoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYmFja2Ryb3BaSW5kZXgoayl7dGhpcy4jdD1rfSNhPShLbCh0aGlzLHApLEtsKHRoaXMsbSwxMDAxKSk7Z2V0IGNvbnRlbnRaSW5kZXgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgY29udGVudFpJbmRleChrKXt0aGlzLiNhPWt9I3I9KEtsKHRoaXMsdiksS2wodGhpcyxiLCExKSk7Z2V0IHZpc2libGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdmlzaWJsZShrKXt0aGlzLiNyPWt9Y29uc3RydWN0b3IoKXtzdXBlcigpLEtsKHRoaXMsZyksQXQuZWxlbWVudEJhc2ljLnNldHVwKCl9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7QXQuZWxlbWVudEJhc2ljLnN0eWxlc30KICAgICAgPHN0eWxlPgogICAgICAgIC53aW5kb3dPdmVybGF5IHsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgIHRvcDogMHB4OwogICAgICAgICAgbGVmdDogMHB4OwogICAgICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAgICAgIHdpZHRoOiAxMDB2dzsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMCk7CiAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJyaWdodG5lc3MoMSkgJHt0aGlzLm9wdGlvbnMuYmx1cj8iYmx1cigwcHgpIjoiIn07CiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICAgIHotaW5kZXg6ICR7dGhpcy5iYWNrZHJvcFpJbmRleH07CiAgICAgICAgfQogICAgICAgIC5zbG90Q29udGVudCB7CiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIHotaW5kZXg6ICR7dGhpcy5jb250ZW50WkluZGV4fTsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2xvdENvbnRlbnQgPiAqIHsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAudmlzaWJsZSB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7CiAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJyaWdodG5lc3MoMC45KSAke3RoaXMub3B0aW9ucy5ibHVyPyJibHVyKDJweCkiOiIifTsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IEBjbGljaz0ke3RoaXMuZGlzcGF0Y2hDbGlja2VkfSBjbGFzcz0id2luZG93T3ZlcmxheSAke3RoaXMudmlzaWJsZT8idmlzaWJsZSI6bnVsbH0iPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2xvdENvbnRlbnQiPgogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kaXY+CiAgICBgfWZpcnN0VXBkYXRlZCgpe3NldFRpbWVvdXQoKCk9Pnt0aGlzLnZpc2libGU9ITB9LDEwMCl9ZGlzcGF0Y2hDbGlja2VkKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xpY2tlZCIpKX10b2dnbGVWaXNpYmlsaXR5KCl7dGhpcy52aXNpYmxlPSF0aGlzLnZpc2libGV9Z2V0Q29udGVudFpJbmRleCgpe3JldHVybiB0aGlzLmNvbnRlbnRaSW5kZXh9YXN5bmMgc2hvdygpe2xldCBrPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMuYmFja2Ryb3BaSW5kZXg9WHQuZ2V0TmV4dFpJbmRleCgpLHRoaXMuY29udGVudFpJbmRleD1YdC5nZXROZXh0WkluZGV4KCksWHQucmVnaXN0ZXIodGhpcyx0aGlzLmJhY2tkcm9wWkluZGV4KSxhd2FpdCBrLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCksdGhpcy52aXNpYmxlPSEwfWFzeW5jIGhpZGUoKXthd2FpdChhd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSkuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLnZpc2libGU9ITF9YXN5bmMgZGVzdHJveSgpe2xldCBrPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO2F3YWl0IHRoaXMuaGlkZSgpLGF3YWl0IGsuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigzMDApLFh0LnVucmVnaXN0ZXIodGhpcyksdGhpcy5yZW1vdmUoKX1zdGF0aWN7S2wocix0KX19O3JldHVybiB5PXJ9KSgpfSk7ZnVuY3Rpb24gTzZlKGEsZSl7KGU9PW51bGx8fGU+YS5sZW5ndGgpJiYoZT1hLmxlbmd0aCk7Zm9yKHZhciB0PTAscj1BcnJheShlKTt0PGU7dCsrKXJbdF09YVt0XTtyZXR1cm4gcn1mdW5jdGlvbiBXQ2EoYSl7aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm4gYX1mdW5jdGlvbiBHQ2EoYSl7aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm4gTzZlKGEpfWZ1bmN0aW9uIFlDYShhLGUpe2lmKCEoYSBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfWZ1bmN0aW9uIHY3dChhLGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgcj1lW3RdO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEseTd0KHIua2V5KSxyKX19ZnVuY3Rpb24gS0NhKGEsZSx0KXtyZXR1cm4gZSYmdjd0KGEucHJvdG90eXBlLGUpLHQmJnY3dChhLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLGF9ZnVuY3Rpb24gR0ooYSxlKXt2YXIgdD10eXBlb2YgU3ltYm9sPCJ1IiYmYVtTeW1ib2wuaXRlcmF0b3JdfHxhWyJAQGl0ZXJhdG9yIl07aWYoIXQpe2lmKEFycmF5LmlzQXJyYXkoYSl8fCh0PUY2ZShhKSl8fGUmJmEmJnR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpe3QmJihhPXQpO3ZhciByPTAsaT1zKGZ1bmN0aW9uKCl7fSwiRiIpO3JldHVybntzOmksbjpzKGZ1bmN0aW9uKCl7cmV0dXJuIHI+PWEubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTphW3IrK119fSwibiIpLGU6cyhmdW5jdGlvbihkKXt0aHJvdyBkfSwiZSIpLGY6aX19dGhyb3cgbmV3IFR5cGVFcnJvcihgSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLgpJbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuYCl9dmFyIG8sbj0hMCxsPSExO3JldHVybntzOnMoZnVuY3Rpb24oKXt0PXQuY2FsbChhKX0sInMiKSxuOnMoZnVuY3Rpb24oKXt2YXIgZD10Lm5leHQoKTtyZXR1cm4gbj1kLmRvbmUsZH0sIm4iKSxlOnMoZnVuY3Rpb24oZCl7bD0hMCxvPWR9LCJlIiksZjpzKGZ1bmN0aW9uKCl7dHJ5e258fHQucmV0dXJuPT1udWxsfHx0LnJldHVybigpfWZpbmFsbHl7aWYobCl0aHJvdyBvfX0sImYiKX19ZnVuY3Rpb24gR3QoYSxlLHQpe3JldHVybihlPXk3dChlKSlpbiBhP09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGUse3ZhbHVlOnQsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTphW2VdPXQsYX1mdW5jdGlvbiBaQ2EoYSxlKXtpZih0eXBlb2YgZSE9ImZ1bmN0aW9uIiYmZSE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTthLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6YSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSksZSYmWUooYSxlKX1mdW5jdGlvbiBYQ2EoYSl7aWYodHlwZW9mIFN5bWJvbDwidSImJmFbU3ltYm9sLml0ZXJhdG9yXSE9bnVsbHx8YVsiQEBpdGVyYXRvciJdIT1udWxsKXJldHVybiBBcnJheS5mcm9tKGEpfWZ1bmN0aW9uIFFDYShhLGUpe3ZhciB0PWE9PW51bGw/bnVsbDp0eXBlb2YgU3ltYm9sPCJ1IiYmYVtTeW1ib2wuaXRlcmF0b3JdfHxhWyJAQGl0ZXJhdG9yIl07aWYodCE9bnVsbCl7dmFyIHIsaSxvLG4sbD1bXSxkPSEwLGM9ITE7dHJ5e2lmKG89KHQ9dC5jYWxsKGEpKS5uZXh0LGU9PT0wKXtpZihPYmplY3QodCkhPT10KXJldHVybjtkPSExfWVsc2UgZm9yKDshKGQ9KHI9by5jYWxsKHQpKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PWUpO2Q9ITApO31jYXRjaChwKXtjPSEwLGk9cH1maW5hbGx5e3RyeXtpZighZCYmdC5yZXR1cm4hPW51bGwmJihuPXQucmV0dXJuKCksT2JqZWN0KG4pIT09bikpcmV0dXJufWZpbmFsbHl7aWYoYyl0aHJvdyBpfX1yZXR1cm4gbH19ZnVuY3Rpb24gSkNhKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihgSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS4KSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLmApfWZ1bmN0aW9uIGVfYSgpe3Rocm93IG5ldyBUeXBlRXJyb3IoYEludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLgpJbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuYCl9ZnVuY3Rpb24geDd0KGEsZSl7dmFyIHQ9T2JqZWN0LmtleXMoYSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhhKTtlJiYocj1yLmZpbHRlcihmdW5jdGlvbihpKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLGkpLmVudW1lcmFibGV9KSksdC5wdXNoLmFwcGx5KHQscil9cmV0dXJuIHR9ZnVuY3Rpb24gWGUoYSl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIHQ9YXJndW1lbnRzW2VdIT1udWxsP2FyZ3VtZW50c1tlXTp7fTtlJTI/eDd0KE9iamVjdCh0KSwhMCkuZm9yRWFjaChmdW5jdGlvbihyKXtHdChhLHIsdFtyXSl9KTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhhLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHQpKTp4N3QoT2JqZWN0KHQpKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLHIsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHIpKX0pfXJldHVybiBhfWZ1bmN0aW9uIFlKKGEsZSl7cmV0dXJuIFlKPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKHQscil7cmV0dXJuIHQuX19wcm90b19fPXIsdH0sWUooYSxlKX1mdW5jdGlvbiBLSihhLGUpe3JldHVybiBXQ2EoYSl8fFFDYShhLGUpfHxGNmUoYSxlKXx8SkNhKCl9ZnVuY3Rpb24gazEoYSl7cmV0dXJuIEdDYShhKXx8WENhKGEpfHxGNmUoYSl8fGVfYSgpfWZ1bmN0aW9uIHRfYShhLGUpe2lmKHR5cGVvZiBhIT0ib2JqZWN0Inx8IWEpcmV0dXJuIGE7dmFyIHQ9YVtTeW1ib2wudG9QcmltaXRpdmVdO2lmKHQhPT12b2lkIDApe3ZhciByPXQuY2FsbChhLGV8fCJkZWZhdWx0Iik7aWYodHlwZW9mIHIhPSJvYmplY3QiKXJldHVybiByO3Rocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIil9cmV0dXJuKGU9PT0ic3RyaW5nIj9TdHJpbmc6TnVtYmVyKShhKX1mdW5jdGlvbiB5N3QoYSl7dmFyIGU9dF9hKGEsInN0cmluZyIpO3JldHVybiB0eXBlb2YgZT09InN5bWJvbCI/ZTplKyIifWZ1bmN0aW9uIFpKKGEpeyJAYmFiZWwvaGVscGVycyAtIHR5cGVvZiI7cmV0dXJuIFpKPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJnR5cGVvZiBTeW1ib2wuaXRlcmF0b3I9PSJzeW1ib2wiP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJnR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSxaSihhKX1mdW5jdGlvbiBGNmUoYSxlKXtpZihhKXtpZih0eXBlb2YgYT09InN0cmluZyIpcmV0dXJuIE82ZShhLGUpO3ZhciB0PXt9LnRvU3RyaW5nLmNhbGwoYSkuc2xpY2UoOCwtMSk7cmV0dXJuIHQ9PT0iT2JqZWN0IiYmYS5jb25zdHJ1Y3RvciYmKHQ9YS5jb25zdHJ1Y3Rvci5uYW1lKSx0PT09Ik1hcCJ8fHQ9PT0iU2V0Ij9BcnJheS5mcm9tKGEpOnQ9PT0iQXJndW1lbnRzInx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QodCk/TzZlKGEsZSk6dm9pZCAwfX1mdW5jdGlvbiBEaSgpe0RpPXMoZnVuY3Rpb24oaSxvKXtyZXR1cm4gbmV3IHQoaSx2b2lkIDAsbyl9LCJfd3JhcFJlZ0V4cCIpO3ZhciBhPVJlZ0V4cC5wcm90b3R5cGUsZT1uZXcgV2Vha01hcDtmdW5jdGlvbiB0KGksbyxuKXt2YXIgbD1SZWdFeHAoaSxvKTtyZXR1cm4gZS5zZXQobCxufHxlLmdldChpKSksWUoobCx0LnByb3RvdHlwZSl9cyh0LCJCYWJlbFJlZ0V4cCIpO2Z1bmN0aW9uIHIoaSxvKXt2YXIgbj1lLmdldChvKTtyZXR1cm4gT2JqZWN0LmtleXMobikucmVkdWNlKGZ1bmN0aW9uKGwsZCl7dmFyIGM9bltkXTtpZih0eXBlb2YgYz09Im51bWJlciIpbFtkXT1pW2NdO2Vsc2V7Zm9yKHZhciBwPTA7aVtjW3BdXT09PXZvaWQgMCYmcCsxPGMubGVuZ3RoOylwKys7bFtkXT1pW2NbcF1dfXJldHVybiBsfSxPYmplY3QuY3JlYXRlKG51bGwpKX1yZXR1cm4gcyhyLCJidWlsZEdyb3VwcyIpLFpDYSh0LFJlZ0V4cCksdC5wcm90b3R5cGUuZXhlYz1mdW5jdGlvbihpKXt2YXIgbz1hLmV4ZWMuY2FsbCh0aGlzLGkpO2lmKG8pe28uZ3JvdXBzPXIobyx0aGlzKTt2YXIgbj1vLmluZGljZXM7biYmKG4uZ3JvdXBzPXIobix0aGlzKSl9cmV0dXJuIG99LHQucHJvdG90eXBlW1N5bWJvbC5yZXBsYWNlXT1mdW5jdGlvbihpLG8pe2lmKHR5cGVvZiBvPT0ic3RyaW5nIil7dmFyIG49ZS5nZXQodGhpcyk7cmV0dXJuIGFbU3ltYm9sLnJlcGxhY2VdLmNhbGwodGhpcyxpLG8ucmVwbGFjZSgvXCQ8KFtePl0rKSg+fCQpL2csZnVuY3Rpb24oZCxjLHApe2lmKHA9PT0iIilyZXR1cm4gZDt2YXIgdT1uW2NdO3JldHVybiBBcnJheS5pc0FycmF5KHUpPyIkIit1LmpvaW4oIiQiKTp0eXBlb2YgdT09Im51bWJlciI/IiQiK3U6IiJ9KSl9aWYodHlwZW9mIG89PSJmdW5jdGlvbiIpe3ZhciBsPXRoaXM7cmV0dXJuIGFbU3ltYm9sLnJlcGxhY2VdLmNhbGwodGhpcyxpLGZ1bmN0aW9uKCl7dmFyIGQ9YXJndW1lbnRzO3JldHVybiB0eXBlb2YgZFtkLmxlbmd0aC0xXSE9Im9iamVjdCImJihkPVtdLnNsaWNlLmNhbGwoZCkpLnB1c2gocihkLGwpKSxvLmFwcGx5KHRoaXMsZCl9KX1yZXR1cm4gYVtTeW1ib2wucmVwbGFjZV0uY2FsbCh0aGlzLGksbyl9LERpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBrYihhKXtyZXR1cm4gbmV3IFByb3h5KGEse2dldDpzKGZ1bmN0aW9uKHQscil7cmV0dXJuIHIgaW4gdD90W3JdOnRbdGldfSwiZ2V0Iil9KX1mdW5jdGlvbiBWVGEoYSl7dmFyIGU9cHIucXVlcnlTZWxlY3Rvcigic2NyaXB0WyIrYSsiXSIpO2lmKGUpcmV0dXJuIGUuZ2V0QXR0cmlidXRlKGEpfWZ1bmN0aW9uIGpUYShhKXtyZXR1cm4gYT09PSIiPyEwOmE9PT0iZmFsc2UiPyExOmE9PT0idHJ1ZSI/ITA6YX1mdW5jdGlvbiBVVGEoYSl7cmV0dXJuIHpiLnB1c2goYSksZnVuY3Rpb24oKXt6Yi5zcGxpY2UoemIuaW5kZXhPZihhKSwxKX19ZnVuY3Rpb24gV1RhKGEpe2lmKCEoIWF8fCFabCkpe3ZhciBlPXByLmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7ZS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJ0ZXh0L2NzcyIpLGUuaW5uZXJIVE1MPWE7Zm9yKHZhciB0PXByLmhlYWQuY2hpbGROb2RlcyxyPW51bGwsaT10Lmxlbmd0aC0xO2k+LTE7aS0tKXt2YXIgbz10W2ldLG49KG8udGFnTmFtZXx8IiIpLnRvVXBwZXJDYXNlKCk7WyJTVFlMRSIsIkxJTksiXS5pbmRleE9mKG4pPi0xJiYocj1vKX1yZXR1cm4gcHIuaGVhZC5pbnNlcnRCZWZvcmUoZSxyKSxhfX1mdW5jdGlvbiBkOXQoKXtmb3IodmFyIGE9MTIsZT0iIjthLS0gPjA7KWUrPUdUYVtNYXRoLnJhbmRvbSgpKjYyfDBdO3JldHVybiBlfWZ1bmN0aW9uIHE4KGEpe2Zvcih2YXIgZT1bXSx0PShhfHxbXSkubGVuZ3RoPj4+MDt0LS07KWVbdF09YVt0XTtyZXR1cm4gZX1mdW5jdGlvbiBKNmUoYSl7cmV0dXJuIGEuY2xhc3NMaXN0P3E4KGEuY2xhc3NMaXN0KTooYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKS5zcGxpdCgiICIpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZX0pfWZ1bmN0aW9uIHU5dChhKXtyZXR1cm4iIi5jb25jYXQoYSkucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7IikucmVwbGFjZSgvJy9nLCImIzM5OyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpfWZ1bmN0aW9uIFlUYShhKXtyZXR1cm4gT2JqZWN0LmtleXMoYXx8e30pLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiBlKyIiLmNvbmNhdCh0LCc9IicpLmNvbmNhdCh1OXQoYVt0XSksJyIgJyl9LCIiKS50cmltKCl9ZnVuY3Rpb24gSkooYSl7cmV0dXJuIE9iamVjdC5rZXlzKGF8fHt9KS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSsiIi5jb25jYXQodCwiOiAiKS5jb25jYXQoYVt0XS50cmltKCksIjsiKX0sIiIpfWZ1bmN0aW9uIGV1ZShhKXtyZXR1cm4gYS5zaXplIT09SDIuc2l6ZXx8YS54IT09SDIueHx8YS55IT09SDIueXx8YS5yb3RhdGUhPT1IMi5yb3RhdGV8fGEuZmxpcFh8fGEuZmxpcFl9ZnVuY3Rpb24gS1RhKGEpe3ZhciBlPWEudHJhbnNmb3JtLHQ9YS5jb250YWluZXJXaWR0aCxyPWEuaWNvbldpZHRoLGk9e3RyYW5zZm9ybToidHJhbnNsYXRlKCIuY29uY2F0KHQvMiwiIDI1NikiKX0sbz0idHJhbnNsYXRlKCIuY29uY2F0KGUueCozMiwiLCAiKS5jb25jYXQoZS55KjMyLCIpICIpLG49InNjYWxlKCIuY29uY2F0KGUuc2l6ZS8xNiooZS5mbGlwWD8tMToxKSwiLCAiKS5jb25jYXQoZS5zaXplLzE2KihlLmZsaXBZPy0xOjEpLCIpICIpLGw9InJvdGF0ZSgiLmNvbmNhdChlLnJvdGF0ZSwiIDAgMCkiKSxkPXt0cmFuc2Zvcm06IiIuY29uY2F0KG8sIiAiKS5jb25jYXQobiwiICIpLmNvbmNhdChsKX0sYz17dHJhbnNmb3JtOiJ0cmFuc2xhdGUoIi5jb25jYXQoci8yKi0xLCIgLTI1NikiKX07cmV0dXJue291dGVyOmksaW5uZXI6ZCxwYXRoOmN9fWZ1bmN0aW9uIFpUYShhKXt2YXIgZT1hLnRyYW5zZm9ybSx0PWEud2lkdGgscj10PT09dm9pZCAwP2o2ZTp0LGk9YS5oZWlnaHQsbz1pPT09dm9pZCAwP2o2ZTppLG49YS5zdGFydENlbnRlcmVkLGw9bj09PXZvaWQgMD8hMTpuLGQ9IiI7cmV0dXJuIGwmJlQ3dD9kKz0idHJhbnNsYXRlKCIuY29uY2F0KGUueC9RMC1yLzIsImVtLCAiKS5jb25jYXQoZS55L1EwLW8vMiwiZW0pICIpOmw/ZCs9InRyYW5zbGF0ZShjYWxjKC01MCUgKyAiLmNvbmNhdChlLngvUTAsImVtKSwgY2FsYygtNTAlICsgIikuY29uY2F0KGUueS9RMCwiZW0pKSAiKTpkKz0idHJhbnNsYXRlKCIuY29uY2F0KGUueC9RMCwiZW0sICIpLmNvbmNhdChlLnkvUTAsImVtKSAiKSxkKz0ic2NhbGUoIi5jb25jYXQoZS5zaXplL1EwKihlLmZsaXBYPy0xOjEpLCIsICIpLmNvbmNhdChlLnNpemUvUTAqKGUuZmxpcFk/LTE6MSksIikgIiksZCs9InJvdGF0ZSgiLmNvbmNhdChlLnJvdGF0ZSwiZGVnKSAiKSxkfWZ1bmN0aW9uIHA5dCgpe3ZhciBhPWU5dCxlPXQ5dCx0PUx0LmNzc1ByZWZpeCxyPUx0LnJlcGxhY2VtZW50Q2xhc3MsaT1YVGE7aWYodCE9PWF8fHIhPT1lKXt2YXIgbz1uZXcgUmVnRXhwKCJcXC4iLmNvbmNhdChhLCJcXC0iKSwiZyIpLG49bmV3IFJlZ0V4cCgiXFwtLSIuY29uY2F0KGEsIlxcLSIpLCJnIiksbD1uZXcgUmVnRXhwKCJcXC4iLmNvbmNhdChlKSwiZyIpO2k9aS5yZXBsYWNlKG8sIi4iLmNvbmNhdCh0LCItIikpLnJlcGxhY2UobiwiLS0iLmNvbmNhdCh0LCItIikpLnJlcGxhY2UobCwiLiIuY29uY2F0KHIpKX1yZXR1cm4gaX1mdW5jdGlvbiB0dWUoKXtMdC5hdXRvQWRkQ3NzJiYhZjl0JiYoV1RhKHA5dCgpKSxmOXQ9ITApfWZ1bmN0aW9uIEpUYShhKXtabCYmKGVlZT9zZXRUaW1lb3V0KGEsMCk6aDl0LnB1c2goYSkpfWZ1bmN0aW9uIENiKGEpe3ZhciBlPWEudGFnLHQ9YS5hdHRyaWJ1dGVzLHI9dD09PXZvaWQgMD97fTp0LGk9YS5jaGlsZHJlbixvPWk9PT12b2lkIDA/W106aTtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmciP3U5dChhKToiPCIuY29uY2F0KGUsIiAiKS5jb25jYXQoWVRhKHIpLCI+IikuY29uY2F0KG8ubWFwKENiKS5qb2luKCIiKSwiPC8iKS5jb25jYXQoZSwiPiIpfWZ1bmN0aW9uIGc5dChhLGUsdCl7aWYoYSYmYVtlXSYmYVtlXVt0XSlyZXR1cm57cHJlZml4OmUsaWNvbk5hbWU6dCxpY29uOmFbZV1bdF19fWZ1bmN0aW9uIGI5dChhKXtyZXR1cm4gazEoYSkubGVuZ3RoIT09MT9udWxsOmEuY29kZVBvaW50QXQoMCkudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIHY5dChhKXtyZXR1cm4gT2JqZWN0LmtleXMoYSkucmVkdWNlKGZ1bmN0aW9uKGUsdCl7dmFyIHI9YVt0XSxpPSEhci5pY29uO3JldHVybiBpP2Vbci5pY29uTmFtZV09ci5pY29uOmVbdF09cixlfSx7fSl9ZnVuY3Rpb24gcnVlKGEsZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4yJiZhcmd1bWVudHNbMl0hPT12b2lkIDA/YXJndW1lbnRzWzJdOnt9LHI9dC5za2lwSG9va3MsaT1yPT09dm9pZCAwPyExOnIsbz12OXQoZSk7dHlwZW9mIFMxLmhvb2tzLmFkZFBhY2s9PSJmdW5jdGlvbiImJiFpP1MxLmhvb2tzLmFkZFBhY2soYSx2OXQoZSkpOlMxLnN0eWxlc1thXT1YZShYZSh7fSxTMS5zdHlsZXNbYV18fHt9KSxvKSxhPT09ImZhcyImJnJ1ZSgiZmEiLGUpfWZ1bmN0aW9uIHJMYShhKXtyZXR1cm5+cVRhLmluZGV4T2YoYSl9ZnVuY3Rpb24gc0xhKGEsZSl7dmFyIHQ9ZS5zcGxpdCgiLSIpLHI9dFswXSxpPXQuc2xpY2UoMSkuam9pbigiLSIpO3JldHVybiByPT09YSYmaSE9PSIiJiYhckxhKGkpP2k6bnVsbH1mdW5jdGlvbiBvdWUoYSxlKXtyZXR1cm4oeTl0W2FdfHx7fSlbZV19ZnVuY3Rpb24gaUxhKGEsZSl7cmV0dXJuKHc5dFthXXx8e30pW2VdfWZ1bmN0aW9uIGNkKGEsZSl7cmV0dXJuKFM5dFthXXx8e30pW2VdfWZ1bmN0aW9uIEM5dChhKXtyZXR1cm4gTTl0W2FdfHx7cHJlZml4Om51bGwsaWNvbk5hbWU6bnVsbH19ZnVuY3Rpb24gb0xhKGEpe3ZhciBlPWs5dFthXSx0PW91ZSgiZmFzIixhKTtyZXR1cm4gZXx8KHQ/e3ByZWZpeDoiZmFzIixpY29uTmFtZTp0fTpudWxsKXx8e3ByZWZpeDpudWxsLGljb25OYW1lOm51bGx9fWZ1bmN0aW9uIEowKCl7cmV0dXJuIGl1ZX1mdW5jdGlvbiBuTGEoYSl7dmFyIGU9dGksdD14OXQucmVkdWNlKGZ1bmN0aW9uKHIsaSl7cmV0dXJuIHJbaV09IiIuY29uY2F0KEx0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChpKSxyfSx7fSk7cmV0dXJuIFk3dC5mb3JFYWNoKGZ1bmN0aW9uKHIpeyhhLmluY2x1ZGVzKHRbcl0pfHxhLnNvbWUoZnVuY3Rpb24oaSl7cmV0dXJuIGFMYVtyXS5pbmNsdWRlcyhpKX0pKSYmKGU9cil9KSxlfWZ1bmN0aW9uIHRlZShhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30sdD1lLmZhbWlseSxyPXQ9PT12b2lkIDA/dGk6dCxpPVJUYVtyXVthXTtpZihyPT09TWImJiFhKXJldHVybiJmYWQiO3ZhciBvPW85dFtyXVthXXx8bzl0W3JdW2ldLG49YSBpbiBTMS5zdHlsZXM/YTpudWxsLGw9b3x8bnx8bnVsbDtyZXR1cm4gbH1mdW5jdGlvbiBsTGEoYSl7dmFyIGU9W10sdD1udWxsO3JldHVybiBhLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9c0xhKEx0LmNzc1ByZWZpeCxyKTtpP3Q9aTpyJiZlLnB1c2gocil9KSx7aWNvbk5hbWU6dCxyZXN0OmV9fWZ1bmN0aW9uIFQ5dChhKXtyZXR1cm4gYS5zb3J0KCkuZmlsdGVyKGZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gci5pbmRleE9mKGUpPT09dH0pfWZ1bmN0aW9uIGFlZShhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30sdD1lLnNraXBMb29rdXBzLHI9dD09PXZvaWQgMD8hMTp0LGk9bnVsbCxvPVQ5dChhLmZpbHRlcihmdW5jdGlvbih2KXtyZXR1cm4gTDl0LmluY2x1ZGVzKHYpfSkpLG49VDl0KGEuZmlsdGVyKGZ1bmN0aW9uKHYpe3JldHVybiFMOXQuaW5jbHVkZXModil9KSksbD1vLmZpbHRlcihmdW5jdGlvbih2KXtyZXR1cm4gaT12LCEkN3QuaW5jbHVkZXModil9KSxkPUtKKGwsMSksYz1kWzBdLHA9Yz09PXZvaWQgMD9udWxsOmMsdT1uTGEobyksbT1YZShYZSh7fSxsTGEobikpLHt9LHtwcmVmaXg6dGVlKHAse2ZhbWlseTp1fSl9KTtyZXR1cm4gWGUoWGUoWGUoe30sbSkscExhKHt2YWx1ZXM6YSxmYW1pbHk6dSxzdHlsZXM6X2IsY29uZmlnOkx0LGNhbm9uaWNhbDptLGdpdmVuUHJlZml4Oml9KSksY0xhKHIsaSxtKSl9ZnVuY3Rpb24gY0xhKGEsZSx0KXt2YXIgcj10LnByZWZpeCxpPXQuaWNvbk5hbWU7aWYoYXx8IXJ8fCFpKXJldHVybntwcmVmaXg6cixpY29uTmFtZTppfTt2YXIgbz1lPT09ImZhIj9DOXQoaSk6e30sbj1jZChyLGkpO3JldHVybiBpPW8uaWNvbk5hbWV8fG58fGkscj1vLnByZWZpeHx8cixyPT09ImZhciImJiFfYi5mYXImJl9iLmZhcyYmIUx0LmF1dG9GZXRjaFN2ZyYmKHI9ImZhcyIpLHtwcmVmaXg6cixpY29uTmFtZTppfX1mdW5jdGlvbiBwTGEoYSl7dmFyIGU9YS52YWx1ZXMsdD1hLmZhbWlseSxyPWEuY2Fub25pY2FsLGk9YS5naXZlblByZWZpeCxvPWk9PT12b2lkIDA/IiI6aSxuPWEuc3R5bGVzLGw9bj09PXZvaWQgMD97fTpuLGQ9YS5jb25maWcsYz1kPT09dm9pZCAwP3t9OmQscD10PT09TWIsdT1lLmluY2x1ZGVzKCJmYS1kdW90b25lIil8fGUuaW5jbHVkZXMoImZhZCIpLG09Yy5mYW1pbHlEZWZhdWx0PT09ImR1b3RvbmUiLHY9ci5wcmVmaXg9PT0iZmFkInx8ci5wcmVmaXg9PT0iZmEtZHVvdG9uZSI7aWYoIXAmJih1fHxtfHx2KSYmKHIucHJlZml4PSJmYWQiKSwoZS5pbmNsdWRlcygiZmEtYnJhbmRzIil8fGUuaW5jbHVkZXMoImZhYiIpKSYmKHIucHJlZml4PSJmYWIiKSwhci5wcmVmaXgmJmRMYS5pbmNsdWRlcyh0KSl7dmFyIHg9T2JqZWN0LmtleXMobCkuZmluZChmdW5jdGlvbihnKXtyZXR1cm4gdUxhLmluY2x1ZGVzKGcpfSk7aWYoeHx8Yy5hdXRvRmV0Y2hTdmcpe3ZhciBiPV9fYS5nZXQodCkuZGVmYXVsdFNob3J0UHJlZml4SWQ7ci5wcmVmaXg9YixyLmljb25OYW1lPWNkKHIucHJlZml4LHIuaWNvbk5hbWUpfHxyLmljb25OYW1lfX1yZXR1cm4oci5wcmVmaXg9PT0iZmEifHxvPT09ImZhIikmJihyLnByZWZpeD1KMCgpfHwiZmFzIikscn1mdW5jdGlvbiBtTGEoYSxlKXt2YXIgdD1lLm1peG91dHNUbztyZXR1cm4gJDl0PWEsVjg9e30sT2JqZWN0LmtleXMoajgpLmZvckVhY2goZnVuY3Rpb24ocil7aExhLmluZGV4T2Yocik9PT0tMSYmZGVsZXRlIGo4W3JdfSksJDl0LmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9ci5taXhvdXQ/ci5taXhvdXQoKTp7fTtpZihPYmplY3Qua2V5cyhpKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3R5cGVvZiBpW25dPT0iZnVuY3Rpb24iJiYodFtuXT1pW25dKSxaSihpW25dKT09PSJvYmplY3QiJiZPYmplY3Qua2V5cyhpW25dKS5mb3JFYWNoKGZ1bmN0aW9uKGwpe3Rbbl18fCh0W25dPXt9KSx0W25dW2xdPWlbbl1bbF19KX0pLHIuaG9va3Mpe3ZhciBvPXIuaG9va3MoKTtPYmplY3Qua2V5cyhvKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe1Y4W25dfHwoVjhbbl09W10pLFY4W25dLnB1c2gob1tuXSl9KX1yLnByb3ZpZGVzJiZyLnByb3ZpZGVzKGo4KX0pLHR9ZnVuY3Rpb24gbnVlKGEsZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkodD4yP3QtMjowKSxpPTI7aTx0O2krKylyW2ktMl09YXJndW1lbnRzW2ldO3ZhciBvPVY4W2FdfHxbXTtyZXR1cm4gby5mb3JFYWNoKGZ1bmN0aW9uKG4pe2U9bi5hcHBseShudWxsLFtlXS5jb25jYXQocikpfSksZX1mdW5jdGlvbiBkZChhKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShlPjE/ZS0xOjApLHI9MTtyPGU7cisrKXRbci0xXT1hcmd1bWVudHNbcl07dmFyIGk9VjhbYV18fFtdO2kuZm9yRWFjaChmdW5jdGlvbihvKXtvLmFwcGx5KG51bGwsdCl9KX1mdW5jdGlvbiBlNCgpe3ZhciBhPWFyZ3VtZW50c1swXSxlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gajhbYV0/ajhbYV0uYXBwbHkobnVsbCxlKTp2b2lkIDB9ZnVuY3Rpb24gbHVlKGEpe2EucHJlZml4PT09ImZhIiYmKGEucHJlZml4PSJmYXMiKTt2YXIgZT1hLmljb25OYW1lLHQ9YS5wcmVmaXh8fEowKCk7aWYoZSlyZXR1cm4gZT1jZCh0LGUpfHxlLGc5dChEOXQuZGVmaW5pdGlvbnMsdCxlKXx8Zzl0KFMxLnN0eWxlcyx0LGUpfWZ1bmN0aW9uIHJlZShhLGUpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiYWJzdHJhY3QiLHtnZXQ6ZX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJodG1sIix7Z2V0OnMoZnVuY3Rpb24oKXtyZXR1cm4gYS5hYnN0cmFjdC5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIENiKHIpfSl9LCJnZXQiKX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJub2RlIix7Z2V0OnMoZnVuY3Rpb24oKXtpZihabCl7dmFyIHI9cHIuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHIuaW5uZXJIVE1MPWEuaHRtbCxyLmNoaWxkcmVufX0sImdldCIpfSksYX1mdW5jdGlvbiB5TGEoYSl7dmFyIGU9YS5jaGlsZHJlbix0PWEubWFpbixyPWEubWFzayxpPWEuYXR0cmlidXRlcyxvPWEuc3R5bGVzLG49YS50cmFuc2Zvcm07aWYoZXVlKG4pJiZ0LmZvdW5kJiYhci5mb3VuZCl7dmFyIGw9dC53aWR0aCxkPXQuaGVpZ2h0LGM9e3g6bC9kLzIseTouNX07aS5zdHlsZT1KSihYZShYZSh7fSxvKSx7fSx7InRyYW5zZm9ybS1vcmlnaW4iOiIiLmNvbmNhdChjLngrbi54LzE2LCJlbSAiKS5jb25jYXQoYy55K24ueS8xNiwiZW0iKX0pKX1yZXR1cm5be3RhZzoic3ZnIixhdHRyaWJ1dGVzOmksY2hpbGRyZW46ZX1dfWZ1bmN0aW9uIHdMYShhKXt2YXIgZT1hLnByZWZpeCx0PWEuaWNvbk5hbWUscj1hLmNoaWxkcmVuLGk9YS5hdHRyaWJ1dGVzLG89YS5zeW1ib2wsbj1vPT09ITA/IiIuY29uY2F0KGUsIi0iKS5jb25jYXQoTHQuY3NzUHJlZml4LCItIikuY29uY2F0KHQpOm87cmV0dXJuW3t0YWc6InN2ZyIsYXR0cmlidXRlczp7c3R5bGU6ImRpc3BsYXk6IG5vbmU7In0sY2hpbGRyZW46W3t0YWc6InN5bWJvbCIsYXR0cmlidXRlczpYZShYZSh7fSxpKSx7fSx7aWQ6bn0pLGNoaWxkcmVuOnJ9XX1dfWZ1bmN0aW9uIE1MYShhKXt2YXIgZT1bImFyaWEtbGFiZWwiLCJhcmlhLWxhYmVsbGVkYnkiLCJ0aXRsZSIsInJvbGUiXTtyZXR1cm4gZS5zb21lKGZ1bmN0aW9uKHQpe3JldHVybiB0IGluIGF9KX1mdW5jdGlvbiBjdWUoYSl7dmFyIGU9YS5pY29ucyx0PWUubWFpbixyPWUubWFzayxpPWEucHJlZml4LG89YS5pY29uTmFtZSxuPWEudHJhbnNmb3JtLGw9YS5zeW1ib2wsZD1hLm1hc2tJZCxjPWEuZXh0cmEscD1hLndhdGNoYWJsZSx1PXA9PT12b2lkIDA/ITE6cCxtPXIuZm91bmQ/cjp0LHY9bS53aWR0aCx4PW0uaGVpZ2h0LGI9W0x0LnJlcGxhY2VtZW50Q2xhc3Msbz8iIi5jb25jYXQoTHQuY3NzUHJlZml4LCItIikuY29uY2F0KG8pOiIiXS5maWx0ZXIoZnVuY3Rpb24oXyl7cmV0dXJuIGMuY2xhc3Nlcy5pbmRleE9mKF8pPT09LTF9KS5maWx0ZXIoZnVuY3Rpb24oXyl7cmV0dXJuIF8hPT0iInx8ISFffSkuY29uY2F0KGMuY2xhc3Nlcykuam9pbigiICIpLGc9e2NoaWxkcmVuOltdLGF0dHJpYnV0ZXM6WGUoWGUoe30sYy5hdHRyaWJ1dGVzKSx7fSx7ImRhdGEtcHJlZml4IjppLCJkYXRhLWljb24iOm8sY2xhc3M6Yixyb2xlOmMuYXR0cmlidXRlcy5yb2xlfHwiaW1nIix2aWV3Qm94OiIwIDAgIi5jb25jYXQodiwiICIpLmNvbmNhdCh4KX0pfTshTUxhKGMuYXR0cmlidXRlcykmJiFjLmF0dHJpYnV0ZXNbImFyaWEtaGlkZGVuIl0mJihnLmF0dHJpYnV0ZXNbImFyaWEtaGlkZGVuIl09InRydWUiKSx1JiYoZy5hdHRyaWJ1dGVzW2xkXT0iIik7dmFyIHk9WGUoWGUoe30sZykse30se3ByZWZpeDppLGljb25OYW1lOm8sbWFpbjp0LG1hc2s6cixtYXNrSWQ6ZCx0cmFuc2Zvcm06bixzeW1ib2w6bCxzdHlsZXM6WGUoe30sYy5zdHlsZXMpfSksaz1yLmZvdW5kJiZ0LmZvdW5kP2U0KCJnZW5lcmF0ZUFic3RyYWN0TWFzayIseSl8fHtjaGlsZHJlbjpbXSxhdHRyaWJ1dGVzOnt9fTplNCgiZ2VuZXJhdGVBYnN0cmFjdEljb24iLHkpfHx7Y2hpbGRyZW46W10sYXR0cmlidXRlczp7fX0sQz1rLmNoaWxkcmVuLE49ay5hdHRyaWJ1dGVzO3JldHVybiB5LmNoaWxkcmVuPUMseS5hdHRyaWJ1dGVzPU4sbD93TGEoeSk6eUxhKHkpfWZ1bmN0aW9uIEE5dChhKXt2YXIgZT1hLmNvbnRlbnQsdD1hLndpZHRoLHI9YS5oZWlnaHQsaT1hLnRyYW5zZm9ybSxvPWEuZXh0cmEsbj1hLndhdGNoYWJsZSxsPW49PT12b2lkIDA/ITE6bixkPVhlKFhlKHt9LG8uYXR0cmlidXRlcykse30se2NsYXNzOm8uY2xhc3Nlcy5qb2luKCIgIil9KTtsJiYoZFtsZF09IiIpO3ZhciBjPVhlKHt9LG8uc3R5bGVzKTtldWUoaSkmJihjLnRyYW5zZm9ybT1aVGEoe3RyYW5zZm9ybTppLHN0YXJ0Q2VudGVyZWQ6ITAsd2lkdGg6dCxoZWlnaHQ6cn0pLGNbIi13ZWJraXQtdHJhbnNmb3JtIl09Yy50cmFuc2Zvcm0pO3ZhciBwPUpKKGMpO3AubGVuZ3RoPjAmJihkLnN0eWxlPXApO3ZhciB1PVtdO3JldHVybiB1LnB1c2goe3RhZzoic3BhbiIsYXR0cmlidXRlczpkLGNoaWxkcmVuOltlXX0pLHV9ZnVuY3Rpb24ga0xhKGEpe3ZhciBlPWEuY29udGVudCx0PWEuZXh0cmEscj1YZShYZSh7fSx0LmF0dHJpYnV0ZXMpLHt9LHtjbGFzczp0LmNsYXNzZXMuam9pbigiICIpfSksaT1KSih0LnN0eWxlcyk7aS5sZW5ndGg+MCYmKHIuc3R5bGU9aSk7dmFyIG89W107cmV0dXJuIG8ucHVzaCh7dGFnOiJzcGFuIixhdHRyaWJ1dGVzOnIsY2hpbGRyZW46W2VdfSksb31mdW5jdGlvbiB1dWUoYSl7dmFyIGU9YVswXSx0PWFbMV0scj1hLnNsaWNlKDQpLGk9S0oociwxKSxvPWlbMF0sbj1udWxsO3JldHVybiBBcnJheS5pc0FycmF5KG8pP249e3RhZzoiZyIsYXR0cmlidXRlczp7Y2xhc3M6IiIuY29uY2F0KEx0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChRNmUuR1JPVVApfSxjaGlsZHJlbjpbe3RhZzoicGF0aCIsYXR0cmlidXRlczp7Y2xhc3M6IiIuY29uY2F0KEx0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChRNmUuU0VDT05EQVJZKSxmaWxsOiJjdXJyZW50Q29sb3IiLGQ6b1swXX19LHt0YWc6InBhdGgiLGF0dHJpYnV0ZXM6e2NsYXNzOiIiLmNvbmNhdChMdC5jc3NQcmVmaXgsIi0iKS5jb25jYXQoUTZlLlBSSU1BUlkpLGZpbGw6ImN1cnJlbnRDb2xvciIsZDpvWzFdfX1dfTpuPXt0YWc6InBhdGgiLGF0dHJpYnV0ZXM6e2ZpbGw6ImN1cnJlbnRDb2xvciIsZDpvfX0se2ZvdW5kOiEwLHdpZHRoOmUsaGVpZ2h0OnQsaWNvbjpufX1mdW5jdGlvbiB6TGEoYSxlKXshczl0JiYhTHQuc2hvd01pc3NpbmdJY29ucyYmYSYmY29uc29sZS5lcnJvcignSWNvbiB3aXRoIG5hbWUgIicuY29uY2F0KGEsJyIgYW5kIHByZWZpeCAiJykuY29uY2F0KGUsJyIgaXMgbWlzc2luZy4nKSl9ZnVuY3Rpb24gcHVlKGEsZSl7dmFyIHQ9ZTtyZXR1cm4gZT09PSJmYSImJkx0LnN0eWxlRGVmYXVsdCE9PW51bGwmJihlPUowKCkpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsaSl7aWYodD09PSJmYSIpe3ZhciBvPUM5dChhKXx8e307YT1vLmljb25OYW1lfHxhLGU9by5wcmVmaXh8fGV9aWYoYSYmZSYmZHVlW2VdJiZkdWVbZV1bYV0pe3ZhciBuPWR1ZVtlXVthXTtyZXR1cm4gcih1dWUobikpfXpMYShhLGUpLHIoWGUoWGUoe30sU0xhKSx7fSx7aWNvbjpMdC5zaG93TWlzc2luZ0ljb25zJiZhP2U0KCJtaXNzaW5nSWNvbkFic3RyYWN0Iil8fHt9Ont9fSkpfSl9ZnVuY3Rpb24gSTl0KGEpe3ZhciBlPWEuZ2V0QXR0cmlidXRlP2EuZ2V0QXR0cmlidXRlKGxkKTpudWxsO3JldHVybiB0eXBlb2YgZT09InN0cmluZyJ9ZnVuY3Rpb24gX0xhKGEpe3ZhciBlPWEuZ2V0QXR0cmlidXRlP2EuZ2V0QXR0cmlidXRlKFc2ZSk6bnVsbCx0PWEuZ2V0QXR0cmlidXRlP2EuZ2V0QXR0cmlidXRlKEc2ZSk6bnVsbDtyZXR1cm4gZSYmdH1mdW5jdGlvbiBUTGEoYSl7cmV0dXJuIGEmJmEuY2xhc3NMaXN0JiZhLmNsYXNzTGlzdC5jb250YWlucyYmYS5jbGFzc0xpc3QuY29udGFpbnMoTHQucmVwbGFjZW1lbnRDbGFzcyl9ZnVuY3Rpb24gTExhKCl7aWYoTHQuYXV0b1JlcGxhY2VTdmc9PT0hMClyZXR1cm4gaWVlLnJlcGxhY2U7dmFyIGE9aWVlW0x0LmF1dG9SZXBsYWNlU3ZnXTtyZXR1cm4gYXx8aWVlLnJlcGxhY2V9ZnVuY3Rpb24gJExhKGEpe3JldHVybiBwci5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixhKX1mdW5jdGlvbiBETGEoYSl7cmV0dXJuIHByLmNyZWF0ZUVsZW1lbnQoYSl9ZnVuY3Rpb24gTjl0KGEpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7fSx0PWUuY2VGbixyPXQ9PT12b2lkIDA/YS50YWc9PT0ic3ZnIj8kTGE6RExhOnQ7aWYodHlwZW9mIGE9PSJzdHJpbmciKXJldHVybiBwci5jcmVhdGVUZXh0Tm9kZShhKTt2YXIgaT1yKGEudGFnKTtPYmplY3Qua2V5cyhhLmF0dHJpYnV0ZXN8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe2kuc2V0QXR0cmlidXRlKG4sYS5hdHRyaWJ1dGVzW25dKX0pO3ZhciBvPWEuY2hpbGRyZW58fFtdO3JldHVybiBvLmZvckVhY2goZnVuY3Rpb24obil7aS5hcHBlbmRDaGlsZChOOXQobix7Y2VGbjpyfSkpfSksaX1mdW5jdGlvbiBBTGEoYSl7dmFyIGU9IiAiLmNvbmNhdChhLm91dGVySFRNTCwiICIpO3JldHVybiBlPSIiLmNvbmNhdChlLCJGb250IEF3ZXNvbWUgZm9udGF3ZXNvbWUuY29tICIpLGV9ZnVuY3Rpb24gUjl0KGEpe2EoKX1mdW5jdGlvbiBPOXQoYSxlKXt2YXIgdD10eXBlb2YgZT09ImZ1bmN0aW9uIj9lOnNlZTtpZihhLmxlbmd0aD09PTApdCgpO2Vsc2V7dmFyIHI9Ujl0O0x0Lm11dGF0ZUFwcHJvYWNoPT09SVRhJiYocj1YMC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fFI5dCkscihmdW5jdGlvbigpe3ZhciBpPUxMYSgpLG89aHVlLmJlZ2luKCJtdXRhdGUiKTthLm1hcChpKSxvKCksdCgpfSl9fWZ1bmN0aW9uIEY5dCgpe211ZT0hMH1mdW5jdGlvbiBndWUoKXttdWU9ITF9ZnVuY3Rpb24gQjl0KGEpe2lmKF83dCYmTHQub2JzZXJ2ZU11dGF0aW9ucyl7dmFyIGU9YS50cmVlQ2FsbGJhY2ssdD1lPT09dm9pZCAwP3NlZTplLHI9YS5ub2RlQ2FsbGJhY2ssaT1yPT09dm9pZCAwP3NlZTpyLG89YS5wc2V1ZG9FbGVtZW50c0NhbGxiYWNrLG49bz09PXZvaWQgMD9zZWU6byxsPWEub2JzZXJ2ZU11dGF0aW9uc1Jvb3QsZD1sPT09dm9pZCAwP3ByOmw7b2VlPW5ldyBfN3QoZnVuY3Rpb24oYyl7aWYoIW11ZSl7dmFyIHA9SjAoKTtxOChjKS5mb3JFYWNoKGZ1bmN0aW9uKHUpe2lmKHUudHlwZT09PSJjaGlsZExpc3QiJiZ1LmFkZGVkTm9kZXMubGVuZ3RoPjAmJiFJOXQodS5hZGRlZE5vZGVzWzBdKSYmKEx0LnNlYXJjaFBzZXVkb0VsZW1lbnRzJiZuKHUudGFyZ2V0KSx0KHUudGFyZ2V0KSksdS50eXBlPT09ImF0dHJpYnV0ZXMiJiZ1LnRhcmdldC5wYXJlbnROb2RlJiZMdC5zZWFyY2hQc2V1ZG9FbGVtZW50cyYmbihbdS50YXJnZXRdLCEwKSx1LnR5cGU9PT0iYXR0cmlidXRlcyImJkk5dCh1LnRhcmdldCkmJn5IVGEuaW5kZXhPZih1LmF0dHJpYnV0ZU5hbWUpKWlmKHUuYXR0cmlidXRlTmFtZT09PSJjbGFzcyImJl9MYSh1LnRhcmdldCkpe3ZhciBtPWFlZShKNmUodS50YXJnZXQpKSx2PW0ucHJlZml4LHg9bS5pY29uTmFtZTt1LnRhcmdldC5zZXRBdHRyaWJ1dGUoVzZlLHZ8fHApLHgmJnUudGFyZ2V0LnNldEF0dHJpYnV0ZShHNmUseCl9ZWxzZSBUTGEodS50YXJnZXQpJiZpKHUudGFyZ2V0KX0pfX0pLFpsJiZvZWUub2JzZXJ2ZShkLHtjaGlsZExpc3Q6ITAsYXR0cmlidXRlczohMCxjaGFyYWN0ZXJEYXRhOiEwLHN1YnRyZWU6ITB9KX19ZnVuY3Rpb24gUExhKCl7b2VlJiZvZWUuZGlzY29ubmVjdCgpfWZ1bmN0aW9uIEVMYShhKXt2YXIgZT1hLmdldEF0dHJpYnV0ZSgic3R5bGUiKSx0PVtdO3JldHVybiBlJiYodD1lLnNwbGl0KCI7IikucmVkdWNlKGZ1bmN0aW9uKHIsaSl7dmFyIG89aS5zcGxpdCgiOiIpLG49b1swXSxsPW8uc2xpY2UoMSk7cmV0dXJuIG4mJmwubGVuZ3RoPjAmJihyW25dPWwuam9pbigiOiIpLnRyaW0oKSkscn0se30pKSx0fWZ1bmN0aW9uIElMYShhKXt2YXIgZT1hLmdldEF0dHJpYnV0ZSgiZGF0YS1wcmVmaXgiKSx0PWEuZ2V0QXR0cmlidXRlKCJkYXRhLWljb24iKSxyPWEuaW5uZXJUZXh0IT09dm9pZCAwP2EuaW5uZXJUZXh0LnRyaW0oKToiIixpPWFlZShKNmUoYSkpO3JldHVybiBpLnByZWZpeHx8KGkucHJlZml4PUowKCkpLGUmJnQmJihpLnByZWZpeD1lLGkuaWNvbk5hbWU9dCksaS5pY29uTmFtZSYmaS5wcmVmaXh8fChpLnByZWZpeCYmci5sZW5ndGg+MCYmKGkuaWNvbk5hbWU9aUxhKGkucHJlZml4LGEuaW5uZXJUZXh0KXx8b3VlKGkucHJlZml4LGI5dChhLmlubmVyVGV4dCkpKSwhaS5pY29uTmFtZSYmTHQuYXV0b0ZldGNoU3ZnJiZhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYoaS5pY29uTmFtZT1hLmZpcnN0Q2hpbGQuZGF0YSkpLGl9ZnVuY3Rpb24gTkxhKGEpe3ZhciBlPXE4KGEuYXR0cmlidXRlcykucmVkdWNlKGZ1bmN0aW9uKHQscil7cmV0dXJuIHQubmFtZSE9PSJjbGFzcyImJnQubmFtZSE9PSJzdHlsZSImJih0W3IubmFtZV09ci52YWx1ZSksdH0se30pO3JldHVybiBlfWZ1bmN0aW9uIFJMYSgpe3JldHVybntpY29uTmFtZTpudWxsLHByZWZpeDpudWxsLHRyYW5zZm9ybTpIMixzeW1ib2w6ITEsbWFzazp7aWNvbk5hbWU6bnVsbCxwcmVmaXg6bnVsbCxyZXN0OltdfSxtYXNrSWQ6bnVsbCxleHRyYTp7Y2xhc3NlczpbXSxzdHlsZXM6e30sYXR0cmlidXRlczp7fX19fWZ1bmN0aW9uIEg5dChhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e3N0eWxlUGFyc2VyOiEwfSx0PUlMYShhKSxyPXQuaWNvbk5hbWUsaT10LnByZWZpeCxvPXQucmVzdCxuPU5MYShhKSxsPW51ZSgicGFyc2VOb2RlQXR0cmlidXRlcyIse30sYSksZD1lLnN0eWxlUGFyc2VyP0VMYShhKTpbXTtyZXR1cm4gWGUoe2ljb25OYW1lOnIscHJlZml4OmksdHJhbnNmb3JtOkgyLG1hc2s6e2ljb25OYW1lOm51bGwscHJlZml4Om51bGwscmVzdDpbXX0sbWFza0lkOm51bGwsc3ltYm9sOiExLGV4dHJhOntjbGFzc2VzOm8sc3R5bGVzOmQsYXR0cmlidXRlczpufX0sbCl9ZnVuY3Rpb24gcTl0KGEpe3ZhciBlPUx0LmF1dG9SZXBsYWNlU3ZnPT09Im5lc3QiP0g5dChhLHtzdHlsZVBhcnNlcjohMX0pOkg5dChhKTtyZXR1cm5+ZS5leHRyYS5jbGFzc2VzLmluZGV4T2Yobjl0KT9lNCgiZ2VuZXJhdGVMYXllcnNUZXh0IixhLGUpOmU0KCJnZW5lcmF0ZVN2Z1JlcGxhY2VtZW50TXV0YXRpb24iLGEsZSl9ZnVuY3Rpb24gRkxhKCl7cmV0dXJuW10uY29uY2F0KGsxKEs3dCksazEoUTd0KSl9ZnVuY3Rpb24gVjl0KGEpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTpudWxsO2lmKCFabClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHQ9cHIuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdCxyPXMoZnVuY3Rpb24odSl7cmV0dXJuIHQuYWRkKCIiLmNvbmNhdChhOXQsIi0iKS5jb25jYXQodSkpfSwiaGNsQWRkIiksaT1zKGZ1bmN0aW9uKHUpe3JldHVybiB0LnJlbW92ZSgiIi5jb25jYXQoYTl0LCItIikuY29uY2F0KHUpKX0sImhjbFJlbW92ZSIpLG89THQuYXV0b0ZldGNoU3ZnP0ZMYSgpOiQ3dC5jb25jYXQoT2JqZWN0LmtleXMoT0xhKSk7by5pbmNsdWRlcygiZmEiKXx8by5wdXNoKCJmYSIpO3ZhciBuPVsiLiIuY29uY2F0KG45dCwiOm5vdChbIikuY29uY2F0KGxkLCJdKSIpXS5jb25jYXQoby5tYXAoZnVuY3Rpb24ocCl7cmV0dXJuIi4iLmNvbmNhdChwLCI6bm90KFsiKS5jb25jYXQobGQsIl0pIil9KSkuam9pbigiLCAiKTtpZihuLmxlbmd0aD09PTApcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3ZhciBsPVtdO3RyeXtsPXE4KGEucXVlcnlTZWxlY3RvckFsbChuKSl9Y2F0Y2h7fWlmKGwubGVuZ3RoPjApcigicGVuZGluZyIpLGkoImNvbXBsZXRlIik7ZWxzZSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIGQ9aHVlLmJlZ2luKCJvblRyZWUiKSxjPWwucmVkdWNlKGZ1bmN0aW9uKHAsdSl7dHJ5e3ZhciBtPXE5dCh1KTttJiZwLnB1c2gobSl9Y2F0Y2godil7czl0fHx2Lm5hbWU9PT0iTWlzc2luZ0ljb24iJiZjb25zb2xlLmVycm9yKHYpfXJldHVybiBwfSxbXSk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHAsdSl7UHJvbWlzZS5hbGwoYykudGhlbihmdW5jdGlvbihtKXtPOXQobSxmdW5jdGlvbigpe3IoImFjdGl2ZSIpLHIoImNvbXBsZXRlIiksaSgicGVuZGluZyIpLHR5cGVvZiBlPT0iZnVuY3Rpb24iJiZlKCksZCgpLHAoKX0pfSkuY2F0Y2goZnVuY3Rpb24obSl7ZCgpLHUobSl9KX0pfWZ1bmN0aW9uIEJMYShhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06bnVsbDtxOXQoYSkudGhlbihmdW5jdGlvbih0KXt0JiZPOXQoW3RdLGUpfSl9ZnVuY3Rpb24gSExhKGEpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30scj0oZXx8e30pLmljb24/ZTpsdWUoZXx8e30pLGk9dC5tYXNrO3JldHVybiBpJiYoaT0oaXx8e30pLmljb24/aTpsdWUoaXx8e30pKSxhKHIsWGUoWGUoe30sdCkse30se21hc2s6aX0pKX19ZnVuY3Rpb24gWUxhKGEpe3ZhciBlPWEucmVwbGFjZShqOXQsIiIpO3JldHVybiBiOXQoazEoZSlbMF18fCIiKX1mdW5jdGlvbiBLTGEoYSl7dmFyIGU9YS5nZXRQcm9wZXJ0eVZhbHVlKCJmb250LWZlYXR1cmUtc2V0dGluZ3MiKS5pbmNsdWRlcygic3MwMSIpLHQ9YS5nZXRQcm9wZXJ0eVZhbHVlKCJjb250ZW50Iikscj10LnJlcGxhY2Uoajl0LCIiKSxpPXIuY29kZVBvaW50QXQoMCksbz1pPj1VOXRbMF0mJmk8PVU5dFsxXSxuPXIubGVuZ3RoPT09Mj9yWzBdPT09clsxXTohMTtyZXR1cm4gb3x8bnx8ZX1mdW5jdGlvbiBaTGEoYSxlKXt2YXIgdD1hLnJlcGxhY2UoL15bJyJdfFsnIl0kL2csIiIpLnRvTG93ZXJDYXNlKCkscj1wYXJzZUludChlKSxpPWlzTmFOKHIpPyJub3JtYWwiOnI7cmV0dXJuKGJ1ZVt0XXx8e30pW2ldfHxHTGFbdF19ZnVuY3Rpb24gRzl0KGEsZSl7dmFyIHQ9IiIuY29uY2F0KEVUYSkuY29uY2F0KGUucmVwbGFjZSgiOiIsIi0iKSk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsaSl7aWYoYS5nZXRBdHRyaWJ1dGUodCkhPT1udWxsKXJldHVybiByKCk7dmFyIG89cTgoYS5jaGlsZHJlbiksbj1vLmZpbHRlcihmdW5jdGlvbih6KXtyZXR1cm4gei5nZXRBdHRyaWJ1dGUoVTZlKT09PWV9KVswXSxsPVgwLmdldENvbXB1dGVkU3R5bGUoYSxlKSxkPWwuZ2V0UHJvcGVydHlWYWx1ZSgiZm9udC1mYW1pbHkiKSxjPWQubWF0Y2goRlRhKSxwPWwuZ2V0UHJvcGVydHlWYWx1ZSgiZm9udC13ZWlnaHQiKSx1PWwuZ2V0UHJvcGVydHlWYWx1ZSgiY29udGVudCIpO2lmKG4mJiFjKXJldHVybiBhLnJlbW92ZUNoaWxkKG4pLHIoKTtpZihjJiZ1IT09Im5vbmUiJiZ1IT09IiIpe3ZhciBtPWwuZ2V0UHJvcGVydHlWYWx1ZSgiY29udGVudCIpLHY9WkxhKGQscCkseD1ZTGEobSksYj1jWzBdLnN0YXJ0c1dpdGgoIkZvbnRBd2Vzb21lIiksZz1LTGEobCkseT1vdWUodix4KSxrPXk7aWYoYil7dmFyIEM9b0xhKHgpO0MuaWNvbk5hbWUmJkMucHJlZml4JiYoeT1DLmljb25OYW1lLHY9Qy5wcmVmaXgpfWlmKHkmJiFnJiYoIW58fG4uZ2V0QXR0cmlidXRlKFc2ZSkhPT12fHxuLmdldEF0dHJpYnV0ZShHNmUpIT09aykpe2Euc2V0QXR0cmlidXRlKHQsayksbiYmYS5yZW1vdmVDaGlsZChuKTt2YXIgTj1STGEoKSxfPU4uZXh0cmE7Xy5hdHRyaWJ1dGVzW1U2ZV09ZSxwdWUoeSx2KS50aGVuKGZ1bmN0aW9uKHope3ZhciBPPWN1ZShYZShYZSh7fSxOKSx7fSx7aWNvbnM6e21haW46eixtYXNrOl85dCgpfSxwcmVmaXg6dixpY29uTmFtZTprLGV4dHJhOl8sd2F0Y2hhYmxlOiEwfSkpLFQ9cHIuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInN2ZyIpO2U9PT0iOjpiZWZvcmUiP2EuaW5zZXJ0QmVmb3JlKFQsYS5maXJzdENoaWxkKTphLmFwcGVuZENoaWxkKFQpLFQub3V0ZXJIVE1MPU8ubWFwKGZ1bmN0aW9uKFApe3JldHVybiBDYihQKX0pLmpvaW4oYApgKSxhLnJlbW92ZUF0dHJpYnV0ZSh0KSxyKCl9KS5jYXRjaChpKX1lbHNlIHIoKX1lbHNlIHIoKX0pfWZ1bmN0aW9uIFhMYShhKXtyZXR1cm4gUHJvbWlzZS5hbGwoW0c5dChhLCI6OmJlZm9yZSIpLEc5dChhLCI6OmFmdGVyIildKX1mdW5jdGlvbiBRTGEoYSl7cmV0dXJuIGEucGFyZW50Tm9kZSE9PWRvY3VtZW50LmhlYWQmJiF+TlRhLmluZGV4T2YoYS50YWdOYW1lLnRvVXBwZXJDYXNlKCkpJiYhYS5nZXRBdHRyaWJ1dGUoVTZlKSYmKCFhLnBhcmVudE5vZGV8fGEucGFyZW50Tm9kZS50YWdOYW1lIT09InN2ZyIpfWZ1bmN0aW9uIFk5dChhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06ITE7aWYoWmwpe3ZhciB0O2lmKGUpdD1hO2Vsc2UgaWYoTHQuc2VhcmNoUHNldWRvRWxlbWVudHNGdWxsU2Nhbil0PWEucXVlcnlTZWxlY3RvckFsbCgiKiIpO2Vsc2V7dmFyIHI9bmV3IFNldCxpPUdKKGRvY3VtZW50LnN0eWxlU2hlZXRzKSxvO3RyeXtmb3IoaS5zKCk7IShvPWkubigpKS5kb25lOyl7dmFyIG49by52YWx1ZTt0cnl7dmFyIGw9R0oobi5jc3NSdWxlcyksZDt0cnl7Zm9yKGwucygpOyEoZD1sLm4oKSkuZG9uZTspe3ZhciBjPWQudmFsdWUscD1lJGEoYy5zZWxlY3RvclRleHQpLHU9R0oocCksbTt0cnl7Zm9yKHUucygpOyEobT11Lm4oKSkuZG9uZTspe3ZhciB2PW0udmFsdWU7ci5hZGQodil9fWNhdGNoKGIpe3UuZShiKX1maW5hbGx5e3UuZigpfX19Y2F0Y2goYil7bC5lKGIpfWZpbmFsbHl7bC5mKCl9fWNhdGNoKGIpe0x0LnNlYXJjaFBzZXVkb0VsZW1lbnRzV2FybmluZ3MmJmNvbnNvbGUud2FybigiRm9udCBBd2Vzb21lOiBjYW5ub3QgcGFyc2Ugc3R5bGVzaGVldDogIi5jb25jYXQobi5ocmVmLCIgKCIpLmNvbmNhdChiLm1lc3NhZ2UsYCkKSWYgaXQgZGVjbGFyZXMgYW55IEZvbnQgQXdlc29tZSBDU1MgcHNldWRvLWVsZW1lbnRzLCB0aGV5IHdpbGwgbm90IGJlIHJlbmRlcmVkIGFzIFNWRyBpY29ucy4gQWRkIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHRvIHRoZSA8bGluaz4sIGVuYWJsZSBzZWFyY2hQc2V1ZG9FbGVtZW50c0Z1bGxTY2FuIGZvciBzbG93ZXIgYnV0IG1vcmUgdGhvcm91Z2ggRE9NIHBhcnNpbmcsIG9yIHN1cHByZXNzIHRoaXMgd2FybmluZyBieSBzZXR0aW5nIHNlYXJjaFBzZXVkb0VsZW1lbnRzV2FybmluZ3MgdG8gZmFsc2UuYCkpfX19Y2F0Y2goYil7aS5lKGIpfWZpbmFsbHl7aS5mKCl9aWYoIXIuc2l6ZSlyZXR1cm47dmFyIHg9QXJyYXkuZnJvbShyKS5qb2luKCIsICIpO3RyeXt0PWEucXVlcnlTZWxlY3RvckFsbCh4KX1jYXRjaHt9fXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihiLGcpe3ZhciB5PXE4KHQpLmZpbHRlcihRTGEpLm1hcChYTGEpLGs9aHVlLmJlZ2luKCJzZWFyY2hQc2V1ZG9FbGVtZW50cyIpO0Y5dCgpLFByb21pc2UuYWxsKHkpLnRoZW4oZnVuY3Rpb24oKXtrKCksZ3VlKCksYigpfSkuY2F0Y2goZnVuY3Rpb24oKXtrKCksZ3VlKCksZygpfSl9KX19ZnVuY3Rpb24gWDl0KGEpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTohMDtyZXR1cm4gYS5hdHRyaWJ1dGVzJiYoYS5hdHRyaWJ1dGVzLmZpbGx8fGUpJiYoYS5hdHRyaWJ1dGVzLmZpbGw9ImJsYWNrIiksYX1mdW5jdGlvbiBzJGEoYSl7cmV0dXJuIGEudGFnPT09ImciP2EuY2hpbGRyZW46W2FdfXZhciB3N3QsQjZlLE03dCxrN3QsUzd0LGFfYSx6N3QsQzd0LFgwLHByLF83dCxYSix1bHMsWmwsVDd0LEg2ZSxyX2Esc19hLEw3dCxpX2EsJDd0LHRpLE1iLEQ3dCxBN3QsUDd0LEU3dCxJN3QsTjd0LFI3dCxPN3QsRjd0LEI3dCxIN3QscTd0LFY3dCxqN3QsVTd0LFc3dCxHN3Qsb19hLG5fYSxsX2EsY19hLGRfYSx1X2EscF9hLGZfYSxoX2EsbV9hLGdfYSxiX2Esdl9hLHhfYSx5X2Esd19hLE1fYSxrX2EsU19hLFk3dCxwbHMsel9hLENfYSxfX2EsVF9hLEs3dCxaN3QsTF9hLCRfYSxEX2EsQV9hLFBfYSxmbHMsRV9hLElfYSxOX2EsWDd0LHE2ZSxRSixSX2EsT19hLEZfYSxCX2EsSF9hLHFfYSxWX2Esal9hLFVfYSxXX2EsR19hLFlfYSxLX2EsWl9hLFhfYSxRX2EsSl9hLGVUYSx0VGEsYVRhLHJUYSxzVGEsaVRhLG9UYSxuVGEsbFRhLGNUYSxkVGEsdVRhLHBUYSxmVGEsaFRhLG1UYSxnVGEsYlRhLHZUYSx4VGEseVRhLHdUYSxobHMsTVRhLGtUYSxTVGEselRhLG1scyxDVGEsX1RhLFY2ZSxUVGEsUTd0LExUYSxKN3QsJFRhLERUYSxBVGEsUFRhLFhsLGo2ZSxlOXQsdDl0LGxkLFU2ZSxFVGEsVzZlLEc2ZSxhOXQsSVRhLE5UYSxyOXQsczl0LGk5dCxSVGEsWTZlLG85dCxLNmUsWjZlLFg2ZSxnbHMsT1RhLG45dCxGVGEsQlRhLGJscyxIVGEsUTZlLHFUYSxTYixjOXQsSDgsTHQsemIsUTAsSDIsR1RhLFhUYSxmOXQsUVRhLFFsLFMxLGg5dCxtOXQsZWVlLGVMYSxhdWUsc3VlLHoxLHZscyx4bHMsX2IsdExhLHg5dCxhTGEsaXVlLHk5dCx3OXQsTTl0LGs5dCxTOXQsejl0LF85dCxMOXQsZExhLHVMYSxmTGEsJDl0LFY4LGo4LGhMYSxEOXQsZ0xhLGJMYSx2TGEsRW8seExhLGR1ZSxTTGEsUDl0LGZ1ZSxUYixDTGEsRTl0LGh1ZSxzZWUsaWVlLG11ZSxvZWUsT0xhLHFMYSxWTGEsakxhLFVMYSxXTGEsajl0LFU5dCxXOXQsYnVlLEdMYSxKTGEsZSRhLHQkYSxLOXQsYSRhLFo5dCxyJGEsdnVlLGkkYSxvJGEsbiRhLGwkYSxjJGEsZCRhLHUkYSxwJGEsZiRhLGgkYSxtJGEseHVlLGckYSxiJGEsdiRhLGw5dCxROXQ9ZigoKT0+e3MoTzZlLCJfYXJyYXlMaWtlVG9BcnJheSIpO3MoV0NhLCJfYXJyYXlXaXRoSG9sZXMiKTtzKEdDYSwiX2FycmF5V2l0aG91dEhvbGVzIik7cyhZQ2EsIl9jbGFzc0NhbGxDaGVjayIpO3Modjd0LCJfZGVmaW5lUHJvcGVydGllcyIpO3MoS0NhLCJfY3JlYXRlQ2xhc3MiKTtzKEdKLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIpO3MoR3QsIl9kZWZpbmVQcm9wZXJ0eSIpO3MoWkNhLCJfaW5oZXJpdHMiKTtzKFhDYSwiX2l0ZXJhYmxlVG9BcnJheSIpO3MoUUNhLCJfaXRlcmFibGVUb0FycmF5TGltaXQiKTtzKEpDYSwiX25vbkl0ZXJhYmxlUmVzdCIpO3MoZV9hLCJfbm9uSXRlcmFibGVTcHJlYWQiKTtzKHg3dCwib3duS2V5cyIpO3MoWGUsIl9vYmplY3RTcHJlYWQyIik7cyhZSiwiX3NldFByb3RvdHlwZU9mIik7cyhLSiwiX3NsaWNlZFRvQXJyYXkiKTtzKGsxLCJfdG9Db25zdW1hYmxlQXJyYXkiKTtzKHRfYSwiX3RvUHJpbWl0aXZlIik7cyh5N3QsIl90b1Byb3BlcnR5S2V5Iik7cyhaSiwiX3R5cGVvZiIpO3MoRjZlLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiKTtzKERpLCJfd3JhcFJlZ0V4cCIpO3c3dD1zKGZ1bmN0aW9uKCl7fSwibm9vcCIpLEI2ZT17fSxNN3Q9e30sazd0PW51bGwsUzd0PXttYXJrOnc3dCxtZWFzdXJlOnc3dH07dHJ5e3R5cGVvZiB3aW5kb3c8InUiJiYoQjZlPXdpbmRvdyksdHlwZW9mIGRvY3VtZW50PCJ1IiYmKE03dD1kb2N1bWVudCksdHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXI8InUiJiYoazd0PU11dGF0aW9uT2JzZXJ2ZXIpLHR5cGVvZiBwZXJmb3JtYW5jZTwidSImJihTN3Q9cGVyZm9ybWFuY2UpfWNhdGNoe31hX2E9QjZlLm5hdmlnYXRvcnx8e30sejd0PWFfYS51c2VyQWdlbnQsQzd0PXo3dD09PXZvaWQgMD8iIjp6N3QsWDA9QjZlLHByPU03dCxfN3Q9azd0LFhKPVM3dCx1bHM9ISFYMC5kb2N1bWVudCxabD0hIXByLmRvY3VtZW50RWxlbWVudCYmISFwci5oZWFkJiZ0eXBlb2YgcHIuYWRkRXZlbnRMaXN0ZW5lcj09ImZ1bmN0aW9uIiYmdHlwZW9mIHByLmNyZWF0ZUVsZW1lbnQ9PSJmdW5jdGlvbiIsVDd0PX5DN3QuaW5kZXhPZigiTVNJRSIpfHx+Qzd0LmluZGV4T2YoIlRyaWRlbnQvIikscl9hPS9mYShrfGtkfHN8cnxsfHR8ZHxkcnxkbHxkdHxifHNscnxzbHByfHdzYnx0bHxuc3xuZHN8ZXN8Z3R8anJ8amZyfGpkcnx1c2J8dWZzYnx1ZHNifGNyfHNzfHNyfHNsfHN0fHNkc3xzZHJ8c2RsfHNkdCk/W1wtXCBdLyxzX2E9L0ZvbnQgP0F3ZXNvbWUgPyhbNTY3IF0qKShTb2xpZHxSZWd1bGFyfExpZ2h0fFRoaW58RHVvdG9uZXxCcmFuZHN8RnJlZXxQcm98U2hhcnAgRHVvdG9uZXxTaGFycHxLaXR8Tm90ZG9nIER1b3xOb3Rkb2d8Q2hpc2VsfEV0Y2h8R3JhcGhpdGV8VGh1bWJwcmludHxKZWxseSBGaWxsfEplbGx5IER1b3xKZWxseXxVdGlsaXR5fFV0aWxpdHkgRmlsbHxVdGlsaXR5IER1b3xTbGFiIFByZXNzfFNsYWJ8V2hpdGVib2FyZCk/LiovaSxMN3Q9e2NsYXNzaWM6e2ZhOiJzb2xpZCIsZmFzOiJzb2xpZCIsImZhLXNvbGlkIjoic29saWQiLGZhcjoicmVndWxhciIsImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYWw6ImxpZ2h0IiwiZmEtbGlnaHQiOiJsaWdodCIsZmF0OiJ0aGluIiwiZmEtdGhpbiI6InRoaW4iLGZhYjoiYnJhbmRzIiwiZmEtYnJhbmRzIjoiYnJhbmRzIn0sZHVvdG9uZTp7ZmE6InNvbGlkIixmYWQ6InNvbGlkIiwiZmEtc29saWQiOiJzb2xpZCIsImZhLWR1b3RvbmUiOiJzb2xpZCIsZmFkcjoicmVndWxhciIsImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYWRsOiJsaWdodCIsImZhLWxpZ2h0IjoibGlnaHQiLGZhZHQ6InRoaW4iLCJmYS10aGluIjoidGhpbiJ9LHNoYXJwOntmYToic29saWQiLGZhc3M6InNvbGlkIiwiZmEtc29saWQiOiJzb2xpZCIsZmFzcjoicmVndWxhciIsImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYXNsOiJsaWdodCIsImZhLWxpZ2h0IjoibGlnaHQiLGZhc3Q6InRoaW4iLCJmYS10aGluIjoidGhpbiJ9LCJzaGFycC1kdW90b25lIjp7ZmE6InNvbGlkIixmYXNkczoic29saWQiLCJmYS1zb2xpZCI6InNvbGlkIixmYXNkcjoicmVndWxhciIsImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYXNkbDoibGlnaHQiLCJmYS1saWdodCI6ImxpZ2h0IixmYXNkdDoidGhpbiIsImZhLXRoaW4iOiJ0aGluIn0sc2xhYjp7ImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYXNscjoicmVndWxhciJ9LCJzbGFiLXByZXNzIjp7ImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYXNscHI6InJlZ3VsYXIifSx0aHVtYnByaW50OnsiZmEtbGlnaHQiOiJsaWdodCIsZmF0bDoibGlnaHQifSx3aGl0ZWJvYXJkOnsiZmEtc2VtaWJvbGQiOiJzZW1pYm9sZCIsZmF3c2I6InNlbWlib2xkIn0sbm90ZG9nOnsiZmEtc29saWQiOiJzb2xpZCIsZmFuczoic29saWQifSwibm90ZG9nLWR1byI6eyJmYS1zb2xpZCI6InNvbGlkIixmYW5kczoic29saWQifSxldGNoOnsiZmEtc29saWQiOiJzb2xpZCIsZmFlczoic29saWQifSxncmFwaGl0ZTp7ImZhLXRoaW4iOiJ0aGluIixmYWd0OiJ0aGluIn0samVsbHk6eyJmYS1yZWd1bGFyIjoicmVndWxhciIsZmFqcjoicmVndWxhciJ9LCJqZWxseS1maWxsIjp7ImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYWpmcjoicmVndWxhciJ9LCJqZWxseS1kdW8iOnsiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhamRyOiJyZWd1bGFyIn0sY2hpc2VsOnsiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhY3I6InJlZ3VsYXIifSx1dGlsaXR5OnsiZmEtc2VtaWJvbGQiOiJzZW1pYm9sZCIsZmF1c2I6InNlbWlib2xkIn0sInV0aWxpdHktZHVvIjp7ImZhLXNlbWlib2xkIjoic2VtaWJvbGQiLGZhdWRzYjoic2VtaWJvbGQifSwidXRpbGl0eS1maWxsIjp7ImZhLXNlbWlib2xkIjoic2VtaWJvbGQiLGZhdWZzYjoic2VtaWJvbGQifX0saV9hPXtHUk9VUDoiZHVvdG9uZS1ncm91cCIsU1dBUF9PUEFDSVRZOiJzd2FwLW9wYWNpdHkiLFBSSU1BUlk6InByaW1hcnkiLFNFQ09OREFSWToic2Vjb25kYXJ5In0sJDd0PVsiZmEtY2xhc3NpYyIsImZhLWR1b3RvbmUiLCJmYS1zaGFycCIsImZhLXNoYXJwLWR1b3RvbmUiLCJmYS10aHVtYnByaW50IiwiZmEtd2hpdGVib2FyZCIsImZhLW5vdGRvZyIsImZhLW5vdGRvZy1kdW8iLCJmYS1jaGlzZWwiLCJmYS1ldGNoIiwiZmEtZ3JhcGhpdGUiLCJmYS1qZWxseSIsImZhLWplbGx5LWZpbGwiLCJmYS1qZWxseS1kdW8iLCJmYS1zbGFiIiwiZmEtc2xhYi1wcmVzcyIsImZhLXV0aWxpdHkiLCJmYS11dGlsaXR5LWR1byIsImZhLXV0aWxpdHktZmlsbCJdLHRpPSJjbGFzc2ljIixNYj0iZHVvdG9uZSIsRDd0PSJzaGFycCIsQTd0PSJzaGFycC1kdW90b25lIixQN3Q9ImNoaXNlbCIsRTd0PSJldGNoIixJN3Q9ImdyYXBoaXRlIixON3Q9ImplbGx5IixSN3Q9ImplbGx5LWR1byIsTzd0PSJqZWxseS1maWxsIixGN3Q9Im5vdGRvZyIsQjd0PSJub3Rkb2ctZHVvIixIN3Q9InNsYWIiLHE3dD0ic2xhYi1wcmVzcyIsVjd0PSJ0aHVtYnByaW50IixqN3Q9InV0aWxpdHkiLFU3dD0idXRpbGl0eS1kdW8iLFc3dD0idXRpbGl0eS1maWxsIixHN3Q9IndoaXRlYm9hcmQiLG9fYT0iQ2xhc3NpYyIsbl9hPSJEdW90b25lIixsX2E9IlNoYXJwIixjX2E9IlNoYXJwIER1b3RvbmUiLGRfYT0iQ2hpc2VsIix1X2E9IkV0Y2giLHBfYT0iR3JhcGhpdGUiLGZfYT0iSmVsbHkiLGhfYT0iSmVsbHkgRHVvIixtX2E9IkplbGx5IEZpbGwiLGdfYT0iTm90ZG9nIixiX2E9Ik5vdGRvZyBEdW8iLHZfYT0iU2xhYiIseF9hPSJTbGFiIFByZXNzIix5X2E9IlRodW1icHJpbnQiLHdfYT0iVXRpbGl0eSIsTV9hPSJVdGlsaXR5IER1byIsa19hPSJVdGlsaXR5IEZpbGwiLFNfYT0iV2hpdGVib2FyZCIsWTd0PVt0aSxNYixEN3QsQTd0LFA3dCxFN3QsSTd0LE43dCxSN3QsTzd0LEY3dCxCN3QsSDd0LHE3dCxWN3Qsajd0LFU3dCxXN3QsRzd0XSxwbHM9KEg2ZT17fSxHdChHdChHdChHdChHdChHdChHdChHdChHdChHdChINmUsdGksb19hKSxNYixuX2EpLEQ3dCxsX2EpLEE3dCxjX2EpLFA3dCxkX2EpLEU3dCx1X2EpLEk3dCxwX2EpLE43dCxmX2EpLFI3dCxoX2EpLE83dCxtX2EpLEd0KEd0KEd0KEd0KEd0KEd0KEd0KEd0KEd0KEg2ZSxGN3QsZ19hKSxCN3QsYl9hKSxIN3Qsdl9hKSxxN3QseF9hKSxWN3QseV9hKSxqN3Qsd19hKSxVN3QsTV9hKSxXN3Qsa19hKSxHN3QsU19hKSksel9hPXtjbGFzc2ljOns5MDA6ImZhcyIsNDAwOiJmYXIiLG5vcm1hbDoiZmFyIiwzMDA6ImZhbCIsMTAwOiJmYXQifSxkdW90b25lOns5MDA6ImZhZCIsNDAwOiJmYWRyIiwzMDA6ImZhZGwiLDEwMDoiZmFkdCJ9LHNoYXJwOns5MDA6ImZhc3MiLDQwMDoiZmFzciIsMzAwOiJmYXNsIiwxMDA6ImZhc3QifSwic2hhcnAtZHVvdG9uZSI6ezkwMDoiZmFzZHMiLDQwMDoiZmFzZHIiLDMwMDoiZmFzZGwiLDEwMDoiZmFzZHQifSxzbGFiOns0MDA6ImZhc2xyIn0sInNsYWItcHJlc3MiOns0MDA6ImZhc2xwciJ9LHdoaXRlYm9hcmQ6ezYwMDoiZmF3c2IifSx0aHVtYnByaW50OnszMDA6ImZhdGwifSxub3Rkb2c6ezkwMDoiZmFucyJ9LCJub3Rkb2ctZHVvIjp7OTAwOiJmYW5kcyJ9LGV0Y2g6ezkwMDoiZmFlcyJ9LGdyYXBoaXRlOnsxMDA6ImZhZ3QifSxjaGlzZWw6ezQwMDoiZmFjciJ9LGplbGx5Ons0MDA6ImZhanIifSwiamVsbHktZmlsbCI6ezQwMDoiZmFqZnIifSwiamVsbHktZHVvIjp7NDAwOiJmYWpkciJ9LHV0aWxpdHk6ezYwMDoiZmF1c2IifSwidXRpbGl0eS1kdW8iOns2MDA6ImZhdWRzYiJ9LCJ1dGlsaXR5LWZpbGwiOns2MDA6ImZhdWZzYiJ9fSxDX2E9eyJGb250IEF3ZXNvbWUgNyBGcmVlIjp7OTAwOiJmYXMiLDQwMDoiZmFyIn0sIkZvbnQgQXdlc29tZSA3IFBybyI6ezkwMDoiZmFzIiw0MDA6ImZhciIsbm9ybWFsOiJmYXIiLDMwMDoiZmFsIiwxMDA6ImZhdCJ9LCJGb250IEF3ZXNvbWUgNyBCcmFuZHMiOns0MDA6ImZhYiIsbm9ybWFsOiJmYWIifSwiRm9udCBBd2Vzb21lIDcgRHVvdG9uZSI6ezkwMDoiZmFkIiw0MDA6ImZhZHIiLG5vcm1hbDoiZmFkciIsMzAwOiJmYWRsIiwxMDA6ImZhZHQifSwiRm9udCBBd2Vzb21lIDcgU2hhcnAiOns5MDA6ImZhc3MiLDQwMDoiZmFzciIsbm9ybWFsOiJmYXNyIiwzMDA6ImZhc2wiLDEwMDoiZmFzdCJ9LCJGb250IEF3ZXNvbWUgNyBTaGFycCBEdW90b25lIjp7OTAwOiJmYXNkcyIsNDAwOiJmYXNkciIsbm9ybWFsOiJmYXNkciIsMzAwOiJmYXNkbCIsMTAwOiJmYXNkdCJ9LCJGb250IEF3ZXNvbWUgNyBKZWxseSI6ezQwMDoiZmFqciIsbm9ybWFsOiJmYWpyIn0sIkZvbnQgQXdlc29tZSA3IEplbGx5IEZpbGwiOns0MDA6ImZhamZyIixub3JtYWw6ImZhamZyIn0sIkZvbnQgQXdlc29tZSA3IEplbGx5IER1byI6ezQwMDoiZmFqZHIiLG5vcm1hbDoiZmFqZHIifSwiRm9udCBBd2Vzb21lIDcgU2xhYiI6ezQwMDoiZmFzbHIiLG5vcm1hbDoiZmFzbHIifSwiRm9udCBBd2Vzb21lIDcgU2xhYiBQcmVzcyI6ezQwMDoiZmFzbHByIixub3JtYWw6ImZhc2xwciJ9LCJGb250IEF3ZXNvbWUgNyBUaHVtYnByaW50Ijp7MzAwOiJmYXRsIixub3JtYWw6ImZhdGwifSwiRm9udCBBd2Vzb21lIDcgTm90ZG9nIjp7OTAwOiJmYW5zIixub3JtYWw6ImZhbnMifSwiRm9udCBBd2Vzb21lIDcgTm90ZG9nIER1byI6ezkwMDoiZmFuZHMiLG5vcm1hbDoiZmFuZHMifSwiRm9udCBBd2Vzb21lIDcgRXRjaCI6ezkwMDoiZmFlcyIsbm9ybWFsOiJmYWVzIn0sIkZvbnQgQXdlc29tZSA3IEdyYXBoaXRlIjp7MTAwOiJmYWd0Iixub3JtYWw6ImZhZ3QifSwiRm9udCBBd2Vzb21lIDcgQ2hpc2VsIjp7NDAwOiJmYWNyIixub3JtYWw6ImZhY3IifSwiRm9udCBBd2Vzb21lIDcgV2hpdGVib2FyZCI6ezYwMDoiZmF3c2IiLG5vcm1hbDoiZmF3c2IifSwiRm9udCBBd2Vzb21lIDcgVXRpbGl0eSI6ezYwMDoiZmF1c2IiLG5vcm1hbDoiZmF1c2IifSwiRm9udCBBd2Vzb21lIDcgVXRpbGl0eSBEdW8iOns2MDA6ImZhdWRzYiIsbm9ybWFsOiJmYXVkc2IifSwiRm9udCBBd2Vzb21lIDcgVXRpbGl0eSBGaWxsIjp7NjAwOiJmYXVmc2IiLG5vcm1hbDoiZmF1ZnNiIn19LF9fYT1uZXcgTWFwKFtbImNsYXNzaWMiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFzIixkZWZhdWx0U3R5bGVJZDoic29saWQiLHN0eWxlSWRzOlsic29saWQiLCJyZWd1bGFyIiwibGlnaHQiLCJ0aGluIiwiYnJhbmRzIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6OTAwfV0sWyJkdW90b25lIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhZCIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIiwicmVndWxhciIsImxpZ2h0IiwidGhpbiJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsic2hhcnAiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFzcyIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIiwicmVndWxhciIsImxpZ2h0IiwidGhpbiJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsic2hhcnAtZHVvdG9uZSIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXNkcyIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIiwicmVndWxhciIsImxpZ2h0IiwidGhpbiJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsiY2hpc2VsIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhY3IiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbImV0Y2giLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFlcyIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6OTAwfV0sWyJncmFwaGl0ZSIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYWd0IixkZWZhdWx0U3R5bGVJZDoidGhpbiIsc3R5bGVJZHM6WyJ0aGluIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6MTAwfV0sWyJqZWxseSIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYWpyIixkZWZhdWx0U3R5bGVJZDoicmVndWxhciIsc3R5bGVJZHM6WyJyZWd1bGFyIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NDAwfV0sWyJqZWxseS1kdW8iLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFqZHIiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbImplbGx5LWZpbGwiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFqZnIiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbIm5vdGRvZyIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYW5zIixkZWZhdWx0U3R5bGVJZDoic29saWQiLHN0eWxlSWRzOlsic29saWQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo5MDB9XSxbIm5vdGRvZy1kdW8iLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFuZHMiLGRlZmF1bHRTdHlsZUlkOiJzb2xpZCIsc3R5bGVJZHM6WyJzb2xpZCJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsic2xhYiIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXNsciIsZGVmYXVsdFN0eWxlSWQ6InJlZ3VsYXIiLHN0eWxlSWRzOlsicmVndWxhciJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjQwMH1dLFsic2xhYi1wcmVzcyIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXNscHIiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbInRodW1icHJpbnQiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmF0bCIsZGVmYXVsdFN0eWxlSWQ6ImxpZ2h0IixzdHlsZUlkczpbImxpZ2h0Il0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6MzAwfV0sWyJ1dGlsaXR5Iix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhdXNiIixkZWZhdWx0U3R5bGVJZDoic2VtaWJvbGQiLHN0eWxlSWRzOlsic2VtaWJvbGQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo2MDB9XSxbInV0aWxpdHktZHVvIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhdWRzYiIsZGVmYXVsdFN0eWxlSWQ6InNlbWlib2xkIixzdHlsZUlkczpbInNlbWlib2xkIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NjAwfV0sWyJ1dGlsaXR5LWZpbGwiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmF1ZnNiIixkZWZhdWx0U3R5bGVJZDoic2VtaWJvbGQiLHN0eWxlSWRzOlsic2VtaWJvbGQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo2MDB9XSxbIndoaXRlYm9hcmQiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmF3c2IiLGRlZmF1bHRTdHlsZUlkOiJzZW1pYm9sZCIsc3R5bGVJZHM6WyJzZW1pYm9sZCJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjYwMH1dXSksVF9hPXtjaGlzZWw6e3JlZ3VsYXI6ImZhY3IifSxjbGFzc2ljOnticmFuZHM6ImZhYiIsbGlnaHQ6ImZhbCIscmVndWxhcjoiZmFyIixzb2xpZDoiZmFzIix0aGluOiJmYXQifSxkdW90b25lOntsaWdodDoiZmFkbCIscmVndWxhcjoiZmFkciIsc29saWQ6ImZhZCIsdGhpbjoiZmFkdCJ9LGV0Y2g6e3NvbGlkOiJmYWVzIn0sZ3JhcGhpdGU6e3RoaW46ImZhZ3QifSxqZWxseTp7cmVndWxhcjoiZmFqciJ9LCJqZWxseS1kdW8iOntyZWd1bGFyOiJmYWpkciJ9LCJqZWxseS1maWxsIjp7cmVndWxhcjoiZmFqZnIifSxub3Rkb2c6e3NvbGlkOiJmYW5zIn0sIm5vdGRvZy1kdW8iOntzb2xpZDoiZmFuZHMifSxzaGFycDp7bGlnaHQ6ImZhc2wiLHJlZ3VsYXI6ImZhc3IiLHNvbGlkOiJmYXNzIix0aGluOiJmYXN0In0sInNoYXJwLWR1b3RvbmUiOntsaWdodDoiZmFzZGwiLHJlZ3VsYXI6ImZhc2RyIixzb2xpZDoiZmFzZHMiLHRoaW46ImZhc2R0In0sc2xhYjp7cmVndWxhcjoiZmFzbHIifSwic2xhYi1wcmVzcyI6e3JlZ3VsYXI6ImZhc2xwciJ9LHRodW1icHJpbnQ6e2xpZ2h0OiJmYXRsIn0sdXRpbGl0eTp7c2VtaWJvbGQ6ImZhdXNiIn0sInV0aWxpdHktZHVvIjp7c2VtaWJvbGQ6ImZhdWRzYiJ9LCJ1dGlsaXR5LWZpbGwiOntzZW1pYm9sZDoiZmF1ZnNiIn0sd2hpdGVib2FyZDp7c2VtaWJvbGQ6ImZhd3NiIn19LEs3dD1bImZhayIsImZhLWtpdCIsImZha2QiLCJmYS1raXQtZHVvdG9uZSJdLFo3dD17a2l0OntmYWs6ImtpdCIsImZhLWtpdCI6ImtpdCJ9LCJraXQtZHVvdG9uZSI6e2Zha2Q6ImtpdC1kdW90b25lIiwiZmEta2l0LWR1b3RvbmUiOiJraXQtZHVvdG9uZSJ9fSxMX2E9WyJraXQiXSwkX2E9ImtpdCIsRF9hPSJraXQtZHVvdG9uZSIsQV9hPSJLaXQiLFBfYT0iS2l0IER1b3RvbmUiLGZscz1HdChHdCh7fSwkX2EsQV9hKSxEX2EsUF9hKSxFX2E9e2tpdDp7ImZhLWtpdCI6ImZhayJ9LCJraXQtZHVvdG9uZSI6eyJmYS1raXQtZHVvdG9uZSI6ImZha2QifX0sSV9hPXsiRm9udCBBd2Vzb21lIEtpdCI6ezQwMDoiZmFrIixub3JtYWw6ImZhayJ9LCJGb250IEF3ZXNvbWUgS2l0IER1b3RvbmUiOns0MDA6ImZha2QiLG5vcm1hbDoiZmFrZCJ9fSxOX2E9e2tpdDp7ZmFrOiJmYS1raXQifSwia2l0LWR1b3RvbmUiOntmYWtkOiJmYS1raXQtZHVvdG9uZSJ9fSxYN3Q9e2tpdDp7a2l0OiJmYWsifSwia2l0LWR1b3RvbmUiOnsia2l0LWR1b3RvbmUiOiJmYWtkIn19LFFKPXtHUk9VUDoiZHVvdG9uZS1ncm91cCIsU1dBUF9PUEFDSVRZOiJzd2FwLW9wYWNpdHkiLFBSSU1BUlk6InByaW1hcnkiLFNFQ09OREFSWToic2Vjb25kYXJ5In0sUl9hPVsiZmEtY2xhc3NpYyIsImZhLWR1b3RvbmUiLCJmYS1zaGFycCIsImZhLXNoYXJwLWR1b3RvbmUiLCJmYS10aHVtYnByaW50IiwiZmEtd2hpdGVib2FyZCIsImZhLW5vdGRvZyIsImZhLW5vdGRvZy1kdW8iLCJmYS1jaGlzZWwiLCJmYS1ldGNoIiwiZmEtZ3JhcGhpdGUiLCJmYS1qZWxseSIsImZhLWplbGx5LWZpbGwiLCJmYS1qZWxseS1kdW8iLCJmYS1zbGFiIiwiZmEtc2xhYi1wcmVzcyIsImZhLXV0aWxpdHkiLCJmYS11dGlsaXR5LWR1byIsImZhLXV0aWxpdHktZmlsbCJdLE9fYT0iY2xhc3NpYyIsRl9hPSJkdW90b25lIixCX2E9InNoYXJwIixIX2E9InNoYXJwLWR1b3RvbmUiLHFfYT0iY2hpc2VsIixWX2E9ImV0Y2giLGpfYT0iZ3JhcGhpdGUiLFVfYT0iamVsbHkiLFdfYT0iamVsbHktZHVvIixHX2E9ImplbGx5LWZpbGwiLFlfYT0ibm90ZG9nIixLX2E9Im5vdGRvZy1kdW8iLFpfYT0ic2xhYiIsWF9hPSJzbGFiLXByZXNzIixRX2E9InRodW1icHJpbnQiLEpfYT0idXRpbGl0eSIsZVRhPSJ1dGlsaXR5LWR1byIsdFRhPSJ1dGlsaXR5LWZpbGwiLGFUYT0id2hpdGVib2FyZCIsclRhPSJDbGFzc2ljIixzVGE9IkR1b3RvbmUiLGlUYT0iU2hhcnAiLG9UYT0iU2hhcnAgRHVvdG9uZSIsblRhPSJDaGlzZWwiLGxUYT0iRXRjaCIsY1RhPSJHcmFwaGl0ZSIsZFRhPSJKZWxseSIsdVRhPSJKZWxseSBEdW8iLHBUYT0iSmVsbHkgRmlsbCIsZlRhPSJOb3Rkb2ciLGhUYT0iTm90ZG9nIER1byIsbVRhPSJTbGFiIixnVGE9IlNsYWIgUHJlc3MiLGJUYT0iVGh1bWJwcmludCIsdlRhPSJVdGlsaXR5Iix4VGE9IlV0aWxpdHkgRHVvIix5VGE9IlV0aWxpdHkgRmlsbCIsd1RhPSJXaGl0ZWJvYXJkIixobHM9KHE2ZT17fSxHdChHdChHdChHdChHdChHdChHdChHdChHdChHdChxNmUsT19hLHJUYSksRl9hLHNUYSksQl9hLGlUYSksSF9hLG9UYSkscV9hLG5UYSksVl9hLGxUYSksal9hLGNUYSksVV9hLGRUYSksV19hLHVUYSksR19hLHBUYSksR3QoR3QoR3QoR3QoR3QoR3QoR3QoR3QoR3QocTZlLFlfYSxmVGEpLEtfYSxoVGEpLFpfYSxtVGEpLFhfYSxnVGEpLFFfYSxiVGEpLEpfYSx2VGEpLGVUYSx4VGEpLHRUYSx5VGEpLGFUYSx3VGEpKSxNVGE9ImtpdCIsa1RhPSJraXQtZHVvdG9uZSIsU1RhPSJLaXQiLHpUYT0iS2l0IER1b3RvbmUiLG1scz1HdChHdCh7fSxNVGEsU1RhKSxrVGEselRhKSxDVGE9e2NsYXNzaWM6eyJmYS1icmFuZHMiOiJmYWIiLCJmYS1kdW90b25lIjoiZmFkIiwiZmEtbGlnaHQiOiJmYWwiLCJmYS1yZWd1bGFyIjoiZmFyIiwiZmEtc29saWQiOiJmYXMiLCJmYS10aGluIjoiZmF0In0sZHVvdG9uZTp7ImZhLXJlZ3VsYXIiOiJmYWRyIiwiZmEtbGlnaHQiOiJmYWRsIiwiZmEtdGhpbiI6ImZhZHQifSxzaGFycDp7ImZhLXNvbGlkIjoiZmFzcyIsImZhLXJlZ3VsYXIiOiJmYXNyIiwiZmEtbGlnaHQiOiJmYXNsIiwiZmEtdGhpbiI6ImZhc3QifSwic2hhcnAtZHVvdG9uZSI6eyJmYS1zb2xpZCI6ImZhc2RzIiwiZmEtcmVndWxhciI6ImZhc2RyIiwiZmEtbGlnaHQiOiJmYXNkbCIsImZhLXRoaW4iOiJmYXNkdCJ9LHNsYWI6eyJmYS1yZWd1bGFyIjoiZmFzbHIifSwic2xhYi1wcmVzcyI6eyJmYS1yZWd1bGFyIjoiZmFzbHByIn0sd2hpdGVib2FyZDp7ImZhLXNlbWlib2xkIjoiZmF3c2IifSx0aHVtYnByaW50OnsiZmEtbGlnaHQiOiJmYXRsIn0sbm90ZG9nOnsiZmEtc29saWQiOiJmYW5zIn0sIm5vdGRvZy1kdW8iOnsiZmEtc29saWQiOiJmYW5kcyJ9LGV0Y2g6eyJmYS1zb2xpZCI6ImZhZXMifSxncmFwaGl0ZTp7ImZhLXRoaW4iOiJmYWd0In0samVsbHk6eyJmYS1yZWd1bGFyIjoiZmFqciJ9LCJqZWxseS1maWxsIjp7ImZhLXJlZ3VsYXIiOiJmYWpmciJ9LCJqZWxseS1kdW8iOnsiZmEtcmVndWxhciI6ImZhamRyIn0sY2hpc2VsOnsiZmEtcmVndWxhciI6ImZhY3IifSx1dGlsaXR5OnsiZmEtc2VtaWJvbGQiOiJmYXVzYiJ9LCJ1dGlsaXR5LWR1byI6eyJmYS1zZW1pYm9sZCI6ImZhdWRzYiJ9LCJ1dGlsaXR5LWZpbGwiOnsiZmEtc2VtaWJvbGQiOiJmYXVmc2IifX0sX1RhPXtjbGFzc2ljOlsiZmFzIiwiZmFyIiwiZmFsIiwiZmF0IiwiZmFkIl0sZHVvdG9uZTpbImZhZHIiLCJmYWRsIiwiZmFkdCJdLHNoYXJwOlsiZmFzcyIsImZhc3IiLCJmYXNsIiwiZmFzdCJdLCJzaGFycC1kdW90b25lIjpbImZhc2RzIiwiZmFzZHIiLCJmYXNkbCIsImZhc2R0Il0sc2xhYjpbImZhc2xyIl0sInNsYWItcHJlc3MiOlsiZmFzbHByIl0sd2hpdGVib2FyZDpbImZhd3NiIl0sdGh1bWJwcmludDpbImZhdGwiXSxub3Rkb2c6WyJmYW5zIl0sIm5vdGRvZy1kdW8iOlsiZmFuZHMiXSxldGNoOlsiZmFlcyJdLGdyYXBoaXRlOlsiZmFndCJdLGplbGx5OlsiZmFqciJdLCJqZWxseS1maWxsIjpbImZhamZyIl0sImplbGx5LWR1byI6WyJmYWpkciJdLGNoaXNlbDpbImZhY3IiXSx1dGlsaXR5OlsiZmF1c2IiXSwidXRpbGl0eS1kdW8iOlsiZmF1ZHNiIl0sInV0aWxpdHktZmlsbCI6WyJmYXVmc2IiXX0sVjZlPXtjbGFzc2ljOntmYWI6ImZhLWJyYW5kcyIsZmFkOiJmYS1kdW90b25lIixmYWw6ImZhLWxpZ2h0IixmYXI6ImZhLXJlZ3VsYXIiLGZhczoiZmEtc29saWQiLGZhdDoiZmEtdGhpbiJ9LGR1b3RvbmU6e2ZhZHI6ImZhLXJlZ3VsYXIiLGZhZGw6ImZhLWxpZ2h0IixmYWR0OiJmYS10aGluIn0sc2hhcnA6e2Zhc3M6ImZhLXNvbGlkIixmYXNyOiJmYS1yZWd1bGFyIixmYXNsOiJmYS1saWdodCIsZmFzdDoiZmEtdGhpbiJ9LCJzaGFycC1kdW90b25lIjp7ZmFzZHM6ImZhLXNvbGlkIixmYXNkcjoiZmEtcmVndWxhciIsZmFzZGw6ImZhLWxpZ2h0IixmYXNkdDoiZmEtdGhpbiJ9LHNsYWI6e2Zhc2xyOiJmYS1yZWd1bGFyIn0sInNsYWItcHJlc3MiOntmYXNscHI6ImZhLXJlZ3VsYXIifSx3aGl0ZWJvYXJkOntmYXdzYjoiZmEtc2VtaWJvbGQifSx0aHVtYnByaW50OntmYXRsOiJmYS1saWdodCJ9LG5vdGRvZzp7ZmFuczoiZmEtc29saWQifSwibm90ZG9nLWR1byI6e2ZhbmRzOiJmYS1zb2xpZCJ9LGV0Y2g6e2ZhZXM6ImZhLXNvbGlkIn0sZ3JhcGhpdGU6e2ZhZ3Q6ImZhLXRoaW4ifSxqZWxseTp7ZmFqcjoiZmEtcmVndWxhciJ9LCJqZWxseS1maWxsIjp7ZmFqZnI6ImZhLXJlZ3VsYXIifSwiamVsbHktZHVvIjp7ZmFqZHI6ImZhLXJlZ3VsYXIifSxjaGlzZWw6e2ZhY3I6ImZhLXJlZ3VsYXIifSx1dGlsaXR5OntmYXVzYjoiZmEtc2VtaWJvbGQifSwidXRpbGl0eS1kdW8iOntmYXVkc2I6ImZhLXNlbWlib2xkIn0sInV0aWxpdHktZmlsbCI6e2ZhdWZzYjoiZmEtc2VtaWJvbGQifX0sVFRhPVsiZmEtc29saWQiLCJmYS1yZWd1bGFyIiwiZmEtbGlnaHQiLCJmYS10aGluIiwiZmEtZHVvdG9uZSIsImZhLWJyYW5kcyIsImZhLXNlbWlib2xkIl0sUTd0PVsiZmEiLCJmYXMiLCJmYXIiLCJmYWwiLCJmYXQiLCJmYWQiLCJmYWRyIiwiZmFkbCIsImZhZHQiLCJmYWIiLCJmYXNzIiwiZmFzciIsImZhc2wiLCJmYXN0IiwiZmFzZHMiLCJmYXNkciIsImZhc2RsIiwiZmFzZHQiLCJmYXNsciIsImZhc2xwciIsImZhd3NiIiwiZmF0bCIsImZhbnMiLCJmYW5kcyIsImZhZXMiLCJmYWd0IiwiZmFqciIsImZhamZyIiwiZmFqZHIiLCJmYWNyIiwiZmF1c2IiLCJmYXVkc2IiLCJmYXVmc2IiXS5jb25jYXQoUl9hLFRUYSksTFRhPVsic29saWQiLCJyZWd1bGFyIiwibGlnaHQiLCJ0aGluIiwiZHVvdG9uZSIsImJyYW5kcyIsInNlbWlib2xkIl0sSjd0PVsxLDIsMyw0LDUsNiw3LDgsOSwxMF0sJFRhPUo3dC5jb25jYXQoWzExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwXSksRFRhPVsiYXciLCJmdyIsInB1bGwtbGVmdCIsInB1bGwtcmlnaHQiXSxBVGE9W10uY29uY2F0KGsxKE9iamVjdC5rZXlzKF9UYSkpLExUYSxEVGEsWyIyeHMiLCJ4cyIsInNtIiwibGciLCJ4bCIsIjJ4bCIsImJlYXQiLCJib3JkZXIiLCJmYWRlIiwiYmVhdC1mYWRlIiwiYm91bmNlIiwiZmxpcC1ib3RoIiwiZmxpcC1ob3Jpem9udGFsIiwiZmxpcC12ZXJ0aWNhbCIsImZsaXAiLCJpbnZlcnNlIiwibGF5ZXJzIiwibGF5ZXJzLWJvdHRvbS1sZWZ0IiwibGF5ZXJzLWJvdHRvbS1yaWdodCIsImxheWVycy1jb3VudGVyIiwibGF5ZXJzLXRleHQiLCJsYXllcnMtdG9wLWxlZnQiLCJsYXllcnMtdG9wLXJpZ2h0IiwibGkiLCJwdWxsLWVuZCIsInB1bGwtc3RhcnQiLCJwdWxzZSIsInJvdGF0ZS0xODAiLCJyb3RhdGUtMjcwIiwicm90YXRlLTkwIiwicm90YXRlLWJ5Iiwic2hha2UiLCJzcGluLXB1bHNlIiwic3Bpbi1yZXZlcnNlIiwic3BpbiIsInN0YWNrLTF4Iiwic3RhY2stMngiLCJzdGFjayIsInVsIiwid2lkdGgtYXV0byIsIndpZHRoLWZpeGVkIixRSi5HUk9VUCxRSi5TV0FQX09QQUNJVFksUUouUFJJTUFSWSxRSi5TRUNPTkRBUlldKS5jb25jYXQoSjd0Lm1hcChmdW5jdGlvbihhKXtyZXR1cm4iIi5jb25jYXQoYSwieCIpfSkpLmNvbmNhdCgkVGEubWFwKGZ1bmN0aW9uKGEpe3JldHVybiJ3LSIuY29uY2F0KGEpfSkpLFBUYT17IkZvbnQgQXdlc29tZSA1IEZyZWUiOns5MDA6ImZhcyIsNDAwOiJmYXIifSwiRm9udCBBd2Vzb21lIDUgUHJvIjp7OTAwOiJmYXMiLDQwMDoiZmFyIixub3JtYWw6ImZhciIsMzAwOiJmYWwifSwiRm9udCBBd2Vzb21lIDUgQnJhbmRzIjp7NDAwOiJmYWIiLG5vcm1hbDoiZmFiIn0sIkZvbnQgQXdlc29tZSA1IER1b3RvbmUiOns5MDA6ImZhZCJ9fSxYbD0iX19fRk9OVF9BV0VTT01FX19fIixqNmU9MTYsZTl0PSJmYSIsdDl0PSJzdmctaW5saW5lLS1mYSIsbGQ9ImRhdGEtZmEtaTJzdmciLFU2ZT0iZGF0YS1mYS1wc2V1ZG8tZWxlbWVudCIsRVRhPSJkYXRhLWZhLXBzZXVkby1lbGVtZW50LXBlbmRpbmciLFc2ZT0iZGF0YS1wcmVmaXgiLEc2ZT0iZGF0YS1pY29uIixhOXQ9ImZvbnRhd2Vzb21lLWkyc3ZnIixJVGE9ImFzeW5jIixOVGE9WyJIVE1MIiwiSEVBRCIsIlNUWUxFIiwiU0NSSVBUIl0scjl0PVsiOjpiZWZvcmUiLCI6OmFmdGVyIiwiOmJlZm9yZSIsIjphZnRlciJdLHM5dD0oZnVuY3Rpb24oKXt0cnl7cmV0dXJuITB9Y2F0Y2h7cmV0dXJuITF9fSkoKTtzKGtiLCJmYW1pbHlQcm94eSIpO2k5dD1YZSh7fSxMN3QpO2k5dFt0aV09WGUoWGUoWGUoWGUoe30seyJmYS1kdW90b25lIjoiZHVvdG9uZSJ9KSxMN3RbdGldKSxaN3Qua2l0KSxaN3RbImtpdC1kdW90b25lIl0pO1JUYT1rYihpOXQpLFk2ZT1YZSh7fSxUX2EpO1k2ZVt0aV09WGUoWGUoWGUoWGUoe30se2R1b3RvbmU6ImZhZCJ9KSxZNmVbdGldKSxYN3Qua2l0KSxYN3RbImtpdC1kdW90b25lIl0pO285dD1rYihZNmUpLEs2ZT1YZSh7fSxWNmUpO0s2ZVt0aV09WGUoWGUoe30sSzZlW3RpXSksTl9hLmtpdCk7WjZlPWtiKEs2ZSksWDZlPVhlKHt9LENUYSk7WDZlW3RpXT1YZShYZSh7fSxYNmVbdGldKSxFX2Eua2l0KTtnbHM9a2IoWDZlKSxPVGE9cl9hLG45dD0iZmEtbGF5ZXJzLXRleHQiLEZUYT1zX2EsQlRhPVhlKHt9LHpfYSksYmxzPWtiKEJUYSksSFRhPVsiY2xhc3MiLCJkYXRhLXByZWZpeCIsImRhdGEtaWNvbiIsImRhdGEtZmEtdHJhbnNmb3JtIiwiZGF0YS1mYS1tYXNrIl0sUTZlPWlfYSxxVGE9W10uY29uY2F0KGsxKExfYSksazEoQVRhKSksU2I9WDAuRm9udEF3ZXNvbWVDb25maWd8fHt9O3MoVlRhLCJnZXRBdHRyQ29uZmlnIik7cyhqVGEsImNvZXJjZSIpLHByJiZ0eXBlb2YgcHIucXVlcnlTZWxlY3Rvcj09ImZ1bmN0aW9uIiYmKGw5dD1bWyJkYXRhLWZhbWlseS1wcmVmaXgiLCJmYW1pbHlQcmVmaXgiXSxbImRhdGEtY3NzLXByZWZpeCIsImNzc1ByZWZpeCJdLFsiZGF0YS1mYW1pbHktZGVmYXVsdCIsImZhbWlseURlZmF1bHQiXSxbImRhdGEtc3R5bGUtZGVmYXVsdCIsInN0eWxlRGVmYXVsdCJdLFsiZGF0YS1yZXBsYWNlbWVudC1jbGFzcyIsInJlcGxhY2VtZW50Q2xhc3MiXSxbImRhdGEtYXV0by1yZXBsYWNlLXN2ZyIsImF1dG9SZXBsYWNlU3ZnIl0sWyJkYXRhLWF1dG8tYWRkLWNzcyIsImF1dG9BZGRDc3MiXSxbImRhdGEtc2VhcmNoLXBzZXVkby1lbGVtZW50cyIsInNlYXJjaFBzZXVkb0VsZW1lbnRzIl0sWyJkYXRhLXNlYXJjaC1wc2V1ZG8tZWxlbWVudHMtd2FybmluZ3MiLCJzZWFyY2hQc2V1ZG9FbGVtZW50c1dhcm5pbmdzIl0sWyJkYXRhLXNlYXJjaC1wc2V1ZG8tZWxlbWVudHMtZnVsbC1zY2FuIiwic2VhcmNoUHNldWRvRWxlbWVudHNGdWxsU2NhbiJdLFsiZGF0YS1vYnNlcnZlLW11dGF0aW9ucyIsIm9ic2VydmVNdXRhdGlvbnMiXSxbImRhdGEtbXV0YXRlLWFwcHJvYWNoIiwibXV0YXRlQXBwcm9hY2giXSxbImRhdGEta2VlcC1vcmlnaW5hbC1zb3VyY2UiLCJrZWVwT3JpZ2luYWxTb3VyY2UiXSxbImRhdGEtbWVhc3VyZS1wZXJmb3JtYW5jZSIsIm1lYXN1cmVQZXJmb3JtYW5jZSJdLFsiZGF0YS1zaG93LW1pc3NpbmctaWNvbnMiLCJzaG93TWlzc2luZ0ljb25zIl1dLGw5dC5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBlPUtKKGEsMiksdD1lWzBdLHI9ZVsxXSxpPWpUYShWVGEodCkpO2khPW51bGwmJihTYltyXT1pKX0pKTtjOXQ9e3N0eWxlRGVmYXVsdDoic29saWQiLGZhbWlseURlZmF1bHQ6dGksY3NzUHJlZml4OmU5dCxyZXBsYWNlbWVudENsYXNzOnQ5dCxhdXRvUmVwbGFjZVN2ZzohMCxhdXRvQWRkQ3NzOiEwLHNlYXJjaFBzZXVkb0VsZW1lbnRzOiExLHNlYXJjaFBzZXVkb0VsZW1lbnRzV2FybmluZ3M6ITAsc2VhcmNoUHNldWRvRWxlbWVudHNGdWxsU2NhbjohMSxvYnNlcnZlTXV0YXRpb25zOiEwLG11dGF0ZUFwcHJvYWNoOiJhc3luYyIsa2VlcE9yaWdpbmFsU291cmNlOiEwLG1lYXN1cmVQZXJmb3JtYW5jZTohMSxzaG93TWlzc2luZ0ljb25zOiEwfTtTYi5mYW1pbHlQcmVmaXgmJihTYi5jc3NQcmVmaXg9U2IuZmFtaWx5UHJlZml4KTtIOD1YZShYZSh7fSxjOXQpLFNiKTtIOC5hdXRvUmVwbGFjZVN2Z3x8KEg4Lm9ic2VydmVNdXRhdGlvbnM9ITEpO0x0PXt9O09iamVjdC5rZXlzKGM5dCkuZm9yRWFjaChmdW5jdGlvbihhKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoTHQsYSx7ZW51bWVyYWJsZTohMCxzZXQ6cyhmdW5jdGlvbih0KXtIOFthXT10LHpiLmZvckVhY2goZnVuY3Rpb24ocil7cmV0dXJuIHIoTHQpfSl9LCJzZXQiKSxnZXQ6cyhmdW5jdGlvbigpe3JldHVybiBIOFthXX0sImdldCIpfSl9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoTHQsImZhbWlseVByZWZpeCIse2VudW1lcmFibGU6ITAsc2V0OnMoZnVuY3Rpb24oZSl7SDguY3NzUHJlZml4PWUsemIuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gdChMdCl9KX0sInNldCIpLGdldDpzKGZ1bmN0aW9uKCl7cmV0dXJuIEg4LmNzc1ByZWZpeH0sImdldCIpfSksWDAuRm9udEF3ZXNvbWVDb25maWc9THQ7emI9W107cyhVVGEsIm9uQ2hhbmdlIik7UTA9ajZlLEgyPXtzaXplOjE2LHg6MCx5OjAscm90YXRlOjAsZmxpcFg6ITEsZmxpcFk6ITF9O3MoV1RhLCJpbnNlcnRDc3MiKTtHVGE9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjtzKGQ5dCwibmV4dFVuaXF1ZUlkIik7cyhxOCwidG9BcnJheSIpO3MoSjZlLCJjbGFzc0FycmF5Iik7cyh1OXQsImh0bWxFc2NhcGUiKTtzKFlUYSwiam9pbkF0dHJpYnV0ZXMiKTtzKEpKLCJqb2luU3R5bGVzIik7cyhldWUsInRyYW5zZm9ybUlzTWVhbmluZ2Z1bCIpO3MoS1RhLCJ0cmFuc2Zvcm1Gb3JTdmciKTtzKFpUYSwidHJhbnNmb3JtRm9yQ3NzIik7WFRhPWA6cm9vdCwgOmhvc3QgewogIC0tZmEtZm9udC1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgRnJlZSc7CiAgLS1mYS1mb250LXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IEZyZWUnOwogIC0tZmEtZm9udC1saWdodDogbm9ybWFsIDMwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgUHJvJzsKICAtLWZhLWZvbnQtdGhpbjogbm9ybWFsIDEwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgUHJvJzsKICAtLWZhLWZvbnQtZHVvdG9uZTogbm9ybWFsIDkwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgRHVvdG9uZSc7CiAgLS1mYS1mb250LWR1b3RvbmUtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgRHVvdG9uZSc7CiAgLS1mYS1mb250LWR1b3RvbmUtbGlnaHQ6IG5vcm1hbCAzMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IER1b3RvbmUnOwogIC0tZmEtZm9udC1kdW90b25lLXRoaW46IG5vcm1hbCAxMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IER1b3RvbmUnOwogIC0tZmEtZm9udC1icmFuZHM6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IEJyYW5kcyc7CiAgLS1mYS1mb250LXNoYXJwLXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTaGFycCc7CiAgLS1mYS1mb250LXNoYXJwLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwJzsKICAtLWZhLWZvbnQtc2hhcnAtbGlnaHQ6IG5vcm1hbCAzMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwJzsKICAtLWZhLWZvbnQtc2hhcnAtdGhpbjogbm9ybWFsIDEwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2hhcnAnOwogIC0tZmEtZm9udC1zaGFycC1kdW90b25lLXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTaGFycCBEdW90b25lJzsKICAtLWZhLWZvbnQtc2hhcnAtZHVvdG9uZS1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTaGFycCBEdW90b25lJzsKICAtLWZhLWZvbnQtc2hhcnAtZHVvdG9uZS1saWdodDogbm9ybWFsIDMwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2hhcnAgRHVvdG9uZSc7CiAgLS1mYS1mb250LXNoYXJwLWR1b3RvbmUtdGhpbjogbm9ybWFsIDEwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2hhcnAgRHVvdG9uZSc7CiAgLS1mYS1mb250LXNsYWItcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2xhYic7CiAgLS1mYS1mb250LXNsYWItcHJlc3MtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2xhYiBQcmVzcyc7CiAgLS1mYS1mb250LXdoaXRlYm9hcmQtc2VtaWJvbGQ6IG5vcm1hbCA2MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFdoaXRlYm9hcmQnOwogIC0tZmEtZm9udC10aHVtYnByaW50LWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBUaHVtYnByaW50JzsKICAtLWZhLWZvbnQtbm90ZG9nLXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBOb3Rkb2cnOwogIC0tZmEtZm9udC1ub3Rkb2ctZHVvLXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBOb3Rkb2cgRHVvJzsKICAtLWZhLWZvbnQtZXRjaC1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgRXRjaCc7CiAgLS1mYS1mb250LWdyYXBoaXRlLXRoaW46IG5vcm1hbCAxMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IEdyYXBoaXRlJzsKICAtLWZhLWZvbnQtamVsbHktcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgSmVsbHknOwogIC0tZmEtZm9udC1qZWxseS1maWxsLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IEplbGx5IEZpbGwnOwogIC0tZmEtZm9udC1qZWxseS1kdW8tcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgSmVsbHkgRHVvJzsKICAtLWZhLWZvbnQtY2hpc2VsLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IENoaXNlbCc7CiAgLS1mYS1mb250LXV0aWxpdHktc2VtaWJvbGQ6IG5vcm1hbCA2MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFV0aWxpdHknOwogIC0tZmEtZm9udC11dGlsaXR5LWR1by1zZW1pYm9sZDogbm9ybWFsIDYwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgVXRpbGl0eSBEdW8nOwogIC0tZmEtZm9udC11dGlsaXR5LWZpbGwtc2VtaWJvbGQ6IG5vcm1hbCA2MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFV0aWxpdHkgRmlsbCc7Cn0KCi5zdmctaW5saW5lLS1mYSB7CiAgYm94LXNpemluZzogY29udGVudC1ib3g7CiAgZGlzcGxheTogdmFyKC0tZmEtZGlzcGxheSwgaW5saW5lLWJsb2NrKTsKICBoZWlnaHQ6IDFlbTsKICBvdmVyZmxvdzogdmlzaWJsZTsKICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07CiAgd2lkdGg6IHZhcigtLWZhLXdpZHRoLCAxLjI1ZW0pOwp9Ci5zdmctaW5saW5lLS1mYS5mYS0yeHMgewogIHZlcnRpY2FsLWFsaWduOiAwLjFlbTsKfQouc3ZnLWlubGluZS0tZmEuZmEteHMgewogIHZlcnRpY2FsLWFsaWduOiAwZW07Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLXNtIHsKICB2ZXJ0aWNhbC1hbGlnbjogLTAuMDcxNDI4NTcxNGVtOwp9Ci5zdmctaW5saW5lLS1mYS5mYS1sZyB7CiAgdmVydGljYWwtYWxpZ246IC0wLjJlbTsKfQouc3ZnLWlubGluZS0tZmEuZmEteGwgewogIHZlcnRpY2FsLWFsaWduOiAtMC4yNWVtOwp9Ci5zdmctaW5saW5lLS1mYS5mYS0yeGwgewogIHZlcnRpY2FsLWFsaWduOiAtMC4zMTI1ZW07Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLXB1bGwtbGVmdCwKLnN2Zy1pbmxpbmUtLWZhIC5mYS1wdWxsLXN0YXJ0IHsKICBmbG9hdDogaW5saW5lLXN0YXJ0OwogIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1mYS1wdWxsLW1hcmdpbiwgMC4zZW0pOwp9Ci5zdmctaW5saW5lLS1mYS5mYS1wdWxsLXJpZ2h0LAouc3ZnLWlubGluZS0tZmEgLmZhLXB1bGwtZW5kIHsKICBmbG9hdDogaW5saW5lLWVuZDsKICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1mYS1wdWxsLW1hcmdpbiwgMC4zZW0pOwp9Ci5zdmctaW5saW5lLS1mYS5mYS1saSB7CiAgd2lkdGg6IHZhcigtLWZhLWxpLXdpZHRoLCAyZW0pOwogIGluc2V0LWlubGluZS1zdGFydDogY2FsYygtMSAqIHZhcigtLWZhLWxpLXdpZHRoLCAyZW0pKTsKICBpbnNldC1ibG9jay1zdGFydDogMC4yNWVtOyAvKiBzeW5jaW5nIHZlcnRpY2FsIGFsaWdubWVudCB3aXRoIFdlYiBGb250IHJlbmRlcmluZyAqLwp9CgouZmEtbGF5ZXJzLWNvdW50ZXIsIC5mYS1sYXllcnMtdGV4dCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5mYS1sYXllcnMgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IDFlbTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTsKICB3aWR0aDogdmFyKC0tZmEtd2lkdGgsIDEuMjVlbSk7Cn0KLmZhLWxheWVycyAuc3ZnLWlubGluZS0tZmEgewogIGluc2V0OiAwOwogIG1hcmdpbjogYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsKfQoKLmZhLWxheWVycy10ZXh0IHsKICBsZWZ0OiA1MCU7CiAgdG9wOiA1MCU7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsKfQoKLmZhLWxheWVycy1jb3VudGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mYS1jb3VudGVyLWJhY2tncm91bmQtY29sb3IsICNmZjI1M2EpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWZhLWNvdW50ZXItYm9yZGVyLXJhZGl1cywgMWVtKTsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1mYS1pbnZlcnNlLCAjZmZmKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZmEtY291bnRlci1saW5lLWhlaWdodCwgMSk7CiAgbWF4LXdpZHRoOiB2YXIoLS1mYS1jb3VudGVyLW1heC13aWR0aCwgNWVtKTsKICBtaW4td2lkdGg6IHZhcigtLWZhLWNvdW50ZXItbWluLXdpZHRoLCAxLjVlbSk7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nOiB2YXIoLS1mYS1jb3VudGVyLXBhZGRpbmcsIDAuMjVlbSAwLjVlbSk7CiAgcmlnaHQ6IHZhcigtLWZhLXJpZ2h0LCAwKTsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICB0b3A6IHZhcigtLWZhLXRvcCwgMCk7CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1jb3VudGVyLXNjYWxlLCAwLjI1KSk7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CgouZmEtbGF5ZXJzLWJvdHRvbS1yaWdodCB7CiAgYm90dG9tOiB2YXIoLS1mYS1ib3R0b20sIDApOwogIHJpZ2h0OiB2YXIoLS1mYS1yaWdodCwgMCk7CiAgdG9wOiBhdXRvOwogIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtbGF5ZXJzLXNjYWxlLCAwLjI1KSk7CiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0Owp9CgouZmEtbGF5ZXJzLWJvdHRvbS1sZWZ0IHsKICBib3R0b206IHZhcigtLWZhLWJvdHRvbSwgMCk7CiAgbGVmdDogdmFyKC0tZmEtbGVmdCwgMCk7CiAgcmlnaHQ6IGF1dG87CiAgdG9wOiBhdXRvOwogIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtbGF5ZXJzLXNjYWxlLCAwLjI1KSk7CiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7Cn0KCi5mYS1sYXllcnMtdG9wLXJpZ2h0IHsKICB0b3A6IHZhcigtLWZhLXRvcCwgMCk7CiAgcmlnaHQ6IHZhcigtLWZhLXJpZ2h0LCAwKTsKICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDsKfQoKLmZhLWxheWVycy10b3AtbGVmdCB7CiAgbGVmdDogdmFyKC0tZmEtbGVmdCwgMCk7CiAgcmlnaHQ6IGF1dG87CiAgdG9wOiB2YXIoLS1mYS10b3AsIDApOwogIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtbGF5ZXJzLXNjYWxlLCAwLjI1KSk7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7Cn0KCi5mYS0xeCB7CiAgZm9udC1zaXplOiAxZW07Cn0KCi5mYS0yeCB7CiAgZm9udC1zaXplOiAyZW07Cn0KCi5mYS0zeCB7CiAgZm9udC1zaXplOiAzZW07Cn0KCi5mYS00eCB7CiAgZm9udC1zaXplOiA0ZW07Cn0KCi5mYS01eCB7CiAgZm9udC1zaXplOiA1ZW07Cn0KCi5mYS02eCB7CiAgZm9udC1zaXplOiA2ZW07Cn0KCi5mYS03eCB7CiAgZm9udC1zaXplOiA3ZW07Cn0KCi5mYS04eCB7CiAgZm9udC1zaXplOiA4ZW07Cn0KCi5mYS05eCB7CiAgZm9udC1zaXplOiA5ZW07Cn0KCi5mYS0xMHggewogIGZvbnQtc2l6ZTogMTBlbTsKfQoKLmZhLTJ4cyB7CiAgZm9udC1zaXplOiBjYWxjKDEwIC8gMTYgKiAxZW0pOyAvKiBjb252ZXJ0cyBhIDEwcHggc2l6ZSBpbnRvIGFuIGVtLWJhc2VkIHZhbHVlIHRoYXQncyByZWxhdGl2ZSB0byB0aGUgc2NhbGUncyAxNnB4IGJhc2UgKi8KICBsaW5lLWhlaWdodDogY2FsYygxIC8gMTAgKiAxZW0pOyAvKiBzZXRzIHRoZSBsaW5lLWhlaWdodCBvZiB0aGUgaWNvbiBiYWNrIHRvIHRoYXQgb2YgaXQncyBwYXJlbnQgKi8KICB2ZXJ0aWNhbC1hbGlnbjogY2FsYygoNiAvIDEwIC0gMC4zNzUpICogMWVtKTsgLyogdmVydGljYWxseSBjZW50ZXJzIHRoZSBpY29uIHRha2luZyBpbnRvIGFjY291bnQgdGhlIHN1cnJvdW5kaW5nIHRleHQncyBkZXNjZW5kZXIgKi8KfQoKLmZhLXhzIHsKICBmb250LXNpemU6IGNhbGMoMTIgLyAxNiAqIDFlbSk7IC8qIGNvbnZlcnRzIGEgMTJweCBzaXplIGludG8gYW4gZW0tYmFzZWQgdmFsdWUgdGhhdCdzIHJlbGF0aXZlIHRvIHRoZSBzY2FsZSdzIDE2cHggYmFzZSAqLwogIGxpbmUtaGVpZ2h0OiBjYWxjKDEgLyAxMiAqIDFlbSk7IC8qIHNldHMgdGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBpY29uIGJhY2sgdG8gdGhhdCBvZiBpdCdzIHBhcmVudCAqLwogIHZlcnRpY2FsLWFsaWduOiBjYWxjKCg2IC8gMTIgLSAwLjM3NSkgKiAxZW0pOyAvKiB2ZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGljb24gdGFraW5nIGludG8gYWNjb3VudCB0aGUgc3Vycm91bmRpbmcgdGV4dCdzIGRlc2NlbmRlciAqLwp9CgouZmEtc20gewogIGZvbnQtc2l6ZTogY2FsYygxNCAvIDE2ICogMWVtKTsgLyogY29udmVydHMgYSAxNHB4IHNpemUgaW50byBhbiBlbS1iYXNlZCB2YWx1ZSB0aGF0J3MgcmVsYXRpdmUgdG8gdGhlIHNjYWxlJ3MgMTZweCBiYXNlICovCiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAvIDE0ICogMWVtKTsgLyogc2V0cyB0aGUgbGluZS1oZWlnaHQgb2YgdGhlIGljb24gYmFjayB0byB0aGF0IG9mIGl0J3MgcGFyZW50ICovCiAgdmVydGljYWwtYWxpZ246IGNhbGMoKDYgLyAxNCAtIDAuMzc1KSAqIDFlbSk7IC8qIHZlcnRpY2FsbHkgY2VudGVycyB0aGUgaWNvbiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzdXJyb3VuZGluZyB0ZXh0J3MgZGVzY2VuZGVyICovCn0KCi5mYS1sZyB7CiAgZm9udC1zaXplOiBjYWxjKDIwIC8gMTYgKiAxZW0pOyAvKiBjb252ZXJ0cyBhIDIwcHggc2l6ZSBpbnRvIGFuIGVtLWJhc2VkIHZhbHVlIHRoYXQncyByZWxhdGl2ZSB0byB0aGUgc2NhbGUncyAxNnB4IGJhc2UgKi8KICBsaW5lLWhlaWdodDogY2FsYygxIC8gMjAgKiAxZW0pOyAvKiBzZXRzIHRoZSBsaW5lLWhlaWdodCBvZiB0aGUgaWNvbiBiYWNrIHRvIHRoYXQgb2YgaXQncyBwYXJlbnQgKi8KICB2ZXJ0aWNhbC1hbGlnbjogY2FsYygoNiAvIDIwIC0gMC4zNzUpICogMWVtKTsgLyogdmVydGljYWxseSBjZW50ZXJzIHRoZSBpY29uIHRha2luZyBpbnRvIGFjY291bnQgdGhlIHN1cnJvdW5kaW5nIHRleHQncyBkZXNjZW5kZXIgKi8KfQoKLmZhLXhsIHsKICBmb250LXNpemU6IGNhbGMoMjQgLyAxNiAqIDFlbSk7IC8qIGNvbnZlcnRzIGEgMjRweCBzaXplIGludG8gYW4gZW0tYmFzZWQgdmFsdWUgdGhhdCdzIHJlbGF0aXZlIHRvIHRoZSBzY2FsZSdzIDE2cHggYmFzZSAqLwogIGxpbmUtaGVpZ2h0OiBjYWxjKDEgLyAyNCAqIDFlbSk7IC8qIHNldHMgdGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBpY29uIGJhY2sgdG8gdGhhdCBvZiBpdCdzIHBhcmVudCAqLwogIHZlcnRpY2FsLWFsaWduOiBjYWxjKCg2IC8gMjQgLSAwLjM3NSkgKiAxZW0pOyAvKiB2ZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGljb24gdGFraW5nIGludG8gYWNjb3VudCB0aGUgc3Vycm91bmRpbmcgdGV4dCdzIGRlc2NlbmRlciAqLwp9CgouZmEtMnhsIHsKICBmb250LXNpemU6IGNhbGMoMzIgLyAxNiAqIDFlbSk7IC8qIGNvbnZlcnRzIGEgMzJweCBzaXplIGludG8gYW4gZW0tYmFzZWQgdmFsdWUgdGhhdCdzIHJlbGF0aXZlIHRvIHRoZSBzY2FsZSdzIDE2cHggYmFzZSAqLwogIGxpbmUtaGVpZ2h0OiBjYWxjKDEgLyAzMiAqIDFlbSk7IC8qIHNldHMgdGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBpY29uIGJhY2sgdG8gdGhhdCBvZiBpdCdzIHBhcmVudCAqLwogIHZlcnRpY2FsLWFsaWduOiBjYWxjKCg2IC8gMzIgLSAwLjM3NSkgKiAxZW0pOyAvKiB2ZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGljb24gdGFraW5nIGludG8gYWNjb3VudCB0aGUgc3Vycm91bmRpbmcgdGV4dCdzIGRlc2NlbmRlciAqLwp9CgouZmEtd2lkdGgtYXV0byB7CiAgLS1mYS13aWR0aDogYXV0bzsKfQoKLmZhLWZ3LAouZmEtd2lkdGgtZml4ZWQgewogIC0tZmEtd2lkdGg6IDEuMjVlbTsKfQoKLmZhLXVsIHsKICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7CiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tZmEtbGktbWFyZ2luLCAyLjVlbSk7CiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7Cn0KLmZhLXVsID4gbGkgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLmZhLWxpIHsKICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoLTEgKiB2YXIoLS1mYS1saS13aWR0aCwgMmVtKSk7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aWR0aDogdmFyKC0tZmEtbGktd2lkdGgsIDJlbSk7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7Cn0KCi8qIEhlYWRzIFVwOiBCb3JkZXJlZCBJY29ucyB3aWxsIG5vdCBiZSBzdXBwb3J0ZWQgaW4gdGhlIGZ1dHVyZSEKICAtIFRoaXMgZmVhdHVyZSB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZSBvZiBGb250IEF3ZXNvbWUgKHY4KSEKICAtIFlvdSBtYXkgY29udGludWUgdG8gdXNlIGl0IGluIHRoaXMgdmVyc2lvbiAqdjcpLCBidXQgaXQgd2lsbCBub3QgYmUgc3VwcG9ydGVkIGluIEZvbnQgQXdlc29tZSB2OC4KKi8KLyogTm90ZXM6CiogLS1Ae3YuJGNzcy1wcmVmaXh9LWJvcmRlci13aWR0aCA9IDEvMTYgYnkgZGVmYXVsdCAodG8gcmVuZGVyIGFzIH4xcHggYmFzZWQgb24gYSAxNnB4IGRlZmF1bHQgZm9udC1zaXplKQoqIC0tQHt2LiRjc3MtcHJlZml4fS1ib3JkZXItcGFkZGluZyA9CiAgKiogMy8xNiBmb3IgdmVydGljYWwgcGFkZGluZyAodG8gZ2l2ZSB+MnB4IG9mIHZlcnRpY2FsIHdoaXRlc3BhY2UgYXJvdW5kIGFuIGljb24gY29uc2lkZXJpbmcgaXQncyB2ZXJ0aWNhbCBhbGlnbm1lbnQpCiAgKiogNC8xNiBmb3IgaG9yaXpvbnRhbCBwYWRkaW5nICh0byBnaXZlIH40cHggb2YgaG9yaXpvbnRhbCB3aGl0ZXNwYWNlIGFyb3VuZCBhbiBpY29uKQoqLwouZmEtYm9yZGVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLWZhLWJvcmRlci1jb2xvciwgI2VlZSk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZmEtYm9yZGVyLXJhZGl1cywgMC4xZW0pOwogIGJvcmRlci1zdHlsZTogdmFyKC0tZmEtYm9yZGVyLXN0eWxlLCBzb2xpZCk7CiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1mYS1ib3JkZXItd2lkdGgsIDAuMDYyNWVtKTsKICBib3gtc2l6aW5nOiB2YXIoLS1mYS1ib3JkZXItYm94LXNpemluZywgY29udGVudC1ib3gpOwogIHBhZGRpbmc6IHZhcigtLWZhLWJvcmRlci1wYWRkaW5nLCAwLjE4NzVlbSAwLjI1ZW0pOwp9CgouZmEtcHVsbC1sZWZ0LAouZmEtcHVsbC1zdGFydCB7CiAgZmxvYXQ6IGlubGluZS1zdGFydDsKICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tZmEtcHVsbC1tYXJnaW4sIDAuM2VtKTsKfQoKLmZhLXB1bGwtcmlnaHQsCi5mYS1wdWxsLWVuZCB7CiAgZmxvYXQ6IGlubGluZS1lbmQ7CiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tZmEtcHVsbC1tYXJnaW4sIDAuM2VtKTsKfQoKLmZhLWJlYXQgewogIGFuaW1hdGlvbi1uYW1lOiBmYS1iZWF0OwogIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBlYXNlLWluLW91dCk7Cn0KCi5mYS1ib3VuY2UgewogIGFuaW1hdGlvbi1uYW1lOiBmYS1ib3VuY2U7CiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTsKICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGN1YmljLWJlemllcigwLjI4LCAwLjg0LCAwLjQyLCAxKSk7Cn0KCi5mYS1mYWRlIHsKICBhbmltYXRpb24tbmFtZTogZmEtZmFkZTsKICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSk7Cn0KCi5mYS1iZWF0LWZhZGUgewogIGFuaW1hdGlvbi1uYW1lOiBmYS1iZWF0LWZhZGU7CiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTsKICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkpOwp9CgouZmEtZmxpcCB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLWZsaXA7CiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTsKICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGVhc2UtaW4tb3V0KTsKfQoKLmZhLXNoYWtlIHsKICBhbmltYXRpb24tbmFtZTogZmEtc2hha2U7CiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTsKICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGxpbmVhcik7Cn0KCi5mYS1zcGluIHsKICBhbmltYXRpb24tbmFtZTogZmEtc3BpbjsKICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDJzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgbGluZWFyKTsKfQoKLmZhLXNwaW4tcmV2ZXJzZSB7CiAgLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlOwp9CgouZmEtcHVsc2UsCi5mYS1zcGluLXB1bHNlIHsKICBhbmltYXRpb24tbmFtZTogZmEtc3BpbjsKICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIHN0ZXBzKDgpKTsKfQoKQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsKICAuZmEtYmVhdCwKICAuZmEtYm91bmNlLAogIC5mYS1mYWRlLAogIC5mYS1iZWF0LWZhZGUsCiAgLmZhLWZsaXAsCiAgLmZhLXB1bHNlLAogIC5mYS1zaGFrZSwKICAuZmEtc3BpbiwKICAuZmEtc3Bpbi1wdWxzZSB7CiAgICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsKICB9Cn0KQGtleWZyYW1lcyBmYS1iZWF0IHsKICAwJSwgOTAlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgfQogIDQ1JSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJlYXQtc2NhbGUsIDEuMjUpKTsKICB9Cn0KQGtleWZyYW1lcyBmYS1ib3VuY2UgewogIDAlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTsKICB9CiAgMTAlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLXN0YXJ0LXNjYWxlLXgsIDEuMSksIHZhcigtLWZhLWJvdW5jZS1zdGFydC1zY2FsZS15LCAwLjkpKSB0cmFuc2xhdGVZKDApOwogIH0KICAzMCUgewogICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2UtanVtcC1zY2FsZS14LCAwLjkpLCB2YXIoLS1mYS1ib3VuY2UtanVtcC1zY2FsZS15LCAxLjEpKSB0cmFuc2xhdGVZKHZhcigtLWZhLWJvdW5jZS1oZWlnaHQsIC0wLjVlbSkpOwogIH0KICA1MCUgewogICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2UtbGFuZC1zY2FsZS14LCAxLjA1KSwgdmFyKC0tZmEtYm91bmNlLWxhbmQtc2NhbGUteSwgMC45NSkpIHRyYW5zbGF0ZVkoMCk7CiAgfQogIDU3JSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkodmFyKC0tZmEtYm91bmNlLXJlYm91bmQsIC0wLjEyNWVtKSk7CiAgfQogIDY0JSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7CiAgfQogIDEwMCUgewogICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApOwogIH0KfQpAa2V5ZnJhbWVzIGZhLWZhZGUgewogIDUwJSB7CiAgICBvcGFjaXR5OiB2YXIoLS1mYS1mYWRlLW9wYWNpdHksIDAuNCk7CiAgfQp9CkBrZXlmcmFtZXMgZmEtYmVhdC1mYWRlIHsKICAwJSwgMTAwJSB7CiAgICBvcGFjaXR5OiB2YXIoLS1mYS1iZWF0LWZhZGUtb3BhY2l0eSwgMC40KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgfQogIDUwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1iZWF0LWZhZGUtc2NhbGUsIDEuMTI1KSk7CiAgfQp9CkBrZXlmcmFtZXMgZmEtZmxpcCB7CiAgNTAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QodmFyKC0tZmEtZmxpcC14LCAwKSwgdmFyKC0tZmEtZmxpcC15LCAxKSwgdmFyKC0tZmEtZmxpcC16LCAwKSwgdmFyKC0tZmEtZmxpcC1hbmdsZSwgLTE4MGRlZykpOwogIH0KfQpAa2V5ZnJhbWVzIGZhLXNoYWtlIHsKICAwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTVkZWcpOwogIH0KICA0JSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7CiAgfQogIDglLCAyNCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4ZGVnKTsKICB9CiAgMTIlLCAyOCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMThkZWcpOwogIH0KICAxNiUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoLTIyZGVnKTsKICB9CiAgMjAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDIyZGVnKTsKICB9CiAgMzIlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMmRlZyk7CiAgfQogIDM2JSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMmRlZyk7CiAgfQogIDQwJSwgMTAwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICB9Cn0KQGtleWZyYW1lcyBmYS1zcGluIHsKICAwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICB9CiAgMTAwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogIH0KfQouZmEtcm90YXRlLTkwIHsKICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7Cn0KCi5mYS1yb3RhdGUtMTgwIHsKICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOwp9CgouZmEtcm90YXRlLTI3MCB7CiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsKfQoKLmZhLWZsaXAtaG9yaXpvbnRhbCB7CiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7Cn0KCi5mYS1mbGlwLXZlcnRpY2FsIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsKfQoKLmZhLWZsaXAtYm90aCwKLmZhLWZsaXAtaG9yaXpvbnRhbC5mYS1mbGlwLXZlcnRpY2FsIHsKICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAtMSk7Cn0KCi5mYS1yb3RhdGUtYnkgewogIHRyYW5zZm9ybTogcm90YXRlKHZhcigtLWZhLXJvdGF0ZS1hbmdsZSwgMCkpOwp9Cgouc3ZnLWlubGluZS0tZmEgLmZhLXByaW1hcnkgewogIGZpbGw6IHZhcigtLWZhLXByaW1hcnktY29sb3IsIGN1cnJlbnRDb2xvcik7CiAgb3BhY2l0eTogdmFyKC0tZmEtcHJpbWFyeS1vcGFjaXR5LCAxKTsKfQoKLnN2Zy1pbmxpbmUtLWZhIC5mYS1zZWNvbmRhcnkgewogIGZpbGw6IHZhcigtLWZhLXNlY29uZGFyeS1jb2xvciwgY3VycmVudENvbG9yKTsKICBvcGFjaXR5OiB2YXIoLS1mYS1zZWNvbmRhcnktb3BhY2l0eSwgMC40KTsKfQoKLnN2Zy1pbmxpbmUtLWZhLmZhLXN3YXAtb3BhY2l0eSAuZmEtcHJpbWFyeSB7CiAgb3BhY2l0eTogdmFyKC0tZmEtc2Vjb25kYXJ5LW9wYWNpdHksIDAuNCk7Cn0KCi5zdmctaW5saW5lLS1mYS5mYS1zd2FwLW9wYWNpdHkgLmZhLXNlY29uZGFyeSB7CiAgb3BhY2l0eTogdmFyKC0tZmEtcHJpbWFyeS1vcGFjaXR5LCAxKTsKfQoKLnN2Zy1pbmxpbmUtLWZhIG1hc2sgLmZhLXByaW1hcnksCi5zdmctaW5saW5lLS1mYSBtYXNrIC5mYS1zZWNvbmRhcnkgewogIGZpbGw6IGJsYWNrOwp9Cgouc3ZnLWlubGluZS0tZmEuZmEtaW52ZXJzZSB7CiAgZmlsbDogdmFyKC0tZmEtaW52ZXJzZSwgI2ZmZik7Cn0KCi5mYS1zdGFjayB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogMmVtOwogIGxpbmUtaGVpZ2h0OiAyZW07CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgd2lkdGg6IDIuNWVtOwp9CgouZmEtaW52ZXJzZSB7CiAgY29sb3I6IHZhcigtLWZhLWludmVyc2UsICNmZmYpOwp9Cgouc3ZnLWlubGluZS0tZmEuZmEtc3RhY2stMXggewogIC0tZmEtd2lkdGg6IDEuMjVlbTsKICBoZWlnaHQ6IDFlbTsKICB3aWR0aDogdmFyKC0tZmEtd2lkdGgpOwp9Ci5zdmctaW5saW5lLS1mYS5mYS1zdGFjay0yeCB7CiAgLS1mYS13aWR0aDogMi41ZW07CiAgaGVpZ2h0OiAyZW07CiAgd2lkdGg6IHZhcigtLWZhLXdpZHRoKTsKfQoKLmZhLXN0YWNrLTF4LAouZmEtc3RhY2stMnggewogIGluc2V0OiAwOwogIG1hcmdpbjogYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogdmFyKC0tZmEtc3RhY2stei1pbmRleCwgYXV0byk7Cn1gO3MocDl0LCJjc3MiKTtmOXQ9ITE7cyh0dWUsImVuc3VyZUNzcyIpO1FUYT17bWl4b3V0OnMoZnVuY3Rpb24oKXtyZXR1cm57ZG9tOntjc3M6cDl0LGluc2VydENzczp0dWV9fX0sIm1peG91dCIpLGhvb2tzOnMoZnVuY3Rpb24oKXtyZXR1cm57YmVmb3JlRE9NRWxlbWVudENyZWF0aW9uOnMoZnVuY3Rpb24oKXt0dWUoKX0sImJlZm9yZURPTUVsZW1lbnRDcmVhdGlvbiIpLGJlZm9yZUkyc3ZnOnMoZnVuY3Rpb24oKXt0dWUoKX0sImJlZm9yZUkyc3ZnIil9fSwiaG9va3MiKX0sUWw9WDB8fHt9O1FsW1hsXXx8KFFsW1hsXT17fSksUWxbWGxdLnN0eWxlc3x8KFFsW1hsXS5zdHlsZXM9e30pLFFsW1hsXS5ob29rc3x8KFFsW1hsXS5ob29rcz17fSksUWxbWGxdLnNoaW1zfHwoUWxbWGxdLnNoaW1zPVtdKTtTMT1RbFtYbF0saDl0PVtdLG05dD1zKGZ1bmN0aW9uKCl7cHIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbTl0KSxlZWU9MSxoOXQubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlKCl9KX0sImxpc3RlbmVyIiksZWVlPSExO1psJiYoZWVlPShwci5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGw/L15sb2FkZWR8XmMvOi9ebG9hZGVkfF5pfF5jLykudGVzdChwci5yZWFkeVN0YXRlKSxlZWV8fHByLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG05dCkpO3MoSlRhLCJkb21yZWFkeSIpO3MoQ2IsInRvSHRtbCIpO3MoZzl0LCJpY29uRnJvbU1hcHBpbmciKTtlTGE9cyhmdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihyLGksbyxuKXtyZXR1cm4gZS5jYWxsKHQscixpLG8sbil9fSwiYmluZEludGVybmFsNCIpLGF1ZT1zKGZ1bmN0aW9uKGUsdCxyLGkpe3ZhciBvPU9iamVjdC5rZXlzKGUpLG49by5sZW5ndGgsbD1pIT09dm9pZCAwP2VMYSh0LGkpOnQsZCxjLHA7Zm9yKHI9PT12b2lkIDA/KGQ9MSxwPWVbb1swXV0pOihkPTAscD1yKTtkPG47ZCsrKWM9b1tkXSxwPWwocCxlW2NdLGMsZSk7cmV0dXJuIHB9LCJmYXN0UmVkdWNlT2JqZWN0Iik7cyhiOXQsInRvSGV4Iik7cyh2OXQsIm5vcm1hbGl6ZUljb25zIik7cyhydWUsImRlZmluZUljb25zIik7c3VlPTEsejE9Mix2bHM9W1t6MSxEaSgvcGF0aCBvcGFjaXR5PSIoW14iXSopIi4qZD0iKFteIl0qKSIuKnBhdGguKmQ9IihbXiJdKikiLyx7ZDI6MixkMTozfSldLFt6MSxEaSgvcGF0aCBvcGFjaXR5PSIoW14iXSopIi4qZD0iKFteIl0qKSIvLHtkMjoyfSldLFtzdWUsRGkoL3BhdGggZmlsbD0iY3VycmVudENvbG9yIi4qZD0iKFteIl0rKSIvLHtkMToxfSldXSx4bHM9W1t6MSxEaSgvcGF0aCBjbGFzcz0iKFteIl0qc2Vjb25kYXJ5W14iXSopIi4qZD0iKFteIl0rKSIuKnBhdGggY2xhc3M9IihbXiJdKnByaW1hcnlbXiJdKikiLipkPSIoW14iXSspIi8se2F0dHIyOjEsZDI6MixhdHRyMTozLGQxOjR9KV0sW3oxLERpKC9wYXRoIGNsYXNzPSIoW14iXSpwcmltYXJ5W14iXSopIi4qZD0iKFteIl0rKSIuKnBhdGggY2xhc3M9IihbXiJdKnNlY29uZGFyeVteIl0qKSIuKmQ9IihbXiJdKykiLyx7YXR0cjE6MSxkMToyLGF0dHIyOjMsZDI6NH0pXSxbejEsRGkoL3BhdGggY2xhc3M9IihbXiJdKnByaW1hcnlbXiJdKikiLipkPSIoW14iXSspIi8se2F0dHIxOjEsZDE6Mn0pXSxbejEsRGkoL3BhdGggY2xhc3M9IihbXiJdKnNlY29uZGFyeVteIl0qKSIuKmQ9IihbXiJdKykiLyx7YXR0cjI6MSxkMjoyfSldLFt6MSxEaSgvcGF0aCBkPSIoW14iXSspIi4qY2xhc3M9IihbXiJdKnNlY29uZGFyeVteIl0qKSIuKnBhdGggZD0iKFteIl0rKSIuKmNsYXNzPSIoW14iXSpwcmltYXJ5W14iXSopIi8se2QyOjEsYXR0cjI6MixkMTozLGF0dHIxOjR9KV0sW3oxLERpKC9wYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qcHJpbWFyeVteIl0qKSIuKnBhdGggZD0iKFteIl0rKSIuKmNsYXNzPSIoW14iXSpzZWNvbmRhcnlbXiJdKikiLyx7ZDE6MSxhdHRyMToyLGQyOjMsYXR0cjI6NH0pXSxbejEsRGkoL3BhdGggZD0iKFteIl0rKSIuKmNsYXNzPSIoW14iXSpwcmltYXJ5W14iXSopIi8se2QxOjEsYXR0cjE6Mn0pXSxbejEsRGkoL3BhdGggZD0iKFteIl0rKSIuKmNsYXNzPSIoW14iXSpzZWNvbmRhcnlbXiJdKikiLyx7ZDI6MSxhdHRyMjoyfSldLFt6MSxEaSgvcGF0aCBkPSIoW14iXSspIi4qcGF0aCBkPSIoW14iXSspIi8se2QxOjEsZDI6Mn0pXSxbc3VlLERpKC9wYXRoIGQ9IihbXiJdKykiLyx7ZDE6MX0pXSxbc3VlLERpKC9wYXRoIHN0eWxlPSIoW14iXSspIi4qZD0iKFteIl0rKSIvLHthdHRyMToxLGQxOjJ9KV1dLF9iPVMxLnN0eWxlcyx0TGE9UzEuc2hpbXMseDl0PU9iamVjdC5rZXlzKFo2ZSksYUxhPXg5dC5yZWR1Y2UoZnVuY3Rpb24oYSxlKXtyZXR1cm4gYVtlXT1PYmplY3Qua2V5cyhaNmVbZV0pLGF9LHt9KSxpdWU9bnVsbCx5OXQ9e30sdzl0PXt9LE05dD17fSxrOXQ9e30sUzl0PXt9O3MockxhLCJpc1Jlc2VydmVkIik7cyhzTGEsImdldEljb25OYW1lIik7ejl0PXMoZnVuY3Rpb24oKXt2YXIgZT1zKGZ1bmN0aW9uKG8pe3JldHVybiBhdWUoX2IsZnVuY3Rpb24obixsLGQpe3JldHVybiBuW2RdPWF1ZShsLG8se30pLG59LHt9KX0sImxvb2t1cCIpO3k5dD1lKGZ1bmN0aW9uKGksbyxuKXtpZihvWzNdJiYoaVtvWzNdXT1uKSxvWzJdKXt2YXIgbD1vWzJdLmZpbHRlcihmdW5jdGlvbihkKXtyZXR1cm4gdHlwZW9mIGQ9PSJudW1iZXIifSk7bC5mb3JFYWNoKGZ1bmN0aW9uKGQpe2lbZC50b1N0cmluZygxNildPW59KX1yZXR1cm4gaX0pLHc5dD1lKGZ1bmN0aW9uKGksbyxuKXtpZihpW25dPW4sb1syXSl7dmFyIGw9b1syXS5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuIHR5cGVvZiBkPT0ic3RyaW5nIn0pO2wuZm9yRWFjaChmdW5jdGlvbihkKXtpW2RdPW59KX1yZXR1cm4gaX0pLFM5dD1lKGZ1bmN0aW9uKGksbyxuKXt2YXIgbD1vWzJdO3JldHVybiBpW25dPW4sbC5mb3JFYWNoKGZ1bmN0aW9uKGQpe2lbZF09bn0pLGl9KTt2YXIgdD0iZmFyImluIF9ifHxMdC5hdXRvRmV0Y2hTdmcscj1hdWUodExhLGZ1bmN0aW9uKGksbyl7dmFyIG49b1swXSxsPW9bMV0sZD1vWzJdO3JldHVybiBsPT09ImZhciImJiF0JiYobD0iZmFzIiksdHlwZW9mIG49PSJzdHJpbmciJiYoaS5uYW1lc1tuXT17cHJlZml4OmwsaWNvbk5hbWU6ZH0pLHR5cGVvZiBuPT0ibnVtYmVyIiYmKGkudW5pY29kZXNbbi50b1N0cmluZygxNildPXtwcmVmaXg6bCxpY29uTmFtZTpkfSksaX0se25hbWVzOnt9LHVuaWNvZGVzOnt9fSk7TTl0PXIubmFtZXMsazl0PXIudW5pY29kZXMsaXVlPXRlZShMdC5zdHlsZURlZmF1bHQse2ZhbWlseTpMdC5mYW1pbHlEZWZhdWx0fSl9LCJidWlsZCIpO1VUYShmdW5jdGlvbihhKXtpdWU9dGVlKGEuc3R5bGVEZWZhdWx0LHtmYW1pbHk6THQuZmFtaWx5RGVmYXVsdH0pfSksejl0KCk7cyhvdWUsImJ5VW5pY29kZSIpO3MoaUxhLCJieUxpZ2F0dXJlIik7cyhjZCwiYnlBbGlhcyIpO3MoQzl0LCJieU9sZE5hbWUiKTtzKG9MYSwiYnlPbGRVbmljb2RlIik7cyhKMCwiZ2V0RGVmYXVsdFVzYWJsZVByZWZpeCIpO185dD1zKGZ1bmN0aW9uKCl7cmV0dXJue3ByZWZpeDpudWxsLGljb25OYW1lOm51bGwscmVzdDpbXX19LCJlbXB0eUNhbm9uaWNhbEljb24iKTtzKG5MYSwiZ2V0RmFtaWx5SWQiKTtzKHRlZSwiZ2V0Q2Fub25pY2FsUHJlZml4Iik7cyhsTGEsIm1vdmVOb25GYUNsYXNzZXNUb1Jlc3QiKTtzKFQ5dCwic29ydGVkVW5pcXVlVmFsdWVzIik7TDl0PVE3dC5jb25jYXQoSzd0KTtzKGFlZSwiZ2V0Q2Fub25pY2FsSWNvbiIpO3MoY0xhLCJhcHBseVNoaW1BbmRBbGlhcyIpO2RMYT1ZN3QuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhIT09dGl8fGEhPT1NYn0pLHVMYT1PYmplY3Qua2V5cyhWNmUpLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYSE9PXRpfSkubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3Qua2V5cyhWNmVbYV0pfSkuZmxhdCgpO3MocExhLCJnZXREZWZhdWx0Q2Fub25pY2FsUHJlZml4Iik7ZkxhPShmdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtZQ2EodGhpcyxhKSx0aGlzLmRlZmluaXRpb25zPXt9fXJldHVybiBzKGEsIkxpYnJhcnkiKSxLQ2EoYSxbe2tleToiYWRkIix2YWx1ZTpzKGZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMscj1hcmd1bWVudHMubGVuZ3RoLGk9bmV3IEFycmF5KHIpLG89MDtvPHI7bysrKWlbb109YXJndW1lbnRzW29dO3ZhciBuPWkucmVkdWNlKHRoaXMuX3B1bGxEZWZpbml0aW9ucyx7fSk7T2JqZWN0LmtleXMobikuZm9yRWFjaChmdW5jdGlvbihsKXt0LmRlZmluaXRpb25zW2xdPVhlKFhlKHt9LHQuZGVmaW5pdGlvbnNbbF18fHt9KSxuW2xdKSxydWUobCxuW2xdKTt2YXIgZD1aNmVbdGldW2xdO2QmJnJ1ZShkLG5bbF0pLHo5dCgpfSl9LCJhZGQiKX0se2tleToicmVzZXQiLHZhbHVlOnMoZnVuY3Rpb24oKXt0aGlzLmRlZmluaXRpb25zPXt9fSwicmVzZXQiKX0se2tleToiX3B1bGxEZWZpbml0aW9ucyIsdmFsdWU6cyhmdW5jdGlvbih0LHIpe3ZhciBpPXIucHJlZml4JiZyLmljb25OYW1lJiZyLmljb24/ezA6cn06cjtyZXR1cm4gT2JqZWN0LmtleXMoaSkubWFwKGZ1bmN0aW9uKG8pe3ZhciBuPWlbb10sbD1uLnByZWZpeCxkPW4uaWNvbk5hbWUsYz1uLmljb24scD1jWzJdO3RbbF18fCh0W2xdPXt9KSxwLmxlbmd0aD4wJiZwLmZvckVhY2goZnVuY3Rpb24odSl7dHlwZW9mIHU9PSJzdHJpbmciJiYodFtsXVt1XT1jKX0pLHRbbF1bZF09Y30pLHR9LCJfcHVsbERlZmluaXRpb25zIil9XSl9KSgpLCQ5dD1bXSxWOD17fSxqOD17fSxoTGE9T2JqZWN0LmtleXMoajgpO3MobUxhLCJyZWdpc3RlclBsdWdpbnMiKTtzKG51ZSwiY2hhaW5Ib29rcyIpO3MoZGQsImNhbGxIb29rcyIpO3MoZTQsImNhbGxQcm92aWRlZCIpO3MobHVlLCJmaW5kSWNvbkRlZmluaXRpb24iKTtEOXQ9bmV3IGZMYSxnTGE9cyhmdW5jdGlvbigpe0x0LmF1dG9SZXBsYWNlU3ZnPSExLEx0Lm9ic2VydmVNdXRhdGlvbnM9ITEsZGQoIm5vQXV0byIpfSwibm9BdXRvIiksYkxhPXtpMnN2ZzpzKGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9O3JldHVybiBabD8oZGQoImJlZm9yZUkyc3ZnIixlKSxlNCgicHNldWRvRWxlbWVudHMyc3ZnIixlKSxlNCgiaTJzdmciLGUpKTpQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIk9wZXJhdGlvbiByZXF1aXJlcyBhIERPTSBvZiBzb21lIGtpbmQuIikpfSwiaTJzdmciKSx3YXRjaDpzKGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9LHQ9ZS5hdXRvUmVwbGFjZVN2Z1Jvb3Q7THQuYXV0b1JlcGxhY2VTdmc9PT0hMSYmKEx0LmF1dG9SZXBsYWNlU3ZnPSEwKSxMdC5vYnNlcnZlTXV0YXRpb25zPSEwLEpUYShmdW5jdGlvbigpe3hMYSh7YXV0b1JlcGxhY2VTdmdSb290OnR9KSxkZCgid2F0Y2giLGUpfSl9LCJ3YXRjaCIpfSx2TGE9e2ljb246cyhmdW5jdGlvbihlKXtpZihlPT09bnVsbClyZXR1cm4gbnVsbDtpZihaSihlKT09PSJvYmplY3QiJiZlLnByZWZpeCYmZS5pY29uTmFtZSlyZXR1cm57cHJlZml4OmUucHJlZml4LGljb25OYW1lOmNkKGUucHJlZml4LGUuaWNvbk5hbWUpfHxlLmljb25OYW1lfTtpZihBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD09PTIpe3ZhciB0PWVbMV0uaW5kZXhPZigiZmEtIik9PT0wP2VbMV0uc2xpY2UoMyk6ZVsxXSxyPXRlZShlWzBdKTtyZXR1cm57cHJlZml4OnIsaWNvbk5hbWU6Y2Qocix0KXx8dH19aWYodHlwZW9mIGU9PSJzdHJpbmciJiYoZS5pbmRleE9mKCIiLmNvbmNhdChMdC5jc3NQcmVmaXgsIi0iKSk+LTF8fGUubWF0Y2goT1RhKSkpe3ZhciBpPWFlZShlLnNwbGl0KCIgIikse3NraXBMb29rdXBzOiEwfSk7cmV0dXJue3ByZWZpeDppLnByZWZpeHx8SjAoKSxpY29uTmFtZTpjZChpLnByZWZpeCxpLmljb25OYW1lKXx8aS5pY29uTmFtZX19aWYodHlwZW9mIGU9PSJzdHJpbmciKXt2YXIgbz1KMCgpO3JldHVybntwcmVmaXg6byxpY29uTmFtZTpjZChvLGUpfHxlfX19LCJpY29uIil9LEVvPXtub0F1dG86Z0xhLGNvbmZpZzpMdCxkb206YkxhLHBhcnNlOnZMYSxsaWJyYXJ5OkQ5dCxmaW5kSWNvbkRlZmluaXRpb246bHVlLHRvSHRtbDpDYn0seExhPXMoZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJmFyZ3VtZW50c1swXSE9PXZvaWQgMD9hcmd1bWVudHNbMF06e30sdD1lLmF1dG9SZXBsYWNlU3ZnUm9vdCxyPXQ9PT12b2lkIDA/cHI6dDsoT2JqZWN0LmtleXMoUzEuc3R5bGVzKS5sZW5ndGg+MHx8THQuYXV0b0ZldGNoU3ZnKSYmWmwmJkx0LmF1dG9SZXBsYWNlU3ZnJiZFby5kb20uaTJzdmcoe25vZGU6cn0pfSwiYXV0b1JlcGxhY2UiKTtzKHJlZSwiZG9tVmFyaWFudHMiKTtzKHlMYSwiYXNJY29uIik7cyh3TGEsImFzU3ltYm9sIik7cyhNTGEsImlzTGFiZWxlZCIpO3MoY3VlLCJtYWtlSW5saW5lU3ZnQWJzdHJhY3QiKTtzKEE5dCwibWFrZUxheWVyc1RleHRBYnN0cmFjdCIpO3Moa0xhLCJtYWtlTGF5ZXJzQ291bnRlckFic3RyYWN0Iik7ZHVlPVMxLnN0eWxlcztzKHV1ZSwiYXNGb3VuZEljb24iKTtTTGE9e2ZvdW5kOiExLHdpZHRoOjUxMixoZWlnaHQ6NTEyfTtzKHpMYSwibWF5YmVOb3RpZnlNaXNzaW5nIik7cyhwdWUsImZpbmRJY29uIik7UDl0PXMoZnVuY3Rpb24oKXt9LCJub29wIiksZnVlPUx0Lm1lYXN1cmVQZXJmb3JtYW5jZSYmWEomJlhKLm1hcmsmJlhKLm1lYXN1cmU/WEo6e21hcms6UDl0LG1lYXN1cmU6UDl0fSxUYj0nRkEgIjcuMi4wIicsQ0xhPXMoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1ZS5tYXJrKCIiLmNvbmNhdChUYiwiICIpLmNvbmNhdChlLCIgYmVnaW5zIikpLGZ1bmN0aW9uKCl7cmV0dXJuIEU5dChlKX19LCJiZWdpbiIpLEU5dD1zKGZ1bmN0aW9uKGUpe2Z1ZS5tYXJrKCIiLmNvbmNhdChUYiwiICIpLmNvbmNhdChlLCIgZW5kcyIpKSxmdWUubWVhc3VyZSgiIi5jb25jYXQoVGIsIiAiKS5jb25jYXQoZSksIiIuY29uY2F0KFRiLCIgIikuY29uY2F0KGUsIiBiZWdpbnMiKSwiIi5jb25jYXQoVGIsIiAiKS5jb25jYXQoZSwiIGVuZHMiKSl9LCJlbmQiKSxodWU9e2JlZ2luOkNMYSxlbmQ6RTl0fSxzZWU9cyhmdW5jdGlvbigpe30sIm5vb3AiKTtzKEk5dCwiaXNXYXRjaGVkIik7cyhfTGEsImhhc1ByZWZpeEFuZEljb24iKTtzKFRMYSwiaGFzQmVlblJlcGxhY2VkIik7cyhMTGEsImdldE11dGF0b3IiKTtzKCRMYSwiY3JlYXRlRWxlbWVudE5TIik7cyhETGEsImNyZWF0ZUVsZW1lbnQiKTtzKE45dCwiY29udmVydFNWRyIpO3MoQUxhLCJub2RlQXNDb21tZW50Iik7aWVlPXtyZXBsYWNlOnMoZnVuY3Rpb24oZSl7dmFyIHQ9ZVswXTtpZih0LnBhcmVudE5vZGUpaWYoZVsxXS5mb3JFYWNoKGZ1bmN0aW9uKGkpe3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoTjl0KGkpLHQpfSksdC5nZXRBdHRyaWJ1dGUobGQpPT09bnVsbCYmTHQua2VlcE9yaWdpbmFsU291cmNlKXt2YXIgcj1wci5jcmVhdGVDb21tZW50KEFMYSh0KSk7dC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChyLHQpfWVsc2UgdC5yZW1vdmUoKX0sInJlcGxhY2UiKSxuZXN0OnMoZnVuY3Rpb24oZSl7dmFyIHQ9ZVswXSxyPWVbMV07aWYofko2ZSh0KS5pbmRleE9mKEx0LnJlcGxhY2VtZW50Q2xhc3MpKXJldHVybiBpZWUucmVwbGFjZShlKTt2YXIgaT1uZXcgUmVnRXhwKCIiLmNvbmNhdChMdC5jc3NQcmVmaXgsIi0uKiIpKTtpZihkZWxldGUgclswXS5hdHRyaWJ1dGVzLmlkLHJbMF0uYXR0cmlidXRlcy5jbGFzcyl7dmFyIG89clswXS5hdHRyaWJ1dGVzLmNsYXNzLnNwbGl0KCIgIikucmVkdWNlKGZ1bmN0aW9uKGwsZCl7cmV0dXJuIGQ9PT1MdC5yZXBsYWNlbWVudENsYXNzfHxkLm1hdGNoKGkpP2wudG9TdmcucHVzaChkKTpsLnRvTm9kZS5wdXNoKGQpLGx9LHt0b05vZGU6W10sdG9Tdmc6W119KTtyWzBdLmF0dHJpYnV0ZXMuY2xhc3M9by50b1N2Zy5qb2luKCIgIiksby50b05vZGUubGVuZ3RoPT09MD90LnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKTp0LnNldEF0dHJpYnV0ZSgiY2xhc3MiLG8udG9Ob2RlLmpvaW4oIiAiKSl9dmFyIG49ci5tYXAoZnVuY3Rpb24obCl7cmV0dXJuIENiKGwpfSkuam9pbihgCmApO3Quc2V0QXR0cmlidXRlKGxkLCIiKSx0LmlubmVySFRNTD1ufSwibmVzdCIpfTtzKFI5dCwicGVyZm9ybU9wZXJhdGlvblN5bmMiKTtzKE85dCwicGVyZm9ybSIpO211ZT0hMTtzKEY5dCwiZGlzYWJsZU9ic2VydmF0aW9uIik7cyhndWUsImVuYWJsZU9ic2VydmF0aW9uIik7b2VlPW51bGw7cyhCOXQsIm9ic2VydmUiKTtzKFBMYSwiZGlzY29ubmVjdCIpO3MoRUxhLCJzdHlsZVBhcnNlciIpO3MoSUxhLCJjbGFzc1BhcnNlciIpO3MoTkxhLCJhdHRyaWJ1dGVzUGFyc2VyIik7cyhSTGEsImJsYW5rTWV0YSIpO3MoSDl0LCJwYXJzZU1ldGEiKTtPTGE9UzEuc3R5bGVzO3MocTl0LCJnZW5lcmF0ZU11dGF0aW9uIik7cyhGTGEsImdldEtub3duUHJlZml4ZXMiKTtzKFY5dCwib25UcmVlIik7cyhCTGEsIm9uTm9kZSIpO3MoSExhLCJyZXNvbHZlSWNvbnMiKTtxTGE9cyhmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30scj10LnRyYW5zZm9ybSxpPXI9PT12b2lkIDA/SDI6cixvPXQuc3ltYm9sLG49bz09PXZvaWQgMD8hMTpvLGw9dC5tYXNrLGQ9bD09PXZvaWQgMD9udWxsOmwsYz10Lm1hc2tJZCxwPWM9PT12b2lkIDA/bnVsbDpjLHU9dC5jbGFzc2VzLG09dT09PXZvaWQgMD9bXTp1LHY9dC5hdHRyaWJ1dGVzLHg9dj09PXZvaWQgMD97fTp2LGI9dC5zdHlsZXMsZz1iPT09dm9pZCAwP3t9OmI7aWYoZSl7dmFyIHk9ZS5wcmVmaXgsaz1lLmljb25OYW1lLEM9ZS5pY29uO3JldHVybiByZWUoWGUoe3R5cGU6Imljb24ifSxlKSxmdW5jdGlvbigpe3JldHVybiBkZCgiYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uIix7aWNvbkRlZmluaXRpb246ZSxwYXJhbXM6dH0pLGN1ZSh7aWNvbnM6e21haW46dXVlKEMpLG1hc2s6ZD91dWUoZC5pY29uKTp7Zm91bmQ6ITEsd2lkdGg6bnVsbCxoZWlnaHQ6bnVsbCxpY29uOnt9fX0scHJlZml4OnksaWNvbk5hbWU6ayx0cmFuc2Zvcm06WGUoWGUoe30sSDIpLGkpLHN5bWJvbDpuLG1hc2tJZDpwLGV4dHJhOnthdHRyaWJ1dGVzOngsc3R5bGVzOmcsY2xhc3NlczptfX0pfSl9fSwicmVuZGVyIiksVkxhPXttaXhvdXQ6cyhmdW5jdGlvbigpe3JldHVybntpY29uOkhMYShxTGEpfX0sIm1peG91dCIpLGhvb2tzOnMoZnVuY3Rpb24oKXtyZXR1cm57bXV0YXRpb25PYnNlcnZlckNhbGxiYWNrczpzKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRyZWVDYWxsYmFjaz1WOXQsdC5ub2RlQ2FsbGJhY2s9QkxhLHR9LCJtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzIil9fSwiaG9va3MiKSxwcm92aWRlczpzKGZ1bmN0aW9uKGUpe2UuaTJzdmc9ZnVuY3Rpb24odCl7dmFyIHI9dC5ub2RlLGk9cj09PXZvaWQgMD9wcjpyLG89dC5jYWxsYmFjayxuPW89PT12b2lkIDA/ZnVuY3Rpb24oKXt9Om87cmV0dXJuIFY5dChpLG4pfSxlLmdlbmVyYXRlU3ZnUmVwbGFjZW1lbnRNdXRhdGlvbj1mdW5jdGlvbih0LHIpe3ZhciBpPXIuaWNvbk5hbWUsbz1yLnByZWZpeCxuPXIudHJhbnNmb3JtLGw9ci5zeW1ib2wsZD1yLm1hc2ssYz1yLm1hc2tJZCxwPXIuZXh0cmE7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHUsbSl7UHJvbWlzZS5hbGwoW3B1ZShpLG8pLGQuaWNvbk5hbWU/cHVlKGQuaWNvbk5hbWUsZC5wcmVmaXgpOlByb21pc2UucmVzb2x2ZSh7Zm91bmQ6ITEsd2lkdGg6NTEyLGhlaWdodDo1MTIsaWNvbjp7fX0pXSkudGhlbihmdW5jdGlvbih2KXt2YXIgeD1LSih2LDIpLGI9eFswXSxnPXhbMV07dShbdCxjdWUoe2ljb25zOnttYWluOmIsbWFzazpnfSxwcmVmaXg6byxpY29uTmFtZTppLHRyYW5zZm9ybTpuLHN5bWJvbDpsLG1hc2tJZDpjLGV4dHJhOnAsd2F0Y2hhYmxlOiEwfSldKX0pLmNhdGNoKG0pfSl9LGUuZ2VuZXJhdGVBYnN0cmFjdEljb249ZnVuY3Rpb24odCl7dmFyIHI9dC5jaGlsZHJlbixpPXQuYXR0cmlidXRlcyxvPXQubWFpbixuPXQudHJhbnNmb3JtLGw9dC5zdHlsZXMsZD1KSihsKTtkLmxlbmd0aD4wJiYoaS5zdHlsZT1kKTt2YXIgYztyZXR1cm4gZXVlKG4pJiYoYz1lNCgiZ2VuZXJhdGVBYnN0cmFjdFRyYW5zZm9ybUdyb3VwaW5nIix7bWFpbjpvLHRyYW5zZm9ybTpuLGNvbnRhaW5lcldpZHRoOm8ud2lkdGgsaWNvbldpZHRoOm8ud2lkdGh9KSksci5wdXNoKGN8fG8uaWNvbikse2NoaWxkcmVuOnIsYXR0cmlidXRlczppfX19LCJwcm92aWRlcyIpfSxqTGE9e21peG91dDpzKGZ1bmN0aW9uKCl7cmV0dXJue2xheWVyOnMoZnVuY3Rpb24odCl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT12b2lkIDA/YXJndW1lbnRzWzFdOnt9LGk9ci5jbGFzc2VzLG89aT09PXZvaWQgMD9bXTppO3JldHVybiByZWUoe3R5cGU6ImxheWVyIn0sZnVuY3Rpb24oKXtkZCgiYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uIix7YXNzZW1ibGVyOnQscGFyYW1zOnJ9KTt2YXIgbj1bXTtyZXR1cm4gdChmdW5jdGlvbihsKXtBcnJheS5pc0FycmF5KGwpP2wubWFwKGZ1bmN0aW9uKGQpe249bi5jb25jYXQoZC5hYnN0cmFjdCl9KTpuPW4uY29uY2F0KGwuYWJzdHJhY3QpfSksW3t0YWc6InNwYW4iLGF0dHJpYnV0ZXM6e2NsYXNzOlsiIi5jb25jYXQoTHQuY3NzUHJlZml4LCItbGF5ZXJzIildLmNvbmNhdChrMShvKSkuam9pbigiICIpfSxjaGlsZHJlbjpufV19KX0sImxheWVyIil9fSwibWl4b3V0Iil9LFVMYT17bWl4b3V0OnMoZnVuY3Rpb24oKXtyZXR1cm57Y291bnRlcjpzKGZ1bmN0aW9uKHQpe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7fSxpPXIudGl0bGUsbz1pPT09dm9pZCAwP251bGw6aSxuPXIuY2xhc3NlcyxsPW49PT12b2lkIDA/W106bixkPXIuYXR0cmlidXRlcyxjPWQ9PT12b2lkIDA/e306ZCxwPXIuc3R5bGVzLHU9cD09PXZvaWQgMD97fTpwO3JldHVybiByZWUoe3R5cGU6ImNvdW50ZXIiLGNvbnRlbnQ6dH0sZnVuY3Rpb24oKXtyZXR1cm4gZGQoImJlZm9yZURPTUVsZW1lbnRDcmVhdGlvbiIse2NvbnRlbnQ6dCxwYXJhbXM6cn0pLGtMYSh7Y29udGVudDp0LnRvU3RyaW5nKCksdGl0bGU6byxleHRyYTp7YXR0cmlidXRlczpjLHN0eWxlczp1LGNsYXNzZXM6WyIiLmNvbmNhdChMdC5jc3NQcmVmaXgsIi1sYXllcnMtY291bnRlciIpXS5jb25jYXQoazEobCkpfX0pfSl9LCJjb3VudGVyIil9fSwibWl4b3V0Iil9LFdMYT17bWl4b3V0OnMoZnVuY3Rpb24oKXtyZXR1cm57dGV4dDpzKGZ1bmN0aW9uKHQpe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7fSxpPXIudHJhbnNmb3JtLG89aT09PXZvaWQgMD9IMjppLG49ci5jbGFzc2VzLGw9bj09PXZvaWQgMD9bXTpuLGQ9ci5hdHRyaWJ1dGVzLGM9ZD09PXZvaWQgMD97fTpkLHA9ci5zdHlsZXMsdT1wPT09dm9pZCAwP3t9OnA7cmV0dXJuIHJlZSh7dHlwZToidGV4dCIsY29udGVudDp0fSxmdW5jdGlvbigpe3JldHVybiBkZCgiYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uIix7Y29udGVudDp0LHBhcmFtczpyfSksQTl0KHtjb250ZW50OnQsdHJhbnNmb3JtOlhlKFhlKHt9LEgyKSxvKSxleHRyYTp7YXR0cmlidXRlczpjLHN0eWxlczp1LGNsYXNzZXM6WyIiLmNvbmNhdChMdC5jc3NQcmVmaXgsIi1sYXllcnMtdGV4dCIpXS5jb25jYXQoazEobCkpfX0pfSl9LCJ0ZXh0Iil9fSwibWl4b3V0IikscHJvdmlkZXM6cyhmdW5jdGlvbihlKXtlLmdlbmVyYXRlTGF5ZXJzVGV4dD1mdW5jdGlvbih0LHIpe3ZhciBpPXIudHJhbnNmb3JtLG89ci5leHRyYSxuPW51bGwsbD1udWxsO2lmKFQ3dCl7dmFyIGQ9cGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0KS5mb250U2l6ZSwxMCksYz10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO249Yy53aWR0aC9kLGw9Yy5oZWlnaHQvZH1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFt0LEE5dCh7Y29udGVudDp0LmlubmVySFRNTCx3aWR0aDpuLGhlaWdodDpsLHRyYW5zZm9ybTppLGV4dHJhOm8sd2F0Y2hhYmxlOiEwfSldKX19LCJwcm92aWRlcyIpfSxqOXQ9bmV3IFJlZ0V4cCgnIicsInVnIiksVTl0PVsxMTA1OTIwLDExMTIzMTldLFc5dD1YZShYZShYZShYZSh7fSx7Rm9udEF3ZXNvbWU6e25vcm1hbDoiZmFzIiw0MDA6ImZhcyJ9fSksQ19hKSxQVGEpLElfYSksYnVlPU9iamVjdC5rZXlzKFc5dCkucmVkdWNlKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIGFbZS50b0xvd2VyQ2FzZSgpXT1XOXRbZV0sYX0se30pLEdMYT1PYmplY3Qua2V5cyhidWUpLnJlZHVjZShmdW5jdGlvbihhLGUpe3ZhciB0PWJ1ZVtlXTtyZXR1cm4gYVtlXT10WzkwMF18fGsxKE9iamVjdC5lbnRyaWVzKHQpKVswXVsxXSxhfSx7fSk7cyhZTGEsImhleFZhbHVlRnJvbUNvbnRlbnQiKTtzKEtMYSwiaXNTZWNvbmRhcnlMYXllciIpO3MoWkxhLCJnZXRQcmVmaXgiKTtzKEc5dCwicmVwbGFjZUZvclBvc2l0aW9uIik7cyhYTGEsInJlcGxhY2UiKTtzKFFMYSwicHJvY2Vzc2FibGUiKTtKTGE9cyhmdW5jdGlvbihlKXtyZXR1cm4hIWUmJnI5dC5zb21lKGZ1bmN0aW9uKHQpe3JldHVybiBlLmluY2x1ZGVzKHQpfSl9LCJoYXNQc2V1ZG9FbGVtZW50IiksZSRhPXMoZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuW107dmFyIHQ9bmV3IFNldCxyPWUuc3BsaXQoLywoPyFbXigpXSpcKSkvKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQudHJpbSgpfSk7cj1yLmZsYXRNYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQuaW5jbHVkZXMoIigiKT9kOmQuc3BsaXQoIiwiKS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGMudHJpbSgpfSl9KTt2YXIgaT1HSihyKSxvO3RyeXtmb3IoaS5zKCk7IShvPWkubigpKS5kb25lOyl7dmFyIG49by52YWx1ZTtpZihKTGEobikpe3ZhciBsPXI5dC5yZWR1Y2UoZnVuY3Rpb24oZCxjKXtyZXR1cm4gZC5yZXBsYWNlKGMsIiIpfSxuKTtsIT09IiImJmwhPT0iKiImJnQuYWRkKGwpfX19Y2F0Y2goZCl7aS5lKGQpfWZpbmFsbHl7aS5mKCl9cmV0dXJuIHR9LCJwYXJzZUNTU1J1bGVGb3JQc2V1ZG9zIik7cyhZOXQsInNlYXJjaFBzZXVkb0VsZW1lbnRzIik7dCRhPXtob29rczpzKGZ1bmN0aW9uKCl7cmV0dXJue211dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3M6cyhmdW5jdGlvbih0KXtyZXR1cm4gdC5wc2V1ZG9FbGVtZW50c0NhbGxiYWNrPVk5dCx0fSwibXV0YXRpb25PYnNlcnZlckNhbGxiYWNrcyIpfX0sImhvb2tzIikscHJvdmlkZXM6cyhmdW5jdGlvbihlKXtlLnBzZXVkb0VsZW1lbnRzMnN2Zz1mdW5jdGlvbih0KXt2YXIgcj10Lm5vZGUsaT1yPT09dm9pZCAwP3ByOnI7THQuc2VhcmNoUHNldWRvRWxlbWVudHMmJlk5dChpKX19LCJwcm92aWRlcyIpfSxLOXQ9ITEsYSRhPXttaXhvdXQ6cyhmdW5jdGlvbigpe3JldHVybntkb206e3Vud2F0Y2g6cyhmdW5jdGlvbigpe0Y5dCgpLEs5dD0hMH0sInVud2F0Y2giKX19fSwibWl4b3V0IiksaG9va3M6cyhmdW5jdGlvbigpe3JldHVybntib290c3RyYXA6cyhmdW5jdGlvbigpe0I5dChudWUoIm11dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3MiLHt9KSl9LCJib290c3RyYXAiKSxub0F1dG86cyhmdW5jdGlvbigpe1BMYSgpfSwibm9BdXRvIiksd2F0Y2g6cyhmdW5jdGlvbih0KXt2YXIgcj10Lm9ic2VydmVNdXRhdGlvbnNSb290O0s5dD9ndWUoKTpCOXQobnVlKCJtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzIix7b2JzZXJ2ZU11dGF0aW9uc1Jvb3Q6cn0pKX0sIndhdGNoIil9fSwiaG9va3MiKX0sWjl0PXMoZnVuY3Rpb24oZSl7dmFyIHQ9e3NpemU6MTYseDowLHk6MCxmbGlwWDohMSxmbGlwWTohMSxyb3RhdGU6MH07cmV0dXJuIGUudG9Mb3dlckNhc2UoKS5zcGxpdCgiICIpLnJlZHVjZShmdW5jdGlvbihyLGkpe3ZhciBvPWkudG9Mb3dlckNhc2UoKS5zcGxpdCgiLSIpLG49b1swXSxsPW8uc2xpY2UoMSkuam9pbigiLSIpO2lmKG4mJmw9PT0iaCIpcmV0dXJuIHIuZmxpcFg9ITAscjtpZihuJiZsPT09InYiKXJldHVybiByLmZsaXBZPSEwLHI7aWYobD1wYXJzZUZsb2F0KGwpLGlzTmFOKGwpKXJldHVybiByO3N3aXRjaChuKXtjYXNlImdyb3ciOnIuc2l6ZT1yLnNpemUrbDticmVhaztjYXNlInNocmluayI6ci5zaXplPXIuc2l6ZS1sO2JyZWFrO2Nhc2UibGVmdCI6ci54PXIueC1sO2JyZWFrO2Nhc2UicmlnaHQiOnIueD1yLngrbDticmVhaztjYXNlInVwIjpyLnk9ci55LWw7YnJlYWs7Y2FzZSJkb3duIjpyLnk9ci55K2w7YnJlYWs7Y2FzZSJyb3RhdGUiOnIucm90YXRlPXIucm90YXRlK2w7YnJlYWt9cmV0dXJuIHJ9LHQpfSwicGFyc2VUcmFuc2Zvcm1TdHJpbmciKSxyJGE9e21peG91dDpzKGZ1bmN0aW9uKCl7cmV0dXJue3BhcnNlOnt0cmFuc2Zvcm06cyhmdW5jdGlvbih0KXtyZXR1cm4gWjl0KHQpfSwidHJhbnNmb3JtIil9fX0sIm1peG91dCIpLGhvb2tzOnMoZnVuY3Rpb24oKXtyZXR1cm57cGFyc2VOb2RlQXR0cmlidXRlczpzKGZ1bmN0aW9uKHQscil7dmFyIGk9ci5nZXRBdHRyaWJ1dGUoImRhdGEtZmEtdHJhbnNmb3JtIik7cmV0dXJuIGkmJih0LnRyYW5zZm9ybT1aOXQoaSkpLHR9LCJwYXJzZU5vZGVBdHRyaWJ1dGVzIil9fSwiaG9va3MiKSxwcm92aWRlczpzKGZ1bmN0aW9uKGUpe2UuZ2VuZXJhdGVBYnN0cmFjdFRyYW5zZm9ybUdyb3VwaW5nPWZ1bmN0aW9uKHQpe3ZhciByPXQubWFpbixpPXQudHJhbnNmb3JtLG89dC5jb250YWluZXJXaWR0aCxuPXQuaWNvbldpZHRoLGw9e3RyYW5zZm9ybToidHJhbnNsYXRlKCIuY29uY2F0KG8vMiwiIDI1NikiKX0sZD0idHJhbnNsYXRlKCIuY29uY2F0KGkueCozMiwiLCAiKS5jb25jYXQoaS55KjMyLCIpICIpLGM9InNjYWxlKCIuY29uY2F0KGkuc2l6ZS8xNiooaS5mbGlwWD8tMToxKSwiLCAiKS5jb25jYXQoaS5zaXplLzE2KihpLmZsaXBZPy0xOjEpLCIpICIpLHA9InJvdGF0ZSgiLmNvbmNhdChpLnJvdGF0ZSwiIDAgMCkiKSx1PXt0cmFuc2Zvcm06IiIuY29uY2F0KGQsIiAiKS5jb25jYXQoYywiICIpLmNvbmNhdChwKX0sbT17dHJhbnNmb3JtOiJ0cmFuc2xhdGUoIi5jb25jYXQobi8yKi0xLCIgLTI1NikiKX0sdj17b3V0ZXI6bCxpbm5lcjp1LHBhdGg6bX07cmV0dXJue3RhZzoiZyIsYXR0cmlidXRlczpYZSh7fSx2Lm91dGVyKSxjaGlsZHJlbjpbe3RhZzoiZyIsYXR0cmlidXRlczpYZSh7fSx2LmlubmVyKSxjaGlsZHJlbjpbe3RhZzpyLmljb24udGFnLGNoaWxkcmVuOnIuaWNvbi5jaGlsZHJlbixhdHRyaWJ1dGVzOlhlKFhlKHt9LHIuaWNvbi5hdHRyaWJ1dGVzKSx2LnBhdGgpfV19XX19fSwicHJvdmlkZXMiKX0sdnVlPXt4OjAseTowLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifTtzKFg5dCwiZmlsbEJsYWNrIik7cyhzJGEsImRlR3JvdXAiKTtpJGE9e2hvb2tzOnMoZnVuY3Rpb24oKXtyZXR1cm57cGFyc2VOb2RlQXR0cmlidXRlczpzKGZ1bmN0aW9uKHQscil7dmFyIGk9ci5nZXRBdHRyaWJ1dGUoImRhdGEtZmEtbWFzayIpLG89aT9hZWUoaS5zcGxpdCgiICIpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi50cmltKCl9KSk6Xzl0KCk7cmV0dXJuIG8ucHJlZml4fHwoby5wcmVmaXg9SjAoKSksdC5tYXNrPW8sdC5tYXNrSWQ9ci5nZXRBdHRyaWJ1dGUoImRhdGEtZmEtbWFzay1pZCIpLHR9LCJwYXJzZU5vZGVBdHRyaWJ1dGVzIil9fSwiaG9va3MiKSxwcm92aWRlczpzKGZ1bmN0aW9uKGUpe2UuZ2VuZXJhdGVBYnN0cmFjdE1hc2s9ZnVuY3Rpb24odCl7dmFyIHI9dC5jaGlsZHJlbixpPXQuYXR0cmlidXRlcyxvPXQubWFpbixuPXQubWFzayxsPXQubWFza0lkLGQ9dC50cmFuc2Zvcm0sYz1vLndpZHRoLHA9by5pY29uLHU9bi53aWR0aCxtPW4uaWNvbix2PUtUYSh7dHJhbnNmb3JtOmQsY29udGFpbmVyV2lkdGg6dSxpY29uV2lkdGg6Y30pLHg9e3RhZzoicmVjdCIsYXR0cmlidXRlczpYZShYZSh7fSx2dWUpLHt9LHtmaWxsOiJ3aGl0ZSJ9KX0sYj1wLmNoaWxkcmVuP3tjaGlsZHJlbjpwLmNoaWxkcmVuLm1hcChYOXQpfTp7fSxnPXt0YWc6ImciLGF0dHJpYnV0ZXM6WGUoe30sdi5pbm5lciksY2hpbGRyZW46W1g5dChYZSh7dGFnOnAudGFnLGF0dHJpYnV0ZXM6WGUoWGUoe30scC5hdHRyaWJ1dGVzKSx2LnBhdGgpfSxiKSldfSx5PXt0YWc6ImciLGF0dHJpYnV0ZXM6WGUoe30sdi5vdXRlciksY2hpbGRyZW46W2ddfSxrPSJtYXNrLSIuY29uY2F0KGx8fGQ5dCgpKSxDPSJjbGlwLSIuY29uY2F0KGx8fGQ5dCgpKSxOPXt0YWc6Im1hc2siLGF0dHJpYnV0ZXM6WGUoWGUoe30sdnVlKSx7fSx7aWQ6ayxtYXNrVW5pdHM6InVzZXJTcGFjZU9uVXNlIixtYXNrQ29udGVudFVuaXRzOiJ1c2VyU3BhY2VPblVzZSJ9KSxjaGlsZHJlbjpbeCx5XX0sXz17dGFnOiJkZWZzIixjaGlsZHJlbjpbe3RhZzoiY2xpcFBhdGgiLGF0dHJpYnV0ZXM6e2lkOkN9LGNoaWxkcmVuOnMkYShtKX0sTl19O3JldHVybiByLnB1c2goXyx7dGFnOiJyZWN0IixhdHRyaWJ1dGVzOlhlKHtmaWxsOiJjdXJyZW50Q29sb3IiLCJjbGlwLXBhdGgiOiJ1cmwoIyIuY29uY2F0KEMsIikiKSxtYXNrOiJ1cmwoIyIuY29uY2F0KGssIikiKX0sdnVlKX0pLHtjaGlsZHJlbjpyLGF0dHJpYnV0ZXM6aX19fSwicHJvdmlkZXMiKX0sbyRhPXtwcm92aWRlczpzKGZ1bmN0aW9uKGUpe3ZhciB0PSExO1gwLm1hdGNoTWVkaWEmJih0PVgwLm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlcyksZS5taXNzaW5nSWNvbkFic3RyYWN0PWZ1bmN0aW9uKCl7dmFyIHI9W10saT17ZmlsbDoiY3VycmVudENvbG9yIn0sbz17YXR0cmlidXRlVHlwZToiWE1MIixyZXBlYXRDb3VudDoiaW5kZWZpbml0ZSIsZHVyOiIycyJ9O3IucHVzaCh7dGFnOiJwYXRoIixhdHRyaWJ1dGVzOlhlKFhlKHt9LGkpLHt9LHtkOiJNMTU2LjUsNDQ3LjdsLTEyLjYsMjkuNWMtMTguNy05LjUtMzUuOS0yMS4yLTUxLjUtMzQuOWwyMi43LTIyLjdDMTI3LjYsNDMwLjUsMTQxLjUsNDQwLDE1Ni41LDQ0Ny43eiBNNDAuNiwyNzJIOC41IGMxLjQsMjEuMiw1LjQsNDEuNywxMS43LDYxLjFMNTAsMzIxLjJDNDUuMSwzMDUuNSw0MS44LDI4OSw0MC42LDI3MnogTTQwLjYsMjQwYzEuNC0xOC44LDUuMi0zNywxMS4xLTU0LjFsLTI5LjUtMTIuNiBDMTQuNywxOTQuMywxMCwyMTYuNyw4LjUsMjQwSDQwLjZ6IE02NC4zLDE1Ni41YzcuOC0xNC45LDE3LjItMjguOCwyOC4xLTQxLjVMNjkuNyw5Mi4zYy0xMy43LDE1LjYtMjUuNSwzMi44LTM0LjksNTEuNSBMNjQuMywxNTYuNXogTTM5Nyw0MTkuNmMtMTMuOSwxMi0yOS40LDIyLjMtNDYuMSwzMC40bDExLjksMjkuOGMyMC43LTkuOSwzOS44LTIyLjYsNTYuOS0zNy42TDM5Nyw0MTkuNnogTTExNSw5Mi40IGMxMy45LTEyLDI5LjQtMjIuMyw0Ni4xLTMwLjRsLTExLjktMjkuOGMtMjAuNyw5LjktMzkuOCwyMi42LTU2LjgsMzcuNkwxMTUsOTIuNHogTTQ0Ny43LDM1NS41Yy03LjgsMTQuOS0xNy4yLDI4LjgtMjguMSw0MS41IGwyMi43LDIyLjdjMTMuNy0xNS42LDI1LjUtMzIuOSwzNC45LTUxLjVMNDQ3LjcsMzU1LjV6IE00NzEuNCwyNzJjLTEuNCwxOC44LTUuMiwzNy0xMS4xLDU0LjFsMjkuNSwxMi42IGM3LjUtMjEuMSwxMi4yLTQzLjUsMTMuNi02Ni44SDQ3MS40eiBNMzIxLjIsNDYyYy0xNS43LDUtMzIuMiw4LjItNDkuMiw5LjR2MzIuMWMyMS4yLTEuNCw0MS43LTUuNCw2MS4xLTExLjdMMzIxLjIsNDYyeiBNMjQwLDQ3MS40Yy0xOC44LTEuNC0zNy01LjItNTQuMS0xMS4xbC0xMi42LDI5LjVjMjEuMSw3LjUsNDMuNSwxMi4yLDY2LjgsMTMuNlY0NzEuNHogTTQ2MiwxOTAuOGM1LDE1LjcsOC4yLDMyLjIsOS40LDQ5LjJoMzIuMSBjLTEuNC0yMS4yLTUuNC00MS43LTExLjctNjEuMUw0NjIsMTkwLjh6IE05Mi40LDM5N2MtMTItMTMuOS0yMi4zLTI5LjQtMzAuNC00Ni4xbC0yOS44LDExLjljOS45LDIwLjcsMjIuNiwzOS44LDM3LjYsNTYuOSBMOTIuNCwzOTd6IE0yNzIsNDAuNmMxOC44LDEuNCwzNi45LDUuMiw1NC4xLDExLjFsMTIuNi0yOS41QzMxNy43LDE0LjcsMjk1LjMsMTAsMjcyLDguNVY0MC42eiBNMTkwLjgsNTAgYzE1LjctNSwzMi4yLTguMiw0OS4yLTkuNFY4LjVjLTIxLjIsMS40LTQxLjcsNS40LTYxLjEsMTEuN0wxOTAuOCw1MHogTTQ0Mi4zLDkyLjNMNDE5LjYsMTE1YzEyLDEzLjksMjIuMywyOS40LDMwLjUsNDYuMSBsMjkuOC0xMS45QzQ3MCwxMjguNSw0NTcuMywxMDkuNCw0NDIuMyw5Mi4zeiBNMzk3LDkyLjRsMjIuNy0yMi43Yy0xNS42LTEzLjctMzIuOC0yNS41LTUxLjUtMzQuOWwtMTIuNiwyOS41IEMzNzAuNCw3Mi4xLDM4NC40LDgxLjUsMzk3LDkyLjR6In0pfSk7dmFyIG49WGUoWGUoe30sbykse30se2F0dHJpYnV0ZU5hbWU6Im9wYWNpdHkifSksbD17dGFnOiJjaXJjbGUiLGF0dHJpYnV0ZXM6WGUoWGUoe30saSkse30se2N4OiIyNTYiLGN5OiIzNjQiLHI6IjI4In0pLGNoaWxkcmVuOltdfTtyZXR1cm4gdHx8bC5jaGlsZHJlbi5wdXNoKHt0YWc6ImFuaW1hdGUiLGF0dHJpYnV0ZXM6WGUoWGUoe30sbykse30se2F0dHJpYnV0ZU5hbWU6InIiLHZhbHVlczoiMjg7MTQ7Mjg7Mjg7MTQ7Mjg7In0pfSx7dGFnOiJhbmltYXRlIixhdHRyaWJ1dGVzOlhlKFhlKHt9LG4pLHt9LHt2YWx1ZXM6IjE7MDsxOzE7MDsxOyJ9KX0pLHIucHVzaChsKSxyLnB1c2goe3RhZzoicGF0aCIsYXR0cmlidXRlczpYZShYZSh7fSxpKSx7fSx7b3BhY2l0eToiMSIsZDoiTTI2My43LDMxMmgtMTZjLTYuNiwwLTEyLTUuNC0xMi0xMmMwLTcxLDc3LjQtNjMuOSw3Ny40LTEwNy44YzAtMjAtMTcuOC00MC4yLTU3LjQtNDAuMmMtMjkuMSwwLTQ0LjMsOS42LTU5LjIsMjguNyBjLTMuOSw1LTExLjEsNi0xNi4yLDIuNGwtMTMuMS05LjJjLTUuNi0zLjktNi45LTExLjgtMi42LTE3LjJjMjEuMi0yNy4yLDQ2LjQtNDQuNyw5MS4yLTQ0LjdjNTIuMywwLDk3LjQsMjkuOCw5Ny40LDgwLjIgYzAsNjcuNi03Ny40LDYzLjUtNzcuNCwxMDcuOEMyNzUuNywzMDYuNiwyNzAuMywzMTIsMjYzLjcsMzEyeiJ9KSxjaGlsZHJlbjp0P1tdOlt7dGFnOiJhbmltYXRlIixhdHRyaWJ1dGVzOlhlKFhlKHt9LG4pLHt9LHt2YWx1ZXM6IjE7MDswOzA7MDsxOyJ9KX1dfSksdHx8ci5wdXNoKHt0YWc6InBhdGgiLGF0dHJpYnV0ZXM6WGUoWGUoe30saSkse30se29wYWNpdHk6IjAiLGQ6Ik0yMzIuNSwxMzQuNWw3LDE2OGMwLjMsNi40LDUuNiwxMS41LDEyLDExLjVoOWM2LjQsMCwxMS43LTUuMSwxMi0xMS41bDctMTY4YzAuMy02LjgtNS4yLTEyLjUtMTItMTIuNWgtMjMgQzIzNy43LDEyMiwyMzIuMiwxMjcuNywyMzIuNSwxMzQuNXoifSksY2hpbGRyZW46W3t0YWc6ImFuaW1hdGUiLGF0dHJpYnV0ZXM6WGUoWGUoe30sbikse30se3ZhbHVlczoiMDswOzE7MTswOzA7In0pfV19KSx7dGFnOiJnIixhdHRyaWJ1dGVzOntjbGFzczoibWlzc2luZyJ9LGNoaWxkcmVuOnJ9fX0sInByb3ZpZGVzIil9LG4kYT17aG9va3M6cyhmdW5jdGlvbigpe3JldHVybntwYXJzZU5vZGVBdHRyaWJ1dGVzOnMoZnVuY3Rpb24odCxyKXt2YXIgaT1yLmdldEF0dHJpYnV0ZSgiZGF0YS1mYS1zeW1ib2wiKSxvPWk9PT1udWxsPyExOmk9PT0iIj8hMDppO3JldHVybiB0LnN5bWJvbD1vLHR9LCJwYXJzZU5vZGVBdHRyaWJ1dGVzIil9fSwiaG9va3MiKX0sbCRhPVtRVGEsVkxhLGpMYSxVTGEsV0xhLHQkYSxhJGEsciRhLGkkYSxvJGEsbiRhXTttTGEobCRhLHttaXhvdXRzVG86RW99KTtjJGE9RW8ubm9BdXRvLGQkYT1Fby5jb25maWcsdSRhPUVvLmxpYnJhcnkscCRhPUVvLmRvbSxmJGE9RW8ucGFyc2UsaCRhPUVvLmZpbmRJY29uRGVmaW5pdGlvbixtJGE9RW8udG9IdG1sLHh1ZT1Fby5pY29uLGckYT1Fby5sYXllcixiJGE9RW8udGV4dCx2JGE9RW8uY291bnRlcn0pO3ZhciB4JGEseXVlLEo5dCxlZ3QsdGd0LGFndCx3dWUscmd0LHNndCxpZ3Qsb2d0LG5ndCxsZ3QsY2d0LGRndCx1Z3QscGd0LGZndCxoZ3QsbWd0LGdndCxiZ3Qsdmd0LHhndCx5Z3Qsd2d0LE1ndCxrZ3QsU2d0LE11ZSx6Z3QsQ2d0LF9ndCxUZ3QsTGd0LCRndCxEZ3QsQWd0LFBndCxFZ3QsSWd0LE5ndCxSZ3QsT2d0LEZndCxCZ3QsSGd0LHFndCxWZ3Qsa3VlLGpndCxVZ3QsV2d0LEdndCxZZ3QsS2d0LFpndCxYZ3QsUWd0LEpndCxlYnQsdGJ0LGFidCxyYnQsc2J0LGlidCxvYnQsbmJ0LGxidCxjYnQsZGJ0LFN1ZSx1YnQscGJ0LGZidCxoYnQsbWJ0LGdidCxiYnQsdmJ0LHhidCx5YnQsd2J0LE1idCxrYnQsU2J0LHpidCxDYnQsX2J0LFRidCxMYnQsJGJ0LERidCxBYnQsUGJ0LEVidCxJYnQsTmJ0LFJidCxPYnQsRmJ0LEJidCxIYnQscWJ0LFZidCxqYnQsVWJ0LFdidCxHYnQsWWJ0LEtidCxaYnQsWGJ0LGxlZSxRYnQsSmJ0LHp1ZSxldnQsdHZ0LGF2dCxDdWUscnZ0LHN2dCxuZWUsaXZ0LG92dCxfdWUsbnZ0LGx2dCxjdnQsZHZ0LHV2dCxUdWUscHZ0LGZ2dCxodnQsbXZ0LGd2dCxidnQsdnZ0LHh2dCx5dnQsd3Z0LEx1ZSxNdnQsa3Z0LFN2dCx6dnQsQ3Z0LF92dCxUdnQsTHZ0LCR2dCwkdWUsRHZ0LEF2dCxQdnQsRXZ0LEl2dCxOdnQsUnZ0LE92dCxEdWUsRnZ0LEJ2dCxIdnQsQXVlLHF2dCxWdnQsanZ0LFV2dCxXdnQsR3Z0LFl2dCxLdnQsWnZ0LFh2dCxRdnQsSnZ0LGV4dCx0eHQsYXh0LHJ4dCxzeHQsaXh0LG94dCxueHQsbHh0LGN4dCxkeHQsdXh0LHB4dCxmeHQsaHh0LFB1ZSxteHQsZ3h0LGJ4dCx2eHQseHh0LHl4dCx3eHQsRXVlLE14dCxreHQsU3h0LHp4dCxDeHQsX3h0LFR4dCxMeHQsJHh0LER4dCxBeHQsUHh0LEV4dCxJeHQsTnh0LFJ4dCxPeHQsRnh0LEJ4dCxIeHQscXh0LFZ4dCxqeHQsVXh0LFd4dCxHeHQsWXh0LEt4dCxaeHQsWHh0LFF4dCxKeHQsZXl0LHR5dCxheXQscnl0LHN5dCxpeXQsb3l0LG55dCxseXQsY3l0LGNlZSxkeXQsdXl0LHB5dCxmeXQsaHl0LEl1ZSxteXQsZ3l0LGJ5dCxkZWUsdnl0LHh5dCx5eXQsd3l0LE15dCxreXQsTnVlLFN5dCx6eXQsQ3l0LF95dCxUeXQsTHl0LCR5dCxEeXQsQXl0LFB5dCxFeXQsSXl0LE55dCxSeXQsT3l0LEZ5dCxMYixCeXQsSHl0LHF5dCxWeXQsanl0LFV5dCxXeXQsR3l0LFl5dCxLeXQsWnl0LFh5dCxReXQsSnl0LGV3dCx0d3QsYXd0LHJ3dCxzd3QsaXd0LG93dCxud3QsbHd0LGN3dCxkd3QsdXd0LHB3dCxmd3QsaHd0LG13dCxnd3QsYnd0LHZ3dCx4d3QseXd0LHd3dCxNd3Qsa3d0LFN3dCxSdWUsend0LEN3dCxfd3QsVHd0LEx3dCwkd3QsRHd0LEF3dCxQd3QsRXd0LEl3dCxOd3QsUnd0LE93dCxGd3QsT3VlLEJ3dCxId3QscXd0LFZ3dCxqd3QsVXd0LEZ1ZSxXd3QsR3d0LFl3dCxLd3QsWnd0LFh3dCxRd3QsSnd0LGVNdCx0TXQsYU10LHJNdCxzTXQsaU10LG9NdCxuTXQsbE10LGNNdCxkTXQsdU10LHBNdCxmTXQsaE10LG1NdCxnTXQsYk10LHZNdCx4TXQsQnVlLHVlZSx5TXQsd010LE1NdCxrTXQsU010LHpNdCxDTXQsX010LFRNdCxMTXQsJE10LERNdCxIdWUsQU10LFBNdCxFTXQsSU10LE5NdCxSTXQsT010LEZNdCxwZWUsQk10LEhNdCxxTXQsVk10LGpNdCxVTXQsV010LEdNdCxZTXQsS010LFpNdCxYTXQsUU10LHF1ZSxKTXQsZWt0LHRrdCxha3Qscmt0LHNrdCxpa3Qsb2t0LG5rdCxsa3QsY2t0LGRrdCx1a3QscGt0LGZrdCxoa3QsbWt0LFZ1ZSxna3QsYmt0LHZrdCxqdWUseGt0LHlrdCx3a3QsTWt0LGZlZSxra3QsVXVlLFNrdCx6a3QsQ2t0LF9rdCxUa3QsTGt0LFd1ZSwka3QsRGt0LEFrdCxQa3QsRWt0LElrdCxOa3QsUmt0LE9rdCxGa3QsQmt0LEhrdCxxa3QsVmt0LGprdCxVa3QsV2t0LEdrdCxZa3QsS2t0LFprdCxYa3QsUWt0LEprdCxlU3QsR3VlLHRTdCxhU3QsclN0LHNTdCxpU3Qsb1N0LG5TdCxsU3QsWXVlLGNTdCxkU3QsdVN0LHBTdCxmU3QsaFN0LG1TdCxnU3QsYlN0LHZTdCx4U3QseVN0LHdTdCxNU3QsS3VlLGtTdCxTU3QselN0LENTdCxfU3QsVFN0LExTdCwkU3QsRFN0LEFTdCxQU3QsRVN0LElTdCxOU3QsUlN0LFp1ZSxPU3QsRlN0LEJTdCxIU3QscVN0LFZTdCxqU3QsVVN0LFdTdCxHU3QsWVN0LEtTdCxaU3QsWFN0LGhlZSxRU3QsSlN0LGV6dCx0enQsYXp0LHJ6dCxzenQsaXp0LG96dCxuenQsWHVlLGx6dCxjenQsZHp0LHV6dCxwenQsZnp0LGh6dCxtenQsZ3p0LGJ6dCx2enQseHp0LHl6dCx3enQsTXp0LGt6dCxTenQsenp0LEN6dCxfenQsVHp0LEx6dCwkenQsRHp0LEF6dCxQenQsRXp0LEl6dCxOenQsUnp0LE96dCxGenQsQnp0LEh6dCxxenQsVnp0LGp6dCxVenQsUXVlLFd6dCxHenQsWXp0LEt6dCxaenQsSnVlLFh6dCxRenQsSnp0LGVDdCx0Q3QsYUN0LHkkYSxyQ3Q9ZigoKT0+e3gkYT0iZmFiIix5dWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWdpdGh1YiIsaWNvbjpbNDQ4LDUxMixbImdpdGh1Yi1zcXVhcmUiXSwiZjA5MiIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMjY1LjggNDA3LjdjMC0xLjggMC02IC4xLTExLjYgLjEtMTEuNCAuMS0yOC44IC4xLTQzLjcgMC0xNS42LTUuMi0yNS41LTExLjMtMzAuNyAzNy00LjEgNzYtOS4yIDc2LTczLjEgMC0xOC4yLTYuNS0yNy4zLTE3LjEtMzkgMS43LTQuMyA3LjQtMjItMS43LTQ1LTEzLjktNC4zLTQ1LjcgMTcuOS00NS43IDE3LjktMjYuNi03LjUtNTYuNi03LjUtODMuMiAwIDAgMC0zMS44LTIyLjItNDUuNy0xNy45LTkuMSAyMi45LTMuNSA0MC42LTEuNyA0NS0xMC42IDExLjctMTUuNiAyMC44LTE1LjYgMzkgMCA2My42IDM3LjMgNjkgNzQuMyA3My4xLTQuOCA0LjMtOS4xIDExLjctMTAuNiAyMi4zLTkuNSA0LjMtMzMuOCAxMS43LTQ4LjMtMTMuOS05LjEtMTUuOC0yNS41LTE3LjEtMjUuNS0xNy4xLTE2LjItLjItMS4xIDEwLjItMS4xIDEwLjIgMTAuOCA1IDE4LjQgMjQuMiAxOC40IDI0LjIgOS43IDI5LjcgNTYuMSAxOS43IDU2LjEgMTkuNyAwIDkgLjEgMjEuNyAuMSAzMC42IDAgNC44IC4xIDguNiAuMSAxMCAwIDQuMy0zIDkuNS0xMS41IDgtNjYtMjIuMS0xMTIuMi04NC45LTExMi4yLTE1OC4zIDAtOTEuOCA3MC4yLTE2MS41IDE2Mi0xNjEuNVMzODggMTY1LjYgMzg4IDI1Ny40Yy4xIDczLjQtNDQuNyAxMzYuMy0xMTAuNyAxNTguMy04LjQgMS41LTExLjUtMy43LTExLjUtOHptLTkwLjUtNTQuOGMtLjItMS41IDEuMS0yLjggMy0zLjIgMS45LS4yIDMuNyAuNiAzLjkgMS45IC4zIDEuMy0xIDIuNi0zIDMtMS45IC40LTMuNy0uNC0zLjktMS43em0tOS4xIDMuMmMtMi4yIC4yLTMuNy0uOS0zLjctMi40IDAtMS4zIDEuNS0yLjQgMy41LTIuNCAxLjktLjIgMy43IC45IDMuNyAyLjQgMCAxLjMtMS41IDIuNC0zLjUgMi40em0tMTQuMy0yLjJjLTEuOS0uNC0zLjItMS45LTIuOC0zLjJzMi40LTEuOSA0LjEtMS41YzIgLjYgMy4zIDIuMSAyLjggMy40LS40IDEuMy0yLjQgMS45LTQuMSAxLjN6bS0xMi41LTcuM2MtMS41LTEuMy0xLjktMy4yLS45LTQuMSAuOS0xLjEgMi44LS45IDQuMyAuNiAxLjMgMS4zIDEuOCAzLjMgLjkgNC4xLS45IDEuMS0yLjggLjktNC4zLS42em0tOC41LTEwYy0xLjEtMS41LTEuMS0zLjIgMC0zLjkgMS4xLS45IDIuOC0uMiAzLjcgMS4zIDEuMSAxLjUgMS4xIDMuMyAwIDQuMS0uOSAuNi0yLjYgMC0zLjctMS41em0tNi4zLTguOGMtMS4xLTEuMy0xLjMtMi44LS40LTMuNSAuOS0uOSAyLjQtLjQgMy41IC42IDEuMSAxLjMgMS4zIDIuOCAuNCAzLjUtLjkgLjktMi40IC40LTMuNS0uNnptLTYtNi40Yy0xLjMtLjYtMS45LTEuNy0xLjUtMi42IC40LS42IDEuNS0uOSAyLjgtLjQgMS4zIC43IDEuOSAxLjggMS41IDIuNi0uNCAuOS0xLjcgMS4xLTIuOCAuNHoiXX0sSjl0PXl1ZSxlZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGhpbmstcGVha3MiLGljb246WzU3Niw1MTIsW10sImY3MzEiLCJNNDY1LjQgNDA5LjRsODcuMS0xNTAuMi0zMi0uMy01NS4xIDk1LTIwNi4yLTM1My45LTIzNi4yIDQwNy40IDMyIC4zIDIwNC4yLTM1Mi4xIDIwNi4yIDM1My44ek0xMTAuMSAzNjUuM2wzMi4xIDAgMTE3LjQtMjAyLjUgMjAzLjQgMzQ5LjEgMzIuNSAuMS0yMzUuOC00MDQuNi0xNDkuNiAyNTcuOXoiXX0sdGd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZS1kcml2ZSIsaWNvbjpbNTEyLDUxMixbXSwiZjNhYSIsIk0zMzkgMzE0LjlMMTc1LjQgMzIgMzM2LjYgMzIgNTAwLjIgMzE0LjkgMzM5IDMxNC45ek0yMDEuNSAzMzguNWwtODAuNiAxNDEuNSAzMTAuNSAwIDgwLjYtMTQxLjUtMzEwLjUgMHpNMTU0LjEgNjcuNEwwIDMzOC41IDgwLjYgNDgwIDIzNyAyMDguOCAxNTQuMSA2Ny40eiJdfSxhZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXV0b3ByZWZpeGVyIixpY29uOls2NDAsNTEyLFtdLCJmNDFjIiwiTTMxOC40IDE2bC0xNjEgNDgwIDc3LjUgMCAyNS40LTgxLjQgMTE5LjUgMCAyNS4yIDgxLjQgNzcuNSAwLTE2NC4xLTQ4MHpNMjc4LjEgMzU3LjlsNDEuMi0xMzAuNCAxLjUgMCA0MC45IDEzMC40LTgzLjYgMHpNNjQwIDQwNUw2MzAgMzczLjYgNDYyLjEgMzU4IDQ4MS41IDQxNC41IDY0MCA0MDV6TTE3Ny45IDM1OEwxMCAzNzMuNyAwIDQwNSAxNTguNSA0MTQuNCAxNzcuOSAzNTh6Il19LHd1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtdmlhZGVvIixpY29uOls0NDgsNTEyLFsidmlhZGVvLXNxdWFyZSJdLCJmMmFhIiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0xMTguMyAzODEuMmMtNjgtNzMuNi0xOS44LTE5Ni4xIDgxLjItMTk2LjEgMTMuMyAwIDI2LjYgMi4xIDM5LjEgNi43LTQuMyA4LjQtNy4zIDE3LjYtOC40IDI3LjEtOS43LTQuMS0yMC4yLTYtMzAuNy02LTQ4LjggMC04NC42IDQxLjctODQuNiA4OC45IDAgNDMgMjguNSA3OC43IDY5LjUgODUuOSA2MS41LTI0IDcyLjktMTE3LjYgNzIuOS0xNzUgMC03LjMgMC0xNC44LS42LTIyLjEtMTEuMi0zMi45LTI2LjYtNjQuNi00NC4yLTk0LjUgMjcuMSAxOC4zIDQxLjkgNjIuNSA0NC4yIDk0LjFsMCAuNGM3LjcgMjIuNSAxMS44IDQ2LjIgMTEuOCA3MCAwIDU0LjEtMjEuOSA5OS02OC4zIDEyOC4ybC0yLjQgLjJjNTAgMSA4Ni4yLTM4LjYgODYuMi04Ny4yIDAtMTIuMi0yLjEtMjQuMy02LjktMzUuNyA5LjUtMS45IDE4LjUtNS42IDI2LjQtMTAuNSAxNS4zIDM2LjYgMTIuNiA4Ny4zLTIyLjggMTI1LjYtNDIuNCA0Ni4yLTEyMCA0Ni42LTE2Mi40IDB6TTI3NC42IDIxNy42YzIxLjktMTIgNDkuNi0zMC43IDYyLjMtNTMgMS41LTMgNC4xLTguNiA0LjUtMTItMTIuNSAyNy45LTQ0LjIgNDkuOC03My45IDU2LjctNC43LTcuMy03LjUtMTUuNS03LjUtMjQuMyAwLTEwLjMgNS4yLTI0LjEgMTIuOS0zMS42IDguMy03LjkgMTgtMTAuOSAyNy45LTE0LjEgMTYtNS4xIDMyLjUtMTAuMyA0NC41LTM1LjkgMzIuNSA0Ni4yIDEzLjEgMTMwLjMtMzYuMyAxMzAuMy0xMy4zIDAtMjUuMS03LjEtMzQuNC0xNi4xeiJdfSxyZ3Q9d3VlLHNndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcGFuZWwiLGljb246WzY0MCw1MTIsW10sImYzODgiLCJNMjEwLjMgMjIwLjJjLTUuNi0yNC44LTI2LjktNDEuMi01MS00MS4ybC0zNyAwYy03LjEgMC0xMi41IDQuNS0xNC4zIDEwLjlMNzMuMSAzMjAgOTcuOCAzMTkuOWM2LjggMCAxMi4zLTQuNSAxNC4yLTEwLjdsMjUuOC05NS43IDE5LjggMGM4LjQgMCAxNi4yIDUuNiAxOC4zIDE0LjggMi41IDEwLjktNS45IDIyLjYtMTguMyAyMi42bC0xMC4zIDBjLTcgMC0xMi41IDQuNi0xNC4zIDEwLjhsLTYuNCAyMy44IDMyIDBjMzcuMiAwIDU4LjMtMzYuMiA1MS43LTY1LjN6bS0xNTYuNSAyOGwxOC42IDBjNi45IDAgMTIuNC00LjQgMTQuMy0xMC45bDYuMi0yMy42LTQwIDBDMzAgMjEzLjcgOSAyMjcuOCAxLjcgMjU0LjgtNyAyODguNiAxOC41IDMyMCA1MiAzMjBsMTIuNCAwIDcuMS0yNi4xYzEuMi00LjQtMi4yLTguMy02LjQtOC4zbC0xMS4zIDBjLTI0LjcgMC0yNC45LTM3LjQgMC0zNy40em0yNDcuNS0zNC44bC03Ny45IDAtMy41IDEzLjRjLTIuNCA5LjYgNC41IDE4LjUgMTQuMiAxOC41bDU3LjUgMGM0IDAgMi40IDQuMyAyLjEgNS4zbC04LjYgMzEuOGMtLjQgMS40LS45IDUuMy01LjUgNS4zbC0zNC45IDBjLTUuMyAwLTUuMy03LjkgMC03LjlsMjEuNiAwYzYuOCAwIDEyLjMtNC42IDE0LjItMTAuOGwzLjUtMTMuMi00OC40IDBjLTM5LjIgMC00My42IDYzLjgtLjcgNjMuOGw1Ny41IC4yYzExLjIgMCAyMC42LTcuMiAyMy40LTE3LjhsMTQtNTEuOGM0LjgtMTkuMi05LjctMzYuOC0yOC41LTM2Ljh6TTYzMy4xIDE3OWwtMTguOSAwYy00LjkgMC05LjIgMy4yLTEwLjQgNy45TDU2OC4yIDMyMGMyMC43IDAgMzkuOC0xMy44IDQ0LjktMzQuNWwyNi41LTk4LjJjMS4yLTQuMy0yLTguMy02LjUtOC4zek0zOTYuOCAyMTMuN2wwIC4xLTQ4LjMgMC0yNi4yIDk4Yy0xLjIgNC40IDIuMiA4LjMgNi40IDguM2wxOC45IDBjNC44IDAgOS4yLTMgMTAuNC03LjhsMTcuMi02NCAxOS44IDBjMTIuNSAwIDIxLjQgMTEuOCAxOC4xIDIzLjRsLTEwLjYgNDBjLTEuMiA0LjMgMS45IDguMyA2LjQgOC4zbDE5LjEgMGM0LjYgMCA5LjEtMi45IDEwLjMtNy44bDguOC0zMy4xYzktMzMuMS0xNS45LTY1LjQtNTAuMy02NS40em05OC4zIDc0LjZjLTMuNiAwLTYtMy40LTUuMS02LjdsOC0zMGMuOS0zLjkgMy43LTYgNy44LTZsMzIuOSAwYzIuNiAwIDQuNiAyLjQgMy45IDUuMWwtLjcgMi42Yy0uNiAyLTEuOSAzLTMuOSAzbC0yMS42IDBjLTcgMC0xMi42IDQuNi0xNC4yIDEwLjhsLTMuNSAxMyA1My40IDBjMTAuNSAwIDIwLjMtNi42IDIzLjItMTcuNmwzLjItMTJjNC45LTE5LjEtOS4zLTM2LjgtMjguMy0zNi44bC00Ny4zIDBjLTE3LjkgMC0zMy44IDEyLTM4LjYgMjkuNmwtMTAuOCA0MGMtNSAxNy43IDguMyAzNi43IDI4LjMgMzYuN2w2Ni43IDBjNi44IDAgMTIuMy00LjUgMTQuMi0xMC43bDUuNy0yMS03My4zIDB6Il19LGlndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtZW5kZWxleSIsaWNvbjpbNjQwLDUxMixbXSwiZjdiMyIsIk02MjQuNiAzMjUuMmMtMTIuMy0xMi40LTI5LjctMTkuMi00OC40LTE3LjItNDMuMy0xLTQ5LjctMzQuOS0zNy41LTk4LjggMjIuOC01Ny41LTE0LjktMTMxLjUtODcuNC0xMzAuOC03Ny40IC43LTgxLjcgODItMTMwLjkgODItNDguMSAwLTU0LTgxLjMtMTMwLjktODItNzIuOS0uOC0xMTAuMSA3My4zLTg3LjQgMTMwLjggMTIuMiA2My45IDUuOCA5Ny44LTM3LjUgOTguOC0yMS4yLTIuMy0zNyA2LjUtNTMgMjIuNS0xOS45IDE5LjctMTkuMyA5NC44IDQyLjYgMTAyLjYgNDcuMSA1LjkgODEuNi00Mi45IDYxLjItODcuOC00Ny4zLTEwMy43IDE4NS45LTEwNi4xIDE0Ni41LTguMi0uMSAuMS0uMiAuMi0uMyAuNC0yNi44IDQyLjggNi44IDk3LjQgNTguOCA5NS4yIDUyLjEgMi4xIDg1LjQtNTIuNiA1OC44LTk1LjItLjEtLjItLjItLjMtLjMtLjQtMzkuNC05Ny45IDE5My44LTk1LjUgMTQ2LjUgOC4yLTQuNiAxMC02LjcgMjEuMy01LjcgMzMgNC45IDUzLjQgNjguNyA3NC4xIDEwNC45IDM1LjIgMTcuOC0xNC44IDIzLjEtNjUuNiAwLTg4LjN6TTMyMC43IDMwNi4xbC0uNiAwYy00My40IDAtNjIuOC0zNy41LTYyLjgtNjIuOCAwLTM0LjcgMjguMi02Mi44IDYyLjgtNjIuOGwuNiAwYzM0LjcgMCA2Mi44IDI4LjEgNjIuOCA2Mi44IDAgMjUtMTkuMiA2Mi44LTYyLjggNjIuOHoiXX0sb2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRyYWZ0MmRpZ2l0YWwiLGljb246WzUxMiw1MTIsW10sImYzOTYiLCJNNDk2IDM5OC4xbC0xNDQtODIuMiAwIDY0LjctOTEuMyAwYzMwLjgtMzUgODEuOC05NS45IDExMS44LTE0OS4zIDM1LjItNjIuNiAxNi4xLTEyMy40LTEyLjgtMTUzLjMtNC40LTQuNi02Mi4yLTYyLjktMTY2LTQxLjItNTkuMSAxMi40LTg5LjQgNDMuNC0xMDQuMyA2Ny4zLTEzLjEgMjAuOS0xNyAzOS44LTE4LjIgNDcuNy01LjUgMzMgMTkuNCA2Ny4xIDU2LjcgNjcuMSAzMS43IDAgNTcuMy0yNS43IDU3LjMtNTcuNCAwLTI3LjEtMTkuNy01Mi4xLTQ4LTU2LjggMS44LTcuMyAxNy43LTIxLjEgMjYuMy0yNC43IDQxLjEtMTcuMyA3OCA1LjIgODMuMyAzMy41IDguMyA0NC4zLTM3LjEgOTAuNC02OS43IDEyNy42LTc2LjYgODctMTQyLjggMTU1LjctMTYxLjEgMTc0LjhsMzM2LS4xIDAgNjQuMiAxNDQtODEuOXpNMzg1LjkgMzcxbDQ3LjEgMjcuMi00Ny4xIDI3LjIgMC01NC40ek0xMDUuNCAxNjEuNGEyMi40IDIyLjQgMCAxIDEgNDQuOCAwIDIyLjQgMjIuNCAwIDEgMSAtNDQuOCAwek05OC41IDM4MC41YzI1LjYtMjcuNCA5Ny43LTEwNC43IDE1MC44LTE2OS45IDM1LjEtNDMuMSA0MC4zLTgyLjQgMjguNC0xMTIuNy03LjQtMTguOC0xNy41LTMwLjItMjQuMy0zNS43IDQ1LjMgMi4xIDY4IDIzLjQgODIuMiAzOC4zIDAgMCA0Mi40IDQ4LjIgNS44IDExMy4zLTM3IDY1LjktMTEwLjkgMTQ3LjUtMTI4LjUgMTY2LjdsLTExNC40IDB6Il19LG5ndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZXBseWQiLGljb246WzQ0OCw1MTIsW10sImYzZTYiLCJNMzIwIDQ4MGwtMTkyIDBDNTcuNiA0ODAgMCA0MjIuNCAwIDM1MkwwIDE2MEMwIDg5LjYgNTcuNiAzMiAxMjggMzJsMTkyIDBjNzAuNCAwIDEyOCA1Ny42IDEyOCAxMjhsMCAxOTJjMCA3MC40LTU3LjYgMTI4LTEyOCAxMjh6TTE5My40IDI3My4yYy02LjEtMi0xMS42LTMuMS0xNi40LTMuMS03LjIgMC0xMy41IDEuOS0xOC45IDUuNnMtOS42IDktMTIuOCAxNS44bC0xLjEgMC00LjItMTguMy0yOCAwIDAgMTM4LjkgMzYuMSAwIDAtODkuN2MxLjUtNS40IDQuNC05LjggOC43LTEzLjJzOS44LTUuMSAxNi4yLTUuMWM0LjYgMCA5LjggMSAxNS42IDMuMWw0LjgtMzR6TTMwOC42IDM3Ni42Yy0zLjIgMi40LTcuNyA0LjgtMTMuNyA3LjFzLTEyLjggMy41LTIwLjQgMy41Yy0xMi4yIDAtMjEuMS0zLTI2LjUtOC45LTUuNS01LjktOC41LTE0LjctOS0yNi40bDgzLjMgMGMuOS00LjggMS42LTkuNCAyLjEtMTMuOSAuNS00LjQgLjctOC42IC43LTEyLjUgMC0xMC43LTEuNi0xOS43LTQuNy0yNi45LTMuMi03LjItNy4zLTEzLTEyLjUtMTcuMi01LjItNC4zLTExLjEtNy4zLTE3LjgtOS4yLTYuNy0xLjgtMTMuNS0yLjgtMjAuNi0yLjgtMjEuMSAwLTM3LjUgNi4xLTQ5LjIgMTguM3MtMTcuNSAzMC41LTE3LjUgNTVjMCAyMi44IDUuMiA0MC43IDE1LjYgNTMuNyAxMC40IDEzLjEgMjYuOCAxOS42IDQ5LjIgMTkuNiAxMC43IDAgMjAuOS0xLjUgMzAuNC00LjZzMTcuMS02LjggMjIuNi0xMS4ybC0xMi0yMy42em0tMjEuOC03MC4zYzMuOCA1LjQgNS4zIDEzLjEgNC42IDIzLjFsLTUxLjcgMGMuOS05LjQgMy43LTE3IDguMi0yMi42czExLjUtOC41IDIxLTguNWM4LjItLjEgMTQuMSAyLjYgMTcuOSA4em03OS45IDIuNWM0LjEgMy45IDkuNCA1LjggMTYuMSA1LjggNyAwIDEyLjYtMS45IDE2LjctNS44czYuMS05LjEgNi4xLTE1LjYtMi0xMS42LTYuMS0xNS40LTkuNi01LjctMTYuNy01LjdjLTYuNyAwLTEyIDEuOS0xNi4xIDUuN3MtNi4xIDguOS02LjEgMTUuNCAyIDExLjcgNi4xIDE1LjZ6bTAgMTAwLjVjNC4xIDMuOSA5LjQgNS44IDE2LjEgNS44IDcgMCAxMi42LTEuOSAxNi43LTUuOHM2LjEtOS4xIDYuMS0xNS42LTItMTEuNi02LjEtMTUuNC05LjYtNS43LTE2LjctNS43Yy02LjcgMC0xMiAxLjktMTYuMSA1LjdzLTYuMSA4LjktNi4xIDE1LjRjMCA2LjYgMiAxMS43IDYuMSAxNS42eiJdfSxsZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZW1waXJlIixpY29uOls1MTIsNTEyLFtdLCJmMWQxIiwiTTI5NS42IDU0LjJjLTEwLjgtMi4yLTIyLjEtMy4zLTMzLjUtMy42bDAtMTguMmM3OC4xIDIuMiAxNDYuMSA0NCAxODQuNiAxMDYuNmwtMTUuOCA5LjFjLTYuMS05LjctMTIuNy0xOC44LTIwLjItMjcuMWwtMTggMTUuNWMtMjYtMjkuNi02MS40LTUwLjctMTAxLjktNTguNGw0LjgtMjMuOXpNNjEuNCAzMjIuNGwyMy03LjdjLTYuNC0xOC4zLTEwLTM4LjItMTAtNTguN3MzLjMtNDAuNCA5LjctNTguN2wtMjIuNy03LjdjMy42LTEwLjggOC4zLTIxLjMgMTMuNi0zMWwtMTUuOC05LjFDNDIgMTgxIDMyLjEgMjE3LjUgMzIuMSAyNTZzMTAgNzUgMjcuMSAxMDYuNkw3NSAzNTMuNWMtNS4zLTEwLTkuNy0yMC4zLTEzLjYtMzEuMXpNMjIxLjEgNDM0Yy00MC40LTgtNzUuOC0yOS4xLTEwMS45LTU4LjdsLTE4IDE1LjhjLTcuNS04LjYtMTQuNC0xNy43LTIwLjItMjcuNGwtMTYgOS40YzM4LjUgNjIuMyAxMDYuOCAxMDQuMyAxODQuOSAxMDYuNmwwLTE4LjNjLTExLjMtLjMtMjIuNy0xLjctMzMuNS0zLjZsNC43LTIzLjh6TTEwMS4zIDEyMC45bDE4IDE1LjVjMjYtMjkuNiA2MS40LTUwLjcgMTAxLjktNTguNGwtNC43LTIzLjhjMTAuOC0yLjIgMjIuMS0zLjMgMzMuNS0zLjZsMC0xOC4yQzE3MS45IDM0LjYgMTAzLjkgNzYuNCA2NS40IDEzOWwxNS44IDkuMWM2LTkuNyAxMi42LTE4LjkgMjAuMS0yNy4yek00MTAuNyAzOTEuMWwtMTgtMTUuOGMtMjYgMjkuNi02MS40IDUwLjctMTAxLjkgNTguN2w0LjcgMjMuOGMtMTAuOCAxLjktMjIuMSAzLjMtMzMuNSAzLjZsMCAxOC4zYzc4LjEtMi4yIDE0Ni40LTQ0LjMgMTg0LjktMTA2LjZsLTE2LjEtOS40Yy01LjcgOS43LTEyLjYgMTguOC0yMC4xIDI3LjR6TTggMjU2YTI0OCAyNDggMCAxIDEgNDk2IDAgMjQ4IDI0OCAwIDEgMSAtNDk2IDB6bTQ4My44IDBhMjM1LjggMjM1LjggMCAxIDAgLTQ3MS42IDAgMjM1LjggMjM1LjggMCAxIDAgNDcxLjYgMHptLTM5LTEwNi42TDQzNyAxNTguNWM1LjMgOS43IDEwIDIwLjIgMTMuNiAzMWwtMjIuNyA3LjdjNi40IDE4LjMgOS43IDM4LjIgOS43IDU4LjdzLTMuNiA0MC40LTEwIDU4LjdsMjMgNy43Yy0zLjkgMTAuOC04LjMgMjEtMTMuNiAzMWwxNS44IDkuMUM0NzAgMzMxIDQ3OS45IDI5NC41IDQ3OS45IDI1NnMtOS45LTc1LTI3LjEtMTA2LjZ6bS0xODMgMTc3LjdjMTYuMy0zLjMgMzAuNC0xMS42IDQwLjctMjMuNWw1MS4yIDQ0LjhjMTEuOS0xMy42IDIxLjMtMjkuMyAyNy4xLTQ2LjhsLTY0LjItMjIuMWMyLjUtNy41IDMuOS0xNS4yIDMuOS0yMy41cy0xLjQtMTYuMS0zLjktMjMuNWw2NC41LTIyLjFjLTYuMS0xNy40LTE1LjUtMzMuMi0yNy40LTQ2LjhsLTUxLjIgNDQuOGMtMTAuMi0xMS45LTI0LjQtMjAuNS00MC43LTIzLjhsMTMuMy02Ni40Yy04LjYtMS45LTE3LjctMi44LTI3LjEtMi44cy0xOC41IC44LTI3LjEgMi44bDEzLjMgNjYuNGMtMTYuMyAzLjMtMzAuNCAxMS45LTQwLjcgMjMuOGwtNTEuMi00NC44Yy0xMS45IDEzLjYtMjEuMyAyOS4zLTI3LjQgNDYuOGw2NC41IDIyLjFjLTIuNSA3LjUtMy45IDE1LjItMy45IDIzLjVzMS40IDE2LjEgMy45IDIzLjVsLTY0LjIgMjIuMWM1LjggMTcuNCAxNS4yIDMzLjIgMjcuMSA0Ni44bDUxLjItNDQuOGMxMC4yIDExLjkgMjQuNCAyMC4yIDQwLjcgMjMuNWwtMTMuMyA2Ni43YzguNiAxLjcgMTcuNyAyLjggMjcuMSAyLjhzMTguNS0xLjEgMjcuMS0yLjhsLTEzLjMtNjYuN3oiXX0sY2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFjY2Vzc2libGUtaWNvbiIsaWNvbjpbNDQ4LDUxMixbNjIxMDddLCJmMzY4IiwiTTQyMy45IDI1NS44TDQxMSA0MTMuMWMtMy4zIDQwLjctNjMuOSAzNS4xLTYwLjYtNC45bDEwLTEyMi41LTQxLjEgMi4zYzEwLjEgMjAuNyAxNS44IDQzLjkgMTUuOCA2OC41IDAgNDEuMi0xNi4xIDc4LjctNDIuMyAxMDYuNWwtMzkuMy0zOS4zYzU3LjktNjMuNyAxMy4xLTE2Ny4yLTc0LTE2Ny4yLTI1LjkgMC00OS41IDkuOS02Ny4yIDI2TDczIDI0My4yYzIyLTIwLjcgNTAuMS0zNS4xIDgxLjQtNDAuMmw3NS4zLTg1LjctNDIuNi0yNC44LTUxLjYgNDZDMTA1LjUgMTY1LjMgNjQuOSAxMjAgOTUgOTMuMWw2OC02MC43YzkuOC04LjggMjQuMS0xMC4yIDM1LjUtMy42IDAgMCAxMzkuMyA4MC45IDEzOS41IDgxLjEgMTYuMiAxMC4xIDIwLjcgMzYgNi4xIDUyLjZsLTU4LjQgNjYuNSAxMDYuMS01LjljMTguNS0xLjEgMzMuNiAxNC40IDMyLjEgMzIuN3pNMzU5IDEwMS44QTUwLjkgNTAuOSAwIDEgMCAzNTkgMCA1MC45IDUwLjkgMCAxIDAgMzU5IDEwMS44ek0xNzkuNiA0NTYuNWMtODAuNiAwLTEyNy40LTkwLjYtODIuNy0xNTYuMUw1Ny4yIDI2MC43QzM2LjQgMjg3IDI0IDMyMC4zIDI0IDM1Ni40IDI0IDQ4Ny4xIDE3NC43IDU1Ny44IDI3NS40IDQ3OC45bC0zOS43LTM5LjdjLTE2IDEwLjktMzUuMyAxNy4zLTU2LjEgMTcuM3oiXX0sZGd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InF1b3JhIixpY29uOls0NDgsNTEyLFtdLCJmMmM0IiwiTTQ0MC43IDM4Ni43bC0yOS4zIDBjLTEuNSAxMy41LTEwLjUgMzAuOC0zMyAzMC44LTIwLjUgMC0zNS4zLTE0LjItNDkuNS0zNS44IDQ0LjItMzQuMiA3NC43LTg3LjUgNzQuNy0xNTMgLjEtMTE3LjUtOTYuNi0xOTYuNy0xOTguNC0xOTYuNy05OS43IDAtMTk3LjcgNzkuNy0xOTcuNyAxOTYuNyAwIDEzNC4xIDEzMS4zIDIyMS42IDI0OSAxODkgMTkuNyAzMy42IDQ1LjcgNjIuMyA5NS4yIDYyLjMgODEuOCAwIDkwLjgtNzUuMyA4OS05My4zek0yOTcuMiAzMjkuMmMtMTkuNS0yOS4yLTQzLjctNTIuMi05MS41LTUyLjItMzAuNSAwLTU0LjMgMTAtNjkgMjIuOGwxMi4yIDI0LjNjNi4yLTMgMTMtNCAxOS44LTQgMzUuNSAwIDUzLjcgMzAuOCA2OS4yIDYxLjMtMTAgMy0yMC43IDQuMi0zMi43IDQuMi03NSAwLTEwNy41LTUzLTEwNy41LTE1Ni43IDAtMTA0LjQgMzIuNS0xNTcuOSAxMDcuNS0xNTcuOSA3Ni4yIDAgMTA4LjcgNTMuNSAxMDguNyAxNTcuNyAuMSA0MS44LTUuNCA3NS42LTE2LjcgMTAwLjV6Il19LHVndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1qY2IiLGljb246WzU3Niw1MTIsW10sImYyNGIiLCJNNDMxLjUgMjQ0LjNsMC0zMi4zYzQxLjIgMCAzOC41IC4yIDM4LjUgLjIgNy4zIDEuMyAxMy4zIDcuMyAxMy4zIDE2IDAgOC44LTYgMTQuNS0xMy4zIDE1LjgtMS4yIC40LTMuMyAuMy0zOC41IC4zem00Mi44IDIwLjJjLTIuOC0uNy0zLjMtLjUtNDIuOC0uNWwwIDM1YzM5LjYgMCA0MCAuMiA0Mi44LS41IDcuNS0xLjUgMTMuNS04IDEzLjUtMTcgMC04LjctNi0xNS41LTEzLjUtMTd6TTU3NiA4MGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsNDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTE4MiAxOTIuM2wtNTcgMGMwIDY3LjEgMTAuNyAxMDkuNy0zNS44IDEwOS43LTE5LjUgMC0zOC44LTUuNy01Ny4yLTE0LjhsMCAyOGMzMCA4LjMgNjggOC4zIDY4IDguMyA5Ny45IDAgODItNDcuNyA4Mi0xMzEuMnptMTc4LjUgNC41Yy02My40LTE2LTE2NS0xNC45LTE2NSA1OS4zIDAgNzcuMSAxMDguMiA3My42IDE2NSA1OS4ybDAtMjguM0MzMTIuOSAzMTEuNyAyNTMgMzA5IDI1MyAyNTZzNTkuOC01NS42IDEwNy41LTMxLjJsMC0yOHpNNTQ0IDI4Ni41YzAtMTguNS0xNi41LTMwLjUtMzgtMzJsMC0uOGMxOS41LTIuNyAzMC4zLTE1LjUgMzAuMy0zMC4yIDAtMTktMTUuNy0zMC0zNy0zMSAwIDAgNi4zLS4zLTEyMC4zLS4zbDAgMTI3LjUgMTIyLjcgMGMyNC4zIC4xIDQyLjMtMTIuOSA0Mi4zLTMzLjJ6Il19LHBndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmZWRvcmEiLGljb246WzQ0OCw1MTIsW10sImY3OTgiLCJNMCAyNTUuOEMuMSAxMzIuMiAxMDAuMyAzMiAyMjQgMzJTNDQ4IDEzMi4zIDQ0OCAyNTYgMzQ3LjggNDc5LjkgMjI0LjEgNDgwTDUwLjkgNDgwQzIyLjggNDgwIC4xIDQ1Ny4zIDAgNDI5LjJsMCAwIDAtMTczLjQgMCAwem0zNDIuNi02My4xYzAtMzkuNy0zNS42LTY4LjUtNzMuMi02OC41LTM0LjkgMC02NS44IDI2LjMtNzAuMSA1OS45LS4yIDMuOC0uNCA1LS40IDguNS0uMSAyMS4xIDAgNDIuOC0uOCA2NC40IC45IDI2LjEgMSA1Mi4xIDAgNzYuNiAwIDI3LjEtMTkuNCA0NS41LTQ0LjcgNDUuNXMtNDUuOC0yMC4yLTQ1LjgtNDUuNWMuNS0yNy43IDIyLjYtNDUuMyA0OC41LTQ2LjFsLjIgMCAyNi4zLS4yIDAtMzcuMy0yNi4zIC4yYy00Ny4xLS40LTg0LjYgMzYuNS04NS45IDgzLjQgMCA0NS42IDM3LjUgODIuOSA4MyA4Mi45IDQzIDAgNzguNy0zMy42IDgyLjYtNzUuNmwuMi01My41IDMyLjYtLjNjMjUuMyAuMiAyNS0zNy44LS4yLTM3LjNsLTMyLjQgLjNjMC02LjQgLjEtMTIuOCAuMS0xOS4yIC4xLTEyLjcgLjEtMjUuNC0uMS0zOC4yIC4xLTE2LjUgMTUuOC0zMS4yIDMzLjItMzEuMiAxNy41IDAgMzUuOSA4LjcgMzUuOSAzMS4yIDAgMy4yLS4xIDUuMS0uMyA2LjMtMS45IDEwLjUgNS4yIDIwLjQgMTUuNyAyMS45IDEwLjYgMS41IDIwLjItNi4xIDIxLjItMTYuNiAuNi00LjIgLjctNy45IC43LTExLjZ6Il19LGZndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkdW9saW5nbyIsaWNvbjpbNTc2LDUxMixbXSwiZTgxMiIsIk01MDQuMyAyMzAuNWMxMC40IDg4LjUtNDMuNCAxNzIuMS0xMjguMiAxOTlzLTE3Ni42LTEwLjMtMjE4LjktODguN2MtNzIgMy0xMzcuNC0zOS44LTE2My4yLTEwNS41LTIuNi02LjYtMS45LTE0IDEuOS0xOS45czEwLjItOS43IDE3LjItMTAuMWw5Ni4xLTYtMjMuOC03NS45Yy02LjMtMjAtMi4yLTQxLjkgMTEtNTguM3MzMy43LTI1IDU0LjUtMjNjNTIuMiA1IDg2LjggNC44IDEwNC0uNlMzMDAgMTYuNyAzMzktMTYuOWMxNS45LTEzLjcgMzcuNy0xOC41IDU3LjgtMTIuN3MzNi4xIDIxLjMgNDIuNCA0MS40TDQ2Mi44IDg3IDU0My42IDM3LjNjNi0zLjcgMTMuNC00LjMgMTkuOS0xLjZzMTEuMyA4LjMgMTIuOSAxNS4yYzE2LjIgNjguMi0xMi40IDE0MC4zLTcyLjEgMTc5LjV6TTI1OC41IDQ3NS45bDAgMGMxNS4xIDcuNSAyMS41IDI1LjggMTQuMiA0MXMtMjUuNCAyMS45LTQwLjcgMTQuOWwtNDMuOS0yMWMtMTUuMS03LjUtMjEuNS0yNS44LTE0LjItNDFzMjUuNC0yMS45IDQwLjctMTQuOWw0My44IDIxek01NjQuNiAzNDUuN2MxNC44IDguNCAyMCAyNy4zIDExLjYgNDIuMmwtMjMuOSA0Mi40Yy04LjcgMTQuMy0yNy4xIDE5LjItNDEuNiAxMC45cy0xOS45LTI2LjYtMTItNDEuNGwyMy45LTQyLjRjNC03LjEgMTAuNy0xMi40IDE4LjYtMTQuNnMxNi4zLTEuMiAyMy40IDIuOXoiXX0saGd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZpcnN0ZHJhZnQiLGljb246WzM4NCw1MTIsW10sImYzYTEiLCJNMzg0IDE5MmwtNjQgMCAwIDEyOC0xMjggMCAwIDEyOC0xOTIgMCAwLTI1LjYgMTY2LjQgMCAwLTEyOCAxMjggMCAwLTEyOCA4OS42IDAgMCAyNS42em0tMjUuNiAzOC40bDAgMTI4LTEyOCAwIDAgMTI4LTE2Ni40IDAgMCAyNS42IDE5MiAwIDAtMTI4IDEyOCAwIDAtMTUzLjYtMjUuNiAwem0yNS42IDE5MmwtODkuNiAwIDAgODkuNiAyNS42IDAgMC02NCA2NCAwIDAtMjUuNnpNMCAwbDAgMzg0IDEyOCAwIDAtMTI4IDEyOCAwIDAtMTI4IDEyOCAwIDAtMTI4LTM4NCAweiJdfSxtZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZnJlZWJzZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNhNCIsIk0zMDMuNyA5Ni4yYzExLjEtMTEuMSAxMTUuNS03NyAxMzkuMi01My4yIDIzLjcgMjMuNy00Mi4xIDEyOC4xLTUzLjIgMTM5LjJzLTM5LjQgLjktNjMuMS0yMi45Yy0yMy44LTIzLjctMzQuMS01Mi0yMi45LTYzLjF6TTEwOS45IDY4LjFDNzMuNiA0Ny41IDIyIDI0LjYgNS42IDQxLjEtMTEgNTcuNyAxMi43IDExMC41IDMzLjUgMTQ2LjggNTIgMTE0LjYgNzguMyA4Ny41IDEwOS45IDY4LjF6TTQwNi43IDE3NGMzLjMgMTEuMyAyLjcgMjAuNy0yLjcgMjYuMS0yMC4zIDIwLjMtODcuNS0yNy0xMDkuMy03MC4xLTE4LTMyLjMtMTEuMS01My40IDE0LjktNDguNyA1LjctMy42IDEyLjMtNy42IDE5LjYtMTEuNi0yOS44LTE1LjUtNjMuNi0yNC4zLTk5LjUtMjQuMy0xMTkuMSAwLTIxNS42IDk2LjUtMjE1LjYgMjE1LjYgMCAxMTkgOTYuNSAyMTUuNiAyMTUuNiAyMTUuNlM0NDUuMyAzODAuMSA0NDUuMyAyNjFjMC0zOC40LTEwLjEtNzQuNS0yNy43LTEwNS44LTMuOSA3LTcuNiAxMy4zLTEwLjkgMTguOHoiXX0sZ2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9keXNlZSIsaWNvbjpbNTEyLDUxMixbXSwiZTVjNiIsIk00MDYuNyA0NjNjLTQyLjMgMzAuOC05NC40IDQ5LTE1MC43IDQ5LTExMS4xIDAtMjA1LjctNzAuOC0yNDEuMS0xNjkuOCAyLjQgMS43IDUuOSAzLjYgNy45IDQuNCAxNi4zIDcuNCA0MC4xLTUuNCA2Mi45LTI4LjcgNi45LTYuOSAxNC40LTEyLjQgMjIuOC0xNy4zIDE4LjMtMTEuOSAzNy42LTIwLjggNTguNC0yNy4yIDAgMCAyMi4zIDM0LjIgNDMuMSA3NC44cy0yMi4zIDU0LTI3LjIgNTRjLS4zIDAtLjggMC0xLjUtLjEtMTEtLjUtNzAtMy01NiA1MS4xIDE0LjkgNTcuNCA5Ny41IDM2LjYgMTM5LjYgOC45czMxLjctMTE4LjMgMzEuNy0xMTguM2M0MS4xLTYuNCA1NCAzNy4xIDU3LjkgNTkuNCAuOCA0LjYgMS4xIDkuOSAxLjQgMTUuNSAxLjEgMjEuMiAyLjMgNDUuNiAzNS4zIDQ2LjQgNS4zIDAgMTAuNi0uOCAxNS41LTJsMC0uMXptLTk1LjMtMjMuN2MtMi0uNS0zLjUtMi41LTMtNSAxLTIuNSAzLTMuNSA1LTNzMy41IDMgMyA1LTIuNSAzLjUtNSAzem0tMjA3LTk1LjZjMS41LS41IDMuNSAxIDQgMyAwIDItMSA0LTMgNC0xLjUgLjUtMy41LTEtNC0zLS41LTEuNSAxLTMuNSAzLTR6TTQ1MS44IDQyMWMzNy41LTQ0LjYgNjAuMi0xMDIuMiA2MC4yLTE2NSAwLTY3LjUtMjYuMS0xMjguOS02OC44LTE3NC43LS4xIDIzLjUtNi4xIDQ4LjItMTYuOCA2OS4yLTExLjkgMjAuMy00OSA1OC45LTY5LjggNzguNy0uNyAuMy0xLjEgLjktMS41IDEuNC0uMiAuMi0uMyAuNC0uNSAuNi01IDYuOS00IDE2LjggMyAyMS44IDIxLjMgMTUuOCA1Ni40IDQ1LjYgNTkuNCA3Mi44IDMuNSAzNC45IDI3LjkgNzUuNiAzNC4yIDg2LjIgLjggMS4zIDEuMyAyLjEgMS40IDIuNCAwIDIuMi0uNCA0LjMtLjggNi41bDAgLjF6TTM5MC43IDI1MWMtLjUgMyAxIDUuOSA0IDYuNHM1LjktMSA2LjQtNC0xLTUuOS00LTYuNGMtMy0xLTUuOSAxLTYuNCA0em02MS40LTYwLjlsLTExLjQgNS40LTMgMTIuOS01LjQtMTEuNC0xMi45LTMgMTEuNC01LjQgMy0xMi45IDUuNCAxMS40IDEyLjkgM3pNMzk1LjUgNDEuM2MtMTYuMiA4LjItMjIuMSAzMi44LTI5IDYxLjQtLjMgMS40LS43IDIuOC0xIDQuMi05LjUgMzguNS0zMC42IDM3LjYtNDEuNyAzNy4yLTEuMSAwLTItLjEtMi45LS4xLTUuMSAwLTYtNC04LjktMTcuMS0yLjYtMTIuMS02LjktMzItMTcuOS02My42LTIyLjctNjUuOC04Mi43LTQ5LjQtMTI4LjItMjIuMi01NS4zIDMzLjEtMzQuNCAxMDEuOS0xOS44IDE0OS40IC43IDIuMiAxLjQgNC40IDIgNi42LTQgNC0xMy44IDcuNS0yNiAxMS45LTEyLjEgNC4zLTI2LjYgOS41LTQwLjMgMTYuOS0zMy45IDE4LTcwLjMgNDktNzkuOCA2Mi42LTEuMy0xMC43LTItMjEuNS0yLTMyLjUgMC0xNDEuNCAxMTQuNi0yNTYgMjU2LTI1NiA1MS40IDAgOTkuNCAxNS4yIDEzOS41IDQxLjN6TTU4LjkgMTg5LjZjLTEuNS0yLTQuNS0zLTYuNC0xLjVzLTMgNC41LTEuNSA2LjQgNC41IDMgNi40IDEuNWMyLjUtMS41IDMtNC41IDEuNS02LjR6TTMyNy4zIDY0LjljMi0xLjUgNS0uNSA2LjQgMS41IDEuNSAyLjUgMSA1LjQtMS41IDYuNC0yIDEuNS01IC41LTYuNC0xLjVzLS41LTUgMS41LTYuNHpNOTUuMSAxMDVjLS41IDEuNSAuNSAzIDIgMyAxLjUgLjUgMy0uNSAzLTIgLjUtMS41LS41LTMtMi0zcy0zIC41LTMgMnptODQuNy0uNWMtMy41LTQzLjEgMzcuMS01NCAzNy4xLTU0IDQ0LjEtMTUuNCA1NiA1LjkgNjYuNCAzNy42czMgNDIuNi0zOC42IDU4LjktNjEuOS00LjUtNjQuOS00Mi42bDAgLjF6bTg5LjYgMTQuOWwxIDBjMi41IDAgNS0yIDUtNSAyLTYuOSAxLTE0LjQtMi0yMC44LTEuNS0yLTQtMy41LTYuNC0yLjUtMyAxLTQuNSA0LTMuNSA2LjkgMiA0LjUgMyA5LjkgMS41IDE0LjktLjUgMyAxLjUgNS45IDQuNSA2LjRsLS4xIC4xem0tOS45LTQxLjZjLTIgMC00LTEtNS0zcy0yLTMuNS0zLTVjLTItMi0yLTUuNCAwLTcuNHM1LjQtMiA3LjQgMGMyIDIuNSAzLjUgNSA1IDcuNHMuNSA1LjktMi41IDcuNGMtLjYgMC0xIC4yLTEuMyAuMy0uMiAuMS0uNCAuMi0uNiAuMmwwIC4xeiJdfSxiZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2ctY2lyY2xlIixpY29uOls1MTIsNTEyLFtdLCJmMjYxIiwiTTI1Ny41IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek0yMDggMzgyLjhsLTEyNS43LTEyNS43IDEyNS43LTEyNS43IDM1LjIgMzUuNC0yNC4yIDI0LjItMTEuMS0xMS4xLTc3LjIgNzcuMiA3Ny4yIDc3LjIgMjYuNi0yNi42LTUzLjEtNTIuOSAyNC40LTI0LjQgNzcuMiA3Ny4yLTc1IDc1LjJ6bTk5LTIuMmwtMzUuMi0zNS4yIDI0LjEtMjQuNCAxMS4xIDExLjEgNzcuMi03Ny4yLTc3LjItNzcuMi0yNi41IDI2LjUgNTMuMSA1Mi45LTI0LjQgMjQuNC03Ny4yLTc3LjIgNzUtNzUgMTI1LjcgMTI1LjctMTI1LjcgMTI1LjZ6Il19LHZndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjbG91ZGZsYXJlIixpY29uOls2NDAsNTEyLFtdLCJlMDdkIiwiTTQwNy45IDMxOS45TDE3Ny4xIDMxN2MtLjcgMC0xLjQtLjItMi0uNXMtMS4yLS44LTEuNi0xLjRjLS40LS42LS43LTEuMy0uNy0yczAtMS40IC4yLTIuMWMuNC0xLjEgMS4xLTIuMSAyLjEtMi44czIuMS0xLjIgMy4zLTEuMmwyMzIuOS0yLjljMjcuNi0xLjMgNTcuNS0yMy42IDY4LTUwLjhsMTMuMy0zNC41Yy40LS45IC41LTEuOSAuNS0yLjkgMC0uNS0uMS0xLjEtLjItMS42LTcuNC0zMi4yLTI1LTYxLjEtNTAuMy04Mi4zcy01Ni43LTMzLjctODkuNy0zNS41LTY1LjYgNy4zLTkzIDI1LjctNDggNDUuMy01OC44IDc2LjVjLTExLjMtOC41LTI0LjktMTMuMy0zOS0xMy43cy0yOCAzLjUtMzkuOCAxMS40LTIwLjggMTkuMS0yNS45IDMyLjMtNS45IDI3LjYtMi40IDQxLjNjLTUyLjMgMS41LTk0LjIgNDQuMS05NC4yIDk2LjUgMCA0LjcgLjMgOS4zIDEgMTQgLjIgMS4xIC43IDIuMSAxLjUgMi44czEuOSAxLjEgMi45IDEuMWw0MjYuMSAuMWMwIDAgLjEgMCAuMSAwIDEuMiAwIDIuMy0uNCAzLjMtMS4xczEuNi0xLjcgMi0yLjlsMy4zLTExLjNjMy45LTEzLjQgMi40LTI1LjgtNC4xLTM0LjktNi04LjQtMTYuMS0xMy4zLTI4LjItMTMuOXptMTA1LjktOTguOGMtMi4xIDAtNC4zIC4xLTYuNCAuMi0uOCAuMS0xLjUgLjMtMi4xIC44cy0xIDEuMS0xLjMgMS44bC05LjEgMzEuMmMtMy45IDEzLjQtMi40IDI1LjggNC4xIDM0LjkgNiA4LjQgMTYuMSAxMy4zIDI4LjIgMTMuOWw0OS4yIDIuOWMuNyAwIDEuNCAuMiAyIC41czEuMSAuOCAxLjUgMS40Yy40IC42IC43IDEuMyAuOCAyczAgMS41LS4yIDIuMWMtLjQgMS4xLTEuMSAyLjEtMi4xIDIuOHMtMi4xIDEuMi0zLjMgMS4ybC01MS4xIDIuOWMtMjcuOCAxLjMtNTcuNyAyMy42LTY4LjEgNTAuOGwtMy43IDkuNmMtLjIgLjQtLjIgLjgtLjIgMS4zcy4yIC44IC40IDEuMiAuNiAuNyAuOSAuOSAuOCAuMyAxLjIgLjNjMCAwIC4xIDAgLjEgMGwxNzUuOSAwYzEgMCAyLS4zIDIuOC0uOXMxLjQtMS41IDEuNy0yLjRjMy4xLTExLjEgNC43LTIyLjUgNC43LTM0IDAtNjkuMy01Ni41LTEyNS41LTEyNi4xLTEyNS41eiJdfSx4Z3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaGFja2VycmFuayIsaWNvbjpbNTEyLDUxMixbXSwiZjVmNyIsIk00NzcuOSAxMjhDNDYzLjQgMTAzIDI4NS41IDAgMjU2LjUgMHMtMjA2LjkgMTAyLjgtMjIxLjMgMTI4LTE0LjUgMjMwLjggMCAyNTYgMTkyLjQgMTI4IDIyMS4zIDEyOCAyMDYuOC0xMDIuOSAyMjEuMy0xMjggMTQuNS0yMzEgMC0yNTZ6TTMxNi41IDQxNC4yYy00IDAtNDAuOS0zNS44LTM4LTM4LjcgLjktLjkgNi4zLTEuNSAxNy41LTEuOCAwLTI2LjIgLjYtNjguNiAuOS04Ni4zIDAtMi0uNC0zLjQtLjQtNS44bC03OS45IDBjMCA3LjEtLjUgMzYuMiAxLjQgNzIuOSAuMiA0LjUtMS42IDYtNS43IDUuOS0xMC4xIDAtMjAuMy0uMS0zMC40LS4xLTQuMSAwLTUuOS0xLjUtNS43LTYuMSAuOS0zMy40IDMtODQtLjItMjEyLjdsMC0zLjJjLTkuNy0uNC0xNi40LTEtMTcuMy0xLjgtMi45LTIuOSAzNC41LTM4LjcgMzguNS0zOC43czQxLjIgMzUuOCAzOC4zIDM4LjdjLS45IC45LTcuOSAxLjUtMTYuOCAxLjhsMCAzLjJjLTIuNCAyNS44LTIgNzkuNi0yLjYgMTA1LjRsODAuMyAwYzAtNC42IC40LTM0LjctMS4yLTgzLjYtLjEtMy40IDEtNS4yIDQuMi01LjIgMTEuMS0uMSAyMi4yLS4xIDMzLjItLjEgMy41IDAgNC42IDEuNyA0LjUgNS40LTMuNyAxOTEuMy0uNyAxNzcuOS0uNyAyMTAuMyA4LjkgLjQgMTYuOCAxIDE3LjcgMS44IDIuOSAyLjktMzMuNiAzOC43LTM3LjYgMzguN2wwIDB6Il19LHlndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJza3lhdGxhcyIsaWNvbjpbNjQwLDUxMixbXSwiZjIxNiIsIk02NDAgMzI5LjNjMCA2NS45LTUyLjUgMTE0LjQtMTE3LjUgMTE0LjQtMTY1LjkgMC0xOTYuNi0yNDkuNy0zNTkuNy0yNDkuNy0xNDYuOSAwLTE0Ny4xIDIxMi4yIDUuNiAyMTIuMiA0Mi41IDAgOTAuOS0xNy44IDEyNS4zLTQyLjUgNS42LTQuMSAxNi45LTE2LjMgMjIuOC0xNi4zczEwLjkgNSAxMC45IDEwLjljMCA3LjgtMTMuMSAxOS4xLTE4LjcgMjQuMS00MC45IDM1LjYtMTAwLjMgNjEuMi0xNTQuNyA2MS4yLTgzLjQgLjEtMTU0LTU5LTE1NC0xNDQuOVM2Ny41IDE0OS42IDE1Mi44IDE0OS42YzE4NS4zIDAgMjIyLjUgMjQ1LjkgMzYxLjkgMjQ1LjkgOTkuOSAwIDk0LjgtMTM5LjcgMy40LTEzOS43LTE3LjUgMC0zNSAxMS42LTQ2LjkgMTEuNi04LjQgMC0xNS45LTcuMi0xNS45LTE1LjYgMC0xMS42IDUuMy0yMy43IDUuMy0zNi4zIDAtNjYuNi01MC45LTExNC43LTExNi45LTExNC43LTUzLjEgMC04MCAzNi45LTg4LjggMzYuOS02LjIgMC0xMS4yLTUtMTEuMi0xMS4yIDAtNS42IDQuMS0xMC4zIDcuOC0xNC40IDI1LjMtMjguOCA2NC43LTQzLjcgMTAyLjgtNDMuNyA3OS40IDAgMTM5LjEgNTguNCAxMzkuMSAxMzcuOCAwIDYuOS0uMyAxMy43LTEuMiAyMC42IDExLjktMy4xIDI0LjEtNC43IDM1LjktNC43IDYwLjcgMCAxMTEuOSA0NS4zIDExMS45IDEwNy4yeiJdfSx3Z3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGVza3BybyIsaWNvbjpbNDQ4LDUxMixbXSwiZjM4ZiIsIk0xMjIgNDA2LjJsODQgMGMyMy4xIDAgNDMuOS0zLjUgNjIuNi0xMC43IDE4LjctNy4xIDM0LjctMTcuMSA0OC0zMC4xIDEzLjMtMTMuNCAyMy42LTI5LjIgMzAuNy00Ny41IDMuOS05LjYgNi44LTE5LjggOC42LTMwLjZsNzMuNyAwYy0yLjUgMjEuMy03LjcgNDEuMy0xNS41IDYwLTExLjEgMjcuMi0yNi45IDUwLjgtNDcuMyA3MC45LTIwIDE5LjYtNDQuMiAzNC44LTcyLjYgNDUuNHMtNjAgMTYtOTQuNyAxNmwtMTQ5LjggLjIgMC0xOTIuNCA3Mi4zLS4yIDAgMTE4Ljh6TTE5OS40IDMyYzM0LjcgMCA2Ni4yIDUuNCA5NC43IDE2IDI4LjUgMTAuNyA1Mi45IDI2LjEgNzMuMyA0Ni4yIDIwLjQgMTkuNiAzNi4yIDQzLjIgNDcuMyA3MC45IDcuNSAxOC4zIDEyLjQgMzguMSAxNC45IDU5LjNsLTczLjctLjFjLTEuOS0xMC41LTQuNy0yMC41LTguNi0yOS45LTcuMS0xOC43LTE3LjMtMzQuNS0zMC43LTQ3LjUtMTMuMy0xMy40LTI5LjMtMjMuNi00OC0zMC44LTE4LjYtNy4xLTM5LjUtMTAuNy02Mi43LTEwLjdsLTg0IDAgMCAxMTguOC03Mi4yIC4yIDAtMTkyLjMgMTQ5LjctLjF6Il19LE1ndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZXNvbHZpbmciLGljb246WzUxMiw1MTIsW10sImYzZTciLCJNMjg5LjIgMjc4LjJjNDYtMTMuMyA0OS42LTIzLjUgNDQtNDMuNEwzMjIgMTk1LjVjLTYuMS0yMC45LTE4LjQtMjguMS03MS4xLTEyLjhsLTE4OC4yIDU0LjEgMjguNiA5OC42IDE5Ny45LTU3LjJ6TTI1Ni41IDhDMTM5LjQgOCA0MS4yIDg4LjcgMTUuMiAxOTcuNWwyMjEuOS02My45YzM0LjgtMTAuMiA1NC4yLTExLjcgNzkuMy04LjIgMzYuMyA2LjEgNTIuNyAyNSA2MS40IDU1LjJsMTAuNyAzNy44YzguMiAyOC4xIDEgNTAuNi0yMy41IDczLjYtMTkuNCAxNy40LTMxLjIgMjQuNS02MS40IDMzLjJsLTkyLjYgMjYuNiAyMjAuNCAyNy4xIDkuNyAzNC4yLTQ4LjEgMTMuMy0yODYuOC0zNy4zIDIzIDgwLjJDMTY2IDQ5MS4zIDIwOS41IDUwNCAyNTUuNSA1MDQgMzkyLjUgNTA0IDUwNCAzOTIuNiA1MDQgMjU1LjcgNTA1IDExOS40IDM5My41IDggMjU2LjUgOHpNNDYuMyAzODguNkw4IDI1Ni44YzAgNDguNSAxNC4zIDkzLjQgMzguMyAxMzEuOHoiXX0sa2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJsYWNrYmVycnkiLGljb246WzUxMiw1MTIsW10sImYzN2IiLCJNMTY2IDExNi45YzAgMjMuNC0xNi40IDQ5LjEtNzIuNSA0OS4xbC03MC4xIDAgMjEtODguOCA2Ny44IDBjNDIuMSAwIDUzLjggMjMuMyA1My44IDM5Ljd6TTI5Mi4yIDc3LjJsLTY3LjggMC0xOC43IDg4LjggNzAuMSAwYzUzLjggMCA3MC4xLTI1LjcgNzAuMS00OS4xIC4xLTE2LjQtMTEuNi0zOS43LTUzLjctMzkuN3pNODguOCAyMDguMWwtNjcuOCAwLTIxIDg4LjggNzAuMSAwYzU2LjEgMCA3Mi41LTIzLjQgNzIuNS00OS4xIDAtMTYuMy0xMS43LTM5LjctNTMuOC0zOS43em0xODAuMSAwbC02Ny44IDAtMTguNyA4OC44IDcwLjEgMGM1My44IDAgNzAuMS0yMy40IDcwLjEtNDkuMSAwLTE2LjMtMTEuNy0zOS43LTUzLjctMzkuN3ptMTg5LjMtNTMuOGwtNjcuOCAwLTE4LjcgODguOCA3MC4xIDBjNTMuOCAwIDcwLjEtMjMuNCA3MC4xLTQ5LjEgLjEtMTYuMy0xMS42LTM5LjctNTMuNy0zOS43em0tMjggMTM3LjlsLTY3LjggMC0xOC43IDg4LjggNzAuMSAwYzU2LjEgMCA3MC4xLTIzLjQgNzAuMS00OS4xIDAtMTYuMy0xMS42LTM5LjctNTMuNy0zOS43ek0yNDAuOCAzNDZsLTY3LjggMC0xOC43IDg4LjggNzAuMSAwYzU2LjEgMCA3MC4xLTI1LjcgNzAuMS00OS4xIC4xLTE2LjMtMTEuNi0zOS43LTUzLjctMzkuN3oiXX0sU2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0cmlwZS1zIixpY29uOlszODQsNTEyLFtdLCJmNDJhIiwiTTE1NS42IDE1NC42YzAtMjIuMyAxOC42LTMwLjkgNDguNC0zMC45IDQzLjQgMCA5OC41IDEzLjMgMTQxLjkgMzYuN2wwLTEzNC4zYy00Ny4zLTE4LjktOTQuNS0yNi4xLTE0MS44LTI2LjEtMTE1LjcgMC0xOTIuOCA2MC40LTE5Mi44IDE2MS40IDAgMTU3LjkgMjE2LjggMTMyLjMgMjE2LjggMjAwLjQgMCAyNi40LTIyLjkgMzQuOS01NC43IDM0LjktNDcuMiAwLTEwOC4yLTE5LjUtMTU2LjEtNDUuNWwwIDEyOC41YzQ5LjMgMjEuMyAxMDIuMyAzMi4zIDE1NiAzMi40IDExOC42IDAgMjAwLjMtNTEgMjAwLjMtMTUzLjYgMC0xNzAuMi0yMTgtMTM5LjctMjE4LTIwMy45eiJdfSxNdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWJlaGFuY2UiLGljb246WzQ0OCw1MTIsWyJiZWhhbmNlLXNxdWFyZSJdLCJmMWI1IiwiTTE1NS4zIDMxOC40YzE3LjIgMCAzMS4yLTYuMSAzMS4yLTI1LjQgMC0xOS43LTExLjctMjcuNC0zMC4zLTI3LjVsLTQ2IDAgMCA1Mi45IDQ1LjEgMHptLTUuNC0xMjkuNmwtMzkuNiAwIDAgNDQuOCA0Mi43IDBjMTUuMSAwIDI1LjgtNi42IDI1LjgtMjIuOSAwLTE3LjctMTMuNy0yMS45LTI4LjktMjEuOXptMTI5LjUgNzQuOGw2Mi4yIDBjLTEuNy0xOC41LTExLjMtMjkuNy0zMC41LTI5LjctMTguMyAwLTMwLjUgMTEuNC0zMS43IDI5Ljd6TTM4NCAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0ek0zNDkuNSAxODVsLTc3LjggMCAwLTE4LjkgNzcuOCAwIDAgMTguOXpNMTkzLjcgMjQzLjdjMjMuNiA2LjcgMzUgMjcuNSAzNSA1MS42IDAgMzktMzIuNyA1NS43LTY3LjYgNTUuOWwtOTMuMSAwIDAtMTkyIDkwLjUgMGMzMi45IDAgNjEuNCA5LjMgNjEuNCA0Ny41IDAgMTkuMy05IDI4LjgtMjYuMiAzN3ptMTE4LjctMzguNmM0My41IDAgNjcuNiAzNC4zIDY3LjYgNzUuNCAwIDEuNi0uMSAzLjMtLjIgNSAwIC44LS4xIDEuNS0uMSAyLjJsLTEwMC4yIDBjMCAyMi4yIDExLjcgMzUuMyAzNC4xIDM1LjMgMTEuNiAwIDI2LjUtNi4yIDMwLjItMTguMWwzMy43IDBjLTEwLjQgMzEuOS0zMS45IDQ2LjgtNjUuMSA0Ni44LTQzLjggMC03MS4xLTI5LjctNzEuMS03MyAwLTQxLjggMjguNy03My42IDcxLjEtNzMuNnoiXX0semd0PU11ZSxDZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2VydmljZXN0YWNrIixpY29uOls1MTIsNTEyLFtdLCJmM2VjIiwiTTk2IDIxNmM4MS43IDEwLjIgMjczLjcgMTAyLjMgMzA0IDIzMkw4IDQ0OGM5OS41LTguMSAxODQuNS0xMzcgODgtMjMyek0xMjggNjRjMzIuMyAzNS42IDQ3LjcgODMuOSA0Ni40IDEzMy42IDgyLjkgMzMuNyAyMDcuMyAxMjMuNyAyMzMuNiAyNTAuNGw5NiAwQzQ2My4zIDIzMS45IDIzMC44IDc5LjUgMTI4IDY0eiJdfSxfZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicm9ja2V0Y2hhdCIsaWNvbjpbNTc2LDUxMixbXSwiZjNlOCIsIk0yODQuNSAyMjQuOGMtNi43IDAtMTMuMyAyLjEtMTguOSA1LjhzLTkuOSA5LjEtMTIuNSAxNS40LTMuMiAxMy4xLTEuOSAxOS43IDQuNiAxMi43IDkuNCAxNy40IDEwLjkgOCAxNy41IDkuMyAxMy41IC42IDE5LjctMiAxMS41LTcgMTUuMy0xMi42IDUuNy0xMi4yIDUuNy0xOC45YzAtOS4xLTMuNy0xNy44LTEwLjEtMjQuMnMtMTUuMS0xMC0yNC4yLTkuOXptLTExMC40IDBjLTYuNyAwLTEzLjMgMi4xLTE4LjkgNS44cy05LjkgOS4xLTEyLjUgMTUuNC0zLjIgMTMuMS0xLjkgMTkuNyA0LjYgMTIuNyA5LjQgMTcuNCAxMC45IDggMTcuNSA5LjMgMTMuNSAuNiAxOS43LTIgMTEuNS03IDE1LjMtMTIuNiA1LjctMTIuMiA1LjctMTguOWMwLTkuMS0zLjctMTcuOC0xMC4xLTI0LjJzLTE1LjEtMTAtMjQuMi0xMGwwIDB6bTIyMC45IDBhMzQuMSAzNC4xIDAgMSAwIC40IDY4LjIgMzQuMSAzNC4xIDAgMSAwIC0uNC02OC4yem0xNTMuOC01NS4zYy0xNS41LTI0LjItMzcuMy00NS42LTY0LjctNjMuNi01Mi45LTM0LjgtMTIyLjQtNTQtMTk1LjctNTQtMjQuMiAwLTQ4LjMgMi4xLTcyIDYuNC0xNC45LTE0LjMtMzEuNS0yNi42LTQ5LjUtMzYuNi02Ni44LTMzLjMtMTI1LjYtMjAuOS0xNTUuMy0xMC4yLTIuMyAuOC00LjMgMi4xLTUuOSAzLjlzLTIuNyAzLjktMy4zIDYuMi0uNSA0LjcgLjEgNy4xIDEuOCA0LjQgMy41IDYuMUMyNyA1Ni41IDYxLjYgOTkuMyA1My4xIDEzOC4zIDIwIDE3Mi4yIDIgMjEzIDIgMjU1LjYgMiAyOTkgMjAgMzM5LjggNTMuMSAzNzMuNyA2MS42IDQxMi43IDI3IDQ1NS42IDYgNDc3LjIgNC4zIDQ3OSAzLjIgNDgxLjEgMi41IDQ4My40cy0uNyA0LjctLjEgNyAxLjcgNC41IDMuMyA2LjIgMy42IDMuMSA1LjkgMy45YzI5LjcgMTAuNyA4OC41IDIzLjEgMTU1LjMtMTAuMiAxOC0xMCAzNC43LTIyLjMgNDkuNS0zNi42IDIzLjggNC4zIDQ3LjkgNi40IDcyIDYuNCA3My4zIDAgMTQyLjgtMTkuMiAxOTUuNy01NCAyNy40LTE4IDQ5LjEtMzkuNCA2NC43LTYzLjYgMTcuMy0yNi45IDI2LjEtNTUuOSAyNi4xLTg2LjEgMC0zMS04LjgtNjAtMjYuMS04Ni45bDAgMHpNMjg1LjQgNDA5LjljLTMwLjIgLjEtNjAuMy0zLjgtODkuNC0xMS41bC0yMC4xIDE5LjRjLTExLjIgMTAuNy0yMy42IDIwLTM3LjEgMjcuNi0xNi40IDguMi0zNC4yIDEzLjMtNTIuNSAxNC45IDEtMS44IDEuOS0zLjYgMi44LTUuNCAyMC4yLTM3LjEgMjUuNi03MC41IDE2LjMtMTAwLjEtMzMtMjYtNTIuOC01OS4yLTUyLjgtOTUuNCAwLTgzLjEgMTA0LjMtMTUwLjUgMjMyLjgtMTUwLjVzMjMyLjkgNjcuNCAyMzIuOSAxNTAuNWMwIDgzLjEtMTA0LjMgMTUwLjUtMjMyLjkgMTUwLjV6Il19LFRndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWJlbCIsaWNvbjpbNTEyLDUxMixbXSwiZjFkMCIsIk0yNTYuOSA1MDRjLTEzOS4zIDAtMjQ3LjUtMTE2LjItMjQzLjMtMjU0LjEgMi44LTc5LjIgNDMuMi0xNTIuMiAxMTYuNS0yMDAuNCAuMyAwIDEuOS0uNiAxLjEgLjgtNS44IDUuNS0xMTEuMyAxMjkuOC0xNC4xIDIyNi40IDQ5LjggNDkuNSA5MCAyLjUgOTAgMi41IDM4LjUtNTAuMS0uNi0xMjUuOS0uNi0xMjUuOS0xMC0yNC45LTQ1LjctNDAuMS00NS43LTQwLjFsMjguOC0zMS44YzI0LjQgMTAuNSA0My4yIDM4LjcgNDMuMiAzOC43IC44LTI5LjYtMjEuOS02MS40LTIxLjktNjEuNEwyNTUuNSA4IDI5OS44IDU4LjFjLTIwLjUgMjguOC0yMS45IDYyLjYtMjEuOSA2Mi42IDEzLjgtMjMgNDMuNS0zOS4zIDQzLjUtMzkuM2wyOC41IDMxLjhjLTI3LjQgOC45LTQ1LjQgMzkuOS00NS40IDM5LjktMTUuOCAyOC41LTI3LjEgODkuNCAuNiAxMjcuMyAzMi40IDQ0LjYgODcuNy0yLjggODcuNy0yLjggMTAyLjctOTEuOS0xMC41LTIyNS0xMC41LTIyNS02LjEtNS41IC44LTIuOCAuOC0yLjggNTAuMSAzNi41IDExNC42IDg0LjQgMTE2LjIgMjA0LjggMiAxNDUuNi05OS45IDI0OS40LTI0Mi40IDI0OS40eiJdfSxMZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXdlYi1hd2Vzb21lIixpY29uOls0NDgsNTEyLFtdLCJlNjgzIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIzNSAxNzcuNmw1MyA0Ni40IDUyLjItMTAuNGMtMi42LTMuOS00LjItOC41LTQuMi0xMy42IDAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRjMCAxMy0xMC4zIDIzLjYtMjMuMiAyNEwzMDQuNSAzNDkuMWMtNS4yIDExLjUtMTYuNiAxOC45LTI5LjIgMTguOWwtMTAyLjYgMGMtMTIuNiAwLTI0LTcuNC0yOS4yLTE4LjlMODcuMiAyMjRjLTEyLjktLjQtMjMuMi0xMS0yMy4yLTI0IDAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRjMCA1LTEuNSA5LjctNC4yIDEzLjZMMTYwIDIyNCAyMTMuMSAxNzcuNmMtOC45LTQuMS0xNS0xMy4xLTE1LTIzLjYgMC0xNC40IDExLjYtMjYgMjYtMjZzMjYgMTEuNiAyNiAyNmMwIDEwLjUtNi4yIDE5LjUtMTUuMSAyMy42eiJdfSwkZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGlua3RyZWUiLGljb246WzQ0OCw1MTIsW10sImU3ZDgiLCJNMTYgMTczLjRsMTI1LjggMC04OS40LTg1LjQgNDkuNS01MSA4NS4yIDg3LjggMC0xMjQuOCA3My45IDAgMCAxMjQuOCA4NS4yLTg3LjYgNDkuNCA1MC44LTg5LjQgODUuMiAxMjUuNyAwIDAgNzAuNS0xMjYuNCAwIDkwIDg3LjYtNDkuMyA0OS44LTEyMi4yLTEyMy0xMjIuMiAxMjMtNDkuNS00OS42IDkwLTg3LjYtMTI2LjQgMCAwLTcwLjV6TTE4Ni45IDM0NC44bDczLjkgMCAwIDE2Ny4yLTczLjkgMCAwLTE2Ny4yeiJdfSxEZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2ltcGx5YnVpbHQiLGljb246WzUxMiw1MTIsW10sImYyMTUiLCJNNDgxLjYgNjRsLTEwNiAwQzM2MS4xIDY0IDM0OSA3NS44IDM0OSA5MC4zbDAgMzkuNi0xODUuMyAwIDAtMzkuNmMwLTE0LjUtMTItMjYuMy0yNi42LTI2LjNsLTEwNiAwQzE2LjUgNjQgNC43IDc1LjggNC43IDkwLjNsMCAzMzEuNGMwIDE0LjUgMTEuOCAyNi4zIDI2LjYgMjYuM2w0NTAuNCAwYzE0LjggMCAyNi42LTExLjggMjYuNi0yNi4zbDAtMzMxLjRjLS4yLTE0LjUtMTItMjYuMy0yNi43LTI2LjN6TTE1MC41IDIyMi43YTY2LjUgNjYuNSAwIDEgMSAtLjMgMTMzLjEgNjYuNSA2Ni41IDAgMSAxIC4zLTEzMy4xem0yMTEuOSAuMWE2Ni41IDY2LjUgMCAxIDEgLjMgMTMyLjkgNjYuNSA2Ni41IDAgMSAxIC0uMy0xMzIuOXoiXX0sQWd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0dWJiZXIiLGljb246WzQ0OCw1MTIsW10sImU1YzciLCJNMTM2LjUgMjk0LjJsNTguOCAyMi45YzkuMS0zNi44IDI1LjQtNjEuMSA1NS02MS4xIDQ5LjQgMCA3MS40IDYzLjYgMTQyLjQgNjMuNiAxNS42IDAgMzUuOS0yLjggNTUuMy0xMy4zbDAgNjEuN2MwIDYxLjgtNTAuNCAxMTItMTEyLjMgMTEyTDAgNDgwIDQxLjggNDI0IDAgMzY4IDQxLjcgMzEyIDAgMjU2LjEgNDEuOCAyMDAuMSAwIDE0NC4xIDQxLjggODggMCAzMiAzMzUuNyAzMkMzOTcuNiAzMiA0NDggODIuMyA0NDggMTQ0LjFsMCA1MS4zYy05LjIgMzYuMy0yNS45IDYwLjYtNTUgNjAuNi00OS42IDAtNzEuNi02My41LTE0Mi40LTYzLjUtMzUuOSAwLTk1LjIgMTQuNi0xMTQuMSAxMDEuNmwwIC4xeiJdfSxQZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXBwZXIiLGljb246WzY0MCw1MTIsW10sImYzNzEiLCJNNDIuMSAyMzkuMWMyMi4yIDAgMjkgMi44IDMzLjUgMTQuNmwuOCAwIDAtMjIuOWMwLTExLjMtNC44LTE1LjQtMTcuOS0xNS40LTExLjMgMC0xNC40IDIuNS0xNS4xIDEyLjhsLTM4LjYgMGMuMy0xMy45IDEuNS0xOS4xIDUuOC0yNC40IDcuMy04LjggMTguOS0xMS44IDQ2LjEtMTEuOCAzMyAwIDQ3LjEgNSA1My45IDE4LjkgMiA0LjMgNCAxNS42IDQgMjMuN2wwIDc2LjMtMzguMyAwIDEuMy0xOS4xLTEgMGMtNS4zIDE1LjYtMTMuNiAyMC40LTM1LjUgMjAuNC0zMC4zIDAtNDEuMS0xMC4xLTQxLjEtMzcuMyAwLTI1LjIgMTIuMy0zNS44IDQyLjEtMzUuOHptMTcuMSA0OC4xYzEzLjEgMCAxNi45LTMgMTYuOS0xMy40IDAtOS4xLTQuMy0xMS42LTE5LjYtMTEuNi0xMy4xIDAtMTcuOSAzLTE3LjkgMTIuMS0uMSAxMC40IDMuNyAxMi45IDIwLjYgMTIuOXpNMTM3IDE5Mi4zbDM4LjMgMC0xLjUgMjAuNiAuOCAwYzkuMS0xNy4xIDE1LjktMjAuOSAzNy41LTIwLjkgMTQuNCAwIDI0LjcgMyAzMS41IDkuMSA5LjggOC42IDEyLjggMjAuNCAxMi44IDQ4LjEgMCAzMC0zIDQzLjEtMTIuMSA1Mi45LTYuOCA3LjMtMTYuNCAxMC4xLTMzLjIgMTAuMS0yMC40IDAtMjkuMi01LjUtMzMuOC0yMS4ybC0uOCAwIDAgNzAuMy0zOS41IDAgMC0xNjl6TTIxNy45IDI1M2MwLTI3LjUtMy4zLTMyLjUtMjAuNy0zMi41LTE2LjkgMC0yMC43IDUtMjAuNyAyOC43IDAgMjggMy41IDMzLjUgMjEuMiAzMy41IDE2LjQgMCAyMC4yLTUuNiAyMC4yLTI5Ljd6bTU3LjktNjAuN2wzOC4zIDAtMS41IDIwLjYgLjggMGM5LjEtMTcuMSAxNS45LTIwLjkgMzcuNS0yMC45IDE0LjQgMCAyNC43IDMgMzEuNSA5LjEgOS44IDguNiAxMi44IDIwLjQgMTIuOCA0OC4xIDAgMzAtMyA0My4xLTEyLjEgNTIuOS02LjggNy4zLTE2LjQgMTAuMS0zMy4zIDEwLjEtMjAuNCAwLTI5LjItNS41LTMzLjgtMjEuMmwtLjggMCAwIDcwLjMtMzkuNSAwIDAtMTY5IC4xIDB6TTM1Ni43IDI1M2MwLTI3LjUtMy4zLTMyLjUtMjAuNy0zMi41LTE2LjkgMC0yMC43IDUtMjAuNyAyOC43IDAgMjggMy41IDMzLjUgMjEuMiAzMy41IDE2LjQgMCAyMC4yLTUuNiAyMC4yLTI5Ljd6bTUzLjgtMy44YzAtMjUuNCAzLjMtMzcuOCAxMi4zLTQ1LjggOC44LTguMSAyMi4yLTExLjMgNDUuMS0xMS4zIDQyLjggMCA1NS43IDEyLjggNTUuNyA1NS43bDAgMTEuMS03NS4zIDBjLS4zIDItLjMgNC0uMyA0LjggMCAxNi45IDQuNSAyMS45IDIwLjEgMjEuOSAxMy45IDAgMTcuOS0zIDE3LjktMTMuOWwzNy41IDAgMCAyLjNjMCA5LjgtMi41IDE4LjktNi44IDI0LjctNy4zIDkuOC0xOS42IDEzLjYtNDQuMyAxMy42LTI3LjUgMC00MS42LTMuMy01MC42LTEyLjMtOC41LTguNS0xMS4zLTIxLjMtMTEuMy01MC44em03Ni40LTExLjZjLS4zLTEuOC0uMy0zLjMtLjMtMy44IDAtMTIuMy0zLjMtMTQuNi0xOS42LTE0LjYtMTQuNCAwLTE3LjEgMy0xOC4xIDE1LjFsLS4zIDMuMyAzOC4zIDB6bTU1LjYtNDUuM2wzOC4zIDAtMS44IDE5LjkgLjcgMGM2LjgtMTQuOSAxNC40LTIwLjIgMjkuNy0yMC4yIDEwLjggMCAxOS4xIDMuMyAyMy40IDkuMyA1LjMgNy4zIDYuOCAxNC40IDYuOCAzNCAwIDEuNSAwIDUgLjIgOS4zbC0zNSAwYy4zLTEuOCAuMy0zLjMgLjMtNCAwLTE1LjQtMi0xOS40LTEwLjMtMTkuNC02LjMgMC0xMC44IDMuMy0xMy4xIDkuMy0xIDMtMSA0LjMtMSAxMi4zbDAgNjgtMzguMyAwIDAtMTE4LjUgLjEgMHoiXX0sRWd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZS1zY2hvbGFyIixpY29uOls1MTIsNTEyLFtdLCJlNjNiIiwiTTM5MC45IDI5OC41czAgLjEgLjEgLjFjOS4yIDE5LjQgMTQuNCA0MS4xIDE0LjQgNjQtLjEgODIuNS02Ni45IDE0OS40LTE0OS40IDE0OS40UzEwNi43IDQ0NS4xIDEwNi43IDM2Mi43YzAtMjIuOSA1LjItNDQuNiAxNC40LTY0IDEuNy0zLjYgMy42LTcuMiA1LjYtMTAuNyA0LjQtNy42IDkuNC0xNC43IDE1LTIxLjMgMjcuNC0zMi42IDY4LjUtNTMuMyAxMTQuNC01My4zIDMzLjYgMCA2NC42IDExLjEgODkuNiAyOS45IDkuMSA2LjkgMTcuNCAxNC43IDI0LjggMjMuNSA1LjYgNi42IDEwLjYgMTMuOCAxNSAyMS4zIDIgMy40IDMuOCA3IDUuNSAxMC41bC0uMS0uMXptMjYuNC0xOC44Yy0zMC4xLTU4LjQtOTEtOTguNC0xNjEuMy05OC40cy0xMzEuMiA0MC0xNjEuMyA5OC40bC05NC43LTc3IDI1Ni0yMDIuNyAyNTYgMjAyLjctOTQuNyA3Ny4xIDAtLjF6Il19LElndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ5YXJuIixpY29uOls1MTIsNTEyLFtdLCJmN2UzIiwiTTQwMS45IDM0NS4yYy0zOSA5LjMtNDguNCAzMi4xLTEwNCA0Ny40IDAgMC0yLjcgNC0xMC40IDUuOC0xMy40IDMuMy02My45IDYtNjguNSA2LjEtMTIuNCAuMS0xOS45LTMuMi0yMi04LjItNi40LTE1LjMgOS4yLTIyIDkuMi0yMi04LjEtNS05LTkuOS05LjgtOC4xLTIuNCA1LjgtMy42IDIwLjEtMTAuMSAyNi41LTguOCA4LjktMjUuNSA1LjktMzUuMyAuOC0xMC44LTUuNyAuOC0xOS4yIC44LTE5LjJzLTUuOCAzLjQtMTAuNS0zLjZjLTYtOS4zLTE3LjEtMzcuMyAxMS41LTYyLTEuMy0xMC4xLTQuNi01My43IDQwLjYtODUuNiAwIDAtMjAuNi0yMi44LTEyLjktNDMuMyA1LTEzLjQgNy0xMy4zIDguNi0xMy45IDUuNy0yLjIgMTEuMy00LjYgMTUuNC05LjEgMjAuNi0yMi4yIDQ2LjgtMTggNDYuOC0xOHMxMi40LTM3LjggMjMuOS0zMC40YzMuNSAyLjMgMTYuMyAzMC42IDE2LjMgMzAuNnMxMy42LTcuOSAxNS4xLTVjOC4yIDE2IDkuMiA0Ni41IDUuNiA2NS4xLTYuMSAzMC42LTIxLjQgNDcuMS0yNy42IDU3LjUtMS40IDIuNCAxNi41IDEwIDI3LjggNDEuMyAxMC40IDI4LjYgMS4xIDUyLjcgMi44IDU1LjMgLjggMS40IDEzLjcgLjggMzYuNC0xMy4yIDEyLjgtNy45IDI4LjEtMTYuOSA0NS40LTE3IDE2LjctLjUgMTcuNiAxOS4yIDQuOSAyMi4yek04IDI1NmEyNDggMjQ4IDAgMSAxIDQ5NiAwIDI0OCAyNDggMCAxIDEgLTQ5NiAwem00MTYuNyA3NS4yYy0xLjctMTMuNi0xMy4yLTIzLTI4LTIyLjgtMjIgLjMtNDAuNSAxMS43LTUyLjggMTkuMi00LjggMy04LjkgNS4yLTEyLjQgNi44IDMuMS00NC41LTIyLjUtNzMuMS0yOC43LTc5LjQgNy44LTExLjMgMTguNC0yNy44IDIzLjQtNTMuMiA0LjMtMjEuNyAzLTU1LjUtNi45LTc0LjUtMS42LTMuMS03LjQtMTEuMi0yMS03LjQtOS43LTIwLTEzLTIyLjEtMTUuNi0yMy44LTEuMS0uNy0yMy42LTE2LjQtNDEuNCAyOC0xMi4yIC45LTMxLjMgNS4zLTQ3LjUgMjIuOC0yIDIuMi01LjkgMy44LTEwLjEgNS40bC4xIDBjLTguNCAzLTEyLjMgOS45LTE2LjkgMjIuMy02LjUgMTcuNCAuMiAzNC42IDYuOCA0NS43LTE3LjggMTUuOS0zNyAzOS44LTM1LjcgODIuNS0zNCAzNi0xMS44IDczLTUuNiA3OS42LTEuNiAxMS4xIDMuNyAxOS40IDEyIDIzLjggMTIuNiA2LjcgMzAuMyA5LjYgNDMuOSAyLjggNC45IDUuMiAxMy44IDEwLjEgMzAgMTAuMSA2LjggMCA1OC0yLjkgNzIuNi02LjUgNi44LTEuNiAxMS41LTQuNSAxNC42LTcuMSA5LjgtMy4xIDM2LjgtMTIuMyA2Mi4yLTI4LjcgMTgtMTEuNyAyNC4yLTE0LjIgMzcuNi0xNy40IDEyLjktMy4yIDIxLTE1LjEgMTkuNC0yOC4yeiJdfSxOZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RhY2stb3ZlcmZsb3ciLGljb246WzM4NCw1MTIsW10sImYxNmMiLCJNMjkxIDMxMWwtMTk1LjctNDEuMy04LjIgMzkuMyAxOTUuNyA0MSA4LjItMzl6bTUxLTg3TDE4OC41IDk1LjcgMTYzIDEyNi41IDMxNi41IDI1NC44IDM0MiAyMjR6bS0zMS4yIDM5LjdMMTI5LjUgMTc5IDExMi44IDIxNS41IDI5NCAzMDAgMzEwLjggMjYzLjd6TTI2Mi4zIDMybC0zMiAyNCAxMTkuMyAxNjAuMyAzMi0yNC0xMTkuMy0xNjAuM3ptMjAuNSAzMjhsLTIwMCAwIDAgMzkuNyAyMDAgMCAwLTM5Ljd6bTM5LjcgODBsLTI3OS41IDAgMC0xMjAtNDAgMCAwIDE2MCAzNTkuNSAwIDAtMTYwLTQwIDAgMCAxMjB6Il19LFJndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJibHVldG9vdGgiLGljb246WzM4NCw1MTIsW10sImYyOTMiLCJNMjYwLjYgMTcxLjFsLTQyLjkgNDIuOS0uMy04NiA0My4yIDQzLjF6TTIxNy40IDM5MC45bDQzLjEtNDMuMS00Mi45LTQyLjktLjIgODZ6TTM4NCAyNTkuNEMzODQgNDY1IDMxMi4xIDUxMiAxOTguOSA1MTJTMCA0NjUgMCAyNTkuNCA4My40IDAgMTk2LjYgMCAzODQgNTMuOSAzODQgMjU5LjR6bS0xNTguNSAwbDc5LjQtODguNi0xMjUuMS0xMzQuMyAwIDE3Ni45LTczLjgtNzMuOC0yNyAyNi45IDkyLjcgOTMtOTIuNyA5MyAyNi45IDI2LjkgNzMuOC03My44IDIuMyAxNzAgMTI3LjQtMTI3LjUtODMuOS04OC43eiJdfSxPZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1uYy1qcCIsaWNvbjpbNTEyLDUxMixbXSwiZjRlYSIsIk0yNTUuNyA4QzExMS42IDggOCAxMjQuOCA4IDI1NiA4IDM5Mi40IDExOS44IDUwNCAyNTUuNyA1MDQgMzg1LjkgNTA0IDUwNCA0MDMuMiA1MDQgMjU2IDUwNCAxMTcuMiAzOTYuNSA4IDI1NS43IDh6bS42IDQ1MC43Yy0xMTIgMC0yMDMuNi05Mi41LTIwMy42LTIwMi43IDAtMjEuMSAzLTQxLjIgOS02MC4zbDEyNyA1Ni41LTI3LjkgMCAwIDM4LjYgNTguMSAwIDUuNyAxMS44IDAgMTguNy02My44IDAgMCAzOC43IDYzLjggMCAwIDU2IDYxLjcgMCAwLTU2IDY0LjIgMCAwLTM1LjcgODEgMzYuMWMtMS41IDIuMi01Ny4xIDk4LjMtMTc1LjIgOTguM3ptODcuNi0xMzcuM2wtNTcuNiAwIDAtMTguNyAyLjktNS42IDU0LjcgMjQuM3ptNi41LTUxLjRsMC0xNy44LTM4LjYgMCA2My0xMTYtNjUuOCAwLTQzLjQgOTYtMjMtMTAuMi0zOS42LTg1LjctNjUuOCAwIDI3LjMgNTEtODEuOS0zNi41YzI3LjgtNDQuMSA4Mi42LTk4LjEgMTczLjctOTguMSAxMTIuOCAwIDIwMyA5MCAyMDMgMjAzLjQgMCAyMS0yLjcgNDAuNi03LjkgNTlMMzUwLjQgMjcweiJdfSxGZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVkZGl0IixpY29uOls1MTIsNTEyLFtdLCJmMWExIiwiTTAgMjU2QzAgMTE0LjYgMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NiAzOTcuNCA1MTIgMjU2IDUxMkwzNy4xIDUxMmMtMTMuNyAwLTIwLjUtMTYuNS0xMC45LTI2LjJMNzUgNDM3QzI4LjcgMzkwLjcgMCAzMjYuNyAwIDI1NnpNMzQ5LjYgMTUzLjZjMjMuNiAwIDQyLjctMTkuMSA0Mi43LTQyLjdzLTE5LjEtNDIuNy00Mi43LTQyLjdjLTIwLjYgMC0zNy44IDE0LjYtNDEuOCAzNC0zNC41IDMuNy02MS40IDMzLTYxLjQgNjguNGwwIC4yYy0zNy41IDEuNi03MS44IDEyLjMtOTkgMjkuMS0xMC4xLTcuOC0yMi44LTEyLjUtMzYuNS0xMi41LTMzIDAtNTkuOCAyNi44LTU5LjggNTkuOCAwIDI0IDE0LjEgNDQuNiAzNC40IDU0LjEgMiA2OS40IDc3LjYgMTI1LjIgMTcwLjYgMTI1LjJzMTY4LjctNTUuOSAxNzAuNi0xMjUuM2MyMC4yLTkuNiAzNC4xLTMwLjIgMzQuMS01NCAwLTMzLTI2LjgtNTkuOC01OS44LTU5LjgtMTMuNyAwLTI2LjMgNC42LTM2LjQgMTIuNC0yNy40LTE3LTYyLjEtMjcuNy0xMDAtMjkuMWwwLS4yYzAtMjUuNCAxOC45LTQ2LjUgNDMuNC00OS45IDQuNCAxOC44IDIxLjMgMzIuOCA0MS41IDMyLjhsLjEgLjJ6TTE3Ny4xIDI0Ni45YzE2LjcgMCAyOS41IDE3LjYgMjguNSAzOS4zcy0xMy41IDI5LjYtMzAuMyAyOS42LTMxLjQtOC44LTMwLjQtMzAuNSAxNS40LTM4LjMgMzIuMS0zOC4zbC4xLS4xem0xOTAuMSAzOC4zYzEgMjEuNy0xMy43IDMwLjUtMzAuNCAzMC41cy0yOS4zLTcuOS0zMC4zLTI5LjYgMTEuOC0zOS4zIDI4LjUtMzkuMyAzMS4yIDE2LjYgMzIuMSAzOC4zbC4xIC4xem0tNDguMSA1Ni43Yy0xMC4zIDI0LjYtMzQuNiA0MS45LTYzIDQxLjlzLTUyLjctMTcuMy02My00MS45Yy0xLjItMi45IC44LTYuMiAzLjktNi41IDE4LjQtMS45IDM4LjMtMi45IDU5LjEtMi45czQwLjcgMSA1OS4xIDIuOWMzLjEgLjMgNS4xIDMuNiAzLjkgNi41eiJdfSxCZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY29ubmVjdGRldmVsb3AiLGljb246WzU3Niw1MTIsW10sImYyMGUiLCJNNTUwLjggMjQxbC01MC4xLTg2LjhjMS4xLTIuMSAxLjktNC42IDEuOS03LjIgMC04LTYuNy0xNC43LTE0LjctMTVMNDMyLjQgMzYuMWMuNS0xLjYgMS4xLTMuMiAxLjEtNC44IDAtOC42LTctMTUuMy0xNS4zLTE1LjMtNC44IDAtOC44IDIuMS0xMS44IDUuNmwtMTA2LjYgMGMtMi43LTMuNS02LjctNS42LTExLjUtNS42cy04LjggMi4xLTExLjUgNS42bC0xMDYuMSAwYy0yLjktMy41LTctNS42LTExLjgtNS42LTguMyAwLTE1LjMgNi43LTE1LjMgMTUuMyAwIDEuNiAuNSAzLjUgMS4xIDQuOGwtNTYgOTcuMmMtNS40IDIuNC05LjEgNy41LTkuMSAxMy43IDAgLjUgLjMgMS4xIC4zIDEuNkwyNi42IDI0MC43Yy03LjIgMS4zLTEyLjYgNy41LTEyLjYgMTUgMCA3LjIgNS4xIDEzLjQgMTIuMSAxNWw1NS4yIDk1LjRjLS41IDEuNi0uOCAyLjktLjggNC44IDAgNy4yIDUuMSAxMy40IDEyLjEgMTQuN2w1MS43IDg5LjdjLS41IDEuNi0xLjEgMy41LTEuMSA1LjQgMCA4LjYgNyAxNS4zIDE1LjMgMTUuMyA0LjggMCA4LjgtMi4xIDExLjUtNS40bDEwNi45IDBjMi43IDMuMiA3IDUuNCAxMS41IDUuNHM4LjgtMi4xIDExLjUtNS40bDEwNy4xIDBjMi43IDIuOSA2LjcgNC44IDExIDQuOCA4LjYgMCAxNS4zLTcgMTUuMy0xNS4zIDAtMS42LS4zLTIuOS0uOC00LjNsNTEuNy05MC4zYzctMS4zIDEyLjEtNy41IDEyLjEtMTQuNyAwLTEuNi0uMy0zLjItLjgtNC44bDU0LjktOTUuNGM3LTEuMyAxMi4zLTcuNSAxMi4zLTE1IDAtNy4yLTUuMS0xMy40LTExLjgtMTQuN3ptLTM5NyAyMDkuN2wtNDMuNy03NS44IDQzLjcgMCAwIDc1Ljh6bTAtODMuOGwtNDMuNyAwYy0uMy0xLjEtLjgtMi4xLTEuMy0zLjJsNDUtNDcuNCAwIDUwLjZ6bTAtNjIuNGwtNTAuNCA1My4zYy0xLjMtLjUtMi43LTEuMy00LTEuNkw0My43IDI1OS44Yy41LTEuMyAuNS0yLjcgLjUtNHMwLTIuNC0uMy0zLjVsNTItOTBjMi43LS4zIDUuNC0xLjEgNy44LTIuN2w1MC4xIDUyIDAgOTIuOXptMC0xMDIuM0wxMDggMTU0LjhjMS4zLTIuMSAyLjEtNC44IDIuMS03LjggMC0uMy0uMy0uOC0uMy0xLjFsNDMuOS0xNS44IDAgNzIuMXptMC04MC42bC00My43IDE1LjggNDMuNy03NS41IDAgNTkuN3ptMzI2LjUgMzkuMWwuOCAxLjMtMzUuNCAxNjcuMS02My44LTY3LjIgOTgtMTAxLjUgLjMgLjN6TTI5Mi4xIDM1NS4xbDExLjUgMTEuOC0yMi44IDAgMTEuMy0xMS44em0tLjMtMTEuM2wtODMuMy04NS40IDc5LjYtODQuNCA4MyA4Ny42LTc5LjMgODIuMnptNS40IDUuOWw3OS4zLTgyLjIgNjcuNSA3MS4zLTUuOSAyOC4xLTEyNCAwLTE2LjktMTcuMXpNNDEwLjcgNDQuNGMxLjEgLjUgMi4xIDEuMSAzLjUgMS4zbDU3LjkgMTAwLjcgMCAuNWMwIDIuOSAuOCA1LjYgMi4xIDcuOGwtOTcuNSAxMDEuMi04My04Ny42IDExNy4xLTEyNHptLTkuMS0yLjFsLTExMy42IDEyMC4zLTU3LjEtNjAuMyAxNjYuMy02MCA0LjMgMHptLTEyMy41IDBjMi43IDIuNyA2LjIgNC4zIDEwLjIgNC4zczcuNS0xLjYgMTAuMi00LjNsNzUgMC0xNDguNCA1My42LTUwLjktNTMuNiAxMDMuOSAwek0xNjEuOSA0Ny45bDEuMS0yLjFjLjktLjIgMS44LS41IDIuNy0uOGw1MS4yIDUzLjgtNTQuOSAxOS44IDAtNzAuN3ptMCA3OS4zbDYwLjgtMjIgNTkuNyA2My4yLTc5LjYgODQuMS00MS00Mi4xIDAtODMuM3ptMCA5Mi43bDM2LjQgMzcuOC0zNi40IDM4LjMgMC03Ni4xem0wIDg3LjlsNDIuMS00NC41IDgyLjggODYtMTcuMSAxNy43LTEwNy43IDAgMC01OS4yem03IDE2Mi4xYy0xLjYtMS42LTMuNS0yLjctNS45LTMuNWwtMS4xLTEuNiAwLTg5LjcgOTkuOSAwLTkxLjYgOTQuOC0xLjMgMHptMTI5LjkgMGMtMi43LTIuNC02LjQtNC4zLTEwLjQtNC4zcy03LjggMS45LTEwLjQgNC4zbC05Ni40IDAgOTEuNi05NC44IDM4LjMgMCA5MS42IDk0LjgtMTA0LjIgMHptMTIwLTExLjhsLTQuMyA3LjVjLTEuMyAuMy0yLjQgLjgtMy41IDEuM2wtODkuMi05MS45IDExNC40IDAtMTcuNCA4M3ptMTIuOS0yMi4ybDEyLjktNjAuOCAyMiAwLTM0LjggNjAuOHptMzQuOC02OC44bC0yMC40IDAgNC42LTIxLjIgMTcuMSAxOC4yYy0uNSAuOC0xLjEgMS45LTEuMyAyLjl6bTY2LjItMTA3LjRsLTU1LjQgOTYuN2MtMS4zIC41LTIuNyAxLjEtNCAxLjlsLTIwLjYtMjIgMzQuNi0xNjMuOSA0NS44IDc5LjNjLS4zIDEuMy0uOCAyLjctLjggNC4zIDAgMS4zIC4zIDIuNCAuNSAzLjd6Il19LEhndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZXNlYXJjaGdhdGUiLGljb246WzQ0OCw1MTIsW10sImY0ZjgiLCJNMCAzMmwwIDQ0OCA0NDggMCAwLTQ0OC00NDggMHpNMjYyLjIgMzY2LjRjLTYuNiAzLTMzLjIgNi01MC0xNC4yLTkuMi0xMC42LTI1LjMtMzMuMy00Mi4yLTYzLjYtOC45IDAtMTQuNyAwLTIxLjQtLjZsMCA0Ni40YzAgMjMuNSA2IDIxLjIgMjUuOCAyMy45bDAgOC4xYy02LjktLjMtMjMuMS0uOC0zNS42LS44LTEzLjEgMC0yNi4xIC42LTMzLjYgLjhsMC04LjFjMTUuNS0yLjkgMjItMS4zIDIyLTIzLjlsMC0xMDkuNGMwLTIyLjYtNi40LTIxLTIyLTIzLjlsMC04LjFjMjUuOCAxIDUzLjEtLjYgNzAuOS0uNiAzMS43IDAgNTUuOSAxNC40IDU1LjkgNDUuNiAwIDIxLjEtMTYuNyA0Mi4yLTM5LjIgNDcuNSAxMy42IDI0LjIgMzAgNDUuNiA0Mi4yIDU4LjkgNy4yIDcuOCAxNy4yIDE0LjcgMjcuMiAxNC43bDAgNy4zem0yMi45LTEzNWMtMjMuMyAwLTMyLjItMTUuNy0zMi4yLTMyLjJsMC0zMi4yYzAtMTIuMiA4LjgtMzAuNCAzNC0zMC40czMwLjQgMTcuOSAzMC40IDE3LjlsLTEwLjcgNy4ycy01LjUtMTIuNS0xOS43LTEyLjVjLTcuOSAwLTE5LjcgNy4zLTE5LjcgMTkuN2wwIDI2LjhjMCAxMy40IDYuNiAyMy4zIDE3LjkgMjMuMyAxNC4xIDAgMjEuNS0xMC45IDIxLjUtMjYuOGwtMTcuOSAwIDAtMTAuNyAzMC40IDBjMCAyMC41IDQuNyA0OS45LTM0IDQ5Ljl6TTE2OC42IDI3Ni4xYy05LjQgMC0xMy42LS4zLTIwLS44bDAtNjkuN2M2LjQtLjYgMTUtLjYgMjIuNS0uNiAyMy4zIDAgMzcuMiAxMi4yIDM3LjIgMzQuNSAwIDIxLjktMTUgMzYuNi0zOS43IDM2LjZ6Il19LHFndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaWduYWwtbWVzc2VuZ2VyIixpY29uOls1MTIsNTEyLFtdLCJlNjYzIiwiTTI1NiAwYy0xMy4zIDAtMjYuMyAxLTM5LjEgM2wzLjcgMjMuN0MyMzIuMSAyNC45IDI0NCAyNCAyNTYgMjRzMjMuOSAuOSAzNS40IDIuN0wyOTUuMSAzQzI4Mi4zIDEgMjY5LjMgMCAyNTYgMHptNjAuOCA3LjNsLTUuNyAyMy4zYzIzLjQgNS43IDQ1LjQgMTQuOSA2NS40IDI3LjFsMTIuNS0yMC41Yy0yMi4xLTEzLjQtNDYuNC0yMy42LTcyLjItMjkuOXptNzYuNCA2MS42YzE5LjEgMTQgMzYgMzAuOSA1MC4xIDUwLjFsMTkuNC0xNC4yQzQ0NyA4My42IDQyOC40IDY1IDQwNy4zIDQ5LjVMMzkzLjEgNjguOHptODEuNyA1NC4ybC0yMC41IDEyLjVjMTIuMiAyMCAyMS40IDQyIDI3LjEgNjUuNGwyMy4zLTUuN2MtNi4zLTI1LjgtMTYuNS01MC4xLTI5LjktNzIuMnptMTAuNSA5Ny41YzEuOCAxMS41IDIuNyAyMy40IDIuNyAzNS40cy0uOSAyMy45LTIuNyAzNS40bDIzLjcgMy43YzEuOS0xMi43IDMtMjUuOCAzLTM5LjFzLTEtMjYuMy0zLTM5LjFsLTIzLjcgMy43em0tMzEgMTU1LjlsMjAuNSAxMi41YzEzLjQtMjIuMSAyMy42LTQ2LjQgMjkuOS03Mi4ybC0yMy4zLTUuN2MtNS43IDIzLjQtMTQuOSA0NS40LTI3LjEgNjUuNHptOC4yIDMwLjhsLTE5LjQtMTQuMmMtMTQgMTkuMS0zMC45IDM2LTUwLjEgNTAuMWwxNC4yIDE5LjRjMjEuMS0xNS41IDM5LjgtMzQuMSA1NS4yLTU1LjJ6bS04Ni4xIDQ3Yy0yMCAxMi4yLTQyIDIxLjQtNjUuNCAyNy4xbDUuNyAyMy4zYzI1LjgtNi4zIDUwLjEtMTYuNSA3Mi4yLTI5LjlsLTEyLjUtMjAuNXpNMjk1LjEgNTA5bC0zLjctMjMuN0MyNzkuOSA0ODcuMSAyNjggNDg4IDI1NiA0ODhzLTIzLjktLjktMzUuNC0yLjdMMjE2LjkgNTA5YzEyLjcgMS45IDI1LjggMyAzOS4xIDNzMjYuMy0xIDM5LjEtM3ptLTk0LjEtMjcuNmMtMTcuNi00LjMtMzQuNC0xMC42LTUwLjEtMTguNmwtNy44LTQtMzIuOCA3LjcgNS41IDIzLjQgMjQuMy01LjdjMTcuNCA4LjkgMzUuOSAxNS44IDU1LjMgMjAuNWw1LjctMjMuM3pNOTUuNCA0OTQuNkw5MCA0NzEuMyA0OC4zIDQ4MWMtMTAuNCAyLjQtMTkuNy02LjktMTcuMy0xNy4zbDkuNy00MS42LTIzLjQtNS41LTkuNyA0MS42QzEuMiA0ODYgMjYgNTEwLjggNTMuOCA1MDQuNGw0MS42LTkuN3ptLTUwLTkyLjlsNy43LTMyLjgtNC03LjhjLTgtMTUuNy0xNC4zLTMyLjUtMTguNi01MC4xTDcuMyAzMTYuN0MxMiAzMzYuMSAxOC45IDM1NC43IDI3LjcgMzcybC01LjcgMjQuMyAyMy40IDUuNXpNMyAyOTUuMWwyMy43LTMuN0MyNC45IDI3OS45IDI0IDI2OCAyNCAyNTZzLjktMjMuOSAyLjctMzUuNEwzIDIxNi45QzEgMjI5LjcgMCAyNDIuNyAwIDI1NnMxIDI2LjMgMyAzOS4xem0yNy42LTk0LjFjNS43LTIzLjQgMTQuOS00NS40IDI3LjEtNjUuNEwzNy4yIDEyMy4xYy0xMy40IDIyLjEtMjMuNiA0Ni40LTI5LjkgNzIuMmwyMy4zIDUuN3ptMTguOS05Ni4ybDE5LjQgMTQuMmMxNC0xOS4xIDMwLjktMzYgNTAuMS01MC4xTDEwNC43IDQ5LjVDODMuNiA2NSA2NSA4My42IDQ5LjUgMTA0Ljd6bTg2LjEtNDdjMjAtMTIuMiA0Mi0yMS40IDY1LjQtMjcuMUwxOTUuMiA3LjNjLTI1LjggNi4zLTUwLjEgMTYuNS03Mi4yIDI5LjlsMTIuNSAyMC41ek0yNTYgNDY0YzExNC45IDAgMjA4LTkzLjEgMjA4LTIwOFMzNzAuOSA0OCAyNTYgNDggNDggMTQxLjEgNDggMjU2YzAgMzYuNCA5LjQgNzAuNyAyNS44IDEwMC41IDEuNiAyLjkgMi4xIDYuMiAxLjQgOS40bC0yMS42IDkyLjUgOTIuNS0yMS42YzMuMi0uNyA2LjUtLjIgOS40IDEuNCAyOS44IDE2LjUgNjQgMjUuOCAxMDAuNSAyNS44eiJdfSxWZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieGluZyIsaWNvbjpbMzg0LDUxMixbXSwiZjE2OCIsIk0xNjIuNyAyMTBjLTEuOCAzLjMtMjUuMiA0NC40LTcwLjEgMTIzLjUtNC45IDguMy0xMC44IDEyLjUtMTcuNyAxMi41TDkuOCAzNDZjLTcuNyAwLTEyLjEtNy41LTguNS0xNC40bDY5LTEyMS4zYy4yIDAgLjItLjEgMC0uM0wyNi40IDEzNC40Yy00LjMtNy44IC4zLTE0LjEgOC41LTE0LjFsNjUuMSAwYzcuMyAwIDEzLjMgNC4xIDE4IDEyLjJMMTYyLjcgMjEwek0zODIuNiA0Ni4xbC0xNDQgMjUzIDAgLjMgOTEuNiAxNjYuNmMzLjkgNy4xIC4yIDE0LjEtOC41IDE0LjFsLTY1LjIgMGMtNy42IDAtMTMuNi00LTE4LTEyLjJMMTQ2LjEgMjk5LjRjMy4zLTUuOCA1MS41LTkwLjggMTQ0LjgtMjU1LjIgNC42LTguMSAxMC40LTEyLjIgMTcuNS0xMi4ybDY1LjcgMGM4IDAgMTIuMyA2LjcgOC41IDE0LjF6Il19LGt1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtanMiLGljb246WzQ0OCw1MTIsWyJqcy1zcXVhcmUiXSwiZjNiOSIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMTgwLjkgNDQ0LjljLTMzLjcgMC01My4yLTE3LjQtNjMuMi0zOC41TDE1MiAzODUuN2M2LjYgMTEuNyAxMi42IDIxLjYgMjcuMSAyMS42IDEzLjggMCAyMi42LTUuNCAyMi42LTI2LjVsMC0xNDMuMSA0Mi4xIDAgMCAxNDMuN2MwIDQzLjYtMjUuNiA2My41LTYyLjkgNjMuNXptODUuOC00M0wzMDEgMzgyLjFjOSAxNC43IDIwLjggMjUuNiA0MS41IDI1LjYgMTcuNCAwIDI4LjYtOC43IDI4LjYtMjAuOCAwLTE0LjQtMTEuNC0xOS41LTMwLjctMjhsLTEwLjUtNC41Yy0zMC40LTEyLjktNTAuNS0yOS4yLTUwLjUtNjMuNSAwLTMxLjYgMjQuMS01NS42IDYxLjYtNTUuNiAyNi44IDAgNDYgOS4zIDU5LjggMzMuN0wzNjggMjkwYy03LjItMTIuOS0xNS0xOC0yNy4xLTE4LTEyLjMgMC0yMC4xIDcuOC0yMC4xIDE4IDAgMTIuNiA3LjggMTcuNyAyNS45IDI1LjZsMTAuNSA0LjVjMzUuOCAxNS4zIDU1LjkgMzEgNTUuOSA2Ni4yIDAgMzcuOC0yOS44IDU4LjYtNjkuNyA1OC42LTM5LjEgMC02NC40LTE4LjYtNzYuNy00M3oiXX0samd0PWt1ZSxVZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9udGljb25zIixpY29uOls0NDgsNTEyLFtdLCJmMjgwIiwiTTAgMzJsMCA0NDggNDQ4IDAgMC00NDgtNDQ4IDB6TTE4NyAxNzIuOWMtMTguNCAwLTE5IDkuOS0xOSAyNy40bDAgMjMuM2MwIDIuNC0zLjUgNC40LS42IDQuNGw2Ny40IDAtMTEuMSAzNy4zLTU1LjcgMCAwIDExMi45YzAgNS44LTIgNi43IDMuMiA3LjNsNDMuNSA0LjEgMCAyNS4xLTEzMC43IDAgMC0yNS43IDIxLjMtMmM1LjItLjYgNi43LTIuMyA2LjctNy45bDAtMTExLjRjMC0yLjMtMi45LTIuMy01LjgtMi4zbC0yMi4yIDAgMC0zNy40IDI4IDAgMC0yMWMwLTQ5LjYgMjYuNS03MCA3Ny4zLTcwIDM0LjEgMCA2NC43IDguMiA2NC43IDUyLjhsLTUwLjcgNi4xYy4zLTE4LjctNC40LTIzLTE2LjMtMjN6bTc0LjMgMjQxLjhsMC0yNS4xIDIwLjQtMi42YzUuMi0uNiA3LjYtMS43IDcuNi03LjNsMC0xMDcuOWMwLTQuMS0yLjktNi43LTYuNy03LjlsLTI0LjItNi40IDYuNy0yOS41IDgwLjIgMCAwIDE1MS43YzAgNS44LTIuNiA2LjQgMi45IDcuM2wxNS43IDIuNiAwIDI1LjEtMTAyLjYgMHptODAuOC0yNTUuNWw5IDMzLjItNy4zIDcuMy0zMS4yLTE2LjYtMzEuMiAxNi42LTcuMy03LjMgOS0zMy4yLTIxLjgtMjQuMiAzLjUtOS42IDI3LjcgMCAxNS41LTI4IDkuMyAwIDE1LjUgMjggMjcuNyAwIDMuNSA5LjYtMjEuOSAyNC4yeiJdfSxXZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidXBzIixpY29uOlszODQsNTEyLFtdLCJmN2UwIiwiTTEwMy4yIDMwM2MtNS4yIDMuNi0zMi42IDEzLjEtMzIuNi0xOWwwLTEwNC0zMi43IDAgMCAxMDIuNmMwIDc0LjkgODAuMiA1MS4xIDk3LjkgMzlsMC0xNDEuNi0zMi42IDAgMCAxMjN6TTQgNzQuOEw0IDI5NS43YzAgMTAzLjcgNzQuOSAxMzUuMiAxODcuNyAxODQuMSAxMTIuNC00OC45IDE4Ny43LTgwLjIgMTg3LjctMTg0LjFsMC0yMjAuOUMyNjMuMSAxMy4yIDk3LjYgMjUuMiA0IDc0Ljh6TTM2Mi4xIDI5NS43YzAgODYuNi01My4yIDExMy42LTE3MC40IDE2NS4zLTExNy41LTUxLjgtMTcwLjUtNzguNy0xNzAuNS0xNjUuM2wwLTEyNi40YzEwMi4zLTkzLjggMjMxLjYtMTAwIDM0MC45LTg5LjhsMCAyMTYuMnpNMTUyLjUgMTg4LjNsMCAyMTIuOCAzMi43IDAgMC02OC43YzI0LjQgNy4zIDcxLjctMi42IDcxLjctNzguNSAwLTk3LjQtODAuNy04MC45LTEwNC40LTY1LjZ6bTMyLjcgMTE3LjNsMC0xMDAuM2M4LjQtNC4yIDM4LjQtMTIuNyAzOC40IDQ5LjMgMCA2Ny45LTM2LjQgNTEuOC0zOC40IDUxem03OS4xLTg2LjRjLjEgNDcuMyA1MS42IDQyLjUgNTIuMiA3MC40IC42IDIzLjUtMzAuNCAyMy01MC44IDQuOWwwIDMwLjFjMzYuMiAyMS41IDgxLjkgOC4xIDgzLjItMzMuNSAxLjctNTEuNS01NC4xLTQ2LjYtNTMuNC03My4yIC42LTIwLjMgMzAuNi0yMC41IDQ4LjUtMi4ybDAtMjguNGMtMjguNS0yMi03OS45LTkuMi03OS43IDMxLjl6Il19LEdndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbWF6b24tcGF5IixpY29uOls2NDAsNTEyLFtdLCJmNDJjIiwiTTE0IDMyNS4zYzIuMy00LjIgNS4yLTQuOSA5LjctMi41IDEwLjQgNS42IDIwLjYgMTEuNCAzMS4yIDE2LjcgNDAuNiAyMC4yIDgzLjMgMzUuOCAxMjcuNCA0Ni4zIDIwLjggNSA0MS45IDkgNjMuMiAxMS44IDMxLjUgNC4yIDYzLjIgNiA5NSA1LjIgMTcuNC0uNCAzNC44LTEuOCA1Mi4xLTMuOCA1Ni4yLTYuNiAxMTEuMS0yMSAxNjMuMy00Mi44IDIuOS0xLjIgNS45LTIgOS4xLTEuMiA2LjcgMS44IDkgOSA0LjEgMTMuOS0zIDIuNy02LjIgNS4yLTkuNiA3LjQtMzAuNyAyMS4xLTY0LjIgMzYuNC05OS42IDQ3LjktMjQuNSA3LjktNDkuNiAxMy44LTc1LjEgMTcuNi0xNy42IDIuNy0zNS40IDQuMy01My4yIDQuOC0uOCAwLTEuNyAuMi0yLjUgLjNsLTIxLjEgMGMtLjgtLjEtMS43LS4yLTIuNS0uMy0zLjYtLjItNy4yLS4zLTEwLjctLjQtMTYuOS0uOC0zMy43LTIuNS01MC40LTUuMy0yNy40LTQuNS01NC4zLTExLjUtODAuNC0yMC45LTUzLjctMTkuNC0xMDMuMS00OC45LTE0NS42LTg3LTEuOC0xLjYtMy0zLjgtNC40LTUuN2wwLTJ6TTE3MiA2NS4xbC00LjMgLjZjLTEzLjggMS43LTI2LjggNi45LTM4IDE1LjEtMi40IDEuNy00LjYgMy41LTcuMSA1LjQtLjItLjQtLjMtLjktLjQtMS40LS40LTIuNy0uOC01LjUtMS4zLTguMi0uNy00LjYtMy02LjYtNy42LTYuNmwtMTEuNSAwYy02LjkgMC04LjIgMS4zLTguMiA4LjJsMCAyMDkuM2MwIDEgMCAyIC4xIDMgLjIgMyAyIDQuOSA0LjkgNSA3IC4xIDE0LjEgLjEgMjEuMSAwIDIuOSAwIDQuNy0yIDUtNSAuMS0xIC4xLTIgLjEtM2wwLTcyLjRjMS4xIC45IDEuNyAxLjQgMi4yIDEuOSAxNy45IDE0LjkgMzguNSAxOS44IDYxIDE1LjQgMjAuNC00IDM0LjYtMTYuNSA0My44LTM0LjkgNy0xMy45IDkuOS0yOC43IDEwLjMtNDQuMSAuNS0xNy4xLTEuMi0zMy45LTguMS00OS44LTguNS0xOS42LTIyLjYtMzIuNS00My45LTM2LjktMy4yLS43LTYuNS0xLTkuOC0xLjUtMi44LS4xLTUuNS0uMS04LjMtLjF6TTEyNC42IDEwN2MtLjEtLjcgLjEtMS4zIC40LTEuOXMuOC0xLjEgMS4zLTEuNGMxMy43LTkuNSAyOC44LTE0LjUgNDUuNi0xMy4yIDE0LjkgMS4xIDI3LjEgOC40IDMzLjUgMjUuOSAzLjkgMTAuNyA0LjkgMjEuOCA0LjkgMzMgMCAxMC40LS44IDIwLjYtNCAzMC42LTYuOCAyMS4zLTIyLjQgMjkuNC00Mi42IDI4LjUtMTQtLjYtMjYuMi02LTM3LjQtMTMuOS0uNi0uMy0xLS44LTEuMy0xLjRzLS40LTEuMi0uNC0xLjljLjEtMTQuMSAwLTI4LjEgMC00Mi4ycy4xLTI4IDAtNDIuMXpNMzMwLjMgNjUuMWMtMSAuMS0yIC4zLTIuOSAuNC05LjcgLjQtMTkuNCAxLjgtMjguOSA0LjEtNi4xIDEuNi0xMiAzLjgtMTcuOSA1LjgtMy42IDEuMi01LjQgMy44LTUuMyA3LjcgLjEgMy4zLS4xIDYuNiAwIDkuOSAuMSA0LjggMi4xIDYuMSA2LjggNC45IDcuOC0yIDE1LjYtNC4yIDIzLjUtNS43IDEyLjMtMi4zIDI0LjctMy4zIDM3LjItMS40IDYuNSAxIDEyLjYgMi45IDE2LjggOC40IDMuNyA0LjggNS4xIDEwLjUgNS4zIDE2LjQgLjMgOC4zIC4yIDE2LjYgLjMgMjQuOSAwIC41LS4xIC45LS4yIDEuNC0uNS0uMS0uOSAwLTEuMy0uMS0xMC41LTIuNi0yMS4yLTQuMi0zMi00LjktMTEuMy0uNi0yMi41IC4xLTMzLjMgMy45LTEyLjkgNC41LTIzLjMgMTIuMy0yOS40IDI0LjktNC43IDkuOC01LjQgMjAuMi0zLjkgMzAuNyAyIDE0IDkgMjQuOCAyMS40IDMxLjcgMTEuOSA2LjYgMjQuOCA3LjQgMzcuOSA1LjQgMTUuMS0yLjMgMjguNS04LjcgNDAuMy0xOC40IC41LS40IDEtLjggMS42LTEuMSAuNiAzLjggMS4xIDcuNCAxLjggMTEgLjYgMy4xIDIuNSA1LjEgNS40IDUuMiA1LjQgLjEgMTAuOSAuMSAxNi4zIDAgMS4zIDAgMi41LS41IDMuNC0xLjRzMS40LTIuMSAxLjUtMy4zYy4xLS45IC4xLTEuOSAuMS0yLjhsMC0xMDZjMC00LjMtLjMtOC42LS45LTEyLjktMS45LTEyLjktNy40LTIzLjUtMTktMzAuNC02LjctNC0xNC4xLTYtMjEuOC03LjEtMy42LS41LTcuMi0uOC0xMC44LTEuMy0zLjkgLjEtNy45IC4xLTExLjkgLjF6bTM1IDEyNy43YzAgLjYtLjEgMS4yLS4zIDEuN3MtLjcgMS0xLjIgMS4zYy0xMS4yIDguMS0yMy41IDEzLjUtMzcuNCAxNC45LTUuNyAuNi0xMS40IC40LTE2LjgtMS44LTMtMS4xLTUuNi0yLjktNy44LTUuMnMtMy43LTUuMS00LjYtOC4xYy0yLTYuMy0yLTEzLjEtLjEtMTkuNCAyLjUtOC4zIDguNC0xMyAxNi40LTE1LjYgOC0yLjQgMTYuNS0zLjIgMjQuOC0yLjIgOC40IC43IDE2LjYgMi4zIDI1IDMuNCAxLjYgLjIgMi4xIDEgMi4xIDIuNi0uMSA0LjggMCA5LjUgMCAxNC4zcy0uMiA5LjQtLjEgMTQuMXpNNjI1LjIgMzIyLjJjLTEtNS00LjgtNi45LTkuMS04LjMtNi44LTIuMS0xMy45LTMuNS0yMS0zLjktMTMuMS0xLjEtMjYuMy0uNS0zOS4yIDEuOS0xNC4zIDIuNy0yNy45IDcuMy00MCAxNS42LTEuNCAuOS0yLjcgMi4xLTMuNyAzLjUtLjQgLjYtLjYgMS4zLS43IDEuOXMwIDEuNCAuMiAyLjFjLjQgMS41IDIuMSAxLjkgMy42IDEuOCAuNyAwIDEuNSAwIDIuMi0uMSA3LjgtLjggMTUuNS0xLjcgMjMuMy0yLjUgMTEuNC0xLjEgMjIuOS0xLjggMzQuMy0uOSA0LjkgLjQgOS43IDEuMyAxNC40IDIuNyA1LjEgMS40IDcuNCA1LjIgNy42IDEwLjQgLjQgOC0xLjQgMTUuNy0zLjUgMjMuMy00LjEgMTUuNC0xMCAzMC4zLTE1LjggNDUuMS0uNCAxLS44IDItMSAzLS41IDIuOSAxLjIgNC44IDQuMSA0LjEgMS44LS40IDMuNC0xLjMgNC44LTIuNSA0LjUtNC4yIDguOC04LjcgMTIuNy0xMy40IDEyLjgtMTYuNCAyMC4zLTM1LjMgMjQuNy01NS42IC44LTMuNiAxLjQtNy4zIDIuMS0xMC45bDAtMTcuM3pNNDkzLjEgMTk5Yy0xMi45LTM1LjctMjUuOC03MS40LTM4LjctMTA3LjItMi01LjctNC4yLTExLjMtNi4zLTE2LjktMS4xLTIuOS0zLjItNC44LTYuNC00LjgtNy42LS4xLTE1LjItLjItMjIuOS0uMS0yLjUgMC0zLjcgMi0zLjIgNC41IC41IDIuMSAxLjEgNC4xIDEuOSA2LjEgMTkuNiA0OC41IDM5LjMgOTcgNTkuMSAxNDUuNSAxLjcgNC4xIDIuMSA3LjYgLjIgMTEuOC0zLjMgNy4zLTUuOSAxNS05LjMgMjIuMy0zIDYuNS04IDExLjQtMTUuMiAxMy4zLTUgMS4zLTEwLjIgMS43LTE1LjQgMS4xLTIuNS0uMi01LS44LTcuNS0xLTMuNC0uMi01LjEgMS4zLTUuMiA0LjgtLjEgMy4zLS4xIDYuNiAwIDkuOSAuMSA1LjUgMiA4IDcuNCA4LjkgNS42IDEuMSAxMS4yIDEuOCAxNi45IDIgMTcuMSAuNCAzMC43LTYuNSAzOS41LTIxLjQgMy41LTUuOSA2LjYtMTIgOS4yLTE4LjQgMjMuNy01OS44IDQ3LjItMTE5LjcgNzAuNi0xNzkuNiAuNy0xLjggMS4zLTMuNiAxLjYtNS41IC40LTIuOC0uOS00LjQtMy43LTQuNC02LjYtLjEtMTMuMyAwLTE5LjkgMC0xLjctLjEtMy40IC4zLTQuNyAxLjNzLTIuNCAyLjMtMyAzLjljLS41IDEuNC0xLjEgMi43LTEuNiA0LjFsLTM0LjggMTAwYy0yLjUgNy4yLTUuMSAxNC41LTcuNyAyMi4yLS40LTEuMS0uNi0xLjctLjktMi40eiJdfSxZZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGFuZG9yYSIsaWNvbjpbMzg0LDUxMixbXSwiZTdkYSIsIk0yMDEuMyAzMkwwIDMyIDAgNDgwIDEyMC4yIDQ4MGMxMS4yIDAgMjAuMy05LjEgMjAuMy0yMC4zbDAtODYuMSAzMC4xIDBjMTQ3LjEgMCAyMDcuMy04Mi45IDIwNy4zLTE3OS45IDAtMTE5LjctOTAuOS0xNjEuOC0xNzYuNS0xNjEuOHoiXX0sS2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wZW5pZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjE5YiIsIk0yNzEuNSA0MzJsLTY4IDMyQzg4LjUgNDUzLjcgMCAzOTIuNSAwIDMxOC4yIDAgMjQ2LjcgODIuNSAxODcuMiAxOTEuNyAxNzMuOWwwIDQzYy03MS41IDEyLjUtMTI0IDUzLTEyNCAxMDEuMyAwIDUxIDU4LjUgOTMuMyAxMzUuNyAxMDNsMC0zNDAgNjgtMzMuMiAwIDM4NCAuMSAwek00NDggMjkxbC0xMzEuMy0yOC41IDM2LjgtMjAuN2MtMTkuNS0xMS41LTQzLjUtMjAtNzAtMjQuOGwwLTQzYzQ2LjIgNS41IDg3LjcgMTkuNSAxMjAuMyAzOS4zbDM1LTE5LjggOS4yIDk3LjV6Il19LFpndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2c2NvIixpY29uOls1MTIsNTEyLFtdLCJlN2RkIiwiTTM1Ny42IDI1NmMwLTI3LjEtMTAuNi01Mi41LTI5LjctNzEuN3MtNDQuNi0yOS43LTcxLjctMjkuN2wtLjEgMGMtMjcuMSAwLTUyLjYgMTAuNi03MS43IDI5LjdzLTI5LjcgNDQuNi0yOS43IDcxLjdjMCAyNy4xIDEwLjYgNTIuNSAyOS43IDcxLjcgMTkuMiAxOS4yIDQ0LjYgMjkuNyA3MS43IDI5LjdsLjEgMGMyNy4xIDAgNTIuNi0xMC42IDcxLjctMjkuNyAxOS4yLTE5LjIgMjkuNy00NC42IDI5LjctNzEuN3pNMTc2LjMgNDgyLjFjMjMgOC4xIDQ3IDEyLjYgNzEuNiAxMy40bDAtNTkuMWMtMTcuMS0uNy0zMy41LTMuOC00OS04LjlsLTIyLjYgNTQuNnptMTM3LTU0LjZjLTE1LjUgNS4xLTMyIDguMi00OSA4LjlsMCA1OS4xYzI0LjYtLjggNDguNi01LjMgNzEuNi0xMy40bC0yMi42LTU0LjZ6TTkyLjUgNDMxLjJjMjAuMiAxOC45IDQzLjMgMzQgNjguNyA0NWwyMi41LTU0LjVjLTE4LjMtNy45LTM1LjEtMTguOC00OS44LTMxLjlMOTIuNSA0MzEuMnptMjg1LjktNDEuNGMtMTQuNiAxMy4yLTMxLjQgMjQtNDkuOCAzMS45bDIyLjUgNTQuNWMyNS40LTExIDQ4LjQtMjYuMSA2OC43LTQ1bC00MS40LTQxLjR6TTE0NS40IDM3OC4yYzEzLjYgMTIuMSAyOSAyMS45IDQ1LjggMjkgMTggNy42IDM3LjEgMTIgNTYuNyAxMi45bDAtNDYuOGMtMjYuNC0xLjgtNTAuMy0xMi4zLTY5LjEtMjguNmwtMzMuNCAzMy40em0xODgtMzMuNGMtMTguOCAxNi4zLTQyLjcgMjYuOC02OS4xIDI4LjZsMCA0Ni44YzE5LjYtLjkgMzguNy01LjMgNTYuNy0xMi45IDE2LjgtNy4xIDMyLjItMTYuOSA0NS44LTI5bC0zMy40LTMzLjR6TTM4LjUgMzU2LjZjMTAuNyAyMy4yIDI1IDQ0LjMgNDIuNSA2My4xbDQxLjMtNDEuM2MtMTIuNC0xMy40LTIyLjktMjguNi0zMC45LTQ1LjJMMzguNSAzNTYuNnptMzgyLjQtMjMuNWMtOCAxNi42LTE4LjUgMzEuOS0zMC45IDQ1LjJsNDEuMyA0MS4zYzE3LjUtMTguNyAzMS44LTM5LjkgNDIuNS02My4xbC01Mi45LTIzLjV6bS0zMzEtNjljMS4xIDE4LjggNS40IDM3LjIgMTIuOCA1NC41IDcuNSAxNy44IDE4IDM0IDMxLjIgNDguMmwzMy41LTMzLjVjLTE2LjQtMTguOC0yNi45LTQyLjgtMjguNy02OS4ybC00OC44IDB6bTI4My43IDBjLTEuOCAyNi40LTEyLjMgNTAuNC0yOC43IDY5LjJsMzMuNSAzMy41YzEzLjEtMTQuMiAyMy42LTMwLjQgMzEuMi00OC4yIDcuMy0xNy40IDExLjYtMzUuNyAxMi43LTU0LjVsLTQ4LjcgMHptLTM1Ny4xIDBjLjkgMjYuNyA2LjEgNTIuNyAxNS42IDc3LjVMODUgMzE4LjJjLTYuNC0xNy0xMC4zLTM1LjEtMTEuMy01NGwtNTcuMSAwem00MjIuMSAwYy0xIDE4LjktNSAzNy4xLTExLjMgNTRsNTIuOCAyMy41YzkuNS0yNC44IDE0LjctNTAuOCAxNS42LTc3LjVsLTU3LjEgMHpNMzIuMSAxNzAuNGMtOS41IDI0LjgtMTQuNyA1MC44LTE1LjYgNzcuNWw1Ny4xIDBjMS0xOC45IDUtMzcuMSAxMS4zLTU0TDMyLjEgMTcwLjR6bTEwMS43LTI1LjJjLTEzLjEgMTQuMi0yMy42IDMwLjQtMzEuMiA0OC4yLTcuMyAxNy40LTExLjYgMzUuNy0xMi44IDU0LjVsNDguOCAwYzEuOC0yNi40IDEyLjMtNTAuNCAyOC43LTY5LjJsLTMzLjUtMzMuNXptMjExLjEgMzMuNWMxNi40IDE4LjggMjYuOSA0Mi44IDI4LjcgNjkuMmw0OC43IDBjLTEuMS0xOC44LTUuNC0zNy4yLTEyLjctNTQuNS03LjUtMTcuOC0xOC0zNC0zMS4yLTQ4LjJsLTMzLjUgMzMuNXptODIuNCAxNS4yYzYuNCAxNyAxMC4zIDM1LjEgMTEuMyA1NGw1Ny4xIDBjLS45LTI2LjctNi4xLTUyLjctMTUuNi03Ny41bC01Mi44IDIzLjV6TTgxIDkyLjNDNjMuNCAxMTEgNDkuMiAxMzIuMiAzOC41IDE1NS40bDUyLjkgMjMuNWM4LTE2LjYgMTguNS0zMS45IDMwLjktNDUuMkw4MSA5Mi4zem0zMDkgNDEuM2MxMi40IDEzLjQgMjIuOSAyOC42IDMwLjkgNDUuMmw1Mi45LTIzLjVjLTEwLjctMjMuMi0yNS00NC4zLTQyLjUtNjMuMUwzOTAgMTMzLjd6TTI0OCA5MS44Yy0xOS42IC45LTM4LjcgNS4zLTU2LjcgMTIuOS0xNi44IDcuMS0zMi4yIDE2LjktNDUuOCAyOWwzMy40IDMzLjRjMTguOC0xNi4zIDQyLjctMjYuOCA2OS4xLTI4LjZsMC00Ni43em0xNi4zIDQ2LjdjMjYuNCAxLjggNTAuMyAxMi4zIDY5LjEgMjguNmwzMy40LTMzLjRjLTEzLjYtMTIuMS0yOS0yMS45LTQ1LjgtMjktMTgtNy42LTM3LjEtMTItNTYuNy0xMi45bDAgNDYuN3pNMTYxLjIgMzUuOGMtMjUuNCAxMS00OC40IDI2LjEtNjguNyA0NWw0MS40IDQxLjRjMTQuNy0xMy4yIDMxLjQtMjQgNDkuOC0zMS45TDE2MS4yIDM1Ljh6TTMyOC42IDkwLjNjMTguMyA3LjkgMzUuMSAxOC44IDQ5LjggMzEuOWw0MS40LTQxLjRjLTIwLjItMTguOS00My4zLTM0LTY4LjctNDVMMzI4LjYgOTAuM3pNMjQ4IDE2LjRjLTI0LjYgLjgtNDguNiA1LjMtNzEuNiAxMy40bDIyLjYgNTQuNmMxNS41LTUuMSAzMi04LjIgNDktOC45bDAtNTkuMXptMTYuMyA1OS4xYzE3LjEgLjcgMzMuNSAzLjggNDkgOC45bDIyLjYtNTQuNmMtMjMtOC4xLTQ3LTEyLjYtNzEuNi0xMy40bDAgNTkuMXpNNTEyLjIgMjY0LjJsLS4yIDBDNTA3LjggMzk5IDM5OS4yIDUwNy43IDI2NC4zIDUxMS45bDAgLjEtMTYuMyAwIDAtLjFDMTEzLjEgNTA3LjcgNC41IDM5OSAuMiAyNjQuMWwtLjIgMCAwLTE2LjMgLjIgMEM0LjUgMTEzIDExMy4xIDQuMyAyNDggLjFsMC0uMSAxNi4zIDAgMCAuMUMzOTkuMiA0LjMgNTA3LjggMTEzIDUxMiAyNDcuOWwuMiAwIDAgMTYuM3oiXX0sWGd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdsb2JhbGVha3MiLGljb246WzQ0OCw1MTIsW10sImU4NWQiLCJNNDExLjIgMzIuMmMyMC4yIDAgMzYuOCAxNi42IDM2LjggMzYuOWwwIDM3My44YzAgMjAuMi0xNi42IDM2LjktMzYuOCAzNi45bC05NC40IDAgMjgtNzkuNGMzLjEtOC44LTEuNi0xOC43LTEwLjQtMjEuOC0xLjYtLjUtMi42LTEtNC4yLTFzLTMuNiAwLTUuMiAuNWMtNS4yIDEtOS45IDUuMi0xMS45IDEwLjlsLTYuMiAxNi42IDAtNjcuNWMwLTEwLjktNy44LTE5LjctMTguMi0yMS44bC03LjIgMGMtLjUgMC0xIDAtMS42IC41LS41IDAtMSAuNS0xLjYgLjUtMi42IDEtNS4yIDIuNi03LjIgNC4xbDAtNC4xYzAtNS43LTIuNi0xMC40LTUuNy0xNGwtMS0xYy0xLTEtMi42LTIuMS00LjItMi42bDAtMjYuNWMwLTUuMi00LjEtOS4zLTkuMy05LjNsLTM5LjkgMGMtNi43IDAtMTEuNC03LjMtOC4zLTEzLjVMMjgzLjEgODQuMWMxNC41LTMxLjEgNDUuNi01MS40IDgwLjQtNTEuOWw0Ny43IDB6bS0xNjYgMGMxNy42IDAgMzAuMSAxNi4xIDI4IDMyLjItMi42IDMuNi00LjcgNy44LTYuMiAxMC45TDE4Ni42IDI0MS41Yy04LjggMTguNyA0LjIgNDAgMjQuNCA0MGwzMC42IDAgMCAxNi4xYy03LjggMy4xLTEzIDEwLjktMTMgMTkuN2wwIDMuNmMtMy42LTMuNi04LjgtNS43LTE0LjUtNS43LTExLjkgMC0yMS44IDkuOS0yMS44IDIxLjhsMCAxOS4yLTMuMSAwYy05LjMgMC0xNy4xIDcuOC0xNy4xIDE3LjFsMCAxMDUuOS05NS40IDBjLTQyIDAtNzIuNi00MC41LTYxLjItODEuNSAxLTMuMSA0LjItNS4yIDcuMy00LjdsMjEuMiAwYzI0LjQgMCA0NC42LTIwLjIgNDQuNi00NS4ybDAtNC4yYzAtMjQuOS0xOS43LTQ1LjItNDQuNi00NS4yLS41IDAtMS0uNS0xLTFsOC44LTMyLjdjMi4xLTYuMi0yLjYtMTEuOS04LjgtMTEuOWwtMzMuMiAwYy02LjcgMC0xMS40LTcuMy04LjMtMTMuNUw3Ni43IDg0LjdjMTYuMS0zMi4yIDQ4LjItNTIuNCA4NC01Mi40bDg0LjUgMHpNMTMzLjcgMTQ0LjRjLTEwLjQgMC0xOC43IDguMy0xOC43IDE4LjcgMCA5LjkgOC4zIDE4LjcgMTguNyAxOC43IDEwLjQgMCAxOC43LTguMyAxOC43LTE4LjdzLTguMy0xOC43LTE4LjctMTguN3ptMjAyLjggMGExOC42IDE4LjYgMCAxIDAgLS4yIDM3LjIgMTguNiAxOC42IDAgMSAwIC4yLTM3LjJ6Il19LFFndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2ZW5tbyIsaWNvbjpbNjQwLDUxMixbXSwiZTg1YSIsIk02Ny44IDIwMi43YzIuNCA1IDMuOSAxMSAzLjkgMTkuOCAwIDE2LjItMTEuNSAzOS44LTIwLjcgNTQuOWwtOS45LTc5LjctNDEgMy45IDE4LjggMTEyIDQ2LjkgMGMyMC41LTI2LjkgNDUuOC02NS4zIDQ1LjgtOTQuOCAwLTkuMy0xLjktMTYuNi02LjMtMjMuN2wtMzcuNCA3LjV6bTExMy03LjFjLTQyLjggMC02My41IDM3LTYzLjUgNzEuOSAwIDI2LjkgMTIuOCA0OC41IDQ4LjQgNDguNSAxNCAwIDI4LjUtMyAzNy44LTcuNWw1LTMzLjZjLTEzLjIgNi43LTIzLjMgOS4zLTMzLjkgOS4zLTkuNyAwLTE3LjEtNS4yLTE3LjEtMTguMyAyMi0uMiA2MC05LjMgNjAtMzguOCAwLTE4LjMtMTMuMi0zMS41LTM2LjctMzEuNWwwIDB6bS0yMi41IDQ4LjljMS4xLTEyLjkgMTEtMjIgMTguNi0yMiA0LjMgMCA4IDIuNiA4IDcuNyAwIDEwLjgtMTkgMTQuMi0yNi42IDE0LjJsMCAwem0xNTAuMi00OC45Yy0xNS4zIDAtMjYuMSA1LjgtMzQuMyAxMS4ybC0uNC05LjMtMzQuOCAwLTE4LjQgMTE2LjEgNDAuMiAwIDEyLjctODEuNGMzLjUtMS43IDguNi00LjEgMTMuOC00LjEgMy45IDAgNy4xIDEuMyA3LjEgNi41IDAgMi4yLS43IDYtLjkgOGwtMTEuMiA3MS4xIDQwIDAgMTIuMy03Ny41Yy43LTQuMSAxLjMtMTAuMyAxLjMtMTQuNiAwLTE1LjUtNy4xLTI1LjktMjcuNC0yNS45em0xODMuMiAwYy0xNC45IDAtMjUuNyA0LjUtMzcuMiAxMi43LTQuMS03LjMtMTIuMy0xMi43LTI0LjgtMTIuNy0xNC41IDAtMjUuMyA1LjgtMzMuMyAxMS42bC0xLjEtOS43LTM0LjQgMC0xOC40IDExNi4xIDQwLjIgMCAxMi44LTgxLjRjMy41LTEuNyA4LjYtNC4xIDEzLjgtNC4xIDMuOSAwIDcuMSAxLjMgNy4xIDcuMSAwIDEuNS0uNCAzLjktLjYgNS44bC0xMS40IDcyLjYgNDAgMCAxMi43LTgxLjRjMy43LTEuOSA4LjYtNC4xIDEzLjYtNC4xIDMuOSAwIDcuMSAxLjMgNy4xIDcuMSAwIDEuNS0uNCAzLjktLjcgNS44bC0xMS40IDcyLjYgNDAgMCAxMi4zLTc3LjVjLjctNC4xIDEuMy0xMC4zIDEuMy0xNC42IDAtMTUuNS03LjEtMjUuOS0yNy43LTI1LjlsMCAwem0xMDIuMiAwYy00NC43IDAtNjQuMiAzNC4zLTY0LjIgNzAuOSAwIDI3LjggMTEuMiA1MCA0NS4xIDUwIDQ1LjggMCA2NS0zNy41IDY1LTczLjcgMC0yNy40LTEyLjMtNDcuMi00Ni00Ny4yem0tMTMuNCA5MGMtNy4xIDAtMTAuMS02LjctMTAuMS0xNy41IDAtMTQuMiAzLjItNDIgMTktNDIgNy4xIDAgOS41IDYuNSA5LjUgMTUuOSAwIDE0LjItMy41IDQzLjUtMTguNCA0My41eiJdfSxKZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidWJ1bnR1IixpY29uOls1NzYsNTEyLFtdLCJmN2RmIiwiTTQ2OS4yIDc1YzAtMjAuMS04LTM5LjMtMjIuMi01My41cy0zMy40LTIyLjItNTMuNS0yMi4yLTM5LjMgOC01My41IDIyLjItMjIuMiAzMy40LTIyLjIgNTMuNWMwIDIwLjEgOCAzOS4zIDIyLjEgNTMuNXMzMy40IDIyLjEgNTMuNSAyMi4xIDM5LjMtOCA1My41LTIyLjEgMjIuMS0zMy40IDIyLjEtNTMuNWwuMSAwem0tMzE1IDE2NS43YTc1LjYgNzUuNiAwIDEgMCAtMTUxLjIgMCA3NS42IDc1LjYgMCAxIDAgMTUxLjIgMHpNNTcgMzQ2YzE4LjYgNDYuOSA1MSA4NyA5MyAxMTUuMXM5MS41IDQyLjYgMTQyIDQxLjdjLTE0LjctMTguNi0yMi45LTQxLjUtMjMuMi02NS4yLTYuOC0uOS0xMy4zLTIuMS0xOS41LTMuNC0yNi44LTUuNy01MS45LTE3LjMtNzMuNi0zNHMtMzkuMy0zOC4xLTUxLjctNjIuNWMtMjAuOSA5LjktNDQuNSAxMi44LTY3LjEgOC4ybC4xIC4xem0zOTUuMSA4OS44YTc1LjYgNzUuNiAwIDEgMCAtMTUxLjIgMCA3NS42IDc1LjYgMCAxIDAgMTUxLjIgMHpNNDQ0IDM1MS42YzE4LjUgMTQuOCAzMS42IDM1LjIgMzcuMiA1OC4yIDMzLjMtNDEuMyA1Mi42LTkyLjIgNTQuOC0xNDUuMnMtMTIuNS0xMDUuNC00Mi4yLTE0OS40Yy04LjYgMjEuNS0yNCAzOS42LTQzLjggNTEuNiAxNS40IDI4LjYgMjIuOSA2MC44IDIxLjkgOTMuMnMtMTAuNyA2NC0yOCA5MS42bC4xIDB6TTEwMS4xIDEzNS40YzEyLjQgMi43IDI0LjMgNy41IDM1LjEgMTQuMyAxNi42LTI0LjIgMzguOS00NC4xIDY0LjgtNThTMjU1LjggNzAuNCAyODUuMiA3MGMuMi01LjkgLjktMTEuOSAyLTE3LjcgMy42LTE2LjcgMTEuMS0zMi4zIDIxLjgtNDUuNS00Ny43LTMuOC05NS40IDYtMTM3LjYgMjguNVM5NC4zIDkxLjcgNzAuOCAxMzMuNGMyLjctLjIgNS4zLS4zIDgtLjMgNy41IDAgMTUgLjggMjIuNCAyLjNsLS4xIDB6Il19LGVidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2aWFjb2luIixpY29uOlszODQsNTEyLFtdLCJmMjM3IiwiTTM4NCAzMmwtNjQgMC04MC43IDE5Mi05NC41IDAtODAuOC0xOTItNjQgMCA0OCAxMTItNDggMCAwIDQ4IDY4LjUgMCAxMy44IDMyLTgyLjMgMCAwIDQ4IDEwMi44IDAgODkuMiAyMDggODkuMi0yMDggMTAyLjggMCAwLTQ4LTgyLjMgMCAxMy44LTMyIDY4LjUgMCAwLTQ4LTQ4IDAgNDgtMTEyek0xOTIgMzM2bC0yNy02NCA1NCAwLTI3IDY0eiJdfSx0YnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiemhpaHUiLGljb246WzY0MCw1MTIsW10sImY2M2YiLCJNMTcwLjUgMTQ4LjFsMCAyMTcuNSAyMy40IDAgNy43IDI2LjQgNDItMjYuNCA0OS41IDAgMC0yMTcuNS0xMjIuNyAwem05Ny44IDE5My45bC0yNy45IDAtMjcuOSAxNy41LTUuMS0xNy41LTExLjkgMCAwLTE3MC4zIDcyLjggMCAwIDE3MC4zek0xNDkuOCAyNDcuN2wtNTIuMyAwYzEuNy0yNy4xIDIuMi01MS42IDIuMi03My41bDUxLjIgMHMyLTIyLjYtOC42LTIyLjNsLTg4LjUgMGMzLjUtMTMuMSA3LjktMjYuNyAxMy4xLTQwLjcgMCAwLTI0LjEgMC0zMi4zIDIxLjYtMy40IDguOS0xMy4yIDQzLjEtMzAuNyA3OC4xIDUuOS0uNiAyNS40LTEuMiAzNi44LTIyLjIgMi4xLTUuOSAyLjUtNi43IDUuMS0xNC41bDI4LjkgMGMwIDEwLjUtMS4yIDY2LjktMS43IDczLjRsLTUyLjMgMGMtMTEuNyAwLTE1LjYgMjMuNi0xNS42IDIzLjZsNjUuNiAwYy00LjQgNDkuOS0yOCA5MS45LTcwLjggMTI1LjEgMjAuNSA1LjkgNDAuOS0uOSA1MS05LjkgMCAwIDIzLTIwLjkgMzUuNi02OS4zbDU0IDY0LjlzNy45LTI2LjktMS4yLTQwYy03LjYtOC45LTI4LjEtMzMuMS0zNi44LTQxLjhMODcuOSAzMTJjNC40LTE0IDctMjcuNiA3LjktNDAuN2w2MS42IDBzLS4xLTIzLjYtNy42LTIzLjZsMCAwem00MTItMS42YzIwLjgtMjUuNiA0NS01OC42IDQ1LTU4LjZzLTE4LjYtMTQuOC0yNy40LTQuMWMtNiA4LjItMzYuOCA0OC4yLTM2LjggNDguMmwxOS4yIDE0LjR6TTQxMS44IDE4N2MtOS04LjItMjUuOSAyLjEtMjUuOSAyLjFzMzkuNSA1NSA0MS4xIDU3LjRsMTkuNS0xMy43cy0yNS43LTM3LjYtMzQuNy00NS45bDAgMCAwIDB6TTY0MCAyNTguNGMtMTkuOCAwLTEzMC45IC45LTEzMS4xIC45bDAtMTAxYzQuOCAwIDEyLjQtLjQgMjIuOC0xLjIgNDAuOS0yLjQgNzAuMS00IDg3LjgtNC44IDAgMCAxMi4yLTI3LjItLjYtMzMuNC0zLjEtMS4yLTIzLjIgNC42LTIzLjIgNC42cy0xNjUuMiAxNi41LTIzMi40IDE4YzEuNiA4LjggNy42IDE3LjEgMTUuOCAxOS42IDEzLjMgMy41IDIyLjcgMS43IDQ5LjIgLjkgMjQuOC0xLjYgNDMuNy0yLjQgNTYuNS0yLjRsMCA5OS44LTEzMy41IDBzMi44IDIyLjMgMjUuNSAyMi45bDEwNy45IDAgMCA3MC45YzAgMTQtMTEuMiAyMi0yNC41IDIxLjEtMTQuMSAuMS0yNi4xLTEuMS00MS43LTEuOCAyIDQgNi4zIDE0LjQgMTkuMyAyMS44IDkuOSA0LjggMTYuMiA2LjYgMjYgNi42IDI5LjYgMCA0NS43LTE3LjMgNDQuOS00NS4zbDAtNzMuMyAxMjIuNCAwYzkuNyAwIDguNy0yMy44IDguNy0yMy44bDAgMHoiXX0sYWJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InlhbmRleCIsaWNvbjpbMjU2LDUxMixbXSwiZjQxMyIsIk0xNTMuMSAzMTUuOEw2NS43IDUxMiAyIDUxMiA5OCAzMDIuMkM1Mi45IDI3OS4zIDIyLjggMjM3LjggMjIuOCAxNjEuMSAyMi43IDUzLjcgOTAuOCAwIDE3MS43IDBsODIuMyAwIDAgNTEyLTU1LjEgMCAwLTE5Ni4yLTQ1LjggMHpNMTk4LjkgNDYuNWwtMjkuNCAwYy00NC40IDAtODcuNCAyOS40LTg3LjQgMTE0LjYgMCA4Mi4zIDM5LjQgMTA4LjggODcuNCAxMDguOGwyOS40IDAgMC0yMjMuNHoiXX0scmJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpeGl2IixpY29uOls0NDgsNTEyLFtdLCJlNjQwIiwiTTk2IDMyQzQzIDMyIDAgNzUgMCAxMjhMMCAzODRjMCA1MyA0MyA5NiA5NiA5NmwyNTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjU2YzAtNTMtNDMtOTYtOTYtOTZMOTYgMzJ6bTc3LjcgMjE3LjNhNjAuMSA2MC4xIDAgMSAwIDEyMC4zIDAgNjAuMSA2MC4xIDAgMSAwIC0xMjAuMyAwek0xMTkuMSAzODcuOGMtLjMtLjgtLjUtMS43LS41LTIuNmwwLTI0NC4zYzAtMS44IC43LTMuNiAyLTQuOXMzLTIgNC45LTJsMTYuOSAwYzEuMiAwIDIuMyAuMyAzLjMgLjhzMS45IDEuMyAyLjUgMi4zbDE0IDIxLjhjMTkuNy0xNS42IDQ0LjUtMjUgNzEuNi0yNSA2My42IDAgMTE1LjIgNTEuNiAxMTUuMiAxMTUuMlMyOTcuNSAzNjQuNSAyMzMuOCAzNjQuNWMtMjIgMC00Mi42LTYuMi02MC4xLTE2LjlsMCAzNy42YzAgLjktLjIgMS44LS41IDIuNnMtLjkgMS42LTEuNSAyLjItMS40IDEuMS0yLjIgMS41LTEuNyAuNS0yLjYgLjVsLTQxLjMgMGMtLjkgMC0xLjgtLjItMi42LS41cy0xLjYtLjktMi4yLTEuNS0xLjEtMS40LTEuNS0yLjJ6Il19LHNidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvcGVuYWkiLGljb246WzUxMiw1MTIsW10sImU3Y2YiLCJNMTk2LjQgMTg1LjhsMC00OC42YzAtNC4xIDEuNS03LjIgNS4xLTkuMmw5Ny44LTU2LjNjMTMuMy03LjcgMjkuMi0xMS4zIDQ1LjYtMTEuMyA2MS40IDAgMTAwLjQgNDcuNiAxMDAuNCA5OC4zIDAgMy42IDAgNy43LS41IDExLjhMMzQzLjMgMTExLjFjLTYuMS0zLjYtMTIuMy0zLjYtMTguNCAwTDE5Ni40IDE4NS44ek00MjQuNyAzNzUuMmwwLTExNi4yYzAtNy4yLTMuMS0xMi4zLTkuMi0xNS45TDI4NyAxNjguNCAzMjkgMTQ0LjNjMy42LTIgNi43LTIgMTAuMiAwTDQzNyAyMDAuN2MyOC4yIDE2LjQgNDcuMSA1MS4yIDQ3LjEgODUgMCAzOC45LTIzIDc0LjgtNTkuNCA4OS42bDAgMHpNMTY2LjIgMjcyLjhsLTQyLTI0LjZjLTMuNi0yLTUuMS01LjEtNS4xLTkuMmwwLTExMi42YzAtNTQuOCA0Mi05Ni4zIDk4LjgtOTYuMyAyMS41IDAgNDEuNSA3LjIgNTguNCAyMEwxNzUuNCAxMDguNWMtNi4xIDMuNi05LjIgOC43LTkuMiAxNS45bDAgMTQ4LjUgMCAwem05MC40IDUyLjJsLTYwLjItMzMuOCAwLTcxLjcgNjAuMi0zMy44IDYwLjIgMzMuOCAwIDcxLjctNjAuMiAzMy44em0zOC43IDE1NS43Yy0yMS41IDAtNDEuNS03LjItNTguNC0yMGwxMDAuOS01OC40YzYuMS0zLjYgOS4yLTguNyA5LjItMTUuOWwwLTE0OC41IDQyLjUgMjQuNmMzLjYgMiA1LjEgNS4xIDUuMSA5LjJsMCAxMTIuNmMwIDU0LjgtNDIuNSA5Ni4zLTk5LjMgOTYuM2wwIDB6TTE3My44IDM2Ni41TDc2LjEgMzEwLjJjLTI4LjItMTYuNC00Ny4xLTUxLjItNDcuMS04NSAwLTM5LjQgMjMuNi03NC44IDU5LjktODkuNmwwIDExNi43YzAgNy4yIDMuMSAxMi4zIDkuMiAxNS45bDEyOCA3NC4yLTQyIDI0LjFjLTMuNiAyLTYuNyAyLTEwLjIgMHptLTUuNiA4NGMtNTcuOSAwLTEwMC40LTQzLjUtMTAwLjQtOTcuMyAwLTQuMSAuNS04LjIgMS0xMi4zbDEwMC45IDU4LjRjNi4xIDMuNiAxMi4zIDMuNiAxOC40IDBsMTI4LjUtNzQuMiAwIDQ4LjZjMCA0LjEtMS41IDcuMi01LjEgOS4ybC05Ny44IDU2LjNjLTEzLjMgNy43LTI5LjIgMTEuMy00NS42IDExLjNsMCAwem0xMjcgNjAuOWM2MiAwIDExMy43LTQ0IDEyNS40LTEwMi40IDU3LjMtMTQuOSA5NC4yLTY4LjYgOTQuMi0xMjMuNCAwLTM1LjgtMTUuNC03MC43LTQzLTk1LjcgMi42LTEwLjggNC4xLTIxLjUgNC4xLTMyLjMgMC03My4yLTU5LjQtMTI4LTEyOC0xMjgtMTMuOCAwLTI3LjEgMi00MC40IDYuNy0yMy0yMi41LTU0LjgtMzYuOS04OS42LTM2LjktNjIgMC0xMTMuNyA0NC0xMjUuNCAxMDIuNC01Ny4zIDE0LjgtOTQuMiA2OC42LTk0LjIgMTIzLjQgMCAzNS44IDE1LjQgNzAuNyA0MyA5NS43LTIuNiAxMC44LTQuMSAyMS41LTQuMSAzMi4zIDAgNzMuMiA1OS40IDEyOCAxMjggMTI4IDEzLjggMCAyNy4xLTIgNDAuNC02LjcgMjMgMjIuNSA1NC44IDM2LjkgODkuNiAzNi45eiJdfSxpYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2l0aCIsaWNvbjpbNDQ4LDUxMixbXSwiZjUxMiIsIk0wIDMybDY5LjcgMTE4LjgtNTguOS0xMS41IDY5LjggOTFjLTMgMTctMyAzNC40IDAgNTEuNGwtNjkuOCA5MSA1OC45LTExLjUtNjkuNyAxMTguOCAxMTguOC02OS43LTExLjUgNTguOSA5MS02OS44YzE3IDMgMzQuNSAzIDUxLjUgMGw5MSA2OS44LTExLjUtNTguOSAxMTguNyA2OS43LTY5LjctMTE4LjggNTguOSAxMS41LTY5LjgtOTFjMy0xNyAzLTM0LjQgMC01MS40bDY5LjgtOTEtNTguOSAxMS41IDY5LjctMTE4LjgtMTE4LjcgNjkuNyAxMS41LTU4LjktOTEuMSA2OS45Yy04LjUtMS41LTE3LjEtMi4zLTI1LjctMi4zcy0xNy4yIC44LTI1LjcgMi4zTDEwNy4yIDQyLjggMTE4LjggMTAxLjcgMCAzMnpNMjI0IDM4MC4yYTEyNC4yIDEyNC4yIDAgMSAxIDAtMjQ4LjQgMTI0LjIgMTI0LjIgMCAxIDEgMCAyNDguNHptMC0yMTEuOGE4Ny42IDg3LjYgMCAxIDAgMCAxNzUuMSA4Ny42IDg3LjYgMCAxIDAgMC0xNzUuMXoiXX0sb2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imp1bGlhIixpY29uOls2NDAsNTEyLFtdLCJlODUyIiwiTTEyNCA0MDYuNWMwIDE2LjEtMS44IDI5LjEtNS40IDM5cy04LjggMTcuNi0xNS41IDIzLjEtMTQuNyA5LjEtMjQuMSAxMS0xOS44IDIuOC0zMS4yIDIuOGMtMTUuNSAwLTI3LjMtMi40LTM1LjUtNy4zUzAgNDY0LjUgMCA0NTcuN2MwLTUuNiAyLjMtMTAuNCA2LjktMTQuM3MxMC44LTUuOCAxOC41LTUuOGM1LjggMCAxMC40IDEuNiAxMy45IDQuN3M2LjMgNi4yIDguNiA5LjNjMi42IDMuNCA0LjggNS42IDYuNSA2LjhzMy40IDEuNyA0LjggMS43YzMuMSAwIDUuNC0xLjggNy01LjRzMi40LTEwLjcgMi40LTIxLjJsMC0xOTguNyA1NS40LTE1LjIgMCAxODYuOXptNzguOS0xODEuNmwwIDEyNy45YzAgMy42IC43IDYuOSAyLjEgMTBzMy4zIDUuOCA1LjcgOC4xIDUuMiA0LjEgOC41IDUuNCA2LjcgMi4xIDEwLjQgMi4xYzQuMiAwIDguOS0yLjMgMTQuNy02LjQgOS4yLTYuNCAxNC43LTEwLjkgMTQuNy0xNi4xbDAtMTMxIDU1LjEgMCAwIDE4MS42LTU1LjEgMCAwLTE2LjljLTcuMyA2LjEtMTUgMTEtMjMuMiAxNC43cy0xNi4yIDUuNi0yMy45IDUuNmMtOSAwLTE3LjQtMS41LTI1LjEtNC41cy0xNC41LTctMjAuMy0xMi4yLTEwLjQtMTEuMi0xMy43LTE4LjFjLTMuMy02LjktNS0xNC4zLTUtMjIuMmwwLTEyNy45IDU1LjEgMHpNMzkxLjQgNDA2LjVsLTU0LjkgMCAwLTI1NC42IDU0LjktMTUuMiAwIDI2OS44em0yMi45LTE3MS43bDU1LjEtMTUuMiAwIDE4Ni45LTU1LjEgMCAwLTE3MS43em0xNzAuMyA3Ny45Yy01LjMgMi4zLTEwLjcgNC45LTE2LjEgNy45cy0xMC4zIDYuMi0xNC43IDkuOC04IDcuMy0xMC44IDExLjQtNC4xIDguMi00LjEgMTIuNmMwIDMuNCAuNCA2LjYgMS4zIDkuOHMyLjEgNS44IDMuOCA4LjEgMy40IDQuMSA1LjMgNS40IDQgMi4xIDYuMyAyLjFjNC41IDAgOS4xLTEuNCAxMy43LTQuMXM5LjctNi4yIDE1LjQtMTAuNGwwLTUyLjV6TTY0MCA0MDYuNWwtNTUuNCAwIDAtMTQuNWMtMy4xIDIuNi02IDUtOC45IDcuMXMtNi4yIDQuMS05LjggNS43LTcuNyAyLjktMTIuMiAzLjhjLTQuNSAuOS05LjggMS4zLTE1LjkgMS4zLTguNCAwLTE1LjktMS4yLTIyLjYtMy42LTYuNy0yLjQtMTIuNC01LjctMTctOS45cy04LjMtOS4xLTEwLjgtMTQuOWMtMi41LTUuNy0zLjgtMTItMy44LTE4LjcgMC02LjkgMS4zLTEzLjIgNC0xOC45IDIuNy01LjYgNi4zLTEwLjcgMTAuOS0xNS4yIDQuNi00LjUgOS45LTguNSAxNi4xLTEyLjFzMTIuNy02LjggMTkuNy05LjggMTQuMy01LjcgMjEuOS04LjIgMTUuMS00LjkgMjIuNS03LjFsNi0xLjUgMC0xNy45YzAtMTEuNi0yLjItMTkuOC02LjYtMjQuN3MtMTAuNC03LjMtMTcuOC03LjNjLTguNyAwLTE0LjggMi4xLTE4LjEgNi4zcy01LjEgOS4zLTUuMSAxNS4yYzAgMy40LS40IDYuNy0xLjEgOS45LS43IDMuMi0yIDYtMy43IDguNXMtNC4zIDQuNC03LjYgNS44Yy0zLjMgMS41LTcuNSAyLjItMTIuNSAyLjItNy43IDAtMTQtMi4yLTE4LjktNi42LTQuOC00LjQtNy4zLTEwLTcuMy0xNi44IDAtNi4zIDIuMS0xMi4xIDYuNC0xNy41IDQuMy01LjQgMTAtMTAgMTcuMy0xMy45IDcuMy0zLjkgMTUuNi02LjkgMjUuMS05LjJzMTkuNi0zLjQgMzAuMi0zLjRjMTMuMSAwIDI0LjMgMS4yIDMzLjcgMy41czE3LjIgNS43IDIzLjMgMTAgMTAuNiA5LjYgMTMuNSAxNS43IDQuNCAxMyA0LjQgMjAuNmwwIDEzNi4xek02MCAxNzIuOWEzNy40IDM3LjQgMCAxIDEgNzQuOSAwIDM3LjQgMzcuNCAwIDEgMSAtNzQuOSAwek00NTIuMiA5NWEzNy40IDM3LjQgMCAxIDEgNzQuOSAwIDM3LjQgMzcuNCAwIDEgMSAtNzQuOSAwem00NSA3Ny45YTM3LjQgMzcuNCAwIDEgMSA3NC45IDAgMzcuNCAzNy40IDAgMSAxIC03NC45IDB6bS04OS45IDBhMzcuNCAzNy40IDAgMSAxIDc0LjkgMCAzNy40IDM3LjQgMCAxIDEgLTc0LjkgMHoiXX0sbmJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5mYy1kaXJlY3Rpb25hbCIsaWNvbjpbNTEyLDUxMixbXSwiZTUzMCIsIk0yMTEuOCA0ODguNmMxLjYgMi41IDIuMSA1LjYgMS40IDguNS0uNiAyLjktMi40IDUuNS00LjkgNy4xLTIuNiAxLjYtNS42IDIuMS04LjYgMS41LTYxLjQtMTMuOS0xMTUuNi00OS45LTE1Mi4yLTEwMS4yUy01LjQgMjkwLjMgMS42IDIyNy43YzctNjIuNyAzNi44LTEyMC41IDgzLjctMTYyLjUgNDYuOS00MiAxMDcuNy02NS4yIDE3MC43LTY1LjIgMS41IDAgMi4xIC4zIDQuMyAuOSAxLjQgLjYgMS44IDEuNCAzLjcgMi41IDEuMSAxLjEgMS45IDIuMyAyLjUgMy43IC41IDEuNCAuOCAyLjggLjggNC4zbDAgMTAxIDI0LjUtMjUuOWMxLTEuMSAyLjItMiAzLjYtMi42IDEuMy0uNiAyLjgtLjkgNC4zLTEgMS41LS4xIDIuOSAuMiA0LjMgLjdzMi43IDEuMyAzLjggMi40YzEgMSAxLjkgMi4yIDIuNSAzLjYgLjYgMS4zIDEgMi44IDEgNC4zcy0uMiAzLS43IDQuM2MtLjYgMS40LTEuNCAyLjYtMi40IDMuN2wtNDQgNDYuNmMtMS4xIDEuMS0yLjMgMi0zLjcgMi42LTEuNSAuNi0zIC45LTUuNCAuOS0uNiAwLTIuMi0uMy0zLjYtLjlzLTIuNy0xLjUtMy43LTIuNmwtNDQuMS00Ni42Yy0yLTIuMi0zLjEtNS4xLTMtOC4xIDAtMyAxLjMtNi43IDMuNS03LjkgMi4yLTIuMSA1LjEtMy4yIDguMS0zLjEgMyAuMSA1LjggMS4zIDcuOSAzLjVsMjQuNSAyNiAwLTg5LjVjLTU2LjQgMi44LTEwOS44IDI1LjgtMTUwLjUgNjUtNDAuNiAzOS4xLTY1LjcgOTEuNy03MC42IDE0Ny45UzM0LjQgMzQ4LjEgNjcuNyAzOTMuN2MzMi40IDQ1LjUgODIgNzcuNSAxMzcgODkuOSAyLjkgLjcgNS41IDIuNSA3LjEgNXpNMTcxLjQgMTI2LjFjLS44IDEuMy0xLjkgMi40LTMuMSAzLjItMjAuNSAxMy45LTM3LjIgMzIuNi00OC44IDU0LjVzLTE3LjcgNDYuMy0xNy43IDcxLjEgNi4xIDQ5LjIgMTcuNyA3MC4yYzExLjYgMjIuOCAyOC4zIDQxLjUgNDguOCA1NS40IDIuNSAxLjcgNC4yIDQuMyA0LjcgNy4zIC42IDIuOS0uOSA2LTEuNyA4LjQtMS43IDIuNS01LjIgNC4yLTcuMyAzLjktMi45IDEuNC02IC44LTguNC0uOS0yMy42LTE2LTQyLjgtMzcuNS01Ni4xLTYyLjctMTMuMy0yNS4xLTIwLjMtNTMuMS0yMC4zLTgxLjYgMC0yOC40IDctNTYuNSAyMC4zLTgxLjYgMTMuMy0yNS4yIDMyLjUtNDYuNyA1Ni4xLTYyLjcgMS4yLS44IDIuNi0xLjQgNC0xLjggMS41LS4zIDMtLjMgNC41IDAgMS40IC4yIDIuOCAuOCA0LjEgMS42czIuMyAxLjkgMy4yIDMuMWMuOCAxLjIgMS40IDIuNiAxLjcgNC4xcy4zIDMgMCA0LjRjLS4zIDEuNS0uOCAyLjktMS43IDQuMXpNMzQwLjkgMzgzLjVjLjgtMS4yIDEuOS0yLjMgMi4yLTMuMWwwLS4xYzIxLjMtMTQgMzgtMzIuNyA0OS42LTU0LjYgMTEuNS0yMS44IDE3LjUtNDYuMiAxNy41LTcwLjlzLTYtNDkuMS0xNy41LTcxYy0xMS42LTIyLjctMjguMy00MC41LTQ5LjYtNTQuNS0uMy0uOC0xLjQtMS45LTIuMi0zLjEtLjgtMS4zLTEuNC0yLjctMS42LTQuMS0xLjItMS41LS4zLTMgMC00LjQgLjMtMS41IC45LTIuOSAxLjctNC4xIC45LTEuMiAxLjEtMi4zIDMuMi0zLjEgMS4yLS44IDIuNi0xLjMgNC4xLTEuNnMyLjktLjMgNC40IDAgMi44IC45IDQuMSAxLjhjMjMuNCAxNiA0Mi43IDM3LjUgNTUuOSA2Mi42IDEzLjMgMjUuMSAxOS40IDUzLjEgMTkuNCA4MS41IDAgMjguNS02LjEgNTYuNS0xOS40IDgxLjYtMTMuMiAyNS4xLTMyLjUgNDYuNi01NS45IDYyLjYtMS4zIC45LTIuNiAxLjUtNC4xIDEuOHMtMi45IC4zLTQuNCAwLTIuOS0xLjctNC4xLTEuNmMtMi4xLS44LTIuMy0xLjktMy4yLTMuMS0uOC0xLjItMS40LTIuNi0xLjctNC4xLS4zLTEuNC0xLjItMi45IDAtNC40IC4yLTEuNCAuOC0yLjggMS42LTQuMXpNMzEyLjMgNi4zYzU2LjIgMTIuNyAxMDYuNCA0NCAxNDIuNyA4OC43IDMwLjQgMzcuNiA0OS42IDgzIDU1LjMgMTMxIDUuNiA0OC0yLjQgOTYuNy0yMy4yIDE0MC4zLTIwLjkgNDMuNi01My42IDgwLjUtOTQuNSAxMDYuMy00MC45IDI1LjctODguMiAzOS40LTEzNi42IDM5LjQtMS41IDAtMi45LS4zLTQuMy0uOS0xLjQtLjUtMi42LTEuNC0zLjctMi40LTEuOS0xLjEtMS45LTIuMy0yLjQtMy43LS42LTEuNC0uOS0yLjgtLjktNC4zbDAtOTkuMi0yNC41IDI2Yy0yLjEgMi4yLTQuOSAyLjYtNy45IDMuNi0zIC4xLTUuOS0xLjEtOC4xLTQtMi4yLTEuMi0zLjUtNC0zLjUtNy0uMS0zIDEtNS45IDMtOC4xbDQ0LjEtNDYuNmMxLjMtMi4yIDUuMS0zLjQgNy4zLTMuNCA0IDAgNi45IDEuMiA5LjEgMy40bDQ0IDQ2LjZjMi4xIDIuMiAzLjIgNS4xIDMuMSA4LjFzLTEuNCA1LjgtMy41IDdjLTIuMiAyLjktNS4xIDQuMS04LjEgNC0zLTEtNS45LTEuNC03LjktMy42bC0yNC41LTI1LjkgMCA4Ny41YzU2LjQtMi44IDEwOS44LTI1LjggMTUwLjUtNjUgNDAuNy00MCA2NS44LTkxLjcgNzAuNy0xNDcuOSA0LjgtNTcuMS0xMC44LTExMi4zLTQ0LjEtMTU3LjktMzMuMy00NS42LTgyLTc3LjUtMTM3LTg5LjktMS41LS4zLTIuOC0uOS00LjEtMS44LTEuMi0uOS0yLjItMS45LTMtMy4yLS44LTEuMi0yLjItMi42LTEuNi00LjEtLjItMS41LS4yLTMgLjEtNC40IC40LTEuNCAxLTIuOCAxLjgtNCAuOS0xLjIgMi0yLjIgMy4yLTMgMS4zLS44IDIuNy0xLjMgNC4xLTEuNiAxLjUtLjMgMy0uMiA0LjQgLjF6bTQwLjggMjQ5LjhjMCAzMS40LTE3LjUgNjEuMS00OS4zIDgzLjUtMi4xIDEuNS00LjggMi4zLTcuNCAyLTIuNy0uMi01LjItMS4zLTctMy4ybC03MC4xLTY5LjhjLTIuMi0yLjEtNC4yLTUtMy40LTggMC0zIDEuMi01LjkgMy4zLTggMi4yLTIuMSA1LTMuMyA4LTMuM3M1LjkgMS4yIDggMy4zbDYzLjEgNjIuOGMyMC44LTE3LjEgMzIuMi0zNy45IDMyLjItNTkuMyAwLTIzLjktMTQuMS00Ny0zOS43LTY1LjEtMi41LTEuNy00LjEtNC4zLTQuNi03LjMtLjUtMi45IC4xLTYgMS45LTguNCAxLjctMi41IDQuMy00LjEgNy4zLTQuNiAyLjktLjUgNiAuMSA4LjQgMS45IDMxLjggMjIuNCA0OS4zIDUyLjEgNDkuMyA4My41ek0yMTYuNyAzNDEuNWMtMyAuNS02LS4yLTguNS0xLjktMzEuNy0yMi40LTUwLjEtNTIuMS01MC4xLTgzLjVzMTguNC02MS4xIDUwLjEtODMuNWMyLjItMS42IDQuOS0yLjMgNy41LTIuMSAyLjcgLjMgNS4xIDEuNCA3IDMuM2w3MC4xIDY5LjhjMi4xIDIuMSAzLjMgNSAzLjMgOHMtMiA1LjgtMy4zIDhjLTIuMSAyLjEtNSAzLjMtNy45IDMuMy0zIDAtNi44LTEuMi04LTMuM2wtNjMuMS02Mi45Yy0yMC45IDE3LjMtMzIuMiAzOC0zMi4yIDU5LjQgMCAyMyAxNC4xIDQ3IDM5LjcgNjUgMi40IDEuOCA0LjEgNC40IDQuNiA3LjQgLjUgMi45LS4yIDUuOS0xLjkgOC40LTEuNyAyLjQtNC40IDQuMS03LjMgNC42eiJdfSxsYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1ieSIsaWNvbjpbNTEyLDUxMixbXSwiZjRlNyIsIk0zMjIuOSAxOTQuNGwwIDEwMS40LTI4LjMgMCAwIDEyMC41LTc3LjEgMCAwLTEyMC40LTI4LjMgMCAwLTEwMS41YzAtNC40IDEuNi04LjIgNC42LTExLjMgMy4xLTMuMSA2LjktNC43IDExLjMtNC43bDEwMS45IDBjNC4xIDAgNy44IDEuNiAxMS4xIDQuNyAzLjEgMy4yIDQuOCA2LjkgNC44IDExLjN6bS0zMi41LTY0LjVhMzQuNSAzNC41IDAgMSAxIC02OSAuOCAzNC41IDM0LjUgMCAxIDEgNjktLjh6TTI1NS42IDhDMzk3LjQgOCA1MDQgMTE4LjEgNTA0IDI1NiA1MDQgNDAzLjEgMzg1LjUgNTA0IDI1NS42IDUwNCAxMjEuNiA1MDQgOCAzOTQuNSA4IDI1NiA4IDEyMy4xIDExMi43IDggMjU1LjYgOHptLjggNDQuN2MtMTE4LjIgMC0yMDMuNyA5Ny45LTIwMy43IDIwMy4zIDAgMTA5LjggOTEuMiAyMDIuOCAyMDMuNyAyMDIuOCAxMDMuMiAwIDIwMi44LTgxLjEgMjAyLjgtMjAyLjggLjEtMTEzLjgtOTAuMi0yMDMuMy0yMDIuOC0yMDMuM3oiXX0sY2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVtYnJhY28iLGljb246WzUxMiw1MTIsW10sImY4ZTgiLCJNMjU2LjMgOGEyNDggMjQ4IDAgMSAwIC0uNyA0OTYgMjQ4IDI0OCAwIDEgMCAuNy00OTZ6bTE0NSAyNjZjLS44IDI3LjEtNS40IDQ4LjgtMTQgNjVzLTIzLjEgMjcuOS00My41IDM1Yy0yMC40IDcuMS00OC45IDEwLjYtODUuNCAxMC41bC00LjYgMGMtMzYuNSAuMS02NS0zLjMtODUuNC0xMC41cy0zNC45LTE4LjgtNDMuNS0zNWMtOC42LTE2LjItMTMuMi0zNy45LTE0LTY1LS43LTEwLjItLjctMjAuNSAwLTMwLjcgLjQtMTQuNyAxLjYtMjkuMyAzLjYtNDMuOSAxLjktMTMuNCAzLjYtMjIuNiA1LjQtMzIgMS00LjkgMS4zLTYuNCAxLjgtOC40IC4zLTEuMSAuOS0yLjEgMS44LTIuOHMyLTEuMSAzLjEtMS4xbC43IDAgMzIgNWMxLjIgLjIgMi4yIC44IDMgMS43czEuMiAyLjEgMS4yIDMuM2MwIC4zIDAgLjUgMCAuOGwtMS43IDguOGMtMS42IDguOC0zLjIgMjAuMS00LjggMzMuNy0xLjcgMTQtMi41IDI4LjEtMi42IDQyLjItLjIgMjcgMi41IDQ2LjkgOC4xIDU5LjggMi44IDYuNCA3LjIgMTIgMTIuNiAxNi40czExLjkgNy40IDE4LjcgOC44YzE4LjggNCAzOC4xIDUuNyA1Ny4zIDUuMWwxMC4zIDBjMTkuMiAuNiAzOC41LTEuMiA1Ny4zLTUuMiA2LjgtMS40IDEzLjItNC41IDE4LjYtOC44czkuNy0xMCAxMi41LTE2LjRjNS43LTEyLjkgOC40LTMyLjkgOC4xLTU5LjgtLjEtMTQuMS0xLTI4LjItMi42LTQyLjEtMS43LTEzLjYtMy4zLTI0LjgtNC45LTMzLjdsLTEuNy04LjhjMC0uMyAwLS41IDAtLjggMC0xLjIgLjQtMi40IDEuMi0zLjNzMS44LTEuNSAzLTEuN2wzMi01IC44IDBjMS4xIDAgMi4yIC40IDMuMSAxLjFzMS41IDEuNyAxLjggMi44Yy42IDIgLjggMy42IDEuOCA4LjQgMS44IDkuNiAzLjUgMTguOCA1LjQgMzIgMiAxNC42IDMuMiAyOS4yIDMuNiA0My45IC43IDEwLjIgLjcgMjAuNSAwIDMwLjdsMCAweiJdfSxkYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaG9vbGkiLGljb246WzY0MCw1MTIsW10sImY0MjciLCJNMTQ0LjUgMzUybDM4LjMgLjhjLTEzLjItNC42LTI2LTEwLjItMzguMy0xNi44bDAgMTZ6bTU3LjctNS4zbDAgNS4zLTE5LjQgLjhjMzYuNSAxMi41IDY5LjkgMTQuMiA5NC43IDcuMi0xOS45IC4yLTQ1LjgtMi42LTc1LjMtMTMuM3pNNjExLjEgMjMxLjVjMTUuOSAwIDI4LjktMTIuOSAyOC45LTI4LjlzLTEyLjktMjQuNS0yOC45LTI0LjVjLTE1LjkgMC0yOC45IDguNi0yOC45IDI0LjVzMTIuOSAyOC45IDI4LjkgMjguOXpNNTgyLjEgMzUybDU3LjkgMCAwLTExMC41LTU3LjkgMCAwIDExMC41em0tNzMuNyAwbDU3LjkgMCAwLTE5NS4zLTU3LjkgMjcuMyAwIDE2OHptLTMxLTExOS40Yy0xOC4yLTE4LjItNTAuNC0xNy4xLTUwLjQtMTcuMXMtMzIuMy0xLjEtNTAuNCAxNy4xYy0xOC4yIDE4LjItMTYuOCAzMy45LTE2LjggNTIuNnMtMS40IDM0LjMgMTYuOCA1Mi41IDUwLjQgMTcuMSA1MC40IDE3LjEgMzIuMyAxLjEgNTAuNC0xNy4xYzE4LjItMTguMiAxNi44LTMzLjggMTYuOC01Mi41LS4xLTE4LjggMS4zLTM0LjUtMTYuOC01Mi42em0tMzkuOCA3MS45YzAgMy42LTEuOCAxMi41LTEwLjcgMTIuNXMtMTAuNy04LjktMTAuNy0xMi41bDAtNDAuNGMwLTguNyA3LjMtMTAuOSAxMC43LTEwLjlzMTAuNyAyLjEgMTAuNyAxMC45bDAgNDAuNHpNMzMxLjQgMjMyLjZjLTE4LjItMTguMi01MC40LTE3LjEtNTAuNC0xNy4xcy0zMi4yLTEuMS01MC40IDE3LjFjLTEuOSAxLjktMy43IDMuOS01LjMgNi0zOC4yLTI5LjYtNzIuNS00Ni41LTEwMi4xLTYxLjFsMC0yMC43LTIyLjUgMTAuNmMtNTQuNC0yMi4xLTg5LTE4LjItOTcuMyAuMSAwIDAtMjQuOSAzMi44IDYxLjggMTEwLjhsMCA3My43IDU3LjkgMCAwLTI4LjZjLTYuNS00LjItMTMtOC43LTE5LjQtMTMuNi0xNC44LTExLjItMjcuNC0yMS42LTM4LjQtMzEuNGwwLTMxYzEzLjEgMTQuNyAzMC41IDMxLjQgNTMuNCA1MC4zbDQuNSAzLjYgMC0yOS44YzAtNi45IDEuNy0xOC4yIDEwLjgtMTguMnMxMC42IDYuOSAxMC42IDE1bDAgNDguN2MxOCAxMi4yIDM3LjMgMjIuMSA1Ny43IDI5LjZsMC05My45YzAtMTguNy0xMy40LTM3LjQtNDAuNi0zNy40LTE1LjgtLjEtMzAuNSA4LjItMzguNSAyMS45bDAtNTQuM2M0MS45IDIwLjkgODMuOSA0Ni41IDk5LjkgNTguMy0xMC4yIDE0LjYtOS4zIDI4LjEtOS4zIDQzLjcgMCAxOC43LTEuNCAzNC4zIDE2LjggNTIuNXM1MC40IDE3LjEgNTAuNCAxNy4xIDMyLjMgMS4xIDUwLjQtMTcuMWMxOC4yLTE4LjIgMTYuNy0zMy44IDE2LjctNTIuNSAwLTE4LjUgMS41LTM0LjItMTYuNy01Mi4zek02NS4yIDE4NGwwIDYzLjNjLTQ4LjctNTQuNS0zOC45LTc2LTM1LjItNzkuMSAxMy41LTExLjQgMzcuNS04IDY0LjQgMi4xTDY1LjIgMTg0ek0yOTEuNyAzMDQuNWMwIDMuNi0xLjggMTIuNS0xMC43IDEyLjVzLTEwLjctOC45LTEwLjctMTIuNWwwLTQwLjRjMC04LjcgNy4zLTEwLjkgMTAuNy0xMC45czEwLjcgMi4xIDEwLjcgMTAuOWwwIDQwLjR6Il19LFN1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZ2l0IixpY29uOls0NDgsNTEyLFsiZ2l0LXNxdWFyZSJdLCJmMWQyIiwiTTEyMC44IDMzNS41Yy01LjktLjQtMTIuNi0uOC0yMC4yLTEuMy0zLjMgNC4xLTYuNiA4LjQtNi42IDEzLjUgMCAxOC41IDY1LjUgMTguNSA2NS41LTEuNSAwLTguMy03LjQtOC43LTM4LjgtMTAuN2wuMSAwem03LjgtMTE3LjljLTMyLjMgMC0zMy43IDQ0LjUtLjcgNDQuNSAzMi41IDAgMzEuNy00NC41IC43LTQ0LjV6TTM4NCAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0ek0yNDMuOSAxNzIuMmMtMTQuNSAwLTIyLjktOC40LTIyLjktMjIuOXM4LjQtMjIuMyAyMi45LTIyLjNjMTQuNyAwIDIzLjEgNy44IDIzLjEgMjIuM3MtOC40IDIyLjktMjMuMSAyMi45ek0xNDkuNiAxOTVsNDkuNSAwIDAgMjEuNi0yMy40IDEuOGM0LjYgNS44IDkuNCAxNCA5LjQgMjUuNyAwIDQ4LjctNTcuMiA0Ny4yLTc0LjIgNDIuNGwtOC40IDEzLjRjNSAuMyA5LjggLjYgMTQuMyAuOCA1Ni4zIDMuMiA4MC41IDQuNiA4MC41IDM4LjUgMCAyOS4yLTI1LjcgNDUuNy02OS45IDQ1LjctNDYgMC02My41LTExLjYtNjMuNS0zMS43IDAtMTEuNCA1LjEtMTcuNSAxNC0yNS45LTguNC0zLjUtMTEuMi05LjktMTEuMi0xNi44IDAtOS42IDcuNC0xNi4zIDIzLTMwLjZsLjItLjJjLTEyLjQtNi4xLTIxLjgtMTkuMy0yMS44LTM4LjEgMC01MS42IDU2LjYtNTMuMyA4MS42LTQ2LjhsLS4xIC4yek0yNzAuNSAzMDMuMWwxMyAxLjggMCAyMC4xLTcyLjQgMCAwLTIwLjFjMi43LS40IDUtLjcgNi45LS45IDkuOS0xLjIgMTAuMS0xLjMgMTAuMS02bDAtNzQuN2MwLTQuNC0uOS00LjctMTAuMS03LjgtMS45LS43LTQuMi0xLjQtNi45LTIuNGwyLjgtMjAuNiA1Mi42IDAgMCAxMDUuNWMwIDQuMSAuMiA0LjYgNC4xIDUuMWwtLjEgMHptMTA2LjYtMTAuNEwzODQgMzE1Yy0xMC45IDUuNC0yNi45IDEwLjItNDEuNCAxMC4yLTMwLjIgMC00MS43LTEyLjItNDEuNy00MC45bDAtNjYuNmMwLS44IDAtMS40LS4yLTEuOC0uOC0xLjItNC4yLS43LTE5LjYtLjdsMC0yMi42YzIyLjMtMi41IDMxLjItMTMuNyAzNC00MS40bDI0LjIgMGMwIDMzLjMtLjYgMzggLjcgMzguNiAuMyAuMSAuNyAwIDEuMyAwbDM1LjggMCAwIDI1LjQtMzcuOCAwIDAgNjEuNmMtLjIgNi4zLS45IDMwLjQgMzcuOSAxNS45bC0uMSAweiJdfSx1YnQ9U3VlLHBidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvZG5va2xhc3NuaWtpIixpY29uOlszMjAsNTEyLFtdLCJmMjYzIiwiTTI3NS4xIDMzNGMtMjcuNCAxNy40LTY1LjEgMjQuMy05MCAyNi45bDIwLjkgMjAuNiA3Ni4zIDc2LjNjMjcuOSAyOC42LTE3LjUgNzMuMy00NS43IDQ1LjctMTkuMS0xOS40LTQ3LjEtNDcuNC03Ni4zLTc2LjZMODQgNTAzLjRjLTI4LjIgMjcuNS03My42LTE3LjYtNDUuNC00NS43IDE5LjQtMTkuNCA0Ny4xLTQ3LjQgNzYuMy03Ni4zbDIwLjYtMjAuNmMtMjQuNi0yLjYtNjIuOS05LjEtOTAuNi0yNi45LTMyLjYtMjEtNDYuOS0zMy4zLTM0LjMtNTkgNy40LTE0LjYgMjcuNy0yNi45IDU0LjYtNS43IDAgMCAzNi4zIDI4LjkgOTQuOSAyOC45UzI1NSAyNjkuMiAyNTUgMjY5LjJjMjYuOS0yMS4xIDQ3LjEtOC45IDU0LjYgNS43IDEyLjQgMjUuNy0xLjkgMzgtMzQuNSA1OS4xem0xNC42LTIwNC43YTEyOS43IDEyOS43IDAgMSAxIC0yNTkuNCAuNCAxMjkuNyAxMjkuNyAwIDEgMSAyNTkuNC0uNHptLTE5My40IC40YTYzLjcgNjMuNyAwIDEgMCAxMjcuNC0uNCA2My43IDYzLjcgMCAxIDAgLTEyNy40IC40eiJdfSxmYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZHJ1cGFsIixpY29uOlszODQsNTEyLFtdLCJmMWE5IiwiTTI3Mi4zIDEwOC4xQzIzNi41IDcyLjUgMjAyLjUgMzguNCAxOTIuNCAwIDE4Mi40IDM4LjQgMTQ4LjEgNzIuNSAxMTIuNCAxMDguMSA1OC44IDE2MS43LTEuOSAyMjIuNC0xLjkgMzEzLjQtNC4zIDQyMC43IDgwLjggNTA5LjYgMTg4LjEgNTEyczE5Ni4yLTgyLjggMTk4LjUtMTkwLjFjLjEtMi44IC4xLTUuNiAwLTguNSAwLTkxLjEtNjAuOC0xNTEuNy0xMTQuMy0yMDUuM3pNOTggMzMxLjFjLTUuOSA3LjUtMTEgMTUuNi0xNS4yIDI0LjItLjMgLjctLjggMS4zLTEuMyAxLjhzLTEuMiAuOC0yIDFsLTEuNyAwYy00LjMgMC05LjItOC41LTkuMi04LjUtMS4zLTItMi41LTQuMi0zLjctNi40bC0uOC0xLjhjLTExLjItMjUuNy0xLjUtNjIuMy0xLjUtNjIuMyA0LjgtMTcuOCAxMi43LTM0LjcgMjMuMi00OS45IDYuNC05LjYgMTMuNS0xOC45IDIxLTI3LjdsOS4yIDkuMiA0My41IDQ0LjRjLjggLjkgMS4zIDIuMSAxLjMgMy4zcy0uNSAyLjQtMS4zIDMuM0wxMTQuMSAzMTIuMyA5OCAzMzEuMXptOTYuNiAxMjcuM2MtMTIuOS0uMS0yNS42LTMuOS0zNi40LTExcy0xOS40LTE3LjEtMjQuNi0yOC45LTctMjQuOS01LTM3LjcgNy42LTI0LjcgMTYuMi0zNC40YzE0LjItMTYuOSAzMS41LTMzLjUgNTAuMy01NS4zIDIyLjMgMjMuOCAzNi45IDQwLjEgNTEuMiA1OCAxLjEgMS40IDIuMSAyLjkgMyA0LjQgNy44IDExLjEgMTIgMjQuNCAxMiAzOCAwIDguOC0xLjcgMTcuNC01IDI1LjVzLTguMiAxNS41LTE0LjQgMjEuNy0xMy41IDExLjEtMjEuNiAxNC41LTE2LjcgNS4xLTI1LjUgNS4xbC0uMiAwek0zMjAuNyAzNTEuNmMtLjQgMS40LTEuMiAyLjYtMi4zIDMuNnMtMi40IDEuNi0zLjggMS44bC0xLjMgMGMtMi42LS45LTQuOS0yLjctNi4zLTUuMS0xMS42LTE3LjUtMjQuOS0zMy45LTM5LjUtNDlsLTE3LjgtMTguNC01OS4xLTYxLjNjLTEyLjQtMTEuNS0yNC4yLTIzLjYtMzUuNC0zNi4zLS4zLS41LS42LS45LS45LTEuNC0yLTIuOC0zLjYtNS45LTQuNy05LjJsMC0xLjhjLS44LTUtLjQtMTAuMSAxLjItMTVzNC40LTkuMiA4LTEyLjdjMTEuNC0xMS40IDIzLTIzIDMzLjgtMzQuOSAxMiAxMy4zIDI0LjggMjYgMzcuNCAzOC42IDI1LjggMjQgNDkuMSA1MC41IDY5LjYgNzkuMSAxNy4zIDI0LjUgMjYuNyA1My44IDI3IDgzLjgtLjEgMTIuOS0yLjIgMjUuOC02IDM4LjJ6Il19LGhidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJibG9nZ2VyLWIiLGljb246WzQ0OCw1MTIsW10sImYzN2QiLCJNNDQ2LjYgMjIyLjdjLTEuOC04LTYuOC0xNS40LTEyLjUtMTguNS0xLjgtMS0xMy0yLjItMjUtMi43LTIwLjEtLjktMjIuMy0xLjMtMjguNy01LTEwLjEtNS45LTEyLjgtMTIuMy0xMi45LTI5LjUtLjEtMzMtMTMuOC02My43LTQwLjktOTEuMy0xOS4zLTE5LjctNDAuOS0zMy02NS41LTQwLjUtNS45LTEuOC0xOS4xLTIuNC02My4zLTIuOS02OS40LS44LTg0LjggLjYtMTA4LjQgMTAtNDMuNSAxNy4yLTc0LjcgNTMuOC04Ni4xIDEwMC42LTIuMSA4LjgtMi42IDIyLjktMy4xIDEwMy45LS42IDEwMS41IC4xIDExNi40IDYuNCAxMzYuNSAxNS42IDQ5LjYgNTkuOSA4Ni4zIDEwNC40IDk0LjMgMTQuOCAyLjcgMTk3LjMgMy4zIDIxNiAuOCAzMi41LTQuNCA1OC0xNy41IDgxLjktNDEuOSAxNy4zLTE3LjcgMjguMS0zNi44IDM1LjItNjIuMSA0LjktMTcuNiA0LjUtMTQyLjggMi41LTE1MS43ek0xMjQuNSAxNTkuMWM3LjgtNy45IDEwLTguMiA1OC44LTguMiA0My45IDAgNDUuNCAuMSA1MS44IDMuNCA5LjMgNC43IDEzLjQgMTEuMyAxMy40IDIxLjkgMCA5LjUtMy44IDE2LjItMTIuMyAyMS42LTQuNiAyLjktNy4zIDMuMS01MC4zIDMuMy0yNi41IC4yLTQ3LjctLjQtNTAuOC0xLjItMTYuNi00LjctMjIuOC0yOC41LTEwLjYtNDAuOHpNMzE2LjMgMzU4LjlsLTE0LjkgMi40LTc3LjUgLjljLTY4LjEgLjgtODcuMy0uNC05MC45LTItNy4xLTMuMS0xMy44LTExLjctMTQuOS0xOS40LTEuMS03LjMgMi42LTE3LjMgOC4yLTIyLjQgNy4xLTYuNCAxMC4yLTYuNiA5Ny4zLTYuNyA4OS42LS4xIDg5LjEtLjEgOTcuNiA3LjggMTIuMSAxMS4zIDkuNSAzMS4yLTQuOSAzOS40eiJdfSxtYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaW52aXNpb24iLGljb246WzQ0OCw1MTIsW10sImY3YjAiLCJNNDA3LjQgMzJMNDAuNiAzMkMxOC4yIDMyIDAgNTAuMiAwIDcyLjZMMCA0MzkuNEMwIDQ2MS44IDE4LjIgNDgwIDQwLjYgNDgwbDM2Ni44IDBjMjIuNCAwIDQwLjYtMTguMiA0MC42LTQwLjZsMC0zNjYuOEM0NDggNTAuMiA0MjkuOCAzMiA0MDcuNCAzMnpNMTc2LjEgMTQ1LjZjLjQgMjMuNC0yMi40IDI3LjMtMjYuNiAyNy40LTE0LjkgMC0yNy4xLTEyLTI3LjEtMjcgLjEtMzUuMiA1My4xLTM1LjUgNTMuNy0uNHpNMzMyLjggMzc3Yy02NS42IDAtMzQuMS03NC0yNS0xMDYuNiAxNC4xLTQ2LjQtNDUuMi01OS01OS45IC43bC0yNS44IDEwMy4zLTQ1LjEgMCA4LjEtMzIuNWMtMzEuNSA1MS44LTk0LjYgNDQuNC05NC42LTQuMyAuMS0xNC4zIC45LTE0IDIzLTEwNC4xbC0zMS44IDAgOS43LTM1LjYgNzYuNCAwYy0zMy42IDEzMy43LTMyLjYgMTI2LjktMzIuOSAxMzguMiAwIDIwLjkgNDAuOSAxMy41IDU3LjQtMjMuMmwxOS44LTc5LjQtMzIuMyAwIDkuNy0zNS42IDY4LjggMC04LjkgNDAuNWM0MC41LTc1LjUgMTI3LjktNDcuOCAxMDEuOCAzOC0xNC4yIDUxLjEtMTQuNiA1MC43LTE0LjkgNTguOCAwIDE1LjUgMTcuNSAyMi42IDMxLjgtMTYuOUwzODYgMzI1Yy0xMC41IDM2LjctMjkuNCA1Mi01My4yIDUyeiJdfSxnYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmFjZWJvb2stZiIsaWNvbjpbMzIwLDUxMixbXSwiZjM5ZSIsIk04MCAyOTkuM2wwIDIxMi43IDExNiAwIDAtMjEyLjcgODYuNSAwIDE4LTk3LjgtMTA0LjUgMCAwLTM0LjZjMC01MS43IDIwLjMtNzEuNSA3Mi43LTcxLjUgMTYuMyAwIDI5LjQgLjQgMzcgMS4ybDAtODguN0MyOTEuNCA0IDI1Ni40IDAgMjM2LjIgMCAxMjkuMyAwIDgwIDUwLjUgODAgMTU5LjRsMCA0Mi4xLTY2IDAgMCA5Ny44IDY2IDB6Il19LGJidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjZW50b3MiLGljb246WzQ0OCw1MTIsW10sImY3ODkiLCJNMjg5LjYgOTcuNWwzMS42IDMxLjctNzYuMyA3Ni41IDAtMTA4LjIgNDQuNyAwek0xMjcuMiAxMjkuMmw3Ni4zIDc2LjUgMC0xMDguMi00NC43IDAtMzEuNiAzMS43em00MS41LTQxLjZsNDQuNyAwIDAgMTI3LjkgMTAuOCAxMC44IDEwLjgtMTAuOCAwLTEyNy45IDQ0LjcgMC01NS41LTU1LjYtNTUuNSA1NS42em0yNi4yIDE2OC4xbC0xMC44LTEwLjgtMTI4LjYgMCAwLTQ0LjgtNTUuNSA1NS42IDU1LjUgNTUuNiAwLTQ0LjggMTI4LjYgMCAxMC44LTEwLjh6TTI3NC4yIDIzNWwxMDcuOSAwIDAtNDQuOC0zMS42LTMxLjctNzYuMyA3Ni41em0xNzMuMyAyMC43bC01NS41LTU1LjYgMCA0NC44LTEyNy43IDAtMTAuOCAxMC44IDEwLjggMTAuOCAxMjcuNyAwIDAgNDQuOCA1NS41LTU1LjZ6TTY1LjQgMTc2LjJsMzIuNS0zMS43IDkwLjMgOTAuNSAxNS4zIDAgMC0xNS4zLTkwLjMtOTAuNSAzMS42LTMxLjctNzkuNCAwIDAgNzguN3pNMzgyLjEgOTcuNWwtNzguNSAwIDMxLjYgMzEuNy05MC4zIDkwLjUgMCAxNS4zIDE1LjMgMCA5MC4zLTkwLjUgMzEuNiAzMS43IDAtNzguN3pNMjAzLjUgNDEzLjlsMC0xMDguMS03Ni4zIDc2LjUgMzEuNiAzMS43IDQ0LjcgMCAwLS4xek02NS40IDIzNWwxMDguOCAwLTc2LjMtNzYuNS0zMi41IDMxLjcgMCA0NC44ek0zODIuMSAzMzUuMmwtMzEuNiAzMS43LTkwLjMtOTAuNS0xNS4zIDAgMCAxNS4zIDkwLjMgOTAuNS0zMS42IDMxLjcgNzguNSAwIDAtNzguN3ptMC01OC44bC0xMDcuOSAwIDc2LjMgNzYuNSAzMS42LTMxLjcgMC00NC44ek0zMjEuMiAzODIuMmwtNzYuMy03Ni41IDAgMTA4LjEgNDQuNyAwIDMxLjYtMzEuNnpNOTcuOSAzNTIuOWw3Ni4zLTc2LjUtMTA4LjggMCAwIDQ0LjggMzIuNSAzMS43em0xODEuOCA3MC45bC00NC43IDAgMC0xMjcuOS0xMC44LTEwLjgtMTAuOCAxMC44IDAgMTI3LjktNDQuNyAwIDU1LjUgNTUuNiA1NS41LTU1LjZ6TTExMy4yIDM4Mi4ybDkwLjMtOTAuNSAwLTE1LjMtMTUuMyAwLTkwLjMgOTAuNS0zMi41LTMxLjcgMCA3OC43IDc5LjQgMC0zMS42LTMxLjd6Il19LHZidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzY2FsZXdheSIsaWNvbjpbNDQ4LDUxMixbXSwiZTg1OSIsIk0yNDMuNCAxMTcuM2wtODQuMyAwYy0xOC41IDIuMS0zMi43IDE3LjUtMzMuNCAzNmwwIDEyMS45YzAgOC4yIDMuMiAxNS4zIDguNSAyMC43czEyLjUgOC42IDIwLjYgOC42YzE2IDAgMjkuMi0xMy4yIDI5LjItMjkuMmwwLTc3LjRjMC0xMi4xIDEwLTIyLjEgMjIuMS0yMi4xbDM4LjEgMGM4LjIgMCAxNS4zLTMuMiAyMC42LTguNnM4LjUtMTIuOCA4LjUtMjFjMC0xNi0xMy45LTI4LjktMjkuOS0yOC45ek0yMDUuMyAzOTUuNGw4NC4zIDBjMTguNS0yLjEgMzIuNy0xNy41IDMzLjQtMzZsMC0xMjEuOWMwLTguMi0zLjItMTUuMy04LjUtMjAuN3MtMTIuNS04LjYtMjAuNi04LjZjLTE2IDAtMjkuMiAxMy4yLTI5LjIgMjkuMmwwIDc3LjRjMCAxMi4xLTEwIDIyLjEtMjIuMSAyMi4xbC0zOC4xIDBjLTguMiAwLTE1LjMgMy4yLTIwLjYgOC42cy04LjUgMTIuOC04LjUgMjFjLjQgMTYgMTMuOSAyOC45IDI5LjkgMjguOXpNMTA0LjMgMEwyNTcuNiAwYzEwMSAwIDE4Mi41IDgxLjYgMTgyLjEgMTgyLjlsMCAyNDIuOGMtNC42IDQ2LTQyIDgyLjQtODguMiA4Ni4zTDE5MCA1MTJDODkuMyA1MTIgNy41IDQzMCA3LjUgMzI5LjFMNy41IDk3YzAtNTMuNSA0My40LTk3IDk2LjgtOTd6TTM4MS43IDE4Mi45YzAtNjguNS01NS45LTEyNC40LTEyNC4yLTEyNC40bC0xNTMgMEM4My4zIDU4LjUgNjYuMiA3NS42IDY2LjIgOTdsMCAyMzIuMWMwIDY4LjggNTUuNSAxMjQuNCAxMjQuMiAxMjQuNGwxNTguNyAwYzE2LjctMi4xIDI5LjktMTUgMzIuNy0zMS40bDAtMjM5LjJ6Il19LHhidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1hbWF6b24tcGF5IixpY29uOls1NzYsNTEyLFtdLCJmNDJkIiwiTTEyNC43IDIwMS44Yy4xLTExLjggMC0yMy41IDAtMzUuM2wwLTM1LjNjMC0xLjMgLjQtMiAxLjQtMi43IDExLjUtOCAyNC4xLTEyLjEgMzguMi0xMS4xIDEyLjUgLjkgMjIuNyA3IDI4LjEgMjEuNyAzLjMgOC45IDQuMSAxOC4yIDQuMSAyNy43IDAgOC43LS43IDE3LjMtMy40IDI1LjYtNS43IDE3LjgtMTguNyAyNC43LTM1LjcgMjMuOS0xMS43LS41LTIxLjktNS0zMS40LTExLjctLjktLjgtMS40LTEuNi0xLjMtMi44em0xNTQuOSAxNC42YzQuNiAxLjggOS4zIDIgMTQuMSAxLjUgMTEuNi0xLjIgMjEuOS01LjcgMzEuMy0xMi41IC45LS42IDEuMy0xLjMgMS4zLTIuNS0uMS0zLjkgMC03LjkgMC0xMS44IDAtNC0uMS04IDAtMTIgMC0xLjQtLjQtMi0xLjgtMi4yLTctLjktMTMuOS0yLjItMjAuOS0yLjktNy0uNi0xNC0uMy0yMC44IDEuOS02LjcgMi4yLTExLjcgNi4yLTEzLjcgMTMuMS0xLjYgNS40LTEuNiAxMC44IC4xIDE2LjIgMS42IDUuNSA1LjIgOS4yIDEwLjQgMTEuMnpNNTc2IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw0ODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMzY4LjUgMTAzLjljLjQgMS43IC45IDMuNCAxLjYgNS4xIDE2LjUgNDAuNiAzMi45IDgxLjMgNDkuNSAxMjEuOSAxLjQgMy41IDEuNyA2LjQgLjIgOS45LTIuOCA2LjItNC45IDEyLjYtNy44IDE4LjctMi42IDUuNS02LjcgOS41LTEyLjcgMTEuMi00LjIgMS4xLTguNSAxLjMtMTIuOSAuOS0yLjEtLjItNC4yLS43LTYuMy0uOC0yLjgtLjItNC4yIDEuMS00LjMgNC0uMSAyLjgtLjEgNS42IDAgOC4zIC4xIDQuNiAxLjYgNi43IDYuMiA3LjUgNC43IC44IDkuNCAxLjYgMTQuMiAxLjcgMTQuMyAuMyAyNS43LTUuNCAzMy4xLTE3LjkgMi45LTQuOSA1LjYtMTAuMSA3LjctMTUuNCAxOS44LTUwLjEgMzkuNS0xMDAuMyA1OS4yLTE1MC41IC42LTEuNSAxLjEtMyAxLjMtNC42IC40LTIuNC0uNy0zLjYtMy4xLTMuNy01LjYtLjEtMTEuMSAwLTE2LjcgMC0zLjEgMC01LjMgMS40LTYuNCA0LjMtLjQgMS4xLS45IDIuMy0xLjMgMy40bC0yOS4xIDgzLjdjLTIuMSA2LjEtNC4yIDEyLjEtNi41IDE4LjYtLjQtLjktLjYtMS40LS44LTEuOS0xMC44LTI5LjktMjEuNi01OS45LTMyLjQtODkuOC0xLjctNC43LTMuNS05LjUtNS4zLTE0LjItLjktMi41LTIuNy00LTUuNC00LTYuNC0uMS0xMi44LS4yLTE5LjItLjEtMi4yIDAtMy4zIDEuNi0yLjggMy43ek0yNDIuNCAyMDZjMS43IDExLjcgNy42IDIwLjggMTggMjYuNiA5LjkgNS41IDIwLjcgNi4yIDMxLjcgNC42IDEyLjctMS45IDIzLjktNy4zIDMzLjgtMTUuNSAuNC0uMyAuOC0uNiAxLjQtMSAuNSAzLjIgLjkgNi4yIDEuNSA5LjIgLjUgMi42IDIuMSA0LjMgNC41IDQuNCA0LjYgLjEgOS4xIC4xIDEzLjcgMCAyLjMtLjEgMy44LTEuNiA0LTMuOSAuMS0uOCAuMS0xLjYgLjEtMi4zbDAtODguOGMwLTMuNi0uMi03LjItLjctMTAuOC0xLjYtMTAuOC02LjItMTkuNy0xNS45LTI1LjQtNS42LTMuMy0xMS44LTUtMTguMi01LjktMy0uNC02LS43LTkuMS0xLjFsLTEwIDBjLS44IC4xLTEuNiAuMy0yLjUgLjMtOC4yIC40LTE2LjMgMS40LTI0LjIgMy41LTUuMSAxLjMtMTAgMy4yLTE1IDQuOS0zIDEtNC41IDMuMi00LjQgNi41IC4xIDIuOC0uMSA1LjYgMCA4LjMgLjEgNC4xIDEuOCA1LjIgNS43IDQuMSA2LjUtMS43IDEzLjEtMy41IDE5LjctNC44IDEwLjMtMS45IDIwLjctMi43IDMxLjEtMS4yIDUuNCAuOCAxMC41IDIuNCAxNC4xIDcgMy4xIDQgNC4yIDguOCA0LjQgMTMuNyAuMyA2LjkgLjIgMTMuOSAuMyAyMC44IDAgLjQtLjEgLjctLjIgMS4yLS40IDAtLjggMC0xLjEtLjEtOC44LTIuMS0xNy43LTMuNi0yNi44LTQuMS05LjUtLjUtMTguOSAuMS0yNy45IDMuMi0xMC44IDMuOC0xOS41IDEwLjMtMjQuNiAyMC44LTQuMSA4LjMtNC42IDE3LTMuNCAyNS44ek05OC43IDEwNi45bDAgMTc1LjNjMCAuOCAwIDEuNyAuMSAyLjUgLjIgMi41IDEuNyA0LjEgNC4xIDQuMiA1LjkgLjEgMTEuOCAuMSAxNy43IDAgMi41IDAgNC0xLjcgNC4xLTQuMSAuMS0uOCAuMS0xLjcgLjEtMi41bDAtNjAuN2MuOSAuNyAxLjQgMS4yIDEuOSAxLjYgMTUgMTIuNSAzMi4yIDE2LjYgNTEuMSAxMi45IDE3LjEtMy40IDI4LjktMTMuOSAzNi43LTI5LjIgNS44LTExLjYgOC4zLTI0LjEgOC43LTM3IC41LTE0LjMtMS0yOC40LTYuOC00MS43LTcuMS0xNi40LTE4LjktMjcuMy0zNi43LTMwLjktMi43LS42LTUuNS0uOC04LjItMS4ybC03IDBjLTEuMiAuMi0yLjQgLjMtMy42IC41LTExLjcgMS40LTIyLjMgNS44LTMxLjggMTIuNy0yIDEuNC0zLjkgMy01LjkgNC41LS4xLS41LS4zLS44LS40LTEuMi0uNC0yLjMtLjctNC42LTEuMS02LjktLjYtMy45LTIuNS01LjUtNi40LTUuNmwtOS43IDBjLTUuOS0uMS02LjkgMS02LjkgNi44ek00OTMuNiAzMzljLTIuNy0uNy01LjEgMC03LjYgMS00My45IDE4LjQtODkuNSAzMC4yLTEzNi44IDM1LjgtMTQuNSAxLjctMjkuMSAyLjgtNDMuNyAzLjItMjYuNiAuNy01My4yLS44LTc5LjYtNC4zLTE3LjgtMi40LTM1LjUtNS43LTUzLTkuOS0zNy04LjktNzIuNy0yMS43LTEwNi43LTM4LjgtOC44LTQuNC0xNy40LTkuMy0yNi4xLTE0LTMuOC0yLjEtNi4yLTEuNS04LjIgMi4xbDAgMS43YzEuMiAxLjYgMi4yIDMuNCAzLjcgNC44IDM2IDMyLjIgNzYuNiA1Ni41IDEyMiA3Mi45IDIxLjkgNy45IDQ0LjQgMTMuNyA2Ny4zIDE3LjUgMTQgMi4zIDI4IDMuOCA0Mi4yIDQuNSAzIC4xIDYgLjIgOSAuNCAuNyAwIDEuNCAuMiAyLjEgLjNsMTcuNyAwYy43LS4xIDEuNC0uMyAyLjEtLjMgMTQuOS0uNCAyOS44LTEuOCA0NC42LTQgMjEuNC0zLjIgNDIuNC04LjEgNjIuOS0xNC43IDI5LjYtOS42IDU3LjctMjIuNCA4My40LTQwLjEgMi44LTEuOSA1LjctMy44IDgtNi4yIDQuMy00LjQgMi4zLTEwLjQtMy4zLTExLjl6TTU0NCAzMTEuM2MtLjgtNC4yLTQtNS44LTcuNi03LTUuNy0xLjktMTEuNi0yLjgtMTcuNi0zLjMtMTEtLjktMjItLjQtMzIuOCAxLjYtMTIgMi4yLTIzLjQgNi4xLTMzLjUgMTMuMS0xLjIgLjgtMi40IDEuOC0zLjEgMy0uNiAuOS0uNyAyLjMtLjUgMy40IC4zIDEuMyAxLjcgMS42IDMgMS41IC42IDAgMS4yIDAgMS44LS4xbDE5LjUtMi4xYzkuNi0uOSAxOS4yLTEuNSAyOC44LS44IDQuMSAuMyA4LjEgMS4yIDEyIDIuMiA0LjMgMS4xIDYuMiA0LjQgNi40IDguNyAuMyA2LjctMS4yIDEzLjEtMi45IDE5LjUtMy41IDEyLjktOC4zIDI1LjQtMTMuMyAzNy44LS4zIC44LS43IDEuNy0uOCAyLjUtLjQgMi41IDEgNCAzLjQgMy41IDEuNC0uMyAzLTEuMSA0LTIuMSAzLjctMy42IDcuNS03LjIgMTAuNi0xMS4yIDEwLjctMTMuOCAxNy0yOS42IDIwLjctNDYuNiAuNy0zIDEuMi02LjEgMS43LTkuMSAuMi00LjcgLjItOS42IC4yLTE0LjV6Il19LHlidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlYmF5IixpY29uOls2NDAsNTEyLFtdLCJmNGY0IiwiTTYwNi41IDE4OS41bC01NC44IDEwOS45LTU0LjktMTA5LjktMzcuNSAwIDEwLjkgMjAuNmMtMTEuNS0xOS0zNS45LTI2LTYzLjMtMjYtMzEuOCAwLTY3LjkgOC43LTcxLjUgNDMuMWwzMy43IDBjMS40LTEzLjggMTUuNy0yMS44IDM1LTIxLjggMjYgMCA0MSA5LjYgNDEgMzNsMCAzLjRjLTEyLjcgMC0yOCAuMS00MS43IC40LTQyLjQgLjktNjkuNiAxMC03Ni43IDM0LjQgMS01LjIgMS41LTEwLjYgMS41LTE2LjIgMC01Mi4xLTM5LjctNzYuMi03NS40LTc2LjItMjEuMyAwLTQzIDUuNS01OC43IDI0LjJsMC04MC42LTMyLjEgMCAwIDE2OS41YzAgMTAuMy0uNiAyMi45LTEuMSAzMy4xbDMxLjUgMGMuNy02LjMgMS4xLTEyLjkgMS4xLTE5LjUgMTMuNiAxNi42IDM1LjQgMjQuOSA1OC43IDI0LjkgMzYuOSAwIDY0LjktMjEuOSA3My4zLTU0LjItLjUgMi44LS43IDUuOC0uNyA5IDAgMjQuMSAyMS4xIDQ1IDYwLjYgNDUgMjYuNiAwIDQ1LjgtNS43IDYxLjktMjUuNSAwIDYuNiAuMyAxMy4zIDEuMSAyMC4ybDI5LjggMGMtLjctOC4yLTEtMTcuNS0xLTI2LjhsMC02NS42YzAtOS4zLTEuNy0xNy4yLTQuOC0yMy44bDYxLjUgMTE2LjEtMjguNSA1NC4xIDM1LjkgMCA5OS4yLTE5NC44LTM0IDB6TTI0NC4yIDMxMy44Yy0yOS42IDAtNTAuMi0yMS41LTUwLjItNTMuOCAwLTMyLjQgMjAuNi01My44IDUwLjItNTMuOCAyOS44IDAgNTAuMiAyMS40IDUwLjIgNTMuOCAwIDMyLjMtMjAuNCA1My44LTUwLjIgNTMuOHptMjAwLjktNDcuM2MwIDMwLTE3LjkgNDguNC01MS42IDQ4LjQtMjUuMSAwLTM1LTEzLjQtMzUtMjUuOCAwLTE5LjEgMTguMS0yNC40IDQ3LjItMjUuMyAxMy4xLS41IDI3LjYtLjYgMzkuNC0uNmwwIDMuM3pNMzMuMiAyNjguMWwxMjguOCAwIDAtOC41YzAtNTEuNy0zMy4xLTc1LjQtNzguNC03NS40LTU2LjggMC04MyAzMC44LTgzIDc3LjYgMCA0Mi41IDI1LjMgNzQgODIuNSA3NCAzMS40IDAgNjgtMTEuNyA3NC40LTQ2LjFsLTMzLjEgMGMtMTIgMzUuOC04Ny43IDM2LjctOTEuMi0yMS42em05NS0yMS40bC05NC40IDBjNi45LTU2LjYgOTIuMS01NC43IDk0LjQgMHoiXX0sd2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNvbnRhbyIsaWNvbjpbNTEyLDUxMixbXSwiZjI2ZCIsIk00NS40IDMwNWMxNC40IDY3LjEgMjYuNCAxMjkgNjguMiAxNzVMMzQgNDgwYy0xOC43IDAtMzQtMTUuMi0zNC0zNEwwIDY2QzAgNDcuMyAxNS4yIDMyIDM0IDMybDU3LjcgMGMtMTMuOCAxMi42LTI2LjEgMjcuMi0zNi45IDQzLjYtNDUuNCA3MC0yNyAxNDYuOC05LjQgMjI5LjR6TTQ3OCAzMmwtOTAuMiAwYzIxLjQgMjEuNCAzOS4yIDQ5LjUgNTIuNyA4NC4xTDMwMy40IDE0NS40Yy0xNC45LTI5LTM3LjgtNTMuMy04Mi42LTQzLjktMjQuNiA1LjMtNDEgMTkuMy00OC4zIDM0LjYtOC44IDE4LjctMTMuMiAzOS44IDguMiAxNDAuMyAyMS4xIDEwMC4yIDMzLjcgMTE3LjcgNDkuNSAxMzEuMiAxMi45IDExLjEgMzMuNCAxNyA1OC4zIDExLjcgNDQuNS05LjQgNTUuNy00MC43IDU3LjQtNzMuMmwxMzcuNC0yOS42YzMuMiA3MS41LTE4LjcgMTI1LjItNTcuNCAxNjMuNmw1Mi4xIDBjMTguNyAwIDM0LTE1LjIgMzQtMzRMNTEyIDY2YzAtMTguOC0xNS4yLTM0LTM0LTM0eiJdfSxNYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZWxsbyIsaWNvbjpbNTEyLDUxMixbXSwiZjVmMSIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTM5OS44IDI5My4yQzM4My4zIDM1OC41IDMyMy44IDQwNC44IDI1NiA0MDQuOFMxMjguNyAzNTguNSAxMTIuMiAyOTMuMmMtMS42LTcuNCAyLjUtMTUuNyA5LjktMTcuNHMxNS43IDIuNSAxNy40IDkuOWMxNCA1Mi45IDYyIDkwLjEgMTE2LjYgOTAuMXMxMDIuNS0zNy4yIDExNi42LTkwLjFjMS43LTcuNCA5LjktMTIuNCAxNy40LTkuOSA3LjQgMS43IDEyLjQgOS45IDkuOSAxNy40eiJdfSxrYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2lzdHJpeCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNlZSIsIk00NDggNDQ5TDMwMS4yIDMwMC4yYzIwLTI3LjkgMzEuOS02Mi4yIDMxLjktOTkuMiAwLTkzLjEtNzQuNy0xNjguOS0xNjYuNS0xNjguOS05MS45LS4xLTE2Ni42IDc1LjctMTY2LjYgMTY4LjhTNzQuNyAzNjkuOCAxNjYuNSAzNjkuOGMzOS44IDAgNzYuMy0xNC4yIDEwNS0zNy45TDQxNy41IDQ4MCA0NDggNDQ5ek0xNjYuNSAzMzAuOGMtNzAuNiAwLTEyOC4xLTU4LjMtMTI4LjEtMTI5LjlTOTUuOSA3MSAxNjYuNSA3MSAyOTQuNiAxMjkuMyAyOTQuNiAyMDAuOSAyMzcuMiAzMzAuOCAxNjYuNSAzMzAuOHoiXX0sU2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBlcmlzY29wZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjNkYSIsIk0zNzAgNjMuNmMtMzguNi00MS04OS41LTYzLjYtMTQzLjQtNjMuNi0xMTQuNyAwLTIwOC4xIDk2LjItMjA4LjEgMjE0LjQgMCA3NS4xIDU3LjggMTU5LjggODIuNyAxOTIuNyAzNi42IDQ4LjQgOTEuNCAxMDQuOSAxMjUuNCAxMDQuOSA0MS42IDAgMTEyLjktOTQuMiAxMjAuOS0xMDUgMjQuNi0zMy4xIDgyLTExOC4zIDgyLTE5Mi42IDAtNTYuNS0yMS4xLTExMC4xLTU5LjUtMTUwLjh6TTIyNi42IDQ5My45Yy00Mi41IDAtMTkwLTE2Ny4zLTE5MC0yNzkuNCAwLTEwNy40IDgzLjktMTk2LjMgMTkwLTE5Ni4zIDEwMC44IDAgMTg0LjcgODkgMTg0LjcgMTk2LjMgLjEgMTEyLjEtMTQ3LjQgMjc5LjQtMTg0LjcgMjc5LjR6TTMzOCAyMDYuOGMwIDU5LjEtNTEuMSAxMDkuNy0xMTAuOCAxMDkuNy0xMDAuNiAwLTE1MC43LTEwOC4yLTkyLjktMTgxLjhsMCAuNGMwIDI0LjUgMjAuMSA0NC40IDQ0LjggNDQuNHM0NC44LTE5LjkgNDQuOC00NC40YzAtMTguMi0xMS4xLTMzLjgtMjYuOS00MC43IDc2LjYtMTkuMiAxNDEgMzkuMyAxNDEgMTEyLjR6Il19LHpidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJleHBlZGl0ZWRzc2wiLGljb246WzUxMiw1MTIsW10sImYyM2UiLCJNMjU2IDQzLjRhMjEyLjYgMjEyLjYgMCAxIDAgMCA0MjUuMiAyMTIuNiAyMTIuNiAwIDEgMCAwLTQyNS4yek0xNTguNiAxNzYuM2MwLTUzLjcgNDMuNy05Ny40IDk3LjQtOTcuNHM5Ny40IDQzLjcgOTcuNCA5Ny40bDAgMjYuNmMwIDUtMy45IDguOS04LjkgOC45bC0xNy43IDBjLTUgMC04LjktMy45LTguOS04LjlsMC0yNi42YzAtODIuMS0xMjQtODIuMS0xMjQgMGwwIDI2LjZjMCA1LTMuOSA4LjktOC45IDguOWwtMTcuNyAwYy01IDAtOC45LTMuOS04LjktOC45bDAtMjYuNiAuMiAwek0zOTcuNyAzODBjMCA5LjctOCAxNy43LTE3LjcgMTcuN2wtMjQ4IDBjLTkuNyAwLTE3LjctOC0xNy43LTE3LjdsMC0xNDEuN2MwLTkuNyA4LTE3LjcgMTcuNy0xNy43bDI0OCAwYzkuNyAwIDE3LjcgOCAxNy43IDE3LjdsMCAxNDEuN3ptLTI0OC0xMzcuM2wwIDEzMi45YzAgMi41LTEuOSA0LjQtNC40IDQuNGwtOC45IDBjLTIuNSAwLTQuNC0xLjktNC40LTQuNGwwLTEzMi45YzAtMi41IDEuOS00LjQgNC40LTQuNGw4LjkgMGMyLjUgMCA0LjQgMS45IDQuNCA0LjR6bTE0MS43IDQ4LjdjMCAxMy03LjIgMjQuNC0xNy43IDMwLjRsMCAzMS42YzAgNS0zLjkgOC45LTguOSA4LjlsLTE3LjcgMGMtNSAwLTguOS0zLjktOC45LTguOWwwLTMxLjZjLTEwLjUtNi4xLTE3LjctMTcuNC0xNy43LTMwLjQgMC0xOS43IDE1LjgtMzUuNCAzNS40LTM1LjRzMzUuNSAxNS44IDM1LjUgMzUuNHpNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2em0wIDE3LjdhMjMwLjMgMjMwLjMgMCAxIDEgMCA0NjAuNiAyMzAuMyAyMzAuMyAwIDEgMSAwLTQ2MC42eiJdfSxDYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibmFwc3RlciIsaWNvbjpbNTEyLDUxMixbXSwiZjNkMiIsIk0zMDYuMyAzNzMuNmMtMTQuMiAxMy42LTMxLjMgMjQuMS01MC40IDMwLjUtMTktNi40LTM2LjItMTYuOS01MC4zLTMwLjVsMTAwLjcgMHptNDQtMTk5LjZjMjAtMTYuOSA0My42LTI5LjIgNjkuNi0zNi4ybDAgMTYxLjJjMCAyMTkuNC0zMjggMjE3LjYtMzI4IC4zbDAtMTYxLjZjMjUuOSA2LjkgNDkuNiAxOS42IDY5LjUgMzYuNCA1Ni44LTQwIDEzMi41LTM5LjkgMTg4LjktLjF6TTE0MS41IDExNS41YzY0LjQtNjAgMTY0LjMtNjAuMSAyMjguOS0uMi03LjEgMy41LTEzLjkgNy4zLTIwLjYgMTEuNS01OC43LTMwLjUtMTI5LjItMzAuNC0xODcuOSAuMS02LjMtNC0xMy45LTguMi0yMC40LTExLjR6TTUxLjggOTMuMmwwIDY5LjNjLTU4LjQgMzYuNS01OC40IDEyMS4xIC4xIDE1OC4zIDI2LjQgMjQ1LjEgMzgxLjcgMjQwLjMgNDA3LjYgMS41bC4zLTEuN2M1OC43LTM2LjMgNTguOS0xMjEuNyAuMi0xNTguMmwwLTY5LjJjLTE3LjMgLjUtMzQgMy01MC4xIDcuNC04Mi05MS41LTIyNS41LTkxLjUtMzA3LjUgLjEtMTYuMy00LjQtMzMuMS03LTUwLjYtNy41ek0yNjcuMiAzNTJzMzYtLjMgNjEuMy0xLjVjMTAuMi0uNSAyMS4xLTQgMjUuNS02LjUgMjYuMy0xNS4xIDI1LjQtMzkuMiAyNi4yLTQ3LjQtNzkuNS0uNi05OS45LTMuOS0xMTMgNTUuNHpNMTMxLjcgMjk2LjdjLjggOC4yLS4xIDMyLjMgMjYuMiA0Ny40IDQuNCAyLjUgMTUuMiA2IDI1LjUgNi41IDI1LjMgMS4xIDYxLjMgMS41IDYxLjMgMS41LTEzLjItNTkuNC0zMy43LTU2LjEtMTEzLTU1LjR6TTMwMC44IDQyMC4xYy0zLjItNS4zLTYuOS03LjMtNi45LTcuMy0yNC44IDcuMy01Mi4yIDYuOS03NS45IDAgMCAwLTIuOSAxLjUtNi40IDYuNi0yLjggNC4xLTMuNyA5LjYtMy43IDkuNiAyOS4xIDE3LjYgNjcuMSAxNy42IDk2LjIgMC0uMS0uMS0uMy00LTMuMy04Ljl6Il19LF9idD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkZWxpY2lvdXMiLGljb246WzQ0OCw1MTIsW10sImYxYTUiLCJNNDQ2LjYgNjhjLS40LTEuNS0uOS0zLTEuNC00LjUtLjktMi41LTItNC44LTMuMy03LjEtMS40LTIuNC0zLTQuOC00LjctNi45LTIuMS0yLjUtNC40LTQuOC02LjktNi44LTEuMS0uOS0yLjItMS43LTMuMy0yLjUtMS4zLS45LTIuNi0xLjctNC0yLjQtMS44LTEtMy42LTEuOC01LjUtMi41LTEuNy0uNy0zLjUtMS4zLTUuNC0xLjctMy44LTEtNy45LTEuNS0xMi0xLjVsLTM1MiAwQzIxLjYgMzIgLjEgNTMuNSAuMSA4MGwwIDM1MmMwIDQuMSAuNSA4LjIgMS41IDEyIDIgNy43IDUuOCAxNC42IDExIDIwLjMgMSAxLjEgMi4xIDIuMiAzLjMgMy4zIDUuNyA1LjIgMTIuNiA5IDIwLjMgMTEgMy44IDEgNy45IDEuNSAxMiAxLjVsMzUyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTIuMWMtLjEtNC4xLS42LTguMi0xLjYtMTJ6TTQxNi4xIDQzMmMwIDguOC03LjIgMTYtMTYgMTZsLTE3NiAwIDAtMTkyLTE5MiAwIDAtMTc2YzAtOC44IDcuMi0xNiAxNi0xNmwxNzYgMCAwIDE5MiAxOTIgMCAwIDE3NnoiXX0sVGJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imd1aWxkZWQiLGljb246WzQ0OCw1MTIsW10sImUwN2UiLCJNNDQzLjkgNjRMNSA2NGMwIDEwMy4zIDIyLjIgMTgwLjEgNDMuNCAyMjIuNCA2NC4xIDEyNy44IDE3NiAxNjEuNiAxNzcuMyAxNjEuNiA1NS43LTIwLjUgMTA0LjUtNTYuMyAxNDAuNi0xMDMuNSAyNS45LTMzLjkgNTMuMS04Ny4yIDY1LjktMTQ1LjhsLTI1OS45IDBjNC4xIDM2LjQgMjIuMiA2Ny45IDQ1LjEgODYuOWw4OC42IDBjLTE3IDI4LjItNDguMiA1NC40LTgwLjUgNjkuNS0zMS4yLTEzLjMtNjkuMS00Ni41LTk2LjUtOTguNC0yNi43LTUzLjgtMjcuMS0xMDUuOS0yNy4xLTEwNS45bDMzNi4xIDBjNC0yOC44IDUuOS01Ny45IDUuOS04Ni45eiJdfSxMYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib2JzaWRpYW4iLGljb246WzM4NCw1MTIsW10sImU4NzkiLCJNMTQyLjMgMzIwLjNjMzYuMS04LjIgNzAuMy0xMSAxMDEuMyAuNyAzMS44IDExLjkgNjEuNyAzOS42IDg2LjcgOTYtOC4xIDE3LjctMTIuNCAzNi45LTE0LjcgNTMuOC0zLjEgMjIuOS0yNS40IDQwLjctNDcuNyAzNC42LTMxLjctOC43LTY4LjMtMjIuMy0xMDEuMy0yNC45LTQuNC0uMy01MC42LTMuOC01MC42LTMuOC0xLjctLjEtMy40LS40LTUuMS0uOCAzMS41LTY0LjIgMzguMi0xMTUuMSAzMS4zLTE1NS40ek01NSAyMTkuNWMyMi4zIDE0LjggNDkuNSAzNy44IDY0LjEgNzMuNiAxNi4xIDM5LjQgMTcuOCA5NS43LTIxLjYgMTc2LjEtMS0uOC0yLjEtMS43LTMtMi43TDcuNCAzNzYuOGMtOS41LTkuOC0xMi4xLTI0LjQtNi41LTM2LjkgLjYtMS4zIDQ0LjYtOTguMyA1NC4xLTEyMC40em0yNjQuMy05MS4zYzQuOSA2LjIgNy40IDE0IDcuNCAyMS45IC4xIDIwLjggMS44IDYzLjYgMTMuMyA5MS4yIDExLjIgMjYuOCAzMS44IDU1LjggNDIuNSA3MCA0LjEgNS41IDQuOCAxMi45IDEuMyAxOC43LTcuNiAxMi44LTIyLjYgMzcuNS00My44IDY5LjItLjMgLjQtLjYgLjktLjggMS4zLTI1LjItNTIuMi01NS45LTgwLjctOTAuNC05My42LTkuNi0zLjYtMTkuNS02LTI5LjQtNy4zLTE3LjgtNDUuOC0yMy4yLTc5LjctMjItMTA2LjQgMS4yLTI3LjQgOS4yLTQ3LjggMTguMi02Ni4zIDguOS0xOC4xIDE5LjgtMzUuOSAyNC45LTU1LjcgMy4yLTEyLjUgNC4yLTI1LjggMS43LTQwLjlsNzcuMSA5OHpNMTg0LjIgMTQuMWMxMC4zLTkuMiAyNC42LTEwLjggMzYuMy01LjUgOS42IDI0LjYgOS43IDQyLjggNS42IDU4LjgtNC42IDE3LjgtMTQuMSAzMy0yMy45IDUyLjgtOS42IDE5LjUtMTguNCA0Mi0xOS43IDcyLjMtMS4yIDI3LjkgNC4xIDYxLjkgMjAuNCAxMDUuOC0yMS0uNi00Mi41IDIuNi02My43IDcuNC0xLjctNi40LTMuOC0xMi40LTYuMS0xOC4yLTE3LjMtNDIuMi00OS45LTY3LjktNzQuMS04My4zIDMuMS0xOC43IDguMi01NS40IDExLjYtNzcuNSAxLjItNy42IDQuOS0xNC42IDEwLjctMTkuOEwxODQuMiAxNC4xeiJdfSwkYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieGJveCIsaWNvbjpbNTEyLDUxMixbXSwiZjQxMiIsIk0zNjkuOSAzMTguMmM0NC4zIDU0LjMgNjQuNyA5OC44IDU0LjQgMTE4LjctNy45IDE1LjEtNTYuNyA0NC42LTkyLjYgNTUuOS0yOS42IDkuMy02OC40IDEzLjMtMTAwLjQgMTAuMi0zOC4yLTMuNy03Ni45LTE3LjQtMTEwLjEtMzktMjcuOS0xOC4yLTM0LjItMjUuNy0zNC4yLTQwLjYgMC0yOS45IDMyLjktODIuMyA4OS4yLTE0Mi4xIDMyLTMzLjkgNzYuNS03My43IDgxLjQtNzIuNiA5LjQgMi4xIDg0LjMgNzUuMSAxMTIuMyAxMDkuNXpNMTg4LjYgMTQzLjhjLTI5LjctMjYuOS01OC4xLTUzLjktODYuNC02My40LTE1LjItNS4xLTE2LjMtNC44LTI4LjcgOC4xLTI5LjIgMzAuNC01My41IDc5LjctNjAuMyAxMjIuNC01LjQgMzQuMi02LjEgNDMuOC00LjIgNjAuNSA1LjYgNTAuNSAxNy4zIDg1LjQgNDAuNSAxMjAuOSA5LjUgMTQuNiAxMi4xIDE3LjMgOS4zIDkuOS00LjItMTEtLjMtMzcuNSA5LjUtNjQgMTQuMy0zOSA1My45LTExMi45IDEyMC4zLTE5NC40em0zMTEuNiA2My41Yy0xNi45LTgwLTY3LjUtMTMwLjMtNzQuNi0xMzAuMy03LjMgMC0yNC4yIDYuNS0zNiAxMy45LTIzLjMgMTQuNS00MSAzMS40LTY0LjMgNTIuOCA0Mi40IDUzLjMgMTAyLjIgMTM5LjQgMTIyLjkgMjAyLjMgNi44IDIwLjcgOS43IDQxLjEgNy40IDUyLjMtMS43IDguNS0xLjcgOC41IDEuNCA0LjYgNi4xLTcuNyAxOS45LTMxLjMgMjUuNC00My41IDcuNC0xNi4yIDE1LTQwLjIgMTguNi01OC43IDQuMy0yMi41IDMuOS03MC44LS44LTkzLjR6TTE0MS4zIDQzYzQ3LjctMi41IDEwOS43IDM0LjUgMTE0LjMgMzUuNCAuNyAuMSAxMC40LTQuMiAyMS42LTkuNyA2My45LTMxLjEgOTQtMjUuOCAxMDcuNC0yNS4yLTYzLjktMzkuMy0xNTIuNy01MC0yMzMuOS0xMS43LTIzLjQgMTEuMS0yNCAxMS45LTkuNCAxMS4yeiJdfSxEYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW50YXBwZCIsaWNvbjpbNjQwLDUxMixbXSwiZjQwNSIsIk00MDEuNSA0OS45QzMyMS43IDIxMCAzMTYuOSAyMDIuNCAzMTMuNiAyMjMuMWwtNS4yIDMyLjhjLTEuOSAxMi02LjYgMjMuNS0xMy43IDMzLjRMMTQ1LjggNDk3LjFjLTcuNiAxMC42LTIwLjQgMTYuMi0zMy40IDE0LjYtNDAuMy01LTc3LjgtMzIuMi05NS4zLTY4LjUtNS43LTExLjgtNC41LTI1LjggMy4xLTM2LjRMMTY5LjEgMTk4LjljNy4xLTkuOSAxNi40LTE4IDI3LjItMjMuN2wyOS4zLTE1LjVjMTguNS05LjggOS43LTExLjkgMTM1LjYtMTM4LjkgMS00LjggMS03LjMgMy42LTggMy0uNyA2LjYtMSA2LjMtNC42bC0uNC00LjZjLS4yLTEuOSAxLjMtMy42IDMuMi0zLjYgNC41LS4xIDEzLjIgMS4yIDI1LjYgMTAgMTIuMyA4LjkgMTYuNCAxNi44IDE3LjcgMjEuMSAuNiAxLjgtLjYgMy43LTIuNCA0LjJsLTQuNSAxLjFjLTMuNCAuOS0yLjUgNC40LTIuMyA3LjQgLjEgMi44LTIuMyAzLjYtNi41IDYuMXpNMjMwLjMgMzYuNGMzLjQgLjkgMi41IDQuNCAyLjMgNy40LS4yIDIuNyAyLjEgMy41IDYuNCA2IDcuOSAxNS45IDE1LjMgMzAuNSAyMi4yIDQ0IC43IDEuMyAyLjMgMS41IDMuMyAuNSAxMS4yLTEyIDI0LjYtMjYuMiA0MC41LTQyLjYgMS4zLTEuNCAxLjQtMy41IC4xLTQuOS04LTguMi0xNi41LTE2LjktMjUuNi0yNi4xLTEtNC43LTEtNy4zLTMuNi04LTMtLjgtNi42LTEtNi4zLTQuNiAuMy0zLjMgMS40LTguMS0yLjgtOC4yLTQuNS0uMS0xMy4yIDEuMS0yNS42IDEwLTEyLjMgOC45LTE2LjQgMTYuOC0xNy43IDIxLjEtMS40IDQuMiAzLjYgNC42IDYuOCA1LjR6TTYyMC4yIDQwNi43TDQ3MS40IDE5OC44Yy0xMy4yLTE4LjUtMjYuNi0yMy40LTU2LjQtMzkuMS0xMS4yLTUuOS0xNC4yLTEwLjktMzAuNS0yOC45LTEtMS4xLTIuOS0uOS0zLjYgLjUtNDYuMyA4OC44LTQ3LjEgODIuOC00OSA5NC44LTEuNyAxMC43LTEuMyAyMCAuMyAyOS44IDEuOSAxMiA2LjYgMjMuNSAxMy43IDMzLjRMNDk0LjggNDk3LjJjNy42IDEwLjYgMjAuMiAxNi4yIDMzLjEgMTQuNyA0MC4zLTQuOSA3OC0zMiA5NS43LTY4LjYgNS40LTExLjkgNC4zLTI1LjktMy40LTM2LjZ6Il19LEFidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29nbGUtcGx1cy1nIixpY29uOls2NDAsNTEyLFtdLCJmMGQ1IiwiTTM4Ni4zIDIyOC41YzEuOCA5LjcgMy4xIDE5LjQgMy4xIDMyIDAgMTA5LjgtNzMuNiAxODcuNS0xODQuNCAxODcuNS0xMDYuMSAwLTE5Mi04NS45LTE5Mi0xOTJTOTguOSA2NCAyMDUgNjRjNTEuOSAwIDk1LjEgMTguOSAxMjguNiA1MC4zbC01Mi4xIDUwYy0xNC4xLTEzLjYtMzktMjkuNi03Ni41LTI5LjYtNjUuNSAwLTExOC45IDU0LjItMTE4LjkgMTIxLjNTMTM5LjUgMzc3LjMgMjA1IDM3Ny4zYzc2IDAgMTA0LjUtNTQuNyAxMDktODIuOGwtMTA5IDAgMC02NiAxODEuMyAwIDAgMHptMTg1LjQgNi40bDAtNTUuNy01NiAwIDAgNTUuNy01NS43IDAgMCA1NiA1NS43IDAgMCA1NS43IDU2IDAgMC01NS43IDU1LjcgMCAwLTU2LTU1LjcgMHoiXX0sUGJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdGh1Yi1hbHQiLGljb246WzUxMiw1MTIsW10sImYxMTMiLCJNMjAyLjEgMzI4LjdjMCAyMC45LTEwLjkgNTUuMS0zNi43IDU1LjFzLTM2LjctMzQuMi0zNi43LTU1LjEgMTAuOS01NS4xIDM2LjctNTUuMSAzNi43IDM0LjIgMzYuNyA1NS4xek00OTYgMjc4LjJjMCAzMS45LTMuMiA2NS43LTE3LjUgOTUtMzcuOSA3Ni42LTE0Mi4xIDc0LjgtMjE2LjcgNzQuOC03NS44IDAtMTg2LjIgMi43LTIyNS42LTc0LjgtMTQuNi0yOS0yMC4yLTYzLjEtMjAuMi05NSAwLTQxLjkgMTMuOS04MS41IDQxLjUtMTEzLjYtNS4yLTE1LjgtNy43LTMyLjQtNy43LTQ4LjggMC0yMS41IDQuOS0zMi4zIDE0LjYtNTEuOCA0NS4zIDAgNzQuMyA5IDEwOC44IDM2IDI5LTYuOSA1OC44LTEwIDg4LjctMTAgMjcgMCA1NC4yIDIuOSA4MC40IDkuMiAzNC0yNi43IDYzLTM1LjIgMTA3LjgtMzUuMiA5LjggMTkuNSAxNC42IDMwLjMgMTQuNiA1MS44IDAgMTYuNC0yLjYgMzIuNy03LjcgNDguMiAyNy41IDMyLjQgMzkgNzIuMyAzOSAxMTQuMnptLTY0LjMgNTAuNWMwLTQzLjktMjYuNy04Mi42LTczLjUtODIuNi0xOC45IDAtMzcgMy40LTU2IDYtMTQuOSAyLjMtMjkuOCAzLjItNDUuMSAzLjItMTUuMiAwLTMwLjEtLjktNDUuMS0zLjItMTguNy0yLjYtMzctNi01Ni02LTQ2LjggMC03My41IDM4LjctNzMuNSA4Mi42IDAgODcuOCA4MC40IDEwMS4zIDE1MC40IDEwMS4zbDQ4LjIgMGM3MC4zIDAgMTUwLjYtMTMuNCAxNTAuNi0xMDEuM3ptLTgyLjYtNTUuMWMtMjUuOCAwLTM2LjcgMzQuMi0zNi43IDU1LjFzMTAuOSA1NS4xIDM2LjcgNTUuMSAzNi43LTM0LjIgMzYuNy01NS4xLTEwLjktNTUuMS0zNi43LTU1LjF6Il19LEVidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnZXQtcG9ja2V0IixpY29uOls0NDgsNTEyLFtdLCJmMjY1IiwiTTQwNy42IDY0bC0zNjcgMEMxOC41IDY0IDAgODIuNSAwIDEwNC42TDAgMjM5LjhDMCAzNjQuNSA5OS43IDQ2NCAyMjQuMiA0NjQgMzQ4LjIgNDY0IDQ0OCAzNjQuNSA0NDggMjM5LjhsMC0xMzUuMkM0NDggODIuMiA0MzAuMyA2NCA0MDcuNiA2NHptLTE2MiAyNjguNWMtMTIuNCAxMS44LTMxLjQgMTEuMS00Mi40IDAtMTEzLjctMTA4LjktMTE0LjktMTA1LjEtMTE0LjktMTIzLjIgMC0xNi45IDEzLjgtMzAuNyAzMC43LTMwLjcgMTcgMCAxNi4xIDMuOCAxMDUuMiA4OS4zIDkwLjYtODYuOSA4OC42LTg5LjMgMTA1LjUtODkuM3MzMC43IDEzLjggMzAuNyAzMC43YzAgMTcuOC0yLjkgMTUuNy0xMTQuOCAxMjMuMnoiXX0sSWJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdsaWRlIixpY29uOls0NDgsNTEyLFtdLCJmMmE1IiwiTTI1Mi44IDE0OC42YzAgOC44LTEuNiAxNy43LTMuNCAyNi40LTUuOCAyNy44LTExLjYgNTUuOC0xNy4zIDgzLjYtMS40IDYuMy04LjMgNC45LTEzLjcgNC45LTIzLjggMC0zMC41LTI2LTMwLjUtNDUuNSAwLTI5LjMgMTEuMi02OC4xIDM4LjUtODMuMSA0LjMtMi41IDkuMi00LjIgMTQuMS00LjIgMTEuNCAwIDEyLjMgOC4zIDEyLjMgMTcuOXpNNDQ4IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMzg0IDI2N2MwLTUuMS0yMC44LTM3LjctMjUuNS0zOS41LTIuMi0uOS03LjItMi4zLTkuNi0yLjMtMjMuMSAwLTM4LjcgMTAuNS01OC4yIDIxLjVsLS41LS41YzQuMy0yOS40IDE0LjYtNTcuMiAxNC42LTg3LjQgMC00NC42LTIzLjgtNjIuNy02Ny41LTYyLjctNzEuNyAwLTEwOCA3MC44LTEwOCAxMjMuNSAwIDU0LjcgMzIgODUgODYuMyA4NSA3LjUgMCA2LjktLjYgNi45IDIuMy0xMC41IDgwLjMtNTYuNSA4Mi45LTU2LjUgNTguOSAwLTI0LjQgMjgtMzYuNSAyOC4zLTM4LS4yLTcuNi0yOS4zLTE3LjItMzYuNy0xNy4yLTIxLjEgMC0zMi43IDMzLTMyLjcgNTAuNiAwIDMyLjMgMjAuNCA1NC43IDUzLjMgNTQuNyA0OC4yIDAgODMuNC00OS43IDk0LjMtOTEuNyA5LjQtMzcuNyA3LTM5LjQgMTIuMy00Mi4xIDIwLTEwLjEgMzUuOC0xNi44IDU4LjQtMTYuOCAxMS4xIDAgMTkgMi4zIDM2LjcgNS4yIDEuOCAuMSA0LjEtMS43IDQuMS0zLjV6Il19LE5idD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJiaXR5IixpY29uOls1MTIsNTEyLFtdLCJmMzdhIiwiTTg2LjUgNjcuMmM5NS40LTg5LjIgMjQ2LjEtOTEuMiAzNDMuMSAzLjggMTQuMyAxNC4xLTYuNCAzNy4xLTIyLjQgMjEuNS04NC44LTgyLjQtMjE1LjgtODAuMy0yOTguOS0zLjItMTYuMyAxNS4xLTM2LjUtOC4zLTIxLjgtMjIuMXptOTguOSA0MTguNmMxOS4zIDUuNyAyOS4zLTIzLjYgNy45LTMwLTExMi4yLTMzLjktMTc1LjgtMTQ5LjctMTQ3LjUtMjYxIDUtMTkuNi0yNC45LTI4LjEtMzAuMi03LjEtMzIuMSAxMjcuNCA0MS4xIDI1OS44IDE2OS44IDI5OC4xem0xNDguMS0yYzEyMS45LTQwLjIgMTkyLjktMTY2LjkgMTY0LjQtMjkxLTQuNS0xOS43LTM0LjktMTMuOC0zMCA3LjkgMjQuMiAxMDcuNy0zNy4xIDIxNy45LTE0My4yIDI1My40LTIxLjIgNy0xMC40IDM2IDguOCAyOS43em0tNjIuOS03OWwuMi03MS44YzAtOC4yLTYuNi0xNC44LTE0LjgtMTQuOHMtMTQuOCA2LjctMTQuOCAxNC44bC0uMiA3MS44YzAgOC4yIDYuNiAxNC44IDE0LjggMTQuOHMxNC44LTYuNiAxNC44LTE0Ljh6bTcxLTI2OWMyLjEgOTAuOSA0LjcgMTMxLjktODUuNSAxMzIuNS05Mi41LS43LTg2LjktNDQuMy04NS41LTEzMi41IDAtMjEuOC0zMi41LTE5LjYtMzIuNSAwbDAgNzEuNmMwIDY5LjMgNjAuNyA5MC45IDExOCA5MC4xIDU3LjMgLjggMTE4LTIwLjggMTE4LTkwLjFsMC03MS42YzAtMTkuNi0zMi41LTIxLjgtMzIuNSAweiJdfSxSYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid3BleHBsb3JlciIsaWNvbjpbNTEyLDUxMixbXSwiZjJkZSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem00ODAgMGEyMjQgMjI0IDAgMSAwIC00NDggMCAyMjQgMjI0IDAgMSAwIDQ0OCAwek0xNjAuOSAxMjQuNmw4Ni45IDM3LjEtMzcuMSA4Ni45LTg2LjktMzcuMSAzNy4xLTg2Ljl6bTExMCAxNjkuMWw0Ni42IDk0LTE0LjYgMC01MC0xMDAtNDguOSAxMDAtMTQgMCA1MS4xLTEwNi45LTIyLjMtOS40IDYtMTQgNjguNiAyOS4xLTYgMTQuMy0xNi41LTcuMXpNMjU5LjEgMTc3LjRsNjguNiAyOS40LTI5LjQgNjguMy02OC4zLTI5LjEgMjkuMS02OC42em04MC4zIDQyLjlsNTQuNiAyMy4xLTIzLjQgNTQuMy01NC4zLTIzLjEgMjMuMS01NC4zeiJdfSxPYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWVnYXBvcnQiLGljb246WzUxMiw1MTIsW10sImY1YTMiLCJNMjIyLjUgMjA5LjZsMCA2Ni4yIDMzLjUgMzMuNSAzMy4zLTMzLjMgMC02Ni40LTMzLjQtMzMuNC0zMy40IDMzLjR6TTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNNDAxLjEgNDIyLjRsLTI2LjEgMTkuMi0yNi0xOS4yIDAtNjUuNS0zMy40LTMzLjQtMzMuNCAzMy40IDAgNjUuNS0yNi4yIDE5LjItMjYuMS0xOS4yIDAtNjUuNS0zMy40LTMzLjQtMzMuNSAzMy40IDAgNjUuNS0yNi4xIDE5LjItMjYuMS0xOS4yIDAtODcgNTkuNS01OS41IDAtODcuOSA1OS41LTU5LjUgMC03NS42IDI2LjEtMTkuMiAyNi4xIDE5LjIgMCA3NS42IDU5LjUgNTkuNSAwIDg3LjYgNTkuNyA1OS43IDAgODcuMS0uMSAweiJdfSxGYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGVldGNvZGUiLGljb246WzQ0OCw1MTIsW10sImU4NmEiLCJNMjM1LjQgOS4zQzI0Ni41LTIuNSAyNjUuMS0zLjIgMjc3IDcuOXMxMi41IDI5LjggMS40IDQxLjZsLTQzIDQ2YzIxLjUgMy4zIDQyLjEgMTEuOCA1OS4xIDI1LjZsNzQuNiA2MC4zYzEyLjYgMTAuMiAxNC42IDI4LjggNC40IDQxLjRzLTI4LjcgMTQuNi00MS40IDQuNGwtNzQuNi02MC4zYy0yNi4yLTIxLjEtNzEuOS0xOC4yLTk0LjUgNS45TDgxIDI2MWMtMjEuNSAyMy0xOS4xIDYwIDUuNiA4NC4ybDkxLjIgODkuNGMyNC45IDI0IDY1LjYgMjQgOTAuMS0uNGw1MS4xLTUxYzExLjUtMTEuNSAzMC4xLTExLjUgNDEuNiAuMXMxMS40IDMwLjItLjEgNDEuN2wtNTEuMSA1MWMtNDcuMSA0Ny4xLTEyNCA0Ny43LTE3MS45IDEuNmwtOTItOTAuMkMtMS40IDM0MS4zLTYgMjY3LjkgMzggMjIwLjdMMjM1LjQgOS4zek00MTEuNyAyNzMuMmMxNi4yIDAgMjkuNCAxMy4yIDI5LjQgMjkuNXMtMTMuMiAyOS41LTI5LjQgMjkuNWwtMjE2LjkgMGMtMTYuMiAwLTI5LjQtMTMuMi0yOS40LTI5LjVzMTMuMi0yOS41IDI5LjQtMjkuNWwyMTYuOSAweiJdfSxCYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWRiIixpY29uOls1NzYsNTEyLFtdLCJmOGNhIiwiTTE3LjQgMTYwLjRsLTEwLjQgMTkxLjYgNDMuOSAwIDUuNi03OS44IDI3LjkgNzkuOCA0NC43IDAgMjUuNS03Ny40IDQuOCA3Ny40IDQ1LjUgMC0xMi44LTE5MS42LTQ1LjUgMC00MC43IDExNy4zLTQyLjMtMTE3LjMtNDYuMyAwem0yODEgMGwtNDcuOSAwIDAgMTkxLjYgNDcuOSAwczk1IC44IDk0LjItOTUuOGMtLjgtOTQuMi05NC4yLTk1LjgtOTQuMi05NS44bDAgMHptLTEuMiAxNDYuNWwwLTEwMi4xczQ2IDQuMyA0Ni44IDUwLjYtNDYuOCA1MS41LTQ2LjggNTEuNWwwIDB6bTIzOC4zLTc0LjJjNy4yLTExLjQgMTAtMjUgOC0zOC4zLTUuMy0zNS44LTU1LjEtMzQuMy01NS4xLTM0LjNsLTUxLjkgMCAwIDE5MS42IDQ1LjUgMHM4NyA0LjggODctNjMuOGMwLTQzLjEtMzMuNS01NS4xLTMzLjUtNTUuMWwwIDB6bS01MS45LTMxLjlzMTMuNi0xLjYgMTYgOS42YzEuNCA2LjctNCAxMi00IDEybC0xMiAwIDAtMjEuNnptLS4xIDEwOS41bC4xLTI0LjkgMC0xOC4yIC4xIDBzNDEuNi00LjcgNDEuMiAyMi40Yy0uMyAyNS43LTQxLjMgMjAuNy00MS4zIDIwLjdsMCAweiJdfSxIYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGFnZTQiLGljb246WzUxMiw1MTIsW10sImYzZDciLCJNMjU2IDUwNEMxMTkgNTA0IDggMzkzIDggMjU2UzExOSA4IDI1NiA4YzIwLjkgMCA0MS4zIDIuNiA2MC43IDcuNUw1MC4zIDM5MiAyNTYgMzkyIDI1NiA1MDR6bTAtMTQzLjZsMC0yMTMuNi0xNDkuNCAyMTMuNiAxNDkuNCAwek0zNTIgMzkybDAgOTIuN2M0NS43LTE5LjIgODQuNS01MS43IDExMS40LTkyLjdMMzUyIDM5MnptNTcuNC0xMzguMmwtMjEuMiA4LjQgMjEuMiA4LjMgMC0xNi43em0tMjAuMyA1NC41Yy02LjcgMC04IDYuMy04IDEyLjlsMCA3LjcgMTYuMiAwIDAtMTBjMC01LjktMi4zLTEwLjYtOC4yLTEwLjZ6TTUwNCAyNTZjMCAzNy4zLTguMiA3Mi43LTIzIDEwNC40bC0xMjkgMCAwLTMzMy4xQzQ0MS4zIDY0LjggNTA0IDE1My4xIDUwNCAyNTZ6TTM2OC40IDE0My42bDY4LjIgMCAwLTQ3LjYtMTMuOSAwIDAgMzIuNi0xMy45IDAgMC0yOS42LTEzLjkgMCAwIDI5LjYtMTIuNyAwIDAtMzIuNi0xMy45IDAgMCA0Ny42IC4xIDB6bTY4LjEgMTg1LjNsLTI2LjUgMCAwLTExYzAtMTUuNC01LjYtMjUuMi0yMC45LTI1LjItMTUuNCAwLTIwLjcgMTAuNi0yMC43IDI1LjlsMCAyNS4zIDY4LjIgMCAwLTE1LS4xIDB6bTAtMTAzbC02OC4yIDI5LjcgMCAxMi40IDY4LjIgMjkuNSAwLTE2LjYtMTQuNC01LjcgMC0yNi41IDE0LjQtNS45IDAtMTYuOXptLTQuOC02OC41bC0zNS42IDAgMCAyNi42IDEzLjkgMCAwLTEyLjIgMTEgMGM4LjYgMTUuOCAxLjMgMzUuMy0xOC42IDM1LjMtMjIuNSAwLTI4LjMtMjUuMy0xNS41LTM3LjdsLTExLjYtMTAuNmMtMTYuMiAxNy41LTEyLjIgNjMuOSAyNy4xIDYzLjkgMzQgMCA0NC43LTM1LjkgMjkuMy02NS4zeiJdfSxxYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGhlLXJlZC15ZXRpIixpY29uOls1MTIsNTEyLFtdLCJmNjlkIiwiTTQ4OC43IDI0MS43bDIwLjcgNy4xYy05LjYtMjMuOS0yMy45LTM3LTMxLjctNDQuOGw3LjEtMTguMmMuMiAwIDEyLjMtMjcuOC0yLjUtMzAuNy0uNi0xMS4zLTYuNi0yNy0xOC40LTI3LTcuNi0xMC42LTE3LjctMTIuMy0zMC43LTUuOS05LjEgNC40LTE3LjYgMTAtMjUuMyAxNi41LTUuMy02LjQtMyAuNC0zLTI5LjgtMzcuMS0yNC4zLTQ1LjQtMTEuNy03NC44IDNsLjUgLjVjLTIyLTcuNy00NS4xLTEyLjItNjguNC0xMy4zLTUuNS04LjctMTguNi0xOS4xLTI1LjEtMjUuMWwyNC44IDcuMWMtNS41LTUuNS0yNi44LTEyLjktMzQuMi0xNS4yIDE4LjItNC4xIDI5LjgtMjAuOCA0Mi41LTMzLTM0LjktMTAuMS02Ny45LTUuOS05Ny45IDExLjhsMTItNDQuMi0xLjgtLjVjLTMxLjYgMjQuMi0zMyA0MS45LTMzLjcgNDUuNS0uOS0yLjQtNi4zLTE5LjYtMTUuMi0yNy0zLjMgOC4xLTMuNSAxNy4xLS41IDI1LjMgMyA4LjQgNS45IDE0LjggOC40IDE4LjktMTYtMy4zLTI4LjMtNC45LTQ5LjIgMGwtMy43IDAgMzMgMTQuM2MtMjAuMiAxOC45LTM2LjEgNDEuOS00Ni43IDY3LjRsLTEuNyA4LjQgMS43IDEuNyA3LjYtNC43Yy0zLjMgMTEuNi01LjMgMTkuNC02LjYgMjUuOC0xMC45IDEyLjItMjAuMiAyNS44LTI3LjggNDAuMy0xNSAxLTMxLjggMTAuOC00MC4zIDE0LjNsMyAzLjQgMjguOCAxYy0uNSAxLS43IDIuMi0xLjIgMy4yLTcuMyA2LjQtMzkuOCAzNy43LTMzIDgwLjdsMjAuMi0yMi40Yy41IDEuNyAuNyAzLjQgMS4yIDUuMiAwIDI1LjUgLjQgODkuNiA2NC45IDE1MC41IDQzLjYgNDAgOTYgNjAuMiAxNTcuNSA2MC4yIDEyMS43IDAgMjIzLTg3LjMgMjIzLTIxMS41IDYuOC05LjctMS4yIDMgMTYuNy0yNS4xbDEzIDE0LjMgMi41LS41Yy0xLjgtMTEuNy00LjgtMjMuMS04LjktMzQuMi0xLjUtNC44LTMuOC05LjMtNi44LTEzLjNsMCAwek0zOTguNSAxMTEuMmwtLjUgMjEuOWM1LjUgMTguMSAxNi45IDE3LjIgMjIuNCAxNy4ybC0zLjQtNC43IDIyLjQtNS40Yy05IC41LTE4IC41LTI3IDAgMTIuOC0yLjEgMzMuMy0yOSA0My0xMS4zIDMuNCA3LjYgNi40IDE3LjIgOS4zIDI3LjhsMS43LTUuOWMtMS4zLTUtMS44LTEwLjEtMS43LTE1LjIgNS40IC41IDguOCAzLjQgOS4zIDEwLjEgLjUgNi40IDEuNyAxNC44IDMuNCAyNS4zbDQuNy0xMS4zYzQuNiAwIDQuNS0zLjYtMi41IDIwLjctMjAuOS04LjctMzUuMS04LjQtNDYuNS04LjRsMTguMi0xNmMtMjUuMyA4LjItMzMgMTAuOC01NC44IDIwLjktMS4xLTUuNC01LTEzLjUtMTYtMTkuOS0zLjIgMy44LTIuOCAuOS0uNyAxNC44bC0yLjUgMGMtMS4yLTguMi00LjEtMTYtOC40LTIzLjFsNC4yLTMuNGM4LjQtNy4xIDExLjgtMTQuMyAxMC42LTIxLjktLjUtNi40LTUuNC0xMy41LTEzLjUtMjAuNyA1LjYtMy40IDE1LjItLjQgMjguMyA4LjV6bS0zOS42LTEwLjFjMi43IDEuOSAxMS40IDUuNCAxOC45IDE3LjIgNC4yIDguNCA0IDkuOCAzLjQgMTEuMS0uNSAyLjQtLjUgNC4zLTMgNy4xLTEuNyAyLjUtNS40IDQuNy0xMS44IDcuNi03LjYtMTMtMTYuNS0yMy42LTI3LjgtMzEuMmwyMC4zLTExLjh6bS0yNjcuNCA0MmwxLjItMS43YzEuMi0yLjkgNC4yLTcuNiA5LjMtMTUuMmwyLjUtMy40LTEzIDEyLjMgNS40LTQuNy0xMC4xIDkuMy00LjIgMS4yYzEyLjMtMjQuMSAyMy4xLTQxLjMgMzIuNS01MC4yIDkuMy05LjMgMTYtMTYgMjAuMi0xOS40bC02LjQgMS4yYy0xMS4zLTQuMi0xOS40LTcuMS0yNC44LTguNCAyLjUtLjUgMy43LS41IDMuMi0uNSAxMC4zIDAgMTcuNSAuNSAyMC45IDEuMiA1LjIgMS43IDEwLjYgMi41IDE2IDIuNWwuNS0xLjctOC40LTM1LjggMTMuNSAyOWMyLjgtNC40IDQuOC05LjIgNS45LTE0LjMgMS43LTYuNCA1LjQtMTMgMTAuMS0xOS40czcuNi0xMC42IDkuMy0xMS4zYy0yLjYgOC4zLTQuNyAxNi44LTYuNCAyNS4zbC0xLjcgNy4xLS41IDQuNyAyLjUgMi41YzIxLjktMTMuNSA0NS41LTE5LjQgNzEuMy0xOC45bDIxLjEgLjVjLTExLjggMTMuNS0yNy44IDIxLjktNDguNSAyNC44LTcuNyAxLjQtMTUuNiAyLjQtMjMuNCAyLjlsLS4yLS41LTIuNS0xLjJjLTQuOC0xLTkuNy0uMy0xNCAyLTIuNS0uMi00LjktLjUtNy4xLS43bC0yLjUgMS43IC41IDEuMmMyIC4yIDMuOSAuNSA2LjIgLjdsLTIgMy40IDMuNC0uNS0xMC42IDExLjNjLTQuMiAzLTUuNCA2LjQtNC4yIDkuM2w1LjQtMy40IDEuMiAwYzYuMS04LjIgMTUuMi0xMy42IDI1LjMtMTUuMmwwLTNjNi40IC41IDEzIDEgMTkuNCAxLjIgNi40IDAgOC40IC41IDUuNCAxLjIgNy4yIDQgMTQuMSA4LjYgMjAuNyAxMy41IDEzLjUgMTAuMSAyMy42IDIxLjkgMzAgMzUuNCA4LjggMTguMiAxMy41IDM3LjEgMTMuNSA1Ni42IDAgOS41LTEgMTktMyAyOC4zLTMuNSAxNS45LTguOSAzMS4zLTE2IDQ2bDIuNSAuNWMxOC4yLTE5LjcgNDEuOS0xNiA0OS4yLTE2bC02LjQgNS45IDIyLjQgMTcuNy0xLjcgMzAuN2MtNS40LTEyLjMtMTYuNS0yMS4xLTMzLTI3LjggMTYuNSAxNC44IDIzLjYgMjEuMSAyMS45IDIwLjItNC44LTIuOC0zLjUtMS45LTEwLjgtMy43IDQuMSA0LjEgMTcuNSAxOC44IDE4LjIgMjAuN2wuMiAuMi0uMiAuMmMwIDEuOCAxLjYtMS4yLTE0IDIyLjktNzUuMi0xNS4zLTEwNi4zLTQyLjctMTQxLjItNjMuMmwxMS44IDEuMmMtMTEuOC0xOC41LTE1LjYtMTcuNy0zOC40LTI2LjFsMTAuNi04LjRjLTguOC0zLTE4LjItMy0yOC4zIC41bDcuNi0xMC42LTEuMi0xLjdjLTE0LjkgNC4zLTE5LjggOS4yLTIyLjYgMTEuMy0xLjEtNS41LTIuOC0xMi40LTEyLjMtMjguOGwtMS4yIDI3LTEzLjItNWMxLjUtMjUuMiA1LjQtNTAuNSAxMy4yLTc0LjZ6TTM2OCA0NzMuMWMtNDkuOSAyNS01Ni4xIDIyLjQtNTkgMjMuOS0yOS44LTExLjgtNTAuOS0zMS43LTYzLjUtNTguOGwzMCAxNi41Yy05LjgtOS4zLTE4LjMtMTYuNS0zOC40LTQ0LjNsMTEuOCAyMy4xLTE3LjctNy42YzE0LjIgMjEuMSAyMy41IDUxLjcgNjYuNiA3My41LTEyMC44IDI0LjItMTk5LTcyLjEtMjAwLjktNzQuMyAxMS4xIDkuMiAyMi45IDE3LjUgMzUuNCAyNC44IDMuNCAxLjcgNy4xIDIuNSAxMC4xIDEuMmwtMTYtMjAuN2M5LjIgNC4yIDkuNSA0LjUgNjkuMSAyOS00Mi41LTIwLjctNzMuOC00MC44LTkzLjItNjAuMi0uNSA2LjQtMS4yIDEwLjEtMS4yIDEwLjEgOC43IDcuMyAxNS44IDE2LjQgMjAuNyAyNi42LTM5LTE4LjktNTcuNi00Ny42LTcxLjMtODIuNiA0OS45IDU1LjEgMTE4LjkgMzcuNSAxMjAuNSAzNy4xIDM0LjggMTYuNCA2OS45IDIzLjYgMTEzLjkgMTAuNiAzLjMgMCAyMC4zIDE3IDI1LjMgMzkuMWw0LjItMy0yLjUtMjMuNmM5IDkgMjQuOSAyMi42IDM0LjQgMTMtMTUuNi01LjMtMjMuNS05LjUtMjkuNS0zMS43IDQuNiA0LjIgNy42IDkgMjcuOCAxNWwxLjItMS4yLTEwLjUtMTQuMmMxMS43LTQuOC0zLjUgMSAzMi0xMC44IDQuMyAzNC4zIDkgNDkuMiAuNyA4OS41ek00ODMuMyAyNTguN2wtMi41IC41IDMgOS4zYy0zLjUgNS45LTIzLjcgNDQuMy03MS42IDc5LjctMzkuNSAyOS44LTc2LjYgMzkuMS04MC45IDQwLjNsLTcuNi03LjEtMS4yIDMgMTQuMyAxNi03LjEtNC43IDMuNCA0LjItMS4yIDAtMjEuOS0xMy41IDkuMyAyNi42LTE5LTI3LjktMS4yIDIuNSA3LjYgMjljLTYuMS04LjItMjEtMzIuNi01Ni44LTM5LjZsMzIuNSAyMS4yYy0zMS4yIDQuNy02MyAyLjUtOTMuMi02LjQtNC4yLTEuMi04LjktMi41LTEzLjUtNC4ybDEuMi0zLTQ0LjgtMjIuNCAyNi4xIDIyLjRjLTU3LjcgOS4xLTExMy0yNS40LTEyNi40LTgzLjRMMjkuMyAyODQuOCA3IDMwNy4xYzE5LjUtNTcuNSAyNS42LTU3LjkgNTEuNC03MC4xLTkuMS01LjMtMS42LTMuMy0zOC40LTkuMyAxNS44LTUuOCAzMy0xNS40IDczIDUuMiAxLjItLjcgMi40LTEuMyAzLjctMS43IC42LTMuMiAuNC0uOCAxLTExLjggMy45IDEwIDMuNiA4LjcgMyA5LjNsMS43IC41YzEyLjctNi41IDguOS00LjUgMTctOC45bC01LjQgMTMuNSAyMi4zLTUuOC04LjQgOC40IDIuNSAyLjVjNC41LTEuOCAzMC4zIDMuNCA0MC44IDE2bC0yMy42LTIuNWMzOS40IDIzIDUxLjUgNTQgNTUuOCA2OS42bDEuNy0xLjJjLTIuOC0yMi4zLTEyLjQtMzMuOS0xNi00MC4xIDQuMiA1IDM5LjIgMzQuNiAxMTAuNCA0Ni0xMS4zLS41LTIzLjEgNS40LTM0LjkgMTguOWw0Ni43LTIwLjItOS4zIDIxLjljNy42LTEwLjEgMTQuOC0yMy42IDIxLjItMzkuNmwwLS41IDEuMi0zLTEuMiAxNmMxMy41LTQxLjggMjUuMy03OC41IDM1LjQtMTA5LjdsMTMuNS0yNy44IDAtMi01LjQtNC4yIDEwLjEgMCA1LjkgNC4yIDIuNS0xLjItMy40LTE2IDEyLjMgMTguOSA0MS44LTIwLjItMTQuOCAxMyAuNSAyLjkgMTcuNy0uNWMxMS4xIC40IDIyLjEgMS44IDMzIDQuMmwtMjMuNiAyLjUtMS4yIDMgMjYuNiAyMy4xYzkuOSA5LjkgMTguOSAyMC42IDI3IDMyLTExLjItMy4zLTEwLjMtMy40LTIxLjItMy40bDEyLjMgMzIuNS04LjktMTIuOHptLTYuMS03MS4zbC0zLjkgMTMtMTQuMy0xMS44IDE4LjItMS4yem0tMjU0LjggNy4xYzEuNyAxMC42IDQuNyAxNy43IDguOCAyMS45LTkuMyA2LjYtMjcuNSAxMy45LTQ2LjUgMTZsLjUgMS4yYzguMyAxLjMgMTYuOSAuNCAyNC44LTIuNWwtNy4xIDEzYzQuMi0xLjcgMTAuMS03LjEgMTcuNy0xNC44IDExLjktNS41IDEyLjctNS4xIDIwLjItMTYtMTIuNy02LjQtMTUuNy0xMy43LTE4LjQtMTguOHptMy43LTEwMi4zYy02LjQtMy40LTEwLjYgMy0xMi4zIDE4LjlzMi41IDI5LjUgMTEuOCAzOS42IDE4LjIgMTAuNiAyNi4xIDMgMy40LTIzLjYtMTEuMy00Ny43Yy0zLjUtNS43LTguNC0xMC41LTE0LjMtMTMuOGwwIDB6bS00LjcgNDYuM2M1LjQgMi4yIDEwLjUgMS45IDEyLjMtMTAuNmwwLTQuNy0xLjIgLjVjLTQuMy0zLjEtMi41LTQuNS0xLjctNi4ybC41LS41Yy0uOS0xLjItNS04LjEtMTIuNSA0LjctLjUtMTMuNSAuNS0yMS45IDMtMjQuOCAxLjItMi41IDQuNy0xLjIgMTEuMyA0LjIgNi40IDUuNCAxMS4zIDE2IDE1LjIgMzIuNSA2LjUgMjgtMTkuOCAyNi4yLTI2LjkgNC45em0tNDUtNS41YzEuNiAuMyA5LjMtMS4xIDkuMy0xNC44bC0uNSAwYy01LjQtMS4xLTIuMi01LjUtLjctNS45LTEuNy0zLTMuNC00LjItNS40LTQuNy04LjEgMC0xMS42IDEyLjctOC4xIDIxLjIgLjUgMS4xIDEuMyAyIDIuMiAyLjhzMiAxLjIgMy4yIDEuNGwwIDB6bTQwLjEtNTAuMWwtMi41IC41IC41IDNjOS4xLS41IDE4LjEgMS41IDI2LjEgNS45LTIuNS01LjUtMTAtMTQuMy0yOC4zLTE0LjNsLjUgMi41IDMuNyAyLjR6bS03MS44IDQ5LjRjMjEuNyAxNi44IDE2LjUgMjEuNCA0Ni41IDIzLjZsLTIuOS00LjdjOC40LTcuMiAxMy43LTE3LjMgMTQuOC0yOC4zIDEuNy0xNi0xLjItMjkuNS04LjgtNDEuM2wxMy03LjZjMC0uMyAwLS42LS4xLS45cy0uMi0uNi0uNC0uOGMtMi4yLS45LTQuNi0xLjItNy0uOXMtNC42IDEuMi02LjUgMi42Yy0xMi43IDYuNy0yOCAyMC45LTI5IDIyLjQtMS43IDEuNy0zLjQgNS45LTUuNCAxMy41LTEuOSA3LjctMi45IDE1LjYtMi45IDIzLjYtNC43LTgtMTAuNS02LjQtMTkuOS01LjlsNy4xIDcuNmMtMTYuNSAwLTIzLjMgMTUuNC0yMy42IDE2IDYuOCAwIDQuNi03LjYgMzAtMTIuMy00LjMtNi4zLTMuMy01LTQuOS02LjZ6bTE4LjctMTguN2MxLjItNy42IDMuNC0xMyA2LjQtMTcuMiA1LjQtNi40IDEwLjYtMTAuMSAxNi0xMS44IDQuMi0xLjcgNy4xIDEuMiAxMC4xIDkuMyAyLjUgOC4yIDMuNSAxNi44IDMgMjUuMy0uNSA5LjMtMy40IDE3LjItOC40IDIzLjEtMi45IDMuNC01LjQgNS45LTYuNCA3LjYtMy44IC40LTcuNiAuMi0xMS4zLS41bC03LjEtMy40LTUuNC02LjRjLjgtMTAgMS4zLTE4LjggMy4xLTI2em00MiA1Ni4xYy0zNC44IDE0LjQtMzQuNyAxNC0zNi4xIDE0LjMtMjAuOCA0LjctMTktMjQuNC0xOC45LTI0LjhsNS45LTEuMi0uNS0yLjVjLTIwLjItMi42LTMxIDQuMi0zMi41IDQuOSAuNSAuNSAzIDMuNCA1LjkgOS4zIDQuMi02LjQgOC44LTEwLjEgMTUuMi0xMC42LTEuNyAxMS4yLTEuMiAyMi43IDEuNyAzMy43IC4xIC41IDIuNiAxNy40IDI3LjUgMjQuMSAxMS4zIDMgMjcgMS4yIDQ4LjktNS40bC05LjIgLjVjLTQuMi0xNC44LTYuNC0yNC44LTUuOS0yOS41IDExLjMtOC44IDIxLjktMTEuMyAzMC43LTcuNmwyLjUgMC0xMS44LTcuNi03LjEgLjVjLTUuOSAxLjItMTIuMyA0LjItMTkuNCA4LjRsMy4xLTYuNXoiXX0sVmJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImppcmEiLGljb246WzUxMiw1MTIsW10sImY3YjEiLCJNNDk4LjUgMjQxLjdjLTcyLjktNzIuNy0xNjkuNC0xNjkuOS0yNDEuNS0yNDEuNy0xNjUuNSAxNjQuOS0yNDIuNSAyNDEuNy0yNDIuNSAyNDEuNy03LjkgNy45LTcuOSAyMC43IDAgMjguNyAxMzIuOCAxMzIuMyA2MS44IDYxLjUgMjQyLjUgMjQxLjYgMzc5LjQtMzc4IDE1LjctMTYuNyAyNDEuNS0yNDEuNyA4LTcuOSA4LTIwLjcgMC0yOC42ek0yNTcgMzMxLjdsLTc2LTc1LjcgNzYtNzUuNyA3NiA3NS43LTc2IDc1Ljd6Il19LGpidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmZWRleCIsaWNvbjpbNjQwLDUxMixbXSwiZjc5NyIsIk01ODYgMjg0LjVsNTMuMy01OS45LTYyLjQgMC0yMS43IDI0LjgtMjIuNS0yNC44LTExOC43IDAgMC0xNiA1Ni4xIDAgMC00OC4xLTE1MS4yIDAgMCA3NS41LS41IDBjLTkuNi0xMS0yMS41LTE0LjgtMzUuNC0xNC44LTI4LjQgMC00OS44IDE5LjQtNTcuMyA0NC45LTE4LTU5LjQtOTcuNC01Ny42LTEyMS45LTE0bDAtMjQuMi01NC44IDAgMC0yNi4yIDYwIDAgMC00MS4xLTEwOSAwIDAgMTg0LjQgNDkgMCAwLTc3LjUgNDguOSAwYy0xLjUgNS43LTIuMyAxMS44LTIuMyAxOC4yIDAgNzMuMSAxMDIuNiA5MS40IDEzMC4yIDIzLjdsLTQyIDBjLTE0LjcgMjAuOS00NS44IDguOS00NS44LTE0LjZsODUuNSAwYzMuNyAzMC41IDI3LjQgNTYuOSA2MC4xIDU2LjkgMTQuMSAwIDI3LTYuOSAzNC45LTE4LjZsLjUgMCAwIDExLjkgMjEyLjIgMCAyMi4xLTI1IDIyLjMgMjUgNjQuNCAwLTU0LTYwLjV6TTEzOS4zIDI2Ny45YzYuMS0yNi4zIDQxLjctMjUuNiA0Ni41IDBsLTQ2LjUgMHptMTUzLjQgNDguOWMtMzQuNiAwLTM0LTYyLjggMC02Mi44IDMyLjYgMCAzNC41IDYyLjggMCA2Mi44em0xNjcuOCAxOS4xbC05NC40IDAgMC0xNjYuNSA5NSAwIDAgMzAuMi01Ni4xIDAgMCAzMy45IDU1LjUgMCAwIDI4LjEtNTYuMSAwIDAgNDQuNyA1Ni4xIDAgMCAyOS42em0tNDUuOS0zOS44bDAtMjQuNCA1Ni4xIDAgMC00NCA1MC43IDU3LTUwLjcgNTcgMC00NS42LTU2LjEgMHptMTM4LjYgMTAuM2wtMjYuMSAyOS41LTM4LjEgMCA0NS42LTUxLjItNDUuNi01MS4yIDM5LjcgMCAyNi42IDI5LjMgMjUuNi0yOS4zIDM4LjUgMC00NS40IDUxIDQ2IDUxLjQtNDAuNSAwLTI2LjMtMjkuNXoiXX0sVWJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImV2ZXJub3RlIixpY29uOlszODQsNTEyLFtdLCJmODM5IiwiTTEyMS4xIDEzMi4yYzEuNiAyMi4zLTE3LjYgMjEuNi0yMS42IDIxLjYtNjguOSAwLTczLjYtMS04My42IDMuMy0uNiAuMi0uNyAwLS40LS40TDEyNC4xIDQ2LjRjLjQtLjQgLjYtLjIgLjQgLjQtNC40IDEwLTMuNCAxNS4xLTMuNCA4NS40em03OSAzMDhjLTE0LjctMzcuMSAxMy03Ni45IDUyLjUtNzYuNiAxNy41IDAgMjIuNiAyMy4yIDcuOSAzMS40LTYuMiAzLjMtMjQuOSAxLjctMjUuMSAxOS4yIDAgMTcuMSAxOS43IDI1IDMxLjIgMjQuOSA2IDAgMTEuOS0xLjIgMTcuNS0zLjVzMTAuNi01LjcgMTQuOC05LjkgNy42LTkuMyA5LjktMTQuOCAzLjUtMTEuNSAzLjUtMTcuNWwwLS4xYzAtMTEuNi03LjgtNDcuMi00Ny41LTU1LjMtNy43LTEuNS02NS02LjMtNjguNC01MC41LTMuNyAxNi45LTE3LjQgNjMuNS00My4xIDY5LjEtOC43IDEuOS02OS43IDcuNi0xMTIuOS0zNi44IDAgMC0xOC42LTE1LjItMjguMi01OC0zLjQtMTUuNy05LjMtMzkuNy0xMS4xLTYyIDAtMTggMTEuMS0zMC40IDI1LjEtMzIuMiA4MSAwIDkwIDIuMyAxMDEtNy44IDkuOC05LjIgNy44LTE1LjUgNy44LTEwMi44IDEtOC4zIDcuOC0zMC44IDUzLjQtMjQuMSA2IC45IDMxLjkgNC4yIDM3LjUgMzAuNkwyOTAgNzQuOGMyMC40IDMuNyA3MC45IDcgODAuNiA1Ny45IDIyLjcgMTIxLjEgOC45IDIzOC41IDcuOCAyMzguNS0xNiAxMTQuNC0xMTEuMSAxMDguOS0xMTEuMSAxMDguOS0xOS0uMi01NC4yLTkuNC02Ny4zLTM5LjhsMCAwek0yODEgMjM1LjRjLTEgMS45LTIuMiA2IC45IDcgMTQuMSA0LjkgMzkuOCA2LjggNDUuOSA1LjUgMy4xLS4yIDMuMS00LjQgMi41LTYuNi0zLjUtMjEuOC00MC44LTI2LjUtNDkuMi01LjlsMCAweiJdfSxXYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidXNiIixpY29uOls2NDAsNTEyLFtdLCJmMjg3IiwiTTYzMy41IDI1NmMwIDMuMS0xLjcgNi4xLTQuNSA3LjVMNTM5LjkgMzE3Yy0xLjQgLjgtMi44IDEuNC00LjUgMS40LTEuNCAwLTMuMS0uMy00LjUtMS4xLTIuOC0xLjctNC41LTQuNS00LjUtNy44bDAtMzUuNi0yMzAuNyAwYzI1LjMgMzkuNiA0MC41IDEwNi45IDY5LjYgMTA2LjlsMjYuNyAwIDAtMjYuOGMwLTUgMy45LTguOSA4LjktOC45bDg5LjEgMGM1IDAgOC45IDMuOSA4LjkgOC45bDAgODkuMWMwIDUtMy45IDguOS04LjkgOC45bC04OS4xIDBjLTUgMC04LjktMy45LTguOS04LjlsMC0yNi43LTI2LjcgMGMtNzUuNCAwLTgxLjEtMTQyLjUtMTI0LjctMTQyLjVsLTEwMC4zIDBjLTguMSAzMC42LTM1LjkgNTMuNS02OSA1My41LTM5LjMtLjEtNzEuMy0zMi4xLTcxLjMtNzEuNHMzMi03MS4zIDcxLjMtNzEuM2MzMy4xIDAgNjEgMjIuOCA2OSA1My41IDM5LjEgMCA0My45IDkuNSA3NC42LTYwLjQgNDAuMS04OS4xIDU4LjEtODIuMSAxMDguOS04Mi4xIDcuNS0yMC45IDI3LTM1LjYgNTAuNC0zNS42IDI5LjUgMCA1My41IDIzLjkgNTMuNSA1My41cy0yMy45IDUzLjUtNTMuNSA1My41Yy0yMy40IDAtNDIuOS0xNC44LTUwLjQtMzUuNmwtMjkuOCAwYy0yOS4xIDAtNDQuMyA2Ny40LTY5LjYgMTA2LjlsMzAyLjEgMCAwLTM1LjZjMC0zLjMgMS43LTYuMSA0LjUtNy44czYuNC0xLjQgOC45IC4zTDYyOSAyNDguOGMyLjggMS4xIDQuNSA0LjEgNC41IDcuMnoiXX0sR2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFuZ3J5Y3JlYXRpdmUiLGljb246WzY0MCw1MTIsW10sImYzNmUiLCJNNjQwIDIzOC4ybC0zLjIgMjguMi0zNC41IDIuMy0yIDE4LjEgMzQuNS0yLjMtMy4yIDI4LjItMzQuNCAyLjItMi4zIDIwLjEgMzQuNC0yLjItMyAyNi4xLTY0LjcgNC4xIDEyLjctMTEzLjItNDcuMyAxMTUuNC0zMS45IDItMjMuOC0xMTcuOCAzMC4zLTIgMTMuNiA3OS40IDMxLjctODIuNCA5My4xLTYuMnpNNDI2LjggMzcxLjVsMjguMy0xLjggMTIuOS0xMjAuMS0yOC40IDEuOS0xMi44IDEyMHpNMTYyIDM4OC4xbC0xOS40LTM2LTMuNSAzNy40LTI4LjIgMS43IDIuNy0yOS4xYy0xMSAxOC0zMiAzNC4zLTU2LjkgMzUuOC0zMi44IDItNTkuNy0yMC45LTU2LjQtNTguMiAyLjYtMjkuMyAyNi43LTYyLjggNjcuNS02NS40IDM3LjctMi40IDQ3LjYgMjMuMiA1MS4zIDI4LjhsMi44LTMwLjggMzguOS0yLjVjMjAuMS0xLjMgMzguNyAzLjcgNDIuNSAyMy43bDIuNi0yNi42IDY0LjgtNC4yLTIuNyAyNy45LTM2LjQgMi40LTEuNyAxNy45IDM2LjQtMi4zLTIuNyAyNy45LTM2LjQgMi4zLTEuOSAxOS45IDM2LjMtMi4zLTIuMSAyMC44IDU1LTExNy4yIDIzLjgtMS42IDMyLjEgMTEwLjYgOC45LTg1LjYtMjIuMyAxLjQgMi45LTI3LjkgNzUtNC45LTMgMjgtMjQuMyAxLjYtOS43IDkxLjktNTggMy43LTQuMy0xNS42LTM5LjQgMi41LTggMTYuMy0xMjYuMiA3Ljd6bS00NC4zLTcwLjJsLTI2LjQgMS43Yy02LjctMTIuNC0xNC40LTE2LjYtMjYuMy0xNS44LTE5IDEuMi0zMy4zIDE3LjUtMzQuNiAzMy4zLTEuNCAxNiA3LjMgMzIuNSAyOC43IDMxLjIgMTIuOC0uOCAyMS4zLTguNiAyOC45LTE4LjlsMjctMS43IDIuNy0yOS44em01Ni4xLTcuN2MxLjItMTIuOS03LjYtMTMuNi0yNi4xLTEyLjRMMTQ1IDMyNi4zYzE0LjItLjkgMjcuNS0yLjEgMjguOC0xNi4xek0xOTQuOSAzODFsNS44LTYwYy01IDEzLjUtMTQuNyAyMS4xLTI3LjkgMjYuNkwxOTQuOSAzODF6bTEzNS40LTQ1bC03LjktMzcuOC0xNS44IDM5LjMgMjMuNy0xLjV6TTE2MC4yIDI2MS40bC00LjMtMTcuNS0zOS42IDIuNi04LjEgMTguMi0zMS45IDIuMSA1Ny0xMjEuOSAyMy45LTEuNiAzMC43IDEwMiA5LjktMTA0LjcgMjctMS44IDM3LjggNjMuNiA2LjUtNjYuNiAyOC41LTEuOS00IDQxLjJjNy40LTEzLjUgMjIuOS00NC43IDYzLjYtNDcuNSA0MC41LTIuOCA1Mi40IDI5LjMgNTMuNCAzMC4zbDMuMy0zMiAzOS4zLTIuN2MxMi43LS45IDI3LjggLjMgMzYuMyA5LjdsLTQuNC0xMS45IDMyLjItMi4yIDEyLjkgNDMuMiAyMy00NS43IDMxLTIuMi00My42IDc4LjQtNC44IDQ0LjMtMjguNCAxLjkgNC44LTQ0LjMtMTUuOC00M2MxIDIyLjMtOS4yIDQwLjEtMzIgNDkuNmwyNS4yIDM4LjgtMzYuNCAyLjQtMTkuMi0zNi44LTQgMzguMy0yOC40IDEuOSAzLjMtMzEuNWMtNi43IDkuMy0xOS43IDM1LjQtNTkuNiAzOC0yNi4yIDEuNy00NS42LTEwLjMtNTUuNC0zOS4ybC00IDQwLjMtMjUgMS42LTM3LjYtNjMuMy02LjMgNjYuMi01Ni44IDMuN3ptMjc2LjYtODIuMWMxMC4yLS43IDE3LjUtMi4xIDIxLjYtNC4zIDQuNS0yLjQgNy02LjQgNy42LTEyLjEgLjYtNS4zLS42LTguOC0zLjQtMTAuNC0zLjYtMi4xLTEwLjYtMi44LTIyLjktMmwtMi45IDI4Ljh6TTMyNy43IDIxNGM1LjYgNS45IDEyLjcgOC41IDIxLjMgNy45IDQuNy0uMyA5LjEtMS44IDEzLjMtNC4xIDUuNS0zIDEwLjYtOCAxNS4xLTE0LjNsLTM0LjIgMi4zIDIuNC0yMy45IDYzLjEtNC4zIDEuMi0xMi0zMS4yIDIuMWMtNC4xLTMuNy03LjgtNi42LTExLjEtOC4xLTQtMS43LTguMS0yLjgtMTIuMi0yLjUtOCAuNS0xNS4zIDMuNi0yMiA5LjItNy43IDYuNC0xMiAxNC41LTEyLjkgMjQuNC0xLjEgOS42IDEuNCAxNy4zIDcuMiAyMy4zem0tMjAxLjMgOC4ybDIzLjgtMS42LTguMy0zNy42LTE1LjUgMzkuMnoiXX0sWWJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1penVuaSIsaWNvbjpbNTEyLDUxMixbXSwiZjNjYyIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTE3NiAzNTkuOWMtMzEuNCAxMC42LTU4LjggMjcuMy04MCA0OC4yTDk2IDEzNmMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMjIzLjl6TTI5NiAzNTBjLTEyLjktMi0yNi4yLTMuMS0zOS44LTMuMS0xMy44IDAtMjcuMiAxLjEtNDAuMiAzLjFsMC0yMTRjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MGwwIDIxNHptMTIwIDU3LjdjLTIxLjItMjAuOC00OC42LTM3LjQtODAtNDhMMzM2IDEzNmMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMjcxLjd6Il19LEtidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpdGNoLWlvIixpY29uOls1MTIsNTEyLFtdLCJmODNhIiwiTTcxLjkgMzQuOEM1MC4yIDQ3LjcgNy40IDk2LjggNyAxMDkuN2wwIDIxLjNjMCAyNy4xIDI1LjMgNTAuOCA0OC4yIDUwLjggMjcuNiAwIDUwLjUtMjIuOCA1MC41LTUwIDAgMjcuMSAyMi4yIDUwIDQ5LjggNTBzNDktMjIuOCA0OS01MGMwIDI3LjEgMjMuNiA1MCA1MS4yIDUwbC41IDBjMjcuNiAwIDUxLjItMjIuOCA1MS4yLTUwIDAgMjcuMSAyMS41IDUwIDQ5IDUwczQ5LjgtMjIuOCA0OS44LTUwYzAgMjcuMSAyMyA1MCA1MC41IDUwIDIzIDAgNDguMy0yMy44IDQ4LjMtNTAuOGwwLTIxLjNjLS40LTEyLjktNDMuMi02Mi4xLTY0LjktNzUtNjcuNC0yLjMtMTE0LjItMi43LTE4NC0yLjdTOTEuMSAzMy4xIDcxLjkgMzQuOHpNMjA0LjIgMTY5LjJjLTIyIDM4LjQtNzcuOSAzOC43LTk5LjggLjItMTMuMiAyMy4xLTQzLjIgMzIuMS01NiAyNy43LTMuOSA0MC4yLTEzLjcgMjM3LjEgMTcuNyAyNjkuMiA4MCAxOC43IDMwMi4xIDE4LjEgMzc5LjggMCAzMS42LTMyLjMgMjEuMy0yMzIgMTcuNy0yNjkuMi0xMi45IDQuNC00Mi45LTQuNi01Ni0yNy43LTIyIDM4LjUtNzcuOCAzOC4xLTk5LjgtLjItNy4xIDEyLjUtMjMgMjguOS01MS44IDI4LjktMTAuNCAuMy0yMC44LTIuMi0yOS45LTcuM3MtMTYuNy0xMi42LTIxLjktMjEuNmwwIDB6bS00MS42IDUzLjhjMTYuNSAwIDMxLjEgMCA0OS4yIDE5LjggMjkuMy0zIDU4LjktMyA4OC4yIDAgMTguMi0xOS43IDMyLjgtMTkuNyA0OS4yLTE5LjcgNTIuMyAwIDY1LjIgNzcuNSA4My45IDE0NC40IDE3LjMgNjIuMi01LjUgNjMuNy0zNCA2My43LTQyLjEtMS42LTY1LjUtMzIuMi02NS41LTYyLjgtMzkuMyA2LjQtMTAxLjkgOC44LTE1NS42IDAgMCAzMC42LTIzLjMgNjEuMi02NS41IDYyLjgtMjguNC0uMS01MS4yLTEuNi0zMy45LTYzLjcgMTguNy02NyAzMS42LTE0NC40IDgzLjktMTQ0LjRsMC0uMXpNMjU2IDI3MC44cy00NC40IDQwLjgtNTIuNCA1NS4ybDI5LTEuMiAwIDI1LjNjMCAxLjUgMjEuMyAuMiAyMy4zIC4yIDExLjYgLjUgMjMuMyAxIDIzLjMtLjJsMC0yNS4zIDI5IDEuMmMtOC0xNC41LTUyLjQtNTUuMi01Mi40LTU1LjJsLjEgMHoiXX0sWmJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndpbmRvd3MiLGljb246WzQ0OCw1MTIsW10sImYxN2EiLCJNMCA5My43bDE4My42LTI1LjMgMCAxNzcuNC0xODMuNiAwIDAtMTUyLjF6TTAgNDE4LjNsMTgzLjYgMjUuMyAwLTE3NS4yLTE4My42IDAgMCAxNDkuOXptMjAzLjggMjhsMjQ0LjIgMzMuNyAwLTIxMS42LTI0NC4yIDAgMCAxNzcuOXptMC0zODAuNmwwIDE4MC4xIDI0NC4yIDAgMC0yMTMuOC0yNDQuMiAzMy43eiJdfSxYYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3R1bWJsZXVwb24iLGljb246WzUxMiw1MTIsW10sImYxYTQiLCJNNTAyLjkgMjY2bDAgNjkuN2MwIDYyLjEtNTAuMyAxMTIuNC0xMTIuNCAxMTIuNC02MS44IDAtMTEyLjQtNDkuOC0xMTIuNC0xMTEuM2wwLTcwLjIgMzQuMyAxNiA1MS4xLTE1LjIgMCA3MC42YzAgMTQuNyAxMiAyNi41IDI2LjcgMjYuNVM0MTcgMzUyLjcgNDE3IDMzOGwwLTcyIDg1LjkgMHpNMjc4LjIgMjA3LjhsMzQuMyAxNiA1MS4xLTE1LjIgMC0zNS42YzAtNjAuNS01MS4xLTEwOS0xMTIuMS0xMDktNjAuOCAwLTExMi4xIDQ4LjItMTEyLjEgMTA4LjJsMCAxNjIuNGMwIDE0LjktMTIgMjYuNy0yNi43IDI2LjdTODYgMzQ5LjUgODYgMzM0LjZsMC02OC42LTg2IDAgMCA2OS43YzAgNjIgNTAuMyAxMTIuMyAxMTIuNCAxMTIuMyA2MS42IDAgMTEyLjQtNDkuNSAxMTIuNC0xMTAuOGwwLTE2MC4zYzAtMTQuNyAxMi0yNi43IDI2LjctMjYuN3MyNi43IDEyIDI2LjcgMjYuN2wwIDMwLjl6Il19LGxlZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29nbGUiLGljb246WzUxMiw1MTIsW10sImYxYTAiLCJNNTAwIDI2MS44QzUwMCA0MDMuMyA0MDMuMSA1MDQgMjYwIDUwNCAxMjIuOCA1MDQgMTIgMzkzLjIgMTIgMjU2UzEyMi44IDggMjYwIDhjNjYuOCAwIDEyMyAyNC41IDE2Ni4zIDY0LjlsLTY3LjUgNjQuOWMtODguMy04NS4yLTI1Mi41LTIxLjItMjUyLjUgMTE4LjIgMCA4Ni41IDY5LjEgMTU2LjYgMTUzLjcgMTU2LjYgOTguMiAwIDEzNS03MC40IDE0MC44LTEwNi45bC0xNDAuOCAwIDAtODUuMyAyMzYuMSAwYzIuMyAxMi43IDMuOSAyNC45IDMuOSA0MS40eiJdfSxRYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGlzY29yZCIsaWNvbjpbNTc2LDUxMixbXSwiZjM5MiIsIk00OTIuNSA2OS44Yy0uMi0uMy0uNC0uNi0uOC0uNy0zOC4xLTE3LjUtNzguNC0zMC0xMTkuNy0zNy4xLS40LS4xLS44IDAtMS4xIC4xcy0uNiAuNC0uOCAuOGMtNS41IDkuOS0xMC41IDIwLjItMTQuOSAzMC42LTQ0LjYtNi44LTg5LjktNi44LTEzNC40IDAtNC41LTEwLjUtOS41LTIwLjctMTUuMS0zMC42LS4yLS4zLS41LS42LS44LS44cy0uNy0uMi0xLjEtLjJjLTQxLjMgNy4xLTgxLjYgMTkuNi0xMTkuNyAzNy4xLS4zIC4xLS42IC40LS44IC43LTc2LjIgMTEzLjgtOTcuMSAyMjQuOS04Ni45IDMzNC41IDAgLjMgLjEgLjUgLjIgLjhzLjMgLjQgLjUgLjZjNDQuNCAzMi45IDk0IDU4IDE0Ni44IDc0LjIgLjQgLjEgLjggLjEgMS4xIDBzLjctLjQgLjktLjdjMTEuMy0xNS40IDIxLjQtMzEuOCAzMC00OC44IC4xLS4yIC4yLS41IC4yLS44czAtLjUtLjEtLjgtLjItLjUtLjQtLjYtLjQtLjMtLjctLjRjLTE1LjgtNi4xLTMxLjItMTMuNC00NS45LTIxLjktLjMtLjItLjUtLjQtLjctLjZzLS4zLS42LS4zLS45IDAtLjYgLjItLjkgLjMtLjUgLjYtLjdjMy4xLTIuMyA2LjItNC43IDkuMS03LjEgLjMtLjIgLjYtLjQgLjktLjRzLjcgMCAxIC4xYzk2LjIgNDMuOSAyMDAuNCA0My45IDI5NS41IDAgLjMtLjEgLjctLjIgMS0uMnMuNyAuMiAuOSAuNGMyLjkgMi40IDYgNC45IDkuMSA3LjIgLjIgLjIgLjQgLjQgLjYgLjdzLjIgLjYgLjIgLjktLjEgLjYtLjMgLjktLjQgLjUtLjYgLjZjLTE0LjcgOC42LTMwIDE1LjktNDUuOSAyMS44LS4yIC4xLS41IC4yLS43IC40cy0uMyAuNC0uNCAuNy0uMSAuNS0uMSAuOCAuMSAuNSAuMiAuOGM4LjggMTcgMTguOCAzMy4zIDMwIDQ4LjggLjIgLjMgLjYgLjYgLjkgLjdzLjggLjEgMS4xIDBjNTIuOS0xNi4yIDEwMi42LTQxLjMgMTQ3LjEtNzQuMiAuMi0uMiAuNC0uNCAuNS0uNnMuMi0uNSAuMi0uOGMxMi4zLTEyNi44LTIwLjUtMjM2LjktODYuOS0zMzQuNXptLTMwMiAyNjcuN2MtMjkgMC01Mi44LTI2LjYtNTIuOC01OS4yczIzLjQtNTkuMiA1Mi44LTU5LjJjMjkuNyAwIDUzLjMgMjYuOCA1Mi44IDU5LjIgMCAzMi43LTIzLjQgNTkuMi01Mi44IDU5LjJ6bTE5NS40IDBjLTI5IDAtNTIuOC0yNi42LTUyLjgtNTkuMnMyMy40LTU5LjIgNTIuOC01OS4yYzI5LjcgMCA1My4zIDI2LjggNTIuOCA1OS4yIDAgMzIuNy0yMy4yIDU5LjItNTIuOCA1OS4yeiJdfSxKYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaGFja2VyLW5ld3MiLGljb246WzQ0OCw1MTIsW10sImYxZDQiLCJNMCAzMmwwIDQ0OCA0NDggMCAwLTQ0OC00NDggMHpNMjEuMiAyMjkuMmwtLjIgMGMuMS0uMSAuMi0uMyAuMy0uNCAwIC4xIDAgLjMtLjEgLjR6bTIxOCA1My45bDAgMTAwLjktMzEuNCAwIDAtMTAyLjctNzkuOC0xNTMuMyAzNy4zIDBjNTIuNSA5OC4zIDQ5LjIgMTAxLjIgNTkuMyAxMjUuNiAxMi4zLTI3IDUuOC0yNC40IDYwLjYtMTI1LjZsMzQuOCAwLTgwLjggMTU1LjF6Il19LHp1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlbGV2ZW50eSIsaWNvbjpbNjQwLDUxMixbIjExdHkiXSwiZTdkNiIsIk02MTUuMyAxNjguNWMyLjMgMCA0LjYgLjcgNi42IDIuMiAxLjkgMS40IDMuMSAzLjMgMy44IDUgMS40IDMuMyAxLjggNy4zIDEuOCAxMS4zIDAgMi4yLS4zIDQuOS0uNyA3LjZsMCAuNC01MC45IDI2NC45IDAgMGMtNCAyMi4xLTguNSAzOS40LTEzLjYgNTEuNy01IDEyLjEtMTAuOSAyMS42LTE4LjYgMjdsMCAwYy03LjUgNS4zLTE2LjkgNy43LTI3LjYgOGwtMyAwYy0xNiAwLTI5LjMtNC4yLTM2LjktMTQuOC0uMS0uMS0uMS0uMS0uMi0uMi0uMS0uMi0uMy0uNC0uNS0uNmwwIDBjLTEuOC0yLjQtMi41LTUuMi0yLjktNy40LS41LTIuOC0uNy02LjEtLjctOS44IDAtNy4zIC42LTEzLjUgMi4xLTE4LjIgMS40LTQuNCA0LjgtMTAuNCAxMi4yLTEwLjRsMS4zIC4xYy4yIDAgLjQgLjEgLjUgLjEgLjMgLjEgLjYgLjEgLjggLjIgLjYgLjEgMS4zIC4zIDIuMiAuNmw3LjYgMi4yIC4xIDAgNy42IDIuMWMuOSAuMiAxLjcgLjQgMi4yIC41IC40IC4xIC42IC4xIC43IC4xIDAgMCAuMSAwIC4yLS4xIC4xLS4xIC40LS4yIC44LS42IC45LS45IDIuMi0yLjYgMy42LTUuNyAyLjYtNS44IDQuMi0xNC43IDQuMi0yNy40IDAtLjctLjMtMy40LTEuMy04LjktLjktNS4xLTIuMy0xMi4yLTQuMi0yMS4xbC01Ni0yMzIuOS0uMS0uNCAwLS4zYy0uNC0yLjctLjctNS4zLS43LTcuMyAwLTMuNyAuNC03LjUgMS43LTEwLjYgLjctMS42IDEuOC0zLjQgMy41LTQuOSAxLjktMS41IDQuMi0yLjMgNi41LTIuM2wzNC42IDBjNC42IDAgOC43IDEuNyAxMS45IDVsMS4zIDEuNWMxLjIgMS42IDIgMy40IDIuNyA1LjIgLjkgMi40IDEuNSA1LjEgMiA4LjFsMzAuNCAxNjEuMiAyMy44LTE2MGMuOC01LjggMi4yLTExLjQgNS4xLTE1LjEgMy0zLjggNy4yLTUuOCAxMi01LjhsMjQgMHpNMzc1LjEgMzQuNmMyLjYgMCA1LjEgLjcgNy40IDIuMyAyLjIgMS41IDMuNyAzLjYgNC43IDUuNyAxLjkgNCAyLjUgOS4xIDIuNSAxNC41bDAgMTExLjJjMCAuMSAwIC4yIDAgLjNsMzIuNCAwYzIuNSAwIDUgLjYgNy4yIDIuMSAyLjIgMS40IDMuNyAzLjQgNC44IDUuNSAyIDMuOSAyLjYgOC44IDIuNiAxMy45bDAgMTUuNGMwIDUtLjYgOS44LTIuNiAxMy43LTEuMSAyLTIuNiA0LTQuOCA1LjQtMi4yIDEuNC00LjcgMi03LjEgMmwtMzIuNSAwIDAgMTQ1LjhjMCAxMC44IC43IDE5LjUgMiAyNi4yIDEuNCA2LjkgMy4xIDEwLjkgNC43IDEyLjkgMS4yIDEuNSAyLjIgMi41IDMuMSAzLjJsMi4yIDEuNCAuMSAuMSAyLjkgLjhjMS4yIC4yIDIuNiAuMyA0LjMgLjNsMjAuMyAwYzQuNSAwIDguOSAxLjcgMTEuOCA1LjggMi42IDMuNiAzLjMgOC4xIDMuMyAxMi4ybDAgMTcuMmMwIDQuNS0uOCA5LjMtMy40IDEzLjEtMyA0LjItNy41IDYtMTIuMyA2bDAgMC0yOS4xIC4xYy04IDAtMTUtLjYtMjEuMi0xLjctNi43LTEuMy0xMy40LTQuMS0yMC4xLTguMS03LjItNC40LTEzLTEwLjMtMTcuNS0xNy44LTQuNS03LjUtNy45LTE3LjUtMTAuNS0yOS41LTIuNi0xMi4yLTMuOS0yNi42LTMuOS00M2wwLTE0NC45LTEzLjQgMGMtMi40IDAtNC45LS42LTcuMS0yLTIuMi0xLjQtMy43LTMuNC00LjgtNS40LTItMy45LTIuNi04LjctMi42LTEzLjdsMC0xNS40YzAtNS4xIC42LTEwIDIuNi0xMy45IDEuMS0yLjEgMi42LTQgNC44LTUuNSAyLjItMS41IDQuNy0yLjEgNy4yLTIuMWwxMy40IDAgMC0uNiA1LjItMTExLjIgMC0uMSAuMy0zLjljLjUtMy44IDEuMy03LjQgMi43LTEwLjMgMi4xLTQuMiA2LTcuOSAxMS44LTcuOWwyOC42IDB6bS0yNjggMTEuN2MxLjggLjMgMy42IC45IDUuMyAyLjEgMi4xIDEuNSAzLjUgMy41IDQuNCA1LjQgMS43IDMuNyAyLjMgOC40IDIuMyAxMy4ybDAgMzc3LjhjMCA2LjctLjYgMTIuNi0yLjQgMTcuMS0uOSAyLjMtMi4zIDQuNy00LjQgNi41LTIuMyAyLTUuMSAzLTguMSAzbC00My43IDBjLTMgMC01LjgtMS4xLTguMS0zLjEtMi4xLTEuOS0zLjQtNC4zLTQuMi02LjUtMS43LTQuNS0yLjMtMTAuMy0yLjMtMTdsMC0zMTUuOGMtNC44IDEuMi04LjcgMi4yLTExLjUgMi45LTEuOSAuNS0zLjQgLjgtNC40IDEuMS0uNSAuMS0uOSAuMi0xLjIgLjMtLjEgMC0uMyAuMS0uNSAuMS0uMSAwLS4yIDAtLjMgLjEgMCAwLS4yIDAtLjMgMCAwIDAtLjIgMC0uNCAwbDAgMGMtLjEgMC0uMyAwLS40IDAtLjEgMC0uMiAwLS4yIDAtMi4yIC4xLTQuNS0uNC02LjYtMS43LTIuMy0xLjQtMy44LTMuNC00LjctNS4zLTEuOC0zLjctMi4zLTguNC0yLjMtMTNsMC0yNy40YzAtNC40IC43LTguOCAyLjYtMTIuNCAyLjEtMy45IDUuNS02LjYgOS44LTcuNmw3NS41LTE5LjVjMS40LS40IDIuOS0uNSA0LjQtLjVsMS44IC4xem0xNDMuOC0uNWMxLjggLjMgMy42IC45IDUuMiAyLjEgMi4xIDEuNSAzLjUgMy41IDQuNCA1LjQgMS43IDMuNyAyLjIgOC40IDIuMiAxMy4ybDAgMzc3LjhjMCA2LjctLjYgMTIuNi0yLjQgMTcuMS0uOSAyLjMtMi4zIDQuNy00LjQgNi41LTIuMyAyLTUuMSAzLTguMSAzbC00My43IDBjLTMgMC01LjgtMS4xLTguMS0zLjEtMi4xLTEuOS0zLjQtNC4zLTQuMi02LjUtMS43LTQuNS0yLjMtMTAuMy0yLjMtMTdsMC0zMTUuOGMtNC44IDEuMi04LjcgMi4yLTExLjUgMi45LTEuOSAuNS0zLjQgLjgtNC40IDEuMS0uNSAuMS0uOSAuMi0xLjIgLjMtLjEgMC0uMyAuMS0uNSAuMS0uMSAwLS4yIDAtLjMgLjEtLjEgMC0uMiAwLS4zIDAgMCAwLS4yIDAtLjQgMGwwIDBjLS4xIDAtLjIgMC0uMyAwLS4xIDAtLjIgMC0uMyAwLTIuMiAuMS00LjUtLjQtNi42LTEuNy0yLjMtMS40LTMuOC0zLjQtNC43LTUuMy0xLjgtMy43LTIuMy04LjMtMi4zLTEzbDAtMjcuNGMwLTQuNCAuNy04LjcgMi42LTEyLjQgMi4xLTMuOSA1LjUtNi42IDkuOC03LjZsNzUuNC0xOS40YzEuNC0uNCAyLjktLjUgNC40LS41bDEuOCAuMXoiXX0sZXZ0PXp1ZSx0dnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGVhbXNwZWFrIixpY29uOls1NzYsNTEyLFtdLCJmNGY5IiwiTTE1Mi44IDM3LjJjLTMyLjIgMzguMS01Ni4xIDgyLjYtNjkuOSAxMzAuNSAwIC4yLS4xIC4zLS4xIC41LTM5LjMgMTYuMi02Ni44IDU0LjgtNjYuOCA5OS44IDAgNTkuNiA0OC40IDEwOCAxMDggMTA4czEwOC00OC40IDEwOC0xMDhjMC01My41LTM4LjktOTcuOS05MC0xMDYuNSAxNS43LTQxLjggNDAuNC03OS42IDcyLjMtMTEwLjcgMS44LTEuNiA0LTIuNiA2LjMtMy4xIDM3LjItMTEuNSA3Ni43LTEzLjMgMTE0LjgtNS4yIDExOS4zIDI1LjEgMTk4LjYgMTM4LjIgMTgxLjcgMjU4LjgtOC40IDYyLjYtMzguNiAxMTIuNy04Ny43IDE1MS40LTUwLjEgMzkuNy0xMDcuNSA1NC4zLTE3MC4yIDUyLjJsLTI0LTFjMTIuNCAyLjggMjUgNC45IDM3LjYgNi4zIDQwLjcgNC4yIDgxLjQgMi4xIDEyMC4xLTEyLjUgOTQtMzUuNSAxNDkuMy0xMDIuMyAxNjIuOS0yMDIuNSA0LjgtNTIuNi01LjgtMTA1LjQtMzAuOC0xNTItNzAuNC0xMzEuOS0yMzQuMi0xODEuNi0zNjYtMTExLjItMi40IDEuNC00LjUgMy4xLTYuMyA1LjJsLjEgMHpNMzA5LjQgNDMzLjljLTIuMSAxMS41LTQuMiAyMS45LTE0LjYgMzEuMyA1My4yLTEgMTIzLjItMjkuMiAxNjEuOC05Ny4xIDM5LjctNjkuOSAzNy42LTEzOS45LTYuMy0yMDcuOC0zNi41LTU1LjMtODkuOC04Mi40LTE1Ni42LTg2LjYgMS41IDIuMyAzLjIgNC40IDUuMiA2LjNsNS4yIDYuM2MyNS4xIDMxLjMgMzcuNiA2Ny45IDQyLjggMTA3LjUgMi4xIDE1LjctMSAzMC4zLTEzLjYgNDEuOC00LjIgMy4xLTUuMiA2LjMtNC4yIDEwLjRsNy4zIDE3LjcgMjkuMyA1NC4zYzUuMiAxMS41IDQuMiAxOS44LTYuMyAyOC4yLTMuMiAyLjUtNi43IDQuNi0xMC40IDYuM2wtMTguOCA4LjQgMy4xIDEzLjZjMy4xIDYuMyAxIDEyLjUtMy4xIDE3LjctMi41IDIuNC0zLjggNS45LTMuMSA5LjQgMi4xIDExLjUtMi4xIDE5LjgtMTIuNSAyNS4xLTIuMSAxLTQuMiA1LjItNS4yIDcuM2wwLS4xem0tMTMzLjYtMy4xYzE2LjcgMTEuNSAzNC41IDIwLjkgNTMuMiAyNi4xIDI0IDUuMiA0MS44LTYuMyA0NC45LTMwLjMgMS04LjQgNS4yLTE0LjYgMTIuNS0xNy43IDcuMy00LjIgOC40LTcuMyAyLjEtMTMuNmwtOS40LTguNCAxMy42LTQuMmM2LjMtMi4xIDcuMy01LjIgNS4yLTExLjUtMS40LTMtMi40LTYuMi0zLjEtOS40LTMuMS0xNC42LTIuMS0xNS43IDExLjUtMTguOCA4LjQtMy4xIDE1LjctNi4zIDIxLjktMTIuNSAzLjEtMi4xIDMuMS00LjIgMS04LjRsLTE2LjctMzAuM2MtMS0xLjktMi4xLTMuOC0zLjEtNS43LTYuNC0xMS43LTEzLTIzLjYtMTUuNy0zNy4xLTIuMS05LjQtMS0xNy43IDguNC0yNCA1LjItNC4yIDguNC05LjQgOC40LTE2LjctLjQtMTAuMS0xLjUtMjAuMy0zLjEtMzAuMy02LjMtMzcuNi0yMy02OC45LTUxLjItOTUtNS4yLTQuMi05LjQtNi4zLTE2LjctNC4ybC0zNS42IDEyLjcgNiAzLjZjNi4zIDMuNyAxMi4yIDcuMyAxNyAxMi4xIDMwLjMgMjYuMSA0MS44IDYxLjYgNDUuOSAxMDAuMiAxIDguNCAwIDE2LjctNy4zIDIxLjktOC40IDUuMi0xMC40IDEyLjUtNy4zIDIwLjkgNC45IDEzLjIgMTAuNCAyNiAxNi43IDM4LjZMMjkxLjYgMzE4Yy02LjMgOC40LTEzLjYgMTEuNS0yMS45IDE0LjYtMTIuNSAzLjEtMTQuNiA3LjMtMTAuNCAyMC45IC42IDEuNSAxLjQgMi44IDIuMSA0LjIgMi4xIDUuMiAxIDguNC00LjIgMTAuNGwtMTIuNSAzLjEgNS4yIDQuMiA0LjIgNC4yYzQuMiA1LjIgNC4yIDguNC0yLjEgMTAuNC03LjMgNC4yLTExLjUgOS40LTExLjUgMTcuNyAwIDEyLjUtNy4zIDE5LjgtMTguOCAyNC0zLjggMS03LjYgMS41LTExLjUgMWwtMzQuNS0yLjEgLjEgLjJ6Il19LGF2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdXBwbGUiLGljb246WzY0MCw1MTIsW10sImYzZjkiLCJNNjQwIDI2Mi41YzAgNjQuMS0xMDkgMTE2LjEtMjQzLjUgMTE2LjEtMjQuOCAwLTQ4LjYtMS44LTcxLjEtNSA3LjcgLjQgMTUuNSAuNiAyMy40IC42IDEzNC41IDAgMjQzLjUtNTYuOSAyNDMuNS0xMjcuMSAwLTI5LjQtMTkuMS01Ni40LTUxLjItNzggNjAgMjEuMSA5OC45IDU1LjEgOTguOSA5My40ek00Ny43IDIyNy45Yy0uMS03MC4yIDEwOC44LTEyNy4zIDI0My4zLTEyNy42IDcuOSAwIDE1LjYgLjIgMjMuMyAuNS0yMi41LTMuMi00Ni4zLTQuOS03MS00LjktMTM0LjUgLjQtMjQzLjQgNTIuNi0yNDMuMyAxMTYuNyAuMSAzOC4zIDM5LjEgNzIuMyA5OS4zIDkzLjMtMzIuMy0yMS41LTUxLjUtNDguNi01MS42LTc4em02MC4yIDM5LjlTMTE4LjQgMjgxIDEzNy4yIDI4MWMxNy45IDAgMjguNC0xMS41IDI4LjQtMjUuMSAwLTI4LTQwLjItMjUuMS00MC4yLTM5LjcgMC01LjQgNS4zLTkuMSAxMi41LTkuMSA1LjcgMCAxMS4zIDIuNiAxMS4zIDYuNmwwIDMuOSAxNC4yIDAgMC03LjljMC0xMi4xLTE1LjQtMTYuOC0yNS40LTE2LjgtMTYuNSAwLTI4LjUgMTAuMi0yOC41IDI0LjEgMCAyNi42IDQwLjIgMjUuNCA0MC4yIDM5LjkgMCA2LjYtNS44IDEwLjEtMTIuMyAxMC4xLTExLjkgMC0yMC43LTEwLjEtMjAuNy0xMC4xbC04LjggMTAuOXptMTIwLjgtNzMuNmwwIDU0LjRjMCAxMS4zLTcuMSAxNy44LTE3LjggMTcuOHMtMTcuOC02LjUtMTcuOC0xNy43bDAtNTQuNS0xNS44IDAgMCA1NWMwIDE4LjkgMTMuNCAzMS45IDMzLjcgMzEuOSAyMC4xIDAgMzMuNC0xMyAzMy40LTMxLjlsMC01NS0xNS43IDB6bTM0LjQgODUuNGwxNS44IDAgMC0yOS41IDE1LjUgMGMxNiAwIDI3LjItMTEuNSAyNy4yLTI4LjFzLTExLjItMjcuOC0yNy4yLTI3LjhsLTM5LjEgMCAwIDEzLjQgNy44IDAgMCA3MnptMTUuOC00M2wwLTI5LjEgMTIuOSAwYzguNyAwIDEzLjcgNS43IDEzLjcgMTQuNCAwIDguOS01LjEgMTQuNy0xNCAxNC43bC0xMi42IDB6bTU3IDQzbDE1LjggMCAwLTI5LjUgMTUuNSAwYzE2IDAgMjcuMi0xMS41IDI3LjItMjguMXMtMTEuMi0yNy44LTI3LjItMjcuOGwtMzkuMSAwIDAgMTMuNCA3LjggMCAwIDcyem0xNS43LTQzbDAtMjkuMSAxMi45IDBjOC43IDAgMTMuNyA1LjcgMTMuNyAxNC40IDAgOC45LTUgMTQuNy0xNCAxNC43bC0xMi42IDB6bTU3LjEgMzQuOGMwIDUuOCAyLjQgOC4yIDguMiA4LjJsMzcuNiAwYzUuOCAwIDguMi0yLjQgOC4yLTguMmwwLTEzLTE0LjMgMCAwIDUuMmMwIDEuNy0xIDIuNi0yLjYgMi42bC0xOC42IDBjLTEuNyAwLTIuNi0xLTIuNi0yLjZsMC02MS4yYzAtNS43LTIuNC04LjItOC4yLTguMmwtMTUuNCAwIDAgMTMuNCA1LjIgMGMxLjcgMCAyLjYgMSAyLjYgMi42bDAgNjEuMi0uMSAwem02My40IDBjMCA1LjggMi40IDguMiA4LjIgOC4ybDM4LjcgMGM1LjcgMCA4LjItMi40IDguMi04LjJsMC0xMy0xNC4zIDAgMCA1LjJjMCAxLjctMSAyLjYtMi42IDIuNmwtMTkuNyAwYy0xLjcgMC0yLjYtMS0yLjYtMi42bDAtMjAuMyAyNy43IDAgMC0xMy40LTI3LjcgMCAwLTIyLjQgMTkuMiAwYzEuNyAwIDIuNiAxIDIuNiAyLjZsMCA1LjIgMTQuMiAwIDAtMTNjMC01LjctMi41LTguMi04LjItOC4ybC01MS42IDAgMCAxMy40IDcuOCAwIDAgNjMuOSAuMSAwem01OC45LTc2bDAgNS45IDEuNiAwIDAtNS45IDIuNyAwIDAtMS4yLTcgMCAwIDEuMiAyLjcgMHptNS43LTEuMmwwIDcuMSAxLjUgMCAwLTUuNyAyLjMgNS43IDEuMyAwIDIuMy01LjcgMCA1LjcgMS41IDAgMC03LjEtMi4zIDAtMi4xIDUuMS0yLjEtNS4xLTIuNCAweiJdfSxDdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXR3aXR0ZXIiLGljb246WzQ0OCw1MTIsWyJ0d2l0dGVyLXNxdWFyZSJdLCJmMDgxIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTM1MS4zIDE5OS4zYzAgODYuNy02NiAxODYuNi0xODYuNiAxODYuNi0zNy4yIDAtNzEuNy0xMC44LTEwMC43LTI5LjQgNS4zIC42IDEwLjQgLjggMTUuOCAuOCAzMC43IDAgNTguOS0xMC40IDgxLjQtMjgtMjguOC0uNi01My0xOS41LTYxLjMtNDUuNSAxMC4xIDEuNSAxOS4yIDEuNSAyOS42LTEuMi0zMC02LjEtNTIuNS0zMi41LTUyLjUtNjQuNGwwLS44YzguNyA0LjkgMTguOSA3LjkgMjkuNiA4LjMtOS02LTE2LjQtMTQuMS0yMS41LTIzLjZzLTcuOC0yMC4yLTcuNy0zMWMwLTEyLjIgMy4yLTIzLjQgOC45LTMzLjEgMzIuMyAzOS44IDgwLjggNjUuOCAxMzUuMiA2OC42LTkuMy00NC41IDI0LTgwLjYgNjQtODAuNiAxOC45IDAgMzUuOSA3LjkgNDcuOSAyMC43IDE0LjgtMi44IDI5LTguMyA0MS42LTE1LjgtNC45IDE1LjItMTUuMiAyOC0yOC44IDM2LjEgMTMuMi0xLjQgMjYtNS4xIDM3LjgtMTAuMi04LjkgMTMuMS0yMC4xIDI0LjctMzIuOSAzNCAuMiAyLjggLjIgNS43IC4yIDguNXoiXX0scnZ0PUN1ZSxzdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmltIixpY29uOls1MTIsNTEyLFtdLCJlODhhIiwiTTMwMy4zIDU0LjVsMC0xMi4zIDQtMy43IDcuOS03LjIgMy41LTMuMiAxNjggMCAxNS4xIDE1LjEgMCAzOC45LTMuNSAzLjYtODAuOSA4Mi45IDg2LjkgODYuOS05MS4yIDkxLjIgOC45IDAgNy42LTguMyAxLS45YzEuMS0uOCAyLjUtMS4yIDMuOS0xLjJsMjguOSAwIDEuNSAuMmMxLjUgLjQgMi44IDEuMiAzLjggMi41bDcuNiAxMC4yYzEuMyAxLjcgMS42IDMuOSAxIDUuOWwtMjIuMyA3Mi41IDEuMiAwYzIuMiAwIDQuMiAxLjEgNS41IDIuOXMxLjUgNC4xIC43IDYuMUw0NTkgNDQ1Yy0xIDIuNi0zLjQgNC4yLTYuMiA0LjJsLTQwLjQgMGMtMi4xIDAtNC4xLTEtNS4zLTIuN3MtMS42LTMuOS0xLTUuOWwyMC02My4yLTIyLjIgMC0xNi4yIDUwLjdjMi4xIC4xIDQuMSAxLjEgNS4zIDIuOSAxLjIgMS44IDEuNCA0LjIgLjYgNi4ybC0zLjMgNy45Yy0xIDIuNS0zLjUgNC4xLTYuMSA0LjFsLTM2LjggMGMtMi4xIDAtNC4xLTEtNS40LTIuN3MtMS42LTMuOS0xLTUuOWwxMC0zMi4xLTIzLjkgMjMuOGMuMyAxLjIgLjMgMi41LS4xIDMuOGwtMi45IDguNmMtLjkgMi43LTMuNCA0LjUtNi4zIDQuNWwtNy40IDAtNTQuNiA1NC42LTgzLjgtODMuOC0zMS42IDMyLjUtMy42IDMuNy00OS4yIDAtMi44LTEuN2MtOC44LTUuMS0xNC44LTguNS0xNy45LTEwLjNsMC0xMjkuMy01OC41LTU4LjUgMi42LTIuNiA1NS45LTU2IDAtOTkuNC0xMi42IDAtMTAuOC0xMC44LTMuNi0zLjYgMC00MC43IDMuMi0zLjUgNy45LTguNSAzLjctMy45IDE2Ni42IDAgOCA4IDI3LjQtMjcuNCA0Ni40IDQ2LjR6bS0yNTEtNS42bDAgMzAuMyA5LjQgNy44IDE4LjkgMCAwIDM0Ny45IDExLjQgMTAuMyAzOC4yIDAgOTEtOTNjMC0uNCAuMS0uOCAuMi0xLjFsMi42LTEwLjVjLjctMi45IDMuNC01IDYuNC01bDcuMSAwIDE1LjUtMTUuOS0yLTJjLTEuOC0xLjgtMi40LTQuNS0xLjUtNi45bDYuOS0xOS4zYy40LTEuMSAxLjEtMiAxLjktMi44bDYuOS01LjljMS4yLTEgMi44LTEuNiA0LjMtMS42bDE5LjcgMCAxLjMgLjJjLjEgMCAuMSAuMSAuMiAuMWwxOTkuMi0yMDMuNSAwLTI4LjctOC4yLTcuNC0xNTYuMiAwLTcuOCA3LjggMCAzMC41IDguMiA3LjQgMjEgMC0xNDcgMTQ2LjQgMC0xNDYuNiAxNi45IDAgOC43LTguNyAwLTI3LjctNy40LTkuOS0xNTcuNiAwLTggOHpNMjI3LjYgMzUyLjdsMTQuOCAwLTMxLjggOTAuOSA0NS4zIDAgMy05LjYtMTIuNSAwIDMxLjUtOTEuOS00Ny42IDAtMi42IDEwLjV6bTEzNi45IDFsLTE2LjQgMC0xMC41LTEwLjgtMzUuOCAwLTMuMyA5LjggMTEuOCAwLTMwLjUgODkuOSAzOC4xIDAgMi45LTguNi04LjggMCAyMC02MyAzNy44IDAtMjIuMyA3MS42IDM2LjggMCAzLjMtNy45LTguOCAwIDIwLjMtNjQgMzYuMSAwLTIyLjcgNzEuOSA0MC40IDAgMy4zLTguNi0xMC4yIDAgMjUtODEuMS03LjUtMTAuMi0yOC45IDAtOS41IDEwLjUtMTcuNCAwLTkuOS0xMC44LTIzLjMgMC05LjggMTEuMnpNMjYyLjUgMjkzLjZsLTYuOSAxOS4zIDUuMyA1LjMgMjEuMyAwIDUuNi01LjYgNS45LTIwLjMtNC42LTQuNi0xOS43IDAtNi45IDUuOXoiXX0sbmVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZvbnQtYXdlc29tZSIsaWNvbjpbNTEyLDUxMixbNjI1MDEsNjI2OTQsImZvbnQtYXdlc29tZS1mbGFnIiwiZm9udC1hd2Vzb21lLWxvZ28tZnVsbCJdLCJmMmI0IiwiTTkxLjcgOTZDMTA2LjMgODYuOCAxMTYgNzAuNSAxMTYgNTIgMTE2IDIzLjMgOTIuNyAwIDY0IDBTMTIgMjMuMyAxMiA1MmMwIDE2LjcgNy44IDMxLjUgMjAgNDFsMCA0MTkgNjQgMCAwLTY0IDM3My42IDBjMTQuNiAwIDI2LjQtMTEuOCAyNi40LTI2LjQgMC0zLjctLjgtNy4zLTIuMy0xMC43TDQzMiAyNzIgNDkzLjcgMTMzLjFjMS41LTMuNCAyLjMtNyAyLjMtMTAuNyAwLTE0LjYtMTEuOC0yNi40LTI2LjQtMjYuNEw5MS43IDk2eiJdfSxpdnQ9bmVlLG92dD1uZWUsX3VlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndpcnNpbmRoYW5kd2VyayIsaWNvbjpbNDQ4LDUxMixbIndzaCJdLCJlMmQwIiwiTTE4LjkgNDc5LjhsODMuNCAwIDAtMTEyLTgzLjQgNDcgMCA2NXptMzI5IDBsODIuNCAwIDAtNjUtODIuNC00NyAwIDExMnptMC00NDhsMCAyMTkuOC0xMjMuNi03Mi40LTEyMS43IDcyLjQgMC0yMTkuOC04My43IDAgMCAzNjAuOCAyMDUuNC0xMjIuMyAyMDYgMTIyLjMgMC0zNjAuOC04Mi4zIDB6Il19LG52dD1fdWUsbHZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Inpvb20iLGljb246WzY0MCw1MTIsW10sImU4N2IiLCJNMTM0LjIgMzI2LjZsLTExNC40IDBjLTggMC0xNS4yLTQuOC0xOC4zLTEyLjJTLjEgMjk4LjYgNS44IDI5Mi45bDc5LjMtNzkuMy01Ni44IDBDMTIuNyAyMTMuNiAwIDIwMSAwIDE4NS40bDEwNS41IDBjOCAwIDE1LjIgNC44IDE4LjMgMTIuMnMxLjQgMTUuOS00LjMgMjEuNmwtNzkuMyA3OS4zIDY1LjcgMGMxNS42IDAgMjguMyAxMi42IDI4LjMgMjguM3pNNjQwIDIzOC4zYzAtMzAuNC0yNC43LTU1LjEtNTUuMS01NS4xLTE2LjIgMC0zMC45IDcuMS00MSAxOC4zLTEwLjEtMTEuMi0yNC43LTE4LjMtNDEtMTguMy0zMC40IDAtNTUuMSAyNC43LTU1LjEgNTUuMWwwIDg4LjNjMTUuNiAwIDI4LjMtMTIuNyAyOC4zLTI4LjNsMC02MGMwLTE0LjggMTItMjYuOCAyNi44LTI2LjhzMjYuOCAxMiAyNi44IDI2LjhsMCA2MGMwIDE1LjYgMTIuNiAyOC4zIDI4LjMgMjguM2wwLTg4LjNjMC0xNC44IDEyLTI2LjggMjYuOC0yNi44czI2LjggMTIgMjYuOCAyNi44bDAgNjBjMCAxNS42IDEyLjYgMjguMyAyOC4zIDI4LjNsMC04OC4zek0yODguMiAyNTZhNzIuOCA3Mi44IDAgMSAxIDE0NS41IDAgNzIuOCA3Mi44IDAgMSAxIC0xNDUuNSAwem0xMTcuMyAwYTQ0LjUgNDQuNSAwIDEgMCAtODkgMCA0NC41IDQ0LjUgMCAxIDAgODkgMHptLTI3NC4xIDBhNzIuOCA3Mi44IDAgMSAxIDE0NS41IDAgNzIuOCA3Mi44IDAgMSAxIC0xNDUuNSAwem0xMTcuMyAwYTQ0LjUgNDQuNSAwIDEgMCAtODkgMCA0NC41IDQ0LjUgMCAxIDAgODkgMHoiXX0sY3Z0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNvbmZsdWVuY2UiLGljb246WzUxMiw1MTIsW10sImY3OGQiLCJNMi44IDQxMi4yYy00LjUgNy42LTIuMSAxNy41IDUuNSAyMi4ybDEwNS45IDY1LjJjNy43IDQuNyAxNy43IDIuNCAyMi40LTUuMyAwLS4xIC4xLS4yIC4xLS4yIDY3LjEtMTEyLjIgODAuNS05NS45IDI4MC45LS43IDguMSAzLjkgMTcuOCAuNCAyMS43LTcuNyAuMS0uMSAuMS0uMyAuMi0uNGw1MC40LTExNC4xYzMuNi04LjEtLjEtMTcuNi04LjEtMjEuMy0yMi4yLTEwLjQtNjYuMi0zMS4yLTEwNS45LTUwLjMtMjQ3LjktMTIwLjYtMzMwLjggNDUuNy0zNzMuMSAxMTIuNnpNNTEwLjIgMTAwLjFjNC41LTcuNiAyLjEtMTcuNS01LjUtMjIuMkwzOTguOSAxMi44Yy03LjUtNS0xNy42LTMuMS0yMi42IDQuNC0uMiAuMy0uNCAuNi0uNiAxLTY3LjMgMTEyLjYtODEuMSA5NS42LTI4MC42IC45LTguMS0zLjktMTcuOC0uNC0yMS43IDcuNy0uMSAuMS0uMSAuMy0uMiAuNEwyMi43IDE0MS4zYy0zLjYgOC4xIC4xIDE3LjYgOC4xIDIxLjMgMjIuMiAxMC40IDY2LjMgMzEuMiAxMDYgNTAuNCAyNDggMTIwIDMzMC44LTQ1LjQgMzczLjQtMTEyLjl6Il19LGR2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaWdnIixpY29uOls1MTIsNTEyLFtdLCJmMWE2IiwiTTgxLjcgMTcyLjNsLTgxLjcgMCAwIDE3NC40IDEzMi43IDAgMC0yNTAuNy01MSAwIDAgNzYuM3ptMCAxMzMuNGwtMzAuOCAwIDAtOTIuMyAzMC44IDAgMCA5Mi4zek0zNzguOSAxNzIuM2wwIDE3NC40IDgxLjggMCAwIDI4LjUtODEuOCAwIDAgNDAuOCAxMzMuMSAwIDAtMjQzLjctMTMzLjEgMHptODEuOCAxMzMuNGwtMzAuOCAwIDAtOTIuMyAzMC44IDAgMCA5Mi4zem0tMjM1LjYgNDFsODIuMSAwIDAgMjguNS04Mi4xIDAgMCA0MC44IDEzMy4zIDAgMC0yNDMuNy0xMzMuMyAwIDAgMTc0LjR6bTUxLjItMTMzLjNsMzAuOCAwIDAgOTIuMy0zMC44IDAgMC05Mi4zek0xNTMuMyA5Nmw1MS4zIDAgMCA1MS01MS4zIDAgMC01MXptMCA3Ni4zbDUxLjMgMCAwIDE3NC40LTUxLjMgMCAwLTE3NC40eiJdfSx1dnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGhyZWFkcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTYxOCIsIk0zMzEuNSAyMzUuN2MyLjIgLjkgNC4yIDEuOSA2LjMgMi44IDI5LjIgMTQuMSA1MC42IDM1LjIgNjEuOCA2MS40IDE1LjcgMzYuNSAxNy4yIDk1LjgtMzAuMyAxNDMuMi0zNi4yIDM2LjItODAuMyA1Mi41LTE0Mi42IDUzbC0uMyAwYy03MC4yLS41LTEyNC4xLTI0LjEtMTYwLjQtNzAuMi0zMi4zLTQxLTQ4LjktOTguMS00OS41LTE2OS42bDAtLjVDMTcgMTg0LjMgMzMuNiAxMjcuMiA2NS45IDg2LjIgMTAyLjIgNDAuMSAxNTYuMiAxNi41IDIyNi40IDE2bC4zIDBjNzAuMyAuNSAxMjQuOSAyNCAxNjIuMyA2OS45IDE4LjQgMjIuNyAzMiA1MCA0MC42IDgxLjdsLTQwLjQgMTAuOGMtNy4xLTI1LjgtMTcuOC00Ny44LTMyLjItNjUuNC0yOS4yLTM1LjgtNzMtNTQuMi0xMzAuNS01NC42LTU3IC41LTEwMC4xIDE4LjgtMTI4LjIgNTQuNC0yNi4yIDMzLjMtMzkuOCA4MS41LTQwLjMgMTQzLjIgLjUgNjEuNyAxNC4xIDEwOS45IDQwLjMgMTQzLjMgMjggMzUuNiA3MS4yIDUzLjkgMTI4LjIgNTQuNCA1MS40LS40IDg1LjQtMTIuNiAxMTMuNy00MC45IDMyLjMtMzIuMiAzMS43LTcxLjggMjEuNC05NS45LTYuMS0xNC4yLTE3LjEtMjYtMzEuOS0zNC45LTMuNyAyNi45LTExLjggNDguMy0yNC43IDY0LjgtMTcuMSAyMS44LTQxLjQgMzMuNi03Mi43IDM1LjMtMjMuNiAxLjMtNDYuMy00LjQtNjMuOS0xNi0yMC44LTEzLjgtMzMtMzQuOC0zNC4zLTU5LjMtMi41LTQ4LjMgMzUuNy04MyA5NS4yLTg2LjQgMjEuMS0xLjIgNDAuOS0uMyA1OS4yIDIuOC0yLjQtMTQuOC03LjMtMjYuNi0xNC42LTM1LjItMTAtMTEuNy0yNS42LTE3LjctNDYuMi0xNy44bC0uNyAwYy0xNi42IDAtMzkgNC42LTUzLjMgMjYuM2wtMzQuNC0yMy42YzE5LjItMjkuMSA1MC4zLTQ1LjEgODcuOC00NS4xbC44IDBjNjIuNiAuNCA5OS45IDM5LjUgMTAzLjcgMTA3LjdsLS4yIC4yIC4xIDB6bS0xNTYgNjguOGMxLjMgMjUuMSAyOC40IDM2LjggNTQuNiAzNS4zIDI1LjYtMS40IDU0LjYtMTEuNCA1OS41LTczLjItMTMuMi0yLjktMjcuOC00LjQtNDMuNC00LjQtNC44IDAtOS42IC4xLTE0LjQgLjQtNDIuOSAyLjQtNTcuMiAyMy4yLTU2LjIgNDEuOGwtLjEgLjF6Il19LFR1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3cHJlc3NyIixpY29uOls1MTIsNTEyLFsicmVuZGFjdCJdLCJmM2U0IiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNNDI3LjMgMTY2LjZjLTE1LjIgMzQuNS0zMC40IDY5LTQ1LjYgMTAzLjUtMi40IDUuNS02LjkgOC4yLTEzIDguMi0yMyAwLTQ2IC4xLTY5IDAtNS4xIDAtOC4yIDEuOS0xMC4zIDYuNy0xMC4yIDIzLjYtMjAuNiA0Ny0zMSA3MC41LTEuNSAzLjUtNC4xIDUuMy03LjkgNS4zLTQ1LjkgMC05MS45IDAtMTM3LjggMC0zLjEgMC01LjYtMS4xLTcuNy0zLjQtMTEuMi0xMi4zLTIyLjUtMjQuNi0zMy43LTM2LjktMi43LTMtMi44LTYuMi0xLjItOS43IDguNy0xOS41IDE3LjMtMzkuMSAyNS45LTU4LjcgMTIuOS0yOS40IDI1LjktNTguNyAzOC43LTg4LjEgMS43LTMuOSA0LjMtNS43IDguNS01LjcgMTQuMiAuMSAyOC41IDAgNDIuNyAwIDYuMiAwIDkuMiA0LjggNi43IDEwLjYtMTMuNiAzMC44LTI3LjIgNjEuNi00MC43IDkyLjMtNS43IDEzLTExLjQgMjYtMTcuMSAzOS0zLjkgOSA3LjEgMTIgMTEgNS42IC4yLS40LTEuNCA0LjIgMzAtNjcuNyAxLjQtMy4xIDMuNC00LjQgNi44LTQuNCAxNS4yIC4xIDMwLjQgMCA0NS42IDAgNS42IDAgNy45IDMuNiA1LjcgOC43LTguMyAxOS0xNi43IDM3LjktMjUgNTYuOS01IDExLjQgOC4xIDEyLjUgMTEuMyA1LjMgMC0uMSAyNy45LTYzLjMgMzIuMi03My4yIDItNC42IDUuNC02LjUgMTAuMy02LjUgMjYuNCAuMSA1Mi45IDAgNzkuMyAwIDEyLjQgMCAxMy45LTEzLjYgMy45LTEzLjYtMjUuMyAwLTUwLjUgMC03NS44IDAtNi4zIDAtNy44LTIuNS01LjMtOC4zIDUuOC0xMy4xIDExLjYtMjYuMSAxNy4zLTM5LjIgMS43LTQgNC41LTUuOCA4LjgtNS44IDIzLjEgLjEgMjYgMCAxMzAuOCAwIDYuMSAwIDggMi44IDUuNiA4LjN6Il19LHB2dD1UdWUsZnZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InlvYXN0IixpY29uOls0NDgsNTEyLFtdLCJmMmIxIiwiTTkxLjMgNzZsMTg2IDAtNyAxOC45LTE3OSAwYy0zOS43IDAtNzEuOSAzMS42LTcxLjkgNzAuM2wwIDIwNS40YzAgMzUuNCAyNC45IDcwLjMgODQgNzAuM2wwIDE5LjEtMTIuMSAwQzQxLjIgNDYwIDAgNDE5LjggMCAzNzAuNUwwIDE2NS4yQzAgMTE1LjkgNDAuNyA3NiA5MS4zIDc2ek0zMjAuNCAyMGw2Ni41IDBjLTE0My44IDM3OC4xLTE0NS43IDM5OC45LTE4NC43IDQzOS4zLTIwLjggMjEuNi00OS4zIDMxLjctNzguMyAzMi43bDAtNTEuMWM0OS4yLTcuNyA2NC42LTQ5LjkgNjQuNi03NS4zIDAtMjAuMSAuNi0xMi42LTgyLjEtMjIzLjJsNjEuNCAwIDUwLjQgMTU2LjYgMTAyLjItMjc5ek00NDggMTYxLjVsMCAyOTguNS0yMTQgMGM2LjYtOS42IDEwLjctMTYuMyAxMi4xLTE5LjRsMTgyLjUgMCAwLTI3OS4xYzAtMzIuNS0xNy4xLTUxLjktNDguMi02Mi45TDM4Ny4xIDgxYzQxLjcgMTMuNiA2MC45IDQzLjEgNjAuOSA4MC41eiJdfSxodnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibmltYmxyIixpY29uOlszODQsNTEyLFtdLCJmNWE4IiwiTTI0Ni42IDM1My4zYTI3IDI3IDAgMSAxIDAtNTQgMjcgMjcgMCAxIDEgMCA1NHptLTc5LjQtMjdhMjcuMSAyNy4xIDAgMSAxIC01NC4zIDAgMjcuMSAyNy4xIDAgMSAxIDU0LjMgMHpNMTkxLjggMTU5QzE1NyAxNTkgODkuNCAxNzguOCA1OS4yIDIyN0wxNCAwIDE0IDMzNS41QzE0IDQzMy4xIDkzLjYgNTEyIDE5MS44IDUxMlMzNjkuNSA0MzMgMzY5LjUgMzM1LjUgMjkwLjEgMTU5IDE5MS44IDE1OXptMCAzMDguMWMtNzMuMyAwLTEzMi41LTU4LjktMTMyLjUtMTMxLjZzNTkuMi0xMzEuNiAxMzIuNS0xMzEuNiAxMzIuNSA1OC45IDEzMi41IDEzMS41LTU5LjMgMTMxLjYtMTMyLjUgMTMxLjZsMCAuMXoiXX0sbXZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpeGVsZmVkIixpY29uOls1MTIsNTEyLFtdLCJlN2RiIiwiTTI1NiAwYTI1NiAyNTYgMCAxIDEgMCA1MTIgMjU2IDI1NiAwIDEgMSAwLTUxMnpNMjM1LjcgMzExLjlsNDcgMGM0NC4yIDAgODAuMS0zNC45IDgwLjEtNzhzLTM1LjktNzgtODAuMS03OGwtNjcuOCAwYy0yNS41IDAtNDYuMiAyMC4xLTQ2LjIgNDVsMCAxNzUuMSA2Ny02NC4xeiJdfSxndnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieWFob28iLGljb246WzUxMiw1MTIsW10sImYxOWUiLCJNMjIzLjggMTQxLjFsLTU2LjcgMTQzLjItNTYtMTQzLjItOTYuMSAwIDEwNS44IDI0OS4xLTM4LjYgODkuOCA5NC4yIDAgMTQwLjktMzM4LjktOTMuNiAwek0zMjkuMiAyNzYuOWE1OC4yIDU4LjIgMCAxIDAgMCAxMTYuNCA1OC4yIDU4LjIgMCAxIDAgMC0xMTYuNHpNMzk0LjcgMzJsLTkzIDIyMy41IDEwNC44IDAgOTIuNi0yMjMuNS0xMDQuNCAweiJdfSxidnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmx1ZXNreSIsaWNvbjpbNTc2LDUxMixbXSwiZTY3MSIsIk00MDcuOCAyOTQuN2MtMy4zLS40LTYuNy0uOC0xMC0xLjMgMy40IC40IDYuNyAuOSAxMCAxLjN6TTI4OCAyMjcuMUMyNjEuOSAxNzYuNCAxOTAuOSA4MS45IDEyNC45IDM1LjMgNjEuNi05LjQgMzcuNS0xLjcgMjEuNiA1LjUgMy4zIDEzLjggMCA0MS45IDAgNTguNFM5LjEgMTk0IDE1IDIxMy45YzE5LjUgNjUuNyA4OS4xIDg3LjkgMTUzLjIgODAuNyAzLjMtLjUgNi42LS45IDEwLTEuNC0zLjMgLjUtNi42IDEtMTAgMS40LTkzLjkgMTQtMTc3LjMgNDguMi02Ny45IDE2OS45IDEyMC4zIDEyNC42IDE2NC44LTI2LjcgMTg3LjctMTAzLjQgMjIuOSA3Ni43IDQ5LjIgMjIyLjUgMTg1LjYgMTAzLjQgMTAyLjQtMTAzLjQgMjguMS0xNTYtNjUuOC0xNjkuOS0zLjMtLjQtNi43LS44LTEwLTEuMyAzLjQgLjQgNi43IC45IDEwIDEuMyA2NC4xIDcuMSAxMzMuNi0xNS4xIDE1My4yLTgwLjcgNS45LTE5LjkgMTUtMTM4LjkgMTUtMTU1LjVzLTMuMy00NC43LTIxLjYtNTIuOWMtMTUuOC03LjEtNDAtMTQuOS0xMDMuMiAyOS44LTY2LjEgNDYuNi0xMzcuMSAxNDEuMS0xNjMuMiAxOTEuOHoiXX0sdnZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNjcmliZCIsaWNvbjpbMzg0LDUxMixbXSwiZjI4YSIsIk00Mi42IDI1Mi43Yy0xNi4xLTE5LTI0LjctNDUuOS0yNC44LTc5LjkgMC0xMDAuNCA3NS4yLTE1My4xIDE2Ny4yLTE1My4xIDk4LjYtMS42IDE1Ni44IDQ5IDE4NC4zIDcwLjZsLTUwLjUgNzIuMS0zNy4zLTI0LjYgMjYuOS0zOC42Yy0zNi41LTI0LTc5LjQtMzYuNS0xMjMtMzUuOC01MC43LS44LTExMS43IDI3LjItMTExLjcgNzYuMiAwIDE4LjcgMTEuMiAyMC43IDI4LjYgMTUuNiAyMy4zLTUuMyA0MS45IC42IDU1LjggMTQgMjYuNCAyNC4zIDIzLjIgNjcuNi0uNyA5MS45LTI5LjIgMjkuNS04NS4yIDI3LjMtMTE0LjgtOC40em0zMTcuNyA1LjljLTE1LjUtMTguOC0zOC45LTI5LjQtNjMuMi0yOC42LTM4LjEtMi03MS4xIDI4LTcwLjUgNjcuMi0uNyAxNi44IDYgMzMgMTguNCA0NC4zIDE0LjEgMTMuOSAzMyAxOS43IDU2LjMgMTQuNCAxNy40LTUuMSAyOC42LTMuMSAyOC42IDE1LjYgMCA0LjMtLjUgOC41LTEuNCAxMi43LTE2LjcgNDAuOS01OS41IDY0LjQtMTIxLjQgNjQuNC01MS45IC4yLTEwMi40LTE2LjQtMTQ0LjEtNDcuM2wzMy43LTM5LjQtMzUuNi0yNy40LTYwLjggNzEuOCAxNS40IDEzLjhjNTIuNSA0Ni44IDEyMC40IDcyLjUgMTkwLjcgNzIuMiA1MS40IDAgOTQuNC0xMC41IDEzMy42LTQ0LjEgNTcuMS01MS40IDU0LjItMTQ5LjIgMjAuMy0xODkuNnoiXX0seHZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtcGQiLGljb246WzUxMiw1MTIsW10sImY0ZWMiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2em0wIDQ0OS41Yy0xMzkuMiAwLTIzNS44LTEzOC0xOTAuMi0yNjcuOWw3OC44IDM1LjFjLTIuMSAxMC41LTMuMyAyMS41LTMuMyAzMi45IDAgOTkgNzMuOSAxMjYuOSAxMjAuNCAxMjYuOSAyMi45IDAgNTMuNS02LjcgNzkuNC0yOS41TDMwNSAzMTEuMWMtNS41IDYuMy0xNy42IDE2LjctMzYuMyAxNi43LTM3LjggMC01My43LTM5LjktNTMuOS03MS45IDIzMC40IDEwMi42IDIxNi41IDk2LjUgMjE3LjkgOTYuOC0zNC4zIDYyLjQtMTAwLjYgMTA0LjgtMTc2LjcgMTA0Ljh6bTE5NC4yLTE1MGwtMjI0LTEwMGMxOC44LTM0IDU0LjktMzAuNyA3NC43LTExbDQwLjQtNDEuNmMtMjcuMS0yMy4zLTU4LTI3LjUtNzguMS0yNy41LTQ3LjQgMC04MC45IDIwLjUtMTAwLjcgNTEuNkw4Ny42IDE0NS42YzM2LjEtNTQuOSA5OC4xLTkxLjIgMTY4LjUtOTEuMiAxMTEuMSAwIDIwMS41IDkwLjQgMjAxLjUgMjAxLjUgMCAxOC0yLjQgMzUuNC02LjggNTItLjMtLjEtLjQtLjItLjYtLjR6Il19LHl2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlYXJseWJpcmRzIixpY29uOls1MTIsNTEyLFtdLCJmMzlhIiwiTTMyOS4zIDQ3LjVjMS4yLTEzIDIxLjMtMTQgMzYuNi04LjcgLjkgLjMgMjYuMiA5LjcgMTkgMTUuMi0yNy45LTcuNC01Ni40IDE4LjItNTUuNi02LjV6bS0yMDEgNi45YzMwLjctOC4xIDYyIDIwIDYxLjEtNy4xLTEuMy0xNC4yLTIzLjQtMTUuMy00MC4yLTkuNi0xIC4zLTI4LjcgMTAuNS0yMC45IDE2Ljd6TTMzNS41IDE2MGExNiAxNiAwIDEgMCAwIDMyIDE2IDE2IDAgMSAwIDAtMzJ6bS0xNTkuNyAwYTE2IDE2IDAgMSAwIDAgMzIgMTYgMTYgMCAxIDAgMC0zMnpNNDk0LjMgMzIzLjJjLTkuOSAyNC00MC43IDExLTYzLjktMS4yLTEzLjUgNjkuMS01OC4xIDExMS40LTEyNi4zIDEyNC4yIC4zIC45LTItLjEgMjQgMSAzMy42IDEuNCA2My44LTMuMSA5Ny40LTgtMTkuOC0xMy44LTExLjQtMzcuMS05LjgtMzguMSAxLjQtLjkgMTQuNyAxLjcgMjEuNiAxMS41IDguNi0xMi41IDI4LjQtMTQuOCAzMC4yLTEzLjYgMS42IDEuMSA2LjYgMjAuOS02LjkgMzQuNiA0LjctLjkgOC4yLTEuNiA5LjgtMi4xIDIuNi0uOCAxNy43IDExLjMgMy4xIDEzLjMtMTQuMyAyLjMtMjIuNiA1LjEtNDcuMSAxMC44LTQ1LjkgMTAuNy04NS45IDExLjgtMTE3LjcgMTIuOGwxIDExLjZjMy44IDE4LjEtMjMuNCAyNC4zLTI3LjYgNi4yIC44IDE3LjktMjcuMSAyMS44LTI4LjQtMWwtLjUgNS4zYy0uNyAxOC40LTI4LjQgMTcuOS0yOC4zLS42LTcuNSAxMy41LTI4LjEgNi44LTI2LjQtOC41bDEuMi0xMi40Yy0zNi43IC45LTU5LjcgMy4xLTYxLjggMy4xLTIwLjkgMC0yMC45LTMxLjYgMC0zMS42IDIuNCAwIDI3LjcgMS4zIDYzLjIgMi44LTYxLjEtMTUuNS0xMDMuNy01NS0xMTQuOS0xMTguMi0yNSAxMi44LTU3LjUgMjYuOC02OC4yIC44LTEwLjUtMjUuNCAyMS41LTQyLjYgNjYuOC03My40IC43LTYuNiAxLjYtMTMuMyAyLjctMTkuOC0xNC40LTE5LjYtMTEuNi0zNi4zLTE2LjEtNjAuNC0xNi44IDIuNC0yMy4yLTkuMS0yMy42LTIzLjEgLjMtNy4zIDIuMS0xNC45IDIuNC0xNS40IDEuMS0xLjggMTAuMS0yIDEyLjctMi42IDYtMzEuNyA1MC42LTMzLjIgOTAuOS0zNC41IDE5LjctMjEuOCA0NS4yLTQxLjUgODAuOS00OC4zLTE1LjMtMTkuNC0zLjQtMzkuOS0yLjQtNDAuNCAxLjctLjggMjEuMiA0LjMgMjYuMyAyMy4yIDUuMi04LjggMTguMy0xMS40IDE5LjYtMTAuNyAxLjEgLjYgNi40IDE1LTQuOSAyNS45IDQwLjMgMy41IDcyLjIgMjQuNyA5NiA1MC43IDM2LjEgMS41IDcxLjggNS45IDc3LjEgMzQgMi43IC42IDExLjYgLjggMTIuNyAyLjYgLjMgLjUgMi4xIDguMSAyLjQgMTUuNC0uNSAxMy45LTYuOCAyNS40LTIzLjYgMjMuMS0zLjIgMTcuMy0yLjcgMzIuOS04LjcgNDcuNyAyLjQgMTEuNyA0IDIzLjggNC44IDM2LjQgMzcgMjUuNCA3MC4zIDQyLjUgNjAuMyA2Ni45ek0yMjMuNSAxNTkuOWMuOS00NC0zNy45LTQyLjItNzguNi00MC4zLTIxLjcgMS0zOC45IDEuOS00NS41IDEzLjktMTEuNCAyMC45IDUuOSA5Mi45IDIzLjIgMTAxLjIgOS44IDQuNyA3My40IDcuOSA4Ni4zLTcuMSA4LjItOS40IDE1LTQ5LjQgMTQuNi02Ny43em01MiA1OC4zYy00LjMtMTIuNC02LTMwLjEtMTUuMy0zMi43LTItLjUtOS0uNS0xMSAwLTEwIDIuOC0xMC44IDIyLjEtMTcgMzcuMiAxNS40IDAgMTkuMyA5LjcgMjMuNyA5LjcgNC4zIDAgNi4zLTExLjMgMTkuNi0xNC4yem0xMzUuNy04NC43Yy02LjYtMTIuMS0yNC44LTEyLjktNDYuNS0xMy45LTQwLjItMS45LTc4LjItMy44LTc3LjMgNDAuMy0uNSAxOC4zIDUgNTguMyAxMy4yIDY3LjggMTMgMTQuOSA3Ni42IDExLjggODYuMyA3LjEgMTUuOC03LjYgMzYuNS03OC45IDI0LjMtMTAxLjN6Il19LHd2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzeW1mb255Y2FzdHMiLGljb246WzU3Niw1MTIsW10sImU4YWIiLCJNMjkzLjggMzQyLjVjMy40LTEuNSA2LjgtMS41IDEwLjIgMGw1NC4yIDIyLjZjMi42IC45IDQuNyAyLjYgNi4yIDQuOHMyLjMgNC44IDIuMyA3LjZjMCAxOS40LTMuNiAzNy4yLTEwLjcgNTMuNC02LjIgMTMuNi0xNC41IDI1LjQtMjQuOCAzNS42LTguNyA4LjUtMTcuNyAxNC42LTI3LjEgMTguNC0zLjQgMS41LTYuOCAxLjUtMTAuMiAwLTEwLjctNC4zLTIwLjYtMTEuMy0yOS43LTIwLjktMTAtMTAuNC0xNy44LTIyLjUtMjMuNS0zNi40LTYuNC0xNS42LTkuNi0zMi4zLTkuNi01MCAwLTIuOCAuNy01LjQgMi4yLTcuNiAxLjUtMi4zIDMuNi0zLjkgNi4yLTQuOGw1NC4yLTIyLjZ6TTQ3OS43IDQ4My44YTcwLjEgNzAuMSAwIDEgMSAwLTE0MC4yIDcwLjEgNzAuMSAwIDEgMSAwIDE0MC4yek0yNDQuNiAzNzcuNmMwIDE1LjMgMi42IDI5LjcgNy45IDQzLjIgNC45IDEyLjQgMTEuNiAyMy4zIDIwLjEgMzIuNSA4LjEgOC45IDE2LjkgMTUuMyAyNi4zIDE5LjIgOS4yLTMuOCAxNy44LTEwIDI1LjctMTguNyA4LjctOS4yIDE1LjQtMTkuOSAyMC4zLTMyLjIgNS41LTEzLjcgOC4yLTI4LjQgOC4yLTQ0LjFsLTU0LjItMjIuNi01NC4yIDIyLjZ6bTIzNS4xLTIwLjNhNTYuNSA1Ni41IDAgMSAwIDAgMTEzIDU2LjUgNTYuNSAwIDEgMCAwLTExM3ptLTM1Mi44IDIuM2M0LjEgMCA3LjYgMS4zIDEwLjQgMy45IDIuOCAyLjYgNC4yIDUuOSA0LjIgOS42bDAgMTYuNCAzMS4xLTE5LjJjMS41LTEuMSAzLjItMS43IDUuMS0xLjcgMi40IDAgNC42IC44IDYuMyAyLjVzMi43IDMuOCAyLjcgNi4ybDAgNzIuNmMwIDIuNi0uOSA0LjgtMi43IDYuNXMtMy45IDIuNS02LjMgMi41Yy0xLjkgMC0zLjYtLjYtNS4xLTEuN2wtMzEuMS0xOS4yIDAgMTYuNGMwIDMuOC0xLjQgNy00LjIgOS42cy02LjMgNC0xMC40IDRsLTg4LjIgMGMtNC4xIDAtNy42LTEuMy0xMC41LTRzLTQuMi01LjgtNC4yLTkuNmwwLTgxLjNjMC0zLjggMS40LTcgNC4yLTkuNnM2LjMtMy45IDEwLjUtMy45bDg4LjIgMHptMTcyIDk3LjhjLTExLjMtNy0yMC40LTE2LjQtMjcuNC0yOC4zLTcuNS0xMi40LTExLjktMjYuNi0xMy00Mi40bDQwLjQtMTcgMCA4Ny42ek0zNy41IDM3My40bDAgODAuOGMuMiAuMiAuNiAuMyAxLjIgLjNsODguMiAwYy40IDAgLjctLjEgMS4xLS4zbDAtODAuOGMtLjItLjItLjYtLjMtMS4yLS4zbC04OC4xIDBjLS40IDAtLjggLjEtMS4yIC4zem00MTguNCA1LjFjMi4zLTEuMyA0LjUtMS4zIDYuOCAwbDQ5LjggMzAuMmMyLjMgMS4zIDMuNCAzLjMgMy40IDUuOXMtMS4xIDQuNi0zLjQgNS45bC00OS44IDI4LjZjLTIuMyAxLjMtNC41IDEuMy02LjggMHMtMy40LTMuMy0zLjQtNS45bDAtNTguOGMwLTIuNiAxLjEtNC42IDMuNC01Ljl6TTE0MS41IDQwNS41bDAgMTYuNCAzMS43IDE5LjggMC01Ni0zMS43IDE5Ljh6TTQ1MS4xIDUuMmMzNS44LTEuMiA2Mi45IDE1LjEgNjMuOCA0MC44IC40IDEwLjktNS45IDMyLjItMjcuOCAzMy0xNi4zIC42LTI3LjYtOS4yLTI4LjEtMjQuMS0uMi01LjQgMS4yLTEwLjIgNC45LTE1LjggMy42LTcuMSA0LjQtNy45IDQuMy0xMS0uMy05LjQtMTQuNS05LjctMTguMy05LjUtNTMgMS44LTY2LjkgNzMuMy03OC4yIDEzMS41bC01LjYgMzAuN2MzMC41IDQuNSA1Mi4yLTEgNjQuMi04LjggMTctMTEtNC44LTIyLjQtMi0zNSAyLjgtMTIuOCAxNC40LTE5IDIzLjctMTkuMiAxMi45LS4zIDIyLjIgMTMuMSAyMS45IDI2LjctLjUgMjIuNi0zMC40IDUzLjYtOTAuMiA1Mi4zLTcuMy0uMi0xNC0uNy0yMC4yLTEuNGwtMTEuMyA2Mi4zYy0zIDE0LTYuMyAyOS41LTEwLjcgNDUuOGwyMDQgMCAuOSAuMWMuMyAuMSAuNiAuMSAuOCAuMiAyLjIgLjYgNCAyLjUgNC41IDQuOCAuNiAyLjgtMSA2LTMuNyA3LjItLjUgLjItMS4xIC40LTEuNyAuNS0uMyAwLS42IDAtLjkgLjFsLTUxNS4zIDBjLS43LS4xLS45IDAtMS43LS4yLTIuNS0uNy00LjQtMy4xLTQuNi01LjctLjItMi4zIDEtNC42IDMtNS44IC43LS41IDEuNi0uOCAyLjQtLjkgLjMgMCAuNiAwIC44LS4xbDQ4LjQgMGMtMTcuMi0xNi44LTIwLTM3LjItMTYtNTAuNSA1LjQtMTcuNiAxOS40LTIwLjkgMzMtMTYuNyAxNC42IDQuNSAyMC4zIDIyLjMgMTYuMiAzNi0uNSAxLjUtMS4yIDMuOS0yLjggNy4yLTEuNyAzLjgtNC44IDcuMS02LjIgMTEuNS0xLjUgNC45IC43IDkuMSA0LjUgMTIuNmw1OC45IDBjNC4yLTQgNy40LTkgOS4xLTE0LjYgNS4zLTE3LTUuNS0yOC45LTEwLTMzLjVsLTIxLjctMjMuMmMtOS45LTExLjEtMzEuNy00MS45LTIxLjEtNzYuNSA0LjEtMTMuNCAxMi44LTI3LjUgMjUuMy0zNi45IDI2LjUtMTkuNyA1NS4zLTIzIDgyLjctMTUuMSAzNS41IDEwLjIgNTIuNSAzMy43IDc0LjYgNTEuOCAxMi40LTM2LjMgMjkuNS03MS45IDU1LjMtMTAxLjkgMjMuMy0yNy4zIDU0LjYtNDcuMSA5MC40LTQ4LjN6TTIyOS42IDEyMS4zYy0yMi4yLTYtMzUuNy0uOS00NS4yIDExLjItMTEuMyAxNC4zLTcuNSAzMi44IDMuMyA0My43bDE4IDE5LjljMjIgMjUuNSAzNC4xIDQ1LjMgMjkuNiA3Mi0yLjIgMTMuMS04LjUgMjUuMi0xNy45IDM1LjNsNTQuMiAwYzEtNS4xIDItMTAuNCAzLjEtMTUuOGwzLjYtMjEuOWM1LjktMjkuNCAxMi40LTYyLjIgMjIuMy05NC44LTI0LjEtMTguMS0zOC41LTQwLjctNzAuOS00OS41eiJdfSxMdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLW9kbm9rbGFzc25pa2kiLGljb246WzQ0OCw1MTIsWyJvZG5va2xhc3NuaWtpLXNxdWFyZSJdLCJmMjY0IiwiTTIyNCAxMzcuMWMtNS40LS4zLTEwLjggLjYtMTUuOSAyLjRzLTkuNyA0LjgtMTMuNiA4LjUtNyA4LjItOS4yIDEzLjItMy4yIDEwLjMtMy4yIDE1LjcgMS4xIDEwLjggMy4yIDE1LjcgNS4zIDkuNSA5LjIgMTMuMiA4LjYgNi42IDEzLjYgOC41IDEwLjUgMi43IDE1LjkgMi40YzUuNCAuMyAxMC44LS42IDE1LjktMi40czkuNy00LjggMTMuNi04LjUgNy04LjIgOS4yLTEzLjIgMy4yLTEwLjMgMy4yLTE1LjctMS4xLTEwLjgtMy4yLTE1LjctNS4zLTkuNS05LjItMTMuMi04LjYtNi42LTEzLjYtOC41LTEwLjUtMi43LTE1LjktMi40ek0zODQgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NHpNMjI0IDI1OGE4MSA4MSAwIDEgMSAwLTE2Mi4xIDgxIDgxIDAgMSAxIDAgMTYyLjF6bTU5LjMgNi4yYzE2LjgtMTMuMiAyOS41LTUuNSAzNC4xIDMuNiA3LjggMTYtMS4xIDIzLjctMjEuNSAzNy0xNy4xIDEwLjktNDAuNyAxNS4yLTU2LjIgMTYuOGwxMyAxMi45IDQ3LjcgNDcuN2MxNy40IDE3LjktMTEgNDUuOC0yOC42IDI4LjYtMTItMTIuMi0yOS41LTI5LjctNDcuNy00Ny45bC00Ny43IDQ3LjljLTE3LjcgMTcuMi00Ni0xMS0yOC40LTI4LjYgMy43LTMuNyA3LjktNy45IDEyLjUtMTIuNSAxMC40LTEwLjQgMjIuNi0yMi43IDM1LjItMzUuMmwxMi45LTEyLjljLTE1LjQtMS42LTM5LjMtNS43LTU2LjYtMTYuOC0yMC4zLTEzLjMtMjkuMy0yMC45LTIxLjQtMzcgNC42LTkuMSAxNy4zLTE2LjggMzQuMS0zLjYgMCAwIDIyLjcgMTggNTkuMyAxOHM1OS4zLTE4IDU5LjMtMTh6Il19LE12dD1MdWUsa3Z0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1hcmtkb3duIixpY29uOls2NDAsNTEyLFtdLCJmNjBmIiwiTTU5My44IDU5LjFsLTU0Ny42IDBDMjAuNyA1OS4xIDAgNzkuOCAwIDEwNS4yTDAgNDA2LjdjMCAyNS41IDIwLjcgNDYuMiA0Ni4yIDQ2LjJsNTQ3LjcgMGMyNS41IDAgNDYuMi0yMC43IDQ2LjEtNDYuMWwwLTMwMS42YzAtMjUuNC0yMC43LTQ2LjEtNDYuMi00Ni4xek0zMzguNSAzNjAuNmwtNjEuNSAwIDAtMTIwLTYxLjUgNzYuOS02MS41LTc2LjkgMCAxMjAtNjEuNyAwIDAtMjA5LjIgNjEuNSAwIDYxLjUgNzYuOSA2MS41LTc2LjkgNjEuNSAwIDAgMjA5LjIgLjIgMHptMTM1LjMgMy4xbC05Mi4zLTEwNy43IDYxLjUgMCAwLTEwNC42IDYxLjUgMCAwIDEwNC42IDYxLjUgMC05Mi4yIDEwNy43eiJdfSxTdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidHlwbzMiLGljb246WzQ0OCw1MTIsW10sImY0MmIiLCJNMTc4LjcgNzguNGMwLTI0LjcgNS40LTMyLjQgMTMuOS0zOS40LTY5LjUgOC41LTE0OS4zIDM0LTE3Ni4zIDY2LjQtNS40IDcuNy05LjMgMjAuOC05LjMgMzcuMSAwIDEwMy41IDEwNi44IDMzNy41IDE4NC4xIDMzNy41IDM2LjMgMCA5Ny4zLTU5LjUgMTQ2LjctMTM5LTcgMi4zLTExLjYgMi4zLTE4LjUgMi4zLTU3LjIgMC0xNDAuNi0xOTguNS0xNDAuNi0yNjQuOXpNMzAxLjUgMzJjLTMwLjEgMC00MS43IDUuNC00MS43IDM2LjMgMCA2Ni40IDUzLjggMTk4LjUgMTAxLjcgMTk4LjUgMjYuMyAwIDc4LjgtOTkuNyA3OC44LTE4Mi4zIDAtNDAuOS02Ny01Mi41LTEzOC44LTUyLjV6Il19LHp2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqb29tbGEiLGljb246WzQ0OCw1MTIsW10sImYxYWEiLCJNLjYgOTIuMWMwLTMzLjMgMjYuOC02MC4xIDU5LjgtNjAuMSAzMCAwIDU0LjUgMjEuOSA1OS4yIDUwLjIgMzIuNi03LjYgNjcuMSAuNiA5Ni41IDMwbC00NC4zIDQ0LjNjLTIwLjUtMjAuNS00Mi42LTE2LjMtNTUuNC0zLjUtMTQuMyAxNC4zLTE0LjMgMzcuOSAwIDUyLjJsOTkuNSA5OS41LTQ0IDQ0LjNjLTg3LjctODcuMi00OS43LTQ5LjctOTkuOC05OS43LTI2LjgtMjYuNS0zNS02NC44LTI0LjgtOTguOS0yNi45LTUuOC00Ni43LTI5LjctNDYuNy01OC4zek0xMzAuMSAyMDguNWw0NC4zIDQ0LjNjMTAtMTAgODkuNy04OS43IDk5LjctOTkuOCAxNC4zLTE0LjMgMzcuNi0xNC4zIDUxLjkgMCAxMi44IDEyLjggMTcgMzUtMy41IDU1LjRsNDQgNDQuM2MzMS4yLTMxLjIgMzguNS02Ny42IDI4LjktMTAxLjIgMjkuMi00LjEgNTEuOS0yOS4yIDUxLjktNTkuNSAwLTMzLjItMjYuOC02MC4xLTU5LjgtNjAuMS0zMC4zIDAtNTUuNCAyMi41LTU5LjUgNTEuNi0zMy44LTkuOS03MS43LTEuNS05OC4zIDI1LjEtMTguMyAxOS4xLTcxLjEgNzEuNS05OS42IDk5Ljl6TTM5Ni40IDM2MC43YzguMi0zMi43LS45LTY4LjUtMjYuMy05My45LTExLjgtMTIuMiA1IDQuNy05OS41LTk5LjdsLTQ0LjMgNDQuMyA5OS43IDk5LjdjMTQuMyAxNC4zIDE0LjMgMzcuNiAwIDUxLjktMTIuOCAxMi44LTM1IDE3LTU1LjQtMy41bC00NCA0NC4zYzI3LjYgMzAuMiA2OCAzOC44IDEwMi43IDI4IDUuNSAyNy40IDI5LjcgNDguMSA1OC45IDQ4LjEgMzMgMCA1OS44LTI2LjggNTkuOC02MC4xIDAtMzAuMi0yMi41LTU1LTUxLjYtNTkuMXptLTg0LjMtNTMuMWwtNDQtNDQuM2MtODcgODYuNC01MC40IDUwLjQtOTkuNyA5OS44LTE0LjMgMTQuMy0zNy42IDE0LjMtNTEuOSAwLTEzLjEtMTMuNC0xNi45LTM1LjMgMy4yLTU1LjRsLTQ0LTQ0LjNjLTMwLjIgMzAuMi0zOCA2NS4yLTI5LjUgOTguMy0yNi43IDYtNDYuMiAyOS45LTQ2LjIgNTguMiAwIDMzLjMgMjYuOCA2MC4xIDU5LjggNjAuMSAyOC42IDAgNTIuNS0xOS44IDU4LjYtNDYuNyAzMi43IDguMiA2OC41LS42IDk0LjItMjYgMzIuMS0zMiAxMi4yLTEyLjQgOTkuNS05OS43eiJdfSxDdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2VpeGluIixpY29uOls1NzYsNTEyLFtdLCJmMWQ3IiwiTTM4NS4yIDE2Ny42YzYuNCAwIDEyLjYgLjMgMTguOCAxLjEtMTYuNi03OC40LTEwMC43LTEzNi43LTE5Ni4zLTEzNi43LTEwNy4yIDAtMTk0LjcgNzIuOC0xOTQuNyAxNjUuNCAwIDUzLjQgMjkuMyA5Ny41IDc3LjkgMTMxLjZsLTE5LjMgNTguNiA2OC0zNC4xYzI0LjQgNC44IDQzLjggOS43IDY4LjIgOS43IDYuMiAwIDEyLjEtLjMgMTguMy0uOC00LTEyLjktNi4yLTI2LjYtNi4yLTQwLjgtLjEtODQuOSA3Mi45LTE1NCAxNjUuMy0xNTR6TTI4MC43IDExNC43YzE0LjUgMCAyNC4yIDkuNyAyNC4yIDI0LjQgMCAxNC41LTkuNyAyNC4yLTI0LjIgMjQuMi0xNC44IDAtMjkuMy05LjctMjkuMy0yNC4yIC4xLTE0LjcgMTQuNi0yNC40IDI5LjMtMjQuNHpNMTQ0LjMgMTYzLjNjLTE0LjUgMC0yOS4zLTkuNy0yOS4zLTI0LjIgMC0xNC44IDE0LjgtMjQuNCAyOS4zLTI0LjQgMTQuOCAwIDI0LjQgOS43IDI0LjQgMjQuNCAwIDE0LjYtOS42IDI0LjItMjQuNCAyNC4yek01NjMgMzE5LjRjMC03Ny45LTc3LjktMTQxLjMtMTY1LjQtMTQxLjMtOTIuNyAwLTE2NS40IDYzLjQtMTY1LjQgMTQxLjNTMzA1IDQ2MC43IDM5Ny42IDQ2MC43YzE5LjMgMCAzOC45LTUuMSA1OC42LTkuOWw1My40IDI5LjMtMTQuOC00OC42QzUzNCA0MDIuMSA1NjMgMzYzLjIgNTYzIDMxOS40ek0zNDMuOSAyOTQuOWMtOS43IDAtMTkuMy05LjctMTkuMy0xOS42IDAtOS43IDkuNy0xOS4zIDE5LjMtMTkuMyAxNC44IDAgMjQuNCA5LjcgMjQuNCAxOS4zIDAgMTAtOS43IDE5LjYtMjQuNCAxOS42em0xMDcuMSAwYy05LjcgMC0xOS4zLTkuNy0xOS4zLTE5LjYgMC05LjcgOS43LTE5LjMgMTkuMy0xOS4zIDE0LjUgMCAyNC40IDkuNyAyNC40IDE5LjMgLjEgMTAtOS45IDE5LjYtMjQuNCAxOS42eiJdfSxfdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ3J1bnQiLGljb246WzM4NCw1MTIsW10sImYzYWQiLCJNNjEuNiAxODkuM2MtMS4xIDEwIDUuMiAxOS4xIDUuMiAxOS4xIC43LTcuNSAyLjItMTIuOCA0LTE2LjYgLjQgMTAuMyAzLjIgMjMuNSAxMi44IDM0LjEgNi45IDcuNiAzNS42IDIzLjMgNTQuOSA2LjEgMSAyLjQgMi4xIDUuMyAzIDguNSAyLjkgMTAuMy0yLjcgMjUuMy0yLjcgMjUuM3MxNS4xLTE3LjEgMTMuOS0zMi41YzEwLjgtLjUgMjEuNC04LjQgMjEuMS0xOS41IDAgMC0xOC45IDEwLjQtMzUuNS04LjgtOS43LTExLjItNDAuOS00Mi04My4xLTMxLjggNC4zIDEgOC45IDIuNCAxMy41IDQuMWwtLjEgMGMtNC4yIDItNi41IDcuMS03IDEyem0yOC4zLTEuOGMxOS41IDExIDM3LjQgMjUuNyA0NC45IDM3LTUuNyAzLjMtMjEuNyAxMC40LTM4LTEuNy0xMC4zLTcuNi05LjgtMjYuMi02LjktMzUuM3pNMjMyIDIzMy4zYy0xLjIgMTUuNSAxMy45IDMyLjUgMTMuOSAzMi41cy01LjYtMTUtMi43LTI1LjNjLjktMy4yIDItNiAzLTguNSAxOS4zIDE3LjMgNDggMS41IDU0LjgtNi4xIDkuNi0xMC42IDEyLjMtMjMuOCAxMi44LTM0LjEgMS44IDMuOCAzLjQgOS4xIDQgMTYuNiAwIDAgNi40LTkuMSA1LjItMTkuMS0uNi01LTIuOS0xMC03LTExLjhsLS4xIDBjNC42LTEuOCA5LjItMy4yIDEzLjUtNC4xLTQyLjMtMTAuMi03My40IDIwLjYtODMuMSAzMS44LTE2LjcgMTkuMi0zNS41IDguOC0zNS41IDguOC0uMiAxMC45IDEwLjQgMTguOSAyMS4yIDE5LjN6bTYyLjctNDUuOGMzIDkuMSAzLjQgMjcuNy03IDM1LjQtMTYuMyAxMi4xLTMyLjIgNS0zNy45IDEuNiA3LjUtMTEuNCAyNS40LTI2IDQ0LjktMzd6bS0xMzQuNCAyMzFsLTI5LjQgMGMtNS41IDAtOC4yIDEuNi05LjUgMi45LTEuOSAyLTIuMiA0LjctLjkgOC4xIDMuNSA5LjEgMTEuNCAxNi41IDEzLjcgMTguNiAzLjEgMi43IDcuNSA0LjMgMTEuOCA0LjMgNC40IDAgOC4zLTEuNyAxMS00LjYgNy41LTguMiAxMS45LTE3LjEgMTMtMTkuOCAuNi0xLjUgMS4zLTQuNS0uOS02LjgtMS44LTEuOC00LjctMi43LTguOC0yLjd6TTM0OS41IDMxNy4zYy0yLjQgMTcuOS0xMyAzMy44LTI0LjYgNDMuNy0zLjEtMjIuNy0zLjctNTUuNS0zLjctNjIuNCAwLTE0LjcgOS41LTI0LjUgMTIuMi0yNi4xIDIuNS0xLjUgNS40LTMgOC4zLTQuNiAxOC05LjYgNDAuNC0yMS42IDQwLjQtNDMuNyAwLTE2LjItOS4zLTIzLjItMTUuNC0yNy44LS44LS42LTEuNS0xLjEtMi4yLTEuNy0yLjEtMS43LTMuNy0zLTQuMy00LjQtNC40LTkuOC0zLjYtMzQuMi0xLjctMzcuNiAuNi0uNiAxNi43LTIwLjkgMTEuOC0zOS4yLTItNy40LTYuOS0xMy4zLTE0LjEtMTctNS4zLTIuNy0xMS45LTQuMi0xOS41LTQuNS0uMS0yLS41LTMuOS0uOS01LjktLjYtMi42LTEuMS01LjMtLjktOC4xIC40LTQuNyAuOC05IDIuMi0xMS4zIDguNC0xMy4zIDI4LjgtMTcuNiAyOS0xNy42bDEyLjMtMi40LTguMS05LjVjLS4xLS4yLTE3LjMtMTcuNS00Ni4zLTE3LjUtNy45IDAtMTYgMS4zLTI0LjEgMy45LTI0LjIgNy44LTQyLjkgMzAuNS00OS40IDM5LjMtMy4xLTEtNi4zLTEuOS05LjYtMi43LTQuMi0xNS44IDktMzguNSA5LTM4LjVzLTEzLjYtMy0zMy43IDE1LjJjLTIuNi02LjUtOC4xLTIwLjUtMS44LTM3LjItMjkuNSAxMC40LTM2LjkgMjYuMy0zOS4xIDQwLjctNy42LTUuNC02LjctMjMuMS03LjItMjcuNi03LjUgLjktMjkuMiAyMS45LTI4LjIgNDguMy0yIC41LTMuOSAxLjEtNS45IDEuNy02LjUtOC44LTI1LjEtMzEuNS00OS40LTM5LjMtNy45LTIuMi0xNi0zLjUtMjMuOS0zLjUtMjkgMC00Ni4xIDE3LjMtNDYuMyAxNy41bC04LjEgOS40IDEyLjMgMi40Yy4yIDAgMjAuNiA0LjMgMjkgMTcuNiAxLjQgMi4yIDEuOCA2LjYgMi4yIDExLjMgLjIgMi44LS40IDUuNS0uOSA4LjEtLjQgMS45LS44IDMuOS0uOSA1LjktNy43IC4zLTE0LjIgMS44LTE5LjUgNC41LTcuMiAzLjctMTIuMSA5LjYtMTQuMSAxNy01IDE4LjIgMTEuMiAzOC41IDExLjggMzkuMiAxLjkgMy40IDIuNyAyNy44LTEuNyAzNy42LS42IDEuNC0yLjIgMi43LTQuMyA0LjQtLjcgLjUtMS40IDEuMS0yLjIgMS43LTYuMSA0LjYtMTUuNCAxMS43LTE1LjQgMjcuOCAwIDIyLjEgMjIuNCAzNC4xIDQwLjQgNDMuNyAzIDEuNiA1LjggMy4xIDguMyA0LjYgMi43IDEuNiAxMi4yIDExLjQgMTIuMiAyNi4xIDAgNi45LS42IDM5LjctMy43IDYyLjQtMTEuNi05LjktMjIuMi0yNS45LTI0LjYtNDMuOCAwIDAtMjkuMiAyMi42LTIwLjYgNzAuOCA1LjIgMjkuNSAyMy4yIDQ2LjEgNDcgNTQuNyA4LjggMTkuMSAyOS40IDQ1LjcgNjcuMyA0OS42IDE0LjQgMTEuOCAzNC40IDE5LjUgNjMuNiAxOS41bC4yIDBjMjkuMSAwIDQ5LjEtNy43IDYzLjYtMTkuNSAzNy45LTMuOSA1OC41LTMwLjUgNjcuMy00OS42IDIzLjgtOC43IDQxLjctMjUuMiA0Ny01NC43IDguMi00OC40LTIxLjEtNzAuOS0yMS4xLTcwLjl6TTMwNiAzNy43YzUuNi0xLjggMTEuNi0yLjcgMTcuNy0yLjcgMTEgMCAxOS45IDMgMjQuNyA1LTMuMSAxLjQtNi40IDMuMi05LjcgNS4zLTIuNC0uNC01LjYtLjgtOS4yLS44LTEwLjUgMC0yMC41IDMuMS0yOC43IDguOS0xMi4zIDguNy0xOCAxNi45LTIwLjcgMjIuNC0yLjItMS4zLTQuNS0yLjUtNy4xLTMuNy0xLjYtLjgtMy4xLTEuNS00LjctMi4yIDYuMS05LjEgMTkuOS0yNi41IDM3LjctMzIuMnptMjEgMTguMmMtLjggMS0xLjYgMi4xLTIuMyAzLjItMy4zIDUuMi0zLjkgMTEuNi00LjQgMTcuOC0uNSA2LjQtMS4xIDEyLjUtNC40IDE3LTQuMiAuOC04LjEgMS43LTExLjUgMi43LTIuMy0zLjEtNS42LTctMTAuNS0xMS4yIDEuNC00LjggNS41LTE2LjEgMTMuNS0yMi41IDUuNi00LjMgMTIuMi02LjcgMTkuNi03ek00NS45IDQ1LjNjLTMuMy0yLjItNi42LTQtOS43LTUuMyA0LjgtMiAxMy43LTUgMjQuNy01IDYuMSAwIDEyIC45IDE3LjcgMi43IDE3LjggNS44IDMxLjYgMjMuMiAzNy43IDMyLjEtMS42IC43LTMuMiAxLjQtNC44IDIuMi0yLjUgMS4yLTQuOSAyLjUtNy4xIDMuNy0yLjYtNS40LTguMy0xMy43LTIwLjctMjIuNC04LjMtNS44LTE4LjItOC45LTI4LjgtOC45LTMuNCAuMS02LjYgLjUtOSAuOXpNOTAuNiA4NS40Yy00LjkgNC4yLTguMyA4LTEwLjUgMTEuMi0zLjQtLjktNy4zLTEuOS0xMS41LTIuNy0zLjMtNC40LTMuOC0xMC41LTQuMy0xNi45LS41LTYuMi0xLjEtMTIuNi00LjQtMTcuOC0uNy0xLjEtMS41LTIuMi0yLjMtMy4yIDcuNCAuMyAxNCAyLjYgMTkuNSA3IDggNi4zIDEyLjEgMTcuNiAxMy41IDIyLjR6TTU4LjQgMjU5LjljLTIuNy0xLjYtNS42LTMuMS04LjQtNC42LTE0LjktOC0zMC4yLTE2LjMtMzAuMi0zMC41IDAtMTEuMSA0LjMtMTQuNiA4LjktMTguMmwuNS0uNGMuNy0uNiAxLjQtMS4yIDIuMi0xLjgtLjkgNy4yLTEuOSAxMy4zLTIuNyAxNC45IDAgMCAxMi4xLTE1IDE1LjctNDQuMyAxLjQtMTEuNS0xLjEtMzQuMy01LjEtNDMgLjIgNC45IDAgOS44LS4zIDE0LjQtLjQtLjgtLjgtMS42LTEuMy0yLjItMy4yLTQtMTEuOC0xNy41LTkuNC0yNi42IC45LTMuNSAzLjEtNiA2LjctNy44IDMuOC0xLjkgOC44LTIuOSAxNS4xLTIuOSAxMi4zIDAgMjUuOSAzLjcgMzIuOSA2IDI1LjEgOCA1NS40IDMwLjkgNjQuMSAzNy43IC4yIC4yIC40IC4zIC40IC4zbDUuNiAzLjktMy41LTUuOGMtLjItLjMtMTkuMS0zMS40LTUzLjItNDYuNSAyLTIuOSA3LjQtOC4xIDIxLjYtMTUuMSAyMS40LTEwLjUgNDYuNS0xNS44IDc0LjMtMTUuOCAyNy45IDAgNTIuOSA1LjMgNzQuMyAxNS44IDE0LjIgNi45IDE5LjYgMTIuMiAyMS42IDE1LjEtMzQgMTUuMS01Mi45IDQ2LjItNTMuMSA0Ni41bC0zLjUgNS44IDUuNi0zLjlzLjItLjEgLjQtLjNjOC43LTYuOCAzOS0yOS44IDY0LjEtMzcuNyA3LTIuMiAyMC42LTYgMzIuOS02IDYuMyAwIDExLjMgMSAxNS4xIDIuOSAzLjUgMS44IDUuNyA0LjQgNi43IDcuOCAyLjUgOS4xLTYuMSAyMi42LTkuNCAyNi42LS41IC42LS45IDEuMy0xLjMgMi4yLS4zLTQuNi0uNS05LjUtLjMtMTQuNC00IDguOC02LjUgMzEuNS01LjEgNDMgMy42IDI5LjMgMTUuNyA0NC4zIDE1LjcgNDQuMy0uOC0xLjYtMS44LTcuNy0yLjctMTQuOSAuNyAuNiAxLjUgMS4yIDIuMiAxLjhsLjUgLjRjNC42IDMuNyA4LjkgNy4xIDguOSAxOC4yIDAgMTQuMi0xNS40IDIyLjUtMzAuMiAzMC41LTIuOSAxLjUtNS43IDMuMS04LjQgNC42LTguNyA1LTE4IDE2LjctMTkuMSAzNC4yLS45IDE0LjYgLjkgNDkuOSAzLjQgNzUuOS0xMi40IDQuOC0yNi43IDYuNC0zOS43IDYuOC0yLTQuMS0zLjktOC41LTUuNS0xMy4xLS43LTItMTkuNi01MS4xLTI2LjQtNjIuMiA1LjUgMzkgMTcuNSA3My43IDIzLjUgODkuNi0zLjUtLjUtNy4zLS43LTExLjctLjdsLTExNyAwYy00LjQgMC04LjMgLjMtMTEuNyAuNyA2LTE1LjkgMTguMS01MC42IDIzLjUtODkuNi02LjggMTEuMi0yNS43IDYwLjMtMjYuNCA2Mi4yLTEuNiA0LjYtMy41IDktNS41IDEzLjEtMTMtLjQtMjcuMi0yLTM5LjctNi44IDIuNS0yNiA0LjMtNjEuMiAzLjQtNzUuOS0uOS0xNy40LTEwLjMtMjkuMi0xOS0zNC4yek0zNS4xIDQwNC42Yy0xMi4xLTIwLTguNy01NC4xLTMuNy01OS4xIDEwLjkgMzQuNCA0Ny4yIDQ0LjMgNzQuNCA0NS40LTIuNyA0LjItNS4yIDcuNi03IDEwbC0xLjQgMS40Yy03LjIgNy44LTguNiAxOC41LTQuMSAzMS44LTIyLjctLjEtNDYuMy05LjgtNTguMi0yOS41em00NS43IDQzLjVjNiAxLjEgMTIuMiAxLjkgMTguNiAyLjQgMy41IDggNy40IDE1LjkgMTIuMyAyMy4xLTE0LjQtNS45LTI0LjQtMTYtMzAuOS0yNS41em0xMTEuNSA1MC4xYy02MC42LS4xLTc4LjMtNDUuOC04NC45LTY0LjctMy43LTEwLjUtMy40LTE4LjIgLjktMjMuMSAyLjktMy4zIDkuNS03LjIgMjQuNi03LjJsMTE4LjggMGMxNS4xIDAgMjEuOCAzLjkgMjQuNiA3LjIgNC4yIDQuOCA0LjUgMTIuNiAuOSAyMy4xLTYuNiAxOC44LTI0LjMgNjQuNi04NC45IDY0Ljd6bTgwLjYtMjQuNmM0LjktNy4yIDguOC0xNS4xIDEyLjMtMjMuMSA2LjQtLjUgMTIuNi0xLjMgMTguNi0yLjQtNi41IDkuNS0xNi41IDE5LjYtMzAuOSAyNS41em03Ni42LTY5Yy0xMiAxOS43LTM1LjYgMjkuMy01OC4xIDI5LjcgNC41LTEzLjMgMy4xLTI0LjEtNC4xLTMxLjgtLjQtLjUtLjktMS0xLjQtMS41LTEuOC0yLjQtNC4zLTUuOC03LTEwIDI3LjItMS4yIDYzLjUtMTEgNzQuNC00NS40IDUgNSA4LjQgMzkuMS0zLjggNTl6TTE5Mi4yIDE4Ny43bC4yIDBjMTIuNy0uMSAyNy4yLTE3LjggMjcuMi0xNy44LTkuOSA2LTE4LjggOC4xLTI3LjMgOC4zLTguNS0uMi0xNy40LTIuMy0yNy4zLTguMyAwIDAgMTQuNSAxNy42IDI3LjIgMTcuOHptNjEuNyAyMzAuN2wtMjkuNCAwYy00LjIgMC03LjIgLjktOC45IDIuNy0yLjIgMi4zLTEuNSA1LjItLjkgNi43IDEgMi42IDUuNSAxMS4zIDEzIDE5LjMgMi43IDIuOSA2LjYgNC41IDExIDQuNXM4LjctMS42IDExLjgtNC4yYzIuMy0yIDEwLjItOS4yIDEzLjctMTguMSAxLjMtMy4zIDEtNi0uOS03LjktMS4zLTEuMy00LTIuOS05LjQtM3oiXX0sVHZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN1cHBvcnRub3ciLGljb246WzY0MCw1MTIsW10sImU4MzMiLCJNMCAxOTEuOWwyMDMuOS0uMWMxLjgtLjYgMi41LTkuNSAzLjItMTIuMiAzLjMtMTMuNSA4LjQtMjYuNCAxNC44LTM4LjdsLTE2MC4yIDAgMC00OC4yIDIzNC41IDAgMCAzOWMtNTEuMiAzNi4xLTU2LjQgOTIuNi0yMy42IDE0My45IDMzLjEgNTEuNyA5My40IDg4LjEgMTQ5LjUgMTEwLjUgNjcuOC0yNS4yIDE2NC45LTg5LjkgMTY5LjQtMTY5LjYgMy4xLTU1LjMtNDIuMi0xMDEuOC05OC43LTkxLjgtNDEuNSA3LjQtNjIuMSA0Ni43LTU0LjggODYuNGwtNDguMiAwYy03LjMtNTYuNiAyMi44LTExMi42IDc4LjQtMTMwLjMgNzguNy0yNS4xIDE1OS41IDI4IDE3MC40IDEwOC44IDE1LjIgMTEyLjMtOTUuNSAxOTkuOS0xODguMSAyMzcuOC00LjQgMS44LTI0LjQgMTAuMS0yNy41IDEwLjFsLTI4MC4zIDAgMC00OC4yIDE3OC41IDAtMzguMS0yOC45LTIzLjItMjIuMS0xOTguMyAwIDAtNDguMiAxNjMuMSAwYy03LjEtMTEuNi0xMi4zLTI0LjMtMTYuMS0zNy40LS43LTIuNS0yLjEtMTItMy44LTEyLjZsLTIwNC45LS4xIDAtNDguMiAwIDB6Il19LEx2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyb2Nrcm1zIixpY29uOls1MTIsNTEyLFtdLCJmM2U5IiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNNDEzLjQgNDI3LjVsLTkwIDAtMTEyLTEzMS4zYy0xNy45LTIwLjQtMy45LTU2LjEgMjYuNi01Ni4xbDc1LjMgMC04NC42LTk5LjMtODQuMyA5OC45LTkwIDAgMTQ3LjEtMTcyLjVjMTQuNC0xOC40IDQxLjMtMTcuMyA1NC41IDBMNDEzLjcgMjUyLjNjMTkgMjIuOCAyIDU3LjItMjcuNiA1Ni4xLS42IDAtNzQuMiAuMi03NC4yIC4yTDQxMy40IDQyNy41eiJdfSwkdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW5zcGxhc2giLGljb246WzQ0OCw1MTIsW10sImUwN2MiLCJNNDQ4IDIzMC4ybDAgMjQ5LjgtNDQ4IDAgMC0yNDkuOCAxNDEuMSAwIDAgMTI0LjkgMTY1LjcgMCAwLTEyNC45IDE0MS4xIDB6TTMwNi45IDMybC0xNjUuNyAwIDAgMTI0LjkgMTY1LjcgMCAwLTEyNC45eiJdfSwkdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWluc3RhZ3JhbSIsaWNvbjpbNDQ4LDUxMixbImluc3RhZ3JhbS1zcXVhcmUiXSwiZTA1NSIsIk0xOTQuNCAyMTEuN2E1My4zIDUzLjMgMCAxIDAgNTkuMiA4OC42IDUzLjMgNTMuMyAwIDEgMCAtNTkuMi04OC42em0xNDIuMy02OC40Yy01LjItNS4yLTExLjUtOS4zLTE4LjQtMTItMTguMS03LjEtNTcuNi02LjgtODMuMS02LjUtNC4xIDAtNy45IC4xLTExLjIgLjFzLTcuMiAwLTExLjQtLjFjLTI1LjUtLjMtNjQuOC0uNy04Mi45IDYuNS02LjkgMi43LTEzLjEgNi44LTE4LjQgMTJzLTkuMyAxMS41LTEyIDE4LjRjLTcuMSAxOC4xLTYuNyA1Ny43LTYuNSA4My4yIDAgNC4xIC4xIDcuOSAuMSAxMS4xczAgNy0uMSAxMS4xYy0uMiAyNS41LS42IDY1LjEgNi41IDgzLjIgMi43IDYuOSA2LjggMTMuMSAxMiAxOC40czExLjUgOS4zIDE4LjQgMTJjMTguMSA3LjEgNTcuNiA2LjggODMuMSA2LjUgNC4xIDAgNy45LS4xIDExLjItLjFzNy4yIDAgMTEuNCAuMWMyNS41IC4zIDY0LjggLjcgODIuOS02LjUgNi45LTIuNyAxMy4xLTYuOCAxOC40LTEyczkuMy0xMS41IDEyLTE4LjRjNy4yLTE4IDYuOC01Ny40IDYuNS04MyAwLTQuMi0uMS04LjEtLjEtMTEuNHMwLTcuMSAuMS0xMS40Yy4zLTI1LjUgLjctNjQuOS02LjUtODMtMi43LTYuOS02LjgtMTMuMS0xMi0xOC40bDAgLjJ6bS02Ny4xIDQ0LjVjMTguMSAxMi4xIDMwLjYgMzAuOSAzNC45IDUyLjJzLS4yIDQzLjUtMTIuMyA2MS42Yy02IDktMTMuNyAxNi42LTIyLjYgMjIuNnMtMTkgMTAuMS0yOS42IDEyLjJjLTIxLjMgNC4yLTQzLjUtLjItNjEuNi0xMi4zcy0zMC42LTMwLjktMzQuOS01Mi4yIC4yLTQzLjUgMTIuMi02MS42IDMwLjktMzAuNiA1Mi4yLTM0LjkgNDMuNSAuMiA2MS42IDEyLjJsLjEgMHptMjkuMi0xLjNjLTMuMS0yLjEtNS42LTUuMS03LjEtOC42cy0xLjgtNy4zLTEuMS0xMS4xIDIuNi03LjEgNS4yLTkuOCA2LjEtNC41IDkuOC01LjIgNy42LS40IDExLjEgMS4xIDYuNSAzLjkgOC42IDcgMy4yIDYuOCAzLjIgMTAuNmMwIDIuNS0uNSA1LTEuNCA3LjNzLTIuNCA0LjQtNC4xIDYuMi0zLjkgMy4yLTYuMiA0LjItNC44IDEuNS03LjMgMS41Yy0zLjggMC03LjUtMS4xLTEwLjYtMy4ybC0uMSAwek00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMzU3IDM4OWMtMTguNyAxOC43LTQxLjQgMjQuNi02NyAyNS45LTI2LjQgMS41LTEwNS42IDEuNS0xMzIgMC0yNS42LTEuMy00OC4zLTcuMi02Ny0yNS45cy0yNC42LTQxLjQtMjUuOC02N2MtMS41LTI2LjQtMS41LTEwNS42IDAtMTMyIDEuMy0yNS42IDcuMS00OC4zIDI1LjgtNjdzNDEuNS0yNC42IDY3LTI1LjhjMjYuNC0xLjUgMTA1LjYtMS41IDEzMiAwIDI1LjYgMS4zIDQ4LjMgNy4xIDY3IDI1LjhzMjQuNiA0MS40IDI1LjggNjdjMS41IDI2LjMgMS41IDEwNS40IDAgMTMxLjktMS4zIDI1LjYtNy4xIDQ4LjMtMjUuOCA2N2wwIC4xeiJdfSxEdnQ9JHVlLEF2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmaXJzdC1vcmRlci1hbHQiLGljb246WzUxMiw1MTIsW10sImY1MGEiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2em0wIDcuOGEyNDAuMiAyNDAuMiAwIDEgMSAwIDQ4MC40IDI0MC4yIDI0MC4yIDAgMSAxIDAtNDgwLjR6bTAgMjAuNWEyMTkuNyAyMTkuNyAwIDEgMCAwIDQzOS40IDIxOS43IDIxOS43IDAgMSAwIDAtNDM5LjR6bTAgOC4yYTIxMS41IDIxMS41IDAgMSAxIDAgNDIzIDIxMS41IDIxMS41IDAgMSAxIDAtNDIzem0xODYuMiAyNjBjLTQuNCAxNy4xLTExLjIgMzMuNS0yMC4xIDQ4LjdsLTc0LjEtMzUuOSA2MS41IDU0LjhjLTEwLjYgMTQuMS0yMy4yIDI2LjYtMzcuMiAzNy4zbC01NC44LTYxLjYgMzUuOSA3NC4zYy0xNS4yIDktMzEuNiAxNS44LTQ4LjYgMjAuMmwtMjcuMy03OC41IDQuOCA4Mi45Yy04LjYgMS4yLTE3LjQgMS44LTI2LjMgMS44cy0xNy43LS42LTI2LjMtMS44bDQuOC04Mi41LTI3LjIgNzhjLTE3LjEtNC41LTMzLjQtMTEuMy00OC43LTIwLjJsMzUuOS03NC4zLTU0LjkgNjEuNmMtMTQtMTAuNy0yNi42LTIzLjItMzcuMi0zNy4zbDYxLjYtNTQuOS03NC4zIDM1LjlDODAuNyAzMzggNzQgMzIxLjcgNjkuNSAzMDQuNmw3Ny44LTI3LjEtODIuMiA0LjhjLTEuMi04LjYtMS44LTE3LjMtMS44LTI2LjIgMC05IC42LTE3LjggMS44LTI2LjVsODIuNCA0LjgtNzcuOS0yNy4yYzQuNS0xNy4xIDExLjMtMzMuNSAyMC4yLTQ4LjdsNzQuMiAzNS45LTYxLjUtNTQuOWMxMC43LTE0IDIzLjItMjYuNiAzNy4zLTM3LjJsNTQuOCA2MS41LTM1LjgtNzQuMmMxNS4yLTguOSAzMS42LTE1LjcgNDguNi0yMC4xbDI2LjkgNzcuMi00LjctODEuNmM4LjYtMS4yIDE3LjQtMS44IDI2LjMtMS44czE3LjcgLjYgMjYuMyAxLjhsLTQuNyA4Mi4yIDI3LTc3LjhjMTcuMyA0LjUgMzMuNiAxMS40IDQ4LjYgMjAuMmwtMzUuOCA3NC4xIDU0LjctNjEuNWMxNC4xIDEwLjcgMjYuNiAyMy4yIDM3LjIgMzcuMmwtNjEuNCA1NC44IDc0LjEtMzUuOWM4LjkgMTUuMiAxNS43IDMxLjYgMjAuMiA0OC42bC03Ny44IDI3LjEgODIuMi00LjdjMS4yIDguNyAxLjggMTcuNSAxLjggMjYuNSAwIDguOS0uNiAxNy42LTEuOCAyNi4ybC04Mi4xLTQuNyA3Ny43IDI3LjF6Il19LFB2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmdWxjcnVtIixpY29uOlsyNTYsNTEyLFtdLCJmNTBiIiwiTTYzLjggMTY0LjFMMjguNCAyMDcuNy03IDE2NC4xIDI4LjQgMTIwLjYgNjMuOCAxNjQuMXpNMTEyLjIgMGwtMjAuNSAxOTguMi01MSA1Ny44IDUxIDU3LjggMjAuNSAxOTguMiAwLTIxMS4xLTQxLjEtNDQuOSA0MS4xLTQ0LjkgMC0yMTEuMXptNzkuNyAxNjQuMWwzNS40IDQzLjYgMzUuNC00My42LTM1LjQtNDMuNS0zNS40IDQzLjV6bS00OC41IDQ3bDQxLjEgNDQuOS00MS4xIDQ0LjkgMCAyMTEuMSAyMC42LTE5OC4yIDUxLTU3LjgtNTEtNTcuOC0yMC42LTE5OC4yIDAgMjExLjF6Il19LEV2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhcmNoLWxpbnV4IixpY29uOls1NzYsNTEyLFtdLCJlODY3IiwiTTI4OC43LTcuOGMtMjQuMSA1OS0zOC42IDk3LjctNjUuNCAxNTUgMTYuNCAxNy40IDM2LjYgMzcuNiA2OS40IDYwLjUtMzUuMi0xNC41LTU5LjItMjguOS03Ny4yLTQ0LTM0LjMgNzEuNi04OC4xIDE3My41LTE5Ny4yIDM2OS40IDg1LjctNDkuNSAxNTIuMi04MCAyMTQuMS05MS42LTIuNy0xMS40LTQuMS0yMy44LTQtMzYuN2wuMS0yLjdjMS40LTU0LjkgMjkuOS05Ny4yIDYzLjgtOTQuNHM2MC4yIDQ5LjggNTguOCAxMDQuN2MtLjMgMTAuMy0xLjQgMjAuMi0zLjQgMjkuNCA2MS4yIDEyIDEyNyA0Mi40IDIxMS42IDkxLjItMTYuNy0zMC43LTMxLjYtNTguMy00NS44LTg0LjctMjIuNC0xNy40LTQ1LjctMzkuOS05My4zLTY0LjQgMzIuNyA4LjUgNTYuMyAxOC4zIDc0LjUgMjkuMy0xNDQuNS0yNjkuMS0xNTYuMi0zMDQuOC0yMDUuOC00MjEuMXoiXX0sSXZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZlZGl2ZXJzZSIsaWNvbjpbNTc2LDUxMixbXSwiZTg2NSIsIk0zOTQuOCA1MjYuOWE1NCA1NCAwIDEgMSA1LjgtMTA3LjggNTQgNTQgMCAxIDEgLTUuOCAxMDcuOHptLTUwLjEtODAuNmMtNS41IDEwLjktNy40IDIzLjMtNS42IDM1LjRMMTY4LjcgNDU0LjRjNS41LTEwLjkgNy41LTIzLjMgNS43LTM1LjRsMTcwLjMgMjcuM3pNMTEyLjcgNDgxLjZhNTQgNTQgMCAxIDEgNS45LTEwNy44IDU0IDU0IDAgMSAxIC01LjkgMTA3Ljh6bTI1Ny43LTYxLjRjLTEwLjkgNS42LTE5LjcgMTQuNC0yNS40IDI1LjNsLTcwLjYtNzAuOSAzMy42LTE3IDYyLjQgNjIuN3pNNDg2LjEgMjYxYzguNyA4LjYgMTkuOCAxNC4zIDMxLjkgMTYuNEw0MzkuNCA0MzAuOGMtOC43LTguNi0xOS44LTE0LjMtMzEuOS0xNi40TDQ4Ni4xIDI2MXpNMzc2LjcgMjE5LjNsMzAuNSAxOTUuMWMtMTIuMS0xLjktMjQuNS0uMS0zNS40IDUuM2wtMzIuMi0yMDYuMyAzNy4yIDZ6TTM1MC40IDMyOC45TDE3NC4yIDQxOC4yYy0yLTEyLjEtNy42LTIzLjItMTYuMi0zMmwxODYuNi05NC42IDUuOCAzNy4yem0tMTUyLjctMjJsLTQwLjMgNzguN2MtOC43LTguNi0xOS44LTE0LjMtMzEuOS0xNi4zbDQ1LjYtODkgMjYuNiAyNi43ek0xMjQuNyAzNjljLTEyLjEtMS44LTI0LjQgLjItMzUuNCA1LjZMNjIuNyAyMDQuM2MxMi4xIDEuOCAyNC41LS4xIDM1LjQtNS42TDEyNC43IDM2OXptMTQ3LjEtNDcuOGwtMzMuNiAxNy0xMzkuNC0xMzkuOWMxMC45LTUuNiAxOS43LTE0LjQgMjUuNC0yNS4zTDI3MS44IDMyMS4yem0xOTcuNS05Mi44YzIgMTIuMSA3LjYgMjMuMiAxNi4yIDMxLjlsLTg5LjMgNDUuMi01LjgtMzcuMiA3OC45LTQwem01NS42IDQ0LjNhNTQgNTQgMCAxIDEgNS45LTEwNy44IDU0IDU0IDAgMSAxIC01LjkgMTA3Ljh6TTI4NC42IDU4LjdjOC43IDguNiAxOS44IDE0LjMgMzEuOCAxNi4zbC05NS4zIDE4Ni4xLTI2LjYtMjYuNyA5MC0xNzUuOHpNNDc0LjkgMTkyLjFjLTUuNSAxMC45LTcuNSAyMy4zLTUuNyAzNS4zbC0yMDYuNC0zMy4xIDE3LjItMzMuNSAxOTUgMzEuM3pNNjguNyAxOTkuNkE1NCA1NCAwIDEgMSA3NC42IDkxLjggNTQgNTQgMCAxIDEgNjguNyAxOTkuNnptNDMyLTMzLjRjLTEwLjkgNS42LTE5LjcgMTQuNC0yNS40IDI1LjNMMzUzLjUgNjkuM2MxMC45LTUuNiAxOS43LTE0LjQgMjUuNC0yNS4zTDUwMC42IDE2Ni4yek0yMjkuMyAxNTIuNmwtMTcuMiAzMy41LTg3LjQtMTRjNS40LTEwLjkgNy40LTIzLjMgNS41LTM1LjRsOTkgMTUuOXptMTM5LjUgMTUuOWwtMzcuMi02LTEzLjYtODcuMmMxMi4xIDEuNyAyNC41LS4zIDM1LjMtNS45bDE1LjUgOTkuMXpNMjY3LjggMjYuMmMyIDEyLjEgNy42IDIzLjIgMTYuMiAzMS45bC0xNTMuOSA3OGMtMi0xMi4xLTcuNi0yMy4yLTE2LjItMzEuOWwxNTMuOS03OHptNTUuNiA0NC4zYTU0IDU0IDAgMSAxIDUuOC0xMDcuOCA1NCA1NCAwIDEgMSAtNS44IDEwNy44eiJdfSxOdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYnJhdmUtcmV2ZXJzZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTYzZCIsIk0yOTguNSAwYzMgMCA1LjggMS4zIDcuOCAzLjZsMzguMSA0NGMuNS0uMSAxLS4yIDEuNS0uMyA5LjItMS42IDE4LjYtMi4yIDI3LjctMS4yIDExLjYgMS40IDIxLjUgNS40IDI4LjkgMTIuOSA3LjcgNy44IDE1LjQgMTUuOCAyMi42IDIzLjYgMi41IDIuNyA0LjkgNS4yIDYuOSA3LjQgLjcgLjggMS40IDEuNSAxLjkgMiAzLjQgMy43IDQuMiA4LjEgMi43IDExLjlsLTkuOCAyNC42IDEzLjEgMzguMWMuNyAyIC44IDQuMSAuMiA2LjItLjEgLjQtLjEgLjQtLjUgMi4xbC0xLjUgNS44Yy0xLjYgNi4zLTMuNSAxMy4zLTUuNCAyMC45LTUuNiAyMS42LTExLjIgNDMuMi0xNi40IDYzLjQtMTIuOSA0OS45LTIxLjQgODIuNy0yMy40IDkwLjktMTEuMSA0NC41LTE5LjkgNjAtNDguMyA4MC4zLTI0LjkgMTcuOC03Ni44IDUzLjYtODYuOCA2MC0xIC42LTIgMS4zLTMuNCAyLjMtLjUgLjQtMy4yIDIuMi0zLjkgMi43LTQuOSAzLjMtOC4zIDUuNS0xMi4xIDcuMy00LjcgMi4yLTkuMyAzLjUtMTMuOSAzLjVzLTkuMS0xLjItMTMuOS0zLjVjLTMuNy0xLjgtNy4yLTMuOS0xMi4xLTcuMy0uOC0uNS0zLjQtMi40LTMuOS0yLjctMS40LTEtMi41LTEuNy0zLjQtMi4zLTEwLTYuNC02MS45LTQyLjEtODYuOC02MC0yOC40LTIwLjQtMzcuMi0zNS44LTQ4LjMtODAuMy0yLTguMi0xMC41LTQxLTIzLjMtOTAuNS01LjMtMjAuNi0xMC45LTQyLjItMTYuNS02My44LTItNy42LTMuOC0xNC42LTUuNC0yMC45bC0xLjUtNS44LS41LTIuMWMtLjUtMi0uNC00LjIgLjItNi4ybDEzLjEtMzguMS05LjktMjQuNWMtMS41LTMuOC0uNy04LjIgMi0xMS4yIDEuMi0xLjMgMS44LTIgMi42LTIuOCAyLTIuMiA0LjQtNC43IDYuOS03LjQgNy4zLTcuNyAxNS0xNS43IDIyLjctMjMuNSA3LjQtNy41IDE3LjMtMTEuNiAyOC45LTEyLjkgOS4xLTEuMSAxOC41LS41IDI3LjcgMS4yIC41IC4xIDEgLjIgMS41IC4zbDM4LjEtNDRjMi0yLjQgNC44LTMuNyA3LjgtMy43bDE0OCAwem0tNC43IDIxLjFsLTEzOC42IDAtMzkuMSA0NS4xYy0yLjYgMy02LjcgNC4zLTEwLjYgMy4yLS4yLS4xLS43LS4yLTEuNS0uNC0xLjMtLjMtMi45LS42LTQuNS0uOS03LjQtMS4zLTE0LjktMS44LTIxLjctMS03LjMgLjktMTMgMy4yLTE2LjYgNi45LTcuNiA3LjctMTUuMiAxNS42LTIyLjMgMjMuMy0xLjcgMS44LTMuMyAzLjUtNC44IDUuMWw4LjggMjJjMSAyLjQgMSA1IC4yIDcuNUwyOS43IDE3MC42Yy40IDEuNCAuNSAxLjkgMS4yIDQuOCAxLjYgNi4zIDMuNSAxMy4zIDUuNCAyMC45IDUuNiAyMS42IDExLjIgNDMuMiAxNi40IDYzLjQgMTIuOSA1MCAyMS40IDgyLjggMjMuNCA5MSAxMC4xIDQwLjEgMTYuNCA1MS4zIDQwLjIgNjguMyAyNC42IDE3LjYgNzYuMyA1My4yIDg1LjkgNTkuMyAxLjIgLjggMi41IDEuNiA0IDIuNyAuNiAuNCAzLjIgMi4yIDMuOSAyLjcgNCAyLjggNi43IDQuNCA5LjIgNS42IDIuMiAxIDMuOSAxLjUgNS4xIDEuNXMyLjktLjUgNS4xLTEuNWMyLjUtMS4yIDUuMi0yLjggOS4yLTUuNiAuNy0uNSAzLjMtMi4zIDMuOS0yLjcgMS42LTEuMSAyLjgtMS45IDQtMi43IDkuNi02LjEgNjEuMy00MS43IDg1LjktNTkuMyAyMy44LTE3LjEgMzAuMi0yOC4yIDQwLjEtNjguMyAyLjEtOC4zIDEwLjUtNDEuMSAyMy4zLTkwLjcgNS4zLTIwLjYgMTAuOS00Mi4yIDE2LjUtNjMuOCAyLTcuNiAzLjgtMTQuNiA1LjQtMjAuOSAuNy0yLjkgLjktMy40IDEuMi00LjhsLTEzLjMtMzguOGMtLjgtMi40LS44LTUuMSAuMi03LjVsOC44LTIyYy0xLjUtMS42LTMuMS0zLjMtNC44LTUuMS03LjItNy42LTE0LjctMTUuNS0yMi4zLTIzLjMtMy43LTMuNy05LjMtNi0xNi42LTYuOS02LjgtLjgtMTQuNC0uMy0yMS43IDEtMS43IC4zLTMuMiAuNi00LjUgLjktLjggLjItMS4zIC4zLTEuNSAuNC0zLjggMS4xLTcuOS0uMi0xMC42LTMuMkwyOTMuOCAyMS4xek0yMjQuNSAzMTZjMi44IDAgMjAuOSA2LjUgMzUuNCAxNC4xczI1IDEzIDI4LjMgMTUuMiAxLjMgNi4yLTEuNyA4LjQtNDQuMSAzNC42LTQ4LjEgMzguMi05LjggOS41LTEzLjggOS41LTkuOC01LjktMTMuOC05LjUtNDUuMS0zNi00OC4xLTM4LjItNS4xLTYuMi0xLjctOC40IDEzLjktNy41IDI4LjMtMTUuMiAzMi41LTE0LjEgMzUuNC0xNC4xbC0uMiAwem0uMS0yMzAuN2MuNyAwIDguOCAuMiAyMC41IDQuMiAxMi4zIDQuMiAyNS43IDkuNCAzMS45IDkuNHM1MS45LTguOSA1MS45LTguOSA1NC4yIDY2LjcgNTQuMiA4MS02LjggMTgtMTMuNyAyNS40LTM2LjggMzkuOC00MC43IDQzLjktMTEuOSAxMC41LTcuMSAyMS44IDExLjcgMjUuOCAzLjkgNDAuNC0yMSAyNC40LTI5LjQgMjIuOC0yOC40LTEyLjItMzUuNy0xNy4xLTMwLjUtMjQuMy0zMC41LTMxLjggMjQtMjAuOCAyOC40LTIzLjkgMjQuNy0xNC44IDI1LjEtMTkuNCAuMy02LTUuNy0xNy40LTE2LjctMjYuNy0xNC45LTM2LjggMTkuMS0xNS40IDMxLjUtMjAuMiAzNi4yLTEzLjcgMzkuMi0xNS4xIDIuMi0yLjctNi44LTMuNi0zNC42LTQuMy00Ni4xLTEuMS0zMS4yIDguMi0zMi44IDEwLjktMyAyLjctMS40IDExLjggMTAuMSA1Mi44IDEwLjkgNjAuNiAyLjQgMTIuOS01LjggMTQuOC0yMi4xIDUuMi0yNi44IDUuMi0xOC42LTMuMy0yNi44LTUuMi02LjYtNy01LjgtMTQuOCA5LjMtNTEuNSAxMC45LTYwLjYgLjItOS4yLTEuNC0xMS44LTIxLjMtNy42LTMyLjgtMTAuOS0zNy4xIC4yLTQ2LjEgMS4xLTkuOCAyLjItNi44IDMuNiAyNi44IDEwLjQgMzkuMiAxNS4xIDI5LjcgMTAgMzEuNSAyMC4yLTkgMjUuNC0xNC45IDM2LjgtNi4xIDEyLjgtNS43IDE3LjQgMjAuNiAxNi40IDI1LjEgMTkuNCAyOC40IDE2LjQgMjguNCAyMy45LTIzLjIgMjctMzAuNSAzMS44LTI3LjIgMTUuNC0zNS43IDE3LjEtMjEuNy04LjItMjkuNC0yMi44LS44LTI5LjEgMy45LTQwLjQtMy4zLTE3LjctNy4xLTIxLjgtMzMuOC0zNi41LTQwLjctNDMuOS0xMy43LTExLjItMTMuNy0yNS40IDU0LjItODEgNTQuMi04MSA0NS44IDguOSA1MS45IDguOSAxOS41LTUuMiAzMS45LTkuNCAyMC42LTQuMiAyMC42LTQuMmwtLjMgMHoiXX0sUnZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImF2aWFuZXgiLGljb246WzUxMiw1MTIsW10sImYzNzQiLCJNNDUzLjIgMzJsLTMxMiAwQzEwMi4zIDMyIDY1IDYzLjIgNTcuOSAxMDEuN0wxLjMgNDEwLjNDLTUuOCA0NDguOCAyMCA0ODAgNTkgNDgwbDMxMiAwYzM4LjkgMCA3Ni4yLTMxLjIgODMuMy02OS43TDUxMSAxMDEuOEM1MTggNjMuMiA0OTIuMiAzMiA0NTMuMiAzMnpNMzk1IDM3OS4zbC0zMiAxMy41LTExNS40LTExMGMtMTQuNyAxMC0yOS4yIDE5LjUtNDEuNyAyNy4xbDIyLjEgNjQuMi0xNy45IDEyLjctNDAuNi02MS01Mi40LTQ4LjEgMTUuNy0xNS40IDU4IDMxLjFjOS4zLTEwLjUgMjAuOC0yMi42IDMyLjgtMzQuOWwtMjAuNS0yOS42LTY4LjgtOTkuOCAxOC44LTI4LjkgOC45LTQuOCAxMDMuMSAxMTIuNCA0LjkgNC41YzE5LjQtMTguOCAzMy44LTMyLjQgMzMuOC0zMi40IDcuNy02LjUgMjEuNS0yLjkgMzAuNyA3LjkgOSAxMC41IDEwLjYgMjQuNyAyLjcgMzEuMy0xLjggMS4zLTE1LjUgMTEuNC0zNS4zIDI1LjZsNC41IDcuMyA5NC45IDExOS40LTYuMyA3Ljl6Il19LE92dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJuczgiLGljb246WzY0MCw1MTIsW10sImYzZDUiLCJNMTA0LjMgMjY5LjJsMjYuMSAwIDAtMjYuMi0yNi4xIDAgMCAyNi4yek0xNTYuOCAyNDNsLS4xLTI2LjIgMC0uOWMtLjItMTAuNC00LjQtMjAuMy0xMS45LTI3LjZzLTE3LjUtMTEuMy0yNy45LTExLjEtMjAuMyA0LjQtMjcuNiAxMS44LTExLjMgMTcuNS0xMS4yIDI3LjlsMCAuMiAyNi40IDAgMC0uMmMuMS0zLjQgMS41LTYuNiAzLjktOXM1LjctMy43IDkuMS0zLjcgNi43IDEuMyA5LjEgMy43IDMuOCA1LjYgMy45IDlsMCAyNi4yIDI2LjMgMHptNTIuNCAyNS44YzAgMTItMi40IDIzLjgtNi45IDM0LjlzLTExLjMgMjEuMS0xOS43IDI5LjYtMTguNSAxNS4yLTI5LjYgMTkuNy0yMi45IDYuOS0zNC45IDYuOWwtLjYgMGMtMjQuMiAwLTQ3LjMtOS42LTY0LjQtMjYuN1MyNi4zIDI5MyAyNi4zIDI2OC44bC0yNi4zIDAgMCAuMmMwIDE1LjQgMy4xIDMwLjcgOSA0NC45czE0LjYgMjcuMiAyNS41IDM4LjEgMjMuOSAxOS41IDM4LjEgMjUuNCAyOS41IDguOSA0NC45IDguOWwuOCAwYzE1LjQgMCAzMC43LTMgNDQuOS05czI3LjItMTQuNiAzOC4xLTI1LjUgMTkuNS0yMy44IDI1LjQtMzguMSA4LjktMjkuNSA4LjktNDQuOWwwLTI2LTI2LjMgMCAwIDI2em0tMTU3LjIgMGMuMSAxNy4zIDcgMzMuOSAxOS4yIDQ2LjFzMjguOCAxOS4xIDQ2LjEgMTkuMSAzMy45LTYuOSA0Ni4xLTE5LjEgMTkuMi0yOC44IDE5LjItNDYuMWwtMjYuMyAwYy0uMiAxMC4yLTQuNCAyMC0xMS43IDI3LjJzLTE3LjEgMTEuMi0yNy40IDExLjItMjAuMS00LTI3LjQtMTEuMi0xMS41LTE2LjktMTEuNy0yNy4ybDAtMjYtMjYuMyAwIDAtMjYuNmMuMy0xNy4zIDcuNC0zMy44IDE5LjctNDUuOHMyOS0xOC44IDQ2LjMtMTguNiAzMy44IDcuMiA0NS45IDE5LjUgMTguOSAyOC45IDE4LjkgNDYuMmwwIDI1LjMgMjYuMyAwIDAtMjUuM2MwLTI0LjMtOS43LTQ3LjctMjYuOS02NC45cy00MC41LTI2LjktNjQuOS0yNi45LTQ3LjcgOS43LTY0LjkgMjYuOS0yNi45IDQwLjUtMjYuOSA2NC45bDAgMjUuNCAyNi4zIDAgMCAyNnptNDE4LjQtNzEuMmMxMy43IDAgMjQuNiA2LjYgMzAuMSAxOC4zbC43IDEuNSAyMy4yLTExLjUtLjYtMS40Yy04LTE5LjMtMjguNS0zMS4zLTUzLjQtMzEuMy0yMy4xIDAtNDMuNiAxMS40LTUxIDI4LjQtLjEgMjYuOS0uMiAyMy45IDAgMjQuOCA0LjcgMTEgMTQuNiAxOS40IDI4LjcgMjQuMiA2LjUgMiAxMy4xIDMuMyAxOS44IDQgNS41IC43IDEwLjYgMS40IDE1LjggMy4xIDYuNCAyLjEgMTAuNSA1LjMgMTIuOCA5LjhsMCA5LjljLTMuNyA3LjUtMTMuOCAxMi4zLTI1LjggMTIuMy0xNC4zIDAtMjYtNi45LTMxLjktMTlsLS43LTEuNS0yMyAxMS41IC42IDEuNGM3LjkgMTkuNCAyOS42IDMyIDU1LjMgMzIgMjMuNiAwIDQ0LjYtMTEuNCA1Mi4zLTI4LjRsLjItMjUuOS0uMi0uN2MtNC45LTExLTE1LjItMTkuNi0yOC45LTI0LjItNy43LTIuNy0xNC4zLTMuNi0yMC43LTQuNC01LS41LTEwLTEuNS0xNC44LTIuOS02LjMtMS45LTEwLjQtNS4xLTEyLjYtOS42bDAtOC40YzMuNC03LjQgMTIuOS0xMi4xIDI0LjItMTIuMWwwIDB6TTI4Ny42IDMxMS4zbDI2LjEgMCAwLTY4LjQtMjYuMSAwIDAgNjguNHpNNjM5LjggMjU4Yy0yLjktNi4zLTguMy0xMi0xNS40LTE2LjcgNS42LTMuOCAxMC4xLTkuMSAxMy0xNS4zbC4yLTI1LjMtLjItLjdjLTcuNC0xNi0yNi43LTI2LjctNDguMi0yNi43UzU0OC41IDE4NCA1NDEuMSAyMDBsLS4yIDI1LjMgLjIgLjdjMi45IDYuMSA3LjQgMTEuNCAxMyAxNS4zLTcuMiA0LjctMTIuNSAxMC41LTE1LjQgMTYuN2wtLjIgMjguOSAuMiAuN2M3LjYgMTYgMjcuOSAyNi43IDUwLjYgMjYuN3M0My4xLTEwLjcgNTAuNi0yNi43bC4yLTI4LjktLjItLjd6bS03My4yLTUwLjhjMy42LTYuMyAxMi42LTEwLjUgMjIuNi0xMC41czE5IDQuMiAyMi42IDEwLjVsMCAxMy43Yy0zLjUgNi4yLTEyLjYgMTAuMy0yMi42IDEwLjNzLTE5LjEtNC4yLTIyLjYtMTAuM2wwLTEzLjd6bTQ3LjMgNzIuMmMtMy44IDYuNi0xMy4zIDEwLjktMjQuNyAxMC45LTExLjEgMC0yMS00LjQtMjQuNy0xMC45bDAtMTYuMmMzLjctNi4zIDEzLjUtMTAuNSAyNC43LTEwLjUgMTEuMyAwIDIwLjkgNC4xIDI0LjcgMTAuNWwwIDE2LjJ6TTM3Ni40IDI2NmwtNTkuOC04OS43LTI5IDAgMCA0MC42IDI2LjUgMCAwIC40IDYyLjUgOTQuMSAyNS43IDAgMC0xMzUuMS0yNS45IDAgMCA4OS43eiJdfSxEdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXBpbnRlcmVzdCIsaWNvbjpbNDQ4LDUxMixbInBpbnRlcmVzdC1zcXVhcmUiXSwiZjBkMyIsIk0zODQgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw3Mi42IDAtMi4yLS44Yy01LjQtNDguMS0zLjEtNTcuNSAxNS43LTEzNC43IDMuOS0xNiA4LjUtMzUgMTMuOS01Ny45IDAgMC03LjMtMTQuOC03LjMtMzYuNSAwLTcwLjcgNzUuNS03OCA3NS41LTI1IDAgMTMuNS01LjQgMzEuMS0xMS4yIDQ5LjgtMy4zIDEwLjYtNi42IDIxLjUtOS4xIDMyLTUuNyAyNC41IDEyLjMgNDQuNCAzNi40IDQ0LjQgNDMuNyAwIDc3LjItNDYgNzcuMi0xMTIuNCAwLTU4LjgtNDIuMy05OS45LTEwMi42LTk5LjktNjkuOSAwLTExMC45IDUyLjQtMTEwLjkgMTA2LjYgMCAyMS4xIDguMiA0My43IDE4LjMgNTYgMiAyLjQgMi4zIDQuNSAxLjcgNy0xLjEgNC43LTMuMSAxMi45LTQuNyAxOS4yLTEgNC0xLjggNy4zLTIuMSA4LjYtMS4xIDQuNS0zLjUgNS41LTguMiAzLjMtMzAuNi0xNC4zLTQ5LjgtNTkuMS00OS44LTk1LjEgMC03Ny41IDU2LjItMTQ4LjYgMTYyLjItMTQ4LjYgODUuMiAwIDE1MS40IDYwLjcgMTUxLjQgMTQxLjggMCA4NC42LTUzLjMgMTUyLjctMTI3LjQgMTUyLjctMjQuOSAwLTQ4LjMtMTIuOS01Ni4zLTI4LjIgMCAwLTEyLjMgNDYuOS0xNS4zIDU4LjQtNSAxOS4zLTE3LjYgNDIuOS0yNy40IDU5LjNMMzg0IDQ4MGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NHoiXX0sRnZ0PUR1ZSxCdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmx1ZXRvb3RoLWIiLGljb246WzI1Niw1MTIsW10sImYyOTQiLCJNMTY0LjkgMjYwTDI1Ny41IDE1Ni43IDExMS42IDAgMTExLjYgMjA2LjMgMjUuNCAxMjAuMi02IDE1MS42IDEwMi4xIDI2MC02IDM2OC40IDI1LjQgMzk5LjggMTExLjYgMzEzLjcgMTE0LjMgNTEyIDI2Mi44IDM2My40IDE2NC45IDI2MHptNDAuOS0xMDNsLTUwIDUwLS4zLTEwMC4zIDUwLjMgNTAuM3ptLTUwIDE1Nmw1MCA1MC01MC4zIDUwLjMgLjMtMTAwLjN6Il19LEh2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJncmlwZmlyZSIsaWNvbjpbMzIwLDUxMixbXSwiZjNhYyIsIk04MC41IDMwMS40YzAtNzMuOCAxMDUuMS0xMjIuNSAxMDUuMS0yMDMgMC00Ny4xLTM0LTg4LTM5LjEtOTAuNCAuNCAzLjMgLjYgNi43IC42IDEwIDAgOTIuMS0xNDcuMSAxNTMuOS0xNDcuMSAyNjguNiAwIDQ5LjggMzIuMiA3OS4yIDY2LjUgMTA4LjMgNjUuMSA0Ni43IDc4LjEgNzEuNCA3OC4xIDg2LjYgMCAxMC4xLTQuOCAxNy00LjggMjIuMyAxMy4xLTE2LjcgMTcuNC0zMS45IDE3LjUtNDYuNCAwLTI5LjYtMjEuNy01Ni4zLTQ0LjItODYuNS0xNi0yMi4zLTMyLjYtNDIuNi0zMi42LTY5LjV6bTIwNS4zLTM5Yy0xMi4xLTY2LjgtNzgtMTI0LjQtOTQuNy0xMzAuOWw0IDcuMmMyLjQgNS4xIDMuNCAxMC45IDMuNCAxNy4xIDAgNDQuNy01NC4yIDExMS4yLTU2LjYgMTE2LjctMi4yIDUuMS0zLjIgMTAuNS0zLjIgMTUuOCAwIDIwLjEgMTUuMiA0Mi4xIDE3LjkgNDIuMSAyLjQgMCA1Ni42LTU1LjQgNTguMS04Ny43IDYuNCAxMS43IDkuMSAyMi42IDkuMSAzMy40IDAgNDEuMi00MS44IDk2LjktNDEuOCA5Ni45IDAgMTEuNiAzMS45IDUzLjIgMzUuNSA1My4yIDEgMCAyLjItMS40IDMuMi0yLjQgMzcuOS0zOS4zIDY3LjMtODUgNjcuMy0xMzYuOCAwLTgtLjctMTYuMi0yLjItMjQuNnoiXX0sQXVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1nb29nbGUtcGx1cyIsaWNvbjpbNDQ4LDUxMixbImdvb2dsZS1wbHVzLXNxdWFyZSJdLCJmMGQ0IiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek02NCAyNTZjMC01NS4zIDQ0LjctMTAwIDEwMC0xMDAgMjcgMCA0OS41IDkuOCA2NyAyNi4ybC0yNy4xIDI2LjFjLTcuNC03LjEtMjAuMy0xNS40LTM5LjgtMTUuNC0zNC4xIDAtNjEuOSAyOC4yLTYxLjkgNjMuMiAwIDM0LjkgMjcuOCA2My4yIDYxLjkgNjMuMiAzOS42IDAgNTQuNC0yOC41IDU2LjgtNDMuMWwtNTYuOSAwIDAtMzQuNCA5NC40IDBjMSA1IDEuNiAxMC4xIDEuNiAxNi42IDAgNTcuMS0zOC4zIDk3LjYtOTYgOTcuNi01NS4zIDAtMTAwLTQ0LjctMTAwLTEwMHptMjkxIDE4LjJsMCAyOS0yOS4yIDAgMC0yOS0yOSAwIDAtMjkuMiAyOSAwIDAtMjkgMjkuMiAwIDAgMjkgMjkgMCAwIDI5LjItMjkgMHoiXX0scXZ0PUF1ZSxWdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2l0ZWUiLGljb246WzUxMiw1MTIsW10sImU4NjMiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAxIDAtNTEyIDI1NiAyNTYgMCAxIDEgMCA1MTJ6TTM4NS42IDExMy44bDAgMC0xNzcgMGMtNTIuNCAwLTk0LjggNDIuNC05NC44IDk0LjhsMCAxNzdjMCA3IDUuNyAxMi42IDEyLjYgMTIuNmwxODYuNSAwYzQ3LjEgMCA4NS4zLTM4LjIgODUuMy04NS4zbDAtNzIuN2MwLTctNS43LTEyLjYtMTIuNi0xMi42bC0xNDUuNCAwYy03IDAtMTIuNiA1LjctMTIuNiAxMi42bDAgMzEuNmMwIDYuNiA1LjEgMTIuMSAxMS42IDEyLjZsMSAwIDg4LjUgMGM2LjYgMCAxMi4xIDUuMSAxMi42IDExLjZsMCAxIDAgNi4zYzAgMjAuOS0xNyAzNy45LTM3LjkgMzcuOWwtMTIwLjEgMGMtNyAwLTEyLjYtNS43LTEyLjYtMTIuNmwwLTEyMC4xYzAtMjAuNCAxNi4xLTM3LjEgMzYuNC0zNy45bDEuNiAwIDE3NyAwYzcgMCAxMi42LTUuNyAxMi42LTEyLjZsMC0zMS42YzAtNy01LjYtMTIuNi0xMi42LTEyLjZ6Il19LGp2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ4bXBwIixpY29uOls1NzYsNTEyLFtdLCJlODY0IiwiTTAgNDcuMmMzLjUgMTM3LjEgMTE3LjEgMjc4LjYgMjUyLjkgMzU2LjctMzEuNSAyNS02Ny4yIDQ0LjEtMTA2LjIgNTMuOWwwIDUuNGM1Ni40LTIuMyA5OC4xLTIwLjEgMTQxLjMtNDAuNyA2NS43IDM0LjYgMTIyLjIgMzkuOSAxNDEuNCA0MC43bDAtNS40Yy0zOS05LjgtNzQuNy0yOC44LTEwNi4yLTUzLjggMTM1LjctNzguMiAyNDkuMy0yMTkuOCAyNTIuOC0zNTYuOC01OC40IDI1LjctMTE5LjEgNDQuMi0xODAuMSA2Mi4zbDAgMGMzLjQgNTktMjAuMiAxNzAuNC0xMDcuOSAyNjIuMy04OC40LTkyLjMtMTExLjItMjA0LjEtMTA3LjgtMjYyLjNsMCAwQzExNy43IDkyLjYgNTkuMyA3MC4yIDAgNDcuMnpNOTMuOSA5N2w3My42IDIxLjhDMTY1LjQgMjE2IDIyNi44IDM1OCAzNDEuMyA0MzIuMiAxOTAuNSAzNzYuOSA4OS45IDIxNS43IDkzLjkgOTd6bTM4OC4zIDBjMy4zIDk5LTY1LjYgMjI0LjctMTcxLjcgMjk2LjQtNC43LTQuMS05LjMtOC40LTEzLjgtMTIuNyA3Ny04MC4yIDExMy4yLTE4Ni4zIDExMS45LTI2MS45TDQ4Mi4xIDk3ek0yNjQuNSA0MTAuNWMzIDEuNiA1LjkgMy4yIDguOSA0LjctMTIuNSA2LjQtMjUuNCAxMi4xLTM4LjYgMTcgMTAuMy02LjcgMjAuMi0xMy45IDI5LjctMjEuN3oiXX0sVXZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFwcC1zdG9yZSIsaWNvbjpbNTEyLDUxMixbXSwiZjM2ZiIsIk0yNTUuOSAxMjAuOWw5LjEtMTUuN2M1LjYtOS44IDE4LjEtMTMuMSAyNy45LTcuNXMxMy4xIDE4LjEgNy41IDI3LjlsLTg3LjUgMTUxLjUgNjMuMyAwYzIwLjUgMCAzMiAyNC4xIDIzLjEgNDAuOGwtMTg1LjUgMGMtMTEuMyAwLTIwLjQtOS4xLTIwLjQtMjAuNHM5LjEtMjAuNCAyMC40LTIwLjRsNTIgMCA2Ni42LTExNS40LTIwLjgtMzYuMWMtNS42LTkuOC0yLjMtMjIuMiA3LjUtMjcuOSA5LjgtNS42IDIyLjItMi4zIDI3LjkgNy41bDguOSAxNS43em0tNzguNyAyMThsLTE5LjYgMzRjLTUuNiA5LjgtMTguMSAxMy4xLTI3LjkgNy41cy0xMy4xLTE4LjEtNy41LTI3LjlsMTQuNi0yNS4yYzE2LjQtNS4xIDI5LjgtMS4yIDQwLjQgMTEuNnptMTY4LjktNjEuN2w1My4xIDBjMTEuMyAwIDIwLjQgOS4xIDIwLjQgMjAuNFM0MTAuNSAzMTggMzk5LjIgMzE4bC0yOS41IDAgMTkuOSAzNC41YzUuNiA5LjggMi4zIDIyLjItNy41IDI3LjktOS44IDUuNi0yMi4yIDIuMy0yNy45LTcuNS0zMy41LTU4LjEtNTguNy0xMDEuNi03NS40LTEzMC42LTE3LjEtMjkuNS00LjktNTkuMSA3LjItNjkuMSAxMy40IDIzIDMzLjQgNTcuNyA2MC4xIDEwNHpNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek00MCAyNTZhMjE2IDIxNiAwIDEgMSA0MzIgMCAyMTYgMjE2IDAgMSAxIC00MzIgMHoiXX0sV3Z0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndpeCIsaWNvbjpbNjQwLDUxMixbXSwiZjVjZiIsIk0zOTMuNCAxMzEuN2MwIDEzIDIuMSAzMi43LTI4LjcgNDMuOC05LjUgMy40LTE2IDkuNy0xNiA5LjcgMC0zMSA0LjctNDIuMiAxNy40LTQ4LjkgOS44LTUuMSAyNy4yLTQuNiAyNy4yLTQuNnpNMjc3LjYgMTY3LjJsLTM0LjIgMTMyLjctMjguNS0xMDguNmMtNy43LTMyLTIwLjgtNDguNS00OC40LTQ4LjUtMjcuNCAwLTQwLjcgMTYuMi00OC40IDQ4LjVMODkuNSAyOTkuOSA1NS4zIDE2Ny4yQzQ5LjcgMTQwLjUgMjMuOSAxMjkgMCAxMzJMNjUuNiAzNzkuOXMyMS42IDEuNiAzMi41LTRjMTQuMi03LjIgMjEtMTIuOCAyOS42LTQ2LjYgNy43LTMwLjEgMjkuMS0xMTguNCAzMS4xLTEyNC43IDQuOC0xNC45IDExLjEtMTMuOCAxNS40IDAgMiA2LjMgMjMuNSA5NC42IDMxLjEgMTI0LjcgOC42IDMzLjcgMTUuNCAzOS4zIDI5LjYgNDYuNiAxMC44IDUuNSAzMi41IDQgMzIuNSA0TDMzMi45IDEzMmMtMjQuNC0zLjEtNDkuOCA4LjktNTUuMyAzNS4zem0xMTUuOCA1LjJzLTQuMSA2LjMtMTMuNSAxMS42Yy02IDMuNC0xMS44IDUuNi0xOCA4LjYtMTUuMSA3LjMtMTMuMiAxMy45LTEzLjIgMzUuMmwwIDE1Mi4xczE2LjYgMi4xIDI3LjQtMy40YzEzLjktNy4xIDE3LjEtMTQgMTcuMy00NC44bDAtMTUwLjMgMCAwIDAtOXptMTYzLjQgODQuMUw2NDAgMTMyLjhzLTM1LjEtNi01Mi41IDkuOGMtMTMuMyAxMi4xLTI0LjQgMjkuNi01NC4yIDcyLjUtLjUgLjctNi4zIDEwLjUtMTMuMSAwLTI5LjMtNDIuMi00MC44LTYwLjMtNTQuMi03Mi41LTE3LjQtMTUuOC01Mi41LTkuOC01Mi41LTkuOGw4My4yIDEyMy43LTgzIDEyMy40czM2LjYgNC42IDU0LTExLjJjMTEuNS0xMC41IDE3LjYtMjAuNCA1Mi41LTcwLjcgNi44LTEwLjUgMTIuNi0uOCAxMy4xIDAgMjkuNCA0Mi40IDM5LjIgNTguMSA1My4xIDcwLjcgMTcuNCAxNS44IDUzLjMgMTEuMiA1My4zIDExLjJsLTgzLTEyMy40eiJdfSxHdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaW50ZXJjb20iLGljb246WzQ0OCw1MTIsW10sImY3YWYiLCJNMzkyIDMyTDU2IDMyQzI1LjEgMzIgMCA1Ny4xIDAgODhMMCA0MjRjMCAzMC45IDI1LjEgNTYgNTYgNTZsMzM2IDBjMzAuOSAwIDU2LTI1LjEgNTYtNTZsMC0zMzZjMC0zMC45LTI1LjEtNTYtNTYtNTZ6TTI4My43IDExNC4xYzAtMTkuOCAyOS45LTE5LjggMjkuOSAwbDAgMTk5LjVjMCAxOS44LTI5LjkgMTkuOC0yOS45IDBsMC0xOTkuNXptLTc0LjYtNy41YzAtMTkuOCAyOS45LTE5LjggMjkuOSAwbDAgMjE2LjVjMCAxOS44LTI5LjkgMTkuOC0yOS45IDBsMC0yMTYuNXptLTc0LjcgNy41YzAtMTkuOCAyOS45LTE5LjggMjkuOSAwbDAgMTk5LjVjMCAxOS44LTI5LjkgMTkuOC0yOS45IDBsMC0xOTkuNXpNNTkuNyAxNDRjMC0xOS44IDI5LjktMTkuOCAyOS45IDBsMCAxMzQuM2MwIDE5LjgtMjkuOSAxOS44LTI5LjkgMGwwLTEzNC4zek0zODMuMSAzNzEuOGMtNzIuOCA2My0yNDEuNyA2NS40LTMxOC4xIDAtMTUtMTIuOCA0LjQtMzUuNSAxOS40LTIyLjcgNjUuOSA1NS4zIDIxNi4xIDUzLjkgMjc5LjMgMCAxNC45LTEyLjkgMzQuMyA5LjggMTkuNCAyMi43em01LjItOTMuNWMwIDE5LjgtMjkuOSAxOS44LTI5LjkgMGwwLTEzNC4zYzAtMTkuOCAyOS45LTE5LjggMjkuOSAwbDAgMTM0LjN6Il19LFl2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWFjdGV1cm9wZSIsaWNvbjpbNTc2LDUxMixbXSwiZjc1ZCIsIk0yNTAuNyAyMTEuN2w1LjgtNC4xIDUuOCA0LjEtMi4xLTYuOCA1LjctNC4zLTcuMS0uMS0yLjMtNi44LTIuMyA2LjgtNy4yIC4xIDUuNyA0LjMtMiA2Ljh6bTYzLjcgMGw1LjgtNC4xIDUuOCA0LjEtMi4xLTYuOCA1LjctNC4zLTcuMi0uMS0yLjMtNi44LTIuMyA2LjgtNy4yIC4xIDUuNyA0LjMtMS45IDYuOHptLTkxLjMgNTAuNWwtMy40IDBjLTQuOCAwLTMuOCA0LTMuOCAxMi4xIDAgNC43LTIuMyA2LjEtNS44IDYuMXMtNS44LTEuNC01LjgtNi4xbDAtMzYuNmMwLTQuNyAyLjMtNi4xIDUuOC02LjFzNS44IDEuNCA1LjggNi4xYzAgNy4yLS43IDEwLjUgMy44IDEwLjVsMy40IDBjNC43LS4xIDMuOC0zLjkgMy44LTEyLjMgMC05LjktNi43LTE0LjEtMTYuOC0xNC4xbC0uMiAwYy0xMC4xIDAtMTYuOCA0LjItMTYuOCAxNC4xbDAgNDAuMWMwIDEwLjQgNi43IDE0LjEgMTYuOCAxNC4xbC4yIDBjMTAuMSAwIDE2LjgtMy44IDE2LjgtMTQuMSAwLTkuOSAxLjEtMTMuOC0zLjgtMTMuOHptLTgwLjcgMTcuNGwtMTQuNyAwIDAtMTkuMyAxMS40IDBjMi41IDAgMy44LTEuMyAzLjgtMy44bDAtMi4xYzAtMi41LTEuMy0zLjgtMy44LTMuOGwtMTEuNCAwIDAtMTguMyAxNC40IDBjMi41IDAgMy44LTEuMyAzLjgtMy44bDAtMi4xYzAtMi41LTEuMy0zLjgtMy44LTMuOGwtMjEuNyAwYy0yLjQtLjEtMy43IDEuMy0zLjcgMy44bDAgNTkuMWMwIDIuNSAxLjMgMy44IDMuOCAzLjhsMjEuOSAwYzIuNSAwIDMuOC0xLjMgMy44LTMuOGwwLTIuMWMwLTIuNS0xLjMtMy44LTMuOC0zLjh6bS00Mi0xOC41YzQuNi0yIDcuMy02IDcuMy0xMi40bDAtMTEuOWMwLTEwLjEtNi43LTE0LjEtMTYuOC0xNC4xbC0xMy40IDBjLTIuNSAwLTMuOCAxLjMtMy44IDMuOGwwIDU5LjFjMCAyLjUgMS4zIDMuOCAzLjggMy44bDMuNCAwYzIuNSAwIDMuOC0xLjMgMy44LTMuOGwwLTIyLjkgNS42IDAgNy40IDIzLjVjLjIgMSAuOCAxLjggMS42IDIuNHMxLjggLjkgMi43IC44bDMuMyAwYzIuOCAwIDQtMS44IDMuMi00LjRsLTguMS0yMy45em0tMy44LTE0YzAgNC44LTIuNSA2LjEtNi4xIDYuMWwtNS44IDAgMC0yMC45IDUuOCAwYzMuNiAwIDYuMSAxLjMgNi4xIDYuMWwwIDguN3pNMTc2LjEgMjI2Yy0uMS0uNS0uMi0xLS40LTEuNHMtLjYtLjgtMS0xLjEtLjgtLjYtMS4zLS43LTEtLjItMS41LS4xbC02LjkgMGMtLjUgMC0xIDAtMS40IC4ycy0uOSAuNC0xLjMgLjctLjcgLjctLjkgMS4xLS40IC45LS40IDEuNGwtMTEgNTkuMmMtLjUgMi43IC45IDQuMSAzLjQgNC4xbDMgMGMuNSAuMSAxIDAgMS41LS4ycy45LS40IDEuMy0uNyAuNy0uNyAuOS0xLjIgLjQtLjkgLjQtMS40bDEuOC0xMS4zIDEyLjIgMCAxLjggMTEuM2MwIC41IC4yIDEgLjQgMS40cy41IC45IC45IDEuMiAuOCAuNiAxLjMgLjcgMSAuMiAxLjUgLjJsMy41IDBjMi42IDAgMy45LTEuNCAzLjQtNC4xTDE3Ni4xIDIyNnptLTEyLjMgMzkuM2w0LjctMjkuNyA0LjcgMjkuNy05LjQgMHptODkuMyAyMC4ybDAtNTMuMiA3LjUgMGMyLjUgMCAzLjgtMS4zIDMuOC0zLjhsMC0yLjFjMC0yLjUtMS4zLTMuOC0zLjgtMy44bC0yNS44IDBjLTIuNSAwLTMuOCAxLjMtMy44IDMuOGwwIDIuMWMwIDIuNSAxLjMgMy44IDMuOCAzLjhsNy4zIDAgMCA1My4yYzAgMi41IDEuMyAzLjggMy44IDMuOGwzLjQgMGMyLjUgMCAzLjgtMS4zIDMuOC0zLjhsMCAwem0yNDgtLjhsLTE5LjQgMCAwLTI2LjcgMTYuMSAwYy4zIDAgLjUgMCAuOC0uMXMuNS0uMiAuNy0uNCAuMy0uNCAuNC0uNyAuMS0uNSAuMS0uOGwwLS44YzAtLjMgMC0uNS0uMS0uOHMtLjItLjUtLjQtLjctLjQtLjMtLjctLjQtLjUtLjEtLjgtLjFsLTE2LjEgMCAwLTI1LjggMTkuMSAwYy4zIDAgLjUgMCAuOC0uMXMuNS0uMiAuNy0uNCAuMy0uNCAuNC0uNyAuMS0uNSAuMS0uOGwwLS44YzAtLjMgMC0uNS0uMS0uOHMtLjItLjUtLjQtLjctLjQtLjMtLjctLjQtLjUtLjEtLjgtLjFsLTIyLjIgMGMtLjMtLjEtLjUtLjEtLjggMHMtLjUgLjItLjcgLjQtLjMgLjQtLjQgLjctLjEgLjUtLjEgLjhsMCA2M2MwIC4zIDAgLjUgLjEgLjhzLjIgLjUgLjQgLjYgLjQgLjMgLjcgLjQgLjUgLjEgLjggLjFsMjIuNSAwYy4zIDAgLjUgMCAuOC0uMXMuNS0uMiAuNy0uNCAuMy0uNCAuNC0uNiAuMS0uNSAuMS0uOGwwLS44YzAtLjMgMC0uNS0uMS0uOHMtLjItLjUtLjQtLjctLjQtLjMtLjctLjQtLjUtLjEtLjgtLjFsMCAwek00MDggMjIxLjhsLS44IDBjLTEwLjEgMC0xNS4zIDQuNy0xNS4zIDE0LjFsMCA0MC4xYzAgOS4zIDUuMiAxNC4xIDE1LjMgMTQuMWwuOCAwYzEwLjEgMCAxNS4zLTQuOCAxNS4zLTE0LjFsMC00MC4xYzAtOS40LTUuMi0xNC4xLTE1LjMtMTQuMWwwIDB6bTEwLjIgNTIuNGMtLjEgOC0zIDExLjEtMTAuNSAxMS4xcy0xMC41LTMuMS0xMC41LTExLjFsMC0zNi42YzAtNy45IDMtMTEuMSAxMC41LTExLjFzMTAuNSAzLjIgMTAuNSAxMS4xbDAgMzYuNnptLTQ2LjUtMTQuNWM2LjEtMS42IDkuMi02LjEgOS4yLTEzLjNsMC05LjdjMC05LjQtNS4yLTE0LjEtMTUuMy0xNC4xbC0xMy43IDBjLS4zIDAtLjUgMC0uOCAuMXMtLjUgLjItLjcgLjQtLjMgLjQtLjQgLjYtLjEgLjUtLjEgLjhsMCA2M2MwIC4zIDAgLjUgLjEgLjhzLjIgLjUgLjQgLjYgLjQgLjMgLjcgLjQgLjUgLjEgLjggLjFsMS4yIDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC42LS40IC4zLS40IC40LS42IC4xLS41IC4xLS44bDAtMjYuOSAxMS42IDAgMTAuNCAyNy4yYy4yIC41IC41IC45IC45IDEuMXMuOSAuNCAxLjQgLjRsMS41IDBjMS40IDAgMi0xIDEuNS0yLjNsLTEwLjYtMjcuM3ptLTYuNC0zLjlsLTEwLjIgMCAwLTI4LjUgMTAuMiAwYzcuNSAwIDEwLjUgMy4xIDEwLjUgMTEuMWwwIDYuNGMwIDcuOC0zIDExLTEwLjUgMTFsMCAwem04NS45LTMzLjFsLTEzLjcgMGMtLjMtLjEtLjUtLjEtLjggMHMtLjUgLjItLjcgLjQtLjMgLjQtLjQgLjctLjEgLjUtLjEgLjhsMCA2M2MwIC4zIDAgLjUgLjEgLjhzLjIgLjUgLjQgLjYgLjQgLjMgLjcgLjQgLjUgLjEgLjggLjFsMS4yIDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC42LS40IC4zLS40IC40LS42IC4xLS41IC4xLS44bDAtMjYuMSAxMC42IDBjMTAuMSAwIDE1LjMtNC44IDE1LjMtMTQuMWwwLTEwLjVjMC05LjQtNS4yLTE0LjEtMTUuMy0xNC4xem0xMC4yIDIyLjhjMCA3LjktMyAxMS4xLTEwLjUgMTEuMWwtMTAuMiAwIDAtMjkuMiAxMC4yIDBjNy41LS4xIDEwLjUgMy4xIDEwLjUgMTFsMCA3LjF6TTI1OS42IDMwOGwtMi4zLTYuOC0yLjMgNi44LTcuMSAuMSA1LjcgNC4zLTIuMSA2LjggNS44LTQuMSA1LjggNC4xLTIuMS02LjggNS43LTQuMy03LjEtLjF6TTQ4Ny4yIDE3MS45Yy0xMS43LTQuNC0yMy41LTguMS0zNS42LTExLjMgMTkuNi03OCAxMS42LTEzNC43LTIyLjMtMTUzLjktMzQuNS0xOS40LTg1LjkgNC4zLTEzOC4yIDU1LjIgMy40IDMuMyA2LjggNi43IDEwLjIgMTAuMiA4Mi41LTgwIDExOS42LTUzLjUgMTIwLjktNTIuOCAyMi40IDEyLjcgMzYgNTUuOCAxNS41IDEzNy44LTI3LjgtNi40LTU2LjEtMTAuNy04NC42LTEzLTcxLjktMTAwLjUtMTQwLjYtMTQyLjEtMTgyLjItMTQyLjEtMzAuOCAwLTQzLjggMjEtNDcuNiAyNy43LTE4LjEgMzItMTMuMyA4NC4yIC4xIDEzMy44LTcwLjUgMjAuMy0xMjAuNyA1NC4xLTEyMC4zIDk1IC41IDU5LjYgMTAzLjIgODcuOCAxMjIuMSA5Mi44LTIwLjUgODEuOS0xMC4xIDEzNS42IDIyLjMgMTUzLjkgMjggMTUuOCA3NS4xIDYgMTM4LjItNTUuMi0zLjQtMy4zLTYuOC02LjctMTAuMi0xMC4yLTgyLjUgODAtMTE5LjcgNTMuNS0xMjAuOSA1Mi44LTIyLjMtMTIuNi0zNi01NS42LTE1LjUtMTM3LjkgMTIuNCAyLjkgNDEuOCA5LjUgODQuNiAxMyA3MS45IDEwMC40IDE0MC42IDE0MiAxODIuMSAxNDIgMzAuOCAwIDQzLjgtMjEgNDcuNi0yNy43IDE4LTMxLjkgMTMuMy04NC4xLS4xLTEzMy44IDE1Mi4zLTQzLjggMTU2LjItMTMwLjIgMzMuOS0xNzYuM2wwIDB6TTEzNiAzNi44YzIuOS01LjEgMTEuOS0yMC4zIDM0LjktMjAuMyAzNi44IDAgOTguOCAzOS42IDE2My4zIDEyNi4yLTMxLjMtMS44LTYyLjctMS41LTkzLjkgLjkgMTMtMTguMyAyNy4xLTM1LjggNDIuMi01Mi40LTMuNC0zLjUtNi44LTYuOS0xMC4yLTEwLjItMTguMyAyMC4yLTM1LjMgNDEuNy01MC43IDY0LjItMjguNSAyLjctNTYuNyA3LjYtODQuNCAxNC42LS4yLTEuNC0yNC4zLTgyLjItMS4yLTEyM2wwIDB6TTQ0MC44IDQ3NS4xYy0yLjkgNS4xLTExLjggMjAuMy0zNC45IDIwLjMtMzYuNyAwLTk4LjctMzkuNC0xNjMuMy0xMjYuMiAzMS4zIDEuOCA2Mi43IDEuNSA5My45LS45LTEzIDE4LjMtMjcuMSAzNS44LTQyLjIgNTIuNCAzLjQgMy41IDYuOCA2LjkgMTAuMiAxMC4yIDE4LjQtMjAuMiAzNS4zLTQxLjcgNTAuNy02NC4yIDQ3LjMtNC43IDgwLjMtMTMuNSA4NC40LTE0LjYgMjIuNyA4NC40IDQuNSAxMTcgMS4yIDEyM3ptOS4xLTEzOC42Yy0zLjYtMTEuOS03LjctMjQuMS0xMi40LTM2LjQtMi4xIDAtNC4yLS41LTYuMS0xLjVzLTMuNS0yLjQtNC42LTQuMmwtLjEgLjFjLTEuNiAxLjUtMy40IDIuNy01LjQgMy42IDUuNyAxNC4zIDEwLjYgMjguNCAxNC43IDQyLjItMjMuNyA2LTQ3LjcgMTAuMy03MiAxMyAzLjUtNS4zIDE3LjItMjYuMiAzMi4yLTU0LjItMi4xLS44LTQuMi0xLjktNi0zLjItMS4xIDEuMi0zLjYgNC4yLTEwLjkgNC4yLTYuMiAxMS4yLTE3LjQgMzAuOS0zMy45IDU1LjItMzcuNCAzLjMtNzUgMy42LTExMi40IDEtNy45LTExLjItMjEuNS0zMS4xLTM2LjgtNTcuOC0xLS40LTItLjktMy0xLjUtMS45IDEuNi0zLjkgMy4yLTEyLjYgMy4yIDYuMyAxMS4yIDE3LjUgMzAuNyAzMy44IDU0LjYtMjQuMy0yLjMtNDguNC02LjItNzIuMi0xMS43IDMuOS0xNCA4LjYtMjguMyAxNC4xLTQyLjktMy4yIDAtNS40IC4yLTguNC0xLTIuMiAuOC00LjYgMS4xLTYuOSAxLTQuOSAxMy40LTkuMSAyNi41LTEyLjcgMzkuNC0xNTkuOS00Mi42LTE0MC4zLTEyMy42LTEuNS0xNjQgMy42IDExLjkgNy43IDI0LjEgMTIuNCAzNi40IDEwLjQgMCAxMi45IDMuNCAxNC40IDUuMyAuNy0uOCAxLjQtMS42IDIuMy0yLjItNS44LTE0LjctMTAuOS0yOS4yLTE1LjItNDMuMyA3LTEuOCAzMi40LTguNCA3Mi0xMy0xNS45IDI0LjMtMjYuNyA0My45LTMyLjggNTUuMyAzLjEgMS44IDUuMyA0LjYgNi40IDggMi41LTMuNyA2LjEtNi42IDEwLjItOC40IDYuNS0xMS43IDE3LjktMzEuOSAzNC44LTU2LjkgMzcuNC0zLjMgNzUtMy42IDExMi40LTEgMzEuNSA0NC42IDI4LjkgNDguMSA0Mi41IDY0LjUgMi42LTMuNSA2LjMtNiAxMC40LTcuNC02LjQtMTEuNC0xNy42LTMxLTM0LjMtNTUuNSA0MC40IDQuMSA2NSAxMCA3Mi4yIDExLjctNCAxNC40LTguOSAyOS4yLTE0LjYgNDQuMiAyLjUgMSA0LjggMi40IDYuOCA0LjNsLjEgLjFjMS0xLjUgMi4zLTIuOCAzLjgtMy44czMuMy0xLjYgNS4xLTEuOGM0LjktMTMuNCA5LjItMjYuNiAxMi44LTM5LjUgMTEuNyAzLjEgMjMuMiA2LjggMzQuNSAxMSAxMDYuMSAzOS45IDc0IDg3LjkgNzIuNiA5MC40LTE5LjggMzUuMS04MC4xIDU1LjItMTA1LjcgNjIuNXptLTExNC40LTExNGwtMS4yIDBjLS4zIDAtLjUgMC0uOCAuMXMtLjUgLjItLjYgLjQtLjMgLjQtLjQgLjYtLjEgLjUtLjEgLjhsMCA0OS44YzAgNy45LTIuNiAxMS4xLTEwLjEgMTEuMXMtMTAuMS0zLjEtMTAuMS0xMS4xbDAtNDkuOGMwLS4zIDAtLjUtLjEtLjhzLS4yLS41LS40LS43LS40LS4zLS43LS40LS41LS4xLS44LS4xbC0xLjIgMGMtLjMgMC0uNSAwLS44IC4xcy0uNSAuMi0uNyAuNC0uMyAuNC0uNCAuNi0uMSAuNS0uMSAuOGwwIDUxLjVjMCA5LjYgNSAxNC4xIDE1LjEgMTQuMWwuNCAwYzEwLjEgMCAxNS4xLTQuNiAxNS4xLTE0LjFsMC01MS41YzAtLjMtLjEtLjUtLjItLjhzLS4zLS41LS41LS42LS40LS4zLS43LS40LS41LS4xLS44LS4xek0zMjEuOCAzMDhsLTIuMy02LjgtMi4zIDYuOC03LjEgLjEgNS43IDQuMy0yLjEgNi44IDUuOC00LjEgNS44IDQuMS0yLjEtNi44IDUuNy00LjMtNy4xLS4xem0tMzEuMSA3LjRsLTIuMy02LjgtMi4zIDYuOC03LjEgLjEgNS43IDQuMy0yLjEgNi44IDUuOC00LjEgNS44IDQuMS0yLjEtNi44IDUuNy00LjMtNy4xLS4xem01LjEtMzAuOGwtMTkuNCAwIDAtMjYuNyAxNi4xIDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC43LS40IC4zLS40IC40LS43IC4xLS41IC4xLS44bDAtLjhjMC0uMyAwLS41LS4xLS44cy0uMi0uNS0uNC0uNy0uNC0uMy0uNy0uNC0uNS0uMS0uOC0uMWwtMTYuMSAwIDAtMjUuOCAxOS4xIDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC43LS40IC4zLS40IC40LS43IC4xLS41IC4xLS44bDAtLjhjMC0uMyAwLS41LS4xLS44cy0uMi0uNS0uNC0uNy0uNC0uMy0uNy0uNC0uNS0uMS0uOC0uMWwtMjIuMiAwYy0uMyAwLS41IDAtLjggLjFzLS41IC4yLS43IC40LS4zIC40LS40IC42LS4xIC41LS4xIC44bDAgNjNjMCAuMyAwIC41IC4xIC44cy4yIC41IC40IC42IC40IC4zIC43IC40IC41IC4xIC44IC4xbDIyLjUgMGMuMyAwIC41IDAgLjgtLjFzLjUtLjIgLjctLjQgLjMtLjQgLjQtLjcgLjEtLjUgLjEtLjhsMC0uOGMwLS4zIDAtLjYtLjEtLjhzLS4yLS41LS40LS43LS40LS40LS43LS40LS41LS4xLS44LS4xbDAgMHptLTcuNC05OS40bC0yLjMgNi44LTcuMSAuMSA1LjcgNC4zLTIuMSA2LjggNS44LTQuMSA1LjggNC4xLTIuMS02LjggNS43LTQuMy03LjEtLjEtMi4zLTYuOHoiXX0sS3Z0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndhemUiLGljb246WzUxMiw1MTIsW10sImY4M2YiLCJNNTAyLjYgMjAxLjdjMTQuNSA4NS45LTMwLjkgMTY3LjktMTEzLjIgMjA4LjEgMTMgMzQuMS0xMi40IDcwLjItNDguMyA3MC4yLTEzLjIgMC0yNi01LjEtMzUuNi0xNC4ycy0xNS4zLTIxLjYtMTYtMzQuOGMtNi40IC4yLTY0LjIgMC03Ni4zLS42LS4zIDYuOC0xLjkgMTMuNS00LjcgMTkuNnMtNi45IDExLjctMTEuOSAxNi4zLTEwLjggOC4yLTE3LjIgMTAuNS0xMy4yIDMuNC0xOS45IDMuMWMtMzMuOS0xLjQtNTgtMzQuOC00Ny02Ny45LTM3LjItMTMuMS03Mi41LTM0LjktOTkuNi03MC44LTEzLTE3LjMtLjUtNDEuOCAyMC44LTQxLjggNDYuMyAwIDMyLjItNTQuMiA0My4yLTExMC4zIDE4LjQtOTMuOSAxMTYuOC0xNTcuMSAyMTEuNy0xNTcuMSAxMDIuNSAwIDE5Ny4yIDcwLjcgMjE0LjEgMTY5Ljd6TTM3My45IDM4OC4zYzQyLTE5LjIgODEuMy01Ni43IDk2LjMtMTAyLjEgNDAuNS0xMjMuMS02NC4yLTIyOC0xODEuNy0yMjgtODMuNCAwLTE3MC4zIDU1LjQtMTg2LjEgMTM2LTkuNSA0OC45IDUgMTMxLjQtNjguNyAxMzEuNCAyNC45IDMzLjEgNTguMyA1Mi42IDkzLjcgNjQgMjQuNy0yMS44IDYzLjktMTUuNSA3OS44IDE0LjMgMTQuMiAxIDc5LjIgMS4yIDg3LjkgLjggMy41LTYuOSA4LjUtMTIuOSAxNC43LTE3LjVzMTMuMi03LjkgMjAuOC05LjUgMTUuNC0xLjQgMjIuOSAuNCAxNC41IDUuMyAyMC41IDEwLjJ6TTIwNS41IDE4Ny4xYzAtMzQuNyA1MC44LTM0LjcgNTAuOCAwcy01MC44IDM0LjctNTAuOCAwem0xMTYuNiAwYzAtMzQuNyA1MC45LTM0LjcgNTAuOSAwcy01MC45IDM0LjgtNTAuOSAwek0xOTkuNSAyNTcuOGMtMy40LTE2LjkgMjIuMi0yMi4yIDI1LjYtNS4ybC4xIC4zYzQuMSAyMS40IDI5LjggNDQgNjQuMSA0My4xIDM1LjctLjkgNTkuMy0yMi4yIDY0LjEtNDIuOCA0LjUtMTYuMSAyOC42LTEwLjQgMjUuNSA2LTUuMiAyMi4yLTMxLjIgNjItOTEuNSA2Mi45LTQyLjYgMC04MC45LTI3LjgtODcuOS02NC4ybDAgMHoiXX0sWnZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtcmVtaXgiLGljb246WzUxMiw1MTIsW10sImY0ZWUiLCJNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zek00MTguMSAyNjAuNGw0LjkgMi4yIDAgNzBjLTcuMiAzLjYtNjMuNCAyNy41LTY3LjMgMjguOC02LjUtMS44LTExMy43LTQ2LjgtMTM3LjMtNTYuMmwtNjQuMiAyNi42LTYzLjMtMjcuNSAwLTYzLjggNTkuMy0yNC44Yy0uNy0uNy0uNCA1LS40LTcwLjRsNjcuMy0yOS43IDE1MS45IDYyLjkgMCA2MS42IDQ5LjEgMjAuM3ptLTcwLjQgODEuNWwwLTQzLjgtLjQgMCAwLTEuOC0xMTMuOC00Ni41IDAgNDUuMiAxMTMuOCA0Ni45IDAtLjQgLjQgLjR6bTcuNS01Ny42bDM5LjktMTYuNC0zNi44LTE1LjUtMzkgMTYuNCAzNS45IDE1LjV6bTUyLjMgMzguMWwwLTQzLTQ0LjMgMTguNiAwIDQzLjQgNDQuMy0xOXoiXX0sWHZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJhbmRjYW1wIixpY29uOls1MTIsNTEyLFtdLCJmMmQ1IiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnptNDguMiAzMjYuMWwtMTgxIDAgODQuNy0xNTYuMSAxODEgMC04NC43IDE1Ni4xeiJdfSxRdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXdlYi1hd2Vzb21lLXN0cm9rZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTY4NCIsIk02NCA2NEM0Ni4zIDY0IDMyIDc4LjMgMzIgOTZsMCAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMjBjMC0xNy43LTE0LjMtMzItMzItMzJMNjQgNjR6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0yMzUgODEuNmw1MyA0Ni40IDUyLjItMTAuNGMtMi42LTMuOS00LjItOC41LTQuMi0xMy42IDAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRjMCAxMy0xMC4zIDIzLjYtMjMuMiAyNEwzMDQuNSAzNDkuMWMtNS4yIDExLjUtMTYuNiAxOC45LTI5LjIgMTguOWwtMTAyLjYgMGMtMTIuNiAwLTI0LTcuNC0yOS4yLTE4LjlMODcuMiAyMjRjLTEyLjktLjQtMjMuMi0xMS0yMy4yLTI0IDAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRjMCA1LTEuNSA5LjctNC4yIDEzLjZMMTYwIDIyNCAyMTMuMSAxNzcuNmMtOC45LTQuMS0xNS0xMy4xLTE1LTIzLjYgMC0xNC40IDExLjYtMjYgMjYtMjZzMjYgMTEuNiAyNiAyNmMwIDEwLjUtNi4yIDE5LjUtMTUuMSAyMy42eiJdfSxKdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmltZW8tdiIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3ZCIsIk00NDcuOCAxNTMuNmMtMiA0My42LTMyLjQgMTAzLjMtOTEuNCAxNzkuMS02MC45IDc5LjItMTEyLjQgMTE4LjgtMTU0LjYgMTE4LjgtMjYuMSAwLTQ4LjItMjQuMS02Ni4zLTcyLjMtMzUuMi0xMjkuMi01MC4yLTIwNC45LTc5LjMtMjA0LjktMy40IDAtMTUuMSA3LjEtMzUuMiAyMS4xTDAgMTY4LjJjNTEuNi00NS4zIDEwMC45LTk1LjcgMTMxLjgtOTguNSAzNC45LTMuNCA1Ni4zIDIwLjUgNjQuNCA3MS41IDI4LjcgMTgxLjUgNDEuNCAyMDguOSA5My42IDEyNi43IDE4LjctMjkuNiAyOC44LTUyLjEgMzAuMi02Ny42IDQuOC00NS45LTM1LjgtNDIuOC02My4zLTMxIDIyLTcyLjEgNjQuMS0xMDcuMSAxMjYuMi0xMDUuMSA0NS44IDEuMiA2Ny41IDMxLjEgNjQuOSA4OS40eiJdfSxleHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RyYXZhIixpY29uOlszODQsNTEyLFtdLCJmNDI4IiwiTTE1OC40IDBMNyAyOTIgOTYuMiAyOTIgMTU4LjQgMTc1LjkgMjIwLjEgMjkyIDMwOC42IDI5MiAxNTguNCAwek0zMDguNiAyOTJsLTQzLjkgODguMi00NC42LTg4LjItNjcuNiAwIDExMi4yIDIyMCAxMTEuNS0yMjAtNjcuNiAweiJdfSx0eHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW5pcmVnaXN0cnkiLGljb246WzM4NCw1MTIsW10sImY0MDQiLCJNMTkyIDQ4MGMzOS41IDAgNzYuMi0xMS44IDEwNi44LTMyLjJsLTIxMy41IDBDMTE1LjggNDY4LjIgMTUyLjUgNDgwIDE5MiA0ODB6TTEwMi45IDI4Ni45bDAtMTIuNC0xMDIuOSAwIDAgMTIuNGMwIDIuNSAwIDUgLjEgNy40bDEwMy4xIDBjLS4yLTIuNC0uMy00LjktLjMtNy40em0yMC41IDU3bC0xMTQuOSAwYzIuNiA4LjUgNS44IDE2LjggOS42IDI0LjhsMTM4LjMgMGMtMTIuOS01LjctMjQuMS0xNC4yLTMzLTI0Ljh6bS0xNy43LTM0LjdsLTEwNC40IDBjLjkgNy42IDIuMiAxNSAzLjkgMjIuM2wxMDkuNyAwYy00LTYuOS03LjItMTQuNC05LjItMjIuM3ptLTIuOC02OS4zbC0xMDIuOSAwIDAgMTcuMyAxMDIuOSAwIDAtMTcuM3ptMC0xNzMuMmwtMTAyLjkgMCAwIDQuOSAxMDIuOSAwIDAtNC45em0wLTM0LjdsLTEwMi45IDAgMCAyLjUgMTAyLjkgMCAwLTIuNXptMCA2OS4zbC0xMDIuOSAwIDAgNy40IDEwMi45IDAgMC03LjR6bTAgMTA0bC0xMDIuOSAwIDAgMTQuOCAxMDIuOSAwIDAtMTQuOHptMC02OS4zbC0xMDIuOSAwIDAgOS45IDEwMi45IDAgMC05Ljl6bTAgMzQuNmwtMTAyLjkgMCAwIDEyLjQgMTAyLjkgMCAwLTEyLjR6TTI2OS4xIDMzMS41bDEwOS43IDBjMS44LTcuMyAzLjEtMTQuNyAzLjktMjIuM2wtMTA0LjQgMGMtMi4xIDcuOS01LjIgMTUuNC05LjIgMjIuM3ptMTItMTg1LjdsMTAyLjkgMCAwLTkuOC0xMDIuOSAwIDAgOS44em0wIDM3LjJsMTAyLjkgMCAwLTEyLjQtMTAyLjkgMCAwIDEyLjR6bTAtNzQuM2wxMDIuOSAwIDAtNy40LTEwMi45IDAgMCA3LjR6bTAtNzYuN2wwIDIuNSAxMDIuOSAwIDAtMi41LTEwMi45IDB6TTc4LjEgNDQyLjlsMjI3LjcgMGMxMS44LTguNyAyMi43LTE4LjYgMzIuMi0yOS43bC0yOTMuMSAwYzkuNiAxMSAyMS40IDIxIDMzLjIgMjkuN3ptMjAzLTM3MS4zbDEwMi45IDAgMC00LjktMTAyLjkgMCAwIDQuOXptMCAxNDguNWwxMDIuOSAwIDAtMTQuOC0xMDIuOSAwIDAgMTQuOHpNMzguOCA0MDUuN2wzMDUuMyAwYzYuNy04LjUgMTIuNi0xNy42IDE3LjgtMjcuMkwyMyAzNzguNWM1LjIgOS42IDkuMiAxOC43IDE1LjggMjcuMnptMTg4LjgtMzcuMWwxMzkuNCAwYzMuNy04IDUuOC0xNi4yIDguNS0yNC44bC0xMTUgMGMtOC44IDEwLjctMjAuMSAxOS4yLTMyLjkgMjQuOHptNTMuNS04MS43YzAgMi41LS4xIDUtLjQgNy40bDEwMy4xIDBjLjEtMi41IC4yLTQuOSAuMi03LjRsMC0xMi40LTEwMi45IDAgMCAxMi40em0wLTI5LjdsMTAyLjkgMCAwLTE3LjMtMTAyLjkgMCAwIDE3LjN6Il19LGF4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1kaW5lcnMtY2x1YiIsaWNvbjpbNTc2LDUxMixbXSwiZjI0YyIsIk0yMzkuNyA3OS45YTE3NS44IDE3NS44IDAgMSAwIDAgMzUxLjYgMTc1LjggMTc1LjggMCAxIDAgMC0zNTEuNnpNMTk5LjggMzU5LjVjLTQxLjctMTUuOS03MS40LTU2LjQtNzEuNC0xMDMuOHMyOS43LTg3LjkgNzEuNC0xMDQuMWwwIDIwNy45em03OS44IC4zbDAtMjA4LjJjNDEuNyAxNi4yIDcxLjQgNTYuNyA3MS40IDEwNC4xcy0yOS43IDg3LjktNzEuNCAxMDQuMXpNNTI4IDMyTDQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsNDgwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTMyOS43IDQ0OGwtOTAuMyAwQzEzMy4yIDQ0OCA0NS42IDM2Mi41IDQ1LjYgMjU3LjggNDUuNiAxNDMuMiAxMzMuMiA2NCAyMzkuNCA2NGw5MC4zIDBjMTA1IDAgMjAwLjcgNzkuMiAyMDAuNyAxOTMuOCAwIDEwNC43LTk1LjcgMTkwLjItMjAwLjcgMTkwLjJ6Il19LHJ4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJrdWJlcm5ldGVzIixpY29uOls1MTIsNTEyLFtdLCJlODU3IiwiTTI1NiAzMTYuMWMzLjUtLjEgNy4yIDIgOC45IDUuMUwyOTMgMzcxLjdjLTMuNiAxLjItNy4zIDIuMy0xMS4yIDMuMS0yMS40IDQuOS00Mi43IDMuNC02Mi0zLjJsMjcuOS01MC40YzEuNy0zLjEgNC45LTUgOC4yLTUuMXptNTAuNS0yMy40bDU3LjIgOS43Yy04LjQgMjMuNS0yNC40IDQzLjktNDUuOCA1Ny41bC0yMi4yLTUzLjZjLTItNC43IC4xLTEwLjQgNC44LTEyLjYgMS45LS45IDQuMS0xLjMgNi0uOXptLTg5LjEgNy43Yy41IDIuMSAuMyA0LjItLjUgNmwtMjEuOCA1My4zYy0yMC41LTEzLjItMzYuOS0zMi45LTQ1LjctNTcuMWw1Ni43LTkuNmM1LjEtLjkgMTAuMSAyLjQgMTEuMyA3LjV6bTU4LjgtNDFsLTMuOSAxNy4xLTE1LjggNy42LTE1LjktNy43LTQtMTcuMSAxMS0xMy43IDE3LjcgMCAxMSAxMy43em0tNzMuNy0xNi43YzMuOSAzLjQgNC40IDkuNSAxLjIgMTMuNi0xLjMgMS43LTMuMSAyLjgtNSAzLjNsLTU1LjMgMTYuMmMtMi44LTI1LjcgMy4zLTUwLjcgMTYuMS03MS42bDQzLjEgMzguNnptMTUwLjctMzguNWM2LjQgMTAuNCAxMS4yIDIyIDE0LjEgMzQuNiAyLjkgMTIuNCAzLjYgMjQuOCAyLjQgMzYuOGwtNTUuNi0xNmMtNS0xLjQtOC4xLTYuNy02LjktMTEuNyAuNS0yLjEgMS42LTMuOCAzLjEtNS4xbDQyLjktMzguNXptLTExMy44IDQuNGMtLjIgNS4yLTQuNyA5LjQtOS45IDkuNC0yLjEgMC00LjEtLjctNS43LTEuOGwtNDcuMy0zMy40YzE0LjUtMTQuMyAzMy4xLTI0LjggNTQuNS0yOS43IDMuOS0uOSA3LjgtMS42IDExLjctMmwtMy4zIDU3LjZ6bTMwLjgtNTcuNmMyNSAzLjEgNDguMSAxNC40IDY1LjggMzEuN2wtNDcuMSAzMy4yYy00LjIgMy0xMCAyLjMtMTMuMy0xLjgtMS4zLTEuNy0yLTMuNi0yLjEtNS42bC0zLjMtNTcuNXpNMjU0LjUtMS4zYzUuOS0uMyAxMS43IC45IDE3IDMuNEw0NTUgODkuN2M0LjcgMi4zIDguOSA1LjYgMTIuMiA5LjdzNS42IDguOCA2LjggMTMuOWw0NS4zIDE5Ni45YzEuMiA1LjEgMS4yIDEwLjQgMCAxNS41cy0zLjUgOS45LTYuOCAxMy45TDM4NS42IDQ5Ny42Yy0zLjMgNC4xLTcuNSA3LjQtMTIuMiA5LjZzLTEwIDMuNC0xNS4yIDMuNGwtMjAzLjYgMGMtNS4zIDAtMTAuNS0xLjItMTUuMi0zLjRzLTguOS01LjUtMTIuMi05LjZMLjIgMzM5LjdjLS43LS45LTEuNC0xLjgtMi0yLjgtMi42LTMuOS00LjMtOC4zLTUuMS0xMi45cy0uNy05LjMgLjMtMTMuOEwzOC43IDExMy40YzEuMi01LjEgMy41LTkuOSA2LjgtMTMuOXM3LjUtNy40IDEyLjItOS43TDI0MS4xIDIuMWM0LjItMiA4LjgtMy4yIDEzLjQtMy40em0xLjggNjdjLTYuMSAwLTExIDUuNS0xMSAxMi4yIDAgLjEgMCAuMiAwIC4zIDAgLjktLjEgMiAwIDIuOCAuMSAzLjkgMSA2LjkgMS41IDEwLjQgLjkgNy43IDEuNyAxNCAxLjIgMTkuOS0uNSAyLjItMi4xIDQuMy0zLjYgNS43bC0uMiA0LjZjLTYuNiAuNS0xMy4yIDEuNi0xOS44IDMuMS0yOC41IDYuNS01My4xIDIxLjEtNzEuOCA0MS0xLjItLjgtMy4zLTIuMy00LTIuOC0yIC4zLTQgLjktNi41LS42LTQuOS0zLjMtOS40LTcuOS0xNC44LTEzLjQtMi41LTIuNi00LjMtNS4xLTcuMi03LjctLjctLjYtMS43LTEuNC0yLjQtMi0yLjMtMS44LTUtMi44LTcuNy0yLjktMy40LS4xLTYuNiAxLjItOC44IDMuOS0zLjggNC43LTIuNSAxMiAyLjcgMTYuMiAuMSAwIC4xIC4xIC4yIC4xIC43IC42IDEuNiAxLjMgMi4zIDEuOCAzLjEgMi4zIDYgMy41IDkuMSA1LjMgNi42IDQuMSAxMiA3LjQgMTYuMyAxMS41IDEuNyAxLjggMiA0LjkgMi4yIDYuM2wzLjUgMy4yYy0xOC44IDI4LjQtMjcuNiA2My40LTIyLjQgOTkuMWwtNC42IDEuM2MtMS4yIDEuNi0yLjkgNC00LjcgNC43LTUuNiAxLjgtMTIgMi40LTE5LjcgMy4zLTMuNiAuMy02LjcgLjEtMTAuNSAuOC0uOCAuMi0yIC40LTIuOSAuN2wtLjEgMC0uMiAuMWMtNi41IDEuNi0xMC43IDcuNS05LjMgMTMuNCAxLjMgNS45IDcuNyA5LjQgMTQuMiA4bC4yIDBjLjEgMCAuMS0uMSAuMi0uMSAuOS0uMiAyLjEtLjQgMi44LS42IDMuOC0xIDYuNS0yLjUgOS44LTMuOCA3LjMtMi42IDEzLjMtNC44IDE5LjItNS42IDIuNC0uMiA1IDEuNSA2LjMgMi4ybDQuOC0uOGMxMSAzNC4xIDM0LjEgNjEuNyA2My4zIDc5LjFsLTIgNC44Yy43IDEuOSAxLjUgNC40IDEgNi4yLTIuMSA1LjUtNS44IDExLjQtOS45IDE3LjktMiAzLTQuMSA1LjMtNS45IDguOC0uNCAuOC0xIDIuMS0xLjQgMy0yLjggNi0uOCAxMyA0LjcgMTUuNiA1LjUgMi42IDEyLjItLjEgMTUuMi02LjJsMCAwYy40LS45IDEtMiAxLjQtMi44IDEuNi0zLjYgMi4xLTYuNiAzLjItMTAuMSAyLjktNy4zIDQuNS0xNC45IDguNS0xOS43IDEuMS0xLjMgMi45LTEuOCA0LjgtMi4zbDIuNS00LjVjMjUuNSA5LjggNTQgMTIuNCA4Mi41IDUuOSA2LjUtMS41IDEyLjgtMy40IDE4LjgtNS43IC43IDEuMiAyIDMuNiAyLjMgNC4yIDEuOSAuNiAzLjkgLjkgNS42IDMuNCAzIDUuMSA1IDExLjIgNy41IDE4LjUgMS4xIDMuNCAxLjYgNi41IDMuMiAxMC4xIC40IC44IDEgMiAxLjQgMi44IDIuOSA2LjEgOS43IDguOCAxNS4yIDYuMiA1LjQtMi42IDcuNS05LjYgNC43LTE1LjYtLjQtLjktMS0yLjEtMS40LTMtMS44LTMuNC0zLjktNS43LTUuOS04LjctNC4yLTYuNS03LjYtMTEuOS05LjgtMTcuNC0uOS0yLjggLjItNC42IC44LTYuNS0uNC0uNS0xLjMtMy4yLTEuOC00LjQgMzAuNC0xNy45IDUyLjgtNDYuNiA2My4zLTc5LjYgMS40IC4yIDMuOSAuNyA0LjcgLjggMS43LTEuMSAzLjItMi41IDYuMi0yLjMgNS45IC44IDExLjkgMyAxOS4yIDUuNiAzLjQgMS4zIDYuMSAyLjggOS44IDMuOCAuOCAuMiAxLjkgLjQgMi44IC42IC4xIDAgLjEgMCAuMiAuMWwuMiAwYzYuNSAxLjQgMTIuOC0yLjIgMTQuMi04cy0yLjgtMTEuOC05LjMtMTMuNGMtLjktLjItMi4zLS42LTMuMi0uNy0zLjgtLjctNi45LS41LTEwLjUtLjgtNy43LS44LTE0LTEuNC0xOS43LTMuMi0yLjMtLjktNC0zLjctNC44LTQuOGwtNC40LTEuM2MyLjMtMTYuNiAxLjctMzMuOS0yLjMtNTEuMy00LTE3LjUtMTEuMS0zMy41LTIwLjYtNDcuNiAxLjEtMSAzLjMtMi45IDMuOS0zLjUgLjItMiAwLTQgMi4xLTYuMiA0LjMtNC4xIDkuOC03LjQgMTYuMy0xMS41IDMuMS0xLjggNi0zIDkuMS01LjMgLjctLjUgMS43LTEuMyAyLjQtMS45IDUuMy00LjIgNi41LTExLjQgMi43LTE2LjJzLTExLjEtNS4yLTE2LjQtMWMtLjcgLjYtMS44IDEuNC0yLjQgMi0yLjkgMi41LTQuOCA1LTcuMiA3LjctNS40IDUuNS05LjkgMTAuMS0xNC44IDEzLjQtMi4xIDEuMi01LjMgLjgtNi43IC43bC00LjIgM2MtMjMuOC0yNS01Ni4yLTQxLTkxLjItNDQuMS0uMS0xLjUtLjItNC4xLS4yLTQuOS0xLjQtMS40LTMuMi0yLjUtMy42LTUuNS0uNS01LjkgLjMtMTIuMyAxLjMtMTkuOSAuNS0zLjYgMS40LTYuNiAxLjUtMTAuNCAwLS45IDAtMi4yIDAtMy4xIDAtNi43LTQuOS0xMi4yLTExLTEyLjJ6Il19LHN4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaW50ZXJlc3QiLGljb246WzUxMiw1MTIsW10sImYwZDIiLCJNNTA0IDI1NmMwIDEzNy0xMTEgMjQ4LTI0OCAyNDgtMjUuNiAwLTUwLjItMy45LTczLjQtMTEuMSAxMC4xLTE2LjUgMjUuMi00My41IDMwLjgtNjUgMy0xMS42IDE1LjQtNTkgMTUuNC01OSA4LjEgMTUuNCAzMS43IDI4LjUgNTYuOCAyOC41IDc0LjggMCAxMjguNy02OC44IDEyOC43LTE1NC4zIDAtODEuOS02Ni45LTE0My4yLTE1Mi45LTE0My4yLTEwNyAwLTE2My45IDcxLjgtMTYzLjkgMTUwLjEgMCAzNi40IDE5LjQgODEuNyA1MC4zIDk2LjEgNC43IDIuMiA3LjIgMS4yIDguMy0zLjMgLjgtMy40IDUtMjAuMyA2LjktMjguMSAuNi0yLjUgLjMtNC43LTEuNy03LjEtMTAuMS0xMi41LTE4LjMtMzUuMy0xOC4zLTU2LjYgMC01NC43IDQxLjQtMTA3LjYgMTEyLTEwNy42IDYwLjkgMCAxMDMuNiA0MS41IDEwMy42IDEwMC45IDAgNjcuMS0zMy45IDExMy42LTc4IDExMy42LTI0LjMgMC00Mi42LTIwLjEtMzYuNy00NC44IDctMjkuNSAyMC41LTYxLjMgMjAuNS04Mi42IDAtMTktMTAuMi0zNC45LTMxLjQtMzQuOS0yNC45IDAtNDQuOSAyNS43LTQ0LjkgNjAuMiAwIDIyIDcuNCAzNi44IDcuNCAzNi44cy0yNC41IDEwMy44LTI5IDEyMy4yQzE2MS41IDQzNy4yIDE2My41IDQ2Ny40IDE2NS42IDQ4NyA3My40IDQ1MC45IDggMzYxLjEgOCAyNTYgOCAxMTkgMTE5IDggMjU2IDhTNTA0IDExOSA1MDQgMjU2eiJdfSxpeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYWxnb2xpYSIsaWNvbjpbNTEyLDUxMixbXSwiZjM2YyIsIk0yNTYgMGMtMTM5LjkgMC0yNTQgMTEyLjctMjU2IDI1Mi4xLTIgMTQxLjUgMTEyLjkgMjU4LjcgMjU0LjUgMjU5LjUgNDMuNyAuMyA4NS45LTEwLjQgMTIzLjMtMzAuNyAzLjYtMiA0LjItNyAxLjEtOS43bC0yNC0yMS4yYy00LjktNC4zLTExLjgtNS41LTE3LjgtMy0yNi4xIDExLjEtNTQuNSAxNi44LTgzLjcgMTYuNC0xMTQuNC0xLjUtMjA2LjktOTYuNi0yMDUuMS0yMTEgMS44LTExMi45IDk0LjMtMjA0LjIgMjA3LjctMjA0LjJsMjA3LjcgMCAwIDM2OS0xMTcuOC0xMDQuN2MtMy44LTMuNC05LjctMi43LTEyLjcgMS4zLTE4LjkgMjUtNDkuNyA0MC42LTgzLjkgMzguMi00Ny41LTMuMy04NS45LTQxLjUtODkuNS04OC45LTQuMi01Ni42IDQwLjYtMTAzLjkgOTYuMy0xMDMuOSA1MC40IDAgOTEuOSAzOC44IDk2LjIgODggLjQgNC40IDIuNCA4LjUgNS43IDExLjRsMzAuNyAyNy4yYzMuNSAzLjEgOSAxLjIgOS45LTMuNCAyLjItMTEuOCAzLTI0LjIgMi4xLTM2LjgtNC45LTcyLTYzLjMtMTMwLTEzNS40LTEzNC40LTgyLjctNS4xLTE1MS44IDU5LjUtMTU0IDE0MC42LTIuMSA3OC45IDYyLjYgMTQ3IDE0MS42IDE0OC43IDMzIC43IDYzLjYtOS42IDg4LjMtMjcuNkw0OTUgNTA5LjRjNi42IDUuOCAxNyAxLjIgMTctNy43bDAtNDkyYzAtNS40LTQuNC05LjctOS43LTkuN0wyNTYgMHoiXX0sb3h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0YWNrcGF0aCIsaWNvbjpbNDQ4LDUxMixbXSwiZjg0MiIsIk0yNDQuNiAyMzIuNGMwIDguNS00LjMgMjAuNS0yMS4zIDIwLjVsLTE5LjYgMCAwLTQxLjUgMTkuNiAwYzE3LjEgMCAyMS4zIDEyLjQgMjEuMyAyMXpNNDQ4IDMybDAgNDQ4LTQ0OCAwIDAtNDQ4IDQ0OCAwek0xNTEuMyAyODcuOGMwLTIxLjItMTIuMS0zNC41LTQ2LjctNDQuOC0yMC42LTcuNC0yNi0xMC45LTI2LTE4LjZzNy0xNC42IDIwLjQtMTQuNmMxNC4xIDAgMjAuOCA4LjQgMjAuOCAxOC40bDMwLjcgMCAuMi0uNmMuNS0xOS42LTE1LjEtNDEuNi01MS4xLTQxLjYtMjMuNCAwLTUyLjYgMTAuOC01Mi42IDM4LjMgMCAxOS40IDkuMiAzMS4zIDUwLjcgNDQuNCAxNy4zIDYuMiAyMS45IDEwLjQgMjEuOSAxOS41IDAgMTUuMi0xOS4xIDE0LjItMTkuNSAxNC4yLTIwLjQgMC0yNS43LTkuMS0yNS43LTIxLjlsLTMwLjggMC0uMiAuNmMtLjcgMzEuMyAyOC40IDQ1LjIgNTYuNiA0NS4yIDMwIDAgNTEuMS0xMy42IDUxLjEtMzguM3ptMTI1LjQtNTUuNmMwLTI1LjMtMTguNC00NS41LTUzLjQtNDUuNWwtNTEuOCAwIDAgMTM4LjIgMzIuMiAwIDAtNDcuNCAxOS42IDBjMzAuMyAwIDUzLjQtMTYgNTMuNC00NS40ek0yOTcuOSAzMjVsNDkuMS0xMzguMi0zMS4xIDAtNDcuOSAxMzguMiAyOS45IDB6TTQwNC41IDE4Ni44bC0zMS4xIDAtNDcuOSAxMzguMiAyOS45IDAgNDkuMS0xMzguMnoiXX0sbnh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9jdG9wdXMtZGVwbG95IixpY29uOls1MTIsNTEyLFtdLCJlMDgyIiwiTTQ1NS43IDM0OS4yYy00NS45LTM5LjEtMzYuNy03Ny45LTE2LjEtMTI4LjEgMzUuNy04Ny0yMy41LTE4Ni45LTEwOS42LTIxMi44LTkyLjktMjcuOS0xOTUuNyAxNi0yMzAuMyAxMDguOC04LjcgMjMuNS0xMi41IDQ4LjUtMTEgNzMuNSAxLjcgMjkuNSAxNC43IDUzIDI0LjEgODAuMyAxNy4yIDUwLjItMjguMSA5Mi43LTY2LjcgMTE3LjYtNDYuOCAzMC4yLTM2LjMgMzkuOS04LjQgNDEuOSAyMy40IDEuNyA0NC41LTQuNSA2NS4zLTE1IDkuMi00LjYgNDAuNy0xOC45IDQ1LjEtMjguNi0xMi4yIDI2LjYtMzcgNzIuNy0yMS41IDEwMi4xIDE5LjEgMzYuMiA2Ny4xLTMxLjggNzYuNy00NS44IDguNi0xMi42IDQzLTgxLjMgNjMuNi00Ni45IDE4LjkgMzEuNCA4LjYgNzYuNCAzNS43IDEwNC42IDMyLjkgMzQuMiA1MS4yLTE4LjMgNTEuNC00NC4yIC4yLTE2LjQtNi4xLTk1LjkgMjkuOS01OS45IDIxLjQgMjEuNCA1Mi45IDcxLjIgODguNiA2NyAzOC43LTQuNS0yMi4xLTY4LTI4LjMtNzguNyA1LjQgNC4zIDUzLjcgMzQuMSA1My44IDkuNSAuMS0xOC44LTMwLjEtMzQuNy00Mi41LTQ1LjN6Il19LGx4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ5YW1tZXIiLGljb246WzUxMiw1MTIsW10sImY4NDAiLCJNNTAwLjcgMTU5LjVjLS40LTEuOC0xLjItMy40LTIuMy00LjhzLTIuNS0yLjYtNC4xLTMuNWMtMy4xLTEuNi02LjctMi0xMC4xLTEuMWwtMjYuNCA2LjYgMC0uMi0yMi4zIDUuOC0xLjIgLjMtLjYtMi4yYy0xNS41LTU4LjMtNDUtMTExLjktODYuMS0xNTYuMi0yLjYtMi43LTYuMS00LjItOS44LTQuM3MtNy4zIDEuMy0xMCAzLjhsLTEwMi45IDEwMi43LTE5OS45IDBjLTYuNiAwLTEyLjkgMi42LTE3LjYgNy4zUzAgMTI0LjggMCAxMzEuNGwwIDI0OUMwIDM4NyAyLjYgMzkzLjMgNy4zIDM5OHMxMSA3LjMgMTcuNiA3LjNMMjI1IDQwNS4zIDMyOC4xIDUwOGMyLjYgMi42IDYgNCA5LjcgNHM3LjEtMS40IDkuNy00Yy4xLS4xIC4yLS4zIC40LS40IDI5LjMtMzEuNSA1Mi44LTY3LjggNjkuNi0xMDcuNCA2LjktMTYuNSAxMi43LTMzLjUgMTcuMy01MC44bDAgMCAyMC40IDUuMyAwLS4xIDI4LjMgNy4zYy45IC4yIDEuNyAuNCAyLjYgLjUgMS40IC4yIDIuOCAuMiA0LjEtLjEgMi41LS41IDQuOC0xLjcgNi43LTMuNHMzLjItNCAzLjgtNi41YzE1LjItNjMuNCAxNS4yLTEyOS42IC4xLTE5M2wwIDB6TTMzNy4xIDI0LjdsMCAwIDAgMCAwIDB6TTIyNi45IDE4OS44bC01Mi42IDkxLjNjLTEgMS43LTEuNSAzLjctMS41IDUuN2wwIDQ2LjJjMCA1LjgtMi4zIDExLjQtNi41IDE1LjZzLTkuNyA2LjQtMTUuNiA2LjRsLTMuNCAwYy01LjggMC0xMS40LTIuMy0xNS42LTYuNHMtNi41LTkuNy02LjUtMTUuNmwwLTQ1LjdjMC0xLjktLjUtMy44LTEuNC01LjVMNzIuMyAxODkuNmMtMS45LTMuNC0yLjgtNy4xLTIuOC0xMXMxLjEtNy42IDMtMTAuOSA0LjctNi4xIDguMS04IDcuMS0yLjkgMTEtMi45bDMuMyAwYzQgMCA4IDEuMSAxMS41IDMuMnM2LjMgNS4xIDguMSA4LjdsMzYuNCA3MC4zIDM3LjUtNzAuNWMxLjgtMy41IDQuNi02LjQgNy45LTguNHM3LjItMy4yIDExLjEtMy4yIDcuOCAuOSAxMS4yIDIuOCA2LjMgNC43IDguMiA4LjFjMiAzLjMgMyA3LjEgMyAxMXMtMSA3LjctMyAxMWwwIDB6TTMzNy4xIDI0LjdjMzUuOSA0MC42IDYxLjkgODkgNzUuOCAxNDEuM2wuNiAyLTExNC4xIDI5LjYgMC02Ni4xYzAtNi42LTIuNy0xMi45LTcuMy0xNy42cy0xMS03LjMtMTcuNi03LjNsLTE5LjQgMCA4Mi4xLTgxLjh6TTM5Ny42IDM5MmwwIDAgMCAwYy0xNC43IDM0LjgtMzUuMSA2Ny02MC4yIDk1LjJsLTgyLjItODEuOSAxOS4yIDBjNi42IDAgMTIuOS0yLjYgMTcuNi03LjNzNy4zLTExIDcuMy0xNy42bDAtNjYuMiAxMTQuNiAyOS45Yy00LjQgMTYuMy05LjggMzIuMy0xNi4zIDQ3LjlsMCAwem04NC01Mi40bDAgMC01MC42LTEzLjEtMTMxLjctMzQuMyAwLTcyLjUgMTE5LjctMzEgNC41LTEuMmMyOS45LTcuNyA0OS4yLTEyLjggNTguMS0xNS4xIDEyIDU1LjEgMTIgMTEyLjEgMCAxNjcuMnoiXX0sY3h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1vZHgiLGljb246WzQ0OCw1MTIsW10sImYyODUiLCJNMzU2IDI0MS44bDM2LjcgMjMuNyAwIDIxNC41LTEzMy04My44IDk2LjMtMTU0LjR6TTQ0MCA3NWwtMjEzLjcgMC0yMyAzNy44IDE1My41IDk2LjUgODMuMi0xMzQuM3pNMzUxIDIxNy44bC0yOTUuOC0xODUuOCAwIDIxNC41IDQ2IDI5IDI0OS44LTU3Ljd6TTk3IDI5NC4yTDggNDM3IDIyMS43IDQzNyAzNDYuNyAyMzYuNSA5NyAyOTQuMnoiXX0sZHh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS10aHJlYWRzIixpY29uOls0NDgsNTEyLFtdLCJlNjE5IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTI5NC4yIDI0NC4zYzE5LjUgOS4zIDMzLjcgMjMuNSA0MS4yIDQwLjkgMTAuNCAyNC4zIDExLjQgNjMuOS0yMC4yIDk1LjQtMjQuMiAyNC4xLTUzLjUgMzUtOTUuMSAzNS4zbC0uMiAwYy00Ni44LS4zLTgyLjgtMTYuMS0xMDYuOS00Ni44LTIxLjUtMjcuMy0zMi42LTY1LjQtMzMtMTEzLjFsMC0uMmMuNC00Ny43IDExLjUtODUuNyAzMy0xMTMuMSAyNC4yLTMwLjcgNjAuMi00Ni41IDEwNi45LTQ2LjhsLjIgMGM0Ni45IC4zIDgzLjMgMTYgMTA4LjIgNDYuNiAxMi4zIDE1LjEgMjEuMyAzMy4zIDI3IDU0LjRsLTI2LjkgNy4yYy00LjctMTcuMi0xMS45LTMxLjktMjEuNC00My42LTE5LjQtMjMuOS00OC43LTM2LjEtODctMzYuNC0zOCAuMy02Ni44IDEyLjUtODUuNSAzNi4yLTE3LjUgMjIuMy0yNi42IDU0LjQtMjYuOSA5NS41IC4zIDQxLjEgOS40IDczLjMgMjYuOSA5NS41IDE4LjcgMjMuOCA0Ny40IDM2IDg1LjUgMzYuMiAzNC4zLS4zIDU2LjktOC40IDc1LjgtMjcuMyAyMS41LTIxLjUgMjEuMS00Ny45IDE0LjItNjQtNC05LjQtMTEuNC0xNy4zLTIxLjMtMjMuMy0yLjQgMTgtNy45IDMyLjItMTYuNSA0My4yLTExLjQgMTQuNS0yNy43IDIyLjQtNDguNCAyMy41LTE1LjcgLjktMzAuOC0yLjktNDIuNi0xMC43LTEzLjktOS4yLTIyLTIzLjItMjIuOS0zOS41LTEuNy0zMi4yIDIzLjgtNTUuMyA2My41LTU3LjYgMTQuMS0uOCAyNy4zLS4yIDM5LjUgMS45LTEuNi05LjktNC45LTE3LjctOS44LTIzLjQtNi43LTcuOC0xNy4xLTExLjgtMzAuOC0xMS45bC0uNCAwYy0xMSAwLTI2IDMuMS0zNS42IDE3LjZsLTIzLTE1LjhjMTIuOC0xOS40IDMzLjYtMzAuMSA1OC41LTMwLjFsLjYgMGM0MS44IC4zIDY2LjYgMjYuMyA2OS4xIDcxLjggMS40IC42IDIuOCAxLjIgNC4yIDEuOWwuMSAuNXptLTcxLjggNjcuNWMxNy0uOSAzNi40LTcuNiAzOS43LTQ4LjgtOC44LTEuOS0xOC42LTIuOS0yOS0yLjktMy4yIDAtNi40IC4xLTkuNiAuMy0yOC42IDEuNi0zOC4xIDE1LjUtMzcuNCAyNy45IC45IDE2LjcgMTkgMjQuNSAzNi40IDIzLjZsLS4xLS4xeiJdfSx1eHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib2xkLXJlcHVibGljIixpY29uOls1MTIsNTEyLFtdLCJmNTEwIiwiTTI0My44IDEwLjJjNy41LS4zIDE1LS4zIDIyLjUtLjEgMy42IC4xIDcuMiAuNCAxMC44IC43IDQuOSAuMyA5LjggMSAxNC43IDEuNiAyLjkgLjQgNS44IDEgOC43IDEuNSA3LjkgMS4zIDE1LjcgMy4zIDIzLjQgNS40IDEyLjIgMy41IDI0LjIgNy45IDM1LjggMTMuMiAyNi42IDEyLjIgNTAuOSAyOS4yIDcxLjYgNDkuOSAyMCAyMC4xIDM2LjcgNDMuNSA0OC45IDY5LjIgMS4xIDIuNiAyLjQgNS4xIDMuNSA3LjcgMi44IDYuNCA1LjQgMTMgNy42IDE5LjYgNC4xIDEyLjMgNy4zIDI1IDkuNCAzNy44IC42IDMuMSAxIDYuMyAxLjQgOS41IC41IDMuOCAuOSA3LjcgMS4yIDExLjYgLjggOC4zIC44IDE2LjcgLjggMjUuMS0uMSA1LS4zIDkuOS0uNyAxNC45LS4yIDMuNC0uNSA2LjgtMSAxMC4xLS40IDIuNy0uNiA1LjUtMS4xIDguMi0uOSA1LjEtMS43IDEwLjMtMi45IDE1LjQtNC4xIDE4LjUtMTAuMyAzNi42LTE4LjUgNTMuNi0xNS44IDMyLjgtMzguOCA2Mi4yLTY3LjEgODUuMS0xNy4zIDE0LjEtMzYuNCAyNS45LTU2LjkgMzQuOS02LjIgMi43LTEyLjUgNS4zLTE4LjkgNy40LTMuNSAxLjItNyAyLjQtMTAuNiAzLjQtNi42IDEuOS0xMy4zIDMuNi0yMCA1LTQuNyAuOS05LjMgMS43LTE0IDIuNS01LjMgLjctMTAuNSAxLjQtMTUuOCAxLjctNi43IC43LTEzLjQgLjgtMjAuMSAuOC02LjggMC0xMy42LS4xLTIwLjQtLjgtMy4zLS4yLTYuNi0uNS05LjgtMS0yLjctLjQtNS41LS42LTguMi0xLjEtNC4xLS43LTguMi0xLjQtMTIuNC0yLjItNC4yLS45LTguNS0xLjktMTIuNy0zLTguNi0yLjItMTcuMS01LTI1LjQtOC4xLTEwLjUtNC4xLTIwLjgtOC43LTMwLjYtMTQuMi0yLjEtMS4yLTQuMy0yLjMtNi40LTMuNi0xMS4yLTYuNi0yMS45LTE0LjEtMzEuOS0yMi4zLTM0LjctMjguNC02MS40LTY2LjQtNzYuNC0xMDguNy0zLjEtOC43LTUuNy0xNy42LTcuOC0yNi43LTEuNS02LjItMi41LTEyLjQtMy42LTE4LjctLjQtMi4zLS42LTQuNy0xLTcuMS0uNi00LS44LTgtMS4yLTExLjktLjgtOS41LS43LTE5LS41LTI4LjUgLjEtMy41IC4zLTcgLjctMTAuNSAuMy0zLjIgLjUtNi40IC45LTkuNSAuNC0yLjggLjctNS42IDEuMi04LjQgLjctMy45IDEuMy03LjkgMi4xLTExLjggMy40LTE2LjUgOC41LTMyLjcgMTUuMy00OC4yIDEuMi0yLjkgMi42LTUuNyAzLjktOC42IDguMS0xNi43IDE3LjktMzIuNiAyOS41LTQ3LjEgMjAtMjUuNCA0NS4xLTQ2LjcgNzMuMy02Mi41IDcuNS00LjIgMTUuMi04IDIzLjEtMTEuNCAxNS44LTYuOSAzMi40LTEyIDQ5LjMtMTUuNCAzLjUtLjcgNy0xLjIgMTAuNi0xLjggMi42LS41IDUuMy0uNyA3LjktMS4xIDMuNS0uNSA3LjEtLjcgMTAuNi0xIDIuNS0uMiA0LjktLjQgNy40LS41em04LjYgMjQuNGMtOS4yIC4xLTE4LjQgMS0yNy42IDIuMi03LjMgMS4xLTE0LjUgMi42LTIxLjcgNC4zLTEzLjkgMy41LTI3LjUgOC4zLTQwLjUgMTQuNC0xMC41IDUtMjAuNiAxMC43LTMwLjIgMTcuMi00LjIgMi45LTguNCA1LjgtMTIuMyA5LTUuMSA0LTEwIDguMi0xNC43IDEyLjYtMi41IDIuMi00LjggNC43LTcuMiA3LjEtMjguMiAyOC44LTQ4LjQgNjUuNC01Ny41IDEwNC43LTIgOC40LTMuNSAxNy00LjQgMjUuNi0xLjEgOC45LTEuNCAxNy45LTEuNCAyNi44IC4xIDcuMSAuNCAxNC4zIDEuMiAyMS40IC42IDcuMSAxLjkgMTQuMiAzLjIgMjEuMiAxLjEgNC42IDIgOS4zIDMuMyAxMy45IDYuMyAyMy40IDE2LjUgNDUuNyAzMC4xIDY1LjggOC42IDEzIDE4LjggMjQuOSAzMCAzNS44IDE2LjMgMTUuOCAzNSAyOSA1NS4zIDM5LjIgNy4zIDMuNSAxNC43IDYuOSAyMi4zIDkuNiA1IDEuOCAxMC4xIDMuNiAxNS4yIDUgMTEuMyAzLjIgMjIuOCA1LjYgMzQuNCA3LjEgMi45IC4zIDUuOCAuNiA4LjcgLjkgMTMuOCAxLjEgMjcuNyAxIDQxLjUtLjQgNC40LS42IDguOS0xIDEzLjMtMS44IDMuNi0uNyA3LjMtMS4yIDEwLjktMi4xIDQuMS0xIDguMy0xLjkgMTIuNC0zLjEgMjYuNS03LjMgNTEuNi0xOS43IDczLjYtMzYuMiAxNS44LTExLjggMzAtMjUuOCA0Mi4xLTQxLjMgMy4zLTQgNi4yLTguMyA5LjEtMTIuNiAzLjQtNS4xIDYuNi0xMC4yIDkuNi0xNS41IDIuNC00LjQgNC43LTguOSA3LTEzLjQgNS43LTEyLjEgMTAuMy0yNC42IDEzLjgtMzcuNSAyLjYtMTAgNC43LTIwLjIgNS45LTMwLjQgMS44LTEzLjUgMS45LTI3LjEgMS4zLTQwLjctLjMtMy45LS43LTcuOC0xLTExLjctMi4yLTE5LjEtNi44LTM3LjktMTMuOC01NS44LTYtMTUuMS0xMy41LTI5LjYtMjIuNi00My4xLTEyLjctMTguOC0yOC4yLTM1LjctNDYtNDkuOC0yNS0yMC01NC41LTM0LjUtODUuNi00Mi4xLTcuOC0xLjktMTUuNy0zLjMtMjMuNi00LjQtMy45LS42LTcuOC0uOC0xMS44LTEuMi03LjQtLjYtMTQuOC0uNy0yMi4yLS42ek0xNDcuMyA4My41YzEzLjMtOC45IDI4LjEtMTUuNCA0My4zLTIwLjItMy4yIDEuOC02LjQgMy40LTkuNSA1LjMtMTEuMiA2LjctMjEuNSAxNC45LTMwLjQgMjQuNS02LjggNy40LTEyLjggMTUuNy0xNyAyNC45LTMuMyA2LjktNS42IDE0LjItNi45IDIxLjctLjkgNC44LTEuMyA5LjgtMS4yIDE0LjggLjEgMTMuNyA0LjQgMjcuMSAxMS4zIDM4LjggNS45IDEwLjIgMTMuNiAxOS4zIDIyLjQgMjcuMyA0LjkgNC40IDEwLjIgOC4xIDE1IDEyLjYgMi4zIDIuMiA0LjUgNC40IDYuNCA2LjkgMi42IDMuMyA0LjkgNyA2IDExLjEgLjkgMyAuNyA2LjIgLjcgOS4zIDAgNC4xIDAgOC4yIDAgMTIuMyAuMSAzLjUgMCA3LjEgLjEgMTAuNiAuMSAyLjQgMCA0LjggLjEgNy4xIC4yIDUuOCAuMSAxMS41IC4xIDE3LjMgLjEgMi45IDAgNS44IC4xIDguNyAwIDEuNiAuMSAzLjMgMCA0LjktLjkgLjEtMS44IC4yLTIuNyAuMi0xMSAwLTIxLjktMi42LTMyLTYuOS02LTIuNy0xMS44LTUuOS0xNy4xLTkuOC01LjgtNC4yLTExLjEtOS0xNS44LTE0LjMtNi41LTcuMi0xMi0xNS40LTE2LjYtMjMuOS0xLjEtMi0yLjItNC0zLjItNi4xLTEuMi0yLjYtMi42LTUuMS0zLjctNy44LTQtOS43LTYuNi0xOS45LTguMS0zMC4zLS41LTQuNC0xLjEtOC45LTEuMi0xMy4zLS43LTE1LjcgLjgtMzEuNiA0LjctNDYuOCAyLjEtOC4yIDQuOC0xNi4yIDguMy0yMy44IDYuMy0xNC4yIDE1LjMtMjcuMiAyNi4zLTM4LjIgNi4zLTYuMiAxMy4xLTExLjggMjAuNS0xNi43ek0zMjIuNyA2My40YzIuNyAuNyA1LjQgMS43IDguMSAyLjcgNi40IDIuMyAxMi43IDQuOCAxOC43IDggMTMuMSA2LjQgMjUuMyAxNC44IDM1LjggMjUgMTAuMiAxMCAxOC43IDIxLjYgMjUuMSAzNC4zIDEuMyAyLjcgMi42IDUuNSAzLjggOC4zIDYuMyAxNS4xIDEwIDMxLjMgMTEuMiA0Ny42IC40IDQuNSAuNCA5LjEgLjUgMTMuNiAuMSAxMS42LTEuNSAyMy4zLTQuMyAzNC41LTIgNy4zLTQuMyAxNC41LTcuOSAyMS4yLTMuMiA2LjYtNi43IDEzLjItMTAuOCAxOS4yLTYuOSAxMC41LTE1LjYgMTkuOS0yNS44IDI3LjItMTAuNSA3LjYtMjIuNiAxMy0zNS40IDE1LjQtMy41IC43LTcuMSAxLjEtMTAuNyAxLjItMS44IC4xLTMuNyAuMi01LjYtLjEtLjMtMi4xIDAtNC4zIDAtNi41IDAtMy43IC4xLTcuNCAuMS0xMS4yIC4yLTcgMC0xNC4xIC4yLTIxLjEgMC0yLjQgMC00LjggMC03LjEgLjItNS4xIDAtMTAuMSAuMS0xNS4yIC4xLTMtLjItNiAuNS05IC43LTIuNSAxLjgtNC45IDMuMS03LjEgNC41LTcuMyAxMS4xLTEzIDE3LjctMTguMyA1LjQtNC4yIDEwLjUtOC44IDE1LTEzLjggNy43LTguNCAxNC4yLTE3LjkgMTguOC0yOC4zIDIuNS01LjkgNC41LTEyLjEgNS41LTE4LjUgLjktNC40IDEuMS04LjggMS0xMy4zIDAtNy44LTEuNC0xNS42LTMuNi0yMy4yLTEuOC01LjctNC4zLTExLjItNy4xLTE2LjQtMy45LTYuOS04LjYtMTMuMy0xNC0xOS4yLTkuOS0xMC44LTIxLjgtMTkuOS0zNC42LTI3LjEtMS44LTEtMy44LTEuOC01LjYtM3pNMjIxLjkgMTIxLjljMS0xLjIgMi0yLjMgMy4xLTMuNC0uNiAuOS0xLjMgMS44LTIgMi43LTMuMSAzLjktNS41IDguMy03IDEzLjEtLjkgMy4zLTEuNyA2LjYtMS43IDEwLS4xIDIuNS0uMSA1LjEgLjMgNy42IDEuMSA3LjYgNC4zIDE0LjkgOC44IDIxLjEgMiAyLjcgNC4yIDUuMyA2LjkgNy4zIDEuNiAxLjMgMy41IDIuMSA1LjMgMyAzLjEgMS43IDYuMyAzLjIgOS4xIDUuNSAyLjcgMi4xIDQuNiA1LjMgNC40IDguOCAwIDczLjcgMCAxNDcuMyAwIDIyMSAwIDEuNC0uMSAyLjcgMCA0IC4xIDEuNSAuOCAyLjggMS41IDQuMSAuOSAxLjcgMS44IDMuMyAzLjIgNC42IC45IC44IDIgMS40IDMuMiAxLjIgMS41LS4yIDIuNy0xLjQgMy40LTIuNiAxLTEuNSAxLjctMy4yIDIuMy00LjkgLjgtMi4xIC40LTQuNCAuNS02LjYgLjEtNCAwLTguMSAuMS0xMi4xIDAtNS45IDAtMTEuOCAuMS0xNy43IC4xLTMuNiAwLTcuMiAuMS0xMC45IC4yLTQgMC04LjEgLjEtMTIuMSAwLTYgMC0xMiAuMS0xOCAuMS0zLjYgMC03LjIgLjEtMTAuOSAuMS0zLjkgMC03LjkgLjEtMTEuOCAwLTYgMC0xMiAuMS0xOCAuMi0zLjkgMC03LjkgLjItMTEuOCAuMyAxLjQgLjEgMi45IC4yIDQuNCAuMiAzLjYgLjQgNy4yIC44IDEwLjggLjMgMy40IC40IDYuOSAuOSAxMC4zIC40IDMuMSAuNSA2LjIgMSA5LjMgLjYgNC4xIC45IDguMiAxLjUgMTIuMyAxLjUgOSAyLjggMTguMSA1LjEgMjcgMS4xIDQuOCAyLjQgOS42IDQgMTQuMyAyLjUgNy45IDUuNyAxNS43IDEwLjMgMjIuNiAxLjcgMi42IDMuOSA1IDYuMSA3LjIgLjMgLjIgLjYgLjUgLjkgLjcgLjYgLjMgMS4zLS4xIDEuNy0uNiAuNy0uOSAxLjItMS45IDEuNy0yLjkgNC4xLTcuOCA4LjItMTUuNiAxMi4zLTIzLjMgLjctMS4zIDEuNC0yLjYgMi42LTMuNiAxLjgtMS42IDMuOC0yLjcgNi0zLjYgMi45LTEuMiA1LjktMi4yIDktMi40IDYuNi0uNiAxMy4xIC43IDE5LjYgMS44IDMuNyAuNiA3LjQgMS4yIDExLjEgMS40IDMuNyAuMSA3LjUgLjEgMTEuMi0uMyA4LjYtLjkgMTctMyAyNC45LTYuMiA1LjMtMi4yIDEwLjUtNC44IDE1LjMtNy45IDExLjUtNy4yIDIxLjUtMTYuNiAzMC0yNyAxLjItMS40IDIuMi0yLjkgMy41LTQuMy0xLjIgMy4yLTIuNyA2LjQtNC4yIDkuNS0xLjMgMi45LTIuOCA1LjYtNC4zIDguNC01LjIgOS42LTExIDE4LjktMTcuOCAyNy41LTQgNS4yLTguNSAxMC4xLTEzLjMgMTQuNi02LjYgNi4xLTE0LjEgMTEuNC0yMi40IDE0LjgtOC4yIDMuNC0xNy4zIDQuNi0yNi4xIDMuMy0zLjYtLjYtNy0xLjctMTAuNC0yLjktMi44LTEtNS40LTIuNC04LTMuNy0zLjQtMS43LTYuNi0zLjgtOS43LTYuMSAyLjcgMy4xIDUuNyA1LjkgOC43IDguNiA0LjMgMy44IDguNyA3LjMgMTMuNiAxMC4yIDQgMi41IDguMyA0LjQgMTIuOCA1LjUgMS41IC40IDMgLjUgNC41IC42LTEuMyAxLjEtMi42IDItNCAzLTkuNiA2LjUtMjAgMTEuOS0zMC43IDE2LjQtMjAuOSA4LjctNDMuMiAxNC02NS43IDE1LjMtNC43IC4yLTkuMyAuNC0xNCAuNC01LS4xLTEwLS4xLTE0LjktLjctMTEuMi0uOC0yMi4zLTIuNy0zMy4yLTUuNC0xMC40LTIuNy0yMC42LTYuMS0zMC4zLTEwLjYtOC43LTMuOS0xNy4xLTguNC0yNS0xMy44LTEuOC0xLjMtMy43LTIuNS01LjQtNC4xIDYuNi0xLjIgMTMtMy40IDE5LTYuNSA1LjctMi45IDExLTYuNyAxNS42LTExLjEgMi4yLTIuMiA0LjMtNC42IDYuMi03LjEtMy40IDIuMS02LjkgNC4yLTEwLjYgNS44LTQuNCAyLjItOS4xIDMuOC0xMy44IDUtNS43IDEuNS0xMS43IDEuNy0xNy42IDEuMS04LjEtMS0xNS45LTQuMy0yMi41LTktNC4zLTIuOS04LjItNi40LTEyLTEwLjEtOS45LTEwLjItMTguMi0yMS44LTI1LjctMzMuOS0zLjktNi4zLTcuNS0xMi43LTExLjEtMTkuMi0xLTItMi4xLTQuMS0zLjItNi4xIDIuOCAyLjkgNS42IDYgOC40IDguOSAxOS4yIDE5LjIgMzcuNiAzMi4zIDUzLjcgMzUuNSAzLjEgLjcgNi4zIC41IDkuNSAuOCAyLjggLjMgNS42IC4yIDguMyAuMyA1IC4xIDEwLjEgMCAxNS4yLS4yIDMuNi0uMiA3LjMtLjcgMTAuOS0xLjEgMi4xLS4yIDQuMS0uNyA2LjEtMS4yIDMuOS0xIDguMS0xIDExLjggLjYgNC44IDEuOCA4LjQgNS42IDExLjQgOS43IDIuMiAzIDQuMSA2LjIgNS43IDkuNiAxLjIgMi40IDIuNSA0LjggMy42IDcuMyAxIDIuMiAyLjIgNC40IDMuNCA2LjUgLjcgMSAxLjQgMi4yIDIuNiAyLjYgMS4xLS44IDEuNy0xLjkgMi4zLTMgMi4xLTQuMiAzLjQtOC42IDQuOS0xMyAyLTYuNiAzLjgtMTMuMyA1LjItMjAgMi4yLTkuMyAzLjItMTguNyA0LjUtMjguMSAuNi00IC44LTggMS4zLTEyIC45LTEwLjYgMS45LTIxLjMgMi4yLTMxLjkgLjEtMS45IC4yLTMuNyAuMy01LjYgMC00LjMgLjItOC43IC4yLTEzIDAtMi40IDAtNC44IDAtNy4xIDAtNS4xLS4yLTEwLjEtLjItMTUuMi0uMi02LjYtLjctMTMuMi0xLjMtMTkuOC0uNy01LjktMS41LTExLjgtMy4xLTE3LjUtMi03LjctNS42LTE1LTkuOC0yMS44LTMuMi01LjEtNi44LTkuOS0xMS4xLTE0LTMuOS0zLjktOC42LTcuMS0xMy45LTguNC0xLjUtLjQtMy4xLS40LTQuNi0uNiAuMS0zIC43LTUuOSAxLjMtOC44IDEuNi03LjcgMy44LTE1LjMgNi44LTIyLjYgMS41LTQgMy40LTcuOSA1LjQtMTEuNyAzLjQtNi42IDcuNi0xMi44IDEyLjUtMTguNXptMzEuMyAxLjdjLjQtLjEgLjctLjEgMS4xLS4yIC4yIDEuOCAuMSAzLjYgLjEgNS40bDAgMzguMWMwIDEuNyAuMSAzLjUtLjIgNS4yLS40IDAtLjcgMC0xLjEgMC0uOS0zLjgtMS43LTcuNi0yLjYtMTEuMy0uNC0xLjUtLjYtMy4xLTEuMS00LjYtMS43LS4yLTMuNC0uMi01LjItLjItNS4xIDAtMTAuMSAwLTE1LjIgMC0xLjcgMC0zLjMgLjEtNSAwIDAtLjQtLjMtLjkgLjItMS4yIDEuMy0uNyAyLjctLjkgNC4xLTEuNCAzLjQtMS4xIDYuOS0yLjIgMTAuMy0zLjMgMS40LS41IDIuOS0uNyA0LjItMS41IDAtLjYgMC0xLjEgMC0xLjctMS4yLS42LTIuNS0uOS0zLjgtMS4zLTMuMS0xLTYuMy0yLTkuNC0zLTEuOC0uNi0zLjctMS01LjQtMS44IDAtLjQtLjEtLjctLjEtMS4xIDUuMS0uMiAxMC4yIC4xIDE1LjMtLjEgMy40LS4xIDYuNyAuMSAxMC4xLS4xIC4xLS40IC4zLS44IC40LTEuMiAxLjEtNC45IDIuMy05LjggMy40LTE0Ljd6bTYtLjJjLjQgMCAuNyAuMSAxLjEgLjIgMSAzLjggMS43IDcuOCAyLjcgMTEuNiAuNCAxLjQgLjYgMi45IDEgNC4zIDIuNSAuMiA1LjEgMCA3LjYgMCA1LjIgLjEgMTAuMyAuMSAxNS41IC4xIC44IDAgMS41IDAgMi4zIC4xIDAgLjQtLjEgLjctLjEgMS4xLTEuOCAuOC0zLjggMS4yLTUuNyAxLjktMy43IDEuMi03LjUgMi40LTExLjIgMy42LS42IC4yLTEuMSAuNC0xLjcgLjYtLjIgLjYtLjIgMS4xLS4xIDEuNyAuOSAuNSAxLjggLjggMi44IDEuMSA0LjkgMS41IDkuNyAzLjEgMTQuNiA0LjYgLjQgLjEgLjggLjMgMS4xIC41IC40IC4zIC4yIC44IC4yIDEuMi0xLjcgLjEtMy4zIDAtNSAwLTUuMiAwLTEwLjMgMC0xNS41IDAtMS42IDAtMy4yIDAtNC44IC4yLS41IDEuNy0uNyAzLjQtMS4yIDUuMS0uOSAzLjYtMS41IDcuMi0yLjUgMTAuOC0uNCAwLS43IDAtMS4xIC4xLS4zLTEuNy0uMi0zLjUtLjItNS4ybDAtMzguMWMwLTEuOC0uMS0zLjYgLjEtNS40em0tMTg2IDQ1YzEuMS0yLjIgMi4xLTQuNCAzLjQtNi41LTEuOCA3LjYtMi45IDE1LjMtMy42IDIzLS44IDcuNy0uOCAxNS41LS41IDIzLjIgMS4xIDE5LjkgNS41IDM5LjggMTQuMiA1Ny45IDMgNiA2LjQgMTEuOCAxMC41IDE3LjEgNi4xIDcuNSAxMi41IDE0LjggMTkuOCAyMS4xIDQuOCA0LjEgMTAgNy44IDE1LjUgMTAuOCAzLjMgMS43IDYuNSAzLjQgOS45IDQuNyA1IDIgMTAuMiAzLjYgMTUuNCA0LjkgMy44IDEgNy44IDEuNCAxMS41IDIuNyA1IDEuNiA5LjUgNC42IDEzIDguNCA0LjkgNS4yIDguMSAxMS45IDEwLjIgMTguNyAxIDIuOSAxLjYgNS45IDIuMiA4LjkgLjIgLjggLjIgMS41IC4yIDIuMy02LjUgMi44LTEzLjMgNS4xLTIwLjMgNi4yLTQuMSAuOC04LjMgMS0xMi41IDEuMS0xMC4yIC4yLTIwLjUtMS44LTMwLjEtNS4xLTMuNy0xLjQtNy41LTIuOS0xMS00LjctOC4xLTMuOC0xNS42LTguNy0yMi41LTE0LjUtMi45LTIuNi01LjgtNS4xLTguNC04LTkuMi05LjgtMTYuMy0yMS40LTIxLjgtMzMuNy0yLjQtNS41LTQuNi0xMS4yLTYuNC0xNy0xLjItMy45LTIuNC03LjktMy4zLTExLjktLjctMi45LTEuMi01LjktMS45LTguOS0uNS0yLjEtLjctNC4zLTEtNi41LS44LTUuNC0xLjMtMTAuOS0xLjMtMTYuNCAuMS02LjIgLjItMTIuNCAxLjEtMTguNSAuNC0yLjkgLjctNS43IDEuMi04LjYgMS01LjcgMi4xLTExLjQgMy43LTE2LjkgMy4xLTExLjYgNy41LTIzIDEyLjctMzMuOHptMzYzLjctNi40YzEuMSAxLjcgMS45IDMuNSAyLjggNS4zIDIuMSA0LjUgNC4yIDguOSA2IDEzLjUgNy42IDE4LjggMTIuMyAzOC44IDEzIDU5IDAgMS44IC4xIDMuNSAuMSA1LjMgLjEgOS42LTEuMyAxOS4xLTMuMiAyOC41LS43IDMuNi0xLjUgNy4yLTIuNiAxMC43LTQgMTQuNy0xMCAyOS0xOC40IDQxLjgtOC4yIDEyLjYtMTkgMjMuNS0zMS44IDMxLjQtNS43IDMuNi0xMS44IDYuNi0xOCA5LjItNS44IDIuMi0xMS43IDQtMTcuOCA1LjEtNi40IDEtMTIuOSAxLjUtMTkuNCAxLjItNy45LS41LTE1LjgtMi4xLTIzLjItNC44LTEuOS0uOC0zLjktMS41LTUuOC0yLjMtLjItMS41IC4yLTMgLjUtNC41IDEuMi01LjcgMy0xMS40IDUuNy0xNi42IDIuNC00LjUgNS41LTguNyA5LjUtMTEuOSAyLjQtMi4xIDUuMi0zLjYgOC4yLTQuOCAzLjYtMS41IDcuNS0yIDExLjItMi44IDcuMi0xLjcgMTQuNC0zLjkgMjEuMi03IDEwLjMtNC43IDE5LjctMTEuNCAyNy42LTE5LjUgMS42LTEuNiAzLjItMy4yIDQuNy00LjkgMy40LTMuOCA2LjctNy42IDkuOC0xMS41IDcuNS0xMC4xIDEyLjgtMjEuNiAxNi43LTMzLjUgMS42LTUuMyAzLjItMTAuNiA0LjItMTYuMSAuNi0yLjkgMS01LjggMS41LTguNyAuOS02LjEgMS42LTEyLjIgMS43LTE4LjQgLjEtNi42IC4xLTEzLjMtLjUtMTkuOS0uNy04LTEuOS0xNi0zLjctMjMuOHoiXX0scHh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN1c2UiLGljb246WzY0MCw1MTIsW10sImY3ZDYiLCJNNjA0LjUgMjEwYTEwLjQgMTAuNCAwIDEgMSAtMTEuNC0xNy40IDEwLjQgMTAuNCAwIDEgMSAxMS40IDE3LjR6TTYyMSAxODcuMmEzOC41IDM4LjUgMCAxIDEgLTc1IDE3LjYgMzguNSAzOC41IDAgMSAxIDc1LTE3LjZ6TTQzMy43IDMzNi43YzMuMiA0LjYgNS44IDkgNy4zIDEzLjQgMSAzLjEgMi40IDcuMyA1LjUgOC45IC4yIC4xIC4zIC4yIC41IC4yIDUuNyAyLjEgMjAuMyAxLjcgMjAuMyAxLjdsMjYuOCAwYzIuMyAwIDIyLjQgMCAyMS45LTIuMy0yLjQtMTAuOC0xNC45LTEyLjctMjQuNC0xOC4zLTguNy01LjItMTctMTEuMS0yMC44LTIxLjMtMi01LjItLjgtMTcuNCAyLjYtMjEuOCAyLjUtMy4yIDYuMS01LjMgMTAtNi4yIDQuMy0uOSA4LjgtLjEgMTMuMSAuMyA1LjMgLjUgMTAuNiAxLjUgMTUuOSAyLjIgMTAuMyAxLjMgMjAuNiAxLjkgMzEgMS42IDE3LjEtLjUgMzQuMi0zLjIgNTAuNC04LjcgMTEuMy0zLjggMjIuNC04LjkgMzItMTYuMSAxMC45LTguMSA4LjEtNy40LTMtNi4yLTEzLjMgMS40LTI2LjYgMS42LTM5LjkgLjgtMTIuNC0uNy0yNC43LTIuMi0zNS45LTcuOS04LjgtNC42LTE2LjQtOS4xLTIzLjQtMTYuMi0xLTEuMS0xLjctNC4yIC4yLTYuMiAxLjktMS45IDUuOC0uOCA3IC4yIDEyLjIgMTAuMiAzMC41IDE4LjYgNDkuMyAxOS41IDEwLjIgLjUgMjAuMSAuNyAzMC40IC4zIDUuMS0uMiAxMi44LS4yIDE3LjktLjMgMi42IDAgOS44IC43IDExLjItMi4xIC40LS44IC40LTEuOCAuMy0yLjctMS41LTQwLjktNC41LTg2LjktNDcuMy0xMDYuNS0zMS45LTE0LjYtNzkuNy0zNy4yLTk5LjktNDYuNi00LjctMi4yLTEwLjIgMS4zLTEwLjIgNi41IDAgMTMuNiAuNyAzMy4zIC43IDUxLjEtOS43LTkuOS0yNi0xNi4xLTM4LjQtMjEuOC0xNC4xLTYuNS0yOC43LTEyLTQzLjUtMTYuNi0yOS44LTkuMi02MC43LTE0LjktOTEuNy0xOC0zNS4yLTMuNS03MS0xLjgtMTA1LjcgNS4zLTU2LjkgMTIuMi0xMTMuMSAzOS43LTE1NS43IDc5LjgtMjYuMSAyNC42LTQ2LjYgNTkuNy00OCA5NS4yLTIgNTAuMyAxMi4xIDc3LjMgMzggMTA1LjIgNDEuMyA0NC40IDEzMC4yIDUwLjYgMTY2LjItMiAxNi4yLTIzLjcgMTkuNy01NS44IDgtODItMTEuOC0yNi4yLTM4LjgtNDUuMS02Ny40LTQ2LTIyLjItLjctNDUuOSAxMC42LTU0LjUgMzEuMS02LjUgMTUuNy0yLjggMzUuMSA5IDQ3LjMgNC42IDQuOCAxMC45IDguNyAxNy43IDcuMSA0LS45IDcuNC0zLjkgOC04IC45LTYtNC40LTkuOS03LjYtMTQuNS01LjgtOC4zLTQuNy0yMC45IDIuNy0yNy45IDYuMi02IDE1LjMtNy44IDIzLjktNy43IDggMCAxNi4yIDEuNCAyMy4xIDUuNSA5LjcgNS43IDE2LjIgMTYuMiAxOC40IDI3LjIgNi43IDMzLTIwLjIgNTkuOS01Ni42IDYyLTE4LjYgMS4xLTM3LjYtMy44LTUyLjEtMTUuNS0zNi45LTI5LjgtNDUuOS05MC4zLTMuOC0xMjIuNyA0MC0zMC43IDkwLjQtMjIuOCAxMjAuMi02LjggMjMuOCAxMi44IDQxLjUgMzMuNiA1NSA1Ni43IDYuNyAxMS42IDEyLjUgMjMuNyAxNy44IDM2LjEgNS4xIDExLjggOS45IDIzLjggMjAuMiAzMi41IDYuOCA1LjggMTUuMiA1LjYgMjQuMSA1LjZsNTAuOCAwYzYuOSAwIDUuMi00LjYgMi4yLTcuNy02LjctNi45LTE2LjQtOC40LTI1LjQtMTAuOS0yMC41LTUuNi0xOC40LTMyLjgtMTIuNy0zMi44IDE4LjMgMCAxOC45IC42IDM0LjkgLjMgMjMuMi0uMyAzMC4yLTEuNyA0OC4zIDUgOS43IDMuNiAxOSAxMy4xIDI1LjEgMjEuN3oiXX0sZnh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFwcC1zdG9yZS1pb3MiLGljb246WzQ0OCw1MTIsW10sImYzNzAiLCJNNDAwIDMyTDQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsMzUyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTEyNyAzODQuNWMtNS41IDkuNi0xNy44IDEyLjgtMjcuMyA3LjMtOS42LTUuNS0xMi44LTE3LjgtNy4zLTI3LjNsMTQuMy0yNC43YzE2LjEtNC45IDI5LjMtMS4xIDM5LjYgMTEuNEwxMjcgMzg0LjV6bTEzOC45LTUzLjlMODQgMzMwLjZjLTExIDAtMjAtOS0yMC0yMHM5LTIwIDIwLTIwbDUxIDAgNjUuNC0xMTMuMi0yMC41LTM1LjRjLTUuNS05LjYtMi4yLTIxLjggNy4zLTI3LjMgOS42LTUuNSAyMS44LTIuMiAyNy4zIDcuM2w4LjkgMTUuNCA4LjktMTUuNGM1LjUtOS42IDE3LjgtMTIuOCAyNy4zLTcuMyA5LjYgNS41IDEyLjggMTcuOCA3LjMgMjcuM2wtODUuOCAxNDguNiA2Mi4xIDBjMjAuMiAwIDMxLjUgMjMuNyAyMi43IDQwem05OC4xIDBsLTI5IDAgMTkuNiAzMy45YzUuNSA5LjYgMi4yIDIxLjgtNy4zIDI3LjMtOS42IDUuNS0yMS44IDIuMi0yNy4zLTcuMy0zMi45LTU2LjktNTcuNS05OS43LTc0LTEyOC4xLTE2LjctMjktNC44LTU4IDcuMS02Ny44IDEzLjEgMjIuNyAzMi43IDU2LjcgNTguOSAxMDJsNTIgMGMxMSAwIDIwIDkgMjAgMjAgMCAxMS4xLTkgMjAtMjAgMjB6Il19LGh4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bHRyYWx5dGljcy15b2xvIixpY29uOls1MTIsNTEyLFtdLCJlODZmIiwiTTM4My41IDEwLjhjNjEuOC0uMiAxMTIuMyA1MC42IDExMi4zIDExMi45LS4yIDIuNyAwIDAtLjEgMy4zbC4zIC4zYy0xLjUgODkuOS01MyAxNjguNC0xMjcuNCAyMDguNWwwIDUyLjhjMCA2Mi42LTUxLjEgMTEzLjUtMTEzLjcgMTEyLjktNjItLjYtMTExLjQtNTIuMi0xMTEuNC0xMTQuM2wwLTUxLjJjLTQwLjctMjEuOS03NC41LTU1LjItOTctOTUuNiAyMy4yIDE2LjUgNTEuNyAyNiA4MiAyNS45IDc4LjYtLjIgMTQyLjItNjQgMTQyLjMtMTQyLjUgLjEtNjIuMyA1MC41LTExMi43IDExMi45LTExMi45em0tMjU1IDIyNS44YTExMi45IDExMi45IDAgMSAxIDAtMjI1LjggMTEyLjkgMTEyLjkgMCAxIDEgMCAyMjUuOHoiXX0sUHVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1kcmliYmJsZSIsaWNvbjpbNDQ4LDUxMixbImRyaWJiYmxlLXNxdWFyZSJdLCJmMzk3IiwiTTE2NS45IDEzMi41Yy0zOC4zIDE4LTY2LjggNTMuMy03NS43IDk1LjcgNi4xIC4xIDYyLjQgLjMgMTI2LjQtMTYuNy0yMi43LTQwLjItNDcuMS03NC4xLTUwLjctNzl6bTI2LjEtOS4xYzMuOCA1LjEgMjguNiAzOC45IDUxIDgwIDQ4LjYtMTguMyA2OS4xLTQ1LjkgNzEuNi00OS40LTMzLjYtMjkuOC03OS4zLTQxLjEtMTIyLjYtMzAuNnpNMjc3LjQgMzgyYy0yLTEyLTEwLTUzLjgtMjkuMi0xMDMuNi01NS4xIDE4LjgtOTMuOCA1Ni40LTEwOC4xIDg1LjYgNDAuNSAzMS42IDkzLjMgMzYuNyAxMzcuMyAxOHpNMjI3LjggMjMyLjZDMTU5LjYgMjUzIDkzLjQgMjUyLjIgODcuNCAyNTJsMCA0LjJjMCAzNS4xIDEzLjMgNjcuMSAzNS4xIDkxLjQgMjIuMi0zNy45IDY3LjEtNzcuOSAxMTYuNS05MS44LTMuNC03LjgtNy4yLTE1LjUtMTEuMS0yMy4ybC0uMSAwem03Mi41IDEzNi45YzMwLjctMjAuNyA1Mi41LTUzLjYgNTguNi05MS42LTQuNi0xLjUtNDIuMy0xMi43LTg1LjEtNS44IDE3LjkgNDkuMSAyNS4xIDg5LjEgMjYuNSA5Ny40em0tMzQuOC0xMTljNDUuNS01LjcgOTAuNyAzLjQgOTUuMiA0LjQtLjMtMzIuMy0xMS44LTYxLjktMzAuOS04NS4xLTIuOSAzLjktMjUuOCAzMy4yLTc2LjMgNTMuOSA0LjggOS44IDguMyAxNy44IDEyIDI2Ljh6TTM4NCAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0ek0yMjQgOTZhMTYwIDE2MCAwIDEgMSAwIDMyMCAxNjAgMTYwIDAgMSAxIDAtMzIweiJdfSxteHQ9UHVlLGd4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1aWtpdCIsaWNvbjpbNDQ4LDUxMixbXSwiZjQwMyIsIk00NDMuOSAxMjhsMCAyNTYtMjI1LjkgMTI4LTIxOC0xMjggMC0yMTQuMyA4Ny42IDQ1LjEgMCAxMTcgMTMzLjUgNzUuNSAxMzUuOC03NS41IDAtMTUxLTEwMS4xLTU3LjYgODcuNi01My4xIDEwMC41IDU3Ljl6TTMwOC42IDQ5LjFsLTg0LjgtNDkuMS04OC42IDU0LjggODYgNDcuMyA4Ny40LTUzeiJdfSxieHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3VwZXJwb3dlcnMiLGljb246WzQ0OCw1MTIsW10sImYyZGQiLCJNNDQ4IDMyYy04My4zIDExLTE2Ni44IDIyLTI1MCAzMy05MiAxMi41LTE2My4zIDg2LjctMTY5IDE4MC0zLjMgNTUuNSAxOCAxMDkuNSA1Ny44IDE0OC4yTDAgNDgwYzgzLjMtMTEgMTY2LjUtMjIgMjQ5LjgtMzMgOTEuOC0xMi41IDE2My4zLTg2LjggMTY4LjctMTc5LjggMy41LTU1LjUtMTgtMTA5LjUtNTcuNy0xNDguMkw0NDggMzJ6TTM2OC4zIDI2NC4zYy00LjIgNzkuNS03NCAxMzkuMi0xNTIuOCAxMzQuNS03OS41LTQuNy0xNDAuNy03MS0xMzYuMy0xNTEgNC41LTc5LjIgNzQuMy0xMzkuMyAxNTMtMTM0LjUgNzkuMyA0LjcgMTQwLjUgNzEgMTM2LjEgMTUxeiJdfSx2eHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieW91dHViZSIsaWNvbjpbNTc2LDUxMixbNjE4MDJdLCJmMTY3IiwiTTU0OS43IDEyNC4xQzU0My41IDEwMC40IDUyNC45IDgxLjggNTAxLjQgNzUuNSA0NTguOSA2NCAyODguMSA2NCAyODguMSA2NFMxMTcuMyA2NCA3NC43IDc1LjVDNTEuMiA4MS44IDMyLjcgMTAwLjQgMjYuNCAxMjQuMSAxNSAxNjcgMTUgMjU2LjQgMTUgMjU2LjRzMCA4OS40IDExLjQgMTMyLjNjNi4zIDIzLjYgMjQuOCA0MS41IDQ4LjMgNDcuOCA0Mi42IDExLjUgMjEzLjQgMTEuNSAyMTMuNCAxMS41czE3MC44IDAgMjEzLjQtMTEuNWMyMy41LTYuMyA0Mi0yNC4yIDQ4LjMtNDcuOCAxMS40LTQyLjkgMTEuNC0xMzIuMyAxMS40LTEzMi4zczAtODkuNC0xMS40LTEzMi4zek0yMzIuMiAzMzcuNmwwLTE2Mi40IDE0Mi43IDgxLjItMTQyLjcgODEuMnoiXX0seHh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVtYmVyIixpY29uOls2NDAsNTEyLFtdLCJmNDIzIiwiTTYzOS45IDI1NC42Yy0xLjEtMTAuNy0xMC43LTYuOC0xMC43LTYuOHMtMTUuNiAxMi4xLTI5LjMgMTAuN2MtMTMuNy0xLjMtOS40LTMyLTkuNC0zMnMzLTI4LjEtNS4xLTMwLjRjLTguMS0yLjQtMTggNy4zLTE4IDcuM3MtMTIuNCAxMy43LTE4LjMgMzEuMmwtMS42IC41czEuOS0zMC42LS4zLTM3LjZjLTEuNi0zLjUtMTYuNC0zLjItMTguOCAzcy0xNC4yIDQ5LjItMTUgNjcuMmMwIDAtMjMuMSAxOS42LTQzLjMgMjIuOHMtMjUtOS40LTI1LTkuNCA1NC44LTE1LjMgNTIuOS01OS4xLTQ0LjItMjcuNi00OS0yNGMtNC42IDMuNS0yOS40IDE4LjQtMzYuNiA1OS43LS4yIDEuNC0uNyA3LjUtLjcgNy41cy0yMS4yIDE0LjItMzMgMThjMCAwIDMzLTU1LjYtNy4zLTgwLjktMTEuNC02LjgtMjEuMy0uNS0yNy4yIDUuMyAxMy42LTE3LjMgNDYuNC02NC4yIDM2LjktMTA1LjItNS44LTI0LjQtMTgtMjcuMS0yOS4yLTIzLjEtMTcgNi43LTIzLjUgMTYuNy0yMy41IDE2LjdzLTIyIDMyLTI3LjEgNzkuNS0xMi42IDEwNS4xLTEyLjYgMTA1LjEtMTAuNSAxMC4yLTIwLjIgMTAuNy01LjQtMjguNy01LjQtMjguNyA3LjUtNDQuNiA3LTUyLjEtMS4xLTExLjYtOS45LTE0LjJjLTguOS0yLjctMTguNSA4LjYtMTguNSA4LjZzLTI1LjUgMzguNy0yNy43IDQ0LjZsLTEuMyAyLjQtMS4zLTEuNnMxOC01Mi43IC44LTUzLjUtMjguNSAxOC44LTI4LjUgMTguOC0xOS42IDMyLjgtMjAuNCAzNi41bC0xLjMtMS42czguMS0zOC4yIDYuNC00Ny42Yy0xLjYtOS40LTEwLjUtNy41LTEwLjUtNy41cy0xMS4zLTEuMy0xNC4yIDUuOS0xMy43IDU1LjMtMTUgNzAuN2MwIDAtMjguMiAyMC4yLTQ2LjggMjAuNC0xOC41IC4zLTE2LjctMTEuOC0xNi43LTExLjhzNjgtMjMuMyA0OS40LTY5LjJjLTguMy0xMS44LTE4LTE1LjUtMzEuNy0xNS4zLTEzLjcgLjMtMzAuMyA4LjYtNDEuMyAzMy4zLTUuMyAxMS44LTYuOCAyMy03LjggMzEuNSAwIDAtMTIuMyAyLjQtMTguOC0yLjlzLTEwIDAtMTAgMC0xMS4yIDE0LS4xIDE4LjMgMjguMSA2LjEgMjguMSA2LjFjMS42IDcuNSA2LjIgMTkuNSAxOS42IDI5LjcgMjAuMiAxNS4zIDU4LjgtMS4zIDU4LjgtMS4zbDE1LjktOC44cy41IDE0LjYgMTIuMSAxNi43IDE2LjQgMSAzNi41LTQ3LjljMTEuOC0yNSAxMi42LTIzLjYgMTIuNi0yMy42bDEuMy0uM3MtOS4xIDQ2LjgtNS42IDU5LjdDMTg3LjcgMzE5LjQgMjAzIDMxOCAyMDMgMzE4czguMyAyLjQgMTUtMjEuMiAxOS42LTQ5LjkgMTkuNi00OS45bDEuNiAwcy01LjYgNDguMSAzIDYzLjcgMzAuOSA1LjMgMzAuOSA1LjMgMTUuNi03LjggMTgtMTAuMmMwIDAgMTguNSAxNS44IDQ0LjYgMTIuOSA1OC4zLTExLjUgNzkuMS0yNS45IDc5LjEtMjUuOXMxMCAyNC40IDQxLjEgMjYuN2MzNS41IDIuNyA1NC44LTE4LjYgNTQuOC0xOC42cy0uMyAxMy41IDEyLjEgMTguNiAyMC43LTIyLjggMjAuNy0yMi44bDIwLjctNTcuMiAxLjkgMHMxLjEgMzcuMyAyMS41IDQzLjIgNDctMTMuNyA0Ny0xMy43IDYuNC0zLjUgNS4zLTE0LjN6bS01NzggNS4zYy44LTMyIDIxLjgtNDUuOSAyOS0zOSA3LjMgNyA0LjYgMjItOS4xIDMxLjQtMTMuNyA5LjUtMTkuOSA3LjYtMTkuOSA3LjZ6TTMzNC43IDEzNi4xczE5LjEtNDkuNyAyMy42LTI1LjUtNDAgOTYuMi00MCA5Ni4yYy41LTE2LjIgMTYuNC03MC43IDE2LjQtNzAuN3ptMjIuOCAxMzguNGMtMTIuNiAzMy00My4zIDE5LjYtNDMuMyAxOS42cy0zLjUtMTEuOCA2LjQtNDQuOSAzMy4zLTIwLjIgMzMuMy0yMC4yIDE2LjIgMTIuNCAzLjYgNDUuNXptODQuNi0xNC42cy0zLTEwLjUgOC4xLTMwLjZjMTEtMjAuMiAxOS42LTkuMSAxOS42LTkuMXM5LjQgMTAuMi0xLjMgMjUuNS0yNi40IDE0LjItMjYuNCAxNC4yeiJdfSx5eHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYm9vdHN0cmFwIixpY29uOls1NzYsNTEyLFtdLCJmODM2IiwiTTMzMy41IDIwMS40YzAtMjIuMS0xNS42LTM0LjMtNDMtMzQuM2wtNTAuNCAwIDAgNzEuMiA0Mi41IDBjMzIuOC0uMSA1MC45LTEzLjMgNTAuOS0zNi45ek01MTcgMTg4LjZjLTkuNS0zMC45LTEwLjktNjguOC05LjgtOTguMSAxLjEtMzAuNS0yMi43LTU4LjUtNTQuNy01OC41TDEyMy43IDMyYy0zMi4xIDAtNTUuOCAyOC4xLTU0LjcgNTguNSAxIDI5LjMtLjMgNjcuMi05LjggOTguMS05LjYgMzEtMjUuNyA1MC42LTUyLjIgNTMuMWwwIDI4LjVjMjYuNCAyLjUgNDIuNiAyMi4xIDUyLjIgNTMuMSA5LjUgMzAuOSAxMC45IDY4LjggOS44IDk4LjEtMS4xIDMwLjUgMjIuNyA1OC41IDU0LjcgNTguNWwzMjguNyAwYzMyLjEgMCA1NS44LTI4LjEgNTQuNy01OC41LTEtMjkuMyAuMy02Ny4yIDkuOC05OC4xIDkuNi0zMSAyNS43LTUwLjYgNTIuMS01My4xbDAtMjguNWMtMjYuMy0yLjUtNDIuNS0yMi4xLTUyLTUzLjF6TTMwMC4yIDM3NS4xbC05Ny45IDAgMC0yMzguMyA5Ny40IDBjNDMuMyAwIDcxLjcgMjMuNCA3MS43IDU5LjQgMCAyNS4zLTE5LjEgNDcuOS00My41IDUxLjhsMCAxLjNjMzMuMiAzLjYgNTUuNSAyNi42IDU1LjUgNTguMyAwIDQyLjEtMzEuMyA2Ny41LTgzLjIgNjcuNXptLTEwLTEwOC43bC01MC4xIDAgMCA3OC40IDUyLjMgMGMzNC4yIDAgNTIuMy0xMy43IDUyLjMtMzkuNSAwLTI1LjctMTguNi0zOC45LTU0LjUtMzguOXoiXX0sd3h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Iml0dW5lcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjNiNCIsIk0yMjMuNiA4MC4zYTE3MS4zIDE3MS4zIDAgMSAwIC4yIDM0Mi41IDE3MS4zIDE3MS4zIDAgMSAwIC0uMi0zNDIuNXptNzkuNCAyNDBjLTMuMiAxMy42LTEzLjUgMjEuMi0yNy4zIDIzLjgtMTIuMSAyLjItMjIuMiAyLjgtMzEuOS01LTExLjgtMTAtMTItMjYuNC0xLjQtMzYuOCA4LjQtOCAyMC4zLTkuNiAzOC0xMi44IDMtLjUgNS42LTEuMiA3LjctMy43IDMuMi0zLjYgMi4yLTIgMi4yLTgwLjggMC01LjYtMi43LTcuMS04LjQtNi4xLTQgLjctOTEuOSAxNy4xLTkxLjkgMTcuMS01IDEuMS02LjcgMi42LTYuNyA4LjMgMCAxMTYuMSAuNSAxMTAuOC0xLjIgMTE4LjUtMi4xIDktNy42IDE1LjgtMTQuOSAxOS42LTguMyA0LjYtMjMuNCA2LjYtMzEuNCA1LjItMjEuNC00LTI4LjktMjguNy0xNC40LTQyLjkgOC40LTggMjAuMy05LjYgMzgtMTIuOCAzLS41IDUuNi0xLjIgNy43LTMuNyA1LTUuNyAuOS0xMjcgMi42LTEzMy43IC40LTIuNiAxLjUtNC44IDMuNS02LjQgMi4xLTEuNyA1LjgtMi43IDYuNy0yLjcgMTAxLTE5IDExMy4zLTIxLjQgMTE1LjEtMjEuNCA1LjctLjQgOSAzIDkgOC43LS4xIDE3MC42IC40IDE2MS40LTEgMTY3LjZ6TTM0NS4yIDMyTDEwMi44IDMyQzQ1LjkgMzIgMCA3Ny45IDAgMTM0LjhMMCAzNzcuMkMwIDQzNC4xIDQ1LjkgNDgwIDEwMi44IDQ4MGwyNDIuNCAwYzU3IDAgMTAyLjgtNDUuOSAxMDIuOC0xMDIuOGwwLTI0Mi40QzQ0OCA3Ny45IDQwMi4xIDMyIDM0NS4yIDMyek0yMjMuNiA1OWExOTIuNSAxOTIuNSAwIDEgMSAwIDM4NSAxOTIuNSAxOTIuNSAwIDEgMSAwLTM4NXoiXX0sRXVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS14aW5nIixpY29uOls0NDgsNTEyLFsieGluZy1zcXVhcmUiXSwiZjE2OSIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNOTMuOCAzMjAuMmMtNS41IDAtOC43LTUuMy02LTEwLjNsNDkuMy04Ni43Yy4xIDAgLjEtLjEgMC0uMmwtMzEuNC01NGMtMy01LjYgLjItMTAuMSA2LTEwLjFsNDYuNiAwYzUuMiAwIDkuNSAyLjkgMTIuOSA4LjdsMzEuOSA1NS4zYy0xLjMgMi4zLTE4IDMxLjctNTAuMSA4OC4yLTMuNSA2LjItNy43IDkuMS0xMi42IDkuMWwtNDYuNiAwem0xNjMuNS0zMy40bDAgLjIgNjUuNSAxMTljMi44IDUuMSAuMSAxMC4xLTYgMTAuMWwtNDYuNiAwYy01LjUgMC05LjctMi45LTEyLjktOC43bC02Ni0xMjAuM2MxLjgtMy4yIDIyLjktNDAuNCA2My4zLTExMS42IDExLjctMjAuNyAyNS4xLTQ0LjMgNDAuMS03MC44IDMuMy01LjggNy40LTguNyAxMi41LTguN2w0Ni45IDBjNS43LS4xIDguOCA0LjcgNiAxMEwyNTcuMyAyODYuOHoiXX0sTXh0PUV1ZSxreHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3NzMy1hbHQiLGljb246WzM4NCw1MTIsW10sImYzOGIiLCJNMCAzMkwzNC45IDQyNy44IDE5MiA0ODAgMzQ5LjEgNDI3LjggMzg0IDMyIDAgMzJ6bTMxMy4xIDgwbC00LjggNDcuMy0xMTUuMyA0OS4zLS4zIC4xIDExMS41IDAtMTIuOCAxNDYuNi05OC4yIDI4LjctOTguOC0yOS4yLTYuNC03My45IDQ4LjkgMCAzLjIgMzguMyA1Mi42IDEzLjMgNTQuNy0xNS40IDMuNy02MS42LTE2Ni4zLS41IDAtLjEtLjIgLjEtMy42LTQ2LjMgMTEyLjEtNDYuNyA2LjUtMi43LTEyMi45IDAtNS44LTQ3LjMgMjQyLjIgMHoiXX0sU3h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZXNwYWNlIixpY29uOls1MTIsNTEyLFtdLCJmNWJlIiwiTTE4Ni4xIDM0My4zYy05LjcgOS43LTkuNyAyNS4zIDAgMzQuOXMyNS4zIDkuNiAzNC45IDBMMzc4LjMgMjIxLjFjMTkuMy0xOS4zIDUwLjYtMTkuMyA2OS45IDBzMTkuMyA1MC42IDAgNjkuOUwyOTQgNDQ1LjFjMTkuMyAxOS4zIDUwLjUgMTkuMyA2OS44IDBsMCAwIDExOS4zLTExOS4yYzM4LjYtMzguNiAzOC42LTEwMS4xIDAtMTM5LjctMzguNi0zOC42LTEwMS4yLTM4LjYtMTM5LjcgMEwxODYuMSAzNDMuM3pNNDMwLjcgMjM4LjVjLTkuNy05LjctMjUuMy05LjctMzQuOSAwTDIzOC41IDM5NS43Yy0xOS4zIDE5LjMtNTAuNSAxOS4zLTY5LjggMGwwIDBjLTkuNi05LjYtMjUuMy05LjctMzQuOSAwbDAgMGMtOS43IDkuNi05LjcgMjUuMyAwIDM0LjlsMCAwYzM4LjYgMzguNiAxMDEuMSAzOC42IDEzOS43IDBMNDMwLjcgMjczLjVjOS42LTkuNyA5LjYtMjUuMyAwLTM0Ljl6bS0yNjIgODcuM0wzMjUuOSAxNjguN2M5LjYtOS42IDkuNi0yNS4zIDAtMzQuOS05LjYtOS42LTI1LjMtOS42LTM0LjkgMEwxMzMuNyAyOTAuOWMtMTkuMyAxOS4zLTUwLjYgMTkuMy02OS45IDBsMCAwYy0xOS4zLTE5LjMtMTkuMy01MC41IDAtNjkuOGwwIDAgMTU0LjItMTU0LjJjLTE5LjMtMTkuMy01MC41LTE5LjMtNjkuOCAwbDAgMC0xMTkuMiAxMTkuM2MtMzguNiAzOC42LTM4LjYgMTAxLjEgMCAxMzkuNyAzOC42IDM4LjYgMTAxLjEgMzguNiAxMzkuNyAwek04MS4zIDI3My41YzkuNiA5LjYgMjUuMyA5LjYgMzQuOSAwTDI3My41IDExNi4zYzE5LjMtMTkuMyA1MC42LTE5LjMgNjkuOCAwbDAgMGM5LjcgOS42IDI1LjMgOS42IDM0LjkgMHM5LjYtMjUuMyAwLTM0LjljLTM4LjYtMzguNi0xMDEuMS0zOC42LTEzOS43IDBMODEuMyAyMzguNWMtOS42IDkuNi05LjYgMjUuMyAwIDM0LjlsMCAweiJdfSx6eHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidHJlbGxvIixpY29uOls0NDgsNTEyLFtdLCJmMTgxIiwiTTM5Mi4zIDMyTDU2LjEgMzJjLTMxIDAtNTYuMSAyNS4xLTU2LjEgNTYtLjEgMCAwLTQgMCAzMzYgMCAzMC45IDI1LjEgNTYgNTYgNTZsMzM2LjIgMGMzMC44LS4yIDU1LjctMjUuMiA1NS43LTU2bDAtMzM2Yy4xLTMwLjgtMjQuOC01NS44LTU1LjYtNTZ6TTE5NyAzNzEuM2MtLjIgMTQuNy0xMi4xIDI2LjYtMjYuOSAyNi42bC04Mi43IDBjLTE0LjggLjEtMjYuOS0xMS44LTI3LTI2LjZsMC0yNTQuMmMwLTE0LjggMTItMjYuOSAyNi45LTI2LjlsODIuOSAwYzE0LjggMCAyNi45IDEyIDI2LjkgMjYuOWwwIDI1NC4yLS4xIDB6bTE5My4xLTExMmMwIDE0LjgtMTIgMjYuOS0yNi45IDI2LjlsLTgxIDBjLTE0LjggMC0yNi45LTEyLTI2LjktMjYuOWwwLTE0Mi4xYzAtMTQuOCAxMi0yNi45IDI2LjgtMjYuOWw4MS4xIDBjMTQuOCAwIDI2LjkgMTIgMjYuOSAyNi45bDAgMTQyLjF6Il19LEN4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2aWFkZW8iLGljb246WzQ0OCw1MTIsW10sImYyYTkiLCJNMjc2LjQgMTUwLjVsMCAuN2MtMTcuOS01Mi42LTQyLjYtMTAzLjQtNzAuOC0xNTEuMiA0My4zIDI5LjIgNjcgMTAwIDcwLjggMTUwLjV6bTMyLjcgMTIxLjdjNy42IDE4LjIgMTEgMzcuNSAxMSA1NyAwIDc3LjctNTcuOCAxNDEtMTM3LjggMTM5LjRsMy44LS4zYzc0LjItNDYuNyAxMDkuMy0xMTguNiAxMDkuMy0yMDUuMSAwLTM4LjEtNi41LTc1LjktMTguOS0xMTIgMSAxMS43IDEgMjMuNyAxIDM1LjQgMCA5MS44LTE4LjEgMjQxLjYtMTE2LjYgMjgwLTY1LjctMTEuNC0xMTEuMy02OC42LTExMS4zLTEzNy40IDAtNzUuNiA1Ny40LTE0Mi4zIDEzNS40LTE0Mi4zIDE2LjggMCAzMy43IDMuMSA0OS4xIDkuNiAxLjctMTUuMSA2LjUtMjkuOSAxMy40LTQzLjMtMTkuOS03LjItNDEuMi0xMC43LTYyLjUtMTAuNy0xNjEuNSAwLTIzOC43IDE5NS45LTEyOS45IDMxMy43IDY3LjkgNzQuNiAxOTIgNzMuOSAyNTkuOCAwIDU2LjYtNjEuMyA2MC45LTE0Mi40IDM2LjQtMjAxLTEyLjcgOC0yNy4xIDEzLjktNDIuMiAxN3pNNDE4LjMgMTEuN2MtMzEgNjYuNS04MS4zIDQ3LjItMTE1LjggODAuMS0xMi40IDEyLTIwLjYgMzQtMjAuNiA1MC41IDAgMTQuMSA0LjUgMjcuMSAxMiAzOC44IDQ3LjQtMTEgOTguMy00NiAxMTguMi05MC43LS43IDUuNS00LjggMTQuNC03LjIgMTkuMi0yMC4zIDM1LjctNjQuNiA2NS42LTk5LjcgODQuOSAxNC44IDE0LjQgMzMuNyAyNS44IDU1IDI1LjggNzkgMCAxMTAuMS0xMzQuNiA1OC4xLTIwOC42eiJdfSxfeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2VhcmNoZW5naW4iLGljb246WzQ0OCw1MTIsW10sImYzZWIiLCJNMjE0LjYgMTMwLjNsLTY3LjIgMjguMiAwLTExNS4zLTU0LjcgMTkwLjMgNTQuNy0yNC4yIDAgMTMwLjMgNjcuMi0yMDkuM3pNMTMxLjQgMzMuNmwtMS4zIDQuNy0xNS4yIDUyLjlDNzQuNiAxMDYuNyA0NiAxNDUuOCA0NiAxOTEuNSA0NiAyNDMuOCA4MC4zIDI4Ny40IDEyOS40IDI5N2wwIDUzLjZDNTEuNSAzNDAuMS02IDI3Mi40LTYgMTkxLjYtNiAxMTEuMSA1My44IDQ0LjQgMTMxLjQgMzMuNnpNNDQyLjggNDgwLjhjLTExLjIgMTEuMi0yMy4xIDEyLjMtMjguNiAxMC41LTUuNC0xLjgtMjcuMS0xOS45LTYwLjQtNDQuNC0zMy4zLTI0LjYtMzMuNi0zNS43LTQzLTU2LjctOS40LTIwLjktMzAuNC00Mi42LTU3LjUtNTIuNGwtOS43LTE0LjdjLTI0LjcgMTYuOS01MyAyNi45LTgxLjMgMjguN2wyLjEtNi42IDE1LjktNDkuNWM0Ni41LTExLjkgODAuOS01NCA4MC45LTEwNC4yIDAtNTQuNS0zOC40LTEwMi4xLTk2LTEwNy4xbDAtNTIuMWM4My4yIDUuMSAxNDguOCA3NC41IDE0OC44IDE1OS4zIDAgMzMuNi0xMS4yIDY0LjctMjkgOTAuNGwxNC42IDkuNmM5LjggMjcuMSAzMS41IDQ4IDUyLjQgNTcuNHMzMi4yIDkuNyA1Ni44IDQzYzI0LjYgMzMuMiA0Mi43IDU0LjkgNDQuNSA2MC4zcy43IDE3LjMtMTAuNSAyOC41em0tOS45LTE3LjljMC00LjQtMy42LTgtOC04cy04IDMuNi04IDggMy42IDggOCA4IDgtMy42IDgtOHoiXX0sVHh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVucmVhbC1lbmdpbmUiLGljb246WzUxMiw1MTIsW10sImU4NWMiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTY1LjUtMTEzLjdsLTI1LjEtMjguMy00Mi40IDQyLjZjLTI0LjEtLjMtNDcuOS02LjItNjkuMy0xNy4ycy00MC4xLTI2LjktNTQuNS00Ni4zYzQuNSAxLjQgOS4yIDIuMyAxMy45IDIuNiA2LjkgLjEgMTQuNS0yLjQgMTQuNS0xNC4xbDAtMTE1LjFjLjEtMy0uNS01LjktMS43LTguNnMtMy4xLTUtNS40LTYuOS01LTMuMS03LjktMy43LTUuOS0uNS04LjggLjJjLTE5LjYgNC41LTM1LjMgNTMuNS0zNS4zIDUzLjUtLjItMjIuNiA0LjUtNDUgMTMuOC02NS42czIzLTM5IDQwLjEtNTMuOGMyMi41LTE5LjUgNTAuMS0zMi4yIDc5LjYtMzYuNy0yMS40IDEyLjItMzMuNSAzMi4xLTMzLjUgNDguOSAwIDI2LjkgMTYuMiAyMy42IDIxIDE5LjdsMCAxNTUuM2MuOCAxLjkgMS45IDMuOCAzLjIgNS41IDIuMSAzIDUgNS40IDguMiA3czYuOSAyLjUgMTAuNSAyLjVjMTYuMiAwIDM3LjMtMTguNSAzNy4zLTE4LjVsMC0xMjUuN2MwLTEyLjgtOS42LTI4LjItMTkuMy0zMy41IDAgMCAxNy45LTMuMiAzMS43IDcuNCAyLjYtMy4yIDUuMy02LjIgOC4yLTkuMSAzMi4yLTMxLjYgNjIuNS00MC42IDg3LjctNDUuMSAwIDAtNDUuOSAzNi4xLTQ1LjkgODQuNSAwIDM2IC45IDEyMy44IC45IDEyMy44IDE3IDE2LjQgNDIuNC03LjMgNjUuMi0zMC44LTQuNCAyMS4zLTI0IDc1LjktODYuNiAxMDUuNHoiXX0sTHh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBheXBhbCIsaWNvbjpbMzg0LDUxMixbXSwiZjFlZCIsIk0xMTEuOSAyOTUuOWMtMy41IDE5LjItMTcuNCAxMDguNy0yMS41IDEzNC0uMyAxLjgtMSAyLjUtMyAyLjVsLTc0LjYgMGMtNy42IDAtMTMuMS02LjYtMTIuMS0xMy45TDU5LjMgNDYuNmMxLjUtOS42IDEwLjEtMTYuOSAyMC0xNi45IDE1Mi4zIDAgMTY1LjEtMy43IDIwNCAxMS40IDYwLjEgMjMuMyA2NS42IDc5LjUgNDQgMTQwLjMtMjEuNSA2Mi42LTcyLjUgODkuNS0xNDAuMSA5MC4zLTQzLjQgLjctNjkuNS03LTc1LjMgMjQuMnpNMzU3LjYgMTUyYy0xLjgtMS4zLTIuNS0xLjgtMyAxLjMtMiAxMS40LTUuMSAyMi41LTguOCAzMy42LTM5LjkgMTEzLjgtMTUwLjUgMTAzLjktMjA0LjUgMTAzLjktNi4xIDAtMTAuMSAzLjMtMTAuOSA5LjQtMjIuNiAxNDAuNC0yNy4xIDE2OS43LTI3LjEgMTY5LjctMSA3LjEgMy41IDEyLjkgMTAuNiAxMi45bDYzLjUgMGM4LjYgMCAxNS43LTYuMyAxNy40LTE0LjkgLjctNS40LTEuMSA2LjEgMTQuNC05MS4zIDQuNi0yMiAxNC4zLTE5LjcgMjkuMy0xOS43IDcxIDAgMTI2LjQtMjguOCAxNDIuOS0xMTIuMyA2LjUtMzQuOCA0LjYtNzEuNC0yMy44LTkyLjZ6Il19LCR4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtYmx1ZXNreSIsaWNvbjpbNDQ4LDUxMixbXSwiZTZhMyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMjQgMjQ3LjRjMTQuNS0zMCA1NC04NS44IDkwLjctMTEzLjMgMjYuNS0xOS45IDY5LjMtMzUuMiA2OS4zIDEzLjcgMCA5LjgtNS42IDgyLjEtOC45IDkzLjgtMTEuNCA0MC44LTUzIDUxLjItOTAgNDQuOSA2NC43IDExIDgxLjIgNDcuNSA0NS42IDg0LTY3LjUgNjkuMy05Ny0xNy40LTEwNC42LTM5LjZsLS4zLS45Yy0uOS0yLjYtMS40LTQuMS0xLjgtNC4xcy0uOSAxLjUtMS44IDQuMWMtLjEgLjMtLjIgLjYtLjMgLjktNy42IDIyLjItMzcuMSAxMDguOC0xMDQuNiAzOS42LTM1LjUtMzYuNS0xOS4xLTczIDQ1LjYtODQtMzcgNi4zLTc4LjYtNC4xLTkwLTQ0LjktMy4zLTExLjctOC45LTg0LTguOS05My44IDAtNDguOSA0Mi45LTMzLjUgNjkuMy0xMy43IDM2LjcgMjcuNSA3Ni4yIDgzLjQgOTAuNyAxMTMuM3oiXX0sRHh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImQtYW5kLWQtYmV5b25kIixpY29uOls2NDAsNTEyLFtdLCJmNmNhIiwiTTMxMy44IDI0MS41YzEzLjggMCAyMS0xMC4xIDI0LjgtMTcuOS0xLTEuMS01LTQuMi03LjQtNi42LTIuNCA0LjMtOC4yIDEwLjctMTMuOSAxMC43LTEwLjIgMC0xNS40LTE0LjctMy4yLTI2LjYtLjUtLjItNC4zLTEuOC04IDIuNCAwLTMgMS01LjEgMi4xLTYuNi0zLjUgMS4zLTkuOCA1LjYtMTEuNCA3LjkgLjItNS44IDEuNi03LjUgLjYtOWwtLjItLjJzLTguNSA1LjYtOS4zIDE0LjdjMCAwIDEuMS0xLjYgMi4xLTEuOSAuNi0uMyAxLjMgMCAuNiAxLjktLjIgLjYtNS44IDE1LjcgNS4xIDI2LS42LTEuNi0xLjktNy42IDIuNC0xLjktLjMgLjEgNS44IDcuMSAxNS43IDcuMXptNTIuNC0yMS4xYzAtNC00LjktNC40LTUuNi00LjUgMiAzLjkgLjkgNy41IC4yIDkgMi41LS40IDUuNC0xLjYgNS40LTQuNXptMTAuMyA1LjJjMC02LjQtNi4yLTExLjQtMTMuNS0xMC43IDggMS4zIDUuNiAxMy44LTUgMTEuNCAzLjctMi42IDMuMi05LjktMS4zLTEyLjUgMS40IDQuMi0zIDguMi03LjQgNC42LTIuNC0xLjktOC02LjYtMTAuNi04LjYtMi40LTIuMS01LjUtMS02LjYtMS44LTEuMy0xLjEtLjUtMy44LTIuMi01LTEuNi0uOC0zLS4zLTQuOC0xLTEuNi0uNi0yLjctMS45LTIuNi0zLjUtMi41IDQuNCAzLjQgNi4zIDQuNSA4LjUgMSAxLjktLjggNC44IDQgOC41IDE0LjggMTEuNiA5LjEgOCAxMC40IDE4LjEgLjYgNC4zIDQuMiA2LjcgNi40IDcuNC0yLjEtMS45LTIuOS02LjQgMC05LjMgMCAxMy45IDE5LjIgMTMuMyAyMy4xIDYuNC0yLjQgMS4xLTctLjItOS0xLjkgNy43IDEgMTQuMi00LjEgMTQuNi0xMC42em0tMzkuNC0xOC40YzIgLjggMS42IC43IDYuNCA0LjUgMTAuMi0yNC41IDIxLjctMTUuNyAyMi0xNS41IDIuMi0xLjkgOS44LTMuOCAxMy44LTIuNy0yLjQtMi43LTcuNS02LjItMTMuMy02LjItNC43IDAtNy40IDIuMi04IDEuMy0uOC0xLjQgMy4yLTMuNCAzLjItMy40LTUuNCAuMi05LjYgNi43LTExLjIgNS45LTEuMS0uNSAxLjQtMy43IDEuNC0zLjctNS4xIDIuOS05LjMgOS4xLTEwLjIgMTMgNC42LTUuOCAxMy44LTkuOCAxOS43LTktMTAuNSAuNS0xOS41IDkuNy0yMy44IDE1Ljh6bTI0Mi41IDUxLjljLTIwLjcgMC00MCAxLjMtNTAuMyAyLjFsNy40IDguMiAwIDc3LjItNy40IDguMmMxMC40IC44IDMwLjkgMi4xIDUxLjYgMi4xIDQyLjEgMCA1OS4xLTIwLjcgNTkuMS00OC45IDAtMjkuMy0yMy4yLTQ4LjktNjAuNC00OC45em0tMTUuMSA3NS42bDAtNTMuM2MzMC4xLTMuMyA0Ni44IDMuOCA0Ni44IDI2LjMgMCAyNS42LTIxLjQgMzAuMi00Ni44IDI3ek0zMDEuNiAxODFjLTEtMy40LS4yLTYuOSAxLjEtOS40IDEgMyAyLjYgNi40IDcuNSA5LS41LTIuNC0uMi01LjYgLjUtOC0xLjQtNS40IDIuMS05LjkgNi40LTkuOSA2LjkgMCA4LjUgOC44IDQuNyAxNC40IDIuMSAzLjIgNS41IDUuNiA3LjcgNy44IDMuMi0zLjcgNS41LTkuNSA1LjUtMTMuOCAwLTguMi01LjUtMTUuOS0xNi43LTE2LjUtMjAtLjktMjAuMiAxNi42LTIwIDE4LjkgLjUgNS4yIDMuNCA3LjggMy4zIDcuNXptLS40IDZjLS41IDEuOC03IDMuNy0xMC4yIDYuOSA0LjgtMSA3LS4yIDcuOCAxLjggLjUgMS40LS4yIDMuNC0uNSA1LjYgMS42LTEuOCA3LTUuNSAxMS02LjItMS0uMy0zLjQtLjgtNC4zLS44IDIuOS0zLjQgOS4zLTQuNSAxMi44LTMuNy0yLjItLjItNi43IDEuMS04LjUgMi42IDEuNiAuMyAzIC42IDQuMyAxLjEtMi4xIC44LTQuOCAzLjQtNS44IDYuMSA3LTUgMTMuMSA1LjIgNyA4LjIgLjggLjIgMi43IDAgMy41LS41LS4zIDEuMS0xLjkgMy0zIDMuNCAyLjkgMCA3LTEuOSA4LjItNC42IDAgMC0xLjggLjYtMi42LS4ycy4zLTQuMyAuMy00LjNjLTIuMyAyLjktMy40LTEuMy0xLjMtNC4yLTEtLjMtMy41LS42LTQuNi0uNSAzLjItMS4xIDEwLjQtMS44IDExLjItLjMgLjYgMS4xLTEgMy40LTEgMy40IDQtLjUgOC4zIDEuMSA2LjcgNS4xIDIuOS0xLjQgNS41LTUuOSA0LjgtMTAuNC0uMyAxLTEuNiAyLjQtMi45IDIuNyAuMi0xLjQtMS0yLjItMS45LTIuNiAxLjctOS42LTE0LjYtMTQuMi0xNC4xLTIzLjktMSAxLjMtMS44IDUtLjggNy4xIDIuNyAzLjIgOC43IDYuNyAxMC4xIDEyLjItMi42LTYuNC0xNS4xLTExLjQtMTQuNi0yMC4yLTEuNiAxLjYtMi42IDcuOC0xLjMgMTEgMi40IDEuNCA0LjUgMy44IDQuOCA2LjEtMi4yLTUuMS0xMS40LTYuMS0xMy45LTEyLjItLjYgMi4yLS4zIDUgMSA2LjcgMCAwLTIuMi0uOC03LS42IDEuNyAuNiA1LjEgMy41IDQuOCA1LjJ6bTI1LjkgNy40Yy0yLjcgMC0zLjUtMi4xLTQuMi00LjMgMy4zIDEuMyA0LjIgNC4zIDQuMiA0LjN6bTM4LjkgMy43bC0xLS42Yy0xLjEtMS0yLjktMS40LTQuNy0xLjQtMi45IDAtNS44IDEuMy03LjUgMy40LS44IC44LTEuNCAxLjgtMi4xIDIuNmwwIDE1LjdjMy41IDIuNiA3LjEtMi45IDMtNy4yIDEuNSAuMyA0LjYgMi43IDUuMSAzLjIgMCAwIDIuNi0uNSA1LS41IDIuMSAwIDMuOSAuMyA1LjYgMS4xbDAtMTguNGMtMS4xIC41LTIuMiAxLTIuNyAxLjRsLS43IC43ek03OS45IDMwNS45YzE3LjItNC42IDE2LjItMTggMTYuMi0xOS45IDAtMjAuNi0yNC4xLTI1LTM3LTI1bC01Ni4xIDAgOC4zIDguNiAwIDI5LjUtMTEuMyAwIDExLjQgMTQuNiAwIDMyLjMtOC40IDguNmM2MS43IDAgNzMuOCAxLjUgODYuNC01LjkgNi43LTQgOS45LTkuOCA5LjktMTcuNiAwLTUuMSAyLjYtMTguOC0xOS40LTI1LjJ6TTM4LjYgMjc4LjRjMjAgMCAyOS42LS44IDI5LjYgOS4xbDAgM2MwIDEyLjEtMTkgOC44LTI5LjYgOC44bDAtMjAuOXptMCA1OS4ybDAtMjIuNmMxMi4yIDAgMzIuNy0yLjMgMzIuNyA4LjhsMCA0LjUgLjIgMGMwIDExLjItMTIuNSA5LjMtMzIuOSA5LjN6bTEwMS4yLTE5LjNsMjMuMSAuMiAwLS4yIDE0LjEtMjEuMi0zNy4yIDAgMC0xNC45IDUyLjQgMC0xNC4xLTIxIDAtLjItNzMuNSAuMiA3LjQgOC4yIDAgNzcuMS03LjQgOC4yIDgxLjIgMCAxNC4xLTIxLjItNjAuMSAuMiAwLTE1LjR6bTIxNC43LTYwLjFjLTczLjkgMC03Ny41IDk5LjMtLjMgOTkuMyA3Ny45IDAgNzQuMS05OS4zIC4zLTk5LjN6bS0uMyA3Ny41Yy0zNy40IDAtMzYuOS01NS4zIC4yLTU1LjMgMzYuOCAuMSAzOC44IDU1LjMtLjIgNTUuM3ptLTkxLjMtOC4zbDQ0LjEtNjYuMi00MS43IDAgNi4xIDcuMi0yMC41IDM3LjItLjMgMC0yMS0zNy4yIDYuNC03LjItNDQuOSAwIDQ0LjEgNjUuOCAuMiAxOS40LTcuNyA4LjIgNDIuNiAwLTcuMi04LjItLjItMTl6TTIzNC41IDE3Ni4xYzEuNiAxLjMgMi45IDIuNCAyLjkgNi42bDAgMzguOGMwIDQuMi0uOCA1LjMtMi43IDYuNC0uMSAuMS03LjUgNC41LTcuOSA0LjZsMzUuMSAwYzEwIDAgMTcuNC0xLjUgMjYtOC42LS42LTUgLjItOS41IC44LTEyIDAtLjItMS44IDEuNC0yLjcgMy41IDAtNS43IDEuNi0xNS40IDkuNi0yMC41LS4xIDAtMy43LS44LTkgMS4xIDItMy4xIDEwLTcuOSAxMC40LTcuOS04LjItMjYtMzgtMjIuOS0zMi4yLTIyLjktMzAuOSAwLTMyLjYgLjMtMzkuOS00IC4xIC44IC41IDguMiA5LjYgMTQuOXptMjEuNSA1LjVjNC42IDAgMjMuMS0zLjMgMjMuMSAxNy4zIDAgMjAuNy0xOC40IDE3LjMtMjMuMSAxNy4zbDAtMzQuNnptMjI4LjkgNzkuNmw3IDguMyAwIDQyLjUtLjMgMGMtNS40LTE0LjQtNDIuMy00MS41LTQ1LjItNTAuOWwtMzEuNiAwIDcuNCA4LjUgMCA3Ni45LTcuMiA4LjMgMzkgMC03LjQtOC4yIDAtNDcuNCAuMyAwYzMuNyAxMC42IDQ0LjUgNDIuOSA0OC41IDU1LjZsMjEuMyAwIDAtODUuMiA3LjQtOC4zLTM5LjItLjF6TTM3OC4yIDE2NS4xYy0zMi4yIDAtMzIuOCAuMi0zOS45LTQgLjEgLjcgLjUgOC4zIDkuNiAxNC45IDMuMSAyIDIuOSA0LjMgMi45IDkuNSAxLjgtMS4xIDMuOC0yLjIgNi4xLTMtMS4xIDEuMS0yLjcgMi43LTMuNSA0LjUgMS0xLjEgNy41LTUuMSAxNC42LTMuNS0xLjYgLjMtNCAxLjEtNi4xIDIuOSAuMSAwIDIuMS0xLjEgNy41LS4zbDAtNC4zYzQuNyAwIDIzLjEtMy40IDIzLjEgMTcuMyAwIDIwLjUtMTguNSAxNy4zLTE5LjcgMTcuMyA1LjcgNC40IDUuOCAxMiAyLjIgMTYuM2wuMyAwYzMzLjQgMCAzNi43LTI3LjMgMzYuNy0zNCAwLTMuOC0xLjEtMzItMzMuOC0zMy42eiJdfSxBeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWljcm9zb2Z0IixpY29uOls0NDgsNTEyLFtdLCJmM2NhIiwiTTAgMzJsMjE0LjYgMCAwIDIxNC42LTIxNC42IDAgMC0yMTQuNnptMjMzLjQgMGwyMTQuNiAwIDAgMjE0LjYtMjE0LjYgMCAwLTIxNC42ek0wIDI2NS40bDIxNC42IDAgMCAyMTQuNi0yMTQuNiAwIDAtMjE0LjZ6bTIzMy40IDBsMjE0LjYgMCAwIDIxNC42LTIxNC42IDAgMC0yMTQuNnoiXX0sUHh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZseSIsaWNvbjpbMzIwLDUxMixbXSwiZjQxNyIsIk0xNjUuOSA0MjcuOGMxMi45IDExLjcgMzMuNyAzMy4zIDMzLjIgNTAuNyAwIC44LS4xIDEuNi0uMSAyLjUtMS44IDE5LjgtMTguOCAzMS4xLTM5LjEgMzEtMjUtLjEtMzkuOS0xNi44LTM4LjctMzUuOCAxLTE2LjIgMjAuNS0zNi43IDMyLjQtNDcuNiAyLjMtMi4xIDIuNy0yLjcgNS42LTMuNiAzLjQgMCAzLjkgLjMgNi43IDIuOHpNMzAwIDY3LjNjLTE2LjMtMjUuNy0zOC42LTQwLjYtNjMuMy01Mi4xLTI1LjUtMTAuNy01NC42LTE1LjQtNzYuNi0xNS4yLTQ0LjEgMC03MS4yIDEzLjItODEuMSAxNy4zLTUzLjYgMjcuOS04NC40IDY5LjktODIuOSAxNDEuMyA3LjEgODIuMiA5NyAxNzYgMTU1LjggMjMzLjggMS43IDEuNiA0LjUgNC41IDYuMiA1LjFsMy4zIC4xYzIuMS0uNyAxLjgtLjUgMy41LTIuMSA1Mi4zLTQ5LjIgMTQwLjctMTQ1LjggMTU1LjktMjE1LjcgNy0zOS4yIDMuMS03Mi41LTIwLjgtMTEyLjV6TTE1NC45IDM1MS45Yy0yOC01MS4xLTY1LjItMTMwLjctNjkuMy0xODktMy40LTQ3LjUgMTEuNC0xMzEuMiA2OS4zLTEzNi43bDAgMzI1Ljd6TTI5Ni44IDE4MGMtMTYuNCA1Ni44LTc3LjMgMTI4LTExOC45IDE3MC4zIDI3LjgtNTEuOSA2NS4yLTEzMy4zIDY3LjItMTkxLjkgMS42LTQ1LjktOS44LTEwNS44LTQ4LTEzMS40IDg4LjggMTguMyAxMTUuNSA5OC4xIDk5LjcgMTUzeiJdfSxFeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2Mtc3RyaXBlIixpY29uOls1NzYsNTEyLFtdLCJmMWY1IiwiTTQ5Mi40IDIyMC44Yy04LjkgMC0xOC43IDYuNy0xOC43IDIyLjdsMzYuNyAwYzAtMTYtOS4zLTIyLjctMTgtMjIuN3pNMzc1IDIyMy40Yy04LjIgMC0xMy4zIDIuOS0xNyA3bC4yIDUyLjhjMy41IDMuNyA4LjUgNi43IDE2LjggNi43IDEzLjEgMCAyMS45LTE0LjMgMjEuOS0zMy40IDAtMTguNi05LTMzLjItMjEuOS0zMy4xek01MjggMzJMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0ODAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OHpNMTIyLjIgMjgxLjFjMCAyNS42LTIwLjMgNDAuMS00OS45IDQwLjMtMTIuMiAwLTI1LjYtMi40LTM4LjgtOC4xbDAtMzMuOWMxMiA2LjQgMjcuMSAxMS4zIDM4LjkgMTEuMyA3LjkgMCAxMy42LTIuMSAxMy42LTguNyAwLTE3LTU0LTEwLjYtNTQtNDkuOSAwLTI1LjIgMTkuMi00MC4yIDQ4LTQwLjIgMTEuOCAwIDIzLjUgMS44IDM1LjMgNi41bDAgMzMuNGMtMTAuOC01LjgtMjQuNS05LjEtMzUuMy05LjEtNy41IDAtMTIuMSAyLjItMTIuMSA3LjcgMCAxNiA1NC4zIDguNCA1NC4zIDUwLjd6TTE5MSAyMjQuNWwtMjcgMCAwIDUwLjVjMCAyMC45IDIyLjUgMTQuNCAyNyAxMi42bDAgMjguOWMtNC43IDIuNi0xMy4zIDQuNy0yNC45IDQuNy0yMS4xIDAtMzYuOS0xNS41LTM2LjktMzYuNWwuMi0xMTMuOSAzNC43LTcuNCAwIDMwLjggMjYuOSAwIDAgMzAuM3ptNzQgMi40Yy00LjUtMS41LTE4LjctMy42LTI3LjEgNy40bDAgODQuNC0zNS41IDAgMC0xMjQuNSAzMC43IDAgMi4yIDEwLjVjOC4zLTE1LjMgMjQuOS0xMi4yIDI5LjYtMTAuNWwuMSAwIDAgMzIuN3ptNDQuMSA5MS44bC0zNS43IDAgMC0xMjQuNSAzNS43IDAgMCAxMjQuNXptMC0xNDIuOWwtMzUuNyA3LjYgMC0yOC45IDM1LjctNy42IDAgMjguOXptNzQuMSAxNDUuNWMtMTIuNCAwLTIwLTUuMy0yNS4xLTlsLS4xIDQwLjItMzUuNSA3LjUgMC0xNjUuOCAzMS4zIDAgMS44IDguOGM0LjktNC41IDEzLjktMTEuMSAyNy44LTExLjEgMjQuOSAwIDQ4LjQgMjIuNSA0OC40IDYzLjggMCA0NS4xLTIzLjIgNjUuNS00OC42IDY1LjZ6bTE2MC40LTUxLjVsLTY5LjUgMGMxLjYgMTYuNiAxMy44IDIxLjUgMjcuNiAyMS41IDE0LjEgMCAyNS4yLTMgMzQuOS03LjlsMCAyOC42Yy05LjcgNS4zLTIyLjQgOS4yLTM5LjQgOS4yLTM0LjYgMC01OC44LTIxLjctNTguOC02NC41IDAtMzYuMiAyMC41LTY0LjkgNTQuMy02NC45IDMzLjcgMCA1MS4zIDI4LjcgNTEuMyA2NS4xIDAgMy41LS4zIDEwLjktLjQgMTIuOXoiXX0sSXh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndvcmRwcmVzcy1zaW1wbGUiLGljb246WzUxMiw1MTIsW10sImY0MTEiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek0zMyAyNTZjMC0zMi4zIDYuOS02MyAxOS4zLTkwLjdMMTU4LjcgNDU2LjdDODQuMyA0MjAuNSAzMyAzNDQuMiAzMyAyNTZ6TTI1NiA0NzljLTIxLjkgMC00My0zLjItNjMtOS4xbDY2LjktMTk0LjQgNjguNSAxODcuOGMuNSAxLjEgMSAyLjEgMS42IDMuMS0yMy4xIDguMS00OCAxMi42LTc0IDEyLjZ6bTMwLjctMzI3LjVjMTMuNC0uNyAyNS41LTIuMSAyNS41LTIuMSAxMi0xLjQgMTAuNi0xOS4xLTEuNC0xOC40IDAgMC0zNi4xIDIuOC01OS40IDIuOC0yMS45IDAtNTguNy0yLjgtNTguNy0yLjgtMTItLjctMTMuNCAxNy43LTEuNCAxOC40IDAgMCAxMS40IDEuNCAyMy40IDIuMWwzNC43IDk1LjItNDguOCAxNDYuMy04MS4yLTI0MS41YzEzLjQtLjcgMjUuNS0yLjEgMjUuNS0yLjEgMTItMS40IDEwLjYtMTkuMS0xLjQtMTguNCAwIDAtMzYuMSAyLjgtNTkuNCAyLjgtNC4yIDAtOS4xLS4xLTE0LjQtLjMgMzkuOS02MC41IDEwOC40LTEwMC41IDE4Ni4zLTEwMC41IDU4IDAgMTEwLjkgMjIuMiAxNTAuNiA1OC41LTEtLjEtMS45LS4yLTIuOS0uMi0yMS45IDAtMzcuNCAxOS4xLTM3LjQgMzkuNiAwIDE4LjQgMTAuNiAzMy45IDIxLjkgNTIuMyA4LjUgMTQuOCAxOC40IDMzLjkgMTguNCA2MS41IDAgMTkuMS03LjMgNDEuMi0xNyA3Mi4xbC0yMi4yIDc0LjMtODAuNy0yMzkuNnptODEuNCAyOTcuMmw2OC4xLTE5Ni45YzEyLjctMzEuOCAxNy01Ny4yIDE3LTc5LjkgMC04LjItLjUtMTUuOC0xLjUtMjIuOSAxNy40IDMxLjggMjcuMyA2OC4yIDI3LjMgMTA3IDAgODIuMy00NC42IDE1NC4xLTExMC45IDE5Mi43eiJdfSxOeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2VsbHN5IixpY29uOls2NDAsNTEyLFtdLCJmMjEzIiwiTTU0MCAyMzcuM2MzLjEtMTIuMyA0LjMtMjQuOCA0LjMtMzcuNCAwLTkyLjUtNzUuNC0xNjcuOS0xNjcuOS0xNjcuOS03Ny4yIDAtMTQ0LjYgNTMtMTYzIDEyNy44LTE1LjMtMTMuMi0zNC45LTIwLjUtNTUuMi0yMC41LTQ2LjMgMC04NCAzNy43LTg0IDg0IDAgNy40IC45IDE1IDMuMSAyMi40LTQyLjkgMjAuMi03MC44IDYzLjctNzAuOCAxMTEuMiAwIDY4IDU1LjUgMTIzLjIgMTIzLjIgMTIzLjJsMzgxLjIgMGM2Ny43IDAgMTIzLjItNTUuMiAxMjMuMi0xMjMuMiAwLTU2LjQtMzguOS0xMDYtOTQuMS0xMTkuNXpNMjAwLjIgNDAxLjZjMCA4LjMtNyAxNS4zLTE1LjMgMTUuM2wtMzAuOSAwYy04LjMgMC0xNS4zLTctMTUuMy0xNS4zbDAtMTEwLjljMC04LjMgNy0xNS4zIDE1LjMtMTUuM2wzMC45IDBjOC4zIDAgMTUuMyA3IDE1LjMgMTUuM2wwIDExMC45em04OS41IDBjMCA4LjMtNyAxNS4zLTE1LjMgMTUuM2wtMzAuOSAwYy04LjMgMC0xNS4zLTctMTUuMy0xNS4zbDAtMTMxLjVjMC04LjMgNy0xNS4zIDE1LjMtMTUuM2wzMC45IDBjOC4zIDAgMTUuMyA3IDE1LjMgMTUuM2wwIDEzMS41em04OS41IDBjMCA4LjMtNyAxNS4zLTE1LjMgMTUuM2wtMzEgMGMtOC4zIDAtMTUuMy03LTE1LjMtMTUuM2wwLTE2Mi43YzAtOC4zIDctMTUuMyAxNS4zLTE1LjNsMzEgMGM4LjMgMCAxNS4zIDcgMTUuMyAxNS4zbDAgMTYyLjd6bTg3IDBjMCA4LjMtNyAxNS4zLTE1LjMgMTUuM2wtMjguNSAwYy04LjMgMC0xNS4zLTctMTUuMy0xNS4zbDAtMjI0LjZjMC04LjYgNy0xNS42IDE1LjMtMTUuNmwyOC41IDBjOC4zIDAgMTUuMyA3IDE1LjMgMTUuNmwwIDIyNC42eiJdfSxSeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGFzaGN1YmUiLGljb246WzQ0OCw1MTIsW10sImYyMTAiLCJNMzI2LjkgMTA0bC0yMTYuMiAwYy01MS4xIDAtOTEuMiA0My4zLTkxLjIgOTMuNWwwIDIyOS41YzAgNTAuNSA0MC4xIDg1IDkxLjIgODVsMjI3LjIgMGM1MS4xIDAgOTEuMi0zNC41IDkxLjItODVsMC00MjctMTAyLjIgMTA0ek0xNTQuMiA0MTYuNWMtMTcuNyAwLTMyLjQtMTUuMS0zMi40LTMyLjhsMC0xNDIuOWMwLTE3LjcgMTQuNy0zMi41IDMyLjQtMzIuNWwxNDAuNyAwYzE3LjcgMCAzMiAxNC44IDMyIDMyLjVsMCAxMjMuNSA1MS4xIDUyLjMtMjIzLjggMCAwLS4xeiJdfSxPeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2l0dGVyIixpY29uOlszODQsNTEyLFtdLCJmNDI2IiwiTTY2LjQgMzIyLjVsLTUwLjQgMCAwLTMyMi41IDUwLjQgMCAwIDMyMi41ek0xNjYuOSA3Ni4xbC01MC40IDAgMCA0MzUuOSA1MC40IDAgMC00MzUuOXptMTAwLjYgMGwtNTAuNCAwIDAgNDM1LjkgNTAuNCAwIDAtNDM1Ljl6TTM2OCA3NmwtNTAuNCAwIDAgMjQ3IDUwLjQgMCAwLTI0N3oiXX0sRnh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndvbGYtcGFjay1iYXR0YWxpb24iLGljb246WzQ0OCw1MTIsW10sImY1MTQiLCJNMjM2LjIgNDcxLjVsMTAuNiAxNS44IDUuMy0xMi4zIDUuMyA3IDAgMjkuOWMyMS4xLTcuOSAyMS4xLTY2LjkgMjUuNS05Ny4yIDQuNi0zMS45LS45LTkyLjggODEuNC0xNDkuMS04LjktMjMuNi0xMi00OS40LTIuNi04MCAyNy45IDMuNCA1My45IDEwLjYgNjMuMyA1NC4xbC0zMC4zIDguNGMxMS4xIDIzIDE3IDQ2LjggMTMuMiA3Mi4xbC0yNy4zLTctNi4yIDMzLjQtMTguNS03LTguOCAzMy40LTE5LjQtNyAyNi40IDIxLjEgOC44LTI4LjIgMjQuNiA1LjIgNy0zNS42IDI2LjQgMTQuNWMuMi0yMCA3LTU4LjEtOC44LTg0LjVsMjYuNCA1LjNjNC0yMi4xLTIuNC0zOS4yLTcuOS01Ni43bDIyLjQgOS43Yy0uNC0yNS4xLTI5LjktNTYuOC02MS42LTU4LjUtMjAuMi0xLjEtNTYuNy0yNS4yLTU0LjEtNTEuOSAyLTE5LjkgMTcuNC00Mi42IDQzLjEtNDkuNy00NCAzNi41LTkuNyA2Ny4zIDUuMyA3My41IDQuNC0xMS40IDE3LjUtNjkuMSAwLTEzMC4yLTQwLjQgMjIuOS04OS43IDY1LjEtOTMuMiAxNDcuOGwtNTggMzguNy0zLjUgOTMuMiAxMDcuMy01OS44IDcgNy0xNy42IDMuNS00NCAzOC43LTE1LjgtNS4zLTI4LjEgNDkuMy0zLjUgMTE5LjYgMjEuMSAxNS44LTMyLjUgMTUuOC0zMi42LTE1LjggMjEuMS0xNS44LTMuNS0xMTkuNi0yOC4yLTQ5LjMtMTUuOCA1LjMtNDQtMzguNy0xNy42LTMuNSA3LTcgMTA3LjMgNTkuOC0zLjUtOTMuMy01OC4xLTM4LjdjLTMuNS04Mi44LTUyLjctMTI1LTkzLjItMTQ3LjktMTcuNSA2MS4xLTQuNCAxMTguOCAwIDEzMC4yIDE1LTYuMiA0OS4zLTM3IDUuMy03My41IDI1LjcgNy4xIDQxLjEgMjkuOCA0My4xIDQ5LjcgMi42IDI2LjctMzMuOSA1MC44LTU0LjEgNTEuOS0zMS43IDEuNy02MS4yIDMzLjQtNjEuNiA1OC41bDIyLjQtOS43QzEzLjQgMjI0LjcgNyAyNDEuOCAxMSAyNjMuOWwyNi40LTUuM2MtMTUuOCAyNi40LTkuMSA2NC40LTguOCA4NC40bDI2LjQtMTQuNSA3IDM1LjYgMjQuNi01LjMgOC44IDI4LjIgMjYuNC0yMS4xLTE5LjQgNy04LjgtMzMuNC0xOC41IDctNi4yLTMzLjQtMjcuMyA3QzM4IDI5NC44IDQzLjggMjcxIDU1IDI0OGwtMzAuMy04LjRjOS40LTQzLjUgMzUuNS01MC44IDYzLjMtNTQuMSA5LjQgMzAuNiA2LjIgNTYuNS0yLjYgODAuMSA4Mi4zIDU2LjMgNzYuOCAxMTcuMiA4MS40IDE0OS4xIDQuNCAzMC4zIDQuNCA4OS4zIDI1LjUgOTcuMmwwLTI5LjggNS4zLTcgNS4zIDEyLjMgMTAuNi0xNS44IDExLjQgMjEuMSAxMS40LTIxLjEgMCAwem03OS4yLTk1TDI5OS41IDM2NmM3LjUtNC40IDEzLjgtOC40IDE5LjQtMTIuMy0uNiA3LjItLjMgMTMuOC0zLjUgMjIuOGwwIDB6bTI4LjItNDkuM2MtLjQgMTAuOS0uOSAyMS43LTEuOCAzMS43LTcuOC0xLjktMTUuNi0zLjgtMjEuMS03IDguMi03LjkgMTUuNi0xNi4zIDIyLjktMjQuN2wwIDB6bTI0LjYgNS4zYzAtMTMuNC0yLjEtMjQuMi01LjMtMzMuNC01LjUgOS41LTExLjcgMTguNi0xOC41IDI3LjNsMjMuOCA2LjJ6bTMuNS04MC45YzE5LjQgMTIuOCAyNy44IDMzLjcgMjkuOSA1Ni4zLTEyLjMtNC41LTI0LjYtOS4zLTM3LTEwLjYgNS4xLTEyIDYuNi0yOC4xIDctNDUuN2wwIDB6bS0xLjgtNDUuN2MuOCAxNC4zIDEuOCAyOC44IDEuOCA0Mi4yIDE5LjItOC4xIDI5LjgtOS43IDQ0LTE0LjEtMTAuNi0xOS0yNy4yLTI1LjUtNDUuOC0yOC4ybDAgMHpNMTM0LjIgMzc2LjVMMTUwIDM2NmMtNy41LTQuNC0xMy44LTguNC0xOS40LTEyLjMgLjYgNy4zIC4zIDEzLjkgMy41IDIyLjlsMCAwek0xMDYgMzI3LjNjLjQgMTAuOSAuOSAyMS43IDEuOCAzMS43IDcuOC0xLjkgMTUuNi0zLjggMjEuMS03LTguMi03LjktMTUuNi0xNi4zLTIyLjktMjQuN3ptLTI0LjYgNS4zYzAtMTMuNCAyLTI0LjIgNS4zLTMzLjQgNS41IDkuNSAxMS43IDE4LjYgMTguNSAyNy4zbC0yMy44IDYuMnptLTMuNS04MC45Yy0xOS40IDEyLjgtMjcuOCAzMy43LTI5LjkgNTYuMyAxMi4zLTQuNSAyNC42LTkuMyAzNy0xMC42LTUtMTItNi42LTI4LjEtNy00NS43bC0uMSAwem0xLjgtNDUuN2MtLjggMTQuMy0xLjggMjguOC0xLjggNDIuMi0xOS4yLTguMS0yOS44LTkuNy00NC0xNC4xIDEwLjYtMTkgMjcuMi0yNS41IDQ1LjgtMjguMXoiXX0sQnh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imxhc3RmbSIsaWNvbjpbNTEyLDUxMixbXSwiZjIwMiIsIk0yMjUuOCAzNjcuMWwtMTguOC01MXMtMzAuNSAzNC03Ni4yIDM0Yy00MC41IDAtNjkuMi0zNS4yLTY5LjItOTEuNSAwLTcyLjEgMzYuNC05Ny45IDcyLjEtOTcuOSA2Ni41IDAgNzQuOCA1My4zIDEwMC45IDEzNC45IDE4LjggNTYuOSA1NCAxMDIuNiAxNTUuNCAxMDIuNiA3Mi43IDAgMTIyLTIyLjMgMTIyLTgwLjkgMC03Mi45LTYyLjctODAuNi0xMTUtOTIuMS0yNS44LTUuOS0zMy40LTE2LjQtMzMuNC0zNCAwLTE5LjkgMTUuOC0zMS43IDQxLjYtMzEuNyAyOC4yIDAgNDMuNCAxMC42IDQ1LjcgMzUuOGw1OC42LTdjLTQuNy01Mi44LTQxLjEtNzQuNS0xMDAuOS03NC41LTUyLjggMC0xMDQuNCAxOS45LTEwNC40IDgzLjkgMCAzOS45IDE5LjQgNjUuMSA2OCA3Ni44IDQ0LjkgMTAuNiA3OS44IDEzLjggNzkuOCA0NS43IDAgMjEuNy0yMS4xIDMwLjUtNjEgMzAuNS01OS4yIDAtODMuOS0zMS4xLTk3LjktNzMuOS0zMi05Ni44LTQzLjYtMTYzLTE2MS4zLTE2My04Ni4xIDAtMTMxLjggNTQuNS0xMzEuOCAxNDcuMiAwIDg5LjEgNDUuNyAxMzcuMiAxMjcuOSAxMzcuMiA2Ni4yIDAgOTcuOS0zMS4xIDk3LjktMzEuMXoiXX0sSHh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNob3B3YXJlIixpY29uOls1MTIsNTEyLFtdLCJmNWI1IiwiTTQwMy41IDQ1NS40Yy00Mi42IDMxLjctOTQuNCA0OC43LTE0Ny41IDQ4LjYtMTM3LjIgMC0yNDgtMTExLTI0OC0yNDggMC0xMzcuMiAxMTEtMjQ4IDI0OC0yNDggNjEuMi0uMSAxMjAuMiAyMi42IDE2NS43IDYzLjUgLjYgLjUgLjkgMS4yIDEuMSAxLjlzLjEgMS41LS4zIDIuMi0uOCAxLjMtMS41IDEuNi0xLjQgLjUtMi4yIC40Yy0xOC44LTIuNS0zNy43LTMuNy01Ni43LTMuNy0xMjkuNCAwLTIyMi40IDUzLjUtMjIyLjQgMTU1LjQgMCAxMDkgOTIuMSAxNDUuOSAxNzYuOCAxNzguNyAzMy42IDEzIDY1LjQgMjUuNCA4NyA0MS42IC40IC4zIC44IC44IDEuMSAxLjNzLjQgMSAuNCAxLjYtLjEgMS4xLS40IDEuNi0uNiAuOS0xLjEgMS4zbC0uMSAwek01MDMgMjMzLjFjLS4xLS45LS41LTEuOC0xLjMtMi40LTUxLjgtNDMtOTMuNi02MC41LTE0NC41LTYwLjUtODQuMSAwLTgwLjMgNTIuMi04MC4zIDUzLjYgMCA0Mi42IDUyLjEgNjIgMTEyLjMgODQuNSAzMS4xIDExLjYgNjMuMiAyMy42IDkyLjcgMzkuOSAuNCAuMiAuOSAuNCAxLjQgLjRzMSAwIDEuNS0uMiAuOS0uNCAxLjMtLjggLjYtLjggLjgtMS4yYzE0LjEtMzYgMTkuNS03NC44IDE2LTExMy4zeiJdfSxxeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmxvZ2dlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjM3YyIsIk0xNjIuNCAxOTZjNC44LTQuOSA2LjItNS4xIDM2LjQtNS4xIDI3LjIgMCAyOC4xIC4xIDMyLjEgMi4xIDUuOCAyLjkgOC4zIDcgOC4zIDEzLjYgMCA1LjktMi40IDEwLTcuNiAxMy40LTIuOCAxLjgtNC41IDEuOS0zMS4xIDIuMS0xNi40IC4xLTI5LjUtLjItMzEuNS0uOC0xMC4zLTIuOS0xNC4xLTE3LjctNi42LTI1LjN6bTYxLjQgOTQuNWMtNTMuOSAwLTU1LjggLjItNjAuMiA0LjEtMy41IDMuMS01LjcgOS40LTUuMSAxMy45IC43IDQuNyA0LjggMTAuMSA5LjIgMTIgMi4yIDEgMTQuMSAxLjcgNTYuMyAxLjJsNDcuOS0uNiA5LjItMS41YzktNS4xIDEwLjUtMTcuNCAzLjEtMjQuNC01LjMtNC43LTUtNC43LTYwLjQtNC43ek00NDcuMiA0MjAuNmMtMy41IDI4LjQtMjMgNTAuNC01MS4xIDU3LjUtNy4yIDEuOC05LjcgMS45LTE3Mi45IDEuOC0xNTcuOCAwLTE2NS45LS4xLTE3Mi0xLjgtOC40LTIuMi0xNS42LTUuNS0yMi4zLTEwLTUuNi0zLjgtMTMuOS0xMS44LTE3LTE2LjQtMy44LTUuNi04LjItMTUuMy0xMC0yMlMwIDQyMC4zIDAgMjU2LjNjMC0xNjMuMSAwLTE2Ni42IDEuOC0xNzMuNyA2LjMtMjQuNyAyNS45LTQzLjYgNTEuMi00OS4yIDcuMy0xLjYgMzMyLjEtMS45IDM0MC0uMyAyMS4yIDQuMyAzNy45IDE3LjEgNDcuNiAzNi40IDcuNyAxNS4zIDctMS41IDcuMyAxODAuNiAuMiAxMTUuOCAwIDE2NC41LS43IDE3MC41ek0zNjEuOCAyMzUuNGMtMS4xLTUtNC4yLTkuNi03LjctMTEuNS0xLjEtLjYtOC0xLjMtMTUuNS0xLjctMTIuNC0uNi0xMy44LS44LTE3LjgtMy4xLTYuMi0zLjYtNy45LTcuNi04LTE4LjMgMC0yMC40LTguNS0zOS40LTI1LjMtNTYuNS0xMi0xMi4yLTI1LjMtMjAuNS00MC42LTI1LjEtMy42LTEuMS0xMS44LTEuNS0zOS4yLTEuOC00Mi45LS41LTUyLjUgLjQtNjcuMSA2LjItMjcgMTAuNy00Ni4zIDMzLjQtNTMuNCA2Mi40LTEuMyA1LjQtMS42IDE0LjItMS45IDY0LjMtLjQgNjIuOCAwIDcyLjEgNCA4NC41IDkuNyAzMC43IDM3LjEgNTMuNCA2NC42IDU4LjQgOS4yIDEuNyAxMjIuMiAyLjEgMTMzLjcgLjUgMjAuMS0yLjcgMzUuOS0xMC44IDUwLjctMjUuOSAxMC43LTEwLjkgMTcuNC0yMi44IDIxLjgtMzguNSAzLjItMTAuOSAyLjktODguNCAxLjctOTMuOXoiXX0sVnh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVkZ2UiLGljb246WzUxMiw1MTIsW10sImYyODIiLCJNMTIwLjEgMzcuNGM0MS0yNS4yIDg3LjYtMzguMiAxMzQuOS0zNy40IDE2OCAwIDI1NyAxMjMuOCAyNTcgMjE5LjUtLjEgMzIuNy0xMyA2My45LTM1LjkgODcuMi0yMi45IDIzLjItNTQgMzYuNS04Ni43IDM3LTc1LjIgMC05MS41LTIzLjEtOTEuNS0zMiAwLTMuOCAxLjItNi4yIDQuOC05LjRsMS0xLjIgLjQtMS42YzEwLjUtMTEuNSAxNS45LTI2LjIgMTUuOS00MS42IDAtNzguNy04Mi4yLTE0Mi43LTE4NC0xNDIuNy0zNy41LS4zLTc0LjUgOC45LTEwNy41IDI2LjkgMjctNTcuNSA4Mi43LTk3LjYgOTEuMy0xMDMuOCAuOC0uNiAuMy0uOCAuMy0uOHptMTUuNiAzMTguMWMtMS40IDMwIDQuNiA2MCAxNi40IDg3LjIgMTMuNiAyNi40IDMyLjcgNTEgNTYuNSA2OS4zLTU5LjUtMTEuNS0xMTEuNS00My45LTE0OS40LTg5LjMtMzguMS00Ni40LTU5LjItMTA0LjMtNTkuMi0xNjQuOCAwLTUxLjIgNjIuNC05NC40IDEzNi05NC40IDM2LjYtLjYgNzIuNCAxMC45IDEwMS44IDMyLjdsLTMuNiAxLjJjLTUxLjUgMTcuNi05OC41IDkwLjctOTguNSAxNTguMXpNNDY5LjggNDAwbC0uNyAuMWMtMTEuOCAxOC44LTI1LjkgMzUuMS00Mi4yIDQ5LjUtMzAuOCAyOC02OC4xIDQ1LjUtMTA4LjggNDkuOS0xOC42IC4zLTM2LjgtMy4yLTUzLjgtMTEuNC0yNS42LTEwLjMtNDcuMS0zMC02MS42LTUzLTE0LjQtMjMuOS0yMS4xLTUxLjctMTktNzkuNi0uNi0yMC4xIDUuNC00MC4zIDE1LTU4LjIgMTMuOSAzMy4xIDM3LjUgNjEuMyA2Ny42IDgwLjhzNjUuNSAyOS41IDEwMS40IDI4LjZjMzEgLjMgNjIuMS02LjcgOTAuMi0yMC41bDEuOS0uOWMzLjktMi4zIDcuNy0zLjkgMTEuNiAwIDQuNSA0LjkgMS44IDkuMi0xLjIgMTQtLjIgLjItLjMgLjUtLjQgLjd6Il19LGp4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpb3hob3N0IixpY29uOls2NDAsNTEyLFtdLCJmMjA4IiwiTTYxNiAxNjBsLTY3LjMgMEM1MTEuMiA3MC43IDQyMi45IDggMzIwIDggMTgzIDggNzIgMTE5IDcyIDI1NiA3MiAyNzIuNCA3My42IDI4OC41IDc2LjcgMzA0TDI0IDMwNGMtMTMuMyAwLTI0IDEwLjgtMjQgMjQgMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjcuMyAwYzM3LjUgODkuMyAxMjUuOCAxNTIgMjI4LjcgMTUyIDEzNyAwIDI0OC0xMTEgMjQ4LTI0OCAwLTE2LjQtMS42LTMyLjUtNC43LTQ4bDUyLjcgMGMxMy4zIDAgMjQtMTAuOCAyNC0yNCAwLTEzLjMtMTAuNy0yNC0yNC0yNHptLTk2IDk2YzAgMTEwLjUtODkuNSAyMDAtMjAwIDIwMC03NS43IDAtMTQxLjYtNDItMTc1LjUtMTA0TDQyNCAzNTJjMTMuMyAwIDI0LTEwLjggMjQtMjQgMC0xMy4zLTEwLjctMjQtMjQtMjRsLTI5OC4yIDBjLTMuOC0xNS40LTUuOC0zMS40LTUuOC00OCAwLTExMC41IDg5LjUtMjAwIDIwMC0yMDAgNzUuNyAwIDE0MS42IDQyIDE3NS41IDEwNEwyMTYgMTYwYy0xMy4zIDAtMjQgMTAuOC0yNCAyNCAwIDEzLjMgMTAuNyAyNCAyNCAyNGwyOTguMiAwYzMuOCAxNS40IDUuOCAzMS40IDUuOCA0OHpNMjE2IDIzMmwyMDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDEzLjItMTAuNyAyNC0yNCAyNGwtMjA4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0IDAtMTMuMiAxMC43LTI0IDI0LTI0eiJdfSxVeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2NobGl4IixpY29uOls0NDgsNTEyLFtdLCJmM2VhIiwiTTM1MC41IDE1Ny43bC01NC4yLTQ2LjEgNzMuNC0zOSA3OC4zIDQ0LjItOTcuNSA0MC45ek0xOTIgMTIyLjFsNDUuNy0yOC4yIDM0LjcgMzQuNi01NS40IDI5LTI1LTM1LjR6bS02NS4xIDYuNmwzMS45LTIyLjEgMTcuMiAyOC40LTM2LjcgMjIuNS0xMi40LTI4Ljh6bS0yMy4zIDg4LjJsLTguOC0zNC44IDI5LjYtMTguMyAxMy4xIDM1LjMtMzMuOSAxNy44ek04Mi40IDEzMy4ybDIzLjktMTguMSA4LjkgMjQtMjYuNyAxOC4zLTYuMS0yNC4yek01OSAyMDYuNWwtMy42LTI4LjQgMjIuMy0xNS41IDYuMSAyOC43LTI0LjggMTUuMnpNMjguNCAyMjMuMWwyMC44LTEyLjggMy4zIDMzLjQtMjIuOSAxMi0xLjItMzIuNnpNMS40IDI2OEwyMC42IDI1Ny44IDIxIDI5NiAwIDMwNC44IDEuNCAyNjh6bTU5LjEgNTkuM2wtMjguMyA4LjMtMS42LTQ2LjggMjUuMS0xMC43IDQuOCA0OS4yek05OSAyNjMuMmwtMzEuMSAxMy01LjItNDAuOCAyNy40LTE0LjQgOC45IDQyLjJ6TTEyMy4yIDM3N2wtNDEuNiA1LjktOC4xLTYzLjUgMzUuMi0xMC44IDE0LjUgNjguNHptMjguNS0xMzkuOWwyMS4yIDU3LjEtNDYuMiAxMy42LTEzLjctNTQuMSAzOC43LTE2LjZ6bTg1LjcgMjMwLjVsLTcwLjktMy4zLTI0LjMtOTUuOCA1NS4yLTguNiA0MCAxMDcuN3pNMTUyLjUgMTg3LjlsNDIuMi0yMi40IDI4IDQ1LjktNTAuOCAyMS4zLTE5LjQtNDQuOHptNDEgOTQuOWw2MS4zLTE4LjcgNTIuOCA4Ni42LTc5LjggMTEuMy0zNC4zLTc5LjJ6bTUxLjQtODUuNmw2Ny4zLTI4LjggNjUuNSA2NS40LTg4LjYgMjYuMi00NC4yLTYyLjh6Il19LFd4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkLWFuZC1kIixpY29uOls1NzYsNTEyLFtdLCJmMzhkIiwiTTgyLjkgOTguOWMtLjYtMTcuMiAyLTMzLjggMTIuNy00OC4yIC4zIDcuNCAxLjIgMTQuNSA0LjIgMjEuNiA1LjktMjcuNSAxOS43LTQ5LjMgNDIuMy02NS41LTEuOSA1LjktMy41IDExLjgtMyAxNy43IDguNy03LjQgMTguOC0xNy44IDQ0LjQtMjIuNyAxNC43LTIuOCAyOS43LTIgNDIuMSAxIDM4LjUgOS4zIDYxIDM0LjMgNjkuNyA3Mi4zIDUuMyAyMy4xIC43IDQ1LTguMyA2Ni40LTUuMiAxMi40LTEyIDI0LjQtMjAuNyAzNS4xLTItMS45LTMuOS0zLjgtNS44LTUuNi00Mi44LTQwLjgtMjYuOC0yNS4yLTM3LjQtMzcuNC0xLjEtMS4yLTEtMi4yLS4xLTMuNiA4LjMtMTMuNSAxMS44LTI4LjIgMTAtNDQtMS4xLTkuOC00LjMtMTguOS0xMS4zLTI2LjItMTQuNS0xNS4zLTM5LjItMTUtNTMuNSAuNi0xMS40IDEyLjUtMTQuMSAyNy40LTEwLjkgNDMuNiAuMiAxLjMgLjQgMi43IDAgMy45LTMuNCAxMy43LTQuNiAyNy42LTIuNSA0MS42IC4xIC41IC4xIDEuMSAuMSAxLjYgMCAuMy0uMSAuNS0uMiAxLjEtMjEuOC0xMS0zNi0yOC4zLTQzLjItNTIuMi04LjMgMTcuOC0xMS4xIDM1LjUtNi42IDU0LjEtMTUuNi0xNS4yLTIxLjMtMzQuMy0yMi01NS4yek01NTIuNSAyMjIuMWMtMTEuNi0xMS42LTI1LTIwLjQtNDAuMS0yNi42LTEyLjgtNS4yLTI2LTcuOS0zOS45LTcuMS0xMCAuNi0xOS42IDMuMS0yOSA2LjQtMi41IC45LTUuMSAxLjYtNy43IDIuMi00LjkgMS4yLTcuMy0zLjEtNC43LTYuOCAzLjItNC42IDMuNC00LjIgMTUtMTIgLjYtLjQgMS4yLS44IDIuMi0xLjVsLTIuNSAwYy0uNiAwLTEuMiAuMi0xLjkgLjMtMTkuMyAzLjMtMzAuNyAxNS41LTQ4LjkgMjkuNi0xMC40IDguMS0xMy44IDMuOC0xMi0uNSAxLjQtMy41IDMuMy02LjcgNS4xLTEwIDEtMS44IDIuMy0zLjQgMy41LTUuMS0uMi0uMi0uNS0uMy0uNy0uNS0yNyAxOC4zLTQ2LjcgNDIuNC01Ny43IDczLjMgLjMgLjMgLjcgLjYgMSAuOSAuMy0uNiAuNS0xLjIgLjktMS43IDEwLjQtMTIuMSAyMi44LTIxLjggMzYuNi0yOS44IDE4LjItMTAuNiAzNy41LTE4LjMgNTguNy0yMC4yIDQuMy0uNCA4LjctLjEgMTMuMS0uMS0xLjggLjctMy41IC45LTUuMyAxLjEtMTguNSAyLjQtMzUuNSA5LTUxLjUgMTguNS0zMC4yIDE3LjktNTQuNSA0Mi4yLTc1LjEgNzAuNC0uMyAuNC0uNCAuOS0uNyAxLjMgMTQuNSA1LjMgMjQgMTcuMyAzNi4xIDI1LjYgLjItLjEgLjMtLjIgLjQtLjRsMS4yLTIuN2MxMi4yLTI2LjkgMjctNTIuMyA0Ni43LTc0LjUgMTYuNy0xOC44IDM4LTI1LjMgNjIuNS0yMCA1LjkgMS4zIDExLjQgNC40IDE3LjIgNi44IDIuMy0xLjQgNS4xLTMuMiA4LTQuNyA4LjQtNC4zIDE3LjQtNyAyNi43LTkgMTQuNy0zLjEgMjkuNS00LjkgNDQuNS0xLjNsMC0uNWMtLjUtLjQtMS4yLS44LTEuNy0xLjR6TTMxNy4xIDM5Ny42Yy0zOS40LTMzLTIyLjgtMTkuNS00Mi43LTM1LjYtLjggLjkgMC0uMi0xLjkgMy0xMS4yIDE5LjEtMjUuNSAzNS4zLTQ0IDQ3LjYtMTAuMyA2LjgtMjEuNSAxMS44LTM0LjEgMTEuOC0yMS42IDAtMzguMi05LjUtNDkuNC0yNy44LTEyLTE5LjUtMTMuMy00MC43LTguMi02Mi42IDcuOC0zMy44IDMwLjEtNTUuMiAzOC42LTY0LjMtMTguNy02LjItMzMgMS43LTQ2LjQgMTMuOSAuOC0xMy45IDQuMy0yNi4yIDExLjgtMzcuMy0yNC4zIDEwLjYtNDUuOSAyNS02NC44IDQzLjktLjMtNS44IDUuNC00My43IDUuNi00NC43IC4zLTIuNy0uNi01LjMtMy03LjQtMjQuMiAyNC43LTQ0LjUgNTEuOC01Ni4xIDg0LjYgNy40LTUuOSAxNC45LTExLjQgMjMuNi0xNi4yLTguMyAyMi4zLTE5LjYgNTIuOC03LjggMTAxLjEgNC42IDE5IDExLjkgMzYuOCAyNC4xIDUyLjMgMi45IDMuNyA2LjMgNi45IDkuNSAxMC4zIC4yLS4yIC40LS4zIC42LS41LTEuNC03LTIuMi0xNC4xLTEuNS0yMS45IDIuMiAzLjIgMy45IDYgNS45IDguNiAxMi42IDE2IDI4LjcgMjcuNCA0Ny4yIDM1LjYgMjUgMTEuMyA1MS4xIDEzLjMgNzcuOSA4LjYgNTQuOS05LjcgOTAuNy00OC42IDExNi05OC44IDEtMS44IC42LTIuOS0uOS00LjJ6bTE3Mi00Ni40Yy05LjUtMy4xLTIyLjItNC4yLTI4LjctMi45IDkuOSA0IDE0LjEgNi42IDE4LjggMTIgMTIuNiAxNC40IDEwLjQgMzQuNy01LjQgNDUuNi0xMS43IDguMS0yNC45IDEwLjUtMzguOSA5LjEtMS4yLS4xLTIuMy0uNC0zLS42IDIuOC0zLjcgNi03IDguMS0xMC44IDkuNC0xNi44IDUuNC00Mi4xLTguNy01Ni4xLTIuMS0yLjEtNC42LTMuOS03LTUuOS0uMyAxLjMtLjEgMi4xIC4xIDIuOCA0LjIgMTYuNi04LjEgMzIuNC0yNC44IDMxLjgtNy42LS4zLTEzLjktMy44LTE5LjYtOC41LTE5LjUtMTYuMS0zOS4xLTMyLjEtNTguNS00OC4zLTUuOS00LjktMTIuNS04LjEtMjAuMS04LjctNC42LS40LTkuMy0uNi0xMy45LS45LTUuOS0uNC04LjgtMi44LTEwLjQtOC40LS45LTMuNC0xLjUtNi44LTIuMi0xMC4yLTEuNS04LjEtNi4yLTEzLTE0LjMtMTQuMi00LjQtLjctOC45LTEtMTMuMy0xLjUtMTMtMS40LTE5LjgtNy40LTIyLjYtMjAuMy01IDExLTEuNiAyMi40IDcuMyAyOS45IDQuNSAzLjggOS4zIDcuMyAxMy44IDExLjIgNC42IDMuOCA3LjQgOC43IDcuOSAxNC44IC40IDQuNyAuOCA5LjUgMS44IDE0LjEgMi4yIDEwLjYgOC45IDE4LjQgMTcgMjUuMSAxNi41IDEzLjcgMzMgMjcuMyA0OS41IDQxLjEgMTcuOSAxNSAxMy45IDMyLjggMTMgNTYtLjkgMjIuOSAxMi4yIDQyLjkgMzMuNSA1MS4yIDEgLjQgMiAuNiAzLjYgMS4xLTE1LjctMTguMi0xMC4xLTQ0LjEgLjctNTIuMyAuMyAyLjIgLjQgNC4zIC45IDYuNCA5LjQgNDQuMSA0NS40IDY0LjIgODUgNTYuOSAxNi0yLjkgMzAuNi04LjkgNDIuOS0xOS44IDItMS44IDMuNy00LjEgNS45LTYuNS0xOS4zIDQuNi0zNS44IC4xLTUwLjktMTAuNiAuNy0uMyAxLjMtLjMgMS45LS4zIDIxLjMgMS44IDQwLjYtMy40IDU3LTE3LjQgMTkuNS0xNi42IDI2LjYtNDIuOSAxNy40LTY2LTguMy0yMC4xLTIzLjYtMzIuMy00My44LTM4Ljl6TTk5LjggMTc5LjNjLTUuMy05LjItMTMuMi0xNS42LTIyLjEtMjEuMyAxMy43LS41IDI2LjYgLjIgMzkuNiAzLjctNy0xMi4yLTguNS0yNC43LTUtMzguNyA1LjMgMTEuOSAxMy43IDIwLjEgMjMuNiAyNi44IDE5LjcgMTMuMiAzNS43IDE5LjYgNDYuNyAzMC4yIDMuNCAzLjMgNi4zIDcuMSA5LjYgMTAuOS0uOC0yLjEtMS40LTQuMS0yLjItNi01LTEwLjYtMTMtMTguNi0yMi42LTI1LTEuOC0xLjItMi44LTIuNS0zLjQtNC41LTMuMy0xMi41LTMtMjUuMS0uNy0zNy42IDEtNS41IDIuOC0xMC45IDQuNS0xNi4zIC44LTIuNCAyLjMtNC42IDQtNi42IC42IDYuOSAwIDI1LjUgMTkuNiA0NiAxMC44IDExLjMgMjIuNCAyMS45IDMzLjkgMzIuNyA5IDguNSAxOC4zIDE2LjcgMjUuNSAyNi44IDEuMSAxLjYgMi4yIDMuMyAzLjggNC43LTUtMTMtMTQuMi0yNC4xLTI0LjItMzMuOC05LjYtOS4zLTE5LjQtMTguNC0yOS4yLTI3LjQtMy4zLTMtNC42LTYuNy01LjEtMTAuOS0xLjItMTAuNCAwLTIwLjYgNC4zLTMwLjIgLjUtMSAxLjEtMiAxLjktMy4zIC41IDQuMiAuNiA3LjkgMS40IDExLjYgNC44IDIzLjEgMjAuNCAzNi4zIDQ5LjMgNjMuNSAxMCA5LjQgMTkuMyAxOS4yIDI1LjYgMzEuNiA0LjggOS4zIDcuMyAxOSA1LjcgMjkuNi0uMSAuNiAuNSAxLjcgMS4xIDIgNi4yIDIuNiAxMCA2LjkgOS43IDE0LjMgNy43LTIuNiAxMi41LTggMTYuNC0xNC41IDQuMiAyMC4yLTkuMSA1MC4zLTI3LjIgNTguNyAuNC00LjUgNS0yMy40LTE2LjUtMjcuNy02LjgtMS4zLTEyLjgtMS4zLTIyLjktMi4xIDQuNy05IDEwLjQtMjAuNiAuNS0yMi40LTI0LjktNC42LTUyLjggMS45LTU3LjggNC42IDguMiAuNCAxNi4zIDEgMjMuNSAzLjMtMiA2LjUtNCAxMi43LTUuOCAxOC45LTEuOSA2LjUgMi4xIDE0LjYgOS4zIDkuNiAxLjItLjkgMi4zLTEuOSAzLjMtMi43LTMuMSAxNy45LTIuOSAxNS45LTIuOCAxOC4zIC4zIDEwLjIgOS41IDcuOCAxNS43IDcuMy0yLjUgMTEuOC0yOS41IDI3LjMtNDUuNCAyNS44IDctNC43IDEyLjctMTAuMyAxNS45LTE3LjktNi41IC44LTEyLjkgMS42LTE5LjIgMi40bC0uMy0uOWM0LjctMy40IDgtNy44IDEwLjItMTMuMSA4LjctMjEuMS0zLjYtMzgtMjUtMzkuOS05LjEtLjgtMTcuOCAuOC0yNS45IDUuNSA2LjItMTUuNiAxNy4yLTI2LjYgMzIuNi0zNC41LTE1LjItNC4zLTguOS0yLjctMjQuNi02LjMgMTQuNi05LjMgMzAuMi0xMy4yIDQ2LjUtMTQuNi01LjItMy4yLTQ4LjEtMy42LTcwLjIgMjAuOSA3LjkgMS40IDE1LjUgMi44IDIzLjIgNC4yLTIzLjggNy00NCAxOS43LTYyLjQgMzUuNiAxLjEtNC44IDIuNy05LjUgMy4zLTE0LjMgLjYtNC41IC44LTkuMiAuMS0xMy42LTEuNS05LjQtOC45LTE1LjEtMTkuNy0xNi4zLTcuOS0uOS0xNS42IC4xLTIzLjMgMS4zLS45IC4xLTEuNyAuMy0yLjkgMCAxNS44LTE0LjggMzYtMjEuNyA1My4xLTMzLjUgNi00LjUgNi44LTguMiAzLTE0Ljl6bTEyOC40IDI2LjhjMy4zIDE2IDEyLjYgMjUuNSAyMy44IDI0LjMtNC42LTExLjMtMTIuMS0xOS41LTIzLjgtMjQuM3oiXX0sR3h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZ1ZWpzIixpY29uOls0NDgsNTEyLFtdLCJmNDFmIiwiTTM1Ni45IDY0LjNsLTc2LjkgMC01NiA4OC42LTQ4LTg4LjYtMTc2IDAgMjI0IDM4My43IDIyNC0zODMuNy05MS4xIDB6TTU1LjcgOTYuM2w1My44IDAgMTE0LjUgMTk4LjIgMTE0LjQtMTk4LjIgNTMuOCAwLTE2OC4yIDI4OC4yLTE2OC4zLTI4OC4yeiJdfSxZeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWV0YSIsaWNvbjpbNjQwLDUxMixbXSwiZTQ5YiIsIk02NDAgMzE3LjljMCA5MS4zLTM5LjQgMTQ4LjUtMTEwLjMgMTQ4LjUtNjIuNiAwLTk1LjgtMzQuNi0xNTYuOS0xMzYuNmwtMzEuNC01Mi42Yy04LjMtMTIuNS0xNC41LTI0LjItMjEuMi0zNS0yMC4xIDMzLjgtNDcuMSA4My00Ny4xIDgzLTY3IDExNi42LTEwNC42IDE0MS4yLTE1Ni45IDE0MS4yLTcyLjggMC0xMTYuMi01Ny4zLTExNi4yLTE0NS45IDAtMTQzIDc5LjgtMjc4LjEgMTgzLjktMjc4LjEgNTAuMiAwIDkzLjggMjQuNyAxNDQuOCA4OS41IDM3LjEtNTAuMSA3OC4xLTg5LjUgMTMwLjYtODkuNSA5OS4xIDAgMTgwLjcgMTI1LjcgMTgwLjcgMjc1LjV6TTI4Ny40IDE5Mi4yYy00Mi45LTYyLjEtNzAuOS04MC41LTEwNC40LTgwLjUtNjEuOSAwLTExMy44IDEwNi4xLTExMy44IDIxMCAwIDQ4LjUgMTguNSA3NS43IDQ5LjYgNzUuNyAzMC4yIDAgNDktMTkgMTAzLjItMTAzLjggMCAwIDI0LjctMzkuMSA2NS40LTEwMS40ek01MzEuMiAzOTcuNGMzMi4yIDAgNDYuOS0yNy41IDQ2LjktNzQuOSAwLTEyNC4yLTU0LjMtMjI1LjQtMTIzLjItMjI1LjQtMzMuMiAwLTYxLjEgMjUuOS05NC45IDc4IDkuNCAxMy44IDE5LjEgMjkgMjkuMyA0NS40bDM3LjUgNjIuNGM1OC43IDk0LjEgNzMuNSAxMTQuNSAxMDQuNCAxMTQuNXoiXX0sS3h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtc2hhcmUiLGljb246WzUxMiw1MTIsW10sImY0ZjIiLCJNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zem0xMDEgMTMyLjRjNy44IDAgMTMuNyA2LjEgMTMuNyAxMy43bDAgMTgyLjVjMCA3LjctNi4xIDEzLjctMTMuNyAxMy43bC0xMzUuMSAwYy03LjcgMC0xMy43LTYtMTMuNy0xMy43bDAtNTQtNTQgMGMtNy44IDAtMTMuNy02LTEzLjctMTMuN2wwLTE4Mi41YzAtOC4yIDYuNi0xMi43IDEyLjQtMTMuN2wxMzYuNCAwYzcuNyAwIDEzLjcgNiAxMy43IDEzLjdsMCA1NCA1NCAwek0xNjcuOSAzMDAuM2w0MC43IDAgMC0xMDEuNGMwLTcuNCA1LjgtMTIuNiAxMi0xMy43bDU1LjggMCAwLTQwLjMtMTA4LjUgMCAwIDE1NS40em0xNzYuMi04OC4xbC0xMDguNSAwIDAgMTU1LjQgMTA4LjUgMCAwLTE1NS40eiJdfSxaeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3R1ZGlvdmluYXJpIixpY29uOls1MTIsNTEyLFtdLCJmM2Y4IiwiTTQ4MC43IDE4Ny43bDQuMiAyOCAwIDI4LTI1LjEgNDQuMS0zOS44IDc4LjQtNTYuMSA2Ny41LTc5LjEgMzcuOC0xNy43IDI0LjUtNy43IDEyLTkuNiA0czE3LjMtNjMuNiAxOS40LTYzLjYgMjAuMyAuNyAyMC4zIC43bDY2LjctMzguNi05Mi41IDI2LjEtNTUuOSAzNi44LTIyLjggMjgtNi42IDEuNCAyMC44LTczLjYgNi45LTUuNSAyMC43IDEyLjkgODguMy00NS4yIDU2LjgtNTEuNSAxNC44LTY4LjQtMTI1LjQgMjMuMyAxNS4yLTE4LjItMTczLjQtNTMuMyA4MS45LTEwLjUtMTY2LTEyMi45IDExNC45IDE4LjEtMTAxLjMtMTA4IDI1Mi45IDEyNi42LTMxLjUtMzggMTI0LjQgNzQuNC0xNDMuMy05OSAxOC43IDM4LjQtNDkuNi0xOC4xLTQ1LjUtODQuMyAxOTQuNiAxMjItNDIuOS01NS44IDEwOCA5Ni40IDEyLTguOS0yMS0xNi40IDQuMi0zNy44IDM3LjgtMTAuNCAyOS4yIDI0LjcgMTEuNSA0LjItNyA2LjIgOC41IDEyLTEzLjEgNy40LTEwLjMgMjAuMiAxMC41IDIzLjl6Il19LFh4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJiaXRidWNrZXQiLGljb246WzUxMiw1MTIsWzYxODEwXSwiZjE3MSIsIk0yMi4yIDMyYy0yLjEgMC00LjIgLjQtNi4xIDEuMXMtMy43IDEuOS01LjIgMy40LTIuNyAzLjItMy41IDUuMS0xLjMgNC0xLjMgNi4xYzAgLjkgLjEgMS45IC4yIDIuOEw3NC4xIDQ2Mi43Yy44IDUuMSAzLjQgOS43IDcuMyAxM3M4LjggNS4yIDE0IDUuMmwzMjUuNyAwYzMuOCAuMSA3LjUtMS4zIDEwLjUtMy43czQuOS01LjkgNS41LTkuN0w1MDUgNTAuN2MuNy00LjItLjMtOC40LTIuOC0xMS45cy02LjItNS43LTEwLjQtNi40Yy0uOS0uMS0xLjktLjItMi44LS4yTDIyLjIgMzJ6TTMwOC4xIDMyOS44bC0xMDQgMC0yOC4xLTE0NyAxNTcuMyAwLTI1LjIgMTQ3eiJdfSxReHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmsiLGljb246WzQ0OCw1MTIsW10sImYxODkiLCJNMzEuNSA2My41QzAgOTUgMCAxNDUuNyAwIDI0N0wwIDI2NUMwIDM2Ni4zIDAgNDE3IDMxLjUgNDQ4LjVTMTEzLjcgNDgwIDIxNSA0ODBsMTcuOSAwYzEwMS40IDAgMTUyLjEgMCAxODMuNS0zMS41UzQ0OCAzNjYuMyA0NDggMjY1bDAtMTcuOWMwLTEwMS40IDAtMTUyLjEtMzEuNS0xODMuNVMzMzQuMyAzMiAyMzMgMzJMMjE1IDMyQzExMy43IDMyIDYzIDMyIDMxLjUgNjMuNXpNNzUuNiAxNjguM2w1MS4xIDBjMS43IDg1LjUgMzkuNCAxMjEuNyA2OS4zIDEyOS4ybDAtMTI5LjIgNDguMiAwIDAgNzMuN2MyOS41LTMuMiA2MC41LTM2LjggNzAuOS03My43bDQ4LjIgMGMtMy45IDE5LjItMTEuOCAzNy4zLTIzLjEgNTMuM3MtMjUuNyAyOS41LTQyLjUgMzkuNmMxOC43IDkuMyAzNS4yIDIyLjQgNDguNCAzOC41czIyLjkgMzQuOSAyOC4zIDU1bC01MyAwYy00LjktMTcuNS0xNC44LTMzLjEtMjguNi00NXMtMzAuNy0xOS40LTQ4LjctMjEuNmwwIDY2LjYtNS44IDBjLTEwMi4xIDAtMTYwLjMtNzAtMTYyLjgtMTg2LjV6Il19LEp4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnaXRodWIiLGljb246WzUxMiw1MTIsW10sImYwOWIiLCJNMTczLjkgMzk3LjRjMCAyLTIuMyAzLjYtNS4yIDMuNi0zLjMgLjMtNS42LTEuMy01LjYtMy42IDAtMiAyLjMtMy42IDUuMi0zLjYgMy0uMyA1LjYgMS4zIDUuNiAzLjZ6bS0zMS4xLTQuNWMtLjcgMiAxLjMgNC4zIDQuMyA0LjkgMi42IDEgNS42IDAgNi4yLTJzLTEuMy00LjMtNC4zLTUuMmMtMi42LS43LTUuNSAuMy02LjIgMi4zem00NC4yLTEuN2MtMi45IC43LTQuOSAyLjYtNC42IDQuOSAuMyAyIDIuOSAzLjMgNS45IDIuNiAyLjktLjcgNC45LTIuNiA0LjYtNC42LS4zLTEuOS0zLTMuMi01LjktMi45ek0yNTIuOCA4Yy0xMzguNyAwLTI0NC44IDEwNS4zLTI0NC44IDI0NCAwIDExMC45IDY5LjggMjA1LjggMTY5LjUgMjM5LjIgMTIuOCAyLjMgMTcuMy01LjYgMTcuMy0xMi4xIDAtNi4yLS4zLTQwLjQtLjMtNjEuNCAwIDAtNzAgMTUtODQuNy0yOS44IDAgMC0xMS40LTI5LjEtMjcuOC0zNi42IDAgMC0yMi45LTE1LjcgMS42LTE1LjQgMCAwIDI0LjkgMiAzOC42IDI1LjggMjEuOSAzOC42IDU4LjYgMjcuNSA3Mi45IDIwLjkgMi4zLTE2IDguOC0yNy4xIDE2LTMzLjctNTUuOS02LjItMTEyLjMtMTQuMy0xMTIuMy0xMTAuNSAwLTI3LjUgNy42LTQxLjMgMjMuNi01OC45LTIuNi02LjUtMTEuMS0zMy4zIDIuNi02Ny45IDIwLjktNi41IDY5IDI3IDY5IDI3IDIwLTUuNiA0MS41LTguNSA2Mi44LTguNXM0Mi44IDIuOSA2Mi44IDguNWMwIDAgNDguMS0zMy42IDY5LTI3IDEzLjcgMzQuNyA1LjIgNjEuNCAyLjYgNjcuOSAxNiAxNy43IDI1LjggMzEuNSAyNS44IDU4LjkgMCA5Ni41LTU4LjkgMTA0LjItMTE0LjggMTEwLjUgOS4yIDcuOSAxNyAyMi45IDE3IDQ2LjQgMCAzMy43LS4zIDc1LjQtLjMgODMuNiAwIDYuNSA0LjYgMTQuNCAxNy4zIDEyLjEgMTAwLTMzLjIgMTY3LjgtMTI4LjEgMTY3LjgtMjM5IDAtMTM4LjctMTEyLjUtMjQ0LTI1MS4yLTI0NHpNMTA1LjIgMzUyLjljLTEuMyAxLTEgMy4zIC43IDUuMiAxLjYgMS42IDMuOSAyLjMgNS4yIDEgMS4zLTEgMS0zLjMtLjctNS4yLTEuNi0xLjYtMy45LTIuMy01LjItMXptLTEwLjgtOC4xYy0uNyAxLjMgLjMgMi45IDIuMyAzLjkgMS42IDEgMy42IC43IDQuMy0uNyAuNy0xLjMtLjMtMi45LTIuMy0zLjktMi0uNi0zLjYtLjMtNC4zIC43em0zMi40IDM1LjZjLTEuNiAxLjMtMSA0LjMgMS4zIDYuMiAyLjMgMi4zIDUuMiAyLjYgNi41IDEgMS4zLTEuMyAuNy00LjMtMS4zLTYuMi0yLjItMi4zLTUuMi0yLjYtNi41LTF6bS0xMS40LTE0LjdjLTEuNiAxLTEuNiAzLjYgMCA1LjlzNC4zIDMuMyA1LjYgMi4zYzEuNi0xLjMgMS42LTMuOSAwLTYuMi0xLjQtMi4zLTQtMy4zLTUuNi0yeiJdfSxleXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY29kaWVwaWUiLGljb246WzUxMiw1MTIsW10sImYyODQiLCJNNDQyLjUgMjAyLjljMzAuNyAwIDMzLjUgNTMuMS0uMyA1My4xbC0xMC44IDAgMCA0NC4zLTI2LjYgMCAwLTk3LjQgMzcuNyAwek00OTIgMzUyLjZDNDQ5LjkgNDQ0LjUgMzcwLjQgNTA0IDI2OCA1MDQgMTMxIDUwNCAyMCAzOTMgMjAgMjU2UzEzMSA4IDI2OCA4Yzk3LjQgMCAxNzIuOCA1My43IDIxOC4yIDEzOC40TDMwMC4yIDI1NS4yIDQ5MiAzNTIuNnptLTM4LjUgMTIuNWwtNjAuMy0zMC43Yy0yNy4xIDQ0LjMtNzAuNCA3MS40LTEyMi40IDcxLjQtODIuNSAwLTE0OS4yLTY2LjctMTQ5LjItMTQ4LjkgMC04Mi41IDY2LjctMTQ5LjIgMTQ5LjItMTQ5LjIgNDguNCAwIDg4LjkgMjMuNSAxMTYuOSA2My40bDU5LjUtMzQuNkM0MDYuNSA3My45IDM0Mi41IDM2LjUgMjY4IDM2LjUgMTQ2LjggMzYuNSA0OC41IDEzNC44IDQ4LjUgMjU2UzE0Ni44IDQ3NS41IDI2OCA0NzUuNWM3OC42IDAgMTQ2LjUtNDIuMSAxODUuNS0xMTAuNHoiXX0sdHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpZWQtcGlwZXIiLGljb246WzQ0OCw1MTIsW10sImYyYWUiLCJNNDQwLjIgMjMuMmMtMjYuNyA2LjgtNjguMSAyOC41LTExNC42IDY3LjUtMzAuOS0xNy41LTY1LjgtMjYuNy0xMDEuNC0yNi43LTExNC45IDAtMjA4IDkzLjEtMjA4IDIwOHM5My4xIDIwOCAyMDggMjA4IDIwOC05My4xIDIwOC0yMDhjLjEtNTQuMS0yMS0xMDYuMS01OC43LTE0NC44LTYuNiA4LjUtMTIuMyAxNy43LTE3IDI3LjQgMjguOSAzMi4zIDQ0LjggNzQuMSA0NC45IDExNy40IDAgOTcuNy03OS40IDE3Ny4xLTE3Ny4xIDE3Ny4xLTMwLjggMC02MS04LjEtODcuNi0yMy40IDgyLjktMTA3LjMgMTUwLjgtMzcuOCAxODQuMy0yMjYuNiA1LjgtMzIuNiAyOC05NC4zIDEyNi4yLTE2MC4yIDguMS01LjQgMi40LTE4LjEtNy0xNS43ek0xMDkuMyA0MDYuNEM4OS44IDM4OS44IDc0LjIgMzY5LjIgNjMuNSAzNDZzLTE2LjMtNDguNS0xNi4zLTc0YzAtOTcuNyA3OS40LTE3Ny4xIDE3Ny4xLTE3Ny4xIDI2LjYgMCA1Mi44IDYuMSA3Ni42IDE3LjgtNjYgNjIuMS0xMjYuOSAxNTIuOS0xOTEuNiAyOTMuOHoiXX0sYXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJhc3BiZXJyeS1waSIsaWNvbjpbNDQ4LDUxMixbXSwiZjdiYiIsIk0zOTIuNSAyMzIuNWwtMy43LTYuNWMuMS00Ni40LTIxLjQtNjUuMy00Ni41LTc5LjcgNy42LTIgMTUuNC0zLjYgMTcuNi0xMy4yIDEzLjEtMy4zIDE1LjgtOS40IDE3LjEtMTUuOCAzLjQtMi4zIDE0LjgtOC43IDEzLjYtMTkuNyA2LjQtNC40IDEwLTEwLjEgOC4xLTE4LjEgNi45LTcuNSA4LjctMTMuNyA1LjgtMTkuNCA4LjMtMTAuMyA0LjYtMTUuNiAxLjEtMjAuOSA2LjItMTEuMiAuNy0yMy4yLTE2LjYtMjEuMi02LjktMTAuMS0yMS45LTcuOC0yNC4yLTcuOC0yLjYtMy4yLTYtNi0xNi41LTQuNy02LjgtNi4xLTE0LjQtNS0yMi4zLTIuMS05LjMtNy4zLTE1LjUtMS40LTIyLjYgLjgtMTEuMy0zLjYtMTMuOSAxLjMtMTkuNCAzLjQtMTIuMy0yLjYtMTYuMSAzLTIyIDguOWwtNi45LS4xYy0xOC42IDEwLjgtMjcuOCAzMi44LTMxLjEgNDQuMS0zLjMtMTEuMy0xMi41LTMzLjMtMzEuMS00NC4xbC02LjkgLjFjLTUuOS01LjktOS43LTExLjUtMjItOC45LTUuNi0yLTguMS03LTE5LjQtMy40LTQuNi0xLjQtOC45LTQuNC0xMy45LTQuMy0yLjYgLjEtNS41IDEtOC43IDMuNS03LjktMy0xNS41LTQtMjIuMyAyLjEtMTAuNS0xLjMtMTQgMS40LTE2LjUgNC43LTIuMyAwLTE3LjMtMi4zLTI0LjIgNy44LTE3LjMtMi0yMi43IDEwLTE2LjUgMjEuMi0zLjUgNS40LTcuMiAxMC43IDEuMSAyMC45LTIuOSA1LjctMS4xIDExLjkgNS44IDE5LjQtMS44IDggMS44IDEzLjcgOC4xIDE4LjEtMS4yIDExIDEwLjIgMTcuNCAxMy42IDE5LjcgMS4zIDYuNCA0IDEyLjQgMTcuMSAxNS44IDIuMiA5LjUgMTAgMTEuMiAxNy42IDEzLjItMjUuMSAxNC40LTQ2LjYgMzMuMy00Ni41IDc5LjdsLTMuNyA2LjVjLTI4LjggMTcuMi01NC43IDcyLjctMTQuMiAxMTcuNyAyLjYgMTQuMSA3LjEgMjQuMiAxMSAzNS40IDUuOSA0NS4yIDQ0LjUgNjYuMyA1NC42IDY4LjggMTQuOSAxMS4yIDMwLjggMjEuOCA1Mi4yIDI5LjIgMjAuMyAyMC42IDQyLjMgMjguNCA2NC4zIDI4LjRsMSAwYzIyLjEgMCA0NC03LjggNjQuMi0yOC40IDIxLjUtNy40IDM3LjMtMTggNTIuMi0yOS4yIDEwLjItMi41IDQ4LjctMjMuNiA1NC42LTY4LjggMy45LTExLjIgOC40LTIxLjMgMTEtMzUuNCA0MC42LTQ1LjEgMTQuNy0xMDAuNS0xNC0xMTcuN3ptLTIyLjItOGMtMS41IDE4LjctOTguOS02NS4xLTgyLjEtNjcuOSA0NS43LTcuNSA4My42IDE5LjIgODIuMSA2Ny45em0tNDMgOTMuMWMtMjQuNSAxNS44LTU5LjggNS42LTc4LjgtMjIuOHMtMTQuNi02NC4yIDkuOS04MCA1OS44LTUuNiA3OC44IDIyLjggMTQuNiA2NC4yLTkuOSA4MHpNMjU5LjQgMjkuM2MuOCA0LjIgMS44IDYuOCAyLjkgNy42IDUuNC01LjggOS44LTExLjcgMTYuOC0xNy4zIDAgMy4zLTEuNyA2LjggMi41IDkuNCAzLjctNSA4LjgtOS41IDE1LjUtMTMuMy0zLjIgNS42LS42IDcuMyAxLjIgOS42IDUuMS00LjQgMTAtOC44IDE5LjQtMTIuMy0yLjYgMy4xLTYuMiA2LjItMi40IDkuOCA1LjMtMy4zIDEwLjYtNi42IDIzLjEtOC45LTIuOCAzLjEtOC43IDYuMy01LjEgOS40IDYuNi0yLjUgMTQtNC40IDIyLjEtNS40LTMuOSAzLjItNy4xIDYuMy0zLjkgOC44IDcuMS0yLjIgMTYuOS01LjEgMjYuNC0yLjZsLTYgNi4xYy0uNyAuOCAxNC4xIC42IDIzLjkgLjgtMy42IDUtNy4yIDkuNy05LjMgMTguMiAxIDEgNS44IC40IDEwLjQgMC00LjcgOS45LTEyLjggMTIuMy0xNC43IDE2LjYgMi45IDIuMiA2LjggMS42IDExLjIgLjEtMy40IDYuOS0xMC40IDExLjctMTYgMTcuMyAxLjQgMSAzLjkgMS42IDkuNyAuOS01LjIgNS41LTExLjQgMTAuNS0xOC44IDE1IDEuMyAxLjUgNS44IDEuNSAxMCAxLjYtNi43IDYuNS0xNS4zIDkuOS0yMy40IDE0LjIgNCAyLjcgNi45IDIuMSAxMCAyLjEtNS43IDQuNy0xNS40IDcuMS0yNC40IDEwIDEuNyAyLjcgMy40IDMuNCA3LjEgNC4xLTkuNSA1LjMtMjMuMiAyLjktMjcgNS42IC45IDIuNyAzLjYgNC40IDYuNyA1LjgtMTUuNCAuOS01Ny4zLS42LTY1LjQtMzIuMyAxNS43LTE3LjMgNDQuNC0zNy41IDkzLjctNjIuNi0zOC40IDEyLjgtNzMgMzAtMTAyIDUzLjUtMzQuMy0xNS45LTEwLjgtNTUuOSA1LjgtNzEuOHpNMjI1IDE0My45YzI0LjItLjMgNTQuMSAxNy44IDU0IDM0LjctLjEgMTUtMjEgMjcuMS01My44IDI2LjktMzIuMS0uNC01My43LTE1LjItNTMuNi0yOS44IDAtMTEuOSAyNi4yLTMyLjUgNTMuNC0zMS44ek0xMDIgMTMxLjFjMy43LS43IDUuNC0xLjUgNy4xLTQuMS05LTIuOC0xOC43LTUuMy0yNC40LTEwIDMuMSAwIDYgLjcgMTAtMi4xLTguMS00LjMtMTYuNy03LjctMjMuNC0xNC4yIDQuMi0uMSA4LjcgMCAxMC0xLjYtNy40LTQuNS0xMy42LTkuNS0xOC44LTE1IDUuOCAuNyA4LjMgLjEgOS43LS45LTUuNi01LjYtMTIuNy0xMC40LTE2LTE3LjMgNC4zIDEuNSA4LjMgMiAxMS4yLS4xLTEuOS00LjItMTAtNi43LTE0LjctMTYuNiA0LjYgLjQgOS40IDEgMTAuNCAwLTIuMS04LjUtNS44LTEzLjMtOS4zLTE4LjIgOS44LS4xIDI0LjYgMCAyMy45LS44bC02LTYuMWM5LjUtMi41IDE5LjMgLjQgMjYuNCAyLjYgMy4yLTIuNS0uMS01LjYtMy45LTguOCA4LjEgMS4xIDE1LjQgMi45IDIyLjEgNS40IDMuNS0zLjEtMi4zLTYuMy01LjEtOS40IDEyLjUgMi4zIDE3LjggNS42IDIzLjEgOC45IDMuOC0zLjYgLjItNi43LTIuNC05LjggOS40IDMuNCAxNC4zIDcuOSAxOS40IDEyLjMgMS43LTIuMyA0LjQtNCAxLjItOS42IDYuNyAzLjggMTEuOCA4LjMgMTUuNSAxMy4zIDQuMS0yLjYgMi41LTYuMiAyLjUtOS40IDcgNS42IDExLjQgMTEuNSAxNi44IDE3LjMgMS4xLS44IDItMy40IDIuOS03LjYgMTYuNiAxNS45IDQwLjEgNTUuOSA2IDcxLjgtMjktMjMuNS02My42LTQwLjctMTAyLTUzLjUgNDkuMyAyNSA3OCA0NS4zIDkzLjcgNjIuNi04IDMxLjgtNTAgMzMuMi02NS40IDMyLjMgMy4xLTEuNCA1LjgtMy4yIDYuNy01LjgtNC0yLjgtMTcuNi0uNC0yNy4yLTUuNnptNjAuMSAyNC4xYzE2LjggMi44LTgwLjYgODYuNS04Mi4xIDY3LjktMS41LTQ4LjcgMzYuNS03NS41IDgyLjEtNjcuOXpNNTguNyAzNDJjLTIzLjctMTguOC0zMS4zLTczLjcgMTIuNi05OC4zIDI2LjUtNyA5IDEwNy44LTEyLjYgOTguM3ptOTEgOTguMmMtMTMuMyA3LjktNDUuOCA0LjctNjguOC0yNy45LTE1LjUtMjcuNC0xMy41LTU1LjItMi42LTYzLjQgMTYuMy05LjggNDEuNSAzLjQgNjAuOSAyNS42IDE2LjkgMjAgMjQuNiA1NS4zIDEwLjUgNjUuN3pNMTIzLjMgMzIwLjVjLTI0LjUtMTUuOC0yOC45LTUxLjYtOS45LTgwczU0LjMtMzguNiA3OC44LTIyLjggMjguOSA1MS42IDkuOSA4MGMtMTkuMSAyOC40LTU0LjQgMzguNi03OC44IDIyLjh6TTIyNS41IDQ5NmMtMjkuNCAxLjItNTguMi0yMy43LTU3LjgtMzIuMy0uNC0xMi43IDM1LjgtMjIuNiA1OS4zLTIyIDIzLjctMSA1NS42IDcuNSA1NS43IDE4LjkgLjUgMTEtMjguOCAzNS45LTU3LjIgMzUuNHptNTguOS0xMjQuOWMuMiAyOS43LTI2LjIgNTMuOC01OC44IDU0cy01OS4yLTIzLjgtNTkuNC01My40bDAtLjZjLS4yLTI5LjcgMjYuMi01My44IDU4LjgtNTRzNTkuMiAyMy44IDU5LjQgNTMuNGwwIC42em04Mi4yIDQyLjdjLTI1LjMgMzQuNi01OS42IDM1LjktNzIuMyAyNi4zLTEzLjMtMTIuNC0zLjItNTAuOSAxNS4xLTcyIDIwLjktMjMuMyA0My4zLTM4LjUgNTguOS0yNi42IDEwLjUgMTAuMyAxNi43IDQ5LjEtMS43IDcyLjN6bTIyLjktNzMuMmMtMjEuNSA5LjQtMzktMTA1LjMtMTIuNi05OC4zIDQzLjkgMjQuNyAzNi4zIDc5LjYgMTIuNiA5OC4zeiJdfSxyeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3NzMyIsaWNvbjpbNTEyLDUxMixbXSwiZjEzYyIsIk00ODAgMzJsLTY0IDM2OC0yMjMuMyA4MC0xOTIuNy04MCAxOS42LTk0LjggODIgMC04IDQwLjYgMTE2LjQgNDQuNCAxMzQuMS00NC40IDE4LjgtOTcuMS0zMzMuNCAwIDE2LTgyIDMzMy43IDAgMTAuNS01Mi43LTMzMy40IDAgMTYuMy04MiA0MDcuNCAweiJdfSxzeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaHVic3BvdCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNiMiIsIk0yMzUuOCAyMTEuNmMtMjUuMSAyMy43LTQwLjggNTcuMy00MC44IDk0LjYgMCAyOS4zIDkuNyA1Ni4zIDI2IDc4TDE3MS41IDQzNGMtNC40LTEuNi05LjEtMi41LTE0LTIuNS0xMC44IDAtMjAuOSA0LjItMjguNSAxMS44cy0xMS44IDE3LjgtMTEuOCAyOC42IDQuMiAyMC45IDExLjggMjguNSAxNy44IDExLjYgMjguNSAxMS42YzEwLjggMCAyMC45LTMuOSAyOC42LTExLjYgNy42LTcuNiAxMS44LTE3LjggMTEuOC0yOC41IDAtNC4yLS42LTguMi0xLjktMTIuMWw1MC01MC4yYzIyIDE2LjkgNDkuNCAyNi45IDc5LjMgMjYuOSA3MS45IDAgMTMwLTU4LjMgMTMwLTEzMC4yIDAtNjUuMi00Ny43LTExOS4yLTExMC4yLTEyOC43bDAtNjEuNmMxNy41LTcuNCAyOC4yLTIzLjggMjguMi00Mi45IDAtMjYuMS0yMC45LTQ3LjktNDctNDcuOVMyNzkuNiA0NyAyNzkuNiA3My4xYzAgMTkuMSAxMC43IDM1LjUgMjguMiA0Mi45bDAgNjEuMmMtMTUuMiAyLjEtMjkuNiA2LjctNDIuNyAxMy42LTI3LjYtMjAuOS0xMTcuNS04NS43LTE2OC45LTEyNC44IDEuMi00LjQgMi05IDItMTMuOCAwLTI4LjgtMjMuNS01Mi4yLTUyLjQtNTIuMi0yOC44IDAtNTIuMiAyMy40LTUyLjIgNTIuMiAwIDI4LjkgMjMuNCA1Mi4zIDUyLjIgNTIuMyA5LjggMCAxOC45LTIuOSAyNi44LTcuNkwyMzUuOCAyMTEuNnptODkuNSAyNS42YTY5IDY5IDAgMSAxIDAgMTM4IDY5IDY5IDAgMSAxIDAtMTM4eiJdfSxpeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY21wbGlkIixpY29uOls2NDAsNTEyLFtdLCJlMzYwIiwiTTIyNi4xIDM4OC4yYzAtLjctLjItMS41LS42LTIuMXMtMS0xLjEtMS43LTEuNGMtLjUtLjItMS4xLS40LTEuNi0uNGwtMTQ5LjYgMGMtMy4xIDAtNi4yLS44LTguOS0yLjJzLTUuMS0zLjUtNi45LTYuMS0yLjktNS41LTMuMy04LjYgMC02LjIgMS4xLTkuMUw4MS42IDI1NS43YzItNy4yIDYuMi0xMy41IDEyLTE4LjJzMTIuOS03LjQgMjAuNC03LjhsMTQ4LjYgMGMxLjUtLjEgMi45LS42IDQtMS42czItMi4yIDIuNC0zLjZsMTAuOC00MS4xYy40LTEgLjMtMi0uMS0yLjlzLTEuMi0xLjYtMi4xLTJjLS40LS4yLS45LS4zLTEuNC0uMy0uMSAwLS4xIDAtLjIgMGwtMTQ4LjUgMGMtMjIuMiAxLjItNDMuNCA5LjItNjAuOCAyM3MtMzAgMzIuNy0zNi4yIDU0LjFMMy41IDM1OC44Yy0zLjIgOC43LTQuMiAxOC0zIDI3LjFzNC42IDE3LjkgOS45IDI1LjUgMTIuMyAxMy44IDIwLjUgMTggMTcuMyA2LjUgMjYuNSA2LjZjMSAwIDEuOSAwIDIuOS0uMWwxNDguNiAwYzEuNS0uMSAyLjktLjcgNC0xLjZzMi0yLjIgMi40LTMuNmwxMC43LTQxLjFjLjItLjUgLjMtLjkgLjMtMS40em04MC41LTMwN2MuMi0uNCAuMy0uOSAuMy0xLjQgMC0uNS0uMS0xLS4zLTEuNXMtLjUtLjktLjgtMS4yLS44LS42LTEuMi0uOC0xLS4zLTEuNS0uM2wtNDEuMiAwYy0xLjUgLjEtMi45IC42LTQgMS42cy0yIDIuMi0yLjQgMy42bC0yMS4zIDgwLjkgNTEuMSAwIDIxLjQtODAuOXptLTEyNi4zIDI4N2w1MS4xIDAgMzItMTIyLjYtNTEuMSAwLTMyIDEyMi42ek01MTEuOSA3OS43YzAtMS0uNS0xLjktMS4yLTIuNnMtMS43LTEuMS0yLjYtMS4xYy0uMSAwLS4xIDAtLjIgMGwtNDEgMGMtMS41IC4xLTIuOSAuNi00LjEgMS41cy0yIDIuMi0yLjUgMy42TDM2OC45IDQzMC42Yy0uMiAuNC0uMyAuOS0uMyAxLjMgMCAxIC40IDIgMS4xIDIuN3MxLjcgMS4xIDIuNyAxLjFsNDEuMiAwYzEuNS0uMSAyLjktLjYgNC0xLjZzMi0yLjIgMi40LTMuNkw1MTEuNSA4MS4yYy4yLS41IC4zLTEgLjMtMS41ek0zMjQuNiAzODQuNWwtNDEgMGMtMS41IC4xLTIuOSAuNy00IDEuNnMtMiAyLjItMi40IDMuNmwtMTAuNyA0MS4xYy0uMiAuNC0uMyAuOS0uMyAxLjQgMCAuNSAuMSAxIC4zIDEuNXMuNSAuOSAuOCAxLjIgLjggLjYgMS4yIC44IDEgLjMgMS41IC4zYy4xIDAgLjIgMCAuMyAwbDQwLjkgMGMxLjUtLjEgMi45LS42IDQtMS42czItMi4yIDIuNC0zLjZsMTAuOC00MS4xYy4yLS42IC4zLTEuMiAuMy0xLjhzLS4zLTEuMi0uNi0xLjctLjgtLjktMS4zLTEuMi0xLjItLjQtMS44LS40Yy0uMSAwLS4yIDAtLjMgMGwwIDB6TTYzNiA3Ni4xbC00MSAwYy0xLjUgLjEtMi45IC42LTQgMS41cy0yIDIuMi0yLjQgMy42TDQ5Ny4xIDQzMC42Yy0uMiAuNC0uMiAuOS0uMiAxLjMgMCAxIC40IDIgMS4xIDIuN3MxLjcgMS4xIDIuNyAxLjFsNDEuMSAwYzEuNS0uMSAyLjktLjYgNC0xLjZzMi0yLjIgMi40LTMuNkw2MzkuNyA4MS4yYy4yLS41IC4zLTEgLjMtMS41LS4xLTEtLjUtMS45LTEuMi0yLjVzLTEuNi0xLTIuNi0xYy0uMSAwLS4xIDAtLjIgMGwwLS4xek0zNzEuNiAyMjUuMmwxMC44LTQxLjFjLjItLjQgLjItLjkgLjItMS40IDAtMS0uNC0yLTEuMS0yLjdzLTEuNy0xLjEtMi43LTEuMWwtNDEuMyAwYy0xLjUgLjEtMi45IC43LTQgMS42cy0yIDIuMi0yLjQgMy42bC0xMC44IDQxLjFjLS4yIC41LS4zIDEtLjMgMS41bDAgLjJjLjEgMSAuNSAxLjggMS4yIDIuNXMxLjYgMSAyLjYgMWMuMSAwIC4yIDAgLjMgMGw0MS4xIDBjMS41LS4xIDIuOS0uNiA0LTEuNnMyLTIuMiAyLjQtMy42eiJdfSxveXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZHlhbG9nIixpY29uOls0NDgsNTEyLFtdLCJmMzk5IiwiTTE2IDMybDAgMTE5LjIgNjQgMCAwLTU1LjIgMTA3LjIgMEMzMDAuNiA5NiAzNjggMTc2LjIgMzY4IDI1NS45IDM2OCAzMzIgMzA5LjQgNDE2IDE4Ny4yIDQxNmwtMTcxLjIgMCAwIDY0IDE3MS4yIDBDMzQ3LjkgNDgwIDQzMiAzNjcuMyA0MzIgMjU1LjkgNDMyIDE5Ny4yIDQwOS45IDE0Mi41IDM2OS43IDEwMS42IDMyNC45IDU2IDI2MS43IDMyIDE4Ny4yIDMyTDE2IDMyeiJdfSxueXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZWxlbWVudG9yIixpY29uOls1MTIsNTEyLFtdLCJmNDMwIiwiTS41IDI1NmMwIDE0MSAxMTMuNiAyNTUgMjU0LjYgMjU1IDE0MiAwIDI1Ni0xMTQgMjU2LTI1NSAwLTE0MC0xMTQtMjUzLjktMjU2LTI1My45LTE0MSAwLTI1NC42IDExMy45LTI1NC42IDI1My45ek0xOTIuMSAxNTBsMCAyMTMtNDMgMCAwLTIxMyA0MyAwem00MiAwbDEyOCAwIDAgNDMtMTI4IDAgMC00M3ptMTI4IDg1bDAgNDMtMTI4IDAgMC00MyAxMjggMHptLTEyOCA4NWwxMjggMCAwIDQzLTEyOCAwIDAtNDN6Il19LGx5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmaXJzdC1vcmRlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjJiMCIsIk0xMy4zIDIyOS4yYy4xLS4xIC4yLS4zIC4zLS40IDAgLjEgMCAuMy0uMSAuNGwtLjIgMHpNMjI0LjQgOTYuNmMtNy4xIDAtMTQuNiAuNi0yMS40IDEuN2wzLjcgNjcuNC0yMi02NGMtMTQuMyAzLjctMjcuNyA5LjQtNDAgMTYuNmwyOS40IDYxLjQtNDUuMS01MC45Yy0xMS40IDguOS0yMS43IDE5LjEtMzAuNiAzMC45bDUwLjYgNDUuNC02MS4xLTI5LjdjLTcuMSAxMi4zLTEyLjkgMjUuNy0xNi42IDQwbDY0LjMgMjIuNi02OC00Yy0uOSA3LjEtMS40IDE0LjYtMS40IDIycy42IDE0LjYgMS40IDIxLjdsNjcuNy00LTY0IDIyLjZjMy43IDE0LjMgOS40IDI3LjcgMTYuNiA0MC4zTDE0OSAzMDYuOSA5OC4xIDM1MmM4LjkgMTEuNyAxOS4xIDIyLjMgMzAuOSAzMC45bDQ0LjktNTAuOS0yOS41IDYxLjRjMTIuMyA3LjQgMjUuNyAxMy4xIDQwIDE2LjlsMjIuMy02NC42LTQgNjhjNy4xIDEuMSAxNC42IDEuNyAyMS43IDEuNyA3LjQgMCAxNC42LS42IDIxLjctMS43bC00LTY4LjYgMjIuNiA2NS4xYzE0LjMtNCAyNy43LTkuNCA0MC0xNi45bC0yOS40LTYxLjMgNDQuOSA1MC45YzExLjctOC45IDIyLTE5LjEgMzAuNi0zMC45bC01MC42LTQ1LjEgNjEuMSAyOS40YzcuMS0xMi4zIDEyLjktMjUuNyAxNi42LTQwLjNsLTY0LTIyLjMgNjcuNCA0YzEuMS03LjEgMS40LTE0LjMgMS40LTIxLjdzLS4zLTE0LjktMS40LTIybC02Ny43IDQgNjQtMjIuM2MtMy43LTE0LjMtOS4xLTI4LTE2LjYtNDAuM2wtNjAuOSAyOS43IDUwLjYtNDUuNGMtOC45LTExLjctMTkuMS0yMi0zMC42LTMwLjlsLTQ1LjEgNTAuOSAyOS40LTYxLjFjLTEyLjMtNy40LTI1LjctMTMuMS00MC0xNi45bC0yMi4zIDY0LjMgNC02Ny43Yy03LjEtMS4yLTE0LjMtMS43LTIxLjctMS43ek00NDMuOCAxMjhMNDQzLjggMzg0IDIyNC40IDUxMiA1IDM4NCA1IDEyOCAyMjQuNCAwIDQ0My44IDEyOHptLTE3LjEgMTAuM2wtMjAyLjMtMTE3LjQtMjAyLjMgMTE3LjQgMCAyMzUuMSAyMDIuMyAxMTcuNyAyMDIuMy0xMTcuNyAwLTIzNS4xek0yMjQuNCAzNy4xbDE4Ny43IDEwOS40IDAgMjE4LjktMTg3LjcgMTA5LjUtMTg3LjctMTA5LjUgMC0yMTguOCAxODcuNy0xMDkuNXptMCA1MC45Yy05Mi4zIDAtMTY2LjkgNzUuMS0xNjYuOSAxNjggMCA5Mi42IDc0LjYgMTY3LjcgMTY2LjkgMTY3LjcgOTIgMCAxNjYuOS03NS4xIDE2Ni45LTE2Ny43IDAtOTIuOS03NC45LTE2OC0xNjYuOS0xNjh6Il19LGN5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkcmliYmJsZSIsaWNvbjpbNTEyLDUxMixbXSwiZjE3ZCIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTQyMCAxMjIuNGMyOS41IDM2IDQ3LjQgODIgNDcuOCAxMzItNy0xLjUtNzctMTUuNy0xNDcuNS02LjgtNS44LTE0LTExLjItMjYuNC0xOC42LTQxLjYgNzguMy0zMiAxMTMuOC03Ny41IDExOC4zLTgzLjV6TTM5Ni40IDk3LjljLTMuOCA1LjQtMzUuNyA0OC4zLTExMSA3Ni41LTM0LjctNjMuOC03My4yLTExNi4yLTc5LTEyNCA2Ny4yLTE2LjIgMTM4IDEuMyAxOTAuMSA0Ny41ek0xNjUuOSA2NC42YzUuNiA3LjcgNDMuNCA2MC4xIDc4LjUgMTIyLjUtOTkuMSAyNi4zLTE4Ni40IDI1LjktMTk1LjggMjUuOCAxMy43LTY1LjcgNTgtMTIwLjQgMTE3LjMtMTQ4LjN6TTQ0LjIgMjU2LjNjMC0yLjIgMC00LjMgLjEtNi41IDkuMyAuMiAxMTEuOSAxLjUgMjE3LjctMzAuMSA2LjEgMTEuOSAxMS45IDIzLjkgMTcuMiAzNS45LTc2LjYgMjEuNi0xNDYuMiA4My41LTE4MC41IDE0Mi4zLTMzLjgtMzcuNi01NC41LTg3LjItNTQuNS0xNDEuNnpNMTI2IDQyMy40YzIyLjEtNDUuMiA4Mi4yLTEwMy42IDE2Ny42LTEzMi44IDI5LjcgNzcuMyA0MiAxNDIuMSA0NS4yIDE2MC42LTY4LjEgMjktMTUwIDIxLjEtMjEyLjgtMjcuOXptMjQ4LjQgOC41Yy0yLjItMTIuOS0xMy40LTc0LjktNDEuMi0xNTEgNjYuNC0xMC42IDEyNC43IDYuOCAxMzEuOSA5LjEtOS40IDU4LjktNDMuMyAxMDkuOC05MC44IDE0MnoiXX0sY2VlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxpbmtlZGluIixpY29uOls0NDgsNTEyLFtdLCJmMDhjIiwiTTQxNiAzMkwzMS45IDMyQzE0LjMgMzIgMCA0Ni41IDAgNjQuM0wwIDQ0Ny43QzAgNDY1LjUgMTQuMyA0ODAgMzEuOSA0ODBMNDE2IDQ4MGMxNy42IDAgMzItMTQuNSAzMi0zMi4zbDAtMzgzLjRDNDQ4IDQ2LjUgNDMzLjYgMzIgNDE2IDMyek0xMzUuNCA0MTZsLTY2LjQgMCAwLTIxMy44IDY2LjUgMCAwIDIxMy44LS4xIDB6TTEwMi4yIDk2YTM4LjUgMzguNSAwIDEgMSAwIDc3IDM4LjUgMzguNSAwIDEgMSAwLTc3ek0zODQuMyA0MTZsLTY2LjQgMCAwLTEwNGMwLTI0LjgtLjUtNTYuNy0zNC41LTU2LjctMzQuNiAwLTM5LjkgMjctMzkuOSA1NC45bDAgMTA1LjgtNjYuNCAwIDAtMjEzLjggNjMuNyAwIDAgMjkuMiAuOSAwYzguOS0xNi44IDMwLjYtMzQuNSA2Mi45LTM0LjUgNjcuMiAwIDc5LjcgNDQuMyA3OS43IDEwMS45bDAgMTE3LjJ6Il19LGR5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1wYXlwYWwiLGljb246WzU3Niw1MTIsW10sImYxZjQiLCJNMTg2LjMgMjU4LjJjMCAxMi4yLTkuNyAyMS41LTIyIDIxLjUtOS4yIDAtMTYtNS4yLTE2LTE1IDAtMTIuMiA5LjUtMjIgMjEuNy0yMiA5LjMgMCAxNi4zIDUuNyAxNi4zIDE1LjV6TTgwLjUgMjA5LjdsLTQuNyAwYy0xLjUgMC0zIDEtMy4yIDIuN2wtNC4zIDI2LjcgOC4yLS4zYzExIDAgMTkuNS0xLjUgMjEuNS0xNC4yIDIuMy0xMy40LTYuMi0xNC45LTE3LjUtMTQuOXptMjg0IDBsLTQuNSAwYy0xLjggMC0zIDEtMy4yIDIuN2wtNC4yIDI2LjcgOC0uM2MxMyAwIDIyLTMgMjItMTgtLjEtMTAuNi05LjYtMTEuMS0xOC4xLTExLjF6TTU3NiA4MGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsNDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTEyOC4zIDIxNS40YzAtMjEtMTYuMi0yOC0zNC43LTI4bC00MCAwYy0yLjUgMC01IDItNS4yIDQuN0wzMiAyOTQuMmMtLjMgMiAxLjIgNCAzLjIgNGwxOSAwYzIuNyAwIDUuMi0yLjkgNS41LTUuN2w0LjUtMjYuNmMxLTcuMiAxMy4yLTQuNyAxOC00LjcgMjguNiAwIDQ2LjEtMTcgNDYuMS00NS44em04NC4yIDguOGwtMTkgMGMtMy44IDAtNCA1LjUtNC4yIDguMi01LjgtOC41LTE0LjItMTAtMjMuNy0xMC0yNC41IDAtNDMuMiAyMS41LTQzLjIgNDUuMiAwIDE5LjUgMTIuMiAzMi4yIDMxLjcgMzIuMiA5IDAgMjAuMi00LjkgMjYuNS0xMS45LS41IDEuNS0xIDQuNy0xIDYuMiAwIDIuMyAxIDQgMy4yIDRsMTcuMiAwYzIuNyAwIDUtMi45IDUuNS01LjdsMTAuMi02NC4zYy4zLTEuOS0xLjItMy45LTMuMi0zLjl6TTI1MyAzMjIuMWw2My43LTkyLjZjLjUtLjUgLjUtMSAuNS0xLjcgMC0xLjctMS41LTMuNS0zLjItMy41bC0xOS4yIDBjLTEuNyAwLTMuNSAxLTQuNSAyLjVsLTI2LjUgMzktMTEtMzcuNWMtLjgtMi4yLTMtNC01LjUtNGwtMTguNyAwYy0xLjcgMC0zLjIgMS44LTMuMiAzLjUgMCAxLjIgMTkuNSA1Ni44IDIxLjIgNjIuMS0yLjcgMy44LTIwLjUgMjguNi0yMC41IDMxLjYgMCAxLjggMS41IDMuMiAzLjIgMy4ybDE5LjIgMGMxLjgtLjEgMy41LTEuMSA0LjUtMi42ek00MTIuMyAyMTUuNGMwLTIxLTE2LjItMjgtMzQuNy0yOGwtMzkuNyAwYy0yLjcgMC01LjIgMi01LjUgNC43bC0xNi4yIDEwMmMtLjIgMiAxLjMgNCAzLjIgNGwyMC41IDBjMiAwIDMuNS0xLjUgNC0zLjJsNC41LTI5YzEtNy4yIDEzLjItNC43IDE4LTQuNyAyOC40IDAgNDUuOS0xNyA0NS45LTQ1Ljh6bTg0LjIgOC44bC0xOSAwYy0zLjggMC00IDUuNS00LjMgOC4yLTUuNS04LjUtMTQtMTAtMjMuNy0xMC0yNC41IDAtNDMuMiAyMS41LTQzLjIgNDUuMiAwIDE5LjUgMTIuMiAzMi4yIDMxLjcgMzIuMiA5LjMgMCAyMC41LTQuOSAyNi41LTExLjktLjMgMS41LTEgNC43LTEgNi4yIDAgMi4zIDEgNCAzLjIgNGwxNy4zIDBjMi43IDAgNS0yLjkgNS41LTUuN2wxMC4yLTY0LjNjLjMtMS45LTEuMi0zLjktMy4yLTMuOXpNNTQ0IDE5MC45YzAtMi0xLjUtMy41LTMuMi0zLjVsLTE4LjUgMGMtMS41IDAtMyAxLjItMy4yIDIuN2wtMTYuMiAxMDQtLjMgLjVjMCAxLjggMS41IDMuNSAzLjUgMy41bDE2LjUgMGMyLjUgMCA1LTIuOSA1LjItNS43bDE2LjItMTAxLjIgMC0uM3ptLTkwIDUxLjhjLTEyLjIgMC0yMS43IDkuNy0yMS43IDIyIDAgOS43IDcgMTUgMTYuMiAxNSAxMiAwIDIxLjctOS4yIDIxLjctMjEuNSAuMS05LjgtNi45LTE1LjUtMTYuMi0xNS41eiJdfSx1eXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGhsIixpY29uOls2NDAsNTEyLFtdLCJmNzkwIiwiTTIzOCAzMDEuMmw1OC43IDAgMjIuMy0zMC4yLTU4LjcgMC0yMi4zIDMwLjJ6TTAgMjgyLjlsMCA2LjQgODEuOCAwIDQuNy02LjQtODYuNSAwek0xNzIuOSAyNzFjLTguNyAwLTYtMy42LTQuNi01LjUgMi44LTMuOCA3LjYtMTAuNCAxMC40LTE0LjFzMi44LTUuOS0yLjgtNS45bC01MSAwLTQxLjEgNTUuOCAxMDAuMSAwYzMzLjEgMCA1MS41LTIyLjUgNTcuMi0zMC4zbC02OC4yIDB6bTMxNy41LTYuOWwzOS4zLTUzLjQtNjIuMiAwLTM5LjMgNTMuNCA2Mi4yIDB6TTk1LjMgMjcxbC05NS4zIDAgMCA2LjQgOTAuNiAwIDQuNy02LjR6bTExMS0yNi42Yy0yLjggMy44LTcuNSAxMC40LTEwLjMgMTQuMi0xLjQgMi00LjEgNS41IDQuNiA1LjVsNDUuNiAwczcuMy0xMCAxMy41LTE4LjRjOC40LTExLjQgLjctMzUtMjkuMi0zNWwtMTE3LjkgMC0yMC40IDI3LjggMTExLjQgMGM1LjYgMCA1LjUgMi4yIDIuNyA1Ljl6TTAgMzAxLjJsNzMuMSAwIDQuNy02LjQtNzcuOCAwIDAgNi40em0zMjMgMGw1OC43IDAgMjIuMy0zMC4yLTU4LjcgMGMtLjEgMC0yMi4zIDMwLjItMjIuMyAzMC4yem0yMjIgLjFsOTUgMCAwLTYuNC05MC4zIDAtNC43IDYuNHpNNTY3LjMgMjcxbC00LjcgNi40IDc3LjQgMCAwLTYuNC03Mi43IDB6bS0xMy41IDE4LjNsODYuMiAwIDAtNi40LTgxLjUgMC00LjcgNi40ek0zODkuNiAyMTAuN2wtMjIuNSAzMC42LTI2LjIgMCAyMi41LTMwLjYtNTguNyAwLTM5LjMgNTMuNCAxNDMuNiAwIDM5LjMtNTMuNC01OC43IDB6TTQyMy4xIDI3MXMtNC4zIDUuOS02LjQgOC43Yy03LjQgMTAtLjkgMjEuNiAyMy4yIDIxLjZsOTQuMyAwIDIyLjMtMzAuMy0xMzMuNCAweiJdfSxweXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGV4IixpY29uOls2NDAsNTEyLFtdLCJlN2ZmIiwiTTYyMC44IDk1LjRjLTMwLjggLjQtNDIuMSAxNi42LTQ3LjcgMjQuNWwtLjEgLjEtNTUuNyA4MC41IDgyLjggMTIxLjFjNy41IDEwLjYgMTEuMyAxMi41IDM1LjQgMTIuNWwwIDkuMWMtOS4xLS43LTI4LS43LTM3LjctLjctMTIuNCAwLTMwLjggMC00Mi45IC43bDAtOS4xYzEzLjItLjggMTYuNi03LjMgMTYuNi0xMC4yIDAtMS4xIDAtMi4zLTMtNi40bC02NS41LTk2LjMtNjAuMiA4Ny45Yy0xLjkgMi43LTMuOCA1LjQtMy44IDEwLjIgMCA2LjEgMy40IDEzLjYgMTUgMTQuN2wwIDkuMWMtOS40LS43LTI3LjEtLjctMzcuMi0uN2wtMi44IDAtMTEuNyA4Mi42LTE5NS45IDAgMC05LjFjMjYuNyAwIDMwLjkgMCAzMC45LTE2LjlsMC0yMDMuMmMwLTE2LjktNC4zLTE2LjktMzAuOS0xNi45bDAtMTAuMyAxOS44IDBjLTQuOC02MS4xLTEwLjgtNzEuNy02OC03MS44bC0yMC43IDBjLTYuOCAxLjUtNi44IDYuMS02LjggMTQuNGwwIDIwNWMwIDEzLjYgMS4xIDE3LjggMzIuNCAxNy44bDEwLjUgMCAwIDkuMS0uNCAwYy0xNy45LS4zLTM2LjctLjctNTQuOS0uN3MtMzYuOSAuMy01NC44IC43bC0uNiAwIDAtOS4xIDEwLjcgMGMzMS43IDAgMzIuOC00LjEgMzIuOC0xNy44bDAtMjA1YzAtOC43IDAtMTMuMi03LjItMTQuM2wtMjAuOCAwYy01OC40IDAtNjMuNyAxMC45LTY4LjYgNzMuM2wtNi44IDAgNi4zLTgzLjMgMjE3LjUgMCA2LjEgODEuOCAxNjQuMSAwIDkgODMuMy02LjggMGMtNS4zLTQ5LjgtMTIuMS03My03MC4zLTczbC01MS41IDBjLTE1IDAtMTUuOCAxLjktMTUuOCAxNC42bDAgOTMuMyAzNS41IDBjMzUuNSAwIDM4LjktMTIuOCAzOC45LTQ0bDYgMCAwIDk3LjktNiAwYzAtMzEuOC0zLjQtNDQuOC0zOC45LTQ0LjhsLTM1LjUgMCAwIDEwNS4yYzAgMTMgLjcgMTQuOCAxNS44IDE0LjhsNTIuMiAwYzYxLjEgMCA2OS45LTI1LjggNzcuNC03My42LTcuNyAwLTE2LjMgLjItMjIuMiAuN2wwLTkuMWM3LjIgMCAzMS43LS40IDQ3LjgtMjMuOGw2NS41LTk1LjctNzIuNy0xMDYuN2MtOC4zLTExLjctMTUuMS0xMi41LTM1LjgtMTIuNWwwLTkuMWM5LjEgLjcgMjcuOSAuNyAzNy43IC43IDEyLjQgMCAzMC44IDAgNDIuOS0uN2wwIDkuMWMtMTIuNSAuNC0xNi42IDYuOC0xNi42IDEwLjIgMCAxLjEgLjQgMi4zIDMgNi40bDU1LjcgODEuNiA0OS43LTcyLjFjMi43LTMuNyA0LjUtNi44IDQuNS0xMS4zIDAtNi4xLTMtMTMuNi0xNS0xNC44bDAtOS4xYzkuNCAuNyAyNC44IC43IDM3LjIgLjcgOSAwIDIzLjMgMCAzMi0uN2wwIDkuMXoiXX0sZnl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNsYXVkZSIsaWNvbjpbNTEyLDUxMixbXSwiZTg2MSIsIk0xMDAuNCAzNDAuNWwxMDAuNy01Ni41IDEuNy00LjktMS43LTIuNy00LjkgMC0xNi44LTEtNTcuNS0xLjYtNDkuOS0yLjEtNDguMy0yLjYtMTIuMi0yLjYtMTEuNC0xNSAxLjItNy41IDEwLjItNi45IDE0LjcgMS4zYzE4LjkgMS4zIDQ1LjkgMy4xIDgxIDUuNmwzNS4yIDIuMSA1Mi4yIDUuNCA4LjMgMCAxLjItMy40LTIuOC0yLjEtMi4yLTIuMS01MC4zLTM0LjEtNTQuNC0zNi0yOC41LTIwLjctMTUuNC0xMC41LTcuOC05LjgtMy40LTIxLjUgMTQtMTUuNCAxOC44IDEuMyA0LjggMS4zIDE5IDE0LjcgNDAuNyAzMS41IDUzLjEgMzkuMSA3LjggNi41IDMuMS0yLjIgLjQtMS42LTMuNS01LjgtMjguOS01Mi4yLTMwLjgtNTMuMS0xMy43LTIyLTMuNi0xMy4yYy0xLjMtNS40LTIuMi0xMC0yLjItMTUuNWwxNS45LTIxLjYgOC44LTIuOCAyMS4yIDIuOCA4LjkgNy44IDEzLjIgMzAuMiAyMS40IDQ3LjUgMzMuMiA2NC42IDkuNyAxOS4yIDUuMiAxNy44IDEuOSA1LjQgMy40IDAgMC0zLjEgMi43LTM2LjQgNS00NC43IDQuOS01Ny41IDEuNy0xNi4yIDgtMTkuNCAxNS45LTEwLjUgMTIuNCA1LjkgMTAuMiAxNC43LTEuNCA5LjUtNi4xIDM5LjUtMTEuOSA2MS45LTcuOCA0MS41IDQuNSAwIDUuMi01LjIgMjEtMjcuOCAzNS4yLTQ0LjEgMTUuNS0xNy41IDE4LjEtMTkuMyAxMS42LTkuMiAyMiAwIDE2LjIgMjQuMS03LjMgMjQuOS0yMi43IDI4LjctMTguOCAyNC40LTI3IDM2LjMtMTYuOCAyOSAxLjYgMi4zIDQtLjQgNjAuOS0xMyAzMi45LTUuOSAzOS4zLTYuNyAxNy44IDguMyAxLjkgOC40LTcgMTcuMi00MiAxMC40LTQ5LjIgOS44LTczLjMgMTcuMy0uOSAuNyAxIDEuMyAzMyAzLjEgMTQuMSAuOCAzNC42IDAgNjQuNCA0LjggMTYuOCAxMS4xIDEwLjEgMTMuNi0xLjcgMTAuNC0yNS45IDEzLjJjLTE1LjUtMy43LTU0LjQtMTIuOS0xMTYuNi0yNy43bC0yOC03LTMuOSAwIDAgMi4zIDIzLjMgMjIuOCA0Mi43IDM4LjYgNTMuNSA0OS44IDIuNyAxMi4zLTYuOSA5LjctNy4zLTEtNDctMzUuNC0xOC4xLTE1LjktNDEuMS0zNC42LTIuNyAwIDAgMy42IDkuNSAxMy45IDUwIDc1LjIgMi42IDIzLTMuNiA3LjUtMTMgNC41LTE0LjItMi42LTI5LjMtNDEuMS0zMC4yLTQ2LjMtMjQuNC00MS41LTMgMS43LTE0LjQgMTU0LjgtNi43IDcuOS0xNS41IDUuOS0xMy05LjgtNi45LTE1LjkgNi45LTMxLjUgOC4zLTQxLjEgNi43LTMyLjcgNi4xLTQwLjYgMy42LTEzLjUtLjItLjktMyAuNC0zMC42IDQyLTQ2LjUgNjIuOS0zNi44IDM5LjQtOC44IDMuNS0xNS4zLTcuOSAxLjQtMTQuMSA4LjUtMTIuNiA1MC45LTY0LjggMzAuNy00MC4yIDE5LjgtMjMuMi0uMS0zLjQtMS4yIDAtMTM1LjMgODcuOC0yNC4xIDMuMS0xMC40LTkuNyAxLjMtMTUuOSA0LjktNS4yIDQwLjctMjgtLjEgLjEgMCAuMXoiXX0saHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNob3BpZnkiLGljb246WzQ0OCw1MTIsW10sImUwNTciLCJNMzg4LjUgMTA0LjFjLS4yLTEuMS0uNy0yLjEtMS41LTIuOHMtMS44LTEuMi0yLjktMS4yYy0yIDAtMzcuMi0uOC0zNy4yLS44cy0yMS42LTIwLjgtMjkuNi0yOC44bDAgNDMyLjcgMTI1LjctMzEuMnMtNTQtMzY1LjUtNTQuNC0zNjcuOXpNMjg4LjkgNzAuNWMtMS45LTYuMS00LjMtMTEuOS03LjItMTcuNi0xMC40LTIwLTI2LTMwLjktNDQuNC0zMC45LTEuMyAwLTIuNyAuMS00IC40LS40LS44LTEuMi0xLjItMS42LTItOC04LjgtMTguNC0xMi44LTMwLjgtMTIuNC0yNCAuOC00OCAxOC02Ny4yIDQ4LjgtMTMuNiAyMS42LTI0IDQ4LjgtMjYuOCA3MC4xLTI3LjYgOC40LTQ2LjggMTQuNC00Ny4yIDE0LjgtMTQgNC40LTE0LjQgNC44LTE2IDE4LTEuMiAxMC0zOCAyOTEuOC0zOCAyOTEuOGwzMDIuNiA1Mi41IDAtNDM4LjNjLTEuNSAuMS0yLjkgLjItNC40IC40IDAgMC01LjYgMS42LTE0LjggNC40ek0yMzMuNiA4Ny43Yy0xNiA0LjgtMzMuNiAxMC40LTUwLjggMTUuNiA0LjgtMTguOCAxNC40LTM3LjYgMjUuNi01MCA0LjQtNC40IDEwLjQtOS42IDE3LjItMTIuOCA2LjggMTQuNCA4LjQgMzQgOCA0Ny4yek0yMDAuOCAyNC40YzUtLjIgMTAgMS4xIDE0LjQgMy42LTYuNCAzLjItMTIuOCA4LjQtMTguOCAxNC40LTE1LjIgMTYuNC0yNi44IDQyLTMxLjYgNjYuNS0xNC40IDQuNC0yOC44IDguOC00MiAxMi44IDguOC0zOC40IDQxLjItOTYuNCA3OC05Ny4yek0xNTQuNCAyNDQuNmMxLjYgMjUuNiA2OS4yIDMxLjIgNzMuMiA5MS43IDIuOCA0Ny42LTI1LjIgODAuMS02NS42IDgyLjUtNDguOCAzLjItNzUuNi0yNS42LTc1LjYtMjUuNmwxMC40LTQ0czI2LjggMjAuNCA0OC40IDE4LjhjMTQtLjggMTkuMi0xMi40IDE4LjgtMjAuNC0yLTMzLjYtNTcuMi0zMS42LTYwLjgtODYuOS0zLjItNDYuNCAyNy4yLTkzLjMgOTQuNS05Ny43IDI2LTEuNiAzOS4yIDQuOCAzOS4yIDQuOGwtMTUuMiA1Ny42cy0xNy4yLTgtMzcuNi02LjRjLTI5LjYgMi0zMCAyMC44LTI5LjYgMjUuNnpNMjQ5LjYgODIuOWMwLTEyLTEuNi0yOS4yLTcuMi00My42IDE4LjQgMy42IDI3LjIgMjQgMzEuMiAzNi40LTcuMiAyLTE1LjIgNC40LTI0IDcuMnoiXX0sSXVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1yZWRkaXQiLGljb246WzQ0OCw1MTIsWyJyZWRkaXQtc3F1YXJlIl0sImYxYTIiLCJNNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMyek0zMDUuOSAxNjYuNGMyMC42IDAgMzcuMy0xNi43IDM3LjMtMzcuM3MtMTYuNy0zNy4zLTM3LjMtMzcuM2MtMTggMC0zMy4xIDEyLjgtMzYuNiAyOS44LTMwLjIgMy4yLTUzLjggMjguOC01My44IDU5LjlsMCAuMmMtMzIuOCAxLjQtNjIuOCAxMC43LTg2LjYgMjUuNS04LjgtNi44LTE5LjktMTAuOS0zMi0xMC45LTI4LjkgMC01Mi4zIDIzLjQtNTIuMyA1Mi4zIDAgMjEgMTIuMyAzOSAzMC4xIDQ3LjQgMS43IDYwLjcgNjcuOSAxMDkuNiAxNDkuMyAxMDkuNnMxNDcuNi00OC45IDE0OS4zLTEwOS43YzE3LjctOC40IDI5LjktMjYuNCAyOS45LTQ3LjMgMC0yOC45LTIzLjQtNTIuMy01Mi4zLTUyLjMtMTIgMC0yMyA0LTMxLjkgMTAuOC0yNC0xNC45LTU0LjMtMjQuMi04Ny41LTI1LjRsMC0uMWMwLTIyLjIgMTYuNS00MC43IDM3LjktNDMuNyAzLjkgMTYuNSAxOC43IDI4LjcgMzYuMyAyOC43bC4yLS4yek0xNTUgMjQ4LjFjMTQuNiAwIDI1LjggMTUuNCAyNSAzNC40cy0xMS44IDI1LjktMjYuNSAyNS45LTI3LjUtNy43LTI2LjYtMjYuNyAxMy41LTMzLjUgMjguMS0zMy41bDAtLjF6bTE2Ni40IDMzLjVjLjkgMTktMTIgMjYuNy0yNi42IDI2LjdzLTI1LjYtNi45LTI2LjUtMjUuOSAxMC4zLTM0LjQgMjUtMzQuNCAyNy4zIDE0LjYgMjguMSAzMy41bDAgLjF6bS00Mi4xIDQ5LjZjLTkgMjEuNS0zMC4zIDM2LjctNTUuMSAzNi43cy00Ni4xLTE1LjEtNTUuMS0zNi43Yy0xLjEtMi42IC43LTUuNCAzLjQtNS43IDE2LjEtMS42IDMzLjUtMi41IDUxLjctMi41czM1LjYgLjkgNTEuNyAyLjVjMi43IC4zIDQuNSAzLjEgMy40IDUuN3oiXX0sbXl0PUl1ZSxneXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1uYyIsaWNvbjpbNTEyLDUxMixbXSwiZjRlOCIsIk0yNTUuNiA4QzM5NS40IDggNTA0IDExNS45IDUwNCAyNTYgNTA0IDQwMy4yIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjEgNTA0IDggMzkzLjIgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6TTYzLjggMTg5LjFjLTcuNCAyMC40LTExLjEgNDIuNy0xMS4xIDY2LjkgMCAxMTAuOSA5Mi4xIDIwMi40IDIwMy43IDIwMi40IDEyMi40IDAgMTc3LjItMTAxLjggMTc4LjUtMTA0LjFsLTkzLjQtNDEuNmMtNy43IDM3LjEtNDEuMiA1My02OC4yIDU1LjRsMCAzOC4xLTI4LjggMCAwLTM4LjJjLTI3LjUtLjMtNTIuNi0xMC4yLTc1LjMtMjkuN2wzNC4xLTM0LjVjMzEuNyAyOS40IDg2LjQgMzEuOCA4Ni40LTIuMiAwLTYuMi0yLjItMTEuMi02LjYtMTUuMS0xNC4yLTYtMS44LS4xLTIxOS4zLTk3LjR6TTI1Ni40IDUyLjNDMjE4IDUyLjMgMTQ0IDYxIDg1LjkgMTQ1LjNsOTQuOCA0Mi41YzEwLTMxLjMgNDAuNC00Mi45IDYzLjgtNDQuM2wwLTM4LjEgMjguOCAwIDAgMzguMWMyMi43IDEuMiA0My40IDguOSA2MiAyM0wzMDMgMTk5LjdjLTQyLjctMjkuOS04My41LTgtNzAgMTEuMSA1My40IDI0LjEgNDMuOCAxOS44IDkzIDQxLjZsMTI3LjEgNTYuN2M0LjEtMTcuNCA2LjItMzUuMSA2LjItNTMuMSAwLTU3LTE5LjgtMTA1LTU5LjMtMTQzLjktMzkuMy0zOS45LTg3LjItNTkuOC0xNDMuNi01OS44eiJdfSxieXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2FsYWN0aWMtcmVwdWJsaWMiLGljb246WzUxMiw1MTIsW10sImY1MGMiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMSAwIDQ5NiAyNDggMjQ4IDAgMSAxIDAtNDk2em0wIDE2LjVhMjMxLjUgMjMxLjUgMCAxIDAgMCA0NjIuOSAyMzEuNSAyMzEuNSAwIDEgMCAwLTQ2Mi45em0yNy42IDIxLjhsMCAyNC42YzMwLjMgNC41IDU5IDE2LjMgODMuNiAzNC41bDE3LjQtMTcuNGMtMjguNy0yMi4xLTYzLjMtMzYuOS0xMDEtNDEuOHptLTU1LjQgLjFjLTM3LjYgNC45LTcyLjIgMTkuOC0xMDAuOSA0MS45bDE3LjMgMTcuNCAuMSAwYzI0LjEtMTcuOCA1Mi42LTMwLjEgODMuNS0zNC43bDAtMjQuNXptMTIuMiA1MC4ybDAgODIuOWMtMTAgMi0xOS40IDUuOS0yNy43IDExLjRsLTU4LjYtNTguNi0yMS45IDIxLjkgNTguNyA1OC43Yy01LjUgOC4yLTkuNCAxNy42LTExLjUgMjcuNmwtODIuOSAwIDAgMzEgODIuOSAwYzIgMTAgNiAxOS4zIDExLjUgMjcuNWwtNTguNyA1OC43IDIxLjkgMjEuOSA1OC42LTU4LjZjOC40IDUuNiAxNy44IDkuNSAyNy43IDExLjVsMCA4Mi45IDMxIDAgMC04Mi45YzEwLTIgMTkuNC02LjEgMjcuNi0xMS41bDU4LjcgNTguNyAyMS45LTIxLjktNTguNy01OC43YzUuNS04LjIgOS41LTE3LjUgMTEuNS0yNy41bDgyLjkgMCAwLTMxLTgyLjkgMGMtMi0xMC02LTE5LjQtMTEuNS0yNy42bDU4LjctNTguNy0yMS45LTIxLjktNTguNyA1OC43Yy04LjItNS41LTE3LjYtOS41LTI3LjYtMTEuNWwwLTgyLjktMzEgMHptMTgzLjIgMzAuN2wtMTcuNCAxNy40YzE4LjMgMjQuNiAzMC4yIDUzLjQgMzQuNyA4My43bDI0LjYgMGMtNS0zNy43LTE5LjgtNzIuMy00MS45LTEwMXptLTMzNS42IC4xYy0yMi4xIDI4LjctMzYuOSA2My4zLTQxLjggMTAwLjlsMjQuNiAwYzQuNi0zMSAxNi44LTU5LjQgMzQuNi04My41TDg4LjIgMTI3LjR6TTQ2LjMgMjgzLjdjNC45IDM3LjYgMTkuNyA3Mi4yIDQxLjggMTAwLjlsMTcuNC0xNy40Qzg3LjcgMzQzLjEgNzUuNiAzMTQuNiA3MSAyODMuN2wtMjQuNiAwIDAgMHptMzk0LjcgMGMtNC42IDMxLTE2LjggNTkuNS0zNC43IDgzLjZsMTcuNCAxNy40YzIyLjEtMjguNyAzNy02My4zIDQxLjktMTAxbC0yNC42IDB6TTE0NC43IDQwNi40bC0xNy40IDE3LjRjMjguNyAyMi4xIDYzLjMgMzcgMTAxIDQxLjlsMC0yNC42Yy0zMS00LjYtNTkuNS0xNi44LTgzLjYtMzQuNnptMjIyLjUgMGMtMjQuMSAxNy44LTUyLjYgMzAuMS04My42IDM0LjdsMCAyNC42YzM3LjctNC45IDcyLjItMTkuOCAxMDEtNDEuOGwtMTcuMy0xNy40LS4xIDB6Il19LGRlZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmYWNlYm9vayIsaWNvbjpbNTEyLDUxMixbNjJlM10sImYwOWEiLCJNNTEyIDI1NkM1MTIgMTE0LjYgMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2QzAgMzc2IDgyLjcgNDc2LjggMTk0LjIgNTA0LjVsMC0xNzAuMy01Mi44IDAgMC03OC4yIDUyLjggMCAwLTMzLjdjMC04Ny4xIDM5LjQtMTI3LjUgMTI1LTEyNy41IDE2LjIgMCA0NC4yIDMuMiA1NS43IDYuNGwwIDcwLjhjLTYtLjYtMTYuNS0xLTI5LjYtMS00MiAwLTU4LjIgMTUuOS01OC4yIDU3LjJsMCAyNy44IDgzLjYgMC0xNC40IDc4LjItNjkuMyAwIDAgMTc1LjlDNDEzLjggNDk0LjggNTEyIDM4Ni45IDUxMiAyNTZ6Il19LHZ5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnaXRsYWIiLGljb246WzUxMiw1MTIsW10sImYyOTYiLCJNNTA0IDIwNC42bC0uNy0xLjgtNjkuNy0xODEuOGMtMS40LTMuNi0zLjktNi42LTcuMi04LjYtMi40LTEuNi01LjEtMi41LTgtMi44cy01LjcgLjEtOC40IDEuMS01LjEgMi43LTcuMSA0LjhjLTEuOSAyLjEtMy4zIDQuNy00LjEgNy40bC00NyAxNDQtMTkwLjUgMC00Ny4xLTE0NGMtLjgtMi44LTIuMi01LjMtNC4xLTcuNC0yLTIuMS00LjQtMy43LTcuMS00LjgtMi42LTEtNS41LTEuNC04LjQtMS4xcy01LjYgMS4yLTggMi44Yy0zLjIgMi01LjggNS4xLTcuMiA4LjZMOS44IDIwMi44IDkgMjA0LjZjLTEwIDI2LjItMTEuMyA1NS0zLjUgODIgNy43IDI2LjkgMjQgNTAuNyA0Ni40IDY3LjZsLjMgLjIgLjYgLjQgMTA2IDc5LjVjMzguNSAyOS4xIDY2LjcgNTAuMyA4NC42IDYzLjkgMy43IDEuOSA4LjMgNC4zIDEzIDQuM3M5LjMtMi40IDEzLTQuM2MxNy45LTEzLjUgNDYuMS0zNC45IDg0LjYtNjMuOWwxMDYuNy03OS45IC4zLS4zYzIyLjQtMTYuOSAzOC43LTQwLjYgNDUuNi02Ny41IDguNi0yNyA3LjQtNTUuOC0yLjYtODJ6Il19LHh5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJxcSIsaWNvbjpbNDQ4LDUxMixbXSwiZjFkNiIsIk00MzQuMSA0MjAuNGMtMTEuNSAxLjQtNDQuOS01Mi43LTQ0LjktNTIuNyAwIDMxLjMtMTYuMSA3Mi4yLTUxIDEwMS44IDE2LjggNS4yIDU0LjggMTkuMiA0NS44IDM0LjQtNy4zIDEyLjMtMTI1LjUgNy45LTE1OS42IDQtMzQuMSAzLjgtMTUyLjMgOC4zLTE1OS42LTQtOS0xNS4yIDI4LjktMjkuMiA0NS44LTM0LjQtMzQuOS0yOS41LTUxLjEtNzAuNC01MS4xLTEwMS44IDAgMC0zMy4zIDU0LjEtNDQuOSA1Mi43LTUuNC0uNi0xMi40LTI5LjYgOS4zLTk5LjcgMTAuMy0zMyAyMi02MC41IDQwLjEtMTA1LjgtMy4xLTExNi45IDQ1LjItMjE1IDE2MC4zLTIxNSAxMTMuNyAwIDE2My4yIDk2LjEgMTYwLjMgMjE1IDE4LjEgNDUuMiAyOS45IDcyLjkgNDAuMSAxMDUuOCAyMS44IDcwLjEgMTQuNyA5OS4xIDkuMyA5OS43eiJdfSx5eXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RyaXBlIixpY29uOls2NDAsNTEyLFtdLCJmNDI5IiwiTTE2NSAxNDQuN2wtNDMuMyA5LjItLjIgMTQyLjRjMCAyNi4zIDE5LjggNDMuMyA0Ni4xIDQzLjMgMTQuNiAwIDI1LjMtMi43IDMxLjItNS45bDAtMzMuOGMtNS43IDIuMy0zMy43IDEwLjUtMzMuNy0xNS43bDAtNjMuMiAzMy43IDAgMC0zNy44LTMzLjcgMC0uMS0zOC41em04OS4xIDUxLjZsLTIuNy0xMy4xLTM4LjQgMCAwIDE1My4yIDQ0LjMgMCAwLTEwMy4xYzEwLjUtMTMuOCAyOC4yLTExLjEgMzMuOS05LjNsMC00MC44Yy02LTIuMS0yNi43LTYtMzcuMSAxMy4xek0zNDYuNCAxMjRsLTQ0LjYgOS41IDAgMzYuMiA0NC42LTkuNSAwLTM2LjJ6TTQ0LjkgMjI4LjNjMC02LjkgNS44LTkuNiAxNS4xLTkuNyAxMy41IDAgMzAuNyA0LjEgNDQuMiAxMS40bDAtNDEuOGMtMTQuNy01LjgtMjkuNC04LjEtNDQuMS04LjEtMzYgMC02MCAxOC44LTYwIDUwLjIgMCA0OS4yIDY3LjUgNDEuMiA2Ny41IDYyLjQgMCA4LjItNy4xIDEwLjktMTcgMTAuOS0xNC43IDAtMzMuNy02LjEtNDguNi0xNC4ybDAgNDBjMTYuNSA3LjEgMzMuMiAxMC4xIDQ4LjUgMTAuMSAzNi45IDAgNjIuMy0xNS44IDYyLjMtNDcuOCAwLTUyLjktNjcuOS00My40LTY3LjktNjMuNHpNNjQwIDI2MS42YzAtNDUuNS0yMi04MS40LTY0LjItODEuNHMtNjcuOSAzNS45LTY3LjkgODEuMWMwIDUzLjUgMzAuMyA3OC4yIDczLjUgNzguMiAyMS4yIDAgMzcuMS00LjggNDkuMi0xMS41bDAtMzMuNGMtMTIuMSA2LjEtMjYgOS44LTQzLjYgOS44LTE3LjMgMC0zMi41LTYuMS0zNC41LTI2LjlsODYuOSAwYy4yLTIuMyAuNi0xMS42IC42LTE1Ljl6bS04Ny45LTE2LjhjMC0yMCAxMi4zLTI4LjQgMjMuNC0yOC40IDEwLjkgMCAyMi41IDguNCAyMi41IDI4LjRsLTQ1LjkgMHpNNDM5LjIgMTgwLjJjLTE3LjQgMC0yOC42IDguMi0zNC44IDEzLjlsLTIuMy0xMS0zOS4xIDAgMCAyMDQuOCA0NC40LTkuNCAuMS01MC4yYzYuNCA0LjcgMTUuOSAxMS4yIDMxLjQgMTEuMiAzMS44IDAgNjAuOC0yMy4yIDYwLjgtNzkuNiAuMS01MS42LTI5LjMtNzkuNy02MC41LTc5Ljd6TTQyOC42IDMwMi43Yy0xMC40IDAtMTYuNi0zLjgtMjAuOS04LjRsLS4zLTY2YzQuNi01LjEgMTEtOC44IDIxLjItOC44IDE2LjIgMCAyNy40IDE4LjIgMjcuNCA0MS40IC4xIDIzLjktMTAuOSA0MS44LTI3LjQgNDEuOHpNMzAxLjkgMzM2LjRsNDQuNiAwIDAtMTUzLjItNDQuNiAwIDAgMTUzLjJ6Il19LHd5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkYWlseW1vdGlvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTA1MiIsIk0yOTguOSAyNjdjLTcuNC00LjItMTUuOC02LjMtMjQuNC02LjItMTMuMiAwLTI0LjQgNC40LTMzLjQgMTMuM3MtMTMuNiAyMC0xMy42IDMzLjRjMCAxNC4xIDQuNCAyNS42IDEzLjMgMzQuNnMyMCAxMy40IDMzLjQgMTMuNGMxMy43IDAgMjUtNC42IDM0LjEtMTMuOFMzMjIgMzIxLjEgMzIyIDMwNy41YzAtOC4yLTIuMS0xNi4zLTYuMS0yMy41LTQtNy4xLTkuOC0xMy0xNy0xN3pNMCAzMmwwIDQ0OCA0NDggMCAwLTQ0OC00NDggMHpNMzc0LjcgNDA1LjNsLTUzLjEgMCAwLTIzLjktLjcgMGMtMTAuNSAxNy41LTI5LjEgMjYuMi01NS44IDI2LjItMTguNCAwLTM0LjctNC40LTQ4LjktMTMuMS0xNC4xLTguNi0yNS41LTIxLTMyLjktMzUuOC03LjctMTUuMS0xMS42LTMyLjEtMTEuNi01MC45IDAtMTguNCAzLjktMzUuMSAxMS44LTUwLjIgNy41LTE0LjcgMTguOS0yNy4xIDMyLjktMzUuOCAxNC4xLTguNyAzMC0xMy4xIDQ3LjctMTMuMSAxMC4yLS4xIDIwLjIgMS42IDI5LjcgNS4yIDguOSAzLjUgMTcuMiA5LjEgMjUgMTdsMC03Ny45IDU1LjgtMTIuMSAwIDI2NC40eiJdfSxNeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RlYW0iLGljb246WzUxMiw1MTIsW10sImYxYjYiLCJNNTA0IDI1NmMwIDEzNy0xMTEuMiAyNDgtMjQ4LjQgMjQ4LTExMy44IDAtMjA5LjYtNzYuMy0yMzktMTgwLjRsOTUuMiAzOS4zYzYuNCAzMi4xIDM0LjkgNTYuNCA2OC45IDU2LjQgMzkuMiAwIDcxLjktMzIuNCA3MC4yLTczLjVsODQuNS02MC4yYzUyLjEgMS4zIDk1LjgtNDAuOSA5NS44LTkzLjUgMC01MS42LTQyLTkzLjUtOTMuNy05My41cy05My43IDQyLTkzLjcgOTMuNWwwIDEuMi01OS4yIDg1LjdjLTE1LjUtLjktMzAuNyAzLjQtNDMuNSAxMi4xTDggMjM2LjFDMTguMiAxMDguNCAxMjUuMSA4IDI1NS42IDggMzkyLjggOCA1MDQgMTE5IDUwNCAyNTZ6TTE2My43IDM4NC4zbC0zMC41LTEyLjZjNS42IDExLjYgMTUuMyAyMC44IDI3LjIgMjUuOCAyNi45IDExLjIgNTcuOC0xLjYgNjktMjguNCA1LjQtMTMgNS41LTI3LjMgLjEtNDAuM1MyMTQgMzA1LjYgMjAxIDMwMC4yYy0xMi45LTUuNC0yNi43LTUuMi0zOC45LS42bDMxLjUgMTNjMTkuOCA4LjIgMjkuMiAzMC45IDIwLjkgNTAuNy04LjMgMTkuOS0zMSAyOS4yLTUwLjggMjF6TTMzNy41IDEyOS44YTYyLjMgNjIuMyAwIDEgMSAwIDEyNC42IDYyLjMgNjIuMyAwIDEgMSAwLTEyNC42em0uMSAxMDlhNDYuOCA0Ni44IDAgMSAwIDAtOTMuNiA0Ni44IDQ2LjggMCAxIDAgMCA5My42eiJdfSxreXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmVubW8tdiIsaWNvbjpbNTEyLDUxMixbXSwiZTg1YiIsIk00NjYuNSAxNC44YzE3LjQgMjguNyAyNS4zIDU4LjIgMjUuMyA5NS41IDAgMTE5LTEwMS45IDI3My41LTE4NC43IDM4Mi4xbC0xODguOSAwLTc1LjgtNDUxLjUgMTY1LjQtMTUuNyA0MC4xIDMyMS4zYzM3LjQtNjAuOCA4My42LTE1Ni4zIDgzLjYtMjIxLjQgMC0zNS42LTYuMS01OS45LTE1LjctNzkuOUw0NjYuNSAxNC44eiJdfSxOdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic25hcGNoYXQiLGljb246WzUxMiw1MTIsWzYyMTI0LCJzbmFwY2hhdC1naG9zdCJdLCJmMmFiIiwiTTQ5Ny4xIDM2Ni42Yy0zLjQtOS4yLTkuOC0xNC4xLTE3LjEtMTguMi0xLjQtLjgtMi42LTEuNS0zLjctMS45LTIuMi0xLjEtNC40LTIuMi02LjYtMy40LTIyLjgtMTIuMS00MC42LTI3LjMtNTMtNDUuNC0zLjUtNS4xLTYuNi0xMC41LTkuMS0xNi4xLTEuMS0zLTEtNC43LS4yLTYuMyAuOC0xLjIgMS43LTIuMiAyLjktMyAzLjktMi42IDgtNS4yIDEwLjctNyA0LjktMy4yIDguOC01LjcgMTEuMi03LjQgOS40LTYuNSAxNS45LTEzLjUgMjAtMjEuMyAyLjktNS40IDQuNS0xMS4zIDQuOS0xNy40cy0uNi0xMi4yLTIuOC0xNy44Yy02LjItMTYuMy0yMS42LTI2LjQtNDAuMy0yNi40LTMuOSAwLTcuOSAuNC0xMS43IDEuMi0xIC4yLTIuMSAuNS0zLjEgLjcgLjItMTEuMi0uMS0yMi45LTEuMS0zNC41LTMuNS00MC44LTE3LjgtNjIuMS0zMi43LTc5LjItOS41LTEwLjctMjAuNy0xOS43LTMzLjItMjYuNy0yMi42LTEyLjktNDguMi0xOS40LTc2LjEtMTkuNHMtNTMuNCA2LjUtNzYgMTkuNGMtMTIuNSA3LTIzLjcgMTYuMS0zMy4zIDI2LjgtMTQuOSAxNy0yOS4yIDM4LjQtMzIuNyA3OS4yLTEgMTEuNi0xLjIgMjMuNC0xLjEgMzQuNS0xLS4zLTItLjUtMy4xLS43LTMuOS0uOC03LjgtMS4yLTExLjctMS4yLTE4LjcgMC0zNC4xIDEwLjEtNDAuMyAyNi40LTIuMiA1LjctMy4yIDExLjgtMi44IDE3LjhzMiAxMiA0LjkgMTcuNGM0LjEgNy44IDEwLjcgMTQuNyAyMCAyMS4zIDIuNSAxLjcgNi40IDQuMiAxMS4yIDcuNCAyLjYgMS43IDYuNSA0LjIgMTAuMyA2LjcgMS4zIC45IDIuNCAyIDMuMyAzLjMgLjggMS42IC44IDMuNC0uNCA2LjYtMi41IDUuNS01LjUgMTAuOC04LjkgMTUuOC0xMi4xIDE3LjctMjkuNCAzMi42LTUxLjQgNDQuNi0xMS43IDYuMi0yMy45IDEwLjMtMjkgMjQuMy0zLjkgMTAuNS0xLjMgMjIuNSA4LjUgMzIuNiAzLjYgMy44IDcuOCA2LjkgMTIuNCA5LjQgOS42IDUuMyAxOS44IDkuMyAzMC4zIDEyLjEgMi4yIC42IDQuMyAxLjUgNi4xIDIuNyAzLjYgMy4xIDMuMSA3LjkgNy44IDE0LjggMi40IDMuNiA1LjQgNi43IDkgOS4xIDEwIDYuOSAyMS4zIDcuNCAzMy4yIDcuOCAxMC44IC40IDIzIC45IDM2LjkgNS41IDUuOCAxLjkgMTEuOCA1LjYgMTguNyA5LjkgMTYuNyAxMC4zIDM5LjYgMjQuMyA3Ny44IDI0LjNzNjEuMy0xNC4xIDc4LjEtMjQuNGM2LjktNC4yIDEyLjktNy45IDE4LjUtOS44IDEzLjktNC42IDI2LjItNS4xIDM2LjktNS41IDExLjktLjUgMjMuMi0uOSAzMy4yLTcuOCA0LjItMi45IDcuNy02LjcgMTAuMi0xMS4yIDMuNC01LjggMy40LTkuOSA2LjYtMTIuOCAxLjgtMS4yIDMuNy0yLjEgNS44LTIuNiAxMC43LTIuOCAyMS02LjkgMzAuOC0xMi4yIDQuOS0yLjYgOS4zLTYuMSAxMy0xMC4ybC4xLS4yYzkuMi05LjkgMTEuNS0yMS41IDcuOC0zMS44em0tMzQgMTguM2MtMjAuNyAxMS41LTM0LjUgMTAuMi00NS4zIDE3LjEtOS4xIDUuOS0zLjcgMTguNS0xMC4zIDIzLjEtOC4xIDUuNi0zMi4yLS40LTYzLjIgOS45LTI1LjYgOC41LTQyIDMyLjgtODggMzIuOHMtNjItMjQuMy04OC4xLTMyLjljLTMxLTEwLjMtNTUuMS00LjItNjMuMi05LjktNi42LTQuNi0xLjItMTcuMi0xMC4zLTIzLjEtMTAuNy02LjktMjQuNS01LjctNDUuMy0xNy4xLTEzLjItNy4zLTUuNy0xMS44LTEuMy0xMy45IDc1LjEtMzYuNCA4Ny4xLTkyLjYgODcuNy05Ni43IC42LTUgMS40LTktNC4yLTE0LjEtNS40LTUtMjkuMi0xOS43LTM1LjgtMjQuMy0xMC45LTcuNi0xNS43LTE1LjMtMTIuMi0yNC42IDIuNS02LjUgOC41LTguOSAxNC45LTguOSAyIDAgNCAuMiA2IC43IDEyIDIuNiAyMy43IDguNiAzMC40IDEwLjIgLjggLjIgMS42IC4zIDIuNSAuMyAzLjYgMCA0LjktMS44IDQuNi01LjktLjgtMTMuMS0yLjYtMzguNy0uNi02Mi42IDIuOC0zMi45IDEzLjQtNDkuMiAyNi02My42IDYuMS02LjkgMzQuNS0zNyA4OC45LTM3UzMzOSA3NC4yIDM0NSA4MS4xYzEyLjYgMTQuNCAyMy4yIDMwLjcgMjYgNjMuNiAyLjEgMjMuOSAuMyA0OS41LS42IDYyLjYtLjMgNC4zIDEgNS45IDQuNiA1LjkgLjggMCAxLjctLjEgMi41LS4zIDYuNy0xLjYgMTguNC03LjYgMzAuNC0xMC4yIDItLjQgNC0uNyA2LS43IDYuNCAwIDEyLjQgMi41IDE0LjkgOC45IDMuNSA5LjQtMS4yIDE3LTEyLjIgMjQuNi02LjYgNC42LTMwLjQgMTkuMy0zNS44IDI0LjMtNS42IDUuMS00LjggOS4xLTQuMiAxNC4yIC41IDQuMiAxMi41IDYwLjQgODcuNyA5Ni43IDQuNCAyLjIgMTEuOSA2LjctMS4zIDE0LjF6Il19LFN5dD1OdWUsenl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdhbGFjdGljLXNlbmF0ZSIsaWNvbjpbNTEyLDUxMixbXSwiZjUwZCIsIk0yNDkuOSAzMy41bDAgMjYuMWMtMTMuNiAyMC42LTIzLjkgMTA4LjYtMjQuNSAyMTUuMyAxMS43LTE1LjYgMTkuMS0zMy4zIDE5LjEtNDguMmwwLTE2LjljMC01LjMgLjgtMTAuNSAyLjItMTUuNiAuNi0yLjEgMS40LTQuMSAyLjYtNS44czMuNC0zLjggNi43LTMuOCA1LjQgMi4xIDYuNyAzLjhjMS4yIDEuOCAyIDMuNyAyLjYgNS44IDEuNCA1LjEgMi4yIDEwLjMgMi4yIDE1LjZsMCAxNi45YzAgMTQuOSA3LjQgMzIuNiAxOS4xIDQ4LjItLjYtMTA2LjgtMTAuOS0xOTQuNy0yNC41LTIxNS4zbDAtMjYuMS0xMi4zIDB6TTIyMy41IDE4MS4zYy05LjUgMi4xLTE4LjcgNS4yLTI3LjUgOS4xIDguOSAxNi4xIDkuOCAzMi42IDEuNyAzNy4zLTggNC42LTIxLjgtNC4yLTMxLjQtMTkuOC0xMS42IDguOC0yMS45IDE5LjMtMzAuNiAzMS4xIDE0LjcgOS42IDIyLjkgMjIuOSAxOC4zIDMwLjctNC41IDcuNy0yMCA3LjEtMzUuNS0xLTUuOCAxMy4yLTkuNyAyNy41LTExLjYgNDIuNCA5LjcgLjIgMTguNyAyLjQgMjYuMiA2IDE3LjgtLjMgMzIuOC0yIDQwLjUtNC4yIDUuNi0yNi40IDIzLTQ4LjIgNDYuMy01OS41IC43LTI1LjYgMS45LTQ5LjcgMy41LTcyLjF6bTY1IDBjMS42IDIyLjQgMi43IDQ2LjUgMy41IDcyLjEgMjMuMyAxMS4zIDQwLjggMzMuMiA0Ni4zIDU5LjUgNy43IDIuMyAyMi43IDMuOSA0MC41IDQuMiA3LjUtMy43IDE2LjUtNS44IDI2LjItNi0xLjktMTQuOS01LjktMjkuMi0xMS43LTQyLjQtMTUuNCA4LjEtMzAuOSA4LjctMzUuNSAxLTQuNi03LjcgMy42LTIxLjEgMTguMy0zMC43LTguNy0xMS44LTE5LTIyLjMtMzAuNi0zMS4xLTkuNSAxNS42LTIzLjQgMjQuNC0zMS40IDE5LjgtOC4xLTQuNi03LjItMjEuMiAxLjctMzcuMy04LjgtMy45LTE4LTctMjcuNC05LjF6TTI1NiAxODkuOWMtMy4yIDAtNS45IDguOC02LjEgMTkuOWwwIDAgMCAxNi45YzAgNDEuNC00OSA5NS05My41IDk1LTUyIDAtMTIyLjgtMS40LTE1Ni40IDI5LjJsMCAyLjVjOS40IDE3LjEgMjAuNiAzMy4yIDMzLjIgNDggMTIuNS0yMS4xIDUxLjYtNDEgMTA4LTQxLjQgNDUuNyAxIDc5IDIwLjMgOTAuOCA0MC45IDAgMCAwIDAgMCAuMSA3LjcgMi4xIDE1LjggMy4yIDI0IDMuMiA4LjIgMCAxNi40LTEuMSAyNC0zLjIgMCAwIDAgMCAwLS4xIDExLjctMjAuNSA0NS4xLTM5LjggOTAuOC00MC45IDU2LjQgLjQgOTUuNSAyMC4zIDEwOCA0MS40IDEyLjYtMTQuOCAyMy44LTMwLjkgMzMuMi00OGwwLTIuNWMtMzMuNi0zMC42LTEwNC40LTI5LjItMTU2LjQtMjkuMi00NC41IDAtOTMuNS01My42LTkzLjUtOTVsMC0xNi45LS4xIDBjLS4yLTExLjEtMi45LTE5LjktNi4xLTE5Ljl6bTAgMTc3LjlhNDAuNiA0MC42IDAgMSAxIDAtODEuMyA0MC42IDQwLjYgMCAxIDEgMCA4MS4zem0wLTczLjZhMzMgMzMgMCAxIDAgMCA2NS45IDMzIDMzIDAgMSAwIDAtNjUuOXptMCA1OS44YTI2LjggMjYuOCAwIDEgMSAwLTUzLjYgMjYuOCAyNi44IDAgMSAxIDAgNTMuNnptLTExNC44IDEzYy0xMC4yIC4xLTIxLjYgLjQtMzAuNSAxLjcgLjQgNC40IDEuNSAxOC42IDcuMSAyOS44IDkuMS0yLjYgMTguNC0zLjkgMjcuNi0zLjkgNDEuMyAuOSA3MS41IDM0LjQgNzguMyA3NC41bC4xIDQuN2MxMC40IDEuOSAyMS4yIDIuOSAzMi4yIDIuOSAxMSAwIDIxLjgtMSAzMi4yLTIuOWwuMS00LjdjNi44LTQwLjEgMzctNzMuNSA3OC4zLTc0LjUgOS4zIDAgMTguNSAxLjMgMjcuNiAzLjkgNS42LTExLjEgNi43LTI1LjMgNy4xLTI5LjgtOC45LTEuMy0yMC4zLTEuNi0zMC41LTEuNy0xOC44IC40LTM1LjIgNC4yLTQ4LjYgOS43LTEyLjUgMTYtMjkuMiAzMC00OS42IDMzLjEtLjEgMC0uMiAwLS4zIDAgMCAwLS4xIDAtLjIgLjEtNS4yIDEuMS0xMC42IDEuNi0xNi4yIDEuNi01LjUgMC0xMC45LS41LTE2LjItMS42LS4xIDAtLjEgMC0uMi0uMS0uMSAwLS4yIDAtLjMgMC0yMC40LTMtMzctMTctNDkuNi0zMy4xLTEzLjQtNS41LTI5LjktOS4yLTQ4LjYtOS43eiJdfSxDeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGhvZW5peC1mcmFtZXdvcmsiLGljb246WzY0MCw1MTIsW10sImYzZGMiLCJNMjEyLjkgMzQ0LjNjMy44LS4xIDIyLjgtMS40IDI1LjYtMi4yLTIuNC0yLjYtNDMuNi0xLTY4LTQ5LjYtNC4zLTguNi03LjUtMTcuNi02LjQtMjcuNiAyLjktMjUuNSAzMi45LTMwIDUyLTE4LjUgMzYgMjEuNiA2My4zIDkxLjMgMTEzLjcgOTcuNSAzNyA0LjUgODQuNi0xNyAxMDguMi00NS40LS42LS4xLS44LS4yLTEtLjEtLjQgLjEtLjggLjItMS4xIC4zLTMzLjMgMTIuMS05NC4zIDkuNy0xMzQuNy0xNC44LTM3LjYtMjIuOC01My4xLTU4LjctNTEuOC03NC42IDEuOC0yMS4zIDIyLjktMjMuMiAzNS45LTE5LjYgMTQuNCAzLjkgMjQuNCAxNy42IDM4LjkgMjcuNCAxNS42IDEwLjQgMzIuOSAxMy43IDUxLjMgMTAuMyAxNC45LTIuNyAzNC40LTEyLjMgMzYuNS0xNC41LTEuMS0uMS0xLjgtLjEtMi41LS4yLTYuMi0uNi0xMi40LS44LTE4LjUtMS43LTExMS4yLTE2LjUtMTI4LjktMTYzLjYtMjUyLjUtMTczLjEtNDQuMy0zLjQtOTkuNCA4LjEtMTM2LjMgMzUtLjggLjYtMS41IDEuMi0yLjIgMS44IC4xIC4yIC4xIC4zIC4yIC41IC44IDAgMS42LS4xIDIuNC0uMiA2LjMtMSAxMi41LS44IDE4LjcgLjMgMjMuOCA0LjMgNDcuNyAyMy4xIDU1LjkgNzYuNSA1LjMgMzQuMy0uNyA1MC44IDggODYuMSAxOSA3Ny4xIDkxIDEwNy42IDEyNy43IDEwNi40ek03NS4zIDY0LjljLS45LTEtLjktMS4yLTEuMy0yIDEyLjEtMi42IDI0LjItNC4xIDM2LjYtNC44LTEuMSAxNC43LTIyLjIgMjEuMy0zNS4zIDYuOHpNMjcyLjIgNDE1LjRjLTQyLjggMS4yLTkyLTI2LjctMTIzLjUtNjEuNC00LjYtNS0xNi44LTIwLjItMTguNi0yMy40bC40LS40YzYuNiA0LjEgMjUuNyAxOC42IDU0LjggMjcgMjQuMiA3IDQ4LjEgNi4zIDcxLjYtMy4zIDIyLjctOS4zIDQxLS41IDQzLjEgMi45LTE4LjUgMy44LTIwLjEgNC40LTI0IDcuOS01LjEgNC40LTQuNiAxMS43IDcgMTcuMiAyNi4yIDEyLjQgNjMtMi44IDk3LjIgMjUuNCAyLjQgMiA4LjEgNy44IDEwLjEgMTAuNy0uMSAuMi0uMyAuMy0uNCAuNS00LjgtMS41LTE2LjQtNy41LTQwLjItOS4zLTI0LjctMi00Ni4zIDUuMy03Ny41IDYuMnpNNDQ3IDE2My40YzE2LjQtNS4yIDQxLjMtMTMuNCA2Ni41LTMuMyAxNi4xIDYuNSAyNi4yIDE4LjcgMzIuMSAzNC42IDMuNSA5LjQgNS4xIDE5LjcgNS4xIDI4LjctLjIgMC0uNCAwLS42IC4xLS4yLS40LS40LS45LS41LTEuMy01LTIyLTI5LjktNDMuOC02Ny42LTI5LjktNTAuMiAxOC42LTEzMC40IDkuNy0xNzYuOS00OC0uNy0uOS0yLjQtMS43LTEuMy0zLjIgLjEtLjIgMi4xIC42IDMgMS4zIDE4LjEgMTMuNCAzOC4zIDIxLjkgNjAuMyAyNi4yIDMwLjUgNi4xIDU0LjYgMi45IDc5LjktNS4yek01NDkuNyAyODAuOWMtMzIuNCAuMi0zMy44IDUwLjEtMTAzLjYgNjQuNC0xOC4yIDMuNy0zOC43IDQuNi00NC45IDQuMmwwLS40YzIuOC0xLjUgMTQuNy0yLjYgMjkuNy0xNi42IDcuOS03LjMgMTUuMy0xNS4xIDIyLjgtMjIuOSAxOS41LTIwLjIgNDEuNC00Mi4yIDgxLjktMzkgMjMuMSAxLjggMjkuMyA4LjIgMzYuMSAxMi43IC4zIC4yIC40IC41IC43IC45LS41IDAtLjcgLjEtLjkgMC03LTIuNy0xNC4zLTMuMy0yMS44LTMuM3ptLTEyLjMtMjQuMWMtLjEgLjItLjEgLjQtLjIgLjYtMjguOS00LjQtNDgtNy45LTY4LjUgNC0xNyA5LjktMzEuNCAyMC41LTYyIDI0LjQtMjcuMSAzLjQtNDUuMSAyLjQtNjYuMS04LS4zLS4yLS42LS40LTEtLjYgMC0uMiAuMS0uMyAuMS0uNSAyNC45IDMuOCAzNi40IDUuMSA1NS41LTUuOCAyMi4zLTEyLjkgNDAuMS0yNi42IDcxLjMtMzEgMjkuNi00LjEgNTEuMyAyLjUgNzAuOSAxNi45ek0yNjguNiA5Ny4zYy0uNi0uNi0xLjEtMS4yLTIuMS0yLjMgNy42IDAgMjkuNy0xLjIgNTMuNCA4LjQgMTkuNyA4IDMyLjIgMjEgNTAuMiAzMi45IDExLjEgNy4zIDIzLjQgOS4zIDM2LjQgOC4xIDQuMy0uNCA4LjUtMS4yIDEyLjgtMS43IC40LS4xIC45IDAgMS41IC4zLS42IC40LTEuMiAuOS0xLjggMS4yLTguMSA0LTE2LjcgNi4zLTI1LjYgNy4xLTI2LjEgMi42LTUwLjMtMy43LTczLjQtMTUuNC0xOS4zLTkuOS0zNi40LTIyLjktNTEuNC0zOC42ek02NDAgMzM1LjdjLTMuNSAzLjEtMjIuNyAxMS42LTQyLjcgNS4zLTEyLjMtMy45LTE5LjUtMTQuOS0zMS42LTI0LjEtMTAtNy42LTIwLjktNy45LTI4LjEtOC40IC42LS44IC45LTEuMiAxLjItMS40IDE0LjgtOS4yIDMwLjUtMTIuMiA0Ny4zLTYuNSAxMi41IDQuMiAxOS4yIDEzLjUgMzAuNCAyNC4yIDEwLjggMTAuNCAyMSA5LjkgMjMuMSAxMC41IC4xLS4xIC4yIDAgLjQgLjR6bS0yMTIuNSAxMzdjMi4yIDEuMiAxLjYgMS41IDEuNSAyLTE4LjUtMS40LTMzLjktNy42LTQ2LjgtMjIuMi0yMS44LTI0LjctNDEuNy0yNy45LTQ4LjYtMjkuNyAuNS0uMiAuOC0uNCAxLjEtLjQgMTMuMSAuMSAyNi4xIC43IDM4LjkgMy45IDI1LjMgNi40IDM1IDI1LjQgNDEuNiAzNS4zIDMuMiA0LjggNy4zIDguMyAxMi4zIDExLjF6Il19LF95dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnaXQiLGljb246WzUxMiw1MTIsW10sImYxZDMiLCJNMjE2LjMgMTU4LjRsLTc5LjMgMGMtNDAtMTAuNS0xMzAuNS03LjgtMTMwLjUgNzQuOCAwIDMwLjEgMTUgNTEuMiAzNSA2MS0yNS4xIDIzLTM3IDMzLjgtMzcgNDkuMiAwIDExIDQuNSAyMS4xIDE3LjkgMjYuOC0xNC4zIDEzLjQtMjIuNCAyMy4xLTIyLjQgNDEuNCAwIDMyLjEgMjggNTAuOCAxMDEuNiA1MC44IDcwLjggMCAxMTEuOC0yNi40IDExMS44LTczLjIgMC01OC43LTQ1LjItNTYuNS0xNTEuNi02M2wxMy40LTIxLjZjMjcuMyA3LjYgMTE4LjcgMTAgMTE4LjctNjcuOSAwLTE4LjctNy43LTMxLjctMTUtNDEuMWwzNy40LTIuOCAwLTM0LjV6TTE1Mi45IDQwMC4zYzAgMzIuMS0xMDQuOSAzMi4xLTEwNC45IDIuNCAwLTguMSA1LjMtMTUgMTAuNi0yMS41IDc3LjcgNS4zIDk0LjMgMy40IDk0LjMgMTkuMXpNMTAyLjEgMjY1LjdjLTUyLjggMC01MC41LTcxLjIgMS4yLTcxLjIgNDkuNSAwIDUwLjggNzEuMi0xLjIgNzEuMnpNMjM1LjQgMzY2LjJsMC0zMi4xYzI2LjctMy43IDI3LjItMiAyNy4yLTExbDAtMTE5LjVjMC04LjUtMi4xLTcuNC0yNy4yLTE2LjNsNC41LTMyLjkgODQuMiAwIDAgMTY4LjdjMCA2LjUgLjQgNy4zIDYuNSA4LjFsMjAuNyAyLjggMCAzMi4xLTExNS45IDB6bTUyLjUtMjQ0LjNjLTIzLjIgMC0zNi42LTEzLjQtMzYuNi0zNi42czEzLjQtMzUuOCAzNi42LTM1LjhjMjMuNiAwIDM3IDEyLjYgMzcgMzUuOHMtMTMuNCAzNi42LTM3IDM2LjZ6TTUxMiAzNTAuNWMtMTcuNSA4LjUtNDMuMSAxNi4zLTY2LjMgMTYuMy00OC40IDAtNjYuNy0xOS41LTY2LjctNjUuNWwwLTEwNi41YzAtNS40IDEtNC4xLTMxLjctNC4xbDAtMzYuMmMzNS44LTQuMSA1MC0yMiA1NC41LTY2LjNsMzguNiAwYzAgNjUuOC0xLjMgNjEuOCAzLjMgNjEuOGw1Ny4zIDAgMCA0MC42LTYwLjYgMCAwIDk3LjFjMCA2LjktNC45IDUxLjQgNjAuNiAyNi44bDExIDM1Ljh6Il19LFR5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvcHRpbi1tb25zdGVyIixpY29uOls1NzYsNTEyLFtdLCJmMjNjIiwiTTU3Mi44IDQyMS40YzUuNi05LjUgNC43LTE1LjItNS40LTExLjYtMy00LjktNy05LjUtMTEuMS0xMy44IDIuOS05LjctLjctMTQuMi0xMC44LTkuMi00LjYtMy4yLTEwLjMtNi41LTE1LjktOS4yIDAtMTUuMS0xMS42LTExLjYtMTcuNi01LjctMTAuNC0xLjUtMTguNy0uMy0yNi44IDUuNyAuMy02LjUgLjMtMTMgLjMtMTkuNyAxMi42IDAgNDAuMi0xMSA0NS45LTM2LjIgMS40LTYuOCAxLjYtMTMuOC0uMy0yMS45LTMtMTMuNS0xNC4zLTIxLjMtMjUuMS0yNS43LS44LTUuOS03LjYtMTQuMy0xNC45LTE1LjlzLTEyLjQgNC45LTE0LjEgMTAuM2MtOC41IDAtMTkuMiAyLjgtMjEuMSA4LjQtNS40LS41LTExLjEtMS40LTE2LjgtMS45IDIuNy0xLjkgNS40LTMuNSA4LjQtNC42IDUuNC05LjIgMTQuNi0xMS40IDI1LjctMTEuNmwwLTIuOGMxOS41LS41IDQzLTUuOSA1My44LTE4LjEgMTIuNy0xMy44IDE0LjYtMzcuMyAxMi40LTU1LjEtMi40LTE3LjMtOS43LTM3LjYtMjQuNi00OC4xLTguNC01LjktMjEuNi0uOC0yMi43IDkuNS0yLjIgMTkuNiAxLjIgMzAtMzguNiAyNS4xLTEwLjMtMjMuOC0yNC42LTQ0LjYtNDIuNy02MC02OS42LTU5LjctMTY3LjctNTMuOC0yNDQuMi0zNy42IDE5LjcgNC42IDQxLjEgOC42IDU5LjcgMTYuNS0yNi4yIDIuNC01Mi43IDExLjMtNzYuMiAyMy4yLTMyLjggMTctNDQgMjkuOS01Ni43IDQyLjQgMTQuOS0yLjIgMjguOS01LjEgNDMuOC0zLjgtOS43IDUuNC0xOC40IDEyLjItMjYuNSAyMC0yNS44IC45LTIzLjgtNS4zLTI2LjItMjUuOS0xLjEtMTAuNS0xNC4zLTE1LjQtMjIuNy05LjctMjguMSAxOS45LTMzLjUgNzkuOS0xMi4yIDEwMy41IDEwLjggMTIuMiAzNS4xIDE3LjMgNTQuOSAxNy44LS4zIDEuMS0uMyAxLjktLjMgMi43IDEwLjggLjUgMTkuNSAyLjcgMjQuNiAxMS42IDMgMS4xIDUuNyAyLjcgOC4xIDQuNi01LjQgLjUtMTEuMSAxLjQtMTYuNSAxLjktMy4zLTYuNi0xMy43LTguMS0yMS4xLTguMS0xLjYtNS43LTYuNS0xMi4yLTE0LjEtMTAuMy02LjggMS45LTE0LjEgMTAtMTQuOSAxNS45LTIyLjUgOS41LTMwLjEgMjYuOC0yNS4xIDQ3LjYgNS4zIDI0LjggMzMgMzYuMiA0NS45IDM2LjJsMCAxOS43Yy02LjYtNS0xNC4zLTcuNS0yNi44LTUuNy01LjUtNS41LTE3LjMtMTAuMS0xNy4zIDUuNy01LjkgMi43LTExLjQgNS45LTE1LjkgOS4yLTkuOC00LjktMTMuNi0xLjctMTEuMSA5LjItNC4xIDQuMy03LjggOC42LTExLjEgMTMuOC0xMC4yLTMuNy0xMSAyLjItNS40IDExLjYtMS4xIDMuNS0xLjYgNy0xLjkgMTAuOC0uNSAzMS42IDQ0LjYgNjQgNzMuNSA2NS4xIDE3LjMgLjUgMzQuNi04LjQgNDMtMjMuNSAxMTMuMiA0LjkgMjI2LjcgNC4xIDM0MC4yIDAgOC4xIDE1LjEgMjUuNCAyNC4zIDQyLjcgMjMuNSAyOS4yLTEuMSA3NC4zLTMzLjUgNzMuNS02NS4xIC4yLTMuNy0uNy03LjItMS43LTEwLjd6TTQ5OSAxNjcuNGMxLjEtMyAyLjQtOC40IDIuNC0xNC42IDAtNS45IDYuOC04LjEgMTQuMS0uOCAxMS4xIDExLjYgMTQuOSA0MC41IDEzLjggNTEuMS00LjEtMTMuNi0xMy0yOS0zMC4zLTM1Ljd6bS00LjYgNi43YzE5LjUgNi4yIDI4LjYgMjcuNiAyOS43IDQ4LjktMS4xIDIuNy0zIDUuNC00LjkgNy42LTUuNyA1LjktMTUuNCAxMC0yNi4yIDEyLjIgNC4zLTIxLjMgLjMtNDcuMy0xMi43LTYzIDQuOS0uOCAxMC45LTIuNCAxNC4xLTUuN3ptLTI0LjEgNi44YzEzLjggMTEuOSAyMCAzOS4yIDE0LjEgNjMuNS00LjEgLjUtOC4xIC44LTExLjYgLjgtMS45LTIxLjktNi44LTQ0LTE0LjMtNjQuNiAzLjcgLjMgOC4xIC4zIDExLjggLjN6TTQ3LjcgMjAzYy0xLjEtMTAuNSAyLjQtMzkuNSAxMy44LTUxLjEgNy03LjMgMTQuMS01LjEgMTQuMSAuOCAwIDYuMiAxLjQgMTEuNiAyLjQgMTQuNi0xNy4zIDYuOC0yNi4yIDIyLjItMzAuMyAzNS43em05LjcgMjcuNmMtMS45LTIuMi0zLjUtNC45LTQuOS03LjYgMS40LTIxLjMgMTAuMy00Mi43IDI5LjctNDguOSAzLjIgMy4yIDkuMiA0LjkgMTQuMSA1LjctMTMgMTUuNy0xNyA0MS42LTEyLjcgNjMtMTAuOC0yLjItMjAuNS02LTI2LjItMTIuMnptNDcuOSAxNC42Yy00LjEgMC04LjEtLjMtMTIuNy0uOC00LjYtMTguNi0xLjktMzguOSA1LjQtNTNsMCAuMyAxMi4yLTUuMWM0LjktMS45IDkuNy0zLjggMTQuOS00LjktMTAuNyAxOS43LTE3LjQgNDEuMy0xOS44IDYzLjV6bTE4NC0xMC41YTc2LjEgNzYuMSAwIDEgMSAwLTE1Mi4yIDc2LjEgNzYuMSAwIDEgMSAwIDE1Mi4yem0xMTUuNiAyMi4xYy0uMyAxNy44LTcgNDguOS0yMyA1Ny0xMy4yIDYuNi02LjUtNy41LTE2LjUtNTguMSAxMy4zIC4zIDI2LjYgLjMgMzkuNSAxLjF6bS01NC0xLjZjLjggNC45IDMuOCA0MC4zLTEuNiA0MS45LTExLjYgMy41LTQwIDQuMy01MS4xLTEuMS00LjEtMy00LjYtMzUuOS00LjMtNDEuMWwwIC4zYzE4LjktLjMgMzguMS0uMyA1NyAwek0yNzguNSAzMDljLTEzIDMuNS00MS42IDQuMS01NC42LTEuNi02LjUtMi43LTMuOC00Mi40LTEuOS01MS42IDE5LjItLjUgMzguNC0uNSA1Ny44LS44bDAgLjNjMS4xIDguMyAzLjMgNTEuMi0xLjMgNTMuN3pNMTcyIDI1Ny45YzEyLjItLjggMjQuNi0xLjQgMzYuOC0xLjYtMi40IDE1LjQtMyA0My41LTQuOSA1Mi4yLTEuMSA2LjgtNC4zIDYuOC05LjcgNC4zLTIxLjktOS44LTI3LjYtMzUuMi0yMi4yLTU0Ljl6bS0zNS40IDMxLjNjNy44LTEuMSAxNS43LTEuOSAyMy41LTIuNyAxLjYgNi4yIDMuOCAxMS45IDcgMTcuNiAxMCAxNyA0NCAzNS43IDQ1LjEgNyA2LjIgMTQuOSA0MC44IDEyLjIgNTQuOSAxMC44IDE1LjctMS40IDIzLjgtMS40IDI2LjgtMTQuMyAxMi40IDQuMyAzMC44IDQuMSA0NCAzIDExLjMtLjggMjAuOC0uNSAyNC42LTguOSAxLjEgNS4xIDEuOSAxMS42IDQuNiAxNi44IDEwLjggMjEuMyAzNy4zIDEuNCA0Ni44LTMxLjYgOC42IC44IDE3LjYgMS45IDI2LjUgMi43LS40IDEuMy0zLjggNy4zIDcuMyAxMS42LTQ3LjYgNDctOTUuNyA4Ny44LTE2My4yIDEwNy02My4yLTIwLjgtMTEyLjEtNTkuNS0xNTUuOS0xMDYuNSA5LjYtMy40IDEwLjQtOC44IDgtMTIuNXpNMTE1IDQ2MS43Yy0zLjggMTcuOC0yMS45IDI5LjctMzkuNyAyOC45LTE5LjItLjgtNDYuNS0xNy01OS4yLTM2LjUtMi43LTMxLjEgNDMuOC02MS4zIDY2LjItNTQuNiAxNC45IDQuMyAyNy44IDMwLjggMzMuNSA1NCAwIDMtLjMgNS43LS44IDguMnptLTguNy02NmMtLjUtMTMuNS0uNS0yNy0uMy00MC41bC4zIDBjMi43LTEuNiA1LjctMy44IDcuOC02LjUgNi41LTEuNiAxMy01LjEgMTUuMS05LjIgMy4zLTcuMS03LTcuNS01LjQtMTIuNCAyLjctMS4xIDUuNy0yLjIgNy44LTMuNSAyOS4yIDI5LjIgNTguNiA1Ni41IDk3LjMgNzctMzYuOCAxMS4zLTcyLjQgMjcuNi0xMDUuOSA0Ny0xLjItMTguNi03LjctMzUuOS0xNi43LTUxLjl6bTMzNy42IDY0LjZjLTEwMyAzLjUtMjA2LjIgNC4xLTMwOS40IDAgMCAuMyAwIC4zLS4zIC4zbDAtLjMgLjMgMGMzNS4xLTIxLjYgNzIuMi0zOS4yIDExMi40LTUwLjggMTEuNiA1LjEgMjMgOS41IDM0LjkgMTMuMiAyLjIgLjggMi4yIC44IDQuMyAwIDE0LjMtNC4xIDI4LjQtOS4yIDQyLjItMTUuNCA0MS41IDExLjcgNzguOCAzMS43IDExNS42IDUzem0xMC41LTEyLjRjLTM1LjktMTkuNS03My0zNS45LTExMS45LTQ3LjYgMzguMS0yMCA3MS45LTQ3LjMgMTAzLjUtNzYuNyAyLjIgMS40IDQuNiAyLjQgNy42IDMuMiAwIC44IC4zIDEuOSAuNSAyLjQtNC42IDIuNy03LjggNi4yLTUuOSAxMC4zIDIuMiAzLjggOC42IDcuNiAxNS4xIDguOSAyLjQgMi43IDUuMSA1LjEgOC4xIDYuOCAwIDEzLjgtLjMgMjcuNi0uOCA0MS4zbC4zLS4zYy05LjMgMTUuOS0xNS41IDM3LTE2LjUgNTEuN3ptMTA1LjkgNi4yYy0xMi43IDE5LjUtNDAgMzUuNy01OS4yIDM2LjUtMTkuMyAuOS00MC41LTEzLjItNDAuNS0zNyA1LjctMjMuMiAxOC45LTQ5LjcgMzMuNS01NCAyMi43LTYuOSA2OS4yIDIzLjQgNjYuMiA1NC41ek0zNzMuMSA3NS4yYy0zLjgtNzIuMS0xMDAuOC03OS43LTEyNi0yMy41IDQ0LjYtMjQuMyA5MC4zLTE1LjcgMTI2IDIzLjV6TTc1IDQwNy4xYy0xNS43IDEuNi00OS41IDI1LjQtNDkuNSA0My4yIDAgMTEuNiAxNS43IDE5LjUgMzIuMiAxNC45IDEyLjItMy4yIDMxLjEtMTcuNiAzNS45LTI3LjMgNi0xMS42LTMuNy0zMi43LTE4LjYtMzAuOHpNMjkwLjkgMjMwLjljMjguNiAwIDUxLjktMjEuNiA1MS45LTQ4LjQgMC0zNi4xLTQwLjUtNTguMS03Mi4yLTQ0LjMgOS41IDMgMTYuNSAxMS42IDE2LjUgMjEuNiAwIDIzLjMtMzMuMyAzMi00Ni41IDExLjMtNy4zIDM0LjEgMTkuNCA1OS44IDUwLjMgNTkuOHpNNjguMiA0NzQuMWMuNSA2LjUgMTIuMiAxMi43IDIxLjYgOS41IDYuOC0yLjcgMTQuNi0xMC41IDE3LjMtMTYuMiAzLTctMS4xLTIwLTkuNy0xOC40LTguOSAxLjYtMjkuNyAxNi43LTI5LjIgMjUuMXptNDMzLjItNjdjLTE0LjktMS45LTI0LjYgMTkuMi0xOC45IDMwLjggNC45IDkuNyAyNC4xIDI0LjEgMzYuMiAyNy4zIDE2LjUgNC42IDMyLjItMy4yIDMyLjItMTQuOSAwLTE3LjgtMzMuOC00MS42LTQ5LjUtNDMuMnpNNDc5IDQ0OWMtOC40LTEuNi0xMi40IDExLjMtOS41IDE4LjQgMi40IDUuNyAxMC4zIDEzLjUgMTcuMyAxNi4yIDkuMiAzLjIgMjEuMS0zIDIxLjMtOS41IC45LTguNC0yMC4yLTIzLjUtMjkuMS0yNS4xeiJdfSxMeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiamVua2lucyIsaWNvbjpbNDQ4LDUxMixbXSwiZjNiNiIsIk00NTUuNCA0MjVjLTEuNC0xMS4yLTE5LTIzLjEtMjguMi0zMS45LTUuMS01LTI5LTIzLjEtMzAuNC0yOS45LTEuNC02LjYgOS43LTIxLjUgMTMuMy0yOC45IDUuMS0xMC43IDguOC0yMy43IDExLjMtMzIuNiAxOC44LTY2LjEgMjAuNy0xNTYuOS02LjItMjExLjItMTAuMi0yMC42LTM4LjYtNDktNTYuNC02Mi41LTQyLTMxLjctMTE5LjYtMzUuMy0xNzAuMS0xNi42LTE0LjEgNS4yLTI3LjggOS44LTQwLjEgMTcuMS0zMy4xIDE5LjQtNjguMyAzMi41LTc4LjEgNzEuNi0yNC4yIDEwLjgtMzEuNSA0MS44LTMwLjMgNzcuOCAuMiA3IDQuMSAxNS44IDIuNyAyMi40LS43IDMuMy01LjIgNy42LTYuMSA5LjgtMTEuNiAyNy43LTIuMyA2NCAxMS4xIDgzLjcgOC4xIDExLjkgMjEuNSAyMi40IDM5LjIgMjUuMiAuNyAxMC42IDMuMyAxOS43IDguMiAzMC40IDMuMSA2LjggMTQuNyAxOSAxMC40IDI3LjctMi4yIDQuNC0yMSAxMy44LTI3LjMgMTcuNi0yMS4xIDEyLjUtMzYuNCAyMC4zLTU1LjkgMzQuMy0xMi42IDktMzIuMyAxMC4yLTI5LjIgMzEuMSAyLjEgMTQuMSAxMC4xIDMxLjYgMTQuNyA0NS44IC43IDIgMS40IDQuMSAyLjEgNmw0MjIgMGM0LjktMTUuMyA5LjctMzAuOSAxNC42LTQ3LjIgMy40LTExLjQgMTAuMi0yNy44IDguNy0zOS43ek0xNzQuMiAzMy43YzEuOC0uNSAzLjQgLjcgNC45IDIuNC0uMiA1LjItNS40IDUuMS04LjkgNi44LTUuNCA2LjctMTMuNCA5LjgtMjAgMTcuMi02LjggNy41LTE0LjQgMjcuNy0yMy40IDMwLTQuNSAxLjEtOS43LS44LTEzLjYtLjUtMTAuNCAuNy0xNy43IDYtMjguMyA3LjUgMTMuNi0yOS45IDU2LjEtNTQgODkuMy02My40ek02OS40IDEyNy4zYzEzLjUtMTQuOSAzMi4xLTI0LjEgNTQuOC0yNS45IDExLjcgMjkuNy04LjQgNjUtLjkgOTcuNiAyLjMgOS45IDEwLjIgMjUuNC0yLjQgMjUuNyAuMy0yOC4zLTM0LjgtNDYuMy02MS4zLTI5LjYtMS44LTIxLjUtNC45LTUxLjcgOS44LTY3Ljh6bTM2LjcgMjAwLjJjLTEtNC4xLTIuNy0xMi45LTIuMy0xNS4xIDEuNi04LjcgMTcuMS0xMi41IDExLTI0LjctMTEuMy0uMS0xMy44IDEwLjItMjQuMSAxMS4zLTI2LjcgMi42LTQ1LjYtMzUuNC00NC40LTU4LjQgMS0xOS41IDE3LjYtMzguMiA0MC4xLTM1LjggMTYgMS44IDIxLjQgMTkuMiAyNC41IDM0LjcgOS4yIC41IDIyLjUtLjQgMjYuOS03LjYtLjYtMTcuNS04LjgtMzEuNi04LjItNDcuNyAxLTMwLjMgMTcuNS01Ny42IDQuOC04Ny40IDEzLjYtMzAuOSA1My41LTU1LjMgODMuMS03MCAzNi42LTE4LjMgOTQuOS0zLjcgMTI5LjMgMTUuOCAxOS43IDExLjEgMzQuNCAzMi43IDQ4LjMgNTAuNy0xOS41LTUuOC0zNi4xIDQuMi0zMy4xIDIwLjMgMTYuMy0xNC45IDQ0LjItLjIgNTIuNSAxNi40IDcuOSAxNS44IDcuOCAzOS4zIDkgNjIuOCAyLjkgNTctMTAuNCAxMTUuOS0zOS4xIDE1Ny4xLTcuNyAxMS0xNC4xIDIzLTI0LjkgMzAuNi0yNiAxOC4yLTY1LjQgMzQuNy05OS4yIDIzLjQtNDQuNy0xNS02NS00NC44LTg5LjUtNzguOCAuNyAxOC43IDEzLjggMzQuMSAyNi44IDQ4LjQgMTEuMyAxMi41IDI1IDI2LjYgMzkuNyAzMi40LTEyLjMtMi45LTMxLjEtMy44LTM2LjIgNy4yLTI4LjYtMS45LTU1LjEtNC44LTY4LjctMjQuMi0xMC42LTE1LjQtMjEuNC00MS40LTI2LjMtNjEuNHptMjIyIDEyNC4xYzQuMS0zIDExLjEtMi45IDE3LjQtMy42LTUuNC0yLjctMTMtMy43LTE5LjMtMi4yLS4xLTQuMi0yLTYuOC0zLjItMTAuMiAxMC42LTMuOCAzNS41LTI4LjUgNDkuNi0yMC4zIDYuNyAzLjkgOS41IDI2LjIgMTAuMSAzNyAuNCA5LS44IDE4LTQuNSAyMi44LTE4LjgtLjYtMzUuOC0yLjgtNTAuNy03IC45LTYuMS0xLTEyLjEgLjYtMTYuNXptLTE3LjItMjBjLTE2LjggLjgtMjYtMS4yLTM4LjMtMTAuOCAuMi0uOCAxLjQtLjUgMS41LTEuNCAxOCA4IDQwLjgtMy4zIDU5LTQuOS03LjkgNS4xLTE0LjYgMTEuNi0yMi4yIDE3LjF6bS0xMi4xIDMzLjJjLTEuNi05LjQtMy41LTEyLTIuOC0yMC4yIDI1LTE2LjYgMjkuNyAyOC42IDIuOCAyMC4yek0xOTQuMyA0MzguNmMtMTEuNi0uNy00OC4xLTE0LTM4LjUtMjMuNyA5LjQgNi41IDI3LjUgNC45IDQxLjMgNy4zIC44IDQuNC0yLjggMTAuMi0yLjggMTYuNHpNMjYgNDk3LjFjLTQuMy0xMi43LTkuMi0yNS4xLTE0LjgtMzYuOSAzMC44LTIzLjggNjUuMy00OC45IDEwMi4yLTYzLjUgMi44LTEuMSAyMy4yIDI1LjQgMjYuMiAyNy42IDE2LjUgMTEuNyAzNyAyMSA1Ni4yIDMwLjIgMS4yIDguOCAzLjkgMjAuMiA4LjcgMzUuNSAuNyAyLjMgMS40IDQuNyAyLjIgNy4ybC0xODAuNyAwIDAtLjF6bTI0MC42IDUuN2wtLjggMGMuMy0uMiAuNS0uNCAuOC0uNWwwIC41em03LjUtNS43YzIuMS0xLjQgNC4zLTIuOCA2LjQtNC4zIDEuMSAxLjQgMi4yIDIuOCAzLjIgNC4zbC05LjYgMHptMTUuMS0yNC43Yy0xMC44IDcuMy0yMC42IDE4LjMtMzMuMyAyNS4yLTYgMy4zLTI3IDExLjctMzMuNCAxMC4yLTMuNi0uOC0zLjktNS4zLTUuNC05LjUtMy4xLTktMTAuMS0yMy40LTEwLjgtMzctLjgtMTcuMi0yLjUtNDYgMTYtNDIuNCAxNC45IDIuOSAzMi4zIDkuNyA0My45IDE2LjEgNy4xIDMuOSAxMS4xIDguNiAyMS45IDkuNS0uMSAxLjQtLjEgMi44LS4yIDQuMy01LjkgMy45LTE1LjMgMy44LTIxLjggNy4xIDkuNSAuNCAxNyAyLjcgMjMuNSA1LjktLjEgMy40LS4zIDctLjQgMTAuNnptNTMuNCAyNC43bC0xNCAwYy0uMS0zLjItMi44LTUuOC02LjEtNS44cy01LjkgMi42LTYuMSA1LjhsLTE3LjQgMGMtMi44LTQuNC01LjctOC42LTguOS0xMi41IDIuMS0yLjIgNC00LjcgNi02LjkgOSAzLjcgMTQuOC00LjkgMjEuNy00LjIgNy45IC44IDE0LjIgMTEuNyAyNS40IDExbC0uNiAxMi42em04LjcgMGMuMi00IC40LTcuOCAuNi0xMS41IDE1LjYtNy4zIDI5IDEuMyAzNS43IDExLjVsLTM2LjMgMHptODMuNC0zN2MtMi4zIDExLjItNS44IDI0LTkuOSAzNy4xLS4yLS4xLS40LS4xLS42LS4xbC0yNy45IDBjLjYtMS4xIDEuMi0yLjIgMS45LTMuMy0yLjYtNi4xLTktOC43LTEwLjktMTUuNSAxMi4xLTIyLjcgNi41LTkzLjQtMjQuMi03OC41IDQuMy02LjMgMTUuNi0xMS41IDIwLjgtMTkuMyAxMyAxMC40IDIwLjggMjAuMyAzMy4yIDMxLjQgNi44IDYgMjAgMTMuMyAyMS40IDIzLjEgLjggNS41LTIuNiAxOC45LTMuOCAyNS4xek0xOTAuNSAxMzAuNWM1LjQtMTQuOSAyNy4yLTM0LjcgNDUtMzIgNy43IDEuMiAxOCA4LjIgMTIuMiAxNy43LTMwLjItNy00NS4yIDEyLjYtNTQuNCAzMy4xLTguMS0yLTQuOS0xMy4xLTIuOC0xOC44em0xODQuMSA2My4xYzguMi0zLjYgMjIuNC0uNyAyOS42LTUuMy00LjItMTEuNS0xMC4zLTIxLjQtOS4zLTM3LjcgLjUgMCAxIDAgMS40IC4xIDYuOCAxNC4yIDEyLjcgMjkuMiAyMS40IDQxLjctNS43IDEzLjUtNDMuNiAyNS40LTQzLjEgMS4yem0tOTYuOCAyLjdjLTYuOC0xMC45LTE5LTMyLjUtMTQuNS00NS4zIDYuNSAxMS45IDguNiAyNC40IDE3LjggMzMuMyA0LjEgNCAxMi4yIDkgOC4yIDIwLjItLjkgMi43LTcuOCA4LjYtMTEuNyA5LjctMTQuNCA0LjMtNDcuOSAuOS0zNi42LTE3LjEgMTEuOSAuNyAyNy45IDcuOCAzNi44LS44em0yNy4zIDcwYzMuOCA2LjYgMS40IDE4LjcgMTIuMSAyMC42IDIwLjIgMy40IDQzLjYtMTIuMyA1OC4xLTE3LjggOS0xNS4yLS44LTIwLjctOC45LTMwLjUtMTYuNi0yMC0zOC44LTQ0LjgtMzgtNzQuNyA2LjctNC45IDcuMyA3LjQgOC4yIDkuNyA4LjcgMjAuMyAzMC40IDQ2LjIgNDYuMyA2My41IDMuOSA0LjMgMTAuMyA4LjQgMTEgMTEuMiAyLjEgOC4yLTUuNCAxOC00LjUgMjMuNS0yMS43IDEzLjktNDUuOCAyOS4xLTgxLjQgMjUuNi03LjQtNi43LTEwLjMtMjEuNC0yLjktMzEuMXptLTIwMS4zLTkuMmMtNi44LTMuOS04LjQtMjEtMTYuNC0yMS40LTExLjQtLjctOS4zIDIyLjItOS4zIDM1LjUtNy44LTcuMS05LjItMjkuMS0zLjUtNDAuMy02LjYtMy4yLTkuNSAzLjYtMTMuMSA1LjkgNC43LTM0LjEgNDkuOC0xNS44IDQyLjMgMjAuM3ptMjk5LjYgMjguOGMtMTAuMSAxOS4yLTI0LjQgNDAuNC01NCA0MS0uNi02LjItMS4xLTE1LjYgMC0xOS40IDIyLjctMi4yIDM2LjYtMTMuNyA1NC0yMS42ek0yNjEuNSAyOTguM2MxOC45IDkuOSA1My42IDExIDc5LjMgMTAuMiAxLjQgNS42IDEuMyAxMi42IDEuNCAxOS40LTMzIDEuOC03Mi02LjQtODAuNy0yOS42ek0zNTMuNyAzNDVjLTEuNyA0LjMtNS4zIDkuMy05LjggMTEuMS0xMi4xIDQuOS00NS42IDguNy02Mi40LS4zLTEwLjctNS43LTE3LjUtMTguNS0yMy40LTI2LTIuOC0zLjYtMTYuOS0xMi45LS4yLTEyLjkgMTMuMSAzMi43IDU4IDI5IDk1LjggMjguMXoiXX0sJHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNsaWRlc2hhcmUiLGljb246WzUxMiw1MTIsW10sImYxZTciLCJNMTg3LjkgMTUzLjdjLTM0IDAtNjEuNyAyNS43LTYxLjcgNTcuNyAwIDMxLjcgMjcuNyA1Ny43IDYxLjcgNTcuN3M2MS43LTI2IDYxLjctNTcuN2MwLTMyLTI3LjctNTcuNy02MS43LTU3Ljd6bTE0My40IDBjLTM0IDAtNjEuNyAyNS43LTYxLjcgNTcuNyAwIDMxLjcgMjcuNyA1Ny43IDYxLjcgNTcuNyAzNC4zIDAgNjEuNy0yNiA2MS43LTU3LjcgLjEtMzItMjcuNC01Ny43LTYxLjctNTcuN3ptMTU2LjYgOTBsLTYgNC4zIDAtMTk4LjNjMC0yNy40LTIwLjYtNDkuNy00Ni00OS43TDc2LjggMGMtMjUuNCAwLTQ2IDIyLjMtNDYgNDkuN2wwIDE5OC4zYy0yLTEuNC00LjMtMi45LTYuMy00LjMtMTUuMS0xMC42LTI1LjEgNC0xNiAxNy43IDE4LjMgMjIuNiA1My4xIDUwLjMgMTA2LjMgNzItNTYuMyAxOTEuNyAxMzcuNCAyMjIuMyAxMzQuMyAxMjQuMSAwLS43IC4zLTU2LjYgLjMtOTYuNiA1LjEgMS4xIDkuNCAyLjMgMTMuNyAzLjEgMCAzOS43IC4zIDkyLjggLjMgOTMuNS0zLjEgOTguMyAxOTAuNiA2Ny43IDEzNC4zLTEyNCA1My4xLTIxLjcgODgtNDkuNCAxMDYuMy03MiA5LjEtMTMuOC0uOS0yOC4zLTE2LjEtMTcuOHptLTMwLjUgMTkuMmMtNjguOSAzNy40LTEyOC4zIDMxLjEtMTYwLjYgMjkuNy0yMy43LS45LTMyLjYgOS4xLTMzLjcgMjQuOS0xMC4zLTcuNy0xOC42LTE1LjUtMjAuMy0xNy4xLTUuMS01LjQtMTMuNy04LTI3LjEtNy43LTMxLjcgMS4xLTg5LjcgNy40LTE1Ny40LTI4bDAtMTkyLjRjMC0zNC45IDguOS00NS43IDQwLjYtNDUuN2wzMTcuNyAwYzMwLjMgMCA0MC45IDEyLjkgNDAuOSA0NS43bDAgMTkwLjYtLjEgMHoiXX0sRHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InViZXIiLGljb246WzQ0OCw1MTIsW10sImY0MDIiLCJNNDE0LjEgMzJMMzMuOSAzMkMxNS4yIDMyIDAgNDcuMiAwIDY1LjlMMCA0NDZjMCAxOC44IDE1LjIgMzQgMzMuOSAzNEw0MTQgNDgwYzE4LjcgMCAzMy45LTE1LjIgMzMuOS0zMy45bDAtMzgwLjJDNDQ4IDQ3LjIgNDMyLjggMzIgNDE0LjEgMzJ6TTIzNy42IDM5MS4xQzE2MyAzOTguNiA5Ni40IDM0NC4yIDg4LjkgMjY5LjZsOTQuNCAwIDAgMjAuNGMwIDMuNyAzIDYuOCA2LjggNi44bDY3LjkgMGMzLjcgMCA2LjgtMyA2LjgtNi44bDAtNjcuOWMwLTMuNy0zLTYuOC02LjgtNi44bC02Ny45IDBjLTMuNyAwLTYuOCAzLTYuOCA2LjhsMCAyMC40LTk0LjQgMGM3LTY5LjQgNjUuNC0xMjIuMiAxMzUuMS0xMjIuMnMxMjguMSA1Mi44IDEzNS4xIDEyMi4yYzcuNSA3NC41LTQ2LjkgMTQxLjEtMTIxLjUgMTQ4LjZ6Il19LEF5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaWdpdGFsLW9jZWFuIixpY29uOls1MTIsNTEyLFtdLCJmMzkxIiwiTTg3IDQ4MS44bDczLjcgMCAwLTczLjYtNzMuNyAwIDAgNzMuNnpNMjUuNCAzNDYuNmwwIDYxLjYgNjEuNiAwIDAtNjEuNi02MS42IDB6TTQ5MS42IDE3Ni45QzQ2OC42IDEwMi43IDQwOS4yIDQzLjYgMzM1IDIwLjMgMTY0LjktMzIuOCA4IDkzLjcgOCAyNTUuOWw5NS44IDBjMC0xMDEuOCAxMDEtMTgwLjUgMjA4LjEtMTQxLjcgMzkuNyAxNC4zIDcxLjUgNDYuMSA4NS44IDg1LjcgMzkuMSAxMDctMzkuNyAyMDcuOC0xNDEuNCAyMDhsMCAuMy0uMyAwIDAgOTUuOGMxNjIuNiAwIDI4OC44LTE1Ni44IDIzNS42LTMyNy4xem0tMjM1LjMgMjMxbDAtOTUuMy05NS42IDAgMCA5NS42IDk1LjMgMCAwLS4zIC4zIDB6Il19LFB5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzb3VuZGNsb3VkIixpY29uOls2NDAsNTEyLFtdLCJmMWJlIiwiTTY0MC4yIDI5OC42Yy0xLjMgMjMuMS0xMS41IDQ0LjgtMjguNCA2MC41cy0zOS4yIDI0LjQtNjIuMyAyNC4xbC0yMTggMGMtNC44IDAtOS40LTItMTIuOC01LjRzLTUuMy04LTUuMy0xMi44bDAtMjM0LjhjLS4yLTQgLjktOCAzLjEtMTEuNHM1LjMtNi4xIDktNy43YzAgMCAyMC4xLTEzLjkgNjIuMy0xMy45IDI1LjggMCA1MS4xIDYuOSA3My4zIDIwLjEgMTcuMyAxMC4yIDMyLjMgMjMuOCA0NC4xIDQwLjFzMjAgMzQuOCAyNC4yIDU0LjRjNy41LTIuMSAxNS4zLTMuMiAyMy4xLTMuMiAxMS43LS4xIDIzLjMgMi4yIDM0LjIgNi43czIwLjUgMTEuMyAyOC43IDE5LjcgMTQuNiAxOC4zIDE4LjkgMjkuMyA2LjMgMjIuNiA1LjkgMzQuM3ptLTM1NC0xNTMuNWMuMS0xIDAtMi0uMy0yLjlzLS44LTEuOC0xLjUtMi42LTEuNS0xLjMtMi40LTEuN2MtMS44LS44LTQtLjgtNS44IDAtLjkgLjQtMS43IDEtMi40IDEuN3MtMS4yIDEuNi0xLjUgMi42LS40IDEuOS0uMyAyLjljLTYgNzguOS0xMC42IDE1Mi45IDAgMjMxLjYgLjIgMS43IDEgMy4zIDIuMyA0LjUgMi42IDIuNCA2LjggMi40IDkuNCAwIDEuMy0xLjIgMi4xLTIuOCAyLjMtNC41IDExLjMtNzkuNCA2LjYtMTUyIDAtMjMxLjZsLjIgMHptLTQ0IDI3LjNjLS4yLTEuOC0xLjEtMy41LTIuNC00LjdzLTMuMS0xLjktNS0xLjktMy42IC43LTUgMS45LTIuMiAyLjktMi40IDQuN2MtNy45IDY3LjktNy45IDEzNi41IDAgMjA0LjQgLjMgMS44IDEuMiAzLjQgMi41IDQuNXMzLjEgMS44IDQuOCAxLjggMy41LS42IDQuOC0xLjggMi4yLTIuOCAyLjUtNC41YzguOC02Ny44IDguOC0xMzYuNSAuMS0yMDQuNGwuMSAwem0tNDQuMy02LjljLS4yLTEuOC0xLTMuNC0yLjMtNC42cy0zLTEuOC00LjgtMS44LTMuNSAuNy00LjggMS44LTIuMSAyLjgtMi4zIDQuNmMtNi43IDcyLTEwLjIgMTM5LjMgMCAyMTEuMSAwIDEuOSAuNyAzLjcgMi4xIDVzMy4xIDIuMSA1IDIuMSAzLjctLjcgNS0yLjEgMi4xLTMuMSAyLjEtNWMxMC41LTcyLjggNy4zLTEzOC4yIC4xLTIxMS4xbC0uMSAwem0tNDQgMjAuNmMwLTEuOS0uOC0zLjgtMi4xLTUuMnMtMy4yLTIuMS01LjItMi4xLTMuOCAuOC01LjIgMi4xLTIuMSAzLjItMi4xIDUuMmMtOC4xIDYzLjMtOC4xIDEyNy41IDAgMTkwLjggLjIgMS44IDEgMy40IDIuNCA0LjZzMy4xIDEuOSA0LjggMS45IDMuNS0uNyA0LjgtMS45IDIuMi0yLjggMi40LTQuNmM4LjgtNjMuMyA4LjktMTI3LjUgLjMtMTkwLjhsLS4xIDB6bS00NC41IDQ3LjZjMC0xLjktLjgtMy44LTIuMS01LjFzLTMuMi0yLjEtNS4xLTIuMS0zLjggLjgtNS4xIDIuMS0yLjEgMy4yLTIuMSA1LjFjLTEwLjUgNDkuMi01LjUgOTMuOSAuNCAxNDMuNiAuMyAxLjYgMS4xIDMuMSAyLjMgNC4yczIuOCAxLjcgNC41IDEuNyAzLjItLjYgNC41LTEuNyAyLjEtMi41IDIuMy00LjJjNi42LTUwLjQgMTEuNi05NC4xIC40LTE0My42em0tNDQuMS03LjVjLS4yLTEuOC0xLjEtMy41LTIuNC00LjhzLTMuMi0xLjktNS0xLjktMy42IC43LTUgMS45LTIuMiAyLjktMi40IDQuOGMtOS4zIDUwLjItNi4yIDk0LjQgLjMgMTQ0LjUgLjcgNy42IDEzLjYgNy41IDE0LjQgMCA3LjItNTAuOSAxMC41LTkzLjggLjMtMTQ0LjVsLS4yIDB6TTIwLjcgMjUwLjhjLS4yLTEuOC0xLjEtMy41LTIuNC00LjhzLTMuMi0xLjktNS0xLjktMy42IC43LTUgMS45LTIuMyAyLjktMi40IDQuOGMtOC41IDMzLjctNS45IDYxLjYgLjYgOTUuNCAuMiAxLjcgMSAzLjMgMi4zIDQuNHMyLjkgMS44IDQuNyAxLjggMy40LS42IDQuNy0xLjggMi4xLTIuNyAyLjMtNC40YzcuNS0zNC41IDExLjItNjEuOCAuNC05NS40bC0uMiAweiJdfSxFeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWZpZ21hIixpY29uOls0NDgsNTEyLFtdLCJlN2U0IiwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDB6TTE3My43IDk2Yy0zMyAwLTU5LjggMjYuOC01OS44IDU5LjggMCAyMSAxMC44IDM5LjQgMjcuMiA1MC4xLTE2LjQgMTAuNy0yNy4yIDI5LjEtMjcuMiA1MC4xczEwLjggMzkuNSAyNy4yIDUwLjFjLTE2LjQgMTAuNy0yNy4yIDI5LjEtMjcuMiA1MC4xIDAgMzMuMSAyNy4xIDU5LjggNjAuMSA1OS44IDMzLjIgMCA2MC42LTI2LjkgNjAuNi02MC4zbDAtNTUuN2MxMC42IDkuOCAyNC44IDE1LjggNDAuNCAxNS44bDEuMSAwYzMzIDAgNTkuOC0yNi44IDU5LjgtNTkuOCAwLTIxLTEwLjgtMzkuNS0yNy4yLTUwLjEgMTYuNC0xMC43IDI3LjItMjkuMSAyNy4yLTUwLjEgMC0zMy0yNi44LTU5LjgtNTkuOC01OS44TDE3My43IDk2em00MS42IDIxOS44bDAgMzkuOWMwIDIyLjYtMTguNiA0MS00MS4zIDQxLTIyLjQgMC00MC43LTE4LjItNDAuNy00MC41IDAtMjIuMyAxOC4xLTQwLjQgNDAuMy00MC40bDQxLjcgMHptMC0xMDAuM2wwIDgwLjktNDEuNyAwYy0yMi4zLS4xLTQwLjMtMTguMi00MC4zLTQwLjUgMC0yMi4zIDE4LjEtNDAuNSA0MC41LTQwLjVsNDEuNiAwem02MC44IDBjMjIuMyAwIDQwLjUgMTguMSA0MC41IDQwLjVzLTE4LjEgNDAuNS00MC41IDQwLjVsLTEuMSAwYy0yMi4zIDAtNDAuNC0xOC4xLTQwLjQtNDAuNXMxOC4xLTQwLjUgNDAuNC00MC41bDEuMSAwem0tNjAuOC0xOS4zbC00MS42IDBjLTIyLjMgMC00MC41LTE4LjEtNDAuNS00MC40czE4LjEtNDAuNSA0MC41LTQwLjVsNDEuNiAwIDAgODAuOXptNjAuOC04MC45YzIyLjMgMCA0MC41IDE4LjEgNDAuNSA0MC41cy0xOC4xIDQwLjQtNDAuNSA0MC40bC00MS41IDAgMC04MC45IDQxLjUgMHoiXX0sSXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtc2EiLGljb246WzUxMiw1MTIsW10sImY0ZWYiLCJNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zek0xNDUuNyAyMjFjMTMtODMuOSA4MC41LTk1LjcgMTA4LjktOTUuNyA5OS44IDAgMTI3LjUgODIuNSAxMjcuNSAxMzQuMiAwIDYzLjYtNDEgMTMyLjktMTI4LjkgMTMyLjktMzguOSAwLTk5LjEtMjAtMTA5LjQtOTdsNjIuNSAwYzEuNSAzMC4xIDE5LjYgNDUuMiA1NC41IDQ1LjIgMjMuMyAwIDU4LTE4LjIgNTgtODIuOCAwLTgyLjUtNDkuMS04MC42LTU2LjctODAuNi0zMy4xIDAtNTEuNyAxNC42LTU1LjggNDMuOGwxOC4yIDAtNDkuMiA0OS4yLTQ5LTQ5LjIgMTkuNCAweiJdfSxOeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2hyb21lIixpY29uOls1MTIsNTEyLFtdLCJmMjY4IiwiTTAgMjU2YzAtNDYuNiAxMi41LTkwLjQgMzQuMy0xMjguOUwxNDQuMSAzMTguM2MyMS45IDM5LjIgNjMuOCA2NS43IDExMS45IDY1LjcgMTQuMyAwIDI3LjEtMi4zIDQwLjgtNi42TDIyMC41IDUwOS42Qzk1LjkgNDkyLjMgMCAzODUuMyAwIDI1NnptMzY1LjEgNjUuNmMxMi4zLTE5LjIgMTguOS00Mi41IDE4LjktNjUuNiAwLTM4LjItMTYuOC03Mi41LTQzLjMtOTZsMTUyLjcgMGMxMiAyOS42IDE4LjYgNjIuMSAxOC42IDk2IDAgMTQxLjQtMTE0LjYgMjU1LjEtMjU2IDI1NkwzNjUuMSAzMjEuNnpNNDc3LjggMTI4TDI1NiAxMjhjLTYyLjkgMC0xMTMuNyA0NC4xLTEyNS41IDEwMi43TDU0LjIgOTguNUMxMDEgMzguNSAxNzQgMCAyNTYgMCAzNTAuOCAwIDQzMy41IDUxLjUgNDc3LjggMTI4ek0zNDQgMjU2YTg4IDg4IDAgMSAxIC0xNzYgMCA4OCA4OCAwIDEgMSAxNzYgMHoiXX0sUnl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRyYWRlLWZlZGVyYXRpb24iLGljb246WzUxMiw1MTIsW10sImY1MTMiLCJNMjU2IDguOGEyNDcuMiAyNDcuMiAwIDEgMCAwIDQ5NC40IDI0Ny4yIDI0Ny4yIDAgMSAwIDAtNDk0LjR6bTAgMTEuNmEyMzUuNiAyMzUuNiAwIDEgMSAwIDQ3MS4yIDIzNS42IDIzNS42IDAgMSAxIDAtNDcxLjJ6TTQxMS4xIDE2My4xbDAtNDYuOC0xOTMuOCAwIDAgODEuNy0xNTUuMSAwIDM2LjcgNDYgMTE3LjcgMCAwIDE5Ni44IDQ4LjggMCAwLTE5NS44IDgzLjMgMCAwLTQ3LTgzLjMgMCAwLTM0LjggMTQ1LjcgMCAwLS4xem0tNzMuMyA0NS4xbDAgMjMuOS04Mi45IDAgMCAxOTcuNC0yNi44IDAgMC0xOTcuNC0xMjMuOCAwLTIwLjEtMjMuOSAxNDMuOSAwIDAtODAuNiAxNzEuOCAwIDAgMjQuNC0xNDUgMCAwIDU2LjIgODIuOSAwem0tMTYxLjMtNjlsLTEyLjQtMjAuNyAyLjEgMjMuOC0yMy41IDUuNCAyMy4zIDUuNC0yLjEgMjQgMTIuMy0yMC41IDIyLjIgOS41LTE1LjctMTguMSAxNS44LTE4LjEtMjIgOS4zem0tMjkuNi0xOS43bDkuMy0xMS41LTEyLjcgNS45LTgtMTIuNCAxLjcgMTMuOS0xNC4zIDMuOCAxMy43IDIuNy0uOCAxNC43IDYuOC0xMi4yIDEzLjggNS4zLTkuNS0xMC4yek0zMTIuMyAyNjQuN2wtMTMuMSA1LjYtNy4zLTEyLjIgMS4zIDE0LjItMTMuOSAzLjIgMTMuOSAzLjItMS4yIDE0LjIgNy4zLTEyLjIgMTMuMSA1LjUtOS40LTEwLjcgOS4zLTEwLjh6bTEwNi45LTc3LjJsLTIwLjkgOS4xLTEyLTE5LjYgMi4yIDIyLjctMjIuMyA1LjQgMjIuMiA0LjktMS44IDIyLjkgMTEuNS0xOS42IDIxLjIgOC44LTE1LjEtMTcgMTUtMTcuNnpNMjU2IDI5LjlhMjI2LjEgMjI2LjEgMCAxIDAgMCA0NTIuMiAyMjYuMSAyMjYuMSAwIDEgMCAwLTQ1Mi4yek0zNTAuNiAxOTZsMCA1MS04My4zIDAgMCAxOTUuNy01Mi43IDAgMC0xOTYuOC0xMTYuNyAwLTQwLTQ5LjkgMTU3LjQgMCAwLTgxLjYgMTk3LjggMCAwIDUwLjctMTQ1LjcgMCAwIDMwLjkgODMuMiAwek0yNTYgNDMuMmM2MC4zIDAgMTE0LjggMjUgMTUzLjYgNjUuMmwtMTk5LjEgMCAwIDgxLjYtMTU3LjQgMEM4MS4xIDEwNC44IDE2MS40IDQzLjIgMjU2IDQzLjJ6bTAgNDI3LjFjLTExNy45IDAtMjEzLjYtOTUuNi0yMTMuNi0yMTMuNSAwLTIxLjIgMy4xLTQxLjggOC45LTYxLjFsNDMuOCA1Ni4zIDExNC43IDAgMCAxOTYuOCA2NC42IDAgMC0xOTUuOCA4My4zIDAgMC02Mi43LTgzLjIgMCAwLTE5LjIgMTQ1LjYgMCAwLTUwLjhjMzAuOCAzNyA0OS4zIDg0LjYgNDkuMyAxMzYuNSAuMSAxMTcuOS05NS41IDIxMy41LTIxMy40IDIxMy41ek0xODYuOCAyNzVsLTExLTIxLjQgMS43IDI0LjUtMjMuNyAzLjkgMjMuOCA1LjktMy43IDIzLjggMTMtMjAuOSAyMS41IDEwLjgtMTUuOC0xOC44IDE2LjktMTcuMS0yMi43IDkuM3oiXX0sT3l0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZhYWRpbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjQwOCIsIk0yMjQuNSAxNDAuN0MyMjYgMTIzLjEgMjI5LjQgODggMjc0LjMgODhsOTguNiAwYzIwLjcgMCAzMi4xLTcuOCAzMi4xLTIxLjZsMC0xMi4zYzAtMTIuMiA5LjMtMjIuMSAyMS41LTIyLjFTNDQ4IDQxLjkgNDQ4IDU0LjFsMCAzNi41YzAgNDIuOS0yMS41IDYyLTY2LjggNjJsLTEwMC41IDBjLTMwLjEgMC0zMyAxNC43LTMzIDI3LjEgMCAxLjMtLjEgMi41LS4yIDMuNy0uNyAxMi4zLTEwLjkgMjIuMi0yMy40IDIyLjJzLTIyLjctOS44LTIzLjQtMjIuMmMtLjEtMS4yLS4yLTIuNC0uMi0zLjcgMC0xMi4zLTMtMjcuMS0zMy0yNy4xbC0xMDAuNyAwQzIxLjUgMTUyLjYgMCAxMzMuNSAwIDkwLjZMMCA1NC4xQzAgNDEuOSA5LjQgMzIgMjEuNiAzMnMyMS41IDkuOSAyMS41IDIyLjFsMCAxMi4zQzQzLjEgODAuMiA1NC41IDg4IDc1LjIgODhsOTguNiAwYzQ0LjggMCA0OC4zIDM1LjEgNDkuOCA1Mi43bC45IDB6TTIyNCA0NTZjMTEuNSAwIDIxLjQtNyAyNS43LTE2LjMgMS4xLTEuOCA5Ny4xLTE2OS42IDk4LjItMTcxLjQgMTEuOS0xOS42LTMuMi00NC4zLTI3LjItNDQuMy0xMy45IDAtMjMuMyA2LjQtMjkuOCAyMC4zTDIyNCAzNjIgMTU3LjEgMjQ0LjNjLTYuNC0xMy45LTE1LjktMjAuMy0yOS44LTIwLjMtMjQgMC0zOS4xIDI0LjYtMjcuMiA0NC4zIDEuMSAxLjkgOTcuMSAxNjkuNiA5OC4yIDE3MS40IDQuMyA5LjMgMTQuMiAxNi4zIDI1LjcgMTYuM3oiXX0sRnl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRldmlhbnRhcnQiLGljb246WzMyMCw1MTIsW10sImYxYmQiLCJNMzIwIDkzLjJsLTk4LjIgMTc5LjEgNy40IDkuNSA5MC44IDAgMCAxMjcuNy0xNjAuOSAwLTEzLjUgOS4yLTQzLjcgODRjLS4zIDAtOC42IDguNi05LjIgOS4ybC05Mi43IDAgMC05My4yIDkzLjItMTc5LjQtNy40LTkuMi04NS44IDAgMC0xMjcuNiAxNTYgMCAxMy41LTkuMiA0My43LTg0Yy4zIDAgOC42LTguNiA5LjItOS4ybDk3LjYgMCAwIDkzLjF6Il19LExiPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1lZGl1bSIsaWNvbjpbNDQ4LDUxMixbNjI0MDcsIm1lZGl1bS1tIl0sImYyM2EiLCJNMzY5LjQgMzJjNDMuNCAwIDc4LjYgMzUuMiA3OC42IDc4LjZsMCA4My44Yy0xLjktLjEtMy44LS4yLTUuNy0uMmwtLjQgMGMtMTAgMC0yMi4zIDIuNC0zMS4xIDYuOC0xMCA0LjYtMTguNyAxMS41LTI2IDIwLjYtMTEuOCAxNC42LTE4LjkgMzQuMy0yMC42IDU2LjQtLjEgLjctLjEgMS4zLS4yIDJzLS4xIDEuMi0uMSAxLjljLS4xIDEuMi0uMSAyLjQtLjEgMy42IDAgMS45LS4xIDMuOCAwIDUuOCAxLjIgNTAuMSAyOC4yIDkwLjIgNzYuMyA5MC4yIDIuNyAwIDUuMy0uMSA3LjktLjRsMCAyMC40YzAgNDMuNC0zNS4yIDc4LjYtNzguNiA3OC42TDc4LjYgNDgwQzM1LjIgNDgwIDAgNDQ0LjggMCA0MDEuNEwwIDExMC42QzAgNjcuMiAzNS4yIDMyIDc4LjYgMzJsMjkwLjggMHpNODIuMyAxMzguOWwuMyAuMWMxMy4yIDMgMTkuOCA3LjQgMTkuOCAyMy40bDAgMTg3LjJjMCAxNi02LjcgMjAuNC0xOS45IDIzLjRsLS4zIC4xIDAgMi44IDUyLjggMCAwLTIuOC0uMy0uMWMtMTMuMi0zLTE5LjktNy40LTE5LjktMjMuNGwwLTE3Ni4zIDg2LjEgMjAyLjUgNC45IDAgODguNi0yMDguMiAwIDE4Ni42Yy0xLjEgMTIuNi03LjggMTYuNS0xOS43IDE5LjJsLS4zIC4xIDAgMi43IDkxLjkgMCAwLTIuNy0uMy0uMWMtMTEuOS0yLjctMTguNy02LjYtMTkuOS0xOS4ybC0uMS0xOTEuOCAuMSAwYzAtMTYgNi43LTIwLjQgMTkuOS0yMy40bC4zLS4xIDAtMi43LTcyLjIgMC02NyAxNTcuNC02Ny0xNTcuNC03Ny44IDAgMCAyLjd6TTQ0OCAzNDAuM2MtMjUuMS03LjQtNDMtMzUuMS00MS4yLTY3LjhsMCAwIDQxLjEgMCAwIDY3Ljh6bS02LjQtMTM1LjZjMi4zIDAgNC40IC4zIDYuNCAuOWwwIDU3LjQtNDAuMiAwYzEuNS0zMy42IDEzLjYtNTcuOSAzMy44LTU4LjN6Il19LEJ5dD1MYixIeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3BlbmNhcnQiLGljb246WzY0MCw1MTIsW10sImYyM2QiLCJNMzMxLjggNDQwLjRhNDUuOCA0NS44IDAgMSAxIDkxLjUgLjMgNDUuOCA0NS44IDAgMSAxIC05MS41LS4zek0xNjkuNCAzOTQuOWE0NS43IDQ1LjcgMCAxIDAgLjMgOTEuMyA0NS43IDQ1LjcgMCAxIDAgLS4zLTkxLjN6bTI5MS43LTI3MGMtMzAyLjIgMC0zNzkuMi0xMi44LTQ2MS4xLTk5LjIgMzQuNCA1MS43IDUzLjMgMTQ4LjkgMzczLjEgMTQ0LjIgMzMzLjMtNSAxMzAgODYuMSA3MC44IDE4OC45IDE4Ni43LTE2Ni43IDMxOS40LTIzMy45IDE3LjItMjMzLjl6Il19LHF5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ5LWNvbWJpbmF0b3IiLGljb246WzQ0OCw1MTIsW10sImYyM2IiLCJNNDQ4IDMybDAgNDQ4LTQ0OCAwIDAtNDQ4IDQ0OCAwek0yMzYgMjg3LjVsNzcuNS0xNDUuNS0zMi43IDAtNDUuOCA5MWMtNC43IDkuMy05IDE4LjMtMTIuOCAyNi44bC0xMi4yLTI2LjgtNDUuMi05MS0zNSAwIDc2LjcgMTQzLjggMCA5NC41IDI5LjUgMCAwLTkyLjh6Il19LFZ5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsaW5lIixpY29uOls1MTIsNTEyLFtdLCJmM2MwIiwiTTMxMSAxOTYuOGwwIDgxLjNjMCAyLjEtMS42IDMuNy0zLjcgMy43bC0xMyAwYy0xLjMgMC0yLjQtLjctMy0xLjVMMjU0IDIzMCAyNTQgMjc4LjJjMCAyLjEtMS42IDMuNy0zLjcgMy43bC0xMyAwYy0yLjEgMC0zLjctMS42LTMuNy0zLjdsMC04MS4zYzAtMi4xIDEuNi0zLjcgMy43LTMuN2wxMi45IDBjMS4xIDAgMi40IC42IDMgMS42bDM3LjMgNTAuMyAwLTQ4LjJjMC0yLjEgMS42LTMuNyAzLjctMy43bDEzIDBjMi4xLS4xIDMuOCAxLjYgMy44IDMuNWwwIC4xem0tOTMuNy0zLjdsLTEzIDBjLTIuMSAwLTMuNyAxLjYtMy43IDMuN2wwIDgxLjNjMCAyLjEgMS42IDMuNyAzLjcgMy43bDEzIDBjMi4xIDAgMy43LTEuNiAzLjctMy43bDAtODEuM2MwLTEuOS0xLjYtMy43LTMuNy0zLjd6bS0zMS40IDY4LjFsLTM1LjYgMCAwLTY0LjRjMC0yLjEtMS42LTMuNy0zLjctMy43bC0xMyAwYy0yLjEgMC0zLjcgMS42LTMuNyAzLjdsMCA4MS4zYzAgMSAuMyAxLjggMSAyLjUgLjcgLjYgMS41IDEgMi41IDFsNTIuMiAwYzIuMSAwIDMuNy0xLjYgMy43LTMuN2wwLTEzYzAtMS45LTEuNi0zLjctMy41LTMuN2wuMSAwem0xOTMuNy02OC4xbC01Mi4zIDBjLTEuOSAwLTMuNyAxLjYtMy43IDMuN2wwIDgxLjNjMCAxLjkgMS42IDMuNyAzLjcgMy43bDUyLjIgMGMyLjEgMCAzLjctMS42IDMuNy0zLjdsMC0xMy4xYzAtMi4xLTEuNi0zLjctMy43LTMuN2wtMzUuNSAwIDAtMTMuNiAzNS41IDBjMi4xIDAgMy43LTEuNiAzLjctMy43bDAtMTMuMWMwLTIuMS0xLjYtMy43LTMuNy0zLjdsLTM1LjUgMCAwLTEzLjcgMzUuNSAwYzIuMSAwIDMuNy0xLjYgMy43LTMuN2wwLTEzYy0uMS0xLjktMS43LTMuNy0zLjctMy43bC4xIDB6TTUxMiA5My40bDAgMzI2Yy0uMSA1MS4yLTQyLjEgOTIuNy05My40IDkyLjZsLTMyNiAwQzQxLjQgNTExLjktLjEgNDY5LjggMCA0MTguNmwwLTMyNkMuMSA0MS40IDQyLjItLjEgOTMuNCAwbDMyNiAwYzUxLjIgLjEgOTIuNyA0Mi4xIDkyLjYgOTMuNHpNNDQxLjYgMjMzLjVjMC04My40LTgzLjctMTUxLjMtMTg2LjQtMTUxLjNTNjguOCAxNTAuMSA2OC44IDIzMy41YzAgNzQuNyA2Ni4zIDEzNy40IDE1NS45IDE0OS4zIDIxLjggNC43IDE5LjMgMTIuNyAxNC40IDQyLjEtLjggNC43LTMuOCAxOC40IDE2LjEgMTAuMXMxMDcuMy02My4yIDE0Ni41LTEwOC4yYzI3LTI5LjcgMzkuOS01OS44IDM5LjktOTMuMWwwLS4yeiJdfSxqeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYW1pbGlhIixpY29uOls0NDgsNTEyLFtdLCJmMzZkIiwiTTI0MC4yIDMyYy02MS45IDAtMTMxLjUgMTYuOS0xODQuMiA1NS40LTUuMSAzLjEtOS4xIDkuMi03LjIgMTkuNCAxLjEgNS4xIDUuMSAyNy40IDEwLjIgMzkuNiA0LjEgMTAuMiAxNC4yIDEwLjIgMjAuMyA2LjEgMzIuNS0yMi4zIDk2LjUtNDcuNyAxNTIuMy00Ny43IDU3LjkgMCA1OC45IDI4LjQgNTguOSA3My4xbDAgMzguNUMyMDMuMSAyMjcuNyA3OC4zIDI1MSA0Ni44IDI2NC4yIDExLjMgMjgwLjUgMTYuNCAzNTcuNyAxNi40IDM3NlMzMS42IDQ4MCAxNDEuMyA0ODBjNDcuOCAwIDExMy43LTIwLjcgMTUzLjMtNDIuMWwwIDI1LjRjMCAzIDIuMSA4LjIgNi4xIDkuMSAzLjEgMSA1MC43IDIgNTkuOSAyczYyLjUgLjMgNjYuNS0uN2M0LjEtMSA1LjEtNi4xIDUuMS05LjFsMC0yOTYuNmMtLjEtODAuMy01Ny45LTEzNi0xOTItMTM2em01MC4yIDM0OGMtMjEuNCAxMy4yLTQ4LjcgMjQuNC03OS4xIDI0LjQtNTIuOCAwLTU4LjktMzMuNS01OS00NC43IDAtMTIuMi0zLTQyLjcgMTguMy01Mi45IDI0LjMtMTMuMiA3NS4xLTI5LjQgMTE5LjgtMzMuNWwwIDEwNi43eiJdfSxVeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXN5bW1ldHJpayIsaWNvbjpbNTc2LDUxMixbXSwiZjM3MiIsIk01MTcuNSAzMDkuMmMzOC44LTQwIDU4LjEtODAgNTguNS0xMTYuMSAuOC02NS41LTU5LjQtMTE4LjItMTY5LjQtMTM1LTEyOC43LTE5LjctMjg4LjUgMTUuNS00MDYuNiA4Mi40IDUyLTI2LjUgMTEwLjYtNDguMiAxNzAuNy01OC4yIDc0LjUtMjAuNSAxNTMtMjUuNCAyMjEuMy0xNC44IDE1Mi41IDIzLjggMTk2LjggMTI3LjUgOTguOCAyMzEuNy0xMC4yIDEwLjgtMjIgMjEuMS0zNSAzMC42TDMwNC45IDEwMy40IDExNC43IDM4OC45Yy02NS42LTI5LjQtNzYuNS05MC4yLTE5LjEtMTUxLjIgMjAuOC0yMi4yIDQ4LjMtNDEuOSA3OS41LTU4LjEgMjAtMTIuMiAzOS43LTIyLjYgNjItMzAuNy02NS4xIDIwLjMtMTIyLjcgNTIuOS0xNjEuNiA5Mi45LTI3LjcgMjguNi00MS40IDU3LjEtNDEuNyA4Mi45LS41IDM1LjEgMjMuNCA2NS4xIDY4LjQgODNsLTM0LjUgNTEuNyAxMDEuNiAwIDIyLTM0LjRjMjIuMiAxIDQ1LjMgMCA2OC42LTIuN2wtMjIuOCAzNy4xIDEzNS41IDAtMzIuNi01My4xYzE4LjYtNS4zIDM2LjktMTEuNSA1NC41LTE4LjdsNDUuOSA3MS44IDEwMS42IDAtNzMuNC0xMTAuNGMxOC41LTEyLjEgMzUtMjUuNSA0OC45LTM5Ljh6TTMyOS45IDM4OS43bC0yNS00MC42LTMyLjcgNTMuM2MtMjMuNCAzLjUtNDYuNyA1LjEtNjkuMiA0LjRsMTAxLjktMTU5LjMgNzguNyAxMjNjLTE3LjIgNy40LTM1LjMgMTMuOS01My43IDE5LjJ6Il19LFd5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaGFicmljYXRvciIsaWNvbjpbNTEyLDUxMixbXSwiZjNkYiIsIk0zMzEuMSAyNjIuMWwtLjEtMTNzMjEuNy0xOS44IDIxLjEtMjEuMmwtOS41LTIwYy0uNi0xLjQtMjkuNS0uNS0yOS41LS41bC05LjQtOS4zcy4yLTI4LjUtMS4yLTI5LjFsLTIwLjEtOS4yYy0xLjQtLjYtMjAuNyAyMS0yMC43IDIxbC0xMy4xLS4ycy0yMC41LTIxLjQtMjEuOS0yMC44bC0yMCA4LjNjLTEuNCAuNSAuMiAyOC45IC4yIDI4LjlsLTkuMSA5LjFzLTI5LjItLjktMjkuNyAuNEwxNjAgMjI2LjNjLS42IDEuNCAyMSAyMSAyMSAyMWwuMSAxMi45UzE1OS40IDI4MCAxNjAgMjgxLjRsOS41IDIwYy42IDEuNCAyOS41IC41IDI5LjUgLjVsOS40IDkuM3MtLjIgMzEuOCAxLjIgMzIuM2wyMC4xIDguM2MxLjQgLjYgMjAuNy0yMy41IDIwLjctMjMuNWwxMy4xIC4yczIwLjUgMjMuOCAyMS44IDIzLjNsMjAtNy41YzEuNC0uNi0uMi0zMi4xLS4yLTMyLjFsOS4xLTkuMXMyOS4yIC45IDI5LjctLjVsOC4xLTE5LjhjLjctMS4xLTIwLjktMjAuNy0yMC45LTIwLjd6bS00NC45LTguN2MuNyAxNy4xLTEyLjggMzEuNi0zMC4xIDMyLjRzLTMyLjEtMTIuNS0zMi44LTI5LjYgMTIuOC0zMS42IDMwLjEtMzIuM2MxNy4zLS44IDMyLjEgMTIuNSAzMi44IDI5LjV6bTIwMS4yLTM3LjlsLTk3LTk3LS4xIC4xYy03NS4xLTczLjMtMTk1LjQtNzIuOC0yNjkuOCAxLjYtNTAuOSA1MS0yNy44IDI3LjktOTUuNyA5NS4zLTIyLjMgMjIuMy0yMi4zIDU4LjcgMCA4MSA2OS45IDY5LjQgNDYuNCA0NiA5Ny40IDk3bC4xLS4xYzc1LjEgNzMuMyAxOTUuNCA3Mi45IDI2OS44LTEuNiA1MS01MC45IDI3LjktMjcuOSA5NS4zLTk1LjMgMjIuMy0yMi4zIDIyLjMtNTguNyAwLTgxek0zNjMuNSAxNDguMmExNTIuMyAxNTIuMyAwIDEgMSAtMjE1IDIxNS42IDE1Mi4zIDE1Mi4zIDAgMSAxIDIxNS0yMTUuNnoiXX0sR3l0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJvdHMiLGljb246WzY0MCw1MTIsW10sImUzNDAiLCJNODYuMyAxOTcuOGMtOC0uMS0xNS45IDEuNy0yMy4xIDUuMXMtMTMuNSA4LjYtMTguNCAxNC45bDAtNjEuOWMwLTIuMi0uOS00LjMtMi40LTUuOHMtMy42LTIuNC01LjgtMi40bC0yOC40IDBjLTIuMiAwLTQuMyAuOS01LjggMi40UzAgMTUzLjggMCAxNTZMMCAzMzMuNmMwIDEuMSAuMiAyLjEgLjYgMy4xczEgMS45IDEuOCAyLjcgMS43IDEuNCAyLjcgMS44IDIuMSAuNiAzLjEgLjZsMjguNCAwYzEuMSAwIDIuMS0uMiAzLjEtLjZzMS45LTEgMi43LTEuOCAxLjQtMS43IDEuOC0yLjcgLjYtMi4xIC42LTMuMWwwLTguMWMxMS42IDEzLjQgMjUuOSAxOS44IDQxLjYgMTkuOCAzNC42IDAgNjEuOS0yNi4yIDYxLjktNzMuOCAwLTQ1LjktMjctNzMuNi02MS45LTczLjZ6TTcxLjUgMzA1LjdjLTkuNiAwLTIxLjItNC45LTI2LjctMTIuNWwwLTQzYzUuNS03LjYgMTcuMi0xMi44IDI2LjctMTIuOCAxNy43IDAgMzEuMSAxMy4xIDMxLjEgMzQgMCAyMS4yLTEzLjQgMzQuMy0zMS4xIDM0LjN6bTE1Ni40LTU5YTE3LjQgMTcuNCAwIDEgMCAwIDM0LjggMTcuNCAxNy40IDAgMSAwIDAtMzQuOHptNDYuMS05MGwwLTQ0LjdjMi44LTEuMiA1LjItMy4zIDYuNi02czEuOS01LjggMS4zLTguOS0yLjItNS43LTQuNi03LjctNS40LTMtOC40LTMtNi4xIDEuMS04LjQgMy00IDQuNy00LjYgNy43LS4xIDYuMSAxLjMgOC45IDMuOCA0LjggNi42IDZsMCA0NC43Yy0yOCAxLjMtNTQuNCAxMy42LTczLjYgMzQuMXMtMjkuNSA0Ny43LTI4LjggNzUuOCAxMi4zIDU0LjcgMzIuNCA3NC4zIDQ3IDMwLjYgNzUuMSAzMC42IDU1LTExIDc1LjEtMzAuNiAzMS43LTQ2LjMgMzIuNC03NC4zLTkuNy01NS4zLTI4LjgtNzUuOC00NS41LTMyLjgtNzMuNi0zNC4xem04NiAxMDcuNGMwIDMwLjUtNDAuOCA1NS4zLTkxLjEgNTUuM3MtOTEuMS0yNC43LTkxLjEtNTUuMyA0MC44LTU1LjMgOTEuMS01NS4zIDkxLjEgMjQuNyA5MS4xIDU1LjNsMCAwem0tNTAuMiAxNy40YzMuNCAwIDYuOC0xIDkuNy0yLjlzNS4xLTQuNiA2LjQtNy44IDEuNy02LjcgMS0xMC4xLTIuMy02LjUtNC44LTguOS01LjUtNC4xLTguOS00LjgtNi45LS4zLTEwLjEgMS01LjkgMy41LTcuOCA2LjQtMi45IDYuMi0yLjkgOS43YzAgNC42IDEuOCA5IDUuMSAxMi4zczcuNyA1LjEgMTIuMyA1LjFsMCAwem0yNzAuOS0zMWMtMTQuOC0yLjYtMjIuNC0zLjgtMjIuNC05LjkgMC01LjUgNy4zLTkuOSAxNy43LTkuOSAxMi4yIC4xIDI0LjIgMy42IDM0LjUgMTAuMSAxLjggMS4yIDQgMS42IDYuMiAxLjFzNC0xLjcgNS4xLTMuNmMuMS0uMSAuMS0uMiAuMi0uM2w4LjYtMTQuOWMxLjEtMS45IDEuNC00LjEgLjgtNi4xcy0xLjktMy45LTMuNy01Yy0xNS43LTkuNC0zMy43LTE0LjMtNTItMTQuMS0zOSAwLTYwLjIgMjEuNS02MC4yIDQ2LjIgMCAzNi4zIDMzLjcgNDEuOSA1Ny42IDQ1LjYgMTMuNCAyLjMgMjQuMSA0LjQgMjQuMSAxMSAwIDYuNC01LjUgMTAuOC0xOC45IDEwLjgtMTMuNiAwLTMxLTYuMi00Mi42LTEzLjYtLjktLjYtMS45LTEtMy0xLjJzLTIuMS0uMi0zLjIgLjEtMi4xIC43LTIuOSAxLjMtMS42IDEuNC0yLjIgMi4zYzAgLjEtLjEgLjEtLjEgLjJsLTEwLjIgMTYuOWMtMS4xIDEuOC0xLjQgNC0xIDZzMS43IDMuOSAzLjUgNWMxNS4yIDEwLjMgMzcuNyAxNi43IDU5LjQgMTYuNyA0MC40IDAgNjQtMTkuOCA2NC00Ni41IDAtMzguMS0zNS41LTQzLjktNTkuMy00OC4zem0tOTUuOSA2MC44Yy0uNS0yLTEuOC0zLjctMy42LTQuOHMtMy45LTEuNS01LjktMS4xYy0xLjQgLjMtMi44IC40LTQuMiAuNC03LjggMC0xMi41LTYuMS0xMi41LTE0LjJsMC01MS4yIDIwLjMgMGMyLjIgMCA0LjItLjkgNS44LTIuNHMyLjQtMy42IDIuNC01LjhsMC0yMi43YzAtMi4yLS45LTQuMi0yLjQtNS44cy0zLjYtMi40LTUuOC0yLjRsLTIwLjMgMCAwLTMwLjJjMC0yLjItLjktNC4yLTIuNC01LjhzLTMuNi0yLjQtNS44LTIuNGwtMjguMiAwYy0yLjIgMC00LjIgLjktNS44IDIuNHMtMi40IDMuNi0yLjQgNS44bDAgMzAuMi0xNS4xIDBjLTEuMSAwLTIuMSAuMi0zLjEgLjZzLTEuOSAxLTIuNiAxLjgtMS40IDEuNy0xLjggMi42LS42IDItLjYgMy4xbDAgMjIuN2MwIDEuMSAuMiAyLjEgLjYgMy4xczEgMS45IDEuOCAyLjYgMS43IDEuNCAyLjYgMS44IDIgLjYgMy4xIC42bDE1LjEgMCAwIDYzLjdjMCAyNyAxNS40IDQxLjMgNDMuOSA0MS4zIDEyLjIgMCAyMS40LTIuMiAyNy42LTUuNCAxLjYtLjggMi45LTIuMiAzLjctMy45cy45LTMuNiAuNS01LjRsLTUtMTkuM3oiXX0sWXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZpbmUiLGljb246WzM4NCw1MTIsW10sImYxY2EiLCJNMzg0IDI1NC43bDAgNTIuMWMtMTguNCA0LjItMzYuOSA2LjEtNTIuMSA2LjEtMzYuOSA3Ny40LTEwMyAxNDMuOC0xMjUuMSAxNTYuMi0xNCA3LjktMjcuMSA4LjQtNDIuNy0uOC0yNy4xLTE2LjMtMTI5LjktMTAwLjYtMTY0LjEtMzY1LjZsNzQuNSAwYzE4LjcgMTU5LjEgNjQuNSAyNDAuNyAxMTQuOCAzMDEuOCAyNy45LTI3LjkgNTQuOC02NS4xIDc1LjYtMTA2LjktNDkuOC0yNS4zLTgwLjEtODAuOS04MC4xLTE0NS42IDAtNjUuNiAzNy43LTExNS4xIDEwMi4yLTExNS4xIDExNC45IDAgMTA2LjIgMTI3LjkgODEuNiAxODEuNSAwIDAtNDYuNCA5LjItNjMuNS0yMC41IDMuNC0xMS4zIDguMi0zMC44IDguMi00OC41IDAtMzEuMy0xMS4zLTQ2LjYtMjguNC00Ni42LTE4LjIgMC0zMC44IDE3LjEtMzAuOCA1MCAuMSA3OS4yIDU5LjQgMTE4LjcgMTI5LjkgMTAxLjl6Il19LEt5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtZWRydCIsaWNvbjpbNTc2LDUxMixbXSwiZjNjOCIsIk0xMjkuNyAyNTZjMCAxMjEuOCA4My45IDIyMi44IDE5My41IDI0MS4xLTE4LjcgNC41LTM4LjIgNi45LTU4LjIgNi45LTEzNy42IDAtMjQ5LTExMS0yNDktMjQ4UzEyNy40IDggMjY0LjkgOGMyMC4xIDAgMzkuNiAyLjQgNTguMiA2LjktMTA5LjYgMTguMy0xOTMuNCAxMTkuMy0xOTMuNCAyNDEuMXpNNDI3LjEgMzU2LjNjLTc3LjcgNTUuNC0xNzkuNiA0Ny41LTI0MC40LTE0LjYgNS41IDE0LjEgMTIuNyAyNy43IDIxLjcgNDAuNSA2MS42IDg4LjIgMTgyLjQgMTA5LjMgMjY5LjcgNDdzMTA4LjEtMTg0LjMgNDYuNS0yNzIuNmMtOS0xMi45LTE5LjMtMjQuMy0zMC41LTM0LjIgMzcuNCA3OC44IDEwLjcgMTc4LjUtNjcgMjMzLjl6bS0yMTguOC0yNDRjLTEuNCAxLTIuNyAyLjEtNCAzLjEgNjQuMy0xNy44IDEzNS45IDQgMTc4LjkgNjAuNSAzNS43IDQ3IDQyLjkgMTA2LjYgMjQuNCAxNTggNTYuNy01Ni4yIDY3LjYtMTQyLjEgMjIuMy0yMDEuOC01MC02NS41LTE0OS4xLTc0LjQtMjIxLjYtMTkuOHpNMzEyIDIyNGMtNC40IDAtOC0zLjYtOC04bDAtNDBjMC00LjQtMy42LTgtOC04bC00OCAwYy00LjQgMC04IDMuNi04IDhsMCA0MGMwIDQuNC0zLjYgOC04IDhsLTQwIDBjLTQuNCAwLTggMy42LTggOGwwIDQ4YzAgNC40IDMuNiA4IDggOGw0MCAwYzQuNCAwIDggMy42IDggOGwwIDQwYzAgNC40IDMuNiA4IDggOGw0OCAwYzQuNCAwIDgtMy42IDgtOGwwLTQwYzAtNC40IDMuNi04IDgtOGw0MCAwYzQuNCAwIDgtMy42IDgtOGwwLTQ4YzAtNC40LTMuNi04LTgtOGwtNDAgMHoiXX0sWnl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9zaSIsaWNvbjpbNTEyLDUxMixbXSwiZjQxYSIsIk04IDI2Ni40YzIuMy0xMzUuOCA5Ny40LTIzMi40IDIxMy44LTI0OC4xIDEzOC44LTE4LjYgMjU1LjYgNzUuOCAyNzggMjAxLjEgMjEuMyAxMTguOC00NCAyMzAtMTUxLjYgMjc0LTkuMyAzLjgtMTQuNCAxLjctMTgtNy43LTE3LjgtNDYuMy0zNS42LTkyLjYtNTMuNC0xMzktMy4xLTguMS0xLTEzLjIgNy0xNi44IDI0LjItMTEgMzkuMy0yOS40IDQzLjMtNTUuOCAxLjUtOS43IDEtMTkuNi0xLjUtMjkuMXMtNi45LTE4LjQtMTIuOS0yNi4xLTEzLjYtMTQuMS0yMi4yLTE4LjgtMTguMS03LjUtMjcuOS04LjNjLTM5LTMuNC03MS44IDIzLjctNzcuNSA1OS43LTUuMiAzMyAxMS4xIDYzLjcgNDEuOSA3Ny43IDkuNiA0LjQgMTEuNSA4LjYgNy44IDE4LjQtMTcuOSA0Ni42LTM1LjggOTMuMi01My43IDEzOS45LTIuNiA2LjktOC4zIDkuMy0xNS41IDYuNS01Mi42LTIwLjMtMTAxLjQtNjEtMTMwLjgtMTE5LTI0LjktNDkuMi0yNS4yLTg3LjctMjYuOC0xMDguN3ptMjAuOS0xLjljLjQgNi42IC42IDE0LjMgMS4zIDIyLjEgNi4zIDcxLjkgNDkuNiAxNDMuNSAxMzEgMTgzLjEgMy4yIDEuNSA0LjQgLjggNS42LTIuMyAxNC45LTM5LjEgMjkuOS03OC4yIDQ1LTExNy4zIDEuMy0zLjMgLjYtNC44LTIuNC02LjctMzEuNi0xOS45LTQ3LjMtNDguNS00NS42LTg2IDEtMjEuNiA5LjMtNDAuNSAyMy44LTU2LjMgMzAtMzIuNyA3Ny0zOS44IDExNS41LTE3LjYgMTUuNiA5IDI4LjIgMjIuMyAzNi4yIDM4LjRzMTEuMiAzNC4yIDkgNTJjLTMuNiAzMC42LTE5LjMgNTMuOS00NS43IDY5LjgtMi43IDEuNi0zLjUgMi45LTIuMyA2IDE1LjIgMzkuMiAzMC4zIDc4LjQgNDUuMiAxMTcuNyAxLjIgMy4xIDIuNCAzLjggNS42IDIuMyAzNS41LTE2LjYgNjUuMi00MC4zIDg4LjEtNzIgMzQuOC00OC4yIDQ5LjEtMTAxLjkgNDIuMy0xNjEtMTMuNy0xMTcuNS0xMTkuNC0yMTQuOC0yNTUuNS0xOTgtMTA2LjEgMTMtMTk1LjMgMTAyLjUtMTk3LjEgMjI1Ljh6Il19LFh5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnZyIsaWNvbjpbNTEyLDUxMixbXSwiZjI2MCIsIk0xNzkuMiAyMzAuNGwxMDIuNCAxMDIuNC0xMDIuNCAxMDIuNC0xNzkuMi0xNzkuMiAxNzkuMi0xNzkuMiA0NC44IDQ0LjgtMjUuNiAyNS42LTE5LjItMTkuMi0xMjggMTI4IDEyOCAxMjggNTEuNS01MS41LTc3LjEtNzYuNSAyNS42LTI1LjZ6TTMzMi44IDc2LjhsLTEwMi40IDEwMi40IDEwMi40IDEwMi40IDI1LjYtMjUuNi03Ny4xLTc2LjUgNTEuNS01MS41IDEyOCAxMjgtMTI4IDEyOC0xOS4yLTE5LjItMjUuNiAyNS42IDQ0LjggNDQuOCAxNzkuMi0xNzkuMi0xNzkuMi0xNzkuMnoiXX0sUXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJ1eXNlbGxhZHMiLGljb246WzQ0OCw1MTIsW10sImYyMGQiLCJNMjI0IDE1MC43bDQyLjkgMTYwLjctODUuOCAwIDQyLjktMTYwLjd6TTQ0OCA4MGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsMzUyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTM4Mi43IDQwNS4zbC05NC41LTI5OC43LTEyOC40IDAtOTQuNSAyOTguNyA5MC43IDAgMTExLjctOTEuNiAyNC4yIDkxLjYgOTAuOCAweiJdfSxKeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlLXBsdXMiLGljb246WzUxMiw1MTIsW10sImYyYjMiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek0xODUuMyAzODBjLTMyLjkgMC02NC40LTEzLjEtODcuNy0zNi4zcy0zNi4zLTU0LjgtMzYuMy04Ny43IDEzLjEtNjQuNCAzNi4zLTg3LjcgNTQuOC0zNi4zIDg3LjctMzYuM2MzMS4zIDAgNjAuMSAxMSA4MyAzMi4zbC0zMy42IDMyLjZjLTEzLjItMTIuOS0zMS4zLTE5LjEtNDkuNC0xOS4xLTQyLjkgMC03Ny4yIDM1LjUtNzcuMiA3OC4xUzE0Mi4zIDMzNCAxODUuMyAzMzRjMzIuNiAwIDY0LjktMTkuMSA3MC4xLTUzLjNsLTcwLjEgMCAwLTQyLjYgMTE2LjkgMGMxLjMgNi44IDEuOSAxMy44IDEuOSAyMC43IDAgNzAuOC00Ny41IDEyMS4yLTExOC44IDEyMS4yek00MTUuNSAyNzMuOGwwIDM1LjUtMzUuNSAwIDAtMzUuNS0zNS41IDAgMC0zNS41IDM1LjUgMCAwLTM1LjUgMzUuNSAwIDAgMzUuNSAzNS4yIDAgMCAzNS41LTM1LjIgMHoiXX0sZXd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNjcmVlbnBhbCIsaWNvbjpbNTEyLDUxMixbXSwiZTU3MCIsIk0yNzguNiAyMi41YTIyLjUgMjIuNSAwIDEgMSAtNDUgMCAyMi41IDIyLjUgMCAxIDEgNDUgMHpNMTk4LjcgMjU5YTU3LjQgNTcuNCAwIDEgMSAxMTQuOCAwIDU3LjQgNTcuNCAwIDEgMSAtMTE0LjggMHptMTM4LjYgOTFjMjIuMy0xOS45IDM2LjUtNDcuMyAzOS45LTc3bDExOS41IDBjLTMuNSA2MS40LTMwLjQgMTE5LjItNzUuMiAxNjEuNC00NC43IDQyLjItMTAzLjkgNjUuOC0xNjUuNCA2NS44UzEzNS40IDQ3Ni42IDkwLjcgNDM0LjRDNDUuOSAzOTIuMiAxOS4xIDMzNC40IDE1LjUgMjczbDExOS43IDBjMy40IDI5LjcgMTcuNiA1Ny4xIDM5LjkgNzdzNTEuMiAzMC45IDgxLjEgMzAuOWMyOSAwIDU4LjctMTEgODEuMS0zMC45ek0yOC4zIDE0MS43YTIyLjUgMjIuNSAwIDEgMSA0NS0xLjQgMjIuNSAyMi41IDAgMSAxIC00NSAxLjR6bTQ1NS42LS43YTIyLjQgMjIuNCAwIDEgMSAtNDQuOSAwIDIyLjQgMjIuNCAwIDEgMSA0NC45IDB6TTMxOCA5NS4zYy0xNy4zIDEzLjgtMzkuMiAyMi44LTYxLjkgMjIuOHMtNDQuNi05LTYxLjktMjIuOGMtMTcuMy0xNC43LTI4LjgtMzUuMS0zMi40LTU3LjUgMTUuMS02LjQgMzAuOC0xMS4zIDQ2LjktMTQuNSAwIDEyLjYgNSAyNC42IDEzLjkgMzMuNXMyMC45IDEzLjkgMzMuNSAxMy45IDI0LjYtNSAzMy41LTEzLjkgMTMuOS0yMC45IDEzLjktMzMuNWMxNi4xIDMuMiAzMS44IDguMSA0Ni45IDE0LjUtMy42IDIyLjQtMTUuMSA0Mi44LTMyLjQgNTcuNXpNODIuOSAyMzFjLTIxLjQgNy42LTQ0LjcgNy40LTY1LjktLjYgMi0xNi4zIDUuNi0zMi4zIDEwLjgtNDcuOSA1LjQgMy4xIDExLjMgNS4xIDE3LjUgNiA2LjIgLjggMTIuNCAuNCAxOC41LTEuMiA2LTEuNyAxMS42LTQuNCAxNi42LTguMnM5LjEtOC41IDEyLjItMTMuOSA1LjEtMTEuNCA2LTE3LjVjLjgtNi4yIC40LTEyLjUtMS4yLTE4LjVzLTQuNC0xMS42LTguMi0xNi42Yy0zLjgtNC45LTguNS05LjEtMTMuOS0xMi4yIDEwLjgtMTIuMyAyMi45LTIzLjUgMzYtMzMuMyAxNy42IDE0LjMgMjkuNSAzNC41IDMzLjYgNTYuOHMuMSA0NS40LTExLjIgNjVjLTExLjQgMTkuNi0yOS40IDM0LjUtNTAuNyA0Mi4xem0zNDYuNCAuMWMtMjEuMy03LjYtMzkuMy0yMi42LTUwLjctNDIuMi0xMS4zLTE5LjYtMTUuMi00Mi43LTExLjEtNjUgNC4xLTIyLjIgMTYtNDIuNCAzMy41LTU2LjcgMTMuMSA5LjggMjUuMiAyMSAzNiAzMy4zLTEwLjcgNi40LTE4LjQgMTYuNy0yMS41IDI4LjgtMy4yIDEyLTIuMyAyNC44IDQuOCAzNS42IDYuMiAxMC44IDE2LjQgMTguNyAyOC40IDIyczI0LjkgMS43IDM1LjctNC4zYzUuMyAxNS41IDguOSAzMS42IDEwLjkgNDcuOC0yMi4xIDguMS00NC42IDguMy02NiAuN3oiXX0sdHd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJpdGNvaW4iLGljb246WzUxMiw1MTIsW10sImYzNzkiLCJNOCAyNTZhMjQ4IDI0OCAwIDEgMSA0OTYgMCAyNDggMjQ4IDAgMSAxIC00OTYgMHptMzU0LjMtMzUuM2M0LjktMzMtMjAuMi01MC43LTU0LjYtNjIuNmwxMS4xLTQ0LjctMjcuMi02LjgtMTAuOSA0My41Yy03LjItMS44LTE0LjUtMy41LTIxLjgtNS4xbDEwLjktNDMuOC0yNy4yLTYuOC0xMS4yIDQ0LjdjLTUuOS0xLjMtMTEuNy0yLjctMTcuNC00LjFsMC0uMS0zNy41LTkuNC03LjIgMjkuMXMyMC4yIDQuNiAxOS44IDQuOWMxMSAyLjggMTMgMTAgMTIuNyAxNS44bC0xMi43IDUwLjljLjggLjIgMS43IC41IDIuOCAuOS0uOS0uMi0xLjktLjUtMi45LS43bC0xNy44IDcxLjNjLTEuMyAzLjMtNC44IDguNC0xMi41IDYuNSAuMyAuNC0xOS44LTQuOS0xOS44LTQuOWwtMTMuNSAzMS4xIDM1LjQgOC44YzYuNiAxLjcgMTMgMy40IDE5LjQgNWwtMTEuMyA0NS4yIDI3LjIgNi44IDExLjItNDQuN2M3LjIgMiAxNC40IDMuOCAyMS43IDUuNmwtMTEuMSA0NC41IDI3LjIgNi44IDExLjMtNDUuMWM0Ni40IDguOCA4MS4zIDUuMiA5Ni0zNi43IDExLjgtMzMuOC0uNi01My4zLTI1LTY2IDE3LjgtNC4xIDMxLjItMTUuOCAzNC43LTM5Ljl6bS02Mi4yIDg3LjJjLTguNCAzMy44LTY1LjMgMTUuNS04My44IDEwLjlsMTQuOS01OS45YzE4LjQgNC42IDc3LjYgMTMuNyA2OC44IDQ5em04LjQtODcuN2MtNy43IDMwLjctNTUgMTUuMS03MC40IDExLjNsMTMuNS01NC4zYzE1LjQgMy44IDY0LjggMTEgNTYuOCA0M3oiXX0sYXd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN3aWZ0IixpY29uOls0NDgsNTEyLFtdLCJmOGUxIiwiTTQ0OCAxNTYuMWMwLTQuNS0uMS05LS4yLTEzLjUtLjEtOS45LTEtMTkuNy0yLjYtMjkuNC0xLjctOS43LTQuOC0xOS4yLTkuMi0yOC05LTE3LjctMjMuNC0zMi4xLTQxLjItNDEuMS04LjgtNC41LTE4LjMtNy42LTI4LTkuMi05LjctMS42LTE5LjYtMi41LTI5LjQtMi42LTQuNS0uMS05LS4yLTEzLjUtLjJMMTI0LjEgMzJjLTQuNSAwLTkgLjEtMTMuNSAuMi0yLjQgLjEtNC45IC4yLTcuNCAuMy03LjQgLjMtMTQuOCAxLjEtMjIuMSAyLjMtNy4zIDEuMy0xNC40IDMuMy0yMS4yIDYuMS0yLjMgMS00LjYgMi02LjggMy4xLTYuNiAzLjQtMTIuOCA3LjUtMTguNCAxMi4zLTEuOSAxLjYtMy43IDMuMy01LjQgNS03IDctMTIuOSAxNS0xNy40IDIzLjgtNC40IDguOC03LjYgMTguMy05LjIgMjgtMS42IDkuNy0yLjQgMTkuNi0yLjUgMjkuNC0uMSA0LjUtLjIgOS0uMiAxMy41TDAgMzU1LjljMCA0LjUgLjEgOSAuMiAxMy41IC4xIDkuOSAxIDE5LjcgMi42IDI5LjQgMS43IDkuNyA0LjggMTkuMiA5LjIgMjggOSAxNy43IDIzLjQgMzIuMSA0MS4xIDQxLjEgOC44IDQuNCAxOC4zIDcuNSAyOCA5LjIgOS43IDEuNiAxOS42IDIuNSAyOS40IDIuNiA0LjUgLjEgOSAuMiAxMy41IC4ybDE5OS44IDBjNC41IDAgOS0uMSAxMy41LS4yIDkuOS0uMSAxOS43LTEgMjkuNC0yLjYgOS43LTEuNyAxOS4yLTQuOCAyOC05LjIgMTcuNy05IDMyLjEtMjMuNCA0MS4xLTQxLjIgNC40LTguOCA3LjYtMTguMyA5LjItMjggMS42LTkuNyAyLjUtMTkuNiAyLjYtMjkuNCAuMS00LjUgLjItOSAuMi0xMy41bDAtMTgzLjhjMC01LjQgMC0xMC43IDAtMTZ6bS02OS45IDI0MWMtMjAtMzguOS01Ny4yLTI5LjMtNzYuMy0xOS41LTEuNyAxLTMuNSAyLTUuMiAzbC0uNCAuMmMtMzkuNSAyMS05Mi41IDIyLjUtMTQ1LjgtLjQtNDMuNC0xOC44LTgwLjEtNTAuMy0xMDUuMy05MC40IDEyLjMgOS4xIDI1LjQgMTYuOSAzOS4yIDIzLjQgNTYuNCAyNi40IDExMyAyNC41IDE1MyAwLTU3LTQzLjgtMTA0LjYtMTAxLTE0MS4xLTE0Ny4yLTctOC4xLTEzLjItMTYuOC0xOC44LTI1LjkgNDMuNyA0MCAxMTIuNyA5MC4yIDEzNy41IDEwNC4xLTUyLjYtNTUuNS05OC45LTEyMy45LTk2LjctMTIxLjcgODIuOCA4My40IDE1OS4yIDEzMC42IDE1OS4yIDEzMC42IDIuOSAxLjYgNSAyLjggNi43IDQgMS42LTQuMSAzLTguMiA0LjItMTIuNSAxMy4yLTQ4LjMtMS43LTEwMy42LTM1LjMtMTQ5LjIgNzYuOCA0Ni4xIDEyMi4yIDEzMy43IDEwMy42IDIwNy44LS40IDEuNy0xIDMuNC0xLjQgNS4xIDM4LjUgNDcuNCAyOCA5OC4yIDIzLjEgODguNmwwIDB6Il19LHJ3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmaWxlcy1waW53aGVlbCIsaWNvbjpbNTEyLDUxMixbXSwiZTY5ZiIsIk0yNTMuNSAyNDYuNEwxMzcuMiAxMzAuMmMtLjYtLjYtMS0xLjMtMS40LTJzLS41LTEuNi0uNS0yLjQgLjItMS42IC41LTIuNCAuOC0xLjQgMS40LTJMMjUzLjYgNS4xYy45LS45IDItMS41IDMuMi0xLjdzMi41LS4xIDMuNiAuMyAyLjEgMS4zIDIuOCAyLjMgMS4xIDIuMiAxLjEgMy41bDAgMjMyLjVjMCAxLjMtLjMgMi41LTEgMy42cy0xLjcgMS45LTIuOSAyLjQtMi41IC42LTMuNyAuMy0yLjQtLjktMy4yLTEuOXptNDAuMy00LjRsMC0xMzQuNGMwLS44IC4xLTEuNiAuNS0yLjRzLjgtMS41IDEuMy0yLjEgMS4zLTEuMSAyLTEuNCAxLjYtLjUgMi40LS41bDEzNC40IDBjMS4yIDAgMi41IC40IDMuNSAxLjFzMS44IDEuNyAyLjMgMi44IC42IDIuNCAuMyAzLjYtLjkgMi4zLTEuNyAzLjJMMzA0LjMgMjQ2LjRjLS45IC44LTIgMS40LTMuMiAxLjZzLTIuNCAuMS0zLjUtLjQtMi4xLTEuMy0yLjgtMi4zLTEuMS0yLjItMS4xLTMuNGwuMSAuMXptMzAuNiAzNWMtMS4yIDAtMi41LS4zLTMuNS0xcy0xLjktMS42LTIuNC0yLjgtLjYtMi40LS40LTMuNiAuOC0yLjMgMS43LTMuMkw0MDQgMTgyLjJjLjYtLjYgMS4zLTEgMi0xLjRzMS42LS41IDIuNC0uNSAxLjYgLjIgMi40IC41IDEuNCAuOCAyIDEuNGw4NC40IDg0LjJjLjkgLjkgMS41IDIgMS43IDMuMnMuMSAyLjUtLjMgMy42LTEuMyAyLjEtMi4zIDIuOC0yLjIgMS4xLTMuNSAxLjFsLTE2OC41IDAgLjEtLjF6bTkwLjcgMTMxbC05NS4zLTk1LjJjLS45LS45LTEuNS0yLTEuNy0zLjJzLS4xLTIuNSAuNC0zLjcgMS4zLTIuMSAyLjQtMi44IDIuMy0xIDMuNS0xbDk1LjIgMGMxLjcgMCAzLjIgLjcgNC40IDEuOHMxLjggMi44IDEuOCA0LjRsMCA5NS4zYzAgMS4yLS40IDIuNS0xLjEgMy41cy0xLjcgMS44LTIuOCAyLjMtMi40IC42LTMuNiAuMy0yLjMtLjktMy4yLTEuN3pNMTYuOCAzMDIuMWwyMTYuOSAwYzEuMiAwIDIuNSAuNCAzLjUgMS4xczEuOCAxLjcgMi4zIDIuOCAuNiAyLjQgLjMgMy42LS44IDIuMy0xLjcgMy4yTDEyOS43IDQyMS4yYy0uNiAuNi0xLjMgMS0yIDEuNHMtMS42IC41LTIuNCAuNS0xLjYtLjItMi40LS41LTEuNC0uOC0yLTEuNEwxMi4zIDMxMi44Yy0uOS0uOS0xLjUtMi0xLjctMy4ycy0uMS0yLjUgLjQtMy42IDEuMy0yLjEgMi4zLTIuOCAyLjMtMSAzLjUtMWwwLS4xek0yNjQuMyA0NjUuM2MwIC44LS4yIDEuNi0uNSAyLjRzLS44IDEuNS0xLjQgMi0xLjMgMS0yIDEuNC0xLjYgLjUtMi40IC41bC0xMjggMGMtMS4yIDAtMi41LS40LTMuNS0xLjFzLTEuOC0xLjctMi4zLTIuOC0uNi0yLjQtLjMtMy42IC44LTIuMyAxLjctMy4ybDEyOC0xMjhjLjktLjkgMi0xLjUgMy4yLTEuN3MyLjUtLjEgMy42IC4zIDIuMSAxLjMgMi44IDIuMyAxLjEgMi4yIDEuMSAzLjVsMCAxMjh6bTQwLTEzMi41bDgyLjggODIuN2MuNiAuNiAxIDEuMyAxLjQgMnMuNSAxLjYgLjUgMi40LS4yIDEuNi0uNSAyLjQtLjggMS40LTEuNCAyTDMwNC4zIDUwN2MtLjkgLjktMiAxLjUtMy4yIDEuN3MtMi41IC4xLTMuNi0uMy0yLjEtMS4zLTIuOC0yLjMtMS4xLTIuMi0xLjEtMy41bDAtMTY1LjRjMC0xLjIgLjQtMi41IDEuMS0zLjVzMS43LTEuOCAyLjgtMi4zIDIuNC0uNiAzLjYtLjMgMi4zIC44IDMuMiAxLjd6TTc5IDEyMi40YzAtMS4yIC4zLTIuNSAxLTMuNXMxLjctMS44IDIuOC0yLjMgMi40LS42IDMuNi0uNCAyLjMgLjggMy4yIDEuN0wyMzguMSAyNjYuNGMuOSAuOSAxLjUgMiAxLjcgMy4ycy4xIDIuNS0uMyAzLjYtMS4zIDIuMS0yLjMgMi44LTIuMiAxLjEtMy41IDEuMWwtMTQ4LjQgMGMtMS43IDAtMy4yLS43LTQuNC0xLjhzLTEuOC0yLjgtMS44LTQuNGwwLTE0OC40LS4xLS4xeiJdfSxzd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGFyYXZlbCIsaWNvbjpbNTEyLDUxMixbXSwiZjNiZCIsIk01MDQuNiAxMTUuOGMtLjEtLjItLjItLjUtLjMtLjctLjEtLjQtLjMtLjgtLjUtMS4yLS4yLS4yLS4zLS41LS41LS43LS4yLS4zLS41LS42LS43LS45LS4yLS4yLS41LS40LS44LS42LS4zLS4yLS42LS41LS45LS43TDQwNC42IDU1LjVjLTEuMi0uNy0yLjYtMS4xLTQtMS4xcy0yLjggLjQtNCAxLjFMMzAwLjMgMTExYy0uMyAuMi0uNiAuNC0uOSAuNy0uMyAuMi0uNSAuNC0uOCAuNi0uMyAuMy0uNSAuNi0uNyAuOS0uMiAuMi0uNCAuNC0uNSAuNy0uMiAuNC0uNCAuOC0uNSAxLjItLjEgLjItLjIgLjQtLjMgLjctLjIgLjctLjMgMS40LS4zIDIuMWwwIDEwNS4yLTgwLjIgNDYuMiAwLTIwNS45YzAtLjctLjEtMS40LS4zLTIuMS0uMS0uMi0uMi0uNC0uMy0uNy0uMS0uNC0uMy0uOC0uNS0xLjItLjEtLjMtLjQtLjUtLjUtLjctLjItLjMtLjUtLjYtLjctLjktLjItLjItLjUtLjQtLjgtLjYtLjMtLjItLjYtLjUtLjktLjdMMTE1LjggMS4xYy0xLjItLjctMi42LTEuMS00LTEuMXMtMi44IC40LTQgMS4xTDExLjUgNTYuNWMtLjMgLjItLjYgLjQtLjkgLjctLjMgLjItLjUgLjQtLjggLjYtLjMgLjMtLjUgLjYtLjcgLjktLjIgLjMtLjQgLjUtLjYgLjctLjIgLjQtLjQgLjgtLjUgMS4yLS4xIC4yLS4yIC40LS4zIC43LS4yIC43LS4zIDEuNC0uMyAyLjFsMCAzMjkuN2MwIDEuNCAuNCAyLjggMS4xIDRzMS43IDIuMiAyLjkgMi45TDIwNCA1MTAuOWMuNCAuMiAuOSAuNCAxLjMgLjUgLjIgLjEgLjQgLjIgLjYgLjMgMS4zIC40IDIuOCAuNCA0LjEgMCAuMi0uMSAuNC0uMiAuNi0uMiAuNS0uMiAxLS4zIDEuNC0uNkw0MDQuNiA0MDAuMWMxLjItLjcgMi4yLTEuNyAyLjktMi45czEuMS0yLjYgMS4xLTRsMC0xMDUuMyA5Mi4yLTUzLjFjMS4yLS43IDIuMi0xLjcgMi45LTNzMS4xLTIuNiAxLjEtNGwwLTEwOS44YzAtLjctLjEtMS40LS4yLTIuMXpNMTExLjggMTcuM2w4MC4yIDQ2LjEtODAuMiA0Ni4yLTgwLjItNDYuMiA4MC4yLTQ2LjJ6bTg4LjIgNjBsMCAyMDEuM2MtMzMuMiAxOS4xLTU5LjkgMzQuNS04MC4yIDQ2LjJsMC0yMDEuM0MxNTMgMTA0LjQgMTc5LjcgODkgMjAwIDc3LjN6bTAgNDEyLjhMMjMuNSAzODguNSAyMy41IDc3LjNjMjAuMyAxMS43IDQ3LjEgMjcuMSA4MC4yIDQ2LjJsMCAyMTUuMmMwIC4zIC4xIC42IC4xIC45IDAgLjQgLjEgLjggLjIgMS4yIC4xIC4zIC4yIC42IC40IC45IC4xIC4zIC4zIC43IC40IDEgLjIgLjMgLjQgLjUgLjYgLjggLjIgLjMgLjQgLjYgLjcgLjggLjIgLjIgLjUgLjQgLjggLjYgLjMgLjIgLjYgLjUgLjkgLjdsOTIuMiA1Mi4yIC4xIDkyLjR6bTgtMTA2LjJMMTI4IDMzOC42YzU0LjctMzEuNSAxMTMuNS02NS4zIDE3Ni4zLTEwMS41bDgwLjEgNDYuMUMzNTUgMzAwIDI5Ni4yIDMzMy41IDIwOCAzODMuOXptMTg0LjUgNC42bC0xNzYuNSAxMDEuNiAwLTkyLjNDMzE3LjQgMzQwIDM3Ni4yIDMwNi40IDM5Mi41IDI5N2wwIDkxLjR6bTAtMTE5LjFjLTIwLjMtMTEuNi00Ny4xLTI3LTgwLjItNDYuMWwwLTkxLjRjMjAuMyAxMS43IDQ3LjEgMjcuMSA4MC4yIDQ2LjJsMCA5MS4zem04LTEwNS4zbC04MC4yLTQ2LjIgODAuMi00Ni4yIDgwLjIgNDYuMS04MC4yIDQ2LjJ6bTggMTA1LjNsMC05MS4zYzMzLjItMTkuMSA2MC0zNC41IDgwLjMtNDYuMmwwIDkxLjQtODAuMyA0Ni4yeiJdfSxpd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid3Bmb3JtcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjI5OCIsIk00NDggNzUuMmwwIDM2MS43YzAgMjQuMy0xOSA0My4yLTQzLjIgNDMuMmwtMzYxLjYgMEMxOS4zIDQ4MCAwIDQ2MS40IDAgNDM2LjhMMCA3NS4yQzAgNTEuMSAxOC44IDMyIDQzLjIgMzJsMzYxLjcgMGMyNCAwIDQzLjEgMTguOCA0My4xIDQzLjJ6TTQxMC43IDQzNi44bDAtMzYxLjZjMC0zLTIuNi01LjgtNS44LTUuOGwtOS4zIDAtMTEwLjMgNzQuNi02MS4zLTQ5LjktNjEuMiA0OS45LTExMC4zLTc0LjctOS4zIDBjLTMuMiAwLTUuOCAyLjgtNS44IDUuOGwwIDM2MS43YzAgMyAyLjYgNS44IDUuOCA1LjhsMzYxLjcgMGMzLjIgLjEgNS44LTIuNyA1LjgtNS44ek0xNTAuMiAxODZsMCAzNy03My41IDAgMC0zNyA3My41IDB6bTAgNzQuNGwwIDM3LjMtNzMuNSAwIDAtMzcuMyA3My41IDB6bTExLjEtMTQ3LjNsNTQtNDMuNy0xMTguNSAwIDY0LjUgNDMuN3ptMjEwIDcyLjlsMCAzNy0xOTYgMCAwLTM3IDE5NiAwem0wIDc0LjRsMCAzNy4zLTE5NiAwIDAtMzcuMyAxOTYgMHpNMjg2LjcgMTEzLjFsNjQuNS00My43LTExOC40IDAgNTMuOSA0My43ek0zNzEuMyAzMzVsMCAzNy4zLTk5LjQgMCAwLTM3LjMgOTkuNCAweiJdfSxvd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3BlYWtlci1kZWNrIixpY29uOls1MTIsNTEyLFtdLCJmODNjIiwiTTIxMy45IDI5NkwxMDAgMjk2Yy0yNi41IDAtNTItMTAuNS03MC43LTI5LjNTMCAyMjIuNSAwIDE5NiAxMC41IDE0NCAyOS4zIDEyNS4zIDczLjUgOTYgMTAwIDk2bDEzMi44IDBjMTAuNiAwIDIwLjggNC4yIDI4LjMgMTEuN3MxMS43IDE3LjcgMTEuNyAyOC4zLTQuMiAyMC44LTExLjcgMjguMy0xNy43IDExLjctMjguMyAxMS43TDk4IDE3NmMtMjYuNSAwLTI2LjQgNDAgMCA0MGwxMTMuOCAwYzI2LjUgMCA1MiAxMC41IDcwLjcgMjkuM3MyOS4zIDQ0LjIgMjkuMyA3MC43LTEwLjUgNTItMjkuMyA3MC43LTQ0LjIgMjkuMy03MC43IDI5LjNMNDAgNDE2Yy0xMC42IDAtMjAuOC00LjItMjguMy0xMS43UzAgMzg2LjYgMCAzNzYgNC4yIDM1NS4yIDExLjcgMzQ3LjcgMjkuNCAzMzYgNDAgMzM2bDE3My45IDBjMjYuNSAwIDI2LjUtNDAgMC00MHpNMjk4IDQxNmMxMy41LTkuMiAyNS0yMSAzMy44LTM0LjdzMTQuNy0yOS4yIDE3LjMtNDUuM2w2NC42IDBjMi42IDAgNS4yLS42IDcuNi0xLjZzNC42LTIuNSA2LjQtNC40IDMuMy00LjEgNC4yLTYuNSAxLjUtNSAxLjQtNy42bDAtMTIwYzAtMi42LS41LTUuMi0xLjQtNy42cy0yLjQtNC42LTQuMi02LjUtNC0zLjMtNi40LTQuNC01LTEuNi03LjYtMS42bC0xMTcuMiAwYzkuNy0xMS4xIDE1LTI1LjMgMTUtNDBzLTUuMy0yOC45LTE1LTQwbDEzNi45IDBjNDMuNCAwIDc4LjYgMzUuOCA3OC42IDgwbDAgMTYwYzAgNDQuMi0zNS4yIDgwLTc4LjYgODBMMjk4IDQxNnoiXX0sbnd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZsaWNrciIsaWNvbjpbNDQ4LDUxMixbXSwiZjE2ZSIsIk00MDAgMzJMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzNTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OHpNMTQ0LjUgMTkyYTYzLjUgNjMuNSAwIDEgMSAwIDEyNyA2My41IDYzLjUgMCAxIDEgMC0xMjd6bTE1OSAwYTYzLjUgNjMuNSAwIDEgMSAwIDEyNyA2My41IDYzLjUgMCAxIDEgMC0xMjd6Il19LGx3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy12aXNhIixpY29uOls1NzYsNTEyLFtdLCJmMWYwIiwiTTQ3MC4xIDIzMS4zczcuNiAzNy4yIDkuMyA0NWwtMzMuNCAwYzMuMy04LjkgMTYtNDMuNSAxNi00My41LS4yIC4zIDMuMy05LjEgNS4zLTE0LjlsMi44IDEzLjR6TTU3NiA4MGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsNDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTE1Mi41IDMzMS4ybDYzLjItMTU1LjItNDIuNSAwLTM5LjMgMTA2LTQuMy0yMS41LTE0LTcxLjRjLTIuMy05LjktOS40LTEyLjctMTguMi0xMy4xbC02NC43IDAtLjcgMy4xYzE1LjggNCAyOS45IDkuOCA0Mi4yIDE3LjFsMzUuOCAxMzUgNDIuNSAwem05NC40IC4ybDI1LjItMTU1LjQtNDAuMiAwLTI1LjEgMTU1LjQgNDAuMSAwem0xMzkuOS01MC44Yy4yLTE3LjctMTAuNi0zMS4yLTMzLjctNDIuMy0xNC4xLTcuMS0yMi43LTExLjktMjIuNy0xOS4yIC4yLTYuNiA3LjMtMTMuNCAyMy4xLTEzLjQgMTMuMS0uMyAyMi43IDIuOCAyOS45IDUuOWwzLjYgMS43IDUuNS0zMy42Yy03LjktMy4xLTIwLjUtNi42LTM2LTYuNi0zOS43IDAtNjcuNiAyMS4yLTY3LjggNTEuNC0uMyAyMi4zIDIwIDM0LjcgMzUuMiA0Mi4yIDE1LjUgNy42IDIwLjggMTIuNiAyMC44IDE5LjMtLjIgMTAuNC0xMi42IDE1LjItMjQuMSAxNS4yLTE2IDAtMjQuNi0yLjUtMzcuNy04LjNsLTUuMy0yLjUtNS42IDM0LjljOS40IDQuMyAyNi44IDguMSA0NC44IDguMyA0Mi4yIC4xIDY5LjctMjAuOCA3MC01M3pNNTI4IDMzMS40bC0zMi40LTE1NS40LTMxLjEgMGMtOS42IDAtMTYuOSAyLjgtMjEgMTIuOWwtNTkuNyAxNDIuNSA0Mi4yIDBzNi45LTE5LjIgOC40LTIzLjNsNTEuNiAwYzEuMiA1LjUgNC44IDIzLjMgNC44IDIzLjNsMzcuMiAweiJdfSxjd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidXB3b3JrIixpY29uOls2NDAsNTEyLFtdLCJlNjQxIiwiTTQ5My45IDI5NS42Yy01MC4zIDAtODMuNS0zOC45LTkyLjgtNTMuOSAxMS45LTk1LjMgNDYuOC0xMjUuNCA5Mi44LTEyNS40IDQ1LjUgMCA4MC45IDM2LjQgODAuOSA4OS43cy0zNS40IDg5LjctODAuOSA4OS43bDAtLjF6bTAtMjM3LjhjLTgxLjkgMC0xMjcuOCA1My40LTE0MSAxMDguNC0xNC45LTI4LTI1LjktNjUuNS0zNC41LTEwMC4zbC0xMTMuMiAwIDAgMTQxYzAgNTEuMS0yMy4zIDg5LTY4LjggODlzLTcxLjYtMzcuOC03MS42LTg5bC41LTE0MS02NS4zIDAgMCAxNDFjMCA0MS4xIDEzLjMgNzguNCAzNy42IDEwNS4xIDI1IDI3LjUgNTkuMiA0MS44IDk4LjggNDEuOCA3OC44IDAgMTMzLjgtNjAuNCAxMzMuOC0xNDYuOWwwLTk0LjhjOC4yIDMxLjIgMjcuOCA5MS4xIDY1LjMgMTQzLjZsLTM1IDE5OS40IDY2LjQgMCAyMy4xLTE0MS4zYzcuNiA2LjMgMTUuNyAxMiAyNC4yIDE3IDIyLjIgMTQgNDcuNyAyMS45IDczLjkgMjIuOCAwIDAgNCAuMiA2LjEgLjIgODEuMiAwIDE0NS45LTYyLjkgMTQ1LjktMTQ3LjhTNTc1LjMgNTcuOSA0OTQuMSA1Ny45bC0uMi0uMXoiXX0sZHd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imtha2FvLXRhbGsiLGljb246WzU3Niw1MTIsW10sImU3ZDciLCJNMjg4IDIuNWMxNTkuMSAwIDI4OCAxMDEuNyAyODggMjI3LjEgMCAxMjUuNC0xMjguOSAyMjcuMS0yODggMjI3LjEtMTcuNSAwLTM0LjYtMS4yLTUxLjItMy42LTE2LjYgMTEuNy0xMTIuNiA3OS4xLTEyMS43IDgwLjQgMCAwLTMuNyAxLjQtNi45LS40cy0yLjYtNi43LTIuNi02LjdDMTA2LjYgNTE5LjggMTMwLjYgNDM3LjIgMTM1IDQyMS45IDUzLjkgMzgxLjggMCAzMTAuNiAwIDIyOS41IDAgMTA0LjEgMTI4LjkgMi41IDI4OCAyLjV6TTg2LjIgMTYxLjdjLTkgMC0xNi4zIDcuMy0xNi4zIDE2LjNzNy4zIDE2LjMgMTYuMyAxNi4zbDI1LjkgMCAwIDk4LjdjMCA4LjggNy41IDE1LjkgMTYuNiAxNS45czE2LjYtNy4xIDE2LjYtMTUuOWwwLTk4LjcgMjUuOSAwYzkgMCAxNi4zLTcuMyAxNi4zLTE2LjNzLTcuMy0xNi4zLTE2LjMtMTYuM2wtODUuMSAwem0xNDAuOCAwYy0xMC44IC4yLTE5LjMgOC40LTIyLjEgMTYuNEwxNjUuMiAyODIuN2MtNSAxNS43LS42IDIxLjUgMy45IDIzLjYgMy4yIDEuNSA2LjkgMi4zIDEwLjYgMi4zIDYuOSAwIDEyLjItMi44IDEzLjgtNy4zbDguMi0yMS42IDUwLjcgMCA4LjIgMjEuNWMxLjYgNC41IDYuOSA3LjMgMTMuOCA3LjMgMy43IDAgNy4zLS44IDEwLjYtMi4zIDQuNi0yLjEgOS03LjkgMy45LTIzLjZMMjQ5LjIgMTc4LjFjLTIuOC04LTExLjMtMTYuMi0yMi4yLTE2LjR6bTE4MC45IDBjLTkuMiAwLTE2LjYgNy41LTE2LjYgMTYuNmwwIDExMy43YzAgOS4yIDcuNSAxNi42IDE2LjYgMTYuNnMxNi42LTcuNSAxNi42LTE2LjZsMC0zNi4yIDUuOC01LjggMzguOSA1MS42YzMuMiA0LjIgOCA2LjYgMTMuMyA2LjYgMy42IDAgNy4xLTEuMSAxMC0zLjMgMy41LTIuNyA1LjgtNi42IDYuNC0xMXMtLjUtOC44LTMuMi0xMi4zbC00MC45LTU0LjIgMzcuOS0zNy44YzIuNi0yLjYgMy45LTYuMiAzLjctMTAuMS0uMi0zLjktMi03LjYtNC45LTEwLjUtMy4xLTMuMS03LjMtNC45LTExLjQtNC45LTMuNiAwLTYuOCAxLjMtOS4yIDMuN2wtNDYuMyA0Ni40IDAtMzUuN2MwLTkuMi03LjUtMTYuNi0xNi42LTE2LjZ6bS05MS4zIDBjLTkuMyAwLTE2LjkgNy41LTE2LjkgMTYuNmwwIDExMi44YzAgOC40IDcuMSAxNS4yIDE1LjkgMTUuM2w1My4zIDBjOC44IDAgMTUuOS02LjkgMTUuOS0xNS4zcy03LjItMTUuMi0xNS45LTE1LjJsLTM1LjMgMCAwLTk3LjZjMC05LjItNy42LTE2LjYtMTctMTYuNnptLTczIDg4LjZsLTMzLjIgMCAxNi42LTQ3LjEgMTYuNiA0Ny4xeiJdfSx1d3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmx1dHRlciIsaWNvbjpbNDQ4LDUxMixbXSwiZTY5NCIsIk00MjkuNSAyMzYuM0wyOTEuNyAzNzQuMSA0MjkuNSA1MTIgMjcyIDUxMmMtMzYuMS0zNi4xLTgyLjEtODIuMS0xMzcuOS0xMzcuOWwxMzcuOS0xMzcuOCAxNTcuNSAwek0yNzIgMEwxNiAyNTYgOTQuOCAzMzQuOCA0MjkuNSAwIDI3MiAweiJdfSxwd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYnVmZmVyIixpY29uOls0NDgsNTEyLFtdLCJmODM3IiwiTTQyOC4yIDM4MC43TDIzMS43IDQ3OC41Yy0yLjMgMS00LjggMS41LTcuMyAxLjVzLTUtLjUtNy4zLTEuNUwyMC41IDM4MC43Yy00LTItNC01LjMgMC03LjNMNjcuNiAzNTBjMi4zLTEgNC44LTEuNSA3LjMtMS41czUgLjUgNy4zIDEuNWwxMzQuOCA2N2MyLjMgMSA0LjggMS41IDcuMyAxLjVzNS0uNSA3LjMtMS41bDEzNC44LTY3YzIuMy0xIDQuOC0xLjUgNy4zLTEuNXM1IC41IDcuMyAxLjVsNDcuMSAyMy40YzQgMiA0IDUuMiAwIDcuMnptMC0xMzYuNWwtNDcuMS0yMy40Yy0yLjMtMS00LjgtMS41LTcuMy0xLjVzLTUgLjUtNy4zIDEuNUwyMzEuNyAyODcuOGMtMi4zIDEtNC44IDEuNS03LjMgMS41cy01LS41LTcuMy0xLjVMODIuMyAyMjAuN2MtMi4zLTEtNC44LTEuNS03LjMtMS41cy01IC41LTcuMyAxLjVMMjAuNSAyNDQuMWMtNCAyLTQgNS4zIDAgNy4zbDE5Ni41IDk3LjhjMi4zIDEgNC44IDEuNSA3LjMgMS41czUtLjUgNy4zLTEuNWwxOTYuNS05Ny44YzQtMiA0LTUuMyAwLTcuM3pNMjAuNSAxMzAuNEwyMTcgMjIwLjdjNC43IDEuOSAxMCAxLjkgMTQuNyAwbDE5Ni41LTkwLjNjNC0xLjkgNC00LjkgMC02LjdMMjMxLjcgMzMuNGMtNC43LTEuOS0xMC0xLjktMTQuNyAwTDIwLjUgMTIzLjdjLTQgMS44LTQgNC45IDAgNi43eiJdfSxmd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ3JhdGlwYXkiLGljb246WzUxMiw1MTIsW10sImYxODQiLCJNMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMiAyNTYgMjU2IDAgMSAwIDAtNTEyek0zNzQuMyAyMzMuN0wyNTcuNyAzOTEuMyAxNDEuMyAyMzMuN2MtOS0xMi4zLTE5LjctNTIgMTQtNzQuMyAyOS0xOC43IDU2LjQtNC4zIDcwLjcgMTIuMyAxNi40IDE4LjUgNDguMSAxNy40IDYzLjcgMCAxNC4zLTE2LjYgNDEuNy0zMSA3MC4zLTEyLjMgMzQgMjIuMyAyMy4zIDYxLjkgMTQuMiA3NC4zeiJdfSxod3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlLXBheSIsaWNvbjpbNjQwLDUxMixbXSwiZTA3OSIsIk0xMDUuNyAyMTVsMCA0MS4yIDU3LjEgMGMtMS4yIDYuNi0zLjYgMTIuOS03LjIgMTguNXMtOC40IDEwLjQtMTMuOSAxNC4xYy05LjUgNi42LTIxLjcgMTAuMy0zNiAxMC4zLTI3LjYgMC01MC45LTE4LjktNTkuMy00NC4yLTQuNC0xMy4zLTQuNC0yNy43IDAtNDEgOC40LTI1LjUgMzEuNy00NC40IDU5LjMtNDQuNCA3LjUtLjEgMTQuOSAxLjIgMjEuOSA0czEzLjMgNi45IDE4LjYgMTIuMUwxNzYuNSAxNTVjLTE5LjEtMTguMS00NC40LTI4LjEtNzAuNy0yNy44LTE5LjcgLjEtMzguOSA1LjctNTUuNiAxNi4xcy0zMC4xIDI1LjMtMzguOCA0M0MzLjkgMjAxLjIgMCAyMTcuNyAwIDIzNC40czMuOSAzMy4yIDExLjMgNDguMWwwIC4yYzguNyAxNy43IDIyLjEgMzIuNSAzOC44IDQzczM1LjkgMTYgNTUuNiAxNmMyOC41IDAgNTIuNS05LjUgNzAtMjUuOSAyMC0xOC42IDMxLjQtNDYuMiAzMS40LTc4LjkgMC03LjMtLjYtMTQuNi0xLjgtMjEuOGwtOTkuNyAwem0zODkuNC00Yy0xMC4xLTkuNC0yMy45LTE0LjEtNDEuNC0xNC4xLTIyLjUgMC0zOS4zIDguMy01MC41IDI0LjlMNDI0LjEgMjM1YzcuNi0xMS4zIDE4LjEtMTcgMzEuMy0xNyA4LjQgMCAxNi41IDMuMiAyMi43IDguOCAzIDIuNiA1LjUgNS45IDcuMSA5LjZzMi41IDcuNiAyLjUgMTEuN2wwIDUuNWMtOS4xLTUuMS0yMC42LTcuOC0zNC42LTcuOC0xNi40IDAtMjkuNiAzLjktMzkuNSAxMS44cy0xNC44IDE4LjMtMTQuOCAzMS42Yy0uMiA1LjkgMSAxMS44IDMuNCAxNy4yczYgMTAuMiAxMC41IDE0LjFjOS4yIDguMyAyMSAxMi41IDM0LjggMTIuNSAxNi4zIDAgMjkuMi03LjMgMzktMjEuOWwxIDAgMCAxNy43IDIyLjYgMCAwLTc4LjdjLjEtMTYuNi00LjktMjkuNy0xNS0zOXptLTE5LjIgODkuM2MtMy41IDMuNS03LjYgNi4zLTEyLjIgOC4ycy05LjUgMi45LTE0LjQgMi45Yy02LjcgLjEtMTMuMS0yLjEtMTguMy02LjItMi40LTEuOC00LjQtNC4yLTUuNy02LjlzLTItNS43LTItOC43YzAtNyAzLjItMTIuOCA5LjUtMTcuNHMxNC41LTcgMjQuMS03YzEzLjItLjIgMjMuNSAyLjggMzAuOCA4LjggMCAxMC4xLTQgMTguOS0xMS43IDI2LjR6bS05My43LTE0MmMtNS4zLTUuMy0xMS42LTkuNS0xOC42LTEyLjNzLTE0LjQtNC4yLTIxLjktNGwtNjIuNyAwIDAgMTg2LjcgMjMuNiAwIDAtNzUuNiAzOSAwYzE2IDAgMjkuNS01LjQgNDAuNS0xNS45IC45LS45IDEuOC0xLjggMi42LTIuNyA5LjYtMTAuNSAxNC44LTI0LjQgMTQuMy0zOC42cy02LjYtMjcuNy0xNi45LTM3LjZsMCAwem0tMTYuNiA2Mi4yYy0zIDMuMi02LjYgNS43LTEwLjYgNy40cy04LjQgMi41LTEyLjcgMi4zbC0zOS42IDAgMC02NS4yIDM5LjYgMGM4LjUgMCAxNi42IDMuMyAyMi42IDkuMiA2LjEgNi4xIDkuNiAxNC4zIDkuOCAyM3MtMy4xIDE3LTkgMjMuM2wwIDB6TTYxNC4zIDIwMWwtMzYuNSA5MS43LS41IDAtMzcuNC05MS43LTI1LjcgMCA1MS44IDExOS42LTI5LjQgNjQuMyAyNC4zIDAgNzktMTgzLjktMjUuNyAweiJdfSxtd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXBwbGUiLGljb246WzM4NCw1MTIsW10sImYxNzkiLCJNMzE5LjEgMjY4LjdjLS4yLTM2LjcgMTYuNC02NC40IDUwLTg0LjgtMTguOC0yNi45LTQ3LjItNDEuNy04NC43LTQ0LjYtMzUuNS0yLjgtNzQuMyAyMC43LTg4LjUgMjAuNy0xNSAwLTQ5LjQtMTkuNy03Ni40LTE5LjctNTUuOCAuOS0xMTUuMSA0NC41LTExNS4xIDEzMy4yIDAgMjYuMiA0LjggNTMuMyAxNC40IDgxLjIgMTIuOCAzNi43IDU5IDEyNi43IDEwNy4yIDEyNS4yIDI1LjItLjYgNDMtMTcuOSA3NS44LTE3LjkgMzEuOCAwIDQ4LjMgMTcuOSA3Ni40IDE3LjkgNDguNi0uNyA5MC40LTgyLjUgMTAyLjYtMTE5LjMtNjUuMi0zMC43LTYxLjctOTAtNjEuNy05MS45ek0yNjIuNSAxMDQuNWMyNy4zLTMyLjQgMjQuOC02MS45IDI0LTcyLjUtMjQuMSAxLjQtNTIgMTYuNC02Ny45IDM0LjktMTcuNSAxOS44LTI3LjggNDQuMy0yNS42IDcxLjkgMjYuMSAyIDQ5LjktMTEuNCA2OS41LTM0LjN6Il19LGd3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0dW1ibHIiLGljb246WzMyMCw1MTIsW10sImYxNzMiLCJNMzA5LjkgNDgwLjNjLTEzLjYgMTQuNS01MCAzMS43LTk3LjQgMzEuNy0xMjAuOCAwLTE0Ny04OC44LTE0Ny0xNDAuNmwwLTE0NC00Ny41IDBjLTUuNSAwLTEwLTQuNS0xMC0xMGwwLTY4YzAtNy4yIDQuNS0xMy42IDExLjMtMTYgNjItMjEuOCA4MS41LTc2IDg0LjMtMTE3LjEgLjgtMTEgNi41LTE2LjMgMTYuMS0xNi4zbDcwLjkgMGM1LjUgMCAxMCA0LjUgMTAgMTBsMCAxMTUuMiA4MyAwYzUuNSAwIDEwIDQuNCAxMCA5LjlsMCA4MS43YzAgNS41LTQuNSAxMC0xMCAxMGwtODMuNCAwIDAgMTMzLjJjMCAzNC4yIDIzLjcgNTMuNiA2OCAzNS44IDQuOC0xLjkgOS0zLjIgMTIuNy0yLjIgMy41IC45IDUuOCAzLjQgNy40IDcuOWwyMiA2NC4zYzEuOCA1IDMuMyAxMC42LS40IDE0LjV6Il19LGJ3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaG9lbml4LXNxdWFkcm9uIixpY29uOls1MTIsNTEyLFtdLCJmNTExIiwiTTk2IDYzLjRjNDYuNS0zNi4xIDEwNS42LTU2LjEgMTY0LjUtNTQuNiAyOS42LS40IDU5LjEgNS40IDg2LjkgMTUuMy0yNC4xLTQuNi00OS02LjMtNzMuNC0yLjUtNDIuOSA1LjMtODMgMjcuMi0xMTEuOCA1OS4yIDUuNy0xIDEwLjgtMy43IDE2LTUuOSAxOC4xLTcuOSAzNy41LTEzLjMgNTcuMi0xNC44IDE5LjctMi4xIDM5LjYtLjQgNTkuMyAxLjktMTQuNCAyLjgtMjkuMSA0LjYtNDMgOS42LTM0LjQgMTEuMS02NS4zIDMzLjItODYuMyA2Mi42LTEzLjggMTkuNy0yMy42IDQyLjktMjQuNyA2Ny4xLS40IDE2LjUgNS4yIDM0LjggMTkuOCA0NCAxMS4yIDYuOCAyNC42IDkuMiAzNy41IDYuNyAxNS40LTIuNSAzMC4xLTguNiA0My42LTE2LjMgMTEuNS02LjggMjIuNy0xNC42IDMyLTI0LjMgMy44LTMuMiAyLjUtOC40IDIuNi0xMi44LTIuMS0uMy00LjQtMS4xLTYuMyAuMy0xMS40IDYuMy0yMy40IDExLjQtMzUuOCAxNS40LTIwIDYuMi00Mi4yIDguNS02Mi4xIC44IDEyLjggMS43IDI2LjEgLjMgMzcuNy01LjQgMjAuMi05LjcgMzYuOC0yNS4yIDU0LjQtMzguOCAyNy43LTIxLjMgNTcuNS0zOS45IDg4LjktNTUuMyAyNS43LTEyIDUyLjktMjIuOCA4MS42LTI0LjEtMTUuNiAxMy43LTMyLjEgMjYuNS00Ni44IDQxLjQtMTQuNSAxNC0yNy41IDI5LjUtNDAuMSA0NS4yLTMuNSA0LjYtOSA2LjktMTMuNiAxMC4yLTIyLjQgMTUtNDAuMyAzNS44LTUxLjkgNjAuMS05LjMgMTkuNy0xNC41IDQxLjktMTEuOCA2My42IDEuOSAxMy43IDguNyAyNy42IDIwLjkgMzQuOSAxMi45IDggMjkgOC4xIDQzLjUgNS4xIDMyLjgtNy40IDYxLjQtMjguOSA4MS01NS44IDIwLjQtMjcuNSAzMC41LTYyLjIgMjkuMi05Ni4zLS41LTcuNS0xLjYtMTUtMS43LTIyLjUgOCAxOS41IDE0LjggMzkuNyAxNi42IDYwLjggMiAxNC4zIC43IDI4LjgtMS42IDQyLjktMS45IDExLTUuNyAyMS41LTcuOCAzMi40IDIwLjQtMjIuOSAzNC01MC45IDM5LjMtODEuMSA1LjYtMzUuNSAuNy03MS45LTE0LjItMTA0LjYgMjAuOCAzMiAzMi4zIDY5LjYgMzUuNyAxMDcuNSAuNSAxMi43IC41IDI1LjUgMCAzOC4yLTIuOCAzNC4zLTEyLjkgNjcuNi0yOS42IDk3LjgtMjYuMSA0Ny4zLTY4IDg1LjYtMTE3LjIgMTA4LTc4LjMgMzYuMi0xNzQuNyAzMS4zLTI0OC0xNC43LTM5LTIzLjgtNzAuNi01OC05MS40LTk4LjctMTQuNy0yOC45LTIzLjMtNjAuNS0yNS40LTkyLjlsMC0zMS4zQzMuOSAxNzIgNDAuOSAxMDUuOCA5NiA2My40em0yMjIgODAuM2M1LjUtLjkgMTAuOC0yLjQgMTYtNC41IDUtMS44IDkuMi01LjkgMTAuMy0xMS4yLTkgNS0xOCA5LjktMjYuMyAxNS43eiJdfSx2d3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2VudGVyY29kZSIsaWNvbjpbNTEyLDUxMixbXSwiZjM4MCIsIk0yMDEuOCAyNTQuOGE2NC4xIDY0LjEgMCAxIDEgMTI3LjQgMTMuOCA2NC4xIDY0LjEgMCAxIDEgLTEyNy40LTEzLjh6bTQxLjYgMjQ4LjlDOTYuNyA0OTYtOC4yIDM2NS41IDEwLjEgMjI0LjMgMjEuMyAxMzcuNyA3NS45IDY3LjQgMTQ5LjIgMzIuMyAzMTAuMi00NC44IDQ5OC45IDY5LjcgNTAzLjkgMjQ4LjkgNTA4IDM5NS45IDM4NS41IDUxMS4xIDI0My40IDUwMy43em0xNzkuOS0xODBjMjcuOS0xMTgtMTYwLjUtMjA1LjktMjM3LjItMjM0LjItNTcuNSA1Ni4zLTY5LjEgMTg4LjYtMzMuOCAzNDQuNCA2OC44IDE1LjggMTY5LjEtMjYuNCAyNzEtMTEwLjJ6Il19LHh3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkZWJpYW4iLGljb246WzQ0OCw1MTIsW10sImU2MGIiLCJNMzgwLjQgMjQ1LjZjMy03LjYgNS41LTE0IDUuMi0yNC40bC00LjMgOWM0LjQtMTMuMiA0LTI3LjEgMy42LTQwLjQtLjItNi0uMy0xMS44IDAtMTcuNGwtMS44LS41Yy0xLjUtNDUuMi00MC42LTkzLjEtNzUuMy0xMDkuNC0zMC0xMy44LTc2LjEtMTYuMi05Ny4zLTUuOCAxLjMtMS4xIDQuMi0yIDYuOC0yLjdsLjMtLjFjMy4zLTEgNi0xLjcgNC0yLjktMTkuMiAxLjktMjQuOSA1LjUtMzEuMSA5LjRsLS4xIDBjLTQuNiAyLjktOS41IDYtMjAuMyA4LjctMy41IDMuNCAxLjcgMiA1LjggLjlzNy4yLTEuOS0uMSAyLjRjLTMuNSAxLTYuNiAxLjMtOS42IDEuNmwtLjEgMGMtOC4zIC44LTE1LjggMS42LTMwLjcgMTcgLjggMS4zIDMuNC0uMiA1LjMtMS4zbC4xLS4xYzIuMy0xLjQgMy40LTItMS43IDQuNC0xOS4xLTIuNC02MC4zIDQzLjctNjkuMSA1OWw0LjYgLjhjLTMuMiA4LTYuOCAxNC44LTEwIDIwLjgtNC4zIDguMS03LjkgMTQuOS04LjcgMjEuMy0uMyA1LjEtMSAxMS0xLjcgMTcuMy0uMSAxLS4yIDItLjMgM2wtLjEgLjZjLTMgMjcuMy02LjcgNjAuOCAzLjkgNzNsLTEuMyAxM2MuNiAxLjIgMS4xIDIuMyAxLjYgMy41IC4yIC40IC40IC44IC41IDEuMSAxIDIuMSAyIDQuMiAzLjMgNi4ybC0zIC4yYzcgMjIuMSAxMC44IDIyLjUgMTUuMSAyMi45IDQuNCAuNCA5LjMgLjkgMTguNyAyNC4yLTIuNy0uOS01LjUtMS45LTkuNC03LjItLjUgNC4xIDUuOCAxNi4zIDEzLjEgMjUuOGwtMy4xIDMuNmMyLjEgMy43IDQuOCA2LjIgNy42IDguOCAxIC45IDIuMSAxLjkgMy4xIDIuOS0xMS45LTYuNSAzLjIgMTMuNyAxMS45IDI1LjIgLjggMS4xIDEuNSAyIDIuMiAyLjkgMS40IDEuOSAyLjUgMy40IDIuOSA0LjFsMi40LTQuMmMtLjMgNi4xIDQuMyAxMy45IDEzLjEgMjQuN2w3LjMtLjNjMyA2IDE0IDE2LjcgMjAuNyAxNy4ybC00LjQgNS44YzguMSAyLjYgMTAuMyA0LjMgMTIuNyA2LjIgMi42IDIuMSA1LjQgNC4zIDE2LjEgOC4xbC00LjItNy40YzMuNSAzIDYuMiA1LjkgOC44IDguN2wuMSAuMWM1LjIgNS42IDkuOSAxMC42IDE5LjcgMTUuMyAxMC43IDMuNyAxNi42IDQuNyAyMi43IDUuOCAuMyAwIC42IC4xIC45IC4xIDUuNCAuOCAxMS4yIDEuOCAyMC44IDQuNS0xLjEtLjEtMi4yLS4xLTMuMy0uMS0yLjMtLjEtNC43LS4xLTctLjEtMTQuNC0uMi0yOS4yLS40LTQyLjctNS4yLTk2LjYtMjUuNy0xODQuOS0xMzktMTc4LjQtMjU1LjYtLjYtOS45LS4zLTIwLjkgMC0zMC43IC40LTEzLjUgLjctMjQuOC0xLjYtMjguM2wxLTMuMWM1LjMtMTcuNCAxMS43LTM4LjIgMjMuOC02Mi44bC0uMS0uMiAwLS4xYy40IC40IDMuNCAzLjQgOC44LTUuOCAuOC0xLjggMS42LTMuNyAyLjQtNS42IC41LTEuMSAuOS0yLjIgMS40LTMuMiAyLjUtNi4xIDUuMS0xMi4zIDguNC0xNy45bDIuNi0uNmMxLjctMTAuMSAxNy0yMy44IDI5LjgtMzUuMmwxLjEtMWM1LjctNS4xIDEwLjctOS43IDEzLjYtMTMuMWwuNyA0LjRjMTctMTUuOSA0NC42LTI3LjUgNjUuNi0zNi40bC41LS4yYzQuOC0yIDkuMy0zLjkgMTMuMy01LjctMy40IDMuOCAyLjIgMi43IDEwIDEgNC44LTEgMTAuNC0yLjEgMTUuMy0yLjRsLTMuOSAyLjFjLTIuNyAxLjQtNS40IDIuOC04IDQuNiA4LjEtMiAxMS43LTEuNCAxNS43LS44bC4zIDBjMy41IC42IDcuMyAxLjIgMTQuNiAuMi01LjYgLjgtMTIuMyAzLTExLjIgMy44IDcuOSAuOSAxMi44LS4xIDE3LjItMWwuMiAwYzUuNS0xLjEgMTAuMy0yIDE5LjMgLjlsLTEtNC44YzcuMyAyLjYgMTIuNyA0LjMgMTcuNSA1LjhsLjUgLjFjMTAgMyAxNy42IDUuMyAzNC4yIDE0LjEgMy4yIC4yIDUuMy0uNSA3LjQtMS4ybC4xIDBjMy42LTEuMSA3LTIuMSAxNS4yIDEuMiAuMyAuNSAuNSAxIC43IDEuNCAuMSAuMiAuMiAuNSAuMyAuN2wwIC4xYzEgMi42IDEuOCA0LjYgMTQuNiAxMi4xIDEuNy0uNy0yLjctNC43LTYuNC04LjJsLS4xLS4xYy0uMi0uMS0uMy0uMy0uNS0uNCAzMi4yIDE3LjMgNjcuMyA1NC4xIDc4IDkzLjUtNi0xMS4xLTUuMi01LjUtNC4zIC41IC42IDQgMS4yIDguMS0uMiA3LjUgNC41IDEyLjEgOC4xIDI0LjUgMTAuNCAzNy40bC0uOC0yLjktLjEtLjNjLTMuMy0xMS45LTkuNi0zNC4zLTE5LjktNDkuMy0uNCA0LjMtMi44IDMuOS01LjIgMy41bC0uMSAwYy0zLjMtLjYtNi4yLTEuMS0xLjkgMTIuNiAyLjYgMy44IDMuMSAyLjQgMy41IDEuMSAuNS0xLjUgLjktMi43IDQuNyA1LjIgLjEgNC4xIDEgOC4yIDIuMSAxMi43bC4xIC42Yy4xIC4zIC4xIC41IC4yIC44bC4xIC42Yy42IDIuNiAxLjMgNS40IDEuOCA4LjQtMS4xLS4yLTIuMy0yLjItMy40LTQuMi0xLjQtMi40LTIuOC00LjctMy43LTMuMiAyLjQgMTEuNSA2LjUgMTcuNCA4IDE4LjMtLjMgLjYtLjYgLjctMS4xIC43LS44IDAtMS44IC4xLTEuOSA1LjMgLjcgMTMuNyAzLjMgMTIuNSA1LjMgMTEuNiAuNi0uMyAxLjItLjYgMS43LS40LS42IDIuNS0xLjYgNS4xLTIuNyA3LjktMi44IDcuMS02IDE1LjQtMy40IDI2LjEtLjgtMy0yLTYtMy4xLTguOWwtLjEtLjRjLS4yLS41LS40LTEtLjYtMS41LS4zLS44LS42LTEuNi0uOS0yLjMtLjYgNC40LS4zIDcuNy0uMSAxMC42bDAgLjdjLjQgNS4zIC43IDEwLTMgMTkuOSA0LjMtMTQuMiAzLjgtMjYuOS0uMi0yMC44IDEgMTAuOS0zLjcgMjAuNC04IDI4LjlsLS4xIC4yYy0zLjYgNy4xLTYuOCAxMy41LTUuOSAxOS4zbC01LjItNy4xYy03LjUgMTAuOS03IDEzLjMtNi41IDE1LjVsMCAuMWMuNSAxLjkgMSAzLjgtMy40IDEwLjggMS43LTIuOSAxLjMtMy42IDEtNC4yLS40LS44LS43LTEuNSAxLjctNS4xLTEuNiAuMS01LjUgMy45LTEwLjEgOC41LTMuOSAzLjktOC41IDguNC0xMi44IDExLjgtMzcuNSAzMC4xLTgyLjMgMzQtMTI1LjYgMTcuOCAuMi0xLS4yLTIuMS0zLjEtNC4xLTM2LjgtMjguMi01OC41LTUyLjEtNTAuOS0xMDcuNSAyLjEtMS42IDMuNi01LjggNS4zLTEwLjhsLjItLjQgLjEtLjMgMC0uMWMyLjktOC40IDYuNS0xOC44IDE0LjMtMjMuOCA3LjgtMTcuMyAzMS4zLTMzLjMgNTYuNC0zMy43IDI1LjYtMS40IDQ3LjIgMTMuNyA1OC4xIDI3LjktMTkuOC0xOC40LTUyLjEtMjQtNzkuNy0xMC40LTI4LjIgMTIuNy00NSA0My44LTQyLjUgNzQuNyAuMy0uNCAuNi0uNiAuOS0uOGwuMi0uMmMuNi0uNSAxLjEtLjkgMS40LTMuMy0uOSA2MC4yIDY0LjggMTA0LjMgMTEyLjEgODJsLjYgMS4zYzEyLjctMy41IDE1LjktNi41IDIwLjMtMTAuN2wuMS0uMWMyLjItMi4xIDQuNy00LjUgOC45LTcuMy0uMyAuNy0xLjMgMS43LTIuNCAyLjctMi4yIDIuMS00LjYgNC41LTEuNiA0LjYgNS0xLjMgMTguNS0xMy40IDI4LjUtMjIuMyAuNi0uNSAxLjItMSAxLjctMS41IDEuNS0xLjMgMi44LTIuNSA0LTMuNmwuMy0uM2MxLjktNC4yIDEuNi01LjYgMS4zLTdsMC0uMWMtLjQtMS42LS44LTMuMyAyLjQtOS42bDcuMy0zLjdjLjgtMi4xIDEuNS00LjEgMi4yLTYgLjItLjYgLjUtMS4yIC43LTEuOGwtLjQtLjItLjEtLjF6TTI0OCAzMzQuMWMtNi0zLTEzLjctOC45LTE0LjgtMTEuNGwtLjQgLjNjLS4zIC42LS41IDEuMy0uMiAyLjItMTIuMi01LjctMjMuNC0xNC4zLTMyLjYtMjQuOSA0LjkgNy4xIDEwLjEgMTQuMSAxNyAxOS41LTYuOS0yLjMtMTUuMS0xMS44LTIxLjYtMTkuM2wtLjEtLjFjLTQuMy01LTcuOS05LjEtOS43LTkuNSAxOS44IDM1LjUgODAuNSA2Mi4zIDExMi4zIDQ5LTE0LjcgLjUtMzMuNCAuMy00OS45LTUuOHptNzkuMy0xMTkuN2wtLjEtLjJjLS41LTEuNS0xLjEtMy4xLTEuNy0zLjQgMS40LTUuOCA1LjQtMTAuNyA0LjQgNC42LTEgMy44LTEuOCAxLjUtMi42LTF6bS00LjIgMjIuMmMtMS4zIDcuOS01IDE1LjUtMTAuMSAyMi41IC4yLTItMS4yLTIuNC0yLjYtMi44LTIuOS0uOC01LjktMS42IDUuNi0xNi4xLS41IDEuOS0yLjEgNC42LTMuNyA3LjNsLS4zIC40Yy0zLjYgNS45LTYuNyAxMSA0IDQuM2wxLTEuOGMyLjYtNC41IDUtOC44IDYtMTMuOGwuMSAwem0tNTUuNiAzMy45YzcuMSAuNiAxNC4xIC42IDIxLTEuMS0yLjUgMi40LTUuMiA0LjgtOC4zIDcuMi0xMS4xLTEuNy0yMS4yLTYtMTIuNy02LjF6bS05Mi42IDExLjZjMy42IDcuMSA2LjQgMTEuNSA5IDE1LjdsLjEgLjJjMi4zIDMuNyA0LjQgNy4xIDYuOCAxMS43LTUuMS00LjItOC43LTkuNS0xMi41LTE1bC0uMy0uNWMtMS40LTIuMS0yLjgtNC4yLTQuNC02LjJsMS4yLTUuOSAuMSAwem03LjUtOS42YzEuNiAzLjMgMy4yIDYuNCA1LjcgOS4xbDIuNiA3LjctMS4zLTIuMWMtMy4yLTUuMy02LjMtMTAuNi04LTE2LjdsMSAyem0yMzguOS00MS42Yy0yLjMgMTcuNC03LjcgMzQuNi0xNiA1MC4zIDcuNi0xNC45IDEyLjUtMzAuOSAxNC44LTQ3LjJsMS4yLTMuMXpNMzUuOCAxMTAuNmMuNCAuOCAxLjQgLjUgMi4zIC4zIDEuOS0uNSAzLjYtLjktLjEgNy42LS41IC4zLTEgLjctMS41IDEtMS40IC45LTIuOCAxLjktMy45IDMgMS45LTMuOCAzLjUtNy40IDMuMi0xMS45ek0yNS41IDE1Mi4zYy0uNyAzLjctMS41IDcuOS0zLjQgMTMuOSAuMi0xLjkgMC0zLjUtLjItNC45bDAtLjFjLS40LTMuNC0uNy02LjMgNC4zLTEyLjgtLjMgMS4yLS41IDIuNS0uNyAzLjhsMCAuMXoiXX0seXd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1hc3RvZG9uIixpY29uOls0NDgsNTEyLFtdLCJmNGY2IiwiTTQzMyAxNzkuMWMwLTk3LjItNjMuNy0xMjUuNy02My43LTEyNS43LTYyLjUtMjguNy0yMjguNi0yOC40LTI5MC41IDAgMCAwLTYzLjcgMjguNS02My43IDEyNS43IDAgMTE1LjctNi42IDI1OS40IDEwNS42IDI4OS4xIDQwLjUgMTAuNyA3NS4zIDEzIDEwMy4zIDExLjQgNTAuOC0yLjggNzkuMy0xOC4xIDc5LjMtMTguMWwtMS43LTM2LjlzLTM2LjMgMTEuNC03Ny4xIDEwLjFjLTQwLjQtMS40LTgzLTQuNC04OS42LTU0LS42LTQuNi0uOS05LjMtLjktMTMuOSA4NS42IDIwLjkgMTU4LjcgOS4xIDE3OC43IDYuNyA1Ni4xLTYuNyAxMDUtNDEuMyAxMTEuMi03Mi45IDkuOC00OS44IDktMTIxLjUgOS0xMjEuNXpNMzU3LjkgMzA0LjNsLTQ2LjYgMCAwLTExNC4yYzAtNDkuNy02NC01MS42LTY0IDYuOWwwIDYyLjUtNDYuMyAwIDAtNjIuNWMwLTU4LjUtNjQtNTYuNi02NC02LjlsMCAxMTQuMi00Ni43IDBjMC0xMjIuMS01LjItMTQ3LjkgMTguNC0xNzUgMjUuOS0yOC45IDc5LjgtMzAuOCAxMDMuOCA2LjFsMTEuNiAxOS41IDExLjYtMTkuNWMyNC4xLTM3LjEgNzguMS0zNC44IDEwMy44LTYuMSAyMy43IDI3LjMgMTguNCA1MyAxOC40IDE3NWwwIDB6Il19LHd3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJza2V0Y2giLGljb246WzUxMiw1MTIsW10sImY3YzYiLCJNMjcuOCAxNjIuMmwtMTguNSAyNC45IDkwLjUgMCA2LjktMTMwLjctNzguOSAxMDUuOHpNMzk2LjYgNDUuN0wyNjggMzIgNDAzLjcgMTc5LjIgMzk2LjYgNDUuN3pNMTEyLjUgMjE4LjNsLTExLjItMjItOTEuMSAwIDIyNC45IDI2MS43LTEyMi42LTIzOS43em0yLTMxLjJsMjg0IDBDMzQwLjYgMTI0LjMgMjkzLjMgNzIuOSAyNTYuNiAzM0wxMTQuNSAxODcuMXptMjk3LjMgOS4xbC0xMzMuOSAyNjEuOCAyMjQuOC0yNjEuNy05MC45IDAgMC0uMXpNNDE1LjcgNjlsLTkuNC0xMi42IC45IDE3LjMgNi4xIDExMy40IDkwLjMgMC04Ny45LTExOC4xek0xMTMuOCA5My41TDEwOS4yIDE3OS4xIDI0NSAzMiAxMTYuNCA0NS43IDExMy44IDkzLjV6TTQwMS41IDE5Ni4ybC0yOTAgMGMxOC4yIDM1LjYgNjYuNiAxMzAuMiAxNDUuMSAyODMuOEw0MDEuNSAxOTYuMnoiXX0sTXd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndlYi1hd2Vzb21lIixpY29uOls2NDAsNTEyLFtdLCJlNjgyIiwiTTM3Mi4yIDUyYzAgMjAuOS0xMi40IDM5LTMwLjIgNDcuMkw0NDggMTkyIDU1Mi40IDE3MS4xYy01LjMtNy43LTguNC0xNy4xLTguNC0yNy4xIDAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhjMCAyNi0yMC42IDQ3LjEtNDYuNCA0OEw0ODEgNDQyLjNjLTEwLjMgMjMtMzMuMiAzNy43LTU4LjQgMzcuN2wtMjA1LjIgMGMtMjUuMiAwLTQ4LTE0LjgtNTguNC0zNy43TDQ2LjQgMTkyQzIwLjYgMTkxLjEgMCAxNzAgMCAxNDQgMCAxMTcuNSAyMS41IDk2IDQ4IDk2czQ4IDIxLjUgNDggNDhjMCAxMC4xLTMuMSAxOS40LTguNCAyNy4xTDE5MiAxOTIgMjk4LjEgOTkuMWMtMTcuNy04LjMtMzAtMjYuMy0zMC00Ny4xIDAtMjguNyAyMy4zLTUyIDUyLTUyczUyIDIzLjMgNTIgNTJsLjEgMHoiXX0sa3d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNhc3MiLGljb246WzY0MCw1MTIsW10sImY0MWUiLCJNMzAxLjggMzc4LjlsMCAwem0yNDkuMS04N2MtMjAuMSAwLTQwIDQuNi01OCAxMy41LTUuOS0xMS45LTEyLTIyLjMtMTMtMzAuMS0xLjItOS4xLTIuNS0xNC41LTEuMS0yNS4zczcuNy0yNi4xIDcuNi0yNy4yLTEuNC02LjYtMTQuMy02LjctMjQgMi41LTI1LjMgNS45Yy0yLjMgNi4yLTQuMSAxMi42LTUuMyAxOS4xLTIuMyAxMS43LTI1LjggNTMuNS0zOS4xIDc1LjMtNC40LTguNS04LjEtMTYtOC45LTIyLTEuMi05LjEtMi41LTE0LjUtMS4xLTI1LjNzNy43LTI2LjEgNy42LTI3LjItMS40LTYuNi0xNC4zLTYuNy0yNCAyLjUtMjUuMyA1LjktMi43IDExLjQtNS4zIDE5LjEtMzMuOSA3Ny4zLTQyLjEgOTUuNGMtNC4yIDkuMi03LjggMTYuNi0xMC40IDIxLjYtLjQgLjgtLjcgMS4zLS45IDEuNyAuMy0uNSAuNS0xIC41LS44LTIuMiA0LjMtMy41IDYuNy0zLjUgNi43bDAgLjFjLTEuNyAzLjItMy42IDYuMS00LjUgNi4xLS42IDAtMS45LTguNCAuMy0xOS45IDQuNy0yNC4yIDE1LjgtNjEuOCAxNS43LTYzLjEtLjEtLjcgMi4xLTcuMi03LjMtMTAuNy05LjEtMy4zLTEyLjQgMi4yLTEzLjIgMi4ycy0xLjQgMi0xLjQgMiAxMC4xLTQyLjQtMTkuNC00Mi40Yy0xOC40IDAtNDQgMjAuMi01Ni42IDM4LjUtNy45IDQuMy0yNSAxMy42LTQzIDIzLjUtNi45IDMuOC0xNCA3LjctMjAuNyAxMS40LS41LS41LS45LTEtMS40LTEuNS0zNS44LTM4LjItMTAxLjktNjUuMi05OS4xLTExNi41IDEtMTguNyA3LjUtNjcuOCAxMjcuMS0xMjcuNCA5OC00OC44IDE3Ni4zLTM1LjQgMTg5LjgtNS42IDE5LjQgNDIuNS00MS45IDEyMS42LTE0My43IDEzMy0zOC44IDQuMy01OS4yLTEwLjctNjQuMy0xNi4zLTUuMy01LjktNi4xLTYuMi04LjEtNS4xLTMuMyAxLjgtMS4yIDcgMCAxMC4xIDMgNy45IDE1LjUgMjEuOSAzNi44IDI4LjkgMTguNyA2LjEgNjQuMiA5LjUgMTE5LjItMTEuOCA2MS44LTIzLjggMTA5LjktOTAuMSA5NS44LTE0NS42LTE0LjQtNTYuNC0xMDcuOS03NC45LTE5Ni4zLTQzLjUtNTIuNyAxOC43LTEwOS43IDQ4LjEtMTUwLjcgODYuNC00OC43IDQ1LjYtNTYuNSA4NS4zLTUzLjMgMTAxLjkgMTEuNCA1OC45IDkyLjYgOTcuMyAxMjUuMSAxMjUuNy0xLjYgLjktMy4xIDEuNy00LjUgMi41LTE2LjMgOC4xLTc4LjIgNDAuNS05My43IDc0LjctMTcuNSAzOC44IDIuOSA2Ni42IDE2LjMgNzAuNCA0MS44IDExLjYgODQuNi05LjMgMTA3LjYtNDMuNnMyMC4yLTc5LjEgOS42LTk5LjVjLS4xLS4zLS4zLS41LS40LS44IDQuMi0yLjUgOC41LTUgMTIuOC03LjUgOC4zLTQuOSAxNi40LTkuNCAyMy41LTEzLjMtNCAxMC44LTYuOSAyMy44LTguNCA0Mi42LTEuOCAyMiA3LjMgNTAuNSAxOS4xIDYxLjcgNS4yIDQuOSAxMS41IDUgMTUuNCA1IDEzLjggMCAyMC0xMS40IDI2LjktMjUgOC41LTE2LjYgMTYtMzUuOSAxNi0zNS45cy05LjQgNTIuMiAxNi4zIDUyLjJjOS40IDAgMTguOC0xMi4xIDIzLTE4LjNsMCAuMXMuMi0uNCAuNy0xLjJjMS0xLjUgMS41LTIuNCAxLjUtMi40bDAtLjNjMy44LTYuNSAxMi4xLTIxLjQgMjQuNi00NiAxNi4yLTMxLjggMzEuNy03MS41IDMxLjctNzEuNSAxLjUgOC43IDMuNiAxNy4zIDYuMiAyNS44IDIuOCA5LjUgOC43IDE5LjkgMTMuNCAzMC0zLjggNS4yLTYuMSA4LjItNi4xIDguMiAwIC4xIDAgLjEgLjEgLjItMyA0LTYuNCA4LjMtOS45IDEyLjUtMTIuOCAxNS4yLTI4IDMyLjYtMzAgMzcuNi0yLjQgNS45LTEuOCAxMC4zIDIuOCAxMy43IDMuNCAyLjYgOS40IDMgMTUuNyAyLjUgMTEuNS0uOCAxOS42LTMuNiAyMy41LTUuNCA3LjItMi42IDE0LTYuMSAyMC4yLTEwLjYgMTIuNS05LjIgMjAuMS0yMi40IDE5LjQtMzkuOC0uNC05LjYtMy41LTE5LjItNy4zLTI4LjIgMS4xLTEuNiAyLjMtMy4zIDMuNC01IDE5LjgtMjguOSAzNS4xLTYwLjYgMzUuMS02MC42IDEuNSA4LjcgMy42IDE3LjMgNi4yIDI1LjggMi40IDguMSA3LjEgMTcgMTEuNCAyNS43LTE4LjYgMTUuMS0zMC4xIDMyLjYtMzQuMSA0NC4xLTcuNCAyMS4zLTEuNiAzMC45IDkuMyAzMy4xIDQuOSAxIDExLjktMS4zIDE3LjEtMy41IDcuNy0yLjYgMTUtNi4zIDIxLjYtMTEuMSAxMi41LTkuMiAyNC42LTIyLjEgMjMuOC0zOS42LS4zLTcuOS0yLjUtMTUuOC01LjQtMjMuNCAxNS43LTYuNiAzNi4xLTEwLjIgNjIuMS03LjIgNTUuNyA2LjUgNjYuNiA0MS4zIDY0LjUgNTUuOHMtMTMuOCAyMi42LTE3LjcgMjUtNS4xIDMuMy00LjggNS4xYy41IDIuNiAyLjMgMi41IDUuNiAxLjkgNC42LS44IDI5LjItMTEuOCAzMC4zLTM4LjcgMS42LTM0LTMxLjEtNzEuNC04OS03MS4xbDAgMHpNMTIxLjggNDM2LjZjLTE4LjQgMjAuMS00NC4yIDI3LjctNTUuMyAyMS4zLTExLjktNi45LTcuMi0zNi41IDE1LjUtNTcuOSAxMy44LTEzIDMxLjYtMjUgNDMuNC0zMi40IDIuNy0xLjYgNi42LTQgMTEuNC02LjkgLjgtLjUgMS4yLS43IDEuMi0uNyAuOS0uNiAxLjktMS4xIDIuOS0xLjcgOC4zIDMwLjQgLjMgNTcuMi0xOS4xIDc4LjNsMCAwem0xMzQuNC05MS40Yy02LjQgMTUuNy0xOS45IDU1LjctMjguMSA1My42LTctMS44LTExLjMtMzIuMy0xLjQtNjIuMyA1LTE1LjEgMTUuNi0zMy4xIDIxLjktNDAuMSAxMC4xLTExLjMgMjEuMi0xNC45IDIzLjgtMTAuNCAzLjUgNS45LTEyLjIgNDkuNC0xNi4yIDU5LjJ6bTExMSA1M2MtMi43IDEuNC01LjIgMi4zLTYuNCAxLjYtLjktLjUgMS4xLTIuNCAxLjEtMi40czEzLjktMTQuOSAxOS40LTIxLjdjMy4yLTQgNi45LTguNyAxMC45LTEzLjkgMCAuNSAuMSAxIC4xIDEuNi0uMSAxNy45LTE3LjMgMzAtMjUuMSAzNC44bDAgMHptODUuNi0xOS41Yy0yLTEuNC0xLjctNi4xIDUtMjAuNyAyLjYtNS43IDguNi0xNS4zIDE5LTI0LjUgMS4yIDMuNSAxLjggNy4xIDEuOSAxMC44LS4xIDIyLjUtMTYuMiAzMC45LTI1LjkgMzQuNGwwIDB6Il19LFN3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aHJlZW1hIixpY29uOlszODQsNTEyLFtdLCJlODVmIiwiTTg3LjQgNDQ1LjFjMTguNSAwIDMzLjUgMTUgMzMuNSAzMy40UzEwNS45IDUxMiA4Ny40IDUxMiA1NCA0OTcgNTQgNDc4LjUgNjkgNDQ1LjEgODcuNCA0NDUuMXptMTA5LjIgMGMxOC41IDAgMzMuNSAxNSAzMy41IDMzLjRzLTE1IDMzLjUtMzMuNSAzMy41LTMzLjQtMTUtMzMuNC0zMy41IDE1LTMzLjQgMzMuNC0zMy40em0xMDkuMyAwYzE4LjUgMCAzMy41IDE1IDMzLjUgMzMuNHMtMTUgMzMuNS0zMy41IDMzLjUtMzMuNS0xNS0zMy41LTMzLjUgMTUtMzMuNCAzMy41LTMzLjR6TTE5Mi4zIC4zYzEwOS44IDAgMTk5LjIgODkuMyAxOTkuMiAxOTkuMVMzMDIuMiAzOTguNSAxOTIuNCAzOTguNWMtNDAuNSAwLTc4LjEtMTIuMS0xMDkuNi0zMi45bC03Ni41IDI0LjUgMjQuOC03NEM3LjMgMjgzLjQtNi44IDI0My02LjggMTk5LjQtNi44IDg5LjcgODIuNSAuMyAxOTIuMyAuM3ptLjEgOTMuN2MtMzEuNiAwLTU3LjMgMjUuOC01Ny4zIDU3LjNsMCAyNi43LTEuOCAwYy0xMCAwLTE4IDgtMTggMThsMCA3Mi4zYzAgMTAgOCAxOCAxOCAxOGwxMTguMSAwYzEwIDAgMTgtOCAxOC0xOGwuMSAwIDAtNzIuM2MwLTEwLTguMS0xOC0xOC0xOGwtMS44IDAgMC0yNi43YzAtMzEuNi0yNS44LTU3LjMtNTcuMy01Ny4zem0tLjEgMjMuNWMxOC42IDAgMzMuOCAxNS4xIDMzLjggMzMuOGwwIDI2LjctNjcuNiAwIDAtMjYuN2MwLTE4LjYgMTUuMS0zMy44IDMzLjgtMzMuOHoiXX0sUnVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS13aGF0c2FwcCIsaWNvbjpbNDQ4LDUxMixbIndoYXRzYXBwLXNxdWFyZSJdLCJmNDBjIiwiTTkyLjEgMjU0LjZjMCAyNC45IDcgNDkuMiAyMC4yIDcwLjFsMy4xIDUtMTMuMyA0OC42IDQ5LjktMTMuMSA0LjggMi45YzIwLjIgMTIgNDMuNCAxOC40IDY3LjEgMTguNGwuMSAwYzcyLjYgMCAxMzMuMy01OS4xIDEzMy4zLTEzMS44IDAtMzUuMi0xNS4yLTY4LjMtNDAuMS05My4yLTI1LTI1LTU4LTM4LjctOTMuMi0zOC43LTcyLjcgMC0xMzEuOCA1OS4xLTEzMS45IDEzMS44ek0yNzQuOCAzMzBjLTEyLjYgMS45LTIyLjQgLjktNDcuNS05LjktMzYuOC0xNS45LTYxLjgtNTEuNS02Ni45LTU4LjctLjQtLjYtLjctLjktLjgtMS4xLTItMi42LTE2LjItMjEuNS0xNi4yLTQxIDAtMTguNCA5LTI3LjkgMTMuMi0zMi4zIC4zLS4zIC41LS41IC43LS44IDMuNi00IDcuOS01IDEwLjYtNSAyLjYgMCA1LjMgMCA3LjYgLjFsLjggMGMyLjMgMCA1LjIgMCA4LjEgNi44IDEuMiAyLjkgMyA3LjMgNC45IDExLjggMy4zIDggNi43IDE2LjMgNy4zIDE3LjYgMSAyIDEuNyA0LjMgLjMgNi45LTMuNCA2LjgtNi45IDEwLjQtOS4zIDEzLTMuMSAzLjItNC41IDQuNy0yLjMgOC42IDE1LjMgMjYuMyAzMC42IDM1LjQgNTMuOSA0Ny4xIDQgMiA2LjMgMS43IDguNi0xIDIuMy0yLjYgOS45LTExLjYgMTIuNS0xNS41IDIuNi00IDUuMy0zLjMgOC45LTJzMjMuMSAxMC45IDI3LjEgMTIuOWMuOCAuNCAxLjUgLjcgMi4xIDEgMi44IDEuNCA0LjcgMi4zIDUuNSAzLjYgLjkgMS45IC45IDkuOS0yLjQgMTkuMS0zLjMgOS4zLTE5LjEgMTcuNy0yNi43IDE4Ljh6TTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0xNDguMSAzOTMuOUw2NCA0MTYgODYuNSAzMzMuOGMtMTMuOS0yNC0yMS4yLTUxLjMtMjEuMi03OS4zIC4xLTg3LjQgNzEuMi0xNTguNSAxNTguNi0xNTguNSA0Mi40IDAgODIuMiAxNi41IDExMi4yIDQ2LjUgMjkuOSAzMCA0Ny45IDY5LjggNDcuOSAxMTIuMiAwIDg3LjQtNzIuNyAxNTguNS0xNjAuMSAxNTguNS0yNi42IDAtNTIuNy02LjctNzUuOC0xOS4zeiJdfSx6d3Q9UnVlLEN3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJza3lwZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjE3ZSIsIk00MjQuNyAyOTkuOGMyLjktMTQgNC43LTI4LjkgNC43LTQzLjggMC0xMTMuNS05MS45LTIwNS4zLTIwNS4zLTIwNS4zLTE0LjkgMC0yOS43IDEuNy00My44IDQuNy0xOS0xNC43LTQyLjYtMjMuNC02OC4zLTIzLjQtNjEuOCAwLTExMiA1MC4yLTExMiAxMTIgMCAyNS43IDguNyA0OS4zIDIzLjMgNjguMi0yLjkgMTQtNC43IDI4LjktNC43IDQzLjggMCAxMTMuNSA5MS45IDIwNS4zIDIwNS4zIDIwNS4zIDE0LjkgMCAyOS43LTEuNyA0My44LTQuNyAxOSAxNC42IDQyLjYgMjMuMyA2OC4yIDIzLjMgNjEuOCAwIDExMi01MC4yIDExMi0xMTIgLjEtMjUuNi04LjYtNDkuMi0yMy4yLTY4LjF6TTIzMC4xIDM5MS4zYy02NS42IDAtMTIwLjUtMjkuMi0xMjAuNS02NSAwLTE2IDktMzAuNiAyOS41LTMwLjYgMzEuMiAwIDM0LjEgNDQuOSA4OC4xIDQ0LjkgMjUuNyAwIDQyLjMtMTEuNCA0Mi4zLTI2LjMgMC0xOC43LTE2LTIxLjYtNDItMjgtNjIuNS0xNS40LTExNy44LTIyLTExNy44LTg3LjIgMC01OS4yIDU4LjYtODEuMSAxMDkuMS04MS4xIDU1LjEgMCAxMTAuOCAyMS45IDExMC44IDU1LjQgMCAxNi45LTExLjQgMzEuOC0zMC4zIDMxLjgtMjguMyAwLTI5LjItMzMuNS03NS0zMy41LTI1LjcgMC00MiA3LTQyIDIyLjUgMCAxOS44IDIwLjggMjEuOCA2OS4xIDMzIDQxLjQgOS4zIDkwLjcgMjYuOCA5MC43IDc3LjYgMCA1OS4xLTU3LjEgODYuNS0xMTIgODYuNXoiXX0sX3d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFuZ3VsYXIiLGljb246WzQ0OCw1MTIsW10sImY0MjAiLCJNMTg1LjcgMjY4LjFsNzYuMiAwLTM4LjEtOTEuNi0zOC4xIDkxLjZ6TTIyMy44IDMyTDE2IDEwNi40IDQ3LjggMzgyLjEgMjIzLjggNDgwIDM5OS44IDM4Mi4xIDQzMS42IDEwNi40IDIyMy44IDMyek0zNTQgMzczLjhsLTQ4LjYgMC0yNi4yLTY1LjQtMTEwLjYgMC0yNi4yIDY1LjQtNDguNyAwIDEzMC4xLTI5Mi4zIDEzMC4yIDI5Mi4zeiJdfSxUd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2lyY2xlLXp1bGlwIixpY29uOls1MTIsNTEyLFtdLCJlODUxIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMSAwLTUxMiAyNTYgMjU2IDAgMSAxIDAgNTEyek0yNDMuNSAyNDBjMS4yLTEuOS0uOS00LjItMi42LTIuOGwtODkgNzkuNWMtOS4yIDcuMi0xNS4yIDE5LjEtMTUuMiAzMi41IDAgMjEuOSAxNiAzOS44IDM1LjcgMzkuOGwxNjcuMyAwYzE5LjYgMCAzNS43LTE3LjkgMzUuNy0zOS44IDAtMjEuOS0xNi4xLTM5LjctMzUuNy0zOS44bC0xMjYuNiAwYy0xLjkgMC0zLTIuMy0yLjEtNC4xTDI0My41IDI0MHpNMTcyLjQgMTIzLjFjLTE5LjYgMC0zNS43IDE3LjktMzUuNyAzOS44czE2IDM5LjggMzUuNyAzOS44bDEyNi42IDBjMS45IDAgMy4xIDIuMiAyLjIgNC4xTDI2OC41IDI3MmMtMS4yIDEuOSAuOSA0LjIgMi42IDIuOGw4OS03OS41YzkuMi03LjIgMTUuMi0xOS4xIDE1LjItMzIuNSAwLTIxLjktMTYtMzkuNy0zNS43LTM5LjhsLTE2Ny4zIDB6Il19LEx3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvcGVuc3VzZSIsaWNvbjpbNjQwLDUxMixbXSwiZTYyYiIsIk00NzEuMSAxMDIuN3MtLjMgMTguMy0uMyAyMC4zYy05LjEtMy03NC40LTI0LjEtMTM1LjctMjYuMy01MS45LTEuOC0xMjIuOC00LjMtMjIzIDU3LjMtMTkuNCAxMi40LTczLjkgNDYuMS05OS42IDEwOS43LTUuNSAxMy4zLTEyLjYgNDMuMy01LjUgNzEuNCAzLjMgMTIuOCA4LjkgMjQuOSAxNi41IDM1LjcgMTcuNCAyNSA0Ni42IDQxLjYgNzguMSA0NC40IDQ0LjQgMy45IDc4LjEtMTYgOTAtNTMuMyA4LjItMjUuOCAwLTYzLjYtMzEuNS04Mi45LTI1LjYtMTUuNy01My4zLTEyLjEtNjkuMi0xLjYtMTMuOSA5LjItMjEuOCAyMy41LTIxLjYgMzkuMiAuMyAyNy44IDI0LjMgNDIuNiA0MS41IDQyLjYgNS40IDAgMTAuNy0uOSAxNS44LTIuNyA2LjUtMS44IDEzLjMtNi41IDEzLjMtMTQuOSAwLTEyLjEtMTEuNi0xNC44LTE2LjgtMTMuOS0yLjkgLjUtNC41IDItMTEuOCAyLjQtMi0uMi0xMi0zLjEtMTItMTRsMC0uMWMuMi0xMi4zIDEzLjItMTggMjUuNS0xNi45IDMyLjMgMi44IDQ3LjcgNDAuNyAyOC41IDY1LjctMTguMyAyMy43LTc2LjYgMjMuMi05OS43LTIwLjQtMjYtNDkuMiAxMi43LTExMS4yIDg3LTk4LjQgMzMuMiA1LjcgODMuNiAzNS41IDEwMi40IDEwNC4zbDQ1LjkgMGMtNS43LTE3LjYtOC45LTY4LjMgNDIuNy02OC4zIDU2LjcgMCA2My45IDM5LjkgNzkuOCA2OC4zbDQ4LjYgMGMtMTIuOC0xOC4zLTIxLjctMzguNy0xOC45LTU1LjggNS42LTMzLjggMzkuNy0xOC40IDgyLjQtMTcuNCA2Ni41IC40IDEwMi4xLTI3IDEwMy4xLTI4IDMuNy0zLjEgNi41LTE1LjggNy0xNy43IDEuMy01LjEtMy4yLTIuNC0zLjItMi40LTguNyA1LjItMzAuNSAxNS4yLTUwLjkgMTUuNi0yNS4zIC41LTc2LjItMjUuNC04MS42LTI4LjItLjMtLjQgLjEgMS4yLTExLTI1LjUgODguNCA1OC4zIDExOC4zIDQwLjUgMTQ1LjIgMjEuNyAuOC0uNiA0LjMtMi45IDMuNi01LjctMTMuOC00OC4xLTIyLjQtNjIuNy0zNC41LTY5LjYtMzctMjEuNi0xMjUtMzQuNy0xMjkuMi0zNS4zIC4xLS4xLS45LS4zLS45IC43em02MC40IDcyLjhhMzcuNiAzNy42IDAgMSAxIDc1LjIgMi42IDM3LjYgMzcuNiAwIDEgMSAtNzUuMi0yLjZ6bTM4LjYtMjUuM2MtMy42LS4zLTcuMSAuMS0xMC41IDEuMnMtNi41IDIuOS05LjIgNS4zLTQuOCA1LjMtNi4zIDguNS0yLjQgNi43LTIuNSAxMC4zIC41IDcuMSAxLjggMTAuNCAzLjMgNi4zIDUuOCA4LjkgNS41IDQuNSA4LjggNS45IDYuOSAyIDEwLjQgMS45YzMuNiAuMyA3LjEtLjEgMTAuNS0xLjJzNi41LTIuOSA5LjItNS4zIDQuOC01LjMgNi4zLTguNSAyLjQtNi43IDIuNS0xMC4zLS41LTcuMS0xLjgtMTAuNC0zLjMtNi4zLTUuOC04LjktNS41LTQuNS04LjgtNS45LTYuOS0yLTEwLjQtMS45em00LjMgMjguOGMtMTUuNCAwLTE1LjQtMTUuNiAwLTE1LjZzMTUuNCAxNS42IDAgMTUuNnoiXX0sJHd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRyb3Bib3giLGljb246WzU3Niw1MTIsW10sImYxNmIiLCJNMjg4LjQgMTE2LjNsLTEzMiA4NC4zIDEzMiA4NC4zLTEzMiA4NC4zLTEzMi40LTg1LjEgMTMyLjMtODQuMy0xMzIuMy04My41IDEzMi4zLTg0LjMgMTMyLjEgODQuM3pNMTU1LjYgMzk1LjdsMTMyLTg0LjMgMTMyIDg0LjMtMTMyIDg0LjMtMTMyLTg0LjN6TTI4OC40IDI4NC4xbDEzMi04NC4zLTEzMi04My42IDEzMS4zLTg0LjIgMTMyLjMgODQuMy0xMzIuMyA4NC4zIDEzMi4zIDg0LjItMTMyLjMgODQuMy0xMzEuMy04NXoiXX0sRHd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRlZXplciIsaWNvbjpbNTEyLDUxMixbXSwiZTA3NyIsIk0xNC44IDEwMS4xQzYuNiAxMDEuMSAwIDEyNy42IDAgMTYwLjNzNi42IDU5LjIgMTQuOCA1OS4yIDE0LjgtMjYuNSAxNC44LTU5LjItNi42LTU5LjItMTQuOC01OS4yek00NDguNyA0MC45Yy03LjcgMC0xNC41IDE3LjEtMTkuNCA0NC4xLTcuNy00Ni43LTIwLjItNzctMzQuMi03Ny0xNi44IDAtMzEuMSA0Mi45LTM4IDEwNS40LTYuNi00NS40LTE2LjgtNzQuMi0yOC4zLTc0LjItMTYuMSAwLTI5LjYgNTYuOS0zNC43IDEzNi4yLTkuNC00MC44LTIzLjItNjYuMy0zOC4zLTY2LjNzLTI4LjggMjUuNS0zOC4zIDY2LjNjLTUuMS03OS4zLTE4LjYtMTM2LjItMzQuNy0xMzYuMi0xMS41IDAtMjEuNyAyOC44LTI4LjMgNzQuMi02LjYtNjIuNS0yMS4yLTEwNS40LTM3LjgtMTA1LjQtMTQgMC0yNi41IDMwLjQtMzQuMiA3Ny00LjgtMjctMTEuNy00NC4xLTE5LjQtNDQuMS0xNC4zIDAtMjYgNTkuMi0yNiAxMzIuMVM0OSAzMDUuMiA2My4zIDMwNS4yYzUuOSAwIDExLjUtOS45IDE1LjgtMjYuOCA2LjkgNjEuNyAyMS4yIDEwNC4xIDM4IDEwNC4xIDEzIDAgMjQuNS0yNS41IDMyLjEtNjUuNiA1LjQgNzYuMyAxOC42IDEzMC40IDM0LjIgMTMwLjQgOS43IDAgMTguNi0yMS40IDI1LjMtNTYuNCA3LjkgNzIuMiAyNi4zIDEyMi43IDQ3LjcgMTIyLjdzMzkuNS01MC41IDQ3LjctMTIyLjdjNi42IDM1IDE1LjYgNTYuNCAyNS4zIDU2LjQgMTUuNiAwIDI4LjgtNTQuMSAzNC4yLTEzMC40IDcuNyA0MC4xIDE5LjQgNjUuNiAzMi4xIDY1LjYgMTYuNiAwIDMwLjktNDIuMyAzOC0xMDQuMSA0LjMgMTYuOCA5LjcgMjYuOCAxNS44IDI2LjggMTQuMyAwIDI2LTU5LjIgMjYtMTMyLjFTNDYzIDQwLjkgNDQ4LjcgNDAuOXptNDguNSA2MC4yYy04LjIgMC0xNC44IDI2LjUtMTQuOCA1OS4yczYuNiA1OS4yIDE0LjggNTkuMiAxNC44LTI2LjUgMTQuOC01OS4yLTYuNi01OS4yLTE0LjgtNTkuMnoiXX0sQXd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmciLGljb246WzUxMiw1MTIsW10sImY0ZjAiLCJNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zem0zLjYgNTMuMmMyLjgtLjMgMTEuNSAxIDExLjUgMTEuNWw2LjYgMTA3LjIgNC45LTU5LjNjMC02IDQuNy0xMC42IDEwLjYtMTAuNnMxMC42IDQuNyAxMC42IDEwLjZjMCAyLjUtLjUtNS43IDUuNyA4MS41bDUuOC02NC4yYy4zLTIuOSAyLjktOS4zIDEwLjItOS4zIDMuOCAwIDkuOSAyLjMgMTAuNiA4LjlsMTEuNSA5Ni41IDUuMy0xMi44YzEuOC00LjQgNS4yLTYuNiAxMC4yLTYuNmw1OCAwIDAgMjEuMy01MC45IDAtMTguMiA0NC4zYy0zLjkgOS45LTE5LjUgOS4xLTIwLjgtMy4xbC00LTMxLjktNy41IDkyLjZjLS4zIDMtMyA5LjMtMTAuMiA5LjMtMyAwLTkuOC0yLjEtMTAuNi05LjMgMC0xLjkgLjYgNS44LTYuMi03Ny45bC01LjMgNzIuMmMtMS4xIDQuOC00LjggOS4zLTEwLjYgOS4zLTIuOSAwLTkuOC0yLTEwLjYtOS4zIDAtMS45IC41IDYuNy01LjgtODcuN0wyNTUgMzgzLjljMCA2LjMtMy42IDEyLjQtMTAuNiAxMi40LTUuMiAwLTEwLjYtNC4xLTEwLjYtMTJMMjI4IDI5Ni42Yy01LjggOTIuNS01LjMgODQtNS4zIDg1LjktMS4xIDQuOC00LjggOS4zLTEwLjYgOS4zLTMgMC05LjgtMi4xLTEwLjYtOS4zIDAtLjctLjQtMS4xLS40LTIuNmwtNi4yLTg4LjYtNC45IDU2LjdjLS43IDYuNS02LjcgOS4zLTEwLjYgOS4zLTUuOCAwLTkuNi00LjEtMTAuNi04LjlMMTU3LjcgMjcyYy0yIDQtMy41IDguNC0xMS4xIDguNGwtNTEuNCAwIDAtMjEuMyA0NC44IDAgMTMuNy0yNy45YzQuNC05LjkgMTguMi03LjIgMTkuOSAyLjdsMy4xIDIwLjQgOC40LTk3LjljMC02IDQuOC0xMC42IDEwLjYtMTAuNiAuNSAwIDEwLjYtLjIgMTAuNiAxMi40bDQuOSA2OS4xIDYuNi05Mi42YzAtMTAuMSA5LjUtMTAuNiAxMC4yLTEwLjYgLjYgMCAxMC42IC43IDEwLjYgMTAuNmw1LjMgODAuNiA2LjItOTcuOWMuMS0xLjEtLjYtMTAuMyA5LjktMTEuNXoiXX0sUHd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImplZGktb3JkZXIiLGljb246WzQ0OCw1MTIsW10sImY1MGUiLCJNMzk4LjkgMzczLjZjOTUuOS0xMjIuMSAxNy4yLTIzMy4xIDE3LjItMjMzLjEgNDUuNCA4NS44LTQxLjQgMTcwLjUtNDEuNCAxNzAuNSAxMDUtMTcxLjUtNjAuNS0yNzEuNS02MC41LTI3MS41IDk2LjkgNzIuNy0xMC4xIDE5MC43LTEwLjEgMTkwLjcgODUuOCAxNTguNC02OC42IDIzMC4xLTY4LjYgMjMwLjFzLS40LTE2LjktMi4yLTg1LjdjNC4zIDQuNSAzNC41IDM2LjIgMzQuNSAzNi4ybC0yNC4yLTQ3LjQgNjIuNi05LjEtNjIuNi05LjEgMjAuMi01NS41LTMxLjQgNDUuOWMtMi4yLTg3LjctNy44LTMwNS4xLTcuOS0zMDYuOSAwIDEtNS42IDIxOS03LjkgMzA2LjlsLTMxLjQtNDUuOSAyMC4yIDU1LjUtNjIuNiA5LjEgNjIuNiA5LjEtMjQuMiA0Ny40IDM0LjUtMzYuMmMtMS44IDY4LjgtMi4yIDg1LjctMi4yIDg1LjdTNTkuMSAzODguNiAxNDQuOSAyMzAuMmMwIDAtMTA3LTExOC4xLTEwLjEtMTkwLjcgMCAwLTE2NS41IDk5LjktNjAuNSAyNzEuNSAwIDAtODYuOC04NC44LTQxLjQtMTcwLjUgMCAwLTc4LjcgMTExIDE3LjIgMjMzLjEgMCAwLTI2LjItMTYuMS00OS40LTc3LjcgMCAwIDE2LjkgMTgzLjMgMjIyIDE4NS43bDQuMSAwYzIwNS0yLjQgMjIyLTE4NS43IDIyMi0xODUuNy0yMy42IDYxLjUtNDkuOSA3Ny43LTQ5LjkgNzcuN3oiXX0sRXd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InItcHJvamVjdCIsaWNvbjpbNTc2LDUxMixbXSwiZjRmNyIsIk01NzguNSAyMjYuNkM1NzguNSAxMTkuMSA0NDguNCAzMiAyODggMzJTLTIuNSAxMTkuMS0yLjUgMjI2LjZjMCA5NS44IDEwMy4zIDE3NS40IDIzOS40IDE5MS41bDAgNjEuOSA5OS4xIDAgMC02MS41YzI0LjMtMi43IDQ3LjYtNy40IDY5LjQtMTMuOWw0MC4xIDc1LjQgMTEyIDAtNjcuNC0xMTMuN2M1NC41LTM1LjQgODguNC04NC45IDg4LjQtMTM5Ljd6TTExMS43IDI0MS4xYzAtNzMuNSA5OC45LTEzMyAyMjAuOC0xMzNzMjExLjkgNDAuNyAyMTEuOSAxMzNjMCA1MC4xLTI2LjUgODUtNzAuMyAxMDYuNC0yLjQtMS42LTQuNy0yLjktNi40LTMuNy0xMC4yLTUuMi0yNy44LTEwLjUtMjcuOC0xMC41czg2LjYtNi40IDg2LjYtOTIuNy05MC42LTg3LjktOTAuNi04Ny45bC0xOTkgMCAwIDIwOC4zYy03NC4xLTIxLjUtMTI1LjItNjcuMS0xMjUuMi0xMTkuOXptMjI1LjEgMzguM2wwLTU1LjZjNTcuOCAwIDg3LjgtNi44IDg3LjggMjcuMyAwIDM2LjUtMzguMiAyOC4zLTg3LjggMjguM3ptLS45IDcyLjVsMjYuNiAwYzEwLjggMCAxOC45IDExLjcgMjQgMTkuMi0xNi4xIDEuOS0zMyAyLjgtNTAuNiAyLjlsMC0yMi4xeiJdfSxJd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaW5zdGFsb2QiLGljb246WzUxMiw1MTIsW10sImUwODEiLCJNMTUzLjYgNDgwbDIzMy43IDAgMTE1LjQtMjA0LjItMjk4LjMgNTcuNC01MC44IDE0Ni44ek01MDUgMjQwLjFMMzg3LjQgMzIgMTU1LjkgMzIgMzYwLjUgMjY3LjkgNTA1IDI0MC4xek0xMjQuNiA0OC44TDcuNSAyNTYgMTIzLjUgNDYxLjIgMjI1LjkgMTY1LjYgMTI0LjYgNDguOHoiXX0sTnd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNhbmFkaWFuLW1hcGxlLWxlYWYiLGljb246WzUxMiw1MTIsW10sImY3ODUiLCJNMzgzLjggMzUxLjdjMi41LTIuNSAxMDUuMi05Mi40IDEwNS4yLTkyLjRsLTE3LjUtNy41Yy0xMC00LjktNy40LTExLjUtNS0xNy40IDIuNC03LjYgMjAuMS02Ny4zIDIwLjEtNjcuM3MtNDcuNyAxMC01Ny43IDEyLjVjLTcuNSAyLjQtMTAtMi41LTEyLjUtNy41cy0xNS0zMi40LTE1LTMyLjQtNTIuNiA1OS45LTU1LjEgNjIuM2MtMTAgNy41LTIwLjEgMC0xNy42LTEwIDAtMTAgMjcuNi0xMjkuNiAyNy42LTEyOS42cy0zMC4xIDE3LjQtNDAuMSAyMi40Yy03LjUgNS0xMi42IDUtMTcuNi01LTUuMS03LjUtNDIuNy03OS44LTQyLjctNzkuOHMtMzcuNSA3Mi4zLTQyLjUgNzkuOGMtNSAxMC0xMCAxMC0xNy42IDUtMTAtNS00MC4xLTIyLjQtNDAuMS0yMi40UzE4My4zIDE4MiAxODMuMyAxOTJjMi41IDEwLTcuNSAxNy41LTE3LjYgMTAtMi41LTIuNS01NS4xLTYyLjMtNTUuMS02Mi4zcy0xMi41IDI3LjMtMTUgMzIuMy01IDkuOS0xMi41IDcuNUM3MyAxNzcgMjUuNCAxNjcgMjUuNCAxNjdTNDMgMjI2LjcgNDUuNSAyMzQuM2MyLjQgNiA1IDEyLjUtNSAxNy40TDIzIDI1OS4zczEwMi42IDg5LjkgMTA1LjIgOTIuNGM1LjEgNSAxMCA3LjUgNS4xIDIyLjUtNS4xIDE1LTEwLjEgMzUuMS0xMC4xIDM1LjFzOTUuMi0yMC4xIDEwNS4zLTIyLjZjOC43LS45IDE4LjMgMi41IDE4LjMgMTIuNVMyNDEgNTEyIDI0MSA1MTJsMzAgMHMtNS44LTEwMi43LTUuOC0xMTIuOCA5LjUtMTMuNCAxOC40LTEyLjVjMTAgMi41IDEwNS4yIDIyLjYgMTA1LjIgMjIuNnMtNS0yMC4xLTEwLTM1LjEgMC0xNy41IDUtMjIuNXoiXX0sUnd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImV0aGVyZXVtIixpY29uOlszMjAsNTEyLFtdLCJmNDJlIiwiTTMxMS45IDI2MC44TDE2MCAzNTMuNiA4IDI2MC44IDE2MCAwIDMxMS45IDI2MC44ek0xNjAgMzgzLjRMOCAyOTAuNiAxNjAgNTEyIDMxMiAyOTAuNiAxNjAgMzgzLjR6Il19LE93dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJob3V6eiIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3YyIsIk0yNzYgMzMwLjdsLTEwNC42IDAgMCAxNDkuMy0xNTQuMyAwIDAtNDQ4IDEwOS41IDAgMCAxMDQuNSAzMDUuMSA4NS42IDAgMjU3LjktMTU1LjcgMCAwLTE0OS4zeiJdfSxGd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmliZXIiLGljb246WzUxMiw1MTIsW10sImY0MDkiLCJNNDQ0LjMgNDkuOWMtMTIuNy0xMS43LTY0LjEtNDktMTc4LjctNDkuNSAwIDAtMTM1LjEtOC4xLTIwMC45IDUyLjMtMzYuNiAzNi42LTQ5LjUgOTAuMy01MC45IDE1Ni44cy0zLjEgMTkxLjEgMTE3IDIyNC45bC4xIDAtLjEgNTEuNnMtLjggMjAuOSAxMyAyNS4xYzE2LjYgNS4yIDI2LjQtMTAuNyA0Mi4zLTI3LjggOC43LTkuNCAyMC43LTIzLjIgMjkuOC0zMy43IDgyLjIgNi45IDE0NS4zLTguOSAxNTIuNS0xMS4yIDE2LjYtNS40IDExMC41LTE3LjQgMTI1LjctMTQyIDE1LjgtMTI4LjYtNy42LTIwOS44LTQ5LjgtMjQ2LjV6TTQ1OC4yIDI4N2MtMTIuOSAxMDQtODkgMTEwLjYtMTAzIDExNS4xLTYgMS45LTYxLjUgMTUuNy0xMzEuMiAxMS4yIDAgMC01MiA2Mi43LTY4LjIgNzktNS4zIDUuMy0xMS4xIDQuOC0xMS01LjcgMC02LjkgLjQtODUuNyAuNC04NS43bDAgMEM0My40IDM3Mi43IDQ5LjQgMjY2LjYgNTAuNSAyMTEuMXMxMS42LTEwMSA0Mi42LTEzMS42YzU1LjctNTAuNSAxNzAuNC00MyAxNzAuNC00MyA5Ni45IC40IDE0My4zIDI5LjYgMTU0LjEgMzkuNCAzNS43IDMwLjYgNTMuOSAxMDMuOCA0MC42IDIxMS4xem0tMTM5LTgwLjhjLjQgOC42LTEyLjUgOS4yLTEyLjkgLjYtMS4xLTIyLTExLjQtMzIuNy0zMi42LTMzLjktOC42LS41LTcuOC0xMy40IC43LTEyLjkgMjcuOSAxLjUgNDMuNCAxNy41IDQ0LjggNDYuMnptMjAuMyAxMS4zYzEtNDIuNC0yNS41LTc1LjYtNzUuOC03OS4zLTguNS0uNi03LjYtMTMuNSAuOS0xMi45IDU4IDQuMiA4OC45IDQ0LjEgODcuOCA5Mi41LS4xIDguNi0xMy4xIDguMi0xMi45LS4zem00NyAxMy40Yy4xIDguNi0xMi45IDguNy0xMi45IC4xLS42LTgxLjUtNTQuOS0xMjUuOS0xMjAuOC0xMjYuNC04LjUtLjEtOC41LTEyLjkgMC0xMi45IDczLjcgLjUgMTMzIDUxLjQgMTMzLjcgMTM5LjJ6TTM3NS4yIDMyOWwwIC4yYy0xMC44IDE5LTMxIDQwLTUxLjggMzMuM2wtLjItLjNjLTIxLjEtNS45LTcwLjgtMzEuNS0xMDIuMi01Ni41LTE2LjItMTIuOC0zMS0yNy45LTQyLjQtNDIuNC0xMC4zLTEyLjktMjAuNy0yOC4yLTMwLjgtNDYuNi0yMS4zLTM4LjUtMjYtNTUuNy0yNi01NS43LTYuNy0yMC44IDE0LjItNDEgMzMuMy01MS44bC4yIDBjOS4yLTQuOCAxOC0zLjIgMjMuOSAzLjkgMCAwIDEyLjQgMTQuOCAxNy43IDIyLjEgNSA2LjggMTEuNyAxNy43IDE1LjIgMjMuOCA2LjEgMTAuOSAyLjMgMjItMy43IDI2LjZsLTEyIDkuNmMtNi4xIDQuOS01LjMgMTQtNS4zIDE0czE3LjggNjcuMyA4NC4zIDg0LjNjMCAwIDkuMSAuOCAxNC01LjNsOS42LTEyYzQuNi02IDE1LjctOS44IDI2LjYtMy43IDE0LjcgOC4zIDMzLjQgMjEuMiA0NS44IDMyLjkgNyA1LjcgOC42IDE0LjQgMy44IDIzLjZ6Il19LE91ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJraWNrc3RhcnRlciIsaWNvbjpbNDQ4LDUxMixbInNxdWFyZS1raWNrc3RhcnRlciJdLCJmM2JiIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTMyMC44IDIzM2wtMjMuMyAyMy4xIDIzLjMgMjIuOWMyNC4xIDIzLjkgMjQuMSA2MyAwIDg2LjlzLTYzLjQgMjMuOS04Ny42IDBsLTguNS04LjRjLTExLjMgMTYtMjkuNyAyNi41LTUwLjkgMjYuNS0zNC4xIDAtNjEuOS0yNy41LTYxLjktNjEuNGwwLTEzMy4yYzAtMzMuOCAyNy43LTYxLjQgNjEuOS02MS40IDIxLjEgMCAzOS42IDEwLjUgNTAuOSAyNi41bDguNS04LjRjMjQuMS0yMy45IDYzLjQtMjMuOSA4Ny42IDBzMjQuMSA2MyAwIDg2Ljl6Il19LEJ3dD1PdWUsSHd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNwb3RpZnkiLGljb246WzUxMiw1MTIsW10sImYxYmMiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek0zNTYuNyAzNzIuOWMtNC4yIDAtNi44LTEuMy0xMC43LTMuNi02Mi40LTM3LjYtMTM1LTM5LjItMjA2LjctMjQuNS0zLjkgMS05IDIuNi0xMS45IDIuNi05LjcgMC0xNS44LTcuNy0xNS44LTE1LjggMC0xMC4zIDYuMS0xNS4yIDEzLjYtMTYuOCA4MS45LTE4LjEgMTY1LjYtMTYuNSAyMzcgMjYuMiA2LjEgMy45IDkuNyA3LjQgOS43IDE2LjVzLTcuMSAxNS40LTE1LjIgMTUuNHptMjYuOS02NS42Yy01LjIgMC04LjctMi4zLTEyLjMtNC4yLTYyLjUtMzctMTU1LjctNTEuOS0yMzguNi0yOS40LTQuOCAxLjMtNy40IDIuNi0xMS45IDIuNi0xMC43IDAtMTkuNC04LjctMTkuNC0xOS40czUuMi0xNy44IDE1LjUtMjAuN2MyNy44LTcuOCA1Ni4yLTEzLjYgOTcuOC0xMy42IDY0LjkgMCAxMjcuNiAxNi4xIDE3NyA0NS41IDguMSA0LjggMTEuMyAxMSAxMS4zIDE5LjctLjEgMTAuOC04LjUgMTkuNS0xOS40IDE5LjV6bTMxLTc2LjJjLTUuMiAwLTguNC0xLjMtMTIuOS0zLjktNzEuMi00Mi41LTE5OC41LTUyLjctMjgwLjktMjkuNy0zLjYgMS04LjEgMi42LTEyLjkgMi42LTEzLjIgMC0yMy4zLTEwLjMtMjMuMy0yMy42IDAtMTMuNiA4LjQtMjEuMyAxNy40LTIzLjkgMzUuMi0xMC4zIDc0LjYtMTUuMiAxMTcuNS0xNS4yIDczIDAgMTQ5LjUgMTUuMiAyMDUuNCA0Ny44IDcuOCA0LjUgMTIuOSAxMC43IDEyLjkgMjIuNiAwIDEzLjYtMTEgMjMuMy0yMy4yIDIzLjN6Il19LHF3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsZWFucHViIixpY29uOls1NzYsNTEyLFtdLCJmMjEyIiwiTTM4Ni42IDExMS41bDE1LjEgMjQ5LTExLS4zYy0zNi4yLS44LTcxLjYgOC44LTEwMi43IDI4LTMxLTE5LjItNjYuNC0yOC0xMDIuNy0yOC00NS42IDAtODIuMSAxMC43LTEyMy41IDI3LjdMOTMuMiAxMjkuNmMyOC41LTExLjggNjEuNS0xOC4xIDkyLjItMTguMSA0MS4yIDAgNzMuOCAxMy4yIDEwMi43IDQyLjUgMjcuNy0yOC4zIDU5LTQxLjcgOTguNS00Mi41ek01NjkuMiA0NDhjLTI1LjUgMC00Ny41LTUuMi03MC41LTE1LjYtMzQuMy0xNS42LTcwLTI1LTEwNy45LTI1LTM5IDAtNzQuOSAxMi45LTEwMi43IDQwLjYtMjcuNy0yNy43LTYzLjctNDAuNi0xMDIuNy00MC42LTM3LjkgMC03My42IDkuMy0xMDcuOSAyNS0yMi4yIDkuOS00NC43IDE1LjYtNjkuMiAxNS42TDcgNDQ4IDQ5LjYgOTguOWMzOS4zLTIyLjIgODctMzQuOSAxMzIuMy0zNC45IDM3LjEgMCA3NS4yIDcuNyAxMDYuMiAyOS4xIDMxLTIxLjQgNjkuMi0yOS4xIDEwNi4yLTI5LjEgNDUuMyAwIDkzIDEyLjYgMTMyLjMgMzQuOUw1NjkuMiA0NDh6bS00My40LTQ0LjdMNDkxLjggMTIzYy0zMC43LTE0LTY3LjItMjEuNC0xMDEtMjEuNC0zOC40IDAtNzQuNCAxMi4xLTEwMi43IDM4LjctMjguMy0yNi42LTY0LjItMzguNy0xMDIuNy0zOC43LTMzLjggMC03MC4zIDcuNC0xMDEgMjEuNGwtMzQgMjgwLjJjNDcuMi0xOS41IDgyLjktMzMuNSAxMzUtMzMuNSAzNy42IDAgNzAuOCA5LjYgMTAyLjcgMjkuNiAzMS44LTIwIDY1LjEtMjkuNiAxMDIuNy0yOS42IDUyLjIgMCA4Ny44IDE0IDEzNSAzMy41eiJdfSxWd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiamF2YSIsaWNvbjpbMzg0LDUxMixbXSwiZjRlNCIsIk0yNzcuOCAzMTIuOWM5LjgtNi43IDIzLjQtMTIuNSAyMy40LTEyLjVzLTM4LjcgNy03Ny4yIDEwLjJjLTQ3LjEgMy45LTk3LjcgNC43LTEyMy4xIDEuMy02MC4xLTggMzMtMzAuMSAzMy0zMC4xcy0zNi4xLTIuNC04MC42IDE5Yy01Mi41IDI1LjQgMTMwIDM3IDIyNC41IDEyLjF6bS04NS40LTMyLjFjLTE5LTQyLjctODMuMS04MC4yIDAtMTQ1LjggMTAzLjctODEuOCA1MC41LTEzNSA1MC41LTEzNSAyMS41IDg0LjUtNzUuNiAxMTAuMS0xMTAuNyAxNjIuNi0yMy45IDM1LjkgMTEuNyA3NC40IDYwLjIgMTE4LjJ6TTMwNyAxMDQuNmMuMSAwLTE3NS4yIDQzLjgtOTEuNSAxNDAuMiAyNC43IDI4LjQtNi41IDU0LTYuNSA1NHM2Mi43LTMyLjQgMzMuOS03Mi45QzIxNiAxODguMSAxOTUuNCAxNjkuMyAzMDcgMTA0LjZ6bS02LjEgMjcwLjVjLS41IDEtMS4yIDEuOC0yIDIuNiAxMjguMy0zMy43IDgxLjEtMTE4LjkgMTkuOC05Ny4zLTMuMyAxLjItNi4yIDMuNC04LjIgNi4zIDMuNi0xLjMgNy4zLTIuMyAxMS0zIDMxLTYuNSA3NS41IDQxLjUtMjAuNiA5MS40ek0zNDggNDM3LjRzMTQuNSAxMS45LTE1LjkgMjEuMmMtNTcuOSAxNy41LTI0MC44IDIyLjgtMjkxLjYgLjctMTguMy03LjkgMTYtMTkgMjYuOC0yMS4zIDExLjItMi40IDE3LjctMiAxNy43LTItMjAuMy0xNC4zLTEzMS4zIDI4LjEtNTYuNCA0MC4yIDIwNC4yIDMzLjIgMzcyLjQtMTQuOSAzMTkuNC0zOC44ek0xMjQuNSAzOTZjLTc4LjcgMjIgNDcuOSA2Ny40IDE0OC4xIDI0LjUtOS44LTMuOC0xOS4yLTguNC0yOC4yLTEzLjgtNDQuNyA4LjUtNjUuNCA5LjEtMTA2IDQuNS0zMy41LTMuOC0xMy45LTE1LjItMTMuOS0xNS4yem0xNzkuOCA5Ny4yYy03OC43IDE0LjgtMTc1LjggMTMuMS0yMzMuMyAzLjYgMC0uMSAxMS44IDkuNyA3Mi40IDEzLjYgOTIuMiA1LjkgMjMzLjgtMy4zIDIzNy4xLTQ2LjkgMCAwLTYuNCAxNi41LTc2LjIgMjkuN3pNMjYwLjcgMzUzYy01OS4yIDExLjQtOTMuNSAxMS4xLTEzNi44IDYuNi0zMy41LTMuNS0xMS42LTE5LjctMTEuNi0xOS43LTg2LjggMjguOCA0OC4yIDYxLjQgMTY5LjUgMjUuOS03LjgtMi44LTE1LTcuMS0yMS4xLTEyLjh6Il19LGp3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJuZmMtc3ltYm9sIixpY29uOls1MTIsNTEyLFtdLCJlNTMxIiwiTTM2MC45IDMyLjRjNy43LTEuMyAxNS43IC41IDIxLjIgNSA4NC4xIDU4LjcgMTI5LjkgMTM2LjMgMTI5LjkgMjE3LjcgMCA4My4xLTQ1LjggMTYwLjgtMTI5LjkgMjE5LjUtNC44IDQtMTEuNyA1LjktMTguNiA1LjMtNy0uNi0xMy41LTMuNi0xOC40LTguNUwxNjEuNyAyODguN2MtNS42LTUuNS04LjctMTMtOS42LTIwLjkgMC03LjggNC0xNS4zIDkuNS0yMC45IDUuNi01LjUgMTMuMS04LjcgMjAuOS04LjcgNy45IDAgMTUuNCAzLjEgMjAuOSA4LjZMMzY4LjUgNDExLjJjNTQuNi00NC43IDg0LjMtOTkuMiA4NC4zLTE1Ni4xIDAtNjEuNi0zNi45LTEyMi4yLTEwMy45LTE2OS4zLTYuNC00LjUtMTAuOC0xMS40LTEyLjEtMTkuMS0xLjQtNy43IC40LTE1LjcgNS0yMi4xIDQuNS02LjQgMTEuNC0xMC44IDE5LjEtMTIuMXptLTIwNiA0NDcuMmMtNy43IDEuMy0xNS42LS41LTIyLjEtNS04My4xLTU4LjctMTI5LTEzNi40LTEyOS0yMTkuNSAwLTgxLjQgNDUuOC0xNTkgMTI5LTIxNy43IDUuNy00IDEyLjYtNS45IDE5LjYtNS4zIDYuOSAuNiAxMy40IDMuNiAxOC4zIDguNUwzNTQuMSAyMjMuM2M1LjYgNS41IDguNyAxMyA4LjcgMjAuOSAuMSA2LjktMyAxNS4zLTguNiAyMC45LTUuNSA1LjUtMTMgOC43LTIwLjkgOC43LTcuOCAwLTE2LjItMy4xLTIwLjktOC42TDE0Ny4zIDEwMC43Yy01NC42IDQ1LjItODQuMyA5OS4yLTg0LjMgMTU0LjQgMCA2My40IDM2LjkgMTI0IDEwMy4xIDE3MS4xIDcuMyA0LjYgMTEuNiAxMS40IDEzIDE5LjIgMS4zIDcuNy0uNSAxNS43LTUgMjIuMXMtMTEuNCAxMC43LTE5LjIgMTIuMXoiXX0sVXd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndvZHUiLGljb246WzY0MCw1MTIsW10sImUwODgiLCJNMTc4LjQgMzM5LjdsLTM3LjMgMC0yOC45LTExNi4yLS41IDAtMjguNSAxMTYuMi0zOCAwLTQ1LjItMTcwLjggMzcuNSAwIDI3IDExNi4yIC41IDAgMjkuNy0xMTYuMiAzNS4yIDAgMjkuMiAxMTcuNyAuNSAwIDI4LTExNy43IDM2LjggMC00NS45IDE3MC44em05My0xMjdjMzkgMCA2NC4xIDI1LjggNjQuMSA2NS4zIDAgMzkuMi0yNS4xIDY1LTY0LjEgNjUtMzguNyAwLTYzLjktMjUuOC02My45LTY1IDAtMzkuNSAyNS4xLTY1LjMgNjMuOS02NS4zem0wIDEwNC44YzIzLjIgMCAzMC4xLTE5LjkgMzAuMS0zOS41IDAtMTkuOS02LjktMzkuNy0zMC4xLTM5LjctMjcuNyAwLTI5LjkgMTkuOS0yOS45IDM5LjcgMCAxOS42IDYuOSAzOS41IDI5LjkgMzkuNXptMTYzLjcgNi41bC0uNSAwYy03LjkgMTMuNC0yMS44IDE5LjEtMzcuNSAxOS4xLTM3LjMgMC01NS41LTMyLTU1LjUtNjYuMiAwLTMzLjIgMTguNC02NC4xIDU0LjgtNjQuMSAxNC42IDAgMjguOSA2LjIgMzYuOCAxOC40bC4yIDAgMC02Mi4yIDM0IDAgMCAxNzAuOC0zMi4zIDAgMC0xNS44em0tMjkuNy04NS42Yy0yMi4yIDAtMjkuOSAxOS4xLTI5LjkgMzkuNSAwIDE5LjQgOC44IDM5LjcgMjkuOSAzOS43IDIyLjUgMCAyOS4yLTE5LjYgMjkuMi0zOS45IDAtMjAuMS03LjItMzkuMi0yOS4yLTM5LjJ6TTU5MyAzMzkuN2wtMzIuMyAwIDAtMTcuMi0uNyAwYy04LjYgMTMuOS0yMy40IDIwLjYtMzcuOCAyMC42LTM2LjEgMC00NS4yLTIwLjMtNDUuMi01MC45bDAtNzYuMSAzNCAwIDAgNjkuOGMwIDIwLjMgNiAzMC40IDIxLjggMzAuNCAxOC40IDAgMjYuMy0xMC4zIDI2LjMtMzUuNGwwLTY0LjggMzQgMCAwIDEyMy42em05LjUtMzYuOGwzNy41IDAgMCAzNi44LTM3LjUgMCAwLTM2Ljh6Il19LEZ1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtc3RlYW0iLGljb246WzQ0OCw1MTIsWyJzdGVhbS1zcXVhcmUiXSwiZjFiNyIsIk0xNjUuNiAzMDkuMWMxOC42IDcuNyAyNy4zIDI4LjkgMTkuNiA0Ny40cy0yOSAyNy4yLTQ3LjYgMTkuNGwtMjguNS0xMS44YzUgMTAuNiAxMy44IDE5LjQgMjUuNCAyNC4yIDI1LjIgMTAuNSA1NC4xLTEuNCA2NC42LTI2LjUgNS4xLTEyLjEgNS4xLTI1LjUgLjEtMzcuNy01LjEtMTIuMS0xNC41LTIxLjYtMjYuNy0yNi43LTEyLjEtNS0yNS00LjgtMzYuNC0uNWwyOS41IDEyLjJ6TTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2bDAgMTQ0LjcgMTE2LjYgNDguMWMxMi04LjIgMjYuMi0xMi4xIDQwLjctMTEuM2w1NS40LTgwLjIgMC0xLjFjMC00OC4yIDM5LjMtODcuNSA4Ny42LTg3LjVzODcuNiAzOS4zIDg3LjYgODcuNWMwIDQ5LjItNDAuOSA4OC43LTg5LjYgODcuNWwtNzkgNTYuM2MxLjYgMzguNS0yOS4xIDY4LjgtNjUuNyA2OC44LTMxLjggMC01OC41LTIyLjctNjQuNS01Mi43TDAgMzE5LjIgMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTI0MS45IDE5Ni4yYTU4LjQgNTguNCAwIDEgMCAxMTYuOCAwIDU4LjQgNTguNCAwIDEgMCAtMTE2LjggMHptMTAyLjQtLjFhNDMuOSA0My45IDAgMSAxIC04Ny44IDAgNDMuOSA0My45IDAgMSAxIDg3LjggMHoiXX0sV3d0PUZ1ZSxHd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1uYy1ldSIsaWNvbjpbNTEyLDUxMixbXSwiZjRlOSIsIk0yNTUuNyA4QzExMS42IDggOCAxMjQuOCA4IDI1NiA4IDM5Mi4zIDExOS43IDUwNCAyNTUuNyA1MDQgMzg1LjkgNTA0IDUwNCA0MDMuMSA1MDQgMjU2IDUwNCAxMTcgMzk2LjQgOCAyNTUuNyA4em0uNiA0NTAuN2MtMTEyIDAtMjAzLjYtOTIuNS0yMDMuNi0yMDIuNyAwLTIzLjIgMy43LTQ1LjIgMTAuOS02Nmw2NS43IDI5LjEtNC43IDAgMCAyOS41IDIzLjMgMGMwIDYuMi0uNCAzLjItLjQgMTkuNWwtMjIuOCAwIDAgMjkuNSAyNyAwYzExLjQgNjcgNjcuMiAxMDEuMyAxMjQuNiAxMDEuMyAyNi42IDAgNTAuNi03LjkgNjQuOC0xNS44bC0xMC00Ni4xYy04LjcgNC42LTI4LjIgMTAuOC00Ny4zIDEwLjgtMjguMiAwLTU4LjEtMTAuOS02Ny4zLTUwLjJsOTAuMyAwIDEyOC4zIDU2LjhjLTEuNSAyLjEtNTYuMiAxMDQuMy0xNzguOCAxMDQuM3pNMjM5LjYgMjY4LjFsLS41LS40IC45IC40LS40IDB6bTc3LjItMTkuNWwzLjcgMCAwLTI5LjUtNzAuMyAwLTI4LjYtMTIuNmMyLjUtNS41IDUuNC0xMC41IDguOC0xNC4zIDEyLjktMTUuOCAzMS4xLTIyLjQgNTEuMS0yMi40IDE4LjMgMCAzNS4zIDUuNCA0Ni4xIDEwbDExLjYtNDcuM2MtMTUtNi42LTM3LTEyLjQtNjIuMy0xMi40LTM5IDAtNzIuMiAxNS44LTk1LjkgNDIuMy01LjMgNi4xLTkuOCAxMi45LTEzLjkgMjAuMUw4NS41IDE0Ni40YzY0LjYtOTYuOCAxNTcuNy05My42IDE3MC43LTkzLjYgMTEzIDAgMjAzIDkwLjIgMjAzIDIwMy40IDAgMTguNy0yLjEgMzYuMy02LjMgNTIuOUwzMTYuOCAyNDguNnoiXX0sWXd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5wbSIsaWNvbjpbNTc2LDUxMixbXSwiZjNkNCIsIk0yODggMjg4bC0zMiAwIDAtNjQgMzIgMCAwIDY0ek01NzYgMTYwbDAgMTkyLTI4OCAwIDAgMzItMTI4IDAgMC0zMi0xNjAgMCAwLTE5MiA1NzYgMHpNMTYwIDE5MmwtMTI4IDAgMCAxMjggNjQgMCAwLTk2IDMyIDAgMCA5NiAzMiAwIDAtMTI4em0xNjAgMGwtMTI4IDAgMCAxNjAgNjQgMCAwLTMyIDY0IDAgMC0xMjh6bTIyNCAwbC0xOTIgMCAwIDEyOCA2NCAwIDAtOTYgMzIgMCAwIDk2IDMyIDAgMC05NiAzMiAwIDAgOTYgMzIgMCAwLTEyOHoiXX0sS3d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNsb3Vkc2NhbGUiLGljb246WzQ0OCw1MTIsW10sImYzODMiLCJNMzE4LjEgMTU0bC05LjQgNy42Yy0yMi41LTE5LjMtNTEuNS0zMy42LTgzLjMtMzMuNi03MS42IDAtMTI5LjQgNjAuOC0xMjkuNCAxMzIuMyAwIDYuNiAuNCAxMy4xIDEuNCAxOS40LTItNTYgNDEuOC05Ny40IDkyLjYtOTcuNCAyNC4yIDAgNDYuMiA5LjQgNjIuNiAyNC43bC0yNS4yIDIwLjRjLTguMy0uOS0xNi44IDEuOC0yMy4xIDguMS0xMS4xIDExLTExLjEgMjguOSAwIDQwIDExLjEgMTEgMjguOSAxMSA0MCAwIDYuMy02LjMgOS0xNC45IDguMS0yMy4xbDc1LjItODguOGM2LjMtNi41LTMuMy0xNS45LTkuNS05LjZ6TTIxMy43IDI0Ni41YTE0IDE0IDAgMSAxIDIwLjYgMTkgMTQgMTQgMCAxIDEgLTIwLjYtMTl6TTIyNCAzMmEyMjQgMjI0IDAgMSAwIDAgNDQ4IDIyNCAyMjQgMCAxIDAgMC00NDh6bTAgNjRhMTYwIDE2MCAwIDEgMSAwIDMyMCAxNjAgMTYwIDAgMSAxIDAtMzIweiJdfSxad3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGhlbWVjbyIsaWNvbjpbNDQ4LDUxMixbXSwiZjVjNiIsIk0yMDIuOSA4LjRjOS45LTUuNyAyNi01LjggMzYtLjJMNDMwIDExNS45YzEwIDUuNiAxOCAxOS40IDE4IDMwLjlMNDQ4IDM2NGMwIDExLjQtOC4xIDI1LjMtMTggMzFMMjM4LjggNTAzLjdjLTkuOSA1LjctMjYgNS42LTM1LjgtLjJMMTcuOSAzOTUuMUM4IDM4OS4zIDAgMzc1LjQgMCAzNjRMMCAxNDYuN2MwLTExLjQgOC0yNS40IDE3LjktMzEuMUwyMDIuOSA4LjR6TTEyNS41IDIwOC4zYy0xNS45IDAtMzEuOSAuMS00Ny44IC4xbDAgMTAxLjQgMTkuMSAwIDAtMjkuOCAyOC43IDBjNDkuNyAwIDQ5LjYtNzEuNyAwLTcxLjd6TTI2NS42IDMwOC42bC0zMC43LTM0LjZjMzctNy41IDM0LjgtNjUuMi0xMC45LTY1LjUtMTYuMSAwLTMyLjItLjEtNDguMy0uMWwwIDEwMS42IDE5LjEgMCAwLTMzLjkgMTguNCAwIDI5LjYgMzMuOSAyMi44IDAgMC0xLjN6bS00MS42LTgyLjNjMjMuMyAwIDIzLjMgMzIuNSAwIDMyLjVsLTI5LjEgMCAwLTMyLjUgMjkuMSAwem0tOTUuNi0xLjZjMjEuMiAwIDIxLjEgMzguOSAwIDM4LjlsLTMyLjMgMCAwLTM4LjggMzIuMyAwem0xOTIuNi0xOC4yYy02OC41IDAtNzEgMTA1LjggMCAxMDUuOCA2OS41IDAgNjkuNC0xMDUuOCAwLTEwNS44em0wIDE3LjRjNDQuMSAwIDQ0LjggNzAuOSAwIDcwLjlzLTQ0LjQtNzAuOSAwLTcwLjl6Il19LFh3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29nbGUtcGxheSIsaWNvbjpbNDQ4LDUxMixbXSwiZjNhYiIsIk0yOTMuNiAyMzQuM0w3Mi45IDEzIDM1My43IDE3NC4yIDI5My42IDIzNC4zek0xNS4zIDBDMi4zIDYuOC02LjQgMTkuMi02LjQgMzUuM2wwIDQ0MS4zYzAgMTYuMSA4LjcgMjguNSAyMS43IDM1LjNMMjcxLjkgMjU1LjkgMTUuMyAwek00NDAuNSAyMjUuNmwtNTguOS0zNC4xLTY1LjcgNjQuNSA2NS43IDY0LjUgNjAuMS0zNC4xYzE4LTE0LjMgMTgtNDYuNS0xLjItNjAuOHpNNzIuOSA0OTlMMzUzLjcgMzM3LjggMjkzLjYgMjc3LjcgNzIuOSA0OTl6Il19LFF3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJrb3J2dWUiLGljb246WzQ0OCw1MTIsW10sImY0MmYiLCJNMzg3LjYgMzRsLTMyNyAwQzI3LjkgMzQgMS4xIDYwLjggMS4xIDkzLjVsMCAzMjcuMWMwIDMyLjYgMjYuOCA1OS40IDU5LjUgNTkuNGwzMjcuMSAwYzMzIDAgNTkuNS0yNi44IDU5LjUtNTkuNWwwLTMyN0M0NDcuMSA2MC44IDQyMC4zIDM0IDM4Ny42IDM0ek04OC4yIDEyMC44bDk2IDAgMCAxMTYgNjEuOC0xMTYgMTEwLjkgMC04MS4yIDEzMi0xODcuNSAwIDAtMTMyek0yNTAgMzkyLjlsLTY1LjctMTEzLjYgMCAxMTMuNi05NiAwIDAtMTMwLjggMTkxLjUgMCA4OC42IDEzMC44LTExOC40IDB6Il19LEp3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3M2MiLGljb246WzY0MCw1MTIsW10sImU3ZGUiLCJNMTA1LjIgMzA1LjNsMzAuOS0xMDQuN2M3LjktMjYuNyA4LjYtNDAuNiAuMi02OC44bC0xMC4xLTMzLjkgNDQuMSAwIDYxIDIwNy40IDQ1LjctMTU1LjVjMTMuMy00NS4zIDIxLjEtNTEuOSA1OS40LTUxLjlsMTMyLjggMGMtMjQuMiA0Mi45LTQ5LjMgODUuMi03My45IDEyNy45IDIuNiAuOCA1LjIgMS44IDcuNyAyLjggMTcuMyA3LjEgMzIuMiAxOS40IDQyIDM1LjUgMTEuMiAxOC41IDE2LjggNDAuMiAxNi44IDY1LjIgMCAzMC44LTguMiA1Ni44LTI0LjYgNzcuOC0xNC41IDE4LjYtMzUgMjkuNS01OC4yIDMxLjIgMCAuMy01LjIgLjQtNS44IC40LTM5LjctLjEtNzAuOC0zMi4xLTgzLjEtNjguN2w0Mi45IDBjMy41IDUuMyA2LjggMTAuNyAxMS4yIDE1LjUgOC4xIDcuMyAxOC41IDEwLjkgMjkuMyAxMS4xIDEzLjEgMCAyMy4zLTkuMSAyOS45LTE5LjggOC4xLTEzLjIgMTIuMi0yOSAxMi4yLTQ3LjUgMC0xMy4xLTEuOC0yNC4zLTUuMy0zMy42LS45LTIuMy0xLjktNC41LTMtNi42LTEuNC0yLjYtMi45LTUuMS00LjctNy40LTEwLjEtMTMuMi0yOS4zLTE5LjctNDcuNS0xOS44bC0yOC4yIDAgNzAuMy0xMjItMzUuNiAwYy00My4xIDAtMzUuOS01LjQtNTAuNCA0My4zbC03NS43IDI1NS4zLTQuMiAwLTYzLjEtMjExLjEtNjMuMSAyMTEuMS00LjIgMC0xMDEtMzQwLjcgNDQuMiAwIDYxIDIwNy40ek00NjcgMzM1LjdjLjMgLjYgMTEuMyAyMC4zIDE4LjMgMzAuMyA3LjEgMTAuMSAxOS44IDIwLjkgMjQuOCAyNC42czE5LjEgMTIuNSAzNC4zIDEzLjljMTUuMiAxLjUgMjMuMyAuMiAzOC43LTYuNiAxNS40LTYuOCAyNy45LTIwLjQgMzQuOS0yOC4xIDYuOS03LjYgMTcuOS0yNy4zIDE4LjItMjcuN2wzLjMgMTYuOGMxLjcgOS0xIDIzLjctNC4xIDMwLTQuMyA4LjYtNy42IDEzLjUtMTQgMjAuMy02LjEgNi41LTE2LjcgMTMuNS0yMS4zIDE2LjQtNC42IDIuOS0yMy4xIDE1LjEtNTAuMSAxMC4zcy00NC43LTI1LjktNTMuOS0zOC4yYy05LjgtMTMuMi0xNi43LTI4LjMtMTktMzMuMi0zLjgtOC40LTkuOS0yOC4yLTEwLjEtMjguOHptMTY5LjctMjE4YzMuMyAyMC4zLS4xIDI4LjctOS4xIDQ2bC0xMi43IDI0LjJjLS4zLS42LTEwLTIwLjctMjUuOS0zMS45LTEzLjYtOS42LTIyLjUtMTEuNy0zNi4zLTguOC0xNy44IDMuNy0zOCAyNS00Ni44IDUxLjItMTAuNSAzMS40LTEwLjcgNDYuNi0xMSA2MC42LS42IDIyLjQgMi45IDM1LjYgMi45IDM1LjZzLTE1LjQtMjguNS0xNS4yLTcwLjFjLjEtMjkuNyA0LjgtNTYuNyAxOC41LTgzLjMgMTIuMS0yMy40IDMwLjEtMzcuNCA0Ni4xLTM5LjEgMTYuNS0xLjcgMjkuNiA2LjMgMzkuNyAxNC45IDEwLjYgOSAyMS4zIDI4LjggMjEuMyAyOC44bDI0LjktNDkuOCAzLjYgMjEuOHoiXX0sZU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdyYXYiLGljb246WzUxMiw1MTIsW10sImYyZDYiLCJNMzAyLjYgMjEwLjZjNC41IDQuNSA0LjUgMTIuMyAwIDE2LjhsLTEwIDEwYy00LjUgNC45LTEyLjMgNC45LTE3LjEgMGwtMTAuOC0xMC44Yy00LjUtNC45LTQuNS0xMi4zIDAtMTcuMWwxMC0xMGM0LjUtNC41IDEyLjMtNC41IDE3LjEgMGwxMC44IDExLjF6bS0zMS4yLTIwLjNhNy43IDcuNyAwIDEgMCAtMTAuNi0xMSA3LjcgNy43IDAgMSAwIDEwLjYgMTF6bS0yNi44IDUuNWE3LjUgNy41IDAgMSAwIDEwLjcgMTAuNSA3LjUgNy41IDAgMSAwIC0xMC43LTEwLjV6TTMxOS40IDE4MmMtMjAuNS0xNC45LTM0LjktNDQuNi0xMi4zLTcwLjMgMjIuMy0yNS43IDQyLTE3LjggNjEuNyAuOCAxMi4zIDExLjcgMzAuMiAyNS43IDE3LjggNDkuOC0xMi45IDI0LjMtNDYuNiAzNC4zLTY3LjIgMTkuN3ptNDkuMi00NS45Yy05LjItMTAuMy0yNC4xIDcuMS0xNiAxNi42IDcuNiA5LjMgMzMuMSAyLjUgMTYtMTYuNnpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptNDQzLjcgNDRjMi42LTE2LjYtMjAuOS0xNy4xLTI2LTI2LjUtMTQtMjQuOS0yOC42LTM4LTU2LjMtMzEuNCAxMi04LjMgMjQuMy02LjMgMjQuMy02LjMgLjMtNi42IDAtMTMuNC05LjctMjUuNyA0LTEyLjkgLjMtMjMuMSAuMy0yMy4xIDE2LTguOSAyNy43LTI1LjIgMzAtNDQuNiAzLjctMzItMTkuNC02MS4xLTUxLjQtNjQuOC0yMi44LTIuNi00NS4xIDcuOS01Ni4xIDI2LjUtMjMuOSA0MS40IDEuNCA3My4yIDIzLjEgODQtMTQuOS0xLjQtMzUuNC0xMi4zLTQxLjQtMzUuNC02LjgtMjYuNSAyLjktNTEuNCA5LjItNjMuNCAwIDAtNC41LTYtOC4zLTkuMiAwIDAtMTQuMiAwLTI1LjQgNS41IDEyLjMtMTUuNyAyNi0xNC45IDI2LTE0LjkgMC02LjYtLjYtMTUuNC0zLjctMjIuMy01LjYtMTEuNC0yNC42LTEzLjMtMzIuNyAyLjkgLjEtLjIgLjMtLjQgLjQtLjUtNS4yIDEyLjMtMS4xIDU3LjcgMTcuNCA5MC0yLjYgMS40LTkuNCA2LjMtMTMuNCAxMC4zLTIyLjMgMTAtNTggNjIuMi01OCA2Mi4yLTI5LjEgMTEuMS03OS43IDUyLjUtNzIuOSA4Mi4zIC4zIDMuMSAxLjQgNS43IDMuMSA3LjctMi45IDIuMy01LjcgNS4yLTguNiA4LjYtMTIuMyAxNC4yLTUuNSAzNi4zIDE4LjMgMjUuMiAxNi4zLTcuNCAzMC42LTIwLjkgMzcuNS0zMS40IDAgMC01LjctNS4yLTE2LjgtNC41IDI4LjYtNi44IDM1LjQtOS43IDQ3LjctOS40IDguMyA0IDguMy0zNS40IDguMy0zNS40IDAtMTUuMi0yLjMtMzItMTEuNS00Mi44IDEyLjkgMTIuNiAzMCAzMy44IDI4LjkgNjIuNi0uOCAxOC45LTE1LjcgMjMuNy0xNS43IDIzLjctOS40IDE3LjEtNDQuNiA2OC0zMS40IDEwOS40IDAgMC0xMC0xNS40LTEwLjUtMjIuOC0xOCAyMC00OCA1NC0yNS40IDY2LjYgMjcuNSAxNS4yIDExMi4zLTkxLjUgMTMwLjMtMTQ2LjkgMzUuNy0yMS41IDU3LjItNDguOCA2Ni02Ny4xIDIyLjcgNDQuOSA5OC40IDk3LjUgMTA0LjQgNjAuOXoiXX0sdE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImF3cyIsaWNvbjpbNjQwLDUxMixbXSwiZjM3NSIsIk0xODAuNCAyMDNjLS43IDIyLjYgMTAuNiAzMi43IDEwLjkgMzktLjEgMS4zLS42IDIuNS0xLjMgMy42cy0xLjcgMi0yLjggMi42bC0xMi44IDljLTEuNyAxLjItMy42IDEuOC01LjYgMS45LS40IDAtOC4yIDEuOC0yMC41LTI1LjYtNy41IDkuNC0xNyAxNi45LTI3LjkgMjJzLTIyLjcgNy43LTM0LjcgNy41Yy0xNi4zIC45LTYwLjQtOS4yLTU4LjEtNTYuMi0xLjYtMzguMyAzNC4xLTYyLjEgNzAuOS02MCA3LjEgMCAyMS42IC40IDQ3IDYuM2wwLTE1LjZjMi43LTI2LjUtMTQuNy00Ny00NC44LTQzLjktMi40IDAtMTkuNC0uNS00NS44IDEwLjEtNy40IDMuNC04LjMgMi44LTEwLjggMi44LTcuNCAwLTQuNC0yMS41LTIuOS0yNC4yIDUuMi02LjQgMzUuOS0xOC40IDY1LjktMTguMiAyMC4xLTEuOCA0MC4xIDQuNCA1NS43IDE3LjMgNi4zIDcuMSAxMS4yIDE1LjQgMTQuMiAyNC40czQuMiAxOC41IDMuNSAyOGwwIDY5LjN6TTk0IDIzNS40YzMyLjQtLjUgNDYuMi0yMCA0OS4zLTMwLjUgMi41LTEwLjEgMi4xLTE2LjQgMi4xLTI3LjQtOS43LTIuMy0yMy42LTQuOS0zOS42LTQuOS0xNS4yLTEuMS00Mi44IDUuNi00MS43IDMyLjMtMS4yIDE2LjggMTEuMSAzMS40IDMwIDMwLjV6bTE3MC45IDIzLjFjLTcuOSAuNy0xMS41LTQuOS0xMi43LTEwLjRMMjAyLjQgODMuNGMtMS0yLjgtMS42LTUuNi0xLjktOC42LS4yLTEuMiAuMS0yLjQgLjgtMy40czEuOC0xLjYgMy0xLjhjLjIgMC0yLjEgMCAyMi4yIDAgOC44LS45IDExLjYgNiAxMi42IDEwLjRMMjc0LjkgMjIwLjggMzA4LjEgODBjLjUtMy4yIDIuOS0xMS4xIDEyLjgtMTAuMmwxNy4yIDBjMi4yLS4yIDExLjEtLjUgMTIuNyAxMC40TDM4NC4xIDIyMi43IDQyMSA4MC4xYy41LTIuMiAyLjctMTEuNCAxMi43LTEwLjRsMTkuNyAwYy45LS4xIDYuMi0uOCA1LjMgOC42LS40IDEuOCAzLjQtMTAuNy01Mi44IDE2OS45LTEuMSA1LjUtNC44IDExLjEtMTIuNyAxMC40bC0xOC43IDBjLTEwLjkgMS4yLTEyLjUtOS43LTEyLjctMTAuN2wtMzMuMi0xMzcuMS0zMi44IDEzN2MtLjIgMS4xLTEuNyAxMS45LTEyLjcgMTAuN2wtMTguMyAwIDAgMHptMjczLjUgNS42Yy01LjkgMC0zMy45LS4zLTU3LjQtMTIuMy0yLjMtMS00LjMtMi42LTUuNy00LjhzLTIuMS00LjYtMi4xLTcuMWwwLTEwLjdjMC04LjUgNi4yLTYuOSA4LjgtNS45IDEwIDQuMSAxNi41IDcuMSAyOC44IDkuNiAzNi43IDcuNSA1Mi44LTIuMyA1Ni43LTQuNSAxMy4yLTcuOCAxNC4yLTI1LjcgNS4zLTM0LjktMTAuNS04LjgtMTUuNS05LjEtNTMuMS0yMS00LjYtMS4zLTQzLjctMTMuNi00My44LTUyLjQtLjYtMjguMiAyNS01Ni4yIDY5LjUtNTYgMTIuNyAwIDQ2LjQgNC4xIDU1LjYgMTUuNiAxLjQgMi4xIDIgNC42IDEuOSA3bDAgMTAuMWMwIDQuNC0xLjYgNi43LTQuOSA2LjctNy43LS45LTIxLjQtMTEuMi00OS4yLTEwLjgtNi45LS40LTM5LjkgLjktMzguNCAyNS0uNCAxOSAyNi42IDI2LjEgMjkuNyAyNi45IDM2LjUgMTEgNDguNiAxMi44IDYzLjEgMjkuNiAxNy4xIDIyLjIgNy45IDQ4LjMgNC4zIDU1LjQtMTkuMSAzNy41LTY4LjQgMzQuNC02OS4zIDM0LjR6bTQwLjIgMTA0LjljLTcwIDUxLjctMTcxLjcgNzkuMi0yNTguNSA3OS4yLTExNy4xIC44LTIzMC4zLTQyLjMtMzE3LjMtMTIwLjctNi41LTUuOS0uOC0xNCA3LjItOS41IDk2LjUgNTUuMiAyMDUuNyA4NC4yIDMxNi45IDg0LjEgODMtLjQgMTY1LjEtMTcuMyAyNDEuNi00OS41IDExLjgtNSAyMS44IDcuOCAxMC4xIDE2LjR6bTI5LjItMzMuM2MtOS0xMS41LTU5LjMtNS40LTgxLjgtMi43LTYuOCAuOC03LjktNS4xLTEuOC05LjUgNDAuMS0yOC4yIDEwNS45LTIwLjEgMTEzLjQtMTAuNiA3LjUgOS41LTIuMSA3NS40LTM5LjYgMTA2LjktNS44IDQuOS0xMS4zIDIuMy04LjctNC4xIDguNC0yMS4zIDI3LjQtNjguNSAxOC40LTgweiJdfSxhTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2xpZGUtZyIsaWNvbjpbNDQ4LDUxMixbXSwiZjJhNiIsIk00MDcuMSAyMTEuMmMtMy41LTEuNC0xMS42LTMuOC0xNS40LTMuOC0zNy4xIDAtNjIuMiAxNi44LTkzLjUgMzQuNWwtLjktLjljNy00Ny4zIDIzLjUtOTEuOSAyMy41LTE0MC40IDAtNzEuNS0zOC4yLTEwMC42LTEwOC40LTEwMC42LTExNS4xIDAtMTczLjQgMTEzLjctMTczLjQgMTk4LjQgMCA4Ny45IDUxLjMgMTM2LjYgMTM4LjYgMTM2LjYgMTIgMCAxMS0xIDExIDMuOC0xNi45IDEyOC45LTkwLjggMTMzLjEtOTAuOCA5NC42IDAtMzkuMiA0NS01OC42IDQ1LjUtNjEtLjMtMTIuMi00Ny0yNy42LTU4LjktMjcuNi0zMy45IC4xLTUyLjQgNTEuMi01Mi40IDc5LjMgMCA1MS45IDMyLjggODcuOSA4NS41IDg3LjkgNzcuNCAwIDEzNC03Ny44IDE1MS40LTE0NS40IDE1LjEtNjAuNSAxMS4yLTYzLjMgMTkuNy02Ny42IDMyLjItMTYuMiA1Ny41LTI3IDkzLjgtMjcgMTcuOCAwIDMwLjUgMy43IDU4LjkgOC40IDIuOSAwIDYuNy0yLjkgNi43LTUuOCAwLTgtMzMuNC02MC41LTQwLjktNjMuNHpNMjMxLjggMTI2LjhjLTkuMyA0NC43LTE4LjYgODkuNi0yNy44IDEzNC4zLTIuMyAxMC4yLTEzLjMgNy44LTIyIDcuOC0zOC4zIDAtNDktNDEuOC00OS03My4xIDAtNDcgMTgtMTA5LjMgNjEuOC0xMzMuNCA3LTQuMSAxNC44LTYuNyAyMi42LTYuNyAxOC42IDAgMjAgMTMuMyAyMCAyOC43LS4xIDE0LjMtMi43IDI4LjUtNS42IDQyLjR6Il19LHJNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqc2ZpZGRsZSIsaWNvbjpbNTc2LDUxMixbXSwiZjFjYyIsIk01MTEuMSAyMzcuNWMtNC43LTIuNi01LjctNS43LTYuNC0xMC44LTIuNC0xNi41LTMuNS0zMy42LTkuMS00OS4xLTM1LjktMTAwLTE1NC0xNDMuNC0yNDYuOC05MS42LTI3LjQgMTUuMi00OSAzNi40LTY1LjUgNjMuOS0zLjItMS41LTUuNS0yLjctNy44LTMuNy0zMC4xLTEyLjQtNTktMTAuMS04NS4zIDkuMi0yNS41IDE4LjctMzYuNCA0NC41LTMyLjcgNzYuNCAuNCAzLTIgNy42LTQuNSA5LjUtMzkuNyAzMC01NiA3OC4xLTQxLjkgMTI0LjYgMTMuOCA0NS42IDU3LjUgNzkuOCAxMDUuNiA4MS40IDMwLjMgMSA2MC42IC41IDkxIC41IDg0IDAgMTY4LjEgLjUgMjUyLjEtLjUgNTIuNy0uNiA5Ni4xLTM2LjkgMTA4LjItODcuMyAxMS41LTQ4LjEtMTEuMS05Ny4zLTU2LjgtMTIyLjZ6bTIxLjEgMTU2LjljLTE4LjIgMjIuNC00Mi4zIDM1LjMtNzEuMyAzNS43LTU2LjkgLjgtMTEzLjggLjItMTcwLjcgLjIgMCAuNy0xNjMgLjItMTYzLjcgLjItNDMuOS0uMy03Ni43LTE5LjgtOTUuMi02MC0xOC45LTQxLjItNC05MC44IDM0LjItMTE2LjEgOS4yLTYuMSAxMi41LTExLjYgMTAuMS0yMy4xLTUuNS0yNi40IDQuNS00OCAyNi40LTYzIDIzLTE1LjcgNDcuNC0xNi4xIDcyLTMuMSAxMC4zIDUuNCAxNC42IDExLjYgMjIuMi0yLjUgMTQuMi0yNi40IDM0LjYtNDYuNyA2MC43LTYxLjMgOTcuNS01NC40IDIyOC40IDcuNiAyMzAuMiAxMzIuNyAuMSA4LjIgMi40IDEyLjQgOS44IDE1LjkgNTcuNiAyNi44IDc0LjUgOTYuMSAzNS4xIDE0NC41em0tODcuOC04MC41Yy01LjggMzEuMi0zNC42IDU1LjEtNjYuNyA1NS4xLTE3IDAtMzIuMS02LjUtNDQuMS0xNy43LTI3LjctMjUuNy03MS4xLTc1LTk1LjktOTMuNC0yMC4xLTE0LjktNDItMTIuMy02MC4zIDMuOC01MCA0NC4xIDE1LjkgMTIxLjggNjcuMSA3Ny4yIDQuNS00IDcuOC05LjUgMTIuNy0xMi44IDguMi01LjUgMjAuOC0uOSAxMy4yIDEwLjYtMTcuNCAyNi4zLTQ5LjMgMzguMi03OC45IDI5LjMtMjguOS04LjctNDguOC0zNi00OC42LTcwLjIgMS4yLTIyLjUgMTIuNC00My4xIDM1LjQtNTYgMjIuNi0xMi42IDQ2LjQtMTMuMSA2NyAyLjUgNTAuOCAzOC41IDc1LjYgODEuNyAxMDcuMyAxMDEuMiAyNC42IDE1LjEgNTQuMyA3LjQgNjguOC0xNy41IDI4LjgtNDkuMi0zNC42LTEwNS03OC45LTYzLjUtNCAzLjctNi45IDguOS0xMS40IDExLjctMTEgNi44LTE3LjMtNC4xLTEyLjgtMTAuNCAyMC43LTI4LjYgNTAuNS00MC40IDgzLjMtMjguMiAzMS40IDExLjcgNDkuMSA0NC40IDQyLjggNzguMnoiXX0sc010PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImtleWJhc2UiLGljb246WzQ0OCw1MTIsW10sImY0ZjUiLCJNMjg2LjIgNDE5YTE4IDE4IDAgMSAwIDAgMzYgMTggMTggMCAxIDAgMC0zNnpNMzk4LjEgMjcxLjRjLTkuNS0xNC42LTM5LjQtNTIuNC04Ny4zLTczLjctNi4xLTIuNy0xMi4yLTUuMS0xOC40LTcuMyA0LjEtOS45IDYtMjAuNiA1LjgtMzEuNHMtMi43LTIxLjMtNy4yLTMxLjEtMTAuOS0xOC41LTE4LjktMjUuNy0xNy40LTEyLjYtMjcuNi0xNmMtMTIuNC00LjEtMjMuMy02LTMyLjQtNS44LS42LTItMS45LTExIDkuNC0zNWwtMjIuOS0xMy41LTUuNSA3LjZjLTguNyAxMi4xLTE2LjkgMjMuNi0yNC4zIDM0LjktMi43LS42LTUuNS0xLjEtOC4zLTEuMi00MS41LTIuNC0zOS0yLjMtNDEuMS0yLjMtNTAuNiAwLTUwLjggNTIuMS01MC44IDQ1LjlsLTIuNCAzNi43Yy0xLjYgMjcgMTkuOCA1MC4yIDQ3LjYgNTEuOGw4LjkgLjVDMTA2IDIxNS41IDkwLjQgMjI3LjUgNzYuNiAyNDEuNCAxNCAzMDQuNyAxNCAzNzQgMTQgNDI5LjhsMCAzMy42IDIzLjMtMjkuOGMzLjEgMTMuMSA4IDI1LjggMTQuNiAzNy42IDUuOCAxMC4xIDE0LjkgOS40IDE5LjYgNy4zIDQuMi0xLjkgMTAtNi45IDMuOC0yMC4xLTgtMTYuOC0xMy4zLTM0LjctMTUuOC01My4xbDQ2LjgtNTkuOC0yNC43IDc0LjFjNTguMi00Mi40IDE1Ny40LTYxLjggMjM2LjItMzguNiAzNC4yIDEwLjEgNjcuNCAuNyA4NC43LTIzLjggLjctMSAxLjItMi4yIDEuOC0zLjIgMS44IDkuNCAyLjcgMTguOSAyLjggMjguNCAwIDIzLjMtMy43IDUyLjktMTQuOSA4MS42LTIuNSA2LjUgMS44IDE0LjUgOC42IDE1LjcgNy40IDEuNiAxNS4zLTMuMSAxOC40LTExLjEgOS42LTI1LjUgMTQuNi01NC42IDE0LjYtODYuMiAwLTM4LjYtMTMtNzcuNS0zNS45LTExMC45ek0xNDIuNCAxMjguNmwtMTUuNy0uOS0xLjQgMjEuOCAxMy4xIC44Yy0uNiA2LjUtLjUgMTMuMSAuMyAxOS42bC0yMi40LTEuM2MtMS42LS4xLTMuMi0uNS00LjctMS4xcy0yLjgtMS42LTMuOS0yLjgtMS45LTIuNi0yLjUtNC4xLS44LTMuMS0uNy00LjdMMTA3IDExOWMxLTEyLjIgMTMuOS0xMS4zIDEzLjMtMTEuM2wyOS4xIDEuN2MtMi44IDYuMi01LjEgMTIuNi03IDE5LjJ6TTI5MC44IDMwMC44Yy0yLjEgMS42LTQuOCAyLjQtNy41IDIuMnMtNS4xLTEuNS02LjktMy41bC05LjctMTEuNS0zNC40IDI3Yy0xLjYgMS4zLTMuNyAxLjktNS44IDEuN3MtNC0xLjItNS4zLTIuOGwtMTUuOC0xOC42Yy0xLjItMS42LTEuNy0zLjUtMS41LTUuNHMxLjMtMy43IDIuOC00LjlsMzQuNi0yNy4yLTE0LjEtMTYuNy0xNy4xIDEzLjVjLTEuNiAxLjItMy41IDEuOC01LjUgMS42cy0zLjgtMS4xLTUuMS0yLjZjMCAwLTMuNy00LjQtMy44LTQuNS0xLjItMS42LTEuNy0zLjUtMS41LTUuNXMxLjMtMy43IDIuOC00LjlMMjE0IDIyNS4ycy0xOC41LTIyLTE4LjYtMjIuMWMtLjgtMS0xLjMtMi4xLTEuNy0zLjNzLS40LTIuNS0uMy0zLjcgLjYtMi40IDEuMi0zLjUgMS41LTIgMi41LTIuOGMyLjEtMS43IDQuOC0yLjQgNy40LTIuMnM1LjEgMS41IDYuOSAzLjZsODEuMSA5Ni4zYy44IDEgMS4zIDIuMSAxLjcgMy4zcy40IDIuNSAuMyAzLjctLjYgMi41LTEuMiAzLjUtMS41IDIuMS0yLjUgMi44ek0xODcuNCA0MTlhMTggMTggMCAxIDAgMCAzNiAxOCAxOCAwIDEgMCAwLTM2eiJdfSxpTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibHVtb24tZHJvcCIsaWNvbjpbNTc2LDUxMixbXSwiZTdlMyIsIk00ODAgMzJjNTMgMCA5NiA0MyA5NiA5NmwwIDIyNGMwIDUzLTQzIDk2LTk2IDk2TDk2IDQ0OGMtNTMgMC05Ni00My05Ni05NkwwIDEyOEMwIDc1IDQzIDMyIDk2IDMybDM4NCAwek0zMDIuNCAxMTQuN2MtOS44LTE2LjQtMjAuNS0xNi40LTI5LjYgMGwtNjguOSAxMTRjLTEwLjcgMTUuNi0xNi40IDMyLjgtMTYuNCA1Mi41IDAgNTAuOSA0NC4zIDk0LjMgMTAwLjEgOTQuMyA1NSAwIDEwMC45LTQzLjUgMTAwLjktOTQuMyAwLTE5LjctNi42LTM3LjgtMTcuMi01Mi41bC02OC45LTExNHoiXX0sb010PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZvcmdlam8iLGljb246WzMyMCw1MTIsW10sImU4NjAiLCJNMjYxLjUgMS4yYzM0IDAgNjEuNiAyNy42IDYxLjYgNjEuNnMtMjcuNiA2MS42LTYxLjYgNjEuNmMtMjMgMC00My4xLTEyLjctNTMuNy0zMS40bC0yOC41IDBjLTI0IDAtNDcgOS41LTY0IDI2LjVzLTI2LjUgNDAtMjYuNSA2NGwwIDQzLjVjMjYtMTkuNSA1Ny43LTMwLjIgOTAuNi0zMC4ybDI4LjUgMGMxMC42LTE4LjcgMzAuNi0zMS40IDUzLjctMzEuNCAzNCAwIDYxLjYgMjcuNiA2MS42IDYxLjZzLTI3LjYgNjEuNi02MS42IDYxLjZjLTIzIDAtNDMuMS0xMi43LTUzLjctMzEuNGwtMjguNSAwYy0yNCAwLTQ3IDkuNS02NCAyNi41cy0yNi41IDQwLTI2LjUgNjRsMCA0Ny44YzE4LjcgMTAuNiAzMS40IDMwLjYgMzEuNCA1My42IDAgMzQtMjcuNiA2MS42LTYxLjYgNjEuNlMtMyA0ODMuMi0zIDQ0OS4yYzAtMjMgMTIuNy00My4xIDMxLjQtNTMuNmwwLTIxMmMwLTQwIDE1LjktNzguNCA0NC4yLTEwNi43czY2LjctNDQuMiAxMDYuNy00NC4ybDI4LjUgMGMxMC42LTE4LjcgMzAuNi0zMS40IDUzLjctMzEuNHpNNTguNiA0MjMuOWMtMTQgMC0yNS4zIDExLjMtMjUuMyAyNS4zczExLjMgMjUuNCAyNS4zIDI1LjQgMjUuNC0xMS40IDI1LjQtMjUuNC0xMS40LTI1LjMtMjUuNC0yNS4zek0yNjEuNSAyMDEuN2EyNS40IDI1LjQgMCAxIDAgMCA1MC43IDI1LjQgMjUuNCAwIDEgMCAwLTUwLjd6bTAtMTY0LjJhMjUuNCAyNS40IDAgMSAwIDAgNTAuNyAyNS40IDI1LjQgMCAxIDAgMC01MC43eiJdfSxuTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicG9zdGdyZXNxbCIsaWNvbjpbNTEyLDUxMixbXSwiZTg1OCIsIk0yMTkuOCAxNzEuM2MzLjkgLjUgMTMuMSAyLjcgMTIuMyA4LjUtLjggNS45LTkuMiA5LjEtMTQuMiA4LjQtNC43LS43LTEzLjItNi4xLTEyLjMtMTIuMWwuMy0yLjFjNC4yIDAgOC4zLTMuNSAxMy45LTIuN3ptMTY4LjEtMy40YzEwLjggMi42LTEuMSAxMy41LTYuOCAxNC4zLTQuMyAuNi0xMi4xLTIuMi0xMi44LTcuNC0xLTcuNCAxNS43LTcuOSAxOS43LTYuOXptLTIyLTE0MC44YzM1LjctLjMgODEuMyA5LjQgMTE0LjMgNTEuNyA3LjIgOS4yIDEwIDI0IDkuNyA0MC45LS44IDQ5LjYtMjYgMTI5LjQtNzAuNyAxOTcuNCA0LjUgMi45IDE3LjYgNy40IDUxLjEgLjUgNS42LTEuMiAxMi43LTIuMiAxNy42IDEuNiAxOC4yIDEzLjktMTkuNiAzNS4xLTI4LjQgMzkuMi0xMy4yIDYuMi0zNC44IDkuNS01MS4yIDguNy0yLjEtLjItNC4zLS4yLTYuMy0uNi01LjEtMS4xLTcuNC0xLTguMy0uNy0xLjEgLjMtMS40IDIuOS0xLjYgMy44LTIuOCAyNC45LTcuNyA2NC43LTEwLjcgODItMi44IDE2LjMtNy43IDI5LjMtMTcuMiAzOS4yLTkuNSA5LjktMjIuOCAxNS43LTQwLjYgMTkuNS0yMi4zIDQuOC0zNy45LS4xLTQ4LjctOS4xLTEwLjMtOC43LTE1LjItMjAuNC0xOC0yNy40LTEuOC00LjUtMy0xMS41LTQtMTkuOC0yLjMtMTkuOC0zLjMtNTAuNC0zLTgzLjMtMjQuNiAyMi4xLTU1IDE3LjItNjguMiAxMy45LTEwLjUtMi42LTMzLTE2LjEtMTcuNS0yOC43IDExLjktOS43IDMwLjMtNS41IDQyLjItMTUgMi40LTEuOSAxMS40LTEwLjYgMTEuNC0xMy41LTEwLS4zLTE5LjYtMi45LTI4LjEtNy41LTEzLjUgMTQuNS0yNi40IDI5LjUtMzkuMyA0NC42LTguMyA5LjktMTcuNCAxNS44LTI3LjQgMTYuMi05LjkgLjQtMTguNy00LjYtMjYuMS0xMS44LTcuMy03LjEtMTQuMS0xNy4yLTIwLjQtMjktMTktMzUuNS0zMy4yLTg2LjEtNDIuMy0xMjYuNC02LTI2LjctOS42LTQ5LjEtMTAuMS01OS0yLjItNDQuMyA4LTc0LjEgMjYtOTMuMiAxNy45LTE5IDQyLjQtMjYgNjYuMS0yNy40IDM1LjYtMiA3MSA4LjUgODYuNiAxMy44bDUgMS44YzE1LjktMTAuOCAzNi4xLTE3LjQgNjEuNy0xNyAxMy4yIC4yIDI1LjUgMi4yIDM2LjcgNC4yIDE4LjYtNy4xIDM5LjgtOS41IDU5LjQtOS43em0tOTYgMjAuNWMtMjQuNy0uNC00Mi45IDYuNS01Ni42IDE2LjgtLjggLjYtMS44IDEtMi44IDEuMi0xNC40IDExLjgtMjMuOSAyOC0zMC4zIDQ0LjgtNy4yIDE5LjEtMTAgMzguNS0xMS4xIDUxLjUgNy42LTQuMyAxNy45LTguNyAyOC43LTExLjIgMTAuNS0yLjQgMjIuNC0zLjIgMzIuNyAuOCAxMC45IDQuMiAxOSAxMy4zIDIyLjIgMjguMSA3LjUgMzQuNyA2LjcgNTguMiAyLjcgNzUuOS00LjggMjEtMTYuOCAzOS41LTIxLjkgNjAuNCAzLjUtLjkgNy4xLS42IDkuOCAuMWw3LjIgMi45YzcuNyA0LjQgMTIuOCAxMyAxNCAyMS43IDIgNiAuMSAxNC4zIDAgMjAuNiA2LjcgMTYuMyA3LjIgMzYuMSA2LjcgNTMuMy0uNyAyNS0xIDQwLjIgMy4yIDUxLjcgMi45IDcuOSA0LjcgMTYuNCAxMC40IDIyLjggMi42IDMgNi4xIDUuNSAxMC45IDYuOCAxOC41IDUuMSA0NC00LjcgNTYuNi0xOC4yIDcuNy04LjIgMTIuMy0xOS4zIDEzLjQtMzMuOSAxLjEtMTMuNiA0LjItMjcuNiA2LjMtNDEuMWwyLjktOC44YzEuNy0xNC44IDMuNC0yOS42IDUtNDQuNC0uNC05LjEgLjktMTYuMSAzLjktMjEuNSAzLjEtNS43IDcuNi04LjkgMTEuOC0xMC44IDEuOC0uOCAzLjktMS4yIDUuNi0yLTEuNi0yLjQtMy42LTQuNi01LjMtNi44LTguMi0xMC40LTEzLjMtMjIuMy0xOS43LTMzLjgtOC41LTE1LjItMjMuOC00Mi4yLTMwLjEtNjcuNS00LjEtMTYuNC00LjktMzQuNSA2LTQ3IDkuOC0xMS4yIDI2LjktMTUuNSA1MS45LTEzLTMuNC0xMC0xMS40LTI3LjUtMjQuOC00NC43LTE4LTIzLTQ1LjctNDUuOS04NS43LTUzLjEtNy4zLS45LTE1LjItMS41LTIzLjYtMS43em0tMzIuMiAyODJjLTggLjctMTUuNSAxOC4yLTIxLjcgMjMuMS02LjIgNC45LTE0LjUgNy42LTMwIDEwLjctNC41IC45LTcuNyAxLjktOS43IDIuOCAyMi4zIDE1LjggNTguMyAzLjIgNzIuNi0xNi44IDEuNy0yLjQgMi4xLTYgLjUtMTAuMi0xLjctNC41LTYuNC0xMC4xLTExLjktOS42ek0xMTcuNiA0OS4yYy0yMS42IDEuMi00MiA3LjUtNTYuNCAyMi44LTE0LjQgMTUuMi0yNC4yIDQwLjYtMjIuMSA4Mi41IC40IDguNSAzLjggMzAgOS44IDU2LjYgOC45IDM5LjggMjMuNyA5MC4zIDQwLjYgMTIyLjIgNiAxMS4xIDE3LjQgMzMgMzIuOCAzMi4zIDQuNC0uMiAxMC4xLTIuOCAxNy0xMSAxMi42LTE0LjggMjUuMi0yOS41IDM4LjUtNDMuNy0xNy45LTE1LjQtMjguNS00MC4zLTI0LjgtNjcuMiAzLjQtMjQuMyAuNS00OC4yIDEuMi03Mi41IC40LTExLjkgMi4zLTM4LjcgMTIuNi02NS44IDUuOS0xNS41IDE0LjUtMzEuMyAyNy40LTQ0LjItMTYuNC01LjQtNDcuMS0xMy41LTc2LjYtMTEuOXpNNDA1LjEgMzI4LjljLTMuOCAxLjEtNi43IDIuMi04LjcgNS44LTEuMyAyLjQtMi41IDYuNy0yLjIgMTQuMiA0LjggMy45IDE0LjEgMy4zIDE5LjggMy4yIDEzLjktLjIgMjkuOS0zLjEgMzkuMy03LjUgNy45LTMuNyAxNC43LTguMyAxOS0xMi4yLTM4LjIgNy43LTU1LjQgMi4xLTYzLjItNC44LTEuMyAuNC0yLjkgLjktMy45IDEuMnpNMjI1LjMgMTY0LjljLTE1LjQtNS45LTM1LjQgMS44LTQ4LjkgOS40LTMuNiAyLTYuNSA0LTcuOSA1LjIgLjQgOC44IDIuOCAzNi4xLTEuNCA2Ni4zLTUuMSAzNi42IDIxLjcgNjYuNiA1Mi41IDY2LjcgNS4xLTIwLjggMTctMzkuMiAyMS44LTYwLjEgMy41LTE1LjMgNC41LTM2LjYtMi43LTY5LjctMi4zLTEwLjUtNy40LTE1LjQtMTMuNC0xNy43ek0zNzAuMSA0Mi4yYy0xNS4yLS4yLTI4LjggMS43LTM5LjIgMy44IDI2IDExLjggNDUuNiAyOS43IDU5LjYgNDcuNiAxNy40IDIyLjIgMjYuMyA0NC4xIDI5IDU1IC43IDIuNyAxLjMgNS43IC41IDguNCAuNiAxOC45LTQgMzEuMy00LjYgNDkuMi0uNCAxMi45IDIuOSAyOC4xIDMuNyA0NC43IC44IDE1LjctMSAzMi41LTExLjIgNDkuNSAuOCAxIDEuNiAyLjEgMi40IDMuMSAyNi44LTQyLjIgNDYtODguNiA1Ni4zLTEyOC41IDUuNS0yMS40IDguNC00MC43IDguNy01Ni4xIC4yLTE1LjItMi0yNS40LTUuOC0zMC40LTI4LjMtMzYuMS02Ni44LTQ1LjgtOTkuMy00Ni4yem0zNS42IDExOS41Yy0yNS4zLTMuMi0zNy4zIDEuNS00Mi44IDcuNy02IDYuOC02LjggMTguNS0yLjkgMzQuMSA1LjcgMjIuNiAyMC4xIDQ4LjYgMjguNyA2NCAzLjYgNi40IDYuNCAxMy4xIDEwIDE5LjQgNS41LTExLjcgNi42LTIzLjUgNi0zNS41LS43LTE1LTQuMi0zMC4zLTMuNy00NS44bC40LTcuNGMxLjItMTQuMyA0LjEtMjQuNiA0LjItMzYuNXoiXX0sbE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndlZWJseSIsaWNvbjpbNTEyLDUxMixbXSwiZjVjYyIsIk00MjUuMSA2NS44Yy0zOS45IDAtNzMuMyAyNS43LTgzLjcgNjQuMy0xOC4yLTU4LjEtNjUuNS02NC4zLTg1LTY0LjMtMTkuOCAwLTY2LjggNi4zLTg1LjMgNjQuMy0xMC40LTM4LjYtNDMuNC02NC4zLTgzLjctNjQuMy00OSAwLTg3LjUgMzMuOS04Ny41IDc3LjIgMCAyOSA0LjIgMzMuMyA3Ny4yIDIzMy41IDIyLjQgNjAuNiA2Ny44IDY5LjQgOTIuNyA2OS40IDM5LjIgMCA3MC0xOS41IDg1LjktNTQgMTUuOSAzNC44IDQ2LjcgNTQuMyA4NS45IDU0LjMgMjUgMCA3MC40LTkuMSA5Mi43LTY5LjcgNzYuNi0yMDguNiA3Ny41LTIwNS42IDc3LjUtMjI3LjIgLjYtNDguMy0zNi04My41LTg2LjktODMuNXptMjYuMyAxMTQuOEwzODUuOSAzNTcuMWMtNy45IDIxLjUtMjEuMiAzNy4yLTQ2LjIgMzcuMi0yMy40IDAtMzcuNC0xMi40LTQ0LTMzLjlsLTM5LjMtMTE3LjQtMSAwLTM5LjMgMTE3LjRjLTcgMjEuNS0yMC45IDMzLjYtNDQgMzMuNi0yNSAwLTM4LjMtMTUuNy00Ni4yLTM3LjJMNjAuOSAxODEuNmMtNS40LTE0LjgtNy45LTIzLjktNy45LTM0LjUgMC0xNi4zIDE1LjgtMjkuNCAzOC4zLTI5LjQgMTguNyAwIDMyIDExLjggMzYuMSAyOS4xbDQ0IDEzOS44IDEgMCA0NC43LTEzNi44YzYtMTkuNyAxNi41LTMyLjEgMzktMzIuMXMzMi45IDEyLjEgMzkgMzIuMWw0NC43IDEzNi44IDEgMCA0NC0xMzkuOGM0LjEtMTcuMiAxNy40LTI5LjEgMzYuMS0yOS4xIDIyLjIgMCAzOC4zIDEzLjMgMzguMyAzNS43LS4zIDcuOS00LjEgMTYtNy42IDI3LjJ6Il19LGNNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkb2NrZXIiLGljb246WzY0MCw1MTIsW10sImYzOTUiLCJNMzQ5LjkgMjM2LjNsLTY2LjEgMCAwLTU5LjQgNjYuMSAwIDAgNTkuNHptMC0yMDQuM2wtNjYuMSAwIDAgNjAuNyA2Ni4xIDAgMC02MC43em03OC4yIDE0NC44bC02Ni4xIDAgMCA1OS40IDY2LjEgMCAwLTU5LjR6TTI3MS44IDEwNC43bC02Ni4xIDAgMCA2MC4xIDY2LjEgMCAwLTYwLjF6bTc4LjEgMGwtNjYuMSAwIDAgNjAuMSA2Ni4xIDAgMC02MC4xem0yNzYuOCAxMDBjLTE0LjQtOS43LTQ3LjYtMTMuMi03My4xLTguNC0zLjMtMjQtMTYuNy00NC45LTQxLjEtNjMuN2wtMTQtOS4zLTkuMyAxNGMtMTguNCAyNy44LTIzLjQgNzMuNi0zLjcgMTAzLjgtOC43IDQuNy0yNS44IDExLjEtNDguNCAxMC43bC00MzQuNyAwYy04LjcgNTAuOCA1LjggMTE2LjggNDQgMTYyLjEgMzcuMSA0My45IDkyLjcgNjYuMiAxNjUuNCA2Ni4yIDE1Ny40IDAgMjczLjktNzIuNSAzMjguNC0yMDQuMiAyMS40IC40IDY3LjYgLjEgOTEuMy00NS4yIDEuNS0yLjUgNi42LTEzLjIgOC41LTE3LjFsLTEzLjMtOC45ek0xMTUuNiAxNzYuOGwtNjYgMCAwIDU5LjQgNjYuMSAwIDAtNTkuNC0uMSAwem03OC4xIDBsLTY2LjEgMCAwIDU5LjQgNjYuMSAwIDAtNTkuNHptNzguMSAwbC02Ni4xIDAgMCA1OS40IDY2LjEgMCAwLTU5LjR6bS03OC4xLTcyLjFsLTY2LjEgMCAwIDYwLjEgNjYuMSAwIDAtNjAuMXoiXX0sZE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1hZ2VudG8iLGljb246WzQ0OCw1MTIsW10sImYzYzQiLCJNNDQ1LjkgMTI3LjlsMCAyNTYuMS02My40IDM2LjUgMC0yNTUuOC0xNTguNS05MS42LTE1OC42IDkxLjYgLjQgMjU1LjktNjMuMy0zNi42IDAtMjU1LjkgMjIxLjktMTI4LjEgMjIxLjUgMTI3Ljl6TTI1NS44IDQyMC41bC0zMS42IDE4LjQtMzEuOC0xOC4yIDAtMjU2LTYzLjMgMzYuNiAuMSAyNTUuOSA5NC45IDU0LjkgOTUuMS01NC45IDAtMjU2LTYzLjQtMzYuNiAwIDI1NS45eiJdfSx1TXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidG9yLWJyb3dzZXIiLGljb246WzUxMiw1MTIsW10sImU4MzgiLCJNMjU2LjUgNDY1LjRsMC0zMWM5OC4zLS4zIDE3Ny45LTgwIDE3Ny45LTE3OC40UzM1NC44IDc3LjkgMjU2LjUgNzcuNmwwLTMxQzM3MiA0Ni44IDQ2NS40IDE0MC41IDQ2NS40IDI1NlMzNzIgNDY1LjIgMjU2LjUgNDY1LjR6bTAtMTA4LjZjNTUuNC0uMyAxMDAuMy00NS4zIDEwMC4zLTEwMC44UzMxMiAxNTUuNSAyNTYuNSAxNTUuMmwwLTMxYzcyLjYgLjMgMTMxLjQgNTkuMiAxMzEuNCAxMzEuOFMzMjkuMSAzODcuNiAyNTYuNSAzODcuOGwwLTMxem0wLTE1NS4xYzI5LjcgLjMgNTMuOCAyNC41IDUzLjggNTQuM3MtMjQgNTQtNTMuOCA1NC4zbDAtMTA4LjZ6TTAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDAgMjU2IDI1NiAwIDEgMCAtNTEyIDB6Il19LHBNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnaXQtYWx0IixpY29uOls0NDgsNTEyLFtdLCJmODQxIiwiTTQzOS42IDIzNi4xTDI0NCA0MC41QzIzOC42IDM1IDIzMS4yIDMyIDIyMy42IDMycy0xNSAzLTIwLjQgOC40bC00MC43IDQwLjYgNTEuNSA1MS41YzI3LjEtOS4xIDUyLjcgMTYuOCA0My40IDQzLjdsNDkuNyA0OS43YzM0LjItMTEuOCA2MS4yIDMxIDM1LjUgNTYuNy0yNi41IDI2LjUtNzAuMi0yLjktNTYtMzcuM2wtNDYuMy00Ni4zIDAgMTIxLjljMjUuMyAxMi41IDIyLjMgNDEuOCA5LjEgNTUtNi40IDYuNC0xNS4yIDEwLjEtMjQuMyAxMC4xcy0xNy44LTMuNi0yNC4zLTEwLjFjLTE3LjYtMTcuNi0xMS4xLTQ2LjkgMTEuMi01NmwwLTEyM2MtMjAuOC04LjUtMjQuNi0zMC43LTE4LjYtNDVMMTQyLjYgMTAxIDguNSAyMzUuMUMzIDI0MC42IDAgMjQ3LjkgMCAyNTUuNXMzIDE1IDguNSAyMC40TDIwNC4xIDQ3MS42YzUuNCA1LjQgMTIuNyA4LjQgMjAuNCA4LjRzMTUtMyAyMC40LTguNEw0MzkuNiAyNzYuOWM1LjQtNS40IDguNC0xMi44IDguNC0yMC40cy0zLTE1LTguNC0yMC40eiJdfSxmTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmlyZWZveC1icm93c2VyIixpY29uOls1MTIsNTEyLFtdLCJlMDA3IiwiTTEzMC4yIDEyNy41bDAgMHptMzUxLjQgNDUuNGMtMTAuNi0yNS41LTMyLjEtNTMtNDguOS02MS43IDEzLjcgMjYuOSAyMS43IDUzLjkgMjQuNyA3NCAwIC4xIDAgLjMgLjEgLjQtMjcuNi02OC44LTc0LjQtOTYuNS0xMTIuNi0xNTYuOC0xNS0yMy43LTEwLjktMjUuMi0xMy4xLTI0LjdsLS4xIC4xYy00Ni43IDI2LTc1LjMgNzguNC04Mi42IDEyMi43LTE2LjYgLjktMzIuOSA1LTQ3LjkgMTIuMS0xLjQgLjYtMi41IDEuNy0zLjEgM3MtLjkgMi44LS42IDQuM2MuMiAuOCAuNiAxLjYgMS4xIDIuM3MxLjIgMS4zIDEuOSAxLjcgMS42IC43IDIuNCAuOCAxLjcgMCAyLjUtLjNsLjUtLjJjMTUuNS03LjMgMzIuNC0xMS4yIDQ5LjUtMTEuMyA2Mi44LS42IDk3LjIgNDQgMTA3LjYgNjIuMy0xMy05LjItMzYuNC0xOC4yLTU4LjgtMTQuMyA4Ny43IDQzLjkgNjQuMiAxOTQuNS01Ny40IDE4OS4yLTU5LjUtMi42LTk3LjEtNTEtMTAwLjUtOTAuOCAwIDAgMTEuMi00MS45IDgwLjYtNDEuOSA3LjUgMCAyOC45LTIwLjkgMjkuMy0yNy0uMS0yLTQyLjUtMTguOS01OS4xLTM1LjItOC44LTguNy0xMy4xLTEyLjktMTYuOC0xNi4xLTItMS43LTQuMS0zLjMtNi4zLTQuOC01LjYtMTkuNS01LjgtNDAtLjctNTkuNi0yNS4xIDExLjQtNDQuNiAyOS40LTU4LjcgNDUuNGwtLjEgMGMtOS43LTEyLjItOS01Mi42LTguNC02MS4xLS4xLS41LTcuMiAzLjctOC4yIDQuMy04LjYgNi4xLTE2LjUgMTIuOS0yMy44IDIwLjQtMTYuMyAxNi42LTQ0LjEgNTAuMi01NS41IDEwMS4yLTQuNSAyMC40LTYuOCA0NC40LTYuOCA1Mi4zIDAgMTM0LjcgMTA5LjIgMjQzLjkgMjQzLjkgMjQzLjkgMTIwLjYgMCAyMjMtODcuMiAyNDAuNC0yMDIuNiAxMS42LTc2LjctMTQuNy0xMzEuMS0xNC43LTEzMnoiXX0saE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNsb3Vkc21pdGgiLGljb246WzUxMiw1MTIsW10sImYzODQiLCJNNTEyIDIyNy42TDUxMiAyODQuNSAyODQuNCA1MTIgMjI3LjYgNTEyIDAgMjg0LjQgMCAyMjcuNiAyMjcuNiAwIDI4NC41IDAgNTEyIDIyNy42em0tMjU2IDE2MmMxNy44IC41IDM1LjYtMi42IDUyLjItOS4xczMxLjgtMTYuMiA0NC42LTI4LjcgMjMtMjcuMyAyOS45LTQzLjggMTAuNS0zNC4xIDEwLjUtNTItMy42LTM1LjUtMTAuNS01Mi0xNy4xLTMxLjMtMjkuOS00My44LTI4LTIyLjItNDQuNi0yOC43LTM0LjQtOS42LTUyLjItOS4xYy0xNy44LS41LTM1LjYgMi42LTUyLjIgOS4xcy0zMS44IDE2LjMtNDQuNiAyOC43LTIzIDI3LjMtMjkuOSA0My44LTEwLjUgMzQuMS0xMC41IDUyIDMuNiAzNS41IDEwLjUgNTIgMTcuMSAzMS4zIDI5LjkgNDMuOCAyOCAyMi4yIDQ0LjYgMjguNyAzNC40IDkuNiA1Mi4yIDkuMXoiXX0sbU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndpemFyZHMtb2YtdGhlLWNvYXN0IixpY29uOls2NDAsNTEyLFtdLCJmNzMwIiwiTTIxOS4yIDM0NS43Yy0xLjkgMS40LTExLjEgOC40LS4zIDIzLjYgNC42IDYuNCAxNC4xIDEyLjggMjEuNyA2LjYgNi41LTQuOSA3LjQtMTIuOSAuMy0yMy01LjUtNy44LTE0LjMtMTIuOS0yMS43LTcuMXptMzM2LjggNzUuOWMtLjMgMS43LS42IDEuNyAuOCAwIDIuMS00LjIgNC4yLTEwLjIgNS0xOS45IDMuMS0zOC41LTQwLjMtNzEuNS0xMDEuMy03OC01NC43LTYtMTI0LjQgOS4yLTE4OC44IDYwLjVsLS4zIDEuNmMyLjYgNSA1IDEwLjcgMy40IDIxLjJsLjggLjNjNjMuOS01OC40IDEzMS4yLTc3LjIgMTg0LjQtNzMuOCA1OC40IDMuNyAxMDAgMzQgMTAwIDY4LjEgMCAxMC0yLjYgMTUuNy0zLjkgMjAuMnpNMzkyLjMgMjQwLjRjLjggNy4xIDQuMiAxMC4yIDkuMiAxMC41IDUuNSAuMyA5LjQtMi42IDEwLjUtNi42IC44LTMuNCAyLjEtMjkuOCAyLjEtMjkuOFM0MDIuOCAyMjEgMzk5LjEgMjI1Yy0zLjcgMy43LTcuMyA4LjQtNi44IDE1LjV6bS01MC0xNTEuMWMtMjA0LjUgMC0zMjkuMiAxMzcuNS0zNDEuNSAxNTEuOS0xIC41LTEuMyAuOCAuOCAxLjMgNjAuNSAxNi41IDE1NS44IDgxLjIgMTk2LjEgMjAyLjJsMSAuM2M1NS4yLTY5LjkgMTQwLjktMTI4LjEgMjM3LTEyOC4xIDgwLjkgMCAxMzAuMiA0Mi4yIDEzMC4yIDgwLjQgMCAxOC4zLTYuNiAzMy41LTIyLjMgNDYuMyAwIDEtLjIgLjggLjggLjggMTQuNy0xMC43IDI3LjUtMjguOCAyNy41LTQ4LjIgMC0yMi44LTEyLjEtMzguMi0xMi4xLTM4LjIgNy4xIDcuMSAxMC43IDE2LjIgMTAuNyAxNi4yIDUuOC00MC45IDI3LTYyLjMgMjctNjIuMy0yLjQtOS43LTYuOC0xNy44LTYuOC0xNy44IDcuNiA4LjEgMTQuNCAyNy41IDE0LjQgNDEuNCAwIDEwLjUtMy40IDIyLjgtMTIuNiAzMS45bC4zIC41YzguMS01IDE2LjUtMTYuOCAxNi41LTM4IDAtMTUuNy00LjctMjUuOS00LjctMjUuOSA1LjgtNS4yIDExLjMtOS4yIDE2LTExLjggLjggMy40IDIuMSA5LjcgMi40IDE0LjkgMCAxIC44IDEuOCAxIDAgLjgtNS44LS4zLTE2LjItLjMtMTYuNSA2LTMuMSA5LjctNC41IDkuNy00LjUtMTUuNy0xMTAuMy0xNDQtMTk2LjktMjkxLjItMTk2Ljl6TTI0MyAzNzguOWMtMTEuMSA5LTI0LjIgNC4xLTMwLjYtNC4yLTcuNC05LjYtNi44LTI0LjEgNC4yLTMyLjUgMTQuOC0xMS40IDI3LjEtLjUgMzEuMiA1LjUgLjMgLjQgMTIuMSAxNi42LTQuNyAzMS4yem0yLjEtMTM2LjRsOS40LTE3LjggMTEuOCA3MS0xMi42IDYtMjQuNi0yOC44IDE0LjEtMjYuNyAzLjcgNC40LTEuOC04LjF6bTE4LjYgMTE3LjZsLS4zLS4zYzItNC4xLTIuNS02LjYtMTcuNS0zMS43LTEuMy0yLjQtMy4xLTIuOS00LjQtMi42bC0uMy0uNWM3LjktNS44IDE1LjQtMTAuMiAyNS40LTE1LjdsLjUgLjNjMS4zIDEuOCAyLjEgMi45IDMuNCA0LjdsLS4zIC41Yy0xLS4zLTIuNC0uOC01LjIgLjMtMi4xIC44LTcuOSAzLjctMTIuMyA3LjZsMCAxLjNjMS42IDIuNCAzLjkgNi42IDUuOCA5LjdsLjMgMGMxMC02LjMgNy42LTQuNSAxMS41LTcuOWwuMyAwYy41IDEuOCAuNSAxLjggMS44IDUuNWwtLjMgLjNjLTMuMSAuNi00LjcgLjMtMTEuNSA1LjVsMCAuM2M5LjUgMTcgMTEgMTYuOCAxMi42IDE2bC4zIC4zYy0yLjMgMS42LTYuMyA0LjItOS43IDYuNnpNMzE5IDMyNy42Yy0zLjEgMS42LTYgMi45LTEwIDVsLS4zLS4zYzEuMy0yLjYgMS4yLTIuNy0xMS44LTMyLjVsLS4zLS4zYy0uMiAwLTguOSAzLjctMTAgNy4zbC0uNSAwLTEtNS44IC4zLS41YzcuMy00LjYgMjUuNS0xMS42IDI3LjgtMTIuNmwuNSAuMyAzLjEgNS0uMyAuNWMtMy41LTEuOC03LjQgLjgtMTIuMyAyLjZsMCAuM2MxMi4zIDMyIDEyLjcgMzAuNiAxNC43IDMwLjZsMCAuMnptNDQuOC0xNi41Yy00LjIgMS01LjIgMS4zLTkuNyAyLjlsLS4zLS4zIC41LTQuNWMtMS0zLjQtMy4xLTExLjUtMy43LTEzLjZsLS4zLS4zYy0zLjQgLjgtOC45IDIuNi0xMi44IDMuOWwtLjMgLjNjLjggMi42IDMuMSA5LjkgNC4yIDEzLjkgLjggMi40IDEuOCAyLjkgMi45IDMuMWwwIC41Yy0zLjcgMS03LjEgMi42LTEwLjIgMy45bC0uMy0uM2MxLTEuMyAxLTIuOSAuMy01LTEtMy4xLTguMS0yMy44LTkuMi0yNy4yLS41LTEuOC0xLjYtMy4xLTIuNi0zLjFsMC0uNWMzLjEtMSA2LTIuMSAxMC43LTMuNGwuMyAuMy0uMyA0LjdjMS4zIDMuOSAyLjQgNy42IDMuMSA5LjdsLjMgMGMzLjktMS4zIDkuNC0yLjkgMTIuOC0zLjlsLjMtLjMtMi42LTkuNGMtLjUtMS44LTEtMy40LTIuNi0zLjlsMC0uM2M0LjQtMSA3LjMtMS44IDEwLjctMi40bC4zIC4zYy0xIDEuMy0xIDIuOS0uNSA0LjQgMS42IDYuMyA0LjcgMjAuNCA2LjMgMjYuNSAuNSAyLjYgMS44IDMuNCAyLjYgMy45em0zMi4yLTYuOGwtLjMgLjNjLTQuNyAuNS0xNC4xIDIuNC0yMi41IDQuMmwtLjMtLjMgLjgtNC4yYy0xLjYtNy45LTMuNC0xOC42LTUtMjYuMi0uMy0xLjgtLjgtMi45LTIuNi0zLjdsLjgtLjVjOS4yLTEuNiAyMC4yLTIuNCAyNC45LTIuNmwuMyAuM2MuNSAyLjQgLjggMy4xIDEuNiA1LjVsLS4zIC4zYy0xLjEtMS4xLTMuMy0zLjItMTYuMi0uOGwtLjMgLjNjLjMgMS42IDEgNi42IDEuNiA5LjlsLjMgLjNjOS41LTEuNyA0LjgtLjEgMTAuNy0yLjRsLjMgMGMwIDEuNi0uMyAxLjgtLjMgNS4ybC0uMyAwYy00LjgtMS0yLjItLjktMTAuMiAwbC0uMyAuM2MuMyAyLjEgMS42IDkuNCAyLjEgMTIuNmwuMyAuM2MxLjIgLjQgMTQuMi0uNiAxNi4yLTQuN2wuMyAwYy0uNSAyLjQtMSA0LjItMS42IDZ6bTEwLjctNDQuNWMtNC41IDIuNC04LjEgMi45LTExIDIuOS0uMiAwLTExLjQgMS4xLTE3LjUtMTAtNi43LTEwLjgtMS0yNS4yIDUuNS0zMS43IDguOC04LjEgMjMuNC0xMC4xIDI4LjUtMTcgOC0xMC4zLTEzLTIyLjMtMjkuNi01LjhsLTIuNi0yLjkgNS4yLTE2LjJjMjUuNi0xLjYgNDUuMi0zIDUwIDE2LjIgLjggMy4xIDAgOS40LS4zIDEyLjEgMCAyLjYtMS44IDE4LjgtMi4xIDIzLS41IDQuMi0uOCAxOC4zLS44IDIwLjcgLjMgMi40IC41IDQuMiAxLjYgNS41IDEuNiAxLjggNS44IDEuOCA1LjggMS44bC0uOCA0LjdjLTExLjgtMS4xLTEwLjMtLjYtMjAuNC0xLTMuMi01LjEtMi4yLTMuMy00LjItNy45IDAgMC00LjIgMy45LTcuMyA1LjV6TTQ0My45IDI4MWMtNi40LTEwLjYtMTkuOC03LjItMjEuNyA1LjUtMi42IDE3LjEgMTQuMyAxOS44IDIwLjcgMTAuMmwuMyAuM2MtLjUgMS44LTEuOCA2LTEuOCA2LjNsLS41IC41Yy0xMC4zIDYuOS0yOC41LTIuNS0yNS43LTE4LjYgMS45LTEwLjkgMTQuNC0xOC45IDI4LjgtOS45bC4zIC41YzAgMS4xLS4zIDMuNC0uMyA1LjN6bTUuOC04Ny43bDAtNi42Yy43IDAgMTkuNiAzLjMgMjcuOCA3LjNsLTEuNiAxNy41czEwLjItOS40IDE1LjQtMTAuN2M1LjItMS42IDE0LjkgNy4zIDE0LjkgNy4zbC0xMS4zIDExLjNjLTEyLjEtNi40LTE5LjYtLjEtMjAuNyAuOC01LjMgMzguNy04LjYgNDIuMiA0LjQgNDYuMWwtLjUgNC43Yy0xNy42LTQuMy0xOC41LTQuNS0zNi45LTcuM2wuOC00LjdjNy4zIDAgNy41LTUuMyA3LjYtNi44IDAgMCA1LTUzLjIgNS01NS4zIDAtMi45LTUtMy43LTUtMy43em0xMSAxMTQuNGMtOC4xLTIuMS0xNC4xLTExLTEwLjctMjAuNyAzLjEtOS40IDEyLjMtMTIuMyAxOC45LTEwLjIgOS4yIDIuNiAxMi44IDExLjggMTAuNyAxOS40LTIuNiA4LjktOS40IDEzLjktMTguOSAxMS41em00Mi4yIDkuN2MtMi40LS41LTcuMS0yLjQtOC42LTIuOWwwLS4zIDEuNi0xLjhjLjYtOC4yIC42LTcuMyAuMy03LjYtNC44LTEuOC02LjctMi40LTcuMS0yLjQtMS4zIDEuOC0yLjkgNC41LTMuNyA1LjVsLS44IDMuNCAwIC4zYy0xLjMtLjMtMy45LTEuMy02LTEuNmwwLS4zIDIuNi0xLjhjMy40LTQuNyAxMC0xNC4xIDEzLjktMjAuMmwwLTIuMSAuNS0uM2MyLjEgLjggNS41IDIuMSA3LjYgMi45IC41IC41IC4yLTEuOS0xIDI1LjEtLjIgMS44IDAgMi42IC44IDMuOXptLTQuNy04OS44YzExLjMtMTguMyAzMC44LTE2LjIgMzQtMy40bDcuNi0yNi4yYzIuMy02LjItMi44LTkuOS00LjUtMTEuM2wxLjgtMy43YzEyLjIgMTAuNCAxNi40IDE0IDIyLjUgMjAuNC0yNS45IDczLjEtMzAuOCA4MC44LTI0LjYgODQuM2wtMS44IDQuNGMtNi40LTMuMy04LjktNC40LTE3LjgtOC42bDIuMS02LjhjLS4zLS4zLTMuOSAzLjktOS43IDMuNy0xOS4xLTEuMy0yMi45LTMxLjctOS43LTUyLjl6bTI5LjMgNzkuM2MwLTUuNy02LjMtNy45LTcuOS01LjItMS4zIDIuMSAxIDUgMi45IDguNCAxLjYgMi42IDIuNiA2LjMgMSA5LjQtMi42IDYuMy0xMi40IDUuMy0xNS40LS44IDAtLjctLjMgLjEgMS44LTQuN2wuOC0uM2MtLjYgNS43IDYuMSA5LjYgOC40IDUgMS0yLjEtLjUtNS41LTIuMS04LjQtMS42LTIuNi0zLjctNi4zLTEuOC05LjcgMi43LTUuMSAxMS4zLTQuNSAxNC43IDIuNGwwIC41LTIuNCAzLjR6bTIxLjIgMTMuNGMtMi0zLjMtLjktMi4xLTQuNS00LjdsLS4zIDBjLTIuNCA0LjItNS44IDEwLjUtOC42IDE2LjItMS4zIDIuNC0xIDMuNC0uOCAzLjlsLS4zIC4zLTUuOC00LjQgLjMtLjMgMi4xLTEuM2MzLjEtNS44IDYuNi0xMi4xIDkuMi0xN2wwLS4zYy0yLjYtMi0xLjItMS41LTYtMS44bDAtLjMgMy4xLTMuNCAuMyAwYzMuNyAyLjQgMTAgNi44IDEyLjMgOC45bC4zIC4zLTEuMyAzLjl6TTU3NS44IDI3NmwtMi45LTIuOWMuOC0yLjQgMS44LTUgMi4xLTcuNiAuNy05LjctMTEuNS0xMS44LTExLjUtNSAwIDUgNy45IDE5LjQgNy45IDI3LjggMCAxMC4yLTUuOCAxNS43LTEzLjkgMTYuNS04LjQgLjgtMjAuMi0xMC41LTIwLjItMTAuNWw1LTE0LjQgMi45IDIuMWMtMyAxNy44IDE3LjcgMjAuNCAxMy4zIDUuMi0xLjEtNC0xOC43LTM0LjIgMi4xLTM4LjIgMTMuNi0yLjQgMjMgMTYuNSAyMyAxNi41TDU3NS44IDI3NnptMzUuNi0xMC4yYy0xMS0zMC40LTYwLjUtMTI3LjUtMTkyLTEyOS42LTUzLjQtMS05NC4zIDE1LjQtMTMyLjggMzhsODUuNi05LjItOTEuNCAyMC43IDI1LjEgMTkuNi0zLjktMTYuNWM3LjUtMS43IDM5LjEtOC41IDY2LjgtOC45bC0yMi4zIDgwLjRjMTMuNi0uNyAxOS05IDE5LjYtMjIuOGw1LTEgLjMgMjYuN2MtMjIuNSAzLjItMzcuMyA2LjctNDkuNSA5LjlsMTMuMS00My4yLTYxLjUtMzYuNyAyLjQgOC4xIDEwLjIgNWM2LjMgMTguNiAxOS40IDU2LjYgMjAuNCA1OC43IDIgNC4zIDMuMiA1LjggMTIgNC41bDEuMSA1Yy0xNi4xIDQuOS0yMy43IDcuNi0zOSAxNC40bC0yLjQtNC43YzQuNC0yLjkgOC43LTMuOSA1LjUtMTIuOC0yMy43LTYyLjUtMjEuNS01OC4xLTIyLjgtNTkuNGwyLjQtNC40IDMzLjUgNjcuM2MtMy44LTExLjkgMS43IDEuNy0zMy03OC44bC00MS45IDg4LjUgNC43LTEzLjktMzUuOS00Mi4yIDI3LjggOTMuNS0xMS44IDguNGMtMTExLjktMTAxLjctMTA1LjgtOTguNC0xMTMuNy05OC43LTUuNS0uMy0xMy42IDUuNS0xMy42IDUuNWwtNS02YzMwLjYtMjMuNSAzMS42LTI0LjMgNTguNC00Mi43bDQuMiA3LjFzLTUuOCA0LjItNy45IDcuMWMtNS45IDkuMyAxLjcgMTMuMyA2MS44IDc1LjdsLTE4LjgtNTguOSAzOS44LTEwLjIgMjUuNyAzMC42IDQuNC0xMi4zLTUtMjQuNiAxMy4xLTMuNCAuNSAzLjEgMy43LTEwLjUtOTQuMyAyOS4zIDExLjMtNS0xMy42LTQyLjQgMTcuMy05LjIgMzAuMSAzNi4xIDI4LjUtMTMuMWMtMS40LTcuNS0yLjUtMTQuNS00LjctMTkuNmwxNy4zIDEzLjkgNC43LTIuMS01OS4yLTQyLjcgMjMuMSAxMS41YzE5LTYuMSAyNS4yLTcuNSAzMi4yLTkuN2wyLjYgMTFjLTEyLjYgMTIuNiAxLjQgMTYuOCA2LjUgMTkuNGwtMTMuNi02MSAxMiAyOC4zYzQuMi0xLjMgNy4zLTIuMSA3LjMtMi4xbDIuNiA4LjZzLTMuMSAxLTYuMyAyLjFsOC45IDIxIDMzLjgtNjUuNy0yMC43IDYxYzQyLjQtMjQuMSA4MS40LTM2LjcgMTMyLTM1LjkgNjcgMSAxNjcuMyA0MC44IDE5OS44IDEzOS44IC44IDIuMSAwIDIuNi0uOCAuM3ptLTQwOC0xMTMuNHMxLjgtLjUgNC4yLTEuM2w5LjQgNy42Yy0uNCAwLTMuNC0uMy0xMS4zIDIuNGwtMi40LTguNnptMTQzLjggMzguNWMtMS42LS42LTI2LjUtNC44LTMzLjMgMjAuN2wyMS43IDE3IDExLjUtMzcuN3pNMzE4LjQgNjcuMWMtNTguNCAwLTEwNi4xIDEyLTExNSAxNC40bDAgLjhjOC40IDIuMSAxNC40IDQuMiAyMS4yIDExLjhsMS42IC4zYzYuNi0xLjggNDktMTMuOSAxMTAuMi0xMy45IDE4MC4yIDAgMzAxLjcgMTE2LjggMzAxLjcgMjIzLjRsMCAxMGMwIDEuMyAuOCAyLjYgMS4xIC41IC41LTIuMSAuOC04LjYgLjgtMTkuNiAuMy04My44LTk2LjYtMjI3LjYtMzIxLjYtMjI3LjZ6TTUyOS41IDIzNi44YzEuMy01LjggMC0xMi4zLTcuMy0xMy4xLTkuNi0xLjEtMTYuMSAyMy44LTE3IDMzLjUtLjggNS41LTEuMyAxNC45IDYgMTQuOSA0LjcgMCA5LjctLjkgMTguMy0zNS40ek00NjggMjc5LjdjLTIuNi0uOC05LjQtLjgtMTIuNiAxMC41LTEuOCA2LjggLjUgMTMuNCA2IDE0LjcgMy43IDEuMSA4LjkgLjUgMTEuOC0xMC43IDIuNi05LjktMS44LTEzLjYtNS4yLTE0LjR6bTIzIDIxYzEuOCAuNSAzLjEgMSA1LjggMS44IDAtMS44IC41LTguNCAuOC0xMi4xLTEgMS4zLTUuNSA4LjEtNi42IDEwbDAgLjN6Il19LGdNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLW5kIixpY29uOls1MTIsNTEyLFtdLCJmNGViIiwiTTI1NS42IDhDMzk3LjQgOCA1MDQgMTE4LjEgNTA0IDI1NiA1MDQgNDAzLjEgMzg1LjUgNTA0IDI1NS42IDUwNCAxMjEuNiA1MDQgOCAzOTQuNSA4IDI1NiA4IDEyMy4xIDExMi43IDggMjU1LjYgOHptLjggNDQuN2MtMTE4LjIgMC0yMDMuNyA5Ny45LTIwMy43IDIwMy4zIDAgMTA5LjggOTEuMiAyMDIuOCAyMDMuNyAyMDIuOCAxMDMuMiAwIDIwMi44LTgxLjEgMjAyLjgtMjAyLjggLjEtMTEzLjgtOTAuMi0yMDMuMy0yMDIuOC0yMDMuM3ptOTQgMTQ0LjNsMCA0Mi41LTE4MC4zIDAgMC00Mi41IDE4MC4zIDB6bTAgNzkuOGwwIDQyLjUtMTgwLjMgMCAwLTQyLjUgMTgwLjMgMHoiXX0sYk10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVzcHMiLGljb246WzUxMiw1MTIsW10sImY3ZTEiLCJNNDI4LjMgMjQxLjdjMjUuOC00MS4zIDE1LjItNDguOC0xMS43LTQ4LjhsLTI3IDBjLS4xIDAtMS41LTEuNC0xMC45IDgtMTEuMiA1LjYtMzcuOSA2LjMtMzcuOSA4LjcgMCA0LjUgNzAuMy0zLjEgODguMSAwIDkuNSAxLjUtMS41IDIwLjQtNC40IDMyLS41IDQuNSAyLjQgMi4zIDMuOCAuMXpNMzE2LjIgMjY0LjNjNjQtMjEuMyA5Ny4zLTIzLjkgMTAyLTI2LjIgNC40LTIuOS00LjQtNi42LTI2LjItNS44LTUxLjcgMi4yLTEzNy42IDM3LjEtMTcyLjYgNTMuOWwtMzAuNy05My4zIDE5Ni42IDBjLTIuNy0yOC4yLTE1Mi45LTIyLjYtMzM3LjktMjIuNkwtNSA0MTUuOGMxOTYuNC05Ny4zIDI1OC45LTEzMC4zIDMyMS4yLTE1MS41ek02Mi43IDk2YzI1My4zIDUzLjcgMzMwIDY1LjcgMzMyLjEgODUuMiAzNi40IDAgNDUuOSAwIDUyLjQgNi42IDIxLjEgMTkuNy0xNC42IDY3LjctMTQuNiA2Ny43LTQuNCAyLjktNDA2LjQgMTYwLjItNDA2LjQgMTYwLjJMNDQ5LjMgNDE1LjcgNTE3IDk2IDYyLjcgOTZ6Il19LHZNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtbGV0dGVyYm94ZCIsaWNvbjpbNDQ4LDUxMixbXSwiZTYyZSIsIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek0xMDUuMSAxODdDNjYuNCAxODcgMzUgMjE4LjMgMzUgMjU3czMxLjQgNzAgNzAuMSA3MGMyNC44IDAgNDYuNS0xMi44IDU5LTMyLjJsLjUtLjctLjQtLjZjLTYuNS0xMC42LTEwLjItMjMuMS0xMC4yLTM2LjUgMC0xMy42IDMuOS0yNi4zIDEwLjYtMzcuMS0xMi40LTE5LjgtMzQuNC0zMi45LTU5LjUtMzIuOXpNMjI0IDE4N2MtMjQuOCAwLTQ2LjUgMTIuOC01OSAzMi4ybC0uNSAuNyAuNCAuNmM2LjUgMTAuNiAxMC4yIDIzLjEgMTAuMiAzNi41IDAgMTMuNi0zLjkgMjYuMy0xMC42IDM3LjEgMTIuNCAxOS43IDM0LjQgMzIuOSA1OS41IDMyLjkgMjQuOCAwIDQ2LjUtMTIuOCA1OS0zMi4ybC41LS43LS40LS42Yy02LjUtMTAuNi0xMC4yLTIzLjEtMTAuMi0zNi41IDAtMTMuNiAzLjktMjYuMyAxMC42LTM3LjEtMTIuNC0xOS43LTM0LjQtMzIuOS01OS41LTMyLjl6bTExOC45IDBjLTI0LjggMC00Ni41IDEyLjgtNTkgMzIuMmwtLjUgLjcgLjQgLjZjNi41IDEwLjYgMTAuMiAyMy4xIDEwLjIgMzYuNSAwIDEzLjYtMy45IDI2LjMtMTAuNiAzNy4xIDEyLjQgMTkuOCAzNC40IDMyLjkgNTkuNSAzMi45IDM4LjcgMCA3MC4xLTMxLjMgNzAuMS03MHMtMzEuNC03MC03MC4xLTcweiJdfSx4TXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWFuZGFsb3JpYW4iLGljb246WzM4NCw1MTIsW10sImY1MGYiLCJNMjAwLjYgNTExLjljLTEtMy4zLTEuNy0xNS44LTEuNC0yNC42IC42LTE1LjkgMS0yNC43IDEuNC0yOC44IC42LTYuMiAyLjktMjAuNyAzLjMtMjEuNCAuNi0xIC40LTI3LjktLjItMzMuMS0uMy0yLjYtLjYtMTEuOS0uNy0yMC43LS4xLTE2LjUtLjUtMjAuMS0yLjctMjQuOC0xLjEtMi4zLTEuMi0zLjgtMS0xMS40IC4yLTQuMiAuMS04LjUtLjMtMTIuNy0yLTEzLTMuNS0yNy43LTMuMi0zMy45cy40LTcuMSAyLjEtOS43YzMuMS00LjcgNi41LTE0IDguNi0yMy4zIDIuMy05LjkgMy45LTE3LjIgNC42LTIwLjcgMS4xLTUuMSAyLjYtMTAuMSA0LjQtMTUuMSAyLjMtNi4yIDIuNS0xNS40IC40LTE1LjQtLjMgMC0xLjQgMS4yLTIuNCAyLjdzLTQuOCA0LjgtOC4zIDcuNGMtOC40IDYuMS0xMS43IDkuNC0xMi43IDEyLjZzLTEgNy4yLS4yIDcuOGMuMyAuMiAxLjMgMi40IDIuMSA0LjkgMS42IDUgMS45IDEwLjMgLjcgMTUuNC0uNCAxLjgtMSA1LjUtMS41IDguMnMtMSA2LjUtMS4zIDguMmMtLjIgMS41LS43IDMtMS41IDQuMy0xIDEtMS4xIC45LTIuMS0uNS0uNy0xLjUtMS4yLTMuMS0xLjQtNC43LS4yLTEuNy0xLjYtNy4xLTMuMS0xMS45LTMuMy0xMC45LTMuNS0xNi4yLTEtMjEgLjgtMS40IDEuNC0zIDEuNy00LjYgMC0yLjQtMi4yLTUuMy03LjQtOS45LTctNi4yLTguNi03LjktMTAuMi0xMS4zLTEuNy0zLjYtMy4xLTQuMS00LjUtMS41LTEuOCAzLTIuNiA5LjEtMyAyMmwtLjMgMTIuMiAyIDIuMmMzLjIgMy43IDEyLjEgMTYuNSAxMy44IDE5LjggMy40IDYuNyA0LjMgMTEuNyA0LjQgMjMuNnMxIDIyLjggMiAyNC43Yy40IC43IC41IDEuNCAuMyAxLjVzLjQgMi4xIDEuMyA0LjNjMSAyLjkgMS43IDUuOSAyLjEgOSAuNCAzLjUgLjkgNyAxLjcgMTAuNCAyLjIgOS42IDIuOCAxNC4xIDIuNCAyMC4xLS4yIDMuMy0uNSAxMS4xLS43IDE3LjMtMS4zIDQxLjgtMS44IDU4LTIgNjEuMi0uMSAyLS40IDExLjUtLjYgMjEuMS0uNCAxNi4zLTEuMyAyNy40LTIuNCAyOC42LS42IC43LTguMS00LjktMTIuNS05LjUtMy44LTMuOS00LTQuOC0yLjgtOS45IC43LTMgMi4zLTE4LjMgMy4zLTMyLjYgLjQtNC44IC44LTEwLjUgMS0xMi43IC44LTkuNCAxLjctMjAuMyAyLjYtMzQuOCAuNi04LjUgMS4zLTE2LjQgMS43LTE3LjdzLjktOS45IDEuMS0xOS4xbC40LTE2LjgtMi4zLTQuM2MtMS43LTMuMy00LjktNi45LTEzLjItMTUuMy02LTYuMS0xMS44LTEyLjMtMTIuOS0xMy44bC0yLTIuOCAuOC0xMC45YzEuMS0xNS43IDEuMS00OC42IDAtNTkuMWwtLjktOC43LTMuMy00LjVjLTUuOS04LjEtNS44LTcuNy02LjItMzMuMy0uMS02LjEtLjQtMTEuNS0uNi0xMi4xLS44LTEuOS0zLTIuNy04LjUtMy04LjktLjYtMTEtMS45LTIzLjgtMTQuNi02LjItNi0xMi4zLTEyLTEzLjgtMTMuMi0yLjgtMi40LTIuOC0yLS42LTkuNmwxLjQtNC42LTEuNy0zYy0uOC0xLjQtMS42LTIuOC0yLjYtNC4xLTEuMy0xLjUtNS41LTEwLjktNi0xMy41LS4yLS43LS4yLTEuNC0uMS0yLjFzLjUtMS4zIC45LTEuOGMyLjItMi45IDMuNC01LjcgNC41LTEwLjcgMi4zLTExLjIgNy43LTI2LjEgMTAuNi0yOS4yIDMuMi0zLjUgNy43LTEgOS40IDUgMS4zIDQuOCAxLjQgOS44IC4xIDE4LjYtLjUgMy43LS45IDcuNC0xIDExLjEgMCA0IC4yIDQuNyAyLjMgNy40IDMuMyA0LjQgNy43IDcuNCAxNS4yIDEwLjUgMS43IC43IDMuMyAxLjcgNC43IDIuOCAxMS4yIDEwLjcgMTguNiAxNi4yIDIyLjkgMTYuOSA1LjIgLjggOCA0LjUgMTAgMTMuNCAxLjMgNS43IDQgMTEuMSA1LjUgMTEuMSAxLjItLjIgMi4zLS43IDMuMy0xLjQgMi0xLjIgMi4yLTEuNyAyLjItNC4yLS4zLTYtLjktMTEuOS0yLTE3LjgtLjQtMS43LS44LTQuMS0uOS01LjRzLS42LTMuOC0xLTUuN2MtMi42LTExLjItMy42LTE1LjUtNC4xLTE2LTEuNi0yLTQuMS0xMC4yLTQuOS0xNS45LTEuNi0xMS4xLTQtMTQuMi0xMi45LTE3LjQtNC45LTEuOC05LjQtNC41LTEzLjMtNy45LTEuMi0xLTQtMy4yLTYuNC01LjFzLTQuNC0zLjUtNC42LTMuOGMtLjgtLjctMS43LTEuNC0yLjctMi02LjItNC4yLTguOC03LTExLjMtMTJsLTIuNC01Yy0uMS04LjctLjMtMTcuMy0uNC0yNmw2LjktNi42YzQtMy44IDguNS03LjQgMTAuNi04LjQgMy4zLTEuNyA0LjQtMS45IDExLjQtMiA4LjUtLjIgMTAuMSAwIDExLjcgMS42czEuNCA2LjQtLjMgOC41Yy0uNiAuNy0xLjEgMS41LTEuMyAyLjMgMCAuNi0yLjYgNC45LTUuNCA5LTEuMSAyLjItMS45IDQuNS0yLjQgNi44IDIwLjQgMTMuNCAyMS42IDMuOCAxNC4xIDI5bDExLjQgMi41YzMuMS04LjcgNi41LTE3LjMgOC42LTI2LjIgLjMtNy42LTEyLTQuMi0xNS40LTguNy0yLjMtNS45IDMuMS0xNC4yIDYuMS0xOS4yIDEuNi0yLjMgNi42LTQuNyA4LjgtNC4xIC45IC4yIDQuMi0uNCA3LjQtMS4zIDIuNS0uOCA1LTEuMyA3LjUtMS43IDItLjIgNC4xLS43IDYtMS4zIDMuNy0xLjEgNC41LTEuMiA2LjMtLjQgMS45IC42IDMuOCAxLjEgNS44IDEuNCAyLjEgLjMgNC4xIC45IDYgMS45IDEuNiAuOSAzLjMgMS43IDUgMi4yIDIuNSAuNyAzIC42IDctMS43TDIyNiA1LjQgMjM2LjcgNWMxMC40LS40IDEwLjgtLjUgMTUuMy0yLjdMMjU2LjUgMCAyNTkgMS40YzEuOCAxIDMuMSAyLjcgNC45IDYgMi40IDQuNSAyLjQgNC42IDEuNCA3LjQtLjkgMi40LS45IDMuMy0uMSA2LjQgLjUgMiAxLjIgNCAyLjEgNS45IC42IDEuMyAxLjEgMi42IDEuMyA0IC4zIDQuMyAwIDUuMy0yLjQgNi45LTIuMiAxLjUtNyA3LjktNyA5LjMtLjIgMS0uNiAyLTEuMSAzLTUgMTEuNS02LjggMTMuNi0xNC4zIDE3LTkuMiA0LjItMTIuMyA1LjItMTYuMiA1LjItMy4xIDAtNCAuMi00LjUgMS4zLTEuMiAxLjQtMi41IDIuNy00LjEgMy43LTEuOCAxLjItMy4zIDIuOS00LjQgNC44LS41IDEuMi0xLjQgMi4yLTIuNSAyLjktLjkgLjQtMS44IDEtMi41IDEuNy0yLjIgMS45LTQuNiAzLjctNyA1LjQtMy4zIDIuMy02LjkgNS03LjkgNi0uNyAuNy0xLjUgMS4zLTIuNCAxLjctLjggLjQtMS42IC45LTIuMSAxLjYtMS4zIDEuNC0xLjUgMi4xLTEuMSA0LjYgLjMgMiAuOCA0IDEuNCA1LjkgMS4zIDMuOCAxLjMgNy45IDAgMTAuNnMtLjkgNi43IDEuNCA5LjZjMiAyLjYgMi4yIDQuNiAuNyA4LjgtLjggMi45LTEuMSA1LjktMS4xIDguOSAwIDQuOSAuMiA2LjMgMS41IDguNHMxLjggMi41IDMuMiAyLjNjMi0uMiAyLjMtMS4xIDQuNy0xMi4xIDIuMi0xMCAzLjctMTEuOSAxMy44LTE3LjEgMi45LTEuNSA3LjUtNCAxMC01LjRzNi44LTMuNyA5LjQtNC45YzUuOS0yLjYgMTEuMi02LjYgMTUuMi0xMS43IDcuMS04LjggMTAtMTYuMiAxMi44LTMzLjMgLjQtMi44IDEuMy01LjQgMi45LTcuNyAxLjQtMi4yIDIuNC00LjcgMi45LTcuMyAxLTUuMyAyLjktOS4xIDUuNi0xMS41IDQuNy00LjIgNi0xLjEgNC42IDEwLjktLjUgMy45LTEuMSAxMC4zLTEuNCAxNC40bC0uNiA3LjRjMyAyLjcgNS45IDUuNSA4LjkgOC4ybC4xIDguNGMuMSA0LjYgLjUgOS41IC45IDEwLjlsLjggMi41LTYuNCA2LjNjLTguNSA4LjMtMTIuOSAxMy45LTE2LjggMjEuNi0xLjggMy41LTMuNyA3LjEtNC40IDgtMi4yIDMuMS02LjUgMTMtOC44IDIwLjNsLTIuMyA3LjItNyA2LjVjLTMuOCAzLjYtOCA3LjItOS4yIDguMi0zIDIuMy00LjMgNS4xLTQuMyAxMC0uMSAyLjUgLjQgNSAxLjYgNy4zIC44IDEuNiAxLjUgMy4yIDIuMSA0LjggLjMgMSAuOSAyIDEuNiAyLjkgMS40IDEuNiAxLjkgMTYuMSAuOCAyMy4yLS43IDQuNS0zLjYgMTItNC43IDEyLTEuOCAwLTQuMSA5LjMtNS4xIDIwLjctLjIgMi0uNiA1LjktMSA4LjdzLTEgMTAtMS40IDE2Yy0uOCAxMi4yLS4yIDE4LjggMiAyMy4yIDMuNCA2LjcgLjUgMTIuNy0xMSAyMi44bC00IDMuNSAuMSA1LjJjLjEgMyAuNCA2IDEuMSA4LjkgNC42IDE2IDQuNyAxNi45IDQuNCAzNy4xLS41IDI2LjQtLjMgNDAuMyAuNiA0NC4yIC41IDIuMyAuOSA0LjYgMS4xIDcgLjIgMiAuNyA1LjMgMS4xIDcuNCAuNSAyLjMgLjggMTEgLjggMjIuN2wwIDE5LjEtMS44IDIuNmMtMi43IDMuOS0xNS4xIDEzLjUtMTUuNSAxMi4zbC4xIDB6bTI5LjUtNDUuMWMtLjItLjMtLjMtNi45LS4zLTE0LjYgMC0xNC4xLS45LTI3LjUtMi4zLTM0LjQtLjQtMi0uOC05LjctLjktMTcuMS0uMi0xMS45LTEuNC0yNC40LTIuNi0yNi40LS43LTEuMS0zLTE3LjctMy0yMS4zIDAtNC4yIDEtNiA1LjMtOS4xczQuOS0zLjEgNS41LS43Yy4zIDEuMSAxLjQgNS42IDIuNiAxMCAzLjkgMTUuMSA0LjEgMTYuMyA0IDIxLjctLjEgNS44LS4xIDYuMS0xLjcgMTcuNy0xIDcuMS0xLjIgMTIuNC0xIDI4LjQgLjIgMTkuNC0uNiAzNS43LTIgNDEuMy0uNyAyLjgtMi44IDUuNS0zLjQgNC40bC0uMSAwem0tNzEtMzcuNmMtLjgtMy42LTEuMy03LjItMS43LTEwLjhzLTEtNy4yLTEuNy0xMC44Yy0uNS0yLjEtLjktNC4zLTEtNi41LS4zLTMuMi0uOS03LjUtMS4zLTkuNS0xLTQuOC0zLjMtMTkuNC0zLjQtMjEuMSAwLS43LS4zLTQtLjctNy40LS43LTYuMi0uOC0yNy43LS4yLTI4LjMgMS0xIDYuNiAyLjggMTEuMyA3LjRsNS4zIDUuMy0uNCA2LjVjLS4yIDMuNi0uNiAxMC4yLS44IDE0LjgtLjUgMTMuMy0uNyA4LjctMS42IDI4LjQtLjggMTcuNC0xLjkgMzEuMy0yLjYgMzItLjEgLjEtLjIgLjEtLjIgLjJzLS4yIDAtLjMgMC0uMiAwLS4zLS4xLS4xLS4xLS4yLS4ybDAgMHpNNzIgMTYyLjZjMjEuMSAxMi44IDE3LjggMTQuMiAyOC41IDE3LjcgMTMgNC4zIDE4LjkgNy4xIDIzLjIgMTYuOS00My43IDM2LjEtNjkgNTcuOS03Ni43IDcwLjktMzEgNTItNiAxMDEuNiA2Mi44IDg3LjItMTQuMiAyOS4yLTc4IDI4LjYtOTguNy00LjktMjQuNy00MC0yMi4xLTExOC4zIDYxLTE4Ny43bDAgMHptMjEwLjggMTc5YzU2LjcgNi45IDgyLjMtMzcuNyA0Ni41LTg5LjIgMCAwLTI2LjktMjkuMy02NC4zLTY4IDMtMTUuNSA5LjUtMzIuMSAzMC42LTUzLjggODkuMiA2My41IDkyIDE0MS42IDkyLjUgMTQ5LjQgNC4zIDcwLjYtNzguNyA5MS4yLTEwNS4zIDYxLjdsMCAweiJdfSxCdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2xhY2siLGljb246WzQ0OCw1MTIsWzYyNDQ3LCJzbGFjay1oYXNoIl0sImYxOTgiLCJNOTQuMSAzMTUuMWMwIDI1LjktMjEuMiA0Ny4xLTQ3LjEgNDcuMVMwIDM0MSAwIDMxNS4xIDIxLjIgMjY4IDQ3LjEgMjY4bDQ3LjEgMCAwIDQ3LjF6bTIzLjcgMGMwLTI1LjkgMjEuMi00Ny4xIDQ3LjEtNDcuMVMyMTIgMjg5LjIgMjEyIDMxNS4xbDAgMTE3LjhjMCAyNS45LTIxLjIgNDcuMS00Ny4xIDQ3LjFzLTQ3LjEtMjEuMi00Ny4xLTQ3LjFsMC0xMTcuOHptNDcuMS0xODljLTI1LjkgMC00Ny4xLTIxLjItNDcuMS00Ny4xUzEzOSAzMiAxNjQuOSAzMiAyMTIgNTMuMiAyMTIgNzkuMWwwIDQ3LjEtNDcuMSAwem0wIDIzLjdjMjUuOSAwIDQ3LjEgMjEuMiA0Ny4xIDQ3LjFTMTkwLjggMjQ0IDE2NC45IDI0NEw0Ny4xIDI0NEMyMS4yIDI0NCAwIDIyMi44IDAgMTk2LjlzMjEuMi00Ny4xIDQ3LjEtNDcuMWwxMTcuOCAwem0xODkgNDcuMWMwLTI1LjkgMjEuMi00Ny4xIDQ3LjEtNDcuMVM0NDggMTcxIDQ0OCAxOTYuOSA0MjYuOCAyNDQgNDAwLjkgMjQ0bC00Ny4xIDAgMC00Ny4xem0tMjMuNyAwYzAgMjUuOS0yMS4yIDQ3LjEtNDcuMSA0Ny4xUzIzNiAyMjIuOCAyMzYgMTk2LjlsMC0xMTcuOEMyMzYgNTMuMiAyNTcuMiAzMiAyODMuMSAzMnM0Ny4xIDIxLjIgNDcuMSA0Ny4xbDAgMTE3Ljh6bS00Ny4xIDE4OWMyNS45IDAgNDcuMSAyMS4yIDQ3LjEgNDcuMVMzMDkgNDgwIDI4My4xIDQ4MCAyMzYgNDU4LjggMjM2IDQzMi45bDAtNDcuMSA0Ny4xIDB6bTAtMjMuN2MtMjUuOSAwLTQ3LjEtMjEuMi00Ny4xLTQ3LjFTMjU3LjIgMjY4IDI4My4xIDI2OGwxMTcuOCAwYzI1LjkgMCA0Ny4xIDIxLjIgNDcuMSA0Ny4xcy0yMS4yIDQ3LjEtNDcuMSA0Ny4xbC0xMTcuOCAweiJdfSx1ZWU9QnVlLHlNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbmdlbGxpc3QiLGljb246WzM4NCw1MTIsW10sImYyMDkiLCJNMzE1LjYgMjE1LjRjMTEuNy0zMi42IDQ1LjQtMTI2LjkgNDUuNC0xNTcuMSAwLTI2LjYtMTUuNy00OC45LTQzLjctNDguOS00NC42IDAtODQuNiAxMzEuNy05Ny4xIDE2My4xLTkuNy0yOC41LTU1LjEtMTcyLjUtOTUuMS0xNzIuNS0zMS4xIDAtNDUuNyAyMi45LTQ1LjcgNTEuNyAwIDM1LjMgMzQuMiAxMjYuOCA0Ni42IDE2Mi02LjMtMi4zLTEzLjEtNC4zLTIwLTQuMy0yMy40IDAtNDguMyAyOS4xLTQ4LjMgNTIuNiAwIDguOSA0LjkgMjEuNCA4IDI5LjctMzYuOSAxMC01MS4xIDM0LjYtNTEuMSA3MS43LS4xIDcyLjIgNjguMyAxNDguNiAxNjQuNSAxNDguNiAxMTggMCAxOTEuNC04OC42IDE5MS40LTIwMi45IDAtNDMuMS02LjktODItNTQuOS05My43ek0yODAuMiAxMDhjNC0xMi4zIDIxLjEtNjQuMyAzNy4xLTY0LjMgOC42IDAgMTAuOSA4LjkgMTAuOSAxNiAwIDE5LjEtMzguNiAxMjQuNi00Ny4xIDE0OGwtMzQtNiAzMy4xLTkzLjd6TTExMC44IDQ4LjNjMC0xMS45IDE0LjUtNDUuNyA0Ni4zIDQ3LjFsMzQuNiAxMDAuM2MtMTUuNi0xLjMtMjcuNy0zLTM1LjQgMS40LTEwLjktMjguOC00NS41LTExOS43LTQ1LjUtMTQ4Ljh6TTEwOC41IDI0NGMyOS4zIDAgNjcuMSA5NC42IDY3LjEgMTA3LjQgMCA1LjEtNC45IDExLjQtMTAuNiAxMS40LTIwLjkgMC03Ni45LTc2LjktNzYuOS05Ny43IC4xLTcuNyAxMi43LTIxLjEgMjAuNC0yMS4xek0yOTIuOCA0MzAuM2MtMjkuMSAzMi02Ni4zIDQ4LjYtMTA5LjcgNDguNi01OS40IDAtMTA2LjMtMzIuNi0xMjguOS04OC4zLTE3LjEtNDMuNCAzLjgtNjguMyAyMC42LTY4LjMgMTEuNCAwIDU0LjMgNjAuMyA1NC4zIDczLjEgMCA0LjktNy43IDguMy0xMS43IDguMy0xNi4xIDAtMjIuNC0xNS41LTUxLjEtNTEuNC0yOS43IDI5LjcgMjAuNSA4Ni45IDU4LjMgODYuOSAyNi4xIDAgNDMuMS0yNC4yIDM4LTQyIDMuNyAwIDguMyAuMyAxMS43LS42IDEuMSAyNy4xIDkuMSA1OS40IDQxLjcgNjEuNyAwLS45IDItNy4xIDItNy40IDAtMTcuNC0xMC42LTMyLjYtMTAuNi01MC4zIDAtMjguMyAyMS43LTU1LjcgNDMuNy03MS43IDgtNiAxNy43LTkuNyAyNy4xLTEzLjEgOS43LTMuNyAyMC04IDI3LjQtMTUuNC0xLjEtMTEuMi01LjctMjEuMS0xNi45LTIxLjEtMjcuNyAwLTEyMC42IDQtMTIwLjYtMzkuNyAwLTYuNyAuMS0xMy4xIDE3LjQtMTMuMSAzMi4zIDAgMTE0LjMgOCAxMzguMyAyOS4xIDE4LjEgMTYuMSAyNC4zIDExMy4yLTMxIDE3NC43em0tOTguNi0xMjZjOS43IDMuMSAxOS43IDQgMjkuNyA2LTcuNCA1LjQtMTQgMTItMjAuMyAxOS4xLTIuOC04LjUtNi4yLTE2LjgtOS40LTI1LjF6Il19LHdNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbmRyb2lkIixpY29uOls1NzYsNTEyLFtdLCJmMTdiIiwiTTQyMC41IDI1My45YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptLTI2NS4xIDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0yNzMuNy05Ni41bDQ3LjktODNjLjgtMS4xIDEuMy0yLjQgMS41LTMuOHMuMi0yLjctLjEtNC4xLS45LTIuNi0xLjctMy43LTEuOC0yLTMtMi43LTIuNS0xLjEtMy45LTEuMy0yLjcgMC00IC40LTIuNSAxLjEtMy42IDEuOS0xLjkgMi0yLjUgMy4ybC00OC41IDg0LjFjLTM4LjgtMTcuNC04MC44LTI2LjQtMTIzLjMtMjYuNHMtODQuNSA5LTEyMy4zIDI2LjRMMTE2LjIgNjQuNGMtLjYtMS4yLTEuNS0yLjMtMi41LTMuMnMtMi4zLTEuNS0zLjYtMS45LTIuNy0uNS00LS40LTIuNyAuNi0zLjkgMS4zLTIuMiAxLjYtMyAyLjctMS40IDIuNC0xLjcgMy43LS4zIDIuNy0uMSA0LjEgLjggMi42IDEuNSAzLjhsNDcuOSA4M0M2NC41IDIwMi4yIDguMiAyODUuNSAwIDM4NGw1NzYgMGMtOC4yLTk4LjUtNjQuNS0xODEuOC0xNDYuOS0yMjYuNnoiXX0sTU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1lZXR1cCIsaWNvbjpbNTc2LDUxMixbXSwiZjJlMCIsIk0xMzEuMSA0MTQuM2MxLjEgNS43LTIuMyAxMS4xLTggMTIuMy01LjQgMS4xLTEwLjktMi4zLTEyLTgtMS4xLTUuNCAyLjMtMTEuMSA3LjctMTIuM3MxMS4xIDIuMyAxMi4zIDh6bTE0My4xIDcxLjRjLTYuMyA0LjYtOCAxMy40LTMuNyAyMCA0LjYgNi42IDEzLjQgOC4zIDIwIDMuNyA2LjMtNC42IDgtMTMuNCAzLjQtMjAtNC4yLTYuNS0xMy4xLTguMy0xOS43LTMuN3ptLTg2LTQ2Mi4zYTExLjggMTEuOCAwIDEgMCAtNC45LTIzIDExLjggMTEuOCAwIDEgMCA0LjkgMjN6TTY2LjUgMjI2LjNhMjIuMiAyMi4yIDAgMSAwIC0yNC43IDM2LjkgMjIuMiAyMi4yIDAgMSAwIDI0LjctMzYuOXptMjcyLTE3MC45YTIyLjEgMjIuMSAwIDEgMCAtMjIuNC0zOCAyMi4xIDIyLjEgMCAxIDAgMjIuNCAzOHptLTE5MS4xIDU4YTE2LjkgMTYuOSAwIDEgMCAtMTguOC0yOCAxNi45IDE2LjkgMCAxIDAgMTguOCAyOHptMzcyLjMgMTU2Yy03LjQgMS43LTEyLjMgOS4xLTEwLjYgMTYuOSAxLjQgNy40IDguOSAxMi4zIDE2LjMgMTAuNiA3LjQtMS40IDEyLjMtOC45IDEwLjYtMTYuNi0xLjUtNy40LTguOS0xMi4zLTE2LjMtMTAuOXptMzkuNy01Ni44YTEwLjEgMTAuMSAwIDEgMCAtMTkuOCA0LjMgMTAuMSAxMC4xIDAgMSAwIDE5LjgtNC4zem0tODAuMy03My43YTE4LjggMTguOCAwIDEgMCAyMC43IDMxLjMgMTguOCAxOC44IDAgMSAwIC0yMC43LTMxLjN6bS02LjMgMTM5LjRjMjYuMyA0My4xIDE1LjEgMTAwLTI2LjMgMTI5LjEtMTcuNCAxMi4zLTM3LjEgMTcuNy01Ni45IDE3LjEtMTIgNDcuMS02OS40IDY0LjYtMTA1LjEgMzIuNi0xLjEgLjktMi42IDEuNy0zLjcgMi45LTM5LjEgMjcuMS05Mi4zIDE3LjQtMTE5LjQtMjIuMy05LjctMTQuMy0xNC42LTMwLjYtMTUuMS00Ni45LTY1LjQtMTAuOS05MC05NC00MS4xLTEzOS43LTI4LjMtNDYuOSAuNi0xMDcuNCA1My40LTExNC45IDI1LjEtNjYuMiAxMDcuNi05Ny42IDE2My42LTU0LjIgNjcuNC0yMi4zIDEzNi4zIDI5LjQgMTMwLjkgMTAxLjEgNDEuMSAxMi42IDUyLjggNjYuOSAxOS43IDk1LjJ6bS03MCA3NC4zYy0zLjEtMjAuNi00MC45LTQuNi00My4xLTI3LjEtMy4xLTMyIDQzLjctMTAxLjEgNDAtMTI4LTMuNC0yNC0xOS40LTI5LjEtMzMuNC0yOS40LTEzLjQtLjMtMTYuOSAyLTIxLjQgNC42LTIuOSAxLjctNi42IDQuOS0xMS43LS4zLTYuMy02LTExLjEtMTEuNy0xOS40LTEyLjktMTIuMy0yLTE3LjcgMi0yNi42IDkuNy0zLjQgMi45LTEyIDEyLjktMjAgOS4xLTMuNC0xLjctMTUuNC03LjctMjQtMTEuNC0xNi4zLTcuMS00MCA0LjYtNDguNiAyMC0xMi45IDIyLjktMzggMTEzLjEtNDEuNyAxMjUuMS04LjYgMjYuNiAxMC45IDQ4LjYgMzYuOSA0Ny4xIDExLjEtLjYgMTguMy00LjYgMjUuNC0xNy40IDQtNy40IDQxLjctMTA3LjcgNDQuNi0xMTIuNiAyLTMuNCA4LjktOCAxNC42LTUuMSA1LjcgMy4xIDYuOSA5LjQgNiAxNS4xLTEuMSA5LjctMjggNzAuOS0yOC45IDc3LjctMy40IDIyLjkgMjYuOSAyNi42IDM4LjYgNCAzLjctNy4xIDQ1LjctOTIuNiA0OS40LTk4LjMgNC4zLTYuMyA3LjQtOC4zIDExLjctOCAzLjEgMCA4LjMgLjkgNy4xIDEwLjktMS40IDkuNC0zNS4xIDcyLjMtMzguOSA4Ny43LTQuNiAyMC42IDYuNiA0MS40IDI0LjkgNTAuNiAxMS40IDUuNyA2Mi41IDE1LjcgNTguNS0xMS4xem01LjcgOTIuM2EyMy4zIDIzLjMgMCAxIDAgMjYuMiAzOC40IDIzLjMgMjMuMyAwIDEgMCAtMjYuMi0zOC40eiJdfSxrTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9udGljb25zLWZpIixpY29uOlszODQsNTEyLFtdLCJmM2EyIiwiTTExNC40IDIyNGw5Mi40IDAtMTUuMiA1MS4yLTc2LjQgMCAwIDE1Ny44YzAgOC0yLjggOS4yIDQuNCAxMGw1OS42IDUuNiAwIDM0LjQtMTc5LjIgMCAwLTM1LjIgMjkuMi0yLjhjNy4yLS44IDkuMi0zLjIgOS4yLTEwLjhsMC0xNTUuOGMwLTMuMi00LTMuMi04LTMuMmwtMzAuNCAwIDAtNTEuMiAzOC40IDAgMC0yOC44YzAtNjggMzYuNC05NiAxMDYtOTYgNDYuOCAwIDg4LjggMTEuMiA4OC44IDcyLjRMMTYzLjYgMTgwYy40LTI1LjYtNi0zMS42LTIyLjQtMzEuNi0yNS4yIDAtMjYgMTMuNi0yNiAzNy42bDAgMzJjMCAzLjItNC44IDYtLjggNnpNMzg0IDQ4M2wtMTQwLjggMCAwLTM0LjQgMjgtMy42YzcuMi0uOCAxMC40LTIuNCAxMC40LTEwbDAtMTQ4YzAtNS42LTQtOS4yLTkuMi0xMC44bC0zMy4yLTguOCA5LjItNDAuNCAxMTAgMCAwIDIwOGMwIDgtMy42IDguOCA0IDEwbDIxLjYgMy42IDAgMzQuNHpNMzU0IDEzNS44bDEyLjQgNDUuNi0xMCAxMC00Mi44LTIyLjgtNDIuOCAyMi44LTEwLTEwIDEyLjQtNDUuNi0zMC0zNi40IDQuOC0xMCAzOCAwIDIxLjItMzguNCAxMi44IDAgMjEuMiAzOC40IDM4IDAgNC44IDEzLjItMzAgMzMuMnoiXX0sU010PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBhbGZlZCIsaWNvbjpbNTc2LDUxMixbXSwiZjNkOCIsIk0zODQuOSAxOTMuOWMwLTQ3LjQtNTUuMi00NC4yLTk1LjQtMjkuOC0xLjMgMzkuNC0yLjUgODAuNy0zIDExOS44IC43IDIuOCAyLjYgNi4yIDE1LjEgNi4yIDM2LjggMCA4My40LTQyLjggODMuMy05Ni4yek0xOTAuNCAyNjYuMWMuMiAwIDYuNS0yLjcgMTEuMi0yLjcgMjYuNiAwIDIwLjcgNDQuMS0xNC40IDQ0LjEtMjEuNSAwLTM3LjEtMTguMS0zNy4xLTQzIDAtNDIgNDIuOS05NS42IDEwMC43LTEyNi41IDEtMTIuNCAzLTIyIDEwLjUtMjguMiAxMS4yLTkgMjYuNi0zLjUgMjkuNSAxMS4xIDcyLjItMjIuMiAxMzUuMiAxIDEzNS4yIDcyIDAgNzcuOS03OS4zIDE1Mi42LTE0MC4xIDEzOC4yLS4xIDM5LjQgLjkgNzQuNCAyLjcgMTAwbDAgLjJjLjIgMy40IC42IDEyLjUtNS4zIDE5LjEtOS42IDEwLjYtMzMuNCAxMC0zNi40LTIyLjMtNC4xLTQ0LjQgLjItMjA2LjEgMS40LTI0Mi41LTIxLjUgMTUtNTguNSA1MC4zLTU4LjUgNzUuOSAuMiAyLjUgLjQgNCAuNiA0LjZ6TTggMTgxLjFzLS4xIDM3LjQgMzguNCAzNy40bDMwIDAgMjIuNCAyMTcuMnMwIDQ0LjMgNDQuNyA0NC4zbDI4OC45IDBzNDQuNy0uNCA0NC43LTQ0LjNsMjIuNC0yMTcuMiAzMCAwczM4LjQgMS4yIDM4LjQtMzcuNGMwIDAgLjEtMzcuNC0zOC40LTM3LjRsLTMwLjEgMGMtNy4zLTI1LjYtMzAuMi03NC4zLTExOS40LTc0LjNsLTI4IDAgMC0xOS4xcy0yLjctMTguNC0yMS4xLTE4LjRsLTg1LjggMFMyMjQgMzEuOSAyMjQgNTAuM2wwIDE5LjEtMjguMSAwcy0xMDUgNC4yLTEyMC41IDc0LjNsLTI5IDBTOCAxNDIuNSA4IDE4MS4xeiJdfSx6TXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid3BiZWdpbm5lciIsaWNvbjpbNTEyLDUxMixbXSwiZjI5NyIsIk00NjMuMiAzMjIuNGM1Ni4yIDY0LjMgNC4yIDE1Ny42LTkxLjkgMTU3LjYtMzkuNiAwLTc4LjgtMTcuNy0xMDAuMS01MC02LjkgLjQtMjIuNyAuNC0yOS42IDAtMjEuNCAzMi40LTYwLjYgNTAtMTAwLjEgNTAtOTUuNSAwLTE0OC4zLTkzLTkxLjktMTU3LjYtNzkuMS0xMzEuOSAzMS4zLTI5MC40IDIwNi44LTI5MC40IDE3NS42IDAgMjg1LjkgMTU4LjYgMjA2LjggMjkwLjR6bS0zMzkuNi04M2w0MS41IDAgMC01OC4xLTQxLjUgMCAwIDU4LjF6bTIxNy4yIDg2LjFsMC0yMy44Yy02MC41IDIwLjktMTMyLjQgOS4yLTE4Ny42LTM0bC4yIDI0LjljNTEuMSA0Ni40IDEzMS43IDU3LjkgMTg3LjMgMzIuOXpNMTkwIDIzOS40bDE2Ni4xIDAgMC01OC4xLTE2Ni4xIDAgMCA1OC4xeiJdfSxDTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGlhc3BvcmEiLGljb246WzQ0OCw1MTIsW10sImY3OTEiLCJNMjE5LjcgMzU0LjZjLTEuNCAwLTg4IDExOS45LTg4LjcgMTE5LjlTNDQuNCA0MTQgNDQgNDEzLjMgMTMwLjYgMjg3LjUgMTMwLjYgMjg1LjhjMC0yLjItMTI5LjYtNDQtMTM3LjYtNDcuMS0xLjMtLjUgMzEuNC0xMDEuOCAzMS43LTEwMi4xIC42LS43IDE0NC40IDQ3IDE0NS41IDQ3IC40IDAgLjktLjYgMS0xLjMgLjQtMiAxLTE0OC42IDEuNy0xNDkuNiAuOC0xLjIgMTA0LjUtLjcgMTA1LjEtLjMgMS41IDEgMy41IDE1Ni4xIDYuMSAxNTYuMSAxLjQgMCAxMzguNy00NyAxMzkuMy00Ni4zIC44IC45IDMxLjkgMTAyLjIgMzEuNSAxMDIuNi0uOSAuOS0xNDAuMiA0Ny4xLTE0MC42IDQ4LjgtLjMgMS40IDgyLjggMTIyLjEgODIuNSAxMjIuOXMtODUuNSA2My41LTg2LjMgNjMuNWMtMS0uMi04OS0xMjUuNS05MC45LTEyNS41bDAgMHoiXX0sX010PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InByb2R1Y3QtaHVudCIsaWNvbjpbNTEyLDUxMixbXSwiZjI4OCIsIk0zMjYuMyAyMTguOGMwIDIwLjUtMTYuNyAzNy4yLTM3LjIgMzcuMmwtNzAuMyAwIDAtNzQuNCA3MC4zIDBjMjAuNSAwIDM3LjIgMTYuNyAzNy4yIDM3LjJ6TTggMjU2YTI0OCAyNDggMCAxIDEgNDk2IDAgMjQ4IDI0OCAwIDEgMSAtNDk2IDB6bTM2Ny45LTM3LjJjMC00Ny45LTM4LjktODYuOC04Ni44LTg2LjhsLTExOS45IDAgMCAyNDggNDkuNiAwIDAtNzQuNCA3MC4zIDBjNDcuOSAwIDg2LjgtMzguOSA4Ni44LTg2Ljh6Il19LFRNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtdXB3b3JrIixpY29uOls0NDgsNTEyLFtdLCJlNjdjIiwiTTU2IDMybDMzNiAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgMzM2YzAgMzAuOS0yNS4xIDU2LTU2IDU2TDU2IDQ4MGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCA4OEMwIDU3LjEgMjUuMSAzMiA1NiAzMnpNMjcwLjkgMjc0LjJjNi42LTUyLjkgMjUuOS02OS41IDUxLjQtNjkuNSAyNS4zIDAgNDQuOSAyMC4yIDQ0LjkgNDkuN3MtMTkuNyA0OS43LTQ0LjkgNDkuN2MtMjcuOSAwLTQ2LjMtMjEuNS01MS40LTI5Ljl6bS0yNi43LTQxLjhjLTguMi0xNS41LTE0LjMtMzYuMy0xOS4yLTU1LjZsLTYyLjkgMCAwIDc4LjFjMCAyOC40LTEyLjkgNDkuNC0zOC4yIDQ5LjRTODQuMSAyODMuNCA4NC4xIDI1NWwuMy03OC4xLTM2LjIgMCAwIDc4LjFjMCAyMi44IDcuNCA0My41IDIwLjkgNTguMiAxMy45IDE1LjIgMzIuOCAyMy4yIDU0LjggMjMuMiA0My43IDAgNzQuMi0zMy41IDc0LjItODEuNWwwLTUyLjVjNC42IDE3LjMgMTUuNCA1MC41IDM2LjIgNzkuN2wtMTkuMyAxMTAuNSAzNi44IDAgMTIuOC03OC40YzQuMiAzLjUgOC43IDYuNiAxMy40IDkuNCAxMi4zIDcuOCAyNi40IDEyLjIgNDAuOSAxMi42bDMuNCAwYzQ1LjEgMCA4MC45LTM0LjkgODAuOS04MS45cy0zNS45LTgyLjItODAuOS04Mi4yYy00NS40IDAtNzAuOSAyOS43LTc4LjEgNjAuMWwwIC4yeiJdfSxMTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3V0dGxlZmlzaCIsaWNvbjpbNDQ4LDUxMixbXSwiZjM4YyIsIk0zNDggMzA1LjVjLTE3LjUgMzEuNi01Ny40IDU0LjUtOTYgNTQuNS01Ni42IDAtMTA0LTQ3LjQtMTA0LTEwNHM0Ny40LTEwNCAxMDQtMTA0YzM4LjYgMCA3OC41IDIyLjkgOTYgNTQuNSAxMy43LTUwLjkgNDEuNy05My4zIDg3LTExNy44LTQ1LjMtNDkuNi0xMTAuNS04MC43LTE4My04MC43LTEzNyAwLTI0OCAxMTEtMjQ4IDI0OFMxMTUgNTA0IDI1MiA1MDRjNzIuNSAwIDEzNy43LTMxLjEgMTgzLTgwLjctNDUuMy0yNC41LTczLjMtNjYuOS04Ny0xMTcuOHoiXX0sJE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1lZGFwcHMiLGljb246WzMyMCw1MTIsW10sImYzYzYiLCJNMTE4LjMgMjM4LjRjMy41LTEyLjUgNi45LTMzLjYgMTMuMi0zMy42IDguMyAxLjggOS42IDIzLjQgMTguNiAzNi42IDQuNi0yMy41IDUuMy04NS4xIDE0LjEtODYuNyA5LS43IDE5LjcgNjYuNSAyMiA3Ny41IDkuOSA0LjEgNDguOSA2LjYgNDguOSA2LjYgMS45IDcuMy0yNCA3LjYtNDAgNy44LTQuNiAxNC44LTUuNCAyNy43LTExLjQgMjgtNC43IC4yLTguMi0yOC44LTE3LjUtNDkuNmwtOS40IDY1LjVjLTQuNCAxMy0xNS41LTIyLjUtMjEuOS0zOS4zLTMuMy0uMS02Mi40LTEuNi00Ny42LTcuOGwzMS01ek0yMjggNDQ4YzIxLjIgMCAyMS4yLTMyIDAtMzJMOTIgNDE2Yy0yMS4yIDAtMjEuMiAzMiAwIDMybDEzNiAwem0tMjQgNjRjMjEuMiAwIDIxLjItMzIgMC0zMmwtODggMGMtMjEuMiAwLTIxLjIgMzIgMCAzMmw4OCAwem0zNC4yLTE0MS41YzMuMi0xOC45IDUuMi0zNi40IDExLjktNDguOCA3LjktMTQuNyAxNi4xLTI4LjEgMjQtNDEgMjQuNi00MC40IDQ1LjktNzUuMiA0NS45LTEyNS41IDAtODUuNi03MS44LTE1NS4yLTE2MC0xNTUuMlMwIDY5LjYgMCAxNTUuMmMwIDUwLjIgMjEuMyA4NS4xIDQ1LjkgMTI1LjUgNy45IDEyLjkgMTYgMjYuMyAyNCA0MSA2LjcgMTIuNSA4LjcgMjkuOCAxMS45IDQ4LjkgMy41IDIxIDM2LjEgMTUuNyAzMi42LTUuMS0zLjYtMjEuNy01LjYtNDAuNy0xNS4zLTU4LjYtMzIuNi02MC40LTY2LjEtOTUuNi02Ni4xLTE1MS43IDAtNjcuOSA1Ny0xMjMuMiAxMjctMTIzLjJTMjg3IDg3LjMgMjg3IDE1NS4yYzAgNTYuMS0zMy41IDkxLjMtNjYuMSAxNTEuNi05LjcgMTgtMTEuNyAzNy40LTE1LjMgNTguNi0zLjQgMjAuNiAyOSAyNi40IDMyLjYgNS4xeiJdfSxETXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGl4IixpY29uOls1MTIsNTEyLFtdLCJlNDNhIiwiTTI0Mi40IDI5Mi41YzUuNC01LjQgMTQuNy01LjQgMjAuMSAwbDc3IDc3YzE0LjIgMTQuMiAzMy4xIDIyIDUzLjEgMjJsMTUuMSAwLTk3LjEgOTcuMWMtMzAuMyAyOS41LTc5LjUgMjkuNS0xMDkuOCAwbC05Ny41LTk3LjQgOS4zIDBjMjAgMCAzOC45LTcuOCA1My4xLTIybDc2LjctNzYuN3ptMjAuMS03My42Yy02LjQgNS41LTE0LjYgNS42LTIwLjEgMGwtNzYuNy03Ni43Yy0xNC4yLTE1LjEtMzMuMS0yMi01My4xLTIybC05LjMgMCA5Ny40LTk3LjRjMzAuNC0zMC4zIDc5LjYtMzAuMyAxMDkuOSAwbDk3LjIgOTcuMS0xNS4yIDBjLTIwIDAtMzguOSA3LjgtNTMuMSAyMmwtNzcgNzd6TTExMi42IDE0Mi43YzEzLjggMCAyNi41IDUuNiAzNy4xIDE1LjRsNzYuNyA3Ni43YzcuMiA2LjMgMTYuNiAxMC44IDI2LjEgMTAuOCA5LjQgMCAxOC44LTQuNSAyNi0xMC44bDc3LTc3YzkuOC05LjcgMjMuMy0xNS4zIDM3LjEtMTUuM2wzNy43IDAgNTguMyA1OC4zYzMwLjMgMzAuMyAzMC4zIDc5LjUgMCAxMDkuOGwtNTguMyA1OC4zLTM3LjcgMGMtMTMuOCAwLTI3LjMtNS42LTM3LjEtMTUuNGwtNzctNzdjLTEzLjktMTMuOS0zOC4yLTEzLjktNTIuMSAuMWwtNzYuNyA3Ni42Yy0xMC42IDkuOC0yMy4zIDE1LjQtMzcuMSAxNS40bC0zMS44IDAtNTgtNThjLTMwLjMtMzAuMy0zMC4zLTc5LjUgMC0xMDkuOGw1OC01OC4xIDMxLjggMHoiXX0sSHVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS10dW1ibHIiLGljb246WzQ0OCw1MTIsWyJ0dW1ibHItc3F1YXJlIl0sImYxNzQiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTI1Ni44IDQxNmMtNzUuNSAwLTkxLjktNTUuNS05MS45LTg3LjlsMC05MC0yOS43IDBjLTMuNCAwLTYuMi0yLjgtNi4yLTYuMmwwLTQyLjVjMC00LjUgMi44LTguNSA3LjEtMTAgMzguOC0xMy43IDUwLjktNDcuNSA1Mi43LTczLjIgLjUtNi45IDQuMS0xMC4yIDEwLTEwLjJsNDQuMyAwYzMuNCAwIDYuMiAyLjggNi4yIDYuMmwwIDcyIDUxLjkgMGMzLjQgMCA2LjIgMi44IDYuMiA2LjJsMCA1MS4xYzAgMy40LTIuOCA2LjItNi4yIDYuMmwtNTIuMSAwIDAgODMuM2MwIDIxLjQgMTQuOCAzMy41IDQyLjUgMjIuNCAzLTEuMiA1LjYtMiA4LTEuNCAyLjIgLjUgMy42IDIuMSA0LjYgNC45TDMxOCAzODcuMWMxIDMuMiAyIDYuNy0uMyA5LjEtOC41IDkuMS0zMS4yIDE5LjgtNjAuOSAxOS44eiJdfSxBTXQ9SHVlLFBNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWFjdCIsaWNvbjpbNTEyLDUxMixbXSwiZjQxYiIsIk00MTguMiAxNzcuMmMtNS40LTEuOC0xMC44LTMuNS0xNi4yLTUuMSAuOS0zLjcgMS43LTcuNCAyLjUtMTEuMSAxMi4zLTU5LjYgNC4yLTEwNy41LTIzLjEtMTIzLjMtMjYuMy0xNS4xLTY5LjIgLjYtMTEyLjYgMzguNC00LjMgMy43LTguNSA3LjYtMTIuNSAxMS41LTIuNy0yLjYtNS41LTUuMi04LjMtNy43LTQ1LjUtNDAuNC05MS4xLTU3LjQtMTE4LjQtNDEuNS0yNi4yIDE1LjItMzQgNjAuMy0yMyAxMTYuNyAxLjEgNS42IDIuMyAxMS4xIDMuNyAxNi43LTYuNCAxLjgtMTIuNyAzLjgtMTguNiA1LjktNTMuNCAxOC41LTkxLjcgNDcuNy05MS43IDc3LjkgMCAzMS4yIDQwLjggNjIuNSA5Ni4zIDgxLjUgNC41IDEuNSA5IDMgMTMuNiA0LjMtMS41IDYtMi44IDExLjktNCAxOC0xMC41IDU1LjUtMi4zIDk5LjUgMjMuOSAxMTQuNiAyNyAxNS42IDcyLjQtLjQgMTE2LjYtMzkuMSAzLjUtMy4xIDctNi4zIDEwLjUtOS43IDQuNCA0LjMgOSA4LjQgMTMuNiAxMi40IDQyLjggMzYuOCA4NS4xIDUxLjcgMTExLjIgMzYuNiAyNy0xNS42IDM1LjgtNjIuOSAyNC40LTEyMC41LS45LTQuNC0xLjktOC45LTMtMTMuNSAzLjItLjkgNi4zLTEuOSA5LjQtMi45IDU3LjctMTkuMSA5OS41LTUwIDk5LjUtODEuNyAwLTMwLjMtMzkuNC01OS43LTkzLjgtNzguNHpNMjgyLjkgOTIuM2MzNy4yLTMyLjQgNzEuOS00NS4xIDg3LjctMzYgMTYuOSA5LjcgMjMuNCA0OC45IDEyLjggMTAwLjQtLjcgMy40LTEuNCA2LjctMi4zIDEwLTIyLjItNS00NC43LTguNi02Ny4zLTEwLjYtMTMtMTguNi0yNy4yLTM2LjQtNDIuNi01My4xIDMuOS0zLjcgNy43LTcuMiAxMS43LTEwLjd6TTE2Ny4yIDMwNy41YzUuMSA4LjcgMTAuMyAxNy40IDE1LjggMjUuOS0xNS42LTEuNy0zMS4xLTQuMi00Ni40LTcuNSA0LjQtMTQuNCA5LjktMjkuMyAxNi4zLTQ0LjUgNC42IDguOCA5LjMgMTcuNSAxNC4zIDI2LjF6TTEzNi45IDE4Ny4yYzE0LjQtMy4yIDI5LjctNS44IDQ1LjYtNy44LTUuMyA4LjMtMTAuNSAxNi44LTE1LjQgMjUuNC00LjkgOC41LTkuNyAxNy4yLTE0LjIgMjYtNi4zLTE0LjktMTEuNi0yOS41LTE2LTQzLjZ6bTI3LjQgNjguOWM2LjYtMTMuOCAxMy44LTI3LjMgMjEuNC00MC42czE1LjgtMjYuMiAyNC40LTM4LjljMTUtMS4xIDMwLjMtMS43IDQ1LjktMS43czMxIC42IDQ1LjkgMS43YzguNSAxMi42IDE2LjYgMjUuNSAyNC4zIDM4LjdzMTQuOSAyNi43IDIxLjcgNDAuNGMtNi43IDEzLjgtMTMuOSAyNy40LTIxLjYgNDAuOC03LjYgMTMuMy0xNS43IDI2LjItMjQuMiAzOS0xNC45IDEuMS0zMC40IDEuNi00Ni4xIDEuNnMtMzAuOS0uNS00NS42LTEuNGMtOC43LTEyLjctMTYuOS0yNS43LTI0LjYtMzlzLTE0LjgtMjYuOC0yMS41LTQwLjZ6bTE4MC42IDUxLjJjNS4xLTguOCA5LjktMTcuNyAxNC42LTI2LjcgNi40IDE0LjUgMTIgMjkuMiAxNi45IDQ0LjMtMTUuNSAzLjUtMzEuMiA2LjItNDcgOCA1LjQtOC40IDEwLjUtMTcgMTUuNS0yNS42em0xNC40LTc2LjVjLTQuNy04LjgtOS41LTE3LjYtMTQuNS0yNi4yLTQuOS04LjUtMTAtMTYuOS0xNS4zLTI1LjIgMTYuMSAyIDMxLjUgNC43IDQ1LjkgOC00LjYgMTQuOC0xMCAyOS4yLTE2LjEgNDMuNHpNMjU2LjIgMTE4LjNjMTAuNSAxMS40IDIwLjQgMjMuNCAyOS42IDM1LjgtMTkuOC0uOS0zOS43LS45LTU5LjUgMCA5LjgtMTIuOSAxOS45LTI0LjkgMjkuOS0zNS44ek0xNDAuMiA1N2MxNi44LTkuOCA1NC4xIDQuMiA5My40IDM5IDIuNSAyLjIgNSA0LjYgNy42IDctMTUuNSAxNi43LTI5LjggMzQuNS00Mi45IDUzLjEtMjIuNiAyLTQ1IDUuNS02Ny4yIDEwLjQtMS4zLTUuMS0yLjQtMTAuMy0zLjUtMTUuNS05LjQtNDguNC0zLjItODQuOSAxMi42LTk0ek0xMTUuNyAzMjAuNmMtNC4yLTEuMi04LjMtMi41LTEyLjQtMy45LTIxLjMtNi43LTQ1LjUtMTcuMy02My0zMS4yLTEwLjEtNy0xNi45LTE3LjgtMTguOC0yOS45IDAtMTguMyAzMS42LTQxLjcgNzcuMi01Ny42IDUuNy0yIDExLjUtMy44IDE3LjMtNS41IDYuOCAyMS43IDE1IDQzIDI0LjUgNjMuNi05LjYgMjAuOS0xNy45IDQyLjUtMjQuOCA2NC41em0xMTYuNiA5OGMtMTYuNSAxNS4xLTM1LjYgMjcuMS01Ni40IDM1LjMtMTEuMSA1LjMtMjMuOSA1LjgtMzUuMyAxLjMtMTUuOS05LjItMjIuNS00NC41LTEzLjUtOTIgMS4xLTUuNiAyLjMtMTEuMiAzLjctMTYuNyAyMi40IDQuOCA0NSA4LjEgNjcuOSA5LjggMTMuMiAxOC43IDI3LjcgMzYuNiA0My4yIDUzLjQtMy4yIDMuMS02LjQgNi4xLTkuNiA4Ljl6bTI0LjUtMjQuM2MtMTAuMi0xMS0yMC40LTIzLjItMzAuMy0zNi4zIDkuNiAuNCAxOS41IC42IDI5LjUgLjYgMTAuMyAwIDIwLjQtLjIgMzAuNC0uNy05LjIgMTIuNy0xOS4xIDI0LjgtMjkuNiAzNi40em0xMzAuNyAzMGMtLjkgMTIuMi02LjkgMjMuNi0xNi41IDMxLjMtMTUuOSA5LjItNDkuOC0yLjgtODYuNC0zNC4yLTQuMi0zLjYtOC40LTcuNS0xMi43LTExLjUgMTUuMy0xNi45IDI5LjQtMzQuOCA0Mi4yLTUzLjYgMjIuOS0xLjkgNDUuNy01LjQgNjguMi0xMC41IDEgNC4xIDEuOSA4LjIgMi43IDEyLjIgNC45IDIxLjYgNS43IDQ0LjEgMi41IDY2LjN6bTE4LjItMTA3LjVjLTIuOCAuOS01LjYgMS44LTguNSAyLjYtNy0yMS44LTE1LjYtNDMuMS0yNS41LTYzLjggOS42LTIwLjQgMTcuNy00MS40IDI0LjUtNjIuOSA1LjIgMS41IDEwLjIgMy4xIDE1IDQuNyA0Ni42IDE2IDc5LjMgMzkuOCA3OS4zIDU4IDAgMTkuNi0zNC45IDQ0LjktODQuOCA2MS40ek0yNTYgMzAxLjhhNDUuOCA0NS44IDAgMSAwIDAtOTEuNiA0NS44IDQ1LjggMCAxIDAgMCA5MS42eiJdfSxFTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaHVnZ2luZy1mYWNlIixpY29uOls1NzYsNTEyLFtdLCJlODY5IiwiTTI4Ni44IDguMmMxMzAgMCAyMzUuNCAxMDUuOCAyMzUuNCAyMzYuMyAwIDE3LjctMS45IDM1LTUuNiA1MS43LTEuNCA2LjUtMy4xIDEyLjgtNS4xIDE5LjEgNi41LS42IDEzIC42IDE4LjcgMy41IDEyLjYgNi41IDIwLjIgMjEuNyAxOC4yIDM1LjctLjcgNC45LTIuNCA5LjQtNC44IDEzLjUgNS4yIDQuMiA5IDEwLjEgMTAuOCAxNy4xIDEuNCA1LjUgMi45IDE3LjEtNC44IDI4LjkgNS44IDkuMiA2LjYgMjAuNiAyLjIgMzAuNi02LjIgMTQuMS0yMS43IDI1LjMtNTEuNyAzNy4zLTMyLjUgMTMtNjcuMSAyMS45LTEwMi4zIDIxLjktMzIgMC01NS45LTguOS03MS0yNi40LTEzIDIuMi0yNi4zIDMuNC00MCAzLjQtMTIuNyAwLTI1LjItMS0zNy4zLTIuOS0xNS4xIDE3LjItMzguOCAyNS45LTcwLjYgMjUuOS0zNS4xIDAtNzAtOS0xMDIuNC0yMS45LTMwLTEyLTQ1LjUtMjMuMS01MS43LTM3LjMtNC40LTkuOS0zLjYtMjEuNCAyLjItMzAuNi03LjctMTEuOS02LjMtMjMuNC00LjgtMjguOSAxLjgtNyA1LjctMTIuOSAxMC44LTE3LjEtMi41LTQuMS00LjEtOC42LTQuOC0xMy41LTEuNS0xMC40IDItMjAuNyA5LjctMjkuMiA2LjEtNi43IDE1LjEtMTAuMyAyNC4yLTEwLjItMS45LTYuMS0zLjYtMTIuNC01LTE4LjctMy43LTE2LjctNS43LTM0LTUuNy01MS44IDAtMTMwLjUgMTA1LjQtMjM2LjMgMjM1LjQtMjM2LjN6TTExNy41IDMxMWMtMTMtOC4yLTIyLjEtMy42LTE5IDEzLjRzNTcuMiA1OC4yIDUyIDY3LjJjLTUuMiA4LjgtMjMuNS0xMC4xLTIzLjgtMTAuNSAwIDAtNTguMi01My4xLTcwLjgtMzkuMy0xMi42IDEzLjggOS42IDI1LjQgNDEuMyA0NC43czM0LjIgMjQuNCAyOS43IDMxLjctNzQuNS01Mi04MS4xLTI2LjhjLTYuNSAyNS4xIDcxLjQgMzIuNCA2Ni43IDQ5LjgtNC44IDE3LjQtNTQuOS0zMi44LTY1LjItMTMuMy0xMC4zIDE5LjYgNzAuOCA0Mi42IDcxLjQgNDIuNyAyNi4yIDYuOCA5Mi42IDIxLjMgMTE1LjktMTIuOSAxNi43LTI0LjYgMTUuNi00My4xLTcuNC02Ni4xcy0zNi4zLTU2LjctMzYuMy01Ni43YzAtLjItNS0xOS41LTE2LjMtMTcuOC0xMS40IDEuOC0xOS43IDMxIDQuMSA0OC45IDIzLjggMTcuOS00LjcgMzAtMTMuOSAxMy4zLTkuMi0xNi44LTM0LjItNTkuOS00Ny4xLTY4LjJ6bTM2MC42IDEzLjRjMy4xLTE3LTYuMS0yMS42LTE5LTEzLjQtMTMgOC4zLTM3LjkgNTEuNC00Ny4xIDY4LjJzLTM3LjcgNC42LTEzLjktMTMuMyAxNS40LTQ3LjEgNC4xLTQ4LjktMTYuMyAxNy44LTE2LjMgMTcuOGMtLjEgLjItMTMuNCAzMy43LTM2LjMgNTYuNy0yMi45IDIzLTI0LjEgNDEuNS03LjQgNjYuMSAyMy4yIDM0LjIgODkuNyAxOS43IDExNS45IDEyLjkgMS41LS40IDgxLjYtMjMuMyA3MS40LTQyLjctMTAuMy0xOS41LTYwLjQgMzAuNi02NS4zIDEzLjMtNC44LTE3LjMgNzMuMi0yNC42IDY2LjctNDkuOC02LjYtMjUuMS03Ni42IDM0LjEtODEuMSAyNi44LTQuNS03LjMtMi0xMi40IDI5LjctMzEuNyAzMS43LTE5LjMgNTQtMzAuOSA0MS4zLTQ0LjctMTIuNy0xMy44LTcwLjggMzkuMy03MC44IDM5LjMtLjQgLjQtMTguNiAxOS4zLTIzLjggMTAuNS01LjMtOC45IDQ4LjktNTAuMSA1Mi02Ny4yek0yODYuOCAzMi42Yy0xMTYuNiAwLTIxMS4xIDk0LjktMjExLjEgMjExLjkgMCAxNy4xIDIgMzMuOCA1LjggNDkuNyAwLS4xIC4xLS4xIC4yLS4yIDYuMS03LjQgMTQuOS0xMS40IDI0LjctMTEuNCAxNy43IDAgMzEuMSAxMS45IDQxLjUgMjQuOSA2LjgtOS40IDE3LjEtMTUgMjcuOS0xNSAyMC43IDAgMzMuMiAxOC4xIDM3LjkgMzQuMyAyLjMgNS41IDEzLjYgMzAuNSAzMC40IDQ3LjQgMjUuNyAyNS44IDMyLjIgNTIuNCAxOS40IDgwLjkgMTYgMS44IDMyLjggMS43IDQ5LjItLjMtMTIuNS0yOC40LTYtNTQuOSAxOS42LTgwLjYgMTYuOS0xNi45IDI4LjEtNDEuOSAzMC41LTQ3LjQgNC43LTE2LjIgMTcuMi0zNC4zIDM3LjktMzQuMyAxMC45IDAgMjEuMiA1LjYgMjcuOSAxNSAxMC40LTEzIDIzLjgtMjQuOSA0MS41LTI0LjkgOC43IDAgMTYuNiAzLjEgMjIuNSA4LjkgNS0yMiA2LjQtNDUuOCA0LjEtNjguNy0xMC44LTEwNi45LTEwMC43LTE5MC4zLTIxMC0xOTAuM3ptMS41IDIzNC4yYzQzLjYgMCA3OS00MiA3OS0xNC41IDAgMjcuNC0xOS4yIDgwLjktNzguOCA4MC45LTE5LjIgMC0zNC4yLTUuNS00NS44LTEzLjktMjMuMi0xOS40LTMzLjQtNDguMi0zMy40LTY2LjkgMC0yNy40IDM1LjQgMTQuNSA3OSAxNC41em0tMTMuMyAyNWMtOC4yIDIuNC0xNS41IDYuOC0yMS41IDEyLjYgMjIgMTIuOCA1MC40IDEyLjkgNzEuNy0xLjMtNS41LTQuOS0xMi04LjctMTkuMS0xMS01LjEtMS42LTEwLjQgMTUuOC0xNiAxNS44LTUuMiAwLTEwLjMtMTcuNi0xNS4xLTE2LjJ6TTE0Ny4xIDIxNS41YTE5LjggMTkuOCAwIDEgMSAwLTM5LjYgMTkuOCAxOS44IDAgMSAxIDAgMzkuNnptMjgyLjQgMGExOS44IDE5LjggMCAxIDEgMC0zOS42IDE5LjggMTkuOCAwIDEgMSAwIDM5LjZ6bS0yNDQtNTUuNGM3LjktMTQuOSAyNi4zLTIwLjUgNDEuMS0xMi42czIwLjQgMjYuNCAxMi42IDQxLjJjLTMuNyA3LTE1LjUtNC40LTIyLjQtMS45LTcuNyAyLjctMTAuOCAxOC43LTE4LjYgMTQuNi0xNC44LTcuOS0yMC40LTI2LjQtMTIuNi00MS4yem0xNjQuNC0xMi42YzE0LjgtNy45IDMzLjItMi4zIDQxLjEgMTIuNnMyLjIgMzMuMy0xMi42IDQxLjJjLTcuOCA0LjItMTAuOS0xMS44LTE4LjctMTQuNi02LjktMi40LTE4LjcgOS0yMi40IDEuOS03LjktMTQuOS0yLjItMzMuMyAxMi42LTQxLjJ6Il19LElNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqeGwiLGljb246WzQ0OCw1MTIsW10sImU2N2IiLCJNNDEyLjIgMzJMMzUuOCAzMkMxNiAzMiAwIDQ4IDAgNjcuOEwwIDQ0NC4yQzAgNDY0IDE2IDQ4MCAzNS44IDQ4MGwzNzYuNCAwYzE5LjggMCAzNS44LTE2IDM1LjgtMzUuOGwwLTM3Ni40QzQ0OCA0OCA0MzIgMzIgNDEyLjIgMzJ6TTM3OC42IDMzMy43YzAgNDAuMi0zMi42IDcyLjgtNzIuOCA3Mi44bC0yMzUuNiAwYzAtNDAuMiAzMi42LTcyLjggNzIuOC03Mi44bDIzNS42IDB6bTAtMTEzLjljMCA0MC4yLTMyLjYgNzIuOC03Mi44IDcyLjhsLTIzNS42IDBjMC00MC4yIDMyLjYtNzIuOCA3Mi44LTcyLjhsMjM1LjYgMHptMC0xMTMuOWMwIDQwLjItMzIuNiA3Mi44LTcyLjggNzIuOGwtMjM1LjYgMGMwLTQwLjIgMzIuNi03Mi44IDcyLjgtNzIuOGwyMzUuNiAweiJdfSxOTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWxpbmtlZGluIixpY29uOls0NDgsNTEyLFtdLCJlN2QwIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTUgMTcwLjJsNjYuNSAwIDAgMjEzLjgtNjYuNSAwIDAtMjEzLjh6bTcxLjctNjcuN2EzOC41IDM4LjUgMCAxIDEgLTc3IDAgMzguNSAzOC41IDAgMSAxIDc3IDB6TTMxNy45IDQxNmwwLTEwNGMwLTI0LjgtLjUtNTYuNy0zNC41LTU2LjctMzQuNiAwLTM5LjkgMjctMzkuOSA1NC45bDAgMTA1LjgtNjYuNCAwIDAtMjEzLjggNjMuNyAwIDAgMjkuMiAuOSAwYzguOS0xNi44IDMwLjYtMzQuNSA2Mi45LTM0LjUgNjcuMiAwIDc5LjcgNDQuMyA3OS43IDEwMS45bDAgMTE3LjItNjYuNCAweiJdfSxSTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3NzIixpY29uOls0NDgsNTEyLFtdLCJlNmEyIiwiTTM3Ni4zIDMyTDAgMzIgMCA0MDguM2MwIDE5IDcuNiAzNy4yIDIxIDUwLjdzMzEuNyAyMSA1MC43IDIxbDMwNC42IDBjMTkgMCAzNy4yLTcuNiA1MC43LTIxczIxLTMxLjcgMjEtNTAuN2wwLTMwNC42YzAtMTktNy42LTM3LjItMjEtNTAuN3MtMzEuNy0yMS01MC43LTIxek0zMzIuNCA0MzEuNGMtNy43LTguNS0xMS43LTIwLjctMTItMzYuNmwzMS4zIDBjLjIgMTQuMSA1LjEgMjEuMSAxNC44IDIxLjFjNC45IDAgOC40LTEuNiAxMC41LTQuN2MyLTMuMSAzLTggMy0xNC44YzAtNS40LTEuMy05LjktNC0xMy40Yy0zLjUtNC4yLTguMS03LjUtMTMuMi05LjVMMzUxLjIgMzY4Yy0xMC4zLTQuOS0xNy44LTEwLjgtMjIuNS0xNy42Yy00LjUtNi44LTYuNy0xNi4zLTYuNy0yOC40YzAtMTMuNiA0LTI0LjYgMTEuOC0zMy4xYzguMS04LjUgMTkuMS0xMi43IDMzLjItMTIuN2MxMy42IDAgMjQuMSA0LjIgMzEuNSAxMi41YzcuNSA4LjQgMTEuNSAyMC4zIDExLjggMzUuOWwtMzAuMSAwYy4yLTUuMS0uOS0xMC4yLTMtMTQuOGMtMS43LTMuNC01LTUuMS0xMC01LjFjLTguOCAwLTEzLjIgNS4yLTEzLjIgMTUuN2MwIDUuMyAxLjEgOS40IDMuMiAxMi42YzMuMSAzLjUgNyA2LjIgMTEuNCA3LjhsMTEuMSA0LjljMTEuNSA1LjMgMTkuNyAxMS43IDI0LjggMTkuNGM1LjEgNy43IDcuNiAxOCA3LjYgMzFjMCAxNS41LTQgMjcuNC0xMi4zIDM1LjdjLTguMiA4LjMtMTkuNSAxMi41LTM0LjEgMTIuNXMtMjUuNi00LjItMzMuNC0xMi43em0tMTAxIDBjLTcuNy04LjUtMTEuNy0yMC43LTEyLTM2LjZsMzEuMyAwYy4yIDE0LjEgNS4xIDIxLjEgMTQuOCAyMS4xYzQuOSAwIDguNC0xLjYgMTAuNC00LjdjMi0zLjEgMy04IDMtMTQuOGMwLTUuNC0xLjMtOS45LTMuOS0xMy40Yy0zLjUtNC4yLTguMS03LjUtMTMuMi05LjVMMjUwLjIgMzY4Yy0xMC4zLTQuOS0xNy44LTEwLjgtMjIuNS0xNy42Yy00LjUtNi44LTYuNy0xNi4zLTYuNy0yOC40YzAtMTMuNiA0LTI0LjYgMTEuOC0zMy4xYzguMS04LjUgMTkuMS0xMi43IDMzLjItMTIuN2MxMy42IDAgMjQuMSA0LjIgMzEuNCAxMi41YzcuNiA4LjQgMTEuNSAyMC4zIDExLjkgMzUuOWwtMzAuMSAwYy4yLTUuMS0uOS0xMC4yLTMtMTQuOGMtMS43LTMuNC01LTUuMS0xMC01LjFjLTguOCAwLTEzLjIgNS4yLTEzLjIgMTUuN2MwIDUuMyAxLjEgOS40IDMuMiAxMi42YzMuMSAzLjUgNyA2LjIgMTEuNCA3LjhsMTEuMSA0LjljMTEuNSA1LjMgMTkuNyAxMS43IDI0LjggMTkuNGM1LjEgNy43IDcuNiAxOCA3LjYgMzFjMCAxNS41LTQuMSAyNy40LTEyLjMgMzUuN3MtMTkuNSAxMi41LTM0LjEgMTIuNXMtMjUuNi00LjItMzMuNC0xMi43em0tMTA1LjYgMS4xYy04LjQtNy43LTEyLjUtMTkuMi0xMi41LTM0LjVsMC03NS40YzAtMTUuMiA0LjQtMjYuNyAxMy4yLTM0LjZjOC45LTcuOCAyMC43LTExLjggMzUuMi0xMS44YzE0LjEgMCAyNS4yIDQgMzMuNCAxMmM4LjMgOCAxMi41IDIwIDEyLjUgMzUuOWwwIDYtMzMuMSAwIDAtNS44YzAtNi4xLTEuMy0xMC43LTQtMTMuNmMtMS4xLTEuNS0yLjYtMi43LTQuMy0zLjVzLTMuNS0xLjItNS40LTEuMWMtNS40IDAtOS4yIDEuOC0xMS40IDUuNmMtMi4zIDUuMi0zLjMgMTAuOC0zIDE2LjRsMCA2NS41YzAgMTMuNyA0LjggMjAuNiAxNC40IDIwLjhjNC41IDAgNy45LTEuNiAxMC4yLTQuOGMyLjUtNC4xIDMuNy04LjggMy41LTEzLjZsMC00LjkgMzMuMSAwIDAgNS4xYzAgMTAuNi0yLjEgMTkuNS02LjIgMjYuNmMtNCA2LjktOS45IDEyLjUtMTcuMSAxNmMtNy43IDMuNy0xNi4xIDUuNS0yNC42IDUuM2MtMTQuMiAwLTI1LjUtMy45LTMzLjgtMTEuNnoiXX0sT010PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imhhc2hub2RlIixpY29uOls1MTIsNTEyLFtdLCJlNDk5IiwiTTM1LjcgMTcxLjFjLTQ2LjkgNDYtNDYuOSAxMjIuOSAwIDE2OS44TDE3MS42IDQ3Ni44YzQ2IDQ2LjkgMTIyLjkgNDYuOSAxNjkuOCAwTDQ3Ny4zIDM0MC45YzQ2LjktNDYuOSA0Ni45LTEyMy44IDAtMTY5LjhMMzQxLjQgMzUuMmMtNDYuOS00Ni45LTEyMy44LTQ2LjktMTY5LjggMEwzNS43IDE3MS4xek0xOTYgMTk2LjVhODQuNSA4NC41IDAgMSAxIDEyMCAxMTkgODQuNSA4NC41IDAgMSAxIC0xMjAtMTE5eiJdfSxGTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVkZGl0LWFsaWVuIixpY29uOls1MTIsNTEyLFtdLCJmMjgxIiwiTTM3MyAxMzguNmMtMjUuMiAwLTQ2LjMtMTcuNS01MS45LTQxLTMwLjYgNC4zLTU0LjIgMzAuNy01NC4yIDYyLjRsMCAuMmM0Ny40IDEuOCA5MC42IDE1LjEgMTI0LjkgMzYuMyAxMi42LTkuNyAyOC40LTE1LjUgNDUuNS0xNS41IDQxLjMgMCA3NC43IDMzLjQgNzQuNyA3NC43IDAgMjkuOC0xNy40IDU1LjUtNDIuNyA2Ny41LTIuNCA4Ni44LTk3IDE1Ni42LTIxMy4yIDE1Ni42UzQ1LjUgNDEwLjEgNDMgMzIzLjRjLTI1LjQtMTEuOS00My0zNy43LTQzLTY3LjcgMC00MS4zIDMzLjQtNzQuNyA3NC43LTc0LjcgMTcuMiAwIDMzIDUuOCA0NS43IDE1LjYgMzQtMjEuMSA3Ni44LTM0LjQgMTIzLjctMzYuNGwwLS4zYzAtNDQuMyAzMy43LTgwLjkgNzYuOC04NS41IDQuOS0yNC4yIDI2LjMtNDIuNCA1Mi4xLTQyLjQgMjkuNCAwIDUzLjMgMjMuOSA1My4zIDUzLjNzLTIzLjkgNTMuMy01My4zIDUzLjN6TTE1Ny41IDI1NS4zYy0yMC45IDAtMzguOSAyMC44LTQwLjIgNDcuOXMxNy4xIDM4LjEgMzggMzguMSAzNi42LTkuOCAzNy44LTM2LjktMTQuNy00OS4xLTM1LjctNDkuMWwuMSAwek0zOTUgMzAzLjFjLTEuMi0yNy4xLTE5LjItNDcuOS00MC4yLTQ3LjlzLTM2LjkgMjItMzUuNyA0OS4xIDE2LjkgMzYuOSAzNy44IDM2LjkgMzkuMy0xMSAzOC0zOC4xbC4xIDB6bS02MC4xIDcwLjhjMS41LTMuNi0xLTcuNy00LjktOC4xLTIzLTIuMy00Ny45LTMuNi03My44LTMuNnMtNTAuOCAxLjMtNzMuOCAzLjZjLTMuOSAuNC02LjQgNC41LTQuOSA4LjEgMTIuOSAzMC44IDQzLjMgNTIuNCA3OC43IDUyLjRzNjUuOC0yMS42IDc4LjctNTIuNHoiXX0scGVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRpa3RvayIsaWNvbjpbNDQ4LDUxMixbXSwiZTA3YiIsIk00NDguNSAyMDkuOWMtNDQgLjEtODctMTMuNi0xMjIuOC0zOS4ybDAgMTc4LjdjMCAzMy4xLTEwLjEgNjUuNC0yOSA5Mi42cy00NS42IDQ4LTc2LjYgNTkuNi02NC44IDEzLjUtOTYuOSA1LjMtNjAuOS0yNS45LTgyLjctNTAuOC0zNS4zLTU2LTM5LTg4LjkgMi45LTY2LjEgMTguNi05NS4yIDQwLTUyLjcgNjkuNi02Ny43IDYyLjktMjAuNSA5NS43LTE2bDAgODkuOWMtMTUtNC43LTMxLjEtNC42LTQ2IC40cy0yNy45IDE0LjYtMzcgMjcuMy0xNCAyOC4xLTEzLjkgNDMuOSA1LjIgMzEgMTQuNSA0My43IDIyLjQgMjIuMSAzNy40IDI2LjkgMzEuMSA0LjggNDYtLjEgMjgtMTQuNCAzNy4yLTI3LjEgMTQuMi0yOC4xIDE0LjItNDMuOGwwLTM0OS40IDg4IDBjLS4xIDcuNCAuNiAxNC45IDEuOSAyMi4yIDMuMSAxNi4zIDkuNCAzMS45IDE4LjcgNDUuN3MyMS4zIDI1LjYgMzUuMiAzNC42YzE5LjkgMTMuMSA0My4yIDIwLjEgNjcgMjAuMWwwIDg3LjR6Il19LEJNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3b3JkcHJlc3MiLGljb246WzUxMiw1MTIsW10sImYxOWEiLCJNNjEuNyAxNjkuNGwxMDEuNSAyNzhjLTcxLTM0LjQtMTE5LjktMTA3LjItMTE5LjktMTkxLjQgMC0zMC45IDYuNi02MC4xIDE4LjQtODYuNnptMzM3LjkgNzUuOWMwLTI2LjMtOS40LTQ0LjUtMTcuNS01OC43LTEwLjgtMTcuNS0yMC45LTMyLjQtMjAuOS00OS45IDAtMTkuNiAxNC44LTM3LjggMzUuNy0zNy44IC45IDAgMS44IC4xIDIuOCAuMi0zNy45LTM0LjctODguMy01NS45LTE0My43LTU1LjktNzQuMyAwLTEzOS43IDM4LjEtMTc3LjggOTUuOSA1IC4yIDkuNyAuMyAxMy43IC4zIDIyLjIgMCA1Ni43LTIuNyA1Ni43LTIuNyAxMS41LS43IDEyLjggMTYuMiAxLjQgMTcuNSAwIDAtMTEuNSAxLjMtMjQuMyAybDc3LjUgMjMwLjQgNDYuNi0xMzkuNi0zMy4xLTkwLjhjLTExLjUtLjctMjIuMy0yLTIyLjMtMi0xMS41LS43LTEwLjEtMTguMiAxLjMtMTcuNSAwIDAgMzUuMSAyLjcgNTYgMi43IDIyLjIgMCA1Ni43LTIuNyA1Ni43LTIuNyAxMS41LS43IDEyLjggMTYuMiAxLjQgMTcuNSAwIDAtMTEuNSAxLjMtMjQuMyAybDc2LjkgMjI4LjcgMjEuMi03MC45YzktMjkuNCAxNi01MC41IDE2LTY4Ljd6TTI1OS43IDI3NC42TDE5NS45IDQ2MC4xYzE5LjEgNS42IDM5LjIgOC43IDYwLjEgOC43IDI0LjggMCA0OC41LTQuMyA3MC42LTEyLjEtLjYtLjktMS4xLTEuOS0xLjUtMi45TDI1OS43IDI3NC42em0xODMtMTIwLjdjLjkgNi44IDEuNCAxNCAxLjQgMjEuOSAwIDIxLjYtNCA0NS44LTE2LjIgNzYuMmwtNjUgMTg3LjljNjMuMy0zNi45IDEwNS44LTEwNS40IDEwNS44LTE4My45IDAtMzctOS40LTcxLjgtMjYtMTAyLjF6TTggMjU2YTI0OCAyNDggMCAxIDEgNDk2IDAgMjQ4IDI0OCAwIDEgMSAtNDk2IDB6bTQ4NC42IDBhMjM2LjYgMjM2LjYgMCAxIDAgLTQ3My4yIDAgMjM2LjYgMjM2LjYgMCAxIDAgNDczLjIgMHoiXX0sSE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImlkZWFsIixpY29uOls1MTIsNTEyLFtdLCJlMDEzIiwiTTkzLjggMTY1LjVhNDkuMSA0OS4xIDAgMSAwIDAgOTguMSA0OS4xIDQ5LjEgMCAxIDAgMC05OC4xek01NC4zIDQyNS44bDc4LjkgMCAwLTE0MC41LTc4LjkgMCAwIDE0MC41ek0yMDUuOCAyMTQuMmMwLTIwLTEwLTIyLjUtMTguNy0yMi41bC0xNCAwIDAgNDUuOCAxNCAwYzkuNyAwIDE4LjctMi44IDE4LjctMjMuM3ptMjAxLjcgNDZsMC05MS4zIDIyLjggMCAwIDY4LjYgMzMuNyAwQzQ1NC42IDExMy4xIDM1Ni44IDg2LjIgMjY3LjggODYuMmwtOTQuOCAwIDAgODIuOCAxNCAwYzI1LjYgMCA0MS41IDE3LjQgNDEuNSA0NS4zIDAgMjguOC0xNS41IDQ2LTQxLjUgNDZsLTE0IDAgMCAxNjUuNiA5NC44IDBjMTQ0LjYgMCAxOTQuOS02Ny4yIDE5Ni43LTE2NS42bC01Ny4xIDB6bS0xMDkuOCAwbC01Ni4yIDAgMC05MS4yIDU0LjQgMCAwIDIyLjctMzEuNyAwIDAgMTAuNiAzMCAwIDAgMjIuNy0zMCAwIDAgMTIuNSAzMy41IDAgMCAyMi43em03NC43IDBsLTUuMi0xNy43LTI5LjcgMC01LjIgMTcuNy0yMy43IDAgMjcuNS05MS4zIDMyLjMgMCAyNy41IDkxLjMtMjMuNyAwek0yNjcuOCAzMkwuMSAzMiAuMSA0ODAgMjY3LjggNDgwYzE2MS44IDAgMjUxLTc5LjcgMjUxLTIyNC41IDAtODMuNS0zMi42LTIyMy41LTI1MS0yMjMuNXptMCA0MjYuOWwtMjQ2LjYgMCAwLTQwNS45IDI0Ni42IDBjMTQyLjEgMCAyMjkuOSA2NC42IDIyOS45IDIwMi40IDAgMTM0LjEtODEgMjAzLjQtMjI5LjkgMjAzLjR6bTgzLjktMjY0LjlsLTcuNSAyNS44IDE2LjQgMC03LjUtMjUuOC0xLjQgMHoiXX0scU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpZWQtcGlwZXItcHAiLGljb246WzQ0OCw1MTIsW10sImYxYTciLCJNMjA1LjMgMTc0LjZjMCAyMS4xLTE0LjIgMzguMS0zMS43IDM4LjEtNy4xIDAtMTIuOC0xLjItMTcuMi0zLjdsMC02OGM0LjQtMi43IDEwLjEtNC4yIDE3LjItNC4yIDE3LjUgMCAzMS43IDE2LjkgMzEuNyAzNy44em01Mi42IDY3Yy03LjEgMC0xMi44IDEuNS0xNy4yIDQuMmwwIDY4YzQuNCAyLjUgMTAuMSAzLjcgMTcuMiAzLjcgMTcuNCAwIDMxLjctMTYuOSAzMS43LTM3LjggMC0yMS4xLTE0LjMtMzguMS0zMS43LTM4LjF6TTQ0OCA4MGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsMzUyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTE4NSAyNTUuMWM0MSAwIDc0LjItMzUuNiA3NC4yLTc5LjZTMjI2IDk1LjkgMTg1IDk1LjljLTEyIDAtMjQuMSAzLjItMzQuNiA4LjhsLTQ1LjcgMCAwIDIwNi4zIDUxLjgtMTAuMSAwLTUwLjZjOC42IDMuMSAxOC4xIDQuOCAyOC41IDQuOHptMTU4LjQgMjUuM2MwLTQ0LTMzLjItNzkuNi03My45LTc5LjYtMy4yIDAtNi40IC4yLTkuNiAuNy0zLjcgMTIuNS0xMC4xIDIzLjgtMTkuMiAzMy40LTEzLjggMTUtMzIuMiAyMy44LTUxLjggMjQuOGwwIDE1Ni4zIDUxLjgtMTAuMSAwLTUwLjZjOC42IDMuMiAxOC4yIDQuNyAyOC43IDQuNyA0MC44IDAgNzQtMzUuNiA3NC03OS42eiJdfSxWTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidXNzdW5uYWgiLGljb246WzUxMiw1MTIsW10sImY0MDciLCJNNDk2LjkgMjY4LjFjMCA2My45LTI1LjQgMTI1LjItNzAuNiAxNzAuM1MzMTkuOSA1MDkgMjU2IDUwOSAxMzAuOCA0ODMuNSA4NS43IDQzOC40IDE1LjEgMzMxLjkgMTUuMSAyNjhjMC02My45IDI1LjQtMTI1LjIgNzAuNi0xNzAuNFMxOTIuMiAyNy4xIDI1Ni4xIDI3LjEgMzgxLjMgNTIuNCA0MjYuNSA5Ny42IDQ5NyAyMDQuMSA0OTcgMjY4bC0uMSAuMXpNMzkuNSAyNjhjLS42IDI4LjggNC41IDU3LjUgMTUuMSA4NC4zczI2LjQgNTEuMiA0Ni42IDcxLjggNDQuMiAzNyA3MC44IDQ4LjEgNTUuMSAxNi45IDgzLjkgMTYuOSA1Ny40LTUuOCA4My45LTE2LjkgNTAuNi0yNy41IDcwLjgtNDguMSAzNi00NSA0Ni42LTcxLjggMTUuNy01NS41IDE1LjEtODQuM2MuNi0yOC44LTQuNS01Ny41LTE1LjEtODQuM3MtMjYuNC01MS4yLTQ2LjYtNzEuOC00NC4yLTM3LTcwLjgtNDguMS01NS4xLTE2LjktODMuOS0xNi45LTU3LjQgNS44LTgzLjkgMTYuOS01MC42IDI3LjUtNzAuOCA0OC4xLTM2IDQ1LTQ2LjYgNzEuOC0xNS43IDU1LjUtMTUuMSA4NC4zem0zODUuOSA2My4zYy0xMi43IDAtMjEuNi0xLjktMjYuNy01LjktNS41LTQuMy04LjItMTIuMy04LjItMjMuOGwwLTk2LjVjMC02LjUtNS4yLTIwLjItMTUuNy00MS4yIDcgMCAxNy05LjEgMzAtMjcuMmwwIDE0Ny44YzAgMTEgMi40IDE5LjQgNyAyNS4zIDMuNyA0LjcgMTAuMSA4LjkgMTkgMTIuNiAxLjIgLjQgMi42IC45IDQuMSAxLjQgMi45IC45IDYuMyAyLjEgMTAuMyAzLjUtMS44IDIuNy04LjMgNC0xOS45IDRsLjEgMHptLTIxOSAwYy0xLjMgMi40LTMuNiA1LjUtNi44IDkuNGwtMTguNSAyMi41Yy0xLTYuMS00LTEzLTkuMy0yMC42cy05LjctMTEuNC0xMy40LTExLjRsLTg5LjggMGMzLjMtNS4zIDQuOS04LjggNC45LTEwLjhzLS44LTUuMy0yLjQtOS43Yy0xLjUtNC40LTIuNC04LjUtMi40LTEyLjQgMC03LjQgMi4xLTEzLjkgNi4zLTE5LjNsMjAtMjUuNi03LjEtMTcuNyAxNi4xLTE5LjggNi43IDE2LjggOC0xMC4zYy0xLjggNi40LTIuNiAxMi4zLTIuNiAxNy43IDAgNC4yIDIuOCAxMy4zIDguMyAyNy4zbDE2LjIgNDAuNyAxNy43IDBjMi44IC40IDcuNyA1IDE0LjYgMTMuOSAxLjggMi40IDQuMyA1LjggNy43IDEwLjIgMS40IDEuOSAyLjkgMy45IDQuNiA2LjEgMS4zLTIuMyAyLTQuNiAyLTcuMSAwLTItMS4zLTYuNi00LTEzLjRMMTc4IDMwNC4xYy00LTEwLjYtNi4xLTE3LjctNi4xLTIxLjMgMC02LjMgMS45LTEyLjMgNS44LTE3LjkgLjUtLjYgMS0xLjMgMS41LTEuOSA0LjQtNS42IDguOC0xMS4xIDEzLjMtMTYuNS0xLjEgNC42LTEuNyA4LjctMS43IDEyIDAgMy43IDEuNyA5LjkgNS4xIDE4LjhsNy45IDIwLjRjMS45IDQuNyAzIDguMiAzLjcgMTAuM2wyNS45IDAtLjktMi42Yy0xLjQtMy45LTQtNy03LjctOS4zbDE1LjYtMjAuMSAxMi4zIDMyIDEzLjQgMC02LjEtMTUuOGMtMS41LTMuOS00LTctNy43LTkuM2wxNS43LTIwLjEgMTcuMyA0NS4yIDEzLjQgMC0xMS40LTI5LjRjLTEuNS0zLjktNC03LTcuNy05LjNsMTUuNi0yMCAyMi40IDU4LjcgMjYuMiAwYzEuNSAwIDMtMS4xIDQuNS0zLjFzMi4yLTQuMSAyLjItNi4zbDAtOTMuNWMwLTYuNS00LjUtMjAuMy0xMy43LTQxLjIgNS40IDAgMTQuMS05LjEgMjYuMi0yNy4ybDAgMTYzLjVjMCA3LjIgLjYgMTIgMS43IDE0LjYgMS42IDMuNCA1LjMgNi4yIDExLjEgOC4yLTMuOSA1LjYtOC43IDguNS0xNC41IDguNWwtMTU0LjggMC0uMS0uMnptLTk4LTQ0Yy0yLjctNi43LTQtMTEuNy00LTE1LS42IDEuMi0yLjQgMy43LTUuNCA3LjYtMS40IDEuOS0yLjIgMy43LTIuMiA1LjMgMCAyLjYgLjggNS43IDIuMiA5LjNsNS42IDEzLjljNSAwIDkgMCAxMS45LS4xbC04LjItMjAuOSAuMS0uMXptMTMuNS03Mi40Yy0zLTUuMi03LTkuMy0xMS45LTExLjktMy41LTEuOS01LjMtNC4zLTUuMy03LjQgMC0yLjQgNC42LTguNiAxNC0xOC4zIC4yIDMuOCAxLjkgNy42IDQuOSAxMS4yIDMuMSAzLjYgNC42IDcgNC42IDEwLjEgMCAyLjYtMi4xIDgtNi4yIDE2LjNsLS4xIDB6bS0yNy42IDBjLTMtNS4yLTctOS4zLTExLjktMTEuOS0zLjUtMS45LTUuMy00LjMtNS4zLTcuNCAwLTIuNCA0LjYtOC42IDE0LTE4LjMgLjIgMy44IDEuOSA3LjYgNC45IDExLjIgMy4xIDMuNiA0LjYgNyA0LjYgMTAuMSAwIDIuNi0yLjEgOC02LjIgMTYuM2wtLjEgMHptODcgMjcuNWMtMy01LjItNy05LjMtMTEuOS0xMS45LTMuNS0xLjktNS4zLTQuMy01LjMtNy40IDAtMi40IDQuNi04LjYgMTQtMTguMyAuMiAzLjggMS45IDcuNiA0LjkgMTEuMiAzLjEgMy42IDQuNiA3IDQuNiAxMC4xIDAgMi42LTIuMSA4LTYuMiAxNi4zbC0uMSAweiJdfSxqTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9ydC1hd2Vzb21lLWFsdCIsaWNvbjpbNTEyLDUxMixbXSwiZjNhMyIsIk0yMDggMjM3LjRsLTIyLjIgMGMtMi4xIDAtMy43IDEuNi0zLjcgMy43bDAgNTEuN2MwIDIuMSAxLjYgMy43IDMuNyAzLjdsMjIuMiAwYzIuMSAwIDMuNy0xLjYgMy43LTMuN2wwLTUxLjdjMC0yLjEtMS42LTMuNy0zLjctMy43em0xMTguMiAwbC0yMi4yIDBjLTIuMSAwLTMuNyAxLjYtMy43IDMuN2wwIDUxLjdjMCAyLjEgMS42IDMuNyAzLjcgMy43bDIyLjIgMGMyLjEgMCAzLjctMS42IDMuNy0zLjdsMC01MS43Yy0uMS0yLjEtMS43LTMuNy0zLjctMy43em0xMzItMTI1LjFjLTIuMy0zLjItNC42LTYuNC03LjEtOS41LTkuOC0xMi41LTIwLjgtMjQtMzIuOC0zNC40LTQuNS0zLjktOS4xLTcuNi0xMy45LTExLjItMS42LTEuMi0zLjItMi4zLTQuOC0zLjUtMjcuNi0xOS42LTU5LjMtMzMuNy05My42LTQwLjctMTYuMi0zLjMtMzIuOS01LTUwLTVzLTMzLjkgMS43LTUwIDVjLTM0LjMgNy4xLTY2IDIxLjItOTMuMyA0MC44LTEuNiAxLjEtMy4yIDIuMy00LjggMy41LTQuOCAzLjYtOS40IDcuMy0xMy45IDExLjItMyAyLjYtNS45IDUuMy04LjggOHMtNS43IDUuNS04LjQgOC40Yy01LjUgNS43LTEwLjcgMTEuOC0xNS42IDE4LTIuNCAzLjEtNC44IDYuMy03LjEgOS41LTI4LjkgNDAuNi00NS44IDkwLjEtNDUuOCAxNDMuNiAwIDIgLjEgNCAuMSA2IC4xIC43IC4xIDEuMyAuMSAyIC4xIDEuMyAuMSAyLjcgLjIgNCAwIC44IC4xIDEuNSAuMSAyLjMgMCAxLjMgLjEgMi41IC4yIDMuNyAuMSAuOCAuMSAxLjYgLjIgMi40IC4xIDEuMSAuMiAyLjMgLjMgMy41IDAgLjggLjEgMS42IC4yIDIuNCAuMSAxLjIgLjMgMi40IC40IDMuNiAuMSAuOCAuMiAxLjUgLjMgMi4zIC4xIDEuMyAuMyAyLjYgLjUgMy45IC4xIC42IC4yIDEuMyAuMyAxLjlsLjkgNS43Yy4xIC42IC4yIDEuMSAuMyAxLjcgLjMgMS4zIC41IDIuNyAuOCA0IC4yIC44IC4zIDEuNiAuNSAyLjQgLjIgMSAuNSAyLjEgLjcgMy4yIC4yIC45IC40IDEuNyAuNiAyLjYgLjIgMSAuNCAyIC43IDMgLjIgLjkgLjUgMS44IC43IDIuNyAuMyAxIC41IDEuOSAuOCAyLjkgLjMgLjkgLjUgMS44IC44IDIuNyAuMiAuOSAuNSAxLjkgLjggMi44cy41IDEuOCAuOCAyLjdjLjMgMSAuNiAxLjkgLjkgMi44IC42IDEuNiAxLjEgMy4zIDEuNyA0LjkgLjQgMSAuNyAxLjkgMSAyLjggLjMgMSAuNyAyIDEuMSAzIC4zIC44IC42IDEuNSAuOSAyLjNsMS4yIDNjLjMgLjcgLjYgMS41IC45IDIuMiAuNCAxIC45IDIgMS4zIDNsLjkgMi4xYy41IDEgLjkgMiAxLjQgMyAuMyAuNyAuNiAxLjMgLjkgMiAuNSAxIDEgMi4xIDEuNSAzLjEgLjIgLjYgLjUgMS4xIC44IDEuNyAuNiAxLjEgMS4xIDIuMiAxLjcgMy4zIC4xIC4yIC4yIC4zIC4zIC41IDIuMiA0LjEgNC40IDguMiA2LjggMTIuMiAuMiAuNCAuNSAuOCAuNyAxLjIgLjcgMS4xIDEuMyAyLjIgMiAzLjMgLjMgLjUgLjYgLjkgLjkgMS40IC42IDEuMSAxLjMgMi4xIDIgMy4yIC4zIC41IC42IC45IC45IDEuNCAuNyAxLjEgMS40IDIuMSAyLjEgMy4yIC4yIC40IC41IC44IC44IDEuMiAuNyAxLjEgMS41IDIuMiAyLjMgMy4zIC4yIC4yIC4zIC41IC41IC43IDM3LjUgNTEuNyA5NC40IDg4LjUgMTYwIDk5LjQgLjkgLjEgMS43IC4zIDIuNiAuNCAxIC4yIDIuMSAuNCAzLjEgLjVzMS45IC4zIDIuOCAuNGMxIC4yIDIgLjMgMyAuNCAuOSAuMSAxLjkgLjIgMi45IC4zczEuOSAuMiAyLjkgLjMgMi4xIC4yIDMuMSAuM2MuOSAuMSAxLjggLjEgMi43IC4yIDEuMSAuMSAyLjMgLjEgMy40IC4yIC44IDAgMS43IC4xIDIuNSAuMSAxLjMgMCAyLjYgLjEgMy45IC4xIC43IC4xIDEuNCAuMSAyLjEgLjEgMiAuMSA0IC4xIDYgLjFzNC0uMSA2LS4xYy43IDAgMS40LS4xIDIuMS0uMSAxLjMgMCAyLjYgMCAzLjktLjEgLjggMCAxLjctLjEgMi41LS4xIDEuMS0uMSAyLjMtLjEgMy40LS4yIC45IDAgMS44LS4xIDIuNy0uMiAxLS4xIDIuMS0uMiAzLjEtLjNzMS45LS4yIDIuOS0uM2MuOS0uMSAxLjktLjIgMi45LS4zczItLjMgMy0uNCAxLjktLjMgMi44LS40YzEtLjIgMi4xLS4zIDMuMS0uNSAuOS0uMSAxLjctLjMgMi42LS40IDY1LjYtMTEgMTIyLjUtNDcuNyAxNjAuMS0xMDIuNCAuMi0uMiAuMy0uNSAuNS0uNyAuOC0xLjEgMS41LTIuMiAyLjMtMy4zIC4yLS40IC41LS44IC44LTEuMiAuNy0xLjEgMS40LTIuMSAyLjEtMy4yIC4zLS41IC42LS45IC45LTEuNCAuNi0xLjEgMS4zLTIuMSAyLTMuMiAuMy0uNSAuNi0uOSAuOS0xLjQgLjctMS4xIDEuMy0yLjIgMi0zLjMgLjItLjQgLjUtLjggLjctMS4yIDIuNC00IDQuNi04LjEgNi44LTEyLjIgLjEtLjIgLjItLjMgLjMtLjUgLjYtMS4xIDEuMS0yLjIgMS43LTMuMyAuMi0uNiAuNS0xLjEgLjgtMS43IC41LTEgMS0yLjEgMS41LTMuMSAuMy0uNyAuNi0xLjMgLjktMiAuNS0xIDEtMiAxLjQtM2wuOS0yLjFjLjUtMSAuOS0yIDEuMy0zIC4zLS43IC42LTEuNSAuOS0yLjJsMS4yLTNjLjMtLjggLjYtMS41IC45LTIuMyAuNC0xIC43LTIgMS4xLTNzLjctMS45IDEtMi44Yy42LTEuNiAxLjItMy4zIDEuNy00LjkgLjMtMSAuNi0xLjkgLjktMi44cy41LTEuOCAuOC0yLjdjLjItLjkgLjUtMS45IC44LTIuOHMuNi0xLjggLjgtMi43Yy4zLTEgLjUtMS45IC44LTIuOSAuMi0uOSAuNS0xLjggLjctMi43IC4yLTEgLjUtMiAuNy0zIC4yLS45IC40LTEuNyAuNi0yLjYgLjItMSAuNS0yLjEgLjctMy4yIC4yLS44IC4zLTEuNiAuNS0yLjQgLjMtMS4zIC42LTIuNyAuOC00IC4xLS42IC4yLTEuMSAuMy0xLjdsLjktNS43Yy4xLS42IC4yLTEuMyAuMy0xLjkgLjEtMS4zIC4zLTIuNiAuNS0zLjkgLjEtLjggLjItMS41IC4zLTIuMyAuMS0xLjIgLjMtMi40IC40LTMuNiAwLS44IC4xLTEuNiAuMi0yLjQgLjEtMS4xIC4yLTIuMyAuMy0zLjUgLjEtLjggLjEtMS42IC4yLTIuNCAuMSAxLjcgLjEgLjUgLjItLjcgMC0uOCAuMS0xLjUgLjEtMi4zIC4xLTEuMyAuMi0yLjcgLjItNCAuMS0uNyAuMS0xLjMgLjEtMiAuMS0yIC4xLTQgLjEtNiAwLTUzLjUtMTYuOS0xMDMtNDUuOC0xNDMuN3pNNDQ4IDM3MS41Yy05LjQgMTUuNS0yMC42IDI5LjktMzMuNiA0Mi45LTIwLjYgMjAuNi00NC41IDM2LjctNzEuMiA0OC0xMy45IDUuOC0yOC4yIDEwLjMtNDIuOSAxMy4ybDAtNzUuOGMwLTU4LjYtODguNi01OC42LTg4LjYgMGwwIDc1LjhjLTE0LjctMi45LTI5LTcuMy00Mi45LTEzLjItMjYuNy0xMS4zLTUwLjYtMjcuNC03MS4yLTQ4LTEzLTEzLTI0LjItMjcuNC0zMy42LTQyLjlsMC03MS4zYzAtMi4xIDEuNi0zLjcgMy43LTMuN2wyMi4xIDBjMi4xIDAgMy43IDEuNiAzLjcgMy43bDAgMjUuOCAyOS42IDAgMC0xNDRjMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjEgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCAyNS45IDI5LjUgMCAwLTI1LjljMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjIgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCAyNS45IDI5LjUgMCAwLTI1LjljMC00LjggNi41LTMuNyA5LjUtMy43bDAtOTAuMmMtNC40LTItNy40LTYuNy03LjQtMTEuNSAwLTE2LjggMjUuNC0xNi44IDI1LjQgMCAwIDQuOC0zIDkuNC03LjQgMTEuNWwwIDMuOWM2LjMtMS40IDEyLjctMi4zIDE5LjItMi4zIDkuNCAwIDE4LjQgMy41IDI2LjMgMy41IDcuMiAwIDE1LjItMy41IDE5LjQtMy41IDIuMSAwIDMuNyAxLjYgMy43IDMuN2wwIDQ4LjRjMCA1LjYtMTguNyA2LjUtMjIuNCA2LjUtOC42IDAtMTYuNi0zLjUtMjUuNC0zLjUtNyAwLTE0LjEgMS4yLTIwLjggMi44bDAgMzAuN2MzIDAgOS41LTEuMSA5LjUgMy43bDAgMjUuOSAyOS41IDAgMC0yNS45YzAtMi4xIDEuNi0zLjcgMy43LTMuN2wyMi4yIDBjMi4xIDAgMy43IDEuNiAzLjcgMy43bDAgMjUuOSAyOS41IDAgMC0yNS45YzAtMi4xIDEuNi0zLjcgMy43LTMuN2wyMi4xIDBjMi4xIDAgMy43IDEuNiAzLjcgMy43bDAgMTQ0IDI5LjUgMCAwLTI1LjhjMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjIgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCA3MS4zeiJdfSxVTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYnVyb21vYmVsZXhwZXJ0ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjM3ZiIsIk0wIDMybDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAwek0xMjAgMTUybC0xMTIgMCAwLTExMiAxMTIgMCAwIDExMnpNMTYwIDMybDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAwek0yODAgMTUybC0xMTIgMCAwLTExMiAxMTIgMCAwIDExMnpNMzIwIDMybDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAwek00NDAgMTUybC0xMTIgMCAwLTExMiAxMTIgMCAwIDExMnpNMCAxOTJsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTEyMCAzMTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyem00MC0xMjBsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTI4MCAzMTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyem00MC0xMjBsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTQ0MCAzMTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyek0wIDM1MmwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHpNMTIwIDQ3MmwtMTEyIDAgMC0xMTIgMTEyIDAgMCAxMTJ6bTQwLTEyMGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHpNMjgwIDQ3MmwtMTEyIDAgMC0xMTIgMTEyIDAgMCAxMTJ6bTQwLTEyMGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHoiXX0sV010PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJpbGliaWxpIixpY29uOls1MTIsNTEyLFtdLCJlM2Q5IiwiTTQ4OC42IDEwNC4xYzE2LjcgMTguMSAyNC40IDM5LjcgMjMuMyA2NS43bDAgMjAyLjRjLS40IDI2LjQtOS4yIDQ4LjEtMjYuNSA2NS4xLTE3LjIgMTctMzkuMSAyNS45LTY1LjUgMjYuN0w5MiA0NjRjLTI2LjQtLjgtNDguMi05LjgtNjUuMy0yNy4yLTE3LjEtMTcuNC0yNi00MC4zLTI2LjctNjguNkwwIDE2OS44Yy44LTI2IDkuNy00Ny42IDI2LjctNjUuNyAxNy4xLTE2LjMgMzguOC0yNS4zIDY1LjMtMjYuMWwyOS40IDAtMjUuNC0yNS44Yy01LjctNS43LTguNi0xMy04LjYtMjEuOHMyLjktMTYuMSA4LjYtMjEuOCAxMy04LjYgMjEuOS04LjYgMTYuMSAyLjkgMjEuOSA4LjZsNzMuMyA2OS40IDg4IDAgNzQuNS02OS40QzM4MS43IDIuOSAzODkuMiAwIDM5OCAwczE2LjEgMi45IDIxLjkgOC42YzUuNyA1LjcgOC42IDEzIDguNiAyMS44cy0yLjkgMTYuMS04LjYgMjEuOEwzOTQuNiA3OCA0MjMuOSA3OGMyNi40IC44IDQ4IDkuOCA2NC43IDI2LjF6bS0zOC44IDY5LjdjLS40LTkuNi0zLjctMTcuNC0xMC43LTIzLjUtNS4yLTYuMS0xNC05LjQtMjIuNy05LjhsLTMyMC40IDBjLTkuNiAuNC0xNy40IDMuNy0yMy42IDkuOC02LjEgNi4xLTkuNCAxMy45LTkuOCAyMy41bDAgMTk0LjRjMCA5LjIgMy4zIDE3IDkuOCAyMy41czE0LjQgOS44IDIzLjYgOS44bDMyMC40IDBjOS4yIDAgMTctMy4zIDIzLjMtOS44czkuNy0xNC4zIDEwLjEtMjMuNWwwLTE5NC40ek0xODUuNSAyMTYuNWM2LjMgNi4zIDkuNyAxNC4xIDEwLjEgMjMuMmwwIDMzLjNjLS40IDkuMi0zLjcgMTYuOS05LjggMjMuMi02LjIgNi4zLTE0IDkuNS0yMy42IDkuNXMtMTcuNS0zLjItMjMuNi05LjUtOS40LTE0LTkuOC0yMy4ybDAtMzMuM2MuNC05LjEgMy44LTE2LjkgMTAuMS0yMy4yczEzLjItOS42IDIzLjMtMTBjOS4yIC40IDE3IDMuNyAyMy4zIDEwem0xOTEuNSAwYzYuMyA2LjMgOS43IDE0LjEgMTAuMSAyMy4ybDAgMzMuM2MtLjQgOS4yLTMuNyAxNi45LTkuOCAyMy4ycy0xNCA5LjUtMjMuNiA5LjUtMTcuNC0zLjItMjMuNi05LjVjLTctNi4zLTkuNC0xNC05LjctMjMuMmwwLTMzLjNjLjMtOS4xIDMuNy0xNi45IDEwLTIzLjJzMTQuMS05LjYgMjMuMy0xMGM5LjIgLjQgMTcgMy43IDIzLjMgMTB6Il19LEdNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJuZW9zIixpY29uOls0NDgsNTEyLFtdLCJmNjEyIiwiTTM4My44IDUxMmwtOTUuMSAwLTEwOC4yLTE1NC41IDAgOTEuMS04Ni40IDYzLjQtOTcuNyAwIDAtNDgyLjIgNDAuNS0yOS44IDEwOCAwIDEyMy43IDE3Ni4xIDAtMTEyLjcgODYuNC02My40IDk3LjcgMCAwIDQ2MS41LTY4LjkgNTAuNXpNNy4yIDM1LjNsMCA0NjAuNyA3Mi01Mi45IDAtMjQ5LjEgMjE1LjUgMzA3LjYgODQuOCAwIDUyLjQtMzguMi03OC4zIDAtMzE2LjEtNDUwLjUtMzAuMiAyMi4zek04OS43IDUwMS45bDgwLTU4LjggMC0xMDEtNzkuOC0xMTQuNCAwIDIyMC45LTcyLjYgNTMuMyA3Mi4zIDAgMCAwek00OSAxMC44bDMxMC42IDQ0Mi42IDgyLjQgMCAwLTQ0Mi42LTc5LjggMCAwIDMxNy42LTIyMi45LTMxNy42LTkwLjMgMHpNMjc5LjQgMTkxLjZsNzIgMTAyLjggMC0yNzguNS03MiA1MyAwIDEyMi43eiJdfSxZTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGV2IixpY29uOls0NDgsNTEyLFtdLCJmNmNjIiwiTTEyMC4xIDIwOC4zYy0zLjktMi45LTcuOC00LjMtMTEuNi00LjNsLTE3LjQgMCAwIDEwNC41IDE3LjQgMGMzLjkgMCA3LjgtMS40IDExLjYtNC4zczUuOC03LjMgNS44LTEzLjFsMC02OS43YzAtNS44LTItMTAuMi01LjgtMTMuMXpNNDA0LjEgMzJMNDMuOSAzMkMxOS43IDMyIC4xIDUxLjYgMCA3NS44TDAgNDM2LjJDLjEgNDYwLjQgMTkuNyA0ODAgNDMuOSA0ODBsMzYwLjIgMGMyNC4yIDAgNDMuOC0xOS42IDQzLjktNDMuOGwwLTM2MC40QzQ0Ny45IDUxLjYgNDI4LjMgMzIgNDA0LjEgMzJ6TTE1NC4yIDI5MS4yYzAgMTguOC0xMS42IDQ3LjMtNDguNCA0Ny4zbC00Ni40IDAgMC0xNjUuNSA0Ny40IDBjMzUuNCAwIDQ3LjQgMjguNSA0Ny40IDQ3LjNsMCA3MC45em0xMDAuNy04OC43bC01My4zIDAgMCAzOC40IDMyLjYgMCAwIDI5LjYtMzIuNiAwIDAgMzguNCA1My4zIDAgMCAyOS42LTYyLjIgMGMtMTEuMiAuMy0yMC40LTguNS0yMC43LTE5LjdsMC0xMjUuMWMtLjMtMTEuMSA4LjYtMjAuNCAxOS43LTIwLjdsNjMuMiAwIDAgMjkuNXpNMzU4LjUgMzE3LjhjLTEzLjIgMzAuNy0zNi44IDI0LjYtNDcuNCAwbC0zOC41LTE0NC44IDMyLjYgMCAyOS43IDExMy43IDI5LjYtMTEzLjcgMzIuNiAwLTM4LjUgMTQ0Ljh6Il19LEtNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJob3RqYXIiLGljb246WzUxMiw1MTIsW10sImYzYjEiLCJNMzYxLjggMGMwIDEzMS42LTgwLjcgMTc2LjgtMTQwLjIgMjA5LjQtLjYgLjMtMS4xIC42LTEuNiAuOS01My44IDMwLjItODguNyA0OS44LTg5LjYgMTIybC05OC4xIDBjMC0xMzEuNSA4MC43LTE3Ni43IDE0MC4yLTIwOS4zIDU0LjgtMjkuOCA5MC4zLTUwIDkwLjMtMTIzbDk5IDB6TTMwMS4zIDMwMi42YzU0LjgtMjkuOCA5MC4zLTUwIDkwLjMtMTIzbDk4IDBjMCAxMzEuNi04MC43IDE3Ni43LTE0MC4yIDIwOS40LTU0LjggMjkuOC05MC4zIDUwLTkwLjMgMTIzbC05OCAwYzAtMTMxLjYgODAuNy0xNzYuOCAxNDAuMi0yMDkuNHoiXX0sWk10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRvY2h1YiIsaWNvbjpbNDQ4LDUxMixbXSwiZjM5NCIsIk00MTMuOSAxNjBMMjcyIDE2MCAyNzIgMTkuNiA0MTMuOSAxNjB6TTMyMCAxOTJsMCAxMzBjMCA2Ni44LTM2LjUgMTAwLjEtMTEzLjMgMTAwLjFsLTk0LjcgMCAwLTMzNy4zIDk0LjcgMGMxMiAwIDIzLjEgLjggMzMuMSAyLjVsMC04NEMyMjguOSAxLjEgMjE3LjQgMCAyMDUuMiAwTDE2IDAgMTYgNTEyIDIwNS4yIDUxMkMzNDUuNyA1MTIgNDE2IDQ0Ny40IDQxNiAzMTguMWwwLTEyNi4xLTk2IDB6Il19LFhNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2aW1lbyIsaWNvbjpbNDQ4LDUxMixbXSwiZjQwYSIsIk00MDMuMiAzMkw0NC44IDMyQzIwLjEgMzIgMCA1Mi4xIDAgNzYuOEwwIDQzNS4yQzAgNDU5LjkgMjAuMSA0ODAgNDQuOCA0ODBsMzU4LjQgMGMyNC43IDAgNDQuOC0yMC4xIDQ0LjgtNDQuOGwwLTM1OC40QzQ0OCA1Mi4xIDQyNy45IDMyIDQwMy4yIDMyek0zNzcgMTgwLjhjLTEuNCAzMS41LTIzLjQgNzQuNy02NiAxMjkuNC00NCA1Ny4yLTgxLjMgODUuOC0xMTEuNyA4NS44LTE4LjkgMC0zNC44LTE3LjQtNDcuOS01Mi4zLTI1LjUtOTMuMy0zNi40LTE0OC01Ny40LTE0OC0yLjQgMC0xMC45IDUuMS0yNS40IDE1LjJMNTMuNCAxOTEuM2MzNy4zLTMyLjggNzIuOS02OS4yIDk1LjItNzEuMiAyNS4yLTIuNCA0MC43IDE0LjggNDYuNSA1MS43IDIwLjcgMTMxLjIgMjkuOSAxNTEgNjcuNiA5MS42IDEzLjUtMjEuNCAyMC44LTM3LjcgMjEuOC00OC45IDMuNS0zMy4yLTI1LjktMzAuOS00NS44LTIyLjQgMTUuOS01Mi4xIDQ2LjMtNzcuNCA5MS4yLTc2IDMzLjMgLjkgNDkgMjIuNSA0Ny4xIDY0Ljd6Il19LFFNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtYXhjZG4iLGljb246WzUxMiw1MTIsW10sImYxMzYiLCJNNDYxLjEgNDQyLjdsLTk3LjQgMCA1MS45LTI0Mi43YzIuMy0xMC4yIC45LTE5LjUtNC40LTI1LjctNS02LjEtMTMuNy05LjYtMjQuMi05LjZsLTQ5LjMgMC01OS41IDI3OC05Ny40IDAgNTkuNS0yNzgtODMuNCAwLTU5LjUgMjc4LTk3LjQgMCA1OS41LTI3OC00NC42LTk1LjQgMzcyLjEgMGMzOS40IDAgNzUuMyAxNi4zIDk4LjMgNDQuOSAyMy4zIDI4LjYgMzEuOCA2Ny40IDIzLjYgMTA1LjlMNDYxLjEgNDQyLjd6Il19LHF1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZm9udC1hd2Vzb21lLXN0cm9rZSIsaWNvbjpbNDQ4LDUxMixbImZvbnQtYXdlc29tZS1hbHQiXSwiZjM1YyIsIk02NCA2NEM0Ni4zIDY0IDMyIDc4LjMgMzIgOTZsMCAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMjBjMC0xNy43LTE0LjMtMzItMzItMzJMNjQgNjR6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0xNTQgNThjMCA5LjMtNC44IDE3LjQtMTIuMSAyMmwxODguOSAwYzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDEuOC0uNCAzLjctMS4xIDUuNEwzMTIgMjY0IDM0Mi45IDMzMy40Yy44IDEuNyAxLjEgMy41IDEuMSA1LjQgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ybC0xODYuOCAwIDAgMzItMzIgMCAwLTIwOS41Yy02LjEtNC44LTEwLTEyLjItMTAtMjAuNSAwLTE0LjQgMTEuNi0yNiAyNi0yNnMyNiAxMS42IDI2IDI2eiJdfSxKTXQ9cXVlLGVrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcGVha2FwIixpY29uOls0NDgsNTEyLFtdLCJmM2YzIiwiTTY0LjQgMzkxLjhDLTE1IDMwMy42LTcuNiAxNjcuNCA4MS4xIDg3LjZzMjI0LjgtNzMgMzA0LjIgMTUuMiA3MiAyMjQuNC0xNi42IDMwNC4xYy0xOC43IDE2LjkgNjQgNDMuMSA0MiA1Mi4zLTgyLjEgMzQuMi0yNTMuOSAzNS0zNDYuMi02Ny41bDAgMHpNMjc3LjcgMTgwLjJsMzguNS00MC45Yy05LjYtOC45LTMyLTI2LjgtNzYuMi0yNy42LTUyLjMtLjktOTUuOSAyOC4zLTk2LjggODAtLjIgMTEuMyAuMyAzNi43IDI5LjQgNTQuOCAzNC41IDIxLjQgODYuNSAyMS41IDg2IDUyLjMtLjQgMjEuMy0yNi40IDI1LjgtMzguNiAyNS42LTMgMC0zMC4yLS41LTQ3LjYtMjQuNmwtNDAgNDIuNmMyOC4yIDI3IDU5IDMyLjYgODMuNSAzMyAxMC4yIC4yIDk2LjQgLjMgOTcuOC04MSAuMy0xNS44LTIuMS0zOS43LTI4LjktNTYuNi0zNC40LTIxLjYtODUtMTkuNC04NC40LTQ5LjcgLjQtMjMuMyAzMS0yNS40IDM3LjUtMjUuMyAuNCAwIDI2LjYgLjMgMzkuNiAxNy40bDAgMHoiXX0sdGt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZhbnRhc3ktZmxpZ2h0LWdhbWVzIixpY29uOls1MTIsNTEyLFtdLCJmNmRjIiwiTTI1NiAzMi45TDMyLjkgMjU2IDI1NiA0NzkuMSA0NzkuMSAyNTYgMjU2IDMyLjl6TTg4LjMgMjU1LjhjMi0yIDExLjktMTIuMyA5Ni41LTk3LjUgNDEuNC00MS44IDg2LjItNDMuOCAxMTkuOC0xOC43IDI0LjYgMTguNCA2Mi4xIDU4LjkgNjIuMSA1OSAuNyAuNyAxLjEgMi45IC42IDMuNC0xMS4zIDExLjgtMjIuNyAyMy41LTMzLjUgMzQuNy0zNC4yLTMyLjMtNDAuNS0zOC4yLTQ4LjUtNDQtMTcuOC0xMi43LTQxLjQtMTAuMS01NyA1LjEtMi4yIDIuMS0xLjggMy40IC4xIDUuNCAyLjkgMi45IDI4LjEgMjguMyAzNS4xIDM1LjgtMTEuOSAxMS42LTIzLjcgMjMtMzUuNyAzNC43LTEyLTEyLjUtMjQuNS0yNS41LTM2LjUtMzguMS0yMS40IDIxLjEtNDEuNyA0MS4xLTYxLjggNjFMODguMyAyNTUuOHpNMzIzLjIgMzU3LjRjLTM1LjUgMzUuNC03OC4xIDM4LjEtMTA3IDIwLjUtMjIuMS0xMy41LTM5LjQtMzIuMS03Mi45LTY2LjggMTItMTIuNCAyMy44LTI0LjQgMzUuNC0zNi4zIDMzIDMxLjkgMzcuMSAzNiA0NC43IDQyLjEgMTguNSAxNC43IDQyLjUgMTMuNyA1OS4zLTEuOCAzLjctMy40IDMuNy0zLjYgLjEtNy4yLTEwLjYtMTAuNy0yMS4yLTIxLjQtMzEuOC0zMi4yLTEuMy0xLjMtMy0yLjUtLjgtNC43IDEwLjgtMTAuNyAyMS41LTIxLjUgMzIuMi0zMi4zIC4zLS4zIC42LS40IDEuOS0xLjEgMTIuNCAxMi45IDI0LjkgMjUuOSAzNy4yIDM4LjggMjEtMjAuNyA0MS4yLTQwLjcgNjEuMy02MC40IDEzLjcgMTMuNCAyNy4xIDI2LjYgNDAuOSA0MC0yMC4yIDIwLjktODEuNyA4Mi43LTEwMC41IDEwMS41ek0yNTYgMEwwIDI1NiAyNTYgNTEyIDUxMiAyNTYgMjU2IDB6TTE2IDI1NkwyNTYgMTYgNDk2IDI1NiAyNTYgNDk2IDE2IDI1NnoiXX0sYWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxpbnV4IixpY29uOls0NDgsNTEyLFtdLCJmMTdjIiwiTTIyMC45IDEyMy4zYzEgLjUgMS44IDEuNyAzIDEuNyAxLjEgMCAyLjgtLjQgMi45LTEuNSAuMi0xLjQtMS45LTIuMy0zLjItMi45LTEuNy0uNy0zLjktMS01LjUtLjEtLjQgLjItLjggLjctLjYgMS4xIC4zIDEuMyAyLjMgMS4xIDMuNCAxLjd6TTE5OSAxMjVjMS4yIDAgMi0xLjIgMy0xLjcgMS4xLS42IDMuMS0uNCAzLjUtMS42IC4yLS40LS4yLS45LS42LTEuMS0xLjYtLjktMy44LS42LTUuNSAuMS0xLjMgLjYtMy40IDEuNS0zLjIgMi45IC4xIDEgMS44IDEuNSAyLjggMS40ek00MjAgNDAzLjhjLTMuNi00LTUuMy0xMS42LTcuMi0xOS43LTEuOC04LjEtMy45LTE2LjgtMTAuNS0yMi40LTEuMy0xLjEtMi42LTIuMS00LTIuOS0xLjMtLjgtMi43LTEuNS00LjEtMiA5LjItMjcuMyA1LjYtNTQuNS0zLjctNzkuMS0xMS40LTMwLjEtMzEuMy01Ni40LTQ2LjUtNzQuNC0xNy4xLTIxLjUtMzMuNy00MS45LTMzLjQtNzIgLjUtNDUuOSA1LjEtMTMxLjItNzUuOC0xMzEuMy0xMDIuNC0uMi03Ni44IDEwMy40LTc3LjkgMTM1LjItMS43IDIzLjQtNi40IDQxLjgtMjIuNSA2NC43LTE4LjkgMjIuNS00NS41IDU4LjgtNTguMSA5Ni43LTYgMTcuOS04LjggMzYuMS02LjIgNTMuMy02LjUgNS44LTExLjQgMTQuNy0xNi42IDIwLjItNC4yIDQuMy0xMC4zIDUuOS0xNyA4LjNzLTE0IDYtMTguNSAxNC41Yy0yLjEgMy45LTIuOCA4LjEtMi44IDEyLjQgMCAzLjkgLjYgNy45IDEuMiAxMS44IDEuMiA4LjEgMi41IDE1LjcgLjggMjAuOC01LjIgMTQuNC01LjkgMjQuNC0yLjIgMzEuNyAzLjggNy4zIDExLjQgMTAuNSAyMC4xIDEyLjMgMTcuMyAzLjYgNDAuOCAyLjcgNTkuMyAxMi41IDE5LjggMTAuNCAzOS45IDE0LjEgNTUuOSAxMC40IDExLjYtMi42IDIxLjEtOS42IDI1LjktMjAuMiAxMi41LS4xIDI2LjMtNS40IDQ4LjMtNi42IDE0LjktMS4yIDMzLjYgNS4zIDU1LjEgNC4xIC42IDIuMyAxLjQgNC42IDIuNSA2LjdsMCAuMWM4LjMgMTYuNyAyMy44IDI0LjMgNDAuMyAyMyAxNi42LTEuMyAzNC4xLTExIDQ4LjMtMjcuOSAxMy42LTE2LjQgMzYtMjMuMiA1MC45LTMyLjIgNy40LTQuNSAxMy40LTEwLjEgMTMuOS0xOC4zIC40LTguMi00LjQtMTcuMy0xNS41LTI5Ljd6TTIyMy44IDg3LjNjOS44LTIyLjIgMzQuMi0yMS44IDQ0LS40IDYuNSAxNC4yIDMuNiAzMC45LTQuMyA0MC40LTEuNi0uOC01LjktMi42LTEyLjYtNC45IDEuMS0xLjIgMy4xLTIuNyAzLjktNC42IDQuOC0xMS44LS4yLTI3LTkuMS0yNy4zLTcuMy0uNS0xMy45IDEwLjgtMTEuOCAyMy00LjEtMi05LjQtMy41LTEzLTQuNC0xLTYuOS0uMy0xNC42IDIuOS0yMS44ek0xODMuMSA3NS44YzEwLjEgMCAyMC44IDE0LjIgMTkuMSAzMy41LTMuNSAxLTcuMSAyLjUtMTAuMiA0LjYgMS4yLTguOS0zLjMtMjAuMS05LjYtMTkuNi04LjQgLjctOS44IDIxLjItMS44IDI4LjEgMSAuOCAxLjktLjItNS45IDUuNS0xNS42LTE0LjYtMTAuNS01Mi4xIDguNC01Mi4xem0tMTMuNiA2MC43YzYuMi00LjYgMTMuNi0xMCAxNC4xLTEwLjUgNC43LTQuNCAxMy41LTE0LjIgMjcuOS0xNC4yIDcuMSAwIDE1LjYgMi4zIDI1LjkgOC45IDYuMyA0LjEgMTEuMyA0LjQgMjIuNiA5LjMgOC40IDMuNSAxMy43IDkuNyAxMC41IDE4LjItMi42IDcuMS0xMSAxNC40LTIyLjcgMTguMS0xMS4xIDMuNi0xOS44IDE2LTM4LjIgMTQuOS0zLjktLjItNy0xLTkuNi0yLjEtOC0zLjUtMTIuMi0xMC40LTIwLTE1LTguNi00LjgtMTMuMi0xMC40LTE0LjctMTUuMy0xLjQtNC45IDAtOSA0LjItMTIuM3ptMy4zIDMzNGMtMi43IDM1LjEtNDMuOSAzNC40LTc1LjMgMTgtMjkuOS0xNS44LTY4LjYtNi41LTc2LjUtMjEuOS0yLjQtNC43LTIuNC0xMi43IDIuNi0yNi40bDAtLjJjMi40LTcuNiAuNi0xNi0uNi0yMy45LTEuMi03LjgtMS44LTE1IC45LTIwIDMuNS02LjcgOC41LTkuMSAxNC44LTExLjMgMTAuMy0zLjcgMTEuOC0zLjQgMTkuNi05LjkgNS41LTUuNyA5LjUtMTIuOSAxNC4zLTE4IDUuMS01LjUgMTAtOC4xIDE3LjctNi45IDguMSAxLjIgMTUuMSA2LjggMjEuOSAxNmwxOS42IDM1LjZjOS41IDE5LjkgNDMuMSA0OC40IDQxIDY4Ljl6bS0xLjQtMjUuOWMtNC4xLTYuNi05LjYtMTMuNi0xNC40LTE5LjYgNy4xIDAgMTQuMi0yLjIgMTYuNy04LjkgMi4zLTYuMiAwLTE0LjktNy40LTI0LjktMTMuNS0xOC4yLTM4LjMtMzIuNS0zOC4zLTMyLjUtMTMuNS04LjQtMjEuMS0xOC43LTI0LjYtMjkuOXMtMy0yMy4zLS4zLTM1LjJjNS4yLTIyLjkgMTguNi00NS4yIDI3LjItNTkuMiAyLjMtMS43IC44IDMuMi04LjcgMjAuOC04LjUgMTYuMS0yNC40IDUzLjMtMi42IDgyLjQgLjYtMjAuNyA1LjUtNDEuOCAxMy44LTYxLjUgMTItMjcuNCAzNy4zLTc0LjkgMzkuMy0xMTIuNyAxLjEgLjggNC42IDMuMiA2LjIgNC4xIDQuNiAyLjcgOC4xIDYuNyAxMi42IDEwLjMgMTIuNCAxMCAyOC41IDkuMiA0Mi40IDEuMiA2LjItMy41IDExLjItNy41IDE1LjktOSA5LjktMy4xIDE3LjgtOC42IDIyLjMtMTUgNy43IDMwLjQgMjUuNyA3NC4zIDM3LjIgOTUuNyA2LjEgMTEuNCAxOC4zIDM1LjUgMjMuNiA2NC42IDMuMy0uMSA3IC40IDEwLjkgMS40IDEzLjgtMzUuNy0xMS43LTc0LjItMjMuMy04NC45LTQuNy00LjYtNC45LTYuNi0yLjYtNi41IDEyLjYgMTEuMiAyOS4yIDMzLjcgMzUuMiA1OSAyLjggMTEuNiAzLjMgMjMuNyAuNCAzNS43IDE2LjQgNi44IDM1LjkgMTcuOSAzMC43IDM0LjgtMi4yLS4xLTMuMiAwLTQuMiAwIDMuMi0xMC4xLTMuOS0xNy42LTIyLjgtMjYuMS0xOS42LTguNi0zNi04LjYtMzguMyAxMi41LTEyLjEgNC4yLTE4LjMgMTQuNy0yMS40IDI3LjMtMi44IDExLjItMy42IDI0LjctNC40IDM5LjktLjUgNy43LTMuNiAxOC02LjggMjktMzIuMSAyMi45LTc2LjcgMzIuOS0xMTQuMyA3LjJ6bTI1Ny40LTExLjVjLS45IDE2LjgtNDEuMiAxOS45LTYzLjIgNDYuNS0xMy4yIDE1LjctMjkuNCAyNC40LTQzLjYgMjUuNXMtMjYuNS00LjgtMzMuNy0xOS4zYy00LjctMTEuMS0yLjQtMjMuMSAxLjEtMzYuMyAzLjctMTQuMiA5LjItMjguOCA5LjktNDAuNiAuOC0xNS4yIDEuNy0yOC41IDQuMi0zOC43IDIuNi0xMC4zIDYuNi0xNy4yIDEzLjctMjEuMSAuMy0uMiAuNy0uMyAxLS41IC44IDEzLjIgNy4zIDI2LjYgMTguOCAyOS41IDEyLjYgMy4zIDMwLjctNy41IDM4LjQtMTYuMyA5LS4zIDE1LjctLjkgMjIuNiA1LjEgOS45IDguNSA3LjEgMzAuMyAxNy4xIDQxLjYgMTAuNiAxMS42IDE0IDE5LjUgMTMuNyAyNC42ek0xNzMuNCAxNDguN2MyIDEuOSA0LjcgNC41IDggNy4xIDYuNiA1LjIgMTUuOCAxMC42IDI3LjMgMTAuNiAxMS42IDAgMjIuNS01LjkgMzEuOC0xMC44IDQuOS0yLjYgMTAuOS03IDE0LjgtMTAuNHM1LjktNi4zIDMuMS02LjYtMi42IDIuNi02IDUuMWMtNC40IDMuMi05LjcgNy40LTEzLjkgOS44LTcuNCA0LjItMTkuNSAxMC4yLTI5LjkgMTAuMnMtMTguNy00LjgtMjQuOS05LjdjLTMuMS0yLjUtNS43LTUtNy43LTYuOS0xLjUtMS40LTEuOS00LjYtNC4zLTQuOS0xLjQtLjEtMS44IDMuNyAxLjcgNi41eiJdfSxya3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY290dG9uLWJ1cmVhdSIsaWNvbjpbNTEyLDUxMixbXSwiZjg5ZSIsIk00NzQuMyAzMzAuNEM0NTAuNiA0MjIuMyAzODAuMSA0NzUgMjcyLjQgNDc4LjhsMC00OS4yYzAtNDggMjYuNC03NC40IDc0LjQtNzQuNCA2MiAwIDk5LjItMzcuMiA5OS4yLTk5LjIgMC02MS40LTM2LjUtOTguMy05Ny40LTk5LjEtMzMtNjkuMy0xNDYuNS02NC43LTE3Ny4yIDAtNjAuOSAuOC05Ny40IDM3LjctOTcuNCA5OS4xIDAgNjIuMSAzNy4zIDk5LjQgOTkuNCA5OS40IDQ4IDAgNzQuNiAyNi4yIDc0LjYgNzQuNGwwIDQ5LjJjLTEzNC40LTUtMjExLjEtODUuMS0yMTEuMS0yMjMgMC0xNDEuOCA4MS40LTIyMy4yIDIyMy4yLTIyMy4yIDExNC44IDAgMTg5LjggNTMuMiAyMTQuNyAxNDguOGwyNS4zIDBDNDczLjkgNzEuNSAzODguMiA4IDI1OS44IDggMTA1IDggMTIgMTAxLjIgMTIgMjU1LjggMTIgNDExLjEgMTA1LjIgNTA0LjMgMjU5LjggNTA0IDM4OC4xIDUwNCA0NzMuNyA0NDAuMiA0OTkuNSAzMzAuNGwtMjUuMiAwek0zNTcgMTgyLjNjNDEuNCAzLjQgNjQuMiAyOSA2NC4yIDczLjcgMCA0OC0yNi40IDc0LjQtNzQuNCA3NC40LTI4LjYgMC00OS4zLTkuNi02MS42LTI3LjMgODMuMS0xNi41IDc1LjYtOTkuNyA3MS44LTEyMC43em0tODEuNyA5Ny40Yy0yLjUtMTAuMy0xNi4zLTg3IDU2LjItOTcgMi4zIDEwLjEgMTYuNSA4Ny4xLTU2LjMgOTdsMCAwek0yNjAgMTMyYzI4LjYgMCA0OSA5LjcgNjEuNCAyNy42LTI4LjQgNS41LTQ5LjQgMjAuNi02MS42IDQzLjQtMTIuMi0yMi45LTMzLjItMzgtNjEuNi00My40IDEyLjQtMTcuNyAzMy4zLTI3LjQgNjEuNi0yNy40bC4yLS4zem0tNzEuNSA1MC43YzczLjIgMTAuNiA1OC45IDg2LjggNTYuNSA5Ny03Mi40LTkuOC01OS04Ny01Ni4yLTk3bC0uMiAwek0xNzMuMiAzMzAuNGMtNDggMC03NC40LTI2LjQtNzQuNC03NC40IDAtNDQuNCAyMi45LTcwIDY0LjItNzMuNy02LjggMzcuMi0xLjQgMTA2LjUgNzEuNiAxMjAuNy0xMi4xIDE3LjYtMzIuOCAyNy4zLTYxLjEgMjcuM2wtLjMgMHptNTMuMiAxMi40YzE0LjMtNy42IDI2LTE5LjMgMzMuNi0zMy41IDcuOCAxNC41IDE5LjMgMjUuNSAzMy44IDMzLjUtMTQuNCA3LjYtMjYuMSAxOS40LTMzLjYgMzMuOC04LTE0LjUtMTkuMS0yNi4yLTMzLjYtMzMuOGwtLjMgMHoiXX0sc2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZS13YWxsZXQiLGljb246WzQ0OCw1MTIsW10sImYxZWUiLCJNMTU2LjggMTI2LjhjMzcuNiA2MC42IDY0LjIgMTEzLjEgODQuMyAxNjIuNS04LjMgMzMuOC0xOC44IDY2LjUtMzEuMyA5OC4zLTEzLjItNTIuMy0yNi41LTEwMS4zLTU2LTE0OC41IDYuNS0zNi40IDIuMy03My42IDMtMTEyLjN6TTEwOS4zIDIwMGwtOTMuMiAwYy02LjUgMC0xMC41IDcuNS02LjUgMTIuNyA0Mi4yIDU0LjMgNzEuNyAxMTcuOCA5MS43IDE4Ny4zbDEwMy41IDBjLTE2LjItNjkuNy0zOC43LTEzMy43LTgyLjUtMTkzLjUtMy00LTgtNi41LTEzLTYuNXptNDcuOC04OGM2OC41IDEwOCAxMzAgMjM0LjUgMTM4LjIgMzY4TDQwOSA0ODBjLTEyLTEzOC02OC40LTI2NS0xNDMuMi0zNjhsLTEwOC43IDB6TTQwOC45IDQzLjVjLTEuOC02LjgtOC4yLTExLjUtMTUuMi0xMS41bC04OC4zIDBjLTUuMyAwLTkgNS03LjggMTAuMyAxMy4yIDQ2LjUgMjIuMyA5NS41IDI2LjUgMTQ2IDQ4LjIgODYuMiA3OS43IDE3OC4zIDkwLjYgMjcwLjggMTUuOC02MC41IDI1LjMtMTMzLjUgMjUuMy0yMDMgMC03My42LTEyLjEtMTQ1LjEtMzEuMS0yMTIuNnoiXX0saWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZvdXJzcXVhcmUiLGljb246WzM4NCw1MTIsW10sImYxODAiLCJNMzMxLjEgM0w1Ny45IDNDMjAuNCAzIDggMzEuMyA4IDQ5LjFMOCA0ODIuOWMwIDIwLjMgMTIuMSAyNy43IDE4LjIgMzAuMSA2LjIgMi41IDIyLjggNC42IDMyLjktNy4xIDEyOC45LTE0OS40IDEzMS4xLTE1MS45IDEzMS4xLTE1MS45IDMuMS0zLjQgMy40LTMuMSA2LjgtMy4xbDgzLjQgMGMzNS4xIDAgNDAuNi0yNS4yIDQ0LjMtMzkuN2w0OC42LTI0M0MzODEuOCAyNS44IDM3MS4xIDMgMzMxLjEgM3pNMzE0LjggNzYuOGwtMTEuNCA1OS43Yy0xLjIgNi41LTkuNSAxMy4yLTE2LjkgMTMuMmwtMTA2LjQgMGMtMTIgMC0yMC42IDguMy0yMC42IDIwLjNsMCAxM2MwIDEyIDguNiAyMC42IDIwLjYgMjAuNmw5MC40IDBjOC4zIDAgMTYuNiA5LjIgMTQuOCAxOC4yLTEuOCA4LjktMTAuNSA1My44LTExLjQgNTguOC0uOSA0LjktNi44IDEzLjUtMTYuOSAxMy41bC03My41IDBjLTEzLjUgMC0xNy4yIDEuOC0yNi41IDEyLjYgMCAwLTguOSAxMS40LTg5LjUgMTA4LjMtLjkgLjktMS44IC42LTEuOC0uM2wwLTMzOC44YzAtNy43IDYuOC0xNi42IDE2LjYtMTYuNmwyMTkgMGM4LjIgMCAxNS42IDcuNyAxMy41IDE3LjV6Il19LG9rdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaGlydHNpbmJ1bGsiLGljb246WzQ0OCw1MTIsW10sImYyMTQiLCJNMTAwIDQxMC4zbDMwLjYgMTMuNCA0LjQtOS45LTMwLjYtMTMuNC00LjQgOS45em0zOS40IDE3LjVsMzAuNiAxMy40IDQuNC05LjktMzAuNi0xMy40LTQuNCA5Ljl6bTE3Mi4xLTE0bDQuNCA5LjkgMzAuNi0xMy40LTQuNC05LjktMzAuNiAxMy40ek0xNzkuMSA0NDVsMzAuMyAxMy43IDQuNC05LjktMzAuMy0xMy40LTQuNCA5LjZ6TTYwLjQgMzkyLjhsMzAuNiAxMy40IDQuNC05LjYtMzAuNi0xMy43LTQuNCA5Ljl6bTIxMS40IDM4LjVsNC40IDkuOSAzMC42LTEzLjQtNC40LTkuOS0zMC42IDEzLjR6bS0zOS4zIDE3LjVsNC40IDkuOSAzMC42LTEzLjctNC40LTkuNi0zMC42IDEzLjR6bTExOC40LTUyLjJsNC40IDkuNiAzMC42LTEzLjQtNC40LTkuOS0zMC42IDEzLjd6TTE3MCA0Ni42bC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6bS00Ny4yIDBsLTMzLjYgMCAwIDEwLjUgMzMuNSAwIC4xLTEwLjV6bS00Ny4zIDBsLTMzLjIgMCAwIDEwLjUgMzMuMyAwLS4xLTEwLjV6bTE0MS41IDBsLTMzLjIgMCAwIDEwLjUgMzMuMiAwIDAtMTAuNXptOTQuNSAwbC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6bTQ3LjMgMGwtMzMuNSAwIDAgMTAuNSAzMy41IDAgMC0xMC41em0tOTQuNiAwbC0zMy4yIDAgMCAxMC41IDMzLjIgMCAwLTEwLjV6bTE0MS41IDBsLTMzLjMgMCAwIDEwLjUgMzMuMyAwIDAtMTAuNXpNNTIuOCAzNTEuMWwtMTAuOCAwIDAgMzMuNSAxMC44IDAgMC0zMy41em03MC0yMTUuOWwtMzMuNiAwIDAgMTAuNSAzMy41IDAgLjEtMTAuNXptLTcwIDEwLjZsMjIuOCAwIDAtMTAuNS0zMy42IDAgMCAzMy41IDEwLjggMCAwLTIzek0yMjEuNyAzNzQuNGE5MS4zIDkxLjMgMCAxIDAgMC0xODIuNiA5MS4zIDkxLjMgMCAxIDAgMCAxODIuNnpNMTczLjUgMjYzLjNjMC0yNS40IDI5LjUtMzEuOCA0OS42LTMxLjggMTYuOSAwIDI5LjIgNS44IDQ0LjMgMTJsLTguOCAxNi45LS45IDBjLTYuNC05LjktMjQuOC0xMy4xLTM1LjYtMTMuMS05IDAtMjkuOCAxLjgtMjkuOCAxNC45IDAgMjEuNiA3OC41LTEwLjIgNzguNSAzNy45IDAgMjUuNC0zMS41IDMxLjItNTEgMzEuMi0xOC4xIDAtMzIuNC0yLjktNDcuMi0xMi4ybDktMTguNCAuOSAwYzYuMSAxMi4yIDIzLjYgMTQuOSAzNS45IDE0LjkgOC43IDAgMzIuNy0xLjIgMzIuNy0xNC4zIDAtMjYuMS03Ny42IDYuMy03Ny42LTM4ek01Mi44IDE3OC40bC0xMC44IDAgMCAzMy42IDEwLjggMCAwLTMzLjZ6TTM5NS4yIDM4NC42bDEwLjggMCAwLTMzLjUtMTAuOCAwIDAgMzMuNXpNNTIuOCAzMDcuOWwtMTAuOCAwIDAgMzMuNSAxMC44IDAgMC0zMy41ek0wIDMuN2wwIDQwNiAyMjEuNyA5OC42IDIyNi4zLTk4LjYgMC00MDYtNDQ4IDB6TTQxOC44IDM5MC44bC0xOTYuOCA4NS43LTE5Mi44LTg1LjcgMC0yNzAuMSAzODkuNyAwIDAgMjcwLjEtLjEgMHptMC0yOTkuM2wtMzg5LjYgMCAwLTU4LjYgMzg5LjcgMCAwIDU4LjYtLjEgMHpNNTIuOCAyMjEuNmwtMTAuOCAwIDAgMzMuNSAxMC44IDAgMC0zMy41em0wIDQzLjJsLTEwLjggMCAwIDMzLjUgMTAuOCAwIDAtMzMuNXpNMTcwIDEzNS4ybC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6TTM5NS4yIDI5OC4zbDEwLjggMCAwLTMzLjUtMTAuOCAwIDAgMzMuNXptMC00My4ybDEwLjggMCAwLTMzLjUtMTAuOCAwIDAgMzMuNXpNMjE3IDEzNS4ybC0zMy4yIDAgMCAxMC41IDMzLjIgMCAwLTEwLjV6TTM5NS4yIDIxMmwxMC44IDAgMC0zMy41LTEwLjggMCAwIDMzLjV6bTAgMTI5LjVsMTAuOCAwIDAtMzMuNS0xMC44IDAgMCAzMy41em0tMTMxLTIwNi4zbC0zMy4yIDAgMCAxMC41IDMzLjIgMCAwLTEwLjV6bTQ3LjMgMGwtMzMuNSAwIDAgMTAuNSAzMy41IDAgMC0xMC41em04My43IDMzLjZsMTAuOCAwIDAtMzMuNS0zMy41IDAgMCAxMC41IDIyLjggMC0uMSAyM3ptLTM2LjQtMzMuNmwtMzMuNSAwIDAgMTAuNSAzMy41IDAgMC0xMC41eiJdfSxua3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWludGJpdCIsaWNvbjpbNTEyLDUxMixbXSwiZTYyZiIsIk03My4yIDUxMmwwLTczLjEgMjkyLjUgMCAwLTczLjIgNzMuMiAwIDAtMTQ2LjMgNzMuMSAwIDAtMjE5LjQtMjE5LjQgMCAwIDczLjEtMTQ2LjMgMCAwIDczLjItNzMuMSAwIDAgMjkyLjYtNzMuMiAwIDAgNzMuMSA3My4yIDB6bTczLjEtMjE5LjRsNzMuMiAwIDAgNzMuMS03My4yIDAgMC03My4xem03My4yLTczLjFsNzMuMSAwIDAgNzMuMS03My4yIDAgMC03My4yIC4xIC4xem03My4xIDBsMC03My4yIDczLjIgMCAwIDczLjEtNzMuMiAwIDAgLjF6TTM2NS43IDczLjFsNzMuMiAwIDAgNzMuMi03My4yIDAgMC03My4yeiJdfSxsa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToienVsaXAiLGljb246WzQ0OCw1MTIsW10sImU4NTMiLCJNNDI0IDk5YzAgMjIuNi0xMC4xIDQyLjYtMjUuNSA1NC44TDI0OS4zIDI4Ny43Yy0yLjggMi40LTYuNC0xLjUtNC40LTQuN2w1NC43LTExMC4xYzEuNS0zLjEtLjUtNi45LTMuNi02LjlMODMuOCAxNjZDNTAuOSAxNjYgMjQgMTM1LjkgMjQgOTkgMjQgNjIuMSA1MC45IDMyIDgzLjggMzJsMjgwLjQgMEMzOTcuMSAzMiA0MjQgNjIuMSA0MjQgOTl6TTgzLjggNDgwbDI4MC40IDBjMzIuOSAwIDU5LjgtMzAuMiA1OS44LTY3cy0yNi45LTY3LTU5LjgtNjdsLTIxMi4zIDBjLTMuMSAwLTUuMS0zLjgtMy42LTYuOUwyMDMuMSAyMjljMi0zLjItMS42LTcuMS00LjQtNC43TDQ5LjUgMzU4LjJDMzQuMSAzNzAuNCAyNCAzOTAuNCAyNCA0MTMgMjQgNDQ5LjggNTAuOSA0ODAgODMuOCA0ODB6Il19LGNrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdGF5bGlua2VkIixpY29uOls0NDgsNTEyLFtdLCJmM2Y1IiwiTTM4Ni43IDI5Mi41bDIuNyAyLjctMTcwLTE2Ny4zYy0zLjUtMy41LTkuNy0zLjctMTMuOC0uNUwxNDguMyAxNzFjLTQuMiAzLjItNC42IDguNy0xLjEgMTIuMmw2OC4xIDY0LjNjMy42IDMuNSA5LjkgMy43IDE0IC41bC4xLS4xYzQuMS0zLjIgMTAuNC0zIDE0IC41bDg0IDgxLjNjMy42IDMuNSAzLjIgOS0uOSAxMi4ybC05My4yIDc0Yy00LjIgMy4zLTEwLjUgMy4xLTE0LjItLjRMNjcuMiAyNjhjLTMuNS0zLjUtOS43LTMuNy0xMy45LS41TDcuNSAzMDIuNGMtNC4yIDMuMi00LjcgOC43LTEuMiAxMi4yTDIxNSA1MTAuN3M3LjQgNi44IDE3LjMtLjhMNDMwLjMgMzQ2YzQtMy4yIDQuNC04LjcgLjctMTIuMmwtNDQuMy00MS4zem01NC41LTgzLjRMMjMwLjcgMi41Yy0xLjUtMS4yLTgtNS41LTE2LjMgMS4xTDcuNiAxNjUuN2MtNC4yIDMuMi00LjggOC43LTEuMiAxMi4ybDQyLjMgNDEuNyAxNzEuNyAxNjUuMWMzLjcgMy41IDEwLjEgMy43IDE0LjMgLjRsNTAuMi0zOC44LS4zLS4zIDcuNy02YzQuMi0zLjIgNC42LTguNyAuOS0xMi4ybC01Ny4xLTU0LjRjLTMuNi0zLjUtMTAtMy43LTE0LjItLjVsLS4xIC4xYy00LjIgMy4yLTEwLjUgMy4xLTE0LjItLjRMMTEzIDE4MC44Yy0zLjYtMy41LTMuMS04LjkgMS4xLTEyLjJsOTIuMi03MS41YzQuMS0zLjIgMTAuMy0zIDEzLjkgLjVsMTYwLjQgMTU5YzMuNyAzLjUgMTAgMy43IDE0LjEgLjVsNDUuOC0zNS44YzQuMS0zLjIgNC40LTguNyAuNy0xMi4yeiJdfSxka3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2ViZmxvdyIsaWNvbjpbNjQwLDUxMixbXSwiZTY1YyIsIk02NDAgNjRsLTIwNC4yIDM5OS4yLTE5MS44IDAgODUuNS0xNjUuNS0zLjggMEMyNTUuMSAzODkuMyAxNDkuOSA0NDkuNSAwIDQ2My4yTDAgMzAwLjFzOTUuOS01LjcgMTUyLjMtNjQuOWwtMTUyLjMgMCAwLTE3MS4yIDE3MS4xIDAgMCAxNDAuOCAzLjggMCA3MC0xNDAuOCAxMjkuNCAwIDAgMTM5LjkgMy44IDAgNzIuNi0xMzkuOSAxODkuMyAweiJdfSx1a3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVucmVuIixpY29uOls1MTIsNTEyLFtdLCJmMThiIiwiTTIxNCAxNjkuMUMyMTQgMjc5LjUgMTUzIDM3NC41IDY2LjQgNDE2LjUgMzAgMzczLjIgOCAzMTcuNyA4IDI1Ni42IDggMTMzLjkgOTcuMSAzMi4yIDIxNCAxMi41bDAgMTU2LjZ6TTI1NSA1MDRjLTQyLjkgMC04My4zLTExLTExOC41LTMwLjQgNTcuMi0zNi4xIDEwMy40LTkwLjcgMTE4LjUtMTU0LjYgMTUuNSA2My45IDYxLjcgMTE4LjUgMTE4LjggMTU0LjctMzUuMSAxOS4zLTc1LjUgMzAuMy0xMTguOCAzMC4zem0xOTAuNi04Ny41QzM1OSAzNzQuNSAyOTggMjc5LjYgMjk4IDE2OS4xbDAtMTU2LjZjMTE2LjkgMTkuNyAyMDYgMTIxLjQgMjA2IDI0NC4xIDAgNjEuMS0yMiAxMTYuNi01OC40IDE1OS45eiJdfSxwa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToia28tZmkiLGljb246WzUxMiw1MTIsW10sImU4NTYiLCJNMjQ5LjggNzVjODkuOCAwIDExMyAxLjEgMTQ2LjMgNC40IDc4LjEgNy44IDEyMy42IDU2IDEyMy42IDEyNS4ybDAgOC45YzAgNjQuMy00Ny4xIDExNi45LTExMC44IDEyMi40LTUgMTYuNi0xMi44IDMzLjItMjMuMyA0OS45LTI0LjQgMzcuNy03My4xIDg1LjMtMTYyLjkgODUuM2wtMTcuNyAwYy03My4xIDAtMTI5LjctMzEuNi0xNjMuNS04OS4yLTI5LjktNTAuNC0zMy44LTEwNi40LTMzLjgtMTgxLjIgMC03My43IDQ0LjQtMTEzLjYgOTYuNC0xMjAuMiAzOS4zLTUgODguMS01LjUgMTQ1LjctNS41em0wIDQxLjZjLTYwLjQgMC0xMDMuNiAuNS0xMzYuMyA1LjUtNDYgNi43LTY0LjMgMzIuNy02NC4zIDc5LjJsLjIgMjUuN2MxLjIgNTcuMyA3LjEgOTcuMSAyNy41IDEzNC41IDI2LjYgNDkuMyA3NC44IDY4LjIgMTI5LjcgNjguMmwxNy4yIDBjNzIgMCAxMDctMzQuOSAxMjYuMy02NS40IDkuNC0xNS41IDE3LjctMzIuNyAyMi4yLTU0LjNsMy4zLTEzLjggMTkuOSAwYzQ0LjMgMCA4Mi42LTM2IDgyLjYtODJsMC04LjNjMC01MS41LTMyLjItNzguNy04OC4xLTg1LjMtMzEuNi0yLjgtNTAuNC0zLjktMTQwLjItMy45ek0yNjcgMTY5LjJjMzguMiAwIDY0LjggMzEuNiA2NC44IDY3IDAgMzIuNy0xOC4zIDYxLTQyLjEgODMuMS0xNSAxNS0zOS4zIDMwLjUtNTUuOSA0MC41LTQuNCAyLjgtMTAgNC40LTE2LjcgNC40LTUuNSAwLTEwLjUtMS43LTE1LjUtNC40LTE2LjYtMTAtNDEtMjUuNS01Ni41LTQwLjUtMjEuOC0yMC44LTM5LjItNDYuOS00MS4zLTc3bC0uMi02LjFjMC0zNS41IDI1LjUtNjcgNjQuMy02NyAyMi43IDAgMzguOCAxMS42IDQ5LjMgMjcuNyAxMS42LTE2LjEgMjcuMi0yNy43IDQ5LjktMjcuN3ptMTIyLjUtMy45YzI4LjMgMCA0My44IDE2LjYgNDMuOCA0My4ycy0xNS41IDQyLjctNDMuOCA0Mi43Yy04LjkgMC0xMy44LTUtMTMuOC0xMS43bDAtNjIuNmMwLTYuNyA1LTExLjYgMTMuOC0xMS42eiJdfSxma3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmV2IixpY29uOls0NDgsNTEyLFtdLCJmNWIyIiwiTTE1OC43IDI3NC45YTY1LjYgNjUuNiAwIDEgMSAxMzEuMiAwIDY1LjYgNjUuNiAwIDEgMSAtMTMxLjIgMHptMjcwLjctNS4xbC0uMSAwYy0uNy0yOS4zLTcuNy01OC4yLTIwLjUtODQuNnMtMzEuMi00OS43LTUzLjgtNjguNEwzMDkuNiAxNDNjMjIgMTQuMiA0MC4xIDMzLjggNTIuNyA1Ni44czE5LjEgNDguOCAxOS4xIDc1LjFjMCA4Ni42LTcwLjUgMTU3LjEtMTU3LjEgMTU3LjFTNjcuMiAzNjEuNSA2Ny4yIDI3NC45YzAtODEuOSA2My0xNDkuMyAxNDMtMTU2LjRsMCAzOS4xIDEwOC44LTYyLjgtMTA4LjgtNjIuOCAwIDM4LjNjLTEwNi43IDcuMi0xOTEgOTYtMTkxIDIwNC42IDAgMTExLjYgODkuMSAyMDIuMyAyMDAuMSAyMDVsMCAuMSAyMTAuMiAwIDAtMjEwLjJ6Il19LGhrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJrZXljZG4iLGljb246WzUxMiw1MTIsW10sImYzYmEiLCJNNjMuOCA0MDkuM2w2MC41LTU5YzMyLjEgNDIuOCA3MS4xIDY2IDEyNi42IDY3LjQgMzAuNSAuNyA2MC4zLTcgODYuNC0yMi40IDUuMSA1LjMgMTguNSAxOS41IDIwLjkgMjItMzIuMiAyMC43LTY5LjYgMzEuMS0xMDguMSAzMC4yLTQzLjMtMS4xLTg0LjYtMTYuNy0xMTcuNy00NC40IC4zLS42LTM4LjIgMzcuNS0zOC42IDM3LjkgOS41IDI5LjgtMTMuMSA2Mi40LTQ2LjMgNjIuNC0yNi44LS4xLTQ3LjUtMjEuNy00Ny41LTQ4LjUgMC0zNC4zIDMzLjEtNTYuNiA2My44LTQ1LjZ6TTQxOC43IDE1Ni45YzE5LjEgMzEuMyAyOS42IDY3LjQgMjguNyAxMDQtMS4xIDQ0LjgtMTkgODcuNS00OC42IDEyMSAuMyAuMyAyMy44IDI1LjIgMjQuMSAyNS41IDkuNi0xLjMgMTkuMiAyIDI1LjkgOS4xIDExLjMgMTIgMTAuOSAzMC45LTEuMSA0Mi40LTEyIDExLjMtMzAuOSAxMC45LTQyLjQtMS4xLTYuNy03LTkuNC0xNi44LTcuNi0yNi4zLTI0LjktMjYuNi00NC40LTQ3LjItNDQuNC00Ny4yIDQyLjctMzQuMSA2My4zLTc5LjYgNjQuNC0xMjQuMiAuNy0yOC45LTcuMi01Ny4yLTIxLjEtODIuMmwyMi4xLTIxek0xMDQgNTMuMWM2LjcgNyA5LjQgMTYuOCA3LjYgMjYuM2w0NS45IDQ4LjFjLTQuNyAzLjgtMTMuMyAxMC40LTIyLjggMjEuMy0yNS40IDI4LjUtMzkuNiA2NC44LTQwLjcgMTAyLjktLjcgMjguOSA2LjEgNTcuMiAyMCA4Mi40TDkyIDM1NS42Yy0xOS4zLTMxLjYtMjguOS02Ny43LTI3LjgtMTA0LjcgMS00NC42IDE4LjMtODcuNiA0Ny41LTEyMS4xTDg2LjQgMTAzLjRjLTkuNiAxLjMtMTkuMi0yLTI1LjktOS4xLTExLjMtMTItMTAuOS0zMC45IDEuMS00Mi40IDExLjktMTEuMiAzMC42LTEwLjkgNDIuNCAxLjJ6TTQ2NC45IDhjMjYgMCA0Ny4xIDIyLjQgNDcuMSA0OC4zUzQ5MC45IDEwNCA0NjQuOSAxMDRjLTYuMyAuMS0xNC0xLjEtMTUuOS0xLjhsLTYyLjkgNTkuN2MtMzIuNy00My42LTc2LjctNjUuOS0xMjYuOS02Ny4yLTMwLjUtLjctNjAuMyA2LjgtODYuMiAyMi40bC0yMS4xLTIyQzE4NC4xIDc0LjMgMjIxLjUgNjQgMjYwIDY0LjkgMzAzLjMgNjYgMzQ0LjYgODEuNiAzNzcuNyAxMDkuNWw0MS4xLTM4LjZjLTEuNS00LjctMi4yLTkuNi0yLjItMTQuNS0uMS0yNi43IDIyLjMtNDguNCA0OC4zLTQ4LjR6TTI1Ni43IDExMy40YzUuNSAwIDEwLjkgLjQgMTYuNCAxLjEgNzguMSA5LjggMTMzLjQgODEuMSAxMjMuOCAxNTkuMS05LjggNzguMS04MS4xIDEzMy40LTE1OS4xIDEyMy44LTc4LjEtOS44LTEzMy40LTgxLjEtMTIzLjgtMTU5LjIgOS4zLTcyLjQgNzAuMS0xMjQuNiAxNDIuNy0xMjQuOHptLTU5IDExOS40Yy42IDIyLjcgMTIuMiA0MS44IDMyLjQgNTIuMmwtMTEgNTEuNyA3My43IDAtMTEtNTEuN2MyMC4xLTEwLjkgMzIuMS0yOSAzMi40LTUyLjItLjQtMzIuOC0yNS44LTU3LjUtNTguMy01OC4zLTMyLjEgLjgtNTcuMyAyNC44LTU4LjIgNTguM3oiXX0sbWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImhpcmUtYS1oZWxwZXIiLGljb246WzUxMiw1MTIsW10sImYzYjAiLCJNNDQzLjEgMEw3MS45IDBDNjcuOSAzNy4zIDM3LjQgNjcuOCAwIDcxLjdMMCA0NDMuMmMzNy40IDQuOSA2NiAzMi40IDcxLjkgNjguOGwzNzIuMiAwYzMtMzYuNCAzMi41LTY1LjggNjcuOS02OS44bDAtMzcwLjVDNDc1LjYgNjUuOCA0NDcgMzYuNCA0NDMuMSAwem0tMzcgNDA0LjljLTM2LjMgMC0xOC44LTItNTUuMS0yLTM1LjggMC0yMSAyLTU2LjEgMi01LjkgMC00LjktOC4yIDAtOS44IDIyLjgtNy42IDIyLjktMTAuMiAyNC42LTEyLjggMTAuNC0xNS42IDUuOS04MyA1LjktMTEzIDAtNS4zLTYuNC0xMi44LTEzLjgtMTIuOGwtMTExLjIgMGMtNy40IDAtMTMuOCA3LjUtMTMuOCAxMi44IDAgMzAtNC41IDk3LjQgNS45IDExMyAxLjcgMi41IDEuOCA1LjIgMjQuNiAxMi44IDQuOSAxLjYgNiA5LjggMCA5LjgtMzUuMSAwLTIwLjMtMi01Ni4xLTItMzYuMyAwLTE4LjggMi01NS4xIDItNy45IDAtNS44LTEwLjggMC0xMC44IDEwLjItMy40IDEzLjUtMy41IDIxLjctMTMuOCA3LjctMTIuOSA3LjktNDQuNCA3LjktMTI3LjhsMC0xMDEuMmMwLTIyLjItMTIuMi0yOC4zLTI4LjYtMzIuNC04LjgtMi4yLTQtMTEuOCAxLTExLjggMzYuNSAwIDIwLjYgMiA1Ny4xIDIgMzIuNyAwIDE2LjUtMiA0OS4yLTIgMy4zIDAgOC41IDguMyAxIDEwLjgtNC45IDEuNi0yNy42IDMuNy0yNy42IDM5LjMgMCA0NS42LS4yIDU1LjggMSA2OC44IDAgMS4zIDIuMyAxMi44IDEyLjggMTIuOGwxMDkuMiAwYzEwLjUgMCAxMi44LTExLjUgMTIuOC0xMi44IDEuMi0xMyAxLTIzLjIgMS02OC44IDAtMzUuNi0yMi43LTM3LjctMjcuNi0zOS4zLTcuNS0yLjUtMi4zLTEwLjggMS0xMC44IDMyLjcgMCAxNi41IDIgNDkuMiAyIDM2LjUgMCAyMC42LTIgNTcuMS0yIDQuOSAwIDkuOSA5LjYgMSAxMS44LTE2LjQgNC4xLTI4LjYgMTAuMy0yOC42IDMyLjRsMCAxMDEuMmMwIDgzLjQgLjEgMTE0LjkgNy45IDEyNy44IDguMiAxMC4yIDExLjQgMTAuNCAyMS43IDEzLjggNS44IDAgNy44IDEwLjggMCAxMC44eiJdfSxWdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWhhY2tlci1uZXdzIixpY29uOls0NDgsNTEyLFsiaGFja2VyLW5ld3Mtc3F1YXJlIl0sImYzYWYiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTIxIDIyOS4ycy4xLS4xIC4xLS4yIC4xLS4yIC4yLS4yYzAgLjEgMCAuMy0uMSAuNGwtLjIgMHpNMjM5LjIgMzg0bC0zMS40IDAgMC0xMDIuNy03OS44LTE1My4zIDM3LjMgMGM0MS41IDc3LjcgNDguMSA5NS44IDU0LjEgMTEyIDEuNiA0LjMgMy4xIDguNSA1LjIgMTMuNiAzLjItNyA1LjEtMTEuOSA3LjEtMTcuMyA1LjktMTUuMyAxMi44LTMzLjIgNTMuNS0xMDguM2wzNC44IDAtODAuOCAxNTUuMSAwIDEwMC45eiJdfSxna3Q9VnVlLGJrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLXBkLWFsdCIsaWNvbjpbNTEyLDUxMixbXSwiZjRlZCIsIk0yNTUuNiA4QzExMi43IDggOCAxMjMuMSA4IDI1NiA4IDM5NC41IDEyMS42IDUwNCAyNTUuNiA1MDQgMzg1LjUgNTA0IDUwNCA0MDMuMSA1MDQgMjU2IDUwNCAxMTguMSAzOTcuNCA4IDI1NS42IDh6bS44IDQ1MC44Yy0xMTIuNSAwLTIwMy43LTkzLTIwMy43LTIwMi44IDAtMTA1LjQgODUuNS0yMDMuMyAyMDMuNy0yMDMuMyAxMTIuNiAwIDIwMi45IDg5LjUgMjAyLjggMjAzLjMgMCAxMjEuNy05OS42IDIwMi44LTIwMi44IDIwMi44ek0zMjQuNyAxODZsLTUzLjIgMCAwIDEzNy4yIDUzLjIgMGMyMS40IDAgNzAtNS4xIDcwLTY4LjYgMC02My40LTQ4LjYtNjguNi03MC02OC42em0uOCAxMDguNWwtMTkuOSAwIDAtNzkuNyAxOS40LS4xYzMuOCAwIDM1LTIuMSAzNSAzOS45IDAgMjQuNi0xMC41IDM5LjktMzQuNSAzOS45ek0yMTEuNyAxODZsLTY4LjIgMCAwIDEzNy4zIDM0LjYgMCAwLTQ0LjMgMjcgMGM1NC4xIDAgNTcuMS0zNy41IDU3LjEtNDYuNSAwLTMxLTE2LjgtNDYuNS01MC41LTQ2LjV6bS00LjkgNjcuM2wtMjkuMiAwIDAtNDEuNiAyOC4zIDBjMzAuOSAwIDI4LjggNDEuNiAuOSA0MS42eiJdfSx2a3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3JjaWQiLGljb246WzUxMiw1MTIsW10sImY4ZDIiLCJNMjk0LjcgMTg4LjJsLTQ1LjkgMCAwIDE1My44IDQ3LjUgMGM2Ny42IDAgODMuMS01MS4zIDgzLjEtNzYuOSAwLTQxLjYtMjYuNS03Ni45LTg0LjctNzYuOXpNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek0xNzUuMiAzNjguOGwtMjkuOCAwIDAtMjA3LjUgMjkuOCAwIDAgMjA3LjV6TTE2MC4zIDk4LjVhMTkuNiAxOS42IDAgMSAxIDAgMzkuMiAxOS42IDE5LjYgMCAxIDEgMC0zOS4yek0zMDAgMzY5bC04MSAwIDAtMjA3LjcgODAuNiAwYzc2LjcgMCAxMTAuNCA1NC44IDExMC40IDEwMy45IDAgNTMuMy00MS43IDEwMy45LTExMCAxMDMuOXoiXX0sanVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJvYXJkLWdhbWUtZ2VlayIsaWNvbjpbNjQwLDUxMixbImJnZyJdLCJlODU1IiwiTTE2OC44IDE2OC4zbDMwLjEtOC4yLTEyLjMgOTguOCAxNi43IDE2LjEtMzguOSA5MS4yLTExMS44IDQxLjItNTIuNi0xMzEuOCAxNy43LTE3LTEwLjUtODQuMyAxOTEuMi03MC4zLTI5LjUgNjQuM3ptMTgwLjYgMTYuNWMxMS42IDAgMTkgNy40IDE5IDE3LjlsMCAzMS41YzAgOS43LTYuMyAxOC45LTE5LjUgMjIuMSAxMy4xIDMuMSAyMC41IDEyIDIwLjUgMjEuNGwwIDMwLjljMCAxMS4xLTcuNCAxOC4xLTE5IDE4LjFsLTg5LjEgMCAwLTE0MS44IDg4IDB6TTI5OCAyOTkuOGwzMyAwYzEuNSAwIDIuMS0xIDIuMS0yLjFsMC0yNi45YzAtMS0uNi0yLjMtMi4xLTIuM2wtMzMgMCAwIDMxLjN6bTAtNTcuM2wzMyAwYzEuNSAwIDIuMS0xLjEgMi4xLTIuM2wwLTI0LjhjMC0xLS42LTIuMy0yLjEtMi4zbC0zMyAwIDAgMjkuNHptMjA0LjEtMjcuMmwtNjUuNiAwYy0xIDAtMi4xIDEuMS0yLjEgMi4zbDAgNzYuMWMwIDEuMyAxIDIuMSAyLjEgMi4xbDI5LjcgMGMxLjUgMCAyLjMtLjggMi4zLTIuMWwwLTI0LTE5LjMgMCAxMi44LTMwIDQwLjEgMCAwIDcwLjhjMCA5LjItNy4yIDE2LjItMTYuMyAxNi4ybC03MS41IDBjLTkuMSAwLTE2LjUtNy0xNi41LTE2LjJsMC0xMDkuN2MwLTguNiA3LjQtMTYgMTYuNS0xNmw4Ny44IDAgMCAzMC41em0xMzIuNiAwbC02NS42IDBjLTEuMSAwLTIuMSAxLjEtMi4xIDIuM2wwIDc2LjFjMCAxLjMgMSAyLjEgMi4xIDIuMWwyOS42IDBjMS41IDAgMi4zLS44IDIuMy0yLjFsMC0yNC0xOS4yIDAgMTIuOC0zMCA0MC4xIDAgMCA3MC44YzAgOS4yLTcuMiAxNi4yLTE2LjMgMTYuMmwtNzEuNSAwYy05LjEgMC0xNi41LTYuOS0xNi41LTE2LjJsMC0xMDkuN2MwLTguNiA3LjQtMTYgMTYuNS0xNmw4Ny44IDAgMCAzMC41eiJdfSx4a3Q9anVlLHlrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJiZWhhbmNlIixpY29uOls1NzYsNTEyLFtdLCJmMWI0IiwiTTIzMiAyMzcuMmMzMS44LTE1LjIgNDguNC0zOC4yIDQ4LjQtNzQgMC03MC42LTUyLjYtODcuOC0xMTMuMy04Ny44bC0xNjcuMSAwIDAgMzU0LjQgMTcxLjggMGM2NC40IDAgMTI0LjktMzAuOSAxMjQuOS0xMDIuOSAwLTQ0LjUtMjEuMS03Ny40LTY0LjctODkuN3pNNzcuOSAxMzUuOWw3My4xIDBjMjguMSAwIDUzLjQgNy45IDUzLjQgNDAuNSAwIDMwLjEtMTkuNyA0Mi4yLTQ3LjUgNDIuMmwtNzkgMCAwLTgyLjd6bTgzLjMgMjMzLjdsLTgzLjMgMCAwLTk3LjYgODQuOSAwYzM0LjMgMCA1NiAxNC4zIDU2IDUwLjYgMCAzNS44LTI1LjkgNDctNTcuNiA0N3pNNTE5LjcgMTI4LjlsLTE0My43IDAgMC0zNC45IDE0My43IDAgMCAzNC45ek01NzYgMzA1LjJjMC03NS45LTQ0LjQtMTM5LjItMTI0LjktMTM5LjItNzguMiAwLTEzMS4zIDU4LjgtMTMxLjMgMTM1LjggMCA3OS45IDUwLjMgMTM0LjcgMTMxLjMgMTM0LjcgNjEuMyAwIDEwMS0yNy42IDEyMC4xLTg2LjNsLTYyLjIgMGMtNi43IDIxLjktMzQuMyAzMy41LTU1LjcgMzMuNS00MS4zIDAtNjMtMjQuMi02My02NS4zbDE4NS4xIDBjLjMtNC4yIC42LTguNyAuNi0xMy4yek0zOTAuNCAyNzRjMi4zLTMzLjcgMjQuNy01NC44IDU4LjUtNTQuOCAzNS40IDAgNTMuMiAyMC44IDU2LjIgNTQuOGwtMTE0LjcgMHoiXX0sd2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1vbmVybyIsaWNvbjpbNTEyLDUxMixbXSwiZjNkMCIsIk0zNjAgMzg0bDEwOC40IDBDNDI1IDQ1NS45IDM0Ni4xIDUwNCAyNTYgNTA0Uzg3IDQ1NS45IDQzLjYgMzg0bDEwOC40IDAgMC0xMjcuOCAxMDQgMTA0LjggMTA0LTEwNSAwIDEyOHpNOTYgMzM2bDAtMjA4IDE1OS40IDE1OS40IDE2MC42LTE1OS40IDAgMjA4IDc0LjggMGM4LjUtMjUuMSAxMy4yLTUyIDEzLjItODAgMC0xMzctMTExLTI0OC0yNDgtMjQ4UzggMTE5IDggMjU2YzAgMjggNC42IDU0LjkgMTMuMiA4MEw5NiAzMzZ6Il19LE1rdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmaWdtYSIsaWNvbjpbMzg0LDUxMixbXSwiZjc5OSIsIk0xNCA5NS44QzE0IDQyLjkgNTYuOSAwIDEwOS44IDBMMjc0LjIgMGM1Mi45IDAgOTUuOCA0Mi45IDk1LjggOTUuOCAwIDMzLjUtMTcuMiA2My00My4yIDgwLjEgMjYgMTcuMSA0My4yIDQ2LjYgNDMuMiA4MC4xIDAgNTIuOS00Mi45IDk1LjgtOTUuOCA5NS44bC0yLjEgMGMtMjQuOCAwLTQ3LjQtOS40LTY0LjQtMjQuOWwwIDg4LjNjMCA1My42LTQ0IDk2LjgtOTcuNCA5Ni44LTUyLjggMC05Ni4zLTQyLjgtOTYuMy05NS44IDAtMzMuNSAxNy4yLTYzIDQzLjItODAuMS0yNi0xNy4xLTQzLjItNDYuNi00My4yLTgwLjFzMTcuMi02MyA0My4yLTgwLjFDMzEuMiAxNTguOCAxNCAxMjkuMyAxNCA5NS44em0xNjIuMyA5NS44bC02Ni41IDBjLTM1LjYgMC02NC40IDI4LjgtNjQuNCA2NC40IDAgMzUuNCAyOC42IDY0LjIgNjQgNjQuNGw2Ni45IDAgMC0xMjguOHpNMjA3LjcgMjU2YzAgMzUuNiAyOC44IDY0LjQgNjQuNCA2NC40bDIuMSAwYzM1LjYgMCA2NC40LTI4LjggNjQuNC02NC40cy0yOC44LTY0LjQtNjQuNC02NC40bC0yLjEgMGMtMzUuNiAwLTY0LjQgMjguOC02NC40IDY0LjR6bS05Ny45IDk1LjhsLS40IDBjLTM1LjQgLjItNjQgMjktNjQgNjQuNHMyOS4yIDY0LjQgNjQuOSA2NC40YzM2LjMgMCA2Ni0yOS40IDY2LTY1LjVsMC02My40LTY2LjUgMHptMC0zMjAuNGMtMzUuNiAwLTY0LjQgMjguOC02NC40IDY0LjRzMjguOCA2NC40IDY0LjQgNjQuNGw2Ni41IDAgMC0xMjguOC02Ni41IDB6bTk3LjkgMTI4LjhsNjYuNSAwYzM1LjYgMCA2NC40LTI4LjggNjQuNC02NC40cy0yOC44LTY0LjQtNjQuNC02NC40bC02Ni41IDAgMCAxMjguOHoiXX0sZmVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imluc3RhZ3JhbSIsaWNvbjpbNDQ4LDUxMixbXSwiZjE2ZCIsIk0yMjQuMyAxNDFhMTE1IDExNSAwIDEgMCAtLjYgMjMwIDExNSAxMTUgMCAxIDAgLjYtMjMwem0tLjYgNDAuNGE3NC42IDc0LjYgMCAxIDEgLjYgMTQ5LjIgNzQuNiA3NC42IDAgMSAxIC0uNi0xNDkuMnptOTMuNC00NS4xYTI2LjggMjYuOCAwIDEgMSA1My42IDAgMjYuOCAyNi44IDAgMSAxIC01My42IDB6bTEyOS43IDI3LjJjLTEuNy0zNS45LTkuOS02Ny43LTM2LjItOTMuOS0yNi4yLTI2LjItNTgtMzQuNC05My45LTM2LjItMzctMi4xLTE0Ny45LTIuMS0xODQuOSAwLTM1LjggMS43LTY3LjYgOS45LTkzLjkgMzYuMXMtMzQuNCA1OC0zNi4yIDkzLjljLTIuMSAzNy0yLjEgMTQ3LjkgMCAxODQuOSAxLjcgMzUuOSA5LjkgNjcuNyAzNi4yIDkzLjlzNTggMzQuNCA5My45IDM2LjJjMzcgMi4xIDE0Ny45IDIuMSAxODQuOSAwIDM1LjktMS43IDY3LjctOS45IDkzLjktMzYuMiAyNi4yLTI2LjIgMzQuNC01OCAzNi4yLTkzLjkgMi4xLTM3IDIuMS0xNDcuOCAwLTE4NC44ek0zOTkgMzg4Yy03LjggMTkuNi0yMi45IDM0LjctNDIuNiA0Mi42LTI5LjUgMTEuNy05OS41IDktMTMyLjEgOXMtMTAyLjcgMi42LTEzMi4xLTljLTE5LjYtNy44LTM0LjctMjIuOS00Mi42LTQyLjYtMTEuNy0yOS41LTktOTkuNS05LTEzMi4xcy0yLjYtMTAyLjcgOS0xMzIuMWM3LjgtMTkuNiAyMi45LTM0LjcgNDIuNi00Mi42IDI5LjUtMTEuNyA5OS41LTkgMTMyLjEtOXMxMDIuNy0yLjYgMTMyLjEgOWMxOS42IDcuOCAzNC43IDIyLjkgNDIuNiA0Mi42IDExLjcgMjkuNSA5IDk5LjUgOSAxMzIuMXMyLjcgMTAyLjctOSAxMzIuMXoiXX0sa2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBlcmJ5dGUiLGljb246WzQ0OCw1MTIsW10sImUwODMiLCJNMzA1LjMgMjg0LjZsLTU4LjcgMCAwIDk4LjcgNTguNyAwYzE2LjMgMCAyOS00LjYgMzguMi0xMy44czEzLjgtMjEuMiAxMy44LTM2LjFjMC0xNC42LTQuNy0yNi4zLTE0LTM1LjNzLTIyLTEzLjUtMzcuOS0xMy41ek0xNDkuNCAxMjguN2wtNTguNyAwIDAgOTguNyA1OC43IDBjMTYuMyAwIDI5LTQuNiAzOC4yLTEzLjhzMTMuOC0yMS4yIDEzLjgtMzYuMWMwLTE0LjYtNC43LTI2LjMtMTQtMzUuM3MtMjItMTMuNS0zNy45LTEzLjV6TTM2Ni42IDMyTDgxLjQgMzJjLTIxLjYgMC00Mi4yIDguNi01Ny41IDIzLjlTMCA5MS44IDAgMTEzLjRMMCAzOTguNmMwIDIxLjYgOC42IDQyLjIgMjMuOSA1Ny41UzU5LjggNDgwIDgxLjQgNDgwbDI4NS4zIDBjMjEuNiAwIDQyLjItOC42IDU3LjUtMjMuOVM0NDggNDIwLjIgNDQ4IDM5OC42bDAtMjg1LjNjMC0yMS42LTguNi00Mi4yLTIzLjktNTcuNVMzODguMiAzMiAzNjYuNiAzMnptNjMuNiAzNjYuNmMwIDE2LjktNi43IDMzLTE4LjcgNDVzLTI4LjEgMTguNi00NSAxOC43bC0yODUuMyAwYy0xNi45IDAtMzMtNi43LTQ1LTE4LjdzLTE4LjYtMjguMS0xOC43LTQ1bDAtMjg1LjNjMC0xNi45IDYuNy0zMyAxOC43LTQ1czI4LjEtMTguNiA0NS0xOC43bDI4NS4zIDBjMTYuOSAwIDMzIDYuNyA0NSAxOC43czE4LjYgMjguMSAxOC43IDQ1bDAgMjg1LjN6bS0xMjUtMjY5LjlsLTU4LjcgMCAwIDk4LjcgNTguNyAwYzE2LjMgMCAyOS00LjYgMzguMi0xMy44czEzLjgtMjEuMiAxMy44LTM2LjFjMC0xNC42LTQuNy0yNi4zLTE0LTM1LjNzLTIyLTEzLjUtMzcuOS0xMy41eiJdfSxVdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXZpbWVvIixpY29uOls0NDgsNTEyLFsidmltZW8tc3F1YXJlIl0sImYxOTQiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTMxOC41IDMwOS41Yy00My41IDU2LjUtODAuMyA4NC44LTExMC40IDg0LjgtMTguNyAwLTM0LjQtMTcuMi00Ny4zLTUxLjYtMy44LTEzLjktNy4zLTI2LjktMTAuNS0zOS0xOC4yLTY4LjMtMjguNi0xMDcuNC00Ni4yLTEwNy40LTIuNCAwLTEwLjggNS0yNS4xIDE1LjFMNjQgMTkyYzctNi4xIDEzLjktMTIuNCAyMC42LTE4LjUgMjkuMS0yNi4zIDU1LjYtNTAuMyA3My41LTUxLjkgMjQuOS0yLjQgNDAuMiAxNC42IDQ2IDUxLjEgMjAuNSAxMjkuNiAyOS42IDE0OS4yIDY2LjggOTAuNSAxMy40LTIxLjIgMjAuNi0zNy4yIDIxLjUtNDguMyAzLjQtMzIuOC0yNS42LTMwLjYtNDUuMi0yMi4yIDE1LjctNTEuNSA0NS44LTc2LjUgOTAuMS03NS4xIDMyLjkgMSA0OC40IDIyLjQgNDYuNSA2NC0xLjQgMzEuMS0yMy4yIDczLjgtNjUuMyAxMjcuOXoiXX0sU2t0PVV1ZSx6a3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicHVzaGVkIixpY29uOls0NDgsNTEyLFtdLCJmM2UxIiwiTTQxNS4xIDExMS45bC05OC41LTkgMTQtMzMuNGMxMC40LTIzLjUtMTAuOC00MC40LTI4LjctMzdMMzAuNiA3Ni45Yy0xNS4xIDIuNy0yNiAxOC4zLTIxLjQgMzYuNkwxMTQuMyA0NjEuOGM2LjUgMjEuMyAzNi43IDI0LjIgNDcuNyA3TDE5Ny4zIDM4OCA0MzIuNSAxNTYuN2MxNi40LTE2LjggNC4zLTQyLjktMTcuNC00NC44ek0zMDUuNyA1My42YzUuMS0uNyA3LjUgMi41IDUuMiA3LjRsLTE2LjggMzkuOS0xNzcuNC0xNi4zIDE4OS0zMXpNMzAuOCAxMDcuOWMtMy4xLTUuMSAxLTEwIDYuMS05LjFsMjQ4LjcgMjIuNy05Ni45IDIzMC43LTE1Ny45LTI0NC4zek0xNDQuMSA0NTYuNGMtMi42IDQtNy45IDMuMS05LjQtMS4yTDUxLjYgMTc5LjcgMTc5LjMgMzc3LjNjLTcgMTUtMzUuMiA3OS4xLTM1LjIgNzkuMXpNNDE2LjkgMTQxLjlsLTE5OC43IDE5NS40IDg5LjctMjEzLjcgMTA2LjQgOS43YzQgMS4xIDUuNyA1LjMgMi42IDguNnoiXX0sQ2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1peGNsb3VkIixpY29uOls2NDAsNTEyLFtdLCJmMjg5IiwiTTIxMyAzNDYuNmwtMzMuMiAwIDAtMTUxLjUgNi4yLTIxLjYtMTAuNyAwLTM4LjEgMTczLjEtNjEgMC0zOC40LTE3My4xLTEwLjUgMCA1LjkgMjEuNiAwIDE1MS41LTMzLjIgMCAwLTE4MS42IDY1LjcgMCAzNi42IDE3My4xIDguNSAwIDM2LjYtMTczLjEgNjUuNyAwIDAgMTgxLjZ6bTMzMS41LTYzbC04NiA2Mi4xIDAtMzguMSA3Mi45LTUxLjgtNzIuOS01MS44IDAtMzguMSA4NiA2Mi4zIDkuMyAwIDg2LjMtNjIuMyAwIDM4LjEtNzMuMSA1MS44IDczLjEgNTEuOCAwIDM4LjEtODYuMy02Mi4xLTkuMyAwek00MzAuMiAyNzIuM2wtMTgyIDAgMC0zMy4xIDE4MiAwIDAgMzMuMXoiXX0sX2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InlhbmRleC1pbnRlcm5hdGlvbmFsIixpY29uOlszMjAsNTEyLFtdLCJmNDE0IiwiTTEyOS41IDUxMmwwLTE2Ni4xLTExMS0yOTcuOSA1NS44IDAgODEuOCAyMjkuNyA5NC4xLTI3Ny43IDUxLjMgMC0xMjAuNyAzNDcuOCAwIDE2NC4yLTUxLjMgMHoiXX0sVGt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImhpdmUiLGljb246WzUxMiw1MTIsW10sImUwN2YiLCJNMjYwLjQgMjU0LjlMMTMxLjUgMzMuMWMtLjItLjMtLjUtLjYtLjgtLjhzLS43LS4zLTEuMS0uMy0uOCAuMS0xLjEgLjMtLjYgLjUtLjggLjhMLjMgMjU0LjljLS4yIC4zLS4zIC43LS4zIDEuMXMuMSAuOCAuMyAxLjFMMTI5LjEgNDc4LjljLjIgLjMgLjUgLjYgLjggLjhzLjcgLjMgMS4xIC4zIC44LS4xIDEuMS0uMyAuNi0uNSAuOC0uOEwyNjAuNCAyNTcuMWMuMi0uMyAuMy0uNyAuMy0xLjFzLS4xLS44LS4zLTEuMXptMzkuMS0yNS43Yy4yIC4zIC41IC42IC44IC44cy43IC4zIDEuMSAuM2w2Ni41IDBjLjQgMCAuOC0uMSAxLjEtLjNzLjYtLjUgLjgtLjggLjMtLjcgLjMtMS4xLS4xLS44LS4zLTEuMUwyNTkuMSAzMy4xYy0uMi0uMy0uNS0uNi0uOC0uOHMtLjctLjMtMS4xLS4zbC02Ni41IDBjLS40IDAtLjggLjEtMS4xIC4zcy0uNiAuNS0uOCAuOC0uMyAuNy0uMyAxLjEgLjEgLjggLjMgMS4xTDI5OS40IDIyOS4yem0yMTIuMyAyNS43TDM4NC45IDMzLjFjLS4yLS4zLS41LS42LS44LS44cy0uNy0uMy0xLjEtLjNsLTY2LjYgMGMtLjQgMC0uOCAuMS0xLjEgLjNzLS42IC41LS44IC44LS4zIC43LS4zIDEuMSAuMSAuOCAuMyAxLjFMNDQwLjcgMjU2IDMxNC41IDQ3Ni43Yy0uMiAuMy0uMyAuNy0uMyAxLjFzLjEgLjggLjMgMS4xIC41IC42IC44IC44IC43IC4zIDEuMSAuM2w2Ni42IDBjLjQgMCAuOC0uMSAxLjEtLjNzLjYtLjUgLjgtLjhMNTExLjcgMjU3LjFjLjItLjMgLjMtLjcgLjMtMS4xcy0uMS0uOC0uMy0xLjF6TTM2NiAyODQuOWwtNjYuNSAwYy0uNCAwLS44IC4xLTEuMSAuM3MtLjYgLjUtLjggLjhMMTg4LjggNDc2LjdjLS4yIC4zLS4zIC43LS4zIDEuMXMuMSAuOCAuMyAxLjEgLjUgLjYgLjggLjggLjcgLjMgMS4xIC4zbDY2LjUgMGMuNCAwIC44LS4xIDEuMS0uM3MuNi0uNSAuOC0uOEwzNjcuOSAyODguM2MuMi0uMyAuMy0uNyAuMy0xLjFzLS4xLS44LS4zLTEuMS0uNS0uNi0uOC0uOC0uNy0uMy0xLjEtLjN6Il19LExrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLXplcm8iLGljb246WzUxMiw1MTIsW10sImY0ZjMiLCJNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zem0tLjQgNjAuNWMtODEuOSAwLTEwMi41IDc3LjMtMTAyLjUgMTQyLjhTMTc0LjEgMzk4LjggMjU2IDM5OC44IDM1OC41IDMyMS41IDM1OC41IDI1NiAzMzcuOSAxMTMuMiAyNTYgMTEzLjJ6bTAgNTMuOWMzLjMgMCA2LjQgLjUgOS4yIDEuMiA1LjkgNS4xIDguOCAxMi4xIDMuMSAyMS45TDIxMy44IDI5MC40Yy0xLjctMTIuNy0xLjktMjUuMS0xLjktMzQuNCAwLTI4LjggMi04OC45IDQ0LjEtODguOXptNDAuOCA0Ni4yYzIuOSAxNS40IDMuMyAzMS40IDMuMyA0Mi43IDAgMjguOS0yIDg4LjktNDQuMSA4OC45LTEzLjUgMC0zMi42LTcuNy0yMC4xLTI2LjRsNjAuOS0xMDUuMnoiXX0sV3VlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1zbmFwY2hhdCIsaWNvbjpbNDQ4LDUxMixbInNuYXBjaGF0LXNxdWFyZSJdLCJmMmFkIiwiTTM4NCAzMkw2NCAzMmMtMTcgMC0zMy4zIDYuNy00NS4zIDE4LjdTMCA3OSAwIDk2TDAgNDE2YzAgMTcgNi43IDMzLjMgMTguNyA0NS4zUzQ3IDQ4MCA2NCA0ODBsMzIwIDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdTNDQ4IDQzMyA0NDggNDE2bDAtMzIwYzAtMTctNi43LTMzLjMtMTguNy00NS4zUzQwMSAzMiAzODQgMzJ6bS0zLjkgMzE5LjNsLS4xIC4xYy0yLjUgMi44LTUuNCA1LjEtOC43IDYuOC02LjUgMy42LTEzLjQgNi4zLTIwLjYgOC4yLTEuNCAuNC0yLjcgMS0zLjkgMS44LTIuMiAxLjktMi4xIDQuNi00LjQgOC42LTEuNyAzLTQgNS41LTYuOCA3LjUtNi43IDQuNi0xNC4yIDQuOS0yMi4yIDUuMi03LjIgLjMtMTUuNCAuNi0yNC43IDMuNy0zLjggMS4yLTcuOCAzLjctMTIuNCA2LjUtMTEuMyA2LjktMjYuNyAxNi40LTUyLjMgMTYuNHMtNDAuOS05LjQtNTIuMS0xNi4zYy00LjctMi45LTguNy01LjQtMTIuNS02LjYtOS4zLTMuMS0xNy41LTMuNC0yNC43LTMuNy04LS4zLTE1LjUtLjYtMjIuMi01LjItMi40LTEuNi00LjQtMy43LTYtNi4xLTMuMi00LjYtMi45LTcuOC01LjMtOS45LTEuMy0uOC0yLjYtMS41LTQuMS0xLjgtNy4xLTEuOS0xMy45LTQuNi0yMC4zLTguMS0zLjEtMS42LTUuOS0zLjgtOC4zLTYuMy02LjYtNi44LTguMy0xNC44LTUuNy0yMS44IDMuNC05LjMgMTEuNi0xMi4xIDE5LjQtMTYuMyAxNC44LTggMjYuMy0xOC4xIDM0LjQtMjkuOSAyLjMtMy4zIDQuMy02LjkgNi0xMC42IC44LTIuMiAuOC0zLjMgLjItNC40LS42LS45LTEuMy0xLjYtMi4yLTIuMi0yLjUtMS43LTUuMS0zLjQtNi45LTQuNS0zLjMtMi4xLTUuOS0zLjgtNy41LTUtNi4zLTQuNC0xMC42LTktMTMuNC0xNC4yLTEuOS0zLjYtMy03LjYtMy4zLTExLjZzLjQtOC4xIDEuOS0xMS45YzQuMS0xMC45IDE0LjUtMTcuNyAyNy0xNy43IDIuNiAwIDUuMyAuMyA3LjggLjggLjcgLjIgMS40IC4zIDIgLjUtLjEtNy40IC4xLTE1LjQgLjctMjMuMSAyLjQtMjcuMyAxMS45LTQxLjYgMjEuOS01MyA2LjQtNy4yIDEzLjktMTMuMiAyMi4zLTE3LjkgMTUuMS04LjYgMzIuMi0xMyA1MC45LTEzczM1LjggNC40IDUwLjkgMTNjOC4zIDQuNyAxNS45IDEwLjggMjIuMiAxNy45IDEwIDExLjQgMTkuNSAyNS43IDIxLjkgNTMgLjYgNy43IC45IDE1LjQgLjcgMjMuMSAuNy0uMiAxLjQtLjMgMi4xLS41IDIuNi0uNiA1LjItLjggNy44LS44IDEyLjUgMCAyMi44IDYuOCAyNyAxNy43IDEuNSAzLjggMi4xIDcuOSAxLjkgMTEuOXMtMS40IDgtMy4zIDExLjZjLTIuNyA1LjItNy4xIDkuOS0xMy40IDE0LjItMS43IDEuMi00LjMgMi45LTcuNSA1LTEuOCAxLjItNC41IDIuOS03LjIgNC43LS44IC41LTEuNCAxLjItMS45IDItLjUgMS0uNSAyLjIgLjIgNC4yIDEuNyAzLjggMy43IDcuNCA2LjEgMTAuOCA4LjMgMTIuMSAyMC4yIDIyLjMgMzUuNSAzMC40IDEuNSAuOCAzIDEuNSA0LjQgMi4zIC43IC4zIDEuNiAuOCAyLjUgMS4zIDQuOSAyLjcgOS4yIDYgMTEuNSAxMi4yIDIuNSA2LjkgMSAxNC43LTUuMiAyMS4zem0tMTYuNy0xOC41Yy01MC4zLTI0LjMtNTguMy02MS45LTU4LjctNjQuNy0uNC0zLjQtLjktNiAyLjgtOS41IDMuNi0zLjMgMTkuNS0xMy4yIDI0LTE2LjMgNy4zLTUuMSAxMC41LTEwLjIgOC4yLTE2LjUtMS43LTQuMy01LjctNi0xMC02LTEuMyAwLTIuNyAuMi00IC40LTggMS43LTE1LjggNS44LTIwLjQgNi45LS41IC4xLTEuMSAuMi0xLjcgLjItMi40IDAtMy4zLTEuMS0zLjEtNCAuNi04LjggMS44LTI1LjkgLjQtNDEuOS0xLjktMjItOS0zMi45LTE3LjQtNDIuNi00LjEtNC42LTIzLjEtMjQuNy01OS41LTI0LjdzLTU1LjQgMjAuMS01OS41IDI0LjhjLTguNCA5LjctMTUuNSAyMC42LTE3LjQgNDIuNi0xLjQgMTYtLjEgMzMuMSAuNCA0MS45IC4yIDIuOC0uNyA0LTMuMSA0LS42IDAtMS4xLS4xLTEuNy0uMi00LjUtMS4xLTEyLjMtNS4xLTIwLjMtNi45LTEuMy0uMy0yLjYtLjQtNC0uNC00LjMgMC04LjMgMS42LTEwIDYtMi40IDYuMyAuOCAxMS40IDguMiAxNi41IDQuNCAzLjEgMjAuNCAxMyAyNCAxNi4zIDMuNyAzLjQgMy4yIDYuMSAyLjggOS41LS40IDIuOC04LjQgNDAuNC01OC43IDY0LjctMi45IDEuNC04IDQuNCAuOSA5LjMgMTMuOSA3LjYgMjMuMSA2LjggMzAuMyAxMS40IDYuMSAzLjkgMi41IDEyLjQgNi45IDE1LjQgNS41IDMuOCAyMS42LS4zIDQyLjMgNi42IDE3LjQgNS43IDI4LjEgMjIgNTkgMjJzNDEuOC0xNi4zIDU4LjktMjJjMjAuOC02LjkgMzYuOS0yLjggNDIuMy02LjYgNC40LTMuMSAuOC0xMS41IDYuOS0xNS40IDcuMi00LjYgMTYuNC0zLjggMzAuMy0xMS41IDguOC00LjkgMy44LTcuOSAuOS05LjR6Il19LCRrdD1XdWUsRGt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRoZW1laXNsZSIsaWNvbjpbNTEyLDUxMixbXSwiZjJiMiIsIk0yMDggODguM2MwLTEwIDYuMy0yMS43IDE3LjctMjEuNyAxMS4xIDAgMTcuNyAxMS43IDE3LjcgMjEuNyAwIDEwLjMtNi42IDIxLjctMTcuNyAyMS43LTExLjQgMC0xNy43LTExLjQtMTcuNy0yMS43em0zMDQgMTYwYzAgMzYtMTEuNCAxMDIuMy0zNi4zIDEyOS43LTIyLjkgMjQuOS04Ny40IDYxLjEtMTIwLjkgNzAuNmwtMS4xIC4zIDAgMzIuNmMwIDE2LjMtMTIuNiAzMC42LTI5LjEgMzAuNi0xMCAwLTE5LjQtNS43LTI0LjYtMTQuMy01LjQgOC42LTE0LjkgMTQuMy0yNC45IDE0LjNzLTE5LjQtNS43LTI0LjktMTQuM2MtNS4xIDguNi0xNC42IDE0LjMtMjQuNiAxNC4zLTEwLjMgMC0xOS40LTUuNy0yNC45LTE0LjMtNS4xIDguNi0xNC42IDE0LjMtMjQuNiAxNC4zLTE4LjkgMC0yOS40LTE1LjctMjkuNC0zMi45LTE2LjMgMTIuMy0zNS43IDE5LjQtNTYuNiAxOS40LTIyIDAtNDMuNC04LjMtNjAuMy0yMi45IDEwLjMtLjMgMjAuNi0yLjMgMzAuMy01LjctMjAuOS01LjctMzkuNC0xOC45LTUyLTM2LjMgMjEuNCA0LjYgNDYuMiAxLjcgNjcuMS0xMS4xLTIyLTIyLTU2LjYtNTguOS02OC42LTg3LjQtNS43LTEzLjQtNi45LTMxLjQtNi45LTQ1LjcgMC00OS43IDIwLjMtMTYwIDg2LjMtMTYwIDEwLjYgMCAxOC45IDQuOSAyMy4xIDE0LjkgMy43LTUuNCA3LjctMTAuNSAxMi0xNS40IDItMi42IDUuNy01LjQgNy4xLTguMyA4LTEyLjYgMTEuNy0yMS4xIDIxLjctMzQgMzIuMy00MS4xIDgxLjctNjkuNCAxMzQuOS02OS40IDYgMCAxMiAuMyAxNy43IDEuMSAxMC45LTExLjcgMjYtMTguMyA0MS43LTE4LjMgMTQuNiAwIDI5LjcgNiA0MCAxNi4zIC45IC45IDEuNCAyLjMgMS40IDMuNCAwIDMuNy0xMC4zIDEzLjQtMTIuOSAxNi4zIDQuMyAxLjQgMTUuNyA2LjkgMTUuNyAxMiAwIDIuOS0yLjkgNS4xLTQuNiA3LjEgMzEuNCAyNy43IDQ5LjQgNjcuMSA1Ni4zIDEwOCA0LjMtNS4xIDEwLjMtOC42IDE3LjEtOC42IDEwLjYgMCAyMC45IDcuMSAyOC42IDE0IDIwLjkgMTguNiAyNS43IDUzLjEgMjUuNyA3OS43ek0xODggODkuNGMwIDE4LjMgMTIuNiAzNy4xIDMyLjMgMzcuMXMzMi4zLTE4LjkgMzIuMy0zNy4xYzAtMTgtMTIuNi0zNi45LTMyLjMtMzYuOVMxODggNzEuNCAxODggODkuNHpNMjM3LjcgMTk0YzAtMTkuNyAzLjctMzkuMSA4LjYtNTguMy01MiA3OS41LTEzLjUgMTg0LjYgNjguOSAxODQuNiAyMS40IDAgNDIuNi03LjcgNjAtMjAgMi03LjQgMy43LTE0LjkgMy43LTIyLjYgMC0xNC4zLTYuMy0yMS40LTIwLjYtMjEuNC00LjYgMC05LjEgLjktMTMuNCAxLjctNjMuMyAxMi43LTEwNy4xIDMuNy0xMDcuMS02NHpNMTk2LjYgNDQ4LjljMC0xMS4xLTguOS0yMC45LTIwLjMtMjAuOXMtMjAgOS43LTIwIDIwLjlsMCAzMi42YzAgMTEuMSA4LjYgMjEuMSAyMCAyMS4xczIwLjMtOS43IDIwLjMtMjEuMWwwLTMyLjZ6bTQ5LjEgMGMwLTExLjEtOC42LTIwLjktMjAtMjAuOXMtMjAuMyA5LjctMjAuMyAyMC45bDAgMzIuNmMwIDExLjEgOC45IDIxLjEgMjAuMyAyMS4xczIwLTEwIDIwLTIxLjFsMC0zMi42em00OS43IDBjMC0xMS4xLTguOS0yMC45LTIwLjMtMjAuOXMtMjAuMyA5LjctMjAuMyAyMC45bDAgMzIuNmMwIDExLjEgOC45IDIxLjEgMjAuMyAyMS4xczIwLjMtOS43IDIwLjMtMjEuMWwwLTMyLjZ6bTQ5LjcgMGMwLTExLjEtOC45LTIwLjktMjAuMy0yMC45cy0yMC4zIDkuNy0yMC4zIDIwLjlsMCAzMi42YzAgMTEuMSA4LjkgMjEuMSAyMC4zIDIxLjFzMjAuMy0xMCAyMC4zLTIxLjFsMC0zMi42ek00MjEuNyAyODZjLTMwLjkgNTkuMS05MC4zIDEwMi42LTE1OC42IDEwMi42LTk2LjYgMC0xNjAuNi04NC42LTE2MC42LTE3Ni42IDAtMTYuOSAyLTMzLjQgNi00OS43LTIwIDMzLjctMjkuNyA3Mi42LTI5LjcgMTExLjQgMCA2MC4zIDI0LjkgMTIxLjcgNzEuNCAxNjAuOSA1LjEtOS43IDE0LjktMTYuMyAyNi0xNi4zIDEwIDAgMTkuNCA1LjcgMjQuNiAxNC4zIDUuNC04LjYgMTQuNi0xNC4zIDI0LjktMTQuMyAxMCAwIDE5LjQgNS43IDI0LjYgMTQuMyA1LjQtOC42IDE0LjktMTQuMyAyNC45LTE0LjNzMTkuNCA1LjcgMjQuOSAxNC4zYzUuMS04LjYgMTQuNi0xNC4zIDI0LjYtMTQuMyAxMC45IDAgMjAuOSA2LjYgMjUuNyAxNiA0My40LTM2LjMgNjguNi05MiA3MS40LTE0OC4zem0xMC42LTk5LjdjMC01My43LTM0LjYtMTA1LjctOTIuNi0xMDUuNy0zMC4zIDAtNTguNiAxNS4xLTc4LjkgMzYuOS0yMCA2Ni40LTI3LjQgMTM2LjYgNDEuNCAxMzYuNiAyOC44IDAgOTcuNC0yOC41IDg0LjMgMzYuOSAyOC45LTI2IDQ1LjctNjUuNyA0NS43LTEwNC42eiJdfSxBa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGFydC1sYW5nIixpY29uOls1MTIsNTEyLFtdLCJlNjkzIiwiTTM3OC42IDc4LjljLTIuOC0uMS01LjYtLjItOC41LS4ybC0yNjQuMSAwIDE0My4yLTcyYzcuNC00LjQgMTguOC02LjcgMzAuNC02LjcgMTMuNSAwIDI5LjQgOS4yIDM3IDE2LjhsNjIgNjIgMCAuMXpNMTA3LjMgOTYuNWwyNjIuOCAwYzE2IDAgMjUuNCAxLjQgMzUuNCA5LjNsMTA2LjUgMTA2LjQgMCAyMDguOC03OS4zIC43LTMyNS40LTMyNS4yek05Ni41IDM3M2wwLTI2Mi4yIDMyMy44IDMyMy44IC43IDc3LjQtMjEyLjIgMC05OC4xLTk4LjJDOTkuNCA0MDIuNSA5Ni41IDM5OC41IDk2LjUgMzczek03OC43IDEwNS4zbDAgMjY3LjdjMCAzLjMgLjEgNi4zIC4yIDkuMWwtNjItNjJDNi41IDMwOS4zIDAgMjk0LjMgMCAyNzkuNiAwIDI3Mi44IDMuOSAyNjIuMSA2LjcgMjU2bDcyLTE1MC43eiJdfSxQa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGVwbG95ZG9nIixpY29uOls1MTIsNTEyLFtdLCJmMzhlIiwiTTM4Mi4yIDEzNmw1MS43IDAgMCAyMzkuNi01MS43IDAgMC0yMC43Yy0xOS44IDI0LjgtNTIuOCAyNC4xLTczLjggMTQuNy0yNi4yLTExLjctNDQuMy0zOC4xLTQ0LjMtNzEuOCAwLTI5LjggMTQuOC01Ny45IDQzLjMtNzAuOCAyMC4yLTkuMSA1Mi43LTEwLjYgNzQuOCAxMi45bDAtMTAzLjl6TTMxNy41IDI5Ny44YTMzLjIgMzMuMiAwIDEgMCA2Ni40IDEgMzMuMiAzMy4yIDAgMSAwIC02Ni40LTF6TTE4OC41IDEzNmw1MS43IDAgMCAyMzkuNi01MS43IDAgMC0yMC43Yy0xOS44IDI0LjgtNTIuOCAyNC4xLTczLjggMTQuNy0yNi4yLTExLjctNDQuMy0zOC4xLTQ0LjMtNzEuOCAwLTI5LjggMTQuOC01Ny45IDQzLjMtNzAuOCAyMC4yLTkuMSA1Mi43LTEwLjYgNzQuOCAxMi45bDAtMTAzLjl6TTEyMy44IDI5Ny44YTMzLjIgMzMuMiAwIDEgMCA2Ni40IDEgMzMuMiAzMy4yIDAgMSAwIC02Ni40LTF6TTQ0OCA5NmMxNy41IDAgMzIgMTQuNCAzMiAzMmwwIDI1NmMwIDE3LjUtMTQuNCAzMi0zMiAzMkw2NCA0MTZjLTE3LjUgMC0zMi0xNC40LTMyLTMybDAtMjU2YzAtMTcuNSAxNC40LTMyIDMyLTMybDM4NCAwem0wLTMyTDY0IDY0QzI4LjggNjQgMCA5Mi44IDAgMTI4TDAgMzg0YzAgMzUuMiAyOC44IDY0IDY0IDY0bDM4NCAwYzM1LjIgMCA2NC0yOC44IDY0LTY0bDAtMjU2YzAtMzUuMi0yOC44LTY0LTY0LTY0eiJdfSxFa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmxpcGJvYXJkIixpY29uOls0NDgsNTEyLFtdLCJmNDRkIiwiTTAgMzJsMCA0NDggNDQ4IDAgMC00NDgtNDQ4IDB6TTM1OC40IDIxMS4ybC04OS42IDAgMCA4OS42LTg5LjYgMCAwIDg5LjYtODkuNiAwIDAtMjY4LjggMjY4LjggMCAwIDg5LjZ6Il19LElrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJidXktbi1sYXJnZSIsaWNvbjpbNTc2LDUxMixbXSwiZjhhNiIsIk0yODguMiAzMkMxMzMuNSAzMiA4IDEzMi4zIDggMjU2UzEzMy41IDQ4MCAyODguMiA0ODAgNTY4LjQgMzc5LjcgNTY4LjQgMjU2IDQ0Mi45IDMyIDI4OC4yIDMyek0yMDIuOCAzODkuMmwtMTM4LjUgMS40IDc3LjItMjkwLjcgMTMzLjQgMGM2My4yIDAgODQuOSAyOC42IDc4IDcyLjgtLjQgMi4zLS45IDQuNi0xLjUgNi45LTUuNi0xLjMtMTEuNC0xLjktMTcuMi0xLjktNDIuMyAwLTc2LjcgMzMuOS03Ni43IDc1LjcgMCAzNy4xIDI3LjEgNjggNjIuOSA3NC41LTE4LjIgMzcuMi01Ni4yIDYwLjktMTE3LjcgNjEuNXpNMzU4LjIgMjA3LjFsMzIgMC0yMi4yIDkwLjMtMzUuNCAwLTExLjItMzUuNi03LjggMzUuNi0zNy44IDAgMjYuNi05MC4zIDMxLjMgMCAxNSAzNi44IDkuNC0zNi44ek01MDQuMSAzODkuMmwtMTk3LjEgMCAxNS44LTYxLjJjMy44IC42IDcuNiAuOCAxMS41IC44IDQyLjMgMCA3Ni43LTMzLjkgNzYuNy03NS42IDAtMzIuNi0yMS02MC41LTUwLjQtNzEuMWwyMS4zLTgyLjQgOTIuNSAwLTUzIDIwNS40IDEwMy45IDAtMjEuMiA4NC4xek0yMTEuOSAyNjkuNGwtMjQuNyAwLTEzLjggNTYuNSAyNC43IDBjMTYuMSAwIDMyLjEtMy4yIDM3LjktMjYuNiA1LjYtMjIuMy04LTI5LjgtMjQuMS0yOS44ek0yMzMuMiAxNzBsLTIxLjMgMC0xMS43IDQ3LjcgMjEuNCAwYzE4IDAgMzUuNC0xNC42IDM5LjItMzAuMSA0LjYtMTguOS05LjUtMTcuNi0yNy42LTE3LjZ6Il19LE5rdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3YXRjaG1hbi1tb25pdG9yaW5nIixpY29uOls1MTIsNTEyLFtdLCJlMDg3IiwiTTI1NiAxNmEyNDAgMjQwIDAgMSAwIDAgNDgwIDI0MCAyNDAgMCAxIDAgMC00ODB6TTEyMS43IDQyOS4xYy01MS42LTQwLjItODQuOS0xMDIuOC04NC45LTE3My4xIDAtMjEuNyAzLjItNDMuMyA5LjYtNjQuMWwxMDIuOS0xNy45LS4xIDExLTEzLjkgMnMtLjEgMTIuNS0uMSAxOS41YzAgMiAuNCA0IDEuMiA1LjhzMi4xIDMuNCAzLjcgNC42bDkuNSA3LjQtMjcuNyAyMDQuOXpNMjI3LjQgMTQ1LjlsOC41LTcuNnM2LjktNS40LS4xLTkuM2MtNy4yLTQtMzkuNS0zNC41LTM5LjUtMzQuNS01LjMtNS41LTguMy03LjMtMTUuNSAwIDAgMC0zMi4zIDMwLjUtMzkuNSAzNC41LTcuMSA0LS4xIDkuMy0uMSA5LjNsOC41IDcuNiAwIDQuNC03My41LTE5LjJjMzkuNi01Ni45IDEwNS41LTk0LjMgMTgwLTk0LjMgMzEuMyAwIDYyLjIgNi43IDkwLjYgMTkuNnM1My44IDMxLjggNzQuMyA1NS40bC0xOTMuNSAzNy43IDAtMy42em0zNC4xIDMyOS4zbC0zMy45LTI1MC45IDkuNS03LjRjMS42LTEuMiAyLjgtMi44IDMuNy00LjZzMS4zLTMuOCAxLjItNS44YzAtNy0uMS0xOS41LS4xLTE5LjVsLTEzLjktMi0uMS0xMC41IDI0MS43IDMxLjRjMy45IDE2LjQgNS44IDMzLjMgNS44IDUwLjEgMCAxMTkuMS05NS40IDIxNi4yLTIxMy44IDIxOS4xeiJdfSxSa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaGlwcyIsaWNvbjpbNjQwLDUxMixbXSwiZjQ1MiIsIk0yNTEuNiAxNTcuNmMwLTEuOS0uOS0yLjgtMi44LTIuOGwtNDAuOSAwYy0xLjYgMC0yLjcgMS40LTIuNyAyLjhsMCAyMDEuOGMwIDEuNCAxLjEgMi44IDIuNyAyLjhsNDAuOSAwYzEuOSAwIDIuOC0uOSAyLjgtMi44bDAtMjAxLjh6TTE1Ni41IDE2OGMtMTYuMS0xMS44LTM2LjMtMTcuOS02MC4zLTE4LTE4LjEtLjEtMzQuNiAzLjctNDkuOCAxMS40bDAtODEuMmMwLTEuOC0uOS0yLjctMi44LTIuN2wtNDAuOSAwQy45IDc3LjUgMCA3OC40IDAgODAuMkwwIDM1OS40YzAgMS45IC45IDIuOCAyLjcgMi44bDQxIDBjMS45IDAgMi44LS45IDIuOC0yLjhsMC0xMzYuMWMwLS44LTIuOC0yNyA0NS44LTI3IDQ4LjUgMCA0NS44IDI2LjEgNDUuOCAyN2wwIDEyMi42YzAgOSA3LjMgMTYuMyAxNi40IDE2LjNsMjcuMyAwYzEuOCAwIDIuNy0uOSAyLjctMi44bDAtMTM2LjFjMC0yMy40LTkuMy00MS44LTI4LTU1LjN6TTYzNC45IDI3OC4xYy02LjgtMTUuNy0xOC40LTI3LTM0LjktMzQuMWwtNTcuNi0yNS4zYy04LjYtMy42LTkuMi0xMS4yLTIuNi0xNi4xIDcuNC01LjUgNDQuMy0xMy45IDg0IDYuOCAxLjcgMSA0LS4zIDQtMi40bDAtNDQuN2MwLTEuMy0uNi0yLjEtMS45LTIuNi0xNy43LTYuNi0zNi4xLTkuOS01NS4xLTkuOS0yNi41IDAtNDUuMyA1LjgtNTguNSAxNS40LS41IC40LTI4LjQgMjAtMjIuNyA1My43IDMuNCAxOS42IDE1LjggMzQuMiAzNy4yIDQzLjZMNTgwLjQgMjg2YzExLjYgNS4xIDE1LjIgMTMuMyAxMi4yIDIxLjItMy43IDkuMS0xMy4yIDEzLjYtMzYuNSAxMy42LTI0LjMgMC00NC43LTguOS01OC40LTE5LjEtMi4xLTEuNC00LjQgLjItNC40IDIuM2wwIDM0LjRjMCAxMC40IDQuOSAxNy4zIDE0LjYgMjAuNyAxNS42IDUuNSAzMS42IDguMiA0OC4yIDguMiAxMi43IDAgMjUuOC0xLjIgMzYuMy00LjMgLjctLjMgMzYtOC45IDQ1LjYtNDUuOCAzLjUtMTMuNSAyLjQtMjYuNS0zLjEtMzkuMXpNMzc2LjIgMTQ5LjhjLTMxLjcgMC0xMDQuMiAyMC4xLTEwNC4yIDEwMy41bDAgMTgzLjVjMCAuOCAuNiAyLjcgMi43IDIuN2w0MC45IDBjMS45IDAgMi44LS45IDIuOC0yLjdsMC04OC44YzE2LjUgMTIuNyAzNS44IDE5LjEgNTcuNyAxOS4xIDYwLjUgMCAxMDguNy00OC41IDEwOC43LTEwOC43IC4xLTYwLjMtNDguMi0xMDguNi0xMDguNi0xMDguNnptMCA0Ni42YTYyLjIgNjIuMiAwIDEgMSAwIDEyNC4zIDYyLjIgNjIuMiAwIDEgMSAwLTEyNC4zek0yMjguMyA3Mi41Yy0xNS45IDAtMjguOCAxMi45LTI4LjkgMjguOSAwIDE1LjYgMTIuNyAyOC45IDI4LjkgMjguOXMyOC45LTEzLjEgMjguOS0yOC45YzAtMTYuMi0xMy0yOC45LTI4LjktMjguOXoiXX0sT2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNsb3VkdmVyc2lmeSIsaWNvbjpbNjQwLDUxMixbXSwiZjM4NSIsIk0xNjAuNiAzMDRjOC4yIDY4LjUgNjcuNCAxMTUuNSAxNDYgMTExLjMgNTEuMiA0My4zIDEzNi44IDQ1LjggMTg2LjQtNS42IDY5LjIgMS4xIDExOC41LTQ0LjYgMTMxLjUtOTkuNSAxNC44LTYyLjUtMTguMi0xMzIuNS05Mi4xLTE1NS4xLTMzLTg4LjEtMTMxLjQtMTAxLjUtMTg2LjUtODUtNTcuMyAxNy4zLTg0LjMgNTMuMi05OS4zIDEwOS43LTcuOCAyLjctMjYuNSA4LjktNDUgMjQuMSAxMS43IDAgMTUuMiA4LjkgMTUuMiAxOS41bDAgMjAuNGMwIDEwLjctOC43IDE5LjUtMTkuNSAxOS41bC0yMC4yIDBjLTEwLjcgMC0xOS41LTYtMTkuNS0xNi43bDAtNi42LTQ2LjggMGMtMy44IDAtMTAuOCA0LjMtMTAuOCAxMS45bDAgNDAuNGMwIDYuNCA1LjMgMTEuOCAxMS43IDExLjhsNDguOSAwIDAtLjF6TTM4OCAzMTJjLTEwLjcgNDYuMyAyMS43IDcyLjQgNTUuMyA4Ni44LTEwNy4yIDMzLjgtMTcxLjYtNTAuOC0xMzUuMy0xMTAuOC0zMy4yIDIxLjYtMzMuNyA3MS4yLTI5LjIgOTIuOS0xNy45LTEyLjQtNTMuOC0zMi40LTU3LjQtNzkuOC0zLTM5LjkgMjEuNS03NS43IDU3LTkzLjkgMzAuNi0xNS44IDEwMy41LTguNSAxMzMuNiA0MC44LTE0LjEtNDgtNTMuOC03MC4xLTEwMS44LTc0LjggMzAuOS0zMC43IDY0LjQtNTAuMyAxMTQuMi00My43IDY5LjggOS4zIDEzMy4yIDgyLjggNjcuNyAxNTAuNSAzNS0xNi4zIDQ4LjctNTQuNCA0Ny41LTc2LjlsMTAuNSAxOS42YzExLjggMjIgMTUuMiA0Ny42IDkuNCA3Mi05LjIgMzktNDAuNiA2OC44LTc5LjcgNzYuNS0zMi4xIDYuMy04My4xLTUuMS05MS44LTU5LjJ6TTE0MCAyMDhsLTM5LjggMGMtOC45IDAtMTYuMi03LjMtMTYuMi0xNi4ybDAtMzkuNmMwLTguOSA3LjMtMTYuMiAxNi4yLTE2LjJsMzkuOCAwYzguOSAwIDE2LjIgNy4zIDE2LjIgMTYuMmwwIDM5LjZjMCA4LjktNy4zIDE2LjItMTYuMiAxNi4yek0yMi4xIDE2OGMtNS42IDAtMTAuMS00LjUtMTAuMS0xMC4xbDAtMjcuOGMwLTUuNiA0LjUtMTAuMSAxMC4xLTEwLjFsMjcuNyAwYzUuNSAwIDEwLjEgNC41IDEwLjEgMTAuMWwwIDI3LjhjMCA1LjYtNC41IDEwLjEtMTAuMSAxMC4xbC0yNy43IDB6TTE4MCAxNDIuN2wwLTIxLjRjMC01LjEgNC4yLTkuMyA5LjMtOS4zbDIxLjQgMGM1LjEgMCA5LjMgNC4yIDkuMyA5LjNsMCAyMS40YzAgNS4xLTQuMiA5LjMtOS4zIDkuM2wtMjEuNCAwYy01LjEgMC05LjMtNC4yLTkuMy05LjN6TTY4IDIzNS41bDAgMjVjMCA2LjMtNS4xIDExLjUtMTEuNCAxMS41bC0yNS4yIDBjLTYuMyAwLTExLjQtNS4yLTExLjQtMTEuNWwwLTI1YzAtNi4zIDUuMS0xMS41IDExLjQtMTEuNWwyNS4xIDBjNi40IDAgMTEuNSA1LjIgMTEuNSAxMS41eiJdfSxGa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZHJlYWRzIixpY29uOls0NDgsNTEyLFtdLCJmM2E4IiwiTTI5OS45IDE5MS4yYzUuMSAzNy4zLTQuNyA3OS0zNS45IDEwMC43LTIyLjMgMTUuNS01Mi44IDE0LjEtNzAuOCA1LjctMzcuMS0xNy4zLTQ5LjUtNTguNi00Ni44LTk3LjIgNC4zLTYwLjkgNDAuOS04Ny45IDc1LjMtODcuNSA0Ni45LS4yIDcxLjggMzEuOCA3OC4yIDc4LjN6TTQ0OCA4OGwwIDMzNmMwIDMwLjktMjUuMSA1Ni01NiA1Nkw1NiA0ODBjLTMwLjkgMC01Ni0yNS4xLTU2LTU2TDAgODhDMCA1Ny4xIDI1LjEgMzIgNTYgMzJsMzM2IDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZ6TTMzMCAzMTMuMnMtLjEtMzQtLjEtMjE3LjNsLTI5IDAgMCA0MC4zYy0uOCAuMy0xLjItLjUtMS42LTEuMi05LjYtMjAuNy0zNS45LTQ2LjMtNzYtNDYtNTEuOSAuNC04Ny4yIDMxLjItMTAwLjYgNzcuOC00LjMgMTQuOS01LjggMzAuMS01LjUgNDUuNiAxLjcgNzcuOSA0NS4xIDExNy44IDExMi40IDExNS4yIDI4LjktMS4xIDU0LjUtMTcgNjktNDUuMiAuNS0xIDEuMS0xLjkgMS43LTIuOSAuMiAuMSAuNCAuMSAuNiAuMiAuMyAzLjggLjIgMzAuNyAuMSAzNC41LS4yIDE0LjgtMiAyOS41LTcuMiA0My41LTcuOCAyMS0yMi4zIDM0LjctNDQuNSAzOS41LTE3LjggMy45LTM1LjYgMy44LTUzLjItMS4yLTIxLjUtNi4xLTM2LjUtMTktNDEuMS00MS44LS4zLTEuNi0xLjMtMS4zLTIuMy0xLjNsLTI2LjggMGMuOCAxMC42IDMuMiAyMC4zIDguNSAyOS4yIDI0LjIgNDAuNSA4Mi43IDQ4LjUgMTI4LjIgMzcuNCA0OS45LTEyLjMgNjcuMy01NC45IDY3LjQtMTA2LjN6Il19LEJrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aWRhbCIsaWNvbjpbNjQwLDUxMixbXSwiZTdkYyIsIk0xMDcuMiA0OGwtMS4zIDBjLTMyLjMgMzMuMS02NS40IDY1LjUtOTggOTguNS0yLjYgMi44LTYuMSA1LjEtNy45IDguNiAzNS42IDM1LjQgNzEgNzEgMTA2LjYgMTA2LjQgMzUuNC0zNS4zIDcwLjctNzAuOCAxMDYuMS0xMDYuMWwwLTEuMy03My4yLTczLjJDMTI4LjggNjkuOCAxMTcuMyA1OS42IDEwNy4yIDQ4em0yMTMuNSAwbC0xLjMgMGMtMzQuOSAzNi4xLTcxLjUgNzEtMTA2LjMgMTA3LjIgMzUuOSAzNS4xIDcxIDcxIDEwNi43IDEwNi4zIDM0LjMtMzQuMSA2OC40LTY4LjQgMTAyLjYtMTAyLjQgMS41LTEuNSAzLjMtMi44IDQuMS00LjgtMzQuNi0zMy44LTY4LjQtNjguMi0xMDIuNi0xMDIuMS0xLjMtMS4zLTIuMy0yLjYtMy4zLTQuMXptMjEzLjUgMGwtMS4zIDBjLTE3LjIgMTgtMzUuMSAzNS4zLTUyLjYgNTMtMTcuOSAxNy43LTM1LjQgMzUuNy01My41IDUzLjMgLjggMi4zIDMgMy42IDQuNiA1LjVMNTMzLjMgMjYxLjVjMzYuMS0zNC45IDcwLjgtNzEuMiAxMDYuNy0xMDYuMS0uNS0yLjItMi42LTMuNS00LTVMNTU1LjggNzAuMmMtNy4xLTcuNC0xNC45LTE0LjItMjEuNS0yMi4yek0zMTkuNiAyNjEuN2MtMzQuOSAzNS4xLTcwIDcwLTEwNC45IDEwNC45LS4zIC43LS43IDEuNy0xIDIuMyAyNCAyMy43IDQ3LjcgNDcuNSA3MS41IDcxLjMgMTEuOCAxMS4zIDIyLjggMjMuNSAzNC45IDM0LjQgOC40LTcuNCAxNi40LTE2LjQgMjQuNy0yNC4zIDI1LjUtMjUuMyA1MS01MSA3Ni41LTc2LjMgMS44LTIuMiA0LjMtMy42IDUuNS02LjMtMzUuNC0zNC45LTcwLjUtNzAuMi0xMDUuNi0xMDUuNGwtMS41LS43eiJdfSxIa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW5pdHkiLGljb246WzQ0OCw1MTIsW10sImUwNDkiLCJNMjQzLjYgOTEuNmw4MC4xIDQ2LjhjMi45IDEuNiAzIDYuMiAwIDcuOGwtOTUuMiA1NS42Yy0yLjkgMS43LTYuMyAxLjYtOSAwbC05NS4yLTU1LjZjLTIuOS0xLjYtMy02LjMgMC03LjhsODAuMS00Ni44IDAtOTEuNi0yMDQuNCAxMTkuNCAwIDIzOC44IDc4LjQtNDUuOCAwLTkzLjZjLS4xLTMuMyAzLjgtNS43IDYuNy0zLjlsOTUuMiA1NS42YzIuOSAxLjcgNC41IDQuNyA0LjUgNy44bDAgMTExLjJjLjEgMy4zLTMuOCA1LjctNi43IDMuOUw5OCAzNDYuOCAxOS42IDM5Mi42IDIyNCA1MTIgNDI4LjQgMzkyLjYgMzUwIDM0Ni44IDI2OS45IDM5My42Yy0yLjggMS43LTYuOC0uNS02LjctMy45bDAtMTExLjJjMC0zLjMgMS44LTYuMyA0LjUtNy44TDM2Mi45IDIxNWMyLjgtMS43IDYuOCAuNSA2LjcgMy45bDAgOTMuNiA3OC40IDQ1LjggMC0yMzguOC0yMDQuNC0xMTkuNCAwIDkxLjZ6Il19LHFrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0ZW5jZW50LXdlaWJvIixpY29uOlszMjAsNTEyLFtdLCJmMWQ1IiwiTTQwLjUgNDk1LjhjMS40IDE5LjktMjcuNiAyMi4yLTI5LjcgMi45LTExLjYtMTI5LjkgMzEuMS0yMzkuNSAxMDEuNC0zMTMuMi0xNS42LTM0IDkuMi03Ny4xIDUwLjYtNzcuMSAzMC4zIDAgNTUuMSAyNC42IDU1LjEgNTUuMSAwIDQ0LTQ5LjUgNzAuOC04Ni45IDQ1LjEtNjUuNyA3MS4zLTEwMS40IDE2OS44LTkwLjUgMjg3LjJ6TTE2MC4yIC4xYy0xMjUuOSAwLTIwNC4zIDEzNC4yLTE0OC4zIDI0Mi4zIDguNyAxNy40IDM1LjMgNC41IDI2LjMtMTMuNC00Ni4zLTkyLjYgMjEtMTk5LjIgMTIyLTE5OS4yIDc1LjQgMCAxMzYuOSA2MS40IDEzNi45IDEzNi45IDAgOTAuOC04Ni45IDE1My45LTE2Ny43IDEzMy4xLTE5LjEtNC4xLTI1LjYgMjQuNC02LjYgMjkuMSAxMTAuNyAyMy4yIDIwNC02MCAyMDQtMTYyLjMgMC05MS45LTc0LjYtMTY2LjUtMTY2LjYtMTY2LjV6Il19LFZrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmcmVlLWNvZGUtY2FtcCIsaWNvbjpbNTc2LDUxMixbXSwiZjJjNSIsIk05Ny40IDk2LjJjMTAuNC0xMC42IDE2LTE3LjEgMTYtMjEuOSAwLTIuOC0xLjktNS41LTMuOC03LjQtMi40LTEuOC01LjQtMi44LTguNC0yLjgtOC41IDAtMjAuOSA4LjgtMzUuOCAyNS43LTQxLjUgNDcuMy02Mi43IDkzLjEtNjEuOCAxNjAuNlMyMSAzNjcuMyA1Ny42IDQxMi4yYzE4LjggMjMuNiAzMy4yIDM1LjggNDMuNSAzNS44IDMuMi0uMyA2LjEtMS42IDguNC0zLjggMS45LTIuOCAzLjgtNS42IDMuOC04LjQgMC01LjYtMy45LTEyLjItMTMuMi0yMC42LTQ0LjUtNDIuMy02Ny4zLTk3LTY3LjUtMTY1LS4yLTYxLjQgMjEuNi0xMTIuNCA2NC44LTE1NHpNMjM5LjYgNDIwLjFjLjYgLjQgLjkgLjYgLjkgLjZsLS45LS42em05My44IC42bC4yLS4xYy0uMiAuMS0uMyAuMi0uMiAuMXptMy4xLTE1OC4yYy0xNi4yLTQuMiA1MC40LTgyLjktNjguMS0xNzcuMiAwIDAgMTUuNSA0OS40LTYyLjggMTU5LjYtNzQuMyAxMDQuNCAyMy41IDE2OC43IDM0IDE3NS4yLTYuNy00LjMtNDcuNC0zNS43IDkuNi0xMjguNiAxMS0xOC4zIDI1LjUtMzQuOSA0My41LTcyLjIgMCAwIDE1LjkgMjIuNCA3LjYgNzEuMS0xMi41IDczLjYgNTMuOCA1Mi41IDU0LjggNTMuNSAyMi44IDI2LjgtMTcuNyA3My41LTIxLjYgNzYuNiA1LjUtMy43IDExNy43LTc4IDMzLTE4OC4xLTYgNi0xMy44IDM0LjItMzAgMzAuMXpNNTExIDg5LjdjLTE0LjktMTYuOS0yNy40LTI1LjctMzUuOS0yNS43LTMgLjEtNS45IDEuMS04LjQgMi44LTEuOSAxLjktMy44IDQuNy0zLjggNy40IDAgNC44IDUuNiAxMS4zIDE2IDIxLjkgNDMuMiA0MS42IDY1IDkyLjYgNjQuOCAxNTQuMS0uMiA2OC0yMyAxMjIuNi02Ny41IDE2NS05LjMgOC40LTEzLjIgMTQuOS0xMy4yIDIwLjYgMCAyLjcgMS45IDUuNiAzLjggOC40IDIuMyAyLjIgNS4yIDMuNiA4LjQgMy44IDEwLjMgMCAyNC43LTEyLjEgNDMuNS0zNS44IDM2LjYtNDQuOSA1My4xLTk0LjQgNTQuMS0xNjEuOVM1NTIuNSAxMzcgNTExIDg5Ljd6Il19LGprdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ4LXR3aXR0ZXIiLGljb246WzQ0OCw1MTIsW10sImU2MWIiLCJNMzU3LjIgNDhMNDI3LjggNDggMjczLjYgMjI0LjIgNDU1IDQ2NCAzMTMgNDY0IDIwMS43IDMxOC42IDc0LjUgNDY0IDMuOCA0NjQgMTY4LjcgMjc1LjUtNS4yIDQ4IDE0MC40IDQ4IDI0MC45IDE4MC45IDM1Ny4yIDQ4ek0zMzIuNCA0MjEuOGwzOS4xIDAtMjUyLjQtMzMzLjgtNDIgMCAyNTUuMyAzMzMuOHoiXX0sVWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0aWNrZXItbXVsZSIsaWNvbjpbNTc2LDUxMixbXSwiZjNmNyIsIk01NjEuNyAxOTkuNmwwIDB6bS02LjItNzcuNGMtNy43LTIyLjMtNS4xLTcuMi0xMy40LTM2LjktMS42LTYuNS0zLjYtMTQuNS02LjItMjAtNC40LTguNy00LjYtNy41LTQuNi05LjUgMC01LjMgMzAuNy00NS4zIDE5LTQ2LjktNS43LS42LTEyLjIgMTEuNi0yMC42IDE3LTguNiA0LjItOCA1LTEwLjMgNS0yLjYgMC01LjctMy02LjItNS0yLTUuNyAxLjktMjUuOS0zLjYtMjUuOS0zLjYgMC0xMi4zIDI0LjgtMTcgMjUuOC01LjIgMS4zLTI3LjktMTEuNC03NS4xIDE4LTI1LjMgMTMuMi04Ni45IDY1LjItODcgNjUuMy02LjcgNC43LTIwIDQuNy0zNS41IDE2LTQ0LjQgMzAuMS0xMDkuNiA5LjQtMTEwLjcgOS0xMTAuNi0yNi44LTEyOC0xNS4yLTE1OSAxMS41LTIwLjggMTcuOS0yMy43IDM2LjUtMjQuMiAzOC45LTQuMiAyMC40IDUuMiA0OC4zIDYuNyA2NC4zIDEuOCAxOS4zLTIuNyAxNy43IDcuNyA5OC4zIC41IDEgNC4xIDAgNS4xIDEuNSAwIDguNC0zLjggMTIuMS00LjEgMTMtMS41IDQuNS0xLjUgMTAuNSAwIDE2IDIuMyA4LjIgOC4yIDM3LjIgOC4yIDQ2LjkgMCA0MS44IC40IDQ0IDIuNiA0OS40IDMuOSAxMCAxMi41IDkuMSAxNyAxMiAzLjEgMy41LS41IDguNSAxIDEyLjUgLjUgMiAzLjYgNCA2LjIgNSA5LjIgMy42IDI3IC4zIDI5LjktMi41IDEuNi0xLjUgLjUtNC41IDMuMS01IDUuMSAwIDEwLjgtLjUgMTQuNC0yLjUgNS4xLTIuNSA0LjEtNiAxLjUtMTAuNS0uNC0uOC03LTEzLjMtOS44LTE2LTIuMS0yLTUuMS0zLTcuMi00LjUtNS44LTQuOS0xMC4zLTE5LjQtMTAuMy0xOS41LTQuNi0xOS40LTEwLjMtNDYuMy00LjEtNjYuOCA0LjYtMTcuMiAzOS41LTg3LjcgMzkuNi04Ny44IDQuMS02LjUgMTctMTEuNSAyNy4zLTcgNiAxLjkgMTkuMyAyMiA2NS40IDMwLjkgNDcuOSA4LjcgOTcuNC0yIDExMi4yLTIgMi44IDItMS45IDEzLS41IDM4LjkgMCAyNi40LS40IDEzLjctNC4xIDI5LjktMi4yIDkuNyAzLjQgMjMuMi0xLjUgNDYuOS0xLjQgOS44LTkuOSAzMi43LTguMiA0My40IC41IDEgMSAyIDEuNSAzLjUgLjUgNC41IDEuNSA4LjUgNC42IDEwIDcuMyAzLjYgMTItMy41IDkuOCAxMS41LS43IDMuMS0yLjYgMTIgMS41IDE1IDQuNCAzLjcgMzAuNiAzLjQgMzYuNSAuNSAyLjYtMS41IDEuNi00LjUgNi40LTcuNCAxLjktLjkgMTEuMy0uNCAxMS4zLTYuNSAuMy0xLjgtOS4yLTE5LjktOS4zLTIwLTIuNi0zLjUtOS4yLTQuNS0xMS4zLTgtNi45LTEwLjEtMS43LTUyLjYgLjUtNTkuNCAzLTExIDUuNi0yMi40IDguNy0zMi40IDExLTQyLjUgMTAuMy01MC42IDE2LjUtNjguMyAuOC0xLjggNi40LTIzLjEgMTAuMy0yOS45IDkuMy0xNyAyMS43LTMyLjQgMzMuNS00Ny40IDE4LTIyLjkgMzQtNDYuOSA1Mi02OS44IDYuMS03IDguMi0xMy43IDE4LTggMTAuOCA1LjcgMjEuNiA3IDMxLjkgMTcgMTQuNiAxMi44IDEwLjIgMTguMiAxMS44IDIyLjkgMS41IDUgNy43IDEwLjUgMTQuOSA5LjUgMTAuNC0yIDEzLTIuNSAxMy40LTIuNSAyLjYtLjUgNS43LTUgNy4yLTggMy4xLTUuNSA3LjItOSA3LjItMTYuNSAwLTcuNy0uNC0yLjgtMjAuNi01Mi45eiJdfSxXa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidHdpdGNoIixpY29uOls0NDgsNTEyLFtdLCJmMWU4IiwiTTM1OS40IDEwMy41bC0zOC42IDAgMCAxMDkuNyAzOC42IDAgMC0xMDkuN3pNMjUzLjIgMTAzbC0zOC42IDAgMCAxMDkuOCAzOC42IDAgMC0xMDkuOHpNODkgMGwtOTYuNSA5MS40IDAgMzI5LjIgMTE1LjggMCAwIDkxLjQgOTYuNS05MS40IDc3LjMgMCAxNzMuOC0xNjQuNiAwLTI1Ni0zNjYuOSAwek00MTcuMyAyMzcuOGwtNzcuMiA3My4xLTc3LjIgMC02Ny42IDY0IDAtNjQtODYuOSAwIDAtMjc0LjMgMzA4LjkgMCAwIDIwMS4yeiJdfSxHa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToia2lja3N0YXJ0ZXItayIsaWNvbjpbNDQ4LDUxMixbXSwiZjNiYyIsIk0zNTYuNyAyNTYuMmw0MC44LTQwLjVjNDIuMi00MS45IDQyLjItMTEwLjMgMC0xNTIuMXMtMTExLTQxLjktMTUzLjIgMEwyMjkuMyA3OC40QzIwOS42IDUwLjMgMTc3LjEgMzIgMTQwLjIgMzIgODAuNSAzMiAzMiA4MC4yIDMyIDEzOS41bDAgMjMzYzAgNTkuNCA0OC41IDEwNy41IDEwOC4yIDEwNy41IDM3LjEgMCA2OS4zLTE4LjMgODktNDYuNGwxNC45IDE0LjdjNDIuMiA0MS45IDExMSA0MS45IDE1My4yIDBzNDIuMi0xMTAuMyAwLTE1Mi4xbC00MC44LTQwIC4xIDB6Il19LFlrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcml0aWNhbC1yb2xlIixpY29uOls0NDgsNTEyLFtdLCJmNmM5IiwiTTIyNS44IDBjLjMgLjIgMjE2LjYgMTI0LjUgMjE3LjEgMTI0LjcgMyAxLjIgMy43IDMuNSAzLjcgNi42LS4xIDgzLjQtLjEgMTY2LjkgMCAyNTAuNCAuMSAxLjItLjIgMi40LS44IDMuNHMtMS41IDEuOS0yLjYgMi40Yy0yMS40IDEyLTIwNy45IDExOC4zLTIxOC45IDEyNC42bC0zIDBjLTc5LjMtNDUuNy0yMTguMy0xMjUuNC0yMTguNC0xMjUuNS0uNi0uMy0xLjEtLjctMS40LTEuM3MtLjUtMS4yLS40LTEuOWMwLS45IDAtMjI1LjktLjEtMjUzLjEtLjEtMSAuMi0yIC43LTIuOXMxLjMtMS42IDIuMi0yQzI3LjIgMTEyLjEgMjEzLjIgNiAyMjQuMSAwbDEuOCAwek0yMTUuNCAyMC40bC0uMi0uMmMtNjQuNyAzNi45LTEyOS41IDczLjctMTk0LjIgMTEwLjYgMCAuMSAuMSAuMiAuMSAuNEw1MiAxNDIuOWMtNy43IDYtOC4zIDYtMTAuNiA1LjEtLjEgMC0yNC4yLTkuMy0yNi44LTEwbDAgMjMwLjRjLjktMS40IDY0LjEtMTEwLjkgNjQuMS0xMTEgMS42LTIuOCAzLTEuOSA5LjEtMS41IDEuNCAuMSAxLjUgLjIgLjggMS40LTQxLjIgNzEuMy0zNi40IDYzLTY3LjUgMTE2LjktLjggMS40LS42IDEuMSAxLjIgMS4xbDE4Ni41IDBjMS40IDAgMS43LS4yIDEuNy0xLjZsMC04LjljMC0xLjMgMi40LS44LTE4LjQtMS03LjUtLjEtMTQuMS0zLjItMjEuNC0xMi43LTcuNC05LjctMTQuNi0xOS40LTIxLjgtMjkuMi0yLjMtMy4xLTMuNC0yLjQtMTYuOC0yLjQtMS44IDAtMS44IDAtMS44IDEuOCAuMyAyNi4yIC4yIDI1LjMgMSAzMi43IC41IDQuNCAyLjIgNC4yIDkuNyA0LjggMy4xIC4zIDMuOSA0LjEgLjUgNC45LTEuNiAuNC0zMS42IC41LTMzLjctLjEtLjUtLjEtMS0uNS0xLjMtLjlzLS41LTEtLjQtMS42IC4zLTEuMSAuNi0xLjUgLjktLjcgMS40LS44YzMuMy0uOCA2LjIgLjggNi43LTQuNCAxLjMtMTMuNyAxLjItOSAxLjEtNzkuNCAwLTEwLjgtLjQtMTIuNi01LjQtMTMuNi0xLjItLjItMy41LS4yLTQuNy0uNi0yLjktMS0yLTQuOCAxLjgtNC44IDMzLjcgMCA0Ni4xLTEuMSA1Ni4xIDQuOSA3LjcgNC42IDEyIDExLjUgMTIuNSAyMC40IC45IDE0LjYtNi41IDIyLjMtMTUgMzIuNi0uMiAuMS0uMyAuMy0uNCAuNXMtLjEgLjQtLjEgLjYgMCAuNCAuMSAuNiAuMiAuNCAuNCAuNWMyLjYgMy4yIDUgNi42IDcuNyA5LjggMjcuNiAzMy4yIDI0LjEgMzAuNSA0MS4zIDMzLjEgLjkgLjEgMS0uNCAxLTEuMmwwLTExYzAtMSAuMy0xLjQgMS40LTEuMyA3LjggMS4yIDE1LjggMS4xIDIzLjYtLjMgMS4xLS4xIDEuNSAuMiAxLjUgMS4zIDAgLjEgLjkgMjYuNyAuOSAyNi44IDAgMS41IC43IDEuNiAxLjkgMS42bDE4Ni43IDBjLTI3LjItNDctNTQuMi05NC04MS4yLTE0MC44IDIuMy0uNy0uNCAwIDYuNy0xLjQgMi0uNCAyLjEtLjQgMy4xIDEuNCA3LjMgMTIuNiA3Ny4zIDEzNCA3Ny40IDEzNC4xbDAtMjMwLjRjLTEuNyAuNS0xMDMuMyAzOC43LTEwNS44IDM5LjctMS4xIC40LTEuNSAuMi0xLjktLjktLjYtMS45LTEuMy0zLjgtMi4xLTUuNi0uMy0uOC0uMS0xLjEgLjYtMS40IC4xIDAgOTUuNS0zNS44IDEwMy0zOC44LTY1LjQtMzcuNi0xMzAuNi03NS0xOTYtMTEyLjZsODYuOCAxNTAuNC0uMyAuM2MtOS42LS45LTEwLjUtMS42LTExLjgtMy45LTEtMS43LTczLjUtMTI3LjctODItMTQyLjItOS4xIDE0LjctODMuNiAxNDYuMi04NS40IDE0Ni4zLTIuOSAuMi01LjkgLjEtOS4yIC4xIDI4LjgtNDkuOCA1Ny42LTk5LjUgODYuMi0xNDlsMCAwem01MS45IDEyOS45YzEuOS0uMSAzLjctLjQgNS41LS44IDEuNy0uMyAyLjUgLjIgMi42IDEuOSAwIC4xIC4xIDE5LjEtLjkgMjAuNXMtMS45IDEuMi0yLjYtLjJjLTUtOS43IDYuMi05LjctMzkuMS0xMi0uNyAwLTEgLjItMSAuOSAwIC4xIDMuNyAxMjIgMy43IDEyMi4xIDAgLjkgLjUgMS4yIDEuMiAxLjUgMyAxLjIgNS45IDIuNSA4LjcgNCA3LjMgNC4zIDExLjQgMTAuOCAxMi40IDE5LjMgMS40IDExLjgtMi44IDM1LjgtMzIuMiAzNy4xLTIuOCAuMS0yOC4zIDEuMS0zNC4xLTIzLjMtNC43LTE5LjMgOC4zLTMyLjcgMTkuOS0zNi40IC42LS4xIDEuMi0uNCAxLjUtLjlzLjUtMS4xIC41LTEuN2MuMS01LjYgMy0xMDcuMSAzLjctMTIxLjMgMC0xLjEtLjYtMS4yLTEuNC0xLjEtMzIuMyAuNS0zNi43LS4zLTQwLjIgOC41LTIuNCA2LjItNC4xIDEuMy00IC4yIDEuMS02IDIuMi0xMiAzLjMtMTggLjQtMi4xIDEuNC0yLjYgMy40LTEuOSA1LjYgMi4xIDYuNyAxLjcgMzcuMiAxLjkgMS43IDAgMS44LS4xIDEuOC0xLjggLjctMjcuNSAuNi0yMi42IDEtMjkuNiAuMS0uNi0uMS0xLjItLjMtMS43cy0uNy0uOS0xLjMtMS4xYy01LjYtMi45LTguOC03LjYtOC45LTEzLjktLjQtMTQuOCAxNy43LTIxLjcgMjcuNC0xMS41IDYuOCA3LjIgNS44IDE4LjktMi41IDI0LjItLjggLjQtMS40IDEuMS0xLjggMS44cy0uNiAxLjYtLjQgMi41YzAgLjYtLjEtNC4zIDEgMzAgMCAuOSAuNCAxLjEgMS4yIDEuMSAuMSAwIDIzLS4xIDM0LjUtLjRsMC0uMXpNNjguMyAxNDEuN2MxOS44LTQuNSAzMi43LS42IDUyLjUgMS43IDIuOCAuMyAzLjcgMS4yIDMuNiA0LS4yIDUtMS4yIDIyLjMtMS4yIDIzLjEgMCAuNS0uMiAxLS41IDEuNHMtLjcgLjctMS4yIC45Yy00LjEgMS43LTMuNi00LjQtNC03LjMtMy4xLTIyLjQtNzMuOS0zMi43LTc0LjYgMjUuNC0uMyAyMy45IDE3IDUzLjYgNTQuMSA1MC45IDI3LjItMiAxOS0yMC4yIDI0LjgtMjAuNSAuNC0uMSAuOSAwIDEuMyAuMXMuOCAuNCAxLjEgLjcgLjUgLjcgLjYgMS4yIC4xIC45IDAgMS4zYy0xLjggMTAuOC0zLjQgMTktMy40IDE5LjItMS41IDkuMi04Ni43IDIyLjEtOTMuNC00Mi4xLTIuNy0yNS44IDEwLjQtNTMuNCA0MC4zLTYwLjJ6bTgwIDg3LjdsLTE5LjUgMGMtLjYgMC0xLjItLjEtMS42LS40cy0uOC0uOC0xLTEuNGMyLjQtMy44IDUuOSAuOSA1LjktNi4xLS4xLTI1LjggLjItMzggLjItNDAuMSAwLTMuNC0uNS00LjYtMy4zLTQuOS03LS43LTMuMS0zLjQtMS4xLTMuNCAxMS44LS4xIDIyLjYtLjIgMzAgLjcgOC44IDEuMSAxNi43IDEyLjYgNy45IDIyLjYtMiAyLjItNCA0LjQtNi4xIDYuNyAxIDEuMiA2LjkgOC44IDE3LjMgMTkuNyAyLjcgMi44IDYuMiAzLjUgOS45IDMuMSAuNiAwIDEuMS0uMiAxLjUtLjZzLjctLjkgLjctMS41Yy4zLTMuNCAuMyA0LjcgLjQtNDAuNiAwLTUuNi0uMy02LjYtMy4yLTYuOC00LS40LTQtMi4zLS43LTMuNGwxOS4xLS4xYy4zIDAgNC41IC41IDEgMy40IDAgMC0uMiAwLS4yIDAtMy42IC4zLTMuOSAxLTQgNC42LS4zIDQzLjkgLjEgNDAuMiAuNCA0Mi44IC4xIC44IC4zIDIuMiA1LjEgMi4xIDIuNSAwIDMuOSAzLjQgMCAzLjQtMTAuNCAuMS0yMC43IDAtMzEuMSAuMS0xMC43IDAtMTMuNS02LjItMjQuMi0yMC44LTEuNi0yLjItOC4zLTIuNC04LjItLjQgLjkgMTYuNSAwIDE3LjggNCAxNy43IDQuOC0uMSA0LjcgMy42IC44IDMuNWwuMSAwem0yNzUtMTAuMWMtMS4yIDcuMSAuMiAxMC40LTUuMyAxMC4zLTYxLjUtLjQtNDcuOC0uMi01MC43LS4zLTEuMi0uMS0yLjQtLjQtMy42LS43LTIuNS0uNiAxLjUtMS4yLS40LTUuNi0xLjQtMy40LTIuOC02LjgtNC4xLTEwLjItLjEtLjQtLjQtLjgtLjctMS4xcy0uOC0uNC0xLjMtLjRjLTQuOS0uMi05LjctLjItMTQuNiAuMS0uMyAwLS42IC4yLS45IC4zcy0uNSAuNC0uNyAuN2MtMS42IDMuNi0zLjEgNy4zLTQuNSAxMS0xLjMgMy4yIDcuOSAxLjMgMTIuMiAyLjIgMyAuNiA0LjUgMy43IC43IDMuN2wtMjYuNCAwYy0yLjkgMC0zLjEtMy4yLS43LTMuMiAxLjIgLjEgMi40LS4yIDMuNS0uOXMxLjktMS41IDIuNC0yLjZjMS41LTMgMi44LTYgNC4xLTkuMSAxOC4yLTQyLjEgMTcuMS00MC4yIDE4LjQtNDEuNiAuMi0uMiAuNC0uNCAuNy0uNnMuNi0uMiAuOC0uMiAuNiAuMSAuOCAuMiAuNSAuMyAuNyAuNmMyLjkgMy4zIDE4LjQgNDQuNyAyMy42IDUxLjkgMiAyLjcgNS43IDIgNi40IDIgMy42IC4xIDQtMS4xIDQuMS00LjMgLjEtMS45IC4xIDEuMiAuMS00MS4yIDAtNC41LTIuNC0zLjctNS42LTQuMy0uMyAwLTIuNi0uNi0uMS0zLjEgLjItLjItLjktLjIgMjEuNy0uMiAyLjMgMCA1LjMgMi44LTEuMiAzLjQtLjQgMC0uNyAwLTEuMSAuMnMtLjYgLjMtLjkgLjYtLjQgLjYtLjYgLjktLjIgLjctLjEgMS4xYy0uMSAxLjYtLjIgMzguOSAuMyA0MS4yIC4yIC43IC42IDEuNCAxLjIgMS44czEuMyAuNyAyLjEgLjZjMTMuMyAuNCAxNC45IC40IDE2LTMuNCAxLjctNS44IDQuMS0yLjUgMy43LS4ybDAgLjF6TTMxOC42IDI4My42Yy00LjIgMC00LjQtMy40LS42LTMuNCAzNS45LS4yIDI4LjEgLjQgMzcuMi0uNiAxLjctLjIgMi40IC4yIDIuMyAxLjktLjMgMy40LS42IDYuOC0xIDEwLjItLjIgMi4yLTMuMiAyLjYtMy40LS4yLS40LTUuMy0yLjItNC41LTE1LjYtNS4xLTEuNi0uMS0xLjYgMC0xLjYgMS41bDAgMTYuMWMwIDEuNyAwIDEuNiAxLjYgMS41IDMuMS0uMiAxMC4zIC4zIDE1LjctMS41IC41LS4yIDMuMy0xLjggMy4xIDEuOCAwIC4yLS44IDEwLjQtMS4yIDExLjQtLjUgMS4zLTEuOSAxLjUtMi42IC4zLTEuMi0yIDAtNS4xLTMuNy01LjMtMTUuNC0uOS0xMi45LTIuNS0xMi45IDYgMCAxMi4zLS44IDE2LjEgMy45IDE2LjIgMTYuNiAuNSAxNC40IDAgMTYuNC01LjcgLjgtMi40IDMuNS0xLjggMy4yIC42LS40IDMuMi0uOCA2LjQtMS4yIDkuNiAwIC40LS4yIDIuNC00LjcgMi40LTM3LjItLjEtMzQuNS0uMi0zNS4yLS4zLTIuNy0uNS0yLjItMyAuMi0zLjQgMS4xLS4yIDQgLjUgNC4yLTIuNiAyLjQtNTYuMi0uMS01MS4zLTMuOS01MS4zbDAgMHptLS40LTEwOS41YzIuNSAuNiAzLjEgMS44IDMgNC42LS4zIDUuMy0uMyA5LS42IDkuNy0uNyAyLjItMy4xIDIuMS0zLjMtLjMtLjQtNC44LTMtNy44LTcuNi05LjEtMjYuMy03LjctMzIuOCAxNS41LTI3LjIgMzAuMiA1LjkgMTUuNCAyMiAxNS45IDI4LjkgMTMuOCA1LjktMS45IDUuOS02LjUgNi45LTcuNiAxLjItMS4zIDIuMi0xLjggMy4xIDEuMSAwIC4xIC42IDExLjktNiAxMi43LTEuNiAuMi0xOS40IDMuNy0zMi43LTMuNC0yMS0xMS4yLTE2LjctMzUuNS02LjktNDUuMyAxNC0xNC4xIDM5LjktNy4xIDQyLjMtNi41bDAgMHpNMjg5LjggMjgwLjFjMy4zIDAgMy43IDMgLjIgMy40LTIuNiAuMy01LS40LTUgNS41IDAgMi0uMiAyOSAuNCA0MS40IC4xIDIuMyAxLjIgMy41IDMuNCAzLjcgMjIgMS4yIDE1LTEuNyAxOC44LTYuMyAxLjgtMi4yIDIuOCAuOCAyLjggMS4xIC4zIDEzLjYtNCAxMi40LTUuMiAxMi40bC0zOC4yLS4yYy0xLjktLjItMi4xLTMtLjQtMy40IDItLjUgNC45IC40IDUuMS0yLjggMS0xNS45IC42LTQ0LjYgLjMtNDcuOC0uMy0zLjgtMi44LTMuMy01LjctMy43LTIuNS0uNC0yLTMuMiAuMy0zLjIgMS40IDAgMTggMCAyMy4xIDB6bS0zMS42LTU3LjhjLjEgNC4xIDIuOSAzLjUgNiAzLjYgMi42IC4xIDIuNSAzLjQtLjEgMy40LTYuNSAwLTEzLjcgMC0yMS42LS4xLTMuOCAwLTMuNC0zLjQgMC0zLjQgNC41IDAgMy4yIDEuNiAzLjQtNDUuNSAwLTUuMS0zLjMtMy41LTQuNy00LjItMi42LTEuMi0xLjQtMy4xIC40LTMuMiAxLjMgMCAyMC4yLS40IDIxLjIgLjJzMS45IDEuNi0uNCAyLjljLTEgLjUtMy45LS4zLTQuMiAyLjUgMCAuMi0uOCAxLjYtLjEgNDMuOGwwIDB6TTIyMS4zIDQ5Ni42Yy41IC4zIDEgLjUgMS42IC41czEuMS0uMiAxLjYtLjVjMTctOS44IDE4Mi0xMDMuNiAxOTcuNC0xMTIuNS0uMS0uNCAxMS4zLS4yLTE4MS41LS4zLTEuMiAwLTEuNiAuNC0xLjUgMS42IDAgLjEgMS4zIDQ0LjUgMS4yIDUwLjQtLjEgMi42LS42IDUuMi0xLjQgNy43LS42IDEuOCAuNC0uNS0xMy41IDMyLjItLjcgMS43LTEgMi4yLTItLjEtNC4yLTEwLjMtOC4zLTIwLjctMTIuNi0zMS0xLjUtMy40LTIuMi03LjEtMi0xMC44IC4yLTIuNSAuOC0xNi4xIDEuNS00OCAwLTEuOSAwLTItMi0ybC0xODMgMGMyLjYgMS42IDE3OC4zIDEwMi42IDE5NiAxMTIuOGwuMSAwek0xMzAuNCAzMDcuOWMwIDIuNCAuNCAyLjggMi44IDMgMTEuNSAxLjIgMjEgMy43IDI1LjYtNy4zIDYtMTQuNSAyLjctMzQuNC0xMi41LTM4LjgtMi0uNi0xNi0yLjgtMTUuOSAxLjUgMCA4IDAgMTEuNiAwIDQxLjZ6bTEwNS44LTE1YzAgMi4xIDEuMSAzOC43IDEuMSAzOS4xIC4zIDkuOS0yNS42IDUuOC0yNS4yLTIuNiAuMS0yIDEuNC0zNy40IDEuMS0zOS40LTE0LjEgNy40LTE0LjQgNDAuMiA2LjQgNDguOCA0IDEuNyA4LjQgMS45IDEyLjUgLjZzNy42LTQgOS45LTcuN2M0LjktNy44IDYuOC0yOS41LTUuNC0zOS0uMSAuMS0uMiAuMS0uNCAuMWwwIDB6bS0xMi4zLTE5OGMtOS44IDAtOS43IDE0LjgtLjEgMTQuOXMxMC4xLTE0LjkgLjEtMTQuOWwwIDB6TTE0My43IDE5OC42YzAgMS44IC40IDIuNCAyLjIgMi42IDEzLjYgMS40IDEyLjUtMTEgMTIuMi0xMy40LTEuNy0xMS4yLTE0LjQtMTAuMi0xNC40LTcuOCAwIDQuNSAwIDEzLjcgMCAxOC42ek0zNTYgMjA1bC02LjEtMTUuOGMtMi4yIDUuNS00LjIgMTAuNi02LjIgMTUuOGwxMi4zIDB6Il19LEtrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdGVhbS1zeW1ib2wiLGljb246WzQ0OCw1MTIsW10sImYzZjYiLCJNMjczLjUgMTc3LjVhNjEgNjEgMCAxIDEgMTIyIDAgNjEgNjEgMCAxIDEgLTEyMiAwem0xNzQuNSAuMmMwIDYzLTUxIDExMy44LTExMy43IDExMy44TDIyNSAzNzEuM2MtNCA0My00MC41IDc2LjgtODQuNSA3Ni44LTQwLjUgMC03NC43LTI4LjgtODMtNjdMMCAzNTggMCAyNTAuNyA5Ny4yIDI5MGMxNS4xLTkuMiAzMi4yLTEzLjMgNTItMTEuNWw3MS0xMDEuN0MyMjAuNyAxMTQuNSAyNzEuNyA2NCAzMzQuMiA2NCAzOTcgNjQgNDQ4IDExNSA0NDggMTc3Ljd6TTIwMyAzNjNjMC0zNC43LTI3LjgtNjIuNS02Mi41LTYyLjUtNC41IDAtOSAuNS0xMy41IDEuNWwyNiAxMC41YzI1LjUgMTAuMiAzOCAzOSAyNy43IDY0LjUtMTAuMiAyNS41LTM5LjIgMzgtNjQuNyAyNy41LTEwLjItNC0yMC41LTguMy0zMC43LTEyLjIgMTAuNSAxOS43IDMxLjIgMzMuMiA1NS4yIDMzLjIgMzQuNyAwIDYyLjUtMjcuOCA2Mi41LTYyLjV6TTQxMC41IDE3Ny43YTc2LjQgNzYuNCAwIDEgMCAtMTUyLjggMCA3Ni40IDc2LjQgMCAxIDAgMTUyLjggMHoiXX0sWmt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1haWxjaGltcCIsaWNvbjpbNDQ4LDUxMixbXSwiZjU5ZSIsIk0zMzEgMjQzLjVjMy4xLS40IDYuMi0uNCA5LjMgMCAxLjctMy44IDItMTAuNCAuNS0xNy42LTIuMi0xMC43LTUuMy0xNy4xLTExLjUtMTYuMXMtNi41IDguNy00LjIgMTkuNGMxLjMgNiAzLjUgMTEuMSA2IDE0LjNsMCAwek0yNzcuNCAyNTJjNC41IDIgNy4yIDMuMyA4LjMgMi4xIDEuOS0xLjktMy41LTkuNC0xMi4xLTEzLjEtNS0yLjEtMTAuNC0yLjgtMTUuOC0yLjJzLTEwLjUgMi43LTE0LjggNS44Yy0zIDIuMi01LjggNS4yLTUuNCA3LjEgLjkgMy43IDEwLTIuNyAyMi42LTMuNSA3LS40IDEyLjggMS44IDE3LjMgMy43bDAgMHptLTkgNS4xYy05LjEgMS40LTE1IDYuNS0xMy41IDEwLjEgLjkgLjMgMS4yIC44IDUuMi0uOCA2LTIuMyAxMi40LTIuOSAxOC43LTEuOSAyLjkgLjMgNC4zIC41IDQuOS0uNSAxLjUtMi4yLTUuNy04LTE1LjQtNi45bDAgMHptNTQuMiAxNy4xYzMuNC02LjktMTAuOS0xMy45LTE0LjMtN3MxMC45IDEzLjkgMTQuMyA3bDAgMHptMTUuNy0yMC41Yy03LjctLjEtOCAxNS44LS4zIDE1LjlzOC0xNS44IC4zLTE2bDAgMHpNMTE5LjUgMzMyLjdjLTEuMyAuMy02IDEuNS04LjUtMi4zLTUuMi04IDExLjEtMjAuNCAzLTM1LjgtOS4xLTE3LjUtMjcuOC0xMy41LTM1LTUuNS04LjcgOS42LTguNyAyMy41LTUgMjQuMSA0LjMgLjYgNC4xLTYuNSA3LjQtMTEuNiAuOS0xLjQgMi4xLTIuNiAzLjUtMy42czMtMS42IDQuNi0yIDMuNC0uNCA1IDAgMy4zIDEgNC43IDEuOWMxMS42IDcuNiAxLjQgMTcuOCAyLjMgMjguNiAxLjQgMTYuNyAxOC40IDE2LjQgMjEuNiA5IC4yLS40IC4zLS44IC4zLTEuMnMtLjItLjgtLjUtMS4xYzAgLjkgLjctMS4zLTMuNC0uNGwwIDB6bTI5OS43LTE3LjFjLTMuMy0xMS43LTIuNi05LjItNi44LTIwLjUgMi40LTMuNyAxNS4zLTI0LTMuMS00My4zLTEwLjQtMTAuOS0zMy45LTE2LjUtNDEuMS0xOC41LTEuNS0xMS40IDQuNi01OC43LTIxLjUtODMgMjAuOC0yMS42IDMzLjgtNDUuMyAzMy43LTY1LjctLjEtMzkuMi00OC4yLTUxLTEwNy40LTI2LjVsLTEyLjUgNS4zYy0uMSAwLTIyLjctMjIuMy0yMy4xLTIyLjYtNjcuNS01OC45LTI3OC44IDE3NS45LTIxMS4zIDIzMi45bDE0LjggMTIuNWMtNCAxMC43LTUuNCAyMi4yLTQuMSAzMy41IDMuNCAzMy40IDM2IDYwLjQgNjcuNSA2MC40IDU3LjcgMTMzLjEgMjY3LjkgMTMzLjMgMzIyLjMgMyAxLjctNC41IDkuMS0yNC42IDkuMS00Mi40cy0xMC4xLTI1LjMtMTYuNS0yNS4zbDAgMHptLTMxNiA0OC4yYy0yMi44LS42LTQ3LjUtMjEuMS00OS45LTQ1LjUtNi4yLTYxLjMgNzQuMy03NS4zIDg0LTEyLjMgNC41IDI5LjYtNC43IDU4LjUtMzQuMSA1Ny44bDAgMHpNODQuNyAyNDkuNmMtMTUuMiAzLTI4LjUgMTEuNS0zNi43IDIzLjUtNC45LTQuMS0xNC0xMi0xNS42LTE1LTEzLTI0LjggMTQuMi03MyAzMy4zLTEwMC4yIDQ3LjEtNjcuMiAxMjAuOS0xMTguMSAxNTUtMTA4LjkgNS41IDEuNiAyMy45IDIyLjkgMjMuOSAyMi45cy0zNC4xIDE4LjktNjUuOCA0NS4zQzEzNi4yIDE1MCAxMDQgMTk3LjcgODQuNyAyNDkuNnpNMzIzLjYgMzUwLjdzLTM1LjcgNS4zLTY5LjUtNy4xYzYuMi0yMC4yIDI3IDYuMSA5Ni40LTEzLjggMTUuMy00LjQgMzUuNC0xMyA1MS0yNS40IDMuNCA3LjggNS44IDE1LjkgNy4xIDI0LjMgMy43LS43IDE0LjItLjUgMTEuNCAxOC4xLTMuMyAxOS45LTExLjcgMzYtMjUuOSA1MC44LTguOSA5LjYtMTkuNCAxNy41LTMxLjIgMjMuMy02LjUgMy40LTEzLjMgNi4zLTIwLjMgOC42LTUzLjUgMTcuNS0xMDguMy0xLjctMTI2LTQzLTEuNC0zLjEtMi42LTYuNC0zLjYtOS43LTcuNS0yNy4yLTEuMS01OS44IDE4LjgtODAuNCAxLjItMS4zIDIuNS0yLjkgMi41LTQuOC0uMi0xLjctLjgtMy4zLTEuOS00LjUtNy0xMC4xLTMxLjItMjcuNC0yNi4zLTYwLjggMy41LTI0IDI0LjUtNDAuOSA0NC4xLTM5LjlsNSAuM2M4LjUgLjUgMTUuOSAxLjYgMjIuOSAxLjkgMTEuNyAuNSAyMi4yLTEuMiAzNC42LTExLjYgNC4yLTMuNSA3LjYtNi41IDEzLjMtNy41IDIuMy0uNiA0LjctLjcgNy0uM3M0LjYgMS4yIDYuNiAyLjVjMTAgNi42IDExLjQgMjIuNyAxMS45IDM0LjUgLjMgNi43IDEuMSAyMyAxLjQgMjcuNiAuNiAxMC43IDMuNCAxMi4yIDkuMSAxNCAzLjIgMSA2LjIgMS44IDEwLjUgMy4xIDEzLjIgMy43IDIxIDcuNSAyNiAxMi4zIDIuNSAyLjUgNC4yIDUuOCA0LjcgOS4zIDEuNiAxMS40LTguOCAyNS40LTM2LjMgMzguMi00Ni43IDIxLjctOTMuNyAxNC40LTEwMC41IDEzLjctMjAuMi0yLjctMzEuNiAyMy4zLTE5LjUgNDEuMSAyMi42IDMzLjQgMTIyLjQgMjAgMTUxLjQtMjEuNCAuNy0xIC4xLTEuNi0uNy0xLTQxLjggMjguNi05Ny4xIDM4LjItMTI4LjUgMjYtNC44LTEuOC0xNC43LTYuNC0xNS45LTE2LjcgNDMuNiAxMy41IDcxIC43IDcxIC43czItMi44LS42LTIuNXpNMTcxLjcgMTU3LjVjMTYuNy0xOS40IDM3LjQtMzYuMiA1NS44LTQ1LjYgLjEtLjEgLjMtLjEgLjUtLjFzLjMgLjEgLjQgLjIgLjIgLjMgLjIgLjQgMCAuMy0uMSAuNWMtMS41IDIuNy00LjMgOC4zLTUuMiAxMi43IDAgLjEgMCAuMyAwIC40cy4yIC4zIC4zIC40IC4zIC4xIC40IC4xIC4zIDAgLjQtLjFjMTEuNS03LjggMzEuNS0xNi4yIDQ5LTE3LjMgLjIgMCAuMyAwIC41IC4xcy4yIC4yIC4zIC40IC4xIC4zIDAgLjUtLjEgLjMtLjMgLjRjLTIuOSAyLjItNS41IDQuOC03LjcgNy43LS4xIC4xLS4xIC4yLS4xIC40czAgLjMgLjEgLjQgLjIgLjIgLjMgLjMgLjIgLjEgLjQgLjFjMTIuMyAuMSAyOS43IDQuNCA0MSAxMC43IC44IC40IC4yIDEuOS0uNiAxLjctNjkuNS0xNS45LTEyMy4xIDE4LjUtMTM0LjUgMjYuOC0uMiAuMS0uMyAuMS0uNSAuMXMtLjMtLjEtLjUtLjItLjItLjMtLjItLjUgLjEtLjQgLjItLjVsLS4xIDB6Il19LFhrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsdW1vbiIsaWNvbjpbNjQwLDUxMixbXSwiZTdlMiIsIk00NTIuNSAyMjMuNWM5LjggMCAxNi41IDYuMyAxNi41IDE2LjZsMCAzMS44YzAgMTAuMy02LjYgMTYuNi0xNi42IDE2LjZsLTU2LjIgMGMtOS44IDAtMTYuNS02LjMtMTYuNS0xNi42bDAtMzEuOGMwLTEwLjMgNi43LTE2LjYgMTYuNS0xNi42bDU2LjMgMHptLTI1LjcgMTMuMWMtMS41LTIuNi0zLjItMi42LTQuNiAwbC0xMC43IDE3LjZjLTEuNyAyLjQtMi42IDUuMS0yLjYgOC4yIDAgNy45IDYuOSAxNC42IDE1LjYgMTQuNiA4LjUgMCAxNS42LTYuNyAxNS42LTE0LjYgMC0zLTEtNS44LTIuNy04LjJsLTEwLjctMTcuNnpNODUuOCAyMjMuOGMxIDAgMS41IC42IDEuNSAxLjVsMCA1MC4zIDY0LjYgMGMxIDAgMS42IC42IDEuNiAxLjVsMCA5LjdjMCAuOS0uNiAxLjUtMS42IDEuNWwtNzguNCAwYy0xIDAtMS42LS42LTEuNi0xLjVsMC02MS40YzAtLjkgLjYtMS41IDEuNi0xLjVsMTIuMyAwem04OC4zIDBjMSAwIDEuNSAuNiAxLjUgMS41bDAgNDVjMCA0IDIgNS4yIDUuNyA1LjJsNDYuOSAwYzMuOCAwIDUuNy0xLjMgNS43LTUuMmwwLTQ1YzAtLjkgLjUtMS41IDEuNS0xLjVsMTIuMyAwYzEgMCAxLjYgLjYgMS42IDEuNWwwIDQ2YzAgMTAuNS01LjMgMTYuOC0xNy42IDE2LjhsLTU0IDBjLTEyLjMgMC0xNy42LTYuMy0xNy42LTE2LjhsMC00NmMwLS45IC42LTEuNSAxLjYtMS41bDEyLjMgMHptMTA4LjIgMGMxIDAgMS42IC41IDIuMiAxLjRsMzAuNSA0Ni40IDEuNCAwIDMwLjUtNDYuNGMuNi0uOSAxLjItMS40IDIuMi0xLjRsMTggMGMxIDAgMS41IC42IDEuNSAxLjVsMCA2MS40YzAgLjktLjUgMS41LTEuNSAxLjVsLTEyLjMgMGMtMSAwLTEuNi0uNi0xLjYtMS41bDAtNDMuOC0xLjEgMC0yOC43IDQzLjhjLS42IC45LTEuMyAxLjUtMi40IDEuNWwtMTAuNyAwYy0xIDAtMS43LS42LTIuMy0xLjVsLTI4LjctNDMuOC0xLjEgMCAwIDQzLjhjMCAuOS0uNSAxLjUtMS41IDEuNWwtMTIuMyAwYy0xIDAtMS42LS42LTEuNi0xLjVsMC02MS40YzAtLjkgLjYtMS41IDEuNi0xLjVsMTcuOSAwem0yMTQuNCAwYy45IDAgMS4zIC40IDIuMiAxLjFsNTIuNyA0Ni4zIDEuMyAwIDAtNDZjMC0uOSAuNi0xLjUgMS42LTEuNWwxMi4zIDBjMSAwIDEuNiAuNiAxLjYgMS41bDAgNjEuNGMwIC45LS42IDEuNS0xLjYgMS41bC0xNC40IDBjLTEgMC0xLjQtLjQtMi4zLTEuMWwtNTIuNi00Ni4zLTEuNCAwIDAgNDZjMCAuOS0uNSAxLjUtMS41IDEuNWwtMTIuMyAwYy0xIDAtMS42LS42LTEuNi0xLjVsMC02MS40YzAtLjkgLjYtMS41IDEuNi0xLjVsMTQuNCAwek0zMjAgMTE0LjFjODcuOSAwIDE2Ny43IDE1LjcgMjI1LjUgNDFsMi43IDEuMkM1ODcuMSAxNzMuOCA2NDAgMjA2LjUgNjQwIDI1NnMtNTIuOSA4Mi4yLTkxLjggOTkuNmwtMi43IDEuMmMtNTcuOCAyNS40LTEzNy42IDQxLTIyNS41IDQxLTc2LjIgMC0xNTUuMS0xMC41LTIyNS41LTQxLTM5LjYtMTcuNC05NC41LTUwLjMtOTQuNS0xMDAuOHM1NC45LTgzLjUgOTQuNS0xMDAuOGM3MC40LTMwLjUgMTQ5LjMtNDEgMjI1LjUtNDF6bS04OC45IDIyOWMyMC4zIDI5IDUyLjggNDkuNiA4OC45IDQ5LjYgMzYuMiAwIDY4LjctMjAuNiA4OS00OS43bC0xNzcuOSAuMXptLTk2LjEgMGM0My4zIDI5LjcgOTYuNyA0My41IDE0OC40IDQ4LTI0LjItOS4xLTQ0LjQtMjYuNy01OC42LTQ4LjFsLTg5LjkgMHptMjgwLjMtLjFjLTE0LjIgMjEuNC0zNC40IDM5LjEtNTguNiA0OC4xIDUxLjgtNC41IDEwNS4zLTE4LjMgMTQ4LjYtNDguMmwtOTAgMHptLTMzNy40IC4xYzQ0LjEgMjMuMSA5My43IDM1LjQgMTQyLjcgNDIuNi0zMy40LTguNi02Ni41LTIxLjktOTQuNC00Mi42bC00OC4zIDB6bTQzNi4yLS4yYy0yNy45IDIwLjgtNjEuMSAzNC4yLTk0LjYgNDIuOCA0Ny4zLTYuOSA4OS42LTE4LjUgMTIzLjktMzMuNmwxLjctLjhjNi4xLTIuNyAxMS45LTUuNSAxNy40LTguNGwtNDguNSAwek01MjAgMTczLjZjMTAuNyA4LjcgMTkuOCAxOC4xIDI3IDI4LjIgLjQgLjYgLjUgMS4zIC4xIDJzLTEgMS0xLjcgMWwtMS42IDBjLS42IDAtMS4yLS4zLTEuNS0uOC03LjktMTAuOS0xOC4yLTIxLjEtMzAuNi0zMC40bC05My41IDBjNS40IDguOCA5LjkgMTguNSAxMy40IDI4LjYgLjIgLjYgLjEgMS4yLS4yIDEuN3MtLjkgLjgtMS42IC44bC0xLjQgMGMtLjggMC0xLjUtLjUtMS44LTEuMy0zLjgtMTAuNy04LjctMjAuOC0xNC41LTI5LjlsLTE4NC4zIC4xYy01LjggOS4xLTEwLjcgMTkuMS0xNC40IDI5LjgtLjMgLjgtMSAxLjMtMS44IDEuM2wtMS40IDBjLS42IDAtMS4yLS4zLTEuNi0uOHMtLjUtMS4xLS4yLTEuN2MzLjUtMTAuMiA4LTE5LjcgMTMuNC0yOC42bC05My42IDBjLTEyLjMgOS4zLTIyLjYgMTkuNC0zMC40IDMwLjMtLjQgLjUtLjkgLjgtMS41IC44bC0xLjYgMGMtLjcgMC0xLjQtLjQtMS43LTFzLS4zLTEuNCAuMS0yYzcuNi0xMC41IDE2LjctMTkuOSAyNi44LTI4bC01MSAwYy0yOC45IDE2LjYtNjIgNDMuMy02My41IDc5LjdsNDQuNyAwYy41IDAgMSAuMiAxLjMgLjZzLjYgLjggLjYgMS4zbDAgMS4zYzAgMS4xLS45IDEuOS0xLjkgMS45bC00NC43IDBDNi44IDI5NSA0MCAzMjEuNyA2OSAzMzguM2w1MC45IDBjLTEwLjMtOC40LTE5LjEtMTcuNC0yNi4xLTI3bC0uOC0xLjFjLS40LS42LS41LTEuMy0uMS0yczEtMSAxLjctMWwxLjYgMCAuMiAwYy41IC4xIDEgLjMgMS4zIC44IDcuOSAxMC45IDE4LjEgMjEgMzAuNSAzMC4zbDkzLjYgMGMtNS4zLTguOC05LjgtMTguNC0xMy40LTI4LjUtLjItLjYtLjEtMS4yIC4yLTEuN3MuOS0uOCAxLjYtLjhsMS40IDAgLjIgMGMuNyAuMSAxLjQgLjYgMS43IDEuMyAzLjggMTAuNyA4LjYgMjAuNyAxNC40IDI5LjhsMTg0LjUtLjFjNS44LTkuMSAxMC42LTE5LjEgMTQuNC0yOS43bC4xLS4xYy4zLS43IDEtMS4xIDEuNy0xLjFsMS40IDBjLjYgMCAxLjIgLjMgMS42IC44cy41IDEuMiAuMiAxLjdjLTMuNSAxMC4xLTggMTkuNy0xMy4zIDI4LjVsOTMuNyAwYzEyLjMtOS4zIDIyLjUtMTkuNCAzMC4zLTMwLjJsLjEtLjJjLjQtLjQgLjktLjYgMS40LS42bDEuNiAwYy43IDAgMS40IC40IDEuNyAxcy4zIDEuNC0uMSAyYy03LjEgMTAtMTYuMSAxOS4zLTI2LjcgMjcuOWw1MS4xIDBjMjguOC0xNi42IDYxLjgtNDMuMyA2My40LTc5LjZsLTQ0LjcgMGMtMSAwLTEuOS0uOS0xLjktMS45bDAtMS4zYzAtMS4xIC45LTEuOSAxLjktMS45bDQ0LjcgMGMtMS42LTM2LjUtMzQuOS02My4zLTYzLjktNzkuOWwtNTAuOSAwek0yMjAuNSAxMjYuMmMtNDkuMSA3LjEtOTguNyAxOS41LTE0MyA0Mi43bDQ4LjQgMGMyNy45LTIwLjggNjEtMzQuMSA5NC41LTQyLjd6bTYyLjgtNS40Yy01MS44IDQuNS0xMDUuMiAxOC4zLTE0OC42IDQ4LjFsOTAgMGMxNC4yLTIxLjQgMzQuNC0zOSA1OC42LTQ4LjF6bTM2LjYtMS42Yy0zNi4yIDAtNjguNyAyMC42LTg5IDQ5LjdsMTc3LjktLjFjLTIwLjMtMjkuMS01Mi43LTQ5LjYtODguOS00OS42em0zNi42IDEuNmMyNC4yIDkuMSA0NC40IDI2LjYgNTguNSA0OGw4OS44IDBjLTQzLjMtMjkuNy05Ni42LTQzLjUtMTQ4LjMtNDh6bTYyLjggNS40YzMzLjQgOC41IDY2LjQgMjEuOSA5NC4zIDQyLjVsNDguMyAwYy00NC4xLTIzLjEtOTMuNi0zNS40LTE0Mi42LTQyLjV6Il19LFFrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJudXRyaXRpb25peCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNkNiIsIk0xMTIgOC4xUzI0NS40LS4xIDIzMyAxMTIuNWMwIDAgMTkuMS03NC45IDEwMy00MC42IDAgMC0xNy43IDc0LTg4IDU2IDAgMCAxNC42LTU0LjYgNjYuMS01Ni42IDAgMC0zOS45LTEwLjMtODIuMSA0OC44IDAgMC0xOS44LTk0LjUtOTMuNi05OS43IDAgMCA3NS4yIDE5LjQgNzcuNiAxMDcuNSAwIC4xLTEwNi40IDctMTA0LTExOS44ek00MjQgMzIzLjdjMCA0OC41LTkuNyA5NS4zLTMyIDEzMi4zLTQyLjIgMzAuOS0xMDUgNDgtMTY4IDQ4LTYyLjkgMC0xMjUuOC0xNy4xLTE2OC00OC0yMi4zLTM3LTMyLTgzLjgtMzItMTMyLjMgMC00OC40IDE3LjctOTQuNyA0MC0xMzEuNyA0Mi4yLTMwLjkgOTcuMS00OC42IDE2MC00OC42IDYzIDAgMTE3LjggMTcuNiAxNjAgNDguNiAyMi4zIDM3IDQwIDgzLjMgNDAgMTMxLjd6TTE0NCA0MjhhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6bTAtNjYuMmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwek0yMTYgNDI4YTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6bTAtNjYuMmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHpNMjg4IDQyOGEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6TTM2MCA0MjhhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6bTAtNjYuMmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwek0zODQgMjU2Yy00LjgtMjIuMy03LjQtMzYuOS0xNi01Ni0zOC44LTE5LjktOTAuNS0zMi0xNDQtMzJTMTE4LjggMTgwLjEgODAgMjAwYy04LjggMTkuNS0xMS4yIDMzLjktMTYgNTYgNDIuMi03LjkgOTguNy0xNC44IDE2MC0xNC44czExNy44IDYuOSAxNjAgMTQuOHoiXX0sSmt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1cyIsaWNvbjpbNTEyLDUxMixbXSwiZjRmMSIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6bTEwNyAyMDUuNmMtNC43IDAtOSAyLjgtMTAuNyA3LjJsLTQgOS41LTExLTkyLjhjLTEuNy0xMy45LTIyLTEzLjQtMjMuMSAuNGwtNC4zIDUxLjQtNS4yLTY4LjhjLTEuMS0xNC4zLTIyLjEtMTQuMi0yMy4yIDBsLTMuNSA0NC45LTUuOS05NC4zYy0uOS0xNC41LTIyLjMtMTQuNC0yMy4yIDBsLTUuMSA4My43LTQuMy02Ni4zYy0uOS0xNC40LTIyLjItMTQuNC0yMy4yIDBsLTUuMyA4MC4yLTQuMS01N2MtMS4xLTE0LjMtMjItMTQuMy0yMy4yLS4ybC03LjcgODkuOC0xLjgtMTIuMmMtMS43LTExLjQtMTcuMS0xMy42LTIyLTMuM2wtMTMuMiAyNy43LTQzLjkgMCAwIDIzLjIgNTEuMyAwYzQuNCAwIDguNC0yLjUgMTAuNC02LjRsMTAuNyA3My4xYzIgMTMuNSAyMS45IDEzIDIzLjEtLjdsMy44LTQzLjYgNS43IDc4LjNjMS4xIDE0LjQgMjIuMyAxNC4yIDIzLjItLjFsNC42LTcwLjQgNC44IDczLjNjLjkgMTQuNCAyMi4zIDE0LjQgMjMuMi0uMWw0LjktODAuNSA0LjUgNzEuOGMuOSAxNC4zIDIyLjEgMTQuNSAyMy4yIC4ybDQuNi01OC42IDQuOSA2NC40YzEuMSAxNC4zIDIyIDE0LjIgMjMuMSAuMWw2LjgtODMgMi43IDIyLjNjMS40IDExLjggMTcuNyAxNC4xIDIyLjMgMy4xbDE4LTQzLjQgNTAuNSAwIDAtMjMuMi01OC40IC4zem0tNzggNS4ybC0yMS45IDAgMCAyMS45YzAgNC4xLTMuMyA3LjUtNy41IDcuNS00LjEgMC03LjUtMy4zLTcuNS03LjVsMC0yMS45LTIxLjkgMGMtNC4xIDAtNy41LTMuMy03LjUtNy41IDAtNC4xIDMuNC03LjUgNy41LTcuNWwyMS45IDAgMC0yMS45YzAtNC4xIDMuNC03LjUgNy41LTcuNXM3LjUgMy4zIDcuNSA3LjVsMCAyMS45IDIxLjkgMGM0LjEgMCA3LjUgMy4zIDcuNSA3LjUgMCA0LjEtMy40IDcuNS03LjUgNy41eiJdfSxlU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVkaGF0IixpY29uOls1MTIsNTEyLFtdLCJmN2JjIiwiTTM0MS41IDI4NS42YzMzLjcgMCA4Mi4zLTYuOSA4Mi4zLTQ3IC4yLTYuNyAuOS0xLjgtMjAuOS05Ni4yLTQuNi0xOS4xLTguNy0yNy44LTQyLjMtNDQuNi0yNi4xLTEzLjMtODIuOS0zNS40LTk5LjctMzUuNC0xNS43IDAtMjAuMiAyMC4yLTM4LjkgMjAuMi0xOCAwLTMxLjMtMTUuMS00OC4xLTE1LjEtMTYuMSAwLTI2LjcgMTEtMzQuOCAzMy42LTI3LjUgNzcuNi0yNi4zIDc0LjMtMjYuMSA3OC4zIDAgMjQuOCA5Ny42IDEwNi4xIDIyOC41IDEwNi4xek00MjkgMjU0LjhjNC43IDIyIDQuNyAyNC4zIDQuNyAyNy4yIDAgMzcuNy00Mi4zIDU4LjYtOTggNTguNi0xMjUuNyAuMS0yMzUuOS03My42LTIzNS45LTEyMi4zIDAtNi44IDEuNC0xMy41IDQuMS0xOS43LTQ1LjIgMi4zLTEwMy44IDEwLjMtMTAzLjggNjIgMCA4NC43IDIwMC42IDE4OSAzNTkuNSAxODkgMTIxLjggMCAxNTIuNS01NS4xIDE1Mi41LTk4LjYgMC0zNC4yLTI5LjYtNzMtODIuOS05Ni4yeiJdfSxHdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXBpZWQtcGlwZXIiLGljb246WzQ0OCw1MTIsWyJwaWVkLXBpcGVyLXNxdWFyZSJdLCJlMDFlIiwiTTMyLjEgNDE5bC0zMiA2MC4yIC44LTMyOEMuOSA4NS4zIDU0LjEgMzIgMTIwLjEgMzJsMzI3LjIgMEMzNTQuMyA2MC45IDI1Ny40IDEyNi4yIDE5My40IDIwMC42IDEyMi44IDI4MiA4Mi43IDMzOCAzMi4xIDQxOXptNDE2LTM4N1MzMDUuMyA5OC44IDI2MS43IDE5OS4xYy0yMy4yIDUzLjYtMjguOSAxMTguMS03MSAxNTguNi0yOC45IDI3LjgtNjkuOCAzOC4yLTEwNS4zIDU2LjMtMjMuMiAxMi02Ni40IDQwLjUtODQuOSA2NmwzMjguNCAwYzY2IDAgMTE5LjMtNTMuMyAxMTkuMy0xMTkuMi0uMSAwLS4xLTMyOC44LS4xLTMyOC44eiJdfSx0U3Q9R3VlLGFTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3aGF0c2FwcCIsaWNvbjpbNDQ4LDUxMixbXSwiZjIzMiIsIk0zODAuOSA5Ny4xYy00MS45LTQyLTk3LjctNjUuMS0xNTctNjUuMS0xMjIuNCAwLTIyMiA5OS42LTIyMiAyMjIgMCAzOS4xIDEwLjIgNzcuMyAyOS42IDExMUwwIDQ4MCAxMTcuNyA0NDkuMWMzMi40IDE3LjcgNjguOSAyNyAxMDYuMSAyN2wuMSAwYzEyMi4zIDAgMjI0LjEtOTkuNiAyMjQuMS0yMjIgMC01OS4zLTI1LjItMTE1LTY3LjEtMTU3em0tMTU3IDM0MS42Yy0zMy4yIDAtNjUuNy04LjktOTQtMjUuN2wtNi43LTQtNjkuOCAxOC4zIDE4LjYtNjguMS00LjQtN2MtMTguNS0yOS40LTI4LjItNjMuMy0yOC4yLTk4LjIgMC0xMDEuNyA4Mi44LTE4NC41IDE4NC42LTE4NC41IDQ5LjMgMCA5NS42IDE5LjIgMTMwLjQgNTQuMXM1Ni4yIDgxLjIgNTYuMSAxMzAuNWMwIDEwMS44LTg0LjkgMTg0LjYtMTg2LjYgMTg0LjZ6TTMyNS4xIDMwMC41Yy01LjUtMi44LTMyLjgtMTYuMi0zNy45LTE4LTUuMS0xLjktOC44LTIuOC0xMi41IDIuOHMtMTQuMyAxOC0xNy42IDIxLjhjLTMuMiAzLjctNi41IDQuMi0xMiAxLjQtMzIuNi0xNi4zLTU0LTI5LjEtNzUuNS02Ni01LjctOS44IDUuNy05LjEgMTYuMy0zMC4zIDEuOC0zLjcgLjktNi45LS41LTkuN3MtMTIuNS0zMC4xLTE3LjEtNDEuMmMtNC41LTEwLjgtOS4xLTkuMy0xMi41LTkuNS0zLjItLjItNi45LS4yLTEwLjYtLjJzLTkuNyAxLjQtMTQuOCA2LjljLTUuMSA1LjYtMTkuNCAxOS0xOS40IDQ2LjNzMTkuOSA1My43IDIyLjYgNTcuNGMyLjggMy43IDM5LjEgNTkuNyA5NC44IDgzLjggMzUuMiAxNS4yIDQ5IDE2LjUgNjYuNiAxMy45IDEwLjctMS42IDMyLjgtMTMuNCAzNy40LTI2LjRzNC42LTI0LjEgMy4yLTI2LjRjLTEuMy0yLjUtNS0zLjktMTAuNS02LjZ6Il19LHJTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpbWRiIixpY29uOls0NDgsNTEyLFtdLCJmMmQ4IiwiTTg5LjUgMzIzLjZsLTM1LjYgMCAwLTEzNy40IDM1LjYgMCAwIDEzNy40em02Ni42LTczLjFsOS4xLTY0LjMgNDYuMyAwIDAgMTM3LjQtMzEgMCAwLTkyLjctMTMuNCA5Mi43LTIxLjMgMC0xMy05MC43LS4xIDkwLjctMzEuMiAwIDAtMTM3LjQgNDYuMSAwYy41IDguMyAyLjggMTguMSA0LjMgMjkuNGw0LjIgMzQuOXptNjcuNiA3My4xbDAtMTM3LjQgMjYuNiAwYzE3IDAgMjcgLjkgMzMgMi40IDYuMSAxLjcgMTAuNyA0LjIgMTMuOSA3LjkgMy4xIDMuMyA1LjEgNi42IDUuOCAxMiAuOSA0LjQgMS40IDEzLjEgMS40IDI2LjJsMCA0OC4yYzAgMTIuMy0uNyAyMC41LTEuOSAyNC43LTEuMSA0LjEtMy4xIDcuNC02IDkuNy0yLjggMi40LTYuNCA0LjEtMTAuNyA1LTQuMiAuOC0xMC42IDEuMy0xOS4xIDEuM2wtNDMgMHptMzUuNS0xMTMuOWwwIDg5LjRjNS4xIDAgOC4zLTEgOS40LTIuMyAxLjEtMiAxLjgtNy42IDEuOC0xNi43bDAtNTMuM2MwLTYuMi0uMS0xMC4yLS43LTEyLS4zLTEuOC0xLjItMy0yLjYtNC43LTEuNCAwLTQuMS0uNC03LjktLjR6bTU3LjMgMTEzLjlsMC0xMzcuNCAzNC4xIDAgMCA0My45YzIuOS0yLjQgNi4xLTQuOSA5LjUtNi42IDMuNi0xLjUgOC44LTIuNCAxMi44LTIuNCA0LjggMCA4LjkgLjggMTIuMyAyLjIgMy40IDEuNSA2IDMuNSA4IDYuMiAxLjcgMi42IDIuNyA1LjMgMy4xIDcuOCAuNCAyLjYtLjIgOC0uMiAxNi4ybDAgMzguNmMwIDguMiAuMiAxNC4zLS44IDE4LjQtMS4xIDQtMy44IDcuNi03LjggOS42LTQuMSAzLjktOC45IDUuMy0xNC42IDUuMy00IDAtOS4yLS45LTEyLjctMi41LTMuNS0xLjgtNi43LTQuNS05LjYtOGwtMi4xIDguNy0zMiAwem00NS4xLTIwLjdjLjctMS44IDEtNiAxLTEyLjVsMC0zNS40YzAtNS42LS4zLTkuNS0xLjEtMTEuMi0uNy0xLjktMy43LTIuNy01LjgtMi43LTIgMC0zLjQgLjgtNC4xIDIuMy0uNiAxLjUtMSA1LjQtMSAxMS42bDAgMzYuNGMwIDYuMSAuNCAxMCAxLjIgMTEuNiAuNiAxLjcgMi4xIDIuNSA0LjEgMi41IDIuMiAwIDQuMi0uOCA1LjctMi42ek00MTguNCAzMmMxNS43IDEuMiAyOC43IDE1LjIgMjguNyAzMS45bDAgMzg0LjJjMCAxNi40LTExLjkgMzAuNC0yOC4yIDMxLS4zIDAtLjUgLjktLjggLjlMMjkuOSA0ODBjLS4zIDAtLjYtLjktLjgtLjEtMTUuNy0xLjQtMjcuOS0xMy44LTI5LTMwLjJMMCA2MS44QzEuMSA0NS45IDEzLjggMzMuMSAzMC4zIDMxLjFsMzg3LjQgMGMuMiAwIC41IC45IC43IC45ek0zMC4zIDQxLjNDMTkgNDIgMTAgNTEgOS4zIDYyLjRsMCAzODcuM2MuNCA1LjQgMi43IDEwLjUgNi40IDE0LjMgMy44IDMuOSA4LjggNi4zIDE0LjIgNi43bDM4OC4yIDBjMTEuNS0xIDIwLjYtMTEuNiAyMC42LTIyLjZsMC0zODQuMmMwLTUuNy0yLjEtMTEuMy02LTE1LjVzLTkuMy02LjgtMTUtNy4ybC0zODcuNCAweiJdfSxzU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicHl0aG9uIixpY29uOls0NDgsNTEyLFtdLCJmM2UyIiwiTTQzOS44IDIwMC41Yy03LjctMzAuOS0yMi4zLTU0LjItNTMuNC01NC4ybC00MC4xIDAgMCA0Ny40YzAgMzYuOC0zMS4yIDY3LjgtNjYuOCA2Ny44bC0xMDYuOCAwYy0yOS4yIDAtNTMuNCAyNS01My40IDU0LjNsMCAxMDEuOGMwIDI5IDI1LjIgNDYgNTMuNCA1NC4zIDMzLjggOS45IDY2LjMgMTEuNyAxMDYuOCAwIDI2LjktNy44IDUzLjQtMjMuNSA1My40LTU0LjNsMC00MC43LTEwNi43IDAgMC0xMy42IDE2MC4yIDBjMzEuMSAwIDQyLjYtMjEuNyA1My40LTU0LjIgMTEuMi0zMy41IDEwLjctNjUuNyAwLTEwOC42ek0yODYuMiA0NDQuN2EyMC40IDIwLjQgMCAxIDEgMC00MC43IDIwLjQgMjAuNCAwIDEgMSAwIDQwLjd6TTE2Ny44IDI0OC4xbDEwNi44IDBjMjkuNyAwIDUzLjQtMjQuNSA1My40LTU0LjNsMC0xMDEuOWMwLTI5LTI0LjQtNTAuNy01My40LTU1LjYtMzUuOC01LjktNzQuNy01LjYtMTA2LjggLjEtNDUuMiA4LTUzLjQgMjQuNy01My40IDU1LjZsMCA0MC43IDEwNi45IDAgMCAxMy42LTE0NyAwYy0zMS4xIDAtNTguMyAxOC43LTY2LjggNTQuMi05LjggNDAuNy0xMC4yIDY2LjEgMCAxMDguNiA3LjYgMzEuNiAyNS43IDU0LjIgNTYuOCA1NC4ybDM2LjcgMCAwLTQ4LjhjMC0zNS4zIDMwLjUtNjYuNCA2Ni44LTY2LjR6TTE2MS4yIDY0LjdhMjAuNCAyMC40IDAgMSAxIDAgNDAuOCAyMC40IDIwLjQgMCAxIDEgMC00MC44eiJdfSxpU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2FzaC1hcHAiLGljb246WzQ0OCw1MTIsW10sImU3ZDQiLCJNNDQwLjMgOTYuOWMtOS40LTI2LjUtMzAuMy00Ny40LTU2LjgtNTctMjQuMS03LjktNDYuMy03LjktOTEuNi03LjlMMTU2IDMyYy00NC44IDAtNjcuMiAwLTkxLjMgNy41LTI2LjUgOS42LTQ3LjQgMzAuNS01NyA1Ny03LjcgMjQuMy03LjcgNDYuNy03LjcgOTEuN0wwIDMyMy44YzAgNDUuMiAwIDY3LjQgNy41IDkxLjUgOS42IDI2LjUgMzAuNSA0Ny40IDU3IDU3IDI0LjMgNy43IDQ2LjcgNy43IDkxLjYgNy43bDEzNS43IDBjNDUgMCA2Ny40IDAgOTEuNi03LjcgMjYuNS05LjYgNDcuNC0zMC41IDU3LTU3IDcuNy0yNC4zIDcuNy00Ni43IDcuNy05MS41bDAtMTM1LjVjMC00NSAwLTY3LjQtNy43LTkxLjV6TTMyMy4xIDE4NS40bC0yNS44IDIxLjFjLTIuMyAxLjktNS41IDEuNS03LjMtLjktMTMuMi0xNi4yLTMzLjctMjUuNC01Ni4xLTI1LjQtMjUgMC00MC42IDEwLjktNDAuNiAyNi4yLS40IDEyLjggMTEuNyAxOS42IDQ5LjEgMjcuNyA0Ny4yIDEwIDY4LjcgMjkuNyA2OC43IDYyLjcgMCA0MS40LTMzLjcgNzEuOS04Ni40IDc1LjNsLTUuMSAyNC41Yy0uNCAyLjMtMi42IDQuMS01LjEgNC4xbC00MC42IDBjLTMuNCAwLTUuOC0zLjItNS4xLTYuNGw2LjQtMjcuM2MtMjYtNy41LTQ3LjItMjItNTkuMy0zOS43LTEuNS0yLjMtMS4xLTUuMyAxLjEtN2wyOC4yLTIyYzIuMy0xLjkgNS44LTEuMyA3LjUgMS4xIDE0LjkgMjAuOSAzOCAzMy4zIDY1LjcgMzMuMyAyNSAwIDQzLjgtMTIuMiA0My44LTI5LjcgMC0xMy40LTkuNC0xOS42LTQxLjItMjYuMi01NC4yLTExLjctNzUuOC0zMS44LTc1LjgtNjQuOSAwLTM4LjQgMzIuMi02Ny4yIDgwLjktNzFsNS4zLTI1LjRjLjQtMi4zIDIuNi00LjEgNS4xLTQuMWwzOS45IDBjMy4yIDAgNS44IDMgNS4xIDYuMmwtNi4yIDI4LjRjMjAuOSA2LjQgMzggMTcuOSA0OC43IDMyLjIgMS43IDIuMSAxLjMgNS4zLS45IDd6Il19LG9TdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaW50ZXJlc3QtcCIsaWNvbjpbMzg0LDUxMixbXSwiZjIzMSIsIk0yMDQgNi41Yy0xMDIuNiAwLTIwNCA2OC40LTIwNCAxNzkuMSAwIDcwLjQgMzkuNiAxMTAuNCA2My42IDExMC40IDkuOSAwIDE1LjYtMjcuNiAxNS42LTM1LjQgMC05LjMtMjMuNy0yOS4xLTIzLjctNjcuOCAwLTgwLjQgNjEuMi0xMzcuNCAxNDAuNC0xMzcuNCA2OC4xIDAgMTE4LjUgMzguNyAxMTguNSAxMDkuOCAwIDUzLjEtMjEuMyAxNTIuNy05MC4zIDE1Mi43LTI0LjkgMC00Ni4yLTE4LTQ2LjItNDMuOCAwLTM3LjggMjYuNC03NC40IDI2LjQtMTEzLjQgMC02Ni4yLTkzLjktNTQuMi05My45IDI1LjggMCAxNi44IDIuMSAzNS40IDkuNiA1MC43LTEzLjggNTkuNC00MiAxNDcuOS00MiAyMDkuMSAwIDE4LjkgMi43IDM3LjUgNC41IDU2LjQgMy40IDMuOCAxLjcgMy40IDYuOSAxLjUgNTAuNC02OSA0OC42LTgyLjUgNzEuNC0xNzIuOCAxMi4zIDIzLjQgNDQuMSAzNiA2OS4zIDM2IDEwNi4yIDAgMTUzLjktMTAzLjUgMTUzLjktMTk2LjggMC05OS4zLTg1LjgtMTY0LjEtMTgwLTE2NC4xeiJdfSxuU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2htY3MiLGljb246WzQ0OCw1MTIsW10sImY0MGQiLCJNNDQ4IDE2MWwwLTIxLjMtMjguNS04LjgtMi4yLTEwLjQgMjAuMS0yMC43LTEwLjQtMTkuNC0yOSA3LjUtNy4yLTcuNSA3LjUtMjguMi0xOS4xLTExLjYtMjEuMyAyMS0xMC43LTMuMi03LTI2LjQtMjIuNiAwLTYuMiAyNi40LTEyLjEgMy4yLTE5LjctMjEtMTkuNCAxMSA4LjEgMjcuNy04LjEgOC40LTI4LjUtNy41LTExIDE5LjEgMjAuNyAyMS0yLjkgMTAuNC0yOC41IDcuOC0uMyAyMS43IDI4LjggNy41IDIuNCAxMi4xLTIwLjEgMTkuOSAxMC40IDE4LjUgMjkuNi03LjUgNy4yIDguNi04LjEgMjYuOSAxOS45IDExLjYgMTkuNC0yMC40IDExLjYgMi45IDYuNyAyOC41IDIyLjYgLjMgNi43LTI4LjggMTEuNi0zLjUgMjAuNyAyMS42IDIwLjQtMTIuMS04LjgtMjggNy44LTguMSAyOC44IDguOCAxMC4zLTIwLjEtMjAuOS0xOC44IDIuMi0xMi4xIDI5LjEtN3pNMzI4LjggOTIuNmE1Ni44IDU2LjggMCAxIDEgMCAxMTMuNiA1Ni44IDU2LjggMCAxIDEgMC0xMTMuNnptNzIuMyAxMzBsNDYuOSAxNC41IDAgMzkuOS01NS4xIDEzLjQtNC4xIDIyLjcgMzguOSAzNS4zLTE5LjIgMzcuOS01NC0xNi43LTE0LjYgMTUuMiAxNi43IDUyLjUtMzguMyAyMi43LTM4LjktNDAuNS0yMS43IDYuNi0xMi42IDU0LTQyLjQtLjUtMTIuNi01My42LTIxLjctNS42LTM2LjQgMzguNC0zNy40LTIxLjcgMTUuMi01MC41LTEzLjctMTYuMS01NS41IDE0LjEtMTkuNy0zNC44IDM3LjktMzcuNC00LjgtMjIuOC01NC0xNC4xIC41LTQwLjkgNTMuNS0xNC43IDUuNy0xOS43LTM4LjktMzkuNCAyMC43LTM1LjggNTMuNiAxNC4xIDE1LjItMTUuNy0xNS4yLTUyIDM2LjQtMjAuNyAzNi44IDM5LjQgMjIuNy02LjEgMTEuNi01MiA0Mi40IDAgMTEuNiA0NS45LTIyLjYtNS45LTYuMy0xLjctMy4zIDUuNy0xMSAxOS4xLTMuMyA1LjYgNC42IDQuNiAxNy4yIDE3LjQtLjMgMS0yMy44IDYuNS02LjIgMS43YzAgMy4yLS4xIDkuNi0uMyAxOS4zLTQ3LjUgMTAuNC04My4zIDUyLjgtODMuMyAxMDMuNSAwIDU4LjMgNDcuMyAxMDUuNyAxMDUuNyAxMDUuNyA1MC41IDAgOTIuNy0zNS40IDEwMy4yLTgyLjggOS45IC4xIDE2LjYgLjIgMjAuMSAuM2wxLjYtNi43IDUuNi0yNCAxLjktLjYgMTcuMSAxNy44IDQuNyA0LjkgNS44LTMuNCAyMC40LTEyLjEgNS44LTMuNS0yLTYuNS02LjgtMjEuMnoiXX0sbFN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImpvZ2V0IixpY29uOls1MTIsNTEyLFtdLCJmM2I3IiwiTTM4Ni4xIDQ1QzM0NS42IDE5LjkgMzAwLjYgOCAyNTYuMiA4IDE3MyA4IDkxLjggNDkuOSA0NC45IDEyNS45LTI3IDI0Mi41IDkuMyAzOTUuMiAxMjUuOSA0NjcuMXMyNjkuMyAzNS42IDM0MS4yLTgwLjlDNTM5IDI2OS42IDUwMi43IDExNi44IDM4Ni4xIDQ1em01MS44IDMyMy4yYy00MC40IDY1LjUtMTEwLjQgMTAxLjUtMTgyIDEwMS41LTYuOCAwLTEzLjYtLjQtMjAuNC0xLTktMTMuNi0xOS45LTMzLjMtMjMuNy00Mi40LTUuNy0xMy43LTI3LjItNDUuNiAzMS4yLTY3LjEgNTEuNy0xOS4xIDE3Ni43LTE2LjUgMjA4LjgtMTcuNi00IDktOC42IDE3LjktMTMuOSAyNi42ek0yMzcuMSAyODEuOWMtNTUuNS0xLjQtODEuNy0yMC44LTU4LjUtNDguMnM1MS4xLTQwLjcgNjguOS01MS4yYzE3LjktMTAuNSAyNy4zLTMzLjctMjMuNi0yOS43LTEyOC42IDguNy0xNjcuMyA5OS4zLTE3OC4zIDE0MC4yLTguOC00OS43LS4xLTEwMi43IDI4LjUtMTQ5LjEgNjEuOS0xMDAuNSAxOTMuNS0xMzEuNyAyOTQtNjkuOCA3NC44IDQ2LjEgMTExLjIgMTMwLjkgOTkuMyAyMTIuNy0yNC45LS41LTE3OS4zLTMuNi0yMzAuMy00Ljl6bTE4My44LTU0LjhjLTIyLjctNi01NyAxMS4zLTg2LjcgMjcuMi0yOS43IDE1LjgtMzEuMSA4LjItMzEuMSA4LjJzNDAuMi0yOC4xIDUwLjctMzQuNSAzMS45LTE0IDEzLjQtMjQuNmMtMy4yLTEuOC02LjctMi43LTEwLjQtMi43LTE3LjggMC00MS41IDE4LjctNjcuNSAzNS42LTMxLjUgMjAuNS02NS4zIDMxLjMtNjUuMyAzMS4zTDM5My41IDI2NiA0NDAgMjQyLjZzMy42LTkuNS0xOS4xLTE1LjV6Il19LFl1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUteW91dHViZSIsaWNvbjpbNDQ4LDUxMixbNjE3OTgsInlvdXR1YmUtc3F1YXJlIl0sImY0MzEiLCJNMjgyIDI1Ni4ybC05NS4yLTU0LjEgMCAxMDguMiA5NS4yLTU0LjF6TTM4NCAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0em0xNC40IDEzNi4xYzcuNiAyOC42IDcuNiA4OC4yIDcuNiA4OC4yczAgNTkuNi03LjYgODguMWMtNC4yIDE1LjgtMTYuNSAyNy43LTMyLjIgMzEuOS0yOC4zIDcuNy0xNDIuMiA3LjctMTQyLjIgNy43cy0xMTMuOSAwLTE0Mi4yLTcuNmMtMTUuNy00LjItMjgtMTYuMS0zMi4yLTMxLjktNy42LTI4LjYtNy42LTg4LjItNy42LTg4LjJzMC01OS43IDcuNi04OC4yYzQuMi0xNS44IDE2LjUtMjguMiAzMi4yLTMyLjQgMjguMy03LjcgMTQyLjItNy43IDE0Mi4yLTcuN3MxMTMuOSAwIDE0Mi4yIDcuN2MxNS43IDQuMiAyOCAxNi42IDMyLjIgMzIuNHoiXX0sY1N0PVl1ZSxkU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXRsYXNzaWFuIixpY29uOls1MTIsNTEyLFtdLCJmNzdiIiwiTTE1Mi4yIDIzNi40Yy03LjctOC4yLTE5LjctNy43LTI0LjggMi44TDEuNiA0OTAuMmMtNSAxMCAyLjQgMjEuNyAxMy40IDIxLjdsMTc1IDBjNS44IC4xIDExLTMuMiAxMy40LTguNCAzNy45LTc3LjggMTUuMS0xOTYuMy01MS4yLTI2Ny4xek0yNDQuNCA4LjFjLTEyMi4zIDE5My40LTguNSAzNDguNiA2NSA0OTUuNSAyLjUgNS4xIDcuNyA4LjQgMTMuNCA4LjRMNDk3IDUxMmMxMS4yIDAgMTguNC0xMS44IDEzLjQtMjEuNyAwIDAtMjM0LjUtNDcwLjYtMjQwLjQtNDgyLjMtNS4zLTEwLjYtMTguOC0xMC44LTI1LjYgLjF6Il19LHVTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaWVkLXBpcGVyLWhhdCIsaWNvbjpbNjQwLDUxMixbXSwiZjRlNSIsIk02NDAgMjQuOWMtODAuOCA1My42LTg5LjQgOTIuNS05Ni40IDEwNC40LTYuNyAxMi4yLTExLjcgNjAuMy0yMy4zIDgzLjYtMTEuNyAyMy42LTU0LjIgNDIuMi02Ni4xIDUwLTExLjcgNy44LTI4LjMgMzguMS00MS45IDY0LjItMTA4LjEtNC40LTE2Ny40IDM4LjgtMjU5LjIgOTMuNiAyOS40LTkuNyA0My4zLTE2LjcgNDMuMy0xNi43IDk0LjItMzYgMTM5LjMtNjguMyAyODEuMS00OS4yIDEuMSAwIDEuOSAuNiAyLjggLjggMy45IDIuMiA1LjMgNi45IDMuMSAxMC44bC01My45IDk1LjhjLTIuNSA0LjctNy44IDcuMi0xMy4xIDYuMS0xMjYuOC0yMy44LTIyNi45IDE3LjMtMzE4LjkgMTguNi03My40IDEuMS05Ny41LTMzLjUtOTcuNS0zNS4xIDAtMS4xIC42LTEuNyAxLjctMS43IDAgMCAzOC4zIDAgMTAzLjEtMTUuMyA3My42LTE0MC4zIDEzOS4yLTE4OS40IDIxMC42LTE4OS40IDAgMCA3MS43IDAgOTAuNiA2MS45IDIyLjgtMzkuNyAyOC4zLTQ5LjIgMjguMy00OS4yIDUuMy05LjQgMzUtNzcuMiA4Ni40LTE0MS40IDUxLjUtNjQgOTAuNC03OS45IDExOS4zLTkxLjh6Il19LHBTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpbnRlcm5ldC1leHBsb3JlciIsaWNvbjpbNTEyLDUxMixbXSwiZjI2YiIsIk00ODMuMSAxNTkuN2MxMC45LTI0LjYgMjEuNC02MC40IDIxLjQtODcuOSAwLTcyLjctNzkuNi05OC40LTIwOS43LTM4LjYtMTA3LjYtNy4yLTIxMS4yIDczLjctMjM3LjEgMTg2LjUgMzAuOS0zNC45IDc4LjMtODIuMyAxMjItMTAxLjItNTQuMyA0OC4zLTEwMC42IDEwOS40LTEzNS43IDE3My4yLTIwLjcgMzcuOS00NCA5OS4yLTQ0IDE0NSAwIDk4LjYgOTIuOSA4Ni41IDE4MC4zIDQyIDMxLjQgMTUuNCA2Ni42IDE1LjYgMTAxLjcgMTUuNiA5Ny4xIDAgMTg0LjItNTQuMyAyMTYuOC0xNDZsLTEyMC44IDBjLTUyLjUgODguNi0xOTYuOCA1My0xOTYuOC00Ny40bDMyOC44IDBjNi40LTQzLjYtMS43LTk1LjctMjYuOS0xNDEuMnpNNjQuNiAzNDYuOUM4Mi4zIDM5OCAxMTguMyA0NDIuNyAxNjQuOCA0NzAuMiA3Ni4xIDUxOS4xLTguNCA0OTkuMyA2NC42IDM0Ni45ek0xODAuNSAyMzhjMi01NS4yIDUwLjMtOTQuOSAxMDQtOTQuOSA1My40IDAgMTAyIDM5LjcgMTA0IDk0LjlsLTIwOCAwek0zNjUuMSA1MC40YzIxLjQtMTAuMyA0OC42LTIyIDcyLjYtMjIgMzEuNCAwIDU0LjMgMjEuNyA1NC4zIDUzLjcgMCAyMC03LjQgNDktMTQuNiA2Ny45LTI2LjMtNDIuMy02Ni04MS42LTExMi4zLTk5LjZ6Il19LGZTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhaXJibmIiLGljb246WzQ0OCw1MTIsW10sImY4MzQiLCJNMjI0LjUgMzczLjFjLTI1LjItMzEuNy00MC4xLTU5LjQtNDUtODMuMi0yMi41LTg4IDExMi42LTg4IDkwLjEgMC01LjQgMjQuMi0yMC4zIDUyLTQ1IDgzLjJsLS4xIDB6bTEzOC4yIDczLjJjLTQyLjEgMTguMy04My43LTEwLjktMTE5LjMtNTAuNSAxMDMuOS0xMzAuMSA0Ni4xLTIwMC0xOC44LTIwMC01NC45IDAtODUuMiA0Ni41LTczLjMgMTAwLjUgNi45IDI5LjIgMjUuMiA2Mi40IDU0LjQgOTkuNS0zMi41IDM2LTYwLjUgNTIuNy04NS4yIDU0LjktNTAgNy40LTg5LjEtNDEuMS03MS4zLTkxLjEgMTUuMS0zOS4yIDExMS43LTIzMS4yIDExNS45LTI0MS42IDE1LjgtMzAuMSAyNS42LTU3LjQgNTkuNC01Ny40IDMyLjMgMCA0My40IDI1LjkgNjAuNCA1OS45IDM2IDcwLjYgODkuNCAxNzcuNSAxMTQuOCAyMzkuMSAxMy4yIDMzLjEtMS40IDcxLjMtMzcgODYuNnptNDctMTM2LjFjLTEyOC45LTI3NC4zLTEzNi0yNzguMi0xODUuMS0yNzguMi00NS41IDAtNjQuOSAzMS43LTg0LjcgNzIuOC0xMDYuMiAyMTIuMy0xMTYuNCAyNDIuNC0xMTcuMyAyNDUtMjUuMiA2OS4zIDI2LjcgMTMwLjIgODkuNiAxMzAuMiAyMS43IDAgNjAuNi02LjEgMTEyLjQtNjIuNCA1OC43IDYzLjggMTAxLjMgNjIuNCAxMTIuNCA2Mi40IDYyLjkgLjEgMTE0LjktNjAuOSA4OS42LTEzMC4yIDAtMy45LTE2LjgtMzguOS0xNi44LTM5LjZsMCAweiJdfSxoU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToianMiLGljb246WzQ0OCw1MTIsW10sImYzYjgiLCJNMCAzMmwwIDQ0OCA0NDggMCAwLTQ0OC00NDggMHpNMjQzLjggMzgxLjRjMCA0My42LTI1LjYgNjMuNS02Mi45IDYzLjUtMzMuNyAwLTUzLjItMTcuNC02My4yLTM4LjVMMTUyIDM4NS43YzYuNiAxMS43IDEyLjYgMjEuNiAyNy4xIDIxLjYgMTMuOCAwIDIyLjYtNS40IDIyLjYtMjYuNWwwLTE0My4xIDQyLjEgMCAwIDE0My43em05OS42IDYzLjVjLTM5LjEgMC02NC40LTE4LjYtNzYuNy00M0wzMDEgMzgyLjFjOSAxNC43IDIwLjggMjUuNiA0MS41IDI1LjYgMTcuNCAwIDI4LjYtOC43IDI4LjYtMjAuOCAwLTE0LjQtMTEuNC0xOS41LTMwLjctMjhsLTEwLjUtNC41Yy0zMC40LTEyLjktNTAuNS0yOS4yLTUwLjUtNjMuNSAwLTMxLjYgMjQuMS01NS42IDYxLjYtNTUuNiAyNi44IDAgNDYgOS4zIDU5LjggMzMuN0wzNjggMjkwYy03LjItMTIuOS0xNS0xOC0yNy4xLTE4LTEyLjMgMC0yMC4xIDcuOC0yMC4xIDE4IDAgMTIuNiA3LjggMTcuNyAyNS45IDI1LjZsMTAuNSA0LjVjMzUuOCAxNS4zIDU1LjkgMzEgNTUuOSA2Ni4yIDAgMzcuOC0yOS44IDU4LjYtNjkuNyA1OC42eiJdfSxtU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicXVpbnNjYXBlIixpY29uOls1MTIsNTEyLFtdLCJmNDU5IiwiTTMxMy43IDQ3NC42bC0xIDBjLTQxLjkgMC04Mi4xLTE2LjctMTExLjgtNDYuM3MtNDYuMy02OS45LTQ2LjMtMTExLjggMTYuNy04Mi4xIDQ2LjMtMTExLjggNjkuOS00Ni4zIDExMS44LTQ2LjNjOTQuOSAwIDE2OC4yIDgzLjEgMTU3IDE3Ni42IDQgNS4xIDguMiA5LjYgMTEuMiAxNS4zIDEzLjQtMzAuMyAyMC4zLTYyLjQgMjAuMy05Ny43IDAtMTM1LjEtMTA5LjUtMjQ0LjYtMjQ0LjYtMjQ0LjZTMTIuMSAxMTcuNSAxMi4xIDI1Mi42IDEyMS42IDQ5Ny4yIDI1Ni42IDQ5Ny4yYzIzLjggLjIgNDcuNi0zLjIgNzAuNC0xMC4xLTUuMi0zLjUtOC45LTguMS0xMy4zLTEyLjV6bTc4LjMtMTY5YTk5LjIgOTkuMiAwIDEgMCAwIDE5OC40IDk5LjIgOTkuMiAwIDEgMCAwLTE5OC40eiJdfSxnU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYWR2ZXJzYWwiLGljb246WzUxMiw1MTIsW10sImYzNmEiLCJNNDgyLjEgMzJMMjguNyAzMkM1LjggMzIgMCAzNy45IDAgNjAuOUwwIDQ1MS4xQzAgNDc0LjQgNS44IDQ4MCAyOC43IDQ4MGw0NTMuNCAwYzI0LjQgMCAyOS45LTUuMiAyOS45LTI5LjdsMC0zODguMWMwLTI0LjYtNS40LTMwLjItMjkuOS0zMC4yek0xNzguNCAyMjAuM2MtMjcuNS0yMC4yLTcyLjEtOC43LTg0LjIgMjMuNC00LjMgMTEuMS05LjMgOS41LTE3LjUgOC4zLTkuNy0xLjUtMTcuMi0zLjItMjIuNS01LjUtMjguOC0xMS40IDguNi01NS4zIDI0LjktNjQuMyA0MS4xLTIxLjQgODMuNC0yMi4yIDEyNS4zLTQuOCA0MC45IDE2LjggMzQuNSA1OS4yIDM0LjUgMTI4LjUgMi43IDI1LjgtNC4zIDU4LjMgOS4zIDg4LjggMS45IDQuNCAuNCA3LjktMi43IDEwLjctOC40IDYuNy0zOS4zIDIuMi00Ni42LTcuNC0xLjktMi4yLTEuOC0zLjYtMy45LTYuMi0zLjYtMy45LTcuMy0yLjItMTEuOSAxLTU3LjQgMzYuNC0xNDAuMyAyMS40LTE0Ny00My4zLTMuMS0yOS4zIDEyLjQtNTcuMSAzOS42LTcxIDM4LjItMTkuNSAxMTIuMi0xMS44IDExNC0zMC45IDEuMS0xMC4yLTEuOS0yMC4xLTExLjMtMjcuM3ptMjg2LjcgMjIyYzAgMTUuMS0xMS4xIDkuOS0xNy44IDkuOWwtMzk0LjkgMGMtNy40IDAtMTguMiA0LjgtMTcuOC0xMC43IC40LTEzLjkgMTAuNS05LjEgMTcuMS05LjEgMTMyLjMtLjQgMjY0LjUtLjQgMzk2LjggMCA2LjggMCAxNi42LTQuNCAxNi42IDkuOXptMy44LTM0MC41bDAgMjkxYzAgNS43LS43IDEzLjktOC4xIDEzLjktMTIuNC0uNC0yNy41IDcuMS0zNi4xLTUuNi01LjgtOC43LTcuOC00LTEyLjQtMS4yLTUzLjQgMjkuNy0xMjguMSA3LjEtMTQ0LjQtODUuMi02LjEtMzMuNC0uNy02Ny4xIDE1LjctMTAwIDExLjgtMjMuOSA1Ni45LTc2LjEgMTM2LjEtMzAuNWwwLTcxYzAtMjYuMi0uMS0yNi4yIDI2LTI2LjIgMy4xIDAgNi42IC40IDkuNyAwIDEwLjEtLjggMTMuNiA0LjQgMTMuNiAxNC4zLS4xIC4yLS4xIC4zLS4xIC41ek00MTcuNCAzMzQuMWMtMTkuNSA0Ny42LTcyLjkgNDMuMy05MCA1LjItMTUuMS0zMy4zLTE1LjUtNjguMiAuNC0xMDEuNSAxNi4zLTM0LjEgNTkuNy0zNS43IDgxLjUtNC44IDIwLjYgMjguOCAxNC45IDg0LjYgOC4xIDEwMS4xek0xMjIuNiAzNjkuNGMtNy41LTEuMy0zMy0zLjMtMzMuNy0yNy44LS40LTEzLjkgNy44LTIzIDE5LjgtMjUuOCAyNC40LTUuOSA0OS4zLTkuOSA3My43LTE0LjcgOC45LTIgNy40IDQuNCA3LjggOS41IDEuNCAzMy0yNi4xIDU5LjItNjcuNiA1OC44eiJdfSxiU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucyIsaWNvbjpbNTEyLDUxMixbXSwiZjI1ZSIsIk0yNTMuOCAyMTQuOWwtMzMuMiAxNy4zYy05LjQtMTkuNi0yNS4yLTE5LjktMjcuNS0xOS45LTIyLjEgMC0zMy4yIDE0LjYtMzMuMiA0My44IDAgMjMuNiA5LjIgNDMuOCAzMy4yIDQzLjggMTQuNSAwIDI0LjYtNy4xIDMwLjYtMjEuM2wzMC42IDE1LjVjLTYuMiAxMS41LTI1LjcgMzktNjUuMSAzOS0yMi42IDAtNzQtMTAuMy03NC03NyAwLTU4LjcgNDMtNzcuMSA3Mi42LTc3LjEgMzAuNyAwIDUyLjcgMTEuOSA2NiAzNS45em0xNDMgMGwtMzIuOCAxNy4zYy05LjUtMTkuOC0yNS43LTE5LjktMjcuOS0xOS45LTIyLjEgMC0zMy4yIDE0LjYtMzMuMiA0My44IDAgMjMuNSA5LjIgNDMuOCAzMy4yIDQzLjggMTQuNCAwIDI0LjYtNy4xIDMwLjUtMjEuM2wzMSAxNS41Yy0yLjEgMy44LTIxLjQgMzktNjUuMSAzOS0yMi43IDAtNzQtOS45LTc0LTc3IDAtNTguNyA0My03Ny4xIDcyLjYtNzcuMSAzMC43IDAgNTIuNiAxMS45IDY1LjYgMzUuOXpNMjU1LjYgOEMxMTIuNyA4IDggMTIzLjEgOCAyNTYuMSA4IDM5NC41IDEyMS42IDUwNC4xIDI1NS42IDUwNC4xIDM4NS41IDUwNC4xIDUwNCA0MDMuMiA1MDQgMjU2LjEgNTA0IDExOC4yIDM5Ny40IDggMjU1LjYgOHptLjkgNDUwLjhjLTExMi41IDAtMjAzLjctOTMtMjAzLjctMjAyLjggMC0xMDUuNCA4NS40LTIwMy4zIDIwMy43LTIwMy4zIDExMi41IDAgMjAyLjggODkuNSAyMDIuOCAyMDMuMyAwIDEyMS43LTk5LjcgMjAyLjgtMjAyLjggMjAyLjh6Il19LHZTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJub3Rpb24iLGljb246WzUxMiw1MTIsW10sImU3ZDkiLCJNOTQuOSAxMDAuMmMxNC45IDEyLjEgMjAuNSAxMS4yIDQ4LjYgOS4zTDQwNy44IDkzLjZjNS42IDAgLjktNS42LS45LTYuNUwzNjIuOSA1NS40Yy04LjQtNi41LTE5LjYtMTQtNDEuMS0xMi4xTDY1LjkgNjEuOWMtOS4zIC45LTExLjIgNS42LTcuNSA5LjNsMzYuNCAyOC45em0xNS45IDYxLjZsMCAyNzguMWMwIDE0LjkgNy41IDIwLjUgMjQuMyAxOS42bDI5MC41LTE2LjhjMTYuOC0uOSAxOC43LTExLjIgMTguNy0yMy4zbDAtMjc2LjJjMC0xMi4xLTQuNy0xOC43LTE1LTE3LjdMMTI1LjcgMTQzLjFjLTExLjIgLjktMTQuOSA2LjUtMTQuOSAxOC43em0yODYuNyAxNC45YzEuOSA4LjQgMCAxNi44LTguNCAxNy44bC0xNCAyLjggMCAyMDUuM2MtMTIuMiA2LjUtMjMuNCAxMC4zLTMyLjcgMTAuMy0xNSAwLTE4LjctNC43LTI5LjktMTguN2wtOTEuNS0xNDMuNyAwIDEzOSAyOSA2LjVzMCAxNi44LTIzLjQgMTYuOGwtNjQuNCAzLjdjLTEuOS0zLjcgMC0xMy4xIDYuNS0xNC45bDE2LjgtNC43IDAtMTgzLjgtMjMuMy0xLjljLTEuOS04LjQgMi44LTIwLjUgMTUuOS0yMS41bDY5LjEtNC43IDk1LjMgMTQ1LjYgMC0xMjguOC0yNC4zLTIuOGMtMS45LTEwLjMgNS42LTE3LjcgMTQuOS0xOC43bDY0LjUtMy44ek00NC40IDM2LjdMMzEwLjYgMTcuMWMzMi43LTIuOCA0MS4xLS45IDYxLjYgMTRsODUgNTkuN2MxNCAxMC4zIDE4LjcgMTMuMSAxOC43IDI0LjNsMCAzMjcuNmMwIDIwLjUtNy41IDMyLjctMzMuNiAzNC41TDEzMy4yIDQ5NS44Yy0xOS42IC45LTI5LTEuOS0zOS4yLTE0LjlMMzEuNCAzOTkuN2MtMTEuMi0xNC45LTE1LjktMjYuMS0xNS45LTM5LjJsMC0yOTEuMmMwLTE2LjggNy41LTMwLjggMjguOS0zMi43eiJdfSx4U3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2hyb21lY2FzdCIsaWNvbjpbNTEyLDUxMixbXSwiZjgzOCIsIk00NDggNjRMNjQuMiA2NGMtMjMuNiAwLTQyLjcgMTkuMS00Mi43IDQyLjdsMCA2My45IDQyLjcgMCAwLTYzLjkgMzgzLjggMCAwIDI5OC42LTE0OS4yIDAgMCA0Mi43IDE0OS40IDBjMjMuNiAwIDQyLjctMTkuMSA0Mi43LTQyLjdsMC0yOTguNkM0OTAuOSA4My4xIDQ3MS42IDY0IDQ0OCA2NHpNMjEuNSAzODMuNmwwIDYzLjkgNjMuOSAwYzAtMzUuMy0yOC42LTYzLjktNjMuOS02My45em0wLTg1bDAgNDIuNGM1OC45IDAgMTA2LjYgNDguMSAxMDYuNiAxMDdsNDIuNyAwYy4xLTgyLjQtNjYuOS0xNDkuMy0xNDkuMy0xNDkuNHpNMjEzLjYgNDQ4bDQyLjcgMEMyNTUuOCAzMTguNSAxNTEgMjEzLjcgMjEuNSAyMTMuNGwwIDQyLjRjMTA2LS4yIDE5MiA4Ni4yIDE5Mi4xIDE5Mi4yeiJdfSx5U3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidWx0cmFseXRpY3MtaHViIixpY29uOls1MTIsNTEyLFtdLCJlODZlIiwiTTEzMC40IDE2YzYwLjkgMCAxMTAuNCA0OS41IDExMC40IDExMC40bDAgMjQuOWM0LjgtLjcgOS43LTEgMTQuNi0xIDg4LjEtLjIgMTY1LjEgNDkgMjA1LjQgMTIxLjItMjIuOC0xNi4yLTUwLjctMjUuNC04MC40LTI1LjMtNzcuMSAuMi0xMzkuNSA2Mi42LTEzOS42IDEzOS40LS4xIDYwLjktNDkuNSAxMTAuMy0xMTAuNyAxMTAuNS02MC42IC4yLTExMC4yLTQ5LjUtMTEwLjItMTEwLjUgLjItMi42IDAgMCAuMS0zLjJsMC0yNTZDMjAuMSA2NS41IDY5LjUgMTYgMTMwLjQgMTZ6TTM4MC4zIDQ5NmExMTAuNCAxMTAuNCAwIDEgMSAwLTIyMC45IDExMC40IDExMC40IDAgMSAxIDAgMjIwLjl6Il19LHdTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3aWtpcGVkaWEtdyIsaWNvbjpbNjQwLDUxMixbXSwiZjI2NiIsIk02NDAgNTEuMmwtLjMgMTIuMmMtMjguMSAuOC00NSAxNS44LTU1LjggNDAuMy0yNSA1Ny44LTEwMy4zIDI0MC0xNTUuMyAzNTguNmwtMTMuNiAwLTgxLjktMTkzLjFjLTMyLjUgNjMuNi02OC4zIDEzMC05OS4yIDE5My4xLS4zIC4zLTE1IDAtMTUtLjMtNDYuOS0xMDkuNy05Ni4xLTIxOC42LTE0My4xLTMyOC42LTExLjQtMjYuNy00OS40LTcwLTc1LjYtNjkuNyAwLTMuMS0uMy0xMC0uMy0xNC4ybDE2MS45IDAgMCAxMy45Yy0xOS4yIDEuMS01Mi44IDEzLjMtNDMuMyAzNC4yIDIxLjkgNDkuNyAxMDMuNiAyNDAuMyAxMjUuNiAyODguNiAxNS0yOS43IDU3LjgtMTA5LjIgNzUuMy0xNDIuOC0xMy45LTI4LjMtNTguNi0xMzMuOS03Mi44LTE2MC05LjctMTcuOC0zNi4xLTE5LjQtNTUuOC0xOS43bDAtMTMuOSAxNDIuNSAuMyAwIDEzLjFjLTE5LjQgLjYtMzguMSA3LjgtMjkuNCAyNi4xIDE4LjkgNDAgMzAuNiA2OC4xIDQ4LjEgMTA0LjcgNS42LTEwLjggMzQuNy02OS40IDQ4LjEtMTAwLjggOC45LTIwLjYtMy45LTI4LjYtMzguNi0yOS40IC4zLTMuNiAwLTEwLjMgLjMtMTMuNiA0NC40LS4zIDExMS4xLS4zIDEyMy4xLS42bDAgMTMuNkM0NjIuNCA2NCA0MzkuMSA3NiA0MjYuOCA5NC45TDM2Ny42IDIxNy43YzYuNCAxNi4xIDYzLjMgMTQyLjggNjkuMiAxNTYuN0w1NTkuMiA5MS44Yy04LjYtMjMuMS0zNi40LTI4LjEtNDcuMi0yOC4zbDAtMTMuOSAxMjcuOCAxLjEgLjIgLjV6Il19LE1TdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaXRyb3giLGljb246WzQ0OCw1MTIsW10sImU0NGEiLCJNMjEyLjQgMGwwIDAgMjM1LjYgMCAwIDEyOC0zODQgMEM2NCA1Ny42IDE0MS44IC41IDIxMi40IDB6bTI0LjggMTkybDAgMGM2OS45IC41IDE0Ni43IDU3LjYgMTQ2LjcgMTI4bC0xNzMuMiAwIDAgMEMxNDAuOSAzMTkuNiA2NCAyNjIuNCA2NCAxOTJsMTczLjMgMHptLTEuNyAzMjBjNzAuNy0uNSAxNDguNC01Ny42IDE0OC40LTEyOGwtMzg0IDAgMCAxMjggMjM1LjYgMCAwIDB6Il19LEt1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZ2l0bGFiIixpY29uOls0NDgsNTEyLFsiZ2l0bGFiLXNxdWFyZSJdLCJlNWFlIiwiTTAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NnptMzM3LjUgMTIuNWw0NC42IDExNi40IC40IDEuMmM1LjYgMTYuOCA3LjIgMzUuMiAyLjMgNTIuNS01IDE3LjItMTUuNCAzMi40LTI5LjggNDMuM2wtLjIgLjEtNjguNCA1MS4yLTU0LjEgNDAuOWMtLjUgLjItMS4xIC41LTEuNyAuOC0yIDEtNC40IDItNi43IDItMyAwLTYuOC0xLjgtOC4zLTIuOGwtNTQuMi00MC45LTY3LjktNTAuOS0uNC0uMy0uMi0uMWMtMTQuMy0xMC44LTI0LjgtMjYtMjkuNy00My4zcy00LjItMzUuNyAyLjItNTIuNWwuNS0xLjIgNDQuNy0xMTYuNGMuOS0yLjMgMi41LTQuMyA0LjUtNS42IDEuNi0xIDMuNC0xLjYgNS4yLTEuOCAxLjMtLjcgMi4xLS40IDMuNCAuMSAuNiAuMiAxLjIgLjUgMiAuNyAxIC40IDEuNiAuOSAyLjQgMS41IC42IC40IDEuMiAxIDIuMSAxLjUgMS4yIDEuNCAyLjIgMyAyLjcgNC44bDI5LjIgOTIuMiAxMjIuOSAwIDMwLjItOTIuMmMuNS0xLjggMS40LTMuNCAyLjYtNC44czIuOC0yLjQgNC41LTMuMWMxLjctLjYgMy42LS45IDUuNC0uN3MzLjYgLjggNS4yIDEuOGMyIDEuMyAzLjcgMy4zIDQuNiA1LjZ6Il19LGtTdD1LdWUsU1N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNob2VsYWNlIixpY29uOls1MTIsNTEyLFtdLCJlNjBjIiwiTTQwNS4yIDMzMWMyLjItMS4xIDQuNC0yLjMgNi41LTMuN2w4LjMtNC44YzEuNS0xLjEgNC40LTMuNCA4LjctNi43bC41LS41YzMuNC0zLjQgNy4yLTUgMTEuMy00LjkgMS44IDAgMy45IC41IDYuNCAxLjVsMzEtMjcuNWMuOS0uNyAxLjctMS4zIDIuNi0xLjhsLjIgMGMzLjMtMS45IDYtMS44IDguMiAuNCAzLjkgMi4xIDQuMiA1LjYgLjkgMTAuNkw0NTcuMiAzMjJjLjIgLjUgLjQgMSAuNCAxLjUgLjUgMi4yIC4zIDQuNC0uNSA2LjYtLjcgMS41LTEuOCAyLjktMy4xIDQuMi0xLjQgMS40LTIuNyAyLjgtNC4yIDQuMkw0MzEgMzUyLjJjLTEuNyAxLjItMy40IDIuMy01LjEgMy4zLTIuMSAxLjMtNC4zIDIuNS02LjYgMy42LTEgLjQtMS45IC45LTIuOSAxLjMtNS45IDIuNS0xMS45IDQuMi0xOC4yIDUtMi45IDI0LjUtMTEuMyA0Ny4xLTI1LjEgNjcuOC0xNy41IDI1LjctNDEuNCA0NS40LTcxLjggNTguOC0zMC4yIDEzLjUtNjMgMjAuMi05OC4yIDIwLjItNDguNi0uNS04OC0xMS40LTExOC4yLTMyLjgtMzUuMS0yNS01Mi42LTU3LjktNTIuNi05OS4xbDAtNS42YzEuMi0yOC4xIDkuNS01NC42IDI0LjgtNzkuOCAxNS4xLTI0LjkgMzcuMS00MS43IDY2LjEtNTAuNSAxNC45LTQuNCAyOS45LTYuNiA0NS02LjYgMTUuNSAwIDMxLjYgMi45IDQ4LjEgOC42czM1LjIgMTUuNSA1NS45IDI5LjVsNTQuMSAzNi4zYzE1LjEgOS44IDI4LjggMTYuNSA0MS4yIDIwLTIuNi0yNS4xLTExLjctNDYuNi0yNy4zLTY0LjUtMTUuNy0xOC4xLTM1LjYtMzEuMy01OS45LTM5LjdMMjU3IDIyMGMtMjEuNC03LjUtMzcuMy0xNC45LTQ3LjctMjIuMi0yOC4yLTE5LjEtNDMuOC00NS4yLTQ3LTc4LjVsLS41LTkuOGMwLTMyLjEgMTMtNTguOSAzOS04MC41IDIzLTE5LjMgNTAuNi0yOSA4Mi41LTI5IDI0IDAgNDUuNiA2LjkgNjQuNyAyMC44IDE5LjIgMTQgMzAuMSAzMy44IDMyLjYgNTkuNGwuNSAxMGMwIDE4LjYtNC44IDM0LjUtMTQuNCA0Ny43LTkuOCAxMy4yLTE4LjUgMTkuOS0yNiAxOS45LTEuNi0uMS0zLjEtLjMtNC41LS42bC0zNCAzMmMtNS41IDMtOS4yIDIuNS0xMS4xLTEuNi0xLjktMi4yLTEuOC00LjkgLjUtOC4ybC4yLS4yYy41LS43IDEuMi0xLjUgMi0yLjRsMzEuNi0zMGMtLjQtMS41LS42LTMuMS0uNi00LjggMC00LjEgMS42LTcuNiA0LjktMTAuNCAxMy44LTEyLjQgMjAuOC0yNi43IDIwLjgtNDIuOCAwLTE2LTYuMS0yOS41LTE4LjItNDAuNHMtMjguNy0xNi41LTQ5LjctMTYuOGMtMjYuMiAwLTQ3LjggNy45LTY0LjcgMjMuN1MxOTIuNiA4OS45IDE5Mi42IDExMmMwIDE3LjggNi45IDMzLjkgMjAuNiA0OC4zIDEzLjYgMTQuMiAzNC42IDI1LjQgNjMgMzMuNSAzOS44IDExLjUgNzAuMiAzMSA5MS4zIDU4LjMgMTguNyAyNC4yIDI5LjEgNTEuMyAzMS4zIDgxLjQgMi4yLS43IDQuMy0xLjUgNi41LTIuNmwtLjEgLjF6TTI5NC40IDE3OC43YzAgMS4xIC42IDEuNiAxLjggMS42IC4xIDAgOS43LTguOSAyOC44LTI2LjYgMC0yLjQtNS4xIC45LTE1LjMgMTAtMTAuMiA5LjItMTUuMyAxNC4yLTE1LjMgMTQuOWwwIC4xem04IDYuNGMwLTEtLjUtMS41LTEuNS0xLjUtMS4xIDAtMi4xIC41LTIuOSAxLjYtMS45LS4xLTMuMyAuMS00LjIgLjctLjQgLjItLjUgLjUtLjUgLjcgMCAuNyAuNSAxLjMgMS41IDEuNmwzLjMgMGMyLjktMS4xIDQuNC0yLjIgNC40LTMuM2wtLjEgLjJ6TTMyNSAxNjUuMmMwLTIuOC0xLjYtMi44LTQuOSAwLTEuNiAxLjUtMy42IDMuNS02IDYuMi0uOCAuNi0yLjYgMi4yLTUuMyA0LjktMi44IDIuOS00LjIgNC43LTQuMiA1LjNsLjIgMS4zYy43IC4yIDEuMiAuNCAxLjUgLjQgLjEgMCAzLjMtMi45IDkuNS04LjdzOS4zLTguOSA5LjMtOS4zbC0uMS0uMXptMTU5LjcgMTIwbC0zMC42IDI3YzEuOCAxIDMuMiAyLjQgNCA0LjJsMzAuMi0yN2MuMi0xLjIgLjEtMi4yLS41LTIuOS0uNi0uNS0xLjYtLjktMy4xLTEuM3ptLTEuNi0uOWwtLjctLjctMjcgMjEuOSAxLjYgMiAyNi0yMy4xIC4xLS4xek0zNjYuOSAzNjMuOWMtOC0yLjEtMTUuNC00LjYtMjIuMi03LjUtMTUuMy02LjItMzQuMy0xNy01Ny0zMi40bC0zNy40LTI1LjNjLTE1LjgtMTAuMS0zMC4yLTE3LjYtNDMuMi0yMi42LTEzLjEtNC45LTI2LTcuMy0zOC42LTcuM2wtNS41IDBjLTMyLjIgMS43LTU3LjIgMTMuOC03NSAzNi4yLTE2LjYgMjAuOC0yNSA0NS4zLTI1IDczLjYgMCAzMS44IDEyLjggNTYuNyAzOC4yIDc0LjcgMjUuNCAxOC4xIDYwLjIgMjcuMSAxMDQuNCAyNy4xIDM0LjcgMCA2NC02LjIgODcuOC0xOC42IDIzLjctMTIuNCA0Mi4xLTI4LjggNTUuMi00OS4yIDkuOC0xNS41IDE1LjktMzEuOCAxOC4yLTQ4LjhsLjEgLjF6Il19LHpTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvcGVuc3RyZWV0bWFwIixpY29uOls1MTIsNTEyLFtdLCJlODZiIiwiTTYxIDQ5OC43Yy03LjEtMS44LTEwLjgtNC43LTI5LjYtMjMuNi0yMi41LTIyLjQtMjMuOS0yNC42LTIzLjktMzYuMyAwLTEzLTMuOS04LjQgNjcuOS04MC4zIDcyLjUtNzIuNyA2OC43LTY5LjUgODEuOS02OS41IDYuMSAwIDcuNiAuNCAxMi41IDIuOGw1LjYgMi44YzExLjctMTEuNyAyMy40LTIzLjQgMzUuMS0zNS4xbC00LjQtNi45Yy04LjYtMTMuMy0xNi42LTMyLjgtMjAuMy00OC45LTEwLjItNDUuNCAuOC05My4zIDI5LjgtMTI5LjcgNTAuMS02Mi44IDE0MC4xLTc2LjcgMjA2LjYtMzIgMzYuNSAyNC41IDYwLjMgNjIuNSA2NyAxMDcgMS40IDkuNCAxLjQgMzEuOCAwIDQxLjgtNC45IDM0LjYtMTkuNyA2NC00NC40IDg4LjctMTIuNyAxMi43LTIzIDIwLjEtMzkuMiAyOC4yLTE5LjMgOS43LTM1LjcgMTQuMy01OCAxNi4xLTMxLjcgMi42LTY2LjktNi4xLTkzLjgtMjMuNGwtNi45LTQuNGMtMTEuNyAxMS43LTIzLjQgMjMuNC0zNS4xIDM1LjFsMi44IDUuNmMyLjUgNC45IDIuOCA2LjQgMi44IDEyLjUgMCAxMy4xIDMuMSA5LjQtNjkgODEuNS01NS42IDU1LjUtNjQuMSA2My43LTY4LjQgNjUuNy01LjUgMi41LTEzLjkgMy40LTE5IDIuMXpNMzU5LjQgMjk2LjljNDAuMS03LjMgNzUuMS0zNCA5Mi43LTcwLjcgMjgtNTguNCA5LjItMTI3LTQ0LjgtMTYzLjMtMTIuOS04LjctMzAuOC0xNi00Ny43LTE5LjQtMTEuNy0yLjQtMzYuNC0yLjEtNDguNiAuNS0xOC4yIDMuOS0zNC45IDExLjEtNDkuNCAyMS40LTguOSA2LjQtMjMuNyAyMS4xLTI5LjkgMjkuOS0zNC42IDQ5LTMxLjUgMTE0LjEgNy43IDE1OS4zIDIwLjEgMjMuMiA0Ny44IDM4LjQgNzguNiA0MyAxMC4yIDEuNSAzMSAxLjIgNDEuNS0uOHptLTM1LjUtMTcuNGMtMTMuOC0yLjItMjUuNi01LjctMzUuMS0xMC41bC01LjQtMi43IDAtNDkuOS05LjUgMGMtOC4yIDAtMTkuNSAxLjYtMjcuNyA0LTEuMSAuMy0xLjUgMS42LTEuNyA0LjhsLS4zIDQuNC00LjEtNy44Yy05LTE3LjItMTIuMi0zMC43LTEyLjItNTEuNCAwLTE2IDEuMS0yMy40IDUuNi0zNi4zIDIuNC02LjggOC4yLTE4LjkgMTAuOC0yMi4zIDEuMS0xLjUgMS4yLTEuMSAxLjMgMy4zbDAgNWMxOC44LS4yIDM3LjYtLjMgNTYuNC0uNSAuMi00LjcgLjMtOS41IC41LTE0LjJsLTE5IDAgMC0zMSAzLjQtMS43YzUuNi0yLjggMTUuOS02LjcgMjEuNy04LjIgMy0uOCA2LjEtMS42IDYuOS0xLjggMS4yLS40IDEuMyAuMSAuNyAzLjMtMS4yIDYuMS0uOSAyMyAuNSAyOSAyLjggMTEuOSA5LjggMjAuNyAxOS4yIDI0LjMgNS42IDIuMSAxNi4zIDIuNiAyMi41IC45IDUuOS0xLjYgMTIuNS02LjQgMTUuOS0xMS41IDUtNy41IDYuNy0xNC4xIDcuMi0yNy4xbC40LTExLjQgNyAzLjZjOCA0LjIgMTcuOCAxMS4yIDI0LjkgMTggNC44IDQuNiA1IDQuOCA1IDkuMmwwIDQuNS0xOC45IDAgMCAxNC42IDM1IDBjMS4zIDIuNiAyLjUgNS4yIDMuOCA3LjdsLTkuNyAwYy02LjcgMC0xMi43IC42LTE5LjQgMS45bC05LjcgMS45IDAgNy4xYzAgMy45IC4yIDcuMSAuMyA3LjFzNC4xLS44IDguNy0xLjcgOC43LTEuNyA5LjEtMS43Yy40IDAgLjggMTEuMyAuOCAyNS44bDAgMjUuOGMtNi4yIC4yLTEyLjMgLjMtMTguNSAuNS0uMiA0LjctLjMgOS40LS41IDE0LjIgMTMuNSAuMiAyNyAuMyA0MC40IC41LTEgMi4zLTIgNC41LTMgNi44bC0xMC43IC4xYy05LjkgLjEtMTEuMSAuMi0xNS42IDIuNS0xMS44IDUuOC0xOC4xIDE4LjktMTguMyAzNy45bC0uMSA5LjMtNS44IDNjLTUgMi42LTIyLjYgOS0yNC45IDktLjUgMC0uOC0xMi0uOC0zMC42bDAtMzAuNi05LjQgMGMtNiAwLTEyLjQgLjYtMTcuOSAxLjctMTIuNiAyLjYtMTEuNSAxLjctMTEuNSA5LjUgMCA1IC4zIDYuOCAxLjEgNi44IC42IDAgNC42LS44IDguOC0xLjdzOC0xLjcgOC4zLTEuNyAuNiAxMSAuNiAyNC41bDAgMjQuNS03LjUtLjFjLTQuMS0uMS04LjUtLjMtOS43LS41em0tMzkuNC03MS42YzguOS0zLjkgMTUuNi0xMi45IDE4LjMtMjQuNCAxLjYtNi45IDEuNy0yMi42IDAtMzAuMi0yLjUtMTItOS42LTIxLjEtMTkuMy0yNC44LTYuOS0yLjYtMTguNC0yLjYtMjUuMyAwLTkuNyAzLjctMTYuNCAxMi44LTE5LjIgMjUuNi0xLjYgNy41LTEuNiAyMS40IDAgMjguOSAyLjYgMTIuNSAxMC41IDIyLjMgMjAuNiAyNS42IDcgMi4zIDE4LjkgMiAyNC45LS43em0tMTkuOS0xNC41Yy0zLjUtMy01LjItOC45LTUuOC0yMC42LS42LTEwLjUgLjYtMjEuMyAyLjktMjYgMi00LjMgNS44LTYuNCAxMC40LTYgNy40IC44IDEwLjMgNi41IDExLjEgMjIuNSAuOSAxNi43LTEuOSAyOC45LTcgMzEuMy0zLjkgMS44LTguNiAxLjMtMTEuNi0xLjJ6bTk0LjkgMTUuMWMxNS00LjYgMjIuOC0yMC4xIDIxLjktNDMuNS0uOC0xOS45LTcuOS0zMi4xLTIxLjUtMzcuMi01LjctMi4xLTE4LTEuOC0yNCAuNS05LjYgMy43LTE2LjQgMTIuNC0xOS4zIDI0LjctMiA4LjYtMS4zIDI4IDEuMyAzNS4yIDQgMTEuMyAxMS42IDE4LjcgMjEuNCAyMSA1LjggMS40IDE0LjQgMSAyMC4zLS44em0tMTYuNy0xNC4yYy01LTIuNy03LjMtMTMuMi02LjUtMzAuMSAuNi0xMi44IDEuNS0xNi43IDQuOC0yMC40IDQuNy01LjMgMTMuNi0zLjggMTYuNyAyLjggMy40IDcuMyA0IDMwLjEgMSA0MC4yLTEuNyA1LjctNS4yIDguOC0xMC4xIDguNy0yIDAtNC42LS42LTUuOC0xLjN6bS04NS4yIDUxLjVjLTcuMy03LjYtOS45LTExLjQtOC40LTExLjkgMi45LS45IDEzLjktMy4xIDE0LjItMi44IC4yIC4yIC4yIDQuOSAuMSAxMC40bC0uMiAxMC4xLTUuNi01Ljl6bTE1Ni40LTEuMmMuNy02IDMuMS0xMS41IDUuNy0xMy4yIDIuOS0xLjggNi40LTIuNiA4LTEuNyAxLjIgLjcgLjkgMS41LTIuNCA1LjktMi4xIDIuOC01LjYgNy03LjggOS40bC00IDQuMyAuNS00Ljd6TTQzOC40IDE2MWwuMS0zMi45IDIuNiA3LjdjNS4xIDE1LjMgNi45IDMxLjggNS4xIDQ2LjYtMS40IDExLjYtMS40IDExLjUtNC45IDExLjVsLTMgMCAuMS0zMi45ek0zNDQgMTA2LjJjLTIuNi0xLTUuMy00LjgtNi41LTktMS4yLTQtMS41LTI4LjUtLjQtMzMuNSAuNi0zIC45LTMuMiAzLjgtMy4yIDYuMiAwIDE4LjMgMiAxOC43IDMuMSAuMiAuNiAuNyA0LjkgMSA5LjUgLjcgOS43LS43IDIzLjItMi44IDI3LjYtMi40IDUuMS04LjUgNy41LTEzLjcgNS4zem0tOTQuMy0yLjRjLjQtLjggMy43LTQuNiA3LjMtOC40bDYuNS02LjljMCA1LjYgMCAxMS4yIC4xIDE2LjhsLTcuMyAwYy02LjcgMC03LjMtLjEtNi41LTEuNXptMzQuNCAzNDEuN2MtMjQtNi45LTQzLjktMTIuOS00NC4yLTEzLjEtLjUtLjYgMjQuMy04OC41IDI1LjMtODkuNiAuNS0uNSA4NS40IDIzLjMgODguOSAyNC45IDEuMiAuNi0uMSA1LjgtMTAuNiA0Mi40LTYuNiAyMy0xMi40IDQzLjItMTIuOCA0NXMtMS40IDMuMi0xLjkgMy4xLTIwLjctNS44LTQ0LjctMTIuN3pNMzQyLjggNDU2YzAtMS4xIDI0LjctODcuMyAyNS4xLTg3LjYgLjktLjcgODcuMS0yNC43IDg3LjQtMjQuNCAuNCAuNC0yNC4xIDg3LjMtMjQuNyA4Ny45LS40IC4zLTgzLjIgMjQtODUuOCAyNC41LTEuMSAuMi0xLjkgLjEtMS45LS40ek0xOTkuNiA0MTcuNWMxNy0xNy4xIDMyLjItMzIuNyAzMy43LTM0LjcgMy40LTQuNSA4LjItMTQuOCA5LjUtMjAuNSAuNS0yLjQgMS4xLTcuMSAxLjItMTAuNWwuMi02LjIgMy43LTFjMi0uNiAzLjgtLjkgNC0uNyAuNSAuNS0yNC4zIDg3LTI1LjEgODcuOC0uNCAuMy0xMy42IDQuMy0yOS40IDguOGwtMjguNyA4LjIgMzEtMzEuMXptMTY2LjktNjEuNmMtLjItLjMtLjctMi0xLjItMy43bC0uOS0zLjIgMy4yLS41YzI3LTQuNiA1NS45LTE3LjMgNzguNy0zNC41IDMuMy0yLjUgNS4xLTMuNCA1LjMtMi43IDEuMSAzLjMgNS41IDE5LjEgNS40IDE5LjMtLjcgLjctOTAuMiAyNS44LTkwLjUgMjUuNHpNNjIuOSAzMjkuOGMtMS0uOC0yMy44LTc3LjktMjUuNS04Ni40LS4zLTEuNyAzLS45IDQzLjggMTAuOCA0Mi43IDEyLjIgNDQuMiAxMi43IDQ0LjggMTQuOSAuNSAyIC4yIDIuNi0yLjUgNC41LTEuNyAxLjItMTUuNSAxNC42LTMwLjcgMjkuOHMtMjcuOCAyNy42LTI4IDI3LjYtMS4xLS41LTEuOC0xLjF6bTE2LjUtODguMmMtMjMuOS02LjktNDMuNS0xMi42LTQzLjYtMTIuNi0uMy0uMiAyNS4zLTg5LjMgMjUuOS04OS44IC40LS40IDg5LjEgMjQuNCA5MCAyNS4yIC4yIC4yLTUuNCAyMC41LTEyLjQgNDUuMS0xMS42IDQwLjctMTIuOSA0NC44LTE0LjUgNDQuNy0xIDAtMjEuMy01LjctNDUuMi0xMi42em01OS42IDEwLjhjLjItLjYgNC4zLTE0LjUgOC45LTMwLjlsOC41LTI5LjcgMS4xIDYuNWMxLjkgMTEuMiA1LjMgMjMuOSA5LjMgMzUuMSAyLjEgNS45IDMuOCAxMC45IDMuNiAxMXMtNi43IDItMTQuNSA0LjMtMTQuOSA0LjItMTUuOCA0LjVjLTEuMSAuMy0xLjUgLjEtMS4yLS43ek0xMDYgMTM5LjFjLTIzLjktNi45LTQzLjctMTIuOC00My45LTEzLjItLjgtMS4zLTI1LjEtODctMjQuNy04Ny40IC41LS41IDg2LjggMjQuMyA4Ny42IDI1LjEgLjkgMSAyNS44IDg4LjIgMjUuMSA4OC0uMyAwLTIwLjEtNS43LTQ0LTEyLjZ6bTQzLjItMzQuNUMxMzYuNSA2MCAxMzkgNjguOCAxMzcuMiA2Mi41bDM0LjEtOS43YzE4LjgtNS40IDM0LjctOS45IDM1LjQtMTAuMnMtMS42IDIuOC01LjIgNi44Yy0xOS4xIDIxLjMtMzEuNSA0NC0zOS40IDcxLjktMS41IDUuMi0yLjcgMTAuMy0yLjcgMTEuMyAwIDUuOS0yLjMtLjUtMTAuMi0yOHoiXX0sQ1N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNlbGxjYXN0IixpY29uOls0NDgsNTEyLFtdLCJmMmRhIiwiTTM1My41IDMyTDk0LjggMzJDNDIuNyAzMiAuMSA3NC42IC4xIDEyNi42bDAgMjU4LjdDLjEgNDM3LjQgNDIuNyA0ODAgOTQuOCA0ODBsMjU4LjcgMGM1Mi4xIDAgOTQuNy00Mi42IDk0LjctOTQuNmwwLTI1OC44YzAtNTItNDIuNi05NC42LTk0LjctOTQuNnptLTUwIDMxNi40Yy0yNy45IDQ4LjItODkuOSA2NC45LTEzOC4yIDM3LjItMjIuOSAzOS44LTU0LjkgOC42LTQyLjMtMTMuMmwxNS43LTI3LjJjNS45LTEwLjMgMTkuMi0xMy45IDI5LjUtNy45IDE4LjYgMTAuOC0uMS0uMSAxOC41IDEwLjcgMjcuNiAxNS45IDYzLjQgNi4zIDc5LjQtMjEuMyAxNS45LTI3LjYgNi4zLTYzLjQtMjEuMy03OS40LTE3LjgtMTAuMi0uNi0uNC0xOC42LTEwLjYtMjQuNi0xNC4yLTMuNC01MS45IDIxLjYtMzcuNSAxOC42IDEwLjgtLjEtLjEgMTguNSAxMC43IDQ4LjQgMjggNjUuMSA5MC4zIDM3LjIgMTM4LjV6bTIxLjgtMjA4LjhjLTE3IDI5LjUtMTYuMyAyOC44LTE5IDMxLjUtNi41IDYuNS0xNi4zIDguNy0yNi41IDMuNi0xOC42LTEwLjggLjEgLjEtMTguNS0xMC43LTI3LjYtMTUuOS02My40LTYuMy03OS40IDIxLjNzLTYuMyA2My40IDIxLjMgNzkuNGMwIDAgMTguNSAxMC42IDE4LjYgMTAuNiAyNC42IDE0LjIgMy40IDUxLjktMjEuNiAzNy41LTE4LjYtMTAuOCAuMSAuMS0xOC41LTEwLjctNDguMi0yNy44LTY0LjktOTAuMS0zNy4xLTEzOC40IDI3LjktNDguMiA4OS45LTY0LjkgMTM4LjItMzcuMmw0LjgtOC40YzE0LjMtMjQuOSA1Mi0zLjMgMzcuNyAyMS41eiJdfSxfU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWl4IixpY29uOls0NDgsNTEyLFtdLCJmM2NiIiwiTTAgNjRMMCA0MTIuOWMwIDU2LjIgODggNTguMSA4OCAwbDAtMjM4LjZjNy45LTUyLjkgODgtNTAuNCA4OCA2LjVsMCAxNzUuM2MwIDU3LjkgOTYgNTggOTYgMEwyNzIgMjQwYzUuMy01NC43IDg4LTUyLjUgODggNC4zbDAgMjMuOGMwIDU5LjkgODggNTYuNiA4OCAwTDQ0OCA2NCAwIDY0eiJdfSxUU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2MtYXBwbGUtcGF5IixpY29uOls1NzYsNTEyLFtdLCJmNDE2IiwiTTMwMi4yIDIxOC40YzAgMTcuMi0xMC41IDI3LjEtMjkgMjcuMWwtMjQuMyAwIDAtNTQuMiAyNC40IDBjMTguNCAwIDI4LjkgOS44IDI4LjkgMjcuMXpNMzQ5LjcgMjgxYzAgOC4zIDcuMiAxMy43IDE4LjUgMTMuNyAxNC40IDAgMjUuMi05LjEgMjUuMi0yMS45bDAtNy43LTIzLjUgMS41Yy0xMy4zIC45LTIwLjIgNS44LTIwLjIgMTQuNHpNNTc2IDc5bDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ3OWMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA3OUMwIDUyLjUgMjEuNSAzMSA0OCAzMWw0ODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTI3LjggMTk3LjJjOC40IC43IDE2LjgtNC4yIDIyLjEtMTAuNCA1LjItNi40IDguNi0xNSA3LjctMjMuNy03LjQgLjMtMTYuNiA0LjktMjEuOSAxMS4zLTQuOCA1LjUtOC45IDE0LjQtNy45IDIyLjh6bTYwLjYgNzQuNWMtLjItLjItMTkuNi03LjYtMTkuOC0zMC0uMi0xOC43IDE1LjMtMjcuNyAxNi0yOC4yLTguOC0xMy0yMi40LTE0LjQtMjcuMS0xNC43LTEyLjItLjctMjIuNiA2LjktMjguNCA2LjktNS45IDAtMTQuNy02LjYtMjQuMy02LjQtMTIuNSAuMi0yNC4yIDcuMy0zMC41IDE4LjYtMTMuMSAyMi42LTMuNCA1NiA5LjMgNzQuNCA2LjIgOS4xIDEzLjcgMTkuMSAyMy41IDE4LjcgOS4zLS40IDEzLTYgMjQuMi02IDExLjMgMCAxNC41IDYgMjQuMyA1LjkgMTAuMi0uMiAxNi41LTkuMSAyMi44LTE4LjIgNi45LTEwLjQgOS44LTIwLjQgMTAtMjF6bTEzNS40LTUzLjRjMC0yNi42LTE4LjUtNDQuOC00NC45LTQ0LjhsLTUxLjIgMCAwIDEzNi40IDIxLjIgMCAwLTQ2LjYgMjkuMyAwYzI2LjggMCA0NS42LTE4LjQgNDUuNi00NXptOTAgMjMuN2MwLTE5LjctMTUuOC0zMi40LTQwLTMyLjQtMjIuNSAwLTM5LjEgMTIuOS0zOS43IDMwLjVsMTkuMSAwYzEuNi04LjQgOS40LTEzLjkgMjAtMTMuOSAxMyAwIDIwLjIgNiAyMC4yIDE3LjJsMCA3LjUtMjYuNCAxLjZjLTI0LjYgMS41LTM3LjkgMTEuNi0zNy45IDI5LjEgMCAxNy43IDEzLjcgMjkuNCAzMy40IDI5LjQgMTMuMyAwIDI1LjYtNi43IDMxLjItMTcuNGwuNCAwIDAgMTYuNCAxOS42IDAgMC02OCAuMSAwek01MTYgMjEwLjlsLTIxLjUgMC0yNC45IDgwLjYtLjQgMC0yNC45LTgwLjYtMjIuMyAwIDM1LjkgOTkuMy0xLjkgNmMtMy4yIDEwLjItOC41IDE0LjItMTcuOSAxNC4yLTEuNyAwLTQuOS0uMi02LjItLjNsMCAxNi40YzEuMiAuNCA2LjUgLjUgOC4xIC41IDIwLjcgMCAzMC40LTcuOSAzOC45LTMxLjhMNTE2IDIxMC45eiJdfSxMU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic29sYW5hIixpY29uOls1MTIsNTEyLFtdLCJlODVlIiwiTTUxMC41IDM4NS4ybC04NC45IDg4LjdjLTEuOCAxLjktNC4xIDMuNS02LjYgNC41cy01LjIgMS42LTcuOSAxLjZMOC45IDQ4MGMtMS45IDAtMy44LS41LTUuNC0xLjZzLTIuOS0yLjUtMy42LTQuMi0xLTMuNi0uNy01LjUgMS4yLTMuNiAyLjUtNC45bDg0LjktODguN2MxLjgtMS45IDQuMS0zLjUgNi41LTQuNXM1LjEtMS42IDcuOC0xLjZsNDAyLjQgMGMxLjkgMCAzLjggLjUgNS40IDEuNnMyLjkgMi41IDMuNiA0LjIgMSAzLjYgLjcgNS41LTEuMiAzLjYtMi41IDQuOXpNNDI1LjcgMjA2LjZjLTEuOC0xLjktNC4xLTMuNS02LjYtNC41cy01LjItMS42LTcuOS0xLjZsLTQwMi40IDBjLTEuOSAwLTMuOCAuNS01LjQgMS42cy0yLjkgMi41LTMuNiA0LjItMSAzLjYtLjcgNS41IDEuMiAzLjYgMi41IDQuOWw4NC45IDg4LjdjMS44IDEuOSA0LjEgMy41IDYuNSA0LjVzNS4xIDEuNiA3LjggMS42bDQwMi40IDBjMS45IDAgMy44LS41IDUuNC0xLjZzMi45LTIuNSAzLjYtNC4yIDEtMy42IC43LTUuNS0xLjItMy42LTIuNS00LjlsLTg0LjktODguN3pNOC45IDE0Mi45bDQwMi40IDBjMi43IDAgNS40LS41IDcuOS0xLjZzNC43LTIuNiA2LjYtNC41bDg0LjktODguN2MxLjMtMS40IDIuMi0zLjEgMi41LTQuOXMuMS0zLjctLjctNS41LTItMy4yLTMuNi00LjItMy41LTEuNi01LjQtMS42TDEwMSAzMmMtMi43IDAtNS40IC41LTcuOCAxLjZzLTQuNyAyLjYtNi41IDQuNUwxLjcgMTI2LjhjLTEuMyAxLjQtMi4yIDMuMS0yLjUgNC45cy0uMSAzLjcgLjcgNS41IDIgMy4yIDMuNiA0LjIgMy41IDEuNiA1LjQgMS42eiJdfSwkU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidHlwZXNjcmlwdCIsaWNvbjpbNDQ4LDUxMixbXSwiZTg0MCIsIk0xNi44IDMybDQxNC40IDBjOS4zIDAgMTYuOCA3LjUgMTYuOCAxNi44bDAgNDE0LjRjMCA5LjMtNy41IDE2LjgtMTYuOCAxNi44TDE2LjggNDgwQzcuNSA0ODAgMCA0NzIuNSAwIDQ2My4yTDAgNDguOEMwIDM5LjUgNy41IDMyIDE2LjggMzJ6TTI0OSAyNzAuM2wwLTM2LjctMTU5LjQgMCAwIDM2LjcgNTYuOSAwIDAgMTYzLjYgNDUuMyAwIDAtMTYzLjYgNTcuMiAwem0xOC4xIDE1OS4zYzcuMyAzLjcgMTUuOSA2LjUgMjUuOSA4LjRzMjAuNSAyLjggMzEuNSAyLjhjMTAuOCAwIDIxLTEgMzAuNy0zLjFzMTguMi01LjQgMjUuNS0xMC4xIDEzLjEtMTAuOSAxNy40LTE4LjQgNi40LTE3IDYuNC0yOC4yYzAtOC4xLTEuMi0xNS4yLTMuNy0yMS4zcy01LjktMTEuNS0xMC41LTE2LjMtMTAuMS05LTE2LjUtMTIuOC0xMy43LTcuMy0yMS43LTEwLjdjLTUuOS0yLjQtMTEuMi00LjgtMTUuOS03LjFzLTguNy00LjYtMTEuOS03LTUuOC00LjktNy42LTcuNS0yLjctNS43LTIuNy05YzAtMy4xIC44LTUuOCAyLjQtOC4zczMuOC00LjYgNi43LTYuNCA2LjUtMy4xIDEwLjctNC4xIDguOS0xLjUgMTQuMS0xLjVjMy43IDAgNy43IC4zIDExLjkgLjhzOC40IDEuNCAxMi42IDIuNiA4LjMgMi42IDEyLjMgNC40IDcuNyAzLjggMTEgNi4xbDAtNDEuOGMtNi44LTIuNi0xNC4zLTQuNS0yMi40LTUuOHMtMTcuNC0xLjktMjcuOS0xLjljLTEwLjcgMC0yMC44IDEuMS0zMC40IDMuNHMtMTggNS44LTI1LjIgMTAuNy0xMyAxMS0xNy4yIDE4LjUtNi4zIDE2LjUtNi4zIDI2LjljMCAxMy4zIDMuOSAyNC43IDExLjYgMzQuMXMxOS41IDE3LjQgMzUuMiAyMy45YzYuMiAyLjUgMTEuOSA1IDE3LjMgNy40czEwIDQuOSAxMy44IDcuNSA3IDUuNCA5LjIgOC41IDMuNCA2LjYgMy40IDEwLjVjMCAyLjktLjcgNS42LTIuMSA4cy0zLjUgNC42LTYuNCA2LjQtNi40IDMuMi0xMC43IDQuMy05LjMgMS41LTE1IDEuNWMtOS43IDAtMTkuNC0xLjctMjguOS01LjFzLTE4LjQtOC41LTI2LjYtMTUuM2wwIDQ0Ljd6Il19LERTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJicmF2ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTYzYyIsIk0xNDUuNiAwbDE1NyAwIDQ0LjcgNTAuOHMzOS4zLTEwLjkgNTcuOCA3LjYgMzMuOCAzNC45IDMzLjggMzQuOWwtMTIgMjkuNSAxNS4zIDQzLjdzLTQ0LjkgMTcwLjItNTAuMSAxOTFjLTEwLjQgNDAuOS0xNy40IDU2LjgtNDYuOSA3Ny41cy04Mi45IDU2LjgtOTEuNiA2Mi4yYy0xLjkgMS4yLTMuOSAyLjUtNS45IDMuOS03LjUgNS4xLTE1LjggMTAuOC0yMy41IDEwLjhzLTE2LjEtNS43LTIzLjUtMTAuOGMtMi0xLjQtNC0yLjgtNS45LTMuOS04LjctNS41LTYyLjEtNDEuNS05MS42LTYyLjJzLTM2LjUtMzYuNi00Ni45LTc3LjVjLTUuMy0yMC44LTUwLjEtMTkxLTUwLjEtMTkxTDIxLjUgMTIyLjggOS4zIDkzLjNzMTUuMy0xNi40IDMzLjgtMzQuOSA1Ny44LTcuNiA1Ny44LTcuNkwxNDUuNiAwem03OC41IDQwNy42YzMuNyAwIDguOS00LjcgMTMtOC40IC42LS41IDEuMi0xLjEgMS43LTEuNSA0LjItMy43IDQ3LjgtMzcuNSA1MS0zOS44czUuNC02LjUgMS45LTguN2MtMi44LTEuNy0xMC01LjUtMjAuMy0xMC44LTMtMS42LTYuMy0zLjItOS43LTUtMTUuNC04LTM0LjUtMTQuNy0zNy41LTE0LjdzLTIyLjEgNi44LTM3LjUgMTQuN2MtMy41IDEuOC02LjcgMy41LTkuNyA1LTEwLjMgNS4zLTE3LjYgOS4xLTIwLjMgMTAuOC0zLjYgMi4yLTEuNCA2LjQgMS45IDguN3M0Ni44IDM2LjEgNTEgMzkuOGMuNSAuNSAxLjEgMSAxLjcgMS41IDQuMSAzLjcgOS4zIDguNCAxMyA4LjRsLS4yIDB6bTAtMTY1LjdjNC43IDAgMTcuNi0zIDI2LjQtNWwyLS41YzcuOC0xLjggNy4zLTYuMyA2LjQtMTMtLjEtLjgtLjItMS42LS4zLTIuNC0uNi02LjEtNS44LTMzLjEtOS4xLTUwLjMtMS4xLTUuOC0yLTEwLjUtMi40LTEyLjktMS41LTguMS0uNi05LjQgLjctMTEuMyAuMi0uMyAuNS0uNyAuNy0xLjEgMS40LTIuMyAxNi02LjIgMjcuOS05LjUgMi41LS43IDQuOC0xLjMgNi45LTEuOSAxMC42LTMgMzIuNC0uNiA0NC4yIC42IDEuOCAuMiAzLjQgLjQgNC43IC41IDkuNiAuOSAxMC40IDIuMyA3LjIgMy44LTIuMyAxLjEtMTYuMiA2LjMtMjguNyAxMC45LTQuNyAxLjgtOS4yIDMuNS0xMi44IDQuOC0xLjUgLjUtMyAxLjEtNC41IDEuNy0xMi41IDQuNi0yNy4yIDEwLTI4LjkgMTkuNC0xLjUgOC4zIDUuMiAxOS45IDExLjMgMzAuMyAxLjYgMi44IDMuMiA1LjUgNC42IDguMSA2LjMgMTEuOSA2LjUgMTMuMyA2LjEgMTguMS0uNCAzLjktMTQuNSAxMi43LTIyLjQgMTcuNi0xLjggMS4xLTMuMyAyLjEtNC4yIDIuNy0uOCAuNS0yLjEgMS40LTMuOCAyLjQtOC42IDUuMi0yNi4zIDE2LTI2LjMgMjIuNSAwIDcuOCAyNC42IDI4LjEgMzIuNCAzMy4yczI4LjkgMTYuMSAzNy45IDE3LjggMjMtOC41IDMxLjItMjMuOGM3LjctMTQuNCAxLjctMjguNS0zLjItNDBsLS45LTIuMmMtNC41LTEwLjYgMS45LTE3IDYuMi0yMS4zIC41LS41IDEtMSAxLjQtMS40bDQzLTQ1LjdjMS4zLTEuMyAyLjUtMi42IDMuNy0zLjggNS44LTUuNyAxMC44LTEwLjUgMTAuOC0yMi44IDAtMTQuOS01Ny41LTg0LjUtNTcuNS04NC41cy00OC41IDkuMy01NS4xIDkuM2MtNS4yIDAtMTUuMy0zLjUtMjUuOC03LjEtMi43LS45LTUuNC0xLjktOC0yLjctMTMtNC4zLTIxLjgtNC40LTIxLjgtNC40cy04LjcgMC0yMS44IDQuNGMtMi43IC45LTUuNCAxLjgtOCAyLjctMTAuNSAzLjYtMjAuNiA3LjEtMjUuOCA3LjEtNi41IDAtNTUuMS05LjMtNTUuMS05LjNzLTU3LjUgNjkuNi01Ny41IDg0LjVjMCAxMi4zIDQuOSAxNy4xIDEwLjggMjIuOCAxLjIgMS4yIDIuNSAyLjQgMy43IDMuOGw0My4xIDQ1LjhjLjQgLjUgLjkgLjkgMS40IDEuNCA0LjMgNC4zIDEwLjYgMTAuNyA2LjIgMjEuM2wtLjkgMi4yYy00LjkgMTEuNS0xMSAyNS42LTMuMiA0MCA4LjIgMTUuMyAyMi4yIDI1LjUgMzEuMiAyMy44czMwLjEtMTIuNyAzNy45LTE3LjggMzIuNC0yNS40IDMyLjQtMzMuMmMwLTYuNS0xNy43LTE3LjMtMjYuMy0yMi41LTEuNy0xLTMuMS0xLjktMy44LTIuNC0uOS0uNi0yLjQtMS41LTQuMi0yLjctNy45LTQuOS0yMi0xMy43LTIyLjQtMTcuNi0uNC00LjgtLjMtNi4yIDYuMS0xOC4xIDEuMy0yLjUgMi45LTUuMyA0LjYtOC4xIDYtMTAuNCAxMi44LTIyIDExLjMtMzAuMy0xLjctOS40LTE2LjQtMTQuOC0yOC45LTE5LjQtMS42LS42LTMuMS0xLjEtNC41LTEuNy0zLjYtMS40LTguMS0zLjEtMTIuOC00LjhsLS4xIDBjLTEyLjUtNC43LTI2LjQtOS45LTI4LjctMTAuOS0zLjItMS41LTIuMy0yLjggNy4yLTMuOCAxLjMtLjEgMi45LS4zIDQuNy0uNSAxMS44LTEuMyAzMy42LTMuNiA0NC4yLS42IDIuMSAuNiA0LjQgMS4yIDYuOSAxLjkgMTEuOSAzLjIgMjYuNSA3LjIgMjcuOSA5LjUgLjIgLjQgLjUgLjcgLjcgMS4xIDEuMyAxLjkgMi4yIDMuMiAuNyAxMS4zLS40IDIuNC0xLjMgNy4xLTIuNCAxMi45LTMuMyAxNy4yLTguNSA0NC4yLTkuMSA1MC4zLS4xIC44LS4yIDEuNy0uMyAyLjQtLjggNi43LTEuNCAxMS4yIDYuNCAxM2wyIC41YzguOCAyIDIxLjggNSAyNi40IDVsMC0uMXoiXX0sQVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImV0c3kiLGljb246WzM4NCw1MTIsW10sImYyZDciLCJNMzg0IDM0OGMtMS44IDEwLjctMTMuOCAxMTAtMTUuNSAxMzItMTE3LjktNC4zLTIxOS45LTQuNy0zNjguNSAwbDAtMjUuNWM0NS41LTguOSA2MC42LTggNjEtMzUuMiAxLjgtNzIuMyAzLjUtMjQ0LjEgMC0zMjItMS0yOC41LTEyLjEtMjYuOC02MS0zNkwwIDM1LjhjNzMuOSAyLjQgMjU1LjkgOC42IDM2My0zLjgtMy41IDM4LjItNy44IDEyNi41LTcuOCAxMjYuNWwtMjMuMiAwQzMyMC45IDExNS43IDMxMy4yIDY4IDI3Ny4zIDY4bC0xMzcgMGMtMTAuMiAwLTEwLjcgMy41LTEwLjcgOS44bDAgMTYzLjhjNTggLjUgODguNS0yLjUgODguNS0yLjUgMjkuOC0xIDI3LjYtOC41IDQwLjctNjUuM2wyNS44IDBjLTQuNCAxMDEuNC0zLjkgNjEuOC0xLjggMTYwLjNMMjU3IDMzNGMtOS4yLTQwLjEtOS4xLTYxLTM5LjUtNjEuNSAwIDAtMjEuNS0yLTg4LTJsMCAxMzljMCAyNiAxNC4zIDM4LjMgNDQuMyAzOC4zbDg5LjMgMGM2My42IDAgNjYuNi0yNSA5OC43LTk5LjhsMjIuMiAweiJdfSxQU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYnRjIixpY29uOlszODQsNTEyLFtdLCJmMTVhIiwiTTMxMC40IDI0Mi42YzI3LjctMTQuMiA0NS40LTM5LjQgNDEuMy04MS4zLTUuNC01Ny40LTUyLjUtNzYuNi0xMTQuOC04MS45bDAtNzkuNC00OC41IDAgMCA3Ny4yYy0xMi42IDAtMjUuNSAuMy0zOC40IC42bDAtNzcuOC00OC41IDAgMCA3OS40Yy0xNy44IC41LTM4LjYgLjMtOTcuNCAwbDAgNTEuN2MzOC4zLS43IDU4LjQtMy4xIDYzIDIxLjRsMCAyMTcuNGMtMi45IDE5LjUtMTguNSAxNi43LTUzLjMgMTYuMUw0IDQ0My43Yzg4LjUgMCA5Ny40IC4zIDk3LjQgLjNsMCA2OCA0OC41IDAgMC02Ny4xYzEzLjIgLjMgMjYuMiAuMyAzOC40IC4zbDAgNjYuNyA0OC41IDAgMC02OGM4MS4zLTQuNCAxMzUuNi0yNC45IDE0Mi45LTEwMS41IDUuNy02MS40LTIzLjMtODguOS02OS4zLTk5Ljl6TTE1MC44IDEzNC42YzI3LjQgMCAxMTMuMS04LjUgMTEzLjEgNDguNSAwIDU0LjUtODUuNyA0OC4yLTExMy4xIDQ4LjJsMC05Ni43em0wIDI1MS44bDAtMTA2LjVjMzIuOCAwIDEzMy4xLTkuMSAxMzMuMSA1My4zIDAgNjAuMi0xMDAuNCA1My4zLTEzMy4xIDUzLjN6Il19LEVTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhZG4iLGljb246WzUxMiw1MTIsW10sImYxNzAiLCJNMjU2IDE2Ny41bDY0LjkgOTguOC0xMjkuOCAwIDY0LjktOTguOHpNOCAyNTZhMjQ4IDI0OCAwIDEgMSA0OTYgMCAyNDggMjQ4IDAgMSAxIC00OTYgMHptMzk2LjIgODIuN2wtMTQ4LjItMjIzLjItMTQ4LjIgMjIzLjIgMzAuNCAwIDMzLjYtNTEuNyAxNjguNiAwIDMzLjYgNTEuNyAzMC4yIDB6Il19LElTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUteC10d2l0dGVyIixpY29uOls0NDgsNTEyLFtdLCJlNjFhIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTI5Ny4xIDg0bC0xMDMuOCAxMTguNiAxMjIuMSAxNjEuNC05NS42IDAtNzQuOC05Ny45LTg1LjcgOTcuOS00Ny41IDAgMTExLTEyNi45LTExNy4xLTE1My4xIDk4IDAgNjcuNyA4OS41IDc4LjItODkuNSA0Ny41IDB6TTMyMy4zIDM2Ny42bC0xNjkuOS0yMjQuNy0yOC4zIDAgMTcxLjggMjI0LjcgMjYuNCAweiJdfSxOU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWZvbnQtYXdlc29tZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTVhZCIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem05MCAxMjJjMCA5LjMtNC44IDE3LjQtMTIuMSAyMmwxODguOSAwYzcuMyAwIDEzLjIgNS45IDEzLjIgMTMuMiAwIDEuOC0uNCAzLjctMS4xIDUuNEwzMTIgMjY0IDM0Mi45IDMzMy40Yy43IDEuNyAxLjEgMy41IDEuMSA1LjQgMCA3LjMtNS45IDEzLjItMTMuMiAxMy4ybC0xODYuOCAwIDAgMzItMzIgMCAwLTIwOS41Yy02LjEtNC44LTEwLTEyLjItMTAtMjAuNSAwLTE0LjQgMTEuNi0yNiAyNi0yNnMyNiAxMS42IDI2IDI2eiJdfSxSU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9ydW1iZWUiLGljb246WzQ0OCw1MTIsW10sImYyMTEiLCJNNS44IDMwOS43QzIgMjkyLjcgMCAyNzUuNSAwIDI1OC4zIDAgMTM1IDk5LjggMzUgMjIzLjEgMzUgMjM5LjcgMzUgMjU2LjQgMzcgMjcyLjQgNDAuNSAxNDkgODcuNSA1MS45IDE4NiA1LjggMzA5Ljd6TTM5OC43IDEyMC41Yy0xMy43LTE3LjUtMjkuNy0zMi43LTQ3LjgtNDUuMy0xNDkuNiA0NC4zLTI2Ni4zIDE2Mi4xLTMwOS43IDMxMiAxMi41IDE4LjEgMjggMzUuNiA0NS4yIDQ5IDQzLjEtMTUxLjMgMTYxLjItMjcxLjcgMzEyLjMtMzE1Ljd6bTE1LjggMjUyLjdjMTUuMi0yNS4xIDI1LjQtNTMuNyAyOS41LTgyLjgtNzkuNCA0Mi45LTE0NSAxMTAuNi0xODcuNiAxOTAuMyAzMC00LjQgNTguOS0xNS4zIDg0LjYtMzEuMyAzNSAxMy4xIDcwLjkgMjQuMyAxMDcgMzMuNi05LjMtMzYuNS0yMC40LTc0LjUtMzMuNS0xMDkuOHptMjkuNy0xNDUuNWMtMi42LTE5LjUtNy45LTM4LjctMTUuOC01Ni44LTEzNy45IDQ1LjgtMjQ2LjQgMTU2LjYtMjkxLjMgMjk1LjEgMTguMSA3LjYgMzcgMTIuNSA1Ni42IDE1LjIgNDYuMy0xMTQuMSAxMzYuOC0yMDYuOCAyNTAuNS0yNTMuNXoiXX0sWnVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IjQyLWdyb3VwIixpY29uOls2NDAsNTEyLFsiaW5ub3NvZnQiXSwiZTA4MCIsIk0zMjAgOTZsMCAzMjBjMjEgMCA0MS44LTQuMSA2MS4yLTEyLjJzMzctMTkuOCA1MS45LTM0LjcgMjYuNi0zMi41IDM0LjctNTEuOSAxMi4yLTQwLjIgMTIuMi02MS4yLTQuMS00MS44LTEyLjItNjEuMi0xOS44LTM3LjEtMzQuNy01MS45LTMyLjUtMjYuNi01MS45LTM0LjctNDAuMi0xMi4yLTYxLjItMTIuMnpNMCAyNTZMMTYwIDQxNiAzMjAgMjU2IDE2MCA5NiAwIDI1NnptNDgwIDBjMCAyMSA0LjEgNDEuOCAxMi4yIDYxLjJzMTkuOCAzNyAzNC43IDUxLjkgMzIuNSAyNi42IDUxLjkgMzQuNyA0MC4yIDEyLjIgNjEuMiAxMi4ybDAtMzIwYy00Mi40IDAtODMuMSAxNi45LTExMy4xIDQ2LjlTNDgwIDIxMy42IDQ4MCAyNTZ6Il19LE9TdD1adWUsRlN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0dW1ibGV1cG9uLWNpcmNsZSIsaWNvbjpbNTEyLDUxMixbXSwiZjFhMyIsIk0yNjQgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6bTAgMTc3LjVjLTkuOCAwLTE3LjggOC0xNy44IDE3LjhsMCAxMDYuOWMwIDQwLjktMzMuOSA3My45LTc0LjkgNzMuOS00MS40IDAtNzQuOS0zMy41LTc0LjktNzQuOWwwLTQ2LjUgNTcuMyAwIDAgNDUuOGMwIDEwIDggMTcuOCAxNy44IDE3LjhzMTcuOC03LjkgMTcuOC0xNy44bDAtMTA4LjRjMC00MCAzNC4yLTcyLjEgNzQuNy03Mi4xIDQwLjcgMCA3NC43IDMyLjMgNzQuNyA3Mi42bDAgMjMuNy0zNC4xIDEwLjEtMjIuOS0xMC43IDAtMjAuNmMuMS05LjYtNy45LTE3LjYtMTcuNy0xNy42ek00MzEuNiAzMDkuMWMwIDQxLjQtMzMuNSA3NC45LTc0LjkgNzQuOS00MS4yIDAtNzQuOS0zMy4yLTc0LjktNzQuMmwwLTQ2LjggMjIuOSAxMC43IDM0LjEtMTAuMSAwIDQ3LjFjMCA5LjggOCAxNy42IDE3LjggMTcuNnMxNy44LTcuOSAxNy44LTE3LjZsMC00OCA1Ny4zIDBjLS4xIDQ1LjktLjEgNDYuNC0uMSA0Ni40eiJdfSxCU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3ltZm9ueSIsaWNvbjpbNTEyLDUxMixbXSwiZjgzZCIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTM4OS43IDE1MS41Yy0xMS41IC40LTE5LjQtNi40LTE5LjgtMTYuOS0uMy05LjIgNi43LTEzLjQgNi41LTE4LjktLjItNi41LTEwLjItNi44LTEyLjktNi43LTM5LjggMS4zLTQ4LjYgNTctNTguOSAxMTMuOCAyMS40IDMuMiAzNi42LS43IDQ1LjEtNi4yIDEyLTcuNy0zLjMtMTUuNy0xLjQtMjQuNiA0LTE4LjIgMzIuNi0xOSAzMiA1LjMtLjQgMTcuOS0yNS45IDQxLjgtNzcuNiAzNS43LTEwLjggNTkuNS0xOC40IDExNS01OC4yIDE2MS43LTI5IDM0LjUtNTguNCAzOS44LTcxLjYgNDAuMy0yNC42IC45LTQxLTEyLjMtNDEuNi0yOS44LS42LTE3IDE0LjQtMjYuMyAyNC4zLTI2LjYgMjEuOS0uOCAzMC4xIDI1LjcgMTQuOSAzNC0xMi4xIDkuNyAuMSAxMi42IDIuMSAxMi42IDEwLjQtLjQgMTcuMy01LjUgMjIuMi05IDI0LTIwIDMzLjItNTQuOSA0NS40LTExOC4zIDguMi00OS43IDE3LTc4IDE4LjItODItMTYuOS0xMi43LTI3LjEtMjguNi00OS44LTM0LjctMTUuNi00LjItMjUuMS0uNi0zMS44IDcuOC03LjkgMTAtNS4zIDIzIDIuNCAzMC43bDEyLjYgMTRjMTUuNSAxNy45IDI0IDMxLjkgMjAuOCA1MC42LTUuMSAyOS45LTQwLjcgNTIuOS04Mi45IDM5LjktMzYtMTEuMS00Mi43LTM2LjYtMzguNC01MC42IDcuNS0yNC4yIDQyLjQtMTEuNyAzNC42IDEzLjYtMi44IDguNi00LjkgOC43LTYuMyAxMy4xLTQuNiAxNC44IDQxLjggMjguNCA1MS0xLjQgNC41LTE0LjUtNS4zLTIxLjctMjIuMi0zOS45LTI4LjUtMzEuNy0xNi02NS41IDIuOS03OS43IDUyLjgtMzkuNCAxMDAuNSAxNy41IDExMC42IDI1LjggMzcuMi0xMDkgMTAwLjUtMTA1LjUgMTAyLjQtMTA1LjUgMjUuMi0uOCA0NC4yIDEwLjYgNDQuOCAyOC42IC4yIDcuNy00LjIgMjIuNi0xOS41IDIzLjF6Il19LEhTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzYWxlc2ZvcmNlIixpY29uOls2NDAsNTEyLFtdLCJmODNiIiwiTTI0OS40IDI0NS42bC0yNi40IDBjLjctNS4yIDMuMy0xNC4xIDEzLjYtMTQuMSA2LjggMCAxMiAzLjggMTIuNyAxNC4xek0zODYgMjMxLjhjLS41IDAtMTQuMS0xLjgtMTQuMSAyMHMxMy42IDIwIDE0LjEgMjBjMTMgMCAxNC4xLTEzLjUgMTQuMS0yMCAwLTIxLjgtMTMuNy0yMC0xNC4xLTIwek0xNDIuOCAyNTUuNWMtMS4xIC45LTIgMi0yLjUgMy4ycy0uOCAyLjctLjcgNGMwIDQuOCAyLjEgNi4xIDMuMyA3IDQuNyAzLjcgMTUuMSAyLjEgMjAuOSAxbDAtMTYuOWMtNS4zLTEuMS0xNi43LTItMjAuOSAxLjZ6TTY0MC41IDIzMmMwIDg3LjYtODAgMTU0LjQtMTY1LjQgMTM2LjQtMTguNCAzMy03MC43IDcwLjgtMTMyLjIgNDEuNi00MS4yIDk2LTE3Ny45IDkyLjItMjEzLjgtNS4yLTExOS43IDIzLjktMTc4LjgtMTM4LjQtNzUuMy0xOTkuMy0zNC44LTc5LjQgMjIuNi0xNzMuNiAxMTQuMy0xNzMuNiAxOS4xIDAgMzcuOSA0LjQgNTUgMTIuOXMzMiAyMC43IDQzLjYgMzUuOGMyMC43LTIxLjQgNDkuNC0zNC44IDgxLjEtMzQuOCA0Mi4zIDAgNzkgMjMuNSA5OC44IDU4LjYgOTIuOC00MC43IDE5My44IDI4LjIgMTkzLjggMTI3LjV6TTEyMC45IDI2My44YzAtMTEuOC0xMS43LTE1LjItMTcuOS0xNy4yLTUuMy0yLjEtMTMuNC0zLjUtMTMuNC04LjkgMC05LjUgMTctNi43IDI1LjItMi4xIDAgMCAxLjIgLjcgMS42LS41IC4yLS43IDIuNC02LjYgMi42LTcuMyAuMS0uMyAuMS0uNi0uMS0uOHMtLjQtLjUtLjYtLjZjLTEyLjMtNy42LTQwLjctOC41LTQwLjcgMTIuNyAwIDEyLjUgMTEuNSAxNS40IDE3LjkgMTcuMiA0LjcgMS42IDEzLjIgMyAxMy4yIDguNyAwIDQtMy41IDcuMS05LjIgNy4xLTYuOSAwLTEzLjUtMi4yLTE5LTYuMy0uNS0uMi0xLjQtLjctMS42IC43bC0yLjQgNy41Yy0uNSAuOSAuMiAxLjIgLjIgMS40IDEuOCAxLjQgMTAuMyA2LjYgMjIuOCA2LjYgMTMuMiAwIDIxLjQtNy4xIDIxLjQtMTguMWwwIDB6bTMyLTQyLjZjLTEwLjEgMC0xOC43IDMuMi0yMS40IDUuMi0uMSAuMS0uMiAuMi0uMyAuM3MtLjEgLjItLjEgLjQgMCAuMyAwIC40IC4xIC4zIC4yIC40bDIuNiA3LjFjLjEgLjIgLjIgLjUgLjUgLjZzLjUgLjIgLjcgLjFjLjYgMCA2LjgtNCAxNi45LTQgNCAwIDcuMSAuNyA5LjIgMi40IDMuNiAyLjggMy4xIDguMyAzLjEgMTAuNi00LjgtLjMtMTkuMS0zLjQtMjkuNCAzLjgtMi4zIDEuNi00LjMgMy44LTUuNSA2LjNzLTEuOSA1LjQtMS44IDguMmMwIDUuOSAxLjUgMTAuNCA2LjYgMTQuNCAxMi4yIDguMiAzNi4zIDIgMzguMSAxLjQgMS42LS4zIDMuNS0uNyAzLjUtMS45bDAtMzMuOWMwLTQuNiAuMy0yMS42LTIyLjgtMjEuNmwwIC4xem00Ni42LTIxYzAtLjIgMC0uMy0uMS0uNXMtLjEtLjMtLjMtLjQtLjItLjItLjQtLjMtLjMtLjEtLjUtLjFsLTkuOCAwYy0uMiAwLS4zIDAtLjUgLjFzLS4zIC4xLS40IC4zLS4yIC4yLS4zIC40LS4xIC4zLS4xIC41bDAgNzljMCAuMiAwIC4zIC4xIC41cy4xIC4zIC4zIC40IC4yIC4yIC40IC4zIC4zIC4xIC41IC4xbDkuOSAwYy4yIDAgLjMgMCAuNS0uMXMuMy0uMSAuNC0uMyAuMi0uMiAuMy0uNCAuMS0uMyAuMS0uNWwtLjEtNzl6bTU1LjcgMjguOWMtMi4xLTIuMy02LjgtNy41LTE3LjYtNy41LTMuNSAwLTE0LjIgLjItMjAuNyA4LjktNi40IDcuNi02LjYgMTguMS02LjYgMjEuNCAwIDMuMSAuMiAxNC4zIDcuMSAyMS4yIDIuNiAyLjkgOS4xIDguMiAyMi44IDguMiAxMC44IDAgMTYuNS0yLjMgMTguNi0zLjggLjUtLjIgLjctLjcgLjItMS45bC0yLjMtNi44Yy0uMS0uMy0uMy0uNS0uNi0uNnMtLjUtLjItLjgtLjFjLTIuNiAuOS02LjMgMi44LTE1LjMgMi44LTE3LjQgMC0xNi44LTE0LjctMTYuOS0xNi43bDM3LjIgMGMuMyAwIC41LS4xIC43LS4zcy40LS40IC40LS43Yy0uMyAwIDIuMS0xNC43LTYuMS0yNC4ybDAgMHptMzYuNyA1Mi43YzEzLjIgMCAyMS40LTcuMSAyMS40LTE4LjEgMC0xMS44LTExLjctMTUuMi0xNy45LTE3LjItNC4xLTEuNy0xMy40LTMuNC0xMy40LTguOSAwLTMuOCAzLjMtNi40IDguNS02LjQgNS44IC4xIDExLjUgMS42IDE2LjcgNC4yIDAgMCAxLjIgLjcgMS42LS41IC4yLS43IDIuNC02LjYgMi42LTcuMyAuMS0uMyAuMS0uNi0uMS0uOHMtLjQtLjUtLjYtLjZjLTcuOS00LjktMTYuNy00LjktMjAuMi00LjktMTIgMC0yMC41IDcuMy0yMC41IDE3LjYgMCAxMi41IDExLjUgMTUuNCAxNy45IDE3LjIgNi4xIDIgMTMuMiAzLjMgMTMuMiA4LjcgMCA0LTMuNSA3LjEtOS4yIDcuMS02LjkgMC0xMy41LTIuMi0xOS02LjQtLjEtLjEtLjMtLjItLjUtLjJzLS40IDAtLjUgLjEtLjMgLjItLjQgLjMtLjIgLjMtLjIgLjVsLTIuMyA3LjVjLS41IC45IC4yIDEuMiAuMiAxLjQgMS43IDEuNCAxMC4zIDYuNiAyMi44IDYuNmwwIDB6TTM1Ny42IDIyNGMwLS43LS4yLTEuMi0xLjItMS4ybC0xMS44IDBjMC0uMSAuOS04LjkgNC41LTEyLjUgNC4yLTQuMiAxMS44LTEuNiAxMi0xLjYgMS4yIC41IDEuNCAwIDEuNi0uNWwyLjgtNy44Yy43LS45IDAtMS4yLS4yLTEuNC01LjEtMi0xNy40LTIuOS0yNC41IDQuMi01LjUgNS41LTcgMTMuOS04IDE5LjVsLTguNSAwYy0uMyAwLS42IC4yLS44IC40cy0uMyAuNS0uNCAuOGwtMS40IDcuOGMwIC43IC4yIDEuMiAxLjIgMS4ybDguMiAwYy04LjUgNDcuOS04LjcgNTAuMi0xMC4zIDU1LjUtMS4xIDMuNi0zLjMgNi45LTUuOSA3LjgtLjEgMC0zLjkgMS43LTkuNi0uMiAwIDAtLjktLjUtMS40IC43LS4yIC43LTIuNiA2LjgtMi44IDcuNXMwIDEuNCAuNSAxLjRjNS4xIDIgMTMgMS44IDE3LjkgMCA2LjMtMi4zIDkuNy03LjkgMTEuNS0xMi45IDIuOC03LjcgMi44LTkuOCAxMS44LTU5LjdsMTIuMiAwYy4zIDAgLjYtLjIgLjgtLjRzLjMtLjUgLjQtLjhsMS40LTcuOHpNNDExIDI0MGMtLjYtMS43LTUuMS0xOC4xLTI1LjItMTguMS0xNS4yIDAtMjMgMTAtMjUuMiAxOC4xLTEgMy0zLjIgMTQgMCAyMy41IC4xIC4zIDQuNCAxOC4xIDI1LjIgMTguMSAxNSAwIDIyLjktOS42IDI1LjItMTguMSAzLjItOS42IDEtMjAuNSAwLTIzLjV6bTQ1LjQtMTYuN2MtNS0xLjctMTYuNi0xLjktMjIuMSA1LjRsMC00LjVjMC0uMiAwLS4zLS4xLS41cy0uMS0uMy0uMy0uNC0uMi0uMi0uNC0uMy0uMy0uMS0uNS0uMWwtOS40IDBjLS4yIDAtLjMgMC0uNSAuMXMtLjMgLjEtLjQgLjMtLjIgLjItLjMgLjQtLjEgLjMtLjEgLjVsMCA1NS4zYzAgLjIgMCAuMyAuMSAuNXMuMSAuMyAuMyAuNCAuMiAuMiAuNCAuMyAuMyAuMSAuNSAuMWw5LjYgMGMuMiAwIC4zIDAgLjUtLjFzLjMtLjEgLjQtLjMgLjItLjIgLjMtLjQgLjEtLjMgLjEtLjVsMC0yNy44YzAtMi45IC4xLTExLjQgNC41LTE1LjEgNC45LTQuOSAxMi0zLjQgMTMuNC0zLjEgLjMgMCAuNi0uMSAuOC0uM3MuNC0uNCAuNi0uN2MxLjItMi42IDIuMi01LjMgMy4xLTggLjEtLjMgLjEtLjUgMC0uOHMtLjMtLjUtLjUtLjZsMCAwem00Ni44IDU0LjFsLTIuMS03LjNjLS41LTEuMi0xLjQtLjctMS40LS43LTQuMiAxLjgtMTAuMSAxLjktMTEuMyAxLjktNC42IDAtMTcuMi0xLjEtMTcuMi0xOS44IDAtNi4yIDEuOC0xOS44IDE2LjUtMTkuOCAzLjktLjEgNy44IC41IDExLjUgMS42IDAgMCAuOSAuNSAxLjItLjcgLjktMi42IDEuNi00LjUgMi42LTcuNSAuMi0uOS0uNS0xLjItLjctMS4yLTExLjYtMy45LTIyLjMtMi41LTI3LjggMC0xLjYgLjctMTYuMiA2LjUtMTYuMiAyNy41IDAgMi45LS42IDMwLjEgMjguOSAzMC4xIDUuMyAwIDEwLjYtMSAxNS41LTIuOCAuMi0uMiAuNC0uNCAuNS0uNnMuMS0uNSAwLS44bDAgMHptNTMuOS0zOS41Yy0uOC0zLTUuNC0xNi4yLTIyLjMtMTYuMi0xNiAwLTIzLjUgMTAuMS0yNS42IDE4LjYtMS4yIDMuOC0xLjcgNy44LTEuNyAxMS44IDAgMjUuOSAxOC44IDI5LjQgMjkuOSAyOS40IDEwLjggMCAxNi41LTIuMyAxOC42LTMuOCAuNS0uMiAuNy0uNyAuMi0xLjlsLTIuNC02LjhjLS4xLS4zLS4zLS41LS42LS42cy0uNi0uMi0uOC0uMWMtMi42IC45LTYuMyAyLjgtMTUuMyAyLjgtMTcuNCAwLTE2LjktMTQuNy0xNi45LTE2LjdsMzcuMiAwYy4zIDAgLjUtLjEgLjctLjNzLjQtLjQgLjQtLjdjLS4yIDAgLjktNy4xLTEuNC0xNS41bDAgMHptLTIzLjMtNi40Yy0xMC4zIDAtMTMgOS0xMy42IDE0LjFsMjYuNCAwYy0uOS0xMS45LTcuNi0xNC4xLTEyLjctMTQuMWwwIDB6Il19LHFTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzb3VyY2V0cmVlIixpY29uOls0NDgsNTEyLFtdLCJmN2QzIiwiTTQyNy40IDIwM2MwLTExMi4xLTkwLjktMjAzLTIwMy0yMDMtMTEyLjEtLjItMjAzIDkwLjYtMjAzLjIgMjAyLjYtLjEgNDMgMTMuNSA4NC44IDM4LjcgMTE5LjZzNjAuOSA2MC42IDEwMS44IDczLjhsMCAxMDEuN2MwIDMuOCAxLjUgNy40IDQuMiAxMC4xczYuMyA0LjIgMTAuMSA0LjJsOTYuNCAwYzMuOCAwIDcuNC0xLjUgMTAuMS00LjJzNC4yLTYuMyA0LjItMTAuMWwwLTEwMS42YzQwLjgtMTMuMiA3Ni41LTM5IDEwMS43LTczLjdzMzguOS03Ni41IDM5LTExOS40em0tMjcxLjYgMGMwLTkwLjggMTM3LjMtOTAuOCAxMzcuMyAwLS4xIDg5LjktMTM3LjMgOTEtMTM3LjMgMHoiXX0sVlN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxpbmtlZGluLWluIixpY29uOls0NDgsNTEyLFtdLCJmMGUxIiwiTTEwMC4zIDQ0OGwtOTIuOSAwIDAtMjk5LjEgOTIuOSAwIDAgMjk5LjF6TTUzLjggMTA4LjFDMjQuMSAxMDguMSAwIDgzLjUgMCA1My44IDAgMzkuNSA1LjcgMjUuOSAxNS44IDE1LjhzMjMuOC0xNS44IDM4LTE1LjggMjcuOSA1LjcgMzggMTUuOCAxNS44IDIzLjggMTUuOCAzOGMwIDI5LjctMjQuMSA1NC4zLTUzLjggNTQuM3pNNDQ3LjkgNDQ4bC05Mi43IDAgMC0xNDUuNmMwLTM0LjctLjctNzkuMi00OC4zLTc5LjItNDguMyAwLTU1LjcgMzcuNy01NS43IDc2LjdsMCAxNDguMS05Mi44IDAgMC0yOTkuMSA4OS4xIDAgMCA0MC44IDEuMyAwYzEyLjQtMjMuNSA0Mi43LTQ4LjMgODcuOS00OC4zIDk0IDAgMTExLjMgNjEuOSAxMTEuMyAxNDIuM2wwIDE2NC4zLS4xIDB6Il19LGpTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJodG1sNSIsaWNvbjpbMzg0LDUxMixbXSwiZjEzYiIsIk0wIDMyTDM0LjkgNDI3LjggMTkxLjUgNDgwIDM0OS4xIDQyNy44IDM4NCAzMiAwIDMyek0zMDguMiAxNTkuOWwtMTgzLjggMCA0LjEgNDkuNCAxNzUuNiAwLTEzLjYgMTQ4LjQtOTcuOSAyNyAwIC4zLTEuMSAwLTk4LjctMjcuMy02LTc1LjggNDcuNyAwIDMuNSAzOC4xIDUzLjUgMTQuNSA1My43LTE0LjUgNi02Mi4yLTE2Ni45IDAtMTIuOC0xNDUuNiAyNDEuMSAwLTQuNCA0Ny43eiJdfSxVU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicnVzdCIsaWNvbjpbNTEyLDUxMixbXSwiZTA3YSIsIk01MDguNSAyNDkuOGwtMjEuOC0xMy41Yy0uMi0yLS4zLTMuOS0uNS01LjlsMTguNy0xNy41Yy45LS45IDEuNi0xLjkgMi0zLjFzLjUtMi41IC4yLTMuNy0uOC0yLjQtMS42LTMuMy0xLjgtMS43LTMtMi4xbC0yNC05Yy0uNS0xLjktMS4xLTMuOC0xLjctNS42bDE1LTIwLjhjLjctMSAxLjItMi4yIDEuMy0zLjRzMC0yLjUtLjUtMy43LTEuMi0yLjItMi4yLTIuOS0yLjEtMS4zLTMuNC0xLjVsLTI1LjQtNC4yYy0uOS0xLjctMS44LTMuNC0yLjctNS4ybDEwLjctMjMuNGMuNS0xLjEgLjctMi40IC42LTMuNnMtLjUtMi40LTEuMi0zLjUtMS42LTEuOS0yLjgtMi41LTIuNC0uOC0zLjYtLjhsLTI1LjggLjljLTEuMi0xLjUtMi40LTIuOS0zLjYtNC40TDQzOSA4MS44Yy4zLTEuMiAuMy0yLjUtLjEtMy43cy0xLTIuMy0xLjktMy4yLTItMS41LTMuMi0xLjktMi41LS40LTMuNy0uMUw0MDUgNzguOWMtMS40LTEuMi0yLjktMi40LTQuNC0zLjZsLjktMjUuOGMuMS0xLjMtLjItMi41LS44LTMuNnMtMS40LTIuMS0yLjUtMi44LTIuMi0xLjEtMy41LTEuMi0yLjUgLjEtMy43IC42TDM2Ny43IDUzLjJjLTEuNy0uOS0zLjQtMS44LTUuMS0yLjdsLTQuMi0yNS40Yy0uMi0xLjItLjctMi40LTEuNS0zLjRzLTEuOC0xLjctMi45LTIuMi0yLjQtLjctMy43LS41LTIuNCAuNi0zLjQgMS4zTDMyNiAzNS4zYy0xLjktLjYtMy44LTEuMS01LjYtMS43bC05LTI0Yy0uNC0xLjItMS4yLTIuMi0yLjEtM3MtMi4xLTEuNC0zLjMtMS42LTIuNS0uMi0zLjcgLjItMi4zIDEuMS0zLjEgMkwyODEuNiAyNS45Yy0yLS4yLTMuOS0uNC01LjktLjVMMjYyLjMgMy41Yy0uNy0xLjEtMS42LTEuOS0yLjctMi42cy0yLjMtLjktMy42LS45LTIuNSAuMy0zLjYgLjktMiAxLjUtMi43IDIuNkwyMzYuMiAyNS4zYy0yIC4yLTMuOSAuMy01LjkgLjZMMjEyLjkgNy4xYy0uOS0uOS0xLjktMS42LTMuMS0ycy0yLjUtLjUtMy43LS4yLTIuNCAuOC0zLjMgMS42LTEuNyAxLjgtMi4xIDNsLTkgMjRjLTEuOSAuNi0zLjggMS4xLTUuNyAxLjdsLTIwLjgtMTVjLTEtLjctMi4yLTEuMi0zLjQtMS4zcy0yLjUgMC0zLjcgLjUtMi4yIDEuMi0yLjkgMi4yLTEuMyAyLjEtMS41IDMuNGwtNC4yIDI1LjRjLTEuNyAuOS0zLjQgMS44LTUuMiAyLjdMMTIwLjkgNDIuNmMtMS4xLS41LTIuNC0uNy0zLjctLjZzLTIuNSAuNS0zLjUgMS4yLTEuOSAxLjctMi41IDIuOC0uOCAyLjQtLjggMy42bC45IDI1LjhjLTEuNSAxLjItMyAyLjQtNC40IDMuNkw4MS44IDczYy0xLjItLjMtMi41LS4zLTMuNyAuMXMtMi4zIDEtMy4yIDEuOS0xLjUgMi0xLjkgMy4yLS40IDIuNS0uMSAzLjdMNzguOSAxMDdjLTEuMiAxLjQtMi40IDIuOS0zLjYgNC40bC0yNS44LS45Yy0xLjMgMC0yLjUgLjItMy42IC44cy0yLjEgMS40LTIuOCAyLjQtMS4xIDIuMi0xLjIgMy41IC4xIDIuNSAuNiAzLjZsMTAuNyAyMy40Yy0uOSAxLjctMS44IDMuNC0yLjcgNS4ybC0yNS40IDQuMWMtMS4yIC4yLTIuNCAuNy0zLjQgMS41cy0xLjcgMS44LTIuMiAyLjktLjcgMi40LS41IDMuNyAuNiAyLjQgMS4zIDMuNGwxNSAyMC44Yy0uNiAxLjktMS4xIDMuOC0xLjcgNS43bC0yNCA5Yy0xLjIgLjQtMi4yIDEuMi0zIDIuMXMtMS40IDIuMS0xLjYgMy4zLS4yIDIuNSAuMiAzLjcgMS4xIDIuMyAyIDMuMWwxOC43IDE3LjVjLS4yIDItLjQgMy45LS42IDUuOUwzLjUgMjQ5LjhjLTEuMSAuNy0xLjkgMS42LTIuNiAyLjdzLS45IDIuMy0uOSAzLjYgLjMgMi41IC45IDMuNiAxLjUgMiAyLjYgMi43bDIxLjggMTMuNWMuMiAyIC4zIDMuOSAuNiA1LjlMNy4xIDI5OS4xYy0uOSAuOS0xLjYgMS45LTIgMy4xcy0uNSAyLjUtLjIgMy43IC44IDIuNCAxLjYgMy4zIDEuOCAxLjcgMyAyLjFsMjQgOWMuNiAxLjkgMS4xIDMuOCAxLjcgNS42bC0xNSAyMC44Yy0uNyAxLTEuMiAyLjItMS4zIDMuNHMwIDIuNSAuNSAzLjcgMS4yIDIuMiAyLjIgMi45IDIuMSAxLjMgMy40IDEuNWwyNS40IDQuMmMuOSAxLjcgMS44IDMuNCAyLjcgNS4xTDQyLjYgMzkxLjFjLS41IDEuMS0uNyAyLjQtLjYgMy42cy41IDIuNSAxLjIgMy41Yy43IDEuMSAxLjYgMS45IDIuNyAyLjVzMi40IC44IDMuNiAuOGwyNS44LS45YzEuMiAxLjUgMi40IDIuOSAzLjYgNC40TDczIDQzMC4yYy0uMyAxLjItLjMgMi41IC4xIDMuN3MxIDIuMyAxLjkgMy4yIDIgMS41IDMuMiAxLjkgMi41IC40IDMuNyAuMWwyNS4yLTUuOWMxLjUgMS4yIDIuOSAyLjQgNC40IDMuNmwtLjkgMjUuOGMwIDEuMyAuMiAyLjUgLjggMy42czEuNCAyLjEgMi41IDIuOCAyLjIgMS4xIDMuNSAxLjIgMi41LS4xIDMuNi0uNmwyMy40LTEwLjdjMS43IC45IDMuNCAxLjggNS4xIDIuN2w0LjIgMjUuNGMuMiAxLjIgLjcgMi40IDEuNSAzLjRzMS44IDEuOCAyLjkgMi4yIDIuNCAuNyAzLjcgLjUgMi40LS42IDMuNC0xLjNsMjAuOC0xNWMxLjkgLjYgMy44IDEuMSA1LjYgMS43bDkgMjRjLjQgMS4yIDEuMiAyLjIgMi4xIDNzMi4xIDEuNCAzLjMgMS42IDIuNSAuMiAzLjctLjIgMi4zLTEuMSAzLjEtMmwxNy41LTE4LjdjMiAuMiAzLjkgLjQgNS45IC42bDEzLjUgMjEuOGMuNyAxLjEgMS42IDEuOSAyLjcgMi42czIuMyAuOSAzLjYgLjkgMi41LS4zIDMuNi0uOSAyLTEuNSAyLjctMi42bDEzLjUtMjEuOGMyLS4yIDMuOS0uMyA1LjktLjZsMTcuNSAxOC43Yy45IC45IDEuOSAxLjYgMy4xIDJzMi41IC41IDMuNyAuMiAyLjQtLjggMy4zLTEuNiAxLjctMS44IDIuMS0zbDktMjRjMS45LS42IDMuOC0xLjEgNS42LTEuN2wyMC44IDE1YzEgLjcgMi4yIDEuMiAzLjQgMS4zczIuNSAwIDMuNy0uNSAyLjItMS4yIDIuOS0yLjIgMS4zLTIuMSAxLjUtMy40bDQuMi0yNS40YzEuNy0uOSAzLjQtMS44IDUuMS0yLjdsMjMuNCAxMC43YzEuMSAuNSAyLjQgLjcgMy42IC42czIuNC0uNSAzLjUtMS4yIDEuOS0xLjYgMi41LTIuOCAuOC0yLjQgLjgtMy42bC0uOS0yNS44YzEuNS0xLjIgMi45LTIuNCA0LjQtMy42bDI1LjIgNS45YzEuMiAuMyAyLjUgLjMgMy43LS4xczIuMy0xIDMuMi0xLjkgMS41LTIgMS45LTMuMiAuNC0yLjUgLjEtMy43TDQzMy4xIDQwNWMxLjItMS40IDIuNC0yLjkgMy42LTQuNGwyNS44IC45YzEuMyAuMSAyLjUtLjIgMy42LS44czIuMS0xLjQgMi44LTIuNWMuNy0xIDEuMS0yLjIgMS4yLTMuNXMtLjEtMi41LS42LTMuNmwtMTAuNy0yMy40Yy45LTEuNyAxLjgtMy40IDIuNy01LjFsMjUuNC00LjJjMS4yLS4yIDIuNC0uNyAzLjQtMS41czEuOC0xLjggMi4yLTIuOSAuNy0yLjQgLjUtMy43LS42LTIuNC0xLjMtMy40bC0xNS0yMC44Yy42LTEuOSAxLjEtMy44IDEuNy01LjZsMjQtOWMxLjItLjQgMi4yLTEuMiAzLTIuMXMxLjQtMi4xIDEuNi0zLjMgLjItMi41LS4yLTMuNy0xLjEtMi4zLTItMy4xbC0xOC43LTE3LjVjLjItMS45IC40LTMuOSAuNi01LjlsMjEuOC0xMy41YzEuMS0uNyAxLjktMS42IDIuNi0yLjdzLjktMi4zIC45LTMuNi0uMy0yLjUtLjktMy42LTEuNS0yLTIuNi0yLjdsMCAwem0tMTUxIDEyOS4xYy0zLjYtLjgtNy40LS4xLTEwLjUgMS45cy01LjMgNS4yLTYgOC44bC03LjYgMzUuN2MtMjQuNiAxMS4xLTUxLjMgMTYuOC03OC4zIDE2LjdzLTUzLjYtNi4xLTc4LjEtMTcuNGwtNy42LTM1LjdjLS40LTEuOC0xLjEtMy41LTIuMS01cy0yLjQtMi44LTMuOS0zLjgtMy4yLTEuNy01LTItMy42LS4zLTUuNCAuMWwtMzEuNSA2LjhjLTUuOC02LTExLjMtMTIuNS0xNi4zLTE5LjJsMTUzLjIgMGMxLjcgMCAyLjktLjMgMi45LTEuOWwwLTU0LjJjMC0xLjYtMS4yLTEuOS0yLjktMS45bC00NC44IDAgMC0zNC40IDQ4LjUgMGM0LjQgMCAyMy43IDEuMyAyOS44IDI1LjkgMS45IDcuNSA2LjIgMzIuMSA5LjEgNDAgMi45IDguOCAxNC42IDI2LjUgMjcuMSAyNi41bDc5IDBjLTUuMyA3LjEtMTEuMSAxMy44LTE3LjMgMjAuMWwtMzIuMS02Ljl6bTI1LjggMzQuNWMwIDMtLjkgNi0yLjYgOC41cy00IDQuNS02LjggNS42LTUuOCAxLjUtOC44IC45LTUuNy0yLTcuOC00LjItMy42LTQuOC00LjItNy44LS4zLTYgLjgtOC44IDMuMS01LjIgNS42LTYuOSA1LjQtMi42IDguNS0yLjZsLjQgMGM0IC4xIDcuNyAxLjggMTAuNSA0LjZzNC4zIDYuNyA0LjMgMTAuNmwuMSAwem0tMjI1LjYtLjdjMCAzLS45IDYtMi42IDguNXMtNC4xIDQuNS02LjggNS42LTUuOCAxLjUtOC44IC45LTUuNy0yLTcuOC00LjItMy42LTQuOC00LjItNy44LS4zLTYgLjktOC44IDMuMS01LjIgNS42LTYuOCA1LjQtMi42IDguNS0yLjZsLjUgMGM0IC4xIDcuNyAxLjggMTAuNSA0LjZzNC4zIDYuNyA0LjMgMTAuNmwuMSAwek02OS42IDIzNC4ybDMyLjgtMTQuNmMxLjctLjcgMy4yLTEuOCA0LjQtMy4xczIuMi0yLjkgMi45LTQuNiAxLTMuNSAuOS01LjMtLjUtMy42LTEuMi01LjNsLTYuOC0xNS4yIDI2LjYgMCAwIDExOS43LTUzLjYgMGMtNi42LTIzLjItOC43LTQ3LjYtNi4xLTcxLjZ6TTU4LjMgMTk4LjFjMC0yIC40LTQgMS4yLTUuOHMxLjktMy41IDMuMy00LjkgMy4xLTIuNSA0LjktMy4zIDMuOC0xLjIgNS44LTEuMmwuNSAwYzMgLjEgNS45IDEgOC4zIDIuOHM0LjMgNC4xIDUuNCA2LjkgMS4zIDUuOCAuNyA4LjgtMi4xIDUuNi00LjMgNy43LTQuOSAzLjUtNy44IDQuMS02IC4yLTguNy0uOS01LjEtMy4xLTYuOC01LjYtMi41LTUuNC0yLjUtOC40bDAgMHptMTU1LjIgMjQuNWwwLTM1LjMgNjMuMyAwYzMuMyAwIDIzLjEgMy44IDIzLjEgMTguNiAwIDEyLjMtMTUuMiAxNi43LTI3LjcgMTYuN2wtNTguNyAwek0zOTkgMzA2LjdjLTkuOCAxLjEtMjAuNi00LjEtMjItMTAuMS01LjgtMzIuNS0xNS40LTM5LjQtMzAuNi01MS40IDE4LjktMTIgMzguNS0yOS42IDM4LjUtNTMuMyAwLTI1LjUtMTcuNS00MS42LTI5LjQtNDkuNS0xNi44LTExLTM1LjMtMTMuMi00MC4zLTEzLjJsLTE5OC45IDBjMjcuNS0zMC43IDY0LjQtNTEuNSAxMDQuOS01OS4ybDIzLjUgMjQuNmMxLjMgMS4zIDIuOCAyLjQgNC40IDMuMXMzLjUgMS4xIDUuMyAxLjIgMy42LS4zIDUuMy0uOSAzLjItMS43IDQuNi0yLjlsMjYuMy0yNWMyNi44IDUgNTIuMSAxNS44IDc0LjMgMzEuNnM0MC42IDM2LjIgNTQuMSA1OS45bC0xOCA0MC42Yy0xLjUgMy40LTEuNSA3LjItLjIgMTAuNnMzLjkgNi4yIDcuMyA3LjdsMzQuNiAxNS4zYzEuMSAxMC44IDEuMiAyMS43IC40IDMyLjVsLTE5LjMgMGMtMS45IDAtMi43IDEuMy0yLjcgMy4xbDAgOC44YzAgMjAuOC0xMS43IDI1LjMtMjIgMjYuNXpNMjQwIDYwLjJjMC00IDEuNi03LjkgNC41LTEwLjdzNi43LTQuNSAxMC43LTQuNWwuNCAwYzMgLjEgNS45IDEgOC40IDIuOHM0LjMgNC4xIDUuNCA2LjkgMS4zIDUuOCAuNyA4LjgtMi4xIDUuNi00LjMgNy43LTQuOSAzLjUtNy44IDQtNiAuMi04LjctLjktNS4xLTMuMS02LjgtNS42LTIuNS01LjQtMi41LTguNHpNNDM2LjggMjE0Yy0yIDAtNC0uNC01LjgtMS4ycy0zLjUtMS45LTQuOS0zLjMtMi41LTMuMS0zLjMtNC45LTEuMi0zLjgtMS4yLTUuOCAuNC00IDEuMi01LjggMS45LTMuNSAzLjMtNC45IDMuMS0yLjUgNC45LTMuMyAzLjgtMS4yIDUuOC0xLjJsLjQgMGM0IC4xIDcuOSAxLjcgMTAuNyA0LjZzNC40IDYuOCA0LjMgMTAuOC0xLjcgNy45LTQuNiAxMC43LTYuOCA0LjQtMTAuOCA0LjN6Il19LFdTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJob3JuYmlsbCIsaWNvbjpbNTEyLDUxMixbXSwiZjU5MiIsIk03Ni44IDM3MC4zYzEgNy44LS40IDE1LjgtNC4xIDIyLjhzLTkuNiAxMi42LTE2LjcgMTYuMS0xNS4xIDQuNy0yMi45IDMuMy0xNS01LjEtMjAuNi0xMC43LTkuMi0xMi45LTEwLjUtMjAuNyAwLTE1LjggMy42LTIyLjkgOS4zLTEyLjggMTYuMy0xNi41IDE1LTUgMjIuOS0zLjljLTc4LjMtMTExLjMgNTItMTkwLjUgNTItMTkwLjUtNS45IDQzLTguMiA5MS4yLTguMiA5MS4yLTY3LjMgNDEuNSAuOSA2NC4xIDM5LjggNzIuOSA5LjkgMjcgMjcuOCA1MC4yIDUxLjQgNjYuN3M1MS42IDI1LjMgODAuMyAyNS4zYzEuOSAwIDMuOC0uMiA1LjctLjNsLjEgMTguOWMtOTkuMiAxLjQtMTU4LjctMjkuMS0xODguOS01MS42em0xMDgtMzI3LjdjLjktNy4yLS4yLTE0LjYtMy40LTIxLjItMy02LjItNy42LTExLjUtMTMuNC0xNS4zcy0xMi41LTUuOS0xOS40LTYuMi0xMy44IDEuNC0xOS44IDQuNy0xMS4xIDguMy0xNC41IDE0LjMtNS4yIDEyLjgtNSAxOS43IDIuMiAxMy43IDUuOSAxOS41IDguOSAxMC42IDE1LjEgMTMuNiAxMy4xIDQuNCAyMCAzLjljLTIyLjYgMjkuOS01My44IDg5LjYtNTIuNCAxOTBsMjEuOC0uMmMwLS45LS4xLTEuOC0uMS0yLjcgMC0yOCA4LjQtNTUuMyAyNC4xLTc4LjVzMzcuOS00MS4yIDYzLjgtNTEuNmM4LTM3LjcgMzAuNy0xMTQuMyA3My44LTQ0LjMgMCAwIDQ4LjEgMi40IDkxLjIgOC4yIDAgMC03Ny44LTEyOC0xODcuNi01NC4xbDAgMHpNNDg5IDE3Ni44YzYuMy0zIDExLjctNy43IDE1LjUtMTMuNnM1LjktMTIuNyA2LjEtMTkuOC0xLjYtMTQtNS4yLTIwLTguNy0xMS0xNC45LTE0LjMtMTMuMi00LjgtMjAuMi00LjQtMTMuOCAyLjgtMTkuNSA2LjktMTAuMiA5LjYtMTMgMTYuMS0zLjcgMTMuNi0yLjcgMjAuNWMtMzEuNy0yMS45LTg5LjgtNDkuMS0xODMuNC00Ny43bC4xIDIyLjVjMi43LS4yIDUuNC0uNCA4LjEtLjQgMjguMSAwIDU1LjYgOC41IDc4LjkgMjQuM3M0MS4yIDM4LjMgNTEuNiA2NC41YzM5LjEgOSAxMDUuMSAzMS42IDM4LjUgNzIuNSAwIDAtMi4zIDQ4LjEtOC4yIDkxLjIgMCAwIDEzMy40LTgxLjIgNDktMTk0LjYgNi42IC42IDEzLjMtLjYgMTkuMy0zLjVsMCAwek0zNzQuNCA0MzYuMmMyMS40LTMyLjUgNDYuNC04OS43IDQ1LjEtMTc5LjdsLTE5LjUgLjFjLjEgMi4xIC4zIDQuMSAuMyA2LjIgMCAyOC42LTguOCA1Ni41LTI1LjEgODBzLTM5LjUgNDEuNC02Ni4zIDUxLjRjLTguOSAzOS0zMS40IDEwNi43LTcyLjggMzkuNSAwIDAtNDguMS0yLjMtOTEuMi04LjIgMCAwIDc5LjkgMTMxLjMgMTkxLjkgNTEgLjMgNC45IDEuNSA5LjYgMy42IDE0IDIuOSA2LjEgNy41IDExLjQgMTMuMSAxNS4xczEyLjIgNiAxOSA2LjQgMTMuNi0xLjEgMTkuNi00LjIgMTEuMS03LjggMTQuNy0xMy42IDUuNi0xMi40IDUuNy0xOS4yLTEuNS0xMy41LTQuOC0xOS40LTguMi0xMC45LTE0LjEtMTQuMy0xMi42LTUuMi0xOS40LTUuMWwwLS4xeiJdfSxHU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGhwIixpY29uOls2NDAsNTEyLFtdLCJmNDU3IiwiTTMyMCAxMDQuNWMxNzEuNCAwIDMwMy4yIDcyLjIgMzAzLjIgMTUxLjVTNDkxLjMgNDA3LjUgMzIwIDQwNy41QzE0OC42IDQwNy41IDE2LjggMzM1LjMgMTYuOCAyNTZTMTQ4LjcgMTA0LjUgMzIwIDEwNC41em0wLTE2LjhDMTQzLjMgODcuNyAwIDE2MyAwIDI1NlMxNDMuMyA0MjQuMyAzMjAgNDI0LjMgNjQwIDM0OSA2NDAgMjU2IDQ5Ni43IDg3LjcgMzIwIDg3Ljd6TTIxOC4yIDI0Mi41Yy03LjkgNDAuNS0zNS44IDM2LjMtNzAuMSAzNi4zbDEzLjctNzAuNmMzOCAwIDYzLjgtNC4xIDU2LjQgMzQuM3pNOTcuNCAzNTAuM2wzNi43IDAgOC43LTQ0LjhjNDEuMSAwIDY2LjYgMyA5MC4yLTE5LjEgMjYuMS0yNCAzMi45LTY2LjcgMTQuMy04OC4xLTkuNy0xMS4yLTI1LjMtMTYuNy00Ni41LTE2LjdsLTcwLjcgMC0zMi43IDE2OC43ek0yODMuMSAxMzYuN2wzNi41IDAtOC43IDQ0LjhjMzEuNSAwIDYwLjctMi4zIDc0LjggMTAuNyAxNC44IDEzLjYgNy43IDMxLTguMyAxMTMuMWwtMzcgMGMxNS40LTc5LjQgMTguMy04NiAxMi43LTkyLTUuNC01LjgtMTcuNy00LjYtNDcuNC00LjZsLTE4LjggOTYuNi0zNi41IDAgMzIuNy0xNjguNnpNNTA1IDI0Mi41Yy04IDQxLjEtMzYuNyAzNi4zLTcwLjEgMzYuM2wxMy43LTcwLjZjMzguMiAwIDYzLjgtNC4xIDU2LjQgMzQuM3pNMzg0LjIgMzUwLjNsMzYuOCAwIDguNy00NC44YzQzLjIgMCA2Ny4xIDIuNSA5MC4yLTE5LjEgMjYuMS0yNCAzMi45LTY2LjcgMTQuMy04OC4xLTkuNy0xMS4yLTI1LjMtMTYuNy00Ni41LTE2LjdsLTcwLjcgMC0zMi44IDE2OC43eiJdfSxZU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGlzcXVzIixpY29uOls1NzYsNTEyLFtdLCJlN2Q1IiwiTTI5MC4yIDUxMmMtNjIuNiAwLTExOS45LTIyLjktMTY0LjItNjAuOEwxNyA0NjYuMSA1OS4xIDM2Mi4yYy0xNC43LTMyLjQtMjIuOS02OC4zLTIyLjktMTA2LjIgMC0xNDEuNCAxMTMuNy0yNTYgMjU0LTI1NiAxNDAuMyAwIDI1NCAxMTQuNiAyNTQgMjU2IDAgMTQxLjQtMTEzLjcgMjU2LTI1NCAyNTZ6TTQyOC45IDI1NS4zbDAtLjdDNDI4LjkgMTgwLjcgMzc2LjggMTI4IDI4NyAxMjhsLTk3IDAgMCAyNTYgOTUuNiAwYzkwLjUgMCAxNDMuNC01NC45IDE0My40LTEyOC43ek0yODggMzIxLjFsLTI4LjQgMCAwLTEzMC4yIDI4LjQgMGM0MS43IDAgNjkuMyAyMy44IDY5LjMgNjQuN2wwIC43YzAgNDEuMy0yNy43IDY0LjctNjkuMyA2NC43eiJdfSxLU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiNTAwcHgiLGljb246WzM4NCw1MTIsW10sImYyNmUiLCJNNzEuOCAzNDQuM2MtNi41LTE0LjItNi45LTE4LjMgNy40LTIzLjEgMjUuNi04IDggOS4yIDQzLjIgNDkuMmwuMyAwIDAtOTMuOWMxLjItNTAuMiA0NC05Mi4yIDk3LjctOTIuMiA1My45IDAgOTcuNyA0My41IDk3LjcgOTYuOCAwIDYzLjQtNjAuOCAxMTMuMi0xMjguNSA5My4zLTEwLjUtNC4yLTIuMS0zMS43IDguNS0yOC42IDUzIDAgODkuNC0xMC4xIDg5LjQtNjQuNCAwLTYxLTc3LjEtODkuNi0xMTYuOS00NC42LTIzLjUgMjYuNC0xNy42IDQyLjEtMTcuNiAxNTcuNiA1MC43IDMxIDExOC4zIDIyIDE2MC40LTIwLjEgMjQuOC0yNC44IDM4LjUtNTggMzguNS05MyAwLTM1LjItMTMuOC02OC4yLTM4LjgtOTMuMy0yNC44LTI0LjgtNTcuOC0zOC41LTkzLjMtMzguNVMxNTEgMTYzLjMgMTI2LjMgMTg4Yy0uMyAuMy0xNiAxNi41LTIxLjIgMjMuOWwtLjUgLjZjLTMuMyA0LjctNi4zIDkuMS0yMC4xIDYuMS02LjktMS43LTE0LjMtNS44LTE0LjMtMTEuOEw3MC4yIDIwYzAtNSAzLjktMTAuNSAxMC41LTEwLjVMMzIyIDkuNWM4LjMgMCA4LjMgMTEuNiA4LjMgMTUuMSAwIDMuOSAwIDE1LjEtOC4zIDE1LjFsLTIyMy4yIDAgMCAxMzIuOSAuMyAwYzEwNC4yLTEwOS44IDI4Mi44LTM2IDI4Mi44IDEwOC45IDAgMTc4LjEtMjQ0LjggMjIwLjMtMzEwLjEgNjIuOHpNMTM1LjEgODMuNWMtLjUgNC4yIDQuNiAyNC41IDE0LjYgMjAuNiAxMjQuOC00Ny41IDIwMi44IDQwLjQgMjA5LjQgNDAuNCA0LjggMCAyMi44LTE1LjMgMTQuMy0yMi44LTkzLjItODktMjM0LjUtNTctMjM4LjMtMzguMnpNMzYxLjUgNDE0LjdjLTExMCAxMDkuOS0yOTkgNjAuOC0zMzItMTA0LjIgMC0xMi4yLTMwLjQtNy40LTI4LjkgMy4zIDI0IDE3My40IDI0NiAyNTYuOSAzODEuNiAxMjEuMyA2LjktNy44LTEyLjYtMjguNC0yMC43LTIwLjR6TTE4Mi4xIDMwNi42YzAgNCA0LjMgNy4zIDUuNSA4LjUgMyAzIDYuMSA0LjQgOC41IDQuNCAzLjggMCAyLjYgLjIgMjIuMy0xOS41IDE5LjYgMTkuMyAxOS4xIDE5LjUgMjIuMyAxOS41IDUuNCAwIDE4LjUtMTAuNCAxMC43LTE4LjJsLTE3LjMtMTcuMyAxOC4yLTE4LjJjNi4zLTYuOC0xMC4xLTIxLjgtMTYuMi0xNS43TDIxOC4yIDI2OGMtMTguNi0xOC44LTE4LjQtMTkuNS0yMS41LTE5LjUtNSAwLTE4IDExLjctMTIuNCAxNy4zTDIwMi41IDI4NGMtMTguMSAxNy45LTIwLjQgMTkuMi0yMC40IDIyLjZ6Il19LFpTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhZmZpbGlhdGV0aGVtZSIsaWNvbjpbNTEyLDUxMixbXSwiZjM2YiIsIk0xNTkuNyAyMzcuNEMxMDguNCAzMDguMyA0My4xIDM0OC4yIDE0IDMyNi42LTE1LjIgMzA0LjkgMi44IDIzMCA1NC4yIDE1OS4xIDEwNS41IDg4LjIgMTcwLjggNDguMyAxOTkuOSA2OS45czExLjEgOTYuNi00MC4yIDE2Ny41em0zNTEuMi01Ny4zYy03My44IDEyMy40LTE5MS45IDE4Ny43LTI2NC41IDE0My42LTI1LTE1LjItNDEuMy00MS4yLTQ5LTczLjgtMzMuNiA2NC44LTkyLjggMTEzLjgtMTY0LjEgMTMzLjIgNDkuOCA1OS4zIDEyNC4xIDk2LjkgMjA3IDk2LjkgMTUwIDAgMjcxLjYtMTIzLjEgMjcxLjYtMjc0LjkgLjEtOC41LS4zLTE2LjgtMS0yNXoiXX0sWFN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlZC1yaXZlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjNlMyIsIk0zNTMuMiAzMkw5NC44IDMyQzQyLjQgMzIgMCA3NC40IDAgMTI2LjhMMCAzODUuMkMwIDQzNy42IDQyLjQgNDgwIDk0LjggNDgwbDI1OC40IDBjNTIuNCAwIDk0LjgtNDIuNCA5NC44LTk0LjhsMC0yNTguNEM0NDggNzQuNCA0MDUuNiAzMiAzNTMuMiAzMnpNMTQ0LjkgMjAwLjlsMCA1Ni4zYzAgMjctMjEuOSA0OC45LTQ4LjkgNDguOWwwLTE1NC4yYzAtMTMuMiAxMC43LTIzLjkgMjMuOS0yMy45bDE1NC4yIDBjMCAyNy0yMS45IDQ4LjktNDguOSA0OC45bC01Ni4zIDBjLTEyLjMtLjYtMjQuNiAxMS42LTI0IDI0em0xNzYuMyA3MmwtNTYuMyAwYy0xMi4zLS42LTI0LjYgMTEuNi0yNCAyNGwwIDU2LjNjMCAyNy0yMS45IDQ4LjktNDguOSA0OC45bDAtMTU0LjJjMC0xMy4yIDEwLjctMjMuOSAyMy45LTIzLjlsMTU0LjIgMGMwIDI3LTIxLjkgNDguOS00OC45IDQ4Ljl6Il19LGhlZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0d2l0dGVyIixpY29uOls1MTIsNTEyLFtdLCJmMDk5IiwiTTQ1OS40IDE1MS43Yy4zIDQuNSAuMyA5LjEgLjMgMTMuNiAwIDEzOC43LTEwNS42IDI5OC42LTI5OC42IDI5OC42LTU5LjUgMC0xMTQuNy0xNy4yLTE2MS4xLTQ3LjEgOC40IDEgMTYuNiAxLjMgMjUuMyAxLjMgNDkuMSAwIDk0LjItMTYuNiAxMzAuMy00NC44LTQ2LjEtMS04NC44LTMxLjItOTguMS03Mi44IDYuNSAxIDEzIDEuNiAxOS44IDEuNiA5LjQgMCAxOC44LTEuMyAyNy42LTMuNi00OC4xLTkuNy04NC4xLTUyLTg0LjEtMTAzbDAtMS4zYzE0IDcuOCAzMC4yIDEyLjcgNDcuNCAxMy4zLTI4LjMtMTguOC00Ni44LTUxLTQ2LjgtODcuNCAwLTE5LjUgNS4yLTM3LjQgMTQuMy01MyA1MS43IDYzLjcgMTI5LjMgMTA1LjMgMjE2LjQgMTA5LjgtMS42LTcuOC0yLjYtMTUuOS0yLjYtMjQgMC01Ny44IDQ2LjgtMTA0LjkgMTA0LjktMTA0LjkgMzAuMiAwIDU3LjUgMTIuNyA3Ni43IDMzLjEgMjMuNy00LjUgNDYuNS0xMy4zIDY2LjYtMjUuMy03LjggMjQuNC0yNC40IDQ0LjgtNDYuMSA1Ny44IDIxLjEtMi4zIDQxLjYtOC4xIDYwLjQtMTYuMi0xNC4zIDIwLjgtMzIuMiAzOS4zLTUyLjYgNTQuM3oiXX0sUVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZvcnQtYXdlc29tZSIsaWNvbjpbNTEyLDUxMixbXSwiZjI4NiIsIk00ODkuNSAyODcuOWwtMjcuNCAwYy0yLjYgMC00LjYgMi00LjYgNC42bDAgMzItMzYuNiAwIDAtMTc4LjNjMC0yLjYtMi00LjYtNC42LTQuNmwtMjcuNCAwYy0yLjYgMC00LjYgMi00LjYgNC42bDAgMzItMzYuNiAwIDAtMzJjMC0yLjYtMi00LjYtNC42LTQuNmwtMjcuNCAwYy0yLjYgMC00LjYgMi00LjYgNC42bDAgMzItMzYuNiAwIDAtMzJjMC02LTgtNC42LTExLjctNC42bDAtMzhjOC4zLTIgMTcuMS0zLjQgMjUuNy0zLjQgMTAuOSAwIDIwLjkgNC4zIDMxLjQgNC4zIDQuNiAwIDI3LjctMS4xIDI3LjctOGwwLTYwYzAtMi42LTItNC42LTQuNi00LjYtNS4xIDAtMTUuMSA0LjMtMjQgNC4zLTkuNyAwLTIwLjktNC4zLTMyLjYtNC4zLTggMC0xNiAxLjEtMjMuNyAyLjlsMC00LjljNS40LTIuNiA5LjEtOC4zIDkuMS0xNC4zIDAtMjAuNy0zMS40LTIwLjgtMzEuNCAwIDAgNiAzLjcgMTEuNyA5LjEgMTQuM2wwIDExMS43Yy0zLjcgMC0xMS43LTEuNC0xMS43IDQuNmwwIDMyLTM2LjYgMCAwLTMyYzAtMi42LTItNC42LTQuNi00LjZsLTI3LjQgMGMtMi42IDAtNC42IDItNC42IDQuNmwwIDMyLTM2LjMgMCAwLTMyYzAtMi42LTItNC42LTQuNi00LjZsLTI3LjQgMGMtMi42IDAtNC42IDItNC42IDQuNmwwIDE3OC4zLTM2LjYgMCAwLTMyYzAtMi42LTItNC42LTQuNi00LjZsLTI3LjQgMGMtMi42IDAtNC42IDItNC42IDQuNmwwIDIxOS41IDE4Mi45IDAgMC05NmMwLTcyLjYgMTA5LjctNzIuNiAxMDkuNyAwbDAgOTYgMTgyLjkgMCAwLTIxOS41Yy4xLTIuNi0xLjktNC42LTQuNS00LjZ6bS0yODguMS00LjVjMCAyLjYtMiA0LjYtNC42IDQuNmwtMjcuNCAwYy0yLjYgMC00LjYtMi00LjYtNC42bDAtNjRjMC0yLjYgMi00LjYgNC42LTQuNmwyNy40IDBjMi42IDAgNC42IDIgNC42IDQuNmwwIDY0em0xNDYuNCAwYzAgMi42LTIgNC42LTQuNiA0LjZsLTI3LjQgMGMtMi42IDAtNC42LTItNC42LTQuNmwwLTY0YzAtMi42IDItNC42IDQuNi00LjZsMjcuNCAwYzIuNiAwIDQuNiAyIDQuNiA0LjZsMCA2NHoiXX0sSlN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1peGVyIixpY29uOls0NDgsNTEyLFtdLCJlMDU2IiwiTTgyLjYgNzYuMWMtMy44LTUuMS04LjctOS40LTE0LjItMTIuNXMtMTEuNy01LjEtMTguMS01LjctMTIuOCAuMS0xOC44IDIuMi0xMS42IDUuMy0xNi4zIDkuNmMtMTcuNiAxNi4yLTE5IDQzLjUtNC44IDYyLjhsOTEuOCAxMjMtOTIuMyAxMjQuMWMtMTQuMiAxOS4zLTEzLjEgNDYuNiA0LjcgNjIuOCA0LjcgNC4zIDEwLjMgNy42IDE2LjMgOS42czEyLjUgMi44IDE4LjggMi4yIDEyLjUtMi41IDE4LjEtNS43IDEwLjQtNy40IDE0LjItMTIuNUwyMTAuOSAyNjIuN2MxLjUtMi4xIDIuMy00LjYgMi4zLTcuMXMtLjgtNS0yLjMtNy4xTDgyLjYgNzYuMXpNNDM4LjIgMzc5LjZsLTkyLjMtMTI0LjEgOTEuOC0xMjNjMTQuMi0xOS4yIDEyLjgtNDYuNi00LjctNjIuOC00LjctNC4zLTEwLjMtNy42LTE2LjMtOS42cy0xMi41LTIuOC0xOC44LTIuMi0xMi41IDIuNS0xOC4xIDUuNy0xMC40IDcuNC0xNC4yIDEyLjVsLTEyOCAxNzIuMWMtMS41IDIuMS0yLjMgNC42LTIuMyA3LjFzLjggNSAyLjMgNy4xTDM2NiA0MzUuOWMzLjggNS4xIDguNyA5LjQgMTQuMiAxMi41czExLjcgNS4xIDE4LjEgNS43IDEyLjgtLjEgMTguOC0yLjIgMTEuNi01LjMgMTYuMy05LjZjMTcuOC0xNi4yIDE5LTQzLjUgNC43LTYyLjh6Il19LGV6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJseWZ0IixpY29uOls1MTIsNTEyLFtdLCJmM2MzIiwiTTAgODEuMWw3Ny44IDAgMCAyMDguN2MwIDMzLjEgMTUgNTIuOCAyNy4yIDYxLTEyLjcgMTEuMS01MS4yIDIwLjktODAuMi0yLjgtMTctMTQtMjQuOC0zNy4zLTI0LjgtNTlMMCA4MS4xek00ODUuOSAyNTQuNmwwLTIyIDIzLjggMCAwLTc2LjgtMjYuMSAwYy0xMC4xLTQ2LjMtNTEuMi04MC43LTEwMC4zLTgwLjctNTYuNiAwLTEwMi43IDQ2LTEwMi43IDEwMi43bDAgMTc5LjJjMTYgMi4zIDM1LjQtLjMgNTEuNy0xNCAxNy4xLTE0IDI0LjgtMzcuMiAyNC44LTU5bDAtNi43IDM4LjggMCAwLTc2LjgtMzguOCAwIDAtMjMuM2MwLTM0LjYgNTIuMi0zNC42IDUyLjIgMGwwIDc3LjFjMCA1Ni42IDQ2IDEwMi43IDEwMi43IDEwMi43bDAtNzYuNWMtMTQuNSAwLTI2LjEtMTEuNy0yNi4xLTI1Ljl6bS0yOTQuMy05OWwwIDExM2MwIDE1LjQtMjMuOCAxNS40LTIzLjggMGwwLTExMy03Ni44IDAgMCAxMzIuN2MwIDIzLjggOCA1NCA0NSA2My45IDM3IDkuOCA1OC4yLTEwLjYgNTguMi0xMC42LTIuMSAxMy40LTE0LjUgMjMuMy0zNC45IDI1LjMtMTUuNSAxLjYtMzUuMi0zLjYtNDUtNy44bDAgNzAuM2MyNS4xIDcuNSA1MS41IDkuOCA3Ny42IDQuNyA0Ny4xLTkuMSA3Ni44LTQ4LjQgNzYuOC0xMDAuOGwwLTE3OC4yLTc3LjEgMCAwIC41eiJdfSx0enQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXBwbGUtcGF5IixpY29uOls2NDAsNTEyLFtdLCJmNDE1IiwiTTExNi45IDE1OC41Yy03LjUgOC45LTE5LjUgMTUuOS0zMS41IDE0LjktMS41LTEyIDQuNC0yNC44IDExLjMtMzIuNiA3LjUtOS4xIDIwLjYtMTUuNiAzMS4zLTE2LjEgMS4yIDEyLjQtMy43IDI0LjctMTEuMSAzMy44em0xMC45IDE3LjJjLTE3LjQtMS0zMi4zIDkuOS00MC41IDkuOS04LjQgMC0yMS05LjQtMzQuOC05LjEtMTcuOSAuMy0zNC41IDEwLjQtNDMuNiAyNi41LTE4LjggMzIuMy00LjkgODAgMTMuMyAxMDYuMyA4LjkgMTMgMTkuNSAyNy4zIDMzLjUgMjYuOCAxMy4zLS41IDE4LjUtOC42IDM0LjUtOC42IDE2LjEgMCAyMC44IDguNiAzNC44IDguNCAxNC41LS4zIDIzLjYtMTMgMzIuNS0yNiAxMC4xLTE0LjggMTQuMy0yOS4xIDE0LjUtMjkuOS0uMy0uMy0yOC0xMC45LTI4LjMtNDIuOS0uMy0yNi44IDIxLjktMzkuNSAyMi45LTQwLjMtMTIuNS0xOC42LTMyLTIwLjYtMzguOC0yMS4xem0xMDAuNC0zNi4ybDAgMTk0LjkgMzAuMyAwIDAtNjYuNiA0MS45IDBjMzguMyAwIDY1LjEtMjYuMyA2NS4xLTY0LjNzLTI2LjQtNjQtNjQuMS02NGwtNzMuMiAwek0yNTguNSAxNjVsMzQuOSAwYzI2LjMgMCA0MS4zIDE0IDQxLjMgMzguNnMtMTUgMzguOC00MS40IDM4LjhsLTM0LjggMCAwLTc3LjR6TTQyMC43IDMzNS45YzE5IDAgMzYuNi05LjYgNDQuNi0yNC45bC42IDAgMCAyMy40IDI4IDAgMC05N2MwLTI4LjEtMjIuNS00Ni4zLTU3LjEtNDYuMy0zMi4xIDAtNTUuOSAxOC40LTU2LjggNDMuNmwyNy4zIDBjMi4zLTEyIDEzLjQtMTkuOSAyOC42LTE5LjkgMTguNSAwIDI4LjkgOC42IDI4LjkgMjQuNWwwIDEwLjgtMzcuOCAyLjNjLTM1LjEgMi4xLTU0LjEgMTYuNS01NC4xIDQxLjUgLjEgMjUuMiAxOS43IDQyIDQ3LjggNDJ6bTguMi0yMy4xYy0xNi4xIDAtMjYuNC03LjgtMjYuNC0xOS42IDAtMTIuMyA5LjktMTkuNCAyOC44LTIwLjVsMzMuNi0yLjEgMCAxMWMwIDE4LjItMTUuNSAzMS4yLTM2IDMxLjJ6bTEwMi41IDc0LjZjMjkuNSAwIDQzLjQtMTEuMyA1NS41LTQ1LjRsNTMuMS0xNDktMzAuOCAwLTM1LjYgMTE1LjEtLjYgMC0zNS42LTExNS4xLTMxLjYgMCA1MS4yIDE0MS45LTIuOCA4LjZjLTQuNiAxNC42LTEyLjEgMjAuMy0yNS41IDIwLjMtMi40IDAtNy0uMy04LjktLjVsMCAyMy40YzEuOCAuNCA5LjMgLjcgMTEuNiAuN3oiXX0sYXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFydHN0YXRpb24iLGljb246WzUxMiw1MTIsW10sImY3N2EiLCJNMi4xIDM3Ny40bDQzIDc0LjNjNC4zIDguNSAxMC44IDE1LjcgMTguOSAyMC43czE3LjQgNy42IDI3IDcuNmwyODUuNCAwLTU5LjItMTAyLjYtMzE1LjEgMHpNNTAxLjkgMzUwTDMzNS43IDU5LjNjLTQuNC04LjItMTAuOS0xNS4xLTE4LjktMjBTMjk5LjcgMzIgMjkwLjQgMzJsLTg4LjQgMCAyNTcuMyA0NDcuNiA0MC43LTcwLjVjMS45LTMuMiAyMS0yOS43IDItNTkuMXpNMjc1LjIgMzA0LjVsLTExNS41LTIwMC0xMTUuNSAyMDAgMjMxIDB6Il19LHJ6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJub2RlLWpzIixpY29uOls0NDgsNTEyLFtdLCJmM2QzIiwiTTIyNC41IDUwOGMtNi43IDAtMTMuNS0xLjgtMTkuNC01LjJsLTYxLjctMzYuNWMtOS4yLTUuMi00LjctNy0xLjctOCAxMi4zLTQuMyAxNC44LTUuMiAyNy45LTEyLjcgMS40LS44IDMuMi0uNSA0LjYgLjRsNDcuNCAyOC4xYzEuNyAxIDQuMSAxIDUuNyAwTDQxMiAzNjcuNWMxLjctMSAyLjgtMyAyLjgtNWwwLTIxMy4yYzAtMi4xLTEuMS00LTIuOS01LjFMMjI3LjMgMzcuN2MtMS43LTEtNC0xLTUuNyAwTDM3LjEgMTQ0LjNjLTEuOCAxLTIuOSAzLTIuOSA1LjFsMCAyMTMuMWMwIDIgMS4xIDQgMi45IDQuOWw1MC42IDI5LjJjMjcuNSAxMy43IDQ0LjMtMi40IDQ0LjMtMTguN2wwLTIxMC40YzAtMyAyLjQtNS4zIDUuNC01LjNsMjMuNCAwYzIuOSAwIDUuNCAyLjMgNS40IDUuM2wwIDIxMC41YzAgMzYuNi0yMCA1Ny42LTU0LjcgNTcuNi0xMC43IDAtMTkuMSAwLTQyLjUtMTEuNkwyMC42IDM5Ni4xYy0xMi02LjktMTkuNC0xOS44LTE5LjQtMzMuN2wwLTIxMy4xYzAtMTMuOCA3LjQtMjYuOCAxOS40LTMzLjdMMjA1LjEgOWMxMS43LTYuNiAyNy4yLTYuNiAzOC44IDBMNDI4LjYgMTE1LjdjMTIgNi45IDE5LjQgMTkuOCAxOS40IDMzLjdsMCAyMTMuMWMwIDEzLjgtNy40IDI2LjctMTkuNCAzMy43TDI0My45IDUwMi44Yy01LjkgMy40LTEyLjYgNS4yLTE5LjQgNS4yek0zNzMuNiAyOTcuOWMwLTM5LjktMjctNTAuNS04My43LTU4LTU3LjQtNy42LTYzLjItMTEuNS02My4yLTI0LjkgMC0xMS4xIDQuOS0yNS45IDQ3LjQtMjUuOSAzNy45IDAgNTEuOSA4LjIgNTcuNyAzMy44IC41IDIuNCAyLjcgNC4yIDUuMiA0LjJsMjQgMGMxLjUgMCAyLjktLjYgMy45LTEuN3MxLjUtMi42IDEuNC00LjFjLTMuNy00NC4xLTMzLTY0LjYtOTIuMi02NC42LTUyLjcgMC04NC4xIDIyLjItODQuMSA1OS41IDAgNDAuNCAzMS4zIDUxLjYgODEuOCA1Ni42IDYwLjUgNS45IDY1LjIgMTQuOCA2NS4yIDI2LjcgMCAyMC42LTE2LjYgMjkuNC01NS41IDI5LjQtNDguOSAwLTU5LjYtMTIuMy02My4yLTM2LjYtLjQtMi42LTIuNi00LjUtNS4zLTQuNWwtMjMuOSAwYy0zIDAtNS4zIDIuNC01LjMgNS4zIDAgMzEuMSAxNi45IDY4LjIgOTcuOCA2OC4yIDU4LjQtLjEgOTItMjMuMiA5Mi02My40eiJdfSxzenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW5jaGFydGVkIixpY29uOls0NDgsNTEyLFtdLCJlMDg0IiwiTTE3MS44IDIzMi44YzEuMSAwIDIuMS0uMyAzLS45czEuNi0xLjQgMi0yLjRjMi4yLTkuOCA3LjQtMTguNiAxNC45LTI1LjMgMS4yLS44IDEuNy0yLjUgMS43LTQuMS0uMS0uNy0uMy0xLjMtLjYtMS45cy0uOS0xLjEtMS40LTEuNEw3NC41IDEyOC41IDE0OS4xIDg1YzEuNS0uOCAyLjctMiAzLjYtMy41czEuNC0zLjEgMS40LTQuOGMwLTEuNy0uNC0zLjQtMS4zLTQuOXMtMi4yLTIuNy0zLjctMy40TDEyNi43IDU1LjZjLTEuNS0uOC0zLjEtMS4yLTQuOC0xLjJzLTMuMyAuNC00LjggMS4yTDE3IDExMy42Yy0xLjUgLjgtMi43IDItMy42IDMuNXMtMS40IDMuMS0xLjQgNC44TDEyIDIzN2MwIDEuNyAuNCAzLjQgMS4zIDQuOXMyLjIgMi43IDMuNyAzLjRsMjIuNCAxMi44YzEuNSAuOSAzLjIgMS4zIDUgMS4yIDIuNCAuMSA0LjgtLjggNi42LTIuNSAxLjgtMS45IDIuOC00LjQgMi45LTdsMC04NS4zIDExNS45IDY3LjljLjYgLjMgMS40IC40IDIuMSAuNHpNMzIzLjQgMzc3LjdjLTEuNyAuMS0zLjQgLjUtNSAxLjJsLTc0LjUgNDMuMSAwLTEzNC4yYzAtMi45LTIuOS01LjgtNi4yLTQuNi05LjQgMi44LTE5LjUgMy0yOSAuNC0uNy0uMi0xLjUtLjItMi4yLS4xcy0xLjQgLjQtMiAuOS0xLjEgMS0xLjQgMS43LS41IDEuNC0uNSAyLjFsMCAxMzMuMy03NC41LTQzLjFjLTEuNS0uOS0zLjItMS4zLTUtMS4yLTIuNSAwLTQuOSAxLTYuNyAyLjhzLTIuOCA0LjItMi44IDYuN2wwIDI2LjFjMCAxLjcgLjQgMy40IDEuMyA0LjlzMi4yIDIuNyAzLjcgMy40bDEwMC4yIDU3LjZjMS41IC45IDMuMiAxLjMgNSAxLjIgMS43IDAgMy40LS40IDUtMS4ybDEwMC4yLTU3LjZjMS41LS44IDIuNy0yIDMuNi0zLjVzMS40LTMuMSAxLjQtNC44bDAtMjYuMWMtLjgtNC42LTUuNC05LjEtMTAuNC05LjF6TTI4Ni4xIDc4YTIzIDIzIDAgMSAwIDAtNDYgMjMgMjMgMCAxIDAgMCA0NnptNjMuNi0xMC4xYTIzIDIzIDAgMSAwIDAgNDYgMjMgMjMgMCAxIDAgMC00NnptNjMuMiA4My43YTIzIDIzIDAgMSAwIDAtNDYgMjMgMjMgMCAxIDAgMCA0NnptLTYzLjItOS4yYTIzIDIzIDAgMSAwIDAgNDYgMjMgMjMgMCAxIDAgMC00NnptLTYzLjYgODMuMmM0LjUgMCA5LTEuMyAxMi44LTMuOXM2LjctNi4xIDguNS0xMC4zIDIuMi04LjggMS4zLTEzLjMtMy4xLTguNi02LjMtMTEuOC03LjMtNS40LTExLjgtNi4zLTkuMS0uNC0xMy4zIDEuMy03LjggNC43LTEwLjMgOC41LTMuOSA4LjItMy45IDEyLjhjMCAzIC42IDYgMS44IDguOHMyLjkgNS4zIDUgNy41IDQuNyAzLjggNy41IDUgNS44IDEuOCA4LjggMS44bDAgMHpNMjI0IDI2MmM0LjUgMCA5LTEuNCAxMi44LTMuOXM2LjctNi4xIDguNS0xMC4zIDIuMi04LjggMS4zLTEzLjMtMy4xLTguNi02LjMtMTEuOC03LjMtNS40LTExLjgtNi4zLTkuMS0uNC0xMy4zIDEuMy03LjggNC43LTEwLjMgOC41LTMuOSA4LjItMy45IDEyLjhjMCAzIC42IDYgMS43IDguOHMyLjggNS4zIDUgNy41IDQuNyAzLjggNy41IDUgNS44IDEuOCA4LjggMS44bDAgMHptMTg4LjktODIuNGMtNC42IDAtOSAxLjMtMTIuOCAzLjlzLTYuNyA2LjEtOC41IDEwLjMtMi4yIDguOC0xLjMgMTMuMyAzLjEgOC42IDYuMyAxMS44IDcuMyA1LjQgMTEuOCA2LjMgOS4xIC40IDEzLjMtMS4zIDcuOC00LjcgMTAuMy04LjUgMy45LTguMiAzLjktMTIuOGMwLTYuMS0yLjQtMTEuOS02LjctMTYuM3MtMTAuMi02LjctMTYuMy02LjdsMCAwem0wIDcyLjNjLTQuNiAwLTkgMS4zLTEyLjggMy45cy02LjcgNi4xLTguNSAxMC4zLTIuMiA4LjgtMS4zIDEzLjMgMy4xIDguNiA2LjMgMTEuOCA3LjMgNS40IDExLjggNi4zIDkuMSAuNCAxMy4zLTEuMyA3LjgtNC43IDEwLjMtOC41IDMuOS04LjIgMy45LTEyLjhjMC02LjEtMi40LTExLjktNi43LTE2LjNzLTEwLjItNi43LTE2LjMtNi43bDAgMHoiXX0saXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBsYXlzdGF0aW9uIixpY29uOls1NzYsNTEyLFtdLCJmM2RmIiwiTTU3MSAzNzIuM2MtMTEuMyAxNC4yLTM4LjggMjQuMy0zOC44IDI0LjNsLTIwNS4xIDczLjYgMC01NC4zIDE1MC45LTUzLjhjMTcuMS02LjEgMTkuOC0xNC44IDUuOC0xOS40LTEzLjktNC42LTM5LjEtMy4zLTU2LjIgMi45bC0xMDAuNSAzNS41IDAtNTYuNGMyMy4yLTcuOCA0Ny4xLTEzLjYgNzUuNy0xNi44IDQwLjktNC41IDkwLjkgLjYgMTMwLjIgMTUuNSA0NC4yIDE0IDQ5LjIgMzQuNyAzOCA0OC45ek0zNDYuNiAyNzkuOGwwLTEzOWMwLTE2LjMtMy0zMS4zLTE4LjMtMzUuNi0xMS43LTMuOC0xOSA3LjEtMTkgMjMuNGwwIDM0Ny45LTkzLjgtMjkuOCAwLTQxNC43YzM5LjkgNy40IDk4IDI0LjkgMTI5LjIgMzUuNCA3OS41IDI3LjMgMTA2LjQgNjEuMyAxMDYuNCAxMzcuOCAwIDc0LjUtNDYgMTAyLjgtMTA0LjUgNzQuNnpNNDMuMyA0MTAuMmMtNDUuNC0xMi44LTUzLTM5LjUtMzIuMy01NC44IDE5LjEtMTQuMiA1MS43LTI0LjkgNTEuNy0yNC45bDEzNC41LTQ3LjggMCA1NC41LTk2LjggMzQuNmMtMTcuMSA2LjEtMTkuNyAxNC44LTUuOCAxOS40czM5LjEgMy4zIDU2LjItMi45bDQ2LjQtMTYuOSAwIDQ4LjhjLTUxLjYgOS4zLTEwMS40IDcuMy0xNTMuOS0xMHoiXX0sb3p0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1pY3JvYmxvZyIsaWNvbjpbNDQ4LDUxMixbXSwiZTAxYSIsIk0zOTkuOCAzNjIuMmMyOS41LTM0LjcgNDcuMS03OC4zIDQ3LjEtMTI1LjggMC0xMTMtOTkuNi0yMDQuNC0yMjIuNS0yMDQuNFMyIDEyMy41IDIgMjM2LjQgMTAxLjYgNDQwLjkgMjI0LjUgNDQwLjljMjcgMCA1My45LTQuNSA3OS40LTEzLjQgMS40LS41IDMtLjUgNC41LS4xczIuNyAxLjQgMy42IDIuNmMxOC42IDI1LjEgNDcuNiA0Mi43IDc5LjkgNDkuOSAxLjEgLjIgMi4zIDAgMy4zLS42czEuNy0xLjYgMS45LTIuOGMuMS0uNiAuMS0xLjMgMC0xLjlzLS40LTEuMi0uOC0xLjdjLTEyLjMtMTYtMTguNy0zNS44LTE4LTU2czguNC0zOS41IDIxLjctNTQuN2wtLjIgLjF6TTMzMCAyMTIuNGwtNTcuMyA0My41IDIwLjggNjguOWMuNCAxLjMgLjQgMi43LS4xIDRzLTEuMiAyLjQtMi4zIDMuMi0yLjQgMS4yLTMuOCAxLjItMi43LS40LTMuOC0xLjJsLTU5LjEtNDEtNTkuMSA0MS4xYy0xLjEgLjgtMi40IDEuMi0zLjggMS4ycy0yLjctLjQtMy44LTEuMi0xLjktMS45LTIuMy0zLjItLjUtMi43LS4xLTRsMjAuOC02OC45LTU3LjMtNDMuNWMtMS4xLS44LTEuOS0xLjktMi4zLTMuMnMtLjQtMi43IDAtNCAxLjItMi40IDIuMy0zLjIgMi40LTEuMyAzLjctMS4zbDcxLjktMS41IDIzLjctNjcuOWMuNC0xLjMgMS4zLTIuNCAyLjQtMy4yczIuNC0xLjIgMy44LTEuMiAyLjcgLjQgMy44IDEuMiAxLjkgMS45IDIuNCAzLjJsMjMuNyA2Ny45IDcxLjkgMS41YzEuNCAwIDIuNyAuNCAzLjggMS4yczEuOSAxLjkgMi4zIDMuMiAuNCAyLjcgMCA0LTEuMiAyLjQtMi4zIDMuM2wwIDB6Il19LG56dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnaXRrcmFrZW4iLGljb246WzU3Niw1MTIsW10sImYzYTYiLCJNNTU3LjcgMTE4LjFjLTIuMy02LjEtOS4zLTkuMi0xNS4zLTYuNi01LjcgMi40LTguNSA4LjktNi4zIDE0LjYgMTAuOSAyOSAxNi45IDYwLjUgMTYuOSA5My4zIDAgMTM0LjYtMTAwLjMgMjQ1LjctMjMwLjIgMjYyLjdsMC0xMjMuN2M3LjktMS41IDE1LjUtMy42IDIzLTYuMmwwIDEwNGMxMDYuNy0yNS45IDE4NS45LTEyMi4xIDE4NS45LTIzNi44IDAtOTEuOC01MC44LTE3MS44LTEyNS44LTIxMy4zLTUuNy0zLjItMTMtLjktMTUuOSA1LTIuNyA1LjUtLjYgMTIuMiA0LjcgMTUuMSA2Ny45IDM3LjYgMTEzLjkgMTEwIDExMy45IDE5My4yIDAgOTMuMy01Ny45IDE3My4xLTEzOS44IDIwNS40bDAtOTIuMmMxNC4yLTQuNSAyNC45LTE3LjcgMjQuOS0zMy41IDAtMTMuMS02LjgtMjQuNC0xNy4zLTMwLjUgOC4zLTc5LjUgNDQuNS01OC42IDQ0LjUtODMuOWwwLTE0LjdjMC0zOC04Ny45LTE2MS44LTEyOS0xNjQuNy0yLjUtLjItNS0uMi03LjYgMC00MS4yIDMtMTI5LjEgMTI2LjctMTI5LjEgMTY0LjdsMCAxNC44YzAgMjUuMyAzNi4zIDQuMyA0NC41IDgzLjktMTAuNiA2LjEtMTcuMyAxNy40LTE3LjMgMzAuNSAwIDE1LjggMTAuNiAyOSAyNC44IDMzLjVsMCA5Mi4yYy04MS45LTMyLjItMTM5LjgtMTEyLTEzOS44LTIwNS40IDAtODMuMSA0Ni0xNTUuNSAxMTMuOS0xOTMuMiA1LjQtMyA3LjQtOS42IDQuNy0xNS4xLTIuOS01LjktMTAuMS04LjItMTUuOS01LTc1IDQxLjUtMTI1LjggMTIxLjUtMTI1LjggMjEzLjMgMCAxMTQuNyA3OS4yIDIxMC44IDE4NS45IDIzNi44bDAtMTA0YzcuNiAyLjUgMTUuMSA0LjYgMjMgNi4ybDAgMTIzLjdjLTEyOS44LTE3LTIzMC4yLTEyOC4xLTIzMC4yLTI2Mi43IDAtMzIuOCA2LTY0LjMgMTYuOS05My4zIDIuMi01LjgtLjYtMTIuMi02LjMtMTQuNi02LTIuNi0xMyAuNC0xNS4zIDYuNi0xMS44IDMxLjUtMTguMyA2NS42LTE4LjMgMTAxLjMgMCAxNTUuMSAxMjIuNiAyODEuNiAyNzYuMyAyODcuOGwwLTE0NS45YzYuOCAuNCAxNSAuNSAyMy40IDBsMCAxNDUuOGMxNTMuNy02LjEgMjc2LjMtMTMyLjYgMjc2LjMtMjg3LjcgMC0zNS43LTYuNS02OS44LTE4LjMtMTAxLjR6TTM1Ny45IDMyMi45YTIzLjcgMjMuNyAwIDEgMSAwLTQ3LjQgMjMuNyAyMy43IDAgMSAxIDAgNDcuNHpNMjE4LjEgMjc1LjRhMjMuNyAyMy43IDAgMSAxIDAgNDcuNCAyMy43IDIzLjcgMCAxIDEgMC00Ny40eiJdfSxYdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGVsZWdyYW0iLGljb246WzUxMiw1MTIsWzYyNDYyLCJ0ZWxlZ3JhbS1wbGFuZSJdLCJmMmM2IiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMzcxIDE3Ni43Yy0zLjcgMzkuMi0xOS45IDEzNC40LTI4LjEgMTc4LjMtMy41IDE4LjYtMTAuMyAyNC44LTE2LjkgMjUuNC0xNC40IDEuMy0yNS4zLTkuNS0zOS4zLTE4LjctMjEuOC0xNC4zLTM0LjItMjMuMi01NS4zLTM3LjItMjQuNS0xNi4xLTguNi0yNSA1LjMtMzkuNSAzLjctMy44IDY3LjEtNjEuNSA2OC4zLTY2LjcgLjItLjcgLjMtMy4xLTEuMi00LjRzLTMuNi0uOC01LjEtLjVjLTIuMiAuNS0zNy4xIDIzLjUtMTA0LjYgNjkuMS05LjkgNi44LTE4LjkgMTAuMS0yNi45IDkuOS04LjktLjItMjUuOS01LTM4LjYtOS4xLTE1LjUtNS0yNy45LTcuNy0yNi44LTE2LjMgLjYtNC41IDYuNy05IDE4LjQtMTMuNyA3Mi4zLTMxLjUgMTIwLjUtNTIuMyAxNDQuNi02Mi4zIDY4LjktMjguNiA4My4yLTMzLjYgOTIuNS0zMy44IDIuMSAwIDYuNiAuNSA5LjYgMi45IDIgMS43IDMuMiA0LjEgMy41IDYuNyAuNSAzLjIgLjYgNi41IC40IDkuOHoiXX0sbHp0PVh1ZSxjenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidWx0cmFseXRpY3MiLGljb246WzUxMiw1MTIsW10sImU4NmQiLCJNMzkxLjQgMzkuN2M2NS44LS4yIDExOC42IDUxLjggMTIwLjQgMTE2LjYgLjcgMjYuNC0xLjUgNTQuMS0zLjggNzQuMS0xNy4yIDE0OC42LTEyMi40IDI0Mi0yNTIuNCAyNDItOTUuNC0uMS0xNzkuNC01Mi43LTIyMy4yLTEzMC42IDI0LjQgMTcuNCA1NC41IDI3LjQgODcuNiAyNy40IDgzLjIgLjEgMTUxLjQtNjcuNCAxNTEuMi0xNTBsLjEtNjAuNmMtLjItNjUuNyA1My45LTExOSAxMjAuMS0xMTguOXpNMTE5LjkgMTAwLjJjNjYuMiAwIDExOS45IDUzLjMgMTE5LjkgMTE5UzE4Ni4xIDMzOC4zIDExOS45IDMzOC4zIDAgMjg1IDAgMjE5LjNjMC02NS43IDUzLjctMTE5IDExOS45LTExOXoiXX0sZHp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Iml0dW5lcy1ub3RlIixpY29uOlszODQsNTEyLFtdLCJmM2I1IiwiTTM4MS45IDM4OC4yYy02LjQgMjcuNC0yNy4yIDQyLjgtNTUuMSA0OC0yNC41IDQuNS00NC45IDUuNi02NC41LTEwLjItMjMuOS0yMC4xLTI0LjItNTMuNC0yLjctNzQuNCAxNy0xNi4yIDQwLjktMTkuNSA3Ni44LTI1LjggNi0xLjEgMTEuMi0yLjUgMTUuNi03LjQgNi40LTcuMiA0LjQtNC4xIDQuNC0xNjMuMiAwLTExLjItNS41LTE0LjMtMTctMTIuMy04LjIgMS40LTE4NS43IDM0LjYtMTg1LjcgMzQuNi0xMC4yIDIuMi0xMy40IDUuMi0xMy40IDE2LjcgMCAyMzQuNyAxLjEgMjIzLjktMi41IDIzOS41LTQuMiAxOC4yLTE1LjQgMzEuOS0zMC4yIDM5LjUtMTYuOCA5LjMtNDcuMiAxMy40LTYzLjQgMTAuNC00My4yLTguMS01OC40LTU4LTI5LjEtODYuNiAxNy0xNi4yIDQwLjktMTkuNSA3Ni44LTI1LjggNi0xLjEgMTEuMi0yLjUgMTUuNi03LjQgMTAuMS0xMS41IDEuOC0yNTYuNiA1LjItMjcwLjIgLjgtNS4yIDMtOS42IDcuMS0xMi45IDQuMi0zLjUgMTEuOC01LjUgMTMuNC01LjUgMjA0LTM4LjIgMjI4LjktNDMuMSAyMzIuNC00My4xIDExLjUtLjggMTguMSA2IDE4LjEgMTcuNiAuMiAzNDQuNSAxLjEgMzI2LTEuOCAzMzguNXoiXX0sdXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imxlc3MiLGljb246WzY0MCw1MTIsW10sImY0MWQiLCJNNjEzLjIgMjE5YzAtMjAuNSAzLjItMzIuNiAzLjItNTQuNiAwLTM0LjItMTIuNi00NS4yLTQwLjUtNDUuMmwtMjAuNSAwIDAgMjQuMiA2LjMgMGMxNC4yIDAgMTcuMyA0LjcgMTcuMyAyMi4xIDAgMTYuMy0xLjYgMzIuNi0xLjYgNTEuNSAwIDI0LjIgNy45IDMzLjYgMjMuNiAzNy4zbDAgMS42Yy0xNS44IDMuNy0yMy42IDEzLjEtMjMuNiAzNy4zIDAgMTguOSAxLjYgMzQuMiAxLjYgNTEuNSAwIDE3LjktMy43IDIyLjYtMTcuMyAyMi42bDAgLjUtNi4zIDAgMCAyNS4yIDIwLjUgMGMyNy44IDAgNDAuNS0xMSA0MC41LTQ1LjIgMC0yMi42LTMuMi0zNC4yLTMuMi01NC42IDAtMTEgNi44LTIyLjYgMjcuMy0yMy42bDAtMjcuM2MtMjAuNS0uNy0yNy4zLTEyLjMtMjcuMy0yMy4zek01MDcuNiAyNTFjLTE1LjgtNi4zLTMwLjUtMTAtMzAuNS0yMC41IDAtNy45IDYuMy0xMi42IDE3LjktMTIuNnMyMi4xIDQuNyAzMy42IDEzLjFsMjEtMjcuOGMtMTMuMS0xMC0zMS0yMC41LTU1LjItMjAuNS0zNS43IDAtNTkuOSAyMC41LTU5LjkgNDkuNCAwIDI1LjcgMjIuNiAzOC45IDQxLjUgNDYuMiAxNi4zIDYuMyAzMi4xIDExLjYgMzIuMSAyMi4xIDAgNy45LTYuMyAxMy4xLTIwLjUgMTMuMS0xMy4xIDAtMjYuMy01LjMtNDAuNS0xNi4zbC0yMSAzMC41YzE1LjggMTMuMSAzOS45IDIyLjEgNTkuOSAyMi4xIDQyIDAgNjQuNi0yMi4xIDY0LjYtNTFzLTIyLjUtNDEtNDMtNDcuOHpNMTQ4LjcgMzEwLjRjLTMuNyAwLTguNC0zLjItOC40LTEzLjFsMC0xNzguMi03NC42IDBjLTI4LjQgMC00MSAxMS00MSA0NS4yIDAgMjIuNiAzLjIgMzUuMiAzLjIgNTQuNiAwIDExLTYuOCAyMi42LTI3LjMgMjMuNmwwIDI3LjNjMjAuNSAuNSAyNy4zIDEyLjEgMjcuMyAyMy4xIDAgMTkuNC0zLjIgMzEtMy4yIDUzLjYgMCAzNC4yIDEyLjYgNDUuMiA0MC41IDQ1LjJsMjAuNSAwIDAtMjQuMi02LjMgMGMtMTMuMSAwLTE3LjMtNS4zLTE3LjMtMjIuNnMxLjYtMzIuMSAxLjYtNTEuNWMwLTI0LjItNy45LTMzLjYtMjMuNi0zNy4zbDAtMS42YzE1LjgtMy43IDIzLjYtMTMuMSAyMy42LTM3LjMgMC0xOC45LTEuNi0zNC4yLTEuNi01MS41czMuNy0yMi4xIDE3LjMtMjIuMWwxNC4xIDAgMCAxNTAuOGMwIDMyLjEgMTEgNTMuMSA0My4xIDUzLjEgMTAgMCAxNy45LTEuNiAyMy42LTMuN2wtNS4zLTM0LjJjLTMuMSAuOC00LjYgLjgtNi4yIC44ek0zODAuNCAyNTFjLTE2LjMtNi4zLTMxLTEwLTMxLTIwLjUgMC03LjkgNi4zLTEyLjYgMTcuOS0xMi42czIyLjEgNC43IDMzLjYgMTMuMWwyMS0yNy44Yy0xMy4xLTEwLTMxLTIwLjUtNTUuMi0yMC41LTM1LjcgMC01OS45IDIwLjUtNTkuOSA0OS40IDAgMjUuNyAyMi42IDM4LjkgNDEuNSA0Ni4yIDE2LjMgNi4zIDMyLjEgMTEuNiAzMi4xIDIyLjEgMCA3LjktNi4zIDEzLjEtMjAuNSAxMy4xLTEzLjEgMC0yNi4zLTUuMy00MC41LTE2LjNsLTIwLjUgMzAuNWMxNS44IDEzLjEgMzkuOSAyMi4xIDU5LjkgMjIuMSA0MiAwIDY0LjYtMjIuMSA2NC42LTUxIC4xLTI4LjktMjIuNS00MS00My00Ny44em0tMTU1LTY4LjhjLTM4LjQgMC03NS4xIDMyLjEtNzQuMSA4Mi41IDAgNTIgMzQuMiA4Mi41IDc5LjMgODIuNSAxOC45IDAgMzkuOS02LjggNTYuMi0xNy45TDI3MSAzMDEuNWMtMTEuNiA2LjgtMjIuNiAxMC0zNC4yIDEwLTIxIDAtMzcuMy0xMC00MS41LTM0LjJsOTUuMiAwYy41LTMuNyAxLjYtMTEgMS42LTE5LjQgLjYtNDIuNi0yMi42LTc1LjctNjYuNy03NS43em0tMzAgNjYuMmMzLjItMjEgMTUuOC0zMSAzMC41LTMxIDE4LjkgMCAyNi4zIDEzLjEgMjYuMyAzMWwtNTYuOCAweiJdfSxwenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmlyZWZveCIsaWNvbjpbNTEyLDUxMixbXSwiZjI2OSIsIk01MDMuNSAyNDEuNWMtLjEtMS42LS4yLTMuMS0uMi00LjdsMC0uMS0uNC00LjcgMC0uMWMtMS4zLTEzLjktMy43LTI3LjctNy4zLTQxLjIgMC0uMSAwLS4xLS4xLS4ybC0xLjEtNGMtLjEtLjItLjEtLjUtLjItLjYtLjQtMS4yLS43LTIuNS0xLjEtMy43LS4xLS4yLS4xLS42LS4yLS44LS40LTEuMi0uNy0yLjQtMS4xLTMuNS0uMS0uNC0uMi0uNi0uNC0xLS40LTEuMi0uNy0yLjMtMS4yLTMuNWwtLjQtMS4xYy0uNC0xLjEtLjgtMi4zLTEuMi0zLjQtLjEtLjMtLjItLjctLjQtMS0uNS0xLjEtLjgtMi4zLTEuMy0zLjQtLjEtLjItLjItLjYtLjQtLjgtLjUtMS4yLTEtMi4zLTEuNC0zLjUgMC0uMS0uMS0uMi0uMS0uNC0xLjYtMy44LTMuMi03LjctNS0xMS40bC0uNC0uN2MtLjUtMS0uOC0xLjgtMS4zLTIuNi0uMi0uNS0uNS0xLjEtLjctMS42LS40LS44LS44LTEuNi0xLjItMi40LS40LS42LS42LTEuMi0xLTEuOHMtLjgtMS40LTEuMi0yLjNjLS40LS42LS43LTEuMy0xLjEtMS45cy0uOC0xLjQtMS4yLTIuMmMtLjQtLjctLjgtMS40LTEuMi0yLS40LS43LS44LTEuMy0xLjItMnMtLjgtMS4zLTEuMi0yLS44LTEuMy0xLjItMS45LS44LTEuNC0xLjMtMi4yYy0uNC0uNi0uOC0xLjItMS4yLTEuOGwtMS40LTIuMWMtLjQtLjYtLjgtMS4yLTEuMi0xLjgtLjUtLjctMS4xLTEuNi0xLjYtMi4zLS40LS41LS43LTEuMS0xLjEtMS42bC0xLjgtMi41Yy0uNC0uNS0uNi0uOC0xLTEuMy0xLTEuMy0xLjgtMi41LTIuOC0zLjctNy4yLTkuNC0xNS0xOC4zLTIzLjUtMjYuNi01LjctNi0xMS44LTExLjUtMTguMy0xNi43LTQtMy41LTguMi02LjctMTIuNS05LjgtNy43LTUuOC0xNi0xMC44LTI0LjYtMTUuMS0yLjQtMS4zLTQuOC0yLjUtNy4yLTMuNy0xNy43LTguNi0zNi4zLTE1LjItNTUuNC0xOS42LTEuOS0uNC0zLjgtLjgtNS42LTEuMmwtLjEgMGMtMS0uMS0xLjgtLjQtMi44LS41LTEyLjUtMi40LTI1LjItMy43LTM4LTRsLTEwLjYgMGMtMTUuMyAuMi0zMC41IDEuOS00NS41IDUtMzMuNiA3LjEtNjMuMiAyMS4yLTgyLjkgMzktMS4xIDEtMS45IDEuNy0yLjQgMi4ybC0uNSAuNSAuMSAwYzAgMCAuMSAwIC4xIDBzMC0uMSAwLS4xbC0uMSAuMWMuMS0uMSAuMS0uMSAuMi0uMSAxNC42LTguOCAzNC45LTE2IDQ5LjQtMTkuNmw1LjktMS40Yy40LS4xIC44LS4xIDEuMi0uMiAxLjctLjQgMy40LS43IDUuMi0xLjEgLjIgMCAuNi0uMSAuOC0uMSA2NC4yLTExLjcgMTMyLjYgNy41IDE4MC4yIDUzIDEwLjMgOS44IDE5LjMgMjAuOCAyNi45IDMyLjggMzAuNCA0OS4yIDI3LjUgMTExLjEgMy44IDE0Ny42LTM0LjQgNTMtMTExLjQgNzEuMy0xNTkgMjQuOC0xNi0xNS41LTI1LjItMzYuNy0yNS42LTU5LS4yLTEwLjcgMi0yMS4yIDYuMi0zMSAxLjctMy44IDEzLjEtMjUuNyAxOC4yLTI0LjYtMTMuMS0yLjgtMzcuNSAyLjYtNTQuNyAyOC4yLTE1LjQgMjIuOS0xNC41IDU4LjItNSA4My4zLTYtMTIuNC0xMC4xLTI1LjYtMTIuMS0zOS4yLTEyLjItODIuNiA0My4zLTE1MyA5NC4zLTE3MC41LTI3LjUtMjQtOTYuNS0yMi4zLTE0Ny43IDE1LjQtMjkuOSAyMi01MS4yIDUzLjItNjIuNSA5MC40IDEuNy0yMC45IDkuNi01Mi4xIDI1LjgtODMuOS0xNy4yIDguOS0zOSAzNy00OS44IDYyLjktMTUuNiAzNy40LTIxIDgyLjItMTYuMSAxMjQuOCAuNCAzLjIgLjcgNi40IDEuMSA5LjYgMTkuOSAxMTcuMSAxMjIgMjA2LjQgMjQ0LjggMjA2LjQgMTM3LjEgMCAyNDguMy0xMTEuMiAyNDguMy0yNDguNC0uMS00LjUtLjItOS4xLS41LTEzLjV6Il19LGZ6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJrYWdnbGUiLGljb246WzMyMCw1MTIsW10sImY1ZmEiLCJNMzA0LjIgNTAxLjVMMTU4LjQgMzIwLjMgMjk4LjIgMTg1YzIuNi0yLjcgMS43LTEwLjUtNS4zLTEwLjVsLTY5LjIgMGMtMy41IDAtNyAxLjgtMTAuNSA1LjNsLTEzMi4zIDEzMy43IDAtMzA2YzAtNS0yLjUtNy41LTcuNS03LjVMMjEuNSAwQzE2LjUgMCAxNCAyLjUgMTQgNy41bDAgNDk3YzAgNSAyLjUgNy41IDcuNSA3LjVsNTEuOSAwYzUgMCA3LjUtMi41IDcuNS03LjVsMC0xMDkgMzAuOC0yOS4zIDExMC41IDE0MC42YzMgMy41IDYuNSA1LjMgMTAuNSA1LjNsNjYuOSAwYzMuNSAwIDUuNS0xIDYtM2wtMS40LTcuNnoiXX0saHp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZhY2Vib29rLW1lc3NlbmdlciIsaWNvbjpbNTEyLDUxMixbXSwiZjM5ZiIsIk0yNTYuNiA4Yy0xNDAgMC0yNDguNiAxMDIuMy0yNDguNiAyNDAuNiAwIDcyLjMgMjkuNyAxMzQuOCA3OC4xIDE3Ny45IDguMyA3LjUgNi42IDExLjkgOCA1OC4yIC4xIDMuMiAxIDYuNCAyLjYgOS4yczMuOSA1LjIgNi43IDYuOSA1LjkgMi44IDkuMSAzIDYuNS0uMyA5LjUtMS42QzE3NC45IDQ3OSAxNzUuNiA0NzcuMiAxODQuNiA0NzkuNiAzMzcuOCA1MjEuOCA1MDQgNDIzLjcgNTA0IDI0OC42IDUwNCAxMTAuMyAzOTYuNiA4IDI1Ni42IDh6TTQwNS44IDE5My4xbC03MyAxMTUuNmMtMi44IDQuMy02LjQgOC4xLTEwLjYgMTFzLTkuMSA0LjgtMTQuMSA1LjgtMTAuMyAuOC0xNS4zLS40LTkuNy0zLjQtMTMuOC02LjRsLTU4LjEtNDMuNWMtMi42LTEuOS01LjgtMy05LTNzLTYuNCAxLjEtOSAzbC03OC40IDU5LjRjLTEwLjUgNy45LTI0LjItNC42LTE3LjEtMTUuN2w3My0xMTUuNmMyLjgtNC4zIDYuNC04LjEgMTAuNi0xMXM5LjEtNC44IDE0LjEtNS44IDEwLjMtLjggMTUuMyAuNCA5LjcgMy40IDEzLjkgNi40bDU4LjEgNDMuNWMyLjYgMS45IDUuOCAzIDkgM3M2LjQtMS4xIDktM2w3OC40LTU5LjRjMTAuNC04IDI0LjEgNC41IDE3LjEgMTUuNnoiXX0sbXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImF1ZGlibGUiLGljb246WzY0MCw1MTIsW10sImYzNzMiLCJNNjQwIDE5OS45bDAgNTQtMzIwIDIwMC0zMjAtMTk5LjkgMC01NCAzMjAgMjAwIDMyMC0yMDAuMXptLTE5NC41IDcybDQ3LjEtMjkuNGMtMzcuMi01NS44LTEwMC43LTkyLjYtMTcyLjctOTIuNnMtMTM1LjUgMzYuNy0xNzIuNiA5Mi40bC4zIDBjMi41LTIuMyA1LjEtNC41IDcuNy02LjcgODkuNy03NC40IDIxOS40LTU4LjEgMjkwLjIgMzYuM3pNMjI1LjQgMjkwLjdjMTYuOS0xMS45IDM2LjUtMTguNyA1Ny40LTE4LjcgMzQuNCAwIDY1LjIgMTguNCA4Ni40IDQ3LjZsNDUuNC0yOC40Yy0yMC45LTI5LjktNTUuNi00OS41LTk0LjgtNDkuNS0zOC45IDAtNzMuNCAxOS40LTk0LjQgNDl6TTEwMy42IDE2MS4xQzIzNS40IDU2LjggNDIxLjggODQuNyA1MjEuMSAyMjMuMmwuNyAxIDQ4LjgtMzAuNGMtNTMuNS04MS43LTE0NS44LTEzNS43LTI1MC43LTEzNS43LTEwMy41IDAtMTk2LjYgNTMuNS0yNTAuNSAxMzUuNiA5LjktMTAuNSAyMi43LTIzLjUgMzQuMi0zMi42eiJdfSxnenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGF0cmVvbiIsaWNvbjpbNTEyLDUxMixbXSwiZjNkOSIsIk00OTAgMTUzLjhjLS4xLTY1LjQtNTEtMTE5LTExMC43LTEzOC4zLTc0LjItMjQtMTcyLTIwLjUtMjQyLjkgMTIuOS04NS44IDQwLjUtMTEyLjggMTI5LjMtMTEzLjggMjE3LjgtLjggNzIuOCA2LjQgMjY0LjQgMTE0LjYgMjY1LjggODAuMyAxIDkyLjMtMTAyLjUgMTI5LjUtMTUyLjMgMjYuNC0zNS41IDYwLjUtNDUuNSAxMDIuNC01NS45IDcyLTE3LjggMTIxLjEtNzQuNyAxMjEtMTUwbC0uMSAweiJdfSxienQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidm52IixpY29uOls2NDAsNTEyLFtdLCJmNDBiIiwiTTEwNC45IDM1MmMtMzQuMSAwLTQ2LjQtMzAuNC00Ni40LTMwLjRMMi42IDIxMC4xUy03LjggMTkyIDEzIDE5MmwzMi44IDBjMTAuNCAwIDEzLjIgOC43IDE4LjggMTguMWwzNi43IDc0LjVzNS4yIDEzLjEgMjEuMSAxMy4xIDIxLjEtMTMuMSAyMS4xLTEzLjFsMzYuNy03NC41YzUuNi05LjUgOC40LTE4LjEgMTguOC0xOC4xbDMyLjggMGMyMC44IDAgMTAuNCAxOC4xIDEwLjQgMTguMUwxODYuNCAzMjEuNlMxNzQuMiAzNTIgMTQwIDM1MmwtMzUuMSAwem0zOTUgMGMtMzQuMSAwLTQ2LjQtMzAuNC00Ni40LTMwLjRMMzk3LjYgMjEwLjFTMzg3LjIgMTkyIDQwOCAxOTJsMzIuOCAwYzEwLjQgMCAxMy4yIDguNyAxOC44IDE4LjFsMzYuNyA3NC41czUuMiAxMy4xIDIxLjEgMTMuMSAyMS4xLTEzLjEgMjEuMS0xMy4xbDM2LjgtNzQuNWM1LjYtOS41IDguNC0xOC4xIDE4LjgtMTguMWwzMi45IDBjMjAuOCAwIDEwLjQgMTguMSAxMC40IDE4LjFMNTgxLjUgMzIxLjZTNTY5LjMgMzUyIDUzNS4xIDM1MmwtMzUuMiAwek0zMzcuNiAxOTJjMzQuMSAwIDQ2LjQgMzAuNCA0Ni40IDMwLjRsNTUuOSAxMTEuNVM0NTAuMyAzNTIgNDI5LjUgMzUybC0zMi44IDBjLTEwLjQgMC0xMy4yLTguNy0xOC44LTE4LjFsLTM2LjctNzQuNXMtNS4yLTEzLjEtMjEuMS0xMy4xLTIxLjEgMTMuMS0yMS4xIDEzLjFsLTM2LjcgNzQuNWMtNS42IDkuNC04LjQgMTguMS0xOC44IDE4LjFsLTMyLjkgMGMtMjAuOCAwLTEwLjQtMTguMS0xMC40LTE4LjFsNTUuOS0xMTEuNVMyNjguMyAxOTIgMzAyLjUgMTkybDM1LjEgMHoiXX0sdnp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBhZ2VsaW5lcyIsaWNvbjpbMzg0LDUxMixbXSwiZjE4YyIsIk0zODQuMSAzMTIuN2MtNTUuMSAxMzYuNy0xODcuMSA1NC0xODcuMSA1NC00MC41IDgxLjgtMTA3LjQgMTM0LjQtMTg0LjYgMTM0LjctMTYuMSAwLTE2LjYtMjQuNCAwLTI0LjQgNjQuNC0uMyAxMjAuNS00Mi43IDE1Ny4yLTExMC4xLTQxLjEgMTUuOS0xMTguNiAyNy45LTE2MS42LTgyLjIgMTA5LTQ0LjkgMTU5LjEgMTEuMiAxNzguMyA0NS41IDkuOS0yNC40IDE3LTUwLjkgMjEuNi03OS43IDAgMC0xMzkuNyAyMS45LTE0OS41LTk4LjEgMTE5LjEtNDcuOSAxNTIuNiA3Ni43IDE1Mi42IDc2LjcgMS42LTE2LjcgMy4zLTUyLjYgMy4zLTUzLjQgMCAwLTEwNi4zLTczLjctMzguMS0xNjUuMiAxMjQuNiA0MyA2MS40IDE2Mi40IDYxLjQgMTYyLjQgLjUgMS42IC41IDIzLjggMCAzMy40IDAgMCA0NS4yLTg5IDEzNi40LTU3LjUtNC4yIDEzNC0xNDEuOSAxMDYuNC0xNDEuOSAxMDYuNC00LjQgMjcuNC0xMS4yIDUzLjQtMjAgNzcuNSAwIDAgODMtOTEuOCAxNzItMjB6Il19LHh6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbWF6b24iLGljb246WzQ0OCw1MTIsW10sImYyNzAiLCJNMjU3LjcgMTYyLjdjLTQ4LjcgMS44LTE2OS41IDE1LjUtMTY5LjUgMTE3LjUgMCAxMDkuNSAxMzguMyAxMTQgMTgzLjUgNDMuMiA2LjUgMTAuMiAzNS40IDM3LjUgNDUuMyA0Ni44bDU2LjgtNTZzLTMyLjMtMjUuMy0zMi4zLTUyLjhsMC0xNDcuMUMzNDEuNSA4OSAzMTcgMzIgMjI5LjIgMzIgMTQxLjIgMzIgOTQuNSA4NyA5NC41IDEzNi4zbDczLjUgNi44YzE2LjMtNDkuNSA1NC4yLTQ5LjUgNTQuMi00OS41IDQwLjctLjEgMzUuNSAyOS44IDM1LjUgNjkuMXptMCA4Ni44YzAgODAtODQuMiA2OC04NC4yIDE3LjIgMC00Ny4yIDUwLjUtNTYuNyA4NC4yLTU3LjhsMCA0MC42ek0zOTMuNyA0MTNjLTcuNyAxMC03MCA2Ny0xNzQuNSA2N1MzNC43IDQwOC41IDEwLjIgMzc5Yy02LjgtNy43IDEtMTEuMyA1LjUtOC4zIDczLjMgNDQuNSAxODcuOCAxMTcuOCAzNzIuNSAzMC4zIDcuNS0zLjcgMTMuMyAyIDUuNSAxMnptMzkuOCAyLjJjLTYuNSAxNS44LTE2IDI2LjgtMjEuMiAzMS01LjUgNC41LTkuNSAyLjctNi41LTMuOHMxOS4zLTQ2LjUgMTIuNy01NWMtNi41LTguMy0zNy00LjMtNDgtMy4yLTEwLjggMS0xMyAyLTE0LS4zLTIuMy01LjcgMjEuNy0xNS41IDM3LjUtMTcuNSAxNS43LTEuOCA0MS0uOCA0NiA1LjcgMy43IDUuMSAwIDI3LjEtNi41IDQzLjF6Il19LHl6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlbnZpcmEiLGljb246WzQ0OCw1MTIsW10sImYyOTkiLCJNMCAzMmM0NzcuNiAwIDM2Ni42IDMxNy4zIDM2Ny4xIDM2Ni4zbDgwLjkgODEuNy0yNiAwLTcwLjQtNzEuMkMzMTIuNiA0MTMgMjI3LjIgNDQzLjMgMTM3LjIgMzcxLjggNDcgMzAwLjMgNTIgMjE0LjcgMCAzMnpNNzkuNyA3OGMtNDkuNy0yMy41LTUuMiA5LjItNS4yIDkuMiA0NS4yIDMxLjIgNjYgNzMuNyA5MC4yIDExOS45IDMxLjUgNjAuMiA3OSAxMzkuNyAxNDQuMiAxNjcuNyA2NSAyOCAzNC4yIDEyLjUgNi04LjUtMjguMi0yMS4yLTY4LjItODctOTEtMTMwLjItMzEuNy02MC02MS0xMTguNi0xNDQuMi0xNTguMXoiXX0sd3p0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imxpbm9kZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjJiOCIsIk0zNjYuMyAxODYuOWwtNTkuNSAzNi45LS44IDM2LjktMjkuMy0xOS4zLTM5LjQgMjQuM2MyLjIgNTUuMiAyLjUgNTkuMyAyLjUgNTkuNWwtOTcuMiA2NS40LTE1LjEtMTA0LjcgMTA4LjEtNjItNDAuMi0yNi03NS40IDM4LjUtMjEtMTQzLjMgMTI5LTQ5LjQtOTEuMy00My42LTEyNS43IDM5LjQgMjcuNyAxMzQuOSA0MS45IDMyLjctMzEuOCAxNS4xIDIwLjkgMTAxLjQgMjkuMyAyNy43LTIwLjkgMTIuNiAxNi44IDc4LjggNjYuMiA2OS42Yy0xMC44LTc0LjgtMTEuNy03OC42LTExLjctNzguOGw3Ny45LTU1LjNDMjQ0IDM2NS40IDI0Mi4zIDM2NyAyNDIuMyAzNjdsLjggMjQuMyAzMy41IDI4LjUtLjgtNzcuMSA0Ni45LTMzLjUgMjYuOC0xOC40LTIuNSAzNiAyNS4xIDE3LjYgNi43LTc0LjYgNTguNy00My42LTcxLjItMzkuNHoiXX0sTXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFjY3Vzb2Z0IixpY29uOls2NDAsNTEyLFtdLCJmMzY5IiwiTTMyMi4xIDI1MmwwLTEtNTEuMi02NS44cy0xMiAxLjYtMjUgMTUuMWMtOSA5LjMtMjQyLjEgMjM5LjEtMjQzLjQgMjQwLjktNyAxMCAxLjYgNi44IDE1LjcgMS43IC44IDAgMTE0LjUtMzYuNiAxMTQuNS0zNi42IC41LS42LS4xLS4xIC42LS42LS40LTUuMS0uOC0yNi4yLTEtMjcuNy0uNi01LjIgMi4yLTYuOSA3LTguOWw5Mi42LTMzLjhjLjYtLjggODguNS04MS43IDkwLjItODMuM3pNNDgyLjIgMzcyLjFjMTMuMyAxNi4xIDIwLjcgMTMuMyAzMC44IDkuMyAzLjItMS4yIDExNS40LTQ3LjYgMTE3LjgtNDguOSA4LTQuMy0xLjctMTYuNy03LjItMjMuNC0yLjEtMi41LTIwNS4xLTI0NS42LTIwNy4yLTI0OC4zLTkuNy0xMi4yLTE0LjMtMTIuOS0zOC40LTEyLjgtMTAuMiAwLTEwNi44IC41LTExNi41IC42LTE5LjIgLjEtMzIuOS0uMy0xOS4yIDE2LjkgNy43IDkuNSAyMzQuMiAyOTkuNyAyMzkuOSAzMDYuNnptMTUyLjcgMS42Yy0yLjMtLjMtMjQuNi00LjctMzgtNy4yIDAgMC0xMTUgNTAuNC0xMTcuNSA1MS42LTE2IDcuMy0yNi45LTMuMi0zNi43LTE0LjZsLTU3LjEtNzRjLTUuNC0uOS02MC40LTkuNi02NS4zLTkuMy0zLjEgLjItOS42IC44LTE0LjQgMi45LTQuOSAyLjEtMTQ1LjIgNTIuOC0xNTAuMiA1NC43LTUuMSAyLTExLjQgMy42LTExLjEgNy42IC4yIDIuNSAyIDIuNiA0LjYgMy41IDIuNyAuOCAzMDAuOSA2Ny42IDMwOCA2OS4xIDE1LjYgMy4zIDM4LjUgMTAuNSA1My42IDEuNyAyLjEtMS4yIDEyMy44LTc2LjQgMTI1LjgtNzcuOCA1LjQtNCA0LjMtNi44LTEuNy04LjJ6Il19LGt6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlcmxhbmciLGljb246WzY0MCw1MTIsW10sImYzOWQiLCJNODcuMiA1My41bC04Ny4yIDAgMCA0MDUgMTAwLjQgMGMtNDkuNy01Mi42LTc4LjgtMTI1LjMtNzguNy0yMTIuMS0uMS03Ni43IDI0LTE0Mi43IDY1LjUtMTkyLjl6bTIzOC4yIDkuN2MtNDUuOSAuMS04NS4xIDMzLjUtODkuMiA4My4ybDE2OS45IDBjLTEuMS00OS43LTM0LjUtODMuMS04MC43LTgzLjJ6bTIzMC43LTkuNmwuMyAwLS4xLS4xLS4yIC4xem0uMyAwYzMxLjQgNDIuNyA0OC43IDk3LjUgNDYuMiAxNjIuNyAuNSA2IC41IDExLjcgMCAyNC4xbC0zNzIuNCAwYy0uMiAxMDkuNyAzOC45IDE5NC45IDEzOC42IDE5NS4zIDY4LjUtLjMgMTE4LTUxIDE1MS45LTEwNi4xbDk2LjQgNDguMmMtMTcuNCAzMC45LTM2LjUgNTcuOC01Ny45IDgwLjhsODAuOCAwIDAtNDA1LTgzLjYgMHoiXX0sU3p0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVuaXNvbiIsaWNvbjpbNTEyLDUxMixbXSwiZTg1NCIsIk00MzUuMSAxNjEuN2ExMy45IDEzLjkgMCAxIDEgMTkuNi0xOS43IDEzLjkgMTMuOSAwIDEgMSAtMTkuNiAxOS43ek0zNjkuNyA5Ny44YzEwLjQgMi4xIDIwLjYgNS4yIDMwLjQgOS4yIDYuOCAyLjggMTAuMSAxMC44IDcuMyAxNy43LTIuOCA2LjctMTAuOSAxMC4xLTE3LjYgNy4zLTguMy0zLjQtMTYuOC01LjgtMjUuNy03LjgtOC42LTEuNy0xNy4zLTIuNS0yNi0yLjUtMTkuMyAwLTM3LjEtMTAuMy00Ni43LTI3LTguNy0xNS4xLTIwLjYtMjguOS0zNC43LTM5LjctNTkuMS00NS41LTE0My44LTM0LjMtMTg5LjIgMjUtMi42IDMuMy02LjUgNS4zLTEwLjcgNS4zLTcuNCAwLTEzLjUtNi4xLTEzLjUtMTMuNSAwLTMuMiAxLjItNi4zIDMuMi04LjggMTIuOS0xNi43IDI4LjktMzAuNyA0Ny4xLTQxLjIgNzcuNC00NC44IDE3Ni40LTE4LjIgMjIxLjEgNTkuNCA0LjMgOC4yIDEzLjcgMTMuMyAyMi44IDEzLjUgMTAuOCAwIDIxLjYgMSAzMi4yIDMuMXpNMzUgMjcwYzQuNi04LjIgNC42LTE4LjIgMC0yNi40LTIxLjktMzYuNS0yNy4zLTgyLjMtMTYuMy0xMjMuMiAxLjYtNS45IDYuOS0xMCAxMy0xMCA4LjcgMCAxNS4zIDguNyAxMyAxNy05LjUgMzUuNC0zLjQgNzEgMTMuNyAxMDIuOSA5LjMgMTYuNSA5LjMgMzYuNyAwIDUzLjEtOC43IDE1LjctMTQuOCAzMi40LTE3LjIgNTAuMy05LjcgNzMuOSA0Mi4zIDE0MS43IDExNi4yIDE1MS40IDcuMyAxIDEyLjYgNy45IDExLjYgMTUuMi0xIDcuMy03LjggMTIuNi0xNS4xIDExLjYtMjEuMS0yLjgtNDEuNC05LjctNTkuOC0yMC4zLTc1LjYtNDMuNi0xMDQuOS0xNDUuOC01OS4yLTIyMS41ek0yMTYuOSA1MDljLTcuNCAyLTE1LjEtMi40LTE3LjEtOS44czIuNS0xNSA5LjktMTYuOWM4LjUtMi4yIDE3LjQgNC41IDE3LjQgMTMuNCAwIDYuMi00LjIgMTEuNi0xMC4yIDEzLjN6bTEyMi4zLTkxYy05LjUgMC0xOC40IDUtMjMuMiAxMy4yLTQuOSA5LjQtMTEuNyAxOC4yLTE4LjcgMjYuMmwwIDBjLTcuMSA4LTE0LjggMTUuMi0yMy4yIDIxLjctNS45IDQuNS0xNC40IDMuNC0xOS0yLjVzLTMuNC0xNC40IDIuNS0xOC45YzctNS40IDEzLjUtMTEuNSAxOS40LTE4LjFsMCAwYzUuOS02LjYgMTEuMS0xMy44IDE1LjUtMjEuNiA5LjctMTYuNyAyNy41LTI3IDQ2LjgtMjcgMTcuOCAwIDM1LjQtMy41IDUxLjgtMTAuMyA2OC4zLTI4LjMgMTAxLjEtMTA4LjMgNzMuMi0xNzYuNS0uNi0xLjYtMS0zLjMtMS01IDAtNy40IDYuMS0xMy41IDEzLjUtMTMuNSA1LjQgMCAxMC4zIDMuMiAxMi40IDguMiA4LjIgMTkuNyAxMi40IDQwLjggMTIuNCA2Mi4xIDAgODkuNS03Mi43IDE2Mi4xLTE2Mi40IDE2Mi4xbDAgMHptLTEzLjEtMjY4YzMuOS0uNCA3LjktLjYgMTEuOS0uNiA1OS4zIDAgMTA4LjIgNDguNyAxMDguMiAxMDcuOFMzOTcuMyAzNjUgMzM4IDM2NWMtNCAwLTcuOS0uMi0xMS44LS42LTIyLjItMS43LTQzLjMgMTAuNC01Mi45IDMwLjQtMTcuMiAzOS4xLTU2LjIgNjQuNS05OS4xIDY0LjUtNTkuMyAwLTEwOC4yLTQ4LjctMTA4LjItMTA3LjggMC0yMy4yIDcuNS00NS43IDIxLjQtNjQuMyAxMi4yLTE4LjMgMTIuMS00Mi4zLS40LTYwLjUtMTMuNi0xOC41LTIwLjktNDAuOC0yMC45LTYzLjcgMC01OS4xIDQ4LjgtMTA3LjggMTA4LjItMTA3LjggNDIuOCAwIDgxLjggMjUuNCA5OSA2NC40IDkuNiAyMCAzMC43IDMyLjEgNTIuOSAzMC40ek0xMDYuOCAzOTMuNGMxNC40IDI1LjIgNDEuMSA0MC44IDY5LjggNDAuOCA0NC4yIDAgODAuNi0zNi44IDgwLjYtODEuNnMtMzYuNC04MS42LTgwLjYtODEuNmMtMTQuMiAwLTI4LjEgMy44LTQwLjMgMTAuOS0zOC4zIDIyLjQtNTEuNiA3Mi43LTI5LjUgMTExLjR6TTI2OCAyOThjMTQuNCAyNS4yIDQxLjEgNDAuOCA2OS44IDQwLjggNDQuMiAwIDgwLjYtMzYuOCA4MC42LTgxLjZzLTM2LjQtODEuNi04MC42LTgxLjZjLTE0LjIgMC0yOC4xIDMuOC00MC4zIDEwLjktMzguMyAyMi40LTUxLjYgNzIuNy0yOS41IDExMS40em0tOTEuMi01NC42YzQ0LjIgMCA4MC41LTM2LjggODAuNS04MS42cy0zNi40LTgxLjYtODAuNi04MS42LTgwLjYgMzYuOC04MC42IDgxLjZjMCA0NC43IDM2LjQgODEuNiA4MC42IDgxLjZ6Il19LHp6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1kaXNjb3ZlciIsaWNvbjpbNTc2LDUxMixbXSwiZjFmMiIsIk01MjAuNCAxOTYuMWMwLTcuOS01LjUtMTIuMS0xNS42LTEyLjFsLTQuOSAwIDAgMjQuOSA0LjcgMGMxMC4zIDAgMTUuOC00LjQgMTUuOC0xMi44ek01MjggMzJMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0ODAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OHpNNDgzLjkgMTcwLjljMjIuNiAwIDUyLjktNC4xIDUyLjkgMjQuNCAwIDEyLjYtNi42IDIwLjctMTguNyAyMy4ybDI1LjggMzQuNC0xOS42IDAtMjIuMi0zMi44LTIuMiAwIDAgMzIuOC0xNiAwIDAtODJ6TTQyOCAxNzFsNDUuMyAwIDAgMTQtMjkuMyAwIDAgMTguMiAyOC4zIDAgMCAxMy44LTI4LjMgMCAwIDIyLjIgMjkuMyAwIDAgMTMuOC00NS4zIDAgMC04MnptLTY4LjcgMGwyMS45IDU1LjIgMjIuMi01NS4yIDE3LjUgMC0zNS41IDg0LjItOC42IDAtMzUtODQuMiAxNy41IDB6bS01NS45IDg2LjJhNDQuNiA0NC42IDAgMSAxIDAtODkuMiA0NC42IDQ0LjYgMCAxIDEgMCA4OS4yem0tNDkuMy04My4xbDAgMTljLTIwLjEtMjAuMS00Ni44LTQuNy00Ni44IDE5IDAgMjUgMjcuNSAzOC41IDQ2LjggMTkuMmwwIDE5Yy0yOS43IDE0LjMtNjMuMy01LjctNjMuMy0zOC4yIDAtMzEuMiAzMy4xLTUzIDYzLjMtMzh6bS05Ny4yIDY2LjNjMTEuNCAwIDIyLjQtMTUuMy0zLjMtMjQuNC0xNS01LjUtMjAuMi0xMS40LTIwLjItMjIuNyAwLTIzLjIgMzAuNi0zMS40IDQ5LjctMTQuM2wtOC40IDEwLjhjLTEwLjQtMTEuNi0yNC45LTYuMi0yNC45IDIuNSAwIDQuNCAyLjcgNi45IDEyLjMgMTAuMyAxOC4yIDYuNiAyMy42IDEyLjUgMjMuNiAyNS42IDAgMjkuNS0zOC44IDM3LjQtNTYuNiAxMS4zbDEwLjMtOS45YzMuNyA3LjEgOS45IDEwLjggMTcuNSAxMC44ek01NS40IDI1M2wtMjMuNCAwIDAtODIgMjMuNCAwYzI2LjEgMCA0NC4xIDE3IDQ0LjEgNDEuMSAwIDE4LjUtMTMuMiA0MC45LTQ0LjEgNDAuOXptNjcuNSAwbC0xNiAwIDAtODIgMTYgMCAwIDgyek01NDQgNDMzYzAgOC4yLTYuOCAxNS0xNSAxNWwtNDAxIDBjMTg5LjYtMzUuNiAzODIuNy0xMzkuMiA0MTYtMTYwbDAgMTQ1ek03NC4xIDE5MS42Yy01LjItNC45LTExLjYtNi42LTIxLjktNi42bC00LjIgMCAwIDU0LjIgNC4yIDBjMTAuMyAwIDE3LTIgMjEuOS02LjQgNS43LTUuMiA4LjktMTIuOCA4LjktMjAuN3MtMy4yLTE1LjUtOC45LTIwLjV6Il19LEN6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzYWZhcmkiLGljb246WzUxMiw1MTIsW10sImYyNjciLCJNMjc0LjcgMjc0LjdMMjM3LjMgMjM3LjMgMTY2IDM0NiAyNzQuNyAyNzQuN3pNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek00MTEuOCAxODIuOGwxNC44LTYuMWMxLS40IDItLjYgMy4xLS42czIuMSAuMiAzLjEgLjYgMS44IDEgMi42IDEuNyAxLjMgMS42IDEuNyAyLjYgLjYgMiAuNiAzLjEtLjIgMi4xLS42IDMuMS0xIDEuOS0xLjcgMi42LTEuNiAxLjMtMi42IDEuN0w0MTggMTk3LjZjLTIgLjgtNC4yIC44LTYuMSAwcy0zLjUtMi40LTQuMy00LjMtLjgtNC4yIDAtNi4xIDIuNC0zLjUgNC4zLTQuM3pNMzE0LjQgOTRsNi4xLTE0LjhjLjgtMiAyLjQtMy41IDQuMy00LjNzNC4yLS44IDYuMSAwIDMuNSAyLjQgNC4zIDQuMyAuOCA0LjIgMCA2LjFsLTYuMSAxNC44Yy0uOCAyLTIuNCAzLjUtNC4zIDQuM3MtNC4yIC44LTYuMSAwYy0xLS40LTEuOS0xLTIuNi0xLjdzLTEuMy0xLjYtMS43LTIuNi0uNi0yLS42LTMuMSAuMi0yLjEgLjYtMy4xek0yNTYgNjBjMi4xIDAgNC4yIC44IDUuNyAyLjNTMjY0IDY1LjkgMjY0IDY4bDAgMTZjMCAyLjEtLjggNC4yLTIuMyA1LjdzLTMuNSAyLjMtNS43IDIuMy00LjItLjgtNS43LTIuMy0yLjMtMy41LTIuMy01LjdsMC0xNmMwLTIuMSAuOC00LjIgMi4zLTUuN1MyNTMuOSA2MCAyNTYgNjB6TTE4MSA3NC45YzEtLjQgMi0uNiAzLjEtLjZzMi4xIC4yIDMuMSAuNiAxLjkgMSAyLjYgMS43IDEuMyAxLjYgMS43IDIuNkwxOTcuNiA5NGMuNCAxIC43IDIgLjcgMy4xcy0uMiAyLjEtLjYgMy4xLTEgMS45LTEuNyAyLjYtMS42IDEuNC0yLjYgMS44LTIgLjYtMy4xIC42LTIuMS0uMi0zLjEtLjYtMS45LTEtMi42LTEuOC0xLjMtMS43LTEuNy0yLjdsLTYuMS0xNC44Yy0uOC0yLS44LTQuMiAwLTYuMXMyLjQtMy41IDQuMy00LjN6bS02My42IDQyLjVjMS41LTEuNSAzLjUtMi4zIDUuNy0yLjNzNC4yIC44IDUuNyAyLjNMMTQwIDEyOC43YzEuNSAxLjUgMi4zIDMuNSAyLjMgNS42cy0uOCA0LjEtMi4zIDUuNmMtMS41IDEuNS0zLjUgMi4zLTUuNyAyLjNzLTQuMi0uOC01LjctMi4zbC0xMS4zLTExLjNjLTEuNS0xLjUtMi4zLTMuNS0yLjMtNS42cy44LTQuMSAyLjMtNS42bDAgMHpNNjAgMjU2YzAtMi4xIC44LTQuMiAyLjMtNS43UzY1LjkgMjQ4IDY4IDI0OGwxNiAwYzIuMSAwIDQuMiAuOCA1LjcgMi4zczIuMyAzLjUgMi4zIDUuNy0uOCA0LjItMi4zIDUuNy0zLjUgMi4zLTUuNyAyLjNsLTE2IDBjLTIuMSAwLTQuMi0uOC01LjctMi4zUzYwIDI1OC4xIDYwIDI1NnptNDAuMiA3My4ybC0xNC44IDYuMWMtMSAuNC0yIC42LTMuMSAuNnMtMi4xLS4yLTMuMS0uNi0xLjktMS0yLjYtMS43LTEuMy0xLjYtMS43LTIuNi0uNi0yLS42LTMuMSAuMi0yLjEgLjYtMy4xIDEtMS45IDEuNy0yLjYgMS42LTEuMyAyLjYtMS43TDk0IDMxNC40YzItLjggNC4yLS44IDYuMSAwczMuNSAyLjQgNC4zIDQuMyAuOCA0LjIgMCA2LjEtMi40IDMuNS00LjMgNC4zem00LjMtMTM2Yy0uNCAxLTEgMS45LTEuNyAyLjZzLTEuNiAxLjMtMi42IDEuNy0yIC42LTMuMSAuNi0yLjEtLjItMy4xLS42bC0xNC44LTYuMWMtMi0uOC0zLjUtMi40LTQuMy00LjNzLS44LTQuMiAwLTYuMSAyLjQtMy41IDQuMy00LjMgNC4yLS44IDYuMSAwbDE0LjggNi4xYzIgLjggMy41IDIuNCA0LjMgNC4zcy44IDQuMiAwIDYuMWwwIDB6TTE5Ny42IDQxOGwtNi4xIDE0LjhjLS40IDEtMSAxLjktMS43IDIuNnMtMS42IDEuMy0yLjYgMS43LTIgLjYtMy4xIC42LTIuMS0uMi0zLjEtLjYtMS45LTEtMi42LTEuNy0xLjMtMS42LTEuNy0yLjYtLjYtMi0uNi0zLjEgLjItMi4xIC42LTMuMWw2LjEtMTQuOGMuNC0xIDEtMS45IDEuNy0yLjdzMS42LTEuNCAyLjYtMS44IDItLjYgMy4xLS42IDIuMSAuMiAzLjEgLjYgMS45IDEgMi42IDEuOCAxLjMgMS43IDEuNyAyLjYgLjYgMiAuNiAzLjEtLjIgMi4xLS43IDMuMXpNMjY0IDQ0NGMwIDIuMS0uOCA0LjItMi4zIDUuN3MtMy41IDIuMy01LjcgMi4zLTQuMi0uOC01LjctMi4zLTIuMy0zLjUtMi4zLTUuN2wwLTE2YzAtMi4xIC44LTQuMiAyLjMtNS43czMuNS0yLjMgNS43LTIuMyA0LjIgLjggNS43IDIuMyAyLjMgMy41IDIuMyA1LjdsMCAxNnptNjctNi45Yy0xIC40LTIgLjYtMy4xIC42cy0yLjEtLjItMy4xLS42LTEuOS0xLTIuNi0xLjctMS4zLTEuNi0xLjctMi42TDMxNC40IDQxOGMtLjgtMi0uOC00LjIgMC02LjFzMi40LTMuNSA0LjMtNC4zIDQuMi0uOCA2LjEgMCAzLjUgMi40IDQuMyA0LjNsNi4xIDE0LjhjLjggMiAuOCA0LjIgMCA2LjFzLTIuNCAzLjUtNC4zIDQuM3ptNjMuNi00Mi41Yy0xLjUgMS41LTMuNSAyLjMtNS43IDIuM3MtNC4yLS44LTUuNy0yLjNMMzcyIDM4My4zYy0xLjUtMS41LTIuMy0zLjUtMi4zLTUuNnMuOC00LjEgMi4zLTUuNiAzLjUtMi4zIDUuNy0yLjMgNC4yIC44IDUuNyAyLjNsMTEuMyAxMS4zYzEuNSAxLjUgMi4zIDMuNSAyLjMgNS42cy0uOCA0LjEtMi4zIDUuNmwwIDB6TTI4Ni4yIDI4Ni4yTDExMC4zIDQwMS43IDIyNS44IDIyNS44IDQwMS43IDExMC4zIDI4Ni4yIDI4Ni4yek00MzcuMSAzMzFjLS44IDItMi40IDMuNS00LjMgNC4zcy00LjIgLjgtNi4xIDBsLTE0LjgtNi4xYy0yLS44LTMuNS0yLjQtNC4zLTQuM3MtLjgtNC4yIDAtNi4xYy40LTEgMS0xLjkgMS43LTIuNnMxLjYtMS4zIDIuNi0xLjcgMi0uNiAzLjEtLjYgMi4xIC4yIDMuMSAuNmwxNC44IDYuMWMyIC44IDMuNSAyLjQgNC4zIDQuM3MuOCA0LjIgMCA2LjF6bTYuOS02N2wtMTYgMGMtMi4xIDAtNC4yLS44LTUuNy0yLjNzLTIuMy0zLjUtMi4zLTUuNyAuOC00LjIgMi4zLTUuNyAzLjUtMi4zIDUuNy0yLjNsMTYgMGMyLjEgMCA0LjIgLjggNS43IDIuM3MyLjMgMy41IDIuMyA1LjctLjggNC4yLTIuMyA1LjctMy41IDIuMy01LjcgMi4zeiJdfSxfenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3BhY2UtYXdlc29tZSIsaWNvbjpbNTEyLDUxMixbXSwiZTVhYyIsIk05NiAyNTZsMzIgMCAwIDI1Ni0xMjggMCAwLTE2MCAzMiAwIDAtMzIgMzIgMCAwLTMyIDMyIDAgMC0zMnptNDE2IDk2bDAgMTYwLTEyOCAwIDAtMjU2IDMyIDAgMCAzMiAzMiAwIDAgMzIgMzIgMCAwIDMyIDMyIDB6TTMyMCA2NGwzMiAwIDAgMzg0LTMyIDAgMC0zMi0xMjggMCAwIDMyLTMyIDAgMC0zODQgMzIgMCAwLTMyIDMyIDAgMC0zMiA2NCAwIDAgMzIgMzIgMCAwIDMyem0tMzIgNjRsLTY0IDAgMCA2NCA2NCAwIDAtNjR6Il19LFR6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJub2RlIixpY29uOls2NDAsNTEyLFtdLCJmNDE5IiwiTTMxNi4zIDQ1MmMtMi4xIDAtNC4yLS42LTYuMS0xLjZMMjkxIDQzOWMtMi45LTEuNi0xLjUtMi4yLS41LTIuNSAzLjgtMS4zIDQuNi0xLjYgOC43LTQgLjQtLjIgMS0uMSAxLjQgLjFsMTQuOCA4LjhjLjUgLjMgMS4zIC4zIDEuOCAwTDM3NSA0MDhjLjUtLjMgLjktLjkgLjktMS42bDAtNjYuN2MwLS43LS4zLTEuMy0uOS0xLjZsLTU3LjgtMzMuM2MtLjUtLjMtMS4yLS4zLTEuOCAwbC01Ny44IDMzLjNjLS42IC4zLS45IDEtLjkgMS42bDAgNjYuN2MwIC42IC40IDEuMiAuOSAxLjVsMTUuOCA5LjFjOC42IDQuMyAxMy45LS44IDEzLjktNS44bDAtNjUuOWMwLS45IC43LTEuNyAxLjctMS43bDcuMyAwYy45IDAgMS43IC43IDEuNyAxLjdsMCA2NS45YzAgMTEuNS02LjIgMTgtMTcuMSAxOC0zLjMgMC02IDAtMTMuMy0zLjZsLTE1LjItOC43Yy0zLjctMi4yLTYuMS02LjItNi4xLTEwLjVsMC02Ni43YzAtNC4zIDIuMy04LjQgNi4xLTEwLjVsNTcuOC0zMy40YzMuNy0yLjEgOC41LTIuMSAxMi4xIDBsNTcuOCAzMy40YzMuNyAyLjIgNi4xIDYuMiA2LjEgMTAuNWwwIDY2LjdjMCA0LjMtMi4zIDguNC02LjEgMTAuNWwtNTcuOCAzMy40Yy0xLjcgMS4xLTMuOCAxLjctNiAxLjd6TTM2MyAzODYuMmMwLTEyLjUtOC40LTE1LjgtMjYuMi0xOC4yLTE4LTIuNC0xOS44LTMuNi0xOS44LTcuOCAwLTMuNSAxLjUtOC4xIDE0LjgtOC4xIDExLjkgMCAxNi4zIDIuNiAxOC4xIDEwLjYgLjIgLjggLjggMS4zIDEuNiAxLjNsNy41IDBjLjUgMCAuOS0uMiAxLjItLjUgLjMtLjQgLjUtLjggLjQtMS4zLTEuMi0xMy44LTEwLjMtMjAuMi0yOC44LTIwLjItMTYuNSAwLTI2LjMgNy0yNi4zIDE4LjYgMCAxMi43IDkuOCAxNi4xIDI1LjYgMTcuNyAxOC45IDEuOSAyMC40IDQuNiAyMC40IDguMyAwIDYuNS01LjIgOS4yLTE3LjQgOS4yLTE1LjMgMC0xOC43LTMuOC0xOS44LTExLjQtLjEtLjgtLjgtMS40LTEuNy0xLjRsLTcuNSAwYy0uOSAwLTEuNyAuNy0xLjcgMS43IDAgOS43IDUuMyAyMS4zIDMwLjYgMjEuMyAxOC41IDAgMjktNy4yIDI5LTE5Ljh6bTU0LjUtNTAuMWMwIDYuMS01IDExLjEtMTEuMSAxMS4xcy0xMS4xLTUtMTEuMS0xMS4xYzAtNi4zIDUuMi0xMS4xIDExLjEtMTEuMSA2LS4xIDExLjEgNC44IDExLjEgMTEuMXptLTEuOCAwYzAtNS4yLTQuMi05LjMtOS40LTkuMy01LjEgMC05LjMgNC4xLTkuMyA5LjNzNC4yIDkuNCA5LjMgOS40YzUuMi0uMSA5LjQtNC4zIDkuNC05LjR6bS00LjUgNi4ybC0yLjYgMGMtLjEtLjYtLjUtMy44LS41LTMuOS0uMi0uNy0uNC0xLjEtMS4zLTEuMWwtMi4yIDAgMCA1LTIuNCAwIDAtMTIuNSA0LjMgMGMxLjUgMCA0LjQgMCA0LjQgMy4zIDAgMi4zLTEuNSAyLjgtMi40IDMuMSAxLjcgLjEgMS44IDEuMiAyLjEgMi44IC4xIDEgLjMgMi43IC42IDMuM3ptLTIuOC04LjhjMC0xLjctMS4yLTEuNy0xLjgtMS43bC0yIDAgMCAzLjUgMS45IDBjMS42IDAgMS45LTEuMSAxLjktMS44ek0xMzcuMyAxOTFjMC0yLjctMS40LTUuMS0zLjctNi40TDcyLjMgMTQ5LjNjLTEtLjYtMi4yLS45LTMuNC0xbC0uNiAwYy0xLjIgMC0yLjMgLjQtMy40IDFMMy43IDE4NC42QzEuNCAxODUuOSAwIDE4OC40IDAgMTkxbC4xIDk1YzAgMS4zIC43IDIuNSAxLjggMy4yczIuNSAuNyAzLjcgMEw0MiAyNjguM2MyLjMtMS40IDMuNy0zLjggMy43LTYuNGwwLTQ0LjRjMC0yLjYgMS40LTUuMSAzLjctNi40bDE1LjUtOC45YzEuMi0uNyAyLjQtMSAzLjctMXMyLjYgLjMgMy43IDFsMTUuNSA4LjljMi4zIDEuMyAzLjcgMy44IDMuNyA2LjRsMCA0NC40YzAgMi42IDEuNCA1LjEgMy43IDYuNGwzNi40IDIwLjljMS4xIC43IDIuNiAuNyAzLjcgMCAxLjEtLjYgMS44LTEuOSAxLjgtMy4ybC4yLTk1ek00NzIuNSA4Ny4zbDAgMTc2LjRjMCAyLjYtMS40IDUuMS0zLjcgNi40bC02MS4zIDM1LjRjLTIuMyAxLjMtNS4xIDEuMy03LjQgMGwtNjEuMy0zNS40Yy0yLjMtMS4zLTMuNy0zLjgtMy43LTYuNGwwLTcwLjhjMC0yLjYgMS40LTUuMSAzLjctNi40bDYxLjMtMzUuNGMyLjMtMS4zIDUuMS0xLjMgNy40IDBsMTUuMyA4LjhjMS43IDEgMy45LS4zIDMuOS0yLjJsMC05NGMwLTIuOCAzLTQuNiA1LjUtMy4ybDM2LjUgMjAuNGMyLjMgMS4yIDMuOCAzLjcgMy44IDYuNHptLTQ2IDEyOC45YzAtLjctLjQtMS4zLS45LTEuNmwtMjEtMTIuMmMtLjYtLjMtMS4zLS4zLTEuOSAwbC0yMSAxMi4yYy0uNiAuMy0uOSAuOS0uOSAxLjZsMCAyNC4zYzAgLjcgLjQgMS4zIC45IDEuNmwyMSAxMi4xYy42IC4zIDEuMyAuMyAxLjggMGwyMS0xMi4xYy42LS4zIC45LS45IC45LTEuNmwwLTI0LjMgLjEgMHptMjA5LjgtLjdjMi4zLTEuMyAzLjctMy44IDMuNy02LjRsMC0xNy4xYzAtMi42LTEuNC01LjEtMy43LTYuNGwtNjAuOS0zNS40Yy0yLjMtMS4zLTUuMS0xLjMtNy40IDBsLTYxLjMgMzUuNGMtMi4zIDEuMy0zLjcgMy44LTMuNyA2LjRsMCA3MC44YzAgMi43IDEuNCA1LjEgMy43IDYuNGw2MC45IDM0LjdjMi4yIDEuMyA1IDEuMyA3LjMgMGwzNi44LTIwLjVjMi41LTEuNCAyLjUtNSAwLTYuNEw1NTAgMjQxLjZjLTEuMi0uNy0xLjktMS45LTEuOS0zLjJsMC0yMi4yYzAtMS4zIC43LTIuNSAxLjktMy4ybDE5LjItMTEuMWMxLjEtLjcgMi42LS43IDMuNyAwTDU5Mi4xIDIxM2MxLjEgLjcgMS45IDEuOSAxLjkgMy4ybDAgMTcuNGMwIDIuOCAzLjEgNC42IDUuNiAzLjJsMzYuNy0yMS4zek01NTkgMjE5Yy0uNCAuMy0uNyAuNy0uNyAxLjJsMCAxMy42YzAgLjUgLjMgMSAuNyAxLjJsMTEuOCA2LjhjLjQgLjMgMSAuMyAxLjQgMEw1ODQgMjM1Yy40LS4zIC43LS43IC43LTEuMmwwLTEzLjZjMC0uNS0uMy0xLS43LTEuMmwtMTEuOC02LjhjLS40LS4zLTEtLjMtMS40IDBMNTU5IDIxOXpNMzA0LjggMjYyLjVsMC03MC40YzAtMi42LTEuNi01LjEtMy45LTYuNGwtNjEuMS0zNS4yYy0yLjEtMS4yLTUtMS40LTcuNCAwbC02MS4xIDM1LjJjLTIuMyAxLjMtMy45IDMuNy0zLjkgNi40bDAgNzAuNGMwIDIuOCAxLjkgNS4yIDQgNi40bDYxLjIgMzUuMmMyLjQgMS40IDUuMiAxLjMgNy40IDBsNjEtMzUuMmMxLjgtMSAzLjEtMi43IDMuNi00LjcgLjEtLjUgLjItMS4xIC4yLTEuN3pNMjMwLjUgMTM3LjZsLS44IC41IDEuMSAwLS4zLS41em03Ni4yIDEzMC4ybC0uNC0uNyAwIC45IC40LS4yeiJdfSxMenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY29kZXBlbiIsaWNvbjpbNTEyLDUxMixbXSwiZjFjYiIsIk01MDIuMyAxNTkuN2wtMjM0LTE1NmMtOC00LjktMTYuNS01LTI0LjYgMGwtMjM0IDE1NmMtNiA0LTkuNyAxMS4xLTkuNyAxOC4zTDAgMzM0YzAgNy4xIDMuNyAxNC4zIDkuNyAxOC4zbDIzNCAxNTZjOCA0LjkgMTYuNSA1IDI0LjYgMGwyMzQtMTU2YzYtNCA5LjctMTEuMSA5LjctMTguM2wwLTE1NmMwLTcuMS0zLjctMTQuMy05LjctMTguM3pNMjc4IDYzLjFsMTcyLjMgMTE0LjktNzYuOSA1MS40LTk1LjQtNjMuNyAwLTEwMi42em0tNDQgMEwyMzQgMTY1LjcgMTM4LjYgMjI5LjQgNjEuNyAxNzggMjM0IDYzLjF6TTQ0IDIxOS4xTDk5LjEgMjU2IDQ0IDI5Mi44IDQ0IDIxOS4xek0yMzQgNDQ4LjhMNjEuNyAzMzQgMTM4LjYgMjgyLjYgMjM0IDM0Ni4zIDIzNCA0NDguOHpNMjU2IDMwOGwtNzcuNy01MiA3Ny43LTUyIDc3LjcgNTItNzcuNyA1MnptMjIgMTQwLjlsMC0xMDIuNiA5NS40LTYzLjcgNzYuOSA1MS40LTE3Mi4zIDExNC45em0xOTAtMTU2bC01NS4xLTM2LjkgNTUuMS0zNi45IDAgNzMuN3oiXX0sJHp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJhdmVscnkiLGljb246WzUxMiw1MTIsW10sImYyZDkiLCJNNDk4LjYgMjM0LjJjLTEuMi0xMC4zLTEuNy0yMC44LTMuNy0zMS0yLjUtMTIuNC01LjctMjQuNi05LjYtMzYuNi02LjgtMjAuOS0xNy4yLTQwLjMtMzAuOS01Ny41LTUuOS03LjYtMTIuMS0xNC44LTE4LjgtMjEuNy0xNC4xLTE0LTMwLTI2LjEtNDcuMS0zNi4xLTE3LjgtMTAuNi0zNi44LTE4LjktNTYuNy0yNC43LTExLTMuMS0yMi4zLTUuNC0zMy41LTcuNi02LjgtMS4zLTEzLjctMS43LTIwLjYtMi41LS4zIDAtLjYtLjQtLjktLjYtMTAuOCAwLTIxLjUgMC0zMi4zIDAtMi40IC40LTQuOCAuOS03LjIgMS4yLTExLjYgMS4yLTIzLjEgMy42LTM0LjMgNy4xLTEzLjggNC4xLTI3LjEgOS42LTM5LjggMTYuNC0xMy4zIDctMjYuMSAxNS4xLTM4LjEgMjQuMi02LjIgNC42LTEyLjMgOS40LTE4IDE0LjUtMTAuMiA5LjItMjAuNCAxOC40LTI5LjkgMjguMy0xMi44IDEzLjMtMjQuMSAyOC4xLTMzLjYgNDQtOC42IDE0LTE1LjUgMjktMjAuNSA0NC42LTcuMiAyMi43LTEwLjMgNDYuNi05LjIgNzAuMyAuNiAxMy41IDIgMjYuOSA0LjQgNDAuMiAzLjQgMTguNCA5IDM2LjMgMTYuNyA1My4zIDEzLjYgMjkuMiAzMi4xIDUxLjUgNTAuNCA2Ny45IDEyLjggMTEuNiAyNi44IDIxLjkgNDEuOCAzMC42IDE3LjcgMTAuNCAzNi40IDE4LjkgNTUuOSAyNS4zIDEzLjMgNC4zIDI2LjkgNy42IDQwLjYgOS44IDYuMSAxIDEyLjMgMS4zIDE4LjQgMS45IC40IC4xIC44IC4zIDEuMiAuNmwzMi4zIDBjMi41LS40IDUtLjkgNy41LTEuMSAxNi4zLTEuMyAzMi4xLTUuMyA0Ny41LTEwLjcgMTcuMi01LjkgMzMuNy0xMy45IDQ5LTIzLjggOS43LTYuNCAxOS40LTEzLjEgMjguNy0yMC4xIDUuOC00LjMgMTEtOS41IDE2LjMtMTQuNSA0LTMuNyA3LjgtNy42IDExLjUtMTEuNSAxMi0xMi43IDIyLjYtMjYuNiAzMS40LTQxLjYgOS41LTE2IDE3LjQtMzIuOSAyMi4zLTUwLjkgMi45LTEwLjQgNC45LTIxIDctMzEuNyAxLTUuMyAxLjMtMTAuNyAxLjktMTYuMSAwLS4zIC40LS42IC42LS45bDAtMzcuMWMtLjItLjYtLjQtMS4yLS42LTEuOHptLTE2MS4xLTEuMnMtMTYuNi0zLTI4LjUtM2MtMjcuMiAwLTMzLjYgMTQuOS0zMy42IDM3bDAgOTMuNy03My41IDAgMC0xOTAuNyA3My41IDAgMCAzMS45YzguOS0yNi44IDI2LjgtMzYuMiA2Mi0zNi4ybDAgNjcuM3oiXX0sRHp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFsaXBheSIsaWNvbjpbNDQ4LDUxMixbXSwiZjY0MiIsIk0zNzcuNyAzMkw3MC4zIDMyQzMxLjQgMzIgMCA2My40IDAgMTAyLjNMMCA0MDkuN0MwIDQ0OC42IDMxLjQgNDgwIDcwLjMgNDgwbDMwNy41IDBjMzguNSAwIDY5LjgtMzEuMSA3MC4zLTY5LjYtNDYtMjUuNi0xMTAuNi02MC4zLTE3MS42LTg4LjQtMzIuMSA0NC04NC4xIDgxLTE0OC42IDgxLTcwLjYgMC05My43LTQ1LjMtOTctNzYuNC00LTM5IDE0LjktODEuNSA5OS41LTgxLjUgMzUuNCAwIDc5LjQgMTAuMiAxMjcuMSAyNSAxNi41LTMwLjEgMjYuNS02MC4zIDI2LjUtNjAuM2wtMTc4LjIgMCAwLTE2LjcgOTIuMSAwIDAtMzEuMi0xMDkuNCAwIDAtMTkgMTA5LjQgMCAwLTUwLjQgNTAuOSAwIDAgNTAuNCAxMDkuNCAwIDAgMTktMTA5LjQgMCAwIDMxLjIgODguOCAwcy0xNS4yIDQ2LjYtMzguMyA5MC45YzQ4LjkgMTYuNyAxMDAgMzYgMTQ4LjYgNTIuN2wwLTIzNC40Yy4yLTM4LjctMzEuMi03MC4zLTY5LjktNzAuM3pNNDcuMyAzMjNjMSAyMC4yIDEwLjIgNTMuNyA2OS45IDUzLjcgNTIuMSAwIDkyLjYtMzkuNyAxMTcuOS03Mi45LTQ0LjYtMTguNy04NC41LTMxLjQtMTA5LjQtMzEuNC02Ny40IDAtNzkuNCAzMy4xLTc4LjQgNTAuNnoiXX0sQXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLWFtZXgiLGljb246WzU3Niw1MTIsW10sImYxZjMiLCJNMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsNDgwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xLjEtNjEuNyAwLTMxLjktMzUuMS0zMS45IDM1LjEtMjAzLjcgMCAwLTE2My44LTY1LjggMCA4MS43LTE4NC43IDc4LjYgMCAyOC4xIDYzLjIgMC02My4yIDk3LjIgMCAxNi45IDQ3LjYgMTctNDcuNiA3NS41IDAgMC0yLjRjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMnptNDQwLjQtMjEuN2w0Mi4yLTQ2LjMgNDIgNDYuMyA1MS40IDAtNjgtNzIuMSA2OC03Mi4xLTUwLjYgMC00MiA0Ni43LTQxLjUtNDYuNy01MS40IDAgNjcuNSA3Mi41LTY3LjQgNzEuNiAwLTMzLjEtODMgMCAwLTIyLjIgODAuOSAwIDAtMzIuMy04MC45IDAgMC0yMi40IDgzIDAgMC0zMy4xLTEyMiAwIDAgMTQzLjIgMTcxLjggMHptOTYuMy03MmwzOS4zIDQxLjkgMC04My4zLTM5LjMgNDEuNHptLTM2LjMtOTJsMzYuOS0xMDAuNiAwIDEwMC42IDM4LjcgMCAwLTE0My4zLTYwLjIgMC0zMi4yIDg5LjMtMzEuOS04OS4zLTYxLjIgMCAwIDE0My4xLTYzLjItMTQzLjEtNTEuMiAwLTYyLjQgMTQzLjMgNDMgMCAxMS45LTI4LjcgNjUuOSAwIDEyIDI4LjcgODIuNyAwIDAtMTAwLjMgMzYuOCAxMDAuMyAzNC40IDB6TTI4MiAxODUuNGwxOS41LTQ2LjkgMTkuNCA0Ni45LTM4LjkgMHoiXX0sUHp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpZWQtcGlwZXItYWx0IixpY29uOls1NzYsNTEyLFtdLCJmMWE4IiwiTTI0NCAyNDZjLTMuMi0yLTYuMy0yLjktMTAuMS0yLjktNi42IDAtMTIuNiAzLjItMTkuMyAzLjdsMS43IDQuOSAyNy43LTUuN3pNMzc5LjkgNDQzLjljLTE5IDAtNjQuMSA5LjUtNzkuOSAxOS44bDYuOSA0NS4xYzM1LjcgNi4xIDcwLjEgMy42IDEwNi05LjgtNC44LTEwLTIzLjUtNTUuMS0zMy01NS4xek0zNDAuOCAxNzdjNi42IDIuOCAxMS41IDkuMiAyMi43IDIyLjEgMi0xLjQgNy41LTUuMiA3LjUtOC42IDAtNC45LTExLjgtMTMuMi0xMy4yLTIzIDExLjItNS43IDI1LjItNiAzNy42LTguOSA2OC4xLTE2LjQgMTE2LjMtNTIuOSAxNDYuOC0xMTYuNyA2LjEtMTIuNiAxMS44LTI1LjggMTIuNC0zOS45bC0yIDIuNmMtMjguNCA1MC0zMyA2My4yLTgxLjMgMTAwLTMxLjkgMjQuNC02OS4yIDQwLjItMTA2LjYgNTQuNmwtNi4zLS4zIDAtMjEuOGMtMTkuNiAxLjYtMTkuNy0xNC42LTMxLjYtMjMtMTguNyAyMC42LTMxLjYgNDAuOC01OC45IDUxLjEtMTIuNyA0LjgtMTkuNiAxMC0yNS45IDIxLjggMzQuOS0xNi40IDkxLjItMTMuNSA5OC44LTEwek01NTUuNSAwbC0uNiAxLjEtLjMgLjkgLjYtLjYgLjMtMS40ek00OTYuMyAzODIuMWMtMzMuOS01Ni45LTc1LjMtMTE4LjQtMTUwLTExNS41bC0uMy02Yy0xLjEtMTMuNSAzMi44IDMuMiAzNS4xLTMxbC0xNC40IDcuMmMtMTkuOC00NS43LTguNi01NC4zLTY1LjUtNTQuMy0xNC43IDAtMjYuNyAxLjctNDEuNCA0LjYgMi45IDE4LjYgMi4yIDM2LjctMTAuOSA1MC4zbDE5LjUgNS41Yy0xLjcgMy4yLTIuOSA2LjMtMi45IDkuOCAwIDIxIDQyLjggMi45IDQyLjggMzMuNiAwIDE4LjQtMzYuOCA2MC4xLTU0LjkgNjAuMS04IDAtNTMuNy01MC01My40LTYwLjFsLjMtNC42IDUyLjMtMTEuNWMxMy0yLjYgMTIuMy0yMi43LTIuOS0yMi43LTMuNyAwLTQzLjEgOS4yLTQ5LjQgMTAuNi0yLTUuMi03LjUtMTQuMS0xMy44LTE0LjEtMy4yIDAtNi4zIDMuMi05LjUgNC05LjIgMi42LTMxIDIuOS0yMS41IDIwLjFMMTUuOSAyOTguNWMtNS41IDEuMS04LjkgNi4zLTguOSAxMS44IDAgNiA1LjUgMTAuOSAxMS41IDEwLjkgOCAwIDEzMS4zLTI4LjQgMTQ3LjQtMzIuMiAyLjYgMy4yIDQuNiA2LjMgNy44IDguNiAyMC4xIDE0LjQgNTkuOCA4NS45IDc2LjQgODUuOSAyNC4xIDAgNTgtMjIuNCA3MS4zLTQxLjkgMy4yLTQuMyA2LjktNy41IDEyLjQtNi45IC42IDEzLjgtMzEuNiAzNC4yLTMzIDQzLjctMS40IDEwLjItMSAzNS4yLS4zIDQxLjEgMjYuNyA4LjEgNTItMy42IDc3LjktMi45IDQuMy0yMSAxMC42LTQxLjkgOS44LTYzLjVsLS4zLTkuNWMtMS40LTM0LjItMTAuOS0zOC41LTM0LjgtNTguNi0xLjEtMS4xLTIuNi0yLjYtMy43LTQgMi4yLTEuNCAxLjEtMSA0LjYtMS43IDg4LjUgMCA1Ni4zIDE4My42IDExMS41IDIyOS45IDMzLjEtMTUgNzIuNS0yNy45IDEwMy41LTQ3LjItMjktMjUuNi01Mi42LTQ1LjctNzIuNy03OS45ek0zMDAuMSA0MjguMmwwIDI3LjIgMTEuOC0zLjQtMi45LTIzLjgtOC45IDB6TTIzMS40IDI3Ny44bDI0LjEgNjEuMiAyMS0xMy44LTMxLjMtNTAuOS0xMy44IDMuNXptODQuNCAxNTQuOWwyIDEyLjRjOS0xLjUgNTguNC02LjYgNTguNC0xNC4xIDAtMS40LS42LTMuMi0uOS00LjYtMjYuOCAwLTM2LjkgMy44LTU5LjUgNi4zeiJdfSxFenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGV0dGVyYm94ZCIsaWNvbjpbNjQwLDUxMixbXSwiZTYyZCIsIk01MjEuMyAxMjhDNTg2LjkgMTI4IDY0MCAxODEuMSA2NDAgMjQ2LjZTNTg2LjkgMzY1LjIgNTIxLjMgMzY1LjJjLTQyLjUgMC03OS43LTIyLjMtMTAwLjctNTUuOCAxMS40LTE4LjIgMTgtMzkuNyAxOC02Mi44cy02LjYtNDQuNi0xOC02Mi44bC44LTEuMmMyMC44LTMyLjMgNTYuOC01My45IDk3LjktNTQuNmwyIDB6TTMyMCAxMjhjNDIuNSAwIDc5LjcgMjIuMyAxMDAuNyA1NS44LTExLjQgMTguMi0xOCAzOS43LTE4IDYyLjhzNi42IDQ0LjYgMTggNjIuOGwtLjggMS4yYy0yMC44IDMyLjMtNTYuOCA1My45LTk3LjkgNTQuNmwtMiAwYy00Mi41IDAtNzkuNy0yMi4zLTEwMC43LTU1LjggMTEuNC0xOC4yIDE4LTM5LjcgMTgtNjIuOHMtNi42LTQ0LjYtMTgtNjIuOGwuOC0xLjJjMjAuOC0zMi4zIDU2LjgtNTMuOSA5Ny45LTU0LjZsMiAwem0tMjAxLjMgMGM0Mi41IDAgNzkuNyAyMi4zIDEwMC43IDU1LjgtMTEuNCAxOC4yLTE4IDM5LjctMTggNjIuOHM2LjYgNDQuNiAxOCA2Mi44bC0uOCAxLjJjLTIwLjggMzIuMy01Ni44IDUzLjktOTcuOSA1NC42bC0yIDBDNTMuMSAzNjUuMSAwIDMxMi4xIDAgMjQ2LjZTNTMuMSAxMjggMTE4LjcgMTI4eiJdfSxJenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3BlcmEiLGljb246WzUxMiw1MTIsW10sImYyNmEiLCJNMzIxLjkgMzIuN2MtMTcwLjIgMC0yNTIuNiAyMjMuOC0xNDcuNSAzNTUuMSAzNi41IDQ1LjQgODguNiA3NS42IDE0Ny41IDc1LjYgMzYuMyAwIDcwLjMtMTEuMSA5OS40LTMwLjQtNDMuOCAzOS4yLTEwMS45IDYzLTE2NS4zIDYzLTMuOSAwLTggMC0xMS45LS4zLTEzMS41LTYuMS0yMzYuMS0xMTQuNi0yMzYuMS0yNDcuNyAwLTEzNyAxMTEtMjQ4IDI0OC0yNDhsLjggMGM2My4xIC4zIDEyMC43IDI0LjEgMTY0LjQgNjMuMS0yOS0xOS40LTYzLjEtMzAuNC05OS4zLTMwLjR6TTQyMy43IDQzMC40Yy00MC45IDI0LjctOTAuNyAyMy42LTEzMi01LjggNTYuMi0yMC41IDk3LjctOTEuNiA5Ny43LTE3Ni42IDAtODQuNy00MS4yLTE1NS44LTk3LjQtMTc2LjYgNDEuOC0yOS4yIDkxLjItMzAuMyAxMzIuOS01IDEwNS45IDk4LjcgMTA1LjUgMjY1LjctMS4yIDM2NHoiXX0sTnp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndlaWJvIixpY29uOls1MTIsNTEyLFtdLCJmMThhIiwiTTQwNyAxNzcuNmM3LjYtMjQtMTMuNC00Ni44LTM3LjQtNDEuNy0yMiA0LjgtMjguOC0yOC4xLTcuMS0zMi44IDUwLjEtMTAuOSA5Mi4zIDM3LjEgNzYuNSA4NC44LTYuOCAyMS4yLTM4LjggMTAuOC0zMi0xMC4zek0yMTQuOCA0NDYuN2MtMTA2LjMgMC0yMTQuOC01MS40LTIxNC44LTEzNi4zIDAtNDQuMyAyOC05NS40IDc2LjMtMTQzLjcgOTkuNy05OS43IDIwMy4yLTEwMC45IDE3My42LTUuNy00IDEzLjEgMTIuMyA1LjcgMTIuMyA2IDc5LjUtMzMuNiAxNDAuNS0xNi44IDExNCA1MS40LTMuNyA5LjQgMS4xIDEwLjkgOC4zIDEzLjEgMTM1LjcgNDIuMyAzNC44IDIxNS4yLTE2OS43IDIxNS4yek0zNTguNSAzMDAuNGMtNS40LTU1LjctNzguNS05NC0xNjMuNC04NS43LTg0LjggOC42LTE0OC44IDYwLjMtMTQzLjQgMTE2czc4LjUgOTQgMTYzLjQgODUuN2M4NC44LTguNiAxNDguOC02MC4zIDE0My40LTExNnpNMzQ3LjkgMzUuMWMtMjUuOSA1LjYtMTYuOCA0My43IDguMyAzOC4zIDcyLjMtMTUuMiAxMzQuOCA1Mi44IDExMS43IDEyNC03LjQgMjQuMiAyOS4xIDM3IDM3LjQgMTIgMzEuOS05OS44LTU1LjEtMTk1LjktMTU3LjQtMTc0LjN6bS03OC41IDMxMWMtMTcuMSAzOC44LTY2LjggNjAtMTA5LjEgNDYuMy00MC44LTEzLjEtNTgtNTMuNC00MC4zLTg5LjcgMTcuNy0zNS40IDYzLjEtNTUuNCAxMDMuNC00NS4xIDQyIDEwLjggNjMuMSA1MC4yIDQ2IDg4LjV6bS04Ni4zLTMwYy0xMi45LTUuNC0zMCAuMy0zOCAxMi45LTguMyAxMi45LTQuMyAyOCA4LjYgMzQgMTMuMSA2IDMwLjggLjMgMzkuMS0xMi45IDgtMTMuMSAzLjctMjguMy05LjctMzR6bTMyLjYtMTMuNGMtNS4xLTEuNy0xMS40IC42LTE0LjMgNS40LTIuOSA1LjEtMS40IDEwLjYgMy43IDEyLjkgNS4xIDIgMTEuNy0uMyAxNC42LTUuNCAyLjgtNS4yIDEuMS0xMC45LTQtMTIuOXoiXX0sUnp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlYWRtZSIsaWNvbjpbNTc2LDUxMixbXSwiZjRkNSIsIk01MjguMyA0Ni41bC0xMzkuOCAwYy00OC4xIDAtODkuOSAzMy4zLTEwMC40IDgwLjMtMTAuNi00Ny01Mi4zLTgwLjMtMTAwLjQtODAuM0w0OCA0Ni41QzIxLjUgNDYuNSAwIDY4IDAgOTQuNUwwIDM0MC4zYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDg5LjcgMGMxMDIuMiAwIDEzMi43IDI0LjQgMTQ3LjMgNzUgLjcgMi44IDUuMiAyLjggNiAwIDE0LjctNTAuNiA0NS4yLTc1IDE0Ny4zLTc1bDg5LjcgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTI0NS43YzAtMjYuNC0yMS4zLTQ3LjktNDcuNy00OC4xek0yNDIgMzExLjljMCAxLjktMS41IDMuNS0zLjUgMy41bC0xNjAuMyAwYy0xLjkgMC0zLjUtMS41LTMuNS0zLjVsMC0yMi45YzAtMS45IDEuNS0zLjUgMy41LTMuNWwxNjAuNCAwYzEuOSAwIDMuNSAxLjUgMy41IDMuNWwwIDIyLjktLjEgMHptMC02MC45YzAgMS45LTEuNSAzLjUtMy41IDMuNWwtMTYwLjMgMGMtMS45IDAtMy41LTEuNS0zLjUtMy41bDAtMjIuOWMwLTEuOSAxLjUtMy41IDMuNS0zLjVsMTYwLjQgMGMxLjkgMCAzLjUgMS41IDMuNSAzLjVsMCAyMi45LS4xIDB6bTAtNjAuOWMwIDEuOS0xLjUgMy41LTMuNSAzLjVsLTE2MC4zIDBjLTEuOSAwLTMuNS0xLjUtMy41LTMuNWwwLTIyLjljMC0xLjkgMS41LTMuNSAzLjUtMy41bDE2MC40IDBjMS45IDAgMy41IDEuNSAzLjUgMy41bDAgMjIuOS0uMSAwek01MDEuMyAzMTEuOGMwIDEuOS0xLjUgMy41LTMuNSAzLjVsLTE2MC4zIDBjLTEuOSAwLTMuNS0xLjUtMy41LTMuNWwwLTIyLjljMC0xLjkgMS41LTMuNSAzLjUtMy41bDE2MC40IDBjMS45IDAgMy41IDEuNSAzLjUgMy41bDAgMjIuOS0uMSAwem0wLTYwLjljMCAxLjktMS41IDMuNS0zLjUgMy41bC0xNjAuMyAwYy0xLjkgMC0zLjUtMS41LTMuNS0zLjVsMC0yMi45YzAtMS45IDEuNS0zLjUgMy41LTMuNWwxNjAuNCAwYzEuOSAwIDMuNSAxLjUgMy41IDMuNWwwIDIyLjktLjEgMHptMC02MC45YzAgMS45LTEuNSAzLjUtMy41IDMuNWwtMTYwLjMgMGMtMS45IDAtMy41LTEuNS0zLjUtMy41bDAtMjIuOGMwLTEuOSAxLjUtMy41IDMuNS0zLjVsMTYwLjQgMGMxLjkgMCAzLjUgMS41IDMuNSAzLjVsMCAyMi44LS4xIDB6Il19LE96dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb2xhbmciLGljb246WzY0MCw1MTIsW10sImU0MGYiLCJNNDAwLjEgMTk0LjhjLTEwLjkgMi44LTE5LjkgNC4zLTI5LjEgNy42LTcuMyAxLjktMTQuNyAzLjktMjMuMiA2LjFsLS42IC4xYy00LjIgMS4yLTQuNiAxLjMtOC41LTMuMi00LjctNS4zLTguMS04LjctMTQuNi0xMS45LTE5LjctOS42LTM4LjctNi44LTU2LjQgNC43LTIxLjIgMTMuNy0zMi4xIDM0LTMxLjggNTkuMiAuMyAyNSAxNy40IDQ1LjUgNDEuMiA0OC45IDIyIDIuOCAzOS44LTQuNiA1My44LTIwLjUgMi4xLTIuNiA0LTUuMyA2LjEtOC4zIC44LTEgMS41LTIuMSAyLjMtMy4zbC02MC4xIDBjLTYuNSAwLTguMS00LTUuOS05LjMgNC05LjcgMTEuNS0yNS45IDE1LjktMzQgLjktMS44IDMuMS01LjggNi45LTUuOGwxMDEuMSAwYzQuNS0xMy40IDExLjgtMjYuOSAyMS42LTM5LjcgMjIuNy0yOS45IDQ5LjMtNDUuNSA4Ny4yLTUyIDMxLjgtNS42IDYxLjctMi41IDg4LjkgMTUuOSAyNC42IDE2LjggMzkuOCAzOS42IDQzLjkgNjkuNSA1LjMgNDIuMS02LjkgNzYuMy0zNi43IDEwNS42LTE5LjcgMjAuOS00NC45IDM0LTczLjkgMzkuOS01LjYgMS0xMS4xIDEuNS0xNi41IDItMi45IC4yLTUuNyAuNS04LjUgLjgtMjguMy0uNi01NC4yLTguNy03Ni0yNy40LTE1LjMtMTMuMy0yNS45LTI5LjYtMzEuMS00OC41LTMuNyA3LjMtOCAxNC40LTE0IDIxLjEtMjEuNiAyOS42LTUwLjkgNDgtODcuOSA1Mi45LTMwLjYgNC4xLTU4LjktMS44LTgzLjktMjAuNS0yMy0xNy41LTM2LjEtNDAuNS0zOS41LTY5LjItNC4xLTM0IDUuOS02NS40IDI2LjQtOTEuMyAyMi4yLTI5IDUxLjUtNDcuNCA4Ny4zLTUzLjkgMjkuMy02LjIgNTcuMy0xLjkgODIuNiAxNS4zIDE2LjUgMTAuOSAyOC4zIDI1LjggMzYuMSA0My45IDEuOSAyLjggLjYgNC40LTMuMSA1LjN6TTQ4LjMgMjAwLjRjLTEuMyAwLTEuNi0uNi0uOS0xLjZsNi42LTguNGMuNi0uOSAyLjItMS41IDMuNC0xLjVsMTExLjMgMGMxLjIgMCAxLjUgLjkgLjkgMS44bC01LjMgOC4xYy0uNiAxLTIuMiAxLjktMy4xIDEuOWwtMTEyLjgtLjN6TTEuMiAyMjkuMWMtMS4yIDAtMS42LS43LS45LTEuNmw2LjUtOC40Yy42LS45IDIuMi0xLjYgMy40LTEuNmwxNDIuMSAwYzEuMiAwIDEuOCAxIDEuNSAxLjlsLTIuNSA3LjVjLS4zIDEuMi0xLjUgMS45LTIuOCAxLjlMMS4yIDIyOS4xem03NC41IDI2LjhjLS42IC45LS4zIDEuOCAuOSAxLjhsNjggLjNjLjkgMCAyLjItLjkgMi4yLTIuMWwuNi03LjVjMC0xLjMtLjYtMi4yLTEuOS0yLjJsLTYyLjMgMGMtMS4yIDAtMi41IC45LTMuMSAxLjlsLTQuNCA3Ljh6bTUwMS41LTE4Yy0uMi0yLjYtLjMtNC44LS43LTctNS42LTMwLjgtMzQtNDguMy02My42LTQxLjQtMjkgNi41LTQ3LjcgMjQuOS01NC41IDU0LjItNS42IDI0LjMgNi4yIDQ4LjkgMjguNiA1OC45IDE3LjIgNy41IDM0LjMgNi42IDUwLjgtMS45IDI0LjYtMTMuNiAzOC0zMi43IDM5LjYtNTkuNS0uMS0xLjItLjEtMi4zLS4yLTMuM3oiXX0sRnp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0YWNrLWV4Y2hhbmdlIixpY29uOls0NDgsNTEyLFtdLCJmMThkIiwiTTE4LjEgMzMyLjNsNDEyLjcgMCAwIDIyYzAgMzcuNy0yOS4zIDY4LTY1LjMgNjhsLTE5IDAtODYuOCA4OS43IDAtODkuNy0xNzYuMyAwYy0zNiAwLTY1LjMtMzAuMy02NS4zLTY4bDAtMjJ6bTAtMjMuNmw0MTIuNyAwIDAtODUtNDEyLjcgMCAwIDg1em0wLTEwOS40bDQxMi43IDAgMC04NS00MTIuNyAwIDAgODV6TTM2NS40IDBMODMuNCAwYy0zNiAwLTY1LjMgMzAuMy02NS4zIDY3LjdsMCAyMi4zIDQxMi43IDAgMC0yMi4zQzQzMC43IDMwLjMgNDAxLjQgMCAzNjUuNCAweiJdfSxCenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ3VscCIsaWNvbjpbMjU2LDUxMixbXSwiZjNhZSIsIk0yMTAgMzkxLjFsLTE0LjEgMjQuNi00LjYgODAuMmMwIDguOS0yOC4zIDE2LjEtNjMuMSAxNi4xcy02My4xLTcuMi02My4xLTE2LjFsLTUuOC03OS40LTE0LjktMjUuNGM0MS4yIDE3LjMgMTI2IDE2LjcgMTY1LjYgMHpNMTQgMTM3LjhMMjcuNiAyNjMuM2M1LjktMjAgMjAuOC00NyA0MC01NS4yIDYuMy0yLjcgMTIuNy0yLjcgMTguNyAuOSA1LjIgMyA5LjYgOS4zIDEwLjEgMTEuOCAxLjIgNi41LTIgOS4xLTQuNSA5LjEtMyAwLTUuMy00LjYtNi44LTcuMy00LjEtNy4zLTEwLjMtNy42LTE2LjktMi44LTYuOSA1LTEyLjkgMTMuNC0xNy4xIDIwLjctNS4xIDguOC05LjQgMTguNS0xMiAyOC4yLTEuNSA1LjYtMi45IDE0LjYtLjYgMTkuOSAxIDIuMiAyLjUgMy42IDQuOSAzLjYgNSAwIDEyLjMtNi42IDE1LjgtMTAuMSA0LjUtNC41IDEwLjMtMTEuNSAxMi41LTE2bDUuMi0xNS41YzIuNi02LjggOS45LTUuNiA5LjkgMCAwIDEwLjItMy43IDEzLjYtMTAgMzQuNy01LjggMTkuNS03LjYgMjUuOC03LjYgMjUuOC0uNyAyLjgtMy40IDcuNS02LjMgNy41LTEuMiAwLTIuMS0uNC0yLjYtMS4yLTEtMS40LS45LTUuMy0uOC02LjMgLjItMy4yIDYuMy0yMi4yIDcuMy0yNS4yLTIgMi4yLTQuMSA0LjQtNi40IDYuNi01LjQgNS4xLTE0LjEgMTEuOC0yMS41IDExLjgtMy40IDAtNS42LS45LTcuNy0yLjRsNy42IDc5LjZjMiA1IDM5LjIgMTcuMSA4OC4yIDE3LjEgNDkuMSAwIDg2LjMtMTIuMiA4OC4yLTE3LjFsMTAuOS05NC42Yy01LjcgNS4yLTEyLjMgMTEuNi0xOS42IDE0LjgtNS40IDIuMy0xNy40IDMuOC0xNy40LTUuNyAwLTUuMiA5LjEtMTQuOCAxNC40LTIxLjUgMS40LTEuNyA0LjctNS45IDQuNy04LjEgMC0yLjktNi0yLjItMTEuNyAyLjUtMy4yIDIuNy02LjIgNi4zLTguNyA5LjctNC4zIDYtNi42IDExLjItOC41IDE1LjUtNi4yIDE0LjItNC4xIDguNi05LjEgMjItNSAxMy4zLTQuMiAxMS44LTUuMiAxNC0uOSAxLjktMi4yIDMuNS00IDQuNS0xLjkgMS00LjUgLjktNi4xLS4zLS45LS42LTEuMy0xLjktMS4zLTMuNyAwLS45IC4xLTEuOCAuMy0yLjcgMS41LTYuMSA3LjgtMTguMSAxNS0zNC4zIDEuNi0zLjcgMS0yLjYgLjgtMi4zLTYuMiA2LTEwLjkgOC45LTE0LjQgMTAuNS01LjggMi42LTEzIDIuNi0xNC41LTQuMS0uMS0uNC0uMS0uOC0uMi0xLjItMTEuOCA5LjItMjQuMyAxMS43LTIwLTguMS00LjYgOC4yLTEyLjYgMTQuOS0yMi40IDE0LjktNC4xIDAtNy4xLTEuNC04LjYtNS4xLTIuMy01LjUgMS4zLTE0LjkgNC42LTIzLjggMS43LTQuNSA0LTkuOSA3LjEtMTYuMiAxLjYtMy40IDQuMi01LjQgNy42LTQuNSAuNiAuMiAxLjEgLjQgMS42IC43IDIuNiAxLjggMS42IDQuNSAuMyA3LjItMy44IDcuNS03LjEgMTMtOS4zIDIwLjgtLjkgMy4zLTIgOSAxLjUgOSAyLjQgMCA0LjctLjggNi45LTIuNCA0LjYtMy40IDguMy04LjUgMTEuMS0xMy41IDItMy42IDQuNC04LjMgNS42LTEyLjMgLjUtMS43IDEuMS0zLjMgMS44LTQuOCAxLjEtMi41IDIuNi01LjEgNS4yLTUuMSAxLjMgMCAyLjQgLjUgMy4yIDEuNSAxLjcgMi4yIDEuMyA0LjUgLjQgNi45LTIgNS42LTQuNyAxMC42LTYuOSAxNi43LTEuMyAzLjUtMi43IDgtMi43IDExLjcgMCAzLjQgMy43IDIuNiA2LjggMS4yIDIuNC0xLjEgNC44LTIuOCA2LjgtNC41IDEuMi00LjkgLjktMy44IDI2LjQtNjguMiAxLjMtMy4zIDMuNy00LjcgNi4xLTQuNyAxLjIgMCAyLjIgLjQgMy4yIDEuMSAxLjcgMS4zIDEuNyA0LjEgMSA2LjItLjcgMS45LS42IDEuMy00LjUgMTAuNS01LjIgMTIuMS04LjYgMjAuOC0xMy4yIDMxLjktMS45IDQuNi03LjcgMTguOS04LjcgMjIuMy0uNiAyLjItMS4zIDUuOCAxIDUuOCA1LjQgMCAxOS4zLTEzLjEgMjMuMS0xNyAuMi0uMyAuNS0uNCAuOS0uNiAuNi0xLjkgMS4yLTMuNyAxLjctNS41IDEuNC0zLjggMi43LTguMiA1LjMtMTEuMyAuOC0xIDEuNy0xLjYgMi43LTEuNiAyLjggMCA0LjIgMS4yIDQuMiA0IDAgMS4xLS43IDUuMS0xLjEgNi4yIDEuNC0xLjUgMi45LTMgNC41LTQuNSAxNS0xMy45IDI1LjctNi44IDI1LjcgLjIgMCA3LjQtOC45IDE3LjctMTMuOCAyMy40LTEuNiAxLjktNC45IDUuNC01IDYuNCAwIDEuMyAuOSAxLjggMi4yIDEuOCAyIDAgNi40LTMuNSA4LTQuNyA1LTMuOSAxMS44LTkuOSAxNi42LTE0LjFsMTQuOC0xMzYuOGMtMzAuNSAxNy4xLTE5Ny42IDE3LjItMjI4LjMgLjJ6bTIyOS43LTguNWMwIDIxLTIzMS4yIDIxLTIzMS4yIDAgMC04LjggNTEuOC0xNS45IDExNS42LTE1LjkgOSAwIDE3LjggLjEgMjYuMyAuNEwxNjcgNjUuMSAyMjguMyAuNmMxLjQtMS40IDUuOC0uMiA5LjkgMy41czYuNiA3LjkgNS4zIDkuM2wtLjEgLjEtNTcuMyA2MC41LTEwIDQwLjdjMzkuOSAyLjYgNjcuNiA4LjEgNjcuNiAxNC42em0tNjkuNCA0LjZjMC0uOC0uOS0xLjUtMi41LTIuMWwtLjIgLjhjMCAxLjMtNSAyLjQtMTEuMSAyLjRzLTExLjEtMS4xLTExLjEtMi40YzAtLjEgMC0uMiAuMS0uM2wuMi0uN2MtMS44IC42LTMgMS40LTMgMi4zIDAgMi4xIDYuMiAzLjcgMTMuNyAzLjcgNy43IC4xIDEzLjktMS42IDEzLjktMy43eiJdfSxIenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieWVscCIsaWNvbjpbMzg0LDUxMixbXSwiZjFlOSIsIk00Mi45IDI0MC4zbDk5LjYgNDguNmMxOS4yIDkuNCAxNi4yIDM3LjUtNC41IDQyLjdMMzAuNSAzNTguNWMtMy4yIC44LTYuNCAuOS05LjYgLjNzLTYuMi0xLjgtOC45LTMuNy00LjktNC4zLTYuNi03LjEtMi43LTUuOS0zLjEtOS4yYy0zLjMtMjguOC0uMi01Ny45IDktODUuMyAxLTMuMSAyLjctNS45IDQuOS04LjNzNC45LTQuMiA3LjktNS41IDYuMi0xLjggOS41LTEuOCA2LjQgLjkgOS4zIDIuM3ptNDQgMjM5LjNjMjMuOCAxNi4zIDUwLjkgMjcuMyA3OS40IDMyLjEgMy4yIC42IDYuNSAuNCA5LjYtLjRzNi4xLTIuMyA4LjYtNC40IDQuNi00LjYgNi03LjUgMi4zLTYuMSAyLjQtOS40bDMuOS0xMTAuOGMuNy0yMS4zLTI1LjUtMzEuOS0zOS44LTE2LjFMODIuOCA0NDUuNWMtMi4yIDIuNC0zLjggNS4zLTQuOCA4LjRzLTEuMyA2LjQtLjkgOS42IDEuNSA2LjMgMy4xIDkuMSAzLjkgNS4yIDYuNiA3bDAgMHpNMjMyLjIgMzY5LjdsNTguOCA5NGMxLjcgMi44IDQgNS4xIDYuOCA2LjlzNS44IDMgOSAzLjUgNi41IC4zIDkuNy0uNSA2LjEtMi40IDguNi00LjRjMjIuMy0xOC40IDQwLjMtNDEuNSA1Mi43LTY3LjYgMS40LTIuOSAyLjEtNi4xIDIuMi05LjRzLS42LTYuNS0xLjktOS40LTMuMi01LjctNS42LTcuOC01LjItMy45LTguMy00LjlMMjU4LjcgMzM1LjdjLTIwLjMtNi41LTM3LjggMTUuOC0yNi41IDMzLjl6TTM4MC42IDIzNy40Yy0xMS41LTI2LjUtMjguNy01MC4yLTUwLjQtNjkuMy0yLjQtMi4xLTUuMy0zLjctOC40LTQuN3MtNi40LTEuMi05LjYtLjgtNi4zIDEuNS05LjEgMy4yLTUuMSA0LTYuOSA2LjdsLTYyIDkxLjljLTExLjkgMTcuNyA0LjcgNDAuNiAyNS4yIDM0LjdMMzY2IDI2OC42YzMuMS0uOSA2LTIuNSA4LjUtNC42czQuNS00LjcgNS44LTcuNyAyLjEtNi4yIDIuMi05LjQtLjYtNi41LTEuOS05LjVsMCAwek02Mi4xIDMwLjJjLTIuOCAxLjQtNS40IDMuMy03LjQgNS43cy0zLjYgNS4yLTQuNSA4LjItMS4yIDYuMi0uOSA5LjMgMS4zIDYuMSAyLjkgOC45TDE1Ni4zIDI0Mi42YzExLjcgMjAuMiA0Mi42IDExLjkgNDIuNi0xMS40bDAtMjA4LjNjMC0zLjEtLjYtNi4zLTEuOC05LjJzLTMuMS01LjUtNS40LTcuNi01LTMuOC04LTQuOC02LjEtMS40LTkuMy0xLjJjLTM5IDMuMS03NyAxMy4zLTExMi4zIDMwLjF6Il19LHF6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb2ZvcmUiLGljb246WzQ0OCw1MTIsW10sImYzYTciLCJNMzQ4IDMxOS44bC0xMy4yIDAgMCAzNC43Yy0yNC41IDIzLjEtNTYuMyAzNS44LTg5LjkgMzUuOC03My4yIDAtMTMyLjQtNjAuMi0xMzIuNC0xMzQuNCAwLTc0LjEgNTkuMi0xMzQuNCAxMzIuNC0xMzQuNCAzNS4zIDAgNjguNiAxNCA5My42IDM5LjRsNjIuMy02My4zYy00MS44LTQyLjMtOTcuMS02NS42LTE1Ni4xLTY1LjYtMTIyLjcgMC0yMjAuNyAxMDAuNi0yMjAuNyAyMjQgMCAxMjIuNSA5NyAyMjQgMjIwLjcgMjI0IDYzLjIgMCAxMjQuNS0yNi4yIDE3MS04Mi41LTItMjcuNi0xMy40LTc3LjctNjcuNy03Ny43ek0zMzUuOSAyMDcuM2wtMTA2LjMgMCAwIDg5IDExOC40IDBjMzMuNSAwIDYwLjUgMTUuMSA3NiA0MS44bDAtMzAuNmMwLTY1LjItNDAuNC0xMDAuMi04OC4xLTEwMC4yeiJdfSxWenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXZpYXRvIixpY29uOls2NDAsNTEyLFtdLCJmNDIxIiwiTTEwNy4yIDI4My41bC0xOS00MS44LTUyLjEgMC0xOSA0MS44LTE3LjEgMCA2Mi4yLTEzMS40IDYyLjIgMTMxLjQtMTcuMiAwem0tNDUtOTguMWwtMTkuNiA0Mi41IDM5LjIgMC0xOS42LTQyLjV6TTE3NC45IDI4Ny44bC02Mi4yLTEzMS40IDE3LjEgMCA0NS4xIDk2IDQ1LjEtOTYgMTcgMC02Mi4xIDEzMS40em04MC42LTQuM2wwLTEyNy4xIDE1LjUgMCAwIDEyNy4xLTE1LjUgMHpNNDY0LjYgMTY3LjlsMCAxMTUuNi0xNy4zIDAgMC0xMTUuNi00MS4yIDAgMC0xMS41IDk5LjYgMCAwIDExLjUtNDEuMSAwek02NDAgMjE4LjhjMCA5LjItMS43IDE3LjgtNS4xIDI1LjhzLTguMiAxNS4xLTE0LjIgMjEuMS0xMy4xIDEwLjgtMjEuMSAxNC4yLTE2LjYgNS4xLTI1LjggNS4xLTE3LjgtMS43LTI1LjgtNS4xLTE1LjEtOC4yLTIxLjEtMTQuMi0xMC44LTEzLTE0LjItMjEuMWMtMy40LTgtNS4xLTE2LjYtNS4xLTI1LjhzMS43LTE3LjggNS4xLTI1LjggOC4yLTE1LjEgMTQuMi0yMS4xIDEzLTguNCAyMS4xLTExLjljOC0zLjQgMTYuNi01LjEgMjUuOC01LjFzMTcuOCAxLjcgMjUuOCA1LjEgMTUuMSA1LjggMjEuMSAxMS45YzYgNiAxMC43IDEzLjEgMTQuMiAyMS4xIDMuNCA4IDUuMSAxNi42IDUuMSAyNS44em0tMTUuNSAwYzAtNy4zLTEuMy0xNC0zLjktMjAuM3MtNi4yLTExLjctMTAuOC0xNi4zLTEwLTguMi0xNi4yLTEwLjktMTIuOC00LTE5LjgtNC0xMy42IDEuMy0xOS44IDQtMTEuNiA2LjMtMTYuMiAxMC45LTguMiAxMC0xMC44IDE2LjMtMy45IDEzLjEtMy45IDIwLjNjMCA3LjMgMS4zIDE0IDMuOSAyMC4zczYuMiAxMS43IDEwLjggMTYuMyAxMCA4LjIgMTYuMiAxMC45IDEyLjggNCAxOS44IDQgMTMuNi0xLjMgMTkuOC00IDExLjYtNi4zIDE2LjItMTAuOSA4LjItMTAgMTAuOC0xNi4zIDMuOS0xMy4xIDMuOS0yMC4zem0tOTQuOCA5Ni43bDAtNi4zIDg4LjktMTAtMjQyLjkgMTMuNGMuNi0yLjIgMS4xLTQuNiAxLjQtNy4yIC4zLTIgLjUtNC4yIC42LTYuNWw2NC44LTguMS02NC45IDEuOWMwLS40LS4xLS43LS4xLTEuMS0yLjgtMTcuMi0yNS41LTIzLjctMjUuNS0yMy43bC0xLjEtMjYuMyAyMy44IDAgMTkgNDEuOCAxNy4xIDAtNjIuMi0xMzEuNC02Mi4yIDEzMS40IDE3LjEgMCAxOS00MS44IDIzLjYgMC0xLjEgMjYuNHMtMjIuNyA2LjUtMjUuNSAyMy43Yy0uMSAuMy0uMSAuNy0uMSAxLjFsLTY0LjktMS45IDY0LjggOC4xYy4xIDIuMyAuMyA0LjQgLjYgNi41IC4zIDIuNiAuOCA1IDEuNCA3LjJsLTI0Mi45LTEzLjUgODguOSAxMCAwIDYuM2MtNS45IC45LTEwLjUgNi0xMC41IDEyLjIgMCA2LjggNS42IDEyLjQgMTIuNCAxMi40czEyLjQtNS42IDEyLjQtMTIuNGMwLTYuMi00LjYtMTEuMy0xMC41LTEyLjJsMC01LjggODAuMyA5IDAgNS40Yy01LjcgMS4xLTkuOSA2LjItOS45IDEyLjEgMCA2LjggNS42IDEwLjIgMTIuNCAxMC4yczEyLjQtMy40IDEyLjQtMTAuMmMwLTYtNC4zLTExLTkuOS0xMi4xbDAtNC45IDI4LjQgMy4yIDAgMjMuNy01LjkgMCAwIDEzLjkgNS45IDAgMC02LjYgNSAwIDAgNi42IDUuOSAwIDAtMTMuOC01LjkgMCAwLTIzLjIgMzguMyA0LjNjOC4xIDExLjQgMTkgMTMuNiAxOSAxMy42bC0uMSA2LjctNS4xIC4yLS4xIDEyLjEgNC4xIDAgLjEtNSA1LjIgMCAuMSA1IDQuMSAwLS4xLTEyLjEtNS4xLS4yLS4xLTYuN3MxMC45LTIuMSAxOS0xMy42bDM4LjMtNC4zIDAgMjMuMi01LjkgMCAwIDEzLjggNS45IDAgMC02LjYgNSAwIDAgNi42IDUuOSAwIDAtMTMuOC01LjkgMCAwLTIzLjcgMjguNC0zLjIgMCA0LjljLTUuNyAxLjEtOS45IDYuMi05LjkgMTIuMSAwIDYuOCA1LjYgMTAuMiAxMi40IDEwLjJzMTIuNC0zLjQgMTIuNC0xMC4yYzAtNi00LjMtMTEtOS45LTEyLjFsMC01LjQgODAuMy05IDAgNS44Yy01LjkgLjktMTAuNSA2LTEwLjUgMTIuMiAwIDYuOCA1LjYgMTIuNCAxMi40IDEyLjRzMTIuNC01LjYgMTIuNC0xMi40Yy0uMi02LjMtNC43LTExLjQtMTAuNy0xMi4zek0zMjguOSAyMjcuOWwxOS42LTQyLjUgMTkuNiA0Mi41LTE3LjkgMC0xLjctNDAuMy0xLjcgNDAuMy0xNy45IDB6Il19LGp6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwYWRsZXQiLGljb246WzY0MCw1MTIsW10sImU0YTAiLCJNMjk3LjkgMGwuMSAwYzcuNiAuMSAxNC40IDQuNyAxNy41IDExLjhsMTMyIDMwOC41IC4zLS4xIC4yIC40LTIuOCAxMC00Mi45IDE1OGMtMy43IDE2LjItMTkuNyAyNi4zLTM1LjggMjIuNmwtNjguNC0xNS42LTY4LjUgMTUuNmMtMTYuMSAzLjctMzIuMS02LjQtMzUuOC0yMi42bC00Mi45LTE1OC0yLjctMTAgLjEtLjQgMTMyLjEtMzA4LjRjMy03IDkuOS0xMS42IDE3LjUtMTEuOHpNMTYwLjEgMzIyLjFsMTMxIDM5LjEgNi45IDEyMi41IDcuOS0xMjEuNSAxMzAuNi0zOS4zIC4yLS4xLTEzMSAyNS4xLTguNi0zMjAuMi01LjIgMzIwLjItMTMxLjgtMjUuOHpNNDI2IDIyMi42bDk0LjQtNDEgNzMuOCAwLTE1NyAyNDcuNiAzMS42LTEwOS00Mi44LTk3LjZ6bTE3MS41LTQxLjJsNDEuNCA3Ni4yYzQgNy41LTMuOSAxNS45LTExLjYgMTIuMmwtNDcuNi0yMi43IDE3LjgtNjUuN3pNMTI3LjMgMzE4LjVMMTU4LjcgNDMwIDEuNiAxNTQuNWMtNS45LTEwLjQgNS41LTIyIDE1LjktMTYuMmwxNTEuOCA4NC4yLTQyLjEgOTZ6Il19LFV6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlZGdlLWxlZ2FjeSIsaWNvbjpbNDQ4LDUxMixbXSwiZTA3OCIsIk0tNiAyMjguMmwuNC0uNWMwIC4yIDAgLjMtLjEgLjVsLS4zIDB6bTQ2MC42IDE1LjVjMC00NC03LjgtODQuNS0yOC44LTEyMi40LTQxLTczLjQtMTEzLjYtMTEzLjMtMTk4LjYtMTEzLjMtMTM5LjktLjMtMjE4LjMgMTA1LjItMjMyLjggMjE5LjcgNDIuNC02MS4zIDExNy4xLTEyMS40IDIyMC40LTEyNSAwIDAgMTA5LjcgMCA5OS40IDEwNWwtMTc1LjggMGM2LjQtMzcuNCAxOC41LTU5IDM0LjMtNzguOS03NSAzNC45LTEyMS44IDk2LjEtMTIwLjggMTg4LjMgLjggNzEuNSA1MC4xIDE0NC44IDEyMC44IDE3MiA4My40IDMxLjggMTkyLjggNy4yIDI0MC4xLTIxLjNsMC0xMDQuNGMtODAuOSA1Ni41LTI3MC45IDYwLjktMjcyLjMtNjcuNmwzMTQuMSAwIDAtNTIuMXoiXX0sUXVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1sYXN0Zm0iLGljb246WzQ0OCw1MTIsWyJsYXN0Zm0tc3F1YXJlIl0sImYyMDMiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTIxMC43IDI4MC44Yy0xLjgtNS41LTMuNC0xMC44LTUtMTUuOS0xMi45LTQxLjktMjEtNjguNC01OC02OC40LTIyLjQgMC00NS4xIDE2LjEtNDUuMSA2MS4yIDAgMzUuMiAxOCA1Ny4yIDQzLjMgNTcuMiAyOC42IDAgNDcuNi0yMS4zIDQ3LjYtMjEuM2wxMS43IDMxLjlzLTE5LjggMTkuNC02MS4yIDE5LjRjLTUxLjMgMC03OS45LTMwLjEtNzkuOS04NS44IDAtNTcuOSAyOC42LTkyIDgyLjUtOTIgNjcuOSAwIDc5LjMgMzUuMyA5Ni40IDg4LjQgMS40IDQuNCAyLjkgOC45IDQuNCAxMy41IDguOCAyNi44IDI0LjIgNDYuMiA2MS4yIDQ2LjIgMjQuOSAwIDM4LjEtNS41IDM4LjEtMTkuMSAwLTE3LjUtMTYuOS0yMS4yLTQwLTI2LjQtMy4yLS43LTYuNS0xLjQtOS45LTIuMi0zMC40LTcuMy00Mi41LTIzLjEtNDIuNS00OCAwLTQwIDMyLjMtNTIuNCA2NS4yLTUyLjQgMzcuNCAwIDYwLjEgMTMuNiA2MyA0Ni42bC0zNi43IDQuNGMtMS41LTE1LjgtMTEtMjIuNC0yOC42LTIyLjQtMTYuMSAwLTI2IDcuMy0yNiAxOS44IDAgMTEgNC44IDE3LjYgMjAuOSAyMS4zIDIuMiAuNSA0LjUgMSA2LjcgMS40IDMxLjEgNi41IDY1LjEgMTMuNyA2NS4xIDU2LjEgLjEgMzYuNy0zMC43IDUwLjYtNzYuMSA1MC42LTYzLjQgMC04NS40LTI4LjYtOTcuMS02NC4xeiJdfSxXenQ9UXVlLEd6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29kcmVhZHMtZyIsaWNvbjpbMzIwLDUxMixbXSwiZjNhOSIsIk0xMC44IDQwMy4zbDIuOCAwYzEyLjcgMCAyNS41IDAgMzguMiAuMSAxLjYgMCAzLjEtLjQgMy42IDIuMSA3LjEgMzQuOSAzMCA1NC42IDYyLjkgNjMuOSAyNi45IDcuNiA1NC4xIDcuOCA4MS4zIDEuOCAzMy44LTcuNCA1Ni0yOC4zIDY4LTYwLjQgOC0yMS41IDEwLjctNDMuOCAxMS02Ni41IC4xLTUuOCAuMy00Ny0uMi01Mi44bC0uOS0uM2MtLjggMS41LTEuNyAyLjktMi41IDQuNC0yMi4xIDQzLjEtNjEuMyA2Ny40LTEwNS40IDY5LjEtMTAzIDQtMTY5LjQtNTctMTcyLTE3Ni4yLS41LTIzLjcgMS44LTQ2LjkgOC4zLTY5LjcgMjAuNi03MS4xIDc0LjYtMTE4LjIgMTUzLjktMTE4LjggNjEuMy0uNCAxMDEuNSAzOC43IDExNi4yIDcwLjMgLjUgMS4xIDEuMyAyLjMgMi40IDEuOWwwLTYxLjYgNDQuMyAwYzAgMjgwLjMgLjEgMzMyLjIgLjEgMzMyLjItLjEgNzguNS0yNi43IDE0My43LTEwMyAxNjIuMi02OS41IDE2LjktMTU5IDQuOC0xOTYtNTcuMi04LTEzLjUtMTEuOC0yOC4zLTEzLTQ0LjV6TTE1Ny4xIDM2LjVjLTUyLjUtLjUtMTA4LjUgNDAuNy0xMTUgMTMzLjgtNC4xIDU5IDE0LjggMTIyLjIgNzEuNSAxNDguNiAyNy42IDEyLjkgNzQuMyAxNSAxMDguMy04LjcgNDcuNi0zMy4yIDYyLjctOTcgNTQuOC0xNTQtOS43LTcxLjEtNDcuOC0xMjAtMTE5LjYtMTE5Ljd6Il19LFl6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1tYXN0ZXJjYXJkIixpY29uOls1NzYsNTEyLFtdLCJmMWYxIiwiTTQ4Mi45IDQxMC4zYzAgNi44LTQuNiAxMS43LTExLjIgMTEuNy02LjggMC0xMS4yLTUuMi0xMS4yLTExLjdzNC40LTExLjcgMTEuMi0xMS43YzYuNiAwIDExLjIgNS4yIDExLjIgMTEuN3pNMTcyLjEgMzk4LjZjLTcuMSAwLTExLjIgNS4yLTExLjIgMTEuN1MxNjUgNDIyIDE3Mi4xIDQyMmM2LjUgMCAxMC45LTQuOSAxMC45LTExLjctLjEtNi41LTQuNC0xMS43LTEwLjktMTEuN3ptMTE3LjUtLjNjLTUuNCAwLTguNyAzLjUtOS41IDguN2wxOS4xIDBjLS45LTUuNy00LjQtOC43LTkuNi04Ljd6bTEwNy44IC4zYy02LjggMC0xMC45IDUuMi0xMC45IDExLjdzNC4xIDExLjcgMTAuOSAxMS43IDExLjItNC45IDExLjItMTEuN2MwLTYuNS00LjQtMTEuNy0xMS4yLTExLjd6bTEwNS45IDI2LjFjMCAuMyAuMyAuNSAuMyAxLjEgMCAuMy0uMyAuNS0uMyAxLjEtLjMgLjMtLjMgLjUtLjUgLjgtLjMgLjMtLjUgLjUtMS4xIC41LS4zIC4zLS41IC4zLTEuMSAuMy0uMyAwLS41IDAtMS4xLS4zLS4zIDAtLjUtLjMtLjgtLjUtLjMtLjMtLjUtLjUtLjUtLjgtLjMtLjUtLjMtLjgtLjMtMS4xIDAtLjUgMC0uOCAuMy0xLjEgMC0uNSAuMy0uOCAuNS0xLjEgLjMtLjMgLjUtLjMgLjgtLjUgLjUtLjMgLjgtLjMgMS4xLS4zIC41IDAgLjggMCAxLjEgLjMgLjUgLjMgLjggLjMgMS4xIC41cy4yIC42IC41IDEuMXptLTIuMiAxLjRjLjUgMCAuNS0uMyAuOC0uMyAuMy0uMyAuMy0uNSAuMy0uOHMwLS41LS4zLS44Yy0uMyAwLS41LS4zLTEuMS0uM2wtMS42IDAgMCAzLjUgLjggMCAwLTEuNCAuMyAwIDEuMSAxLjQgLjggMC0xLjEtMS4zek01NzYgODFsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgxYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgxQzAgNTQuNSAyMS41IDMzIDQ4IDMzbDQ4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek02NCAyMjAuNmMwIDc2LjUgNjIuMSAxMzguNSAxMzguNSAxMzguNSAyNy4yIDAgNTMuOS04LjIgNzYuNS0yMy4xLTcyLjktNTkuMy03Mi40LTE3MS4yIDAtMjMwLjUtMjIuNi0xNS00OS4zLTIzLjEtNzYuNS0yMy4xLTc2LjQtLjEtMTM4LjUgNjItMTM4LjUgMTM4LjJ6TTI4OCAzMjkuNGM3MC41LTU1IDcwLjItMTYyLjIgMC0yMTcuNS03MC4yIDU1LjMtNzAuNSAxNjIuNiAwIDIxNy41ek0xNDUuNyA0MDUuN2MwLTguNy01LjctMTQuNC0xNC43LTE0LjctNC42IDAtOS41IDEuNC0xMi44IDYuNS0yLjQtNC4xLTYuNS02LjUtMTIuMi02LjUtMy44IDAtNy42IDEuNC0xMC42IDUuNGwwLTQuNC04LjIgMCAwIDM2LjcgOC4yIDBjMC0xOC45LTIuNS0zMC4yIDktMzAuMiAxMC4yIDAgOC4yIDEwLjIgOC4yIDMwLjJsNy45IDBjMC0xOC4zLTIuNS0zMC4yIDktMzAuMiAxMC4yIDAgOC4yIDEwIDguMiAzMC4ybDguMiAwIDAtMjMtLjIgMHpNMTkwLjYgMzkybC03LjkgMCAwIDQuNGMtMi43LTMuMy02LjUtNS40LTExLjctNS40LTEwLjMgMC0xOC4yIDguMi0xOC4yIDE5LjMgMCAxMS4yIDcuOSAxOS4zIDE4LjIgMTkuMyA1LjIgMCA5LTEuOSAxMS43LTUuNGwwIDQuNiA3LjkgMCAwLTM2Ljh6bTQwLjUgMjUuNmMwLTE1LTIyLjktOC4yLTIyLjktMTUuMiAwLTUuNyAxMS45LTQuOCAxOC41LTEuMWwzLjMtNi41Yy05LjQtNi4xLTMwLjItNi0zMC4yIDguMiAwIDE0LjMgMjIuOSA4LjMgMjIuOSAxNSAwIDYuMy0xMy41IDUuOC0yMC43IC44bC0zLjUgNi4zYzExLjIgNy42IDMyLjYgNiAzMi42LTcuNXptMzUuNCA5LjNsLTIuMi02LjhjLTMuOCAyLjEtMTIuMiA0LjQtMTIuMi00LjFsMC0xNi42IDEzLjEgMCAwLTcuNC0xMy4xIDAgMC0xMS4yLTguMiAwIDAgMTEuMi03LjYgMCAwIDcuMyA3LjYgMCAwIDE2LjdjMCAxNy42IDE3LjMgMTQuNCAyMi42IDEwLjl6bTEzLjMtMTMuNGwyNy41IDBjMC0xNi4yLTcuNC0yMi42LTE3LjQtMjIuNi0xMC42IDAtMTguMiA3LjktMTguMiAxOS4zIDAgMjAuNSAyMi42IDIzLjkgMzMuOCAxNC4ybC0zLjgtNmMtNy44IDYuNC0xOS42IDUuOC0yMS45LTQuOXpNMzM4LjkgMzkyYy00LjYtMi0xMS42LTEuOC0xNS4yIDQuNGwwLTQuNC04LjIgMCAwIDM2LjcgOC4yIDAgMC0yMC43YzAtMTEuNiA5LjUtMTAuMSAxMi44LTguNGwyLjQtNy42em0xMC42IDE4LjNjMC0xMS40IDExLjYtMTUuMSAyMC43LTguNGwzLjgtNi41Yy0xMS42LTkuMS0zMi43LTQuMS0zMi43IDE1IDAgMTkuOCAyMi40IDIzLjggMzIuNyAxNWwtMy44LTYuNWMtOS4yIDYuNS0yMC43IDIuNi0yMC43LTguNnpNNDE2LjIgMzkybC04LjIgMCAwIDQuNGMtOC4zLTExLTI5LjktNC44LTI5LjkgMTMuOSAwIDE5LjIgMjIuNCAyNC43IDI5LjkgMTMuOWwwIDQuNiA4LjIgMCAwLTM2Ljh6bTMzLjcgMGMtMi40LTEuMi0xMS0yLjktMTUuMiA0LjRsMC00LjQtNy45IDAgMCAzNi43IDcuOSAwIDAtMjAuN2MwLTExIDktMTAuMyAxMi44LTguNGwyLjQtNy42em00MC4zLTE0LjlsLTcuOSAwIDAgMTkuM2MtOC4yLTEwLjktMjkuOS01LjEtMjkuOSAxMy45IDAgMTkuNCAyMi41IDI0LjYgMjkuOSAxMy45bDAgNC42IDcuOSAwIDAtNTEuN3ptNy42LTc1LjFsMCA0LjYgLjggMCAwLTQuNiAxLjkgMCAwLS44LTQuNiAwIDAgLjggMS45IDB6bTYuNiAxMjMuOGMwLS41IDAtMS4xLS4zLTEuNi0uMy0uMy0uNS0uOC0uOC0xLjFzLS44LS41LTEuMS0uOGMtLjUgMC0xLjEtLjMtMS42LS4zLS4zIDAtLjggLjMtMS40IC4zLS41IC4zLS44IC41LTEuMSAuOC0uNSAuMy0uOCAuOC0uOCAxLjEtLjMgLjUtLjMgMS4xLS4zIDEuNiAwIC4zIDAgLjggLjMgMS40IDAgLjMgLjMgLjggLjggMS4xIC4zIC4zIC41IC41IDEuMSAuOCAuNSAuMyAxLjEgLjMgMS40IC4zIC41IDAgMS4xIDAgMS42LS4zIC4zLS4zIC44LS41IDEuMS0uOHMuNS0uOCAuOC0xLjFjLjMtLjYgLjMtMS4xIC4zLTEuNHptMy4yLTEyNC43bC0xLjQgMC0xLjYgMy41LTEuNi0zLjUtMS40IDAgMCA1LjQgLjggMCAwLTQuMSAxLjYgMy41IDEuMSAwIDEuNC0zLjUgMCA0LjEgMS4xIDAgMC01LjR6bTQuNC04MC41YzAtNzYuMi02Mi4xLTEzOC4zLTEzOC41LTEzOC4zLTI3LjIgMC01My45IDguMi03Ni41IDIzLjEgNzIuMSA1OS4zIDczLjIgMTcxLjUgMCAyMzAuNSAyMi42IDE1IDQ5LjUgMjMuMSA3Ni41IDIzLjEgNzYuNCAuMSAxMzguNS02MS45IDEzOC41LTEzOC40eiJdfSxLenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGlzY291cnNlIixpY29uOls0NDgsNTEyLFtdLCJmMzkzIiwiTTIyNS45IDMyQzEwMy4zIDMyIDAgMTMwLjUgMCAyNTIuMSAwIDI1NiAuMSA0ODAgLjEgNDgwbDIyNS44LS4yQzM0OC42IDQ3OS44IDQ0OCAzNzcuNSA0NDggMjU1LjlTMzQ4LjYgMzIgMjI1LjkgMzJ6TTIyNCAzODRjLTE5LjQgMC0zNy45LTQuMy01NC40LTEyLjFMODguNSAzOTIgMTExLjQgMzE3Yy05LjgtMTguMS0xNS40LTM4LjktMTUuNC02MSAwLTcwLjcgNTcuMy0xMjggMTI4LTEyOHMxMjggNTcuMyAxMjggMTI4LTU3LjMgMTI4LTEyOCAxMjh6Il19LFp6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJibGFjay10aWUiLGljb246WzQ0OCw1MTIsW10sImYyN2UiLCJNMCAzMmwwIDQ0OCA0NDggMCAwLTQ0OC00NDggMHpNMzE2LjUgMzU3LjJsLTkyLjUgODguNy05Mi41LTg4LjcgNjQuNS0xODQtNjQuNS04Ni42IDE4NC45IDAtNjQuNCA4Ni42IDY0LjUgMTg0eiJdfSxKdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWZhY2Vib29rIixpY29uOls0NDgsNTEyLFsiZmFjZWJvb2stc3F1YXJlIl0sImYwODIiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw5OC4yIDAgMC0xNDUuOC01Mi44IDAgMC03OC4yIDUyLjggMCAwLTMzLjdjMC04Ny4xIDM5LjQtMTI3LjUgMTI1LTEyNy41IDE2LjIgMCA0NC4yIDMuMiA1NS43IDYuNGwwIDcwLjhjLTYtLjYtMTYuNS0xLTI5LjYtMS00MiAwLTU4LjIgMTUuOS01OC4yIDU3LjJsMCAyNy44IDgzLjYgMC0xNC40IDc4LjItNjkuMyAwIDAgMTQ1LjggMTI5IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6Il19LFh6dD1KdWUsUXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJhdHRsZS1uZXQiLGljb246WzUxMiw1MTIsW10sImY4MzUiLCJNNDQ4LjggMjI1LjZjMjYuOSAuMiAzNS42LTcuNCAzOC45LTEyLjQgMTIuNS0xNi4zLTcuMS00Ny42LTUyLjgtNzEuMyAxNy44LTMzLjYgMzAuMS02My43IDM2LjMtODUuMyAzLjQtMTEuOCAxLjEtMTkgLjUtMjAuMy0xLjcgMTAuNS0xNS44IDQ4LjUtNDguMiAxMDAtMjUtMTEuMi01Ni41LTIwLjEtOTMuOC0yMy44LTguOS0xNi45LTM0LjktNjMuOS02MC41LTg4LjktMTYuOC0xNi41LTMwLjMtMjIuNi00MC44LTIzLjVsMCAwYy0xMy44LTEuNi0yMi43IDUuOC0yNy40IDExLTE3LjIgMTguNS0yNC4zIDQ4LjktMjUgODQuMS03LjItMTIuMy0xNy4yLTI0LjYtMjguNS0yNS45bC0uMiAwYy0yMC43LTMuNS0zOC40IDI5LjItMzYgODEuMy0zOC40IDEuNC03MSA1LjgtOTMgMTEuMi05LjkgMi40LTE2LjIgNy4zLTE3LjggOS43IDEtLjQgMjIuNC05LjIgMTExLjYtOS4yIDUuMiA1MyAyOS44IDEwMS44IDI2IDkzLjItOS43IDE1LjQtMzguMiA2Mi40LTQ3LjMgOTcuNy01LjkgMjIuOS00LjQgMzcuNiAuMiA0Ny4xIDUuNiAxMi44IDE2LjQgMTYuNyAyMy4yIDE4LjMgMjUgNS43IDU1LjQtMy42IDg2LjctMjEuMS03LjUgMTIuOC0xMy45IDI4LjUtOS4xIDM5LjMgNy4zIDE5LjYgNDQuNSAxOC43IDg4LjQtOS40IDIwLjIgMzIuMiA0MC4xIDU3LjkgNTUuNyA3NC4xIDIuNiAyLjggNS41IDUuMiA4LjggNy4xIDUuMSAzLjIgOC42IDMuNCA4LjYgMy40LTguMi02LjctMzQtMzgtNjIuNS05MS44IDIyLjItMTYgNDUuNy0zOC45IDY3LjUtNjkuMyAxMjIuOCA0LjYgMTQzLjMtMjQuOCAxNDgtMzEuNiAxNC43LTE5LjkgMy40LTU3LjQtNTcuMy05My43ek0zNzEgMzMxLjhjMjMuOC0zNy43IDMwLjMtNjcuOCAyOS40LTkyLjMgMjcuOSAxNy42IDQ3LjIgMzcuNiA0OS4xIDU4LjggMS4xIDEyLjktOC4xIDI5LjEtNzguNSAzMy41ek0yMTcuMSAzODcuN2M5LjgtNi4yIDE5LjUtMTMuMSAyOS4yLTIwLjUgNi43IDEzLjMgMTMuNiAyNi4xIDIwLjYgMzguMi00MC42IDIxLjktNjguOCAxMi44LTQ5LjgtMTcuN3ptMjE1LTE3MS4zYy0xMC4zLTUuMy0yMS4yLTEwLjMtMzIuNC0xNSA3LjktMTIuMSAxNS41LTI0LjQgMjIuNy0zNi45IDM5LjEgMjQuMSA0NS45IDUzLjIgOS42IDUxLjl6TTI3OS40IDM5OGMtNS41LTExLjQtMTEtMjMuNS0xNi41LTM2LjQgNDMuMiAxLjMgNjIuNC0xOC43IDYzLjMtMjAuNCAwIC4xLTI1IDE1LjYtNjIuNSAxMi4yIDMwLjYtMjUuNiA1OS4xLTUzLjcgODUuMS04NCA4LjctMTAuMiAxNy0yMC42IDI0LjktMzEuMS0uNC0uMy0xLjUtMy0xNi41LTEyLTUxLjcgNjAuMy0xMDIuMyA5OC0xMzIuOCAxMTUuOS0yMC42LTExLjItNDAuOC0zMS44LTU1LjctNjEuNS0yMC0zOS45LTMwLTgyLjQtMzEuNi0xMTYuMSAxMi4zIC45IDI1LjMgMi4yIDM4LjggMy45LTIyLjMgMzYuOC0xNC40IDYzLTEzLjUgNjQuMiAwLS4xLTEtMjkuMiAyMC4xLTU5LjYgOSA1Mi41IDI0IDEwMy44IDQ0LjcgMTUyLjggLjktLjQgMS44IC45IDE4LjctOC4yLTI2LjMtNzQuNS0zMy44LTEzOC4yLTM0LTE3My40IDIwLTEyLjQgNDguMi0xOS44IDgxLjYtMTcuOCA0NC42IDIuNyA4Ni40IDE1LjIgMTE2LjMgMzAuNy03LjEgMTAuNC0xNC45IDIxLjMtMjMuMyAzMi41LTIwLjctMzcuNy00Ny4zLTQzLjktNDguOS00My43IC4xIDAgMjUuOSAxNC4xIDQxLjUgNDcuMi0zNy41LTEzLjgtNzYuMS0yNC40LTExNS4zLTMxLjctMTMuMS0yLjQtMjYuMi00LjQtMzkuNC02LS4xIC40LTEuOCAxLjgtMi4yIDIwLjMgNzcuOSAxNC41IDEzNi42IDM5LjkgMTY3LjIgNTcuMiAuNyAyMy42LTcgNTEuNi0yNS40IDc5LjYtMjQuNiAzNy4zLTU2LjQgNjcuMi04NC44IDg1LjR6bTI3LjQtMjg3Yy00NC42LTEuNy03My42IDcuNC05NC43IDIwLjcgMi01Mi4zIDIxLjMtNzYuNCAzOC4yLTc1LjMgMTYuOS00LjIgNTQuOSA1Mi4yIDU2LjUgNTQuNnptLTEzMC43IDMuMWMuNSAxMi4xIDEuNiAyNC42IDMuMiAzNy4zLTE0LjYtLjktMjguNy0xLjMtNDIuNC0xLjMtLjEgMy4yLS4xLTUxIDI0LjctNDkuNmwuMSAwYzUuOCAxLjEgMTAuNiA2LjkgMTQuNCAxMy42em0tMjguMSAxNjJjMjAuOCAzOS43IDQzLjMgNjAuNiA2NS4zIDcyLjMtNDYuOCAyNC44LTc3LjUgMjAtODQuOSA0LjUtLjItLjItMTEuMS0xNS4zIDE5LjctNzYuOGwwIDB6Il19LEp6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJiaW1vYmplY3QiLGljb246WzQ0OCw1MTIsW10sImYzNzgiLCJNNDE2IDMyTDMyIDMyQzE0LjQgMzIgMCA0Ni40IDAgNjRMMCA0NDhjMCAxNy42IDE0LjQgMzIgMzIgMzJsMzg0IDBjMTcuNiAwIDMyLTE0LjQgMzItMzJsMC0zODRjMC0xNy42LTE0LjQtMzItMzItMzJ6TTM1MiAyODkuNGMwIDQ5LjQtMTEuNCA4Mi42LTEwMy44IDgyLjZsLTE2LjkgMGMtNDQuMSAwLTYyLjQtMTQuOS03MC40LTM4LjhsLS45IDAgMCAzNC44LTY0IDAgMC0yMzIgNjQgMCAwIDc0LjcgMS4xIDBjNC42LTMwLjUgMzkuNy0zOC44IDY5LjctMzguOGwxNy4zIDBjOTIuNCAwIDEwMy44IDMzLjEgMTAzLjggODIuNWwwIDM1IC4xIDB6bS02NC0yOC45bDAgMjIuOWMwIDIxLjctMy40IDMzLjgtMzguNCAzMy44bC00NS4zIDBjLTI4LjkgMC00NC4xLTYuNS00NC4xLTM1LjdsMC0xOWMwLTI5LjMgMTUuMi0zNS43IDQ0LjEtMzUuN2w0NS4zIDBjMzUtLjIgMzguNCAxMiAzOC40IDMzLjd6Il19LGVDdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdmVsdGUiLGljb246WzQ0OCw1MTIsW10sImU4NjgiLCJNMjAyLjEgMjYuNGM2Ni44LTQyLjYgMTU5LjMtMjIuNyAyMDYuMSA0NC4zIDExLjEgMTUuNSAxOSAzMy4xIDIzLjIgNTEuOHM0LjcgMzcuOSAxLjMgNTYuN2MtMy4yIDE4LTEwLjEgMzUuMS0yMC4xIDUwLjMgMTQuNiAyNy45IDE5LjYgNjAgMTQgOTEtMy4zIDE4LjQtMTAuNCAzNi0yMC45IDUxLjVzLTI0LjEgMjguNy0zOS45IDM4LjdMMjQ4LjMgNDg1LjZjLTY2LjggNDIuNi0xNTkuMyAyMi43LTIwNi4xLTQ0LjItMTEuMS0xNS41LTE5LTMzLjItMjMuMi01MS44cy00LjctMzcuOS0xLjMtNTYuN2MzLjItMTggMTAuMS0zNS4xIDIwLjEtNTAuMy0xNC43LTI3LjktMTkuNi02MC0xNC05MS4xIDMuMy0xOC40IDEwLjQtMzYgMjAuOS01MS41czI0LjEtMjguNyAzOS45LTM4LjdMMjAyLjEgMjYuNHpNMzE1LjYgNjcuMmMtMTcuOS02LjYtMzcuNC03LjYtNTUuOS0yLjgtOC40IDIuMy0xNi41IDUuOC0yMy44IDEwLjVMMTE4LjUgMTQ5LjdjLTkuNSA2LTE3LjcgMTMuOS0yNCAyMy4zUzg0IDE5Mi44IDgyIDIwMy45Yy0yIDExLjMtMS43IDIyLjkgLjggMzQuMXM3LjMgMjEuOCAxMy45IDMxLjJjMTAuOSAxNS43IDI2LjMgMjcuNiA0NC4yIDM0LjNzMzcuNCA3LjYgNTUuOSAyLjhjOC40LTIuMyAxNi41LTUuOCAyMy44LTEwLjVsNDQuOC0yOC42YzIuMi0xLjQgNC43LTIuNSA3LjItMy4yIDUuNi0xLjQgMTEuNC0xLjIgMTYuOCAuOHMxMCA1LjYgMTMuMyAxMC4zYzIgMi44IDMuNSA2IDQuMiA5LjRzLjkgNi45IC4zIDEwLjNjLS42IDMuMy0xLjkgNi41LTMuOCA5LjMtMS45IDIuOC00LjQgNS4yLTcuMiA3TDE3OC44IDM4Ni4xYy0yLjIgMS40LTQuNyAyLjUtNy4yIDMuMi01LjYgMS40LTExLjQgMS4yLTE2LjgtLjhzLTEwLTUuNi0xMy4zLTEwLjNjLTMuNi01LjEtNS4zLTExLjItNC43LTE3LjRsLjQtNC40LTQuMy0xLjNjLTE2LjUtNS0zMi4xLTEyLjctNDUuOS0yMi45bC02LTQuNC0yLjIgNi43Yy0xLjIgMy42LTIuMSA3LjMtMi44IDExLTIgMTEuMy0xLjcgMjIuOSAuOCAzNC4xczcuMyAyMS44IDEzLjkgMzEuMWMxMC45IDE1LjcgMjYuMyAyNy42IDQ0LjIgMzQuM3MzNy40IDcuNiA1NS44IDIuOGM4LjQtMi4zIDE2LjUtNS44IDIzLjktMTAuNWwxMTcuMy03NC44YzkuNS02IDE3LjctMTMuOSAyNC0yMy4zczEwLjYtMTkuOSAxMi42LTMxYzItMTEuMyAxLjgtMjIuOS0uOC0zNC4xcy03LjMtMjEuOC0xNC0zMS4xYy0xMC45LTE1LjctMjYuMy0yNy42LTQ0LjItMzQuM3MtMzcuNC03LjYtNTUuOS0yLjhjLTguNCAyLjMtMTYuNSA1LjgtMjMuOCAxMC41TDE4NSAyNDQuOGMtMi4yIDEuNC00LjYgMi41LTcuMiAzLjItNS42IDEuNC0xMS41IDEuMi0xNi44LS44cy0xMC01LjYtMTMuMy0xMC4zYy0yLTIuOC0zLjQtNi00LjItOS40cy0uOS02LjktLjItMTAuM2MuNi0zLjMgMS45LTYuNSAzLjgtOS4zczQuNC01LjIgNy4yLTdsMTE3LjQtNzQuOGMyLjItMS40IDQuNy0yLjUgNy4yLTMuMiA1LjYtMS40IDExLjQtMS4xIDE2LjggLjlzMTAgNS42IDEzLjMgMTAuM2MzLjYgNS4xIDUuMiAxMS4zIDQuNyAxNy40bC0uNCA0LjQgNC40IDEuM2MxNi41IDUgMzIgMTIuOCA0NS45IDIzbDYgNC40IDIuMi02LjhjMS4yLTMuNiAyLjEtNy4zIDIuOC0xMSAyLTExLjMgMS44LTIyLjktLjgtMzQuMXMtNy4zLTIxLjgtMTQtMzEuMWMtMTAuOS0xNS43LTI2LjMtMjcuNi00NC4yLTM0LjN6Il19LHRDdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZGVza3BybyIsaWNvbjpbNDQ4LDUxMixbXSwiZTg0NCIsIk00MDguOCAzMkM0MzAuNCAzMiA0NDggNDkuNiA0NDggNzEuMmwwIDM2OS42YzAgMjEuNi0xNy42IDM5LjItMzkuMiAzOS4yTDM5LjIgNDgwQzE3LjYgNDgwIDAgNDYyLjQgMCA0NDAuOEwwIDcxLjJDMCA0OS42IDE3LjYgMzIgMzkuMiAzMmwzNjkuNiAwek0xMTAuOSAyNzQuMWwwIDExNC40IDg5LjEtLjFjMjAuNiAwIDM5LjQtMy4yIDU2LjMtOS41czMxLjMtMTUuNCA0My4yLTI3YzEyLjItMTEuOSAyMS42LTI2IDI4LjItNDIuMSA0LjYtMTEuMSA3LjctMjMgOS4yLTM1LjdsLTQzLjggMGMtMS4xIDYuNC0yLjggMTIuNC01LjEgMTguMi00LjIgMTAuOS0xMC4zIDIwLjMtMTguMiAyOC4yLTcuOSA3LjctMTcuNCAxMy43LTI4LjYgMTcuOS0xMS4xIDQuMy0yMy41IDYuNC0zNy4zIDYuNGwtNTAgMCAwLTcwLjYtNDMgLjF6bTAtMTUxLjRsMCAxMTQuNCA0My0uMSAwLTcwLjcgNTAgMGMxMy43IDAgMjYuMiAyLjEgMzcuMyA2LjQgMTEuMSA0LjMgMjAuNiAxMC4zIDI4LjYgMTguMyA3LjkgNy43IDE0IDE3LjEgMTguMiAyOC4yIDIuMyA1LjYgNCAxMS41IDUuMSAxNy44bDQzLjkgLjFjLTEuNC0xMi42LTQuNC0yNC40LTguOS0zNS4zLTYuNi0xNi40LTE2LTMwLjUtMjguMS00Mi4yLTEyLjEtMTEuOS0yNi43LTIxLjEtNDMuNi0yNy41LTE2LjktNi40LTM1LjctOS41LTU2LjMtOS41bC04OSAuMXoiXX0sYUN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRhaWx3aW5kLWNzcyIsaWNvbjpbNjQwLDUxMixbXSwiZTg2NiIsIk0zMjAgNjRjLTg1LjMgMC0xMzguNyA0Mi43LTE2MCAxMjggMzItNDIuNyA2OS4zLTU4LjcgMTEyLTQ4IDI0LjMgNi4xIDQxLjcgMjMuOCA2MSA0My4zIDMxLjQgMzEuOCA2Ny43IDY4LjcgMTQ3IDY4LjcgODUuMyAwIDEzOC43LTQyLjcgMTYwLTEyOC0zMiA0Mi43LTY5LjMgNTguNy0xMTIgNDgtMjQuMy02LjEtNDEuNy0yMy44LTYxLTQzLjMtMzEuNC0zMS44LTY3LjctNjguNy0xNDctNjguN3pNMTYwIDI1NmMtODUuMyAwLTEzOC43IDQyLjctMTYwIDEyOCAzMi00Mi43IDY5LjMtNTguNyAxMTItNDggMjQuMyA2LjEgNDEuNyAyMy44IDYxIDQzLjMgMzEuNCAzMS44IDY3LjcgNjguNyAxNDcgNjguNyA4NS4zIDAgMTM4LjctNDIuNyAxNjAtMTI4LTMyIDQyLjctNjkuMyA1OC43LTExMiA0OC0yNC4zLTYuMS00MS43LTIzLjgtNjEtNDMuMy0zMS40LTMxLjgtNjcuNy02OC43LTE0Ny02OC43eiJdfSx5JGE9e2ZhU3F1YXJlR2l0aHViOnl1ZSxmYUdpdGh1YlNxdWFyZTpKOXQsZmFUaGlua1BlYWtzOmVndCxmYUdvb2dsZURyaXZlOnRndCxmYUF1dG9wcmVmaXhlcjphZ3QsZmFTcXVhcmVWaWFkZW86d3VlLGZhVmlhZGVvU3F1YXJlOnJndCxmYUNwYW5lbDpzZ3QsZmFNZW5kZWxleTppZ3QsZmFEcmFmdDJkaWdpdGFsOm9ndCxmYVJlcGx5ZDpuZ3QsZmFFbXBpcmU6bGd0LGZhQWNjZXNzaWJsZUljb246Y2d0LGZhUXVvcmE6ZGd0LGZhQ2NKY2I6dWd0LGZhRmVkb3JhOnBndCxmYUR1b2xpbmdvOmZndCxmYUZpcnN0ZHJhZnQ6aGd0LGZhRnJlZWJzZDptZ3QsZmFPZHlzZWU6Z2d0LGZhR2dDaXJjbGU6Ymd0LGZhQ2xvdWRmbGFyZTp2Z3QsZmFIYWNrZXJyYW5rOnhndCxmYVNreWF0bGFzOnlndCxmYURlc2twcm86d2d0LGZhUmVzb2x2aW5nOk1ndCxmYUJsYWNrYmVycnk6a2d0LGZhU3RyaXBlUzpTZ3QsZmFTcXVhcmVCZWhhbmNlOk11ZSxmYUJlaGFuY2VTcXVhcmU6emd0LGZhU2VydmljZXN0YWNrOkNndCxmYVJvY2tldGNoYXQ6X2d0LGZhUmViZWw6VGd0LGZhU3F1YXJlV2ViQXdlc29tZTpMZ3QsZmFMaW5rdHJlZTokZ3QsZmFTaW1wbHlidWlsdDpEZ3QsZmFTdHViYmVyOkFndCxmYUFwcGVyOlBndCxmYUdvb2dsZVNjaG9sYXI6RWd0LGZhWWFybjpJZ3QsZmFTdGFja092ZXJmbG93Ok5ndCxmYUJsdWV0b290aDpSZ3QsZmFDcmVhdGl2ZUNvbW1vbnNOY0pwOk9ndCxmYVJlZGRpdDpGZ3QsZmFDb25uZWN0ZGV2ZWxvcDpCZ3QsZmFSZXNlYXJjaGdhdGU6SGd0LGZhU2lnbmFsTWVzc2VuZ2VyOnFndCxmYVhpbmc6Vmd0LGZhU3F1YXJlSnM6a3VlLGZhSnNTcXVhcmU6amd0LGZhRm9udGljb25zOlVndCxmYVVwczpXZ3QsZmFBbWF6b25QYXk6R2d0LGZhUGFuZG9yYTpZZ3QsZmFPcGVuaWQ6S2d0LGZhVnNjbzpaZ3QsZmFHbG9iYWxlYWtzOlhndCxmYVZlbm1vOlFndCxmYVVidW50dTpKZ3QsZmFWaWFjb2luOmVidCxmYVpoaWh1OnRidCxmYVlhbmRleDphYnQsZmFQaXhpdjpyYnQsZmFPcGVuYWk6c2J0LGZhU2l0aDppYnQsZmFKdWxpYTpvYnQsZmFOZmNEaXJlY3Rpb25hbDpuYnQsZmFDcmVhdGl2ZUNvbW1vbnNCeTpsYnQsZmFVbWJyYWNvOmNidCxmYUhvb2xpOmRidCxmYVNxdWFyZUdpdDpTdWUsZmFHaXRTcXVhcmU6dWJ0LGZhT2Rub2tsYXNzbmlraTpwYnQsZmFEcnVwYWw6ZmJ0LGZhQmxvZ2dlckI6aGJ0LGZhSW52aXNpb246bWJ0LGZhRmFjZWJvb2tGOmdidCxmYUNlbnRvczpiYnQsZmFTY2FsZXdheTp2YnQsZmFDY0FtYXpvblBheTp4YnQsZmFFYmF5OnlidCxmYUNvbnRhbzp3YnQsZmFFbGxvOk1idCxmYVNpc3RyaXg6a2J0LGZhUGVyaXNjb3BlOlNidCxmYUV4cGVkaXRlZHNzbDp6YnQsZmFOYXBzdGVyOkNidCxmYURlbGljaW91czpfYnQsZmFHdWlsZGVkOlRidCxmYU9ic2lkaWFuOkxidCxmYVhib3g6JGJ0LGZhVW50YXBwZDpEYnQsZmFHb29nbGVQbHVzRzpBYnQsZmFHaXRodWJBbHQ6UGJ0LGZhR2V0UG9ja2V0OkVidCxmYUdsaWRlOklidCxmYUJpdHk6TmJ0LGZhV3BleHBsb3JlcjpSYnQsZmFNZWdhcG9ydDpPYnQsZmFMZWV0Y29kZTpGYnQsZmFNZGI6QmJ0LGZhUGFnZTQ6SGJ0LGZhVGhlUmVkWWV0aTpxYnQsZmFKaXJhOlZidCxmYUZlZGV4OmpidCxmYUV2ZXJub3RlOlVidCxmYVVzYjpXYnQsZmFBbmdyeWNyZWF0aXZlOkdidCxmYU1penVuaTpZYnQsZmFJdGNoSW86S2J0LGZhV2luZG93czpaYnQsZmFTdHVtYmxldXBvbjpYYnQsZmFHb29nbGU6bGVlLGZhRGlzY29yZDpRYnQsZmFIYWNrZXJOZXdzOkpidCxmYUVsZXZlbnR5Onp1ZSxmYTExdHk6ZXZ0LGZhVGVhbXNwZWFrOnR2dCxmYVN1cHBsZTphdnQsZmFTcXVhcmVUd2l0dGVyOkN1ZSxmYVR3aXR0ZXJTcXVhcmU6cnZ0LGZhVmltOnN2dCxmYUZvbnRBd2Vzb21lOm5lZSxmYUZvbnRBd2Vzb21lRmxhZzppdnQsZmFGb250QXdlc29tZUxvZ29GdWxsOm92dCxmYVdpcnNpbmRoYW5kd2VyazpfdWUsZmFXc2g6bnZ0LGZhWm9vbTpsdnQsZmFDb25mbHVlbmNlOmN2dCxmYURpZ2c6ZHZ0LGZhVGhyZWFkczp1dnQsZmFXcHJlc3NyOlR1ZSxmYVJlbmRhY3Q6cHZ0LGZhWW9hc3Q6ZnZ0LGZhTmltYmxyOmh2dCxmYVBpeGVsZmVkOm12dCxmYVlhaG9vOmd2dCxmYUJsdWVza3k6YnZ0LGZhU2NyaWJkOnZ2dCxmYUNyZWF0aXZlQ29tbW9uc1BkOnh2dCxmYUVhcmx5YmlyZHM6eXZ0LGZhU3ltZm9ueWNhc3RzOnd2dCxmYVNxdWFyZU9kbm9rbGFzc25pa2k6THVlLGZhT2Rub2tsYXNzbmlraVNxdWFyZTpNdnQsZmFNYXJrZG93bjprdnQsZmFUeXBvMzpTdnQsZmFKb29tbGE6enZ0LGZhV2VpeGluOkN2dCxmYUdydW50Ol92dCxmYVN1cHBvcnRub3c6VHZ0LGZhUm9ja3JtczpMdnQsZmFVbnNwbGFzaDokdnQsZmFTcXVhcmVJbnN0YWdyYW06JHVlLGZhSW5zdGFncmFtU3F1YXJlOkR2dCxmYUZpcnN0T3JkZXJBbHQ6QXZ0LGZhRnVsY3J1bTpQdnQsZmFBcmNoTGludXg6RXZ0LGZhRmVkaXZlcnNlOkl2dCxmYUJyYXZlUmV2ZXJzZTpOdnQsZmFBdmlhbmV4OlJ2dCxmYU5zODpPdnQsZmFTcXVhcmVQaW50ZXJlc3Q6RHVlLGZhUGludGVyZXN0U3F1YXJlOkZ2dCxmYUJsdWV0b290aEI6QnZ0LGZhR3JpcGZpcmU6SHZ0LGZhU3F1YXJlR29vZ2xlUGx1czpBdWUsZmFHb29nbGVQbHVzU3F1YXJlOnF2dCxmYUdpdGVlOlZ2dCxmYVhtcHA6anZ0LGZhQXBwU3RvcmU6VXZ0LGZhV2l4Old2dCxmYUludGVyY29tOkd2dCxmYVJlYWN0ZXVyb3BlOll2dCxmYVdhemU6S3Z0LGZhQ3JlYXRpdmVDb21tb25zUmVtaXg6WnZ0LGZhQmFuZGNhbXA6WHZ0LGZhU3F1YXJlV2ViQXdlc29tZVN0cm9rZTpRdnQsZmFWaW1lb1Y6SnZ0LGZhU3RyYXZhOmV4dCxmYVVuaXJlZ2lzdHJ5OnR4dCxmYUNjRGluZXJzQ2x1YjpheHQsZmFLdWJlcm5ldGVzOnJ4dCxmYVBpbnRlcmVzdDpzeHQsZmFBbGdvbGlhOml4dCxmYVN0YWNrcGF0aDpveHQsZmFPY3RvcHVzRGVwbG95Om54dCxmYVlhbW1lcjpseHQsZmFNb2R4OmN4dCxmYVNxdWFyZVRocmVhZHM6ZHh0LGZhT2xkUmVwdWJsaWM6dXh0LGZhU3VzZTpweHQsZmFBcHBTdG9yZUlvczpmeHQsZmFVbHRyYWx5dGljc1lvbG86aHh0LGZhU3F1YXJlRHJpYmJibGU6UHVlLGZhRHJpYmJibGVTcXVhcmU6bXh0LGZhVWlraXQ6Z3h0LGZhU3VwZXJwb3dlcnM6Ynh0LGZhWW91dHViZTp2eHQsZmFFbWJlcjp4eHQsZmFCb290c3RyYXA6eXh0LGZhSXR1bmVzOnd4dCxmYVNxdWFyZVhpbmc6RXVlLGZhWGluZ1NxdWFyZTpNeHQsZmFDc3MzQWx0Omt4dCxmYVNxdWFyZXNwYWNlOlN4dCxmYVRyZWxsbzp6eHQsZmFWaWFkZW86Q3h0LGZhU2VhcmNoZW5naW46X3h0LGZhVW5yZWFsRW5naW5lOlR4dCxmYVBheXBhbDpMeHQsZmFTcXVhcmVCbHVlc2t5OiR4dCxmYURBbmREQmV5b25kOkR4dCxmYU1pY3Jvc29mdDpBeHQsZmFGbHk6UHh0LGZhQ2NTdHJpcGU6RXh0LGZhV29yZHByZXNzU2ltcGxlOkl4dCxmYVNlbGxzeTpOeHQsZmFEYXNoY3ViZTpSeHQsZmFHaXR0ZXI6T3h0LGZhV29sZlBhY2tCYXR0YWxpb246Rnh0LGZhTGFzdGZtOkJ4dCxmYVNob3B3YXJlOkh4dCxmYUJsb2dnZXI6cXh0LGZhRWRnZTpWeHQsZmFJb3hob3N0Omp4dCxmYVNjaGxpeDpVeHQsZmFEQW5kRDpXeHQsZmFWdWVqczpHeHQsZmFNZXRhOll4dCxmYUNyZWF0aXZlQ29tbW9uc1NoYXJlOkt4dCxmYVN0dWRpb3ZpbmFyaTpaeHQsZmFCaXRidWNrZXQ6WHh0LGZhVms6UXh0LGZhR2l0aHViOkp4dCxmYUNvZGllcGllOmV5dCxmYVBpZWRQaXBlcjp0eXQsZmFSYXNwYmVycnlQaTpheXQsZmFDc3MzOnJ5dCxmYUh1YnNwb3Q6c3l0LGZhQ21wbGlkOml5dCxmYUR5YWxvZzpveXQsZmFFbGVtZW50b3I6bnl0LGZhRmlyc3RPcmRlcjpseXQsZmFEcmliYmJsZTpjeXQsZmFMaW5rZWRpbjpjZWUsZmFDY1BheXBhbDpkeXQsZmFEaGw6dXl0LGZhVGV4OnB5dCxmYUNsYXVkZTpmeXQsZmFTaG9waWZ5Omh5dCxmYVNxdWFyZVJlZGRpdDpJdWUsZmFSZWRkaXRTcXVhcmU6bXl0LGZhQ3JlYXRpdmVDb21tb25zTmM6Z3l0LGZhR2FsYWN0aWNSZXB1YmxpYzpieXQsZmFGYWNlYm9vazpkZWUsZmFHaXRsYWI6dnl0LGZhUXE6eHl0LGZhU3RyaXBlOnl5dCxmYURhaWx5bW90aW9uOnd5dCxmYVN0ZWFtOk15dCxmYVZlbm1vVjpreXQsZmFTbmFwY2hhdDpOdWUsZmFTbmFwY2hhdEdob3N0OlN5dCxmYUdhbGFjdGljU2VuYXRlOnp5dCxmYVBob2VuaXhGcmFtZXdvcms6Q3l0LGZhR2l0Ol95dCxmYU9wdGluTW9uc3RlcjpUeXQsZmFKZW5raW5zOkx5dCxmYVNsaWRlc2hhcmU6JHl0LGZhVWJlcjpEeXQsZmFEaWdpdGFsT2NlYW46QXl0LGZhU291bmRjbG91ZDpQeXQsZmFTcXVhcmVGaWdtYTpFeXQsZmFDcmVhdGl2ZUNvbW1vbnNTYTpJeXQsZmFDaHJvbWU6Tnl0LGZhVHJhZGVGZWRlcmF0aW9uOlJ5dCxmYVZhYWRpbjpPeXQsZmFEZXZpYW50YXJ0OkZ5dCxmYU1lZGl1bTpMYixmYU1lZGl1bU06Qnl0LGZhT3BlbmNhcnQ6SHl0LGZhWUNvbWJpbmF0b3I6cXl0LGZhTGluZTpWeXQsZmFBbWlsaWE6anl0LGZhQXN5bW1ldHJpazpVeXQsZmFQaGFicmljYXRvcjpXeXQsZmFCb3RzOkd5dCxmYVZpbmU6WXl0LGZhTWVkcnQ6S3l0LGZhT3NpOlp5dCxmYUdnOlh5dCxmYUJ1eXNlbGxhZHM6UXl0LGZhR29vZ2xlUGx1czpKeXQsZmFTY3JlZW5wYWw6ZXd0LGZhQml0Y29pbjp0d3QsZmFTd2lmdDphd3QsZmFGaWxlc1BpbndoZWVsOnJ3dCxmYUxhcmF2ZWw6c3d0LGZhV3Bmb3Jtczppd3QsZmFTcGVha2VyRGVjazpvd3QsZmFGbGlja3I6bnd0LGZhQ2NWaXNhOmx3dCxmYVVwd29yazpjd3QsZmFLYWthb1RhbGs6ZHd0LGZhRmx1dHRlcjp1d3QsZmFCdWZmZXI6cHd0LGZhR3JhdGlwYXk6Znd0LGZhR29vZ2xlUGF5Omh3dCxmYUFwcGxlOm13dCxmYVR1bWJscjpnd3QsZmFQaG9lbml4U3F1YWRyb246Ynd0LGZhQ2VudGVyY29kZTp2d3QsZmFEZWJpYW46eHd0LGZhTWFzdG9kb246eXd0LGZhU2tldGNoOnd3dCxmYVdlYkF3ZXNvbWU6TXd0LGZhU2Fzczprd3QsZmFUaHJlZW1hOlN3dCxmYVNxdWFyZVdoYXRzYXBwOlJ1ZSxmYVdoYXRzYXBwU3F1YXJlOnp3dCxmYVNreXBlOkN3dCxmYUFuZ3VsYXI6X3d0LGZhQ2lyY2xlWnVsaXA6VHd0LGZhT3BlbnN1c2U6THd0LGZhRHJvcGJveDokd3QsZmFEZWV6ZXI6RHd0LGZhQ3JlYXRpdmVDb21tb25zU2FtcGxpbmc6QXd0LGZhSmVkaU9yZGVyOlB3dCxmYVJQcm9qZWN0OkV3dCxmYUluc3RhbG9kOkl3dCxmYUNhbmFkaWFuTWFwbGVMZWFmOk53dCxmYUV0aGVyZXVtOlJ3dCxmYUhvdXp6Ok93dCxmYVZpYmVyOkZ3dCxmYUtpY2tzdGFydGVyOk91ZSxmYVNxdWFyZUtpY2tzdGFydGVyOkJ3dCxmYVNwb3RpZnk6SHd0LGZhTGVhbnB1Yjpxd3QsZmFKYXZhOlZ3dCxmYU5mY1N5bWJvbDpqd3QsZmFXb2R1OlV3dCxmYVNxdWFyZVN0ZWFtOkZ1ZSxmYVN0ZWFtU3F1YXJlOld3dCxmYUNyZWF0aXZlQ29tbW9uc05jRXU6R3d0LGZhTnBtOll3dCxmYUNsb3Vkc2NhbGU6S3d0LGZhVGhlbWVjbzpad3QsZmFHb29nbGVQbGF5Olh3dCxmYUtvcnZ1ZTpRd3QsZmFXM2M6Snd0LGZhR3JhdjplTXQsZmFBd3M6dE10LGZhR2xpZGVHOmFNdCxmYUpzZmlkZGxlOnJNdCxmYUtleWJhc2U6c010LGZhTHVtb25Ecm9wOmlNdCxmYUZvcmdlam86b010LGZhUG9zdGdyZXNxbDpuTXQsZmFXZWVibHk6bE10LGZhRG9ja2VyOmNNdCxmYU1hZ2VudG86ZE10LGZhVG9yQnJvd3Nlcjp1TXQsZmFHaXRBbHQ6cE10LGZhRmlyZWZveEJyb3dzZXI6Zk10LGZhQ2xvdWRzbWl0aDpoTXQsZmFXaXphcmRzT2ZUaGVDb2FzdDptTXQsZmFDcmVhdGl2ZUNvbW1vbnNOZDpnTXQsZmFVc3BzOmJNdCxmYVNxdWFyZUxldHRlcmJveGQ6dk10LGZhTWFuZGFsb3JpYW46eE10LGZhU2xhY2s6QnVlLGZhU2xhY2tIYXNoOnVlZSxmYUFuZ2VsbGlzdDp5TXQsZmFBbmRyb2lkOndNdCxmYU1lZXR1cDpNTXQsZmFGb250aWNvbnNGaTprTXQsZmFQYWxmZWQ6U010LGZhV3BiZWdpbm5lcjp6TXQsZmFEaWFzcG9yYTpDTXQsZmFQcm9kdWN0SHVudDpfTXQsZmFTcXVhcmVVcHdvcms6VE10LGZhQ3V0dGxlZmlzaDpMTXQsZmFNZWRhcHBzOiRNdCxmYVBpeDpETXQsZmFTcXVhcmVUdW1ibHI6SHVlLGZhVHVtYmxyU3F1YXJlOkFNdCxmYVJlYWN0OlBNdCxmYUh1Z2dpbmdGYWNlOkVNdCxmYUp4bDpJTXQsZmFTcXVhcmVMaW5rZWRpbjpOTXQsZmFDc3M6Uk10LGZhSGFzaG5vZGU6T010LGZhUmVkZGl0QWxpZW46Rk10LGZhVGlrdG9rOnBlZSxmYVdvcmRwcmVzczpCTXQsZmFJZGVhbDpITXQsZmFQaWVkUGlwZXJQcDpxTXQsZmFVc3N1bm5haDpWTXQsZmFGb3J0QXdlc29tZUFsdDpqTXQsZmFCdXJvbW9iZWxleHBlcnRlOlVNdCxmYUJpbGliaWxpOldNdCxmYU5lb3M6R010LGZhRGV2OllNdCxmYUhvdGphcjpLTXQsZmFEb2NodWI6Wk10LGZhVmltZW86WE10LGZhTWF4Y2RuOlFNdCxmYVNxdWFyZUZvbnRBd2Vzb21lU3Ryb2tlOnF1ZSxmYUZvbnRBd2Vzb21lQWx0OkpNdCxmYVNwZWFrYXA6ZWt0LGZhRmFudGFzeUZsaWdodEdhbWVzOnRrdCxmYUxpbnV4OmFrdCxmYUNvdHRvbkJ1cmVhdTpya3QsZmFHb29nbGVXYWxsZXQ6c2t0LGZhRm91cnNxdWFyZTppa3QsZmFTaGlydHNpbmJ1bGs6b2t0LGZhTWludGJpdDpua3QsZmFadWxpcDpsa3QsZmFTdGF5bGlua2VkOmNrdCxmYVdlYmZsb3c6ZGt0LGZhUmVucmVuOnVrdCxmYUtvRmk6cGt0LGZhUmV2OmZrdCxmYUtleWNkbjpoa3QsZmFIaXJlQUhlbHBlcjpta3QsZmFTcXVhcmVIYWNrZXJOZXdzOlZ1ZSxmYUhhY2tlck5ld3NTcXVhcmU6Z2t0LGZhQ3JlYXRpdmVDb21tb25zUGRBbHQ6Ymt0LGZhT3JjaWQ6dmt0LGZhQm9hcmRHYW1lR2VlazpqdWUsZmFCZ2c6eGt0LGZhQmVoYW5jZTp5a3QsZmFNb25lcm86d2t0LGZhRmlnbWE6TWt0LGZhSW5zdGFncmFtOmZlZSxmYVBlcmJ5dGU6a2t0LGZhU3F1YXJlVmltZW86VXVlLGZhVmltZW9TcXVhcmU6U2t0LGZhUHVzaGVkOnprdCxmYU1peGNsb3VkOkNrdCxmYVlhbmRleEludGVybmF0aW9uYWw6X2t0LGZhSGl2ZTpUa3QsZmFDcmVhdGl2ZUNvbW1vbnNaZXJvOkxrdCxmYVNxdWFyZVNuYXBjaGF0Old1ZSxmYVNuYXBjaGF0U3F1YXJlOiRrdCxmYVRoZW1laXNsZTpEa3QsZmFEYXJ0TGFuZzpBa3QsZmFEZXBsb3lkb2c6UGt0LGZhRmxpcGJvYXJkOkVrdCxmYUJ1eU5MYXJnZTpJa3QsZmFXYXRjaG1hbk1vbml0b3Jpbmc6Tmt0LGZhSGlwczpSa3QsZmFDbG91ZHZlcnNpZnk6T2t0LGZhR29vZHJlYWRzOkZrdCxmYVRpZGFsOkJrdCxmYVVuaXR5OkhrdCxmYVRlbmNlbnRXZWlibzpxa3QsZmFGcmVlQ29kZUNhbXA6Vmt0LGZhWFR3aXR0ZXI6amt0LGZhU3RpY2tlck11bGU6VWt0LGZhVHdpdGNoOldrdCxmYUtpY2tzdGFydGVySzpHa3QsZmFDcml0aWNhbFJvbGU6WWt0LGZhU3RlYW1TeW1ib2w6S2t0LGZhTWFpbGNoaW1wOlprdCxmYUx1bW9uOlhrdCxmYU51dHJpdGlvbml4OlFrdCxmYUNyZWF0aXZlQ29tbW9uc1NhbXBsaW5nUGx1czpKa3QsZmFSZWRoYXQ6ZVN0LGZhU3F1YXJlUGllZFBpcGVyOkd1ZSxmYVBpZWRQaXBlclNxdWFyZTp0U3QsZmFXaGF0c2FwcDphU3QsZmFJbWRiOnJTdCxmYVB5dGhvbjpzU3QsZmFDYXNoQXBwOmlTdCxmYVBpbnRlcmVzdFA6b1N0LGZhV2htY3M6blN0LGZhSm9nZXQ6bFN0LGZhU3F1YXJlWW91dHViZTpZdWUsZmFZb3V0dWJlU3F1YXJlOmNTdCxmYUF0bGFzc2lhbjpkU3QsZmFQaWVkUGlwZXJIYXQ6dVN0LGZhSW50ZXJuZXRFeHBsb3JlcjpwU3QsZmFBaXJibmI6ZlN0LGZhSnM6aFN0LGZhUXVpbnNjYXBlOm1TdCxmYUFkdmVyc2FsOmdTdCxmYUNyZWF0aXZlQ29tbW9uczpiU3QsZmFOb3Rpb246dlN0LGZhQ2hyb21lY2FzdDp4U3QsZmFVbHRyYWx5dGljc0h1Yjp5U3QsZmFXaWtpcGVkaWFXOndTdCxmYVNpdHJveDpNU3QsZmFTcXVhcmVHaXRsYWI6S3VlLGZhR2l0bGFiU3F1YXJlOmtTdCxmYVNob2VsYWNlOlNTdCxmYU9wZW5zdHJlZXRtYXA6elN0LGZhU2VsbGNhc3Q6Q1N0LGZhTWl4Ol9TdCxmYUNjQXBwbGVQYXk6VFN0LGZhU29sYW5hOkxTdCxmYVR5cGVzY3JpcHQ6JFN0LGZhQnJhdmU6RFN0LGZhRXRzeTpBU3QsZmFCdGM6UFN0LGZhQWRuOkVTdCxmYVNxdWFyZVhUd2l0dGVyOklTdCxmYVNxdWFyZUZvbnRBd2Vzb21lOk5TdCxmYUZvcnVtYmVlOlJTdCxmYTQyR3JvdXA6WnVlLGZhSW5ub3NvZnQ6T1N0LGZhU3R1bWJsZXVwb25DaXJjbGU6RlN0LGZhU3ltZm9ueTpCU3QsZmFTYWxlc2ZvcmNlOkhTdCxmYVNvdXJjZXRyZWU6cVN0LGZhTGlua2VkaW5JbjpWU3QsZmFIdG1sNTpqU3QsZmFSdXN0OlVTdCxmYUhvcm5iaWxsOldTdCxmYVBocDpHU3QsZmFEaXNxdXM6WVN0LGZhNTAwcHg6S1N0LGZhQWZmaWxpYXRldGhlbWU6WlN0LGZhUmVkUml2ZXI6WFN0LGZhVHdpdHRlcjpoZWUsZmFGb3J0QXdlc29tZTpRU3QsZmFNaXhlcjpKU3QsZmFMeWZ0OmV6dCxmYUFwcGxlUGF5OnR6dCxmYUFydHN0YXRpb246YXp0LGZhTm9kZUpzOnJ6dCxmYVVuY2hhcnRlZDpzenQsZmFQbGF5c3RhdGlvbjppenQsZmFNaWNyb2Jsb2c6b3p0LGZhR2l0a3Jha2VuOm56dCxmYVRlbGVncmFtOlh1ZSxmYVRlbGVncmFtUGxhbmU6bHp0LGZhVWx0cmFseXRpY3M6Y3p0LGZhSXR1bmVzTm90ZTpkenQsZmFMZXNzOnV6dCxmYUZpcmVmb3g6cHp0LGZhS2FnZ2xlOmZ6dCxmYUZhY2Vib29rTWVzc2VuZ2VyOmh6dCxmYUF1ZGlibGU6bXp0LGZhUGF0cmVvbjpnenQsZmFWbnY6Ynp0LGZhUGFnZWxpbmVzOnZ6dCxmYUFtYXpvbjp4enQsZmFFbnZpcmE6eXp0LGZhTGlub2RlOnd6dCxmYUFjY3Vzb2Z0Ok16dCxmYUVybGFuZzprenQsZmFVbmlzb246U3p0LGZhQ2NEaXNjb3Zlcjp6enQsZmFTYWZhcmk6Q3p0LGZhU3BhY2VBd2Vzb21lOl96dCxmYU5vZGU6VHp0LGZhQ29kZXBlbjpMenQsZmFSYXZlbHJ5OiR6dCxmYUFsaXBheTpEenQsZmFDY0FtZXg6QXp0LGZhUGllZFBpcGVyQWx0OlB6dCxmYUxldHRlcmJveGQ6RXp0LGZhT3BlcmE6SXp0LGZhV2VpYm86Tnp0LGZhUmVhZG1lOlJ6dCxmYUdvbGFuZzpPenQsZmFTdGFja0V4Y2hhbmdlOkZ6dCxmYUd1bHA6Qnp0LGZhWWVscDpIenQsZmFHb2ZvcmU6cXp0LGZhQXZpYXRvOlZ6dCxmYVBhZGxldDpqenQsZmFFZGdlTGVnYWN5OlV6dCxmYVNxdWFyZUxhc3RmbTpRdWUsZmFMYXN0Zm1TcXVhcmU6V3p0LGZhR29vZHJlYWRzRzpHenQsZmFDY01hc3RlcmNhcmQ6WXp0LGZhRGlzY291cnNlOkt6dCxmYUJsYWNrVGllOlp6dCxmYVNxdWFyZUZhY2Vib29rOkp1ZSxmYUZhY2Vib29rU3F1YXJlOlh6dCxmYUJhdHRsZU5ldDpRenQsZmFCaW1vYmplY3Q6Snp0LGZhU3ZlbHRlOmVDdCxmYVNxdWFyZURlc2twcm86dEN0LGZhVGFpbHdpbmRDc3M6YUN0fX0pO3ZhciB3JGEsZXBlLHNDdCxpQ3QsdHBlLG9DdCxBYixuQ3QsbEN0LGNDdCxkQ3QsYXBlLHVDdCxwQ3QsZkN0LFBiLGhDdCxycGUsbUN0LHNwZSxnQ3QsYkN0LHZDdCx4Q3QsaXBlLHlDdCxvcGUsd0N0LG5wZSxNQ3QsbHBlLGtDdCxjcGUsU0N0LGRwZSx6Q3QsdXBlLENDdCxfQ3QscHBlLFRDdCxmcGUsTEN0LGhwZSwkQ3QsbXBlLERDdCxBQ3QsZ3BlLFBDdCxicGUsRUN0LHZwZSxJQ3QseHBlLE5DdCx5cGUsUkN0LE9DdCxGQ3QsbWVlLEJDdCxIQ3QscUN0LFZDdCxqQ3QsVUN0LFdDdCxHQ3QsZ2VlLFlDdCxLQ3Qsd3BlLFpDdCxYQ3QsUUN0LEpDdCxlX3QsdF90LGFfdCxyX3QsTXBlLHNfdCxpX3Qsb190LFU4LG5fdCxsX3Qsa3BlLGNfdCxkX3QsU3BlLHVfdCxrZWUscF90LGZfdCxiZWUsaF90LG1fdCx6cGUsZ190LGJfdCx2X3QsQ3BlLHhfdCxfcGUseV90LHZlZSx3X3QsTV90LFRwZSxrX3QsTHBlLFNfdCx6X3QsQ190LCRwZSxfX3QsRHBlLFRfdCxBcGUsTF90LFBwZSwkX3QsRF90LEFfdCxQX3QsRXBlLEVfdCxJX3QsSXBlLE5fdCxSX3QsTnBlLE9fdCxGX3QsUnBlLEJfdCxIX3QscV90LCRiLFZfdCxqX3QsVV90LEViLFdfdCxHX3QsWV90LE9wZSxLX3QsWl90LEZwZSxYX3QsQnBlLFFfdCxEYixKX3QsZVR0LHRUdCxIcGUsYVR0LHhlZSxyVHQsc1R0LGlUdCxvVHQscXBlLG5UdCx5ZWUsbFR0LGNUdCxWcGUsZFR0LGpwZSx1VHQscFR0LFVwZSxmVHQsV3BlLGhUdCx3ZWUsbVR0LGdUdCxiVHQsSWIsdlR0LHhUdCx5VHQsd1R0LEdwZSxNVHQsWXBlLGtUdCxLcGUsU1R0LFpwZSx6VHQsWHBlLENUdCxRcGUsX1R0LE1lZSxUVHQsTFR0LCRUdCxEVHQsSnBlLEFUdCxlZmUsUFR0LHRmZSxFVHQsYWZlLElUdCxOVHQsUlR0LE9UdCxGVHQsQlR0LEhUdCxyZmUscVR0LHNmZSxWVHQsalR0LGlmZSxVVHQsb2ZlLFdUdCxuZmUsR1R0LFNlZSxZVHQsbGZlLEtUdCxaVHQsY2ZlLFhUdCxkZmUsUVR0LEpUdCxlTHQsdWZlLHRMdCxhTHQscGZlLHJMdCxzTHQsaUx0LG9MdCxmZmUsbkx0LGhmZSxsTHQsbWZlLGNMdCxkTHQsdUx0LGdmZSxwTHQsYmZlLGZMdCx2ZmUsaEx0LG1MdCx4ZmUsZ0x0LHlmZSxiTHQsdkx0LHdmZSx4THQseUx0LHdMdCxNJGEsTUx0PWYoKCk9Pnt3JGE9ImZhciIsZXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1taW51cyIsaWNvbjpbNDQ4LDUxMixbNjE3NjcsIm1pbnVzLXNxdWFyZSJdLCJmMTQ2IiwiTTY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMGMwLTguOC03LjItMTYtMTYtMTZMNjQgODB6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0xMzYgMjMybDE3NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sc0N0PWVwZSxpQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2FsZW5kYXItY2hlY2siLGljb246WzQ0OCw1MTIsW10sImYyNzQiLCJNMzI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0MCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCAxNjAgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0ek02NCAxMTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjg4YzAtOC44LTcuMi0xNi0xNi0xNkw2NCAxMTJ6bTIzMC43IDY1LjljNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zIDEwLjcgNy44IDEzLjEgMjIuOCA1LjMgMzMuNUwyMTEuNCAzNzQuMWMtNC4xIDUuNy0xMC41IDkuMy0xNy41IDkuOC03IC41LTEzLjktMi0xOC44LTYuOWwtNTUuOS01NS45Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzYgMzYgMTA1LjYtMTQ1LjJ6Il19LHRwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWtpc3MiLGljb246WzUxMiw1MTIsWzEyODUzNSwia2lzcyJdLCJmNTk2IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjQwIDBsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDEyLjMtNC42IDIzLjUtMTIuMiAzMiA3LjYgOC41IDEyLjIgMTkuNyAxMi4yIDMyIDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptLTk2LTQ4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LG9DdD10cGUsQWI9e3ByZWZpeDoiZmFyIixpY29uTmFtZToicGFzdGUiLGljb246WzUxMiw1MTIsWyJmaWxlLWNsaXBib2FyZCJdLCJmMGVhIiwiTTY0IDQ4bDIyNCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDAgMC00OGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxMTIgMCAwLTQ4LTExMiAwYy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2em0xNzYgNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRMMTA0IDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwNS42IDBjOC44LTguNiAxOS0xNS44IDMwLjItMjEuMSAuMS0uOSAuMi0xLjkgLjItMi45ek00NDggNDY0bC0xNjAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmwxMDEuNSAwYzQuMiAwIDguMyAxLjcgMTEuMyA0LjdsNTguNSA1OC41YzMgMyA0LjcgNy4xIDQuNyAxMS4zTDQ2NCA0NDhjMCA4LjgtNy4yIDE2LTE2IDE2ek0yMjQgMjI0bDAgMjI0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE2MCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTY1LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNsLTU4LjUtNTguNWMtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN0wyODggMTYwYy0zNS4zIDAtNjQgMjguNy02NCA2NHoiXX0sbkN0PUFiLGxDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBvaW50LWxlZnQiLGljb246WzUxMiw1MTIsW10sImYwYTUiLCJNNjQgMTI4bDE3Ny42IDBjLTEgNS4yLTEuNiAxMC41LTEuNiAxNmwwIDE2LTE3NiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0yMjQgMTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjQgMGM2Ni4zIDAgMTIwIDUzLjcgMTIwIDEyMGwwIDQ4YzAgNTIuNS0zMy43IDk3LjEtODAuNyAxMTMuNCAuNS0zLjEgLjctNi4yIC43LTkuNCAwLTIwLTkuMi0zNy45LTIzLjYtNDkuNyA0LjktOSA3LjYtMTkuNCA3LjYtMzAuMyAwLTE1LjEtNS4zLTI5LTE0LTQwIDguOC0xMSAxNC0yNC45IDE0LTQwbDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwem0zMi04MGwwIDBjLTE4IDAtMzQuNiA2LTQ4IDE2TDY0IDgwQzI4LjcgODAgMCAxMDguNyAwIDE0NHMyOC43IDY0IDY0IDY0bDgyIDBjLTEuMyA1LjEtMiAxMC41LTIgMTYgMCAyNS4zIDE0LjcgNDcuMiAzNiA1Ny42LTIuNiA3LTQgMTQuNS00IDIyLjQgMCAyMCA5LjIgMzcuOSAyMy42IDQ5LjctNC45IDktNy42IDE5LjQtNy42IDMwLjMgMCAzNS4zIDI4LjcgNjQgNjQgNjRsODggMGM5Mi44IDAgMTY4LTc1LjIgMTY4LTE2OGwwLTQ4YzAtOTIuOC03NS4yLTE2OC0xNjgtMTY4bC0yNCAwek0yNTYgNDAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTY0IDB6TTI0MCAyMjRjMCA1LjUgLjcgMTAuOSAyIDE2bC0zNCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDMyIDAgMCAxNnptMjQgNjRsNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwyNCAweiJdfSxjQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS1leGNlbCIsaWNvbjpbMzg0LDUxMixbXSwiZjFjMyIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwem05OS4yIDI2NS42Yy04LTEwLjYtMjMtMTIuOC0zMy42LTQuOHMtMTIuOCAyMy00LjggMzMuNkwxNjIgMzQ0IDEyNC44IDM5My42Yy04IDEwLjYtNS44IDI1LjYgNC44IDMzLjZzMjUuNiA1LjggMzMuNi00LjhMMTkyIDM4NCAyMjAuOCA0MjIuNGM4IDEwLjYgMjMgMTIuOCAzMy42IDQuOHMxMi44LTIzIDQuOC0zMy42TDIyMiAzNDQgMjU5LjIgMjk0LjRjOC0xMC42IDUuOC0yNS42LTQuOC0zMy42cy0yNS42LTUuOC0zMy42IDQuOEwxOTIgMzA0IDE2My4yIDI2NS42eiJdfSxkQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZW52ZWxvcGUiLGljb246WzUxMiw1MTIsWzEyODM4Niw5OTkzLDYxNDQzXSwiZjBlMCIsIk02MS40IDY0QzI3LjUgNjQgMCA5MS41IDAgMTI1LjQgMCAxMjYuMyAwIDEyNy4xIC4xIDEyOEwwIDEyOCAwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1Ni0uMSAwYzAtLjkgLjEtMS43IC4xLTIuNiAwLTMzLjktMjcuNS02MS40LTYxLjQtNjEuNEw2MS40IDY0ek00NjQgMTkyLjNMNDY0IDM4NGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xOTEuNyAxNTQuOCAxMTcuNGMzMS40IDIzLjkgNzQuOSAyMy45IDEwNi40IDBMNDY0IDE5Mi4zek00OCAxMjUuNEM0OCAxMTggNTQgMTEyIDYxLjQgMTEybDM4OS4yIDBjNy40IDAgMTMuNCA2IDEzLjQgMTMuNCAwIDQuMi0yIDguMi01LjMgMTAuN0wyODAuMiAyNzEuNWMtMTQuMyAxMC44LTM0LjEgMTAuOC00OC40IDBMNTMuMyAxMzYuMWMtMy4zLTIuNS01LjMtNi41LTUuMy0xMC43eiJdfSxhcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlLWNhcmV0LWRvd24iLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtZG93biJdLCJmMTUwIiwiTTM4NCA0MzJjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIwYzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMHptNjQtMTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwek0yMjQgMzUyYy02LjcgMC0xMy0yLjgtMTcuNi03LjdsLTEwNC0xMTJjLTYuNS03LTguMi0xNy4yLTQuNC0yNS45UzExMC41IDE5MiAxMjAgMTkybDIwOCAwYzkuNSAwIDE4LjIgNS43IDIyIDE0LjRzMi4xIDE4LjktNC40IDI1LjlsLTEwNCAxMTJjLTQuNSA0LjktMTAuOSA3LjctMTcuNiA3Ljd6Il19LHVDdD1hcGUscEN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InRydWNrIixpY29uOls1NzYsNTEyLFsxMjg2NjYsOTk1MV0sImYwZDEiLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMy4zIDBjMTAuNC0zNi45IDQ0LjQtNjQgODQuNy02NHM3NC4yIDI3LjEgODQuNyA2NGwxMDIuNiAwYzQuOS0xNy40IDE1LjEtMzIuNyAyOC43LTQzLjlMMzY4IDk2YzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MHptMy4zIDM2OEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMiA1NS40IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdsNDAuNiA0MC42YzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMNTc2IDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMy4zIDBjLTEwLjQgMzYuOS00NC40IDY0LTg0LjcgNjRzLTc0LjItMjcuMS04NC43LTY0bC0xMDIuNiAwYy0xMC40IDM2LjktNDQuNCA2NC04NC43IDY0cy03NC4yLTI3LjEtODQuNy02NHpNNDE2IDI1NmwxMTIgMCAwLTIzLjRjMC00LjItMS43LTguMy00LjctMTEuM2wtNDAuNi00MC42Yy0zLTMtNy4xLTQuNy0xMS4zLTQuN2wtNTUuNCAwIDAgODB6bTAgNDhsMCAzMi40YzIuNi0uMiA1LjMtLjQgOC0uNCA0MC4zIDAgNzQuMiAyNy4xIDg0LjcgNjRsMy4zIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtODAtMTEyIDB6TTE1MiA0NjRhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwem0yNzIgMGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6Il19LGZDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJiZWxsIixpY29uOls0NDgsNTEyLFsxMjgyNzYsNjE2MDJdLCJmMGYzIiwiTTIyNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDkuN0MxMTguNiA0NS4zIDU2IDExNS40IDU2IDIwMGwwIDE0LjVjMCAzNy43LTEwIDc0LjctMjkgMTA3LjNMNS4xIDM1OS4yQzEuOCAzNjUgMCAzNzEuNSAwIDM3OC4yIDAgMzk5LjEgMTYuOSA0MTYgMzcuOCA0MTZsMzcyLjQgMGMyMC45IDAgMzcuOC0xNi45IDM3LjgtMzcuOCAwLTYuNy0xLjgtMTMuMy01LjEtMTlMNDIxIDMyMS43Yy0xOS0zMi42LTI5LTY5LjYtMjktMTA3LjNsMC0xNC41YzAtODQuNi02Mi42LTE1NC43LTE0NC0xNjYuM2wwLTkuN2MwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMzkyLjQgMzY4bC0zMzYuOSAwIDEyLjktMjIuMUM5MS43IDMwNiAxMDQgMjYwLjYgMTA0IDIxNC41bDAtMTQuNWMwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMHMxMjAgNTMuNyAxMjAgMTIwbDAgMTQuNWMwIDQ2LjIgMTIuMyA5MS41IDM1LjUgMTMxLjRMMzkyLjQgMzY4ek0xNTYuMSA0NjRjOS45IDI4IDM2LjYgNDggNjcuOSA0OHM1OC0yMCA2Ny45LTQ4bC0xMzUuOCAweiJdfSxQYj17cHJlZml4OiJmYXIiLGljb25OYW1lOiJtZXNzYWdlIixpY29uOls1MTIsNTEyLFsiY29tbWVudC1hbHQiXSwiZjI3YSIsIk0yMDMuNyA1MTIuOXMwIDAgMCAwbC0zNy44IDI2LjdjLTcuMyA1LjItMTYuOSA1LjgtMjQuOSAxLjdTMTI4IDUyOSAxMjggNTIwbDAtNzItMzIgMGMtNTMgMC05Ni00My05Ni05NkwwIDEyOEMwIDc1IDQzIDMyIDk2IDMybDMyMCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyMjRjMCA1My00MyA5Ni05NiA5NmwtMTIwLjQgMC05MS45IDY0Ljl6bTY0LjMtMTA0LjFjOC4xLTUuNyAxNy44LTguOCAyNy43LTguOEw0MTYgNDAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjI0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDk2IDgwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDIyNGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw1NiAwYzEwLjQgMCAxOS4zIDYuNiAyMi42IDE1LjkgLjkgMi41IDEuNCA1LjIgMS40IDguMWwwIDQ5LjdjMzIuNy0yMy4xIDYzLjMtNDQuNyA5MS45LTY0Ljl6Il19LGhDdD1QYixycGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1kaXp6eSIsaWNvbjpbNTEyLDUxMixbImRpenp5Il0sImY1NjciLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0xMzQuMSAxNTMuOWwyNS45IDI1LjkgMjUuOS0yNS45YzcuOC03LjggMjAuNS03LjggMjguMyAwczcuOCAyMC41IDAgMjguM2wtMjUuOSAyNS45IDI1LjkgMjUuOWM3LjggNy44IDcuOCAyMC41IDAgMjguM3MtMjAuNSA3LjgtMjguMyAwbC0yNS45LTI1LjktMjUuOSAyNS45Yy03LjggNy44LTIwLjUgNy44LTI4LjMgMHMtNy44LTIwLjUgMC0yOC4zbDI1LjktMjUuOS0yNS45LTI1LjljLTcuOC03LjgtNy44LTIwLjUgMC0yOC4zczIwLjUtNy44IDI4LjMgMHptMTkyIDBsMjUuOSAyNS45IDI1LjktMjUuOWM3LjgtNy44IDIwLjUtNy44IDI4LjMgMHM3LjggMjAuNSAwIDI4LjNsLTI1LjkgMjUuOSAyNS45IDI1LjljNy44IDcuOCA3LjggMjAuNSAwIDI4LjNzLTIwLjUgNy44LTI4LjMgMGwtMjUuOS0yNS45LTI1LjkgMjUuOWMtNy44IDcuOC0yMC41IDcuOC0yOC4zIDBzLTcuOC0yMC41IDAtMjguM2wyNS45LTI1LjktMjUuOS0yNS45Yy03LjgtNy44LTcuOC0yMC41IDAtMjguM3MyMC41LTcuOCAyOC4zIDB6TTI1NiAyODhhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LG1DdD1ycGUsc3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbGVuZGFyLWRheXMiLGljb246WzQ0OCw1MTIsWyJjYWxlbmRhci1hbHQiXSwiZjA3MyIsIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDE2MCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTM4NCA0MzJjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjQtODggMCAwIDgwIDcyIDB6bTE2LTEyOGwwLTgwLTg4IDAgMCA4MCA4OCAwem0tMTM2IDBsMC04MC04MCAwIDAgODAgODAgMHptLTEyOCAwbDAtODAtODggMCAwIDgwIDg4IDB6TTQ4IDM1MmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmw3MiAwIDAtODAtODggMHptMTM2IDBsMCA4MCA4MCAwIDAtODAtODAgMHpNMTIwIDExMmwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDggMzUyIDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTI2NCAweiJdfSxnQ3Q9c3BlLGJDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBvaW50LXVwIixpY29uOlszODQsNTEyLFs5NzU3XSwiZjBhNiIsIk02NCA2NGwwIDE3Ny42YzUuMi0xIDEwLjUtMS42IDE2LTEuNmwxNiAwIDAtMTc2YzAtOC44LTcuMi0xNi0xNi0xNlM2NCA1NS4yIDY0IDY0ek04MCAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjRjMCA2Ni4zIDUzLjcgMTIwIDEyMCAxMjBsNDggMGM1Mi41IDAgOTcuMS0zMy43IDExMy40LTgwLjctMy4xIC41LTYuMiAuNy05LjQgLjctMjAgMC0zNy45LTkuMi00OS43LTIzLjYtOSA0LjktMTkuNCA3LjYtMzAuMyA3LjYtMTUuMSAwLTI5LTUuMy00MC0xNC0xMSA4LjgtMjQuOSAxNC00MCAxNGwtNDAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw0MCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC04MCAwek0wIDMyMGwwIDBjMC0xOCA2LTM0LjYgMTYtNDhMMTYgNjRDMTYgMjguNyA0NC43IDAgODAgMHM2NCAyOC43IDY0IDY0bDAgODJjNS4xLTEuMyAxMC41LTIgMTYtMiAyNS4zIDAgNDcuMiAxNC43IDU3LjYgMzYgNy0yLjYgMTQuNS00IDIyLjQtNCAyMCAwIDM3LjkgOS4yIDQ5LjcgMjMuNiA5LTQuOSAxOS40LTcuNiAzMC4zLTcuNiAzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDg4YzAgOTIuOC03NS4yIDE2OC0xNjggMTY4bC00OCAwQzc1LjIgNTEyIDAgNDM2LjggMCAzNDRsMC0yNHptMzM2LTY0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0ek0xNjAgMjQwYzUuNSAwIDEwLjkgLjcgMTYgMmwwLTM0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMzIgMTYgMHptNjQgMjRsMCA0MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAyNHoiXX0sdkN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtbGl6YXJkIixpY29uOls1MTIsNTEyLFtdLCJmMjU4IiwiTTcyIDExMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNjggMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGwtMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTUyIDBjNC41IDAgOC45IDEuMyAxMi43IDMuNmw2NCA0MGM3IDQuNCAxMS4zIDEyLjEgMTEuMyAyMC40bDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMC43LTQ2LjktMjkuMy0xNDUuMSAwYy0zOS44IDAtNzItMzIuMi03Mi03MnMzMi4yLTcyIDcyLTcybDEwNCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2TDcyIDIwOGMtMzkuOCAwLTcyLTMyLjItNzItNzJTMzIuMiA2NCA3MiA2NGwyMDkuNiAwYzQ2LjcgMCA5MC45IDIxLjUgMTE5LjcgNTguM2w3OC40IDEwMC4xYzIwLjkgMjYuNyAzMi4zIDU5LjcgMzIuMyA5My43TDUxMiA0MjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMDcuOWMwLTIzLjItNy44LTQ1LjgtMjIuMS02NC4xTDM2My41IDE1MS45Yy0xOS43LTI1LjItNDkuOS0zOS45LTgxLjktMzkuOUw3MiAxMTJ6Il19LHhDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtZnVsbCIsaWNvbjpbNTEyLDUxMixbMTI4OTk3LDEyODk5OCwxMjg5OTksMTI5ZTMsMTI5MDAxLDEyOTAwMiwxMjkwMDMsMTEwMzUsMTEwMzZdLCJmNDVjIiwiTTQ0OCA0OGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzODRjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNmwzODQgMHpNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHoiXX0saXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1wYXVzZSIsaWNvbjpbNTEyLDUxMixbNjIwOTIsInBhdXNlLWNpcmNsZSJdLCJmMjhiIiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjI0IDE4NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE0NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTQ0em0xMTIgMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE0NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTQ0eiJdfSx5Q3Q9aXBlLG9wZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYXJkLWRyaXZlIixpY29uOls0NDgsNTEyLFsxMjg0MzYsImhkZCJdLCJmMGEwIiwiTTY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNjJjNS4xLTEuMyAxMC41LTIgMTYtMmwzMjAgMGM1LjUgMCAxMC45IC43IDE2IDJsMC0xNjJjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwek00OCAzMjBsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDMwNGMtOC44IDAtMTYgNy4yLTE2IDE2ek0wIDMyMEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC05NnptMjE2IDQ4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyMC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LHdDdD1vcGUsbnBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtemlwcGVyIixpY29uOlszODQsNTEyLFsiZmlsZS1hcmNoaXZlIl0sImYxYzYiLCJNNjQgNDhsMTEyIDAgMCA4OGMwIDM5LjggMzIuMiA3MiA3MiA3Mmw4OCAwIDAgMjQwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCA2Ny45bDkyLjEgOTIuMS02OC4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNjguMXpNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNjEuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNDIuNyAxOC43QzIzMC43IDYuNyAyMTQuNSAwIDE5Ny41IDBMNjQgMHpNODAgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em0wIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDMyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em02NCA1NmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OGMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4bDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJ6bS0xNiA2NGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6Il19LE1DdD1ucGUsbHBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZsb3BweS1kaXNrIixpY29uOls0NDgsNTEyLFsxMjgxOTAsMTI4NDI2LCJzYXZlIl0sImYwYzciLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjQyLjdjMC00LjItMS43LTguMy00LjctMTEuM0wzMjAgODYuNiAzMjAgMTc2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xNjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05Ni0zMiAwem04MCAwbDAgODAgMTI4IDAgMC04MC0xMjggMHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwyNDIuNyAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDQyOS4zIDEyOGMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDQ0OCA0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0xNjAgMzIwYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHoiXX0sa0N0PWxwZSxjcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLXRvbmd1ZS1zcXVpbnQiLGljb246WzUxMiw1MTIsWzEyODU0MSwiZ3Jpbi10b25ndWUtc3F1aW50Il0sImY1OGEiLCJNNDY0IDI1NmMwLTExNC45LTkzLjEtMjA4LTIwOC0yMDhTNDggMTQxLjEgNDggMjU2YzAgNzUuOSA0MC43IDE0Mi40IDEwMS41IDE3OC43LTMuNi0xMC45LTUuNS0yMi42LTUuNS0zNC43bDAtMzcuNWMtMTAuMi0xMi42LTE4LjMtMjYuOS0yMy44LTQyLjQtNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42IDExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOC01LjUgMTUuNi0xMy42IDI5LjktMjMuOCA0Mi41bDAgMzcuNWMwIDEyLjEtMS45IDIzLjgtNS41IDM0LjcgNjAuOC0zNi4zIDEwMS41LTEwMi43IDEwMS41LTE3OC43ek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0xMjUuOC03NS43Yy02LjItNS4yLTcuNi0xNC4zLTMuMS0yMS4xczEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDIwOCAxMjUuOCAxODAuM3ptMjYzLjYtMjEuMWM0LjUgNi44IDMuMSAxNS45LTMuMSAyMS4xTDM1MyAyMDggMzg2LjIgMjM1LjdjNi4yIDUuMiA3LjYgMTQuMyAzLjEgMjEuMXMtMTMuMyA5LjItMjAuNiA1LjVsLTc5LjYtNDBjLTUuNC0yLjctOC44LTguMi04LjgtMTQuM3MzLjQtMTEuNiA4LjgtMTQuM2w3OS42LTQwYzcuMy0zLjYgMTYuMS0xLjMgMjAuNiA1LjV6TTMyMCA0MTZsMC0zNy40YzAtMTQuNy0xMS45LTI2LjYtMjYuNi0yNi42bC0yIDBjLTExLjMgMC0yMS4xIDcuOS0yMy42IDE4LjktMi44IDEyLjYtMjAuOCAxMi42LTIzLjYgMC0yLjUtMTEuMS0xMi4zLTE4LjktMjMuNi0xOC45bC0yIDBjLTE0LjcgMC0yNi42IDExLjktMjYuNiAyNi42bDAgMzcuNGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0eiJdfSxTQ3Q9Y3BlLGRwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjYW1lcmEiLGljb246WzUxMiw1MTIsWzYyMjU4LCJjYW1lcmEtYWx0Il0sImYwMzAiLCJNMTkzLjEgMzJjLTE4LjcgMC0zNi4yIDkuNC00Ni42IDI0LjlMMTIwLjUgOTYgNjQgOTZDMjguNyA5NiAwIDEyNC43IDAgMTYwTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC01Ni41IDAtMjYtMzkuMUMzNTUuMSA0MS40IDMzNy42IDMyIDMxOC45IDMyTDE5My4xIDMyem0tNi43IDUxLjZjMS41LTIuMiA0LTMuNiA2LjctMy42bDEyNS43IDBjMi43IDAgNS4yIDEuMyA2LjcgMy42bDMzLjIgNDkuOGM0LjUgNi43IDExLjkgMTAuNyAyMCAxMC43bDY5LjMgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyNTZjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQzMmMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjU2YzAtOC44IDcuMi0xNiAxNi0xNmw2OS4zIDBjOCAwIDE1LjUtNCAyMC0xMC43bDMzLjItNDkuOHpNMjU2IDM4NGExMTIgMTEyIDAgMSAwIDAtMjI0IDExMiAxMTIgMCAxIDAgMCAyMjR6TTE5MiAyNzJhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAweiJdfSx6Q3Q9ZHBlLHVwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tc3RhcnMiLGljb246WzUxMiw1MTIsWzEyOTMyMSwiZ3Jpbi1zdGFycyJdLCJmNTg3IiwiTTAgMjU2YzAtMjkuNiA1LTU3LjkgMTQuMi04NC40bDE3LjMgMTYuOS00LjYgMjdjLTQuMiAyNC40IDUuNiA0Ni4yIDIyIDU5LjkgOS44IDEwNS44IDk4LjggMTg4LjcgMjA3LjEgMTg4LjdzMTk3LjQtODIuOCAyMDcuMS0xODguNmMxNi40LTEzLjcgMjYuMS0zNS40IDIyLTU5LjlsLTQuNi0yNyAxNy4zLTE2LjljOS4yIDI2LjQgMTQuMiA1NC44IDE0LjIgODQuNCAwIDE0MS40LTExNC42IDI1Ni0yNTYgMjU2UzAgMzk3LjQgMCAyNTZ6TTI1NiA0OGMtMTUuMiAwLTMwIDEuNi00NC4zIDQuN0wyMDEuNCAzMS44QzE5NyAyMyAxOTEuMSAxNS44IDE4NC4yIDEwLjIgMjA3IDMuNiAyMzEuMSAwIDI1NiAwczQ5IDMuNiA3MS44IDEwLjJDMzIwLjkgMTUuOCAzMTUgMjMgMzEwLjYgMzEuOEwzMDAuMyA1Mi43QzI4NiA0OS42IDI3MS4yIDQ4IDI1NiA0OHpNMzcyLjIgMzAyLjNjMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTE5LjggNTUuOS03My4xIDk2LTEzNS44IDk2LTYyLjcgMC0xMTYtNDAtMTM1LjgtOTUuOS00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjZ6TTM1My43IDUzLjFjNS45LTExLjkgMjIuOC0xMS45IDI4LjcgMGwyMy4zIDQ3LjIgNTIgNy42YzEzLjEgMS45IDE4LjQgMTggOC45IDI3LjNsLTM3LjcgMzYuNyA4LjkgNTEuOGMyLjIgMTMuMS0xMS41IDIzLTIzLjIgMTYuOUwzNjggMjE2IDMyMS41IDI0MC41Yy0xMS43IDYuMi0yNS41LTMuOC0yMy4yLTE2LjlsOC45LTUxLjgtMzcuNy0zNi43Yy05LjUtOS4zLTQuMy0yNS40IDguOS0yNy4zbDUyLTcuNiAyMy4zLTQ3LjJ6bS0xOTUuMyAwbDIzLjMgNDcuMiA1MiA3LjZjMTMuMSAxLjkgMTguNCAxOCA4LjkgMjcuM2wtMzcuNyAzNi43IDguOSA1MS44YzIuMiAxMy4xLTExLjUgMjMtMjMuMiAxNi45TDE0NCAyMTYgOTcuNSAyNDAuNWMtMTEuNyA2LjItMjUuNS0zLjgtMjMuMi0xNi45bDguOS01MS44LTM3LjctMzYuN2MtOS41LTkuMy00LjMtMjUuNCA4LjktMjcuM2w1Mi03LjYgMjMuMy00Ny4yYzUuOS0xMS45IDIyLjgtMTEuOSAyOC43IDB6Il19LENDdD11cGUsX0N0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImV5ZSIsaWNvbjpbNTc2LDUxMixbMTI4MDY1XSwiZjA2ZSIsIk0yODggODBDMjIyLjggODAgMTY5LjIgMTA5LjYgMTI4LjEgMTQ3LjcgODkuNiAxODMuNSA2MyAyMjYgNDkuNCAyNTYgNjMgMjg2IDg5LjYgMzI4LjUgMTI4LjEgMzY0LjMgMTY5LjIgNDAyLjQgMjIyLjggNDMyIDI4OCA0MzJzMTE4LjgtMjkuNiAxNTkuOS02Ny43QzQ4Ni40IDMyOC41IDUxMyAyODYgNTI2LjYgMjU2IDUxMyAyMjYgNDg2LjQgMTgzLjUgNDQ3LjkgMTQ3LjcgNDA2LjggMTA5LjYgMzUzLjIgODAgMjg4IDgwek05NS40IDExMi42QzE0Mi41IDY4LjggMjA3LjIgMzIgMjg4IDMyczE0NS41IDM2LjggMTkyLjYgODAuNmM0Ni44IDQzLjUgNzguMSA5NS40IDkzIDEzMS4xIDMuMyA3LjkgMy4zIDE2LjcgMCAyNC42LTE0LjkgMzUuNy00Ni4yIDg3LjctOTMgMTMxLjEtNDcuMSA0My43LTExMS44IDgwLjYtMTkyLjYgODAuNlMxNDIuNSA0NDMuMiA5NS40IDM5OS40Yy00Ni44LTQzLjUtNzguMS05NS40LTkzLTEzMS4xLTMuMy03LjktMy4zLTE2LjcgMC0yNC42IDE0LjktMzUuNyA0Ni4yLTg3LjcgOTMtMTMxLjF6TTI4OCAzMzZjNDQuMiAwIDgwLTM1LjggODAtODAgMC0yOS42LTE2LjEtNTUuNS00MC02OS4zLTEuNCA1OS43LTQ5LjYgMTA3LjktMTA5LjMgMTA5LjMgMTMuOCAyMy45IDM5LjcgNDAgNjkuMyA0MHptLTc5LjYtODguNGMyLjUgLjMgNSAuNCA3LjYgLjQgMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0yLjYtLjItNS4xLS40LTcuNi0zNy40IDMuOS02Ny4yIDMzLjctNzEuMSA3MS4xem00NS42LTExNWMxMC44LTMgMjIuMi00LjUgMzMuOS00LjUgOC44IDAgMTcuNSAuOSAyNS44IDIuNiAuMyAuMSAuNSAuMSAuOCAuMiA1Ny45IDEyLjIgMTAxLjQgNjMuNyAxMDEuNCAxMjUuMiAwIDcwLjctNTcuMyAxMjgtMTI4IDEyOC02MS42IDAtMTEzLTQzLjUtMTI1LjItMTAxLjQtMS44LTguNi0yLjgtMTcuNS0yLjgtMjYuNiAwLTExIDEuNC0yMS44IDQtMzIgLjItLjcgLjMtMS4zIC41LTEuOSAxMS45LTQzLjQgNDYuMS03Ny42IDg5LjUtODkuNXoiXX0scHBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Utc2FkLXRlYXIiLGljb246WzUxMiw1MTIsWzEyODU0Niwic2FkLXRlYXIiXSwiZjViNCIsIk00NjQgMjU2YzAtMTE0LjktOTMuMS0yMDgtMjA4LTIwOFM0OCAxNDEuMSA0OCAyNTZjMCA0MS44IDEyLjMgODAuNyAzMy42IDExMy4zIDguMiA0NC43IDQ3LjMgNzguNiA5NC4zIDc4LjcgMjQuNyAxMC4zIDUxLjcgMTYgODAuMSAxNiAxMTQuOSAwIDIwOC05My4xIDIwOC0yMDh6TTI4OCAzNTJjLTUuNSAwLTEwLjkgLjYtMTYgMS44IDAtLjYgMC0xLjIgMC0xLjggMC0xNi4yLTQtMzEuNS0xMS4xLTQ0LjkgOC43LTIgMTcuOC0zLjEgMjcuMS0zLjEgNDAuMiAwIDc1LjcgMTkuOCA5Ny41IDUwIDcuNyAxMC44IDUuMyAyNS44LTUuNSAzMy41cy0yNS44IDUuMy0zMy41LTUuNWMtMTMuMS0xOC4yLTM0LjQtMzAtNTguNS0zMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc2LTgwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTE4NS40IDI3Ni44YzYuNSA3LjggMTIuNiAxNi4xIDE4LjMgMjQuNiA5IDEzLjQgMjAuMyAzMC4yIDIwLjMgNDcuNCAwIDI4LjMtMjEuNSA1MS4yLTQ4IDUxLjJzLTQ4LTIyLjktNDgtNTEuMmMwLTE3LjIgMTEuMi0zNCAyMC4zLTQ3LjQgNS43LTguNSAxMS45LTE2LjcgMTguMy0yNC42IDIuNC0yLjkgNS43LTQuOCA5LjQtNC44czcgMS45IDkuNCA0Ljh6Il19LFRDdD1wcGUsZnBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNoYXJlLWZyb20tc3F1YXJlIixpY29uOls1NzYsNTEyLFs2MTUwOSwic2hhcmUtc3F1YXJlIl0sImYxNGQiLCJNNDI1LjUgN2MtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMzODQuNSAxNC4zIDM4NC41IDI0bDAgNTYtNDggMGMtODguNCAwLTE2MCA3MS42LTE2MCAxNjAgMCA0Ni43IDIwLjcgODAuNCA0My42IDEwMy40IDguMSA4LjIgMTYuNSAxNC45IDI0LjMgMjAuNCA5LjIgNi41IDIxLjcgNS43IDMwLjEtMS45czEwLjItMjAgNC41LTI5LjhjLTMuNi02LjMtNi41LTE0LjktNi41LTI2LjcgMC0zNi4yIDI5LjMtNjUuNSA2NS41LTY1LjVsNDYuNSAwIDAgNTZjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yczE5LjMgMS43IDI2LjItNS4ybDEzNi0xMzZjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMNDI1LjUgN3ptNyA5N2wwLTIyLjEgNzguMSA3OC4xLTc4LjEgNzguMSAwLTIyLjFjMC0xMy4zLTEwLjctMjQtMjQtMjRMMzM4IDE5MmMtNTAuOSAwLTkzLjkgMzMuNS0xMDguMyA3OS42LTMuMy05LjQtNS4yLTE5LjgtNS4yLTMxLjYgMC02MS45IDUwLjEtMTEyIDExMi0xMTJsNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHptLTMyMC04Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDI1NmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwyNTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNCAweiJdfSxMQ3Q9ZnBlLGhwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJub3RlLXN0aWNreSIsaWNvbjpbNDQ4LDUxMixbNjIwMjYsInN0aWNreS1ub3RlIl0sImYyNDkiLCJNMjQwIDQzMkw2NCA0MzJjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA5NmMwLTguOCA3LjItMTYgMTYtMTZsMzIwIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTc2LTg4IDBjLTM5LjggMC03MiAzMi4yLTcyIDcybDAgODh6TTM4MC4xIDMyMEwyODggNDEyLjEgMjg4IDM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw2OC4xIDB6TTAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5Ny41IDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdMNDI5LjMgMzM4LjdjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0w0NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNnoiXX0sJEN0PWhwZSxtcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1iYWNrLWZpc3QiLGljb246WzM4NCw1MTIsWyJoYW5kLXJvY2siXSwiZjI1NSIsIk05NiA0MDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiA0MDB6TTczLjIgMzUybDY0LjYgMC03OS41LTg4LjNDNTEuNyAyNTYuMyA0OCAyNDYuOCA0OCAyMzYuOUw0OCAyMDRjMC0xNi4xIDExLjktMjkuNSAyNy40LTMxLjcgMTEuOC0xLjcgMjAuNi0xMS44IDIwLjYtMjMuOEw5NiA3MmMwLTEzLjMgMTAuNy0yNCAyNC0yNCA3LjIgMCAxMy42IDMuMSAxOCA4LjEgNC42IDUuMiAxMS4xIDguMSAxOCA4LjFzMTMuNC0zIDE4LTguMWM0LjQtNSAxMC44LTguMSAxOC04LjEgOC41IDAgMTUuOSA0LjQgMjAuMiAxMS4xIDYuOSAxMC43IDIwLjkgMTQuMiAzMiA4IDMuNS0xLjkgNy40LTMuMSAxMS44LTMuMSAxMC42IDAgMTkuNyA2LjkgMjIuOCAxNi42IDMuOCAxMS43IDE1LjkgMTguNyAyOCAxNiAxLjctLjQgMy40LS42IDUuMi0uNiAxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDkyLjJjMCAxNC40LTMuNSAyOC41LTEwLjIgNDEuMmwtNTIuMiA5OC42IDU0LjMgMCA0MC4zLTc2LjJjMTAuNC0xOS42IDE1LjgtNDEuNSAxNS44LTYzLjZsMC05Mi4yYzAtMzguNC0zMC4xLTY5LjgtNjguMS03MS45LTEyLjktMTkuMy0zNC45LTMyLjEtNTkuOS0zMi4xLTUuNyAwLTExLjIgLjctMTYuNSAxLjktMTIuNy0xMS4xLTI5LjMtMTcuOS00Ny41LTE3LjktMTMuMSAwLTI1LjQgMy41LTM2IDkuNi0xMC42LTYuMS0yMi45LTkuNi0zNi05LjYtMzkuOCAwLTcyIDMyLjItNzIgNzJsMCA1OC43QzE5LjcgMTQzIDAgMTcxLjIgMCAyMDRsMCAzMi45YzAgMjEuNyA4IDQyLjcgMjIuNiA1OC45TDczLjIgMzUyeiJdfSxEQ3Q9bXBlLEFDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaGVzcy1xdWVlbiIsaWNvbjpbNTEyLDUxMixbOTgxOV0sImY0NDUiLCJNMzI1LjMgOTAuOGM5LjEtNC44IDIwLjYtMy4zIDI4LjIgNC4zbDM5LjggMzkuOCAzLjcgMy4zYzkuMSA3LjEgMjAuOSAxMCAzMi40IDcuN2w0Ni40LTkuMyAzLjUtLjRjOC0uNCAxNS44IDMuMiAyMC42IDkuOCA1LjUgNy42IDYuMSAxNy42IDEuNiAyNS44bC0xMTIuNiAyMDIuNiA1MS41IDcwLjkgMS44IDIuN2M0IDYuNiA2LjIgMTQuMiA2LjIgMjIgMCAyMy4zLTE4LjkgNDIuMS00Mi4xIDQyLjFsLTI5OS44IDBjLTIxLjggMC0zOS44LTE2LjYtNDEuOS0zNy44bC0uMi00LjMgLjEtMy4zYy42LTcuNyAzLjQtMTUuMSA3LjktMjEuNGw1MS41LTcwLjktMTEyLjUtMjAyLjZjLTQuNS04LjItMy45LTE4LjMgMS42LTI1LjhzMTQuOS0xMS4yIDI0LjEtOS40bDQ2LjQgOS4zYzEzLjEgMi42IDI2LjctMS41IDM2LjEtMTAuOUwxNTkuNSA5NSAxNjMgOTIuMmM4LjYtNS44IDIwLjEtNS42IDI4LjUgMS4xbDQwIDMyIDIuOCAyLjFjMTQuNCA5LjYgMzMuNSA4LjkgNDcuMi0yLjFsNDAtMzIgMy44LTIuNXpNMTY0LjcgNDAwbC00Ni42IDY0IDI3Ni43IDAtNDYuNi02NC0xODMuNiAwek0zMTEuNSAxNjIuOGMtMzAuMSAyNC4xLTcyLjEgMjUuNi0xMDMuOCA0LjVsLTYuMi00LjUtMjMuMy0xOC42LTI0LjYgMjQuNmMtMTkuOCAxOS44LTQ3LjcgMjguOS03NS4xIDI0LjhsODguMSAxNTguNSAxNzkuOCAwIDg4LTE1OC41Yy0yNS43IDMuOC01MS43LTMuOS03MS4xLTIxbC00LTMuNy0yNC42LTI0LjYtMjMuMiAxOC42ek0yNTYuNSA3MmE0MCA0MCAwIDEgMSAwLTgwIDQwIDQwIDAgMSAxIDAgODB6Il19LGdwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tdGVhcnMiLGljb246WzY0MCw1MTIsWzEyODUxNCwiZ3Jpbi10ZWFycyJdLCJmNTg4IiwiTTUwNC4xIDM1M0M1MTIuOSAzNjcuMiA1MjUuMyAzNzkgNTM5LjggMzg3LjIgNDk1LjEgNDYyIDQxMy40IDUxMiAzMjAgNTEyUzE0NC45IDQ2MiAxMDAuMiAzODcuMmMxNC42LTguMiAyNi45LTIwIDM1LjgtMzQuMyAzNC45IDY2IDEwNC4yIDExMSAxODQuMSAxMTFzMTQ5LjItNDUgMTg0LjEtMTExem0xNi40LTE1Mi41QzQ5Ni4yIDExMi42IDQxNS43IDQ4IDMyMCA0OFMxNDMuOCAxMTIuNiAxMTkuNSAyMDAuNWMtMTAuNi00LjgtMjIuNy02LjgtMzUuNC01bC0xMy40IDEuOUM5Ny4yIDg0LjMgMTk4LjggMCAzMjAgMFM1NDIuOCA4NC4zIDU2OS4zIDE5Ny40bC0xMy40LTEuOWMtMTIuNy0xLjgtMjQuOCAuMi0zNS40IDV6TTQ1NS44IDMyMGMtMTkuOCA1NS45LTczLjEgOTYtMTM1LjggOTYtNjIuNyAwLTExNi00MC0xMzUuOC05NS45LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNiAxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3Ljh6TTIxMiAyMDhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHptMTg4LTI4Yy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4ek02NDAgMzAwLjZjMCAyOC40LTIzIDUxLjQtNTEuNCA1MS40LTI1LjYgMC00Ny4zLTE4LjgtNTAuOS00NC4xTDUzMSAyNjEuMWMtMS41LTEwLjYgNy41LTE5LjYgMTguMS0xOC4xbDQ2LjcgNi43YzI1LjMgMy42IDQ0LjEgMjUuMyA0NC4xIDUwLjl6bS02NDAgMGMwLTI1LjYgMTguOC00Ny4zIDQ0LjEtNTAuOUw5MC45IDI0M2MxMC42LTEuNSAxOS42IDcuNSAxOC4xIDE4LjFsLTYuNyA0Ni43Qzk4LjcgMzMzLjIgNzcgMzUyIDUxLjQgMzUyIDIzIDM1MiAwIDMyOSAwIDMwMC42eiJdfSxQQ3Q9Z3BlLGJwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJwZW4tdG8tc3F1YXJlIixpY29uOls1MTIsNTEyLFsiZWRpdCJdLCJmMDQ0IiwiTTQ0MSA1OC45TDQ1My4xIDcxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45TDQyNCAxMzQuMSAzNzcuOSA4OCA0MDcgNTguOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHpNMjA5LjggMjU2LjJMMzQ0IDEyMS45IDM5MC4xIDE2OCAyNTUuOCAzMDIuMmMtMi45IDIuOS02LjUgNS0xMC40IDYuMWwtNTguNSAxNi43IDE2LjctNTguNWMxLjEtMy45IDMuMi03LjUgNi4xLTEwLjR6TTM3My4xIDI1TDE3NS44IDIyMi4yYy04LjcgOC43LTE1IDE5LjQtMTguMyAzMS4xbC0yOC42IDEwMGMtMi40IDguNC0uMSAxNy40IDYuMSAyMy42czE1LjIgOC41IDIzLjYgNi4xbDEwMC0yOC42YzExLjgtMy40IDIyLjUtOS43IDMxLjEtMTguM0w0ODcgMTM4LjljMjguMS0yOC4xIDI4LjEtNzMuNyAwLTEwMS44TDQ3NC45IDI1QzQ0Ni44LTMuMSA0MDEuMi0zLjEgMzczLjEgMjV6TTg4IDY0QzM5LjQgNjQgMCAxMDMuNCAwIDE1MkwwIDQyNGMwIDQ4LjYgMzkuNCA4OCA4OCA4OGwyNzIgMGM0OC42IDAgODgtMzkuNCA4OC04OGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDIyLjEtMTcuOSA0MC00MCA0MEw4OCA0NjRjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtMjcyYzAtMjIuMSAxNy45LTQwIDQwLTQwbDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDY0eiJdfSxFQ3Q9YnBlLHZwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tYmVhbS1zd2VhdCIsaWNvbjpbNTc2LDUxMixbMTI4NTE3LCJncmluLWJlYW0tc3dlYXQiXSwiZjU4MyIsIk01MzAuMiAxNS45Yy04LjgtMTAuNy0xOC41LTIwLjktMjktMzAtMy0yLjYtNy40LTIuNi0xMC40IDAtMTAuNSA5LjEtMjAuMSAxOS4zLTI5IDMwLTE0LjcgMTcuOC0yOS44IDQwLjEtMjkuOCA2NC4xIDAgMzYuNCAyNy42IDY0IDY0IDY0czY0LTI3LjYgNjQtNjRjMC0yNC0xNS4yLTQ2LjMtMjkuOC02NC4xem0tMTMyIDguOUMzNjQuOCA4LjkgMzI3LjQgMCAyODggMCAxNDYuNiAwIDMyIDExNC42IDMyIDI1NlMxNDYuNiA1MTIgMjg4IDUxMiA1NDQgMzk3LjQgNTQ0IDI1NmMwLTI0LjQtMy40LTQ4LTkuOC03MC40LTExLjkgNC4yLTI0LjcgNi40LTM4LjIgNi40LTMuNCAwLTYuOC0uMS0xMC4yLS40IDYuNiAyMC4zIDEwLjIgNDEuOSAxMC4yIDY0LjQgMCAxMTQuOS05My4xIDIwOC0yMDggMjA4UzgwIDM3MC45IDgwIDI1NiAxNzMuMSA0OCAyODggNDhjMzQuOCAwIDY3LjUgOC41IDk2LjMgMjMuNiAxLjQtMTcuNCA2LjktMzMuMSAxMy44LTQ2Ljh6TTQyMy44IDMyMGM0LjEtMTEuNi03LjgtMjEuNC0xOS42LTE3LjgtMzQuOCAxMC42LTc0LjMgMTYuNi0xMTYuMyAxNi42LTQxLjkgMC04MS40LTYtMTE2LjEtMTYuNS0xMS44LTMuNi0yMy43IDYuMS0xOS42IDE3LjggMTkuOCA1NS45IDczLjEgOTUuOSAxMzUuOCA5NS45IDYyLjcgMCAxMTYtNDAuMSAxMzUuOC05NnpNMTgwIDIwOGMwLTE1LjUgMTIuNS0yOCAyOC0yOHMyOCAxMi41IDI4IDI4bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLThjMC0zNy42LTMwLjQtNjgtNjgtNjhzLTY4IDMwLjQtNjggNjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOHptMTg4LTI4YzE1LjUgMCAyOCAxMi41IDI4IDI4bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLThjMC0zNy42LTMwLjQtNjgtNjgtNjhzLTY4IDMwLjQtNjggNjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTE1LjUgMTIuNS0yOCAyOC0yOHoiXX0sSUN0PXZwZSx4cGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2xvY2siLGljb246WzUxMiw1MTIsWzEyODMzOSwiY2xvY2stZm91ciJdLCJmMDE3IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMSAtNDE2IDAgMjA4IDIwOCAwIDEgMSA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMCAyNTYgMjU2IDAgMSAwIC01MTIgMHpNMjMyIDEyMGwwIDEzNmMwIDggNCAxNS41IDEwLjcgMjBsOTYgNjRjMTEgNy40IDI1LjkgNC40IDMzLjMtNi43czQuNC0yNS45LTYuNy0zMy4zTDI4MCAyNDMuMiAyODAgMTIwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0eiJdfSxOQ3Q9eHBlLHlwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWxhdWdoLXdpbmsiLGljb246WzUxMiw1MTIsWyJsYXVnaC13aW5rIl0sImY1OWMiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0xMTguMyA1OC4yYy00LjItMTMuNyA3LjEtMjYuMiAyMS40LTI2LjJsMjMyLjYgMGMxNC4zIDAgMjUuNiAxMi41IDIxLjQgMjYuMi0xOCA1OC45LTcyLjkgMTAxLjgtMTM3LjcgMTAxLjhTMTM2LjMgMzczLjEgMTE4LjMgMzE0LjJ6TTE0NCAxOTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTY0IDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwYzAtMzMuMSAyNi45LTYwIDYwLTYwbDE2IDBjMzMuMSAwIDYwIDI2LjkgNjAgNjAgMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHoiXX0sUkN0PXlwZSxPQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToicGFwZXItcGxhbmUiLGljb246WzU3Niw1MTIsWzYxOTEzXSwiZjFkOCIsIk0yOTAuNSAyODcuN0w0OTEuNCA4Ni45IDM1OSA0NTYuMyAyOTAuNSAyODcuN3pNNDU3LjQgNTNMMjU2LjYgMjUzLjggODggMTg1LjMgNDU3LjQgNTN6TTM4LjEgMjE2LjhsMjA1LjggODMuNiA4My42IDIwNS44YzUuMyAxMy4xIDE4LjEgMjEuNyAzMi4zIDIxLjcgMTQuNyAwIDI3LjgtOS4yIDMyLjgtMjMuMUw1NzAuNiA4YzMuNS05LjggMS0yMC42LTYuMy0yOHMtMTguMi05LjgtMjgtNi4zTDM5LjQgMTUxLjdjLTEzLjkgNS0yMy4xIDE4LjEtMjMuMSAzMi44IDAgMTQuMiA4LjYgMjcgMjEuNyAzMi4zeiJdfSxGQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGVhcnQiLGljb246WzUxMiw1MTIsWzEyODE1MywxMjgxNTQsMTI4MTU1LDEyODE1NiwxMjg0MjAsMTI5MjkzLDEyOTI5NCwxMjk1MDUsOTgyOSwxMDA4NCw2MTU3OF0sImYwMDQiLCJNMzc4LjkgODBjLTI3LjMgMC01MyAxMy4xLTY5IDM1LjJsLTM0LjQgNDcuNmMtNC41IDYuMi0xMS43IDkuOS0xOS40IDkuOXMtMTQuOS0zLjctMTkuNC05LjlsLTM0LjQtNDcuNmMtMTYtMjIuMS00MS43LTM1LjItNjktMzUuMi00NyAwLTg1LjEgMzguMS04NS4xIDg1LjEgMCA0OS45IDMyIDk4LjQgNjguMSAxNDIuMyA0MS4xIDUwIDkxLjQgOTQgMTI1LjkgMTIwLjMgMy4yIDIuNCA3LjkgNC4yIDE0IDQuMnMxMC44LTEuOCAxNC00LjJjMzQuNS0yNi4zIDg0LjgtNzAuNCAxMjUuOS0xMjAuMyAzNi4yLTQzLjkgNjguMS05Mi40IDY4LjEtMTQyLjMgMC00Ny0zOC4xLTg1LjEtODUuMS04NS4xek0yNzEgODcuMWMyNS0zNC42IDY1LjItNTUuMSAxMDcuOS01NS4xIDczLjUgMCAxMzMuMSA1OS42IDEzMy4xIDEzMy4xIDAgNjguNi00Mi45IDEyOC45LTc5LjEgMTcyLjgtNDQuMSA1My42LTk3LjMgMTAwLjEtMTMzLjggMTI3LjktMTIuMyA5LjQtMjcuNSAxNC4xLTQzLjEgMTQuMXMtMzAuOC00LjctNDMuMS0xNC4xQzE3Ni40IDQzOCAxMjMuMiAzOTEuNSA3OS4xIDMzOCA0Mi45IDI5NC4xIDAgMjMzLjcgMCAxNjUuMSAwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMWwxNSAyMC43IDE1LTIwLjd6Il19LG1lZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmb250LWF3ZXNvbWUiLGljb246WzUxMiw1MTIsWzYyNTAxLDYyNjk0LCJmb250LWF3ZXNvbWUtZmxhZyIsImZvbnQtYXdlc29tZS1sb2dvLWZ1bGwiXSwiZjJiNCIsIk05MS43IDk2QzEwNi4zIDg2LjggMTE2IDcwLjUgMTE2IDUyIDExNiAyMy4zIDkyLjcgMCA2NCAwUzEyIDIzLjMgMTIgNTJjMCAxNi43IDcuOCAzMS41IDIwIDQxbDAgNDE5IDQ4IDAgMC02NCAzODkuNiAwYzE0LjYgMCAyNi40LTExLjggMjYuNC0yNi40IDAtMy43LS44LTcuMy0yLjMtMTAuN0w0MzIgMjcyIDQ5My43IDEzMy4xYzEuNS0zLjQgMi4zLTcgMi4zLTEwLjcgMC0xNC42LTExLjgtMjYuNC0yNi40LTI2LjRMOTEuNyA5NnpNODAgNDAwbDAtMjU2IDM1Ni40IDAtNDguMiAxMDguNWMtNS41IDEyLjQtNS41IDI2LjYgMCAzOUw0MzYuNCA0MDAgODAgNDAweiJdfSxCQ3Q9bWVlLEhDdD1tZWUscUN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNsb25lIixpY29uOls1MTIsNTEyLFtdLCJmMjRkIiwiTTI4OCA0NjRMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZsMC0yMjRjMC04LjggNy4yLTE2IDE2LTE2bDQ4IDAgMC00OC00OCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTQ4LTQ4IDAgMCA0OGMwIDguOC03LjIgMTYtMTYgMTZ6TTIyNCAzMDRjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTIyNGMwLTguOCA3LjItMTYgMTYtMTZsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjI0YzAgOC44LTcuMiAxNi0xNiAxNmwtMjI0IDB6bS02NC0xNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIyNGMwLTM1LjMtMjguNy02NC02NC02NEwyMjQgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMjR6Il19LFZDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmb2xkZXItb3BlbiIsaWNvbjpbNTc2LDUxMixbMTI4MTk0LDEyODQ0OSw2MTcxN10sImYwN2MiLCJNOTcuNSA0MDBsNTAtMTYwIDM3OS40IDAtNTAgMTYwLTM3OS40IDB6bTE5MC43IDQ4TDQ3NyA0NDhjMjEgMCAzOS42LTEzLjYgNDUuOC0zMy43bDUwLTE2MGM5LjctMzAuOS0xMy40LTYyLjMtNDUuOC02Mi4zbC0zNzkuNCAwYy0yMSAwLTM5LjYgMTMuNi00NS44IDMzLjdMODAuMiAyOTQuNCA4MC4yIDk2YzAtOC44IDcuMi0xNiAxNi0xNmwxMzguNyAwYzMuNSAwIDYuOCAxLjEgOS42IDMuMkwyODIuOSAxMTJjMTMuOCAxMC40IDMwLjcgMTYgNDggMTZsMTE3LjMgMGM4LjggMCAxNiA3LjIgMTYgMTZsNDggMGMwLTM1LjMtMjguNy02NC02NC02NEwzMzAuOSA4MGMtNi45IDAtMTMuNy0yLjItMTkuMi02LjRMMjczLjMgNDQuOEMyNjIuMiAzNi41IDI0OC44IDMyIDIzNC45IDMyTDk2LjIgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjg4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAweiJdfSxqQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToid2luZG93LW1pbmltaXplIixpY29uOls1MTIsNTEyLFsxMjg0NjldLCJmMmQxIiwiTTAgNDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ2NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDQ0OGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6Il19LFVDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzdGFyLWhhbGYiLGljb246WzU3Niw1MTIsWzYxNzMxXSwiZjA4OSIsIk0yODUuNy0xNS44YzEwLjggMi42IDE4LjQgMTIuMiAxOC40IDIzLjNsMCAzODcuMWMwIDktNS4xIDE3LjMtMTMuMSAyMS40TDE0My44IDQ5MWMtOCA0LjEtMTcuNyAzLjMtMjUtMnMtMTEtMTQuMi05LjYtMjMuMkwxMzQuNCAzMDUuOSAyMCAxOTEuNGMtNi40LTYuNC04LjYtMTUuOC01LjgtMjQuNHMxMC4xLTE0LjkgMTkuMS0xNi4zTDE5My4xIDEyNS4zIDI1OC44LTMuM2M1LTkuOSAxNi4yLTE1IDI3LTEyLjR6TTI1Ni4xIDEwNy40TDIzMC4zIDE1OGMtMy41IDYuOC0xMCAxMS42LTE3LjYgMTIuOGwtMTI1LjUgMjAgODkuOCA4OS45YzUuNCA1LjQgNy45IDEzLjEgNi43IDIwLjdsLTE5LjggMTI1LjUgOTIuMi00Ni45IDAtMjcyLjZ6Il19LFdDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJhbGFybS1jbG9jayIsaWNvbjpbNTEyLDUxMixbOTIwMF0sImYzNGUiLCJNNDAyLjYgNTAuMmMtNS40IDEuNy0xMS4zIDEuOC0xNi4yLS45LTUuOC0zLjItMTEuOC02LjItMTcuOC04LjktMTAuNC00LjctMTMuNy0xOC4zLTQuMS0yNC42IDE1LTkuOSAzMy0xNS43IDUyLjMtMTUuNyA1Mi42IDAgOTUuMiA0Mi42IDk1LjIgOTUuMiAwIDEzLjItMi43IDI1LjgtNy42IDM3LjMtNC41IDEwLjUtMTguNCA5LjgtMjQuOSAuNC0zLjgtNS41LTcuOC0xMC44LTEyLTE2LTMuNS00LjQtNC41LTEwLjItMy44LTE1LjggLjItMS45IC40LTMuOSAuNC01LjkgMC0yNi4xLTIxLjItNDcuMi00Ny4yLTQ3LjItNC45IDAtOS43IC44LTE0LjIgMi4yek0zMi41IDEzMi45Yy02LjUgOS40LTIwLjUgMTAuMS0yNC45LS40LTQuOS0xMS41LTcuNi0yNC4xLTcuNi0zNy4zIDAtNTIuNiA0Mi42LTk1LjIgOTUuMi05NS4yIDE5LjMgMCAzNy4zIDUuOCA1Mi4zIDE1LjcgOS42IDYuMyA2LjMgMTkuOS00LjEgMjQuNi02LjEgMi44LTEyIDUuNy0xNy44IDguOS00LjkgMi43LTEwLjkgMi42LTE2LjIgLjktNC41LTEuNC05LjItMi4yLTE0LjItMi4yLTI2LjEgMC00Ny4yIDIxLjItNDcuMiA0Ny4yIDAgMiAuMSA0IC40IDUuOSAuNyA1LjYtLjMgMTEuNC0zLjggMTUuOC00LjIgNS4yLTguMiAxMC41LTEyIDE2ek00MzIgMjg4YTE3NiAxNzYgMCAxIDAgLTM1MiAwIDE3NiAxNzYgMCAxIDAgMzUyIDB6TTM5Ni41IDQ2Mi41QzM1OC4xIDQ5My40IDMwOS4yIDUxMiAyNTYgNTEycy0xMDIuMS0xOC42LTE0MC41LTQ5LjVMNzMgNTA1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQyLjUtNDIuNUM1MC42IDM5MC4xIDMyIDM0MS4yIDMyIDI4OCAzMiAxNjQuMyAxMzIuMyA2NCAyNTYgNjRTNDgwIDE2NC4zIDQ4MCAyODhjMCA1My4yLTE4LjYgMTAyLjEtNDkuNSAxNDAuNUw0NzMgNDcxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQyLjUtNDIuNXpNMjgwIDE4NGwwIDk0LjEgNDEgNDFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDgtNDhjLTQuNS00LjUtNy0xMC42LTctMTdsMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHoiXX0sR0N0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im5ld3NwYXBlciIsaWNvbjpbNTEyLDUxMixbMTI4MjQwXSwiZjFlYSIsIk0xNjggODBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMzA0YzAgOC40LTEuNCAxNi41LTQuMSAyNEw0NDAgNDMyYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMzA0YzAtMTMuMy0xMC43LTI0LTI0LTI0TDE2OCA4MHpNNzIgNDgwYy0zOS44IDAtNzItMzIuMi03Mi03MkwwIDExMkMwIDk4LjcgMTAuNyA4OCAyNCA4OHMyNCAxMC43IDI0IDI0bDAgMjk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMDRjMC0zOS44IDMyLjItNzIgNzItNzJsMjcyIDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCAzMDRjMCAzOS44LTMyLjIgNzItNzIgNzJMNzIgNDgwek0xOTIgMTUyYzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OHptMTUyIDI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6TTIxNiAyNTZsMTc2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0wIDgwbDE3NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sZ2VlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Imhvc3BpdGFsIixpY29uOls1NzYsNTEyLFsxMjc5NzMsNjI1ODksImhvc3BpdGFsLWFsdCIsImhvc3BpdGFsLXdpZGUiXSwiZjBmOCIsIk0xNzYgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA0OC00OCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI3MmMwLTM1LjMtMjguNy02NC02NC02NGwtNDggMCAwLTQ4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDE3NiAwek0xNjAgNjRjMC04LjggNy4yLTE2IDE2LTE2bDIyNCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDcyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDcyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjcyYzAgOC44LTcuMiAxNi0xNiAxNmwtMTc2IDAgMC04MGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA4MC0xNzYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjcyYzAtOC44IDcuMi0xNiAxNi0xNmw3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNzJ6TTExMiAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNOTYgMzM2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTMyMCAwbDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2LTExMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek0yNjQgMTA0bDAgMzItMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDAgMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMiAzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMCAwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2eiJdfSxZQ3Q9Z2VlLEtDdD1nZWUsd3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1zdG9wIixpY29uOls1MTIsNTEyLFs2MjA5NCwic3RvcC1jaXJjbGUiXSwiZjI4ZCIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2MCAxOTJsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJsLTEyOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptNDggMTEybDAtOTYgOTYgMCAwIDk2LTk2IDB6Il19LFpDdD13cGUsWEN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im9iamVjdC11bmdyb3VwIixpY29uOls2NDAsNTEyLFtdLCJmMjQ4IiwiTTQ4LjIgNjYuOGMtLjEtLjgtLjItMS43LS4yLTIuNWwwLS4yYzAtOC44IDcuMi0xNiAxNi0xNiAuOSAwIDEuOSAuMSAyLjggLjIgNy41IDEuMyAxMy4yIDcuOSAxMy4yIDE1LjggMCA4LjgtNy4yIDE2LTE2IDE2LTcuOSAwLTE0LjUtNS43LTE1LjgtMTMuMnpNMCA2NGMwIDI2LjkgMTYuNSA0OS45IDQwIDU5LjNsMCAxMDUuM2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0IDI2LjkgMCA0OS45LTE2LjUgNTkuMy00MGwyMDEuMyAwYzkuNSAyMy41IDMyLjUgNDAgNTkuMyA0MCAzNS4zIDAgNjQtMjguNyA2NC02NCAwLTI2LjktMTYuNS00OS45LTQwLTU5LjNsMC0xMDUuM2MyMy41LTkuNSA0MC0zMi41IDQwLTU5LjMgMC0zNS4zLTI4LjctNjQtNjQtNjQtMjYuOSAwLTQ5LjkgMTYuNS01OS4zIDQwTDEyMy4zIDQwQzExMy45IDE2LjUgOTAuOSAwIDY0IDAgMjguNyAwIDAgMjguNyAwIDY0em0zNjggMGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwek0zMjQuNyA4OGM2LjUgMTYgMTkuMyAyOC45IDM1LjMgMzUuM2wwIDEwNS4zYy0xNiA2LjUtMjguOSAxOS4zLTM1LjMgMzUuM2wtMjAxLjMgMGMtNi41LTE2LTE5LjMtMjguOS0zNS4zLTM1LjNsMC0xMDUuM2MxNi02LjUgMjguOS0xOS4zIDM1LjMtMzUuM2wyMDEuMyAwek0zODQgMjcyYTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpNODAgMjg4YzAgNy45LTUuNyAxNC41LTEzLjIgMTUuOC0uOCAuMS0xLjcgLjItMi41IC4ybC0uMiAwYy04LjggMC0xNi03LjItMTYtMTYgMC0uOSAuMS0xLjkgLjItMi44IDEuMy03LjUgNy45LTEzLjIgMTUuOC0xMy4yIDguOCAwIDE2IDcuMiAxNiAxNnptNDM2LjctNDBjNi41IDE2IDE5LjMgMjguOSAzNS4zIDM1LjNsMCAxMDUuM2MtMTYgNi41LTI4LjkgMTkuMy0zNS4zIDM1LjNsLTIwMS4zIDBjLTYuNS0xNi0xOS4zLTI4LjktMzUuMy0zNS4zbDAtMjAuNy00OCAwIDAgMjAuN2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0IDI2LjkgMCA0OS45LTE2LjUgNTkuMy00MGwyMDEuMyAwYzkuNSAyMy41IDMyLjUgNDAgNTkuMyA0MCAzNS4zIDAgNjQtMjguNyA2NC02NCAwLTI2LjktMTYuNS00OS45LTQwLTU5LjNsMC0xMDUuM2MyMy41LTkuNSA0MC0zMi41IDQwLTU5LjMgMC0zNS4zLTI4LjctNjQtNjQtNjQtMjYuOSAwLTQ5LjkgMTYuNS01OS4zIDQwbC01Mi43IDAgMCA5LjZjMTAuNyAxMC45IDE5LjEgMjMuOSAyNC42IDM4LjRsMjggMHptNTkuMy04YTE2IDE2IDAgMSAxIDAtMzIgMTYgMTYgMCAxIDEgMCAzMnpNMjcxLjggNDUwLjdhMTYgMTYgMCAxIDEgLTMxLjUtNS41IDE2IDE2IDAgMSAxIDMxLjUgNS41em0zMDEuNSAxM2MtNy41LTEuMy0xMy4yLTcuOS0xMy4yLTE1LjggMC04LjggNy4yLTE2IDE2LTE2IDcuOSAwIDE0LjUgNS43IDE1LjggMTMuMmwwIC4xYy4xIC45IC4yIDEuOCAuMiAyLjcgMCA4LjgtNy4yIDE2LTE2IDE2LS45IDAtMS45LS4xLTIuOC0uMnoiXX0sUUN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNvbW1lbnQiLGljb246WzUxMiw1MTIsWzEyODQ4OSw2MTY2OV0sImYwNzUiLCJNNTEuOSAzODQuOUMxOS4zIDM0NC42IDAgMjk0LjQgMCAyNDAgMCAxMDcuNSAxMTQuNiAwIDI1NiAwUzUxMiAxMDcuNSA1MTIgMjQwIDM5Ny40IDQ4MCAyNTYgNDgwYy0zNi41IDAtNzEuMi03LjItMTAyLjYtMjBMMzcgNTA5LjljLTMuNyAxLjYtNy41IDIuMS0xMS41IDIuMS0xNC4xIDAtMjUuNS0xMS40LTI1LjUtMjUuNSAwLTQuMyAxLjEtOC41IDMuMS0xMi4ybDQ4LjgtODkuNHptMzcuMy0zMC4yYzEyLjIgMTUuMSAxNC4xIDM2LjEgNC44IDUzLjJsLTE4IDMzLjEgNTguNS0yNS4xYzExLjgtNS4xIDI1LjItNS4yIDM3LjEtLjMgMjUuNyAxMC41IDU0LjIgMTYuNCA4NC4zIDE2LjQgMTE3LjggMCAyMDgtODguOCAyMDgtMTkyUzM3My44IDQ4IDI1NiA0OCA0OCAxMzYuOCA0OCAyNDBjMCA0Mi44IDE1LjEgODIuNCA0MS4yIDExNC43eiJdfSxKQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2hlc3MtcGF3biIsaWNvbjpbMzg0LDUxMixbOTgyM10sImY0NDMiLCJNMTkyLTMyYzY2LjMgMCAxMjAgNTMuNyAxMjAgMTIwIDAgMjcuNi05LjMgNTIuOS0yNC45IDczLjIgOS44IDMgMTYuOSAxMi4xIDE2LjkgMjIuOCAwIDEzLjMtMTAuNyAyNC0yNCAyNGwtLjYgMCAyNC42IDE2MCA1My42IDY3YzYuNyA4LjQgMTAuNCAxOC44IDEwLjQgMjkuNiAwIDI2LjItMjEuMiA0Ny40LTQ3LjQgNDcuNEw2My40IDUxMmMtMjYuMiAwLTQ3LjQtMjEuMi00Ny40LTQ3LjQgMC0xMC44IDMuNy0yMS4yIDEwLjQtMjkuNmw1My42LTY3IDI0LjYtMTYwLS42IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0IDAtMTAuOCA3LjEtMTkuOCAxNi45LTIyLjgtMTUuNi0yMC4zLTI0LjktNDUuNi0yNC45LTczLjIgMC02Ni4zIDUzLjctMTIwIDEyMC0xMjB6TTExNS45IDQwMGwtNTEuMiA2NCAyNTQuNyAwLTUxLjItNjQtMTUyLjIgMHptMzYuMi0xODQuN2wtMjEgMTM2LjcgMTIxLjkgMC0yMS0xMzYuNy0xLjEtNy4zLTc3LjYgMC0xLjEgNy4zek0xOTIgMTZhNzIgNzIgMCAxIDAgMCAxNDQgNzIgNzIgMCAxIDAgMC0xNDR6Il19LGVfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjYWxlbmRhci1wbHVzIixpY29uOls0NDgsNTEyLFtdLCJmMjcxIiwiTTEyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDAgMTYwIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMCAxMTJsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjg4YzAtOC44LTcuMi0xNi0xNi0xNmwtMjY0IDB6bTEwNCA2NGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4IDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDAgMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ4LTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMCAwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0eiJdfSx0X3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2xpcGJvYXJkIixpY29uOlszODQsNTEyLFsxMjgyMDNdLCJmMzI4IiwiTTIzMiA5NmwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0em0wIDQ4YzM3LjEgMCA2Ny42LTI4IDcxLjYtNjRMMzIwIDgwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDM1MmMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2LjQgMGM0IDM2IDM0LjUgNjQgNzEuNiA2NGw4MCAwek0yOTEuOSAzMkMyNzkgMTIuNyAyNTcgMCAyMzIgMEwxNTIgMGMtMjUgMC00NyAxMi43LTU5LjkgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM1MmMwLTM1LjMtMjguNy02NC02NC02NGwtMjguMSAweiJdfSxhX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToidGh1bWJzLWRvd24iLGljb246WzUxMiw1MTIsWzEyODA3OCw2MTU3Nl0sImYxNjUiLCJNMzYwIDMybDcuNCAuNGMzNSAzLjYgNjIuNSAzMi4yIDY0LjQgNjcuNyAxNy44IDExLjggMzAuMSAzMS40IDMyIDUzLjlsLjIgNmMwIDUuNy0uNyAxMS4yLTIgMTYuNSAxMC4yIDExLjUgMTYuOCAyNi4zIDE3LjggNDIuN2wuMiA0LjhjMCAxMy4yLTMuNiAyNS40LTkuOCAzNiA0LjkgOC40IDguMiAxNy45IDkuMyAyOGwuNCA4YzAgMzcuMy0yOC4zIDY3LjktNjQuNiA3MS42bC03LjQgLjQtMTA5LjcgMCAxNC4xIDMwIDMuMSA3LjZjMTIuNSAzNS43LTEuOCA3NS41LTM0LjIgOTVsLTcuMiAzLjljLTM3LjUgMTcuNi04MS43IDMuNi0xMDIuNi0zMS4ybC0uNi0uOS0yLjctNS0uNi0xLjItMzAuMS02NGMtOS40IDE3LjgtMjggMjkuOS00OS41IDI5LjlsLTMyIDBjLTMwLjkgMC01Ni0yNS4xLTU2LTU2TDAgMTUyYzAtMzAuOSAyNS4xLTU2IDU2LTU2bDMyIDBjMTIuNCAwIDIzLjkgNC4xIDMzLjIgMTEgMTMuMi0yMS40IDMyLTM5LjQgNTUtNTEuNmwxMi4yLTYuNSAuNy0uMyA2LjYtMy4yIC43LS4zIDcuMS0zYzE2LjctNi42IDM0LjUtOS45IDUyLjYtOS45TDM2MCAzMnpNMjU1LjkgODBjLTEyIDAtMjMuOSAyLjMtMzUuMSA2LjZsLTQuNyAyLTUuMyAyLjYgMCAwLTEyLjIgNi41Yy0yOS4yIDE1LjUtNDguMyA0NC45LTUwLjcgNzcuNmwtLjIgOCAwIDExMi45IC4xIDQuMWMuNSA4LjIgMi41IDE2LjIgNiAyMy43bDU2LjggMTIwLjkgMi4xIDMuOGM4LjQgMTMuNyAyNiAxOS4xIDQwLjggMTIuMmwyLjktMS42YzEzLTcuOCAxOC43LTIzLjcgMTMuNy0zOGwtMS4yLTMtMzAuMi02NC4yYy0zLjUtNy40LTIuOS0xNi4xIDEuNS0yMy4xczEyLTExLjEgMjAuMi0xMS4xbDE0Ny41IDAgMi40LS4xYzExLjMtMS4xIDIwLjMtMTAuMSAyMS40LTIxLjRsLjEtMi41YzAtNy4xLTMuMS0xMy41LTguMi0xOC01LjItNC42LTguMi0xMS4xLTguMi0xOHMzLTEzLjQgOC4yLTE4YzQuNC0zLjkgNy40LTkuMyA4LTE1LjNsLjItMi43YzAtOC40LTQuNC0xNS45LTExLjItMjAuMi0xMC43LTYuOS0xNC4yLTIwLjktOC0zMiAxLjUtMi42IDIuNS01LjYgMi45LTguNmwuMi0zLjJjMC0xMC42LTYuOS0xOS42LTE2LjYtMjIuOC0xMS43LTMuOC0xOC43LTE1LjktMTYtMjggLjItLjkgLjMtMS44IC40LTIuNmwuMi0yLjZjMC0xMi40LTkuNS0yMi42LTIxLjYtMjMuOEwzNjAgODAgMjU1LjkgODB6TTU2IDE0NGMtNC40IDAtOCAzLjYtOCA4bDAgMjI0YzAgNC40IDMuNiA4IDggOGwzMiAwYzQuNCAwIDgtMy42IDgtOGwwLTIyNGMwLTQuNC0zLjYtOC04LThsLTMyIDB6Il19LHJfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJpZC1iYWRnZSIsaWNvbjpbMzg0LDUxMixbXSwiZjJjMSIsIk0yNTYgNDhsMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNi02NCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzODRjMCA4LjggNy4yIDE2IDE2IDE2bDI1NiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTM4NGMwLTguOC03LjItMTYtMTYtMTZsLTY0IDB6TTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHpNMTYwIDMyMGw2NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNkw5NiA0MTZjLTguOCAwLTE2LTcuMi0xNi0xNiAwLTQ0LjIgMzUuOC04MCA4MC04MHptLTI0LTk2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHoiXX0sTXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1jaGVjayIsaWNvbjpbNDQ4LDUxMixbOTc0NSw5OTg5LDYxNTEwLCJjaGVjay1zcXVhcmUiXSwiZjE0YSIsIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek02NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIwYzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMjBjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwem0yMzAuNyA4OS45YzcuOC0xMC43IDIyLjgtMTMuMSAzMy41LTUuMyAxMC43IDcuOCAxMy4xIDIyLjggNS4zIDMzLjVMMjExLjQgMzY2LjFjLTQuMSA1LjctMTAuNSA5LjMtMTcuNSA5LjgtNyAuNS0xMy45LTItMTguOC02LjlsLTU1LjktNTUuOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDM2IDM2IDEwNS42LTE0NS4yeiJdfSxzX3Q9TXBlLGlfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaGVzcy1iaXNob3AiLGljb246WzMyMCw1MTIsWzk4MjFdLCJmNDNhIiwiTTIxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwIDgxLjggOTguMWMyNC43IDI5LjYgMzguMiA2NyAzOC4yIDEwNS42IDAgNDMuNy0xNy40IDg1LjctNDguMyAxMTYuNmwtOC42IDguNiA0Ni41IDU4LjJjNi43IDguNCAxMC40IDE4LjggMTAuNCAyOS42IDAgMjYuMi0yMS4yIDQ3LjQtNDcuNCA0Ny40TDQ3LjQgNTEyQzIxLjIgNTEyIDAgNDkwLjggMCA0NjQuNiAwIDQ1My45IDMuNyA0NDMuNCAxMC40IDQzNWw0Ni41LTU4LjItOC42LTguNkMxNy40IDMzNy40IDAgMjk1LjQgMCAyNTEuNyAwIDIxMy4xIDEzLjUgMTc1LjggMzguMiAxNDYuMUwxMjAgNDggMTA0IDQ4QzkwLjcgNDggODAgMzcuMyA4MCAyNFM5MC43IDAgMTA0IDBMMjE2IDB6TTk0LjQgNDA2LjhsLTQ1LjcgNTcuMiAyMjIuNyAwLTQ1LjctNTcuMS01LjUtNi45LTEyMC4zIDAtNS41IDYuOHpNMTU2LjkgNzguN0w3NS4xIDE3Ni44Yy0xNS4zIDE4LjQtMjQuNiA0MS0yNi43IDY0LjdMNDggMjUxLjdjMCAzMSAxMi4zIDYwLjcgMzQuMiA4Mi43bDE3LjcgMTcuNyAxMjAuMiAwYzYuMi02LjIgMTIuMS0xMi4xIDE3LjgtMTcuNyAyMS45LTIxLjkgMzQuMi01MS42IDM0LjItODIuNmwtLjQtMTAuMmMtMS41LTE3LTYuNy0zMy4zLTE1LjItNDhMMjA5IDI0MWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw1MS44LTUxLjgtNjMuNy03Ni41LTMuMS0zLjgtMy4xIDMuOHoiXX0sb190PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImVudmVsb3BlLW9wZW4iLGljb246WzUxMiw1MTIsWzYyMTM1XSwiZjJiNiIsIk01MTIgNDE2YzAgMzUuMy0yOC41IDY0LTYzLjkgNjRMNjQgNDgwYy0zNS40IDAtNjQtMjguNy02NC02NEwwIDE2NGMuMS0xNS41IDcuOC0zMCAyMC41LTM4LjhMMjA2LTIuN2MzMC4xLTIwLjcgNjkuOC0yMC43IDk5LjkgMEw0OTEuNSAxMjUuMmMxMi44IDguOCAyMC40IDIzLjMgMjAuNSAzOC44bDAgMjUyek02NCA0MzJsMzg0LjEgMGM4LjggMCAxNS45LTcuMSAxNS45LTE2bDAtMTkxLjctMTU0LjggMTE3LjRjLTMxLjQgMjMuOS03NC45IDIzLjktMTA2LjQgMEw0OCAyMjQuMyA0OCA0MTZjMCA4LjkgNy4yIDE2IDE2IDE2ek00NjMuNiAxNjQuNEwyNzguNyAzNi44Yy0xMy43LTkuNC0zMS43LTkuNC00NS40IDBMNDguNCAxNjQuNCAyMzEuOCAzMDMuNWMxNC4zIDEwLjggMzQuMSAxMC44IDQ4LjQgMEw0NjMuNiAxNjQuNHoiXX0sVTg9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLXhtYXJrIixpY29uOls1MTIsNTEyLFs2MTUzMiwidGltZXMtY2lyY2xlIiwieG1hcmstY2lyY2xlIl0sImYwNTciLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDEgMCA0MTYgMjA4IDIwOCAwIDEgMSAwLTQxNnptMCA0NjRhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjcgMTY3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw1NSA1NS01NSA1NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU1LTU1IDU1IDU1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTUtNTUgNTUtNTVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNTUgNTUtNTUtNTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAweiJdfSxuX3Q9VTgsbF90PVU4LGtwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtY2FyZXQtdXAiLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtdXAiXSwiZjE1MSIsIk02NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIwYzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMjBjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwek0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnptMjI0IDY0YzYuNyAwIDEzIDIuOCAxNy42IDcuN2wxMDQgMTEyYzYuNSA3IDguMiAxNy4yIDQuNCAyNS45UzMzNy41IDMyMCAzMjggMzIwbC0yMDggMGMtOS41IDAtMTguMi01LjctMjItMTQuNHMtMi4xLTE4LjkgNC40LTI1LjlsMTA0LTExMmM0LjUtNC45IDEwLjktNy43IDE3LjYtNy43eiJdfSxjX3Q9a3BlLGRfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLWltYWdlIixpY29uOlszODQsNTEyLFsxMjg0NDNdLCJmMWM1IiwiTTE3NiA0OEw2NCA0OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzg0YzAgOC44IDcuMiAxNiAxNiAxNmwyNTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNDAtODggMGMtMzkuOCAwLTcyLTMyLjItNzItNzJsMC04OHpNMzE2LjEgMTYwTDIyNCA2Ny45IDIyNCAxMzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjguMSAwek0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwxOTcuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDE0MS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTI1OS40IDQzMmwtMTM0LjggMGMtMTUuOCAwLTI4LjYtMTIuOC0yOC42LTI4LjYgMC02LjQgMi4xLTEyLjUgNi0xNy42bDY3LjYtODYuOUMxNzUgMjkyIDE4My4zIDI4OCAxOTIgMjg4czE3IDQgMjIuNCAxMC45TDI4MiAzODUuOWMzLjkgNSA2IDExLjIgNiAxNy42IDAgMTUuOC0xMi44IDI4LjYtMjguNiAyOC42ek0xMTIgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sU3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1jYXJldC1yaWdodCIsaWNvbjpbNDQ4LDUxMixbImNhcmV0LXNxdWFyZS1yaWdodCJdLCJmMTUyIiwiTTQwMCA5NmMwLTguOC03LjItMTYtMTYtMTZMNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwek0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek0zMjAgMjU2YzAgNi43LTIuOCAxMy03LjcgMTcuNmwtMTEyIDEwNGMtNyA2LjUtMTcuMiA4LjItMjUuOSA0LjRTMTYwIDM2OS41IDE2MCAzNjBsMC0yMDhjMC05LjUgNS43LTE4LjIgMTQuNC0yMnMxOC45LTIuMSAyNS45IDQuNGwxMTIgMTA0YzQuOSA0LjUgNy43IDEwLjkgNy43IDE3LjZ6Il19LHVfdD1TcGUsa2VlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InN1biIsaWNvbjpbNTc2LDUxMixbOTcyOF0sImYxODUiLCJNMjg4LTMyYzggMCAxNS40IDQgMTkuOSAxMC42bDU4LjggODcuNCAxMDMuNC0yMC4yYzcuOC0xLjUgMTUuOSAuOSAyMS42IDYuNnM4LjEgMTMuOCA2LjYgMjEuNkw0NzggMTc3LjMgNTY1LjQgMjM2LjFDNTcyIDI0MC41IDU3NiAyNDggNTc2IDI1NnMtNCAxNS40LTEwLjYgMTkuOUw0NzggMzM0LjcgNDk4LjIgNDM4YzEuNSA3LjgtLjkgMTUuOS02LjYgMjEuNnMtMTMuOCA4LjEtMjEuNiA2LjZMMzY2LjcgNDQ2IDMwNy45IDUzMy40QzMwMy40IDU0MCAyOTYgNTQ0IDI4OCA1NDRzLTE1LjQtNC0xOS45LTEwLjZMMjA5LjMgNDQ2IDEwNS45IDQ2Ni4yYy03LjggMS41LTE1LjktLjktMjEuNi02LjZzLTguMS0xMy44LTYuNi0yMS42TDk4IDMzNC43IDEwLjYgMjc1LjlDNCAyNzEuNCAwIDI2NCAwIDI1NnM0LTE1LjQgMTAuNi0xOS45TDk4IDE3Ny4zIDc3LjggNzMuOWMtMS41LTcuOCAuOS0xNS45IDYuNi0yMS42czEzLjgtOC4xIDIxLjYtNi42bDEwMy4zIDIwLjIgNTguOC04Ny40IDEuOC0yLjNDMjc0LjQtMjkgMjgxLTMyIDI4OC0zMnptLTQ3LjggMTM4Yy01LjQgOC0xNSAxMi0yNC41IDEwLjJsLTg0LTE2LjQgMTYuNCA4NGMxLjggOS41LTIuMiAxOS4xLTEwLjIgMjQuNUw2NyAyNTYgMTM4IDMwMy44YzggNS40IDEyIDE1IDEwLjIgMjQuNWwtMTYuNCA4NCA4NC0xNi40IDMuNS0uNGM4LjMtLjQgMTYuMyAzLjYgMjEgMTAuNmw0Ny44IDcxIDQ3LjgtNzEgMi4yLTIuOGM1LjYtNi4xIDE0LTkgMjIuMy03LjNsODQgMTYuNC0xNi40LTg0Yy0xLjgtOS41IDIuMi0xOS4xIDEwLjItMjQuNWw3MS00Ny44LTcxLTQ3LjhjLTgtNS40LTEyLTE1LTEwLjItMjQuNWwxNi40LTg0LTg0IDE2LjRjLTkuNSAxLjgtMTkuMS0yLjItMjQuNS0xMC4ybC00Ny44LTcxLTQ3LjggNzF6TTI4OCAzNzZhMTIwIDEyMCAwIDEgMSAwLTI0MCAxMjAgMTIwIDAgMSAxIDAgMjQwem0wLTE5MmE3MiA3MiAwIDEgMCAwIDE0NCA3MiA3MiAwIDEgMCAwLTE0NHoiXX0scF90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImltYWdlIixpY29uOls0NDgsNTEyLFtdLCJmMDNlIiwiTTY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMGMwLTguOC03LjItMTYtMTYtMTZMNjQgODB6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0xMjggMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMzYgNzJjOC41IDAgMTYuNCA0LjUgMjAuNyAxMS44bDgwIDEzNmM0LjQgNy40IDQuNCAxNi42IC4xIDI0LjFTMzUyLjYgMzg0IDM0NCAzODRsLTI0MCAwYy04LjkgMC0xNy4yLTUtMjEuMy0xMi45cy0zLjUtMTcuNSAxLjYtMjQuOGw1Ni04MGM0LjUtNi40IDExLjgtMTAuMiAxOS43LTEwLjJzMTUuMiAzLjggMTkuNyAxMC4ybDE3LjIgMjQuNiA0Ni41LTc5YzQuMy03LjMgMTIuMi0xMS44IDIwLjctMTEuOHoiXX0sZl90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImxpZ2h0YnVsYiIsaWNvbjpbMzg0LDUxMixbMTI4MTYxXSwiZjBlYiIsIk0yOTYuNSAyOTEuMUMzMjEgMjY1LjIgMzM2IDIzMC40IDMzNiAxOTIgMzM2IDExMi41IDI3MS41IDQ4IDE5MiA0OFM0OCAxMTIuNSA0OCAxOTJjMCAzOC40IDE1IDczLjIgMzkuNSA5OS4xIDIxLjMgMjIuNCA0NC45IDU0IDUzLjMgOTIuOWwxMDIuNCAwYzguNC0zOSAzMi03MC41IDUzLjMtOTIuOXptMzQuOCAzM0MzMDcuNyAzNDkgMjg4IDM3OS40IDI4OCA0MTMuN2wwIDE4LjNjMCA0NC4yLTM1LjggODAtODAgODBsLTMyIDBjLTQ0LjIgMC04MC0zNS44LTgwLTgwbDAtMTguM0M5NiAzNzkuNCA3Ni4zIDM0OSA1Mi43IDMyNC4xIDIwIDI4OS43IDAgMjQzLjIgMCAxOTIgMCA4NiA4NiAwIDE5MiAwUzM4NCA4NiAzODQgMTkyYzAgNTEuMi0yMCA5Ny43LTUyLjcgMTMyLjF6TTE0NCAxODRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00OC42IDM5LjQtODggODgtODggMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIyLjEgMC00MCAxNy45LTQwIDQweiJdfSxiZWU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiYWRkcmVzcy1jYXJkIixpY29uOls1NzYsNTEyLFs2MjE0MCwiY29udGFjdC1jYXJkIiwidmNhcmQiXSwiZjJiYiIsIk01MTIgODBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzIwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0MzJjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA5NmMwLTguOCA3LjItMTYgMTYtMTZsNDQ4IDB6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIwOCAyNDhhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6bS0zMiA0MGMtNDQuMiAwLTgwIDM1LjgtODAgODAgMCA4LjggNy4yIDE2IDE2IDE2bDE5MiAwYzguOCAwIDE2LTcuMiAxNi0xNiAwLTQ0LjItMzUuOC04MC04MC04MGwtNjQgMHpNMzc2IDE0NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwem0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDB6Il19LGhfdD1iZWUsbV90PWJlZSx6cGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1tZWgiLGljb246WzUxMiw1MTIsWzEyODUyOCwibWVoIl0sImYxMWEiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAxIC00MTYgMCAyMDggMjA4IDAgMSAxIDQxNiAwek0yNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyIDI1NiAyNTYgMCAxIDAgMC01MTJ6TTE3NiAyNDBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xOTItMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTg0IDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LGdfdD16cGUsYl90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im1hcCIsaWNvbjpbNTEyLDUxMixbMTI4NTA2LDYyMDcyXSwiZjI3OSIsIk01MTIgNDhjMC04LjMtNC4zLTE2LTExLjMtMjAuNHMtMTUuOS00LjgtMjMuMy0xLjFMMzUyLjUgODguMSAxODAgMjkuNGMtMTMuNy00LjctMjguNy0zLjgtNDEuOSAyLjNMMTMuOCA5MC4zQzUuNCA5NC4yIDAgMTAyLjcgMCAxMTJMMCA0NjRjMCA4LjIgNC4yIDE1LjkgMTEuMSAyMC4zczE1LjYgNC45IDIzLjEgMS40bDEyNy4zLTU5LjkgMTcwLjcgNTYuOWMxMy43IDQuNiAyOC41IDMuNyA0MS42LTIuNWwxMjQuNC01OC41YzguNC00IDEzLjgtMTIuNCAxMy44LTIxLjdsMC0zNTJ6TTE0NCA4Mi4xbDAgMjk5LTk2IDQ1LjIgMC0yOTkgOTYtNDUuMnptNDggMzAzLjNsMC0zMDEuMSAxMjggNDMuNSAwIDMwMC4zLTEyOC00Mi43ek0zNjggMTM0bDk2LTQ3LjQgMCAyOTguMi05NiA0NS4yIDAtMjk2eiJdfSx2X3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1wb2ludC1kb3duIixpY29uOlszODQsNTEyLFtdLCJmMGE3IiwiTTY0IDQ0OGwwLTE3Ny42YzUuMiAxIDEwLjUgMS42IDE2IDEuNmwxNiAwIDAgMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2ek04MCAyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjRjMC02Ni4zIDUzLjctMTIwIDEyMC0xMjBsNDggMGM1Mi41IDAgOTcuMSAzMy43IDExMy40IDgwLjctMy4xLS41LTYuMi0uNy05LjQtLjctMjAgMC0zNy45IDkuMi00OS43IDIzLjYtOS00LjktMTkuNC03LjYtMzAuMy03LjYtMTUuMSAwLTI5IDUuMy00MCAxNC0xMS04LjgtMjQuOS0xNC00MC0xNGwtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC04MCAwek0wIDE5MmwwIDBjMCAxOCA2IDM0LjYgMTYgNDhsMCAyMDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGwwLTgyYzUuMSAxLjMgMTAuNSAyIDE2IDIgMjUuMyAwIDQ3LjItMTQuNyA1Ny42LTM2IDcgMi42IDE0LjUgNCAyMi40IDQgMjAgMCAzNy45LTkuMiA0OS43LTIzLjYgOSA0LjkgMTkuNCA3LjYgMzAuMyA3LjYgMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC04OEMzODQgNzUuMiAzMDguOCAwIDIxNiAwTDE2OCAwQzc1LjIgMCAwIDc1LjIgMCAxNjhsMCAyNHptMzM2IDY0YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDY0ek0xNjAgMjcyYzUuNSAwIDEwLjktLjcgMTYtMmwwIDM0YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMzIgMTYgMHptNjQtMjRsMC00MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNjRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0yNHoiXX0sQ3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtbWVoLWJsYW5rIixpY29uOls1MTIsNTEyLFsxMjg1NjYsIm1laC1ibGFuayJdLCJmNWE0IiwiTTI1NiA0OGEyMDggMjA4IDAgMSAwIDAgNDE2IDIwOCAyMDggMCAxIDAgMC00MTZ6TTUxMiAyNTZhMjU2IDI1NiAwIDEgMSAtNTEyIDAgMjU2IDI1NiAwIDEgMSA1MTIgMHpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSx4X3Q9Q3BlLF9wZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tdG9uZ3VlIixpY29uOls1MTIsNTEyLFsxMjg1MzksImdyaW4tdG9uZ3VlIl0sImY1ODkiLCJNNDY0IDI1NmMwLTExNC45LTkzLjEtMjA4LTIwOC0yMDhTNDggMTQxLjEgNDggMjU2YzAgNzQuMSAzOC44IDEzOS4yIDk3LjEgMTc2LS43LTUuMi0xLjEtMTAuNi0xLjEtMTZsMC01My41Yy0xMC4yLTEyLjYtMTguMy0yNi45LTIzLjgtNDIuNC00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjYgMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTUuNSAxNS42LTEzLjYgMjkuOS0yMy44IDQyLjVsMCA1My41YzAgNS40LS40IDEwLjgtMS4xIDE2IDU4LjQtMzYuOCA5Ny4xLTEwMS45IDk3LjEtMTc2em00OCAwYzAgMTE2LjMtNzcuNiAyMTQuNi0xODMuOSAyNDUuNy0xOS41IDE2LjQtNDQuNiAyNi4zLTcyLjEgMjYuM3MtNTIuNi05LjktNzIuMS0yNi4zQzc3LjYgNDcwLjYgMCAzNzIuMyAwIDI1NiAwIDExNC42IDExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZ6TTE3NiAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTYgMjA4bDAtMzcuNGMwLTE0LjctMTEuOS0yNi42LTI2LjYtMjYuNmwtMiAwYy0xMS4zIDAtMjEuMSA3LjktMjMuNiAxOC45LTIuOCAxMi42LTIwLjggMTIuNi0yMy42IDAtMi41LTExLjEtMTIuMy0xOC45LTIzLjYtMTguOWwtMiAwYy0xNC43IDAtMjYuNiAxMS45LTI2LjYgMjYuNmwwIDM3LjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHoiXX0seV90PV9wZSx2ZWU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZnV0Ym9sIixpY29uOls1MTIsNTEyLFs5OTE3LCJmdXRib2wtYmFsbCIsInNvY2Nlci1iYWxsIl0sImYxZTMiLCJNMzg3IDIyOC4zYy00LjQtMi44LTcuNi03LTkuMi0xMS45cy0xLjQtMTAuMiAuNS0xNUw0MTEuNiAxMThjLTE5LjktMjIuNC00NC42LTQwLjUtNzIuNC01Mi43bC02OS4xIDU3LjZjLTQgMy4zLTkgNS4xLTE0LjEgNS4xcy0xMC4yLTEuOC0xNC4xLTUuMUwxNzIuOCA2NS4zYy0yNy44IDEyLjItNTIuNSAzMC4zLTcyLjQgNTIuN2wzMy40IDgzLjRjMS45IDQuOCAyLjEgMTAuMSAuNSAxNXMtNC45IDkuMS05LjIgMTEuOUw0OSAyNzYuMmMzIDMwLjkgMTIuNyA1OS43IDI3LjYgODUuMmw4OS43LTZjNS4yLS4zIDEwLjMgMS4xIDE0LjUgNC4yczcuMiA3LjQgOC40IDEyLjVsMjIgODcuMmMxNC40IDMuMiAyOS40IDQuOCA0NC44IDQuOHMzMC4zLTEuNyA0NC44LTQuOGwyMi04Ny4yYzEuMy01IDQuMi05LjQgOC40LTEyLjVzOS4zLTQuNSAxNC41LTQuMmw4OS43IDZjMTUtMjUuNCAyNC43LTU0LjMgMjcuNi04NS4xTDM4NyAyMjguM3pNMjU2IDBhMjU2IDI1NiAwIDEgMSAwIDUxMiAyNTYgMjU2IDAgMSAxIDAtNTEyem02MiAyMjFjOC40IDYuMSAxMS45IDE2LjkgOC43IDI2LjhsLTE4LjMgNTYuM2MtMy4yIDkuOS0xMi40IDE2LjYtMjIuOCAxNi42bC01OS4yIDBjLTEwLjQgMC0xOS42LTYuNy0yMi44LTE2LjZsLTE4LjMtNTYuM2MtMy4yLTkuOSAuMy0yMC43IDguNy0yNi44bDQ3LjktMzQuOGM4LjQtNi4xIDE5LjgtNi4xIDI4LjIgMEwzMTggMjIxeiJdfSx3X3Q9dmVlLE1fdD12ZWUsVHBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Utc3VycHJpc2UiLGljb246WzUxMiw1MTIsWzEyODU1OCwic3VycHJpc2UiXSwiZjVjMiIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTE3Ni04MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0tNDggODBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LGtfdD1UcGUsTHBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZvbGRlciIsaWNvbjpbNTEyLDUxMixbMTI4MTkzLDEyODQ0Nyw2MTcxNiwiZm9sZGVyLWJsYW5rIl0sImYwN2IiLCJNNjQgNDAwbDM4NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0MGMwLTguOC03LjItMTYtMTYtMTZsLTE0OS4zIDBjLTE3LjMgMC0zNC4yLTUuNi00OC0xNkwyMTIuMyA4My4yYy0yLjgtMi4xLTYuMS0zLjItOS42LTMuMkw2NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjg4YzAgOC44IDcuMiAxNiAxNiAxNnptMzg0IDQ4TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwxMzguNyAwYzEzLjggMCAyNy4zIDQuNSAzOC40IDEyLjhsMzguNCAyOC44YzUuNSA0LjIgMTIuMyA2LjQgMTkuMiA2LjRMNDQ4IDgwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwYzAgMzUuMy0yOC43IDY0LTY0IDY0eiJdfSxTX3Q9THBlLHpfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjbG91ZCIsaWNvbjpbNTc2LDUxMixbOTcyOV0sImYwYzIiLCJNODAgMTkyYzAtODguNCA3MS42LTE2MCAxNjAtMTYwIDQ3LjEgMCA4OS40IDIwLjQgMTE4LjcgNTIuNyAxMC42LTMuMSAyMS44LTQuNyAzMy4zLTQuNyA2Ni4zIDAgMTIwIDUzLjcgMTIwIDEyMCAwIDEzLjItMi4xIDI1LjktNi4xIDM3LjggNDEuNiAyMS4xIDcwLjEgNjQuMyA3MC4xIDExNC4yIDAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0zMDQgMGMtNzkuNSAwLTE0NC02NC41LTE0NC0xNDQgMC01Ni44IDMyLjktMTA1LjkgODAuNy0xMjkuNC0uNC00LjgtLjctOS43LS43LTE0LjZ6TTI0MCA4MGMtNjEuOSAwLTExMiA1MC4xLTExMiAxMTIgMCA4LjQgLjkgMTYuNiAyLjcgMjQuNSAyLjcgMTIuMS00LjMgMjQuMy0xNi4xIDI4LjEtMzguNyAxMi40LTY2LjYgNDguNy02Ni42IDkxLjQgMCA1MyA0MyA5NiA5NiA5NmwzMDQgMGM0NC4yIDAgODAtMzUuOCA4MC04MCAwLTM3LjQtMjUuNy02OC45LTYwLjUtNzcuNi03LjUtMS45LTEzLjYtNy4yLTE2LjUtMTQuM3MtMi4xLTE1LjIgMi0yMS43YzctMTEuMSAxMS0yNC4yIDExLTM4LjMgMC0zOS44LTMyLjItNzItNzItNzItMTEuMSAwLTIxLjUgMi41LTMwLjggNi45LTEwLjUgNS0yMy4xIDEuNy0yOS44LTcuOC0yMC4zLTI4LjYtNTMuNy00Ny4xLTkxLjMtNDcuMXoiXX0sQ190PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZSIsaWNvbjpbNTEyLDUxMixbMTI4MzA4LDEyODMwOSwxMjg5OTIsMTI4OTkzLDEyODk5NCwxMjg5OTUsMTI4OTk2LDk2NzksOTg5OCw5ODk5LDExMDQ0LDYxNzA4LDYxOTE1XSwiZjExMSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6Il19LCRwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tc3F1aW50IixpY29uOls1MTIsNTEyLFsxMjg1MTgsImdyaW4tc3F1aW50Il0sImY1ODUiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zNzIuMiA0Ni4zYzExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOC0xOS44IDU1LjktNzMuMSA5Ni0xMzUuOCA5Ni02Mi43IDAtMTE2LTQwLTEzNS44LTk1LjktNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42em0tMjQ5LjYtMTQzYzQuNS02LjggMTMuMy05LjIgMjAuNi01LjVsNzkuNiA0MGM1LjQgMi43IDguOCA4LjIgOC44IDE0LjNzLTMuNCAxMS42LTguOCAxNC4zbC03OS42IDQwYy03LjMgMy42LTE2LjEgMS4zLTIwLjYtNS41cy0zLjEtMTUuOSAzLjEtMjEuMUwxNTkgMjA4IDEyNS44IDE4MC4zYy02LjItNS4yLTcuNi0xNC4zLTMuMS0yMS4xem0yNjMuNiAyMS4xTDM1MyAyMDggMzg2LjIgMjM1LjdjNi4yIDUuMiA3LjYgMTQuMyAzLjEgMjEuMXMtMTMuMyA5LjItMjAuNiA1LjVsLTc5LjYtNDBjLTUuNC0yLjctOC44LTguMi04LjgtMTQuM3MzLjQtMTEuNiA4LjgtMTQuM2w3OS42LTQwYzcuMy0zLjYgMTYuMS0xLjMgMjAuNiA1LjVzMy4xIDE1LjktMy4xIDIxLjF6Il19LF9fdD0kcGUsRHBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS11c2VyIixpY29uOls1MTIsNTEyLFs2MjE0MiwidXNlci1jaXJjbGUiXSwiZjJiZCIsIk00MDYuNSAzOTkuNkMzODcuNCAzNTIuOSAzNDEuNSAzMjAgMjg4IDMyMGwtNjQgMGMtNTMuNSAwLTk5LjQgMzIuOS0xMTguNSA3OS42LTM1LjYtMzcuMy01Ny41LTg3LjktNTcuNS0xNDMuNiAwLTExNC45IDkzLjEtMjA4IDIwOC0yMDhzMjA4IDkzLjEgMjA4IDIwOGMwIDU1LjctMjEuOSAxMDYuMi01Ny41IDE0My42em0tNDAuMSAzMi43QzMzNC40IDQ1Mi40IDI5Ni42IDQ2NCAyNTYgNDY0cy03OC40LTExLjYtMTEwLjUtMzEuN2M3LjMtMzYuNyAzOS43LTY0LjMgNzguNS02NC4zbDY0IDBjMzguOCAwIDcxLjIgMjcuNiA3OC41IDY0LjN6TTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTI3MmE0MCA0MCAwIDEgMSAwLTgwIDQwIDQwIDAgMSAxIDAgODB6bS04OC00MGE4OCA4OCAwIDEgMCAxNzYgMCA4OCA4OCAwIDEgMCAtMTc2IDB6Il19LFRfdD1EcGUsQXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InJlY3RhbmdsZS1saXN0IixpY29uOls1MTIsNTEyLFsibGlzdC1hbHQiXSwiZjAyMiIsIk02NCAxMTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI1NmMwIDguOCA3LjIgMTYgMTYgMTZsMzg0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjU2YzAtOC44LTcuMi0xNi0xNi0xNkw2NCAxMTJ6TTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6TTE2MCAzMjBhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptLTMyLTk2YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptMTA0LTU2bDE2MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNjAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMCAxMjhsMTYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxMX3Q9QXBlLFBwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kIixpY29uOls1MTIsNTEyLFsxMjkzMDYsOTk5NSwiaGFuZC1wYXBlciJdLCJmMjU2IiwiTTI1Ni41IDBjLTI1LjMgMC00Ny4yIDE0LjctNTcuNiAzNi03LTIuNi0xNC41LTQtMjIuNC00LTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMTY1LjUtMi43LTIuN2MtMjUtMjUtNjUuNS0yNS05MC41IDBzLTI1IDY1LjUgMCA5MC41TDEwNyA0MzdjNDggNDggMTEzLjEgNzUgMTgxIDc1bDE2LjUgMGMxLjUgMCAzLS4xIDQuNS0uNCA5MS43LTYuMiAxNjUtNzkuNCAxNzEuMS0xNzEuMSAuMy0xLjUgLjQtMyAuNC00LjVsMC0xNzZjMC0zNS4zLTI4LjctNjQtNjQtNjQtNS41IDAtMTAuOSAuNy0xNiAybDAtMmMwLTM1LjMtMjguNy02NC02NC02NC03LjkgMC0xNS40IDEuNC0yMi40IDQtMTAuNC0yMS4zLTMyLjMtMzYtNTcuNi0zNnptLTE2IDk2LjFsMC0uMSAwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEzNmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTM2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC03MmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTcyLjljLS4xIC42LS4xIDEuMy0uMiAxLjktMy40IDY5LjctNTkuMyAxMjUuNi0xMjkgMTI5LS42IDAtMS4zIC4xLTEuOSAuMkwyODggNDY0QzIzMi45IDQ2NCAxODAgNDQyLjEgMTQxIDQwMy4xTDUzLjIgMzE1LjNjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGw0My43IDQzLjdjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMnMxNC44LTEyLjUgMTQuOC0yMi4ybDAtMjIzLjRjMC04LjggNy4yLTE2IDE2LTE2IDguOCAwIDE2IDcuMSAxNiAxNS45bDAgMTM2LjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEzNS45eiJdfSwkX3Q9UHBlLERfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ0aHVtYnMtdXAiLGljb246WzUxMiw1MTIsWzEyODA3Nyw2MTU3NV0sImYxNjQiLCJNMTcxLjUgMzguOEMxOTIuMyA0IDIzNi41LTEwIDI3NCA3LjZsNy4yIDMuOEMzMTYgMzIuMyAzMzAgNzYuNSAzMTIuNCAxMTRsMCAwLTE0LjEgMzAgMTA5LjcgMCA3LjQgLjRjMzYuMyAzLjcgNjQuNiAzNC40IDY0LjYgNzEuNiAwIDEzLjItMy42IDI1LjQtOS44IDM2IDYuMSAxMC42IDkuNyAyMi44IDkuOCAzNiAwIDE4LjMtNi45IDM0LjgtMTggNDcuNSAxLjMgNS4zIDIgMTAuOCAyIDE2LjUgMCAyNS4xLTEyLjkgNDctMzIuMiA1OS45LTEuOSAzNS41LTI5LjQgNjQuMi02NC40IDY3LjdsLTcuNCAuNC0xMDQuMSAwYy0xOCAwLTM1LjktMy40LTUyLjYtOS45bC03LjEtMy0uNy0uMy02LjYtMy4yLS43LS4zLTEyLjItNi41Yy0xMi4zLTYuNS0yMy4zLTE0LjctMzIuOS0yNC4xLTQuMSAyNi45LTI3LjMgNDcuNC01NS4zIDQ3LjRsLTMyIDBjLTMwLjkgMC01Ni0yNS4xLTU2LTU2TDAgMjAwYzAtMzAuOSAyNS4xLTU2IDU2LTU2bDMyIDBjMTAuOCAwIDIwLjkgMy4xIDI5LjUgOC41bDUwLjEtMTA2LjUgLjYtMS4yIDIuNy01IC42LS45ek01NiAxOTJjLTQuNCAwLTggMy42LTggOGwwIDIyNGMwIDQuNCAzLjYgOCA4IDhsMzIgMGM0LjQgMCA4LTMuNiA4LThsMC0yMjRjMC00LjQtMy42LTgtOC04bC0zMiAwek0yNTMuNiA1MWMtMTQuOC02LjktMzIuMy0xLjYtNDAuNyAxMmwtMi4yIDQtNTYuOCAxMjAuOWMtMy41IDcuNS01LjUgMTUuNS02IDIzLjdsLS4xIDQuMiAwIDExMi45IC4yIDcuOWMyLjQgMzIuNyAyMS40IDYyLjEgNTAuNyA3Ny43bDExLjUgNi4xIDYuMyAzLjFjMTIuNCA1LjYgMjUuOCA4LjUgMzkuNCA4LjVsMTA0LjEgMCAyLjQtLjFjMTIuMS0xLjIgMjEuNi0xMS41IDIxLjYtMjMuOWwtLjItMi42Yy0uMS0uOS0uMi0xLjctLjQtMi42LTIuNy0xMi4xIDQuMy0yNC4yIDE2LTI4IDkuNy0zLjEgMTYuNi0xMi4yIDE2LjYtMjIuOCAwLTQuMy0xLjEtOC4yLTMuMS0xMS44LTYuMy0xMS4xLTIuOC0yNS4yIDgtMzIgNi44LTQuMyAxMS4yLTExLjggMTEuMi0yMC4yIDAtNy4xLTMuMS0xMy41LTguMi0xOC01LjItNC42LTguMi0xMS4xLTguMi0xOHMzLTEzLjQgOC4yLTE4YzUuMS00LjUgOC4yLTEwLjkgOC4yLTE4bC0uMS0yLjRjLTEuMS0xMS4zLTEwLjEtMjAuMy0yMS40LTIxLjRsLTIuNC0uMS0xNDcuNSAwYy04LjIgMC0xNS44LTQuMi0yMC4yLTExLjEtNC40LTYuOS01LTE1LjctMS41LTIzLjFMMjY5IDkzLjZjNy0xNSAxLjQtMzIuNy0xMi41LTQxTDI1My42IDUxeiJdfSxBX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiYnVpbGRpbmciLGljb246WzM4NCw1MTIsWzEyNzk3MCw2MTY4N10sImYxYWQiLCJNNjQgNDhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDM4NGMwIDguOCA3LjIgMTYgMTYgMTZsODAgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA4MCA4MCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTM4NGMwLTguOC03LjItMTYtMTYtMTZMNjQgNDh6TTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptOTYgNDhjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjQwIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTk2IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNDQtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sUF90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNoZXNzLXJvb2siLGljb246WzM4NCw1MTIsWzk4MjBdLCJmNDQ3IiwiTTM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTM4LjdjMCAxMy44LTQuNSAyNy4zLTEyLjggMzguNGwtMzUuMiA0Ni45IDAgMTEyIDQwLjggNjguMWM0LjcgNy44IDcuMiAxNi43IDcuMiAyNS44IDAgMjcuNy0yMi40IDUwLjEtNTAuMSA1MC4xTDUwLjEgNTEyYy0yNy43IDAtNTAuMS0yMi40LTUwLjEtNTAuMSAwLTkuMSAyLjUtMTggNy4yLTI1LjhMNDggMzY4IDQ4IDI1NiAxMi44IDIwOS4xQzQuNSAxOTggMCAxODQuNSAwIDE3MC43TDAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDM1MiAwek00OC4zIDQ2MC44bC0uMyAxLjFjMCAxLjIgMSAyLjEgMi4xIDIuMWwyODMuOCAwYzEuMiAwIDIuMS0xIDIuMS0yLjFsLS4zLTEuMS0zNi41LTYwLjgtMjE0LjQgMC0zNi41IDYwLjh6TTQ4IDE3MC43YzAgMi42IC42IDUuMSAxLjggNy40bDEuNCAyLjIgMCAwIDM1LjIgNDYuOSA5LjYgMTIuOCAwIDExMiAxOTIgMCAwLTExMiA5LjYtMTIuOCAzNS4yLTQ2LjkgMCAwIDEuNC0yLjJjMS4yLTIuMyAxLjgtNC44IDEuOC03LjRsMC0xMjIuNy02NCAwIDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yNC02NCAwIDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yNC02NCAwIDAgMTIyLjd6Il19LEVwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtcXVlc3Rpb24iLGljb246WzUxMiw1MTIsWzYyMTA4LCJxdWVzdGlvbi1jaXJjbGUiXSwiZjA1OSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTI1Ni04MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDQ3LjItMzYgNjcuMi01NiA3NC41bDAgMy44YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtOC4xYzAtMjAuNSAxNC44LTM1LjIgMzAuMS00MC4yIDYuNC0yLjEgMTMuMi01LjUgMTguMi0xMC4zIDQuMy00LjIgNy43LTEwIDcuNy0xOS42IDAtMTcuNy0xNC4zLTMyLTMyLTMyek0yMjQgMzY4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LEVfdD1FcGUsSV90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUiLGljb246WzM4NCw1MTIsWzEyODE5NiwxMjg0NTksNjE0NjJdLCJmMTViIiwiTTE3NiA0OEw2NCA0OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzg0YzAgOC44IDcuMiAxNiAxNiAxNmwyNTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNDAtODggMGMtMzkuOCAwLTcyLTMyLjItNzItNzJsMC04OHpNMzE2LjEgMTYwTDIyNCA2Ny45IDIyNCAxMzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjguMSAwek0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwxOTcuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDE0MS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6Il19LElwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLXNhZC1jcnkiLGljb246WzUxMiw1MTIsWzEyODU1Nywic2FkLWNyeSJdLCJmNWIzIiwiTTQwMCA0MDYuMUw0MDAgMjg4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTUyLjZjLTI4LjcgMTUtNjEuNCAyMy40LTk2IDIzLjRzLTY3LjMtOC41LTk2LTIzLjRMMTYwIDI4OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDExOC4xQzcyLjYgMzY4LjIgNDggMzE1IDQ4IDI1NiA0OCAxNDEuMSAxNDEuMSA0OCAyNTYgNDhzMjA4IDkzLjEgMjA4IDIwOGMwIDU5LTI0LjYgMTEyLjItNjQgMTUwLjF6TTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNTIgMTk2bDE2IDBjMTEgMCAyMCA5IDIwIDIwczkgMjAgMjAgMjAgMjAtOSAyMC0yMGMwLTMzLjEtMjYuOS02MC02MC02MGwtMTYgMGMtMzMuMSAwLTYwIDI2LjktNjAgNjAgMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjAgOS0yMCAyMC0yMHptMTcyIDIwYzAtMTEgOS0yMCAyMC0yMGwxNiAwYzExIDAgMjAgOSAyMCAyMHM5IDIwIDIwIDIwIDIwLTkgMjAtMjBjMC0zMy4xLTI2LjktNjAtNjAtNjBsLTE2IDBjLTMzLjEgMC02MCAyNi45LTYwIDYwIDAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwek0yMDggMzM2bDAgMzJjMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OGwwLTMyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4eiJdfSxOX3Q9SXBlLFJfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjYWxlbmRhci1taW51cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3MiIsIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDE2MCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTAgMTEybC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyODhjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI4OGMwLTguOC03LjItMTYtMTYtMTZsLTI2NCAwem0zMiAxMzZsMTQ0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxOcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS10aXJlZCIsaWNvbjpbNTEyLDUxMixbMTI4NTU1LCJ0aXJlZCJdLCJmNWM4IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc2LjUgNjQuM0MxOTYuMSAzMDIuMSAyMjMuOCAyODggMjU2IDI4OHM1OS45IDE0LjEgNzkuNSAzMi4zYzE5IDE3LjggMzIuNSA0MS43IDMyLjUgNjMuNyAwIDUuNC0yLjcgMTAuNC03LjIgMTMuNHMtMTAuMiAzLjQtMTUuMiAxLjNsLTE3LjItNy41Yy0yMi44LTEwLTQ3LjUtMTUuMS03Mi40LTE1LjFzLTQ5LjYgNS4yLTcyLjQgMTUuMWwtMTcuMiA3LjVjLTQuOSAyLjItMTAuNyAxLjctMTUuMi0xLjNzLTcuMi04LTcuMi0xMy40YzAtMjIgMTMuNS00NS45IDMyLjUtNjMuN3pNMTIyLjYgMTU5LjJjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAyMDggMTI1LjggMTgwLjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDIwOCAzODYuMiAyMzUuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0sT190PU5wZSxGX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1wb2ludC1yaWdodCIsaWNvbjpbNTEyLDUxMixbXSwiZjBhNCIsIk00NDggMTI4bC0xNzcuNiAwYzEgNS4yIDEuNiAxMC41IDEuNiAxNmwwIDE2IDE3NiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2ek0yMjQgMTQ0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0yNCAwYy02Ni4zIDAtMTIwIDUzLjctMTIwIDEyMGwwIDQ4YzAgNTIuNSAzMy43IDk3LjEgODAuNyAxMTMuNC0uNS0zLjEtLjctNi4yLS43LTkuNCAwLTIwIDkuMi0zNy45IDIzLjYtNDkuNy00LjktOS03LjYtMTkuNC03LjYtMzAuMyAwLTE1LjEgNS4zLTI5IDE0LTQwLTguOC0xMS0xNC0yNC45LTE0LTQwbDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC04MHpNMTkyIDY0bDAgMGMxOCAwIDM0LjYgNiA0OCAxNmwyMDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGwtODIgMGMxLjMgNS4xIDIgMTAuNSAyIDE2IDAgMjUuMy0xNC43IDQ3LjItMzYgNTcuNiAyLjYgNyA0IDE0LjUgNCAyMi40IDAgMjAtOS4yIDM3LjktMjMuNiA0OS43IDQuOSA5IDcuNiAxOS40IDcuNiAzMC4zIDAgMzUuMy0yOC43IDY0LTY0IDY0bC04OCAwQzc1LjIgNDQ4IDAgMzcyLjggMCAyODBsMC00OEMwIDEzOS4yIDc1LjIgNjQgMTY4IDY0bDI0IDB6bTY0IDMzNmM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw2NCAwem0xNi0xNzZjMCA1LjUtLjcgMTAuOS0yIDE2bDM0IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTMyIDAgMCAxNnptLTI0IDY0bC00MCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDY0IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTI0IDB6Il19LFJwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtdXAiLGljb246WzUxMiw1MTIsWzYxNDY3LCJhcnJvdy1hbHQtY2lyY2xlLXVwIl0sImYzNWIiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDEgMCA0MTYgMjA4IDIwOCAwIDEgMSAwLTQxNnptMCA0NjRhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0xMS4zLTM4Ny4zYy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMGwtMTA0IDEwNGMtNC42IDQuNi01LjkgMTEuNS0zLjUgMTcuNHM4LjMgOS45IDE0LjggOS45bDcyIDAgMCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTEwNCA3MiAwYzYuNSAwIDEyLjMtMy45IDE0LjgtOS45czEuMS0xMi45LTMuNS0xNy40bC0xMDQtMTA0eiJdfSxCX3Q9UnBlLEhfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXNjaXNzb3JzIixpY29uOls1MTIsNTEyLFtdLCJmMjU3IiwiTS4yIDI3Ni4zYy0xLjItMzUuMyAyNi40LTY1IDYxLjctNjYuMmwzLjMtLjEtOC4yLTEuOEMyMi41IDIwMC41IC43IDE2Ni4zIDguMyAxMzEuOFM1MC4yIDc1LjUgODQuNyA4My4ybDE3MyAzOC4zYzIuMy0yLjkgNC42LTUuNyA3LjEtOC41bDE4LjQtMjAuM0MyOTkuOSA3NC41IDMyMy41IDY0IDM0OC4zIDY0bDEwLjIgMGM1NC4xIDAgMTA0LjEgMjguNyAxMzEuMyA3NS40bDEuNSAyLjZjMTMuNiAyMy4yIDIwLjcgNDkuNyAyMC43IDc2LjZMNTEyIDM0NGMwIDY2LjMtNTMuNyAxMjAtMTIwIDEyMGwtMTA0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMi44IC4yLTUuNiAuNS04LjMtMTkuNC0xMS0zMi41LTMxLjgtMzIuNS01NS43IDAtLjggMC0xLjYgMC0yLjRMNjYuNCAzMzhjLTM1LjMgMS4yLTY1LTI2LjQtNjYuMi02MS43em02My40LTE4LjJjLTguOCAuMy0xNS43IDcuNy0xNS40IDE2LjZzNy43IDE1LjcgMTYuNSAxNS40bDE2MS41LTUuNmM5LjgtLjMgMTguNyA1LjMgMjIuNyAxNC4yczIuMiAxOS4zLTQuNSAyNi40Yy0yLjggMi45LTQuNCA2LjctNC40IDExIDAgOC44IDcuMiAxNiAxNiAxNiA5LjEgMCAxNy40IDUuMSAyMS41IDEzLjNzMy4yIDE3LjktMi4zIDI1LjFjLTIgMi43LTMuMiA2LTMuMiA5LjYgMCA4LjggNy4yIDE2IDE2IDE2bDEwNCAwYzM5LjggMCA3Mi0zMi4yIDcyLTcybDAtMTI1LjRjMC0xOC40LTQuOS0zNi41LTE0LjItNTIuNGwtMS41LTIuNmMtMTguNi0zMi01Mi44LTUxLjYtODkuOC01MS42bC0xMC4yIDBjLTExLjMgMC0yMiA0LjgtMjkuNiAxMy4xbDAgMC0xOC40IDIwLjNjLS42IC42LTEuMSAxLjMtMS43IDEuOWw1NyAxMy4yYzguNiAyIDE0IDEwLjYgMTIgMTkuMnMtMTAuNiAxNC0xOS4yIDEyTDI2Mi44IDE3MS44IDc0LjMgMTMwYy04LjYtMS45LTE3LjIgMy41LTE5LjEgMTIuMnMzLjUgMTcuMiAxMi4yIDE5LjFsMTg3LjUgNDEuNmMxMC4yIDIuMyAxNy44IDEwLjkgMTguNyAyMS40bC4xIDFjLjYgNi42LTEuNSAxMy4xLTUuOCAxOC4xcy0xMC42IDcuOS0xNy4yIDguMkw2My42IDI1OC4xeiJdfSxxX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZ2VtIixpY29uOls1MTIsNTEyLFsxMjgxNDJdLCJmM2E1IiwiTTE2OC41IDcybDg3LjUgOTMgODcuNS05My0xNzUgMHpNMzgzLjkgOTkuMWwtNzIuMyA3Ni45IDEyOSAwLTU2LjYtNzYuOXptNTAgMTI0LjlMNzguMSAyMjQgMjU2IDQyMC4zIDQzMy45IDIyNHpNNzEuNSAxNzZsMTI5IDAtNzIuMy03Ni45LTU2LjYgNzYuOXptNDM0LjMgNDAuMWwtMjMyIDI1NmMtNC41IDUtMTEgNy45LTE3LjggNy45cy0xMy4yLTIuOS0xNy44LTcuOWwtMjMyLTI1NmMtNy43LTguNS04LjMtMjEuMi0xLjUtMzAuNGwxMTItMTUyYzQuNS02LjEgMTEuNy05LjggMTkuMy05LjhsMjQwIDBjNy42IDAgMTQuOCAzLjYgMTkuMyA5LjhsMTEyIDE1MmM2LjggOS4yIDYuMSAyMS45LTEuNSAzMC40eiJdfSwkYj17cHJlZml4OiJmYXIiLGljb25OYW1lOiJyZWN0YW5nbGUteG1hcmsiLGljb246WzUxMiw1MTIsWzYyMTY0LCJyZWN0YW5nbGUtdGltZXMiLCJ0aW1lcy1yZWN0YW5nbGUiLCJ3aW5kb3ctY2xvc2UiXSwiZjQxMCIsIk02NCAxMTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI1NmMwIDguOCA3LjIgMTYgMTYgMTZsMzg0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjU2YzAtOC44LTcuMi0xNi0xNi0xNkw2NCAxMTJ6TTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTMzNC4xIDQ5LjljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTQ0LjEgNDQuMSA0NC4xIDQ0LjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDQuMS00NC4xLTQ0LjEgNDQuMWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw0NC4xLTQ0LjEtNDQuMS00NC4xYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNDQuMSA0NC4xIDQ0LjEtNDQuMWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHoiXX0sVl90PSRiLGpfdD0kYixVX3Q9JGIsRWI9e3ByZWZpeDoiZmFyIixpY29uTmFtZToidHJhc2gtY2FuIixpY29uOls0NDgsNTEyLFs2MTQ2MCwidHJhc2gtYWx0Il0sImYyZWQiLCJNMTY2LjItMTZjLTEzLjMgMC0yNS4zIDguMy0zMCAyMC44TDEyMCA0OCAyNCA0OEMxMC43IDQ4IDAgNTguNyAwIDcyUzEwLjcgOTYgMjQgOTZsNDAwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTk2IDAtMTYuMi00My4yQzMwNy4xLTcuNyAyOTUuMi0xNiAyODEuOC0xNkwxNjYuMi0xNnpNMzIgMTQ0bDAgMzA0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzA0LTQ4IDAgMCAzMDRjMCA4LjgtNy4yIDE2LTE2IDE2TDk2IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzA0LTQ4IDB6bTE2MCA3MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE3NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTc2em0xMTIgMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE3NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTc2eiJdfSxXX3Q9RWIsR190PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImxpZmUtcmluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjFjZCIsIk0zODUuMSA0MTkuMUMzNDkuNyA0NDcuMiAzMDQuOCA0NjQgMjU2IDQ2NHMtOTMuNy0xNi44LTEyOS4xLTQ0LjlsODAuNC04MC40YzE0LjMgOC40IDMxIDEzLjMgNDguOCAxMy4zczM0LjUtNC44IDQ4LjgtMTMuM2w4MC40IDgwLjR6bTY4LjEgLjJDNDg5LjkgMzc0LjkgNTEyIDMxOC4xIDUxMiAyNTZTNDg5LjkgMTM3LjEgNDUzLjIgOTIuN0w0NjUgODFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEw0MTkuMyA1OC44QzM3NC45IDIyLjEgMzE4LjEgMCAyNTYgMFMxMzcuMSAyMi4xIDkyLjcgNTguOEw4MSA0N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTMzcuNyA3MS42IDQ3IDgxTDU4LjggOTIuN0MyMi4xIDEzNy4xIDAgMTkzLjkgMCAyNTZTMjIuMSAzNzQuOSA1OC44IDQxOS4zTDQ3IDQzMWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDExLjgtMTEuOEMxMzcuMSA0ODkuOSAxOTMuOSA1MTIgMjU2IDUxMnMxMTguOS0yMi4xIDE2My4zLTU4LjhMNDMxIDQ2NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTExLjgtMTEuOHptLTM0LjEtMzQuMWwtODAuNC04MC40YzguNC0xNC4zIDEzLjMtMzEgMTMuMy00OC44cy00LjgtMzQuNS0xMy4zLTQ4LjhsODAuNC04MC40QzQ0Ny4yIDE2Mi4zIDQ2NCAyMDcuMiA0NjQgMjU2cy0xNi44IDkzLjctNDQuOSAxMjkuMXpNMzg1LjEgOTIuOWwtODAuNCA4MC40Yy0xNC4zLTguNC0zMS0xMy4zLTQ4LjgtMTMuM3MtMzQuNSA0LjgtNDguOCAxMy4zTDEyNi45IDkyLjlDMTYyLjMgNjQuOCAyMDcuMiA0OCAyNTYgNDhzOTMuNyAxNi44IDEyOS4xIDQ0Ljl6TTE3My4zIDMwNC44TDkyLjkgMzg1LjFDNjQuOCAzNDkuNyA0OCAzMDQuOCA0OCAyNTZzMTYuOC05My43IDQ0LjktMTI5LjFsODAuNCA4MC40Yy04LjQgMTQuMy0xMy4zIDMxLTEzLjMgNDguOHM0LjggMzQuNSAxMy4zIDQ4Ljh6TTIwOCAyNTZhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHoiXX0sWV90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNvcHlyaWdodCIsaWNvbjpbNTEyLDUxMixbMTY5XSwiZjFmOSIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIwNS4xIDMwNi45Yy0yOC4xLTI4LjEtMjguMS03My43IDAtMTAxLjhzNzMuNy0yOC4xIDEwMS44IDBjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45Yy00Ni45LTQ2LjktMTIyLjgtNDYuOS0xNjkuNyAwcy00Ni45IDEyMi44IDAgMTY5LjcgMTIyLjggNDYuOSAxNjkuNyAwYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBjLTI4LjEgMjguMS03My43IDI4LjEtMTAxLjggMHoiXX0sT3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1sZWZ0IixpY29uOls1MTIsNTEyLFs2MTg0MCwiYXJyb3ctYWx0LWNpcmNsZS1sZWZ0Il0sImYzNTkiLCJNNDggMjU2YTIwOCAyMDggMCAxIDEgNDE2IDAgMjA4IDIwOCAwIDEgMSAtNDE2IDB6bTQ2NCAwYTI1NiAyNTYgMCAxIDAgLTUxMiAwIDI1NiAyNTYgMCAxIDAgNTEyIDB6TTEyNC43IDI0NC43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNmwxMDQgMTA0YzQuNiA0LjYgMTEuNSA1LjkgMTcuNCAzLjVzOS45LTguMyA5LjktMTQuOGwwLTcyIDEwNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTEwNCAwIDAtNzJjMC02LjUtMy45LTEyLjMtOS45LTE0LjhzLTEyLjktMS4xLTE3LjQgMy41bC0xMDQgMTA0eiJdfSxLX3Q9T3BlLFpfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjYWxlbmRhciIsaWNvbjpbNDQ4LDUxMixbMTI4MTk3LDEyODE5OF0sImYxMzMiLCJNMTIwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0MCAxNjAgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0em0wIDExMmwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDggMzUyIDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTI2NCAwek00OCAyMjRsMCAxOTJjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE5Mi0zNTIgMHoiXX0sRnBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZnJvd24tb3BlbiIsaWNvbjpbNTEyLDUxMixbMTI4NTUwLCJmcm93bi1vcGVuIl0sImY1N2EiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0xODIuNCAzODIuNWMtMTIuNCA1LjItMjYuNS00LjEtMjEuMS0xNi40IDE2LTM2LjYgNTIuNC02Mi4xIDk0LjgtNjIuMXM3OC44IDI1LjYgOTQuOCA2Mi4xYzUuNCAxMi4zLTguNyAyMS42LTIxLjEgMTYuNC0yMi40LTkuNS00Ny40LTE0LjgtNzMuNy0xNC44cy01MS4zIDUuMy03My43IDE0Ljh6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sWF90PUZwZSxCcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2hhcnQtYmFyIixpY29uOls1MTIsNTEyLFsiYmFyLWNoYXJ0Il0sImYwODAiLCJNNDggNTZjMC0xMy4zLTEwLjctMjQtMjQtMjRTMCA0Mi43IDAgNTZMMCA0MDBjMCA0NC4yIDM1LjggODAgODAgODBsNDA4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMODAgNDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMkw0OCA1NnptMTA0IDcybDIwOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDE1MiA4MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNHptMCA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6bTAgMTEyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNzIgMHoiXX0sUV90PUJwZSxEYj17cHJlZml4OiJmYXIiLGljb25OYW1lOiJob3VzZSIsaWNvbjpbNTEyLDUxMixbMTI3OTY4LDYzNDk4LDYzNTAwLCJob21lIiwiaG9tZS1hbHQiLCJob21lLWxnLWFsdCJdLCJmMDE1IiwiTTI0MCA2LjFjOS4xLTguMiAyMi45LTguMiAzMiAwbDIzMiAyMDhjOS45IDguOCAxMC43IDI0IDEuOCAzMy45cy0yNCAxMC43LTMzLjkgMS44bC04LTcuMiAwIDIwNS4zYzAgMzUuMy0yOC43IDY0LTY0IDY0bC0yODggMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yMDUuMy04IDcuMmMtOS45IDguOC0yNSA4LTMzLjktMS44cy04LTI1IDEuOC0zMy45TDI0MCA2LjF6bTE2IDUwLjFMOTYgMTk5LjcgOTYgNDQ4YzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwIDAtMTA0YzAtMzkuOCAzMi4yLTcyIDcyLTcybDQ4IDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCAxMDQgNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNDguMy0xNjAtMTQzLjR6TTIwOCA0NjRsOTYgMCAwLTEwNGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMDR6Il19LEpfdD1EYixlVHQ9RGIsdFR0PURiLEhwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWZyb3duIixpY29uOls1MTIsNTEyLFs5Nzg1LCJmcm93biJdLCJmMTE5IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHpNMzM0LjcgMzg0LjZDMzE5LjcgMzY5IDI5My42IDM1MiAyNTYgMzUycy02My43IDE3LTc4LjcgMzIuNmMtOS4yIDkuNi0yNC40IDkuOS0zMy45IC43cy05LjktMjQuNC0uNy0zMy45YzIyLjEtMjMgNjAtNDcuNCAxMTMuMy00Ny40czkxLjIgMjQuNCAxMTMuMyA0Ny40YzkuMiA5LjYgOC45IDI0LjgtLjcgMzMuOXMtMjQuOCA4LjktMzMuOS0uN3pNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxhVHQ9SHBlLHhlZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ1c2VyIixpY29uOls0NDgsNTEyLFsxMjgxMDAsNjIxNDQsNjI0NzAsInVzZXItYWx0IiwidXNlci1sYXJnZSJdLCJmMDA3IiwiTTE0NCAxMjhhODAgODAgMCAxIDEgMTYwIDAgODAgODAgMCAxIDEgLTE2MCAwem0yMDggMGExMjggMTI4IDAgMSAwIC0yNTYgMCAxMjggMTI4IDAgMSAwIDI1NiAwek00OCA0ODBjMC03MC43IDU3LjMtMTI4IDEyOC0xMjhsOTYgMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGwwIDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLThjMC05Ny4yLTc4LjgtMTc2LTE3Ni0xNzZsLTk2IDBDNzguOCAzMDQgMCAzODIuOCAwIDQ4MGwwIDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTh6Il19LHJUdD14ZWUsc1R0PXhlZSxpVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic25vd2ZsYWtlIixpY29uOls1MTIsNTEyLFsxMDA1MiwxMDA1NF0sImYyZGMiLCJNMjgwLjEtOGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDc4LjEtMjMtMjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTcgNTcgMCA3Ni41LTY2LjItMzguMi0yMC45LTc3LjhjLTMuNC0xMi44LTE2LjYtMjAuNC0yOS40LTE3Uzk1LjIgOTggOTguNyAxMTAuOGw4LjQgMzEuNS02Ny42LTM5QzI4IDk2LjYgMTMuMyAxMDAuNSA2LjcgMTEyUzQgMTM4LjIgMTUuNSAxNDQuOGw2Ny42IDM5LTMxLjUgOC40Yy0xMi44IDMuNC0yMC40IDE2LjYtMTcgMjkuNHMxNi42IDIwLjQgMjkuNCAxN2w3Ny44LTIwLjkgNjYuMiAzOC4yLTY2LjIgMzguMi03Ny44LTIwLjljLTEyLjgtMy40LTI2IDQuMi0yOS40IDE3czQuMiAyNiAxNyAyOS40bDMxLjUgOC40LTY3LjYgMzlDNCAzNzMuOCAuMSAzODguNSA2LjcgNDAwczIxLjMgMTUuNCAzMi44IDguOGw2Ny42LTM5LTguNCAzMS41Yy0zLjQgMTIuOCA0LjIgMjYgMTcgMjkuNHMyNi00LjIgMjkuNC0xN2wyMC45LTc3LjggNjYuMi0zOC4yIDAgNzYuNS01NyA1N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDIzLTIzIDAgNzguMWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzguMSAyMyAyM2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU3LTU3IDAtNzYuNSA2Ni4yIDM4LjIgMjAuOSA3Ny44YzMuNCAxMi44IDE2LjYgMjAuNCAyOS40IDE3czIwLjQtMTYuNiAxNy0yOS40bC04LjQtMzEuNSA2Ny42IDM5YzExLjUgNi42IDI2LjIgMi43IDMyLjgtOC44czIuNy0yNi4yLTguOC0zMi44bC02Ny42LTM5IDMxLjUtOC40YzEyLjgtMy40IDIwLjQtMTYuNiAxNy0yOS40cy0xNi42LTIwLjQtMjkuNC0xN2wtNzcuOCAyMC45LTY2LjItMzguMiA2Ni4yLTM4LjIgNzcuOCAyMC45YzEyLjggMy40IDI2LTQuMiAyOS40LTE3cy00LjItMjYtMTctMjkuNGwtMzEuNS04LjQgNjcuNi0zOWMxMS41LTYuNiAxNS40LTIxLjMgOC44LTMyLjhzLTIxLjMtMTUuNC0zMi44LTguOGwtNjcuNiAzOSA4LjQtMzEuNWMzLjQtMTIuOC00LjItMjYtMTctMjkuNHMtMjYgNC4yLTI5LjQgMTdsLTIwLjkgNzcuOC02Ni4yIDM4LjIgMC03Ni41IDU3LTU3YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTIzIDIzIDAtNzguMXoiXX0sb1R0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImJvb2ttYXJrIixpY29uOlszODQsNTEyLFsxMjgyNzgsNjE1OTFdLCJmMDJlIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNDE3LjFjMCAyNS42LTI4LjUgNDAuOC00OS44IDI2LjZMMTkyIDQxMi44IDQ5LjggNTA3LjdDMjguNSA1MjEuOSAwIDUwNi42IDAgNDgxLjFMMCA2NHpNNjQgNDhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDM4Ny4yIDExNy40LTc4LjJjMTYuMS0xMC43IDM3LjEtMTAuNyA1My4yIDBMMzM2IDQ1MS4yIDMzNiA2NGMwLTguOC03LjItMTYtMTYtMTZMNjQgNDh6Il19LHFwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtY2FyZXQtbGVmdCIsaWNvbjpbNDQ4LDUxMixbImNhcmV0LXNxdWFyZS1sZWZ0Il0sImYxOTEiLCJNNDggNDE2YzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMjBjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjB6bTE2IDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MHptNjQtMjI0YzAtNi43IDIuOC0xMyA3LjctMTcuNmwxMTItMTA0YzctNi41IDE3LjItOC4yIDI1LjktNC40UzI4OCAxNDIuNSAyODggMTUybDAgMjA4YzAgOS41LTUuNyAxOC4yLTE0LjQgMjJzLTE4LjkgMi4xLTI1LjktNC40bC0xMTItMTA0Yy00LjktNC41LTcuNy0xMC45LTcuNy0xNy42eiJdfSxuVHQ9cXBlLHllZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kc2hha2UiLGljb246WzY0MCw1MTIsWzEyOTMwOSw2MjY2MiwiaGFuZHNoYWtlLWFsdCIsImhhbmRzaGFrZS1zaW1wbGUiXSwiZjJiNSIsIk01OTguMSA3NS40YzEwLjctNy44IDEzLjEtMjIuOCA1LjMtMzMuNXMtMjIuOC0xMy4xLTMzLjUtNS4zbC03NC41IDU0LjItOS45LTYuNkM0NjUuOCA3MSA0NDIuNiA2NCA0MTguOSA2NGwtNTkuMiAwLS40IDAtMTQzLjYgMGMtMjYuNyAwLTUyLjUgOC45LTczLjQgMjUuMUw3MC4xIDM2LjZjLTEwLjctNy44LTI1LjctNS40LTMzLjUgNS4zcy01LjQgMjUuNyA1LjMgMzMuNWw4OCA2NGM5LjYgNi45IDIyLjcgNS45IDMxLjEtMi40bDMuOS0zLjljMTMuNS0xMy41IDMxLjgtMjEuMSA1MC45LTIxLjFsNDYuMyAwLTkxLjcgOTEuN2MtMTUuNiAxNS42LTE1LjYgNDAuOSAwIDU2LjZsLjggLjhDMjE4IDMwOCAyOTQgMzA4IDM0MC45IDI2MS4xbDI3LjEtMjcuMSA5Ny44IDk3LjhjMTUuNiAxNS42IDE1LjYgNDAuOSAwIDU2LjZsLTkuOCA5LjgtMzEtMzFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMjggMjhjLTE3LjUgMTAuNC0zNy4yIDE2LjctNTcuNiAxOC41TDMxMyAzOTljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMTUgMTUtMy44IDBjLTM2LjEgMC03MC43LTE0LjMtOTYuMi0zOS44TDY1IDI3OWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOUwxNjAuMiA0NDIuMWMzNC41IDM0LjUgODEuMyA1My45IDEzMC4xIDUzLjlsNTEuOCAwIDEgMSAxLTEgNS43IDBjNDguOCAwIDk1LjYtMTkuNCAxMzAuMS01My45bDE5LjktMTkuOWMxLjItMS4yIDIuMy0yLjMgMy40LTMuNSAuNy0uNSAxLjMtMS4xIDEuOS0xLjdMNjA5IDMxM2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01My44IDUzLjhjLTQuMi0xMi44LTExLjMtMjQuOS0yMS41LTM1LjFMMzg1IDE4M2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTQ0LjEgNDQuMWMtMjYuNSAyNi41LTY4LjUgMjgtOTYuNyA0LjZsOTguNy05OC43YzEzLjQtMTMuNCAzMS42LTIxIDUwLjYtMjEuMWw4LjUgMCAuMiAwIDUwLjggMGMxNC4yIDAgMjguMSA0LjIgMzkuOSAxMi4xTDQ4Mi43IDE0MGM4LjQgNS42IDE5LjMgNS4zIDI3LjQtLjZsODgtNjR6Il19LGxUdD15ZWUsY1R0PXllZSxWcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1zbWlsZS13aW5rIixpY29uOls1MTIsNTEyLFsxMjg1MjEsInNtaWxlLXdpbmsiXSwiZjRkYSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTE3Ny4zIDYzLjRDMTkyLjMgMzM1IDIxOC40IDM1MiAyNTYgMzUyczYzLjctMTcgNzguNy0zMi42YzkuMi05LjYgMjQuNC05LjkgMzMuOS0uN3M5LjkgMjQuNCAuNyAzMy45Yy0yMi4xIDIzLTYwIDQ3LjQtMTEzLjMgNDcuNHMtOTEuMi0yNC40LTExMy4zLTQ3LjRjLTkuMi05LjYtOC45LTI0LjggLjctMzMuOXMyNC44LTguOSAzMy45IC43ek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2NCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGMwLTMzLjEgMjYuOS02MCA2MC02MGwxNiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwIDAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMC05LTIwLTIwLTIwbC0xNiAwYy0xMSAwLTIwIDktMjAgMjB6Il19LGRUdD1WcGUsanBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zcXVpbnQtdGVhcnMiLGljb246WzUxMiw1MTIsWzEyOTMxNSwiZ3Jpbi1zcXVpbnQtdGVhcnMiXSwiZjU4NiIsIk00MDMuMSA0MDMuMWM2Ny4yLTY3LjIgNzguOC0xNjguOSAzNC45LTI0OGwzNi43LTUuMmM0LjUtLjYgOC44LTEuNiAxMy4xLTIuOCA0NC42IDk0LjkgMjcuNyAyMTEuNS01MC43IDI5MHMtMTk1LjEgOTUuMy0yOTAgNTAuN2MxLjItNC4yIDIuMS04LjYgMi44LTEzLjFsNS4yLTM2LjdjNzkuMSA0My45IDE4MC44IDMyLjMgMjQ4LTM0Ljl6TTc1IDc1Yzc4LjQtNzguNCAxOTUuMS05NS4zIDI5MC01MC43LTEuMiA0LjItMi4xIDguNi0yLjggMTMuMWwtNS4yIDM2LjdjLTc5LjEtNDMuOS0xODAuOC0zMi4zLTI0OCAzNC45cy03OC44IDE2OC45LTM0LjkgMjQ4bC0zNi43IDUuMmMtNC41IC42LTguOCAxLjYtMTMuMSAyLjgtNDQuNi05NC45LTI3LjctMjExLjUgNTAuNy0yOTB6TTM3MC45IDIwNi41YzUuOC0xMC45IDIxLjEtMTIuNCAyNi40LTEuMyAyNS42IDUzLjUgMTYuMiAxMTkuNi0yOC4yIDE2My45LTQ0LjMgNDQuMy0xMTAuMyA1My43LTE2My44IDI4LjItMTEuMS01LjMtOS42LTIwLjYgMS4zLTI2LjQgMzItMTcuMSA2NC4yLTQwLjggOTMuOC03MC40IDI5LjctMjkuNyA1My40LTYxLjkgNzAuNS05NHpNOTMuMyAyODEuOWMtMS43LTggMi45LTE1LjkgMTAuNi0xOC40bDg0LjYtMjhjNS43LTEuOSAxMi4xLS40IDE2LjMgMy45czUuOCAxMC42IDMuOSAxNi4zbC0yOCA4NC42Yy0yLjYgNy43LTEwLjUgMTIuMy0xOC40IDEwLjZzLTEzLjQtOS0xMi43LTE3LjFsMy45LTQzLjEtNDMuMSAzLjljLTguMSAuNy0xNS41LTQuNy0xNy4xLTEyLjd6TTI5NC42IDExMC40bC0zLjkgNDMuMSA0My4xLTMuOWM4LjEtLjcgMTUuNSA0LjcgMTcuMSAxMi43cy0yLjkgMTUuOS0xMC42IDE4LjRsLTg0LjYgMjhjLTUuNyAxLjktMTIuMSAuNC0xNi4zLTMuOXMtNS44LTEwLjYtMy45LTE2LjNsMjgtODQuNmMyLjYtNy43IDEwLjUtMTIuMyAxOC40LTEwLjZzMTMuNCA5IDEyLjcgMTcuMXpNNTEyIDUxLjRjMCAyNS42LTE4LjggNDcuMy00NC4xIDUwLjlMNDIxLjEgMTA5Yy0xMC42IDEuNS0xOS42LTcuNS0xOC4xLTE4LjFsNi43LTQ2LjdDNDEzLjMgMTguOCA0MzUgMCA0NjAuNiAwIDQ4OSAwIDUxMiAyMyA1MTIgNTEuNHpNNDQuMSA0MDkuN0w5MC45IDQwM2MxMC42LTEuNSAxOS42IDcuNSAxOC4xIDE4LjFsLTYuNyA0Ni43Qzk4LjcgNDkzLjIgNzcgNTEyIDUxLjQgNTEyIDIzIDUxMiAwIDQ4OSAwIDQ2MC42IDAgNDM1IDE4LjggNDEzLjMgNDQuMSA0MDkuN3oiXX0sdVR0PWpwZSxwVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS1hdWRpbyIsaWNvbjpbMzg0LDUxMixbXSwiZjFjNyIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwek0yMjEuOSAyNjcuNmMtNC43IDEwLS4zIDIxLjkgOS43IDI2LjYgMTkuMiA4LjkgMzIuNCAyOC4zIDMyLjQgNTAuOHMtMTMuMiA0MS45LTMyLjQgNTAuOGMtMTAgNC43LTE0LjQgMTYuNi05LjcgMjYuNnMxNi42IDE0LjQgMjYuNiA5LjdDMjgxLjIgNDE2LjggMzA0IDM4My42IDMwNCAzNDVzLTIyLjgtNzEuOS01NS42LTg3LjFjLTEwLTQuNy0yMS45LS4zLTI2LjYgOS43ek0xMDQgMzA1Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDE2IDAgMjcuMiAzNGMzIDMuOCA3LjYgNiAxMi41IDZsLjMgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMjhjMC04LjgtNy4yLTE2LTE2LTE2bC0uMyAwYy00LjkgMC05LjUgMi4yLTEyLjUgNmwtMjcuMiAzNC0xNiAwek0yMjMuMyAzNzNjOS45LTUuNCAxNi43LTE2IDE2LjctMjguMXMtNi43LTIyLjctMTYuNy0yOC4xYy03LjgtNC4yLTE1LjMgMy4zLTE1LjMgMTIuMWwwIDMyYzAgOC44IDcuNiAxNi4zIDE1LjMgMTIuMXoiXX0sVXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbGVuZGFyLXhtYXJrIixpY29uOls0NDgsNTEyLFsiY2FsZW5kYXItdGltZXMiXSwiZjI3MyIsIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDE2MCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTAgMTEybC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyODhjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI4OGMwLTguOC03LjItMTYtMTYtMTZsLTI2NCAwem0xNzEuOSA5Mi4xYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC0zMy45IDMzLjkgMzMuOSAzMy45YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTMzLjktMzMuOS0zMy45IDMzLjljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzMuOS0zMy45LTMzLjktMzMuOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDMzLjkgMzMuOSAzMy45LTMzLjljOS40LTkuNCAyNC42LTkuNCAzMy45IDB6Il19LGZUdD1VcGUsV3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1kb3duIixpY29uOls1MTIsNTEyLFs2MTQ2NiwiYXJyb3ctYWx0LWNpcmNsZS1kb3duIl0sImYzNTgiLCJNMjU2IDQ2NGEyMDggMjA4IDAgMSAxIDAtNDE2IDIwOCAyMDggMCAxIDEgMCA0MTZ6TTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTIgMjU2IDI1NiAwIDEgMCAwLTUxMnpNMjQ0LjcgMzg3LjNjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsMTA0LTEwNGM0LjYtNC42IDUuOS0xMS41IDMuNS0xNy40UzM2Ni41IDI1NiAzNjAgMjU2bC03MiAwIDAtMTA0YzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDEwNC03MiAwYy02LjUgMC0xMi4zIDMuOS0xNC44IDkuOXMtMS4xIDEyLjkgMy41IDE3LjRsMTA0IDEwNHoiXX0saFR0PVdwZSx3ZWU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS1saW5lcyIsaWNvbjpbMzg0LDUxMixbMTI4NDQxLDEyODQ2Miw2MTY4NiwiZmlsZS1hbHQiLCJmaWxlLXRleHQiXSwiZjE1YyIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwem01NiAyNTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAwem0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0sbVR0PXdlZSxnVHQ9d2VlLGJUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjb21tZW50cyIsaWNvbjpbNTc2LDUxMixbMTI4NDkwLDYxNjcwXSwiZjA4NiIsIk03Ni4yIDI1OC43YzYuMS0xNS4yIDQtMzIuNi01LjYtNDUuOS0xNC41LTIwLjEtMjIuNi00My43LTIyLjYtNjguOCAwLTY2LjggNjAuNS0xMjggMTQ0LTEyOHMxNDQgNjEuMiAxNDQgMTI4LTYwLjUgMTI4LTE0NCAxMjhjLTE1LjkgMC0zMS4xLTIuMy00NS4zLTYuNS0xMC4zLTMuMS0yMS40LTIuNS0zMS40IDEuNWwtNTAuNCAyMC4yIDExLjQtMjguNXpNMCAxNDRjMCAzNS44IDExLjYgNjkuMSAzMS43IDk2LjhMMS45IDMxNS4yYy0xLjMgMy4yLTEuOSA2LjYtMS45IDEwIDAgMTQuOCAxMiAyNi44IDI2LjggMjYuOCAzLjQgMCA2LjgtLjcgMTAtMS45bDk2LjMtMzguNWMxOC42IDUuNSAzOC40IDguNCA1OC45IDguNCAxMDYgMCAxOTItNzguOCAxOTItMTc2UzI5OC0zMiAxOTItMzIgMCA0Ni44IDAgMTQ0ek0zODQgNTEyYzIwLjYgMCA0MC4zLTMgNTguOS04LjRsOTYuMyAzOC41YzMuMiAxLjMgNi42IDEuOSAxMCAxLjkgMTQuOCAwIDI2LjgtMTIgMjYuOC0yNi44IDAtMy40LS43LTYuOC0xLjktMTBsLTI5LjctNzQuNGMyMC0yNy44IDMxLjctNjEuMSAzMS43LTk2LjggMC04Mi40LTYxLjctMTUxLjUtMTQ1LTE3MC43LTEuNiAxNi4zLTUuMSAzMS45LTEwLjEgNDYuOSA2My45IDE0LjggMTA3LjIgNjcuMyAxMDcuMiAxMjMuOSAwIDI1LjEtOC4xIDQ4LjctMjIuNiA2OC44LTkuNiAxMy4zLTExLjcgMzAuNi01LjYgNDUuOWwxMS40IDI4LjUtNTAuNC0yMC4yYy0xMC00LTIxLjEtNC41LTMxLjQtMS41LTE0LjIgNC4yLTI5LjQgNi41LTQ1LjMgNi41LTcyLjIgMC0xMjcuMS00NS43LTE0MC43LTEwMS4yLTE1LjYgMy4yLTMxLjcgNS00OC4xIDUuMiAxNi40IDgxLjkgOTQuNyAxNDQgMTg4LjggMTQ0eiJdfSxJYj17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtY2hlY2siLGljb246WzUxMiw1MTIsWzYxNTMzLCJjaGVjay1jaXJjbGUiXSwiZjA1OCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDEgMC01MTIgMjU2IDI1NiAwIDEgMSAwIDUxMnptMC00NjRhMjA4IDIwOCAwIDEgMCAwIDQxNiAyMDggMjA4IDAgMSAwIDAtNDE2em03MC43IDEyMS45YzcuOC0xMC43IDIyLjgtMTMuMSAzMy41LTUuMyAxMC43IDcuOCAxMy4xIDIyLjggNS4zIDMzLjVMMjQzLjQgMzY2LjFjLTQuMSA1LjctMTAuNSA5LjMtMTcuNSA5LjgtNyAuNS0xMy45LTItMTguOC02LjlsLTU1LjktNTUuOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDM2IDM2IDEwNS42LTE0NS4yeiJdfSx2VHQ9SWIseFR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im1vb24iLGljb246WzUxMiw1MTIsWzEyNzc2OSw5MjE0XSwiZjE4NiIsIk0yMzkuMyA0OC43Yy0xMDcuMSA4LjUtMTkxLjMgOTguMS0xOTEuMyAyMDcuMyAwIDExNC45IDkzLjEgMjA4IDIwOCAyMDggMzMuMyAwIDY0LjctNy44IDkyLjYtMjEuNy0xMDMuNC0yMy40LTE4MC42LTExNS44LTE4MC42LTIyNi4zIDAtNjUuOCAyNy40LTEyNS4xIDcxLjMtMTY3LjN6TTAgMjU2YzAtMTQxLjQgMTE0LjYtMjU2IDI1Ni0yNTYgMTkuNCAwIDM4LjQgMi4yIDU2LjcgNi4zIDkuOSAyLjIgMTcuMyAxMC41IDE4LjUgMjAuNXMtNCAxOS44LTEzLjEgMjQuNGMtNjAuNiAzMC4yLTEwMi4xIDkyLjctMTAyLjEgMTY0LjggMCAxMDEuNiA4Mi40IDE4NCAxODQgMTg0IDUgMCA5LjktLjIgMTQuOC0uNiAxMC4xLS44IDE5LjYgNC44IDIzLjggMTQuMXMyIDIwLjEtNS4zIDI3LjFDMzg3LjMgNDg0LjggMzI0LjggNTEyIDI1NiA1MTIgMTE0LjYgNTEyIDAgMzk3LjQgMCAyNTZ6Il19LHlUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjbG9zZWQtY2FwdGlvbmluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjIwYSIsIk00NDggMTEyYzguOCAwIDE2IDcuMiAxNiAxNmwwIDI1NmMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNTZjMC04LjggNy4yLTE2IDE2LTE2bDM4NCAwek02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHptODggMTQ0bDMyIDBjNC40IDAgOCAzLjYgOCA4IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTMyIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgODBjMCAzMC45IDI1LjEgNTYgNTYgNTZsMzIgMGMzMC45IDAgNTYtMjUuMSA1Ni01NiAwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDQuNC0zLjYgOC04IDhsLTMyIDBjLTQuNCAwLTgtMy42LTgtOGwwLTgwYzAtNC40IDMuNi04IDgtOHptMTY4IDhjMC00LjQgMy42LTggOC04bDMyIDBjNC40IDAgOCAzLjYgOCA4IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTMyIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgODBjMCAzMC45IDI1LjEgNTYgNTYgNTZsMzIgMGMzMC45IDAgNTYtMjUuMSA1Ni01NiAwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDQuNC0zLjYgOC04IDhsLTMyIDBjLTQuNCAwLTgtMy42LTgtOGwwLTgweiJdfSx3VHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaW1hZ2VzIixpY29uOls1NzYsNTEyLFtdLCJmMzAyIiwiTTQ4MCA4MGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyNTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMjAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjU2YzAtOC44IDcuMi0xNiAxNi0xNmwzMjAgMHpNMTYwIDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEwxNjAgMzJ6bTgwIDExMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0xNDAuNyAzLjhjLTQuMy03LjMtMTIuMi0xMS44LTIwLjctMTEuOHMtMTYuNCA0LjUtMjAuNyAxMS44bC00Ni41IDc5LTE3LjItMjQuNmMtNC41LTYuNC0xMS44LTEwLjItMTkuNy0xMC4ycy0xNS4yIDMuOC0xOS43IDEwLjJsLTU2IDgwYy01LjEgNy4zLTUuOCAxNi45LTEuNiAyNC44UzE5MS4xIDMyMCAyMDAgMzIwbDI0MCAwYzguNiAwIDE2LjYtNC42IDIwLjgtMTIuMXM0LjItMTYuNy0uMS0yNC4xbC04MC0xMzZ6TTQ4IDE1MmMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDEzOC43IDAgMTUyTDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM2MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjk2eiJdfSxHcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLXJpZ2h0IixpY29uOls1MTIsNTEyLFs2MTgzOCwiYXJyb3ctYWx0LWNpcmNsZS1yaWdodCJdLCJmMzVhIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMSAtNDE2IDAgMjA4IDIwOCAwIDEgMSA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMCAyNTYgMjU2IDAgMSAwIC01MTIgMHptMzg3LjMgMTEuM2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtMTA0LTEwNGMtNC42LTQuNi0xMS41LTUuOS0xNy40LTMuNVMyNTYgMTQ1LjUgMjU2IDE1MmwwIDcyLTEwNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDEwNCAwIDAgNzJjMCA2LjUgMy45IDEyLjMgOS45IDE0LjhzMTIuOSAxLjEgMTcuNC0zLjVsMTA0LTEwNHoiXX0sTVR0PUdwZSxZcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaWQtY2FyZCIsaWNvbjpbNTc2LDUxMixbNjIxNDcsImRyaXZlcnMtbGljZW5zZSJdLCJmMmMyIiwiTTQ4IDQxNmwwLTI1NiA0ODAgMCAwIDI1NmMwIDguOC03LjIgMTYtMTYgMTZsLTE5MiAwYzAtNDQuMi0zNS44LTgwLTgwLTgwbC02NCAwYy00NC4yIDAtODAgMzUuOC04MCA4MGwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2ek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMDggMzEyYTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyek0zNzYgMjA4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMHoiXX0sa1R0PVlwZSxLcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLXBsYXkiLGljb246WzUxMiw1MTIsWzYxNDY5LCJwbGF5LWNpcmNsZSJdLCJmMTQ0IiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjEyLjUgMTQ3LjVjLTcuNC00LjUtMTYuNy00LjctMjQuMy0uNVMxNzYgMTU5LjMgMTc2IDE2OGwwIDE3NmMwIDguNyA0LjcgMTYuNyAxMi4zIDIwLjlzMTYuOCA0LjEgMjQuMy0uNWwxNDQtODhjNy4xLTQuNCAxMS41LTEyLjEgMTEuNS0yMC41cy00LjQtMTYuMS0xMS41LTIwLjVsLTE0NC04OHpNMjk4IDI1NmwtNzQgNDUuMiAwLTkwLjQgNzQgNDUuMnoiXX0sU1R0PUtwZSxacGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1sYXVnaC1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MTMsImxhdWdoLWJlYW0iXSwiZjU5YSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTExOC4zIDU4LjJjLTQuMi0xMy43IDcuMS0yNi4yIDIxLjQtMjYuMmwyMzIuNiAwYzE0LjMgMCAyNS42IDEyLjUgMjEuNCAyNi4yLTE4IDU4LjktNzIuOSAxMDEuOC0xMzcuNyAxMDEuOFMxMzYuMyAzNzMuMSAxMTguMyAzMTQuMnpNMTc2IDE4MGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHptMTMyIDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6Il19LHpUdD1acGUsWHBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImFkZHJlc3MtYm9vayIsaWNvbjpbNTEyLDUxMixbNjIxMzgsImNvbnRhY3QtYm9vayJdLCJmMmI5IiwiTTM4NCA0OGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzODRjMCA4LjgtNy4yIDE2LTE2IDE2TDk2IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDgwIDY0YzAtOC44IDcuMi0xNiAxNi0xNmwyODggMHpNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyODggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw5NiAwek0yNDAgMjQ4YTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyem0tMzIgNDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwIDAgOC44IDcuMiAxNiAxNiAxNmwxOTIgMGM4LjggMCAxNi03LjIgMTYtMTYgMC00NC4yLTM1LjgtODAtODAtODBsLTY0IDB6TTUxMiA4MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NHpNNDk2IDE5MmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNnptMTYgMTQ0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0eiJdfSxDVHQ9WHBlLFFwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJob3VyZ2xhc3MiLGljb246WzM4NCw1MTIsWzkyMDMsNjIwMzIsImhvdXJnbGFzcy1lbXB0eSJdLCJmMjU0IiwiTTI0IDBDMTAuNyAwIDAgMTAuNyAwIDI0UzEwLjcgNDggMjQgNDhsOCAwIDAgMTljMCA0MC4zIDE2IDc5IDQ0LjUgMTA3LjVsODEuNSA4MS41LTgxLjUgODEuNUM0OCAzNjYgMzIgNDA0LjcgMzIgNDQ1bDAgMTktOCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMzNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04IDAgMC0xOWMwLTQwLjMtMTYtNzktNDQuNS0xMDcuNWwtODEuNS04MS41IDgxLjUtODEuNUMzMzYgMTQ2IDM1MiAxMDcuMyAzNTIgNjdsMC0xOSA4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMzczLjMgMCAzNjAgMEwyNCAwek0xOTIgMjg5LjlsODEuNSA4MS41QzI5MyAzOTEgMzA0IDQxNy40IDMwNCA0NDVsMCAxOS0yMjQgMCAwLTE5YzAtMjcuNiAxMS01NCAzMC41LTczLjVMMTkyIDI4OS45em0wLTY3LjlsLTgxLjUtODEuNUM5MSAxMjEgODAgOTQuNiA4MCA2N2wwLTE5IDIyNCAwIDAgMTljMCAyNy42LTExIDU0LTMwLjUgNzMuNUwxOTIgMjIyLjF6Il19LF9UdD1RcGUsTWVlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhlYWRwaG9uZXMiLGljb246WzQ0OCw1MTIsWzEyNzkxMSw2Mjg2MywiaGVhZHBob25lcy1hbHQiLCJoZWFkcGhvbmVzLXNpbXBsZSJdLCJmMDI1IiwiTTQ4IDIyNGMwLTk3LjIgNzguOC0xNzYgMTc2LTE3NnMxNzYgNzguOCAxNzYgMTc2bDAgNDQuOGMtMTQuMS04LjItMzAuNS0xMi44LTQ4LTEyLjhsLTE2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTI4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTE2MEM0NDggMTAwLjMgMzQ3LjcgMCAyMjQgMFMwIDEwMC4zIDAgMjI0TDAgMzg0YzAgNTMgNDMgOTYgOTYgOTZsMTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTEyOGMwLTI2LjUtMjEuNS00OC00OC00OGwtMTYgMGMtMTcuNSAwLTMzLjkgNC43LTQ4IDEyLjhMNDggMjI0em0wIDEyOGMwLTI2LjUgMjEuNS00OCA0OC00OGwxNiAwIDAgMTI4LTE2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMzJ6bTM1MiAwbDAgMzJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTE2IDAgMC0xMjggMTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OHoiXX0sVFR0PU1lZSxMVHQ9TWVlLCRUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLXBvd2VycG9pbnQiLGljb246WzM4NCw1MTIsW10sImYxYzQiLCJNNjQgNDhsMTEyIDAgMCA4OGMwIDM5LjggMzIuMiA3MiA3MiA3Mmw4OCAwIDAgMjQwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCA2Ny45bDkyLjEgOTIuMS02OC4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNjguMXpNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNjEuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNDIuNyAxOC43QzIzMC43IDYuNyAyMTQuNSAwIDE5Ny41IDBMNjQgMHptODggMjU2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDEyOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYgMjggMGMzNy42IDAgNjgtMzAuNCA2OC02OHMtMzAuNC02OC02OC02OGwtNTIgMHptNTIgODhsLTI4IDAgMC00MCAyOCAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMHoiXX0sRFR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6IndpbmRvdy1tYXhpbWl6ZSIsaWNvbjpbNTEyLDUxMixbMTI4NDcwXSwiZjJkMCIsIk00OCAyMjRsMCAxNjBjMCA4LjggNy4yIDE2IDE2IDE2bDM4NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE2MC00MTYgMHpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHoiXX0sSnBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNvbW1lbnQtZG90cyIsaWNvbjpbNTEyLDUxMixbMTI4MTcyLDYyMDc1LCJjb21tZW50aW5nIl0sImY0YWQiLCJNMCAyNDBjMCA1NC40IDE5LjMgMTA0LjYgNTEuOSAxNDQuOUwzLjEgNDc0LjNjLTIgMy43LTMuMSA3LjktMy4xIDEyLjIgMCAxNC4xIDExLjQgMjUuNSAyNS41IDI1LjUgNCAwIDcuOC0uNiAxMS41LTIuMUwxNTMuNCA0NjBjMzEuNCAxMi45IDY2LjEgMjAgMTAyLjYgMjAgMTQxLjQgMCAyNTYtMTA3LjUgMjU2LTI0MFMzOTcuNCAwIDI1NiAwIDAgMTA3LjUgMCAyNDB6TTk0IDQwNy45YzkuMy0xNy4xIDcuNC0zOC4xLTQuOC01My4yLTI2LjEtMzIuMy00MS4yLTcxLjktNDEuMi0xMTQuNyAwLTEwMy4yIDkwLjItMTkyIDIwOC0xOTJzMjA4IDg4LjggMjA4IDE5Mi05MC4yIDE5Mi0yMDggMTkyYy0zMC4yIDAtNTguNy01LjktODQuMy0xNi40LTExLjktNC45LTI1LjMtNC44LTM3LjEgLjNMNzYgNDQwLjkgOTQgNDA3Ljl6TTE0NCAyNzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xNDQtMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptODAgMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxBVHQ9SnBlLGVmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tdG9uZ3VlLXdpbmsiLGljb246WzUxMiw1MTIsWzEyODU0MCwiZ3Jpbi10b25ndWUtd2luayJdLCJmNThiIiwiTTM2Ni45IDQzMmMuOC01LjIgMS4xLTEwLjYgMS4xLTE2bDAtNTMuNWMxMC4yLTEyLjYgMTguMy0yNi45IDIzLjgtNDIuNSA0LjEtMTEuNi03LjgtMjEuNC0xOS42LTE3LjgtMzQuOCAxMC42LTc0LjMgMTYuNi0xMTYuMyAxNi42LTQxLjkgMC04MS40LTYtMTE2LjEtMTYuNS0xMS44LTMuNi0yMy43IDYuMS0xOS42IDE3LjggNS41IDE1LjUgMTMuNiAyOS45IDIzLjggNDIuNGwwIDUzLjVjMCA1LjQgLjQgMTAuOCAxLjEgMTYtNTguNC0zNi44LTk3LjEtMTAxLjktOTcuMS0xNzYgMC0xMTQuOSA5My4xLTIwOCAyMDgtMjA4czIwOCA5My4xIDIwOCAyMDhjMCA3NC4xLTM4LjggMTM5LjItOTcuMSAxNzZ6bS0zOC44IDY5LjdDNDM0LjQgNDcwLjYgNTEyIDM3Mi4zIDUxMiAyNTYgNTEyIDExNC42IDM5Ny40IDAgMjU2IDBTMCAxMTQuNiAwIDI1NkMwIDM3Mi4zIDc3LjYgNDcwLjYgMTgzLjkgNTAxLjcgMjAzLjQgNTE4LjEgMjI4LjUgNTI4IDI1NiA1MjhzNTIuNi05LjkgNzIuMS0yNi4zek0zMjAgMzc4LjZsMCAzNy40YzAgMzUuMy0yOC43IDY0LTY0IDY0cy02NC0yOC43LTY0LTY0bDAtMzcuNGMwLTE0LjcgMTEuOS0yNi42IDI2LjYtMjYuNmwyIDBjMTEuMyAwIDIxLjEgNy45IDIzLjYgMTguOSAyLjggMTIuNiAyMC44IDEyLjYgMjMuNiAwIDIuNS0xMS4xIDEyLjMtMTguOSAyMy42LTE4LjlsMiAwYzE0LjcgMCAyNi42IDExLjkgMjYuNiAyNi42ek0xMzIgMjMyYzAtMTEgOS0yMCAyMC0yMGwxNiAwYzExIDAgMjAgOSAyMCAyMHM5IDIwIDIwIDIwIDIwLTkgMjAtMjBjMC0zMy4xLTI2LjktNjAtNjAtNjBsLTE2IDBjLTMzLjEgMC02MCAyNi45LTYwIDYwIDAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwem0yMjguNC0yNGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwek0yODggMjA4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTEyOCAwYTgwIDgwIDAgMSAwIC0xNjAgMCA4MCA4MCAwIDEgMCAxNjAgMHoiXX0sUFR0PWVmZSx0ZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaG91cmdsYXNzLWhhbGYiLGljb246WzM4NCw1MTIsWyJob3VyZ2xhc3MtMiJdLCJmMjUyIiwiTTAgMjRDMCAxMC43IDEwLjcgMCAyNCAwTDM2MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDAgMCAxOWMwIDQwLjMtMTYgNzktNDQuNSAxMDcuNWwtODEuNSA4MS41IDgxLjUgODEuNUMzMzYgMzY2IDM1MiA0MDQuNyAzNTIgNDQ1bDAgMTkgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4IDAgMC0xOWMwLTQwLjMgMTYtNzkgNDQuNS0xMDcuNWw4MS41LTgxLjUtODEuNS04MS41QzQ4IDE0NiAzMiAxMDcuMyAzMiA2N2wwLTE5LTggMEMxMC43IDQ4IDAgMzcuMyAwIDI0ek0xMTAuNSAzNzEuNWMtMy45IDMuOS03LjUgOC4xLTEwLjcgMTIuNWwxODQuNCAwYy0zLjItNC40LTYuOC04LjYtMTAuNy0xMi41bC04MS41LTgxLjUtODEuNSA4MS41ek04MC44IDQzMmMtLjUgNC4zLS44IDguNi0uOCAxM2wwIDE5IDIyNCAwIDAtMTljMC00LjQtLjMtOC43LS44LTEzTDgwLjggNDMyek0yNTQuMSAxNjBsLTEyNC4xIDAgNjIuMSA2Mi4xIDYyLjEtNjIuMXptMzkuNy00OEMzMDAuNCA5OC4xIDMwNCA4Mi43IDMwNCA2N2wwLTE5LTIyNCAwIDAgMTljMCAxNS43IDMuNiAzMS4xIDEwLjIgNDVsMjAzLjUgMHoiXX0sRVR0PXRmZSxhZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY3JlZGl0LWNhcmQiLGljb246WzUxMiw1MTIsWzEyODE3OSw2MjA4MywiY3JlZGl0LWNhcmQtYWx0Il0sImYwOWQiLCJNNDQ4IDExMmM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMi00MTYgMCAwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzODQgMHptMTYgMTEybDAgMTYwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0MDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2MCA0MTYgMHpNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTgwIDM0NGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMTQ0IDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6Il19LElUdD1hZmUsTlR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtc3BvY2siLGljb246WzUxMiw1MTIsWzEyODQwNl0sImYyNTkiLCJNMTM4LjMgODAuOGMtOS4yLTMzLjggMTAuNS02OC44IDQ0LjMtNzguNCAzNC05LjYgNjkuNCAxMC4yIDc5IDQ0LjJMMjkxLjkgMTUzLjcgMzA1LjEgODRjNi42LTM0LjcgNDAuMS01Ny41IDc0LjgtNTAuOSAzMS40IDYgNTMgMzMuOSA1MiA2NC45IDEwLTIuNiAyMC44LTIuOCAzMS41LS4xIDM0LjMgOC42IDU1LjEgNDMuMyA0Ni42IDc3LjZMNDU0LjcgMzk3LjJDNDM3LjggNDY0LjcgMzc3LjIgNTEyIDMwNy42IDUxMmwtMzMuNyAwYy01Ni45IDAtMTEyLjItMTktMTU3LjItNTMuOWwtOTItNzEuNmMtMjcuOS0yMS43LTMyLjktNjEuOS0xMS4yLTg5LjhzNjEuOS0zMi45IDg5LjgtMTEuMmwxNyAxMy4yLTUxLjgtMTMxLjJjLTEzLTMyLjkgMy4yLTcwLjEgMzYtODMgMTEuMS00LjQgMjIuNy01LjQgMzMuNy0zLjd6bTc3LjEtMjEuMmMtMi40LTguNS0xMS4yLTEzLjQtMTkuNy0xMXMtMTMuNCAxMS4yLTExIDE5LjdsNTQuOCAxODIuNGMzLjUgMTIuMy0zLjMgMjUuMi0xNS40IDI5LjNzLTI1LjMtMi0zMC0xMy45TDE0Mi45IDEzOC4xYy0zLjItOC4yLTEyLjUtMTIuMy0yMC44LTlzLTEyLjMgMTIuNS05IDIwLjhsNzMuMyAxODUuNmMxMiAzMC4zLTIzLjcgNTctNDkuNCAzN0w3My44IDMyMy40Yy03LTUuNC0xNy00LjItMjIuNSAyLjhzLTQuMiAxNyAyLjggMjIuNWw5MiA3MS42YzM2LjUgMjguNCA4MS40IDQzLjggMTI3LjcgNDMuOGwzMy43IDBjNDcuNSAwIDg5LTMyLjQgMTAwLjUtNzguNWw1NS40LTIyMS42YzIuMS04LjYtMy4xLTE3LjMtMTEuNi0xOS40cy0xNy4zIDMuMS0xOS40IDExLjZsLTI2IDEwNGMtMi45IDExLjctMTMuNCAxOS45LTI1LjUgMTkuOS0xNi41IDAtMjguOS0xNS0yNS44LTMxLjJMMzgzLjcgOTljMS43LTguNy00LTE3LjEtMTIuNy0xOC43UzM1NCA4NC4zIDM1Mi4zIDkzTDMyMC41IDI2MGMtMi4yIDExLjYtMTIuNCAyMC0yNC4yIDIwLTExIDAtMjAuNy03LjMtMjMuNy0xNy45TDIxNS40IDU5LjZ6Il19LFJUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJiZWxsLXNsYXNoIixpY29uOls1NzYsNTEyLFsxMjgyNzcsNjE5NDNdLCJmMWY2IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTg3LjgtODcuOGMxNy41LTMuMyAzMC44LTE4LjcgMzAuOC0zNy4xIDAtNi43LTEuOC0xMy4zLTUuMS0xOUw0ODUgMzIxLjdjLTE5LTMyLjYtMjktNjkuNi0yOS0xMDcuM2wwLTE0LjVjMC04NC42LTYyLjYtMTU0LjctMTQ0LTE2Ni4zbDAtOS43YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgOS43Yy00Mi4yIDYtNzkuNCAyNy44LTEwNS40IDU5LjFMNDEtMjQuOXpNMTkyLjggMTI2LjlDMjE0LjcgOTguNCAyNDkuMiA4MCAyODggODAgMzU0LjMgODAgNDA4IDEzMy43IDQwOCAyMDBsMCAxNC41YzAgNDYuMiAxMi4zIDkxLjUgMzUuNSAxMzEuNGwxMi45IDIyLjEtMjIuNiAwLTI0MS4xLTI0MS4xek0xMzIuNSAzNDUuOWMxOS41LTMzLjQgMzEuMy03MC43IDM0LjYtMTA5bC00Ni43LTQ2LjdjLS4yIDMuMy0uMyA2LjYtLjMgOS45bDAgMTQuNWMwIDM3LjctMTAgNzQuNy0yOSAxMDcuM0w2OS4xIDM1OS4yYy0zLjQgNS44LTUuMSAxMi4zLTUuMSAxOSAwIDIwLjkgMTYuOSAzNy44IDM3LjggMzcuOGwyNDQuNCAwLTQ4LTQ4LTE3OC42IDAgMTIuOS0yMi4xek0yMjAuMSA0NjRjOS45IDI4IDM2LjYgNDggNjcuOSA0OHM1OC0yMCA2Ny45LTQ4bC0xMzUuOCAweiJdfSxPVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3RhciIsaWNvbjpbNTc2LDUxMixbMTEwODgsNjE0NDZdLCJmMDA1IiwiTTI4OC4xLTMyYzkgMCAxNy4zIDUuMSAyMS40IDEzLjFMMzgzIDEyNS4zIDU0Mi45IDE1MC43YzguOSAxLjQgMTYuMyA3LjcgMTkuMSAxNi4zcy41IDE4LTUuOCAyNC40TDQ0MS43IDMwNS45IDQ2NyA0NjUuOGMxLjQgOC45LTIuMyAxNy45LTkuNiAyMy4ycy0xNyA2LjEtMjUgMkwyODguMSA0MTcuNiAxNDMuOCA0OTFjLTggNC4xLTE3LjcgMy4zLTI1LTJzLTExLTE0LjItOS42LTIzLjJMMTM0LjQgMzA1LjkgMjAgMTkxLjRjLTYuNC02LjQtOC42LTE1LjgtNS44LTI0LjRzMTAuMS0xNC45IDE5LjEtMTYuM2wxNTkuOS0yNS40IDczLjYtMTQ0LjJjNC4xLTggMTIuNC0xMy4xIDIxLjQtMTMuMXptMCA3Ni44TDIzMC4zIDE1OGMtMy41IDYuOC0xMCAxMS42LTE3LjYgMTIuOGwtMTI1LjUgMjAgODkuOCA4OS45YzUuNCA1LjQgNy45IDEzLjEgNi43IDIwLjdsLTE5LjggMTI1LjUgMTEzLjMtNTcuNmM2LjgtMy41IDE0LjktMy41IDIxLjggMGwxMTMuMyA1Ny42LTE5LjgtMTI1LjVjLTEuMi03LjYgMS4zLTE1LjMgNi43LTIwLjdsODkuOC04OS45LTEyNS41LTIwYy03LjYtMS4yLTE0LjEtNi0xNy42LTEyLjhMMjg4LjEgNDQuOHoiXX0sRlR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZsYWciLGljb246WzQ0OCw1MTIsWzEyNzk4OCw2MTcyNV0sImYwMjQiLCJNNDggMjRDNDggMTAuNyAzNy4zIDAgMjQgMFMwIDEwLjcgMCAyNEwwIDQ4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTAwIDgwLjMtMjAuMWM0MS4xLTEwLjMgODQuNi01LjUgMTIyLjUgMTMuNCA0NC4yIDIyLjEgOTUuNSAyNC44IDE0MS43IDcuNGwzNC43LTEzYzEyLjUtNC43IDIwLjgtMTYuNiAyMC44LTMwbDAtMjc5LjdjMC0yMy0yNC4yLTM4LTQ0LjgtMjcuN2wtOS42IDQuOGMtNDYuMyAyMy4yLTEwMC44IDIzLjItMTQ3LjEgMC0zNS4xLTE3LjYtNzUuNC0yMi0xMTMuNS0xMi41TDQ4IDUyIDQ4IDI0em0wIDc3LjVsOTYuNi0yNC4yYzI3LTYuNyA1NS41LTMuNiA4MC40IDguOCA1NC45IDI3LjQgMTE4LjcgMjkuNyAxNzUgNi44bDAgMjQxLjgtMjQuNCA5LjFjLTMzLjcgMTIuNi03MS4yIDEwLjctMTAzLjQtNS40LTQ4LjItMjQuMS0xMDMuMy0zMC4xLTE1NS42LTE3LjFsLTY4LjYgMTcuMiAwLTIzN3oiXX0sQlR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImxlbW9uIixpY29uOls0NDgsNTEyLFsxMjc4MTldLCJmMDk0IiwiTTM2OCA4MGMtMy4yIDAtNi4yIC40LTguOSAxLjMtMTkuMSA1LjUtNDYuMSAxMC43LTc0LjMgMy4zLTU3LjQtMTQuOS0xMjQuNiA3LjQtMTc0LjcgNTcuNVMzNy43IDI1OS40IDUyLjYgMzE2LjhjNy4zIDI4LjIgMi4yIDU1LjItMy4zIDc0LjMtLjggMi44LTEuMyA1LjgtMS4zIDguOSAwIDE3LjcgMTQuMyAzMiAzMiAzMiAzLjIgMCA2LjItLjQgOC45LTEuMyAxOS4xLTUuNSA0Ni4xLTEwLjcgNzQuMy0zLjMgNTcuNCAxNC45IDEyNC42LTcuNCAxNzQuNy01Ny41czcyLjQtMTE3LjMgNTcuNS0xNzQuN2MtNy4zLTI4LjItMi4yLTU1LjIgMy4zLTc0LjMgLjgtMi44IDEuMy01LjggMS4zLTguOSAwLTE3LjctMTQuMy0zMi0zMi0zMnptMC00OGM0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDcuNy0xLjEgMTUuMi0zLjEgMjIuMy00LjYgMTUuOC03LjEgMzIuOS0zIDQ4LjkgMjAuMSA3Ny42LTEwLjkgMTYxLjUtNzAgMjIwLjdzLTE0My4xIDkwLjItMjIwLjcgNzBjLTE2LTQuMS0zMy0xLjYtNDguOSAzLTcuMSAyLTE0LjYgMy4xLTIyLjMgMy4xLTQ0LjIgMC04MC0zNS44LTgwLTgwIDAtNy43IDEuMS0xNS4yIDMuMS0yMi4zIDQuNi0xNS44IDcuMS0zMi45IDMtNDguOS0yMC4xLTc3LjYgMTAuOS0xNjEuNSA3MC0yMjAuN1MyMTkuMyAxOCAyOTYuOCAzOC4xYzE2IDQuMSAzMyAxLjYgNDguOS0zIDcuMS0yIDE0LjYtMy4xIDIyLjMtMy4xek0yNDYuNyAxNjdjLTUyIDE1LjItOTYuNSA1OS43LTExMS43IDExMS43LTMuNyAxMi43LTE3LjEgMjAtMjkuOCAxNi4zUzg1LjIgMjc4IDg5IDI2NS4zYzE5LjgtNjcuNyA3Ni42LTEyNC41IDE0NC4zLTE0NC4zIDEyLjctMy43IDI2LjEgMy42IDI5LjggMTYuM3MtMy42IDI2LjEtMTYuMyAyOS44eiJdfSxIVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToid2luZG93LXJlc3RvcmUiLGljb246WzU3Niw1MTIsW10sImYyZDIiLCJNNTEyIDgwTDIyNCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTYtNDggMCAwLTE2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTkyYzAgMzUuMy0yOC43IDY0LTY0IDY0bC00OCAwIDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xOTJjMC04LjgtNy4yLTE2LTE2LTE2ek0zNjggMjg4bC0zMjAgMCAwIDEyOGMwIDguOCA3LjIgMTYgMTYgMTZsMjg4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTI4ek02NCAxNjBsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIyNGMwLTM1LjMgMjguNy02NCA2NC02NHoiXX0scmZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1oZWFydHMiLGljb246WzUxMiw1MTIsWzEyODUyNSwiZ3Jpbi1oZWFydHMiXSwiZjU4NCIsIk00NjQgMjU2YzAgMTE0LjktOTMuMSAyMDgtMjA4IDIwOFM0OCAzNzAuOSA0OCAyNTZjMC0zLjUgLjEtNy4xIC4zLTEwLjYtMTQtMTMuOS0yOS43LTMzLjEtMzkuMy01Ni43LTUuOCAyMS40LTguOSA0NC04LjkgNjcuMyAwIDE0MS40IDExNC42IDI1NiAyNTYgMjU2UzUxMiAzOTcuNCA1MTIgMjU2YzAtMjMuMy0zLjEtNDUuOS04LjktNjcuMy05LjYgMjMuNy0yNS40IDQyLjgtMzkuMyA1Ni43IC4yIDMuNSAuMyA3IC4zIDEwLjZ6TTM2OCA1OC45YzExLjctNiAyNC41LTkuNiAzNy43LTEwLjYtNDIuMS0zMC40LTkzLjgtNDguMy0xNDkuNy00OC4zUzE0OC40IDE3LjkgMTA2LjMgNDguM2MxMy4yIDEgMjYgNC42IDM3LjcgMTAuNiAxMy44LTcuMSAyOS4zLTEwLjkgNDUuMS0xMC45bDIuOSAwYzguOSAwIDE3LjYgMS4yIDI1LjggMy41IDEyLjQtMi4zIDI1LjItMy41IDM4LjItMy41czI1LjggMS4yIDM4LjIgMy41YzguMi0yLjMgMTYuOS0zLjUgMjUuOC0zLjVsMi45IDBjMTUuOCAwIDMxLjMgMy44IDQ1LjEgMTAuOXptNC4yIDI0My40Yy0zNC44IDEwLjYtNzQuMyAxNi42LTExNi4zIDE2LjYtNDEuOSAwLTgxLjQtNi0xMTYuMS0xNi41LTExLjgtMy42LTIzLjcgNi4xLTE5LjYgMTcuOCAxOS44IDU1LjkgNzMuMSA5NS45IDEzNS44IDk1LjkgNjIuNyAwIDExNi00MC4xIDEzNS44LTk2IDQuMS0xMS42LTcuOC0yMS40LTE5LjYtMTcuOHpNMzIyLjkgOTZMMzIwIDk2Yy0yNi41IDAtNDggMjEuNS00OCA0OCAwIDUzLjQgNjYuOSA5NS43IDg5IDEwOC4yIDQuNCAyLjUgOS42IDIuNSAxNCAwIDIyLjEtMTIuNSA4OS01NC44IDg5LTEwOC4yIDAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0yLjkgMGMtMTMuNSAwLTI2LjUgNS40LTM2IDE0LjlsLTkuMSA5LjEtOS4xLTkuMWMtOS41LTkuNS0yMi41LTE0LjktMzYtMTQuOXptLTE4OCAxNC45Yy05LjUtOS41LTIyLjUtMTQuOS0zNi0xNC45TDk2IDk2Yy0yNi41IDAtNDggMjEuNS00OCA0OCAwIDUzLjQgNjYuOSA5NS43IDg5IDEwOC4yIDQuNCAyLjUgOS42IDIuNSAxNCAwIDIyLjEtMTIuNSA4OS01NC44IDg5LTEwOC4yIDAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0yLjkgMGMtMTMuNSAwLTI2LjUgNS40LTM2IDE0LjlsLTkuMSA5LjEtOS4xLTkuMXoiXX0scVR0PXJmZSxzZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1raXNzLWJlYW0iLGljb246WzUxMiw1MTIsWzEyODUzNywia2lzcy1iZWFtIl0sImY1OTciLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNDAgMTZsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDEyLjMtNC42IDIzLjUtMTIuMiAzMiA3LjYgOC41IDEyLjIgMTkuNyAxMi4yIDMyIDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptLTY0LTkyYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0sVlR0PXNmZSxqVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS1wZGYiLGljb246WzU3Niw1MTIsW10sImYxYzEiLCJNMjA4IDQ4TDk2IDQ4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzODRjMCA4LjggNy4yIDE2IDE2IDE2bDgwIDAgMCA0OC04MCAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwzMiA2NEMzMiAyOC43IDYwLjcgMCA5NiAwTDIyOS41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzk3LjMgMTQxLjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM2wwIDE0OS41LTQ4IDAgMC0xMjgtODggMGMtMzkuOCAwLTcyLTMyLjItNzItNzJsMC04OHpNMzQ4LjEgMTYwTDI1NiA2Ny45IDI1NiAxMzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjguMSAwek0yNDAgMzgwbDMyIDBjMzMuMSAwIDYwIDI2LjkgNjAgNjBzLTI2LjkgNjAtNjAgNjBsLTEyIDAgMCAyOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC0xMjhjMC0xMSA5LTIwIDIwLTIwem0zMiA4MGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTEyIDAgMCA0MCAxMiAwem05Ni04MGwzMiAwYzI4LjcgMCA1MiAyMy4zIDUyIDUybDAgNjRjMCAyOC43LTIzLjMgNTItNTIgNTJsLTMyIDBjLTExIDAtMjAtOS0yMC0yMGwwLTEyOGMwLTExIDktMjAgMjAtMjB6bTMyIDEyOGM2LjYgMCAxMi01LjQgMTItMTJsMC02NGMwLTYuNi01LjQtMTItMTItMTJsLTEyIDAgMCA4OCAxMiAwem03Ni0xMDhjMC0xMSA5LTIwIDIwLTIwbDQ4IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC0yOCAwIDAgMjQgMjggMGMxMSAwIDIwIDkgMjAgMjBzLTkgMjAtMjAgMjBsLTI4IDAgMCA0NGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC0xMjh6Il19LGlmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4td2lkZSIsaWNvbjpbNTEyLDUxMixbMTI4NTE1LCJncmluLWFsdCJdLCJmNTgxIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMzcyLjIgNDYuM2MxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3LjgtMTkuOCA1NS45LTczLjEgOTYtMTM1LjggOTYtNjIuNyAwLTExNi00MC0xMzUuOC05NS45LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNnpNMjI0IDE5MmMwIDM1LjMtMTQuMyA2NC0zMiA2NHMtMzItMjguNy0zMi02NCAxNC4zLTY0IDMyLTY0IDMyIDI4LjcgMzIgNjR6bTk2IDY0Yy0xNy43IDAtMzItMjguNy0zMi02NHMxNC4zLTY0IDMyLTY0IDMyIDI4LjcgMzIgNjQtMTQuMyA2NC0zMiA2NHoiXX0sVVR0PWlmZSxvZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1sYXVnaC1zcXVpbnQiLGljb246WzUxMiw1MTIsWyJsYXVnaC1zcXVpbnQiXSwiZjU5YiIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTEyNS4yIDc2LjRjLTYuNS0xNCA1LTI4LjQgMjAuNC0yOC40bDIyMC44IDBjMTUuNCAwIDI2LjggMTQuNCAyMC40IDI4LjQtMjIuOCA0OS40LTcyLjggODMuNi0xMzAuOCA4My42cy0xMDcuOS0zNC4yLTEzMC44LTgzLjZ6bS0yLjYtMTczLjJjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAyMDggMTI1LjggMTgwLjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDIwOCAzODYuMiAyMzUuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0sV1R0PW9mZSxuZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1raXNzLXdpbmstaGVhcnQiLGljb246WzY0MCw1MTIsWzEyODUzNiwia2lzcy13aW5rLWhlYXJ0Il0sImY1OTgiLCJNMzg2IDQzOS41Yy0yOS4yIDE1LjYtNjIuNSAyNC41LTk4IDI0LjUtMTE0LjkgMC0yMDgtOTMuMS0yMDgtMjA4UzE3My4yIDQ4IDI4OCA0OGMxMTMuMiAwIDIwNS4yIDkwLjQgMjA3LjkgMjAyLjkgMTQuMyAxLjUgMjguNiA2IDQxLjkgMTMuNyAyIDEuMiA0IDIuNCA1LjkgMy43IC4yLTQuMSAuMy04LjIgLjMtMTIuMyAwLTE0MS40LTExNC42LTI1Ni0yNTYtMjU2UzMyIDExNC42IDMyIDI1NiAxNDYuNiA1MTIgMjg4IDUxMmM0MS40IDAgODAuNS05LjggMTE1LjEtMjcuMy01LjgtMTIuOS0xMi0yOC41LTE3LjItNDUuMnpNMjU2IDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDMyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDggMC0xMi4zLTQuNi0yMy41LTEyLjItMzIgNy42LTguNSAxMi4yLTE5LjcgMTIuMi0zMiAwLTI2LjUtMjEuNS00OC00OC00OGwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0tNDgtNDhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xNTItNDRsMTYgMGMxMSAwIDIwIDkgMjAgMjBzOSAyMCAyMCAyMCAyMC05IDIwLTIwYzAtMzMuMS0yNi45LTYwLTYwLTYwbC0xNiAwYy0zMy4xIDAtNjAgMjYuOS02MCA2MCAwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMCA5LTIwIDIwLTIwek01NDIuOCAzNTBjLTIuMi0xOC4zLTEyLjktMzQuNi0yOC45LTQzLjgtMjguMS0xNi4yLTYzLjktNi42LTgwLjEgMjEuNWwtMi43IDQuNmMtMjQuNSA0Mi41IDcuOSAxMTcuOSAyNC40IDE1MC44IDUuMSAxMC4xIDE1LjUgMTYuMSAyNi44IDE1LjUgMzYuNy0yLjIgMTE4LjItMTEuNyAxNDIuOC01NC4ybDIuNy00LjZjMTYuMi0yOC4xIDYuNi02My45LTIxLjUtODAuMS0xNi05LjItMzUuNC0xMC40LTUyLjQtMy4xbC05LjggNC4yLTEuMy0xMC42eiJdfSxHVHQ9bmZlLFNlZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjb3B5IixpY29uOls0NDgsNTEyLFtdLCJmMGM1IiwiTTM4NCAzMzZsLTE5MiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNTZjMC04LjggNy4yLTE2IDE2LTE2bDEzMy41IDBjNC4yIDAgOC4zIDEuNyAxMS4zIDQuN2w1OC41IDU4LjVjMyAzIDQuNyA3LjEgNC43IDExLjNMNDAwIDMyMGMwIDguOC03LjIgMTYtMTYgMTZ6TTE5MiAzODRsMTkyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xOTcuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wzNzAuNyAxOC43QzM1OC43IDYuNyAzNDIuNSAwIDMyNS41IDBMMTkyIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjU2YzAgMzUuMyAyOC43IDY0IDY0IDY0ek02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTYtNDggMCAwIDE2YzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI1NmMwLTguOCA3LjItMTYgMTYtMTZsMTYgMCAwLTQ4LTE2IDB6Il19LFlUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaGVzcy1raW5nIixpY29uOls0NDgsNTEyLFs5ODE4XSwiZjQzZiIsIk0yMjQtMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0MCA0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwIDAgODAgMTYxLjggMGMyMS4xIDAgMzguMiAxNy4xIDM4LjIgMzguMiAwIDYuNC0xLjYgMTIuNy00LjcgMTguM0wzNTcuMiAzNzQuNSA0MDUuNiA0MzVjNi43IDguNCAxMC40IDE4LjggMTAuNCAyOS42IDAgMjYuMi0yMS4yIDQ3LjQtNDcuNCA0Ny40TDc5LjQgNTEyYy0yNi4yIDAtNDcuNC0yMS4yLTQ3LjQtNDcuNCAwLTEwLjggMy43LTIxLjIgMTAuNC0yOS42TDkwLjggMzc0LjUgNC43IDIxNi42QzEuNiAyMTAuOSAwIDIwNC42IDAgMTk4LjIgMCAxNzcuMSAxNy4xIDE2MCAzOC4yIDE2MGwxNjEuOCAwIDAtODAtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw0OCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTEzMS44IDQwMGwtMy42IDQuNC00Ny42IDU5LjYgMjg2LjYgMC00Ny42LTU5LjYtMy42LTQuNC0xODQuMyAwem0xLjEtNDguNWwuMyAuNSAxODEuNiAwIC4zLS41IDc4LjMtMTQzLjUtMzM4LjcgMCA3OC4zIDE0My41eiJdfSxsZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlLXBsdXMiLGljb246WzQ0OCw1MTIsWzYxODQ2LCJwbHVzLXNxdWFyZSJdLCJmMGZlIiwiTTY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMGMwLTguOC03LjItMTYtMTYtMTZMNjQgODB6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0yMDAgMzQ0bDAtNjQtNjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHoiXX0sS1R0PWxmZSxaVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS1jb2RlIixpY29uOlszODQsNTEyLFtdLCJmMWM5IiwiTTY0IDQ4bDExMiAwIDAgODhjMCAzOS44IDMyLjIgNzIgNzIgNzJsODggMCAwIDI0MGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2ek0yMjQgNjcuOWw5Mi4xIDkyLjEtNjguMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTY4LjF6TTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjYxLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjQyLjcgMTguN0MyMzAuNyA2LjcgMjE0LjUgMCAxOTcuNSAwTDY0IDB6TTE3MC4yIDI5NS42YzguNi0xMC4xIDcuNS0yNS4yLTIuNi0zMy44cy0yNS4yLTcuNS0zMy44IDIuNmwtNDggNTZjLTcuNyA5LTcuNyAyMi4yIDAgMzEuMmw0OCA1NmM4LjYgMTAuMSAyMy44IDExLjIgMzMuOCAyLjZzMTEuMi0yMy44IDIuNi0zMy44bC0zNC42LTQwLjQgMzQuNi00MC40em04MC0zMS4yYy04LjYtMTAuMS0yMy44LTExLjItMzMuOC0yLjZzLTExLjIgMjMuOC0yLjYgMzMuOGwzNC42IDQwLjQtMzQuNiA0MC40Yy04LjYgMTAuMS03LjUgMjUuMiAyLjYgMzMuOHMyNS4yIDcuNSAzMy44LTIuNmw0OC01NmM3LjctOSA3LjctMjIuMiAwLTMxLjJsLTQ4LTU2eiJdfSxjZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLXdpbmsiLGljb246WzUxMiw1MTIsWyJncmluLXdpbmsiXSwiZjU4YyIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTM3Mi4yIDQ2LjNjMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTE5LjggNTUuOS03My4xIDk2LTEzNS44IDk2LTYyLjcgMC0xMTYtNDAtMTM1LjgtOTUuOS00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjZ6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTY0IDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwYzAtMzMuMSAyNi45LTYwIDYwLTYwbDE2IDBjMzMuMSAwIDYwIDI2LjkgNjAgNjAgMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHoiXX0sWFR0PWNmZSxkZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibW9uZXktYmlsbC0xIixpY29uOls1MTIsNTEyLFsibW9uZXktYmlsbC1hbHQiXSwiZjNkMSIsIk0xMTIgMTEyYzAgMzUuMy0yOC43IDY0LTY0IDY0bDAgMTYwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDI4OCAwYzAtMzUuMyAyOC43LTY0IDY0LTY0bDAtMTYwYy0zNS4zIDAtNjQtMjguNy02NC02NGwtMjg4IDB6TTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTI1NiAxNmExMTIgMTEyIDAgMSAxIDAgMjI0IDExMiAxMTIgMCAxIDEgMC0yMjR6bS0xNiA0NGMtMTEgMC0yMCA5LTIwIDIwIDAgOS43IDYuOSAxNy43IDE2IDE5LjZsMCA0OC40LTQgMGMtMTEgMC0yMCA5LTIwIDIwczkgMjAgMjAgMjBsNDggMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTQgMCAwLTY4YzAtMTEtOS0yMC0yMC0yMGwtMTYgMHoiXX0sUVR0PWRmZSxKVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZXllLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJmMDcwIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTk2LjQtOTYuNGMyLjctMi40IDUuNC00LjggOC03LjIgNDYuOC00My41IDc4LjEtOTUuNCA5My0xMzEuMSAzLjMtNy45IDMuMy0xNi43IDAtMjQuNi0xNC45LTM1LjctNDYuMi04Ny43LTkzLTEzMS4xLTQ3LjEtNDMuNy0xMTEuOC04MC42LTE5Mi42LTgwLjYtNTYuOCAwLTEwNS42IDE4LjItMTQ2IDQ0LjJMNDEtMjQuOXpNMTc2LjkgMTExLjFjMzIuMS0xOC45IDY5LjItMzEuMSAxMTEuMS0zMS4xIDY1LjIgMCAxMTguOCAyOS42IDE1OS45IDY3LjcgMzguNSAzNS43IDY1LjEgNzguMyA3OC42IDEwOC4zLTEzLjYgMzAtNDAuMiA3Mi41LTc4LjYgMTA4LjMtMy4xIDIuOC02LjIgNS42LTkuNCA4LjRMMzkzLjggMzI4YzE0LTIwLjUgMjIuMi00NS4zIDIyLjItNzIgMC03MC43LTU3LjMtMTI4LTEyOC0xMjgtMjYuNyAwLTUxLjUgOC4yLTcyIDIyLjJsLTM5LjEtMzkuMXptMTgyIDE4MmwtMTA4LTEwOGMxMS4xLTUuOCAyMy43LTkuMSAzNy4xLTkuMSA0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDEzLjQtMy4zIDI2LTkuMSAzNy4xek0xMDMuNCAxNzMuMmwtMzQtMzRjLTMyLjYgMzYuOC01NSA3NS44LTY2LjkgMTA0LjUtMy4zIDcuOS0zLjMgMTYuNyAwIDI0LjYgMTQuOSAzNS43IDQ2LjIgODcuNyA5MyAxMzEuMSA0Ny4xIDQzLjcgMTExLjggODAuNiAxOTIuNiA4MC42IDM3LjMgMCA3MS4yLTcuOSAxMDEuNS0yMC42TDM1Mi4yIDQyMmMtMjAgNi40LTQxLjQgMTAtNjQuMiAxMC02NS4yIDAtMTE4LjgtMjkuNi0xNTkuOS02Ny43LTM4LjUtMzUuNy02NS4xLTc4LjMtNzguNi0xMDguMyAxMC40LTIzLjEgMjguNi01My42IDU0LTgyLjh6Il19LGVMdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLXdvcmQiLGljb246WzM4NCw1MTIsW10sImYxYzIiLCJNNjQgNDhsMTEyIDAgMCA4OGMwIDM5LjggMzIuMiA3MiA3MiA3Mmw4OCAwIDAgMjQwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCA2Ny45bDkyLjEgOTIuMS02OC4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNjguMXpNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNjEuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNDIuNyAxOC43QzIzMC43IDYuNyAyMTQuNSAwIDE5Ny41IDBMNjQgMHptNzEuMyAyNzQuMmMtMy4yLTEyLjktMTYuMi0yMC43LTI5LjEtMTcuNVM4NS41IDI3MyA4OC43IDI4NS44bDMyIDEyOGMyLjUgMTAuMiAxMS40IDE3LjUgMjEuOSAxOC4xczIwLjEtNS43IDIzLjgtMTUuNWwyNS41LTY4LjEgMjUuNSA2OC4xYzMuNyA5LjggMTMuMyAxNi4xIDIzLjggMTUuNXMxOS40LTcuOSAyMS45LTE4LjFsMzItMTI4YzMuMi0xMi45LTQuNi0yNS45LTE3LjUtMjkuMXMtMjUuOSA0LjYtMjkuMSAxNy41bC0xMy4zIDUzLjItMjAuOS01NS44QzIxMSAyNjIuMiAyMDIgMjU2IDE5MiAyNTZzLTE5IDYuMi0yMi41IDE1LjZsLTIwLjkgNTUuOC0xMy4zLTUzLjJ6Il19LHVmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWFuZ3J5IixpY29uOls1MTIsNTEyLFsxMjg1NDQsImFuZ3J5Il0sImY1NTYiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDEgMCA0MTYgMjA4IDIwOCAwIDEgMSAwLTQxNnptMCA0NjRhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTE0NGMyNC4xIDAgNDUuNCAxMS44IDU4LjUgMzAgNy43IDEwLjggMjIuNyAxMy4yIDMzLjUgNS41czEzLjItMjIuNyA1LjUtMzMuNWMtMjEuNy0zMC4yLTU3LjMtNTAtOTcuNS01MHMtNzUuNyAxOS44LTk3LjUgNTBjLTcuNyAxMC44LTUuMyAyNS44IDUuNSAzMy41czI1LjggNS4zIDMzLjUtNS41YzEzLjEtMTguMiAzNC40LTMwIDU4LjUtMzB6bS04MC05NmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLS4zIDkuNyAzLjJjMTAuNSAzLjUgMjEuOC0yLjIgMjUuMy0xMi42cy0yLjItMjEuOC0xMi42LTI1LjNsLTk2LTMyYy0xMC41LTMuNS0yMS44IDIuMi0yNS4zIDEyLjZzMi4yIDIxLjggMTIuNiAyNS4zbDI4LjkgOS42Yy00LjEgNS40LTYuNiAxMi4xLTYuNiAxOS40IDAgMTcuNyAxNC4zIDMyIDMyIDMyem0xOTItMzJjMC03LjMtMi40LTE0LTYuNi0xOS40bDI4LjktOS42YzEwLjUtMy41IDE2LjEtMTQuOCAxMi42LTI1LjNzLTE0LjgtMTYuMS0yNS4zLTEyLjZsLTk2IDMyYy0xMC41IDMuNS0xNi4xIDE0LjgtMTIuNiAyNS4zczE0LjggMTYuMSAyNS4zIDEyLjZsOS43LTMuMiAwIC4zYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6Il19LHRMdD11ZmUsYUx0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNoZXNzLWtuaWdodCIsaWNvbjpbNDQ4LDUxMixbOTgyMl0sImY0NDEiLCJNMjMyLTMyYzExMC41IDAgMjAwIDg5LjUgMjAwIDIwMGwwIDEyNy43YzAgMTguOS02LjEgMzcuMS0xNy4yIDUyLjJsLTUuMSA2LjItMzYuMyA0MC43IDMyLjEgNDAuMmM2LjcgOC40IDEwLjQgMTguOCAxMC40IDI5LjZsLS4yIDQuOGMtMi40IDIzLjktMjIuNiA0Mi41LTQ3LjEgNDIuNWwtMjg5LjIgMC00LjgtLjJjLTIzLjktMi40LTQyLjUtMjIuNi00Mi41LTQ3LjEgMC0xMC44IDMuNy0yMS4yIDEwLjQtMjkuNmwzNy42LTQ3IDAtMjQuM2MwLTI0LjMgMTAuMS00Ny42IDI3LjgtNjQuMmw2My41LTU5LjUtMTcuNCAwLS4yIC4yYy0yMC4zIDIwLjMtNDkuNiAyOC4yLTc3LjEgMjEuMWwtNS41LTEuNmMtMzAuOS0xMC4zLTUyLjMtMzgtNTQuOS03MC4xbC0uMi02LjQgMC0xLjRjMC0xOS43IDcuMS0zOC44IDE5LjktNTMuOGw3Ni4xLTg4LjggMC00Ny4xIC4xLTIuNUMxMTMuNC0yMi42IDEyMy42LTMyIDEzNi0zMmw5NiAwek04MC43IDQ2NGwyODYuNiAwLTM4LjQtNDgtMjA5LjkgMC0zOC40IDQ4ek0xNjAgNDhjMCA1LjctMi4xIDExLjMtNS44IDE1LjZMNzIuMyAxNTkuMUM2NyAxNjUuNCA2NCAxNzMuNCA2NCAxODEuN2wwIDEuNCAuNCA1LjJjMS45IDExLjkgMTAuMyAyMS45IDIxLjkgMjUuOGw0LjUgMS4xYzEwLjUgMS45IDIxLjMtMS40IDI5LTlsNy4yLTcuMiAzLjctM2MzLjktMi42IDguNS00IDEzLjMtNGw4OCAwYzkuOCAwIDE4LjcgNiAyMi4zIDE1LjJzMS4zIDE5LjYtNS45IDI2LjNsLTEwNy44IDEwMWMtOC4xIDcuNi0xMi43IDE4LjEtMTIuNyAyOS4ybDAgNC4zIDIwNS4yIDAgNDAuNy00NS44IDIuMy0yLjhjNS4xLTYuOCA3LjgtMTUuMiA3LjgtMjMuN0wzODQgMTY4YzAtODMuOS02OC4xLTE1Mi0xNTItMTUybC03MiAwIDAgMzJ6bTMyIDcyYTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHoiXX0scGZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MTYsImdyaW4tYmVhbSJdLCJmNTgyIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMzcyLjIgNDYuM2MxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3LjgtMTkuOCA1NS45LTczLjEgOTYtMTM1LjggOTYtNjIuNyAwLTExNi00MC0xMzUuOC05NS45LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNnpNMTc2IDE4MGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHptMTMyIDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6Il19LHJMdD1wZmUsc0x0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtcGVhY2UiLGljb246WzQ0OCw1MTIsWzk5OTZdLCJmMjViIiwiTTIxOSAxLjRjLTM1LjItMy43LTY2LjYgMjEuOC03MC4zIDU3bC02LjQgNjAuNi0xNy40LTQ5LjRDMTEzLjIgMzYuMyA3Ni42IDE4LjggNDMuMyAzMC41Uy03LjYgNzguOCA0LjEgMTEyLjFMNTYuOSAyNjIuMkM0MS43IDI3Ni43IDMyLjIgMjk3LjMgMzIuMiAzMjBsMCAyNGMwIDkyLjggNzUuMiAxNjggMTY4IDE2OGw0OCAwYzkyLjggMCAxNjgtNzUuMiAxNjgtMTY4bDAtMTIwYzAtMzUuMy0yOC43LTY0LTY0LTY0LTcuOSAwLTE1LjQgMS40LTIyLjQgNC0xMC40LTIxLjMtMzIuMy0zNi01Ny42LTM2LS43IDAtMS41IDAtMi4yIDBsNS45LTU2LjNjMy43LTM1LjItMjEuOC02Ni42LTU3LTcwLjN6bS0uMiAxNTUuNGMtNi42IDEwLjEtMTAuNSAyMi4yLTEwLjUgMzUuMmwwIDQ4YzAgLjcgMCAxLjQgMCAyLTUuMS0xLjMtMTAuNS0yLTE2LTJsLTcuNCAwLTUuNC0xNS4zIDE3LTE2MS4zYy45LTguOCA4LjgtMTUuMiAxNy42LTE0LjJzMTUuMiA4LjggMTQuMiAxNy42bC05LjUgOTAuMXpNNzkuNiA4NS42bDU0LjMgMTU0LjQtMjEuNyAwYy00IDAtOCAuMy0xMS45IC45TDQ5LjQgOTYuMmMtMi45LTguMyAxLjUtMTcuNSA5LjgtMjAuNHMxNy41IDEuNSAyMC40IDkuOHpNMjU2LjIgMTkyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA0OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTQ4em0zOC40IDEwOGMxMC40IDIxLjMgMzIuMyAzNiA1Ny42IDM2IDUuNSAwIDEwLjktLjcgMTYtMmwwIDEwYzAgNjYuMy01My43IDEyMC0xMjAgMTIwbC00OCAwYy02Ni4zIDAtMTIwLTUzLjctMTIwLTEyMGwwLTI0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDgwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMGMzNS4zIDAgNjQtMjguNyA2NC02NCAwLS43IDAtMS40IDAtMiA1LjEgMS4zIDEwLjUgMiAxNiAyIDcuOSAwIDE1LjQtMS40IDIyLjQtNHptNzMuNi0yOGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA0OHoiXX0saUx0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNvbXBhc3MiLGljb246WzUxMiw1MTIsWzEyOTUxN10sImYxNGUiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zMDYuNyA2OS4xTDE2Mi40IDM4MC42Yy0xOS40IDcuNS0zOC41LTExLjYtMzEtMzFsNTUuNS0xNDQuM2MzLjMtOC41IDkuOS0xNS4xIDE4LjQtMTguNGwxNDQuMy01NS41YzE5LjQtNy41IDM4LjUgMTEuNiAzMSAzMUwzMjUuMSAzMDYuN2MtMy4zIDguNS05LjkgMTUuMS0xOC40IDE4LjR6TTI4OCAyNTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0sb0x0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZSIsaWNvbjpbNDQ4LDUxMixbOTYzMiw5NzIzLDk3MjQsNjE1OTBdLCJmMGM4IiwiTTM4NCA4MGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMjBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQzMmMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDk2YzAtOC44IDcuMi0xNiAxNi0xNmwzMjAgMHpNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnoiXX0sZmZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3JpbiIsaWNvbjpbNTEyLDUxMixbMTI4NTEyLCJncmluIl0sImY1ODAiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zNzIuMiA0Ni4zYzExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOC0xOS44IDU1LjktNzMuMSA5Ni0xMzUuOCA5Ni02Mi43IDAtMTE2LTQwLTEzNS44LTk1LjktNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42ek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LG5MdD1mZmUsaGZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Utc21pbGUiLGljb246WzUxMiw1MTIsWzEyODU3OCwic21pbGUiXSwiZjExOCIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTE3Ny4zIDYzLjRDMTkyLjMgMzM1IDIxOC40IDM1MiAyNTYgMzUyczYzLjctMTcgNzguNy0zMi42YzkuMi05LjYgMjQuNC05LjkgMzMuOS0uN3M5LjkgMjQuNCAuNyAzMy45Yy0yMi4xIDIzLTYwIDQ3LjQtMTEzLjMgNDcuNHMtOTEuMi0yNC40LTExMy4zLTQ3LjRjLTkuMi05LjYtOC45LTI0LjggLjctMzMuOXMyNC44LTguOSAzMy45IC43ek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LGxMdD1oZmUsbWZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Utc21pbGUtYmVhbSIsaWNvbjpbNTEyLDUxMixbMTI4NTIyLCJzbWlsZS1iZWFtIl0sImY1YjgiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0xNzcuMyA2My40QzE5Mi4zIDMzNSAyMTguNCAzNTIgMjU2IDM1MnM2My43LTE3IDc4LjctMzIuNmM5LjItOS42IDI0LjQtOS45IDMzLjktLjdzOS45IDI0LjQgLjcgMzMuOWMtMjIuMSAyMy02MCA0Ny40LTExMy4zIDQ3LjRzLTkxLjItMjQuNC0xMTMuMy00Ny40Yy05LjItOS42LTguOS0yNC44IC43LTMzLjlzMjQuOC04LjkgMzMuOSAuN3pNMTc2IDE4MGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHptMTMyIDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6Il19LGNMdD1tZmUsZEx0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZvbGRlci1jbG9zZWQiLGljb246WzUxMiw1MTIsW10sImUxODUiLCJNNDQ4IDQwMEw2NCA0MDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE0NCA0MTYgMCAwIDE0NGMwIDguOC03LjIgMTYtMTYgMTZ6bTE2LTIwOGwtNDE2IDAgMC05NmMwLTguOCA3LjItMTYgMTYtMTZsMTM4LjcgMGMzLjUgMCA2LjggMS4xIDkuNiAzLjJMMjUwLjcgMTEyYzEzLjggMTAuNCAzMC43IDE2IDQ4IDE2TDQ0OCAxMjhjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDh6TTY0IDQ0OGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI0MGMwLTM1LjMtMjguNy02NC02NC02NEwyOTguNyA4MGMtNi45IDAtMTMuNy0yLjItMTkuMi02LjRMMjQxLjEgNDQuOEMyMzAgMzYuNSAyMTYuNSAzMiAyMDIuNyAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0eiJdfSx1THQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToia2V5Ym9hcmQiLGljb246WzU3Niw1MTIsWzllM10sImYxMWMiLCJNNjQgMTEyYy04LjggMC0xNiA3LjItMTYgMTZsMCAyNTZjMCA4LjggNy4yIDE2IDE2IDE2bDQ0OCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI1NmMwLTguOC03LjItMTYtMTYtMTZMNjQgMTEyek0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4ek0xNzYgMzIwbDIyNCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMjI0IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptLTcyLTcyYzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZ6bTE2LTk2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZ6bTY0IDk2YzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZ6bTE2LTk2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZ6bTY0IDk2YzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZ6bTE2LTk2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZ6bTY0IDk2YzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZ6bTE2LTk2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZ6bTY0IDk2YzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZ6bTE2LTk2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZ6Il19LGdmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLXJvbGxpbmctZXllcyIsaWNvbjpbNTEyLDUxMixbMTI4NTgwLCJtZWgtcm9sbGluZy1leWVzIl0sImY1YTUiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDEgMCA0MTYgMjA4IDIwOCAwIDEgMSAwLTQxNnptMCA0NjRhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzYgMzc2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTE2MCAyNjRjLTIyLjEgMC00MC0xNy45LTQwLTQwIDAtOS41IDMuMy0xOC4xIDguOC0yNSAzLjIgMTQuMyAxNiAyNSAzMS4yIDI1czI4LTEwLjcgMzEuMi0yNWM1LjUgNi44IDguOCAxNS41IDguOCAyNSAwIDIyLjEtMTcuOSA0MC00MCA0MHptMCA0MGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMTkyLTQwYy0yMi4xIDAtNDAtMTcuOS00MC00MCAwLTkuNSAzLjMtMTguMSA4LjgtMjUgMy4yIDE0LjMgMTYgMjUgMzEuMiAyNXMyOC0xMC43IDMxLjItMjVjNS41IDYuOCA4LjggMTUuNSA4LjggMjUgMCAyMi4xLTE3LjkgNDAtNDAgNDB6bTAgNDBhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6Il19LHBMdD1nZmUsYmZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3JpbWFjZSIsaWNvbjpbNTEyLDUxMixbMTI4NTU2LCJncmltYWNlIl0sImY1N2YiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDAgMCA0MTYgMjA4IDIwOCAwIDEgMCAwLTQxNnpNNTEyIDI1NmEyNTYgMjU2IDAgMSAxIC01MTIgMCAyNTYgMjU2IDAgMSAxIDUxMiAwek0xNTIgMzUyYzAgMTEuOSA4LjYgMjEuOCAyMCAyMy43bDAtNDcuM2MtMTEuNCAxLjktMjAgMTEuOC0yMCAyMy43em04NCAyNGwwLTQ4LTI0IDAgMCA0OCAyNCAwem02NCAwbDAtNDgtMjQgMCAwIDQ4IDI0IDB6bTQwLS4zYzExLjQtMS45IDIwLTExLjggMjAtMjMuN3MtOC42LTIxLjgtMjAtMjMuN2wwIDQ3LjN6TTE3NiAyODhsMTYwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRsLTE2MCAwYy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0em0wLTExMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxmTHQ9YmZlLHZmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtZG90IixpY29uOls1MTIsNTEyLFsxMjgyODAsImRvdC1jaXJjbGUiXSwiZjE5MiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDEgMC01MTIgMjU2IDI1NiAwIDEgMSAwIDUxMnptMC00NjRhMjA4IDIwOCAwIDEgMCAwIDQxNiAyMDggMjA4IDAgMSAwIDAtNDE2em0wIDMwNGE5NiA5NiAwIDEgMSAwLTE5MiA5NiA5NiAwIDEgMSAwIDE5MnoiXX0saEx0PXZmZSxtTHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToib2JqZWN0LWdyb3VwIixpY29uOls1NzYsNTEyLFtdLCJmMjQ3IiwiTTQwIDY0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTQ4IDU5LjNjMTYtNi41IDI4LjktMTkuMyAzNS4zLTM1LjNsMzI5LjMgMGM2LjUgMTYgMTkuMyAyOC45IDM1LjMgMzUuM2wwIDI2NS4zYy0xNiA2LjUtMjguOSAxOS4zLTM1LjMgMzUuM2wtMzI5LjMgMGMtNi41LTE2LTE5LjMtMjguOS0zNS4zLTM1LjNsMC0yNjUuM3pNNTEyIDBjLTI2LjkgMC00OS45IDE2LjUtNTkuMyA0MEwxMjMuMyA0MEMxMTMuOSAxNi41IDkwLjkgMCA2NCAwIDI4LjcgMCAwIDI4LjcgMCA2NCAwIDkwLjkgMTYuNSAxMTMuOSA0MCAxMjMuM2wwIDI2NS4zYy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjQgMjYuOSAwIDQ5LjktMTYuNSA1OS4zLTQwbDMyOS4zIDBjOS41IDIzLjUgMzIuNSA0MCA1OS4zIDQwIDM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM2wwLTI2NS4zYzIzLjUtOS41IDQwLTMyLjUgNDAtNTkuMyAwLTM1LjMtMjguNy02NC02NC02NHpNNDg4IDY0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTY0IDQyNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTQyNCAyNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek0xOTIgMTc2bDg4IDAgMCA1Ni04OCAwIDAtNTZ6bS04LTQwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDcyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNzJjMC0xNy43LTE0LjMtMzItMzItMzJsLTEwNCAwem03MiAxODRsMCAyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMDQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTcyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0yNCAwYzAgMTQuNi0zLjkgMjguMi0xMC43IDQwbDI2LjcgMCAwIDU2LTg4IDAgMC0xNi40Yy0yLjYgLjMtNS4zIC40LTggLjRsLTMyIDB6Il19LHhmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWZsdXNoZWQiLGljb246WzUxMiw1MTIsWzEyODU2MywiZmx1c2hlZCJdLCJmNTc5IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMSAtNDE2IDAgMjA4IDIwOCAwIDEgMSA0MTYgMHpNMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMiAyNTYgMjU2IDAgMSAwIDAtNTEyek0xNjAgMjQ4YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjE2LTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTE5MiAzNTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTI4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTEyOCAwek0xNjAgMTc2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnptMCAxMjhhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTE0NC04MGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem0xMjggMGE4MCA4MCAwIDEgMCAtMTYwIDAgODAgODAgMCAxIDAgMTYwIDB6Il19LGdMdD14ZmUseWZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InN0YXItaGFsZi1zdHJva2UiLGljb246WzU3Niw1MTIsWyJzdGFyLWhhbGYtYWx0Il0sImY1YzAiLCJNMzA5LjUtMTguOWMtNC4xLTgtMTIuNC0xMy4xLTIxLjQtMTMuMXMtMTcuMyA1LjEtMjEuNCAxMy4xTDE5My4xIDEyNS4zIDMzLjIgMTUwLjdjLTguOSAxLjQtMTYuMyA3LjctMTkuMSAxNi4zcy0uNSAxOCA1LjggMjQuNGwxMTQuNCAxMTQuNS0yNS4yIDE1OS45Yy0xLjQgOC45IDIuMyAxNy45IDkuNiAyMy4yczE2LjkgNi4xIDI1IDJMMjg4LjEgNDE3LjYgNDMyLjQgNDkxYzggNC4xIDE3LjcgMy4zIDI1LTJzMTEtMTQuMiA5LjYtMjMuMkw0NDEuNyAzMDUuOSA1NTYuMSAxOTEuNGM2LjQtNi40IDguNi0xNS44IDUuOC0yNC40cy0xMC4xLTE0LjktMTkuMS0xNi4zTDM4MyAxMjUuMyAzMDkuNS0xOC45ek0yNjQuMSA5MS44bDAgMjg0LjEtMTAwLjEgNTAuOSAxOS44LTEyNS41YzEuMi03LjYtMS4zLTE1LjMtNi43LTIwLjdsLTg5LjgtODkuOSAxMjUuNS0yMGM3LjYtMS4yIDE0LjEtNiAxNy42LTEyLjhsMzMuOC02Ni4yem00OCAyODQuMWwwLTI4NC4xIDMzLjggNjYuMmMzLjUgNi44IDEwIDExLjYgMTcuNiAxMi44bDEyNS41IDIwLTg5LjggODkuOWMtNS40IDUuNC03LjkgMTMuMS02LjcgMjAuN2wxOS44IDEyNS41LTEwMC4xLTUwLjl6Il19LGJMdD15ZmUsdkx0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtdmlkZW8iLGljb246WzM4NCw1MTIsW10sImYxYzgiLCJNNjQgNDhsMTEyIDAgMCA4OGMwIDM5LjggMzIuMiA3MiA3MiA3Mmw4OCAwIDAgMjQwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCA2Ny45bDkyLjEgOTIuMS02OC4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNjguMXpNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNjEuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNDIuNyAxOC43QzIzMC43IDYuNyAyMTQuNSAwIDE5Ny41IDBMNjQgMHpNODAgMjg4bDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTI0IDM1IDM1YzMuMiAzLjIgNy41IDUgMTIgNSA5LjQgMCAxNy03LjYgMTctMTdsMC05NC4xYzAtOS40LTcuNi0xNy0xNy0xNy00LjUgMC04LjggMS44LTEyIDVsLTM1IDM1IDAtMjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyeiJdfSx3ZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1sYXVnaCIsaWNvbjpbNTEyLDUxMixbImxhdWdoIl0sImY1OTkiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0xMTguMyA1OC4yYy00LjItMTMuNyA3LjEtMjYuMiAyMS40LTI2LjJsMjMyLjYgMGMxNC4zIDAgMjUuNiAxMi41IDIxLjQgMjYuMi0xOCA1OC45LTcyLjkgMTAxLjgtMTM3LjcgMTAxLjhTMTM2LjMgMzczLjEgMTE4LjMgMzE0LjJ6TTE0NCAxOTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0seEx0PXdmZSx5THQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1wb2ludGVyIixpY29uOls0NDgsNTEyLFtdLCJmMjVhIiwiTTE2MCA2NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTM2YzAgMTAuMyA2LjYgMTkuNSAxNi40IDIyLjhzMjAuNi0uMSAyNi44LTguM2MzLTMuOSA3LjYtNi40IDEyLjgtNi40IDguOCAwIDE2IDcuMiAxNiAxNiAwIDEwLjMgNi42IDE5LjUgMTYuNCAyMi44czIwLjYtLjEgMjYuOC04LjNjMy0zLjkgNy42LTYuNCAxMi44LTYuNCA3LjggMCAxNC4zIDUuNiAxNS43IDEzIDEuNiA4LjIgNy4zIDE1LjEgMTUuMSAxOHMxNi43IDEuNiAyMy4zLTMuNmMyLjctMi4xIDYuMS0zLjQgOS45LTMuNCA4LjggMCAxNiA3LjIgMTYgMTZsMCAxMjBjMCAzOS44LTMyLjIgNzItNzIgNzJsLTExNi42IDBjLTM3LjQgMC03Mi40LTE4LjctOTMuMi00OS45TDUwLjcgMzEyLjljLTQuOS03LjQtMi45LTE3LjMgNC40LTIyLjJzMTcuMy0yLjkgMjIuMiA0LjRMMTE2IDM1My4yYzUuOSA4LjggMTYuOCAxMi43IDI2LjkgOS43czE3LTEyLjQgMTctMjNMMTYwIDY0ek0xNzYgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAxOTcuN0M5MS4yIDIzOCA1NS41IDIzMi44IDI4LjUgMjUwLjctLjkgMjcwLjQtOC45IDMxMC4xIDEwLjggMzM5LjVMNzguMyA0NDAuOGMyOS43IDQ0LjUgNzkuNiA3MS4yIDEzMy4xIDcxLjJMMzI4IDUxMmM2Ni4zIDAgMTIwLTUzLjcgMTIwLTEyMGwwLTEyMGMwLTM1LjMtMjguNy02NC02NC02NC00LjUgMC04LjggLjUtMTMgMS4zLTExLjctMTUuNC0zMC4yLTI1LjMtNTEtMjUuMy02LjkgMC0xMy41IDEuMS0xOS43IDMuMS0xMS42LTE2LjQtMzAuNy0yNy4xLTUyLjMtMjcuMS0yLjcgMC01LjQgLjItOCAuNUwyNDAgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjR6bTQ4IDMwNGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC05NnptNDgtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC05NmMwLTguOC03LjItMTYtMTYtMTZ6bTgwIDE2YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTk2eiJdfSx3THQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToicmVnaXN0ZXJlZCIsaWNvbjpbNTEyLDUxMixbMTc0XSwiZjI1ZCIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIwMCAxNDRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTc2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC01NiAzNC40IDAgNDEgNjguM2M2LjggMTEuNCAyMS42IDE1IDMyLjkgOC4yczE1LTIxLjYgOC4yLTMyLjlsLTMwLjItNTAuM2MyNC42LTExLjUgNDEuNi0zNi40IDQxLjYtNjUuMyAwLTM5LjgtMzIuMi03Mi03Mi03MmwtODAgMHptNzIgOTZsLTQ4IDAgMC00OCA1NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDB6Il19LE0kYT17ZmFTcXVhcmVNaW51czplcGUsZmFNaW51c1NxdWFyZTpzQ3QsZmFDYWxlbmRhckNoZWNrOmlDdCxmYUZhY2VLaXNzOnRwZSxmYUtpc3M6b0N0LGZhUGFzdGU6QWIsZmFGaWxlQ2xpcGJvYXJkOm5DdCxmYUhhbmRQb2ludExlZnQ6bEN0LGZhRmlsZUV4Y2VsOmNDdCxmYUVudmVsb3BlOmRDdCxmYVNxdWFyZUNhcmV0RG93bjphcGUsZmFDYXJldFNxdWFyZURvd246dUN0LGZhVHJ1Y2s6cEN0LGZhQmVsbDpmQ3QsZmFNZXNzYWdlOlBiLGZhQ29tbWVudEFsdDpoQ3QsZmFGYWNlRGl6enk6cnBlLGZhRGl6enk6bUN0LGZhQ2FsZW5kYXJEYXlzOnNwZSxmYUNhbGVuZGFyQWx0OmdDdCxmYUhhbmRQb2ludFVwOmJDdCxmYUhhbmRMaXphcmQ6dkN0LGZhU3F1YXJlRnVsbDp4Q3QsZmFDaXJjbGVQYXVzZTppcGUsZmFQYXVzZUNpcmNsZTp5Q3QsZmFIYXJkRHJpdmU6b3BlLGZhSGRkOndDdCxmYUZpbGVaaXBwZXI6bnBlLGZhRmlsZUFyY2hpdmU6TUN0LGZhRmxvcHB5RGlzazpscGUsZmFTYXZlOmtDdCxmYUZhY2VHcmluVG9uZ3VlU3F1aW50OmNwZSxmYUdyaW5Ub25ndWVTcXVpbnQ6U0N0LGZhQ2FtZXJhOmRwZSxmYUNhbWVyYUFsdDp6Q3QsZmFGYWNlR3JpblN0YXJzOnVwZSxmYUdyaW5TdGFyczpDQ3QsZmFFeWU6X0N0LGZhRmFjZVNhZFRlYXI6cHBlLGZhU2FkVGVhcjpUQ3QsZmFTaGFyZUZyb21TcXVhcmU6ZnBlLGZhU2hhcmVTcXVhcmU6TEN0LGZhTm90ZVN0aWNreTpocGUsZmFTdGlja3lOb3RlOiRDdCxmYUhhbmRCYWNrRmlzdDptcGUsZmFIYW5kUm9jazpEQ3QsZmFDaGVzc1F1ZWVuOkFDdCxmYUZhY2VHcmluVGVhcnM6Z3BlLGZhR3JpblRlYXJzOlBDdCxmYVBlblRvU3F1YXJlOmJwZSxmYUVkaXQ6RUN0LGZhRmFjZUdyaW5CZWFtU3dlYXQ6dnBlLGZhR3JpbkJlYW1Td2VhdDpJQ3QsZmFDbG9jazp4cGUsZmFDbG9ja0ZvdXI6TkN0LGZhRmFjZUxhdWdoV2luazp5cGUsZmFMYXVnaFdpbms6UkN0LGZhUGFwZXJQbGFuZTpPQ3QsZmFIZWFydDpGQ3QsZmFGb250QXdlc29tZTptZWUsZmFGb250QXdlc29tZUZsYWc6QkN0LGZhRm9udEF3ZXNvbWVMb2dvRnVsbDpIQ3QsZmFDbG9uZTpxQ3QsZmFGb2xkZXJPcGVuOlZDdCxmYVdpbmRvd01pbmltaXplOmpDdCxmYVN0YXJIYWxmOlVDdCxmYUFsYXJtQ2xvY2s6V0N0LGZhTmV3c3BhcGVyOkdDdCxmYUhvc3BpdGFsOmdlZSxmYUhvc3BpdGFsQWx0OllDdCxmYUhvc3BpdGFsV2lkZTpLQ3QsZmFDaXJjbGVTdG9wOndwZSxmYVN0b3BDaXJjbGU6WkN0LGZhT2JqZWN0VW5ncm91cDpYQ3QsZmFDb21tZW50OlFDdCxmYUNoZXNzUGF3bjpKQ3QsZmFDYWxlbmRhclBsdXM6ZV90LGZhQ2xpcGJvYXJkOnRfdCxmYVRodW1ic0Rvd246YV90LGZhSWRCYWRnZTpyX3QsZmFTcXVhcmVDaGVjazpNcGUsZmFDaGVja1NxdWFyZTpzX3QsZmFDaGVzc0Jpc2hvcDppX3QsZmFFbnZlbG9wZU9wZW46b190LGZhQ2lyY2xlWG1hcms6VTgsZmFUaW1lc0NpcmNsZTpuX3QsZmFYbWFya0NpcmNsZTpsX3QsZmFTcXVhcmVDYXJldFVwOmtwZSxmYUNhcmV0U3F1YXJlVXA6Y190LGZhRmlsZUltYWdlOmRfdCxmYVNxdWFyZUNhcmV0UmlnaHQ6U3BlLGZhQ2FyZXRTcXVhcmVSaWdodDp1X3QsZmFTdW46a2VlLGZhSW1hZ2U6cF90LGZhTGlnaHRidWxiOmZfdCxmYUFkZHJlc3NDYXJkOmJlZSxmYUNvbnRhY3RDYXJkOmhfdCxmYVZjYXJkOm1fdCxmYUZhY2VNZWg6enBlLGZhTWVoOmdfdCxmYU1hcDpiX3QsZmFIYW5kUG9pbnREb3duOnZfdCxmYUZhY2VNZWhCbGFuazpDcGUsZmFNZWhCbGFuazp4X3QsZmFGYWNlR3JpblRvbmd1ZTpfcGUsZmFHcmluVG9uZ3VlOnlfdCxmYUZ1dGJvbDp2ZWUsZmFGdXRib2xCYWxsOndfdCxmYVNvY2NlckJhbGw6TV90LGZhRmFjZVN1cnByaXNlOlRwZSxmYVN1cnByaXNlOmtfdCxmYUZvbGRlcjpMcGUsZmFGb2xkZXJCbGFuazpTX3QsZmFDbG91ZDp6X3QsZmFDaXJjbGU6Q190LGZhRmFjZUdyaW5TcXVpbnQ6JHBlLGZhR3JpblNxdWludDpfX3QsZmFDaXJjbGVVc2VyOkRwZSxmYVVzZXJDaXJjbGU6VF90LGZhUmVjdGFuZ2xlTGlzdDpBcGUsZmFMaXN0QWx0OkxfdCxmYUhhbmQ6UHBlLGZhSGFuZFBhcGVyOiRfdCxmYVRodW1ic1VwOkRfdCxmYUJ1aWxkaW5nOkFfdCxmYUNoZXNzUm9vazpQX3QsZmFDaXJjbGVRdWVzdGlvbjpFcGUsZmFRdWVzdGlvbkNpcmNsZTpFX3QsZmFGaWxlOklfdCxmYUZhY2VTYWRDcnk6SXBlLGZhU2FkQ3J5Ok5fdCxmYUNhbGVuZGFyTWludXM6Ul90LGZhRmFjZVRpcmVkOk5wZSxmYVRpcmVkOk9fdCxmYUhhbmRQb2ludFJpZ2h0OkZfdCxmYUNpcmNsZVVwOlJwZSxmYUFycm93QWx0Q2lyY2xlVXA6Ql90LGZhSGFuZFNjaXNzb3JzOkhfdCxmYUdlbTpxX3QsZmFSZWN0YW5nbGVYbWFyazokYixmYVJlY3RhbmdsZVRpbWVzOlZfdCxmYVRpbWVzUmVjdGFuZ2xlOmpfdCxmYVdpbmRvd0Nsb3NlOlVfdCxmYVRyYXNoQ2FuOkViLGZhVHJhc2hBbHQ6V190LGZhTGlmZVJpbmc6R190LGZhQ29weXJpZ2h0OllfdCxmYUNpcmNsZUxlZnQ6T3BlLGZhQXJyb3dBbHRDaXJjbGVMZWZ0OktfdCxmYUNhbGVuZGFyOlpfdCxmYUZhY2VGcm93bk9wZW46RnBlLGZhRnJvd25PcGVuOlhfdCxmYUNoYXJ0QmFyOkJwZSxmYUJhckNoYXJ0OlFfdCxmYUhvdXNlOkRiLGZhSG9tZTpKX3QsZmFIb21lQWx0OmVUdCxmYUhvbWVMZ0FsdDp0VHQsZmFGYWNlRnJvd246SHBlLGZhRnJvd246YVR0LGZhVXNlcjp4ZWUsZmFVc2VyQWx0OnJUdCxmYVVzZXJMYXJnZTpzVHQsZmFTbm93Zmxha2U6aVR0LGZhQm9va21hcms6b1R0LGZhU3F1YXJlQ2FyZXRMZWZ0OnFwZSxmYUNhcmV0U3F1YXJlTGVmdDpuVHQsZmFIYW5kc2hha2U6eWVlLGZhSGFuZHNoYWtlQWx0OmxUdCxmYUhhbmRzaGFrZVNpbXBsZTpjVHQsZmFGYWNlU21pbGVXaW5rOlZwZSxmYVNtaWxlV2luazpkVHQsZmFGYWNlR3JpblNxdWludFRlYXJzOmpwZSxmYUdyaW5TcXVpbnRUZWFyczp1VHQsZmFGaWxlQXVkaW86cFR0LGZhQ2FsZW5kYXJYbWFyazpVcGUsZmFDYWxlbmRhclRpbWVzOmZUdCxmYUNpcmNsZURvd246V3BlLGZhQXJyb3dBbHRDaXJjbGVEb3duOmhUdCxmYUZpbGVMaW5lczp3ZWUsZmFGaWxlQWx0Om1UdCxmYUZpbGVUZXh0OmdUdCxmYUNvbW1lbnRzOmJUdCxmYUNpcmNsZUNoZWNrOkliLGZhQ2hlY2tDaXJjbGU6dlR0LGZhTW9vbjp4VHQsZmFDbG9zZWRDYXB0aW9uaW5nOnlUdCxmYUltYWdlczp3VHQsZmFDaXJjbGVSaWdodDpHcGUsZmFBcnJvd0FsdENpcmNsZVJpZ2h0Ok1UdCxmYUlkQ2FyZDpZcGUsZmFEcml2ZXJzTGljZW5zZTprVHQsZmFDaXJjbGVQbGF5OktwZSxmYVBsYXlDaXJjbGU6U1R0LGZhRmFjZUxhdWdoQmVhbTpacGUsZmFMYXVnaEJlYW06elR0LGZhQWRkcmVzc0Jvb2s6WHBlLGZhQ29udGFjdEJvb2s6Q1R0LGZhSG91cmdsYXNzOlFwZSxmYUhvdXJnbGFzc0VtcHR5Ol9UdCxmYUhlYWRwaG9uZXM6TWVlLGZhSGVhZHBob25lc0FsdDpUVHQsZmFIZWFkcGhvbmVzU2ltcGxlOkxUdCxmYUZpbGVQb3dlcnBvaW50OiRUdCxmYVdpbmRvd01heGltaXplOkRUdCxmYUNvbW1lbnREb3RzOkpwZSxmYUNvbW1lbnRpbmc6QVR0LGZhRmFjZUdyaW5Ub25ndWVXaW5rOmVmZSxmYUdyaW5Ub25ndWVXaW5rOlBUdCxmYUhvdXJnbGFzc0hhbGY6dGZlLGZhSG91cmdsYXNzMjpFVHQsZmFDcmVkaXRDYXJkOmFmZSxmYUNyZWRpdENhcmRBbHQ6SVR0LGZhSGFuZFNwb2NrOk5UdCxmYUJlbGxTbGFzaDpSVHQsZmFTdGFyOk9UdCxmYUZsYWc6RlR0LGZhTGVtb246QlR0LGZhV2luZG93UmVzdG9yZTpIVHQsZmFGYWNlR3JpbkhlYXJ0czpyZmUsZmFHcmluSGVhcnRzOnFUdCxmYUZhY2VLaXNzQmVhbTpzZmUsZmFLaXNzQmVhbTpWVHQsZmFGaWxlUGRmOmpUdCxmYUZhY2VHcmluV2lkZTppZmUsZmFHcmluQWx0OlVUdCxmYUZhY2VMYXVnaFNxdWludDpvZmUsZmFMYXVnaFNxdWludDpXVHQsZmFGYWNlS2lzc1dpbmtIZWFydDpuZmUsZmFLaXNzV2lua0hlYXJ0OkdUdCxmYUNvcHk6U2VlLGZhQ2hlc3NLaW5nOllUdCxmYVNxdWFyZVBsdXM6bGZlLGZhUGx1c1NxdWFyZTpLVHQsZmFGaWxlQ29kZTpaVHQsZmFGYWNlR3Jpbldpbms6Y2ZlLGZhR3Jpbldpbms6WFR0LGZhTW9uZXlCaWxsMTpkZmUsZmFNb25leUJpbGxBbHQ6UVR0LGZhRXllU2xhc2g6SlR0LGZhRmlsZVdvcmQ6ZUx0LGZhRmFjZUFuZ3J5OnVmZSxmYUFuZ3J5OnRMdCxmYUNoZXNzS25pZ2h0OmFMdCxmYUZhY2VHcmluQmVhbTpwZmUsZmFHcmluQmVhbTpyTHQsZmFIYW5kUGVhY2U6c0x0LGZhQ29tcGFzczppTHQsZmFTcXVhcmU6b0x0LGZhRmFjZUdyaW46ZmZlLGZhR3JpbjpuTHQsZmFGYWNlU21pbGU6aGZlLGZhU21pbGU6bEx0LGZhRmFjZVNtaWxlQmVhbTptZmUsZmFTbWlsZUJlYW06Y0x0LGZhRm9sZGVyQ2xvc2VkOmRMdCxmYUtleWJvYXJkOnVMdCxmYUZhY2VSb2xsaW5nRXllczpnZmUsZmFNZWhSb2xsaW5nRXllczpwTHQsZmFGYWNlR3JpbWFjZTpiZmUsZmFHcmltYWNlOmZMdCxmYUNpcmNsZURvdDp2ZmUsZmFEb3RDaXJjbGU6aEx0LGZhT2JqZWN0R3JvdXA6bUx0LGZhRmFjZUZsdXNoZWQ6eGZlLGZhRmx1c2hlZDpnTHQsZmFTdGFySGFsZlN0cm9rZTp5ZmUsZmFTdGFySGFsZkFsdDpiTHQsZmFGaWxlVmlkZW86dkx0LGZhRmFjZUxhdWdoOndmZSxmYUxhdWdoOnhMdCxmYUhhbmRQb2ludGVyOnlMdCxmYVJlZ2lzdGVyZWQ6d0x0fX0pO3ZhciBrJGEsa0x0LFNMdCx6THQsQ0x0LF9MdCxUTHQsTEx0LCRMdCxETHQsQUx0LHplZSxQTHQsRUx0LElMdCxOTHQsTWZlLFJMdCxrZmUsT0x0LEZMdCxCTHQsU2ZlLEhMdCxxTHQsVkx0LGpMdCxRYixVTHQsV0x0LHpmZSxHTHQsWUx0LEtMdCxaTHQsWEx0LFFMdCxKTHQsZSR0LENmZSx0JHQsYSR0LHIkdCxfZmUscyR0LGkkdCxvJHQsbiR0LGwkdCxKYixjJHQsVGZlLGQkdCx1JHQsQ2VlLHAkdCxmJHQsTGZlLGgkdCwkZmUsbSR0LGckdCxEZmUsYiR0LEFmZSx2JHQsUGZlLHgkdCx5JHQsdyR0LE0kdCxrJHQsUyR0LHokdCxFZmUsQyR0LF8kdCxUJHQsTCR0LElmZSwkJHQsRCR0LEEkdCxQJHQsRSR0LEkkdCxfZWUsTiR0LFIkdCxPJHQsVGVlLEYkdCxCJHQsSCR0LE5mZSxxJHQsViR0LGokdCxVJHQsUmZlLFckdCxNdGUsRyR0LGt0ZSxZJHQsSyR0LE9mZSxaJHQsRmZlLFgkdCxRJHQsTGVlLEokdCxlRHQsdER0LGFEdCxyRHQsc0R0LGlEdCxvRHQsU3RlLGV2LG5EdCxsRHQsQmZlLGNEdCxkRHQsTmIsdUR0LHBEdCxmRHQsSGZlLGhEdCxtRHQsZ0R0LHFmZSxiRHQsVmZlLHZEdCx4RHQseUR0LHdEdCxqZmUsTUR0LGtEdCxTRHQsVWZlLHpEdCxXZmUsQ0R0LF9EdCxURHQsTER0LCRlZSwkRHQsRER0LEFEdCxQRHQsRUR0LElEdCxORHQsR2ZlLFJEdCxPRHQsRkR0LEJEdCxIRHQsWWZlLHFEdCxWRHQsUmIsakR0LFVEdCxXRHQsR0R0LFlEdCxLRHQsRGVlLFpEdCxYRHQsUUR0LEpEdCxlQXQsS2ZlLHRBdCxhQXQsckF0LHNBdCxpQXQsb0F0LFpmZSxuQXQsbEF0LGNBdCxkQXQsWGZlLHVBdCxwQXQsZkF0LFFmZSxoQXQsbUF0LEpmZSxnQXQsZTVlLGJBdCx2QXQsdDVlLHhBdCx5QXQsYTVlLHdBdCxyNWUsTUF0LGtBdCx0dixTQXQsYXYsekF0LENBdCxBZWUsX0F0LFRBdCxMQXQsczVlLCRBdCxEQXQsaTVlLEFBdCxQQXQsRUF0LElBdCxvNWUsTkF0LFJBdCxPQXQsRkF0LEJBdCxuNWUsSEF0LHFBdCxWQXQsakF0LGw1ZSxVQXQsYzVlLFdBdCxHQXQsWUF0LEtBdCxaQXQsZDVlLFhBdCxRQXQsSkF0LGVQdCx1NWUsdFB0LGFQdCxwNWUsclB0LGY1ZSxzUHQsaVB0LG9QdCxuUHQsbFB0LGNQdCxoNWUsZFB0LHVQdCxwUHQsZlB0LGhQdCxtNWUsbVB0LGdQdCxiUHQsdlB0LGc1ZSx4UHQsYjVlLHlQdCx6dGUsQ3RlLHY1ZSx3UHQseDVlLE1QdCxrUHQsU1B0LGh2LHk1ZSx6UHQsQ1B0LF9QdCxUUHQsTFB0LCRQdCx3NWUsRFB0LF90ZSxBUHQsUFB0LEVQdCxJUHQsTlB0LE01ZSxSUHQsazVlLE9QdCxGUHQsQlB0LEhQdCxTNWUscVB0LFBlZSxWUHQsalB0LFVQdCx6NWUsV1B0LEdQdCxZUHQsS1B0LEM1ZSxaUHQsWFB0LFFQdCxKUHQsXzVlLGVFdCx0RXQsYUV0LHJFdCxzRXQsaUV0LG9FdCxuRXQsbEV0LGNFdCxkRXQsdUV0LHBFdCxUNWUsZkV0LGhFdCxtRXQsZ0V0LGJFdCx2RXQseEV0LEw1ZSx5RXQsd0V0LE1FdCxXOCxrRXQsU0V0LHpFdCxDRXQsX0V0LCQ1ZSxURXQsRDVlLExFdCxBNWUsJEV0LFA1ZSxERXQsRTVlLEFFdCxydixQRXQsSTVlLEVFdCxONWUsSUV0LFI1ZSxORXQsUkV0LE9FdCxGRXQsTzVlLEJFdCxIRXQsRjVlLHFFdCxWRXQsQjVlLGpFdCxVRXQsV0V0LEdFdCxINWUsWUV0LEtFdCxaRXQscTVlLFhFdCxRRXQsT2IsSkV0LGVJdCx0SXQsYUl0LHJJdCxzSXQsVjVlLGlJdCxqNWUsb0l0LG5JdCxsSXQsVTVlLGNJdCxkSXQsdUl0LFc1ZSxwSXQsRzVlLGZJdCxFZWUsaEl0LG1JdCxnSXQsYkl0LHZJdCx4SXQseUl0LHdJdCxNSXQsa0l0LFNJdCx6SXQsQ0l0LF9JdCxGYixUSXQsTEl0LCRJdCxESXQsQUl0LFBJdCxFSXQsSUl0LFk1ZSxOSXQsUkl0LE9JdCxGSXQsQkl0LEhJdCxxSXQsVkl0LGpJdCxVSXQsSzVlLFdJdCxHSXQsWUl0LEtJdCxaSXQsWEl0LFFJdCxaNWUsSkl0LFg1ZSxlTnQsdE50LFE1ZSxhTnQsck50LHNOdCxpTnQsSjVlLG9OdCxuTnQsbE50LGVoZSxjTnQsdGhlLGROdCx1TnQsYWhlLHBOdCxmTnQsaE50LG1OdCxyaGUsZ050LGJOdCx2TnQsVHRlLHhOdCx5TnQsd050LHNoZSxNTnQsa050LFNOdCx6TnQsQ050LGloZSxfTnQsVE50LExOdCwkTnQsRE50LG9oZSxBTnQsUE50LEVOdCxuaGUsSU50LE5OdCxJZWUsUk50LE9OdCxGTnQsQk50LGxoZSxITnQscU50LFZOdCxjaGUsak50LGRoZSxVTnQsV050LEdOdCxZTnQsc3YsS050LHVoZSxaTnQsWE50LFFOdCxKTnQsZVJ0LHBoZSx0UnQsZmhlLGFSdCxoaGUsclJ0LHNSdCxOZWUsaVJ0LG9SdCxtaGUsblJ0LFJlZSxsUnQsY1J0LGRSdCx1UnQscFJ0LGZSdCxoUnQsbVJ0LGdoZSxnUnQsYlJ0LHZSdCx4UnQseVJ0LGJoZSx3UnQsTVJ0LGtSdCx2aGUsU1J0LHhoZSx6UnQseWhlLENSdCxfUnQsVFJ0LExSdCwkUnQsRFJ0LEFSdCx3aGUsUFJ0LEVSdCxJUnQsTlJ0LE1oZSxSUnQsT1J0LEZSdCxCUnQsSFJ0LHFSdCxraGUsVlJ0LGpSdCxTaGUsVVJ0LFdSdCx6aGUsR1J0LFlSdCxLUnQsWlJ0LENoZSxYUnQsUVJ0LEpSdCxfaGUsZU90LFRoZSx0T3QsYU90LHJPdCxzT3QsTGhlLGlPdCxvT3Qsbk90LGxPdCxjT3QsJGhlLGRPdCxEaGUsdU90LEFoZSxwT3QsZk90LFBoZSxoT3QsRWhlLG1PdCxnT3QsYk90LHZPdCx4T3QseU90LHdPdCxNT3Qsa090LFNPdCx6T3QsT2VlLENPdCxfT3QsWjgsVE90LExPdCwkT3QsRmVlLERPdCxBT3QsUE90LEVPdCxJT3QsTk90LFJPdCxJaGUsT090LE5oZSxGT3QsQk90LEhPdCxSaGUscU90LE9oZSxWT3Qsak90LEJlZSxVT3QsV090LEdPdCxZT3QsRzgsS090LFpPdCxYT3QsUU90LEpPdCxlRnQsdEZ0LEZoZSxhRnQsckZ0LHNGdCxpRnQsQmhlLG9GdCxuRnQsbEZ0LGNGdCxkRnQsdUZ0LHBGdCxIaGUsZkZ0LGhGdCxtRnQsZ0Z0LGJGdCx2RnQscWhlLHhGdCxMdGUsVmhlLHlGdCx3RnQsTUZ0LGpoZSxrRnQsVWhlLFNGdCx6RnQsQ0Z0LFdoZSxfRnQsVEZ0LEdoZSxMRnQsJEZ0LERGdCxBRnQsWWhlLFBGdCxFRnQsSUZ0LE5GdCxSRnQsT0Z0LEtoZSxGRnQsQkZ0LCR0ZSxIRnQscUZ0LFpoZSxWRnQsakZ0LFVGdCxCYixXRnQsR0Z0LFlGdCxLRnQsSGIsWkZ0LFhGdCxRRnQsSkZ0LGVCdCx0QnQsWGhlLGFCdCxIZWUsckJ0LHNCdCxpQnQsUWhlLG9CdCxuQnQsbEJ0LGNCdCxkQnQsdUJ0LHBCdCxKaGUsZkJ0LER0ZSxoQnQsbUJ0LGdCdCxlOGUsYkJ0LHQ4ZSx2QnQseEJ0LGE4ZSx5QnQscWIsd0J0LE1CdCxrQnQsU0J0LHpCdCxDQnQsX0J0LFRCdCxMQnQscjhlLCRCdCxEQnQsQUJ0LFBCdCxxZWUsRUJ0LElCdCxzOGUsTkJ0LFJCdCxPQnQsaThlLEZCdCxCQnQsSEJ0LG84ZSxxQnQsVkJ0LGpCdCxVQnQsV0J0LEdCdCxZQnQsS0J0LFpCdCxuOGUsWEJ0LGw4ZSxRQnQsSkJ0LGVIdCx0SHQsYUh0LHJIdCxzSHQsYzhlLGlIdCxvSHQsbkh0LGQ4ZSxsSHQsY0h0LHU4ZSxkSHQscDhlLHVIdCxmOGUscEh0LGZIdCxoSHQsaDhlLG1IdCxtOGUsZ0h0LGc4ZSxiSHQsdkh0LGI4ZSx4SHQsdjhlLHlIdCx4OGUsd0h0LE1IdCx5OGUsa0h0LFNIdCx6SHQsQ0h0LF9IdCxUSHQsTEh0LCRIdCxESHQsQUh0LHc4ZSxQSHQsTThlLEVIdCxrOGUsSUh0LE5IdCxBdGUsUkh0LFM4ZSxPSHQsRkh0LEJIdCx6OGUsSEh0LHFIdCxDOGUsVkh0LGl2LGpIdCxVSHQsV0h0LF84ZSxHSHQsVDhlLFlIdCxLSHQsTDhlLFpIdCwkOGUsWEh0LEQ4ZSxRSHQsSkh0LGVxdCx0cXQsYXF0LEE4ZSxycXQsUDhlLHNxdCxpcXQsb3F0LG5xdCxFOGUsbHF0LGNxdCxkcXQsSThlLHVxdCxwcXQsZnF0LE44ZSxocXQsbXF0LGdxdCxicXQsUjhlLHZxdCx4cXQsTzhlLHlxdCx3cXQsTXF0LEY4ZSxrcXQsU3F0LHpxdCxCOGUsQ3F0LEg4ZSxfcXQsVmVlLFRxdCxMcXQsJHF0LHE4ZSxEcXQsQXF0LFBxdCxWOGUsRXF0LElxdCxOcXQsajhlLFJxdCxPcXQsRnF0LEJxdCxIcXQscXF0LFZxdCxqcXQsVXF0LFdxdCxHcXQsWXF0LFU4ZSxLcXQsUHRlLFpxdCxXOGUsWHF0LFFxdCxKcXQsZVZ0LEc4ZSx0VnQsYVZ0LHJWdCxzVnQsaVZ0LG9WdCxuVnQsVmIsbFZ0LGNWdCxkVnQsdVZ0LG92LHBWdCxZOGUsZlZ0LGhWdCxtVnQsSzhlLGdWdCxiVnQsWjhlLHZWdCx4VnQseVZ0LHdWdCxNVnQsWDhlLGtWdCxROGUsU1Z0LHpWdCxDVnQsSjhlLF9WdCxUVnQsTFZ0LGVtZSwkVnQsRFZ0LEFWdCxQVnQsRVZ0LElWdCxOVnQsdG1lLFJWdCxFdGUsT1Z0LEZWdCxCVnQsYW1lLEhWdCxxVnQscm1lLFZWdCxzbWUsalZ0LFVWdCxXVnQsaW1lLEdWdCxvbWUsWVZ0LG5tZSxLVnQsWlZ0LGxtZSxYVnQsUVZ0LEpWdCxlanQsY21lLHRqdCxqYixhanQscmp0LHNqdCxpanQsZG1lLG9qdCx1bWUsbmp0LGxqdCxjanQsZGp0LHBtZSx1anQsVWIscGp0LGZqdCxoanQsZm1lLG1qdCxnanQsYmp0LHZqdCxobWUseGp0LG1tZSx5anQsd2p0LE1qdCxnbWUsa2p0LGJtZSxTanQsemp0LHZtZSxDanQseG1lLF9qdCx5bWUsVGp0LHdtZSxManQsJGp0LERqdCxBanQsTW1lLFBqdCxFanQsSWp0LE5qdCxSanQsT2p0LEZqdCxCanQsa21lLEhqdCxTbWUscWp0LFZqdCxqanQsVWp0LHptZSxXanQsR2p0LGplZSxZanQsS2p0LFpqdCxYanQsUWp0LEpqdCxlVXQsV2IsdFV0LGFVdCxyVXQsc1V0LGlVdCxvVXQsblV0LGxVdCxjVXQsZFV0LHVVdCxwVXQsZlV0LFVlZSxoVXQsbVV0LGdVdCxiVXQsdlV0LHhVdCxDbWUseVV0LF9tZSx3VXQsTVV0LGtVdCxXZWUsU1V0LHpVdCxDVXQsVG1lLF9VdCxHZWUsVFV0LExVdCwkVXQsRFV0LEl0ZSxZZWUsQVV0LFBVdCxMbWUsRVV0LElVdCxOVXQsUlV0LCRtZSxPVXQsRlV0LERtZSxCVXQsSFV0LEFtZSxxVXQsVlV0LGpVdCxVVXQsV1V0LEdVdCxLZWUsWVV0LEtVdCxQbWUsWlV0LFhVdCxRVXQsSlV0LGVXdCx0V3QsYVd0LHJXdCxFbWUsc1d0LGlXdCxJbWUsb1d0LE5tZSxuV3QsbFd0LHQ0LGNXdCxkV3QsdVd0LHBXdCxSbWUsZld0LGhXdCxtV3QsZ1d0LE9tZSxiV3QsRm1lLHZXdCxaZWUseFd0LHlXdCx3V3QsQm1lLE1XdCxOdGUsa1d0LFNXdCxIbWUseld0LFhlZSxDV3QsX1d0LFRXdCxMV3QsJFd0LERXdCxudixBV3QsUFd0LHFtZSxFV3QsSVd0LE5XdCxWbWUsUld0LGptZSxPV3QsR2IsRld0LEJXdCxIV3QscVd0LFZXdCxqV3QsVVd0LFVtZSxXV3QsR1d0LFdtZSxZV3QsR21lLEtXdCxZbWUsWld0LFhXdCxRV3QsSld0LGVHdCx0R3QsS21lLGFHdCxyR3Qsc0d0LGlHdCxvR3QsWm1lLG5HdCxYbWUsbEd0LFFtZSxjR3QsZEd0LHVHdCxRZWUscEd0LGZHdCxoR3QsbUd0LGdHdCxKbWUsYkd0LGU3ZSx2R3QseEd0LHlHdCx3R3QsdDdlLE1HdCxhN2Usa0d0LFNHdCxKZWUsekd0LENHdCxfR3QsVEd0LExHdCxyN2UsJEd0LERHdCxzN2UsQUd0LGk3ZSxQR3QsRUd0LElHdCxOR3QsUkd0LE9HdCxGR3QsQkd0LEhHdCxxR3QsbzdlLFZHdCxqR3QsVUd0LFdHdCxldGUsR0d0LFlHdCxLR3QsWkd0LG43ZSxYR3QsUUd0LGw3ZSxKR3QsZVl0LHRZdCxhWXQsYzdlLHJZdCxzWXQsaVl0LGx2LG9ZdCxuWXQsdHRlLGxZdCxjWXQsZDdlLGRZdCx1WXQscFl0LGZZdCxoWXQsdTdlLG1ZdCxnWXQscDdlLGJZdCxmN2Usdll0LHhZdCx5WXQsd1l0LE1ZdCxoN2Usa1l0LG03ZSxTWXQsZzdlLHpZdCxDWXQsX1l0LFRZdCxiN2UsTFl0LCRZdCx2N2UsRFl0LEFZdCxQWXQseDdlLEVZdCxJWXQsYXRlLE5ZdCxSWXQseTdlLE9ZdCx3N2UsRll0LE03ZSxCWXQsUnRlLGs3ZSxIWXQsUzdlLHFZdCxWWXQsall0LFVZdCxXWXQsR1l0LHJ0ZSxZWXQsS1l0LFpZdCx6N2UsWFl0LFFZdCxKWXQsc3RlLGVLdCx0S3QsYUt0LHJLdCxpdGUsc0t0LGlLdCxvS3Qsbkt0LEM3ZSxsS3QsXzdlLGNLdCxkS3QsdUt0LHBLdCxmS3Qsb3RlLGhLdCxtS3QsZ0t0LGJLdCx2S3QseEt0LG50ZSx5S3Qsd0t0LE1LdCxUN2Usa0t0LFNLdCx6S3QsQ0t0LEw3ZSxfS3QsVEt0LExLdCwkS3QsREt0LEFLdCwkN2UsUEt0LEVLdCxJS3QsTkt0LEQ3ZSxSS3QsT0t0LFliLEZLdCxCS3QsSEt0LEE3ZSxxS3QsVkt0LGpLdCxVS3QsV0t0LEdLdCxZS3QsS0t0LFpLdCxQN2UsWEt0LFFLdCxFN2UsSkt0LGVadCx0WnQsSTdlLGFadCxyWnQsc1p0LGladCxvWnQsTjdlLG5adCxPdGUsUjdlLGxadCxjWnQsZFp0LHVadCxwWnQsTzdlLGZadCxoWnQsbVp0LGdadCxiWnQsRjdlLHZadCx4WnQseVp0LHdadCxNWnQsbHRlLGtadCxTWnQselp0LENadCxfWnQsQjdlLFRadCxIN2UsTFp0LCRadCxEWnQsY3RlLEFadCxQWnQsRVp0LHE3ZSxJWnQsVjdlLE5adCxSWnQsT1p0LEZadCxCWnQsSFp0LGo3ZSxxWnQsVlp0LFU3ZSxqWnQsVzdlLFVadCxHN2UsV1p0LEdadCxZN2UsWVp0LEs3ZSxLWnQsWlp0LFhadCxRWnQsSlp0LGVYdCx0WHQsYVh0LHJYdCxaN2Usc1h0LGlYdCxkdGUsb1h0LG5YdCxYN2UsbFh0LGNYdCxkWHQsUTdlLHVYdCxwWHQsZlh0LGhYdCxKN2UsbVh0LGdYdCxiWHQsdlh0LHhYdCxlOWUseVh0LHdYdCxNWHQsdXRlLGtYdCxTWHQselh0LENYdCxfWHQsVFh0LHB0ZSxMWHQsJFh0LERYdCx0OWUsQVh0LGE5ZSxQWHQsRVh0LElYdCxOWHQscjllLFJYdCxzOWUsT1h0LEZYdCxpOWUsQlh0LEhYdCxvOWUscVh0LFZYdCxqWHQsVVh0LG45ZSxXWHQsR1h0LFlYdCxLWHQsY3YsWlh0LEZ0ZSxYWHQsUVh0LEpYdCxlUXQsbDllLHRRdCxjOWUsYVF0LHJRdCxzUXQsaVF0LEtiLG9RdCxuUXQsbFF0LFpiLGNRdCxkUXQsdVF0LGQ5ZSxwUXQsZlF0LGZ0ZSxoUXQsbVF0LGdRdCxiUXQsdTllLHZRdCx4UXQseVF0LHA5ZSx3UXQsTVF0LGtRdCxTUXQselF0LGY5ZSxDUXQsaHRlLF9RdCxUUXQsTFF0LCRRdCxEUXQsQVF0LGg5ZSxQUXQsbTllLEVRdCxnOWUsSVF0LE5RdCxiOWUsUlF0LEJ0ZSx2OWUsT1F0LEZRdCxCUXQseDllLEhRdCxxUXQsSHRlLHk5ZSxWUXQsalF0LFVRdCxXUXQsWTgsR1F0LFlRdCxLUXQsWlF0LHc5ZSxYUXQsUVF0LEpRdCxNOWUsZUp0LHRKdCxhSnQsckp0LGs5ZSxzSnQsaUp0LG9KdCxuSnQsbEp0LG10ZSxjSnQsZEp0LGR2LHVKdCxTOWUscEp0LHo5ZSxmSnQsaEp0LG1KdCxnSnQsQzllLGJKdCx2SnQseEp0LHlKdCxfOWUsd0p0LE1KdCxrSnQsVDllLFNKdCx6SnQsQ0p0LF9KdCxMOWUsVEp0LExKdCwkSnQsJDllLERKdCxBSnQsUEp0LHV2LEVKdCxJSnQsRDllLE5KdCxBOWUsUkp0LFA5ZSxPSnQsRTllLEZKdCxCSnQsSTllLEhKdCxxSnQsVkp0LGpKdCxVSnQsV0p0LE45ZSxHSnQsWUp0LFI5ZSxLSnQsWkp0LE85ZSxYSnQsUUp0LEpKdCxGOWUsZWVhLHRlYSxhZWEscmVhLHNlYSxLOCxpZWEsb2VhLG5lYSxsZWEsY2VhLGRlYSx1ZWEscGVhLGZlYSxoZWEsbWVhLGdlYSxiZWEsdmVhLHhlYSx5ZWEsd2VhLEI5ZSxNZWEsa2VhLFNlYSx6ZWEsSDllLENlYSxfZWEsVGVhLFhiLExlYSwkZWEsRGVhLEFlYSxQZWEscTllLEVlYSxwdixJZWEsTmVhLFJlYSxWOWUsT2VhLEZlYSxCZWEsSGVhLGo5ZSxxZWEsVmVhLFU5ZSxqZWEsVWVhLFdlYSxXOWUsR2VhLFllYSxHOWUsS2VhLFk5ZSxaZWEsWGVhLFFlYSxKZWEsZXRhLEs5ZSx0dGEsYXRhLHJ0YSxaOWUsc3RhLGl0YSxvdGEsbnRhLGx0YSxjdGEsZHRhLFg5ZSx1dGEsUTllLHB0YSxKOWUsZnRhLGd0ZSxodGEsbXRhLGVnZSxndGEsdGdlLGJ0YSxhZ2UsdnRhLHh0YSx5dGEsd3RhLE10YSxrdGEscmdlLFN0YSxzZ2UsenRhLEN0YSxfdGEsVHRhLEx0YSxpZ2UsJHRhLG9nZSxEdGEsbmdlLEF0YSxsZ2UsUHRhLEV0YSxJdGEsTnRhLGNnZSxSdGEsT3RhLGJ0ZSxGdGEsQnRhLGRnZSxIdGEscXRhLFZ0YSxqdGEsdWdlLFV0YSxXdGEsR3RhLFl0YSxwZ2UsS3RhLFg4LFp0YSxYdGEsZmdlLFF0YSxoZ2UsSnRhLGVhYSx0YWEsdnRlLGFhYSxyYWEsc2FhLG1nZSxpYWEsZ2dlLG9hYSxiZ2UsbmFhLHZnZSxsYWEsY2FhLGRhYSx1YWEscGFhLGZhYSxoYWEseHRlLG1hYSxnYWEsYmFhLHZhYSx4YWEseGdlLHlhYSx3YWEsTWFhLGthYSxTYWEsemFhLHlnZSxDYWEsX2FhLHdnZSxUYWEsTGFhLHl0ZSwkYWEsRGFhLEFhYSxmdixQYWEsRWFhLElhYSxNZ2UsTmFhLGtnZSxSYWEsT2FhLEZhYSxCYWEsSGFhLFNnZSxxYWEsVmFhLGphYSxVYWEsV2FhLHd0ZSxHYWEsWWFhLEthYSxaYWEsWGFhLHpnZSxRYWEsQ2dlLEphYSxlcmEsX2dlLHRyYSxUZ2UsYXJhLExnZSxycmEsJGdlLHNyYSxpcmEsRGdlLG9yYSxucmEsbHJhLGNyYSxkcmEsdXJhLFMkYSxwcmE9ZigoKT0+e2skYT0iZmFzIixrTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiMCIsaWNvbjpbMzIwLDUxMixbXSwiMzAiLCJNMCAxOTJDMCAxMDMuNiA3MS42IDMyIDE2MCAzMnMxNjAgNzEuNiAxNjAgMTYwbDAgMTI4YzAgODguNC03MS42IDE2MC0xNjAgMTYwUzAgNDA4LjQgMCAzMjBMMCAxOTJ6TTE2MCA5NmMtNTMgMC05NiA0My05NiA5NmwwIDEyOGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMTI4YzAtNTMtNDMtOTYtOTYtOTZ6Il19LFNMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiIxIixpY29uOlsyNTYsNTEyLFtdLCIzMSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsNjQgMCAwIDMyMC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDMyeiJdfSx6THQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiMiIsaWNvbjpbMzg0LDUxMixbXSwiMzIiLCJNNDggNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTcxIDBjNjAuMiAwIDEwOSA0OC44IDEwOSAxMDkgMCA0My44LTI2LjIgODMuMy02Ni40IDEwMC40bC0xMzkuMSA1OUMxMTkgMzE1LjQgOTYgMzUwLjIgOTYgMzg4LjdsMCAyNy4zIDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDY0IDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC01OS4zYzAtNjQuMiAzOC40LTEyMi4yIDk3LjUtMTQ3LjNsMTM5LjEtNTljMTYuNi03LjEgMjcuNC0yMy40IDI3LjQtNDEuNCAwLTI0LjktMjAuMi00NS00NS00NUw4MCA5NkM2Mi4zIDk2IDQ4IDgxLjcgNDggNjR6Il19LENMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiIzIixpY29uOlszMjAsNTEyLFtdLCIzMyIsIk04MCAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTEyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjRMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMybDE2MCAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4IDAgMzguMi0xNi44IDcyLjUtNDMuMyA5NiAyNi42IDIzLjUgNDMuMyA1Ny44IDQzLjMgOTYgMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0TDgwIDI4OHoiXX0sX0x0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjQiLGljb246WzM4NCw1MTIsW10sIjM0IiwiTTY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgMjg4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0yMjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyMjQtMTkyIDAgMC0yMjR6Il19LFRMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiI1IixpY29uOlszMjAsNTEyLFtdLCIzNSIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMCAwIDExMiAxMjAgMGM3NS4xIDAgMTM2IDYwLjkgMTM2IDEzNlMyNTkuMSA0ODAgMTg0IDQ4MEwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTUyIDBjMzkuOCAwIDcyLTMyLjIgNzItNzJzLTMyLjItNzItNzItNzJMMzIgMjcyYy0xNy43IDAtMzItMTQuMy0zMi0zMkwwIDY0eiJdfSxMTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiNiIsaWNvbjpbMzg0LDUxMixbXSwiMzYiLCJNMjU2IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC04OCAwYy00OC42IDAtODggMzkuNC04OCA4OGwwIDMyLjJjMjIuOS0xNS4zIDUwLjQtMjQuMiA4MC0yNC4ybDQ4IDBjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDRTMjg3LjUgNDgwIDIwOCA0ODBsLTQ4IDBDODAuNSA0ODAgMTYgNDE1LjUgMTYgMzM2bDAtMTUyQzE2IDEwMC4xIDg0LjEgMzIgMTY4IDMybDg4IDB6TTgwIDMzNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0OCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwbC00OCAwYy00NC4yIDAtODAgMzUuOC04MCA4MHoiXX0sJEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjciLGljb246WzMyMCw1MTIsW10sIjM3IiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMjU2IDBjMTEuNSAwIDIyIDYuMSAyNy43IDE2LjFzNS43IDIyLjItLjEgMzIuMWwtMjI0IDM4NGMtOC45IDE1LjMtMjguNSAyMC40LTQzLjggMTEuNXMtMjAuNC0yOC41LTExLjUtNDMuOEwyMzIuMyA5NiAzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0eiJdfSxETHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiOCIsaWNvbjpbMzIwLDUxMixbXSwiMzgiLCJNMzA0IDE2MGMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOGwtMzIgMGMtNzAuNyAwLTEyOCA1Ny4zLTEyOCAxMjggMCAzNC42IDEzLjcgNjYgMzYgODktMzEuNSAyMy4zLTUyIDYwLjgtNTIgMTAzIDAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4bDY0IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjggMC00Mi4yLTIwLjUtNzkuNy01Mi0xMDMgMjIuMy0yMyAzNi01NC40IDM2LTg5ek0xNzYuMSAyODhsMTUuOSAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0bDQ4LjEgMHptMC02NEwxNDQgMjI0Yy0zNS4zIDAtNjQtMjguNy02NC02NCAwLTM1LjMgMjguNy02NCA2NC02NGwzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMzUuMy0yOC42IDY0LTY0IDY0eiJdfSxBTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiOSIsaWNvbjpbMzg0LDUxMixbXSwiMzkiLCJNMjA4IDMyMGMyOS42IDAgNTcuMS04LjkgODAtMjQuMmwwIDMyLjJjMCA0OC42LTM5LjQgODgtODggODhMOTYgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEwNCAwYzgzLjkgMCAxNTItNjguMSAxNTItMTUybDAtMTUyLjFDMzUxLjkgOTYuNCAyODcuNSAzMiAyMDggMzJsLTQ4IDBDODAuNSAzMiAxNiA5Ni41IDE2IDE3NlM4MC41IDMyMCAxNjAgMzIwbDQ4IDB6bTgwLTE0NGMwIDQ0LjItMzUuOCA4MC04MCA4MGwtNDggMGMtNDQuMiAwLTgwLTM1LjgtODAtODBzMzUuOC04MCA4MC04MGw0OCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgweiJdfSx6ZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG9sbGFyLXNpZ24iLGljb246WzMyMCw1MTIsWzEyODE3OCw2MTc4MSwiZG9sbGFyIiwidXNkIl0sIjI0IiwiTTEzNiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTE0LjkgMGMtMjQuOSAwLTQ1LjEgMjAuMi00NS4xIDQ1LjEgMCAyMi41IDE2LjUgNDEuNSAzOC43IDQ0LjdsOTEuNiAxMy4xYzUzLjggNy43IDkzLjcgNTMuNyA5My43IDEwOCAwIDYwLjMtNDguOSAxMDkuMS0xMDkuMSAxMDkuMWwtMTAuOSAwIDAgNDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00MC03MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDEzMC45IDBjMjQuOSAwIDQ1LjEtMjAuMiA0NS4xLTQ1LjEgMC0yMi41LTE2LjUtNDEuNS0zOC43LTQ0LjdsLTkxLjYtMTMuMUM1NS45IDI3My41IDE2IDIyNy40IDE2IDE3My4xIDE2IDExMi45IDY0LjkgNjQgMTI1LjEgNjRsMTAuOSAwIDAtNDB6Il19LFBMdD16ZWUsRUx0PXplZSxJTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG9nIixpY29uOls1NzYsNTEyLFsxMjgwMjFdLCJmNmQzIiwiTTMyIDExMmMxNi42IDAgMzAuMiAxMi42IDMxLjggMjguN2wuMyA2LjZDNjUuOCAxNjMuNCA3OS40IDE3NiA5NiAxNzZsMTc5LjEgMCAxNDAuOSA2MC40IDAgMjQzLjZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTMxLjNDMjk2IDM2MSAyNjguOCAzNjggMjQwIDM2OHMtNTYtNy04MC0xOS4zTDE2MCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjQ1LjZjLTM3LjMtMTMuMi02NC00OC42LTY0LTkwLjQgMC0xNy43IDE0LjMtMzIgMzItMzJ6TTM1NS44LTMyYzcuNyAwIDE0LjkgMy42IDE5LjYgOS44TDM5MiAwIDQ0NC4xIDBjMTIuNyAwIDI0LjkgNS4xIDMzLjkgMTQuMUw0OTYgMzIgNTUyIDMyYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjRjMCA0NC4yLTM1LjggODAtODAgODBsLTY0IDAtNyAyOC0xMjQuNy01My40IDMxLjYtMTQ3LjJDMzM0LjMtMjMuOSAzNDQuMi0zMiAzNTUuOC0zMnpNNDQ4IDQ0YTIwIDIwIDAgMSAwIDAgNDAgMjAgMjAgMCAxIDAgMC00MHoiXX0sTkx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLW1vdmluZyIsaWNvbjpbNjQwLDUxMixbXSwiZjRkZiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDI0YzAgNDguNiAzOS40IDg4IDg4IDg4IDI1LjIgMCA0OC0xMC42IDY0LTI3LjYgMTYgMTcgMzguOCAyNy42IDY0IDI3LjYgNDAuMyAwIDc0LjItMjcuMSA4NC43LTY0bDEzNC42IDBjMTAuNCAzNi45IDQ0LjQgNjQgODQuNyA2NCA0MyAwIDc4LjktMzAuOSA4Ni41LTcxLjcgMjAtMTAuOCAzMy41LTMyIDMzLjUtNTYuM2wwLTE0Ni43YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDU3NiAxNDYuN2MtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN2wtNTAuNyAwIDAtMzJjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTQ4MCAxOTJsNTAuNyAwIDQ1LjMgNDUuMyAwIDUwLjctOTYgMCAwLTk2ek04OCAzODRhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwem0zOTIgNDBhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHpNMjE2IDM4NGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6Il19LE1mZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb3RhdGUiLGljb246WzUxMiw1MTIsWzEyODI2MCwic3luYy1hbHQiXSwiZjJmMSIsIk00ODAuMSAxOTJsNy45IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xNDRjMC05LjctNS44LTE4LjUtMTQuOC0yMi4yUzQ3Ny45IC4yIDQ3MSA3TDQxOS4zIDU4LjhDMzc1IDIyLjEgMzE4IDAgMjU2IDAgMTI3IDAgMjAuMyA5NS40IDIuNiAyMTkuNSAuMSAyMzcgMTIuMiAyNTMuMiAyOS43IDI1NS43czMzLjctOS43IDM2LjItMjcuMUM3OS4yIDEzNS41IDE1OS4zIDY0IDI1NiA2NCAzMDAuNCA2NCAzNDEuMiA3OSAzNzMuNyAxMDQuM0wzMjcgMTUxYy02LjkgNi45LTguOSAxNy4yLTUuMiAyNi4yUzMzNC4zIDE5MiAzNDQgMTkybDEzNi4xIDB6bTI5LjQgMTAwLjVjMi41LTE3LjUtOS43LTMzLjctMjcuMS0zNi4ycy0zMy43IDkuNy0zNi4yIDI3LjFjLTEzLjMgOTMtOTMuNCAxNjQuNS0xOTAuMSAxNjQuNS00NC40IDAtODUuMi0xNS0xMTcuNy00MC4zTDE4NSAzNjFjNi45LTYuOSA4LjktMTcuMiA1LjItMjYuMlMxNzcuNyAzMjAgMTY4IDMyMEwyNCAzMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0TDAgNDg4YzAgOS43IDUuOCAxOC41IDE0LjggMjIuMlMzNC4xIDUxMS44IDQxIDUwNWw1MS44LTUxLjhDMTM3IDQ4OS45IDE5NCA1MTIgMjU2IDUxMiAzODUgNTEyIDQ5MS43IDQxNi42IDUwOS40IDI5Mi41eiJdfSxSTHQ9TWZlLGtmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtbWludXMiLGljb246WzQ0OCw1MTIsWzYxNzY3LCJtaW51cy1zcXVhcmUiXSwiZjE0NiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem03MiAyMDBsMTc2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxPTHQ9a2ZlLEZMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbGlnbi1qdXN0aWZ5IixpY29uOls0NDgsNTEyLFtdLCJmMDM5IiwiTTQ0OCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6bTAgMjU2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnpNMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNNDQ4IDQ0OGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6Il19LEJMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci1jaGVjayIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3NCIsIk0zMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTIyIDE2MS43Yy0xMC43LTcuOC0yNS43LTUuNC0zMy41IDUuM0wxODkuMSAzMzEuMiAxMzcgMjc5LjFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNzIgNzJjNSA1IDExLjkgNy41IDE4LjggN3MxMy40LTQuMSAxNy41LTkuOEwzNDcuMyAxOTUuMmM3LjgtMTAuNyA1LjQtMjUuNy01LjMtMzMuNXoiXX0sU2ZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Uta2lzcyIsaWNvbjpbNTEyLDUxMixbMTI4NTM1LCJraXNzIl0sImY1OTYiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTI0MCAyODhsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDEyLjMtNC42IDIzLjUtMTIuMiAzMiA3LjYgOC41IDEyLjIgMTkuNyAxMi4yIDMyIDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptLTk2LTgwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LEhMdD1TZmUscUx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImtpdGNoZW4tc2V0IixpY29uOls1NzYsNTEyLFtdLCJlNTFhIiwiTTI0MCAxNDRhOTYgOTYgMCAxIDAgLTE5MiAwIDk2IDk2IDAgMSAwIDE5MiAwem00NC40IDMyQzI2OS45IDI0MC4xIDIxMi41IDI4OCAxNDQgMjg4IDY0LjUgMjg4IDAgMjIzLjUgMCAxNDRTNjQuNSAwIDE0NCAwYzY4LjUgMCAxMjUuOSA0Ny45IDE0MC40IDExMmw3MS44IDBjOC44LTkuOCAyMS42LTE2IDM1LjgtMTZsMTA0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTEwNCAwYy0xNC4yIDAtMjctNi4yLTM1LjgtMTZsLTcxLjggMHpNMTQ0IDgwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek00MDAgMjQwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgOCA5NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNDAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw5NiAwIDAtOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMjg4IDQ2NGwwLTExMiAyMjQgMCAwIDExMmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4ek00OCAzMjBsMTI4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTE2IDBjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtODBjMC04LjggNy4yLTE2IDE2LTE2em0xMjggNjRjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDAgMCAzMiAxNiAwek0yNCA0NjRsMTc2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxWTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG5hIixpY29uOlszODQsNTEyLFsxMjk1MTZdLCJmNDcxIiwiTTM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyIDAgNTcuOC0yNC40IDEwNC44LTU3LjQgMTQ0LjUtMjQuMSAyOC45LTUzLjggNTUuMS04My42IDc5LjUgMjkuOCAyNC41IDU5LjUgNTAuNiA4My42IDc5LjUgMzMgMzkuNiA1Ny40IDg2LjcgNTcuNCAxNDQuNSAwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkw2NCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0OTcuNyAwIDQ4MEMwIDQyMi4yIDI0LjQgMzc1LjIgNTcuNCAzMzUuNSA4MS41IDMwNi42IDExMS4yIDI4MC41IDE0MSAyNTYgMTExLjIgMjMxLjUgODEuNSAyMDUuNCA1Ny40IDE3Ni41IDI0LjQgMTM2LjggMCA4OS44IDAgMzIgMCAxNC4zIDE0LjMgMCAzMiAwUzY0IDE0LjMgNjQgMzJsMjU2IDBjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTI4My41IDM4NGwtMTgyLjkgMGMtOC4yIDEwLjUtMTUuMSAyMS4xLTIwLjYgMzJsMjI0LjIgMGMtNS42LTEwLjktMTIuNS0yMS41LTIwLjYtMzJ6TTIzOCAzMzZjLTE0LjMtMTMtMjkuOC0yNS44LTQ2LTM5LTE2LjIgMTMuMS0zMS43IDI2LTQ2IDM5bDkyIDB6TTEwMC41IDEyOGwxODIuOSAwYzguMi0xMC41IDE1LjEtMjEuMSAyMC42LTMyTDc5LjkgOTZjNS42IDEwLjkgMTIuNSAyMS41IDIwLjYgMzJ6TTE0NiAxNzZjMTQuMyAxMyAyOS44IDI1LjggNDYgMzkgMTYuMi0xMy4xIDMxLjctMjYgNDYtMzlsLTkyIDB6Il19LGpMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGlsZC1yZWFjaGluZyIsaWNvbjpbMzg0LDUxMixbXSwiZTU5ZCIsIk0yNTYgNjRhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwek0xNTIuOSAxNjkuM2MtMjMuNy04LjQtNDQuNS0yNC4zLTU4LjgtNDUuOEw3NC42IDk0LjJDNjQuOCA3OS41IDQ1IDc1LjYgMzAuMyA4NS40UzExLjYgMTE1IDIxLjQgMTI5LjhMNDAuOSAxNTljMTguMSAyNy4xIDQyLjggNDguNCA3MS4xIDYyLjRMMTEyIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTYgMzIgMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNTguNGMyOS4xLTE0LjIgNTQuNC0zNi4yIDcyLjctNjQuMmwxOC4yLTI3LjljOS42LTE0LjggNS40LTM0LjYtOS40LTQ0LjNzLTM0LjYtNS41LTQ0LjMgOS40TDI5MSAxMjIuNGMtMjEuOCAzMy40LTU4LjkgNTMuNi05OC44IDUzLjYtMTIuNiAwLTI0LjktMi0zNi42LTUuOC0uOS0uMy0xLjgtLjctMi43LS45eiJdfSxRYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYXN0ZSIsaWNvbjpbNTEyLDUxMixbImZpbGUtY2xpcGJvYXJkIl0sImYwZWEiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTEyIDAgMC0yMjRjMC02MS45IDUwLjEtMTEyIDExMi0xMTJsNjQgMCAwLTQ4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6TTI0OCAxMTJsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0em00MCA0OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTYwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNjUuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM2wtNTguNS01OC41Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43TDI4OCAxNjB6Il19LFVMdD1RYixXTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWV0ZW9yIixpY29uOls1MTIsNTEyLFs5NzMyXSwiZjc1MyIsIk00OTMuNyAuOWwtMTk0LjIgNzQuNyAyLjMtMjkuM2MxLTEyLjgtMTIuOC0yMS41LTI0LTE1LjFMMTAxLjMgMTMzLjRDMzguNiAxNjkuNyAwIDIzNi42IDAgMzA5IDAgNDIxLjEgOTAuOSA1MTIgMjAzIDUxMiAyNzUuNCA1MTIgMzQyLjMgNDczLjQgMzc4LjYgNDEwLjdMNDgwLjggMjM0LjNjNi41LTExLjEtMi4yLTI1LTE1LjEtMjRsLTI5LjMgMi4zIDc0LjctMTk0LjJjLjYtMS41IC45LTMuMiAuOS00LjggMC03LjUtNi0xMy41LTEzLjUtMTMuNS0xLjcgMC0zLjMgLjMtNC44IC45ek0xOTIgMTkyYTEyOCAxMjggMCAxIDEgMCAyNTYgMTI4IDEyOCAwIDEgMSAwLTI1NnptMCA5NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0xNiA5NmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6Il19LHpmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnZWFycyIsaWNvbjpbNjQwLDUxMixbImNvZ3MiXSwiZjA4NSIsIk00MTUuOSAyMTAuNWMxMi4yLTMuMyAyNSAyLjUgMzAuNSAxMy44TDQ2NSAyNjEuOWMxMC4zIDEuNCAyMC40IDQuMiAyOS45IDguMWwzNS0yMy4zYzEwLjUtNyAyNC40LTUuNiAzMy4zIDMuM2wxOS4yIDE5LjJjOC45IDguOSAxMC4zIDIyLjkgMy4zIDMzLjNsLTIzLjMgMzQuOWMxLjkgNC43IDMuNiA5LjYgNSAxNC43IDEuNCA1LjEgMi4zIDEwLjEgMyAxNS4ybDM3LjcgMTguNmMxMS4zIDUuNiAxNy4xIDE4LjQgMTMuOCAzMC41bC03IDI2LjJjLTMuMyAxMi4xLTE0LjYgMjAuMy0yNy4yIDE5LjVsLTQyLTIuN2MtNi4zIDguMS0xMy42IDE1LjYtMjEuOSAyMmwyLjcgNDEuOWMuOCAxMi42LTcuNCAyNC0xOS41IDI3LjJsLTI2LjIgN2MtMTIuMiAzLjMtMjQuOS0yLjUtMzAuNS0xMy44bC0xOC42LTM3LjZjLTEwLjMtMS40LTIwLjQtNC4yLTI5LjktOC4xbC0zNSAyMy4zYy0xMC41IDctMjQuNCA1LjYtMzMuMy0zLjNsLTE5LjItMTkuMmMtOC45LTguOS0xMC4zLTIyLjgtMy4zLTMzLjNsMjMuMy0zNWMtMS45LTQuNy0zLjYtOS42LTUtMTQuN3MtMi4zLTEwLjItMy0xNS4ybC0zNy43LTE4LjZjLTExLjMtNS42LTE3LTE4LjQtMTMuOC0zMC41bDctMjYuMmMzLjMtMTIuMSAxNC42LTIwLjMgMjcuMi0xOS41bDQxLjkgMi43YzYuMy04LjEgMTMuNi0xNS42IDIxLjktMjJsLTIuNy00MS44Yy0uOC0xMi42IDcuNC0yNCAxOS41LTI3LjJsMjYuMi03ek00NDguNCAzNDBhNDQgNDQgMCAxIDAgLjEgODggNDQgNDQgMCAxIDAgLS4xLTg4ek0yMjQuOS00NS41bDI2LjIgN2MxMi4xIDMuMyAyMC4zIDE0LjcgMTkuNSAyNy4ybC0yLjcgNDEuOGM4LjMgNi40IDE1LjYgMTMuOCAyMS45IDIybDQyLTIuN2MxMi41LS44IDIzLjkgNy40IDI3LjIgMTkuNWw3IDI2LjJjMy4yIDEyLjEtMi41IDI0LjktMTMuOCAzMC41bC0zNy43IDE4LjZjLS43IDUuMS0xLjcgMTAuMi0zIDE1LjJzLTMuMSAxMC01IDE0LjdsMjMuMyAzNWM3IDEwLjUgNS42IDI0LjQtMy4zIDMzLjNMMzA3LjMgMjYyYy04LjkgOC45LTIyLjggMTAuMy0zMy4zIDMuM0wyMzkgMjQyYy05LjUgMy45LTE5LjYgNi43LTI5LjkgOC4xbC0xOC42IDM3LjZjLTUuNiAxMS4zLTE4LjQgMTctMzAuNSAxMy44bC0yNi4yLTdjLTEyLjItMy4zLTIwLjMtMTQuNy0xOS41LTI3LjJsMi43LTQxLjljLTguMy02LjQtMTUuNi0xMy44LTIxLjktMjJsLTQyIDIuN2MtMTIuNSAuOC0yMy45LTcuNC0yNy4yLTE5LjVsLTctMjYuMmMtMy4yLTEyLjEgMi41LTI0LjkgMTMuOC0zMC41bDM3LjctMTguNmMuNy01LjEgMS43LTEwLjEgMy0xNS4yIDEuNC01LjEgMy0xMCA1LTE0LjdMNTUuMSA0Ni41Yy03LTEwLjUtNS42LTI0LjQgMy4zLTMzLjNMNzcuNi02YzguOS04LjkgMjIuOC0xMC4zIDMzLjMtMy4zbDM1IDIzLjNjOS41LTMuOSAxOS42LTYuNyAyOS45LTguMWwxOC42LTM3LjZjNS42LTExLjMgMTguMy0xNyAzMC41LTEzLjh6TTE5Mi40IDg0YTQ0IDQ0IDAgMSAwIDAgODggNDQgNDQgMCAxIDAgMC04OHoiXX0sR0x0PXpmZSxZTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jaXJjbGUtcGx1cyIsaWNvbjpbNTc2LDUxMixbNTg2MDZdLCJlNDk0IiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTIyLjctMzEuNS0zNi03MC4yLTM2LTExMiAwLTEwMC42IDc3LjQtMTgzLjIgMTc2LTE5MS4zbDAtMzguMWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTE2LTIwOGwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTQ4IDAgMCA0OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTQ4LTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsNDggMCAwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6Il19LEtMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpY2ljbGVzIixpY29uOls1MTIsNTEyLFtdLCJmN2FkIiwiTTc1LjggMzA0LjhMMSAzNS43Qy4zIDMzLjIgMCAzMC43IDAgMjguMiAwIDEyLjYgMTIuNiAwIDI4LjIgMEw0ODIuNCAwYzE2LjMgMCAyOS42IDEzLjIgMjkuNiAyOS42IDAgMS42LS4xIDMuMy0uNCA0LjlMNDM0LjYgNDk2LjFjLTEuNSA5LjItOS41IDE1LjktMTguOCAxNS45LTkuMiAwLTE3LjEtNi42LTE4LjctMTUuNkwzMzYgMTYwIDMwNy4yIDMwMy45Yy0xLjkgOS4zLTEwLjEgMTYuMS0xOS42IDE2LjEtOS4yIDAtMTcuMi02LjItMTkuNC0xNS4xTDI0MCAxOTIgMjEwLjYgMzY4LjJjLTEuNSA5LjEtOS40IDE1LjgtMTguNiAxNS44cy0xNy4xLTYuNy0xOC42LTE1LjhMMTQ0IDE5MiAxMTUuOSAzMDQuM2MtMi4zIDkuMi0xMC42IDE1LjctMjAuMSAxNS43LTkuMyAwLTE3LjUtNi4yLTIwLTE1LjJ6Il19LFpMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy10cmVuZC11cCIsaWNvbjpbNTc2LDUxMixbXSwiZTA5OCIsIk0zODQgMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODIuNy0xNjkuNCAxNjkuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBMMTkyIDI2OS4zIDU0LjYgNDA2LjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDE2MC0xNjBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBMMzIwIDMwNi43IDQ2Ni43IDE2MCAzODQgMTYweiJdfSxYTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGV4YWdvbi1ub2Rlcy1ib2x0IixpY29uOls1NzYsNTEyLFtdLCJlNjlhIiwiTTI0OCAxMDYuNmMxOC45LTkgMzItMjguMyAzMi01MC42YzAtMzAuOS0yNS4xLTU2LTU2LTU2cy01NiAyNS4xLTU2IDU2YzAgMjIuMyAxMy4xIDQxLjYgMzIgNTAuNmwwIDk4LjhjLTIuOCAxLjMtNS41IDIuOS04IDQuN2wtODAuMS00NS44YzEuNi0yMC44LTguNi00MS42LTI3LjktNTIuOEM1Ny4yIDk2IDIzIDEwNS4yIDcuNSAxMzJTMS4yIDE5MyAyOCAyMDguNWMxLjMgLjggMi42IDEuNSA0IDIuMWwwIDkwLjhjLTEuMyAuNi0yLjcgMS4zLTQgMi4xQzEuMiAzMTktOCAzNTMuMiA3LjUgMzgwUzU3LjIgNDE2IDg0IDQwMC41YzE5LjMtMTEuMSAyOS40LTMyIDI3LjgtNTIuOGw1MC41LTI4LjljLTExLjUtMTEuMi0xOS45LTI1LjYtMjMuOC00MS43TDg4IDMwNi4xYy0yLjYtMS44LTUuMi0zLjMtOC00LjdsMC05MC44YzIuOC0xLjMgNS41LTIuOSA4LTQuN2w4MC4xIDQ1LjhjLS4xIDEuNC0uMiAyLjgtLjIgNC4zYzAgMjIuMyAxMy4xIDQxLjYgMzIgNTAuNmwwIDk4LjhjLTE4LjkgOS0zMiAyOC4zLTMyIDUwLjZjMCAzMC45IDI1LjEgNTYgNTYgNTZjMzAuNyAwIDU1LjYtMjQuNyA1Ni01NS4yYy03LjUtMTIuOS0xMy41LTI2LjgtMTcuNi00MS41Yy00LjItNC05LjEtNy4zLTE0LjQtOS45bDAtOTguOGMyLjgtMS4zIDUuNS0yLjkgOC00LjdsMTAuNSA2YzUuNS0xNS4zIDEzLjEtMjkuNSAyMi40LTQyLjVsLTkuMS01LjJjLjEtMS40IC4yLTIuOCAuMi00LjNjMC0yMi4zLTEzLjEtNDEuNi0zMi01MC42bDAtOTguOHpNNDQwLjUgMTMyQzQyNSAxMDUuMiAzOTAuOCA5NiAzNjQgMTExLjVjLTE5LjMgMTEuMS0yOS40IDMyLTI3LjggNTIuOGwtNTAuNiAyOC45YzExLjUgMTEuMiAxOS45IDI1LjYgMjMuOCA0MS43TDM2MCAyMDUuOWMuNCAuMyAuOCAuNiAxLjMgLjljMjEuNy05LjUgNDUuNi0xNC44IDcwLjgtMTQuOGMyIDAgNCAwIDUuOSAuMWMxMi4xLTE3LjMgMTMuOC00MC42IDIuNi02MC4xek00MzIgNTEyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNDcuOS0yMjVjNC4zIDMuNyA1LjQgOS45IDIuNiAxNC45TDQ1Mi40IDM1NmwzNS42IDBjNS4yIDAgOS44IDMuMyAxMS40IDguMnMtLjEgMTAuMy00LjIgMTMuNGwtOTYgNzJjLTQuNSAzLjQtMTAuOCAzLjItMTUuMS0uNnMtNS40LTkuOS0yLjYtMTQuOUw0MTEuNiAzODAgMzc2IDM4MGMtNS4yIDAtOS44LTMuMy0xMS40LTguMnMuMS0xMC4zIDQuMi0xMy40bDk2LTcyYzQuNS0zLjQgMTAuOC0zLjIgMTUuMSAuNnoiXX0sUUx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InF1ZXN0aW9uIixpY29uOlszMjAsNTEyLFsxMDA2NywxMDA2OCw2MTczNl0sIjNmIiwiTTY0IDE2MGMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2YzAgNDIuNy0yNy45IDc4LjktNjYuNSA5MS40LTI4LjQgOS4yLTYxLjUgMzUuMy02MS41IDc2LjZsMCAyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjRjMC0xLjcgLjYtNC4xIDMuNS03LjMgMy0zLjMgNy45LTYuNSAxMy43LTguNCA2NC4zLTIwLjcgMTEwLjgtODEgMTEwLjgtMTUyLjMgMC04OC40LTcxLjYtMTYwLTE2MC0xNjBTMCA3MS42IDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6bTk2IDM1MmMyMi4xIDAgNDAtMTcuOSA0MC00MHMtMTcuOS00MC00MC00MC00MCAxNy45LTQwIDQwIDE3LjkgNDAgNDAgNDB6Il19LEpMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kcy1ib3VuZCIsaWNvbjpbNTc2LDUxMixbXSwiZTRmOSIsIk02NCAzMkM2NCAxNC4zIDQ5LjcgMCAzMiAwUzAgMTQuMyAwIDMyTDAgMjEzLjljMCAxNC4yIDUuMSAyNy45IDE0LjMgMzguN0w5OS42IDM1MiA5NiAzNTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzg0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMuNiAwIDg1LjMtOTkuNWM5LjItMTAuOCAxNC4zLTI0LjUgMTQuMy0zOC43TDU3NiAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDExMi44LTY5LjMgOTIuNGMtNS43IDcuNi0xNi4xIDkuNi0yNC4yIDQuOC05LjctNS43LTEyLjEtMTguNy01LjEtMjcuNUw0NDEgMTgwYzEwLjgtMTMuNSA4LjktMzMuMy00LjQtNDQuNXMtMzMtOS44LTQ0LjUgMy4ybC00Ni43IDUyLjVDMzI5IDIwOS43IDMyMCAyMzMuNCAzMjAgMjU4LjFsMCA5My45LTY0IDAgMC05My45YzAtMjQuNi05LTQ4LjQtMjUuNC02Ni44bC00Ni43LTUyLjVjLTExLjUtMTMtMzEuMy0xNC40LTQ0LjUtMy4yUzEyNC4yIDE2Ni40IDEzNSAxODBsMjcuNiAzNC41YzcgOC44IDQuNyAyMS44LTUuMSAyNy41LTguMSA0LjgtMTguNiAyLjctMjQuMi00LjhMNjQgMTQ0LjggNjQgMzJ6bTY0IDQ0OGwwIDMyIDEyOCAwIDAtMzIgNjQgMCAwIDMyIDEyOCAwIDAtMzIgMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw5NiA0MzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzIgMHoiXX0sZSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi13YWxraW5nLWx1Z2dhZ2UiLGljb246WzUxMiw1MTIsW10sImU1NTQiLCJNMjY0LjMgMjRhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0tOCAxODEuM2wtMjIuNiAyMi42Yy02IDYtOS40IDE0LjEtOS40IDIyLjZsMCAzNy41YzAgMTIuMy03IDIzLTE3LjIgMjguNC0uOSA0LjItMi40IDguNC00LjMgMTIuM2wtNjkgMTM4LjEtLjgtLjQtMjcuNyA1NS4zYy05LjkgMTkuOC0zMy45IDI3LjgtNTMuNyAxNy45TDE0LjYgNTIxYy0xOS44LTkuOS0yNy44LTMzLjktMTcuOS01My43TDQ3LjMgMzY2LjNjOS45LTE5LjggMzMuOS0yNy44IDUzLjctMTcuOWwzMC43IDE1LjMgMjguMy01Ni42Yy4zLS42IC40LTEuMiAuNC0xLjhsMC0xNi45YzAtLjIgMC0uMyAwLS41bDAtMzcuNWMwLTI1LjUgMTAuMS00OS45IDI4LjEtNjcuOWwzNS4xLTM1LjFjMjIuOC0yMi44IDUzLjYtMzUuNiA4NS44LTM1LjYgMzYuOSAwIDcxLjggMTYuOCA5NC44IDQ1LjZMNDIyLjEgMTgwYzYuMSA3LjYgMTUuMyAxMiAyNSAxMmwzMy4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMzLjIgMGMtMjkuMiAwLTU2LjctMTMuMy03NS0zNmwtMy44LTQuNyAwIDExNS4yIDM0LjUgMjkuNmMxNy43IDE1LjIgMjkuMyAzNi4yIDMyLjYgNTkuM0w0NDggNTA3LjVjMi41IDE3LjUtOS43IDMzLjctMjcuMiAzNi4ycy0zMy43LTkuNy0zNi4yLTI3LjJMMzcyIDQyOC40Yy0xLjEtNy43LTUtMTQuNy0xMC45LTE5LjhsLTcxLjQtNjEuMmMtMjEuMy0xOC4yLTMzLjUtNDQuOS0zMy41LTcyLjlsMC02OS4zem0uMSAxNjUuOGMyLjQgMi4zIDQuOCA0LjYgNy40IDYuOGw0NiAzOS40LTIuMiA3LjZjLTQuNSAxNS43LTEyLjkgMzAtMjQuNCA0MS41bC02OC4zIDY4LjNjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDIzOCA0MjEuMWMzLjgtMy44IDYuNi04LjYgOC4xLTEzLjhMMjU2LjQgMzcxeiJdfSxDZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1hcnJvdy1kb3duIixpY29uOlszODQsNTEyLFsiZmlsZS1kb3dubG9hZCJdLCJmNTZkIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0xNzUgNDQxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDY0LTY0YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTIzIDIzIDAtODYuMWMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDg2LjEtMjMtMjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNjQgNjR6Il19LHQkdD1DZmUsYSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1ib290aCIsaWNvbjpbNTc2LDUxMixbXSwiZjc1NiIsIk00MCAyNEE1NiA1NiAwIDEgMSAxNTIgMjQgNTYgNTYgMCAxIDEgNDAgMjR6bTUxLjEgODhjMjMuNSAwIDQ1LjUgMTEuMyA1OS4xIDMwLjRsNDguNyA2OC4yYzYgOC40IDE1LjcgMTMuNCAyNiAxMy40bDMxLjEgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzEuMSAwYy0zMSAwLTYwLjEtMTUtNzguMS00MC4ybC0yLjgtMy45IDAgODAuMSA0MS42IDMxLjJDMjA5LjggMzczLjMgMjI0IDQwMS44IDIyNCA0MzJsMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTgwYzAtMTAuMS00LjctMTkuNi0xMi44LTI1LjZMNzAuNCAzNDguOEM0Ni4yIDMzMC43IDMyIDMwMi4yIDMyIDI3MmwwLTEwMC45QzMyIDEzOC41IDU4LjUgMTEyIDkxLjEgMTEyek0zMiA1MTJsMC0xMzIuN2MzLjEgMi43IDYuMyA1LjQgOS42IDcuOUw5NiA0MjggOTYgNTEyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyem01NDQtODhsMCA5NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTcyLTE2OCAwYy03LjEgMC0xMy44LTMuMS0xOC40LTguNnMtNi41LTEyLjYtNS4zLTE5LjZsMzAuNy0xNzYuNy02My4xLTEzNy42IDAgNzJjLTUuMi0xLTEwLjUtMS42LTE2LTEuNmwtMzIgMCAwLTEyMGMwLTMwLjkgMjUuMS01NiA1Ni01Nkw1MjAgMGMzMC45IDAgNTYgMjUuMSA1NiA1NmwwIDM2OHpNMjg4IDMzNmM1LjUgMCAxMC44LS42IDE2LTEuNkwzMDQgNTIwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTg0IDMyIDB6Il19LHIkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2N1c3QiLGljb246WzU3Niw1MTIsW10sImU1MjAiLCJNMzI4IDMyYzEzNyAwIDI0OCAxMTEgMjQ4IDI0OGwwIDQwLS40IDguMkM1NzEuNSAzNjguNSA1MzcuNCA0MDAgNDk2IDQwMGwtMTIuMyAwIDI1LjIgNDQuMWM2LjYgMTEuNSAyLjYgMjYuMi04LjkgMzIuOHMtMjYuMiAyLjYtMzIuNy04LjlsLTM4LjgtNjcuOS04MC40IDAtNDguMiA2OS43Yy03LjUgMTAuOS0yMi41IDEzLjYtMzMuNCA2LjFzLTEzLjYtMjIuNS02LjEtMzMuNGwyOS4zLTQyLjMtNzQuNSAwLTUxLjcgNzAuMmMtNy45IDEwLjctMjIuOSAxMi45LTMzLjYgNS4xcy0xMi45LTIyLjktNS4xLTMzLjZsNDAuNS01NS00My0xNi40LTc5LjMgMTAwLjVjLTguMiAxMC40LTIzLjMgMTIuMi0zMy43IDRzLTEyLjItMjMuMy00LTMzLjdsMjQwLTMwNCAyLjEtMi4zYzUuMi01LjEgMTIuNS03LjUgMTkuOS02LjYgOC40IDEuMSAxNS42IDYuNSAxOC45IDE0LjNsMjEuNyA1MC43IDQwLjktNTUuNSAyLjEtMi40YzUuMS01LjMgMTIuNS04IDIwLTcuMiA4LjUgMSAxNS45IDYuNSAxOS4zIDE0LjRsNDEuOCA5Ny41IDY0LjIgMGMxMC4yIDAgMjAgMiAyOSA1LjUtMTYuNC05NC05OC4zLTE2NS41LTE5Ny0xNjUuNWwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNiAwek00ODggMjk2YTI0IDI0IDAgMSAwIDAgNDggMjQgMjQgMCAxIDAgMC00OHpNNDMuNSAzMzEuMUMzNi4yIDMyMS40IDMyIDMwOS41IDMyIDI5Ni44IDMyIDI2NS41IDU3LjUgMjQwIDg4LjkgMjQwbDI3LjYgMC03Mi45IDkxLjF6TTIyNS4xIDI0MGw0OC4yIDAgMS40LTEuOS0xNi45LTM5LjUtMzIuNyA0MS41em0xMDcuOCAwbDQ2LjcgMC0xNy4yLTQwLTI5LjUgNDB6Il19LF9mZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyaWdodC1sb25nIixpY29uOls1NzYsNTEyLFsibG9uZy1hcnJvdy1hbHQtcmlnaHQiXSwiZjMwYiIsIk01NjYuNiAyMzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTI4IDEyOGMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTMzg0IDM5Ni45IDM4NCAzODRsMC02NC0zMzYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0zMmMwLTI2LjUgMjEuNS00OCA0OC00OGwzMzYgMCAwLTY0YzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZzMjUuNy0yLjIgMzQuOSA2LjlsMTI4IDEyOHoiXX0scyR0PV9mZSxpJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stZHJvcGxldCIsaWNvbjpbNTc2LDUxMixbXSwiZTU4YyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMuMyAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjRzNzQuMi0yNy4xIDg0LjctNjRsMTAyLjYgMGMxMC40IDM2LjkgNDQuNCA2NCA4NC43IDY0czc0LjItMjcuMSA4NC43LTY0bDMuMyAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTQ2LjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNTEyIDE0Ni43Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43bC01MC43IDAgMC0zMmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNNTEyIDIzNy4zbDAgNTAuNy05NiAwIDAtOTYgNTAuNyAwIDQ1LjMgNDUuM3pNMTUyIDM4NGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6bTIzMiA0MGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek0yMDggMzA0Yy0zOS44IDAtNzItMzIuMi03Mi03MiAwLTMzLjIgMzQuNS03OCA1NS44LTEwMi40IDguNy0xMCAyMy44LTEwIDMyLjUgMCAyMS4yIDI0LjQgNTUuOCA2OS4xIDU1LjggMTAyLjQgMCA0OC0zMi4yIDcyLTcyIDcyeiJdfSxvJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1ob2xkaW5nLW1lZGljYWwiLGljb246WzU3Niw1MTIsW10sImUwNWMiLCJNMjQwIDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA1NiA1NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTU2IDAgMCA1NmMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC01Ni01NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDU2IDAgMC01NnpNNjYuNyAzODRsNDIuNS00Mi41YzI0LTI0IDU2LjYtMzcuNSA5MC41LTM3LjVMMzUyIDMwNGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMTIuNiAwIDExOS43LTg4LjJjMTcuOC0xMy4xIDQyLjgtOS4zIDU1LjkgOC41czkuMyA0Mi44LTguNSA1NS45TDQzMy4xIDQ4NS41Yy0yMy40IDE3LjItNTEuNiAyNi41LTgwLjcgMjYuNUwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzQuNyAweiJdfSxuJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1wb2ludC1sZWZ0IixpY29uOls1MTIsNTEyLFtdLCJmMGE1IiwiTTMyIDk2QzE0LjMgOTYgMCAxMTAuMyAwIDEyOHMxNC4zIDMyIDMyIDMybDIwOCAwIDAtNjQtMjA4IDB6TTE5MiAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMHptLTY0LTY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQ4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem05NiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMHptODgtOTZsLS42IDBjNS40IDkuNCA4LjYgMjAuMyA4LjYgMzIgMCAxMy4yLTQgMjUuNC0xMC44IDM1LjYgMjQuOSA4LjcgNDIuOCAzMi41IDQyLjggNjAuNCAwIDExLjctMy4xIDIyLjYtOC42IDMybDguNiAwYzg4LjQgMCAxNjAtNzEuNiAxNjAtMTYwbDAtNjEuN2MwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFsLTExLjYtMTEuNkM0MjkuNSA3Ny41IDM5Ni45IDY0IDM2MyA2NGwtMjcgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA4OGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtNTZjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDU2YzAgMzkuOC0zMi4yIDcyLTcyIDcyeiJdfSxsJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FsY3VsYXRvciIsaWNvbjpbMzg0LDUxMixbMTI4NDI1XSwiZjFlYyIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek05NiA2NGwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTYgMTY4YTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6bTgwIDI0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHptMTI4LTI0YTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6TTg4IDM1MmEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6bTEyOC0yNGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwem04MCAyNGEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6TTY0IDQyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw4OCA0NDhjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0yMzItMjRjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjQtMjQtMTAuNy0yNC0yNCAxMC43LTI0IDI0LTI0eiJdfSxKYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtaW51cyIsaWNvbjpbNDQ4LDUxMixbODIxMSw4NzIyLDEwMTM0LCJzdWJ0cmFjdCJdLCJmMDY4IiwiTTAgMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LGMkdD1KYixUZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtei1hIixpY29uOls1MTIsNTEyLFsic29ydC1hbHBoYS11cC1hbHQiXSwiZjg4MiIsIk0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtODAgODBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyAyNS40IDI1LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtODAtODB6TTI4OCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw1MC43IDAtNzMuNCA3My40Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOVMzMDcuMSAyMjQgMzIwIDIyNGwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTAuNyAwIDczLjQtNzMuNGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0NjEgMzIgNDQ4IDMyTDMyMCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTQxMi42IDI3My43QzQwNy4yIDI2Mi44IDM5Ni4xIDI1NiAzODQgMjU2cy0yMy4yIDYuOC0yOC42IDE3LjdsLTgwIDE2MGMtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zbDcuMi0xNC4zIDg4LjQgMCA3LjIgMTQuM2M3LjkgMTUuOCAyNy4xIDIyLjIgNDIuOSAxNC4zczIyLjItMjcuMSAxNC4zLTQyLjlsLTgwLTE2MHpNMzg0IDM1OS42bDIwLjIgNDAuNC00MC40IDAgMjAuMi00MC40eiJdfSxkJHQ9VGZlLHUkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtaWNyb3Bob25lLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJmMTMxIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDI0LjcgMzU4LjhDNDU4LjkgMzI0LjIgNDgwIDI3Ni42IDQ4MCAyMjRsMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwYzAgMzkuMy0xNS43IDc0LjktNDEuMyAxMDAuOUwzNTYuOCAyOTFDMzczLjYgMjczLjcgMzg0IDI1MCAzODQgMjI0bDAtMTI4YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2bDAgMzAuMi0xNTEtMTUxem0yOTguMyA0MzRsLTQxLjQtNDEuNGMtMy4zIC4yLTYuNSAuMy05LjggLjMtNzkuNSAwLTE0NC02NC41LTE0NC0xNDRsMC0xMC4yLTQzLjYtNDMuNmMtMi44IDMuOS00LjQgOC43LTQuNCAxMy44bDAgNDBjMCA5Ny45IDczLjMgMTc4LjcgMTY4IDE5MC41bDAgNDkuNS00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtNDkuNWM5LjMtMS4yIDE4LjQtMyAyNy4zLTUuNHoiXX0sQ2VlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1wZW4iLGljb246WzQ0OCw1MTIsWyJwZW4tc3F1YXJlIiwicGVuY2lsLXNxdWFyZSJdLCJmMTRiIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTMyNS44IDEzOS43bDE0LjQgMTQuNGMxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNmwtMjMuOCAyMy44LTcxLTcxIDIzLjgtMjMuOGMxNS42LTE1LjYgNDAuOS0xNS42IDU2LjYgMHpNMTE5LjkgMjg5bDkxLjUtOTEuNiA3MSA3MS05MS42IDkxLjVjLTQuMSA0LjEtOS4yIDctMTQuOSA4LjRsLTYwLjEgMTVjLTUuNSAxLjQtMTEuMi0uMi0xNS4yLTQuMnMtNS42LTkuNy00LjItMTUuMmwxNS02MC4xYzEuNC01LjYgNC4zLTEwLjggOC40LTE0Ljl6Il19LHAkdD1DZWUsZiR0PUNlZSxMZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1maXN0IixpY29uOlszODQsNTEyLFs5OTk0LCJmaXN0LXJhaXNlZCJdLCJmNmRlIiwiTTE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTEyLTY0IDAgMC0xMTJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTMyIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyUzk2IDQ2LjMgOTYgNjRsMCA4MC02NCAwIDAtODB6bTE5MiAwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2em05NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHptLTk2IDg4bDAtLjZjOS40IDUuNCAyMC4zIDguNiAzMiA4LjYgMTMuMiAwIDI1LjQtNCAzNS42LTEwLjggOC43IDI0LjkgMzIuNSA0Mi44IDYwLjQgNDIuOCAxMS43IDAgMjIuNi0zLjEgMzItOC42bDAgOC42YzAgNTIuMy0yNS4xIDk4LjgtNjQgMTI4bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTc4LjRjLTE3LjMtNy45LTMzLjItMTguOC00Ni45LTMyLjVMMzcuNSAzNTcuNUMxMy41IDMzMy41IDAgMzAwLjkgMCAyNjdsMC0yN2MwLTM1LjMgMjguNy02NCA2NC02NGw4OCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwcy0xNy45IDQwLTQwIDQwbC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDU2IDBjMzkuOCAwIDcyLTMyLjIgNzItNzJ6Il19LGgkdD1MZmUsJGZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnQtc21zIixpY29uOls1MTIsNTEyLFsic21zIl0sImY3Y2QiLCJNMjU2IDQ4MGMxNDEuNCAwIDI1Ni0xMDcuNSAyNTYtMjQwUzM5Ny40IDAgMjU2IDAgMCAxMDcuNSAwIDI0MGMwIDU0LjMgMTkuMiAxMDQuMyA1MS42IDE0NC41TDIuOCA0NzYuOGMtNC44IDktMy4zIDIwIDMuNiAyNy41czE3LjggOS44IDI3LjEgNS44bDExOC40LTUwLjdDMTgzLjcgNDcyLjYgMjE4LjkgNDgwIDI1NiA0ODB6TTE0MC44IDE3Mi44bDE5LjIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTkuMiAwYy01LjMgMC05LjYgNC4zLTkuNiA5LjZzNC4zIDkuNiA5LjYgOS42YzIzIDAgNDEuNiAxOC42IDQxLjYgNDEuNnMtMTguNiA0MS42LTQxLjYgNDEuNmwtMjUuNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDI1LjYgMGM1LjMgMCA5LjYtNC4zIDkuNi05LjZzLTQuMy05LjYtOS42LTkuNmMtMjMgMC00MS42LTE4LjYtNDEuNi00MS42czE4LjYtNDEuNiA0MS42LTQxLjZ6bTE4OC44IDQxLjZjMC0yMyAxOC42LTQxLjYgNDEuNi00MS42bDE5LjIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMTkuMiAwYy01LjMgMC05LjYgNC4zLTkuNiA5LjZzNC4zIDkuNiA5LjYgOS42YzIzIDAgNDEuNiAxOC42IDQxLjYgNDEuNnMtMTguNiA0MS42LTQxLjYgNDEuNmwtMjUuNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDI1LjYgMGM1LjMgMCA5LjYtNC4zIDkuNi05LjZzLTQuMy05LjYtOS42LTkuNmMtMjMgMC00MS42LTE4LjYtNDEuNi00MS42em0tOTguMy0zMy44bDI0LjcgNDEuMSAyNC43LTQxLjFjMy43LTYuMiAxMS4xLTkuMSAxOC03LjJzMTEuNyA4LjIgMTEuNyAxNS40bDAgMTAyLjRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC00NC42LTguNyAxNC41Yy0yLjkgNC44LTguMSA3LjgtMTMuNyA3LjhzLTEwLjgtMy0xMy43LTcuOGwtOC43LTE0LjUgMCA0NC42YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTAyLjRjMC03LjIgNC44LTEzLjUgMTEuNy0xNS40czE0LjMgMSAxOCA3LjJ6Il19LG0kdD0kZmUsZyR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpbS1jYXJkIixpY29uOlszODQsNTEyLFtdLCJmN2M0IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDI1OC43IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgODBjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHpNOTYgMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQwIDEyOCAwIDAtNzItOTYgMHpNNjQgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ4IDAgMC03Mi04MCAwIDAgNDB6bTI1NiAwbDAtNDAtMTI4IDAgMCA3MiA5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyem0wLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNDggMCAwIDcyIDgwIDAgMC00MHoiXX0sRGZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjYWxlLWJhbGFuY2VkIixpY29uOls2NDAsNTEyLFs5ODc4LCJiYWxhbmNlLXNjYWxlIl0sImYyNGUiLCJNMzg0IDMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDM5OC40IDk2Yy01LjIgMjUuOC0yMi45IDQ3LjEtNDYuNCA1Ny4zbDAgMjk0LjcgMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM4NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAwIDAtMjk0LjdjLTIzLjUtMTAuMy00MS4yLTMxLjYtNDYuNC01Ny4zTDEyOCA5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxMjggMGMxNC42LTE5LjQgMzcuOC0zMiA2NC0zMnM0OS40IDEyLjYgNjQgMzJ6bTU1LjYgMjg4TDU4NC40IDMyMCA1MTIgMTk1LjggNDM5LjYgMzIwek01MTIgNDE2Yy02Mi45IDAtMTE1LjItMzQtMTI2LTc4LjktMi42LTExIDEtMjIuMyA2LjctMzIuMWw5NS4yLTE2My4yYzUtOC42IDE0LjItMTMuOCAyNC4xLTEzLjhzMTkuMSA1LjMgMjQuMSAxMy44bDk1LjIgMTYzLjJjNS43IDkuOCA5LjMgMjEuMSA2LjcgMzIuMS0xMC44IDQ0LjgtNjMuMSA3OC45LTEyNiA3OC45ek0xMjYuOCAxOTUuOEw1NC40IDMyMCAxOTkuMyAzMjAgMTI2LjggMTk1Ljh6TS45IDMzNy4xYy0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xLTEwLjggNDQuOC02My4xIDc4LjktMTI2IDc4LjlTMTEuNyAzODIgLjkgMzM3LjF6Il19LGIkdD1EZmUsQWZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhciIsaWNvbjpbNTEyLDUxMixbMTI4NjY0LCJhdXRvbW9iaWxlIl0sImYxYjkiLCJNMTM1LjIgMTE3LjRsLTI2LjEgNzQuNiAyOTMuOCAwLTI2LjEtNzQuNkMzNzIuMyAxMDQuNiAzNjAuMiA5NiAzNDYuNiA5NkwxNjUuNCA5NmMtMTMuNiAwLTI1LjcgOC42LTMwLjIgMjEuNHpNMzkuNiAxOTYuOEw3NC44IDk2LjNDODguMyA1Ny44IDEyNC42IDMyIDE2NS40IDMybDE4MS4yIDBjNDAuOCAwIDc3LjEgMjUuOCA5MC42IDY0LjNsMzUuMiAxMDAuNWMyMy4yIDkuNiAzOS42IDMyLjUgMzkuNiA1OS4ybDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyLTMyMCAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgMjU2YzAtMjYuNyAxNi40LTQ5LjYgMzkuNi01OS4yek0xMjggMzA0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTI4OCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LHYkdD1BZmUsUGZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNyb3Atc2ltcGxlIixpY29uOls1MTIsNTEyLFsiY3JvcC1hbHQiXSwiZjU2NSIsIk0xMjggMzJjMC0xNy43LTE0LjMtMzItMzItMzJTNjQgMTQuMyA2NCAzMmwwIDMyLTMyIDBDMTQuMyA2NCAwIDc4LjMgMCA5NnMxNC4zIDMyIDMyIDMybDMyIDAgMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjA4IDAgMC02NC0yMDggMCAwLTM1MnpNMzg0IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtMjA4IDAgMCA2NCAyMDggMCAwIDM1MnoiXX0seCR0PVBmZSx5JHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWVkYWwiLGljb246WzQ0OCw1MTIsWzEyNzk0MV0sImY1YTIiLCJNMjI0LjMgMTI4TDEzOS43LTEyLjljLTYuNS0xMC44LTIwLjEtMTQuNy0zMS4zLTkuMUwyMS44IDIxLjNDOS45IDI3LjIgNS4xIDQxLjYgMTEgNTMuNUw4MC42IDE5Mi42Yy0zMC4xIDMzLjktNDguMyA3OC41LTQ4LjMgMTI3LjQgMCAxMDYgODYgMTkyIDE5MiAxOTJzMTkyLTg2IDE5Mi0xOTJjMC00OC45LTE4LjMtOTMuNS00OC4zLTEyNy40TDQzNy42IDUzLjVjNS45LTExLjkgMS4xLTI2LjMtMTAuNy0zMi4yTDM0MC4yLTIyLjFjLTExLjItNS42LTI0LjktMS42LTMxLjMgOS4xTDIyNC4zIDEyOHptMzAuOCAxNDIuNWMxLjQgMi44IDQgNC43IDcgNS4xbDUwLjEgNy4zYzcuNyAxLjEgMTAuNyAxMC41IDUuMiAxNmwtMzYuMyAzNS40Yy0yLjIgMi4yLTMuMiA1LjItMi43IDguM2w4LjYgNDkuOWMxLjMgNy42LTYuNyAxMy41LTEzLjYgOS45bC00NC44LTIzLjZjLTIuNy0xLjQtNi0xLjQtOC43IDBsLTQ0LjggMjMuNmMtNi45IDMuNi0xNC45LTIuMi0xMy42LTkuOWw4LjYtNDkuOWMuNS0zLS41LTYuMS0yLjctOC4zbC0zNi4zLTM1LjRjLTUuNi01LjQtMi41LTE0LjggNS4yLTE2bDUwLjEtNy4zYzMtLjQgNS43LTIuNCA3LTUuMWwyMi40LTQ1LjRjMy40LTcgMTMuMy03IDE2LjggMGwyMi40IDQ1LjR6Il19LHckdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY3JvbGwiLGljb246WzU3Niw1MTIsWzEyODIyMF0sImY3MGUiLCJNMCAxMTJDMCA3MC41IDMxLjYgMzYuNCA3MiAzMi40bDAtLjQgMjgwIDBjNTMgMCA5NiA0MyA5NiA5NmwwIDE3Ni0xNzYgMGMtMzkuOCAwLTcyIDMyLjItNzIgNzJsMCA2MGMwIDI0LjMtMTkuNyA0NC00NCA0NHMtNDQtMTkuNy00NC00NGwwLTIyOC02NCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTQ4ek0yMzYuOCA0ODBjNy4xLTEzLjEgMTEuMi0yOC4xIDExLjItNDRsMC02MGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwyNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDI0YzAgNDQuMi0zNS44IDgwLTgwIDgwbC0yMjcuMiAwek04MCA4MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OCA2NCAwIDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJ6Il19LE0kdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWV4Y2VsIixpY29uOlszODQsNTEyLFtdLCJmMWMzIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0xNjQgMjY2LjdjLTcuNC0xMS0yMi4zLTE0LTMzLjMtNi43cy0xNCAyMi4zLTYuNyAzMy4zTDE2My4yIDM1MiAxMjQgNDEwLjdjLTcuNCAxMS00LjQgMjUuOSA2LjcgMzMuM3MyNS45IDQuNCAzMy4zLTYuN2wyOC00MiAyOCA0MmM3LjQgMTEgMjIuMyAxNCAzMy4zIDYuN3MxNC0yMi4zIDYuNy0zMy4zTDIyMC44IDM1MiAyNjAgMjkzLjNjNy40LTExIDQuNC0yNS45LTYuNy0zMy4zcy0yNS45LTQuNC0zMy4zIDYuN2wtMjggNDItMjgtNDJ6Il19LGskdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWx0ZXIiLGljb246WzUxMiw1MTIsW10sImYwYjAiLCJNMzIgNjRDMTkuMSA2NCA3LjQgNzEuOCAyLjQgODMuOFMuMiAxMDkuNSA5LjQgMTE4LjZMMTkyIDMwMS4zIDE5MiA0MTZjMCA4LjUgMy40IDE2LjYgOS40IDIyLjZsNjQgNjRjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlTMzIwIDQ5Mi45IDMyMCA0ODBsMC0xNzguNyAxODIuNi0xODIuNmM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0OTIuOSA2NCA0ODAgNjRMMzIgNjR6Il19LFMkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcnVtIixpY29uOls1MTIsNTEyLFsxMjkzNDVdLCJmNTY5IiwiTTUwMS4yIDc2LjFjMTEuMS03LjMgMTQuMi0yMi4xIDYuOS0zMy4ycy0yMi4xLTE0LjItMzMuMi02LjlMMzcwLjIgMTA0LjVDMzM1LjggOTguNyAyOTcgOTYgMjU2IDk2IDExNC42IDk2IDAgMTI4IDAgMjA4TDAgMzY4YzAgMzEuMyAyNy40IDU4LjggNzIgNzguN0w3MiAzNDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDExOS40YzMzIDguOSA3MS4xIDE0LjUgMTEyIDE2LjFMMjMyIDM3NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTAzLjVjNDAuOS0xLjYgNzktNy4yIDExMi0xNi4xTDM5MiAzNDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwMi43YzQ0LjYtMTkuOSA3Mi00Ny40IDcyLTc4LjdsMC0xNjBjMC00MS4xLTMwLjItNjkuNS03OC44LTg3LjRsNjcuOS00NC41ek0zMDcuNCAxNDUuNmwtNjQuNiA0Mi4zYy0xMS4xIDcuMy0xNC4yIDIyLjEtNi45IDMzLjJzMjIuMSAxNC4yIDMzLjIgNi45bDExMS4xLTcyLjhjMTQuNyAzLjIgMjcuOSA3IDM5LjQgMTEuNSAzOC44IDE1LjEgNDQuNCAzMC42IDQ0LjQgNDEuMyAwIC44LTIuNyAxNy4yLTQ2IDM1LjktMzguOSAxNi44LTk2IDI4LjEtMTYyIDI4LjFTMTMyLjkgMjYwLjcgOTQgMjQzLjljLTQzLjMtMTguNy00Ni0zNS4xLTQ2LTM1LjkgMC0xMC42IDUuNi0yNi4yIDQ0LjQtNDEuMyAzOC4zLTE0LjkgOTUuNC0yMi43IDE2My42LTIyLjcgMTggMCAzNS4xIC41IDUxLjQgMS42eiJdfSx6JHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFwLXBpbiIsaWNvbjpbMzIwLDUxMixbMTI4MjA1XSwiZjI3NiIsIk0xOTIgMjg0LjRDMjU2LjEgMjY5LjkgMzA0IDIxMi41IDMwNCAxNDQgMzA0IDY0LjUgMjM5LjUgMCAxNjAgMFMxNiA2NC41IDE2IDE0NGMwIDY4LjUgNDcuOSAxMjUuOSAxMTIgMTQwLjRMMTI4IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTk1LjZ6TTE2OCA5NmMtMzAuOSAwLTU2IDI1LjEtNTYgNTYgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC01Ny40IDQ2LjYtMTA0IDEwNC0xMDQgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjR6Il19LEVmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2FsZS11bmJhbGFuY2VkLWZsaXAiLGljb246WzY0MCw1MTIsWyJiYWxhbmNlLXNjYWxlLXJpZ2h0Il0sImY1MTYiLCJNMTE4LjIgNjIuNEMxMDEuNSA1Ni44IDkyLjQgMzguNiA5OCAyMS45UzEyMS43LTMuOSAxMzguNSAxLjZsMTEzIDM3LjdjMTMuOS0yMy41IDM5LjYtMzkuMyA2OC45LTM5LjMgNDQuMiAwIDgwIDM1LjggODAgODAgMCAzLS4yIDUuOS0uNSA4LjhsMTIyLjYgNDAuOWMxNi44IDUuNiAyNS44IDIzLjcgMjAuMiA0MC41cy0yMy43IDI1LjgtNDAuNSAyMC4yTDM2Ni43IDE0NS4yYy00LjUgMy4yLTkuMyA1LjktMTQuNCA4LjJsMCAzMjYuN2MwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDAgMC0yOTQuN2MtMjEtOS4yLTM3LjItMjctNDQuMi00OWwtMTI1LjktNDJ6TTIwMC44IDI4OEwxMjguMyAxNjMuOCA1NS45IDI4OCAyMDAuOCAyODh6bS03Mi40IDk2Yy02Mi45IDAtMTE1LjItMzQtMTI2LTc4LjktMi42LTExIDEtMjIuMyA2LjctMzIuMWw5NS4yLTE2My4yYzUtOC42IDE0LjItMTMuOCAyNC4xLTEzLjhzMTkuMSA1LjMgMjQuMSAxMy44bDk1LjIgMTYzLjJjNS43IDkuOCA5LjMgMjEuMSA2LjcgMzIuMS0xMC44IDQ0LjgtNjMuMSA3OC45LTEyNiA3OC45em0zODIuOC05Mi4ybC03Mi40IDEyNC4yIDE0NC45IDAtNzIuNC0xMjQuMnptMTI2IDE0MS4zQzYyNi40IDQ3OCA1NzQuMSA1MTIgNTExLjIgNTEycy0xMTUuMi0zNC0xMjYtNzguOWMtMi42LTExIDEtMjIuMyA2LjctMzIuMWw5NS4yLTE2My4yYzUtOC42IDE0LjItMTMuOCAyNC4xLTEzLjhzMTkuMSA1LjMgMjQuMSAxMy44bDk1LjIgMTYzLjJjNS43IDkuOCA5LjMgMjEuMSA2LjcgMzIuMXoiXX0sQyR0PUVmZSxfJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXRvLWNpcmNsZSIsaWNvbjpbNTEyLDUxMixbXSwiZTRiZCIsIk05LjQgOS40QzIxLjktMy4xIDQyLjEtMy4xIDU0LjYgOS40TDEyOCA4Mi43IDEyOCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTguNyAwLTczLjQtNzMuNEMtMy4xIDQyLjEtMy4xIDIxLjkgOS40IDkuNHpNMjAwIDI1NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTUwMi42IDU0LjZMNDI5LjMgMTI4IDQ0OCAxMjhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE4LjcgNzMuNC03My40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6bS00NS4zIDQ0OEwzODQgNDI5LjMgMzg0IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE4LjcgMCA3My40IDczLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDB6TTkuNCA0NTcuNEw4Mi43IDM4NCA2NCAzODRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTguNy03My40IDczLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zeiJdfSxUJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZW52ZWxvcGUiLGljb246WzUxMiw1MTIsWzEyODM4Niw5OTkzLDYxNDQzXSwiZjBlMCIsIk00OCA2NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDggMCAxNS4xIDcuMSAyOS4zIDE5LjIgMzguNGwyMDggMTU2YzE3LjEgMTIuOCA0MC41IDEyLjggNTcuNiAwbDIwOC0xNTZjMTIuMS05LjEgMTkuMi0yMy4zIDE5LjItMzguNCAwLTI2LjUtMjEuNS00OC00OC00OEw0OCA2NHpNMCAxOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xODgtMTk4LjQgMTQ4LjhjLTM0LjEgMjUuNi04MS4xIDI1LjYtMTE1LjIgMEwwIDE5NnoiXX0sTCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhYnkiLGljb246WzM4NCw1MTIsW10sImY3N2MiLCJNMTIwIDg4YTcyIDcyIDAgMSAxIDE0NCAwIDcyIDcyIDAgMSAxIC0xNDQgMHpNNy43IDE0NC41YzEzLTE3LjkgMzgtMjEuOCA1NS45LTguOEw5OS44IDE2MmMyNi44IDE5LjUgNTkuMSAzMCA5Mi4yIDMwczY1LjQtMTAuNSA5Mi4yLTMwbDM2LjItMjYuNGMxNy45LTEzIDQyLjktOSA1NS45IDguOHM5IDQyLjktOC44IDU1LjlsLTM2LjIgMjYuNGMtMTMuNiA5LjktMjguMSAxOC4yLTQzLjMgMjVsMCAzNi4zLTE5MiAwIDAtMzYuM2MtMTUuMi02LjctMjkuNy0xNS4xLTQzLjMtMjVMMTYuNSAyMDAuM2MtMTcuOS0xMy0yMS44LTM4LTguOC01NS45ek05Ny41IDMyOS4zbDYwLjYgNTMtMjYgMzcuMiAyNC4zIDI0LjNjMTUuNiAxNS42IDE1LjYgNDAuOSAwIDU2LjZzLTQwLjkgMTUuNi01Ni42IDBsLTQ4LTQ4QzM4IDQzOC42IDM2LjEgNDE3IDQ3LjIgNDAxLjFsNTAuMi03MS44em0xMjguNSA1M2w2MC42LTUzIDUwLjIgNzEuOGMxMS4xIDE1LjkgOS4yIDM3LjUtNC41IDUxLjJsLTQ4IDQ4Yy0xNS42IDE1LjYtNDAuOSAxNS42LTU2LjYgMHMtMTUuNi00MC45IDAtNTYuNmwyNC4zLTI0LjMtMjYtMzcuMnoiXX0sSWZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1jYXJldC1kb3duIixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLWRvd24iXSwiZjE1MCIsIk0zODQgNDgwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDB6TTIyNCAzNTJjLTYuNyAwLTEzLTIuOC0xNy42LTcuN2wtMTA0LTExMmMtNi41LTctOC4yLTE3LjItNC40LTI1LjlTMTEwLjUgMTkyIDEyMCAxOTJsMjA4IDBjOS41IDAgMTguMiA1LjcgMjIgMTQuNHMyLjEgMTguOS00LjQgMjUuOWwtMTA0IDExMmMtNC41IDQuOS0xMC45IDcuNy0xNy42IDcuN3oiXX0sJCR0PUlmZSxEJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVudCIsaWNvbjpbNTEyLDUxMixbXSwiZTU3ZCIsIk0yNi45IDIwNi45TDMuNyA0NDQuOUMxLjggNDYzLjcgMTYuNiA0ODAgMzUuNSA0ODBsMTcyLjcgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTEyOWMwLTguMyA2LjctMTUgMTUtMTUgNS41IDAgMTAuNiAzIDEzLjIgNy45bDg2LjEgMTU5YzguNCAxNS41IDI0LjYgMjUuMSA0Mi4yIDI1LjFsNjQuMSAwYzE4LjkgMCAzMy43LTE2LjMgMzEuOC0zNS4xTDQ4NS42IDIwNy4xYy0xLjktMTkuNi0xMi44LTM3LjMtMjkuNS00Ny44TDI4MC45IDQ4LjNjLTE1LjctMTAtMzUuOC05LjktNTEuNSAuMUw1Ni4xIDE1OS4yYy0xNi41IDEwLjYtMjcuMyAyOC4yLTI5LjIgNDcuN3oiXX0sQSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImEiLGljb246WzM4NCw1MTIsWzk3XSwiNDEiLCJNMjIxLjUgNTEuN0MyMTYuNiAzOS44IDIwNC45IDMyIDE5MiAzMnMtMjQuNiA3LjgtMjkuNSAxOS43Yy05My4zIDIyNC0xNDYuNyAzNTItMTYwIDM4NC02LjggMTYuMyAuOSAzNSAxNy4yIDQxLjhzMzUtLjkgNDEuOC0xNy4ybDMxLjgtNzYuMyAxOTcuMyAwIDMxLjggNzYuM2M2LjggMTYuMyAyNS41IDI0IDQxLjggMTcuMnMyNC0yNS41IDE3LjItNDEuOGMtMTMuMy0zMi02Ni43LTE2MC0xNjAtMzg0ek0yNjQgMzIwbC0xNDQgMCA3Mi0xNzIuOCA3MiAxNzIuOHoiXX0sUCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhcmFjaHV0ZS1ib3giLGljb246WzUxMiw1MTIsW10sImY0Y2QiLCJNMTI4IDIyNEMxMjggMTUyLjIgMTQ0LjMgODguNCAxNjkuNSA0My40IDE5NS4xLTIuNCAyMjYuNi0yNCAyNTYtMjRzNjAuOSAyMS42IDg2LjUgNjcuNEMzNjcuNyA4OC40IDM4NCAxNTIuMiAzODQgMjI0bC0xMDQgMCAwIDk2IDggMGM5LjMgMCAxOC4xIDIgMjYgNS41bDExOC40LTEwMS41LS41IDBjMC03OC40LTE3LjctMTUwLjYtNDcuNi0yMDQtNi4xLTExLTEyLjktMjEuMy0yMC4zLTMwLjkgODYuNSAzNS45IDE0Ny44IDExNS4xIDE0Ny44IDIxOC45IDAgNy0zLjEgMTMuNy04LjQgMTguMkwzNDcuNCAzNjAuMWMzIDcuNCA0LjYgMTUuNCA0LjYgMjMuOWwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtOC40IDEuNi0xNi41IDQuNi0yMy45TDguNCAyMjYuMkMzLjEgMjIxLjcgMCAyMTUgMCAyMDggMCAxMDQuMiA2MS4zIDI0LjkgMTQ3LjgtMTAuOSAxNDAuNS0xLjQgMTMzLjcgOSAxMjcuNiAyMCA5Ny43IDczLjQgODAgMTQ1LjYgODAgMjI0bC0uNSAwIDExOC40IDEwMS41YzgtMy41IDE2LjgtNS41IDI2LTUuNWw4IDAgMC05Ni0xMDQgMHoiXX0sRSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcnQtYXJyb3ctZG93biIsaWNvbjpbNjQwLDUxMixbXSwiZjIxOCIsIk0wIDhDMC01LjMgMTAuNy0xNiAyNC0xNmw0NS4zIDBjMjcuMSAwIDUwLjMgMTkuNCA1NS4xIDQ2bC40IDIgMTg3LjIgMCAwIDEwMi4xLTMxLTMxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDcyLTcyYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTMxIDMxIDAtMTAyLjEgMTc3LjQgMGMyMCAwIDM1LjEgMTguMiAzMS40IDM3LjlMNTM3LjggMjM1LjhjLTUuNyAzMC4zLTMyLjEgNTIuMi02Mi45IDUyLjJsLTMwMy42IDAgNS4xIDI4LjNjMi4xIDExLjQgMTIgMTkuNyAyMy42IDE5LjdMNDU2IDMzNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjU1LjkgMGMtMzQuOCAwLTY0LjYtMjQuOS03MC44LTU5LjFMNzcuMiAzOC42Yy0uNy0zLjgtNC02LjYtNy45LTYuNkwyNCAzMkMxMC43IDMyIDAgMjEuMyAwIDh6TTE2MCA0NjRhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMjI0IDBhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHoiXX0sSSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyaWRnZS1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzU3Niw1MTIsW10sImU0Y2EiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDggMCAwIDY0LTQwIDAgMCAxMTJjMzcuNiA5LjQgNjQgNDMuMiA2NCA4MmwwIDk0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2IDYuNCAwIDEyLjcgLjYgMTguNyAxLjggMzQuNy00OS41IDkyLjItODEuOCAxNTcuMy04MS44IDI4LjYgMCA1NS42IDYuMiA4MCAxNy40bDAtNjUuNC00MCAwIDAtNjQgOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyek00MjQgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjk2IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTg4IDk2bDgwIDAgMCA2NC04MCAwIDAtNjR6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTEwMGEyMCAyMCAwIDEgMSAwIDQwIDIwIDIwIDAgMSAxIDAtNDB6bTAtMTQwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxfZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtYXJyb3ctdXAiLGljb246WzU3Niw1MTIsWzYyMzM4LCJjbG91ZC11cGxvYWQiLCJjbG91ZC11cGxvYWQtYWx0Il0sImYwZWUiLCJNMTQ0IDQ4MGMtNzkuNSAwLTE0NC02NC41LTE0NC0xNDQgMC02My40IDQxLTExNy4yIDk3LjktMTM2LjUtMS4zLTcuNy0xLjktMTUuNS0xLjktMjMuNSAwLTc5LjUgNjQuNS0xNDQgMTQ0LTE0NCA1NS40IDAgMTAzLjUgMzEuMyAxMjcuNiA3Ny4xIDE0LjItOC4zIDMwLjgtMTMuMSA0OC40LTEzLjEgNTMgMCA5NiA0MyA5NiA5NiAwIDE1LjctMy44IDMwLjYtMTAuNSA0My43IDQ0IDIwLjMgNzQuNSA2NC43IDc0LjUgMTE2LjMgMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTMwNCAwek0zMDUgMTkxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtNzIgNzJjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwzMS0zMSAwIDEwMi4xYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDIuMSAzMSAzMWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTcyLTcyeiJdfSxOJHQ9X2VlLFIkdD1fZWUsTyR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImF0IixpY29uOls1MTIsNTEyLFs2MTk0Nl0sIjQwIiwiTTI1NiA2NEMxNTAgNjQgNjQgMTUwIDY0IDI1NnM4NiAxOTIgMTkyIDE5MmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkMxMTQuNiA1MTIgMCAzOTcuNCAwIDI1NlMxMTQuNiAwIDI1NiAwIDUxMiAxMTQuNiA1MTIgMjU2bDAgMzJjMCA1My00MyA5Ni05NiA5Ni0yOS4zIDAtNTUuNi0xMy4yLTczLjItMzMuOS0yMi44IDIxLTUzLjMgMzMuOS04Ni44IDMzLjktNzAuNyAwLTEyOC01Ny4zLTEyOC0xMjhzNTcuMy0xMjggMTI4LTEyOGMyNy45IDAgNTMuNyA4LjkgNzQuNyAyNC4xIDUuNy01IDEzLjEtOC4xIDIxLjMtOC4xIDE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMmMwLTEwNi04Ni0xOTItMTkyLTE5MnptNjQgMTkyYTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHoiXX0sVGVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluZGlhbi1ydXBlZS1zaWduIixpY29uOlszMjAsNTEyLFsiaW5kaWFuLXJ1cGVlIiwiaW5yIl0sImUxYmMiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwyNjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNzYuNyAwYzE3LjcgMTkuOCAzMC4xIDQ0LjYgMzQuNyA3Mmw0MiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00MiAwYy0xMC40IDYyLjItNjAuOCAxMTAuOS0xMjMuOCAxMTguOUwyNzQuNiA0MjJjMTQuNCAxMC4zIDE3LjcgMzAuMyA3LjQgNDQuNnMtMzAuMyAxNy43LTQ0LjYgNy40TDEzLjQgMzE0QzIuMSAzMDYtMi43IDI5MS41IDEuNSAyNzguMlMxOC4xIDI1NiAzMiAyNTZsODAgMGMzNS44IDAgNjYuMS0yMy41IDc2LjMtNTZMMjQgMjAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE2NC4zIDBjLTEwLjItMzIuNS00MC41LTU2LTc2LjMtNTZMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHoiXX0sRiR0PVRlZSxCJHQ9VGVlLEgkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjayIsaWNvbjpbNTc2LDUxMixbMTI4NjY2LDk5NTFdLCJmMGQxIiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMiA1MC43IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMNTU3LjMgMTkyYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMNTc2IDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMy4zIDBjLTEwLjQgMzYuOS00NC40IDY0LTg0LjcgNjRzLTc0LjItMjcuMS04NC43LTY0bC0xMDIuNiAwYy0xMC40IDM2LjktNDQuNCA2NC04NC43IDY0cy03NC4yLTI3LjEtODQuNy02NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTUxMiAyODhsMC01MC43LTQ1LjMtNDUuMy01MC43IDAgMCA5NiA5NiAwek0xOTIgNDI0YTQwIDQwIDAgMSAwIC04MCAwIDQwIDQwIDAgMSAwIDgwIDB6bTIzMiA0MGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6Il19LE5mZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFsa2JvYXJkLXVzZXIiLGljb246WzY0MCw1MTIsWyJjaGFsa2JvYXJkLXRlYWNoZXIiXSwiZjUxYyIsIk0xOTIgMzg0YzUzIDAgOTYgNDMgOTYgOTYgMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMiAwLTUzIDQzLTk2IDk2LTk2bDk2IDB6TTU0NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDMzLjEtMjUuMiA2MC40LTU3LjUgNjMuN2wtNi41IC4zLTIxMS4xIDBjLTUuMS0yNC4yLTE2LjMtNDYuMS0zMi4xLTY0bDUxLjIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwIDAtMjg4LTM1MiAwIDAgNTcuM2MtMTQuOC02LTMxLTkuMy00OC05LjMtNS40IDAtMTAuOCAuMy0xNiAxbDAtNDljMC0zNS4zIDI4LjctNjQgNjQtNjRsMzUyIDB6TTE0NCAzNTJhODAgODAgMCAxIDEgMC0xNjAgODAgODAgMCAxIDEgMCAxNjB6Il19LHEkdD1OZmUsViR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItY2hlY2siLGljb246WzY0MCw1MTIsW10sImY0ZmMiLCJNMjg2IDMwNGM5OC41IDAgMTc4LjMgNzkuOCAxNzguMyAxNzguMyAwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0w3OCA1MTJjLTE2LjQgMC0yOS43LTEzLjMtMjkuNy0yOS43IDAtOTguNSA3OS44LTE3OC4zIDE3OC4zLTE3OC4zbDU5LjQgMHpNNTg1LjcgMTA1LjljNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zczEzLjEgMjIuOCA1LjMgMzMuNUw1MjIuMSAyNzQuOWMtNC4yIDUuNy0xMC43IDkuNC0xNy43IDkuOHMtMTQtMi4yLTE4LjktNy4zbC00Ni40LTQ4Yy05LjItOS41LTktMjQuNyAuNi0zMy45IDkuNS05LjIgMjQuNy04LjkgMzMuOSAuNmwyNi41IDI3LjQgODUuNi0xMTcuN3pNMjU2LjMgMjQ4YTEyMCAxMjAgMCAxIDEgMC0yNDAgMTIwIDEyMCAwIDEgMSAwIDI0MHoiXX0saiR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItbmluamEiLGljb246WzQ0OCw1MTIsWzEyOTM5OV0sImY1MDQiLCJNMzUyIDEyOGMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOC01Ny4yIDAtMTA1LjYtMzcuNS0xMjItODkuMy0xLjEgMS4zLTIuMiAyLjYtMy41IDMuOC0xNS44IDE1LjgtMzguOCAyMC43LTUzLjYgMjIuMS04LjEgLjgtMTQuNi01LjctMTMuOC0xMy44IDEuNC0xNC43IDYuMy0zNy44IDIyLjEtNTMuNiA1LjgtNS44IDEyLjYtMTAuMSAxOS42LTEzLjQtNy0zLjItMTMuOC03LjYtMTkuNi0xMy40LTE1LjgtMTUuOC0yMC43LTM4LjgtMjIuMS01My42LS44LTguMSA1LjctMTQuNiAxMy44LTEzLjggMTQuNyAxLjQgMzcuOCA2LjMgNTMuNiAyMi4xIDQuOCA0LjggOC43IDEwLjQgMTEuNyAxNi4xIDIxLjMtNDEuMiA2NC4zLTY5LjQgMTEzLjgtNjkuNCA3MC43IDAgMTI4IDU3LjMgMTI4IDEyOHpNMTQ0IDExMmMwIDguOCA3LjIgMTYgMTYgMTZsMTI4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMMTYwIDk2Yy04LjggMC0xNiA3LjItMTYgMTZ6bS0xLjQgMjExbDY3IDUwLjJjOC41IDYuNCAyMC4zIDYuNCAyOC44IDBsNjctNTAuMmM2LjUtNC45IDE1LjItNi4yIDIyLjYtMi44IDYxLjQgMjguMiAxMDQuMSA5MC4yIDEwNC4xIDE2Mi4xIDAgMTYuNC0xMy4zIDI5LjctMjkuNyAyOS43TDQ1LjcgNTEyYy0xNi40IDAtMjkuNy0xMy4zLTI5LjctMjkuNyAwLTcyIDQyLjctMTM0IDEwNC4xLTE2Mi4xIDcuNC0zLjQgMTYuMS0yLjEgMjIuNiAyLjh6Il19LFUkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGFudC13aWx0IixpY29uOls1MTIsNTEyLFtdLCJlNWFhIiwiTTM0NC0zMmM2Ni4zIDAgMTIwIDUzLjcgMTIwIDEyMGwwIDYuMmMyOS4zIDEyLjIgNDggNDEuMyA0OCA3Ni45IDAgMjcuOS0yNS4zIDc0LjgtNjYgMTExLjctMy44IDMuNS04LjggNS4zLTE0IDUuM3MtMTAuMi0xLjgtMTQtNS4zYy00MC43LTM2LjgtNjYtODMuNy02Ni0xMTEuNyAwLTM1LjYgMTguNy02NC43IDQ4LTc2LjlsMC02LjJjMC0zMC45LTI1LjEtNTYtNTYtNTZzLTU2IDI1LjEtNTYgNTZsMCA0MjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yOTZjMC0zMC45LTI1LjEtNTYtNTYtNTZzLTU2IDI1LjEtNTYgNTZsMCAzOC4yYzI5LjMgMTIuMiA0OCA0MS4zIDQ4IDc2LjkgMCAyNy45LTI1LjMgNzQuOC02NiAxMTEuNy0zLjggMy41LTguOCA1LjMtMTQgNS4zcy0xMC4yLTEuOC0xNC01LjNDMjUuMyA0MDUuOSAwIDM1OSAwIDMzMS4xIDAgMjk1LjQgMTguNyAyNjYuNCA0OCAyNTQuMkw0OCAyMTZjMC02Ni4zIDUzLjctMTIwIDEyMC0xMjAgMjAuMiAwIDM5LjMgNSA1NiAxMy44TDIyNCA4OGMwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMHoiXX0sUmZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndlaWdodC1zY2FsZSIsaWNvbjpbNDQ4LDUxMixbIndlaWdodCJdLCJmNDk2IiwiTTExNi42IDE5MmMtMy0xMC4xLTQuNi0yMC45LTQuNi0zMiAwLTYxLjkgNTAuMS0xMTIgMTEyLTExMlMzMzYgOTguMSAzMzYgMTYwYzAgMTEuMS0xLjYgMjEuOS00LjYgMzJsLTcxIDAgMjQuNi00NC4zYzYuNC0xMS42IDIuMy0yNi4yLTkuMy0zMi42cy0yNi4yLTIuMy0zMi42IDkuM2wtMzcuNiA2Ny43LTg4LjggMHpNMTI4IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDBDMjkzLjMgMTEuOSAyNjAgMCAyMjQgMHMtNjkuMyAxMS45LTk2IDMyeiJdfSxXJHQ9UmZlLE10ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJldC1yaWdodCIsaWNvbjpbMjU2LDUxMixbXSwiZjBkYSIsIk0yNDkuMyAyMzUuOGMxMC4yIDEyLjYgOS41IDMxLjEtMi4yIDQyLjhsLTEyOCAxMjhjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45UzY0LjUgMzk2LjkgNjQuNSAzODRsMC0yNTZjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnMyNS43LTIuMiAzNC45IDYuOWwxMjggMTI4IDIuMiAyLjR6Il19LEckdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmbG9yaW4tc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTE4NCIsIk0zMTQuNyAzMmMtMzguOCAwLTczLjcgMjMuMy04OC42IDU5LjFMMTcwLjcgMjI0IDY0IDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw4MCAwLTQ1LjEgMTA4LjNjLTUgMTEuOS0xNi42IDE5LjctMjkuNSAxOS43TDMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzNy4zIDBjMzguOCAwIDczLjctMjMuMyA4OC42LTU5LjFMMjEzLjMgMjg4IDMyMCAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTgwIDAgNDUuMS0xMDguM2M1LTExLjkgMTYuNi0xOS43IDI5LjUtMTkuN0wzNTIgOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTM3LjMgMHoiXX0sa3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlbGwiLGljb246WzQ0OCw1MTIsWzEyODI3Niw2MTYwMl0sImYwZjMiLCJNMjI0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMy4yQzExOSA1MCA2NCAxMTQuNiA2NCAxOTJsMCAyMS43YzAgNDguMS0xNi40IDk0LjgtNDYuNCAxMzIuNEw3LjggMzU4LjNDMi43IDM2NC42IDAgMzcyLjQgMCAzODAuNSAwIDQwMC4xIDE1LjkgNDE2IDM1LjUgNDE2bDM3Ni45IDBjMTkuNiAwIDM1LjUtMTUuOSAzNS41LTM1LjUgMC04LjEtMi43LTE1LjktNy44LTIyLjJsLTkuOC0xMi4yQzQwMC40IDMwOC41IDM4NCAyNjEuOCAzODQgMjEzLjdsMC0yMS43YzAtNzcuNC01NS0xNDItMTI4LTE1Ni44bDAtMy4yYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0xNjIgNDY0YzcuMSAyNy42IDMyLjIgNDggNjIgNDhzNTQuOS0yMC40IDYyLTQ4bC0xMjQgMHoiXX0sWSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imxhcmktc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTFjOCIsIk0xNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQxLjVjNy45LTEgMTUuOS0xLjUgMjQtMS41czE2LjEgLjUgMjQgMS41TDIxNiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNTRjNTguOSAyMy44IDEwMy4yIDc2IDExNi4yIDEzOS43IDMuNSAxNy4zLTcuNyAzNC4yLTI1IDM3LjdzLTM0LjItNy43LTM3LjctMjVjLTYuNy0zMy4yLTI2LjQtNjEuOC01My40LTgwLjJsMCA4MS44YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTAxLjhjLTcuOC0xLjUtMTUuOC0yLjItMjQtMi4ycy0xNi4yIC44LTI0IDIuMkwxNjggMjMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtODEuOGMtMzMuOCAyMy01NiA2MS45LTU2IDEwNS44IDAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4bDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNi45IDBDMTguNSAzNTAgMCAzMDUuMiAwIDI1NiAwIDE3NS40IDQ5LjYgMTA2LjQgMTIwIDc4bDAtNTRjMC0xMy4zIDEwLjctMjQgMjQtMjR6Il19LEskdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtaWxsLXNpZ24iLGljb246WzM4NCw1MTIsW10sImUxZWQiLCJNMjk3LTIyLjJjMTIuMyA1IDE4LjIgMTkgMTMuMiAzMS4zbC0yOSA3MS4zQzMzOC44IDg1LjEgMzg0IDEzMy4zIDM4NCAxOTJsMCAyMDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMDhjMC0yNi41LTIxLjUtNDgtNDgtNDgtNi40IDAtMTIuNSAxLjItMTggMy41bC0zMCA3My44IDAgMTc4LjdjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMS4yLTU3LjggMTQyLjJjLTUgMTIuMy0xOSAxOC4yLTMxLjMgMTMuMnMtMTguMi0xOS0xMy4yLTMxLjNMMTYwIDI1MS4zIDE2MCAxOTJjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCAyMDhjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0MTcuNyAwIDQwMEwwIDExMmMwLTE3LjcgMTQuMy0zMiAzMi0zMiAxMC45IDAgMjAuNSA1LjQgMjYuMyAxMy43IDE2LTguNyAzNC4zLTEzLjcgNTMuNy0xMy43IDMxLjMgMCA1OS43IDEyLjkgODAgMzMuNiA5LjYtOS44IDIwLjktMTcuOCAzMy41LTIzLjVMMjY1LjgtOWM1LTEyLjMgMTktMTguMiAzMS4zLTEzLjJ6Il19LE9mZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tc25vd2JvYXJkaW5nIixpY29uOls1NzYsNTEyLFsxMjc5MzgsInNub3dib2FyZGluZyJdLCJmN2NlIiwiTTQyNC41IDE2YTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0xNjYuNCA0NS41YzEwLjItMTQuNCAzMC4yLTE3LjkgNDQuNi03LjdsMjcyIDE5MmMxNC40IDEwLjIgMTcuOSAzMC4yIDcuNyA0NC42cy0zMC4yIDE3LjktNDQuNiA3LjdsLTkyLjItNjUuMS02Mi4yIDUzLjMgMzIuMSAyNi43YzE4LjIgMTUuMiAyOC44IDM3LjcgMjguOCA2MS41bDAgODcuOCA3Ny41IDE1LjJjNi4yIDEuMiAxMi42IC45IDE4LjctLjhsNDEuMi0xMS44YzEyLjctMy42IDI2IDMuNyAyOS43IDE2LjVzLTMuNyAyNi0xNi41IDI5LjdsLTQxLjIgMTEuOGMtMTMuNCAzLjgtMjcuNCA0LjQtNDEuMSAxLjhMODcuMSA0NDMuM2MtMTcuMi0zLjQtMzMtMTEuOC00NS4zLTI0LjFMMTUuNSAzOTNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwyNi4yIDI2LjJjNS42IDUuNiAxMi44IDkuNCAyMC42IDExbDY0LjIgMTIuNiAwLTEyMy43YzAtMjcuNyAxMi01NCAzMi44LTcyLjJsNjktNjAuNC04OC4yLTYyLjNDMTU5LjYgODAgMTU2LjIgNjAgMTY2LjQgNDUuNXptNTguMSAzNzUuN2w2NCAxMi41IDAtNzUuM2MwLTQuNy0yLjEtOS4zLTUuOC0xMi4zbC01OC4yLTQ4LjUgMCAxMjMuNnoiXX0sWiR0PU9mZSxGZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHR5IixpY29uOls1MTIsNTEyLFsidGVsZXR5cGUiXSwiZjFlNCIsIk00NTAuMiAyNjYuOGMxNS44IDYuNSAzNC4xIC4zIDQyLjYtMTQuNmwyLjQtNC4yYzI3LjktNDguOSAyMy42LTExOC44LTMxLjMtMTU0LjUtMTI2LTgyLTI4OS42LTgyLTQxNS42IDAtNTQuOSAzNS43LTU5LjMgMTA1LjctMzEuMyAxNTQuNWwyLjQgNC4yYzguNSAxNC45IDI2LjcgMjEuMSA0Mi42IDE0LjZsODEuOS0zMy43YzEzLjktNS43IDIyLjQtMTkuOSAyMC45LTM0LjlsLTUuMS01MWM2Mi41LTIxIDEzMC44LTE5LjkgMTkyLjYgMy4zbC00LjggNDcuN2MtMS41IDE1IDcgMjkuMiAyMC45IDM0LjlsODEuOSAzMy43ek0zMiAzNTJhMzIgMzIgMCAxIDAgNjQgMCAzMiAzMiAwIDEgMCAtNjQgMHptOTYgMGEzMiAzMiAwIDEgMCA2NCAwIDMyIDMyIDAgMSAwIC02NCAwek02NCA0MTZhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em0zNTIgMzJhMzIgMzIgMCAxIDAgNjQgMCAzMiAzMiAwIDEgMCAtNjQgMHpNMjU2IDMyMGEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6bTY0IDMyYTMyIDMyIDAgMSAwIDY0IDAgMzIgMzIgMCAxIDAgLTY0IDB6bTEyOC0zMmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6TTEyOCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnoiXX0sWCR0PUZmZSxRJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlcnMtcmVjdGFuZ2xlIixpY29uOls1NzYsNTEyLFtdLCJlNTk0IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTIyNCA3MmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnptMCAxNTJjNTMgMCA5NiA0MyA5NiA5NmwwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0yNGMwLTUzIDQzLTk2IDk2LTk2em05Ni02NGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek0xNjggMjcyLjNjLTE1LjIgMjIuOC0yNCA1MC4yLTI0IDc5LjdsMCAyNGMwIDguNCAxLjQgMTYuNSA0LjEgMjRsLTQ2LjggMEM4OS42IDQwMCA4MCAzOTAuNCA4MCAzNzguN0w4MCAzNjhjMC01MC4zIDM4LjctOTEuNiA4OC05NS43ek00MjcuOSA0MDBjMi43LTcuNSA0LjEtMTUuNiA0LjEtMjRsMC0yNGMwLTI5LjUtOC44LTU2LjktMjQtNzkuNyA0OS4zIDQuMSA4OCA0NS4zIDg4IDk1LjdsMCAxMC43YzAgMTEuOC05LjYgMjEuMy0yMS4zIDIxLjNsLTQ2LjggMHpNOTYgMTkyYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6Il19LExlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb2JpbGUiLGljb246WzM4NCw1MTIsWzEyODI0MSwibW9iaWxlLWFuZHJvaWQiLCJtb2JpbGUtcGhvbmUiXSwiZjNjZSIsIk04MCAwQzQ0LjcgMCAxNiAyOC43IDE2IDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDgwIDB6bTcyIDQxNmw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxKJHQ9TGVlLGVEdD1MZWUsdER0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy10dXJuLXRvLWRvdHMiLGljb246WzQ0OCw1MTIsW10sImU0YzEiLCJNMjY1LjQtNi42YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNMMjg1LjMgNjQgMzUyIDY0YzUzIDAgOTYgNDMgOTYgOTZsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC02Ni43IDAgMjUuNCAyNS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC04MC04MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsODAtODB6bS04Mi43IDI3Mmw4MCA4MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDE2Mi43IDQwMCA5NiA0MDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0ODEuNyAwIDQ2NGwwLTMyYzAtNTMgNDMtOTYgOTYtOTZsNjYuNyAwLTI1LjQtMjUuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMHpNMzIwIDM2OGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTY0IDE2MGE2NCA2NCAwIDEgMSAwLTEyOCA2NCA2NCAwIDEgMSAwIDEyOHoiXX0sYUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV4Y2xhbWF0aW9uIixpY29uOlsxMjgsNTEyLFsxMDA2OSwxMDA3MSw2MTczOF0sIjIxIiwiTTY0IDQzMmMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MC00MC0xNy45LTQwLTQwYzAtMjIuMSAxNy45LTQwIDQwLTQwek02NCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgLjYgMCAxLjEgMCAxLjdsLTE2IDMwNGMtLjkgMTctMTUgMzAuMy0zMiAzMC4zUzMzIDM3MC43IDMyIDM1My43TDE2IDQ5LjdjMC0uNiAwLTEuMSAwLTEuNyAwLTI2LjUgMjEuNS00OCA0OC00OHoiXX0sckR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNodXJjaCIsaWNvbjpbNTEyLDUxMixbOTk2Ml0sImY1MWQiLCJNMjgwLThjMC0xMy4zLTEwLjctMjQtMjQtMjRTMjMyLTIxLjMgMjMyLThsMCAyNC0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCA0OC05OC42IDY1LjhDMTIwIDE4Ni43IDExMiAyMDEuNiAxMTIgMjE3LjdsMCAzOC4zLTc5LjggNDUuNkMxMi4zIDMxMyAwIDMzNC4yIDAgMzU3LjFMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjQgNzQuNyAwIDg1LjQgMCAzMjAgMGw2NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtOTAuOWMwLTIzLTEyLjMtNDQuMi0zMi4yLTU1LjZMNDAwIDI1NiA0MDAgMjE3LjdjMC0xNi04LTMxLTIxLjQtMzkuOWwtOTguNi02NS44IDAtNDggMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzIgMCAwLTI0ek0yNTYgMzIwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgODAtMTI4IDAgMC04MGMwLTM1LjMgMjguNy02NCA2NC02NHoiXX0sc0R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvZ2dsZS1vZmYiLGljb246WzU3Niw1MTIsW10sImYyMDQiLCJNMzg0IDEyOGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOFM0NTQuNyAzODQgMzg0IDM4NGwtMTkyIDBjLTcwLjcgMC0xMjgtNTcuMy0xMjgtMTI4czU3LjMtMTI4IDEyOC0xMjhsMTkyIDB6TTU3NiAyNTZjMC0xMDYtODYtMTkyLTE5Mi0xOTJMMTkyIDY0Qzg2IDY0IDAgMTUwIDAgMjU2Uzg2IDQ0OCAxOTIgNDQ4bDE5MiAwYzEwNiAwIDE5Mi04NiAxOTItMTkyek0xOTIgMzM2YTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYweiJdfSxpRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hvZS1wcmludHMiLGljb246WzU3Niw1MTIsW10sImY1NGIiLCJNMjk2IDE5MmMtMjEuMS0xMi4xLTQyLjMtMjQuMi03Mi0yOS4zbDAtMTQwLjNDMjU3LjcgMTMgMzExLjQgMCAzNTIgMCA0NDggMCA1NzYgNDggNTc2IDEyOHMtMTE5LjYgOTYtMTc2IDk2Yy00OCAwLTc2LTE2LTEwNC0zMnpNMTI4IDMybDQ4IDAgMCAxMjgtNDggMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NHpNMjMyIDMyMGMyOC0xNiA1Ni0zMiAxMDQtMzIgNTYuNCAwIDE3NiAxNiAxNzYgOTZTMzg0IDUxMiAyODggNTEyYy00MC41IDAtOTQuMy0xMy0xMjgtMjIuNGwwLTE0MC4zYzI5LjctNS4yIDUwLjktMTcuMyA3Mi0yOS40ek02NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRsNDggMCAwIDEyOC00OCAweiJdfSxvRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzU3Niw1MTIsW10sImU0ZWIiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sU3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhbGxldCIsaWNvbjpbNTEyLDUxMixbXSwiZjU1NSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDcyIDEyOGMtMTMuMyAwLTI0LTEwLjctMjQtMjRTNTguNyA4MCA3MiA4MGwzODQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw2NCAzMnpNNDE2IDI1NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LGV2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1lc3NhZ2UiLGljb246WzUxMiw1MTIsWyJjb21tZW50LWFsdCJdLCJmMjdhIiwiTTAgMzUyTDAgMTI4QzAgNzUgNDMgMzIgOTYgMzJsMzIwIDBjNTMgMCA5NiA0MyA5NiA5NmwwIDIyNGMwIDUzLTQzIDk2LTk2IDk2bC0xMjAgMGMtNS4yIDAtMTAuMiAxLjctMTQuNCA0LjhMMTY2LjQgNTM5LjJjLTQuMiAzLjEtOS4yIDQuOC0xNC40IDQuOC0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTcyLTMyIDBjLTUzIDAtOTYtNDMtOTYtOTZ6Il19LG5EdD1ldixsRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJvcGh5IixpY29uOls1MTIsNTEyLFsxMjc5NDJdLCJmMDkxIiwiTTE0NC4zIDBsMjI0IDBjMjYuNSAwIDQ4LjEgMjEuOCA0Ny4xIDQ4LjItLjIgNS4zLS40IDEwLjYtLjcgMTUuOGw0OS42IDBjMjYuMSAwIDQ5LjEgMjEuNiA0Ny4xIDQ5LjgtNy41IDEwMy43LTYwLjUgMTYwLjctMTE4IDE5MC41LTE1LjggOC4yLTMxLjkgMTQuMy00Ny4yIDE4LjgtMjAuMiAyOC42LTQxLjIgNDMuNy01Ny45IDUxLjhsMCA3My4xIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDAgMC03My4xYy0xNi03LjctMzUuOS0yMi01NS4zLTQ4LjMtMTguNC00LjgtMzguNC0xMi4xLTU3LjktMjMuMS01NC4xLTMwLjMtMTAyLjktODcuNC0xMDkuOS0xODkuOS0xLjktMjguMSAyMS00OS43IDQ3LjEtNDkuN2w0OS42IDBjLS4zLTUuMi0uNS0xMC40LS43LTE1LjgtMS0yNi41IDIwLjYtNDguMiA0Ny4xLTQ4LjJ6TTEwMS41IDExMmwtNTIuNCAwYzYuMiA4NC43IDQ1LjEgMTI3LjEgODUuMiAxNDkuNi0xNC40LTM3LjMtMjYuMy04Ni0zMi44LTE0OS42ek0zODAgMjU2LjhjNDAuNS0yMy44IDc3LjEtNjYuMSA4My4zLTE0NC44TDQxMSAxMTJjLTYuMiA2MC45LTE3LjQgMTA4LjItMzEgMTQ0Ljh6Il19LEJmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWRpenp5IixpY29uOls1MTIsNTEyLFsiZGl6enkiXSwiZjU2NyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTM0LjEgMTUzLjlsMjUuOSAyNS45IDI1LjktMjUuOWM3LjgtNy44IDIwLjUtNy44IDI4LjMgMHM3LjggMjAuNSAwIDI4LjNsLTI1LjkgMjUuOSAyNS45IDI1LjljNy44IDcuOCA3LjggMjAuNSAwIDI4LjNzLTIwLjUgNy44LTI4LjMgMGwtMjUuOS0yNS45LTI1LjkgMjUuOWMtNy44IDcuOC0yMC41IDcuOC0yOC4zIDBzLTcuOC0yMC41IDAtMjguM2wyNS45LTI1LjktMjUuOS0yNS45Yy03LjgtNy44LTcuOC0yMC41IDAtMjguM3MyMC41LTcuOCAyOC4zIDB6bTE5MiAwbDI1LjkgMjUuOSAyNS45LTI1LjljNy44LTcuOCAyMC41LTcuOCAyOC4zIDBzNy44IDIwLjUgMCAyOC4zbC0yNS45IDI1LjkgMjUuOSAyNS45YzcuOCA3LjggNy44IDIwLjUgMCAyOC4zcy0yMC41IDcuOC0yOC4zIDBsLTI1LjktMjUuOS0yNS45IDI1LjljLTcuOCA3LjgtMjAuNSA3LjgtMjguMyAwcy03LjgtMjAuNSAwLTI4LjNsMjUuOS0yNS45LTI1LjktMjUuOWMtNy44LTcuOC03LjgtMjAuNSAwLTI4LjNzMjAuNS03LjggMjguMyAwek0yNTYgMzA0YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4eiJdfSxjRHQ9QmZlLGREdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWN0ZXJpYSIsaWNvbjpbNjQwLDUxMixbXSwiZTA1OSIsIk0yNTYtMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMWM4LjYgMi4yIDE2LjkgNS42IDI0LjggMTAuM0wzMTEgN2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTYuMyA2LjNjNC42IDcuOCA4IDE2LjIgMTAuMyAyNC44bDExIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTExIDBjLTIuMiA4LjYtNS42IDE2LjktMTAuMyAyNC44TDM0NSAxNTFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNC4xLTQuMS0zMC4xIDMwLjEgNC4xIDQuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00LjEtNC4xYy0xMCAxMC0yMCAyMC0zMC4xIDMwLjFMMjE3IDI3OWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC02LjMtNi4zYy03LjggNC42LTE2LjIgOC0yNC44IDEwLjNsMCAxMWMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTExYy04LjYtMi4yLTE2LjktNS42LTI0LjgtMTAuM0w3MyAzMTNjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNi4zLTYuM2MtNC42LTcuOC04LTE2LjItMTAuMy0yNC44bC0xMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDExIDBjMi4yLTguNiA1LjYtMTYuOSAxMC4zLTI0LjhMMzkgMTY5Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNC4xIDQuMWMxMC0xMCAyMC0yMCAzMC4xLTMwLjFMMTAzIDEwNWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQuMSA0LjEgMzAuMS0zMC4xLTQuMS00LjFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45UzE5MS42LTIuMyAyMDEgN2w2LjMgNi4zYzcuOC00LjYgMTYuMi04IDI0LjgtMTAuM2wwLTExYzAtMTMuMyAxMC43LTI0IDI0LTI0ek0xMjggMjU2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMjQwIDE0NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0yOTYgNDBsMCAxMWM4LjYgMi4yIDE2LjkgNS42IDI0LjggMTAuM0w1NjcgMTk5YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNi4zIDYuM2M0LjYgNy44IDggMTYuMiAxMC4zIDI0LjhsMTEgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTEgMGMtMi4yIDguNi01LjYgMTYuOS0xMC4zIDI0LjhMNjAxIDM0M2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00LjEtNC4xLTMwLjEgMzAuMSA0LjEgNC4xYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQuMS00LjFjLTEwIDEwLTIwIDIwLTMwLjEgMzAuMUw0NzMgNDcxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTYuMy02LjNjLTcuOCA0LjYtMTYuMiA4LTI0LjggMTAuM2wwIDExYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTFjLTguNi0yLjItMTYuOS01LjYtMjQuOC0xMC4zTDMyOSA1MDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNi4zLTYuM2MtNC42LTcuOC04LTE2LjItMTAuMy0yNC44bC0xMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDExIDBjMi4yLTguNiA1LjYtMTYuOSAxMC4zLTI0LjhMMjk1IDM2MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQuMSA0LjFjMTAtMTAgMjAtMjAgMzAuMS0zMC4xTDM1OSAyOTdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0LjEgNC4xIDMwLjEtMzAuMS00LjEtNC4xYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNi4zIDYuM2M3LjgtNC42IDE2LjItOCAyNC44LTEwLjNsMC0xMWMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0ek00NDggMzg0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LE5iPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVhci1kZWFmIixpY29uOls1MTIsNTEyLFsiZGVhZiIsImRlYWZuZXNzIiwiaGFyZC1vZi1oZWFyaW5nIl0sImYyYTQiLCJNNTAyLjYgNTQuNmwtNDAgNDBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDQwLTQwYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6bS0zMjAgMzIwbC0xMjggMTI4Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2wxMjgtMTI4YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6TTI0MCAxMjhjLTU3LjYgMC0xMDUuMSA0My42LTExMS4zIDk5LjUtMS45IDE3LjYtMTcuOCAzMC4yLTM1LjMgMjguM3MtMzAuMi0xNy44LTI4LjMtMzUuM2M5LjctODggODQuMy0xNTYuNSAxNzQuOS0xNTYuNSA5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NiAwIDQ2LTE3LjcgODcuOS00Ni42IDExOS4zLTEyIDEzLTE3LjQgMjQuOC0xNy40IDM0LjdsMCA2LjFjMCA2MS45LTUwLjEgMTEyLTExMiAxMTItMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTYuMWMwLTMyLjkgMTcuNC01OS42IDM0LjQtNzggMTguNC0yMCAyOS42LTQ2LjYgMjkuNi03NS45IDAtNjEuOS01MC4xLTExMi0xMTItMTEyem0wIDgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSx1RHQ9TmIscER0PU5iLGZEdD1OYixIZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVvcGxlLWFycm93cyIsaWNvbjpbNTEyLDUxMixbInBlb3BsZS1hcnJvd3MtbGVmdC1yaWdodCJdLCJlMDY4IiwiTTMyIDY0QTY0IDY0IDAgMSAxIDE2MCA2NCA2NCA2NCAwIDEgMSAzMiA2NHpNMCAyMjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMGMzLjIgMCA2LjQgLjIgOS41IC43TDkzLjEgMjA1LjFDNjUgMjMzLjIgNjUgMjc4LjggOTMuMSAzMDYuOWw1NiA1NmMzLjQgMy40IDcgNi40IDEwLjkgOWwwIDkyLjFjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTIwLjZDMTIuOSAzMzIuNCAwIDMxMS43IDAgMjg4bDAtNjR6TTM1MiA2NGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6bTY2LjkgMTQxLjFsLTQ0LjQtNDQuNGMzLjEtLjUgNi4zLS43IDkuNS0uN2w2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjRjMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40TDQ4MCA0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTIuMWMzLjktMi42IDcuNS01LjYgMTAuOS05bDU2LTU2YzI4LjEtMjguMSAyOC4xLTczLjcgMC0xMDEuOHpNMzAyLjggMTc3LjhjOS0zLjcgMTkuMy0xLjcgMjYuMiA1LjJsNTYgNTZjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTU2IDU2Yy02LjkgNi45LTE3LjIgOC45LTI2LjIgNS4yUzI4OCAzMjEuNyAyODggMzEybDAtMjQtNjQgMCAwIDI0YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTU2LTU2Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw1Ni01NmM2LjktNi45IDE3LjItOC45IDI2LjItNS4yUzIyNCAxOTAuMyAyMjQgMjAwbDAgMjQgNjQgMCAwLTI0YzAtOS43IDUuOC0xOC41IDE0LjgtMjIuMnoiXX0saER0PUhmZSxtRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtY2xhcHBpbmciLGljb246WzUxMiw1MTIsW10sImUxYTgiLCJNMzQ0IDhsMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTY0YzAtMTMuMyAxMC43LTI0IDI0LTI0UzM0NC01LjMgMzQ0IDh6TTIyMCAxMC43bDMyIDQ4YzcuNCAxMSA0LjQgMjUuOS02LjcgMzMuM3MtMjUuOSA0LjQtMzMuMy02LjdsLTMyLTQ4Yy03LjQtMTEtNC40LTI1LjkgNi43LTMzLjNTMjEyLjYtLjMgMjIwIDEwLjd6TTEzNSAxMTljOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMjkyLjcgMjQyLjdjMTAuMSAxMC4xIDI3LjMgMi45IDI3LjMtMTEuM2wwLTM5LjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE1My42YzAgNTcuMS0zMCAxMTAtNzguOSAxMzkuNC02NCAzOC40LTE0NS44IDI4LjMtMTk4LjUtMjQuNEw3IDM2MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDUzIDUzYzYuMSA2LjEgMTYgNi4xIDIyLjEgMHM2LjEtMTYgMC0yMi4xTDIzIDI2NWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDkzIDkzYzYuMSA2LjEgMTYgNi4xIDIyLjEgMHM2LjEtMTYgMC0yMi4xTDU1IDE4NWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDExNyAxMTdjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFsLTkzLTkzYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXpNNDMzLjEgNDg0LjljLTI0LjIgMTQuNS01MC45IDIyLjEtNzcuNyAyMy4xIDQ4LjEtMzkuNiA3Ni42LTk5IDc2LjYtMTYyLjRsMC05OC4xYzguMi0uMSAxNi02LjQgMTYtMTZsMC0zOS40YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNTMuNmMwIDU3LjEtMzAgMTEwLTc4LjkgMTM5LjR6TTQ1My4zIDRjMTEgNy40IDE0IDIyLjMgNi43IDMzLjNsLTMyIDQ4Yy03LjQgMTEtMjIuMyAxNC0zMy4zIDYuN3MtMTQtMjIuMy02LjctMzMuM2wzMi00OGM3LjQtMTEgMjIuMy0xNCAzMy4zLTYuN3oiXX0sZ0R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpcnVzLWNvdmlkLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJlNGE5IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTgzLTgzIDExLjQtMTEuNGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC0xMS4zIDExLjMtMjMuOC0yMy44YzE3LjktMjMuNSAyOS45LTUxLjcgMzQuMS04Mi4zbDMzLjYgMCAwIDE2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE2LTMzLjYgMGMtNC4yLTMwLjctMTYuMy01OC44LTM0LjEtODIuM2wyMy44LTIzLjggMTEuMyAxMS4zYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0NDAuNyA0Ni43Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDExLjMgMTEuMy0yMy44IDIzLjhDMzcwLjggOTcuOSAzNDIuNyA4NS44IDMxMiA4MS42bDAtMzMuNiAxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0UzM0MS4zIDAgMzI4IDBMMjQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTYgMCAwIDMzLjZjLTMwLjcgNC4yLTU4LjggMTYuMy04Mi4zIDM0LjFMMTU3LjkgOTIgMTY5LjIgODAuNmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDEyMy45IDU4LjEgNDEtMjQuOXpNMTEzLjYgMjMybC0zMy42IDAgMC0xNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNiAzMy42IDBjNC4yIDMwLjcgMTYuMyA1OC44IDM0LjEgODIuM2wtMjMuOCAyMy44LTExLjMtMTEuM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw1Ni42IDU2LjZjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xMS4zLTExLjMgMjMuOC0yMy44YzIzLjUgMTcuOSA1MS43IDI5LjkgODIuMyAzNC4xbDAgMzMuNi0xNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE2IDAgMC0zMy42YzEzLjQtMS44IDI2LjQtNS4yIDM4LjctOS45TDEyMy41IDE5My4zYy00LjcgMTIuMy04IDI1LjItOS45IDM4Ljd6Il19LHFmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci1kYXlzIixpY29uOls0NDgsNTEyLFsiY2FsZW5kYXItYWx0Il0sImYwNzMiLCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek02NCAyNDBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTI4IDBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTQ0LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTY0IDM2OGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMTEyIDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LGJEdD1xZmUsVmZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpYW1vbmQtdHVybi1yaWdodCIsaWNvbjpbNTEyLDUxMixbImRpcmVjdGlvbnMiXSwiZjVlYiIsIk0yMTUgMTdMMTcgMjE1QzYuMSAyMjUuOSAwIDI0MC42IDAgMjU2czYuMSAzMC4xIDE3IDQxTDIxNSA0OTVjMTAuOSAxMC45IDI1LjYgMTcgNDEgMTdzMzAuMS02LjEgNDEtMTdMNDk1IDI5N2MxMC45LTEwLjkgMTctMjUuNiAxNy00MXMtNi4xLTMwLjEtMTctNDFMMjk3IDE3QzI4Ni4xIDYuMSAyNzEuNCAwIDI1NiAwcy0zMC4xIDYuMS00MSAxN3pNMzg1IDI1N2wtNzIgNzJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtNzguMSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDBjMC0zOS44IDMyLjItNzIgNzItNzJsNzguMSAwLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNzIgNzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjl6Il19LHZEdD1WZmUseER0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtcG9pbnQtdXAiLGljb246WzM4NCw1MTIsWzk3NTddLCJmMGE2IiwiTTMyIDMyQzMyIDE0LjMgNDYuMyAwIDY0IDBTOTYgMTQuMyA5NiAzMmwwIDIwOC02NCAwIDAtMjA4ek0yMjQgMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0em0tNjQtNjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xNjAgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6bS05NiA4OGwwLS42YzkuNCA1LjQgMjAuMyA4LjYgMzIgOC42IDEzLjIgMCAyNS40LTQgMzUuNi0xMC44IDguNyAyNC45IDMyLjUgNDIuOCA2MC40IDQyLjggMTEuNyAwIDIyLjYtMy4xIDMyLTguNmwwIDguNmMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MGwtNjEuNyAwYy00Mi40IDAtODMuMS0xNi45LTExMy4xLTQ2LjlMMzcuNSA0NTMuNUMxMy41IDQyOS41IDAgMzk2LjkgMCAzNjNsMC0yN2MwLTM1LjMgMjguNy02NCA2NC02NGw4OCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwcy0xNy45IDQwLTQwIDQwbC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDU2IDBjMzkuOCAwIDcyLTMyLjIgNzItNzJ6Il19LHlEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiZXppZXItY3VydmUiLGljb246WzY0MCw1MTIsW10sImY1NWIiLCJNMjk2IDEzNmwwLTQ4IDQ4IDAgMCA0OC00OCAwek0yODggMzJjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNC0xMTguNCAwQzExMS4yIDYyLjcgODkuMyA0OCA2NCA0OCAyOC43IDQ4IDAgNzYuNyAwIDExMnMyOC43IDY0IDY0IDY0YzI1LjMgMCA0Ny4yLTE0LjcgNTcuNi0zNmw2Ni45IDBjLTU4LjkgMzkuNi05OC45IDEwNS0xMDQgMTgwTDgwIDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTMuMyAwYzUuOS02NyA0OC41LTEyMy40IDEwNy41LTE0OS4xIDguNiAxMi43IDIzLjIgMjEuMSAzOS44IDIxLjFsNjQgMGMxNi42IDAgMzEuMS04LjQgMzkuOC0yMS4xIDU5IDI1LjcgMTAxLjYgODIuMSAxMDcuNSAxNDkuMWwtMy4zIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjRjMCAyNi41IDIxLjUgNDggNDggNDhsNjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC00LjUgMGMtNS03NS00NS4xLTE0MC40LTEwNC0xODBsNjYuOSAwYzEwLjQgMjEuMyAzMi4zIDM2IDU3LjYgMzYgMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjRjLTI1LjMgMC00Ny4yIDE0LjctNTcuNiAzNmwtMTE4LjQgMCAwLTRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDB6TTg4IDM3Nmw0OCAwIDAgNDgtNDggMCAwLTQ4em00MTYgNDhsMC00OCA0OCAwIDAgNDgtNDggMHoiXX0sd0R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1oYWxmLWRyZXNzIixpY29uOlszODQsNTEyLFtdLCJlNTQ4IiwiTTE0My40LTMuOWM5LjctMTYuOCAyNy44LTI4LjEgNDguNi0yOC4xIDMwLjkgMCA1NiAyNS4xIDU2IDU2IDAgMjUuNC0xNi45IDQ2LjgtNDAgNTMuN2wwIDBjLTUuMSAxLjUtMTAuNCAyLjMtMTYgMi4zLTMwLjkgMC01Ni0yNS4xLTU2LTU2bDAgMGMwLTEwLjEgMi43LTE5LjcgNy40LTI3Ljl6TTMxOC4zIDI5OS4xTDI3MiAyMzYuNyAyNzIgNTEyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYwIDAtLjQgMC0yMzguNmMzNi4yIDQuNCA2OS4yIDIzLjQgOTEuMiA1M2w3MC41IDk1YzEwLjUgMTQuMiA3LjYgMzQuMi02LjYgNDQuOHMtMzQuMiA3LjYtNDQuOC02LjZ6TTE3NiAxMTNsMCAzOTljMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjgtMjUuOCAwYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMWw0My0xMjktNDguMyA2NS4xYy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi42cy0xNy4yLTMwLjYtNi42LTQ0LjhsNzAuNS05NWMyMi0yOS42IDU1LjEtNDguNiA5MS4yLTUzeiJdfSxqZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXBvbGwtaG9yaXpvbnRhbCIsaWNvbjpbNDQ4LDUxMixbInBvbGwtaCJdLCJmNjgyIiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0yNTYgMTUyYzAgMTMuMy0xMC43IDI0LTI0IDI0bC0xMTIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHptNzIgODBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTIwOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDIwOCAwek0xOTIgMzYwYzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjR6Il19LE1EdD1qZmUsa0R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjaG9vbC1jaXJjbGUteG1hcmsiLGljb246WzY0MCw1MTIsW10sImU1NmQiLCJNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNzYgMGMtMTAuNS0xNC42LTE5LTMwLjctMjUuMS00OGwtOTAuOSAwIDAtODhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMxIDAgMS45IDAgMi45IC4xIDI2LjMtNzQuNiA5Ny41LTEyOC4xIDE4MS4xLTEyOC4xIDI4LjYgMCA1NS42IDYuMiA4MCAxNy40bDAtMzMuNGMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMC0xMjcuOS0xMTUuMWMtMTguMy0xNi40LTQ2LTE2LjQtNjQuMiAwTDEyOCAxMjggNjQgMTI4em02NCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMnpNMTEyIDI1NmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2ek0yODggMTI4YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN2wtMzYuNyAzNi43IDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnoiXX0sU0R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtbGl6YXJkIixpY29uOls1MTIsNTEyLFtdLCJmMjU4IiwiTTAgMTEyQzAgODUuNSAyMS41IDY0IDQ4IDY0bDIzOC41IDBjMzYuOCAwIDcxLjIgMTggOTIuMSA0OC4ybDExMy41IDE2NGMxMyAxOC43IDE5LjkgNDEgMTkuOSA2My44bDAgNzZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTMuOC03OC4xLTUwLjItMTYxLjkgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhzMjEuNS00OCA0OC00OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OEw0OCAxNjBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4eiJdfSxVZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhbGtib2FyZCIsaWNvbjpbNTc2LDUxMixbImJsYWNrYm9hcmQiXSwiZjUxYiIsIk05NiA2NGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMOTYgNjR6TTQ4MCAzODRsLTY0IDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMi0xNjAgMCAwLTI1NiAzODQgMCAwIDI1NnoiXX0sekR0PVVmZSxXZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXAtcmlnaHQtZnJvbS1zcXVhcmUiLGljb246WzUxMiw1MTIsWyJleHRlcm5hbC1saW5rLWFsdCJdLCJmMzVkIiwiTTI5MC40IDE5LjhDMjk1LjQgNy44IDMwNy4xIDAgMzIwIDBMNDgwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjBjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlMNDAwIDE1Ny4zIDI0Ni42IDMxMC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wzNTQuNyAxMTIgMjk3LjQgNTQuNmMtOS4yLTkuMi0xMS45LTIyLjktNi45LTM0Ljl6TTAgMTc2YzAtNDQuMiAzNS44LTgwIDgwLTgwbDgwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI1NmMwIDguOCA3LjIgMTYgMTYgMTZsMjU2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDgwYzAgNDQuMi0zNS44IDgwLTgwIDgwTDgwIDUxMmMtNDQuMiAwLTgwLTM1LjgtODAtODBMMCAxNzZ6Il19LENEdD1XZmUsX0R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1mdWxsIixpY29uOls1MTIsNTEyLFsxMjg5OTcsMTI4OTk4LDEyODk5OSwxMjllMywxMjkwMDEsMTI5MDAyLDEyOTAwMywxMTAzNSwxMTAzNl0sImY0NWMiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMNDQ4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0eiJdfSxURHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdmVyIixpY29uOls1MTIsNTEyLFtdLCJlMTM5IiwiTTMxMC40IDE2QzM0Ni42IDE2IDM3NiA0NS40IDM3NiA4MS43bDAgNS4yYzAgMTEuMi0yLjcgMjIuMy03LjggMzIuMmwtMi4zIDQuMi0yMC4xIDMzLjVjLTEuMSAxLjktMS4yIDMuNC0xLjEgNC41IC4yIDEuMyAuOSAyLjcgMi4xIDMuOXMyLjYgMS45IDMuOSAyLjFjMS4xIC4yIDIuNiAuMSA0LjUtMS4xbDMzLjUtMjAuMSA0LjItMi4zYzEwLTUuMSAyMS03LjggMzIuMi03LjhsNS4yIDBjMzYuMiAwIDY1LjYgMjkuNCA2NS42IDY1LjcgMCAxNy40LTYuOSAzNC4xLTE5LjIgNDYuNGwtMS4zIDEuM2MtMy43IDMuNy0zLjcgOS42IDAgMTMuM2wxLjMgMS4zYzEyLjMgMTIuMyAxOS4yIDI5IDE5LjIgNDYuNCAwIDM2LjItMjkuNCA2NS42LTY1LjYgNjUuNmwtNS4yIDBjLTEyLjggMC0yNS41LTMuNS0zNi41LTEwLjFsLTMzLjUtMjAuMWMtMS45LTEuMS0zLjQtMS4yLTQuNS0xLjEtMS4zIC4yLTIuNyAuOS0zLjkgMi4xcy0xLjkgMi42LTIuMSAzLjljLS4yIDEuMS0uMSAyLjYgMS4xIDQuNWwyMC4xIDMzLjVjNi42IDExIDEwLjEgMjMuNiAxMC4xIDM2LjVsMCA1LjJjMCAzNi4yLTI5LjQgNjUuNi02NS42IDY1LjYtMTcuNCAwLTM0LjEtNi45LTQ2LjQtMTkuMmwtMS4zLTEuM2MtMy43LTMuNy05LjYtMy43LTEzLjMgMGwtMS4zIDEuM2MtMTIuMyAxMi4zLTI5IDE5LjItNDYuNCAxOS4yLTM2LjIgMC02NS42LTI5LjQtNjUuNy02NS42bDAtNS4yYzAtMTIuOCAzLjUtMjUuNSAxMC4xLTM2LjVsMjAuMS0zMy41YzEuMS0xLjkgMS4yLTMuNCAxLjEtNC41LS4yLTEuMy0uOS0yLjctMi4xLTMuOXMtMi42LTEuOS0zLjktMi4xYy0uNS0uMS0xLjItLjEtMS45IDBsLTIuNSAxLTMzLjUgMjAuMWMtMTEgNi42LTIzLjYgMTAuMS0zNi41IDEwLjFsLTUuMiAwQzQ1LjQgMzc2IDE2IDM0Ni42IDE2IDMxMC40IDE2IDI5MyAyMi45IDI3Ni4zIDM1LjIgMjY0bDEuMy0xLjMgMS4yLTEuNWMyLjEtMy4xIDIuMS03LjIgMC0xMC4zbC0xLjItMS41LTEuMy0xLjNDMjIuOSAyMzUuOCAxNiAyMTkuMSAxNiAyMDEuNyAxNiAxNjUuNCA0NS40IDEzNiA4MS43IDEzNmw1LjIgMGMxMi44IDAgMjUuNSAzLjUgMzYuNSAxMC4xbDMzLjUgMjAuMSAyLjUgMWMuNyAuMSAxLjQgLjEgMS45IC4xIDEuMy0uMiAyLjctLjkgMy45LTIuMXMxLjktMi42IDIuMS0zLjljLjEtLjUgLjEtMS4yLS4xLTEuOWwtMS0yLjUtMjAuMS0zMy41Yy02LjYtMTEtMTAuMS0yMy42LTEwLjEtMzYuNWwwLTUuMmMwLTM2LjIgMjkuNC02NS43IDY1LjctNjUuNyAxNy40IDAgMzQuMSA2LjkgNDYuNCAxOS4ybDEuMyAxLjNjMy43IDMuNiA5LjYgMy43IDEzLjMgMGwxLjMtMS4zIDQuOC00LjRDMjgwLjUgMjEuMyAyOTUuMSAxNiAzMTAuNCAxNnoiXX0sTER0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlZXRoLW9wZW4iLGljb246WzUxMiw1MTIsW10sImY2MmYiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NmwwIDgwYzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtODBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTAgMjcyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzA0em04MC0xNjBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTI0em0xMjggMGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMjR6TTgwIDExMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTI0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0zMjAgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTI0ek00OCAzODRsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMnptMTQ0IDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNmw2NCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4em0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDI2LjUtMjEuNSA0OC00OCA0OHptMTEyLTE2Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMyeiJdfSwkZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFycy1zdGFnZ2VyZWQiLGljb246WzUxMiw1MTIsWyJyZW9yZGVyIiwic3RyZWFtIl0sImY1NTAiLCJNMCA5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NGwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAxMjhDMTQuMyAxMjggMCAxMTMuNyAwIDk2ek02NCAyNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMOTYgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6Il19LCREdD0kZWUsRER0PSRlZSxBRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2FyZWhvdXNlIixpY29uOls1NzYsNTEyLFtdLCJmNDk0IiwiTTAgMTQyLjFMMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI0MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI0MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzM3LjljMC0yNy41LTE3LjYtNTItNDMuOC02MC43TDMwMy4yIDUuMWMtOS45LTMuMy0yMC41LTMuMy0zMC40IDBMNDMuOCA4MS40QzE3LjYgOTAuMSAwIDExNC42IDAgMTQyLjF6TTQ2NCAyNTZsLTM1MiAwIDAgNjQgMzUyIDAgMC02NHpNMTEyIDQxNmwzNTIgMCAwLTY0LTM1MiAwIDAgNjR6bTM1MiAzMmwtMzUyIDAgMCA2NCAzNTIgMCAwLTY0eiJdfSxQRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3dhdGNoYm9vayIsaWNvbjpbNTEyLDUxMixbXSwiZjVjMyIsIk0wIDQ4QzAgMjEuNSAyMS41IDAgNDggMGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzY4YzAgNTMtNDMgOTYtOTYgOTZTMCA0NjkgMCA0MTZMMCA0OHpNMjQwIDQwOS42bDAtMjcxLjUgNDguMS00OC4xYzE4LjctMTguNyA0OS4xLTE4LjcgNjcuOSAwbDY3LjkgNjcuOWMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOUwyNDAgNDA5LjZ6TTIwNS41IDUxMmwxOTItMTkyIDY2LjYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yNTguNSAwek04MCA2NGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2TDgwIDY0ek02NCAyMDhsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNOTYgNDQwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sRUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbXBncm91bmQiLGljb246WzUxMiw1MTIsWzk5NzhdLCJmNmJiIiwiTTM0NC44IDUyLjNjMTEuMi0xMy43IDkuMi0zMy44LTQuNS00NXMtMzMuOC05LjItNDUgNC41bC0zOS4yIDQ4LTM5LjItNDhDMjA1LjYtMS45IDE4NS40LTQgMTcxLjcgNy4ycy0xNS43IDMxLjQtNC41IDQ1bDQ3LjQgNTgtMjAyIDI0Ni45QzQuNSAzNjcuMSAwIDM3OS42IDAgMzkyLjZMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsNDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zOS40YzAtMTIuOS00LjUtMjUuNS0xMi43LTM1LjVsLTIwMi0yNDYuOSA0Ny40LTU4ek0yNTYgMjg4bDExMiAxMjgtMjI0IDAgMTEyLTEyOHoiXX0sSUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi13YWxraW5nLWFycm93LXJpZ2h0IixpY29uOls1NzYsNTEyLFtdLCJlNTUyIiwiTTEwNC41IDI0YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptLTggMTgxLjNMNzMuOSAyMjcuOWMtNiA2LTkuNCAxNC4xLTkuNCAyMi42bDAgMzcuNWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTM3LjVjMC0yNS41IDEwLjEtNDkuOSAyOC4xLTY3LjlsMzUuMS0zNS4xYzIyLjgtMjIuOCA1My42LTM1LjYgODUuOC0zNS42IDM2LjkgMCA3MS44IDE2LjggOTQuOCA0NS42TDI2Mi4zIDE4MGM2LjEgNy42IDE1LjMgMTIgMjUgMTJsMzMuMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMy4yIDBjLTI5LjIgMC01Ni43LTEzLjMtNzUtMzZsLTMuOC00LjcgMCAxMTUuMiAzNC41IDI5LjZjMTcuNyAxNS4yIDI5LjMgMzYuMiAzMi42IDU5LjNsMTIuNiA4OC4xYzIuNSAxNy41LTkuNyAzMy43LTI3LjIgMzYuMnMtMzMuNy05LjctMzYuMi0yNy4ybC0xMi42LTg4LjFjLTEuMS03LjctNS0xNC43LTEwLjktMTkuOEwxMzAgMzQ3LjVjLTIxLjMtMTguMi0zMy41LTQ0LjktMzMuNS03Mi45bDAtNjkuM3pNOTYuNiAzNzFjMi40IDIuMyA0LjggNC42IDcuNCA2LjhsNDYgMzkuNC0yLjIgNy42Yy00LjUgMTUuNy0xMi45IDMwLTI0LjQgNDEuNUw1NS4xIDUzNC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w2OC4zLTY4LjNjMy44LTMuOCA2LjYtOC42IDguMS0xMy44TDk2LjYgMzcxek01MDUuNSAzNDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtMTAyLjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMDIuMSAwLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNzIgNzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTcyIDcyeiJdfSxORHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2xhc3NlcyIsaWNvbjpbNTc2LDUxMixbXSwiZjUzMCIsIk0xNDMuMyA5NmMtMTQgMC0yNi41IDkuMi0zMC42IDIyLjZMNzAuNCAyNTYgMjI0IDI1NmMxNy43IDAgMzIgMTQuMyAzMiAzMmw2NCAwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDE1My42IDAtNDIuMy0xMzcuNEM0NTkuMiAxMDUuMiA0NDYuOCA5NiA0MzIuNyA5Nkw0MDAgOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIuNyAwYzQyLjEgMCA3OS40IDI3LjUgOTEuOCA2Ny44bDQ1LjQgMTQ3LjVjNC4xIDEzLjIgNi4xIDI2LjkgNi4xIDQwLjdsMCA5NmMwIDUzLTQzIDk2LTk2IDk2bC02NCAwYy01MyAwLTk2LTQzLTk2LTk2bDAtMzItNjQgMCAwIDMyYzAgNTMtNDMgOTYtOTYgOTZsLTY0IDBjLTUzIDAtOTYtNDMtOTYtOTZsMC05NmMwLTEzLjggMi4xLTI3LjUgNi4xLTQwLjdMNTEuNSA5OS44QzYzLjkgNTkuNSAxMDEuMSAzMiAxNDMuMyAzMkwxNzYgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyLjcgMHpNNjQgMzIwbDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0LTEyOCAwem00MTYgOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NC0xMjggMCAwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDB6Il19LEdmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtcGF1c2UiLGljb246WzUxMiw1MTIsWzYyMDkyLCJwYXVzZS1jaXJjbGUiXSwiZjI4YiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjI0IDE5MmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyem0xMjggMGwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyeiJdfSxSRHQ9R2ZlLE9EdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtZW1vcnkiLGljb246WzUxMiw1MTIsW10sImY1MzgiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhsMCA3LjRDMCAxNDIuMiA0LjQgMTQ4IDEwLjEgMTUxLjcgMjMuMyAxNjAuMyAzMiAxNzUuMSAzMiAxOTJzLTguNyAzMS43LTIxLjkgNDAuM0M0LjQgMjM2IDAgMjQxLjggMCAyNDguNmwwIDU1LjQgNTEyIDAgMC01NS40YzAtNi44LTQuNC0xMi42LTEwLjEtMTYuMy0xMy4yLTguNi0yMS45LTIzLjQtMjEuOS00MC4zczguNy0zMS43IDIxLjktNDAuM2M1LjctMy43IDEwLjEtOS41IDEwLjEtMTYuM2wwLTcuNGMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHpNNTEyIDQxNmwwLTY0LTUxMiAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMCAwLTI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAyNCA4OCAwIDAtMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDI0IDg4IDAgMC0yNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMjQgNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnpNMTYwIDE2MGwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTI4IDBsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6bTEyOCAwbDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyeiJdfSxGRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2lmdCIsaWNvbjpbNTEyLDUxMixbMTI3ODczXSwiZjA2YiIsIk0zMjEuNSA2OC44QzMyOS4xIDU1LjkgMzQyLjkgNDggMzU3LjggNDhsMi4yIDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBsLTczLjMgMCAzNC44LTU5LjJ6bS0xMzEgMGwzNC44IDU5LjItNzMuMyAwYy0yMi4xIDAtNDAtMTcuOS00MC00MHMxNy45LTQwIDQwLTQwbDIuMiAwYzE0LjkgMCAyOC44IDcuOSAzNi4zIDIwLjh6bTg5LjYtMjQuM2wtMjQuMSA0MS0yNC4xLTQxQzIxNS43IDE2LjkgMTg2LjEgMCAxNTQuMiAwTDE1MiAwYy00OC42IDAtODggMzkuNC04OCA4OCAwIDE0LjQgMy41IDI4IDkuNiA0MEwzMiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNDEuNiAwYzYuMS0xMiA5LjYtMjUuNiA5LjYtNDAgMC00OC42LTM5LjQtODgtODgtODhsLTIuMiAwYy0zMS45IDAtNjEuNSAxNi45LTc3LjcgNDQuNHpNNDgwIDI3MmwtMjAwIDAgMCAyMDggMTM2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNDR6bS0yNDggMGwtMjAwIDAgMCAxNDRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTM2IDAgMC0yMDh6Il19LEJEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsLXdoZWF0IixpY29uOls1MTIsNTEyLFtdLCJlNTJhIiwiTTE3Ni0xNmM0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDguOC03LjIgMTYtMTYgMTYtNDQuMiAwLTgwLTM1LjgtODAtODAgMC04LjggNy4yLTE2IDE2LTE2ek01NiAwbDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMNTYgNDhDNDIuNyA0OCAzMiAzNy4zIDMyIDI0UzQyLjcgMCA1NiAwek0yNCA3MmwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCAxMjBDMTAuNyAxMjAgMCAxMDkuMyAwIDk2UzEwLjcgNzIgMjQgNzJ6bTggOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6TTI3MiAwYzAtOC44IDcuMi0xNiAxNi0xNiA0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDguOC03LjIgMTYtMTYgMTYtNDQuMiAwLTgwLTM1LjgtODAtODB6TTQwMC0xNmM0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDguOC03LjIgMTYtMTYgMTYtNDQuMiAwLTgwLTM1LjgtODAtODAgMC04LjggNy4yLTE2IDE2LTE2em04MCAxNDRjMCA0NC4yLTM1LjggODAtODAgODAtOC44IDAtMTYtNy4yLTE2LTE2IDAtNDQuMiAzNS44LTgwIDgwLTgwIDguOCAwIDE2IDcuMiAxNiAxNnpNMzUyIDExMmM4LjggMCAxNiA3LjIgMTYgMTYgMCA0NC4yLTM1LjggODAtODAgODAtOC44IDAtMTYtNy4yLTE2LTE2IDAtNDQuMiAzNS44LTgwIDgwLTgwem0tOTYgMTZjMCA0NC4yLTM1LjggODAtODAgODAtOC44IDAtMTYtNy4yLTE2LTE2IDAtNDQuMiAzNS44LTgwIDgwLTgwIDguOCAwIDE2IDcuMiAxNiAxNnpNMCAzMDRjMC0yNi41IDIxLjUtNDggNDgtNDhsNDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNjBjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDMwNHpNNDggNDE2bDAgNDggNDggMGMwLTI2LjUtMjEuNS00OC00OC00OHpNOTYgMzA0bC00OCAwIDAgNDhjMjYuNSAwIDQ4LTIxLjUgNDgtNDh6TTQ2NCA0MTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDQ4IDAgMC00OHpNNDE2IDMwNGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwwLTQ4LTQ4IDB6bS05NiA4MGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6Il19LEhEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkdW5nZW9uIixpY29uOls1MTIsNTEyLFtdLCJmNmQ5IiwiTTM0Ny41IDE0NC44YzYuNSA1LjQgMTIuNSAxMS4zIDE4IDE3LjcgOC43IDEwLjIgMjMuNyAxNCAzNS4xIDYuOWw1NC4xLTMzLjhjMTEuMi03IDE0LjctMjEuNyA2LjktMzIuMi0xNS4zLTIwLjUtMzMuNS0zOC42LTU0LjEtNTMuOC0xMC40LTcuNi0yNC43LTQuMy0zMS44IDYuNGwtMzUuMSA1Mi42Yy03LjggMTEuNi0zLjggMjcuMyA3IDM2LjJ6TTMyNy44IDQxLjFjOC42LTEyLjkgMi45LTMwLjUtMTIuMi0zNC4xLTE5LjEtNC42LTM5LjEtNy01OS42LTdzLTQwLjQgMi40LTU5LjYgN2MtMTUuMSAzLjYtMjAuOCAyMS4yLTEyLjIgMzQuMWw0MCA2MGM1LjIgNy44IDE0LjUgMTEuNyAyMy45IDExLjIgNS4yLS4zIDEwLjYtLjMgMTUuOCAwIDkuNCAuNSAxOC43LTMuNCAyMy45LTExLjJsNDAtNjB6TTUwLjUgMTAzLjNjLTcuOSAxMC41LTQuMyAyNS4zIDYuOSAzMi4ybDU0LjEgMzMuOGMxMS40IDcuMSAyNi4zIDMuMyAzNS4xLTYuOSA1LjUtNi40IDExLjUtMTIuMyAxOC0xNy43IDEwLjgtOC45IDE0LjgtMjQuNiA3LTM2LjJMMTM2LjQgNTUuOWMtNy4xLTEwLjctMjEuNS0xNC0zMS44LTYuNC0yMC42IDE1LjEtMzguOCAzMy4zLTU0LjEgNTMuOHptNjIgMTQxLjFjLjgtOS45LTMuMy0xOS45LTExLjgtMjUuMUw0MSAxODJjLTEyLjktOC0yOS45LTIuMy0zMy42IDEyLjUtNC45IDE5LjctNy41IDQwLjMtNy41IDYxLjZsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0zLjkgLjItNy44IC41LTExLjZ6bTI4Ny4xIDBjLjMgMy44IC41IDcuNyAuNSAxMS42bDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTI0YzAtMjEuMi0yLjYtNDEuOC03LjUtNjEuNi0zLjYtMTQuNy0yMC43LTIwLjUtMzMuNi0xMi41bC01OS43IDM3LjNjLTguNCA1LjMtMTIuNiAxNS4yLTExLjggMjUuMXpNODggMzUybC02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNEwwIDQ4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0em00MDAgMGwtNjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMjgwIDE4NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDMwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzA0em0tODAgMzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI3MnptMTYwIDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI3MnoiXX0sWWZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN1aXRjYXNlLW1lZGljYWwiLGljb246WzUxMiw1MTIsWyJtZWRraXQiXSwiZjBmYSIsIk0xOTIgNTZsMCA0MCAxMjggMCAwLTQwYzAtNC40LTMuNi04LTgtOEwyMDAgNDhjLTQuNCAwLTggMy42LTggOHptLTQ4IDhsMC04YzAtMzAuOSAyNS4xLTU2IDU2LTU2TDMxMiAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgNDI0LTIyNCAwIDAtNDE2ek05NiAxNzZsMCAzMDQtMzIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxNjBjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIgMCAwIDgwek00MTYgNDgwbDAtMzg0IDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTMyIDB6TTI0NCAyMDhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDM2LTM2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI0YzAgOC44IDcuMiAxNiAxNiAxNmwzNiAwIDAgMzZjMCA4LjggNy4yIDE2IDE2IDE2bDI0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzYgMzYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNGMwLTguOC03LjItMTYtMTYtMTZsLTM2IDAgMC0zNmMwLTguOC03LjItMTYtMTYtMTZsLTI0IDB6Il19LHFEdD1ZZmUsVkR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1jYW5lIixpY29uOls0NDgsNTEyLFtdLCJlNTNjIiwiTTIzMi0zMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpNMTQ0IDIzNi43TDk3LjcgMjk5LjFjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjZzLTE3LjItMzAuNi02LjYtNDQuOGw3MC41LTk1QzE0MiAxMzIgMTgxLjcgMTEyIDIyNCAxMTJzODIgMjAgMTA3LjIgNTMuOWw3MC41IDk1YzEwLjUgMTQuMiA3LjYgMzQuMi02LjYgNDQuOHMtMzQuMiA3LjYtNDQuOC02LjZMMzA0IDIzNi43IDMwNCA1MTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yNzUuM3pNMzkyIDM4NGMtNC40IDAtOCAzLjYtOCA4IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAxMjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMjhjMC00LjQtMy42LTgtOC04eiJdfSxSYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnYXVnZSIsaWNvbjpbNTEyLDUxMixbImRhc2hib2FyZCIsImdhdWdlLW1lZCIsInRhY2hvbWV0ZXItYWx0LWF2ZXJhZ2UiXSwiZjYyNCIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zMjAgOTZjMC0yNi45LTE2LjUtNDkuOS00MC01OS4zTDI4MCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNzIuN2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6TTE0NCAxNzZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0tMTYgODBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMjg4IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNNDAwIDE0NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAweiJdfSxqRHQ9UmIsVUR0PVJiLFdEdD1SYixHRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZW52ZWxvcGUtb3Blbi10ZXh0IixpY29uOls1NzYsNTEyLFtdLCJmNjU4IiwiTTI4OCAzMy45TDk2LjQgMTc1LjggMjU0LjUgMjkzYzUuMyAzLjkgMTEuMiA2LjkgMTcuNSA4LjdMMjcyIDQ2NGMwIDUuNSAuNSAxMC44IDEuMyAxNkw5NiA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMjM5LjljMC0yMC4zIDkuNi0zOS40IDI1LjktNTEuNEwyNTQuNS0yMWM5LjctNy4yIDIxLjQtMTEgMzMuNS0xMXMyMy44IDMuOSAzMy41IDExTDUxOC4xIDEyNC43YzcuMiA1LjMgMTMuMSAxMiAxNy40IDE5LjYtMi41LS4yLTUtLjMtNy41LS4zTDQzNi42IDE0NCAyODggMzMuOXpNMzIwIDI0MGMwLTI2LjUgMjEuNS00OCA0OC00OGwxNjAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDIyNGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTYwIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMjI0em04MCAxNmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw5NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC05NiAwem0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTU2IDB6Il19LFlEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b29sYm94IixpY29uOls1MTIsNTEyLFsxMjk1MjBdLCJmNTUyIiwiTTE3NiA1NmwwIDQwIDE2MCAwIDAtNDBjMC00LjQtMy42LTgtOC04TDE4NCA0OGMtNC40IDAtOCAzLjYtOCA4ek0xMjggOTZsMC00MGMwLTMwLjkgMjUuMS01NiA1Ni01NkwzMjggMGMzMC45IDAgNTYgMjUuMSA1NiA1NmwwIDQwIDI4LjEgMGMxMi43IDAgMjQuOSA1LjEgMzMuOSAxNC4xbDUxLjkgNTEuOWM5IDkgMTQuMSAyMS4yIDE0LjEgMzMuOWwwIDc2LjEtMTM2IDAgMC0xNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE2LTE0NCAwIDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNi0xMzYgMCAwLTc2LjFjMC0xMi43IDUuMS0yNC45IDE0LjEtMzMuOWw1MS45LTUxLjljOS05IDIxLjItMTQuMSAzMy45LTE0LjFMMTI4IDk2ek0wIDQxNmwwLTk2IDEzNiAwIDAgMTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE2IDE0NCAwIDAgMTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE2IDEzNiAwIDAgOTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NHoiXX0sS0R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBvd2VyLW9mZiIsaWNvbjpbNTEyLDUxMixbOTIxMV0sImYwMTEiLCJNMjg4IDBjMC0xNy43LTE0LjMtMzItMzItMzJTMjI0LTE3LjcgMjI0IDBsMCAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkwyODggMHpNMTQ2LjMgOTguNGMxNC41LTEwLjEgMTgtMzAuMSA3LjktNDQuNnMtMzAuMS0xOC00NC42LTcuOUM0My40IDkyLjEgMCAxNjkgMCAyNTYgMCAzOTcuNCAxMTQuNiA1MTIgMjU2IDUxMlM1MTIgMzk3LjQgNTEyIDI1NmMwLTg3LTQzLjQtMTYzLjktMTA5LjctMjEwLjEtMTQuNS0xMC4xLTM0LjQtNi42LTQ0LjYgNy45cy02LjYgMzQuNCA3LjkgNDQuNmM0OS44IDM0LjggODIuMyA5Mi40IDgyLjMgMTU3LjYgMCAxMDYtODYgMTkyLTE5MiAxOTJTNjQgMzYyIDY0IDI1NmMwLTY1LjIgMzIuNS0xMjIuOSA4Mi4zLTE1Ny42eiJdfSxEZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2lnbmFsIixpY29uOls1MTIsNTEyLFsxMjgyNDYsInNpZ25hbC01Iiwic2lnbmFsLXBlcmZlY3QiXSwiZjAxMiIsIk00ODggNTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwMHpNMzYwIDEyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAzMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMwNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMjgwIDI0OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjA4ek0xNTIgMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0ek00OCAzODRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxaRHQ9RGVlLFhEdD1EZWUsUUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy1zcGluIixpY29uOls1MTIsNTEyLFtdLCJlNGJiIiwiTTQ4MS43IDI0MC4xYy0xNy42LTEuMi0zMi45IDEyLTM0LjIgMjkuNy0zLjMgNDctMjMuNiA4OS40LTU0LjggMTIxTDM2MSAzNTljLTYuOS02LjktMTcuMi04LjktMjYuMi01LjJTMzIwIDM2Ni4zIDMyMCAzNzZsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTEyIDBjOS43IDAgMTguNS01LjggMjIuMi0xNC44czEuNy0xOS4zLTUuMi0yNi4ybC0zNS0zNWM0MS43LTQyLjIgNjguOS05OC44IDczLjQtMTYxLjggMS4yLTE3LjYtMTItMzIuOS0yOS43LTM0LjJ6TTM5IDQxTDc0IDc2Yy00MS43IDQyLjItNjguOSA5OC44LTczLjQgMTYxLjgtMS4yIDE3LjYgMTIgMzIuOSAyOS43IDM0LjJzMzIuOS0xMiAzNC4yLTI5LjdjMy4zLTQ3IDIzLjYtODkuNCA1NC44LTEyMUwxNTEgMTUzYzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJTMTkyIDE0NS43IDE5MiAxMzZsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRMNTYgMEM0Ni4zIDAgMzcuNSA1LjggMzMuOCAxNC44UzMyLjIgMzQuMSAzOSA0MXptMjAxLTEwLjdjLTEuMiAxNy42IDEyIDMyLjkgMjkuNyAzNC4yIDQ3IDMuMyA4OS40IDIzLjYgMTIxIDU0LjhMMzU5IDE1MWMtNi45IDYuOS04LjkgMTcuMi01LjIgMjYuMlMzNjYuMyAxOTIgMzc2IDE5MmwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTExMmMwLTkuNy01LjgtMTguNS0xNC44LTIyLjJTNDc3LjkgMzIuMiA0NzEgMzlMNDM2IDc0Yy00Mi4yLTQxLjctOTguOC02OC45LTE2MS44LTczLjQtMTcuNi0xLjItMzIuOSAxMi0zNC4yIDI5Ljd6TTQxIDQ3M2wzNS0zNWM0Mi4yIDQxLjcgOTguOCA2OC45IDE2MS44IDczLjQgMTcuNiAxLjIgMzIuOS0xMiAzNC4yLTI5LjdzLTEyLTMyLjktMjkuNy0zNC4yYy00Ny0zLjMtODkuNC0yMy42LTEyMS01NC44TDE1MyAzNjFjNi45LTYuOSA4LjktMTcuMiA1LjItMjYuMlMxNDUuNyAzMjAgMTM2IDMyMEwyNCAzMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0TDAgNDU2YzAgOS43IDUuOCAxOC41IDE0LjggMjIuMlMzNC4xIDQ3OS44IDQxIDQ3M3oiXX0sSkR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImpvaW50IixpY29uOls1NzYsNTEyLFtdLCJmNTk1IiwiTTM2MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTljMCA0MC4zIDE2IDc5IDQ0LjUgMTA3LjVsMjEgMjFDNDY5IDE5MSA0ODAgMjE3LjQgNDgwIDI0NWwwIDE5YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTljMC0xNC45LTUuOS0yOS4xLTE2LjQtMzkuNmwtMjEtMjFDMzU3LjEgMTQ2LjkgMzM2IDk2IDMzNiA0M2wwLTE5YzAtMTMuMyAxMC43LTI0IDI0LTI0ek01NTIgMjg4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTE5YzAtNDAuMy0xNi03OS00NC41LTEwNy41bC0yMS0yMUM0NDMgOTcgNDMyIDcwLjYgNDMyIDQzbDAtMTljMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE5YzAgMTQuOSA1LjkgMjkuMSAxNi40IDM5LjZsMjEgMjFDNTU0LjkgMTQxLjEgNTc2IDE5MiA1NzYgMjQ1bDAgMTljMCAxMy4zLTEwLjcgMjQtMjQgMjR6TTI5Mi43IDMyMGM1LjYgMCAxMC43IDIuOSAxMy42IDcuNkwzOTQuNiA0NzFjMS4zIDIuMSAwIDQuOS0yLjQgNS4yLTE2LjEgMi41LTMyLjQgMy43LTQ4LjcgMy43bC0zOC4xIDBjLTUuNiAwLTEwLjctMi45LTEzLjYtNy42bC03OS0xMjguNGMtNi05LjggMC0yMi42IDExLjUtMjMuMyA2LjctLjQgMTMuNC0uNiAyMC4yLS42bDQ4LjMgMHpNNDU5LjMgNDY1LjljLTYuNCAxLTEyLjctMS45LTE2LjEtNy40TDM3NC4xIDM0Ni4xYy02LjctMTAuOSAxLjUtMjQuNyAxNC4yLTIyLjkgMS4zIC4yIDIuNiAuNCAzLjggLjZsMTM2LjQgMjFjMjcuMyA0LjIgNDcuNCAyNy43IDQ3LjQgNTUuM3MtMjAuMSA1MS4xLTQ3LjQgNTUuM2wtNjkuMiAxMC42ek0xMzguNyAzMzZjNi43LTEuNSAxMy42IDEuNCAxNy4yIDcuMmw2OC45IDExMmM2LjYgMTAuNy0xLjIgMjQuNC0xMy44IDIzLjEtMTMtMS40LTI1LjktMy41LTM4LjYtNi41TDMxLjIgNDM5LjJDMTIuOSA0MzUgMCA0MTguNyAwIDQwMHMxMi45LTM1IDMxLjItMzkuMkwxMzguNyAzMzZ6Il19LGVBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmFpbGxlIixpY29uOlszODQsNTEyLFtdLCJmMmExIiwiTTgwIDE0NGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMCAxOTJhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTAgMTM2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0IDI0IDEwLjcgMjQgMjQtMTAuNyAyNC0yNCAyNHptMCA1NmM0NC4yIDAgODAtMzUuOCA4MC04MHMtMzUuOC04MC04MC04MC04MCAzNS44LTgwIDgwIDM1LjggODAgODAgODB6bTI0OC04MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNCAxMC43LTI0IDI0LTI0IDI0IDEwLjcgMjQgMjR6bTU2IDBjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODAgMzUuOCA4MCA4MCA4MCA4MC0zNS44IDgwLTgwek0zMDQgMjMyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMCAxMDRhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTAtMTkyYTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYweiJdfSxLZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFza2V0LXNob3BwaW5nIixpY29uOls1NzYsNTEyLFsic2hvcHBpbmctYmFza2V0Il0sImYyOTEiLCJNMjg4IDBjNi42IDAgMTIuOSAyLjcgMTcuNCA3LjVsMTQ0IDE1MiAuNSAuNSA3OC4xIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzIgMCAxNC41LTkuNiAyNi43LTIyLjggMzAuN0w0OTEuMSA0MjkuOWMtNi41IDI5LjMtMzIuNSA1MC4xLTYyLjUgNTAuMWwtMjgxLjMgMGMtMzAgMC01Ni0yMC44LTYyLjUtNTAuMWwtNDYtMjA3LjJjLTEzLjItMy45LTIyLjgtMTYuMi0yMi44LTMwLjcgMC0xNy43IDE0LjMtMzIgMzItMzJsNzguMSAwIC41LS41IDE0NC0xNTJDMjc1LjEgMi43IDI4MS40IDAgMjg4IDB6bTAgNTguOUwxOTIuMiAxNjAgMzgzLjggMTYwIDI4OCA1OC45ek0yMDggMjY0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMTJ6bTgwLTI0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0em0xMjggMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTExMnoiXX0sdEF0PUtmZSxhQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJpZGdlIixpY29uOls1MTIsNTEyLFtdLCJlNGM4IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nmw4IDAgMCA2NC00MCAwIDAgMTEyYzM3LjYgOS40IDY0IDQzLjIgNjQgODJsMCA5NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NGMwLTM4LjggMjYuNC03Mi42IDY0LTgybDAtMTEyLTQwIDAgMC02NCA4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6TTQyNCA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek0yOTYgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNODggOTZsODAgMCAwIDY0LTgwIDAgMC02NHoiXX0sckF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLWFycml2YWwiLGljb246WzU3Niw1MTIsWzEyODc0OF0sImY1YWYiLCJNMzg2LjYgMTkzLjFMMjY1LjkgMy43Yy00LjgtNy42LTEyLjYtMTIuOC0yMS40LTE0LjNsLTQzLjEtNy42Yy0xMC44LTEuOS0yMC4yIDcuMy0xOC42IDE4LjFsMjQgMTYxLjYtMTA1LTE4LjUtMzMuOC02MS44QzY0LjUgNzQuNyA1OC4yIDcwLjIgNTEuMSA2OUwzNCA2NmMtOS44LTEuNy0xOC44IDUuOS0xOC44IDE1LjhsLjYgMTA2LjNjLjIgMzAuOSAyMi40IDU3LjMgNTIuOSA2Mi43bDEzLjUgMi40IDAgMCA0MTcuNiA3My42YzMwLjUgNS40IDU5LjUtMTUgNjQuOS00NS40cy0xNS01OS41LTQ1LjQtNjQuOUwzODYuNiAxOTMuMXpNMjI0IDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTEzMS4yLTE1LjNhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUxMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDQ0OHoiXX0sc0F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhc2gtcmVnaXN0ZXIiLGljb246WzUxMiw1MTIsW10sImY3ODgiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NHMyOC43IDY0IDY0IDY0bDQ4IDAgMCAzMi01NyAwYy0zMS42IDAtNTguNSAyMy4xLTYzLjMgNTQuNEwxLjEgMzY0LjFDLjQgMzY4LjggMCAzNzMuNiAwIDM3OC40TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjkuNmMwLTQuOC0uNC05LjYtMS4xLTE0LjRMNDg4LjIgMjE0LjRDNDgzLjUgMTgzLjEgNDU2LjYgMTYwIDQyNSAxNjBsLTIxNyAwIDAtMzIgNDggMGMzNS4zIDAgNjQtMjguNyA2NC02NFMyOTEuMyAwIDI1NiAwTDk2IDB6bTAgNDhsMTYwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZMOTYgODBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6TTY0IDQyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwzMzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw4OCA0NDhjLTEzLjMgMC0yNC0xMC43LTI0LTI0em00OC0xNjBhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4em0xMjAtMjRhMjQgMjQgMCAxIDEgLTQ4IDAgMjQgMjQgMCAxIDEgNDggMHpNMTYwIDM0NGEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6TTMyOCAyNDBhMjQgMjQgMCAxIDEgLTQ4IDAgMjQgMjQgMCAxIDEgNDggMHpNMjU2IDM0NGEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6TTQyNCAyNDBhMjQgMjQgMCAxIDEgLTQ4IDAgMjQgMjQgMCAxIDEgNDggMHpNMzUyIDM0NGEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6Il19LGlBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyaW5nIixpY29uOls1MTIsNTEyLFtdLCJmNzBiIiwiTTY0IDIwOGMwIDcuOCA0LjQgMTguNyAxNy4xIDMwLjMgNDUuNC0yNC4yIDEwNy43LTM4LjMgMTc0LjktMzguM3MxMjkuNSAxNC4xIDE3NC45IDM4LjNjMTIuOC0xMS42IDE3LjEtMjIuNSAxNy4xLTMwLjMgMC0xMi4zLTEwLjgtMzItNDcuOS01MC42LTM1LjItMTcuNi04Ni4xLTI5LjQtMTQ0LjEtMjkuNHMtMTA4LjkgMTEuOC0xNDQuMSAyOS40Qzc0LjggMTc2IDY0IDE5NS43IDY0IDIwOHptMTkyIDQwYy00NyAwLTg5LjMgNy42LTEyMi45IDE5LjcgMzMuMiAxMi40IDc1LjcgMjAuMyAxMjIuOSAyMC4zczg5LjctNy44IDEyMi45LTIwLjNDMzQ1LjMgMjU1LjYgMzAzIDI0OCAyNTYgMjQ4ek0wIDIwOEMwIDE1OC40IDM5LjQgMTIyLjIgODMuMyAxMDAuMiAxMjkuMSA3Ny4zIDE5MC4zIDY0IDI1NiA2NHMxMjYuOSAxMy4zIDE3Mi43IDM2LjJjNDMuOSAyMiA4My4zIDU4LjIgODMuMyAxMDcuOGwwIDk2YzAgNDkuNi0zOS40IDg1LjgtODMuMyAxMDcuOC00NS45IDIyLjktMTA3IDM2LjItMTcyLjcgMzYuMlMxMjkuMSA0MzQuNyA4My4zIDQxMS44QzM5LjQgMzg5LjggMCAzNTMuNiAwIDMwNGwwLTk2eiJdfSxvQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXF1YXJpdXMiLGljb246WzU3Niw1MTIsW10sImU4NDUiLCJNNDAxLjcgMjkxLjRjOS00LjUgMTkuNi00LjUgMjguNiAwbDEyOCA2NGMxNS44IDcuOSAyMi4yIDI3LjEgMTQuMyA0Mi45cy0yNy4xIDIyLjItNDIuOSAxNC4zTDQxNiAzNTUuOCAzMDIuMyA0MTIuNmMtOSA0LjUtMTkuNiA0LjUtMjguNiAwTDE2MCAzNTUuOCA0Ni4zIDQxMi42Yy0xNS44IDcuOS0zNSAxLjUtNDIuOS0xNC4zcy0xLjUtMzUgMTQuMy00Mi45bDEyOC02NGM5LTQuNSAxOS42LTQuNSAyOC42IDBMMjg4IDM0OC4yIDQwMS43IDI5MS40em0zLjQtMTkzLjVjOC4yLTMgMTcuMy0yLjUgMjUuMiAxLjVsMTI4IDY0YzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjlzLTI3LjEgMjIuMi00Mi45IDE0LjNMNDE2IDE2My44IDMwMi4zIDIyMC42Yy05IDQuNS0xOS42IDQuNS0yOC42IDBMMTYwIDE2My44IDQ2LjMgMjIwLjZjLTE1LjggNy45LTM1IDEuNS00Mi45LTE0LjNzLTEuNS0zNSAxNC4zLTQyLjlsMTI4LTY0IDMuNC0xLjVjOC4yLTMgMTcuMy0yLjUgMjUuMiAxLjVsMTEzLjcgNTYuOCAxMTMuNy01Ni44IDMuNC0xLjV6Il19LFpmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGFyZS1ub2RlcyIsaWNvbjpbNTEyLDUxMixbInNoYXJlLWFsdCJdLCJmMWUwIiwiTTM4NCAxOTJjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTYtOTYgNDMtOTYgOTZjMCA1LjQgLjUgMTAuOCAxLjMgMTZMMTU5LjYgMTg0LjFjLTE2LjktMTUtMzkuMi0yNC4xLTYzLjYtMjQuMS01MyAwLTk2IDQzLTk2IDk2czQzIDk2IDk2IDk2YzI0LjQgMCA0Ni42LTkuMSA2My42LTI0LjFMMjg5LjMgNDAwYy0uOSA1LjItMS4zIDEwLjUtMS4zIDE2IDAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTYtNDMtOTYtOTYtOTZjLTI0LjQgMC00Ni42IDkuMS02My42IDI0LjFMMTkwLjcgMjcyYy45LTUuMiAxLjMtMTAuNSAxLjMtMTZzLS41LTEwLjgtMS4zLTE2bDEyOS43LTcyLjFjMTYuOSAxNSAzOS4yIDI0LjEgNjMuNiAyNC4xeiJdfSxuQXQ9WmZlLGxBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTNmIiwiTTI4MCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43TDM0MSAyODYuNmMxMi44LTE3LjUgMjguNS0zMi43IDQ2LjMtNDVsLTU2LjItNzUuN0MzMDYgMTMyIDI2Ni4zIDExMiAyMjQgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTQ0IDIzNi43IDE0NCA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTAwYTIwIDIwIDAgMSAxIDAgNDAgMjAgMjAgMCAxIDEgMC00MHptMC0xNDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6Il19LGNBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiaW5vY3VsYXJzIixpY29uOls1MTIsNTEyLFtdLCJmMWU1IiwiTTEyOCAzMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzItOTYgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem02NCA5NmwwIDMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNTkuMWMwLTM0LjYgOS40LTY4LjYgMjcuMi05OC4zIDEzLjctMjIuOCAyMi41LTQ4LjIgMjUuOC03NC42TDYwLjUgMTU2YzItMTYgMTUuNi0yOCAzMS44LTI4bDk5LjggMHptMjI3LjggMGMxNi4xIDAgMjkuOCAxMiAzMS44IDI4TDQ1OSAyMTZjMy4zIDI2LjQgMTIuMSA1MS44IDI1LjggNzQuNiAxNy44IDI5LjcgMjcuMiA2My43IDI3LjIgOTguM2wwIDU5LjFjMCAxNy43LTE0LjMgMzItMzIgMzJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyMCA5OS44IDB6TTMyMCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzItOTYgMCAwLTMyem0tMzIgNjRsMCAxNjAtNjQgMCAwLTE2MCA2NCAweiJdfSxkQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2lwLXNpZ24iLGljb246WzM4NCw1MTIsW10sImUxYzQiLCJNMzQwLjggODguM2MxMy40LTExLjUgMTUtMzEuNyAzLjUtNDUuMXMtMzEuNy0xNS00NS4xLTMuNUwxMjggMTg2LjQgMTI4IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzY0IDQ2LjMgNjQgNjRsMCAxNjgtMzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMiAwIDAgMTY4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjIuNCAxNzEuMiAxNDYuN2MxMy40IDExLjUgMzMuNiA5LjkgNDUuMS0zLjVzOS45LTMzLjYtMy41LTQ1LjFMMTczLjIgMjgwIDM1MiAyODBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMTczLjIgMjMyIDM0MC44IDg4LjN6Il19LFhmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYXJkLWRyaXZlIixpY29uOls0NDgsNTEyLFsxMjg0MzYsImhkZCJdLCJmMGEwIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAyNjAuMUMxOC4xIDI0Ny40IDQwLjIgMjQwIDY0IDI0MGwzMjAgMGMyMy44IDAgNDUuOSA3LjQgNjQgMjAuMUw0NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTQ0OCAzNTJjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMjg4Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjR6TTIyNCAzODRhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTI4LTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sdUF0PVhmZSxwQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmFua2luZy1zdGFyIixpY29uOls1NzYsNTEyLFtdLCJlNTYxIiwiTTMyMS44IDU0LjFMMjk4LjIgNi4zYy0zLjktOC4zLTE2LjEtOC42LTIwLjQgMGwtMjMuNiA0Ny44LTUyLjMgNy41Yy05LjMgMS40LTEzLjMgMTIuOS02LjQgMTkuOGwzOCAzNy05IDUyLjFjLTEuNCA5LjMgOC4yIDE2LjUgMTYuOCAxMi4ybDQ2LjktMjQuOCA0Ni42IDI0LjRjOC42IDQuMyAxOC4zLTIuOSAxNi44LTEyLjJsLTktNTIuMSAzOC0zNi42YzYuOC02LjggMi45LTE4LjMtNi40LTE5LjhsLTUyLjMtNy41ek0yNTYgMjU2Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2MGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTYwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwek00OCAzMjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDhsNjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTk2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwek00MTYgNDMybDAgMzJjMCAyNi41IDIxLjUgNDggNDggNDhsNjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTMyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwYy0yNi41IDAtNDggMjEuNS00OCA0OHoiXX0sZkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItdGllIixpY29uOls0NDgsNTEyLFtdLCJmNTA4IiwiTTIyNCAyNDhhMTIwIDEyMCAwIDEgMSAwLTI0MCAxMjAgMTIwIDAgMSAxIDAgMjQwem0tMzAuNSA1Nmw2MSAwYzkuNyAwIDE3LjUgNy44IDE3LjUgMTcuNSAwIDQuMi0xLjUgOC4yLTQuMiAxMS40bC0yNy40IDMyIDMxIDExNS4xIC42IDAgMzQuNi0xMzguNWMyLjItOC43IDExLjEtMTQgMTkuNS0xMC44IDYxLjkgMjMuNiAxMDUuOSA4My42IDEwNS45IDE1My44IDAgMTUuMS0xMi4zIDI3LjQtMjcuNCAyNy40TDQzLjQgNTEyYy0xNS4xIDAtMjcuNC0xMi4zLTI3LjQtMjcuNCAwLTcwLjIgNDQtMTMwLjIgMTA1LjktMTUzLjggOC40LTMuMiAxNy4zIDIuMSAxOS41IDEwLjhsMzQuNiAxMzguNSAuNiAwIDMxLTExNS4xLTI3LjQtMzJjLTIuNy0zLjItNC4yLTcuMi00LjItMTEuNCAwLTkuNyA3LjgtMTcuNSAxNy41LTE3LjV6Il19LFFmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbGxpcHNpcyIsaWNvbjpbNDQ4LDUxMixbImVsbGlwc2lzLWgiXSwiZjE0MSIsIk0wIDI1NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bTE2OCAwYTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptMjI0LTU2YTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyeiJdfSxoQXQ9UWZlLG1BdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdG9yZS1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTA3MSIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01OC42LTU4LjZjMS4xLTQgMS42LTguMiAxLjYtMTIuNWwwLTE1MS4yYy0xMi41IDQuNi0yNi4xIDcuMi00MC41IDcuMi04LjEgMC0xNS45LS44LTIzLjUtMi40bDAgNjYuNC0zMC4yIDAtMTM3LjUtMTM3LjVjMi45LTMuNiA1LjUtNy40IDcuNi0xMS41IDExLjYgMjIgMzQuNyAzNyA2MS4zIDM3IDI2LjggMCA0OS44LTE1LjEgNjEuNC0zNy4xIDExLjQgMjIuMSAzNC41IDM3LjEgNjAuOCAzNy4xIDQ1LjYgMCA3OC40LTQzLjcgNjUuNi04Ny41TDUxMy44IDcyLjNDNTA2LjggNDguNCA0ODQuOSAzMiA0NjAgMzJMMTE2IDMyYy01LjUgMC0xMC44IC44LTE1LjkgMi4zTDQxLTI0Ljl6TTE1MS41IDIyMS4zTDQ4LjcgMTE4LjYgMzguOSAxNTIuNWMtMTIuOCA0My43IDIwIDg3LjUgNjUuNiA4Ny41IDE4LjEgMCAzNC43LTcuMSA0Ny0xOC43ek00MTAuMiA0ODBsLTEyOC0xMjgtMTU0LjIgMCAwLTY2LjRjLTcuNiAxLjYtMTUuNSAyLjQtMjMuNSAyLjQtMTQuNCAwLTI4LTIuNi00MC41LTcuMkw2NCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsMjk4LjIgMHoiXX0sSmZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcmNlbnQiLGljb246WzQ0OCw1MTIsWzYyMTAxLDYyNzg1LCJwZXJjZW50YWdlIl0sIjI1IiwiTTE5MiAxMjhhOTYgOTYgMCAxIDAgLTE5MiAwIDk2IDk2IDAgMSAwIDE5MiAwek00NDggMzg0YTk2IDk2IDAgMSAwIC0xOTIgMCA5NiA5NiAwIDEgMCAxOTIgMHpNNDM4LjYgODYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMzg0IDM4NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwzODQtMzg0eiJdfSxnQXQ9SmZlLGU1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXppcHBlciIsaWNvbjpbMzg0LDUxMixbImZpbGUtYXJjaGl2ZSJdLCJmMWM2IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek02NCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDQ4Qzc0LjcgNDggNjQgNTguNyA2NCA3MnptMCA5NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptNjQgNzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDhjMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OGwwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tMTYgNjRhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyeiJdfSxiQXQ9ZTVlLHZBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaXNwbGF5IixpY29uOls1MTIsNTEyLFtdLCJlMTYzIiwiTTQ0OCA5NmwwIDI1Ni0zODQgMCAwLTI1NiAzODQgMHpNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNDQgMC0xNiA0OC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwLTE2LTQ4IDE0NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyeiJdfSx0NWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaWNvbnMiLGljb246WzUxMiw1MTIsWyJoZWFydC1tdXNpYy1jYW1lcmEtYm9sdCJdLCJmODZkIiwiTTE3NC45IDI3MmMxMC43IDAgMjAuNyA1LjMgMjYuNiAxNC4ybDExLjggMTcuOCAyNi43IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxMTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDM1MmMwLTI2LjUgMjEuNS00OCA0OC00OGwyNi43IDAgMTEuOC0xNy44YzUuOS04LjkgMTUuOS0xNC4yIDI2LjYtMTQuMmw2MS43IDB6bTI3OC42LTEyYzUuNi00LjkgMTMuOS01LjMgMTkuOS0uOXM4LjMgMTIuNCA1LjMgMTkuM0w0NDAuMyAzNjggNDk2IDM2OGM2LjcgMCAxMi42IDQuMSAxNSAxMC40cy42IDEzLjMtNC40IDE3LjdsLTEyOCAxMTJjLTUuNiA0LjktMTMuOSA1LjMtMTkuOSAuOXMtOC4zLTEyLjQtNS4zLTE5LjNsMzguNS04OS43LTU1LjggMGMtNi43IDAtMTIuNi00LjEtMTUtMTAuNHMtLjYtMTMuMyA0LjQtMTcuN2wxMjgtMTEyek0xNDQgMzYwYTQ4IDQ4IDAgMSAwIDAgOTYgNDggNDggMCAxIDAgMC05NnpNNDgzLjggLjRjNi41LTEuMSAxMy4xIC40IDE4LjUgNC40IDYuMSA0LjUgOS43IDExLjcgOS43IDE5LjJsMCAxNTItLjMgNC45Yy0zLjMgMjQuMi0zMC41IDQzLjEtNjMuNyA0My4xLTM1LjMgMC02NC0yMS41LTY0LTQ4czI4LjctNDggNjQtNDhjNS41IDAgMTAuOSAuNiAxNiAxLjZsMC00OS4zLTExMiAzMy42IDAgMTEwLjItLjMgNC45Yy0zLjMgMjQuMi0zMC41IDQzLjEtNjMuNyA0My4xLTM1LjMgMC02NC0yMS41LTY0LTQ4czI4LjctNDggNjQtNDhjNS41IDAgMTAuOSAuNiAxNiAxLjZMMzA0IDcyYzAtMTAuNiA3LTIwIDE3LjEtMjNsMTYwLTQ4IDIuNy0uNnpNMTg4LjkgMEMyMjYgMCAyNTYgMzAgMjU2IDY3LjFsMCA2LjFjMCA1Ni4xLTc1LjIgMTEyLjEtMTEwLjMgMTM1LjMtMTAuOCA3LjEtMjQuNiA3LjEtMzUuNCAwLTM1LjEtMjMuMS0xMTAuMy03OS4yLTExMC4zLTEzNS4zbDAtNi4xQzAgMzAgMzAgMCA2Ny4xIDAgODguMiAwIDEwOCA5LjkgMTIwLjcgMjYuOGw3LjMgOS44IDcuMy05LjhDMTQ4IDkuOSAxNjcuOCAwIDE4OC45IDB6Il19LHhBdD10NWUseUF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJ1bGVyLXZlcnRpY2FsIixpY29uOlsyNTYsNTEyLFtdLCJmNTQ4IiwiTTAgMTZDMC0xMC41IDIxLjUtMzIgNDgtMzJsMTYwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyNC0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDQgMCAwIDQ4LTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMCAwIDQ4LTEwNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwNCAwIDAgNDgtNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwIDAgNDgtMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTA0IDAgMCAyNGMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1NDRjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMTZ6Il19LGE1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXAtbG9jYXRpb24tZG90IixpY29uOls2NDAsNTEyLFsibWFwLW1hcmtlZC1hbHQiXSwiZjVhMCIsIk01NzYgNDhjMC0xMS4xLTUuNy0yMS40LTE1LjItMjcuMnMtMjEuMi02LjQtMzEuMS0xLjRMNDEzLjUgNzcuNSAyMzQuMSAxNy42Yy04LjEtMi43LTE2LjgtMi4xLTI0LjQgMS43bC0xMjggNjRDNzAuOCA4OC44IDY0IDk5LjkgNjQgMTEybDAgMzUyYzAgMTEuMSA1LjcgMjEuNCAxNS4yIDI3LjJzMjEuMiA2LjQgMzEuMSAxLjRsMTE2LjEtNTguMSAxNzMuMyA1Ny44Yy00LjMtNi40LTguNS0xMy4xLTEyLjYtMTkuOS0xMS0xOC4zLTIxLjktMzkuMy0zMC02MS44bC0xMDEuMi0zMy43IDAtMjg0LjUgMTI4IDQyLjcgMCA5OS4zYzMxLTM1LjggNzctNTguNCAxMjgtNTguNCAyMi42IDAgNDQuMiA0LjQgNjQgMTIuNUw1NzYgNDh6TTUxMiAyMjRjLTY2LjMgMC0xMjAgNTIuOC0xMjAgMTE3LjkgMCA2OC45IDY0LjEgMTUwLjQgOTguNiAxODkuMyAxMS42IDEzIDMxLjMgMTMgNDIuOSAwIDM0LjUtMzguOSA5OC42LTEyMC40IDk4LjYtMTg5LjMgMC02NS4xLTUzLjctMTE3LjktMTIwLTExNy45ek00NzIgMzQ0YTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6Il19LHdBdD1hNWUscjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYXJ0LWNyYWNrIixpY29uOls1MTIsNTEyLFsxMjgxNDgsImhlYXJ0LWJyb2tlbiJdLCJmN2E5IiwiTTEzMy4xIDMyYzE3LjMgMCAzNC4yIDMuNCA0OS45IDkuN2w1NC44IDg1LjItNzUuNCA3NS40Yy0xLjUgMS41LTIuNCAzLjYtMi4zIDUuOHMxIDQuMiAyLjYgNS43bDExMiAxMDRjMi45IDIuNyA3LjQgMi45IDEwLjUgLjNzMy44LTcgMS43LTEwLjRsLTYwLjQtOTguMSA5MC43LTc1LjZjMi42LTIuMSAzLjUtNS43IDIuNC04LjhMMjk2LjQgNjAuNkMzMTkuNiA0Mi4zIDM0OC42IDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDExMi4yLTEzOS45IDI0Mi41LTIxMi45IDI5OC4yLTEyLjQgOS40LTI3LjYgMTQuMS00My4xIDE0LjFzLTMwLjgtNC42LTQzLjEtMTQuMUMxMzkuOSA0MTAuMiAwIDI3OS45IDAgMTY3LjdsMC0yLjZDMCA5MS42IDU5LjYgMzIgMTMzLjEgMzJ6Il19LE1BdD1yNWUsa0F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvdyIsaWNvbjpbNjQwLDUxMixbMTI4MDA0XSwiZjZjOCIsIk05NiAyMjRsMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTg4LjJjOS45IDYuNiAyMC42IDEyIDMyIDE2LjFsMCAyNC4yYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0xNi45YzUuMyAuNiAxMC42IC45IDE2IC45czEwLjctLjMgMTYtLjlsMCAxNi45YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yNC4yYzExLjQtNCAyMi4xLTkuNCAzMi0xNi4xbDAgODguMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTYwIDMyIDMyIDAgNDkuNWMwIDkuNSAyLjggMTguNyA4LjEgMjYuNkw1MzAgNDI3YzguOCAxMy4xIDIzLjUgMjEgMzkuMyAyMSAyMi41IDAgNDEuOS0xNS45IDQ2LjMtMzhsMjAuMy0xMDEuNmMyLjYtMTMtLjMtMjYuNS04LTM3LjNsLTMuOS01LjUgMC04MS42YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTQuNC01Mi45LTc0LjFDNDk2IDg2LjUgNDUyLjQgNjQgNDA1LjkgNjRMMTQ0IDY0Qzc3LjcgNjQgMjQgMTE3LjcgMjQgMTg0bDAgNTRDOS40IDI0OS44IDAgMjY3LjggMCAyODhsMCAxNy42YzAgOCA2LjQgMTQuNCAxNC40IDE0LjQgMzEuOCAwIDU3LjYtMjUuOCA1Ny42LTU3LjZMNzIgMTg0YzAtMjQuMyAxMi4xLTQ1LjggMzAuNS01OC45LTQuMiAxMC44LTYuNSAyMi42LTYuNSAzNC45bDAgNjR6TTU2MCAzMzZhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHpNMTY2LjYgMTY2LjZjLTQuMi00LjItNi42LTEwLTYuNi0xNiAwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNmwxNzguNyAwYzEyLjUgMCAyMi42IDEwLjEgMjIuNiAyMi42IDAgNi0yLjQgMTEuOC02LjYgMTZsLTIzLjQgMjMuNEMzMzIuMiAyMTEuOCAzMDIuNyAyMjQgMjcyIDIyNHMtNjAuMi0xMi4yLTgxLjktMzMuOWwtMjMuNC0yMy40eiJdfSx0dj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyc3MiLGljb246WzQ0OCw1MTIsWyJmZWVkIl0sImYwOWUiLCJNMCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMiAyMjkuOCAwIDQxNiAxODYuMiA0MTYgNDE2IDAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyQzM4NCAyNTMuNiAyMjYuNCA5NiAzMiA5NiAxNC4zIDk2IDAgODEuNyAwIDY0ek0wIDQxNmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTMyIDE2MGMxNTkuMSAwIDI4OCAxMjguOSAyODggMjg4IDAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtMTIzLjctMTAwLjMtMjI0LTIyNC0yMjQtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnoiXX0sU0F0PXR2LGF2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25pZnlpbmctZ2xhc3MiLGljb246WzUxMiw1MTIsWzEyODI2OSwic2VhcmNoIl0sImYwMDIiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4ek0yMDggMzUyYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHoiXX0sekF0PWF2LENBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1tb29uIixpY29uOls2NDAsNTEyLFtdLCJmNmMzIiwiTTQ4MCAwYzE0LjYgMCAyOC44IDEuNiA0Mi41IDQuNyA3LjQgMS43IDEzIDcuOCAxMy45IDE1LjRzLTMgMTQuOS05LjggMTguM2MtNDUuNCAyMi42LTc2LjYgNjkuNS03Ni42IDEyMy42IDAgNzYuMiA2MS44IDEzOCAxMzggMTM4IDMuNyAwIDcuNC0uMSAxMS4xLS40IDcuNi0uNiAxNC43IDMuNiAxNy44IDEwLjZzMS41IDE1LjEtMy45IDIwLjRjLTI2IDI1LTU5LjEgNDIuNy05NS45IDQ5LjktMTEuMS0yNS4zLTMwLjItNDYuMy01NC4xLTU5LjgtNy42LTYzLjQtNjEuNi0xMTIuNi0xMjcuMS0xMTIuNi0xMS4yIDAtMjIuMSAxLjUtMzIuNSA0LjItNC44LTQuMi05LjktOC4yLTE1LjItMTEuOC0uMS0yLjgtLjItNS42LS4yLTguNCAwLTEwNiA4Ni0xOTIgMTkyLTE5MnptLS4xIDQzMS45YzAgNDQuMi0zNS44IDgwLTgwIDgwbC0yNzEuOSAwYy01MyAwLTk2LTQzLTk2LTk2IDAtNDcuNiAzNC42LTg3IDgwLTk0LjYtLjQtNTIuOCA0Mi45LTk3LjMgOTYtOTcuMyAzNC45IDAgNjUuNCAxOC42IDgyLjIgNDYuNCAxMy05LjEgMjguOC0xNC40IDQ1LjgtMTQuNCA0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDUuOS0uNiAxMS43LTEuOSAxNy4yIDM3LjQgNi43IDY1LjggMzkuNCA2NS44IDc4Ljd6Il19LEFlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3hlcy1zdGFja2VkIixpY29uOls1MTIsNTEyLFs2MjYyNSwiYm94ZXMiLCJib3hlcy1hbHQiXSwiZjQ2OCIsIk0yMjQgMGwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0IDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjhjMCA1LjUtLjcgMTAuOS0yIDE2bC0yNTIgMGMtMS4zLTUuMS0yLTEwLjUtMi0xNmwwLTEyOGMwLTM1LjMgMjguNy02NCA2NC02NGwzMiAwem05NiA1MTJjLTExLjIgMC0yMS44LTIuOS0zMS04IDkuNS0xNi41IDE1LTM1LjYgMTUtNTZsMC0xMjhjMC0yMC40LTUuNS0zOS41LTE1LTU2IDkuMi01LjEgMTkuNy04IDMxLThsMzIgMCAwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0IDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTEyOCAwek0wIDMyMGMwLTM1LjMgMjguNy02NCA2NC02NGwzMiAwIDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjQgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEyOGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMzIweiJdfSxfQXQ9QWVlLFRBdD1BZWUsTEF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvZGUtYnJhbmNoIixpY29uOls0NDgsNTEyLFtdLCJmMTI2IiwiTTgwIDEwNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTgwLTI0YzAgMzIuOC0xOS43IDYxLTQ4IDczLjNsMCA3MC43IDE3NiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjIuN2MtMjguMy0xMi4zLTQ4LTQwLjUtNDgtNzMuMyAwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMzIuOC0xOS43IDYxLTQ4IDczLjNsMCAyMi43YzAgNjEuOS01MC4xIDExMi0xMTIgMTEybC0xNzYgMCAwIDcwLjdjMjguMyAxMi4zIDQ4IDQwLjUgNDggNzMuMyAwIDQ0LjItMzUuOCA4MC04MCA4MFMwIDQ3Ni4yIDAgNDMyYzAtMzIuOCAxOS43LTYxIDQ4LTczLjNsMC0yMDUuM0MxOS43IDE0MSAwIDExMi44IDAgODAgMCAzNS44IDM1LjggMCA4MCAwczgwIDM1LjggODAgODB6bTIzMiAwYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTgwIDQ1NmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LHM1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYW4iLGljb246WzUxMiw1MTIsWzEyODY4MywiY2FuY2VsIl0sImYwNWUiLCJNMzY3LjIgNDEyLjVMOTkuNSAxNDQuOGMtMjIuNCAzMS40LTM1LjUgNjkuOC0zNS41IDExMS4yIDAgMTA2IDg2IDE5MiAxOTIgMTkyIDQxLjUgMCA3OS45LTEzLjEgMTExLjItMzUuNXptNDUuMy00NS4zYzIyLjQtMzEuNCAzNS41LTY5LjggMzUuNS0xMTEuMiAwLTEwNi04Ni0xOTItMTkyLTE5Mi00MS41IDAtNzkuOSAxMy4xLTExMS4yIDM1LjVMNDEyLjUgMzY3LjJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6Il19LCRBdD1zNWUsREF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imp1Zy1kZXRlcmdlbnQiLGljb246WzM4NCw1MTIsW10sImU1MTkiLCJNOTYgMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDI0IDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw4OCA5NkM3NC43IDk2IDY0IDg1LjMgNjQgNzJTNzQuNyA0OCA4OCA0OGw4IDAgMC0yNHpNMCAyNTZjMC03MC43IDU3LjMtMTI4IDEyOC0xMjhsMTI4IDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDI1NnptMjU2IDBsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6Il19LGk1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZXBseSIsaWNvbjpbNTEyLDUxMixbNjE3MTQsIm1haWwtcmVwbHkiXSwiZjNlNSIsIk0yMDQuMiAxOC40YzEyIDUgMTkuOCAxNi42IDE5LjggMjkuNmwwIDgwIDExMiAwYzk3LjIgMCAxNzYgNzguOCAxNzYgMTc2IDAgMTEzLjMtODEuNSAxNjMuOS0xMDAuMiAxNzQuMS0yLjUgMS40LTUuMyAxLjktOC4xIDEuOS0xMC45IDAtMTkuNy04LjktMTkuNy0xOS43IDAtNy41IDQuMy0xNC40IDkuOC0xOS41IDkuNC04LjggMjIuMi0yNi40IDIyLjItNTYuNyAwLTUzLTQzLTk2LTk2LTk2bC05NiAwIDAgODBjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTE2MC0xNjBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDE2MC0xNjBjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02Ljl6Il19LEFBdD1pNWUsUEF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN1bi1wbGFudC13aWx0IixpY29uOls2NDAsNTEyLFtdLCJlNTdhIiwiTTE2MCAwYy01LjUgMC0xMC42IDIuOC0xMy41IDcuNGwtMS4xIDIuMS0yNC44IDU1LjQtNTYuNy0yMS43Yy01LjktMi4yLTEyLjUtLjgtMTcgMy43UzQxIDU4IDQzLjIgNjMuOWwyMS43IDU2LjctNTUuNCAyNC44QzMuNyAxNDggMCAxNTMuNyAwIDE2MHMzLjcgMTIgOS41IDE0LjZsNTUuNCAyNC44LTIxLjcgNTYuN2MtMi4yIDUuOS0uOCAxMi41IDMuNyAxN3MxMS4xIDUuOSAxNyAzLjdsNTYuNy0yMS43IDI0LjggNTUuNGMyLjYgNS44IDguMyA5LjUgMTQuNiA5LjVzMTItMy43IDE0LjYtOS41bDI0LjgtNTUuNCA1Ni44IDIxLjdjNS45IDIuMiAxMi41IC44IDE3LTMuN3M1LjktMTEuMSAzLjctMTdsLTIxLjctNTYuNyA1NS40LTI0LjhjNS44LTIuNiA5LjUtOC4zIDkuNS0xNC42cy0zLjctMTItOS41LTE0LjZsLTU1LjQtMjQuOCAyMS43LTU2LjcgLjctMi4yYzEuMi01LjMtLjQtMTAuOS00LjMtMTQuOHMtOS41LTUuNS0xNC44LTQuM2wtMi4yIC43LTU2LjggMjEuNy0yNC44LTU1LjRDMTcyIDMuNyAxNjYuMyAwIDE2MCAwem0wIDk2YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4em0zMiA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0zNzYgMTZsMCA1My40Yy0xNC44IDcuNy0yNCAyMy4xLTI0IDQ0LjYgMCAxNi44IDE2IDQ0IDM3LjQgNjcuMiA1LjggNi4yIDE1LjUgNi4yIDIxLjIgMCAyMS40LTIzLjMgMzcuNC01MC42IDM3LjQtNjcuMiAwLTIxLjUtOS4yLTM3LTI0LTQ0LjZsMC01My40YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwbDAgMjIuN2MtOS44LTQuMy0yMC42LTYuNy0zMi02LjctNDQuMiAwLTgwIDM1LjgtODAgODBsMCAyMS40Yy0xNC44IDcuNi0yNCAyMy4xLTI0IDQ0LjYgMCAxNi44IDE2IDQ0IDM3LjQgNjcuMiA1LjggNi4yIDE1LjUgNi4yIDIxLjIgMCAyMS40LTIzLjMgMzcuNC01MC42IDM3LjQtNjcuMiAwLTIxLjUtOS4yLTM3LTI0LTQ0LjZsMC0yMS40YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNzYtNDI0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTc2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEwNCAwIDAtMjcyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6Il19LEVBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWN0ZXJpdW0iLGljb246WzU3Niw1MTIsW10sImUwNWEiLCJNNDA4IDE2YzAtMTMuMy0xMC43LTI0LTI0LTI0UzM2MCAyLjcgMzYwIDE2bDAgMjMuNGMtMTMuOSA1LjMtMjYuOSAxMy41LTM4LjIgMjQuNUwzMDUgNDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMTYuOCAxNi44LTMwLjEgMzAuMS0xNi44LTE2LjhjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMTYuOCAxNi44Yy0xMCAxMC0yMCAyMC0zMC4xIDMwLjFMMTc3IDE3NWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNi44IDE2LjgtMzAuMSAzMC4xLTE2LjgtMTYuOGMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNi44IDE2LjhjLTExIDExLjMtMTkuMiAyNC4zLTI0LjUgMzguMkw0OCAzMjhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTYuMyAwYzEuMyAxOC4zIDcuMSAzNi40IDE3LjQgNTIuNEw3MSA0MzljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwxMC42LTEwLjZjMTYgMTAuMyAzNC4xIDE2LjEgNTIuNCAxNy40bDAgMTYuM2MwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjMuNGMxMy45LTUuMyAyNi45LTEzLjUgMzguMi0yNC41TDI3MSA0NjVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xNi44LTE2LjggMzAuMS0zMC4xIDE2LjggMTYuOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTE2LjgtMTYuOGMxMC0xMCAyMC0yMCAzMC4xLTMwLjFMMzk5IDMzN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTE2LjgtMTYuOCAzMC4xLTMwLjEgMTYuOCAxNi44YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTYuOC0xNi44YzExLTExLjMgMTkuMi0yNC4zIDI0LjUtMzguMmwyMy40IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE2LjMgMGMtMS4zLTE4LjMtNy4xLTM2LjQtMTcuNC01Mi40TDUwNSA3M2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDQ2MC40IDQ5LjdjLTE2LTEwLjMtMzQuMS0xNi4xLTUyLjQtMTcuNEw0MDggMTZ6TTE2MCAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMjcyIDI0MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LElBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZWNvcmQtdmlueWwiLGljb246WzUxMiw1MTIsW10sImY4ZDkiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjU2LTk2YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyem0wIDI0MGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTEyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sbzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZsb3BweS1kaXNrIixpY29uOls0NDgsNTEyLFsxMjgxOTAsMTI4NDI2LCJzYXZlIl0sImYwYzciLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI0Mi43YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDM1MiA1MC43QzM0MCAzOC43IDMyMy43IDMyIDMwNi43IDMyTDY0IDMyem0zMiA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xNjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NHpNMjI0IDI4OGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHoiXX0sTkF0PW81ZSxSQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9pbGV0cy1wb3J0YWJsZSIsaWNvbjpbNTEyLDUxMixbXSwiZTU4NCIsIk02NCAwbDk2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNi0yMjQgMCAwLTE2QzAgMjguNyAyOC43IDAgNjQgMHpNMCAxMjhsMjI0IDAgMCAzNjBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04LTEyOCAwIDAgOGMwIDEzLjMtMTAuNyAyNC0yNCAyNFMwIDUwMS4zIDAgNDg4TDAgMTI4ek0xMjggMjQ4bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMjQgMCAwLTk2LTI0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0ek0zNTIgMGw5NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTYtMjI0IDAgMC0xNmMwLTM1LjMgMjguNy02NCA2NC02NHpNMjg4IDEyOGwyMjQgMCAwIDM2MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTgtMTI4IDAgMCA4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMzYwek00MTYgMjQ4bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMjQgMCAwLTk2LTI0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0eiJdfSxPQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibyIsaWNvbjpbNDQ4LDUxMixbMTExXSwiNGYiLCJNMjI0IDk2YTE2MCAxNjAgMCAxIDAgMCAzMjAgMTYwIDE2MCAwIDEgMCAwLTMyMHpNNDQ4IDI1NmEyMjQgMjI0IDAgMSAxIC00NDggMCAyMjQgMjI0IDAgMSAxIDQ0OCAweiJdfSxGQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFsZXR0ZSIsaWNvbjpbNTEyLDUxMixbMTI3OTEyXSwiZjUzZiIsIk01MTIgMjU2YzAgLjkgMCAxLjggMCAyLjctLjQgMzYuNS0zMy42IDYxLjMtNzAuMSA2MS4zTDM0NCAzMjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4IDAgMy40IC40IDYuNyAxIDkuOSAyLjEgMTAuMiA2LjUgMjAgMTAuOCAyOS45IDYuMSAxMy44IDEyLjEgMjcuNSAxMi4xIDQyIDAgMzEuOC0yMS42IDYwLjctNTMuNCA2Mi0zLjUgLjEtNyAuMi0xMC42IC4yLTE0MS40IDAtMjU2LTExNC42LTI1Ni0yNTZTMTE0LjYgMCAyNTYgMCA1MTIgMTE0LjYgNTEyIDI1NnpNMTI4IDI4OGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0wLTk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMjg4IDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTk2IDk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sQkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVubG9jayIsaWNvbjpbMzg0LDUxMixbMTI4Mjc1XSwiZjA5YyIsIk0xMjggOTZjMC0zNS4zIDI4LjctNjQgNjQtNjQgMzEuNyAwIDU4IDIzIDYzLjEgNTMuMyAyLjkgMTcuNCAxOS40IDI5LjIgMzYuOSAyNi4zczI5LjItMTkuNCAyNi4zLTM2LjlDMzA4LjEgMTQuMSAyNTUuNS0zMiAxOTItMzIgMTIxLjMtMzIgNjQgMjUuMyA2NCA5NmwwIDY0Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIyNGMwLTM1LjMtMjguNy02NC02NC02NGwtMTkyIDAgMC02NHoiXX0sbjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVhci1saXN0ZW4iLGljb246WzUxMiw1MTIsWyJhc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXMiXSwiZjJhMiIsIk0zNzkuNiAuM2MtOC45IDEuMi0xNy4yIDYuMi0yMi40IDE0LjEtNi44IDEwLjQtNyAyNC4xLS40IDM0LjYgNS42IDguOSAxNS41IDEyLjcgMjMuOCAxOC41IDcuNSA1LjIgMTcuNiAxMy4yIDI3LjcgMjQuMiAyMCAyMS43IDM5LjUgNTQuMyAzOS41IDEwMC4zIDAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMC02Ni0yOC41LTExMy40LTU2LjUtMTQzLjctMTMuOS0xNS4xLTI3LjgtMjYuMS0zOC4zLTMzLjMtMTEtNy42LTIzLjUtMTYuNi0zNy42LTE0Ljd6TTI0MCAxMjhjLTU3LjYgMC0xMDUuMSA0My42LTExMS4zIDk5LjUtMS45IDE3LjYtMTcuOCAzMC4yLTM1LjMgMjguM3MtMzAuMi0xNy44LTI4LjMtMzUuM2M5LjctODggODQuMy0xNTYuNSAxNzQuOS0xNTYuNSA5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NiAwIDQ2LTE3LjcgODcuOS00Ni42IDExOS4zLTEyIDEzLTE3LjQgMjQuOC0xNy40IDM0LjdsMCA2LjFjMCA2MS45LTUwLjEgMTEyLTExMiAxMTItMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTYuMWMwLTMyLjkgMTcuNC01OS42IDM0LjQtNzggMTguNC0yMCAyOS42LTQ2LjYgMjkuNi03NS45IDAtNjEuOS01MC4xLTExMi0xMTItMTEyek0wIDQ4MGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNjAtOTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek04Ni42IDM2MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC02NC02NHpNMjQwIDIwOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sSEF0PW41ZSxxQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29kZS1wdWxsLXJlcXVlc3QiLGljb246WzUxMiw1MTIsW10sImUxM2MiLCJNMzI4IDI0YzAtOS43LTUuOC0xOC41LTE0LjgtMjIuMlMyOTMuOSAuMiAyODcgN0wyMzEgNjNjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDU2IDU2YzYuOSA2LjkgMTcuMiA4LjkgMjYuMiA1LjJTMzI4IDE0NS43IDMyOCAxMzZsMC0yNCAyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjE0LjdjLTI4LjMgMTIuMy00OCA0MC41LTQ4IDczLjMgMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTMyLjgtMTkuNy02MS00OC03My4zTDQ0OCAxNDRjMC01My00My05Ni05Ni05NmwtMjQgMCAwLTI0ek03MiA4MGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem01NiA3My4zYzI4LjMtMTIuMyA0OC00MC41IDQ4LTczLjMgMC00NC4yLTM1LjgtODAtODAtODBTMTYgMzUuOCAxNiA4MGMwIDMyLjggMTkuNyA2MSA0OCA3My4zbDAgMjA1LjNjLTI4LjMgMTIuMy00OCA0MC41LTQ4IDczLjMgMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTMyLjgtMTkuNy02MS00OC03My4zbDAtMjA1LjN6TTcyIDQzMmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0zNDQtMjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4eiJdfSxWQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2V5IixpY29uOls1MTIsNTEyLFsxMjgyNzNdLCJmMDg0IiwiTTMzNiAzNTJjOTcuMiAwIDE3Ni03OC44IDE3Ni0xNzZTNDMzLjIgMCAzMzYgMCAxNjAgNzguOCAxNjAgMTc2YzAgMTguNyAyLjkgMzYuOCA4LjMgNTMuN0w3IDM5MWMtNC41IDQuNS03IDEwLjYtNyAxN2wwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00MCA0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDAgNDAgMGM2LjQgMCAxMi41LTIuNSAxNy03bDMzLjMtMzMuM2MxNi45IDUuNCAzNSA4LjMgNTMuNyA4LjN6TTM3NiA5NmE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6Il19LGpBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJza3VsbCIsaWNvbjpbNTEyLDUxMixbMTI4MTI4XSwiZjU0YyIsIk00MTYgNDI3LjRjNTguNS00NCA5Ni0xMTEuNiA5Ni0xODcuNCAwLTEzMi41LTExNC42LTI0MC0yNTYtMjQwUzAgMTA3LjUgMCAyNDBjMCA3NS44IDM3LjUgMTQzLjQgOTYgMTg3LjRMOTYgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDMyIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgNjQgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCAzMiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzYuNnpNOTYgMjU2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHptMjU2LTY0YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4eiJdfSxsNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFycy1zdHJva2UtdXAiLGljb246WzM4NCw1MTIsWzk4OTYsIm1hcnMtc3Ryb2tlLXYiXSwiZjIyYSIsIk0xOTIgMjU2YTExMiAxMTIgMCAxIDAgMCAyMjQgMTEyIDExMiAwIDEgMCAwLTIyNHpNMTYgMzY4YzAtODYuMyA2Mi4xLTE1OC4xIDE0NC4xLTE3My4xLS4xLS45LS4xLTEuOS0uMS0yLjlsMC0xNi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC02MS40LTI4IDIyLjRjLTEzLjggMTEtMzMuOSA4LjgtNDUtNXMtOC44LTMzLjkgNS00NWw4MC02NGMxMS43LTkuMyAyOC4zLTkuMyA0MCAwbDgwIDY0YzEzLjggMTEgMTYgMzEuMiA1IDQ1cy0zMS4yIDE2LTQ1IDVsLTI4LTIyLjQgMCA2MS40IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDAgMCAxNmMwIDEgMCAxLjktLjEgMi45IDgyIDE1IDE0NC4xIDg2LjggMTQ0LjEgMTczLjEgMCA5Ny4yLTc4LjggMTc2LTE3NiAxNzZTMTYgNDY1LjIgMTYgMzY4eiJdfSxVQXQ9bDVlLGM1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXJlLWZsYW1lLXNpbXBsZSIsaWNvbjpbMzg0LDUxMixbImJ1cm4iXSwiZjQ2YSIsIk0zNzIuNSAyNTYuNWwtLjctMS45QzMzNy44IDE2MC44IDI4MiA3Ni41IDIwOS4xIDguNWwtMy4zLTNDMjAyLjEgMiAxOTcuMSAwIDE5MiAwcy0xMC4xIDItMTMuOCA1LjVsLTMuMyAzQzEwMiA3Ni41IDQ2LjIgMTYwLjggMTIuMiAyNTQuNmwtLjcgMS45QzMuOSAyNzcuMyAwIDI5OS40IDAgMzIxLjYgMCA0MjYuNyA4Ni44IDUxMiAxOTIgNTEyczE5Mi04NS4zIDE5Mi0xOTAuNGMwLTIyLjItMy45LTQ0LjItMTEuNS02NS4xem0tOTAuOCA0OS41YzQuMSA5LjMgNi4yIDE5LjQgNi4yIDI5LjUgMCA1My00MyA5Ni41LTk2IDk2LjVzLTk2LTQzLjUtOTYtOTYuNWMwLTEwLjEgMi4xLTIwLjMgNi4yLTI5LjVsMS45LTQuM2MxNS44LTM1LjQgMzcuOS02Ny43IDY1LjMtOTUuMWw4LjktOC45YzMuNi0zLjYgOC41LTUuNiAxMy42LTUuNnMxMCAyIDEzLjYgNS42bDguOSA4LjljMjcuNCAyNy40IDQ5LjYgNTkuNyA2NS4zIDk1LjFsMS45IDQuM3oiXX0sV0F0PWM1ZSxHQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJlZSIsaWNvbjpbNDQ4LDUxMixbMTI3Nzk0XSwiZjFiYiIsIk0yMjQtMzJjNyAwIDEzLjcgMy4xIDE4LjMgOC41bDEzNiAxNjBjNi4xIDcuMSA3LjQgMTcuMSAzLjUgMjUuNlMzNjkuNCAxNzYgMzYwIDE3NmwtMjQuOSAwIDc1LjIgODguNWM2LjEgNy4xIDcuNCAxNy4xIDMuNSAyNS42UzQwMS40IDMwNCAzOTIgMzA0bC0zOC41IDAgODguOCAxMDQuNWM2LjEgNy4xIDcuNCAxNy4xIDMuNSAyNS42UzQzMy40IDQ0OCA0MjQgNDQ4bC0xNjggMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjQtMTY4IDBjLTkuNCAwLTE3LjktNS40LTIxLjgtMTMuOXMtMi42LTE4LjUgMy41LTI1LjZMOTQuNSAzMDQgNTYgMzA0Yy05LjQgMC0xNy45LTUuNC0yMS44LTEzLjlzLTIuNi0xOC41IDMuNS0yNS42TDExMi45IDE3NiA4OCAxNzZjLTkuNCAwLTE3LjktNS40LTIxLjgtMTMuOXMtMi42LTE4LjUgMy41LTI1LjZsMTM2LTE2MEMyMTAuMy0yOC45IDIxNy0zMiAyMjQtMzJ6Il19LFlBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbW9nIixpY29uOls1NzYsNTEyLFtdLCJmNzVmIiwiTTE3NiAyODhDOTYuNSAyODggMzIgMjIzLjUgMzIgMTQ0Uzk2LjUgMCAxNzYgMGMyNy4yIDAgNTIuNiA3LjUgNzQuMyAyMC42IDIwLjEtMTMgNDQtMjAuNiA2OS43LTIwLjYgNDcuNCAwIDg4LjcgMjUuNyAxMTAuOSA2NGwxLjEgMGM2MS45IDAgMTEyIDUwLjEgMTEyIDExMiAwIDYwLjMtNDcuNiAxMDkuNC0xMDcuMiAxMTEuOS0yMi42IDIwLTUyLjMgMzIuMS04NC44IDMyLjEtMzIuNSAwLTYyLjEtMTIuMS04NC43LTMyTDE3NiAyODh6TTUxMiAzOTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRMMjQgNDE2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQ2NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0ek04OCA0NjRsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMTc2IDBsMjg4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI4OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxLQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicyIsaWNvbjpbMzIwLDUxMixbMTE1XSwiNTMiLCJNMCAxNTcuNUMwIDg4LjIgNTYuMiAzMiAxMjUuNSAzMkwyNzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMTI1LjUgOTZjLTM0IDAtNjEuNSAyNy41LTYxLjUgNjEuNSAwIDMxIDIzLjEgNTcuMiA1My45IDYxTDIxMC4xIDIzMEMyNzIuOSAyMzcuOSAzMjAgMjkxLjIgMzIwIDM1NC41IDMyMCA0MjMuOCAyNjMuOCA0ODAgMTk0LjUgNDgwTDQ4IDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNDYuNSAwYzM0IDAgNjEuNS0yNy41IDYxLjUtNjEuNSAwLTMxLTIzLjEtNTcuMi01My45LTYxTDEwOS45IDI4MkM0Ny4xIDI3NC4xIDAgMjIwLjggMCAxNTcuNXoiXX0sWkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImplZGkiLGljb246WzU3Niw1MTIsW10sImY2NjkiLCJNMjQ2IDMxNS43bC0yMS4yLTMxLjljLTIuMS0zLjItMS43LTcuNCAxLTEwLjFzNi45LTMuMSAxMC4xLTFsMjkuNSAxOS43YzIuMSAxLjQgNC45LS4xIDUtMi42TDI3OS43IDhjLjEtNC41IDMuOC04IDguMy04czguMSAzLjUgOC4zIDhsOS40IDI4MS45Yy4xIDIuNSAyLjkgMy45IDUgMi42bDI5LjUtMTkuN2MzLjItMi4xIDcuNC0xLjcgMTAuMSAxczMuMSA2LjkgMSAxMC4xTDMzMCAzMTUuN2MtMS4zIDEuOS0uMiA0LjUgMiA0LjlsMzcuNiA3LjVjMy43IC43IDYuNCA0IDYuNCA3LjhzLTIuNyA3LjEtNi40IDcuOEwzMzIgMzUxLjRjLTIuMiAuNC0zLjMgMy0yIDQuOWwyMS4yIDMxLjljMi4xIDMuMiAxLjcgNy40LTEgMTAuMXMtNi45IDMuMS0xMC4xIDFsLTI2LjMtMTcuNmMtMi4yLTEuNC01LjEgLjItNSAyLjhsMi4xIDYxLjVjNTkuOC0xMC44IDEwNS4xLTYzLjEgMTA1LjEtMTI2IDAtMzctMTUuNy03MC40LTQwLjgtOTMuNy03LTYuNS02LjUtMTguNiAxLTI0LjQgMzQtMjYuMyA1NS44LTY3LjUgNTUuOC0xMTMuOSAwLTE2LjgtMi45LTMzLTguMi00OC00LjYtMTMgMTAuMi0zMCAyMS40LTIyIDUzLjUgMzggOTIuNyA5NC44IDEwNy44IDE2MC43IC41IDIuMS0uMiA0LjMtMS43IDUuOWwtMjguNCAyOC40Yy00IDQtMS4yIDEwLjkgNC41IDEwLjlsMjYgMGMzLjQgMCA2LjIgMi42IDYuMyA2IC4xIDMuMyAuMiA2LjYgLjIgMTAgMCAxNy41LTEuNyAzNC43LTQuOCA1MS4zLS4yIDEuMi0uOSAyLjQtMS43IDMuM2wtNDYuNSA0Ni41Yy00IDQtMS4yIDEwLjkgNC41IDEwLjlsMTQuNiAwYzQuNiAwIDcuNyA0LjggNS43IDktNDQuNSA4OS41LTEzNi45IDE1MS0yNDMuNyAxNTFTODguOCA0NTAuNSA0NC4zIDM2MWMtMi4xLTQuMiAxLTkgNS43LTlsMTQuNiAwYzUuNyAwIDguNi02LjkgNC41LTEwLjlMMjIuNiAyOTQuNmMtLjktLjktMS41LTItMS43LTMuMy0zLjItMTYuNi00LjgtMzMuOC00LjgtNTEuMyAwLTMuMyAuMS02LjcgLjItMTAgLjEtMy40IDIuOS02IDYuMy02bDI2IDBjNS43IDAgOC42LTYuOSA0LjUtMTAuOUwyNC42IDE4NC42Yy0xLjUtMS41LTIuMi0zLjgtMS43LTUuOSAxNS4yLTY2IDU0LjMtMTIyLjggMTA3LjgtMTYwLjcgMTEuMy04IDI2IDguOSAyMS40IDIyLTUuMyAxNS04LjIgMzEuMi04LjIgNDggMCA0Ni4zIDIxLjkgODcuNSA1NS44IDExMy45IDcuNSA1LjggOCAxNy45IDEgMjQuNC0yNS4xIDIzLjQtNDAuOCA1Ni43LTQwLjggOTMuNyAwIDYyLjkgNDUuNCAxMTUuMiAxMDUuMSAxMjZsMi4xLTYxLjVjLjEtMi42LTIuOC00LjItNS0yLjhsLTI2LjMgMTcuNmMtMy4yIDIuMS03LjQgMS43LTEwLjEtMXMtMy4xLTYuOS0xLTEwLjFMMjQ2IDM1Ni4zYzEuMy0xLjkgLjItNC41LTItNC45bC0zNy42LTcuNWMtMy43LS43LTYuNC00LTYuNC03LjhzMi43LTcuMSA2LjQtNy44bDM3LjYtNy41YzIuMi0uNCAzLjMtMyAyLTQuOXoiXX0sZDVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1oaWtpbmciLGljb246WzQ0OCw1MTIsWyJoaWtpbmciXSwiZjZlYyIsIk0xOTItMzJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTEyOCAxNzMuNmMwLTM0IDI3LjYtNjEuNiA2MS42LTYxLjYgMjAuMyAwIDM5LjcgOC4xIDU0IDIyLjRsNDguMiA0OC4yYzYgNiAxNC4xIDkuNCAyMi42IDkuNGwzNy41IDBjNS44IDAgMTEuMyAxLjYgMTYgNC4zbDAtNzYuM2MwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMjY4LjNjLTQuNyAyLjctMTAuMiA0LjMtMTYgNC4zbC0zNy41IDBjLTI1LjUgMC00OS45LTEwLjEtNjcuOS0yOC4xbC02LjYtNi42IDAgMTA5LjIgMzQuNSAyOS42YzE3LjcgMTUuMiAyOS4zIDM2LjIgMzIuNiA1OS4zbDEyLjYgODguMWMyLjUgMTcuNS05LjcgMzMuNy0yNy4yIDM2LjJzLTMzLjctOS43LTM2LjItMjcuMmwtMTIuNi04OC4xYy0xLjEtNy43LTUtMTQuNy0xMC45LTE5LjhsLTcxLjQtNjEuMmMtMjEuMy0xOC4yLTMzLjUtNDQuOS0zMy41LTcyLjlsMC0xMDF6bS00LjggMjAzLjdjMi4zIDIuMyA0LjcgNC40IDcuMSA2LjVsNDQuOSAzOC41Yy0zLjYgOC40LTguNSAxNi4zLTE0LjQgMjMuNEw4OC42IDUzMi41Yy0xMS4zIDEzLjYtMzEuNSAxNS40LTQ1LjEgNC4xcy0xNS40LTMxLjUtNC4xLTQ1LjFsNzIuMy04Ni43YzIuNi0zLjEgNC41LTYuNiA1LjgtMTAuNGw1LjctMTcuMXpNMCAxNjBjMC0zNS4zIDI4LjctNjQgNjQtNjQgMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZ6Il19LFhBdD1kNWUsUUF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy11cC10by1saW5lIixpY29uOls0NDgsNTEyLFtdLCJlNGMyIiwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyUzE0LjMgNjQgMzIgNjRsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJTNDMzLjcgMCA0MTYgMEwzMiAwem04Ni42IDEzNy40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMNjQgMjM3LjMgNjQgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNDIuNyA5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0em0yNTYgMGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDkuNC05LjQgMCAyNDIuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjQyLjcgOS40IDkuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC02NC02NHoiXX0sSkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnMtZG91YmxlIixpY29uOls2NDAsNTEyLFs5ODkxXSwiZjIyNyIsIk0yODggMzJjMC0xNy43IDE0LjMtMzIgMzItMzJMNDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC01MC43LTk1IDk1YzE5LjUgMjguNCAzMSA2Mi43IDMxIDk5LjggMCA5Ny4yLTc4LjggMTc2LTE3NiAxNzZTMCA0MDEuMiAwIDMwNCA3OC44IDEyOCAxNzYgMTI4YzM3IDAgNzEuNCAxMS40IDk5LjggMzFsOTUtOTUtNTAuNyAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMTc2IDQxNmExMTIgMTEyIDAgMSAwIDAtMjI0IDExMiAxMTIgMCAxIDAgMCAyMjR6bTE2MCA2NGMtNi44IDAtMTMuNC0uNC0yMC0xLjEgMjMuNi0xOC45IDQzLjMtNDIuNSA1Ny42LTY5LjQgNDMuMy0xNS41IDc0LjQtNTYuOSA3NC40LTEwNS41IDAtMjUuMi04LjMtNDguNS0yMi40LTY3LjIgNy4xIDIuMSAxNC42IDMuMiAyMi40IDMuMiAxNyAwIDMyLjctNS4zIDQ1LjctMTQuMyAxMS43IDIzLjYgMTguMyA1MC4yIDE4LjMgNzguMyAwIDk3LjItNzguOCAxNzYtMTc2IDE3NnpNNTI4IDE1Ny4zTDUyOCAzMmMwLTExLjQtMi40LTIyLjItNi43LTMyTDYwOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNTAuNy00OCA0OHoiXX0sZVB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRoZXJtb21ldGVyIixpY29uOls1MTIsNTEyLFtdLCJmNDkxIiwiTTk2IDM4Mi4xbDAtODguOGMwLTE0LjkgNS45LTI5LjEgMTYuNC0zOS42bDIxLjctMjEuNyA0MSA0MWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTQxLTQxIDQ2LjEtNDYuMSA0MSA0MWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTQxLTQxIDQ2LjEtNDYuMSA0MSA0MWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTQxLTQxIDcuOC03LjhjMTkuNC0xOS40IDQ1LjYtMzAuMiA3My0zMC4yIDU3IDAgMTAzLjIgNDYuMiAxMDMuMiAxMDMuMiAwIDI3LjQtMTAuOSA1My42LTMwLjIgNzNMMjU4LjMgMzk5LjZjLTEwLjUgMTAuNS0yNC43IDE2LjQtMzkuNiAxNi40bC04OC44IDAtODkgODljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwUy0yLjMgNDgwLjQgNyA0NzFsODktODl6Il19LHU1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYWludGJydXNoIixpY29uOls1NzYsNTEyLFsxMjgzOTYsInBhaW50LWJydXNoIl0sImYxZmMiLCJNNDgwLjUgMTAuM0wyNTkuMSAxNThjLTI5LjEgMTkuNC00Ny42IDUwLjktNTAuNiA4NS4zIDYyLjMgMTIuOCAxMTEuNCA2MS45IDEyNC4zIDEyNC4zIDM0LjUtMyA2NS45LTIxLjUgODUuMy01MC42TDU2NS43IDk1LjVjNi43LTEwLjEgMTAuMy0yMS45IDEwLjMtMzQuMSAwLTMzLjktMjcuNS02MS40LTYxLjQtNjEuNC0xMi4xIDAtMjQgMy42LTM0LjEgMTAuM3pNMjg4IDQwMGMwLTYxLjktNTAuMS0xMTItMTEyLTExMlM2NCAzMzguMSA2NCA0MDBjMCAzLjkgLjIgNy44IC42IDExLjYgMS44IDE3LjUtMTAuMiAzNi40LTI3LjggMzYuNEwzMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTQ0IDBjNjEuOSAwIDExMi01MC4xIDExMi0xMTJ6Il19LHRQdD11NWUsYVB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im5ldXRlciIsaWNvbjpbMzg0LDUxMixbOTkwNl0sImYyMmMiLCJNODAgMTc2YTExMiAxMTIgMCAxIDEgMjI0IDAgMTEyIDExMiAwIDEgMSAtMjI0IDB6TTIyMy45IDM0OS4xQzMwNS45IDMzNC4xIDM2OCAyNjIuMyAzNjggMTc2IDM2OCA3OC44IDI4OS4yIDAgMTkyIDBTMTYgNzguOCAxNiAxNzZjMCA4Ni4zIDYyLjEgMTU4LjEgMTQ0LjEgMTczLjEtLjEgMS0uMSAxLjktLjEgMi45bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC0xIDAtMS45LS4xLTIuOXoiXX0scDVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1waG9uZS1mbGlwIixpY29uOls0NDgsNTEyLFsicGhvbmUtc3F1YXJlLWFsdCJdLCJmODdiIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTIzMiA5Ni43bDIuOCAuOGMzMi4zIDguOCA1OS45IDQwLjEgNTEuOCA3OC4yLTE4LjUgODcuNS04Ny40IDE1Ni4zLTE3NC45IDE3NC45LTM4LjEgOC4xLTY5LjQtMTkuNS03OC4yLTUxLjhsLS44LTIuOGMtMi43LTkuOCAyLjQtMjAuMSAxMS44LTI0bDQ4LjctMjAuM2M4LjMtMy40IDE3LjgtMS4xIDIzLjUgNS45bDE5LjMgMjMuNmMzNS4xLTE3LjQgNjMuNC00Ni42IDc5LjYtODIuNGwtMjIuMS0xOGMtNi45LTUuNy05LjMtMTUuMi01LjktMjMuNWwyMC4zLTQ4LjdjMy45LTkuNCAxNC4yLTE0LjQgMjQtMTEuOHoiXX0sclB0PXA1ZSxmNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXRvbmd1ZS1zcXVpbnQiLGljb246WzUxMiw1MTIsWzEyODU0MSwiZ3Jpbi10b25ndWUtc3F1aW50Il0sImY1OGEiLCJNMCAyNTZjMCAxMDQuNCA2Mi41IDE5NC4yIDE1Mi4yIDIzNC4xLTUuMy0xMy04LjItMjcuMi04LjItNDIuMWwwLTYxLjdjLTE2LjktMTYuNS0zMC4xLTM2LjctMzguMy01OS4zLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtOC4zIDIyLjYtMjEuNSA0Mi44LTM4LjMgNTkuM2wwIDYxLjdjMCAxNC45LTIuOSAyOS4xLTguMiA0Mi4xIDg5LjctMzkuOCAxNTIuMi0xMjkuNiAxNTIuMi0yMzQuMSAwLTE0MS40LTExNC42LTI1Ni0yNTYtMjU2UzAgMTE0LjYgMCAyNTZ6bTEyNS44LTkxLjdjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjFzMTMuMy05LjIgMjAuNi01LjVsNzkuNiA0MGM1LjQgMi43IDguOCA4LjIgOC44IDE0LjNzLTMuNCAxMS42LTguOCAxNC4zbC03OS42IDQwYy03LjMgMy42LTE2LjEgMS4zLTIwLjYtNS41cy0zLjEtMTUuOSAzLjEtMjEuMUwxNTkgMTkyIDEyNS44IDE2NC4zem0yNjMuNi0yMS4xYzQuNSA2LjggMy4xIDE1LjktMy4xIDIxLjFMMzUzIDE5MiAzODYuMiAyMTkuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXpNMzIwIDQ0OGwwLTQ1LjRjMC0xNC43LTExLjktMjYuNi0yNi42LTI2LjZsLTIgMGMtMTEuMyAwLTIxLjEgNy45LTIzLjYgMTguOS0yLjggMTIuNi0yMC44IDEyLjYtMjMuNiAwLTIuNS0xMS4xLTEyLjMtMTguOS0yMy42LTE4LjlsLTIgMGMtMTQuNyAwLTI2LjYgMTEuOS0yNi42IDI2LjZsMCA0NS40YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6Il19LHNQdD1mNWUsaVB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnQtZG9sbGFyIixpY29uOls1MTIsNTEyLFtdLCJmNjUxIiwiTTI1NiA0ODBjMTQxLjQgMCAyNTYtMTA3LjUgMjU2LTI0MFMzOTcuNCAwIDI1NiAwIDAgMTA3LjUgMCAyNDBjMCA1NC4zIDE5LjIgMTA0LjMgNTEuNiAxNDQuNUwyLjggNDc2LjhjLTQuOCA5LTMuMyAyMCAzLjYgMjcuNXMxNy44IDkuOCAyNy4xIDUuOGwxMTguNC01MC43QzE4My43IDQ3Mi42IDIxOC45IDQ4MCAyNTYgNDgwem00LTM1MmMxMSAwIDIwIDkgMjAgMjBsMCA0IDggMGMxMSAwIDIwIDkgMjAgMjBzLTkgMjAtMjAgMjBsLTQ3LjUgMGMtNi45IDAtMTIuNSA1LjYtMTIuNSAxMi41IDAgNi4xIDQuNCAxMS4zIDEwLjQgMTIuM2w0MS43IDdjMjUuMyA0LjIgNDMuOSAyNi4xIDQzLjkgNTEuOCAwIDI2LjEtMTkgNDcuNy00NCA1MS44bDAgNC43YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTQtMjQgMGMtMTEgMC0yMC05LTIwLTIwczktMjAgMjAtMjBsNTUuNSAwYzYuOSAwIDEyLjUtNS42IDEyLjUtMTIuNSAwLTYuMS00LjQtMTEuMy0xMC40LTEyLjNsLTQxLjctN2MtMjUuMy00LjItNDMuOS0yNi4xLTQzLjktNTEuOCAwLTI4LjggMjMuMi01Mi4yIDUyLTUyLjVsMC00YzAtMTEgOS0yMCAyMC0yMHoiXX0sb1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhpcHBvIixpY29uOls2NDAsNTEyLFsxMjk0MzVdLCJmNmVkIiwiTTQwNyA0N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwxNy4yIDE3LjJjMS45LS4xIDMuOS0uMiA1LjgtLjJsMzIgMGMxMS4yIDAgMjEuOSAyLjMgMzEuNiA2LjVMNTQzIDU1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUw1NjQgMTAxLjljNy42IDEyLjIgMTIgMjYuNyAxMiA0Mi4xIDAgMTAuMiA3LjQgMTguOCAxNi43IDIzIDI3LjkgMTIuNSA0Ny4zIDQwLjUgNDcuMyA3MyAwIDI2LjItMTIuNiA0OS40LTMyIDY0bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNi02NCAwIDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNy42Yy0xMS44LTIuNC0yMi43LTcuNC0zMi0xNC40LTEuNS0xLjEtMi45LTIuMy00LjMtMy41LTE3LTE0LjctMjcuNy0zNi40LTI3LjctNjAuNSAwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmMwIDQ0LjcgMjYuMiA4My4yIDY0IDEwMS4ybDAgMTAuOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNzZjLTE5LjggNy43LTQxLjQgMTItNjQgMTJzLTQ0LjItNC4zLTY0LTEybDAgNzZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTE4LjktMTguMSA0MC43Yy01LjQgMTIuMS0xOS42IDE3LjYtMzEuNyAxMi4yUy0zLjMgMzYyLjQgMi4xIDM1MC4zTDI0IDMwMC45YzUuMy0xMS45IDgtMjQuNyA4LTM3LjcgMC0xMDcuNSA4NS4yLTE5NS4yIDE5MS44LTE5OS4xbC4yLS4xIDY0IDBjNDEuNyAwIDgzLjQgMTIuMSAxMTcuMiAyNS43IDEuNy0xLjggMy41LTMuNiA1LjMtNS4yTDQwNyA4MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6bTczIDE4NWEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwem04OCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTQ4MCAxNDRhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyeiJdfSxuUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm93bC1mb29kIixpY29uOls1MTIsNTEyLFtdLCJlNGM2IiwiTTAgMTc2YzAtMzUuMyAyOC43LTY0IDY0LTY0IC41IDAgMS4xIDAgMS42IDAgNy40LTM2LjUgMzkuNy02NCA3OC40LTY0IDE1IDAgMjkgNC4xIDQwLjkgMTEuMiAxMy4zLTI1LjcgNDAuMS00My4yIDcxLjEtNDMuMnM1Ny44IDE3LjYgNzEuMSA0My4yYzEyLTcuMSAyNi0xMS4yIDQwLjktMTEuMiAzOC43IDAgNzEgMjcuNSA3OC40IDY0IC41IDAgMS4xIDAgMS42IDAgMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCAxMS43LTMuMSAyMi42LTguNiAzMkw4LjYgMjA4QzMuMSAxOTguNiAwIDE4Ny43IDAgMTc2ek0wIDI4My40QzAgMjY4LjMgMTIuMyAyNTYgMjcuNCAyNTZsNDU3LjEgMGMxNS4xIDAgMjcuNCAxMi4zIDI3LjQgMjcuNCAwIDcwLjUtNDQuNCAxMzAuNy0xMDYuNyAxNTQuMUw0MDMuNSA0NTJjLTIgMTYtMTUuNiAyOC0zMS44IDI4bC0yMzEuNSAwYy0xNi4xIDAtMjkuOC0xMi0zMS44LTI4bC0xLjgtMTQuNEM0NC40IDQxNC4xIDAgMzUzLjkgMCAyODMuNHoiXX0sbFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS12aXJ1cyIsaWNvbjpbNDQ4LDUxMixbXSwiZTU3OCIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem0xNjAgODBjMTMuMyAwIDI0IDEwLjcgMjQgMjQgMCAyMi45IDI3LjcgMzQuNCA0My45IDE4LjIgOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45Yy0xNi4yIDE2LjItNC43IDQzLjkgMTguMiA0My45IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yMi45IDAtMzQuNCAyNy43LTE4LjIgNDMuOSA5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwYy0xNi4yLTE2LjItNDMuOS00LjctNDMuOSAxOC4yIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMjIuOS0yNy43LTM0LjQtNDMuOS0xOC4yLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjljMTYuMi0xNi4yIDQuNy00My45LTE4LjItNDMuOS0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzIyLjkgMCAzNC40LTI3LjcgMTguMi00My45LTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGMxNi4yIDE2LjIgNDMuOSA0LjcgNDMuOS0xOC4yIDAtMTMuMyAxMC43LTI0IDI0LTI0ek0xOTIgMjQ4YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptODggNDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sY1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLXN1bi1yYWluIixpY29uOls2NDAsNTEyLFsxMjc3ODJdLCJmNzQzIiwiTTI1NC45IDQ0OC4yYzQuMi0xMi42IDE3LjgtMTkuNCAzMC4zLTE1LjIgMTIuNiA0LjIgMTkuNCAxNy44IDE1LjIgMzAuNGwtMjEuNCA2NC4xYy00LjIgMTIuNi0xNy44IDE5LjQtMzAuNCAxNS4ycy0xOS40LTE3LjgtMTUuMi0zMC4zbDIxLjQtNjQuMnptMTIwIDBjNC4yLTEyLjYgMTcuOC0xOS40IDMwLjMtMTUuMiAxMi42IDQuMiAxOS40IDE3LjggMTUuMiAzMC40bC0yMS40IDY0LjFjLTQuMiAxMi42LTE3LjggMTkuNC0zMC40IDE1LjJzLTE5LjQtMTcuOC0xNS4yLTMwLjNsMjEuNC02NC4yem0xMjAgMGM0LjItMTIuNiAxNy44LTE5LjQgMzAuMy0xNS4yIDEyLjYgNC4yIDE5LjQgMTcuOCAxNS4yIDMwLjRsLTIxLjQgNjQuMWMtNC4yIDEyLjYtMTcuOCAxOS40LTMwLjQgMTUuMnMtMTkuNC0xNy44LTE1LjItMzAuM2wyMS40LTY0LjJ6TTQ0OC4zIDEyOGM0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDcuNS0xLjEgMTQuNy0zIDIxLjUgMjkuOCAxMS42IDUxIDQwLjYgNTEgNzQuNSAwIDQ0LjItMzUuOCA4MC04MCA4MGwtMTkyIDAtOC4yLS40Yy00MC4zLTQuMS03MS44LTM4LjItNzEuOC03OS42IDAtMzkgMjcuOS03MS41IDY0LjktNzguNS0uNS0zLjEtLjktNi4yLS45LTkuNSAwLTMwLjkgMjUuMS01NiA1Ni01NiAxMi40IDAgMjMuOSA0LjEgMzMuMiAxMC45IDEzLjQtMjUuNSA0MC4xLTQyLjkgNzAuOC00Mi45ek0yNDAuMy0zMS44YzUuMyAwIDEwLjMgMi43IDEzLjMgNy4xbDQ3LjMgNzAuNCA4My4zLTE2LjNjNS4yLTEgMTAuNiAuNyAxNC4zIDQuNCAzLjggMy44IDUuNCA5LjIgNC40IDE0LjRsLTguNiA0My44Yy0xMS45IDUuNS0yMi44IDEyLjktMzIuNCAyMS42LTUuNy0xLTExLjctMS41LTE3LjctMS41LTE0LjMgMC0yOCAzLTQwLjQgOC4yLTE2LjktMTUtMzkuMi0yNC4yLTYzLjYtMjQuMi01MyAwLTk2IDQzLTk2IDk2IDAgMzAuOSAxNC42IDU4LjIgMzcuMiA3NS44LTMuNCAxMS41LTUuMiAyMy42LTUuMiAzNi4yIDAgMTMuMiAyIDI1LjkgNS43IDM3LjlsLTIuNC0zLjUtODMuMiAxNi4zYy01LjIgMS0xMC42LS43LTE0LjMtNC40LTMuOC0zLjgtNS40LTkuMi00LjQtMTQuNGwxNi4zLTgzLjMtNzAuNC00Ny40Yy00LjQtMy03LjEtOC03LjEtMTMuMyAwLTUuMyAyLjYtMTAuMyA3LTEzLjJsNzAuNC00Ny40LTE2LjMtODMuMi0uMi0yYy0uMy00LjYgMS4zLTkuMSA0LjYtMTIuNCAzLjgtMy44IDkuMi01LjQgMTQuNC00LjRsODMuMiAxNi4zIDQ3LjMtNzAuNCAxLjItMS42YzMtMy41IDcuNC01LjUgMTIuMS01LjV6bTAgMTc1LjhjOC42IDAgMTYuNiAyLjMgMjMuNiA2LjItOS43IDExLjktMTYuOSAyNS45LTIwLjcgNDEuMy0xNSA4LjEtMjguMiAxOS4yLTM4LjggMzIuMy03LjUtOC41LTEyLjItMTkuNi0xMi4yLTMxLjggMC0yNi41IDIxLjUtNDggNDgtNDh6Il19LGg1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1yaWdodC1sb25nIixpY29uOls1NzYsNTEyLFsibG9uZy1hcnJvdy1yaWdodCJdLCJmMTc4IiwiTTU2Ni42IDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0w0NjYuNyAyMjQgMzIgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDQzNC43IDAtNzMuNCA3My40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjh6Il19LGRQdD1oNWUsdVB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLXVuIixpY29uOls1MTIsNTEyLFtdLCJlNGQ5IiwiTTMyIDY0QzMyIDI4LjcgNjAuNyAwIDk2IDBMMzUyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNzItMTEyIDBjLTIwLjkgMC0zOS41IDEwLjEtNTEuMiAyNS42LTgtNi0xOC05LjYtMjguOC05LjYtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NCA2NCAwIDAgNDgtMTQ0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDMyIDY0ek0xNDQgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMTEyIDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTE0NCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMTEyIDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTQyNy40IDM4MC41YzktMi4xIDE4LjMgMi4yIDIyLjUgMTAuNWwyNi4xIDUyLjIgMC00My4zYzAtMTEgOS0yMCAyMC0yMHMyMCA5IDIwIDIwbDAgMTI4YzAgOS4zLTYuNCAxNy4zLTE1LjQgMTkuNXMtMTguMy0yLjItMjIuNS0xMC41TDQ1MiA0ODQuNyA0NTIgNTI4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTEyOGMwLTkuMyA2LjQtMTcuMyAxNS40LTE5LjV6TTMyNCA0MDBsMCA5NmMwIDYuNiA1LjQgMTIgMTIgMTJzMTItNS40IDEyLTEybDAtOTZjMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjBsMCA5NmMwIDI4LjctMjMuMyA1Mi01MiA1MnMtNTItMjMuMy01Mi01MmwwLTk2YzAtMTEgOS0yMCAyMC0yMHMyMCA5IDIwIDIweiJdfSxwUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtbG93IixpY29uOls1MTIsNTEyLFtdLCJmNzZiIiwiTTk2IDk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCAxNjQuN2MyOS41IDI2LjQgNDggNjQuNyA0OCAxMDcuMyAwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NFM0OCA0NDcuNSA0OCAzNjhjMC00Mi42IDE4LjUtODEgNDgtMTA3LjNMOTYgOTZ6bTk2IDMzNmMzNS4zIDAgNjQtMjguNyA2NC02NCAwLTI2LjktMTYuNS00OS45LTQwLTU5LjNsMC0yOC43YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjguN2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0ek00NjQgODBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzUyIDgwYTgwIDgwIDAgMSAxIDE2MCAwIDgwIDgwIDAgMSAxIC0xNjAgMHoiXX0sZlB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvb3Itb3BlbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjUyYiIsIk0yODggNjRsNjQgMCAwIDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0bC05NiAwIDAgMC0xNjAgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQxNnpNMTYwIDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxoUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYWxpZ24tbGVmdCIsaWNvbjpbNDQ4LDUxMixbXSwiZjAzNiIsIk0yODggNjRjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyem0wIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiAzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6TTAgMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTQ0OCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyeiJdfSxtNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FtZXJhIixpY29uOls1MTIsNTEyLFs2MjI1OCwiY2FtZXJhLWFsdCJdLCJmMDMwIiwiTTE0OS4xIDY0LjhMMTM4LjcgOTYgNjQgOTZDMjguNyA5NiAwIDEyNC43IDAgMTYwTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC03NC43IDAtMTAuNC0zMS4yQzM1Ni40IDQ1LjIgMzM4LjEgMzIgMzE3LjQgMzJMMTk0LjYgMzJjLTIwLjcgMC0zOSAxMy4yLTQ1LjUgMzIuOHpNMjU2IDE5MmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnoiXX0sbVB0PW01ZSxnUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlcnMtcmF5cyIsaWNvbjpbNjQwLDUxMixbXSwiZTU5MyIsIk0zMS0zM0MyMS43LTIzLjYgMjEuNy04LjQgMzEgMUw4NyA1N2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNjUtMzNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwek02MDktMzNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDUxOSAyM2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwTDYwOSAxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45ek02NSA1NDVsNTYtNTZjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEwzMSA1MTFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMHptNTQ0IDBjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlsLTU2LTU2Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDU2IDU2YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwek0zMjAgMjA4YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4em0wIDMyYy02MS45IDAtMTEyIDUwLjEtMTEyIDExMmwwIDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC04YzAtNjEuOS01MC4xLTExMi0xMTItMTEyem0yMTYtODBhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAwek00NTEuMiAyNjAuNEM0NjkuNCAyODYuMyA0ODAgMzE3LjkgNDgwIDM1MmwwIDhjMCA4LjQtMS40IDE2LjUtNC4xIDI0bDc4LjggMGMxMS44IDAgMjEuMy05LjYgMjEuMy0yMS4zbDAtMTAuN2MwLTUzLTQzLTk2LTk2LTk2LTEwIDAtMTkuNyAxLjUtMjguOCA0LjR6bS0yNjIuNCAwYy05LjEtMi45LTE4LjgtNC40LTI4LjgtNC40LTUzIDAtOTYgNDMtOTYgOTZsMCAxMC43YzAgMTEuOCA5LjYgMjEuMyAyMS4zIDIxLjNsNzguOCAwYy0yLjctNy41LTQuMS0xNS42LTQuMS0yNGwwLThjMC0zNC4xIDEwLjYtNjUuNyAyOC44LTkxLjZ6TTIxNiAxNjBhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAweiJdfSxiUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmFpbmJvdyIsaWNvbjpbNjQwLDUxMixbMTI3NzUyXSwiZjc1YiIsIk0zMjAgOTZDMTc4LjYgOTYgNjQgMjEwLjYgNjQgMzUybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0MzMuNyAwIDQxNmwwLTY0QzAgMTc1LjMgMTQzLjMgMzIgMzIwIDMyUzY0MCAxNzUuMyA2NDAgMzUybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NEM1NzYgMjEwLjYgNDYxLjQgOTYgMzIwIDk2em0wIDExMmMtNzkuNSAwLTE0NCA2NC41LTE0NCAxNDRsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTE0LjkgOTMuMS0yMDggMjA4LTIwOHMyMDggOTMuMSAyMDggMjA4bDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTc5LjUtNjQuNS0xNDQtMTQ0LTE0NHpNMjg4IDM1MmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6Il19LHZQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaXRlbWFwIixpY29uOls1MTIsNTEyLFtdLCJmMGU4IiwiTTE5MiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTggMCAwIDY0IDEyMCAwYzM5LjggMCA3MiAzMi4yIDcyIDcybDAgNTYgOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsOCAwIDAtNTZjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTEyMCAwIDAgODAgOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsOCAwIDAtODAtMTIwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNTYgOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsOCAwIDAtNTZjMC0zOS44IDMyLjItNzIgNzItNzJsMTIwIDAgMC02NC04IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjR6Il19LGc1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tc3RhcnMiLGljb246WzUxMiw1MTIsWzEyOTMyMSwiZ3Jpbi1zdGFycyJdLCJmNTg3IiwiTTI1NiA1MTJjMTQxLjQgMCAyNTYtMTE0LjYgMjU2LTI1NiAwLTI0LjQtMy40LTQ4LjEtOS44LTcwLjUgMTguNi0zNi4xLTIuNy04My42LTQ2LjctOTAtNDYuOS01OC4zLTExOC45LTk1LjUtMTk5LjUtOTUuNVMxMDMuNCAzNy4zIDU2LjUgOTUuNWMtNDQgNi40LTY1LjMgNTMuOS00Ni43IDkwLTYuNCAyMi40LTkuOCA0Ni05LjggNzAuNSAwIDE0MS40IDExNC42IDI1NiAyNTYgMjU2ek0zODYuNyAzMjQuOWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtMjIuNCA2MS4zLTgxLjMgMTA1LjEtMTUwLjMgMTA1LjFTMTI4LjEgNDA0LjIgMTA1LjcgMzQyLjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMXptLTMxLjYtMjMxYzUuMy0xMC43IDIwLjUtMTAuNyAyNS44IDBsMjAuOSA0Mi40IDQ2LjcgNi44YzExLjggMS43IDE2LjUgMTYuMiA4IDI0LjVsLTMzLjggMzMgOCA0Ni42YzIgMTEuNy0xMC4zIDIwLjctMjAuOSAxNS4ybC00MS44LTIyLTQxLjggMjJjLTEwLjUgNS41LTIyLjktMy40LTIwLjktMTUuMmw4LTQ2LjYtMzMuOC0zM2MtOC41LTguMy0zLjgtMjIuOCA4LTI0LjVsNDYuNy02LjggMjAuOS00Mi40em0tMTk4LjIgMGwyMC45IDQyLjQgNDYuNyA2LjhjMTEuOCAxLjcgMTYuNSAxNi4yIDggMjQuNWwtMzMuOCAzMyA4IDQ2LjZjMiAxMS43LTEwLjMgMjAuNy0yMC45IDE1LjJsLTQxLjgtMjItNDEuOCAyMmMtMTAuNSA1LjUtMjIuOS0zLjQtMjAuOS0xNS4ybDgtNDYuNi0zMy44LTMzYy04LjUtOC4zLTMuOC0yMi44IDgtMjQuNWw0Ni43LTYuOCAyMC45LTQyLjRjNS4zLTEwLjcgMjAuNS0xMC43IDI1LjggMHoiXX0seFB0PWc1ZSxiNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic29ydC11cCIsaWNvbjpbMzg0LDUxMixbInNvcnQtYXNjIl0sImYwZGUiLCJNMzIgMjI0Yy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44Uy4yIDE3OC41IDkuNCAxNjkuNGwxNjAtMTYwYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDE2MCAxNjBjOS4yIDkuMiAxMS45IDIyLjkgNi45IDM0LjlTMzY0LjkgMjI0IDM1MiAyMjRMMzIgMjI0eiJdfSx5UHQ9YjVlLHp0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJleWUiLGljb246WzU3Niw1MTIsWzEyODA2NV0sImYwNmUiLCJNMjg4IDMyYy04MC44IDAtMTQ1LjUgMzYuOC0xOTIuNiA4MC42LTQ2LjggNDMuNS03OC4xIDk1LjQtOTMgMTMxLjEtMy4zIDcuOS0zLjMgMTYuNyAwIDI0LjYgMTQuOSAzNS43IDQ2LjIgODcuNyA5MyAxMzEuMSA0Ny4xIDQzLjcgMTExLjggODAuNiAxOTIuNiA4MC42czE0NS41LTM2LjggMTkyLjYtODAuNmM0Ni44LTQzLjUgNzguMS05NS40IDkzLTEzMS4xIDMuMy03LjkgMy4zLTE2LjcgMC0yNC42LTE0LjktMzUuNy00Ni4yLTg3LjctOTMtMTMxLjEtNDcuMS00My43LTExMS44LTgwLjYtMTkyLjYtODAuNnpNMTQ0IDI1NmExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xNDQtNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjQtMTEuNSAwLTIyLjMtMy0zMS43LTguNC0xIDEwLjktLjEgMjIuMSAyLjkgMzMuMiAxMy43IDUxLjIgNjYuNCA4MS42IDExNy42IDY3LjlzODEuNi02Ni40IDY3LjktMTE3LjZjLTEyLjItNDUuNy01NS41LTc0LjgtMTAxLjEtNzAuOCA1LjMgOS4zIDguNCAyMC4xIDguNCAzMS43eiJdfSxDdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyZXQtbGVmdCIsaWNvbjpbMjU2LDUxMixbXSwiZjBkOSIsIk03LjcgMjM1LjhjLTEwLjMgMTIuNi05LjUgMzEuMSAyLjIgNDIuOGwxMjggMTI4YzkuMiA5LjIgMjIuOSAxMS45IDM0LjkgNi45czE5LjgtMTYuNiAxOS44LTI5LjZsMC0yNTZjMC0xMi45LTcuOC0yNC42LTE5LjgtMjkuNnMtMjUuNy0yLjItMzQuOSA2LjlsLTEyOCAxMjgtMi4yIDIuNHoiXX0sdjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFwcGxlLXdob2xlIixpY29uOls0NDgsNTEyLFsxMjc4MjIsMTI3ODIzLCJhcHBsZS1hbHQiXSwiZjVkMSIsIk0yMjQgMTEyYy04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MGwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwbC0xNiAwek0wIDI4OGMwLTc2LjMgMzUuNy0xNjAgMTEyLTE2MCAyNy4zIDAgNTkuNyAxMC4zIDgyLjcgMTkuMyAxOC44IDcuMyAzOS45IDcuMyA1OC43IDAgMjIuOS04LjkgNTUuNC0xOS4zIDgyLjctMTkuMyA3Ni4zIDAgMTEyIDgzLjcgMTEyIDE2MCAwIDEyOC04MCAyMjQtMTYwIDIyNC0xNi41IDAtMzguMS02LjYtNTEuNS0xMS4zLTguMS0yLjgtMTYuOS0yLjgtMjUgMC0xMy40IDQuNy0zNSAxMS4zLTUxLjUgMTEuMy04MCAwLTE2MC05Ni0xNjAtMjI0eiJdfSx3UHQ9djVlLHg1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY3JvbGwtdG9yYWgiLGljb246WzU3Niw1MTIsWyJ0b3JhaCJdLCJmNmEwIiwiTTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwIDY4LjkgMCA4Ni43IDEzLjQgOTMuMyAzMmwzODkuNSAwYzYuNi0xOC42IDI0LjQtMzIgNDUuMy0zMiAyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQxNmMwIDI2LjUtMjEuNSA0OC00OCA0OC0yMC45IDAtMzguNy0xMy40LTQ1LjMtMzJMOTMuMyA0ODBjLTYuNiAxOC42LTI0LjQgMzItNDUuMyAzMi0yNi41IDAtNDgtMjEuNS00OC00OEwwIDQ4ek0xNzcuOSAzMDFjLTEuMiAyLTEuOSA0LjItMS45IDYuNiAwIDYuOSA1LjYgMTIuNSAxMi41IDEyLjVsNTYuOSAwIDMwLjUgNDkuMmMyLjYgNC4yIDcuMiA2LjggMTIuMiA2LjhzOS42LTIuNiAxMi4yLTYuOGwzMC41LTQ5LjIgNTYuOSAwYzYuOSAwIDEyLjUtNS42IDEyLjUtMTIuNSAwLTIuMy0uNi00LjYtMS45LTYuNmwtMjcuOC00NSAyNy44LTQ1YzEuMi0yIDEuOS00LjIgMS45LTYuNiAwLTYuOS01LjYtMTIuNS0xMi41LTEyLjVsLTU2LjkgMC0zMC41LTQ5LjJjLTIuNi00LjItNy4yLTYuOC0xMi4yLTYuOHMtOS42IDIuNi0xMi4yIDYuOGwtMzAuNSA0OS4yLTU2LjkgMGMtNi45IDAtMTIuNSA1LjYtMTIuNSAxMi41IDAgMi4zIC42IDQuNiAxLjkgNi42bDI3LjggNDUtMjcuOCA0NXoiXX0sTVB0PXg1ZSxrUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtbG9jayIsaWNvbjpbNjQwLDUxMixbXSwiZTUxMCIsIk01MjggMjI0LjFjNDQuMiAwIDgwIDM1LjggODAgODBsMCA1MC42YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NmMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwek0yNjguNiA2LjVjMTIuMi05LjMgMjkuNy04LjcgNDEuMiAybDE4NSAxNzEuOEM0NDAuMiAxOTUgNDAwIDI0NC44IDQwMCAzMDRsMCAyNC40Yy0xOS42IDE3LjYtMzIgNDMuMS0zMiA3MS41bDAgOTZjMCA1LjUgLjUgMTAuOSAxLjMgMTYuMUwxNDQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDggMi40LTJ6TTI3MiAzMjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTYgOTYgMCAwLTg3LjNjMC0xNi41IDctMzEuNSAxOC40LTQyLjEtOC43LTktMjAuOS0xNC42LTM0LjQtMTQuNmwtMzIgMHptMjU2LTQ3LjljLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwIDAtNDcuOWMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sU1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy1sZWZ0LXJpZ2h0LXRvLWxpbmUiLGljb246WzU3Niw1MTIsW10sImU0YmEiLCJNMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4TDAgMzg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNTZjMC0xNy43LTE0LjMtMzItMzItMzJ6TTM5MC42IDM0Mi42bDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOS40IDkuNC0xMzMuNSAwIDkuNC05LjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy02IDYtOS40IDE0LjEtOS40IDIyLjZzMy40IDE2LjYgOS40IDIyLjZsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOS40LTkuNCAxMzMuNSAwLTkuNCA5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDB6TTU3NiAxMjhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI1NnoiXX0saHY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhc2giLGljb246WzQ0OCw1MTIsW10sImYxZjgiLCJNMTM2LjcgNS45TDEyOCAzMiAzMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDAtOC43LTI2LjFDMzA2LjktNy4yIDI5NC43LTE2IDI4MC45LTE2TDE2Ny4xLTE2Yy0xMy44IDAtMjYgOC44LTMwLjQgMjEuOXpNNDE2IDE0NEwzMiAxNDQgNTMuMSA0NjcuMUM1NC43IDQ5Mi40IDc1LjcgNTEyIDEwMSA1MTJMMzQ3IDUxMmMyNS4zIDAgNDYuMy0xOS42IDQ3LjktNDQuOUw0MTYgMTQ0eiJdfSx5NWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1zYWQtdGVhciIsaWNvbjpbNTEyLDUxMixbMTI4NTQ2LCJzYWQtdGVhciJdLCJmNWI0IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTI3MSA5OGM1LjUtMS4zIDExLjEtMiAxNy0yIDI0LjEgMCA0NS40IDExLjggNTguNSAzMCA3LjcgMTAuOCAyMi43IDEzLjIgMzMuNSA1LjVzMTMuMi0yMi43IDUuNS0zMy41Yy0yMS43LTMwLjItNTcuMy01MC05Ny41LTUwLTEyLjUgMC0yNC42IDEuOS0zNS45IDUuNSA5LjggMTIuNyAxNi41IDI3LjkgMTguOSA0NC42ek0xNzYgMjQwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMTkyLTMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTE4NS40IDI5Mi44Yy0yLjQtMi45LTUuNy00LjgtOS40LTQuOHMtNyAxLjktOS40IDQuOGMtNi41IDcuOC0xMi42IDE2LjEtMTguMyAyNC42LTkgMTMuNC0yMC4zIDMwLjItMjAuMyA0Ny40IDAgMjguMyAyMS41IDUxLjIgNDggNTEuMnM0OC0yMi45IDQ4LTUxLjJjMC0xNy4yLTExLjItMzQtMjAuMy00Ny40LTUuNy04LjUtMTEuOS0xNi43LTE4LjMtMjQuNnoiXX0selB0PXk1ZSxDUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmF4IixpY29uOls1MTIsNTEyLFsxMjgyMjQsMTI4NDM5XSwiZjFhYyIsIk0xNjAgNjRsMCA4MCA2NCAwIDAtODAgMTQ2LjcgMCA0NS4zIDQ1LjMgMCAzNC43IDY0IDAgMC0zNC43YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDQxNiAxOC43QzQwNCA2LjcgMzg3LjcgMCAzNzAuNyAwTDIyNCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NHpNMzIgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMkwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjg4YzAtMTcuNy0xNC4zLTMyLTMyLTMybC00OCAwem00NDggNjRsLTMyMCAwIDAgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMyek0yMjQgMjg4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTAgOTZhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNMzM2IDI2NGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTMxMiAzODRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNNDI0IDI2NGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTQwMCAzODRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sX1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1jaXJjbGUtcGx1cyIsaWNvbjpbNjQwLDUxMixbXSwiZTU0MSIsIk0yODAgMjRhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAwem0yNCAyMTIuN0wzNDEgMjg2LjZjMTIuOC0xNy41IDI4LjUtMzIuNyA0Ni4zLTQ1bC01Ni4yLTc1LjdDMzA2IDEzMiAyNjYuMyAxMTIgMjI0IDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42TDE0NCAyMzYuNyAxNDQgNTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjc1LjN6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0xNi0yMDhsMCA0OCA0OCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC00OC00OCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDQ4IDAgMC00OGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2eiJdfSxUUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFtc2EiLGljb246WzUxMiw1MTIsW10sImY2NjUiLCJNMzQuNiAyODhMODAgMjg4YzguOCAwIDE2LTcuMiAxNi0xNkw5NiA3MmMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMTMyYzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtMTY0YzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAxNjRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xMzJjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MGwwIDIwMGMwIDguOCA3LjIgMTYgMTYgMTZsNDUuNCAwYzE5LjEgMCAzNC42IDE1LjUgMzQuNiAzNC42IDAgOC42LTMuMiAxNi45LTkgMjMuM0w0MTYuNiA0NDFjLTQxLjEgNDUuMi05OS40IDcxLTE2MC42IDcxUzEzNi42IDQ4Ni4yIDk1LjQgNDQxTDkgMzQ1LjljLTUuOC02LjQtOS0xNC43LTktMjMuMyAwLTE5LjEgMTUuNS0zNC42IDM0LjYtMzQuNnpNMjU2IDI4OGMtMzguNCAwLTc2LjggMzUuOC05MC42IDUwLjItMy42IDMuNy01LjQgOC43LTUuNCAxMy44czEuOCAxMC4xIDUuNCAxMy44QzE3OS4yIDM4MC4yIDIxNy42IDQxNiAyNTYgNDE2czc2LjgtMzUuOCA5MC42LTUwLjJjMy42LTMuNyA1LjQtOC43IDUuNC0xMy44cy0xLjgtMTAuMS01LjQtMTMuOEMzMzIuOCAzMjMuOCAyOTQuNCAyODggMjU2IDI4OHptMCAzMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LExQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tY2lyY2xlLXF1ZXN0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTQyIiwiTTI4MCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43TDM0MSAyODYuNmMxMi44LTE3LjUgMjguNS0zMi43IDQ2LjMtNDVsLTU2LjItNzUuN0MzMDYgMTMyIDI2Ni4zIDExMiAyMjQgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTQ0IDIzNi43IDE0NCA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTAwYTIwIDIwIDAgMSAxIDAgNDAgMjAgMjAgMCAxIDEgMC00MHptMC0xMDBjLTExLjYgMC0yMS4zIDguMi0yMy41IDE5LjItMS44IDguNy0xMC4yIDE0LjMtMTguOSAxMi41cy0xNC4zLTEwLjItMTIuNS0xOC45YzUuMi0yNS42IDI3LjgtNDQuOCA1NC45LTQ0LjggMzAuOSAwIDU2IDI1LjEgNTYgNTYgMCAxOS44LTExLjcgMzcuOC0yOS44IDQ1LjlsLTEwLjQgNC42Yy0xLjIgNy43LTcuOCAxMy41LTE1LjggMTMuNS04LjggMC0xNi03LjItMTYtMTYgMC0xMS4yIDYuNi0yMS4zIDE2LjgtMjUuOWwxMi40LTUuNWM2LjYtMi45IDEwLjgtOS40IDEwLjgtMTYuNiAwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sJFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsaXBib2FyZC1jaGVjayIsaWNvbjpbMzg0LDUxMixbXSwiZjQ2YyIsIk0yNTYgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJsOC42IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzNTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDguNiAwQzgzLjYgMTIuOSAxMDQuMyAwIDEyOCAwTDI1NiAwem0yNi45IDIxMi42Yy0xMC43LTcuOC0yNS43LTUuNC0zMy41IDUuM2wtODUuNiAxMTcuNy0yNi41LTI3LjRjLTkuMi05LjUtMjQuNC05LjgtMzMuOS0uNnMtOS44IDI0LjQtLjYgMzMuOWw0Ni40IDQ4YzQuOSA1LjEgMTEuOCA3LjggMTguOSA3LjNzMTMuNi00LjEgMTcuOC05LjhMMjg4LjIgMjQ2LjFjNy44LTEwLjcgNS40LTI1LjctNS4zLTMzLjV6TTEzNiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwxMzYgNjR6Il19LHc1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGFyZS1mcm9tLXNxdWFyZSIsaWNvbjpbNTc2LDUxMixbNjE1MDksInNoYXJlLXNxdWFyZSJdLCJmMTRkIiwiTTM4NC41IDI0bDAgNzItNjQgMGMtNzkuNSAwLTE0NCA2NC41LTE0NCAxNDQgMCA5My40IDgyLjggMTM0LjggMTAwLjYgMTQyLjYgMi4yIDEgNC42IDEuNCA3LjEgMS40bDIuNSAwYzkuOCAwIDE3LjgtOCAxNy44LTE3LjggMC04LjMtNS45LTE1LjUtMTIuOC0yMC4zLTguOS02LjItMTkuMi0xOC4yLTE5LjItNDAuNSAwLTQ1IDM2LjUtODEuNSA4MS41LTgxLjVsMzAuNSAwIDAgNzJjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yczE5LjMgMS43IDI2LjItNS4ybDEzNi0xMzZjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMNDI1LjUgN2MtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMzODQuNSAxNC4zIDM4NC41IDI0em0tMjcyIDcyYy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDI1NmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwyNTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0yNTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjU2YzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAweiJdfSxEUHQ9dzVlLF90ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZWNlaXB0IixpY29uOlszODQsNTEyLFsxMjk1MzRdLCJmNTQzIiwiTTE0IDIuMkMyMi41LTEuNyAzMi41LS4zIDM5LjYgNS44TDgwIDQwLjQgMTIwLjQgNS44YzktNy43IDIyLjMtNy43IDMxLjIgMEwxOTIgNDAuNCAyMzIuNCA1LjhjOS03LjcgMjIuMi03LjcgMzEuMiAwTDMwNCA0MC40IDM0NC40IDUuOGM3LjEtNi4xIDE3LjEtNy41IDI1LjYtMy42UzM4NCAxNC42IDM4NCAyNGwwIDQ2NGMwIDkuNC01LjUgMTcuOS0xNCAyMS44cy0xOC41IDIuNS0yNS42LTMuNmwtNDAuNC0zNC42LTQwLjQgMzQuNmMtOSA3LjctMjIuMiA3LjctMzEuMiAwbC00MC40LTM0LjYtNDAuNCAzNC42Yy05IDcuNy0yMi4zIDcuNy0zMS4yIDBMODAgNDcxLjYgMzkuNiA1MDYuMmMtNy4xIDYuMS0xNy4xIDcuNS0yNS42IDMuNlMwIDQ5Ny40IDAgNDg4TDAgMjRDMCAxNC42IDUuNSA2LjEgMTQgMi4yek0xMDQgMTM2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNzYgMHpNODAgMzUyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNzYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTI0LTEyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTc2IDB6Il19LEFQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlcXVhbHMiLGljb246WzQ0OCw1MTIsWzYyNzY0XSwiM2QiLCJNMzIgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDEyOHptMCAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzIweiJdfSxQUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hldnJvbi11cCIsaWNvbjpbNDQ4LDUxMixbXSwiZjA3NyIsIk0yMDEuNCAxMDUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxOTIgMTkyYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDIyNCAxNzMuMyA1NC42IDM0Mi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2wxOTItMTkyeiJdfSxFUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlydXMtc2xhc2giLGljb246WzU3Niw1MTIsW10sImUwNzUiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODguNi04OC42YzEuNy0xMi4xLTItMjQuOC0xMS4zLTM0LTMxLjItMzEuMi05LjEtODQuNSAzNS04NC41IDIyLjEgMCA0MC0xNy45IDQwLTQwcy0xNy45LTQwLTQwLTQwYy00NC4xIDAtNjYuMS01My4zLTM1LTg0LjUgMTUuNi0xNS42IDE1LjYtNDAuOSAwLTU2LjZzLTQwLjktMTUuNi01Ni42IDBjLTMxLjIgMzEuMi04NC41IDkuMS04NC41LTM1IDAtMjIuMS0xNy45LTQwLTQwLTQwcy00MCAxNy45LTQwIDQwYzAgNDQuMS01My4zIDY2LjEtODQuNSAzNS05LjMtOS4zLTIyLTEzLTM0LTExLjNMNDEtMjQuOXpNNzIgMjE2Yy0yMi4xIDAtNDAgMTcuOS00MCA0MHMxNy45IDQwIDQwIDQwYzQ0LjEgMCA2Ni4xIDUzLjMgMzUgODQuNS0xNS42IDE1LjYtMTUuNiA0MC45IDAgNTYuNnM0MC45IDE1LjYgNTYuNiAwYzMxLjItMzEuMiA4NC41LTkuMSA4NC41IDM1IDAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBjMC0yMS40IDEyLjYtMzcuNiAyOS4xLTQ1LjFsLTI0MC0yNDBDMTA5LjYgMjAzLjQgOTMuNCAyMTYgNzIgMjE2eiJdfSxJUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2xhc2giLGljb246WzU3Niw1MTIsW10sImY3MTUiLCJNNy0yNWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMEw1NjkgNTAzYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMNyA5Qy0yLjMtLjQtMi4zLTE1LjYgNy0yNXoiXX0sTlB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV4cGFuZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjA2NSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0bDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6TTY0IDM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDMzNC4zIDAgMzUybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTY0ek0zMjAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMCAwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOTYgMHpNNDQ4IDM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0LTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2eiJdfSxNNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibm90ZS1zdGlja3kiLGljb246WzQ0OCw1MTIsWzYyMDI2LCJzdGlja3ktbm90ZSJdLCJmMjQ5IiwiTTY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDIxMy41YzAgMTctNi43IDMzLjMtMTguNyA0NS4zTDMyMi43IDQ2MS4zYy0xMiAxMi0yOC4zIDE4LjctNDUuMyAxOC43TDY0IDQ4MHpNMzg5LjUgMzA0TDI5NiAzMDRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgOTMuNSAxMTcuNS0xMTcuNXoiXX0sUlB0PU01ZSxrNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUtY29sdW1ucyIsaWNvbjpbNDQ4LDUxMixbImNvbHVtbnMiXSwiZjBkYiIsIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnptNjQgNjRsMCAyNTYgMTI4IDAgMC0yNTYtMTI4IDB6bTMyMCAwbC0xMjggMCAwIDI1NiAxMjggMCAwLTI1NnoiXX0sT1B0PWs1ZSxGUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXNoZWx0ZXIiLGljb246WzUxMiw1MTIsW10sImU1NGYiLCJNMjcxLjkgNC4yYy05LjgtNS42LTIxLjktNS42LTMxLjggMGwtMjI0IDEyOEM2LjIgMTM3LjkgMCAxNDguNSAwIDE2MEwwIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDY0IDE3OC42IDI1NiA2OC45IDQ0OCAxNzguNiA0NDggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMjBjMC0xMS41LTYuMi0yMi4xLTE2LjEtMjcuOGwtMjI0LTEyOHpNMjU2IDIwOGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6bS04IDE5MmwxNiAwIDAgODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE3NC41IDI2LjkgNDkuOWM2LjMgMTEuNyAyMC44IDE2IDMyLjUgOS44czE2LTIwLjggOS44LTMyLjVsLTMzLjItNjEuN0MzMjkuNyAyNDUuMSAyOTQuNCAyMjQgMjU2IDIyNHMtNzMuNyAyMS4xLTkxLjkgNTQuOWwtMzMuMiA2MS43Yy02LjMgMTEuNy0xLjkgMjYuMiA5LjggMzIuNXMyNi4yIDEuOSAzMi41LTkuOEwyMDAgMzEzLjUgMjAwIDQ4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtODh6Il19LEJQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtbm90Y2giLGljb246WzUxMiw1MTIsW10sImYxY2UiLCJNMjIyLjcgMzIuMWM1IDE2LjktNC42IDM0LjgtMjEuNSAzOS44LTc5LjMgMjMuNi0xMzcuMSA5Ny4xLTEzNy4xIDE4NC4xIDAgMTA2IDg2IDE5MiAxOTIgMTkyczE5Mi04NiAxOTItMTkyYzAtODYuOS01Ny44LTE2MC40LTEzNy4xLTE4NC4xLTE2LjktNS0yNi42LTIyLjktMjEuNS0zOS44czIyLjktMjYuNiAzOS44LTIxLjVDNDM0LjkgNDIuMSA1MTIgMTQwIDUxMiAyNTYgNTEyIDM5Ny40IDM5Ny40IDUxMiAyNTYgNTEyUzAgMzk3LjQgMCAyNTZjMC0xMTYgNzcuMS0yMTMuOSAxODIuOS0yNDUuNCAxNi45LTUgMzQuOCA0LjYgMzkuOCAyMS41eiJdfSxIUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2F0ZXIiLGljb246WzUxMiw1MTIsW10sImY3NzMiLCJNNDEwLjYgMTI0LjFjMjAuNyAxNS42IDQ2IDMwLjcgNzQuMiAzNC41IDEzLjEgMS44IDI1LjItNy41IDI3LTIwLjZzLTcuNS0yNS4yLTIwLjYtMjdjLTE1LjktMi4xLTMzLjItMTEuMy01MS43LTI1LjItMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM3MtMzAuNS04LjItNTQuNS0yNi4zYy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMTguNSAxMy45LTM1LjggMjMuMS01MS43IDI1LjItMTMuMSAxLjgtMjIuNCAxMy44LTIwLjYgMjdzMTMuOCAyMi40IDI3IDIwLjZjMjguMi0zLjggNTMuNi0xOC45IDc0LjItMzQuNSAyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMCAyNC4yIDE4LjMgNTIuMyAzNS45IDgzLjQgMzUuOXM1OS4xLTE3LjcgODMuNC0zNS45YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwem0wIDE0NGMyMC43IDE1LjYgNDYgMzAuNyA3NC4yIDM0LjUgMTMuMSAxLjggMjUuMi03LjUgMjctMjAuNnMtNy41LTI1LjItMjAuNi0yN2MtMTUuOS0yLjEtMzMuMi0xMS4zLTUxLjctMjUuMi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0xOC41IDEzLjktMzUuOCAyMy4xLTUxLjcgMjUuMi0xMy4xIDEuNy0yMi40IDEzLjgtMjAuNiAyN3MxMy44IDIyLjQgMjcgMjAuNmMyOC4yLTMuOCA1My42LTE4LjkgNzQuMi0zNC41IDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1LjljMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDB6bS03MS4yIDE0NGMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMCAyMC43IDE1LjYgNDYgMzAuNyA3NC4yIDM0LjUgMTMuMSAxLjggMjUuMi03LjUgMjctMjAuNnMtNy41LTI1LjItMjAuNi0yN2MtMTUuOS0yLjEtMzMuMi0xMS4zLTUxLjctMjUuMi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0xOC41IDEzLjktMzUuOCAyMy4xLTUxLjcgMjUuMi0xMy4xIDEuOC0yMi40IDEzLjgtMjAuNiAyN3MxMy44IDIyLjQgMjcgMjAuNmMyOC4yLTMuOCA1My42LTE4LjkgNzQuMi0zNC41IDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1Ljl6Il19LFM1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkZWxldGUtbGVmdCIsaWNvbjpbNjQwLDUxMixbOTAwMywiYmFja3NwYWNlIl0sImY1NWEiLCJNNTc2IDEyOGMwLTM1LjMtMjguNy02NC02NC02NEwyMDUuMyA2NGMtMTcgMC0zMy4zIDYuNy00NS4zIDE4LjdMOS40IDIzMy40Yy02IDYtOS40IDE0LjEtOS40IDIyLjZzMy40IDE2LjYgOS40IDIyLjZMMTYwIDQyOS4zYzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdMNTEyIDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NnpNMjg0LjEgMTg4LjFjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMzMuOSAzMy45IDMzLjktMzMuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTMzLjkgMzMuOSAzMy45IDMzLjljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMzMuOS0zMy45LTMzLjkgMzMuOWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMy45LTMzLjktMzMuOS0zMy45Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXoiXX0scVB0PVM1ZSxQZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJvb20tYmFsbCIsaWNvbjpbNTc2LDUxMixbInF1aWRkaXRjaCIsInF1aWRkaXRjaC1icm9vbS1iYWxsIl0sImY0NTgiLCJNNDk2IDU0NGE4MCA4MCAwIDEgMSAwLTE2MCA4MCA4MCAwIDEgMSAwIDE2MHpNMTA2LjggMjc3LjJjMzAuNi0zMC42IDczLjEtNDUuOSAxMTUuOC00Mi4yTDM0MSAzNTMuM2MzLjcgNDIuOC0xMS42IDg1LjItNDIuMiAxMTUuOS0yNy40IDI3LjQtNjQuNiA0Mi44LTEwMy4zIDQyLjhMMjIuMSA1MTJjLTEyLjIgMC0yMi4xLTkuOS0yMi4xLTIyLjEgMC02LjMgMi43LTEyLjMgNy4zLTE2LjVMMTMzLjcgMzU5LjdjNC4yLTMuNy0uNC0xMC40LTUuNC03LjlMNzcuMiAzNzcuNGMtNi4xIDMtMTMuMi0xLjQtMTMuMi04LjIgMC0zMS41IDEyLjUtNjEuOCAzNC44LTg0bDgtOHptNDE3LTI3MGMxMi42LTEwLjMgMzEuMS05LjUgNDIuOCAyLjJzMTIuNCAzMC4yIDIuMiA0Mi44bC0yLjIgMi40LTE5MiAxOTIgMzQuOCAzNC43YzQuMiA0LjIgNi42IDEwIDYuNiAxNiAwIDEyLjUtMTAuMSAyMi42LTIyLjYgMjIuNmwtMjkuMSAwLTEwOC4zLTEwOC4zIDAtMjkuMWMwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNiA2IDAgMTEuOCAyLjQgMTYgNi42bDM0LjggMzQuNyAxOTItMTkyIDIuNC0yLjJ6Il19LFZQdD1QZWUsalB0PVBlZSxVUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaiIsaWNvbjpbMzIwLDUxMixbMTA2XSwiNGEiLCJNMjg4IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjU2YzAgODguNC03MS42IDE2MC0xNjAgMTYwUzAgNDA4LjQgMCAzMjBsMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzJjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sejVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNodXR0bGUtc3BhY2UiLGljb246WzU3Niw1MTIsWyJzcGFjZS1zaHV0dGxlIl0sImYxOTciLCJNMCAzNjhsMCA2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw1MCAwYzQwLjYgMCA4MC40LTExIDExNS4yLTMxLjlsMTMzLjUtODAuMS05My4zIDAtNjQuOSAzOC45Yy0xNCA4LjQtMjguOSAxNC43LTQ0LjUgMTlsMC02Ni40YzkuNy01LjYgMTcuOC0xMy43IDIzLjQtMjMuNGwxOTguOCAwYzY3LjEgMCAxMjcuOC0yMC42IDE3MC4zLTcwLjYgNC42LTUuNCA0LjYtMTMuMyAwLTE4LjgtNDIuNS01MC4xLTEwMy4yLTcwLjYtMTcwLjMtNzAuNmwtMTk4LjggMGMtNS42LTkuNy0xMy43LTE3LjgtMjMuNC0yMy40bDAtNjYuNGMxNS42IDQuMiAzMC42IDEwLjYgNDQuNSAxOWw2NC45IDM4LjkgOTMuMyAwLTEzMy41LTgwLjFDMTc4LjQgNDMgMTM4LjYgMzIgOTggMzJMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDM2OHptOTYgMGwwIDY0LTQ4IDAgMC02NCA0OCAwek05NiA4MGwwIDY0LTQ4IDAgMC02NCA0OCAwek00MTYgMjI0YzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxXUHQ9ejVlLEdQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ5aW4teWFuZyIsaWNvbjpbNTEyLDUxMixbOTc3NV0sImY2YWQiLCJNMjI0IDE2MGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0zMiAzNTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTQ0OGM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5Ni05NiA0My05NiA5NiA0MyA5NiA5NiA5NkMxNTAgNDQ4IDY0IDM2MiA2NCAyNTZTMTUwIDY0IDI1NiA2NHpNMjI0IDM1MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxZUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RvcCIsaWNvbjpbNDQ4LDUxMixbOTIwOV0sImYwNGQiLCJNNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMyeiJdfSxLUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJvd2VsIixpY29uOls1NzYsNTEyLFtdLCJlNTg5IiwiTTQwNy45IDE4MS40TDI3Ny4zIDMxMiAzNDIuNiAzNzcuNGM3LjkgNy45IDExLjEgMTkuNCA4LjQgMzAuM3MtMTAuOCAxOS42LTIxLjUgMjIuOWwtMjU2IDgwYy0xMS40IDMuNS0yMy44IC41LTMyLjItNy45cy0xMS41LTIwLjgtNy45LTMyLjJsODAtMjU2YzMuMy0xMC43IDEyLTE4LjkgMjIuOS0yMS41czIyLjQgLjUgMzAuMyA4LjRMMjMyIDI2Ni43IDM2Mi42IDEzNi4xYy0xNC4zLTE0LjYtMTQuMi0zOCAuMy01Mi41bDk1LjQtOTUuNGMyNi45LTI2LjkgNzAuNS0yNi45IDk3LjUgMHMyNi45IDcwLjUgMCA5Ny41bC05NS40IDk1LjRjLTE0LjUgMTQuNS0zNy45IDE0LjYtNTIuNSAuM3oiXX0sQzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtYmFjay1maXN0IixpY29uOlszODQsNTEyLFsiaGFuZC1yb2NrIl0sImYyNTUiLCJNNy40IDI1My42QzIuNiAyNDUuOSAwIDIzNy4xIDAgMjI4bDAtMzZjMC0yNi41IDIxLjUtNDggNDgtNDhsMTYgMCAwLTgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4IDE3LjMgMCAzMi40IDkuMSA0MC45IDIyLjggNC4zLTIyLjEgMjMuOC0zOC44IDQ3LjEtMzguOCAyMy40IDAgNDIuOSAxNi44IDQ3LjEgMzguOSA3LjMtNC40IDE1LjgtNi45IDI0LjktNi45IDIyLjEgMCA0MC44IDE1IDQ2LjMgMzUuNCA1LjUtMi4yIDExLjQtMy40IDE3LjctMy40IDI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTYuOWMwIDkuOS0yLjMgMTkuNy02LjggMjguNmwtMzkuNiA3OS4xYy0xMC44IDIxLjctMzMgMzUuNC01Ny4yIDM1LjRMOTYgMzUyYy0xNi41IDAtMzEuOC04LjQtNDAuNi0yMi40bC00OC03NnpNMzIgNDgwbDAtNDhjMC0xNy43IDE0LjMtMzIgMzItMzJsMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkw2NCA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxaUHQ9QzVlLFhQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS1oaWdoIixpY29uOls1MTIsNTEyLFtdLCJmNzY5IiwiTTk2IDk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCAxNjQuN2MyOS41IDI2LjQgNDggNjQuNyA0OCAxMDcuMyAwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NFM0OCA0NDcuNSA0OCAzNjhjMC00Mi42IDE4LjUtODEgNDgtMTA3LjNMOTYgOTZ6bTk2IDMzNmMzNS4zIDAgNjQtMjguNyA2NC02NCAwLTI2LjktMTYuNS00OS45LTQwLTU5LjNMMjE2IDk2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjEyLjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NHpNNDY0IDgwYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTM1MiA4MGE4MCA4MCAwIDEgMSAxNjAgMCA4MCA4MCAwIDEgMSAtMTYwIDB6Il19LFFQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJncmVhdGVyLXRoYW4iLGljb246WzUxMiw1MTIsWzYyNzY5XSwiM2UiLCJNMzQuOSA1MC42Yy03LjQgMTYtLjQgMzUuMSAxNS42IDQyLjVMNDAzLjYgMjU2IDUwLjYgNDE5Yy0xNiA3LjQtMjMuMSAyNi40LTE1LjYgNDIuNXMyNi40IDIzIDQyLjUgMTUuNmw0MTYtMTkyYzExLjMtNS4yIDE4LjYtMTYuNiAxOC42LTI5LjFzLTcuMy0yMy44LTE4LjYtMjkuMUw3Ny40IDM1Yy0xNi03LjQtMzUuMS0uNC00Mi41IDE1LjZ6Il19LEpQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjcnV0Y2giLGljb246WzUxMiw1MTIsW10sImY3ZjciLCJNMjk3LjQgOS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDE2MCAxNjBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTEuNC0xLjQtMTU4LjYgMTU4LjZjLTE4IDE4LTQyLjQgMjguMS02Ny45IDI4LjFsLTU5IDBjLTguNSAwLTE2LjYgMy40LTIyLjYgOS40LTYxLjcgNjEuNy05Mi44IDkyLjgtOTMuMyA5My4zLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDE2LTE2IDAgMCA3Ny4zLTc3LjNjNi02IDkuNC0xNC4xIDkuNC0yMi42bDAtNTljMC0yNS41IDEwLjEtNDkuOSAyOC4xLTY3LjlMMjk4LjcgNTYgMjk3LjQgNTQuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6TTM0NCAxMDEuM0wyNjEuMyAxODQgMzI4IDI1MC43IDQxMC43IDE2OCAzNDQgMTAxLjN6bS0xMjggMTI4bC0zMC42IDMwLjZjLTYgNi05LjQgMTQuMS05LjQgMjIuNmwwIDUzLjUgNTMuNSAwYzguNSAwIDE2LjYtMy40IDIyLjYtOS40TDI4Mi43IDI5NiAyMTYgMjI5LjN6Il19LF81ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzZXB0YWdvbiIsaWNvbjpbNTc2LDUxMixbImhlcHRhZ29uIl0sImU4MjAiLCJNMjY3LjQtMzEuNWMxNS45LTUuNSAzMy41LTQuNiA0OC44IDIuN2wxNzIuNCA4MyA2LjMgMy41YzE0LjIgOSAyNC41IDIzLjMgMjguMyAzOS45bDQyLjYgMTg2LjUgMS4yIDcuMmMxLjYgMTQuMy0xLjcgMjguOC05LjQgNDEuMWwtNC4yIDUuOS0xMTkuMyAxNDkuNmMtMTIuMSAxNS4yLTMwLjYgMjQuMS01MCAyNC4xbC0xOTEuMyAwYy0xOS41IDAtMzcuOS04LjktNTAtMjQuMUwyMy41IDMzOC40Yy0xMi4xLTE1LjItMTYuNy0zNS4yLTEyLjMtNTQuMmw0Mi42LTE4Ni41IDItN2M1LjYtMTUuOSAxNy4yLTI5IDMyLjYtMzYuNGwxNzIuNC04MyA2LjctMi43eiJdfSxlRXQ9XzVlLHRFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdHJlZXQtdmlldyIsaWNvbjpbNTEyLDUxMixbXSwiZjIxZCIsIk0yNTYgMGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNMjI0IDE2MGw2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNDhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTEuOCAwLTExLjEgOTkuNWMtMS44IDE2LjItMTUuNSAyOC41LTMxLjggMjguNWwtMzguNyAwYy0xNi4zIDAtMzAtMTIuMy0zMS44LTI4LjVsLTExLjEtOTkuNS0xLjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC00OGMwLTM1LjMgMjguNy02NCA2NC02NHpNNDEyLjQgNDAwLjJjLTE2LjEtNC4yLTM0LjgtNy42LTU1LjQtMTAuMmw1LjMtNDcuN2MyMi43IDIuOSA0My43IDYuNyA2Mi4xIDExLjUgMjIuNCA1LjggNDIuNiAxMy4zIDU3LjggMjMuMyAxNC43IDkuNiAyOS44IDI0LjkgMjkuOCA0N3MtMTUuMSAzNy40LTI5LjggNDdjLTE1LjIgOS45LTM1LjUgMTcuNS01Ny44IDIzLjMtNDUuMSAxMS43LTEwNS4zIDE3LjgtMTY4LjQgMTcuOHMtMTIzLjMtNi4xLTE2OC40LTE3LjhDNjUuMiA0ODguNCA0NSA0ODAuOSAyOS44IDQ3MSAxNS4xIDQ2MS40IDAgNDQ2LjEgMCA0MjRzMTUuMS0zNy40IDI5LjgtNDdjMTUuMi05LjkgMzUuNS0xNy41IDU3LjgtMjMuMyAxOC41LTQuOCAzOS41LTguNiA2Mi4xLTExLjVMMTU1IDM5MGMtMjAuNiAyLjYtMzkuMyA2LjEtNTUuNCAxMC4yLTU2LjYgMTQuNi01Ni42IDMyLjkgMCA0Ny41IDM5LjkgMTAuMyA5NS44IDE2LjIgMTU2LjQgMTYuMnMxMTYuNS01LjkgMTU2LjQtMTYuMmM1Ni42LTE0LjYgNTYuNi0zMi45IDAtNDcuNXoiXX0sYUV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhdmUtc3F1YXJlIixpY29uOls1MTIsNTEyLFtdLCJmODNlIiwiTTY0IDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjg4IDk2IDAgMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjg4LTk2IDAgMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTEyOHoiXX0sckV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuZ2xlLWxlZnQiLGljb246WzI1Niw1MTIsWzgyNDldLCJmMTA0IiwiTTkuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDc3LjMgMjU2IDIxNC42IDExOC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYweiJdfSxzRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2NyZXdkcml2ZXIiLGljb246WzU3Niw1MTIsWzEyOTY5MV0sImY1NGEiLCJNMzUyLjEgMTQ2LjdsMC00OS42YzAtMTAuNyA1LjMtMjAuNyAxNC4yLTI2LjZMNDg1LjItOC43YzYuMy00LjIgMTQuOC0zLjQgMjAuMiAybDQ1LjQgNDUuNWM1LjQgNS40IDYuMiAxMy44IDIgMjAuMkw0NzMuNiAxNzcuOGMtNS45IDguOS0xNS45IDE0LjItMjYuNiAxNC4ybC00OS42IDAtOTAuNyA5MC43YzE1IDMzLjMgOC45IDczLjktMTguNSAxMDEuM0wxNjIuMSA1MTAuMWMtMTguNyAxOC43LTQ5LjEgMTguNy02Ny45IDBMMzQuMSA0NDkuOWMtMTguNy0xOC43LTE4LjctNDkuMSAwLTY3LjlMMTYwLjEgMjU2YzI3LjQtMjcuNCA2Ny45LTMzLjYgMTAxLjMtMTguNWw5MC43LTkwLjd6Il19LGlFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFjdG9yIixpY29uOls1NzYsNTEyLFsxMjg2NjhdLCJmNzIyIiwiTTE2MCA5NmwwIDk2IDEzMy40IDAtNTcuNi05Ni03NS44IDB6TTk2IDIyM0w5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMDcuOCAwYzIyLjUgMCA0My4zIDExLjggNTQuOSAzMS4xbDc3LjQgMTI4LjkgNjQgMCAwLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA3MiA0OCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDEuNWMwIDE0LjItNi4zIDI3LjgtMTcuMyAzNi45bC0zNSAyOS4yYzI2LjUgMTUuMiA0NC4zIDQzLjcgNDQuMyA3Ni40IDAgNDguNi0zOS40IDg4LTg4IDg4cy04OC0zOS40LTg4LTg4YzAtMTQuNCAzLjUtMjggOS42LTQwbC0xMDEuMiAwYy0zIDEzLjQtNy45IDI2LTE0LjQgMzcuNyA3LjcgOS40IDcuMiAyMy40LTEuNiAzMi4ybC0yMi42IDIyLjZjLTguOCA4LjgtMjIuNyA5LjMtMzIuMiAxLjYtOS4zIDUuMi0xOS4zIDkuMy0yOS44IDEyLjMtMS4yIDEyLjEtMTEuNCAyMS42LTIzLjkgMjEuNmwtMzIgMGMtMTIuNCAwLTIyLjctOS41LTIzLjktMjEuNi0xMC41LTMtMjAuNC03LjItMjkuOC0xMi4zLTkuNCA3LjctMjMuNCA3LjItMzIuMi0xLjZMMzUuNSA0NTMuOGMtOC44LTguOC05LjMtMjIuNy0xLjYtMzIuMi01LjItOS4zLTkuMy0xOS4zLTEyLjMtMjkuOC0xMi4xLTEuMi0yMS42LTExLjQtMjEuNi0yMy45bDAtMzJjMC0xMi40IDkuNS0yMi43IDIxLjYtMjMuOSAzLTEwLjUgNy4yLTIwLjQgMTIuMy0yOS44LTcuNy05LjQtNy4yLTIzLjQgMS42LTMyLjJsMjIuNi0yMi42YzguOC04LjggMjIuNy05LjMgMzIuMi0xLjYgMS45LTEgMy43LTIgNS43LTN6bTY0IDY1YTY0IDY0IDAgMSAwIDAgMTI4IDY0IDY0IDAgMSAwIDAtMTI4ek00NDAgNDI0YTQwIDQwIDAgMSAwIDgwIDAgNDAgNDAgMCAxIDAgLTgwIDB6Il19LG9FdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmlkZ2UtY2lyY2xlLXhtYXJrIixpY29uOls1NzYsNTEyLFtdLCJlNGNiIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nmw4IDAgMCA2NC00MCAwIDAgMTEyYzM3LjYgOS40IDY0IDQzLjIgNjQgODJsMCA5NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC01MyA0My05NiA5Ni05NiA2LjQgMCAxMi43IC42IDE4LjcgMS44IDM0LjctNDkuNSA5Mi4yLTgxLjggMTU3LjMtODEuOCAyOC42IDAgNTUuNiA2LjIgODAgMTcuNGwwLTY1LjQtNDAgMCAwLTY0IDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnpNNDI0IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTI5NiA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek04OCA5Nmw4MCAwIDAgNjQtODAgMCAwLTY0ek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN2wtMzYuNyAzNi43IDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnoiXX0sbkV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpYWxzIixpY29uOls1MTIsNTEyLFtdLCJmNDkzIiwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyUzE0LjMgNjQgMzIgNjRsMCAzNTJjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTM1MiA2NCAwIDAgMzUyYzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMC0zNTJjMTcuNyAwIDMyLTE0LjMgMzItMzJTNDk3LjcgMCA0ODAgMEwzMiAwek0xNjAgNjRsMCAxMjgtNjQgMCAwLTEyOCA2NCAwem0yNTYgMGwwIDEyOC02NCAwIDAtMTI4IDY0IDB6Il19LGxFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGV0aG9zY29wZSIsaWNvbjpbNTc2LDUxMixbMTI5NjU4XSwiZjBmMSIsIk0zMiA0OEMzMiAyMS41IDUzLjUgMCA4MCAwbDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDAgMCAxMjhjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTEyOC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMlMyMzguMyAwIDI1NiAwbDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNDRjMCA3Ny40LTU1IDE0Mi0xMjggMTU2LjhsMCAxOS4yYzAgNjEuOSA1MC4xIDExMiAxMTIgMTEyczExMi01MC4xIDExMi0xMTJsMC04NS41Yy0zNy4zLTEzLjItNjQtNDguNy02NC05MC41IDAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCA0MS44LTI2LjcgNzcuNC02NCA5MC41bDAgODUuNWMwIDk3LjItNzguOCAxNzYtMTc2IDE3NlMxNjAgNDY1LjIgMTYwIDM2OGwwLTE5LjJDODcgMzM0IDMyIDI2OS40IDMyIDE5MkwzMiA0OHpNNDgwIDIyNGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LGNFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwb2RjYXN0IixpY29uOls0NDgsNTEyLFtdLCJmMmNlIiwiTTMzNiAzNTkuOGMzOS4xLTMyLjMgNjQtODEuMSA2NC0xMzUuOCAwLTk3LjItNzguOC0xNzYtMTc2LTE3NlM0OCAxMjYuOCA0OCAyMjRDNDggMjc4LjcgNzIuOSAzMjcuNSAxMTIgMzU5LjggMTEyLjQgMzc3LjQgMTE1LjIgNDAwLjIgMTE4LjQgNDIxLjYgNDggMzgzLjkgMCAzMDkuNSAwIDIyNCAwIDEwMC4zIDEwMC4zIDAgMjI0IDBTNDQ4IDEwMC4zIDQ0OCAyMjRjMCA4NS42LTQ4IDE1OS45LTExOC41IDE5Ny42IDMuMy0yMS40IDYtNDQuMiA2LjQtNjEuOHptLTE0LTUzLjRjLTguMy0xMi42LTE5LjItMjEuNi0zMC40LTI3LjgtMi4xLTEuMS00LjItMi4yLTYuMy0zLjIgMTEuNy0xMy45IDE4LjgtMzEuOSAxOC44LTUxLjUgMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCAxOS42IDcuMSAzNy42IDE4LjggNTEuNS0yLjEgMS00LjIgMi02LjMgMy4yLTExLjIgNi4yLTIyLjEgMTUuMi0zMC40IDI3LjgtMTguOC0yMi4zLTMwLjEtNTEtMzAuMS04Mi40IDAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4czEyOCA1Ny4zIDEyOCAxMjhjMCAzMS40LTExLjMgNjAuMi0zMC4xIDgyLjR6TTIyNCAzMTJjMzIuOSAwIDY0IDguNiA2NCA0My44IDAgMzMtMTIuOSAxMDQuMS0yMC42IDEzMi45LTUuMSAxOS0yNC41IDIzLjQtNDMuNCAyMy40cy0zOC4yLTQuNC00My40LTIzLjRjLTcuOC0yOC41LTIwLjYtOTkuNy0yMC42LTEzMi44IDAtMzUuMSAzMS4xLTQzLjggNjQtNDMuOHptMC0xMjhhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgweiJdfSxkRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtcmlnaHQtZG90cyIsaWNvbjpbNTEyLDUxMixbXSwiZTRiNyIsIk05NiAzMkM3OC4zIDMyIDY0IDQ2LjMgNjQgNjRTNzguMyA5NiA5NiA5NkwxMTQuNyA5NiA5LjQgMjAxLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTYwIDE0MS4zIDE2MCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDMyek00MDMuOCA3MC4xYTM4LjEgMzguMSAwIDEgMCA3Ni4yIDAgMzguMSAzOC4xIDAgMSAwIC03Ni4yIDB6TTI3OS43IDE5NC4yYTM4LjEgMzguMSAwIDEgMCA3Ni4yIDAgMzguMSAzOC4xIDAgMSAwIC03Ni4yIDB6bTE2Mi4yLTM4LjFhMzguMSAzOC4xIDAgMSAwIDAgNzYuMiAzOC4xIDM4LjEgMCAxIDAgMC03Ni4yek0xNTYuMiAzMTcuOGEzOC4xIDM4LjEgMCAxIDAgNzYuMiAwIDM4LjEgMzguMSAwIDEgMCAtNzYuMiAwem0xNjEuNi0zOC4xYTM4LjEgMzguMSAwIDEgMCAwIDc2LjIgMzguMSAzOC4xIDAgMSAwIDAtNzYuMnptODYuMSAzOC4xYTM4LjEgMzguMSAwIDEgMCA3Ni4yIDAgMzguMSAzOC4xIDAgMSAwIC03Ni4yIDB6TTcwLjEgNDAzLjhhMzguMSAzOC4xIDAgMSAwIDAgNzYuMiAzOC4xIDM4LjEgMCAxIDAgMC03Ni4yem04Ni4xIDM4LjFhMzguMSAzOC4xIDAgMSAwIDc2LjIgMCAzOC4xIDM4LjEgMCAxIDAgLTc2LjIgMHptMTYxLjYtMzguMWEzOC4xIDM4LjEgMCAxIDAgMCA3Ni4yIDM4LjEgMzguMSAwIDEgMCAwLTc2LjJ6bTg2LjEgMzguMWEzOC4xIDM4LjEgMCAxIDAgNzYuMiAwIDM4LjEgMzguMSAwIDEgMCAtNzYuMiAweiJdfSx1RXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3MtcXVlZW4iLGljb246WzUxMiw1MTIsWzk4MTldLCJmNDQ1IiwiTTI1NiA4MGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTUuNSAxODVMMTI4IDM4NCA3MS44IDQ1NC4zYy01IDYuMy03LjggMTQuMS03LjggMjIuMiAwIDE5LjYgMTUuOSAzNS41IDM1LjUgMzUuNWwzMTIuOSAwYzE5LjYgMCAzNS41LTE1LjkgMzUuNS0zNS41IDAtOC4xLTIuNy0xNS45LTcuOC0yMi4yTDM4NCAzODQgNTA2LjUgMTg1YzMuNi01LjkgNS41LTEyLjcgNS41LTE5LjZsMC0uNmMwLTIwLjMtMTYuNS0zNi44LTM2LjgtMzYuOC03LjMgMC0xNC40IDIuMi0yMC40IDYuMmwtMTYuOSAxMS4zYy0xMi43IDguNS0yOS42IDYuOC00MC40LTRsLTM0LjEtMzQuMUMzNTYuMSAxMDAuMSAzNDYuMiA5NiAzMzYgOTZzLTIwLjEgNC4xLTI3LjMgMTEuM2wtMzAuMSAzMC4xYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMzAuMS0zMC4xQzE5Ni4xIDEwMC4xIDE4Ni4yIDk2IDE3NiA5NnMtMjAuMSA0LjEtMjcuMyAxMS4zbC0zNC4xIDM0LjFjLTEwLjggMTAuOC0yNy43IDEyLjUtNDAuNCA0TDU3LjMgMTM0LjJjLTYuMS00LTEzLjItNi4yLTIwLjQtNi4yLTIwLjMgMC0zNi44IDE2LjUtMzYuOCAzNi44bDAgLjZjMCA2LjkgMS45IDEzLjcgNS41IDE5LjZ6Il19LHBFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmNob3ItY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNGFiIiwiTTMyMC41IDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bS0zMi05NmMtNTMgMC05NiA0My05NiA5NiAwIDQxLjggMjYuNyA3Ny40IDY0IDkwLjVsMCAyNTcuOWMtNjIuOS0xNC4zLTExMC4yLTY5LjctMTExLjktMTM2LjVsMTYuMSAxNC4xYzEwIDguNyAyNS4xIDcuNyAzMy45LTIuM3M3LjctMjUuMS0yLjMtMzMuOWwtNjQtNTZjLTktNy45LTIyLjYtNy45LTMxLjYgMGwtNjQgNTZjLTEwIDguNy0xMSAyMy45LTIuMyAzMy45czIzLjkgMTEgMzMuOSAyLjNsMTYuMi0xNC4yYzIuMSAxMTMuMSA5NC40IDIwNC4xIDIwOCAyMDQuMSAxNi42IDAgMzIuNy0xLjkgNDguMi01LjYtMjAuMy0zMC41LTMyLjItNjctMzIuMi0xMDYuNCAwLTI3LjMgNS43LTUzLjMgMTYtNzYuOWwwLTEzNi42YzM3LjMtMTMuMiA2NC00OC43IDY0LTkwLjUgMC01My00My05Ni05Ni05NnptMjA4IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTAwYTIwIDIwIDAgMSAxIDAgNDAgMjAgMjAgMCAxIDEgMC00MHptMC0xNDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6Il19LFQ1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbGxpcHNpcy12ZXJ0aWNhbCIsaWNvbjpbMTI4LDUxMixbImVsbGlwc2lzLXYiXSwiZjE0MiIsIk02NCAxNDRhNTYgNTYgMCAxIDEgMC0xMTIgNTYgNTYgMCAxIDEgMCAxMTJ6bTAgMjI0YzMwLjkgMCA1NiAyNS4xIDU2IDU2cy0yNS4xIDU2LTU2IDU2LTU2LTI1LjEtNTYtNTYgMjUuMS01NiA1Ni01NnptNTYtMTEyYzAgMzAuOS0yNS4xIDU2LTU2IDU2cy01Ni0yNS4xLTU2LTU2IDI1LjEtNTYgNTYtNTYgNTYgMjUuMSA1NiA1NnoiXX0sZkV0PVQ1ZSxoRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls1NzYsNTEyLFtdLCJlNGZlIiwiTTI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN0MyOTYgNTIuNSAzMzYuMiAzMiAzNzguOSAzMiA0NTIuNCAzMiA1MTIgOTEuNiA1MTIgMTY1LjFsMCAyLjZjMCAxNy42LTMuNCAzNS42LTkuNSA1My43LTIxLjgtOC42LTQ1LjYtMTMuNC03MC41LTEzLjQtMTA2IDAtMTkyIDg2LTE5MiAxOTIgMCAyOC41IDYuMiA1NS42IDE3LjQgODAtLjUgMC0uOSAwLTEuNCAwLTE1LjUgMC0zMC44LTQuNi00My4xLTE0LjEtNzMtNTUuNy0yMTIuOS0xODYtMjEyLjktMjk4LjJsMC0yLjZDMCA5MS42IDU5LjYgMzIgMTMzLjEgMzIgMTc1LjggMzIgMjE2IDUyLjUgMjQxIDg3LjF6TTQzMiAyNTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0wIDIyOGEyMCAyMCAwIDEgMCAwLTQwIDIwIDIwIDAgMSAwIDAgNDB6bTAtMTgwYy04LjggMC0xNiA3LjItMTYgMTZsMCA4MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtODBjMC04LjgtNy4yLTE2LTE2LTE2eiJdfSxtRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls1NzYsNTEyLFtdLCJlNGQzIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTEwLjUtMTQuNi0xOS0zMC43LTI1LjEtNDhsLTc0LjkgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMiAwIDQgLjIgNS45IC41IDYtMjMuNiAxNi4zLTQ1LjQgMzAuMS02NC41bC00IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDRjMjcuNS0xOS44IDYwLjMtMzIuNCA5Ni0zNS40TDQxNiA2NGMwLTM1LjMtMjguNy02NC02NC02NEw5NiAwem0zMiAxMTJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTEyOCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTAwYTIwIDIwIDAgMSAxIDAgNDAgMjAgMjAgMCAxIDEgMC00MHptMC0xNDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6Il19LGdFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tYXJyb3ctdXAtZnJvbS1saW5lIixpY29uOls1NzYsNTEyLFtdLCJlNTM5IiwiTTE5Mi0zMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpNMzE4LjMgMjk5LjFsLTQ2LjMtNjIuNCAwIDI0My4zIDI3MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDU0NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4MCAwIDAtMjQzLjMtNDYuMyA2Mi40Yy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi42cy0xNy4yLTMwLjYtNi42LTQ0LjhsNzAuNS05NUMxMTAgMTMyIDE0OS43IDExMiAxOTIgMTEyczgyIDIwIDEwNy4yIDUzLjlsNzAuNSA5NWMxMC41IDE0LjIgNy42IDM0LjItNi42IDQ0LjhzLTM0LjIgNy42LTQ0LjgtNi42ek0yMDggNDgwbDAtMTI4YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMTI4IDMyIDB6TTU2Ni42IDEwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMEw0OTYgNzcuMyA0OTYgMjI0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTQ2LjctMjUuNCAyNS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w4MC04MGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw4MCA4MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3oiXX0sYkV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im5vdC1lcXVhbCIsaWNvbjpbNDQ4LDUxMixbXSwiZjUzZSIsIk0zNzguNiA4MS44YzkuOC0xNC43IDUuOC0zNC42LTguOS00NC40cy0zNC42LTUuOC00NC40IDguOUwyNzAuOSAxMjggMzIgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE5Ni4yIDAtODUuMyAxMjgtMTEwLjkgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2OC4yIDAtMzAuOCA0Ni4yYy05LjggMTQuNy01LjggMzQuNiA4LjkgNDQuNHMzNC42IDUuOCA0NC40LTguOUwxNzcuMSAzODQgNDE2IDM4NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTk2LjIgMCA4NS4zLTEyOCAxMTAuOSAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02OC4yIDAgMzAuOC00Ni4yeiJdfSx2RXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhaW4tdHJhbSIsaWNvbjpbMzg0LDUxMixbMTI4NjUwXSwiZTViNCIsIk0wIDhDMC01LjMgMTAuNy0xNiAyNC0xNmwzMzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDMyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtOC0xMjAgMCAwIDY0IDQwIDBjNTMgMCA5NiA0MyA5NiA5NmwwIDE2MGMwIDMxLjItMTQuOSA1OS0zOCA3Ni41bDY0LjMgNzZjOC42IDEwLjEgNy4zIDI1LjMtMi44IDMzLjhzLTI1LjMgNy4zLTMzLjgtMi44bC03NC42LTg4LjFjLTMuNiAuNC03LjMgLjYtMTEuMSAuNmwtMTI4IDBjLTMuOCAwLTcuNS0uMi0xMS4xLS42TDQyLjMgNTM1LjVjLTguNiAxMC4xLTIzLjcgMTEuNC0zMy44IDIuOHMtMTEuNC0yMy43LTIuOC0zMy44bDY0LjMtNzZDNDYuOSA0MTEgMzIgMzgzLjIgMzIgMzUybDAtMTYwYzAtNTMgNDMtOTYgOTYtOTZsNDAgMCAwLTY0LTEyMCAwIDAgOGMwIDEzLjMtMTAuNyAyNC0yNCAyNFMwIDUzLjMgMCA0MEwwIDh6TTEyOCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTI4IDB6bTMyIDE5MmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem05NiAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LHhFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGFuZS1kZXBhcnR1cmUiLGljb246WzU3Niw1MTIsWzEyODc0N10sImY1YjAiLCJNMzcyIDE0My45TDE3Mi43IDQwLjJjLTgtNC4xLTE3LjMtNC44LTI1LjctMS43bC00MS4xIDE1Yy0xMC4zIDMuNy0xMy44IDE2LjQtNy4xIDI1TDIwMC4zIDIwNi40IDEwMC4xIDI0Mi44IDQwIDIwNi4yYy02LjItMy44LTEzLjgtNC41LTIwLjctMi4xTDMgMjEwLjFjLTkuNCAzLjQtMTMuNCAxNC41LTguMyAyMy4xbDUzLjYgOTEuOGMxNS42IDI2LjcgNDguMSAzOC40IDc3LjEgMjcuOGwxMi45LTQuNyAwIDAgMzk4LjQtMTQ1YzI5LjEtMTAuNiA0NC00Mi43IDMzLjUtNzEuOHMtNDIuNy00NC03MS44LTMzLjVMMzcyIDE0My45ek0zMi4yIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTEyIDB6Il19LEw1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyaWdodC10by1icmFja2V0IixpY29uOls1MTIsNTEyLFsic2lnbi1pbi1hbHQiXSwiZjJmNiIsIk0zNDUgMjczYzkuNC05LjQgOS40LTI0LjYgMC0zMy45TDIwMSA5NWMtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMxNjAgMTAyLjMgMTYwIDExMmwwIDgwLTExMiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDExMiAwIDAgODBjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yczE5LjMgMS43IDI2LjItNS4yTDM0NSAyNzN6bTcgMTQzYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTI1NmMwLTUzLTQzLTk2LTk2LTk2bC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDB6Il19LHlFdD1MNWUsd0V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNkLWNhcmQiLGljb246WzM4NCw1MTIsW10sImY3YzIiLCJNMzg0IDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDEyNS4zIDBDMTA4LjMgMCA5MiA2LjcgODAgMTguN0wxOC43IDgwQzYuNyA5MiAwIDEwOC4zIDAgMTI1LjNMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODR6TTE2MCA4OGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHptODggMGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHptODggMGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHoiXX0sTUV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNjQwLDUxMixbXSwiZTUwYSIsIk00OTYgNTQ0YTE0NCAxNDQgMCAxIDEgMC0yODggMTQ0IDE0NCAwIDEgMSAwIDI4OHpNMjY4LjYgNi41YzEyLjItOS4zIDI5LjctOC43IDQxLjIgMmwyMTcuNiAyMDJjLTEwLjItMS43LTIwLjctMi42LTMxLjMtMi42LTc4LjYgMC0xNDYuMSA0Ny4yLTE3NS44IDExNC44LTUuMS0xLjgtMTAuNS0yLjgtMTYuMi0yLjhsLTMyIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTYgOTEgMGM2LjEgMTcuMyAxNC42IDMzLjQgMjUuMSA0OEwxNDQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDggMi40LTJ6TTQ5NiA0NDRhMjAgMjAgMCAxIDAgMCA0MCAyMCAyMCAwIDEgMCAwLTQwem0wLTE0MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2IDguOCAwIDE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnoiXX0sVzg9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hla2VsLXNpZ24iLGljb246WzQ0OCw1MTIsWzgzNjIsImlscyIsInNoZWtlbCIsInNoZXFlbCIsInNoZXFlbC1zaWduIl0sImYyMGIiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzUyIDEyOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhMMzIgMzJ6TTMyMCA0ODBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhsMC0yODhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTEyOCAwIDAtMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2MCAweiJdfSxrRXQ9VzgsU0V0PVc4LHpFdD1XOCxDRXQ9VzgsX0V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJhZGlvIixpY29uOls1MTIsNTEyLFsxMjgyNTFdLCJmOGQ3IiwiTTQ5NC44IDE1YzEyLjctMy43IDIwLTE3LjEgMTYuMy0yOS44UzQ5NC0zNC44IDQ4MS4zLTMxTDUxLjggOTQuOUM0Mi40IDk3LjYgMzMuOSAxMDIuMSAyNi42IDEwOCAxMC41IDExOS43IDAgMTM4LjYgMCAxNjBMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMMjE4LjUgOTYgNDk0LjggMTV6TTM2OCAyMDhhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6TTY0IDI0OGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw4OCAyNzJjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0wIDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDM2OGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6Il19LCQ1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWRvdHMiLGljb246WzUxMiw1MTIsWyJhbGxlcmdpZXMiXSwiZjQ2MSIsIk0yODggMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyMDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xNzZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyNzJjMCAxLjUgMCAzLjEgLjEgNC42TDY3LjYgMjgzYy0xNi0xNS4yLTQxLjMtMTQuNi01Ni42IDEuNFMtMy42IDMyNS43IDEyLjQgMzQxTDEyNC44IDQ0OGM0My4xIDQxLjEgMTAwLjQgNjQgMTYwIDY0bDE5LjIgMGM5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NmwwLTIwOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDExMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTE3NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE3NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTIwOHpNMjAwIDM1MmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xMjAtNTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em00MCA4OGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0tODggMjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4eiJdfSxURXQ9JDVlLEQ1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLXNrdWxsIixpY29uOls0NDgsNTEyLFsiYm9vay1kZWFkIl0sImY2YjciLCJNOTYgNTEybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtNjYuN2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNsMC0yODhjMC0yNi41LTIxLjUtNDgtNDgtNDhMOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2ek02NCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjU2IDAgMCA2NC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTI3MiAxNjMuMmwwIDEyLjhjMCA4LjgtNy4yIDE2LTE2IDE2bC02NCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xMi44Yy0xOS40LTExLjctMzItMzAuMy0zMi01MS4yIDAtMzUuMyAzNS44LTY0IDgwLTY0czgwIDI4LjcgODAgNjRjMCAyMC45LTEyLjYgMzkuNS0zMiA1MS4yek0yMDggMTEyYTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bTQ4IDE2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptNzQuMiA5NS43YzQuNiAxMC4xIC4xIDIxLjktOS45IDI2LjVsLTQ3LjkgMjEuOCA0Ny45IDIxLjhjMTAuMSA0LjYgMTQuNSAxNi40IDkuOSAyNi41cy0xNi40IDE0LjUtMjYuNSA5LjlMMjI0IDI5NCAxNDQuMyAzMzAuMmMtMTAuMSA0LjYtMjEuOSAuMS0yNi41LTkuOXMtLjEtMjEuOSA5LjktMjYuNWw0Ny45LTIxLjgtNDcuOS0yMS44Yy0xMC4xLTQuNi0xNC41LTE2LjQtOS45LTI2LjVzMTYuNC0xNC41IDI2LjUtOS45TDIyNCAyNTAgMzAzLjcgMjEzLjhjMTAuMS00LjYgMjEuOS0uMSAyNi41IDkuOXoiXX0sTEV0PUQ1ZSxBNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidW5sb2NrLWtleWhvbGUiLGljb246WzM4NCw1MTIsWyJ1bmxvY2stYWx0Il0sImYxM2UiLCJNMTkyIDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDY0IDE5MiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyMjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsMC02NGMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOCA2My41IDAgMTE2LjEgNDYuMSAxMjYuMiAxMDYuNyAyLjkgMTcuNC04LjggMzMuOS0yNi4zIDM2LjlzLTMzLjktOC44LTM2LjktMjYuM0MyNTAgNTUuMSAyMjMuNyAzMiAxOTIgMzJ6bTQwIDMyOGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4MCAweiJdfSwkRXQ9QTVlLFA1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWFycm93LXVwIixpY29uOlszODQsNTEyLFsiZmlsZS11cGxvYWQiXSwiZjU3NCIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMjA5IDI2M2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTY0IDY0Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMjMtMjMgMCA4Ni4xYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04Ni4xIDIzIDIzYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNjQtNjR6Il19LERFdD1QNWUsRTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10ZWFycyIsaWNvbjpbNjQwLDUxMixbMTI4NTE0LCJncmluLXRlYXJzIl0sImY1ODgiLCJNNTU0LjggMjAzLjRsMTYuMyAyLjNDNTQ3LjcgODguNCA0NDQuMiAwIDMyMCAwUzkyLjMgODguNCA2OC45IDIwNS43bDE2LjMtMi4zYzM3LTUuMyA2OC42IDI2LjQgNjMuNCA2My40bC02LjcgNDYuN2MtNC4xIDI5LTIxLjYgNTMuMi00NS44IDY2LjggNDMuNyA3OC41IDEyNy42IDEzMS43IDIyMy44IDEzMS43czE4MC4xLTUzLjEgMjIzLjgtMTMxLjdjLTI0LjEtMTMuNS00MS42LTM3LjgtNDUuOC02Ni44bC02LjctNDYuN2MtNS4zLTM3IDI2LjQtNjguNiA2My40LTYzLjR6TTQ3MC4zIDMyNi45QzQ0Ny45IDM4OC4yIDM4OS4xIDQzMiAzMjAgNDMyUzE5Mi4xIDM4OC4yIDE2OS43IDMyNi45Yy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjFjMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xek0yMTIgMjA4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6bTE4OC0yOGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHpNNjQwIDMwMC42YzAtMjUuNi0xOC44LTQ3LjMtNDQuMS01MC45TDU0OS4xIDI0M2MtMTAuNi0xLjUtMTkuNiA3LjUtMTguMSAxOC4xbDYuNyA0Ni43YzMuNiAyNS4zIDI1LjMgNDQuMSA1MC45IDQ0LjEgMjguNCAwIDUxLjQtMjMgNTEuNC01MS40em0tNjQwIDBDMCAzMjkgMjMgMzUyIDUxLjQgMzUyIDc3IDM1MiA5OC43IDMzMy4yIDEwMi4zIDMwNy45bDYuNy00Ni43YzEuNS0xMC42LTcuNS0xOS42LTE4LjEtMTguMWwtNDYuNyA2LjdDMTguOCAyNTMuMyAwIDI3NSAwIDMwMC42eiJdfSxBRXQ9RTVlLHJ2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlbi10by1zcXVhcmUiLGljb246WzUxMiw1MTIsWyJlZGl0Il0sImYwNDQiLCJNNDcxLjYgMjEuN2MtMjEuOS0yMS45LTU3LjMtMjEuOS03OS4yIDBMMzY4IDQ2LjEgNDY1LjkgMTQ0IDQ5MC4zIDExOS42YzIxLjktMjEuOSAyMS45LTU3LjMgMC03OS4yTDQ3MS42IDIxLjd6bS0yOTkuMiAyMjBjLTYuMSA2LjEtMTAuOCAxMy42LTEzLjUgMjEuOWwtMjkuNiA4OC44Yy0yLjkgOC42LS42IDE4LjEgNS44IDI0LjZzMTUuOSA4LjcgMjQuNiA1LjhsODguOC0yOS42YzguMi0yLjcgMTUuNy03LjQgMjEuOS0xMy41TDQzMiAxNzcuOSAzMzQuMSA4MCAxNzIuNCAyNDEuN3pNOTYgNjRDNDMgNjQgMCAxMDcgMCAxNjBMMCA0MTZjMCA1MyA0MyA5NiA5NiA5NmwyNTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMOTYgNjR6Il19LFBFdD1ydixJNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWFydGgtZXVyb3BlIixpY29uOls1MTIsNTEyLFsiZ2xvYmUtZXVyb3BlIl0sImY3YTIiLCJNMjU2LjIgNDhjMTE0LjggLjEgMjA3LjggOTMuMiAyMDcuOCAyMDggMCAyMi4xLTMuNCA0My40LTkuOCA2My40LTIgLjQtNC4xIC42LTYuMiAuNmwtMi43IDBjLTguNSAwLTE2LjYtMy40LTIyLjYtOS40bC0yOS4zLTI5LjNjLTYtNi05LjQtMTQuMS05LjQtMjIuNmwwLTUwLjdjMC04LjggNy4yLTE2IDE2LTE2czE2LTcuMiAxNi0xNi03LjItMTYtMTYtMTZsLTI0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0cy0xMC43IDI0LTI0IDI0bC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZzLTcuMiAxNi0xNiAxNmwtMjUuNCAwYy0xMi41IDAtMjIuNi0xMC4xLTIyLjYtMjIuNiAwLTYgMi40LTExLjggNi42LTE2bDcwLjEtNzAuMWMyLjEtMi4xIDMuMy01IDMuMy04IDAtNi4yLTUuMS0xMS4zLTExLjMtMTEuM2wtMTQuMSAwYy0xMi41IDAtMjIuNi0xMC4xLTIyLjYtMjIuNiAwLTYgMi40LTExLjggNi42LTE2bDIzLjEtMjMuMWMuOC0uOCAxLjYtMS41IDIuNS0yLjJ6TTQzOC40IDM1Ni4xYy0zMi44IDU5LjYtOTMuOSAxMDEuNC0xNjUuMiAxMDcuMi0uNy0yLjMtMS4xLTQuOC0xLjEtNy4zIDAtMTMuMy0xMC43LTI0LTI0LTI0bC0yNi43IDBjLTguNSAwLTE2LjYtMy40LTIyLjYtOS40bC0yOS4zLTI5LjNjLTYtNi05LjQtMTQuMS05LjQtMjIuNmwwLTY2LjdjMC0xNy43IDE0LjMtMzIgMzItMzJsOTguNyAwYzguNSAwIDE2LjYgMy40IDIyLjYgOS40bDI5LjMgMjkuM2M2IDYgMTQuMSA5LjQgMjIuNiA5LjRsNS41IDBjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjRsMTYgMTZjNC4yIDQuMiAxMCA2LjYgMTYgNi42IDQuOCAwIDkuMyAxLjUgMTMgNC4xek0yNTYgNTEybDI2LjItMS4zYy04LjYgLjktMTcuMyAxLjMtMjYuMiAxLjN6bTI2LjItMS4zQzQxMS4zIDQ5Ny42IDUxMiAzODguNiA1MTIgMjU2IDUxMiAxMTQuNiAzOTcuNCAwIDI1NiAwbDAgMEMxMTQuNiAwIDAgMTE0LjYgMCAyNTYgMCAzODMuNSA5My4yIDQ4OS4zIDIxNS4zIDUwOC44IDIyOC41IDUxMC45IDI0Mi4xIDUxMiAyNTYgNTEyek0xODcuMyAxMjMuM2wtMzIgMzJjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzItMzJjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42eiJdfSxFRXQ9STVlLE41ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tYmVhbS1zd2VhdCIsaWNvbjpbNTc2LDUxMixbMTI4NTE3LCJncmluLWJlYW0tc3dlYXQiXSwiZjU4MyIsIk01NDYuMi0uMWMxNC43IDE3LjggMjkuOCA0MC4xIDI5LjggNjQuMSAwIDM2LjQtMjcuNiA2NC02NCA2NHMtNjQtMjcuNi02NC02NGMwLTI0IDE1LjItNDYuMyAyOS44LTY0LjEgOC44LTEwLjcgMTguNS0yMC44IDI5LTMwIDMtMi42IDcuNC0yLjYgMTAuNCAwIDEwLjUgOS4xIDIwLjEgMTkuMyAyOSAzMHpNMjg4IDBjNDIuNSAwIDgyLjYgMTAuNCAxMTcuOCAyOC43LTMuNiAxMC45LTUuOCAyMi43LTUuOCAzNS4zIDAgNjIuOSA0OS4xIDExMiAxMTIgMTEyIDYuNCAwIDEyLjctLjUgMTguOC0xLjUgOC42IDI1LjYgMTMuMiA1MyAxMy4yIDgxLjUgMCAxNDEuNC0xMTQuNiAyNTYtMjU2IDI1NlMzMiAzOTcuNCAzMiAyNTYgMTQ2LjYgMCAyODggMHpNNDE4LjcgMzA4LjlDMzc5LjUgMzIxLjEgMzM1LjEgMzI4IDI4OCAzMjhzLTkxLjUtNi45LTEzMC43LTE5LjFjLTExLjktMy43LTIzLjkgNi4zLTE5LjYgMTguMSAyMi40IDYxLjMgODEuMyAxMDUuMSAxNTAuMyAxMDUuMXMxMjcuOS00My44IDE1MC4zLTEwNS4xYzQuMy0xMS44LTcuNy0yMS44LTE5LjYtMTguMXpNMjA4IDE4MGMxNS41IDAgMjggMTIuNSAyOCAyOGwwIDhjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC04YzAtMzcuNi0zMC40LTY4LTY4LTY4cy02OCAzMC40LTY4IDY4bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLThjMC0xNS41IDEyLjUtMjggMjgtMjh6bTEzMiAyOGMwLTE1LjUgMTIuNS0yOCAyOC0yOHMyOCAxMi41IDI4IDI4bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLThjMC0zNy42LTMwLjQtNjgtNjgtNjhzLTY4IDMwLjQtNjggNjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOHoiXX0sSUV0PU41ZSxSNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWhhbGYtc3Ryb2tlIixpY29uOls1MTIsNTEyLFs5NjgwLCJhZGp1c3QiXSwiZjA0MiIsIk00NDggMjU2YzAtMTA2LTg2LTE5Mi0xOTItMTkybDAgMzg0YzEwNiAwIDE5Mi04NiAxOTItMTkyek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAweiJdfSxORXQ9UjVlLFJFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tbWlsaXRhcnktdG8tcGVyc29uIixpY29uOls1MTIsNTEyLFtdLCJlNTRjIiwiTTcxIDEyLjVjLTguNiAxLTE1IDguMi0xNSAxNi44IDAgOS4zIDcuNSAxNi44IDE2LjcgMTYuOWwxMTEuNCAwYzguOC0uMSAxNS45LTcuMiAxNS45LTE2TDIwMCAxNmMwLTkuNS04LjMtMTctMTcuOC0xNS45TDcxIDEyLjV6TTE4OS41IDc4LjFsLTEyMi45IDBjLTEuNiA1LjctMi41IDExLjctMi41IDE3LjkgMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGMwLTYuMi0uOS0xMi4yLTIuNS0xNy45ek0zMiAyNTZsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxLjggMCAzLjUtLjEgNS4yLS40TDUzIDIwOC42QzQwLjEgMjIwLjMgMzIgMjM3LjIgMzIgMjU2em0xOTAuMiA0Mi41YzEuMS0zLjMgMS44LTYuOCAxLjgtMTAuNWwwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwYy0zLjcgMC03LjQgLjMtMTAuOSAuOUwyMjIuMiAyOTguNXpNMzg0IDE2MGE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHptLTMyIDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzJjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDB6TTIxNS44IDQ1MC4xYzUuMi00LjYgOC4yLTExLjEgOC4yLTE4LjFzLTMtMTMuNS04LjItMTguMWwtNjQtNTZjLTcuMS02LjItMTcuMS03LjctMjUuNy0zLjhTMTEyIDM2Ni42IDExMiAzNzZsMCAzMi04OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDg4IDAgMCAzMmMwIDkuNCA1LjUgMTggMTQuMSAyMS45czE4LjYgMi40IDI1LjctMy44bDY0LTU2ek0yODggNDMxLjljMCA2LjkgMyAxMy41IDguMSAxOC4xbDY0IDU2LjRjNy4xIDYuMiAxNy4xIDcuOCAyNS43IDMuOVM0MDAgNDk3LjggNDAwIDQ4OC40bDAtMzIuNCA4OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04OCAwIDAtMzJjMC05LjQtNS41LTE4LTE0LjEtMjEuOXMtMTguNi0yLjQtMjUuNyAzLjhsLTY0IDU2Yy01LjIgNC41LTguMiAxMS4xLTguMiAxOHoiXX0sT0V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlLWNlbGxzLWNvbHVtbi1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNjc4IiwiTTI1NiAyMjRsMCAxOTIgNjQgMCAwLTE5Mi02NCAwem0yNTYtNzljLTQ2LjcgNS44LTg1LjYgMzYuOC0xMDIuNyA3OWwtMjUuMyAwIDAgOTAuOGMtMTAuMSAxNS4yLTE2IDMzLjQtMTYgNTMuMWwwIDk2YzAgNS41IC41IDEwLjkgMS4zIDE2LjFMMTI4IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMNjQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA0OXpNMTI4IDIyNGwwIDE5MiA2NCAwIDAtMTkyLTY0IDB6bTQzMiA0OC4xYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwIDAtNDcuOXpNNDE2IDM2OGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA1MC42YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnoiXX0sRkV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLWZpZWxkLXVuIixpY29uOls2NDAsNTEyLFtdLCJlNThlIiwiTTk2IDMyQzYwLjcgMzIgMzIgNjAuNyAzMiA5NmwwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDAgNDhjMCAyMS4xIDEzLjcgMzkuMSAzMi42IDQ1LjUtLjQgMy40LS42IDctLjYgMTAuNSAwIDQ4LjYgMzkuNCA4OCA4OCA4OHM4OC0zOS40IDg4LTg4YzAtMi43LS4xLTUuNC0uNC04bDE0NC43IDBjLS4yIDIuNi0uNCA1LjMtLjQgOCAwIDQ4LjYgMzkuNCA4OCA4OCA4OHM4OC0zOS40IDg4LTg4YzAtMi43LS4xLTUuNC0uNC04bC40IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtMjQuNyAwLTEuNy00LjItNDMuOC0xMDYuM2MtMTIuMy0zMC00MS42LTQ5LjUtNzQtNDkuNWwtNDAuNCAwQzM2NC40IDQ0LjkgMzQzLjcgMzIgMzIwIDMyTDk2IDMyek0zODQgMjI0bDAtOTYgMzEuOSAwYzYuNSAwIDEyLjMgMy45IDE0LjggOS45bDM1LjQgODYuMS04Mi4xIDB6TTE1MiAzNTJhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwem0yODAgNDBhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHpNMjU2LjYgMTMyLjlsMjcuNCA0MSAwLTI5LjljMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjBsMCA5NmMwIDguOC01LjggMTYuNi0xNC4yIDE5LjFzLTE3LjUtLjctMjIuNC04bC0yNy40LTQxIDAgMjkuOWMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC05NmMwLTguOCA1LjgtMTYuNiAxNC4yLTE5LjFzMTcuNSAuNyAyMi40IDh6TTEzMiAxNDRsMCA2NGMwIDYuNiA1LjQgMTIgMTIgMTJzMTItNS40IDEyLTEybDAtNjRjMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjBsMCA2NGMwIDI4LjctMjMuMyA1Mi01MiA1MnMtNTItMjMuMy01Mi01MmwwLTY0YzAtMTEgOS0yMCAyMC0yMHMyMCA5IDIwIDIweiJdfSxPNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvY2siLGljb246WzUxMiw1MTIsWzEyODMzOSwiY2xvY2stZm91ciJdLCJmMDE3IiwiTTI1NiAwYTI1NiAyNTYgMCAxIDEgMCA1MTIgMjU2IDI1NiAwIDEgMSAwLTUxMnpNMjMyIDEyMGwwIDEzNmMwIDggNCAxNS41IDEwLjcgMjBsOTYgNjRjMTEgNy40IDI1LjkgNC40IDMzLjMtNi43czQuNC0yNS45LTYuNy0zMy4zTDI4MCAyNDMuMiAyODAgMTIwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0eiJdfSxCRXQ9TzVlLEhFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rIixpY29uOls0NDgsNTEyLFsxMjgyMTJdLCJmMDJkIiwiTTM4NCA1MTJMOTYgNTEyYy01MyAwLTk2LTQzLTk2LTk2TDAgOTZDMCA0MyA0MyAwIDk2IDBMNDAwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyODhjMCAyMC45LTEzLjQgMzguNy0zMiA0NS4zbDAgNjYuN2MxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMHpNOTYgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI1NiAwIDAtNjQtMjU2IDB6bTMyLTIzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTc2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em0yNCA3MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTc2IDB6Il19LEY1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWxhdWdoLXdpbmsiLGljb246WzUxMiw1MTIsWyJsYXVnaC13aW5rIl0sImY1OWMiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTEwMS42IDMxNGMtMy43LTEzLjcgNy41LTI2IDIxLjctMjZsMjY1LjQgMGMxNC4yIDAgMjUuNCAxMi4zIDIxLjcgMjYtMTguNSA2OC04MC42IDExOC0xNTQuNCAxMThTMTIwIDM4MiAxMDEuNiAzMTR6TTE0NCAxOTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTY0IDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwYzAtMzMuMSAyNi45LTYwIDYwLTYwbDE2IDBjMzMuMSAwIDYwIDI2LjkgNjAgNjAgMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHoiXX0scUV0PUY1ZSxWRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtbWVhdGJhbGwiLGljb246WzUxMiw1MTIsW10sImY3M2IiLCJNMCAyMjRjMCA1MyA0MyA5NiA5NiA5NmwyNi45IDBjMy41LTEyLjEgMTAuMS0yMy4zIDE5LjItMzIuNGwxLjQtMS40YzE1LTE1IDM1LjMtMjIuOSA1Ni4xLTIyLjIgMTQuMi0xNS4xIDM0LjItMjMuOSA1NS40LTIzLjlsMiAwYzIxLjEgMCA0MS4xIDguOCA1NS40IDIzLjkgMjAuOC0uNiA0MS4xIDcuMyA1Ni4xIDIyLjJsMS40IDEuNGM5LjIgOS4yIDE1LjcgMjAuNCAxOS4yIDMyLjRsMjYuOSAwYzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2Yy0uNSAwLTEuMSAwLTEuNiAwIDEuMS01LjIgMS42LTEwLjUgMS42LTE2IDAtNDQuMi0zNS44LTgwLTgwLTgwLTI0LjMgMC00Ni4xIDEwLjktNjAuOCAyOC0xOC43LTM1LjctNTYuMS02MC05OS4yLTYwLTYxLjkgMC0xMTIgNTAuMS0xMTIgMTEyIDAgNy4xIC43IDE0LjEgMS45IDIwLjgtMzguMyAxMi42LTY1LjkgNDguNy02NS45IDkxLjJ6TTE1Ni41IDQyNC4zYzkuNSA2LjMgMTQuMiAxNy43IDExLjkgMjguOC0xLjggOS4yIDEgMTguNyA3LjcgMjUuM2wxLjQgMS40YzYuNiA2LjYgMTYuMSA5LjUgMjUuMyA3LjcgMTEuMS0yLjIgMjIuNSAyLjUgMjguOCAxMS45IDUuMiA3LjggMTQgMTIuNSAyMy4zIDEyLjVsMiAwYzkuNCAwIDE4LjEtNC43IDIzLjMtMTIuNSA2LjMtOS41IDE3LjctMTQuMiAyOC44LTExLjkgOS4yIDEuOCAxOC43LTEgMjUuMy03LjdsMS40LTEuNGM2LjYtNi42IDkuNS0xNi4xIDcuNy0yNS4zLTIuMi0xMS4xIDIuNS0yMi41IDExLjktMjguOCA3LjgtNS4yIDEyLjUtMTQgMTIuNS0yMy4zbDAtMmMwLTkuNC00LjctMTguMS0xMi41LTIzLjMtOS41LTYuMy0xNC4yLTE3LjctMTEuOS0yOC44IDEuOC05LjItMS0xOC43LTcuNy0yNS4zbC0xLjQtMS40Yy02LjYtNi42LTE2LjEtOS41LTI1LjMtNy43LTExLjEgMi4yLTIyLjUtMi41LTI4LjgtMTEuOS01LjItNy44LTE0LTEyLjUtMjMuMy0xMi41bC0yIDBjLTkuNCAwLTE4LjEgNC43LTIzLjMgMTIuNS02LjMgOS41LTE3LjcgMTQuMi0yOC44IDExLjktOS4yLTEuOC0xOC43IDEtMjUuMyA3LjdsLTEuNCAxLjRjLTYuNiA2LjYtOS41IDE2LjEtNy43IDI1LjMgMi4yIDExLjEtMi41IDIyLjUtMTEuOSAyOC44LTcuOCA1LjItMTIuNSAxNC0xMi41IDIzLjNsMCAyYzAgOS40IDQuNyAxOC4xIDEyLjUgMjMuM3pNNDggNDQ4YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptNDE2IDBhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2eiJdfSxCNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtYXJlYSIsaWNvbjpbNTEyLDUxMixbImFyZWEtY2hhcnQiXSwiZjFmZSIsIk0zMiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMzNmMwIDguOCA3LjIgMTYgMTYgMTZsNDAwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMODAgNDgwYy00NC4yIDAtODAtMzUuOC04MC04MEwwIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyek0yNDAgOTZjNi43IDAgMTMuMSAyLjggMTcuNyA3LjhMMzI4LjggMTgxLjMgMzc1IDEzNWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw2NCA2NGM0LjUgNC41IDcgMTAuNiA3IDE3bDAgMTEyYzAgMTMuMy0xMC43IDI0LTI0IDI0bC0zMDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0xMTJjMC02IDIuMy0xMS44IDYuMy0xNi4ybDg4LTk2YzQuNS01IDExLTcuOCAxNy43LTcuOHoiXX0sakV0PUI1ZSxVRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicnVwaWFoLXNpZ24iLGljb246WzUxMiw1MTIsW10sImUyM2QiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw4MCAwYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0IDAgNTQuMy0zMCAxMDEuNS03NC40IDEyNi4xbDQxIDEzNi43YzUuMSAxNi45LTQuNSAzNC44LTIxLjUgMzkuOHMtMzQuOC00LjUtMzkuOC0yMS41TDEyMC4xIDMxOS44Yy0yLjcgLjEtNS40IC4yLTguMSAuMmwtNDggMCAwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4TDAgNjR6TTY0IDI1Nmw0OCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwbC00OCAwIDAgMTYwem0yNTYtMzJsODAgMGM2MS45IDAgMTEyIDUwLjEgMTEyIDExMlM0NjEuOSA0NDggNDAwIDQ0OGwtNDggMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMyem04MCAxNjBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhsLTQ4IDAgMCA5NiA0OCAweiJdfSxXRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGV4dC13aWR0aCIsaWNvbjpbNDQ4LDUxMixbXSwiZjAzNSIsIk00MCAwQzE3LjkgMCAwIDE3LjkgMCA0MEwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAxMjggMCAwIDE2MC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMTYwIDEyOCAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTU2YzAtMjIuMS0xNy45LTQwLTQwLTQwTDQwIDB6bTc4LjYgNDA2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05LjQtOS40IDIyOS41IDAtOS40IDkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDkuNCA5LjQtMjI5LjUgMCA5LjQtOS40eiJdfSxHRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2F0ZWxsaXRlIixpY29uOls1MTIsNTEyLFsxMjg3NTJdLCJmN2JmIiwiTTE5OSA3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDg5LjQgODkuNCA1NS01NWMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw0OCA0OGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtNTUgNTUgODkuNCA4OS40YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC05NiA5NmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTg5LjQtODkuNC0xNS41IDE1LjVjMTEuNCAyNC42IDE3LjggNTIgMTcuOCA4MC45IDAgMzEuNy03LjcgNjEuNS0yMS4yIDg3LjgtNC43IDktMTYuNyAxMC4zLTIzLjggMy4xbC05Ni4zLTk2LjMtNjAgNjBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDYwLTYwLTk2LjMtOTYuM2MtNy4yLTcuMi01LjktMTkuMiAzLjEtMjMuOCAyNi4zLTEzLjYgNTYuMi0yMS4yIDg3LjgtMjEuMiAyOC45IDAgNTYuMyA2LjQgODAuOSAxNy44TDE5Mi40IDIyNi4zIDEwMyAxMzdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDE5OSA3em0xNyA1MC45bC02Mi4xIDYyLjEgNzIuNCA3Mi40IDYyLjEtNjIuMS03Mi40LTcyLjR6TTM5MiAzNTguMWw2Mi4xLTYyLjEtNzIuNC03Mi40LTYyLjEgNjIuMSA3Mi40IDcyLjR6Il19LEg1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYWduaWZ5aW5nLWdsYXNzLW1pbnVzIixpY29uOls1MTIsNTEyLFsic2VhcmNoLW1pbnVzIl0sImYwMTAiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4ek0xMzYgMTg0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0sWUV0PUg1ZSxLRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVvcGxlLWdyb3VwIixpY29uOls1MTIsNTEyLFtdLCJlNTMzIiwiTTI1NiAwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4em05NiAzMTJjMCAyNS0xMi43IDQ3LTMyIDU5LjlsMCA5Mi4xYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTkyLjFDMTcyLjcgMzU5IDE2MCAzMzcgMTYwIDMxMmwwLTQwYzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCA0MHpNOTYgMzJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6bTE2IDI0MGwwIDMyYzAgMzIuNSAxMi4xIDYyLjEgMzIgODQuN2wwIDc1LjNjMCAxLjIgMCAyLjUgLjEgMy43LTguNSA3LjYtMTkuNyAxMi4zLTMyLjEgMTIuM2wtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC01Ni42QzEyLjkgMzY0LjQgMCAzNDMuNyAwIDMyMGwwLTMyYzAtNTMgNDMtOTYgOTYtOTYgMTIuNyAwIDI0LjggMi41IDM1LjkgNi45LTEyLjYgMjEuNC0xOS45IDQ2LjQtMTkuOSA3My4xek0zNjggNDY0bDAtNzUuM2MxOS45LTIyLjUgMzItNTIuMiAzMi04NC43bDAtMzJjMC0yNi43LTcuMy01MS42LTE5LjktNzMuMSAxMS4xLTQuNSAyMy4yLTYuOSAzNS45LTYuOSA1MyAwIDk2IDQzIDk2IDk2bDAgMzJjMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40bDAgNTYuNmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMTIuMyAwLTIzLjYtNC42LTMyLjEtMTIuMyAwLTEuMiAuMS0yLjUgLjEtMy43ek00MTYgMzJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6Il19LFpFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtYmluYXJ5IixpY29uOls0NDgsNTEyLFtdLCJlNjliIiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0xNDQgNGMtMjQuMyAwLTQ0IDE5LjctNDQgNDRsMCA0OGMwIDI0LjMgMTkuNyA0NCA0NCA0NGwzMiAwYzI0LjMgMCA0NC0xOS43IDQ0LTQ0bDAtNDhjMC0yNC4zLTE5LjctNDQtNDQtNDRsLTMyIDB6bS00IDQ0YzAtMi4yIDEuOC00IDQtNGwzMiAwYzIuMiAwIDQgMS44IDQgNGwwIDQ4YzAgMi4yLTEuOCA0LTQgNGwtMzIgMGMtMi4yIDAtNC0xLjgtNC00bDAtNDh6bTE0MC00NGMtMTEgMC0yMCA5LTIwIDIwIDAgOS43IDYuOSAxNy43IDE2IDE5LjZsMCA3Ni40YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOTZjMC0xMS05LTIwLTIwLTIwbC0xNiAwek0xMzIgMjk2YzAgOS43IDYuOSAxNy43IDE2IDE5LjZsMCA3Ni40YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOTZjMC0xMS05LTIwLTIwLTIwbC0xNiAwYy0xMSAwLTIwIDktMjAgMjB6bTk2IDI0bDAgNDhjMCAyNC4zIDE5LjcgNDQgNDQgNDRsMzIgMGMyNC4zIDAgNDQtMTkuNyA0NC00NGwwLTQ4YzAtMjQuMy0xOS43LTQ0LTQ0LTQ0bC0zMiAwYy0yNC4zIDAtNDQgMTkuNy00NCA0NHptNDQtNGwzMiAwYzIuMiAwIDQgMS44IDQgNGwwIDQ4YzAgMi4yLTEuOCA0LTQgNGwtMzIgMGMtMi4yIDAtNC0xLjgtNC00bDAtNDhjMC0yLjIgMS44LTQgNC00eiJdfSxxNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFza3MtdGhlYXRlciIsaWNvbjpbNTc2LDUxMixbMTI3OTE3LCJ0aGVhdGVyLW1hc2tzIl0sImY2MzAiLCJNLTUgMTE4TDIzLjUgMjc5LjdjMTQgNzkuNSA3Ni4zIDE0MS44IDE1NS44IDE1NS44bDEyLjcgMi4yYy0xNi41LTI4LjYtMjcuMS02MC43LTMwLjYtOTQuNWwtMjQuMSA0LjNjLTkuNyAxLjctMTguOC01LjgtMTYuOS0xNS41IDQuOC0yNC43IDE5LjEtNDYuNiAzOS43LTYwLjlsMC03NC42Yy0xLjQgLjgtMyAxLjMtNC43IDEuNmwtNjMgMTEuMWMtOC43IDEuNS0xNy4zLTQuNC0xNS45LTEzLjEgMy4xLTE5LjYgMTguNC0zNiAzOS4xLTM5LjcgMTcuMi0zIDMzLjkgMy41IDQ0LjYgMTUuOGwwLTIyLjdjMC0yMi41IDYuOS01Mi40IDMyLjMtNzMuNCAyNi0yMS41IDY3LjctNDMuOSAxMjQuOS01NC4yLTMwLjUtMTYuMy04Ni4zLTMyLTE2My44LTE4LjQtODAuMyAxNC4yLTEyOCA1MC4xLTE1MC4xIDc2LjEtOSAxMC41LTEwLjggMjQuOS04LjQgMzguNXpNMjA4IDEzOC43bDAgMTc0LjhjMCA4MC43IDUwLjUgMTUyLjkgMTI2LjQgMTgwLjRMMzYyLjEgNTA0YzE0LjEgNS4xIDI5LjYgNS4xIDQzLjcgMEw0MzMuNiA0OTRDNTA5LjUgNDY2LjQgNTYwIDM5NC4zIDU2MCAzMTMuNWwwLTE3NC44YzAtNi45LTIuMS0xMy44LTctMTguNi0yMi42LTIyLjUtNzguMi01Ni0xNjktNTZzLTE0Ni40IDMzLjYtMTY5IDU2Yy00LjkgNC45LTcgMTEuNy03IDE4LjZ6bTY2LjEgMTg3LjFjLTEuNC03IDctMTEgMTIuNy02LjYgMjYuOSAyMC42IDYwLjYgMzIuOSA5Ny4yIDMyLjlzNzAuMi0xMi4zIDk3LjItMzIuOWM1LjctNC40IDE0LjEtLjQgMTIuNyA2LjYtMTAuMSA1MS40LTU1LjUgOTAuMy0xMDkuOSA5MC4zcy05OS44LTM4LjgtMTA5LjktOTAuM3ptLjUtMTAxLjVDMjgxLjIgMjA1LjUgMjk5IDE5MiAzMjAgMTkyczM4LjkgMTMuNSA0NS40IDMyLjNjMi45IDguNC00LjUgMTUuNy0xMy40IDE1LjdsLTY0IDBjLTguOCAwLTE2LjMtNy40LTEzLjQtMTUuN3pNNDgwIDI0MGwtNjQgMGMtOC44IDAtMTYuMy03LjQtMTMuNC0xNS43IDYuNS0xOC44IDI0LjQtMzIuMyA0NS40LTMyLjNzMzguOSAxMy41IDQ1LjQgMzIuM2MyLjkgOC40LTQuNSAxNS43LTEzLjQgMTUuN3oiXX0sWEV0PXE1ZSxRRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FydC1wbHVzIixpY29uOls2NDAsNTEyLFtdLCJmMjE3IiwiTTAgOEMwLTUuMyAxMC43LTE2IDI0LTE2bDQ1LjMgMGMyNy4xIDAgNTAuMyAxOS40IDU1LjEgNDZsLjQgMiA0MTIuNyAwYzIwIDAgMzUuMSAxOC4yIDMxLjQgMzcuOUw1MzcuOCAyMzUuOGMtNS43IDMwLjMtMzIuMSA1Mi4yLTYyLjkgNTIuMmwtMzAzLjYgMCA1LjEgMjguM2MyLjEgMTEuNCAxMiAxOS43IDIzLjYgMTkuN0w0NTYgMzM2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNTUuOSAwYy0zNC44IDAtNjQuNi0yNC45LTcwLjgtNTkuMUw3Ny4yIDM4LjZjLS43LTMuOC00LTYuNi03LjktNi42TDI0IDMyQzEwLjcgMzIgMCAyMS4zIDAgOHpNMTYwIDQ2NGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem0yMjQgMGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek0zMzYgNzguNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAzMy42LTMzLjYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMy42IDAgMCAzMy42YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMy42IDMzLjYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzMuNiAwIDAtMzMuNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sT2I9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtYXNsLWludGVycHJldGluZyIsaWNvbjpbNjQwLDUxMixbImFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nIiwiYXNsLWludGVycHJldGluZyIsImhhbmRzLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nIl0sImYyYTMiLCJNMTU2LjYgNDYuM2M3LjktMTUuOCAxLjUtMzUtMTQuMy00Mi45cy0zNS0xLjUtNDIuOSAxNC4zTDEzLjUgMTg5LjRDNC42IDIwNy4yIDAgMjI2LjggMCAyNDYuN0wwIDI1NmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOGw4MCAwIDAtLjNjMzUuMi0yLjcgNjUuNC0yMi44IDgyLjEtNTEuNyA4LjgtMTUuMyAzLjYtMzQuOS0xMS43LTQzLjdzLTM0LjktMy42LTQzLjcgMTEuN2MtNyAxMi0xOS45IDIwLTM0LjcgMjAtMjIuMSAwLTQwLTE3LjktNDAtNDBzMTcuOS00MCA0MC00MGMxNC44IDAgMjcuNyA4IDM0LjcgMjAgOC44IDE1LjMgMjguNCAyMC41IDQzLjcgMTEuN3MyMC41LTI4LjQgMTEuNy00My43Yy0xMi44LTIyLjEtMzMuNi0zOS4xLTU4LjQtNDcuMWw4MC44LTIyYzE3LTQuNiAyNy4xLTIyLjIgMjIuNS0zOS4zcy0yMi4yLTI3LjEtMzkuMy0yMi41bC0xMDAuNyAyNy41IDgxLjYtNjhjMTMuNi0xMS4zIDE1LjQtMzEuNSA0LjEtNDUuMVMyNDkuMS0zLjkgMjM1LjUgNy40bC0xMDEuOSA4NC45IDIzLTQ2ek00ODMuNCA0NjUuN2MtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zbDg1LjktMTcxLjdjOC45LTE3LjggMTMuNS0zNy40IDEzLjUtNTcuMmwwLTkuM2MwLTcwLjctNTcuMy0xMjgtMTI4LTEyOGwtODAgMCAwIC4zYy0zNS4yIDIuNy02NS40IDIyLjgtODIuMSA1MS43LTguOSAxNS4zLTMuNiAzNC45IDExLjcgNDMuN3MzNC45IDMuNiA0My43LTExLjdjNy0xMiAxOS45LTIwIDM0LjctMjAgMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBjLTE0LjggMC0yNy43LTgtMzQuNy0yMC04LjktMTUuMy0yOC40LTIwLjUtNDMuNy0xMS43cy0yMC41IDI4LjQtMTEuNyA0My43YzEyLjggMjIuMSAzMy42IDM5LjEgNTguNCA0Ny4xbC04MC44IDIyYy0xNy4xIDQuNi0yNy4xIDIyLjItMjIuNSAzOS4zczIyLjIgMjcuMSAzOS4zIDIyLjVsMTAwLjctMjcuNS04MS42IDY4Yy0xMy42IDExLjMtMTUuNCAzMS41LTQuMSA0NS4xczMxLjUgMTUuNCA0NS4xIDQuMWwxMDEuOS04NC45LTIzIDQ2eiJdfSxKRXQ9T2IsZUl0PU9iLHRJdD1PYixhSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUtY2VsbHMtcm93LXVubG9jayIsaWNvbjpbNjQwLDUxMixbXSwiZTY5MSIsIk0yNTYgMjI0bDAgMTkyIDY0IDAgMC0xOTItNjQgMHptMjU2LTc5Yy00Ni43IDUuOC04NS42IDM2LjgtMTAyLjcgNzlsLTI1LjMgMCAwIDkwLjhjLTEwLjEgMTUuMi0xNiAzMy40LTE2IDUzLjFsMCA5NmMwIDUuNSAuNSAxMC45IDEuMyAxNi4xTDEyOCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDY0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNDl6TTEyOCAyMjRsMCAxOTIgNjQgMCAwLTE5Mi02NCAwem00MzIgNDhjLS4xLTE3LjYtMTQuNC0zMS45LTMyLTMxLjktMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MCA0NC4yIDAgNzkuOSAzNS44IDgwIDc5LjlsLTQ4IDB6Il19LHJJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2NrZXQiLGljb246WzUxMiw1MTIsW10sImYxMzUiLCJNMTI4IDMyMEwyNC41IDMyMGMtMjQuOSAwLTQwLjItMjcuMS0yNy40LTQ4LjVMNTAgMTgzLjNDNTguNyAxNjguOCA3NC4zIDE2MCA5MS4yIDE2MGw5NSAwYzc2LjEtMTI4LjkgMTg5LjYtMTM1LjQgMjY1LjUtMTI0LjMgMTIuOCAxLjkgMjIuOCAxMS45IDI0LjYgMjQuNiAxMS4xIDc1LjkgNC42IDE4OS40LTEyNC4zIDI2NS41bDAgOTVjMCAxNi45LTguOCAzMi41LTIzLjMgNDEuMmwtODguMiA1Mi45Yy0yMS4zIDEyLjgtNDguNS0yLjYtNDguNS0yNy40TDE5MiAzODRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLS4xIDB6TTQwMCAxNjBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHoiXX0sc0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNocmltcCIsaWNvbjpbNTEyLDUxMixbMTI5NDI0XSwiZTQ0OCIsIk03MiAzMkMzMi4yIDMyIDAgNjQuMiAwIDEwNCAwIDE0MS45IDI5LjMgMTcyLjkgNjYuNCAxNzUuOCA3Ny42IDI1Ny4yIDE0Ny40IDMyMCAyMzIgMzIwbDU2IDAgMC0xOTItMjE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0UzU4LjcgODAgNzIgODBsMzg0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMNzIgMzJ6TTIyNCA0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNzIgMCAwLTcyLjItNjQuMS0yMi40Yy0xMi41LTQuNC0yNi4yIDIuMi0zMC42IDE0LjdzMi4yIDI2LjIgMTQuNyAzMC42bDQuNSAxLjZDMjMzIDQzMy45IDIyNCA0NDMuOSAyMjQgNDU2em0xMjggMjMuM2MzNi40LTMuMyA2OS41LTE3LjYgOTYuMS0zOS42bC04Ni41LTM0LjZjLTMgMS44LTYuMiAzLjItOS42IDQuM2wwIDY5Ljl6TTQ3Mi42IDQxNWMyNC42LTMwLjMgMzkuNC02OC45IDM5LjQtMTExIDAtMTIuMy0xLjMtMjQuMy0zLjctMzUuOUwzODIuOCAzNTUuMWMuOCAzLjQgMS4yIDcgMS4yIDEwLjYgMCA0LjYtLjcgOS0xLjkgMTMuMUw0NzIuNiA0MTV6TTMzNiAxMjhsLTE2IDAgMCAxOTIgMTguMyAwYzkuOSAwIDE5LjEgMy4yIDI2LjYgOC41bDEzMy41LTkyLjRDNDcxLjggMTcyLjYgNDA5LjEgMTI4IDMzNiAxMjh6TTE2OCAxOTJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sVjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbmdlLXNpZ24iLGljb246WzM4NCw1MTIsWzgzNzYsInRlbmdlIl0sImY3ZDciLCJNMCA1NkMwIDQyLjcgMTAuNyAzMiAyNCAzMmwzMzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA4MEMxMC43IDgwIDAgNjkuMyAwIDU2ek0wIDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTI4IDAgMCAyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yNTYtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxpSXQ9VjVlLGo1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1jaGltbmV5LW1lZGljYWwiLGljb246WzUxMiw1MTIsWyJjbGluaWMtbWVkaWNhbCJdLCJmN2YyIiwiTTIzNC4yIDguNmMxMi4zLTExLjQgMzEuMy0xMS40IDQzLjUgMEwzNjggOTIuMyAzNjggODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEwMS41IDM3LjggMzUuMWM5LjYgOSAxMi44IDIyLjkgOCAzNS4xUzQ5My4yIDI3MiA0ODAgMjcybC0xNiAwIDAgMTc2YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0yODggMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzYtMTYgMGMtMTMuMiAwLTI1LTguMS0yOS44LTIwLjNzLTEuNi0yNi4yIDgtMzUuMWwyMjQtMjA4ek0yMjQgMjQ4bDAgNDAtNDAgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDQwIDAgMCA0MGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC00MCA0MCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtNDAgMCAwLTQwYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2eiJdfSxvSXQ9ajVlLG5JdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2Vycy1zbGFzaCIsaWNvbjpbNjQwLDUxMixbXSwiZTA3MyIsIk03My0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMyOS43LS4zIDM5IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUwzMjEuOCAyMjRjNTYuNi0xIDEwMi4yLTQ3LjIgMTAyLjItMTA0IDAtNTcuNC00Ni42LTEwNC0xMDQtMTA0LTU2LjggMC0xMDMgNDUuNi0xMDQgMTAyLjJMNzMtMjQuOXpNNTEyIDI4OGMtMTcuMiAwLTMzLjcgMy40LTQ4LjcgOS42bDE3MCAxNzBjNC4yLTUuNCA2LjctMTIuMiA2LjctMTkuNmwwLTMyYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4ek01OS45IDk3LjdjLTIxLjUgMTIuNS0zNS45IDM1LjctMzUuOSA2Mi4zIDAgMzkuOCAzMi4yIDcyIDcyIDcyIDI2LjYgMCA0OS44LTE0LjQgNjIuMy0zNS45TDU5LjkgOTcuN3pNMjUwLjIgMjg4QzE5Ni44IDMxMy45IDE2MCAzNjguNyAxNjAgNDMybDAgMTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjUwLjIgMC0xOTItMTkyek0xMjggMjg4QzU3LjMgMjg4IDAgMzQ1LjMgMCA0MTZsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw4Ni43IDBjLTQuMy05LjgtNi43LTIwLjYtNi43LTMybDAtMTZjMC01My4yIDIwLTEwMS44IDUyLjktMTM4LjYtMTEuNy0zLjUtMjQuMS01LjQtMzYuOS01LjR6TTYxNiAxNjBhNzIgNzIgMCAxIDAgLTE0NCAwIDcyIDcyIDAgMSAwIDE0NCAweiJdfSxsSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFwZXItcGxhbmUiLGljb246WzU3Niw1MTIsWzYxOTEzXSwiZjFkOCIsIk01MzYuNC0yNi4zYzkuOC0zLjUgMjAuNi0xIDI4IDYuM3M5LjggMTguMiA2LjMgMjhsLTE3OCA0OTYuOWMtNSAxMy45LTE4LjEgMjMuMS0zMi44IDIzLjEtMTQuMiAwLTI3LTguNi0zMi4zLTIxLjdsLTY0LjItMTU4Yy00LjUtMTEtMi41LTIzLjYgNS4yLTMyLjZsOTQuNS0xMTIuNGM1LjEtNi4xIDQuNy0xNS0uOS0yMC42cy0xNC42LTYtMjAuNi0uOUwyMjkuMiAyNzYuMWMtOS4xIDcuNi0yMS42IDkuNi0zMi42IDUuMkwzOC4xIDIxNi44Yy0xMy4xLTUuMy0yMS43LTE4LjEtMjEuNy0zMi4zIDAtMTQuNyA5LjItMjcuOCAyMy4xLTMyLjhsNDk2LjktMTc4eiJdfSxVNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vay1hdGxhcyIsaWNvbjpbNDQ4LDUxMixbImF0bGFzIl0sImY1NTgiLCJNOTYgNTEybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtNjYuN2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNsMC0yODhjMC0yNi41LTIxLjUtNDgtNDgtNDhMOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2ek02NCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjU2IDAgMCA2NC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTMxMC42IDIwOEwyNzkgMjA4Yy0xLjQgMjMuMS02IDQ0LjItMTIuNiA2MS4yIDIyLjctMTIuNSAzOS40LTM0LjggNDQuMi02MS4yem0tMTczLjEgMGM0LjggMjYuNCAyMS41IDQ4LjcgNDQuMiA2MS4yLTYuNy0xNy0xMS4yLTM4LTEyLjYtNjEuMmwtMzEuNiAwem03Ni40IDU1YzQuNSA5LjYgOC4yIDEzLjggMTAuMiAxNS41IDItMS43IDUuNy01LjggMTAuMi0xNS41IDYuMi0xMy40IDExLjEtMzIuNSAxMi43LTU1bC00NS44IDBjMS42IDIyLjUgNi41IDQxLjYgMTIuNyA1NXptLTEyLjctODdsNDUuOCAwYy0xLjYtMjIuNS02LjUtNDEuNi0xMi43LTU1LTQuNS05LjYtOC4yLTEzLjgtMTAuMi0xNS41LTIgMS43LTUuNyA1LjgtMTAuMiAxNS41LTYuMiAxMy40LTExLjEgMzIuNS0xMi43IDU1em0xMDkuNSAwYy00LjgtMjYuNC0yMS41LTQ4LjctNDQuMi02MS4yIDYuNyAxNyAxMS4yIDM4IDEyLjYgNjEuMmwzMS42IDB6TTE2OSAxNzZjMS40LTIzLjEgNi00NC4yIDEyLjYtNjEuMi0yMi43IDEyLjUtMzkuNCAzNC44LTQ0LjIgNjEuMmwzMS42IDB6TTk2IDE5MmExMjggMTI4IDAgMSAxIDI1NiAwIDEyOCAxMjggMCAxIDEgLTI1NiAweiJdfSxjSXQ9VTVlLGRJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjBjZSIsIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTMyMCAwLTYuNS0uM0MyNS4yIDQ3Ni40IDAgNDQ5LjEgMCA0MTZMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNNjQgMzIwbDAgOTYgMTI4IDAgMC05Ni0xMjggMHptMTkyIDBsMCA5NiAxMjggMCAwLTk2LTEyOCAwek02NCAyNTZsMTI4IDAgMC05Ni0xMjggMCAwIDk2em0xOTIgMGwxMjggMCAwLTk2LTEyOCAwIDAgOTZ6Il19LHVJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydCIsaWNvbjpbNTEyLDUxMixbMTI4MTUzLDEyODE1NCwxMjgxNTUsMTI4MTU2LDEyODQyMCwxMjkyOTMsMTI5Mjk0LDEyOTUwNSw5ODI5LDEwMDg0LDYxNTc4XSwiZjAwNCIsIk0yNDEgODcuMWwxNSAyMC43IDE1LTIwLjdDMjk2IDUyLjUgMzM2LjIgMzIgMzc4LjkgMzIgNDUyLjQgMzIgNTEyIDkxLjYgNTEyIDE2NS4xbDAgMi42YzAgMTEyLjItMTM5LjkgMjQyLjUtMjEyLjkgMjk4LjItMTIuNCA5LjQtMjcuNiAxNC4xLTQzLjEgMTQuMXMtMzAuOC00LjYtNDMuMS0xNC4xQzEzOS45IDQxMC4yIDAgMjc5LjkgMCAxNjcuN2wwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXoiXX0sVzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1jaGV2cm9uLXVwIixpY29uOls1MTIsNTEyLFsiY2hldnJvbi1jaXJjbGUtdXAiXSwiZjEzOSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzc3IDI3MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC04Ny04Ny04NyA4N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOUwyMzkgMTY3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDM3NyAyNzF6Il19LHBJdD1XNWUsRzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhdHRlcnktaGFsZiIsaWNvbjpbNjQwLDUxMixbImJhdHRlcnktMyJdLCJmMjQyIiwiTTUyOCAxMjhjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjI0YzAgOC44LTcuMiAxNi0xNiAxNmwtNDE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTIyNGMwLTguOCA3LjItMTYgMTYtMTZsNDE2IDB6TTExMiA2NGMtNDQuMiAwLTgwIDM1LjgtODAgODBsMCAyMjRjMCA0NC4yIDM1LjggODAgODAgODBsNDE2IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC00OGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtNDhjMC00NC4yLTM1LjgtODAtODAtODBMMTEyIDY0em01NiAxMTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0sZkl0PUc1ZSxFZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9udC1hd2Vzb21lIixpY29uOls1MTIsNTEyLFs2MjUwMSw2MjY5NCwiZm9udC1hd2Vzb21lLWZsYWciLCJmb250LWF3ZXNvbWUtbG9nby1mdWxsIl0sImYyYjQiLCJNOTEuNyA5NkMxMDYuMyA4Ni44IDExNiA3MC41IDExNiA1MiAxMTYgMjMuMyA5Mi43IDAgNjQgMFMxMiAyMy4zIDEyIDUyYzAgMTYuNyA3LjggMzEuNSAyMCA0MWwwIDQxOSA2NCAwIDAtNjQgMzczLjYgMGMxNC42IDAgMjYuNC0xMS44IDI2LjQtMjYuNCAwLTMuNy0uOC03LjMtMi4zLTEwLjdMNDMyIDI3MiA0OTMuNyAxMzMuMWMxLjUtMy40IDIuMy03IDIuMy0xMC43IDAtMTQuNi0xMS44LTI2LjQtMjYuNC0yNi40TDkxLjcgOTZ6Il19LGhJdD1FZWUsbUl0PUVlZSxnSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZGN1ZmZzIixpY29uOls1NzYsNTEyLFtdLCJlNGY4IiwiTTMyMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMiAxNC4zIDMyIDMyIDMyIDMyLTE0LjMgMzItMzJ6TTE5MiA2NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTE1MiA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxNmMwIDEgLjEgMS45IC4yIDIuOS03NC43IDI2LjMtMTI4LjIgOTcuNS0xMjguMiAxODEuMSAwIDEwNiA4NiAxOTIgMTkyIDE5MnMxOTItODYgMTkyLTE5MmMwLTgzLjctNTMuNS0xNTQuOC0xMjguMi0xODEuMSAuMS0uOSAuMi0xLjkgLjItMi45bDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTgwIDB6TTY0IDMyMGExMjggMTI4IDAgMSAxIDI1NiAwIDEyOCAxMjggMCAxIDEgLTI1NiAwem00NDggMGMwIDY2LjktNTEuMyAxMjEuOC0xMTYuNiAxMjcuNS0xNC4zIDIyLjgtMzIuNCA0My4xLTUzLjQgNTkuOSAxMy41IDMgMjcuNiA0LjYgNDIgNC42IDEwNiAwIDE5Mi04NiAxOTItMTkyIDAtODMuNy01My41LTE1NC44LTEyOC4yLTE4MS4xIC4xLS45IC4yLTEuOSAuMi0yLjlsMC0xNmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtODAgMGMtMTIuMyAwLTIyLjQgOS4yLTIzLjggMjEuMSAzMC4zIDE5LjIgNTYuMSA0NSA3NS4yIDc1LjQgNjUuNCA1LjggMTE2LjYgNjAuNiAxMTYuNiAxMjcuNXpNMzg0IDY0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sYkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhdC1jb3dib3ktc2lkZSIsaWNvbjpbNjQwLDUxMixbXSwiZjhjMSIsIk02NDAgMzg4LjNjMCAxNi45LTcuMSAzMi4yLTE4LjQgNDMuMWwtMzUtMjMuMy0yOTIuNy0xOTUuMWMtMzYuMS0yNC4xLTc4LjYtMzYuOS0xMjItMzYuOWwtMy45IDBjLTIuNyAwLTUuNCAwLTggLjFsMjIuMi0xMDBjNS43LTI1LjggMjguNi00NC4xIDU1LTQ0LjEgMTIuMiAwIDI0LjEgNCAzMy44IDExLjNsNC43IDMuNWMyNi4zIDE5LjcgNjIuNCAxOS43IDg4LjYgMGw0LjctMy41YzkuOC03LjMgMjEuNi0xMS4zIDMzLjgtMTEuMyAyNi40IDAgNDkuMyAxOC4zIDU1IDQ0LjFsMzMgMTQ4LjVDNTc0LjUgMjMyLjMgNjQwIDMwMi42IDY0MCAzODguM3pNMTcxLjkgMjI0YzMzLjkgMCA2Ny4xIDEwIDk1LjQgMjguOUw1NjAgNDQ4IDU2IDQ0OGMtMzAuOSAwLTU2LTI1LjEtNTYtNTYgMC05Mi44IDc1LjItMTY4IDE2OC0xNjhsMy45IDB6Il19LHZJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpbmR1c3RyeSIsaWNvbjpbNTEyLDUxMixbXSwiZjI3NSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjc5LjhjMC0xOC4yLTE5LjQtMjkuNy0zNS40LTIxLjFsLTE1Ni42IDg0LjMgMC02My4yYzAtMTguMi0xOS40LTI5LjctMzUuNC0yMS4xTDEyOCAyMTUuNCAxMjggNjRjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMzJ6Il19LHhJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaW5lcy1sZWFuaW5nIixpY29uOlszODQsNTEyLFtdLCJlNTFlIiwiTTE5MC40IDc0LjFjNS42LTE2LjgtMy41LTM0LjktMjAuMi00MC41cy0zNC45IDMuNS00MC41IDIwLjJsLTEyOCAzODRjLTUuNiAxNi44IDMuNSAzNC45IDIwLjIgNDAuNXMzNC45LTMuNSA0MC41LTIwLjJsMTI4LTM4NHptNzAuOS00MS43Yy0xNy40LTIuOS0zMy45IDguOS0zNi44IDI2LjNsLTY0IDM4NGMtMi45IDE3LjQgOC45IDMzLjkgMjYuMyAzNi44czMzLjktOC45IDM2LjgtMjYuM2w2NC0zODRjMi45LTE3LjQtOC45LTMzLjktMjYuMy0zNi44ek0zNTIgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zODRjMC0xNy43LTE0LjMtMzItMzItMzJ6Il19LHlJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYXNzcG9ydCIsaWNvbjpbMzg0LDUxMixbXSwiZjVhYiIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTk2IDQwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0ek0yNzguNiAyMDhjLTQuOCAyNi40LTIxLjUgNDguNy00NC4yIDYxLjIgNi43LTE3IDExLjItMzggMTIuNi02MS4ybDMxLjYgMHptLTE3My4xIDBsMzEuNiAwYzEuNCAyMy4xIDYgNDQuMiAxMi42IDYxLjItMjIuNy0xMi41LTM5LjQtMzQuOC00NC4yLTYxLjJ6bTc2LjQgNTVjLTYuMi0xMy40LTExLjEtMzIuNS0xMi43LTU1bDQ1LjggMGMtMS42IDIyLjUtNi41IDQxLjYtMTIuNyA1NS00LjUgOS42LTguMiAxMy44LTEwLjIgMTUuNS0yLTEuNy01LjctNS44LTEwLjItMTUuNXptMC0xNDJjNC41LTkuNiA4LjItMTMuOCAxMC4yLTE1LjUgMiAxLjcgNS43IDUuOCAxMC4yIDE1LjUgNi4yIDEzLjQgMTEuMSAzMi41IDEyLjcgNTVsLTQ1LjggMGMxLjYtMjIuNSA2LjUtNDEuNiAxMi43LTU1em05Ni43IDU1TDI0NyAxNzZjLTEuNC0yMy4xLTYtNDQuMi0xMi42LTYxLjIgMjIuNyAxMi41IDM5LjQgMzQuOCA0NC4yIDYxLjJ6TTEzNyAxNzZsLTMxLjYgMGM0LjgtMjYuNCAyMS41LTQ4LjcgNDQuMi02MS4yLTYuNyAxNy0xMS4yIDM4LTEyLjYgNjEuMnptMTgzIDE2YTEyOCAxMjggMCAxIDAgLTI1NiAwIDEyOCAxMjggMCAxIDAgMjU2IDB6Il19LHdJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpbmZpbml0eSIsaWNvbjpbNjQwLDUxMixbODczNCw5ODU0XSwiZjUzNCIsIk0wIDI1NmMwLTg4LjQgNzEuNi0xNjAgMTYwLTE2MCA1MC40IDAgOTcuOCAyMy43IDEyOCA2NGwzMiA0Mi43IDMyLTQyLjdjMzAuMi00MC4zIDc3LjYtNjQgMTI4LTY0IDg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwUzU2OC40IDQxNiA0ODAgNDE2Yy01MC40IDAtOTcuOC0yMy43LTEyOC02NGwtMzItNDIuNy0zMiA0Mi43Yy0zMC4yIDQwLjMtNzcuNiA2NC0xMjggNjQtODguNCAwLTE2MC03MS42LTE2MC0xNjB6bTI4MCAwbC00My4yLTU3LjZjLTE4LjEtMjQuMi00Ni42LTM4LjQtNzYuOC0zOC40LTUzIDAtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZjMzAuMiAwIDU4LjctMTQuMiA3Ni44LTM4LjRMMjgwIDI1NnptODAgMGw0My4yIDU3LjZjMTguMSAyNC4yIDQ2LjYgMzguNCA3Ni44IDM4LjQgNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZjLTMwLjIgMC01OC43IDE0LjItNzYuOCAzOC40TDM2MCAyNTZ6Il19LE1JdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG9uZSIsaWNvbjpbNTEyLDUxMixbXSwiZjI0ZCIsIk0yODggNDQ4bC0yMjQgMCAwLTIyNCA0OCAwIDAtNjQtNDggMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjI0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC00OC02NCAwIDAgNDh6bS02NC05NmwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIyNGMwLTM1LjMtMjguNy02NC02NC02NEwyMjQgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMjRjMCAzNS4zIDI4LjcgNjQgNjQgNjR6Il19LGtJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb3J3YXJkIixpY29uOls1NzYsNTEyLFs5MTkzXSwiZjA0ZSIsIk0zNzEuNyA0My4xQzM2MC4xIDMyIDM0MyAyOC45IDMyOC4zIDM1LjJTMzA0IDU2IDMwNCA3MmwwIDEzNi4zLTE3Mi4zLTE2NS4xQzEyMC4xIDMyIDEwMyAyOC45IDg4LjMgMzUuMlM2NCA1NiA2NCA3MmwwIDM2OGMwIDE2IDkuNiAzMC41IDI0LjMgMzYuOHMzMS44IDMuMiA0My40LTcuOUwzMDQgMzAzLjcgMzA0IDQ0MGMwIDE2IDkuNiAzMC41IDI0LjMgMzYuOHMzMS44IDMuMiA0My40LTcuOWwxOTItMTg0YzcuOS03LjUgMTIuMy0xOCAxMi4zLTI4LjlzLTQuNS0yMS4zLTEyLjMtMjguOWwtMTkyLTE4NHoiXX0sU0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im0iLGljb246WzQ0OCw1MTIsWzEwOV0sIjRkIiwiTTIyLjcgMzMuNGMxMy41LTQuMSAyOC4xIDEuMSAzNS45IDEyLjlMMjI0IDI5NC4zIDM4OS40IDQ2LjNjNy44LTExLjcgMjIuNC0xNyAzNS45LTEyLjlTNDQ4IDQ5LjkgNDQ4IDY0bDAgMzg0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjc4LjMtMTMzLjQgMjAwLjFjLTUuOSA4LjktMTUuOSAxNC4yLTI2LjYgMTQuMnMtMjAuNy01LjMtMjYuNi0xNC4yTDY0IDE2OS43IDY0IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4TDAgNjRDMCA0OS45IDkuMiAzNy41IDIyLjcgMzMuNHoiXX0sekl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvYWQtc3Bpa2VzIixpY29uOls2NDAsNTEyLFtdLCJlNTY4IiwiTTY0IDExNi44YzAtMTUuOCAyMC41LTIyIDI5LjMtOC45bDk4LjcgMTQ4IDAtMTM5LjJjMC0xNS44IDIwLjUtMjIgMjkuMy04LjlsOTguNyAxNDggMC0xMzkuMmMwLTE1LjggMjAuNS0yMiAyOS4zLTguOWw5OC43IDE0OCAwLTEzOS4yYzAtMTUuOCAyMC41LTIyIDI5LjMtOC45TDYwNi44IDMwMi4yYzE0LjIgMjEuMy0xLjEgNDkuOC0yNi42IDQ5LjhMNjQgMzUyIDY0IDExNi44ek0zMiAzODRsNTc2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSxDSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW91bnRhaW4iLGljb246WzUxMiw1MTIsWzEyNzk1Nl0sImY2ZmMiLCJNMjU2LjUgMGMxNC43IDAgMjguMiA4LjEgMzUuMiAyMWwyMTYgNDAwYzYuNyAxMi40IDYuNCAyNy40LS44IDM5LjUtNy4yIDEyLjEtMjAuMyAxOS41LTM0LjMgMTkuNWwtNDMyIDBjLTE0LjEgMC0yNy4xLTcuNC0zNC4zLTE5LjVzLTcuNS0yNy4xLS44LTM5LjVsMjE2LTQwMCAyLjktNC42QzIzMS43IDYuMiAyNDMuNiAwIDI1Ni41IDB6TTE3MC40IDI0OS45bDI2LjggMjYuOGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw0My4zLTQzLjNjNi02IDE0LjEtOS40IDIyLjYtOS40bDQyLjggMC03Mi4xLTEzMy41LTg2LjEgMTU5LjR6Il19LF9JdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVzcyIsaWNvbjpbNTEyLDUxMixbXSwiZjQzOSIsIk0xNjggNTZsMCA0MC03OC4xIDBjLTE0LjMgMC0yNS45IDExLjYtMjUuOSAyNS45IDAgNCAuOSA4IDIuNyAxMS42bDMzLjQgNjYuOGMtMTEuNCAxLjgtMjAuMiAxMS43LTIwLjIgMjMuNyAwIDEzLjMgMTAuNyAyNCAyNCAyNGw1LjYgMC0xMy42IDEzNi01Ni4yIDcwLjNjLTUgNi4zLTcuOCAxNC4xLTcuOCAyMi4yIDAgMTkuNiAxNS45IDM1LjUgMzUuNSAzNS41bDI0OC45IDBjMTkuNiAwIDM1LjUtMTUuOSAzNS41LTM1LjUgMC04LjEtMi43LTE1LjktNy44LTIyLjJMMjg4IDM4NCAyNzQuNCAyNDggMjgwIDI0OGMxMy4zIDAgMjQtMTAuNyAyNC0yNCAwLTExLjktOC43LTIxLjktMjAuMi0yMy43bDMzLjQtNjYuOGMxLjgtMy42IDIuNy03LjYgMi43LTExLjYgMC0xNC4zLTExLjYtMjUuOS0yNS45LTI1LjlsLTc4LjEgMCAwLTQwIDE2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMjQ1LjMgOCAyMzIgOGwtMTYgMCAwLTE2YzAtMTMuMy0xMC43LTI0LTI0LTI0UzE2OC0yMS4zIDE2OC04bDAgMTYtMTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNiAwek0zMjUuOCAyNzkuNmw4LjUgODUuNSA0Ny40IDU5LjIgNC4yIDUuN2M5LjIgMTMuNyAxNC4xIDI5LjkgMTQuMSA0Ni41IDAgMTIuNy0yLjggMjQuOC03LjkgMzUuNWw4My4xIDBjMjAuMyAwIDM2LjgtMTYuNSAzNi44LTM2LjggMC03LjMtMi4yLTE0LjQtNi4yLTIwLjRsLTI1LjgtMzguNyAwLTY0IDEzLjMtMTMuM2MxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zTDUxMiAxOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNi0zMiAwIDAtMTZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDIyLjQtMTAuMiA0Mi40LTI2LjIgNTUuNnoiXX0sRmI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtdGhyZWUtcXVhcnRlcnMiLGljb246WzMyMCw1MTIsWyJ0ZW1wZXJhdHVyZS0zIiwidGhlcm1vbWV0ZXItMyIsInRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzIl0sImYyYzgiLCJNMTYwIDBDMTA3IDAgNjQgNDMgNjQgOTZsMCAxNjQuN0MzNC41IDI4NyAxNiAzMjUuNCAxNiAzNjggMTYgNDQ3LjUgODAuNSA1MTIgMTYwIDUxMnMxNDQtNjQuNSAxNDQtMTQ0YzAtNDIuNi0xOC41LTgxLTQ4LTEwNy4zTDI1NiA5NmMwLTUzLTQzLTk2LTk2LTk2em02NCAzNjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRjMC0yNi45IDE2LjUtNDkuOSA0MC01OS4zTDEzNiAxNTJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE1Ni43YzIzLjUgOS41IDQwIDMyLjUgNDAgNTkuM3oiXX0sVEl0PUZiLExJdD1GYiwkSXQ9RmIsREl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImIiLGljb246WzMyMCw1MTIsWzk4XSwiNDIiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNjAgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOCAwLTQ2LjUtMjQuOC04Ny4zLTYyLTEwOS43IDE4LjctMjIuMyAzMC01MSAzMC04Mi4zIDAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4TDMyIDMyek0xNjAgMjI0bC05NiAwIDAtMTI4IDk2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjR6TTY0IDI4OGwxMjggMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGwtMTI4IDAgMC0xMjh6Il19LEFJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGllbGQtdmlydXMiLGljb246WzUxMiw1MTIsW10sImUwNmMiLCJNMjUzLjQgMi45QzI0OS4yIDEgMjQ0LjcgMCAyNDAgMHMtOS4yIDEtMTMuNCAyLjlMMzguMyA4Mi44Yy0yMiA5LjMtMzguNCAzMS0zOC4zIDU3LjIgLjUgOTkuMiA0MS4zIDI4MC43IDIxMy42IDM2My4yIDE2LjcgOCAzNi4xIDggNTIuOCAwIDE3Mi40LTgyLjUgMjEzLjItMjY0IDIxMy42LTM2My4yIC4xLTI2LjItMTYuMy00Ny45LTM4LjMtNTcuMkwyNTMuNCAyLjl6TTI0MCAxMjhjMTMuMyAwIDI0IDEwLjcgMjQgMjQgMCAyMi45IDI3LjcgMzQuNCA0My45IDE4LjIgOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45Yy0xNi4yIDE2LjItNC43IDQzLjkgMTguMiA0My45IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yMi45IDAtMzQuNCAyNy43LTE4LjIgNDMuOSA5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwYy0xNi4yLTE2LjItNDMuOS00LjctNDMuOSAxOC4yIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMjIuOS0yNy43LTM0LjQtNDMuOS0xOC4yLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjljMTYuMi0xNi4yIDQuNy00My45LTE4LjItNDMuOS0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzIyLjkgMCAzNC40LTI3LjcgMTguMi00My45LTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGMxNi4yIDE2LjIgNDMuOSA0LjcgNDMuOS0xOC4yIDAtMTMuMyAxMC43LTI0IDI0LTI0ek0yMDggMjY0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptODggNDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sUEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpdGVjb2luLXNpZ24iLGljb246WzM4NCw1MTIsW10sImUxZDMiLCJNMTI4IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzY0IDQ2LjMgNjQgNjRsMCAxNTcuOS0zOC42IDExYy0xMi43IDMuNi0yMC4xIDE2LjktMTYuNSAyOS43czE2LjkgMjAuMSAyOS43IDE2LjVMNjQgMjcxLjggNjQgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yMjQgMCAwLTE2Mi41IDEzNC42LTM4LjVjMTIuNy0zLjYgMjAuMS0xNi45IDE2LjUtMjkuN3MtMTYuOS0yMC4xLTI5LjctMTYuNUwxMjggMjAzLjYgMTI4IDY0eiJdfSxFSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZS1kNiIsaWNvbjpbNTEyLDUxMixbXSwiZjZkMSIsIk0yMjQuNCA4LjNDMjQ0LTIuOCAyNjgtMi44IDI4Ny42IDguM2wxNzYgOTkuN2MyMCAxMS40IDMyLjQgMzIuNiAzMi40IDU1LjdsMCAxOTcuNGMwIDIzLTEyLjQgNDQuMy0zMi40IDU1LjdsLTE3NiA5OS43Yy0xOS42IDExLjEtNDMuNiAxMS4xLTYzLjEgMGwtMTc2LTk5LjdDMjguNCA0MDUuNSAxNiAzODQuMiAxNiAzNjEuMmwwLTE5Ny40YzAtMjMgMTIuNC00NC4zIDMyLjQtNTUuN2wxNzYtOTkuN3pNMTAyLjYgMTU1LjZjLTguOC0zLjEtMTguOCAuMy0yMy44IDguNnMtMy4yIDE4LjcgMy42IDI1bDMuMiAyLjQgMTUwLjIgOTAuMiAwIDE0OC43YzAgMTEgOSAyMCAyMCAyMCAxMSAwIDIwLTkgMjAtMjBsMC0xNDguNyAxNTAuMy05MC4yYzkuNS01LjcgMTIuNi0xOCA2LjktMjcuNHMtMTgtMTIuNS0yNy40LTYuOWwtMTQ5LjcgODkuOC0xNDkuNy04OS44LTMuNy0xLjd6Il19LElJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJncmlwLWxpbmVzLXZlcnRpY2FsIixpY29uOlsxOTIsNTEyLFtdLCJmN2E1IiwiTTY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJMNjQgNjR6bTEyOCAwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zODR6Il19LFk1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnb2xmLWJhbGwtdGVlIixpY29uOlszODQsNTEyLFsiZ29sZi1iYWxsIl0sImY0NTAiLCJNMjk4LjUgMzg0LjFjMTIuMSAxLjIgMjEuNSAxMS41IDIxLjUgMjMuOXMtOS40IDIyLjYtMjEuNSAyMy45bC0yLjUgLjEtODAgMCAwIDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtODgtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjQgMC0xMi40IDkuNC0yMi42IDIxLjUtMjMuOWwyLjUtLjEgMjA4IDAgMi41IC4xek0xOTIgMGMxMDYgMCAxOTIgODYgMTkyIDE5MiAwIDU3LjQtMjUuMiAxMDguOC02NS4xIDE0NEw2NS4xIDMzNkMyNS4yIDMwMC44IDAgMjQ5LjQgMCAxOTIgMCA4NiA4NiAwIDE5MiAwem0zMiAyNDBjLTcuNyAwLTE0LjIgNS41LTE1LjcgMTIuOGwtLjYgNi40Yy0xLjMgNi4zLTYuMiAxMS4yLTEyLjUgMTIuNWwtNi40IC42Yy03LjMgMS41LTEyLjggOC0xMi44IDE1LjcgMCA4LjggNy4yIDE2IDE2IDE2IDI2LjUgMCA0OC0yMS41IDQ4LTQ4IDAtOC44LTcuMi0xNi0xNi0xNnptNjQtNjRjLTcuNyAwLTE0LjIgNS41LTE1LjcgMTIuOGwtLjYgNi40Yy0xLjMgNi4zLTYuMiAxMS4yLTEyLjUgMTIuNWwtNi40IC42Yy03LjMgMS41LTEyLjggOC0xMi44IDE1LjcgMCA4LjggNy4yIDE2IDE2IDE2IDI2LjUgMCA0OC0yMS41IDQ4LTQ4IDAtOC44LTcuMi0xNi0xNi0xNnptLTgwLTE2Yy03LjcgMC0xNC4yIDUuNS0xNS43IDEyLjhsLS42IDYuNGMtMS4zIDYuMy02LjIgMTEuMi0xMi41IDEyLjVsLTYuNCAuNmMtNy4zIDEuNS0xMi44IDgtMTIuOCAxNS43IDAgOC44IDcuMiAxNiAxNiAxNiAyNi41IDAgNDgtMjEuNSA0OC00OCAwLTguOC03LjItMTYtMTYtMTZ6Il19LE5JdD1ZNWUsUkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhleGFnb24iLGljb246WzU3Niw1MTIsWzExMDQzXSwiZjMxMiIsIk0zMy41IDIyMC4zYy0xMi43IDIyLjItMTIuNyA0OS40IDAgNzEuNWw5Ni4yIDE2OC4xYzEyLjggMjIuNCAzNi43IDM2LjIgNjIuNSAzNi4ybDE5MS42IDBjMjUuOCAwIDQ5LjctMTMuOCA2Mi41LTM2LjJsOTYuMi0xNjguMWMxMi43LTIyLjIgMTIuNy00OS40IDAtNzEuNUw0NDYuMyA1Mi4yQzQzMy41IDI5LjggNDA5LjYgMTYgMzgzLjggMTZMMTkyLjIgMTZjLTI1LjggMC00OS43IDEzLjgtNjIuNSAzNi4yTDMzLjUgMjIwLjN6Il19LE9JdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb2xkZXItb3BlbiIsaWNvbjpbNTc2LDUxMixbMTI4MTk0LDEyODQ0OSw2MTcxN10sImYwN2MiLCJNNTYgMjI1LjZMMzIuNCAyOTYuMiAzMi40IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDEzOC43IDBjMTMuOCAwIDI3LjMgNC41IDM4LjQgMTIuOGwzOC40IDI4LjhjNS41IDQuMiAxMi4zIDYuNCAxOS4yIDYuNGwxMTcuMyAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTYtMzY1LjQgMGMtNDEuMyAwLTc4IDI2LjQtOTEuMSA2NS42ek00NzcuOCA0NDhMOTkgNDQ4Yy0zMi44IDAtNTUuOS0zMi4xLTQ1LjUtNjMuMmw0OC0xNDRDMTA4IDIyMS4yIDEyNi40IDIwOCAxNDcgMjA4bDM3OC44IDBjMzIuOCAwIDU1LjkgMzIuMSA0NS41IDYzLjJsLTQ4IDE0NGMtNi41IDE5LjYtMjQuOSAzMi44LTQ1LjUgMzIuOHoiXX0sRkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImthYWJhIixpY29uOls1MTIsNTEyLFsxMjgzMzFdLCJmNjZiIiwiTTI1NiA1MS4zTDkyLjggMTEyLjQgMjQ3LjUgMTcxLjFjNS41IDIuMSAxMS41IDIuMSAxNyAwTDQxOS4yIDExMi40IDI1NiA1MS4zek0wIDEyOS4zYzAtMjAgMTIuNC0zNy45IDMxLjEtNDQuOWwyMDgtNzhjMTAuOS00LjEgMjIuOC00LjEgMzMuNyAwbDIwOCA3OGMxOC43IDcgMzEuMSAyNC45IDMxLjEgNDQuOWwwIDM2LTI1My4yIDk2Yy0xLjggLjctMy44IC43LTUuNyAwbC0yNTMuMi05NiAwLTM2em0wIDE0MGwwLTUyLjcgMjM2LjEgODkuNmMxMi44IDQuOSAyNi45IDQuOSAzOS43IDBsMjM2LjEtODkuNiAwIDUyLjctMTI4IDQ4LjYgMCA1MS4zIDEyOC00OC42IDAgNjIuMmMwIDIwLTEyLjQgMzcuOS0zMS4xIDQ0LjlsLTIwOCA3OGMtMTAuOSA0LjEtMjIuOCA0LjEtMzMuNyAwbC0yMDgtNzhDMTIuNCA0MjAuNyAwIDQwMi43IDAgMzgyLjdsMC02Mi4yIDEyOCA0OC42IDAtNTEuMy0xMjgtNDguNnpNMjM2LjEgNDEwLjFjMTIuOCA0LjkgMjYuOSA0LjkgMzkuNyAwbDYwLjEtMjIuOCAwLTUxLjMtNzcuMiAyOS4zYy0xLjggLjctMy44IC43LTUuNyAwbC03Ny4yLTI5LjMgMCA1MS4zIDYwLjEgMjIuOHoiXX0sQkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtaG9sZGluZyIsaWNvbjpbNTc2LDUxMixbXSwiZjRiZCIsIk02Ni43IDM4NGw0Mi41LTQyLjVjMjQtMjQgNTYuNi0zNy41IDkwLjUtMzcuNUwzNTIgMzA0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMi42IDAgMTE5LjctODguMmMxNy44LTEzLjEgNDIuOC05LjMgNTUuOSA4LjVzOS4zIDQyLjgtOC41IDU1LjlMNDMzLjEgNDg1LjVjLTIzLjQgMTcuMi01MS42IDI2LjUtODAuNyAyNi41TDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzNC43IDB6Il19LEhJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaW5nbGUtcXVvdGUtcmlnaHQiLGljb246WzE5Miw1MTIsW10sImU4MWMiLCJNNjQgNDE2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDggMGMzMC45IDAgNTYtMjUuMSA1Ni01NmwwLTgtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGw2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTM2YzAgNjYuMy01My43IDEyMC0xMjAgMTIwbC04IDB6Il19LHFJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3R0bGUtZHJvcGxldCIsaWNvbjpbMzIwLDUxMixbXSwiZTRjNCIsIk04MCAwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxMDMuM2M2NC45IDIwLjQgMTEyIDgxIDExMiAxNTIuN2wwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1NDRjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjg4YzAtNzEuNiA0Ny4xLTEzMi4zIDExMi0xNTIuN0wxMTIgMzJDOTQuMyAzMiA4MCAxNy43IDgwIDB6bTgwIDQxNmMzNS4zIDAgNjQtMzIuNCA2NC02NCAwLTIxLjItMjguOS02NC41LTQ3LjktOTAuNi04LjEtMTEuMS0yNC4yLTExLjEtMzIuMyAwLTE5IDI2LjEtNDcuOSA2OS40LTQ3LjkgOTAuNiAwIDMxLjYgMjguNyA2NCA2NCA2NHoiXX0sVkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpbmRvdy1taW5pbWl6ZSIsaWNvbjpbNTEyLDUxMixbMTI4NDY5XSwiZjJkMSIsIk0wIDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxqSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hldnJvbi1yaWdodCIsaWNvbjpbMzIwLDUxMixbOTAwMl0sImYwNTQiLCJNMzExLjEgMjMzLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTE5MiAxOTJjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDI0My4yIDI1NiA3My45IDg2LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMTkyIDE5MnoiXX0sVUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVnZyIsaWNvbjpbMzg0LDUxMixbMTI5MzcwXSwiZjdmYiIsIk0xOTIgNDk2Qzg2IDQ5NiAwIDM5NCAwIDI4OCAwIDE3NiA2NCAxNiAxOTIgMTZTMzg0IDE3NiAzODQgMjg4YzAgMTA2LTg2IDIwOC0xOTIgMjA4ek0xNTQuOCAxMzRjNi41LTYgNy0xNi4xIDEtMjIuNnMtMTYuMS03LTIyLjYtMWMtMjMuOSAyMS44LTQxLjEgNTIuNy01Mi4zIDg0LjItMTEuMiAzMS42LTE2LjkgNjUuMS0xNi45IDkzLjUgMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmMwLTI0LjUgNS01NC40IDE1LjEtODIuOCAxMC4xLTI4LjUgMjUtNTQuMSA0My43LTcxLjJ6Il19LEs1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYW5kbWFyay1kb21lIixpY29uOls1MTIsNTEyLFsibGFuZG1hcmstYWx0Il0sImY3NTIiLCJNMjU2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyIDAgLjkgMCAxLjggLjEgMi42LTgwLjUgMTMuNC0xNDQgNzYuOS0xNTcuNSAxNTcuNEw2NCAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCAxNjAtNTEuMiAzOC40QzQuNyA0NjAuNCAwIDQ2OS45IDAgNDgwIDAgNDk3LjcgMTQuMyA1MTIgMzIgNTEybDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyIDAtMTAuMS00LjctMTkuNi0xMi44LTI1LjZMNDQ4IDQxNiA0NDggMjU2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yLjcgMGMtMTMuNS04MC40LTc3LTE0My45LTE1Ny41LTE1Ny40IC4xLS45IC4xLTEuNyAuMS0yLjYgMC0xNy43LTE0LjMtMzItMzItMzJ6bTgwIDI1Nmw2NCAwIDAgMTYwLTY0IDAgMC0xNjB6TTIyNCA0MTZsMC0xNjAgNjQgMCAwIDE2MC02NCAwek0xMTIgMjU2bDY0IDAgMCAxNjAtNjQgMCAwLTE2MHoiXX0sV0l0PUs1ZSxHSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid29ybSIsaWNvbjpbNDQ4LDUxMixbXSwiZTU5OSIsIk0yMjQgOTZjMC01MyA0My05NiA5Ni05NmwzOC40IDBDNDA3LjkgMCA0NDggNDAuMSA0NDggODkuNkw0NDggMzc2YzAgNzUuMS02MC45IDEzNi0xMzYgMTM2UzE3NiA0NTEuMSAxNzYgMzc2bDAtODBjMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBsMCAxNjhjMCAyNi41LTIxLjUgNDgtNDggNDhTMCA0OTAuNSAwIDQ2NEwwIDI5NmMwLTc1LjEgNjAuOS0xMzYgMTM2LTEzNnMxMzYgNjAuOSAxMzYgMTM2bDAgODBjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGwwLTE4NC0zMiAwYy01MyAwLTk2LTQzLTk2LTk2em0xNDQtOGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxZSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1pbmp1cmVkIixpY29uOls0NDgsNTEyLFtdLCJmNzI4IiwiTTI0Mi43IDgwTDMzNCA4MGMtMTAuNy0yNC42LTI5LjUtNDQuOS01Mi45LTU3LjZMMjQyLjcgODB6bS0uOS03MC43QzIzNiA4LjQgMjMwIDggMjI0IDggMTc0LjggOCAxMzIuNSAzNy42IDExNCA4MGw4MC42IDAgNDcuMS03MC43ek0yMjQgMjQ4YzY2LjMgMCAxMjAtNTMuNyAxMjAtMTIwbC0yNDAgMGMwIDY2LjMgNTMuNyAxMjAgMTIwIDEyMHpNOTguNyAzNDEuOEM0OS4zIDM3MC4yIDE2IDQyMy41IDE2IDQ4NC42IDE2IDQ5OS43IDI4LjMgNTEyIDQzLjQgNTEybDE1MSAwLTk1LjgtMTcwLjJ6bTQ1LjEtMTcuN2w0Mi43IDc1LjkgODUuNSAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgMTEuNC0yLjQgMjIuMi02LjcgMzJsNTkuMiAwYzE1LjEgMCAyNy40LTEyLjMgMjcuNC0yNy40IDAtOTAuOS03My43LTE2NC42LTE2NC42LTE2NC42bC04Ni45IDBjLTEyLjYgMC0yNC45IDEuNC0zNi43IDQuMXpNMjEzLjUgNDQ4bDM2IDY0IDIyLjUgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTguNSAweiJdfSxLSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RyaWtldGhyb3VnaCIsaWNvbjpbNTEyLDUxMixbXSwiZjBjYyIsIk05NiAxNTcuNUM5NiA4OC4yIDE1Mi4yIDMyIDIyMS41IDMyTDM2OCAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwyMjEuNSA5NmMtMzQgMC02MS41IDI3LjUtNjEuNSA2MS41IDAgMzEgMjMuMSA1Ny4yIDUzLjkgNjFsNDQuMSA1LjUgMjIyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDgzLjEgMEMxMDMgMjA0LjYgOTYgMTgxLjggOTYgMTU3LjV6TTM0OS4yIDMzNmw2NS41IDBjLjkgNi4xIDEuNCAxMi4yIDEuNCAxOC41IDAgNjkuMy01Ni4yIDEyNS41LTEyNS41IDEyNS41TDE0NCA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTQ2LjUgMGMzNCAwIDYxLjUtMjcuNSA2MS41LTYxLjUgMC02LjQtMS0xMi43LTIuOC0xOC41eiJdfSxaSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmxvZyIsaWNvbjpbNTEyLDUxMixbXSwiZjc4MSIsIk0yMjQgMjRjMC0xMy4zIDEwLjctMjQgMjQtMjQgMTQ1LjggMCAyNjQgMTE4LjIgMjY0IDI2NCAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTExOS4zLTk2LjctMjE2LTIxNi0yMTYtMTMuMyAwLTI0LTEwLjctMjQtMjR6TTgwIDk2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjI0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDgtMjEuNS00OC00OC00OGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2IDc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0UzI1NS41IDUxMiAxNzYgNTEyIDMyIDQ0Ny41IDMyIDM2OGwwLTIyNGMwLTI2LjUgMjEuNS00OCA0OC00OHptMTY4IDBjOTIuOCAwIDE2OCA3NS4yIDE2OCAxNjggMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC02Ni4zLTUzLjctMTIwLTEyMC0xMjAtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sWEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0b3B3YXRjaC0yMCIsaWNvbjpbNDQ4LDUxMixbXSwiZTA2ZiIsIk0xNjguNSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCAyNS4zYy0xMDggMTEuOS0xOTIgMTAzLjUtMTkyIDIxNC43IDAgMTE5LjMgOTYuNyAyMTYgMjE2IDIxNnMyMTYtOTYuNyAyMTYtMjE2YzAtMzkuOC0xMC44LTc3LjEtMjkuNi0xMDkuMmwyOC4yLTI4LjJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTIzLjQgMjMuNGMtMzIuOS0zMC4yLTc1LjItNTAuMy0xMjItNTUuNWwwLTI1LjMgMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTEyIDB6bS02MCAyNDBjMC0yOC43IDIzLjMtNTIgNTItNTJzNTIgMjMuMyA1MiA1MmwwIDMuOGMwIDExLjctMy4yIDIzLjEtOS4zIDMzbC00My44IDcxLjIgMzMuMSAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMGwtNTcuOCAwYy0xNC41IDAtMjYuMi0xMS43LTI2LjItMjYuMiAwLTQuOSAxLjMtOS42IDMuOS0xMy44bDU2LjctOTIuMWMyLjItMy42IDMuNC03LjggMy40LTEyLjFsMC0zLjhjMC02LjYtNS40LTEyLTEyLTEycy0xMiA1LjQtMTIgMTJjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwem0xODAtNTJjMjguNyAwIDUyIDIzLjMgNTIgNTJsMCA5NmMwIDI4LjctMjMuMyA1Mi01MiA1MnMtNTItMjMuMy01Mi01MmwwLTk2YzAtMjguNyAyMy4zLTUyIDUyLTUyem0tMTIgNTJsMCA5NmMwIDYuNiA1LjQgMTIgMTIgMTJzMTItNS40IDEyLTEybDAtOTZjMC02LjYtNS40LTEyLTEyLTEycy0xMiA1LjQtMTIgMTJ6Il19LFFJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1waWNrdXAiLGljb246WzY0MCw1MTIsWzEyODc2M10sImY2M2MiLCJNMzYzLjggOTZsNTcuNiA5Ni0xMzMuNCAwIDAtOTYgNzUuOCAwek00OTYgMTkyTDQxOC42IDYzLjFDNDA3LjEgNDMuOCAzODYuMiAzMiAzNjMuOCAzMkwyNTYgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTI4LTE0NCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyLjQgMGMtLjIgMi42LS40IDUuMy0uNCA4IDAgNDguNiAzOS40IDg4IDg4IDg4czg4LTM5LjQgODgtODhjMC0yLjctLjEtNS40LS40LThsMTYwLjcgMGMtLjIgMi42LS40IDUuMy0uNCA4IDAgNDguNiAzOS40IDg4IDg4IDg4czg4LTM5LjQgODgtODhjMC0yLjctLjEtNS40LS40LThsMzIuNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDB6TTExMiAzOTJhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHptMzc2LTQwYTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHoiXX0sWjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNlZWRsaW5nIixpY29uOls1MTIsNTEyLFsxMjc3OTMsInNwcm91dCJdLCJmNGQ4IiwiTTUxMiAzMkM1MTIgMTQwLjEgNDM1LjQgMjMwLjMgMzMzLjYgMjUxLjQgMzI1LjcgMTkzLjMgMjk5LjYgMTQxIDI2MS4xIDEwMC41IDMwMS4yIDQwIDM2OS45IDAgNDQ4IDBsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCA5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NGwzMiAwYzEyMy43IDAgMjI0IDEwMC4zIDIyNCAyMjRsMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjBDMTAwLjMgMzIwIDAgMjE5LjcgMCA5NnoiXX0sSkl0PVo1ZSxYNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhbnNnZW5kZXIiLGljb246WzU3Niw1MTIsWzk4OTUsInRyYW5zZ2VuZGVyLWFsdCJdLCJmMjI1IiwiTTEyOC0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw5Ny45IDMyIDEzNiA3MC4xIDE1MSA1NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTE1IDE1IDE0LjIgMTQuMmMyNy45LTIzLjggNjQuMi0zOC4yIDEwMy44LTM4LjIgMzYuNyAwIDcwLjYgMTIuNCA5Ny42IDMzLjJMNDY2LjcgMzIgNDQ4IDMyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE4LjctODQuNCA4NC40YzEzIDIzLjEgMjAuNCA0OS45IDIwLjQgNzguMyAwIDc3LjQtNTUgMTQyLTEyOCAxNTYuOGwwIDM1LjIgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwIDAtMzUuMmMtNzMtMTQuOC0xMjgtNzkuNC0xMjgtMTU2LjggMC0zMS40IDktNjAuNyAyNC43LTg1LjRsLTE2LjctMTYuNy0xNSAxNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwxNS0xNS0zOC4xLTM4LjEgMCAzMC4xYzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgMTEzLjcgMCA5NkwwIDBDMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMHpNMjg4IDMzNmE5NiA5NiAwIDEgMCAwLTE5MiA5NiA5NiAwIDEgMCAwIDE5MnoiXX0sZU50PVg1ZSx0TnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Rhci1oYWxmIixpY29uOls1NzYsNTEyLFs2MTczMV0sImYwODkiLCJNMzA0LjEgNy42YzAtMTEuMS03LjYtMjAuNy0xOC40LTIzLjNzLTIxLjkgMi41LTI3IDEyLjRMMTkzLjEgMTI1LjMgMzMuMiAxNTAuN2MtOC45IDEuNC0xNi4zIDcuNy0xOS4xIDE2LjNzLS41IDE4IDUuOCAyNC40bDExNC40IDExNC41LTI1LjIgMTU5LjljLTEuNCA4LjkgMi4zIDE3LjkgOS42IDIzLjJzMTYuOSA2LjEgMjUgMkwyOTEgNDE2LjFjOC00LjEgMTMuMS0xMi40IDEzLjEtMjEuNGwwLTM4Ny4xeiJdfSxRNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGhvdG8tZmlsbSIsaWNvbjpbNjQwLDUxMixbInBob3RvLXZpZGVvIl0sImY4N2MiLCJNMTkyIDY0YzAtMzUuMyAyOC43LTY0IDY0LTY0TDU3NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0zMjAgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yMjR6TTMyMCA5NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0xNTYuNSAxMS41QzQ3Mi4xIDEwMC40IDQ2NC40IDk2IDQ1NiA5NnMtMTYuMSA0LjQtMjAuNSAxMS41bC01NCA4OC4zLTE3LjktMjUuNmMtNC41LTYuNC0xMS44LTEwLjItMTkuNy0xMC4ycy0xNS4yIDMuOC0xOS43IDEwLjJsLTU2IDgwYy01LjEgNy4zLTUuOCAxNi45LTEuNiAyNC44UzI3OS4xIDI4OCAyODggMjg4bDI1NiAwYzguNyAwIDE2LjctNC43IDIwLjktMTIuM3M0LjEtMTYuOC0uNS0yNC4zbC04OC0xNDR6TTE0NCAxMjhsMCAxNjBjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJsMTkyIDAgMCAxNmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTkyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDgwIDB6TTUyIDE5NmwwIDI0YzAgOC44IDcuMiAxNiAxNiAxNmwyNCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0YzAtOC44LTcuMi0xNi0xNi0xNmwtMjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNiA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjRjMCA4LjggNy4yIDE2IDE2IDE2bDI0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjRjMC04LjgtNy4yLTE2LTE2LTE2bC0yNCAwem0wIDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAyNGMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNGMwLTguOC03LjItMTYtMTYtMTZsLTI0IDB6Il19LGFOdD1RNWUsck50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBpY3R1cmUtaW4tcGljdHVyZSIsaWNvbjpbNTEyLDUxMixbXSwiZTgwYiIsIk00NDggMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMTItNjQgMCAwLTExMi0zODQgMCAwIDMyMCAxNDQgMCAwIDY0LTE0NCAwLTYuNS0uM2MtMzAuMS0zLjEtNTQuMS0yNy01Ny4xLTU3LjFMMCA0MTYgMCA5NkMwIDYyLjkgMjUuMiAzNS42IDU3LjUgMzIuM0w2NCAzMiA0NDggMzJ6bTE2IDIyNGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDEyOGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTYwIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTI4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDE2MCAweiJdfSxzTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicHVtcC1tZWRpY2FsIixpY29uOlszMjAsNTEyLFtdLCJlMDZhIiwiTTk2IDBsMCA4MCAxMjggMCAwLTI0IDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMzA5LjMgOCAyOTYgOGwtNzIgMCAwLThjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBDMTEwLjMtMzIgOTYtMTcuNyA5NiAwek02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDEyOHptNjQgMTIwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQwIDQwIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00MCAwIDAgNDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00MC00MCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDAgMCAwLTQweiJdfSxpTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlyZSIsaWNvbjpbNDQ4LDUxMixbMTI4MjkzXSwiZjA2ZCIsIk0xNjAuNS0yNi40YzkuMy03LjggMjMtNy41IDMxLjkgLjkgMTIuMyAxMS42IDIzLjMgMjQuNCAzMy45IDM3LjQgMTMuNSAxNi41IDI5LjcgMzguMyA0NS4zIDY0LjIgNS4yLTYuOCAxMC0xMi44IDE0LjItMTcuOSAxLjEtMS4zIDIuMi0yLjcgMy4zLTQuMSA3LjktOS44IDE3LjctMjIuMSAzMC44LTIyLjEgMTMuNCAwIDIyLjggMTEuOSAzMC44IDIyLjEgMS4zIDEuNyAyLjYgMy4zIDMuOSA0LjggMTAuMyAxMi40IDI0IDMwLjMgMzcuNyA1Mi40IDI3LjIgNDMuOSA1NS42IDEwNi40IDU1LjYgMTc2LjYgMCAxMjMuNy0xMDAuMyAyMjQtMjI0IDIyNFMwIDQxMS43IDAgMjg4YzAtOTEuMSA0MS4xLTE3MCA4MC41LTIyNSAxOS45LTI3LjcgMzkuNy00OS45IDU0LjYtNjUuMSA4LjItOC40IDE2LjUtMTYuNyAyNS41LTI0LjJ6TTIyNS43IDQxNmMyNS4zIDAgNDcuNy03IDY4LjgtMjEgNDIuMS0yOS40IDUzLjQtODguMiAyOC4xLTEzNC40LTQuNS05LTE2LTkuNi0yMi41LTJsLTI1LjIgMjkuM2MtNi42IDcuNi0xOC41IDcuNC0yNC43LS41LTE3LjMtMjIuMS00OS4xLTYyLjQtNjUuMy04My01LjQtNi45LTE1LjItOC0yMS41LTEuOS0xOC4zIDE3LjgtNTEuNSA1Ni44LTUxLjUgMTA0LjMgMCA2OC42IDUwLjYgMTA5LjIgMTEzLjcgMTA5LjJ6Il19LEo1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYWduaWZ5aW5nLWdsYXNzLXBsdXMiLGljb246WzUxMiw1MTIsWyJzZWFyY2gtcGx1cyJdLCJmMDBlIiwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZDMjk2LjMgNDAxLjEgMjUzLjkgNDE2IDIwOCA0MTYgOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDAgNDE2IDkzLjEgNDE2IDIwOHpNMjA4IDExMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDAgMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDggNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMCAwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxvTnQ9SjVlLG5OdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmbGFzayIsaWNvbjpbNDQ4LDUxMixbXSwiZjBjMyIsIk0yODggMEwxMjggMEMxMTAuMyAwIDk2IDE0LjMgOTYgMzJzMTQuMyAzMiAzMiAzMkwxMjggMjE1LjUgNy41IDQyNi4zQzIuNiA0MzUgMCA0NDQuNyAwIDQ1NC43IDAgNDg2LjQgMjUuNiA1MTIgNTcuMyA1MTJsMzMzLjQgMGMzMS42IDAgNTcuMy0yNS42IDU3LjMtNTcuMyAwLTEwLTIuNi0xOS44LTcuNS0yOC40TDMyMCAyMTUuNSAzMjAgNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJTMzM3LjcgMCAzMjAgMEwyODggMHpNMTkyIDIxNS41bDAtMTUxLjUgNjQgMCAwIDE1MS41YzAgMTEuMSAyLjkgMjIuMSA4LjQgMzEuOGw0MS42IDcyLjctMTY0IDAgNDEuNi03Mi43YzUuNS05LjcgOC40LTIwLjYgOC40LTMxLjh6Il19LGxOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbGlnbi1yaWdodCIsaWNvbjpbNDQ4LDUxMixbXSwiZjAzOCIsIk00NDggNjRjMCAxNy43LTE0LjMgMzItMzIgMzJMMTkyIDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyem0wIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjI0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6TTAgMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTQ0OCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyeiJdfSxlaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FibGUtY2FyIixpY29uOls1MTIsNTEyLFsxMjg2NzMsNTc1NTEsInRyYW0iXSwiZjdkYSIsIk0yODgtMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0xNjAgMjRhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMzIgMjg4YzAtMzUuMyAyOC43LTY0IDY0LTY0bDEzNiAwIDAtOTYuMi0xOTMuNCA1NS4zYy0xMi43IDMuNi0yNi0zLjctMjkuNy0xNi41czMuNy0yNiAxNi41LTI5LjdsMjI0LTY0IDAgMCAyMjQtNjRjMTIuNy0zLjYgMjYgMy43IDI5LjcgMTYuNXMtMy43IDI2LTE2LjUgMjkuN2wtMjA2LjYgNTkgMCAxMDkuOSAxMzYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE2MGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTYwem04MCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsNTYgMCAwLTk2LTU2IDB6bTE4NCA5NmwwLTk2LTgwIDAgMCA5NiA4MCAwem00OCAwbDU2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2bC01NiAwIDAgOTZ6Il19LGNOdD1laGUsdGhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImtpdC1tZWRpY2FsIixpY29uOls1MTIsNTEyLFsiZmlyc3QtYWlkIl0sImY0NzkiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTYgMCAwLTM4NC0xNiAwem02NCAwbDAgMzg0IDI1NiAwIDAtMzg0LTI1NiAwek00NDggNDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xNiAwIDAgMzg0IDE2IDB6TTIyNCAxODRjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LGROdD10aGUsdU50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdyaXAtbGluZXMiLGljb246WzQ0OCw1MTIsW10sImY3YTQiLCJNMzIgMjg4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDI4OHptMC0xMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMTYweiJdfSxhaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVyZ2VyIixpY29uOls1MTIsNTEyLFsiaGFtYnVyZ2VyIl0sImY4MDUiLCJNNDggMzg0Yy04LjggMC0xNiA3LjItMTYgMTYgMCA0NC4yIDM1LjggODAgODAgODBsMjg4IDBjNDQuMiAwIDgwLTM1LjggODAtODAgMC04LjgtNy4yLTE2LTE2LTE2TDQ4IDM4NHpNMzIgMjAyYzAgMTIuMiA5LjkgMjIgMjIgMjJMNDU4IDIyNGMxMi4yIDAgMjItOS45IDIyLTIyIDAtMTcuMi0yLjYtMzQuNC0xMC44LTQ5LjUtMjIuMi00MC44LTgyLjMtMTIwLjUtMjEzLjItMTIwLjVTNjUgMTExLjYgNDIuOCAxNTIuNUMzNC42IDE2Ny42IDMyIDE4NC44IDMyIDIwMnpNMCAzMDRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMjcyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMjU2IDcyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMTIwIDEyOGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0yNDgtMjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4eiJdfSxwTnQ9YWhlLGZOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbm93bWFuIixpY29uOls2NDAsNTEyLFs5NzMxLDk5MjRdLCJmN2QwIiwiTTQwMyAyMTEuN2MzMi4yLTI0LjkgNTMtNjMuOSA1My0xMDcuNyAwLTc1LjEtNjAuOS0xMzYtMTM2LTEzNlMxODQgMjguOSAxODQgMTA0YzAgNDMuOSAyMC44IDgyLjkgNTMgMTA3LjctMzIuMiAxNi4zLTU5IDQxLjgtNzYuOCA3My4xTDExMiAyNjQuMiAxMTIgMjI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTkuNi0yMi41LTkuN2MtMTIuMi01LjItMjYuMyAuNC0zMS41IDEyLjZzLjQgMjYuMyAxMi42IDMxLjVjMzYuMSAxNS41IDc1LjkgMzIuNSAxMTkuNCA1MS4yLTMuOSAxNC45LTYgMzAuNi02IDQ2LjcgMCA3MCAzOS4xIDEzMC44IDk2LjYgMTYxLjkgNy45IDQuMyAxNi45IDYuMSAyNS45IDYuMWwxMjMgMGM5IDAgMTgtMS44IDI1LjktNi4xIDU3LjUtMzEuMSA5Ni42LTkyIDk2LjYtMTYxLjkgMC0xNi4yLTIuMS0zMS44LTYtNDYuNyA0My41LTE4LjcgODMuNC0zNS43IDExOS40LTUxLjIgMTIuMi01LjIgMTcuOC0xOS4zIDEyLjYtMzEuNXMtMTkuMy0xNy44LTMxLjUtMTIuNmwtMjIuNSA5LjcgMC0xOS42YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDAuMi00OC4yIDIwLjZjLTE3LjktMzEuMy00NC42LTU2LjgtNzYuOC03My4xek0yOTYgNDE2YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTI0LTEyMGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTI0OCA4MGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek0zNjggNTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek0yOTIuMiAxNTkuM2MtMi43LTQuOC00LjItMTAuMi00LjItMTUuNyAwLTE3LjUgMTQuMi0zMS42IDMxLjYtMzEuNmwuOCAwYzE3LjUgMCAzMS42IDE0LjIgMzEuNiAzMS42IDAgNS41LTEuNCAxMC45LTQuMiAxNS43TDMyNyAxOTUuOGMtMy4xIDUuNC0xMC44IDUuNC0xMy45IDBsLTIwLjktMzYuNnoiXX0saE50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdGVsIixpY29uOls1MTIsNTEyLFsxMjc5NzZdLCJmNTk0IiwiTTE2IDI0QzE2IDEwLjcgMjYuNyAwIDQwIDBMNDcyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMCAwIDQxNiA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMNDAgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTQxNi04IDBDMjYuNyA0OCAxNiAzNy4zIDE2IDI0em0yMDggODhsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTI4IDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTk2IDExMmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0zNTIgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMTEyIDIwOGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0yNDAtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMjg4IDM4NGw0My44IDBjOS45IDAgMTcuNS05IDE0LTE4LjItMTMuOC0zNi4xLTQ4LjgtNjEuOC04OS43LTYxLjhzLTc1LjkgMjUuNy04OS43IDYxLjhjLTMuNSA5LjIgNC4xIDE4LjIgMTQgMTguMmw0My44IDAgMCA4MCA2NCAwIDAtODB6Il19LG1OdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwcmludCIsaWNvbjpbNTEyLDUxMixbMTI4NDI0LDEyODQzOCw5MTEzXSwiZjAyZiIsIk02NCA2NEM2NCAyOC43IDkyLjcgMCAxMjggMEwzNDEuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43bDQyLjUgNDIuNWMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zbDAgMzcuNS0zODQgMCAwLTgwek0wIDI1NmMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI1NiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZ6TTEyOCA0MTZsMCAzMiAyNTYgMCAwLTk2LTI1NiAwIDAgNjR6TTQ1NiAyNzJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0scmhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbGxleWJhbGwiLGljb246WzUxMiw1MTIsWzEyNzk1Miwidm9sbGV5YmFsbC1iYWxsIl0sImY0NWYiLCJNNTEyIDI1OC45Yy0yMy40IDgtNDcuOCAxMy4xLTcyLjYgMTUuMSA1LjktOTguNi0zMC43LTE5MS4xLTk0LjktMjU4LjMgOTcuOCAzNiAxNjcuNSAxMzAgMTY3LjUgMjQwLjMgMCAxIDAgMS45IDAgMi45em0tNS45IDUyYy01LjIgMjMuNy0xMy42IDQ2LjItMjQuOSA2Ni45LTk0LjcgNTIuMi0yMTQgNTAtMzA4LjQtMTMuNiAyMS43LTMxLjMgNDkuOC01OC45IDgzLjgtODAuNSA3OS41IDQxLjYgMTY4LjUgNDkuMSAyNDkuNSAyNy4xek0yNzkuNyAyNDEuNmMtMy43LTg5LjctNDEuNy0xNzAuNS0xMDEuMy0yMjkuNyAyMi4zLTcuMSA0Ni0xMS4yIDcwLjUtMTEuOSA5Mi41IDU1LjkgMTUwLjMgMTYwLjMgMTQyLjQgMjczLjgtMzgtMy4yLTc1LjktMTMuNy0xMTEuNi0zMi4zek0xMzAuNSAzMi44QzE0OS4xIDQ5LjEgMTY1LjggNjcuNyAxNzkuOSA4OC4yIDkxLjUgMTMyLjMgMjkuNyAyMTAuMyAzLjcgMjk5LjUgMS4zIDI4NS4zIDAgMjcwLjggMCAyNTYgMCAxNjAuMiA1Mi42IDc2LjcgMTMwLjUgMzIuOHptNzMuNCA5N2MxNi4zIDM0LjUgMjYuMSA3Mi42IDI3LjkgMTEyLjgtNzUuOCA0OC0xMjYuOCAxMjEuMy0xNDguMyAyMDIuNS0xNy42LTE2LjEtMzMtMzQuNi00NS41LTU1IDIuMS0xMDguMSA2My43LTIxMC40IDE2NS45LTI2MC4zek0yNTYgNTEyYy00Ny43IDAtOTIuMy0xMy0xMzAuNS0zNS43IDQuOC0yNC4zIDEyLjYtNDggMjMuMi03MC40IDgyLjQgNTQuNCAxODAuOCA2OC45IDI3MSA0Ny00NC40IDM3LTEwMS41IDU5LjItMTYzLjcgNTkuMnoiXX0sZ050PXJoZSxiTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhZmZpYy1saWdodCIsaWNvbjpbMzIwLDUxMixbMTI4Njc4XSwiZjYzNyIsIk02NC0zMkMyOC43LTMyIDAtMy4zIDAgMzJMMCAzODRjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBzMTYwLTcxLjYgMTYwLTE2MGwwLTM1MmMwLTM1LjMtMjguNy02NC02NC02NEw2NC0zMnptOTYgMzkyYzMwLjkgMCA1NiAyNS4xIDU2IDU2cy0yNS4xIDU2LTU2IDU2LTU2LTI1LjEtNTYtNTYgMjUuMS01NiA1Ni01NnptNTYtMTA0YTU2IDU2IDAgMSAxIC0xMTIgMCA1NiA1NiAwIDEgMSAxMTIgMHpNMTYwIDE1MmE1NiA1NiAwIDEgMSAwLTExMiA1NiA1NiAwIDEgMSAwIDExMnoiXX0sdk50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLWNpcmNsZS1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZTU1NSIsIk0yMzIgMjRjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NmwwIDEyNy4zIDc4IDcxLjVjLTY5LjMgMjktMTE4IDk3LjQtMTE4IDE3Ny4yIDAgNDkuMyAxOC42IDk0LjMgNDkuMSAxMjguM0wyODggNTEyIDE3OS45IDUzOWMtMTAuMSAyLjUtMTkuOS01LjEtMTkuOS0xNS41bDAtMTkuOGMwLTQuOSAyLjItOS41IDYtMTIuNWw2Ni01Mi44IDAtOTkuNy0xNjIuOSA1NC4zQzU4LjcgMzk2LjQgNDggMzg4LjcgNDggMzc3LjhsMC00My43YzAtOSAzLjgtMTcuNSAxMC40LTIzLjZMMjMyIDE1MS4zIDIzMiAyNHpNMzUyIDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMDEuNC02MC45Yy03LjEtNS4yLTE3LjItMy42LTIyLjQgMy41bC01MyA3Mi45LTI2LjgtMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC42czguOS0yLjggMTEuNy02LjVsNjQtODhjNS4yLTcuMSAzLjYtMTcuMi0zLjUtMjIuM3oiXX0sVHRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzIixpY29uOls2NDAsNTEyLFtdLCJmMGMwIiwiTTMyMCAxNmExMDQgMTA0IDAgMSAxIDAgMjA4IDEwNCAxMDQgMCAxIDEgMC0yMDh6TTk2IDg4YTcyIDcyIDAgMSAxIDAgMTQ0IDcyIDcyIDAgMSAxIDAtMTQ0ek0wIDQxNmMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOCAxMi44IDAgMjUuMiAxLjkgMzYuOSA1LjQtMzIuOSAzNi44LTUyLjkgODUuNC01Mi45IDEzOC42bDAgMTZjMCAxMS40IDIuNCAyMi4yIDYuNyAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJ6bTUyMS4zIDY0YzQuMy05LjggNi43LTIwLjYgNi43LTMybDAtMTZjMC01My4yLTIwLTEwMS44LTUyLjktMTM4LjYgMTEuNy0zLjUgMjQuMS01LjQgMzYuOS01LjQgNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtODYuNyAwek00NzIgMTYwYTcyIDcyIDAgMSAxIDE0NCAwIDcyIDcyIDAgMSAxIC0xNDQgMHpNMTYwIDQzMmMwLTg4LjQgNzEuNi0xNjAgMTYwLTE2MHMxNjAgNzEuNiAxNjAgMTYwbDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2eiJdfSx4TnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2VydGlmaWNhdGUiLGljb246WzU3Niw1MTIsW10sImYwYTMiLCJNMjM5LjItOGMtNi4xLTYuMi0xNS04LjctMjMuNC02LjRTMjAwLjktNS42IDE5OC44IDIuOEwxODMuNSA2M2MtMS4xIDQuNC01LjYgNy05LjkgNS43TDExMy44IDUxLjljLTguNC0yLjQtMTcuNCAwLTIzLjUgNi4xcy04LjUgMTUuMS02LjEgMjMuNWwxNi45IDU5LjhjMS4yIDQuMy0xLjQgOC44LTUuNyA5LjlMMzUuMSAxNjYuNWMtOC40IDIuMS0xNSA4LjctMTcuMyAxNy4xcy4yIDE3LjMgNi40IDIzLjRsNDQuNSA0My4zYzMuMiAzLjEgMy4yIDguMyAwIDExLjVMMjQuMyAzMDUuMWMtNi4yIDYuMS04LjcgMTUtNi40IDIzLjRzOC45IDE0LjkgMTcuMyAxNy4xbDYwLjIgMTUuM2M0LjQgMS4xIDcgNS42IDUuNyA5LjlMODQuMiA0MzAuNWMtMi40IDguNCAwIDE3LjQgNi4xIDIzLjVzMTUuMSA4LjUgMjMuNSA2LjFsNTkuOC0xNi45YzQuMy0xLjIgOC44IDEuNCA5LjkgNS43bDE1LjMgNjAuMmMyLjEgOC40IDguNyAxNSAxNy4xIDE3LjNzMTcuMy0uMiAyMy40LTYuNGw0My4zLTQ0LjVjMy4xLTMuMiA4LjMtMy4yIDExLjUgMEwzMzcuMyA1MjBjNi4xIDYuMiAxNSA4LjcgMjMuNCA2LjRzMTQuOS04LjkgMTcuMS0xNy4zTDM5My4xIDQ0OWMxLjEtNC40IDUuNi03IDkuOS01LjdsNTkuOCAxNi45YzguNCAyLjQgMTcuNCAwIDIzLjUtNi4xczguNS0xNS4xIDYuMS0yMy41bC0xNi45LTU5LjhjLTEuMi00LjMgMS40LTguOCA1LjctOS45bDYwLjItMTUuM2M4LjQtMi4xIDE1LTguNyAxNy4zLTE3LjFzLS4yLTE3LjQtNi40LTIzLjRsLTQ0LjUtNDMuM2MtMy4yLTMuMS0zLjItOC4zIDAtMTEuNWw0NC41LTQzLjNjNi4yLTYuMSA4LjctMTUgNi40LTIzLjRzLTguOS0xNC45LTE3LjMtMTcuMWwtNjAuMi0xNS4zYy00LjQtMS4xLTctNS42LTUuNy05LjlsMTYuOS01OS44YzIuNC04LjQgMC0xNy40LTYuMS0yMy41cy0xNS4xLTguNS0yMy41LTYuMUw0MDMgNjguOGMtNC4zIDEuMi04LjgtMS40LTkuOS01LjdMMzc3LjggMi44Yy0yLjEtOC40LTguNy0xNS0xNy4xLTE3LjNzLTE3LjMgLjItMjMuNCA2LjRMMjk0IDM2LjVjLTMuMSAzLjItOC4zIDMuMi0xMS41IDBMMjM5LjItOHoiXX0seU50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFsYXJtLWNsb2NrIixpY29uOls1MTIsNTEyLFs5MjAwXSwiZjM0ZSIsIk01MDQuNCAxMzIuNWMtNC41IDEwLjUtMTguNCA5LjgtMjQuOSAuNC0yNy44LTQwLTY2LjEtNzIuMi0xMTEtOTIuNi0xMC40LTQuNy0xMy43LTE4LjMtNC4xLTI0LjYgMTUtOS45IDMzLTE1LjcgNTIuMy0xNS43IDUyLjYgMCA5NS4yIDQyLjYgOTUuMiA5NS4yIDAgMTMuMi0yLjcgMjUuOC03LjYgMzcuM3ptLTQ3MS45IC40Yy02LjUgOS40LTIwLjUgMTAuMS0yNC45LS40LTQuOS0xMS41LTcuNi0yNC4xLTcuNi0zNy4zIDAtNTIuNiA0Mi42LTk1LjIgOTUuMi05NS4yIDE5LjMgMCAzNy4zIDUuOCA1Mi4zIDE1LjcgOS42IDYuMyA2LjMgMTkuOS00LjEgMjQuNi00NC44IDIwLjQtODMuMSA1Mi42LTExMSA5Mi42ek0zOTAuMiA0NjcuNEMzNTIuOCA0OTUuNCAzMDYuMyA1MTIgMjU2IDUxMnMtOTYuOC0xNi42LTEzNC4xLTQ0LjZMODYuNiA1MDIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMzUuMi0zNS4yQzQ4LjYgMzg0LjggMzIgMzM4LjMgMzIgMjg4IDMyIDE2NC4zIDEzMi4zIDY0IDI1NiA2NFM0ODAgMTY0LjMgNDgwIDI4OGMwIDUwLjMtMTYuNiA5Ni44LTQ0LjYgMTM0LjJsMzUuMiAzNS4yYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC0zNS4yLTM1LjJ6TTI4MCAxODRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMDRjMCA2LjQgMi41IDEyLjUgNyAxN2w1NiA1NmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTQ5LTQ5IDAtOTQuMXoiXX0sd050PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlbGljb3B0ZXItc3ltYm9sIixpY29uOls1MTIsNTEyLFtdLCJlNTAyIiwiTTQ0NS40IDIyNGw2NC43IDBDNDk1LjYgMTA4LjIgNDAzLjggMTYuNCAyODggMmwwIDY0LjdDMzY4LjQgODAuMSA0MzEuOSAxNDMuNiA0NDUuNCAyMjR6TTUxMCAyODhsLTY0LjcgMEM0MzEuOSAzNjguNCAzNjguNCA0MzEuOSAyODggNDQ1LjNsMCA2NC43YzExNS44LTE0LjQgMjA3LjYtMTA2LjIgMjIyLTIyMnpNMiAyODhDMTYuNCA0MDMuOCAxMDguMiA0OTUuNiAyMjQgNTEwbDAtNjQuN0MxNDMuNiA0MzEuOSA4MC4yIDM2OC40IDY2LjcgMjg4TDIgMjg4em0wLTY0bDY0LjcgMEM4MC4yIDE0My42IDE0My42IDgwLjEgMjI0IDY2LjdMMjI0IDJDMTA4LjIgMTYuNCAxNi40IDEwOC4yIDIgMjI0em0yMDYtNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDk2IDAgMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjQtOTYgMCAwLTY0eiJdfSxzaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2hpbW5leS1jcmFjayIsaWNvbjpbNTEyLDUxMixbImhvdXNlLWRhbWFnZSJdLCJmNmYxIiwiTTIzNC4yIDguNmMxMi4zLTExLjQgMzEuMy0xMS40IDQzLjUgMEwzNjggOTIuMyAzNjggODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEwMS41IDM3LjggMzUuMWM5LjYgOSAxMi44IDIyLjkgOCAzNS4xUzQ5My4yIDI3MiA0ODAgMjcybC0xNiAwIDAgMTc2YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xMDUuNiAwLTM4LjQtNjQgODAuOC02Ny4zYzcuOC02LjUgNy42LTE4LjYtLjQtMjQuOUwyMTguNiAyNjMuMmMtMTQuNi0xMS41LTMzLjggNy0yMi44IDIyTDI1NiAzNjggMTcwLjUgNDM5LjJjLTYuMSA1LTcuNSAxMy44LTMuNSAyMC41bDMxLjMgNTIuMi04Ni40IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOHoiXX0sTU50PXNoZSxrTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLW1pbGl0YXJ5LXBvaW50aW5nIixpY29uOls1MTIsNTEyLFtdLCJlNTRhIiwiTTIxNC45IDE0LjFDMjAyIDE1LjIgMTkyIDI2IDE5MiAzOSAxOTIgNTIuOCAyMDMuMiA2NCAyMTcgNjRsMTUxIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzAuNkMzODQgOCAzNzYgLjcgMzY2LjcgMS40TDIxNC45IDE0LjF6TTIwOCAxMTJjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTUuNS0uNi0xMC44LTEuNi0xNkwyMDkuNiA5NmMtMSA1LjItMS42IDEwLjUtMS42IDE2ek00MCAyMjRjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsMTUyIDAgMCA4OS40IDE2Mi44LTE2Mi44Yy0xMy4zLTQuMy0yNy4zLTYuNS00MS42LTYuNUw0MCAyMjR6bTM0NS43IDIwLjlsLTE3MS4xIDE3MS4xIDE2OS40IDAgMC00Ni4zIDUzLjYgOTAuNmMxMS4yIDE5IDM1LjggMjUuMyA1NC44IDE0LjFzMjUuMy0zNS44IDE0LjEtNTQuOEw0MzAuMyAyOTAuOGMtMTEuMi0xOS0yNi42LTM0LjUtNDQuNi00NS45ek0xOTIgNDQ4bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMi0xOTIgMHoiXX0sU050PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRhdGFiYXNlIixpY29uOls0NDgsNTEyLFtdLCJmMWMwIiwiTTQ0OCAyMDUuOGMtMTQuOCA5LjgtMzEuOCAxNy43LTQ5LjUgMjQtNDcgMTYuOC0xMDguNyAyNi4yLTE3NC41IDI2LjJTOTYuNCAyNDYuNSA0OS41IDIyOS44Yy0xNy42LTYuMy0zNC43LTE0LjItNDkuNS0yNEwwIDI4OGMwIDQ0LjIgMTAwLjMgODAgMjI0IDgwczIyNC0zNS44IDIyNC04MGwwLTgyLjJ6bTAtNzcuOGwwLTQ4QzQ0OCAzNS44IDM0Ny43IDAgMjI0IDBTMCAzNS44IDAgODBsMCA0OGMwIDQ0LjIgMTAwLjMgODAgMjI0IDgwczIyNC0zNS44IDIyNC04MHpNMzk4LjUgMzg5LjhDMzUxLjYgNDA2LjUgMjg5LjkgNDE2IDIyNCA0MTZTOTYuNCA0MDYuNSA0OS41IDM4OS44Yy0xNy42LTYuMy0zNC43LTE0LjItNDkuNS0yNEwwIDQzMmMwIDQ0LjIgMTAwLjMgODAgMjI0IDgwczIyNC0zNS44IDIyNC04MGwwLTY2LjJjLTE0LjggOS44LTMxLjggMTcuNy00OS41IDI0eiJdfSx6TnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibmV3c3BhcGVyIixpY29uOls1MTIsNTEyLFsxMjgyNDBdLCJmMWVhIiwiTTAgNDE2TDAgMTIwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAyODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNEw5NiA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0ek0xNjAgMTI4bDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMjQgMjQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNDAgMHptLTI0LTcyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDI0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTM2MCAxNzZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNjQgMHoiXX0sQ050PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLXJhaW4iLGljb246WzUxMiw1MTIsWzEyNzc4Myw5OTI2XSwiZjczZCIsIk05NiAzMjBjLTUzIDAtOTYtNDMtOTYtOTYgMC00Mi41IDI3LjYtNzguNiA2NS45LTkxLjItMS4zLTYuNy0xLjktMTMuNy0xLjktMjAuOCAwLTYxLjkgNTAuMS0xMTIgMTEyLTExMiA0My4xIDAgODAuNSAyNC4zIDk5LjIgNjAgMTQuNy0xNy4xIDM2LjUtMjggNjAuOC0yOCA0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDUuNS0uNiAxMC44LTEuNiAxNiAuNSAwIDEuMSAwIDEuNiAwIDUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2TDk2IDMyMHptMS42IDY4LjJjMS4xLTIuNSAzLjYtNC4yIDYuNC00LjJzNS4zIDEuNiA2LjQgNC4ybDMwLjIgNjguMmMyLjIgNS4xIDMuNCAxMC41IDMuNCAxNiAwIDIxLjktMTguMSAzOS42LTQwIDM5LjZzLTQwLTE3LjctNDAtMzkuNmMwLTUuNSAxLjItMTEgMy40LTE2bDMwLjItNjguMnptMTUyIDBjMS4xLTIuNSAzLjYtNC4yIDYuNC00LjJzNS4zIDEuNiA2LjQgNC4ybDMwLjIgNjguMmMyLjIgNS4xIDMuNCAxMC41IDMuNCAxNiAwIDIxLjktMTguMSAzOS42LTQwIDM5LjZzLTQwLTE3LjctNDAtMzkuNmMwLTUuNSAxLjItMTEgMy40LTE2bDMwLjItNjguMnptMTIxLjggNjguMmwzMC4yLTY4LjJjMS4xLTIuNSAzLjYtNC4yIDYuNC00LjJzNS4zIDEuNiA2LjQgNC4ybDMwLjIgNjguMmMyLjIgNS4xIDMuNCAxMC41IDMuNCAxNiAwIDIxLjktMTguMSAzOS42LTQwIDM5LjZzLTQwLTE3LjctNDAtMzkuNmMwLTUuNSAxLjItMTEgMy40LTE2eiJdfSxpaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWF4aW1pemUiLGljb246WzQ0OCw1MTIsWyJleHBhbmQtYXJyb3dzLWFsdCJdLCJmMzFlIiwiTTE2OCAzMkwyNCAzMkMxMC43IDMyIDAgNDIuNyAwIDU2TDAgMjAwYzAgOS43IDUuOCAxOC41IDE0LjggMjIuMlMzNC4xIDIyMy44IDQxIDIxN2w0MC00MCA3OSA3OS03OSA3OS00MC00MGMtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMwIDMwMi4zIDAgMzEyTDAgNDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE0NCAwYzkuNyAwIDE4LjUtNS44IDIyLjItMTQuOHMxLjctMTkuMy01LjItMjYuMmwtNDAtNDAgNzktNzkgNzkgNzktNDAgNDBjLTYuOSA2LjktOC45IDE3LjItNS4yIDI2LjJTMjcwLjMgNDgwIDI4MCA0ODBsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xNDRjMC05LjctNS44LTE4LjUtMTQuOC0yMi4ycy0xOS4zLTEuNy0yNi4yIDUuMmwtNDAgNDAtNzktNzkgNzktNzkgNDAgNDBjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMlM0NDggMjA5LjcgNDQ4IDIwMGwwLTE0NGMwLTEzLjMtMTAuNy0yNC0yNC0yNEwyODAgMzJjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOFMyNTYuMiA2Ni4xIDI2MyA3M2w0MCA0MC03OSA3OS03OS03OSA0MC00MGM2LjktNi45IDguOS0xNy4yIDUuMi0yNi4yUzE3Ny43IDMyIDE2OCAzMnoiXX0sX050PWloZSxUTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibG9jYXRpb24tYXJyb3ciLGljb246WzUxMiw1MTIsW10sImYxMjQiLCJNNDc3LjkgNzUuNWM0LjUtMTEuOCAxLjctMjUuMi03LjItMzQuMXMtMjIuMy0xMS44LTM0LjEtNy4ybC00MTYgMTYwQzcuOSAxOTktLjMgMjExLjIgMCAyMjQuN3M5LjEgMjUuNCAyMS45IDI5LjZsMTc2LjggNTguOSA1OC45IDE3Ni44YzQuMyAxMi44IDE2LjEgMjEuNiAyOS42IDIxLjlzMjUuNy03LjkgMzAuNi0yMC41bDE2MC00MTZ6Il19LExOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXR5IixpY29uOls1NzYsNTEyLFsxMjc5NjFdLCJmNjRmIiwiTTMyMCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDMyLTQ4IDAgMC03MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDcyLTY0IDAgMC03MkM5NiAxMC43IDg1LjMgMCA3MiAwUzQ4IDEwLjcgNDggMjRsMCA3NGMtMjcuNiA3LjEtNDggMzIuMi00OCA2MkwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MmMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMCAwLTEyOGMwLTM1LjMtMjguNy02NC02NC02NEwzMjAgMHptNjQgMTEybDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZ6bS0xNiA4MGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwem0xNiAxMTJsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnptMTEyLTE2YzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDB6TTI1NiAzMDRsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnpNMjQwIDE5MmM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwek0xMjggMzA0bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZ6TTExMiAxOTJjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMHoiXX0sJE50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IngtcmF5IixpY29uOls1MTIsNTEyLFtdLCJmNDk3IiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsNDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAzMjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6bTI4MCA1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE2LTY0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNjQgMCAwIDQ4LTgwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMCAwIDQ4LTY0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNjQgMCAwIDE2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNiA2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC02NCAwIDAtNDggODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMCAwLTQ4IDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTY0IDAgMC0xNnoiXX0sRE50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVtYnJlbGxhLWJlYWNoIixpY29uOls1MTIsNTEyLFsxMjc5NThdLCJmNWNhIiwiTTQ5Ny41IDM0MS4xYy01LjkgMTYuNy0yNS4zIDIzLTQxLjEgMTUuMWwtMTc4LjItODkuMS0xLjYgMy4yLTg4LjggMTc3LjcgMjkyLjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsODQuMiAwIDEwMy4yLTIwNi4zIDEuNi0zLjItMTY1LjQtODIuN2MtMTUuOC03LjktMjIuNC0yNy4zLTEyLjUtNDIgNDUuOS02OC42IDEyNC4xLTExMy44IDIxMi45LTExMy44IDE0MS40IDAgMjU2IDExNC42IDI1NiAyNTYgMCAyOS44LTUuMSA1OC41LTE0LjUgODUuMXoiXX0sb2hlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0LXRvLWJyYWNrZXQiLGljb246WzUxMiw1MTIsWyJzaWduLWluIl0sImYwOTAiLCJNMzUyIDk2bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjU2YzAtNTMtNDMtOTYtOTYtOTZsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6bS05LjQgMTgyLjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDI0Mi43IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjEwLjcgMC03My40IDczLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOHoiXX0sQU50PW9oZSxQTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhZHNldCIsaWNvbjpbNDQ4LDUxMixbXSwiZjU5MCIsIk0yMjQgNjRjLTc5IDAtMTQ0LjcgNTcuMy0xNTcuNyAxMzIuNyA5LjMtMyAxOS4zLTQuNyAyOS43LTQuN2wxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTE2IDBjLTUzIDAtOTYtNDMtOTYtOTZsMC02NEMwIDEwMC4zIDEwMC4zIDAgMjI0IDBTNDQ4IDEwMC4zIDQ0OCAyMjRsMCAxNjguMWMwIDY2LjMtNTMuOCAxMjAtMTIwLjEgMTIwbC04Ny45LS4xLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4czIxLjUtNDggNDgtNDhsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDAgNDAgMGMzOS44IDAgNzItMzIuMiA3Mi03MmwwLTIwLjljLTE0LjEgOC4yLTMwLjUgMTIuOC00OCAxMi44bC0xNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDE2IDBjMTAuNCAwIDIwLjMgMS42IDI5LjcgNC43LTEzLTc1LjMtNzguNi0xMzIuNy0xNTcuNy0xMzIuN3oiXX0sRU50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwbG90Y2giLGljb246WzUxMiw1MTIsW10sImY1YmMiLCJNMjA4LjUgNjIuM2wyOC4xLTM2LjlDMjQ4LjggOS40IDI2Ny44IDAgMjg4IDAgMzE2LjUgMCAzNDEuNiAxOC43IDM0OS44IDQ2bDE3LjggNTkuNGMxMC4zIDM0LjQgMzYuMSA2MiA2OS44IDc0LjZsMzkuOCAxNC45YzIwLjkgNy45IDM0LjggMjcuOSAzNC44IDUwLjIgMCAxNi45LTcuOSAzMi44LTIxLjUgNDIuOWwtNjcuMyA1MC41Yy0yNC4zIDE4LjItMzcuMiA0Ny45LTMzLjggNzguMWwyLjUgMjIuN2M0LjMgMzguNy0yNiA3Mi42LTY1IDcyLjYtMTQuOCAwLTI5LjMtNS4xLTQwLjktMTQuM2wtNTUuMy00NC4zYy00LjUtMy42LTkuMy02LjctMTQuNS05LjItMTUuOC03LjktMzMuNy0xMC40LTUxLTcuM0w4Mi40IDQ1MS45Yy0zNC42IDYuMy02Ni40LTIwLjMtNjYuNC01NS40IDAtMTMuMiA0LjctMjYgMTMuMS0zNi4ybDExLjItMTMuNGMxNC42LTE3LjQgMjIuNi0zOS40IDIyLjYtNjIuMSAwLTE4LjgtNS41LTM3LjItMTUuOC01M0w4LjggMTczLjVDMy4xIDE2NC43IDAgMTU0LjQgMCAxNDMuOSAwIDExMC41IDMwLjEgODUuMSA2MyA5MC43bDUxLjMgOC43YzM1LjkgNi4xIDcyLjItOC4yIDk0LjItMzcuMXoiXX0sbmhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVwLWxvbmciLGljb246WzMyMCw1MTIsWyJsb25nLWFycm93LWFsdC11cCJdLCJmMzBjIiwiTTEzNy40LTIyLjZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTI4IDEyOGM5LjIgOS4yIDExLjkgMjIuOSA2LjkgMzQuOVMzMDAuOSAxNjAgMjg4IDE2MGwtNjQgMCAwIDMzNmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0zMzYtNjQgMGMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOFMuMiAxMTQuNSA5LjQgMTA1LjRsMTI4LTEyOHoiXX0sSU50PW5oZSxOTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGV4YWdvbi1ub2RlcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTY5OSIsIk0yNDggMTA2LjZjMTguOS05IDMyLTI4LjMgMzItNTAuNmMwLTMwLjktMjUuMS01Ni01Ni01NnMtNTYgMjUuMS01NiA1NmMwIDIyLjMgMTMuMSA0MS42IDMyIDUwLjZsMCA5OC44Yy0yLjggMS4zLTUuNSAyLjktOCA0LjdsLTgwLjEtNDUuOGMxLjYtMjAuOC04LjYtNDEuNi0yNy45LTUyLjhDNTcuMiA5NiAyMyAxMDUuMiA3LjUgMTMyUzEuMiAxOTMgMjggMjA4LjVjMS4zIC44IDIuNiAxLjUgNCAyLjFsMCA5MC44Yy0xLjMgLjYtMi43IDEuMy00IDIuMUMxLjIgMzE5LTggMzUzLjIgNy41IDM4MFM1Ny4yIDQxNiA4NCA0MDAuNWMxOS4zLTExLjEgMjkuNC0zMiAyNy44LTUyLjhsNTAuNS0yOC45Yy0xMS41LTExLjItMTkuOS0yNS42LTIzLjgtNDEuN0w4OCAzMDYuMWMtMi42LTEuOC01LjItMy4zLTgtNC43bDAtOTAuOGMyLjgtMS4zIDUuNS0yLjkgOC00LjdsODAuMSA0NS44Yy0uMSAxLjQtLjIgMi44LS4yIDQuM2MwIDIyLjMgMTMuMSA0MS42IDMyIDUwLjZsMCA5OC44Yy0xOC45IDktMzIgMjguMy0zMiA1MC42YzAgMzAuOSAyNS4xIDU2IDU2IDU2czU2LTI1LjEgNTYtNTZjMC0yMi4zLTEzLjEtNDEuNi0zMi01MC42bDAtOTguOGMyLjgtMS4zIDUuNS0yLjkgOC00LjdsODAuMSA0NS44Yy0xLjYgMjAuOCA4LjYgNDEuNiAyNy44IDUyLjhjMjYuOCAxNS41IDYxIDYuMyA3Ni41LTIwLjVzNi4zLTYxLTIwLjUtNzYuNWMtMS4zLS44LTIuNy0xLjUtNC0yLjFsMC05MC44YzEuNC0uNiAyLjctMS4zIDQtMi4xYzI2LjgtMTUuNSAzNi00OS43IDIwLjUtNzYuNVMzOTAuOCA5NiAzNjQgMTExLjVjLTE5LjMgMTEuMS0yOS40IDMyLTI3LjggNTIuOGwtNTAuNiAyOC45YzExLjUgMTEuMiAxOS45IDI1LjYgMjMuOCA0MS43TDM2MCAyMDUuOWMyLjYgMS44IDUuMiAzLjMgOCA0LjdsMCA5MC44Yy0yLjggMS4zLTUuNSAyLjktOCA0LjZsLTgwLjEtNDUuOGMuMS0xLjQgLjItMi44IC4yLTQuM2MwLTIyLjMtMTMuMS00MS42LTMyLTUwLjZsMC05OC44eiJdfSxJZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG9zcGl0YWwiLGljb246WzU3Niw1MTIsWzEyNzk3Myw2MjU4OSwiaG9zcGl0YWwtYWx0IiwiaG9zcGl0YWwtd2lkZSJdLCJmMGY4IiwiTTEyOCA2NGMwLTM1LjMgMjguNy02NCA2NC02NEwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0IDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE5MmMwLTM1LjMgMjguNy02NCA2NC02NGw2NCAwIDAtNjR6TTI3MiAzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgODAgOTYgMCAwLTgwYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMiAwek0xMjggMzY4bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTExMiAyNTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHpNNTEyIDM2OGwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2ek00OTYgMjU2YzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDB6TTI2NCAxMDRsMCAzMi0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMCAwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyIDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwIDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LFJOdD1JZWUsT050PUllZSxGTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWhhcmFzc2luZyIsaWNvbjpbNTc2LDUxMixbXSwiZTU0OSIsIk0xOTIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek01OS40IDMwNC41TDg4IDI1Ni45IDg4IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDE2IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI0NC43IDQ3LjQgNTcuMWMxMS4zIDEzLjYgMzEuNSAxNS41IDQ1LjEgNC4yczE1LjUtMzEuNSA0LjItNDUuMWwtNzMuNy04OC45Yy0xOC4yLTIyLTQ1LjMtMzQuNy03My45LTM0LjdsLTM1LjkgMGMtMzMuNyAwLTY0LjkgMTcuNy04Mi4zIDQ2LjZsLTU4LjMgOTdjLTkuMSAxNS4xLTQuMiAzNC44IDEwLjkgNDMuOXMzNC44IDQuMiA0My45LTEwLjl6TTQ4MCAyNDBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNNDY0IDM0NGwwIDU4LjctNDEuNC00MS40Yy03LjMtNy4zLTE3LjYtMTAuNi0yNy44LTlzLTE4LjkgOC4xLTIzLjUgMTcuM2wtNDggOTZjLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlzMzUgMS41IDQyLjktMTQuM2wyOC4xLTU2LjMgNTQuNyA1NC43YzEyLjQgMTIuNCAyOS4xIDE5LjMgNDYuNiAxOS4zIDM2LjQgMCA2NS45LTI5LjUgNjUuOS02NS45TDU3NiAzNDRjMC0zMC45LTI1LjEtNTYtNTYtNTZzLTU2IDI1LjEtNTYgNTZ6TTI4OCA0OGMwIDguOCA3LjIgMTYgMTYgMTZsNTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0tLjggNDkuN2MtNy45LTQtMTcuNS0uNy0yMS41IDcuMnMtLjcgMTcuNSA3LjIgMjEuNWw0OCAyNGM3LjkgNCAxNy41IC43IDIxLjUtNy4ycy43LTE3LjUtNy4yLTIxLjVsLTQ4LTI0eiJdfSxCTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktYmlsbC10cmVuZC11cCIsaWNvbjpbNTEyLDUxMixbXSwiZTUyOSIsIk00ODAgOGMwLTEzLjMtMTAuNy0yNC0yNC0yNEwzNTQuMi0xNmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0My45IDAtMTExLjMgMTExLjMtOTUuMS04MS41Yy05LTcuNy0yMi4yLTcuNy0zMS4yIDBsLTExMiA5NmMtMTAuMSA4LjYtMTEuMiAyMy44LTIuNiAzMy44czIzLjggMTEuMiAzMy44IDIuNmw5Ni40LTgyLjYgOTYuNCA4Mi42YzkuNSA4LjIgMjMuNyA3LjYgMzIuNi0xLjNsMTI3LTEyNyAwIDQzLjljMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNEw0ODAgOHpNNDggMjU2Yy0yNi41IDAtNDggMjEuNS00OCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0MTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE2MGMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAyNTZ6bTQ3LjMgNTZjLTMuNCAyMC4xLTE5LjIgMzYtMzkuNCAzOS40LTQuNCAuNy04LTIuOS04LTcuM2wwLTMyYzAtNC40IDMuNi04IDgtOGwzMiAwYzQuNCAwIDguMSAzLjYgNy4zIDh6bTAgMTQ0LjFjLjcgNC40LTIuOSA4LTcuMyA4bC0zMiAwYy00LjQgMC04LTMuNi04LThsMC0zMmMwLTQuNCAzLjYtOC4xIDgtNy4zIDIwLjEgMy40IDM2IDE5LjIgMzkuNCAzOS40ek00NTYgNDE2LjdjNC40LS43IDggMi45IDggNy4zbDAgMzJjMCA0LjQtMy42IDgtOCA4bC0zMiAwYy00LjQgMC04LjEtMy42LTcuMy04IDMuNC0yMC4xIDE5LjItMzYgMzkuNC0zOS40ek00MTYuNyAzMTJjLS43LTQuNCAyLjktOCA3LjMtOGwzMiAwYzQuNCAwIDggMy42IDggOGwwIDMyYzAgNC40LTMuNiA4LjEtOCA3LjMtMjAuMS0zLjQtMzYtMTkuMi0zOS40LTM5LjR6TTE5MiAzODRhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAweiJdfSxsaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVuLXJ1bGVyIixpY29uOls1MTIsNTEyLFsicGVuY2lsLXJ1bGVyIl0sImY1YWUiLCJNNDA0IDBjMTkuMiAwIDM3LjYgNy42IDUxLjEgMjEuMmwzNS43IDM1LjdDNTA0LjQgNzAuNCA1MTIgODguOCA1MTIgMTA4cy03LjYgMzcuNi0yMS4yIDUxLjFMNDQ1LjkgMjA0IDMwOCA2Ni4xIDM1Mi45IDIxLjJDMzY2LjQgNy42IDM4NC44IDAgNDA0IDB6TTU4LjkgMzE1LjFMMjc0LjEgMTAwIDQxMiAyMzcuOSAxOTYuOSA0NTMuMWMtMTAuNyAxMC43LTI0LjEgMTguNS0zOC43IDIyLjZMMzAuNCA1MTEuMWMtOC4zIDIuMy0xNy4zIDAtMjMuNC02LjJzLTguNS0xNS4xLTYuMi0yMy40TDM2LjQgMzUzLjhjNC4xLTE0LjYgMTEuOC0yNy45IDIyLjYtMzguN3pNMjI1LjQgODAuOEw4MC44IDIyNS40IDExLjcgMTU2LjNjLTE1LjYtMTUuNi0xNS42LTQwLjkgMC01Ni42bDg4LTg4YzE1LjYtMTUuNiA0MC45LTE1LjYgNTYuNiAwbDUuOSA1LjktNTYuMyA1Ni4zYy03LjggNy44LTcuOCAyMC41IDAgMjguM3MyMC41IDcuOCAyOC4zIDBsNTYuMy01Ni4zIDM0LjkgMzQuOXpNNDMxLjIgMjg2LjZsMzQuOSAzNC45LTU2LjMgNTYuM2MtNy44IDcuOC03LjggMjAuNSAwIDI4LjNzMjAuNSA3LjggMjguMyAwbDU2LjMtNTYuMyA1LjkgNS45YzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42bC04OCA4OGMtMTUuNiAxNS42LTQwLjkgMTUuNi01Ni42IDBsLTY5LjEtNjkuMSAxNDQuNi0xNDQuNnoiXX0sSE50PWxoZSxxTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVwZWF0IixpY29uOls1MTIsNTEyLFsxMjgyNTddLCJmMzYzIiwiTTQ3MC42IDExOC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtOS4yLTkuMi0yMi45LTExLjktMzQuOS02LjlTMzUyIDE5LjEgMzUyIDMybDAgMzItMTYwIDBDODYgNjQgMCAxNTAgMCAyNTYgMCAyNzMuNyAxNC4zIDI4OCAzMiAyODhzMzItMTQuMyAzMi0zMmMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOGwxNjAgMCAwIDMyYzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZzMjUuNyAyLjIgMzQuOS02LjlsNjQtNjR6TTQxLjQgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzkuMiA5LjIgMjIuOSAxMS45IDM0LjkgNi45UzE2MCA0OTIuOSAxNjAgNDgwbDAtMzIgMTYwIDBjMTA2IDAgMTkyLTg2IDE5Mi0xOTIgMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTE2MCAwIDAtMzJjMC0xMi45LTcuOC0yNC42LTE5LjgtMjkuNnMtMjUuNy0yLjItMzQuOSA2LjlsLTY0IDY0eiJdfSxWTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9uZSIsaWNvbjpbNjQwLDUxMixbMTI5NDYwXSwiZjVkNyIsIk0xOTcuNCAxNjBjLTMuOSAwLTcuMi0yLjgtOC4xLTYuNi0xMC4yLTQyLjEtNDguMS03My40LTkzLjMtNzMuNC01MyAwLTk2IDQzLTk2IDk2IDAgMjkuMSAxMi45IDU1LjEgMzMuMyA3Mi43IDQuMyAzLjcgNC4zIDEwLjggMCAxNC41LTIwLjQgMTcuNi0zMy4zIDQzLjctMzMuMyA3Mi43IDAgNTMgNDMgOTYgOTYgOTYgNDUuMiAwIDgzLjEtMzEuMyA5My4zLTczLjQgLjktMy44IDQuMi02LjYgOC4xLTYuNmwyNDUuMSAwYzMuOSAwIDcuMiAyLjggOC4xIDYuNiAxMC4yIDQyLjEgNDguMSA3My40IDkzLjMgNzMuNCA1MyAwIDk2LTQzIDk2LTk2IDAtMjkuMS0xMi45LTU1LjEtMzMuMy03Mi43LTQuMy0zLjctNC4zLTEwLjggMC0xNC41IDIwLjQtMTcuNiAzMy4zLTQzLjcgMzMuMy03Mi43IDAtNTMtNDMtOTYtOTYtOTYtNDUuMiAwLTgzLjEgMzEuMy05My4zIDczLjQtLjkgMy44LTQuMiA2LjYtOC4xIDYuNmwtMjQ1LjEgMHoiXX0sY2hlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpcmUtZmxhbWUtY3VydmVkIixpY29uOlszODQsNTEyLFsiZmlyZS1hbHQiXSwiZjdlNCIsIk0xNTMuNiAyOS45bDE2LTIxLjNDMTczLjYgMy4yIDE4MCAwIDE4Ni43IDAgMTk4LjQgMCAyMDggOS42IDIwOCAyMS4zbDAgMjIuMWMwIDEzLjEgNS40IDI1LjcgMTQuOSAzNC43TDMwNy42IDE1OUMzNTYuNCAyMDUuNiAzODQgMjcwLjIgMzg0IDMzNy43IDM4NCA0MzQgMzA2IDUxMiAyMDkuNyA1MTJMMTkyIDUxMkM4NiA1MTIgMCA0MjYgMCAzMjBsMC0zLjhjMC00OC44IDE5LjQtOTUuNiA1My45LTEzMC4xbDMuNS0zLjVjNC4yLTQuMiAxMC02LjYgMTYtNi42IDEyLjUgMCAyMi42IDEwLjEgMjIuNiAyMi42TDk2IDI4OGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0bDAtMy45YzAtMTgtNy4yLTM1LjMtMTkuOS00OGwtMzguNi0zOC42Yy0yNC0yNC0zNy41LTU2LjctMzcuNS05MC43IDAtMjcuNyA5LTU0LjggMjUuNi03Ni45eiJdfSxqTnQ9Y2hlLGRoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidXMtc2ltcGxlIixpY29uOls0NDgsNTEyLFsiYnVzLWFsdCJdLCJmNTVlIiwiTTk2IDBDNDMgMCAwIDQzIDAgOTZMMCAzODRjMCAyOS44IDIwLjQgNTQuOSA0OCA2MmwwIDM0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMiAxOTIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zNGMyNy42LTcuMSA0OC0zMi4yIDQ4LTYybDAtMjg4YzAtNTMtNDMtOTYtOTYtOTZMOTYgMHpNNjQgMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2ek05NiAzMjBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0yNTYgMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LFVOdD1kaGUsV050PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZlbnVzLW1hcnMiLGljb246WzY0MCw1MTIsWzk4OTJdLCJmMjI4IiwiTTQ4MC02NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJTNDYyLjMgMCA0ODAgMEw1MzAuNyAwIDQ3NCA1Ni43Yy0yNi4zLTE1LjctNTcuMS0yNC43LTkwLTI0LjctMzUuNCAwLTY4LjQgMTAuNS05NiAyOC41LTI3LjYtMTgtNjAuNi0yOC41LTk2LTI4LjUtOTcuMiAwLTE3NiA3OC44LTE3NiAxNzYgMCA4Ni4zIDYyLjEgMTU4LjEgMTQ0IDE3My4xbDAgMzQuOS0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTM0LjljMjMuMy00LjMgNDQuOS0xMy4xIDY0LTI1LjYgMjcuNiAxOCA2MC42IDI4LjUgOTYgMjguNSA5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NiAwLTQxLjEtMTQuMS03OS0zNy44LTEwOUw1NzYgNDUuMyA1NzYgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkw0ODAtNjR6TTMzNiAzMDkuMmMyMC4yLTI4LjYgMzItNjMuNSAzMi0xMDEuMnMtMTEuOC03Mi42LTMyLTEwMS4yYzE0LjYtNi45IDMwLjgtMTAuOCA0OC0xMC44IDYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyUzQ0NS45IDMyMCAzODQgMzIwYy0xNy4yIDAtMzMuNS0zLjktNDgtMTAuOHpNMjg4IDE1MC4zYzEwLjIgMTYuOSAxNiAzNi42IDE2IDU3LjdzLTUuOCA0MC45LTE2IDU3LjdjLTEwLjItMTYuOS0xNi0zNi42LTE2LTU3LjdzNS44LTQwLjkgMTYtNTcuN3ptLTQ4LTQzLjVjLTIwLjIgMjguNi0zMiA2My41LTMyIDEwMS4yczExLjggNzIuNiAzMiAxMDEuMmMtMTQuNSA2LjktMzAuOCAxMC44LTQ4IDEwLjgtNjEuOSAwLTExMi01MC4xLTExMi0xMTJTMTMwLjEgOTYgMTkyIDk2YzE3LjIgMCAzMy41IDMuOSA0OCAxMC44eiJdfSxHTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmxlbmRlciIsaWNvbjpbNTEyLDUxMixbXSwiZjUxNyIsIk0wIDU2QzAgMjUuMSAyNS4xIDAgNTYgMEw0MzcuNiAwYzIxLjMgMCAzNi42IDIwLjMgMzAuOCA0MC44TDQ1Ny4xIDgwIDM0NCA4MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw5OS40IDAtMTguMyA2NC04MS4xIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNjcuNCAwLTI3LjQgOTYtMjU2IDAtOS4xLTk2LTYyLjkgMGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCA1NnpNMTE0LjMgMTkyTDEwMC42IDQ4IDU2IDQ4Yy00LjQgMC04IDMuNi04IDhsMCAxMjhjMCA0LjQgMy42IDggOCA4bDU4LjMgMHpNMTM2IDM4NGwyNDAgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwbC0yNDAgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHptMTIwIDg4YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sWU50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InUiLGljb246WzM4NCw1MTIsWzExN10sIjU1IiwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjI0YzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4czEyOC01Ny4zIDEyOC0xMjhsMC0yMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDIyNGMwIDEwNi04NiAxOTItMTkyIDE5MlMwIDM5NCAwIDI4OEwwIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyeiJdfSxzdj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGFyZSIsaWNvbjpbNTEyLDUxMixbIm1haWwtZm9yd2FyZCJdLCJmMDY0IiwiTTMwNy44IDE4LjRjLTEyIDUtMTkuOCAxNi42LTE5LjggMjkuNmwwIDgwLTExMiAwYy05Ny4yIDAtMTc2IDc4LjgtMTc2IDE3NiAwIDExMy4zIDgxLjUgMTYzLjkgMTAwLjIgMTc0LjEgMi41IDEuNCA1LjMgMS45IDguMSAxLjkgMTAuOSAwIDE5LjctOC45IDE5LjctMTkuNyAwLTcuNS00LjMtMTQuNC05LjgtMTkuNS05LjQtOC44LTIyLjItMjYuNC0yMi4yLTU2LjcgMC01MyA0My05NiA5Ni05Nmw5NiAwIDAgODBjMCAxMi45IDcuOCAyNC42IDE5LjggMjkuNnMyNS43IDIuMiAzNC45LTYuOWwxNjAtMTYwYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwYy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOXoiXX0sS050PXN2LHVoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaG9uZS1mbGlwIixpY29uOls1MTIsNTEyLFsxMjgzODEsInBob25lLWFsdCJdLCJmODc5IiwiTTM1MS44IDI1YzcuOC0xOC44IDI4LjQtMjguOSA0OC4xLTIzLjVsNS41IDEuNWM2NC42IDE3LjYgMTE5LjggODAuMiAxMDMuNyAxNTYuNC0zNy4xIDE3NS0xNzQuOCAzMTIuNy0zNDkuOCAzNDkuOC03Ni4zIDE2LjItMTM4LjgtMzkuMS0xNTYuNC0xMDMuN2wtMS41LTUuNWMtNS40LTE5LjcgNC43LTQwLjMgMjMuNS00OC4xbDk3LjMtNDAuNWMxNi41LTYuOSAzNS42LTIuMSA0NyAxMS44bDM4LjYgNDcuMmM3MC4zLTM0LjkgMTI2LjgtOTMuMyAxNTkuMy0xNjQuOWwtNDQuMS0zNi4xYy0xMy45LTExLjMtMTguNi0zMC40LTExLjgtNDdMMzUxLjggMjV6Il19LFpOdD11aGUsWE50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvaWxldC1wb3J0YWJsZSIsaWNvbjpbMzIwLDUxMixbXSwiZTU4MyIsIk0wIDY0bDAgMTYgMzIwIDAgMC0xNmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwQzI4LjcgMCAwIDI4LjcgMCA2NHptMjQgNjRMMCAxMjggMCA0ODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTggMjI0IDAgMCA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zNjAtMjk2IDB6bTIyNCA5NmwyNCAwIDAgOTYtMjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHoiXX0sUU50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1wcmVnbmFudCIsaWNvbjpbMzg0LDUxMixbXSwiZTMxZSIsIk0xOTIgODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6bTgwIDMyMS4yYzguNi00LjUgMTYuOC0xMCAyNC4zLTE2LjVsNC0zLjRjMjIuNi0xOS40IDM1LjctNDcuNyAzNS43LTc3LjYgMC0zNS45LTE4LjgtNjkuMS00OS42LTg3LjZsLTMwLjQtMTguMiAwLTEuOGMwLTQ2LjUtMzcuNy04NC4xLTg0LjEtODQuMS0yOC4xIDAtNTQuNCAxNC4xLTcwIDM3LjVMMjEuNCAyNzAuMmMtOS44IDE0LjctNS44IDM0LjYgOC45IDQ0LjRzMzQuNiA1LjggNDQuNC04LjlsMjktNDMuNS0zMC41IDExMy41Yy0yLjYgOS42LS42IDE5LjkgNS41IDI3LjhTOTQgNDE2IDEwNCA0MTZsOCAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2IDMyIDAgMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTEwLjh6Il19LEpOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZXNzLXRoYW4iLGljb246WzUxMiw1MTIsWzYyNzc0XSwiM2MiLCJNNDc3LjEgNTAuNmM3LjQgMTYgLjQgMzUuMS0xNS42IDQyLjVMMTA4LjQgMjU2IDQ2MS40IDQxOWMxNiA3LjQgMjMgMjYuNCAxNS42IDQyLjVzLTI2LjQgMjMtNDIuNSAxNS42bC00MTYtMTkyQzcuMyAyNzkuOCAwIDI2OC41IDAgMjU2UzcuMyAyMzIuMiAxOC42IDIyN2w0MTYtMTkyYzE2LTcuNCAzNS4xLS40IDQyLjUgMTUuNnoiXX0sZVJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN1cGVyc2NyaXB0IixpY29uOls1NzYsNTEyLFtdLCJmMTJiIiwiTTU0NCAzMmMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNGwtMzIgMTZDNDQ5LjkgMjcuMyA0NDMuNSA0Ni41IDQ1MS40IDYyLjMgNDU3IDczLjUgNDY4LjMgODAgNDgwIDgwbDAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTEyOHpNOTYgNjRDNzguMyA2NCA2NCA3OC4zIDY0IDk2czE0LjMgMzIgMzIgMzJsMTUuMyAwIDg5LjYgMTI4LTg5LjYgMTI4LTE1LjMgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwYzEwLjQgMCAyMC4yLTUuMSAyNi4yLTEzLjZMMjQwIDMxMS44IDMyNS44IDQzNC40YzYgOC42IDE1LjggMTMuNiAyNi4yIDEzLjZsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTUuMyAwLTg5LjYtMTI4IDg5LjYtMTI4IDE1LjMgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMGMtMTAuNCAwLTIwLjIgNS4xLTI2LjIgMTMuNkwyNDAgMjAwLjIgMTU0LjIgNzcuNkMxNDguMiA2OS4xIDEzOC40IDY0IDEyOCA2NEw5NiA2NHoiXX0scGhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1zdG9wIixpY29uOls1MTIsNTEyLFs2MjA5NCwic3RvcC1jaXJjbGUiXSwiZjI4ZCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTkyIDE2MGwxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSx0UnQ9cGhlLGZoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtdXAtZG93biIsaWNvbjpbMjU2LDUxMixbImFycm93cy12Il0sImYwN2QiLCJNMTUwLjYtMjIuNmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDk2IDc3LjMgOTYgNDM0LjcgNTQuNiAzOTMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZjNiA2IDE0LjEgOS40IDIyLjYgOS40czE2LjYtMy40IDIyLjYtOS40bDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC00MS40IDQxLjQgMC0zNTcuNSA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6Il19LGFSdD1maGUsaGhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBvby1zdG9ybSIsaWNvbjpbNTEyLDUxMixbInBvby1ib2x0Il0sImY3NWEiLCJNMjY4LjktMzEuOGMtNS41LS43LTExIDEuNC0xNC41IDUuN3MtNC42IDEwLjEtMi44IDE1LjNjMi44IDguMiA0LjMgMTYuOSA0LjMgMjYuMSAwIDIxLjctOC41IDM3LjItMjEuOSA0Ny42LTEzLjkgMTAuOC0zNC4xIDE3LTU4LjEgMTdsLTI0IDBjLTQ4LjYgMC04OCAzOS40LTg4IDg4IDAgMTQuOCAzLjcgMjguOCAxMC4yIDQxLjEtNDIgNi42LTc0LjIgNDMtNzQuMiA4Ni45IDAgNDYuNiAzNi4yIDg0LjcgODEuOSA4Ny44IDMuMS0xMi40IDkuOS0yMy44IDE5LjYtMzIuNUwyNDIuNyAyMjVjMTIuMi0xMC45IDI4LTE3IDQ0LjQtMTcgNDQuNiAwIDc2LjUgNDMgNjMuNyA4NS43bC0xMi43IDQyLjRjMjguOCAxLjIgNTIuNyAyMS4xIDU5LjggNDcuOWwyNi4yIDBjNDguNiAwIDg4LTM5LjQgODgtODggMC00My45LTMyLjEtODAuMy03NC4yLTg2LjkgNi41LTEyLjMgMTAuMi0yNi4yIDEwLjItNDEuMSAwLTQ4LjYtMzkuNC04OC04OC04OGwtOS40IDBjLjktNS40IDEuNC0xMC45IDEuNC0xNi42IDAtNDguNy0zNi4xLTg4LjktODMuMS05NS4yek0xNDQuNiA0MTZsNjEuOCAwLTMxLjIgMTA0LjFjLTMuNiAxMS45IDUuMyAyMy45IDE3LjggMjMuOSA0LjYgMCA5LTEuNyAxMi40LTQuN0wzNDYuNSA0MTIuOWMzLjUtMy4xIDUuNS03LjYgNS41LTEyLjQgMC05LjItNy40LTE2LjYtMTYuNi0xNi42bC02MS44IDAgMzEuMi0xMDQuMWMzLjYtMTEuOS01LjMtMjMuOS0xNy44LTIzLjktNC42IDAtOSAxLjctMTIuNCA0LjdMMTMzLjUgMzg3LjFjLTMuNSAzLjEtNS41IDcuNi01LjUgMTIuNCAwIDkuMiA3LjQgMTYuNiAxNi42IDE2LjZ6Il19LHJSdD1oaGUsc1J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpZGVvLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJmNGUyIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTE1My0xNTMgMC0yMjIuMmMwLTM1LjMtMjguNy02NC02NC02NEwxMjkuOCA2NCA0MS0yNC45ek0zMiAxMjhsMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjNy44IDAgMTUuMy0xLjQgMjIuMi00TDM2IDEwNS44Yy0yLjYgNi45LTQgMTQuNC00IDIyLjJ6TTQ2NCAzMzZsNzMuNSA1OC44YzQuMiAzLjQgOS40IDUuMiAxNC44IDUuMiAxMy4xIDAgMjMuNy0xMC42IDIzLjctMjMuN2wwLTI0MC42YzAtMTMuMS0xMC42LTIzLjctMjMuNy0yMy43LTUuNCAwLTEwLjYgMS44LTE0LjggNS4yTDQ2NCAxNzYgNDY0IDMzNnoiXX0sTmVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS14bWFyayIsaWNvbjpbNDQ4LDUxMixbMTAwNjIsInRpbWVzLXNxdWFyZSIsInhtYXJrLXNxdWFyZSJdLCJmMmQzIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTcxIDEzNWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw1NSA1NSA1NS01NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTU1IDU1IDU1IDU1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTU1LTU1LTU1IDU1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDU1LTU1LTU1LTU1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXoiXX0saVJ0PU5lZSxvUnQ9TmVlLG1oZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWhvbGRpbmctZHJvcGxldCIsaWNvbjpbNTc2LDUxMixbImhhbmQtaG9sZGluZy13YXRlciJdLCJmNGMxIiwiTTI3NS41IDYuNkwyMDkuMiAxMDNDMTk4IDExOS4zIDE5MiAxMzguNiAxOTIgMTU4LjNsMCAxLjdjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTEuN2MwLTE5LjgtNi0zOS0xNy4yLTU1LjNMMzAwLjUgNi42QzI5Ny43IDIuNSAyOTMgMCAyODggMHMtOS43IDIuNS0xMi41IDYuNnpNMTA5LjMgMzQxLjVMNjYuNyAzODQgMzIgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMC41IDBjMjkgMCA1Ny4zLTkuMyA4MC43LTI2LjVsMTI2LjYtOTMuM2MxNy44LTEzLjEgMjEuNi0zOC4xIDguNS01NS45cy0zOC4xLTIxLjYtNTUuOS04LjVMMzkyLjYgNDE2IDI4MCA0MTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTUyLjIgMGMtMzMuOSAwLTY2LjUgMTMuNS05MC41IDM3LjV6Il19LG5SdD1taGUsUmVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Indvbi1zaWduIixpY29uOls1MTIsNTEyLFs4MzYxLCJrcnciLCJ3b24iXSwiZjE1OSIsIk02Mi40IDUzLjlDNTYuOCAzNy4xIDM4LjcgMjguMSAyMS45IDMzLjZTLTMuOSA1Ny40IDEuNyA3NC4xTDU2LjkgMjQwIDMyIDI0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MC45IDAgNTYuNyAxNzAuMWM0LjUgMTMuNSAxNy40IDIyLjQgMzEuNiAyMS45czI2LjQtMTAuNCAyOS44LTI0LjJMMjMzIDI4OCAyNzkgMjg4IDMyMSA0NTUuOGMzLjQgMTMuOCAxNS42IDIzLjcgMjkuOCAyNC4yczI3LjEtOC40IDMxLjYtMjEuOUw0MzkuMSAyODggNDgwIDI4OGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjQuOSAwIDU1LjMtMTY1LjljNS42LTE2LjgtMy41LTM0LjktMjAuMi00MC41cy0zNC45IDMuNS00MC41IDIwLjJsLTYyIDE4Ni4xLTU0LjYgMC00NS45LTE4My44QzI4My41IDQyIDI3MC43IDMyIDI1NiAzMnMtMjcuNSAxMC0zMSAyNC4yTDE3OSAyNDAgMTI0LjQgMjQwIDYyLjQgNTMuOXptNzggMjM0LjFsMjYuNiAwLTExLjQgNDUuNi0xNS4yLTQ1LjZ6TTI0NSAyNDBsMTEtNDQuMSAxMSA0NC4xLTIyIDB6bTEwMCA0OGwyNi42IDAtMTUuMiA0NS42LTExLjQtNDUuNnoiXX0sbFJ0PVJlZSxjUnQ9UmVlLGRSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvYmplY3QtdW5ncm91cCIsaWNvbjpbNjQwLDUxMixbXSwiZjI0OCIsIk0zMiAxMTkuNEMxMi45IDEwOC40IDAgODcuNyAwIDY0IDAgMjguNyAyOC43IDAgNjQgMCA4Ny43IDAgMTA4LjQgMTIuOSAxMTkuNCAzMmwyMDkuMSAwYzExLjEtMTkuMSAzMS43LTMyIDU1LjQtMzIgMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40bDAgMTEzLjFjMTkuMSAxMS4xIDMyIDMxLjcgMzIgNTUuNCAwIDM1LjMtMjguNyA2NC02NCA2NC0yMy43IDAtNDQuNC0xMi45LTU1LjQtMzJsLTIwOS4xIDBjLTExLjEgMTkuMS0zMS43IDMyLTU1LjQgMzItMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yMy43IDEyLjktNDQuNCAzMi01NS40bDAtMTEzLjF6TTExOS40IDk2Yy01LjYgOS43LTEzLjcgMTcuOC0yMy40IDIzLjRsMCAxMTMuMWM5LjcgNS42IDE3LjggMTMuNyAyMy40IDIzLjRsMjA5LjEgMGM1LjYtOS43IDEzLjctMTcuOCAyMy40LTIzLjRsMC0xMTMuMWMtOS43LTUuNi0xNy44LTEzLjctMjMuNC0yMy40TDExOS40IDk2ek01NDQgMjc5LjRjLTkuNy01LjYtMTcuOC0xMy43LTIzLjQtMjMuNGwtMjkuMiAwYy01LjMtMTcuNy0xNC44LTMzLjUtMjcuNC00Ni40bDAtMTcuNiA1Ni42IDBjMTEuMS0xOS4xIDMxLjctMzIgNTUuNC0zMiAzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRsMCAxMTMuMWMxOS4xIDExLjEgMzIgMzEuNyAzMiA1NS40IDAgMzUuMy0yOC43IDY0LTY0IDY0LTIzLjcgMC00NC40LTEyLjktNTUuNC0zMmwtMjA5LjEgMGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMi0zNS4zIDAtNjQtMjguNy02NC02NCAwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0yNC42IDY0IDAgMCAyNC42YzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNGwyMDkuMSAwYzUuNi05LjcgMTMuNy0xNy44IDIzLjQtMjMuNGwwLTExMy4xeiJdfSx1UnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudCIsaWNvbjpbNTEyLDUxMixbMTI4NDg5LDYxNjY5XSwiZjA3NSIsIk01MTIgMjQwYzAgMTMyLjUtMTE0LjYgMjQwLTI1NiAyNDAtMzcuMSAwLTcyLjMtNy40LTEwNC4xLTIwLjdMMzMuNSA1MTAuMWMtOS40IDQtMjAuMiAxLjctMjcuMS01LjhTLTIgNDg1LjggMi44IDQ3Ni44bDQ4LjgtOTIuMkMxOS4yIDM0NC4zIDAgMjk0LjMgMCAyNDAgMCAxMDcuNSAxMTQuNiAwIDI1NiAwUzUxMiAxMDcuNSA1MTIgMjQweiJdfSxwUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGlsbC1hdmFsYW5jaGUiLGljb246WzU3Niw1MTIsW10sImU1MDciLCJNNDQwLjEgNDAxLjljMzQuMiAyMy4xIDgxLjEgMTkuNSAxMTEuNC0xMC44IDM0LjQtMzQuNCAzNC40LTkwLjEgMC0xMjQuNS0yNy44LTI3LjgtNjkuNS0zMy4xLTEwMi42LTE2LTExLjggNi4xLTE2LjQgMjAuNi0xMC4zIDMyLjNzMjAuNiAxNi40IDMyLjMgMTAuM2MxNS4xLTcuOCAzNC01LjMgNDYuNiA3LjMgMTUuNiAxNS42IDE1LjYgNDAuOSAwIDU2LjZzLTQwLjkgMTUuNi01Ni42IDBsLTgxLjctODEuN2MyMi4zLTE0LjIgMzcuMS0zOS4xIDM3LjEtNjcuNSAwLTMzLjktMjEuMS02Mi45LTUwLjktNzQuNSAxLjktNi44IDIuOS0xNCAyLjktMjEuNSAwLTQ0LjItMzUuOC04MC04MC04MC0yNy4zIDAtNTEuNSAxMy43LTY1LjkgMzQuNi01LjgtMjAtMjQuMi0zNC42LTQ2LjEtMzQuNi0yNi41IDAtNDggMjEuNS00OCA0OCAwIDQgLjUgNy45IDEuNCAxMS42TDQ0MC4xIDQwMS45ek00ODAuNCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0wIDEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTY4LjcgODdDNDMuNSA2MS44IC40IDc5LjcgLjQgMTE1LjNMLjQgNDMyYzAgNDQuMiAzNS44IDgwIDgwIDgwbDMxNi43IDBjMzUuNiAwIDUzLjUtNDMuMSAyOC4zLTY4LjNMNjguNyA4N3oiXX0sZlJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy10by1leWUiLGljb246WzY0MCw1MTIsW10sImU0YmYiLCJNMTc2IDU2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzguMS02My02M2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTMjEuNyA1NS42IDMxIDY1bDYzIDYzLTM4LjEgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw5NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtOTZ6bTAgNDAwbDAtOTZjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTk2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzguMSAwLTYzIDYzYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNjMtNjMgMCAzOC4xYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjR6bTMxMiAyNGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTM4LjEgNjMgNjNjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02My02MyAzOC4xIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTk2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjR6TTQ2NCA1NmwwIDk2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDk2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTM4LjEgMCA2My02M2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC02MyA2MyAwLTM4LjFjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6TTMyMCAxMjBjLTU3LjMgMC05OS40IDM0LTEyNS42IDY0LjMtMjAgMjMuMS0zMi40IDQ1LjgtMzcuNiA1Ni4xLTIuNSA1LTQuOSA5LjctNC45IDE1LjZzMi4zIDEwLjYgNC45IDE1LjZjNS4yIDEwLjMgMTcuNiAzMyAzNy42IDU2LjEgMjYuMiAzMC4zIDY4LjIgNjQuMyAxMjUuNiA2NC4zczk5LjQtMzQgMTI1LjYtNjQuM2MyMC0yMy4xIDMyLjQtNDUuOCAzNy42LTU2LjEgMi41LTUgNC45LTkuNyA0LjktMTUuNnMtMi4zLTEwLjYtNC45LTE1LjZjLTUuMi0xMC4zLTE3LjYtMzMtMzcuNi01Ni4xLTI2LjItMzAuMy02OC4yLTY0LjMtMTI1LjYtNjQuM3pNMjU2IDI1NmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6Il19LGhSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbm93cGxvdyIsaWNvbjpbNjQwLDUxMixbXSwiZjdkMiIsIk0xMjggMTYwbDAtOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRMMjk2LjQgMGMyNC4yIDAgNDYuNCAxMy43IDU3LjIgMzUuNGw4Ny42IDE3NS4xYzQuNCA4LjkgNi44IDE4LjcgNi44IDI4LjZsMCA1Ni45IDgwIDAgMC04MGMwLTQ4LjYgMzkuNC04OCA4OC04OCAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCAyMDhjMCAyMi4xIDE3LjkgNDAgNDAgNDAgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTQ4LjYgMC04OC0zOS40LTg4LTg4bDAtODAtNjMgMGM5LjUgMTYuNSAxNSAzNS42IDE1IDU2IDAgNjEuOS01MC4xIDExMi0xMTIgMTEybC0yMjQgMGMtNjEuOSAwLTExMi01MC4xLTExMi0xMTIgMC0zMC41IDEyLjItNTguMiAzMi03OC40TDY0IDIyNGMwLTM1LjMgMjguNy02NCA2NC02NHptOTEuNyAzNC45bDQzLjYgMjkuMSAxMTMuMiAwLTgwLTE2MC0xMDQuNCAwIDAgMTA4LjggMjcuNyAyMi4xek00MTYgNDAwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0yMjQgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhzMjEuNSA0OCA0OCA0OGwyMjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OHptLTI4MCAwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTIxNi0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTIzMiA0MDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sbVJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJ0LWdhbnR0IixpY29uOls1MTIsNTEyLFtdLCJlMGU0IiwiTTY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDAwYzAgNDQuMiAzNS44IDgwIDgwIDgwbDQwMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2TDY0IDY0em05NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDB6bTY0IDExMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTI4IDB6TTM4NCAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMHoiXX0sZ2hlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpZGVvIixpY29uOls1NzYsNTEyLFsidmlkZW8tY2FtZXJhIl0sImYwM2QiLCJNOTYgNjRjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjU2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDY0ek00NjQgMzM2bDczLjUgNTguOGM0LjIgMy40IDkuNCA1LjIgMTQuOCA1LjIgMTMuMSAwIDIzLjctMTAuNiAyMy43LTIzLjdsMC0yNDAuNmMwLTEzLjEtMTAuNi0yMy43LTIzLjctMjMuNy01LjQgMC0xMC42IDEuOC0xNC44IDUuMkw0NjQgMTc2IDQ2NCAzMzZ6Il19LGdSdD1naGUsYlJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXNzLXBhd24iLGljb246WzM4NCw1MTIsWzk4MjNdLCJmNDQzIiwiTTE5Mi0zMmM2Ni4zIDAgMTIwIDUzLjcgMTIwIDEyMCAwIDI3LTguOSA1MS45LTI0IDcyIDE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMC43IDAgMjYuNyAxNjAgNTYuMiA3MC4zYzUgNi4zIDcuOCAxNC4xIDcuOCAyMi4yIDAgMTkuNi0xNS45IDM1LjUtMzUuNSAzNS41TDUxLjUgNTEyYy0xOS42IDAtMzUuNS0xNS45LTM1LjUtMzUuNSAwLTguMSAyLjctMTUuOSA3LjgtMjIuMkw4MCAzODQgMTA2LjcgMjI0IDk2IDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmMtMTUuMS0yMC4xLTI0LTQ1LTI0LTcyIDAtNjYuMyA1My43LTEyMCAxMjAtMTIweiJdfSx2UnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3luYWdvZ3VlIixpY29uOls1NzYsNTEyLFsxMjgzMzNdLCJmNjliIiwiTTE2IDgwYzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRsMCAzMi0xMjggMCAwLTMyem0wIDM2OGwwLTI4OCAxMjggMCAxMjYuMi04NC4yYzEwLjctNy4yIDI0LjgtNy4yIDM1LjUgMGwxMjYuMiA4NC4yIDEyOCAwIDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDgwIDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjR6TTU2MCAxMTJsLTEyOCAwIDAtMzJjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NGwwIDMyek0yMjQgMzg0bDAgODAgMTI4IDAgMC04MGMwLTM1LjMtMjguNy02NC02NC02NHMtNjQgMjguNy02NCA2NHptNjQtMTUyYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHoiXX0seFJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWNpcmNsZS1jaGVjayIsaWNvbjpbNTc2LDUxMixbXSwiZTRkMiIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE4MCAwYy0xMC41LTE0LjYtMTktMzAuNy0yNS4xLTQ4bC03NC45IDAgMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzIgMCA0IC4yIDUuOSAuNSA2LTIzLjYgMTYuMy00NS40IDMwLjEtNjQuNWwtNCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0YzI3LjUtMTkuOCA2MC4zLTMyLjQgOTYtMzUuNEw0MTYgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMOTYgMHptMzIgMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTI3MiA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xMjggMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTU3NiA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSx5UnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FsZW5kYXItcGx1cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3MSIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDE5MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDAgMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDggNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMCAwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxiaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2hlZWxjaGFpci1tb3ZlIixpY29uOls0NDgsNTEyLFsid2hlZWxjaGFpci1hbHQiXSwiZTJjZSIsIk0zMTIgNTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek0yMDUuNCAxMjQuMWMtNi40LTUuMi0xNS42LTQuNy0yMS40IDEuMWwtMzMuNCAzMy40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wxMzguOCA4MGMyOS0yOSA3NS4yLTMxLjQgMTA3LTUuNWw4MS4zIDY2YzIxLjQgMTcuNCAyMy44IDQ5LjIgNS4yIDY5LjVsLTQxLjggNDYgOTggMGMzMC4zIDAgNTMgMjcuNyA0Ny4xIDU3LjRMNDA3LjQgNDU0LjNjLTMuNSAxNy4zLTIwLjMgMjguNi0zNy43IDI1LjFzLTI4LjYtMjAuMy0yNS4xLTM3LjdMMzY5IDMyMCAzMTYuOCAzMjBjMi4xIDEwLjMgMy4yIDIxIDMuMiAzMiAwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MFMwIDQ0MC40IDAgMzUyIDcxLjYgMTkyIDE2MCAxOTJjNiAwIDExLjkgLjMgMTcuOCAxbDUwLjQtNTAuNC0yMi43LTE4LjV6TTE2MCA0NDhhOTYgOTYgMCAxIDAgMC0xOTIgOTYgOTYgMCAxIDAgMCAxOTJ6Il19LHdSdD1iaGUsTVJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItc2hpZWxkIixpY29uOls1NzYsNTEyLFtdLCJmNTA1IiwiTTIyNCAyNDhhMTIwIDEyMCAwIDEgMCAwLTI0MCAxMjAgMTIwIDAgMSAwIDAgMjQwem0tMjkuNyA1NkM5NS44IDMwNCAxNiAzODMuOCAxNiA0ODIuMyAxNiA0OTguNyAyOS4zIDUxMiA0NS43IDUxMmwyNTEuNSAwQzI2MSA0NjkuNCAyNDAgNDE0LjUgMjQwIDM1Ni40bDAtMzEuMWMwLTcuMyAxLTE0LjUgMi45LTIxLjNsLTQ4LjYgMHptMjUxIDE4NC41bC0xMy4zIDYuMyAwLTE4OC4xIDk2IDMyIDAgMTkuNmMwIDU1LjgtMzIuMiAxMDYuNS04Mi43IDEzMC4zek00MjEuOSAyNTkuNWwtMTEyIDM3LjNjLTEzLjEgNC40LTIxLjkgMTYuNi0yMS45IDMwLjRsMCAzMS4xYzAgNzQuNCA0MyAxNDIuMSAxMTAuMiAxNzMuN2wxOC41IDguN2M0LjggMi4yIDEwIDMuNCAxNS4yIDMuNHMxMC41LTEuMiAxNS4yLTMuNGwxOC41LTguN0M1MzMgNTAwLjMgNTc2IDQzMi42IDU3NiAzNTguMmwwLTMxLjFjMC0xMy44LTguOC0yNi0yMS45LTMwLjRsLTExMi0zNy4zYy02LjYtMi4yLTEzLjctMi4yLTIwLjIgMHoiXX0sa1J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvbGQiLGljb246WzM4NCw1MTIsW10sImYwMzIiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDMyIDAgMCAzMjAtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMjQgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOCAwLTQ2LjUtMjQuOC04Ny4zLTYyLTEwOS43IDE4LjctMjIuMyAzMC01MSAzMC04Mi4zIDAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4TDMyIDMyek0yODggMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0bC05NiAwIDAtMTI4IDk2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjR6TTEyOCA0MTZsMC0xMjggMTI4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRsLTEyOCAweiJdfSx2aGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtcHVsc2UiLGljb246WzUxMiw1MTIsWyJoZWFydGJlYXQiXSwiZjIxZSIsIk0yNTYgMTA3LjlMMjQxIDg3LjFDMjE2IDUyLjUgMTc1LjkgMzIgMTMzLjEgMzIgNTkuNiAzMiAwIDkxLjYgMCAxNjUuMWwwIDIuNmMwIDIzLjYgNi4yIDQ4IDE2LjYgNzIuM2wxMDYgMGMzLjIgMCA2LjEtMS45IDcuNC00LjlsMzEuOC03Ni4zYzMuNy04LjggMTIuMy0xNC42IDIxLjgtMTQuOHMxOC4zIDUuNCAyMi4yIDE0LjFsNTEuMyAxMTMuOSA0MS40LTgyLjhjNC4xLTguMSAxMi40LTEzLjMgMjEuNS0xMy4zczE3LjQgNS4xIDIxLjUgMTMuM2wyMy4yIDQ2LjNjMS40IDIuNyA0LjEgNC40IDcuMiA0LjRsMTIzLjYgMGMxMC41LTI0LjMgMTYuNi00OC43IDE2LjYtNzIuM2wwLTIuNkM1MTIgOTEuNiA0NTIuNCAzMiAzNzguOSAzMiAzMzYuMiAzMiAyOTYgNTIuNSAyNzEgODcuMWwtMTUgMjAuN3pNNDY5LjYgMjg4bC05Ny44IDBjLTIxLjIgMC00MC42LTEyLTUwLjEtMzFsLTEuNy0zLjQtNDIuNSA4NS4xYy00LjEgOC4zLTEyLjcgMTMuNS0yMiAxMy4zcy0xNy42LTUuNy0yMS40LTE0LjFsLTQ5LjMtMTA5LjUtMTAuNSAyNS4yYy04LjcgMjAuOS0yOS4xIDM0LjUtNTEuNyAzNC41bC04MC4yIDBjNDcuMiA3My44IDEyMyAxNDEuNyAxNzAuNCAxNzcuOSAxMi40IDkuNCAyNy42IDE0LjEgNDMuMSAxNC4xczMwLjgtNC42IDQzLjEtMTQuMUMzNDYuNiA0MjkuNyA0MjIuNCAzNjEuOCA0NjkuNiAyODh6Il19LFNSdD12aGUseGhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1yb290LXZhcmlhYmxlIixpY29uOls1NzYsNTEyLFsic3F1YXJlLXJvb3QtYWx0Il0sImY2OTgiLCJNMjgyLjYgNzguMWM4LTI3LjMgMzMtNDYuMSA2MS40LTQ2LjFsMjAwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzQ0IDk2IDIzOC43IDQ1N2MtMy42IDEyLjMtMTQuMSAyMS4yLTI2LjggMjIuOHMtMjUuMS00LjYtMzEuNS0xNS42TDc3LjYgMjg4IDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0NS42IDBjMjIuOCAwIDQzLjggMTIuMSA1NS4zIDMxLjhsNjUuMiAxMTEuOCA4NC40LTI4OS41ek0zOTMuNCAyMzMuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw0MS40IDQxLjQgNDEuNC00MS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTQxLjQgNDEuNCA0MS40IDQxLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTQxLjQtNDEuNC00MS40IDQxLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDQxLjQtNDEuNC00MS40LTQxLjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zeiJdfSx6UnQ9eGhlLHloZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kcy1idWJibGVzIixpY29uOls1MTIsNTEyLFsiaGFuZHMtd2FzaCJdLCJlMDVlIiwiTTM4NCA2NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTk2IDEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTEyOCA0NjRhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMCAxNjBsLjEgNzIuNmMwIDQ0LjggMTcuNiA4Ny4xIDQ3LjkgMTE4LjQgLjMtNzcgNDAuMS0xNDguNCAxMDUuNC0xODkuM2wxLjktMS4yYy0yLjUtMy43LTIuOC04LjYtLjQtMTIuN2w2Mi0xMDcuNGM2LjYtMTEuNSAyLjctMjYuMi04LjgtMzIuOFMxODIgNSAxNzUuNCAxNi41bC02OCAxMTcuOCAwIDAgMCAwLTQzLjMgNzUgMC00OS4zYzAtMTcuNy0xNC40LTMyLTMyLTMyUzAgMTQyLjQgMCAxNjB6bTIxMy42LTM1LjljMTQuMS04LjggMjkuOC0xMi43IDQ1LjItMTIuMWwzNi41LTYzLjNjNi42LTExLjUgMi43LTI2LjItOC44LTMyLjhzLTI2LjItMi43LTMyLjggOC44bC02Ny4xIDExNi4yIDI3LTE2Ljl6bTg2LjUtMzUuN2wtMTYuNCAyOC40YzE1LjEgNS41IDI4LjYgMTUuNiAzOC4zIDI5LjdsMTkuNy0zNC4yYzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44cy0yNi4yLTIuNy0zMi44IDguOHptNDYuNCA2My43bC0xMi41IDIxLjdjMiA4LjYgMi41IDE3LjUgMS43IDI2LjFsNC4zIDAgMCAwIDM0LjQgMCAxMy43LTIzLjhjNi42LTExLjUgMi43LTI2LjItOC44LTMyLjhzLTI2LjItMi43LTMyLjggOC44ek0yODMuMSAxNzVjLTkuNC0xNS0yOS4xLTE5LjUtNDQuMS0xMC4ybC02MC4yIDM3LjZDMTI3LjMgMjM0LjcgOTYgMjkxLjIgOTYgMzUybDAgOGMwIDguOSAuOCAxNy42IDIuMiAyNi4xIDM1LjQgOC4yIDYxLjggNDAgNjEuOCA3Ny45IDAgNi4zLS43IDEyLjUtMi4xIDE4LjQgMjUuMiAxOC42IDU2LjQgMjkuNiA5MC4xIDI5LjZsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTkyIDBjLTYuNiAwLTEyLTUuNC0xMi0xMnM1LjQtMTIgMTItMTJsMTI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTEyNCAwYy02LjYgMC0xMi01LjQtMTItMTJzNS40LTEyIDEyLTEybDE1NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNTYgMGMtNi42IDAtMTItNS40LTEyLTEyczUuNC0xMiAxMi0xMmwxMjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTM2IDAgMCAwIDAgMC05My4yIDAgNDYuMi0yOC45YzE1LTkuNCAxOS41LTI5LjEgMTAuMi00NC4xeiJdfSxDUnQ9eWhlLF9SdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJrZXIiLGljb246WzUxMiw1MTIsW10sImY1YTEiLCJNNDA4LjggMGMtMjcuNCAwLTUzLjYgMTAuOS03MyAzMC4yTDMxOC4xIDQ4IDMwNSAzNC45Yy0yOC4xLTI4LjEtNzMuNy0yOC4xLTEwMS44IDBMMTAzIDEzNWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwTDIzNy4xIDY4LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMjg0LjEgODEuOSAxODQgMTgyLjEgMzI5LjkgMzI4IDQ4MS44IDE3Ni4yYzE5LjQtMTkuNCAzMC4yLTQ1LjYgMzAuMi03MyAwLTU3LTQ2LjItMTAzLjItMTAzLjItMTAzLjJ6TTEwMi40IDI2My43Yy00OS45IDQ5LjktODMuMyAxMTQtOTUuNSAxODMuNUwuNCA0ODMuOEMtMSA0OTEuNiAxLjUgNDk5LjQgNyA1MDVzMTMuNCA4IDIxLjEgNi43bDM2LjctNi41YzY5LjUtMTIuMyAxMzMuNi00NS42IDE4My41LTk1LjVMMjk2IDM2MS45IDE1MC4xIDIxNiAxMDIuNCAyNjMuN3oiXX0sVFJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsaXBib2FyZCIsaWNvbjpbMzg0LDUxMixbMTI4MjAzXSwiZjMyOCIsIk0zMjAgMzJsLTguNiAwQzMwMC40IDEyLjkgMjc5LjcgMCAyNTYgMEwxMjggMEMxMDQuMyAwIDgzLjYgMTIuOSA3Mi42IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zNTJjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTEzNiAxMTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTExMiAweiJdfSxMUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhY2Utb2Ytd29yc2hpcCIsaWNvbjpbNTEyLDUxMixbXSwiZjY3ZiIsIk0xNjAgNzlsMCA4MS00NC44IDMzLjZDMTAzLjEgMjAyLjcgOTYgMjE2LjkgOTYgMjMybDAgNDAtNjAuNiAzMC4zQzEzLjcgMzEzLjIgMCAzMzUuMyAwIDM1OS42TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0IDc0LjcgMCA4NS40IDAgMzIwIDBsNjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTg4LjRjMC0yNC4yLTEzLjctNDYuNC0zNS40LTU3LjJMNDE2IDI3MiA0MTYgMjMyYzAtMTUuMS03LjEtMjkuMy0xOS4yLTM4LjRMMzUyIDE2MCAzNTIgNzljMC05LjUtNC4yLTE4LjUtMTEuNS0yNC42TDI3MS40LTMuMmMtOC45LTcuNC0yMS44LTcuNC0zMC43IDBMMTcxLjUgNTQuNEMxNjQuMiA2MC41IDE2MCA2OS41IDE2MCA3OXptOTYgMjQxYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgODAtMTI4IDAgMC04MGMwLTM1LjMgMjguNy02NCA2NC02NHoiXX0sJFJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbm5hYmlzIixpY29uOls1MTIsNTEyLFtdLCJmNTVmIiwiTTI1NiAwYzUuMyAwIDEwLjMgMi43IDEzLjMgNy4xIDE1LjggMjMuNSAzNi43IDYzLjcgNDkuMiAxMDkgNy4zIDI2LjQgMTEuOCA1NS4zIDEwLjMgODQgMTEuNi04LjkgMjMuNy0xNi43IDM1LjktMjMuNyA0MS0yMy4zIDg0LjQtMzYuOSAxMTIuMi00Mi41IDUuMi0xIDEwLjcgLjYgMTQuNCA0LjRzNS40IDkuMiA0LjQgMTQuNWMtNS42IDI3LjctMTkuMyA3MC45LTQyLjcgMTExLjctOS4xIDE1LjktMTkuOSAzMS43LTMyLjUgNDYuMyAyNy45IDYuNiA1Mi41IDE3LjIgNjcuMyAyNS40IDUuMSAyLjggOC4yIDguMiA4LjIgMTRzLTMuMiAxMS4yLTguMiAxNGMtMTUuMiA4LjQtNDAuOSAxOS41LTY5LjggMjYuMS0yMC4yIDQuNi00Mi45IDcuMi02NS4yIDQuNmw4LjMgMzMuMmMxLjUgNi4xLS42IDEyLjUtNS41IDE2LjRzLTExLjYgNC42LTE3LjIgMS44TDI4MCA0MTcuMiAyODAgNDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzAuOC01OC41IDI5LjFjLTUuNiAyLjgtMTIuMyAyLjEtMTcuMi0xLjhzLTctMTAuMy01LjUtMTYuNGw4LjMtMzMuMmMtMjIuMiAyLjYtNDUgMC02NS4yLTQuNi0yOC45LTYuNi01NC41LTE3LjYtNjkuOC0yNi4xLTUuMS0yLjgtOC4yLTguMi04LjItMTRzMy4yLTExLjIgOC4yLTE0bDYuMi0zLjNjMTUtNy42IDM2LjgtMTYuNCA2MS4xLTIyLjItMTIuNS0xNC41LTIzLjMtMzAuNC0zMi40LTQ2LjItMjMuNC00MC44LTM3LjEtODQtNDIuNy0xMTEuNy0xLjEtNS4yIC42LTEwLjcgNC40LTE0LjVzOS4yLTUuNCAxNC40LTQuNGMyNy45IDUuNSA3MS4yIDE5LjIgMTEyLjIgNDIuNSAxMi4yIDYuOSAyNC4zIDE0LjggMzUuOCAyMy43LTEuNC0yOC43IDMuMS01Ny42IDEwLjMtODQgMTIuNS00NS4zIDMzLjQtODUuNSA0OS4yLTEwOWwxLjItMS42QzI0Ni45IDIgMjUxLjMgMCAyNTYgMHoiXX0sRFJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlb3BsZS1yb29mIixpY29uOls1NzYsNTEyLFtdLCJlNTM3IiwiTTMwMi4zLTEyLjZjLTktNC41LTE5LjYtNC41LTI4LjYgMGwtMjU2IDEyOEMxLjkgMTIzLjMtNC41IDE0Mi41IDMuNCAxNTguM3MyNy4xIDIyLjIgNDIuOSAxNC4zTDI4OCA1MS44IDUyOS43IDE3Mi42YzE1LjggNy45IDM1IDEuNSA0Mi45LTE0LjNzMS41LTM1LTE0LjMtNDIuOWwtMjU2LTEyOHpNMjg4IDI3MmE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnptMCA0OGMtNTMgMC05NiA0My05NiA5NmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzJjMC01My00My05Ni05Ni05NnpNMTYwIDI1NmE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwem0zNTIgMGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0xMTIgMzM2Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDMzLjFjMCAxNyAxMy44IDMwLjkgMzAuOSAzMC45bDg3LjggMGMtNC4zLTkuOC02LjctMjAuNi02LjctMzJsMC00OGMwLTE4LjQgMy41LTM2IDkuOC01Mi4yLTEyLjItNy41LTI2LjUtMTEuOC00MS44LTExLjh6TTQyNS40IDQ4MGw4Ny44IDBjMTcgMCAzMC45LTEzLjggMzAuOS0zMC45bDAtMzMuMWMwLTQ0LjItMzUuOC04MC04MC04MC0xNS4zIDAtMjkuNiA0LjMtNDEuOCAxMS44IDYuMyAxNi4yIDkuOCAzMy44IDkuOCA1Mi4ybDAgNDhjMCAxMS40LTIuNCAyMi4yLTYuNyAzMnoiXX0sQVJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpc2Vhc2UiLGljb246WzUxMiw1MTIsW10sImY3ZmEiLCJNMjM2LjUgMjkuNEwyMjQgNDhjLTIwIDMwLTUzLjYgNDgtODkuNyA0OEw2OCA5NmMtMzcuNSAwLTY3LjkgMzAuNC02Ny45IDY3LjkgMCAxOCA3LjIgMzUuMiAxOS45IDQ3LjlsMjcgMjdjMTEgMTEgMTcuMiAyNS45IDE3LjIgNDEuNSAwIDE1LjgtNi40IDMwLjktMTcuNyA0MkwzMy40IDMzNS4xYy0xMS4xIDEwLjgtMTcuMyAyNS43LTE3LjMgNDEuMiAwIDM2LjggMzQuMSA2NC4yIDcwLjEgNTYuMmw2Mi4zLTEzLjhjNy43LTEuNyAxNS43LTIuNiAyMy42LTIuNiAzMi44IDAgNjQuMiAxNC42IDg1LjIgMzkuOGwzMC41IDM2LjZjMTAuNCAxMi40IDI1LjcgMTkuNiA0MS45IDE5LjYgMzAuMSAwIDU0LjUtMjQuNCA1NC41LTU0LjVsMC01MS4yYzAtNDEuNCAyNS40LTc4LjUgNjQtOTMuNWwyMi4yLTguNmMyNS4yLTkuOCA0MS44LTM0LjEgNDEuOC02MS4xIDAtMjYuNC0xNS45LTUwLjMtNDAuMy02MC41TDQyOSAxNjQuOGMtMzMuMi0xMy45LTU3LjYtNDMtNjUuNS03OC4xbC03LjktMzUuMmMtNi44LTMwLjEtMzMuNS01MS41LTY0LjMtNTEuNS0yMiAwLTQyLjYgMTEtNTQuOCAyOS40ek0xNjAgMTkyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptOTYgMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0zMiA5NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LHdoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLWJpYmxlIixpY29uOls0NDgsNTEyLFsiYmlibGUiXSwiZjY0NyIsIk05NiA1MTJjLTUzIDAtOTYtNDMtOTYtOTZMMCA5NkMwIDQzIDQzIDAgOTYgMEw0MDAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDI4OGMwIDIwLjktMTMuNCAzOC43LTMyIDQ1LjNsMCA2Ni43YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDk2IDUxMnptMC0xMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjU2IDAgMC02NC0yNTYgMHpNMTkyIDgwbDAgNDgtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDQ4IDAgMCAxMTJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTEyIDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC00OCAwIDAtNDhjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LFBSdD13aGUsRVJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXNzLWJvYXJkIixpY29uOls0NDgsNTEyLFtdLCJmNDNjIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTY0IDY0bDAgNjQgNjQgMCAwLTY0IDY0IDAgMCA2NCA2NCAwIDAtNjQgNjQgMCAwIDY0LTY0IDAgMCA2NCA2NCAwIDAgNjQtNjQgMCAwIDY0IDY0IDAgMCA2NC02NCAwIDAtNjQtNjQgMCAwIDY0LTY0IDAgMC02NC02NCAwIDAgNjQtNjQgMCAwLTY0IDY0IDAgMC02NC02NCAwIDAtNjQgNjQgMCAwLTY0LTY0IDAgMC02NCA2NCAwem02NCAxMjhsNjQgMCAwLTY0LTY0IDAgMCA2NHptMCA2NGwwLTY0LTY0IDAgMCA2NCA2NCAwem02NCAwbC02NCAwIDAgNjQgNjQgMCAwLTY0em0wIDBsNjQgMCAwLTY0LTY0IDAgMCA2NHoiXX0sSVJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnMiLGljb246WzUxMiw1MTIsWzk3OTRdLCJmMjIyIiwiTTMyMCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMkw0ODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTUwLjctOTUgOTVjMTkuNSAyOC40IDMxIDYyLjcgMzEgOTkuOCAwIDk3LjItNzguOCAxNzYtMTc2IDE3NlMzMiA0MDEuMiAzMiAzMDQgMTEwLjggMTI4IDIwOCAxMjhjMzcgMCA3MS40IDExLjQgOTkuOCAzMWw5NS05NS01MC43IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0yMDggNDE2YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHoiXX0sTlJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhcHRvcCIsaWNvbjpbNjQwLDUxMixbMTI4MTg3XSwiZjEwOSIsIk0xMjggMzJDOTIuNyAzMiA2NCA2MC43IDY0IDk2bDAgMjQwIDY0IDAgMC0yNDAgMzg0IDAgMCAyNDAgNjQgMCAwLTI0MGMwLTM1LjMtMjguNy02NC02NC02NEwxMjggMzJ6TTE5LjIgMzg0QzguNiAzODQgMCAzOTIuNiAwIDQwMy4yIDAgNDQ1LjYgMzQuNCA0ODAgNzYuOCA0ODBsNDg2LjQgMGM0Mi40IDAgNzYuOC0zNC40IDc2LjgtNzYuOCAwLTEwLjYtOC42LTE5LjItMTkuMi0xOS4yTDE5LjIgMzg0eiJdfSxNaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci14bWFyayIsaWNvbjpbNTc2LDUxMixbInVzZXItdGltZXMiXSwiZjIzNSIsIk0yNTQuMSAzMDRjOTguNSAwIDE3OC4zIDc5LjggMTc4LjMgMTc4LjMgMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMNDYuMSA1MTJjLTE2LjQgMC0yOS43LTEzLjMtMjkuNy0yOS43IDAtOTguNSA3OS44LTE3OC4zIDE3OC4zLTE3OC4zbDU5LjQgMHpNNTMwLjMgMTA4LjFjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC0zMy45IDMzLjkgMzMuOSAzMy45YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTMzLjktMzMuOS0zMy45IDMzLjljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzMuOS0zMy45LTMzLjktMzMuOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDMzLjkgMzMuOSAzMy45LTMzLjl6TTIyNC40IDI0OGExMjAgMTIwIDAgMSAxIDAtMjQwIDEyMCAxMjAgMCAxIDEgMCAyNDB6Il19LFJSdD1NaGUsT1J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZsYWctdXNhIixpY29uOls0NDgsNTEyLFtdLCJmNzRkIiwiTTMyIDBDNDkuNyAwIDY0IDE0LjMgNjQgMzJsMCAxNiA2OS0xNy4yYzM4LjEtOS41IDc4LjMtNS4xIDExMy41IDEyLjUgNDYuMyAyMy4yIDEwMC44IDIzLjIgMTQ3LjEgMGw5LjYtNC44QzQyMy44IDI4LjEgNDQ4IDQzLjEgNDQ4IDY2LjFsMCAzNi4xLTQ0LjcgMTYuMmMtNDIuOCAxNS42LTkwIDEzLjktMTMxLjYtNC42bC0xNi4xLTcuMmMtMjAuMy05LTQxLjgtMTQuNy02My42LTE2LjlsMCAzMi4yYzE3LjQgMi4xIDM0LjQgNi43IDUwLjYgMTMuOWwxNi4xIDcuMmM0OS4yIDIxLjkgMTA1IDIzLjggMTU1LjYgNS40bDMzLjctMTIuMyAwIDYyLTQ0LjcgMTYuMmMtNDIuOCAxNS42LTkwIDEzLjktMTMxLjYtNC42bC0xNi4xLTcuMmMtNDAuMi0xNy45LTg1LTIyLjUtMTI4LjEtMTMuM2wtNjMuNSAxMy42IDAgMzIuNyA3MC4yLTE1LjFjMzYuNC03LjggNzQuMy0zLjkgMTA4LjQgMTEuM2wxNi4xIDcuMmM0OS4yIDIxLjkgMTA1IDIzLjggMTU1LjYgNS40bDMzLjctMTIuMyAwIDYxLjktNDQuNyAxNi4yYy00Mi44IDE1LjYtOTAgMTMuOS0xMzEuNi00LjZsLTE2LjEtNy4yYy00MC4yLTE3LjktODUtMjIuNS0xMjguMS0xMy4zbC02My41IDEzLjYgMCAzMi43IDcwLjItMTUuMWMzNi40LTcuOCA3NC4zLTMuOSAxMDguNCAxMS4zbDE2LjEgNy4yYzQ5LjIgMjEuOSAxMDUgMjMuOCAxNTUuNiA1LjRsMzMuNy0xMi4zIDAgMzMuNWMwIDEzLjMtOC4zIDI1LjMtMjAuOCAzMGwtMzQuNyAxM2MtNDYuMiAxNy4zLTk3LjYgMTQuNi0xNDEuNy03LjQtMzcuOS0xOS04MS40LTIzLjctMTIyLjUtMTMuNEw2NCA0MDAgNjQgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDk3LjcgMCA0ODBMMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDB6bTgwIDk2YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bTMyIDBhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0tMzIgNDhhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptMzIgMGExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6Il19LEZSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLW1pZGRsZS1maW5nZXIiLGljb246WzQ0OCw1MTIsWzEyODQwNV0sImY4MDYiLCJNMjMyIDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgMTY0LjJjLTguNS03LjYtMTkuNy0xMi4yLTMyLTEyLjItMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTU1LjdjLTIgMS40LTMuOSAzLTUuOCA0LjVMNTUgMjg0LjhDNDAuNCAyOTcgMzIgMzE1IDMyIDMzNEwzMiAzNzJjMCAzOCAxNi45IDc0IDQ2LjEgOTguM2w1LjQgNC41YzI4LjggMjQgNjUgMzcuMSAxMDIuNCAzNy4xTDMwNCA1MTJjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OC0xMi40IDAtMjMuNiA0LjctMzIuMSAxMi4zLTEuOS0yNC44LTIyLjYtNDQuMy00Ny45LTQ0LjMtMTIuMyAwLTIzLjUgNC42LTMyIDEyLjJMMjcyIDQwYzAtMjIuMS0xNy45LTQwLTQwLTQweiJdfSxCUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9ydGFyLXBlc3RsZSIsaWNvbjpbNTEyLDUxMixbXSwiZjVhNyIsIk01MDQuMyAxMS4xQzQ5My4zLTEuNiA0NzQuNS0zLjcgNDYxIDYuMkwyNTIuMyAxNjAgMzk3LjMgMTYwIDUwMi42IDU0LjZjMTEuOC0xMS44IDEyLjYtMzAuOCAxLjYtNDMuNXpNMzIgMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyYzAgODIuNSA0My40IDE0Ny43IDEyMy45IDE3Ni4yLTExLjEgMTMuOS0xOS40IDMwLjMtMjMuOSA0OC4xLTQuNCAxNy4xIDEwLjQgMzEuNyAyOC4xIDMxLjdsMTkyIDBjMTcuNyAwIDMyLjQtMTQuNiAyOC4xLTMxLjctNC41LTE3LjgtMTIuOC0zNC4xLTIzLjktNDguMSA4MC41LTI4LjYgMTIzLjktOTMuNyAxMjMuOS0xNzYuMiAxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxOTJ6Il19LEhSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkLXNpZGUtY291Z2giLGljb246WzUxMiw1MTIsW10sImUwNjEiLCJNOTYgNTEybDY0IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNmwxIDBjMjYgMCA0Ny0yMSA0Ny00NyAwLTExLTMuOS0yMS42LTEwLjktMzAuMUwyNzMuMyAyMDBDMjcxLjQgMTk3LjYgMjcwLjEgMTk0LjcgMjY5LjcgMTkxLjcgMjU0IDgzLjMgMTYwLjcgMCA0OCAwIDQwLjQgMCAzMi45IC40IDI1LjQgMS4xIDEwLjUgMi42IDAgMTUuOSAwIDMwLjlMMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMHptMTYtMzIwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTYzLjEgMjM3LjJsLTQxLjUtMy41Yy0xMi4yLTEtMjEuNi0xMS4yLTIxLjYtMjMuNCAwLTEwLjggNy4zLTIwLjIgMTcuOC0yMi44bDQwLjQtMTAuMWMxOS4yLTQuOCAzNy44IDkuNyAzNy44IDI5LjUgMCAxNy44LTE1LjIgMzEuOC0zMi45IDMwLjN6TTQ4MCAzMTJhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0tNDAgMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptLTY0IDQ4YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTEyOCAwYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTQ4MCA1MDRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0tNDAtNzJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0scVJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLWxvY2siLGljb246WzY0MCw1MTIsW10sImU1NTgiLCJNMjMyIDI0YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAxMjcuMyA4Mi4xIDc1LjJDNDA5LjcgMjQ4LjEgNDAwIDI3NC45IDQwMCAzMDRsMCAyNC40Yy03LjMgNi42LTEzLjYgMTQuMi0xOC43IDIyLjdsLTM3LjMtMTIuNCAwIDk5LjcgMjQgMTkuMiAwIDM4LjNjMCAxMy41IDIuOCAyNi40IDcuOCAzOC4xTDI4OCA1MTIgMTc5LjkgNTM5Yy0xMC4xIDIuNS0xOS45LTUuMS0xOS45LTE1LjVsMC0xOS44YzAtNC45IDIuMi05LjUgNi0xMi41bDY2LTUyLjggMC05OS43LTE2Mi45IDU0LjNDNTguNyAzOTYuNCA0OCAzODguNyA0OCAzNzcuOGwwLTQzLjdjMC05IDMuOC0xNy41IDEwLjQtMjMuNkwyMzIgMTUxLjMgMjMyIDI0ek01NjAgMzA0LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek00MTYgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxraGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0dGVyeS10aHJlZS1xdWFydGVycyIsaWNvbjpbNjQwLDUxMixbImJhdHRlcnktNCJdLCJmMjQxIiwiTTUyOCAxMjhjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjI0YzAgOC44LTcuMiAxNi0xNiAxNmwtNDE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTIyNGMwLTguOCA3LjItMTYgMTYtMTZsNDE2IDB6TTExMiA2NGMtNDQuMiAwLTgwIDM1LjgtODAgODBsMCAyMjRjMCA0NC4yIDM1LjggODAgODAgODBsNDE2IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC00OGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtNDhjMC00NC4yLTM1LjgtODAtODAtODBMMTEyIDY0em01NiAxMTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDIyNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0bC0yMjQgMHoiXX0sVlJ0PWtoZSxqUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZnJhbmMtc2lnbiIsaWNvbjpbMzIwLDUxMixbXSwiZTE4ZiIsIk04MCAzMkM2Mi4zIDMyIDQ4IDQ2LjMgNDggNjRsMCAyNTYtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNCAwIDAgODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTgwIDg4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg4IDAgMC02NCAxNDQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTQ0IDAgMC05NiAxNzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw4MCAzMnoiXX0sU2hlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbHRlci1jaXJjbGUtZG9sbGFyIixpY29uOls1NzYsNTEyLFsiZnVubmVsLWRvbGxhciJdLCJmNjYyIiwiTTMyIDY0QzE5LjEgNjQgNy40IDcxLjggMi40IDgzLjhTLjIgMTA5LjUgOS40IDExOC42TDE5MiAzMDEuMyAxOTIgNDE2YzAgOC41IDMuNCAxNi42IDkuNCAyMi42bDY0IDY0YzIuNSAyLjUgNS4zIDQuNSA4LjMgNi0yMS4yLTMwLjktMzMuNi02OC4zLTMzLjYtMTA4LjYgMC05OS40IDc1LjUtMTgxLjEgMTcyLjMtMTkxbDkwLjQtOTAuNGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0OTIuOSA2NCA0ODAgNjRMMzIgNjR6TTU3NiA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHpNNDE2IDMyMGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgOCAxNiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC00NS44IDBjLTUuNiAwLTEwLjIgNC42LTEwLjIgMTAuMiAwIDQuOSAzLjUgOS4xIDguMyAxMGw0NSA4LjJjMjAgMy42IDM0LjYgMjEuMSAzNC42IDQxLjUgMCAyMy4zLTE4LjkgNDIuMi00Mi4yIDQyLjJsLTUuOCAwIDAgOGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw1My44IDBjNS42IDAgMTAuMi00LjYgMTAuMi0xMC4yIDAtNC45LTMuNS05LjEtOC4zLTEwbC00NS04LjJjLTIwLTMuNi0zNC42LTIxLjEtMzQuNi00MS41IDAtMjIuNiAxNy43LTQxIDQwLTQyLjFsMC04LjF6Il19LFVSdD1TaGUsV1J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZWVzZSIsaWNvbjpbNTEyLDUxMixbXSwiZjdlZiIsIk01MTIgMjQwLjJsMCAxNS44LTUxMiAwYzAtMjAgMTAtMzguNyAyNi42LTQ5LjhMMjc0LjkgNDAuN2M4LjYtNS43IDE4LjYtOC43IDI4LjktOC43IDExNSAwIDIwOC4yIDkzLjIgMjA4LjIgMjA4LjJ6bTAgNjMuOGwwIDExMmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTEyIDUxMiAweiJdfSx6aGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWgiLGljb246WzUxMiw1MTIsWzk0MDUsImhvc3BpdGFsLXN5bWJvbCJdLCJmNDdlIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem05Ni0zNDRsMCAxNzZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC02NC05NiAwIDAgNjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xNzZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDk2IDAgMC02NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSxHUnQ9emhlLFlSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2hvb2wiLGljb246WzU3Niw1MTIsWzEyNzk3OV0sImY1NDkiLCJNMCAxOTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMCAxMjcuOS0xMTUuMWMxOC4zLTE2LjQgNDYtMTYuNCA2NC4yIDBMNDQ4IDEyOCA1MTIgMTI4YzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxOTJ6TTIyNCAzNzZsMCA4OCAxMjggMCAwLTg4YzAtMjIuMS0xNy45LTQwLTQwLTQwbC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MHptLTExMiA4YzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDB6bTE2LTE0NGwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2ek00OTYgMzg0YzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDB6bTE2LTE0NGwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2ek0yODggMjU2YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4eiJdfSxLUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZS1maXZlIixpY29uOls0NDgsNTEyLFs5ODYwXSwiZjUyMyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem02NCA5NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTk2IDM1MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0yMjQgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptNjQtNjRhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMzIgMTYwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sWlJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvcm5hZG8iLGljb246WzQ0OCw1MTIsWzEyNzc4Nl0sImY3NmYiLCJNMCAzMkwwIDQ1LjZDMCA2Mi43IDEuNyA3OS42IDUgOTZsMzUyLjggMGMzLjItNi45IDcuNS0xMy4zIDEzLTE4LjhsMzguNi0zOC42YzQuMi00LjIgNi42LTEwIDYuNi0xNiAwLTEyLjUtMTAuMS0yMi42LTIyLjYtMjIuNkwzMiAwQzE0LjMgMCAwIDE0LjMgMCAzMnpNMzU1LjcgMTQ0bC0zMzYgMGMxMi40IDI5LjcgMzAuMiA1Ni44IDUyLjcgODBsMzM5LjYgMC00Ny4yLTYyLjljLTMuOS01LjItNy0xMS05LjItMTcuMXpNMjQyLjYgMzM0LjdjOC4yIDQuOCAxNS44IDEwLjcgMjIuNSAxNy4zTDQ0NSAzNTJjMi05LjggMy0xOS45IDMtMzAuMSAwLTE3LjEtMi45LTM0LTguNi00OS45TDEzNiAyNzIgMjQyLjYgMzM0Ljd6TTI5NC4zIDQwMGM1LjMgMTcgNi41IDM1LjIgMy42IDUzbC01LjkgMzUuN2MtMiAxMi4yIDcuNCAyMy40IDE5LjggMjMuNCA1LjMgMCAxMC40LTIuMSAxNC4yLTUuOWw3OC4yLTc4LjJjOC41LTguNSAxNS44LTE3LjggMjEuOS0yNy45bC0xMzEuOCAweiJdfSxDaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiamV0LWZpZ2h0ZXIiLGljb246WzU3Niw1MTIsWyJmaWdodGVyLWpldCJdLCJmMGZiIiwiTTQ5Ni4yIDIwNi44Yy0xMC43LTQuNS0yMi4yLTYuOC0zMy44LTYuOEwzNjIgMjAwIDI0OCA0OCAyOTYgNDhjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMzA5LjMgMCAyOTYgMEwxNTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4IDAgMCAxNTItNTQuNCAwLTUyLjgtNjZjLTMtMy44LTcuNi02LTEyLjUtNkwxNiAxMjhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDg4IDQwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQwIDAgMCA4OGMwIDguOCA3LjIgMTYgMTYgMTZsMjQuMyAwYzQuOSAwIDkuNS0yLjIgMTIuNS02bDUyLjgtNjYgNTQuNCAwIDAgMTUyLTggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMCAxMTQtMTUyIDEwMC40IDBjMTEuNiAwIDIzLjEtMi4zIDMzLjgtNi44bDY1LTI3LjFjOC45LTMuNyAxNC44LTEyLjUgMTQuOC0yMi4ycy01LjgtMTguNC0xNC44LTIyLjJsLTY1LTI3LjF6Il19LFhSdD1DaGUsUVJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRodW1icy1kb3duIixpY29uOls1MTIsNTEyLFsxMjgwNzgsNjE1NzZdLCJmMTY1IiwiTTM4NCAzMmMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDYuMy0xLjMgMTIuMi0zLjQgMTcuNyAyMC40IDUuNSAzNS40IDI0LjEgMzUuNCA0Ni4zIDAgOS4xLTIuNiAxNy42LTcgMjQuOSAyMi4yIDQuMiAzOSAyMy43IDM5IDQ3LjEgMCAxOS43LTExLjkgMzYuNi0yOC45IDQ0IDE3IDcuNCAyOC45IDI0LjMgMjguOSA0NCAwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTYwIDAgMjguMiA3MC40YzIuNSA2LjMgMy44IDEzLjEgMy44IDE5LjlsMCA0LjJjMCAyNy4zLTIyLjEgNDkuNC00OS40IDQ5LjQtMTguNyAwLTM1LjgtMTAuNi00NC4yLTI3LjNMMTcwLjEgMzU2LjNjLTYuNy0xMy4zLTEwLjEtMjgtMTAuMS00Mi45bDAtMTg2LjZjMC0xOS40IDguOS0zNy44IDI0LTUwbDEyLjItOS43QzIyNC42IDQ0LjQgMjU5LjggMzIgMjk2LjEgMzJMMzg0IDMyek04MCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNDggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsNDggMHoiXX0sSlJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyb29tIixpY29uOls1NzYsNTEyLFsxMjk1MjldLCJmNTFhIiwiTTU2Ni42IDU0LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE5MiAxOTItMzQuNy0zNC43Yy00LjItNC4yLTEwLTYuNi0xNi02LjYtMTIuNSAwLTIyLjYgMTAuMS0yMi42IDIyLjZsMCAyOS4xIDEwOC4zIDEwOC4zIDI5LjEgMGMxMi41IDAgMjIuNi0xMC4xIDIyLjYtMjIuNiAwLTYtMi40LTExLjgtNi42LTE2bC0zNC43LTM0LjcgMTkyLTE5MnpNMzQxLjEgMzUzLjRMMjIyLjYgMjM0LjljLTQyLjctMy43LTg1LjIgMTEuNy0xMTUuOCA0Mi4zbC04IDhjLTIyLjMgMjIuMy0zNC44IDUyLjUtMzQuOCA4NCAwIDYuOCA3LjEgMTEuMiAxMy4yIDguMmw1MS4xLTI1LjVjNS0yLjUgOS41IDQuMSA1LjQgNy45TDcuMyA0NzMuNEMyLjcgNDc3LjYgMCA0ODMuNiAwIDQ4OS45IDAgNTAyLjEgOS45IDUxMiAyMi4xIDUxMmwxNzMuMyAwYzM4LjggMCA3NS45LTE1LjQgMTAzLjQtNDIuOCAzMC42LTMwLjYgNDUuOS03My4xIDQyLjMtMTE1Ljh6Il19LF9oZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWltcG9ydCIsaWNvbjpbMzg0LDUxMixbImFycm93LXJpZ2h0LXRvLWZpbGUiXSwiZjU2ZiIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NGwwIDI0MCAxODIuMSAwLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNzIgNzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTcyIDcyYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTE4Mi4xIDAgMCA5NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI3Ny41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI1OC43IDE4LjdDMjQ2LjcgNi43IDIzMC41IDAgMjEzLjUgMEw2NCAwek0zMjUuNSAxNzZMMjMyIDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjA4IDU4LjUgMzI1LjUgMTc2eiJdfSxlT3Q9X2hlLFRoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1dGVuc2lscyIsaWNvbjpbNTEyLDUxMixbMTI3ODYwLDYxNjg1LCJjdXRsZXJ5Il0sImYyZTciLCJNNjMuOSAxNC40QzYzLjEgNi4yIDU2LjIgMCA0OCAwcy0xNS4xIDYuMi0xNiAxNC4zTDE3LjkgMTQ5LjdjLTEuMyA2LTEuOSAxMi4xLTEuOSAxOC4yIDAgNDUuOSAzNS4xIDgzLjYgODAgODcuN0w5NiA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIyNC40YzQ0LjktNC4xIDgwLTQxLjggODAtODcuNyAwLTYuMS0uNi0xMi4yLTEuOS0xOC4yTDIyMy45IDE0LjNDMjIzLjEgNi4yIDIxNi4yIDAgMjA4IDBzLTE1LjEgNi4yLTE1LjkgMTQuNEwxNzguNSAxNDkuOWMtLjYgNS43LTUuNCAxMC4xLTExLjEgMTAuMS01LjggMC0xMC42LTQuNC0xMS4yLTEwLjJMMTQzLjkgMTQuNkMxNDMuMiA2LjMgMTM2LjMgMCAxMjggMHMtMTUuMiA2LjMtMTUuOSAxNC42TDk5LjggMTQ5LjhjLS41IDUuOC01LjQgMTAuMi0xMS4yIDEwLjItNS44IDAtMTAuNi00LjQtMTEuMS0xMC4xTDYzLjkgMTQuNHpNNDQ4IDBDNDMyIDAgMzIwIDMyIDMyMCAxNzZsMCAxMTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNDQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSx0T3Q9VGhlLGFPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpZC1iYWRnZSIsaWNvbjpbMzg0LDUxMixbXSwiZjJjMSIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwem05NiAzNTJsNjQgMGM0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDguOC03LjIgMTYtMTYgMTZMOTYgNDQ4Yy04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODB6bS0yNC05NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTE1MiA2NGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxyT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3BpZGVyIixpY29uOls1MTIsNTEyLFsxMjgzNzVdLCJmNzE3IiwiTTM2OS4zLTMxYzExLjktMy41IDI0LjQgMi43IDI5IDEzLjlsLjggMi4zIDQwIDEzNmMyLjUgOC40IC4xIDE3LjUtNi4xIDIzLjdsLTY0LjEgNjQuMSA3Ni40LTIwLjggMTkuOS01OS44IC45LTIuM2M1LTExLjEgMTcuNy0xNi44IDI5LjUtMTIuOSAxMS44IDMuOSAxOC41IDE2LjEgMTUuOCAyOGwtLjcgMi40LTI0IDcyYy0yLjUgNy42LTguNyAxMy40LTE2LjUgMTUuNmwtOTEuMSAyNC44IDkxLjEgMjQuOGM3LjcgMi4xIDEzLjkgOCAxNi41IDE1LjZsMjQgNzIgLjcgMi40YzIuNyAxMS45LTQuMSAyNC4xLTE1LjggMjgtMTEuOCAzLjktMjQuNS0xLjgtMjkuNS0xMi45bC0uOS0yLjMtMTkuOS01OS44LTc2LjQtMjAuOCA2NC4xIDY0LjFjNi4xIDYuMSA4LjUgMTUuMSA2LjIgMjMuNGwtNDAgMTQ0LS44IDIuM2MtNC40IDExLjMtMTYuOCAxNy43LTI4LjggMTQuNC0xMi0zLjMtMTkuMy0xNS4yLTE3LjItMjcuMmwuNS0yLjQgMzYuMi0xMzAuNS0zNy4yLTM3LjJDMzUxIDQwNiAzMDguNCA0NDggMjU2IDQ0OHMtOTUtNDItOTYtOTQuMWwtMzcgMzcgMzYgMTIyLjMgLjYgMi40YzIuMiAxMS45LTQuOSAyMy45LTE2LjggMjcuNC0xMS45IDMuNS0yNC40LTIuNy0yOS0xMy45bC0uOC0yLjMtNDAtMTM2Yy0yLjUtOC40LS4xLTE3LjUgNi4xLTIzLjhsNjQuMS02NC4xLTc2LjQgMjAuOC0xOS45IDU5LjgtLjkgMi4zYy01IDExLjEtMTcuNyAxNi44LTI5LjUgMTIuOXMtMTguNS0xNi4xLTE1LjgtMjhsLjctMi40IDI0LTcyYzIuNS03LjYgOC43LTEzLjQgMTYuNS0xNS42bDkxLjEtMjQuOC05MS4xLTI0LjhjLTcuNy0yLjEtMTMuOS04LTE2LjUtMTUuNmwtMjQtNzItLjctMi40Yy0yLjctMTEuOSA0LjEtMjQuMSAxNS44LTI4czI0LjUgMS44IDI5LjUgMTIuOWwuOSAyLjMgMTkuOSA1OS44IDc2LjQgMjAuOC02NC4xLTY0LjFjLTYuMi02LjItOC41LTE1LjMtNi4xLTIzLjdsNDAtMTM2IC44LTIuM2M0LjYtMTEuMyAxNy4xLTE3LjQgMjktMTMuOSAxMS45IDMuNSAxOSAxNS41IDE2LjggMjcuNGwtLjYgMi40LTM2IDEyMi4zIDUzIDUzYzEtNDMuMyAzNi40LTc4LjEgNzkuOS03OC4xczc4LjkgMzQuOCA3OS45IDc4LjJsNTMuMS01My4xLTM2LTEyMi4zLS42LTIuNGMtMi4yLTEyIDQuOS0yMy45IDE2LjgtMjcuNHoiXX0sc090PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZS1yZXRybyIsaWNvbjpbMzg0LDUxMixbXSwiZTUyNyIsIk0xNiA2NEMxNiAyOC43IDQ0LjcgMCA4MCAwTDMwNCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDgwIDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMTYgNjR6bTgwIDk2bDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem04IDE5MmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTI0IDcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0IDEwLjcgMjQgMjQgMjQgMjQtMTAuNyAyNC0yNHptNjQtNzJhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yNCA3MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNCAxMC43IDI0IDI0IDI0IDI0LTEwLjcgMjQtMjR6bTY0LTcyYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjQgNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjQgMTAuNyAyNCAyNCAyNCAyNC0xMC43IDI0LTI0ek0xNjggNDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMHoiXX0sTGhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpZ25zLXBvc3QiLGljb246WzUxMiw1MTIsWyJtYXAtc2lnbnMiXSwiZjI3NyIsIk0yNTYuNCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTE2MCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2MCAwIDAgNjQtMTUzLjQgMGMtNC4yIDAtOC4zIDEuNy0xMS4zIDQuN2wtNDggNDhjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42bDQ4IDQ4YzMgMyA3LjEgNC43IDExLjMgNC43bDE1My40IDAgMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTYgMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTYwIDAgMC02NCAxNTMuNCAwYzQuMiAwIDguMy0xLjcgMTEuMy00LjdsNDgtNDhjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTQ4LTQ4Yy0zLTMtNy4xLTQuNy0xMS4zLTQuN2wtMTUzLjQgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxpT3Q9TGhlLG9PdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJncm91cC1hcnJvd3Mtcm90YXRlIixpY29uOls1MTIsNTEyLFtdLCJlNGY2IiwiTTM3LjYgMTIyLjNjLTExLjUgMTguNy0yMC42IDM5LTI3IDYwLjUtNSAxNi45IDQuNiAzNC44IDIxLjUgMzkuOHMzNC44LTQuNiAzOS44LTIxLjVjMTguNC02MS45IDY3LjMtMTEwLjggMTI5LjItMTI5LjIgMTYuOS01IDI2LjYtMjIuOSAyMS41LTM5LjhTMTk5LjggNS42IDE4Mi45IDEwLjZDMTYxLjQgMTcgMTQxLjEgMjYuMSAxMjIuMyAzNy42IDExMi4zIDE1LjQgODkuOSAwIDY0IDAgMjguNyAwIDAgMjguNyAwIDY0IDAgODkuOSAxNS40IDExMi4zIDM3LjYgMTIyLjN6bTQzNi43IDBjMjIuMi0xMCAzNy42LTMyLjQgMzcuNi01OC4zIDAtMzUuMy0yOC43LTY0LTY0LTY0LTI1LjkgMC00OC4zIDE1LjQtNTguMyAzNy42LTE4LjctMTEuNS0zOS0yMC42LTYwLjUtMjctMTYuOS01LTM0LjggNC42LTM5LjggMjEuNXM0LjYgMzQuOCAyMS41IDM5LjhjNjEuOSAxOC40IDExMC44IDY3LjMgMTI5LjIgMTI5LjIgNSAxNi45IDIyLjkgMjYuNiAzOS44IDIxLjVzMjYuNi0yMi45IDIxLjUtMzkuOGMtNi40LTIxLjUtMTUuNS00MS44LTI3LTYwLjV6TTUxMiA0NDhjMC0yNS45LTE1LjQtNDguMy0zNy42LTU4LjMgMTEuNS0xOC43IDIwLjYtMzkgMjctNjAuNSA1LTE2LjktNC42LTM0LjgtMjEuNS0zOS44cy0zNC44IDQuNi0zOS44IDIxLjVjLTE4LjQgNjEuOS02Ny4zIDExMC44LTEyOS4yIDEyOS4yLTE2LjkgNS0yNi42IDIyLjktMjEuNSAzOS44czIyLjkgMjYuNiAzOS44IDIxLjVjMjEuNS02LjQgNDEuOC0xNS41IDYwLjUtMjcgMTAgMjIuMiAzMi40IDM3LjYgNTguMyAzNy42IDM1LjMgMCA2NC0yOC43IDY0LTY0ek0zNy42IDM4OS43Yy0yMi4yIDEwLTM3LjYgMzIuNC0zNy42IDU4LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjQgMjUuOSAwIDQ4LjMtMTUuNCA1OC4zLTM3LjYgMTguNyAxMS41IDM5IDIwLjYgNjAuNSAyNyAxNi45IDUgMzQuOC00LjYgMzkuOC0yMS41cy00LjYtMzQuOC0yMS41LTM5LjhjLTYxLjktMTguNC0xMTAuOC02Ny4zLTEyOS4yLTEyOS4yLTUtMTYuOS0yMi45LTI2LjYtMzkuOC0yMS41UzUuNiAzMTIuMiAxMC42IDMyOS4xYzYuNCAyMS41IDE1LjUgNDEuOCAyNyA2MC41ek0yNTYgMTkyYzE1LjYgMCAzMCA1LjYgNDEuMSAxNC45bC0xNS4zIDE1LjNjLTYuNiA2LjYtMS45IDE3LjggNy40IDE3LjhsNjAuNSAwYzUuNyAwIDEwLjQtNC43IDEwLjQtMTAuNGwwLTYwLjVjMC05LjMtMTEuMi0xMy45LTE3LjgtNy40bC0xMS4yIDExLjJjLTE5LjgtMTcuOS00Ni4yLTI4LjktNzUuMS0yOC45LTQzLjYgMC04MS4zIDI0LjktOTkuOCA2MS4xLTYgMTEuOC0xLjQgMjYuMyAxMC40IDMyLjNzMjYuMyAxLjQgMzIuMy0xMC40YzEwLjYtMjAuOCAzMi4yLTM0LjkgNTctMzQuOXptNTguNiA5My4xYy0xMC42IDIwLjgtMzIuMiAzNC45LTU3IDM0LjktMTUuNyAwLTMwLTUuNi00MS4xLTE0LjlsMTUuMy0xNS4zYzYuNi02LjYgMS45LTE3LjgtNy40LTE3LjhMMTY0IDI3MmMtNS43IDAtMTAuNCA0LjctMTAuNCAxMC40bDAgNjAuNWMwIDkuMyAxMS4yIDEzLjkgMTcuOCA3LjRsMTEuMi0xMS4yYzE5LjggMTcuOSA0Ni4yIDI4LjkgNzUuMSAyOC45IDQzLjYgMCA4MS4zLTI0LjkgOTkuOC02MS4xIDYtMTEuOCAxLjQtMjYuMy0xMC40LTMyLjNzLTI2LjMtMS40LTMyLjMgMTAuNHoiXX0sbk90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy1zcGxpdC11cC1hbmQtbGVmdCIsaWNvbjpbNTEyLDUxMixbXSwiZTRiYyIsIk0zNDIuNi0yMi42Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNDEuNC00MS40IDAgMTk1LjljLTE4LjgtMTAuOS00MC43LTE3LjEtNjQtMTcuMWwtMTE0LjcgMCA0MS40LTQxLjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDEwOS4zIDMyMCAyMjQgMzIwYzM1LjMgMCA2NCAyOC43IDY0IDY0IDAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4bDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzA2LjcgNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2eiJdfSxsT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsbC1kcmlwIixpY29uOls1NzYsNTEyLFtdLCJmNTc2IiwiTTMwOS43IDcxLjZsLTY0LjQgNjQuNCAzMy40IDMzLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTMzLjQtMzMuNC05Ni40IDk2LjRjLTIuOSAyLjktNS4xIDYuNS02LjMgMTAuM2wzMjEuNSAwIDUzLjctNTMuN2M0LjktNC45IDcuNi0xMS41IDcuNi0xOC4zcy0yLjctMTMuNS03LjYtMTguM0wzNDYuMyA3MS42QzM0MS41IDY2LjcgMzM0LjkgNjQgMzI4IDY0cy0xMy41IDIuNy0xOC4zIDcuNnpNNTguMyAyMzIuNGw5Ni40LTk2LjQtNDkuNC00OS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDIwMCA5MC43IDI2NC40IDI2LjNDMjgxLjMgOS41IDMwNC4xIDAgMzI4IDBzNDYuNyA5LjUgNjMuNiAyNi4zTDUxNy43IDE1Mi40QzUzNC41IDE2OS4zIDU0NCAxOTIuMSA1NDQgMjE2cy05LjUgNDYuNy0yNi4zIDYzLjZMMzExLjYgNDg1LjdDMjk0LjcgNTAyLjUgMjcxLjkgNTEyIDI0OCA1MTJzLTQ2LjctOS41LTYzLjYtMjYuM0w1OC4zIDM1OS42QzQxLjUgMzQyLjcgMzIgMzE5LjkgMzIgMjk2czkuNS00Ni43IDI2LjMtNjMuNnpNNTEyIDU0NGMtMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yNS4yIDMyLjYtNzkuNiA1MS4yLTEwOC43IDYtOS40IDE5LjUtOS40IDI1LjUgMCAxOC43IDI5LjEgNTEuMiA4My41IDUxLjIgMTA4LjcgMCAzNS4zLTI4LjcgNjQtNjQgNjR6Il19LGNPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGllbGQtaGVhcnQiLGljb246WzUxMiw1MTIsW10sImU1NzQiLCJNMjY5LjQgMi45QzI2NS4yIDEgMjYwLjcgMCAyNTYgMHMtOS4yIDEtMTMuNCAyLjlMNTQuMyA4Mi44Yy0yMiA5LjMtMzguNCAzMS0zOC4zIDU3LjIgLjUgOTkuMiA0MS4zIDI4MC43IDIxMy42IDM2My4yIDE2LjcgOCAzNi4xIDggNTIuOCAwIDE3Mi40LTgyLjUgMjEzLjItMjY0IDIxMy42LTM2My4yIC4xLTI2LjItMTYuMy00Ny45LTM4LjMtNTcuMkwyNjkuNCAyLjl6TTI0OS42IDE4My41bDYuNCA4LjUgNi40LTguNWMxMS4xLTE0LjggMjguNS0yMy41IDQ2LjktMjMuNSAzMi40IDAgNTguNyAyNi4zIDU4LjcgNTguN2wwIDUuM2MwIDQ5LjEtNjUuOCA5OC4xLTk2LjUgMTE4LjMtOS41IDYuMi0yMS41IDYuMi0zMC45IDAtMzAuNy0yMC4yLTk2LjUtNjkuMy05Ni41LTExOC4zbDAtNS4zYzAtMzIuNCAyNi4zLTU4LjcgNTguNy01OC43IDE4LjUgMCAzNS45IDguNyA0Ni45IDIzLjV6Il19LCRoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tc2tpaW5nLW5vcmRpYyIsaWNvbjpbNTc2LDUxMixbInNraWluZy1ub3JkaWMiXSwiZjdjYSIsIk00MjQuOCAxNmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnptOTkuOCAxOTMuN2M3LjYgMTUuMiAxLjkgMzMuNi0xMi42IDQybDAgMTgwLjMtMzIgMCAwLTE2NC4yLTEwLjEgNWMtMjcuNCAxMy43LTYwLjcgNi4xLTc5LjQtMTguMmwtMTkuNi0yNS41LTM5LjUgNjguOCAyNC44IDEyLjRjMjkuNSAxNC43IDQyLjkgNDkuNSAzMS4xIDgwLjJsLTI4LjIgNzMuNCAxNDkuNCAwYzcuOSAwIDE1LjYtMi4zIDIyLjItNi43bDcuOS01LjNjMTEtNy40IDI1LjktNC40IDMzLjMgNi43czQuNCAyNS45LTYuNyAzMy4zbC03LjkgNS4zQzU0MyA1MDYuOSA1MjYgNTEyIDUwOC42IDUxMmwtMTg5LjEgMGMtLjUgMC0xIDAtMS41IDBMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDg4IDBjMC04LjIgMy4xLTE2LjQgOS40LTIyLjZsNzQuMS03NC4xIDEwLjItMzUuOWMxMS4zIDE4LjMgMjcuNyAzMy44IDQ4LjQgNDQuMmw0LjggMi40LTEuOSA2LjhjLTMgMTAuNS04LjYgMjAtMTYuMyAyNy43bC01MS41IDUxLjUgMTAxLjMgMCAzNy4xLTk2LjQtNTUuNi0yNy44QzIzMC40IDMxOSAyMTUuMyAyNjcgMjM5LjMgMjI3LjFsMzcuNy02Mi43LTI3LjctNy43Yy05LTIuNS0xOC4xIDMuMi0yMCAxMi4zbC01LjkgMjkuM2MtMy4xIDE1LjYtMTcuMSAyNi4zLTMyLjUgMjUuN2wtMTMwIDIwOC0zNy43IDAgMTQwLjYtMjI1Yy0zLjQtNi4zLTQuNi0xMy44LTMuMS0yMS4zbDUuOS0yOS4zYzkuMS00NS42IDU1LjEtNzMuOCA5OS45LTYxLjRsMzIuNSA5YzQ2LjcgMTMgODggNDAuOCAxMTcuNiA3OS4zbDI0LjkgMzIuMyA0MC40LTIwLjJjMTUuOC03LjkgMzUtMS41IDQyLjkgMTQuM3oiXX0sZE90PSRoZSxEaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWNoZWNrIixpY29uOls0NDgsNTEyLFs5NzQ1LDk5ODksNjE1MTAsImNoZWNrLXNxdWFyZSJdLCJmMTRhIiwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDB6TTM0MiAxNDUuN2MtMTAuNy03LjgtMjUuNy01LjQtMzMuNSA1LjNMMTg5LjEgMzE1LjIgMTM3IDI2My4xYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyYzUgNSAxMS45IDcuNSAxOC44IDdzMTMuNC00LjEgMTcuNS05LjhMMzQ3LjMgMTc5LjJjNy44LTEwLjcgNS40LTI1LjctNS4zLTMzLjV6Il19LHVPdD1EaGUsQWhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhdGgiLGljb246WzUxMiw1MTIsWzEyODcwNSwiYmF0aHR1YiJdLCJmMmNkIiwiTTk2IDc3LjNjMC03LjMgNS45LTEzLjMgMTMuMy0xMy4zIDMuNSAwIDYuOSAxLjQgOS40IDMuOWwxNC45IDE0LjljLTMuNiA5LjEtNS41IDE4LjktNS41IDI5LjIgMCAxOS45IDcuMiAzOCAxOS4yIDUyLTUuMyA5LjItNCAyMS4xIDMuOCAyOSA5LjQgOS40IDI0LjYgOS40IDMzLjkgMEwyODkgODljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjktNy44LTcuOS0xOS44LTkuMS0yOS0zLjgtMTQtMTItMzIuMS0xOS4yLTUyLTE5LjItMTAuMyAwLTIwLjIgMi0yOS4yIDUuNUwxNjMuOSAyMi42QzE0OS40IDguMSAxMjkuNyAwIDEwOS4zIDAgNjYuNiAwIDMyIDM0LjYgMzIgNzcuM0wzMiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCA0OGMwIDI4LjQgMTIuNCA1NCAzMiA3MS42TDY0IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYgMjU2IDAgMCAxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNDAuNGMxOS42LTE3LjYgMzItNDMuMSAzMi03MS42bDAtNDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMOTYgMjU2IDk2IDc3LjN6Il19LHBPdD1BaGUsZk90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXNzLWJpc2hvcCIsaWNvbjpbMzIwLDUxMixbOTgyMV0sImY0M2EiLCJNNjQgMzg0TDQ4LjMgMzY4LjNDMTcuNCAzMzcuNCAwIDI5NS40IDAgMjUxLjcgMCAyMTMuMSAxMy41IDE3NS44IDM4LjIgMTQ2LjFMMTA2LjcgNjQgOTYgNjRDNzguMyA2NCA2NCA0OS43IDY0IDMyUzc4LjMgMCA5NiAwTDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMC43IDAgNDcuNiA1Ny4xLTg1LjkgODUuOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDgyLjMtODIuM2MxOC43IDI3LjMgMjguNyA1OS43IDI4LjcgOTMgMCA0My43LTE3LjQgODUuNy00OC4zIDExNi42TDI1NiAzODQgMzEyLjIgNDU0LjNjNSA2LjMgNy44IDE0LjEgNy44IDIyLjIgMCAxOS42LTE1LjkgMzUuNS0zNS41IDM1LjVMMzUuNSA1MTJjLTE5LjYgMC0zNS41LTE1LjktMzUuNS0zNS41IDAtOC4xIDIuNy0xNS45IDcuOC0yMi4yTDY0IDM4NHoiXX0sUGhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InByZXNjcmlwdGlvbi1ib3R0bGUtbWVkaWNhbCIsaWNvbjpbMzg0LDUxMixbInByZXNjcmlwdGlvbi1ib3R0bGUtYWx0Il0sImY0ODYiLCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0TDAgMzJ6TTMyIDE0NGwzMjAgMCAwIDMwNGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzA0ek0xNjAgMjQ4bDAgNDAtNDAgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDQwIDAgMCA0MGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC00MCA0MCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtNDAgMCAwLTQwYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2eiJdfSxoT3Q9UGhlLEVoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcmF3LXBvbHlnb24iLGljb246WzUxMiw1MTIsWzU4MDU1LCJ2ZWN0b3ItcG9seWdvbiJdLCJmNWVlIiwiTTY0IDBjMjMuNyAwIDQ0LjQgMTIuOSA1NS40IDMybDI3My4xIDBjMTEuMS0xOS4xIDMxLjctMzIgNTUuNC0zMiAzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDM0LTI2LjUgNjEuOC02MCA2My45bC0yLjEgMi45LTcxLjUgOTkuMWMzLjYgOCA1LjYgMTYuOSA1LjYgMjYuMnMtMiAxOC4yLTUuNiAyNi4ybDIuMiAzLjEgNjkuMyA5NiAyLjEgMi45YzMzLjUgMi4xIDYwIDI5LjkgNjAgNjMuOSAwIDM1LjMtMjguNyA2NC02NCA2NC0yMy43IDAtNDQuNC0xMi45LTU1LjQtMzJsLTI3My4xIDBjLTExLjEgMTkuMS0zMS43IDMyLTU1LjQgMzItMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yMy43IDEyLjktNDQuNCAzMi01NS40bDAtMjczLjFDMTIuOSAxMDguNCAwIDg3LjcgMCA2NCAwIDI4LjcgMjguNyAwIDY0IDB6TTM5NC4yIDQxMy40bC02NS41LTkwLjYtMi4yLTMuMWMtMi4xIC4yLTQuMyAuMy02LjUgLjMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGMyLjIgMCA0LjQgLjEgNi41IC4zbDY3LjctOTMuN2MtLjYtLjktMS4xLTEuNy0xLjYtMi42TDExOS40IDk2Yy01LjYgOS43LTEzLjcgMTcuOC0yMy40IDIzLjRsMCAyNzMuMWM5LjcgNS42IDE3LjggMTMuNyAyMy40IDIzLjRsMjczLjEgMGMuNS0uOSAxLjEtMS44IDEuNi0yLjZ6Il19LG1PdD1FaGUsZ090PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImktY3Vyc29yIixpY29uOlsyNTYsNTEyLFtdLCJmMjQ2IiwiTS4xIDI5LjNDLTEuNCA0NyAxMS43IDYyLjQgMjkuMyA2My45bDggLjdDNzAuNSA2Ny4zIDk2IDk1IDk2IDEyOC4zbDAgOTUuNy0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCA5NS43YzAgMzMuMy0yNS41IDYxLTU4LjcgNjMuOGwtOCAuN0MxMS43IDQ0OS42LTEuNCA0NjUgLjEgNDgyLjdTMTcgNTEzLjQgMzQuNyA1MTEuOWw4LS43YzM0LjEtMi44IDY0LjItMTguOSA4NS40LTQyLjkgMjEuMiAyNCA1MS4yIDQwIDg1LjQgNDIuOWw4IC43YzE3LjYgMS41IDMzLjEtMTEuNiAzNC41LTI5LjJzLTExLjYtMzMuMS0yOS4yLTM0LjVsLTgtLjdDMTg1LjUgNDQ0LjcgMTYwIDQxNyAxNjAgMzgzLjdsMC05NS43IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC05NS43YzAtMzMuMyAyNS41LTYxIDU4LjctNjMuOGw4LS43YzE3LjYtMS41IDMwLjctMTYuOSAyOS4yLTM0LjVTMjM5LTEuNCAyMjEuMyAuMWwtOCAuN2MtMzQuMSAyLjgtNjQuMiAxOC45LTg1LjQgNDIuOS0yMS4yLTI0LTUxLjItNDAtODUuNC00Mi45bC04LS43QzE3LTEuNCAxLjYgMTEuNyAuMSAyOS4zeiJdfSxiT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY2lyY2xlLXBsdXMiLGljb246WzU3Niw1MTIsW10sImU1MDAiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNNDMyIDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTE2IDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNDgtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTQ4IDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTQ4IDAgMC00OHoiXX0sdk90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaWVsZC1kb2ciLGljb246WzUxMiw1MTIsW10sImU1NzMiLCJNMjY5LjQgMi45QzI2NS4yIDEgMjYwLjcgMCAyNTYgMHMtOS4yIDEtMTMuNCAyLjlMNTQuMyA4Mi44Yy0yMiA5LjMtMzguNCAzMS0zOC4zIDU3LjIgLjUgOTkuMiA0MS4zIDI4MC43IDIxMy42IDM2My4yIDE2LjcgOCAzNi4xIDggNTIuOCAwIDE3Mi40LTgyLjUgMjEzLjItMjY0IDIxMy42LTM2My4yIC4xLTI2LjItMTYuMy00Ny45LTM4LjMtNTcuMkwyNjkuNCAyLjl6TTE2MC45IDI4Ni4yYzQuOCAxLjIgOS45IDEuOCAxNS4xIDEuOCAzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0IDQ0LjIgMGMxMi4xIDAgMjMuMiA2LjggMjguNiAxNy43bDcuMiAxNC4zIDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA0NC4yLTM1LjggODAtODAgODBsLTQ4IDAgMCA1MC43YzAgNy4zLTUuOSAxMy4zLTEzLjMgMTMuMy0xLjggMC0zLjYtLjQtNS4yLTEuMWwtOTguNy00Mi4zYy02LjYtMi44LTEwLjgtOS4zLTEwLjgtMTYuNCAwLTIuOCAuNi01LjUgMS45LThsMTUtMzB6TTE2MCAxNjBsNDggMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDhjMC04LjggNy4yLTE2IDE2LTE2em0xMjggNDhhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHoiXX0seE90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdyZWF0ZXItdGhhbi1lcXVhbCIsaWNvbjpbNDQ4LDUxMixbXSwiZjUzMiIsIk0yMS45IDk0LjRDNS4xIDg4LjgtMy45IDcwLjYgMS43IDUzLjlTMjUuNCAyOC4xIDQyLjEgMzMuNmwzODQgMTI4QzQzOS4yIDE2NiA0NDggMTc4LjIgNDQ4IDE5MnMtOC44IDI2LTIxLjkgMzAuNGwtMzg0IDEyOGMtMTYuOCA1LjYtMzQuOS0zLjUtNDAuNS0yMC4yczMuNS0zNC45IDIwLjItNDAuNUwzMTQuOCAxOTIgMjEuOSA5NC40ek00MTYgNDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzODQgMHoiXX0seU90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVudmVsb3BlLW9wZW4iLGljb246WzUxMiw1MTIsWzYyMTM1XSwiZjJiNiIsIk02NC40IDE3NS44TDI1NiAzMy45IDQ0Ny42IDE3NS44IDI4OS41IDI5M2MtOS43IDcuMi0yMS40IDExLTMzLjUgMTFzLTIzLjgtMy45LTMzLjUtMTFMNjQuNCAxNzUuOHpNMjU2LTMyYy0xMi4xIDAtMjMuOCAzLjktMzMuNSAxMUwyNS45IDEyNC43QzkuNiAxMzYuOCAwIDE1NS44IDAgMTc2LjFMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMzkuOWMwLTIwLjMtOS42LTM5LjQtMjUuOS01MS40TDI4OS41LTIxYy05LjctNy4yLTIxLjQtMTEtMzMuNS0xMXoiXX0sd090PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vdW5kIixpY29uOls1MTIsNTEyLFtdLCJlNTJkIiwiTTExMi40IDE3OS4yQzE0MiAxMjcuNyAxOTYuOCA5NiAyNTYuMiA5NnMxMTQuMiAzMS43IDE0My45IDgzLjJMNTA4LjcgMzY4YzEyLjMgMjEuMy0zLjEgNDgtMjcuNyA0OEwzMS41IDQxNmMtMjQuNiAwLTQwLTI2LjYtMjcuNy00OEwxMTIuNCAxNzkuMnoiXX0sTU90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvaWNlbWFpbCIsaWNvbjpbNjQwLDUxMixbXSwiZjg5NyIsIk0xNDQgMTYwYTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwek0yNjMuOCAzMjBjMTUuMy0yMi45IDI0LjItNTAuNCAyNC4yLTgwIDAtNzkuNS02NC41LTE0NC0xNDQtMTQ0UzAgMTYwLjUgMCAyNDAgNjQuNSAzODQgMTQ0IDM4NGwzNTIgMGM3OS41IDAgMTQ0LTY0LjUgMTQ0LTE0NFM1NzUuNSA5NiA0OTYgOTYgMzUyIDE2MC41IDM1MiAyNDBjMCAyOS42IDguOSA1Ny4xIDI0LjIgODBsLTExMi41IDB6TTQ5NiAxNjBhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6Il19LGtPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2ZXN0IixpY29uOls0NDgsNTEyLFtdLCJlMDg1IiwiTTIwMCA0NjRsMC0xNzAuMWMwLTMuOS0uNS03LjgtMS40LTExLjZMMTQ0LjQgNjUuNEMxNjIuMSA3Ny4yIDE4OC4yIDg4IDIyNCA4OHM2MS45LTEwLjggNzkuNi0yMi42TDI0OS40IDI4Mi4zYy0xIDMuOC0xLjQgNy43LTEuNCAxMS42TDI0OCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMTA0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xOTMuNWMwLTkuNS0yLjgtMTguNy04LjEtMjYuNmwtNDcuOS03MS44Yy01LjMtNy45LTguMS0xNy4xLTguMS0yNi42TDM4NCA0OGMwLTI2LjUtMjEuNS00OC00OC00OGwtMy41IDBjLS4zIDAtLjYgMC0xIDAtLjYgMC0xLjIgMC0xLjggMC0xOC44IDAtMzQuMSA5LjctNDQuMSAxOC44LTkuMyA4LjQtMjguNSAyMS4yLTYxLjcgMjEuMnMtNTIuNC0xMi44LTYxLjctMjEuMmMtMTAtOS4xLTI1LjMtMTguOC00NC4xLTE4LjgtLjYgMC0xLjIgMC0xLjggMC0uMyAwLS42IDAtMSAwTDExMiAwQzg1LjUgMCA2NCAyMS41IDY0IDQ4bDAgOTcuNWMwIDkuNS0yLjggMTguNy04LjEgMjYuNkw4LjEgMjQzLjlDMi44IDI1MS44IDAgMjYxLjEgMCAyNzAuNUwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMDQgMGMyNi41IDAgNDgtMjEuNSA0OC00OHoiXX0sU090PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImF1ZGlvLWRlc2NyaXB0aW9uIixpY29uOls1MTIsNTEyLFtdLCJmMjllIiwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTk2IDk2bDAgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yNCA0OCAwIDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwNGMwLTM1LjMtMjguNy02NC02NC02NGwtMTYgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjR6bTQ4IDMybDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzItNDggMHptMTUyLTk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE0NGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzM5LjggMCA3Mi0zMi4yIDcyLTcybDAtNDhjMC0zOS44LTMyLjItNzItNzItNzJsLTQ4IDB6bTQ4IDE0NGwtMjQgMCAwLTk2IDI0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHoiXX0sek90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InciLGljb246WzU3Niw1MTIsWzExOV0sIjU3IiwiTTIwLjggMzRjMTYuNS02LjIgMzUgMi4yIDQxLjIgMTguN0wxNzIuMiAzNDYuNyAyNTcuMyA1NWM0LTEzLjcgMTYuNS0yMyAzMC43LTIzczI2LjcgOS40IDMwLjcgMjNMNDAzLjggMzQ2LjcgNTE0IDUyLjhjNi4yLTE2LjUgMjQuNi0yNC45IDQxLjItMTguN1M1ODAuMiA1OC43IDU3NCA3NS4ybC0xNDQgMzg0Yy00LjggMTIuOS0xNy40IDIxLjMtMzEuMiAyMC43cy0yNS43LTkuOC0yOS41LTIzTDI4OCAxNzguMyAyMDYuNyA0NTdjLTMuOSAxMy4yLTE1LjggMjIuNS0yOS41IDIzcy0yNi4zLTcuOC0zMS4yLTIwLjdMMiA3NS4yQy00LjIgNTguNyA0LjIgNDAuMiAyMC44IDM0eiJdfSxPZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXllLWRyb3BwZXIiLGljb246WzUxMiw1MTIsWyJleWUtZHJvcHBlci1lbXB0eSIsImV5ZWRyb3BwZXIiXSwiZjFmYiIsIk0zNDEuNiAyOS4ybC0xMDEuNiAxMDEuNi05LjQtOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTkuNC05LjQgMTAxLjYtMTAxLjZjMzktMzkgMzktMTAyLjIgMC0xNDEuMXMtMTAyLjItMzktMTQxLjEgMHpNNTUuNCAzMjMuM2MtMTUgMTUtMjMuNCAzNS40LTIzLjQgNTYuNmwwIDQyLjQtMjYuNiAzOS45Yy04LjUgMTIuNy02LjggMjkuNiA0IDQwLjRzMjcuNyAxMi41IDQwLjQgNGwzOS45LTI2LjYgNDIuNCAwYzIxLjIgMCA0MS42LTguNCA1Ni42LTIzLjRsMTA5LjQtMTA5LjQtNDUuMy00NS4zLTEwOS40IDEwOS40Yy0zIDMtNy4xIDQuNy0xMS4zIDQuN2wtMzYuMSAwIDAtMzYuMWMwLTQuMiAxLjctOC4zIDQuNy0xMS4zbDEwOS40LTEwOS40LTQ1LjMtNDUuMy0xMDkuNCAxMDkuNHoiXX0sQ090PU9lZSxfT3Q9T2VlLFo4PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS14bWFyayIsaWNvbjpbNTEyLDUxMixbNjE1MzIsInRpbWVzLWNpcmNsZSIsInhtYXJrLWNpcmNsZSJdLCJmMDU3IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjcgMTY3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDU1IDU1IDU1LTU1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNTUgNTUgNTUgNTVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNTUtNTUtNTUgNTVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTUtNTUtNTUtNTVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxUT3Q9WjgsTE90PVo4LCRPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFpbGVyIixpY29uOls2NDAsNTEyLFtdLCJlMDQxIiwiTTMyIDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI5Ni40IDBjLjIgMi42IC40IDUuMyAuNCA4IDAgNDguNi0zOS40IDg4LTg4IDg4cy04OC0zOS40LTg4LTg4YzAtMi43IC4xLTUuNCAuNC04TDk2IDQxNmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMzIgOTZ6bTQwOCAxNmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxNjBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE2MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMTEyIDEzNmwwIDE2MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em0xNzYtMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTYwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNjBjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTI2NCA0MjRhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHoiXX0sRmVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InR1cmtpc2gtbGlyYS1zaWduIixpY29uOls0NDgsNTEyLFsidHJ5IiwidHVya2lzaC1saXJhIl0sImUyYmIiLCJNMTYwIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDMuNiAxMjEuNC0zNC43YzEyLjctMy42IDI2IDMuNyAyOS43IDE2LjVzLTMuNyAyNi0xNi41IDI5LjdsLTEzNC42IDM4LjUgMCA0Ni4xIDEyMS40LTM0LjdjMTIuNy0zLjYgMjYgMy43IDI5LjcgMTYuNXMtMy43IDI2LTE2LjUgMjkuN2wtMTM0LjYgMzguNSAwIDE2Mi41IDcyIDBjNTMgMCA5Ni00MyA5Ni05NiAwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyYzAgODguNC03MS42IDE2MC0xNjAgMTYwbC0xMDQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNzYuMi0yNS40IDcuM2MtMTIuNyAzLjYtMjYtMy43LTI5LjctMTYuNXMzLjctMjYgMTYuNS0yOS43bDM4LjYtMTEgMC00Ni4xLTI1LjQgNy4zYy0xMi43IDMuNi0yNi0zLjctMjkuNy0xNi41czMuNy0yNiAxNi41LTI5LjdsMzguNi0xMSAwLTYxLjljMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LERPdD1GZWUsQU90PUZlZSxQT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidm9sY2FubyIsaWNvbjpbNTEyLDUxMixbMTI3NzU1XSwiZjc3MCIsIk0xNjAgMTQ0Yy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzE1LjcgMCAzMCA1LjYgNDEuMiAxNSAxMS4yLTE4LjYgMzEuNi0zMSA1NC44LTMxczQzLjYgMTIuNCA1NC44IDMxYzExLjEtOS40IDI1LjUtMTUgNDEuMi0xNSAzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGMtMTQuNyAwLTI4LjMtNS0zOS4xLTEzLjNsLTMyIDQ4QzI3NS4zIDE4NyAyNjYgMTkyIDI1NiAxOTJzLTE5LjMtNS0yNC45LTEzLjNsLTMyLTQ4QzE4OC4zIDEzOSAxNzQuNyAxNDQgMTYwIDE0NHpNMTQ0IDM1Mmw0OC40LTI0LjJjMTAuMi01LjEgMjEuNi03LjggMzMtNy44IDE5LjYgMCAzOC40IDcuOCA1Mi4yIDIxLjZsMzIuNSAzMi41YzYuMyA2LjMgMTQuOSA5LjkgMjMuOCA5LjkgMTEuMyAwIDIxLjgtNS42IDI4LTE1bDkuNy0xNC42LTU5LTY2LjNjLTkuMS0xMC4yLTIyLjItMTYuMS0zNS45LTE2LjFsLTQxLjggMGMtMTMuNyAwLTI2LjggNS45LTM1LjkgMTYuMWwtNTkuOSA2Ny40IDQuNy0zLjV6bTE5LjQtOTUuOGMxOC4yLTIwLjUgNDQuMy0zMi4yIDcxLjgtMzIuMmw0MS44IDBjMjcuNCAwIDUzLjUgMTEuNyA3MS44IDMyLjJsMTUwLjIgMTY5YzguNSA5LjUgMTMuMiAyMS45IDEzLjIgMzQuNyAwIDI4LjgtMjMuNCA1Mi4yLTUyLjIgNTIuMkw1Mi4yIDUxMkMyMy40IDUxMiAwIDQ4OC42IDAgNDU5LjggMCA0NDcuMSA0LjcgNDM0LjcgMTMuMiA0MjUuMmwxNTAuMi0xNjl6Il19LEVPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YW5kLXNwYXJrbGVzIixpY29uOls1MTIsNTEyLFtdLCJmNzJiIiwiTTQ2NCA2LjFjOS41LTguNSAyNC04LjEgMzMgLjlsOCA4YzkgOSA5LjQgMjMuNSAuOSAzM2wtODUuOCA5NS45Yy0yLjYgMi45LTQuMSA2LjctNC4xIDEwLjdsMCAyMS40YzAgOC44LTcuMiAxNi0xNiAxNmwtMTUuOCAwYy00LjYgMC04LjkgMS45LTExLjkgNS4zTDEwMC43IDUwMC45Yy02LjMgNy4xLTE1LjMgMTEuMS0yNC44IDExLjEtOC44IDAtMTcuMy0zLjUtMjMuNS05LjhMOS43IDQ1OS43Yy02LjItNi4yLTkuNy0xNC43LTkuNy0yMy41IDAtOS41IDQtMTguNSAxMS4xLTI0LjhsMTExLjYtOTkuOGMzLjQtMyA1LjMtNy40IDUuMy0xMS45bDAtMjcuNmMwLTguOCA3LjItMTYgMTYtMTZsMzQuNiAwYzMuOSAwIDcuNy0xLjUgMTAuNy00LjFMNDY0IDYuMXpNNDMyIDI4OGMzLjYgMCA2LjcgMi40IDcuNyA1LjhsMTQuOCA1MS43IDUxLjcgMTQuOGMzLjQgMSA1LjggNC4xIDUuOCA3LjdzLTIuNCA2LjctNS44IDcuN2wtNTEuNyAxNC44LTE0LjggNTEuN2MtMSAzLjQtNC4xIDUuOC03LjcgNS44cy02LjctMi40LTcuNy01LjhsLTE0LjgtNTEuNy01MS43LTE0LjhjLTMuNC0xLTUuOC00LjEtNS44LTcuN3MyLjQtNi43IDUuOC03LjdsNTEuNy0xNC44IDE0LjgtNTEuN2MxLTMuNCA0LjEtNS44IDcuNy01Ljh6TTg3LjcgNjkuOGwxNC44IDUxLjcgNTEuNyAxNC44YzMuNCAxIDUuOCA0LjEgNS44IDcuN3MtMi40IDYuNy01LjggNy43bC01MS43IDE0LjgtMTQuOCA1MS43Yy0xIDMuNC00LjEgNS44LTcuNyA1LjhzLTYuNy0yLjQtNy43LTUuOEw1Ny41IDE2Ni41IDUuOCAxNTEuN2MtMy40LTEtNS44LTQuMS01LjgtNy43czIuNC02LjcgNS44LTcuN2w1MS43LTE0LjggMTQuOC01MS43YzEtMy40IDQuMS01LjggNy43LTUuOHM2LjcgMi40IDcuNyA1Ljh6TTIwOCAwYzMuNyAwIDYuOSAyLjUgNy44IDYuMWw2LjggMjcuMyAyNy4zIDYuOGMzLjYgLjkgNi4xIDQuMSA2LjEgNy44cy0yLjUgNi45LTYuMSA3LjhsLTI3LjMgNi44LTYuOCAyNy4zYy0uOSAzLjYtNC4xIDYuMS03LjggNi4xcy02LjktMi41LTcuOC02LjFsLTYuOC0yNy4zLTI3LjMtNi44Yy0zLjYtLjktNi4xLTQuMS02LjEtNy44czIuNS02LjkgNi4xLTcuOGwyNy4zLTYuOCA2LjgtMjcuM2MuOS0zLjYgNC4xLTYuMSA3LjgtNi4xeiJdfSxJT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWljcm9waG9uZSIsaWNvbjpbMzg0LDUxMixbXSwiZjEzMCIsIk0xOTIgMEMxMzkgMCA5NiA0MyA5NiA5NmwwIDEyOGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMTI4YzAtNTMtNDMtOTYtOTYtOTZ6TTQ4IDE4NGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDE3MC43IDAgMTg0bDAgNDBjMCA5Ny45IDczLjMgMTc4LjcgMTY4IDE5MC41bDAgNDkuNS00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtNDkuNWM5NC43LTExLjggMTY4LTkyLjYgMTY4LTE5MC41bDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MGMwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NFM0OCAzMDMuNSA0OCAyMjRsMC00MHoiXX0sTk90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNyb3duIixpY29uOls1NzYsNTEyLFsxMjgwODFdLCJmNTIxIiwiTTMxMyA4Ny4yYzkuMi03LjMgMTUtMTguNiAxNS0zMS4yIDAtMjIuMS0xNy45LTQwLTQwLTQwcy00MCAxNy45LTQwIDQwYzAgMTIuNiA1LjkgMjMuOSAxNSAzMS4yTDE5NC42IDE5NC44Yy0xMCAxNS43LTMxLjMgMTkuNi00Ni4yIDguNEw4OC45IDE1OC43YzQuNS02LjQgNy4xLTE0LjMgNy4xLTIyLjcgMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBjMCAyMS44IDE3LjUgMzkuNiAzOS4yIDQwTDg3LjggMzkzLjVjNC43IDMxLjMgMzEuNiA1NC41IDYzLjMgNTQuNWwyNzMuOCAwYzMxLjcgMCA1OC42LTIzLjIgNjMuMy01NC41TDUyMC44IDE3NmMyMS43LS40IDM5LjItMTguMiAzOS4yLTQwIDAtMjIuMS0xNy45LTQwLTQwLTQwcy00MCAxNy45LTQwIDQwYzAgOC40IDIuNiAxNi4zIDcuMSAyMi43bC01OS40IDQ0LjZjLTE0LjkgMTEuMi0zNi4yIDcuMy00Ni4yLTguNEwzMTMgODcuMnoiXX0sUk90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbnQtYXJyb3ctdHVybi1sZWZ0IixpY29uOls1MTIsNTEyLFtdLCJlNTgwIiwiTS0uNSAxMTNsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0zMS0zMSAzNTAuMSAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI0YzAtNDguNi0zOS40LTg4LTg4LTg4bC0zNTAuMSAwIDMxLTMxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45UzgwLjktMi4zIDcxLjUgN0wtLjUgNzljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45ek02MC4zIDI5Mi42TDM3LjEgNDc2Yy0yLjQgMTkuMSAxMi41IDM2IDMxLjcgMzZsMTU0LjUgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTExNy40YzAtNS45IDQuNy0xMC42IDEwLjYtMTAuNiA0IDAgNy43IDIuMyA5LjUgNS45bDY4LjIgMTM2LjVjNS40IDEwLjggMTYuNSAxNy43IDI4LjYgMTcuN2w3MS45IDBjMTkuMyAwIDM0LjItMTYuOSAzMS43LTM2TDQ1Mi43IDI5Mi43Yy0xLjItOS43LTYuOS0xOC40LTE1LjMtMjMuNEwyNzEuOSAxNjkuOWMtMTAuMi02LjEtMjIuOS02LjEtMzMuMSAuMUw3NS40IDI2OS4zYy04LjMgNS4xLTEzLjkgMTMuNy0xNS4xIDIzLjN6Il19LEloZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1mYXN0IixpY29uOls2NDAsNTEyLFsic2hpcHBpbmctZmFzdCJdLCJmNDhiIiwiTTY0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIgNTAuNyAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDYyMS4zIDE5MmMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDY0MCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTMuMyAwYy0xMC40IDM2LjktNDQuNCA2NC04NC43IDY0cy03NC4yLTI3LjEtODQuNy02NGwtMTAyLjYgMGMtMTAuNCAzNi45LTQ0LjQgNjQtODQuNyA2NHMtNzQuMi0yNy4xLTg0LjctNjRsLTMuMyAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTQ4LTQwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMjQgMjQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI0IDE0NGMtMTMuMyAwLTI0LTEwLjctMjQtMjRTMTAuNyA5NiAyNCA5Nmw0MCAwek01NzYgMjg4bDAtNTAuNy00NS4zLTQ1LjMtNTAuNyAwIDAgOTYgOTYgMHpNMjU2IDQyNGE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAwem0yMzIgNDBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgweiJdfSxPT3Q9SWhlLE5oZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLXBlbiIsaWNvbjpbNjQwLDUxMixbInVzZXItZWRpdCJdLCJmNGZmIiwiTTI1Ni4xIDI0OGExMjAgMTIwIDAgMSAwIDAtMjQwIDEyMCAxMjAgMCAxIDAgMCAyNDB6bS0yOS43IDU2Yy05OC41IDAtMTc4LjMgNzkuOC0xNzguMyAxNzguMyAwIDE2LjQgMTMuMyAyOS43IDI5LjcgMjkuN2wxOTYuNSAwIDEwLjktNTQuNWM0LjMtMjEuNyAxNS00MS42IDMwLjYtNTcuMmw2Ny4zLTY3LjNjLTI4LTE4LjMtNjEuNC0yOC45LTk3LjQtMjguOWwtNTkuNCAwek0zMzIuMyA0NjYuOWwtMTEuOSA1OS42Yy0uMiAuOS0uMyAxLjktLjMgMi45IDAgOCA2LjUgMTQuNiAxNC42IDE0LjYgMSAwIDEuOS0uMSAyLjktLjNsNTkuNi0xMS45YzEyLjQtMi41IDIzLjgtOC42IDMyLjctMTcuNWwxMTguOS0xMTguOS04MC04MC0xMTguOSAxMTguOWMtOC45IDguOS0xNSAyMC4zLTE3LjUgMzIuN3ptMjY3LjgtMTIzYzIyLjEtMjIuMSAyMi4xLTU3LjkgMC04MHMtNTcuOS0yMi4xLTgwIDBsLTI4LjggMjguOCA4MCA4MCAyOC44LTI4Ljh6Il19LEZPdD1OaGUsQk90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItY2xvY2siLGljb246WzU3Niw1MTIsW10sImY0ZmQiLCJNMjI0IDhhMTIwIDEyMCAwIDEgMSAwIDI0MCAxMjAgMTIwIDAgMSAxIDAtMjQwek0xOTQuMyAzMDRsNTkuNCAwYzMuOSAwIDcuOSAuMSAxMS44IC40LTE2LjIgMjguMi0yNS41IDYwLjgtMjUuNSA5NS42IDAgNDEuOCAxMy40IDgwLjUgMzYgMTEyTDQ1LjcgNTEyQzI5LjMgNTEyIDE2IDQ5OC43IDE2IDQ4Mi4zIDE2IDM4My44IDk1LjggMzA0IDE5NC4zIDMwNHpNMjg4IDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xNDQtODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0zMiAwIDAtNDhjMC04LjgtNy4yLTE2LTE2LTE2eiJdfSxIT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hvd2VyIixpY29uOls1MTIsNTEyLFsxMjg3MDNdLCJmMmNjIiwiTTY0IDEzMS45YzAtMTkuOCAxNi4xLTM1LjkgMzUuOS0zNS45IDkuNSAwIDE4LjYgMy44IDI1LjQgMTAuNWwxNi4yIDE2LjJjLTIxIDM4LjktMTcuNCA4Ny41IDEwLjkgMTIzTDE1MSAyNDdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMEwzNDUgMTIxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTEuMyAxLjNjLTM1LjUtMjguMy04NC4xLTMxLjktMTIzLTEwLjlMMTcwLjUgNjEuM0MxNTEuOCA0Mi41IDEyNi40IDMyIDk5LjkgMzIgNDQuNyAzMiAwIDc2LjcgMCAxMzEuOUwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzE2LjF6TTI1NiAzNTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em02NCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0wLTEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTY0IDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAtMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptNjQgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMzItMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxSaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWNhcmV0LXVwIixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLXVwIl0sImYxNTEiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjI0IDE2MGM2LjcgMCAxMyAyLjggMTcuNiA3LjdsMTA0IDExMmM2LjUgNyA4LjIgMTcuMiA0LjQgMjUuOVMzMzcuNSAzMjAgMzI4IDMyMGwtMjA4IDBjLTkuNSAwLTE4LjItNS43LTIyLTE0LjRzLTIuMS0xOC45IDQuNC0yNS45bDEwNC0xMTJjNC41LTQuOSAxMC45LTcuNyAxNy42LTcuN3oiXX0scU90PVJoZSxPaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFwLWxvY2F0aW9uIixpY29uOls2NDAsNTEyLFsibWFwLW1hcmtlZCJdLCJmNTlmIiwiTTU3NiA0OGMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNEw0MTMuNSA3Ny41IDIzNC4xIDE3LjZjLTguMS0yLjctMTYuOC0yLjEtMjQuNCAxLjdsLTEyOCA2NEM3MC44IDg4LjggNjQgOTkuOSA2NCAxMTJsMCAzNTJjMCAxMS4xIDUuNyAyMS40IDE1LjIgMjcuMnMyMS4yIDYuNCAzMS4xIDEuNGwxMTYuMS01OC4xIDE3My4zIDU3LjhjLTQuMy02LjQtOC41LTEzLjEtMTIuNi0xOS45LTExLTE4LjMtMjEuOS0zOS4zLTMwLTYxLjhsLTEwMS4yLTMzLjcgMC0yODQuNSAxMjggNDIuNyAwIDk5LjNjMzEtMzUuOCA3Ny01OC40IDEyOC01OC40IDIyLjYgMCA0NC4yIDQuNCA2NCAxMi41TDU3NiA0OHpNMzkyIDM0MS45YzAgNjguOSA2NC4xIDE1MC40IDk4LjYgMTg5LjMgMTEuNiAxMyAzMS4zIDEzIDQyLjkgMCAzNC41LTM4LjkgOTguNi0xMjAuNCA5OC42LTE4OS4zIDAtNjUuMS01My43LTExNy45LTEyMC0xMTcuOVMzOTIgMjc2LjggMzkyIDM0MS45eiJdfSxWT3Q9T2hlLGpPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW4tZmFuY3kiLGljb246WzUxMiw1MTIsWzEyODM5NSwxMDAwMl0sImY1YWMiLCJNMzczLjUgMjcuMWMxNS0xNy4yIDM2LjctMjcuMSA1OS42LTI3LjEgNDMuNiAwIDc5IDM1LjQgNzkgNzkgMCAyMi44LTkuOSA0NC42LTI3LjEgNTkuNkwyODMuNyAzMTMuOCAyNzMgMzAzIDIwOSAyMzkgMTk4LjIgMjI4LjMgMzczLjUgMjcuMXpNMTYxLjEgMjU5QzE2MiAyNjAgMTg4IDI4NiAyMzkgMzM3bDEzLjkgMTMuOS0xNy4xIDc0LjJjLTMuOSAxNy4xLTE2LjkgMzAuNy0zMy44IDM1LjRsLTE2OS44IDQ3LjUgOTIuMy05Mi4zYzEuMiAuMSAyLjMgLjIgMy41IC4yIDE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyLTMyIDE0LjMtMzIgMzJjMCAxLjIgLjEgMi40IC4yIDMuNUwzLjkgNDc5LjggNTEuNSAzMTBjNC43LTE2LjkgMTguMy0yOS45IDM1LjQtMzMuOEwxNjEuMSAyNTl6Il19LEJlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJldXJvLXNpZ24iLGljb246WzQ0OCw1MTIsWzgzNjQsImV1ciIsImV1cm8iXSwiZjE1MyIsIk03My4zIDE5MkMxMDAuOCA5OS41IDE4Ni41IDMyIDI4OCAzMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02NCAwYy02NS42IDAtMTIyIDM5LjUtMTQ2LjcgOTZMMjcyIDE5MmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQzLjIgMGMtLjUgNS4zLS44IDEwLjYtLjggMTZzLjMgMTAuNyAuOCAxNkwyNzIgMjcyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMzAuNyAwYzI0LjcgNTYuNSA4MS4xIDk2IDE0Ni43IDk2bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTEwMS41IDAtMTg3LjItNjcuNS0yMTQuNy0xNjBMNDAgMzIwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDI0LjYgMGMtLjctMTAuNS0uNy0yMS41IDAtMzJMNDAgMjQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDMzLjMgMHoiXX0sVU90PUJlZSxXT3Q9QmVlLEdPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1jaXJjbGUteG1hcmsiLGljb246WzY0MCw1MTIsW10sImU1MGIiLCJNNDk2IDU0NGExNDQgMTQ0IDAgMSAxIDAtMjg4IDE0NCAxNDQgMCAxIDEgMCAyODh6TTI2OC42IDYuNWMxMi4yLTkuMyAyOS43LTguNyA0MS4yIDJsMjE3LjYgMjAyYy0xMC4yLTEuNy0yMC43LTIuNi0zMS4zLTIuNi03OC42IDAtMTQ2LjIgNDcuMi0xNzUuOSAxMTQuOC01LTEuOC0xMC41LTIuOC0xNi4xLTIuOGwtMzIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiA5MC45IDBjNi4xIDE3LjMgMTQuNiAzMy40IDI1LjIgNDhMMTQ0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzYtMTYgMGMtMTMuMiAwLTI1LTguMS0yOS44LTIwLjNzLTEuNi0yNi4yIDgtMzUuMWwyMjQtMjA4IDIuNC0yek01NTUuMyAzNDAuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBsLTM2LjcgMzYuNy0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsMzYuNyAzNi43LTM2LjcgMzYuN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDM2LjctMzYuNyAzNi43IDM2LjdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zNi43LTM2LjcgMzYuNy0zNi43YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42eiJdfSxZT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlyYS1zaWduIixpY29uOlszODQsNTEyLFs4MzU2XSwiZjE5NSIsIk04NC45IDI1NmwtMjguNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDExLjYgMEM1My4yIDEyNC43IDExNi44IDQyIDIwNy42IDQybDguMiAwYzMzLjYgMCA2Ni4yIDExLjMgOTIuNSAzMi4ybDE2LjEgMTIuN2MxMy45IDExIDE2LjIgMzEuMSA1LjIgNDVzLTMxLjEgMTYuMi00NSA1LjJsLTE2LjEtMTIuN2MtMTUtMTEuOS0zMy42LTE4LjQtNTIuOC0xOC40bC04LjIgMGMtNTMuOCAwLTkwLjEgNTIuOS03My41IDEwMmwxNjIuNCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDUuMSAwYzIuMyAxMC42IDMuNiAyMS4zIDMuOSAzMmwxNDEuMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDE1MCAzMzZjLTQuOCAxOC42LTEyLjYgMzYuNS0yMy42IDUyLjlsLTE4LjEgMjcuMSAyMTIuMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNzIgMGMtMTEuOCAwLTIyLjYtNi41LTI4LjItMTYuOXMtNS0yMyAxLjYtMzIuOWw1MS4yLTc2LjhjMy43LTUuNiA2LjktMTEuNCA5LjQtMTcuNGwtMjYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwzNC44IDBjLS41LTEwLjgtMi42LTIxLjYtNi40LTMyeiJdfSxHOD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ5ZW4tc2lnbiIsaWNvbjpbMzg0LDUxMixbMTY1LCJjbnkiLCJqcHkiLCJybWIiLCJ5ZW4iXSwiZjE1NyIsIk03NC45IDQ2LjdjLTkuNi0xNC45LTI5LjQtMTkuMi00NC4yLTkuNlMxMS41IDY2LjQgMjEuMSA4MS4zTDE0My43IDI3MiA4OCAyNzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMCAwIDMyLTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMCAwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC00OCA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwIDAtMzIgNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNTUuNyAwIDEyMi42LTE5MC43YzkuNi0xNC45IDUuMy0zNC43LTkuNi00NC4ycy0zNC43LTUuMy00NC4yIDkuNkwxOTIgMjI4LjggNzQuOSA0Ni43eiJdfSxLT3Q9RzgsWk90PUc4LFhPdD1HOCxRT3Q9RzgsSk90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJveC1vcGVuIixpY29uOls2NDAsNTEyLFtdLCJmNDllIiwiTTU2MC4zIDIzNy4yYzEwLjQgMTEuOCAyOC4zIDE0LjQgNDEuOCA1LjUgMTQuNy05LjggMTguNy0yOS43IDguOS00NC40bC00OC03MmMtMi44LTQuMi02LjYtNy43LTExLjEtMTAuMkwzNTEuNCA0LjdjLTE5LjMtMTAuNy00Mi44LTEwLjctNjIuMiAwTDg4LjggMTE2Yy01LjQgMy05LjcgNy40LTEyLjYgMTIuOEwyNy43IDIxOC43Yy0xMi42IDIzLjQtMy44IDUyLjUgMTkuNiA2NS4xbDMzIDE3LjcgMCA1My4zYzAgMjMgMTIuNCA0NC4zIDMyLjQgNTUuN2wxNzYgOTkuN2MxOS42IDExLjEgNDMuNSAxMS4xIDYzLjEgMGwxNzYtOTkuN2MyMC4xLTExLjQgMzIuNC0zMi42IDMyLjQtNTUuN2wwLTExNy41em0tMjQwLTkuOEwxNzAuMiAxNDQgMzIwLjMgNjAuNiA0NzAuNCAxNDQgMzIwLjMgMjI3LjR6bS00MS41IDUwLjJsLTIxLjMgNDYuMi0xNjUuOC04OC44IDI1LjQtNDcuMiAxNjEuNyA4OS44eiJdfSxlRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stZmllbGQiLGljb246WzY0MCw1MTIsW10sImU1OGQiLCJNMzIgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjI0IDBjMjMuNyAwIDQ0LjQgMTIuOSA1NS40IDMybDQwLjQgMGMzMi40IDAgNjEuNiAxOS42IDc0IDQ5LjVsNDMuOCAxMDYuMyAxLjcgNC4yIDI0LjcgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0uNCAwYy4yIDIuNiAuNCA1LjMgLjQgOCAwIDQ4LjYtMzkuNCA4OC04OCA4OHMtODgtMzkuNC04OC04OGMwLTIuNyAuMS01LjQgLjQtOGwtMTQ0LjcgMGMuMiAyLjYgLjQgNS4zIC40IDggMCA0OC42LTM5LjQgODgtODggODhzLTg4LTM5LjQtODgtODhjMC0zLjYgLjItNy4xIC42LTEwLjUtMTktNi40LTMyLjYtMjQuNC0zMi42LTQ1LjVsMC00OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwwLTMyem0zNTIgMzJsMCA5NiA4Mi4xIDAtMzUuNC04Ni4xYy0yLjUtNi04LjMtOS45LTE0LjgtOS45TDM4NCAxMjh6TTE5MiAzOTJhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHptMjgwIDQwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHoiXX0sdEZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY2F0aW9uLXBpbi1sb2NrIixpY29uOls1MTIsNTEyLFtdLCJlNTFmIiwiTTAgMTg4LjZDMCA4NC40IDg2IDAgMTkyIDAgMjk0LjEgMCAzNzcuNiA3OC4zIDM4My42IDE3NyAzMjAuNyAxODUuMSAyNzIgMjM4LjggMjcyIDMwNGwwIDI0LjRjLTE5LjYgMTcuNi0zMiA0My4xLTMyIDcxLjVsMCA3NS43Yy05LjkgMTEuNi0xOC45IDIxLjctMjYuNCAyOS44LTExLjggMTIuOC0zMS41IDEyLjgtNDMuMyAwLTUwLjItNTQuNS0xNzAuNC0xOTcuNS0xNzAuNC0zMTYuOHpNMTkyIDI1NmE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHptMjQwIDQ4LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek0yODggNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxGaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXByYXlpbmciLGljb246WzM4NCw1MTIsWzEyODcyMCwicHJheSJdLCJmNjgzIiwiTTMyMCA2NGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTIwMC43IDI2NGwyMi45IDMxLjVjNi41IDguOSAxNi4zIDE0LjcgMjcuMiAxNi4xczIxLjktMS43IDMwLjQtOC43bDg4LTcyYzE3LjEtMTQgMTkuNi0zOS4yIDUuNi01Ni4zcy0zOS4yLTE5LjYtNTYuMy01LjZsLTU1LjIgNDUuMi0yNi4yLTM2Yy0xNS42LTIxLjUtNDAuNi0zNC4yLTY3LjItMzQuMi0zMC45IDAtNTkuMiAxNy4xLTczLjYgNDQuNEw0Ny44IDI4MC45Yy0yMC4yIDM4LjUtOS40IDg1LjkgMjUuNiAxMTEuOEwxMjYuNiA0MzIgNDAgNDMyYy0yMi4xIDAtNDAgMTcuOS00MCA0MHMxNy45IDQwIDQwIDQwbDIwOCAwYzE3LjMgMCAzMi42LTExLjEgMzgtMjcuNXMtLjMtMzQuNC0xNC4yLTQ0LjdsLTExNi4xLTg1LjggNDUtOTB6Il19LGFGdD1GaGUsckZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsaXBib2FyZC1saXN0IixpY29uOlszODQsNTEyLFtdLCJmNDZkIiwiTTMxMS40IDMybDguNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzUyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmw4LjYgMEM4My42IDEyLjkgMTA0LjMgMCAxMjggMEwyNTYgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJ6TTI0OCAxMTJjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMTM2IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMiAwek0xMjggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTMyIDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMCAxMjhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNOTYgNDE2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sc0Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNhY2stZG9sbGFyIixpY29uOls1MTIsNTEyLFsxMjgxNzZdLCJmODFkIiwiTTMyOCAxMTJsLTE0NCAwLTM3LjMtNzQuNWMtMS44LTMuNi0yLjctNy42LTIuNy0xMS42IDAtMTQuMyAxMS42LTI1LjkgMjUuOS0yNS45TDM0Mi4xIDBjMTQuMyAwIDI1LjkgMTEuNiAyNS45IDI1LjkgMCA0LS45IDgtMi43IDExLjZMMzI4IDExMnpNMTY5LjYgMTYwbDE3Mi44IDAgNDguNyA0MC42QzQ1Ny42IDI1NiA0OTYgMzM4IDQ5NiA0MjQuNSA0OTYgNDcyLjggNDU2LjggNTEyIDQwOC41IDUxMmwtMzA1LjEgMEM1NS4yIDUxMiAxNiA0NzIuOCAxNiA0MjQuNSAxNiAzMzggNTQuNCAyNTYgMTIwLjkgMjAwLjZMMTY5LjYgMTYwek0yNjAgMjI0Yy0xMSAwLTIwIDktMjAgMjBsMCA0Yy0yOC44IC4zLTUyIDIzLjctNTIgNTIuNSAwIDI1LjcgMTguNSA0Ny42IDQzLjkgNTEuOGw0MS43IDdjNiAxIDEwLjQgNi4yIDEwLjQgMTIuMyAwIDYuOS01LjYgMTIuNS0xMi41IDEyLjVMMjE2IDM4NGMtMTEgMC0yMCA5LTIwIDIwczkgMjAgMjAgMjBsMjQgMCAwIDRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC00LjdjMjUtNC4xIDQ0LTI1LjcgNDQtNTEuOCAwLTI1LjctMTguNS00Ny42LTQzLjktNTEuOGwtNDEuNy03Yy02LTEtMTAuNC02LjItMTAuNC0xMi4zIDAtNi45IDUuNi0xMi41IDEyLjUtMTIuNWw0Ny41IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC04IDAgMC00YzAtMTEtOS0yMC0yMC0yMHoiXX0saUZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vdW50YWluLXN1biIsaWNvbjpbNTc2LDUxMixbXSwiZTUyZiIsIk0yNTYuNSAwYzE0LjcgMCAyOC4yIDguMSAzNS4yIDIxbDIxNiA0MDBjNi43IDEyLjQgNi40IDI3LjQtLjggMzkuNS03LjIgMTIuMS0yMC4zIDE5LjUtMzQuMyAxOS41bC00MzIgMGMtMTQuMSAwLTI3LjEtNy40LTM0LjMtMTkuNXMtNy41LTI3LjEtLjgtMzkuNWwyMTYtNDAwIDIuOS00LjZDMjMxLjcgNi4yIDI0My42IDAgMjU2LjUgMHpNMTcwLjQgMjQ5LjlsMjYuOCAyNi44YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwbDQzLjMtNDMuM2M2LTYgMTQuMS05LjQgMjIuNi05LjRsNDIuOCAwLTcyLjEtMTMzLjUtODYuMSAxNTkuNHpNNDk2LjUgMTYwYTgwIDgwIDAgMSAxIDAtMTYwIDgwIDgwIDAgMSAxIDAgMTYweiJdfSxCaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtd2lkZS1zaG9ydCIsaWNvbjpbNTc2LDUxMixbInNvcnQtYW1vdW50LXVwIl0sImYxNjEiLCJNMTUwLjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDk2IDE0MS4zIDk2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA2LjcgNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2ek0zMjAgNDgwbDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6bTAtMTI4bDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6bTAtMTI4bDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptMC0xMjhsMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyeiJdfSxvRnQ9QmhlLG5GdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2Vycy1saW5lIixpY29uOls1NzYsNTEyLFtdLCJlNTkyIiwiTTIyNCAxMjhhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek0xNzYgMzM2YzAtNjEuOSA1MC4xLTExMiAxMTItMTEyczExMiA1MC4xIDExMiAxMTJsMCA4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC0xNzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC04ek0zOTIgMTQ0YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptMjcuMiAxMDAuNGM5LjEtMi45IDE4LjgtNC40IDI4LjgtNC40IDUzIDAgOTYgNDMgOTYgOTZsMCAxMC43YzAgMTEuOC05LjYgMjEuMy0yMS4zIDIxLjNsLTc4LjggMGMyLjctNy41IDQuMS0xNS42IDQuMS0yNGwwLThjMC0zNC4xLTEwLjYtNjUuNy0yOC44LTkxLjZ6bS0yNjIuNCAwYy0xOC4yIDI2LTI4LjggNTcuNS0yOC44IDkxLjZsMCA4YzAgOC40IDEuNCAxNi41IDQuMSAyNGwtNzguOCAwQzQxLjYgMzY4IDMyIDM1OC40IDMyIDM0Ni43TDMyIDMzNmMwLTUzIDQzLTk2IDk2LTk2IDEwIDAgMTkuNyAxLjUgMjguOCA0LjR6TTcyIDE0NGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTAgNDQwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDUyOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDQ2NGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6Il19LGxGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyLW9mLWRhdmlkIixpY29uOls1MTIsNTEyLFsxMDAxN10sImY2OWEiLCJNNDE1LjkgMzExLjlsLTI3LjggNDguMSA1NS43IDAtMjcuOC00OC4xek0zODMuNiAyNTZsLTYwLjItMTA0LTEzNC44IDAtNjAuMiAxMDQgNjAuMiAxMDQgMTM0LjggMCA2MC4yLTEwNHptNjQuNyAwbDU4LjQgMTAwLjljMy41IDYgNS4zIDEyLjggNS4zIDE5LjcgMCAyMS43LTE3LjYgMzkuNC0zOS40IDM5LjRsLTExNyAwLTYxLjMgMTA1LjhDMjg2LjUgNTM1LjYgMjcxLjggNTQ0IDI1NiA1NDRzLTMwLjUtOC40LTM4LjQtMjIuMmwtNjEuMy0xMDUuOC0xMTcgMGMtMjEuNyAwLTM5LjQtMTcuNi0zOS40LTM5LjQgMC02LjkgMS44LTEzLjcgNS4zLTE5LjdMNjMuNyAyNTYgNS4zIDE1NS4xQzEuOCAxNDkuMSAwIDE0Mi4zIDAgMTM1LjQgMCAxMTMuNiAxNy42IDk2IDM5LjQgOTZsMTE3IDAgNjEuMy0xMDUuOEMyMjUuNS0yMy42IDI0MC4yLTMyIDI1Ni0zMnMzMC41IDguNCAzOC40IDIyLjJsNjEuMyAxMDUuOCAxMTcgMGMyMS43IDAgMzkuNCAxNy42IDM5LjQgMzkuNCAwIDYuOS0xLjggMTMuNy01LjMgMTkuN0w0NDguMyAyNTZ6TTM4OC4xIDE1MmwyNy44IDQ4LjEgMjcuOC00OC4xLTU1LjcgMHpNMjkxIDk2bC0zNS02MC40LTM1IDYwLjQgNzAgMHpNMTIzLjkgMTUybC01NS43IDAgMjcuOCA0OC4xIDI3LjgtNDguMXpNOTYuMSAzMTEuOWwtMjcuOCA0OC4xIDU1LjcgMC0yNy44LTQ4LjF6TTIyMSA0MTZsMzUgNjAuNCAzNS02MC40LTcwIDB6Il19LGNGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJub3Rlcy1tZWRpY2FsIixpY29uOls1MTIsNTEyLFtdLCJmNDgxIiwiTTk2IDM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODEuNSAwYzE3IDAgMzMuMy02LjcgNDUuMy0xOC43TDQ5My4zIDI5MC43YzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNMNTEyIDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDE2MCAwQzEyNC43IDAgOTYgMjguNyA5NiA2NGwwIDI4OHpNMjg4IDExMmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00OC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDggMCAwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnpNNDggMTIwYzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMTA2LjcgMCAxMjBMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZsMC0zMjh6Il19LGRGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhdXN0cmFsLXNpZ24iLGljb246WzQ0OCw1MTIsW10sImUwYTkiLCJNMjY2LjUgMjQwbC04NSAwIDQyLjUtMTA2LjQgNDIuNSAxMDYuNHptNjguOSAwTDI2Mi45IDU4LjNDMjU2LjUgNDIuNCAyNDEuMSAzMiAyMjQgMzJzLTMyLjUgMTAuNC0zOC45IDI2LjNMMTEyLjYgMjQwIDMyIDI0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2MS40IDAtMTkuMiA0OC00Mi4zIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjMuMSAwLTIwLjggNTIuMWMtNi42IDE2LjQgMS40IDM1IDE3LjkgNDEuNnMzNS0xLjQgNDEuNi0xNy45bDMwLjMtNzUuOSAyMDAgMCAzMC4zIDc1LjljNi42IDE2LjQgMjUuMiAyNC40IDQxLjYgMTcuOXMyNC40LTI1LjIgMTcuOS00MS42TDM5Mi45IDM4NCA0MTYgMzg0YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00Mi4zIDAtMTkuMi00OCA2MS40IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwLjYgMHptLTQ5LjcgNDhsMTkuMiA0OC0xNjEuNiAwIDE5LjItNDggMTIzLjMgMHoiXX0sdUZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsaXBib2FyZC11c2VyIixpY29uOlszODQsNTEyLFtdLCJmN2YzIiwiTTMxMS40IDMybDguNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzUyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmw4LjYgMEM4My42IDEyLjkgMTA0LjMgMCAxMjggMEwyNTYgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJ6TTI0OCAxMTJjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMTM2IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMiAwek0xOTIgMzQ0YTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyek05OC4zIDQxM2MtMTIuOSAxNS42IDIuMiAzNSAyMi40IDM1bDE0Mi41IDBjMjAuMiAwIDM1LjMtMTkuNCAyMi40LTM1LTE0LjctMTcuNy0zNi45LTI5LTYxLjctMjlsLTY0IDBjLTI0LjggMC00NyAxMS4zLTYxLjcgMjl6Il19LHBGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWltYWdlIixpY29uOlszODQsNTEyLFsxMjg0NDNdLCJmMWM1IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0xMjggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTkyLjYgNDQ4bDE5OC44IDBjMTUuOCAwIDI4LjYtMTIuOCAyOC42LTI4LjYgMC03LjMtMi44LTE0LjQtNy45LTE5LjdMMjE1LjMgMjk3LjljLTYtNi4zLTE0LjQtOS45LTIzLjItOS45bC0uMyAwYy04LjggMC0xNy4xIDMuNi0yMy4yIDkuOUw3MS45IDM5OS43QzY2LjggNDA1IDY0IDQxMi4xIDY0IDQxOS40IDY0IDQzNS4yIDc2LjggNDQ4IDkyLjYgNDQ4eiJdfSxIaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWNhcmV0LXJpZ2h0IixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLXJpZ2h0Il0sImYxNTIiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTMyMCAyNTZjMCA2LjctMi44IDEzLTcuNyAxNy42bC0xMTIgMTA0Yy03IDYuNS0xNy4yIDguMi0yNS45IDQuNFMxNjAgMzY5LjUgMTYwIDM2MGwwLTIwOGMwLTkuNSA1LjctMTguMiAxNC40LTIyczE4LjktMi4xIDI1LjkgNC40bDExMiAxMDRjNC45IDQuNSA3LjcgMTAuOSA3LjcgMTcuNnoiXX0sZkZ0PUhoZSxoRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlhbCIsaWNvbjpbNTEyLDUxMixbMTI5NTE0XSwiZjQ5MiIsIk0zNDIuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDMwNi43IDY0IDI4LjEgMzQyLjZDMTAuMSAzNjAuNiAwIDM4NSAwIDQxMC41TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZsNS41IDBjMjUuNSAwIDQ5LjktMTAuMSA2Ny45LTI4LjFsMjc4LjYtMjc4LjYgOS40IDkuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwek0yMDUuMyAyNTZsMTQ2LjctMTQ2LjcgNTAuNyA1MC43LTk2IDk2LTEwMS41IDB6Il19LG1GdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWxpY29wdGVyIixpY29uOls1NzYsNTEyLFsxMjg2NDFdLCJmNTMzIiwiTTE3NiAzMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNTIgMCAwIDQ4LTIyMC44IDAtMzIuOC0zOS40QzY5LjkgODMuMiA2My4xIDgwIDU2IDgwTDI0IDgwQzE1LjcgODAgOCA4NC4zIDMuNiA5MS40cy00LjggMTUuOS0xLjEgMjMuNGw0OCA5NkM1NC42IDIxOC45IDYyLjkgMjI0IDcyIDIyNGwxMDcuOCAwIDEwNCAxNDMuMWMxNS4xIDIwLjcgMzkuMSAzMi45IDY0LjcgMzIuOWw3NS41IDBjNzUuMSAwIDEzNi02MC45IDEzNi0xMzZTNDk5LjEgMTI4IDQyNCAxMjhsLTQ4IDAgMC00OCAxNTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwxNzYgMzJ6TTM3NiAxOTJsNDggMGMzOS44IDAgNzIgMzIuMiA3MiA3MnMtMzIuMiA3Mi03MiA3MmwtNDggMCAwLTE0NHpNNTUyIDQxNmMtMTMuMyAwLTI0IDEwLjctMjQgMjQgMCA0LjQtMy42IDgtOCA4bC0yNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNzIgMGMzMC45IDAgNTYtMjUuMSA1Ni01NiAwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sZ0Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pdHRlbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjdiNSIsIk0zNTIgMzg0TDY0IDM4NCA1LjQgMTc4LjlDMS44IDE2Ni40IDAgMTUzLjQgMCAxNDAuMyAwIDYyLjggNjIuOCAwIDE0MC4zIDBsMy40IDBjNjYgMCAxMjMuNSA0NC45IDEzOS41IDEwOC45bDMxLjQgMTI1LjggMTcuNi0yMC4xQzM0NC44IDIwMC4yIDM2Mi45IDE5MiAzODIgMTkybDIuOCAwYzM0LjkgMCA2My4zIDI4LjMgNjMuMyA2My4zIDAgMTUuOS02IDMxLjItMTYuOCA0Mi45TDM1MiAzODR6TTMyIDQ2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDY0IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNnoiXX0sYkZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imdhcy1wdW1wIixpY29uOls1MTIsNTEyLFs5OTgxXSwiZjUyZiIsIk0zMiA2NEMzMiAyOC43IDYwLjcgMCA5NiAwTDI1NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTkyIDggMGM0OC42IDAgODggMzkuNCA4OCA4OGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNTRjLTI3LjYtNy4xLTQ4LTMyLjItNDgtNjJsMC01OS41LTI1LjgtMjguM2MtOC45LTkuOC04LjItMjUgMS42LTMzLjlzMjUtOC4yIDMzLjkgMS42bDcxLjcgNzguOGM5LjQgMTAuMyAxNC42IDIzLjcgMTQuNiAzNy43TDUxMiAzNzZjMCAzOS44LTMyLjIgNzItNzIgNzJzLTcyLTMyLjItNzItNzJsMC0zMmMwLTIyLjEtMTcuOS00MC00MC00MGwtOCAwIDAgMTYxLjRjOS4zIDMuMyAxNiAxMi4yIDE2IDIyLjYgMCAxMy4zLTEwLjcgMjQtMjQgMjRMNDAgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNCAwLTEwLjUgNi43LTE5LjMgMTYtMjIuNkwzMiA2NHpNOTYgODBsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsMTI4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2TDExMiA2NGMtOC44IDAtMTYgNy4yLTE2IDE2eiJdfSx2RnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZW52ZWxvcGUtY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNGU4IiwiTTY0IDExMmMwLTI2LjUgMjEuNS00OCA0OC00OGw0MTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDgxLjRjLTI0LjQtMTEuMi01MS40LTE3LjQtODAtMTcuNC04Ny43IDAtMTYxLjcgNTguOC0xODQuNyAxMzkuMi03LjEtMS4zLTE0LjEtNC4yLTIwLjEtOC44bC0yMDgtMTU2QzcxLjEgMTQxLjMgNjQgMTI3LjEgNjQgMTEyek0zMDQgMzY4YzAgMjguNiA2LjIgNTUuNiAxNy40IDgwTDEyOCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTg4IDE5OC40IDE0OC44YzEyLjYgOS40IDI2LjkgMTUuNCA0MS43IDE3LjkgMCAxLjgtLjEgMy41LS4xIDUuM3ptNDggMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMDEuNC02MC45Yy03LjEtNS4yLTE3LjItMy42LTIyLjQgMy41bC01MyA3Mi45LTI2LjgtMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC42czguOS0yLjggMTEuNy02LjVsNjQtODhjNS4yLTcuMSAzLjYtMTcuMi0zLjUtMjIuM3oiXX0scWhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1za2F0aW5nIixpY29uOls1MTIsNTEyLFsic2thdGluZyJdLCJmN2M1IiwiTTM2OCA1NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTEyOCAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsMTUwLjEgMGM0OS45IDAgNzQuOSA2MC4zIDM5LjYgOTUuNmwtNjMuOSA2My45IDY5LjggMzFjMTcuMyA3LjcgMjguNSAyNC45IDI4LjUgNDMuOWwwIDg1LjZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC03NS4yLTgyLjQtMzYuNmMtNDEtMTguMi01MS03Mi0xOS4zLTEwMy43bDQwLjQtNDAuNC05OC43IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek04OS40IDM2MS40bDc1LjktNzUuOWM3LjcgMTkuNyAyMS42IDM3LjMgNDEgNDkuNmwtNzEuNiA3MS42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM3ptMzQ2LjUgODcuMWM4LjYgMi4xIDEzLjggMTAuOCAxMS42IDE5LjRsLS40IDEuN2MtNi4yIDI0LjktMjguNiA0Mi40LTU0LjMgNDIuNEwzMDQgNTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDg4LjggMGMxMSAwIDIwLjYtNy41IDIzLjMtMTguMmwuNC0xLjdjMi4xLTguNiAxMC44LTEzLjggMTkuNC0xMS42ek0xNDMuMiA0ODYuM2wtNi4yIDMuMWMtMjEuNiAxMC44LTQ3LjYgNi42LTY0LjYtMTAuNUwxMi43IDQxOS4zYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsNTkuNiA1OS42YzcuMyA3LjMgMTguNSA5LjEgMjcuNyA0LjVsNi4yLTMuMWM3LjktNCAxNy41LS43IDIxLjUgNy4ycy43IDE3LjUtNy4yIDIxLjV6Il19LHhGdD1xaGUsTHRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN1biIsaWNvbjpbNTc2LDUxMixbOTcyOF0sImYxODUiLCJNMjg4LTMyYzguNCAwIDE2LjMgNC40IDIwLjYgMTEuN0wzNjQuMSA3Mi4zIDQ2OC45IDQ2YzguMi0yIDE2LjkgLjQgMjIuOCA2LjNTNTAwIDY3IDQ5OCA3NS4xbC0yNi4zIDEwNC43IDkyLjcgNTUuNWM3LjIgNC4zIDExLjcgMTIuMiAxMS43IDIwLjZzLTQuNCAxNi4zLTExLjcgMjAuNkw0NzEuNyAzMzIuMSA0OTggNDM2LjhjMiA4LjItLjQgMTYuOS02LjMgMjIuOFM0NzcgNDY4IDQ2OC45IDQ2NmwtMTA0LjctMjYuMy01NS41IDkyLjdjLTQuMyA3LjItMTIuMiAxMS43LTIwLjYgMTEuN3MtMTYuMy00LjQtMjAuNi0xMS43TDIxMS45IDQzOS43IDEwNy4yIDQ2NmMtOC4yIDItMTYuOC0uNC0yMi44LTYuM1M3NiA0NDUgNzggNDM2LjhsMjYuMi0xMDQuNy05Mi42LTU1LjVDNC40IDI3Mi4yIDAgMjY0LjQgMCAyNTZzNC40LTE2LjMgMTEuNy0yMC42TDEwNC4zIDE3OS45IDc4IDc1LjFjLTItOC4yIC4zLTE2LjggNi4zLTIyLjhTOTkgNDQgMTA3LjIgNDZsMTA0LjcgMjYuMiA1NS41LTkyLjYgMS44LTIuNmM0LjUtNS43IDExLjQtOS4xIDE4LjgtOS4xem0wIDE0NGExNDQgMTQ0IDAgMSAwIDAgMjg4IDE0NCAxNDQgMCAxIDAgMC0yODh6bTAgMjQwYTk2IDk2IDAgMSAxIDAtMTkyIDk2IDk2IDAgMSAxIDAgMTkyeiJdfSxWaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFzZWJhbGwiLGljb246WzUxMiw1MTIsWzEyOTM1OCw5OTE4LCJiYXNlYmFsbC1iYWxsIl0sImY0MzMiLCJNMjMyLjQgMS4xYy0xMjIuMiAxMS40LTIxOS41IDEwOC43LTIzMC45IDIzMC45IDE2LjItLjEgMzItMS44IDQ3LjItNSAxMy0yLjcgMjUuNyA1LjUgMjguNCAxOC41cy01LjUgMjUuNy0xOC41IDI4LjRjLTE4LjQgMy45LTM3LjYgNi01Ny4xIDYuMSAxMS40IDEyMi4yIDEwOC43IDIxOS41IDIzMC45IDIzMC45IC4xLTE5LjUgMi4yLTM4LjcgNi4xLTU3LjEgMi43LTEzIDE1LjUtMjEuMyAyOC40LTE4LjVzMjEuMyAxNS41IDE4LjUgMjguNGMtMy4yIDE1LjItNC45IDMxLTUgNDcuMiAxMjIuMi0xMS40IDIxOS41LTEwOC43IDIzMC45LTIzMC45LTE2LjIgLjEtMzIgMS44LTQ3LjIgNS0xMyAyLjctMjUuNy01LjUtMjguNC0xOC41czUuNS0yNS43IDE4LjUtMjguNGMxOC40LTMuOSAzNy42LTYgNTcuMS02LjEtMTEuNC0xMjIuMi0xMDguNy0yMTkuNS0yMzAuOS0yMzAuOS0uMSAxOS41LTIuMiAzOC43LTYuMSA1Ny4xLTIuNyAxMy0xNS41IDIxLjMtMjguNCAxOC41cy0yMS4zLTE1LjUtMTguNS0yOC40YzMuMi0xNS4yIDQuOS0zMSA1LTQ3LjJ6bTIuOCAxNTEuNGMtMjEuNCAzMi45LTQ5LjUgNjAuOS04Mi4zIDgyLjMtMTEuMSA3LjItMjYgNC4xLTMzLjItN3MtNC4xLTI2IDctMzMuMmMyNy4yLTE3LjcgNTAuNS00MSA2OC4zLTY4LjMgNy4yLTExLjEgMjIuMS0xNC4zIDMzLjItN3MxNC4zIDIyLjEgNyAzMy4yek0zOTMuMSAyODQuMmM3LjIgMTEuMSA0LjEgMjYtNyAzMy4yLTI3LjIgMTcuNy01MC41IDQxLTY4LjMgNjguMy03LjIgMTEuMS0yMi4xIDE0LjMtMzMuMiA3cy0xNC4zLTIyLjEtNy0zMy4yYzIxLjQtMzIuOSA0OS41LTYwLjkgODIuMy04Mi4zIDExLjEtNy4yIDI2LTQuMSAzMy4yIDd6Il19LHlGdD1WaGUsd0Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImltYWdlIixpY29uOls0NDgsNTEyLFtdLCJmMDNlIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTY0IDgwYTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpNMjcyIDIyNGM4LjQgMCAxNi4xIDQuNCAyMC41IDExLjVsODggMTQ0YzQuNSA3LjQgNC43IDE2LjcgLjUgMjQuM1MzNjguNyA0MTYgMzYwIDQxNkw4OCA0MTZjLTguOSAwLTE3LjItNS0yMS4zLTEyLjlzLTMuNS0xNy41IDEuNi0yNC44bDU2LTgwYzQuNS02LjQgMTEuOC0xMC4yIDE5LjctMTAuMnMxNS4yIDMuOCAxOS43IDEwLjJsMjYuNCAzNy44IDYxLjQtMTAwLjVjNC40LTcuMSAxMi4xLTExLjUgMjAuNS0xMS41eiJdfSxNRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibm90ZGVmIixpY29uOlszODQsNTEyLFtdLCJlMWZlIiwiTTY0IDM5MC4zTDE1My41IDI1NiA2NCAxMjEuNyA2NCAzOTAuM3pNMTAyLjUgNDQ4TDI4MS41IDQ0OCAxOTIgMzEzLjcgMTAyLjUgNDQ4em0xMjgtMTkyTDMyMCAzOTAuMyAzMjAgMTIxLjcgMjMwLjUgMjU2ek0yODEuNSA2NEwxMDIuNSA2NCAxOTIgMTk4LjMgMjgxLjUgNjR6TTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwTDMzNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA0OHoiXX0samhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhc2tldGJhbGwiLGljb246WzUxMiw1MTIsWzEyNzkzNiwiYmFza2V0YmFsbC1iYWxsIl0sImY0MzQiLCJNOTIuNyA1OC44bDc4LjQgNzguNGMxOC4yLTI1IDI4LjktNTUuOSAyOC45LTg5LjIgMC0xNC4xLTEuOS0yNy43LTUuNS00MC42LTM4IDkuNC03Mi42IDI3LjItMTAxLjggNTEuNHpNNTguOCA5Mi43Yy0yNC4yIDI5LjItNDIgNjMuOC01MS40IDEwMS44IDEyLjkgMy42IDI2LjUgNS41IDQwLjYgNS41IDMzLjMgMCA2NC4xLTEwLjcgODkuMi0yOC45TDU4LjggOTIuN3pNMjU2IDBjLTQuNiAwLTkuMiAuMS0xMy43IC40IDMuNyAxNS4zIDUuNyAzMS4yIDUuNyA0Ny42IDAgNDYuNi0xNS45IDg5LjQtNDIuNiAxMjMuNEwyNTYgMjIyLjEgNDE5LjMgNTguOEMzNzQuOSAyMi4xIDMxOC4xIDAgMjU2IDB6TTQ4IDI0OGMtMTYuNCAwLTMyLjQtMi00Ny42LTUuNy0uMiA0LjUtLjQgOS4xLS40IDEzLjcgMCA2Mi4xIDIyLjEgMTE4LjkgNTguOCAxNjMuM0wyMjIuMSAyNTYgMTcxLjQgMjA1LjRDMTM3LjQgMjMyLjEgOTQuNiAyNDggNDggMjQ4em00NjMuNiAyMS43Yy4yLTQuNSAuNC05LjEgLjQtMTMuNyAwLTYyLjEtMjIuMS0xMTguOS01OC44LTE2My4zTDI4OS45IDI1NiAzNDAuNiAzMDYuNmMzNC0yNi43IDc2LjktNDIuNiAxMjMuNC00Mi42IDE2LjQgMCAzMi40IDIgNDcuNiA1Ljd6bS03LjEgNDcuOGMtMTIuOS0zLjYtMjYuNS01LjUtNDAuNi01LjUtMzMuMyAwLTY0LjEgMTAuNy04OS4yIDI4LjlsNzguNCA3OC40YzI0LjItMjkuMiA0Mi02My44IDUxLjQtMTAxLjh6TTM0MC45IDM3NC44Yy0xOC4yIDI1LTI4LjkgNTUuOS0yOC45IDg5LjIgMCAxNC4xIDEuOSAyNy43IDUuNSA0MC42IDM4LTkuNCA3Mi42LTI3LjIgMTAxLjgtNTEuNGwtNzguNC03OC40em0tMzQuMy0zNC4zTDI1NiAyODkuOSA5Mi43IDQ1My4yYzQ0LjMgMzYuNyAxMDEuMiA1OC44IDE2My4zIDU4LjggNC42IDAgOS4yLS4xIDEzLjctLjQtMy43LTE1LjMtNS43LTMxLjItNS43LTQ3LjYgMC00Ni42IDE1LjktODkuNCA0Mi42LTEyMy40eiJdfSxrRnQ9amhlLFVoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW5jaWwiLGljb246WzUxMiw1MTIsWzk5OTksNjE1MDQsInBlbmNpbC1hbHQiXSwiZjMwMyIsIk0zNi40IDM1My4yYzQuMS0xNC42IDExLjgtMjcuOSAyMi42LTM4LjdsMTgxLjItMTgxLjIgMzMuOS0zMy45YzE2LjYgMTYuNiA1MS4zIDUxLjMgMTA0IDEwNGwzMy45IDMzLjktMzMuOSAzMy45LTE4MS4yIDE4MS4yYy0xMC43IDEwLjctMjQuMSAxOC41LTM4LjcgMjIuNkwzMC40IDUxMC42Yy04LjMgMi4zLTE3LjMgMC0yMy40LTYuMlMtMS40IDQ4OS4zIC45IDQ4MUwzNi40IDM1My4yem01NS42LTMuN2MtNC40IDQuNy03LjYgMTAuNC05LjMgMTYuNmwtMjQuMSA4Ni45IDg2LjktMjQuMWM2LjQtMS44IDEyLjItNS4xIDE3LTkuN0w5MS45IDM0OS41em0zNTQtMTQ2LjFjLTE2LjYtMTYuNi01MS4zLTUxLjMtMTA0LTEwNEwzMDggNjUuNUMzMzQuNSAzOSAzNDkuNCAyNC4xIDM1Mi45IDIwLjYgMzY2LjQgNyAzODQuOC0uNiA0MDQtLjZTNDQxLjYgNyA0NTUuMSAyMC42bDM1LjcgMzUuN0M1MDQuNCA2OS45IDUxMiA4OC4zIDUxMiAxMDcuNHMtNy42IDM3LjYtMjEuMiA1MS4xYy0zLjUgMy41LTE4LjQgMTguNC00NC45IDQ0Ljl6Il19LFNGdD1VaGUsekZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi13YWxraW5nLWFycm93LWxvb3AtbGVmdCIsaWNvbjpbNjQwLDUxMixbXSwiZTU1MSIsIk0xNjAgODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTczLjQgMjI3LjlsMjIuNi0yMi42IDAgNjkuM2MwIDI4IDEyLjIgNTQuNyAzMy41IDcyLjlsNzEuNCA2MS4yYzUuOSA1LjEgOS44IDEyLjEgMTAuOSAxOS44bDEyLjYgODguMWMyLjUgMTcuNSAxOC43IDI5LjcgMzYuMiAyNy4yczI5LjctMTguNyAyNy4yLTM2LjJsLTEyLjYtODguMWMtMy4zLTIzLjEtMTQuOS00NC4xLTMyLjYtNTkuM2wtMzQuNS0yOS42IDAtMTE1LjIgMy44IDQuN2MxOC4yIDIyLjggNDUuOCAzNiA3NSAzNmwzMy4yIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMzLjIgMGMtOS43IDAtMTguOS00LjQtMjUtMTJsLTE3LjktMjIuNGMtMjMtMjguOC01Ny45LTQ1LjYtOTQuOC00NS42LTMyLjIgMC02My4xIDEyLjgtODUuOCAzNS42TDI4LjEgMTgyLjZDMTAuMSAyMDAuNiAwIDIyNSAwIDI1MC41TDAgMjg4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNy41YzAtOC41IDMuNC0xNi42IDkuNC0yMi42ek04NS44IDQwNy4zYy0xLjUgNS4yLTQuMyAxMC04LjEgMTMuOEw5LjQgNDg5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjguMy02OC4zYzExLjUtMTEuNSAxOS45LTI1LjggMjQuNC00MS41bDIuMi03LjYtNDYtMzkuNGMtMi41LTIuMi01LTQuNC03LjQtNi44TDg1LjggNDA3LjN6TTM1OSAzMzVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDcyIDcyYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMzEtMzEgMTAyLjEgMGMxLjIgMCAyLjQtLjEgMy41LS4zIDU2LjEtMy45IDEwMC41LTUwLjYgMTAwLjUtMTA3LjcgMC01OS42LTQ4LjQtMTA4LTEwOC0xMDhsLTkyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsOTIgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MHMtMjYuOSA2MC02MCA2MGwtOTguMSAwIDMxLTMxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTcyIDcyeiJdfSxDRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZS1zaXgiLGljb246WzQ0OCw1MTIsWzk4NjFdLCJmNTI2IiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0xNjAgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTI4IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTMyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTMyMCAxOTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0zMiA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zMjAgMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sV2hlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuZ2xlcy1kb3duIixpY29uOlszODQsNTEyLFsiYW5nbGUtZG91YmxlLWRvd24iXSwiZjEwMyIsIk0yMTQuNiA0NzAuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTE2MC0xNjBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMTkyIDQwMi43IDMyOS40IDI2NS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTE2MCAxNjB6bTE2MC0zNTJsLTE2MCAxNjBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0xNjAtMTYwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDE5MiAyMTAuNyAzMjkuNCA3My40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6Il19LF9GdD1XaGUsVEZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN5cmluZ2UiLGljb246WzU3Niw1MTIsWzEyODEzN10sImY0OGUiLCJNNDk3LjUtMTdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMTUgMTUtNDYuMSA0Ni4xLTYzLTYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcgNy03OC4xIDc4LjEgNDEgNDFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDEtNDEtNDYuMSA0Ni4xIDQxIDQxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQxLTQxLTM3LjcgMzcuN2MtMTAuNSAxMC41LTE2LjQgMjQuNy0xNi40IDM5LjZsMCA4OC44LTU3IDU3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNTctNTcgODguOCAwYzE0LjkgMCAyOS4xLTUuOSAzOS42LTE2LjRsMjI5LjctMjI5LjcgNyA3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNjMtNjMgNDYuMS00Ni4xIDE1IDE1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNjQtNjR6Il19LEdoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aGVhdC1hd24iLGljb246WzU3Niw1MTIsWyJ3aGVhdC1hbHQiXSwiZTJjZCIsIk03OS43IDIzNC42YzYuMi00LjEgMTQuNy0zLjQgMjAuMSAyLjFsNDYuMSA0Ni4xIDYuMSA2LjdjMTkuNyAyMy44IDI2LjMgNTUgMTkuMiA4My45IDMxLjctNy43IDY2LjIgMSA5MC42IDI1LjNsNDYuMSA0Ni4xYzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03LjQgNy40Yy0zNy41IDM3LjUtOTguMyAzNy41LTEzNS44IDBMMTM0LjEgNDQ0LjMgNDkuNCA1MjljLTkuNCA5LjQtMjQuNSA5LjQtMzMuOSAwLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDg0LjctODQuNy0zMC41LTMwLjVjLTM3LjUtMzcuNS0zNy41LTk4LjMgMC0xMzUuN2w3LjQtNy40IDIuNS0yLjF6bTEwNC0xMDRjNi4yLTQuMSAxNC43LTMuNCAyMC4xIDIuMWw0Ni4xIDQ2LjEgNi4xIDYuN2MxOS43IDIzLjggMjYuMyA1NSAxOS4yIDgzLjkgMzEuNy03LjcgNjYuMiAxIDkwLjYgMjUuM2w0Ni4xIDQ2LjFjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcuNCA3LjRjLTM3LjUgMzcuNS05OC4zIDM3LjUtMTM1LjggMGwtOTQuOS05NC45Yy0zNy41LTM3LjUtMzcuNS05OC4zIDAtMTM1LjdsNy40LTcuNCAyLjUtMi4xek00OTUuMiAxNWM5LjQtOS40IDI0LjYtOS40IDM0IDAgOC44IDguOCA5LjMgMjIuNyAxLjYgMzIuMkw1MjkuMiA0OSA0MTQuNyAxNjMuNGM3LjcgMSAxNS4yIDMgMjIuNSA1LjlMNDk1LjUgMTExYzkuNC05LjQgMjQuNi05LjQgMzQgMCA4LjggOC44IDkuMyAyMi43IDEuNiAzMi4xbC0xLjcgMS44LTUyLjcgNTIuNyAzOSAzOWM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNy40IDcuNGMtMzcuNSAzNy41LTk4LjMgMzcuNS0xMzUuOCAwbC05NC45LTk0LjljLTM3LjUtMzcuNS0zNy41LTk4LjMgMC0xMzUuN2w3LjQtNy40IDIuNS0yLjFjNi4yLTQuMSAxNC43LTMuNCAyMC4xIDIuMWwzOSAzOSA1Mi43LTUyLjdjOS40LTkuNCAyNC42LTkuNCAzNCAwIDguOCA4LjggOS4zIDIyLjcgMS42IDMyLjFsLTEuNyAxLjgtNTguMyA1OC4zYzIuOCA3LjEgNC43IDE0LjUgNS43IDIyLjFMNDk1LjIgMTV6Il19LExGdD1HaGUsJEZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLXVwIixpY29uOls1MTIsNTEyLFtdLCJlMjJkIiwiTTIwMCAyNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTI3LjMgMTczLjYgMTU5LjJjNi42IDYuMSAxMC40IDE0LjYgMTAuNCAyMy42bDAgNDMuN2MwIDEwLjktMTAuNyAxOC42LTIxLjEgMTUuMmwtMTYyLjktNTQuMyAwIDk5LjcgNjYgNTIuOGMzLjggMyA2IDcuNiA2IDEyLjVsMCAxOS44YzAgMTAuNC05LjggMTgtMTkuOSAxNS41TDI1NiA1MTIgMTQ3LjkgNTM5Yy0xMC4xIDIuNS0xOS45LTUuMS0xOS45LTE1LjVsMC0xOS44YzAtNC45IDIuMi05LjUgNi0xMi41bDY2LTUyLjggMC05OS43LTE2Mi45IDU0LjNDMjYuNyAzOTYuNCAxNiAzODguNyAxNiAzNzcuOGwwLTQzLjdjMC05IDMuOC0xNy41IDEwLjQtMjMuNkwyMDAgMTUxLjMgMjAwIDI0eiJdfSxERnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYWxpZ24tY2VudGVyIixpY29uOls0NDgsNTEyLFtdLCJmMDM3IiwiTTM1MiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwxMjggMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6bTk2IDEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6TTAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTM1MiAzMjBjMC0xNy43LTE0LjMtMzItMzItMzJsLTE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyeiJdfSxBRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG9ja2V5LXB1Y2siLGljb246WzUxMiw1MTIsW10sImY0NTMiLCJNMjU2IDI1NkMxMTQuNiAyNTYgMCAyMTMgMCAxNjBzMTE0LjYtOTYgMjU2LTk2IDI1NiA0MyAyNTYgOTYtMTE0LjYgOTYtMjU2IDk2ek0wIDM1MkwwIDI0Mi43YzE2LjkgMTIuMyAzNyAyMi4yIDU4LjEgMzAuMSA1MyAxOS45IDEyMyAzMS4yIDE5Ny45IDMxLjJzMTQ0LjktMTEuMyAxOTcuOS0zMS4yYzIxLjItNy45IDQxLjItMTcuOCA1OC4xLTMwLjFMNTEyIDM1MmMwIDUzLTExNC42IDk2LTI1NiA5NlMwIDQwNSAwIDM1MnoiXX0sWWhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1hcnJvdy1sZWZ0IixpY29uOls1MTIsNTEyLFsiYXJyb3ctY2lyY2xlLWxlZnQiXSwiZjBhOCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTM1IDIzOWw4MC04MGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTM5IDM5IDE1MC4xIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE1MC4xIDAgMzkgMzljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtODAtODBjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxQRnQ9WWhlLEVGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVnLWNpcmNsZS1ib2x0IixpY29uOls2NDAsNTEyLFtdLCJlNTViIiwiTTE5Mi0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA0OC43Yy05OC42IDguMS0xNzYgOTAuNy0xNzYgMTkxLjMgMCAyNy4zIDUuNyA1My4zIDE2IDc2LjlsMCAzLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzE2NS4yIDM5OC4xIDk2IDMxOS4xIDk2IDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDk2IDk2IDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzUyIDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xNzcuNC03N2MtNS44LTQuMi0xMy44LTQtMTkuNCAuNWwtODAgNjRjLTUuMyA0LjItNy40IDExLjQtNS4xIDE3LjhTNDMzLjIgNDE2IDQ0MCA0MTZsMzIuOSAwLTE1LjkgNDIuNGMtMi41IDYuNy0uMiAxNC4zIDUuNiAxOC42czEzLjggNCAxOS40LS41bDgwLTY0YzUuMy00LjIgNy40LTExLjQgNS4xLTE3LjhTNTU4LjggMzg0IDU1MiAzODRsLTMyLjkgMCAxNS45LTQyLjRjMi41LTYuNyAuMi0xNC4zLTUuNi0xOC42eiJdfSxJRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVzdHJvb20iLGljb246WzY0MCw1MTIsW10sImY3YmQiLCJNODAgNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptNDAgMzA0bDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTU0LjhjLTguMSA5LjItMjEuMSAxMy4yLTMzLjUgOS40LTE2LjktNS4zLTI2LjMtMjMuMi0yMS00MC4xbDI5LjctOTUuMkM0NC40IDE1Ni45IDgzLjYgMTI4IDEyOCAxMjhzODMuNiAyOC45IDk2LjggNzEuMmwyOS43IDk1LjJjNS4zIDE2LjktNC4xIDM0LjgtMjEgNDAuMS0xMi40IDMuOS0yNS40LS4yLTMzLjUtOS40TDIwMCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjgtMTYgMHpNMzIwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0NjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00NjRjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTQ2NCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek00NDAgNDgwbDAtOTYtMTcuOCAwYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMWw5LTI2LjljLTMuMiAwLTYuNC0uNS05LjUtMS41LTE2LjktNS4zLTI2LjMtMjMuMi0yMS00MC4xbDI5LjctOTUuMkM0MjguNCAxNTYuOSA0NjcuNiAxMjggNTEyIDEyOHM4My42IDI4LjkgOTYuOCA3MS4ybDI5LjcgOTUuMmM1LjMgMTYuOS00LjEgMzQuOC0yMSA0MC4xLTMuMiAxLTYuNCAxLjUtOS41IDEuNWw5IDI2LjljMy41IDEwLjQtNC4zIDIxLjEtMTUuMiAyMS4xbC0xNy44IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2LTE2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMnoiXX0sTkZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuY2hvci1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNGFkIiwiTTMyMC41IDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bS0zMi05NmMtNTMgMC05NiA0My05NiA5NiAwIDQxLjggMjYuNyA3Ny40IDY0IDkwLjVsMCAyNTcuOWMtNjIuOS0xNC4zLTExMC4yLTY5LjctMTExLjktMTM2LjVsMTYuMSAxNC4xYzEwIDguNyAyNS4xIDcuNyAzMy45LTIuM3M3LjctMjUuMS0yLjMtMzMuOWwtNjQtNTZjLTktNy45LTIyLjYtNy45LTMxLjYgMGwtNjQgNTZjLTEwIDguNy0xMSAyMy45LTIuMyAzMy45czIzLjkgMTEgMzMuOSAyLjNsMTYuMi0xNC4yYzIuMSAxMTMuMSA5NC40IDIwNC4xIDIwOCAyMDQuMSAyOC4zIDAgNTUuNC01LjcgODAtMTUuOWwwLS4yIDAtNzIuMmMtMTQuNCA5LjYtMzAuNiAxNi43LTQ4IDIwLjdsMC0yNTcuOWMzNy4zLTEzLjIgNjQtNDguNyA2NC05MC41IDAtNTMtNDMtOTYtOTYtOTZ6bTI3MiAzMDQuMWwwIDQ3LjktNjQgMCAwLTQ3LjljMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpNNDE2LjUgNDAwbDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDhsMTI4IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTIwLjktMTMuNC0zOC43LTMyLTQ1LjNsMC01MC42YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwbDAgNTAuNmMtMTguNiA2LjYtMzIgMjQuNC0zMiA0NS4zeiJdfSxSRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGltZWxpbmUiLGljb246WzU3Niw1MTIsW10sImUyOWMiLCJNMTYwIDE2OS4zYzI4LjMtMTIuMyA0OC00MC41IDQ4LTczLjMgMC00NC4yLTM1LjgtODAtODAtODBTNDggNTEuOCA0OCA5NmMwIDMyLjggMTkuNyA2MSA0OCA3My4zbDAgNTQuNy02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDIyNCAwIDAgNTQuN2MtMjguMyAxMi4zLTQ4IDQwLjUtNDggNzMuMyAwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMzIuOC0xOS43LTYxLTQ4LTczLjNsMC01NC43IDIyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtNTQuN2MyOC4zLTEyLjMgNDgtNDAuNSA0OC03My4zIDAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwYzAgMzIuOCAxOS43IDYxIDQ4IDczLjNsMCA1NC43LTI1NiAwIDAtNTQuN3oiXX0sT0Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpZ2h0YnVsYiIsaWNvbjpbMzg0LDUxMixbMTI4MTYxXSwiZjBlYiIsIk0yOTIuOSAzODRjNy4zLTIyLjMgMjEuOS00Mi41IDM4LjQtNTkuOSAzMi43LTM0LjQgNTIuNy04MC45IDUyLjctMTMyLjEgMC0xMDYtODYtMTkyLTE5Mi0xOTJTMCA4NiAwIDE5MmMwIDUxLjIgMjAgOTcuNyA1Mi43IDEzMi4xIDE2LjUgMTcuNCAzMS4yIDM3LjYgMzguNCA1OS45bDIwMS43IDB6TTI4OCA0MzJsLTE5MiAwIDAgMTZjMCA0NC4yIDM1LjggODAgODAgODBsMzIgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTE2ek0xODQgMTEyYy0zOS44IDAtNzIgMzIuMi03MiA3MiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMCAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNHoiXX0sS2hlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1hcnJvdy1yaWdodCIsaWNvbjpbNTEyLDUxMixbImFycm93LWNpcmNsZS1yaWdodCJdLCJmMGE5IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem00MS0xNTljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzktMzktMTUwLjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNTAuMSAwLTM5LTM5Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsODAgODBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTgwIDgweiJdfSxGRnQ9S2hlLEJGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLWFuZC12ZW51cyIsaWNvbjpbNTEyLDUxMixbOTg5M10sImYyMjQiLCJNMzY4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTEyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zNC43LTYzIDYzYzE5LjUgMjguNCAzMSA2Mi43IDMxIDk5LjggMCA4Ni4zLTYyLjEgMTU4LjEtMTQ0IDE3My4xbDAgMzQuOSAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC0zNC45Yy04MS45LTE1LTE0NC04Ni44LTE0NC0xNzMuMSAwLTk3LjIgNzguOC0xNzYgMTc2LTE3NiAzNyAwIDcxLjQgMTEuNCA5OS44IDMxbDYzLTYzLTM0LjcgMHpNMzUyIDIwOGExMTIgMTEyIDAgMSAwIC0yMjQgMCAxMTIgMTEyIDAgMSAwIDIyNCAweiJdfSwkdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibmV0d29yay13aXJlZCIsaWNvbjpbNTc2LDUxMixbXSwiZjZmZiIsIk0yNDggODhsODAgMCAwIDQ4LTgwIDAgMC00OHptLTgtNTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjRjMCAyNi41IDIxLjUgNDggNDggNDhsMTYgMCAwIDMyLTIyNCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDAgMCAzMi0xNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtMTYgMCAwLTMyIDE5MiAwIDAgMzItMTYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTE2IDAgMC0zMiA5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yMjQgMCAwLTMyIDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtOTYgMHpNNDQ4IDM3Nmw4IDAgMCA0OC04MCAwIDAtNDggNzIgMHptLTI1NiAwbDggMCAwIDQ4LTgwIDAgMC00OCA3MiAweiJdfSxIRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctc2hpZWxkIixpY29uOls1NzYsNTEyLFtdLCJlNGQ4IiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjAxLjIgMGMtMTIuNS0xNC43LTIzLjItMzAuOC0zMS44LTQ4bC04OS41IDAgMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwIDAtMjYuN2MwLTE4LjEgNi4xLTM1LjIgMTYuNi00OC44LS40LTEuNC0uNi0yLjktLjYtNC41bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMSA4Ni43LTI4LjljMy4xLTEgNi4yLTEuOCA5LjMtMi41TDQxNiA2NGMwLTM1LjMtMjguNy02NC02NC02NEw5NiAwem0zMiAxMTJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTEyOCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNNDQ1LjMgNDg4LjVsLTEzLjMgNi4zIDAtMTg4LjEgOTYgMzIgMCAxOS42YzAgNTUuOC0zMi4yIDEwNi41LTgyLjcgMTMwLjN6TTQyMS45IDI1OS41bC0xMTIgMzcuM2MtMTMuMSA0LjQtMjEuOSAxNi42LTIxLjkgMzAuNGwwIDMxLjFjMCA3NC40IDQzIDE0Mi4xIDExMC4yIDE3My43bDE4LjUgOC43YzQuOCAyLjIgMTAgMy40IDE1LjIgMy40czEwLjUtMS4yIDE1LjItMy40bDE4LjUtOC43QzUzMyA1MDAuMyA1NzYgNDMyLjYgNTc2IDM1OC4ybDAtMzEuMWMwLTEzLjgtOC44LTI2LTIxLjktMzAuNGwtMTEyLTM3LjNjLTYuNi0yLjItMTMuNy0yLjItMjAuMiAweiJdfSxxRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29kZSIsaWNvbjpbNTc2LDUxMixbXSwiZjEyMSIsIk0zNjAuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em02NC42IDEzNi4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w3My40IDczLjQtNzMuNCA3My40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDB6bS0yNzQuNyAwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTYgMTUwLjYgMTgyLjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjN6Il19LFpoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmZWF0aGVyLXBvaW50ZWQiLGljb246WzUxMiw1MTIsWyJmZWF0aGVyLWFsdCJdLCJmNTZiIiwiTTQ3NS4zIC4xYzkuOS0uOCAxOS42IDMgMjYuNiAxMHMxMC44IDE2LjcgMTAgMjYuNmMtNCA0OS4zLTE3LjQgMTI2LjItNDYuMyAxOTkuNy0xLjggNC41LTUuNSA3LjktMTAuMiA5LjNMMzc0LjUgMjcwYy0zLjkgMS4yLTYuNSA0LjctNi41IDguOCAwIDUuMSA0LjEgOS4yIDkuMiA5LjJsMzguNiAwYzEyIDAgMTkuNyAxMi44IDEzLjUgMjMuMS00IDYuNy04LjMgMTMuMi0xMi43IDE5LjYtMiAyLjktNSA1LTguNCA2LjFMMzEwLjUgMzY2Yy0zLjkgMS4yLTYuNSA0LjctNi41IDguOCAwIDUuMSA0LjEgOS4yIDkuMiA5LjJsMTYgMGMxNC42IDAgMjEgMTcuNCA4LjggMjUuNC02OCA0NS0xMzcuNyA0My4zLTE4Mi40IDMxLjMtMTIuNy0zLjQtMjQtOS45LTM0LjQtMTcuOUw0OCA0OTZjLTguOCA4LjgtMjMuMiA4LjgtMzIgMHMtOC44LTIzLjIgMC0zMmw4MC04MCAuNSAuNWMuNy0xLjMgMS42LTIuNSAyLjctMy42TDI1NiAyMjRjOC44LTguOCA4LjgtMjMuMiAwLTMycy0yMy4yLTguOC0zMiAwTDg5LjcgMzI2LjJjLTguOSA4LjktMjQgNC40LTI1LTguMi00LjMtNTMuMiA5LjMtMTIzLjEgNzIuNi0xODYuNCA5MS4xLTkxLjEgMjU0LjItMTI0LjcgMzM3LjktMTMxLjV6Il19LFZGdD1aaGUsakZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtY2lyY2xlLXF1ZXN0aW9uIixpY29uOls1NzYsNTEyLFtdLCJlNGVmIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTIyLjctMzEuNS0zNi03MC4yLTM2LTExMiAwLTEwMC42IDc3LjQtMTgzLjIgMTc2LTE5MS4zbDAtMzguMWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTAwYTIwIDIwIDAgMSAxIDAgNDAgMjAgMjAgMCAxIDEgMC00MHptMC0xMDBjLTExLjYgMC0yMS4zIDguMi0yMy41IDE5LjItMS44IDguNy0xMC4yIDE0LjMtMTguOSAxMi41cy0xNC4zLTEwLjItMTIuNS0xOC45YzUuMi0yNS42IDI3LjgtNDQuOCA1NC45LTQ0LjggMzAuOSAwIDU2IDI1LjEgNTYgNTYgMCAxOS44LTExLjcgMzcuOC0yOS44IDQ1LjlsLTEwLjQgNC42Yy0xLjIgNy43LTcuOCAxMy41LTE1LjggMTMuNS04LjggMC0xNi03LjItMTYtMTYgMC0xMS4yIDYuNi0yMS4zIDE2LjgtMjUuOWwxMi40LTUuNWM2LjYtMi45IDEwLjgtOS40IDEwLjgtMTYuNiAwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sVUZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpZ25hdHVyZSIsaWNvbjpbNjQwLDUxMixbXSwiZjViNyIsIk0xOTIgMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA3LjhjMCAyNy43LTIuNCA1NS4zLTcuMSA4Mi41bC04NC40IDI1LjNjLTQwLjYgMTIuMi02OC40IDQ5LjYtNjguNCA5MmwwIDMyLjQtNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3Mi41IDBjNC4yIDM2IDM0LjggNjQgNzIgNjQgMjYgMCA1MC0xMy45IDYyLjktMzYuNWwxMy45LTI0LjNjMjYuOC00NyA0Ni41LTk3LjcgNTguNC0xNTAuNWw5NC40LTI4LjMtMTIuNSAzNy41Yy0zLjMgOS44LTEuNiAyMC41IDQuNCAyOC44UzQwNS43IDMyMCA0MTYgMzIwbDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC04My42IDAgMTgtNTMuOWMzLjgtMTEuMyAuOS0yMy44LTcuNC0zMi40cy0yMC43LTExLjgtMzIuMi04LjRMMzE2LjQgMTk4LjFjMi40LTIwLjcgMy42LTQxLjQgMy42LTYyLjNsMC03LjhjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzJ6bS05LjIgMTc3bDQ5LTE0LjdjLTEwLjQgMzMuOC0yNC41IDY2LjQtNDIuMSA5Ny4ybC0xMy45IDI0LjNjLTEuNSAyLjYtNC4zIDQuMy03LjQgNC4zLTQuNyAwLTguNS0zLjgtOC41LTguNWwwLTcxLjljMC0xNC4xIDkuMy0yNi42IDIyLjgtMzAuN3pNNjE2IDQxNmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjkyLjkgMGMtNi41IDE2LjMtMTMuNyAzMi4zLTIxLjYgNDhMNjE2IDQxNnoiXX0sQmI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWFydGgtYW1lcmljYXMiLGljb246WzUxMiw1MTIsWzEyNzc1OCwiZWFydGgiLCJlYXJ0aC1hbWVyaWNhIiwiZ2xvYmUtYW1lcmljYXMiXSwiZjU3ZCIsIk01NS43IDE5OS43bDMwLjkgMzAuOWM2IDYgMTQuMSA5LjQgMjIuNiA5LjRsMjEuNSAwYzguNSAwIDE2LjYgMy40IDIyLjYgOS40bDI5LjMgMjkuM2M2IDYgOS40IDE0LjEgOS40IDIyLjZsMCAzNy41YzAgOC41IDMuNCAxNi42IDkuNCAyMi42bDEzLjMgMTMuM2M2IDYgOS40IDE0LjEgOS40IDIyLjZsMCAxOC43YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yLjdjMC04LjUgMy40LTE2LjYgOS40LTIyLjZsNDUuMy00NS4zYzYtNiA5LjQtMTQuMSA5LjQtMjIuNmwwLTM0LjdjMC0xNy43LTE0LjMtMzItMzItMzJsLTgyLjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTE2LTE2Yy00LjItNC4yLTYuNi0xMC02LjYtMTYgMC0xMi41IDEwLjEtMjIuNiAyMi42LTIyLjZsMzQuNyAwYzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42IDAtNi0yLjQtMTEuOC02LjYtMTZsLTE5LjctMTkuN0MyNDIgMTMwIDI0MCAxMjUuMSAyNDAgMTIwczItMTAgNS43LTEzLjdsMTcuMy0xNy4zYzUuOC01LjggOS4xLTEzLjcgOS4xLTIxLjkgMC03LjItMi40LTEzLjctNi40LTE4LjktMy4yLS4xLTYuNC0uMi05LjYtLjItOTUuNCAwLTE3NS43IDY0LjItMjAwLjMgMTUxLjd6TTQ2NCAyNTZjMC0zNC42LTguNC02Ny4yLTIzLjQtOTUuOC02LjQgLjktMTIuNyAzLjktMTcuOSA5LjFsLTEzLjQgMTMuNGMtNiA2LTkuNCAxNC4xLTkuNCAyMi42bDAgMzQuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMmwyNC4xIDBjMi41IDAgNS0uMyA3LjMtLjggLjQtNSAuNS0xMC4xIC41LTE1LjJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6Il19LFdGdD1CYixHRnQ9QmIsWUZ0PUJiLEtGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJyb3QiLGljb246WzY0MCw1MTIsWzEyOTM2NV0sImY3ODciLCJNNDUzLjEtMzYuN0w0NDAuOS0yNC42Yy0zMS4yIDMxLjItMzEuMiA4MS45IDAgMTEzLjEgMTUuNiAxNS42IDMxLjIgMzEuMiA0Ni45IDQ2LjkgMzEuMiAzMS4yIDgxLjkgMzEuMiAxMTMuMSAwbDEyLjEtMTIuMWM2LjItNi4yIDYuMi0xNi40IDAtMjIuNkw2MDAuOSA4OC42Yy0zMS4yLTMxLjItODEuOS0zMS4yLTExMy4xIDAgMzEuMi0zMS4yIDMxLjItODEuOSAwLTExMy4xTDQ3NS43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwek0zMzEuNiA5NmMtNDUuMiAwLTg3LjEgMjAuNC0xMTUgNTQuM0wyNzMuMyAyMDdjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEwxOTEuNiAxOTMuMiA2Ny4yIDQ2Ni44Yy01LjUgMTIuMS0yLjkgMjYuNCA2LjUgMzUuOXMyMy43IDEyIDM1LjkgNi41bDE0MS42LTY0LjQtNDMuOC00My44Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNTYuNSA1Ni41IDk1LjMtNDMuM2M1My4xLTI0LjEgODcuMi03Ny4xIDg3LjItMTM1LjUgMC04Mi4yLTY2LjYtMTQ4LjgtMTQ4LjgtMTQ4Ljh6Il19LEhiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLWZ1bGwiLGljb246WzMyMCw1MTIsWyJ0ZW1wZXJhdHVyZS00IiwidGhlcm1vbWV0ZXItNCIsInRoZXJtb21ldGVyLWZ1bGwiXSwiZjJjNyIsIk0xNjAgMEMxMDcgMCA2NCA0MyA2NCA5NmwwIDE2NC43QzM0LjUgMjg3IDE2IDMyNS40IDE2IDM2OCAxNiA0NDcuNSA4MC41IDUxMiAxNjAgNTEyczE0NC02NC41IDE0NC0xNDRjMC00Mi42LTE4LjUtODEtNDgtMTA3LjNMMjU2IDk2YzAtNTMtNDMtOTYtOTYtOTZ6bTY0IDM2OGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTI2LjkgMTYuNS00OS45IDQwLTU5LjNMMTM2IDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAyMTIuN2MyMy41IDkuNSA0MCAzMi41IDQwIDU5LjN6Il19LFpGdD1IYixYRnQ9SGIsUUZ0PUhiLEpGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS1jZWxscy1yb3ctbG9jayIsaWNvbjpbNjQwLDUxMixbXSwiZTY3YSIsIk0yNTYgMjg4bDAtNjQgMTUzLjMgMGMxNy4xLTQyLjIgNTYtNzMuMiAxMDIuNy03OWwwLTQ5YzAtMzUuMy0yOC43LTY0LTY0LTY0TDEyOCAzMkM5Mi43IDMyIDY0IDYwLjcgNjQgOTZsMCAzMjBjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjQxLjMgMGMtLjktNS4yLTEuMy0xMC42LTEuMy0xNi4xbDAtNDcuOS0xMTIgMCAwLTY0IDExMy4zIDBjMy43LTIyIDE0LjgtNDEuNCAzMC43LTU1LjZsMC04LjQtMTQ0IDB6bTAtMTkybDE5MiAwIDAgNjQtMTkyIDAgMC02NHpNNTYwIDI3Mi4xbDAgNDcuOS02NCAwIDAtNDcuOWMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyek00MTYgMzY4bDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDhsMTI4IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTIwLjktMTMuNC0zOC43LTMyLTQ1LjNsMC01MC42YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwbDAgNTAuNmMtMTguNiA2LjYtMzIgMjQuNC0zMiA0NS4zeiJdfSxlQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9sdC1saWdodG5pbmciLGljb246WzM4NCw1MTIsW10sImUwYjciLCJNMCAyNTZMMjguNSAyOGMyLTE2IDE1LjYtMjggMzEuOC0yOEwyMjguOSAwYzE1IDAgMjcuMSAxMi4xIDI3LjEgMjcuMSAwIDMuMi0uNiA2LjUtMS43IDkuNUwyMDggMTYwIDM0Ny4zIDE2MGMyMC4yIDAgMzYuNyAxNi40IDM2LjcgMzYuNyAwIDcuNC0yLjIgMTQuNi02LjQgMjAuN2wtMTkyLjIgMjgxYy01LjkgOC42LTE1LjYgMTMuNy0yNS45IDEzLjdsLTIuOSAwYy0xNS43IDAtMjguNS0xMi44LTI4LjUtMjguNSAwLTIuMyAuMy00LjYgLjktNi45TDE3NiAyODggMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0sdEJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLXNob3dlcnMtd2F0ZXIiLGljb246WzUxMiw1MTIsW10sImU0ZTQiLCJNMjc5LjIgNTUuN0MyNjMuOSAyMi44IDIzMC42IDAgMTkyIDAgMTM5IDAgOTYgNDMgOTYgOTYgNjAuNyA5NiAzMiAxMjQuNyAzMiAxNjBzMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NGwtMS42IDBjLTcuNC0zNi41LTM5LjctNjQtNzguNC02NC0yMi4yIDAtNDIuMyA5LjEtNTYuOCAyMy43ek00MTAuNiA0NzYuMWMyMC43IDE1LjYgNDYgMzAuNyA3NC4yIDM0LjUgMTMuMSAxLjggMjUuMi03LjUgMjctMjAuNnMtNy41LTI1LjItMjAuNi0yN2MtMTUuOS0yLjEtMzMuMi0xMS4zLTUxLjctMjUuMi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0xOC41IDEzLjktMzUuOCAyMy4xLTUxLjcgMjUuMi0xMy4xIDEuOC0yMi40IDEzLjgtMjAuNiAyN3MxMy44IDIyLjQgMjcgMjAuNmMyOC4yLTMuOCA1My42LTE4LjkgNzQuMi0zNC41IDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1LjljMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDB6TTEwMC4xIDMwMy42YzQuMi0xMi42LTIuNi0yNi4yLTE1LjItMzAuNHMtMjYuMiAyLjYtMzAuNCAxNS4ybC0yMS4zIDY0QzI5IDM2NSAzNS44IDM3OC42IDQ4LjQgMzgyLjhzMjYuMi0yLjYgMzAuNC0xNS4ybDIxLjMtNjR6bTEyMCAwYzQuMi0xMi42LTIuNi0yNi4yLTE1LjItMzAuNHMtMjYuMiAyLjYtMzAuNCAxNS4ybC0yMS4zIDY0Yy00LjIgMTIuNiAyLjYgMjYuMiAxNS4yIDMwLjRzMjYuMi0yLjYgMzAuNC0xNS4ybDIxLjMtNjR6bTExMiAwYzQuMi0xMi42LTIuNi0yNi4yLTE1LjItMzAuNHMtMjYuMiAyLjYtMzAuNCAxNS4ybC0yMS4zIDY0Yy00LjIgMTIuNiAyLjYgMjYuMiAxNS4yIDMwLjRzMjYuMi0yLjYgMzAuNC0xNS4ybDIxLjMtNjR6bTEyMCAwYzQuMi0xMi42LTIuNi0yNi4yLTE1LjItMzAuNHMtMjYuMiAyLjYtMzAuNCAxNS4ybC0yMS4zIDY0Yy00LjIgMTIuNiAyLjYgMjYuMiAxNS4yIDMwLjRzMjYuMi0yLjYgMzAuNC0xNS4ybDIxLjMtNjR6Il19LFhoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC1sb25nIixpY29uOlszMjAsNTEyLFsibG9uZy1hcnJvdy11cCJdLCJmMTc2IiwiTTE4Mi42LTIyLjZjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDEyOCA3Ny4zIDEyOCA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTQzNC43IDczLjQgNzMuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4eiJdfSxhQnQ9WGhlLEhlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhZGRyZXNzLWNhcmQiLGljb246WzU3Niw1MTIsWzYyMTQwLCJjb250YWN0LWNhcmQiLCJ2Y2FyZCJdLCJmMmJiIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTgwIDI1Nmw2NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNkw4MCAzODRjLTguOCAwLTE2LTcuMi0xNi0xNiAwLTQ0LjIgMzUuOC04MCA4MC04MHptLTI0LTk2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptMjQwLTQ4bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMTIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMCA5NmwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTEyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LHJCdD1IZWUsc0J0PUhlZSxpQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGUtcmlnaHQiLGljb246WzI1Niw1MTIsWzgyNTBdLCJmMTA1IiwiTTI0Ny4xIDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xNjAgMTYwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wxNzkuMiAyNTYgNDEuOSAxMTguNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYweiJdfSxRaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1tZWgiLGljb246WzUxMiw1MTIsWzEyODUyOCwibWVoIl0sImYxMWEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE3NiAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMTc2IDMyMGwxNjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LG9CdD1RaGUsbkJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLWZyb20tZ3JvdW5kLXdhdGVyIixpY29uOls2NDAsNTEyLFtdLCJlNGI1IiwiTTMwMyA3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDg4IDg4YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ3LTQ3IDAgMjc4LjFjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yNzguMS00NyA0N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOUwzMDMgN3pNMjQwIDE5MmwwIDE2My4xYy0xMC42LTIuMi0yMS4zLTMuMi0zMi0zLjEtMzIuNSAuMi02NC45IDEwLjctOTIuMyAzMS40LTguOCA2LjYtMTUuOSAxMC45LTIxLjcgMTMuNWwtLjggLjRjLTMuNyAxLjctNi40IDIuOS05LjggLjMtNi00LjUtMTIuNi04LTE5LjMtMTAuNEw2NCAyNDBjMC0yNi41IDIxLjUtNDggNDgtNDhsMTI4IDB6bTMzNiA0OGwwIDE1NS4yYy0xLjEgLjgtMi4yIDEuNS0zLjMgMi40LTQuMSAzLjEtOC4zIC44LTEyLjYtMS41LS42LS4zLTEuMi0uNi0xLjgtMS01LjItMi43LTExLjEtNi42LTE4LTExLjctMjguMS0yMS4xLTYxLjMtMzEuNi05NC40LTMxLjQtMTUuNSAuMS0zMSAyLjUtNDYgNy4zbDAtMTY3LjMgMTI4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTQwMy40IDQ3Ni4xQzM3OS4xIDQ5NC4zIDM1MS4xIDUxMiAzMjAgNTEycy01OS4xLTE3LjctODMuNC0zNS45Yy0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMC0yMy44IDE3LjktNTQuMSAzNS41LTg4LjEgMzUuMy0yMC40LS4xLTQwLjctNi43LTU5LjgtMjEuMS0xMC42LTgtMTIuNy0yMy00LjctMzMuNnMyMy0xMi43IDMzLjYtNC43YzExLjMgOC41IDIxLjYgMTEuNCAzMS4yIDExLjUgMTcuNiAuMSAzNy4zLTkuNCA1OC45LTI1LjcgMzguNC0yOSA5MC41LTI5IDEyOSAwIDI0IDE4LjEgNDAuNyAyNi4zIDU0LjUgMjYuM3MzMC41LTguMiA1NC41LTI2LjNjMzguNC0yOSA5MC41LTI5IDEyOSAwIDE2LjkgMTIuNyAzMi45IDIxLjUgNDcuOCAyNC42IDEzLjcgMi44IDI3LjQgLjkgNDIuMy0xMC4zIDEwLjYtOCAyNS42LTUuOSAzMy42IDQuN3M1LjkgMjUuNi00LjcgMzMuNmMtMjYuNCAxOS45LTU0LjIgMjQuNC04MC43IDE5LjEtMjUuMy01LjEtNDguMS0xOC45LTY3LjItMzMuMy0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMHoiXX0sbEJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcCIsaWNvbjpbNTEyLDUxMixbMTI4NTA2LDYyMDcyXSwiZjI3OSIsIk01MTIgNDhjMC0xMS4xLTUuNy0yMS40LTE1LjItMjcuMnMtMjEuMi02LjQtMzEuMS0xLjRMMzQ5LjUgNzcuNSAxNzAuMSAxNy42Yy04LjEtMi43LTE2LjgtMi4xLTI0LjQgMS43bC0xMjggNjRDNi44IDg4LjggMCA5OS45IDAgMTEyTDAgNDY0YzAgMTEuMSA1LjcgMjEuNCAxNS4yIDI3LjJzMjEuMiA2LjQgMzEuMSAxLjRsMTE2LjEtNTguMSAxNzkuNCA1OS44YzguMSAyLjcgMTYuOCAyLjEgMjQuNC0xLjdsMTI4LTY0YzEwLjgtNS40IDE3LjctMTYuNSAxNy43LTI4LjZsMC0zNTJ6TTE5MiAzNzYuOWwwLTI4NC41IDEyOCA0Mi43IDAgMjg0LjUtMTI4LTQyLjd6Il19LGNCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLXBsdXMiLGljb246WzY0MCw1MTIsW10sImYyMzQiLCJNMjg1LjcgMzA0Yzk4LjUgMCAxNzguMyA3OS44IDE3OC4zIDE3OC4zIDAgMTYuNC0xMy4zIDI5LjctMjkuNyAyOS43TDc3LjcgNTEyQzYxLjMgNTEyIDQ4IDQ5OC43IDQ4IDQ4Mi4zIDQ4IDM4My44IDEyNy44IDMwNCAyMjYuMyAzMDRsNTkuNCAwek01MjggODBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OCA0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwIDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQ4IDAgMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMjU2IDI0OGExMjAgMTIwIDAgMSAxIDAtMjQwIDEyMCAxMjAgMCAxIDEgMCAyNDB6Il19LGRCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2ZW51cyIsaWNvbjpbMzg0LDUxMixbOTc5Ml0sImYyMjEiLCJNODAgMTc2YTExMiAxMTIgMCAxIDEgMjI0IDAgMTEyIDExMiAwIDEgMSAtMjI0IDB6TTIyMy45IDM0OS4xQzMwNS45IDMzNC4xIDM2OCAyNjIuMyAzNjggMTc2IDM2OCA3OC44IDI4OS4yIDAgMTkyIDBTMTYgNzguOCAxNiAxNzZjMCA4Ni4zIDYyLjEgMTU4LjEgMTQ0LjEgMTczLjEtLjEgMS0uMSAxLjktLjEgMi45bDAgNjQtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC02NGMwLTEgMC0xLjktLjEtMi45eiJdfSx1QnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlhZ3JhbS1zdWNjZXNzb3IiLGljb246WzQ0OCw1MTIsW10sImU0N2EiLCJNMjg5LjIgMTM3LjljMi41LTYgOC4zLTkuOSAxNC44LTkuOWw0MCAwIDAtMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTk4IDBjMS4zIDUuMSAyIDEwLjUgMiAxNmwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC05NiAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDI1NiAwYzM5LjggMCA3MiAzMi4yIDcyIDcybDAgMjQgNDAgMGM2LjUgMCAxMi4zIDMuOSAxNC44IDkuOXMxLjEgMTIuOS0zLjUgMTcuNGwtNjQgNjRjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC02NC02NGMtNC42LTQuNi01LjktMTEuNS0zLjUtMTcuNHpNMzg0IDQ4MEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NHpNMTYwIDE2MGwwLTY0LTk2IDAgMCA2NCA5NiAweiJdfSxwQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhZC1zaWRlLWNvdWdoLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJlMDYyIiwiTTUzNS0yNC45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUw0MSA1MzcuMWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwyNS0yNSAwLTQ0Ny4yYzAtMTUgMTAuNS0yOC4zIDI1LjQtMjkuOCA3LjQtLjcgMTQuOS0xLjEgMjIuNi0xLjEgMTEyLjcgMCAyMDYgODMuMyAyMjEuNyAxOTEuNyAuNCAzIDEuNyA1LjkgMy42IDguM2wyLjIgMi42IDIyNy41LTIyNy41ek0xMzMuOCA1MTJMMjg4IDM1Ny44IDI4OCA0MTZjMCA1My00MyA5Ni05NiA5NmwtNTguMiAwek0xNzYgMjI0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMzM2IDQwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptLTg4IDcyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bS02NCA0OGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xMjggMGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0yNCA3MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bS04OC0yNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxKaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlhZ3JhbS1wcm9qZWN0IixpY29uOls1MTIsNTEyLFsicHJvamVjdC1kaWFncmFtIl0sImY1NDIiLCJNMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTYgMTI4IDAgMC0xNmMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTYtMTI4IDAgMCAxNmMwIDcuMy0xLjcgMTQuMy00LjYgMjAuNWw2OC42IDkxLjUgODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtNy4zIDEuNy0xNC4zIDQuNi0yMC41TDEyOCAyMjQgNDggMjI0Yy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgweiJdfSxmQnQ9SmhlLER0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZXJtaW5hbCIsaWNvbjpbNTEyLDUxMixbXSwiZjEyMCIsIk05LjQgMTE4LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTYwIDE2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMTQ2LjcgMjU2IDkuNCAxMTguNnpNMjI0IDM4NGwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LGhCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1maXJlIixpY29uOls2NDAsNTEyLFtdLCJlNTBjIiwiTTQ0OCAxOTJjMTQuMSAuNCAyMy44IDExLjQgMzIuNyAyMS43IDIgMi4zIDQgNC42IDYgNi43bDE5IDE5LjkgMTIuMi0xMy44YzUuNC02LjEgMTMuMy04LjkgMjAuOS04LjkgNy4yIDAgMTQuMyAyLjYgMTkuOSA3LjggMTkuNyAxOC4zIDM5LjggNDMuMiA1NSA3MC42IDE1LjEgMjcuMiAyNi4yIDU4LjIgMjYuMiA4OC4yIDAgODguNy03MS4zIDE1OS44LTE2MCAxNTkuOC04OS42IDAtMTYwLTcxLjMtMTYwLTE1OS44IDAtMzcuMyAxNi03My40IDM2LjgtMTA0LjUgMjAuOS0zMS4zIDQ3LjUtNTkgNzAuOS04MC4xIDUuNy01LjIgMTMuMS03LjcgMjAuMy03LjV6TTI2OC42IDYuNWMxMi4yLTkuMyAyOS43LTguNyA0MS4yIDJsMTQ3LjUgMTM3Yy0xOS4yLTQuMy00MCAuNS01NS41IDE0LjQtMzYuNCAzMi42LTY3LjcgNjkuOC05MC4zIDEwNi40LTEwLjMgMTYuNi0xOS43IDM0LjktMjYuOCA1My43TDI3MiAzMjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTYgNjQuNiAwYzcuMyAxNy4yIDE2LjggMzMuNCAyOC4yIDQ4TDE0NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOCAyLjQtMnpNNDg5LjMgMzQzLjdjLTUuNC00LjctMTMuMS00LjctMTguNSAwLTE3LjcgMTUuNC01NC43IDUxLjktNTQuNyA4OC40IDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRjMC0zNi41LTM3LTczLTU0LjctODguNHoiXX0sbUJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hc2siLGljb246WzU3Niw1MTIsW10sImY2ZmEiLCJNMjg4IDY0QzY0IDY0IDAgMTYwIDAgMjcyUzgwIDQ0OCAxNzYgNDQ4bDguNCAwYzI0LjIgMCA0Ni40LTEzLjcgNTcuMi0zNS40bDIzLjItNDYuM2M0LjQtOC44IDEzLjMtMTQuMyAyMy4yLTE0LjNzMTguOCA1LjUgMjMuMiAxNC4zbDIzLjIgNDYuM2MxMC44IDIxLjcgMzMgMzUuNCA1Ny4yIDM1LjRsOC40IDBjOTYgMCAxNzYtNjQgMTc2LTE3NlM1MTIgNjQgMjg4IDY0ek05NiAyNTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwem0zMjAtNjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LGdCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJodXJyaWNhbmUiLGljb246WzM4NCw1MTIsW10sImY3NTEiLCJNMCAyMDhDMCAxMDQuNCA3NS43IDE4LjUgMTc0LjkgMi42IDE4NCAxLjIgMTkyIDguNiAxOTIgMTcuOWwwIDYzLjNjMCA4LjQgNi41IDE1LjMgMTQuNyAxNi41IDEwMC4zIDE0LjkgMTc3LjMgMTAxLjMgMTc3LjMgMjA1LjcgMCAxMDMuNi03NS43IDE4OS41LTE3NC45IDIwNS40LTkuMiAxLjUtMTcuMS01LjktMTcuMS0xNS4ybDAtNjMuM0MxOTIgNDIxLjkgMTg1LjUgNDE1IDE3Ny4zIDQxMy43IDc3IDM5OC45IDAgMzEyLjQgMCAyMDh6bTI4OCA0OGE5NiA5NiAwIDEgMCAtMTkyIDAgOTYgOTYgMCAxIDAgMTkyIDB6bS05Ni0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LGU4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlYXJ0aC1hZnJpY2EiLGljb246WzUxMiw1MTIsWzEyNzc1NywiZ2xvYmUtYWZyaWNhIl0sImY1N2MiLCJNNDQ3LjYgMTc1Yy0zMS42LTc0LjYtMTA1LjUtMTI3LTE5MS42LTEyNy0yMi4xIDAtNDMuNCAzLjUtNjMuNCA5LjgtLjQgMi0uNiA0LjEtLjYgNi4ybDAgNzMuNGMwIDEyLjUgMTAuMSAyMi42IDIyLjYgMjIuNiA2IDAgMTEuOC0yLjQgMTYtNi42bDE2LTE2YzYtNiAxNC4xLTkuNCAyMi42LTkuNGw1LjUgMGMyOC41IDAgNDIuOCAzNC41IDIyLjYgNTQuNi02IDYtMTQuMSA5LjQtMjIuNiA5LjRsLTYxLjUgMGMtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjRsLTIxLjMgMjEuM2MtNiA2LTkuNCAxNC4xLTkuNCAyMi42bDAgNDIuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMi43IDBjOC41IDAgMTYuNi0zLjQgMjIuNi05LjRsMjkuMy0yOS4zYzYtNiA5LjQtMTQuMSA5LjQtMjIuNmwwLTE4LjdjMC04LjggNy4yLTE2IDE2LTE2czE2LTcuMiAxNi0xNmwwLTM0LjdjMC04LjUtMy40LTE2LjYtOS40LTIyLjZsLTE2LTE2Yy00LjItNC4yLTYuNi0xMC02LjYtMTYgMC0xMi41IDEwLjEtMjIuNiAyMi42LTIyLjZsNDUgMGMxMi40IDAgMjIuNy03LjEgMjgtMTd6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6Il19LGJCdD1lOGUsdDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRodW1idGFjayIsaWNvbjpbMzg0LDUxMixbMTI4MjA0LDEyODM5MiwidGh1bWItdGFjayJdLCJmMDhkIiwiTTMyIDMyQzMyIDE0LjMgNDYuMyAwIDY0IDBMMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI5LjUgMCAxMC4zIDEzNC4xYzM3LjEgMjEuMiA2NS44IDU2LjQgNzguMiA5OS43bDMuOCAxMy40YzIuOCA5LjcgLjggMjAtNS4yIDI4LjFTMzYyIDM1MiAzNTIgMzUyTDMyIDM1MmMtMTAgMC0xOS41LTQuNy0yNS41LTEyLjdzLTgtMTguNC01LjItMjguMUw1IDI5Ny44YzEyLjQtNDMuMyA0MS03OC41IDc4LjItOTkuN0w5My41IDY0IDY0IDY0QzQ2LjMgNjQgMzIgNDkuNyAzMiAzMnpNMTYwIDQwMGw2NCAwIDAgMTEyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTEyeiJdfSx2QnQ9dDhlLHhCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBvaW50LWRvd24iLGljb246WzM4NCw1MTIsW10sImYwYTciLCJNMzIgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yMDgtNjQgMCAwIDIwOHpNMjI0IDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NHptLTY0IDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnptMTYwLTk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0em0tOTYtODhsMCAuNmM5LjQtNS40IDIwLjMtOC42IDMyLTguNiAxMy4yIDAgMjUuNCA0IDM1LjYgMTAuOCA4LjctMjQuOSAzMi41LTQyLjggNjAuNC00Mi44IDExLjcgMCAyMi42IDMuMSAzMiA4LjZsMC04LjZDMzg0IDcxLjYgMzEyLjQgMCAyMjQgMEwxNjIuMyAwQzExOS44IDAgNzkuMSAxNi45IDQ5LjEgNDYuOUwzNy41IDU4LjVDMTMuNSA4Mi41IDAgMTE1LjEgMCAxNDlsMCAyN2MwIDM1LjMgMjguNyA2NCA2NCA2NGw4OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwcy0xNy45LTQwLTQwLTQwbC01NiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDU2IDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJ6Il19LGE4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLW1laC1ibGFuayIsaWNvbjpbNTEyLDUxMixbMTI4NTY2LCJtZWgtYmxhbmsiXSwiZjVhNCIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yMDgtNDhhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMTI4IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0seUJ0PWE4ZSxxYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS1lbXB0eSIsaWNvbjpbMzIwLDUxMixbInRlbXBlcmF0dXJlLTAiLCJ0aGVybW9tZXRlci0wIiwidGhlcm1vbWV0ZXItZW1wdHkiXSwiZjJjYiIsIk02NCA5NmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMTY0LjdjMjkuNSAyNi40IDQ4IDY0LjcgNDggMTA3LjMgMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRTMTYgNDQ3LjUgMTYgMzY4YzAtNDIuNiAxOC41LTgxIDQ4LTEwNy4zTDY0IDk2em05NiAzMzZjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjQtNjQgMjguNy02NCA2NCAyOC43IDY0IDY0IDY0eiJdfSx3QnQ9cWIsTUJ0PXFiLGtCdD1xYixTQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9yZGVyLW5vbmUiLGljb246WzQ0OCw1MTIsW10sImY4NTAiLCJNMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyIDMyLTE0LjMgMzItMzItMTQuMy0zMi0zMi0zMnpNMTYwIDMyYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHpNMjg4IDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMiAzMi0xNC4zIDMyLTMyLTE0LjMtMzItMzItMzJ6TTE2MCA0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzItMzIgMTQuMy0zMiAzMiAxNC4zIDMyIDMyIDMyek0yODggMzJhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0ek00MTYgNDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyLTMyIDE0LjMtMzIgMzIgMTQuMyAzMiAzMiAzMnptMC0zODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0zMiAzMmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6TTQxNiAzNTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0zMiAxNjBhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em0wIDE5MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTQxNiAxNjBhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0eiJdfSx6QnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGlnaGxpZ2h0ZXIiLGljb246WzU3Niw1MTIsW10sImY1OTEiLCJNMzE1IDMxNUw0NzMuNCA5OS45IDQ0NC4xIDcwLjYgMjI5IDIyOSAzMTUgMzE1em0tMTg3IDVsMCAwIDAtNzEuN2MwLTE1LjMgNy4yLTI5LjYgMTkuNS0zOC42TDQyMC42IDguNEM0MjggMi45IDQzNyAwIDQ0Ni4yIDAgNDU3LjYgMCA0NjguNSA0LjUgNDc2LjYgMTIuNmw1NC44IDU0LjhjOC4xIDguMSAxMi42IDE5IDEyLjYgMzAuNSAwIDkuMi0yLjkgMTguMi04LjQgMjUuNkwzMzQuNCAzOTYuNWMtOSAxMi4zLTIzLjQgMTkuNS0zOC42IDE5LjVsLTcxLjcgMC0yNS40IDI1LjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC01MC43LTUwLjdjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zTDEyOCAzMjB6TTcgNDY2LjNsNTEuNy01MS43IDcwLjYgNzAuNi0xOS43IDE5LjdjLTQuNSA0LjUtMTAuNiA3LTE3IDdMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQuN2MwLTYuNCAyLjUtMTIuNSA3LTE3eiJdfSxDQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktYmlsbC13YXZlIixpY29uOls1MTIsNTEyLFtdLCJmNTNhIiwiTTAgNDE5LjZMMCAxMDkuNWMwLTIzLjIgMjQuMS0zOC42IDQ2LjMtMzIgODcuNyAyNi4yIDE0OS43IDUuNSAyMTIuMS0xNS4zIDY0LjUtMjEuNSAxMjkuNC00My4xIDIyMy4zLTEzLjEgMTguNSA1LjkgMzAuMyAyMy44IDMwLjMgNDMuM2wwIDMxMC4xYzAgMjMuMi0yNC4xIDM4LjYtNDYuMiAzMi04Ny43LTI2LjItMTQ5LjgtNS41LTIxMi4xIDE1LjMtNjQuNSAyMS41LTEyOS40IDQzLjEtMjIzLjMgMTMuMS0xOC41LTUuOS0zMC4zLTIzLjgtMzAuMy00My4zek0zMzYgMjU2YzAtNTMtMzUuOC05Ni04MC05NnMtODAgNDMtODAgOTYgMzUuOCA5NiA4MCA5NiA4MC00MyA4MC05NnpNMTIwIDQxMy42YzQuNCAwIDcuOS0zLjggNy4yLTguMS00LjYtMjcuOC0yNy00OS41LTU1LjItNTMtNC40LS41LTggMy4xLTggNy41bDAgMzkuOWMwIDMuNiAyLjQgNi44IDYgNy43IDE3LjkgNC4yIDM0LjMgNi4xIDUwIDYuMXptMzE4LjUtNTEuMWM1IC44IDkuNS0zIDkuNS04bDAtNDIuNmMwLTQuNC0zLjYtOC4xLTgtNy41LTI1LjIgMy4xLTQ1LjkgMjAuOS01My4yIDQ0LjYtMS40IDQuNyAyLjMgOS4xIDcuMiA5LjIgMTQuMiAuNCAyOSAxLjcgNDQuNCA0LjN6TTQ0OCAxNTJsMC0zOS45YzAtMy42LTIuNS02LjgtNi03LjctMTcuOS00LjItMzQuMy02LjEtNTAtNi4xLTQuNCAwLTcuOSAzLjgtNy4yIDguMSA0LjYgMjcuOCAyNyA0OS41IDU1LjIgNTMgNC40IC41IDgtMy4xIDgtNy41ek0xMjUuMiAxNjIuOWMxLjQtNC43LTIuMy05LjEtNy4yLTkuMi0xNC4yLS40LTI5LTEuNy00NC40LTQuMy01LS44LTkuNSAzLTkuNSA4TDY0IDIwMGMwIDQuNCAzLjYgOC4xIDggNy41IDI1LjItMy4xIDQ1LjktMjAuOSA1My4yLTQ0LjZ6Il19LF9CdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b2lsZXQtcGFwZXItc2xhc2giLGljb246WzU3Niw1MTIsW10sImUwNzIiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtOTQuNS05NC41YzQwLjItMjMgNjkuNS05Ni45IDY5LjUtMTg0LjYgMC0xMDYtNDMtMTkyLTk2LTE5MnMtOTYgODYtOTYgMTkyYzAgMjQuMSAyLjIgNDcuMiA2LjMgNjguNEwzMDQgMjM4LjIgMzA0IDIyNGMwLTU4LjkgMTEuOC0xMTQuNSAzMy4yLTE1Ny4yIDUuOS0xMS43IDEzLjEtMjMuNyAyMS45LTM0LjhMMTI4IDMyYy04LjMgMC0xNi40IDIuMS0yNC4xIDYuMWwtNjMtNjN6TTMyIDIyNGwwIDI2NGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwxNjAgMGMzMC45IDAgNTYtMjUuMSA1Ni01NmwwLTExNC4yLTI1Ni0yNTZDMzcuOSAxNDguMiAzMiAxODQuNyAzMiAyMjR6bTQxNiA2NGMtMTcuNyAwLTMyLTI4LjctMzItNjRzMTQuMy02NCAzMi02NCAzMiAyOC43IDMyIDY0LTE0LjMgNjQtMzIgNjR6Il19LFRCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXNoaWVsZCIsaWNvbjpbNTc2LDUxMixbXSwiZTRmMCIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIwMS4yIDBDMjYxIDQ2OS40IDI0MCA0MTQuNSAyNDAgMzU2LjRsMC0zMS4xYzAtMzQuNCAyMi02NSA1NC43LTc1LjlsMTEyLTM3LjNjMy4xLTEgNi4yLTEuOCA5LjMtMi41bDAtMzkuMWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnptODcuOCAzMTIuNWwtMTMuMyA2LjMgMC0xODguMSA5NiAzMiAwIDE5LjZjMCA1NS44LTMyLjIgMTA2LjUtODIuNyAxMzAuM3pNNDIxLjkgMjU5LjVsLTExMiAzNy4zYy0xMy4xIDQuNC0yMS45IDE2LjYtMjEuOSAzMC40bDAgMzEuMWMwIDc0LjQgNDMgMTQyLjEgMTEwLjIgMTczLjdsMTguNSA4LjdjNC44IDIuMiAxMCAzLjQgMTUuMiAzLjRzMTAuNS0xLjIgMTUuMi0zLjRsMTguNS04LjdDNTMzIDUwMC4zIDU3NiA0MzIuNiA1NzYgMzU4LjJsMC0zMS4xYzAtMTMuOC04LjgtMjYtMjEuOS0zMC40bC0xMTItMzcuM2MtNi42LTIuMi0xMy43LTIuMi0yMC4yIDB6Il19LExCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZXh0LWhlaWdodCIsaWNvbjpbNTc2LDUxMixbXSwiZjAzNCIsIk00MCAzMkMxNy45IDMyIDAgNDkuOSAwIDcybDAgNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDY0IDAgMCAzMjAtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTMyMCA2NCAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTU2YzAtMjIuMS0xNy45LTQwLTQwLTQwTDQwIDMyek00MzguNiAzNjEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTkuNCA5LjQgMC0yMjkuNSA5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy02LTYtMTQuMS05LjQtMjIuNi05LjRzLTE2LjYgMy40LTIyLjYgOS40bC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw5LjQtOS40IDAgMjI5LjUtOS40LTkuNHoiXX0scjhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10b25ndWUiLGljb246WzUxMiw1MTIsWzEyODUzOSwiZ3Jpbi10b25ndWUiXSwiZjU4OSIsIk0wIDI1NmMwIDEwNC40IDYyLjUgMTk0LjIgMTUyLjIgMjM0LjEtNS4zLTEzLTguMi0yNy4yLTguMi00Mi4xbDAtNjEuN2MtMTYuOS0xNi41LTMwLjEtMzYuNy0zOC4zLTU5LjMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xYzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS04LjMgMjIuNi0yMS41IDQyLjgtMzguMyA1OS4zbDAgNjEuN2MwIDE0LjktMi45IDI5LjEtOC4yIDQyLjEgODkuNy0zOS44IDE1Mi4yLTEyOS42IDE1Mi4yLTIzNC4xIDAtMTQxLjQtMTE0LjYtMjU2LTI1Ni0yNTZTMCAxMTQuNiAwIDI1NnptMTc2LTgwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2IDI0MGwwLTQ1LjRjMC0xNC43LTExLjktMjYuNi0yNi42LTI2LjZsLTIgMGMtMTEuMyAwLTIxLjEgNy45LTIzLjYgMTguOS0yLjggMTIuNi0yMC44IDEyLjYtMjMuNiAwLTIuNS0xMS4xLTEyLjMtMTguOS0yMy42LTE4LjlsLTIgMGMtMTQuNyAwLTI2LjYgMTEuOS0yNi42IDI2LjZsMCA0NS40YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6Il19LCRCdD1yOGUsREJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtc2lnbmF0dXJlIixpY29uOls2NDAsNTEyLFtdLCJmNTczIiwiTTY0LjEgNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRMMjc3LjYgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0w0MjkuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zbDAgOTcuNS0xMzIgMTMyLTQyLjEgMC0xNi4xLTUzLjZjLTQuNy0xNS43LTE5LjEtMjYuNC0zNS41LTI2LjQtMTEuMyAwLTIxLjkgNS4xLTI4LjkgMTMuOUwxMzMuMyA0MDljLTguMyAxMC4zLTYuNiAyNS41IDMuNyAzMy43czI1LjUgNi42IDMzLjctMy44bDQ3LjEtNTguOCAxNS4yIDUwLjdjMyAxMC4yIDEyLjQgMTcuMSAyMyAxNy4xbDMxLjUgMGMtLjkgMy4xLTEuNyA2LjMtMi4zIDkuNWwtMTAuOSA1NC41LTE0Ni4yIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzg0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNGw5My41IDAtMTE3LjUtMTE3LjV6bTYwLjIgNDA4LjRjMi41LTEyLjQgOC42LTIzLjggMTcuNS0zMi43bDExOC45LTExOC45IDgwIDgwLTExOC45IDExOC45Yy04LjkgOC45LTIwLjMgMTUtMzIuNyAxNy41bC01OS42IDExLjljLS45IC4yLTEuOSAuMy0yLjkgLjMtOCAwLTE0LjYtNi41LTE0LjYtMTQuNiAwLTEgLjEtMS45IC4zLTIuOWwxMS45LTU5LjZ6bTI2Ny44LTEyM2wtMjguOCAyOC44LTgwLTgwIDI4LjgtMjguOGMyMi4xLTIyLjEgNTcuOS0yMi4xIDgwIDBzMjIuMSA1Ny45IDAgODB6Il19LEFCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy13aGVhdCIsaWNvbjpbNjQwLDUxMixbXSwiZTRkYiIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI0OS4zIDBjLTYtMTQuOC05LjMtMzEtOS4zLTQ4IDAtMTcuNyA3LjItMzMuNyAxOC44LTQ1LjMtMTEuOS0xOS40LTE4LjgtNDIuMy0xOC44LTY2LjcgMC0xNy43IDcuMi0zMy43IDE4LjgtNDUuMy0xMS45LTE5LjQtMTguOC00Mi4zLTE4LjgtNjYuNyAwLTI1LjIgMTQuNS00Ni45IDM1LjYtNTcuNC0yLjQtNy4xLTMuNi0xNC43LTMuNi0yMi42bDAtMzJDMzY4IDk2LjcgMzg4IDcwLjEgNDE1LjkgNjAuMSA0MTMuOSAyNi42IDM4NiAwIDM1MiAwTDk2IDB6TTIwOCAzNTJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDgwLTk2IDAgMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTI4IDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTI4IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNDQtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnptMzUyIDBsLTE2IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwIDAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwIDAtOC44LTcuMi0xNi0xNi0xNnptMTYgMTI4YzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMtNDQuMiAwLTgwIDM1LjgtODAgODAgMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjNDQuMiAwIDgwLTM1LjggODAtODB6bTAgMTEyYzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMtNDQuMiAwLTgwIDM1LjgtODAgODAgMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjNDQuMiAwIDgwLTM1LjggODAtODB6TTQ5NiA1MjhjMC00NC4yLTM1LjgtODAtODAtODBsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNiAwIDQ0LjIgMzUuOCA4MCA4MCA4MGwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnptLTE2LTk2YzguOCAwIDE2LTcuMiAxNi0xNiAwLTQ0LjItMzUuOC04MC04MC04MGwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2IDAgNDQuMiAzNS44IDgwIDgwIDgwbDE2IDB6bTE2LTEyOGMwLTQ0LjItMzUuOC04MC04MC04MGwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2IDAgNDQuMiAzNS44IDgwIDgwIDgwbDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2ek01MTIgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDRjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTk2IDY0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyek00NDAgMTA0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sUEJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdWctY2lyY2xlLW1pbnVzIixpY29uOls2NDAsNTEyLFtdLCJlNTVlIiwiTTE5Mi0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA0OC43Yy05OC42IDguMS0xNzYgOTAuNy0xNzYgMTkxLjMgMCAyNy4zIDUuNyA1My4zIDE2IDc2LjlsMCAzLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzE2NS4yIDM5OC4xIDk2IDMxOS4xIDk2IDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDk2IDk2IDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzUyIDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMjQgMGMwLTguOC03LjItMTYtMTYtMTZsLTEyOCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNnoiXX0scWVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZ1dGJvbCIsaWNvbjpbNTEyLDUxMixbOTkxNywiZnV0Ym9sLWJhbGwiLCJzb2NjZXItYmFsbCJdLCJmMWUzIiwiTTQxNy4zIDM2MC4xbC03MS42LTQuOGMtNS4yLS4zLTEwLjMgMS4xLTE0LjUgNC4ycy03LjIgNy40LTguNCAxMi41bC0xNy42IDY5LjZDMjg5LjUgNDQ1LjggMjczIDQ0OCAyNTYgNDQ4cy0zMy41LTIuMi00OS4yLTYuNEwxODkuMiAzNzJjLTEuMy01LTQuMy05LjQtOC40LTEyLjVzLTkuMy00LjUtMTQuNS00LjJsLTcxLjYgNC44Yy0xNy42LTI3LjItMjguNS01OS4yLTMwLjQtOTMuNkwxMjUgMjI4LjNjNC40LTIuOCA3LjYtNyA5LjItMTEuOXMxLjQtMTAuMi0uNS0xNWwtMjYuNy02Ni42QzEyOCAxMDkuMiAxNTUuMyA4OSAxODYuNyA3Ni45bDU1LjIgNDZjNCAzLjMgOSA1LjEgMTQuMSA1LjFzMTAuMi0xLjggMTQuMS01LjFsNTUuMi00NmMzMS4zIDEyLjEgNTguNyAzMi4zIDc5LjYgNTcuOWwtMjYuNyA2Ni42Yy0xLjkgNC44LTIuMSAxMC4xLS41IDE1czQuOSA5LjEgOS4yIDExLjlsNjAuNyAzOC4yYy0xLjkgMzQuNC0xMi44IDY2LjQtMzAuNCA5My42ek0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptMTQuMS0zMjUuN2MtOC40LTYuMS0xOS44LTYuMS0yOC4yIDBMMTk0IDIyMWMtOC40IDYuMS0xMS45IDE2LjktOC43IDI2LjhsMTguMyA1Ni4zYzMuMiA5LjkgMTIuNCAxNi42IDIyLjggMTYuNmw1OS4yIDBjMTAuNCAwIDE5LjYtNi43IDIyLjgtMTYuNmwxOC4zLTU2LjNjMy4yLTkuOS0uMy0yMC43LTguNy0yNi44bC00Ny45LTM0Ljh6Il19LEVCdD1xZWUsSUJ0PXFlZSxzOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXBsdXMiLGljb246WzUxMiw1MTIsWyJwbHVzLWNpcmNsZSJdLCJmMDU1IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMzIgMzQ0bDAtNjQtNjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHoiXX0sTkJ0PXM4ZSxSQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJhemlsaWFuLXJlYWwtc2lnbiIsaWNvbjpbNTEyLDUxMixbXSwiZTQ2YyIsIk00MDAgMTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNiAxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC00OC45IDBjLTI2IDAtNDcuMSAyMS4xLTQ3LjEgNDcuMSAwIDIyLjUgMTUuOSA0MS44IDM3LjkgNDYuMmwzMi44IDYuNmM1MS45IDEwLjQgODkuMyA1NiA4OS4zIDEwOSAwIDUwLjYtMzMuOCA5My4zLTgwIDEwNi43bDAgMjAuNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQuOSAwYzI2IDAgNDcuMS0yMS4xIDQ3LjEtNDcuMSAwLTIyLjUtMTUuOS00MS44LTM3LjktNDYuMmwtMzIuOC02LjZjLTUxLjktMTAuNC04OS4zLTU2LTg5LjMtMTA5IDAtNTAuNiAzMy44LTkzLjIgODAtMTA2LjdMMzY4IDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDgwIDBjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDQgMCA1NC4zLTMwIDEwMS41LTc0LjQgMTI2LjFsNDEgMTM2LjdjNS4xIDE2LjktNC41IDM0LjgtMjEuNSAzOS44cy0zNC44LTQuNS0zOS44LTIxLjVMMTIwLjEgMzE5LjhjLTIuNyAuMS01LjQgLjItOC4xIC4ybC00OCAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NHpNNjQgMjU2bDQ4IDBjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBsLTQ4IDAgMCAxNjB6Il19LE9CdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyLWFuZC1jcmVzY2VudCIsaWNvbjpbNTEyLDUxMixbOTc3MF0sImY2OTkiLCJNMCAyNTZjMC0xNDEuNCAxMTQuNi0yNTYgMjU2LTI1NiAzMyAwIDY0LjYgNi4zIDkzLjYgMTcuNyA3LjQgMi45IDExLjUgMTAuNyA5LjggMTguNHMtOC44IDEzLTE2LjcgMTIuNGMtNC44LS4zLTkuNy0uNS0xNC42LS41LTExNC45IDAtMjA4IDkzLjEtMjA4IDIwOHM5My4xIDIwOCAyMDggMjA4YzQuOSAwIDkuOC0uMiAxNC42LS41IDcuOS0uNSAxNSA0LjcgMTYuNyAxMi40cy0yLjQgMTUuNS05LjggMTguNEMzMjAuNiA1MDUuNyAyODkgNTEyIDI1NiA1MTIgMTE0LjYgNTEyIDAgMzk3LjQgMCAyNTZ6TTM3NS40IDEzNy40YzMuNS03LjEgMTMuNy03LjEgMTcuMiAwbDMxLjUgNjMuOGMxLjQgMi44IDQuMSA0LjggNy4yIDUuM2w3MC40IDEwLjJjNy45IDEuMSAxMSAxMC44IDUuMyAxNi40bC01MC45IDQ5LjZjLTIuMyAyLjItMy4zIDUuNC0yLjggOC41bDEyIDcwLjFjMS4zIDcuOC02LjkgMTMuOC0xMy45IDEwLjFsLTYzLTMzLjFjLTIuOC0xLjUtNi4xLTEuNS04LjkgMGwtNjMgMzMuMWMtNyAzLjctMTUuMy0yLjMtMTMuOS0xMC4xbDEyLTcwLjFjLjUtMy4xLS41LTYuMy0yLjgtOC41TDI2MSAyMzMuMWMtNS43LTUuNi0yLjYtMTUuMiA1LjMtMTYuNGw3MC40LTEwLjJjMy4xLS41IDUuOC0yLjQgNy4yLTUuM2wzMS41LTYzLjh6Il19LGk4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLXN1cnByaXNlIixpY29uOls1MTIsNTEyLFsxMjg1NTgsInN1cnByaXNlIl0sImY1YzIiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE3NiAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptLTQ4IDgwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4eiJdfSxGQnQ9aThlLEJCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3NwaXRhbC11c2VyIixpY29uOls2NDAsNTEyLFtdLCJmODBkIiwiTTY0IDY0QzY0IDI4LjcgOTIuNyAwIDEyOCAwTDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTIxLjNjLTQ2LjkgMTktODAgNjUtODAgMTE4LjcgMCAyNy43IDguOCA1My40IDIzLjggNzQuNC01MS41IDIxLTg3LjggNzEuNi04Ny44IDEzMC43IDAgMSAwIDEuOSAwIDIuOWwtMTc2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDY0IDY0ek0yMDggNDAwbDAgNjQgNTMuNCAwYzcuMi0yOS40IDIxLjMtNTYuMSA0MC40LTc4LjMtNi4xLTE5LjUtMjQuMy0zMy43LTQ1LjgtMzMuNy0yNi41IDAtNDggMjEuNS00OCA0OHpNMjQ4IDg4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMi0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMCAwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyIDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwIDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwek00MTYgMzA0YTgwIDgwIDAgMSAxIDE2MCAwIDgwIDgwIDAgMSAxIC0xNjAgMHpNMzUyIDUxMmMwLTUzIDQzLTk2IDk2LTk2bDk2IDBjNTMgMCA5NiA0MyA5NiA5NiAwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjI0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxIQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93bi11cC1sb2NrIixpY29uOls1NzYsNTEyLFtdLCJlNGIwIiwiTTI2Mi42IDQyMi42bC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTgwLTgwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDI1LjQgMjUuNCAwLTExNC43LTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMjU2IDAgMC0xMTQuNy0yNS40IDI1LjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDgwLTgwYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC0yNS40LTI1LjQgMCA5NC44Yy0yNS4zIDIwLjMtNDIuOCA1MC4xLTQ3IDgzLjlsLTE0NSAwIDAgMTE0LjcgMjUuNC0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6TTE5MiAzMmwwIDE0NC02NCAwIDAtMTQ0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6TTQ5NiAzMDQuMWMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ3LjkgNjQgMCAwLTQ3Ljl6TTM1MiA0MDBjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNTAuNmMxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6Il19LG84ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb2xkZXIiLGljb246WzUxMiw1MTIsWzEyODE5MywxMjg0NDcsNjE3MTYsImZvbGRlci1ibGFuayJdLCJmMDdiIiwiTTY0IDQ0OGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI0MGMwLTM1LjMtMjguNy02NC02NC02NEwyOTguNyA4MGMtNi45IDAtMTMuNy0yLjItMTkuMi02LjRMMjQxLjEgNDQuOEMyMzAgMzYuNSAyMTYuNSAzMiAyMDIuNyAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0eiJdfSxxQnQ9bzhlLFZCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob2xseS1iZXJyeSIsaWNvbjpbNTEyLDUxMixbXSwiZjdhYSIsIk0yNTYuMiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS04MCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTI3NyAzODMuOGMxIC4xIDIuMSAuMiAzLjIgLjIgMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCAyMi43YzAgMTYuNCAxNiAyNy45IDMxLjYgMjIuOGwxMi44LTQuM2MxOC02IDM3LjMtNi41IDU1LjYtMS41bDE5LjQgNS4zYzE3LjkgNC45IDM0LjQtMTEuNiAyOS41LTI5LjVMNDk1LjkgNDUyYy01LTE4LjMtNC40LTM3LjYgMS41LTU1LjZsNC4zLTEyLjhjNS4yLTE1LjUtNi40LTMxLjYtMjIuOC0zMS42LTM0LjYgMC02Mi43LTI4LjEtNjIuNy02Mi43bDAtMzJjMC0xNi40LTE2LTI3LjktMzEuNi0yMi44bC0xMi44IDQuM2MtMTggNi0zNy4zIDYuNS01NS42IDEuNWwtMjkuNi04LjFjLTIuOS0uOC01LjktMS04LjctLjcgNC4yIDkuNyA1LjggMjAuOCAzLjcgMzIuM2wtNi4zIDM0LjhjLTEuNSA4LjQtMS40IDE3IC41IDI1LjNsNS4zIDIzLjljMi44IDEyLjcgMS4xIDI1LjItNCAzNS45ek0xMjcuOCAyMzQuNWMtMTUuNS01LjItMzEuNiA2LjQtMzEuNiAyMi44bDAgMzJjMCAzNC42LTI4LjEgNjIuNy02Mi43IDYyLjctMTYuNCAwLTI3LjkgMTYtMjIuOCAzMS42TDE1IDM5Ni40YzYgMTggNi41IDM3LjMgMS41IDU1LjZsLTUuMyAxOS40QzYuNCA0ODkuNCAyMi44IDUwNS44IDQwLjcgNTAxbDE5LjQtNS4zYzE4LjMtNSAzNy42LTQuNSA1NS42IDEuNWwxMi44IDQuM2MxNS41IDUuMiAzMS42LTYuNCAzMS42LTIyLjhsMC0zMmMwLTM0LjYgMjguMS02Mi43IDYyLjctNjIuNyAxNi40IDAgMjcuOS0xNiAyMi44LTMxLjZsLTQuMy0xMi44Yy02LTE4LTYuNS0zNy4zLTEuNS01NS42bDUuMy0xOS40YzQuOS0xNy45LTExLjYtMzQuNC0yOS41LTI5LjVsLTE5LjQgNS4zYy0xOC4zIDUtMzcuNiA0LjQtNTUuNi0xLjVsLTEyLjgtNC4zek0zODQuMiAxNDRhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHoiXX0sakJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZlbnVzLWRvdWJsZSIsaWNvbjpbNjQwLDUxMixbOTg5MF0sImYyMjYiLCJNMTkyIDI4OGExMTIgMTEyIDAgMSAwIDAtMjI0IDExMiAxMTIgMCAxIDAgMCAyMjR6TTM2OCAxNzZjMCA4Ni4zLTYyLjEgMTU4LjEtMTQ0LjEgMTczLjEgLjEgMSAuMSAxLjkgLjEgMi45bDAgNjQgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwIDAtNjRjMC0xIDAtMS45IC4xLTIuOS04Mi0xNS0xNDQuMS04Ni44LTE0NC4xLTE3My4xIDAtOTcuMiA3OC44LTE3NiAxNzYtMTc2UzM2OCA3OC44IDM2OCAxNzZ6TTM1Ny41IDMyN2MxNC40LTE1LjggMjYuNi0zMy43IDM2LjEtNTMuMSAxNi4xIDkgMzQuNyAxNC4xIDU0LjUgMTQuMSA2MS45IDAgMTEyLTUwLjEgMTEyLTExMlM1MDkuOSA2NCA0NDggNjRjLTE5LjggMC0zOC4zIDUuMS01NC41IDE0LjEtOS41LTE5LjQtMjEuNi0zNy4zLTM2LjEtNTMuMSAyNi40LTE1LjkgNTcuNC0yNSA5MC41LTI1IDk3LjIgMCAxNzYgNzguOCAxNzYgMTc2IDAgODYuMy02Mi4xIDE1OC4xLTE0NC4xIDE3My4xIC4xIC45IC4xIDEuOSAuMSAyLjlsMCA2NCAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC02NGMwLTEgMC0xLjkgLjEtMi45LTIxLjEtMy45LTQwLjktMTEuNS01OC42LTIyLjJ6Il19LFVCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbGlwYm9hcmQtcXVlc3Rpb24iLGljb246WzM4NCw1MTIsW10sImU0ZTMiLCJNMzExLjQgMzJsOC42IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzNTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDguNiAwQzgzLjYgMTIuOSAxMDQuMyAwIDEyOCAwTDI1NiAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMnpNMjQ4IDExMmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwxMzYgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyIDB6TTE5MiAyNDhjMTYuMSAwIDI5LjIgMTMuMSAyOS4yIDI5LjIgMCA4LjctMy4xIDEzLjktNi45IDE3LjctNC41IDQuNC0xMC43IDcuNS0xNi44IDkuNS0xNC45IDUtMjkuNSAxOS4zLTI5LjUgMzkuNSAwIDEzLjMgMTAuNyAyNCAyNCAyNCAxMS41IDAgMjEuMi04LjEgMjMuNS0xOSAxOS4yLTcuMSA1My43LTI2LjMgNTMuNy03MS44IDAtNDIuNi0zNC42LTc3LjItNzcuMi03Ny4ycy03Ny4yIDM0LjYtNzcuMiA3Ny4yYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xNi4xIDEzLjEtMjkuMiAyOS4yLTI5LjJ6bTI4IDE2OGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOCAxMi41IDI4IDI4IDI4IDI4LTEyLjUgMjgtMjh6Il19LFdCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3Rkb2ciLGljb246WzUxMiw1MTIsWzEyNzc4OV0sImY4MGYiLCJNMjg4IDBjLTIwLjUgMC00MC4xIDguMS01NC42IDIyLjZMMjIuNiAyMzMuNEM4LjEgMjQ3LjkgMCAyNjcuNSAwIDI4OCAwIDMwMC4yIDIuOSAzMTIuMSA4LjIgMzIyLjdMMzIyLjcgOC4yQzMxMi4xIDIuOSAzMDAuMiAwIDI4OCAwek0yMjQgNTEyYzIwLjUgMCA0MC4xLTguMSA1NC42LTIyLjZMNDg5LjQgMjc4LjZjMTQuNS0xNC41IDIyLjYtMzQuMSAyMi42LTU0LjYgMC0xMi4yLTIuOS0yNC4xLTguMi0zNC43TDE4OS4zIDUwMy44YzEwLjcgNS40IDIyLjYgOC4yIDM0LjcgOC4yek00NTYuNiAxNjguNmMzMS4yLTMxLjIgMzEuMi04MS45IDAtMTEzLjFzLTgxLjktMzEuMi0xMTMuMSAwbC0yODggMjg4Yy0zMS4yIDMxLjItMzEuMiA4MS45IDAgMTEzLjFzODEuOSAzMS4yIDExMy4xIDBsMjg4LTI4OHoiXX0sR0J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLWZyb20tYnJhY2tldCIsaWNvbjpbNDQ4LDUxMixbXSwiZTA5YSIsIk0yNDYuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE5MiAxMDkuMyAxOTIgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yMTAuNyA3My40IDczLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOHpNNjQgMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgMzM0LjMgMCAzNTJsMCA2NGMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NHoiXX0sWUJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3Jvc2NvcGUiLGljb246WzUxMiw1MTIsWzEyODMwMF0sImY2MTAiLCJNMTc2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMjA4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NCAzMiAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4UzM5MC43IDQ0OCAzMjAgNDQ4TDMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYuOSAwYzMwLjQtMzQgNDguOS03OC44IDQ4LjktMTI4IDAtMTA2LTg2LTE5Mi0xOTItMTkybC0zMiAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhMMTc2IDB6TTEyMCAzNTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE3NiAweiJdfSxLQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQiLGljb246WzU3Niw1MTIsWzk3MjldLCJmMGMyIiwiTTAgMzM2YzAgNzkuNSA2NC41IDE0NCAxNDQgMTQ0bDMwNCAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4IDAtNTEuNi0zMC41LTk2LjEtNzQuNS0xMTYuMyA2LjctMTMuMSAxMC41LTI4IDEwLjUtNDMuNyAwLTUzLTQzLTk2LTk2LTk2LTE3LjcgMC0zNC4yIDQuOC00OC40IDEzLjEtMjQuMS00NS44LTcyLjItNzcuMS0xMjcuNi03Ny4xLTc5LjUgMC0xNDQgNjQuNS0xNDQgMTQ0IDAgOCAuNyAxNS45IDEuOSAyMy41LTU2LjkgMTkuMi05Ny45IDczLjEtOTcuOSAxMzYuNXoiXX0sWkJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhc2ViYWxsLWJhdC1iYWxsIixpY29uOls1NzYsNTEyLFtdLCJmNDMyIiwiTTQ2NC4xIDU0NGE4MCA4MCAwIDEgMSAwLTE2MCA4MCA4MCAwIDEgMSAwIDE2MHptOC40LTU3NmMxNS4xIDAgMjkuNyA1LjggNDAuNyAxNi4ybDQ3LjIgNDQuOGMxMi42IDEyIDE5LjEgMjkgMTcuNSA0Ni4zLTEuMiAxMy4zLTcgMjUuOC0xNi41IDM1LjJMMzYzLjEgMzA5Yy03LjMgNy4zLTE1LjcgMTMuNC0yNSAxOEwyMDYgMzkzYy05LjIgNC42LTE3LjcgMTAuNy0yNSAxOGwtOTIgOTIgMS43IDEuOGM3LjcgOS40IDcuMSAyMy4zLTEuNyAzMi4xcy0yMi43IDkuMy0zMi4xIDEuN2wtMS44LTEuNy00OC00OC0xLjctMS44Yy03LjctOS40LTcuMS0yMy4zIDEuNy0zMi4xczIyLjctOS4zIDMyLjEtMS43bDEuOCAxLjcgOTItOTJjNy4zLTcuMyAxMy40LTE1LjcgMTgtMjVsNjYuMS0xMzIuMWM0LjYtOS4yIDEwLjctMTcuNyAxOC0yNUw0MzAuOC0xNC43QzQ0MS45LTI1LjggNDU2LjktMzIgNDcyLjUtMzJ6Il19LG44ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXItcmVhciIsaWNvbjpbNTEyLDUxMixbImNhci1hbHQiXSwiZjVkZSIsIk0xNjUuNCA5NmwxODEuMiAwYzEzLjYgMCAyNS43IDguNiAzMC4yIDIxLjRsMjYuMSA3NC42LTI5My44IDAgMjYuMS03NC42YzQuNS0xMi44IDE2LjYtMjEuNCAzMC4yLTIxLjR6bS05MC42IC4zTDM5LjYgMTk2LjhDMTYuNCAyMDYuNCAwIDIyOS4zIDAgMjU2bDAgOTZjMCAyMy43IDEyLjkgNDQuNCAzMiA1NS40TDMyIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzIgMjU2IDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDAuNmMxOS4xLTExLjEgMzItMzEuNyAzMi01NS40bDAtOTZjMC0yNi43LTE2LjQtNDkuNi0zOS42LTU5LjJMNDM3LjIgOTYuM0M0MjMuNyA1Ny44IDM4Ny40IDMyIDM0Ni42IDMyTDE2NS40IDMyYy00MC44IDAtNzcuMSAyNS44LTkwLjYgNjQuM3pNMjA4IDI4OGw5NiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtOTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek00OCAyODBjMC0xMy4zIDEwLjctMjQgMjQtMjRsMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTM2MC0yNGwzMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0zMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxYQnQ9bjhlLGw4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0aHVtYnRhY2stc2xhc2giLGljb246WzU3Niw1MTIsWyJ0aHVtYi10YWNrLXNsYXNoIl0sImU2OGYiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0MTcuOCAzNTIgNDQ4IDM1MmMxMCAwIDE5LjUtNC43IDI1LjUtMTIuN3M4LTE4LjQgNS4yLTI4LjFMNDc1IDI5Ny44Yy0xMi40LTQzLjMtNDEtNzguNS03OC4yLTk5LjdMMzg2LjUgNjQgNDE2IDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyUzQzMy43IDAgNDE2IDBMMTYwIDBjLTcuNCAwLTE0LjEgMi41LTE5LjUgNi42TDE5MC4xIDU2LjMgMTg1LjMgMTE5LjQgNDEtMjQuOXpNMjgyLjIgMzUyTDE0OS43IDIxOS42Yy0yMi43IDIwLjUtMzkuOCA0Ny40LTQ4LjcgNzguM2wtMy44IDEzLjRjLTIuOCA5LjctLjggMjAgNS4yIDI4LjFTMTE4IDM1MiAxMjggMzUybDE1NC4yIDB6TTI1NiA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTExMi02NCAwIDAgMTEyeiJdfSxRQnQ9bDhlLEpCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVzLW1pbnVzIixpY29uOlszODQsNTEyLFtdLCJlNDNjIiwiTTIyNCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDEyOC0xMjggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjggMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMjggMCAwLTEyOHpNMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnoiXX0sZUh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNpcmNsZS1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZTUwOSIsIk00OTYgNTQ0YTE0NCAxNDQgMCAxIDEgMC0yODggMTQ0IDE0NCAwIDEgMSAwIDI4OHpNMjY4LjYgNi41YzEyLjItOS4zIDI5LjctOC43IDQxLjIgMmwyMTcuNiAyMDJjLTEwLjItMS43LTIwLjctMi42LTMxLjMtMi42LTc4LjYgMC0xNDYuMSA0Ny4yLTE3NS44IDExNC44LTUuMS0xLjgtMTAuNS0yLjgtMTYuMi0yLjhsLTMyIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTYgOTEgMGM2LjEgMTcuMyAxNC42IDMzLjQgMjUuMSA0OEwxNDQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDggMi40LTJ6TTU1My40IDMzOS4xYy03LjEtNS4yLTE3LjEtMy42LTIyLjMgMy41bC01MyA3Mi44LTI2LjctMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDAtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZsNDAgNDBjMy4zIDMuMyA3LjkgNSAxMi42IDQuN3M4LjktMi44IDExLjctNi42bDY0LTg4YzUuMi03LjEgMy42LTE3LjEtMy41LTIyLjN6Il19LHRIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci1kYXkiLGljb246WzQ0OCw1MTIsW10sImY3ODMiLCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0wIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDB6Il19LGFIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaWJyYSIsaWNvbjpbNTEyLDUxMixbXSwiZTg0YiIsIk00ODAgMzg0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0NDggMHpNMjU2IDMyYzk3LjIgMCAxNzYgNzguOCAxNzYgMTc2IDAgMTYuNi0yLjQgMzIuNy02LjcgNDhsNTQuNyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMDQuMiAwYy0xMS44IDAtMjIuNy02LjUtMjguMi0xNi45cy00LjktMjMuMSAxLjYtMzIuOWMxMS45LTE3LjggMTguOC0zOS4xIDE4LjgtNjIuMiAwLTYxLjktNTAuMS0xMTItMTEyLTExMlMxNDQgMTQ2LjEgMTQ0IDIwOGMwIDIzLjEgNi45IDQ0LjQgMTguOCA2Mi4yIDYuNiA5LjggNy4yIDIyLjUgMS42IDMyLjlTMTQ4LjEgMzIwIDEzNi4yIDMyMEwzMiAzMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNTQuOCAwYy00LjMtMTUuMy02LjgtMzEuNC02LjgtNDggMC05Ny4yIDc4LjgtMTc2IDE3Ni0xNzZ6Il19LHJIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUiLGljb246WzUxMiw1MTIsWzEyODMwOCwxMjgzMDksMTI4OTkyLDEyODk5MywxMjg5OTQsMTI4OTk1LDEyODk5Niw5Njc5LDk4OTgsOTg5OSwxMTA0NCw2MTcwOCw2MTkxNV0sImYxMTEiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0sc0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZS12aWJyYXRlIixpY29uOls1NzYsNTEyLFtdLCJlODE2IiwiTTM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xOTIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zODRjMC0zNS4zIDI4LjctNjQgNjQtNjRMMzg0IDB6TTI0OCA0MTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMHpNNDguOCAxMzMuNGM5LjQtNy43IDIzLjMtNy4xIDMyLjEgMS43IDkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC0zMSAzMSAyNS40IDI1LjQgMi45IDMuMmM2LjMgNy43IDkuOCAxNy40IDkuOCAyNy40IDAgMTEuNS00LjYgMjIuNS0xMi43IDMwLjZsLTI1LjQgMjUuNCAzMSAzMSAxLjcgMS44YzcuNyA5LjQgNy4xIDIzLjMtMS43IDMyLjFzLTIyLjcgOS4zLTMyLjEgMS43TDQ3IDM3NyAxMi43IDM0Mi42QzUuNiAzMzUuNSAxLjIgMzI2LjIgLjIgMzE2LjNMMCAzMTIgLjIgMzA3LjdjMS05LjkgNS40LTE5LjIgMTIuNS0yNi4zTDM4LjEgMjU2IDEyLjcgMjMwLjZDNS42IDIyMy41IDEuMiAyMTQuMiAuMiAyMDQuM0wwIDIwMCAuMiAxOTUuN2MxLTkuOSA1LjQtMTkuMiAxMi41LTI2LjNMNDcgMTM1IDQ4LjggMTMzLjR6TTQ5NSAxMzVjOC44LTguOCAyMi43LTkuMyAzMi4xLTEuN2wxLjggMS43IDM0LjMgMzQuM2M3LjEgNy4xIDExLjUgMTYuNCAxMi41IDI2LjNsLjIgNC4zLS4yIDQuM2MtMSA5LjktNS40IDE5LjItMTIuNSAyNi4zbC0yNS40IDI1LjQgMjUuNCAyNS40YzcuMSA3LjEgMTEuNSAxNi40IDEyLjUgMjYuM2wuMiA0LjMtLjIgNC4zYy0xIDkuOS01LjQgMTkuMi0xMi41IDI2LjNsLTM0LjMgMzQuMy0xLjggMS43Yy05LjQgNy43LTIzLjMgNy4xLTMyLjEtMS43cy05LjMtMjIuNy0xLjctMzIuMWwxLjctMS44IDMxLTMxLTI1LjQtMjUuNGMtOC4xLTguMS0xMi43LTE5LjEtMTIuNy0zMC42IDAtMTAgMy41LTE5LjcgOS44LTI3LjRsMi45LTMuMiAyNS40LTI1LjQtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxjOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXNxdWludCIsaWNvbjpbNTEyLDUxMixbMTI4NTE4LCJncmluLXNxdWludCJdLCJmNTg1IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0zODYuNyAzMDguOWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtMjIuNCA2MS4zLTgxLjMgMTA1LjEtMTUwLjMgMTA1LjFTMTI4LjEgMzg4LjIgMTA1LjcgMzI2LjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMXpNMTIyLjYgMTQzLjJjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAxOTIgMTI1LjggMTY0LjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDE5MiAzODYuMiAyMTkuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0saUh0PWM4ZSxvSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlcnMtYmV0d2Vlbi1saW5lcyIsaWNvbjpbNTc2LDUxMixbXSwiZTU5MSIsIk0yNCAxNmw1MjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA2NEMxMC43IDY0IDAgNTMuMyAwIDQwUzEwLjcgMTYgMjQgMTZ6bTAgNDQ4bDUyOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMzkyIDE5MmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bTI3LjIgMTAwLjRjOS4xLTIuOSAxOC44LTQuNCAyOC44LTQuNCA1MyAwIDk2IDQzIDk2IDk2bDAgMTAuN2MwIDExLjgtOS42IDIxLjMtMjEuMyAyMS4zbC03OC44IDBjMi43LTcuNSA0LjEtMTUuNiA0LjEtMjRsMC04YzAtMzQuMS0xMC42LTY1LjctMjguOC05MS42em0tMjYyLjQgMEMxMzguNiAzMTguMyAxMjggMzQ5LjkgMTI4IDM4NGwwIDhjMCA4LjQgMS40IDE2LjUgNC4xIDI0bC03OC44IDBDNDEuNiA0MTYgMzIgNDA2LjQgMzIgMzk0LjdMMzIgMzg0YzAtNTMgNDMtOTYgOTYtOTYgMTAgMCAxOS43IDEuNSAyOC44IDQuNHpNNzIgMTkyYTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptMTUyLTE2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNMTc2IDM4NGMwLTYxLjkgNTAuMS0xMTIgMTEyLTExMnMxMTIgNTAuMSAxMTIgMTEybDAgOGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtMTc2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtOHoiXX0sbkh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLW1lZGljYWwtY2lyY2xlLXhtYXJrIixpY29uOls2NDAsNTEyLFtdLCJlNTEzIiwiTTMwOS44IDguNmMtMTIuMy0xMS40LTMxLjMtMTEuNC00My41IDBsLTIyNCAyMDhjLTkuNiA5LTEyLjggMjIuOS04IDM1LjFTNTAuOCAyNzIgNjQgMjcybDE2IDAgMCAxNzZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTk2IDBjLTIxLjItMjkuNS0zNC4zLTY1LjMtMzUuOS0xMDRMMjcyIDQwOGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCAyMCAwYzM0LjktNDguNSA5MS43LTgwIDE1Ni04MCAxMC43IDAgMjEuMSAuOSAzMS4zIDIuNUwzMDkuOCA4LjZ6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0yMi42LTE0NGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZMNTE4LjYgNDAweiJdfSxkOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUtbGlzdCIsaWNvbjpbNDQ4LDUxMixbInRoLWxpc3QiXSwiZjAwYiIsIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnptNjQgMGwwIDY0IDY0IDAgMC02NC02NCAwem0zMjAgMGwtMTkyIDAgMCA2NCAxOTIgMCAwLTY0ek02NCAyMjRsMCA2NCA2NCAwIDAtNjQtNjQgMHptMzIwIDBsLTE5MiAwIDAgNjQgMTkyIDAgMC02NHpNNjQgMzUybDAgNjQgNjQgMCAwLTY0LTY0IDB6bTMyMCAwbC0xOTIgMCAwIDY0IDE5MiAwIDAtNjR6Il19LGxIdD1kOGUsY0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZsYXNrLXZpYWwiLGljb246WzY0MCw1MTIsW10sImU0ZjMiLCJNMTg0LjYgNDExLjVjLTMuMSA3LjMtNS40IDE0LjktNi44IDIyLjYtMTQuNSA4LjgtMzEuNSAxMy45LTQ5LjggMTMuOS01MyAwLTk2LTQzLTk2LTk2TDMyIDY0QzE0LjMgNjQgMCA0OS43IDAgMzJTMTQuMyAwIDMyIDBMMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAyNTUuNi0zOS40IDkxLjl6TTk2IDY0bDAgMTI4IDY0IDAgMC0xMjgtNjQgMHpNMzUyIDBMNTEyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxNTMuNCA5MS4zIDIxM2MyLjMgNS40IDMuOCAxMS4xIDQuNCAxN2wuMyAuNi0uMyAwYy4yIDEuOCAuMyAzLjYgLjMgNS40IDAgMzIuMy0yNi4yIDU4LjYtNTguNiA1OC42bC0yNjYuOSAwYy0zMi4zIDAtNTguNi0yNi4yLTU4LjYtNTguNiAwLTEuOCAuMS0zLjYgLjMtNS40bC0uMyAwIC4zLS42Yy42LTUuOCAyLjEtMTEuNiA0LjQtMTdMMzIwIDIxNy40IDMyMCA2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTMzAyLjMgMCAzMjAgMGwzMiAwek00NTMuMiAyNDIuNmMtMy40LTgtNS4yLTE2LjUtNS4yLTI1LjJsMC0xNTMuNC02NCAwIDAgMTUzLjRjMCA4LjctMS44IDE3LjItNS4yIDI1LjJsLTMzLjIgNzcuNCAxNDAuNyAwLTMzLjItNzcuNHoiXX0sdThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNTEyLDUxMixbImV4Y2xhbWF0aW9uLWNpcmNsZSJdLCJmMDZhIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMSAwLTUxMiAyNTYgMjU2IDAgMSAxIDAgNTEyem0wLTE5MmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6bTAtMTkyYy0xOC4yIDAtMzIuNyAxNS41LTMxLjQgMzMuN2w3LjQgMTA0Yy45IDEyLjYgMTEuNCAyMi4zIDIzLjkgMjIuMyAxMi42IDAgMjMtOS43IDIzLjktMjIuM2w3LjQtMTA0YzEuMy0xOC4yLTEzLjEtMzMuNy0zMS40LTMzLjd6Il19LGRIdD11OGUscDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRheGkiLGljb246WzUxMiw1MTIsWzEyODY2MiwiY2FiIl0sImYxYmEiLCJNMTkyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItOC45IDBjLTQyIDAtNzkuMSAyNy4zLTkxLjYgNjcuNGwtMjMgNzMuNUMxNC41IDIxOS4xIDAgMjQzLjkgMCAyNzJMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyIDMyMCAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE3NmMwLTI4LjEtMTQuNS01Mi45LTM2LjQtNjcuMWwtMjMtNzMuNUM0NDAuMSA5MS4zIDQwMi45IDY0IDM2MC45IDY0bC04LjkgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDE5MiAwek0xNTEuMSAxMjhsMjA5LjkgMGMxNCAwIDI2LjQgOS4xIDMwLjUgMjIuNWwxMyA0MS41LTI5Ni45IDAgMTMtNDEuNWM0LjItMTMuNCAxNi41LTIyLjUgMzAuNS0yMi41ek05NiAyNzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0yODggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sdUh0PXA4ZSxmOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGV4dC1zbGFzaCIsaWNvbjpbNTc2LDUxMixbInJlbW92ZS1mb3JtYXQiXSwiZjg3ZCIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDMyMi43IDI1Ni45IDM2OC4yIDk2IDQ3MSA5NiA0NjUgMTIwLjJjLTQuMyAxNy4xIDYuMSAzNC41IDIzLjMgMzguOHMzNC41LTYuMSAzOC44LTIzLjNsMTEtNDQuMUM1NDUuNiA2MS4zIDUyMi43IDMyIDQ5MS41IDMybC0zMTkgMGMtMTkuOCAwLTM3LjMgMTIuMS00NC41IDMwLjFsLTg3LTg3ek0xODAuNCAxMTQuNWw0LjYtMTguNSAxMTYuNyAwLTMwLjggMTA5LTkwLjUtOTAuNXpNMjQxIDMxMC44TDIxMS4zIDQxNiAxNjAgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC00Mi4yIDAgMTUuMS01My4zLTUxLjktNTEuOXoiXX0scEh0PWY4ZSxmSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVvcGxlLXB1bGxpbmciLGljb246WzU3Niw1MTIsW10sImU1MzUiLCJNODAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyIDkuOCAwIDE4LjUtNC40IDI0LjQtMTEuMkw4MC40IDQ4NS4zYzIuOSAxNy40IDE5LjQgMjkuMiAzNi44IDI2LjNzMjkuMi0xOS40IDI2LjMtMzYuOGwtMjAuNS0xMjIuNyAxNS43IDAgMzAgMTM0LjljMy44IDE3LjMgMjAuOSAyOC4xIDM4LjIgMjQuM3MyOC4xLTIwLjkgMjQuMy0zOC4ybC01Ny4zLTI1OCAxMTYuMyA1My44Yy41IC4zIDEuMSAuNSAxLjYgLjcgOC42IDMuNiAxOCAzLjEgMjUuOS0uNyAzLjQtMS42IDYuNi0zLjkgOS4zLTYuNyAzLjEtMy4yIDUuNS03IDcuMS0xMS40IC4xLS4zIC4yLS43IC4zLTFsMi41LTcuNWM1LjctMTcuMSAxOC4zLTMwLjkgMzQuNy0zOC4ybDgtMy41YzEtLjQgMS45LS44IDIuOS0xLjJsLTE2LjkgNjMuNWMtNS42IDIxLjEtLjEgNDMuNiAxNC43IDU5LjdsNzAuNyA3Ny4xIDIyIDg4LjFjNC4zIDE3LjEgMjEuNyAyNy42IDM4LjggMjMuM3MyNy42LTIxLjcgMjMuMy0zOC44bC0yMy05Mi4xYy0xLjktNy44LTUuOC0xNC45LTExLjItMjAuOGwtNDkuNS01NCAxOS4zLTY1LjUgOS42IDIzYzQuNCAxMC42IDEyLjUgMTkuMyAyMi44IDI0LjVsMjYuNyAxMy4zYzE1LjggNy45IDM1IDEuNSA0Mi45LTE0LjNzMS41LTM1LTE0LjMtNDIuOWwtMjEuNC0xMC43LTE1LjMtMzYuOGMtMTcuMS00MS4xLTU3LjMtNjcuOS0xMDEuOS02Ny45LTIyLjggMC00NS4zIDQuOC02Ni4xIDE0bC04IDMuNWMtMjQuNCAxMC45LTQ0LjYgMjktNTguMSA1MS42TDE1Ny4zIDEzNi45QzE0NC43IDEzMSAxMzAuOSAxMjggMTE3IDEyOGwtNTMgMHpNNDY0IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMzQ5LjcgMzM1LjZsLTI1IDYyLjQtNTkuNCA1OS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDM3Mi4zIDQ0MWM0LjYtNC42IDguMi0xMC4xIDEwLjYtMTYuMWwxNC41LTM2LjItNDAuNy00NC40Yy0yLjUtMi43LTQuOC01LjYtNy04LjZ6Il19LGhIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWNrd2FyZCIsaWNvbjpbNTc2LDUxMixbOTE5NF0sImYwNGEiLCJNMjA0LjMgNDMuMUMyMTUuOSAzMiAyMzMgMjguOSAyNDcuNyAzNS4yUzI3MiA1NiAyNzIgNzJsMCAxMzYuMyAxNzIuMy0xNjUuMUM0NTUuOSAzMiA0NzMgMjguOSA0ODcuNyAzNS4yUzUxMiA1NiA1MTIgNzJsMCAzNjhjMCAxNi05LjYgMzAuNS0yNC4zIDM2LjhzLTMxLjggMy4yLTQzLjQtNy45TDI3MiAzMDMuNyAyNzIgNDQwYzAgMTYtOS42IDMwLjUtMjQuMyAzNi44cy0zMS44IDMuMi00My40LTcuOWwtMTkyLTE4NEM0LjUgMjc3LjMgMCAyNjYuOSAwIDI1NnM0LjUtMjEuMyAxMi4zLTI4LjlsMTkyLTE4NHoiXX0saDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhci1idXJzdCIsaWNvbjpbNjQwLDUxMixbImNhci1jcmFzaCJdLCJmNWUxIiwiTTIzMiAxNi4xbDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0ek0zMiAxNjguMWw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0ek0yODEuNSA3MC42YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDMzLjktMzMuOWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDI4MS41IDM2LjZjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45em0tMTgxIDIxNWwzMy45LTMzLjljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEw2Ni42IDI1MS42Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDB6TTY2LjYgMi43Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWwzMy45IDMzLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDEwMC41IDIuN0M5MS4xLTYuNyA3Ni02LjcgNjYuNiAyLjd6TTM1Mi45IDE3NS40TDUwNSAyMTYuMmM2LjQgMS43IDExLjEgNy4zIDExLjggMTMuOWw3LjIgNzQtMjMxLjUtNjIgNDMuMi02MC41YzMuOS01LjQgMTAuNy03LjkgMTcuMi02LjJ6TTIyMy42IDIyOC41bC0yLjEgMi45Yy0yMS43IDUuNS0zOS45IDIyLjMtNDYuMSA0NS41LTQuMSAxNS41LTEyLjQgNDYuNC0yNC44IDkyLjdsLTguMyAzMC45Yy00LjYgMTcuMSA1LjYgMzQuNiAyMi42IDM5LjJsMTUuNSA0LjFjMTcuMSA0LjYgMzQuNi01LjYgMzkuMi0yMi42bDguMy0zMC45IDI3OC4yIDc0LjUtOC4zIDMwLjljLTQuNiAxNy4xIDUuNiAzNC42IDIyLjYgMzkuMmwxNS41IDQuMWMxNy4xIDQuNiAzNC42LTUuNiAzOS4yLTIyLjYgNC4xLTE1LjUgMTIuNC00Ni40IDI0LjgtOTIuN2w4LjMtMzAuOWM2LjItMjMuMi0xLjEtNDYuOC0xNy4yLTYyLjVsLS4zLTMuNi0xMC0xMDNjLTMuMi0zMy4yLTI2LjctNjAuOS01OC45LTY5LjVMMzY5LjUgMTEzLjZjLTMyLjItOC42LTY2LjQgMy42LTg1LjggMzAuOGwtNjAuMiA4NC4yem00OC43IDU3LjhhMzIgMzIgMCAxIDEgLTE2LjYgNjEuOCAzMiAzMiAwIDEgMSAxNi42LTYxLjh6bTIwOC4xIDg4LjlhMzIgMzIgMCAxIDEgNjEuOCAxNi42IDMyIDMyIDAgMSAxIC02MS44LTE2LjZ6Il19LG1IdD1oOGUsbThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpbmsiLGljb246WzU3Niw1MTIsWzEyODI3OSwiY2hhaW4iXSwiZjBjMSIsIk00MTkuNSA5NmMtMTYuNiAwLTMyLjcgNC41LTQ2LjggMTIuNy0xNS44LTE2LTM0LjItMjkuNC01NC41LTM5LjUgMjguMi0yNCA2NC4xLTM3LjIgMTAxLjMtMzcuMiA4Ni40IDAgMTU2LjUgNzAgMTU2LjUgMTU2LjUgMCA0MS41LTE2LjUgODEuMy00NS44IDExMC42bC03MS4xIDcxLjFjLTI5LjMgMjkuMy02OS4xIDQ1LjgtMTEwLjYgNDUuOC04Ni40IDAtMTU2LjUtNzAtMTU2LjUtMTU2LjUgMC0xLjUgMC0zIC4xLTQuNSAuNS0xNy43IDE1LjItMzEuNiAzMi45LTMxLjFzMzEuNiAxNS4yIDMxLjEgMzIuOWMwIC45IDAgMS44IDAgMi42IDAgNTEuMSA0MS40IDkyLjUgOTIuNSA5Mi41IDI0LjUgMCA0OC05LjcgNjUuNC0yNy4xbDcxLjEtNzEuMWMxNy4zLTE3LjMgMjcuMS00MC45IDI3LjEtNjUuNCAwLTUxLjEtNDEuNC05Mi41LTkyLjUtOTIuNXpNMjc1LjIgMTczLjNjLTEuOS0uOC0zLjgtMS45LTUuNS0zLjEtMTIuNi02LjUtMjctMTAuMi00Mi4xLTEwLjItMjQuNSAwLTQ4IDkuNy02NS40IDI3LjFMOTEuMSAyNTguMmMtMTcuMyAxNy4zLTI3LjEgNDAuOS0yNy4xIDY1LjQgMCA1MS4xIDQxLjQgOTIuNSA5Mi41IDkyLjUgMTYuNSAwIDMyLjYtNC40IDQ2LjctMTIuNiAxNS44IDE2IDM0LjIgMjkuNCA1NC42IDM5LjUtMjguMiAyMy45LTY0IDM3LjItMTAxLjMgMzcuMi04Ni40IDAtMTU2LjUtNzAtMTU2LjUtMTU2LjUgMC00MS41IDE2LjUtODEuMyA0NS44LTExMC42bDcxLjEtNzEuMWMyOS4zLTI5LjMgNjkuMS00NS44IDExMC42LTQ1LjggODYuNiAwIDE1Ni41IDcwLjYgMTU2LjUgMTU2LjkgMCAxLjMgMCAyLjYgMCAzLjktLjQgMTcuNy0xNS4xIDMxLjYtMzIuOCAzMS4ycy0zMS42LTE1LjEtMzEuMi0zMi44YzAtLjggMC0xLjUgMC0yLjMgMC0zMy43LTE4LTYzLjMtNDQuOC03OS42eiJdfSxnSHQ9bThlLGc4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWNrd2FyZC1zdGVwIixpY29uOlszODQsNTEyLFsic3RlcC1iYWNrd2FyZCJdLCJmMDQ4IiwiTTM2MyAzNi44Yy0xMi45LTctMjguNy02LjMtNDEgMS44TDY0IDIwOC4xIDY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNDQuMSAyNTggMTY5LjZjMTIuMyA4LjEgMjggOC44IDQxIDEuOHMyMS0yMC41IDIxLTM1LjJsMC0zNjhjMC0xNC43LTguMS0yOC4yLTIxLTM1LjJ6Il19LGJIdD1nOGUsdkh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IngiLGljb246WzM4NCw1MTIsWzEyMF0sIjU4IiwiTTM3Ni42IDg0LjVjMTEuMy0xMy42IDkuNS0zMy44LTQuMS00NS4xcy0zMy44LTkuNS00NS4xIDQuMUwxOTIgMjA2IDU2LjYgNDMuNUM0NS4zIDI5LjkgMjUuMSAyOC4xIDExLjUgMzkuNFMtMy45IDcwLjkgNy40IDg0LjVMMTUwLjMgMjU2IDcuNCA0MjcuNWMtMTEuMyAxMy42LTkuNSAzMy44IDQuMSA0NS4xczMzLjggOS41IDQ1LjEtNC4xTDE5MiAzMDYgMzI3LjQgNDY4LjVjMTEuMyAxMy42IDMxLjUgMTUuNCA0NS4xIDQuMXMxNS40LTMxLjUgNC4xLTQ1LjFMMjMzLjcgMjU2IDM3Ni42IDg0LjV6Il19LGI4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtdXNlciIsaWNvbjpbNTEyLDUxMixbNjIxNDIsInVzZXItY2lyY2xlIl0sImYyYmQiLCJNMzk5IDM4NC4yQzM3Ni45IDM0NS44IDMzNS40IDMyMCAyODggMzIwbC02NCAwYy00Ny40IDAtODguOSAyNS44LTExMSA2NC4yIDM1LjIgMzkuMiA4Ni4yIDYzLjggMTQzIDYzLjhzMTA3LjgtMjQuNyAxNDMtNjMuOHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjU2IDE2YTcyIDcyIDAgMSAwIDAtMTQ0IDcyIDcyIDAgMSAwIDAgMTQ0eiJdfSx4SHQ9YjhlLHY4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZWN0YW5nbGUtbGlzdCIsaWNvbjpbNTEyLDUxMixbImxpc3QtYWx0Il0sImYwMjIiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTk2IDI1NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0tMzItOTZhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0xMjAtNTZsMTQ0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0wIDEyOGwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LHlIdD12OGUseDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQiLGljb246WzUxMiw1MTIsWzEyOTMwNiw5OTk1LCJoYW5kLXBhcGVyIl0sImYyNTYiLCJNMjg4IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjA4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTc2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjcyYzAgMS41IDAgMy4xIC4xIDQuNkw2Ny42IDI4M2MtMTYtMTUuMi00MS4zLTE0LjYtNTYuNiAxLjRTLTMuNiAzMjUuNyAxMi40IDM0MUwxMjQuOCA0NDhjNDMuMSA0MS4xIDEwMC40IDY0IDE2MCA2NGwxOS4yIDBjOTcuMiAwIDE3Ni03OC44IDE3Ni0xNzZsMC0yMDhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMTJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xNzZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNzZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0yMDh6Il19LHdIdD14OGUsTUh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbmNlciIsaWNvbjpbNTEyLDUxMixbXSwiZTg0NyIsIk00MDggMTUyYzU3LjQgMCAxMDQgNDYuNiAxMDQgMTA0IDAgMTQxLjQtMTE0LjYgMjU2LTI1NiAyNTYtNTQuMyAwLTEwNC44LTE3LTE0Ni4zLTQ1LjktMTQuNS0xMC4xLTE4LTMwLjEtNy45LTQ0LjZzMzAuMS0xOCA0NC42LTcuOWMzMS4xIDIxLjcgNjguOSAzNC40IDEwOS43IDM0LjQgNjcuOSAwIDEyNy41LTM1LjMgMTYxLjctODguNS0zLjIgLjMtNi40IC41LTkuNyAuNS01Ny40IDAtMTA0LTQ2LjYtMTA0LTEwNHM0Ni42LTEwNCAxMDQtMTA0ek0yNTYgMGM1NC4zIDAgMTA0LjggMTcgMTQ2LjMgNDUuOSAxNC41IDEwLjEgMTggMzAuMSA3LjkgNDQuNnMtMzAuMSAxOC00NC42IDcuOWMtMzEuMS0yMS43LTY4LjktMzQuNC0xMDkuNy0zNC40LTY3LjkgMC0xMjcuNSAzNS4yLTE2MS43IDg4LjQgMy4yLS4zIDYuNC0uNCA5LjctLjQgNTcuNCAwIDEwNCA0Ni42IDEwNCAxMDRTMTYxLjQgMzYwIDEwNCAzNjAgMCAzMTMuNCAwIDI1NkMwIDI1NC4xIDAgMjUyLjIgLjEgMjUwLjQgMy4xIDExMS42IDExNi41IDAgMjU2IDB6TTEwNCAyMTZhNDAgNDAgMCAxIDAgMCA4MCA0MCA0MCAwIDEgMCAwLTgwem0zMDQgMGE0MCA0MCAwIDEgMCAwIDgwIDQwIDQwIDAgMSAwIDAtODB6Il19LHk4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2YW4tc2h1dHRsZSIsaWNvbjpbNTc2LDUxMixbMTI4NjU2LCJzaHV0dGxlLXZhbiJdLCJmNWI2IiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzM2YzAgMzUuMyAyOC43IDY0IDY0IDY0bC40IDBjNCA0NC45IDQxLjcgODAgODcuNiA4MHM4My42LTM1LjEgODcuNi04MGwxMDQuNyAwYzQgNDQuOSA0MS43IDgwIDg3LjYgODAgNDYuMSAwIDgzLjktMzUuNCA4Ny43LTgwLjUgMzEuNy0zLjggNTYuMy0zMC44IDU2LjMtNjMuNWwwLTEwMS4zYzAtMTMuOC00LjUtMjcuMy0xMi44LTM4LjRsLTgwLTEwNi43QzQ3MS4xIDczLjUgNDUyLjEgNjQgNDMyIDY0TDY0IDY0ek01MDQgMjI0bC0xMjAgMCAwLTk2IDQ4IDAgNzIgOTZ6TTY0IDIyNGwwLTk2IDk2IDAgMCA5Ni05NiAwem0xNjAgMGwwLTk2IDk2IDAgMCA5Ni05NiAwek0zOTIgMzkyYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTE1MiAzNTJhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgweiJdfSxrSHQ9eThlLFNIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFpcnMiLGljb246WzU3Niw1MTIsW10sImUyODkiLCJNMzg0IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5NiAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDAgMC05NnoiXX0sekh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvcnNlLWhlYWQiLGljb246WzUxMiw1MTIsW10sImY3YWIiLCJNMCA0NjRMMCAzMTYuOUMwIDIwOC41IDY4LjMgMTExLjggMTcwLjUgNzUuNkwzNDAuMiAxNS41YzIxLjQtNy42IDQzLjggOC4zIDQzLjggMzAuOSAwIDExLTUuNSAyMS4yLTE0LjYgMjcuM0wzMzYgOTZjNDguMSAwIDkxLjIgMjkuOCAxMDguMSA3NC45bDQ4LjYgMTI5LjVjMTEuOCAzMS40IDQuMSA2Ni44LTE5LjYgOTAuNS0xNiAxNi0zNy44IDI1LjEtNjAuNSAyNS4xbC0zLjQgMGMtMjYuMSAwLTUwLjktMTEuNi02Ny42LTMxLjdsLTMyLjMtMzguN2MtMTEuNyA0LjEtMjQuMiA2LjQtMzcuMyA2LjRsLS4xIDBjLTYuMyAwLTEyLjUtLjUtMTguNi0xLjUtMy42LS42LTcuMi0xLjQtMTAuNy0yLjNsMCAwYy0yOC45LTcuOC01My4xLTI2LjgtNjcuOC01Mi4yLTQuNC03LjctMTQuMi0xMC4zLTIxLjktNS44cy0xMC4zIDE0LjItNS44IDIxLjljMjQgNDEuNSA2OC4zIDcwIDExOS4zIDcxLjlsNDcuMiA3MC44YzQgNi4xIDYuMiAxMy4yIDYuMiAyMC40IDAgMjAuMy0xNi41IDM2LjgtMzYuOCAzNi44TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6TTMyOCAyMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxDSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmF1bHQiLGljb246WzUxMiw1MTIsW10sImUyYzUiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NCAwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDI1NiAwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTI1NiAyNTZhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwek02NCAyNTZhMTI4IDEyOCAwIDEgMSAyNTYgMCAxMjggMTI4IDAgMSAxIC0yNTYgMHptMzg0LTQ4YzAgMTcuOC05LjcgMzMuMy0yNCA0MS42bDAgNzguNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTc4LjRjLTE0LjMtOC4zLTI0LTIzLjgtMjQtNDEuNiAwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4eiJdfSxfSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvc2VkLWNhcHRpb25pbmctc2xhc2giLGljb246WzU3Niw1MTIsW10sImUxMzUiLCJNNy0yNC45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDEyOS44IDY0IDQ4MCA2NGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDI1LjUtMTQuOSA0Ny40LTM2LjQgNTcuOEw1NjkgNTAzLjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw3IDkuMUMtMi4zLS4zLTIuMy0xNS41IDctMjQuOXptMzQ1IDMxMWwwLTcwLjJjMC00LjQgMy42LTggOC04bDMyIDBjNC40IDAgOCAzLjYgOCA4IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTMyIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgMjIuMiA0OCA0OHptNjEuNSA2MS41YzIwLjItOC40IDM0LjUtMjguNCAzNC41LTUxLjcgMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRjMCA0LjQtMy42IDgtOCA4bC0yMi4yIDAgNDMuNyA0My43ek0xMzAuMyAyMDAuMWMtMS41IDUtMi4zIDEwLjQtMi4zIDE1LjlsMCA4MGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMiAwYzE4LjEgMCAzNC4xLTguNSA0NC40LTIxLjhMMzc4LjIgNDQ4IDk2IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yNTZjMC03LjggMS40LTE1LjMgNC0yMi4ybDk0LjMgOTQuM3ptOTMuOCA5My44Yy0uMSAuNy0uMSAxLjQtLjEgMi4xIDAgNC40LTMuNiA4LTggOGwtMzIgMGMtNC40IDAtOC0zLjYtOC04bDAtNTAuMiA0OC4xIDQ4LjF6Il19LFRIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcnVtLXN0ZWVscGFuIixpY29uOls1NzYsNTEyLFtdLCJmNTZhIiwiTTI4OCAzMmMxNTkuMSAwIDI4OCA0OCAyODggMTI4bDAgMTkyYzAgODAtMTI4LjkgMTI4LTI4OCAxMjhTMCA0MzIgMCAzNTJMMCAxNjBDMCA4MCAxMjguOSAzMiAyODggMzJ6TTUyOCAxNjBjMC05LjktOC0yOS45LTU1LTQ5LjgtMTguNi03LjktNDAuOS0xNC40LTY2LTE5LjRsLTI3LjggNDMuNmMtNy4zIDExLjUtMTEuMiAyNC44LTExLjIgMzguNCAwIDE3LjUgNi40IDM0LjQgMTguMSA0Ny41bDkuOCAxMWMyOS44LTUuMiA1NS45LTEyLjUgNzcuMi0yMS41IDQ3LjEtMTkuOSA1NS0zOS45IDU1LTQ5Ljh6TTM0OS4yIDIzNy4zYy04LTI2LjItMzIuNC00NS4zLTYxLjItNDUuM3MtNTMuMyAxOS4xLTYxLjIgNDUuM2MxOS40IDEuNyAzOS45IDIuNyA2MS4yIDIuN3M0MS44LS45IDYxLjItMi43ek0xNjkgOTAuOGMtMjUuMiA1LTQ3LjQgMTEuNi02NiAxOS40LTQ3LjEgMTkuOS01NSAzOS45LTU1IDQ5LjhzOCAyOS45IDU1IDQ5LjhjMjEuMyA5IDQ3LjQgMTYuMyA3Ny4yIDIxLjVsOS44LTExYzExLjYtMTMuMSAxOC4xLTMwIDE4LjEtNDcuNSAwLTEzLjYtMy45LTI2LjktMTEuMi0zOC40TDE2OSA5MC44em01Ni4zLThjLS45IDQuMy0xLjQgOC43LTEuNCAxMy4yIDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRjMC00LjUtLjUtOS0xLjQtMTMuMi0xOS44LTEuOC00MC44LTIuOC02Mi42LTIuOHMtNDIuOCAxLTYyLjYgMi44eiJdfSxMSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGh1bWJzLXVwIixpY29uOls1MTIsNTEyLFsxMjgwNzcsNjE1NzVdLCJmMTY0IiwiTTgwIDE2MGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNDggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsNDggMHpNMjcwLjYgMTZDMjk3LjkgMTYgMzIwIDM4LjEgMzIwIDY1LjRsMCA0LjJjMCA2LjgtMS4zIDEzLjYtMy44IDE5LjlMMjg4IDE2MCA0NDggMTYwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMTkuNy0xMS45IDM2LjYtMjguOSA0NCAxNyA3LjQgMjguOSAyNC4zIDI4LjkgNDQgMCAyMy40LTE2LjggNDIuOS0zOSA0Ny4xIDQuNCA3LjMgNyAxNS44IDcgMjQuOSAwIDIyLjItMTUgNDAuOC0zNS40IDQ2LjMgMi4yIDUuNSAzLjQgMTEuNSAzLjQgMTcuNyAwIDI2LjUtMjEuNSA0OC00OCA0OGwtODcuOSAwYy0zNi4zIDAtNzEuNi0xMi40LTk5LjktMzUuMUwxODQgNDM1LjJjLTE1LjItMTIuMS0yNC0zMC41LTI0LTUwbDAtMTg2LjZjMC0xNC45IDMuNS0yOS42IDEwLjEtNDIuOUwyMjYuMyA0My4zQzIzNC43IDI2LjYgMjUxLjggMTYgMjcwLjYgMTZ6Il19LCRIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFtcCIsaWNvbjpbNTEyLDUxMixbXSwiZjViZiIsIk0zMTIgMjAxLjhjMC0xNy40IDkuMi0zMy4yIDE5LjktNDcgMTIuNi0xNi4yIDIwLjEtMzYuNiAyMC4xLTU4LjggMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZjMCAyMi4xIDcuNSA0Mi41IDIwLjEgNTguOCAxMC43IDEzLjggMTkuOSAyOS42IDE5LjkgNDcgMCAyOS45LTI0LjMgNTQuMi01NC4yIDU0LjJMMTEyIDI1NmMtNjEuOSAwLTExMiA1MC4xLTExMiAxMTIgMCAyNi41IDIxLjUgNDggNDggNDhsNDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDggMC02MS45LTUwLjEtMTEyLTExMi0xMTJsLTMzLjggMGMtMjkuOSAwLTU0LjItMjQuMy01NC4yLTU0LjJ6TTU2IDQ2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw1NiA0NjR6Il19LERIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtZW5vcmFoIixpY29uOls2NDAsNTEyLFtdLCJmNjc2IiwiTTIwLjggNy40QzIyLjggMi45IDI3LjEgMCAzMiAwczkuMiAyLjkgMTEuMiA3LjRMNjEuMyA0OS43YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMUw2NCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDgxLjcgMCA2NGwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjFMMjAuOCA3LjR6bTk2IDBDMTE4LjggMi45IDEyMy4xIDAgMTI4IDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMyUzk2IDgxLjcgOTYgNjRsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xTDExNi44IDcuNHptNzcuOCA0Mi40TDIxMi44IDcuNEMyMTQuOCAyLjkgMjE5LjEgMCAyMjQgMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xek0zMDguOCA3LjRDMzEwLjggMi45IDMxNS4xIDAgMzIwIDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMUwzMDguOCA3LjR6bTc3LjggNDIuNEw0MDQuOCA3LjRDNDA2LjggMi45IDQxMS4xIDAgNDE2IDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMXpNNTAwLjggNy40QzUwMi44IDIuOSA1MDcuMSAwIDUxMiAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMWwwIDEuMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjFMNTAwLjggNy40em03Ny44IDQyLjRMNTk2LjggNy40QzU5OC44IDIuOSA2MDMuMSAwIDYwOCAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMWwwIDEuMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjF6TTMyIDEyOGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxOTIgMCAwLTE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTYwIDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxMjhjMCA1My00MyA5Ni05NiA5NmwtMTkyIDAgMCA2NCAxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTI4IDAgMC02NC0xOTIgMGMtNTMgMC05Ni00My05Ni05NkwwIDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOC02NCAwIDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4LTY0IDAgMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4LTY0IDAgMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjgtNjQgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sQUh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoaWxkcmVuIixpY29uOls2NDAsNTEyLFtdLCJlNGUxIiwiTTE2MC41IDBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bS03MiA0ODBsMC04MC0xNy44IDBjLTEwLjkgMC0xOC42LTEwLjctMTUuMi0yMS4xTDg2LjcgMjg1LjUgNTggMzIzLjNjLTEwLjcgMTQuMS0zMC44IDE2LjgtNDQuOCA2LjJTLTMuNyAyOTguNyA3IDI4NC43TDY1LjkgMjA3YzIyLjQtMjkuNiA1Ny41LTQ3IDk0LjYtNDdzNzIuMiAxNy40IDk0LjYgNDdMMzE0IDI4NC43YzEwLjcgMTQuMSA3LjkgMzQuMi02LjIgNDQuOHMtMzQuMiA3LjktNDQuOC02LjJsLTI4LjctMzcuOCAzMS4xIDkzLjRjMy41IDEwLjQtNC4zIDIxLjEtMTUuMiAyMS4xbC0xNy44IDAgMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTgwLTE2IDAgMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMnpNNDgwLjUgMGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptLTggMzg0bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNzkuNS0xMi45IDIwLjVjLTkuNCAxNS0yOS4yIDE5LjQtNDQuMSAxMHMtMTkuNC0yOS4yLTEwLTQ0LjFsNTEuNy04Mi4xYzE3LjYtMjcuOSA0OC4zLTQ0LjkgODEuMi00NC45bDEyLjMgMGMzMyAwIDYzLjcgMTYuOSA4MS4yIDQ0LjlMNjE5LjYgMjg3YzkuNCAxNSA0LjkgMzQuNy0xMCA0NC4xcy0zNC43IDQuOS00NC4xLTEwbC0xMi45LTIwLjUgMCAxNzkuNWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2LTE2IDB6Il19LHc4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFydC1saW5lIixpY29uOls1MTIsNTEyLFsibGluZS1jaGFydCJdLCJmMjAxIiwiTTY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDAwYzAgNDQuMiAzNS44IDgwIDgwIDgwbDQwMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2TDY0IDY0em00MDYuNiA4Ni42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDMyMCAyMTAuNyAyNjIuNiAxNTMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDczLjQtNzMuNCA1Ny40IDU3LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOHoiXX0sUEh0PXc4ZSxNOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWVudmVsb3BlIixpY29uOls0NDgsNTEyLFsiZW52ZWxvcGUtc3F1YXJlIl0sImYxOTkiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjA5LjEgMjY3LjlMMTA4LjQgMjA3LjRjLTcuNy00LjYtMTIuNC0xMi45LTEyLjQtMjEuOSAwLTE0LjEgMTEuNC0yNS41IDI1LjUtMjUuNWwyMDQuOSAwYzE0LjEgMCAyNS41IDExLjQgMjUuNSAyNS41IDAgOS00LjcgMTcuMy0xMi40IDIxLjlMMjM4LjkgMjY3LjljLTQuNSAyLjctOS42IDQuMS0xNC45IDQuMXMtMTAuNC0xLjQtMTQuOS00LjF6TTM1MiAyMzcuM2wwIDgyLjdjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTgyLjcgOTYuNyA1OEMyMDIuMSAzMDEgMjEzIDMwNCAyMjQgMzA0czIxLjktMyAzMS4zLTguN2w5Ni43LTU4eiJdfSxFSHQ9TThlLGs4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYW4tc21va2luZyIsaWNvbjpbNTEyLDUxMixbMTI4Njg1LCJzbW9raW5nLWJhbiJdLCJmNTRkIiwiTTk5LjUgMTQ0LjhsNzkuMiA3OS4yLTUwLjcgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNDYuNyAwIDkyLjUgOTIuNWMtMzEuNCAyMi40LTY5LjggMzUuNS0xMTEuMiAzNS41LTEwNiAwLTE5Mi04Ni0xOTItMTkyIDAtNDEuNSAxMy4xLTc5LjkgMzUuNS0xMTEuMnpNMzMzLjMgMjg4bC0zMi0zMiA4Mi43IDAgMCAzMi01MC43IDB6bTMyIDMybDE4LjcgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDI2OS4zIDIyNCAxNDQuOCA5OS41YzMxLjQtMjIuNCA2OS44LTM1LjUgMTExLjItMzUuNSAxMDYgMCAxOTIgODYgMTkyIDE5MiAwIDQxLjUtMTMuMSA3OS45LTM1LjUgMTExLjJMMzY1LjMgMzIwek0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjcyIDk2Yy04LjggMC0xNiA3LjItMTYgMTYgMCAyNi41IDIxLjUgNDggNDggNDhsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzNy4yIDE2IDE2IDE2IDE2LTcuMiAxNi0xNmMwLTI2LjUtMjEuNS00OC00OC00OGwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2cy03LjItMTYtMTYtMTZ6Il19LElIdD1rOGUsTkh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLWZyb250IixpY29uOls0NDgsNTEyLFtdLCJlMmI3IiwiTTAgMTEyQzAgNjcuOCAzNS44IDMyIDgwIDMybDI4OCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMjU2YzAgMjYuMi0xMi42IDQ5LjQtMzIgNjRsMCA0OGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMi0xOTIgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4QzEyLjYgNDE3LjQgMCAzOTQuMiAwIDM2OEwwIDExMnptOTYgODBsMCA2NCAyNTYgMCAwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xOTIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTMyIDE2MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0yMjQgMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxBdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmciLGljb246WzM4NCw1MTIsWzEyNzk3MCw2MTY4N10sImYxYWQiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpNMTc2IDM1MmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgODAtOTYgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMyek05NiAxMTJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjQwIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTk2IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNDQtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sUkh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1bGxzZXllIixpY29uOls1MTIsNTEyLFtdLCJmMTQwIiwiTTQ0OCAyNTZhMTkyIDE5MiAwIDEgMCAtMzg0IDAgMTkyIDE5MiAwIDEgMCAzODQgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjU2IDgwYTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0wLTIyNGExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6TTIyNCAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sUzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWxlZnQtbG9uZyIsaWNvbjpbNTc2LDUxMixbImxvbmctYXJyb3ctbGVmdCJdLCJmMTc3IiwiTTkuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTI4IDEyOGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDEwOS4zIDI4OCA1NDQgMjg4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC00MzQuNyAwIDczLjQtNzMuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOHoiXX0sT0h0PVM4ZSxGSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3Mtcm9vayIsaWNvbjpbMzg0LDUxMixbOTgyMF0sImY0NDciLCJNMCAzMkwwIDEzMy41YzAgMTcgNi43IDMzLjMgMTguNyA0NS4zTDY0IDIyNCA2NCAzODQgNy44IDQ1NC4zQzIuNyA0NjAuNiAwIDQ2OC40IDAgNDc2LjUgMCA0OTYuMSAxNS45IDUxMiAzNS41IDUxMmwzMTIuOSAwYzE5LjYgMCAzNS41LTE1LjkgMzUuNS0zNS41IDAtOC4xLTIuNy0xNS45LTcuOC0yMi4ybC01Ni4yLTcwLjMgMC0xNjAgNDUuMy00NS4zYzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNMMzg0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyMCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTQ4IDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMkwxNzYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMi00OCAwIDAtMzJDOTYgMTQuMyA4MS43IDAgNjQgMEwzMiAwQzE0LjMgMCAwIDE0LjMgMCAzMnoiXX0sQkh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJsZW5kZXItcGhvbmUiLGljb246WzU3Niw1MTIsW10sImY2YjYiLCJNMTUxLjQgMTMuMmMxMC4yIDUuOCAxNC41IDE4LjQgMTAgMjkuM0wxMzguMiA5OC44Yy0zLjkgOS42LTEzLjcgMTUuNC0yNCAxNC40bC0yMC4yLTJDNzguNyAxNTIuOSA3OCAxOTguOSA5MS45IDI0MS4xbDIyLjQtMi4yYzEwLjMtMSAyMCA0LjggMjQgMTQuNGwyMy4yIDU2LjNjNC41IDEwLjkgLjIgMjMuNC0xMCAyOS4zbC0yLjkgMS42Yy0zMy42IDE5LjItODEuNyAxNi4yLTEwNi4yLTIxLjYtNTYuMy04Ni42LTU2LjMtMTk5LjEgMC0yODUuNyAyNC42LTM3LjcgNzIuNy00MC43IDEwNi4yLTIxLjZsMi45IDEuNnpNMjI0IDMzNkwxOTMuNyAxNy41QzE5Mi44IDguMSAyMDAuMiAwIDIwOS42IDBsMzI0IDBjMjEuMyAwIDM2LjYgMjAuMyAzMC44IDQwLjhMNTUzLjEgODAgNDQwIDgwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDk5LjQgMC0xOC4zIDY0LTgxLjEgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2Ny40IDAtMjcuNCA5Ni0yNTYgMHptOCA0OGwyNDAgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwbC0yNDAgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHptMTIwIDg4YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sejhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXR1cm4tdXAiLGljb246WzM4NCw1MTIsWyJsZXZlbC11cCJdLCJmMTQ4IiwiTTMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC0zMDYuNyA3My40IDczLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTEyOCAxMjhjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTYwIDEwOS4zIDE2MCA0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDB6Il19LEhIdD16OGUscUh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJpY3ljbGUiLGljb246WzY0MCw1MTIsWzEyODY5MF0sImYyMDYiLCJNMzMxLjcgNDMuM0MzMzYgMzYuMyAzNDMuNyAzMiAzNTIgMzJsMTA0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY1LjYgMCA3Mi4yIDE0OC40YzEwLjctMi45IDIxLjktNC40IDMzLjQtNC40IDcwLjcgMCAxMjggNTcuMyAxMjggMTI4cy01Ny4zIDEyOC0xMjggMTI4LTEyOC01Ny4zLTEyOC0xMjhjMC00MiAyMC4yLTc5LjIgNTEuNC0xMDIuNmwtMjAuNC00MS45LTczLjUgMTQ3Yy0yLjMgNC44LTYuMyA4LjgtMTEuNCAxMS4yLS42IC4zLTEuMiAuNS0xLjggLjctMi45IDEuMS01LjkgMS42LTguOSAxLjVMMjcxIDM2OGMtNy45IDYzLjEtNjEuNyAxMTItMTI3IDExMi03MC43IDAtMTI4LTU3LjMtMTI4LTEyOFM3My4zIDIyNCAxNDQgMjI0YzEwLjggMCAyMS4yIDEuMyAzMS4yIDMuOGwyOC41LTU2LjktMTEuNS0yNi45LTQwLjIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw1NiAwYzkuNiAwIDE4LjMgNS43IDIyLjEgMTQuNWwxNC4zIDMzLjUgMTIzLjcgMC0zNy43LTc3LjVjLTMuNi03LjQtMy4yLTE2LjIgMS4yLTIzLjJ6TTIyOC41IDIyOC43bC00NS42IDkxLjMgODQuOCAwLTM5LjEtOTEuM3pNMzA1LjcgMjg3bDQ3LjUtOTUtODguMiAwIDQwLjcgOTV6bTE2OC43IDc1LjVsLTI5LjctNjFjLTEyLjggMTMtMjAuNyAzMC44LTIwLjcgNTAuNSAwIDM5LjggMzIuMiA3MiA3MiA3MnM3Mi0zMi4yIDcyLTcyLTMyLjItNzItNzItNzJjLTIuNyAwLTUuNSAuMi04LjEgLjVsMjkuNyA2MWM1LjggMTEuOSAuOCAyNi4zLTExLjEgMzIuMXMtMjYuMyAuOC0zMi4xLTExLjF6TTE0OS4yIDM2OGMtMjAuMiAwLTMzLjQtMjEuMy0yNC4zLTM5LjRsMjQuMi00OC41Yy0xLjctLjEtMy40LS4yLTUuMS0uMi0zOS44IDAtNzIgMzIuMi03MiA3MnMzMi4yIDcyIDcyIDcyYzM0LjMgMCA2Mi45LTIzLjkgNzAuMi01NmwtNjUgMHoiXX0sQzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1hcnJvdy1kb3duIixpY29uOls1MTIsNTEyLFsiYXJyb3ctY2lyY2xlLWRvd24iXSwiZjBhYiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjM5IDM3N2wtODAtODBjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwzOSAzOSAwLTE1MC4xYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxNTAuMSAzOS0zOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTgwIDgwYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHoiXX0sVkh0PUM4ZSxpdj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnZWFyIixpY29uOls1MTIsNTEyLFs5ODgxLCJjb2ciXSwiZjAxMyIsIk0xOTUuMSA5LjVDMTk4LjEtNS4zIDIxMS4yLTE2IDIyNi40LTE2bDU5LjggMGMxNS4yIDAgMjguMyAxMC43IDMxLjMgMjUuNUwzMzIgNzkuNWMxNC4xIDYgMjcuMyAxMy43IDM5LjMgMjIuOGw2Ny44LTIyLjVjMTQuNC00LjggMzAuMiAxLjIgMzcuOCAxNC40bDI5LjkgNTEuOGM3LjYgMTMuMiA0LjkgMjkuOC02LjUgMzkuOUw0NDcgMjMzLjNjLjkgNy40IDEuMyAxNSAxLjMgMjIuN3MtLjUgMTUuMy0xLjMgMjIuN2w1My40IDQ3LjVjMTEuNCAxMC4xIDE0IDI2LjggNi41IDM5LjlsLTI5LjkgNTEuOGMtNy42IDEzLjEtMjMuNCAxOS4yLTM3LjggMTQuNGwtNjcuOC0yMi41Yy0xMi4xIDkuMS0yNS4zIDE2LjctMzkuMyAyMi44bC0xNC40IDY5LjljLTMuMSAxNC45LTE2LjIgMjUuNS0zMS4zIDI1LjVsLTU5LjggMGMtMTUuMiAwLTI4LjMtMTAuNy0zMS4zLTI1LjVsLTE0LjQtNjkuOWMtMTQuMS02LTI3LjItMTMuNy0zOS4zLTIyLjhMNzMuNSA0MzIuM2MtMTQuNCA0LjgtMzAuMi0xLjItMzcuOC0xNC40TDUuOCAzNjYuMWMtNy42LTEzLjItNC45LTI5LjggNi41LTM5LjlsNTMuNC00Ny41Yy0uOS03LjQtMS4zLTE1LTEuMy0yMi43cy41LTE1LjMgMS4zLTIyLjdMMTIuMyAxODUuOGMtMTEuNC0xMC4xLTE0LTI2LjgtNi41LTM5LjlMMzUuNyA5NC4xYzcuNi0xMy4yIDIzLjQtMTkuMiAzNy44LTE0LjRsNjcuOCAyMi41YzEyLjEtOS4xIDI1LjMtMTYuNyAzOS4zLTIyLjhMMTk1LjEgOS41ek0yNTYuMyAzMzZhODAgODAgMCAxIDAgLS42LTE2MCA4MCA4MCAwIDEgMCAuNiAxNjB6Il19LGpIdD1pdixVSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFycy1hbmQtdmVudXMtYnVyc3QiLGljb246WzY0MCw1MTIsW10sImU1MjMiLCJNNDY0LTMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDM0LjcgMC02MyA2M2MtMjguNC0xOS41LTYyLjctMzEtOTkuOC0zMS05Ny4yIDAtMTc2IDc4LjgtMTc2IDE3NiAwIDg2LjMgNjIuMSAxNTguMSAxNDQgMTczLjFsMCAzNC45LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzQuOWM4MS45LTE1IDE0NC04Ni44IDE0NC0xNzMuMSAwLTM3LTExLjQtNzEuNC0zMS05OS44bDYzLTYzIDAgMzQuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTEyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDQ5Ni02NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTM2OCA5NmExMTIgMTEyIDAgMSAxIDAgMjI0IDExMiAxMTIgMCAxIDEgMC0yMjR6TTE5MC45LTIxLjlDMTg4LjQtMjggMTgyLjYtMzIgMTc2LTMycy0xMi40IDQtMTQuOSAxMC4xbC0yOS40IDc0LTc2LjItMjMuMWMtNi4zLTEuOS0xMy4xIC4yLTE3LjIgNS4zUzMzLjggNDYuNSAzNyA1Mi4ybDM5LjUgNjkuMS02NS42IDQ1LjFjLTUuNCAzLjctOCAxMC4zLTYuNSAxNi43czYuNyAxMS4yIDEzLjEgMTIuMmw3OC43IDEyLjItNS42IDc5LjRjLS41IDYuNSAzLjEgMTIuNyA5IDE1LjVzMTIuOSAxLjggMTcuOC0yLjZMMTUyLjEgMjY4Yy01LjMtMTkuMS04LjEtMzkuMi04LjEtNjAgMC02NS40IDI4LTEyNC4yIDcyLjYtMTY1LjFMMTkwLjktMjEuOXoiXX0sV0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im90dGVyIixpY29uOls2NDAsNTEyLFsxMjk0NDZdLCJmNzAwIiwiTTE4MS41IDE5Ny4xbDEyLjkgNi40YzUuOSAzIDEyLjQgNC41IDE5LjEgNC41IDIzLjUgMCA0Mi42LTE5LjEgNDIuNi00Mi42bDAtMjEuNGMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMS40YzAgMjMuNSAxOS4xIDQyLjYgNDIuNiA0Mi42IDYuNiAwIDEzLjEtMS41IDE5LjEtNC41IDkuMy00LjcgMTYuNC04LjIgMjEuMi0xMC42TDEzNS4xIDE4NWMtNC41LTMtNy4xLTgtNy4xLTEzLjNsMC0zLjdjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDMuN2MwIDUuMy0yLjcgMTAuMy03LjEgMTMuM2wtMTEuOCA3LjkgOC40IDQuMnptLTguNiA0OS40bC0xMi45LTYuNC0xMi45IDYuNGMtMTIuNiA2LjMtMjYuNSA5LjYtNDAuNSA5LjYtMy42IDAtNy4xLS4yLTEwLjYtLjZsMCAuNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDE2MCAwIDAtNjRjMC0yMy43IDEyLjktNDQuNCAzMi01NS40IDkuNC01LjQgMjAuMy04LjYgMzItOC42bDAtMTZjMC0yNi41IDIxLjUtNDggNDgtNDggOC44IDAgMTYgNy4yIDE2IDE2bDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTk5LjdjMC00OC4yLTMwLjgtOTEtNzYuNi0xMDYuM2wtOC41LTIuOGMtOC0yLjctMTIuNi0xMS4xLTEwLjQtMTkuM3MxMC4zLTEzLjIgMTguNi0xMS42bDE5LjkgNEM1NzYgODYuMSA2NDAgMTY0LjIgNjQwIDI1NC45bDAgMS4xIDAgMGMwIDEyMy43LTEwMC4zIDIyNC0yMjQgMjI0bC0xNjAuNiAwQzEzMiA0ODAgMzIgMzgwIDMyIDI1Ni42bDAtMzkuOGMtMTAuMS0xNC42LTE2LTMyLjMtMTYtNTEuNGwwLTIxLjQgMC0xLjRDNi43IDEzOS4zIDAgMTMwLjUgMCAxMjAgMCAxMDYuNyAxMC43IDk2IDI0IDk2bDIuOCAwQzQ0LjggNTguMiA4My4zIDMyIDEyOCAzMmw2NCAwYzQ0LjcgMCA4My4yIDI2LjIgMTAxLjIgNjRsMi44IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjQgMCAxMC41LTYuNyAxOS4zLTE2IDIyLjZsMCAxLjQgMCAyMS40YzAgMS40IDAgMi44LS4xIDQuMyAxMi02LjIgMjUuNy05LjYgNDAuMS05LjZsOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC04IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgOCA1Ni40IDBjLTE1LjIgMTctMjQuNCAzOS40LTI0LjQgNjRsLTMyIDBjLTQyLjMgMC03OC4yLTI3LjQtOTEtNjUuMy01LjEgLjktMTAuMyAxLjMtMTUuNiAxLjMtMTQuMSAwLTI3LjktMy4zLTQwLjUtOS42ek05NiAxMjhhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyem0xMTIgMTZhMTYgMTYgMCAxIDEgMzIgMCAxNiAxNiAwIDEgMSAtMzIgMHoiXX0sXzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1jaGV2cm9uLWxlZnQiLGljb246WzUxMiw1MTIsWyJjaGV2cm9uLWNpcmNsZS1sZWZ0Il0sImYxMzciLCJNNTEyIDI1NmEyNTYgMjU2IDAgMSAwIC01MTIgMCAyNTYgMjU2IDAgMSAwIDUxMiAwek0yNzEgMTM1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtODcgODcgODcgODdjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEwxNjcgMjczYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOUwyNzEgMTM1eiJdfSxHSHQ9XzhlLFQ4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtcXVlc3Rpb24iLGljb246WzUxMiw1MTIsWzYyMTA4LCJxdWVzdGlvbi1jaXJjbGUiXSwiZjA1OSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptMC0zMzZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCA0Ny4yLTM2IDY3LjItNTYgNzQuNWwwIDMuOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTguMWMwLTIwLjUgMTQuOC0zNS4yIDMwLjEtNDAuMiA2LjQtMi4xIDEzLjItNS41IDE4LjItMTAuMyA0LjMtNC4yIDcuNy0xMCA3LjctMTkuNiAwLTE3LjctMTQuMy0zMi0zMi0zMnpNMjI0IDM2OGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxZSHQ9VDhlLEtIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YWxraWUtdGFsa2llIixpY29uOlszODQsNTEyLFtdLCJmOGVmIiwiTTg4LTMyYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNzIgNDggMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDMyIDBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTYwLjljMCA5LjktMi4zIDE5LjctNi44IDI4LjZsLTIwLjIgNDAuNGMtMy4zIDYuNy01LjEgMTQtNS4xIDIxLjVsMCA4NC43YzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC04NC43YzAtNy41LTEuNy0xNC44LTUuMS0yMS41TDYuOCAzMDEuNUMyLjMgMjkyLjYgMCAyODIuOCAwIDI3Mi45TDAgMTEyQzAgODUuNSAyMS41IDY0IDQ4IDY0bDE2IDAgMC03MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMzIgMTc2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LEw4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLWdyb3VwIixpY29uOls1NzYsNTEyLFsxMjgxMDEsInVzZXItZnJpZW5kcyJdLCJmNTAwIiwiTTY0IDEyOGExMTIgMTEyIDAgMSAxIDIyNCAwIDExMiAxMTIgMCAxIDEgLTIyNCAwek0wIDQ2NGMwLTk3LjIgNzguOC0xNzYgMTc2LTE3NnMxNzYgNzguOCAxNzYgMTc2bDAgNmMwIDIzLjItMTguOCA0Mi00MiA0Mkw0MiA1MTJjLTIzLjIgMC00Mi0xOC44LTQyLTQybDAtNnpNNDMyIDY0YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyem0wIDI0MGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NGwwIDIyLjRjMCAyMy0xOC42IDQxLjYtNDEuNiA0MS42bC0xNDQuOCAwYzYuNi0xMi41IDEwLjQtMjYuOCAxMC40LTQybDAtNmMwLTUxLjUtMTcuNC05OC45LTQ2LjUtMTM2LjcgMjIuNi0xNC43IDQ5LjYtMjMuMyA3OC41LTIzLjN6Il19LFpIdD1MOGUsJDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNoaW1uZXkiLGljb246WzUxMiw1MTIsWzYzNDk5LCJob21lLWxnIl0sImUzYWYiLCJNMjM0LjIgOC42YzEyLjMtMTEuNCAzMS4zLTExLjQgNDMuNSAwTDM2OCA5Mi4zIDM2OCA4MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTAxLjUgMzcuOCAzNS4xYzkuNiA5IDEyLjggMjIuOSA4IDM1LjFTNDkzLjIgMjcyIDQ4MCAyNzJsLTE2IDAgMCAxNzZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI4OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDh6TTI0MCAzMjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTYgMTI4IDAgMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtMzIgMHoiXX0sWEh0PSQ4ZSxEOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmlnaHQtZnJvbS1icmFja2V0IixpY29uOls1MTIsNTEyLFsic2lnbi1vdXQtYWx0Il0sImYyZjUiLCJNNTA1IDI3M2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOUwzNjEgOTVjLTYuOS02LjktMTcuMi04LjktMjYuMi01LjJTMzIwIDEwMi4zIDMyMCAxMTJsMCA4MC0xMTIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMTIgMCAwIDgwYzAgOS43IDUuOCAxOC41IDE0LjggMjIuMnMxOS4zIDEuNyAyNi4yLTUuMkw1MDUgMjczek0xNjAgOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMOTYgMzJDNDMgMzIgMCA3NSAwIDEyOEwwIDM4NGMwIDUzIDQzIDk2IDk2IDk2bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDB6Il19LFFIdD1EOGUsSkh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUiLGljb246WzM4NCw1MTIsWzEyODE5NiwxMjg0NTksNjE0NjJdLCJmMTViIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjc3LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjU4LjcgMTguN0MyNDYuNyA2LjcgMjMwLjUgMCAyMTMuNSAwTDY0IDB6TTMyNS41IDE3NkwyMzIgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyMDggNTguNSAzMjUuNSAxNzZ6Il19LGVxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGFuZS1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTA2OSIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xODMuNC0xODMuNCA3LjEtNy43IDEyNy4zIDBjMzAuOSAwIDU2LTI1LjEgNTYtNTZzLTI1LjEtNTYtNTYtNTZMMzkyLjcgMjAwIDIzMy41IDI2LjRDMjI3LjUgMTkuOCAyMTguOSAxNiAyMDkuOSAxNmwtNDMuNyAwYy0xMC45IDAtMTguNiAxMC43LTE1LjIgMjEuMUwxNzUuMSAxMDkuMiA0MS0yNC45ek0xMzAuMiAyMDBsLTI0LjYgMC01Mi44LTY2Yy0zLTMuOC03LjYtNi0xMi41LTZsLTE5LjggMGMtMTAuNCAwLTE4IDkuOC0xNS41IDE5LjlMMzIgMjU2IDUgMzY0LjFDMi40IDM3NC4yIDEwLjEgMzg0IDIwLjUgMzg0bDE5LjggMGM0LjkgMCA5LjUtMi4yIDEyLjUtNmw1Mi44LTY2IDk5LjcgMC01NC4zIDE2Mi45Yy0zLjUgMTAuNCA0LjMgMjEuMSAxNS4yIDIxLjFsNDMuNyAwYzkgMCAxNy41LTMuOCAyMy42LTEwLjRMMzIwLjcgMzkwLjUgMTMwLjIgMjAweiJdfSx0cXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtc2hvd2Vycy1oZWF2eSIsaWNvbjpbNTEyLDUxMixbXSwiZjc0MCIsIk05NiAzMjBjLTUzIDAtOTYtNDMtOTYtOTYgMC00Mi41IDI3LjYtNzguNiA2NS45LTkxLjItMS4zLTYuNy0xLjktMTMuNy0xLjktMjAuOCAwLTYxLjkgNTAuMS0xMTIgMTEyLTExMiA0My4xIDAgODAuNSAyNC4zIDk5LjIgNjAgMTQuNy0xNy4xIDM2LjUtMjggNjAuOC0yOCA0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDUuNS0uNiAxMC44LTEuNiAxNiAuNSAwIDEuMSAwIDEuNiAwIDUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2TDk2IDMyMHptNi44IDc5LjZsLTMyIDk2QzY2LjYgNTA4LjIgNTMgNTE1IDQwLjQgNTEwLjhTMjEgNDkzIDI1LjIgNDgwLjRsMzItOTZDNjEuNCAzNzEuOCA3NSAzNjUgODcuNiAzNjkuMlMxMDcgMzg3IDEwMi44IDM5OS42em0xMjAgMGwtMzIgOTZjLTQuMiAxMi42LTE3LjggMTkuNC0zMC40IDE1LjJTMTQxIDQ5MyAxNDUuMiA0ODAuNGwzMi05NmM0LjItMTIuNiAxNy44LTE5LjQgMzAuNC0xNS4yUzIyNyAzODcgMjIyLjggMzk5LjZ6bTExMiAwbC0zMiA5NmMtNC4yIDEyLjYtMTcuOCAxOS40LTMwLjQgMTUuMlMyNTMgNDkzIDI1Ny4yIDQ4MC40bDMyLTk2YzQuMi0xMi42IDE3LjgtMTkuNCAzMC40LTE1LjJTMzM5IDM4NyAzMzQuOCAzOTkuNnptMTIwIDBsLTMyIDk2Yy00LjIgMTIuNi0xNy44IDE5LjQtMzAuNCAxNS4yUzM3MyA0OTMgMzc3LjIgNDgwLjRsMzItOTZjNC4yLTEyLjYgMTcuOC0xOS40IDMwLjQtMTUuMlM0NTkgMzg3IDQ1NC44IDM5OS42eiJdfSxhcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWZhbGxpbmciLGljb246WzUxMiw1MTIsW10sImU1NDYiLCJNMzIwIDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNS40YzAgNDUtMjMuNiA4Ni42LTYyLjEgMTA5LjhsLTQuNiAyLjhDMTMxLjQgMTg0LjcgOTYgMjQ3LjEgOTYgMzE0LjZMOTYgMzg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02OS40YzAtMTYuNyAzLjMtMzMgOS40LTQ4TDM1OS4yIDUwMC4yYzExLjEgMTMuNyAzMS4zIDE1LjggNDUgNC43czE1LjgtMzEuMyA0LjctNDVMMjk1LjIgMzIwIDQwMCAzMjAgNDM4LjQgMzcxLjJjMTAuNiAxNC4xIDMwLjcgMTcgNDQuOCA2LjRzMTctMzAuNyA2LjQtNDQuOGwtNDMuMi01Ny42QzQzNy4zIDI2My4xIDQyMy4xIDI1NiA0MDggMjU2bC04OSAwLTYyLjktNzUuNWM0MC4zLTM2IDYzLjktODcuOSA2My45LTE0My4xbDAtNS40ek0xMDQgMTQ0YTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyeiJdfSxBOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHVybi1kb3duIixpY29uOlszODQsNTEyLFsxMDU0OSwibGV2ZWwtZG93bi1hbHQiXSwiZjNiZSIsIk0xNjkuNCA1MDIuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzMzMi45IDMyMCAzMjAgMzIwbC02NCAwIDAtMTYwQzI1NiA3MS42IDE4NC40IDAgOTYgMEwzMiAwQzE0LjMgMCAwIDE0LjMgMCAzMkwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjAtNjQgMGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHMtMi4yIDI1LjcgNi45IDM0LjlsMTI4IDEyOHoiXX0scnF0PUE4ZSxQOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXAtcmlnaHQtYW5kLWRvd24tbGVmdC1mcm9tLWNlbnRlciIsaWNvbjpbNTEyLDUxMixbImV4cGFuZC1hbHQiXSwiZjQyNCIsIk0zNDQgMEw0ODggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE0NGMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC0zOS0zOS04NyA4N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTMyLTMyYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw4Ny04Ny0zOS0zOWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMlMzMzQuMyAwIDM0NCAwek0xNjggNTEyTDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMCAzNDRjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yUzM0LjEgMzIwLjIgNDEgMzI3bDM5IDM5IDg3LTg3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDMyIDMyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC04NyA4NyAzOSAzOWM2LjkgNi45IDguOSAxNy4yIDUuMiAyNi4yUzE3Ny43IDUxMiAxNjggNTEyeiJdfSxzcXQ9UDhlLGlxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLXRhZyIsaWNvbjpbNjQwLDUxMixbXSwiZjUwNyIsIk0yNTYuMSA4YTEyMCAxMjAgMCAxIDEgMCAyNDAgMTIwIDEyMCAwIDEgMSAwLTI0MHpNMjI2LjQgMzA0bDU5LjQgMGM2LjcgMCAxMy4yIC40IDE5LjcgMS4xLS45IDQuOS0xLjQgOS45LTEuNCAxNWwwIDkyLjFjMCAyNS41IDEwLjEgNDkuOSAyOC4xIDY3LjlsMzEuOSAzMS45LTI4Ni4zIDBjLTE2LjQgMC0yOS43LTEzLjMtMjkuNy0yOS43IDAtOTguNSA3OS44LTE3OC4zIDE3OC4zLTE3OC4zek0zNTIuMSA0MTIuMmwwLTkyLjFjMC0xNy43IDE0LjMtMzIgMzItMzJsOTIuMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjFsOTYgOTZjMTguNyAxOC43IDE4LjcgNDkuMSAwIDY3LjlsLTc2LjEgNzYuMWMtMTguNyAxOC43LTQ5LjEgMTguNy02Ny45IDBsLTk2LTk2Yy05LTktMTQuMS0yMS4yLTE0LjEtMzMuOXptMTA0LTQ0LjJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sb3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtc3BhcmtsZXMiLGljb246WzY0MCw1MTIsW10sImUwNWQiLCJNMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMDhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTE3NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0xMTJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE3OC4yYy0xOS4yIDUuNC0zNC43IDIwLjQtNDAuNCA0MC4zbC02LjUgMjIuNy0yMi43IDYuNWMtMjUuMiA3LjItNDIuNSAzMC4yLTQyLjUgNTYuNCAwIDIyLjEgMTIuNCA0MiAzMS40IDUxLjktMjcuNSAxNy44LTYwLjIgMjguMS05NS40IDI4LjFsLTE5LjIgMGMtNTkuNiAwLTExNi45LTIyLjktMTYwLTY0TDc2LjQgMzQxYy0xNi0xNS4yLTE2LjYtNDAuNi0xLjQtNTYuNnM0MC42LTE2LjYgNTYuNi0xLjRsNjAuNSA1Ny42YzAtMS41LS4xLTMuMS0uMS00LjZsMC0yNzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE3NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMjA4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tNy4zIDMyNi42Yy0xLjEtMy45LTQuNy02LjYtOC43LTYuNnMtNy42IDIuNy04LjcgNi42bC03LjMgMjUuNC0yNS40IDcuM2MtMy45IDEuMS02LjYgNC43LTYuNiA4LjdzMi43IDcuNiA2LjYgOC43bDI1LjQgNy4zIDcuMyAyNS40YzEuMSAzLjkgNC43IDYuNiA4LjcgNi42czcuNi0yLjcgOC43LTYuNmw3LjMtMjUuNCAyNS40LTcuM2MzLjktMS4xIDYuNi00LjcgNi42LTguN3MtMi43LTcuNi02LjYtOC43bC0yNS40LTcuMy03LjMtMjUuNHpNMTA0IDEyMGw0OC4zIDEzLjhjNC42IDEuMyA3LjcgNS41IDcuNyAxMC4ycy0zLjEgOC45LTcuNyAxMC4yTDEwNCAxNjggOTAuMiAyMTYuM2MtMS4zIDQuNi01LjUgNy43LTEwLjIgNy43cy04LjktMy4xLTEwLjItNy43TDU2IDE2OCA3LjcgMTU0LjJDMy4xIDE1Mi45IDAgMTQ4LjcgMCAxNDRzMy4xLTguOSA3LjctMTAuMkw1NiAxMjAgNjkuOCA3MS43QzcxLjEgNjcuMSA3NS4zIDY0IDgwIDY0czguOSAzLjEgMTAuMiA3LjdMMTA0IDEyMHpNNTg0IDQwOGw0OC4zIDEzLjhjNC42IDEuMyA3LjcgNS41IDcuNyAxMC4ycy0zLjEgOC45LTcuNyAxMC4yTDU4NCA0NTYgNTcwLjIgNTA0LjNjLTEuMyA0LjYtNS41IDcuNy0xMC4yIDcuN3MtOC45LTMuMS0xMC4yLTcuN0w1MzYgNDU2IDQ4Ny43IDQ0Mi4yYy00LjYtMS4zLTcuNy01LjUtNy43LTEwLjJzMy4xLTguOSA3LjctMTAuMkw1MzYgNDA4IDU0OS44IDM1OS43YzEuMy00LjYgNS41LTcuNyAxMC4yLTcuN3M4LjkgMy4xIDEwLjIgNy43TDU4NCA0MDh6Il19LG5xdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtdG8tZG90IixpY29uOls1MTIsNTEyLFtdLCJlNGJlIiwiTTI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMxMi45IDAgMjQuNiA3LjggMjkuNiAxOS44czIuMiAyNS43LTYuOSAzNC45bC02NCA2NGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTY0LTY0Yy05LjItOS4yLTExLjktMjIuOS02LjktMzQuOVMxNzkuMSA2NCAxOTIgNjRsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xNjkuNCAzOTMuNGw2NC02NGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw2NCA2NGM5LjIgOS4yIDExLjkgMjIuOSA2LjkgMzQuOVMzMzIuOSA0NDggMzIwIDQ0OGwtMzIgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMzIgMGMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOHMtMi4yLTI1LjcgNi45LTM0Ljl6TTMyIDIyNGwzMiAwIDAtMzJjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnMyNS43LTIuMiAzNC45IDYuOWw2NCA2NGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtNjQgNjRjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45UzY0IDMzMi45IDY0IDMyMGwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTI5Ny40IDU0LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDY0LTY0YzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45UzQ0OCAxNzkuMSA0NDggMTkybDAgMzIgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDMyYzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45bC02NC02NHpNMjU2IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LEU4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLXNhZC1jcnkiLGljb246WzUxMiw1MTIsWzEyODU1Nywic2FkLWNyeSJdLCJmNWIzIiwiTTM1MiA0OTMuNGMtMjkuNiAxMi02Mi4xIDE4LjYtOTYgMTguNnMtNjYuNC02LjYtOTYtMTguNkwxNjAgMjk2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTcxLjdDNDQuNCA0MjEuNiAwIDM0NCAwIDI1NiAwIDExNC42IDExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZjMCA4OC00NC40IDE2NS42LTExMiAyMTEuN0w0MDAgMjk2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTk3LjR6TTE1MiAxOTZsMTYgMGMxMSAwIDIwIDkgMjAgMjBzOSAyMCAyMCAyMCAyMC05IDIwLTIwYzAtMzMuMS0yNi45LTYwLTYwLTYwbC0xNiAwYy0zMy4xIDAtNjAgMjYuOS02MCA2MCAwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMCA5LTIwIDIwLTIwem0xNzIgMjBjMC0xMSA5LTIwIDIwLTIwbDE2IDBjMTEgMCAyMCA5IDIwIDIwczkgMjAgMjAgMjAgMjAtOSAyMC0yMGMwLTMzLjEtMjYuOS02MC02MC02MGwtMTYgMGMtMzMuMSAwLTYwIDI2LjktNjAgNjAgMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjB6TTIwOCAzMzZsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4bDAtMzJjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6Il19LGxxdD1FOGUsY3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvbmctc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTE2OSIsIk0yODgtMTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTA0IDAgMCA3Mi4yYy0yMi45LTE1LjMtNTAuNC0yNC4yLTgwLTI0LjItNzkuNSAwLTE0NCA2NC41LTE0NCAxNDRTOTYuNSA0MzIgMTc2IDQzMmMzMCAwIDU3LjgtOS4xIDgwLjgtMjQuOCAzLjMgMTQuMiAxNiAyNC44IDMxLjIgMjQuOCAxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMwNCA0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00MCAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTk2IDI4OGE4MCA4MCAwIDEgMSAxNjAgMCA4MCA4MCAwIDEgMSAtMTYwIDB6TTI0IDQ2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwyNCA0NjR6Il19LGRxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtbGluZSIsaWNvbjpbNTc2LDUxMixbXSwiZTUzNCIsIk0yODggMGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptOTYgMzEyYzAgMjUtMTIuNyA0Ny0zMiA1OS45bDAgNDQuMS0xMjggMCAwLTQ0LjFDMjA0LjcgMzU5IDE5MiAzMzcgMTkyIDMxMmwwLTQwYzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCA0MHptMTYgMTA0bDAtMjcuM2MxOS45LTIyLjUgMzItNTIuMiAzMi04NC43bDAtMzJjMC0yNi43LTcuMy01MS42LTE5LjktNzMuMSAxMS4xLTQuNSAyMy4yLTYuOSAzNS45LTYuOSA1MyAwIDk2IDQzIDk2IDk2bDAgMzJjMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40bDAgNDAuNi0xMTIgMHpNNjQgMzc1LjRDNDQuOSAzNjQuNCAzMiAzNDMuNyAzMiAzMjBsMC0zMmMwLTUzIDQzLTk2IDk2LTk2IDEyLjcgMCAyNC44IDIuNSAzNS45IDYuOS0xMi42IDIxLjQtMTkuOSA0Ni40LTE5LjkgNzMuMWwwIDMyYzAgMzIuNSAxMi4xIDYyLjEgMzIgODQuN2wwIDI3LjMtMTEyIDAgMC00MC42ek0xMjggMzJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6bTMyMCAwYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0yNCA0NjRsNTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxJOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXJzcyIsaWNvbjpbNDQ4LDUxMixbInJzcy1zcXVhcmUiXSwiZjE0MyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek05NiAxMzZjMC0xMy4zIDEwLjctMjQgMjQtMjQgMTM3IDAgMjQ4IDExMSAyNDggMjQ4IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTEwLjUtODkuNS0yMDAtMjAwLTIwMC0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNCA4My45IDAgMTUyIDY4LjEgMTUyIDE1MiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTU3LjQtNDYuNi0xMDQtMTA0LTEwNC0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMCAxMjBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sdXF0PUk4ZSxwcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FsZW5kYXItbWludXMiLGljb246WzQ0OCw1MTIsW10sImYyNzIiLCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0yNCAyNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxmcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtZGlhZ3JhbSIsaWNvbjpbNTEyLDUxMixbXSwiZTY5NSIsIk04MCAzMkM1My41IDMyIDMyIDUzLjUgMzIgODBzMjEuNSA0OCA0OCA0OGwxNTIgMCAwIDQwLTQ4IDQ4LTcyIDBjLTM5LjggMC03MiAzMi4yLTcyIDcybDAgNjQtOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsNzIgMCA0OCA0OCAwIDQwLTggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTggMCAwLTQwIDQ4LTQ4IDcyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA2NC04IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC04IDAgMC02NGMwLTM5LjgtMzIuMi03Mi03Mi03MmwtNzIgMC00OC00OCAwLTQwIDE1MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4TDgwIDMyeiJdfSxOOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS10aXJlZCIsaWNvbjpbNTEyLDUxMixbMTI4NTU1LCJ0aXJlZCJdLCJmNWM4IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjQuNyAzMjguN2MyMi0yMiA1My45LTQwLjcgOTEuMy00MC43czY5LjMgMTguNyA5MS4zIDQwLjdjMTEuMSAxMS4xIDIwLjEgMjMuNCAyNi40IDM1LjQgNi4yIDExLjcgMTAuMyAyNC40IDEwLjMgMzUuOSAwIDUuMi0yLjYgMTAuMi02LjkgMTMuMnMtOS44IDMuNy0xNC43IDEuOGwtMjAuNS03LjdjLTI2LjktMTAuMS01NS41LTE1LjMtODQuMy0xNS4zbC0zLjIgMGMtMjguOCAwLTU3LjMgNS4yLTg0LjMgMTUuM0wxNDkuNiA0MTVjLTQuOSAxLjgtMTAuNCAxLjItMTQuNy0xLjhTMTI4IDQwNS4yIDEyOCA0MDBjMC0xMS42IDQuMi0yNC4yIDEwLjMtMzUuOSA2LjMtMTIgMTUuMy0yNC4zIDI2LjQtMzUuNHpNMTIyLjYgMTU5LjJjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAyMDggMTI1LjggMTgwLjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDIwOCAzODYuMiAyMzUuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0saHF0PU44ZSxtcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1wb2ludC1yaWdodCIsaWNvbjpbNTEyLDUxMixbXSwiZjBhNCIsIk00ODAgOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTIwOCAwIDAtNjQgMjA4IDB6TTMyMCAyODhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMHptNjQtNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTQ4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMjg4IDM4NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwem0tODgtOTZsLjYgMGMtNS40IDkuNC04LjYgMjAuMy04LjYgMzIgMCAxMy4yIDQgMjUuNCAxMC44IDM1LjYtMjQuOSA4LjctNDIuOCAzMi41LTQyLjggNjAuNCAwIDExLjcgMy4xIDIyLjYgOC42IDMybC04LjYgMEM3MS42IDQ0OCAwIDM3Ni40IDAgMjg4bDAtNjEuN2MwLTQyLjQgMTYuOS04My4xIDQ2LjktMTEzLjFsMTEuNi0xMS42QzgyLjUgNzcuNSAxMTUuMSA2NCAxNDkgNjRsMjcgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDg4YzAgMjIuMS0xNy45IDQwLTQwIDQwcy00MC0xNy45LTQwLTQwbDAtNTZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA1NmMwIDM5LjggMzIuMiA3MiA3MiA3MnoiXX0sZ3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwIixpY29uOlszODQsNTEyLFs4NTkzXSwiZjA2MiIsIk0yMTQuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE2MCAxMDkuMyAxNjAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNzAuNyAxMDUuNCAxMDUuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xNjAtMTYweiJdfSxicXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3ViZXMtc3RhY2tlZCIsaWNvbjpbNTEyLDUxMixbXSwiZTRlNiIsIk0xOTIgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0em0zMiAzNTJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xOTIgMGw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTMyMCAxOTJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0tMTgyLjYtMy45YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDQ1LjMgNDUuM2MxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtNDUuMyA0NS4zYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMEw5Mi4xIDI3OC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w0NS4zLTQ1LjN6TTMyIDM4NGw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LFI4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGlsZC1jb21iYXRhbnQiLGljb246WzU3Niw1MTIsWyJjaGlsZC1yaWZsZSJdLCJlNGUwIiwiTTE3Ni41IDEyOGE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHptLTE2IDM1MmwwLTk2IDMyIDAgMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTkyLjIgMjAuOSAzMy4yYzkuNCAxNSAyOS4yIDE5LjQgNDQuMSAxMHMxOS40LTI5LjIgMTAtNDQuMWwtMzkuOS02My4zQzI2Ni44IDE4NCAyMjMuMyAxNjAgMTc2LjUgMTYwUzg2LjIgMTg0IDYxLjMgMjIzLjZMMjEuNCAyODdjLTkuNCAxNS00LjkgMzQuNyAxMCA0NC4xczM0LjcgNC45IDQ0LjEtMTBsMjAuOS0zMy4yIDAgMTkyLjJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnpNNDQ4LjUgMGwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwwIDEwMC4zYy05LjYgNS41LTE2IDE1LjktMTYgMjcuN2wwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDE0NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwIDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2bDU5LjUgMGMxMC40IDAgMTgtOS44IDE1LjUtMTkuOWwtMjMtOTIuMSA0NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtNDggMCAwLTI2LjcgNTMuMS0xNy43YzYuNS0yLjIgMTAuOS04LjMgMTAuOS0xNS4ybDAtODQuNWMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDU2LTE2IDUuMyAwLTEwOS4zYzAtMTEuOC02LjQtMjIuMi0xNi0yNy43bDAtMTE2LjNjMC04LjgtNy4yLTE2LTE2LTE2eiJdfSx2cXQ9UjhlLHhxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2ZXN0LXBhdGNoZXMiLGljb246WzQ0OCw1MTIsW10sImUwODYiLCJNMjAwIDI5My45TDIwMCA0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDI3MC41YzAtOS41IDIuOC0xOC43IDguMS0yNi42bDQ3LjktNzEuOGM1LjMtNy45IDguMS0xNy4xIDguMS0yNi42TDY0IDQ4QzY0IDIxLjUgODUuNSAwIDExMiAwbDMuNSAwYy4zIDAgLjYgMCAxIDAgLjYgMCAxLjIgMCAxLjggMCAxOC44IDAgMzQuMSA5LjcgNDQuMSAxOC44IDkuMyA4LjQgMjguNSAyMS4yIDYxLjcgMjEuMnM1Mi40LTEyLjggNjEuNy0yMS4yYzEwLTkuMSAyNS4zLTE4LjggNDQuMS0xOC44IC42IDAgMS4yIDAgMS44IDAgLjMgMCAuNiAwIDEgMEwzMzYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk3LjVjMCA5LjUgMi44IDE4LjcgOC4xIDI2LjZsNDcuOSA3MS44YzUuMyA3LjkgOC4xIDE3LjEgOC4xIDI2LjZMNDQ4IDQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTA0IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTcwLjFjMC0zLjkgLjUtNy44IDEuNC0xMS42TDMwMy42IDY1LjRDMjg1LjkgNzcuMiAyNTkuOCA4OCAyMjQgODhzLTYxLjktMTAuOC03OS42LTIyLjZsNTQuMiAyMTYuOGMxIDMuOCAxLjQgNy43IDEuNCAxMS42ek05NiA0NTZhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwek02My41IDI1NS41Yy00LjcgNC43LTQuNyAxMi4zIDAgMTdMNzkgMjg4IDYzLjUgMzAzLjVjLTQuNyA0LjctNC43IDEyLjMgMCAxN3MxMi4zIDQuNyAxNyAwTDk2IDMwNSAxMTEuNSAzMjAuNWM0LjcgNC43IDEyLjMgNC43IDE3IDBzNC43LTEyLjMgMC0xN0wxMTMgMjg4IDEyOC41IDI3Mi41YzQuNy00LjcgNC43LTEyLjMgMC0xN3MtMTIuMy00LjctMTcgMEw5NiAyNzEgODAuNSAyNTUuNWMtNC43LTQuNy0xMi4zLTQuNy0xNyAwek0zMDQgMjgwbDAgNDBjMCA4LjggNy4yIDE2IDE2IDE2bDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTggMCAwLThjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6Il19LE84ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJ0aW5pLWdsYXNzLWVtcHR5IixpY29uOls1MTIsNTEyLFsiZ2xhc3MtbWFydGluaSJdLCJmMDAwIiwiTTMyIDMyQzE5LjEgMzIgNy40IDM5LjggMi40IDUxLjhTLjIgNzcuNSA5LjQgODYuNmwyMTQuNiAyMTQuNiAwIDE0Ni43LTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC0xNDYuNyAyMTQuNi0yMTQuNmM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0OTIuOSAzMiA0ODAgMzJMMzIgMzJ6TTI1NiAyNDIuN0wxMDkuMyA5NiA0MDIuNyA5NiAyNTYgMjQyLjd6Il19LHlxdD1POGUsd3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25ldCIsaWNvbjpbNDQ4LDUxMixbMTI5NTIyXSwiZjA3NiIsIk0wIDE3NkwwIDI4OEMwIDQxMS43IDEwMC4zIDUxMiAyMjQgNTEyUzQ0OCA0MTEuNyA0NDggMjg4bDAtMTEyLTEyOCAwIDAgMTEyYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bDAtMTEyLTEyOCAwem0wLTQ4bDEyOCAwIDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NGwwIDY0em0zMjAgMGwxMjggMCAwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0eiJdfSxNcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1iYXJyaWVyIixpY29uOls2NDAsNTEyLFtdLCJlNTYyIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkw2NCAyNjYuMyAxNDkuMiA5NiA2NCA5NiA2NCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNDA1LjIgOTZsLTc0LjMgMC01LjQgMTAuNy05MC42IDE4MS4zIDc0LjMgMCA1LjQtMTAuNyA5MC42LTE4MS4zek0zNjIuOCAyODhsNzQuMyAwIDUuNC0xMC43IDkwLjYtMTgxLjMtNzQuMyAwLTUuNCAxMC43LTkwLjYgMTgxLjN6TTIwMi44IDk2bC01LjQgMTAuNy05MC42IDE4MS4zIDc0LjMgMCA1LjQtMTAuNyA5MC42LTE4MS4zLTc0LjMgMHptMjg4IDE5Mmw4NS4yIDAgMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDUzLjctODUuMiAxNzAuM3oiXX0sRjhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbXBhc3MtZHJhZnRpbmciLGljb246WzUxMiw1MTIsWyJkcmFmdGluZy1jb21wYXNzIl0sImY1NjgiLCJNOTkuMyAyNTYuMWw2OS40LTExOS45Yy01LjYtMTIuMi04LjgtMjUuOC04LjgtNDAuMiAwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2YzAgMTQuMy0zLjEgMjcuOS04LjggNDAuMmw0NC40IDc2LjdjLTIzLjEgMjYtNTMuNyA0NS4xLTg4LjQgNTMuOEwyNTYgMTkxLjkgMTg3LjkgMzA5LjVjMjEuNSA2LjggNDQuMyAxMC41IDY4LjEgMTAuNSA3MC43IDAgMTMzLjgtMzIuNyAxNzQuOS04NCAxMS4xLTEzLjggMzEuMi0xNiA0NS01czE2IDMxLjIgNSA0NWMtNTIuNyA2NS44LTEzMy45IDEwOC0yMjQuOCAxMDgtMzUuNCAwLTY5LjQtNi40LTEwMC43LTE4LjFMOTguNyA0NjMuN0M5NCA0NzEuOCA4NyA0NzguNCA3OC42IDQ4Mi42TDIzLjIgNTEwLjNjLTUgMi41LTEwLjkgMi4yLTE1LjYtLjdTMCA1MDEuNSAwIDQ5NmwwLTU1LjRjMC04LjQgMi4yLTE2LjcgNi41LTI0LjFsNjAtMTAzLjdjLTEyLjgtMTEuMi0yNC42LTIzLjUtMzUuMy0zNi44LTExLjEtMTMuOC04LjgtMzMuOSA1LTQ1czMzLjktOC44IDQ1IDVjNS43IDcuMSAxMS44IDEzLjggMTguMiAyMC4xek0zODEuMSA0MDcuOWMzMi41LTEzIDYyLjQtMzEgODguOS01Mi45bDM1LjYgNjEuNWM0LjIgNy4zIDYuNSAxNS42IDYuNSAyNC4xbDAgNTUuNGMwIDUuNS0yLjkgMTAuNy03LjYgMTMuNnMtMTAuNiAzLjItMTUuNiAuN2wtNTUuNC0yNy43Yy04LjQtNC4yLTE1LjQtMTAuOC0yMC4xLTE4LjlsLTMyLjMtNTUuOHpNMjU2IDEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LGtxdD1GOGUsU3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1wZXJzb24tY29uZmluZWQiLGljb246WzQ0OCw1MTIsW10sImU1NzciLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptOTYgMTEyYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTgwIDEwNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTAyLjFjMCAzNi40LTI5LjUgNjUuOS02NS45IDY1LjktMTcuNSAwLTM0LjMtNi45LTQ2LjYtMTkuM2wtNTQuNy01NC43LTI4LjEgNTYuM2MtNy45IDE1LjgtMjcuMSAyMi4yLTQyLjkgMTQuM3MtMjIuMi0yNy4xLTE0LjMtNDIuOWw0OC05NmM0LjYtOS4yIDEzLjMtMTUuNiAyMy41LTE3LjNzMjAuNSAxLjcgMjcuOCA5bDQxLjQgNDEuNCAwLTU4Ljd6Il19LHpxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGF0ZS13aGVhdCIsaWNvbjpbNTEyLDUxMixbXSwiZTU1YSIsIk0xNzYgMzJjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxNmMwIDguOC03LjIgMTYtMTYgMTYtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZ6TTU2IDY0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0UzQyLjcgNjQgNTYgNjR6TTI0IDEzNmwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCAxODRjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTggOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6TTI3MiA0OGMwLTguOCA3LjItMTYgMTYtMTYgNDQuMiAwIDgwIDM1LjggODAgODBsMCAxNmMwIDguOC03LjIgMTYtMTYgMTYtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0xNnpNNDAwIDMyYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2LTQ0LjIgMC04MC0zNS44LTgwLTgwbDAtMTZjMC04LjggNy4yLTE2IDE2LTE2em04MCAxNjBsMCAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MCA4LjggMCAxNiA3LjIgMTYgMTZ6TTM1MiAxNzZjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA0NC4yLTM1LjggODAtODAgODAtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC00NC4yIDM1LjgtODAgODAtODB6bS05NiAxNmwwIDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwIDguOCAwIDE2IDcuMiAxNiAxNnpNMy41IDM0Ny42QzEuNiAzMzIuOSAxMyAzMjAgMjcuOCAzMjBsNDU2LjQgMGMxNC44IDAgMjYuMiAxMi45IDI0LjQgMjcuNi02LjMgNTAuMi00NC40IDg5LjQtOTIuNiA5OC40bDAgMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMmMtNDguMi05LTg2LjMtNDguMi05Mi41LTk4LjR6Il19LEI4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaWduLWhhbmdpbmciLGljb246WzUxMiw1MTIsWyJzaWduIl0sImY0ZDkiLCJNOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zNTIgMCAwIDM1MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTM1Mi0zMiAwQzE0LjMgMTI4IDAgMTEzLjcgMCA5NlMxNC4zIDY0IDMyIDY0bDMyIDAgMC0zMkM2NCAxNC4zIDc4LjMgMCA5NiAwek0yMDggMTc2bDI0MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTQ0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNDAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNDRjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LENxdD1COGUsSDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhci1iYXR0ZXJ5IixpY29uOls1MTIsNTEyLFsiYmF0dGVyeS1jYXIiXSwiZjVkZiIsIk04MCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDk2IDBjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwxNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMTYgMHpNMzkyIDE4NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDMyLTMyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzIgMCAwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMiAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMiAwIDAtMzJ6TTY0IDI0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4OCAyMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0eiJdfSxfcXQ9SDhlLFZlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGlydCIsaWNvbjpbNjQwLDUxMixbMTI4MDg1LCJ0LXNoaXJ0IiwidHNoaXJ0Il0sImY1NTMiLCJNMzIwLjIgMTEyYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDUzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0w2MTcuNiAxNjkuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtNTAuNyA1MC43Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtNDEuNC00MS40IDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xOTIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yMjQtNDEuNCA0MS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMEwyMi45IDIxNC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM0wxNDEuNSA1MC43YzEyLTEyIDI4LjMtMTguNyA0NS4zLTE4LjdsNTMuNSAwYzAgNDQuMiAzNS44IDgwIDgwIDgweiJdfSxUcXQ9VmVlLExxdD1WZWUsJHF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhcmFncmFwaCIsaWNvbjpbNDQ4LDUxMixbMTgyXSwiZjFkZCIsIk0xNjAgMEw0MTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTQxNi00OCAwIDAgNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYwLTQ4IDBDNzEuNiAzMjAgMCAyNDguNCAwIDE2MFM3MS42IDAgMTYwIDB6Il19LHE4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbnZlbG9wZXMtYnVsayIsaWNvbjpbNTc2LDUxMixbIm1haWwtYnVsayJdLCJmNjc0IiwiTTExMiAwQzg1LjUgMCA2NCAyMS41IDY0IDQ4bDAgMTYwIDgwIDAgMC0zMmMwLTUzIDQzLTk2IDk2LTk2bDIwOCAwIDAtMzJjMC0yNi41LTIxLjUtNDgtNDgtNDhMMTEyIDB6TTI0MCAxMjhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzIgODAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMTEyIDE2MCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTkyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0yODggMHptMjAwIDY0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNDggMjU2Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDEwLjQgMTU2LjYgODYuMmMxLjEgLjYgMi4yIC45IDMuNCAuOXMyLjQtLjMgMy40LS45TDMyMCAzMTQuNCAzMjAgMzA0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDI1NnpNMzIwIDM2OS4yTDE4Ni42IDQ0Mi42Yy04LjEgNC41LTE3LjMgNi44LTI2LjYgNi44cy0xOC40LTIuNC0yNi42LTYuOEwwIDM2OS4yIDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDIyNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTQuOHoiXX0sRHF0PXE4ZSxBcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3VpdGFyIixpY29uOls1MTIsNTEyLFtdLCJmN2E2IiwiTTQ2NSA3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEwzODMgNTVjLTIuNCAyLjQtNC4zIDUuMy01LjUgOC41bC0xNS40IDQxLTc3LjUgNzcuNmMtNDUuMS0yOS40LTk5LjMtMzAuMi0xMzEgMS42LTExIDExLTE4IDI0LjYtMjEuNCAzOS42LTMuNyAxNi42LTE5LjEgMzAuNy0zNi4xIDMxLjYtMjUuNiAxLjMtNDkuMyAxMC43LTY3LjMgMjguNi00NC44IDQ0LjgtMzYuNCAxMjUuOCAxOC43IDE4MC45UzE4My42IDUyOCAyMjguNCA0ODMuMmMxNy45LTE3LjkgMjcuNC00MS43IDI4LjYtNjcuMyAuOS0xNyAxNS0zMi4zIDMxLjYtMzYuMSAxNS0zLjQgMjguNi0xMC41IDM5LjYtMjEuNCAzMS44LTMxLjggMzEtODUuOSAxLjYtMTMxbDc3LjYtNzcuNiA0MS0xNS40YzMuMi0xLjIgNi4xLTMuMSA4LjUtNS41bDQ4LTQ4YzkuNC05LjQgOS40LTI0LjYgMC0zMy45TDQ2NSA3ek0yMDggMjU2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnoiXX0sUHF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN1aXRjYXNlIixpY29uOls1MTIsNTEyLFsxMjk1MjNdLCJmMGYyIiwiTTIwMCA0OGwxMTIgMGM0LjQgMCA4IDMuNiA4IDhsMCA0MC0xMjggMCAwLTQwYzAtNC40IDMuNi04IDgtOHptLTU2IDhsMCA0MjQgMjI0IDAgMC00MjRjMC0zMC45LTI1LjEtNTYtNTYtNTZMMjAwIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2ek00MTYgOTZsMCAzODQgMzIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtMzIgMHpNOTYgNDgwbDAtMzg0LTMyIDBDMjguNyA5NiAwIDEyNC43IDAgMTYwTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyIDB6Il19LFY4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtdXAiLGljb246WzUxMiw1MTIsWzYxNDY3LCJhcnJvdy1hbHQtY2lyY2xlLXVwIl0sImYzNWIiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTExLjMtMzg3LjNsMTA0IDEwNGM0LjYgNC42IDUuOSAxMS41IDMuNSAxNy40UzM2Ni41IDI1NiAzNjAgMjU2bC01NiAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTYtNTYgMGMtNi41IDAtMTIuMy0zLjktMTQuOC05LjlzLTEuMS0xMi45IDMuNS0xNy40bDEwNC0xMDRjNi4yLTYuMiAxNi40LTYuMiAyMi42IDB6Il19LEVxdD1WOGUsSXF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImYiLGljb246WzMyMCw1MTIsWzEwMl0sIjQ2IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MCAxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYwIDAgMC0xMjggMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6Il19LE5xdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ4bWFya3MtbGluZXMiLGljb246WzY0MCw1MTIsW10sImU1OWEiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDU3NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyem0wIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1NzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0MTZ6TTcgMTY3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw1NSA1NS01NSA1NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU1LTU1IDU1IDU1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTUtNTUgNTUtNTVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNTUgNTUtNTUtNTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwek0yNjUgMTY3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDU1IDU1LTU1IDU1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNTUtNTUgNTUgNTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01NS01NSA1NS01NWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01NSA1NS01NS01NXpNNDU1IDE2N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsNTUgNTUtNTUgNTVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1NS01NSA1NSA1NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU1LTU1IDU1LTU1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU1IDU1LTU1LTU1Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHoiXX0sajhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVhcnRoLW9jZWFuaWEiLGljb246WzUxMiw1MTIsWyJnbG9iZS1vY2VhbmlhIl0sImU0N2IiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE5MiAxNTAuNmMwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNmw0MS40IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE4LjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTE2LTE2Yy00LjItNC4yLTYuNi0xMC02LjYtMTZ6TTQzMiAyNTZjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQxMS4zIDM3OS4zbC0zMiAzMmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzMi0zMmM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6TTIyNCA0MzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnptLTk2LTgwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE4LjdjMC04LjUgMy40LTE2LjYgOS40LTIyLjZsNDgtNDhjNC4yLTQuMiAxMC02LjYgMTYtNi42bDYuNiAwYzguOCAwIDE2IDcuMiAxNiAxNnM3LjIgMTYgMTYgMTYgMTYtNy4yIDE2LTE2IDcuMi0xNiAxNi0xNmw2LjYgMGM2IDAgMTEuOCAyLjQgMTYgNi42bDQ4IDQ4YzYgNiA5LjQgMTQuMSA5LjQgMjIuNmwwIDUwLjdjMCAxNy43LTE0LjMgMzItMzIgMzJsLTUwLjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTEzLjMtMTMuM2MtNi02LTE0LjEtOS40LTIyLjYtOS40TDEyOCAzNTJ6Il19LFJxdD1qOGUsT3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnQtc2xhc2giLGljb246WzU3Niw1MTIsW10sImY0YjMiLCJNNDEtMjVDMzEuNi0zNC4zIDE2LjQtMzQuMyA3LTI1Uy0yLjMtLjQgNyA5TDUzNSA1MzdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC05Ni42LTk2LjZjNDQuNC00My4yIDcxLjYtMTAxLjggNzEuNi0xNjYuNSAwLTEzMi41LTExNC42LTI0MC0yNTYtMjQwLTYzIDAtMTIwLjggMjEuNC0xNjUuNCA1Ni44TDQxLTI1em0xOS40IDE1NUM0Mi4yIDE2MyAzMiAyMDAuMyAzMiAyMzkuOSAzMiAyOTQuMiA1MS4yIDM0NC4yIDgzLjYgMzg0LjRMMzQuOCA0NzYuN2MtNC44IDktMy4zIDIwIDMuNiAyNy41UzU2LjEgNTE0IDY1LjUgNTEwbDExOC40LTUwLjdjMzEuOCAxMy4zIDY3LjEgMjAuNyAxMDQuMSAyMC43IDM2LjQgMCA3MC45LTcuMSAxMDIuMy0xOS45TDYwLjMgMTMwLjF6Il19LEZxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGF5IixpY29uOls0NDgsNTEyLFs5NjU0XSwiZjA0YiIsIk05MS4yIDM2LjljLTEyLjQtNi44LTI3LjQtNi41LTM5LjYgLjdTMzIgNTcuOSAzMiA3MmwwIDM2OGMwIDE0LjEgNy41IDI3LjIgMTkuNiAzNC40czI3LjIgNy41IDM5LjYgLjdsMzM2LTE4NGMxMi44LTcgMjAuOC0yMC41IDIwLjgtMzUuMXMtOC0yOC4xLTIwLjgtMzUuMWwtMzM2LTE4NHoiXX0sQnF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpYWwtY2lyY2xlLWNoZWNrIixpY29uOls1MTIsNTEyLFtdLCJlNTk2IiwiTTMyIDMyQzMyIDE0LjMgNDYuMyAwIDY0IDBMMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxNjEuNGMtNjYuMSAzMC4zLTExMiA5Ny4xLTExMiAxNzQuNiAwIDM5LjcgMTIgNzYuNiAzMi43IDEwNy4yLTEwLjMgMy4xLTIxLjMgNC44LTMyLjcgNC44LTYxLjkgMC0xMTItNTAuMS0xMTItMTEyTDY0IDY0QzQ2LjMgNjQgMzIgNDkuNyAzMiAzMnptOTYgMzJsMCAxMjggOTYgMCAwLTEyOC05NiAwem05NiAzMzZhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjAxLjQtNjAuOWMtNy4xLTUuMi0xNy4yLTMuNi0yMi40IDMuNWwtNTMgNzIuOS0yNi44LTI2LjhjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjMy4zIDMuMyA3LjkgNSAxMi42IDQuNnM4LjktMi44IDExLjctNi41bDY0LTg4YzUuMi03LjEgMy42LTE3LjItMy41LTIyLjN6Il19LEhxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmlkZ2UtY2lyY2xlLWNoZWNrIixpY29uOls1NzYsNTEyLFtdLCJlNGM5IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nmw4IDAgMCA2NC00MCAwIDAgMTEyYzM3LjYgOS40IDY0IDQzLjIgNjQgODJsMCA5NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC01MyA0My05NiA5Ni05NiA2LjQgMCAxMi43IC42IDE4LjcgMS44IDM0LjctNDkuNSA5Mi4yLTgxLjggMTU3LjMtODEuOCAyOC42IDAgNTUuNiA2LjIgODAgMTcuNGwwLTY1LjQtNDAgMCAwLTY0IDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnpNNDI0IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTI5NiA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek04OCA5Nmw4MCAwIDAgNjQtODAgMCAwLTY0ek01NzYgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0scXF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNlZGktc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTBkZiIsIk0yMzIgMzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyNi41Qzg4LjggNzMuOSAxNiAxNTYuNCAxNiAyNTZTODguOCA0MzguMSAxODQgNDUzLjVsMCAyNi41YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yNC42YzQ2LjgtMy43IDg5LjEtMjMuNiAxMjEuMy01My45IDEyLjktMTIuMSAxMy40LTMyLjQgMS4zLTQ1LjJzLTMyLjQtMTMuNC00NS4yLTEuM2MtMjAuNyAxOS42LTQ3LjYgMzIuNy03Ny4zIDM2LjJsMC0yNzAuMWMyOS44IDMuNSA1Ni42IDE2LjYgNzcuMyAzNi4yIDEyLjkgMTIuMSAzMy4xIDExLjUgNDUuMi0xLjNzMTEuNS0zMy4xLTEuMy00NS4yQzMyMS4xIDgwLjIgMjc4LjggNjAuMyAyMzIgNTYuNkwyMzIgMzJ6bS00OCA5MS44bDAgMjY0LjRDMTI0LjMgMzczLjggODAgMzIwLjEgODAgMjU2czQ0LjMtMTE3LjggMTA0LTEzMi4yeiJdfSxWcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicHV6emxlLXBpZWNlIixpY29uOls1MTIsNTEyLFsxMjk1MTNdLCJmMTJlIiwiTTIyNCAwYzM1LjMgMCA2NCAyMS41IDY0IDQ4IDAgMTAuNC00LjQgMjAtMTIgMjcuOS02LjYgNi45LTEyIDE1LjMtMTIgMjQuOSAwIDE1IDEyLjIgMjcuMiAyNy4yIDI3LjJsNDQuOCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDQuOGMwIDE1IDEyLjIgMjcuMiAyNy4yIDI3LjIgOS41IDAgMTgtNS40IDI0LjktMTIgNy45LTcuNSAxNy41LTEyIDI3LjktMTIgMjYuNSAwIDQ4IDI4LjcgNDggNjRzLTIxLjUgNjQtNDggNjRjLTEwLjQgMC0yMC4xLTQuNC0yNy45LTEyLTYuOS02LjYtMTUuMy0xMi0yNC45LTEyLTE1IDAtMjcuMiAxMi4yLTI3LjIgMjcuMkwzODQgNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC01Ni44IDBjLTEyLjggMC0yMy4yLTEwLjQtMjMuMi0yMy4yIDAtOS4yIDUuOC0xNy4zIDEzLjItMjIuOCAxMS42LTguNyAxOC44LTIwLjcgMTguOC0zNCAwLTI2LjUtMjguNy00OC02NC00OHMtNjQgMjEuNS02NCA0OGMwIDEzLjMgNy4yIDI1LjMgMTguOCAzNCA3LjQgNS41IDEzLjIgMTMuNSAxMy4yIDIyLjggMCAxMi44LTEwLjQgMjMuMi0yMy4yIDIzLjJMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDM0My4yYzAtMTIuOCAxMC40LTIzLjIgMjMuMi0yMy4yIDkuMiAwIDE3LjMgNS44IDIyLjggMTMuMiA4LjcgMTEuNiAyMC43IDE4LjggMzQgMTguOCAyNi41IDAgNDgtMjguNyA0OC02NHMtMjEuNS02NC00OC02NGMtMTMuMyAwLTI1LjMgNy4yLTM0IDE4LjgtNS41IDcuNC0xMy41IDEzLjItMjIuOCAxMy4yLTEyLjggMC0yMy4yLTEwLjQtMjMuMi0yMy4yTDAgMTc2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDEwOC44IDBjMTUgMCAyNy4yLTEyLjIgMjcuMi0yNy4yIDAtOS41LTUuNC0xOC0xMi0yNC45LTcuNS03LjktMTItMTcuNS0xMi0yNy45IDAtMjYuNSAyOC43LTQ4IDY0LTQ4eiJdfSxqcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVsbWV0LXVuIixpY29uOls1MTIsNTEyLFtdLCJlNTAzIiwiTTQ3OS41IDIyNEM0NzEuMiA5OC45IDM2Ny4yIDAgMjQwIDAgMTA3LjUgMCAwIDEwNy41IDAgMjQwbDAgNTYuM0MwIDM0NC44IDM5LjIgMzg0IDg3LjcgMzg0bDEyNy4zIDAgMTI4LjYgMTIxLjRjNC41IDQuMiAxMC40IDYuNiAxNi41IDYuNmw5NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04Ni41IDAtMS41LTEuNSAwLTE3NC41IDExMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0uNSAwek0zMjAgNDE3LjJsLTc4LTczLjcgMzIuNC01NS41IDQ1LjYgMCAwIDEyOS4yek0yODUuMyAxMDMuMWwzNC43IDUyIDAtNDMuMmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgOTZjMCA3LjEtNC42IDEzLjMtMTEuNCAxNS4zcy0xNC0uNi0xNy45LTYuNGwtMzQuNy01MiAwIDQzLjJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC05NmMwLTcuMSA0LjYtMTMuMyAxMS40LTE1LjNzMTQgLjYgMTcuOSA2LjR6TTE2MCAxMTJsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnoiXX0sVXF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdsYXNzLXdhdGVyIixpY29uOlszODQsNTEyLFtdLCJlNGY0IiwiTTMyIDBDMjMuMSAwIDE0LjYgMy43IDguNiAxMC4yUy0uNiAyNS40IC4xIDM0LjNMMjguOSA0MzcuN2MzIDQxLjkgMzcuOCA3NC4zIDc5LjggNzQuM2wxNjYuNiAwYzQyIDAgNzYuOC0zMi40IDc5LjgtNzQuM0wzODMuOSAzNC4zYy42LTguOS0yLjQtMTcuNi04LjUtMjQuMVMzNjAuOSAwIDM1MiAwTDMyIDB6TTczIDE1Ni41bC02LjYtOTIuNSAyNTEuMyAwLTYuNiA5Mi41LTI0LjIgMTIuMWMtMTkuNCA5LjctNDIuMiA5LjctNjEuNiAwLTIwLjktMTAuNC00NS41LTEwLjQtNjYuNCAwLTE5LjQgOS43LTQyLjIgOS43LTYxLjYgMEw3MyAxNTYuNXoiXX0sV3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYXJ0LWNpcmNsZS1ib2x0IixpY29uOls1NzYsNTEyLFtdLCJlNGZjIiwiTTI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN0MyOTYgNTIuNSAzMzYuMiAzMiAzNzguOSAzMiA0NTIuNCAzMiA1MTIgOTEuNiA1MTIgMTY1LjFsMCAyLjZjMCAxNy42LTMuNCAzNS42LTkuNSA1My43LTIxLjgtOC42LTQ1LjYtMTMuNC03MC41LTEzLjQtMTA2IDAtMTkyIDg2LTE5MiAxOTIgMCAyOC41IDYuMiA1NS42IDE3LjQgODAtLjUgMC0uOSAwLTEuNCAwLTE1LjUgMC0zMC44LTQuNi00My4xLTE0LjEtNzMtNTUuNy0yMTIuOS0xODYtMjEyLjktMjk4LjJsMC0yLjZDMCA5MS42IDU5LjYgMzIgMTMzLjEgMzIgMTc1LjggMzIgMjE2IDUyLjUgMjQxIDg3LjF6TTI4OCA0MDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMTc3LjQtNzdjLTUuOC00LjItMTMuOC00LTE5LjQgLjVsLTgwIDY0Yy01LjMgNC4yLTcuNCAxMS40LTUuMSAxNy44UzM2OS4yIDQxNiAzNzYgNDE2bDMyLjkgMC0xNS45IDQyLjRjLTIuNSA2LjctLjIgMTQuMyA1LjYgMTguNnMxMy44IDQgMTkuNC0uNWw4MC02NGM1LjMtNC4yIDcuNC0xMS40IDUuMS0xNy44UzQ5NC44IDM4NCA0ODggMzg0bC0zMi45IDAgMTUuOS00Mi40YzIuNS02LjcgLjItMTQuMy01LjYtMTguNnoiXX0sR3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InB1bXAtc29hcCIsaWNvbjpbMzIwLDUxMixbXSwiZTA2YiIsIk05NiAwbDAgODAgMTI4IDAgMC0yNCA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0UzMwOS4zIDggMjk2IDhsLTcyIDAgMC04YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwQzExMC4zLTMyIDk2LTE3LjcgOTYgMHpNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAxMjh6TTIyNCAzNDRjMCAzNS4zLTI4LjcgNTYtNjQgNTZzLTY0LTIwLjctNjQtNTZjMC0zMi41IDM3LTgwLjkgNTAuOS05Ny45IDMuMi0zLjkgOC4xLTYuMSAxMy4xLTYuMXM5LjkgMi4yIDEzLjEgNi4xQzE4NyAyNjMuMSAyMjQgMzExLjUgMjI0IDM0NHoiXX0sWXF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtc2Npc3NvcnMiLGljb246WzUxMiw1MTIsW10sImYyNTciLCJNNDAgMjA4Yy0yMi4xIDAtNDAgMTcuOS00MCA0MHMxNy45IDQwIDQwIDQwbDE4MC4yIDBjLTcuNiA4LjUtMTIuMiAxOS43LTEyLjIgMzIgMCAyNS4zIDE5LjUgNDYgNDQuMyA0Ny45LTcuNyA4LjUtMTIuMyAxOS44LTEyLjMgMzIuMSAwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4bDAtMTEzLjFjMC00MC4yLTE2LTc4LjgtNDQuNC0xMDcuMy0yMi44LTIyLjgtNTMuNi0zNS42LTg1LjgtMzUuNkwzMzYgNjRjLTIxLjMgMC0zOS4zIDEzLjktNDUuNiAzMy4xbDc0LjUgMjMuN2M4LjQgMi43IDEzLjEgMTEuNyAxMC40IDIwLjFzLTExLjcgMTMuMS0yMC4xIDEwLjRsLTY3LjEtMjEuNCAwIC4xLTIwNC02NC4xQzYyLjkgNTkuMiA0MC41IDcwLjkgMzMuOSA5MnM1LjEgNDMuNSAyNi4yIDUwLjJMMjY5LjUgMjA4IDQwIDIwOHoiXX0sVThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvbGx5IixpY29uOls1NzYsNTEyLFsiZG9sbHktYm94Il0sImY0NzIiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGw3Mi45IDAgOTIuMSAyNzYuMmMtMjIuNSAxNy42LTM3IDQ1LTM3IDc1LjggMCA1MyA0MyA5NiA5NiA5NiA1Mi40IDAgOTUuMS00MiA5Ni05NC4zbDIwMi4xLTY3LjRjMTYuOC01LjYgMjUuOC0yMy43IDIwLjItNDAuNXMtMjMuNy0yNS44LTQwLjUtMjAuMkwzMzEuOCAzNTdjLTE3LjItMjIuMS00My45LTM2LjUtNzQtMzdMMTY1LjcgNDMuOEMxNTYuOSAxNy42IDEzMi41IDAgMTA0LjkgMEwzMiAwek0yMDggNDE2YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTI4MC41IDg5LjNjLTI1LjIgOC4yLTM5IDM1LjMtMzAuOCA2MC41bDM5LjYgMTIxLjdjOC4yIDI1LjIgMzUuMyAzOSA2MC41IDMwLjhsMTIxLjctMzkuNmMyNS4yLTguMiAzOS0zNS4zIDMwLjgtNjAuNUw0NjIuOCA4MC41Yy04LjItMjUuMi0zNS4zLTM5LTYwLjUtMzAuOEwyODAuNSA4OS4zeiJdfSxLcXQ9VThlLFB0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYXBlcmNsaXAiLGljb246WzUxMiw1MTIsWzEyODIwNl0sImYwYzYiLCJNMjI0LjYgMTIuOGM1Ni4yLTU2LjIgMTQ3LjQtNTYuMiAyMDMuNiAwczU2LjIgMTQ3LjQgMCAyMDMuNmwtMTY0IDE2NGMtMzQuNCAzNC40LTkwLjEgMzQuNC0xMjQuNSAwcy0zNC40LTkwLjEgMC0xMjQuNUwyOTIuNSAxMDMuM2MxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zTDE4NSAzMDEuM2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDE2NC0xNjRjMzEuMi0zMS4yIDMxLjItODEuOSAwLTExMy4xcy04MS45LTMxLjItMTEzLjEgMGwtMTY0IDE2NGMtNTMuMSA1My4xLTUzLjEgMTM5LjIgMCAxOTIuM3MxMzkuMiA1My4xIDE5Mi4zIDBMNDI4LjMgMjg0LjNjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0wzNDMuNCA0NTkuNmMtNzguMSA3OC4xLTIwNC43IDc4LjEtMjgyLjggMHMtNzguMS0yMDQuNyAwLTI4Mi44bDE2NC0xNjR6Il19LFpxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkZW1vY3JhdCIsaWNvbjpbNjQwLDUxMixbXSwiZjc0NyIsIk02NCAzMmMwLTguOSAzLjgtMjAuOSA2LjItMjcuMyAxLTIuOCAzLjgtNC43IDYuOC00LjcgMS45IDAgMy44IC43IDUuMiAyLjFMMTI4IDQ1LjcgMTczLjggMi4xYzEuNC0xLjMgMy4yLTIuMSA1LjItMi4xIDMgMCA1LjggMS44IDYuOCA0LjcgMi40IDYuNSA2LjIgMTguNCA2LjIgMjcuMyAwIDI2LjUtMjEuOSA0Mi0yOS41IDQ2LjZsNzYuMiA3Mi42YzYgNS43IDEzLjkgOC44IDIyLjEgOC44bDIxOS4yIDAgMzIgMGM0MC4zIDAgNzguMiAxOSAxMDIuNCA1MS4ybDE5LjIgMjUuNmMxMC42IDE0LjEgNy43IDM0LjItNi40IDQ0LjhzLTM0LjIgNy43LTQ0LjgtNi40bC0xOS4yLTI1LjZjLTUuMy03LTExLjgtMTIuOC0xOS4yLTE3bDAgODcuNC0zNTIgMC00MC40LTk0LjNjLTMuOS05LjItMTUuMy0xMi42LTIzLjYtN2wtNDIuMSAyOGMtOS4xIDYuMS0xOS43IDkuMy0zMC43IDkuM2wtMiAwQzIzLjkgMjU2IDAgMjMyLjEgMCAyMDIuNyAwIDE5MC42IDQuMSAxNzguOSAxMS43IDE2OS40TDg3LjYgNzQuNkM3OC4xIDY3LjQgNjQgNTMuMiA2NCAzMnpNNTQ0IDM1MmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NC0xNjAgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEyOCAzNTIgMHpNMjU2IDI4MGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTI0OC0yNGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwek0zNjggMjgwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sVzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1hcnJvdy11cC1yaWdodCIsaWNvbjpbNDQ4LDUxMixbImV4dGVybmFsLWxpbmstc3F1YXJlIl0sImYxNGMiLCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNMjcyIDI5NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xMTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw1NC4xIDAtMTAzIDEwM2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDEwMy0xMDMgMCA1NC4xeiJdfSxYcXQ9VzhlLFFxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmZXJyeSIsaWNvbjpbNjQwLDUxMixbXSwiZTRlYSIsIk0yMjQgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJMMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiA0OCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMTI4LS4xIDBjLjEgLjcgLjEgMS4zIC4xIDIgMCAzMC4yLTcuNiA1OS44LTIyIDg2LjNsLTEyLjcgMjMuMy0uNiAxYy0yMi4zLTExLjMtNDYuNS0xNi44LTcwLjgtMTYuNy0zMi41IC4yLTY0LjkgMTAuNy05Mi40IDMxLjQtMjIuMSAxNi42LTI5LjEgMTYuNi01MS4yIDAtMjguMS0yMS4xLTYxLjMtMzEuNi05NC40LTMxLjQtMjMuNiAuMi00Ny4xIDUuNy02OC43IDE2LjdsLS42LTEtMTIuNy0yMy4zYy0xNC40LTI2LjUtMjItNTYuMi0yMi04Ni4zIDAtLjcgMC0xLjQgLjEtMmwtLjEgMCAwLTEyOGMwLTQ0LjIgMzUuOC04MCA4MC04MGw0OCAwIDAtMzJ6TTE2MCAyNTZsMzIwIDAgMC0xMTJjMC04LjgtNy4yLTE2LTE2LTE2bC0yODggMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTEyek00MDMuNCA0NzYuMUMzNzkuMSA0OTQuMyAzNTEuMSA1MTIgMzIwIDUxMnMtNTkuMS0xNy43LTgzLjQtMzUuOWMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMjMuOCAxNy45LTU0LjEgMzUuNS04OC4xIDM1LjMtMjAuNC0uMS00MC43LTYuNy01OS44LTIxLjEtMTAuNi04LTEyLjctMjMtNC43LTMzLjZzMjMtMTIuNyAzMy42LTQuN2MxMS4zIDguNSAyMS42IDExLjQgMzEuMiAxMS41IDE3LjYgLjEgMzcuMy05LjQgNTguOS0yNS43IDM4LjQtMjkgOTAuNS0yOSAxMjkgMCAyNCAxOC4xIDQwLjcgMjYuMyA1NC41IDI2LjNzMzAuNS04LjIgNTQuNS0yNi4zYzM4LjQtMjkgOTAuNS0yOSAxMjkgMCAxNi45IDEyLjcgMzIuOSAyMS41IDQ3LjggMjQuNiAxMy43IDIuOCAyNy40IC45IDQyLjMtMTAuMyAxMC42LTggMjUuNi01LjkgMzMuNiA0LjdzNS45IDI1LjYtNC43IDMzLjZjLTI2LjQgMTkuOS01NC4yIDI0LjQtODAuNyAxOS4xLTI1LjMtNS4xLTQ4LjEtMTguOS02Ny4yLTMzLjMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDB6Il19LEpxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3NxdWl0byIsaWNvbjpbNTc2LDUxMixbXSwiZTUyYiIsIk0xNzguNSA0OTUuMmMtNy41IDkuNi0yMSAxMi4xLTMxLjMgNS4zUzEzMy41IDQ4MCAxMzguOSA0NjlsMS4yLTIuMiAzNi4yLTU4IDAtNDEgLjMtNGMuNi0zLjkgMi4yLTcuNyA0LjYtMTAuOWwzOS4zLTUyLjItNjYuMiA1OS41Yy0xNyAxNS4zLTM5IDIzLjctNjEuOSAyMy44bC04LjEgMGMtNDYuNiAwLTg0LjQtMzcuOC04NC40LTg0LjQgMC00MyAzMi40LTc5LjIgNzUuMS04My45bDEzMC41LTE0LjUtNDQuOC0zOC4zLTIuNC0yLjRjLTUuMy02LTcuMy0xNC40LTUuMy0yMi4zbDEzLjMtNTMuNC0yNS45LTM4LjktMS4zLTIuMWMtNS44LTEwLjgtMi43LTI0LjYgNy40LTMxLjcgMTAuMS03LjEgMjMuNy01LjEgMzEuNCA0LjNsMS41IDIgMzIgNDggMS40IDIuMmMyLjggNS4zIDMuNSAxMS42IDIuMSAxNy42bC0xMi4zIDQ5LjIgNTMuMyA0NS43IDAtMjguOGMwLTExLjggNi41LTIyLjEgMTYtMjcuN2wwLTYwLjUgLjMtMy4zYzEuNS03LjMgOC0xMi43IDE1LjctMTIuN3MxNC4yIDUuNSAxNS43IDEyLjdsLjMgMy4yIDAgNjAuNWM5LjYgNS41IDE2IDE1LjggMTYgMjcuN2wwIDI4LjkgNTMuNC00NS44LTEyLjMtNDkuMmMtMS41LTUuOS0uNy0xMi4yIDIuMS0xNy42bDEuNC0yLjIgMzItNDggMS41LTJjNy43LTkuNCAyMS4zLTExLjUgMzEuNC00LjMgMTAuMSA3LjEgMTMuMSAyMC45IDcuNCAzMS43bC0xLjMgMi4xLTI1LjkgMzguOSAxMy4zIDUzLjRjMiA4LS4xIDE2LjMtNS4zIDIyLjNsLTIuNCAyLjQtNDQuNyAzOC4zIDEzMC41IDE0LjVjNDIuOCA0LjggNzUuMSA0MC45IDc1LjEgODMuOSAwIDQ2LjYtMzcuOCA4NC40LTg0LjQgODQuNGwtOC4xIDBjLTIyLjggMC00NC45LTguNS02MS45LTIzLjhsLTY2LjEtNTkuNSAzOS4yIDUyLjJjMi40IDMuMiA0IDcgNC42IDEwLjlsLjMgNCAwIDQxIDM2LjIgNTggMS4yIDIuMWM1LjQgMTEgMiAyNC43LTguMyAzMS41cy0yMy44IDQuNC0zMS4zLTUuM2wtMS40LTItNDAtNjQtMS42LTMuMWMtMS40LTMuMS0yLjEtNi42LTIuMS0xMC4xbDAtMzkuOC0zMi40LTQzLjEgMCA3NC43YzAgMTcuNy0xNC4zIDMyLTMyIDMyLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNzQuNi0zMi4zIDQzIDAgMzkuOGMwIDMuNS0uNyA2LjktMi4xIDEwLjFsLTEuNiAzLjEtNDAgNjQtMS40IDJ6Il19LGVWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1jaXJjbGUtYXJyb3ctcmlnaHQiLGljb246WzU3Niw1MTIsW10sImU0ZDEiLCJNMzIgNjRDMzIgMjguNyA2MC43IDAgOTYgMEwzNTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE0NC43Yy0zNS43IDIuOS02OC41IDE1LjYtOTYgMzUuNGwwLTRjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsNCAwYy0xMy44IDE5LjItMjQuMSA0MS0zMC4xIDY0LjUtMS45LS40LTMuOS0uNS01LjktLjVsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgODAgNzQuOSAwYzYuMSAxNy4zIDE0LjYgMzMuNCAyNS4xIDQ4TDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMzIgNjR6TTE0NCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTQ0IDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek0yODggNDAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTE0MC43LTY3LjNjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42bDI4LjcgMjguNy04OS40IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsODkuNCAwLTI4LjcgMjguN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDU2LTU2YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC01Ni01NmMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDB6Il19LEc4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZWZ0LXJpZ2h0IixpY29uOls1MTIsNTEyLFs4NTk2LCJhcnJvd3MtYWx0LWgiXSwiZjMzNyIsIk01MDIuNiA0MDYuNmwtOTYgOTZjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45UzM1MiA0OTIuOSAzNTIgNDgwbDAtNjQtMzIwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIwIDAgMC02NGMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zek05LjQgMTUwLjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDk2LTk2YzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45UzE2MCAxOS4xIDE2MCAzMmwwIDY0IDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMjAgMCAwIDY0YzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45bC05Ni05NnoiXX0sdFZ0PUc4ZSxhVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlydXMiLGljb246WzUxMiw1MTIsW10sImUwNzQiLCJNMjk2IDQwYzAtMjIuMS0xNy45LTQwLTQwLTQwcy00MCAxNy45LTQwIDQwYzAgNDQuMS01My4zIDY2LjEtODQuNSAzNS0xNS42LTE1LjYtNDAuOS0xNS42LTU2LjYgMHMtMTUuNiA0MC45IDAgNTYuNmMzMS4yIDMxLjIgOS4xIDg0LjUtMzUgODQuNS0yMi4xIDAtNDAgMTcuOS00MCA0MHMxNy45IDQwIDQwIDQwYzQ0LjEgMCA2Ni4xIDUzLjMgMzUgODQuNS0xNS42IDE1LjYtMTUuNiA0MC45IDAgNTYuNnM0MC45IDE1LjYgNTYuNiAwYzMxLjItMzEuMiA4NC41LTkuMSA4NC41IDM1IDAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBjMC00NC4xIDUzLjMtNjYuMSA4NC41LTM1IDE1LjYgMTUuNiA0MC45IDE1LjYgNTYuNiAwczE1LjYtNDAuOSAwLTU2LjZjLTMxLjItMzEuMi05LjEtODQuNSAzNS04NC41IDIyLjEgMCA0MC0xNy45IDQwLTQwcy0xNy45LTQwLTQwLTQwYy00NC4xIDAtNjYuMS01My4zLTM1LTg0LjUgMTUuNi0xNS42IDE1LjYtNDAuOSAwLTU2LjZzLTQwLjktMTUuNi01Ni42IDBDMzQ5LjMgMTA2LjEgMjk2IDg0LjEgMjk2IDQwek0xNjAgMjI0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2MCAzMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LHJWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnZW0iLGljb246WzUxMiw1MTIsWzEyODE0Ml0sImYzYTUiLCJNMTE2LjcgMzMuOGM0LjUtNi4xIDExLjctOS44IDE5LjMtOS44bDI0MCAwYzcuNiAwIDE0LjggMy42IDE5LjMgOS44bDExMiAxNTJjNi44IDkuMiA2LjEgMjEuOS0xLjUgMzAuNGwtMjMyIDI1NmMtNC41IDUtMTEgNy45LTE3LjggNy45cy0xMy4yLTIuOS0xNy44LTcuOWwtMjMyLTI1NmMtNy43LTguNS04LjMtMjEuMi0xLjUtMzAuNGwxMTItMTUyem0zOC41IDM5LjhjLTMuMyAyLjUtNC4yIDctMi4xIDEwLjVMMjEwLjUgMTc5LjggNjMuMyAxOTJjLTQuMSAuMy03LjMgMy44LTcuMyA4czMuMiA3LjYgNy4zIDhsMTkyIDE2Yy40IDAgLjkgMCAxLjMgMGwxOTItMTZjNC4xLS4zIDcuMy0zLjggNy4zLThzLTMuMi03LjYtNy4zLThsLTE0Ny4yLTEyLjMgNTcuNC05NS42YzIuMS0zLjUgMS4yLTguMS0yLjEtMTAuNXMtNy45LTItMTAuNyAxTDI1NiAxNzIuMiAxNjUuOSA3NC42Yy0yLjgtMy03LjQtMy40LTEwLjctMXoiXX0sc1Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvaWxldCIsaWNvbjpbNDQ4LDUxMixbMTI4NzAxXSwiZjdkOCIsIk0yNCAwQzEwLjcgMCAwIDEwLjcgMCAyNFMxMC43IDQ4IDI0IDQ4bDggMCAwIDE0OC45Yy0xLjkgMS40LTMuOCAyLjktNS42IDQuNC0xNS41IDEzLjItMjYuNCAzMS42LTI2LjQgNTQuNiAwIDQ2LjkgMTQuMyA4NC4xIDM3IDExMi41IDE0LjIgMTcuNyAzMS4xIDMxLjMgNDguNSA0MS44TDY1LjYgNDY5LjljLTMuMyA5LjgtMS42IDIwLjUgNC40IDI4LjhTODUuNyA1MTIgOTYgNTEybDI1NiAwYzEwLjMgMCAxOS45LTQuOSAyNi0xMy4zczcuNy0xOS4xIDQuNC0yOC44bC0xOS44LTU5LjVjMTcuNC0xMC41IDM0LjMtMjQuMSA0OC41LTQxLjggMjIuNy0yOC40IDM3LTY1LjUgMzctMTEyLjUgMC0yMy4xLTEwLjktNDEuNS0yNi40LTU0LjYtMS44LTEuNS0zLjctMy01LjYtNC40bDAtMTQ4LjkgOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0UzQzNy4zIDAgNDI0IDBMMjQgMHpNOTYgODBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnpNMjI0IDI4OGMtODguNCAwLTE2MC0xNC4zLTE2MC0zMnM3MS42LTMyIDE2MC0zMiAxNjAgMTQuMyAxNjAgMzItNzEuNiAzMi0xNjAgMzJ6Il19LGlWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaW5nbGUtcXVvdGUtbGVmdCIsaWNvbjpbMTkyLDUxMixbXSwiZTgxYiIsIk0xMjggOTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTggMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4IDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyMTZDMCAxNDkuNyA1My43IDk2IDEyMCA5Nmw4IDB6Il19LG9WdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxscyIsaWNvbjpbNTc2LDUxMixbXSwiZTFmMyIsIk0xNjAgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjI0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM1MiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDE2MCAzMnptMTc2IDk2YTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwek0xNjAgMTUybDAtNDhjMC00LjQgMy42LTggOC04bDQ4IDBjNC40IDAgOC4xIDMuNiA3LjUgOC0zLjYgMjktMjYuNiA1MS45LTU1LjUgNTUuNS00LjQgLjUtOC0zLjEtOC03LjV6bTAgMTEyYzAtNC40IDMuNi04LjEgOC03LjUgMjkgMy42IDUxLjkgMjYuNiA1NS41IDU1LjUgLjUgNC40LTMuMSA4LTcuNSA4bC00OCAwYy00LjQgMC04LTMuNi04LThsMC00OHpNNTA0IDE1OS41Yy0yOS0zLjYtNTEuOS0yNi42LTU1LjUtNTUuNS0uNS00LjQgMy4xLTggNy41LThsNDggMGM0LjQgMCA4IDMuNiA4IDhsMCA0OGMwIDQuNC0zLjYgOC4xLTggNy41ek01MTIgMjY0bDAgNDhjMCA0LjQtMy42IDgtOCA4bC00OCAwYy00LjQgMC04LjEtMy42LTcuNS04IDMuNi0yOSAyNi42LTUxLjkgNTUuNS01NS41IDQuNC0uNSA4IDMuMSA4IDcuNXpNNDggMTUyYzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMTM4LjcgMCAxNTJMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzkyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMNjQgNDMyYy04LjggMC0xNi03LjItMTYtMTZsMC0yNjR6Il19LG5WdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZXQtYnV0dG9uIixpY29uOls0NDgsNTEyLFtdLCJmMTBhIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6TTIyNCA0MDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxWYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZWN0YW5nbGUteG1hcmsiLGljb246WzUxMiw1MTIsWzYyMTY0LCJyZWN0YW5nbGUtdGltZXMiLCJ0aW1lcy1yZWN0YW5nbGUiLCJ3aW5kb3ctY2xvc2UiXSwiZjQxMCIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHpNMTY3IDE2N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw1NSA1NSA1NS01NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTU1IDU1IDU1IDU1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTU1LTU1LTU1IDU1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDU1LTU1LTU1LTU1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXoiXX0sbFZ0PVZiLGNWdD1WYixkVnQ9VmIsdVZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndyZW5jaCIsaWNvbjpbNTc2LDUxMixbMTI4Mjk1XSwiZjBhZCIsIk01MDkuNCA5OC42YzcuNi03LjYgMjAuMy01LjcgMjQuMSA0LjMgNi44IDE3LjcgMTAuNSAzNyAxMC41IDU3LjEgMCA4OC40LTcxLjYgMTYwLTE2MCAxNjAtMTcuNSAwLTM0LjQtMi44LTUwLjItOEwxNDYuOSA0OTguOWMtMjguMSAyOC4xLTczLjcgMjguMS0xMDEuOCAwcy0yOC4xLTczLjcgMC0xMDEuOEwyMzIgMjEwLjJjLTUuMi0xNS44LTgtMzIuNi04LTUwLjIgMC04OC40IDcxLjYtMTYwIDE2MC0xNjAgMjAuMSAwIDM5LjQgMy43IDU3LjEgMTAuNSAxMCAzLjggMTEuOCAxNi41IDQuMyAyNC4xbC04OC43IDg4LjdjLTMgMy00LjcgNy4xLTQuNyAxMS4zbDAgNDEuNGMwIDguOCA3LjIgMTYgMTYgMTZsNDEuNCAwYzQuMiAwIDguMy0xLjcgMTEuMy00LjdsODguNy04OC43eiJdfSxvdj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFzaC1jYW4iLGljb246WzQ0OCw1MTIsWzYxNDYwLCJ0cmFzaC1hbHQiXSwiZjJlZCIsIk0xMzYuNyA1LjlDMTQxLjEtNy4yIDE1My4zLTE2IDE2Ny4xLTE2bDExMy45IDBjMTMuOCAwIDI2IDguOCAzMC40IDIxLjlMMzIwIDMyIDQxNiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJsOTYgMCA4LjctMjYuMXpNMzIgMTQ0bDM4NCAwIDAgMzA0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zMDR6bTg4IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE5MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTkyYzAtMTMuMy0xMC43LTI0LTI0LTI0em0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE5MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTkyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xOTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LHBWdD1vdixZOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUtY2VsbHMiLGljb246WzQ0OCw1MTIsWyJ0aCJdLCJmMDBhIiwiTTM4NCA5NmwwIDY0LTY0IDAgMC02NCA2NCAwem0wIDEyOGwwIDY0LTY0IDAgMC02NCA2NCAwem0wIDEyOGwwIDY0LTY0IDAgMC02NCA2NCAwek0yNTYgMjg4bC02NCAwIDAtNjQgNjQgMCAwIDY0em0tNjQgNjRsNjQgMCAwIDY0LTY0IDAgMC02NHptLTY0LTY0bC02NCAwIDAtNjQgNjQgMCAwIDY0ek02NCAzNTJsNjQgMCAwIDY0LTY0IDAgMC02NHptMC0xOTJsMC02NCA2NCAwIDAgNjQtNjQgMHptMTI4IDBsMC02NCA2NCAwIDAgNjQtNjQgMHpNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnoiXX0sZlZ0PVk4ZSxoVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmliYm9uIixpY29uOlszODQsNTEyLFsxMjc4OTVdLCJmNGQ2IiwiTTIzNS4xIDBjMzMuNCAwIDY0LjUgMTcuNCA4MS45IDQ1LjkgMS4yIDIgMTMgMjEuMyAzNS4zIDU3LjggMjEuMSAzNC41IDE4LjMgNzguNS03IDExMEwyNzguMyAyOTcuNyAzNjQuNSA0MDZjNS41IDYuOSA0LjQgMTYuOS0yLjUgMjIuNWwtODAgNjRjLTYuOSA1LjUtMTcgNC40LTIyLjUtMi41TDM4LjYgMjEzLjhDMTMuMyAxODIuMyAxMC41IDEzOC4zIDMxLjYgMTAzLjggNTQgNjcuMiA2NS43IDQ3LjkgNjcgNDUuOSA4NC40IDE3LjQgMTE1LjQgMCAxNDguOSAwbDg2LjMgMHpNMTkyIDE4OS4ybDQ4LjYtNjEuMi05Ny4zIDAgNDguNiA2MS4yek03NSAzMzYuMmw4Ni4yIDEwNy44LTM2LjggNDZjLTUuNSA2LjktMTUuNiA4LTIyLjUgMi41bC04MC02NGMtNi45LTUuNS04LTE1LjYtMi41LTIyLjVMNzUgMzM2LjJ6Il19LG1WdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYW5kbWFyay1mbGFnIixpY29uOls1MTIsNTEyLFtdLCJlNTFjIiwiTTM1Mi0zMkwyNDAtMzJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE0NC0xNzYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNiAwIDAgMjI0LTUxLjIgMzguNEM0LjcgNDYwLjQgMCA0NjkuOSAwIDQ4MCAwIDQ5Ny43IDE0LjMgNTEyIDMyIDUxMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMiAwLTEwLjEtNC43LTE5LjYtMTIuOC0yNS42bC01MS4yLTM4LjQgMC0yMjQgMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTkyIDAgMC02NCA4MCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNnptNDggMjI0bDAgMjI0LTY0IDAgMC0yMjQgNjQgMHptLTExMiAwbDAgMjI0LTY0IDAgMC0yMjQgNjQgMHptLTExMiAwbDAgMjI0LTY0IDAgMC0yMjQgNjQgMHoiXX0sSzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVwLWRvd24tbGVmdC1yaWdodCIsaWNvbjpbNTEyLDUxMixbImFycm93cy1hbHQiXSwiZjBiMiIsIk0yNzguNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlTMTc5LjEgMTI4IDE5MiAxMjhsMzIgMCAwIDk2LTk2IDAgMC0zMmMwLTEyLjktNy44LTI0LjYtMTkuOC0yOS42cy0yNS43LTIuMi0zNC45IDYuOWwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzkuMiA5LjIgMjIuOSAxMS45IDM0LjkgNi45UzEyOCAzMzIuOSAxMjggMzIwbDAtMzIgOTYgMCAwIDk2LTMyIDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzMzMi45IDM4NCAzMjAgMzg0bC0zMiAwIDAtOTYgOTYgMCAwIDMyYzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZzMjUuNyAyLjIgMzQuOS02LjlsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOVMzODQgMTc5LjEgMzg0IDE5MmwwIDMyLTk2IDAgMC05NiAzMiAwYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTY0LTY0eiJdfSxnVnQ9SzhlLGJWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXItc2lkZSIsaWNvbjpbNjQwLDUxMixbMTI4NjYzXSwiZjVlNCIsIk0xNDcgMTA2LjdsLTI5LjggODUuMyAxMjIuOSAwIDAtOTYtNzcuOSAwYy02LjggMC0xMi45IDQuMy0xNS4xIDEwLjd6TTQ4LjYgMTkzLjlMODYuNSA4NS42Qzk3LjggNTMuNSAxMjguMSAzMiAxNjIuMSAzMkwzNjAgMzJjMjUuMiAwIDQ4LjkgMTEuOSA2NCAzMmw5Ni4yIDEyOC4zQzU4Ny4xIDE5Ni41IDY0MCAyNTIuMSA2NDAgMzIwbDAgMTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTE2LjQgMGMtNCA0NC45LTQxLjcgODAtODcuNiA4MHMtODMuNi0zNS4xLTg3LjYtODBsLTE0NC43IDBjLTQgNDQuOS00MS43IDgwLTg3LjYgODBzLTgzLjYtMzUuMS04Ny42LTgwbC0uNCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTgwYzAtMzAuMSAyMC43LTU1LjMgNDguNi02Mi4xek00NDAgMTkybC02Ny4yLTg5LjZjLTMtNC03LjgtNi40LTEyLjgtNi40bC03MiAwIDAgOTYgMTUyIDB6TTE1MiA0MzJhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwem0zNjAtNDBhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHoiXX0sWjhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYXNoLWFycm93LXVwIixpY29uOls0NDgsNTEyLFsidHJhc2gtcmVzdG9yZSJdLCJmODI5IiwiTTE2Ny4xLTE2bDExMy45IDBjMTMuOCAwIDI2IDguOCAzMC40IDIxLjlMMzIwIDMyIDQxNiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJsOTYgMCA4LjctMjYuMUMxNDEuMS03LjIgMTUzLjMtMTYgMTY3LjEtMTZ6TTMyIDE0NGwzODQgMC0yMS4xIDMyMy4xQzM5My4zIDQ5Mi40IDM3Mi4zIDUxMiAzNDcgNTEyTDEwMSA1MTJjLTI1LjMgMC00Ni4zLTE5LjYtNDcuOS00NC45TDMyIDE0NHptMjA5IDc5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtNzIgNzJjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwzMS0zMSAwIDEwMi4xYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDIuMSAzMSAzMWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTcyLTcyeiJdfSx2VnQ9WjhlLHhWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaWZlLXJpbmciLGljb246WzUxMiw1MTIsW10sImYxY2QiLCJNMzY3LjIgNDEyLjVDMzM1LjkgNDM0LjkgMjk3LjUgNDQ4IDI1NiA0NDhzLTc5LjktMTMuMS0xMTEuMi0zNS41bDU4LTU4YzE1LjggOC42IDM0IDEzLjUgNTMuMyAxMy41czM3LjQtNC45IDUzLjMtMTMuNWw1OCA1OHptOTAuNyAuOGMzMy44LTQzLjQgNTQtOTggNTQtMTU3LjNTNDkxLjggMTQyLjEgNDU4IDk4LjdjOS0xMi41IDcuOS0zMC4xLTMuNC00MS4zUzQyNS44IDQ1IDQxMy4zIDU0QzM2OS45IDIwLjIgMzE1LjMgMCAyNTYgMFMxNDIuMSAyMC4yIDk4LjcgNTRjLTEyLjUtOS0zMC4xLTcuOS00MS4zIDMuNFM0NSA4Ni4yIDU0IDk4LjdDMjAuMiAxNDIuMSAwIDE5Ni43IDAgMjU2UzIwLjIgMzY5LjkgNTQgNDEzLjNjLTkgMTIuNS03LjkgMzAuMSAzLjQgNDEuM1M4Ni4yIDQ2NyA5OC43IDQ1OGM0My40IDMzLjggOTggNTQgMTU3LjMgNTRzMTEzLjktMjAuMiAxNTcuMy01NGMxMi41IDkgMzAuMSA3LjkgNDEuMy0zLjRzMTIuNC0yOC44IDMuNC00MS4zem0tNDUuNS00Ni4xbC01OC01OGM4LjYtMTUuOCAxMy41LTM0IDEzLjUtNTMuM3MtNC45LTM3LjQtMTMuNS01My4zbDU4LTU4QzQzNC45IDE3Ni4xIDQ0OCAyMTQuNSA0NDggMjU2cy0xMy4xIDc5LjktMzUuNSAxMTEuMnpNMzY3LjIgOTkuNWwtNTggNThjLTE1LjgtOC42LTM0LTEzLjUtNTMuMy0xMy41cy0zNy40IDQuOS01My4zIDEzLjVsLTU4LTU4QzE3Ni4xIDc3LjEgMjE0LjUgNjQgMjU2IDY0czc5LjkgMTMuMSAxMTEuMiAzNS41ek0xNTcuNSAzMDkuM2wtNTggNThDNzcuMSAzMzUuOSA2NCAyOTcuNSA2NCAyNTZzMTMuMS03OS45IDM1LjUtMTExLjJsNTggNThjLTguNiAxNS44LTEzLjUgMzQtMTMuNSA1My4zczQuOSAzNy40IDEzLjUgNTMuM3pNMjA4IDI1NmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAweiJdfSx5VnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29weXJpZ2h0IixpY29uOls1MTIsNTEyLFsxNjldLCJmMWY5IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMDUuMSAzMDYuOWMyOC4xIDI4LjEgNzMuNyAyOC4xIDEwMS44IDAgOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45Yy00Ni45IDQ2LjktMTIyLjggNDYuOS0xNjkuNyAwcy00Ni45LTEyMi44IDAtMTY5LjcgMTIyLjgtNDYuOSAxNjkuNyAwYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTI4LjEtMjguMS03My43LTI4LjEtMTAxLjggMHMtMjguMSA3My43IDAgMTAxLjh6Il19LHdWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXByZXNjcmlwdGlvbiIsaWNvbjpbMzg0LDUxMixbXSwiZjU3MiIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNODggMTkyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE0NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAgMjIuNSAwIDU4LjQgNTUtMzMuNCAzMS42Yy05LjYgOS4xLTEwLjEgMjQuMy0uOSAzMy45czI0LjMgMTAuMSAzMy45IC45bDM1LjQtMzMuNSAzNS42IDMzLjVjOS43IDkuMSAyNC44IDguNiAzMy45LTFzOC42LTI0LjgtMS0zMy45bC0zMy42LTMxLjYgMzMuNi0zMS44YzkuNi05LjEgMTAuMS0yNC4zIC45LTMzLjlzLTI0LjMtMTAuMS0zMy45LS45bC0zNS43IDMzLjctNDAuOS0zOC41YzEyLjktMTEuNyAyMS4xLTI4LjYgMjEuMS00Ny41IDAtMzUuMy0yOC43LTY0LTY0LTY0bC01NiAwem0zMiA4MGwtOCAwIDAtMzIgMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMjQgMHoiXX0sTVZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVyYXNlciIsaWNvbjpbNTc2LDUxMixbXSwiZjEyZCIsIk0xNzguNSA0MTZsMTIzIDAgNjUuMy02NS4zLTE3My41LTE3My41LTEyNi43IDEyNi43IDExMiAxMTJ6TTIyNCA0ODBsLTQ1LjUgMGMtMTcgMC0zMy4zLTYuNy00NS4zLTE4LjdMMTcgMzQ1QzYuMSAzMzQuMSAwIDMxOS40IDAgMzA0czYuMS0zMC4xIDE3LTQxTDI2MyAxN0MyNzMuOSA2LjEgMjg4LjYgMCAzMDQgMHMzMC4xIDYuMSA0MSAxN0w1MjcgMTk5YzEwLjkgMTAuOSAxNyAyNS42IDE3IDQxcy02LjEgMzAuMS0xNyA0MWwtMTM1IDEzNSAxMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjg4IDB6Il19LFg4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VyZ2xhc3Mtc3RhcnQiLGljb246WzM4NCw1MTIsWyJob3VyZ2xhc3MtMSJdLCJmMjUxIiwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyUzE0LjMgNjQgMzIgNjRsMCAxMWMwIDQyLjQgMTYuOSA4My4xIDQ2LjkgMTEzLjFsNjcuOSA2Ny45LTY3LjkgNjcuOUM0OC45IDM1My45IDMyIDM5NC42IDMyIDQzN2wwIDExYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTFjMC00Mi40LTE2LjktODMuMS00Ni45LTExMy4xbC02Ny45LTY3LjkgNjcuOS02Ny45YzMwLTMwIDQ2LjktNzAuNyA0Ni45LTExMy4xbDAtMTFjMTcuNyAwIDMyLTE0LjMgMzItMzJTMzY5LjcgMCAzNTIgMEwzMiAwek0yODggNDM3bDAgMTEtMTkyIDAgMC0xMWMwLTI1LjUgMTAuMS00OS45IDI4LjEtNjcuOWw2Ny45LTY3LjkgNjcuOSA2Ny45YzE4IDE4IDI4LjEgNDIuNCAyOC4xIDY3Ljl6Il19LGtWdD1YOGUsUThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1sZWZ0IixpY29uOls1MTIsNTEyLFs2MTg0MCwiYXJyb3ctYWx0LWNpcmNsZS1sZWZ0Il0sImYzNTkiLCJNNTEyIDI1NmEyNTYgMjU2IDAgMSAwIC01MTIgMCAyNTYgMjU2IDAgMSAwIDUxMiAwek0xMjQuNyAyNDQuN2wxMDQtMTA0YzQuNi00LjYgMTEuNS01LjkgMTcuNC0zLjVzOS45IDguMyA5LjkgMTQuOGwwIDU2IDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDU2YzAgNi41LTMuOSAxMi4zLTkuOSAxNC44cy0xMi45IDEuMS0xNy40LTMuNWwtMTA0LTEwNGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZ6Il19LFNWdD1ROGUselZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNydXplaXJvLXNpZ24iLGljb246WzQ0OCw1MTIsW10sImUxNTIiLCJNMjQwIDk2Yy04OC40IDAtMTYwIDcxLjYtMTYwIDE2MCAwIDcxLjYgNDcuMSAxMzIuMyAxMTIgMTUyLjdMMTkyIDI1NmMwLTEzLjMgMTAuNy0yNCAyNC0yNCAxMi44IDAgMjMuMyAxMC4xIDI0IDIyLjcgMTUuNS05LjUgMzMuNS0xNC43IDUyLjMtMTQuN2wxMS44IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTExLjggMGMtMTguOCAwLTM2LjEgMTAtNDUuNCAyNi4zLTQuNSA3LjktNi45IDE2LjgtNi45IDI1LjlsMCA3NS44YzQyLjUgMCA4MS4xLTE2LjYgMTA5LjgtNDMuNiAxMi45LTEyLjEgMzMuMS0xMS41IDQ1LjIgMS4zczExLjUgMzMuMS0xLjMgNDUuMkMzNTMuNyA0NTYuOCAyOTkuNSA0ODAgMjQwIDQ4MCAxMTYuMyA0ODAgMTYgMzc5LjcgMTYgMjU2UzExNi4zIDMyIDI0MCAzMmM1OS41IDAgMTEzLjcgMjMuMiAxNTMuNyA2MS4xIDEyLjkgMTIuMSAxMy40IDMyLjQgMS4zIDQ1LjJzLTMyLjQgMTMuNC00NS4yIDEuM0MzMjEuMSAxMTIuNiAyODIuNSA5NiAyNDAgOTZ6Il19LENWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbW9raW5nIixpY29uOls1NzYsNTEyLFsxMjg2ODRdLCJmNDhkIiwiTTM2MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTljMCA0MC4zIDE2IDc5IDQ0LjUgMTA3LjVsMjEgMjFDNDY5IDE5MSA0ODAgMjE3LjQgNDgwIDI0NWwwIDE5YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTljMC0xNC45LTUuOS0yOS4xLTE2LjQtMzkuNmwtMjEtMjFDMzU3LjEgMTQ2LjkgMzM2IDk2IDMzNiA0M2wwLTE5YzAtMTMuMyAxMC43LTI0IDI0LTI0ek01NTIgMjg4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTE5YzAtNDAuMy0xNi03OS00NC41LTEwNy41bC0yMS0yMUM0NDMgOTcgNDMyIDcwLjYgNDMyIDQzbDAtMTljMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE5YzAgMTQuOSA1LjkgMjkuMSAxNi40IDM5LjZsMjEgMjFDNTU0LjkgMTQxLjEgNTc2IDE5MiA1NzYgMjQ1bDAgMTljMCAxMy4zLTEwLjcgMjQtMjQgMjR6TTMyMCA0NDhsOTYgMCAwLTMyLTk2IDAgMCAzMnpNMCA0MTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzJ6bTU3Ni00MGwwIDExMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTExMmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSxKOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXBvbGwtdmVydGljYWwiLGljb246WzQ0OCw1MTIsWyJwb2xsIl0sImY2ODEiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNTYgMTkyYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTEyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTEyYzAtMTMuMyAxMC43LTI0IDI0LTI0em0xODQgODhjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDh6TTIyNCAxMjhjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyMDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yMDhjMC0xMy4zIDEwLjctMjQgMjQtMjR6Il19LF9WdD1KOGUsVFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1jaXJjbGUtbWludXMiLGljb246WzY0MCw1MTIsW10sImU1NDAiLCJNMjgwIDI0YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHptMjQgMjEyLjdMMzQxIDI4Ni42YzEyLjgtMTcuNSAyOC41LTMyLjcgNDYuMy00NWwtNTYuMi03NS43QzMwNiAxMzIgMjY2LjMgMTEyIDIyNCAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxNDQgMjM2LjcgMTQ0IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI3NS4zek02NDAgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS02NCAwYzAgOC44LTcuMiAxNi0xNiAxNmwtMTI4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2eiJdfSxMVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmlvaGF6YXJkIixpY29uOls1NzYsNTEyLFs5NzYzXSwiZjc4MCIsIk0yNjAgMTIuNmMwLTguMy03LjYtMTQuNS0xNS41LTEyLjEtNjAuOSAxOC44LTEwNS4xIDc1LjgtMTA1LjEgMTQzLjEgMCAyNS4xIDYuMSA0OC43IDE3IDY5LjUtMjEgMS44LTQyIDguMi02MS41IDE5LjUtNTcuOSAzMy42LTg0LjggMTAwLjItNzAuOSAxNjIuNSAxLjkgOC40IDExLjQgMTIgMTguOSA3LjYgNS0yLjkgNy42LTguNiA3LjEtMTQuNC0uMy0zLjMtLjQtNi42LS40LTEwLjEgMC0xMjMuNSAxODQuNC0xMjMuNSAxODQuNCAwIDAgODguNC05NC41IDExMy42LTE0OC4yIDc1LjQtNC41LTMuMi0xMC41LTMuOS0xNS4zLTEuMS03IDQuMS04LjYgMTMuNi0yLjcgMTkuMSA0Ni42IDQzLjggMTE4IDUzLjkgMTc2LjEgMjAuMiAxNy45LTEwLjQgMzIuOC0yMy45IDQ0LjUtMzkuNCAxMS43IDE1LjYgMjYuNiAyOS4xIDQ0LjUgMzkuNCA1OC4xIDMzLjcgMTI5LjUgMjMuNiAxNzYuMS0yMC4yIDUuOS01LjUgNC4zLTE1LjEtMi43LTE5LjEtNC44LTIuOC0xMC44LTIuMS0xNS4zIDEuMS01My43IDM4LjItMTQ4LjIgMTMtMTQ4LjItNzUuNCAwLTEyMy41IDE4NC40LTEyMy41IDE4NC40IDAgMCAzLjQtLjEgNi44LS40IDEwLjEtLjUgNS44IDIuMSAxMS41IDcuMSAxNC40IDcuNCA0LjMgMTcgLjggMTguOS03LjYgMTMuOS02Mi4yLTEzLTEyOC45LTcwLjktMTYyLjUtMTkuNS0xMS4zLTQwLjQtMTcuNy02MS41LTE5LjUgMTAuOS0yMC44IDE3LTQ0LjQgMTctNjkuNSAwLTY3LjMtNDQuMi0xMjQuMy0xMDUuMS0xNDMuMS03LjktMi40LTE1LjUgMy44LTE1LjUgMTIuMSAwIDUuOSA0IDExIDkuNSAxMy4yIDgzLjQgMzMuNiA3MC44IDE3OC40LTM3LjggMTc4LjRTMTY3LjEgNTkuNCAyNTAuNSAyNS44YzUuNS0yLjIgOS41LTcuMyA5LjUtMTMuMnpNMjQ4LjQgMjg4YTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTQzNSAzMTcuN2MtMTYuMiAwLTMxLjQgNS41LTQyLjEgMTUtMTAuMSA5LjEtMTguMSAyMy40LTE4LjEgNDUuNiAwIDIxLjEgNy4yIDM1IDE2LjUgNDQuMSAzMi4yLTI0LjYgNTUuNS02MC41IDYzLjktMTAxLjgtNi4zLTEuOS0xMy4yLTMtMjAuMi0zek0yMDIgMzc4LjNjMC0yMi4zLTgtMzYuNi0xOC4xLTQ1LjYtMTAuNy05LjYtMjUuOS0xNS00Mi4xLTE1LTcgMC0xMy45IDEtMjAuMiAzIDguNCA0MS4zIDMxLjYgNzcuMiA2My45IDEwMS44IDkuNC05LjEgMTYuNS0yMy4xIDE2LjUtNDQuMnptNDEuMi0yMjQuM2M5IDEwLjIgMjMuMiAxOC4yIDQ1LjIgMTguMnMzNi4yLTggNDUuMi0xOC4yYzYuNy03LjYgMTEuNS0xNy41IDEzLjYtMjguNC0xOC4zLTYuOC0zOC4yLTEwLjUtNTguOC0xMC41cy00MC41IDMuNy01OC44IDEwLjVjMi4yIDEwLjkgNi45IDIwLjggMTMuNiAyOC41eiJdfSxlbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmVsbC1jb25jaWVyZ2UiLGljb246WzUxMiw1MTIsWzEyODcxOCwiY29uY2llcmdlLWJlbGwiXSwiZjU2MiIsIk0yMTYgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTYgMCAwIDMzLjNDMTI0LjggMTU2LjcgNDAuMiAyNDMuNyAzMi42IDM1Mmw0NDYuOSAwQzQ3MS44IDI0My43IDM4Ny4yIDE1Ni43IDI4MCAxNDUuM2wwLTMzLjMgMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMHpNMjQgNDAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI0IDQwMHoiXX0sJFZ0PWVtZSxEVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicnVsZXItaG9yaXpvbnRhbCIsaWNvbjpbNTc2LDUxMixbXSwiZjU0NyIsIk00OCAzODRjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMTc2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDI0IDAgMCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwNCA0OCAwIDAgNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTcyIDQ4IDAgMCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwNCA0OCAwIDAgNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTcyIDQ4IDAgMCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwNCAyNCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTYwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDM4NHoiXX0sQVZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvcnNlIixpY29uOls1NzYsNTEyLFsxMjgwMTRdLCJmNmYwIiwiTTQ0OCAyMzguMWwwLTc4LjEgMTYgMCA5LjggMTkuNmMxMi41IDI1LjEgNDIuMiAzNi40IDY4LjMgMjYgMjAuNS04LjIgMzMuOS0yOCAzMy45LTUwLjFMNTc2IDgwYzAtMTkuMS04LjQtMzYuMy0yMS43LTQ4bDUuNyAwYzguOCAwIDE2LTcuMiAxNi0xNlM1NjguOCAwIDU2MCAwTDQ0OCAwQzM3Ny4zIDAgMzIwIDU3LjMgMzIwIDEyOGwtMTcxLjIgMEMxMTguMSAxMjggOTEuMiAxNDQuMyA3Ni4zIDE2OC44IDMzLjIgMTc0LjUgMCAyMTEuNCAwIDI1NmwwIDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC01NmMwLTEzLjQgNi42LTI1LjIgMTYuNy0zMi41IDEuNiAxMyA2LjMgMjUuNCAxMy42IDM2LjRsMjguMiA0Mi40YzguMyAxMi40IDYuNCAyOC43LTEuMiA0MS42LTE2LjUgMjgtMjAuNiA2Mi4yLTEwIDkzLjlsMTcuNSA1Mi40YzQuNCAxMy4xIDE2LjYgMjEuOSAzMC40IDIxLjlsMzMuNyAwYzIxLjggMCAzNy4zLTIxLjQgMzAuNC00Mi4xbC0yMC44LTYyLjVjLTIuMS02LjQtLjUtMTMuNCA0LjMtMTguMmwxMi43LTEyLjdjMTMuMi0xMy4yIDIwLjYtMzEuMSAyMC42LTQ5LjcgMC0yLjMtLjEtNC42LS4zLTYuOWw4NCAyNGM0LjEgMS4yIDguMiAyLjEgMTIuMyAyLjhMMzIwIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTY0LjNjMTkuMi0xOS4yIDMxLjUtNDUuNyAzMi03NS43bDAgMCAwLTEuOXpNNDk2IDY0YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnoiXX0sUFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGVuZGFyIixpY29uOls0NDgsNTEyLFsxMjgxOTcsMTI4MTk4XSwiZjEzMyIsIk0xMjggMEMxMTAuMyAwIDk2IDE0LjMgOTYgMzJsMCAzMi0zMiAwQzI4LjcgNjQgMCA5Mi43IDAgMTI4bDAgNDggNDQ4IDAgMC00OGMwLTM1LjMtMjguNy02NC02NC02NGwtMzIgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzItMTI4IDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMCAyMjRMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xOTItNDQ4IDB6Il19LEVWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kcy1ob2xkaW5nLWNoaWxkIixpY29uOls2NDAsNTEyLFtdLCJlNGZhIiwiTTMyMC0zMmE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6TTQwIDY0YzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgMTYwLjJjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNsNTEuMSA1MS4xYzguMyA4LjMgMjEuMyA5LjYgMzEgMy4xIDEyLjktOC42IDE0LjctMjYuOSAzLjctMzcuOC03LjMtNy4zLTIzLjEtMjMuMS00Ny4yLTQ3LjItMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGMyNC4xIDI0LjEgMzkuOSAzOS45IDQ3LjIgNDcuMmwwIDAgMjUuMyAyNS4zYzIxIDIxIDMyLjggNDkuNSAzMi44IDc5LjJsMCA3OC45YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC02Ni43IDBjLTE3IDAtMzMuMy02LjctNDUuMy0xOC43TDI4LjEgMzkzLjRDMTAuMSAzNzUuNCAwIDM1MSAwIDMyNS41TDAgMTA0QzAgODEuOSAxNy45IDY0IDQwIDY0em01NjAgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDIyMS41YzAgMjUuNS0xMC4xIDQ5LjktMjguMSA2Ny45TDUxMiA0OTMuM2MtMTIgMTItMjguMyAxOC43LTQ1LjMgMTguN0w0MDAgNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTc4LjljMC0yOS43IDExLjgtNTguMiAzMi44LTc5LjJsMjUuMy0yNS4zIDAgMGM3LjMtNy4zIDIzLjEtMjMuMSA0Ny4yLTQ3LjIgMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2MtMjQuMSAyNC4xLTM5LjkgMzkuOS00Ny4yIDQ3LjItMTEgMTEtOS4yIDI5LjIgMy43IDM3LjggOS43IDYuNSAyMi43IDUuMiAzMS0zLjFsNTEuMS01MS4xYzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNMNTYwIDEwNGMwLTIyLjEgMTcuOS00MCA0MC00MHpNMzg0LjUgMTQ5bC0xOS44LTE2LjcgMTEuMSA4OC44YzEuNiAxMy4yLTcuNyAyNS4xLTIwLjggMjYuOHMtMjUuMS03LjctMjYuOC0yMC44bC00LjQtMzUtNy42IDAtNC40IDM1Yy0xLjYgMTMuMi0xMy42IDIyLjUtMjYuOCAyMC44cy0yMi41LTEzLjYtMjAuOC0yNi44bDExLjEtODguOC0xOS44IDE2LjdjLTEwLjEgOC42LTI1LjMgNy4zLTMzLjgtMi44cy03LjMtMjUuMyAyLjgtMzMuOGwyNy45LTIzLjZDMjcxLjMgNzIuOCAyOTUuMyA2NCAzMjAgNjRzNDguNyA4LjggNjcuNiAyNC43bDI3LjkgMjMuNmMxMC4xIDguNiAxMS40IDIzLjcgMi44IDMzLjhzLTIzLjcgMTEuNC0zMy44IDIuOHoiXX0sSVZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Iml0YWxpYyIsaWNvbjpbMzg0LDUxMixbXSwiZjAzMyIsIk0xMjggNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTU4LjcgMC0xMzMuMyAzMjAgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNTguNyAwIDEzMy4zLTMyMC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0sTlZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImtoYW5kYSIsaWNvbjpbNTEyLDUxMixbOTc3Ml0sImY2NmQiLCJNMjQwLjcgOGM4LjktNy40IDIxLjgtNy40IDMwLjcgMGwzNy44IDMxLjVjOC43IDcuMyAxMS4xIDE5LjYgNiAyOS42LTEuMiAyLjQtMi44IDUuNS00LjYgOS4yIDM0LjIgMTkuMiA1Ny4zIDU1LjggNTcuMyA5Ny44cy0yMy4xIDc4LjYtNTcuMyA5Ny44YzEuOCAzLjcgMy4zIDYuOCA0LjYgOS4yIDUuMSAxMCAyLjcgMjIuMy02IDI5LjZsLTM3LjIgMzEgMCAxOS44YzIyLjktMTUuNyA0OC40LTMzLjMgNzYuNy01Mi43IDQyLjgtMjkuNCA2OC40LTc4IDY4LjQtMTMwbDAtMTEuMWMwLTIzLjktNy4xLTQ3LjMtMjAuNC02Ny4yLTUuMS03LjctNC42LTE3LjggMS43LTI0LjYgNi42LTcuMSAxNy4yLTguMSAyNS4yLTIuOCAyNy41IDE4LjEgODkuNCA2Ny41IDg5LjQgMTQ5LjEgMCA0Ni41LTIwLjIgODguNi00MS44IDEyMC40LTIxLjYgMzItNDUuNiA1NS01NS4zIDYzLjgtNy44IDcuMS0xOSA3LjktMjcuNiAzbC03MC44LTQwLjMtMzIuNyAyMi41IDQ1LjUgMzEuM2MxLjgtLjQgMy43LS43IDUuNy0uNyAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMTIuMiAwLTIyLjMtOS4xLTIzLjgtMjFsLTQwLjItMjcuNiAwIDI4LjljOS42IDUuNSAxNiAxNS45IDE2IDI3LjcgMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJjMC0xMS44IDYuNC0yMi4yIDE2LTI3LjdsMC0yOC4xLTQwLjMgMjcuN2MtMS44IDExLjQtMTEuOCAyMC4xLTIzLjcgMjAuMS0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzIuMiAwIDQuNCAuMyA2LjUgLjlsNDUuOC0zMS41LTMyLjctMjIuNS03MC44IDQwLjNjLTguNyA0LjktMTkuOCA0LjEtMjcuNi0zLTkuNy04LjgtMzMuNy0zMS45LTU1LjMtNjMuOC0yMS41LTMxLjgtNDEuOC03My45LTQxLjgtMTIwLjQgMC04MS43IDYxLjktMTMxLjEgODkuNC0xNDkuMSA4LjEtNS4zIDE4LjYtNC4zIDI1LjIgMi44IDYuNCA2LjkgNi44IDE3IDEuNyAyNC42LTEzLjMgMTkuOS0yMC40IDQzLjMtMjAuNCA2Ny4ybDAgMTEuMWMwIDUxLjkgMjUuNiAxMDAuNiA2OC40IDEzMCAyOC40IDE5LjYgNTMuNyAzNi45IDc1LjYgNTJsMC0xOS4xLTM3LjItMzFjLTguNy03LjMtMTEuMS0xOS42LTYtMjkuNiAxLjItMi40IDIuOC01LjUgNC42LTkuMi0zNC4yLTE5LjItNTcuMy01NS44LTU3LjMtOTcuOHMyMy4xLTc4LjYgNTcuMy05Ny44Yy0xLjgtMy43LTMuMy02LjgtNC42LTkuMi01LjEtMTAtMi43LTIyLjMgNi0yOS42TDI0MC43IDh6TTIyMC4zIDEyMi45Yy0xNyAxMS41LTI4LjIgMzEtMjguMiA1My4xczExLjIgNDEuNiAyOC4yIDUzLjFjNi44LTE5LjIgMTEuOC0zOC40IDExLjgtNTMuMXMtNC45LTMzLjktMTEuOC01My4xem03MS41IDEwNi4yYzE3LTExLjUgMjguMi0zMSAyOC4yLTUzLjFzLTExLjItNDEuNi0yOC4yLTUzLjFjLTYuOCAxOS4yLTExLjggMzguNC0xMS44IDUzLjFzNC45IDMzLjkgMTEuOCA1My4xeiJdfSx0bWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1mcm93bi1vcGVuIixpY29uOls1MTIsNTEyLFsxMjg1NTAsImZyb3duLW9wZW4iXSwiZjU3YSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTc2IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0xODIuNCAzODIuNWMtMTIuNCA1LjItMjYuNS00LjEtMjEuMS0xNi40IDE2LTM2LjYgNTIuNC02Mi4xIDk0LjgtNjIuMXM3OC44IDI1LjYgOTQuOCA2Mi4xYzUuNCAxMi4zLTguNyAyMS42LTIxLjEgMTYuNC0yMi40LTkuNS00Ny40LTE0LjgtNzMuNy0xNC44cy01MS4zIDUuMy03My43IDE0Ljh6Il19LFJWdD10bWUsRXRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZWNrIixpY29uOls0NDgsNTEyLFsxMDAwMywxMDAwNF0sImYwMGMiLCJNNDM0LjggNzAuMWMxNC4zIDEwLjQgMTcuNSAzMC40IDcuMSA0NC43bC0yNTYgMzUyYy01LjUgNy42LTE0IDEyLjMtMjMuNCAxMy4xcy0xOC41LTIuNy0yNS4xLTkuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxMDEuNSAxMDEuNSAyMzQtMzIxLjdjMTAuNC0xNC4zIDMwLjQtMTcuNSA0NC43LTcuMXoiXX0sT1Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbmdlcnByaW50IixpY29uOls1MTIsNTEyLFtdLCJmNTc3IiwiTTQ4IDI1NmMwLTExNC45IDkzLjEtMjA4IDIwOC0yMDggNjMuMSAwIDExOS42IDI4LjEgMTU3LjggNzIuNSA4LjYgMTAuMSAyMy44IDExLjIgMzMuOCAyLjZzMTEuMi0yMy44IDIuNi0zMy44QzQwMy4zIDM0LjYgMzMzLjcgMCAyNTYgMCAxMTQuNiAwIDAgMTE0LjYgMCAyNTZsMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDB6bTQ1OC41LTUyLjljLTIuNy0xMy0xNS41LTIxLjMtMjguNC0xOC41cy0yMS4zIDE1LjUtMTguNSAyOC40YzIuOSAxMy45IDQuNSAyOC4zIDQuNSA0My4xbDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwYzAtMTguMS0xLjktMzUuOC01LjUtNTIuOXpNMjU2IDgwYy0xOSAwLTM3LjQgMy01NC41IDguNi0xNS4yIDUtMTguNyAyMy43LTguMyAzNS45IDcuMSA4LjMgMTguOCAxMC44IDI5LjQgNy45IDEwLjYtMi45IDIxLjgtNC40IDMzLjQtNC40IDcwLjcgMCAxMjggNTcuMyAxMjggMTI4bDAgMjQuOWMwIDI1LjItMS41IDUwLjMtNC40IDc1LjMtMS43IDE0LjYgOS40IDI3LjggMjQuMiAyNy44IDExLjggMCAyMS45LTguNiAyMy4zLTIwLjMgMy4zLTI3LjQgNS01NSA1LTgyLjdsMC0yNC45YzAtOTcuMi03OC44LTE3Ni0xNzYtMTc2ek0xNTAuNyAxNDguN2MtOS4xLTEwLjYtMjUuMy0xMS40LTMzLjktLjQtMjMuMSAyOS44LTM2LjggNjcuMS0zNi44IDEwNy43bDAgMjQuOWMwIDI0LjItMi42IDQ4LjQtNy44IDcxLjktMy40IDE1LjYgNy45IDMxLjEgMjMuOSAzMS4xIDEwLjUgMCAxOS45LTcgMjIuMi0xNy4zIDYuNC0yOC4xIDkuNy01Ni44IDkuNy04NS44bDAtMjQuOWMwLTI3LjIgOC41LTUyLjQgMjIuOS03My4xIDcuMi0xMC40IDgtMjQuNi0uMi0zNC4yek0yNTYgMTYwYy01MyAwLTk2IDQzLTk2IDk2bDAgMjQuOWMwIDM1LjktNC42IDcxLjUtMTMuOCAxMDYuMS0zLjggMTQuMyA2LjcgMjkgMjEuNSAyOSA5LjUgMCAxNy45LTYuMiAyMC40LTE1LjQgMTAuNS0zOSAxNS45LTc5LjIgMTUuOS0xMTkuN2wwLTI0LjljMC0yOC43IDIzLjMtNTIgNTItNTJzNTIgMjMuMyA1MiA1MmwwIDI0LjljMCAzNi4zLTMuNSA3Mi40LTEwLjQgMTA3LjktMi43IDEzLjkgNy43IDI3LjIgMjEuOCAyNy4yIDEwLjIgMCAxOS03IDIxLTE3IDcuNy0zOC44IDExLjYtNzguMyAxMS42LTExOC4xbDAtMjQuOWMwLTUzLTQzLTk2LTk2LTk2em0yNCA5NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI0LjljMCA1OS45LTExIDExOS4zLTMyLjUgMTc1LjJsLTUuOSAxNS4zYy00LjggMTIuNCAxLjQgMjYuMyAxMy44IDMxczI2LjMtMS40IDMxLTEzLjhsNS45LTE1LjNDMjY3LjkgNDExLjkgMjgwIDM0Ni43IDI4MCAyODAuOWwwLTI0Ljl6Il19LEZWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFyZ2luZy1zdGF0aW9uIixpY29uOls1NzYsNTEyLFtdLCJmNWU3IiwiTTY0IDY0QzY0IDI4LjcgOTIuNyAwIDEyOCAwTDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMTJjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xMjcuN2MtMzIuNS0xMC4yLTU2LTQwLjUtNTYtNzYuM2wwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwIDAtNDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDQ4IDMyIDAgMC00OGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNDggMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDM1LjgtMjMuNSA2Ni4xLTU2IDc2LjNMNTIwIDM4MGMwIDM3LjYtMzAuNCA2OC02OCA2OHMtNjgtMzAuNC02OC02OGwwLTEyYzAtMTcuNy0xNC4zLTMyLTMyLTMybDAgMTI5LjRjOS4zIDMuMyAxNiAxMi4yIDE2IDIyLjYgMCAxMy4zLTEwLjcgMjQtMjQgMjRMNzIgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNCAwLTEwLjUgNi43LTE5LjMgMTYtMjIuNkw2NCA2NHptODIuNyAxMjUuN2wzOSAwLTIwLjkgNjYuOWMtMi40IDcuNiAzLjMgMTUuNCAxMS4zIDE1LjQgMi45IDAgNS42LTEgNy44LTIuOWw5NC42LTgyYzMuMS0yLjcgNC45LTYuNiA0LjktMTAuNyAwLTcuOC02LjMtMTQuMS0xNC4xLTE0LjFsLTM5IDAgMjAuOS02Ni45YzIuNC03LjYtMy4zLTE1LjQtMTEuMy0xNS40LTIuOSAwLTUuNiAxLTcuOCAyLjlsLTk0LjYgODJjLTMuMSAyLjctNC45IDYuNi00LjkgMTAuNyAwIDcuOCA2LjMgMTQuMSAxNC4xIDE0LjF6Il19LEJWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLWxvY2siLGljb246WzU3Niw1MTIsW10sImY1MDIiLCJNMjI0IDhhMTIwIDEyMCAwIDEgMSAwIDI0MCAxMjAgMTIwIDAgMSAxIDAtMjQwek0xOTQuMyAzMDRsNTkuNCAwYzI5LjcgMCA1Ny43IDcuMyA4Mi4zIDIwLjFsMCA0LjNjLTE5LjYgMTcuNi0zMiA0My4xLTMyIDcxLjVsMCA5NmMwIDUuNSAuNSAxMC45IDEuMyAxNi4xTDQ1LjcgNTEyQzI5LjMgNTEyIDE2IDQ5OC43IDE2IDQ4Mi4zIDE2IDM4My44IDk1LjggMzA0IDE5NC4zIDMwNHptMzAxLjcgLjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek0zNTIgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxhbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9iaWxlLXNjcmVlbi1idXR0b24iLGljb246WzM4NCw1MTIsWyJtb2JpbGUtYWx0Il0sImYzY2QiLCJNMTYgNjRDMTYgMjguNyA0NC43IDAgODAgMEwzMDQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw4MCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDE2IDY0em02NCAwbDAgMzA0IDIyNCAwIDAtMzA0LTIyNCAwek0xOTIgNDcyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyLTMyIDE0LjMtMzIgMzIgMTQuMyAzMiAzMiAzMnoiXX0sSFZ0PWFtZSxxVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5jaG9yLWNpcmNsZS1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZTRhYSIsIk0zMjAgOTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHpNMjg4IDBjLTUzIDAtOTYgNDMtOTYgOTYgMCA0MS44IDI2LjcgNzcuNCA2NCA5MC41bDAgMjU3LjljLTYyLjktMTQuMy0xMTAuMi02OS43LTExMS45LTEzNi41bDE2LjEgMTQuMWMxMCA4LjcgMjUuMSA3LjcgMzMuOS0yLjNzNy43LTI1LjEtMi4zLTMzLjlsLTY0LTU2Yy05LTcuOS0yMi42LTcuOS0zMS42IDBsLTY0IDU2Yy0xMCA4LjctMTEgMjMuOS0yLjMgMzMuOXMyMy45IDExIDMzLjkgMi4zTDgwIDMwNy45YzIuMSAxMTMuMSA5NC40IDIwNC4xIDIwOCAyMDQuMSAxNi42IDAgMzIuNy0xLjkgNDguMi01LjYtMjAuMy0zMC41LTMyLjItNjctMzIuMi0xMDYuNCAwLTI3LjMgNS43LTUzLjMgMTYtNzYuOWwwLTEzNi42YzM3LjMtMTMuMiA2NC00OC43IDY0LTkwLjUgMC01My00My05Ni05Ni05NnpNNjQwIDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tODYuNi02MC45YzcuMSA1LjIgOC43IDE1LjIgMy41IDIyLjNsLTY0IDg4Yy0yLjggMy44LTcgNi4yLTExLjcgNi41cy05LjMtMS4zLTEyLjYtNC42bC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDI2LjggMjYuOCA1My03Mi45YzUuMi03LjEgMTUuMi04LjcgMjIuNC0zLjV6Il19LHJtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24td2Fsa2luZy13aXRoLWNhbmUiLGljb246WzU3Niw1MTIsWyJibGluZCJdLCJmMjlkIiwiTTIyNC0zMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpNMTYwIDIwNS4zbC0yMi42IDIyLjZjLTYgNi05LjQgMTQuMS05LjQgMjIuNmwwIDM3LjVjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zNy41YzAtMjUuNSAxMC4xLTQ5LjkgMjguMS02Ny45bDM0LjQtMzQuNGMyMy4yLTIzLjIgNTQuNi0zNi4yIDg3LjMtMzYuMiAzNi4xIDAgNzAuMyAxNS44IDkzLjggNDMuMWw2OC42IDgwYzExLjUgMTMuNCA5LjkgMzMuNi0zLjUgNDUuMXMtMzMuNiA5LjktNDUuMS0zLjVsLTU1LjctNjUgMCAxMTguNiAzNC41IDI5LjZjMTcuNyAxNS4yIDI5LjMgMzYuMiAzMi42IDU5LjNsMTIuNiA4OC4xYzIuNSAxNy41LTkuNyAzMy43LTI3LjIgMzYuMnMtMzMuNy05LjctMzYuMi0yNy4ybC0xMi42LTg4LjFjLTEuMS03LjctNS0xNC43LTEwLjktMTkuOGwtNzEuNC02MS4yYy0yMS4zLTE4LjItMzMuNS00NC45LTMzLjUtNzIuOWwwLTY5LjN6bS4xIDE2NS44YzIuNCAyLjMgNC44IDQuNiA3LjQgNi44bDQ2IDM5LjQtMi4yIDcuNmMtNC41IDE1LjctMTIuOSAzMC0yNC40IDQxLjVsLTY4LjMgNjguM2MtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNjguMy02OC4zYzMuOC0zLjggNi42LTguNiA4LjEtMTMuOEwxNjAuMSAzNzF6bTIzMy41LTYyLjJjMTAuNi04IDI1LjYtNS44IDMzLjYgNC44bDE0NCAxOTJjOCAxMC42IDUuOCAyNS42LTQuOCAzMy42cy0yNS42IDUuOC0zMy42LTQuOGwtMTQ0LTE5MmMtOC0xMC42LTUuOC0yNS42IDQuOC0zMy42eiJdfSxWVnQ9cm1lLHNtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXdhdmVmb3JtIixpY29uOlszODQsNTEyLFsiZmlsZS1tZWRpY2FsLWFsdCJdLCJmNDc4IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC05NiA2MC4zIDAgNDguOCA2Mi43YzUuMSA2LjYgMTMuMyAxMCAyMS42IDkuMXMxNS41LTYuMSAxOS4xLTEzLjZsNDIuOS05MS4yIDkuOSAxOS44YzQuMSA4LjEgMTIuNCAxMy4zIDIxLjUgMTMuM2w3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC01Ny4yIDAtMjUuNC01MC43Yy00LjEtOC4yLTEyLjYtMTMuNC0yMS44LTEzLjNzLTE3LjUgNS41LTIxLjQgMTMuOGwtNDcuMyAxMDAuNi0zMi00MS4xQzg2LjQgMzA3LjQgNzkuNCAzMDQgNzIgMzA0TDAgMzA0IDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXoiXX0salZ0PXNtZSxVVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY3JhY2siLGljb246WzUxMiw1MTIsW10sImUzYjEiLCJNMjc3LjggOC42Yy0xMi4zLTExLjQtMzEuMy0xMS40LTQzLjUgMGwtMjI0IDIwOGMtOS42IDktMTIuOCAyMi45LTggMzUuMVMxOC44IDI3MiAzMiAyNzJsMTYgMCAwIDE3NmMwIDM1LjMgMjguNyA2NCA2NCA2NGw4Ni40IDAtMzEuMy01Mi4yYy00LjEtNi44LTIuNi0xNS41IDMuNS0yMC41TDI1NiAzNjggMTk1LjggMjg1LjJjLTEwLjktMTUgOC4yLTMzLjUgMjIuOC0yMmwxMTcuOSA5Mi42YzggNi4zIDguMiAxOC40IC40IDI0LjlMMjU2IDQ0OCAyOTQuNCA1MTIgNDAwIDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE3NiAxNiAwYzEzLjIgMCAyNS04LjEgMjkuOC0yMC4zczEuNi0yNi4yLTgtMzUuMWwtMjI0LTIwOHoiXX0sV1Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhdC13aXphcmQiLGljb246WzUxMiw1MTIsW10sImY2ZTgiLCJNNjQgNDAwbDg1LjctMjA4LjJjMTctNDEuMyA0Ny44LTc1LjMgODcuMi05Ni4zTDM4My44IDE3LjJjMTIuMy02LjYgMjYuNSA0LjcgMjMgMTguMkwzNjkuNiAxNzcuOGMtMS4xIDQuMS0xLjYgOC4zLTEuNiAxMi42IDAgNi4zIDEuMiAxMi42IDMuNiAxOC41bDc2LjQgMTkxLjEtMjA3LjEgMCAxMS44LTM1LjQgNDAuNC0xMy41YzYuNS0yLjIgMTAuOS04LjMgMTAuOS0xNS4ycy00LjQtMTMtMTAuOS0xNS4ybC00MC40LTEzLjUtMTMuNS00MC40QzIzNyAyNjAuNCAyMzAuOSAyNTYgMjI0IDI1NnMtMTMgNC40LTE1LjIgMTAuOWwtMTMuNSA0MC40LTQwLjQgMTMuNUMxNDguNCAzMjMgMTQ0IDMyOS4xIDE0NCAzMzZzNC40IDEzIDEwLjkgMTUuMmw0MC40IDEzLjUgMTEuOCAzNS40LTE0My4xIDB6TTI3OS42IDE0MS41Yy0xLjEtMy4zLTQuMS01LjUtNy42LTUuNXMtNi41IDIuMi03LjYgNS41bC02LjcgMjAuMi0yMC4yIDYuN2MtMy4zIDEuMS01LjUgNC4xLTUuNSA3LjZzMi4yIDYuNSA1LjUgNy42bDIwLjIgNi43IDYuNyAyMC4yYzEuMSAzLjMgNC4xIDUuNSA3LjYgNS41czYuNS0yLjIgNy42LTUuNWw2LjctMjAuMiAyMC4yLTYuN2MzLjMtMS4xIDUuNS00LjEgNS41LTcuNnMtMi4yLTYuNS01LjUtNy42bC0yMC4yLTYuNy02LjctMjAuMnpNMzIgNDQ4bDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnoiXX0saW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItZG9jdG9yIixpY29uOls0NDgsNTEyLFsidXNlci1tZCJdLCJmMGYwIiwiTTIyNCA4YTEyMCAxMjAgMCAxIDAgMCAyNDAgMTIwIDEyMCAwIDEgMCAwLTI0MHptNjAgMzEyLjhjLTUuNC0uNS0xMS0uOC0xNi42LS44bC04Ni45IDBjLTUuNiAwLTExLjEgLjMtMTYuNiAuOGwwIDY3LjVjMTYuNSA3LjYgMjggMjQuMyAyOCA0My42IDAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtMTkuNCAxMS41LTM2LjEgMjgtNDMuNmwwLTU4LjRDNjEgMzUzIDE2IDQxMy42IDE2IDQ4NC42IDE2IDQ5OS43IDI4LjMgNTEyIDQzLjQgNTEybDM2MS4xIDBjMTUuMSAwIDI3LjQtMTIuMyAyNy40LTI3LjQgMC03MS00NS0xMzEuNS0xMDgtMTU0LjZsMCAzNy40YzIzLjMgOC4yIDQwIDMwLjUgNDAgNTYuNmwwIDMyYzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTMyYzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMGwwIDMyYzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTMyYzAtMjYuMSAxNi43LTQ4LjMgNDAtNTYuNmwwLTQ2LjZ6Il19LEdWdD1pbWUsb21lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJ0LWJhciIsaWNvbjpbNTEyLDUxMixbImJhci1jaGFydCJdLCJmMDgwIiwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzM2YzAgOC44IDcuMiAxNiAxNiAxNmw0MDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw4MCA0ODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6bTk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTMyIDgwbDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMTJsMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSxZVnQ9b21lLG5tZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcHJheS1jYW4tc3BhcmtsZXMiLGljb246WzU3Niw1MTIsWyJhaXItZnJlc2hlbmVyIl0sImY1ZDAiLCJNMTYwIDMybDAgODAgMTI4IDAgMC04MGMwLTE3LjctMTQuMy0zMi0zMi0zMkwxOTIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTAgMTI4Yy01MyAwLTk2IDQzLTk2IDk2bDAgMjA4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDIyNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjA4YzAtNTMtNDMtOTYtOTYtOTZsLTEyOCAwem02NCA5NmE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpNNDQ4IDQ4YzAtMS40LTEtMy0yLjItMy42TDQxNiAzMiA0MDMuNiAyLjJDNDAzIDEgNDAxLjQgMCA0MDAgMHMtMyAxLTMuNiAyLjJMMzg0IDMyIDM1NC4yIDQ0LjRjLTEuMiAuNi0yLjIgMi4yLTIuMiAzLjYgMCAxLjQgMSAzIDIuMiAzLjZMMzg0IDY0IDM5Ni40IDkzLjhDMzk3IDk1IDM5OC42IDk2IDQwMCA5NnMzLTEgMy42LTIuMkw0MTYgNjQgNDQ1LjggNTEuNkM0NDcgNTEgNDQ4IDQ5LjQgNDQ4IDQ4em03Ni40IDQ1LjhDNTI1IDk1IDUyNi42IDk2IDUyOCA5NnMzLTEgMy42LTIuMkw1NDQgNjQgNTczLjggNTEuNmMxLjItLjYgMi4yLTIuMiAyLjItMy42IDAtMS40LTEtMy0yLjItMy42TDU0NCAzMiA1MzEuNiAyLjJDNTMxIDEgNTI5LjQgMCA1MjggMHMtMyAxLTMuNiAyLjJMNTEyIDMyIDQ4Mi4yIDQ0LjRjLTEuMiAuNi0yLjIgMi4yLTIuMiAzLjYgMCAxLjQgMSAzIDIuMiAzLjZMNTEyIDY0IDUyNC40IDkzLjh6bTcuMiAxMDAuNGMtLjYtMS4yLTIuMi0yLjItMy42LTIuMnMtMyAxLTMuNiAyLjJMNTEyIDIyNCA0ODIuMiAyMzYuNGMtMS4yIC42LTIuMiAyLjItMi4yIDMuNiAwIDEuNCAxIDMgMi4yIDMuNkw1MTIgMjU2IDUyNC40IDI4NS44Yy42IDEuMiAyLjIgMi4yIDMuNiAyLjJzMy0xIDMuNi0yLjJMNTQ0IDI1NiA1NzMuOCAyNDMuNmMxLjItLjYgMi4yLTIuMiAyLjItMy42IDAtMS40LTEtMy0yLjItMy42TDU0NCAyMjQgNTMxLjYgMTk0LjJ6TTUxMiAxNDRjMC0xLjQtMS0zLTIuMi0zLjZMNDgwIDEyOCA0NjcuNiA5OC4yQzQ2NyA5NyA0NjUuNCA5NiA0NjQgOTZzLTMgMS0zLjYgMi4yTDQ0OCAxMjggNDE4LjIgMTQwLjRjLTEuMiAuNi0yLjIgMi4yLTIuMiAzLjYgMCAxLjQgMSAzIDIuMiAzLjZMNDQ4IDE2MCA0NjAuNCAxODkuOGMuNiAxLjIgMi4yIDIuMiAzLjYgMi4yczMtMSAzLjYtMi4yTDQ4MCAxNjAgNTA5LjggMTQ3LjZjMS4yLS42IDIuMi0yLjIgMi4yLTMuNnoiXX0sS1Z0PW5tZSxaVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFodC1zaWduIixpY29uOlszMjAsNTEyLFtdLCJlMGFjIiwiTTEzNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQwLTc0LjQgMEMxNi44IDY0IDAgODAuOCAwIDEwMS42TDAgNDA2LjNjMCAyMyAxOC43IDQxLjcgNDEuNyA0MS43bDcwLjMgMCAwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MCA0OCAwYzYxLjkgMCAxMTItNTAuMSAxMTItMTEyIDAtNDAuMS0yMS4xLTc1LjMtNTIuNy05NS4xIDEzLjEtMTguMyAyMC43LTQwLjcgMjAuNy02NC45IDAtNjEuOS01MC4xLTExMi0xMTItMTEybC0xNiAwIDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTExMiAxMjhsMCA5Ni00OCAwIDAtOTYgNDggMHptNDggOTZsMC05NiAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4bC0xNiAwem0tNDggNjRsMCA5Ni00OCAwIDAtOTYgNDggMHptNDggOTZsMC05NiA0OCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4bC00OCAweiJdfSxsbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtYXJyb3ctdXAiLGljb246WzUxMiw1MTIsWyJ0ZW1wZXJhdHVyZS11cCJdLCJlMDQwIiwiTTY0LjUgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDE2NC43YzI5LjUgMjYuNCA0OCA2NC43IDQ4IDEwNy4zIDAgNzkuNS02NC41IDE0NC0xNDQgMTQ0cy0xNDQtNjQuNS0xNDQtMTQ0YzAtNDIuNiAxOC41LTgxIDQ4LTEwNy4zTDY0LjUgOTZ6bTk2IDMzNmMzNS4zIDAgNjQtMjguNyA2NC02NCAwLTI2LjktMTYuNS00OS45LTQwLTU5LjNsMC0yMTIuN2MwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIxMi43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjR6TTQzOS4xIDkuNGw2NCA2NGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtOS40LTkuNCAwIDE3OC43YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTc4LjctOS40IDkuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNjQtNjRjNi02IDE0LjEtOS40IDIyLjYtOS40czE2LjYgMy40IDIyLjYgOS40eiJdfSxYVnQ9bG1lLFFWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3ZWItYXdlc29tZSIsaWNvbjpbNjQwLDUxMixbXSwiZTY4MiIsIk0zNzIuMiA1MmMwIDIwLjktMTIuNCAzOS0zMC4yIDQ3LjJMNDQ4IDE5MiA1NTIuNCAxNzEuMWMtNS4zLTcuNy04LjQtMTcuMS04LjQtMjcuMSAwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4YzAgMjYtMjAuNiA0Ny4xLTQ2LjQgNDhMNDgxIDQ0Mi4zYy0xMC4zIDIzLTMzLjIgMzcuNy01OC40IDM3LjdsLTIwNS4yIDBjLTI1LjIgMC00OC0xNC44LTU4LjQtMzcuN0w0Ni40IDE5MkMyMC42IDE5MS4xIDAgMTcwIDAgMTQ0IDAgMTE3LjUgMjEuNSA5NiA0OCA5NnM0OCAyMS41IDQ4IDQ4YzAgMTAuMS0zLjEgMTkuNC04LjQgMjcuMUwxOTIgMTkyIDI5OC4xIDk5LjFjLTE3LjctOC4zLTMwLTI2LjMtMzAtNDcuMSAwLTI4LjcgMjMuMy01MiA1Mi01MnM1MiAyMy4zIDUyIDUyeiJdfSxKVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibm9uLWJpbmFyeSIsaWNvbjpbMzg0LDUxMixbXSwiZTgwNyIsIk0xOTIgNTQ0Yy05Ny4yIDAtMTc2LTc4LjgtMTc2LTE3NiAwLTg2LjMgNjIuMS0xNTggMTQ0LTE3M2wwLTQ3LjItNDkuNyAyNC44LTMgMS4zYy0xNS4yIDUuNy0zMi41LS44LTM5LjktMTUuNy03LjQtMTQuOC0yLjItMzIuNiAxMS41LTQxLjNsMi44LTEuNiAzOC44LTE5LjQtMzguOC0xOS40Yy0xNS44LTcuOS0yMi4yLTI3LjEtMTQuMy00Mi45IDcuNC0xNC44IDI0LjgtMjEuNCA0MC0xNS42bDMgMS4zIDQ5LjcgMjQuOCAwLTQ0LjJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDQ0LjIgNDkuNy0yNC44IDMtMS4zYzE1LjItNS44IDMyLjUgLjggMzkuOSAxNS42czIuMiAzMi43LTExLjUgNDEuM2wtMi44IDEuNi0zOC43IDE5LjQgMzguNyAxOS4zYzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjktNy40IDE0LjgtMjQuNyAyMS40LTM5LjkgMTUuNmwtMy0xLjMtNDkuNy0yNC44IDAgNDcuMmM4MS45IDE1LjEgMTQ0IDg2LjggMTQ0IDE3MyAwIDk3LjItNzguOCAxNzYtMTc2IDE3NnptMC02NGExMTIgMTEyIDAgMSAwIDAtMjI0IDExMiAxMTIgMCAxIDAgMCAyMjR6Il19LGVqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJuIixpY29uOlszODQsNTEyLFsxMTBdLCI0ZSIsIk0yMS4xIDMzLjljMTIuNy00LjYgMjYuOS0uNyAzNS41IDkuNkwzMjAgMzU5LjYgMzIwIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzODRjMCAxMy41LTguNCAyNS41LTIxLjEgMzAuMXMtMjYuOSAuNy0zNS41LTkuNkw2NCAxNTIuNCA2NCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0NjUuNyAwIDQ0OEwwIDY0QzAgNTAuNSA4LjQgMzguNSAyMS4xIDMzLjl6Il19LGNtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtdXAtZG93bi1sZWZ0LXJpZ2h0IixpY29uOls1MTIsNTEyLFsiYXJyb3dzIl0sImYwNDciLCJNMjc4LjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOS40LTkuNCAwIDExNC43LTExNC43IDAgOS40LTkuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTkuNC05LjQgMTE0LjcgMCAwIDExNC43LTkuNC05LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC05LjQgOS40IDAtMTE0LjcgMTE0LjcgMC05LjQgOS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOS40IDkuNC0xMTQuNyAwIDAtMTE0LjcgOS40IDkuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC02NC02NHoiXX0sdGp0PWNtZSxqYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZSIsaWNvbjpbNTEyLDUxMixbMTI3OTY4LDYzNDk4LDYzNTAwLCJob21lIiwiaG9tZS1hbHQiLCJob21lLWxnLWFsdCJdLCJmMDE1IiwiTTI3Ny44IDguNmMtMTIuMy0xMS40LTMxLjMtMTEuNC00My41IDBsLTIyNCAyMDhjLTkuNiA5LTEyLjggMjIuOS04IDM1LjFTMTguOCAyNzIgMzIgMjcybDE2IDAgMCAxNzZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjg4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNzYgMTYgMGMxMy4yIDAgMjUtOC4xIDI5LjgtMjAuM3MxLjYtMjYuMi04LTM1LjFsLTIyNC0yMDh6TTI0MCAzMjBsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2LTEyOCAwIDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDh6Il19LGFqdD1qYixyanQ9amIsc2p0PWpiLGlqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcGlubmVyIixpY29uOls1MTIsNTEyLFtdLCJmMTEwIiwiTTIwOCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem0wIDQxNmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek00OCAyMDhhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em0zNjggNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNNzUgMzY5LjFBNDggNDggMCAxIDEgMTQyLjkgNDM3IDQ4IDQ4IDAgMSAxIDc1IDM2OS4xek03NSA3NUE0OCA0OCAwIDEgMSAxNDIuOSAxNDIuOSA0OCA0OCAwIDEgMSA3NSA3NXpNNDM3IDM2OS4xQTQ4IDQ4IDAgMSAxIDM2OS4xIDQzNyA0OCA0OCAwIDEgMSA0MzcgMzY5LjF6Il19LGRtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnYXZlbCIsaWNvbjpbNTc2LDUxMixbImxlZ2FsIl0sImYwZTMiLCJNMTY5LjYgMTUzLjRsLTE4LjctMTguN2MtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNMMjY1LjYtMjUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMEwzMjkuNi02LjZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNMMjE0LjkgMTUzLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwek0yNzYgMjExLjdsLTMxLjQtMzEuNCAxMTItMTEyIDExOS40IDExOS40LTExMiAxMTItMzEuNC0zMS40LTIzMiAyMzJjLTE1LjYgMTUuNi00MC45IDE1LjYtNTYuNiAwcy0xNS42LTQwLjkgMC01Ni42bDIzMi0yMzJ6TTM5MC45IDM3NC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM0w1MDUuNiAyMTQuNmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxOC43IDE4LjdjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNMNDU0LjkgMzkzLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0xOC43LTE4Ljd6Il19LG9qdD1kbWUsdW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRpY2tldC1zaW1wbGUiLGljb246WzU3Niw1MTIsWyJ0aWNrZXQtYWx0Il0sImYzZmYiLCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NGMwIDguOC03LjQgMTUuNy0xNS43IDE4LjYtMTguOCA2LjUtMzIuMyAyNC40LTMyLjMgNDUuNHMxMy41IDM4LjkgMzIuMyA0NS40YzguMyAyLjkgMTUuNyA5LjggMTUuNyAxOC42bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0QzAgMzExLjIgNy40IDMwNC4zIDE1LjcgMzAxLjQgMzQuNSAyOTQuOSA0OCAyNzcgNDggMjU2cy0xMy41LTM4LjktMzIuMy00NS40QzcuNCAyMDcuNyAwIDIwMC44IDAgMTkybDAtNjR6Il19LG5qdD11bWUsbGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvdmUiLGljb246WzUxMiw1MTIsWzEyODMzMF0sImY0YmEiLCJNNDk2IDY0YzEzLjIgMCAyMC43IDE1LjEgMTIuOCAyNS42TDQ4MCAxMjggNDgwIDMwNGMwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NGwtMTEyIDAtNDYuMyA0Ni4zYy0xMC40IDEwLjQtMjYuNSAxMi40LTM5LjEgNC44TDQxLjUgNDQwLjljLTE3LTEwLjItMTUtMzUuNSAzLjQtNDIuOUwxNjAgMzUyQzIzLjggMzExLjEgNy41IDE2OS44IDIyIDk1LjcgMjUuNiA3Ny45IDQ1LjMgNzEuNCA2MS4zIDgwLjJMMzIwIDIyNCAzMjAgMTQ0YzAtNDQuMiAzNS44LTgwIDgwLTgwbDk2IDB6bS05NiA1NmEyNCAyNCAwIDEgMCAwIDQ4IDI0IDI0IDAgMSAwIDAtNDh6TTE4Mi41LTkuNmMxMi40LTEzLjcgMzMuMy04LjkgNDIuNSA3LjFsNTYuNCA5OC4zYy01LjggMTQuNC05LjIgMzAuMS05LjQgNDYuNUwxMzguMSA2OGMxMC4xLTMxLjYgMjctNTguNCA0NC40LTc3LjZ6Il19LGNqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YXJwLWRyb3BsZXQiLGljb246WzUxMiw1MTIsW10sImU1N2MiLCJNMjU2IDE2MGMzNS4zIDAgNjQtMjYuOSA2NC02MCAwLTI0LTMzLjctNzAuMS01Mi4yLTkzLjUtNi4xLTcuNy0xNy41LTcuNy0yMy42IDAtMTguNSAyMy40LTUyLjIgNjkuNS01Mi4yIDkzLjUgMCAzMy4xIDI4LjcgNjAgNjQgNjB6TTM2OCA5NmMwIDYxLjktNTAuMSAxMTItMTEyIDExMlMxNDQgMTU3LjkgMTQ0IDk2YzAtMTEuMSAxLjYtMjEuOSA0LjYtMzJMNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjc3LjUgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN0w0OTMuMyAzMjIuN2MxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zTDUxMiAxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTg0LjYgMGMzIDEwLjEgNC42IDIwLjkgNC42IDMyem04NS41IDE3NkwzMzYgMzg5LjUgMzM2IDI5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw5My41IDB6TTk2IDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LGRqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmVlLWNpdHkiLGljb246WzY0MCw1MTIsW10sImU1ODciLCJNMjg4IDQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OCA0OCAwIDAtNzJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDcyIDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzMjBjMCAyNi41LTIxLjUgNDgtNDggNDhsLTI1NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTQxNnptNjQgNjRsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMzUyIDMwNGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek01MjggMTkyYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTUxMiAzMDRsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNOTYgNDgwbDAtMTYwLTE2IDBjLTQ0LjIgMC04MC0zNS44LTgwLTgwIDAtMjYuNyAxMy4xLTUwLjMgMzMuMi02NC45LS44LTQuOS0xLjItMTAtMS4yLTE1LjEgMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDk2YzAgMzUuMy0yOC43IDY0LTY0IDY0bDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyeiJdfSxwbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHVybi11cCIsaWNvbjpbMzg0LDUxMixbMTA1NDgsImxldmVsLXVwLWFsdCJdLCJmM2JmIiwiTTE2OS40IDkuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxMjggMTI4YzkuMiA5LjIgMTEuOSAyMi45IDYuOSAzNC45UzMzMi45IDE5MiAzMjAgMTkybC02NCAwIDAgMTYwYzAgODguNC03MS42IDE2MC0xNjAgMTYwbC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNjAtNjQgMGMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOHMtMi4yLTI1LjcgNi45LTM0LjlsMTI4LTEyOHoiXX0sdWp0PXBtZSxVYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS1xdWFydGVyIixpY29uOlszMjAsNTEyLFsidGVtcGVyYXR1cmUtMSIsInRoZXJtb21ldGVyLTEiLCJ0aGVybW9tZXRlci1xdWFydGVyIl0sImYyY2EiLCJNMTYwIDBDMTA3IDAgNjQgNDMgNjQgOTZsMCAxNjQuN0MzNC41IDI4NyAxNiAzMjUuNCAxNiAzNjggMTYgNDQ3LjUgODAuNSA1MTIgMTYwIDUxMnMxNDQtNjQuNSAxNDQtMTQ0YzAtNDIuNi0xOC41LTgxLTQ4LTEwNy4zTDI1NiA5NmMwLTUzLTQzLTk2LTk2LTk2em02NCAzNjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRjMC0yNi45IDE2LjUtNDkuOSA0MC01OS4zbDAtMjguN2MwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMjguN2MyMy41IDkuNSA0MCAzMi41IDQwIDU5LjN6Il19LHBqdD1VYixmanQ9VWIsaGp0PVViLGZtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbGlkZXJzIixpY29uOls1MTIsNTEyLFsic2xpZGVycy1oIl0sImYxZGUiLCJNMzIgNjRDMTQuMyA2NCAwIDc4LjMgMCA5NnMxNC4zIDMyIDMyIDMybDg2LjcgMGMxMi4zIDI4LjMgNDAuNSA0OCA3My4zIDQ4czYxLTE5LjcgNzMuMy00OEw0ODAgMTI4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDI2NS4zIDY0QzI1MyAzNS43IDIyNC44IDE2IDE5MiAxNnMtNjEgMTkuNy03My4zIDQ4TDMyIDY0em0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyNDYuNyAwYzEyLjMgMjguMyA0MC41IDQ4IDczLjMgNDhzNjEtMTkuNyA3My4zLTQ4bDU0LjcgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTQuNyAwYy0xMi4zLTI4LjMtNDAuNS00OC03My4zLTQ4cy02MSAxOS43LTczLjMgNDhMMzIgMjI0em0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1NC43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OHM2MS0xOS43IDczLjMtNDhMNDgwIDQ0OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjQ2LjcgMGMtMTIuMy0yOC4zLTQwLjUtNDgtNzMuMy00OHMtNjEgMTkuNy03My4zIDQ4TDMyIDM4NHoiXX0sbWp0PWZtZSxnanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9zcXVlIixpY29uOls1NzYsNTEyLFsxMjgzMzJdLCJmNjc4IiwiTTE3NC44IDIyNGwyMjYuNCAwYzQzLjUgMCA3OC44LTM1LjMgNzguOC03OC44IDAtMjUuNS0xMi4zLTQ5LjQtMzMuMS02NC4yTDI5Ny4zLTI1LjRjLTUuNi0zLjktMTMtMy45LTE4LjUgMEwxMjkuMSA4MUMxMDguMyA5NS44IDk2IDExOS43IDk2IDE0NS4yIDk2IDE4OC43IDEzMS4zIDIyNCAxNzQuOCAyMjR6TTUxMiA1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0OC00NDggMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgMjA2LjMgMCAyMjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDB6TTI0MCAzODRjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwLTk2IDAgMC04MHoiXX0sYmp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImgiLGljb246WzM4NCw1MTIsWzEwNF0sIjQ4IiwiTTMyMCAyODhsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE2MC0yNTYgMCAwLTE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwIDI1NiAweiJdfSx2anQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW5mbyIsaWNvbjpbMTkyLDUxMixbXSwiZjEyOSIsIk00OCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek0wIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjU2IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC0yMjQtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LGhtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24td2Fsa2luZyIsaWNvbjpbMzg0LDUxMixbMTI4Njk0LCJ3YWxraW5nIl0sImY1NTQiLCJNMTkyIDgwYTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyek0xMDUuNCAyMjcuOWwyMi42LTIyLjYgMCA2OS4zYzAgMjggMTIuMiA1NC43IDMzLjUgNzIuOWw3MS40IDYxLjJjNS45IDUuMSA5LjggMTIuMSAxMC45IDE5LjhsMTIuNiA4OC4xYzIuNSAxNy41IDE4LjcgMjkuNyAzNi4yIDI3LjJzMjkuNy0xOC43IDI3LjItMzYuMmwtMTIuNi04OC4xYy0zLjMtMjMuMS0xNC45LTQ0LjEtMzIuNi01OS4zbC0zNC41LTI5LjYgMC0xMTUuMiAzLjggNC43YzE4LjIgMjIuOCA0NS44IDM2IDc1IDM2bDMzLjIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzMuMiAwYy05LjcgMC0xOC45LTQuNC0yNS0xMmwtMTcuOS0yMi40Yy0yMy0yOC44LTU3LjktNDUuNi05NC44LTQ1LjYtMzIuMiAwLTYzLjEgMTIuOC04NS44IDM1LjZMNjAuMSAxODIuNkM0Mi4xIDIwMC42IDMyIDIyNSAzMiAyNTAuNUwzMiAyODhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM3LjVjMC04LjUgMy40LTE2LjYgOS40LTIyLjZ6bTEyLjQgMTc5LjRjLTEuNSA1LjItNC4zIDEwLTguMSAxMy44TDQxLjQgNDg5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjguMy02OC4zYzExLjUtMTEuNSAxOS45LTI1LjggMjQuNC00MS41bDIuMi03LjYtNDYtMzkuNGMtMi41LTIuMi01LTQuNC03LjQtNi44bC0xMC40IDM2LjJ6Il19LHhqdD1obWUsbW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXR1cm4tZG93biIsaWNvbjpbMzg0LDUxMixbImxldmVsLWRvd24iXSwiZjE0OSIsIk0zMiA2NEMxNC4zIDY0IDAgNDkuNyAwIDMyUzE0LjMgMCAzMiAwbDk2IDBjNTMgMCA5NiA0MyA5NiA5NmwwIDMwNi43IDczLjQtNzMuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC0xMjggMTI4Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTI4LTEyOGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwxNjAgNDAyLjcgMTYwIDk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDY0eiJdfSx5anQ9bW1lLHdqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2FkIixpY29uOls1MTIsNTEyLFsxMjg3MzldLCJmMDE4IiwiTTIyMy45IDMybC03Ni4yIDBjLTI5LjQgMC01NS4xIDIwLjEtNjIuMSA0OC42TDEuNCA0MjAuNUMtNi4xIDQ1MC43IDE2LjggNDgwIDQ4IDQ4MGwxNzUuOSAwIDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDY0IDE3Ni4xIDBjMzEuMiAwIDU0LjEtMjkuMyA0Ni42LTU5LjVMNDI2LjUgODAuNkM0MTkuNCA1Mi4xIDM5My44IDMyIDM2NC4zIDMybC03Ni40IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0em02NCAxOTJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6Il19LE1qdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcGlyYWwiLGljb246WzUxMiw1MTIsW10sImU4MGEiLCJNMTE1LjUgNy40YzEzLjYtMTEuMyAzMy44LTkuNSA0NS4xIDQuMXM5LjUgMzMuOC00LjEgNDUuMUMxMDAuMiAxMDMuNSA2NCAxNzUuMiA2NCAyNTYgNjQgMzYyIDE1MCA0NDggMjU2IDQ0OHMxOTItODYgMTkyLTE5MmMwLTc1LjEtNjAuOS0xMzYtMTM2LTEzNlMxNzYgMTgwLjkgMTc2IDI1NmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtNDguNiAzOS40LTg4IDg4LTg4czg4IDM5LjQgODggODhjMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRTMTEyIDMzNS41IDExMiAyNTZjMC0xMTAuNSA4OS41LTIwMCAyMDAtMjAwczIwMCA4OS41IDIwMCAyMDBjMCAxNDEuNC0xMTQuNiAyNTYtMjU2IDI1NlMwIDM5Ny40IDAgMjU2QzAgMTU1LjggNDUgNjYuMSAxMTUuNSA3LjR6Il19LGdtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWZyb3duIixpY29uOls1MTIsNTEyLFs5Nzg1LCJmcm93biJdLCJmMTE5IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem05MC42LTExMy45Yy0yMC40LTI4LTUzLjQtNDYuMS05MC42LTQ2LjFzLTcwLjIgMTguMS05MC42IDQ2LjFjLTcuOCAxMC43LTIyLjggMTMuMS0zMy41IDUuM3MtMTMuMS0yMi44LTUuMy0zMy41QzE1NS43IDMzMCAyMDIuOCAzMDQgMjU2IDMwNHMxMDAuMyAyNiAxMjkuNCA2NS45YzcuOCAxMC43IDUuNCAyNS43LTUuMyAzMy41cy0yNS43IDUuNC0zMy41LTUuM3pNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxranQ9Z21lLGJtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aW5lLWdsYXNzLWVtcHR5IixpY29uOlszMjAsNTEyLFsid2luZS1nbGFzcy1hbHQiXSwiZjVjZSIsIk02NCAwQzQ4LjcgMCAzNS42IDEwLjggMzIuNiAyNS43TDMuMiAxNzNDMS4xIDE4My41IDAgMTk0LjIgMCAyMDVsMCAzYzAgNzcuNCA1NSAxNDIgMTI4IDE1Ni44bDAgMTE1LjItNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTExNS4yQzI2NSAzNTAgMzIwIDI4NS40IDMyMCAyMDhsMC0zYzAtMTAuNy0xLjEtMjEuNC0zLjItMzJMMjg3LjQgMjUuN0MyODQuNCAxMC44IDI3MS4zIDAgMjU2IDBMNjQgMHptMS45IDE4NS42TDkwLjIgNjQgMjI5LjggNjQgMjU0LjEgMTg1LjZjMS4zIDYuNCAxLjkgMTIuOSAxLjkgMTkuNGwwIDNjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsMC0zYzAtNi41IC42LTEzIDEuOS0xOS40eiJdfSxTanQ9Ym1lLHpqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbGFwcGVyYm9hcmQiLGljb246WzUxMiw1MTIsW10sImUxMzEiLCJNNDQ4IDY0YzIgMCAzLjkgLjEgNS44IC4zbC05NS43IDk1LjcgNjcuOSAwIDcyLTcyYzguOCAxMSAxNCAyNC45IDE0IDQwbDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsNzAuMSAwLTk2IDk2IDY3LjkgMCA5NS05NSAxLTEgOTIuMSAwLTk2IDk2IDY3LjkgMCA5NS05NSAxLTEgODYuMSAweiJdfSx2bWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9yd2FyZC1zdGVwIixpY29uOlszODQsNTEyLFsic3RlcC1mb3J3YXJkIl0sImYwNTEiLCJNMjEgMzYuOGMxMi45LTcgMjguNy02LjMgNDEgMS44TDMyMCAyMDguMSAzMjAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDM4NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE0NC4xLTI1OCAxNjkuNmMtMTIuMyA4LjEtMjggOC44LTQxIDEuOFMwIDQ1NC43IDAgNDQwTDAgNzJDMCA1Ny4zIDguMSA0My44IDIxIDM2Ljh6Il19LENqdD12bWUseG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS11cC1yaWdodCIsaWNvbjpbNDQ4LDUxMixbODU5OSwiZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0Il0sImYzNjAiLCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNMTY4IDE2MGMtOS43IDAtMTguNSA1LjgtMjIuMiAxNC44cy0xLjcgMTkuMyA1LjIgMjYuMmwzNSAzNS02NyA2N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsMjQgMjRjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNjctNjcgMzUgMzVjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMlMzMjAgMzIxLjcgMzIwIDMxMmwwLTEyOGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMTI4IDB6Il19LF9qdD14bWUseW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stam91cm5hbC13aGlsbHMiLGljb246WzQ0OCw1MTIsWyJqb3VybmFsLXdoaWxscyJdLCJmNjZhIiwiTTk2IDUxMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTY2LjdjMTguNi02LjYgMzItMjQuNCAzMi00NS4zbDAtMjg4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDk2IDBDNDMgMCAwIDQzIDAgOTZMMCA0MTZjMCA1MyA0MyA5NiA5NiA5NnpNNjQgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI1NiAwIDAgNjQtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0yNzQuMSA5OS4yYzIuNi0yLjYgNi43LTMuMSA5LjktMS4xIDMyLjEgMjAgNTMuNCA1NS42IDUzLjQgOTYuMiAwIDYyLjYtNTAuNyAxMTMuMy0xMTMuMyAxMTMuM1MxMTAuNyAyNTYuOSAxMTAuNyAxOTQuM2MwLTQwLjYgMjEuNC03Ni4yIDUzLjQtOTYuMiAzLjEtMiA3LjItMS41IDkuOSAxLjFzMy4xIDYuNyAxLjIgOS44Yy01LjIgOC42LTguMiAxOC43LTguMiAyOS41IDAgMTUuMSA1LjkgMjguOCAxNS41IDM5LjEgMi41IDIuNyAyLjkgNi43IC45IDkuNy00LjcgNy40LTcuNCAxNi4xLTcuNCAyNS41IDAgMjEuNiAxNC4zIDM5LjkgMzQgNDUuOWwxLTI0LjhjLTcuMS00LjQtMTEuOC0xMi4yLTExLjgtMjEuMSAwLTkuNiA1LjUtMTggMTMuNS0yMi4xbDMuMy04MS44Yy4yLTQuMyAzLjctNy43IDgtNy43czcuOCAzLjQgOCA3LjdsMy4zIDgxLjhjOCA0LjEgMTMuNSAxMi40IDEzLjUgMjIuMSAwIDguOS00LjcgMTYuNy0xMS44IDIxLjFsMSAyNC44YzE5LjYtNiAzMy45LTI0LjEgMzQtNDUuNmwwLS42Yy0uMS05LjMtMi43LTE3LjktNy40LTI1LjItMS45LTMuMS0xLjYtNy4xIC45LTkuNyA5LjYtMTAuMiAxNS41LTIzLjkgMTUuNS0zOS4xIDAtMTAuOC0zLTIwLjktOC4yLTI5LjUtMS45LTMuMi0xLjQtNy4yIDEuMi05Ljh6Il19LFRqdD15bWUsd21lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYW1wYWduZS1nbGFzc2VzIixpY29uOls2NDAsNTEyLFsxMjkzNDYsImdsYXNzLWNoZWVycyJdLCJmNzlmIiwiTTE1NS42IDE3LjNDMTYzIDMgMTc5LjktMy42IDE5NSAxLjlsMTI1IDQ1LjYgMTI1LTQ1LjZjMTUuMS01LjUgMzIgMS4xIDM5LjQgMTUuNGw3OC44IDE1Mi45YzI4LjggNTUuOCAxMC4zIDEyMi4zLTM4LjUgMTU2LjZsMzEuMyA4Ni4yIDQxLTE1YzE2LjYtNiAzNSAyLjUgNDEgMTkuMXMtMi41IDM1LTE5LjEgNDFjLTQ3LjQgMTcuMy05NC44IDM0LjUtMTQyLjIgNTEuOC0xNi42IDYuMS0zNS0yLjUtNDEtMTkuMXMyLjUtMzUgMTkuMS00MWw0MS0xNS0zMS4zLTg2LjJjLTU5LjQgNS4yLTExNi4yLTMzLjktMTMwLTk1LjJsLTE0LjYtNjQuNy0xNC42IDY0LjdjLTEzLjggNjEuMy03MC42IDEwMC40LTEzMCA5NS4ybC0zMS4zIDg2LjIgNDEgMTVjMTYuNiA2LjEgMjUuMiAyNC40IDE5LjEgNDFzLTI0LjQgMjUuMi00MSAxOS4xYy00Ny40LTE3LjMtOTQuOC0zNC42LTE0Mi4yLTUxLjgtMTYuNi02LjEtMjUuMi0yNC40LTE5LjEtNDFTMjYuMyAzOTIgNDIuOSAzOThsNDEgMTUgMzEuMy04Ni4yQzY2LjUgMjkyLjUgNDguMSAyMjYgNzYuOSAxNzAuMkwxNTUuNiAxNy4zem00NCA1NC40bC0yNy4yIDUyLjggODkuMiAzMi41IDEzLjEtNTcuOS03NS4xLTI3LjR6bTI0MC45IDBsLTc1LjEgMjcuNCAxMy4xIDU3LjkgODkuMi0zMi41LTI3LjItNTIuOHoiXX0sTGp0PXdtZSwkanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHVtcHN0ZXIiLGljb246WzU3Niw1MTIsW10sImY3OTMiLCJNMTMyLjMgNjRMMTA2LjcgMTkyIDI0IDE5MmMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00LjFjMC0yLjYgLjQtNS4xIDEuMi03LjZMMjYuNSA4MC40QzI5LjggNzAuNiAzOSA2NCA0OS4zIDY0bDgzIDB6bTIzLjQgMTI4bDI1LjYtMTI4IDgyLjcgMCAwIDEyOC0xMDguMyAwek0zMTIgNjRsODIuNyAwIDI1LjYgMTI4LTEwOC4zIDAgMC0xMjh6bTEzMS43IDBsODMgMGMxMC4zIDAgMTkuNSA2LjYgMjIuOCAxNi40bDI1LjMgNzUuOWMuOCAyLjQgMS4yIDUgMS4yIDcuNmwwIDQuMWMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtODIuNyAwLTI1LjYtMTI4ek0yNS43IDI0MGw1MjQuNyAwYy0uNCAyLjEtMTMuMyA3My40LTM4LjkgMjEzLjctMyAxNi4zLTE3LjkgMjcuNi0zNC40IDI2LjFTNDQ4IDQ2NC42IDQ0OCA0NDhsMC0xNi0zMjAgMCAwIDE2YzAgMTYuNi0xMi42IDMwLjQtMjkuMSAzMS45UzY3LjUgNDcwIDY0LjUgNDUzLjdDMzkgMzEzLjMgMjYgMjQyLjEgMjUuNyAyNDB6Il19LERqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1jaXJjbGUteG1hcmsiLGljb246WzU3Niw1MTIsW10sImU1MDEiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNNDMyIDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTU5LjMgMTA3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMGwtMzYuNyAzNi43LTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmwzNi43IDM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzYuNy0zNi43IDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTM2LjctMzYuNyAzNi43LTM2Ljd6Il19LEFqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21wdXRlciIsaWNvbjpbNTc2LDUxMixbXSwiZTRlNSIsIk0zNDguOCAzMkMzNDAuNyA0Ni4xIDMzNiA2Mi41IDMzNiA4MGwwIDE2LTI3MiAwIDAgMjI0IDI3MiAwIDAgNjQtMjcyIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMjg0LjggMHpNMzM2IDQzMmMwIDE3LjUgNC43IDMzLjkgMTIuOCA0OEwxMjAgNDgwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDIxNiAwek00MzIgMzJsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0zNTJjMC0yNi41IDIxLjUtNDggNDgtNDh6bTI0IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMHptNTYgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LE1tZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YW5kLW1hZ2ljIixpY29uOls1MTIsNTEyLFsibWFnaWMiXSwiZjBkMCIsIk0zOTguNSAxMi4ybC04OC4yIDg4LjIgMTAxLjMgMTAxLjMgODguMi04OC4yQzUwNy42IDEwNS42IDUxMiA5NSA1MTIgODRzLTQuNC0yMS42LTEyLjItMjkuNUw0NTcuNSAxMi4yQzQ0OS42IDQuNCA0MzkgMCA0MjggMHMtMjEuNiA0LjQtMjkuNSAxMi4yek0yNzYuNCAxMzQuM0wxMi4yIDM5OC41QzQuNCA0MDYuNCAwIDQxNyAwIDQyOHM0LjQgMjEuNiAxMi4yIDI5LjVsNDIuMyA0Mi4zQzYyLjQgNTA3LjYgNzMgNTEyIDg0IDUxMnMyMS42LTQuNCAyOS41LTEyLjJMMzc3LjcgMjM1LjYgMjc2LjQgMTM0LjN6Il19LFBqdD1NbWUsRWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyYWluIixpY29uOls1MTIsNTEyLFsxMjk1MDRdLCJmNWRjIiwiTTEyMCA1NmMwLTMwLjkgMjUuMS01NiA1Ni01NmwyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0yOS44IDAtNTQuOS0yMC40LTYyLTQ4LS43IDAtMS4zIDAtMiAwLTQ0LjIgMC04MC0zNS44LTgwLTgwIDAtMTggNi0zNC42IDE2LTQ4LTE5LjQtMTQuNi0zMi0zNy44LTMyLTY0IDAtMzAuOSAxNy42LTU3LjggNDMuMi03MS4xLTcuMS0xMi0xMS4yLTI2LTExLjItNDAuOSAwLTQ0LjIgMzUuOC04MCA4MC04MGwwLTI0em0yNzIgMGwwIDI0YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgMTUtNC4xIDI5LTExLjIgNDAuOSAyNS43IDEzLjMgNDMuMiA0MC4xIDQzLjIgNzEuMSAwIDI2LjItMTIuNiA0OS40LTMyIDY0IDEwIDEzLjQgMTYgMzAgMTYgNDggMCA0NC4yLTM1LjggODAtODAgODAtLjcgMC0xLjMgMC0yIDAtNy4xIDI3LjYtMzIuMiA0OC02MiA0OGwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC00NDhjMC0xNy43IDE0LjMtMzIgMzItMzJsMjQgMGMzMC45IDAgNTYgMjUuMSA1NiA1NnoiXX0sSWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyaWVmY2FzZS1tZWRpY2FsIixpY29uOls1MTIsNTEyLFtdLCJmNDY5IiwiTTIwMCA0OGwxMTIgMGM0LjQgMCA4IDMuNiA4IDhsMCA0MC0xMjggMCAwLTQwYzAtNC40IDMuNi04IDgtOHptLTU2IDhsMCA0MC04MCAwQzI4LjcgOTYgMCAxMjQuNyAwIDE2MEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtODAgMCAwLTQwYzAtMzAuOS0yNS4xLTU2LTU2LTU2TDIwMCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NnptODAgMTYwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQwIDQwIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00MCAwIDAgNDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00MC00MCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDAgMCAwLTQweiJdfSxOanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtbWVkaWNhbC1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1MTIiLCJNMzA5LjggOC42Yy0xMi4zLTExLjQtMzEuMy0xMS40LTQzLjUgMGwtMjI0IDIwOGMtOS42IDktMTIuOCAyMi45LTggMzUuMVM1MC44IDI3MiA2NCAyNzJsMTYgMCAwIDE3NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTYgMGMtMjEuMi0yOS41LTM0LjMtNjUuMy0zNS45LTEwNEwyNzIgNDA4Yy04LjggMC0xNi03LjItMTYtMTZsMC00MC00MCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDAgMCAwLTQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQwIDIwIDBjMzQuOS00OC41IDkxLjctODAgMTU2LTgwIDEwLjcgMCAyMS4xIC45IDMxLjMgMi41TDMwOS44IDguNnpNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTAwYTIwIDIwIDAgMSAxIDAgNDAgMjAgMjAgMCAxIDEgMC00MHptMC0xNDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6Il19LFJqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlLWNvbW1pdCIsaWNvbjpbNTc2LDUxMixbXSwiZjM4NiIsIk0yODggMzM2YTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0xNTYuOC00OEM0MzAgMzYxIDM2NS40IDQxNiAyODggNDE2UzE0NiAzNjEgMTMxLjIgMjg4TDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5OS4yIDBDMTQ2IDE1MSAyMTAuNiA5NiAyODggOTZzMTQyIDU1IDE1Ni44IDEyOGw5OS4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk5LjIgMHoiXX0sT2p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1icmVhc3RmZWVkaW5nIixpY29uOls0NDgsNTEyLFtdLCJlNTNhIiwiTTIyNCAwYTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwek00MzYuOCAzODIuOEwzNzMuNSA0NjJjLTE2LjYgMjAuNy00Ni44IDI0LjEtNjcuNSA3LjUtMTcuNi0xNC4xLTIyLjctMzguMS0xMy41LTU3LjdsLS43LS4xYy0zOC45LTUuNi03NC4zLTI1LjEtOTkuNy01NC44bDAtMzYuOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4YzAgLjggMCAxLjYgLjEgMi40bDEwMS40IDUwLjdjMjMuNyAxMS45IDMzLjMgNDAuNyAyMS41IDY0LjRzLTQwLjcgMzMuMy02NC40IDIxLjVMMjcuMiA0MjcuM2MtMS4xLS41LTIuMi0xLjEtMy4zLTEuNy00LjktMi44LTkuMi02LjQtMTIuNi0xMC42LTQuNi01LjQtNy44LTExLjctOS42LTE4LjQtMy4zLTEyLTEuOS0yNS4yIDQuOC0zNi42IC42LTEuMSAxLjMtMi4yIDItMy4yTDc1LjYgMjU2LjFjMjYuNy00MC4xIDcxLjctNjQuMSAxMTkuOC02NC4xbDc1LjIgMGM0Ni41IDAgOTAuMSAyMi41IDExNy4yIDYwLjNsNTAuNyA3MC45YzIuMiAzIDQgNi4xIDUuNSA5LjQgMi45IDYuNyA0LjMgMTMuOCA0IDIwLjgtLjMgMTAuNi00LjIgMjEtMTEuMiAyOS40ek0zMjAgMzMyYTQ0IDQ0IDAgMSAwIC04OCAwIDQ0IDQ0IDAgMSAwIDg4IDB6Il19LEZqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tcmF5cyIsaWNvbjpbNTEyLDUxMixbXSwiZTU0ZCIsIk0zMTIuNSAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43bDQ2LjMgNjIuNGMxMC41IDE0LjIgMzAuNiAxNy4yIDQ0LjggNi42czE3LjItMzAuNiA2LjYtNDQuOGwtNzAuNS05NUMzMzguNSAxMzIgMjk4LjggMTEyIDI1Ni41IDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42bDQ2LjMtNjIuNCAwIDI3NS4zYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjc1LjN6TTcuNSA3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw4MCA4MGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDEuNSA3QzMyLjEtMi4zIDE2LjktMi4zIDcuNSA3em00NjQgMGwtODAgODBjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw4MC04MGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwek03LjUgNTA1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDgwLTgwYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTgwIDgwYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXptNDY0IDBjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04MC04MGMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw4MCA4MHoiXX0sQmp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hbmF0LXNpZ24iLGljb246WzM4NCw1MTIsW10sImUxZDUiLCJNMTkyIDMyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQxLjVDNzMuMyAxMDkuMyAwIDE5MC4xIDAgMjg4TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC02Mi41IDQ0LjgtMTE0LjUgMTA0LTEyNS44TDE2OCA0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI5My44YzU5LjIgMTEuMiAxMDQgNjMuMyAxMDQgMTI1LjhsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTk3LjktNzMuMy0xNzguNy0xNjgtMTkwLjVMMjE2IDU2YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxrbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic29ydCIsaWNvbjpbMzg0LDUxMixbInVuc29ydGVkIl0sImYwZGMiLCJNMi40IDIwNC4yYzUgMTIgMTYuNiAxOS44IDI5LjYgMTkuOGwzMjAgMGMxMi45IDAgMjQuNi03LjggMjkuNi0xOS44czIuMi0yNS43LTYuOS0zNC45bC0xNjAtMTYwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0Ljl6bTAgMTAzLjVjLTUgMTItMi4yIDI1LjcgNi45IDM0LjlsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxNjAtMTYwYzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzM2NC45IDI4OCAzNTIgMjg4TDMyIDI4OGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHoiXX0sSGp0PWttZSxTbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXJhZGlhdGlvbiIsaWNvbjpbNTEyLDUxMixbOTc2MiwicmFkaWF0aW9uLWFsdCJdLCJmN2JhIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTgwIDBsNjQuMyAwYzguNyAwIDE1LjctNy4xIDE3LjMtMTUuNiA0LjQtMjQuNCAxOC4xLTQ1LjUgMzcuMi01OS43IDcuNC01LjUgMTAuNi0xNS42IDYtMjMuNmwtMzIuNS01Ni4zYy00LjMtNy41LTEzLjktMTAuMy0yMS4yLTUuNS00OC4yIDMxLjUtODEuMyA4NC4yLTg2LjMgMTQ0LjgtLjcgOC44IDYuNSAxNiAxNS4zIDE2em0xMzcuOSA4OS44Yy04LjUtMy43LTE4LjgtMS40LTIzLjUgNi42bC0zMSA1My44Yy00LjMgNy41LTEuOSAxNy4yIDUuOCAyMS4xIDI2LjEgMTMuMiA1NS41IDIwLjcgODYuOCAyMC43czYwLjctNy41IDg2LjgtMjAuN2M3LjctMy45IDEwLjEtMTMuNiA1LjgtMjEuMWwtMzEtNTMuOGMtNC42LTgtMTUtMTAuMy0yMy41LTYuNi0xMS43IDUtMjQuNSA3LjgtMzguMSA3LjhzLTI2LjQtMi44LTM4LjEtNy44ek0zNTAuNCAyNDAuNGMxLjYgOC42IDguNSAxNS42IDE3LjMgMTUuNmw2NC4zIDBjOC44IDAgMTYuMS03LjIgMTUuMy0xNi01LTYwLjYtMzguMS0xMTMuMi04Ni4zLTE0NC44LTcuMy00LjgtMTYuOC0yLTIxLjIgNS41TDMwNy4zIDE1N2MtNC42IDgtMS40IDE4LjEgNiAyMy42IDE5LjEgMTQuMiAzMi43IDM1LjQgMzcuMiA1OS43ek0yNTYgMzA1LjdhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2eiJdfSxxanQ9U21lLFZqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYXB0b3AtY29kZSIsaWNvbjpbNjQwLDUxMixbXSwiZjVmYyIsIk02NCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI0MC02NCAwIDAtMjQwLTM4NCAwIDAgMjQwLTY0IDAgMC0yNDB6TTAgNDAzLjJDMCAzOTIuNiA4LjYgMzg0IDE5LjIgMzg0bDYwMS42IDBjMTAuNiAwIDE5LjIgOC42IDE5LjIgMTkuMiAwIDQyLjQtMzQuNCA3Ni44LTc2LjggNzYuOEw3Ni44IDQ4MEMzNC40IDQ4MCAwIDQ0NS42IDAgNDAzLjJ6TTI4MSAyMDlsLTMxIDMxIDMxIDMxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ4LTQ4Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw0OC00OGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjl6TTM5MyAxNzVsNDggNDhjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTQ4IDQ4Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDB6Il19LGpqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaW5rIixpY29uOls1MTIsNTEyLFtdLCJlMDZkIiwiTTI4OCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyIDE0LjMgMzIgMzIgMzIgMzItMTQuMyAzMi0zMmMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmwwIDE5Mi02NCAwIDAtNDBjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGM0LjQgMCA4IDMuNiA4IDhsMCA0MC04MCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgNjRjMCA1MyA0MyA5NiA5NiA5NmwyNTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTgwIDAgMC00MGMwLTQuNCAzLjYtOCA4LThsNTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNTYgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA0MC02NCAwIDAtMTkyeiJdfSxVanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtZnJvbS13YXRlci1wdW1wIixpY29uOls2NDAsNTEyLFtdLCJlNGI2IiwiTTE0NCAzMmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNzYtMTYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA3OS42YzE3LjYtMiAzNiAyLjUgNTEuMyAxNCAzLjQgMi42IDYuMSAxLjQgOS44LS4zbC44LS40YzUuNy0yLjYgMTIuOS02LjkgMjEuNy0xMy41IDI3LjUtMjAuNyA1OS45LTMxLjIgOTIuMy0zMS40IDMzLjEtLjIgNjYuMyAxMC4yIDk0LjQgMzEuNCAyMi4xIDE2LjYgMjkuMSAxNi42IDUxLjIgMCAyNy41LTIwLjcgNTkuOS0zMS4yIDkyLjQtMzEuNCAzMy4xLS4yIDY2LjMgMTAuMiA5NC40IDMxLjQgNi45IDUuMiAxMi44IDkgMTggMTEuNyAuNiAuMyAxLjIgLjYgMS44IDEgNC4yIDIuMyA4LjUgNC42IDEyLjYgMS41IDEwLjctOC4xIDIyLjktMTIuNyAzNS4zLTE0LjFsMC03OS41YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC01NiAwIDAtMTQyLjEgNDcgNDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQ5NyAzOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTg4IDg4Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNDctNDcgMCAxNDIuMS0xMzYgMCAwLTE3NmMwLTI2LjUtMjEuNS00OC00OC00OEwxNDQgMzJ6TTQ3NC42IDQ3Ni4xYzE5IDE0LjQgNDEuOSAyOC4yIDY3LjIgMzMuMyAyNi41IDUuNCA1NC4zIC44IDgwLjctMTkuMSAxMC42LTggMTIuNy0yMyA0LjctMzMuNnMtMjMtMTIuNy0zMy42LTQuN2MtMTQuOSAxMS4yLTI4LjYgMTMuMS00Mi4zIDEwLjMtMTQuOS0zLTMwLjktMTEuOS00Ny44LTI0LjYtMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM3MtMzAuNS04LjItNTQuNS0yNi4zYy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjEuNiAxNi4zLTQxLjMgMjUuOC01OC45IDI1LjctOS42LS4xLTE5LjktMy0zMS4yLTExLjUtMTAuNi04LTI1LjYtNS45LTMzLjYgNC43UzcgNDgyLjMgMTcuNiA0OTAuM2MxOS4xIDE0LjQgMzkuNCAyMSA1OS44IDIxLjEgMzMuOSAuMiA2NC4zLTE3LjQgODguMS0zNS4zIDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1LjljMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDB6Il19LHptZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtaWNyb3Bob25lLWxpbmVzLXNsYXNoIixpY29uOls1NzYsNTEyLFsibWljcm9waG9uZS1hbHQtc2xhc2giXSwiZjUzOSIsIk03LTI0LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMTUxIDE1MSAwLTMwLjJjMC01MyA0My05NiA5Ni05NiA1MC4zIDAgOTEuNiAzOC43IDk1LjcgODhMMzI4IDg4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU2IDAgMCA0OC01NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU1LjcgMGMtMS45IDIyLjktMTEuOCA0My40LTI2LjkgNTlsMzMuOSAzMy45YzI1LjUtMjYgNDEuMy02MS42IDQxLjMtMTAwLjlsMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDBjMCA1Mi42LTIxLjEgMTAwLjItNTUuMyAxMzQuOEw1NjkgNTAzLjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw3IDkuMUMtMi4zLS4zLTIuMy0xNS41IDctMjQuOXpNMjk3LjggMzY3LjdsNDEuNCA0MS40Yy04LjggMi40LTE3LjkgNC4zLTI3LjMgNS40bDAgNDkuNSA0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw0OCAwIDAtNDkuNUMxNjkuMyA0MDIuNyA5NiAzMjEuOSA5NiAyMjRsMC00MGMwLTUuMSAxLjYtOS45IDQuNC0xMy44bDQzLjYgNDMuNiAwIDEwLjJjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDQgMy4zIDAgNi42LS4xIDkuOC0uM3oiXX0sV2p0PXptZSxHanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2VydmVyIixpY29uOls0NDgsNTEyLFtdLCJmMjMzIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem0yMTYgNzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em01NiAyNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek02NCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAyODh6bTIxNiA3MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTU2IDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6Il19LGplZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyIixpY29uOls0NDgsNTEyLFsxMjgxMDAsNjIxNDQsNjI0NzAsInVzZXItYWx0IiwidXNlci1sYXJnZSJdLCJmMDA3IiwiTTIyNCAyNDhhMTIwIDEyMCAwIDEgMCAwLTI0MCAxMjAgMTIwIDAgMSAwIDAgMjQwem0tMjkuNyA1NkM5NS44IDMwNCAxNiAzODMuOCAxNiA0ODIuMyAxNiA0OTguNyAyOS4zIDUxMiA0NS43IDUxMmwzNTYuNiAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43IDAtOTguNS03OS44LTE3OC4zLTE3OC4zLTE3OC4zbC01OS40IDB6Il19LFlqdD1qZWUsS2p0PWplZSxaanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic25vd2ZsYWtlIixpY29uOls1MTIsNTEyLFsxMDA1MiwxMDA1NF0sImYyZGMiLCJNMjg4LjIgMGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDYyLjEtMTUtMTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNDkgNDkgMCA3MC42LTYxLjItMzUuMy0xNy45LTY2LjljLTMuNC0xMi44LTE2LjYtMjAuNC0yOS40LTE3Uzk1LjMgOTggOTguNyAxMTAuOGw1LjUgMjAuNS01My43LTMxQzM1LjIgOTEuNSAxNS42IDk2LjcgNi44IDExMnMtMy42IDM0LjkgMTEuNyA0My43bDUzLjcgMzEtMjAuNSA1LjVjLTEyLjggMy40LTIwLjQgMTYuNi0xNyAyOS40czE2LjYgMjAuNCAyOS40IDE3bDY2LjktMTcuOSA2MS4yIDM1LjMtNjEuMiAzNS4zLTY2LjktMTcuOWMtMTIuOC0zLjQtMjYgNC4yLTI5LjQgMTdzNC4yIDI2IDE3IDI5LjRsMjAuNSA1LjUtNTMuNyAzMUMzLjIgMzY1LjEtMiAzODQuNyA2LjggNDAwczI4LjQgMjAuNiA0My43IDExLjdsNTMuNy0zMS01LjUgMjAuNWMtMy40IDEyLjggNC4yIDI2IDE3IDI5LjRzMjYtNC4yIDI5LjQtMTdsMTcuOS02Ni45IDYxLjItMzUuMyAwIDcwLjYtNDkgNDljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwxNS0xNSAwIDYyLjFjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTYyLjEgMTUgMTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC00OS00OSAwLTcwLjYgNjEuMiAzNS4zIDE3LjkgNjYuOWMzLjQgMTIuOCAxNi42IDIwLjQgMjkuNCAxN3MyMC40LTE2LjYgMTctMjkuNGwtNS41LTIwLjUgNTMuNyAzMWMxNS4zIDguOCAzNC45IDMuNiA0My43LTExLjdzMy42LTM0LjktMTEuNy00My43bC01My43LTMxIDIwLjUtNS41YzEyLjgtMy40IDIwLjQtMTYuNiAxNy0yOS40cy0xNi42LTIwLjQtMjkuNC0xN2wtNjYuOSAxNy45LTYxLjItMzUuMyA2MS4yLTM1LjMgNjYuOSAxNy45YzEyLjggMy40IDI2LTQuMiAyOS40LTE3cy00LjItMjYtMTctMjkuNGwtMjAuNS01LjUgNTMuNy0zMWMxNS4zLTguOCAyMC42LTI4LjQgMTEuNy00My43cy0yOC40LTIwLjUtNDMuNy0xMS43bC01My43IDMxIDUuNS0yMC41YzMuNC0xMi44LTQuMi0yNi0xNy0yOS40cy0yNiA0LjItMjkuNCAxN2wtMTcuOSA2Ni45LTYxLjIgMzUuMyAwLTcwLjYgNDktNDljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMTUgMTUgMC02Mi4xeiJdfSxYanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGF1cnVzIixpY29uOlszODQsNTEyLFtdLCJlODRmIiwiTTMzNi0xNmMxNy43IDAgMzIgMTQuMyAzMiAzMiAwIDU4LjUtMjguNiAxMTAuMy03Mi41IDE0Mi4zIDUzLjIgMzQuMSA4OC41IDkzLjggODguNSAxNjEuNyAwIDEwNi04NiAxOTItMTkyIDE5MlMwIDQyNiAwIDMyMEMwIDI1Mi4xIDM1LjMgMTkyLjQgODguNSAxNTguMyA0NC42IDEyNi4zIDE2IDc0LjUgMTYgMTYgMTYtMS43IDMwLjMtMTYgNDgtMTZTODAtMS43IDgwIDE2YzAgNjEuOSA1MC4xIDExMiAxMTIgMTEyUzMwNCA3Ny45IDMwNCAxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTkyIDE5MmExMjggMTI4IDAgMSAwIDAgMjU2IDEyOCAxMjggMCAxIDAgMC0yNTZ6Il19LFFqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJza3VsbC1jcm9zc2JvbmVzIixpY29uOls0NDgsNTEyLFsxMjgzNjksOTc2MF0sImY3MTQiLCJNMzg0IDE0NEMzODQgNjQuNSAzMTIuNCAwIDIyNCAwUzY0IDY0LjUgNjQgMTQ0YzAgNDcuMSAyNS4xIDg4LjkgNjQgMTE1LjJsMCAyOC44YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjguOGMzOC45LTI2LjMgNjQtNjguMSA2NC0xMTUuMnpNMTYwIDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTk2IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTQ0NS41IDMzOS43Yy02LjgtMTYuMy0yNS41LTI0LTQxLjgtMTcuMkwyMjQgMzk3LjMgNDQuMyAzMjIuNWMtMTYuMy02LjgtMzUgLjktNDEuOCAxNy4ycy45IDM1IDE3LjIgNDEuOEwxNDAuOCA0MzIgMTkuNyA0ODIuNUMzLjQgNDg5LjMtNC4zIDUwOCAyLjUgNTI0LjNzMjUuNSAyNCA0MS44IDE3LjJMMjI0IDQ2Ni43IDQwMy43IDU0MS41YzE2LjMgNi44IDM1LS45IDQxLjgtMTcuMnMtLjktMzUtMTcuMi00MS44TDMwNy4yIDQzMiA0MjguMyAzODEuNWMxNi4zLTYuOCAyNC0yNS41IDE3LjItNDEuOHoiXX0sSmp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlc28tc2lnbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTIyMiIsIk0xMTIgMzJDOTQuMyAzMiA4MCA0Ni4zIDgwIDY0bDAgNjQtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNCAwIDAgMzItMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNCAwIDAgMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiA5NiAwYzY1LjYgMCAxMjItMzkuNSAxNDYuNy05NmwzNy4zIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI0LjggMGMuNS01LjMgLjgtMTAuNiAuOC0xNnMtLjMtMTAuNy0uOC0xNmwyNC44IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTM3LjMgMEMzNjIgNzEuNSAzMDUuNiAzMiAyNDAgMzJMMTEyIDMyem0xOTkuNiA5NmwtMTY3LjYgMCAwLTMyIDk2IDBjMjguNCAwIDU0IDEyLjQgNzEuNiAzMnpNMTQ0IDE3NmwxOTAuNyAwYy45IDUuMiAxLjMgMTAuNSAxLjMgMTZzLS41IDEwLjgtMS4zIDE2bC0xOTAuNyAwIDAtMzJ6bTE2Ny42IDgwYy0xNy42IDE5LjYtNDMuMSAzMi03MS42IDMybC05NiAwIDAtMzIgMTY3LjYgMHoiXX0sZVV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpbmUtZ2xhc3MiLGljb246WzMyMCw1MTIsWzEyNzg2M10sImY0ZTMiLCJNMzIuNiAyNS43QzM1LjYgMTAuOCA0OC43IDAgNjQgMEwyNTYgMGMxNS4zIDAgMjguNCAxMC44IDMxLjQgMjUuN0wzMTYuOCAxNzNjMi4xIDEwLjUgMy4yIDIxLjIgMy4yIDMybDAgM2MwIDc3LjQtNTUgMTQyLTEyOCAxNTYuOGwwIDExNS4yIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNTQ0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDAgMC0xMTUuMkM1NSAzNTAgMCAyODUuNCAwIDIwOGwwLTNjMC0xMC43IDEuMS0yMS40IDMuMi0zMkwzMi42IDI1Ljd6TTc3LjQgMTI4bDE2NS4xIDAtMTIuOC02NC0xMzkuNSAwLTEyLjggNjR6Il19LFdiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLWhhbGYiLGljb246WzMyMCw1MTIsWzEyNzc3NywidGVtcGVyYXR1cmUtMiIsInRoZXJtb21ldGVyLTIiLCJ0aGVybW9tZXRlci1oYWxmIl0sImYyYzkiLCJNMTYwIDBDMTA3IDAgNjQgNDMgNjQgOTZsMCAxNjQuN0MzNC41IDI4NyAxNiAzMjUuNCAxNiAzNjggMTYgNDQ3LjUgODAuNSA1MTIgMTYwIDUxMnMxNDQtNjQuNSAxNDQtMTQ0YzAtNDIuNi0xOC41LTgxLTQ4LTEwNy4zTDI1NiA5NmMwLTUzLTQzLTk2LTk2LTk2em02NCAzNjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRjMC0yNi45IDE2LjUtNDkuOSA0MC01OS4zbDAtOTIuN2MwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgOTIuN2MyMy41IDkuNSA0MCAzMi41IDQwIDU5LjN6Il19LHRVdD1XYixhVXQ9V2IsclV0PVdiLHNVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0aWNrZXQiLGljb246WzU3Niw1MTIsWzEyNzkwM10sImYxNDUiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhsMCA2NEMwIDIwMC44IDcuNCAyMDcuNyAxNS43IDIxMC42IDM0LjUgMjE3LjEgNDggMjM1IDQ4IDI1NnMtMTMuNSAzOC45LTMyLjMgNDUuNEM3LjQgMzA0LjMgMCAzMTEuMiAwIDMyMGwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjRjMC04LjgtNy40LTE1LjctMTUuNy0xOC42LTE4LjgtNi41LTMyLjMtMjQuNC0zMi4zLTQ1LjRzMTMuNS0zOC45IDMyLjMtNDUuNGM4LjMtMi45IDE1LjctOS44IDE1LjctMTguNmwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek00MTYgMzM2bDAtMTYwLTI1NiAwIDAgMTYwIDI1NiAwek0xMTIgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDI4OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yODggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xOTJ6Il19LGlVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aGVhdC1hd24tY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTk4IiwiTTQ5NiA1NzZhMTQ0IDE0NCAwIDEgMSAwLTI4OCAxNDQgMTQ0IDAgMSAxIDAgMjg4ek04MSA1MjljLTkuNCA5LjMtMjQuNSA5LjMtMzMuOSAwLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDgxIDUyOXptMzAuMi0yOTQuNGM2LjItNC4xIDE0LjctMy40IDIwLjEgMi4xbDQ2LjEgNDYuMSA2LjEgNi43YzE5LjcgMjMuOCAyNi4zIDU1IDE5LjMgODMuOSAzMS43LTcuNyA2Ni4yIDEgOTAuNiAyNS4zbDEyIDEyYy0uOCA3LTEuMiAxNC4yLTEuMiAyMS40IDAgMjAgMyAzOS4zIDguNyA1Ny40LTM2LjggMjEuOC04NSAxNy0xMTYuNi0xNC43TDE2NS42IDQ0NC4zIDgxIDUyOUM2OS43IDUxNy43IDU4LjQgNTA2LjMgNDcgNDk1bDg0LjctODQuNy0zMC41LTMwLjVjLTM3LjUtMzcuNS0zNy41LTk4LjMgMC0xMzUuN2w3LjQtNy40IDIuNS0yLjF6TTQ5NiA0NzZhMjAgMjAgMCAxIDAgMCA0MCAyMCAyMCAwIDEgMCAwLTQwem0wLTE0MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2IDguOCAwIDE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnpNMjE1LjIgMTMwLjZjNi4yLTQuMSAxNC43LTMuNCAyMC4xIDIuMWw0Ni4xIDQ2LjEgNi4xIDYuN2MxOS43IDIzLjggMjYuMyA1NSAxOS4zIDgzLjkgMjQuMi01LjkgNTAuMS0yLjEgNzEuOSAxMC44LTMyLjIgMjQuOS01Ni4yIDU5LjgtNjcuNCAxMDAuMS0zLjgtMi44LTcuNS02LTExLTkuNWwtOTQuOS05NC45Yy0zNy41LTM3LjUtMzcuNS05OC4zIDAtMTM1LjdsNy40LTcuNCAyLjUtMi4xek01MjYuNyAxNWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMCA4LjggOC44IDkuMyAyMi43IDEuNyAzMi4xTDU2MC42IDQ5IDQ0Ni4yIDE2My40YzcuNyAxIDE1LjMgMyAyMi41IDUuOUw1MjcgMTExYzkuNC05LjQgMjQuNi05LjQgMzQgMCA4LjggOC44IDkuMyAyMi43IDEuNiAzMi4xbC0xLjcgMS44LTUyLjcgNTIuNyAzOSAzOWMzLjIgMy4yIDQuNyA3LjQgNC43IDExLjYtMTcuNy01LjQtMzYuNS04LjMtNTUuOS04LjMtMzQuMiAwLTY2LjMgOC45LTk0LjEgMjQuNmwtOTIuNy05Mi43Yy0zNy41LTM3LjUtMzcuNS05OC4zIDAtMTM1LjhsNy40LTcuNCAyLjUtMi4xYzYuMi00LjEgMTQuNy0zLjQgMjAuMSAyLjFsMzkgMzkgNTIuNy01Mi43YzkuNC05LjQgMjQuNi05LjQgMzQgMCA4LjggOC44IDkuMyAyMi43IDEuNiAzMi4xTDQ2NSA0OSA0MDYuNyAxMDcuM2MyLjggNy4xIDQuNyAxNC41IDUuOCAyMi4xTDUyNi43IDE1eiJdfSxvVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXR1cm4tcmlnaHQiLGljb246WzQ0OCw1MTIsW10sImU0YzAiLCJNMzEzLjQtNi42YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMzM4LjcgMTI4IDEyOCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJTMCAyNDEuNyAwIDIyNGwwLTMyQzAgMTIxLjMgNTcuMyA2NCAxMjggNjRsMjEwLjcgMC0yNS40LTI1LjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zem0tOTYgMjU2YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjQyLjcgMzg0IDk2IDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4bDAtMzJjMC01MyA0My05NiA5Ni05NmwxNDYuNyAwLTI1LjQtMjUuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6Il19LG5VdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYW5keS1jYW5lIixpY29uOls0NDgsNTEyLFtdLCJmNzg2IiwiTTQyMS44IDM5LjZDNDUyIDg1LjIgNDU2LjUgMTQyLjkgNDM1LjEgMTkybC0xNjUuNCAwIDQxLjQtNDEuNGMuOC0uOCAxLjUtMS42IDIuMi0yLjRMNDIxLjggMzkuNnpNMjY4IDEwMi45Yy0uOCAuNy0xLjYgMS40LTIuNCAyLjJsLTI4LjEgMjguMWMtMjUgMjUtNjUuNSAyNS05MC41IDBzLTI1LTY1LjUgMC05MC41TDE3NSAxNC42QzIyOS45LTQwLjIgMzE0LjUtNDYuNyAzNzYuNS01LjZMMjY4IDEwMi45ek0xMjUuNyAzMzZsODAtODAgMTgxIDAtODIuNSA4Mi41IDAtMi41LTE3OC41IDB6bTExNyA2NEwxNDEuNCA1MDEuM2MtMjUgMjUtNjUuNSAyNS05MC41IDBzLTI1LTY1LjUgMC05MC41bDEwLjctMTAuNyAxODEgMHoiXX0sbFV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndoZWVsY2hhaXIiLGljb246WzUxMiw1MTIsW10sImYxOTMiLCJNMTM2IDQwYTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTE3LjkgMTk3LjZsMTIuNiA2M2MtMzguNiAxMi40LTY2LjUgNDguNy02Ni41IDkxLjQgMCA1MyA0MyA5NiA5NiA5NiAzNS42IDAgNjYuNy0xOS40IDgzLjMtNDguMiAyLjMgLjEgNC42IC4yIDcgLjJsNC4xIDBjMSAwIDIuMSAwIDMuMSAwbDU1LjIgMGMtMjAuNCA2NC45LTgxIDExMi0xNTIuNyAxMTItODguNCAwLTE2MC03MS42LTE2MC0xNjAgMC03My44IDUwLTEzNS45IDExNy45LTE1NC40em0xNDguNi0yOC4xbDIzLjcgMTE4LjUgNjAuNSAwYzMzLjMgMCA2My4yIDIwLjcgNzQuOSA1MS45bDI1LjUgNjggMTguNy02LjJjMTYuOC01LjYgMzQuOSAzLjUgNDAuNSAyMC4ycy0zLjUgMzQuOS0yMC4yIDQwLjVsLTQ4IDE2Yy0xNi4zIDUuNC0zNC0zLTQwLjEtMTkuMWwtMzYuMy05Ni45Yy0yLjMtNi4yLTguMy0xMC40LTE1LTEwLjRsLTg2LjEgMGMtLjQgMC0uOCAwLTEuMyAwbC0xMy4xIDBjLTMwLjUgMC01Ni44LTIxLjUtNjIuOC01MS40TDE2NS4zIDE4OS43Yy02LjQtMzEuOSAxOC02MS43IDUwLjYtNjEuNyAyNC42IDAgNDUuOCAxNy40IDUwLjYgNDEuNXoiXX0sY1V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwZWxsLWNoZWNrIixpY29uOls1NzYsNTEyLFtdLCJmODkxIiwiTTEyMCAzMmMtNDguNiAwLTg4IDM5LjQtODggODhsMCAxNjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDY0IDAgMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTY4YzAtNDguNi0zOS40LTg4LTg4LTg4bC0xNiAwem00MCAxMjhsLTY0IDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDB6TTMwNCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyMjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNzIgMGM0OC42IDAgODgtMzkuNCA4OC04OCAwLTIzLjYtOS4zLTQ1LTI0LjQtNjAuOCAxMC4zLTE0LjQgMTYuNC0zMi4xIDE2LjQtNTEuMiAwLTQ4LjYtMzkuNC04OC04OC04OGwtNjQgMHptNjQgMTEybC0zMiAwIDAtNDggMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNHpNMzM2IDI1NmwwLTQ4IDQwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQwIDB6bTIzMyA4NGMxMS0xMy44IDguOC0zMy45LTUtNDVzLTMzLjktOC44LTQ1IDVsLTEwNS43IDEzMi4xLTM4LjctMzguN2MtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjNi40IDYuNCAxNS4zIDkuOCAyNC40IDkuM3MxNy41LTQuOSAyMy4yLTEyTDU2OSAzNDB6Il19LGRVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2b2x1bWUtb2ZmIixpY29uOlszMjAsNTEyLFtdLCJmMDI2IiwiTTk2IDM1MmwtNDggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NmMwLTI2LjUgMjEuNS00OCA0OC00OGw0OCAwIDEzNC4xLTExOS4yYzYuNC01LjcgMTQuNi04LjggMjMuMS04LjggMTkuMiAwIDM0LjggMTUuNiAzNC44IDM0LjhsMCAzNzguNGMwIDE5LjItMTUuNiAzNC44LTM0LjggMzQuOC04LjUgMC0xNi43LTMuMS0yMy4xLTguOEw5NiAzNTJ6Il19LHVVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsdW5ncyIsaWNvbjpbNTc2LDUxMixbMTI5NzI5XSwiZjYwNCIsIk0zMjAgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNDEuOS0zMiAxOS4yIDAtMTE2LjdjMC0yNC41LTE5LjktNDQuNC00NC40LTQ0LjQtMTIuNSAwLTI0LjQgNS4zLTMyLjggMTQuNWwtMjYuNCAyOUM0Mi45IDE2MC44IDAgMjcxLjggMCAzODdsMCAzMC41YzAgNTIuMiA0Mi4zIDk0LjUgOTQuNSA5NC41IDIyIDAgNDMuNy01LjEgNjMuNC0xNWw1LTIuNWMzNy40LTE4LjcgNjEtNTYuOSA2MS05OC44bDAtMTI4IDY0LTM4LjQgNjQgMzguNCAwIDEyOGMwIDQxLjggMjMuNiA4MC4xIDYxIDk4LjhsNSAyLjVjMTkuNyA5LjggNDEuNCAxNSA2My40IDE1IDUyLjIgMCA5NC41LTQyLjMgOTQuNS05NC41bDAtNi4yYzAtMTExLjEtMzYuNy0yMTktMTA0LjQtMzA3TDQyOC45IDQ4LjdjLTguMS0xMC42LTIwLjctMTYuNy0zNC0xNi43LTIzLjcgMC00Mi45IDE5LjItNDIuOSA0Mi45bDAgMTE4LjItMzItMTkuMiAwLTE0MS45eiJdfSxwVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9va21hcmsiLGljb246WzM4NCw1MTIsWzEyODI3OCw2MTU5MV0sImYwMmUiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0ODBjMCAxMS41IDYuMiAyMi4yIDE2LjIgMjcuOHMyMi4zIDUuNSAzMi4yLS40TDE5MiA0MjEuMyAzMzUuNSA1MDcuNGM5LjkgNS45IDIyLjIgNi4xIDMyLjIgLjRTMzg0IDQ5MS41IDM4NCA0ODBsMC00MTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHoiXX0sZlV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhcmNvZGUiLGljb246WzQ0OCw1MTIsW10sImYwMmEiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyem04OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQwMGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAwYzAtMTMuMy0xMC43LTI0LTI0LTI0em03MiAzMmwwIDM4NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyem0yMDgtOGwwIDQwMGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em0tOTYgMGwwIDQwMGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0eiJdfSxVZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlzdC1vbCIsaWNvbjpbNTEyLDUxMixbImxpc3QtMS0yIiwibGlzdC1udW1lcmljIl0sImYwY2IiLCJNMCA3MkMwIDU4LjggMTAuNyA0OCAyNCA0OGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTA0IDI0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTk2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjQgMCAwLTgwLTI0IDBDMTAuNyA5NiAwIDg1LjMgMCA3MnpNMzAuNCAzMDEuMkM0MS44IDI5Mi42IDU1LjcgMjg4IDcwIDI4OGw0LjkgMGMzMy43IDAgNjEuMSAyNy40IDYxLjEgNjEuMSAwIDE5LjYtOS40IDM3LjktMjUuMiA0OS40bC0yNCAxNy41IDMzLjIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOTAuNyAwQzEzLjEgNDY0IDAgNDUwLjkgMCA0MzQuNyAwIDQyNS4zIDQuNSA0MTYuNSAxMi4xIDQxMWw3MC41LTUxLjNjMy40LTIuNSA1LjQtNi40IDUuNC0xMC42IDAtNy4yLTUuOS0xMy4xLTEzLjEtMTMuMUw3MCAzMzZjLTMuOSAwLTcuNyAxLjMtMTAuOCAzLjZMMzguNCAzNTUuMmMtMTAuNiA4LTI1LjYgNS44LTMzLjYtNC44Uy0xIDMyNC44IDkuNiAzMTYuOGwyMC44LTE1LjZ6TTIyNCA2NGwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTAgMTYwbDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxNjBsMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSxoVXQ9VWVlLG1VdD1VZWUsZ1V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtY2lyY2xlLXhtYXJrIixpY29uOls1NzYsNTEyLFtdLCJlNWExIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTIyLjctMzEuNS0zNi03MC4yLTM2LTExMiAwLTEwMC42IDc3LjQtMTgzLjIgMTc2LTE5MS4zbDAtMzguMWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdsLTM2LjcgMzYuNyAzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LGJVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjdWJlIixpY29uOls1MTIsNTEyLFtdLCJmMWIyIiwiTTIyNC4zLTIuNWMxOS44LTExLjQgNDQuMi0xMS40IDY0IDBMNDY0LjIgOTljMTkuOCAxMS40IDMyIDMyLjYgMzIgNTUuNGwwIDIwM2MwIDIyLjktMTIuMiA0NC0zMiA1NS40TDI4OC4zIDUxNC41Yy0xOS44IDExLjQtNDQuMiAxMS40LTY0IDBMNDguNSA0MTNjLTE5LjgtMTEuNC0zMi0zMi42LTMyLTU1LjRsMC0yMDNjMC0yMi45IDEyLjItNDQgMzItNTUuNEwyMjQuMy0yLjV6bTIwNy44IDM2MGwwLTE2Ni4xLTE0My44IDgzIDAgMTY2LjEgMTQzLjgtODN6Il19LHZVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YXBlIixpY29uOls1NzYsNTEyLFtdLCJmNGRiIiwiTTQxMi44IDQxNmM0MS41LTQwLjcgNjcuMi05Ny4zIDY3LjItMTYwIDAtMTIzLjctMTAwLjMtMjI0LTIyNC0yMjRTMzIgMTMyLjMgMzIgMjU2IDEzMi4zIDQ4MCAyNTYgNDgwbDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMzEuMiAwek0yNTYgMTYwYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyem00OCA5NmE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSx4VXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9tYiIsaWNvbjpbNTc2LDUxMixbMTI4MTYzXSwiZjFlMiIsIk00ODAtMTZjNi45IDAgMTMgNC40IDE1LjIgMTAuOWwxMy41IDQwLjQgNDAuNCAxMy41QzU1NS42IDUxIDU2MCA1Ny4xIDU2MCA2NHMtNC40IDEzLTEwLjkgMTUuMmwtNDAuNCAxMy41LTEzLjUgNDAuNEM0OTMgMTM5LjYgNDg2LjkgMTQ0IDQ4MCAxNDRzLTEzLTQuNC0xNS4yLTEwLjlsLTEzLjUtNDAuNC00MC40LTEzLjVDNDA0LjQgNzcgNDAwIDcwLjkgNDAwIDY0czQuNC0xMyAxMC45LTE1LjJsNDAuNC0xMy41IDEzLjUtNDAuNEM0NjctMTEuNiA0NzMuMS0xNiA0ODAtMTZ6TTMyMS40IDk3LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTEwLjkgMTAuOWM3LjkgMjIgMTIuMiA0NS43IDEyLjIgNzAuNSAwIDExNC45LTkzLjEgMjA4LTIwOCAyMDhTMzIgNDE4LjkgMzIgMzA0IDEyNS4xIDk2IDI0MCA5NmMyNC43IDAgNDguNSA0LjMgNzAuNSAxMi4zbDEwLjktMTAuOXpNMTQ0IDMwNGMwLTUzIDQzLTk2IDk2LTk2IDEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0Yy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NCAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0eiJdfSxDbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2NhbGUtdW5iYWxhbmNlZCIsaWNvbjpbNjQwLDUxMixbImJhbGFuY2Utc2NhbGUtbGVmdCJdLCJmNTE1IiwiTTUxOS44IDYyLjRjMTYuOC01LjYgMjUuOC0yMy43IDIwLjItNDAuNVM1MTYuMy0zLjkgNDk5LjYgMS42bC0xMTMgMzcuN2MtMTMuOS0yMy41LTM5LjYtMzkuMy02OC45LTM5LjMtNDQuMiAwLTgwIDM1LjgtODAgODAgMCAzIC4yIDUuOSAuNSA4LjhMMTE1LjYgMTI5LjZjLTE2LjggNS42LTI1LjggMjMuNy0yMC4yIDQwLjVzMjMuNyAyNS44IDQwLjUgMjAuMmwxMzUuNS00NS4yYzQuNSAzLjIgOS4zIDUuOSAxNC40IDguMmwwIDMyNi43YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTI5NC43YzIxLTkuMiAzNy4yLTI3IDQ0LjItNDlsMTI1LjktNDJ6TTQzNy4zIDI4OGw3Mi40LTEyNC4yIDcyLjQgMTI0LjItMTQ0LjkgMHptNzIuNCA5NmM2Mi45IDAgMTE1LjItMzQgMTI2LTc4LjkgMi42LTExLTEtMjIuMy02LjctMzIuMUw1MzMuOCAxMDkuOGMtNS04LjYtMTQuMi0xMy44LTI0LjEtMTMuOHMtMTkuMSA1LjMtMjQuMSAxMy44TDM5MC40IDI3My4xYy01LjcgOS44LTkuMyAyMS4xLTYuNyAzMi4xIDEwLjggNDQuOCA2My4xIDc4LjkgMTI2IDc4Ljl6TTEyNi44IDI5MS44bDcyLjQgMTI0LjItMTQ0LjkgMCA3Mi40LTEyNC4yek0uOSA0MzMuMUMxMS43IDQ3OCA2NCA1MTIgMTI2LjggNTEyczExNS4yLTM0IDEyNi03OC45YzIuNi0xMS0xLTIyLjMtNi43LTMyLjFMMTUwLjkgMjM3LjhjLTUtOC42LTE0LjItMTMuOC0yNC4xLTEzLjhzLTE5LjEgNS4zLTI0LjEgMTMuOEw3LjYgNDAxLjFjLTUuNyA5LjgtOS4zIDIxLjEtNi43IDMyLjF6Il19LHlVdD1DbWUsX21lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1jYXJldC1sZWZ0IixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLWxlZnQiXSwiZjE5MSIsIk0wIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2ek0xMjggMjU2YzAtNi43IDIuOC0xMyA3LjctMTcuNmwxMTItMTA0YzctNi41IDE3LjItOC4yIDI1LjktNC40UzI4OCAxNDIuNSAyODggMTUybDAgMjA4YzAgOS41LTUuNyAxOC4yLTE0LjQgMjJzLTE4LjkgMi4xLTI1LjktNC40bC0xMTItMTA0Yy00LjktNC41LTcuNy0xMC45LTcuNy0xNy42eiJdfSx3VXQ9X21lLE1VdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWxlciIsaWNvbjpbNTc2LDUxMixbMTI4MjA3XSwiZjU0NSIsIk0yMDkuMSA1MTYuMmMtMTguNyAxOC43LTQ5LjEgMTguNy02Ny45IDBMMjguMSA0MDMuMWMtMTguNy0xOC43LTE4LjctNDkuMSAwLTY3LjlsMTctMTcgNzMuNSA3My41YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzMuNS03My41IDMzLjktMzMuOSA1MC45IDUwLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01MC45LTUwLjkgMzMuOS0zMy45IDczLjUgNzMuNWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTczLjUtNzMuNSAzMy45LTMzLjkgNTAuOSA1MC45YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTAuOS01MC45IDMzLjktMzMuOSA3My41IDczLjVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC03My41LTczLjUgMTctMTdjMTguNy0xOC43IDQ5LjEtMTguNyA2Ny45IDBMNTQ4LjUgMTA4LjljMTguNyAxOC43IDE4LjcgNDkuMSAwIDY3LjlMMjA5LjEgNTE2LjJ6Il19LGtVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpIixpY29uOlszMjAsNTEyLFsxMDVdLCI0OSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsOTYgMCAwIDMyMC05NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC05NiAwIDAtMzIwIDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6Il19LFdlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2b2x1bWUteG1hcmsiLGljb246WzU3Niw1MTIsWyJ2b2x1bWUtbXV0ZSIsInZvbHVtZS10aW1lcyJdLCJmNmE5IiwiTTQ4IDM1Mmw0OCAwIDEzNC4xIDExOS4yYzYuNCA1LjcgMTQuNiA4LjggMjMuMSA4LjggMTkuMiAwIDM0LjgtMTUuNiAzNC44LTM0LjhsMC0zNzguNGMwLTE5LjItMTUuNi0zNC44LTM0LjgtMzQuOC04LjUgMC0xNi43IDMuMS0yMy4xIDguOEw5NiAxNjAgNDggMTYwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4ek0zNjcgMTc1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw0NyA0Ny00NyA0N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDQ3LTQ3IDQ3IDQ3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDctNDcgNDctNDdjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNDcgNDctNDctNDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAweiJdfSxTVXQ9V2VlLHpVdD1XZWUsQ1V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFyY2h3YXkiLGljb246WzUxMiw1MTIsW10sImY1NTciLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyem0wIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjggMCAwLTEyOGMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMTI4IDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMjcyLTQ0OCAwIDAgMjcyeiJdfSxUbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWRpZ2dpbmciLGljb246WzU3Niw1MTIsWyJkaWdnaW5nIl0sImY4NWUiLCJNMjA4IDQwYTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTAuNSAxODEuM2M1LjktMTEuOSAyMC4zLTE2LjcgMzIuMi0xMC43bDI0LjYgMTIuMyAxMi4yLTIwLjRjMTguOS0zMS41IDUzLjItNTAuNSA4OS42LTUwLjUgNDYuMiAwIDg3LjcgMzAuNSAxMDAuNSA3NS40bDMyLjIgMTEyLjcgOTIuOSA0Ni40IDI1LjgtNDNjNS44LTkuNiAxNi4yLTE1LjUgMjcuNC0xNS41czIxLjcgNS45IDI3LjQgMTUuNWw5NiAxNjBjNS45IDkuOSA2LjEgMjIuMiAuNCAzMi4yUzU1NS41IDUxMiA1NDQgNTEybC0xOTIgMGMtMTEuNSAwLTIyLjItNi4yLTI3LjgtMTYuMnMtNS41LTIyLjMgLjQtMzIuMkwzNzAgMzg3LjggMjEuMyAyMTMuNWMtMTEuOS01LjktMTYuNy0yMC4zLTEwLjctMzIuMnpNOTQuMyAzMDcuNGwxMTIgNTZjMTAuOCA1LjQgMTcuNyAxNi41IDE3LjcgMjguNmwwIDg4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjguMi02MS4zLTMwLjctMzYuMyAxMDljLTUuNiAxNi44LTIzLjcgMjUuOC00MC41IDIwLjJTLTMuOSA0ODYuNiAxLjcgNDY5LjlsNDgtMTQ0YzIuOS04LjggOS41LTE1LjkgMTguMS0xOS40czE4LjMtMy4yIDI2LjYgLjl6Il19LF9VdD1UbWUsR2VlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhdWdlLWhpZ2giLGljb246WzUxMiw1MTIsWzYyNDYxLCJ0YWNob21ldGVyLWFsdCIsInRhY2hvbWV0ZXItYWx0LWZhc3QiXSwiZjYyNSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0yODggOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMjU2IDQxNmMzNS4zIDAgNjQtMjguNyA2NC02NCAwLTE2LjItNi0zMS4xLTE2LTQyLjNsNjkuNS0xMzguOWM1LjktMTEuOSAxLjEtMjYuMy0xMC43LTMyLjJzLTI2LjMtMS4xLTMyLjIgMTAuN0wyNjEuMSAyODguMmMtMS43LS4xLTMuNC0uMi01LjEtLjItMzUuMyAwLTY0IDI4LjctNjQgNjRzMjguNyA2NCA2NCA2NHpNMTc2IDE0NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek05NiAyODhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0zNTItMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0sVFV0PUdlZSxMVXQ9R2VlLCRVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnZW5kZXJsZXNzIixpY29uOlszODQsNTEyLFtdLCJmMjJkIiwiTTE5MiAxMjhhMTI4IDEyOCAwIDEgMSAwIDI1NiAxMjggMTI4IDAgMSAxIDAtMjU2em0wIDMyMGExOTIgMTkyIDAgMSAwIDAtMzg0IDE5MiAxOTIgMCAxIDAgMCAzODR6Il19LERVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1zdW4iLGljb246WzY0MCw1MTIsWzk5MjVdLCJmNmM0IiwiTTIwOC4zIDE5MmM0My4xIDAgODAuNSAyNC40IDk5LjIgNjAuMSAxNC43LTE3LjIgMzYuNC0yOC4xIDYwLjgtMjguMSA0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDUuNS0uNiAxMC45LTEuNiAxNiAuNSAwIDEuMSAwIDEuNiAwIDUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2bC0zMjAgMGMtNTMgMC05Ni00My05Ni05NiAwLTQyLjUgMjcuNy03OC41IDY2LTkxLjItMS4zLTYuOC0yLTEzLjctMi0yMC44IDAtNjEuOSA1MC4xLTExMiAxMTItMTEyem0xOTItMjIzLjhjNS4zIDAgMTAuMyAyLjcgMTMuMyA3LjFsNDcuMyA3MC40IDgzLjMtMTYuM2M1LjItMSAxMC42IC43IDE0LjMgNC40IDMuOCAzLjggNS40IDkuMiA0LjQgMTQuNGwtMTYuMyA4My4zIDcwLjQgNDcuM2M0LjQgMyA3LjEgOCA3LjEgMTMuMyAwIDUuMy0yLjYgMTAuMy03IDEzLjJsLTcwLjQgNDcuMyAxNC41IDc0LjJjLTE3LjItMjEuNy00MC40LTM4LjQtNjcuMi00Ny4zLTIuNS0xMi43LTYuOS0yNC42LTEyLjgtMzUuNyA5LjYtMTQuOSAxNS4yLTMyLjcgMTUuMi01MS43IDAtNTMtNDMtOTYtOTYtOTYtNDcuOSAwLTg3LjYgMzUuMS05NC44IDgwLjktMjAuOS0xNi00NS45LTI3LTczLjEtMzEuMWwyMS41LTE0LjUtMTYuMy04My4yLS4zLTJjLS4zLTQuNiAxLjMtOS4xIDQuNi0xMi40IDMuOC0zLjggOS4yLTUuNCAxNC40LTQuNGw4My4zIDE2LjMgNDcuMy03MC40IDEuMi0xLjZjMy0zLjUgNy40LTUuNSAxMi4xLTUuNXptMCAxNzUuOGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDMuOC0uNSA3LjYtMS40IDExLjEtMjEuNy0xNi45LTQ4LjktMjcuMS03OC42LTI3LjEtNC42IDAtOS4xIC4yLTEzLjUgLjcgNi40LTE5IDI0LjMtMzIuNyA0NS41LTMyLjd6Il19LEl0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1yaWdodCIsaWNvbjpbNTEyLDUxMixbODU5NF0sImYwNjEiLCJNNTAyLjYgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDQwMi43IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzcwLjcgMC0xMDUuNCAxMDUuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxNjAtMTYweiJdfSxZZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHNoYWtlIixpY29uOls1NzYsNTEyLFsxMjkzMDksNjI2NjIsImhhbmRzaGFrZS1hbHQiLCJoYW5kc2hha2Utc2ltcGxlIl0sImYyYjUiLCJNMjY4LjkgODUuMkwxNTIuMyAyMTQuOGMtNC42IDUuMS00LjQgMTMgLjUgMTcuOSAzMC41IDMwLjUgODAgMzAuNSAxMTAuNSAwbDMxLjgtMzEuOGM0LjItNC4yIDkuNS02LjUgMTQuOS02LjkgNi44LS42IDEzLjggMS43IDE5IDYuOUw1MDUuNiAzNzYgNTc2IDMyMCA1NzYgMzIgNDY0IDk2IDQ0MC4yIDgwLjFDNDI0LjQgNjkuNiA0MDUuOSA2NCAzODYuOSA2NGwtNzAuNCAwYy0xLjEgMC0yLjMgMC0zLjQgLjEtMTYuOSAuOS0zMi44IDguNS00NC4yIDIxLjF6TTExNi42IDE4Mi43TDIyMy40IDY0IDE4My44IDY0Yy0yNS41IDAtNDkuOSAxMC4xLTY3LjkgMjguMUwxMTIgOTYgMCAzMiAwIDMyMCAxNTYuNCA0NTAuM2MyMyAxOS4yIDUyIDI5LjcgODEuOSAyOS43bDE1LjcgMC03LTdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0MSA0MSA5IDBjMTkuMSAwIDM3LjgtNC4zIDU0LjgtMTIuM0wzNTkgNDQxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzIgMzIgMTcuNS0xNy41YzguOS04LjkgMTEuNS0yMS44IDcuNi0zMy4xbC0xMzcuOS0xMzYuOC0xNC45IDE0LjljLTQ5LjMgNDkuMy0xMjkuMSA0OS4zLTE3OC40IDAtMjMtMjMtMjMuOS01OS45LTIuMi04NHoiXX0sQVV0PVllZSxQVXQ9WWVlLExtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tc2tpaW5nIixpY29uOls1NzYsNTEyLFs5OTc1LCJza2lpbmciXSwiZjdjOSIsIk00MTYgNTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek0yLjcgMzAwLjljNi4xLTExLjggMjAuNi0xNi4zIDMyLjQtMTAuMmwxOTcuOCAxMDIuNyA2Mi4zLTg3LjItODItOTIuMmMtMTEtMTIuNC0xNi4yLTI3LjUtMTYuMi00Mi40bDExMS42IDUzLjQgNDIuOSA0OC4yYzE0LjkgMTYuNyAxNi4yIDQxLjYgMy4yIDU5LjhsLTY0LjQgOTAuMiAxMjguMyA2Ni42YzEzLjYgNy4xIDI5LjggNy4yIDQzLjYgLjNsMTUuMi03LjZjMTEuOS01LjkgMjYuMy0xLjEgMzIuMiAxMC43czEuMSAyNi4zLTEwLjcgMzIuMmwtMTUuMiA3LjZjLTI3LjUgMTMuNy01OS45IDEzLjUtODcuMi0uN0wxMi45IDMzMy4zQzEuMiAzMjcuMi0zLjQgMzEyLjcgMi43IDMwMC45ek0xMDMgNDkuNmwxOCA4LjcgOC43LTE3LjRjNC03LjkgMTMuNi0xMS4xIDIxLjUtNy4yczExLjEgMTMuNiA3LjIgMjEuNWwtOC41IDE3IDg0LjggNDEgLjQtLjIgNzYuMS0zMy44YzMxLjMtMTMuOSA2Ny45LS43IDgzLjIgMjkuOWwyOC45IDU3LjggNjguNyAyNy41YzE2LjQgNi42IDI0LjQgMjUuMiAxNy44IDQxLjZzLTI1LjIgMjQuNC00MS42IDE3LjhMMzkzLjggMjI0Yy0xMC45LTQuNC0xOS44LTEyLjYtMjUuMS0yMy4xbC0xMS41LTIzLjFjLTE2LjQgOS40LTI1LjkgMTQuOC0yOC41IDE2LjNsLTcuNi0zLjctMTg1LjYtODkuNi05LjIgMTguM2MtNCA3LjktMTMuNiAxMS4xLTIxLjUgNy4ycy0xMS4xLTEzLjYtNy4yLTIxLjVsOS0xNy45LTE3LjYtOC41QzgxLjEgNzQuNiA3Ny44IDY1IDgxLjYgNTdTOTUgNDUuNyAxMDMgNDkuNnoiXX0sRVV0PUxtZSxJVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJpZGdlLXdhdGVyIixpY29uOls2NDAsNTEyLFtdLCJlNGNlIiwiTTY0IDY0bDUxMiAwIDAgMTEyYy0zNy42IDkuNC02NCA0My4yLTY0IDgybDAgNzYuNGMtMjEtOS43LTQzLjUtMTQuNS02Ni0xNC40LTEwIC4xLTIwLjEgMS4xLTMwIDMuMWwwLTM1LjFjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAzMi43Yy01LjMtLjUtMTAuNy0uOC0xNi0uNy0yNy43IC4yLTU1LjQgNy44LTgwIDIzbDAtODVjMC0zOC44LTI2LjQtNzIuNi02NC04Mkw2NCA2NHpNNDAzLjQgNDQ0LjFDMzc5LjEgNDYyLjMgMzUxLjEgNDgwIDMyMCA0ODBzLTU5LjEtMTcuNy04My40LTM1LjljLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAwLTIzLjggMTcuOS01NC4xIDM1LjUtODguMSAzNS4zLTIwLjQtLjEtNDAuNy02LjctNTkuOC0yMS4xLTEwLjYtOC0xMi43LTIzLTQuNy0zMy42czIzLTEyLjcgMzMuNi00LjdjMTEuMyA4LjUgMjEuNiAxMS40IDMxLjIgMTEuNSAxNy42IC4xIDM3LjMtOS40IDU4LjktMjUuNyAzOC40LTI5IDkwLjUtMjkgMTI5IDAgMjQgMTguMSA0MC43IDI2LjMgNTQuNSAyNi4zczMwLjUtOC4yIDU0LjUtMjYuM2MzOC40LTI5IDkwLjUtMjkgMTI5IDAgMTYuOSAxMi43IDMyLjkgMjEuNSA0Ny44IDI0LjYgMTMuNyAyLjggMjcuNCAuOSA0Mi4zLTEwLjMgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOSAyNS42LTQuNyAzMy42Yy0yNi40IDE5LjktNTQuMiAyNC40LTgwLjcgMTkuMS0yNS4zLTUuMS00OC4xLTE4LjktNjcuMi0zMy4zLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAweiJdfSxOVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctbmdvIixpY29uOls1NzYsNTEyLFtdLCJlNGQ3IiwiTTEyOCAwQzkyLjcgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ4IDAgMC0xMTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjA4IDAgMC0yNzJjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTI4IDB6bTMyIDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0zMDQgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTYwIDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNDQtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNTIwIDM4MGMtMjQuMyAwLTQ0IDE5LjctNDQgNDRsMCA4MGMwIDI0LjMgMTkuNyA0NCA0NCA0NGwxNiAwYzI0LjMgMCA0NC0xOS43IDQ0LTQ0bDAtODBjMC0yNC4zLTE5LjctNDQtNDQtNDRsLTE2IDB6bS00IDQ0YzAtMi4yIDEuOC00IDQtNGwxNiAwYzIuMiAwIDQgMS44IDQgNGwwIDgwYzAgMi4yLTEuOCA0LTQgNGwtMTYgMGMtMi4yIDAtNC0xLjgtNC00bDAtODB6bS0xNjggMGwwIDgwYzAgMjQuMyAxOS43IDQ0IDQ0IDQ0bDE2IDBjMjQuMyAwIDQ0LTE5LjcgNDQtNDRsMC0yNGMwLTExLTktMjAtMjAtMjBsLTggMGMtMTEgMC0yMCA5LTIwIDIwIDAgNi41IDMuMSAxMi40IDggMTZsMCA4YzAgMi4yLTEuOCA0LTQgNGwtMTYgMGMtMi4yIDAtNC0xLjgtNC00bDAtODBjMC0yLjIgMS44LTQgNC00bDIwLjQgMGMxLjkgOS4xIDkuOSAxNiAxOS42IDE2IDExIDAgMjAtOSAyMC0yMCAwLTE5LjktMTYuMS0zNi0zNi0zNmwtMjQgMGMtMjQuMyAwLTQ0IDE5LjctNDQgNDR6bS05MC4xLTMyLjljLTQuMS04LjMtMTMuNS0xMi43LTIyLjUtMTAuNVMyMjAgMzkwLjcgMjIwIDQwMGwwIDEyOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTQzLjMgMjYuMSA1Mi4yYzQuMSA4LjMgMTMuNSAxMi43IDIyLjUgMTAuNVMzMjQgNTM3LjMgMzI0IDUyOGwwLTEyOGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjBsMCA0My4zLTI2LjEtNTIuMnoiXX0sUlV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImlnbG9vIixpY29uOls1NzYsNTEyLFtdLCJmN2FlIiwiTTMyMCAzMy44bDAgMTI2LjItMjcxLjUgMGM1MS43LTc3LjIgMTM5LjYtMTI4IDIzOS41LTEyOCAxMC44IDAgMjEuNSAuNiAzMiAxLjh6TTM2OCAxNjBsMC0xMTYuN2M2NiAxOSAxMjIuMiA2MSAxNTkuNSAxMTYuN0wzNjggMTYwek0yMi42IDIwOGw3My40IDAgMCAxMTItOTYgMGMwLTM5LjcgOC03Ny42IDIyLjYtMTEyek0xNzYgMzIwbC0zMiAwIDAtMTEyIDI4OCAwIDAgMTEyLTMyIDAgMCA0OCAxNzYgMCAwIDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC02NCAxNzYgMCAwLTQ4em0zMDQgMGwwLTExMiA3My40IDBDNTY4IDI0Mi40IDU3NiAyODAuMyA1NzYgMzIwbC05NiAwek0yODggMjg4Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDgwIDEyOCAwIDAtODBjMC0zNS4zLTI4LjctNjQtNjQtNjR6Il19LCRtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtZG9sbGFyLXRvLXNsb3QiLGljb246WzU3Niw1MTIsWyJkb25hdGUiXSwiZjRiOSIsIk05NiAyMjRhMTkyIDE5MiAwIDEgMSAzODQgMCAxOTIgMTkyIDAgMSAxIC0zODQgMHptMTc2LTkybDAgNGMtMjguOCAuMy01MiAyMy43LTUyIDUyLjUgMCAyNS43IDE4LjUgNDcuNiA0My45IDUxLjhsNDEuNyA3YzYgMSAxMC40IDYuMiAxMC40IDEyLjMgMCA2LjktNS42IDEyLjUtMTIuNSAxMi41TDI0OCAyNzJjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDI0IDAgMCA0YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNC43YzI1LTQuMSA0NC0yNS43IDQ0LTUxLjggMC0yNS43LTE4LjUtNDcuNi00My45LTUxLjhsLTQxLjctN2MtNi0xLTEwLjQtNi4yLTEwLjQtMTIuMyAwLTYuOSA1LjYtMTIuNSAxMi41LTEyLjVsNDcuNSAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtOCAwIDAtNGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjB6TTQ4IDM0NGwwIDEwNGMwIDguOCA3LjIgMTYgMTYgMTZsNDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSxPVXQ9JG1lLEZVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ5IixpY29uOlszODQsNTEyLFsxMjFdLCI1OSIsIk01OCA0NS40QzQ3LjggMzEgMjcuOCAyNy43IDEzLjQgMzhTLTQuMyA2OC4yIDYgODIuNkwxNjAgMjk4LjMgMTYwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTQ5LjcgMTU0LTIxNS43YzEwLjMtMTQuNCA2LjktMzQuNC03LjQtNDQuNlMzMzYuMiAzMSAzMjYgNDUuNEwxOTIgMjMyLjkgNTggNDUuNHoiXX0sRG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utc21pbGUtd2luayIsaWNvbjpbNTEyLDUxMixbMTI4NTIxLCJzbWlsZS13aW5rIl0sImY0ZGEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NS40IDMyMS45YzIwLjQgMjggNTMuNCA0Ni4xIDkwLjYgNDYuMXM3MC4yLTE4LjEgOTAuNi00Ni4xYzcuOC0xMC43IDIyLjgtMTMuMSAzMy41LTUuM3MxMy4xIDIyLjggNS4zIDMzLjVDMzU2LjMgMzkwIDMwOS4yIDQxNiAyNTYgNDE2cy0xMDAuMy0yNi0xMjkuNC02NS45Yy03LjgtMTAuNy01LjQtMjUuNyA1LjMtMzMuNXMyNS43LTUuNCAzMy41IDUuM3pNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNjQgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBjMC0zMy4xIDI2LjktNjAgNjAtNjBsMTYgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MCAwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjAtOS0yMC0yMC0yMGwtMTYgMGMtMTEgMC0yMCA5LTIwIDIweiJdfSxCVXQ9RG1lLEhVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLWZvdXIiLGljb246WzQ0OCw1MTIsWzk4NTldLCJmNTI0IiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0xNjAgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTI4IDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTM1MiAxNjBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIwIDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LEFtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tc3F1aW50LXRlYXJzIixpY29uOls1NzYsNTEyLFsxMjkzMTUsImdyaW4tc3F1aW50LXRlYXJzIl0sImY1ODYiLCJNNTYwIDM1LjRjMCAyNS42LTE4LjggNDcuMy00NC4xIDUwLjlMNDY5LjEgOTNjLTEwLjYgMS41LTE5LjYtNy41LTE4LjEtMTguMWw2LjctNDYuN0M0NjEuMyAyLjggNDgzLTE2IDUwOC42LTE2IDUzNy0xNiA1NjAgNyA1NjAgMzUuNHpNNDAzLjUgNjguMWMtNiA0Mi4yIDMwLjIgNzguNCA3Mi40IDcyLjRsMzcuOC01LjRDNTY1LjcgMjMyIDU1MC44IDM1NS4zIDQ2OSA0MzdzLTIwNSA5Ni42LTMwMS45IDQ0LjdsNS40LTM3LjhjNi00Mi4yLTMwLjItNzguNC03Mi40LTcyLjRsLTM3LjggNS40QzEwLjMgMjgwIDI1LjIgMTU2LjcgMTA3IDc1UzMxMi0yMS43IDQwOC45IDMwLjNsLTUuNCAzNy44ek00MTcuOCAyMDFjLTE5LjEgMzYuNC00NS42IDcyLjctNzguOSAxMDZzLTY5LjYgNTkuOC0xMDYgNzguOWMtMTEuMSA1LjgtMTIuNCAyMS40LTEuMSAyNi42IDU5LjIgMjcuNSAxMzEuOCAxNi44IDE4MC42LTMyczU5LjUtMTIxLjQgMzItMTgwLjZjLTUuMy0xMS4zLTIwLjgtMTAtMjYuNiAxLjF6TTExMy45IDI3MC42YzEuNyA4IDkgMTMuNCAxNy4xIDEyLjdsNDMuMS0zLjktMy45IDQzLjFjLS43IDguMSA0LjcgMTUuNSAxMi43IDE3LjFzMTUuOS0yLjkgMTguNC0xMC42bDI4LTg0LjZjMS45LTUuNyAuNC0xMi4xLTMuOS0xNi4zcy0xMC42LTUuOC0xNi4zLTMuOWwtODQuNiAyOGMtNy43IDIuNi0xMi4zIDEwLjUtMTAuNiAxOC41ek0zMTUuMiA5OS4xYy43LTguMS00LjctMTUuNS0xMi43LTE3LjFzLTE1LjkgMi45LTE4LjUgMTAuNmwtMjggODQuNmMtMS45IDUuNy0uNCAxMi4xIDMuOSAxNi4zczEwLjYgNS44IDE2LjMgMy45bDg0LjYtMjhjNy43LTIuNiAxMi4zLTEwLjUgMTAuNi0xOC40cy05LTEzLjQtMTcuMS0xMi43bC00My4xIDMuOSAzLjktNDMuMXpNNjAuMSA0MjUuN2w0Ni43LTYuN2MxMC42LTEuNSAxOS42IDcuNSAxOC4xIDE4LjFsLTYuNyA0Ni43QzExNC43IDUwOS4yIDkzIDUyOCA2Ny40IDUyOCAzOSA1MjggMTYgNTA1IDE2IDQ3Ni42IDE2IDQ1MSAzNC44IDQyOS4zIDYwLjEgNDI1Ljd6Il19LHFVdD1BbWUsVlV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtYXVkaW8iLGljb246WzM4NCw1MTIsW10sImYxYzciLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6bTUzLjggMTg1LjJjLTkuMS02LjMtMjEuNS00LjEtMjcuOCA1cy00LjEgMjEuNSA1IDI3LjhjMjMuOSAxNi43IDM5LjQgNDQuMyAzOS40IDc1LjVzLTE1LjYgNTguOS0zOS40IDc1LjVjLTkuMSA2LjMtMTEuMyAxOC44LTUgMjcuOHMxOC44IDExLjMgMjcuOCA1YzM0LjEtMjMuOCA1Ni42LTYzLjUgNTYuNi0xMDguM1MyOTYgMjY3LjUgMjYxLjggMjQzLjd6TTgwIDMxMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2bDI0IDAgMjcuMiAzNGMzIDMuOCA3LjYgNiAxMi41IDZsLjMgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMjhjMC04LjgtNy4yLTE2LTE2LTE2bC0uMyAwYy00LjkgMC05LjUgMi4yLTEyLjUgNmwtMjcuMiAzNC0yNCAwem0xMjggNzIuMmMwIDEwLjcgMTAuNSAxOC4yIDE4LjkgMTEuNiAxMi45LTEwLjMgMjEuMS0yNi4xIDIxLjEtNDMuOHMtOC4yLTMzLjUtMjEuMS00My44Yy04LjQtNi43LTE4LjkgLjktMTguOSAxMS42bDAgNjQuNXoiXX0salV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy1kb3duLXRvLWxpbmUiLGljb246WzUxMiw1MTIsW10sImU0YjgiLCJNMjE0LjYgMzEwLjZsLTY0IDY0Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtNjQtNjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMjc0LjcgOTYgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDI0Mi43IDkuNC05LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3ptMjU2IDBsLTY0IDY0Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtNjQtNjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsOS40IDkuNCAwLTI0Mi43YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAyNDIuNyA5LjQtOS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6TTMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJ6Il19LFVVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnIixpY29uOls0NDgsNTEyLFsxMDNdLCI0NyIsIk0yMjQgOTZDMTM1LjYgOTYgNjQgMTY3LjYgNjQgMjU2czcxLjYgMTYwIDE2MCAxNjBjNzcuNCAwIDE0Mi01NSAxNTYuOC0xMjhMMjU2IDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNDQgMGMyNS44IDAgNDkuNiAyMS40IDQ3LjIgNTAuNi05LjUgMTE1LTEwNS44IDIwNS40LTIyMy4yIDIwNS40LTEyMy43IDAtMjI0LTEwMC4zLTIyNC0yMjRTMTAwLjMgMzIgMjI0IDMyYzU3LjQgMCAxMDkuNyAyMS42IDE0OS4zIDU3IDEzLjIgMTEuOCAxNC4zIDMyIDIuNSA0NS4ycy0zMiAxNC4zLTQ1LjIgMi41QzMwMi4zIDExMS40IDI2NSA5NiAyMjQgOTZ6Il19LFdVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aWhhcmEiLGljb246WzU3Niw1MTIsW10sImY2YTciLCJNMjczLjYtMy4yYzguNS02LjQgMjAuMy02LjQgMjguOCAwTDQ0My4yIDEwMi40YzguMyA2LjIgMTguNCA5LjYgMjguOCA5LjYgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI0IDAgMCA0OCA1OC43IDY0IDEzLjMgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgNDggMjQuNCAzMiAxNS42IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQwIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTEyOCAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0xMjggMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItNDAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyMi4xIDAgMTcuOS0zMiAwLTQ4LTggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMy4zIDAgNTguNy02NCAwLTQ4LTI0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMTAuNCAwIDIwLjUtMy40IDI4LjgtOS42TDI3My42LTMuMnpNMTI4IDM2OGwzMjAgMCAwLTQ4LTMyMCAwIDAgNDh6TTM4NCAxNjBsLTE5MiAwIDAgNDggMTkyIDAgMC00OHoiXX0sR1V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZsYWctY2hlY2tlcmVkIixpY29uOls0NDgsNTEyLFsxMjc5MzddLCJmMTFlIiwiTTMyIDBDNDkuNyAwIDY0IDE0LjMgNjQgMzJsMCAxNiA2OS0xNy4yYzM4LjEtOS41IDc4LjMtNS4xIDExMy41IDEyLjUgNDYuMyAyMy4yIDEwMC44IDIzLjIgMTQ3LjEgMGw5LjYtNC44QzQyMy44IDI4LjEgNDQ4IDQzLjEgNDQ4IDY2LjFsMCAyNzkuN2MwIDEzLjMtOC4zIDI1LjMtMjAuOCAzMGwtMzQuNyAxM2MtNDYuMiAxNy4zLTk3LjYgMTQuNi0xNDEuNy03LjQtMzcuOS0xOS04MS40LTIzLjctMTIyLjUtMTMuNEw2NCAzODQgNjQgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDk3LjcgMCA0ODBMMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDB6TTY0IDE4Ny4xbDY0LTEzLjkgMCA2NS41LTY0IDEzLjkgMCA2NS41IDQ4LjgtMTIuMmM1LjEtMS4zIDEwLjEtMi40IDE1LjItMy4zbDAtNjMuOSAzOC45LTguNGM4LjMtMS44IDE2LjctMi41IDI1LjEtMi4xbDAtNjRjMTMuNiAuNCAyNy4yIDIuNiA0MC40IDYuNGwyMy42IDYuOSAwIDY2LjctNDEuNy0xMi4zYy03LjMtMi4xLTE0LjgtMy40LTIyLjMtMy44bDAgNzEuNGMyMS44IDEuOSA0My4zIDYuNyA2NCAxNC40bDAtNjkuOCAyMi43IDYuN2MxMy41IDQgMjcuMyA2LjQgNDEuMyA3LjRsMC02NC4yYy03LjgtLjgtMTUuNi0yLjMtMjMuMi00LjVsLTQwLjgtMTIgMC02MmMtMTMtMy44LTI1LjgtOC44LTM4LjItMTUtOC4yLTQuMS0xNi45LTctMjUuOC04LjhsMCA3Mi40Yy0xMy0uNC0yNiAuOC0zOC43IDMuNmwtMjUuMyA1LjUgMC03NS4yLTY0IDE2IDAgNzMuMXpNMzIwIDMzNS43YzE2LjggMS41IDMzLjktLjcgNTAtNi44bDE0LTUuMiAwLTcxLjctNy45IDEuOGMtMTguNCA0LjMtMzcuMyA1LjctNTYuMSA0LjVsMCA3Ny40em02NC0xNDkuNGwwLTcwLjhjLTIwLjkgNi4xLTQyLjQgOS4xLTY0IDkuMWwwIDY5LjRjMTMuOSAxLjQgMjggLjUgNDEuNy0yLjZsMjIuMy01LjJ6Il19LEtlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnYXVnZS1zaW1wbGUiLGljb246WzUxMiw1MTIsWyJnYXVnZS1zaW1wbGUtbWVkIiwidGFjaG9tZXRlci1hdmVyYWdlIl0sImY2MjkiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMzIwIDk2YzAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM0wyODAgMTIwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTcyLjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0eiJdfSxZVXQ9S2VlLEtVdD1LZWUsUG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJpZ2h0LWxlZnQiLGljb246WzUxMiw1MTIsWyJleGNoYW5nZS1hbHQiXSwiZjM2MiIsIk01MDIuNiAxNTAuNmwtOTYgOTZjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45UzM1MiAyMzYuOSAzNTIgMjI0bDAtNjQtMzIwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzE0LjMgOTYgMzIgOTZsMzIwIDAgMC02NGMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zem0tMzk3LjMgMzUybC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTMTYwIDI3NS4xIDE2MCAyODhsMCA2NCAzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIwIDAgMCA2NGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOXoiXX0sWlV0PVBtZSxYVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGlsbHMiLGljb246WzUxMiw1MTIsW10sImY0ODQiLCJNNjQgMTEyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCAxMTItOTYgMCAwLTExMnpNMTc2IDM2OGMwLTQ4LjcgMTguMS05My4yIDQ4LTEyN2wwLTEyOUMyMjQgNTAuMSAxNzMuOSAwIDExMiAwUzAgNTAuMSAwIDExMkwwIDQwMGMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMiAzNy4zIDAgNzAuMy0xOC4yIDkwLjctNDYuMy0xNy0yOC42LTI2LjctNjItMjYuNy05Ny43em02NC43IDY3LjRjNC42IDguNyAxNi4zIDkuNyAyMy4zIDIuN0w0MzguMSAyNjRjNy03IDYtMTguNy0yLjctMjMuMy0yMC4xLTEwLjctNDMtMTYuNy02Ny40LTE2LjctNzkuNSAwLTE0NCA2NC41LTE0NCAxNDQgMCAyNC4zIDYgNDcuMyAxNi43IDY3LjR6TTI5Ny45IDQ3MmMtNyA3LTYgMTguNyAyLjcgMjMuMyAyMC4xIDEwLjcgNDMgMTYuNyA2Ny40IDE2LjcgNzkuNSAwIDE0NC02NC41IDE0NC0xNDQgMC0yNC4zLTYtNDcuMy0xNi43LTY3LjQtNC42LTguNy0xNi4zLTkuNy0yMy4zLTIuN0wyOTcuOSA0NzJ6Il19LFFVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJleHBsb3Npb24iLGljb246WzUxMiw1MTIsW10sImU0ZTkiLCJNMjU2LTMyYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMCAxNjBjMTIuNCAwIDIyLjcgOS40IDIzLjkgMjEuN0wyOTMuNCAyOTEuNiA0NjcuNiAxMS4zYzYuNy0xMC43IDIwLjUtMTQuNSAzMS43LTguNXMxNS44IDE5LjUgMTAuNiAzMUwzNzIuOCAzMzguNmMyLjIgMi4zIDQuMyA0LjcgNi4zIDcuMWw5Ny4yLTU0LjdjMTAuNS01LjkgMjMuNi0zLjEgMzAuOSA2LjRzNi4zIDIzLTIuMiAzMS41bC04NyA4Ny03MS40IDBjLTEzLjItMzcuMy00OC43LTY0LTkwLjUtNjRzLTc3LjQgMjYuNy05MC41IDY0bC03OS42IDAtNzUuNS01Mi4zQy42IDM1Ny0yLjggMzQ0LjEgMi40IDMzMy41czE3LjQtMTUuOSAyOC43LTEyLjRsOTcuMiAzMC40YzMtMy45IDYuMS03LjYgOS40LTExLjNMNzUuNCAyMzYuM2MtNi4xLTEwLjEtMy45LTIzLjEgNS4xLTMwLjdzMjIuMi03LjUgMzEuMSAuMUwyMTQgMjkzLjZjMS41LS40IDMtLjggNC41LTEuMWwxMy42LTE0Mi43YzEuMi0xMi4zIDExLjUtMjEuNyAyMy45LTIxLjd6TTMyIDQ2NGw0NTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAweiJdfSxKVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLWRvd24tdG8tcGVvcGxlIixpY29uOls1MTIsNTEyLFtdLCJlNGI5IiwiTTExMyAxNTNjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDE1IDg5QzUuNyA3OS42IDUuNyA2NC40IDE1IDU1UzM5LjYgNDUuNyA0OSA1NUw3MiA3OC4xIDcyLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDg2LjEgMjMtMjNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC02NCA2NHptMzIwIDBjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDMzNSA4OWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDIzIDIzIDAtODYuMWMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgODYuMSAyMy0yM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTY0IDY0ek0yNTYgMTkyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyem0wIDE2MGM1MyAwIDk2IDQzIDk2IDk2bDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyYzAtNTMgNDMtOTYgOTYtOTZ6TTMyIDI4OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem0zNTIgMGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek04MCAzNjhjMTUuMyAwIDI5LjYgNC4zIDQxLjggMTEuOC02LjMgMTYuMi05LjggMzMuOC05LjggNTIuMmwwIDQ4YzAgMTEuNCAyLjQgMjIuMiA2LjcgMzJsLTg3LjggMEMxMy44IDUxMiAwIDQ5OC4yIDAgNDgxLjFMMCA0NDhjMC00NC4yIDM1LjgtODAgODAtODB6TTM5My4zIDUxMmM0LjMtOS44IDYuNy0yMC42IDYuNy0zMmwwLTQ4YzAtMTguNC0zLjUtMzYtOS44LTUyLjIgMTIuMi03LjUgMjYuNS0xMS44IDQxLjgtMTEuOCA0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDMzLjFjMCAxNy0xMy44IDMwLjktMzAuOSAzMC45bC04Ny44IDB6Il19LGVXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2Vycy12aWV3ZmluZGVyIixpY29uOls1NzYsNTEyLFtdLCJlNTk1IiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0bDAgNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTcyYzAtOC44IDcuMi0xNiAxNi0xNmw3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0UzE0OS4zIDAgMTM2IDBMNjQgMHpNNDQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzJjMC0zNS4zLTI4LjctNjQtNjQtNjRMNDQwIDB6TTQ4IDM3NmMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDM2Mi43IDAgMzc2bDAgNzJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNzJ6bTUyOCAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNzJjMCA4LjgtNy4yIDE2LTE2IDE2bC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC03MnpNMjg4IDIxNmE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnptMCA0MGMtNTMgMC05NiA0My05NiA5NmwwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC01My00My05Ni05Ni05NnptMTkyLTY0YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTE2OCAyNzIuM2MtNDkuMyA0LjEtODggNDUuMy04OCA5NS43bDAgMTAuN2MwIDExLjggOS42IDIxLjMgMjEuMyAyMS4zbDQ2LjggMGMtMi43LTcuNS00LjEtMTUuNi00LjEtMjRsMC0yNGMwLTI5LjUgOC44LTU2LjkgMjQtNzkuN3pNNDI3LjkgNDAwbDQ2LjggMGMxMS44IDAgMjEuMy05LjYgMjEuMy0yMS4zbDAtMTAuN2MwLTUwLjMtMzguNy05MS42LTg4LTk1LjcgMTUuMiAyMi44IDI0IDUwLjIgMjQgNzkuN2wwIDI0YzAgOC40LTEuNCAxNi41LTQuMSAyNHpNMTkyIDE5MmE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSx0V3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyLW9uIixpY29uOls0NDgsNTEyLFtdLCJlNGRkIiwiTTI0OC04YzAtMTMuMy0xMC43LTI0LTI0LTI0UzIwMC0yMS4zIDIwMC04bDAgNjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTY0ek0xNDUuMyAyMDhsMTU3LjUgMGM2LjcgMCAxMi42IDQuMSAxNSAxMC40bDI2LjEgNjkuNi0yMzkuNiAwIDI2LjEtNjkuNmMyLjMtNi4yIDguMy0xMC40IDE1LTEwLjR6TTM0IDI5Mi44bC0xLjMgMy40QzEzLjIgMzA3LjEgMCAzMjggMCAzNTJMMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyIDI4OCAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTI0LTEzLjItNDQuOS0zMi44LTU1LjlsLTEuMy0zLjQtMzYuMy05Ni45Yy0xMS43LTMxLjItNDEuNi01MS45LTc0LjktNTEuOWwtMTU3LjUgMGMtMzMuMyAwLTYzLjIgMjAuNy03NC45IDUxLjlMMzQgMjkyLjh6TTk2IDMzNmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTIyNCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek03IDdDLTIuMyAxNi40LTIuMyAzMS42IDcgNDFMNTUgODljOS40IDkuNCAyNC42IDkuNCAzMy45IDBTOTguMyA2NC40IDg5IDU1TDQxIDdDMzEuNi0yLjMgMTYuNC0yLjMgNyA3ek00MDcgN0wzNTkgNTVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw0OC00OGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOVM0MTYuNC0yLjMgNDA3IDd6Il19LGFXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbGVpZ2giLGljb246WzY0MCw1MTIsW10sImY3Y2MiLCJNNjQgMzJDNDYuMyAzMiAzMiA0Ni4zIDMyIDY0UzQ2LjMgOTYgNjQgOTZsMCAxNjBjMCA0MS44IDI2LjcgNzcuNCA2NCA5MC41bDAgNjkuNS03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDUwNCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtOGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTgwIDAgMC02NGM1MyAwIDk2LTQzIDk2LTk2bDAtOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTQ4LjkgMGMtNDguNSAwLTkyLjgtMjcuNC0xMTQuNS03MC44bC0yNS4yLTUwLjVDMjM3LjcgNTkuNCAxOTMuNCAzMiAxNDQuOSAzMkw2NCAzMnpNNDMyIDQxNmwtMjU2IDAgMC02NCAyNTYgMCAwIDY0eiJdfSxyV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHVtYmJlbGwiLGljb246WzY0MCw1MTIsW10sImY0NGIiLCJNOTYgMTEyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCAxMTIgMjU2IDAgMC0xMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDE2IDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDQ4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNiAwIDAgMTZjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC0xMTItMjU2IDAgMCAxMTJjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC0xNi0xNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtNDhjMC0yNi41IDIxLjUtNDggNDgtNDhsMTYgMCAwLTE2eiJdfSxFbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFieS1jYXJyaWFnZSIsaWNvbjpbNTEyLDUxMixbImNhcnJpYWdlLWJhYnkiXSwiZjc3ZCIsIk02NCAyMDhsMCA4MGMwIDUzIDQzIDk2IDk2IDk2bDE5MiAwYzUzIDAgOTYtNDMgOTYtOTZsMC0xMTIgNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA1Ni0zMzYgMHptLjItNDhsMjIzLjggMCAwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkwyMzIgMEMxNDEuOSAwIDY4LjQgNzAuOSA2NC4yIDE2MHpNMTYwIDQ2NGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwem0yODggMGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSxzV3Q9RW1lLGlXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJraXdpLWJpcmQiLGljb246WzU3Niw1MTIsW10sImY1MzUiLCJNMjkxLjIgMzg4LjRjMzEuMi0xOC44IDY0LjctMzYuNCAxMDEuMS0zNi40bDU1LjcgMGM0LjYgMCA5LjEtLjIgMTMuNi0uN2w4NS4zIDEyMS45YzQgNS43IDExLjMgOC4yIDE3LjkgNi4xUzU3NiA0NzEgNTc2IDQ2NGwwLTI0MGMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOGwtNTUuNyAwQzM1NS45IDk2IDMyMi40IDc4LjQgMjkxLjIgNTkuNiAyNjIuMyA0Mi4xIDIyOC4zIDMyIDE5MiAzMiA4NiAzMiAwIDExOCAwIDIyNCAwIDI5NS4xIDM4LjYgMzU3LjEgOTYgMzkwLjNMOTYgNDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00NmMxNS4zIDMuOSAzMS40IDYgNDggNiA1LjQgMCAxMC43LS4yIDE2LS43bDAgNDAuN2MwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNTAuOWMxMi40LTQuNCAyNC4yLTEwIDM1LjItMTYuN3pNNDQ4IDIwMGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LEltZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci14bWFyayIsaWNvbjpbNDQ4LDUxMixbImNhbGVuZGFyLXRpbWVzIl0sImYyNzMiLCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0yOTEuOSAyMjAuMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTMzLjkgMzMuOS0zMy45LTMzLjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMzMuOSAzMy45LTMzLjkgMzMuOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDMzLjktMzMuOSAzMy45IDMzLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0zMy45LTMzLjkgMzMuOS0zMy45YzkuNC05LjQgOS40LTI0LjYgMC0zMy45eiJdfSxvV3Q9SW1lLE5tZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtZG93biIsaWNvbjpbNTEyLDUxMixbNjE0NjYsImFycm93LWFsdC1jaXJjbGUtZG93biJdLCJmMzU4IiwiTTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTIgMjU2IDI1NiAwIDEgMCAwLTUxMnpNMjQ0LjcgMzg3LjNsLTEwNC0xMDRjLTQuNi00LjYtNS45LTExLjUtMy41LTE3LjRzOC4zLTkuOSAxNC44LTkuOWw1NiAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDU2IDBjNi41IDAgMTIuMyAzLjkgMTQuOCA5LjlzMS4xIDEyLjktMy41IDE3LjRsLTEwNCAxMDRjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAweiJdfSxuV3Q9Tm1lLGxXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLW1lZGljYWwiLGljb246WzM4NCw1MTIsW10sImY0NzciLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTE2MCAyODBsMCA0MC00MCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsNDAgMCAwIDQwYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTQwIDQwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC00MCAwIDAtNDBjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LHQ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InhtYXJrIixpY29uOlszODQsNTEyLFsxMjg0NzMsMTAwMDUsMTAwMDYsMTAwNjAsMjE1LCJjbG9zZSIsIm11bHRpcGx5IiwicmVtb3ZlIiwidGltZXMiXSwiZjAwZCIsIk01NS4xIDczLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDE0Ny4yIDI1NiA5LjkgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTkyLjUgMzAxLjMgMzI5LjkgNDM4LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wyMzcuOCAyNTYgMzc1LjEgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMTkyLjUgMjEwLjcgNTUuMSA3My40eiJdfSxjV3Q9dDQsZFd0PXQ0LHVXdD10NCxwV3Q9dDQsUm1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoYXBlcyIsaWNvbjpbNTEyLDUxMixbInRyaWFuZ2xlLWNpcmNsZS1zcXVhcmUiXSwiZjYxZiIsIk0yNTYgMGMxMS4yIDAgMjEuNyA1LjkgMjcuNCAxNS41bDk2IDE2MGM1LjkgOS45IDYuMSAyMi4yIC40IDMyLjJTMzYzLjUgMjI0IDM1MiAyMjRsLTE5MiAwYy0xMS41IDAtMjIuMi02LjItMjcuOC0xNi4ycy01LjUtMjIuMyAuNC0zMi4ybDk2LTE2MEMyMzQuMyA1LjkgMjQ0LjggMCAyNTYgMHpNMTI4IDI3MmExMTIgMTEyIDAgMSAxIDAgMjI0IDExMiAxMTIgMCAxIDEgMC0yMjR6bTIwMCAxNmwxMTIgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDExMmMwIDIyLjEtMTcuOSA0MC00MCA0MGwtMTEyIDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtMTEyYzAtMjIuMSAxNy45LTQwIDQwLTQweiJdfSxmV3Q9Um1lLGhXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLW9uZSIsaWNvbjpbNDQ4LDUxMixbOTg1Nl0sImY1MjUiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjI0IDIyNGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LG1XdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2NrLW9wZW4iLGljb246WzU3Niw1MTIsW10sImYzYzEiLCJNMzg0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzJjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhTMzIwIDI1LjMgMzIwIDk2bDAgNjQtMTYwIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjI0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwIDAtNjR6Il19LGdXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXBwZXItaG90IixpY29uOls1NzYsNTEyLFsxMjc3OThdLCJmODE2IiwiTTU0NSA2NWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDQ3OC45IDYzLjJDNDUyLjMgNDMuNiA0MTkuNSAzMiAzODQgMzIgMzQ4LjkgMzIgMzE2LjUgNDMuMyAyOTAuMSA2Mi40IDI3NC4xIDc0LjEgMjg0LjIgOTYgMzA0IDk2bDI0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjRjMCAxOS44IDIxLjkgMjkuOSAzMy42IDEzLjkgMTkuMS0yNi40IDMwLjQtNTguOCAzMC40LTkzLjkgMC0zNS41LTExLjYtNjguMy0zMS4yLTk0LjlMNTQ1IDY1ek0yNzAgMTM1LjVsLTE1OS42IDIyOEMxMDEuMyAzNzYuNCA4Ni43IDM4NCA3MSAzODRsLTcgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhzMjEuNSA0OCA0OCA0OGwyNy4xIDBjNjUuNyAwIDEyOS43LTIwLjIgMTgzLjUtNTcuOEw0NDAuNSAzMDYuMUM0MzUgMjk1LjkgNDMyIDI4NC4yIDQzMiAyNzJsLTU2IDBjLTM5LjggMC03Mi0zMi4yLTcyLTcybDAtNTZjLTEyLjIgMC0yMy45LTMtMzQtOC41eiJdfSxPbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHJvcGxldC1zbGFzaCIsaWNvbjpbNTc2LDUxMixbInRpbnQtc2xhc2giXSwiZjVjNyIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQ2My42IDM5Ny44YzEwLjUtMjMuOCAxNi40LTUwLjEgMTYuNC03Ny44IDAtOTEuMi0xMzAuMi0yNzQuMS0xNjYuNi0zMjMuNS01LjktOC0xNS4yLTEyLjUtMjUuMi0xMi41bC0uNCAwYy0xMCAwLTE5LjMgNC41LTI1LjIgMTIuNS0xNS42IDIxLjItNDguNSA2Ni45LTgwLjkgMTE5LjRMNDEtMjQuOXptOTIgMjI3LjdjLTIxLjYgNDMuOC0zNyA4NS45LTM3IDExNy4yIDAgMTA2IDg2IDE5MiAxOTIgMTkyIDQzLjQgMCA4My40LTE0LjQgMTE1LjUtMzguNkwxMzMgMjAyLjh6Il19LGJXdD1PbWUsRm1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRyb3BsZXQiLGljb246WzM4NCw1MTIsWzEyODE2NywidGludCJdLCJmMDQzIiwiTTE5MiA1MTJDODYgNTEyIDAgNDI2IDAgMzIwIDAgMjI4LjggMTMwLjIgNDUuOSAxNjYuNi0zLjUgMTcyLjUtMTEuNSAxODEuOC0xNiAxOTEuOC0xNmwuNCAwYzEwIDAgMTkuMyA0LjUgMjUuMiAxMi41IDM2LjQgNDkuNCAxNjYuNiAyMzIuMyAxNjYuNiAzMjMuNSAwIDEwNi04NiAxOTItMTkyIDE5MnpNMTEyIDMxMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDc1LjEgNjAuOSAxMzYgMTM2IDEzNiAxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGMtNDguNiAwLTg4LTM5LjQtODgtODh6Il19LHZXdD1GbWUsWmVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtbGluZXMiLGljb246WzM4NCw1MTIsWzEyODQ0MSwxMjg0NjIsNjE2ODYsImZpbGUtYWx0IiwiZmlsZS10ZXh0Il0sImYxNWMiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTEyMCAyNTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAwem0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0seFd0PVplZSx5V3Q9WmVlLHdXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21tZW50cy1kb2xsYXIiLGljb246WzU3Niw1MTIsW10sImY2NTMiLCJNMTkyIDMyMGMxMDYgMCAxOTItNzguOCAxOTItMTc2UzI5OC0zMiAxOTItMzIgMCA0Ni44IDAgMTQ0YzAgMzkuNiAxNC4zIDc2LjIgMzguNCAxMDUuNkwyLjggMzE2LjhDLTIuMSAzMjYuMS0uNCAzMzcuNSA3IDM0NXMxOC45IDkuMiAyOC4yIDQuMkwxMTYuOCAzMDZjMjMuMSA5IDQ4LjUgMTQgNzUuMiAxNHptMy4yIDQ4YzE2LjQgODEuOSA5NC43IDE0NCAxODguOCAxNDQgMjYuNyAwIDUyLjEtNSA3NS4yLTE0bDgxLjYgNDMuMmM5LjMgNC45IDIwLjcgMy4yIDI4LjItNC4yczkuMi0xOC45IDQuMi0yOC4ybC0zNS42LTY3LjJjMjQuMS0yOS40IDM4LjQtNjYgMzguNC0xMDUuNiAwLTgyLjQtNjEuNy0xNTEuNS0xNDUtMTcwLjctMTEuNSAxMTUuOC0xMTUuOCAyMDEuMi0yMzUuOCAyMDIuN3pNMTk2IDMyYzExIDAgMjAgOSAyMCAyMGwwIDQgOCAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMGwtNDcuNSAwYy02LjkgMC0xMi41IDUuNi0xMi41IDEyLjUgMCA2LjEgNC40IDExLjMgMTAuNCAxMi4zbDQxLjcgN2MyNS4zIDQuMiA0My45IDI2LjEgNDMuOSA1MS44IDAgMjYuMS0xOSA0Ny43LTQ0IDUxLjhsMCA0LjdjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtNC0yNCAwYy0xMSAwLTIwLTktMjAtMjBzOS0yMCAyMC0yMGw1NS41IDBjNi45IDAgMTIuNS01LjYgMTIuNS0xMi41IDAtNi4xLTQuNC0xMS4zLTEwLjQtMTIuM2wtNDEuNy03Yy0yNS4zLTQuMi00My45LTI2LjEtNDMuOS01MS44IDAtMjguOCAyMy4yLTUyLjIgNTItNTIuNWwwLTRjMC0xMSA5LTIwIDIwLTIweiJdfSxCbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFnbmlmeWluZy1nbGFzcy1sb2NhdGlvbiIsaWNvbjpbNTEyLDUxMixbInNlYXJjaC1sb2NhdGlvbiJdLCJmNjg5IiwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZDMjk2LjMgNDAxLjEgMjUzLjkgNDE2IDIwOCA0MTYgOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDAgNDE2IDkzLjEgNDE2IDIwOHpNMjg4IDE3NmMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGMwIDQ4LjggNDYuNSAxMTEuNiA2OC42IDEzOC42IDYgNy4zIDE2LjggNy4zIDIyLjcgMCAyMi4xLTI3IDY4LjYtODkuOCA2OC42LTEzOC42em0tMTEyIDBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sTVd0PUJtZSxOdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1pbnZvaWNlIixpY29uOlszODQsNTEyLFtdLCJmNTcwIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjc3LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjU4LjcgMTguN0MyNDYuNyA2LjcgMjMwLjUgMCAyMTMuNSAwTDY0IDB6TTMyNS41IDE3NkwyMzIgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyMDggNTguNSAzMjUuNSAxNzZ6TTY0IDM4NGwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgNDE2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNODggNjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRTNzQuNyA2NCA4OCA2NHptMCA5Nmw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxrV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVudGFnb24iLGljb246WzU3Niw1MTIsW10sImU3OTAiLCJNMzE2LjQtMy4xYy0xNi44LTEyLjItMzkuNi0xMi4yLTU2LjQgMEwzNS4zIDE2MC4yYy0xNi44IDEyLjItMjMuOSAzMy45LTE3LjQgNTMuN2w4NS44IDI2NC4xYzYuNCAxOS44IDI0LjkgMzMuMiA0NS43IDMzLjJsMjc3LjcgMGMyMC44IDAgMzkuMi0xMy40IDQ1LjctMzMuMmw4NS44LTI2NC4xYzYuNC0xOS44LS42LTQxLjQtMTcuNC01My43TDMxNi40LTMuMXoiXX0sU1d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlcHVibGljYW4iLGljb246WzY0MCw1MTIsW10sImY3NWUiLCJNMCAxOTJDMCAxMDMuNiA3MS42IDMyIDE2MCAzMmwyMjQgMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MGwwIDY0LTU0NCAwIDAtNjR6bTE1Mi0zMmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwem0yMzIgMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4ek0yODAgMTYwYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTEyOCAyODhsNDE2IDAgMCAxMTJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA0OGMwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGwwLTQ4LTMyIDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NC0xOTIgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2MCAxMjggMHoiXX0sSG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNob3AiLGljb246WzU3Niw1MTIsWyJzdG9yZS1hbHQiXSwiZjU0ZiIsIk0yMS41IDE4MS4xTDc4LjMgNjcuNEM4OS4yIDQ1LjcgMTExLjMgMzIgMTM1LjYgMzJsMzA0LjkgMGMyNC4yIDAgNDYuNCAxMy43IDU3LjIgMzUuNGw1Ni44IDExMy43YzMuNiA3LjIgNS41IDE1LjEgNS41IDIzLjIgMCAyNy4zLTIxLjIgNDkuNy00OCA1MS42TDUxMiA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOTItOTYgMCAwIDE3NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTkyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTc2LjFjLTI2LjgtMS45LTQ4LTI0LjMtNDgtNTEuNiAwLTggMS45LTE2IDUuNS0yMy4yek0xMjggMjU2bDAgMTEyYzAgOC44IDcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMTItMTYwIDB6Il19LHpXdD1IbWUsWGVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbG0iLGljb246WzQ0OCw1MTIsWzEyNzkwMiw2MjM2OCwiZmlsbS1hbHQiLCJmaWxtLXNpbXBsZSJdLCJmMDA4IiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek00OCAzNjhsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMzA0LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTQ4IDI0MGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0zMDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNDggMTEybDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDk2Yy04LjggMC0xNiA3LjItMTYgMTZ6TTM1MiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAweiJdfSxDV3Q9WGVlLF9XdD1YZWUsVFd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWNpcmNsZS14bWFyayIsaWNvbjpbNTc2LDUxMixbXSwiZTRkNCIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE4MCAwYy0xMC41LTE0LjYtMTktMzAuNy0yNS4xLTQ4bC03NC45IDAgMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzIgMCA0IC4yIDUuOSAuNSA2LTIzLjYgMTYuMy00NS40IDMwLjEtNjQuNWwtNCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0YzI3LjUtMTkuOCA2MC4zLTMyLjQgOTYtMzUuNEw0MTYgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMOTYgMHptMzIgMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTI3MiA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xMjggMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0yMi42LTE0NGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZMNDU0LjYgNDAweiJdfSxMV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudHMiLGljb246WzU3Niw1MTIsWzEyODQ5MCw2MTY3MF0sImYwODYiLCJNMzg0IDE0NGMwIDk3LjItODYgMTc2LTE5MiAxNzYtMjYuNyAwLTUyLjEtNS03NS4yLTE0TDM1LjIgMzQ5LjJjLTkuMyA0LjktMjAuNyAzLjItMjguMi00LjJzLTkuMi0xOC45LTQuMi0yOC4ybDM1LjYtNjcuMkMxNC4zIDIyMC4yIDAgMTgzLjYgMCAxNDQgMCA0Ni44IDg2LTMyIDE5Mi0zMlMzODQgNDYuOCAzODQgMTQ0em0wIDM2OGMtOTQuMSAwLTE3Mi40LTYyLjEtMTg4LjgtMTQ0IDEyMC0xLjUgMjI0LjMtODYuOSAyMzUuOC0yMDIuNyA4My4zIDE5LjIgMTQ1IDg4LjMgMTQ1IDE3MC43IDAgMzkuNi0xNC4zIDc2LjItMzguNCAxMDUuNmwzNS42IDY3LjJjNC45IDkuMyAzLjIgMjAuNy00LjIgMjguMnMtMTguOSA5LjItMjguMiA0LjJMNDU5LjIgNDk4Yy0yMy4xIDktNDguNSAxNC03NS4yIDE0eiJdfSwkV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFncyIsaWNvbjpbNTc2LDUxMixbXSwiZjAyYyIsIk00MDEuMiAzOS4xTDU0OS40IDE4OS40YzI3LjcgMjguMSAyNy43IDczLjEgMCAxMDEuMkwzOTMgNDQ4LjljLTkuMyA5LjQtMjQuNSA5LjUtMzMuOSAuMnMtOS41LTI0LjUtLjItMzMuOUw1MTUuMyAyNTYuOGM5LjItOS4zIDkuMi0yNC40IDAtMzMuN0wzNjcgNzIuOWMtOS4zLTkuNC05LjItMjQuNiAuMi0zMy45czI0LjYtOS4yIDMzLjkgLjJ6TTMyLjEgMjI5LjVMMzIuMSA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwxMzMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43bDE0NCAxNDRjMjUgMjUgMjUgNjUuNSAwIDkwLjVMMjg1LjQgNDE4LjdjLTI1IDI1LTY1LjUgMjUtOTAuNSAwbC0xNDQtMTQ0Yy0xMi0xMi0xOC43LTI4LjMtMTguNy00NS4zem0xNDQtODUuNWEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAweiJdfSxEV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3VuIixpY29uOls1NzYsNTEyLFtdLCJlMTliIiwiTTUyOCA1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDgtNDQ4IDBDMTQuMyA2NCAwIDc4LjMgMCA5NkwwIDIwOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMCAwYzIwLjggMCAzNi4xIDE5LjYgMzEgMzkuOEwzMyA0NDAuMmMtMi40IDkuNi0uMiAxOS43IDUuOCAyNy41UzU0LjEgNDgwIDY0IDQ4MGw5NiAwYzE0LjcgMCAyNy41LTEwIDMxLTI0LjJMMjE3IDM1MiAzMjEuNCAzNTJjMjMuNyAwIDQ0LjgtMTQuOSA1Mi43LTM3LjJsMjYuNy03NC44IDMxLjEgMGM4LjUgMCAxNi42LTMuNCAyMi42LTkuNGwyMi42LTIyLjYgNjYuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtODBjMC0xNy43LTE0LjMtMzItMzItMzJsLTE2IDAgMC04ek0zMjEuNCAzMDRsLTkyLjUgMCAxNi02NCAxMDUgMC0yMSA1OC43Yy0xLjEgMy4yLTQuMiA1LjMtNy41IDUuM3pNODAgMTI4bDM4NCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2TDgwIDE2MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnoiXX0sbnY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWNoZWNrIixpY29uOls1MTIsNTEyLFs2MTUzMywiY2hlY2stY2lyY2xlIl0sImYwNTgiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAxIDAtNTEyIDI1NiAyNTYgMCAxIDEgMCA1MTJ6TTM3NCAxNDUuN2MtMTAuNy03LjgtMjUuNy01LjQtMzMuNSA1LjNMMjIxLjEgMzE1LjIgMTY5IDI2My4xYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyYzUgNSAxMS44IDcuNSAxOC44IDdzMTMuNC00LjEgMTcuNS05LjhMMzc5LjMgMTc5LjJjNy44LTEwLjcgNS40LTI1LjctNS4zLTMzLjV6Il19LEFXdD1udixQV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2NvcnBpbyIsaWNvbjpbNjQwLDUxMixbXSwiZTg0ZSIsIk0zNjggMzJjNjEuOSAwIDExMiA1MC4xIDExMiAxMTJsMCAyODkuN2MwIDcuOSA2LjQgMTQuMyAxNC4zIDE0LjMgMy45IDAgNy42LTEuNiAxMC4yLTQuM2w0MC4xLTQxLjEtOS43LTkuN2MtNi45LTYuOS04LjktMTcuMi01LjItMjYuMlM1NDIuMyAzNTIgNTUyIDM1Mmw2NCAwIDIuNSAuMWMxMi4xIDEuMiAyMS41IDExLjUgMjEuNSAyMy45bDAgNjQtLjMgMy42Yy0xLjIgOC4yLTYuNyAxNS4zLTE0LjUgMTguNi05IDMuNy0xOS4zIDEuNi0yNi4yLTUuMmwtOS4xLTkuMS0zOS42IDQwLjZjLTE0LjcgMTUuMS0zNC45IDIzLjYtNTYgMjMuNi00My4zIDAtNzguMy0zNS4xLTc4LjMtNzguM0w0MTYgMTQ0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4bDAgMzA0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzA0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4bDAgMzA0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzIwYzAtMTYuNi0xMi42LTMwLjItMjguNy0zMS44bC02LjYtLjNDNDQuNiA5NC4yIDMyIDgwLjYgMzIgNjQgMzIgNDYuMyA0Ni4zIDMyIDY0IDMyIDkxIDMyIDExNS4zIDQzLjEgMTMyLjcgNjEgMTUyLjYgNDMgMTc5IDMyIDIwOCAzMiAyMzkuMyAzMiAyNjcuNyA0NC45IDI4OCA2NS43IDMwOC4zIDQ0LjkgMzM2LjYgMzIgMzY4IDMyeiJdfSxxbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaWQtY2FyZC1jbGlwIixpY29uOls1NzYsNTEyLFsiaWQtY2FyZC1hbHQiXSwiZjQ3ZiIsIk0yNTYtMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0LTEyOCAwIDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTY0IDMybDExMiAwIDAgMzJjMCAyNi41IDIxLjUgNDggNDggNDhsMTI4IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zMiAxMTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJ6TTE3NiA0MDBjMCA4LjggNy4yIDE2IDE2IDE2bDE5MiAwYzguOCAwIDE2LTcuMiAxNi0xNiAwLTQ0LjItMzUuOC04MC04MC04MGwtNjQgMGMtNDQuMiAwLTgwIDM1LjgtODAgODB6TTI4OCAyODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6Il19LEVXdD1xbWUsSVd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vb24iLGljb246WzUxMiw1MTIsWzEyNzc2OSw5MjE0XSwiZjE4NiIsIk0yNTYgMEMxMTQuNiAwIDAgMTE0LjYgMCAyNTZTMTE0LjYgNTEyIDI1NiA1MTJjNjguOCAwIDEzMS4zLTI3LjIgMTc3LjMtNzEuNCA3LjMtNyA5LjQtMTcuOSA1LjMtMjcuMXMtMTMuNy0xNC45LTIzLjgtMTQuMWMtNC45IC40LTkuOCAuNi0xNC44IC42LTEwMS42IDAtMTg0LTgyLjQtMTg0LTE4NCAwLTcyLjEgNDEuNS0xMzQuNiAxMDIuMS0xNjQuOCA5LjEtNC41IDE0LjMtMTQuMyAxMy4xLTI0LjRTMzIyLjYgOC41IDMxMi43IDYuM0MyOTQuNCAyLjIgMjc1LjQgMCAyNTYgMHoiXX0sTld0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im9pbC13ZWxsIixpY29uOls1NzYsNTEyLFtdLCJlNTMyIiwiTTUyOC4zIDYxLjNjLTExLjQtNDIuNy01NS4zLTY4LTk4LTU2LjZMNDE0LjkgOC44QzM5Ny44IDEzLjQgMzg3LjcgMzEgMzkyLjMgNDhsMjQuNSA5MS40LTEwOC4yIDI4LjEtNi4zLTE4LjFDMjk3LjcgMTM2LjYgMjg1LjYgMTI4IDI3MiAxMjhzLTI1LjcgOC42LTMwLjIgMjEuNGwtMTMuNiAzOS0xMzIuMiAzNC4zIDAtMzguNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI2NC0xNiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUxMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMzcuMyAwLTYxLjQtMTc1LjQtNjIuMiAxNi4xIDIyLjEgNjMuMi02Ni42IDAgMTkuOS01Ni45LTc0LjYgMTkuMy00Ni43IDEzMy41LTQxLjMgMCAwLTE1OS4yIDMzNy40LTg3LjUgMjUuMiA5NGM0LjYgMTcuMSAyMi4xIDI3LjIgMzkuMiAyMi42bDE1LjUtNC4xYzQyLjctMTEuNCA2OC01NS4zIDU2LjYtOThMNTI4LjMgNjEuM3pNMjA1LjEgNDQ4bDE2LjgtNDggMTAwLjIgMCAxNi44IDQ4LTEzMy44IDB6Il19LFZtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWNob2dyYXBoLWRpZ2l0YWwiLGljb246WzU3Niw1MTIsWyJkaWdpdGFsLXRhY2hvZ3JhcGgiXSwiZjU2NiIsIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4em02NCAzMmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNODggMzUyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEzNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDM1MnptMjU2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAwek00OTYgMTkyYTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpNODggMzEyYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMTA0LTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTU2IDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sUld0PVZtZSxqbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGV0IixpY29uOls0NDgsNTEyLFsidGFibGV0LWFuZHJvaWQiXSwiZjNmYiIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek0xODQgNDAwbDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LE9XdD1qbWUsR2I9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicnVibGUtc2lnbiIsaWNvbjpbNDQ4LDUxMixbODM4MSwicm91YmxlIiwicnViIiwicnVibGUiXSwiZjE1OCIsIk0xMTIgMzJDOTQuMyAzMiA4MCA0Ni4zIDgwIDY0bDAgMjA4LTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMCAwIDQ4LTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAxNTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTUyIDAgMC00OCAxMTIgMGM3OS41IDAgMTQ0LTY0LjUgMTQ0LTE0NFMzMzUuNSAzMiAyNTYgMzJMMTEyIDMyek0yNTYgMjU2bC0xMTIgMCAwLTE2MCAxMTIgMGM0NC4yIDAgODAgMzUuOCA4MCA4MHMtMzUuOCA4MC04MCA4MHoiXX0sRld0PUdiLEJXdD1HYixIV3Q9R2IscVd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3NlZC1jYXB0aW9uaW5nIixpY29uOls1MTIsNTEyLFtdLCJmMjBhIiwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTE1MiA4MGwzMiAwYzQuNCAwIDggMy42IDggOCAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMzAuOS0yNS4xLTU2LTU2LTU2bC0zMiAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDgwYzAgMzAuOSAyNS4xIDU2IDU2IDU2bDMyIDBjMzAuOSAwIDU2LTI1LjEgNTYtNTYgMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRjMCA0LjQtMy42IDgtOCA4bC0zMiAwYy00LjQgMC04LTMuNi04LThsMC04MGMwLTQuNCAzLjYtOCA4LTh6bTE2OCA4YzAtNC40IDMuNi04IDgtOGwzMiAwYzQuNCAwIDggMy42IDggOCAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMzAuOS0yNS4xLTU2LTU2LTU2bC0zMiAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDgwYzAgMzAuOSAyNS4xIDU2IDU2IDU2bDMyIDBjMzAuOSAwIDU2LTI1LjEgNTYtNTYgMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRjMCA0LjQtMy42IDgtOCA4bC0zMiAwYy00LjQgMC04LTMuNi04LThsMC04MHoiXX0sVld0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlbiIsaWNvbjpbNTEyLDUxMixbMTI4Mzk0XSwiZjMwNCIsIk0zNTIuOSAyMS4yTDMwOCA2Ni4xIDQ0NS45IDIwNCA0OTAuOCAxNTkuMUM1MDQuNCAxNDUuNiA1MTIgMTI3LjIgNTEyIDEwOHMtNy42LTM3LjYtMjEuMi01MS4xTDQ1NS4xIDIxLjJDNDQxLjYgNy42IDQyMy4yIDAgNDA0IDBzLTM3LjYgNy42LTUxLjEgMjEuMnpNMjc0LjEgMTAwTDU4LjkgMzE1LjFjLTEwLjcgMTAuNy0xOC41IDI0LjEtMjIuNiAzOC43TC45IDQ4MS42Yy0yLjMgOC4zIDAgMTcuMyA2LjIgMjMuNHMxNS4xIDguNSAyMy40IDYuMmwxMjcuOC0zNS41YzE0LjYtNC4xIDI3LjktMTEuOCAzOC43LTIyLjZMNDEyIDIzNy45IDI3NC4xIDEwMHoiXX0sald0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lIixpY29uOls1NzYsNTEyLFtdLCJmMDcyIiwiTTUyMCAyMDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZzLTI1LjEgNTYtNTYgNTZsLTEyNy4zIDAtMTU5LjIgMTczLjZjLTYuMSA2LjYtMTQuNiAxMC40LTIzLjYgMTAuNGwtNDMuNyAwYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMWw1NC4zLTE2Mi45LTk5LjcgMC01Mi44IDY2Yy0zIDMuOC03LjYgNi0xMi41IDZsLTE5LjggMGMtMTAuNCAwLTE4LTkuOC0xNS41LTE5LjlMMzIgMjU2IDUgMTQ3LjlDMi40IDEzNy44IDEwLjEgMTI4IDIwLjUgMTI4bDE5LjggMGM0LjkgMCA5LjUgMi4yIDEyLjUgNmw1Mi44IDY2IDk5LjcgMC01NC4zLTE2Mi45QzE0Ny42IDI2LjcgMTU1LjMgMTYgMTY2LjIgMTZsNDMuNyAwYzkgMCAxNy41IDMuOCAyMy42IDEwLjRMMzkyLjcgMjAwIDUyMCAyMDB6Il19LFVXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpbWFnZXMiLGljb246WzU3Niw1MTIsW10sImYzMDIiLCJNOTYgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTMyMCAwYy0zNS4zIDAtNjQtMjguNy02NC02NEw5NiA5NnpNMjQgMTI4YzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjk2YzAgOC44IDcuMiAxNiAxNiAxNmwzNjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTUyYzAtMTMuMyAxMC43LTI0IDI0LTI0em0xNjggMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xOTYuNSAxMS41Yy00LjQtNy4xLTEyLjEtMTEuNS0yMC41LTExLjVzLTE2LjEgNC40LTIwLjUgMTEuNWwtNTYuMyA5Mi4xLTI0LjUtMzAuNmMtNC42LTUuNy0xMS40LTktMTguNy05cy0xNC4yIDMuMy0xOC43IDlsLTY0IDgwYy01LjggNy4yLTYuOSAxNy4xLTIuOSAyNS40UzE3NC44IDM1MiAxODQgMzUybDI3MiAwYzguNyAwIDE2LjctNC43IDIwLjktMTIuM3M0LjEtMTYuOC0uNS0yNC4zbC04OC0xNDR6Il19LFVtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb2JpbGUtc2NyZWVuIixpY29uOlszODQsNTEyLFsibW9iaWxlLWFuZHJvaWQtYWx0Il0sImYzY2YiLCJNMTYgNjRDMTYgMjguNyA0NC43IDAgODAgMEwzMDQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw4MCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDE2IDY0ek0xMjggNDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0ek0zMDQgNjRsLTIyNCAwIDAgMzA0IDIyNCAwIDAtMzA0eiJdfSxXV3Q9VW1lLEdXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJndWFyYW5pLXNpZ24iLGljb246WzM4NCw1MTIsW10sImUxOWEiLCJNMTkyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDEuNUM3My4zIDc3LjMgMCAxNTguMSAwIDI1NlM3My4zIDQzNC43IDE2OCA0NDYuNWwwIDQxLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQxLjVjOTQuNy0xMS44IDE2OC05Mi42IDE2OC0xOTAuNSAwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTM2IDAgMC05My44YzI1LjMgNC44IDQ3LjkgMTcgNjUuNiAzNC4zIDEyLjYgMTIuNCAzMi45IDEyLjIgNDUuMy0uNHMxMi4yLTMyLjktLjUtNDUuM0MyOTcuMiA5MC4yIDI1OC44IDcwLjggMjE2IDY1LjVMMjE2IDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0ek0xNjggMTMwLjJsMCAyNTEuNUMxMDguOCAzNzAuNSA2NCAzMTguNSA2NCAyNTZzNDQuOC0xMTQuNSAxMDQtMTI1Ljh6bTQ4IDI1MS41bDAtOTMuOCAxMDAgMGMtMTIuMyA0Ny42LTUxLjIgODQuNS0xMDAgOTMuOHoiXX0sV21lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhZy1zaG9wcGluZyIsaWNvbjpbNDQ4LDUxMixbInNob3BwaW5nLWJhZyJdLCJmMjkwIiwiTTE2MCA4MGMwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0bDAgNDgtMTI4IDAgMC00OHptLTQ4IDQ4bC02NCAwYy0yNi41IDAtNDggMjEuNS00OCA0OEwwIDM4NGMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC0yMDhjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDAgMC00OGMwLTYxLjktNTAuMS0xMTItMTEyLTExMlMxMTIgMTguMSAxMTIgODBsMCA0OHptMjQgNDhhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0xNTIgMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sWVd0PVdtZSxHbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXJpZ2h0IixpY29uOls1MTIsNTEyLFs2MTgzOCwiYXJyb3ctYWx0LWNpcmNsZS1yaWdodCJdLCJmMzVhIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDAgMjU2IDI1NiAwIDEgMCAtNTEyIDB6bTM4Ny4zIDExLjNsLTEwNCAxMDRjLTQuNiA0LjYtMTEuNSA1LjktMTcuNCAzLjVTMjU2IDM2Ni41IDI1NiAzNjBsMC01Ni05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDAgMC01NmMwLTYuNSAzLjktMTIuMyA5LjktMTQuOHMxMi45LTEuMSAxNy40IDMuNWwxMDQgMTA0YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42eiJdfSxLV3Q9R21lLFltZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaG9uZS12b2x1bWUiLGljb246WzU3Niw1MTIsWyJ2b2x1bWUtY29udHJvbC1waG9uZSJdLCJmMmEwIiwiTTM0NC0zMmMxMjguMSAwIDIzMiAxMDMuOSAyMzIgMjMyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTAxLjYtODIuNC0xODQtMTg0LTE4NC0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em04IDE5MmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTMyMCA4OGMwLTEzLjMgMTAuNy0yNCAyNC0yNCA3NS4xIDAgMTM2IDYwLjkgMTM2IDEzNiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTQ4LjYtMzkuNC04OC04OC04OC0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMTQ0LjEgMS40YzE5LjctNS40IDQwLjMgNC43IDQ4LjEgMjMuNWw0MC41IDk3LjNjNi45IDE2LjUgMi4xIDM1LjYtMTEuOCA0N2wtNDQuMSAzNi4xYzMyLjUgNzEuNiA4OSAxMzAgMTU5LjMgMTY0LjlMMzc0LjcgMzIzYzExLjMtMTMuOSAzMC40LTE4LjYgNDctMTEuOEw1MTkgMzUxLjhjMTguOCA3LjggMjguOSAyOC40IDIzLjUgNDguMWwtMS41IDUuNUM1MjMuNCA0NzAuMSA0NjAuOSA1MjUuMyAzODQuNiA1MDkuMiAyMDkuNiA0NzIuMSA3MS45IDMzNC40IDM0LjggMTU5LjQgMTguNyA4My4xIDczLjkgMjAuNiAxMzguNSAyLjlsNS41LTEuNXoiXX0sWld0PVltZSxYV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3ViZXMiLGljb246WzUxMiw1MTIsW10sImYxYjMiLCJNMjg0LTEuM2MtMTcuMy0xMC0zOC43LTEwLTU2IDBMMTQzLjggNDcuM2MtMTcuMyAxMC0yOCAyOC41LTI4IDQ4LjVsMCAxMDEuOS04OC4zIDUxYy0xNy4zIDEwLTI4IDI4LjUtMjggNDguNWwwIDk3LjNjMCAyMCAxMC43IDM4LjUgMjggNDguNWw4NC4zIDQ4LjZjMTcuMyAxMCAzOC43IDEwIDU2IDBsODguMy01MSA4OC4zIDUxYzE3LjMgMTAgMzguNyAxMCA1NiAwTDQ4NC41IDQ0M2MxNy4zLTEwIDI4LTI4LjUgMjgtNDguNWwwLTk3LjNjMC0yMC0xMC43LTM4LjUtMjgtNDguNWwtODguMy01MSAwLTEwMS45YzAtMjAtMTAuNy0zOC41LTI4LTQ4LjVMMjg0LTEuM3pNMjMyIDI5Mi42bDAgMTA2LjUtODguMyA1MWMtMS4yIC43LTIuNiAxLjEtNCAxLjFsMC0xMDUuMyA5Mi4zLTUzLjN6bTIzMS40IC42Yy43IDEuMiAxLjEgMi42IDEuMSA0bDAgOTcuM2MwIDIuOS0xLjUgNS41LTQgNi45bC04NC4zIDQ4LjZjLTEuMiAuNy0yLjYgMS4xLTQgMS4xbDAtMTA1LjMgOTEuMi01Mi42ek0zNDguMyA5NS44bDAgMTAxLjktOTIuMyA1My4zIDAtMTA2LjUgOTEuMi01Mi42Yy43IDEuMiAxLjEgMi42IDEuMSA0eiJdfSxRV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGhvbmUiLGljb246WzUxMiw1MTIsWzEyODIyMiwxMjgzNzldLCJmMDk1IiwiTTE2MC4yIDI1QzE1Mi4zIDYuMSAxMzEuNy0zLjkgMTEyLjEgMS40bC01LjUgMS41Yy02NC42IDE3LjYtMTE5LjggODAuMi0xMDMuNyAxNTYuNCAzNy4xIDE3NSAxNzQuOCAzMTIuNyAzNDkuOCAzNDkuOCA3Ni4zIDE2LjIgMTM4LjgtMzkuMSAxNTYuNC0xMDMuN2wxLjUtNS41YzUuNC0xOS43LTQuNy00MC4zLTIzLjUtNDguMWwtOTcuMy00MC41Yy0xNi41LTYuOS0zNS42LTIuMS00NyAxMS44bC0zOC42IDQ3LjJDMjMzLjkgMzM1LjQgMTc3LjMgMjc3IDE0NC44IDIwNS4zTDE4OSAxNjkuM2MxMy45LTExLjMgMTguNi0zMC40IDExLjgtNDdMMTYwLjIgMjV6Il19LEpXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b3JpaS1nYXRlIixpY29uOls0NDgsNTEyLFs5OTYxXSwiZjZhMSIsIk0wIDk2TDAgMjguNUMwIDIxLjYgNS42IDE2IDEyLjUgMTYgMTQuOCAxNiAxNyAxNi42IDE5IDE3LjhMNTggNDEuMkM4Mi45IDU2LjEgMTExLjMgNjQgMTQwLjMgNjRsMTY3LjQgMGMyOSAwIDU3LjUtNy45IDgyLjMtMjIuOGwzOS0yMy40YzEuOS0xLjIgNC4yLTEuOCA2LjQtMS44IDYuOSAwIDEyLjUgNS42IDEyLjUgMTIuNUw0NDggOTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsMCA2NCAxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNiAwIDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTkyLTE5MiAwIDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTkyLTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMCAwLTY0QzI4LjcgMTYwIDAgMTMxLjMgMCA5NnpNMTI4IDIyNGw2NCAwIDAtNjQtNjQgMCAwIDY0em0xMjggMGw2NCAwIDAtNjQtNjQgMCAwIDY0eiJdfSxlR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFjb24iLGljb246WzU3Niw1MTIsWzEyOTM2M10sImY3ZTUiLCJNNTU3IDk2LjdjMTQuNCAxNC40IDEyLjQgMzguNC00LjMgNTAuMmwtNjQuNiA0NS43Yy00My43IDMwLjktNzkuMiA3MS45LTEwMy40IDExOS42bC0yNS4zIDQ5LjhjLTI1LjEgNDkuMy02Mi4xIDkxLjUtMTA3LjggMTIyLjZsLTc0LjEgNTAuNmMtMTMuMSA4LjktMzAuNyA3LjMtNDEuOC0zLjlsLTQ0LjktNDQuOSA4Ni41LTY2LjVjNDIuMy0zMi41IDc2LjctNzQuMyAxMDAuNi0xMjJsMjQuNS00OS4xYzI0LjUtNDkgNjEuOC05MC42IDEwNy45LTEyMC4ybDEwOC43LTY5LjkgMzggMzh6TTQ4NC4yIDIzLjlMMzg0LjMgODguMmMtNTMuNCAzNC4zLTk2LjUgODIuNC0xMjQuOSAxMzkuMWwtMjQuNSA0OS4xYy0yMC42IDQxLjMtNTAuMyA3Ny4zLTg2LjkgMTA1LjRsLTkxLjQgNzAuMy0zNi45LTM2LjljLTE0LjQtMTQuNC0xMi40LTM4LjQgNC4zLTUwLjJsNjQuNi00NS43YzQzLjctMzAuOSA3OS4yLTcxLjkgMTAzLjQtMTE5LjZsMjUuMy00OS44QzI0Mi4zIDEwMC44IDI3OS4zIDU4LjYgMzI1IDI3LjRsNzQuMS01MC42YzEzLjEtOC45IDMwLjYtNy4zIDQxLjggMy45bDQzLjMgNDMuM3oiXX0sdEd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1mYWxsaW5nLWJ1cnN0IixpY29uOls1NzYsNTEyLFtdLCJlNTQ3IiwiTTI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNS40YzAgNTUuMi0yMy43IDEwNy02My45IDE0My4xbDYyLjkgNzUuNSA4OSAwYzE1LjEgMCAyOS4zIDcuMSAzOC40IDE5LjJsNDMuMiA1Ny42YzEwLjYgMTQuMSA3LjcgMzQuMi02LjQgNDQuOHMtMzQuMiA3LjctNDQuOC02LjRMMzY4IDMyMCAyNjMuMiAzMjAgMzc2LjggNDU5LjhjMTEuMSAxMy43IDkuMSAzMy45LTQuNyA0NXMtMzMuOSA5LjEtNDUtNC43TDEzNy40IDI2Ni42Yy02LjEgMTUtOS40IDMxLjMtOS40IDQ4bDAgNjkuNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY5LjRjMC02Ny40IDM1LjQtMTI5LjkgOTMuMi0xNjQuNmw0LjYtMi44QzIwMC40IDEyNCAyMjQgODIuNCAyMjQgMzcuNGwwLTUuNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTYgODhBNTYgNTYgMCAxIDEgMTI4IDg4IDU2IDU2IDAgMSAxIDE2IDg4em0zNzYtNy45YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQ4em0xMDQgMTUyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDB6bS01NC41LTk3LjVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDMzLjktMzMuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTMzLjkgMzMuOWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDB6Il19LEttZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJxdW90ZS1yaWdodCIsaWNvbjpbNDQ4LDUxMixbODIyMSwicXVvdGUtcmlnaHQtYWx0Il0sImYxMGUiLCJNNDQ4IDI5NmMwIDY2LjMtNTMuNyAxMjAtMTIwIDEyMGwtOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDggMGMzMC45IDAgNTYtMjUuMSA1Ni01NmwwLTgtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGw2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTM2em0tMjU2IDBjMCA2Ni4zLTUzLjcgMTIwLTEyMCAxMjBsLTggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4IDBjMzAuOSAwIDU2LTI1LjEgNTYtNTZsMC04LTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEzNnoiXX0sYUd0PUttZSxyR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtbWVkaWNhbC1mbGFnIixpY29uOls2NDAsNTEyLFtdLCJlNTE0IiwiTTQ4MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDI4OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMjY3LjUgNTkuMUw0MDAgMTg2LjkgNDAwIDUwMy40Yy05LjQgNS40LTIwLjMgOC42LTMyIDguNmwtMjU2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTQ0LTE5LjkgMEMxMi42IDMwNCAwIDI5MS40IDAgMjc1LjkgMCAyNjguMyAzLjEgMjYxIDguNiAyNTUuN0wyMTIuNSA1OS4xQzIxOS45IDUyIDIyOS43IDQ4IDI0MCA0OHMyMC4xIDQgMjcuNSAxMS4xek0yMDQuOCAyNTYuOGwwIDQ0LTQ0IDBjLTkuNyAwLTE3LjYgNy45LTE3LjYgMTcuNmwwIDM1LjJjMCA5LjcgNy45IDE3LjYgMTcuNiAxNy42bDQ0IDAgMCA0NGMwIDkuNyA3LjkgMTcuNiAxNy42IDE3LjZsMzUuMiAwYzkuNyAwIDE3LjYtNy45IDE3LjYtMTcuNmwwLTQ0IDQ0IDBjOS43IDAgMTcuNi03LjkgMTcuNi0xNy42bDAtMzUuMmMwLTkuNy03LjktMTcuNi0xNy42LTE3LjZsLTQ0IDAgMC00NGMwLTkuNy03LjktMTcuNi0xNy42LTE3LjZsLTM1LjIgMGMtOS43IDAtMTcuNiA3LjktMTcuNiAxNy42eiJdfSxzR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicHJlc2NyaXB0aW9uIixpY29uOls0NDgsNTEyLFtdLCJmNWIxIiwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyTDAgMjg4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NCA1MC43IDAgMTI4IDEyOC0xMDUuNCAxMDUuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwyODggMzk3LjMgMzkzLjQgNTAyLjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wzMzMuMyAzNTIgNDM4LjYgMjQ2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjg4IDMwNi43IDIwMi4yIDIyMC45QzI1MS40IDIwOS4xIDI4OCAxNjQuOCAyODggMTEyIDI4OCA1MC4xIDIzNy45IDAgMTc2IDBMMzIgMHpNMTc2IDE2MGwtMTEyIDAgMC05NiAxMTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OHoiXX0saUd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpY2UtdGhyZWUiLGljb246WzQ0OCw1MTIsWzk4NThdLCJmNTI3IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTY0IDk2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptNjQgMTI4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTEyOCA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LG9HdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1sb2NrIixpY29uOls1NzYsNTEyLFtdLCJlNGQ2IiwiTTMyIDY0QzMyIDI4LjcgNjAuNyAwIDk2IDBMMzUyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjEuM2MtNDYuOSAxOS04MCA2NS04MCAxMTguN2wwIDI0LjRjLTE5LjYgMTcuNi0zMiA0My4xLTMyIDcxLjVsMCA5NmMwIDUuNSAuNSAxMC45IDEuMyAxNi4xTDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMzIgNjR6TTE3NiAzODRsMCA4MCA4MCAwIDAtNjQuMWMwLTEzLjcgMS45LTI3IDUuNS0zOS42LTUuNy01LjItMTMuMi04LjMtMjEuNS04LjNsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0zMDcgMjI0LjNjLTEtLjItMi0uMy0zLS4zbC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMTYuNyAwYzIuMS0yMi44IDguNC00NC4zIDE4LjMtNjMuN3pNMTQ0IDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTExMiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNDQgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTM1MiA4MC4xYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwIDAtNDcuOXpNMzUyIDQwMGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA1MC42YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnoiXX0sWm1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImlkLWNhcmQiLGljb246WzU3Niw1MTIsWzYyMTQ3LCJkcml2ZXJzLWxpY2Vuc2UiXSwiZjJjMiIsIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDQ0OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0TDAgOTZ6bTAgNDhsNTc2IDAgMCAyNzJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE0NHpNMjQ3LjMgNDE2YzIwLjIgMCAzNS4zLTE5LjQgMjIuNC0zNS0xNC43LTE3LjctMzYuOS0yOS02MS43LTI5bC02NCAwYy0yNC44IDAtNDcgMTEuMy02MS43IDI5LTEyLjkgMTUuNiAyLjIgMzUgMjIuNCAzNWwxNDIuNSAwek0xNzYgMzEyYTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyek0zNjAgMjA4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMTIgMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTEyIDB6Il19LG5HdD1abWUsWG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1wbGF5IixpY29uOls1MTIsNTEyLFs2MTQ2OSwicGxheS1jaXJjbGUiXSwiZjE0NCIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0xODguMyAxNDcuMWMtNy42IDQuMi0xMi4zIDEyLjMtMTIuMyAyMC45bDAgMTc2YzAgOC43IDQuNyAxNi43IDEyLjMgMjAuOXMxNi44IDQuMSAyNC4zLS41bDE0NC04OGM3LjEtNC40IDExLjUtMTIuMSAxMS41LTIwLjVzLTQuNC0xNi4xLTExLjUtMjAuNWwtMTQ0LTg4Yy03LjQtNC41LTE2LjctNC43LTI0LjMtLjV6Il19LGxHdD1YbWUsUW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtbGF1Z2gtYmVhbSIsaWNvbjpbNTEyLDUxMixbMTI4NTEzLCJsYXVnaC1iZWFtIl0sImY1OWEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTEwMS42IDMxNGMtMy43LTEzLjcgNy41LTI2IDIxLjctMjZsMjY1LjQgMGMxNC4yIDAgMjUuNCAxMi4zIDIxLjcgMjYtMTguNSA2OC04MC42IDExOC0xNTQuNCAxMThTMTIwIDM4MiAxMDEuNiAzMTR6TTE3NiAxNjRjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6bTEzMiAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4eiJdfSxjR3Q9UW1lLGRHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZWFmIixpY29uOls1MTIsNTEyLFtdLCJmMDZjIiwiTTQ3MS4zIDYuN0M0NzcuNyAuNiA0ODctMS42IDQ5NS42IDEuMiA1MDUuNCA0LjUgNTEyIDEzLjcgNTEyIDI0bDAgMTg2LjljMCAxMzEuMi0xMDguMSAyMzcuMS0yMzguOCAyMzcuMS03NyAwLTE0My40LTQ5LjUtMTY3LjUtMTE4LjctMzUuNCAzMC44LTU3LjcgNzYuMS01Ny43IDEyNi43IDAgMTMuMy0xMC43IDI0LTI0IDI0UzAgNDY5LjMgMCA0NTZDMCAzODEuMSAzOC4yIDMxNS4xIDk2LjEgMjc2LjMgMTMxLjQgMjUyLjcgMTczLjUgMjQwIDIxNiAyNDBsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMGMtMzkuNyAwLTc3LjMgOC44LTExMSAyNC41IDIzLjMtNzAgODkuMi0xMjAuNSAxNjctMTIwLjUgNjYuNCAwIDExNS44LTIyLjEgMTQ4LjctNDQgMTkuMi0xMi44IDM1LjUtMjguMSA1MC43LTQ1LjN6Il19LHVHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1jaGltbmV5LXVzZXIiLGljb246WzUxMiw1MTIsW10sImUwNjUiLCJNMjM0LjIgOC42YzEyLjMtMTEuNCAzMS4zLTExLjQgNDMuNSAwTDM2OCA5Mi4zIDM2OCA4MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTAxLjUgMzcuOCAzNS4xYzkuNiA5IDEyLjggMjIuOSA4IDM1LjFTNDkzLjIgMjcyIDQ4MCAyNzJsLTE2IDAgMCAxNzZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI4OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDh6TTMxMiAyNTZhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAwek0xNDQgNDMyYzAgOC44IDcuMiAxNiAxNiAxNmwxOTIgMGM4LjggMCAxNi03LjIgMTYtMTYgMC00NC4yLTM1LjgtODAtODAtODBsLTY0IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgweiJdfSxRZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm90YXRlLXJpZ2h0IixpY29uOls1MTIsNTEyLFsicmVkby1hbHQiLCJyb3RhdGUtZm9yd2FyZCJdLCJmMmY5IiwiTTQ4OCAxOTJsLTE0NCAwYy05LjcgMC0xOC41LTUuOC0yMi4yLTE0LjhzLTEuNy0xOS4zIDUuMi0yNi4ybDQ2LjctNDYuN2MtNzUuMy01OC42LTE4NC4zLTUzLjMtMjUzLjUgMTUuOS03NSA3NS03NSAxOTYuNSAwIDI3MS41czE5Ni41IDc1IDI3MS41IDBjOC4yLTguMiAxNS41LTE2LjkgMjEuOS0yNi4xIDEwLjEtMTQuNSAzMC4xLTE4IDQ0LjYtNy45czE4IDMwLjEgNy45IDQ0LjZjLTguNSAxMi4yLTE4LjIgMjMuOC0yOS4xIDM0LjctMTAwIDEwMC0yNjIuMSAxMDAtMzYyIDBTLTI1IDE3NSA3NSA3NWM5NC4zLTk0LjMgMjQzLjctOTkuNiAzNDQuMy0xNi4yTDQ3MSA3YzYuOS02LjkgMTcuMi04LjkgMjYuMi01LjJTNTEyIDE0LjMgNTEyIDI0bDAgMTQ0YzAgMTMuMy0xMC43IDI0LTI0IDI0eiJdfSxwR3Q9UWVlLGZHdD1RZWUsaEd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvb3RoIixpY29uOls0NDgsNTEyLFsxMjk0NjNdLCJmNWM5IiwiTTE0NSA1LjdMMjI0IDMyIDMwMyA1LjdDMzE0LjMgMS45IDMyNiAwIDMzNy45IDAgMzk4LjcgMCA0NDggNDkuMyA0NDggMTEwLjFsMCA2OC41YzAgMjkuNC05LjUgNTguMS0yNy4yIDgxLjZsLTEuMSAxLjVjLTEyLjkgMTcuMi0yMS4zIDM3LjQtMjQuMyA1OC43TDM3My43IDQ3MS45Yy0zLjMgMjMtMjMgNDAuMS00Ni4yIDQwLjEtMjIuOCAwLTQyLjMtMTYuNS00Ni0zOUwyNjEuMyAzNTEuNmMtMy0xOC4yLTE4LjgtMzEuNi0zNy4zLTMxLjZzLTM0LjIgMTMuNC0zNy4zIDMxLjZMMTY2LjUgNDczYy0zLjggMjIuNS0yMy4yIDM5LTQ2IDM5LTIzLjIgMC00Mi45LTE3LjEtNDYuMi00MC4xTDUyLjYgMzIwLjVjLTMtMjEuMy0xMS40LTQxLjUtMjQuMy01OC43bC0xLjEtMS41QzkuNSAyMzYuNyAwIDIwOC4xIDAgMTc4LjdsMC02OC41QzAgNDkuMyA0OS4zIDAgMTEwLjEgMCAxMjIgMCAxMzMuNyAxLjkgMTQ1IDUuN3oiXX0sbUd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNoaW1uZXktd2luZG93IixpY29uOls1MTIsNTEyLFtdLCJlMDBkIiwiTTIzNC4yIDguNmMxMi4zLTExLjQgMzEuMy0xMS40IDQzLjUgMEwzNjggOTIuMyAzNjggODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEwMS41IDM3LjggMzUuMWM5LjYgOSAxMi44IDIyLjkgOCAzNS4xUzQ5My4yIDI3MiA0ODAgMjcybC0xNiAwIDAgMTc2YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0yODggMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzYtMTYgMGMtMTMuMiAwLTI1LTguMS0yOS44LTIwLjNzLTEuNi0yNi4yIDgtMzUuMWwyMjQtMjA4ek0yMTYgMjI0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtODAgMHoiXX0sZ0d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vdG9yY3ljbGUiLGljb246WzY0MCw1MTIsWzEyNzk0OV0sImYyMWMiLCJNMjgwIDE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU2LjYgMCAyMi41IDQ4LjctOTUuMSA3MS4zYy0zMy40LTI1LjEtNzUtNDAtMTIwLTQwbC01NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU2IDBjNzguNSAwIDE0My4yIDU5LjYgMTUxLjIgMTM2bC0yNS40IDBjLTExLjItNTkuMi02My4zLTEwNC0xMjUuOC0xMDQtNzAuNyAwLTEyOCA1Ny4zLTEyOCAxMjhTNzMuMyA0ODAgMTQ0IDQ4MGM2Mi41IDAgMTE0LjUtNDQuOCAxMjUuOC0xMDRsNTAuMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjIuNWMwLTQ1LjEgMjUuNy04NS40IDY1LjUtMTA3LjdsMTIuMSAyNi4xYy0zMi40IDIzLjItNTMuNSA2MS4yLTUzLjUgMTA0LjEgMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhzMTI4LTU3LjMgMTI4LTEyOC01Ny4zLTEyOC0xMjgtMTI4Yy0xMC43IDAtMjEgMS4zLTMwLjkgMy44TDQzMy44IDE2MCA0ODggMTYwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTUzLjMgMGMtNi45IDAtMTMuNyAyLjItMTkuMiA2LjRsLTE3LjEgMTIuOC0yNC42LTUzLjNDMzY5LjkgMjEuNCAzNjEuNCAxNiAzNTIgMTZsLTcyIDB6TTQ0NS44IDMwMC40bDI4LjQgNjEuNmM1LjYgMTIgMTkuOCAxNy4zIDMxLjggMTEuN3MxNy4zLTE5LjggMTEuNy0zMS44bC0yOC41LTYxLjZjMi4yLS4yIDQuNC0uMyA2LjctLjMgMzkuOCAwIDcyIDMyLjIgNzIgNzJzLTMyLjIgNzItNzIgNzItNzItMzIuMi03Mi03MmMwLTIwLjIgOC4zLTM4LjUgMjEuOC01MS42ek0xNDQgNDI0Yy0zOS44IDAtNzItMzIuMi03Mi03MnMzMi4yLTcyIDcyLTcyYzMxLjMgMCA1OCAyMCA2Ny45IDQ4TDE0NCAzMjhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNjcuOSAwYy05LjkgMjgtMzYuNiA0OC02Ny45IDQ4eiJdfSxKbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFja3dhcmQtZmFzdCIsaWNvbjpbNTEyLDUxMixbOTE5OCwiZmFzdC1iYWNrd2FyZCJdLCJmMDQ5IiwiTTQ5Mi4yIDQ3Ny42Yy0xMiA1LTI1LjcgMi4yLTM0LjktNi45TDI4OCAzMDEuMyAyODggNDQ4YzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45TDY0IDMwMS4zIDY0IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4TDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJTNjQgNDYuMyA2NCA2NEw2NCAyMTAuNyAyMzMuNCA0MS40YzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45UzI4OCA1MS4xIDI4OCA2NGwwIDE0Ni43IDE2OS40LTE2OS40YzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45UzUxMiA1MS4xIDUxMiA2NGwwIDM4NGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42eiJdfSxiR3Q9Sm1lLGU3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhZGRyZXNzLWJvb2siLGljb246WzUxMiw1MTIsWzYyMTM4LCJjb250YWN0LWJvb2siXSwiZjJiOSIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI4OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6TTIwOCAyODhsNjQgMGM0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDguOC03LjIgMTYtMTYgMTZsLTE5MiAwYy04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODB6bS0yNC05NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTUxMiA4MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NHptMCAxMjhjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjR6TTQ5NiAzMjBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZ6Il19LHZHdD1lN2UseEd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNhaWxib2F0IixpY29uOls1MTIsNTEyLFtdLCJlNDQ1IiwiTTI0MCAzNS45bDAgMzQ4LjEtMjI0IDBjLTguOCAwLTE2IDcuMi0xNiAxNiAwIDYxLjkgNTAuMSAxMTIgMTEyIDExMmwyODggMGM2MS45IDAgMTEyLTUwLjEgMTEyLTExMiAwLTguOC03LjItMTYtMTYtMTZsLTIwOCAwIDAtNDggMTYxLjcgMGMxMi45IDAgMjAuNS0xNC40IDEzLjItMjVMMjY5LjIgMjYuOWMtOC45LTEzLTI5LjItNi43LTI5LjIgOXpNMTkyIDMyMGwwLTE4NC4yYzAtMTYuMS0yMS0yMi4xLTI5LjYtOC41TDQ3LjMgMzExLjVjLTYuNyAxMC43IDEgMjQuNSAxMy42IDI0LjVMMTc2IDMzNmM4LjggMCAxNi03LjIgMTYtMTZ6Il19LHlHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLWJvb2ttYXJrIixpY29uOls0NDgsNTEyLFtdLCJlMGJiIiwiTTk2IDUxMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTY2LjdjMTguNi02LjYgMzItMjQuNCAzMi00NS4zbDAtMjg4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC00OCAwIDAgMTY5LjRjMCAxMi41LTEwLjEgMjIuNi0yMi42IDIyLjYtNiAwLTExLjgtMi40LTE2LTYuNkwyNzIgMTQ0IDIzMC42IDE4NS40Yy00LjIgNC4yLTEwIDYuNi0xNiA2LjYtMTIuNSAwLTIyLjYtMTAuMS0yMi42LTIyLjZMMTkyIDAgOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2ek02NCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjU2IDAgMCA2NC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LHdHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYWduaWZ5aW5nLWdsYXNzLWFycm93LXJpZ2h0IixpY29uOls1MTIsNTEyLFtdLCJlNTIxIiwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZDMjk2LjMgNDAxLjEgMjUzLjkgNDE2IDIwOCA0MTYgOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDAgNDE2IDkzLjEgNDE2IDIwOHpNMzA1IDIyNWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtNzItNzJjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMzEgMzEtMTAyLjEgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDIuMSAwLTMxIDMxYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNzItNzJ6Il19LHQ3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtaWNyb3Bob25lLWxpbmVzIixpY29uOlszODQsNTEyLFsxMjc4OTcsIm1pY3JvcGhvbmUtYWx0Il0sImYzYzkiLCJNOTYgOTZjMC01MyA0My05NiA5Ni05NiA1MC4zIDAgOTEuNiAzOC43IDk1LjcgODhMMjMyIDg4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU2IDAgMCA0OC01NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU1LjcgMGMtNC4xIDQ5LjMtNDUuMyA4OC05NS43IDg4LTUzIDAtOTYtNDMtOTYtOTZMOTYgOTZ6TTI0IDE2MGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwYzAgNzkuNSA2NC41IDE0NCAxNDQgMTQ0czE0NC02NC41IDE0NC0xNDRsMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDBjMCA5Ny45LTczLjMgMTc4LjctMTY4IDE5MC41bDAgNDkuNSA0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw0OCAwIDAtNDkuNUM3My4zIDQwMi43IDAgMzIxLjkgMCAyMjRsMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHoiXX0sTUd0PXQ3ZSxhN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVwbHktYWxsIixpY29uOls1NzYsNTEyLFsibWFpbC1yZXBseS1hbGwiXSwiZjEyMiIsIk0zMzIuMiAxOC40YzEyIDUgMTkuOCAxNi42IDE5LjggMjkuNmwwIDgwIDQ4IDBjOTcuMiAwIDE3NiA3OC44IDE3NiAxNzYgMCAxMTMuMy04MS41IDE2My45LTEwMC4yIDE3NC4xLTIuNSAxLjQtNS4zIDEuOS04LjEgMS45LTEwLjkgMC0xOS43LTguOS0xOS43LTE5LjcgMC03LjUgNC4zLTE0LjQgOS44LTE5LjUgOS40LTguOCAyMi4yLTI2LjQgMjIuMi01Ni43IDAtNTMtNDMtOTYtOTYtOTZsLTMyIDAgMCA4MGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtMTYwLTE2MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsMTYwLTE2MGM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOXpNMjA1LjYgMjMuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUw1NC42IDIwOCAyMDUuNiAzNTguOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDEwIDIzMS4yYy02LjQtNi0xMC0xNC40LTEwLTIzLjJzMy42LTE3LjIgMTAtMjMuMkwxNzEuNiAyMy4xYzkuNC05LjQgMjQuNi05LjQgMzMuOSAweiJdfSxrR3Q9YTdlLFNHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1bml2ZXJzYWwtYWNjZXNzIixpY29uOls1MTIsNTEyLFtdLCJmMjlhIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTE2MS41LTg2LjFjLTEyLjItNS4yLTI2LjMgLjQtMzEuNSAxMi42cy40IDI2LjMgMTIuNiAzMS41bDExLjkgNS4xYzE3LjMgNy40IDM1LjIgMTIuOSA1My42IDE2LjNsMCA1MC4xYzAgNC4zLS43IDguNi0yLjEgMTIuNmwtMjguNyA4Ni4xYy00LjIgMTIuNiAyLjYgMjYuMiAxNS4yIDMwLjRzMjYuMi0yLjYgMzAuNC0xNS4ybDI0LjQtNzMuMmMxLjMtMy44IDQuOC02LjQgOC44LTYuNHM3LjYgMi42IDguOCA2LjRsMjQuNCA3My4yYzQuMiAxMi42IDE3LjggMTkuNCAzMC40IDE1LjJTMzM5IDM5NyAzMzQuOCAzODQuNGwtMjguNy04Ni4xYy0xLjQtNC4xLTIuMS04LjMtMi4xLTEyLjZsMC01MC4xYzE4LjQtMy41IDM2LjMtOC45IDUzLjYtMTYuM2wxMS45LTUuMWMxMi4yLTUuMiAxNy44LTE5LjMgMTIuNi0zMS41cy0xOS4zLTE3LjgtMzEuNS0xMi42TDMzOC43IDE3NWMtMjYuMSAxMS4yLTU0LjIgMTctODIuNyAxN3MtNTYuNS01LjgtODIuNy0xN2wtMTEuOS01LjF6TTI1NiAxNjBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgweiJdfSxKZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9pbGV0LXBhcGVyIixpY29uOls1MTIsNTEyLFsxMjk1MzEsNjMyNjMsInRvaWxldC1wYXBlci1hbHQiLCJ0b2lsZXQtcGFwZXItYmxhbmsiXSwiZjcxZSIsIk0zMjcuMSAzMmMtOC44IDExLjEtMTYgMjMuMS0yMS45IDM0LjgtMjEuNCA0Mi43LTMzLjIgOTguNC0zMy4yIDE1Ny4ybDAgMjY0YzAgMzAuOS0yNS4xIDU2LTU2IDU2TDU2IDU0NGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCAyMjRDMCAxMTggNDMgMzIgOTYgMzJsMjMxLjEgMHpNNDE2IDQxNmMtNTMgMC05Ni04Ni05Ni0xOTJzNDMtMTkyIDk2LTE5MiA5NiA4NiA5NiAxOTItNDMgMTkyLTk2IDE5MnptMC0xMjhjMTcuNyAwIDMyLTI4LjcgMzItNjRzLTE0LjMtNjQtMzItNjQtMzIgMjguNy0zMiA2NCAxNC4zIDY0IDMyIDY0eiJdfSx6R3Q9SmVlLENHdD1KZWUsX0d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZyLWNhcmRib2FyZCIsaWNvbjpbNTc2LDUxMixbXSwiZjcyOSIsIk01MTIgOTZMNjQgOTZDMjguNyA5NiAwIDEyNC43IDAgMTYwTDAgMzUyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDExNy41IDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdsMzMuOS0zMy45YzcuMi03LjIgMTcuMS0xMS4zIDI3LjMtMTEuM3MyMC4xIDQuMSAyNy4zIDExLjNsMzMuOSAzMy45YzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdMNTEyIDQxNmMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MmMwLTM1LjMtMjguNy02NC02NC02NHpNODAgMjQwYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHptMzUyLTY0YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4eiJdfSxUR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGl6emEtc2xpY2UiLGljb246WzUxMiw1MTIsW10sImY4MTgiLCJNMTY5LjcgLjljLTIyLjgtMS42LTQxLjkgMTQtNDcuNSAzNC43TDExMi41IDcyQzI5My4zIDcyLjMgNDM5LjcgMjE4LjcgNDQwIDM5OS41bDM2LjQtOS43YzIwLjgtNS41IDM2LjMtMjQuNyAzNC43LTQ3LjUtMTIuNi0xODIuOC0xNTguNi0zMjguOC0zNDEuNC0zNDEuNHptMjIyIDQxMS41Yy4yLTQuMSAuMy04LjIgLjMtMTIuNCAwLTE1NC42LTEyNS40LTI4MC0yODAtMjgwLTQuMSAwLTguMyAuMS0xMi40IC4zTC41IDQ5MS45Yy0xLjUgNS41IC4xIDExLjQgNC4xIDE1LjRzOS45IDUuNiAxNS40IDQuMWwzNzEuNi05OS4xek0xNzYgMjA4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptNjQgMTI4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTk2IDM4NGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxMR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3ByYXktY2FuIixpY29uOls1NzYsNTEyLFtdLCJmNWJkIiwiTTE5MiAwbDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA4MC0xMjggMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMyek02NCAyNTZjMC01MyA0My05NiA5Ni05NmwxMjggMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjA4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yMjQgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0yMDh6bTI0MCA4MGE4MCA4MCAwIDEgMCAtMTYwIDAgODAgODAgMCAxIDAgMTYwIDB6TTMyMCA2NGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek00NDggMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0zMiA2NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTUxMiAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNNDQ4IDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LHI3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2b2x1bWUtbG93IixpY29uOls0NDgsNTEyLFsxMjgyNjQsInZvbHVtZS1kb3duIl0sImYwMjciLCJNNDggMzUybDQ4IDAgMTM0LjEgMTE5LjJjNi40IDUuNyAxNC42IDguOCAyMy4xIDguOCAxOS4yIDAgMzQuOC0xNS42IDM0LjgtMzQuOGwwLTM3OC40YzAtMTkuMi0xNS42LTM0LjgtMzQuOC0zNC44LTguNSAwLTE2LjcgMy4xLTIzLjEgOC44TDk2IDE2MCA0OCAxNjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDh6TTM4MC42IDE4MS41Yy0xMC4zLTguNC0yNS40LTYuOC0zMy44IDMuNXMtNi44IDI1LjQgMy41IDMzLjhDMzYxLjEgMjI3LjYgMzY4IDI0MSAzNjggMjU2cy02LjkgMjguNC0xNy43IDM3LjNjLTEwLjMgOC40LTExLjggMjMuNS0zLjUgMzMuOHMyMy41IDExLjggMzMuOCAzLjVDNDAyLjEgMzEyLjkgNDE2IDI4Ni4xIDQxNiAyNTZzLTEzLjktNTYuOS0zNS41LTc0LjV6Il19LCRHdD1yN2UsREd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNyb3NzIixpY29uOlszODQsNTEyLFsxMjgzMjcsMTAwMTNdLCJmNjU0IiwiTTE3NiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDgwLTgwIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzJjMCAyNi41IDIxLjUgNDggNDggNDhsODAgMCAwIDIwOGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzMiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjA4IDgwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OGwtODAgMCAwLTgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDE3NiAweiJdfSxzN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uIixpY29uOlszODQsNTEyLFsxMjk0ODUsIm1hbGUiXSwiZjE4MyIsIk0yNDggMjRhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAwem0yNCAyMTIuN2w0Ni4zIDYyLjRjMTAuNSAxNC4yIDMwLjYgMTcuMiA0NC44IDYuNnMxNy4yLTMwLjYgNi42LTQ0LjhsLTcwLjUtOTVDMjc0IDEzMiAyMzQuMyAxMTIgMTkyIDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42TDExMiAyMzYuNyAxMTIgNTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjc1LjN6Il19LEFHdD1zN2UsaTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXJnbGFzcyIsaWNvbjpbMzg0LDUxMixbOTIwMyw2MjAzMiwiaG91cmdsYXNzLWVtcHR5Il0sImYyNTQiLCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxMWMwIDQyLjQtMTYuOSA4My4xLTQ2LjkgMTEzLjFsLTY3LjkgNjcuOSA2Ny45IDY3LjljMzAgMzAgNDYuOSA3MC43IDQ2LjkgMTEzLjFsMCAxMWMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMC0xMWMwLTQyLjQgMTYuOS04My4xIDQ2LjktMTEzLjFsNjcuOS02Ny45LTY3LjktNjcuOUM0OC45IDE1OC4xIDMyIDExNy40IDMyIDc1bDAtMTFDMTQuMyA2NCAwIDQ5LjcgMCAzMnpNOTYgNjRsMCAxMWMwIDI1LjUgMTAuMSA0OS45IDI4LjEgNjcuOWw2Ny45IDY3LjkgNjcuOS02Ny45YzE4LTE4IDI4LjEtNDIuNCAyOC4xLTY3LjlsMC0xMS0xOTIgMHptMCAzODRsMTkyIDAgMC0xMWMwLTI1LjUtMTAuMS00OS45LTI4LjEtNjcuOWwtNjcuOS02Ny45LTY3LjkgNjcuOWMtMTggMTgtMjguMSA0Mi40LTI4LjEgNjcuOWwwIDExeiJdfSxQR3Q9aTdlLEVHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXNoIixpY29uOls1NzYsNTEyLFsxMjgwMzFdLCJmNTc4IiwiTTE4MC41IDE0MS41QzIxOS43IDEwOC41IDI3Mi42IDgwIDMzNiA4MHMxMTYuMyAyOC41IDE1NS41IDYxLjVjMzkuMSAzMyA2Ni45IDcyLjQgODEgOTkuOCA0LjcgOS4yIDQuNyAyMC4xIDAgMjkuMy0xNC4xIDI3LjQtNDEuOSA2Ni44LTgxIDk5LjgtMzkuMiAzMy4xLTkyIDYxLjUtMTU1LjUgNjEuNXMtMTE2LjMtMjguNS0xNTUuNS02MS41Yy0xNi4yLTEzLjctMzAuNS0yOC41LTQyLjctNDMuMUw0OC4xIDM3OS42Yy0xMi41IDcuMy0yOC40IDUuMy0zOC43LTQuOXMtMTIuNC0yNi01LjMtMzguNkw1MCAyNTYgNC4yIDE3NS45Yy03LjItMTIuNi01LTI4LjQgNS4zLTM4LjZzMjYuMS0xMi4yIDM4LjctNC45bDg5LjcgNTIuM2MxMi4yLTE0LjYgMjYuNS0yOS40IDQyLjctNDMuMXpNNDQ4IDI1NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAweiJdfSxJR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHJ1bXN0aWNrLWJpdGUiLGljb246WzUxMiw1MTIsW10sImY2ZDciLCJNMTYwIDI2NS4yYzAgOC41LTMuNCAxNi42LTkuNCAyMi42bC0yNi44IDI2LjhjLTEyLjMgMTIuMy0zMi41IDExLjQtNDkuNCA3LjItNC42LTEuMS05LjUtMS44LTE0LjUtMS44LTMzLjEgMC02MCAyNi45LTYwIDYwczI2LjkgNjAgNjAgNjBjNi4zIDAgMTIgNS43IDEyIDEyIDAgMzMuMSAyNi45IDYwIDYwIDYwczYwLTI2LjkgNjAtNjBjMC01LS42LTkuOC0xLjgtMTQuNS00LjItMTYuOS01LjItMzcuMSA3LjItNDkuNGwyNi44LTI2LjhjNi02IDE0LjEtOS40IDIyLjYtOS40bDg5LjIgMGM2LjMgMCAxMi40LS4zIDE4LjUtMSAxMS45LTEuMiAxNi40LTE1LjUgMTAuOC0yNi04LjUtMTUuOC0xMy4zLTMzLjgtMTMuMy01MyAwLTYxLjkgNTAuMS0xMTIgMTEyLTExMiA4IDAgMTUuNyAuOCAyMy4yIDIuNCAxMS43IDIuNSAyNC4xLTUuOSAyMi0xNy42LTE0LjctODIuMy04Ni43LTE0NC44LTE3My4yLTE0NC44LTk3LjIgMC0xNzYgNzguOC0xNzYgMTc2bDAgODkuMnoiXX0sTkd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJ0LXNpbXBsZSIsaWNvbjpbNTEyLDUxMixbXSwiZTQ3MyIsIk0xOTIgODBjMC0yNi41IDIxLjUtNDggNDgtNDhsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0zNTJ6TTAgMjcyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNjBjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMjcyek00MzIgOTZsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDI4OGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0yODhjMC0yNi41IDIxLjUtNDggNDgtNDh6Il19LFJHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhdG9tIixpY29uOls0NDgsNTEyLFs5ODgzXSwiZjVkMiIsIk0yMjQgMzk4LjhjLTExLjggNS4xLTIzLjQgOS43LTM0LjkgMTMuNSAxNi43IDMzLjggMzEgMzUuNyAzNC45IDM1LjdzMTguMS0xLjkgMzQuOS0zNS43Yy0xMS40LTMuOS0yMy4xLTguNC0zNC45LTEzLjV6TTQxNCAyNTZjMzMgNDUuMiA0NC4zIDkwLjkgMjMuNiAxMjgtMjAuMiAzNi4zLTYyLjUgNDkuMy0xMTUuMiA0My4yLTIyIDUyLjEtNTUuNyA4NC44LTk4LjQgODQuOHMtNzYuNC0zMi43LTk4LjQtODQuOEM3Mi45IDQzMy4zIDMwLjYgNDIwLjMgMTAuNCAzODQtMTAuMyAzNDYuOSAxIDMwMS4yIDM0IDI1NiAxIDIxMC44LTEwLjMgMTY1LjEgMTAuNCAxMjggMzAuNiA5MS43IDcyLjkgNzguNyAxMjUuNiA4NC44IDE0Ny42IDMyLjcgMTgxLjIgMCAyMjQgMHM3Ni40IDMyLjcgOTguNCA4NC44YzUyLjctNi4xIDk1IDYuOCAxMTUuMiA0My4yIDIwLjcgMzcuMSA5LjQgODIuOC0yMy42IDEyOHptLTY1LjggNjcuNGMtMS43IDE0LjItMy45IDI4LTYuNyA0MS4yIDMxLjggMS40IDM4LjYtOC43IDQwLjItMTEuNyAyLjMtNC4yIDctMTcuOS0xMS45LTQ4LjEtNi44IDYuMy0xNCAxMi41LTIxLjYgMTguNnptLTYuNy0xNzUuOWMyLjggMTMuMSA1IDI2LjkgNi43IDQxLjIgNy42IDYuMSAxNC44IDEyLjMgMjEuNiAxOC42IDE4LjktMzAuMiAxNC4yLTQ0IDExLjktNDguMS0xLjYtMi45LTguNC0xMy00MC4yLTExLjd6TTI1OC45IDk5LjdDMjQyLjEgNjUuOSAyMjcuOSA2NCAyMjQgNjRzLTE4LjEgMS45LTM0LjkgMzUuN2MxMS40IDMuOSAyMy4xIDguNCAzNC45IDEzLjUgMTEuOC01LjEgMjMuNC05LjcgMzQuOS0xMy41em0tMTU5IDg4LjljMS43LTE0LjMgMy45LTI4IDYuNy00MS4yLTMxLjgtMS40LTM4LjYgOC43LTQwLjIgMTEuNy0yLjMgNC4yLTcgMTcuOSAxMS45IDQ4LjEgNi44LTYuMyAxNC0xMi41IDIxLjYtMTguNnpNNzguMiAzMDQuOGMtMTguOSAzMC4yLTE0LjIgNDQtMTEuOSA0OC4xIDEuNiAyLjkgOC40IDEzIDQwLjIgMTEuNy0yLjgtMTMuMS01LTI2LjktNi43LTQxLjItNy42LTYuMS0xNC44LTEyLjMtMjEuNi0xOC42ek0zMDQgMjU2YTgwIDgwIDAgMSAwIC0xNjAgMCA4MCA4MCAwIDEgMCAxNjAgMHptLTgwLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sT0d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InAiLGljb246WzMyMCw1MTIsWzExMl0sIjUwIiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMTI4IDBjODguNCAwIDE2MCA3MS42IDE2MCAxNjBTMjQ4LjQgMzUyIDE2MCAzNTJsLTk2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4TDAgNjR6TTY0IDI4OGw5NiAwYzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2bC05NiAwIDAgMTkyeiJdfSxGR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiamV0LWZpZ2h0ZXItdXAiLGljb246WzUxMiw1MTIsW10sImU1MTgiLCJNMjA2LjggNDcuOEMyMDIuMyA1OC41IDIwMCA3MCAyMDAgODEuNmwwIDEwMC40LTE1MiAxMTQgMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDIzNC43IDAgMjQ4TDAgMzkyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04IDE1MiAwIDAgNTQuNC02NiA1Mi44Yy0zLjggMy02IDcuNi02IDEyLjVsMCAyNC4zYzAgOC44IDcuMiAxNiAxNiAxNmw4OCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDg4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjQuM2MwLTQuOS0yLjItOS41LTYtMTIuNWwtNjYtNTIuOCAwLTU0LjQgMTUyIDAgMCA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNDRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0OC0xNTItMTE0IDAtMTAwLjRjMC0xMS42LTIuMy0yMy4xLTYuOC0zMy44bC0yNy4xLTY1QzI3NC40LTI2LjIgMjY1LjctMzIgMjU2LTMycy0xOC40IDUuOC0yMi4yIDE0LjhsLTI3LjEgNjV6Il19LEJHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVnLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTU2MCIsIk0xOTItMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAxMjggMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNDguN2MtOTguNiA4LjEtMTc2IDkwLjctMTc2IDE5MS4zIDAgMjcuMyA1LjcgNTMuMyAxNiA3Ni45bDAgMy4xYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjYuN0MxNjUuMiAzOTguMSA5NiAzMTkuMSA5NiAyMjRsMC02NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTNzguMyA5NiA5NiA5Nmw2NCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQ5NiAyNTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em01OS4zIDEwNy4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTM2LjcgMzYuNy0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsMzYuNyAzNi43LTM2LjcgMzYuN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDM2LjctMzYuNyAzNi43IDM2LjdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zNi43LTM2LjcgMzYuNy0zNi43eiJdfSxIR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hlZXQtcGxhc3RpYyIsaWNvbjpbMzg0LDUxMixbXSwiZTU3MSIsIk0wIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNDkuNSAwYzE3IDAgMzMuMy02LjcgNDUuMy0xOC43TDM2NS4zIDM4Ni43YzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNMMzg0IDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4em0yMDggNS41bDAtOTMuNWMwLTEzLjMgMTAuNy0yNCAyNC0yNGw5My41IDAtMTE3LjUgMTE3LjV6TTE1MyAxMDVsLTQ4IDQ4Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ4LTQ4YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOXptOTYgMzJMMTM3IDI0OWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOUwyMTUgMTAzYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOXoiXX0scUd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InYiLGljb246WzM4NCw1MTIsWzExOF0sIjU2IiwiTTE5LjcgMzQuNWMxNi4zLTYuOCAzNSAuOSA0MS44IDE3LjJMMTkyIDM2NC44IDMyMi41IDUxLjdjNi44LTE2LjMgMjUuNS0yNCA0MS44LTE3LjJzMjQgMjUuNSAxNy4yIDQxLjhsLTE2MCAzODRjLTUgMTEuOS0xNi42IDE5LjctMjkuNSAxOS43cy0yNC42LTcuOC0yOS41LTE5LjdMMi41IDc2LjNjLTYuOC0xNi4zIC45LTM1IDE3LjItNDEuOHoiXX0sbzdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imxpc3QiLGljb246WzUxMiw1MTIsWyJsaXN0LXNxdWFyZXMiXSwiZjAzYSIsIk00MCA0OEMyNi43IDQ4IDE2IDU4LjcgMTYgNzJsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRMNDAgNDh6TTE5MiA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwxOTIgNjR6bTAgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yODggMHptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI4OCAwek0xNiAyMzJsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0ek00MCAzNjhjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0bC00OCAweiJdfSxWR3Q9bzdlLGpHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaXNjZXMiLGljb246WzQ0OCw1MTIsW10sImU4NGMiLCJNNDAuNCAxMC40YzExLjktMTMgMzIuMi0xMy45IDQ1LjItMiAyLjkgMi43IDI4LjMgMjYuNyA1My42IDY3LjggMjIuMyAzNi4yIDQ1IDg2LjYgNTEuMSAxNDcuOGw2Ny4zIDBjNi4xLTYxLjEgMjguOC0xMTEuNiA1MS4xLTE0Ny44IDI1LjMtNDEuMSA1MC43LTY1LjEgNTMuNi02Ny44IDEzLTExLjkgMzMuMy0xMS4xIDQ1LjIgMiAxMS45IDEzIDExIDMzLjMtMiA0NS4yLTEuNCAxLjMtMjIgMjEuMS00Mi40IDU0LjItMTcuOSAyOS4xLTM1LjQgNjgtNDEuMiAxMTQuMmw5NCAwIDMuMyAuMmMxNi4xIDEuNiAyOC43IDE1LjMgMjguNyAzMS44cy0xMi42IDMwLjItMjguNyAzMS44bC0zLjMgLjItOTQgMGM1LjggNDYuMiAyMy4zIDg1LjEgNDEuMiAxMTQuMiAyMC40IDMzLjEgNDEgNTIuOSA0Mi40IDU0LjIgMTMgMTEuOSAxMy45IDMyLjIgMiA0NS4yLTExLjkgMTMtMzIuMiAxMy45LTQ1LjIgMi0yLjktMi43LTI4LjMtMjYuNy01My42LTY3LjgtMjIuMy0zNi4yLTQ1LTg2LjYtNTEuMS0xNDcuOGwtNjcuMyAwYy02LjEgNjEuMS0yOC44IDExMS42LTUxLjEgMTQ3LjgtMjUuMyA0MS4xLTUwLjcgNjUuMS01My42IDY3LjgtMTMgMTEuOS0zMy4zIDExLjEtNDUuMi0yLTExLjktMTMtMTEtMzMuMyAyLTQ1LjIgMS40LTEuMyAyMi0yMS4xIDQyLjQtNTQuMiAxNy45LTI5LjEgMzUuNC02OCA0MS4yLTExNC4ybC05NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk0IDBjLTUuOC00Ni4yLTIzLjMtODUuMS00MS4yLTExNC4yLTIwLjQtMzMuMS00MS01Mi45LTQyLjQtNTQuMi0xMy0xMS45LTEzLjktMzIuMi0yLTQ1LjJ6Il19LFVHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzb2xhci1wYW5lbCIsaWNvbjpbNTc2LDUxMixbXSwiZjViYSIsIk0xMjEuOCAzMmMtMzAgMC01NiAyMC44LTYyLjUgNTAuMUw5LjYgMzA2LjFDLjcgMzQ2LjEgMzEuMSAzODQgNzIgMzg0bDE4NC4xIDAgMCA2NC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtNjQgMTg0LjEgMGM0MC45IDAgNzEuNC0zNy45IDYyLjUtNzcuOWwtNDkuOC0yMjRDNTEwLjQgNTIuOCA0ODQuNSAzMiA0NTQuNSAzMkwxMjEuOCAzMnpNMjQ1LjYgOTZsODUuMiAwIDcuMyA4OC05OS44IDAgNy4zLTg4em0tNTUuNSA4OGwtODcuOCAwIDE5LjYtODggNzUuNiAwLTcuMyA4OHpNOTEuNiAyMzJsOTQuNSAwLTcuMyA4OC0xMDYuNyAwIDE5LjYtODh6bTE0Mi42IDBsMTA3LjggMCA3LjMgODgtMTIyLjUgMCA3LjMtODh6bTE1NiAwbDk0LjUgMCAxOS42IDg4LTEwNi43IDAtNy4zLTg4ek00NzQgMTg0bC04Ny44IDAtNy4zLTg4IDc1LjYgMCAxOS42IDg4eiJdfSxXR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFuZC1taW5lLW9uIixpY29uOls1NzYsNTEyLFtdLCJlNTFiIiwiTTMxMiAwbDAgMTI4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0TDI2NCAwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6TTE2MCAyODhjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiA4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhMODAgNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDgwIDAgMC0zMnpNMTIgMTE0LjdjNy40LTExIDIyLjMtMTQgMzMuMy02LjdsOTYgNjRjMTEgNy40IDE0IDIyLjMgNi43IDMzLjNzLTIyLjMgMTQtMzMuMyA2LjdsLTk2LTY0Yy0xMS03LjQtMTQtMjIuMy02LjctMzMuM3pNNTMwLjcgMTA4YzExLTcuNCAyNS45LTQuNCAzMy4zIDYuN3M0LjQgMjUuOS02LjcgMzMuM2wtOTYgNjRjLTExIDcuNC0yNS45IDQuNC0zMy4zLTYuN3MtNC40LTI1LjkgNi43LTMzLjNsOTYtNjR6Il19LGV0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkcGhvbmVzIixpY29uOls0NDgsNTEyLFsxMjc5MTEsNjI4NjMsImhlYWRwaG9uZXMtYWx0IiwiaGVhZHBob25lcy1zaW1wbGUiXSwiZjAyNSIsIk02NCAyMjRjMC04OC40IDcxLjYtMTYwIDE2MC0xNjBzMTYwIDcxLjYgMTYwIDE2MGwwIDM3LjVjLTEwLTMuNS0yMC44LTUuNS0zMi01LjVsLTE2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTI4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTE2MEM0NDggMTAwLjMgMzQ3LjcgMCAyMjQgMFMwIDEwMC4zIDAgMjI0TDAgMzg0YzAgNTMgNDMgOTYgOTYgOTZsMTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTEyOGMwLTI2LjUtMjEuNS00OC00OC00OGwtMTYgMGMtMTEuMiAwLTIyIDEuOS0zMiA1LjVMNjQgMjI0eiJdfSxHR3Q9ZXRlLFlHdD1ldGUsS0d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1cyIsaWNvbjpbNDQ4LDUxMixbMTI4NjUzXSwiZjIwNyIsIk05NiAwQzQzIDAgMCA0MyAwIDk2TDAgMzg0YzAgMjkuOCAyMC40IDU0LjkgNDggNjJsMCAzNGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzIgMTkyIDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzRjMjcuNi03LjEgNDgtMzIuMiA0OC02MmwwLTI4OGMwLTUzLTQzLTk2LTk2LTk2TDk2IDB6TTY0IDE3NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMDQgMCAwIDExMi0xMDQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC00OHptMTg0IDgwbDAtMTEyIDEwNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTEwNCAwek05NiAzMjBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0yNTYgMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE1MiA3MmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw5NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC05NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHoiXX0sWkd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtcG93ZXJwb2ludCIsaWNvbjpbMzg0LDUxMixbXSwiZjFjNCIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTUyIDI1NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxNDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI0IDI0IDBjMzkuOCAwIDcyLTMyLjIgNzItNzJzLTMyLjItNzItNzItNzJsLTQ4IDB6bTQ4IDk2bC0yNCAwIDAtNDggMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNHoiXX0sbjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InF1b3RlLWxlZnQiLGljb246WzQ0OCw1MTIsWzgyMjAsInF1b3RlLWxlZnQtYWx0Il0sImYxMGQiLCJNMCAyMTZDMCAxNDkuNyA1My43IDk2IDEyMCA5Nmw4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTggMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4IDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyMTZ6bTI1NiAwYzAtNjYuMyA1My43LTEyMCAxMjAtMTIwbDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDggNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTEzNnoiXX0sWEd0PW43ZSxRR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hldnJvbi1kb3duIixpY29uOls0NDgsNTEyLFtdLCJmMDc4IiwiTTIwMS40IDQwNi42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE5Mi0xOTJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjI0IDMzOC43IDU0LjYgMTY5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE5MiAxOTJ6Il19LGw3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlYXJ0aC1hc2lhIixpY29uOls1MTIsNTEyLFsxMjc3NTksImdsb2JlLWFzaWEiXSwiZjU3ZSIsIk01MCAyODQuOGM0LjIgMi4xIDkgMy4yIDE0IDMuMmw1MC43IDBjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjRsMTMuMyAxMy4zYzYgNiAxNC4xIDkuNCAyMi42IDkuNGwxOC43IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNC0xMC43IDI0LTI0bDAtNDIuN2MwLTguNSAzLjQtMTYuNiA5LjQtMjIuNmwxMy4zLTEzLjNjNi02IDkuNC0xNC4xIDkuNC0yMi42TDMwNCA1N2MwLTEuMi0uMS0yLjMtLjItMy41LTE1LjQtMy42LTMxLjQtNS41LTQ3LjgtNS41LTExNC45IDAtMjA4IDkzLjEtMjA4IDIwOCAwIDkuOCAuNyAxOS40IDIgMjguOHptNDAzLjMgMzcuM2MtMy4yLTEuNC02LjctMi4xLTEwLjUtMi4xTDQzMiAzMjBjLTguOCAwLTE2LTcuMi0xNi0xNnMtNy4yLTE2LTE2LTE2bC0zNC43IDBjLTguNSAwLTE2LjYgMy40LTIyLjYgOS40bC00NS4zIDQ1LjNjLTYgNi05LjQgMTQuMS05LjQgMjIuNmwwIDE4LjdjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTguNyAwYzguNSAwIDE2LjYgMy40IDIyLjYgOS40IDIuMiAyLjIgNC43IDQuMSA3LjMgNS41IDM5LjMtMjUuNCA2OS41LTYzLjYgODQuNi0xMDguOHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHpNMTI4IDM2OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0yNzIgMjU2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2em00OC0xMTJsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ6Il19LEpHdD1sN2UsZVl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNlbnQtc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTNmNSIsIk0yMDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI1LjRjNDMuNiA1LjIgODMgMjQuNSAxMTMuMyA1My4xIDEyLjkgMTIuMSAxMy40IDMyLjQgMS4zIDQ1LjJzLTMyLjQgMTMuNC00NS4yIDEuM2MtMjQuNC0yMy01Ny4yLTM3LjEtOTMuMy0zNy4xLTc1LjEgMC0xMzYgNjAuOS0xMzYgMTM2czYwLjkgMTM2IDEzNiAxMzZjMzYuMiAwIDY5LTE0LjEgOTMuMy0zNy4xIDEyLjktMTIuMSAzMy4xLTExLjUgNDUuMiAxLjNzMTEuNSAzMy4xLTEuMyA0NS4yQzMyMyA0MzAuMSAyODMuNiA0NDkuNCAyNDAgNDU0LjZsMCAyNS40YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjhDODQuNyA0MzMuNSAxNiAzNTIuOCAxNiAyNTZTODQuNyA3OC41IDE3NiA2MGwwLTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSx0WXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hpZWxkLWNhdCIsaWNvbjpbNTEyLDUxMixbXSwiZTU3MiIsIk0yNjkuNCAyLjlDMjY1LjIgMSAyNjAuNyAwIDI1NiAwcy05LjIgMS0xMy40IDIuOUw1NC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMiAuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjIgMTYuNyA4IDM2LjEgOCA1Mi44IDAgMTcyLjQtODIuNSAyMTMuMi0yNjQgMjEzLjYtMzYzLjIgLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI2OS40IDIuOXpNMTYwIDE1NC40YzAtNS44IDQuNy0xMC40IDEwLjQtMTAuNGwuMiAwYzMuNCAwIDYuNSAxLjYgOC41IDQuM2w0MCA1My4zYzMgNCA3LjggNi40IDEyLjggNi40bDQ4IDBjNSAwIDkuOC0yLjQgMTIuOC02LjRsNDAtNTMuM2MyLTIuNyA1LjItNC4zIDguNS00LjNsLjIgMGM1LjggMCAxMC40IDQuNyAxMC40IDEwLjRMMzUyIDI3MmMwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NmwwLTExNy42ek0yMTYgMjg4YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnptOTYtMTZhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHoiXX0sYVl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjaG9vbC1jaXJjbGUtY2hlY2siLGljb246WzY0MCw1MTIsW10sImU1NmIiLCJNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNzYgMGMtMTAuNS0xNC42LTE5LTMwLjctMjUuMS00OGwtOTAuOSAwIDAtODhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMxIDAgMS45IDAgMi45IC4xIDI2LjMtNzQuNiA5Ny41LTEyOC4xIDE4MS4xLTEyOC4xIDI4LjYgMCA1NS42IDYuMiA4MCAxNy40bDAtMzMuNGMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMC0xMjcuOS0xMTUuMWMtMTguMy0xNi40LTQ2LTE2LjQtNjQuMiAwTDEyOCAxMjggNjQgMTI4em02NCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMnpNMTEyIDI1NmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2ek0yODggMTI4YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek02NDAgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0sYzdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnRpbmktZ2xhc3MiLGljb246WzUxMiw1MTIsWzEyNzg2NCwiZ2xhc3MtbWFydGluaS1hbHQiXSwiZjU3YiIsIk0yLjQgNTEuOEM3LjQgMzkuOCAxOS4xIDMyIDMyIDMybDQ0OCAwYzEyLjkgMCAyNC42IDcuOCAyOS42IDE5LjhzMi4yIDI1LjctNi45IDM0LjlMMjg4IDMwMS4zIDI4OCA0NDggMzUyIDQ0OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMCAwLTE0Ni43LTIxNC42LTIxNC42Qy4yIDc3LjUtMi41IDYzLjcgMi40IDUxLjh6TTM1NC43IDE0NGw0OC00OC0yOTMuNSAwIDQ4IDQ4IDE5Ny41IDB6Il19LHJZdD1jN2Usc1l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdWciLGljb246WzQ0OCw1MTIsWzEyODI2OF0sImYxZTYiLCJNMTI4LTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMTI4IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgOTYgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDY0YzAgOTUuMS02OS4yIDE3NC4xLTE2MCAxODkuM2wwIDY2LjdjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzEwMS4yIDM5OC4xIDMyIDMxOS4xIDMyIDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlMxNC4zIDk2IDMyIDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0saVl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhbm9yYW1hIixpY29uOls1NzYsNTEyLFtdLCJlMjA5IiwiTTQzLjkgNDhDMTkuNyA0OCAwIDY3LjcgMCA5MS45TDAgNDIwLjFjMCAyNC4zIDE5LjcgNDMuOSA0My45IDQzLjkgNS41IDAgMTAuNy0xIDE1LjctMi45IDEyLjktNC45IDEwMy40LTM3LjEgMjI4LjQtMzcuMXMyMTUuNSAzMi4zIDIyOC40IDM3LjFjNSAxLjkgMTAuMiAyLjkgMTUuNyAyLjkgMjQuMyAwIDQzLjktMTkuNyA0My45LTQzLjlsMC0zMjguMmMwLTI0LjMtMTkuNy00My45LTQzLjktNDMuOS01LjUgMC0xMC43IDEtMTUuNyAyLjktMTIuOSA0LjktMTAzLjQgMzcuMS0yMjguNCAzNy4xUzcyLjUgNTUuNyA1OS42IDUwLjlDNTQuNiA0OSA0OS40IDQ4IDQzLjkgNDh6TTcyIDE3NmE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwem0yNjQuMS0xNmM3LjUgMCAxNC42IDMuNiAxOS4xIDkuNkw0NzkuNyAzMzYuMmM1LjkgNy45IDYuNCAxOC41IDEuMyAyNi45cy0xNC44IDEyLjgtMjQuNSAxMS4xYy00NS44LTcuOC0xMDMuMy0xNC4yLTE2OC40LTE0LjItNjUuNiAwLTEyMy40IDYuNS0xNjkuMyAxNC40LTkuOCAxLjctMTkuNy0yLjktMjQuNy0xMS41cy00LjMtMTkuNCAxLjktMjcuMkwxNjUuMyAyNDljNC42LTUuNyAxMS41LTkgMTguNy05czE0LjIgMy4zIDE4LjcgOWwyNy41IDM0LjQgODYuNy0xMTMuOWM0LjYtNiAxMS43LTkuNSAxOS4yLTkuNXoiXX0sbHY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvY2stcm90YXRlLWxlZnQiLGljb246WzU3Niw1MTIsWyJoaXN0b3J5Il0sImYxZGEiLCJNMjg4IDY0YzEwNiAwIDE5MiA4NiAxOTIgMTkyUzM5NCA0NDggMjg4IDQ0OGMtNjUuMiAwLTEyMi45LTMyLjUtMTU3LjYtODIuMy0xMC4xLTE0LjUtMzAuMS0xOC00NC42LTcuOXMtMTggMzAuMS03LjkgNDQuNkMxMjQuMSA0NjguNiAyMDEgNTEyIDI4OCA1MTIgNDI5LjQgNTEyIDU0NCAzOTcuNCA1NDQgMjU2UzQyOS40IDAgMjg4IDBDMjAyLjMgMCAxMjYuNSA0Mi4xIDgwIDEwNi43TDgwIDgwYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzE2IDYyLjMgMTYgODBsMCAxMTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjQuNiAwYy41IDAgMSAwIDEuNSAwbDg2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTM4LjMgMEMxNTQuOSAxMDIuNiAyMTcgNjQgMjg4IDY0em0yNCA4OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDEwNGMwIDYuNCAyLjUgMTIuNSA3IDE3bDcyIDcyYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNjUtNjUgMC05NC4xeiJdfSxvWXQ9bHYsbll0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imphci13aGVhdCIsaWNvbjpbMzIwLDUxMixbXSwiZTUxNyIsIk0zMi04YzAtMTMuMyAxMC43LTI0IDI0LTI0bDIwOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDU2IDE2QzQyLjcgMTYgMzIgNS4zIDMyLTh6TTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTExMiAzMmwtNDIuMiAwYy0zLjIgMC01LjggMi42LTUuOCA1LjggMCAzMi4xIDI2IDU4LjIgNTguMiA1OC4ybDc1LjYgMGMzMi4xIDAgNTguMi0yNiA1OC4yLTU4LjIgMC0zLjItMi42LTUuOC01LjgtNS44TDIwOCAxNjBjLTE5LjEgMC0zNi4zIDguNC00OCAyMS43LTExLjctMTMuMy0yOC45LTIxLjctNDgtMjEuN3ptNDggMTE3LjdjLTExLjctMTMuMy0yOC45LTIxLjctNDgtMjEuN2wtNDIuMiAwYy0zLjIgMC01LjggMi42LTUuOCA1LjggMCAzMi4xIDI2IDU4LjIgNTguMiA1OC4ybDc1LjYgMGMzMi4xIDAgNTguMi0yNiA1OC4yLTU4LjIgMC0zLjItMi42LTUuOC01LjgtNS44TDIwOCAyNTZjLTE5LjEgMC0zNi4zIDguNC00OCAyMS43ek0xMTIgMzUybC00Mi4yIDBjLTMuMiAwLTUuOCAyLjYtNS44IDUuOCAwIDMyLjEgMjYgNTguMiA1OC4yIDU4LjJsMjEuOCAwIDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTMyIDIxLjggMGMzMi4xIDAgNTguMi0yNiA1OC4yLTU4LjIgMC0zLjItMi42LTUuOC01LjgtNS44TDIwOCAzNTJjLTE5LjEgMC0zNi4zIDguNC00OCAyMS43LTExLjctMTMuMy0yOC45LTIxLjctNDgtMjEuN3oiXX0sdHRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLWFycm93LWRvd24iLGljb246WzU3Niw1MTIsWzYyMzM3LCJjbG91ZC1kb3dubG9hZCIsImNsb3VkLWRvd25sb2FkLWFsdCJdLCJmMGVkIiwiTTE0NCA0ODBjLTc5LjUgMC0xNDQtNjQuNS0xNDQtMTQ0IDAtNjMuNCA0MS0xMTcuMiA5Ny45LTEzNi41LTEuMy03LjctMS45LTE1LjUtMS45LTIzLjUgMC03OS41IDY0LjUtMTQ0IDE0NC0xNDQgNTUuNCAwIDEwMy41IDMxLjMgMTI3LjYgNzcuMSAxNC4yLTguMyAzMC44LTEzLjEgNDguNC0xMy4xIDUzIDAgOTYgNDMgOTYgOTYgMCAxNS43LTMuOCAzMC42LTEwLjUgNDMuNyA0NCAyMC4zIDc0LjUgNjQuNyA3NC41IDExNi4zIDAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0zMDQgMHpNMzc3IDMxM2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC0zMSAzMSAwLTEwMi4xYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTAyLjEtMzEtMzFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNzItNzJ6Il19LGxZdD10dGUsY1l0PXR0ZSxkN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stcmFtcC1ib3giLGljb246WzU3Niw1MTIsWyJ0cnVjay1sb2FkaW5nIl0sImY0ZGUiLCJNNDAwIDMyYy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDI0OC4yLTI5Ny4yIDg5LjJDNS45IDQ1NC40LTMuNyA0NzIuMyAxLjQgNDg5LjJzMjIuOSAyNi41IDM5LjggMjEuNWwzMTUuNS05NC42IDQzLjcgMGMtLjIgMi42LS40IDUuMy0uNCA4IDAgNDguNiAzOS40IDg4IDg4IDg4czg4LTM5LjQgODgtODhsMC0zOTItMTc2IDB6TTUyOCA0MjRjMCAyMi4xLTE3LjkgNDAtNDAgNDBzLTQwLTE3LjktNDAtNDAgMTcuOS00MCA0MC00MGMyMi4xIDAgMzkuOSAxNy45IDQwIDM5LjlsMCAuMXpNNTEuOSAxNDkuNUMxOC4xIDE1OS44LS45IDE5NS42IDkuNCAyMjkuNGwyOC4xIDkxLjhDNDcuOCAzNTUgODMuNiAzNzQgMTE3LjQgMzYzLjdsOTEuOC0yOC4xYzMzLjgtMTAuMyA1Mi44LTQ2LjEgNDIuNS03OS45bC0yOC4xLTkxLjhjLTEwLjMtMzMuOC00Ni4xLTUyLjgtNzkuOS00Mi41TDUxLjkgMTQ5LjV6Il19LGRZdD1kN2UsdVl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuZ2xlLWRvd24iLGljb246WzM4NCw1MTIsWzg5NjRdLCJmMTA3IiwiTTE2OS40IDM3NC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMTkyIDMwNi43IDU0LjYgMTY5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjB6Il19LHBZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVnLWNpcmNsZS1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZTU1YyIsIk0xOTItMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAxMjggMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNDguN2MtOTguNiA4LjEtMTc2IDkwLjctMTc2IDE5MS4zIDAgMjcuMyA1LjcgNTMuMyAxNiA3Ni45bDAgMy4xYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjYuN0MxNjUuMiAzOTguMSA5NiAzMTkuMSA5NiAyMjRsMC02NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTNzguMyA5NiA5NiA5Nmw2NCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTM1MiA0MDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjAxLjQtNjAuOWMtNy4xLTUuMi0xNy4yLTMuNi0yMi40IDMuNWwtNTMgNzIuOS0yNi44LTI2LjhjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjMy4zIDMuMyA3LjkgNSAxMi42IDQuNnM4LjktMi44IDExLjctNi41bDY0LTg4YzUuMi03LjEgMy42LTE3LjItMy41LTIyLjN6Il19LGZZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aW5kb3ctbWF4aW1pemUiLGljb246WzUxMiw1MTIsWzEyODQ3MF0sImYyZDAiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTI0IDY0bDMzNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0saFl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLWhvbGRpbmctY2lyY2xlIixpY29uOls2NDAsNTEyLFtdLCJlNGZiIiwiTTMyMCAwYTEyOCAxMjggMCAxIDEgMCAyNTYgMTI4IDEyOCAwIDEgMSAwLTI1NnpNNDAgNjRjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCAxNjAuMmMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM2w1MS4xIDUxLjFjOC4zIDguMyAyMS4zIDkuNiAzMSAzLjEgMTIuOS04LjYgMTQuNy0yNi45IDMuNy0zNy44LTcuMy03LjMtMjMuMS0yMy4xLTQ3LjItNDcuMi0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwYzI0LjEgMjQuMSAzOS45IDM5LjkgNDcuMiA0Ny4ybDAgMCAyNS4zIDI1LjNjMjEgMjEgMzIuOCA0OS41IDMyLjggNzkuMmwwIDc4LjljMCAyNi41LTIxLjUgNDgtNDggNDhsLTY2LjcgMGMtMTcgMC0zMy4zLTYuNy00NS4zLTE4LjdMMjguMSAzOTMuNEMxMC4xIDM3NS40IDAgMzUxIDAgMzI1LjVMMCAxMDRDMCA4MS45IDE3LjkgNjQgNDAgNjR6bTU2MCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgMjIxLjVjMCAyNS41LTEwLjEgNDkuOS0yOC4xIDY3LjlMNTEyIDQ5My4zYy0xMiAxMi0yOC4zIDE4LjctNDUuMyAxOC43TDQwMCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNzguOWMwLTI5LjcgMTEuOC01OC4yIDMyLjgtNzkuMmwyNS4zLTI1LjMgMCAwYzcuMy03LjMgMjMuMS0yMy4xIDQ3LjItNDcuMiAxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zYy0yNC4xIDI0LjEtMzkuOSAzOS45LTQ3LjIgNDcuMi0xMSAxMS05LjIgMjkuMiAzLjcgMzcuOCA5LjcgNi41IDIyLjcgNS4yIDMxLTMuMWw1MS4xLTUxLjFjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0w1NjAgMTA0YzAtMjIuMSAxNy45LTQwIDQwLTQweiJdfSx1N2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibG9jYXRpb24tcGluIixpY29uOlszODQsNTEyLFsibWFwLW1hcmtlciJdLCJmMDQxIiwiTTE5MiAwQzg2IDAgMCA4NC40IDAgMTg4LjYgMCAzMDcuOSAxMjAuMiA0NTAuOSAxNzAuNCA1MDUuNCAxODIuMiA1MTguMiAyMDEuOCA1MTguMiAyMTMuNiA1MDUuNCAyNjMuOCA0NTAuOSAzODQgMzA3LjkgMzg0IDE4OC42IDM4NCA4NC40IDI5OCAwIDE5MiAweiJdfSxtWXQ9dTdlLGdZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3dsaW5nLWJhbGwiLGljb246WzUxMiw1MTIsW10sImY0MzYiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTI0MCA4MGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTIwOCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptLTY0LTY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0scDdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcnQtZmxhdGJlZCIsaWNvbjpbNTc2LDUxMixbImRvbGx5LWZsYXRiZWQiXSwiZjQ3NCIsIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjg4YzAgMzkuOCAyOS4xIDcyLjggNjcuMSA3OS0yIDUuMy0zLjEgMTEtMy4xIDE3IDAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhjMC01LjYtMS0xMS0yLjctMTZsMTk3LjUgMGMtMS44IDUtMi43IDEwLjQtMi43IDE2IDAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhjMC01LjYtMS0xMS0yLjctMTZsMzQuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC00MDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjg4QzEyOCAzNS44IDkyLjIgMCA0OCAwTDMyIDB6TTIyNCA2NGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNzZjMCAyNi41IDIxLjUgNDggNDggNDhsMjQwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xNzZjMC0yNi41LTIxLjUtNDgtNDgtNDhMMjI0IDY0eiJdfSxiWXQ9cDdlLGY3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS11c2VyIixpY29uOls1MTIsNTEyLFsiaG9tZS11c2VyIl0sImUxYjAiLCJNMjc3LjggOC42Yy0xMi4zLTExLjQtMzEuMy0xMS40LTQzLjUgMGwtMjI0IDIwOGMtOS42IDktMTIuOCAyMi45LTggMzUuMVMxOC44IDI3MiAzMiAyNzJsMTYgMCAwIDE3NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyODggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE3NiAxNiAwYzEzLjIgMCAyNS04LjEgMjkuOC0yMC4zczEuNi0yNi4yLTgtMzUuMWwtMjI0LTIwOHpNMjAwIDI1NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTE0NCA0MzJjMC00NC4yIDM1LjgtODAgODAtODBsNjQgMGM0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDguOC03LjIgMTYtMTYgMTZsLTE5MiAwYy04LjggMC0xNi03LjItMTYtMTZ6Il19LHZZdD1mN2UseFl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imdob3N0IixpY29uOlszODQsNTEyLFsxMjgxMjNdLCJmNmUyIiwiTTQwLjEgNDY3LjFsLTExLjIgOUMyNS43IDQ3OC42IDIxLjggNDgwIDE3LjggNDgwIDggNDgwIDAgNDcyIDAgNDYyLjJMMCAxOTJDMCA4NiA4NiAwIDE5MiAwUzM4NCA4NiAzODQgMTkybDAgMjcwLjJjMCA5LjgtOCAxNy44LTE3LjggMTcuOC00IDAtNy45LTEuNC0xMS4xLTMuOWwtMTEuMi05Yy0xMy40LTEwLjctMzIuOC05LTQ0LjEgMy45TDI2OS4zIDUwNmMtMy4zIDMuOC04LjIgNi0xMy4zIDZzLTkuOS0yLjItMTMuMy02bC0yNi42LTMwLjVjLTEyLjctMTQuNi0zNS40LTE0LjYtNDguMiAwTDE0MS4zIDUwNmMtMy4zIDMuOC04LjIgNi0xMy4zIDZzLTkuOS0yLjItMTMuMy02TDg0LjIgNDcxYy0xMS4zLTEyLjktMzAuNy0xNC42LTQ0LjEtMy45ek0xNjAgMTkyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTk2IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0seVl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnQtbm9kZXMiLGljb246WzY0MCw1MTIsW10sImU2OTYiLCJNNDgwIDIwOEM1MDMuNyAyMDggNTI1LjYgMjE1LjMgNTQzLjcgMjI3LjkgNTM2LjkgMTAwLjkgNDI1IDAgMjg4IDAgMTQ2LjYgMCAzMiAxMDcuNSAzMiAyNDAgMzIgMjk0LjMgNTEuMiAzNDQuMyA4My42IDM4NC41TDM0LjggNDc2LjhjLTQuOCA5LTMuMyAyMCAzLjYgMjcuNXMxNy44IDkuOCAyNy4xIDUuOGwxMTguNC01MC43YzI3LjIgMTEuNCA1Ni45IDE4LjQgODguMSAyMC4yIC4xLTE4LjkgNC45LTM4IDE1LTU1LjUgMTcuMS0yOS43IDQ1LjgtNDguNSA3Ny01NC4ybDkuMi0xNmMtMy40LTEwLjctNS4yLTIyLTUuMi0zMy44IDAtNjEuOSA1MC4xLTExMiAxMTItMTEyek0zMjguNiA0NDhjLTE3LjcgMzAuNi03LjIgNjkuNyAyMy40IDg3LjRzNjkuNyA3LjIgODcuNC0yMy40YzEuNS0yLjYgMi44LTUuMyAzLjktOGw3My4zIDBjMS4xIDIuNyAyLjQgNS40IDMuOSA4IDE3LjcgMzAuNiA1Ni44IDQxLjEgODcuNCAyMy40czQxLjEtNTYuOCAyMy40LTg3LjRjLTEzLjQtMjMuMi0zOS4xLTM0LjgtNjQtMzEuNGwtMTcuNi0zMC43Yy0xMSAxMS43LTI1IDIwLjYtNDAuNiAyNS42bDE2LjUgMjguOWMtMy44IDQuOC02LjggMTAtOSAxNS42bC03My40IDBjLTIuMi01LjYtNS4zLTEwLjgtOS0xNS42bDMzLTU3LjdjNC4xIC44IDguNCAxLjMgMTIuOCAxLjMgMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjQtNjQgMjguNy02NCA2NGMwIDEzLjQgNC4xIDI1LjggMTEuMiAzNi4xbC0zNC42IDYwLjVjLTI1LTMuNC01MC42IDguMy02NCAzMS40eiJdfSx3WXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWFycm93LWRvd24tdG8tbGluZSIsaWNvbjpbNTc2LDUxMixbXSwiZTUzOCIsIk0xOTItMzJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTMxOC4zIDI5OS4xbC00Ni4zLTYyLjQgMCAyNDMuMyAyNzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1NDRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsODAgMCAwLTI0My4zLTQ2LjMgNjIuNGMtMTAuNSAxNC4yLTMwLjYgMTcuMi00NC44IDYuNnMtMTcuMi0zMC42LTYuNi00NC44bDcwLjUtOTVDMTEwIDEzMiAxNDkuNyAxMTIgMTkyIDExMnM4MiAyMCAxMDcuMiA1My45bDcwLjUgOTVjMTAuNSAxNC4yIDcuNiAzNC4yLTYuNiA0NC44cy0zNC4yIDcuNi00NC44LTYuNnpNMTc2IDQ4MGwzMiAwIDAtMTI4YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMTI4ek01NjYuNiAxNjYuNmwtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC04MC04MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw0MzIgMTQ2LjcgNDMyIDBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE0Ni43IDI1LjQtMjUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zeiJdfSxNWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGx1Zy1jaXJjbGUtcGx1cyIsaWNvbjpbNjQwLDUxMixbXSwiZTU1ZiIsIk0xOTItMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAxMjggMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNDguN2MtOTguNiA4LjEtMTc2IDkwLjctMTc2IDE5MS4zIDAgMjcuMyA1LjcgNTMuMyAxNiA3Ni45bDAgMy4xYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjYuN0MxNjUuMiAzOTguMSA5NiAzMTkuMSA5NiAyMjRsMC02NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTNzguMyA5NiA5NiA5Nmw2NCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQ5NiAyNTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0xNiA4MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDQ4LTQ4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNDggMCAwIDQ4YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC00OCA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC00OCAwIDAtNDh6Il19LGg3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tc3dpbW1pbmciLGljb246WzY0MCw1MTIsWzEyNzk0Niwic3dpbW1lciJdLCJmNWM0IiwiTTU1MiAxNTJhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAwek0yOTMuNCAxOTguMmwtODguNiA3My45YzEuMSAwIDIuMi0uMSAzLjMtLjEgMzMuMS0uMiA2Ni4zIDEwLjIgOTQuNCAzMS40IDIyLjEgMTYuNiAyOS4xIDE2LjYgNTEuMiAwIDI3LjUtMjAuNyA1OS45LTMxLjIgOTIuNC0zMS40IDQuOCAwIDkuNyAuMiAxNC41IC42LTguMy0zMC0yNC4zLTU3LjctNDYuOC04MC4yLTE4LjQtMTguNC00MC42LTMyLjctNjUtNDEuOGwtNjguNi0yNS43Yy0yNy40LTEwLjMtNTgtNy41LTgzLjEgNy42bC01My41IDMyLjFjLTE1LjIgOS4xLTIwLjEgMjguNy0xMSA0My45czI4LjcgMjAuMSA0My45IDExTDIzMCAxODcuM2M4LjQtNSAxOC42LTUuOSAyNy43LTIuNWwzNS43IDEzLjR6bTExMCAxODEuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMCAxOSAxNC40IDQxLjkgMjguMiA2Ny4yIDMzLjMgMjYuNSA1LjQgNTQuMyAuOCA4MC43LTE5LjEgMTAuNi04IDEyLjctMjMgNC43LTMzLjZzLTIzLTEyLjctMzMuNi00LjdjLTE0LjkgMTEuMi0yOC42IDEzLjEtNDIuMyAxMC4zLTE0LjktMy0zMC45LTExLjktNDcuOC0yNC42LTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTIxLjYgMTYuMy00MS4zIDI1LjgtNTguOSAyNS43LTkuNi0uMS0xOS45LTMtMzEuMi0xMS41LTEwLjYtOC0yNS42LTUuOS0zMy42IDQuN1M3IDM4Ni4zIDE3LjYgMzk0LjNjMTkuMSAxNC40IDM5LjQgMjEgNTkuOCAyMS4xIDMzLjkgLjIgNjQuMy0xNy40IDg4LjEtMzUuMyAyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMCAyNC4yIDE4LjMgNTIuMyAzNS45IDgzLjQgMzUuOXM1OS4xLTE3LjcgODMuNC0zNS45eiJdfSxrWXQ9aDdlLG03ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21tZW50LWRvdHMiLGljb246WzUxMiw1MTIsWzEyODE3Miw2MjA3NSwiY29tbWVudGluZyJdLCJmNGFkIiwiTTI1NiA0ODBjMTQxLjQgMCAyNTYtMTA3LjUgMjU2LTI0MFMzOTcuNCAwIDI1NiAwIDAgMTA3LjUgMCAyNDBjMCA1NC4zIDE5LjIgMTA0LjMgNTEuNiAxNDQuNUwyLjggNDc2LjhjLTQuOCA5LTMuMyAyMCAzLjYgMjcuNXMxNy44IDkuOCAyNy4xIDUuOGwxMTguNC01MC43QzE4My43IDQ3Mi42IDIxOC45IDQ4MCAyNTYgNDgwek0xMjggMjA4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em05NiAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxTWXQ9bTdlLGc3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFydC1waWUiLGljb246WzU3Niw1MTIsWyJwaWUtY2hhcnQiXSwiZjIwMCIsIk01MTIuNCAyNDBsLTE3NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE3NmMwLTE3LjcgMTQuNC0zMi4yIDMxLjktMjkuOSAxMDcgMTQuMiAxOTEuOCA5OSAyMDYgMjA2IDIuMyAxNy41LTEyLjIgMzEuOS0yOS45IDMxLjl6TTIyMi42IDM3LjJjMTguMS0zLjggMzMuOCAxMSAzMy44IDI5LjVsMCAxOTcuM2MwIDUuNiAyIDExIDUuNSAxNS4zTDM5NCA0MzguN2MxMS43IDE0LjEgOS4yIDM1LjQtNi45IDQ0LjEtMzQuMSAxOC42LTczLjIgMjkuMi0xMTQuNyAyOS4yLTEzMi41IDAtMjQwLTEwNy41LTI0MC0yNDAgMC0xMTUuNSA4MS41LTIxMS45IDE5MC4yLTIzNC44ek00NzcuOCAyODhsNjQgMGMxOC41IDAgMzMuMyAxNS43IDI5LjUgMzMuOC0xMC4yIDQ4LjQtMzUgOTEuNC02OS42IDEyNC4yLTEyLjMgMTEuNy0zMS42IDkuMi00Mi40LTMuOUwzNzQuOSAzNDAuNGMtMTcuMy0yMC45LTIuNC01Mi40IDI0LjYtNTIuNGw3OC4yIDB6Il19LHpZdD1nN2UsQ1l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZyb2ciLGljb246WzU3Niw1MTIsW10sImY1MmUiLCJNMzY4IDMyYzQxLjcgMCA3NS45IDMxLjggNzkuNyA3Mi41bDg1LjYgMjYuM2MyNS40IDcuOCA0Mi44IDMxLjMgNDIuOCA1Ny45IDAgMjEuOC0xMS43IDQxLjktMzAuNyA1Mi43bC0xNDQuNSA4Mi4xIDkyLjUgOTIuNSA1MC43IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTguNSAwLTE2LjYtMy40LTIyLjYtOS40TDM0Ni45IDM2MC4yYzExLjctMzYgMy4yLTc3LjEtMjUuNC0xMDUuNy00MC42LTQwLjYtMTA2LjMtNDAuNi0xNDYuOS0uMUwxMDEgMzI0LjRjLTYuNCA2LjEtNi43IDE2LjItLjYgMjIuNnMxNi4yIDYuNiAyMi42IC42bDczLjgtNzAuMiAuMS0uMSAuMS0uMWMzLjUtMy41IDcuMy02LjYgMTEuMy05LjIgMjcuOS0xOC41IDY1LjktMTUuNCA5MC41IDkuMiAyNC43IDI0LjcgMjcuNyA2Mi45IDkgOTAuOS0yLjYgMy44LTUuNiA3LjUtOSAxMC45TDI2MS44IDQxNiAzNTIgNDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDY0IDQ4MEMyOC43IDQ4MCAwIDQ1MS4zIDAgNDE2IDAgMjQ5LjYgMTI3IDExMi45IDI4OS4zIDk3LjUgMjk2LjIgNjAuMiAzMjguOCAzMiAzNjggMzJ6bTAgMTA0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sX1l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpbmUtYm90dGxlIixpY29uOlszMjAsNTEyLFtdLCJmNzJmIiwiTTgwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzIgMCAxMS44LTYuNCAyMi4yLTE2IDI3LjdsMCAxNDUuNmM1Ni41IDI0LjcgOTYgODEuMSA5NiAxNDYuN2wwIDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1NzZjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjg4YzAtNjUuNiAzOS41LTEyMiA5Ni0xNDYuN0w5Ni00LjNDODYuNC05LjggODAtMjAuMiA4MC0zMnpNOTYgMjg4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiAyODh6Il19LFRZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpbmJveCIsaWNvbjpbNTEyLDUxMixbXSwiZjAxYyIsIk05MS44IDMyQzU5LjkgMzIgMzIuOSA1NS40IDI4LjQgODYuOUwuNiAyODEuMmMtLjQgMy0uNiA2LS42IDkuMUwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTEyNS43YzAtMy0uMi02LjEtLjYtOS4xTDQ4My42IDg2LjlDNDc5LjEgNTUuNCA0NTIuMSAzMiA0MjAuMiAzMkw5MS44IDMyem0wIDY0bDMyOC41IDAgMjcuNCAxOTItNTkuOSAwYy0xMi4xIDAtMjMuMiA2LjgtMjguNiAxNy43bC0xNC4zIDI4LjZjLTUuNCAxMC44LTE2LjUgMTcuNy0yOC42IDE3LjdsLTEyMC40IDBjLTEyLjEgMC0yMy4yLTYuOC0yOC42LTE3LjdsLTE0LjMtMjguNmMtNS40LTEwLjgtMTYuNS0xNy43LTI4LjYtMTcuN0w2NC4zIDI4OCA5MS44IDk2eiJdfSxiN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWgiLGljb246WzQ0OCw1MTIsWyJoLXNxdWFyZSJdLCJmMGZkIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTMyMCAxNjhsMCAxNzZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC02NC05NiAwIDAgNjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xNzZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDk2IDAgMC02NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSxMWXQ9YjdlLCRZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1tZWRpY2FsIixpY29uOls1MTIsNTEyLFtdLCJlM2IyIiwiTTI3Ny44IDguNmMtMTIuMy0xMS40LTMxLjMtMTEuNC00My41IDBsLTIyNCAyMDhjLTkuNiA5LTEyLjggMjIuOS04IDM1LjFTMTguOCAyNzIgMzIgMjcybDE2IDAgMCAxNzZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjg4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNzYgMTYgMGMxMy4yIDAgMjUtOC4xIDI5LjgtMjAuM3MxLjYtMjYuMi04LTM1LjFsLTIyNC0yMDh6TTIyNCAyNDhjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LHY3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtY2hldnJvbi1yaWdodCIsaWNvbjpbNTEyLDUxMixbImNoZXZyb24tY2lyY2xlLXJpZ2h0Il0sImYxMzgiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMCAyNTYgMjU2IDAgMSAwIC01MTIgMHpNMjQxIDM3N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw4Ny04Ny04Ny04N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwTDM0NSAyMzljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlMMjQxIDM3N3oiXX0sRFl0PXY3ZSxBWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jc3YiLGljb246WzU3Niw1MTIsW10sImY2ZGQiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGw4MCAwIDAtMTEyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDE3NiAwIDAtMTY1LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkwLjcgMTguN0MyNzguNyA2LjcgMjYyLjUgMCAyNDUuNSAwTDk2IDB6TTM1Ny41IDE3NkwyNjQgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyNDAgNTguNSAzNTcuNSAxNzZ6TTI2NCAzODBjLTI0LjMgMC00NCAxOS43LTQ0IDQ0bDAgODBjMCAyNC4zIDE5LjcgNDQgNDQgNDRsMTYgMGMyNC4zIDAgNDQtMTkuNyA0NC00NGwwLThjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwbDAgOGMwIDIuMi0xLjggNC00IDRsLTE2IDBjLTIuMiAwLTQtMS44LTQtNGwwLTgwYzAtMi4yIDEuOC00IDQtNGwxNiAwYzIuMiAwIDQgMS44IDQgNGwwIDhjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC04YzAtMjQuMy0xOS43LTQ0LTQ0LTQ0bC0xNiAwem0xMzYgMGMtMjguNyAwLTUyIDIzLjMtNTIgNTJzMjMuMyA1MiA1MiA1MmM2LjYgMCAxMiA1LjQgMTIgMTJzLTUuNCAxMi0xMiAxMmwtMzIgMGMtMTEgMC0yMCA5LTIwIDIwczkgMjAgMjAgMjBsMzIgMGMyOC43IDAgNTItMjMuMyA1Mi01MnMtMjMuMy01Mi01Mi01MmMtNi42IDAtMTItNS40LTEyLTEyczUuNC0xMiAxMi0xMmwyNCAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtMjQgMHptOTYgMGMtMTEgMC0yMCA5LTIwIDIwbDAgMzEuNmMwIDM1LjUgMTAuNSA3MC4zIDMwLjIgOTkuOGw1LjEgNy43YzMuNyA1LjYgMTAgOC45IDE2LjYgOC45czEyLjktMy4zIDE2LjYtOC45bDUuMS03LjdjMTkuNy0yOS42IDMwLjItNjQuMyAzMC4yLTk5LjhsMC0zMS42YzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMGwwIDMxLjZjMCAxOS42LTQuMSAzOC45LTEyIDU2LjctNy45LTE3LjgtMTItMzcuMS0xMi01Ni43bDAtMzEuNmMwLTExLTktMjAtMjAtMjB6Il19LFBZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYXQtY293Ym95IixpY29uOls2NDAsNTEyLFtdLCJmOGMwIiwiTTE4Mi4yIDc2LjFMMTMwLjggMzA3LjVDMTQ1LjUgMzI0LjkgMTY3LjQgMzM2IDE5MiAzMzZsMjU2IDBjMjQuNiAwIDQ2LjUtMTEuMSA2MS4yLTI4LjVMNDU3LjggNzYuMWMtNS43LTI1LjgtMjguNi00NC4xLTU1LTQ0LjEtMTIuMiAwLTI0LjEgNC0zMy44IDExLjNsLTQuNyAzLjVjLTI2LjMgMTkuNy02Mi40IDE5LjctODguNiAwTDI3MSA0My4zYy05LjgtNy4zLTIxLjYtMTEuMy0zMy44LTExLjMtMjYuNCAwLTQ5LjMgMTguMy01NSA0NC4xek02NCAyNTZjMC0xNy43LTE0LjMtMzItMzItMzJTMCAyMzguMyAwIDI1NkMwIDM2MiA4NiA0NDggMTkyIDQ0OGwyNTYgMGMxMDYgMCAxOTItODYgMTkyLTE5MiAwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtMjU2IDBjLTcwLjcgMC0xMjgtNTcuMy0xMjgtMTI4eiJdfSx4N2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXRvbmd1ZS13aW5rIixpY29uOls1MTIsNTEyLFsxMjg1NDAsImdyaW4tdG9uZ3VlLXdpbmsiXSwiZjU4YiIsIk0xNTIuMiA0OTAuMUM2Mi41IDQ1MC4yIDAgMzYwLjQgMCAyNTYgMCAxMTQuNiAxMTQuNiAwIDI1NiAwUzUxMiAxMTQuNiA1MTIgMjU2YzAgMTA0LjQtNjIuNSAxOTQuMi0xNTIuMiAyMzQuMSA1LjMtMTMgOC4yLTI3LjIgOC4yLTQyLjFsMC02MS43YzE2LjktMTYuNSAzMC4xLTM2LjcgMzguMy01OS4zIDQuMy0xMS44LTcuNy0yMS44LTE5LjYtMTguMS0zOS4yIDEyLjItODMuNyAxOS4xLTEzMC43IDE5LjFzLTkxLjUtNi45LTEzMC43LTE5LjFjLTExLjktMy43LTIzLjkgNi4zLTE5LjYgMTguMSA4LjMgMjIuNiAyMS41IDQyLjggMzguMyA1OS4zbDAgNjEuN2MwIDE0LjkgMi45IDI5LjEgOC4yIDQyLjF6TTE1MiAyMTJsMTYgMGMxMSAwIDIwIDkgMjAgMjBzOSAyMCAyMCAyMCAyMC05IDIwLTIwYzAtMzMuMS0yNi45LTYwLTYwLTYwbC0xNiAwYy0zMy4xIDAtNjAgMjYuOS02MCA2MCAwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMCA5LTIwIDIwLTIwem0xODQgNjBhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6TTMyMCA0MDIuNmwwIDQ1LjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRsMC00NS40YzAtMTQuNyAxMS45LTI2LjYgMjYuNi0yNi42bDIgMGMxMS4zIDAgMjEuMSA3LjkgMjMuNiAxOC45IDIuOCAxMi42IDIwLjggMTIuNiAyMy42IDAgMi41LTExLjEgMTIuMy0xOC45IDIzLjYtMTguOWwyIDBjMTQuNyAwIDI2LjYgMTEuOSAyNi42IDI2LjZ6TTMzNiAxODRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4eiJdfSxFWXQ9eDdlLElZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsIixpY29uOlszMjAsNTEyLFsxMDhdLCI0YyIsIk02NCAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDM1MiAxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw2NCA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDMyIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxhdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93bi1zaG9ydC13aWRlIixpY29uOls1NzYsNTEyLFsic29ydC1hbW91bnQtZGVzYyIsInNvcnQtYW1vdW50LWRvd24tYWx0Il0sImY4ODQiLCJNMjQ2LjYgMzc0LjZsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtOTYtOTZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMzcwLjcgOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMwNi43IDQxLjQtNDEuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zek0zMjAgMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMjhsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMjhsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDEyOGwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjI0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LE5ZdD1hdGUsUll0PWF0ZSx5N2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91cmdsYXNzLWhhbGYiLGljb246WzM4NCw1MTIsWyJob3VyZ2xhc3MtMiJdLCJmMjUyIiwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyUzE0LjMgNjQgMzIgNjRsMCAxMWMwIDQyLjQgMTYuOSA4My4xIDQ2LjkgMTEzLjFsNjcuOSA2Ny45LTY3LjkgNjcuOUM0OC45IDM1My45IDMyIDM5NC42IDMyIDQzN2wwIDExYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTFjMC00Mi40LTE2LjktODMuMS00Ni45LTExMy4xbC02Ny45LTY3LjkgNjcuOS02Ny45YzMwLTMwIDQ2LjktNzAuNyA0Ni45LTExMy4xbDAtMTFjMTcuNyAwIDMyLTE0LjMgMzItMzJTMzY5LjcgMCAzNTIgMEwzMiAwek05NiA3NWwwLTExIDE5MiAwIDAgMTFjMCAxOS01LjYgMzcuNC0xNiA1M0wxMTIgMTI4Yy0xMC4zLTE1LjYtMTYtMzQtMTYtNTN6bTE2IDMwOWMzLjUtNS4zIDcuNi0xMC4zIDEyLjEtMTQuOWw2Ny45LTY3LjkgNjcuOSA2Ny45YzQuNiA0LjYgOC42IDkuNiAxMi4yIDE0LjlMMTEyIDM4NHoiXX0sT1l0PXk3ZSx3N2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Bvb24iLGljb246WzUxMiw1MTIsWzEyOTM0OCw2MTg3MywidXRlbnNpbC1zcG9vbiJdLCJmMmU1IiwiTTI0NS44IDIyMC45Yy0xNC41LTE3LjYtMjEuOC0zOS4yLTIxLjgtNjAuOCAwLTgwLjIgOTYtMTYwLjIgMTkyLTE2MC4yIDUzIDAgOTYgNDMgOTYgOTYgMCA5Ni04MCAxOTItMTYwLjIgMTkyLTIxLjYgMC00My4yLTcuMy02MC44LTIxLjhMNTQuNiA1MDIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjQ1LjggMjIwLjl6Il19LEZZdD13N2UsTTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNyZWRpdC1jYXJkIixpY29uOls1MTIsNTEyLFsxMjgxNzksNjIwODMsImNyZWRpdC1jYXJkLWFsdCJdLCJmMDlkIiwiTTAgMTI4bDAgMzIgNTEyIDAgMC0zMmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOHptMCA4MEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE3Ni01MTIgMHpNNjQgMzYwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0xNDQgMGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw2NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC02NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHoiXX0sQll0PU03ZSxSdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1pbnZvaWNlLWRvbGxhciIsaWNvbjpbMzg0LDUxMixbXSwiZjU3MSIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNNjQgODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4OCA2NEM3NC43IDY0IDY0IDc0LjcgNjQgODh6bTAgOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTExMiA3NmwwIDRjLTI4LjggLjMtNTIgMjMuNy01MiA1Mi41IDAgMjUuNyAxOC41IDQ3LjYgNDMuOSA1MS44bDQxLjcgN2M2IDEgMTAuNCA2LjIgMTAuNCAxMi4zIDAgNi45LTUuNiAxMi41LTEyLjUgMTIuNUwxNTIgNDAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGwyNCAwIDAgNGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTQuN2MyNS00LjEgNDQtMjUuNyA0NC01MS44IDAtMjUuNy0xOC41LTQ3LjYtNDMuOS01MS44bC00MS43LTdjLTYtMS0xMC40LTYuMi0xMC40LTEyLjMgMC02LjkgNS42LTEyLjUgMTIuNS0xMi41bDQ3LjUgMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTggMCAwLTRjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIweiJdfSxrN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3BhZ2hldHRpLW1vbnN0ZXItZmx5aW5nIixpY29uOls2NDAsNTEyLFsicGFzdGFmYXJpYW5pc20iXSwiZjY3YiIsIk0yMDggNjRhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMGMwIDE2LjItNiAzMS4xLTE2IDQyLjNsMTUuNiAzMS4yYzE4LjctNiAzOS45LTkuNSA2NC40LTkuNXM0NS44IDMuNSA2NC40IDkuNUw0MDAgMTA2LjNjLTEwLTExLjMtMTYtMjYuMS0xNi00Mi4zIDAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjQtMjguNyA2NC02NCA2NGMtMS43IDAtMy40LS4xLTUuMS0uMkw0MjcuOCAxNThjMjEuMSAxMy42IDM3LjcgMzAuMiA1MS40IDQ2LjQgNy4xIDguMyAxMy41IDE2LjYgMTkuMyAyNGwxLjQgMS44YzYuMyA4LjEgMTEuNiAxNC44IDE2LjcgMjAuNCAxMC43IDExLjcgMTYuMSAxMy40IDE5LjQgMTMuNCAyLjUgMCA0LjMtLjYgNy4xLTMuMyAzLjctMy41IDcuMS04LjggMTIuNS0xNy40bC42LS45YzQuNi03LjQgMTEtMTcuNiAxOS40LTI1LjcgOS43LTkuMyAyMi45LTE2LjcgNDAuNC0xNi43IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yLjUgMC00LjMgLjYtNy4xIDMuMy0zLjcgMy41LTcuMSA4LjgtMTIuNSAxNy40bC0uNiAuOWMtNC42IDcuNC0xMSAxNy42LTE5LjQgMjUuNy05LjcgOS4zLTIyLjkgMTYuNy00MC40IDE2LjctMTguNSAwLTMyLjktOC41LTQ0LjMtMTguNi0zLjEgNC02LjYgOC4zLTEwLjUgMTIuNyAxLjQgNC4zIDIuOCA4LjUgNCAxMi41IC45IDMgMS44IDUuOCAyLjYgOC42IDMgOS44IDUuNSAxOC4yIDguNiAyNS45IDMuOSA5LjggNy40IDE1LjQgMTAuOCAxOC41IDIuNiAyLjQgNS45IDQuMyAxMi44IDQuMyA4LjcgMCAxNi45LTQuMiAzMy43LTEzLjIgMTUtOCAzNS43LTE4LjggNjIuMy0xOC44IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0xMy40IDAtMjQuNyA1LjItMzkuNyAxMy4yLTEgLjYtMi4xIDEuMS0zLjIgMS43LTEzLjEgNy4xLTMxLjYgMTcuMS01My4xIDE3LjEtMTguNCAwLTMzLjYtNi4xLTQ1LjUtMTcuMi0xMS4xLTEwLjMtMTcuOS0yMy43LTIyLjctMzYtMy42LTktNi43LTE5LjEtOS41LTI4LjUtMTYuNCAxMi4zLTM2LjEgMjMuNi01OC45IDMxLjMgMy42IDEwLjggOC40IDIzLjUgMTQuNCAzNi4yIDcuNSAxNS45IDE2LjIgMzAuNCAyNS44IDQwLjUgOS42IDEwLjIgMTcuNyAxMy43IDI0LjUgMTMuNyAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjUuMiAwLTQ1LTEzLjUtNTkuNS0yOC44LTE0LjUtMTUuNC0yNS43LTM0LjktMzQuMi01My04LTE3LTE0LjEtMzMuOC0xOC4zLTQ2LjktNS4yIC40LTEwLjYgLjYtMTYgLjZzLTEwLjgtLjItMTYtLjZjLTQuMiAxMy0xMC4zIDI5LjktMTguMyA0Ni45LTguNSAxOC4xLTE5LjggMzcuNi0zNC4yIDUzLTE0LjQgMTUuMy0zNC4zIDI4LjgtNTkuNSAyOC44LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjNi44IDAgMTUtMy41IDI0LjUtMTMuNyA5LjUtMTAuMSAxOC4zLTI0LjYgMjUuOC00MC41IDUuOS0xMi42IDEwLjctMjUuNCAxNC40LTM2LjItMjIuOC03LjctNDIuNS0xOS01OC45LTMxLjMtMi45IDkuNC02IDE5LjUtOS41IDI4LjUtNC44IDEyLjItMTEuNiAyNS42LTIyLjcgMzYtMTEuOSAxMS4xLTI3LjEgMTcuMi00NS41IDE3LjItMTMuMSAwLTI0LjUtNC4xLTMzLjgtOC45LTcuOS00LTE1LjctOS4yLTIyLjEtMTMuNWwwIDAtMi40LTEuNmMtMTUuMy0xMC4yLTI1LjgtMTYtMzcuNy0xNi0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzI4LjEgMCA0OS42IDE0LjIgNjQuMyAyNGwyLjQgMS42YzYuOSA0LjYgMTIuMSA4LjEgMTcuMiAxMC43IDUuNSAyLjggOS4xIDMuNiAxMiAzLjYgNi44IDAgMTAuMi0xLjkgMTIuOC00LjMgMy40LTMuMiA3LTguOCAxMC44LTE4LjUgMy03LjcgNS42LTE2LjEgOC42LTI1LjkgLjgtMi43IDEuNy01LjYgMi42LTguNiAxLjItNCAyLjYtOC4yIDQtMTIuNS0zLjktNC41LTcuNC04LjgtMTAuNS0xMi43LTExLjQgMTAuMS0yNS45IDE4LjYtNDQuMyAxOC42LTE3LjUgMC0zMC43LTcuNC00MC40LTE2LjctOC40LTguMS0xNC44LTE4LjMtMTkuNC0yNS43bC0uNi0uOWMtNS40LTguNi04LjgtMTMuOS0xMi41LTE3LjQtMi44LTIuNy00LjYtMy4zLTcuMS0zLjMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMxNy41IDAgMzAuNyA3LjQgNDAuNCAxNi43IDguNCA4LjEgMTQuOCAxOC4zIDE5LjQgMjUuN2wuNiAuOWM1LjQgOC42IDguOCAxMy45IDEyLjUgMTcuNCAyLjggMi43IDQuNiAzLjMgNy4xIDMuMyAzLjMgMCA4LjctMS43IDE5LjQtMTMuNCA1LjEtNS42IDEwLjQtMTIuMyAxNi43LTIwLjRsMS40LTEuOGM1LjgtNy40IDEyLjItMTUuNyAxOS4zLTI0IDEzLjgtMTYuMiAzMC4zLTMyLjggNTEuNC00Ni40bC0xNS4xLTMwLjJjLTEuNyAuMS0zLjQgLjItNS4xIC4yLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjQgNjQgMjguNyA2NCA2NHptMjA4IDBhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHoiXX0sSFl0PWs3ZSxTN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFydGluaS1nbGFzcy1jaXRydXMiLGljb246WzY0MCw1MTIsWyJjb2NrdGFpbCJdLCJmNTYxIiwiTTU3NiA4MGMwLTQ0LjItMzUuOC04MC04MC04MC0xOCAwLTM0LjYgNi00OCAxNmwtODEgMGMyMy42LTQ3LjQgNzIuNS04MCAxMjktODAgNzkuNSAwIDE0NCA2NC41IDE0NCAxNDRTNTc1LjUgMjI0IDQ5NiAyMjRjLTYuNSAwLTEzLS40LTE5LjMtMS4zbDY0LTc0LjdjMS4xLTEuMyAyLjItMi43IDMuMy00LjEgMTkuNC0xNC42IDMyLTM3LjggMzItNjR6TTY2LjkgODIuNkM3Mi4yIDcxLjMgODMuNSA2NCA5NiA2NGwzODQgMGMxMi41IDAgMjMuOCA3LjMgMjkuMSAxOC42czMuNCAyNC43LTQuOCAzNC4ybC0xODQuMyAyMTUgMCAxMTYuMiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwIDAtMTE2LjItMTg0LjMtMjE1Yy04LjEtOS41LTEwLTIyLjgtNC44LTM0LjJ6TTE2NS42IDEyOEwyODggMjcwLjggNDEwLjQgMTI4IDE2NS42IDEyOHoiXX0scVl0PVM3ZSxWWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVsbGhvcm4iLGljb246WzUxMiw1MTIsWzEyODIyNiwxMjgzNjNdLCJmMGExIiwiTTQ2MS4yIDE4LjlDNDcyLjcgMjQgNDgwIDM1LjQgNDgwIDQ4bDAgNDE2YzAgMTIuNi03LjMgMjQtMTguOCAyOS4xcy0yNC44IDMuMi0zNC4zLTUuMWwtNDYuNi00MC43Yy00My42LTM4LjEtOTguNy02MC4zLTE1Ni40LTYzbDAgOTUuN2MwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NkM1Ny4zIDM4NCAwIDMyNi43IDAgMjU2UzU3LjMgMTI4IDEyOCAxMjhsODQuNSAwYzYxLjgtLjIgMTIxLjQtMjIuNyAxNjcuOS02My4zbDQ2LjYtNDAuN2M5LjQtOC4zIDIyLjktMTAuMiAzNC4zLTUuMXpNMjI0IDMyMGwwIC4yYzcwLjMgMi43IDEzNy44IDI4LjUgMTkyIDczLjRsMC0yNzUuM2MtNTQuMiA0NC45LTEyMS43IDcwLjctMTkyIDczLjRMMjI0IDMyMHoiXX0sall0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJveC10aXNzdWUiLGljb246WzUxMiw1MTIsW10sImUwNWIiLCJNMTAzLjkgMzJsMTYxIDBjMTMuOCAwIDI2IDguOCAzMC40IDIxLjlsMTcuNCA1Mi4yYzQuNCAxMy4xIDE2LjYgMjEuOSAzMC40IDIxLjlsNjAuNSAwYzIxLjggMCAzNy4zIDIxLjQgMzAuNCA0Mi4xTDM4NCAzMjAgMTI4IDMyMCA3Mi43IDcwLjlDNjguMiA1MSA4My40IDMyIDEwMy45IDMyek00OCAyNTZsMTYuNiAwIDE2LjUgNzQuNEM4NiAzNTIuNCAxMDUuNSAzNjggMTI4IDM2OGwyNTYgMGMyMC43IDAgMzktMTMuMiA0NS41LTMyLjhsMjYuNC03OS4yIDguMSAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTI4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAzMDRjMC0yNi41IDIxLjUtNDggNDgtNDh6Il19LFVZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXR0cmVzcy1waWxsb3ciLGljb246WzU3Niw1MTIsW10sImU1MjUiLCJNMjU2IDY0TDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwIDAtMzg0em00OCAzODRsMjA4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTIwOCAwIDAgMzg0ek02NCAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xOTJ6Il19LFdZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGV2cm9uLWxlZnQiLGljb246WzMyMCw1MTIsWzkwMDFdLCJmMDUzIiwiTTkuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTkyIDE5MmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDc3LjMgMjU2IDI0Ni42IDg2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE5MiAxOTJ6Il19LEdZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1tb29uLXJhaW4iLGljb246WzU3Niw1MTIsW10sImY3M2MiLCJNNDQ4IDBjLTY4LjYgMC0xMjcuMSA0My4xLTE0OS44IDEwMy44IDE3LjEgMTQuMSAyOS42IDMzLjUgMzQuOSA1NS44IDM5LjkgMjEuNyA2Ni45IDYzLjkgNjYuOSAxMTIuNSAwIDEzLjUtMi4xIDI2LjUtNS45IDM4LjcgMTYuOSA2IDM1IDkuMyA1My45IDkuMyA0MyAwIDgyLjEtMTcgMTEwLjgtNDQuNiA0LjYtNC40IDUuOS0xMS4yIDMuMy0xN3MtOC42LTkuMy0xNC45LTguOGMtMyAuMi02LjEgLjQtOS4yIC40LTYzLjUgMC0xMTUtNTEuNS0xMTUtMTE1IDAtNDUuMSAyNi04NC4yIDYzLjgtMTAzIDUuNy0yLjggOS04LjkgOC4yLTE1LjJTNDg5LjYgNS4zIDQ4My40IDMuOUM0NzIgMS40IDQ2MC4yIDAgNDQ4IDB6TTI3MiAzNTJjNDQuMiAwIDgwLTM1LjggODAtODAgMC0zOS0yNy45LTcxLjUtNjQuOC03OC42IC41LTMuMSAuOC02LjIgLjgtOS40IDAtMzAuOS0yNS4xLTU2LTU2LTU2LTEyLjQgMC0yMy45IDQtMzMuMSAxMC44LTEzLjQtMjUuNS00MC4xLTQyLjgtNzAuOS00Mi44LTQ0LjIgMC04MCAzNS44LTgwIDgwIDAgNy40IDEgMTQuNiAyLjkgMjEuNS0yOS44IDExLjYtNTAuOSA0MC42LTUwLjkgNzQuNSAwIDQ0LjIgMzUuOCA4MCA4MCA4MGwxOTIgMHpNNjkgNDAxLjFjLTEyLjYtNC4yLTI2LjIgMi42LTMwLjQgMTUuMkwxNy4yIDQ4MC40QzEzIDQ5MyAxOS44IDUwNi42IDMyLjQgNTEwLjhzMjYuMi0yLjYgMzAuNC0xNS4ybDIxLjQtNjQuMWM0LjItMTIuNi0yLjYtMjYuMi0xNS4yLTMwLjR6bTEyMCAwYy0xMi42LTQuMi0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjQgNjQuMWMtNC4yIDEyLjYgMi42IDI2LjIgMTUuMiAzMC40czI2LjItMi42IDMwLjQtMTUuMmwyMS40LTY0LjFjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40em0xMjAgMGMtMTIuNi00LjItMjYuMiAyLjYtMzAuNCAxNS4ybC0yMS40IDY0LjFjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuNC02NC4xYzQuMi0xMi42LTIuNi0yNi4yLTE1LjItMzAuNHoiXX0scnRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24tMS05IixpY29uOls1MTIsNTEyLFsic29ydC1udW1lcmljLWFzYyIsInNvcnQtbnVtZXJpYy1kb3duIl0sImYxNjIiLCJNNDE4LjcgMzhjOC4zIDYgMTMuMyAxNS43IDEzLjMgMjZsMCA5NiAxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC01MS42LTUuOSAyYy0xNi44IDUuNi0zNC45LTMuNS00MC41LTIwLjJzMy41LTM0LjkgMjAuMi00MC41bDQ4LTE2YzkuOC0zLjMgMjAuNS0xLjYgMjguOCA0LjR6TTM2NS4xIDQzMC42bDExLjctMThjLTMyLjktOS45LTU2LjgtNDAuNS01Ni44LTc2LjYgMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDIyLjktNi42IDQ1LjMtMTkuMSA2NC41bC00Mi4xIDY0LjljLTkuNiAxNC44LTI5LjQgMTkuMS00NC4zIDkuNHMtMTkuMS0yOS40LTkuNC00NC4zek00MjQgMzM2YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTE1MC42IDQ3MC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtOTYtOTZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMzcwLjcgOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMwNi43IDQxLjQtNDEuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC05NiA5NnoiXX0sWVl0PXJ0ZSxLWXQ9cnRlLFpZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXNwb2NrIixpY29uOls1MTIsNTEyLFsxMjg0MDZdLCJmMjU5IiwiTTIxNC45IDIzLjdDMjEwLjMgNi42IDE5Mi44LTMuNSAxNzUuNyAxLjFzLTI3LjIgMjIuMS0yMi42IDM5LjJMMjA2IDIzNy44YzIuNSA5LjItNC41IDE4LjItMTQgMTguMi02LjQgMC0xMi00LjItMTMuOS0xMC4zTDEzNC42IDEwMi43Yy01LjEtMTYuOS0yMy0yNi40LTM5LjktMjEuM3MtMjYuNCAyMy0yMS4zIDM5LjlsNjIuOCAyMDYuNGMyLjQgNy45LTcuMiAxMy44LTEzLjIgOC4xTDY3LjYgMjgzYy0xNi0xNS4yLTQxLjMtMTQuNi01Ni42IDEuNFMtMy42IDMyNS43IDEyLjQgMzQxTDEyNC44IDQ0OGM0My4xIDQxLjEgMTAwLjQgNjQgMTYwIDY0bDE5LjEgMGMuMSAwIC4xLS4xIC4xLS4xcy4xLS4xIC4xLS4xYzU4LjMtMy41IDEwOC42LTQzLjIgMTI1LjMtOTkuN2w4MS4yLTI3NWM1LTE2LjktNC43LTM0LjctMjEuNi0zOS44cy0zNC43IDQuNy0zOS44IDIxLjZMNDExLjUgMjQ3LjFjLTEuNiA1LjMtNi40IDguOS0xMiA4LjktNy45IDAtMTMuOC03LjMtMTIuMi0xNS4xbDM2LTE3MC4zYzMuNy0xNy4zLTcuNC0zNC4zLTI0LjctMzcuOXMtMzQuMyA3LjQtMzcuOSAyNC43TDMyMy4xIDIzNS4xYy0yLjYgMTIuMi0xMy4zIDIwLjktMjUuOCAyMC45LTExLjkgMC0yMi40LTgtMjUuNC0xOS41bC01Ny0yMTIuOHoiXX0sejdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhbmQtbWFnaWMtc3BhcmtsZXMiLGljb246WzU3Niw1MTIsWyJtYWdpYy13YW5kLXNwYXJrbGVzIl0sImUyY2EiLCJNMjYzLjQtMjdMMjc4LjIgOS44IDMxNSAyNC42YzMgMS4yIDUgNC4yIDUgNy40cy0yIDYuMi01IDcuNEwyNzguMiA1NC4yIDI2My40IDkxYy0xLjIgMy00LjIgNS03LjQgNXMtNi4yLTItNy40LTVMMjMzLjggNTQuMiAxOTcgMzkuNGMtMy0xLjItNS00LjItNS03LjRzMi02LjIgNS03LjRMMjMzLjggOS44IDI0OC42LTI3YzEuMi0zIDQuMi01IDcuNC01czYuMiAyIDcuNCA1ek0xMTAuNyA0MS43bDIxLjUgNTAuMSA1MC4xIDIxLjVjNS45IDIuNSA5LjcgOC4zIDkuNyAxNC43cy0zLjggMTIuMi05LjcgMTQuN2wtNTAuMSAyMS41LTIxLjUgNTAuMWMtMi41IDUuOS04LjMgOS43LTE0LjcgOS43cy0xMi4yLTMuOC0xNC43LTkuN0w1OS44IDE2NC4yIDkuNyAxNDIuN0MzLjggMTQwLjIgMCAxMzQuNCAwIDEyOHMzLjgtMTIuMiA5LjctMTQuN0w1OS44IDkxLjggODEuMyA0MS43QzgzLjggMzUuOCA4OS42IDMyIDk2IDMyczEyLjIgMy44IDE0LjcgOS43ek00NjQgMzA0YzYuNCAwIDEyLjIgMy44IDE0LjcgOS43bDIxLjUgNTAuMSA1MC4xIDIxLjVjNS45IDIuNSA5LjcgOC4zIDkuNyAxNC43cy0zLjggMTIuMi05LjcgMTQuN2wtNTAuMSAyMS41LTIxLjUgNTAuMWMtMi41IDUuOS04LjMgOS43LTE0LjcgOS43cy0xMi4yLTMuOC0xNC43LTkuN2wtMjEuNS01MC4xLTUwLjEtMjEuNWMtNS45LTIuNS05LjctOC4zLTkuNy0xNC43czMuOC0xMi4yIDkuNy0xNC43bDUwLjEtMjEuNSAyMS41LTUwLjFjMi41LTUuOSA4LjMtOS43IDE0LjctOS43ek00NjAgMGMxMSAwIDIxLjYgNC40IDI5LjUgMTIuMmw0Mi4zIDQyLjNDNTM5LjYgNjIuNCA1NDQgNzMgNTQ0IDg0cy00LjQgMjEuNi0xMi4yIDI5LjVsLTg4LjIgODguMi0xMDEuMy0xMDEuMyA4OC4yLTg4LjJDNDM4LjQgNC40IDQ0OSAwIDQ2MCAwek00NC4yIDM5OC41TDMwOC40IDEzNC4zIDQwOS43IDIzNS42IDE0NS41IDQ5OS44QzEzNy42IDUwNy42IDEyNyA1MTIgMTE2IDUxMnMtMjEuNi00LjQtMjkuNS0xMi4yTDQ0LjIgNDU3LjVDMzYuNCA0NDkuNiAzMiA0MzkgMzIgNDI4czQuNC0yMS42IDEyLjItMjkuNXoiXX0sWFl0PXo3ZSxRWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1tZWRpY2FsIixpY29uOls1MTIsNTEyLFtdLCJmN2Y1IiwiTTI1NiA0ODBjMTQxLjQgMCAyNTYtMTA3LjUgMjU2LTI0MFMzOTcuNCAwIDI1NiAwIDAgMTA3LjUgMCAyNDBjMCA1NC4zIDE5LjIgMTA0LjMgNTEuNiAxNDQuNUwyLjggNDc2LjhjLTQuOCA5LTMuMyAyMCAzLjYgMjcuNXMxNy44IDkuOCAyNy4xIDUuOGwxMTguNC01MC43QzE4My43IDQ3Mi42IDIxOC45IDQ4MCAyNTYgNDgwek0yMTcuNiAxNTMuNmMwLTEwLjYgOC42LTE5LjIgMTkuMi0xOS4ybDM4LjQgMGMxMC42IDAgMTkuMiA4LjYgMTkuMiAxOS4ybDAgNDggNDggMGMxMC42IDAgMTkuMiA4LjYgMTkuMiAxOS4ybDAgMzguNGMwIDEwLjYtOC42IDE5LjItMTkuMiAxOS4ybC00OCAwIDAgNDhjMCAxMC42LTguNiAxOS4yLTE5LjIgMTkuMmwtMzguNCAwYy0xMC42IDAtMTkuMi04LjYtMTkuMi0xOS4ybDAtNDgtNDggMGMtMTAuNiAwLTE5LjItOC42LTE5LjItMTkuMmwwLTM4LjRjMC0xMC42IDguNi0xOS4yIDE5LjItMTkuMmw0OCAwIDAtNDh6Il19LEpZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiZWxsLXNsYXNoIixpY29uOls1NzYsNTEyLFsxMjgyNzcsNjE5NDNdLCJmMWY2IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTg3LjUtODcuNWMxNy4yLTIuNCAzMC41LTE3LjMgMzAuNS0zNS4yIDAtOC4xLTIuNy0xNS45LTcuOC0yMi4ybC05LjgtMTIuMkM0NjQuNCAzMDguNSA0NDggMjYxLjggNDQ4IDIxMy43bDAtMjEuN2MwLTc3LjQtNTUtMTQyLTEyOC0xNTYuOGwwLTMuMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMuMmMtMzguNiA3LjgtNzIuMiAyOS42LTk1LjIgNTkuN0w0MS0yNC45em04NyAyMzguNWMwIDQ4LjEtMTYuNCA5NC44LTQ2LjQgMTMyLjRsLTkuOCAxMi4yYy01IDYuMy03LjggMTQuMS03LjggMjIuMiAwIDE5LjYgMTUuOSAzNS41IDM1LjUgMzUuNWwyMzUuMyAwLTIwNi45LTIwNi45IDAgNC41ek0yODggNTEyYzI5LjggMCA1NC45LTIwLjQgNjItNDhsLTEyNCAwYzcuMSAyNy42IDMyLjIgNDggNjIgNDh6Il19LHN0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kc2hha2Utc2xhc2giLGljb246WzU3Niw1MTIsWzU3NDM5LCJoYW5kc2hha2UtYWx0LXNsYXNoIiwiaGFuZHNoYWtlLXNpbXBsZS1zbGFzaCJdLCJlMDYwIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTI4OC0yODggMTQuMi0xNC4yYzQuMi00LjIgOS41LTYuNSAxNC45LTYuOSA2LjgtLjYgMTMuOCAxLjcgMTkgNi45TDUwNS42IDM3NiA1NzYgMzIwIDU3NiAzMiA0NjQgOTYgNDQwLjIgODAuMUM0MjQuNCA2OS42IDQwNS45IDY0IDM4Ni45IDY0bC03MC40IDBjLTEuMSAwLTIuMyAwLTMuNCAuMS0xNi45IC45LTMyLjggOC41LTQ0LjIgMjEuMWwtNTUuOCA2Mi4xLTM0LTM0IDQ0LjMtNDkuMi0zOS43IDBjLTE1LjMgMC0zMC4xIDMuNi00My41IDEwLjRMNDEtMjQuOXpNMCA2OS44TDAgMzIwIDE1Ni40IDQ1MC4zYzIzIDE5LjIgNTIgMjkuNyA4MS45IDI5LjdsMTUuNyAwLTctN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQxIDQxIDkgMGMyMi4yIDAgNDMuOC01LjggNjIuOC0xNi40TDAgNjkuOHoiXX0sZUt0PXN0ZSx0S3Q9c3RlLGFLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3R0bGUtd2F0ZXIiLGljb246WzMyMCw1MTIsW10sImU0YzUiLCJNMTEyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDBDOTQuMyAzMiA4MCAxNy43IDgwIDBzMTQuMy0zMiAzMi0zMnpNMTYgMTQ0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDE2MCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMjQuMS0xMy4zIDQ1LjEtMzMgNTYgMTkuNyAxMC45IDMzIDMxLjkgMzMgNTZzLTEzLjMgNDUuMS0zMyA1NmMxOS43IDEwLjkgMzMgMzEuOSAzMyA1NnMtMTMuMyA0NS4xLTMzIDU2YzE5LjcgMTAuOSAzMyAzMS45IDMzIDU2IDAgMzUuMy0yOC43IDY0LTY0IDY0TDgwIDU0NGMtMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yNC4xIDEzLjMtNDUuMSAzMy01Ni0xOS43LTEwLjktMzMtMzEuOS0zMy01NnMxMy4zLTQ1LjEgMzMtNTZjLTE5LjctMTAuOS0zMy0zMS45LTMzLTU2czEzLjMtNDUuMSAzMy01NmMtMTkuNy0xMC45LTMzLTMxLjktMzMtNTZ6Il19LHJLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLWQyMCIsaWNvbjpbNTEyLDUxMixbXSwiZjZjZiIsIk0yMjQuNC04LjJjMTkuNi0xMS4xIDQzLjYtMTEuMSA2My4xIDBsMTkyIDEwOC44YzIwIDExLjQgMzIuNCAzMi42IDMyLjQgNTUuN2wwIDIxNS42YzAgMjMtMTIuNCA0NC4zLTMyLjQgNTUuN2wtMTkyIDEwOC44Yy0xOS42IDExLjEtNDMuNiAxMS4xLTYzLjEgMEwzMi40IDQyNy41QzEyLjQgNDE2LjEgMCAzOTQuOCAwIDM3MS44TDAgMTU2LjJjMC0yMyAxMi40LTQ0LjMgMzIuNC01NS43TDIyNC40LTguMnptNTIgNzMuMkMyNjcgNDkuOCAyNDUgNDkuOCAyMzUuNiA2NWwtNzYuNiAxMjMuNy04NS40LTQ2LjMtMy44LTEuNmMtOC45LTIuNy0xOC44IDEuMS0yMy40IDkuNnMtMi40IDE4LjkgNC43IDI0LjhsMy4zIDIuMyA4My40IDQ1LjItNzQuNiAxMjAuNkM1NS4zIDM1Ni4yIDYxIDM3MyA3NSAzNzguNGwxNjEgNjEuOSAwIDM5LjdjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0zOS43IDE2MS02MS45YzE0LTUuNCAxOS43LTIyLjIgMTEuOC0zNWwtNzQuNy0xMjAuNiA4My40LTQ1LjJjOS43LTUuMyAxMy4zLTE3LjQgOC4xLTI3LjFzLTE3LjQtMTMuMy0yNy4xLTguMUwzNTMgMTg4LjcgMjc2LjQgNjV6bS00NyAzMjkuOWwtMTIyLTQ2LjkgNTQuNS04OC4xIDY3LjUgMTM1ek00MDQuNiAzNDhsLTEyMiA0Ni45IDY3LjUtMTM1IDU0LjUgODguMXpNMzE5LjMgMjMyTDI1NiAzNTguNiAxOTIuNyAyMzIgMzE5LjMgMjMyek0zMDggMTkybC0xMDQuMSAwIDUyLTg0IDUyIDg0eiJdfSxpdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93bi16LWEiLGljb246WzUxMiw1MTIsWyJzb3J0LWFscGhhLWRlc2MiLCJzb3J0LWFscGhhLWRvd24tYWx0Il0sImY4ODEiLCJNMjMwLjYgMzkwLjZsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtODAtODBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMzcwLjcgOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMwNi43IDI1LjQtMjUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zek0yODggNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTI4IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOUwzOTcuMyAxNjAgNDQ4IDE2MGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45TDM3MC44IDk2IDMyMCA5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTQxMi42IDI3My43bDgwIDE2MGM3LjkgMTUuOCAxLjUgMzUtMTQuMyA0Mi45cy0zNSAxLjUtNDIuOS0xNC4zbC03LjItMTQuMy04OC40IDAtNy4yIDE0LjNjLTcuOSAxNS44LTI3LjEgMjIuMi00Mi45IDE0LjNzLTIyLjItMjcuMS0xNC4zLTQyLjlsODAtMTYwYzUuNC0xMC44IDE2LjUtMTcuNyAyOC42LTE3LjdzMjMuMiA2LjggMjguNiAxNy43ek0zODQgMzU5LjZsLTIwLjIgNDAuNCA0MC40IDAtMjAuMi00MC40eiJdfSxzS3Q9aXRlLGlLdD1pdGUsb0t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJydXNoIixpY29uOlszODQsNTEyLFtdLCJmNTVkIiwiTTE2Mi40IDZjLTEuNS0zLjYtNS02LTguOS02bC0xOSAwYy0zLjkgMC03LjUgMi40LTguOSA2TDEwNC45IDU3LjdjLTMuMiA4LTE0LjYgOC0xNy44IDBMNjYuNCA2Yy0xLjUtMy42LTUtNi04LjktNkw0OCAwQzIxLjUgMCAwIDIxLjUgMCA0OGwwIDIwOCAzODQgMCAwLTIwOGMwLTI2LjUtMjEuNS00OC00OC00OEwyMzAuNSAwYy0zLjkgMC03LjUgMi40LTguOSA2TDIwMC45IDU3LjdjLTMuMiA4LTE0LjYgOC0xNy44IDBMMTYyLjQgNnpNMCAzMDRsMCAxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw2NCAwIDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGwwLTY0IDY0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNi0zODQgMHpNMTkyIDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNiAxNiA3LjIgMTYgMTYtNy4yIDE2LTE2IDE2eiJdfSxuS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXdhbGtpbmctZGFzaGVkLWxpbmUtYXJyb3ctcmlnaHQiLGljb246WzY0MCw1MTIsW10sImU1NTMiLCJNMTYwIDgwYTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyek03My40IDIyNy45bDIyLjYtMjIuNiAwIDY5LjNjMCAyOCAxMi4yIDU0LjcgMzMuNSA3Mi45bDcxLjQgNjEuMmM1LjkgNS4xIDkuOCAxMi4xIDEwLjkgMTkuOGwxMi42IDg4LjFjMi41IDE3LjUgMTguNyAyOS43IDM2LjIgMjcuMnMyOS43LTE4LjcgMjcuMi0zNi4ybC0xMi42LTg4LjFjLTMuMy0yMy4xLTE0LjktNDQuMS0zMi42LTU5LjNsLTM0LjUtMjkuNiAwLTExNS4yIDMuOCA0LjdjMTguMiAyMi44IDQ1LjggMzYgNzUgMzZsMzMuMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMy4yIDBjLTkuNyAwLTE4LjktNC40LTI1LTEybC0xNy45LTIyLjRjLTIzLTI4LjgtNTcuOS00NS42LTk0LjgtNDUuNi0zMi4yIDAtNjMuMSAxMi44LTg1LjggMzUuNkwyOC4xIDE4Mi42QzEwLjEgMjAwLjYgMCAyMjUgMCAyNTAuNUwwIDI4OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzcuNWMwLTguNSAzLjQtMTYuNiA5LjQtMjIuNnpNODUuOCA0MDcuM2MtMS41IDUuMi00LjMgMTAtOC4xIDEzLjhMOS40IDQ4OS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDY4LjMtNjguM2MxMS41LTExLjUgMTkuOS0yNS44IDI0LjQtNDEuNWwyLjItNy42LTQ2LTM5LjRjLTIuNS0yLjItNS00LjQtNy40LTYuOEw4NS44IDQwNy4zek00MzIgOGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMzODQtNS4zIDM4NCA4bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyem0wIDEyOGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMnpNNDA4IDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzJjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTI0IDE1MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMnpNNjA5IDI3M2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtNzItNzJjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMzEgMzEtMTAyLjEgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDIuMSAwLTMxIDMxYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNzItNzJ6Il19LEM3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC1zaG9ydC13aWRlIixpY29uOls1NzYsNTEyLFsic29ydC1hbW91bnQtdXAtYWx0Il0sImY4ODUiLCJNMzIwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDB6bTAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDB6bTAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMHptMCAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIyNCAwek0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6Il19LGxLdD1DN2UsXzdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdyaXAtdmVydGljYWwiLGljb246WzMyMCw1MTIsWyJncmlkLXZlcnRpY2FsIl0sImY1OGUiLCJNMTI4IDQwYzAtMjIuMS0xNy45LTQwLTQwLTQwTDQwIDBDMTcuOSAwIDAgMTcuOSAwIDQwTDAgODhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4em0wIDE5MmMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCA0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDh6TTAgNDI0bDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4YzAtMjIuMS0xNy45LTQwLTQwLTQwbC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MHpNMzIwIDQwYzAtMjIuMS0xNy45LTQwLTQwLTQwTDIzMiAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwbDQ4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OHpNMTkyIDIzMmwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwbDQ4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OGMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDB6TTMyMCA0MjRjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4eiJdfSxjS3Q9XzdlLGRLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXItdHVubmVsIixpY29uOls1MTIsNTEyLFtdLCJlNGRlIiwiTTI1NiAwQzExNC42IDAgMCAxMTQuNiAwIDI1NkwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0Mi44IDBjLTYuNi01LjktMTAuOC0xNC40LTEwLjgtMjRsMC0xMTMuMWMwLTEzLjUgMy4xLTI2LjggOS0zOC45bDM5LjctODAuOGM5LjQtMTkuMSAyOC45LTMxLjMgNTAuMi0zMS4zTDMxNyAyMjRjMjEuMyAwIDQwLjggMTIuMSA1MC4yIDMxLjNMNDA3IDMzNmM1LjkgMTIuMSA5IDI1LjQgOSAzOC45TDQxNiA0ODhjMCA5LjYtNC4yIDE4LjEtMTAuOCAyNGw0Mi44IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xOTJDNTEyIDExNC42IDM5Ny40IDAgMjU2IDB6TTM2Mi44IDUxMmMtNi42LTUuOS0xMC44LTE0LjQtMTAuOC0yNGwwLTI0LTE5MiAwIDAgMjRjMCA5LjYtNC4yIDE4LjEtMTAuOCAyNGwyMTMuNyAwem0tMTc1LTIzNS41bC0yOS4zIDU5LjUgMTk0LjkgMC0yOS4zLTU5LjVjLTEuMy0yLjctNC4xLTQuNS03LjItNC41TDE5NSAyNzJjLTMgMC01LjggMS43LTcuMiA0LjV6TTE3NiA0MjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0xODQtMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sdUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJ0LWNvbHVtbiIsaWNvbjpbNTEyLDUxMixbXSwiZTBlMyIsIk0zMiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMzNmMwIDguOCA3LjIgMTYgMTYgMTZsNDAwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMODAgNDgwYy00NC4yIDAtODAtMzUuOC04MC04MEwwIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyek0xNDQgMjI0YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTQ0LTY0bDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6bTgwIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNTEyIDk2bDAgMjI0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6Il19LHBLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXByaWNvcm4iLGljb246WzU3Niw1MTIsW10sImU4NDgiLCJNMjQwIDMyYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0bDAgNjUuMmMxOC44LTEwLjkgNDAuNy0xNy4yIDY0LTE3LjIgNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhTNTE4LjcgNDgwIDQ0OCA0ODBjLTM1LjggMC02OC4yLTE0LjctOTEuNC0zOC40LTI4LjggNDIuNS03Ny40IDcwLjQtMTMyLjYgNzAuNC0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyYzUzIDAgOTYtNDMgOTYtOTZsMC0xNzZjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBsMCAyMDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjQtMTcuNyAwLTMyLTE0LjMtMzItMzJTMTQuMyAzMiAzMiAzMkM3Mi42IDMyIDEwOC44IDUxIDEzMi4yIDgwLjUgMTU4LjYgNTAuNyAxOTcuMSAzMiAyNDAgMzJ6TTQ0OCAyODhhNjQgNjQgMCAxIDAgMCAxMjggNjQgNjQgMCAxIDAgMC0xMjh6Il19LGZLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1hcnJvdy1yaWdodCIsaWNvbjpbNTc2LDUxMixbXSwiZTU4YiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMuMyAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjRzNzQuMi0yNy4xIDg0LjctNjRsMTAyLjYgMGMxMC40IDM2LjkgNDQuNCA2NCA4NC43IDY0czc0LjItMjcuMSA4NC43LTY0bDMuMyAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTQ2LjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNTEyIDE0Ni43Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43bC01MC43IDAgMC0zMmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNNTEyIDIzNy4zbDAgNTAuNy05NiAwIDAtOTYgNTAuNyAwIDQ1LjMgNDUuM3pNMTUyIDM4NGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6bTIzMiA0MGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek0zMDUgMjI1bC03MiA3MmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0xMDIuMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEwMi4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXoiXX0sb3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InR2IixpY29uOls1NzYsNTEyLFs2MzcxNywidGVsZXZpc2lvbiIsInR2LWFsdCJdLCJmMjZjIiwiTTY0IDk2bDAgMjQwIDQ0OCAwIDAtMjQwLTQ0OCAwek0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDQ0OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQwMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNMTYwIDQ0OGwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LGhLdD1vdGUsbUt0PW90ZSxnS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2VjdGlvbiIsaWNvbjpbMjU2LDUxMixbXSwiZTQ0NyIsIk0xMTAgMEM0OS4yIDAgMCA0OS4yIDAgMTEwIDAgMTMzLjcgNy42IDE1NS44IDIwLjUgMTc0IDcuNiAxOTIgMCAyMTQuMSAwIDIzOCAwIDI5MS43IDM4LjkgMzM3LjYgOTEuOSAzNDYuNGw2MS43IDEwLjNjMjIuMiAzLjcgMzguNCAyMi45IDM4LjQgNDUuMyAwIDI1LjQtMjAuNiA0Ni00NiA0NmwtOTggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5OCAwYzYwLjcgMCAxMTAtNDkuMiAxMTAtMTEwIDAtMjMuNy03LjYtNDUuOS0yMC41LTY0IDEyLjktMTggMjAuNS00MC4xIDIwLjUtNjQgMC01My44LTM4LjktOTkuNi05MS45LTEwOC41bC02MS43LTEwLjNDODAuMiAxNTEuNiA2NCAxMzIuNCA2NCAxMTAgNjQgODQuNiA4NC42IDY0IDExMCA2NGw5OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyUzIyNS43IDAgMjA4IDBMMTEwIDB6bTc0LjcgMjk5LjFjLTYuNS0yLjQtMTMuNC00LjMtMjAuNS01LjVsLTYxLjctMTAuM2MtMjIuMi0zLjctMzguNC0yMi45LTM4LjQtNDUuMyAwLTkuMiAyLjctMTcuOCA3LjQtMjUgNi41IDIuNCAxMy40IDQuMyAyMC41IDUuNWw2MS43IDEwLjNjMjIuMiAzLjcgMzguNCAyMi45IDM4LjQgNDUuMyAwIDkuMi0yLjcgMTcuOC03LjQgMjV6Il19LGJLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZWFjZSIsaWNvbjpbNTEyLDUxMixbOTc3NF0sImY2N2MiLCJNMjI0IDQ0NS4zbDAtMTIxLjgtOTQuMyA3Ny4xYzI2LjEgMjIuOCA1OC41IDM4LjcgOTQuMyA0NC43ek04OS4yIDM1MS4xTDIyNCAyNDAuOCAyMjQgNjYuN2MtOTAuOCAxNS4yLTE2MCA5NC4yLTE2MCAxODkuMyAwIDM0LjYgOS4yIDY3LjEgMjUuMiA5NS4xem0yOTMuMSA0OS41bC05NC4zLTc3LjEgMCAxMjEuOGMzNS43LTYgNjguMS0yMS45IDk0LjMtNDQuN3ptNDAuNi00OS41YzE2LTI4IDI1LjItNjAuNSAyNS4yLTk1LjEgMC05NS4xLTY5LjItMTc0LjEtMTYwLTE4OS4zbDAgMTc0LjIgMTM0LjggMTEwLjN6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6Il19LHZLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyIixpY29uOls1NzYsNTEyLFsxMTA4OCw2MTQ0Nl0sImYwMDUiLCJNMzA5LjUtMTguOWMtNC4xLTgtMTIuNC0xMy4xLTIxLjQtMTMuMXMtMTcuMyA1LjEtMjEuNCAxMy4xTDE5My4xIDEyNS4zIDMzLjIgMTUwLjdjLTguOSAxLjQtMTYuMyA3LjctMTkuMSAxNi4zcy0uNSAxOCA1LjggMjQuNGwxMTQuNCAxMTQuNS0yNS4yIDE1OS45Yy0xLjQgOC45IDIuMyAxNy45IDkuNiAyMy4yczE2LjkgNi4xIDI1IDJMMjg4LjEgNDE3LjYgNDMyLjQgNDkxYzggNC4xIDE3LjcgMy4zIDI1LTJzMTEtMTQuMiA5LjYtMjMuMkw0NDEuNyAzMDUuOSA1NTYuMSAxOTEuNGM2LjQtNi40IDguNi0xNS44IDUuOC0yNC40cy0xMC4xLTE0LjktMTkuMS0xNi4zTDM4MyAxMjUuMyAzMDkuNS0xOC45eiJdfSx4S3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxhZyIsaWNvbjpbNDQ4LDUxMixbMTI3OTg4LDYxNzI1XSwiZjAyNCIsIk02NCAzMkM2NCAxNC4zIDQ5LjcgMCAzMiAwUzAgMTQuMyAwIDMyTDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjEuNiA2Mi43LTE4LjhjNDEuOS0xMi42IDg3LjEtOC43IDEyNi4yIDEwLjkgNDIuNyAyMS40IDkyLjUgMjQgMTM3LjIgNy4ybDM3LjEtMTMuOWMxMi41LTQuNyAyMC44LTE2LjYgMjAuOC0zMGwwLTI0Ny43YzAtMjMtMjQuMi0zOC00NC44LTI3LjdsLTExLjggNS45Yy00NC45IDIyLjUtOTcuOCAyMi41LTE0Mi44IDAtMzYuNC0xOC4yLTc4LjMtMjEuOC0xMTcuMi0xMC4xTDY0IDU0LjQgNjQgMzJ6Il19LG50ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmlhbmdsZS1leGNsYW1hdGlvbiIsaWNvbjpbNTEyLDUxMixbOTg4OCwiZXhjbGFtYXRpb24tdHJpYW5nbGUiLCJ3YXJuaW5nIl0sImYwNzEiLCJNMjU2IDBjMTQuNyAwIDI4LjIgOC4xIDM1LjIgMjFsMjE2IDQwMGM2LjcgMTIuNCA2LjQgMjcuNC0uOCAzOS41UzQ4Ni4xIDQ4MCA0NzIgNDgwTDQwIDQ4MGMtMTQuMSAwLTI3LjItNy40LTM0LjQtMTkuNXMtNy41LTI3LjEtLjgtMzkuNWwyMTYtNDAwYzctMTIuOSAyMC41LTIxIDM1LjItMjF6bTAgMzUyYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHptMC0xOTJjLTE4LjIgMC0zMi43IDE1LjUtMzEuNCAzMy43bDcuNCAxMDRjLjkgMTIuNSAxMS40IDIyLjMgMjMuOSAyMi4zIDEyLjYgMCAyMy05LjcgMjMuOS0yMi4zbDcuNC0xMDRjMS4zLTE4LjItMTMuMS0zMy43LTMxLjQtMzMuN3oiXX0seUt0PW50ZSx3S3Q9bnRlLE1LdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2hvb2wtY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTZjIiwiTTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjc2IDBjLTEwLjUtMTQuNi0xOS0zMC43LTI1LjEtNDhsLTkwLjkgMCAwLTg4YzAtMjIuMSAxNy45LTQwIDQwLTQwbDQ4IDBjMSAwIDEuOSAwIDIuOSAuMSAyNi4zLTc0LjYgOTcuNS0xMjguMSAxODEuMS0xMjguMSAyOC42IDAgNTUuNiA2LjIgODAgMTcuNGwwLTMzLjRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDAtMTI3LjktMTE1LjFjLTE4LjMtMTYuNC00Ni0xNi40LTY0LjIgMEwxMjggMTI4IDY0IDEyOHptNjQgMjQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJ6TTExMiAyNTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNnpNMjg4IDEyOGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTAwYTIwIDIwIDAgMSAxIDAgNDAgMjAgMjAgMCAxIDEgMC00MHptMC0xNDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6Il19LFQ3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJncmFkdWF0aW9uLWNhcCIsaWNvbjpbNTc2LDUxMixbMTI3ODkxLCJtb3J0YXItYm9hcmQiXSwiZjE5ZCIsIk00OCAxOTUuOGwyMDkuMiA4Ni4xYzkuOCA0IDIwLjIgNi4xIDMwLjggNi4xczIxLTIuMSAzMC44LTYuMWwyNDIuNC05OS44YzktMy43IDE0LjgtMTIuNCAxNC44LTIyLjFzLTUuOC0xOC40LTE0LjgtMjIuMUwzMTguOCAzOC4xQzMwOSAzNC4xIDI5OC42IDMyIDI4OCAzMnMtMjEgMi4xLTMwLjggNi4xTDE0LjggMTM3LjlDNS44IDE0MS42IDAgMTUwLjMgMCAxNjBMMCA0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI2MC4yem00OCA3MS43TDk2IDM4NGMwIDUzIDg2IDk2IDE5MiA5NnMxOTItNDMgMTkyLTk2bDAtMTE2LjYtMTQyLjkgNTguOWMtMTUuNiA2LjQtMzIuMiA5LjctNDkuMSA5LjdzLTMzLjUtMy4zLTQ5LjEtOS43TDk2IDI2Ny40eiJdfSxrS3Q9VDdlLFNLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdG9yZSIsaWNvbjpbNTEyLDUxMixbXSwiZjU0ZSIsIk0zMC43IDcyLjNDMzcuNiA0OC40IDU5LjUgMzIgODQuNCAzMmwzNDQgMGMyNC45IDAgNDYuOCAxNi40IDUzLjggNDAuM2wyMy40IDgwLjJjMTIuOCA0My43LTIwLjEgODcuNS02NS42IDg3LjUtMjYuMyAwLTQ5LjQtMTQuOS02MC44LTM3LjEtMTEuNiAyMS45LTM0LjYgMzcuMS02MS40IDM3LjEtMjYuNiAwLTQ5LjctMTUtNjEuMy0zNy0xMS42IDIyLTM0LjcgMzctNjEuMyAzNy0yNi44IDAtNDkuOC0xNS4xLTYxLjQtMzcuMS0xMS40IDIyLjEtMzQuNSAzNy4xLTYwLjggMzcuMS00NS42IDAtNzguNC00My43LTY1LjYtODcuNUwzMC43IDcyLjN6TTk2LjQgMzUybDMyMCAwIDAtNjYuNGM3LjYgMS42IDE1LjUgMi40IDIzLjUgMi40IDE0LjMgMCAyOC0yLjYgNDAuNS03LjJsMCAxNTEuMmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzUyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTUxLjJjMTIuNSA0LjYgMjYuMSA3LjIgNDAuNSA3LjIgOC4xIDAgMTUuOS0uOCAyMy41LTIuNGwwIDY2LjR6Il19LHpLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLWFzdHJvbmF1dCIsaWNvbjpbNDQ4LDUxMixbXSwiZjRmYiIsIk0yMjQgMzM2Yzc0LjYgMCAxMzguNC00Ni40IDE2NC0xMTJsNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtODBjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTQgMEMzNjIuNCAzMC40IDI5OC42LTE2IDIyNC0xNlM4NS42IDMwLjQgNjAgOTZsLTQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0IDBjMjUuNiA2NS42IDg5LjQgMTEyIDE2NCAxMTJ6TTIwOCA4MGwzMiAwYzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2bC0zMiAwYy01MyAwLTk2LTQzLTk2LTk2czQzLTk2IDk2LTk2ek0xNiA0ODQuNkMxNiA0OTkuNyAyOC4zIDUxMiA0My40IDUxMmw1Mi42IDAgMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ4IDUyLjYgMGMxNS4xIDAgMjcuNC0xMi4zIDI3LjQtMjcuNCAwLTU5LjgtMzEuOS0xMTIuMi03OS42LTE0MS0zNi40IDI1LjUtODAuNiA0MC40LTEyOC40IDQwLjRzLTkyLTE0LjktMTI4LjQtNDAuNEM0Ny45IDM3Mi40IDE2IDQyNC44IDE2IDQ4NC42ek0xODMuMyAxNDEuNWMtLjktMy4zLTMuOS01LjUtNy4zLTUuNXMtNi40IDIuMi03LjMgNS41bC02IDIxLjItMjEuMiA2Yy0zLjMgLjktNS41IDMuOS01LjUgNy4zczIuMiA2LjQgNS41IDcuM2wyMS4yIDYgNiAyMS4yYy45IDMuMyAzLjkgNS41IDcuMyA1LjVzNi40LTIuMiA3LjMtNS41bDYtMjEuMiAyMS4yLTZjMy4zLS45IDUuNS0zLjkgNS41LTcuM3MtMi4yLTYuNC01LjUtNy4zbC0yMS4yLTYtNi0yMS4yek0xNTIgNDg4bDAgMjQgNDggMCAwLTI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em0xMjAtMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMjQgNDggMCAwLTI0YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxDS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctZmxhZyIsaWNvbjpbNjQwLDUxMixbXSwiZTRkNSIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek0xNzYgMzUybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA4MC05NiAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTk2IDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNDAgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNOTYgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE0NC0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek00NjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI4OCAxMTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDQ5NiAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sTDdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im11Zy1zYXVjZXIiLGljb246WzU3Niw1MTIsWyJjb2ZmZWUiXSwiZjBmNCIsIk02NCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzNTIgMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOFM1MTguNyAyODggNDQ4IDI4OGMwIDUzLTQzIDk2LTk2IDk2bC0xOTIgMGMtNTMgMC05Ni00My05Ni05Nkw2NCA2NHptNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0bDAgMTI4YzM1LjMgMCA2NC0yOC43IDY0LTY0ek02NCA0NDhsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSxfS3Q9TDdlLFRLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZW1vbiIsaWNvbjpbNDQ4LDUxMixbMTI3ODE5XSwiZjA5NCIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjQtNi42IDAtMTMgMS0xOSAyLjktMjIuNSA3LTQ4LjEgMTQuOS03MSA5LTc1LjItMTkuMS0xNTYuNCAxMS0yMTMuNyA2OC4zUy03LjIgMjUwLjggMTEuOSAzMjZjNS44IDIyLjktMiA0OC40LTkgNzEtMS45IDYtMi45IDEyLjQtMi45IDE5IDAgMzUuMyAyOC43IDY0IDY0IDY0IDYuNiAwIDEzLTEgMTkuMS0yLjkgMjIuNS03IDQ4LjEtMTQuOSA3MS05IDc1LjIgMTkuMSAxNTYuNC0xMSAyMTMuNy02OC4zUzQ1NS4yIDI2MS4yIDQzNi4xIDE4NmMtNS44LTIyLjkgMi00OC40IDktNzEgMS45LTYgMi45LTEyLjQgMi45LTE5LjF6TTIyMi43IDE0M2MtNTIgMTUuMi05Ni41IDU5LjctMTExLjcgMTExLjctMy43IDEyLjctMTcuMSAyMC0yOS44IDE2LjNTNjEuMiAyNTQgNjUgMjQxLjNjMTkuOC02Ny43IDc2LjYtMTI0LjUgMTQ0LjMtMTQ0LjMgMTIuNy0zLjcgMjYuMSAzLjYgMjkuOCAxNi4zcy0zLjYgMjYuMS0xNi4zIDI5Ljh6Il19LExLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJhdmFuIixpY29uOls2NDAsNTEyLFtdLCJmOGZmIiwiTTMyIDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyMCAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4bDAgMTkyIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI5Ni40IDBjLjIgMi42IC40IDUuMyAuNCA4IDAgNDguNi0zOS40IDg4LTg4IDg4cy04OC0zOS40LTg4LTg4YzAtMi43IC4xLTUuNCAuNC04TDk2IDQxNmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMzIgOTZ6TTM1MiAzNTJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQ4LTI0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjQgMCAwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnpNMTYwIDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDB6bTY0IDMzNmE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6Il19LCRLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJxIixpY29uOls0NDgsNTEyLFsxMTNdLCI1MSIsIk02NCAyNTZjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjAgMjguOSAwIDU2LTcuNyA3OS40LTIxLjFsLTcyLTg2LjRjLTExLjMtMTMuNi05LjUtMzMuOCA0LjEtNDUuMXMzMy44LTkuNSA0NS4xIDQuMWw3MC45IDg1LjFjMjAuNC0yNi44IDMyLjUtNjAuMyAzMi41LTk2LjYgMC04OC40LTcxLjYtMTYwLTE2MC0xNjBTNjQgMTY3LjYgNjQgMjU2ek0zNDQuOSA0NDQuNkMzMTAgNDY3IDI2OC41IDQ4MCAyMjQgNDgwIDEwMC4zIDQ4MCAwIDM3OS43IDAgMjU2UzEwMC4zIDMyIDIyNCAzMiA0NDggMTMyLjMgNDQ4IDI1NmMwIDU2LjEtMjAuNiAxMDcuNC01NC43IDE0Ni43bDQ3LjMgNTYuOGMxMS4zIDEzLjYgOS41IDMzLjgtNC4xIDQ1LjFzLTMzLjggOS41LTQ1LjEtNC4xbC00Ni42LTU1Ljl6Il19LERLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2NrIixpY29uOlszODQsNTEyLFsxMjgyNzRdLCJmMDIzIiwiTTEyOCA5NmwwIDY0IDEyOCAwIDAtNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRzLTY0IDI4LjctNjQgNjR6TTY0IDE2MGwwLTY0QzY0IDI1LjMgMTIxLjMtMzIgMTkyLTMyUzMyMCAyNS4zIDMyMCA5NmwwIDY0YzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyMjRjMC0zNS4zIDI4LjctNjQgNjQtNjR6Il19LEFLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYWludC1yb2xsZXIiLGljb246WzUxMiw1MTIsW10sImY1YWEiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzUyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMTYgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDk2YzAgNDQuMi0zNS44IDgwLTgwIDgwbC0xNjAgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTguN2MxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NmMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC0xOC43YzAtNDQuMiAzNS44LTgwIDgwLTgwbDE2MCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTk2YzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCAxOTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6Il19LCQ3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2b2x1bWUtaGlnaCIsaWNvbjpbNjQwLDUxMixbMTI4MjY2LCJ2b2x1bWUtdXAiXSwiZjAyOCIsIk01MzMuNiAzMi41Yy0xMC4zLTguNC0yNS40LTYuOC0zMy44IDMuNXMtNi44IDI1LjQgMy41IDMzLjhDNTU3LjUgMTEzLjggNTkyIDE4MC44IDU5MiAyNTZzLTM0LjUgMTQyLjItODguNyAxODYuM2MtMTAuMyA4LjQtMTEuOCAyMy41LTMuNSAzMy44czIzLjUgMTEuOCAzMy44IDMuNUM1OTguNSA0MjYuNyA2NDAgMzQ2LjIgNjQwIDI1NlM1OTguNSA4NS4yIDUzMy42IDMyLjV6TTQ3My4xIDEwN2MtMTAuMy04LjQtMjUuNC02LjgtMzMuOCAzLjVzLTYuOCAyNS40IDMuNSAzMy44QzQ3NS4zIDE3MC43IDQ5NiAyMTAuOSA0OTYgMjU2cy0yMC43IDg1LjMtNTMuMiAxMTEuOGMtMTAuMyA4LjQtMTEuOCAyMy41LTMuNSAzMy44czIzLjUgMTEuOCAzMy44IDMuNWM0My4yLTM1LjIgNzAuOS04OC45IDcwLjktMTQ5cy0yNy43LTExMy44LTcwLjktMTQ5em0tNjAuNSA3NC41Yy0xMC4zLTguNC0yNS40LTYuOC0zMy44IDMuNXMtNi44IDI1LjQgMy41IDMzLjhDMzkzLjEgMjI3LjYgNDAwIDI0MSA0MDAgMjU2cy02LjkgMjguNC0xNy43IDM3LjNjLTEwLjMgOC40LTExLjggMjMuNS0zLjUgMzMuOHMyMy41IDExLjggMzMuOCAzLjVDNDM0LjEgMzEyLjkgNDQ4IDI4Ni4xIDQ0OCAyNTZzLTEzLjktNTYuOS0zNS40LTc0LjV6TTgwIDM1Mmw0OCAwIDEzNC4xIDExOS4yYzYuNCA1LjcgMTQuNiA4LjggMjMuMSA4LjggMTkuMiAwIDM0LjgtMTUuNiAzNC44LTM0LjhsMC0zNzguNGMwLTE5LjItMTUuNi0zNC44LTM0LjgtMzQuOC04LjUgMC0xNi43IDMuMS0yMy4xIDguOEwxMjggMTYwIDgwIDE2MGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OHoiXX0sUEt0PSQ3ZSxFS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9sZGVyLXBsdXMiLGljb246WzUxMiw1MTIsW10sImY2NWUiLCJNNTEyIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMTM4LjcgMGMxMy44IDAgMjcuMyA0LjUgMzguNCAxMi44bDM4LjQgMjguOGM1LjUgNC4yIDEyLjMgNi40IDE5LjIgNi40TDQ0OCA4MGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI0MHpNMjU2IDE2MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDAgMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDggNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMCAwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxJS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWVyY3VyeSIsaWNvbjpbMzg0LDUxMixbOTc5MV0sImYyMjMiLCJNMTE3LTRDMTA2LTE3LjggODUuOC0yMCA3Mi4xLTlzLTE2IDMxLjItNSA0NUM3NC45IDQ1LjcgODMuNyA1NC41IDkzLjUgNjIuMSA0Ni43IDkzLjcgMTYgMTQ3LjMgMTYgMjA4IDE2IDI5NC4zIDc4LjEgMzY2LjEgMTYwIDM4MS4xbDAgMzQuOS0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTM0LjljODEuOS0xNSAxNDQtODYuOCAxNDQtMTczLjEgMC02MC43LTMwLjctMTE0LjMtNzcuNS0xNDUuOSA5LjgtNy43IDE4LjctMTYuNCAyNi40LTI2LjEgMTEuMS0xMy44IDguOC0zMy45LTUtNDVTMjc4LTE3LjggMjY3LTRjLTE3LjYgMjItNDQuNyAzNi03NSAzNlMxMzQuNyAxOCAxMTctNHptNzUgMzI0Yy02MS45IDAtMTEyLTUwLjEtMTEyLTExMlMxMzAuMSA5NiAxOTIgOTYgMzA0IDE0Ni4xIDMwNCAyMDhjMCA2MS44LTUwLjEgMTEyLTExMS45IDExMmwtLjEgMHoiXX0sTkt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuY2hvciIsaWNvbjpbNTc2LDUxMixbOTg3NV0sImYxM2QiLCJNMjg4IDY0YTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHpNMTkyIDk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCA0MS44LTI2LjcgNzcuNC02NCA5MC41bDAgMjU3LjljNjIuOS0xNC4zIDExMC4yLTY5LjcgMTExLjktMTM2LjVsLTE2LjEgMTQuMWMtMTAgOC43LTI1LjEgNy43LTMzLjktMi4zcy03LjctMjUuMSAyLjMtMzMuOWw2NC01NmM5LTcuOSAyMi42LTcuOSAzMS42IDBsNjQgNTZjMTAgOC43IDExIDIzLjkgMi4zIDMzLjlzLTIzLjkgMTEtMzMuOSAyLjNMNDk2IDMwNy45QzQ5My45IDQyMSA0MDEuNiA1MTIgMjg4IDUxMlM4Mi4xIDQyMSA4MCAzMDcuOUw2My44IDMyMi4xYy0xMCA4LjctMjUuMSA3LjctMzMuOS0yLjNzLTcuNy0yNS4xIDIuMy0zMy45bDY0LTU2YzktNy45IDIyLjYtNy45IDMxLjYgMGw2NCA1NmMxMCA4LjcgMTEgMjMuOSAyLjMgMzMuOXMtMjMuOSAxMS0zMy45IDIuM2wtMTYuMS0xNC4xYzEuOCA2Ni44IDQ5LjEgMTIyLjIgMTExLjkgMTM2LjVsMC0yNTcuOWMtMzcuMy0xMy4yLTY0LTQ4LjctNjQtOTAuNXoiXX0sRDdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1wYXJraW5nIixpY29uOls0NDgsNTEyLFsxMjczNTksInBhcmtpbmciXSwiZjU0MCIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0xOTIgMjU2bDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQ4IDAgMCA2NHptNDggNjRsLTQ4IDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE4NGMwLTIyLjEgMTcuOS00MCA0MC00MGw3MiAwYzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2eiJdfSxSS3Q9RDdlLE9LdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW51a2lhaCIsaWNvbjpbNjQwLDUxMixbMTI4MzM0XSwiZjZlNiIsIk0zMTQuMiAzLjNjLTUuMSA4LjgtMTguMiAzMy4zLTE4LjIgNTIuNyAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjN6bS0yODggNDhDMjEuMSA2MC4xIDggODQuNiA4IDEwNCA4IDExNy4zIDE4LjcgMTI4IDMyIDEyOHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjN6TTg4IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjNDMTAxLjEgNjAuMSA4OCA4NC42IDg4IDEwNHptODIuMi01Mi43Yy01LjEgOC44LTE4LjIgMzMuMy0xOC4yIDUyLjcgMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zek0yMTYgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM0MyMjkuMSA2MC4xIDIxNiA4NC42IDIxNiAxMDR6TTM5NC4yIDUxLjNjLTUuMSA4LjgtMTguMiAzMy4zLTE4LjIgNTIuNyAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjN6TTQ0MCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzQ1My4xIDYwLjEgNDQwIDg0LjYgNDQwIDEwNHptODIuMi01Mi43Yy01LjEgOC44LTE4LjIgMzMuMy0xOC4yIDUyLjcgMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zek01ODQgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM0M1OTcuMSA2MC4xIDU4NCA4NC42IDU4NCAxMDR6TTExMiAxNjBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDExMiAzMiAwIDAtMTEyYzAtOC44LTcuMi0xNi0xNi0xNnptNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTEyIDMyIDAgMC0xMTJjMC04LjgtNy4yLTE2LTE2LTE2em02NCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTIgMzIgMCAwLTExMmMwLTguOC03LjItMTYtMTYtMTZ6bTE2MCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTIgMzIgMCAwLTExMmMwLTguOC03LjItMTYtMTYtMTZ6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDExMiAzMiAwIDAtMTEyYzAtOC44LTcuMi0xNi0xNi0xNnptNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTEyIDMyIDAgMC0xMTJjMC04LjgtNy4yLTE2LTE2LTE2ek0zNTIgMTQ0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTc2LTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgMTc0LjMgMCAxOTJsMCA5NmMwIDUzIDQzIDk2IDk2IDk2bDE5MiAwIDAgNjQtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEyOCAwIDAtNjQgMTkyIDBjNTMgMCA5Ni00MyA5Ni05NmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE5MiAwIDAtMTc2eiJdfSxZYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb3RhdGUtbGVmdCIsaWNvbjpbNTEyLDUxMixbInJvdGF0ZS1iYWNrIiwicm90YXRlLWJhY2t3YXJkIiwidW5kby1hbHQiXSwiZjJlYSIsIk0yNCAxOTJsMTQ0IDBjOS43IDAgMTguNS01LjggMjIuMi0xNC44czEuNy0xOS4zLTUuMi0yNi4ybC00Ni43LTQ2LjdjNzUuMy01OC42IDE4NC4zLTUzLjMgMjUzLjUgMTUuOSA3NSA3NSA3NSAxOTYuNSAwIDI3MS41cy0xOTYuNSA3NS0yNzEuNSAwYy0xMC4yLTEwLjItMTktMjEuMy0yNi40LTMzLTkuNS0xNC45LTI5LjMtMTkuMy00NC4yLTkuOHMtMTkuMyAyOS4zLTkuOCA0NC4yQzQ5LjcgNDA4LjcgNjEuNCA0MjMuNSA3NSA0MzcgMTc1IDUzNyAzMzcgNTM3IDQzNyA0MzdTNTM3IDE3NSA0MzcgNzVDMzQyLjgtMTkuMyAxOTMuMy0yNC43IDkyLjcgNTguOEw0MSA3QzM0LjEgLjIgMjMuOC0xLjkgMTQuOCAxLjhTMCAxNC4zIDAgMjRMMCAxNjhjMCAxMy4zIDEwLjcgMjQgMjQgMjR6Il19LEZLdD1ZYixCS3Q9WWIsSEt0PVliLEE3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkaW5nIixpY29uOls0NDgsNTEyLFsiaGVhZGVyIl0sImYxZGMiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNiAwIDAgMTEyIDIyNCAwIDAtMTEyLTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYgMCAwIDMyMCAxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC0xNDQtMjI0IDAgMCAxNDQgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwIDAtMzIwLTE2IDBDMTQuMyA5NiAwIDgxLjcgMCA2NHoiXX0scUt0PUE3ZSxWS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3Jvc3NoYWlycyIsaWNvbjpbNTc2LDUxMixbXSwiZjA1YiIsIk0yODgtMTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxOC4zYzk4LjEgMTQgMTc1LjcgOTEuNiAxODkuNyAxODkuN2wxOC4zIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE4LjMgMGMtMTQgOTguMS05MS42IDE3NS43LTE4OS43IDE4OS43bDAgMTguM2MwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE4LjNDMTU3LjkgNDYzLjcgODAuMyAzODYuMSA2Ni4zIDI4OEw0OCAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTguMyAwQzgwLjMgMTI1LjkgMTU3LjkgNDguMyAyNTYgMzQuM0wyNTYgMTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTEzMS4yIDI4OGMxMi43IDYyLjcgNjIuMSAxMTIuMSAxMjQuOCAxMjQuOGwwLTEyLjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDEyLjhjNjIuNy0xMi43IDExMi4xLTYyLjEgMTI0LjgtMTI0LjhMNDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxMi44IDBDNDMyLjEgMTYxLjMgMzgyLjcgMTExLjkgMzIwIDk5LjJsMCAxMi44YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTIuOEMxOTMuMyAxMTEuOSAxNDMuOSAxNjEuMyAxMzEuMiAyMjRsMTIuOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMi44IDB6TTI4OCAyMDhhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2eiJdfSxqS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLW5vZGVzIixpY29uOls1MTIsNTEyLFtdLCJlNGUyIiwiTTQxOC40IDE1Ny45YzM1LjMtOC4zIDYxLjYtNDAgNjEuNi03Ny45IDAtNDQuMi0zNS44LTgwLTgwLTgwLTQzLjQgMC03OC43IDM0LjUtODAgNzcuNUwxMzYuMiAxNTEuMUMxMjEuNyAxMzYuOCAxMDEuOSAxMjggODAgMTI4IDM1LjggMTI4IDAgMTYzLjggMCAyMDhzMzUuOCA4MCA4MCA4MGMxMi4yIDAgMjMuOC0yLjcgMzQuMS03LjZMMjU5LjcgNDA3LjhjLTIuNCA3LjYtMy43IDE1LjgtMy43IDI0LjIgMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTI3LjctMTQtNTIuMS0zNS40LTY2LjRsMzcuOC0yMDcuN3pNMTU2LjMgMjMyLjJjMi4yLTYuOSAzLjUtMTQuMiAzLjctMjEuN2wxODMuOC03My41YzMuNiAzLjUgNy40IDYuNyAxMS42IDkuNUwzMTcuNiAzNTQuMWMtNS41IDEuMy0xMC44IDMuMS0xNS44IDUuNUwxNTYuMyAyMzIuMnoiXX0sVUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpbmRvdy1yZXN0b3JlIixpY29uOls1NzYsNTEyLFtdLCJmMmQyIiwiTTUxMiA5NkwxNjAgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTQ4IDAgMC02NCA0OCAwIDAtMTkyek0wIDIyNGMwLTM1LjMgMjguNy02NCA2NC02NGwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjI0em02NCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwyNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4OCAyNDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0eiJdfSxXS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiciIsaWNvbjpbMzIwLDUxMixbMTE0XSwiNTIiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDk1LjMgMCAxMDIuNCAxNDYuNGMxMC4xIDE0LjUgMzAuMSAxOCA0NC42IDcuOXMxOC0zMC4xIDcuOS00NC42TDIzMC4xIDMwOS41QzI4Mi44IDI4OC4xIDMyMCAyMzYuNCAzMjAgMTc2IDMyMCA5Ni41IDI1NS41IDMyIDE3NiAzMkwzMiAzMnpNMTc2IDI1NmwtMTEyIDAgMC0xNjAgMTEyIDBjNDQuMiAwIDgwIDM1LjggODAgODBzLTM1LjggODAtODAgODB6Il19LEdLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWx0ZXItY2lyY2xlLXhtYXJrIixpY29uOls1NzYsNTEyLFtdLCJlMTdiIiwiTTMyIDY0QzE5LjEgNjQgNy40IDcxLjggMi40IDgzLjhTLjIgMTA5LjUgOS40IDExOC42TDE5MiAzMDEuMyAxOTIgNDE2YzAgOC41IDMuNCAxNi42IDkuNCAyMi42bDY0IDY0YzIuNSAyLjUgNS4zIDQuNSA4LjMgNi0yMS4yLTMwLjktMzMuNi02OC4zLTMzLjYtMTA4LjYgMC05OS40IDc1LjUtMTgxLjEgMTcyLjMtMTkxbDkwLjQtOTAuNGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0OTIuOSA2NCA0ODAgNjRMMzIgNjR6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43bC0zNi43IDM2LjcgMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTM2LjctMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzYuNy0zNi43LTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDM2LjcgMzYuNyAzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42eiJdfSxZS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ29wdXJhbSIsaWNvbjpbNTEyLDUxMixbXSwiZjY2NCIsIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDggNDAgMCAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDggNDggMCAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDggNDAgMCAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEzNmMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDgwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTI4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC00OCAwIDAtMjI0LTMyIDAgMC0xMjgtNDggMCAwIDEyOCAzMiAwIDAgMjI0LTIyNCAwIDAtMjI0IDMyIDAgMC0xMjgtNDggMCAwIDEyOC0zMiAwIDAgMjI0LTQ4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzM2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhMOTYgMjRjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTI1NiAyMDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDggNjQgMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyek0yMDggNDAwbDAgNjQgOTYgMCAwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4ek0yNTYgOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzIgNjQgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxLS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY2lyY2xlLW1pbnVzIixpY29uOls1NzYsNTEyLFtdLCJlNGZmIiwiTTI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN0MyOTYgNTIuNSAzMzYuMiAzMiAzNzguOSAzMiA0NTIuNCAzMiA1MTIgOTEuNiA1MTIgMTY1LjFsMCAyLjZjMCAxNy42LTMuNCAzNS42LTkuNSA1My43LTIxLjgtOC42LTQ1LjYtMTMuNC03MC41LTEzLjQtMTA2IDAtMTkyIDg2LTE5MiAxOTIgMCAyOC41IDYuMiA1NS42IDE3LjQgODAtLjUgMC0uOSAwLTEuNCAwLTE1LjUgMC0zMC44LTQuNi00My4xLTE0LjEtNzMtNTUuNy0yMTIuOS0xODYtMjEyLjktMjk4LjJsMC0yLjZDMCA5MS42IDU5LjYgMzIgMTMzLjEgMzIgMTc1LjggMzIgMjE2IDUyLjUgMjQxIDg3LjF6TTI4OCA0MDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjI0IDBjMC04LjgtNy4yLTE2LTE2LTE2bC0xMjggMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZ6Il19LFpLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyLW9mLWxpZmUiLGljb246WzUxMiw1MTIsW10sImY2MjEiLCJNMjA4LjUgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE0MC45IDEyMi03MC40YzE1LjMtOC44IDM0LjktMy42IDQzLjcgMTEuN2wxNiAyNy43YzguOCAxNS4zIDMuNiAzNC45LTExLjcgNDMuN2wtMTIyIDcwLjQgMTIyIDcwLjRjMTUuMyA4LjggMjAuNiAyOC40IDExLjcgNDMuN2wtMTYgMjcuN2MtOC44IDE1LjMtMjguNCAyMC42LTQzLjcgMTEuN2wtMTIyLTcwLjQgMCAxNDAuOWMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNDAuOS0xMjIgNzAuNGMtMTUuMyA4LjgtMzQuOSAzLjYtNDMuNy0xMS43bC0xNi0yNy43Yy04LjgtMTUuMy0zLjYtMzQuOSAxMS43LTQzLjdsMTIyLTcwLjQtMTIyLTcwLjRjLTE1LjMtOC44LTIwLjUtMjguNC0xMS43LTQzLjdsMTYtMjcuN2M4LjgtMTUuMyAyOC40LTIwLjUgNDMuNy0xMS43bDEyMiA3MC40IDAtMTQwLjl6Il19LFA3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidXNpbmVzcy10aW1lIixpY29uOls2NDAsNTEyLFsiYnJpZWZjYXNlLWNsb2NrIl0sImY2NGEiLCJNMjY0IDQ4bDExMiAwYzQuNCAwIDggMy42IDggOGwwIDQwLTEyOCAwIDAtNDBjMC00LjQgMy42LTggOC04em0tNTYgOGwwIDQwLTgwIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgOTYgMzA1IDBjMzMuOC0yOS45IDc4LjMtNDggMTI3LTQ4IDI4LjYgMCA1NS42IDYuMiA4MCAxNy40bDAtNjUuNGMwLTM1LjMtMjguNy02NC02NC02NGwtODAgMCAwLTQwYzAtMzAuOS0yNS4xLTU2LTU2LTU2TDI2NCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NnptODAgMjk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2LTE5MiAwIDAgMTEyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5My40IDBjLTExLjItMjQuNC0xNy40LTUxLjQtMTcuNC04MCAwLTE2LjYgMi4xLTMyLjcgNi00OGwtMjIgMHptMzUyIDQ4YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6TTQ5NiAzMjBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDggMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxYS3Q9UDdlLFFLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXJlLWV4dGluZ3Vpc2hlciIsaWNvbjpbNTEyLDUxMixbMTI5NTE5XSwiZjEzNCIsIk01MTIgMzJjMC05LjYtNC4zLTE4LjctMTEuNy0yNC43UzQ4My4xLTEuMyA0NzMuNyAuNmwtMTYwIDMyQzMwMS41IDM1LjEgMjkyIDQ0LjMgMjg5IDU2bC02NSAwIDAtMjRjMC0xNy43LTE0LjMtMzItMzItMzJMMTYwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjguNGMtNTUuMyAxMi4zLTEwMS4zIDQ5LjUtMTI1LjUgOTkuMS01LjggMTEuOS0uOSAyNi4zIDExLjEgMzIuMXMyNi4zIC45IDMyLjEtMTEuMUM2MiAxNDYuOSA5MS44IDEyMS4xIDEyOCAxMTBsMCAyOC44Yy0zNy44IDE4LTY0IDU2LjUtNjQgMTAxLjJsMCAxMjggMjI0IDAgMC0xMjhjMC00NC43LTI2LjItODMuMi02NC0xMDEuMmwwLTM0LjggNjUgMGMzIDExLjcgMTIuNSAyMC45IDI0LjcgMjMuNGwxNjAgMzJjOS40IDEuOSAxOS4xLS42IDI2LjYtNi42UzUxMiAxMzcuNiA1MTIgMTI4bDAtOTZ6TTI4OCA0NDhsMC0zMi0yMjQgMCAwIDMyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDk2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjR6Il19LEU3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLWxvbmciLGljb246WzMyMCw1MTIsWyJsb25nLWFycm93LWRvd24iXSwiZjE3NSIsIk0xMzcuNCA1MzQuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDE5MiA0MzQuNyAxOTIgMGMwLTE3LjctMTQuMy0zMi0zMi0zMlMxMjgtMTcuNyAxMjggMGwwIDQzNC43LTczLjQtNzMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTI4IDEyOHoiXX0sSkt0PUU3ZSxlWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1taW51cyIsaWNvbjpbNjQwLDUxMixbXSwiZjUwMyIsIk0yODUuNyAzMDRjOTguNSAwIDE3OC4zIDc5LjggMTc4LjMgMTc4LjMgMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMNzcuNyA1MTJDNjEuMyA1MTIgNDggNDk4LjcgNDggNDgyLjMgNDggMzgzLjggMTI3LjggMzA0IDIyNi4zIDMwNGw1OS40IDB6TTI1NiAyNDhhMTIwIDEyMCAwIDEgMSAwLTI0MCAxMjAgMTIwIDAgMSAxIDAgMjQwem0zNDQtOTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE0NCAweiJdfSx0WnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktY2hlY2siLGljb246WzUxMiw1MTIsW10sImY1M2MiLCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHpNOTYgMzEyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTI0LTEzNmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjcyIDB6Il19LEk3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1sYXB0b3AiLGljb246WzY0MCw1MTIsWyJsYXB0b3AtaG91c2UiXSwiZTA2NiIsIk00NDggMjQwbDE5LjkgMGMxNS41IDAgMjguMS0xMi42IDI4LjEtMjguMSAwLTcuNi0zLjEtMTQuOS04LjYtMjAuMkwyODMuNS00LjlDMjc2LjEtMTIgMjY2LjMtMTYgMjU2LTE2cy0yMC4xIDQtMjcuNSAxMS4xTDI0LjYgMTkxLjdDMTkuMSAxOTcgMTYgMjA0LjMgMTYgMjExLjkgMTYgMjI3LjQgMjguNiAyNDAgNDQuMSAyNDBsMTkuOSAwIDAgMTQ0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDg1LjcgMGM3LjQtNi42IDE2LjQtMTEuNCAyNi4zLTE0bDAtMTMwYzAtNS41IC43LTEwLjkgMi0xNmwtMTAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjQgMTQ0IDB6TTM1MiAzNTJsMTYwIDAgMCAxMjgtMTYwIDAgMC0xMjh6bS02NC0zMmwwIDE2MC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTYgMCAyNi41IDIxLjUgNDggNDggNDhsMjg4IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDggMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwIDAtMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0yMjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6Il19LGFadD1JN2Usclp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvd25sb2FkIixpY29uOls0NDgsNTEyLFtdLCJmMDE5IiwiTTI1NiAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDIxMC43LTQxLjQtNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsOTYtOTZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjU2IDI0Mi43IDI1NiAzMnpNNjQgMzIwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDMyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzJjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTQ2LjkgMC01Ni42IDU2LjZjLTMxLjIgMzEuMi04MS45IDMxLjItMTEzLjEgMEwxMTAuOSAzMjAgNjQgMzIwem0zMDQgNTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4eiJdfSxzWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2FnaXR0YXJpdXMiLGljb246WzQ0OCw1MTIsW10sImU4NGQiLCJNNDE2IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODIuOC0xNDYuOCAxNDYuOCA0MS40IDQxLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjJzLTMyLjggMTIuNS00NS4zIDBMMTkyIDMzMy4zIDU0LjYgNDcwLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMiAwcy0xMi41LTMyLjggMC00NS4yTDE0Ni44IDI4OCAxMDUuNCAyNDYuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjJzMzIuOC0xMi41IDQ1LjIgMEwxOTIgMjQyLjggMzM4LjggOTYgMjU2IDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAweiJdfSxpWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY291Y2giLGljb246WzY0MCw1MTIsW10sImY0YjgiLCJNMTQ0IDI3MkMxNDQgMjI0LjcgMTA5LjggMTg1LjQgNjQuOCAxNzcuNSA3MiAxMTMuNiAxMjYuMiA2NCAxOTIgNjRsMjU2IDBjNjUuOCAwIDEyMCA0OS42IDEyNy4yIDExMy41LTQ1IDgtNzkuMiA0Ny4yLTc5LjIgOTQuNWwwIDMyLTM1MiAwIDAtMzJ6TTAgMzg0TDAgMjcyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCA4MCA0NDggMCAwLTgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCAxMTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NHoiXX0sb1p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvYWQtbG9jayIsaWNvbjpbNTc2LDUxMixbXSwiZTU2NyIsIk0yNTYgMzJsLTc2LjMgMGMtMjkuNCAwLTU1LjEgMjAuMS02Mi4xIDQ4LjZMMzMuNCA0MjAuNUMyNS45IDQ1MC43IDQ4LjggNDgwIDgwIDQ4MGwxNzUuOSAwIDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzIgNi4xIDAgMTEuOCAxLjcgMTYuNyA0LjcgMi44LTIzLjkgMTQuMy00NS4xIDMxLjQtNjAuM2wwLTI0LjRjMC03MC43IDU3LjMtMTI4IDEyOC0xMjggNi4yIDAgMTIuNCAuNCAxOC40IDEuM0w0NTguNSA4MC42QzQ1MS40IDUyLjEgNDI1LjggMzIgMzk2LjMgMzJsLTc2LjQgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6bTY0IDE5MmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTc2IDgwLjFsMCA0Ny45LTY0IDAgMC00Ny45YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6TTM1MiA0MDBsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTk2YzAtMjAuOS0xMy40LTM4LjctMzItNDUuM2wwLTUwLjZjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBsMCA1MC42Yy0xOC42IDYuNi0zMiAyNC40LTMyIDQ1LjN6Il19LE43ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2lzc29ycyIsaWNvbjpbNTEyLDUxMixbOTk4NCw5OTg2LDk5ODgsImN1dCJdLCJmMGM0IiwiTTE5MiAyNTZsLTM5LjUgMzkuNWMtMTIuNi00LjktMjYuMi03LjUtNDAuNS03LjUtNjEuOSAwLTExMiA1MC4xLTExMiAxMTJzNTAuMSAxMTIgMTEyIDExMiAxMTItNTAuMSAxMTItMTEyYzAtMTQuMy0yLjctMjcuOS03LjUtNDAuNUw0OTkuMiA3Ni44YzcuMS03LjEgNy4xLTE4LjUgMC0yNS42LTI4LjMtMjguMy03NC4xLTI4LjMtMTAyLjQgMEwyNTYgMTkyIDIxNi41IDE1Mi41YzQuOS0xMi42IDcuNS0yNi4yIDcuNS00MC41IDAtNjEuOS01MC4xLTExMi0xMTItMTEyUzAgNTAuMSAwIDExMiA1MC4xIDIyNCAxMTIgMjI0YzE0LjMgMCAyNy45LTIuNyA0MC41LTcuNUwxOTIgMjU2em05Ny45IDk3LjlMMzk2LjggNDYwLjhjMjguMyAyOC4zIDc0LjEgMjguMyAxMDIuNCAwIDcuMS03LjEgNy4xLTE4LjUgMC0yNS42bC0xNDUuMy0xNDUuMy02NCA2NHpNNjQgMTEyYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTQ4IDI0MGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6Il19LG5adD1ON2UsT3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1ZyIsaWNvbjpbNTc2LDUxMixbXSwiZjE4OCIsIk0xOTIgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDMuNmMwIDE1LjctMTIuNyAyOC40LTI4LjQgMjguNGwtMTM1LjEgMGMtMTUuNyAwLTI4LjQtMTIuNy0yOC40LTI4LjRsMC0zLjZ6bTM0NS42IDEyLjhjMTAuNiAxNC4xIDcuNyAzNC4yLTYuNCA0NC44bC05Ny44IDczLjNjNS4zIDguOSA5LjMgMTguNyAxMS44IDI5LjFsOTguOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwIDAgMzJjMCAyLjYtLjEgNS4zLS4yIDcuOWw4My40IDYyLjVjMTQuMSAxMC42IDE3IDMwLjcgNi40IDQ0LjhzLTMwLjcgMTctNDQuOCA2LjRsLTYzLjEtNDcuM2MtMjMuMiA0NC4yLTY2LjUgNzYuMi0xMTcuNyA4My45TDMxMiAyODBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyMzAuMmMtNTEuMi03LjctOTQuNS0zOS43LTExNy43LTgzLjlMODMuMiA0NzMuNmMtMTQuMSAxMC42LTM0LjIgNy43LTQ0LjgtNi40cy03LjctMzQuMiA2LjQtNDQuOGw4My40LTYyLjVjLS4xLTIuNi0uMi01LjItLjItNy45bDAtMzItOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5OC44IDBjMi41LTEwLjQgNi41LTIwLjIgMTEuOC0yOS4xTDQ0LjggMTUzLjZjLTE0LjEtMTAuNi0xNy0zMC43LTYuNC00NC44czMwLjctMTcgNDQuOC02LjRMMTkyIDE4NGMxMi4zLTUuMSAyNS44LTggNDAtOGwxMTIgMGMxNC4yIDAgMjcuNyAyLjggNDAgOGwxMDguOC04MS42YzE0LjEtMTAuNiAzNC4yLTcuNyA0NC44IDYuNHoiXX0sUjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0LWZyb20tYnJhY2tldCIsaWNvbjpbNTEyLDUxMixbInNpZ24tb3V0Il0sImYwOGIiLCJNMTYwIDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDk2IDMyQzQzIDMyIDAgNzUgMCAxMjhMMCAzODRjMCA1MyA0MyA5NiA5NiA5Nmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwek01MDIuNiAyNzguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMNDAyLjcgMjI0IDE5MiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjEwLjcgMC03My40IDczLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOHoiXX0sbFp0PVI3ZSxjWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1ob2xkaW5nLWhhbmQiLGljb246WzU3Niw1MTIsW10sImU0ZjciLCJNNDY2LjggMTg2LjVsNDIuNS00Mi41IDM0LjcgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDIyMy42IDE2Yy0yOSAwLTU3LjMgOS4zLTgwLjcgMjYuNUwxNi4zIDEzNS44Yy0xNy44IDEzLjEtMjEuNiAzOC4xLTguNSA1NS45czM4LjEgMjEuNiA1NS45IDguNUwxODMuNCAxMTIgMjk2IDExMmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNTIuMiAwYzMzLjkgMCA2Ni41LTEzLjUgOTAuNS0zNy41em0tMzU3LjUgMTM5TDY2LjcgMzY4IDMyIDM2OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAuNSAwYzI5IDAgNTcuMy05LjMgODAuNy0yNi41bDEyNi42LTkzLjNjMTcuOC0xMy4xIDIxLjYtMzguMSA4LjUtNTUuOXMtMzguMS0yMS42LTU1LjktOC41TDM5Mi42IDQwMCAyODAgNDAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDcyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE1Mi4yIDBjLTMzLjkgMC02Ni41IDEzLjUtOTAuNSAzNy41eiJdfSxkWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Ryb29wd2FmZWwiLGljb246WzUxMiw1MTIsW10sImY1NTEiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHpNMzEyLjYgNjMuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBMMjU2IDk3LjYgMjIyLjEgNjMuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmwzMy45IDMzLjktNDUuMyA0NS4zLTU2LjYtNTYuNmMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw1Ni42IDU2LjYtNDUuMyA0NS4zLTMzLjktMzMuOWMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNkw5Ny42IDI1NiA2My43IDI4OS45Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzMuOS0zMy45IDQ1LjMgNDUuMy01Ni42IDU2LjZjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGw1Ni42LTU2LjYgNDUuMyA0NS4zLTMzLjkgMzMuOWMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDMzLjktMzMuOSAzMy45IDMzLjljNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zMy45LTMzLjkgNDUuMy00NS4zIDU2LjYgNTYuNmM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTU2LjYtNTYuNiA0NS4zLTQ1LjMgMzMuOSAzMy45YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtMzMuOS0zMy45IDMzLjktMzMuOWM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnMtMTYuNC02LjItMjIuNiAwbC0zMy45IDMzLjktNDUuMy00NS4zIDU2LjYtNTYuNmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnMtMTYuNC02LjItMjIuNiAwbC01Ni42IDU2LjYtNDUuMy00NS4zIDMzLjktMzMuOWM2LjItNi4yIDYuMi0xNi40IDAtMjIuNnpNMTQyLjkgMjU2bDQ1LjMtNDUuMyA0NS4zIDQ1LjMtNDUuMyA0NS4zLTQ1LjMtNDUuM3ptNjcuOSA2Ny45bDQ1LjMtNDUuMyA0NS4zIDQ1LjMtNDUuMyA0NS4zLTQ1LjMtNDUuM3pNMjc4LjYgMjU2bDQ1LjMtNDUuMyA0NS4zIDQ1LjMtNDUuMyA0NS4zLTQ1LjMtNDUuM3ptMjIuNi02Ny45bC00NS4zIDQ1LjMtNDUuMy00NS4zIDQ1LjMtNDUuMyA0NS4zIDQ1LjN6Il19LHVadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGlsZCIsaWNvbjpbMzIwLDUxMixbXSwiZjFhZSIsIk05NiA2NEE2NCA2NCAwIDEgMSAyMjQgNjQgNjQgNjQgMCAxIDEgOTYgNjR6bTQ4IDMyMGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDgwIDI4Ny44IDU5LjEgMzIxYy05LjQgMTUtMjkuMiAxOS40LTQ0LjEgMTBTLTQuNSAzMDEuOSA0LjkgMjg3bDM5LjktNjMuM0M2OS43IDE4NCAxMTMuMiAxNjAgMTYwIDE2MHM5MC4zIDI0IDExNS4yIDYzLjZMMzE1LjEgMjg3YzkuNCAxNSA0LjkgMzQuNy0xMCA0NC4xcy0zNC43IDQuOS00NC4xLTEwTDI0MCAyODcuOCAyNDAgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMzIgMHoiXX0scFp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImljZS1jcmVhbSIsaWNvbjpbMzg0LDUxMixbMTI3ODQ4XSwiZjgxMCIsIk0zMzUuMSAxNjBjLjYtNS4zIC45LTEwLjYgLjktMTYgMC03OS41LTY0LjUtMTQ0LTE0NC0xNDRTNDggNjQuNSA0OCAxNDRjMCA1LjQgLjMgMTAuNyAuOSAxNmwtLjkgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhzMjEuNSA0OCA0OCA0OGwyODggMGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OGwtLjkgMHpNNjQgMzA0TDE2OS4yIDUyOS41YzQuMSA4LjggMTMgMTQuNSAyMi44IDE0LjVzMTguNi01LjcgMjIuOC0xNC41TDMyMCAzMDQgNjQgMzA0eiJdfSxPN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tcHV0ZXItbW91c2UiLGljb246WzM4NCw1MTIsWzEyODQzMywibW91c2UiXSwiZjhjYyIsIk0wIDE5MmwxNjggMCAwLTE5Mi04IDBDNzEuNiAwIDAgNzEuNiAwIDE2MGwwIDMyem0wIDQ4TDAgMzUyYzAgODguNCA3MS42IDE2MCAxNjAgMTYwbDY0IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC0xMTItMzg0IDB6bTM4NC00OGwwLTMyQzM4NCA3MS42IDMxMi40IDAgMjI0IDBsLTggMCAwIDE5MiAxNjggMHoiXX0sZlp0PU83ZSxoWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmF1Y2V0IixpY29uOls1MTIsNTEyLFtdLCJlMDA1IiwiTTE5MiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDAgMCA2NCAxOC43IDBjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjRsMjIuNiAyMi42IDMyIDBjODguNCAwIDE2MCA3MS42IDE2MCAxNjAgMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMycy0xNC4zLTMyLTMyLTMybC0zNi4xIDBjLTIwLjIgMjktNTMuOSA0OC05MS45IDQ4cy03MS43LTE5LTkxLjktNDhMMzIgMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDAgMjIuNi0yMi42YzYtNiAxNC4xLTkuNCAyMi42LTkuNGwxOC43IDAgMC02NC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDY0IDk2IDY0bDk2IDB6Il19LG1adD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhd2FyZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjU1OSIsIk0yNDUuOS0yNS45Yy0xMy40LTguMi0zMC4zLTguMi00My43IDAtMjQuNCAxNC45LTM5LjUgMTguOS02OC4xIDE4LjMtMTUuNy0uNC0zMC4zIDguMS0zNy45IDIxLjktMTMuNyAyNS4xLTI0LjggMzYuMi00OS45IDQ5LjktMTMuOCA3LjUtMjIuMiAyMi4yLTIxLjkgMzcuOSAuNyAyOC42LTMuNCA0My43LTE4LjMgNjguMS04LjIgMTMuNC04LjIgMzAuMyAwIDQzLjcgMTQuOSAyNC40IDE4LjkgMzkuNSAxOC4zIDY4LjEtLjQgMTUuNyA4LjEgMzAuMyAyMS45IDM3LjkgMjIuMSAxMi4xIDMzLjMgMjIuMSA0NS4xIDQxLjVMNDIuNyA0NTguNWMtNS45IDExLjktMS4xIDI2LjMgMTAuNyAzMi4ybDg2IDQzYzExLjUgNS43IDI1LjUgMS40IDMxLjctOS44bDUyLjgtOTUuMSA1Mi44IDk1LjFjNi4yIDExLjIgMjAuMiAxNS42IDMxLjcgOS44bDg2LTQzYzExLjktNS45IDE2LjctMjAuMyAxMC43LTMyLjJsLTQ4LjYtOTcuMmMxMS43LTE5LjQgMjMtMjkuNCA0NS4xLTQxLjUgMTMuOC03LjUgMjIuMi0yMi4yIDIxLjktMzcuOS0uNy0yOC42IDMuNC00My43IDE4LjMtNjguMSA4LjItMTMuNCA4LjItMzAuMyAwLTQzLjctMTQuOS0yNC40LTE4LjktMzkuNS0xOC4zLTY4LjEgLjQtMTUuNy04LjEtMzAuMy0yMS45LTM3LjktMjUuMS0xMy43LTM2LjItMjQuOC00OS45LTQ5LjktNy41LTEzLjgtMjIuMi0yMi4yLTM3LjktMjEuOS0yOC42IC43LTQzLjctMy40LTY4LjEtMTguM3pNMjI0IDk2YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyeiJdfSxnWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWRyb3duaW5nIixpY29uOls2NDAsNTEyLFtdLCJlNTQ1IiwiTTI2NCA4OGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTEzMy45IDY1LjZjMTYuOC01LjYgMzQuOSAzLjUgNDAuNSAyMC4ybDEwLjkgMzIuOGM5LjQgMjguMyAzMy4yIDQ5LjUgNjIuNSA1NS42IDUuNiAxLjIgMTEuMyAxLjggMTcuMSAxLjhsODggMGMxNy4yIDAgMzQuMy0yLjggNTAuNi04LjJsMTE0LjQtMzguMWMxNi44LTUuNiAzNC45IDMuNSA0MC41IDIwLjJzLTMuNSAzNC45LTIwLjIgNDAuNUw0MjMuNyAyMjguNWMtOC40IDIuOC0xNyA1LjEtMjUuNyA2LjlsLTI2LjUgODguM2MtNi4xIDMuNC0xMi4xIDcuMy0xNy45IDExLjctMjIuMSAxNi42LTI5LjEgMTYuNi01MS4yIDAtMjYuMi0xOS43LTU2LjktMzAuMi04Ny44LTMxLjNsMjAuMi02Ny4yYy01MS41LTEwLjctOTMuNS00OC4xLTExMC4yLTk4bC0xMC45LTMyLjhjLTUuNi0xNi44IDMuNS0zNC45IDIwLjItNDAuNXpNNDAzLjQgNDEyLjFDMzc5LjEgNDMwLjMgMzUxLjEgNDQ4IDMyMCA0NDhzLTU5LjEtMTcuNy04My40LTM1LjljLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAwLTIzLjggMTcuOS01NC4xIDM1LjUtODguMSAzNS4zLTIwLjQtLjEtNDAuNy02LjctNTkuOC0yMS4xLTEwLjYtOC0xMi43LTIzLTQuNy0zMy42czIzLTEyLjcgMzMuNi00LjdjMTEuMyA4LjUgMjEuNiAxMS40IDMxLjIgMTEuNSAxNy42IC4xIDM3LjMtOS40IDU4LjktMjUuNyAzOC40LTI5IDkwLjUtMjkgMTI5IDAgMjQgMTguMSA0MC43IDI2LjMgNTQuNSAyNi4zczMwLjUtOC4yIDU0LjUtMjYuM2MzOC40LTI5IDkwLjUtMjkgMTI5IDAgMTYuOSAxMi43IDMyLjkgMjEuNSA0Ny44IDI0LjYgMTMuNyAyLjggMjcuNCAuOSA0Mi4zLTEwLjMgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOSAyNS42LTQuNyAzMy42Yy0yNi40IDE5LjktNTQuMiAyNC40LTgwLjcgMTkuMS0yNS4zLTUuMS00OC4xLTE4LjktNjcuMi0zMy4zLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAweiJdfSxiWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FtZXJhLXJvdGF0ZSIsaWNvbjpbNTEyLDUxMixbXSwiZTBkOCIsIk0xMzguNyA5NmwxMC40LTMxLjJDMTU1LjYgNDUuMiAxNzMuOSAzMiAxOTQuNiAzMmwxMjIuOCAwYzIwLjcgMCAzOSAxMy4yIDQ1LjUgMzIuOEwzNzMuMyA5NiA0NDggOTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NGw3NC43IDB6TTk2IDMwNS45YzAgMy45IDEuNCA3LjcgNCAxMC42bDQ4IDU0YzYuNCA3LjIgMTcuNiA3LjIgMjMuOSAwbDQ4LTU0YzIuNi0yLjkgNC02LjcgNC0xMC42bDAtMS45YzAtOC44LTcuMi0xNi0xNi0xNmwtMjQgMGMwLTM5LjggMzIuMi03MiA3Mi03MiA0LjQgMCA4LjcgLjQgMTIuOSAxLjJsMzQuOS0zOS4zYy0xNC42LTYuNC0zMC44LTkuOS00Ny44LTkuOS02Ni4zIDAtMTIwIDUzLjctMTIwIDEyMGwtMjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMS45em0xOTYtNDYuNWMtMi42IDIuOS00IDYuNy00IDEwLjZsMCAxLjljMCA4LjggNy4yIDE2IDE2IDE2bDI0IDBjMCAzOS44LTMyLjIgNzItNzIgNzItNC40IDAtOC43LS40LTEyLjktMS4ybC0zNC45IDM5LjNjMTQuNyA2LjQgMzAuOCA5LjkgNDcuOCA5LjkgNjYuMyAwIDEyMC01My43IDEyMC0xMjBsMjQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xLjljMC0zLjktMS40LTcuNy00LTEwLjZsLTQ4LTU0Yy02LjQtNy4yLTE3LjYtNy4yLTIzLjkgMGwtNDggNTR6Il19LEY3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4taGVhcnRzIixpY29uOls1MTIsNTEyLFsxMjg1MjUsImdyaW4taGVhcnRzIl0sImY1ODQiLCJNMjU2IDUxMmMxNDEuNCAwIDI1Ni0xMTQuNiAyNTYtMjU2IDAtMjMuMy0zLjEtNDUuOS04LjktNjcuMyA1LjUtMTMuNSA4LjktMjguNCA4LjktNDQuNyAwLTUzLTQzLTk2LTk2LTk2bC0yLjkgMGMtMi41IDAtNSAuMS03LjQgLjMtNDIuMS0zMC40LTkzLjgtNDguMy0xNDkuNy00OC4zUzE0OC40IDE3LjkgMTA2LjMgNDguM2MtMi41LS4yLTQuOS0uMy03LjQtLjNMOTYgNDhjLTUzIDAtOTYgNDMtOTYgOTYgMCAxNi4zIDMuNSAzMS4yIDguOSA0NC43LTUuOCAyMS40LTguOSA0NC04LjkgNjcuMyAwIDE0MS40IDExNC42IDI1NiAyNTYgMjU2ek0zODYuNyAzMjQuOWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtMjIuNCA2MS4zLTgxLjMgMTA1LjEtMTUwLjMgMTA1LjFTMTI4LjEgNDA0LjIgMTA1LjcgMzQyLjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMXpNMzIyLjkgOTZjMTMuNSAwIDI2LjUgNS40IDM2IDE0LjlsOS4xIDkuMSA5LjEtOS4xYzkuNS05LjUgMjIuNS0xNC45IDM2LTE0LjlsMi45IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCA1My40LTY2LjkgOTUuNy04OSAxMDguMi00LjQgMi41LTkuNiAyLjUtMTQgMC0yMi4xLTEyLjUtODktNTQuOC04OS0xMDguMiAwLTI2LjUgMjEuNS00OCA0OC00OGwyLjkgMHptLTE4OCAxNC45bDkuMSA5LjEgOS4xLTkuMWM5LjUtOS41IDIyLjUtMTQuOSAzNi0xNC45bDIuOSAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgNTMuNC02Ni45IDk1LjctODkgMTA4LjItNC40IDIuNS05LjYgMi41LTE0IDAtMjIuMS0xMi41LTg5LTU0LjgtODktMTA4LjIgMC0yNi41IDIxLjUtNDggNDgtNDhsMi45IDBjMTMuNSAwIDI2LjUgNS40IDM2IDE0Ljl6Il19LHZadD1GN2UseFp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtZnJhZ21lbnQiLGljb246WzM4NCw1MTIsW10sImU2OTciLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRsMCAyNDAgMTI4IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxMjggMTEyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNzcuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNTguNyAxOC43QzI0Ni43IDYuNyAyMzAuNSAwIDIxMy41IDBMNjQgMHpNMzI1LjUgMTc2TDIzMiAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDIwOCA1OC41IDMyNS41IDE3NnpNMzIgMzUyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOTYgMHoiXX0seVp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1taWxpdGFyeS1yaWZsZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTU0YiIsIk0xMjggMzljMC0xMyAxMC0yMy44IDIyLjktMjQuOUwzMDIuNyAxLjRDMzEyIC43IDMyMCA4IDMyMCAxNy40TDMyMCA0OGMwIDguOC03LjIgMTYtMTYgMTZMMTUzIDY0Yy0xMy44IDAtMjUtMTEuMi0yNS0yNXptMTcuNiA1N2wxNTYuOCAwYzEgNS4yIDEuNiAxMC41IDEuNiAxNiAwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTUuNSAuNi0xMC44IDEuNi0xNnptMjI4IDM2NC4zTDMyMCAzNjkuNyAzMjAgNDgwYzAgMS4zLS4xIDIuNS0uMiAzLjhMMTQ1LjUgMjM0LjljMTYuNi03LjEgMzQuNi0xMC45IDUzLjMtMTAuOWw1MC40IDBjMTUuOSAwIDMxLjMgMi44IDQ1LjggNy45TDM4OS45IDY3LjdjLTcuNy00LjQtMTAuMy0xNC4yLTUuOS0yMS45czE0LjItMTAuMyAyMS45LTUuOWwyNy43IDE2YzcuNyA0LjQgMTAuMyAxNC4yIDUuOSAyMS45bC01NS41IDk2LjEgMS42IC45YzE1LjMgOC44IDIwLjYgMjguNCAxMS43IDQzLjdMMzYwLjcgMjgyYzIgMi44IDMuOSA1LjggNS43IDguOGw3Ni4xIDEyOC44YzExLjIgMTkgNC45IDQzLjUtMTQuMSA1NC44cy00My41IDQuOS01NC44LTE0LjF6TTI4OCA1MTJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTExMC4zLTUzLjYgOTAuNmMtMTEuMiAxOS0zNS44IDI1LjMtNTQuOCAxNC4xUy01LjcgNDM4LjcgNS42IDQxOS43TDgxLjcgMjkwLjhjOS40LTE1LjggMjEuNy0yOS4zIDM2LTQwTDI5OS4xIDUxMGMtMy41IDEuMy03LjIgMi0xMS4xIDJ6TTI2NCAzMjBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSx3WnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9nZ2xlLW9uIixpY29uOls1NzYsNTEyLFtdLCJmMjA1IiwiTTE5MiA2NEM4NiA2NCAwIDE1MCAwIDI1NlM4NiA0NDggMTkyIDQ0OGwxOTIgMGMxMDYgMCAxOTItODYgMTkyLTE5MlM0OTAgNjQgMzg0IDY0TDE5MiA2NHptMTkyIDk2YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyeiJdfSxNWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibHVuZ3MtdmlydXMiLGljb246WzU3Niw1MTIsW10sImUwNjciLCJNMjg4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTUxLjNjOS42LTQuOCAyMC41LTcuNSAzMi03LjVzMjIuNCAyLjcgMzIgNy41TDMyMCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNDUwLjEgNDUxYzggMTguMyA4LjEgMzkuMiAuMiA1Ny41IDEwLjIgMi4zIDIwLjYgMy41IDMxLjIgMy41IDUyLjIgMCA5NC41LTQyLjMgOTQuNS05NC41bDAtNi4yYzAtMTExLjEtMzYuNy0yMTktMTA0LjQtMzA3TDQyOC45IDQ4LjdjLTguMS0xMC42LTIwLjctMTYuNy0zNC0xNi43LTIzLjcgMC00Mi45IDE5LjItNDIuOSA0Mi45bDAgMTM5LjljMS4yIDIuMiAyLjIgNC42IDMuMSA2LjkgMjYuNC0xMS42IDU4LjMtNi42IDc5LjkgMTVzMjYuNiA1My42IDE1IDc5LjlDNDc3IDMyNy4yIDQ5NiAzNTMuMyA0OTYgMzgzLjhzLTE5IDU2LjctNDUuOSA2Ny4xek0yMjAuOSAyMjEuOGMuOS0yLjQgMi00LjcgMy4xLTYuOWwwLTEzOC41YzAtMjQuNS0xOS45LTQ0LjQtNDQuNC00NC40LTEyLjUgMC0yNC40IDUuMy0zMi44IDE0LjVsLTI2LjQgMjlDNDIuOSAxNjAuOCAwIDI3MS44IDAgMzg3bDAgMzAuNWMwIDUyLjIgNDIuMyA5NC41IDk0LjUgOTQuNSAxMC41IDAgMjEtMS4yIDMxLjItMy41LTcuOS0xOC4zLTcuOC0zOS4zIC4yLTU3LjUtMjYuOS0xMC40LTQ1LjktMzYuNi00NS45LTY3LjFzMTktNTYuNyA0NS45LTY3LjFjLTExLjYtMjYuNC02LjYtNTguMyAxNS03OS45czUzLjYtMjYuNiA3OS45LTE1ek0xNTIgNDA4YzI4LjggMCA0My4yIDM0LjggMjIuOSA1NS4yLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGMyMC40LTIwLjQgNTUuMi01LjkgNTUuMiAyMi45IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0yOC44IDM0LjgtNDMuMiA1NS4yLTIyLjkgOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45Yy0yMC40LTIwLjQtNS45LTU1LjIgMjIuOS01NS4yIDEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0Yy0yOC44IDAtNDMuMi0zNC44LTIyLjktNTUuMiA5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwYy0yMC40IDIwLjQtNTUuMiA1LjktNTUuMi0yMi45IDAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgMjguOC0zNC44IDQzLjItNTUuMiAyMi45LTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjljMjAuNCAyMC40IDUuOSA1NS4yLTIyLjkgNTUuMi0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0em0xMDQtODBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em00MCA4OGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxsdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUtdGVubmlzLXBhZGRsZS1iYWxsIixpY29uOls1MTIsNTEyLFsxMjc5NTUsInBpbmctcG9uZy1wYWRkbGUtYmFsbCIsInRhYmxlLXRlbm5pcyJdLCJmNDVkIiwiTTk3IDEyN2w2Ny40LTY3LjRjMzguMi0zOC4yIDkwLTU5LjYgMTQ0LTU5LjYgMTEyLjUgMCAyMDMuNyA5MS4yIDIwMy43IDIwMy42IDAgNDYuNC0xNS44IDkxLjEtNDQuNSAxMjctMjMuNi0xNi44LTUyLjQtMjYuNy04My41LTI2LjctMzEuMSAwLTU5LjkgOS45LTgzLjQgMjYuNkw5NyAxMjd6TTI0MCA0NDhjMCA5LjcgMSAxOS4xIDIuOCAyOC4yLTE5LjgtNS4yLTM4LTE1LjUtNTIuNy0zMC4yLTEyLjItMTIuMi0zMS45LTEyLjItNDQuMSAwTDk2LjYgNDk1LjRjLTEwLjYgMTAuNi0yNSAxNi42LTQwIDE2LjYtMzEuMiAwLTU2LjYtMjUuMy01Ni42LTU2LjYgMC0xNSA2LTI5LjQgMTYuNi00MGw0OS40LTQ5LjRjMTIuMi0xMi4yIDEyLjItMzEuOSAwLTQ0LjEtMjEuNy0yMS43LTMzLjktNTEuMi0zMy45LTgxLjkgMC0yOS40IDExLjEtNTcuNiAzMS4xLTc5TDI2Ni42IDM2NC42QzI0OS45IDM4OC4xIDI0MCA0MTYuOSAyNDAgNDQ4em0xNDQtOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6Il19LGtadD1sdGUsU1p0PWx0ZSx6WnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm94ZXMtcGFja2luZyIsaWNvbjpbNTc2LDUxMixbXSwiZTRjNyIsIk0yMDggMGw4MCAwIDAgNTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTU2IDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0MTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEwOC44IDBjOC4yLTE0LjEgMTIuOC0zMC41IDEyLjgtNDhsMC0xNjBjMTAtMTMuNCAxNi0zMCAxNi00OGwwLTMyYzAtNDQuMi0zNS44LTgwLTgwLTgwbC0xNzYgMCAwLTk2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4ek0zMiAzMzZsMzIwIDAgMCAxMjhjMCAyNi41LTIxLjUgNDgtNDggNDhMODAgNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTEyOHpNNDggMTkybDI4OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJMNDggMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxDWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNoYWxrYm9hcmQiLGljb246WzY0MCw1MTIsW10sImU1M2QiLCJNMTkyIDgwYTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyek0xNzYgNTEybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMzNiAxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYgMCAwLTQ4IDE5MiAwIDAgMTkyLTE5MiAwIDAtMzItNjQgMCAwIDQ4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDIyNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjI0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDM2OCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0LTEyMi43IDBjLTQ1LjYgMC04OC41IDIxLjYtMTE1LjYgNTguMkwxNC4zIDI2MC45Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTEyIDIzNi43IDExMiA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnoiXX0sX1p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpY2UtdHdvIixpY29uOls0NDgsNTEyLFs5ODU3XSwiZjUyOCIsIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNMzUyIDM1MmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0xMjggMTkyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sQjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0LWFycm93LWxlZnQiLGljb246WzUxMiw1MTIsWzg2NDQsImV4Y2hhbmdlIl0sImYwZWMiLCJNNTAyLjYgMTUwLjZsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0w0MDIuNyAxNjAgMzIgMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMlMxNC4zIDk2IDMyIDk2bDM3MC43IDAtNDEuNC00MS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zem0tMzk3LjMgMzUybC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0wxMDkuMyAzNTIgNDgwIDM1MmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzcwLjcgMCA0MS40IDQxLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDB6Il19LFRadD1CN2UsSDdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvb3RiYWxsIixpY29uOls1MTIsNTEyLFsxMjc5NDQsImZvb3RiYWxsLWJhbGwiXSwiZjQ0ZSIsIk0yNjEuMSAyMi42Yy04OSAxOC0xNTAuNSA2My40LTE5MCAxMjMuOS0yMy4zIDM1LjYtMzguMSA3NS4zLTQ2LjcgMTE1LjVMMjUxLjkgNDg5LjRjODktMTggMTUwLjUtNjMuNCAxOTAuMS0xMjMuOSAyMy4zLTM1LjYgMzguMS03NS4zIDQ2LjctMTE1LjVMMjYxLjEgMjIuNnptMjM2IDE2OC4xYzMuMi00Mi4zIC43LTgzLjMtNC44LTExOC43LTQuNC0yNy44LTI2LjgtNDgtNTMuMS01MS42LTQzLTUuOS04Mi4yLTcuNS0xMTcuOC01LjRMNDk3LjEgMTkwLjZ6TTE5MS43IDQ5Ny4xTDE1LjkgMzIxLjRjLTMuMiA0Mi4zLS43IDgzLjMgNC44IDExOC43IDQuNCAyNy44IDI2LjggNDggNTMuMSA1MS42IDQzIDUuOSA4Mi4yIDcuNSAxMTcuOCA1LjR6TTI3MS41IDE0M2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw2NCA2NGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6bS02NCA2NGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw2NCA2NGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6bS02NCA2NGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw2NCA2NGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6Il19LExadD1IN2UsJFp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLW1vbnN0ZXIiLGljb246WzU3Niw1MTIsW10sImY2M2IiLCJNMzM2IDk2bDQ4IDY0LTEyOCAwIDAtNjQgODAgMHptMTI4IDY0TDM4Ny4yIDU3LjZDMzc1LjEgNDEuNSAzNTYuMSAzMiAzMzYgMzJMMjI0IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2LTE0NCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0YzAgMTguMSAxMC4xIDMzLjkgMjQuOSA0Mi4xLS41IDUuNyAxLjEgMTEuNiA0LjcgMTYuNC0zLjcgNi45LTYuOCAxNC4xLTkgMjEuOC0xMS42IDEuNy0yMC42IDExLjctMjAuNiAyMy44bDAgMTZjMCAxMi4xIDguOSAyMi4xIDIwLjYgMjMuOCAyLjIgNy42IDUuMyAxNC45IDkgMjEuOC03IDkuNC02LjMgMjIuOCAyLjMgMzEuM2wxMS4zIDExLjNjOC42IDguNiAyMS45IDkuMyAzMS4zIDIuMiA2LjggMy43IDE0LjEgNi44IDIxLjcgOSAxLjcgMTEuNiAxMS43IDIwLjYgMjMuOCAyMC42bDE2IDBjMTIuMSAwIDIyLjEtOC45IDIzLjgtMjAuNiA3LjYtMi4yIDE0LjktNS4zIDIxLjctOSA5LjQgNyAyMi44IDYuMyAzMS4zLTIuMmwxMS4zLTExLjNjOC42LTguNiA5LjMtMjEuOSAyLjMtMzEuMyAzLjctNi44IDYuOC0xNC4xIDktMjEuNyAxMS42LTEuNyAyMC42LTExLjcgMjAuNi0yMy44bDAtMTZjMC0xMi4xLTguOS0yMi4xLTIwLjYtMjMuOC0yLjItNy42LTUuMy0xNC45LTktMjEuNyAyLjQtMy4yIDMuOS02LjggNC41LTEwLjVsMTE0LjIgMGMuNiAzLjcgMi4xIDcuMyA0LjUgMTAuNS0zLjcgNi45LTYuOCAxNC4xLTkgMjEuOC0xMS42IDEuNy0yMC42IDExLjctMjAuNiAyMy44bDAgMTZjMCAxMi4xIDguOSAyMi4xIDIwLjYgMjMuOCAyLjIgNy42IDUuMyAxNC45IDkgMjEuOC03IDkuNC02LjMgMjIuOCAyLjIgMzEuM2wxMS4zIDExLjNjOC41IDguNiAyMS45IDkuMyAzMS4zIDIuMiA2LjggMy43IDE0LjEgNi44IDIxLjcgOSAxLjcgMTEuNiAxMS43IDIwLjYgMjMuOCAyMC42bDE2IDBjMTIuMSAwIDIyLjEtOC45IDIzLjgtMjAuNiA3LjYtMi4yIDE0LjktNS4zIDIxLjgtOSA5LjQgNyAyMi44IDYuMyAzMS4zLTIuMmwxMS4zLTExLjNjOC42LTguNiA5LjMtMjEuOSAyLjItMzEuMyAzLjctNi44IDYuOC0xNC4xIDktMjEuNyAxMS42LTEuNyAyMC42LTExLjcgMjAuNi0yMy44bDAtMTZjMC0xMi4xLTguOS0yMi4xLTIwLjYtMjMuOC0yLjItNy42LTUuMy0xNC45LTktMjEuNyAzLjYtNC44IDUuMi0xMC43IDQuNy0xNi40IDE0LjgtOC4yIDI0LjktMjMuOSAyNC45LTQyLjFsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMHpNMTI4IDMzNmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6bTI3MiA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAweiJdfSxEWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXN0ZXJpc2siLGljb246WzQ0OCw1MTIsWzEwMDMzLDYxNTQ1XSwiMmEiLCJNMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjguNiAxNDQtODMuMWMxNS4zLTguOCAzNC45LTMuNiA0My43IDExLjdzMy42IDM0LjktMTEuNyA0My43TDI4OCAyNTYgNDMyIDMzOS4xYzE1LjMgOC44IDIwLjYgMjguNCAxMS43IDQzLjdzLTI4LjQgMjAuNi00My43IDExLjdMMjU2IDMxMS40IDI1NiA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjguNi0xNDQgODMuMWMtMTUuMyA4LjgtMzQuOSAzLjYtNDMuNy0xMS43Uy43IDM0OCAxNiAzMzkuMUwxNjAgMjU2IDE2IDE3Mi45Qy43IDE2NC00LjUgMTQ0LjUgNC4zIDEyOS4xUzMyLjcgMTA4LjYgNDggMTE3LjRMMTkyIDIwMC42IDE5MiAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sY3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhdHRlcnktZnVsbCIsaWNvbjpbNjQwLDUxMixbMTI4MjY3LCJiYXR0ZXJ5IiwiYmF0dGVyeS01Il0sImYyNDAiLCJNNTI4IDEyOGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyMjRjMCA4LjgtNy4yIDE2LTE2IDE2bC00MTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmw0MTYgMHpNMTEyIDY0Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDIyNGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MEwxMTIgNjR6bTU2IDExMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMzA0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTMwNCAweiJdfSxBWnQ9Y3RlLFBadD1jdGUsRVp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoaWxkLWRyZXNzIixpY29uOlszMjAsNTEyLFtdLCJlNTljIiwiTTIyNCA2NEE2NCA2NCAwIDEgMCA5NiA2NCA2NCA2NCAwIDEgMCAyMjQgNjR6TTg4IDQwMGwwIDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC04MCAxNiAwIDAgODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTgwIDE3LjggMGMxMC45IDAgMTguNi0xMC43IDE1LjItMjEuMWwtMzEuMS05My40IDI4LjcgMzcuOGMxMC43IDE0LjEgMzAuOCAxNi44IDQ0LjggNi4yczE2LjgtMzAuNyA2LjItNDQuOEwyNTQuNiAyMDdjLTIyLjQtMjkuNi01Ny41LTQ3LTk0LjYtNDdzLTcyLjIgMTcuNC05NC42IDQ3TDYuNSAyODQuN2MtMTAuNyAxNC4xLTcuOSAzNC4yIDYuMiA0NC44czM0LjIgNy45IDQ0LjgtNi4yTDg2LjIgMjg1LjUgNTUgMzc4LjlDNTEuNiAzODkuMyA1OS4zIDQwMCA3MC4yIDQwMEw4OCA0MDB6Il19LHE3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWtpc3MtYmVhbSIsaWNvbjpbNTEyLDUxMixbMTI4NTM3LCJraXNzLWJlYW0iXSwiZjU5NyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjQwIDI4OGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMTIuMy00LjYgMjMuNS0xMi4yIDMyIDcuNiA4LjUgMTIuMiAxOS43IDEyLjIgMzIgMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2ek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0sSVp0PXE3ZSxWN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhc2gtY2FuLWFycm93LXVwIixpY29uOls0NDgsNTEyLFsidHJhc2gtcmVzdG9yZS1hbHQiXSwiZjgyYSIsIk0xNjcuMS0xNmwxMTMuOSAwYzEzLjggMCAyNiA4LjggMzAuNCAyMS45TDMyMCAzMiA0MTYgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMybDk2IDAgOC43LTI2LjFDMTQxLjEtNy4yIDE1My4zLTE2IDE2Ny4xLTE2ek0zMiAxNDRsMzg0IDAgMCAzMDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMwNHptMjA5IDc5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtNzIgNzJjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwzMS0zMSAwIDEwMi4xYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDIuMSAzMSAzMWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTcyLTcyeiJdfSxOWnQ9VjdlLFJadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb250IixpY29uOls1MTIsNTEyLFtdLCJmMDMxIiwiTTI4NS4xIDUwLjdDMjc5LjkgMzkuMyAyNjguNSAzMiAyNTYgMzJzLTIzLjkgNy4zLTI5LjEgMTguN0w1OS41IDQxNiA0OCA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNi4xIDAgMjItNDggMjA4LjMgMCAyMiA0OC02LjEgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMS41IDAtMTY3LjQtMzY1LjN6TTMzMC44IDMwNEwxODEuMiAzMDQgMjU2IDE0MC44IDMzMC44IDMwNHoiXX0sT1p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvcmUtaG9sZSIsaWNvbjpbNTEyLDUxMixbXSwiZTRjMyIsIk0yNTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyMzIuNmMtMTkuMSAxMS4xLTMyIDMxLjctMzIgNTUuNCAwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0YzAtMjMuNy0xMi45LTQ0LjQtMzItNTUuNEwyODggMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTAgMzg0bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNzJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTQ0YzAgNjEuOS01MC4xIDExMi0xMTIgMTEyUzE0NCAzODEuOSAxNDQgMzIwbDAtMTQ0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC00OCAwYy0yNi41IDAtNDggMjEuNS00OCA0OEwwIDM4NHoiXX0sRlp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpcnVzLWNvdmlkIixpY29uOls1MTIsNTEyLFtdLCJlNGE4IiwiTTE5MiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwIDAgMzMuNmMzMC43IDQuMiA1OC44IDE2LjMgODIuMyAzNC4xTDM4Ni4xIDkyIDM3NC44IDgwLjZjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw1Ni42IDU2LjZjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMTEuMy0xMS4zLTIzLjggMjMuOGMxNy45IDIzLjUgMjkuOSA1MS43IDM0LjEgODIuM2wzMy42IDAgMC0xNmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xNi0zMy42IDBjLTQuMiAzMC43LTE2LjMgNTguOC0zNC4xIDgyLjNsMjMuOCAyMy44IDExLjMtMTEuM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTU2LjYgNTYuNmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwxMS4zLTExLjMtMjMuOC0yMy44Yy0yMy41IDE3LjktNTEuNyAyOS45LTgyLjMgMzQuMWwwIDMzLjYgMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNiAwIDAtMzMuNmMtMzAuNy00LjItNTguOC0xNi4zLTgyLjMtMzQuMWwtMjMuOCAyMy44IDExLjMgMTEuM2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDQ2LjcgNDA4LjdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwxMS4zIDExLjMgMjMuOC0yMy44Qzk3LjkgMzM4LjggODUuOCAzMTAuNyA4MS42IDI4MGwtMzMuNiAwIDAgMTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRTMCAzMDkuMyAwIDI5NmwwLTgwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxNiAzMy42IDBjNC4yLTMwLjcgMTYuMy01OC44IDM0LjEtODIuM0w5MiAxMjUuOSA4MC42IDEzNy4yYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDU2LjYtNTYuNmM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMMTI1LjkgOTIgMTQ5LjcgMTE1LjdjMjMuNS0xNy45IDUxLjctMjkuOSA4Mi4zLTM0LjFsMC0zMy42LTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0zMiAyMDBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptOTYgOTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxCWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1wZGYiLGljb246WzU3Niw1MTIsW10sImYxYzEiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGw4MCAwIDAtMTEyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDE3NiAwIDAtMTY1LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkwLjcgMTguN0MyNzguNyA2LjcgMjYyLjUgMCAyNDUuNSAwTDk2IDB6TTM1Ny41IDE3NkwyNjQgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyNDAgNTguNSAzNTcuNSAxNzZ6TTI0MCAzODBjLTExIDAtMjAgOS0yMCAyMGwwIDEyOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTI4IDEyIDBjMzMuMSAwIDYwLTI2LjkgNjAtNjBzLTI2LjktNjAtNjAtNjBsLTMyIDB6bTMyIDgwbC0xMiAwIDAtNDAgMTIgMGMxMSAwIDIwIDkgMjAgMjBzLTkgMjAtMjAgMjB6bTk2LTgwYy0xMSAwLTIwIDktMjAgMjBsMCAxMjhjMCAxMSA5IDIwIDIwIDIwbDMyIDBjMjguNyAwIDUyLTIzLjMgNTItNTJsMC02NGMwLTI4LjctMjMuMy01Mi01Mi01MmwtMzIgMHptMjAgMTI4bDAtODggMTIgMGM2LjYgMCAxMiA1LjQgMTIgMTJsMCA2NGMwIDYuNi01LjQgMTItMTIgMTJsLTEyIDB6bTg4LTEwOGwwIDEyOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTQ0IDI4IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC0yOCAwIDAtMjQgMjggMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTQ4IDBjLTExIDAtMjAgOS0yMCAyMHoiXX0sSFp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imxhbmd1YWdlIixpY29uOls1NzYsNTEyLFtdLCJmMWFiIiwiTTE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTkuNiAwLTguNCAyMy4xYy0xNi40IDQ1LjItNDEuMSA4Ni41LTcyLjIgMTIyIDE0LjIgOC44IDI5IDE2LjYgNDQuNCAyMy41bDUwLjQgMjIuNCA2Mi4yLTE0MGM1LjEtMTEuNiAxNi42LTE5IDI5LjItMTlzMjQuMSA3LjQgMjkuMiAxOWwxMjggMjg4YzcuMiAxNi4yLS4xIDM1LjEtMTYuMiA0Mi4ycy0zNS4xLS4xLTQyLjItMTYuMmwtMjAtNDUtMTU3LjUgMC0yMCA0NWMtNy4yIDE2LjItMjYuMSAyMy40LTQyLjIgMTYuMnMtMjMuNC0yNi4xLTE2LjItNDIuMmwzOS44LTg5LjUtNTAuNC0yMi40Yy0yMy0xMC4yLTQ1LTIyLjQtNjUuOC0zNi40LTIxLjMgMTcuMi00NC42IDMyLjItNjkuNSA0NC43TDc4LjMgMzgwLjZjLTE1LjggNy45LTM1IDEuNS00Mi45LTE0LjNzLTEuNS0zNSAxNC4zLTQyLjlsMzQuNS0xNy4zYzE2LjMtOC4yIDMxLjgtMTcuNyA0Ni40LTI4LjMtMTMuOC0xMi43LTI2LjgtMjYuNC0zOC45LTQwLjlMODEuNiAyMjQuN2MtMTEuMy0xMy42LTkuNS0zMy44IDQuMS00NS4xczMzLjgtOS41IDQ1LjEgNC4xbDEwLjIgMTIuMmMxMS41IDEzLjkgMjQuMSAyNi44IDM3LjQgMzguNyAyNy41LTMwLjQgNDkuMi02Ni4xIDYzLjUtMTA1LjRsLjUtMS4yLTIxMC4zIDBDMTQuMyAxMjggMCAxMTMuNyAwIDk2UzE0LjMgNjQgMzIgNjRsOTYgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek00MTYgMjcwLjhMMzY1LjcgMzg0IDQ2Ni4zIDM4NCA0MTYgMjcwLjh6Il19LGo3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGllbGQtaGFsdmVkIixpY29uOls1MTIsNTEyLFsic2hpZWxkLWFsdCJdLCJmM2VkIiwiTTI1NiAwYzQuNiAwIDkuMiAxIDEzLjQgMi45TDQ1Ny44IDgyLjhjMjIgOS4zIDM4LjQgMzEgMzguMyA1Ny4yLS41IDk5LjItNDEuMyAyODAuNy0yMTMuNiAzNjMuMi0xNi43IDgtMzYuMSA4LTUyLjggMC0xNzIuNC04Mi41LTIxMy4xLTI2NC0yMTMuNi0zNjMuMi0uMS0yNi4yIDE2LjMtNDcuOSAzOC4zLTU3LjJMMjQyLjcgMi45QzI0Ni45IDEgMjUxLjQgMCAyNTYgMHptMCA2Ni44bDAgMzc4LjFjMTM4LTY2LjggMTc1LjEtMjE0LjggMTc2LTMwMy40bC0xNzYtNzQuNiAwIDB6Il19LHFadD1qN2UsVlp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcmV0LXVwIixpY29uOlszMjAsNTEyLFtdLCJmMGQ4IiwiTTE0MC4zIDEzNS4yYzEyLjYtMTAuMyAzMS4xLTkuNSA0Mi44IDIuMmwxMjggMTI4YzkuMiA5LjIgMTEuOSAyMi45IDYuOSAzNC45UzMwMS40IDMyMCAyODguNSAzMjBsLTI1NiAwYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44Uy43IDI3NC41IDkuOSAyNjUuNGwxMjgtMTI4IDIuNC0yLjJ6Il19LFU3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXBlbiIsaWNvbjpbNjQwLDUxMixbMTI4MjIxLCJmaWxlLWVkaXQiXSwiZjMxYyIsIk0xMjguMSAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNDYuMiAwIDEwLjktNTQuNWM0LjMtMjEuNyAxNS00MS42IDMwLjYtNTcuMmwxMzIuMi0xMzIuMiAwLTk3LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMzIyLjggMTguN0MzMTAuOCA2LjcgMjk0LjUgMCAyNzcuNiAwTDEyOC4xIDB6TTM4OS42IDE3NmwtOTMuNSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTkzLjUgMTE3LjUgMTE3LjV6TTMzMi4zIDQ2Ni45bC0xMS45IDU5LjZjLS4yIC45LS4zIDEuOS0uMyAyLjkgMCA4IDYuNSAxNC42IDE0LjYgMTQuNiAxIDAgMS45LS4xIDIuOS0uM2w1OS42LTExLjljMTIuNC0yLjUgMjMuOC04LjYgMzIuNy0xNy41bDExOC45LTExOC45LTgwLTgwLTExOC45IDExOC45Yy04LjkgOC45LTE1IDIwLjMtMTcuNSAzMi43em0yNjcuOC0xMjNjMjIuMS0yMi4xIDIyLjEtNTcuOSAwLTgwcy01Ny45LTIyLjEtODAgMGwtMjguOCAyOC44IDgwIDgwIDI4LjgtMjguOHoiXX0salp0PVU3ZSxXN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWJpa2luZyIsaWNvbjpbNTc2LDUxMixbMTI4NjkyLCJiaWtpbmciXSwiZjg0YSIsIk0zNjggOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0yNy4yIDY0bC02MS44LTQ4LjhjLTE3LjMtMTMuNi00MS43LTEzLjgtNTkuMS0uM2wtODMuMSA2NC4yYy0zMC43IDIzLjgtMjguNSA3MC44IDQuMyA5MS42TDI1NiAzMDUuMSAyNTYgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjhjMC0xMC43LTUuMy0yMC43LTE0LjItMjYuNkwyNjMgMjMyLjkgMzIzLjMgMTg0LjQgMzY0IDIxN2M1LjcgNC41IDEyLjcgNyAyMCA3bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTUyLjggMHpNMTEyIDUxMmExMTIgMTEyIDAgMSAwIDAtMjI0IDExMiAxMTIgMCAxIDAgMCAyMjR6bTM1MiAwYTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHoiXX0sVVp0PVc3ZSxHN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vay1vcGVuLXJlYWRlciIsaWNvbjpbNTEyLDUxMixbImJvb2stcmVhZGVyIl0sImY1ZGEiLCJNMjU2IDE1MmE4OCA4OCAwIDEgMCAwLTE3NiA4OCA4OCAwIDEgMCAwIDE3NnptMCAyOTguN2wwLTE0OS4zYzE2LjMtNi44IDMyLjktMTMuNyA0OS43LTIwLjcgMzktMTYuMiA4MC44LTI0LjYgMTIzLjEtMjQuNmwxOS4yIDAgMCAxNjAtMTkuMiAwYy01OS4xIDAtMTE3LjcgMTEuNy0xNzIuMyAzNC41bC0uNSAuMnpNMjU2IDIzMmwtMjUuMS0xMC41QzE4NC4xIDIwMiAxMzMuOSAxOTIgODMuMiAxOTJMNDggMTkyYy0yNi41IDAtNDggMjEuNS00OCA0OEwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzNS4yIDBjNTAuNyAwIDEwMC45IDEwIDE0Ny43IDI5LjVsMTIuOCA1LjNjNy45IDMuMyAxNi43IDMuMyAyNC42IDBsMTIuOC01LjNjNDYuOC0xOS41IDk3LTI5LjUgMTQ3LjctMjkuNWwzNS4yIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xOTJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTM1LjIgMGMtNTAuNyAwLTEwMC45IDEwLTE0Ny43IDI5LjVMMjU2IDIzMnoiXX0sV1p0PUc3ZSxHWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2xhc3Mtd2F0ZXItZHJvcGxldCIsaWNvbjpbMzg0LDUxMixbXSwiZTRmNSIsIk0zMiAwQzIzLjEgMCAxNC42IDMuNyA4LjYgMTAuMlMtLjYgMjUuNCAuMSAzNC4zTDI4LjkgNDM3LjdjMyA0MS45IDM3LjggNzQuMyA3OS44IDc0LjNsMTY2LjYgMGM0MiAwIDc2LjgtMzIuNCA3OS44LTc0LjNMMzgzLjkgMzQuM2MuNi04LjktMi40LTE3LjYtOC41LTI0LjFTMzYwLjkgMCAzNTIgMEwzMiAwek04MyAyOTcuNUw2Ni40IDY0IDMxNy42IDY0IDMwMSAyOTcuNSAyODggMzA0Yy0yMC4xIDEwLjEtNDMuOSAxMC4xLTY0IDBzLTQzLjktMTAuMS02NCAwLTQzLjkgMTAuMS02NCAwbC0xMy02LjV6TTI1NiAxOTZjMC0yNC0zMy43LTcwLjEtNTIuMi05My41LTYuMS03LjctMTcuNS03LjctMjMuNiAwLTE4LjUgMjMuNC01Mi4yIDY5LjUtNTIuMiA5My41IDAgMzMuMSAyOC43IDYwIDY0IDYwczY0LTI2LjkgNjQtNjB6Il19LFk3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b3dlci1icm9hZGNhc3QiLGljb246WzU3Niw1MTIsWyJicm9hZGNhc3QtdG93ZXIiXSwiZjUxOSIsIk04Ny45IDExLjVjLTExLjMtNi45LTI2LjEtMy4yLTMzIDguMS0yNC44IDQxLTM5IDg5LjEtMzkgMTQwLjRzMTQuMiA5OS40IDM5IDE0MC40YzYuOSAxMS4zIDIxLjYgMTUgMzMgOC4xczE1LTIxLjYgOC4xLTMzQzc1LjcgMjQxLjkgNjQgMjAyLjMgNjQgMTYwUzc1LjcgNzguMSA5Ni4xIDQ0LjRjNi45LTExLjMgMy4yLTI2LjEtOC4xLTMzem00MDAuMSAwYy0xMS4zIDYuOS0xNSAyMS42LTguMSAzMyAyMC40IDMzLjcgMzIuMSA3My4zIDMyLjEgMTE1LjZzLTExLjcgODEuOS0zMi4xIDExNS42Yy02LjkgMTEuMy0zLjIgMjYuMSA4LjEgMzNzMjYuMSAzLjIgMzMtOC4xYzI0LjgtNDEgMzktODkuMSAzOS0xNDAuNFM1NDUuOCA2MC42IDUyMSAxOS42Yy02LjktMTEuMy0yMS42LTE1LTMzLTguMXpNMzIwIDIxNS40YzE5LjEtMTEuMSAzMi0zMS43IDMyLTU1LjQgMC0zNS4zLTI4LjctNjQtNjQtNjRzLTY0IDI4LjctNjQgNjRjMCAyMy43IDEyLjkgNDQuNCAzMiA1NS40TDI1NiA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI2NC42ek0xODAuMiA5MWM3LjItMTEuMiAzLjktMjYtNy4yLTMzLjJzLTI2LTMuOS0zMy4yIDcuMmMtMTcuNiAyNy40LTI3LjggNjAtMjcuOCA5NXMxMC4yIDY3LjYgMjcuOCA5NWM3LjIgMTEuMiAyMiAxNC40IDMzLjIgNy4yczE0LjQtMjIgNy4yLTMzLjJjLTEyLjgtMTkuOS0yMC4yLTQzLjYtMjAuMi02OXM3LjQtNDkuMSAyMC4yLTY5ek00MzYuMiA2NWMtNy4yLTExLjItMjItMTQuNC0zMy4yLTcuMnMtMTQuNCAyMi03LjIgMzMuMmMxMi44IDE5LjkgMjAuMiA0My42IDIwLjIgNjlzLTcuNCA0OS4xLTIwLjIgNjljLTcuMiAxMS4yLTMuOSAyNiA3LjIgMzMuMnMyNiAzLjkgMzMuMi03LjJjMTcuNi0yNy40IDI3LjgtNjAgMjcuOC05NXMtMTAuMi02Ny42LTI3LjgtOTV6Il19LFladD1ZN2UsSzdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pbmltaXplIixpY29uOls1MTIsNTEyLFsiY29tcHJlc3MtYXJyb3dzLWFsdCJdLCJmNzhjIiwiTTQ1NiAyMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTE0NGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJTMzIyLjEgMzIuMiAzMjkgMzlsNDAgNDAgNzMuNC03My40QzQ0NiAyIDQ1MC45IDAgNDU2IDBzMTAgMiAxMy43IDUuN2wzNi43IDM2LjdDNTEwIDQ2IDUxMiA1MC45IDUxMiA1NnMtMiAxMC01LjcgMTMuN0w0MzMgMTQzIDQ3MyAxODNjNi45IDYuOSA4LjkgMTcuMiA1LjIgMjYuMlM0NjUuNyAyMjQgNDU2IDIyNHptMCA2NGM5LjcgMCAxOC41IDUuOCAyMi4yIDE0LjhzMS43IDE5LjMtNS4yIDI2LjJsLTQwIDQwIDczLjQgNzMuNGMzLjYgMy42IDUuNyA4LjUgNS43IDEzLjdzLTIgMTAtNS43IDEzLjdsLTM2LjcgMzYuN0M0NjYgNTEwIDQ2MS4xIDUxMiA0NTYgNTEycy0xMC0yLTEzLjctNS43TDM2OSA0MzMgMzI5IDQ3M2MtNi45IDYuOS0xNy4yIDguOS0yNi4yIDUuMlMyODggNDY1LjcgMjg4IDQ1NmwwLTE0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNDQgMHptLTI1NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTQ0YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTQwLTQwLTczLjQgNzMuNEM2NiA1MTAgNjEuMSA1MTIgNTYgNTEycy0xMC0yLTEzLjctNS43TDUuNyA0NjkuN0MyIDQ2NiAwIDQ2MS4xIDAgNDU2czItMTAgNS43LTEzLjdMNzkgMzY5IDM5IDMyOWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMlM0Ni4zIDI4OCA1NiAyODhsMTQ0IDB6TTU2IDIyNGMtOS43IDAtMTguNS01LjgtMjIuMi0xNC44UzMyLjIgMTg5LjkgMzkgMTgzTDc5IDE0MyA1LjcgNjkuN0MyIDY2IDAgNjEuMSAwIDU2UzIgNDYgNS43IDQyLjNMNDIuMyA1LjdDNDYgMiA1MC45IDAgNTYgMFM2NiAyIDY5LjcgNS43TDE0MyA3OSAxODMgMzljNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMlMyMjQgNDYuMyAyMjQgNTZsMCAxNDRjMCAxMy4zLTEwLjcgMjQtMjQgMjRMNTYgMjI0eiJdfSxLWnQ9SzdlLFpadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1yaWdodC10by1jaXR5IixpY29uOls2NDAsNTEyLFtdLCJlNGIzIiwiTTI4OCA0OGMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgODAgNDggMCAwLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA3MiAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjg4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yNTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC00MTZ6bTY0IDY0bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTM1MiAzMDRsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTc2LTgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTUxMiAzMzZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTUzIDE2N2w3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNzIgNzJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtMTAyLjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMDIuMSAwLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDB6Il19LFhadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYXB0b3AtbWVkaWNhbCIsaWNvbjpbNjQwLDUxMixbXSwiZjgxMiIsIk02NCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI0MC02NCAwIDAtMjQwLTM4NCAwIDAgMjQwLTY0IDAgMC0yNDB6TTAgNDAzLjJDMCAzOTIuNiA4LjYgMzg0IDE5LjIgMzg0bDYwMS42IDBjMTAuNiAwIDE5LjIgOC42IDE5LjIgMTkuMiAwIDQyLjQtMzQuNCA3Ni44LTc2LjggNzYuOEw3Ni44IDQ4MEMzNC40IDQ4MCAwIDQ0NS42IDAgNDAzLjJ6TTI4OCAxNjBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LFFadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmVhZC1zbGljZSIsaWNvbjpbNTEyLDUxMixbXSwiZjdlYyIsIk02NCA0MzJsMC0xNzZjLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMjE2LjUgNTEyLTIxNi41IDUxMiAwIDAgMzUuMy0yOC43IDY0LTY0IDY0bDAgMTc2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yODggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6Il19LEpadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnbG9iZSIsaWNvbjpbNTEyLDUxMixbMTI3NzYwXSwiZjBhYyIsIk0zNTEuOSAyODBsLTE5MC45IDBjMi45IDY0LjUgMTcuMiAxMjMuOSAzNy41IDE2Ny40IDExLjQgMjQuNSAyMy43IDQxLjggMzUuMSA1Mi40IDExLjIgMTAuNSAxOC45IDEyLjIgMjIuOSAxMi4yczExLjctMS43IDIyLjktMTIuMmMxMS40LTEwLjYgMjMuNy0yOCAzNS4xLTUyLjQgMjAuMy00My41IDM0LjYtMTAyLjkgMzcuNS0xNjcuNHpNMTYwLjkgMjMybDE5MC45IDBDMzQ5IDE2Ny41IDMzNC43IDEwOC4xIDMxNC40IDY0LjYgMzAzIDQwLjIgMjkwLjcgMjIuOCAyNzkuMyAxMi4yIDI2OC4xIDEuNyAyNjAuNCAwIDI1Ni40IDBzLTExLjcgMS43LTIyLjkgMTIuMmMtMTEuNCAxMC42LTIzLjcgMjgtMzUuMSA1Mi40LTIwLjMgNDMuNS0zNC42IDEwMi45LTM3LjUgMTY3LjR6bS00OCAwQzExNi40IDE0Ni40IDEzOC41IDY2LjkgMTcwLjggMTQuNyA3OC43IDQ3LjMgMTAuOSAxMzEuMiAxLjUgMjMybDExMS40IDB6TTEuNSAyODBjOS40IDEwMC44IDc3LjIgMTg0LjcgMTY5LjMgMjE3LjMtMzIuMy01Mi4yLTU0LjQtMTMxLjctNTcuOS0yMTcuM0wxLjUgMjgwem0zOTguNCAwYy0zLjUgODUuNi0yNS42IDE2NS4xLTU3LjkgMjE3LjMgOTIuMS0zMi43IDE1OS45LTExNi41IDE2OS4zLTIxNy4zbC0xMTEuNCAwem0xMTEuNC00OEM1MDEuOSAxMzEuMiA0MzQuMSA0Ny4zIDM0MiAxNC43IDM3NC4zIDY2LjkgMzk2LjQgMTQ2LjQgMzk5LjkgMjMybDExMS40IDB6Il19LGVYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb2xkZXItbWludXMiLGljb246WzUxMiw1MTIsW10sImY2NWQiLCJNNDQ4IDQ0OEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMTM4LjcgMGMxMy44IDAgMjcuMyA0LjUgMzguNCAxMi44bDM4LjQgMjguOGM1LjUgNC4yIDEyLjMgNi40IDE5LjIgNi40TDQ0OCA4MGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI0MGMwIDM1LjMtMjguNyA2NC02NCA2NHpNMTg0IDI0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LHRYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXNrLWZhY2UiLGljb246WzY0MCw1MTIsW10sImUxZDciLCJNMzIwIDY0Yy0yNy4yIDAtNTMuOCA4LTc2LjQgMjMuMWwtMzcuMSAyNC44Yy0xNS44IDEwLjUtMzQuMyAxNi4xLTUzLjMgMTYuMUw2NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNzguN2MwIDYyLjYgNDUuMiAxMTYgMTA3IDEyNi4zbDk3LjkgMTYuM2MzMyAyMiA3Mi42IDM0LjcgMTE1LjEgMzQuN3M4Mi4yLTEyLjggMTE1LjEtMzQuN0w1MzMgMzk2LjljNjEuNy0xMC4zIDEwNy02My43IDEwNy0xMjYuM2wwLTc4LjdjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTg5LjIgMGMtMTkgMC0zNy41LTUuNi01My4zLTE2LjFMMzk2LjQgODcuMUMzNzMuOCA3MiAzNDcuMiA2NCAzMjAgNjR6TTEzNS45IDMzNi45bC0xOC40LTMuMUM4Ni42IDMyOC43IDY0IDMwMiA2NCAyNzAuN2wwLTc4LjcgNDggMCAwIDQ4YzAgMzUgOC42IDY3LjkgMjMuOSA5Ni45em0zODYuNi0zLjFsLTE4LjQgMy4xQzUxOS40IDMwNy45IDUyOCAyNzUgNTI4IDI0MGwwLTQ4IDQ4IDAgMCA3OC43YzAgMzEuMy0yMi42IDU4LTUzLjUgNjMuMXpNMTkyIDIzMmMwLTEzLjMgMTAuNy0yNCAyNC0yNGwyMDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjA4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em01NiA1NmwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LGFYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib25nIixpY29uOls1MTIsNTEyLFtdLCJmNTVjIiwiTTQ0OC41IDM4NGMwIDQxLjUtMTMuMSA3OS45LTM1LjUgMTExLjMtNy45IDExLjEtMjEuMiAxNi43LTM0LjggMTYuN2wtMjQzLjMgMGMtMTMuNyAwLTI2LjktNS42LTM0LjgtMTYuNy0yMi40LTMxLjQtMzUuNS02OS44LTM1LjUtMTExLjMgMC03MS4xIDM4LjYtMTMzLjEgOTYtMTY2LjNsMC0xNTMuN2MtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDE1My43YzE0LjIgOC4yIDI3LjIgMTguMiAzOC44IDI5LjZsMzkuMy0zOS4zLTctN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzE2IDE2IDMyIDMyIDQ4IDQ4IDkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTctNy00My4zIDQzLjNjMTcuMyAyOC45IDI3LjMgNjIuNiAyNy4zIDk4Ljh6TTI4OC41IDY0bC02NCAwIDAgMTkwLjYtMzIgMTguNWMtMTkuNSAxMS4zLTM1LjcgMjcuNS00Ni45IDQ2LjlsMjIxLjggMGMtMTEuMi0xOS40LTI3LjQtMzUuNi00Ni45LTQ2LjlsLTMyLTE4LjUgMC0xOTAuNnoiXX0sclh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvYWQtYnJpZGdlIixpY29uOls1NzYsNTEyLFtdLCJlNTYzIiwiTTMyIDMybDIwOCAwIDAgNjQtMjQgMCAwIDY0IDI0IDAgMCAxMjkuM2MtNDUuNCA3LjYtODAgNDcuMS04MCA5NC43bDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTRjMC0zOC44LTI2LjQtNzIuNi02NC04MmwwLTExMiA0MCAwIDAtNjQtOCAwQzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMnpNODggOTZsMCA2NCA4MCAwIDAtNjQtODAgMHpNMzM2IDMybDcyIDAgMCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzIgNzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtNzIgMCAwLTcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNzItNzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0zNTJjMC0yNi41IDIxLjUtNDggNDgtNDh6bTk2IDE2MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtODBjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LFo3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC05LTEiLGljb246WzUxMiw1MTIsWyJzb3J0LW51bWVyaWMtdXAtYWx0Il0sImY4ODciLCJNMTUwLjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDk2IDE0MS4zIDk2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA2LjcgNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2ek0zNjUuMSAyMDYuNmMtOS42IDE0LjgtNS40IDM0LjYgOS40IDQ0LjNzMzQuNiA1LjQgNDQuMy05LjRsNDIuMS02NC45YzEyLjQtMTkuMiAxOS4xLTQxLjYgMTkuMS02NC41IDAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwYzAgMzYuMSAyMy45IDY2LjcgNTYuOCA3Ni42bC0xMS43IDE4ek0zNzYgMTEyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTQyLjcgMTgyYy04LjMtNi0xOS4xLTcuNy0yOC44LTQuNGwtNDggMTZjLTE2LjggNS42LTI1LjggMjMuNy0yMC4yIDQwLjVzMjMuNyAyNS44IDQwLjUgMjAuMmw1LjktMiAwIDUxLjYtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtOTZjMC0xMC4zLTQuOS0xOS45LTEzLjMtMjZ6Il19LHNYdD1aN2UsaVh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vdW50YWluLWNpdHkiLGljb246WzY0MCw1MTIsW10sImU1MmUiLCJNMjU2LjMgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4IDQ4IDAgMC03MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNzIgMTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDMyMGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtNzcuOCAwYzQtMTUuNCAyLjQtMzIuNi02LjctNDguMkwzNTQuNiAyNTYgMzY4LjMgMjU2YzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtNi4xIDAtMTEuNCAzLjQtMTQuMSA4LjVsLTQyLjYtNzNjLTYtMTAuMi0xNC4xLTE4LTIzLjMtMjMuM2wwLTU2LjJ6bTY0IDY0bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2MCA5NmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNiA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0tMjcyLTY0LjdsLTY1LjEgMTExLjYgMzMuMSAzMy4xIDQ4LTQ4IDQwLjQgMC01Ni40LTk2Ljd6bS0yNy42LTQ3LjljMTIuMy0yMS4yIDQyLjktMjEuMiA1NS4zIDBMNDIwLjMgNDYzLjljMTIuNCAyMS4zLTIuOSA0OC4xLTI3LjYgNDguMUw1NiA1MTJjLTI0LjcgMC00MC4xLTI2LjgtMjcuNi00OC4xTDE5Ni43IDE3NS40eiJdfSxkdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93bi05LTEiLGljb246WzUxMiw1MTIsWyJzb3J0LW51bWVyaWMtZGVzYyIsInNvcnQtbnVtZXJpYy1kb3duLWFsdCJdLCJmODg2IiwiTTIzMC42IDM5MC42bC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTgwLTgwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDk2IDM3MC43IDk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMDYuNyAyNS40LTI1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3ptMTM0LjUtMTg0bDExLjctMThjLTMyLjktOS45LTU2LjgtNDAuNS01Ni44LTc2LjYgMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDIyLjktNi42IDQ1LjMtMTkuMSA2NC41bC00Mi4xIDY0LjljLTkuNiAxNC44LTI5LjQgMTkuMS00NC4zIDkuNHMtMTkuMS0yOS40LTkuNC00NC4zek00MjQgMTEyYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bS01LjMgMTgyYzguMyA2IDEzLjMgMTUuNyAxMy4zIDI2bDAgOTYgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwIDAtNTEuNi01LjkgMmMtMTYuOCA1LjYtMzQuOS0zLjUtNDAuNS0yMC4yczMuNS0zNC45IDIwLjItNDAuNWw0OC0xNmM5LjgtMy4zIDIwLjUtMS42IDI4LjggNC40eiJdfSxvWHQ9ZHRlLG5YdD1kdGUsWDdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi13aWRlIixpY29uOls1MTIsNTEyLFsxMjg1MTUsImdyaW4tYWx0Il0sImY1ODEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4Ni43IDMwOC45YzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS0yMi40IDYxLjMtODEuMyAxMDUuMS0xNTAuMyAxMDUuMVMxMjguMSAzODguMiAxMDUuNyAzMjYuOWMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xek0yMDggMTkyYzAgMzUuMy0xNC4zIDY0LTMyIDY0cy0zMi0yOC43LTMyLTY0IDE0LjMtNjQgMzItNjQgMzIgMjguNyAzMiA2NHptMTI4IDY0Yy0xNy43IDAtMzItMjguNy0zMi02NHMxNC4zLTY0IDMyLTY0IDMyIDI4LjcgMzIgNjQtMTQuMyA2NC0zMiA2NHoiXX0sbFh0PVg3ZSxjWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicG9vcCIsaWNvbjpbNTEyLDUxMixbXSwiZjYxOSIsIk0yNTQuNCA2LjZjMy41LTQuMyA5LTYuNSAxNC41LTUuNyA0Ni45IDYuMyA4My4xIDQ2LjUgODMuMSA5NS4xIDAgMTEuMi0xLjkgMjItNS41IDMybDUuNSAwYzM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMTkuMS04LjQgMzYuMy0yMS43IDQ4bDEzLjcgMGMzOS44IDAgNzIgMzIuMiA3MiA3MiAwIDIzLjItMTEgNDMuOC0yOCA1NyAzNC4xIDUuNyA2MCAzNS4zIDYwIDcxIDAgMzkuOC0zMi4yIDcyLTcyIDcyTDcyIDUxMmMtMzkuOCAwLTcyLTMyLjItNzItNzIgMC0zNS43IDI1LjktNjUuMyA2MC03MS0xNy0xMy4yLTI4LTMzLjgtMjgtNTcgMC0zOS44IDMyLjItNzIgNzItNzJsMTMuNyAwYy0xMy4zLTExLjctMjEuNy0yOC45LTIxLjctNDggMC0zNS4zIDI4LjctNjQgNjQtNjRsMTYuMiAwYzQ0LjEtLjEgNzkuOC0zNS45IDc5LjgtODAgMC05LjItMS41LTE3LjktNC4zLTI2LjEtMS44LTUuMi0uOC0xMS4xIDIuOC0xNS40eiJdfSxkWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGhhcm1hY2hha3JhIixpY29uOls1MTIsNTEyLFs5Nzg0XSwiZjY1NSIsIk0zMzcuOCAyMDUuN2w0OC42LTQyLjVjMTMuOCAxOS4zIDIzLjQgNDEuOSAyNy40IDY2LjJsLTY0LjQgNC4zYy0yLjQtMTAuMS02LjQtMTkuNS0xMS42LTI4em0xNDAuMSAxOS41Yy01LjMtMzguOC0yMC42LTc0LjUtNDMuMi0xMDQuM2wuOC0uN0M0NDkgMTA4LjQgNDQ5LjcgODcuNiA0MzcgNzVzLTMzLjQtMTItNDUuMiAxLjVsLS43IC44Yy0yOS44LTIyLjYtNjUuNS0zNy45LTEwNC4zLTQzLjJsLjEtMS4xYzEuMi0xNy45LTEzLTMzLTMwLjktMzNzLTMyLjEgMTUuMi0zMC45IDMzbC4xIDEuMWMtMzguOCA1LjMtNzQuNSAyMC42LTEwNC4zIDQzLjJsLS43LS44QzEwOC40IDYzIDg3LjYgNjIuMyA3NSA3NXMtMTIgMzMuNCAxLjUgNDUuMmwuOCAuN2MtMjIuNiAyOS44LTM3LjkgNjUuNS00My4yIDEwNC4zbC0xLjEtLjFjLTE3LjktMS4yLTMzIDEzLTMzIDMwLjlzMTUuMiAzMi4xIDMzIDMwLjlsMS4xLS4xYzUuMyAzOC44IDIwLjYgNzQuNSA0My4yIDEwNC4zbC0uOCAuN0M2MyA0MDMuNiA2Mi4zIDQyNC40IDc1IDQzN3MzMy40IDEyIDQ1LjItMS41bC43LS44YzI5LjggMjIuNiA2NS41IDM3LjkgMTA0LjMgNDMuMmwtLjEgMS4xYy0xLjIgMTcuOSAxMyAzMyAzMC45IDMzczMyLjEtMTUuMiAzMC45LTMzbC0uMS0xLjFjMzguOC01LjMgNzQuNS0yMC42IDEwNC4zLTQzLjJsLjcgLjhjMTEuOCAxMy41IDMyLjUgMTQuMiA0NS4yIDEuNXMxMi0zMy40LTEuNS00NS4ybC0uOC0uN2MyMi42LTI5LjggMzcuOS02NS41IDQzLjItMTA0LjNsMS4xIC4xYzE3LjkgMS4yIDMzLTEzIDMzLTMwLjlzLTE1LjItMzIuMS0zMy0zMC45bC0xLjEgLjF6TTE2My4yIDEyNS42YzE5LjMtMTMuOCA0MS45LTIzLjQgNjYuMi0yNy41bDQuMyA2NC40Yy0xMCAyLjQtMTkuNSA2LjQtMjggMTEuNmwtNDIuNS00OC42em0tNjUgMTAzLjhjNC4xLTI0LjQgMTMuNy00Ni45IDI3LjUtNjYuMmw0OC42IDQyLjVjLTUuMyA4LjUtOS4yIDE4LTExLjYgMjhsLTY0LjQtNC4zem0yNy41IDExOS40Yy0xMy44LTE5LjMtMjMuNC00MS45LTI3LjUtNjYuMmw2NC40LTQuM2MyLjQgMTAuMSA2LjQgMTkuNSAxMS42IDI4bC00OC42IDQyLjV6bTEwMy44IDY1Yy0yNC40LTQuMS00Ni45LTEzLjctNjYuMi0yNy40bDQyLjUtNDguNmM4LjUgNS4zIDE4IDkuMiAyOCAxMS42bC00LjMgNjQuNHptMTE5LjQtMjcuNGMtMTkuMyAxMy44LTQxLjkgMjMuNC02Ni4yIDI3LjRsLTQuMy02NC40YzEwLTIuNCAxOS41LTYuNCAyOC0xMS42bDQyLjUgNDguNnptNjUtMTAzLjhjLTQuMSAyNC40LTEzLjcgNDYuOS0yNy40IDY2LjJsLTQ4LjYtNDIuNWM1LjMtOC42IDkuMi0xOCAxMS42LTI4bDY0LjQgNC4zem0tNjUtMTU2LjlsLTQyLjUgNDguNmMtOC42LTUuMy0xOC05LjItMjgtMTEuNmw0LjMtNjQuNGMyNC40IDQuMSA0Ni45IDEzLjcgNjYuMiAyNy41ek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sUTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhdHRlcnktcXVhcnRlciIsaWNvbjpbNjQwLDUxMixbImJhdHRlcnktMiJdLCJmMjQzIiwiTTUyOCAxMjhjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjI0YzAgOC44LTcuMiAxNi0xNiAxNmwtNDE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTIyNGMwLTguOCA3LjItMTYgMTYtMTZsNDE2IDB6TTExMiA2NGMtNDQuMiAwLTgwIDM1LjgtODAgODBsMCAyMjRjMCA0NC4yIDM1LjggODAgODAgODBsNDE2IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC00OGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtNDhjMC00NC4yLTM1LjgtODAtODAtODBMMTEyIDY0em01NiAxMTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTY0IDB6Il19LHVYdD1RN2UscFh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFua2giLGljb246WzMyMCw1MTIsWzk3NjVdLCJmNjQ0IiwiTTk2IDEyOGMwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0YzAgNDEuNi0yMC43IDc2LjYtNDYuNiAxMDQuMS01LjkgNi4yLTExLjggMTEuOC0xNy40IDE2LjctNS42LTQuOS0xMS41LTEwLjUtMTcuNC0xNi43LTI1LjktMjcuNS00Ni42LTYyLjYtNDYuNi0xMDQuMXpNMTYwIDBDODkuMyAwIDMyIDU3LjMgMzIgMTI4IDMyIDE4MC40IDUzLjUgMjIzLjUgNzguOCAyNTZMMzIgMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDAgMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MCA5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC00Ni44IDBDMjY2LjUgMjIzLjUgMjg4IDE4MC40IDI4OCAxMjggMjg4IDU3LjMgMjMwLjcgMCAxNjAgMHoiXX0sZlh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpYW1vbmQiLGljb246WzUxMiw1MTIsWzk4MzBdLCJmMjE5IiwiTTE3IDIxNUwyMTUgMTdDMjI1LjkgNi4xIDI0MC42IDAgMjU2IDBzMzAuMSA2LjEgNDEgMTdMNDk1IDIxNWMxMC45IDEwLjkgMTcgMjUuNiAxNyA0MXMtNi4xIDMwLjEtMTcgNDFMMjk3IDQ5NWMtMTAuOSAxMC45LTI1LjYgMTctNDEgMTdzLTMwLjEtNi4xLTQxLTE3TDE3IDI5N0M2LjEgMjg2LjEgMCAyNzEuNCAwIDI1NnM2LjEtMzAuMSAxNy00MXoiXX0saFh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN1YnNjcmlwdCIsaWNvbjpbNTc2LDUxMixbXSwiZjEyYyIsIk05NiA2NEM3OC4zIDY0IDY0IDc4LjMgNjQgOTZzMTQuMyAzMiAzMiAzMmwxNS4zIDAgODkuNiAxMjgtODkuNiAxMjgtMTUuMyAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDBjMTAuNCAwIDIwLjItNS4xIDI2LjItMTMuNkwyNDAgMzExLjggMzI1LjggNDM0LjRjNiA4LjYgMTUuOCAxMy42IDI2LjIgMTMuNmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNS4zIDAtODkuNi0xMjggODkuNi0xMjggMTUuMyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwYy0xMC40IDAtMjAuMiA1LjEtMjYuMiAxMy42TDI0MCAyMDAuMiAxNTQuMiA3Ny42QzE0OC4yIDY5LjEgMTM4LjQgNjQgMTI4IDY0TDk2IDY0ek01NDQgMzIwYzAtMTEuMS01LjctMjEuNC0xNS4yLTI3LjJzLTIxLjItNi40LTMxLjEtMS40bC0zMiAxNmMtMTUuOCA3LjktMjIuMiAyNy4xLTE0LjMgNDIuOSA1LjYgMTEuMiAxNi45IDE3LjcgMjguNiAxNy43bDAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTEyOHoiXX0sSjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJ1cGVlLXNpZ24iLGljb246WzQ0OCw1MTIsWzgzNjAsInJ1cGVlIl0sImYxNTYiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw4MCAwYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0IDAgNTQuMy0zMCAxMDEuNS03NC40IDEyNi4xbDQxIDEzNi43YzUuMSAxNi45LTQuNSAzNC44LTIxLjUgMzkuOHMtMzQuOC00LjUtMzkuOC0yMS41TDEyMC4xIDMxOS44Yy0yLjcgLjEtNS40IC4yLTguMSAuMmwtNDggMCAwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4TDAgNjR6TTY0IDI1Nmw0OCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwbC00OCAwIDAgMTYwem0yODUuMS0zMmwzNC45IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM0LjkgMGMtNy4yIDAtMTMuMSA1LjktMTMuMSAxMy4xIDAgNS43IDMuNyAxMC43IDkuMSAxMi41bDQ5LjQgMTUuOWMzMS45IDEwLjMgNTMuNSAzOS45IDUzLjUgNzMuNCAwIDQyLjYtMzQuNSA3Ny4xLTc3LjEgNzcuMUwzMjAgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDUwLjkgMGM3LjIgMCAxMy4xLTUuOSAxMy4xLTEzLjEgMC01LjctMy43LTEwLjctOS4xLTEyLjVsLTQ5LjQtMTUuOWMtMzEuOS0xMC4zLTUzLjUtMzkuOS01My41LTczLjQgMC00Mi42IDM0LjUtNzcuMSA3Ny4xLTc3LjF6Il19LG1YdD1KN2UsZ1h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1yaWZsZSIsaWNvbjpbNTEyLDUxMixbXSwiZTU0ZSIsIk00MTYgMEwzODQgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwwIDEwMC4zYy05LjYgNS41LTE2IDE1LjktMTYgMjcuN2wwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDE0NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwIDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2bDU5LjUgMGMxMC40IDAgMTgtOS44IDE1LjUtMTkuOWwtMjMtOTIuMSA0NCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtNDggMCAwLTI2LjcgNTMuMS0xNy43YzYuNS0yLjIgMTAuOS04LjMgMTAuOS0xNS4ybDAtODQuNWMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDU2LTE2IDUuMyAwLTEwOS4zYzAtMTEuOC02LjQtMjIuMi0xNi0yNy43TDQzMiAxNmMwLTguOC03LjItMTYtMTYtMTZ6TTIyNCAyMDhDMTE4IDIwOCAzMiAyOTQgMzIgNDAwbDAgNDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTQ4YzAtMzIuNSAxMi4xLTYyLjEgMzItODQuN2wwIDE5Ni43IDE2MCAwIDAtMjkzLjFjLTIwLTcuMS00MS42LTEwLjktNjQtMTAuOXpNMjgwIDg4YTcyIDcyIDAgMSAwIC0xNDQgMCA3MiA3MiAwIDEgMCAxNDQgMHoiXX0sYlh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImQiLGljb246WzM4NCw1MTIsWzEwMF0sIjQ0IiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMTI4IDBjMTIzLjcgMCAyMjQgMTAwLjMgMjI0IDIyNFMyODMuNyA0ODAgMTYwIDQ4MEwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgNjR6TTY0IDk2bDAgMzIwIDk2IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBTMjQ4LjQgOTYgMTYwIDk2TDY0IDk2eiJdfSx2WHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLW5maSIsaWNvbjpbNDQ4LDUxMixbXSwiZTU3NiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek05MyAxNzIuM2wzNSA2MyAwLTUxLjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE0NGMwIDEwLjktNy40IDIwLjUtMTggMjMuMnMtMjEuNy0yLTI3LTExLjZsLTM1LTYzIDAgNTEuNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE0NGMwLTEwLjkgNy40LTIwLjUgMTgtMjMuMnMyMS43IDIgMjcgMTEuNnpNMjA4IDE4NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC01NiAwIDAgMzIgNDAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDAgMCAwIDQwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTQ0em0xOTIgMGwwIDE0NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSx4WHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVldGgiLGljb246WzUxMiw1MTIsW10sImY2MmUiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTE0NCAyMDhsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6bTEyOCAwbDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTI0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4ek04MCAxNzZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTI0YzAtMTcuNy0xNC4zLTMyLTMyLTMyem0zMjAgMzJsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6TTQ4IDMzNmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNnptMTQ0IDQ4YzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC02NCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OHptMTI4IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4em0xMTItMTZjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyeiJdfSxlOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFnbmlmeWluZy1nbGFzcy1kb2xsYXIiLGljb246WzUxMiw1MTIsWyJzZWFyY2gtZG9sbGFyIl0sImY2ODgiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4ek0yMTIgOTZjLTExIDAtMjAgOS0yMCAyMGwwIDRjLTI4LjggLjMtNTIgMjMuNy01MiA1Mi41IDAgMjUuNyAxOC41IDQ3LjYgNDMuOSA1MS44bDQxLjcgN2M2IDEgMTAuNCA2LjIgMTAuNCAxMi4zIDAgNi45LTUuNiAxMi41LTEyLjUgMTIuNUwxNjggMjU2Yy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGwyNCAwIDAgNGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTQuN2MyNS00LjEgNDQtMjUuNyA0NC01MS44IDAtMjUuNy0xOC41LTQ3LjYtNDMuOS01MS44bC00MS43LTdjLTYtMS0xMC40LTYuMi0xMC40LTEyLjMgMC02LjkgNS42LTEyLjUgMTIuNS0xMi41bDQ3LjUgMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTggMCAwLTRjMC0xMS05LTIwLTIwLTIweiJdfSx5WHQ9ZTllLHdYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkdW1wc3Rlci1maXJlIixpY29uOls2NDAsNTEyLFtdLCJmNzk0IiwiTTE2NC4zIDY0TDEzOC43IDE5MiA1NiAxOTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNC4xYzAtMi42IC40LTUuMSAxLjItNy42TDU4LjUgODAuNEM2MS44IDcwLjYgNzEgNjQgODEuMyA2NGw4MyAwem0yMy40IDEyOGwyNS42LTEyOCA4Mi43IDAgMCAxMjgtMTA4LjMgMHpNMzQ0IDY0bDgyLjcgMCAxNiA4MGMtMTQuNyAuMi0yOS4zIDUuNS00MC45IDE1LjktMTEuNSAxMC4zLTIyLjUgMjEtMzIuOCAzMi4xbC0yNC45IDAgMC0xMjh6TTk2IDI0MGwyMzMuMiAwYy02LjQgOC44LTEyLjMgMTcuNi0xNy43IDI2LjMtMjEuNCAzNC43LTM5LjUgNzYuMS0zOS41IDExNS44IDAgMTcuMSAyLjEgMzMuOCA2IDQ5LjlsLTEyMC40IDAgMS45IDEwLjNjMy4yIDE3LjQtOC40IDM0LTI1LjggMzcuMnMtMzQtOC40LTM3LjItMjUuOEM3MSAzMTMuMyA1OCAyNDIuMSA1Ny43IDI0MEw5NiAyNDB6bTUxMi03MmMwIDExLTcuNCAyMC4zLTE3LjUgMjMuMS0uOS0uOC0xLjctMS42LTIuNi0yLjQtMjEuOC0yMC01NC4zLTIxLjgtNzgtNS41LTQuMi00LjMtOC41LTguNS0xMi45LTEyLjZsLTIxLjMtMTA2LjYgODMgMGMxMC4zIDAgMTkuNSA2LjYgMjIuOCAxNi40bDI1LjMgNzUuOWMuOCAyLjQgMS4yIDUgMS4yIDcuNmwwIDQuMXpNNTA1LjcgMjQwLjNMNTE4IDIyNi41YzUuNC02LjEgMTMuMy04LjggMjAuOS04LjkgNy4yIDAgMTQuMyAyLjYgMTkuOSA3LjggMTkuNyAxOC4zIDM5LjggNDMuMiA1NSA3MC42IDE1LjEgMjcuMiAyNi4yIDU4LjEgMjYuMiA4OC4xIDAgODguNy03MS4zIDE1OS44LTE2MCAxNTkuOC04OS42IDAtMTYwLTcxLjMtMTYwLTE1OS44IDAtMzcuMyAxNi03My40IDM2LjgtMTA0LjUgMjAuOS0zMS4zIDQ3LjUtNTkgNzAuOS04MC4yIDUuNy01LjIgMTMuMS03LjcgMjAuMy03LjVzMTMuNCAzLjIgMTguOCA3LjVjMTQuNCAxMS40IDM4LjkgNDAuNyAzOC45IDQwLjd6TTU0NCA0MzIuMmMwLTM2LjUtMzctNzMtNTQuOC04OC40LTUuNC00LjctMTMuMS00LjctMTguNSAwLTE3LjcgMTUuNC01NC44IDUxLjktNTQuOCA4OC40IDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6Il19LE1YdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1cGxvYWQiLGljb246WzQ0OCw1MTIsW10sImYwOTMiLCJNMjU2IDEwOS4zTDI1NiAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMTAuNy00MS40IDQxLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDk2LTk2YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDI1NiAxMDkuM3pNMjI0IDQwMGM0NC4yIDAgODAtMzUuOCA4MC04MGw4MCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDgwIDBjMCA0NC4yIDM1LjggODAgODAgODB6bTE0NCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LHV0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLXNsYXNoIixpY29uOls1NzYsNTEyLFs2MjcxNCwidXNlci1hbHQtc2xhc2giLCJ1c2VyLWxhcmdlLXNsYXNoIl0sImY1MDYiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUwzMTEuNSAyNDUuN2M1NS0xMC45IDk2LjUtNTkuNSA5Ni41LTExNy43IDAtNjYuMy01My43LTEyMC0xMjAtMTIwLTU4LjIgMC0xMDYuOCA0MS41LTExNy43IDk2LjVMNDEtMjQuOXpNMjM1LjYgMzA1LjRDMTQ3LjkgMzE2LjYgODAgMzkxLjUgODAgNDgyLjMgODAgNDk4LjcgOTMuMyA1MTIgMTA5LjcgNTEybDMzMi41IDAtMjA2LjYtMjA2LjZ6Il19LGtYdD11dGUsU1h0PXV0ZSx6WHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctbGVmdCIsaWNvbjpbNTEyLDUxMixbODU5Ml0sImYwNjAiLCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjMgMjg4IDQ4MCAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTM3MC43IDAgMTA1LjQtMTA1LjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6Il19LENYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aWFsLXZpcnVzIixpY29uOls1NzYsNTEyLFtdLCJlNTk3IiwiTTY0IDMyQzY0IDE0LjMgNzguMyAwIDk2IDBMMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxNTEuN2MtMTguNSAwLTM3IDctNTEuMSAyMS4xLTIxLjYgMjEuNi0yNi42IDUzLjYtMTUgNzkuOS0yNi45IDEwLjQtNDUuOSAzNi42LTQ1LjkgNjcuMXMxOSA1Ni43IDQ1LjkgNjcuMWMtNy4zIDE2LjUtOCAzNS4yLTIuMyA1Mi4yLTEzLjQgNS43LTI4LjIgOC44LTQzLjYgOC44LTYxLjkgMC0xMTItNTAuMS0xMTItMTEyTDk2IDY0Qzc4LjMgNjQgNjQgNDkuNyA2NCAzMnptOTYgMzJsMCAxMjggOTYgMCAwLTEyOC05NiAwek0yODAgNDA4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzI4LjggMCA0My4yLTM0LjggMjIuOS01NS4yLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGMyMC40IDIwLjQgNTUuMiA1LjkgNTUuMi0yMi45IDAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRjMCAyOC44IDM0LjggNDMuMiA1NS4yIDIyLjkgOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45Yy0yMC40IDIwLjQtNS45IDU1LjIgMjIuOSA1NS4yIDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yOC44IDAtNDMuMiAzNC44LTIyLjkgNTUuMiA5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwYy0yMC40LTIwLjQtNTUuMi01LjktNTUuMiAyMi45IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMjguOC0zNC44LTQzLjItNTUuMi0yMi45LTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjljMjAuNC0yMC40IDUuOS01NS4yLTIyLjktNTUuMnptMTA0LTMyYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptODggNDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sX1h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZWNrLWRvdWJsZSIsaWNvbjpbMzg0LDUxMixbXSwiZjU2MCIsIk0yNDkuOSA2Ni44YzEwLjQtMTQuMyA3LjItMzQuMy03LjEtNDQuN3MtMzQuMy03LjItNDQuNyA3LjFsLTEwNiAxNDUuNy0zNy41LTM3LjVjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzYuNiA2LjYgMTUuOCAxMCAyNS4xIDkuM3MxNy45LTUuNSAyMy40LTEzLjFsMTI4LTE3NnptMTI4IDEzNmMxMC40LTE0LjMgNy4yLTM0LjMtNy4xLTQ0LjdzLTM0LjMtNy4yLTQ0LjcgNy4xbC0xNzAgMjMzLjctNjkuNS02OS41Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmM2LjYgNi42IDE1LjggMTAgMjUuMSA5LjNzMTcuOS01LjUgMjMuNC0xMy4xbDE5Mi0yNjR6Il19LFRYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYXciLGljb246WzUxMiw1MTIsW10sImYxYjAiLCJNMjM0LjUgOTIuOWMxNC4zIDQyLjktLjMgODYuMi0zMi42IDk2LjhzLTcwLjEtMTUuNi04NC40LTU4LjUgLjMtODYuMiAzMi42LTk2LjggNzAuMSAxNS42IDg0LjQgNTguNXpNMTAwLjQgMTk4LjZjMTguOSAzMi40IDE0LjMgNzAuMS0xMC4yIDg0LjFzLTU5LjctLjktNzguNS0zMy4zLTE0LjMtNzAuMSAxMC4yLTg0LjEgNTkuNyAuOSA3OC41IDMzLjN6TTY5LjIgNDAxLjJDMTIxLjYgMjU5LjkgMjE0LjcgMjI0IDI1NiAyMjRzMTM0LjQgMzUuOSAxODYuOCAxNzcuMmMzLjYgOS43IDUuMiAyMC4xIDUuMiAzMC41bDAgMS42YzAgMjUuOC0yMC45IDQ2LjctNDYuNyA0Ni43LTExLjUgMC0yMi45LTEuNC0zNC00LjJsLTg4LTIyYy0xNS4zLTMuOC0zMS4zLTMuOC00Ni42IDBsLTg4IDIyYy0xMS4xIDIuOC0yMi41IDQuMi0zNCA0LjItMjUuOCAwLTQ2LjctMjAuOS00Ni43LTQ2LjdsMC0xLjZjMC0xMC40IDEuNi0yMC44IDUuMi0zMC41ek00MjEuOCAyODIuN2MtMjQuNS0xNC0yOS4xLTUxLjctMTAuMi04NC4xczU0LTQ3LjMgNzguNS0zMy4zIDI5LjEgNTEuNyAxMC4yIDg0LjEtNTQgNDcuMy03OC41IDMzLjN6TTMxMC4xIDE4OS43Yy0zMi4zLTEwLjYtNDYuOS01My45LTMyLjYtOTYuOHM1Mi4xLTY5LjEgODQuNC01OC41IDQ2LjkgNTMuOSAzMi42IDk2LjgtNTIuMSA2OS4xLTg0LjQgNTguNXoiXX0scHRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlbG1ldC1zYWZldHkiLGljb246WzU3Niw1MTIsWyJoYXJkLWhhdCIsImhhdC1oYXJkIl0sImY4MDciLCJNMzUyIDI2NGwwLTIwMGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyMDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xODUuOUM5MCAxMDkuOCAzMiAxOTEuOCAzMiAyODhsMCA2NCA1MTIgMCAwLTY0Yy0xLTk1LjItNTguNC0xNzcuNy0xNDQtMjA5LjhMNDAwIDI2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHpNNDAgNDAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MHMxNy45IDQwIDQwIDQwbDQ5NiAwYzIyLjEgMCA0MC0xNy45IDQwLTQwcy0xNy45LTQwLTQwLTQwTDQwIDQwMHoiXX0sTFh0PXB0ZSwkWHQ9cHRlLERYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlIixpY29uOlszMjAsNTEyLFsxMDFdLCI0NSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yMjQgMCAwLTEyOCAxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYwIDAgMC0xMjggMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6Il19LHQ5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWxhdWdoLXNxdWludCIsaWNvbjpbNTEyLDUxMixbImxhdWdoLXNxdWludCJdLCJmNTliIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xMDcuNyAzMzIuMUMxMDIgMzE4IDExMy40IDMwNCAxMjguNiAzMDRsMjU0LjkgMGMxNS4yIDAgMjYuNiAxNCAyMC45IDI4LjEtMjMuOCA1OC42LTgxLjIgOTkuOS0xNDguMyA5OS45cy0xMjQuNi00MS4zLTE0OC4zLTk5Ljl6bTE1LTE4OC44YzQuNS02LjggMTMuMy05LjIgMjAuNi01LjVsNzkuNiA0MGM1LjQgMi43IDguOCA4LjIgOC44IDE0LjNzLTMuNCAxMS42LTguOCAxNC4zbC03OS42IDQwYy03LjMgMy42LTE2LjEgMS4zLTIwLjYtNS41cy0zLjEtMTUuOSAzLjEtMjEuMUwxNTkgMTkyIDEyNS44IDE2NC4zYy02LjItNS4yLTcuNi0xNC4zLTMuMS0yMS4xem0yNjMuNiAyMS4xTDM1MyAxOTIgMzg2LjIgMjE5LjdjNi4yIDUuMiA3LjYgMTQuMyAzLjEgMjEuMXMtMTMuMyA5LjItMjAuNiA1LjVsLTc5LjYtNDBjLTUuNC0yLjctOC44LTguMi04LjgtMTQuM3MzLjQtMTEuNiA4LjgtMTQuM2w3OS42LTQwYzcuMy0zLjYgMTYuMS0xLjMgMjAuNiA1LjVzMy4xIDE1LjktMy4xIDIxLjF6Il19LEFYdD10OWUsYTllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvd24tbGVmdC1hbmQtdXAtcmlnaHQtdG8tY2VudGVyIixpY29uOls1MTIsNTEyLFsiY29tcHJlc3MtYWx0Il0sImY0MjIiLCJNNDM5LjUgN2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwzMiAzMmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtODcgODcgMzkgMzljNi45IDYuOSA4LjkgMTcuMiA1LjIgMjYuMlM0NTAuMiAyNDAgNDQwLjUgMjQwbC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0xNDRjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yczE5LjMtMS43IDI2LjIgNS4ybDM5IDM5IDg3LTg3ek03Mi41IDI3MmwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE0NGMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC0zOS0zOS04NyA4N2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTMyLTMyYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw4Ny04Ny0zOS0zOWMtNi45LTYuOS04LjktMTcuMi01LjItMjYuMlM2Mi44IDI3MiA3Mi41IDI3MnoiXX0sUFh0PWE5ZSxFWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2lmdHMiLGljb246WzU3Niw1MTIsW10sImY3OWMiLCJNMjAyLTMwLjZjMTIuNSA0LjQgMTkgMTguMSAxNC42IDMwLjZsLTguMiAyMy4xIDI1LjQtMTguNWMxMC43LTcuOCAyNS43LTUuNCAzMy41IDUuM3M1LjQgMjUuNy01LjMgMzMuNUwyMzMuOCA2NCAyNzIgNjRjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyLjFjLTU0LjcgMTAuNC05NiA1OC40LTk2IDExNmwwIDEuOWMwIDguOSAxIDE3LjUgMi44IDI1LjktMTEuOSAxNy44LTE4LjggMzkuMS0xOC44IDYyLjFsMCAxMjhjMCAyMy44IDcuNCA0NS45IDIwLjEgNjRMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDExMkMwIDg1LjUgMjEuNSA2NCA0OCA2NGwzOC4yIDAtMjguMy0yMC42QzQ3LjIgMzUuNiA0NC44IDIwLjYgNTIuNiA5LjlTNzUuNC0zLjIgODYuMSA0LjZsMjcuNCAyMC04LjMtMjVDMTAxLTEzIDEwNy44LTI2LjYgMTIwLjQtMzAuOHMyNi4yIDIuNiAzMC40IDE1LjJsOS45IDI5LjggMTAuNy0zMC4yYzQuNC0xMi41IDE4LjEtMTkgMzAuNi0xNC42ek00ODkuOSAyMDhjLTcuNSAwLTE0LjUgMy44LTE4LjYgMTAuMUw0NDYuOSAyNTYgNDg4IDI1NmMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTEuOWMwLTEyLjItOS45LTIyLjEtMjIuMS0yMi4xek0zODUuMSAyNTZsLTI0LjQtMzcuOWMtNC4xLTYuMy0xMS4xLTEwLjEtMTguNi0xMC4xLTEyLjIgMC0yMi4xIDkuOS0yMi4xIDIyLjFsMCAxLjljMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDEuMSAwek0yODEuOSAyNjguNWMtNi4zLTEwLjctOS45LTIzLjItOS45LTM2LjVsMC0xLjljMC0zOC43IDMxLjQtNzAuMSA3MC4xLTcwLjEgMjMuOCAwIDQ2IDEyLjEgNTguOSAzMi4xbDE1IDIzLjIgMTUtMjMuMmMxMi45LTIwIDM1LjEtMzIuMSA1OC45LTMyLjEgMzguNyAwIDcwLjEgMzEuNCA3MC4xIDcwLjFsMCAxLjljMCAxMy4zLTMuNiAyNS44LTkuOSAzNi41IDE1LjcgMTEuNyAyNS45IDMwLjQgMjUuOSA1MS41bDAgMTI4YzAgMzUuMy0yOC43IDY0LTY0IDY0bC03MiAwIDAtMjA4LTQ4IDAgMCAyMDgtNzIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xMjhjMC0yMS4xIDEwLjItMzkuOCAyNS45LTUxLjV6Il19LElYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiZWQiLGljb246WzU3Niw1MTIsWzEyODcxNl0sImYyMzYiLCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMjQgMjI0IDAgMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsMTYwIDBjNTMgMCA5NiA0MyA5NiA5NmwwIDIyNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0LTQ0OCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0NjUuNyAwIDQ0OEwwIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyem04MCAxNjBhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAweiJdfSxOWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktYmlsbC10cmFuc2ZlciIsaWNvbjpbNjQwLDUxMixbXSwiZTUyOCIsIk0zMSAxMDVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDEwMy0xYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzEgMzEgNjcuNyAwIDAgMCAzMzguMyAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTc4LjItNS4xLTUuMWMtMjguMS0yOC4xLTczLjctMjguMS0xMDEuOCAwLTI3LjIgMjcuMi0yOC4xIDcwLjYtMi44IDk4LjlsNjcuNyAwLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNzIgNzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTcyIDcyYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTQwNi4xIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc4LjIgNS4xIDUuMWMyOC4xIDI4LjEgNzMuNyAyOC4xIDEwMS44IDAgMjcuMi0yNy4yIDI4LjEtNzAuNiAyLjgtOTguOWwtNjcuNyAwIDMxIDMxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMMzEgMTA1ek00MTYgMjU2YTk2IDk2IDAgMSAwIC0xOTIgMCA5NiA5NiAwIDEgMCAxOTIgMHptODgtNjQuNWM0LjQgLjUgOC0zLjEgOC03LjVsMC00OGMwLTQuNC0zLjYtOC04LThsLTQ4IDBjLTQuNCAwLTguMSAzLjYtNy41IDggMy42IDI5IDI2LjYgNTEuOSA1NS41IDU1LjV6bS0zNjggMTI5Yy00LjQtLjUtOCAzLjEtOCA3LjVsMCA0OGMwIDQuNCAzLjYgOCA4IDhsNDggMGM0LjQgMCA4LjEtMy42IDcuNS04LTMuNi0yOS0yNi42LTUxLjktNTUuNS01NS41eiJdfSxyOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXJ1bm5pbmciLGljb246WzQ0OCw1MTIsWzEyNzkzOSwicnVubmluZyJdLCJmNzBjIiwiTTI1Ni41LTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0xMjMuNiAxNzZjLTMuMyAwLTYuMiAyLTcuNCA1TDk0LjIgMjM1LjljLTYuNiAxNi40LTI1LjIgMjQuNC00MS42IDE3LjhzLTI0LjQtMjUuMi0xNy44LTQxLjZsMjEuOS01NC45QzY3LjcgMTI5LjkgOTQuMSAxMTIgMTIzLjYgMTEybDk3LjMgMGMyOC41IDAgNTQuOCAxNS4xIDY5LjEgMzkuN2wzMi44IDU2LjMgNjEuNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02MS42IDBjLTIyLjggMC00My44LTEyLjEtNTUuMy0zMS44bC0xMC0xNy4xLTIwLjcgNzAuNCA3NS40IDIyLjZjMjcuNyA4LjMgNDEuOCAzOSAzMC4xIDY1LjVMMjg1LjcgNTA5Yy03LjIgMTYuMi0yNi4xIDIzLjQtNDIuMiAxNi4ycy0yMy40LTI2LjEtMTYuMi00Mi4ybDQ5LjItMTEwLjgtOTUuOS0yOC44Yy0zMi43LTkuOC01Mi00My43LTQzLjctNzYuOGwyMi43LTkwLjYtMzUuOSAwem0tOCAxODFjMTMuMyAxNC45IDMwLjcgMjYuMyA1MS4yIDMyLjRsNC43IDEuNC02LjkgMTkuM2MtNS44IDE2LjMtMTYgMzAuOC0yOS4zIDQxLjhMNTIuOSA1MTkuOGMtMTMuNiAxMS4yLTMzLjggOS4zLTQ1LTQuM3MtOS4zLTMzLjggNC4zLTQ1bDgyLjQtNjcuOWM0LjUtMy43IDcuOC04LjUgOS44LTEzLjlMMTE1LjYgMzU3eiJdfSxSWHQ9cjllLHM5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtY2hldnJvbi1kb3duIixpY29uOls1MTIsNTEyLFsiY2hldnJvbi1jaXJjbGUtZG93biJdLCJmMTNhIiwiTTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTIgMjU2IDI1NiAwIDEgMCAwLTUxMnpNMTM1IDI0MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDg3IDg3IDg3LTg3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUwyNzMgMzQ1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEwxMzUgMjQxeiJdfSxPWHQ9czllLEZYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLW51cnNlIixpY29uOls0NDgsNTEyLFtdLCJmODJmIiwiTTk2IDQ0LjljMC0xMi43IDcuNS0yNC4yIDE5LjItMjkuM2w5Ni00MmM4LjItMy42IDE3LjUtMy42IDI1LjcgMGw5NiA0MkMzNDQuNSAyMC43IDM1MiAzMi4yIDM1MiA0NC45bDAgOTkuMWMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOFM5NiAyMTQuNyA5NiAxNDRsMC05OS4xek0zMDQgMTI4bC0xMTEuNiAwLS40IDAtNDggMCAwIDE2YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBsMC0xNnpNMjA4IDE2bDAgMTYtMTYgMGMtNC40IDAtOCAzLjYtOCA4bDAgMTZjMCA0LjQgMy42IDggOCA4bDE2IDAgMCAxNmMwIDQuNCAzLjYgOCA4IDhsMTYgMGM0LjQgMCA4LTMuNiA4LThsMC0xNiAxNiAwYzQuNCAwIDgtMy42IDgtOGwwLTE2YzAtNC40LTMuNi04LTgtOGwtMTYgMCAwLTE2YzAtNC40LTMuNi04LTgtOEwyMTYgOGMtNC40IDAtOCAzLjYtOCA4ek0xNDIuNiAzMjNjLTYuNS00LjktMTUuMi02LjItMjIuNi0yLjgtNjEuNCAyOC4yLTEwNC4xIDkwLjItMTA0LjEgMTYyLjEgMCAxNi40IDEzLjMgMjkuNyAyOS43IDI5LjdsMzU2LjYgMGMxNi40IDAgMjkuNy0xMy4zIDI5LjctMjkuNyAwLTcyLTQyLjctMTM0LTEwNC4xLTE2Mi4xLTcuNC0zLjQtMTYuMS0yLjEtMjIuNiAyLjhsLTY3IDUwLjJjLTguNSA2LjQtMjAuMyA2LjQtMjguOCAwbC02Ny01MC4yeiJdfSxpOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1raXNzLXdpbmstaGVhcnQiLGljb246WzY0MCw1MTIsWzEyODUzNiwia2lzcy13aW5rLWhlYXJ0Il0sImY1OTgiLCJNNTQzLjcgMjY4LjNjLjItNC4xIC4zLTguMiAuMy0xMi4zIDAtMTQxLjQtMTE0LjYtMjU2LTI1Ni0yNTZTMzIgMTE0LjYgMzIgMjU2IDE0Ni42IDUxMiAyODggNTEyYzQxLjQgMCA4MC41LTkuOCAxMTUuMS0yNy4zLTcuNi0xNy4xLTE2LjEtMzguOC0yMS44LTYxLjctNy43LTMwLjUtMTQuMS03Ni4yIDguMi0xMTQuN2wyLjctNC42YzI5LjUtNTEgOTQuNy02OC41IDE0NS43LTM5IDIgMS4yIDQgMi40IDUuOSAzLjd6TTI0MCAzMDRjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCAxMi4zLTQuNiAyMy41LTEyLjIgMzIgNy42IDguNSAxMi4yIDE5LjcgMTIuMiAzMiAwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnpNMjA4IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTE1MiAyMGMtMTEgMC0yMCA5LTIwIDIwcy05IDIwLTIwIDIwLTIwLTktMjAtMjBjMC0zMy4xIDI2LjktNjAgNjAtNjBsMTYgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MCAwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjAtOS0yMC0yMC0yMGwtMTYgMHpNNTQyLjggMzUwYy0yLjItMTguMy0xMi45LTM0LjYtMjguOS00My44LTI4LjEtMTYuMi02My45LTYuNi04MC4xIDIxLjVsLTIuNyA0LjZjLTI0LjUgNDIuNSA3LjkgMTE3LjkgMjQuNCAxNTAuOCA1LjEgMTAuMSAxNS41IDE2LjEgMjYuOCAxNS41IDM2LjctMi4yIDExOC4yLTExLjcgMTQyLjgtNTQuMmwyLjctNC42YzE2LjItMjguMSA2LjYtNjMuOS0yMS41LTgwLjEtMTYtOS4yLTM1LjQtMTAuNC01Mi40LTMuMWwtOS44IDQuMi0xLjMtMTAuNnoiXX0sQlh0PWk5ZSxIWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsbCIsaWNvbjpbNTEyLDUxMixbXSwiZjU3NSIsIk0yOTYgNjRjNi45IDAgMTMuNSAyLjcgMTguMyA3LjZMNDQwLjQgMTk3LjdjNC45IDQuOSA3LjYgMTEuNSA3LjYgMTguM3MtMi43IDEzLjUtNy42IDE4LjNMMzg2LjcgMjg4IDY1LjMgMjg4YzEuMy0zLjkgMy40LTcuNCA2LjMtMTAuM2w5Ni40LTk2LjQgMzMuNCAzMy40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMjEzLjMgMTM2IDI3Ny43IDcxLjZjNC45LTQuOSAxMS41LTcuNiAxOC4zLTcuNnpNMTIyLjcgMTM2TDI2LjMgMjMyLjRDOS41IDI0OS4zIDAgMjcyLjEgMCAyOTZzOS41IDQ2LjcgMjYuMyA2My42TDE1Mi40IDQ4NS43QzE2OS4zIDUwMi41IDE5Mi4xIDUxMiAyMTYgNTEyczQ2LjctOS41IDYzLjYtMjYuM0w0ODUuNyAyNzkuNkM1MDIuNSAyNjIuNyA1MTIgMjM5LjkgNTEyIDIxNnMtOS41LTQ2LjctMjYuMy02My42TDM1OS42IDI2LjNDMzQyLjcgOS41IDMxOS45IDAgMjk2IDBzLTQ2LjcgOS41LTYzLjYgMjYuM0wxNjggOTAuNyAxMTguNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0wxMjIuNyAxMzZ6Il19LG85ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsLTEtd2F2ZSIsaWNvbjpbNTEyLDUxMixbIm1vbmV5LWJpbGwtd2F2ZS1hbHQiXSwiZjUzYiIsIk0wIDEwOS41TDAgNDE5LjZjMCAxOS40IDExLjggMzcuMyAzMC4zIDQzLjMgOTQgMzAgMTU4LjggOC40IDIyMy4zLTEzLjEgNjIuNC0yMC44IDEyNC40LTQxLjUgMjEyLjEtMTUuMyAyMi4yIDYuNiA0Ni4yLTguOCA0Ni4yLTMybDAtMzEwLjFjMC0xOS40LTExLjgtMzcuMy0zMC4zLTQzLjMtOTQtMzAtMTU4LjgtOC40LTIyMy4zIDEzLjEtNjIuNCAyMC44LTEyNC40IDQxLjUtMjEyLjEgMTUuMy0yMi4yLTYuNi00Ni4zIDguOC00Ni4zIDMyek0yNTYgMzY4Yy01MyAwLTk2LTUwLjEtOTYtMTEyczQzLTExMiA5Ni0xMTIgOTYgNTAuMSA5NiAxMTItNDMgMTEyLTk2IDExMnpNMTI3LjEgNDA1LjVjLjcgNC40LTIuOCA4LjEtNy4yIDguMS0xNS43IDAtMzIuMS0xLjgtNTAtNi4xLTMuNS0uOC02LTQtNi03LjdMNjQgMzYwYzAtNC40IDMuNi04LjEgOC03LjUgMjguMSAzLjUgNTAuNiAyNS4yIDU1LjIgNTN6TTQ0OCAzNTQuNmMwIDUtNC42IDguOC05LjUgOC0xNS40LTIuNS0zMC4yLTMuOS00NC40LTQuMy00LjktLjEtOC43LTQuNS03LjItOS4yIDcuMy0yMy43IDI4LTQxLjQgNTMuMi00NC42IDQuNC0uNSA4IDMuMSA4IDcuNWwwIDQyLjZ6bS04LTE5NS4xYy0yOC4xLTMuNS01MC42LTI1LjItNTUuMi01My0uNy00LjQgMi44LTguMSA3LjItOC4xIDE1LjcgMCAzMi4xIDEuOCA1MCA2LjEgMy41IC44IDYgNCA2IDcuN2wwIDM5LjljMCA0LjQtMy42IDguMS04IDcuNXptLTMyMi4xLTUuOGM0LjkgLjEgOC43IDQuNSA3LjIgOS4yLTcuMyAyMy43LTI4IDQxLjQtNTMuMiA0NC42LTQuNCAuNS04LTMuMS04LTcuNWwwLTQyLjZjMC01IDQuNi04LjggOS41LTggMTUuNCAyLjUgMzAuMiAzLjkgNDQuNCA0LjN6TTI0MCAxODhjLTExIDAtMjAgOS0yMCAyMCAwIDkuNyA2LjkgMTcuNyAxNiAxOS42bDAgNDguNC00IDBjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDQ4IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC00IDAgMC02OGMwLTExLTktMjAtMjAtMjBsLTE2IDB6Il19LHFYdD1vOWUsVlh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhbmRtYXJrIixpY29uOls1MTIsNTEyLFsxMjc5NjNdLCJmNjZmIiwiTTIzOC43IDUuMWMxMC41LTYuOCAyNC4xLTYuOCAzNC42IDBsMjI0IDE0NGMxMS45IDcuNyAxNy40IDIyLjMgMTMuNCAzNS45cy0xNi41IDIzLTMwLjcgMjNsLTMyIDAgMCAyMDggNTEuMiAzOC40YzguMSA2IDEyLjggMTUuNSAxMi44IDI1LjYgMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMiAwLTEwLjEgNC43LTE5LjYgMTIuOC0yNS42bDUxLjItMzguNCAwIDAgMC0yMDgtMzIgMGMtMTQuMiAwLTI2LjctOS40LTMwLjctMjNzMS41LTI4LjMgMTMuNC0zNS45bDIyNC0xNDR6TTMzNiAyMDhsMCAyMDggNjQgMCAwLTIwOC02NCAwek0yMjQgNDE2bDY0IDAgMC0yMDgtNjQgMCAwIDIwOHpNMTEyIDIwOGwwIDIwOCA2NCAwIDAtMjA4LTY0IDB6Il19LGpYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtdXNpYyIsaWNvbjpbNTEyLDUxMixbMTI3OTI1XSwiZjAwMSIsIk00NjggN2M3LjYgNi4xIDEyIDE1LjMgMTIgMjVsMCAzMDRjMCA0NC4yLTQzIDgwLTk2IDgwcy05Ni0zNS44LTk2LTgwIDQzLTgwIDk2LTgwYzExLjIgMCAyMiAxLjYgMzIgNC42bDAtMTE2LjctMjI0IDQ5LjggMCAyMDYuM2MwIDQ0LjItNDMgODAtOTYgODBzLTk2LTM1LjgtOTYtODAgNDMtODAgOTYtODBjMTEuMiAwIDIyIDEuNiAzMiA0LjZMMTI4IDk2YzAtMTUgMTAuNC0yOCAyNS4xLTMxLjJsMjg4LTY0YzkuNS0yLjEgMTkuNCAuMiAyNyA2LjN6Il19LFVYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLW1lZGljYWwiLGljb246WzQ0OCw1MTIsW10sImY3ZTYiLCJNOTYgNTEybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtNjYuN2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNsMC0yODhjMC0yNi41LTIxLjUtNDgtNDgtNDhMOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2ek02NCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjU2IDAgMCA2NC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTE5MiAxMjBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LG45ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaHVmZmxlIixpY29uOls1MTIsNTEyLFsxMjgyNTYsInJhbmRvbSJdLCJmMDc0IiwiTTQwMy44IDM0LjRjMTItNSAyNS43LTIuMiAzNC45IDYuOWw2NCA2NGM2IDYgOS40IDE0LjEgOS40IDIyLjZzLTMuNCAxNi42LTkuNCAyMi42bC02NCA2NGMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTMzg0IDIwNC45IDM4NCAxOTJsMC0zMi0zMiAwYy0xMC4xIDAtMTkuNiA0LjctMjUuNiAxMi44bC0zMi40IDQzLjItNDAtNTMuMyAyMS4yLTI4LjNDMjkzLjMgMTEwLjIgMzIxLjggOTYgMzUyIDk2bDMyIDAgMC0zMmMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42ek0xNTQgMjk2bDQwIDUzLjMtMjEuMiAyOC4zQzE1NC43IDQwMS44IDEyNi4yIDQxNiA5NiA0MTZsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMGMxMC4xIDAgMTkuNi00LjcgMjUuNi0xMi44TDE1NCAyOTZ6TTQzOC42IDQ3MC42Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOVMzODQgNDYwLjkgMzg0IDQ0OGwwLTMyLTMyIDBjLTMwLjIgMC01OC43LTE0LjItNzYuOC0zOC40TDEyMS42IDE3Mi44Yy02LTguMS0xNS41LTEyLjgtMjUuNi0xMi44bC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMlMxNC4zIDk2IDMyIDk2bDY0IDBjMzAuMiAwIDU4LjcgMTQuMiA3Ni44IDM4LjRMMzI2LjQgMzM5LjJjNiA4LjEgMTUuNSAxMi44IDI1LjYgMTIuOGwzMiAwIDAtMzJjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnMyNS43LTIuMiAzNC45IDYuOWw2NCA2NGM2IDYgOS40IDE0LjEgOS40IDIyLjZzLTMuNCAxNi42LTkuNCAyMi42bC02NCA2NHoiXX0sV1h0PW45ZSxHWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidW5kZXJsaW5lIixpY29uOlszODQsNTEyLFtdLCJmMGNkIiwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJTMTEzLjcgNjQgOTYgNjRsMCAxNjBjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTMjcwLjMgMCAyODggMGw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMTYwYzAgODguNC03MS42IDE2MC0xNjAgMTYwUzMyIDMxMi40IDMyIDIyNEwzMiA2NEMxNC4zIDY0IDAgNDkuNyAwIDMyek0wIDQ4MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxZWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctdXNlciIsaWNvbjpbNjQwLDUxMixbXSwiZTRkYSIsIk02NCA2NEM2NCAyOC43IDkyLjcgMCAxMjggMEwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEyMS4zYy00Ni45IDE5LTgwIDY1LTgwIDExOC43IDAgMjcuNyA4LjggNTMuNCAyMy44IDc0LjQtNTEuNSAyMS04Ny44IDcxLjYtODcuOCAxMzAuNyAwIDEgMCAxLjkgMCAyLjlsLTE3NiAwYy0zNS4zIDAtNjQtMjguNy02NC02NEw2NCA2NHpNMjA4IDQwMGwwIDY0IDUzLjQgMGM3LjItMjkuNCAyMS4zLTU2LjEgNDAuNC03OC4zLTYuMS0xOS41LTI0LjMtMzMuNy00NS44LTMzLjctMjYuNSAwLTQ4IDIxLjUtNDggNDh6TTMzOSAyMjQuM2MtMS0uMi0yLS4zLTMtLjNsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwxNi43IDBjMi4xLTIyLjggOC40LTQ0LjMgMTguMy02My43ek0xNzYgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMTEyIDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTE3NiAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMjQwIDgwYTgwIDgwIDAgMSAxIDE2MCAwIDgwIDgwIDAgMSAxIC0xNjAgMHpNMzUyIDUxMmMwLTUzIDQzLTk2IDk2LTk2bDk2IDBjNTMgMCA5NiA0MyA5NiA5NiAwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjI0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxLWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9ib3QiLGljb246WzY0MCw1MTIsWzEyOTMwMl0sImY1NDQiLCJNMzUyIDBjMC0xNy43LTE0LjMtMzItMzItMzJTMjg4LTE3LjcgMjg4IDBsMCA2NC05NiAwYy01MyAwLTk2IDQzLTk2IDk2bDAgMjI0YzAgNTMgNDMgOTYgOTYgOTZsMjU2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTIyNGMwLTUzLTQzLTk2LTk2LTk2bC05NiAwIDAtNjR6TTE2MCAzNjhjMC0xMy4zIDEwLjctMjQgMjQtMjRsMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTEyMCAwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDMyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0xMjAgMGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwzMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0zMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjI0IDE3NmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6bTE0NCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek02NCAyMjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCAyMDYuMyAwIDIyNGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NnptNTQ0LTMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sY3Y9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGx1cyIsaWNvbjpbNDQ4LDUxMixbMTAxMzMsNjE1NDMsImFkZCJdLCIyYiIsIk0yNTYgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNjAtMTYwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYwIDAgMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MCAxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYwIDAgMC0xNjB6Il19LFpYdD1jdixGdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29weSIsaWNvbjpbNDQ4LDUxMixbXSwiZjBjNSIsIk0xOTIgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMDAuNmMwLTE3LjQtNy4xLTM0LjEtMTkuNy00Ni4yTDM3MC42IDE3LjhDMzU4LjcgNi40IDM0Mi44IDAgMzI2LjMgMEwxOTIgMHpNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE2LTY0IDAgMCAxNi0xOTIgMCAwLTI1NiAxNiAwIDAtNjQtMTYgMHoiXX0sWFh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXNzLWtpbmciLGljb246WzQ0OCw1MTIsWzk4MThdLCJmNDNmIiwiTTIyNC0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDAgMCA2NCAxNTMuOCAwYzIxLjEgMCAzOC4yIDE3LjEgMzguMiAzOC4yIDAgNi40LTEuNiAxMi43LTQuNyAxOC4zTDM1MiAzODQgNDA4LjIgNDU0LjNjNSA2LjMgNy44IDE0LjEgNy44IDIyLjIgMCAxOS42LTE1LjkgMzUuNS0zNS41IDM1LjVMNjcuNSA1MTJjLTE5LjYgMC0zNS41LTE1LjktMzUuNS0zNS41IDAtOC4xIDIuNy0xNS45IDcuOC0yMi4yTDk2IDM4NCA0LjcgMjE2LjZDMS42IDIxMC45IDAgMjA0LjYgMCAxOTguMiAwIDE3Ny4xIDE3LjEgMTYwIDM4LjIgMTYwbDE1My44IDAgMC02NC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sUVh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWZsb29kLXdhdGVyIixpY29uOls2NDAsNTEyLFtdLCJlNTBlIiwiTTQ5NiAyMDhsNC41IDBjMTUuMiAwIDI3LjUtMTIuMyAyNy41LTI3LjUgMC03LjktMy40LTE1LjUtOS40LTIwLjdMMzQ4IDEwLjVDMzQwLjMgMy43IDMzMC4zIDAgMzIwIDBzLTIwLjMgMy43LTI4IDEwLjVMMTIxLjQgMTU5LjhjLTYgNS4yLTkuNCAxMi44LTkuNCAyMC43IDAgMTUuMiAxMi4zIDI3LjUgMjcuNSAyNy41bDQuNSAwIDAgOTQuNGMyMC4zLTkuNCA0Mi4xLTE0LjIgNjQtMTQuNCAzMy4xLS4yIDY2LjMgMTAuMiA5NC40IDMxLjQgMjIuMSAxNi42IDI5LjEgMTYuNiA1MS4yIDAgMjcuNS0yMC43IDU5LjktMzEuMiA5Mi40LTMxLjQgMTYuOS0uMSAzMy44IDIuNiA1MCA4bDAtODh6bS0yMjQtOGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNDh6TTQ3NC42IDQxMi4xYzE5IDE0LjQgNDEuOSAyOC4yIDY3LjIgMzMuMyAyNi41IDUuNCA1NC4zIC44IDgwLjctMTkuMSAxMC42LTggMTIuNy0yMyA0LjctMzMuNnMtMjMtMTIuNy0zMy42LTQuN2MtMTQuOSAxMS4yLTI4LjYgMTMuMS00Mi4zIDEwLjMtMTQuOS0zLTMwLjktMTEuOS00Ny44LTI0LjYtMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM3MtMzAuNS04LjItNTQuNS0yNi4zYy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjEuNiAxNi4zLTQxLjMgMjUuOC01OC45IDI1LjctOS42LS4xLTE5LjktMy0zMS4yLTExLjUtMTAuNi04LTI1LjYtNS45LTMzLjYgNC43UzcgNDE4LjMgMTcuNiA0MjYuM2MxOS4xIDE0LjQgMzkuNCAyMSA1OS44IDIxLjEgMzMuOSAuMiA2NC4zLTE3LjQgODguMS0zNS4zIDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1LjljMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDB6bS03MS4yIDk2YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDE5IDE0LjQgNDEuOSAyOC4yIDY3LjIgMzMuMyAyNi41IDUuNCA1NC4zIC44IDgwLjctMTkuMSAxMC42LTggMTIuNy0yMyA0LjctMzMuNnMtMjMtMTIuNy0zMy42LTQuN2MtMTQuOSAxMS4yLTI4LjYgMTMuMS00Mi4zIDEwLjMtMTQuOS0zLTMwLjktMTEuOS00Ny44LTI0LjYtMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM3MtMzAuNS04LjItNTQuNS0yNi4zYy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjEuNiAxNi4zLTQxLjMgMjUuOC01OC45IDI1LjctOS42LS4xLTE5LjktMy0zMS4yLTExLjUtMTAuNi04LTI1LjYtNS45LTMzLjYgNC43UzcgNTE0LjMgMTcuNiA1MjIuM2MxOS4xIDE0LjQgMzkuNCAyMSA1OS44IDIxLjEgMzMuOSAuMiA2NC4zLTE3LjQgODguMS0zNS4zIDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1Ljl6Il19LEpYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiaXRjb2luLXNpZ24iLGljb246WzMyMCw1MTIsW10sImUwYjQiLCJNNjQgMjRDNjQgMTAuNyA3NC43IDAgODggMHMyNCAxMC43IDI0IDI0bDAgNDAgMzIgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MS4xYzU0LjMgNy44IDk2IDU0LjQgOTYgMTEwLjkgMCAyNC4yLTcuNyA0Ni42LTIwLjcgNjQuOSAzMS43IDE5LjggNTIuNyA1NSA1Mi43IDk1LjEgMCA2MS45LTUwLjEgMTEyLTExMiAxMTJsLTE2IDAgMCA0MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQwLTMyIDAgMCA0MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQwLTIyLjMgMEMxOC43IDQ0OCAwIDQyOS4zIDAgNDA2LjNMMCAxMDEuNkMwIDgwLjggMTYuOCA2NCAzNy42IDY0TDY0IDY0IDY0IDI0em0wIDIwMGwxMTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OGwtMTEyIDAgMCA5NnptMTEyIDY0bC0xMTIgMCAwIDk2IDE0NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4bC0zMiAweiJdfSxlUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm94IixpY29uOls0NDgsNTEyLFsxMjgyMzBdLCJmNDY2IiwiTTM2OS40IDEyOGwtMzQuMy00OC0yMjIuMSAwLTM0LjMgNDggMjkwLjcgMHpNMCAxNDguNWMwLTEzLjMgNC4yLTI2LjMgMTEuOS0zNy4yTDYwLjkgNDIuOEM3Mi45IDI2IDkyLjMgMTYgMTEyLjkgMTZsMjIyLjEgMGMyMC43IDAgNDAuMSAxMCA1Mi4xIDI2LjhsNDguOSA2OC41YzcuOCAxMC45IDExLjkgMjMuOSAxMS45IDM3LjJMNDQ4IDQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTQ4LjV6Il19LGw5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcGx1cyIsaWNvbjpbNDQ4LDUxMixbNjE4NDYsInBsdXMtc3F1YXJlIl0sImYwZmUiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjAwIDM0NGwwLTY0LTY0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNjQgMCAwLTY0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA2NCA2NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC02NCAwIDAgNjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjR6Il19LHRRdD1sOWUsYzllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy1sZWZ0LXJpZ2h0IixpY29uOls1NzYsNTEyLFsiYXJyb3dzLWgiXSwiZjA3ZSIsIk00NzAuNiAzNzQuNmw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDQxLjQgNDEuNC0zNTcuNSAwIDQxLjQtNDEuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTYgNi05LjQgMTQuMS05LjQgMjIuNnMzLjQgMTYuNiA5LjQgMjIuNmw5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC00MS40LTQxLjQgMzU3LjUgMC00MS40IDQxLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDB6Il19LGFRdD1jOWUsclF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhbiIsaWNvbjpbNTEyLDUxMixbXSwiZjg2MyIsIk0xNjAgMTQ0YzAtNzkuNSA2NC41LTE0NCAxNDQtMTQ0IDguOCAwIDE2IDcuMiAxNiAxNmwwIDE1Mi4yYzE1LTUuMyAzMS4yLTguMiA0OC04LjIgNzkuNSAwIDE0NCA2NC41IDE0NCAxNDQgMCA4LjgtNy4yIDE2LTE2IDE2bC0xNTIuMiAwYzUuMyAxNSA4LjIgMzEuMiA4LjIgNDggMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDQtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTUyLjJjLTE1IDUuMy0zMS4yIDguMi00OCA4LjItNzkuNSAwLTE0NC02NC41LTE0NC0xNDQgMC04LjggNy4yLTE2IDE2LTE2bDE1Mi4yIDBjLTUuMy0xNS04LjItMzEuMi04LjItNDh6bTk2IDE0NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LHNRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjcm93IixpY29uOls2NDAsNTEyLFtdLCJmNTIwIiwiTTQ1Ni41IDBjLTQ4LjYgMC04OCAzOS40LTg4IDg4bDAgMzYtMzU1LjIgMjY2LjRDLS44IDQwMS0zLjcgNDIxIDYuOSA0MzUuMnMzMC42IDE3IDQ0LjggNi40bDc2LjgtNTcuNiAxMzEuMyAwIDQ2LjYgMTEzLjEgMSAyLjJjNS43IDEwLjcgMTguOCAxNS41IDMwLjMgMTAuOHMxNy4zLTE3LjMgMTMuOS0yOWwtLjgtMi4zLTM5LjEtOTQuOSA0MC45IDBjMS4xIDAgMi4yIDAgMy4yIDBsNDYuNiAxMTMuMiAxIDIuMmM1LjcgMTAuNyAxOC44IDE1LjUgMzAuMyAxMC44czE3LjMtMTcuMyAxMy45LTI5bC0uOC0yLjMtNDItMTAyQzQ4NS4zIDM1NC4xIDU0NC41IDI4MCA1NDQuNSAxOTJsMC03MiA4MC41LTIwLjFjOC42LTIuMSAxMy44LTEwLjggMTEuNi0xOS40LTcuMS0yOC41LTMyLjctNDguNS02Mi4xLTQ4LjVsLTUwLjEgMEM1MDguMiAxMi41IDQ4My44IDAgNDU2LjUgMHptMCA2NGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LGlRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNpcmNsZS1jaGVjayIsaWNvbjpbNTc2LDUxMixbXSwiZTVhMCIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE4MCAwYy0yMi43LTMxLjUtMzYtNzAuMi0zNi0xMTIgMC0xMDAuNiA3Ny40LTE4My4yIDE3Ni0xOTEuM2wwLTM4LjFjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkwLjcgMTguN0MyNzguNyA2LjcgMjYyLjUgMCAyNDUuNSAwTDk2IDB6TTM1Ny41IDE3NkwyNjQgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyNDAgNTguNSAzNTcuNSAxNzZ6TTU3NiA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSxLYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaW5rLXNsYXNoIixpY29uOls1NzYsNTEyLFsiY2hhaW4tYnJva2VuIiwiY2hhaW4tc2xhc2giLCJ1bmxpbmsiXSwiZjEyNyIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xMjItMTIyYzQuMi0zLjQgOC4zLTcuMSAxMi4xLTEwLjlsNzEuMS03MS4xYzI5LjMtMjkuMyA0NS44LTY5LjEgNDUuOC0xMTAuNiAwLTg2LjQtNzAtMTU2LjUtMTU2LjUtMTU2LjUtMzcuMyAwLTczLjEgMTMuMy0xMDEuMyAzNy4yIDIwLjMgMTAuMSAzOC43IDIzLjUgNTQuNSAzOS41IDE0LjEtOC4zIDMwLjItMTIuNyA0Ni44LTEyLjcgNTEuMSAwIDkyLjUgNDEuNCA5Mi41IDkyLjUgMCAyNC41LTkuNyA0OC0yNy4xIDY1LjRsLTcxLjEgNzEuMWMtMy45IDMuOS04LjEgNy40LTEyLjYgMTAuNWwtNDcuNS00Ny41YzE2LjUtLjkgMjkuNy0xNC40IDMwLjItMzEuMSAwLTEuMyAwLTIuNiAwLTMuOSAwLTg2LjMtNjkuOS0xNTYuOS0xNTYuNS0xNTYuOS0xOS4yIDAtMzcuOSAzLjUtNTUuNSAxMC4yTDQxLTI0Ljl6TTIyNS45IDE2MGMuNiAwIDEuMSAwIDEuNyAwIDE1LjEgMCAyOS41IDMuNyA0Mi4xIDEwLjIgMS44IDEuMiAzLjYgMi4zIDUuNSAzLjEgMjYuOCAxNi4zIDQ0LjggNDUuOSA0NC44IDc5LjYgMCAuNCAwIC44IDAgMS4yTDIyNS45IDE2MHpNMzQ2LjIgNDE2TDE5MiAyNjEuOGMxLjIgODQuNiA2OS42IDE1Mi45IDE1NC4xIDE1NC4xek0xMzkuNyAyMDkuNWwtNDUuMy00NS4zLTQ4LjYgNDguNmMtMjkuMyAyOS4zLTQ1LjggNjkuMS00NS44IDExMC42IDAgODYuNCA3MCAxNTYuNSAxNTYuNSAxNTYuNSAzNy4yIDAgNzMuMS0xMy4zIDEwMS4zLTM3LjItMjAuMy0xMC4xLTM4LjgtMjMuNS01NC42LTM5LjUtMTQgOC4yLTMwLjEgMTIuNi00Ni43IDEyLjYtNTEuMSAwLTkyLjUtNDEuNC05Mi41LTkyLjUgMC0yNC41IDkuNy00OCAyNy4xLTY1LjRsNDguNi00OC42eiJdfSxvUXQ9S2IsblF0PUtiLGxRdD1LYixaYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1yb3RhdGUtcmlnaHQiLGljb246WzUxMiw1MTIsWzg2MzUsImFycm93LXJpZ2h0LXJvdGF0ZSIsImFycm93LXJvdGF0ZS1mb3J3YXJkIiwicmVkbyJdLCJmMDFlIiwiTTQzNi43IDc0LjdMNDQ4IDg1LjQgNDQ4IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQ3LjkgMC03LjYtNy4yYy0uMi0uMi0uNC0uNC0uNi0uNi03NS03NS0xOTYuNS03NS0yNzEuNSAwcy03NSAxOTYuNSAwIDI3MS41IDE5Ni41IDc1IDI3MS41IDBjOC4yLTguMiAxNS41LTE2LjkgMjEuOS0yNi4xIDEwLjEtMTQuNSAzMC4xLTE4IDQ0LjYtNy45czE4IDMwLjEgNy45IDQ0LjZjLTguNSAxMi4yLTE4LjIgMjMuOC0yOS4xIDM0LjctMTAwIDEwMC0yNjIuMSAxMDAtMzYyIDBTLTI1IDE3NSA3NSA3NWM5OS45LTk5LjkgMjYxLjctMTAwIDM2MS43LS4zeiJdfSxjUXQ9WmIsZFF0PVpiLHVRdD1aYixkOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVuLWNsaXAiLGljb246WzUxMiw1MTIsWyJwZW4tYWx0Il0sImYzMDUiLCJNNDA0IDBjMTkuMiAwIDM3LjYgNy42IDUxLjEgMjEuMmwzNS43IDM1LjdDNTA0LjQgNzAuNCA1MTIgODguOCA1MTIgMTA4cy03LjYgMzcuNi0yMS4yIDUxLjFMNDQ1LjkgMjA0IDMwOCA2Ni4xIDM1Mi45IDIxLjJDMzY2LjQgNy42IDM4NC44IDAgNDA0IDB6TTI3NC4xIDEwMGwwIDAgMTM3LjkgMTM3LjktMjE1LjEgMjE1LjFjLTEwLjcgMTAuNy0yNC4xIDE4LjUtMzguNyAyMi42TDMwLjQgNTExLjFjLTguMyAyLjMtMTcuMyAwLTIzLjQtNi4ycy04LjUtMTUuMS02LjItMjMuNEwzNi40IDM1My44YzQuMS0xNC42IDExLjgtMjcuOSAyMi42LTM4LjdMMjQwLjEgMTMzLjkgMjIzIDExNi45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEw4OSAyMTdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMTU1LjEgODIuOWMyOC4xLTI4LjEgNzMuNy0yOC4xIDEwMS44IDBMMjc0LjEgMTAweiJdfSxwUXQ9ZDllLGZRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkb29yLWNsb3NlZCIsaWNvbjpbNDQ4LDUxMixbMTI4NjgyXSwiZjUyYSIsIk0zMiA2NEMzMiAyOC43IDYwLjcgMCA5NiAwTDM1MiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMkwzMiA2NHpNMzIwIDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LGZ0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLXdpZGUtc2hvcnQiLGljb246WzU3Niw1MTIsWyJzb3J0LWFtb3VudC1hc2MiLCJzb3J0LWFtb3VudC1kb3duIl0sImYxNjAiLCJNMjQ2LjYgMzc0LjZsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtOTYtOTZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMzcwLjcgOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMwNi43IDQxLjQtNDEuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zek0zMjAgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDB6bTAtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDB6bTAtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNjAgMHptMC0xMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIwIDk2eiJdfSxoUXQ9ZnRlLG1RdD1mdGUsZ1F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcmV0LWRvd24iLGljb246WzMyMCw1MTIsW10sImYwZDciLCJNMTQwLjMgMzc2LjhjMTIuNiAxMC4yIDMxLjEgOS41IDQyLjgtMi4ybDEyOC0xMjhjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzAxLjQgMTkyIDI4OC41IDE5MmwtMjU2IDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhTLjcgMjM3LjUgOS45IDI0Ni42bDEyOCAxMjggMi40IDIuMnoiXX0sYlF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImsiLGljb246WzMyMCw1MTIsWzEwN10sIjRiIiwiTTMxMSA4Ni4zYzEyLjMtMTIuNyAxMi0zMi45LS43LTQ1LjJzLTMyLjktMTItNDUuMiAuN0MxNDMuNCAxNjcuMiA3Ni40IDIzNi4zIDY0IDI0OUw2NCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTA3IDY0LjctNjYuNyAxMzMgMTkyYzEwLjEgMTQuNSAzMCAxOC4xIDQ0LjUgOC4xczE4LjEtMzAgOC4xLTQ0LjVMMTc0LjEgMjI3LjQgMzExIDg2LjN6Il19LHU5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVjay10by1zbG90IixpY29uOls1NzYsNTEyLFsidm90ZS15ZWEiXSwiZjc3MiIsIk01NTIgMjg4YzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTA0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAzMTJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwNGMwIDguOCA3LjIgMTYgMTYgMTZsNDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0ek00MTYgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI1NiAwYy0zNS4zIDAtNjQtMjguNy02NC02NEw5NiA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwyNTYgMHptLTM3LjEgODQuNmMtMTAuNy03LjgtMjUuNy01LjQtMzMuNSA1LjNsLTg1LjYgMTE3LjctMjYuNS0yNy40Yy05LjItOS41LTI0LjQtOS44LTMzLjktLjYtOS41IDkuMi05LjggMjQuNC0uNiAzMy45bDQ2LjQgNDhjNC45IDUuMSAxMS44IDcuOCAxOC45IDcuM3MxMy42LTQuMSAxNy44LTkuOEwzODQuMiAxNTAuMWM3LjgtMTAuNyA1LjQtMjUuNy01LjMtMzMuNXoiXX0sdlF0PXU5ZSx4UXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlzaC1maW5zIixpY29uOls1NzYsNTEyLFtdLCJlNGYyIiwiTTI3NS4yIDM4LjRjLTEwLjYtOC0yNS04LjUtMzYuMy0xLjVTMjIyIDU3LjMgMjI0LjYgNzAuM2w5LjcgNDguNmMtMTkuNCA5LTM2LjkgMTkuOS01Mi40IDMxLjUtMTUuMyAxMS41LTI5IDIzLjktNDAuNyAzNi4zTDQ4LjEgMTMyLjRjLTEyLjUtNy4zLTI4LjQtNS4zLTM4LjcgNC45cy0xMi40IDI2LTUuMyAzOC42TDUwIDI1NiA0LjIgMzM2LjFjLTcuMiAxMi42LTUgMjguNCA1LjMgMzguNnMyNi4xIDEyLjIgMzguNyA0LjlsOTMuMS01NC4zYzExLjggMTIuMyAyNS40IDI0LjggNDAuNyAzNi4zIDE1LjUgMTEuNiAzMyAyMi41IDUyLjQgMzEuNWwtOS43IDQ4LjZjLTIuNiAxMyAzLjEgMjYuMyAxNC4zIDMzLjNzMjUuNiA2LjUgMzYuMy0xLjVsNzcuNi01OC4yYzU0LjktNCAxMDEuNS0yNyAxMzcuMi01My44IDM5LjItMjkuNCA2Ny4yLTY0LjcgODEuNi04OS41IDUuOC05LjkgNS44LTIyLjIgMC0zMi4xLTE0LjQtMjQuOC00Mi41LTYwLjEtODEuNi04OS41LTM1LjgtMjYuOC04Mi4zLTQ5LjgtMTM3LjItNTMuOEwyNzUuMiAzOC40ek0zODQgMjU2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LHlRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21wcmVzcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjA2NiIsIk0xNjAgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTOTYgNDYuMyA5NiA2NGwwIDY0LTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2ek0zMiAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMCAwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOTYgMHpNMzUyIDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTY0ek0zMjAgMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NCA2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC05NiAweiJdfSxwOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtYS16IixpY29uOls1MTIsNTEyLFsic29ydC1hbHBoYS11cCJdLCJmMTVlIiwiTTQxMi42IDQ5LjdDNDA3LjIgMzguOCAzOTYuMSAzMiAzODQgMzJzLTIzLjIgNi44LTI4LjYgMTcuN2MtNTAuNyAxMDEuMy03Ny4zIDE1NC43LTgwIDE2MC03LjkgMTUuOC0xLjUgMzUgMTQuMyA0Mi45czM1IDEuNSA0Mi45LTE0LjNsNy4yLTE0LjMgODguNCAwIDcuMiAxNC4zYzcuOSAxNS44IDI3LjEgMjIuMiA0Mi45IDE0LjNzMjIuMi0yNy4xIDE0LjMtNDIuOWMtMi43LTUuMy0yOS4zLTU4LjctODAtMTYwek0zODQgMTM1LjZsMjAuMiA0MC40LTQwLjQgMCAyMC4yLTQwLjR6TTI4OCAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJsNTAuNyAwLTczLjQgNzMuNGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlTMzA3LjEgNDgwIDMyMCA0ODBsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTUwLjcgMCA3My40LTczLjRjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTNDYwLjkgMjg4IDQ0OCAyODhsLTEyOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMTUwLjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTgwIDgwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDk2IDE0MS4zIDk2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA2LjcgMjUuNCAyNS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTgwLTgweiJdfSx3UXQ9cDllLE1RdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLWdyYWR1YXRlIixpY29uOls0NDgsNTEyLFtdLCJmNTAxIiwiTTI0MS4zLTEzYy0xMS40LTIuMy0yMy4xLTIuMy0zNC41IDBMMTkuMyAyNC41QzguMSAyNi43IDAgMzYuNiAwIDQ4IDAgNTguMyA2LjUgNjcuMyAxNiA3MC42TDE2IDE0NCAuMyAyMjIuNmMtLjIgLjktLjMgMS45LS4zIDIuOSAwIDggNi41IDE0LjYgMTQuNiAxNC42bDM0LjkgMGM4IDAgMTQuNi02LjUgMTQuNi0xNC42IDAtMS0uMS0xLjktLjMtMi45TDQ4IDE0NCA0OCA3Ny4zIDk2IDg2LjkgOTYgMTQ0YzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4czEyOC01Ny4zIDEyOC0xMjhsMC01Ny4xIDc2LjctMTUuM0M0MzkuOSA2OS4zIDQ0OCA1OS40IDQ0OCA0OHMtOC4xLTIxLjMtMTkuMy0yMy41TDI0MS4zLTEzek0yMjQgMjI0Yy00NC4yIDAtODAtMzUuOC04MC04MGwxNjAgMGMwIDQ0LjItMzUuOCA4MC04MCA4MHpNMTIwLjEgMzIwLjFDNTguNyAzNDguMyAxNiA0MTAuMyAxNiA0ODIuMyAxNiA0OTguNyAyOS4zIDUxMiA0NS43IDUxMmwxNTQuMyAwIDAtMTQ2LTU3LjQtNDNjLTYuNS00LjktMTUuMi02LjItMjIuNi0yLjh6TTI0OCA1MTJsMTU0LjMgMGMxNi40IDAgMjkuNy0xMy4zIDI5LjctMjkuNyAwLTcyLTQyLjctMTM0LTEwNC4xLTE2Mi4xLTcuNC0zLjQtMTYuMS0yLjEtMjIuNiAyLjhsLTU3LjQgNDMgMCAxNDZ6Il19LGtRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNvZGUiLGljb246WzM4NCw1MTIsW10sImYxYzkiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTE1NC4yIDI5NS42YzguNi0xMC4xIDcuNS0yNS4yLTIuNi0zMy44cy0yNS4yLTcuNS0zMy44IDIuNmwtNDggNTZjLTcuNyA5LTcuNyAyMi4yIDAgMzEuMmw0OCA1NmM4LjYgMTAuMSAyMy44IDExLjIgMzMuOCAyLjZzMTEuMi0yMy44IDIuNi0zMy44bC0zNC42LTQwLjQgMzQuNi00MC40em0xMTItMzEuMmMtOC42LTEwLjEtMjMuOC0xMS4yLTMzLjgtMi42cy0xMS4yIDIzLjgtMi42IDMzLjhsMzQuNiA0MC40LTM0LjYgNDAuNGMtOC42IDEwLjEtNy41IDI1LjIgMi42IDMzLjhzMjUuMiA3LjUgMzMuOC0yLjZsNDgtNTZjNy43LTkgNy43LTIyLjIgMC0zMS4ybC00OC01NnoiXX0sU1F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNvYXAiLGljb246WzUxMiw1MTIsWzEyOTUzMl0sImUwNmUiLCJNMjA4LTMyYTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnpNMzIwIDk2YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek0zNTIgMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek05NiAxNjBsMTEyIDBjMCAyMy44IDcuNCA0NS45IDIwLjEgNjRMMTYwIDIyNGMtNTMgMC05NiA0My05NiA5NnM0MyA5NiA5NiA5NmwxOTIgMGM1MyAwIDk2LTQzIDk2LTk2IDAtMzUuMS0xOC45LTY1LjktNDctODIuNiAxOS0xOS44IDMwLjctNDYuNiAzMS03Ni4xIDQ1LjQgNy42IDgwIDQ3LjEgODAgOTQuN2wwIDEyOGMwIDUzLTQzIDk2LTk2IDk2TDk2IDQ4MGMtNTMgMC05Ni00My05Ni05NkwwIDI1NmMwLTUzIDQzLTk2IDk2LTk2em02NCAxMTJsMTkyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTE5MiAwYy0yNi41IDAtNDgtMjEuNS00OC00OHMyMS41LTQ4IDQ4LTQ4eiJdfSx6UXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVjeWNsZSIsaWNvbjpbNTEyLDUxMixbOTg0Miw5ODUwLDk4NTFdLCJmMWI4IiwiTTE1Mi4zIDYwQzE5OC41LTIwIDMxNC0yMCAzNjAuMiA2MGwzNy4zIDY0LjYgMjcuNy0xNmM4LjQtNC45IDE4LjktNC4yIDI2LjYgMS43czExLjEgMTUuOSA4LjYgMjUuM0w0MzYuOSAyMjNjLTMuNCAxMi44LTE2LjYgMjAuNC0yOS40IDE3bC04Ny40LTIzLjRjLTkuNC0yLjUtMTYuMy0xMC40LTE3LjYtMjBzMy40LTE5LjEgMTEuOC0yMy45bDI3LjctMTYtMzcuMy02NC42Yy0yMS42LTM3LjMtNzUuNC0zNy4zLTk3IDBsLTUuMyA5LjFjLTguOCAxNS4zLTI4LjQgMjAuNS00My43IDExLjdTMTM4LjIgODQuNSAxNDcgNjkuMWw1LjMtOS4xek00NDkuNyAyNzkuMWMxNS4zLTguOCAzNC45LTMuNiA0My43IDExLjdsNS4zIDkuMWM0Ni4yIDgwLTExLjUgMTgwLTEwMy45IDE4MGwtNzQuNiAwIDAgMzJjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtNjQtNjRjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDY0LTY0YzYuOS02LjkgMTcuMi04LjkgMjYuMi01LjJzMTQuOCAxMi41IDE0LjggMjIuMmwwIDMyIDc0LjYgMGM0My4xIDAgNzAuMS00Ni43IDQ4LjUtODRsLTUuMy05LjFjLTguOC0xNS4zLTMuNi0zNC45IDExLjctNDMuN3pNNTEgMjM1LjRsLTI3LjctMTZjLTguNC00LjktMTMuMS0xNC4zLTExLjgtMjMuOXM4LjItMTcuNSAxNy42LTIwTDExNi41IDE1MmMxMi44LTMuNCAyNiA0LjIgMjkuNCAxN2wyMy40IDg3LjRjMi41IDkuNC0uOSAxOS4zLTguNiAyNS4zcy0xOC4yIDYuNi0yNi42IDEuN2wtMjcuNy0xNi0zNy4zIDY0LjZjLTIxLjYgMzcuMyA1LjQgODQgNDguNSA4NGwxMC42IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEwLjYgMEMyNS4zIDQ4MC0zMi40IDM4MCAxMy44IDMwMEw1MSAyMzUuNHoiXX0sZjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi13aW5rIixpY29uOls1MTIsNTEyLFsiZ3Jpbi13aW5rIl0sImY1OGMiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4Ni43IDMwOC45YzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS0yMi40IDYxLjMtODEuMyAxMDUuMS0xNTAuMyAxMDUuMVMxMjguMSAzODguMiAxMDUuNyAzMjYuOWMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xek0zMjggMTk2Yy0xMSAwLTIwIDktMjAgMjBzLTkgMjAtMjAgMjAtMjAtOS0yMC0yMGMwLTMzLjEgMjYuOS02MCA2MC02MGwxNiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwIDAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMC05LTIwLTIwLTIwbC0xNiAwek0xNzYgMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sQ1F0PWY5ZSxodGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2F0ZXItbGFkZGVyIixpY29uOls2NDAsNTEyLFsibGFkZGVyLXdhdGVyIiwic3dpbW1pbmctcG9vbCJdLCJmNWM1IiwiTTM3NC41IDQwNS43YzM4LjQtMjkgOTAuNS0yOSAxMjkgMCAxNi45IDEyLjcgMzIuOSAyMS41IDQ3LjggMjQuNiAxMy43IDIuOCAyNy40IC45IDQyLjMtMTAuMyAxMC42LTggMjUuNi01LjkgMzMuNiA0LjdzNS44IDI1LjctNC44IDMzLjZjLTI2LjQgMTkuOS01NC4yIDI0LjQtODAuNyAxOS4xLTI1LjMtNS4xLTQ4LjEtMTguOS02Ny4yLTMzLjMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMjQuMiAxOC4zLTUyLjMgMzUuOS04My40IDM1LjlzLTU5LjEtMTcuNy04My4zLTM1LjljLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAwLTIzLjggMTcuOS01NC4xIDM1LjUtODguMSAzNS4zLTIwLjQtLjEtNDAuNy02LjctNTkuOC0yMS4xLTEwLjYtOC0xMi43LTIzLTQuNy0zMy42czIzLTEyLjcgMzMuNi00LjdjMTEuMyA4LjUgMjEuNiAxMS40IDMxLjIgMTEuNSAxNy42IC4xIDM3LjMtOS40IDU4LjktMjUuNyAzOC40LTI5IDkwLjYtMjkgMTI5IDAgMjQgMTguMSA0MC43IDI2LjMgNTQuNSAyNi4zczMwLjUtOC4yIDU0LjUtMjYuM3pNNTExLjggMzJjNDguMyAwIDg5IDM2IDk1IDgzLjlsMSA4LjJjMi4yIDE3LjUtMTAuMiAzMy41LTI3LjggMzUuN3MtMzMuNS0xMC4yLTM1LjctMjcuOGwtMS04LjJjLTItMTUuOS0xNS41LTI3LjgtMzEuNS0yNy44LTE3LjUgMC0zMS44IDE0LjItMzEuOCAzMS44bDAgMjExLjhjLTIzLjEtNS4xLTQ0LjktNC40LTY0LS40bDAtNTEuMi0xOTIgMCAwIDQ4LjdjLTUuMy0uNS0xMC43LS44LTE2LS43LTE2LjIgLjEtMzIuNCAyLjctNDggOGwwLTIxNi4yYzAtNTIuOSA0Mi45LTk1LjggOTUuNy05NS44IDQ4LjMgMCA4OSAzNiA5NSA4My45bDEgOC4yYzIuMiAxNy41LTEwLjIgMzMuNS0yNy44IDM1LjdzLTMzLjUtMTAuMi0zNS43LTI3LjhsLTEtOC4yYy0yLTE1LjktMTUuNS0yNy44LTMxLjUtMjcuOC0xNy41IDAtMzEuNyAxNC4yLTMxLjcgMzEuOGwwIDk2LjIgMTkyIDAgMC05Ni4yQzQxNiA3NC45IDQ1OC45IDMyIDUxMS44IDMyeiJdfSxfUXQ9aHRlLFRRdD1odGUsTFF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdlbWluaSIsaWNvbjpbNDQ4LDUxMixbXSwiZTg0OSIsIk0zOTUuNCA4YzEzLjItMTEuNyAzMy4zLTEwLjUgNDUuMSAyLjcgMTEuNyAxMy4yIDEwLjUgMzMuNC0yLjcgNDUuMi0yLjcgMi40LTIzLjEgMTkuOC01OC4zIDM2LjgtOC4yIDQtMTcuMiA3LjktMjcgMTEuNmwwIDMwMy4yYzkuOCAzLjggMTguOCA3LjYgMjcgMTEuNiAxOC4yIDguOCAzMi40IDE3LjcgNDIuMiAyNC41IDMgMi4xIDUuNSA0LjEgNy43IDUuNyAxLjIgLjkgMi4zIDEuNiAzLjIgMi40IC4yIC4xIC4zIC4yIC41IC40IDEuMyAxLjEgMi40IDIgMy4yIDIuNiAuNCAuMyAuNyAuNiAuOSAuOCAuMSAuMSAuMyAuMiAuMyAuMyAwIDAgLjEgLjEgLjEgLjFsLjEgMCAwIDAgMCAwYzMuMyAyLjkgNS45IDYuNCA3LjcgMTAuMiA1LjQgMTEuMyAzLjggMjUuMS01IDM1LS4zIC40LS43IC43LTEuMSAxLjEtMTEuOSAxMi4yLTMxLjIgMTMuMS00NCAxLjctLjMtLjMtMS41LTEuMy0zLjUtMi44LS40LS4zLS45LS43LTEuNS0xLjEtMS45LTEuNC00LjItMy4xLTcuMS01LjEtMi4yLTEuNS00LjctMy4xLTcuNC00LjgtNi42LTQuMS0xNC44LTguOC0yNC40LTEzLjUtNy40LTMuNi0xNS42LTcuMi0yNC43LTEwLjUtMTMuNi01LjEtMjktOS42LTQ2LjEtMTIuOS01LjctMS4xLTExLjYtMi4xLTE3LjctMi44LTEyLjEtMS42LTI1LTIuNS0zOC42LTIuNS01NC4yIDAtOTcuNCAxNC40LTEyNyAyOC44LTMuNCAxLjYtNi41IDMuMy05LjUgNC45LTUuMSAyLjgtOS43IDUuNC0xMy44IDcuOS0zLjMgMi4xLTYuMyA0LTguOSA1LjctMS43IDEuMi0zLjIgMi4zLTQuNiAzLjMtMS45IDEuNC0zLjUgMi41LTQuNiAzLjQtMS40IDEuMS0yLjIgMS44LTIuNSAyLTEzLjIgMTEuNy0zMy4zIDEwLjUtNDUuMS0yLjgtMi4yLTIuNS00LTUuMi01LjItOC4xcy0yLjEtNS45LTIuNS04LjljLTEuNC0xMC4yIDIuMi0yMC44IDEwLjQtMjguMiAuMi0uMiAuNi0uNSAxLjItMSAuMS0uMSAuMi0uMiAuMy0uM2wzLjItMi42YzEuNy0xLjMgMy43LTIuOCA2LjItNC42IDEuNi0xLjIgMy4zLTIuNSA1LjItMy44IDkuOC02LjggMjQtMTUuNyA0Mi4yLTI0LjUgOC4yLTQgMTcuMi03LjkgMjctMTEuNmwwLTMwMy4yQzg2LjcgMTAwLjYgNzcuNyA5Ni43IDY5LjUgOTIuOCAzNC4zIDc1LjcgMTQgNTguMyAxMS4zIDU1LjktMS45IDQ0LjItMy4xIDI0IDguNiAxMC43IDIwLjMtMi41IDQwLjUtMy43IDUzLjcgOCA1NS4xIDkuMiA3MC43IDIyLjIgOTcuNSAzNS4yIDEyNy4xIDQ5LjYgMTcwLjMgNjQgMjI0LjUgNjRzOTcuNC0xNC40IDEyNy0yOC44YzI2LjgtMTMgNDIuNC0yNiA0My44LTI3LjJ6TTI4OC41IDEyMi4zYy0xOS43IDMuNS00MSA1LjctNjQgNS43cy00NC4zLTIuMi02NC01LjdsMCAyNjcuNGMxMi42LTIuMyAyNS45LTQgMzkuOS00LjkgNy44LS41IDE1LjgtLjggMjQtLjggMjMgMCA0NC40IDIuMiA2NCA1LjdsMC0yNjcuNHoiXX0sJFF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvd2VyLWNlbGwiLGljb246WzU3Niw1MTIsW10sImU1ODUiLCJNNTkuNiA5LjhDNDcuMyA0LjggMzMuMyAxMC43IDI4LjQgMjMgMTUuMiA1NS41IDggOTAuOSA4IDEyOHM3LjIgNzIuNSAyMC40IDEwNWM1IDEyLjMgMTkgMTguMiAzMS4zIDEzLjJzMTguMi0xOSAxMy4yLTMxLjNDNjIgMTg4LjIgNTYgMTU4LjggNTYgMTI4czYtNjAuMiAxNi45LTg3YzUtMTIuMy0xLTI2LjMtMTMuMi0zMS4zem00NTYuOCAwYy0xMi4zIDUtMTguMiAxOS0xMy4yIDMxLjMgMTAuOSAyNi44IDE2LjkgNTYuMiAxNi45IDg3cy02IDYwLjItMTYuOSA4N2MtNSAxMi4zIDEgMjYuMyAxMy4yIDMxLjNzMjYuMy0xIDMxLjMtMTMuMmMxMy4xLTMyLjUgMjAuNC02Ny45IDIwLjQtMTA1cy03LjItNzIuNS0yMC40LTEwNWMtNS0xMi4zLTE5LTE4LjItMzEuMy0xMy4yek0zNDAuMSAxNjUuMmM3LjUtMTAuNSAxMS45LTIzLjMgMTEuOS0zNy4yIDAtMzUuMy0yOC43LTY0LTY0LTY0cy02NCAyOC43LTY0IDY0YzAgMTMuOSA0LjQgMjYuNyAxMS45IDM3LjJMOTguOSA0NjYuOGMtNy4zIDE2LjEtLjIgMzUuMSAxNS45IDQyLjRzMzUuMSAuMiA0Mi40LTE1LjlsMjAuNi00NS4yIDIyMC42IDAgMjAuNiA0NS4yYzcuMyAxNi4xIDI2LjMgMjMuMiA0Mi40IDE1LjlzMjMuMi0yNi4zIDE1LjktNDIuNEwzNDAuMSAxNjUuMnpNMzc2LjUgNDAwbC0xNzcgMCAyMS44LTQ4IDEzMy4zIDAgMjEuOCA0OHpNMjg4IDIwNS4zbDQ0LjggOTguNy04OS43IDAgNDQuOC05OC43ek0xNjMuMyA3My42YzUuMy0xMi4xLS4yLTI2LjMtMTIuNC0zMS42cy0yNi4zIC4yLTMxLjYgMTIuNEMxMDkuNSA3NyAxMDQgMTAxLjkgMTA0IDEyOHM1LjUgNTEgMTUuMyA3My42YzUuMyAxMi4xIDE5LjUgMTcuNyAzMS42IDEyLjRzMTcuNy0xOS41IDEyLjQtMzEuNkMxNTYgMTY1LjggMTUyIDE0Ny40IDE1MiAxMjhzNC0zNy44IDExLjMtNTQuNHpNNDU2LjcgNTQuNGMtNS4zLTEyLjEtMTkuNS0xNy43LTMxLjYtMTIuNHMtMTcuNyAxOS41LTEyLjQgMzEuNkM0MjAgOTAuMiA0MjQgMTA4LjYgNDI0IDEyOHMtNCAzNy44LTExLjMgNTQuNGMtNS4zIDEyLjEgLjIgMjYuMyAxMi40IDMxLjZzMjYuMy0uMiAzMS42LTEyLjRDNDY2LjUgMTc5IDQ3MiAxNTQuMSA0NzIgMTI4cy01LjUtNTEtMTUuMy03My42eiJdfSxEUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29sb24tc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTE0MCIsIk0yMTMuOCA4LjdjMTIuOSAzLjIgMjAuNyAxNi4yIDE3LjUgMjkuMWwtNC42IDE4LjVjMTUuNCAuOCAzMC40IDMuNCA0NC43IDcuNWw5LjQtMzcuNkMyODMuOSAxMy4zIDI5NyA1LjUgMzA5LjggOC43UzMzMC41IDI1IDMyNy4zIDM3LjhMMzE2IDgyLjhjMTMuNSA3LjggMjYgMTcuMSAzNy4yIDI3LjggMTIuOSAxMi4xIDEzLjQgMzIuNCAxLjMgNDUuMnMtMzIuNCAxMy40LTQ1LjIgMS4zYy0zLjEtMi45LTYuNC01LjgtOS44LTguNEwyMzkuMiAzOTBjMjYuOS00LjYgNTEuMS0xNy4xIDcwLjEtMzUuMSAxMi45LTEyLjEgMzMuMS0xMS41IDQ1LjIgMS4zczExLjUgMzMuMS0xLjMgNDUuMmMtMzQuMyAzMi4zLTgwIDUyLjgtMTMwLjUgNTQuNGwtNy41IDI5LjljLTMuMiAxMi45LTE2LjIgMjAuNy0yOS4xIDE3LjVzLTIwLjctMTYuMi0xNy41LTI5LjFsNS42LTIyLjVjLTE1LTMuMi0yOS40LTgtNDIuOS0xNC40bC0xMi4xIDQ4LjVjLTMuMiAxMi45LTE2LjIgMjAuNy0yOS4xIDE3LjVTNjkuNSA0ODcgNzIuNyA0NzQuMmwxNi02My45QzQ0LjMgMzczLjYgMTYgMzE4LjEgMTYgMjU2IDE2IDE1OS4yIDg0LjggNzguNCAxNzYuMyA2MGw4LjQtMzMuOEMxODcuOSAxMy4zIDIwMSA1LjUgMjEzLjggOC43ek0xNTggMTMyLjljLTQ2LjEgMjEuOC03OCA2OC43LTc4IDEyMy4xIDAgMzAuNSAxMCA1OC42IDI2LjkgODEuM0wxNTggMTMyLjl6TTE0Ny40IDM3My40YzEzIDcuNiAyNy4zIDEzLjEgNDIuNSAxNi4xbDY1LjktMjYzLjZjLTEyLjYtMy44LTI1LjktNS45LTM5LjgtNS45LTEuOCAwLTMuNSAwLTUuMyAuMUwxNDcuNCAzNzMuNHoiXX0sQVF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhcHRvcC1maWxlIixpY29uOls1NzYsNTEyLFtdLCJlNTFkIiwiTTY0IDY0QzY0IDI4LjcgOTIuNyAwIDEyOCAwTDQxNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNDgtNjQgMCAwLTQ4LTI4OCAwIDAgMTkyIDExMiAwIDAgOTYtMTYzLjIgMEMzNC40IDM1MiAwIDMxNy42IDAgMjc1LjIgMCAyNjQuNiA4LjYgMjU2IDE5LjIgMjU2TDY0IDI1NiA2NCA2NHpNNTI5LjkgMjU3LjljOSA5IDE0LjEgMjEuMiAxNC4xIDMzLjlMNTQ0IDQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTYwIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMjU2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDc2LjEgMGMxMi43IDAgMjQuOSA1LjEgMzMuOSAxNC4xIDIwIDIwIDQ3LjkgNDcuOSA4My45IDgzLjl6TTQxNiAyNzJjMCA4LjggNy4yIDE2IDE2IDE2bDYwLjEgMC03Ni4xLTc2LjEgMCA2MC4xeiJdfSxoOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFoYWkiLGljb246WzU3Niw1MTIsWyJoYXlrYWwiXSwiZjY2NiIsIk0yODguNC04YzEzLjIgMCAyNSA4LjEgMjkuOCAyMC40bDMxLjkgODIgNzcuMi00Mi4zYzExLjYtNi4zIDI1LjgtNC45IDM1LjkgMy41czE0IDIyLjMgOS43IDM0LjhsLTI4LjIgODMuMyA4Ni4zIDE3LjJjMTIuOSAyLjYgMjMgMTIuOCAyNS4zIDI1LjhzLTMuNiAyNi4xLTE0LjkgMzIuOWwtNzUuMiA0NS43IDU1IDY4LjZjOC4zIDEwLjMgOS4zIDI0LjYgMi43IDM2cy0xOS41IDE3LjYtMzIuNiAxNS42bC04Ny0xMy4zLTIgODhjLS4zIDEzLjItOC42IDI0LjgtMjEgMjkuNHMtMjYuMyAxLTM1LTlsLTU4LTY2LjEtNTggNjYuMWMtOC43IDkuOS0yMi42IDEzLjUtMzUgOXMtMjAuOC0xNi4yLTIxLTI5LjRsLTItODgtODcgMTMuM2MtMTMgMi0yNi00LjItMzIuNi0xNS42cy01LjUtMjUuNyAyLjctMzZsNTUtNjguNi03NS4yLTQ1LjdjLTExLjMtNi44LTE3LjItMTkuOS0xNC45LTMyLjlzMTIuMy0yMy4yIDI1LjMtMjUuOGw4Ni4zLTE3LjItMjguMi04My4zYy00LjItMTIuNS0uNC0yNi4zIDkuNy0zNC44czI0LjQtOS45IDM1LjktMy41bDc3LjEgNDIuMyAzMS45LTgyQzI2My4zIC4xIDI3NS4yLTggMjg4LjQtOHptMCAxMjAuMkwyNzMgMTUxLjZjLTMuMyA4LjYtMTAuMiAxNS4zLTE4LjkgMTguNXMtMTguMiAyLjQtMjYuMy0ybC0zNy0yMC4zIDEzLjYgNDBjMyA4LjcgMiAxOC4zLTIuNiAyNi4zcy0xMi40IDEzLjYtMjEuNSAxNS40bC00MS40IDguMyAzNi4xIDIxLjljNy45IDQuOCAxMy4zIDEyLjcgMTQuOSAyMS44cy0uOCAxOC40LTYuNSAyNS42bC0yNi40IDMzIDQxLjgtNi40YzkuMS0xLjQgMTguNCAxLjIgMjUuNCA3LjFzMTEuMiAxNC42IDExLjQgMjMuOGwuOSA0Mi4yIDI3LjktMzEuOGM2LjEtNi45IDE0LjgtMTAuOSAyNC4xLTEwLjlzMTggNCAyNC4xIDEwLjlsMjcuOSAzMS44IC45LTQyLjJjLjItOS4yIDQuNC0xNy45IDExLjQtMjMuOHMxNi4zLTguNSAyNS40LTcuMWw0MS44IDYuNC0yNi40LTMzYy01LjgtNy4yLTguMi0xNi41LTYuNi0yNS42czctMTcgMTQuOS0yMS44bDM2LjEtMjEuOS00MS40LTguM2MtOS0xLjgtMTYuOS03LjQtMjEuNS0xNS40cy01LjUtMTcuNi0yLjYtMjYuM2wxMy42LTQwLTM3IDIwLjNjLTguMSA0LjQtMTcuNyA1LjItMjYuMyAycy0xNS41LTkuOS0xOC45LTE4LjVsLTE1LjMtMzkuNHoiXX0sUFF0PWg5ZSxtOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktYmlsbC0xIixpY29uOls1MTIsNTEyLFsibW9uZXktYmlsbC1hbHQiXSwiZjNkMSIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHptMTkyIDgwYTExMiAxMTIgMCAxIDEgMCAyMjQgMTEyIDExMiAwIDEgMSAwLTIyNHpNNjQgMTg0bDAtNDhjMC00LjQgMy42LTggOC04bDQ4IDBjNC40IDAgOC4xIDMuNiA3LjUgOC0zLjYgMjktMjYuNiA1MS45LTU1LjUgNTUuNS00LjQgLjUtOC0zLjEtOC03LjV6bTAgMTQ0YzAtNC40IDMuNi04LjEgOC03LjUgMjkgMy42IDUxLjkgMjYuNiA1NS41IDU1LjUgLjUgNC40LTMuMSA4LTcuNSA4bC00OCAwYy00LjQgMC04LTMuNi04LThsMC00OHpNNDQwIDE5MS41Yy0yOS0zLjYtNTEuOS0yNi42LTU1LjUtNTUuNS0uNS00LjQgMy4xLTggNy41LThsNDggMGM0LjQgMCA4IDMuNiA4IDhsMCA0OGMwIDQuNC0zLjYgOC4xLTggNy41ek00NDggMzI4bDAgNDhjMCA0LjQtMy42IDgtOCA4bC00OCAwYy00LjQgMC04LjEtMy42LTcuNS04IDMuNi0yOSAyNi42LTUxLjkgNTUuNS01NS41IDQuNC0uNSA4IDMuMSA4IDcuNXpNMjQwIDE4OGMtMTEgMC0yMCA5LTIwIDIwIDAgOS43IDYuOSAxNy43IDE2IDE5LjZsMCA0OC40LTQgMGMtMTEgMC0yMCA5LTIwIDIwczkgMjAgMjAgMjBsNDggMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTQgMCAwLTY4YzAtMTEtOS0yMC0yMC0yMGwtMTYgMHoiXX0sRVF0PW05ZSxnOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtYm9sdCIsaWNvbjpbNTEyLDUxMixbMTI3Nzg1LCJ0aHVuZGVyc3Rvcm0iXSwiZjc2YyIsIk0wIDIyNGMwIDUzIDQzIDk2IDk2IDk2bDM4LjYgMCAxMjQuMS0xMTFjMTIuMi0xMC45IDI4LTE3IDQ0LjQtMTcgNDQuNiAwIDc2LjUgNDMgNjMuNyA4NS43TDM1NC4xIDMyMCA0MTYgMzIwYzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2Yy0uNSAwLTEuMSAwLTEuNiAwIDEuMS01LjIgMS42LTEwLjUgMS42LTE2IDAtNDQuMi0zNS44LTgwLTgwLTgwLTI0LjMgMC00Ni4xIDEwLjktNjAuOCAyOC0xOC43LTM1LjctNTYuMS02MC05OS4yLTYwLTYxLjkgMC0xMTIgNTAuMS0xMTIgMTEyIDAgNy4xIC43IDE0LjEgMS45IDIwLjgtMzguMyAxMi42LTY1LjkgNDguNy02NS45IDkxLjJ6TTE2MC42IDQwMGw2MS44IDAtMzEuMiAxMDQuMWMtMy42IDExLjkgNS4zIDIzLjkgMTcuOCAyMy45IDQuNiAwIDktMS43IDEyLjQtNC43TDM2Mi41IDM5Ni45YzMuNS0zLjEgNS41LTcuNiA1LjUtMTIuNCAwLTkuMi03LjQtMTYuNi0xNi42LTE2LjZsLTYxLjggMCAzMS4yLTEwNC4xYzMuNi0xMS45LTUuMy0yMy45LTE3LjgtMjMuOS00LjYgMC05IDEuNy0xMi40IDQuN0wxNDkuNSAzNzEuMWMtMy41IDMuMS01LjUgNy42LTUuNSAxMi40IDAgOS4yIDcuNCAxNi42IDE2LjYgMTYuNnoiXX0sSVF0PWc5ZSxOUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXRoZXJuZXQiLGljb246WzUxMiw1MTIsW10sImY3OTYiLCJNMCAyMjRMMCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMCAwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTA0IDY0IDAgMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwNCA2NCAwIDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDQgNjQgMCAwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTA0IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJsLTMyIDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDE2MCA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMi0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyeiJdfSxiOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaHJ5dm5pYS1zaWduIixpY29uOlszODQsNTEyLFs4MzcyLCJocnl2bmlhIl0sImY2ZjIiLCJNMzM2IDE0OS40QzMzNiA3NyAyNjguNSAyMy41IDE5OCA0MC4xTDkzLjIgNjQuOUM3NiA2OC45IDY1LjQgODYuMiA2OS40IDEwMy40czIxLjMgMjcuOSAzOC41IDIzLjhsMTA0LjgtMjQuN2MzMC4zLTcuMSA1OS4zIDE1LjggNTkuMyA0Ni45IDAgMTcuNi05LjYgMzMuOC0yNSA0Mi4zbC0uNyAuNC0yMjIuMyAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMzNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMi40IDBjNS41LTEzLjMgOC40LTI3LjggOC40LTQyLjZ6TTM2MCAyNzJMMjQgMjcyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMzLjMgMGMtNi4xIDEzLjQtOS4zIDI4LjEtOS4zIDQzLjMgMCA2NC4xIDU2LjkgMTEzLjQgMTIwLjQgMTA0LjJsMTM3LjktMTkuOWMxNy41LTIuNSAyOS42LTE4LjcgMjcuMS0zNi4ycy0xOC44LTI5LjYtMzYuMi0yNy4xTDE1OS4yIDQwNC4yYy0yNC45IDMuNi00Ny4yLTE1LjctNDcuMi00MC45IDAtMTUuMSA4LjItMjguOSAyMS40LTM2LjJsMTMtNy4xIDIxMy42IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjR6Il19LFJRdD1iOWUsQnRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV5ZS1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjA3MCIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC05Ni40LTk2LjRjMi43LTIuNCA1LjQtNC44IDgtNy4yIDQ2LjgtNDMuNSA3OC4xLTk1LjQgOTMtMTMxLjEgMy4zLTcuOSAzLjMtMTYuNyAwLTI0LjYtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMS00Ny4xLTQzLjctMTExLjgtODAuNi0xOTIuNi04MC42LTU2LjggMC0xMDUuNiAxOC4yLTE0NiA0NC4yTDQxLTI0Ljl6TTIwNC41IDEzOC43YzIzLjUtMTYuOCA1Mi40LTI2LjcgODMuNS0yNi43IDc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0IDAgMzEuMS05LjkgNTkuOS0yNi43IDgzLjVsLTM0LjctMzQuN2MxMi43LTIxLjQgMTctNDcuNyAxMC4xLTczLjctMTMuNy01MS4yLTY2LjQtODEuNi0xMTcuNi02Ny45LTguNiAyLjMtMTYuNyA1LjctMjQgMTBsLTM0LjctMzQuN3pNMzI1LjMgMzk1LjFjLTExLjkgMy4yLTI0LjQgNC45LTM3LjMgNC45LTc5LjUgMC0xNDQtNjQuNS0xNDQtMTQ0IDAtMTIuOSAxLjctMjUuNCA0LjktMzcuM0w2OS40IDEzOS4yYy0zMi42IDM2LjgtNTUgNzUuOC02Ni45IDEwNC41LTMuMyA3LjktMy4zIDE2LjcgMCAyNC42IDE0LjkgMzUuNyA0Ni4yIDg3LjcgOTMgMTMxLjEgNDcuMSA0My43IDExMS44IDgwLjYgMTkyLjYgODAuNiAzNy4zIDAgNzEuMi03LjkgMTAxLjUtMjAuNmwtNjQuMi02NC4yeiJdfSx2OWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FydC1mbGF0YmVkLXN1aXRjYXNlIixpY29uOls1NzYsNTEyLFsibHVnZ2FnZS1jYXJ0Il0sImY1OWQiLCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMNDggMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsNDAwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM0LjcgMGMxLjggNSAyLjcgMTAuNCAyLjcgMTYgMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC01LjYgMS0xMSAyLjctMTZsLTE5Ny41IDBjMS44IDUgMi43IDEwLjQgMi43IDE2IDAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtNiAxLjEtMTEuNyAzLjEtMTctMzguMS02LjItNjcuMS0zOS4yLTY3LjEtNzlMNjQgODBjMC04LjgtNy4yLTE2LTE2LTE2TDMyIDY0QzE0LjMgNjQgMCA0OS43IDAgMzJ6TTE3NiAxNDRjMC0yNi41IDIxLjUtNDggNDgtNDhsMzIgMCAwLTI0YzAtMzAuOSAyNS4xLTU2IDU2LTU2bDY0IDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZsMCAyNCAzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTQ0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yNDAgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNDR6TTM4NCA5NmwwLTI0YzAtNC40LTMuNi04LTgtOGwtNjQgMGMtNC40IDAtOCAzLjYtOCA4bDAgMjQgODAgMHoiXX0sT1F0PXY5ZSxGUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmFkaWF0aW9uIixpY29uOls1NzYsNTEyLFtdLCJmN2I5IiwiTTQ0Ni4yIDM0LjVjLTE0LjItMTAuMS0zMy41LTQuNi00Mi4yIDEwLjVMMzMxLjYgMTcwLjNjMzEuMyAxNS44IDUyLjggNDguMyA1Mi44IDg1LjdsMTQ0IDBjMTcuNyAwIDMyLjItMTQuNCAzMC4xLTMxLjktOS4xLTc4LjEtNTEuNC0xNDYuMS0xMTIuMy0xODkuNnpNMTcyLjcgNDQuOUMxNjQgMjkuOCAxNDQuNyAyNC4zIDEzMC41IDM0LjUgNjkuNiA3Ny45IDI3LjMgMTQ1LjkgMTguMiAyMjQuMSAxNi4xIDI0MS42IDMwLjcgMjU2IDQ4LjMgMjU2bDE0NCAwYzAtMzcuNSAyMS41LTY5LjkgNTIuOC04NS43TDE3Mi43IDQ0Ljl6bS05LjQgNDE2LjhjLTguNyAxNS4xLTMuOCAzNC41IDEyIDQxLjggMzQuNCAxNS43IDcyLjcgMjQuNSAxMTMgMjQuNXM3OC42LTguOCAxMTMtMjQuNWMxNS44LTcuMiAyMC43LTI2LjcgMTItNDEuOEwzNDEgMzM2LjNjLTE1LjEgOS45LTMzLjIgMTUuNy01Mi42IDE1LjdzLTM3LjUtNS44LTUyLjYtMTUuN0wxNjMuMyA0NjEuN3pNMjg4LjMgMzA0YTQ4IDQ4IDAgMSAwIC0uNy05NiA0OCA0OCAwIDEgMCAuNyA5NnoiXX0sQlF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtd29yZCIsaWNvbjpbMzg0LDUxMixbXSwiZjFjMiIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTM1LjQgMjc0LjhjLTIuOS0xMi45LTE1LjctMjEuMS0yOC42LTE4LjJzLTIxLjEgMTUuNy0xOC4yIDI4LjZsMzIgMTQ0YzIuMyAxMC41IDExLjQgMTguMiAyMi4yIDE4LjhzMjAuNi02LjEgMjQtMTYuNGwyNS4yLTc1LjcgMjUuMiA3NS43YzMuNCAxMC4yIDEzLjIgMTYuOSAyNCAxNi40czE5LjktOC4yIDIyLjItMTguOGwzMi0xNDRjMi45LTEyLjktNS4zLTI1LjgtMTguMi0yOC42cy0yNS44IDUuMy0yOC42IDE4LjJsLTEzLjIgNTkuNC0yMC42LTYxLjhjLTMuMy05LjgtMTIuNC0xNi40LTIyLjgtMTYuNHMtMTkuNSA2LjYtMjIuOCAxNi40bC0yMC42IDYxLjgtMTMuMi01OS40eiJdfSx4OWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmVkLXB1bHNlIixpY29uOls2NDAsNTEyLFsicHJvY2VkdXJlcyJdLCJmNDg3IiwiTTUzMS4yLTIyLjRMNTcyIDMyIDYxNiAzMmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNTYgMGMtNy42IDAtMTQuNy0zLjYtMTkuMi05LjZsLTI0LjEtMzIuMS00NyA5OS45Yy0zLjcgNy44LTExLjMgMTMuMS0xOS45IDEzLjdzLTE2LjktMy40LTIxLjctMTAuNkwzODcuMiA4MCAzNDQgODBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNTYgMGM4IDAgMTUuNSA0IDIwIDEwLjdsMjQuNCAzNi42IDQ1LjktOTcuNWMzLjYtNy42IDEwLjktMTIuOCAxOS4zLTEzLjdzMTYuNiAyLjcgMjEuNiA5LjV6TTMyMCAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJsOS41IDAgMjYuNiAzOS45YzE0LjQgMjEuNiAzOS4zIDMzLjggNjUuMiAzMS45czQ4LjgtMTcuNiA1OS44LTQxLjFMNTI3IDEyOS4yYzQ1LjkgNy4yIDgxIDQ2LjkgODEgOTQuOGwwIDIyNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0LTQ0OCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMMzIgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJTOTYgNDYuMyA5NiA2NGwwIDIyNCAyMjQgMCAwLTEyOHpNMTQ0IDE5MmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6Il19LEhRdD14OWUscVF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbnRzIixpY29uOls1NzYsNTEyLFtdLCJlNTgyIiwiTTUzOS45IDM1MmwtOTUuNiAwLTguNC02Ni4xYy0yLjktMjMuMi0xNS45LTQzLjktMzUuNC01Ni44TDI1Mi4yIDEzMS41Yy0xOC0xMS45LTM5LjctMTUuNy02MC4xLTExLjUgMi41LTQuMyA1LjktNy45IDEwLjEtMTAuN0wzNTAuNiAxMS42YzEwLjctNyAyNC41LTcgMzUuMiAwbDE0OC40IDk3LjdjNy44IDUuMSAxMyAxMy40IDE0LjIgMjIuN2wyMy4zIDE4NGMyLjQgMTkuMS0xMi41IDM2LTMxLjcgMzZ6TTQuOCA0NzZsMjMuMy0xODRjMS4yLTkuMyA2LjMtMTcuNiAxNC4yLTIyLjdsMTQ4LjQtOTcuN2MxMC43LTcgMjQuNS03IDM1LjIgMGwxNDguNCA5Ny43YzcuOCA1LjEgMTMgMTMuNCAxNC4yIDIyLjdsMjMuMyAxODRjMi40IDE5LjEtMTIuNSAzNi0zMS43IDM2bC00OS43IDBjLTExLjIgMC0yMS41LTUuOC0yNy4zLTE1LjRsLTc3LTEyNi43Yy0xLjctMi44LTQuOC00LjYtOC4xLTQuNi01LjMgMC05LjUgNC4zLTkuNSA5LjVsMCAxMDUuMmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzNi41IDUxMmMtMTkuMyAwLTM0LjItMTYuOS0zMS43LTM2eiJdfSxIdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibXVnLWhvdCIsaWNvbjpbNTc2LDUxMixbOTc0OV0sImY3YjYiLCJNMTUyLTE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNCAwIDM4LjkgMjMuNCA1OS40IDM5LjEgNzMuMWwxLjEgMWMxNi4zIDE0LjMgMjMuOCAyMS44IDIzLjggMzcuOSAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMzguOS0yMy40LTU5LjQtMzkuMS03My4xbC0xLjEtMUMxODMuNSAzMS43IDE3NiAyNC4xIDE3NiA4IDE3Ni01LjMgMTY1LjMtMTYgMTUyLTE2ek05NiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTkyYzAgNTMgNDMgOTYgOTYgOTZsMTkyIDBjNDEuOCAwIDc3LjQtMjYuNyA5MC41LTY0bDUuNSAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4UzUxOC43IDE5MiA0NDggMTkyTDk2IDE5MnpNNDQ4IDM4NGwwLTEyOGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NHpNMjg4IDhjMC0xMy4zLTEwLjctMjQtMjQtMjRTMjQwLTUuMyAyNDAgOGMwIDM4LjkgMjMuNCA1OS40IDM5LjEgNzMuMWwxLjEgMWMxNi4zIDE0LjMgMjMuOCAyMS44IDIzLjggMzcuOSAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMzguOS0yMy40LTU5LjQtMzkuMS03My4xbC0xLjEtMUMyOTUuNSAzMS43IDI4OCAyNC4xIDI4OCA4eiJdfSx5OWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9sdCIsaWNvbjpbNDQ4LDUxMixbOTg4OSwiemFwIl0sImYwZTciLCJNMzM4LjgtOS45YzExLjkgOC42IDE2LjMgMjQuMiAxMC45IDM3LjhMMjcxLjMgMjI0IDQxNiAyMjRjMTMuNSAwIDI1LjUgOC40IDMwLjEgMjEuMXMuNyAyNi45LTkuNiAzNS41bC0yODggMjQwYy0xMS4zIDkuNC0yNy40IDkuOS0zOS4zIDEuM3MtMTYuMy0yNC4yLTEwLjktMzcuOEwxNzYuNyAyODggMzIgMjg4Yy0xMy41IDAtMjUuNS04LjQtMzAuMS0yMS4xcy0uNy0yNi45IDkuNi0zNS41bDI4OC0yNDBjMTEuMy05LjQgMjcuNC05LjkgMzkuMy0xLjN6Il19LFZRdD15OWUsalF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImphciIsaWNvbjpbMzIwLDUxMixbXSwiZTUxNiIsIk0zMi04YzAtMTMuMyAxMC43LTI0IDI0LTI0bDIwOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDU2IDE2QzQyLjcgMTYgMzIgNS4zIDMyLTh6TTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTk2IDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiAxOTJ6Il19LFVRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1wbGFuZSIsaWNvbjpbNjQwLDUxMixbXSwiZTU4ZiIsIk0xNDQgNDhjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDMyMGMwIDMyLjUgMTIuMSA2Mi4xIDMyIDg0LjdsMCAyNy4zYzAgNy4xIC45IDE0LjEgMi43IDIwLjdMMTkyIDQ4MCA4My45IDUwN0M3My44IDUwOS42IDY0IDUwMS45IDY0IDQ5MS41bDAtMTkuOGMwLTQuOSAyLjItOS41IDYtMTIuNWw3NC01OS4yIDAtNTcuNi0xMjIuMSA0OC44QzExLjQgMzk1LjQgMCAzODcuNyAwIDM3Ni40bDAtNDRjMC04IDMtMTUuNiA4LjMtMjEuNUwxNDQgMTYxLjYgMTQ0IDQ4em0yMjQgODBsMTkyIDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxNjBjMCAyNi4yLTEyLjYgNDkuNC0zMiA2NGwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMTYwIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTQ4Yy0xOS40LTE0LjYtMzItMzcuOC0zMi02NGwwLTE2MGMwLTQ0LjIgMzUuOC04MCA4MC04MHptMCAxNzZsMTkyIDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzJ6bTAgODhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yMTYtMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sV1F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtaG9sZGluZy1oZWFydCIsaWNvbjpbNTc2LDUxMixbXSwiZjRiZSIsIk0yNzkuNiAzMUMyNjUuNSAxMS41IDI0Mi45IDAgMjE4LjkgMCAxNzcuNSAwIDE0NCAzMy41IDE0NCA3NC45bDAgMi40YzAgNjQuNCA4MiAxMzMuNCAxMjIuMiAxNjMuMyAxMyA5LjcgMzAuNSA5LjcgNDMuNSAwIDQwLjItMzAgMTIyLjItOTguOSAxMjIuMi0xNjMuM2wwLTIuNGMwLTQxLjQtMzMuNS03NC45LTc0LjktNzQuOS0yNCAwLTQ2LjYgMTEuNS02MC43IDMxTDI4OCA0Mi43IDI3OS42IDMxek0xMDkuMyAzNDEuNUw2Ni43IDM4NCAzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwLjUgMGMyOSAwIDU3LjMtOS4zIDgwLjctMjYuNWwxMjYuNi05My4zYzE3LjgtMTMuMSAyMS42LTM4LjEgOC41LTU1LjlzLTM4LjEtMjEuNi01NS45LTguNUwzOTIuNiA0MTYgMjgwIDQxNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw3MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNTIuMiAwYy0zMy45IDAtNjYuNSAxMy41LTkwLjUgMzcuNXoiXX0sWTg9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcm90YXRlLWxlZnQiLGljb246WzUxMiw1MTIsWzg2MzQsImFycm93LWxlZnQtcm90YXRlIiwiYXJyb3ctcm90YXRlLWJhY2siLCJhcnJvdy1yb3RhdGUtYmFja3dhcmQiLCJ1bmRvIl0sImYwZTIiLCJNMjU2IDY0Yy01Ni44IDAtMTA3LjkgMjQuNy0xNDMuMSA2NGw0Ny4xIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMTkyYy0xNy43IDAtMzItMTQuMy0zMi0zMkwwIDMyQzAgMTQuMyAxNC4zIDAgMzIgMFM2NCAxNC4zIDY0IDMybDAgNTQuN0MxMTAuOSAzMy42IDE3OS41IDAgMjU2IDAgMzk3LjQgMCA1MTIgMTE0LjYgNTEyIDI1NlMzOTcuNCA1MTIgMjU2IDUxMmMtODcgMC0xNjMuOS00My40LTIxMC4xLTEwOS43LTEwLjEtMTQuNS02LjYtMzQuNCA3LjktNDQuNnMzNC40LTYuNiA0NC42IDcuOWMzNC44IDQ5LjggOTIuNCA4Mi4zIDE1Ny42IDgyLjMgMTA2IDAgMTkyLTg2IDE5Mi0xOTJTMzYyIDY0IDI1NiA2NHoiXX0sR1F0PVk4LFlRdD1ZOCxLUXQ9WTgsWlF0PVk4LHc5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWFuZ3J5IixpY29uOls1MTIsNTEyLFsxMjg1NDQsImFuZ3J5Il0sImY1NTYiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHpNMjU2IDM2OGMyNC4xIDAgNDUuNCAxMS44IDU4LjUgMzAgNy43IDEwLjggMjIuNyAxMy4yIDMzLjUgNS41czEzLjItMjIuNyA1LjUtMzMuNWMtMjEuNy0zMC4yLTU3LjMtNTAtOTcuNS01MHMtNzUuNyAxOS44LTk3LjUgNTBjLTcuNyAxMC44LTUuMyAyNS44IDUuNSAzMy41czI1LjggNS4zIDMzLjUtNS41YzEzLjEtMTguMiAzNC40LTMwIDU4LjUtMzB6bS04MC05NmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLS4zIDkuNyAzLjJjMTAuNSAzLjUgMjEuOC0yLjIgMjUuMy0xMi42cy0yLjItMjEuOC0xMi42LTI1LjNsLTk2LTMyYy0xMC41LTMuNS0yMS44IDIuMi0yNS4zIDEyLjZzMi4yIDIxLjggMTIuNiAyNS4zbDI4LjkgOS42Yy00LjEgNS40LTYuNiAxMi4xLTYuNiAxOS40IDAgMTcuNyAxNC4zIDMyIDMyIDMyem0xOTItMzJjMC03LjMtMi40LTE0LTYuNi0xOS40bDI4LjktOS42YzEwLjUtMy41IDE2LjEtMTQuOCAxMi42LTI1LjNzLTE0LjgtMTYuMS0yNS4zLTEyLjZsLTk2IDMyYy0xMC41IDMuNS0xNi4xIDE0LjgtMTIuNiAyNS4zczE0LjggMTYuMSAyNS4zIDEyLjZsOS43LTMuMiAwIC4zYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJ6Il19LFhRdD13OWUsUVF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1cnN0IixpY29uOls1MTIsNTEyLFtdLCJlNGRjIiwiTTM3LjYgNC4yQzI4LTIuMyAxNS4yLTEuMSA3IDdTLTIuMyAyOCA0LjIgMzcuNmwxMTIgMTYzLjMtOTkuNiAzMi4zQzYuNyAyMzYuNCAwIDI0NS42IDAgMjU2czYuNyAxOS42IDE2LjYgMjIuOGwxMDMuMSAzMy40LTUyLjkgMTAwLjZjLTQuOSA5LjMtMy4yIDIwLjcgNC4zIDI4LjFzMTguOCA5LjIgMjguMSA0LjNsMTAwLjYtNTIuOSAzMy40IDEwMy4xYzMuMiA5LjkgMTIuNCAxNi42IDIyLjggMTYuNnMxOS42LTYuNyAyMi44LTE2LjZsMzMuNC0xMDMuMSAxMDAuNiA1Mi45YzkuMyA0LjkgMjAuNyAzLjIgMjguMS00LjNzOS4yLTE4LjggNC4zLTI4LjFsLTUyLjktMTAwLjYgMTAzLjEtMzMuNGM5LjktMy4yIDE2LjYtMTIuNCAxNi42LTIyLjhzLTYuNy0xOS42LTE2LjYtMjIuOGwtMTA2LjUtMzQuNSAyNS43LTcwLjRjMy4yLTguOCAxLTE4LjYtNS42LTI1LjJzLTE2LjQtOC44LTI1LjItNS42bC03MC40IDI1LjctMzQuNS0xMDYuNUMyNzUuNiA2LjcgMjY2LjQgMCAyNTYgMHMtMTkuNiA2LjctMjIuOCAxNi42TDIwMC45IDExNi4yIDM3LjYgNC4yeiJdfSxKUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToieiIsaWNvbjpbMzg0LDUxMixbMTIyXSwiNWEiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwzMjAgMGMxMi40IDAgMjMuNyA3LjIgMjkgMTguNHMzLjYgMjQuNS00LjQgMzQuMUwxMDAuMyA0MTYgMzUyIDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTEyLjQgMC0yMy43LTcuMi0yOS0xOC40cy0zLjYtMjQuNSA0LjQtMzQuMUwyODMuNyA5NiAzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0eiJdfSxNOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFuZGFnZSIsaWNvbjpbNTc2LDUxMixbMTI5NjU3LCJiYW5kLWFpZCJdLCJmNDYyIiwiTTQ2NCA0MTZsNDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MmMwLTM1LjMtMjguNy02NC02NC02NGwtNDggMCAwIDMyMHpNNDE2IDk2bC0yNTYgMCAwIDMyMCAyNTYgMCAwLTMyMHpNNjQgOTZDMjguNyA5NiAwIDEyNC43IDAgMTYwTDAgMzUyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ4IDAgMC0zMjAtNDggMHpNMjE2IDIwOGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xMjAtMjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek0yMTYgMzA0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyMC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LGVKdD1NOWUsdEp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNjQwLDUxMixbXSwiZTU1NiIsIk0yMzIgMjRjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NmwwIDEyNy4zIDc4IDcxLjVjLTY5LjMgMjktMTE4IDk3LjQtMTE4IDE3Ny4yIDAgNDkuMyAxOC42IDk0LjMgNDkuMSAxMjguM0wyODggNTEyIDE3OS45IDUzOWMtMTAuMSAyLjUtMTkuOS01LjEtMTkuOS0xNS41bDAtMTkuOGMwLTQuOSAyLjItOS41IDYtMTIuNWw2Ni01Mi44IDAtOTkuNy0xNjIuOSA1NC4zQzU4LjcgMzk2LjQgNDggMzg4LjcgNDggMzc3LjhsMC00My43YzAtOSAzLjgtMTcuNSAxMC40LTIzLjZMMjMyIDE1MS4zIDIzMiAyNHpNNDk2IDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTAgMjI4YTIwIDIwIDAgMSAwIDAtNDAgMjAgMjAgMCAxIDAgMCA0MHptMC0xODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC04MGMwLTguOC03LjItMTYtMTYtMTZ6Il19LGFKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidXMtc2lkZSIsaWNvbjpbNjQwLDUxMixbXSwiZTgxZCIsIk00ODAgMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MGwwIDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NGwtNS42IDBjLTEzLjIgMzcuMy00OC42IDY0LTkwLjQgNjRzLTc3LjMtMjYuNy05MC40LTY0bC0xMzkuMSAwYy0xMy4yIDM3LjMtNDguNyA2NC05MC40IDY0cy03Ny4yLTI2LjctOTAuNC02NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA0MyA0MyAwIDk2IDBMNDgwIDB6TTE2MCAzNjhhNDggNDggMCAxIDAgMCA5NiA0OCA0OCAwIDEgMCAwLTk2em0zMjAgMGE0OCA0OCAwIDEgMCAwIDk2IDQ4IDQ4IDAgMSAwIDAtOTZ6bTAtMzA0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtNTMtNDMtOTYtOTYtOTZ6TTI0OCAyMjRsMTA0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTA0IDAgMCAxNjB6TTk2IDY0Qzc4LjMgNjQgNjQgNzguMyA2NCA5NmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwNCAwIDAtMTYwLTEwNCAweiJdfSxySnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVncyIsaWNvbjpbNTc2LDUxMixbXSwiZTRkMCIsIk00NDcuNSAxNzQuNmM4LjgtOC40IDIyLjctOC45IDMyLjItLjhzMTEgMjEuOSA0LjEgMzEuOWwtMS41IDEuOS0yMyAyNi43YzI2LjcgMTMuNSA0Ni4zIDM5LjEgNTEuNCA2OS42bDI1LjMgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjQgMCAwIDMyIDI0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI1LjMgMGMtNy42IDQ1LjQtNDcuMSA4MC05NC43IDgwcy04Ny0zNC42LTk0LjctODBMMjk2IDQzMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNCAwIDAtMzItMjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNS4zIDBjNS4xLTMwLjUgMjQuNy01Ni4xIDUxLjQtNjkuNmwtMjIuOS0yNi43Yy04LjYtMTAuMS03LjUtMjUuMiAyLjYtMzMuOHMyNS4yLTcuNSAzMy44IDIuNmwyOS44IDM0LjggMjkuOC0zNC44IDEuNy0xLjh6bS0yNTYtMTkyYzguOC04LjQgMjIuNy04LjkgMzIuMi0uOHMxMSAyMS45IDQuMSAzMS45bC0xLjUgMS45LTIzIDI2LjdDMjMwIDU1LjkgMjQ5LjUgODEuNSAyNTQuNyAxMTJsMjUuMyAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNCAwIDAgMzIgMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjUuMyAwYy03LjYgNDUuNC00Ny4xIDgwLTk0LjcgODBzLTg3LTM0LjYtOTQuNy04MEw0MCAyNDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjQgMCAwLTMyLTI0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjUuMyAwQzcwLjUgODEuNSA5MCA1NS45IDExNi43IDQyLjRMOTMuOCAxNS42Qzg1LjIgNS42IDg2LjMtOS42IDk2LjQtMTguMnMyNS4yLTcuNSAzMy44IDIuNmwyOS44IDM0LjggMjkuOC0zNC44IDEuNy0xLjh6Il19LGs5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiZWVyLW11Zy1lbXB0eSIsaWNvbjpbNTc2LDUxMixbImJlZXIiXSwiZjBmYyIsIk02NCA4MGMwLTI2LjUgMjEuNS00OCA0OC00OGwyODggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2IDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMDguMmMwIDI0LjItMTMuNyA0Ni40LTM1LjQgNTcuMkw0NDggMzcxLjggNDQ4IDM4NGMwIDUzLTQzIDk2LTk2IDk2bC0xOTIgMGMtNTMgMC05Ni00My05Ni05Nkw2NCA4MHpNNDQ4IDMwMC4ybDY0LTMyIDAtMTA4LjItNjQgMCAwIDE0MC4yek0xOTIgMTUyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yMDh6bTg4IDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyMDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTIwOHptODggMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjA4eiJdfSxzSnQ9azllLGlKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTNlIiwiTTI4MCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43TDM0MSAyODYuNmMxMi44LTE3LjUgMjguNS0zMi43IDQ2LjMtNDVsLTU2LjItNzUuN0MzMDYgMTMyIDI2Ni4zIDExMiAyMjQgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTQ0IDIzNi43IDE0NCA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNjQwIDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tODYuNi02MC45YzcuMSA1LjIgOC43IDE1LjIgMy41IDIyLjNsLTY0IDg4Yy0yLjggMy44LTcgNi4yLTExLjcgNi41cy05LjMtMS4zLTEyLjYtNC42bC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDI2LjggMjYuOCA1My03Mi45YzUuMi03LjEgMTUuMi04LjcgMjIuNC0zLjV6Il19LG9KdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFwbGVyIixpY29uOls2NDAsNTEyLFtdLCJlNWFmIiwiTTY0MCAyOTkuM0w2NDAgNDMyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDY0IDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzODQgMCAwLTQ4LTM1MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTExNi42LTMwLjItNS40Yy0xOS42LTMuNS0zMy44LTIwLjUtMzMuOC00MC40IDAtOC45IDIuOS0xNy41IDguMi0yNC42bDM1LjYtNDcuNWMzMi44LTQzLjggODQuNC02OS42IDEzOS4xLTY5LjYgMjcgMCA1My42IDYuMyA3Ny44IDE4LjRMNTg2LjkgMjEzLjVDNjE5LjUgMjI5LjcgNjQwIDI2MyA2NDAgMjk5LjN6TTQ0OCAzMDRsMC0xNi0zMjAtNTcuMSAwIDczLjEgMzIwIDB6Il19LG5KdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1tZWRpY2FsLWNpcmNsZS1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZTUxMSIsIk0zMDkuOCA4LjZjLTEyLjMtMTEuNC0zMS4zLTExLjQtNDMuNSAwbC0yMjQgMjA4Yy05LjYgOS0xMi44IDIyLjktOCAzNS4xUzUwLjggMjcyIDY0IDI3MmwxNiAwIDAgMTc2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5NiAwYy0yMS4yLTI5LjUtMzQuMy02NS4zLTM1LjktMTA0TDI3MiA0MDhjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgMjAgMGMzNC45LTQ4LjUgOTEuNy04MCAxNTYtODAgMTAuNyAwIDIxLjEgLjkgMzEuMyAyLjVMMzA5LjggOC42ek02NDAgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0sbEp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im5haXJhLXNpZ24iLGljb246WzQ0OCw1MTIsW10sImUxZjYiLCJNMTIyLjYgNDYuM2MtNy44LTExLjctMjIuNC0xNy0zNS45LTEyLjlTNjQgNDkuOSA2NCA2NGwwIDE5Mi0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCAxNDRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE0NCA4OS41IDAgMTA3LjggMTYxLjhjNy44IDExLjcgMjIuNCAxNyAzNS45IDEyLjlTMzg0IDQ2Mi4xIDM4NCA0NDhsMC0xNDQgMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzIgMCAwLTE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE5Mi01Ny41IDAtMTM5LjgtMjA5Ljd6TTI5NC41IDMwNGwyNS41IDAgMCAzOC4zLTI1LjUtMzguM3pNMTg1LjUgMjU2bC01Ny41IDAgMC04Ni4zIDU3LjUgODYuM3oiXX0sbXRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpZmkiLGljb246WzU3Niw1MTIsWyJ3aWZpLTMiLCJ3aWZpLXN0cm9uZyJdLCJmMWViIiwiTTI4OCA5NmMtOTAuOSAwLTE3My4yIDM2LTIzMy43IDk0LjYtMTIuNyAxMi4zLTMzIDEyLTQ1LjItLjdzLTEyLTMzIC43LTQ1LjJDODEuNyA3NC45IDE3OS45IDMyIDI4OCAzMlM0OTQuMyA3NC45IDU2Ni4zIDE0NC43YzEyLjcgMTIuMyAxMyAzMi42IC43IDQ1LjJzLTMyLjYgMTMtNDUuMiAuN0M0NjEuMiAxMzIgMzc4LjkgOTYgMjg4IDk2ek0yNDAgNDMyYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTE2OCAzMjYuMmMtMTEuNyAxMy4zLTMxLjkgMTQuNS00NS4yIDIuOHMtMTQuNS0zMS45LTIuOC00NS4yQzE2MSAyMzcuNCAyMjEuMSAyMDggMjg4IDIwOHMxMjcgMjkuNCAxNjggNzUuOGMxMS43IDEzLjMgMTAuNCAzMy41LTIuOCA0NS4ycy0zMy41IDEwLjQtNDUuMi0yLjhDMzc4LjYgMjkyLjkgMzM1LjggMjcyIDI4OCAyNzJzLTkwLjYgMjAuOS0xMjAgNTQuMnoiXX0sY0p0PW10ZSxkSnQ9bXRlLGR2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWNoZWNrLWRvbGxhciIsaWNvbjpbNTEyLDUxMixbIm1vbmV5LWNoZWNrLWFsdCJdLCJmNTNkIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek0yOTYgMjg4bDEyOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMjggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptLTI0LTg4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDEyOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMjggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6TTE0OCAxNDRjMTEgMCAyMCA5IDIwIDIwbDAgNCA4IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC00Ny41IDBjLTYuOSAwLTEyLjUgNS42LTEyLjUgMTIuNSAwIDYuMSA0LjQgMTEuMyAxMC40IDEyLjNsNDEuNyA3YzI1LjMgNC4yIDQzLjkgMjYuMSA0My45IDUxLjggMCAyNi4xLTE5IDQ3LjctNDQgNTEuOGwwIDQuN2MwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC00LTI0IDBjLTExIDAtMjAtOS0yMC0yMHM5LTIwIDIwLTIwbDU1LjUgMGM2LjkgMCAxMi41LTUuNiAxMi41LTEyLjUgMC02LjEtNC40LTExLjMtMTAuNC0xMi4zbC00MS43LTdDOTQuNSAyNjggNzYgMjQ2LjEgNzYgMjIwLjUgNzYgMTkxLjcgOTkuMiAxNjguMyAxMjggMTY4bDAtNGMwLTExIDktMjAgMjAtMjB6Il19LHVKdD1kdixTOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXllLWxvdy12aXNpb24iLGljb246WzU3Niw1MTIsWyJsb3ctdmlzaW9uIl0sImYyYTgiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtOTYuNC05Ni40YzIuNy0yLjQgNS40LTQuOCA4LTcuMiA0Ni44LTQzLjUgNzguMS05NS40IDkzLTEzMS4xIDMuMy03LjkgMy4zLTE2LjcgMC0yNC42LTE0LjktMzUuNy00Ni4yLTg3LjctOTMtMTMxLjEtNDcuMS00My43LTExMS44LTgwLjYtMTkyLjYtODAuNi01Ni44IDAtMTA1LjYgMTguMi0xNDYgNDQuMkw0MS0yNC45ek0yMDQuNSAxMzguN2MyMy41LTE2LjggNTIuNC0yNi43IDgzLjUtMjYuNyA3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NCAwIDMxLjEtOS45IDU5LjktMjYuNyA4My41bC0zNC43LTM0LjdjMTIuNy0yMS40IDE3LTQ3LjcgMTAuMS03My43LTEzLjctNTEuMi02Ni40LTgxLjYtMTE3LjYtNjcuOS04LjYgMi4zLTE2LjcgNS43LTI0IDEwbC0zNC43LTM0Ljd6TTg4IDE1Ny45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45TDMyOC4yIDQ2NmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMODggMTU3Ljl6TTQ1LjcgMjUxLjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlMMTgxLjkgNDU1LjVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQ1LjcgMjUxLjN6Il19LHBKdD1TOWUsejllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1hcnJvdy11cCIsaWNvbjpbNTEyLDUxMixbImFycm93LWNpcmNsZS11cCJdLCJmMGFhIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0xNy0zNzdsODAgODBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMzktMzkgMCAxNTAuMWMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE1MC4xLTM5IDM5Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDgwLTgwYzkuNC05LjQgMjQuNi05LjQgMzMuOSAweiJdfSxmSnQ9ejllLGhKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYW1lcmEtcmV0cm8iLGljb246WzUxMiw1MTIsWzEyODI0N10sImYwODMiLCJNMCA0MTZsMC0yMDggMTM2LjIgMGMxMy41LTIwLjIgMzItMzYuOCA1My43LTQ4TDAgMTYwIDAgMTI1LjdjMC0zNS4zIDI4LjctNjQgNjQtNjRsLjEgMEM2NS4zIDQ1LjEgNzkuMSAzMiA5NiAzMmwzMiAwYzE2LjkgMCAzMC43IDEzLjEgMzEuOSAyOS43bDMyLjEgMCA1MS4yLTIzLjhjOC40LTMuOSAxNy42LTYgMjYuOS02TDQ0OCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0LTE5MCAwYzIxLjcgMTEuMiA0MC4yIDI3LjggNTMuNyA0OGwxMzYuMiAwIDAgMjA4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjR6TTI1NiAxOTJhOTYuMSA5Ni4xIDAgMSAwIDAgMTkyLjEgOTYuMSA5Ni4xIDAgMSAwIDAtMTkyLjF6Il19LG1KdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXBzdWxlcyIsaWNvbjpbNTc2LDUxMixbXSwiZjQ2YiIsIk05NiAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDExMi05NiAwIDAtMTEyem0tNjQgMGwwIDI4OGMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMnMxMTItNTAuMSAxMTItMTEybDAtMTA1LjggMTE2LjMgMTY5LjVjMzUuNSA1MS43IDEwNS4zIDY0LjMgMTU2IDI4LjFzNjMtMTA3LjUgMjcuNS0xNTkuMkw0MjcuMyAxNDUuM2MtMzUuNS01MS43LTEwNS4zLTY0LjMtMTU2LTI4LjEtNS42IDQtMTAuNyA4LjQtMTUuMyAxMy4xbDAtMTguM0MyNTYgNTAuMSAyMDUuOSAwIDE0NCAwUzMyIDUwLjEgMzIgMTEyek0yOTYuNiAyNDAuMmMtMTYtMjMuMy0xMC01NS4zIDExLjktNzEgMjEuMi0xNS4xIDUwLjUtMTAuMyA2NiAxMi4ybDY3IDk3LjYtNzkuOSA1NS45LTY1LTk0Ljh6Il19LGdKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwb28iLGljb246WzUxMiw1MTIsWzEyODE2OV0sImYyZmUiLCJNMjY4LjkgLjljLTUuNS0uNy0xMSAxLjQtMTQuNSA1LjdzLTQuNiAxMC4xLTIuOCAxNS40YzIuOCA4LjIgNC4zIDE2LjkgNC4zIDI2LjEgMCA0NC4xLTM1LjcgNzkuOS03OS44IDgwTDE2MCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0IDAgMTkuMSA4LjQgMzYuMyAyMS43IDQ4TDEwNCAyNDBjLTM5LjggMC03MiAzMi4yLTcyIDcyIDAgMjMuMiAxMSA0My44IDI4IDU3LTM0LjEgNS43LTYwIDM1LjMtNjAgNzEgMCAzOS44IDMyLjIgNzIgNzIgNzJsMzY4IDBjMzkuOCAwIDcyLTMyLjIgNzItNzIgMC0zNS43LTI1LjktNjUuMy02MC03MSAxNy0xMy4yIDI4LTMzLjggMjgtNTcgMC0zOS44LTMyLjItNzItNzItNzJsLTEzLjcgMGMxMy4zLTExLjcgMjEuNy0yOC45IDIxLjctNDggMC0zNS4zLTI4LjctNjQtNjQtNjRsLTUuNSAwYzMuNS0xMCA1LjUtMjAuOCA1LjUtMzIgMC00OC42LTM2LjItODguOC04My4xLTk1LjF6TTE5MiAyNTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em05NiAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem02NCAxMDguM2MwIDIuNC0uNyA0LjgtMi4yIDYuNy04LjIgMTAuNS0zOS41IDQ1LTkzLjggNDVzLTg1LjYtMzQuNi05My44LTQ1Yy0xLjUtMS45LTIuMi00LjMtMi4yLTYuNyAwLTYuOCA1LjUtMTIuMyAxMi4zLTEyLjNsMTY3LjQgMGM2LjggMCAxMi4zIDUuNSAxMi4zIDEyLjN6Il19LEM5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2b2x1bWUiLGljb246WzUxMiw1MTIsWzEyODI2NSwidm9sdW1lLW1lZGl1bSJdLCJmNmE4IiwiTTQ4IDM1Mmw0OCAwIDEzNC4xIDExOS4yYzYuNCA1LjcgMTQuNiA4LjggMjMuMSA4LjggMTkuMiAwIDM0LjgtMTUuNiAzNC44LTM0LjhsMC0zNzguNGMwLTE5LjItMTUuNi0zNC44LTM0LjgtMzQuOC04LjUgMC0xNi43IDMuMS0yMy4xIDguOEw5NiAxNjAgNDggMTYwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4ek00NDEuMSAxMDdjLTEwLjMtOC40LTI1LjQtNi44LTMzLjggMy41cy02LjggMjUuNCAzLjUgMzMuOEM0NDMuMyAxNzAuNyA0NjQgMjEwLjkgNDY0IDI1NnMtMjAuNyA4NS4zLTUzLjIgMTExLjhjLTEwLjMgOC40LTExLjggMjMuNS0zLjUgMzMuOHMyMy41IDExLjggMzMuOCAzLjVjNDMuMi0zNS4yIDcwLjktODguOSA3MC45LTE0OXMtMjcuNy0xMTMuOC03MC45LTE0OXptLTYwLjUgNzQuNWMtMTAuMy04LjQtMjUuNC02LjgtMzMuOCAzLjVzLTYuOCAyNS40IDMuNSAzMy44QzM2MS4xIDIyNy42IDM2OCAyNDEgMzY4IDI1NnMtNi45IDI4LjQtMTcuNyAzNy4zYy0xMC4zIDguNC0xMS44IDIzLjUtMy41IDMzLjhzMjMuNSAxMS44IDMzLjggMy41QzQwMi4xIDMxMi45IDQxNiAyODYuMSA0MTYgMjU2cy0xMy45LTU2LjktMzUuNS03NC41eiJdfSxiSnQ9QzllLHZKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbGV2YXRvciIsaWNvbjpbNTEyLDUxMixbXSwiZTE2ZCIsIk0yOTIuNy00LjdsNjQgNjRjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNjQtNjRjNC42LTQuNiA1LjktMTEuNSAzLjUtMTcuNFM0MzguNS0zMiA0MzItMzJMMzA0LTMyYy02LjUgMC0xMi4zIDMuOS0xNC44IDkuOXMtMS4xIDEyLjkgMy41IDE3LjR6bS0xNjAtMjIuNmwtNjQgNjRjLTQuNiA0LjYtNS45IDExLjUtMy41IDE3LjRTNzMuNSA2NCA4MCA2NGwxMjggMGM2LjUgMCAxMi4zLTMuOSAxNC44LTkuOXMxLjEtMTIuOS0zLjUtMTcuNGwtNjQtNjRjLTYuMi02LjItMTYuNC02LjItMjIuNiAwek02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDEyOHptOTYgOTZhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2ek04MCA0MDBjMC0yNi41IDIxLjUtNDggNDgtNDhsNjQgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2em0xOTIgMGMwLTI2LjUgMjEuNS00OCA0OC00OGw2NCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZ6bTMyLTEyOGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAweiJdfSx4SnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFnIixpY29uOls1MTIsNTEyLFsxMjc5OTFdLCJmMDJiIiwiTTMyLjUgOTZsMCAxNDkuNWMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM2wxOTIgMTkyYzI1IDI1IDY1LjUgMjUgOTAuNSAwTDQ4My4yIDMzMy4zYzI1LTI1IDI1LTY1LjUgMC05MC41bC0xOTItMTkyQzI3OS4yIDM4LjcgMjYzIDMyIDI0NiAzMkw5Ni41IDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NHptMTEyIDE2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0seUp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtY2lyY2xlLW1pbnVzIixpY29uOls1NzYsNTEyLFtdLCJlNGVkIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTIyLjctMzEuNS0zNi03MC4yLTM2LTExMiAwLTEwMC42IDc3LjQtMTgzLjIgMTc2LTE5MS4zbDAtMzguMWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNNTc2IDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNjQgMGMwIDguOC03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDEyOCAwYzguOCAwIDE2IDcuMiAxNiAxNnoiXX0sXzllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvd24tbG9uZyIsaWNvbjpbMzIwLDUxMixbImxvbmctYXJyb3ctYWx0LWRvd24iXSwiZjMwOSIsIk0xMzcuNCA1MzQuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzMwMC45IDM1MiAyODggMzUybC02NCAwIDAtMzM2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDMzNi02NCAwYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44Uy4yIDM5Ny41IDkuNCA0MDYuNmwxMjggMTI4eiJdfSx3SnQ9XzllLE1KdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21wYWN0LWRpc2MiLGljb246WzUxMiw1MTIsWzEyODE5MSwxMjgxOTIsMTI4NDQwXSwiZjUxZiIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNTYgMzJhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0tOTYtMzJhOTYgOTYgMCAxIDAgMTkyIDAgOTYgOTYgMCAxIDAgLTE5MiAwem0tNTYtMTZjMC0zMi40IDE2LjMtNjYuNiA0Mi44LTkzLjJTMjA3LjYgMTA0IDI0MCAxMDRjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRjLTQ3LjkgMC05My43IDIzLjUtMTI3LjEgNTYuOVM1NiAxOTIuMSA1NiAyNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNHoiXX0sa0p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN1aXRjYXNlLXJvbGxpbmciLGljb246WzM4NCw1MTIsW10sImY1YzEiLCJNMTQ0IDI0YzAtNC40IDMuNi04IDgtOGw4MCAwYzQuNCAwIDggMy42IDggOGwwIDcyLTk2IDAgMC03MnpNMzIwIDk2bC0zMiAwIDAtNzJjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTgwIDBDMTIxLjEtMzIgOTYtNi45IDk2IDI0bDAgNzItMzIgMEMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjQgMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwxMjggMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjg4YzAtMzUuMy0yOC43LTY0LTY0LTY0ek0xMjAgMjA4bDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMCAxMjhsMTQ0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxUOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vay1xdXJhbiIsaWNvbjpbNDQ4LDUxMixbInF1cmFuIl0sImY2ODciLCJNNjQgNTEybDI4OCAwYzUzIDAgOTYtNDMgOTYtOTZsMC0zMjBjMC01My00My05Ni05Ni05Nkw0OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDMzNmMwIDIwLjkgMTMuNCAzOC43IDMyIDQ1LjNMMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDB6TTM1MiAzODRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI1NiAwIDAtNjQgMjU2IDB6TTI3My4xIDE0NC40YzIuNS02LjEgMTEuMi02LjEgMTMuNyAwbDEwLjMgMjQuOCAyNi44IDIuMWM2LjYgLjUgOS4yIDguNyA0LjIgMTNMMzA3LjggMjAxLjkgMzE0IDIyOGMxLjUgNi40LTUuNSAxMS41LTExLjEgOC4xbC0yMi45LTE0LTIyLjkgMTRjLTUuNiAzLjQtMTIuNi0xLjYtMTEuMS04LjFsNi4yLTI2LjEtMjAuNC0xNy41Yy01LTQuMy0yLjMtMTIuNSA0LjItMTNsMjYuOC0yLjEgMTAuMy0yNC44ek0xMDAgMTkyYzAtNjguNSA1NS41LTEyNCAxMjQtMTI0IDIzLjggMCA0Ni4xIDYuNyA2NSAxOC40IDQuOCAyLjkgNi45IDguOCA1IDE0LjFzLTcuMSA4LjYtMTIuNyA4Yy0zLjEtLjMtNi4yLS41LTkuNC0uNS00Ni40IDAtODQgMzcuNi04NCA4NHMzNy42IDg0IDg0IDg0YzMuMiAwIDYuMy0uMiA5LjQtLjUgNS42LS42IDEwLjggMi43IDEyLjcgOHMtLjMgMTEuMi01IDE0LjFjLTE4LjkgMTEuNy00MS4yIDE4LjQtNjUgMTguNC02OC41IDAtMTI0LTU1LjUtMTI0LTEyNHoiXX0sU0p0PVQ5ZSx6SnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGhvbmUtc2xhc2giLGljb246WzU3Niw1MTIsW10sImYzZGQiLCJNNTM1LTI0LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDQxIDUzNy4xYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDE0MS41IDM2OC42Qzg5LjIgMzEwLjUgNTEuNiAyMzguOCAzNC44IDE1OS40IDE4LjcgODMuMSA3My45IDIwLjYgMTM4LjUgMi45bDUuNS0xLjVjMTkuNy01LjQgNDAuMyA0LjcgNDguMSAyMy41bDQwLjUgOTcuM2M2LjkgMTYuNSAyLjEgMzUuNi0xMS44IDQ3bC00NC4xIDM2LjFjMTIuOSAyOC41IDI5LjYgNTQuOCA0OS41IDc4LjVMNTM1LTI0Ljl6bS0xNTAuNCA1MzRjLTYzLTEzLjQtMTIxLjMtMzkuOC0xNzEuNy03Ni4zTDI5Ny44IDM0OGMxMi4yIDguMiAyNSAxNS42IDM4LjMgMjIuMkwzNzQuNyAzMjNjMTEuMy0xMy45IDMwLjQtMTguNiA0Ny0xMS44TDUxOSAzNTEuOGMxOC44IDcuOCAyOC45IDI4LjQgMjMuNSA0OC4xbC0xLjUgNS41Yy0xNy42IDY0LjYtODAuMiAxMTkuOC0xNTYuNCAxMDMuN3oiXX0sQ0p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvYWQtY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTY0IiwiTTI4OCAzMmwtNzYuMyAwYy0yOS40IDAtNTUuMSAyMC4xLTYyLjEgNDguNkw2NS40IDQyMC41QzU3LjkgNDUwLjcgODAuOCA0ODAgMTEyIDQ4MGwyMDkuNCAwYy0xMS4yLTI0LjQtMTcuNC01MS40LTE3LjQtODAgMC0yOC42IDYuMi01NS43IDE3LjQtODAtLjUgMC0xIDAtMS41IDAtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDljMzUuMi0zOS45IDg2LjctNjUgMTQ0LTY1IDkgMCAxNy44IC42IDI2LjUgMS44bC0zMi0xMjkuMkM0ODMuNCA1Mi4xIDQ1Ny44IDMyIDQyOC4zIDMybC03Ni40IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0ek02NDAgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0sX0p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNob3AtbG9jayIsaWNvbjpbNjQwLDUxMixbXSwiZTRhNSIsIk0yMS41IDE4MS4xTDc4LjMgNjcuNEM4OS4yIDQ1LjcgMTExLjMgMzIgMTM1LjYgMzJsMzA0LjkgMGMyNC4yIDAgNDYuNCAxMy43IDU3LjIgMzUuNGw1NS42IDExMS4xYy04LjItMS42LTE2LjYtMi41LTI1LjItMi41LTUzLjcgMC05OS43IDMzLjEtMTE4LjcgODBsLTU3LjMgMCAwIDE3NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTkyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTc2LjFjLTI2LjgtMS45LTQ4LTI0LjMtNDgtNTEuNiAwLTggMS45LTE2IDUuNS0yMy4yek0xMjggMjU2bDAgMTEyYzAgOC44IDcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMTItMTYwIDB6bTQzMiA0OC4xYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwIDAtNDcuOXpNNDE2IDQwMGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA1MC42YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnoiXX0sTDllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImltYWdlLXBvcnRyYWl0IixpY29uOlszODQsNTEyLFsicG9ydHJhaXQiXSwiZjNlMCIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTgwIDM2OGMwIDguOCA3LjIgMTYgMTYgMTZsMTkyIDBjOC44IDAgMTYtNy4yIDE2LTE2IDAtNDQuMi0zNS44LTgwLTgwLTgwbC02NCAwYy00NC4yIDAtODAgMzUuOC04MCA4MHpNMTkyIDI0OGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnoiXX0sVEp0PUw5ZSxMSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJpZGdlLWxvY2siLGljb246WzU3Niw1MTIsW10sImU0Y2MiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOCAwIDAgMzIuMmMxMy44IC42IDI3LjIgMi44IDQwIDYuNGwwIDUwLjdjLTE0LjgtNi0zMS05LjMtNDgtOS4zLTcwLjcgMC0xMjggNTcuMy0xMjggMTI4bDAgMjQuNGMtLjQgLjMtLjcgLjYtMS4xIDEtMTcuMy0yNS00Ni4yLTQxLjMtNzguOS00MS4zLTUzIDAtOTYgNDMtOTYgOTZsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NGMwLTM4LjgtMjYuNC03Mi42LTY0LTgybDAtMTEyIDQwIDAgMC02NC04IDBDMTQuMyA5NiAwIDgxLjcgMCA2NHptNDI0IDY4LjZsMC0zNi42LTgwIDAgMCA2NCAxOC44IDBjMTguMi0xMi44IDM4LjktMjIuMiA2MS4yLTI3LjR6TTIxNiA5NmwwIDY0IDgwIDAgMC02NC04MCAwem0tNDggMGwtODAgMCAwIDY0IDgwIDAgMC02NHpNNDk2IDMwNC4xYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwIDAtNDcuOXpNMzUyIDQwMGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA1MC42YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnoiXX0sJEp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbW1lciIsaWNvbjpbNjQwLDUxMixbMTI4Mjk2XSwiZjZlMyIsIk0yNDYuOSAxOC4zTDI3MSAzLjhjMjEuNi0xMyA0Ni4zLTE5LjggNzEuNS0xOS44IDM2LjggMCA3Mi4yIDE0LjYgOTguMiA0MC43bDYzLjkgNjMuOWMxNSAxNSAyMy40IDM1LjQgMjMuNCA1Ni42bDAgMzAuOSAxOS43IDE5LjcgMCAwYzE1LjYtMTUuNiA0MC45LTE1LjYgNTYuNiAwczE1LjYgNDAuOSAwIDU2LjZsLTY0IDY0Yy0xNS42IDE1LjYtNDAuOSAxNS42LTU2LjYgMHMtMTUuNi00MC45IDAtNTYuNkw0NjQgMjQwIDQzMy4xIDI0MGMtMjEuMiAwLTQxLjYtOC40LTU2LjYtMjMuNGwtNDkuMS00OS4xYy0xNS0xNS0yMy40LTM1LjQtMjMuNC01Ni42bDAtMTIuN2MwLTExLjItNS45LTIxLjctMTUuNS0yNy40bC00MS42LTI1Yy0xMC40LTYuMi0xMC40LTIxLjIgMC0yNy40ek01MC43IDQwMi43bDIyMi4xLTIyMi4xIDkwLjUgOTAuNS0yMjIuMSAyMjIuMWMtMjUgMjUtNjUuNSAyNS05MC41IDBzLTI1LTY1LjUgMC05MC41eiJdfSwkOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtMS05IixpY29uOls1MTIsNTEyLFsic29ydC1udW1lcmljLXVwIl0sImYxNjMiLCJNMTUwLjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDk2IDE0MS4zIDk2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA2LjcgNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2ek00MTguNyAzOGMtOC4zLTYtMTkuMS03LjctMjguOC00LjRsLTQ4IDE2Yy0xNi44IDUuNi0yNS44IDIzLjctMjAuMiA0MC41czIzLjcgMjUuOCA0MC41IDIwLjJsNS45LTIgMCA1MS42LTE2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYgMCAwLTk2YzAtMTAuMy00LjktMTkuOS0xMy4zLTI2ek0zNjUuMSA0MzAuNmMtOS42IDE0LjgtNS40IDM0LjYgOS40IDQ0LjNzMzQuNiA1LjQgNDQuMy05LjRsNDIuMS02NC45YzEyLjQtMTkuMiAxOS4xLTQxLjYgMTkuMS02NC41IDAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwYzAgMzYuMSAyMy45IDY2LjcgNTYuOCA3Ni42bC0xMS43IDE4ek0zNzYgMzM2YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6Il19LERKdD0kOWUsQUp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXNzLWtuaWdodCIsaWNvbjpbMzg0LDUxMixbOTgyMl0sImY0NDEiLCJNMTkyLTMyYzEwNiAwIDE5MiA4NiAxOTIgMTkybDAgMTMzLjVjMCAxNy02LjggMzMuMi0xOC43IDQ1LjJMMzIwIDM4NCAzNzAuOCA0MzQuN2M4LjUgOC41IDEzLjIgMjAgMTMuMiAzMiAwIDI1LTIwLjMgNDUuMi00NS4yIDQ1LjNMNDUuMyA1MTJjLTI1IDAtNDUuMi0yMC4zLTQ1LjItNDUuMyAwLTEyIDQuOC0yMy41IDEzLjItMzJMNjQgMzg0IDY0IDM0OS40YzAtMTguNyA4LjItMzYuNCAyMi4zLTQ4LjZsODkuNy03Ni44LTQ4IDAtMTIuMSAxMi4xYy0xMi43IDEyLjctMzAgMTkuOS00OCAxOS45LTM3LjUgMC02Ny45LTMwLjQtNjcuOS02Ny45bDAtOC43YzAtMjIuOCA4LjItNDQuOSAyMy4xLTYyLjNMOTYgMzIgOTYgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwek0xNjAgNzJhMjQgMjQgMCAxIDAgMCA0OCAyNCAyNCAwIDEgMCAwLTQ4eiJdfSxQSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtZmxvb2Qtd2F0ZXItY2lyY2xlLWFycm93LXJpZ2h0IixpY29uOls2NDAsNTEyLFtdLCJlNTBmIiwiTTI4OC41IDExMmExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwek0xNDEuMiA0NC43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDU2IDU2YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC01NiA1NmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwyOC43LTI4LjctODkuNCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDg5LjQgMC0yOC43LTI4LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42ek0zMzYuNSAxMTJjMCA3MS4xLTM4LjYgMTMzLjEtOTYgMTY2LjNsMCAxMi44YzIyLjEgNC41IDQzLjQgMTMuOSA2Mi40IDI4LjIgMjIuMSAxNi42IDI5LjEgMTYuNiA1MS4yIDAgMjcuNS0yMC43IDU5LjktMzEuMiA5Mi40LTMxLjQgMzMuMS0uMiA2Ni4zIDEwLjIgOTQuNCAzMS40IDYuOSA1LjIgMTIuOCA5IDE4IDExLjcgLjYgLjMgMS4yIC42IDEuOCAxIDQuMiAyLjMgOC41IDQuNiAxMi42IDEuNSA2LTQuNSAxMi42LTggMTkuMy0xMC40bDAtMTE1LjIgNC41IDBjMTUuMiAwIDI3LjUtMTIuMyAyNy41LTI3LjUgMC03LjktMy40LTE1LjUtOS40LTIwLjdMNDQ0LjUgMTAuNUM0MzYuOCAzLjcgNDI2LjggMCA0MTYuNSAwcy0yMC4zIDMuNy0yOCAxMC41TDMyOS45IDYxLjhjNC4zIDE2IDYuNiAzMi44IDYuNiA1MC4yem0zMiA4OGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNDh6TTQ3NS4xIDQxMi4xYzE5IDE0LjQgNDEuOSAyOC4yIDY3LjIgMzMuMyAyNi41IDUuNCA1NC4zIC44IDgwLjctMTkuMSAxMC42LTggMTIuNy0yMyA0LjctMzMuNnMtMjMtMTIuNy0zMy42LTQuN2MtMTQuOSAxMS4yLTI4LjYgMTMuMS00Mi4zIDEwLjMtMTQuOS0zLTMwLjktMTEuOS00Ny44LTI0LjYtMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM1MyOTAgMzkxLjggMjY2IDM3My43Yy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjEuNiAxNi4zLTQxLjMgMjUuOC01OC45IDI1LjctOS42LS4xLTE5LjktMy0zMS4yLTExLjUtMTAuNi04LTI1LjYtNS45LTMzLjYgNC43cy01LjkgMjUuNiA0LjcgMzMuNmMxOS4xIDE0LjQgMzkuNCAyMSA1OS44IDIxLjEgMzMuOSAuMiA2NC4zLTE3LjQgODguMS0zNS4zIDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1LjljMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDB6bS03MS4yIDk2YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDE5IDE0LjQgNDEuOSAyOC4yIDY3LjIgMzMuMyAyNi41IDUuNCA1NC4zIC44IDgwLjctMTkuMSAxMC42LTggMTIuNy0yMyA0LjctMzMuNnMtMjMtMTIuNy0zMy42LTQuN2MtMTQuOSAxMS4yLTI4LjYgMTMuMS00Mi4zIDEwLjMtMTQuOS0zLTMwLjktMTEuOS00Ny44LTI0LjYtMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM1MyOTAgNDg3LjggMjY2IDQ2OS43Yy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjEuNiAxNi4zLTQxLjMgMjUuOC01OC45IDI1LjctOS42LS4xLTE5LjktMy0zMS4yLTExLjUtMTAuNi04LTI1LjYtNS45LTMzLjYgNC43cy01LjkgMjUuNiA0LjcgMzMuNmMxOS4xIDE0LjQgMzkuNCAyMSA1OS44IDIxLjEgMzMuOSAuMiA2NC4zLTE3LjQgODguMS0zNS4zIDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1Ljl6Il19LHV2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlIixpY29uOls1MTIsNTEyLFsiZXh0ZXJuYWwtbGluayJdLCJmMDhlIiwiTTMyMCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDgyLjcgMC0yMDEuNCAyMDEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw0NDggMTA5LjMgNDQ4IDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyMCAwek04MCA5NkMzNS44IDk2IDAgMTMxLjggMCAxNzZMMCA0MzJjMCA0NC4yIDM1LjggODAgODAgODBsMjU2IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC04MGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNkw4MCA0NDhjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI1NmMwLTguOCA3LjItMTYgMTYtMTZsODAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw4MCA5NnoiXX0sRUp0PXV2LElKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLXVwLWFjcm9zcy1saW5lIixpY29uOls1MTIsNTEyLFtdLCJlNGFmIiwiTTI2NS40IDEwNS40bDk2LTk2YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDk2IDk2YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC00MS40LTQxLjQgMCAxMTQuNyA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMjAgMCAwIDExNC43IDQxLjQtNDEuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC05NiA5NmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTk2LTk2Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDk2IDQwMi43IDk2IDI4OCAzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIwIDAgMC0xMTQuNy00MS40IDQxLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zek00MTYgMzM2bDAgMTQ0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTQ0IDY0IDB6TTk2IDE3Nkw5NiAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTQ0LTY0IDB6Il19LEQ5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tYmVhbSIsaWNvbjpbNTEyLDUxMixbMTI4NTE2LCJncmluLWJlYW0iXSwiZjU4MiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg2LjcgMzA4LjljMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTIyLjQgNjEuMy04MS4zIDEwNS4xLTE1MC4zIDEwNS4xUzEyOC4xIDM4OC4yIDEwNS43IDMyNi45Yy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjF6TTE3NiAxODBjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6bTEzMiAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4eiJdfSxOSnQ9RDllLEE5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZWN0YW5nbGUtYWQiLGljb246WzUxMiw1MTIsWyJhZCJdLCJmNjQxIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek00MTYgMTg0bDAgMTQ0YzAgMTMuMy0xMC43IDI0LTI0IDI0LTcuMSAwLTEzLjUtMy4xLTE3LjktOC0xMC4yIDUuMS0yMS44IDgtMzQuMSA4LTQyIDAtNzYtMzQtNzYtNzZzMzQtNzYgNzYtNzZjOS45IDAgMTkuMyAxLjkgMjggNS4zbDAtMjEuM2MwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0em0tNDggOTJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHpNMTYwIDIwOGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIgNDggMCAwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMHptMzIgOTZsLTQ4IDAgMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEwNGMwLTM1LjMgMjguNy02NCA2NC02NGwxNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTA0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMjR6Il19LFJKdD1BOWUsUDllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stdGFuYWtoIixpY29uOls0NDgsNTEyLFsidGFuYWtoIl0sImY4MjciLCJNMzUyIDUxMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMC02Ni43QzEzLjQgMzc0LjcgMCAzNTYuOSAwIDMzNkwwIDQ4QzAgMjEuNSAyMS41IDAgNDggMEwzNTIgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMzIwYzAgNTMtNDMgOTYtOTYgOTZ6bTMyLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0yNTYgMCAwIDY0IDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyek0xMTMuOSAyMjljLTEuMiAyLTEuOSA0LjItMS45IDYuNiAwIDYuOSA1LjYgMTIuNSAxMi41IDEyLjVsNTYuOSAwIDMwLjUgNDkuMmMyLjYgNC4yIDcuMiA2LjggMTIuMiA2LjhzOS42LTIuNiAxMi4yLTYuOGwzMC41LTQ5LjIgNTYuOSAwYzYuOSAwIDEyLjUtNS42IDEyLjUtMTIuNSAwLTIuMy0uNi00LjYtMS45LTYuNmwtMjcuOC00NSAyNy44LTQ1YzEuMi0yIDEuOS00LjIgMS45LTYuNiAwLTYuOS01LjYtMTIuNS0xMi41LTEyLjVsLTU2LjkgMC0zMC41LTQ5LjJDMjMzLjYgNjYuNiAyMjkgNjQgMjI0IDY0cy05LjYgMi42LTEyLjIgNi44bC0zMC41IDQ5LjItNTYuOSAwYy02LjkgMC0xMi41IDUuNi0xMi41IDEyLjUgMCAyLjMgLjYgNC42IDEuOSA2LjZsMjcuOCA0NS0yNy44IDQ1eiJdfSxPSnQ9UDllLEU5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3QtdHViLXBlcnNvbiIsaWNvbjpbNDQ4LDUxMixbImhvdC10dWIiXSwiZjU5MyIsIk0yNDAgNDBjMCAxMy42IDUuOCAyNi41IDE1LjggMzUuNmwyNi41IDIzLjhjMjQgMjEuNiAzNy43IDUyLjMgMzcuNyA4NC42IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTguNy03LjktMzYuNC0yMS44LTQ4LjlsLTI2LjUtMjMuOEMyMDMuNSA5My4xIDE5MiA2Ny4yIDE5MiA0MCAxOTIgMjYuNyAyMDIuNyAxNiAyMTYgMTZzMjQgMTAuNyAyNCAyNHpNMCAzMzZsMC04MGMwLTM1LjMgMjguNy02NCA2NC02NGwxOS43IDBjOC4xIDAgMTYuMiAxLjYgMjMuOCA0LjZsMTM3LjEgNTQuOGM3LjYgMyAxNS42IDQuNiAyMy44IDQuNkwzODQgMjU2YzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTI4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAzMzZ6bTk2LTE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMTUyIDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTgwem0xMDQtMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0ek0zMjggMTZjMTMuMyAwIDI0IDEwLjcgMjQgMjQgMCAxMy42IDUuOCAyNi41IDE1LjggMzUuNmwyNi41IDIzLjhjMjQgMjEuNiAzNy43IDUyLjMgMzcuNyA4NC42IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTguNy03LjktMzYuNC0yMS44LTQ4LjlsLTI2LjUtMjMuOEMzMTUuNSA5My4xIDMwNCA2Ny4yIDMwNCA0MCAzMDQgMjYuNyAzMTQuNyAxNiAzMjggMTZ6TTY0IDQwYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyeiJdfSxGSnQ9RTllLEJKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWhhbGYtZGFzaGVkIixpY29uOlszODQsNTEyLFtdLCJlNjk4IiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0bDAgMjU2IDM4NCAwIDAtMTQ5LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjU4LjcgMTguN0MyNDYuNyA2LjcgMjMwLjUgMCAyMTMuNSAwTDY0IDB6TTMyNS41IDE3NkwyMzIgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyMDggNTguNSAzMjUuNSAxNzZ6TTAgMzUybDAgNjQgNjQgMCAwLTY0LTY0IDB6TTY0IDUxMmwwLTY0LTY0IDBjMCAzNS4zIDI4LjcgNjQgNjQgNjR6bTMyIDBsODAgMCAwLTY0LTgwIDAgMCA2NHptMTEyIDBsODAgMCAwLTY0LTgwIDAgMCA2NHptMTEyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsLTY0IDAgMCA2NHptNjQtMTYwbC02NCAwIDAgNjQgNjQgMCAwLTY0eiJdfSxJOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib3V0ZGVudCIsaWNvbjpbNDQ4LDUxMixbImRlZGVudCJdLCJmMDNiIiwiTS40IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zODQgMEMxNC44IDk2IC40IDgxLjcgLjQgNjR6bTE5MiAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnptMzIgOTZsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyek0uNCA0NDhjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM4NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNLjcgMjY4LjZjLTguMi02LjQtOC4yLTE4LjkgMC0yNS4zbDEwMS45LTc5LjNjMTAuNS04LjIgMjUuOC0uNyAyNS44IDEyLjZsMCAxNTguNmMwIDEzLjMtMTUuMyAyMC44LTI1LjggMTIuNkwuNyAyNjguNnoiXX0sSEp0PUk5ZSxxSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1wZWFjZSIsaWNvbjpbNDQ4LDUxMixbOTk5Nl0sImYyNWIiLCJNMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMDgtNjQgMCAwLTIwOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMTYwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptNjQgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6TTYxLjMgNTEuMkwxNDMuOSAyNDAgNzQuMSAyNDAgMi43IDc2LjhDLTQuNCA2MC42IDMgNDEuOCAxOS4yIDM0LjdTNTQuMiAzNSA2MS4zIDUxLjJ6bTI3IDIyMS4zbC0uMi0uNSA5NS45IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNTYgMGMzOS44IDAgNzItMzIuMiA3Mi03MmwwLS42YzkuNCA1LjQgMjAuMyA4LjYgMzIgOC42IDEzLjIgMCAyNS40LTQgMzUuNi0xMC44IDguNyAyNC45IDMyLjUgNDIuOCA2MC40IDQyLjggMTEuNyAwIDIyLjYtMy4xIDMyLTguNmwwIDguNmMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MGwtNjEuNyAwYy00Mi40IDAtODMuMS0xNi45LTExMy4xLTQ2LjlMNjkuNSA0NTMuNUM0NS41IDQyOS41IDMyIDM5Ni45IDMyIDM2M2wwLTI3YzAtMzIuNyAyNC42LTU5LjcgNTYuMy02My41eiJdfSxWSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhZC1zaWRlLXZpcnVzIixpY29uOls1MTIsNTEyLFtdLCJlMDY0IiwiTTMyOS43IDQ0OGMtNS4xIDAtOS43IDMuNy05LjcgOC44bDAgNy4yYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC02My42YzAtMTIuNi01LjEtMjQuNS0xMy4xLTM0LjItMzEuOC0zOC43LTUwLjktODguMi01MC45LTE0Mi4yIDAtMTIzLjcgMTAwLjMtMjI0IDIyNC0yMjQgMTEyLjcgMCAyMDYgODMuMyAyMjEuNyAxOTEuNyAuNCAzIDEuNyA1LjkgMy42IDguM2wzNS44IDQyLjljNyA4LjQgMTAuOSAxOS4xIDEwLjkgMzAuMSAwIDI1LjktMjEgNDctNDcgNDdsLTEgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTM4LjMgMHpNMjI0IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNCAwIDIyLjktMjcuNyAzNC40LTQzLjkgMTguMi05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45YzE2LjIgMTYuMiA0LjcgNDMuOS0xOC4yIDQzLjktMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGMyMi45IDAgMzQuNCAyNy43IDE4LjIgNDMuOS05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBjMTYuMi0xNi4yIDQzLjktNC43IDQzLjkgMTguMiAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMjIuOSAyNy43LTM0LjQgNDMuOS0xOC4yIDkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWMtMTYuMi0xNi4yLTQuNy00My45IDE4LjItNDMuOSAxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGMtMjIuOSAwLTM0LjQtMjcuNy0xOC4yLTQzLjkgOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGMtMTYuMiAxNi4yLTQzLjkgNC43LTQzLjktMTguMiAwLTEzLjMtMTAuNy0yNC0yNC0yNHptLTMyIDg4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNDAgODhhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sakp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbXBhc3MiLGljb246WzUxMiw1MTIsWzEyOTUxN10sImYxNGUiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTUwLjctMTg2LjlMMTYyLjQgMzgwLjZjLTE5LjQgNy41LTM4LjUtMTEuNi0zMS0zMWw1NS41LTE0NC4zYzMuMy04LjUgOS45LTE1LjEgMTguNC0xOC40bDE0NC4zLTU1LjVjMTkuNC03LjUgMzguNSAxMS42IDMxIDMxTDMyNS4xIDMwNi43Yy0zLjIgOC41LTkuOSAxNS4xLTE4LjQgMTguNHpNMjg4IDI1NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAweiJdfSxVSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVuLW5pYiIsaWNvbjpbNTEyLDUxMixbMTAwMDFdLCJmNWFkIiwiTTM2OC41IDE4LjNsLTUwLjEgNTAuMSAxMjUuMyAxMjUuMyA1MC4xLTUwLjFjMjEuOS0yMS45IDIxLjktNTcuMyAwLTc5LjJMNDQ3LjcgMTguM2MtMjEuOS0yMS45LTU3LjMtMjEuOS03OS4yIDB6TTI3OS4zIDk3LjJsLS41IC4xLTE0NC4xIDQzLjJjLTE5LjkgNi0zNS43IDIxLjItNDIuMyA0MUwzLjggNDQ1LjhjLTIuOSA4LjctMS45IDE4LjIgMi41IDI2TDE2MS43IDMxNi40Yy0xLjEtNC0xLjYtOC4xLTEuNi0xMi40IDAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDgtMjEuNSA0OC00OCA0OGMtNC4zIDAtOC41LS42LTEyLjQtMS42TDQwLjMgNTA1LjdjNy44IDQuNCAxNy4yIDUuNCAyNiAyLjVsMjY0LjMtODguNmMxOS43LTYuNiAzNS0yMi40IDQxLTQyLjNsNDMuMi0xNDQuMSAuMS0uNS0xMzUuNS0xMzUuNXoiXX0sV0p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbnQtYXJyb3dzLWRvd24iLGljb246WzUxMiw1MTIsW10sImU1ODEiLCJNMTg1LjUgMTIxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTMxIDMxIDAtMTAyLjFjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMDIuMS0zMS0zMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw3Mi03MnptMjQ4IDcybDcyLTcyYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTMxIDMxIDAtMTAyLjFjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMDIuMS0zMS0zMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHpNNjAuMyAyOTIuNkwzNy4xIDQ3NmMtMi40IDE5LjEgMTIuNSAzNiAzMS43IDM2bDE1NC41IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMTcuNGMwLTUuOSA0LjctMTAuNiAxMC42LTEwLjYgNCAwIDcuNyAyLjMgOS41IDUuOWw2OC4yIDEzNi41YzUuNCAxMC44IDE2LjUgMTcuNyAyOC42IDE3LjdsNzEuOSAwYzE5LjMgMCAzNC4yLTE2LjkgMzEuNy0zNkw0NTIuNyAyOTIuN2MtMS4yLTkuNy02LjktMTguNC0xNS4zLTIzLjRMMjcxLjkgMTY5LjljLTEwLjItNi4xLTIyLjktNi4xLTMzLjEgLjFMNzUuNCAyNjkuM2MtOC4zIDUuMS0xMy45IDEzLjctMTUuMSAyMy4zeiJdfSxOOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9yd2FyZC1mYXN0IixpY29uOls1MTIsNTEyLFs5MTk3LCJmYXN0LWZvcndhcmQiXSwiZjA1MCIsIk0xOS44IDQ3Ny42YzEyIDUgMjUuNyAyLjIgMzQuOS02LjlMMjI0IDMwMS4zIDIyNCA0NDhjMCAxMi45IDcuOCAyNC42IDE5LjggMjkuNnMyNS43IDIuMiAzNC45LTYuOUw0NDggMzAxLjMgNDQ4IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTQ2LjctMTY5LjQtMTY5LjRjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45UzIyNCA1MS4xIDIyNCA2NEwyMjQgMjEwLjcgNTQuNiA0MS40Yy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOVMwIDUxLjEgMCA2NEwwIDQ0OGMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42eiJdfSxHSnQ9TjllLFlKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjcm9wIixpY29uOls1MTIsNTEyLFtdLCJmMTI1IiwiTTQ0OCAxMDkuM2w1NC42LTU0LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMNDAyLjcgNjQgMTc2IDY0IDE3NiAxMjggMzM4LjcgMTI4IDEyOCAzMzguNyAxMjggMzJjMC0xNy43LTE0LjMtMzItMzItMzJTNjQgMTQuMyA2NCAzMmwwIDMyLTMyIDBDMTQuMyA2NCAwIDc4LjMgMCA5NnMxNC4zIDMyIDMyIDMybDMyIDAgMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjA4IDAgMC02NC0xNjIuNyAwIDIxMC43LTIxMC43IDAgMzA2LjdjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0yNzQuN3oiXX0sUjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndoaXNrZXktZ2xhc3MiLGljb246WzQ0OCw1MTIsWzEyOTM0NywiZ2xhc3Mtd2hpc2tleSJdLCJmN2EwIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCAzNTJjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhsMTkyIDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhsMC0yODhjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMzJ6TTY0IDI1NmwwLTE2MCAzMjAgMCAwIDE2MC0zMjAgMHoiXX0sS0p0PVI5ZSxaSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlIixpY29uOls0NDgsNTEyLFs5NjMyLDk3MjMsOTcyNCw2MTU5MF0sImYwYzgiLCJNNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMyeiJdfSxPOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluIixpY29uOls1MTIsNTEyLFsxMjg1MTIsImdyaW4iXSwiZjU4MCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg2LjcgMzA4LjljMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTIyLjQgNjEuMy04MS4zIDEwNS4xLTE1MC4zIDEwNS4xUzEyOC4xIDM4OC4yIDEwNS43IDMyNi45Yy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjF6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sWEp0PU85ZSxRSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jb250cmFjdCIsaWNvbjpbMzg0LDUxMixbXSwiZjU2YyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNODggNjRDNzQuNyA2NCA2NCA3NC43IDY0IDg4czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4OCA2NHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwem03MC4zIDE2MGMtMTEuMyAwLTIxLjkgNS4xLTI4LjkgMTMuOUw2OS4zIDQwOWMtOC4zIDEwLjMtNi42IDI1LjUgMy43IDMzLjdzMjUuNSA2LjYgMzMuNy0zLjhsNDcuMS01OC44IDE1LjIgNTAuN2MzIDEwLjIgMTIuNCAxNy4xIDIzIDE3LjFsMTA0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg2LjEgMC0xNi4xLTUzLjZjLTQuNy0xNS43LTE5LjEtMjYuNC0zNS41LTI2LjR6Il19LEpKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZS11cCIsaWNvbjpbMzg0LDUxMixbODk2M10sImYxMDYiLCJNMTY5LjQgMTM3LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwxOTIgMjA1LjMgNTQuNiAzNDIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTYwLTE2MHoiXX0sRjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utc21pbGUiLGljb246WzUxMiw1MTIsWzEyODU3OCwic21pbGUiXSwiZjExOCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY1LjQgMzIxLjljMjAuNCAyOCA1My40IDQ2LjEgOTAuNiA0Ni4xczcwLjItMTguMSA5MC42LTQ2LjFjNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zczEzLjEgMjIuOCA1LjMgMzMuNUMzNTYuMyAzOTAgMzA5LjIgNDE2IDI1NiA0MTZzLTEwMC4zLTI2LTEyOS40LTY1LjljLTcuOC0xMC43LTUuNC0yNS43IDUuMy0zMy41czI1LjctNS40IDMzLjUgNS4zek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LGVlYT1GOWUsdGVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1kcmVzcy1idXJzdCIsaWNvbjpbNjQwLDUxMixbXSwiZTU0NCIsIk0yMDggNDAuMWMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjR6TTggMTQ0LjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTkyLjUgMTQxLjRsMzMuOS0zMy45YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMNjYuNiAyNTEuNmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwek02Ni42IDIuN2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsMzMuOSAzMy45YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUwxMDAuNSAyLjdDOTEuMS02LjcgNzYtNi43IDY2LjYgMi43ek0zNTIgODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTI0Ni4yIDM4NGwyNS44IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCAzMiAwIDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggMjUuOCAwYzEwLjkgMCAxOC42LTEwLjcgMTUuMi0yMS4xbC00My0xMjkgNDguMyA2NS4xYzEwLjUgMTQuMiAzMC42IDE3LjIgNDQuOCA2LjZzMTcuMi0zMC42IDYuNi00NC44bC03MC41LTk1QzQzNCAxMzIgMzk0LjMgMTEyIDM1MiAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNmw0OC4zLTY1LjEtNDMgMTI5Yy0zLjUgMTAuNCA0LjMgMjEuMSAxNS4yIDIxLjF6Il19LGFlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaXZpZGUiLGljb246WzQ0OCw1MTIsWzEwMTM1LDI0N10sImY1MjkiLCJNMjI0IDQ4YTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0wIDI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0xNjggNDA4YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHoiXX0scmVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvZGUtZm9yayIsaWNvbjpbNDQ4LDUxMixbXSwiZTEzYiIsIk04MCAxMDRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04MC0yNGMwIDMyLjgtMTkuNyA2MS00OCA3My4zbDAgMjIuN2MwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTIyLjdjLTI4LjMtMTIuMy00OC00MC41LTQ4LTczLjMgMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDMyLjgtMTkuNyA2MS00OCA3My4zbDAgMjIuN2MwIDYxLjktNTAuMSAxMTItMTEyIDExMmwtMzIgMCAwIDcwLjdjMjguMyAxMi4zIDQ4IDQwLjUgNDggNzMuMyAwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTMyLjggMTkuNy02MSA0OC03My4zbDAtNzAuNy0zMiAwQzk4LjEgMjg4IDQ4IDIzNy45IDQ4IDE3NmwwLTIyLjdDMTkuNyAxNDEgMCAxMTIuOCAwIDgwIDAgMzUuOCAzNS44IDAgODAgMHM4MCAzNS44IDgwIDgwem0yMDggMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4ek0yNDggNDMyYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6Il19LHNlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1mbGFnIixpY29uOls2NDAsNTEyLFtdLCJlNTBkIiwiTTQ3MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDI4OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMjgzLjUgNTkuMWwxMDAuNSA5Ni45IDAgMzU2LTI1NiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE0NC0xOS45IDBjLTE1LjUgMC0yOC4xLTEyLjYtMjguMS0yOC4xIDAtNy42IDMuMS0xNC45IDguNi0yMC4yTDIyOC41IDU5LjFDMjM1LjkgNTIgMjQ1LjcgNDggMjU2IDQ4czIwLjEgNCAyNy41IDExLjF6TTIzMiAyNTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0bC00OCAweiJdfSxLOD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1jb2x1bW5zIixpY29uOls1MTIsNTEyLFsiYmFuayIsImluc3RpdHV0aW9uIiwibXVzZXVtIiwidW5pdmVyc2l0eSJdLCJmMTljIiwiTTI3MS45IDIwLjJjLTkuOC01LjYtMjEuOS01LjYtMzEuOCAwbC0yMjQgMTI4Yy0xMi42IDcuMi0xOC44IDIyLTE1LjEgMzZTMTcuNSAyMDggMzIgMjA4bDMyIDAgMCAyMDggMCAwLTUxLjIgMzguNEM0LjcgNDYwLjQgMCA0NjkuOSAwIDQ4MCAwIDQ5Ny43IDE0LjMgNTEyIDMyIDUxMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMiAwLTEwLjEtNC43LTE5LjYtMTIuOC0yNS42bC01MS4yLTM4LjQgMC0yMDggMzIgMGMxNC41IDAgMjcuMi05LjggMzAuOS0yMy44cy0yLjUtMjguOC0xNS4xLTM2bC0yMjQtMTI4ek00MDAgMjA4bDAgMjA4LTY0IDAgMC0yMDggNjQgMHptLTExMiAwbDAgMjA4LTY0IDAgMC0yMDggNjQgMHptLTExMiAwbDAgMjA4LTY0IDAgMC0yMDggNjQgMHpNMjU2IDk2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0saWVhPUs4LG9lYT1LOCxuZWE9SzgsbGVhPUs4LGNlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWciLGljb246WzU3Niw1MTIsW10sImU1NjkiLCJNMjQgNjRsNTYgMCAwIDM4NC01NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTQwLTggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4IDAgMC0zMi04IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtMzItOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTQwLTggMEMxMC43IDExMiAwIDEwMS4zIDAgODhTMTAuNyA2NCAyNCA2NHptMTA0IDBsMzIwIDAgMCAzODQtMzIwIDAgMC0zODR6TTU3NiA4OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgNDAgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDAgMCAzMiA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMCAwIDMyIDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgNDAgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC01NiAwIDAtMzg0IDU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjR6Il19LGRlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlLW1lcmdlIixpY29uOls0NDgsNTEyLFtdLCJmMzg3IiwiTTgwIDU2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMzIuNCA5Ny4yYzI4LTEyLjQgNDcuNi00MC41IDQ3LjYtNzMuMiAwLTQ0LjItMzUuOC04MC04MC04MFMwIDM1LjggMCA4MGMwIDMyLjggMTkuNyA2MSA0OCA3My4zbDAgMjA1LjNDMTkuNyAzNzEgMCAzOTkuMiAwIDQzMiAwIDQ3Ni4yIDM1LjggNTEyIDgwIDUxMnM4MC0zNS44IDgwLTgwYzAtMzIuOC0xOS43LTYxLTQ4LTczLjNsMC04Ni42YzI2LjcgMjAuMSA2MCAzMiA5NiAzMmw4Ni43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OCA0NC4yIDAgODAtMzUuOCA4MC04MHMtMzUuOC04MC04MC04MGMtMzIuOCAwLTYxIDE5LjctNzMuMyA0OEwyMDggMjQwYy00OS45IDAtOTEtMzguMS05NS42LTg2Ljh6TTgwIDQwOGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTM0NCAyNzJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sdWVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLXRzdW5hbWkiLGljb246WzY0MCw1MTIsW10sImU1MTUiLCJNMjg4IDE2QzE1NS41IDE2IDQ4IDEyMy41IDQ4IDI1NlMxNTUuNSA0OTYgMjg4IDQ5NmM3LjQgMCAxOS43LTIuMyAzMy43LTcuMyAxMy44LTQuOSAyNy4xLTExLjcgMzYuNy0xOC45IDM4LjQtMjkgOTAuNS0yOSAxMjkgMCAxNS40IDExLjYgMzUuMyAyMS4xIDU1IDI0LjQgMTkuNSAzLjMgMzcgLjQgNTEuMS0xMC4yIDEwLjYtOCAyNS42LTUuOSAzMy42IDQuN3M1LjkgMjUuNi00LjcgMzMuNmMtMjcuMyAyMC41LTU5LjIgMjQtODcuOSAxOS4yLTI4LjUtNC44LTU1LjQtMTgtNzUuOS0zMy40LTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAwLTE0LjUgMTAuOS0zMi40IDE5LjctNDkuNSAyNS44LTE2LjggNi0zNC45IDEwLjEtNDkuOSAxMC4xbC0uMSAwQzEyOC45IDU0My45IDAgNDE1IDAgMjU2IDAgOTYuOSAxMjguOS0zMiAyODgtMzIgMzAxLjMtMzIgMzEyLTIxLjMgMzEyLThzLTEwLjcgMjQtMjQgMjR6bTQ0LjggMTY2LjRsOTYtNzJjMTEuNC04LjUgMjcuMS04LjUgMzguNSAwbDk1LjUgNzJjOCA2IDEyLjcgMTUuNSAxMi43IDI1LjVsLjMgMTIxLjVjLTIuMiAxLjMtNC4zIDIuNi02LjQgNC4yLTQuMyAzLjEtOC43IC44LTEzLjItMS41bC0xLjItLjYtLjctLjNjLTUuNC0yLjctMTEuNy02LjYtMTguOS0xMS43LTI5LjUtMjEuMS02NC4zLTMxLjYtOTkuMS0zMS40LTM0LjEgLjItNjguMSAxMC43LTk3IDMxLjQtNy44IDUuNi0xMy44IDkuMy0xOS4zIDExLjJMMzIwIDIwOGMwLTEwLjEgNC43LTE5LjYgMTIuOC0yNS42em01NC42IDIyOS43Yy0xNC41IDEwLjktMzIuNCAxOS43LTQ5LjUgMjUuOC0xNi44IDYtMzQuOSAxMC4xLTQ5LjkgMTAuMS0xMDYgMC0xOTItODYtMTkyLTE5MlMxODIgNjQgMjg4IDY0YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NHM2NC41IDE0NCAxNDQgMTQ0YzcuNCAwIDE5LjctMi4zIDMzLjctNy4zIDEzLjgtNC45IDI3LjEtMTEuNyAzNi43LTE4LjkgMzguNC0yOSA5MC41LTI5IDEyOSAwIDE1LjQgMTEuNiAzNS4zIDIxLjEgNTUgMjQuNCAxOS41IDMuMyAzNyAuNCA1MS4xLTEwLjIgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOSAyNS42LTQuNyAzMy42Yy0yNy4zIDIwLjUtNTkuMiAyNC04Ny45IDE5LjItMjguNS00LjgtNTUuNC0xOC03NS45LTMzLjQtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDB6Il19LHBlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYWduaWZ5aW5nLWdsYXNzLWNoYXJ0IixpY29uOls1MTIsNTEyLFtdLCJlNTIyIiwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZDMjk2LjMgNDAxLjEgMjUzLjkgNDE2IDIwOCA0MTYgOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDAgNDE2IDkzLjEgNDE2IDIwOHptLTMxMiA4bDAgNjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTY0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em04MC05NmwwIDE2MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em04MCA2NGwwIDk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC05NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHoiXX0sZmVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVtYnJlbGxhIixpY29uOls1MTIsNTEyLFtdLCJmMGU5IiwiTTI1Ni0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDJjMTI2LjMgMTUuNyAyMjQgMTIzLjUgMjI0IDI1NCAwIDMuOC0uMSA3LjUtLjIgMTEuMy0uMyA2LjktNSAxMi44LTExLjcgMTQuN3MtMTMuOC0uNy0xNy42LTYuNWMtMTQuNC0yMS40LTM4LjgtMzUuNS02Ni41LTM1LjUtMjkuMyAwLTU0LjkgMTUuNy02OC45IDM5LjMtMi43IDQuNi03LjYgNy42LTEzIDcuOHMtMTAuNS0yLjItMTMuNy02LjVjLTE0LjYtMTkuOC0zOC0zMi42LTY0LjUtMzIuNnMtNDkuOSAxMi44LTY0LjUgMzIuNmMtMy4yIDQuMy04LjMgNi44LTEzLjcgNi41cy0xMC4yLTMuMi0xMy03LjhjLTE0LTIzLjYtMzkuNi0zOS4zLTY4LjktMzkuMy0yNy43IDAtNTIuMSAxNC4xLTY2LjUgMzUuNS0zLjkgNS43LTExIDguNC0xNy42IDYuNVMuNSAyNzQuMiAuMiAyNjcuM0MuMSAyNjMuNSAwIDI1OS44IDAgMjU2IDAgMTI1LjUgOTcuNyAxNy43IDIyNCAybDAtMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMzIgMzYwbDAgMTAyLjZjMCA0NS0zNi41IDgxLjQtODEuNCA4MS40LTMwLjggMC01OS0xNy40LTcyLjgtNDVsLTIuMy00LjdjLTcuOS0xNS44LTEuNS0zNSAxNC4zLTQyLjlzMzUtMS41IDQyLjkgMTQuM2wyLjMgNC43YzMgNS45IDkgOS42IDE1LjYgOS42IDkuNiAwIDE3LjQtNy44IDE3LjQtMTcuNEwyMjQgMzI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6Il19LGhlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoaWxsLXJvY2tzbGlkZSIsaWNvbjpbNTc2LDUxMixbXSwiZTUwOCIsIk0yNTIuNCAxMDMuOGwyNyA0OGMyLjggNSA4LjIgOC4yIDEzLjkgOC4ybDUzLjMgMGM1LjggMCAxMS4xLTMuMSAxMy45LTguMmwyNy00OGMyLjctNC45IDIuNy0xMC44IDAtMTUuN2wtMjctNDhjLTIuOC01LTguMi04LjItMTMuOS04LjJsLTUzLjMgMGMtNS44IDAtMTEuMSAzLjEtMTMuOSA4LjJsLTI3IDQ4Yy0yLjcgNC45LTIuNyAxMC44IDAgMTUuN3pNNjguMyA4N0M0My4xIDYxLjggMCA3OS43IDAgMTE1LjNMMCA0MzJjMCA0NC4yIDM1LjggODAgODAgODBsMzE2LjcgMGMzNS42IDAgNTMuNS00My4xIDI4LjMtNjguM0w2OC4zIDg3ek01MDQuMiA0MDMuNmM0LjkgMi43IDEwLjggMi43IDE1LjcgMGw0OC0yN2M1LTIuOCA4LjItOC4yIDguMi0xMy45bDAtNTMuM2MwLTUuOC0zLjEtMTEuMS04LjItMTMuOWwtNDgtMjdjLTQuOS0yLjctMTAuOC0yLjctMTUuNyAwbC00OCAyN2MtNSAyLjgtOC4yIDguMi04LjIgMTMuOWwwIDUzLjNjMCA1LjggMy4xIDExLjEgOC4yIDEzLjlsNDggMjd6TTE5MiA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zODQgMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sbWVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItc2VjcmV0IixpY29uOls0NDgsNTEyLFsxMjgzNzNdLCJmMjFiIiwiTTE3MS0xNmMtMzYuNCAwLTU3LjggNTguMy02OC4zIDExMkw3MiA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNCAwIDAgMzJjMCAxNyAzLjMgMzMuMiA5LjMgNDhsLTkuMyAwIDAgMC0yMC41IDBjLTE1LjIgMC0yNy41IDEyLjMtMjcuNSAyNy41IDAgMyAuNSA1LjkgMS40IDguN2wyOC45IDg2LjZDNDAuMiAzNzkuNiAxNiA0MjguMSAxNiA0ODIuMyAxNiA0OTguNyAyOS4zIDUxMiA0NS43IDUxMmwzNTYuNiAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43IDAtNTQuMi0yNC4yLTEwMi43LTYyLjMtMTM1LjRsMjguOS04Ni42Yy45LTIuOCAxLjQtNS43IDEuNC04LjcgMC0xNS4yLTEyLjMtMjcuNS0yNy41LTI3LjVsLTIwLjUgMCAwIDAtOS4zIDBjNi0xNC44IDkuMy0zMSA5LjMtNDhsMC0zMiAyNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMC43IDBjLTEwLjQtNTMuNy0zMS45LTExMi02OC4zLTExMi05LjYgMC0xOSAzLjktMjcuNSA4LjItOC4yIDQuMS0xOC40IDcuOC0yNS41IDcuOHMtMTcuMy0zLjctMjUuNS03LjhDMTkwLTEyLjEgMTgwLjYtMTYgMTcxLTE2em05My43IDQ4NC40bC0yNC44LTcwLjkgMjcuOS0zMi41YzIuNy0zLjIgNC4yLTcuMiA0LjItMTEuNCAwLTkuNy03LjgtMTcuNS0xNy41LTE3LjVsLTYxIDBjLTkuNyAwLTE3LjUgNy44LTE3LjUgMTcuNSAwIDQuMiAxLjUgOC4yIDQuMiAxMS40bDI3LjkgMzIuNS0yNC44IDcwLjktNTctMTgwLjQgMzUuNyAwYzE4LjQgMTAuMiAzOS41IDE2IDYyIDE2czQzLjYtNS44IDYyLTE2bDM1LjcgMC01NyAxODAuNHpNMjI0IDI1NmMtMzQuNyAwLTY0LjItMjIuMS03NS4zLTUzIDUuNyAzLjIgMTIuMyA1IDE5LjMgNWwxMi40IDBjMTYuNSAwIDMxLjEtMTAuNiAzNi4zLTI2LjIgMi4zLTcgMTIuMi03IDE0LjUgMCA1LjIgMTUuNiAxOS45IDI2LjIgMzYuMyAyNi4ybDEyLjQgMGM3IDAgMTMuNi0xLjggMTkuMy01LTExLjEgMzAuOS00MC42IDUzLTc1LjMgNTN6Il19LGdlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYWdlciIsaWNvbjpbNTEyLDUxMixbMTI4MjIzXSwiZjgxNSIsIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4em02NCAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNODggMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDB6bTEyOCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDB6Il19LGJlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmllZmNhc2UiLGljb246WzUxMiw1MTIsWzEyODE4OF0sImYwYjEiLCJNMjAwIDQ4bDExMiAwYzQuNCAwIDggMy42IDggOGwwIDQwLTEyOCAwIDAtNDBjMC00LjQgMy42LTggOC04em0tNTYgOGwwIDQwLTgwIDBDMjguNyA5NiAwIDEyNC43IDAgMTYwbDAgOTYgNTEyIDAgMC05NmMwLTM1LjMtMjguNy02NC02NC02NGwtODAgMCAwLTQwYzAtMzAuOS0yNS4xLTU2LTU2LTU2TDIwMCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NnpNNTEyIDMwNGwtMTkyIDAgMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNi0xOTIgMCAwIDExMmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTExMnoiXX0sdmVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyb3dlbC1icmlja3MiLGljb246WzUxMiw1MTIsW10sImU1OGEiLCJNMjI0IDMyYzAtMTEuNS02LjItMjIuMi0xNi4yLTI3LjhzLTIyLjMtNS41LTMyLjIgLjRsLTE2MCA5NkM1LjkgMTA2LjMgMCAxMTYuOCAwIDEyOHM1LjkgMjEuNyAxNS41IDI3LjRsMTYwIDk2YzkuOSA1LjkgMjIuMiA2LjEgMzIuMiAuNFMyMjQgMjM1LjUgMjI0IDIyNGwwLTY0IDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yNTYgMCAwLTY0em05NiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTYwIDB6TTAgNDE2bDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMjI0LTMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTI1NiAweiJdfSx4ZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic29ja3MiLGljb246WzUxMiw1MTIsWzEyOTUxMF0sImY2OTYiLCJNMjUyLjggMEwxNzYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNiAxMTIgMCAwLTE2YzAtMTcuNSA0LjctMzMuOSAxMi44LTQ4ek0xMjggMTEybDAgMTI4YzAgMjAuMS05LjUgMzkuMS0yNS42IDUxLjJsLTY0IDQ4Yy0yNC4yIDE4LjEtMzguNCA0Ni42LTM4LjQgNzYuOCAwIDUzIDQzIDk2IDk2IDk2IDE1LjQgMCAzMC41LTMuNyA0NC0xMC43LTE3LjYtMjMuOS0yOC01My40LTI4LTg1LjMgMC00NS4zIDIxLjMtODggNTcuNi0xMTUuMmw2NC00OGM0LTMgNi40LTcuOCA2LjQtMTIuOGwwLTEyOC0xMTIgMHptMTYwIDBsMCAxMjhjMCAyMC4xLTkuNSAzOS4xLTI1LjYgNTEuMmwtNjQgNDhjLTI0LjIgMTguMS0zOC40IDQ2LjYtMzguNCA3Ni44IDAgNTMgNDMgOTYgOTYgOTYgMjAuOCAwIDQxLTYuNyA1Ny42LTE5LjJsMTE1LjItODYuNEM0NjEgMzgyLjIgNDgwIDM0NC4zIDQ4MCAzMDRsMC0xOTItMTkyIDB6TTQ4MCA2NGwwLTE2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDMzNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2IDE5MiAweiJdfSx5ZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidCIsaWNvbjpbMzg0LDUxMixbMTE2XSwiNTQiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDEyOCAwIDAgMzUyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNTIgMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6Il19LHdlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtaWNyb2NoaXAiLGljb246WzUxMiw1MTIsW10sImYyZGIiLCJNMTc2IDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bC00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDAgMCA1Ni00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDAgMCA1Ni00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDBjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAgNTYgMCAwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MCA1NiAwIDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDAgMC01NiA0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00MCAwIDAtNTYgNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDAgMGMwLTM1LjMtMjguNy02NC02NC02NGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDAtNTYgMCAwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDAtNTYgMCAwLTQwek0xNjAgMTI4bDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xOTJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE2IDQ4bDAgMTYwIDE2MCAwIDAtMTYwLTE2MCAweiJdfSxCOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stbWVkaWNhbCIsaWNvbjpbNTc2LDUxMixbMTI4NjU3LCJhbWJ1bGFuY2UiXSwiZjBmOSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMuMyAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjRzNzQuMi0yNy4xIDg0LjctNjRsMTAyLjYgMGMxMC40IDM2LjkgNDQuNCA2NCA4NC43IDY0czc0LjItMjcuMSA4NC43LTY0bDMuMyAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTQ2LjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNTEyIDE0Ni43Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43bC01MC43IDAgMC0zMmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNNTEyIDIzNy4zbDAgNTAuNy05NiAwIDAtOTYgNTAuNyAwIDQ1LjMgNDUuM3pNMTUyIDM4NGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6bTIzMiA0MGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek0xNzYgMTM2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQwIDQwIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00MCAwIDAgNDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00MC00MCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDAgMCAwLTQweiJdfSxNZWE9QjllLGtlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvbSIsaWNvbjpbNTc2LDUxMixbMTI4MzI5XSwiZjY3OSIsIk0zODguNyA0LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsMTYgMTZjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTE2IDE2Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtMTYtMTZjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42bDE2LTE2ek0xNzYgMTYwYy0xMC44IDAtMjAuOCAzLjYtMjguOCA5LjYtMTQuMSAxMC42LTM0LjIgNy44LTQ0LjgtNi40cy03LjgtMzQuMiA2LjQtNDQuOGMxOC43LTE0LjEgNDItMjIuNCA2Ny4yLTIyLjQgNjEuOSAwIDExMiA1MC4xIDExMiAxMTIgMCAxNy4yLTMuOSAzMy41LTEwLjggNDhsNDkuNyAwYzEyLjcgMCAyNC45LTUgMzMuOS0xNC4xbDIwLjctMjAuN2MxOC43LTE4LjcgNDQuMS0yOS4zIDcwLjYtMjkuMyA1NS4yIDAgOTkuOSA0NC43IDk5LjkgOTkuOWwwIDk2LjFjMCA1NS4yLTQ0LjggMTAwLTEwMCAxMDBTMzUyIDQ0My4yIDM1MiAzODhsMC00YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA0YzAgMTkuOSAxNi4xIDM2IDM2IDM2czM2LTE2LjEgMzYtMzZsMC05Ni4xYzAtMTkuOC0xNi4xLTM1LjktMzUuOS0zNS45LTkuNSAwLTE4LjYgMy44LTI1LjQgMTAuNWwtMjAuNyAyMC43Yy0yMSAyMS00OS40IDMyLjgtNzkuMSAzMi44bC0yNi44IDBjMTIuNiAxOS42IDE5LjkgNDIuOCAxOS45IDY4IDAgNzUuMi02NSAxMzItMTQwIDEzMlM0MCA0NjMuMiA0MCAzODhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmMwIDM1LjMgMzEuNyA2OCA3NiA2OHM3Ni0zMi43IDc2LTY4LTMxLjctNjgtNzYtNjhsLTIwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OHpNMzM3LjEgNjAuMWMtMTEtMTMuOC0zMS4xLTE2LjItNDUtNS4ycy0xNi4yIDMxLjEtNS4yIDQ1QzMxMi42IDEzMi4yIDM1NC40IDE1MiA0MDAgMTUyczg3LjQtMTkuOCAxMTMuMS01Mi4xYzExLTEzLjggOC43LTM0LTUuMi00NXMtMzQtOC43LTQ1IDUuMkM0NTAuMyA3NiA0MjcuNSA4OCA0MDAgODhzLTUwLjMtMTItNjIuOS0yNy45eiJdfSxTZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9zcXVpdG8tbmV0IixpY29uOls2NDAsNTEyLFtdLCJlNTJjIiwiTTU3NiAzNTJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxNiAxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwIDAgNDggMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMCAwIDE2LS4xIDIuNUM1OTguNiA1NjYuNiA1ODguNCA1NzYgNTc2IDU3NnMtMjIuNi05LjQtMjMuOS0yMS41bC0uMS0yLjUgMC0xNi00OCAwIDAgMTYtLjEgMi41QzUwMi42IDU2Ni42IDQ5Mi40IDU3NiA0ODAgNTc2cy0yMi42LTkuNC0yMy45LTIxLjVsLS4xLTIuNSAwLTE2LTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTYgMCAwLTQ4LTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTYgMCAwLTE2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxNiA0OCAwIDAtMTZjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTQyOS45IDE2LjNjNy43LTkuNCAyMS4zLTExLjUgMzEuNC00LjMgMTAuMSA3LjEgMTMuMSAyMC45IDcuNCAzMS43bC0xLjMgMi4xLTI1LjkgMzguOSAxMy4zIDUzLjRjMiA4LS4xIDE2LjMtNS4zIDIyLjNsLTIuNCAyLjQtNDQuNyAzOC4zIDEzMC41IDE0LjVjNDIuOCA0LjggNzUuMSA0MC45IDc1LjEgODMuOSAwIDMuOS0uNCA3LjctLjkgMTEuNS03LjMtMy41LTE1LjMtNS44LTIzLjgtNi43TDU3NiAzMDRjLTE4LjUgMC0zNS4zIDctNDggMTguNC0xMS05LjktMjUuMS0xNi41LTQwLjYtMTguMUw0ODAgMzA0Yy0zMC4zIDAtNTYuMSAxOC43LTY2LjggNDUuMi0xMi41IDUtMjMuMiAxMy40LTMxLjEgMjRsLTMwLjItNDAuMSAwIDc0LjdjMCAxNy43LTE0LjMgMzItMzIgMzItMTYuNiAwLTMwLjItMTIuNi0zMS44LTI4LjdsLS4yLTMuMyAwLTc0LjYtMzIuMyA0MyAwIDM5LjhjMCAzLjUtLjcgNi45LTIuMSAxMC4xbC0xLjYgMy4xLTQwIDY0LTEuNCAyYy03LjUgOS42LTIxIDEyLjEtMzEuMyA1LjMtMTAuMy02LjgtMTMuNy0yMC41LTguMy0zMS41bDEuMi0yLjIgMzYuMi01OCAwLTQxIC4zLTRjLjYtMy45IDIuMi03LjcgNC42LTEwLjlsMzkuMy01Mi4yLTY2LjIgNTkuNWMtMTcgMTUuMy0zOSAyMy43LTYxLjkgMjMuOGwtOC4xIDBjLTQ2LjYgMC04NC40LTM3LjgtODQuNC04NC40IDAtNDMgMzIuNC03OS4yIDc1LjEtODMuOWwxMzAuNS0xNC41LTQ0LjctMzguMy0yLjQtMi40Yy01LjItNi03LjMtMTQuNC01LjMtMjIuM2wxMy4zLTUzLjQtMjUuOS0zOC45LTEuMi0yLjFjLTUuNy0xMC44LTIuNy0yNC42IDcuNC0zMS43IDEwLjEtNy4xIDIzLjctNS4xIDMxLjQgNC4zbDEuNSAyIDMyIDQ4IDEuNCAyLjJjMi44IDUuMyAzLjUgMTEuNiAyLjEgMTcuNmwtMTIuMyA0OS4yIDUzLjMgNDUuNyAwLTI4LjggLjItMy4yYzEuMS0xMC40IDcuMi0xOS40IDE1LjgtMjQuNGwwLTYwLjUgLjMtMy4yYzEuNS03LjMgOC0xMi43IDE1LjctMTIuOCA3LjcgMCAxNC4yIDUuNSAxNS43IDEyLjhsLjMgMy4yIDAgNjAuNWM4LjcgNSAxNC44IDE0IDE1LjggMjQuNGwuMiAzLjIgMCAyOC45IDUzLjQtNDUuNy0xMi4zLTQ5LjJjLTEuNS01LjktLjctMTIuMiAyLjEtMTcuNmwxLjQtMi4yIDMyLTQ4IDEuNS0yek01MDQgNDg4bDQ4IDAgMC00OC00OCAwIDAgNDh6Il19LHplYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwcmVzY3JpcHRpb24tYm90dGxlIixpY29uOlszODQsNTEyLFtdLCJmNDg1IiwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NEwwIDMyek0zMiAxNDRsMzIwIDAgMCAzMDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGw3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwIDAtNDggNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNzIgMCAwLTQ4IDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTcyIDAgMC02NHoiXX0sSDllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzLWdlYXIiLGljb246WzY0MCw1MTIsWyJ1c2Vycy1jb2ciXSwiZjUwOSIsIk0zMjAgMjI0YTEwNCAxMDQgMCAxIDAgMC0yMDggMTA0IDEwNCAwIDEgMCAwIDIwOHpNOTYgMjMyYTcyIDcyIDAgMSAwIDAtMTQ0IDcyIDcyIDAgMSAwIDAgMTQ0ek0wIDQxNmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDg2LjcgMGMtNC4zLTkuOC02LjctMjAuNi02LjctMzJsMC0xNmMwLTUzLjIgMjAtMTAxLjggNTIuOS0xMzguNi0xMS43LTMuNS0yNC4xLTUuNC0zNi45LTUuNC03MC43IDAtMTI4IDU3LjMtMTI4IDEyOHpNNjE2IDE2MGE3MiA3MiAwIDEgMCAtMTQ0IDAgNzIgNzIgMCAxIDAgMTQ0IDB6TTE2MCA0MzJsMCAxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNTYuOCAwYy03LjEtMjEuNi02LjMtNDQuNCAxMC43LTY0LTE0LTE2LjItMjAuNS0zOS43LTExLjQtNjMuMyA2LjYtMTcuMSAxNS45LTMzLjEgMjcuNC00Ny4zIDUuNC02LjYgMTEuNi0xMS43IDE4LjMtMTUuNC0yMi4xLTExLjUtNDcuMi0xOC03My44LTE4LTg4LjQgMC0xNjAgNzEuNi0xNjAgMTYwem00NjQuNi00NC4xYzYuMy0zLjYgOS41LTExLjEgNi44LTE4LTQuOC0xMi40LTExLjUtMjQuMS0xOS45LTM0LjQtNC42LTUuNy0xMi43LTYuNy0xOS0zLTIxLjggMTIuNi00OC42LTIuOC00OC42LTI4LjEgMC03LjMtNC45LTEzLjgtMTIuMS0xNC45LTEyLjktMi0yNi44LTItMzkuNyAwLTcuMiAxLjEtMTIuMSA3LjYtMTIuMSAxNC45IDAgMjUuMi0yNi44IDQwLjctNDguNiAyOC4xLTYuMy0zLjYtMTQuNC0yLjYtMTkgMy04LjQgMTAuMy0xNS4xIDIyLTE5LjkgMzQuNC0yLjYgNi44IC41IDE0LjMgNi44IDE3LjkgMjEuOSAxMi42IDIxLjkgNDMuNSAwIDU2LjItNi4zIDMuNi05LjUgMTEuMS02LjggMTcuOSA0LjggMTIuNCAxMS41IDI0LjEgMTkuOSAzNC40IDQuNiA1LjcgMTIuNyA2LjcgMTkgMyAyMS44LTEyLjYgNDguNiAyLjkgNDguNiAyOC4xIDAgNy4zIDQuOSAxMy44IDEyLjEgMTQuOSAxMi45IDIgMjYuOCAyIDM5LjcgMCA3LjItMS4xIDEyLjEtNy42IDEyLjEtMTQuOSAwLTI1LjIgMjYuOC00MC43IDQ4LjYtMjguMSA2LjMgMy42IDE0LjQgMi42IDE5LTMgOC40LTEwLjMgMTUuMS0yMiAxOS45LTM0LjQgMi42LTYuOC0uNS0xNC4zLTYuOC0xNy45LTIxLjktMTIuNi0yMS45LTQzLjUgMC01Ni4yek00NzIgNDE2YTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6Il19LENlYT1IOWUsX2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvYWQtY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTY1IiwiTTI4OCAzMmwtNzYuMyAwYy0yOS40IDAtNTUuMSAyMC4xLTYyLjEgNDguNkw2NS40IDQyMC41QzU3LjkgNDUwLjcgODAuOCA0ODAgMTEyIDQ4MGwyMDkuNCAwYy0xMS4yLTI0LjQtMTcuNC01MS40LTE3LjQtODAgMC0yOC42IDYuMi01NS43IDE3LjQtODAtLjUgMC0xIDAtMS41IDAtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDljMzUuMi0zOS45IDg2LjctNjUgMTQ0LTY1IDkgMCAxNy44IC42IDI2LjUgMS44bC0zMi0xMjkuMkM0ODMuNCA1Mi4xIDQ1Ny44IDMyIDQyOC4zIDMybC03Ni40IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0ek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sVGVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhdXNlIixpY29uOlszODQsNTEyLFs5MjA4XSwiZjA0YyIsIk00OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMzJ6bTIyNCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDM1MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAweiJdfSxYYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFmZi1zbmFrZSIsaWNvbjpbNDQ4LDUxMixbInJvZC1hc2NsZXBpdXMiLCJyb2Qtc25ha2UiLCJzdGFmZi1hZXNjdWxhcGl1cyJdLCJlNTc5IiwiTTE5MiAzMmwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiA2NCAwYzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2bC0xNiAwIDAtNjQgMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwIDE5MiAzMiAwYzUzIDAgOTYgNDMgOTYgOTYgMCA0Ny42LTM0LjYgODcuMS04MCA5NC43bDAtNjdjOS42LTUuNSAxNi0xNS45IDE2LTI3LjcgMC0xNy43LTE0LjMtMzItMzItMzJsLTMyIDAgMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC02NC0zMiAwYy01MyAwLTk2LTQzLTk2LTk2IDAtNDcuNiAzNC42LTg3LjEgODAtOTQuN2wwIDY3Yy05LjYgNS41LTE2IDE1LjktMTYgMjcuNyAwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwIDAtMTkyLTcyLjYgMGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMmwtMTYgMEMyMS41IDEyOCAwIDEwNi41IDAgODBTMjEuNSAzMiA0OCAzMmwxNDQgMHoiXX0sTGVhPVhiLCRlYT1YYixEZWE9WGIsQWVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBpZ2d5LWJhbmsiLGljb246WzU3Niw1MTIsW10sImY0ZDMiLCJNMjg4LTMyYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyek00OCAzMDRjMC03MC4xIDQ3LTEzMS40IDExNy4xLTE2NC45IDI1LjMgNDEuMyA3MC45IDY4LjkgMTIyLjkgNjguOSA1NS43IDAgMTA0LjEtMzEuNyAxMjgtNzggMTUuOC0xMS4zIDM1LjEtMTggNTYtMThsMTkuNSAwYzEwLjQgMCAxOCA5LjggMTUuNSAxOS45bC0xNy4xIDY4LjNjOS45IDEyLjQgMTguMiAyNS43IDI0LjQgMzkuOGwyMS43IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQwIDBjLTE2LjUgMjItMzguNSAzOS42LTY0IDUwLjdsMCAyOS4zYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMyAwYy0xNC4zIDAtMjYuOC05LjUtMzAuOC0yMy4ybC03LjEtMjQuOC04Mi4zIDAtNy4xIDI0LjhDMjM1LjggNTAyLjUgMjIzLjMgNTEyIDIwOSA1MTJsLTMzIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjkuM0M4Ny41IDQyNiA0OCAzNjkuNiA0OCAzMDR6bTM3NiAxNmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LFBlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb251bWVudCIsaWNvbjpbMzg0LDUxMixbXSwiZjVhNiIsIk0yMDktMzNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDk1IDQ3Yy00LjEgNC4xLTYuNSA5LjQtNyAxNS4xTDU4LjQgNDQ4IDQ4IDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTAuNCAwLTI5LjctMzg1LjhjLS40LTUuNy0yLjktMTEuMS03LTE1LjFMMjA5LTMzek0xMjggMjk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxxOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGVzLXJpZ2h0IixpY29uOls0NDgsNTEyLFsxODcsImFuZ2xlLWRvdWJsZS1yaWdodCJdLCJmMTAxIiwiTTQzOS4xIDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0wzNzEuMiAyNTYgMjMzLjkgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MHptLTM1MiAxNjBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMTc5LjIgMjU2IDQxLjkgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDB6Il19LEVlYT1xOWUscHY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGVza3RvcCIsaWNvbjpbNTEyLDUxMixbMTI4NDIxLDYxNzA0LCJkZXNrdG9wLWFsdCJdLCJmMzkwIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTQ0IDAtMTYgNDgtNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNzIgMC0xNi00OCAxNDQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNOTYgOTZsMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sSWVhPXB2LE5lYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGFuZS1jaXJjbGUteG1hcmsiLGljb246WzY0MCw1MTIsW10sImU1NTciLCJNMjMyIDI0YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAxMjcuMyA3OCA3MS41Yy02OS4zIDI5LTExOCA5Ny40LTExOCAxNzcuMiAwIDQ5LjMgMTguNiA5NC4zIDQ5LjEgMTI4LjNMMjg4IDUxMiAxNzkuOSA1MzljLTEwLjEgMi41LTE5LjktNS4xLTE5LjktMTUuNWwwLTE5LjhjMC00LjkgMi4yLTkuNSA2LTEyLjVsNjYtNTIuOCAwLTk5LjctMTYyLjkgNTQuM0M1OC43IDM5Ni40IDQ4IDM4OC43IDQ4IDM3Ny44bDAtNDMuN2MwLTkgMy44LTE3LjUgMTAuNC0yMy42TDIzMiAxNTEuMyAyMzIgMjR6TTQ5NiAyNTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em01OS4zIDEwNy4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTM2LjcgMzYuNy0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsMzYuNyAzNi43LTM2LjcgMzYuN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDM2LjctMzYuNyAzNi43IDM2LjdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zNi43LTM2LjcgMzYuNy0zNi43eiJdfSxSZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmV0d2VldCIsaWNvbjpbNTc2LDUxMixbXSwiZjA3OSIsIk0xMTguNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45UzE5LjEgMTYwIDMyIDE2MGwzMiAwIDAgMjI0YzAgNTMgNDMgOTYgOTYgOTZsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTIyNCAzMiAwYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTY0LTY0ek00NTcuNCA0NzAuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw2NC02NGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM1NTYuOSAzNTIgNTQ0IDM1MmwtMzIgMCAwLTIyNGMwLTUzLTQzLTk2LTk2LTk2TDI4OCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDIyNC0zMiAwYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWw2NCA2NHoiXX0sVjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItZ2VhciIsaWNvbjpbNjQwLDUxMixbInVzZXItY29nIl0sImY0ZmUiLCJNMjU2LjUgOGExMjAgMTIwIDAgMSAxIDAgMjQwIDEyMCAxMjAgMCAxIDEgMC0yNDB6TTIyNi43IDMwNGw1OS40IDAgMS41IDBjLTEyLjkgMjYuOC03LjggNTguMiAxMS41IDc5LjUtMjAuMiAyMi4zLTI0LjggNTUuOC05LjQgODMuNGwyMi41IDQwLjRjLjkgMS42IDEuOSAzLjIgMi45IDQuN2wtMjM3IDBjLTE2LjQgMC0yOS43LTEzLjMtMjkuNy0yOS43IDAtOTguNSA3OS44LTE3OC4zIDE3OC4zLTE3OC4zem0yMDUuOS01Ni40YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA2LjFjMCAxOC45IDI0LjEgMzIuOCA0MC41IDIzLjRsNS0yLjljMTEuNi02LjcgMjYuNS0yLjYgMzMgOS4xbDIyLjQgNDAuMmM2LjIgMTEuMiAyLjYgMjUuMi04LjIgMzJsLTQuNyAyLjljLTE2LjIgMTAuMS0xNi4yIDM5LjkgMCA1MC4xbDQuNiAyLjljMTAuOCA2LjggMTQuNSAyMC44IDguMyAzMkw2MDcgNDgzLjhjLTYuNSAxMS43LTIxLjQgMTUuOS0zMyA5LjFsLTQuOS0yLjljLTE2LjQtOS41LTQwLjUgNC41LTQwLjUgMjMuNGwwIDYuMWMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC01LjljMC0xOS0yNC4yLTMzLTQwLjctMjMuNWwtNC44IDIuOGMtMTEuNiA2LjctMjYuNCAyLjYtMzMtOS4xbC0yMi42LTQwLjRjLTYuMi0xMS4yLTIuNi0yNS4zIDguMy0zMi4xbDQuNC0yLjdjMTYuMy0xMC4xIDE2LjMtNDAuMSAwLTUwLjJsLTQuNS0yLjhjLTEwLjktNi44LTE0LjUtMjAuOS04LjMtMzIuMWwyMi41LTQwLjNjNi41LTExLjcgMjEuNC0xNS44IDMyLjktOS4xbDQuOCAyLjhjMTYuNSA5LjUgNDAuNy00LjUgNDAuNy0yMy41bDAtNS45em05OS45IDEzNi4yYTUyIDUyIDAgMSAwIC0xMDQgMCA1MiA1MiAwIDEgMCAxMDQgMHoiXX0sT2VhPVY5ZSxGZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9yZGVyLWFsbCIsaWNvbjpbNDQ4LDUxMixbXSwiZjg0YyIsIk0zODQgOTZsMCAxMjgtMTI4IDAgMC0xMjggMTI4IDB6bTAgMTkybDAgMTI4LTEyOCAwIDAtMTI4IDEyOCAwek0xOTIgMjI0bC0xMjggMCAwLTEyOCAxMjggMCAwIDEyOHpNNjQgMjg4bDEyOCAwIDAgMTI4LTEyOCAwIDAtMTI4ek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyeiJdfSxCZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29pbnMiLGljb246WzUxMiw1MTIsW10sImY1MWUiLCJNMTI4IDk2bDAtMTZjMC00NC4yIDg2LTgwIDE5Mi04MFM1MTIgMzUuOCA1MTIgODBsMCAxNmMwIDMwLjYtNDEuMyA1Ny4yLTEwMiA3MC43LTIuNC0yLjgtNC45LTUuNS03LjQtOC0xNS41LTE1LjMtMzUuNS0yNi45LTU2LjQtMzUuNS00MS45LTE3LjUtOTYuNS0yNy4xLTE1NC4yLTI3LjEtMjEuOSAwLTQzLjMgMS40LTYzLjggNC4xLS4yLTEuMy0uMi0yLjctLjItNC4xek00MzIgMzUzbDAtNDYuMmMxNS4xLTMuOSAyOS4zLTguNSA0Mi4yLTEzLjkgMTMuMi01LjUgMjYuMS0xMi4yIDM3LjgtMjAuM2wwIDE1LjRjMCAyNi44LTMxLjUgNTAuNS04MCA2NXptMC05NmwwLTMzYzAtNC41LS40LTguOC0xLTEzIDE1LjUtMy45IDMwLTguNiA0My4yLTE0LjJzMjYuMS0xMi4yIDM3LjgtMjAuM2wwIDE1LjRjMCAyNi44LTMxLjUgNTAuNS04MCA2NXpNMCAyNDBsMC0xNmMwLTQ0LjIgODYtODAgMTkyLTgwczE5MiAzNS44IDE5MiA4MGwwIDE2YzAgNDQuMi04NiA4MC0xOTIgODBTMCAyODQuMiAwIDI0MHptMzg0IDk2YzAgNDQuMi04NiA4MC0xOTIgODBTMCAzODAuMiAwIDMzNmwwLTE1LjRjMTEuNiA4LjEgMjQuNSAxNC43IDM3LjggMjAuMyA0MS45IDE3LjUgOTYuNSAyNy4xIDE1NC4yIDI3LjFzMTEyLjMtOS43IDE1NC4yLTI3LjFjMTMuMi01LjUgMjYuMS0xMi4yIDM3LjgtMjAuM2wwIDE1LjR6bTAgODAuNmwwIDE1LjRjMCA0NC4yLTg2IDgwLTE5MiA4MFMwIDQ3Ni4yIDAgNDMybDAtMTUuNGMxMS42IDguMSAyNC41IDE0LjcgMzcuOCAyMC4zIDQxLjkgMTcuNSA5Ni41IDI3LjEgMTU0LjIgMjcuMXMxMTIuMy05LjcgMTU0LjItMjcuMWMxMy4yLTUuNSAyNi4xLTEyLjIgMzcuOC0yMC4zeiJdfSxIZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFycy1zdHJva2UiLGljb246WzU3Niw1MTIsWzk4OTRdLCJmMjI5IiwiTTQxNi0zMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1MC43IDAtNTguNyA1OC43LTE3LjQtMTcuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTcuNCAxNy40LTIzIDIzYy0yOC40LTE5LjUtNjIuNy0zMS05OS44LTMxLTk3LjIgMC0xNzYgNzguOC0xNzYgMTc2czc4LjggMTc2IDE3NiAxNzYgMTc2LTc4LjggMTc2LTE3NmMwLTM3LTExLjQtNzEuNC0zMS05OS44bDIzLTIzIDE3LjQgMTcuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDQ1My4zIDEzNiA1MTIgNzcuMyA1MTIgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJMNTc2IDBjMC0xNy43LTE0LjMtMzItMzItMzJMNDE2LTMyek0xMjggMzA0YTExMiAxMTIgMCAxIDEgMjI0IDAgMTEyIDExMiAwIDEgMSAtMjI0IDB6Il19LGo5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kc2hha2UtYW5nbGUiLGljb246WzU3Niw1MTIsWyJoYW5kcy1oZWxwaW5nIl0sImY0YzQiLCJNMjY4LjkgNTMuMkwxNTIuMyAxODIuOGMtNC42IDUuMS00LjQgMTMgLjUgMTcuOSAzMC41IDMwLjUgODAgMzAuNSAxMTAuNSAwbDMxLjgtMzEuOGM0LjItNC4yIDkuNS02LjUgMTQuOS02LjkgNi44LS42IDEzLjggMS43IDE5IDYuOUw1MDUuNiAzNDQgNTc2IDI4OCA1NzYgMCA0NjQgNjQgNDQwLjIgNDguMUM0MjQuNCAzNy42IDQwNS45IDMyIDM4Ni45IDMybC03MC40IDBjLTEuMSAwLTIuMyAwLTMuNCAuMS0xNi45IC45LTMyLjggOC41LTQ0LjIgMjEuMXpNMTE2LjYgMTUwLjdMMjIzLjQgMzIgMTgzLjggMzJjLTI1LjUgMC00OS45IDEwLjEtNjcuOSAyOC4xTDAgMTkyIDAgNTQ0IDE0NCA0MDggMTU2LjQgNDE4LjNjMjMgMTkuMiA1MiAyOS43IDgxLjkgMjkuN2wxNS43IDAtNy03Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNDEgNDEgOSAwYzE5LjEgMCAzNy44LTQuMyA1NC44LTEyLjNMMzU5IDQwOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDMyIDMyIDE3LjUtMTcuNWM4LjktOC45IDExLjUtMjEuOCA3LjYtMzMuMWwtMTM3LjktMTM2LjgtMTQuOSAxNC45Yy00OS4zIDQ5LjMtMTI5LjEgNDkuMy0xNzguNCAwLTIzLTIzLTIzLjktNTkuOS0yLjItODR6Il19LHFlYT1qOWUsVmVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24iLGljb246WzM4NCw1MTIsWzg1OTVdLCJmMDYzIiwiTTE2OS40IDUwMi42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjI0IDQwMi43IDIyNCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDM3MC43LTEwNS40LTEwNS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYweiJdfSxVOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibG9jYXRpb24tZG90IixpY29uOlszODQsNTEyLFsibWFwLW1hcmtlci1hbHQiXSwiZjNjNSIsIk0wIDE4OC42QzAgODQuNCA4NiAwIDE5MiAwUzM4NCA4NC40IDM4NCAxODguNmMwIDExOS4zLTEyMC4yIDI2Mi4zLTE3MC40IDMxNi44LTExLjggMTIuOC0zMS41IDEyLjgtNDMuMyAwLTUwLjItNTQuNS0xNzAuNC0xOTcuNS0xNzAuNC0zMTYuOHpNMTkyIDI1NmE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHoiXX0samVhPVU5ZSxVZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGx1Zy1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1NWQiLCJNMTkyLTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMTI4IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgOTYgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDQ4LjdjLTk4LjYgOC4xLTE3NiA5MC43LTE3NiAxOTEuMyAwIDI3LjMgNS43IDUzLjMgMTYgNzYuOWwwIDMuMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY2LjdDMTY1LjIgMzk4LjEgOTYgMzE5LjEgOTYgMjI0bDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzc4LjMgOTYgOTYgOTZsNjQgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek00OTYgMjU2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyMjhhMjAgMjAgMCAxIDAgMC00MCAyMCAyMCAwIDEgMCAwIDQwem0wLTE4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnoiXX0sV2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvb2tpZS1iaXRlIixpY29uOls1MTIsNTEyLFtdLCJmNTY0IiwiTTI1Ny41IDI3LjZjLS44LTUuNC00LjktOS44LTEwLjMtMTAuNi0yMi4xLTMuMS00NC42IC45LTY0LjQgMTEuNGwtNzQgMzkuNUM4OS4xIDc4LjQgNzMuMiA5NC45IDYzLjQgMTE1TDI2LjcgMTkwLjZjLTkuOCAyMC4xLTEzIDQyLjktOS4xIDY0LjlsMTQuNSA4Mi44YzMuOSAyMi4xIDE0LjYgNDIuMyAzMC43IDU3LjlsNjAuMyA1OC40YzE2LjEgMTUuNiAzNi42IDI1LjYgNTguNyAyOC43bDgzIDExLjdjMjIuMSAzLjEgNDQuNi0uOSA2NC40LTExLjRsNzQtMzkuNWMxOS43LTEwLjUgMzUuNi0yNyA0NS40LTQ3LjJsMzYuNy03NS41YzkuOC0yMC4xIDEzLTQyLjkgOS4xLTY0LjktLjktNS4zLTUuMy05LjMtMTAuNi0xMC4xLTUxLjUtOC4yLTkyLjgtNDcuMS0xMDQuNS05Ny40LTEuOC03LjYtOC0xMy40LTE1LjctMTQuNi01NC42LTguNy05Ny43LTUyLTEwNi4yLTEwNi44ek0yMDggMTQ0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTQ0IDMzNmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0yMjQtNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxXOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2NyZXdkcml2ZXItd3JlbmNoIixpY29uOls1NzYsNTEyLFsidG9vbHMiXSwiZjdkOSIsIk03MC44LTYuN2M1LjQtNS40IDEzLjgtNi4yIDIwLjItMkwyMDkuOSA3MC41YzguOSA1LjkgMTQuMiAxNS45IDE0LjIgMjYuNmwwIDQ5LjYgOTAuOCA5MC44YzMzLjMtMTUgNzMuOS04LjkgMTAxLjIgMTguNUw1NDIuMiAzODIuMWMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOWwtNjAuMSA2MC4xYy0xOC43IDE4LjctNDkuMSAxOC43LTY3LjkgMEwyODguMSAzODRjLTI3LjQtMjcuNC0zMy41LTY3LjktMTguNS0xMDEuMmwtOTAuOC05MC44LTQ5LjYgMGMtMTAuNyAwLTIwLjctNS4zLTI2LjYtMTQuMkwyMy40IDU4LjljLTQuMi02LjMtMy40LTE0LjggMi0yMC4yTDcwLjgtNi43em0xNDUgMzAzLjVjLTYuMyAzNi45IDIuMyA3NS45IDI2LjIgMTA3LjJsLTk0LjkgOTVjLTI4LjEgMjguMS03My43IDI4LjEtMTAxLjggMHMtMjguMS03My43IDAtMTAxLjhsMTM1LjQtMTM1LjUgMzUuMiAzNS4xek0zODQuMSAwYzIwLjEgMCAzOS40IDMuNyA1Ny4xIDEwLjUgMTAgMy44IDExLjggMTYuNSA0LjMgMjQuMUwzODguOCA5MS4zYy0zIDMtNC43IDcuMS00LjcgMTEuM2wwIDQxLjRjMCA4LjggNy4yIDE2IDE2IDE2bDQxLjQgMGM0LjIgMCA4LjMtMS43IDExLjMtNC43bDU2LjctNTYuN2M3LjYtNy41IDIwLjMtNS43IDI0LjEgNC4zIDYuOCAxNy43IDEwLjUgMzcgMTAuNSA1Ny4xIDAgNDMuMi0xNy4yIDgyLjMtNDUgMTExLjFsLTQ5LjEtNDkuMWMtMzMuMS0zMy03OC41LTQ1LjctMTIxLjEtMzguNGwtNTYuOC01Ni44IDAtMjkuNy0uMi01Yy0uOC0xMi40LTQuNC0yNC4zLTEwLjUtMzQuOSAyOS40LTM1IDczLjQtNTcuMiAxMjIuNy01Ny4zeiJdfSxHZWE9VzllLFllYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpbmRlbnQiLGljb246WzQ0OCw1MTIsW10sImYwM2MiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0ek0xOTIgMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTMyIDk2bDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnpNMCA0NDhjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMTI3LjggMjY4LjZMMjUuOCAzNDcuOUMxNS4zIDM1Ni4xIDAgMzQ4LjYgMCAzMzUuM0wwIDE3Ni43YzAtMTMuMyAxNS4zLTIwLjggMjUuOC0xMi42bDEwMS45IDc5LjNjOC4yIDYuNCA4LjIgMTguOSAwIDI1LjN6Il19LEc5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXJzIixpY29uOls0NDgsNTEyLFsibmF2aWNvbiJdLCJmMGM5IiwiTTAgOTZDMCA3OC4zIDE0LjMgNjQgMzIgNjRsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMTI4QzE0LjMgMTI4IDAgMTEzLjcgMCA5NnpNMCAyNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6Il19LEtlYT1HOWUsWTllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLXByYXlpbmciLGljb246WzY0MCw1MTIsWyJwcmF5aW5nLWhhbmRzIl0sImY2ODQiLCJNMjI0IDI5NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTExMi42IDg4LjItMTE5LjdjMTMuMS0xNy44IDkuMy00Mi44LTguNS01NS45cy00Mi44LTkuMy01NS45IDguNUwxMDYuNSAxNDIuOUM4OS4zIDE2Ni4yIDgwIDE5NC41IDgwIDIyMy42bDAgMTEwLjctNTguMSAxOS40QzguOCAzNTggMCAzNzAuMiAwIDM4NGwwIDk2YzAgMTAgNC43IDE5LjUgMTIuNyAyNS41czE4LjQgOCAyOC4xIDUuMmwxNTQuNC00NC4xYzU1LTE1LjcgOTIuOC02NS45IDkyLjgtMTIzLjFMMjg4IDIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDcyem0xOTIgMGwwLTcyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTE5LjZjMCA1Ny4yIDM3LjkgMTA3LjQgOTIuOCAxMjMuMWwxNTQuNCA0NC4xYzkuNyAyLjggMjAgLjggMjguMS01LjJTNjQwIDQ5MCA2NDAgNDgwbDAtOTZjMC0xMy44LTguOC0yNi0yMS45LTMwLjRsLTU4LjEtMTkuNCAwLTExMC43YzAtMjktOS4zLTU3LjMtMjYuNS04MC43TDQ0MC4yIDE2LjNDNDI3LjEtMS41IDQwMi4xLTUuMyAzODQuMyA3LjhzLTIxLjYgMzguMS04LjUgNTUuOUw0NjQgMTgzLjQgNDY0IDI5NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHoiXX0sWmVhPVk5ZSxYZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlydXNlcyIsaWNvbjpbNjQwLDUxMixbXSwiZTA3NiIsIk0xOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMiAwIDMwLjUgMzYuOSA0NS44IDU4LjUgMjQuMiAxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zYy0yMS42IDIxLjYtNi4zIDU4LjUgMjQuMiA1OC41IDE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyYy0zMC41IDAtNDUuOCAzNi45LTI0LjIgNTguNSAxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGMtMjEuNi0yMS42LTU4LjUtNi4zLTU4LjUgMjQuMiAwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmMwLTMwLjUtMzYuOS00NS44LTU4LjUtMjQuMi0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0M3Ny44IDI2MC45IDYyLjUgMjI0IDMyIDIyNCAxNC4zIDIyNCAwIDIwOS43IDAgMTkyczE0LjMtMzIgMzItMzJjMzAuNSAwIDQ1LjgtMzYuOSAyNC4yLTU4LjUtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEMxMjMuMSA3Ny44IDE2MCA2Mi41IDE2MCAzMiAxNjAgMTQuMyAxNzQuMyAwIDE5MiAwek0xNDQgMTc2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMTI4IDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTI0OCA0MGMwIDIyLjkgMjcuNyAzNC40IDQzLjkgMTguMiA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTE2LjIgMTYuMi00LjcgNDMuOSAxOC4yIDQzLjkgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIyLjkgMC0zNC40IDI3LjctMTguMiA0My45IDkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTE2LjItMTYuMi00My45LTQuNy00My45IDE4LjIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0yMi45LTI3LjctMzQuNC00My45LTE4LjItOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWMxNi4yLTE2LjIgNC43LTQzLjktMTguMi00My45LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjIuOSAwIDM0LjQtMjcuNyAxOC4yLTQzLjktOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzE2LjIgMTYuMiA0My45IDQuNyA0My45LTE4LjIgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpNNTA0IDM4NGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxRZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nob29sLWZsYWciLGljb246WzU3Niw1MTIsW10sImU1NmUiLCJNMjU2LThjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNzIgMCAwIDE5LjIgMTI4IDc2LjggNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDAgMTI4LTc2LjggMC05MS4yek0yNDAgMzg0bDAgODAgOTYgMCAwLTgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4ek0xMTIgNDE2YzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDB6bTE2LTE0NGwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2ek00OTYgNDE2YzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDB6bTE2LTE0NGwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2em0tMjI0IDBhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2eiJdfSxKZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhZGVtYXJrIixpY29uOls2NDAsNTEyLFs4NDgyXSwiZjI1YyIsIk0zNDYuNiAxMTAuMmMtNy44LTExLjctMjIuNC0xNy0zNS45LTEyLjlTMjg4IDExMy45IDI4OCAxMjhsMCAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE1MC4zIDY5LjQgMTA0LjFjNS45IDguOSAxNS45IDE0LjIgMjYuNiAxNC4yczIwLjctNS4zIDI2LjYtMTQuMkw1NDQgMjMzLjcgNTQ0IDM4NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjU2YzAtMTQuMS05LjItMjYuNS0yMi43LTMwLjZzLTI4LjEgMS4xLTM1LjkgMTIuOUw0NDggMjYyLjMgMzQ2LjYgMTEwLjJ6TTMyIDk2QzE0LjMgOTYgMCAxMTAuMyAwIDEyOHMxNC4zIDMyIDMyIDMybDY0IDAgMCAyMjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIyNCA2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDk2eiJdfSxldGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlyZS1idXJuZXIiLGljb246WzUxMiw1MTIsW10sImU0ZjEiLCJNMjgxLjcgNDguM0wyOTQgMzQuNWM1LjQtNi4xIDEzLjMtOC44IDIwLjktOC45IDcuMiAwIDE0LjMgMi42IDE5LjkgNy44IDE5LjcgMTguMyAzOS44IDQzLjIgNTUgNzAuNiAxNS4xIDI3LjIgMjYuMiA1OC4xIDI2LjIgODguMSAwIDg4LjctNzEuMyAxNTkuOC0xNjAgMTU5LjgtODkuNiAwLTE2MC03MS4zLTE2MC0xNTkuOCAwLTM3LjMgMTYtNzMuNCAzNi44LTEwNC41IDIwLjktMzEuMyA0Ny41LTU5IDcwLjktODAuMiA1LjctNS4yIDEzLjEtNy43IDIwLjMtNy41czEzLjQgMy4yIDE4LjggNy41YzE0LjQgMTEuNCAzOC45IDQwLjcgMzguOSA0MC43ek0zMjAgMjQwLjJjMC0zNi41LTM3LTczLTU0LjgtODguNC01LjQtNC43LTEzLjEtNC43LTE4LjUgMC0xNy43IDE1LjQtNTQuOCA1MS45LTU0LjggODguNCAwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0ek05Mi44IDMyMGMzNy43IDQ4LjMgOTYuMSA4MCAxNjMuMiA4MCA2Ni41IDAgMTI1LjEtMzEuNyAxNjMtODBsNDUgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC02NGMwLTI2LjUgMjEuNS00OCA0OC00OGw0NC44IDB6TTQ1NiA0MDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sSzllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utc21pbGUtYmVhbSIsaWNvbjpbNTEyLDUxMixbMTI4NTIyLCJzbWlsZS1iZWFtIl0sImY1YjgiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NS40IDMyMS45YzIwLjQgMjggNTMuNCA0Ni4xIDkwLjYgNDYuMXM3MC4yLTE4LjEgOTAuNi00Ni4xYzcuOC0xMC43IDIyLjgtMTMuMSAzMy41LTUuM3MxMy4xIDIyLjggNS4zIDMzLjVDMzU2LjMgMzkwIDMwOS4yIDQxNiAyNTYgNDE2cy0xMDAuMy0yNi0xMjkuNC02NS45Yy03LjgtMTAuNy01LjQtMjUuNyA1LjMtMzMuNXMyNS43LTUuNCAzMy41IDUuM3pNMTc2IDE4MGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHptMTMyIDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6Il19LHR0YT1LOWUsYXRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbnQtYXJyb3ctbGVmdC1yaWdodCIsaWNvbjpbNTEyLDUxMixbXSwiZTU3ZiIsIk0tLjUgMTEzYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw3Mi03MmM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTMxIDMxIDMxMC4xIDAgNTQuMSAwLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNzIgNzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTcyIDcyYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTEwMi4xIDAtLjEgMC0yNjIgMCAzMSAzMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC03Mi03MnpNMzcuMSA0NzZMNjAuMyAyOTIuNmMxLjItOS43IDYuOC0xOC4zIDE1LjEtMjMuM0wyMzguOCAxNzBjMTAuMi02LjIgMjIuOS02LjIgMzMuMS0uMWwxNjUuNSA5OS40YzguNCA1IDE0IDEzLjcgMTUuMyAyMy40TDQ3NS45IDQ3NmMyLjQgMTkuMS0xMi41IDM2LTMxLjcgMzZsLTcxLjkgMGMtMTIuMSAwLTIzLjItNi44LTI4LjYtMTcuN0wyNzUuNCAzNTcuOWMtMS44LTMuNi01LjUtNS45LTkuNS01LjktNS45IDAtMTAuNiA0LjctMTAuNiAxMC42bDAgMTE3LjRjMCAxNy43LTE0LjMgMzItMzIgMzJMNjguOCA1MTJjLTE5LjMgMC0zNC4yLTE2LjktMzEuNy0zNnoiXX0scnRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvdXRlIixpY29uOls1MTIsNTEyLFtdLCJmNGQ3IiwiTTUxMiA5NmMwIDUwLjItNTkuMSAxMjUuMS04NC42IDE1NS0zLjggNC40LTkuNCA2LjEtMTQuNSA1TDMyMCAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMGM1MyAwIDk2IDQzIDk2IDk2cy00MyA5Ni05NiA5NmwtMjc2LjQgMGM4LjctOS45IDE5LjMtMjIuNiAzMC0zNi44IDYuMy04LjQgMTIuOC0xNy42IDE5LTI3LjJMNDE2IDQ0OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMGMtNTMgMC05Ni00My05Ni05NnM0My05NiA5Ni05NmwzOS44IDBjLTIxLTMxLjUtMzkuOC02Ny43LTM5LjgtOTYgMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NnpNMTE3LjEgNDg5LjFjLTMuOCA0LjMtNy4yIDguMS0xMC4xIDExLjNsLTEuOCAyLS4yLS4yYy02IDQuNi0xNC42IDQtMjAtMS44LTI1LjItMjcuNC04NS05Ny45LTg1LTE0OC40IDAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCAzMC0yMS4xIDY3LTQzLjUgOTcuOS0xMC43IDE0LjctMjEuNyAyOC0zMC44IDM4LjVsLS42IC43ek0xMjggMzUyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTQxNiAxMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxaOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGVzLXVwIixpY29uOlszODQsNTEyLFsiYW5nbGUtZG91YmxlLXVwIl0sImYxMDIiLCJNMjE0LjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTkyIDEwOS4zIDMyOS40IDI0Ni42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjB6bTE2MCAzNTJsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE5MiAzMDEuMyAzMjkuNCA0MzguNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zeiJdfSxzdGE9WjllLGl0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWNrZXQiLGljb246WzQ0OCw1MTIsW10sImU0Y2YiLCJNNDQzLjcgMjA4YzIuNyA0LjcgNC4zIDEwLjIgNC4zIDE2IDAgMTcuNy0xNC4zIDMyLTMyIDMybC01LjEgMC0yMi40IDIxM2MtMi42IDI0LjQtMjMuMiA0My00Ny44IDQzbC0yMzMuNiAwYy0yNC42IDAtNDUuMi0xOC41LTQ3LjgtNDNMMzcuMSAyNTYgMzIgMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMiAwLTUuOCAxLjYtMTEuMyA0LjMtMTZsNDM5LjQgMHpNMjI0LTE2Yzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0bDAgMzItNDggMCAwLTMyYzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2bDAgMzItNDggMCAwLTMyQzgwIDQ4LjUgMTQ0LjUtMTYgMjI0LTE2eiJdfSxvdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGVzcy10aGFuLWVxdWFsIixpY29uOls0NDgsNTEyLFtdLCJmNTM3IiwiTTQyNi4xIDk0LjRjMTYuOC01LjYgMjUuOC0yMy43IDIwLjItNDAuNXMtMjMuNy0yNS44LTQwLjUtMjAuMmwtMzg0IDEyOEM4LjggMTY2IDAgMTc4LjIgMCAxOTJzOC44IDI2IDIxLjkgMzAuNGwzODQgMTI4YzE2LjggNS42IDM0LjktMy41IDQwLjUtMjAuMnMtMy41LTM0LjktMjAuMi00MC41TDEzMy4yIDE5MiA0MjYuMSA5NC40ek0zMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDE2eiJdfSxudGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9sZGVyLWNsb3NlZCIsaWNvbjpbNTEyLDUxMixbXSwiZTE4NSIsIk00NDggNDQ4TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzYgNTEyIDAgMCAxNzZjMCAzNS4zLTI4LjcgNjQtNjQgNjR6bTY0LTI4OEwwIDE2MCAwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDEzOC43IDBjMTMuOCAwIDI3LjMgNC41IDM4LjQgMTIuOGwzOC40IDI4LjhjNS41IDQuMiAxMi4zIDYuNCAxOS4yIDYuNEw0NDggODBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNnoiXX0sbHRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi10aHJvdWdoLXdpbmRvdyIsaWNvbjpbNjQwLDUxMixbXSwiZTVhOSIsIk02NCA2NGwyMjQgMCAwIDkuOGMwIDM5LTIzLjcgNzQtNTkuOSA4OC40LTYwLjUgMjQuMi0xMDAuMSA4Mi43LTEwMC4xIDE0Ny45bDAgNzMuOC02NCAwIDAtMzIwem0yODggMGwyMjQgMCAwIDMyMC02Ny43IDAtMy43LTQuNS03NS4yLTkwLjJjLTkuMS0xMC45LTIyLjYtMTcuMy0zNi45LTE3LjNsLTcxLjEgMC00MS02My4xYy0uMy0uNS0uNi0xLTEtMS40IDQ0LjctMjkgNzIuNS03OSA3Mi41LTEzMy42bDAtOS44em03MyAzMjBsLTI2LjYgMCA0Mi43IDY0IDE1MC45IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMEMyMS41IDAgMCAyMS41IDAgNDhMMCA0MDBjMCAyNi41IDIxLjUgNDggNDggNDhsMjYwLjIgMCAzMy4yIDQ5LjhjOS44IDE0LjcgMjkuNyAxOC43IDQ0LjQgOC45czE4LjctMjkuNyA4LjktNDQuNGwtODQuMi0xMjYuMiA3NC42IDAgNDAgNDh6bS0xNTkuNSAwbC03My41IDAgMC03My44YzAtMTAuMiAxLjYtMjAuMSA0LjctMjkuNUwyNjUuNSAzODR6TTE5MiAxMjhhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHoiXX0sY3RhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjaG9vbC1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNTZmIiwiTTAgMTkyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDAgMTI3LjktMTE1LjFjMTguMy0xNi40IDQ2LTE2LjQgNjQuMiAwTDQ0OCAxMjggNTEyIDEyOGMzMyAwIDYwLjIgMjUgNjMuNiA1Ny4yLTE0LjctNS45LTMwLjgtOS4yLTQ3LjYtOS4yLTcwLjcgMC0xMjggNTcuMy0xMjggMTI4bDAgMjQuNGMtMTkuNiAxNy42LTMyIDQzLjEtMzIgNzEuNWwwIDk2YzAgNS41IC41IDEwLjkgMS4zIDE2LjFMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE5MnpNMzMyLjMgMzQxLjVjLTYtMy41LTEyLjktNS41LTIwLjMtNS41bC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDg4IDk2IDAgMC02NC4xYzAtMjAuOCA0LjQtNDAuNSAxMi4zLTU4LjR6TTExMiAzODRjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHptMTYtMTQ0bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6bTIyNC00OGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTU2MCAzNTJsMC00Ny45YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwem0tMTEyIDIuN2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM3oiXX0sZHRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1idXJzdCIsaWNvbjpbNjQwLDUxMixbXSwiZTUzYiIsIk0yMDQgNDAuMWMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjR6TTQgMTQ0LjFjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6TTk2LjUgMjg1LjVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzMuOS0zMy45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUw5Ni41IDI4NS41ek02Mi42IDIuN2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwzMy45IDMzLjljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw2Mi42IDM2LjZjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45ek0zNTIuNC0zMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpNNDc4LjcgMjk5LjFsLTQ2LjMtNjIuNCAwIDI3NS4zYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjc1LjMtNDYuMyA2Mi40Yy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi42cy0xNy4yLTMwLjYtNi42LTQ0LjhsNzAuNS05NWMyNS4yLTMzLjkgNjUtNTMuOSAxMDcuMi01My45czgyIDIwIDEwNy4yIDUzLjlsNzAuNSA5NWMxMC41IDE0LjIgNy42IDM0LjItNi42IDQ0LjhzLTM0LjIgNy42LTQ0LjgtNi42eiJdfSxYOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGVmdC1sb25nIixpY29uOls1NzYsNTEyLFsibG9uZy1hcnJvdy1hbHQtbGVmdCJdLCJmMzBhIiwiTTkuNCAyNzguNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsMTI4LTEyOGM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOVMxOTIgMTE1LjEgMTkyIDEyOGwwIDY0IDMzNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMzNiAwIDAgNjRjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTEyOC0xMjh6Il19LHV0YT1YOWUsUTllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY2F0aW9uLWNyb3NzaGFpcnMiLGljb246WzU3Niw1MTIsWyJsb2NhdGlvbiJdLCJmNjAxIiwiTTI4OC0xNmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE4LjNjOTguMSAxNCAxNzUuNyA5MS42IDE4OS43IDE4OS43bDE4LjMgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTguMyAwYy0xNCA5OC4xLTkxLjYgMTc1LjctMTg5LjcgMTg5LjdsMCAxOC4zYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTguM0MxNTcuOSA0NjMuNyA4MC4zIDM4Ni4xIDY2LjMgMjg4TDQ4IDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxOC4zIDBDODAuMyAxMjUuOSAxNTcuOSA0OC4zIDI1NiAzNC4zTDI1NiAxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTI4IDI1NmExNjAgMTYwIDAgMSAwIDMyMCAwIDE2MCAxNjAgMCAxIDAgLTMyMCAwem0xNjAtOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6Il19LHB0YT1ROWUsSjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1kb3RzLWZyb20tbGluZSIsaWNvbjpbNTEyLDUxMixbImRpYWdub3NlcyJdLCJmNDcwIiwiTTE4NCA3MmE3MiA3MiAwIDEgMSAxNDQgMCA3MiA3MiAwIDEgMSAtMTQ0IDB6TTE2MCAyOTkuM2MtMTkuOSAyMi42LTMyIDUyLjItMzIgODQuN2wwIDMyLTY0IDAgMC0zMmMwLTEwNiA4Ni0xOTIgMTkyLTE5MnMxOTIgODYgMTkyIDE5MmwwIDMyLTY0IDAgMC0zMmMwLTMyLjUtMTIuMS02Mi4xLTMyLTg0LjdsMCAxMTYuNy0xOTIgMCAwLTExNi43ek0yMzIgMzg0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptODgtMTA0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTI0IDQ2NGw0NjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6TTY0IDE4NGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem00MjQgNzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4eiJdfSxmdGE9SjllLGd0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnYXVnZS1zaW1wbGUtaGlnaCIsaWNvbjpbNTEyLDUxMixbNjE2NjgsInRhY2hvbWV0ZXIiLCJ0YWNob21ldGVyLWZhc3QiXSwiZjYyYSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zMjAgOTZjMC0xNi4yLTYtMzEuMS0xNi00Mi4zbDY5LjUtMTM4LjljNS45LTExLjkgMS4xLTI2LjMtMTAuNy0zMi4ycy0yNi4zLTEuMS0zMi4yIDEwLjdMMjYxLjEgMjg4LjJjLTEuNy0uMS0zLjQtLjItNS4xLS4yLTM1LjMgMC02NCAyOC43LTY0IDY0czI4LjcgNjQgNjQgNjQgNjQtMjguNyA2NC02NHoiXX0saHRhPWd0ZSxtdGE9Z3RlLGVnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZXMtbGVmdCIsaWNvbjpbNDQ4LDUxMixbMTcxLCJhbmdsZS1kb3VibGUtbGVmdCJdLCJmMTAwIiwiTTkuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDc3LjMgMjU2IDIxNC42IDExOC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwem0zNTItMTYwbC0xNjAgMTYwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMjY5LjMgMjU2IDQwNi42IDExOC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAweiJdfSxndGE9ZWdlLHRnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1cC1kb3duIixpY29uOls1MTIsNTEyLFs4NTk3LDExMDIxLCJhcnJvd3MtYWx0LXYiXSwiZjMzOCIsIk00MDYuNiA1MDIuNmw5Ni05NmM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0OTIuOSAzNTIgNDgwIDM1MmwtNjQgMCAwLTMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMyMC02NCAwYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWw5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHpNMTUwLjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45UzE5LjEgMTYwIDMyIDE2MGw2NCAwIDAgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMjAgNjQgMGMxMi45IDAgMjQuNi03LjggMjkuNi0xOS44czIuMi0yNS43LTYuOS0zNC45bC05Ni05NnoiXX0sYnRhPXRnZSxhZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0dGVyeS1lbXB0eSIsaWNvbjpbNjQwLDUxMixbImJhdHRlcnktMCJdLCJmMjQ0IiwiTTExMiAxNjBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDIyNGMwIDguOCA3LjIgMTYgMTYgMTZsNDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjI0YzAtOC44LTcuMi0xNi0xNi0xNmwtNDE2IDB6TTMyIDE3NmMwLTQ0LjIgMzUuOC04MCA4MC04MGw0MTYgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsMCA0OGMwIDQ0LjItMzUuOCA4MC04MCA4MGwtNDE2IDBjLTQ0LjIgMC04MC0zNS44LTgwLTgwbDAtMjI0eiJdfSx2dGE9YWdlLHh0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJrZXlib2FyZCIsaWNvbjpbNTc2LDUxMixbOWUzXSwiZjExYyIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHptMTYgNjRsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNjQgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTE3NiAxMjhsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTYwIDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNiA4MGwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTIyNCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwLTE3NmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNiA4MGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MC04MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNiA4MGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em04MC04MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNiA4MGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2eiJdfSx5dGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29va2llIixpY29uOls1MTIsNTEyLFsxMjc4NTBdLCJmNTYzIiwiTTI0Ny4yIDE3Yy0yMi4xLTMuMS00NC42IC45LTY0LjQgMTEuNGwtNzQgMzkuNUM4OS4xIDc4LjQgNzMuMiA5NC45IDYzLjQgMTE1TDI2LjcgMTkwLjZjLTkuOCAyMC4xLTEzIDQyLjktOS4xIDY0LjlsMTQuNSA4Mi44YzMuOSAyMi4xIDE0LjYgNDIuMyAzMC43IDU3LjlsNjAuMyA1OC40YzE2LjEgMTUuNiAzNi42IDI1LjYgNTguNyAyOC43bDgzIDExLjdjMjIuMSAzLjEgNDQuNi0uOSA2NC40LTExLjRsNzQtMzkuNWMxOS43LTEwLjUgMzUuNi0yNyA0NS40LTQ3LjJsMzYuNy03NS41YzkuOC0yMC4xIDEzLTQyLjkgOS4xLTY0LjlsLTE0LjYtODIuOGMtMy45LTIyLjEtMTQuNi00Mi4zLTMwLjctNTcuOUwzODguOSA1Ny41Yy0xNi4xLTE1LjYtMzYuNi0yNS42LTU4LjctMjguN0wyNDcuMiAxN3pNMjA4IDE0NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE0NCAzMzZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMjI0LTY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sd3RhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0b3B3YXRjaCIsaWNvbjpbNDQ4LDUxMixbOTIwMV0sImYyZjIiLCJNMTY4LjUgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMiAwIDAgMjUuM2MtMTA4IDExLjktMTkyIDEwMy41LTE5MiAyMTQuNyAwIDExOS4zIDk2LjcgMjE2IDIxNiAyMTZzMjE2LTk2LjcgMjE2LTIxNmMwLTM5LjgtMTAuOC03Ny4xLTI5LjYtMTA5LjJsMjguMi0yOC4yYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0yMy40IDIzLjRjLTMyLjktMzAuMi03NS4yLTUwLjMtMTIyLTU1LjVsMC0yNS4zIDMyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAwem04MCAxODRsMCAxMDRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHoiXX0sTXRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVqZWN0IixpY29uOls0NDgsNTEyLFs5MTY3XSwiZjA1MiIsIk0yMjQgMzJjMTMuNSAwIDI2LjMgNS42IDM1LjQgMTUuNmwxNzYgMTkyYzEyLjkgMTQgMTYuMiAzNC4zIDguNiA1MS44UzQxOSAzMjAgNDAwIDMyMEw0OCAzMjBjLTE5IDAtMzYuMy0xMS4yLTQzLjktMjguN3MtNC4zLTM3LjcgOC42LTUxLjhsMTc2LTE5MkMxOTcuNyAzNy42IDIxMC41IDMyIDIyNCAzMnpNMCA0MzJjMC0yNi41IDIxLjUtNDggNDgtNDhsMzUyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OHoiXX0sa3RhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNhdGVsbGl0ZS1kaXNoIixpY29uOls1MTIsNTEyLFsxMjgyMjVdLCJmN2MwIiwiTTIzMiAwYzE1NC42IDAgMjgwIDEyNS40IDI4MCAyODAgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMjguMS0xMDMuOS0yMzItMjMyLTIzMi0xMy4zIDAtMjQtMTAuNy0yNC0yNFMyMTguNyAwIDIzMiAwek0yMDggMTIwYzAtMTMuMyAxMC43LTI0IDI0LTI0IDEwMS42IDAgMTg0IDgyLjQgMTg0IDE4NCAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTc1LjEtNjAuOS0xMzYtMTM2LTEzNi0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjYuNCAxNDIuN2M4LjgtMTcuOSAzMi40LTE5LjkgNDYuNS01LjhsMTI4LjUgMTI4LjUgMzItMzJjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMzIgMzIgMTI4LjUgMTI4LjVjMTQuMSAxNC4xIDEyIDM3LjYtNS44IDQ2LjUtMzQuMiAxNi45LTcyLjYgMjYuNC0xMTMuMyAyNi40LTE0MS40IDAtMjU2LTExNC42LTI1Ni0yNTYgMC00MC43IDkuNS03OS4yIDI2LjQtMTEzLjN6Il19LHJnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLXJvbGxpbmctZXllcyIsaWNvbjpbNTEyLDUxMixbMTI4NTgwLCJtZWgtcm9sbGluZy1leWVzIl0sImY1YTUiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE5MiAzNTJsMTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTEyOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0zMi0xMjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRjMC0yNiAxNS41LTQ4LjQgMzcuOC01OC40LTMuNyA1LjItNS44IDExLjYtNS44IDE4LjQgMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTYuOS0yLjItMTMuMi01LjgtMTguNCAyMi4zIDEwIDM3LjggMzIuNCAzNy44IDU4LjR6bTEyOCA2NGMtMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yNiAxNS41LTQ4LjQgMzcuOC01OC40LTMuNyA1LjItNS44IDExLjYtNS44IDE4LjQgMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTYuOS0yLjItMTMuMi01LjgtMTguNCAyMi4zIDEwIDM3LjggMzIuNCAzNy44IDU4LjQgMCAzNS4zLTI4LjcgNjQtNjQgNjR6Il19LFN0YT1yZ2Usc2dlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imxpc3QtY2hlY2siLGljb246WzUxMiw1MTIsWyJ0YXNrcyJdLCJmMGFlIiwiTTEzMy44IDM2LjNjMTAuOSA3LjYgMTMuNSAyMi42IDUuOSAzMy40bC01NiA4MGMtNC4xIDUuOC0xMC41IDkuNS0xNy42IDEwLjFTNTIgMTU4IDQ3IDE1M0w3IDExM0MtMi4zIDEwMy42LTIuMyA4OC40IDcgNzlTMzEuNiA2OS43IDQxIDc5bDE5LjggMTkuOCAzOS42LTU2LjZjNy42LTEwLjkgMjIuNi0xMy41IDMzLjQtNS45em0wIDE2MGMxMC45IDcuNiAxMy41IDIyLjYgNS45IDMzLjRsLTU2IDgwYy00LjEgNS44LTEwLjUgOS41LTE3LjYgMTAuMVM1MiAzMTggNDcgMzEzTDcgMjczYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMTkuOCAxOS44IDM5LjYtNTYuNmM3LjYtMTAuOSAyMi42LTEzLjUgMzMuNC01Ljl6TTIyNCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjI0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem0wIDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjI0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0xNjAgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI4OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yODggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTY0IDM3NmE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6Il19LHp0YT1zZ2UsQ3RhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNhY2steG1hcmsiLGljb246WzUxMiw1MTIsW10sImU1NmEiLCJNMzI4IDExMmwtMTQ0IDAtMzcuMy03NC41Yy0xLjgtMy42LTIuNy03LjYtMi43LTExLjYgMC0xNC4zIDExLjYtMjUuOSAyNS45LTI1LjlMMzQyLjEgMGMxNC4zIDAgMjUuOSAxMS42IDI1LjkgMjUuOSAwIDQtLjkgOC0yLjcgMTEuNkwzMjggMTEyek0xNjkuNiAxNjBsMTcyLjggMCA0OC43IDQwLjZDNDU3LjYgMjU2IDQ5NiAzMzggNDk2IDQyNC41IDQ5NiA0NzIuOCA0NTYuOCA1MTIgNDA4LjUgNTEybC0zMDUuMSAwQzU1LjIgNTEyIDE2IDQ3Mi44IDE2IDQyNC41IDE2IDMzOCA1NC40IDI1NiAxMjAuOSAyMDAuNkwxNjkuNiAxNjB6TTMyMy45IDI4NC4xYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtMzMuOSAzMy45LTMzLjktMzMuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzMy45IDMzLjktMzMuOSAzMy45Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzMuOS0zMy45IDMzLjkgMzMuOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTMzLjktMzMuOSAzMy45LTMzLjljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjl6Il19LF90YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYXNodGFnIixpY29uOls1MTIsNTEyLFs2MjA5OF0sIjIzIiwiTTIxNC43IC43YzE3LjMgMy43IDI4LjMgMjAuNyAyNC42IDM4bC0xOS4xIDg5LjMgMTI2LjUgMCAyMi0xMDIuN0MzNzIuNCA4IDM4OS40LTMgNDA2LjcgLjdzMjguMyAyMC43IDI0LjYgMzhMNDEyLjIgMTI4IDQ4MCAxMjhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTgxLjYgMC0yNy40IDEyOCA2Ny44IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTgxLjYgMC0yMiAxMDIuN2MtMy43IDE3LjMtMjAuNyAyOC4zLTM4IDI0LjZzLTI4LjMtMjAuNy0yNC42LTM4bDE5LjEtODkuMy0xMjYuNSAwLTIyIDEwMi43Yy0zLjcgMTcuMy0yMC43IDI4LjMtMzggMjQuNnMtMjguMy0yMC43LTI0LjYtMzhMOTkuOCAzODQgMzIgMzg0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDgxLjYgMCAyNy40LTEyOC02Ny44IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsODEuNiAwIDIyLTEwMi43QzE4MC40IDggMTk3LjQtMyAyMTQuNyAuN3pNMjA2LjQgMTkybC0yNy40IDEyOCAxMjYuNSAwIDI3LjQtMTI4LTEyNi41IDB6Il19LFR0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFpbiIsaWNvbjpbMzg0LDUxMixbMTI4NjQ2XSwiZjIzOCIsIk0wIDk2QzAgNDMgNDMgMCA5NiAwTDI4OCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyNTZjMCA0MC4xLTI0LjYgNzQuNS01OS41IDg4LjhsNTMuOSA2My43YzguNiAxMC4xIDcuMyAyNS4zLTIuOCAzMy44cy0yNS4zIDcuMy0zMy44LTIuOGwtNzQtODcuNS0xNTEuMyAwLTc0IDg3LjVjLTguNiAxMC4xLTIzLjcgMTEuNC0zMy44IDIuOHMtMTEuNC0yMy43LTIuOC0zMy44bDUzLjktNjMuN0MyNC42IDQyNi41IDAgMzkyLjEgMCAzNTJMMCA5NnptNjQgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMTkyIDM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LEx0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnYW1lcGFkIixpY29uOls2NDAsNTEyLFtdLCJmMTFiIiwiTTQ0OCA2NGMxMDYgMCAxOTIgODYgMTkyIDE5MlM1NTQgNDQ4IDQ0OCA0NDhsLTI1NiAwQzg2IDQ0OCAwIDM2MiAwIDI1NlM4NiA2NCAxOTIgNjRsMjU2IDB6TTE5MiAxNzZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMzItMzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMiAwIDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyIDMyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyIDAgMC0zMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMjQwIDk2YTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHptNjQtOTZhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0eiJdfSxpZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1leHBvcnQiLGljb246WzU3Niw1MTIsWyJhcnJvdy1yaWdodC1mcm9tLWZpbGUiXSwiZjU2ZSIsIk05Ni41IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtOTYgNzguMSAwLTMxIDMxYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNzItNzJjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlsLTcyLTcyYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDMxIDMxLTc4LjEgMCAwLTEzMy41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MS4yIDE4LjdDMjc5LjIgNi43IDI2MyAwIDI0NiAwTDk2LjUgMHpNMzU4IDE3NmwtOTMuNSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyNDAuNSA1OC41IDM1OCAxNzZ6TTIyNC41IDMyOGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxMDQgMCAwIDQ4LTEwNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHoiXX0sJHRhPWlnZSxvZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmltYWNlIixpY29uOls1MTIsNTEyLFsxMjg1NTYsImdyaW1hY2UiXSwiZjU3ZiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNNDAwIDM1MmMwIDI1LjItMTkuNCA0NS44LTQ0IDQ3LjhsMC05NS43YzI0LjYgMiA0NCAyMi43IDQ0IDQ3Ljh6TTI3NiAzMDRsNDAgMCAwIDk2LTQwIDAgMC05NnptLTgwIDk2bDAtOTYgNDAgMCAwIDk2LTQwIDB6bS00MC05NS44bDAgOTUuN2MtMjQuNi0yLTQ0LTIyLjctNDQtNDcuOHMxOS40LTQ1LjggNDQtNDcuOHpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxEdGE9b2dlLG5nZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFpbi1zdWJ3YXkiLGljb246WzM4NCw1MTIsWyJzdWJ3YXkiXSwiZjIzOSIsIk0wIDk2QzAgNDMgNDMgMCA5NiAwTDI4OCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyNTZjMCA0MC4xLTI0LjYgNzQuNS01OS41IDg4LjhsNTMuOSA2My43YzguNiAxMC4xIDcuMyAyNS4zLTIuOCAzMy44cy0yNS4zIDcuMy0zMy44LTIuOGwtNzQtODcuNS0xNTEuMyAwLTc0IDg3LjVjLTguNiAxMC4xLTIzLjcgMTEuNC0zMy44IDIuOHMtMTEuNC0yMy43LTIuOC0zMy44bDUzLjktNjMuN0MyNC42IDQyNi41IDAgMzkyLjEgMCAzNTJMMCA5NnptNjQgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw3MiAwIDAtMTYwLTcyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0yMTYgMjU2bDcyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNzIgMCAwIDE2MHpNOTYgMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMjI0LTMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LEF0YT1uZ2UsbGdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1kb3QiLGljb246WzUxMiw1MTIsWzEyODI4MCwiZG90LWNpcmNsZSJdLCJmMTkyIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTM1MmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnoiXX0sUHRhPWxnZSxFdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib2JqZWN0LWdyb3VwIixpY29uOls1NzYsNTEyLFtdLCJmMjQ3IiwiTTMyIDExOS40QzEyLjkgMTA4LjQgMCA4Ny43IDAgNjQgMCAyOC43IDI4LjcgMCA2NCAwIDg3LjcgMCAxMDguNCAxMi45IDExOS40IDMybDMzNy4xIDBjMTEuMS0xOS4xIDMxLjctMzIgNTUuNC0zMiAzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRsMCAyNzMuMWMxOS4xIDExLjEgMzIgMzEuNyAzMiA1NS40IDAgMzUuMy0yOC43IDY0LTY0IDY0LTIzLjcgMC00NC40LTEyLjktNTUuNC0zMmwtMzM3LjEgMGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMi0zNS4zIDAtNjQtMjguNy02NC02NCAwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0yNzMuMXptNDQ4IDBjLTkuNy01LjYtMTcuOC0xMy43LTIzLjQtMjMuNEwxMTkuNCA5NmMtNS42IDkuNy0xMy43IDE3LjgtMjMuNCAyMy40bDAgMjczLjFjOS43IDUuNiAxNy44IDEzLjcgMjMuNCAyMy40bDMzNy4xIDBjNS42LTkuNyAxMy43LTE3LjggMjMuNC0yMy40bDAtMjczLjF6TTE0NCAxNzZjMC0xNy43IDE0LjMtMzIgMzItMzJsMTEyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTEyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjR6TTI1NiAzMjBsMzIgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTExMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2eiJdfSxJdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hpcCIsaWNvbjpbNjQwLDUxMixbMTI4Njc0XSwiZjIxYSIsIk0yNzIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNi0xNiAwYy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDEwOC44LTIxLjYgOC42Yy0xNC44IDUuOS0yMi41IDIyLjQtMTcuNCAzNy41IDEwLjQgMzEuMyAyNi44IDU5LjMgNDcuNyA4My4xIDIwLjEtOS4yIDQxLjctMTMuOSA2My4zLTE0IDMzLjEtLjIgNjYuMyAxMC4yIDk0LjQgMzEuNGwxLjYgMS4yIDAtMjE1LTEwNCA0MS42IDAtODMuMmMwLTguOCA3LjItMTYgMTYtMTZsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgODMuMi0xMDQtNDEuNiAwIDIxNSAxLjYtMS4yYzI3LjUtMjAuNyA1OS45LTMxLjIgOTIuNC0zMS40IDIyLjMtLjEgNDQuNiA0LjUgNjUuMyAxNCAyMC45LTIzLjcgMzcuMy01MS44IDQ3LjctODMuMSA1LTE1LjItMi42LTMxLjYtMTcuNC0zNy41TDUxMiAyNTIuOCA1MTIgMTQ0YzAtNDQuMi0zNS44LTgwLTgwLTgwbC0xNiAwIDAtMTZjMC0yNi41LTIxLjUtNDgtNDgtNDhMMjcyIDB6TTQwMy40IDQ3Ni4xYzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDE5IDE0LjQgNDEuOSAyOC4yIDY3LjIgMzMuMyAyNi41IDUuNCA1NC4zIC44IDgwLjctMTkuMSAxMC42LTggMTIuNy0yMyA0LjctMzMuNnMtMjMtMTIuNy0zMy42LTQuN2MtMTQuOSAxMS4yLTI4LjYgMTMuMS00Mi4zIDEwLjMtMTQuOS0zLTMwLjktMTEuOS00Ny44LTI0LjYtMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM3MtMzAuNS04LjItNTQuNS0yNi4zYy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjEuNiAxNi4zLTQxLjMgMjUuOC01OC45IDI1LjctOS42LS4xLTE5LjktMy0zMS4yLTExLjUtMTAuNi04LTI1LjYtNS45LTMzLjYgNC43UzcgNDgyLjMgMTcuNiA0OTAuM2MxOS4xIDE0LjQgMzkuNCAyMSA1OS44IDIxLjEgMzMuOSAuMiA2NC4zLTE3LjQgODguMS0zNS4zIDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1Ljl6Il19LE50YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjIixpY29uOlszODQsNTEyLFs5OV0sIjQzIiwiTTMyOS4xIDE0Mi45Yy02Mi41LTYyLjUtMTU1LjgtNjIuNS0yMTguMyAwcy02Mi41IDE2My44IDAgMjI2LjMgMTU1LjggNjIuNSAyMTguMyAwYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNjLTg3LjUgODcuNS0yMjEuMyA4Ny41LTMwOC44IDBzLTg3LjUtMjI5LjMgMC0zMTYuOCAyMjEuMy04Ny41IDMwOC44IDBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDB6Il19LGNnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcGhvbmUiLGljb246WzQ0OCw1MTIsWyJwaG9uZS1zcXVhcmUiXSwiZjA5OCIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem04OCA5Ni43YzkuOC0yLjcgMjAuMSAyLjQgMjQgMTEuOGwyMC4zIDQ4LjdjMy40IDguMyAxLjEgMTcuOC01LjkgMjMuNWwtMjIuMSAxOGMxNi4yIDM1LjggNDQuNSA2NSA3OS42IDgyLjRsMTkuMy0yMy42YzUuNy02LjkgMTUuMi05LjMgMjMuNS01LjlsNDguNyAyMC4zYzkuNCAzLjkgMTQuNCAxNC4yIDExLjggMjRsLS44IDIuOGMtOC44IDMyLjMtNDAuMSA1OS45LTc4LjIgNTEuOC04Ny41LTE4LjUtMTU2LjMtODcuNC0xNzQuOS0xNzQuOS04LjEtMzguMSAxOS41LTY5LjQgNTEuOC03OC4ybDIuOC0uOHoiXX0sUnRhPWNnZSxPdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicnVsZXItY29tYmluZWQiLGljb246WzQ0OCw1MTIsW10sImY1NDYiLCJNMSA0NDEuN0M1LjUgNDYzLjUgMjQuOCA0ODAgNDggNDgwbDM1MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDAgMCA3MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTcyLTY0IDAgMCA3MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTcyLTcyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNzIgMCAwLTY0LTcyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNzIgMCAwLTQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MzJjMCAzLjMgLjMgNi42IDEgOS43eiJdfSxidGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXJvdGF0ZSIsaWNvbjpbNTEyLDUxMixbMTI4NDcyLCJyZWZyZXNoIiwic3luYyJdLCJmMDIxIiwiTTY1LjkgMjI4LjVjMTMuMy05MyA5My40LTE2NC41IDE5MC4xLTE2NC41IDUzIDAgMTAxIDIxLjUgMTM1LjggNTYuMiAuMiAuMiAuNCAuNCAuNiAuNmw3LjYgNy4yLTQ3LjkgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDUzLjQtMTEuMy0xMC43QzM5MC41IDI4LjYgMzI2LjUgMCAyNTYgMCAxMjcgMCAyMC4zIDk1LjQgMi42IDIxOS41IC4xIDIzNyAxMi4yIDI1My4yIDI5LjcgMjU1LjdzMzMuNy05LjcgMzYuMi0yNy4xem00NDMuNSA2NGMyLjUtMTcuNS05LjctMzMuNy0yNy4xLTM2LjJzLTMzLjcgOS43LTM2LjIgMjcuMWMtMTMuMyA5My05My40IDE2NC41LTE5MC4xIDE2NC41LTUzIDAtMTAxLTIxLjUtMTM1LjgtNTYuMi0uMi0uMi0uNC0uNC0uNi0uNmwtNy42LTcuMiA0Ny45IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzIwYy04LjUgMC0xNi43IDMuNC0yMi43IDkuNVMtLjEgMzQzLjcgMCAzNTIuM2wxIDEyN2MuMSAxNy43IDE0LjYgMzEuOSAzMi4zIDMxLjdTNjUuMiA0OTYuNCA2NSA0NzguN2wtLjQtNTEuNSAxMC43IDEwLjFjNDYuMyA0Ni4xIDExMC4yIDc0LjcgMTgwLjcgNzQuNyAxMjkgMCAyMzUuNy05NS40IDI1My40LTIxOS41eiJdfSxGdGE9YnRlLEJ0YT1idGUsZGdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1kcmVzcyIsaWNvbjpbMzg0LDUxMixbImZlbWFsZSJdLCJmMTgyIiwiTTEzNiAyNGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTExMiAzODRsLTI1LjggMGMtMTAuOSAwLTE4LjYtMTAuNy0xNS4yLTIxLjFsNDMtMTI5LTQ4LjMgNjUuMWMtMTAuNSAxNC4yLTMwLjYgMTcuMi00NC44IDYuNnMtMTcuMi0zMC42LTYuNi00NC44bDcwLjUtOTVDMTEwIDEzMiAxNDkuNyAxMTIgMTkyIDExMnM4MiAyMCAxMDcuMiA1My45bDcwLjUgOTVjMTAuNSAxNC4yIDcuNiAzNC4yLTYuNiA0NC44cy0zNC4yIDcuNi00NC44LTYuNkwyNzAgMjM0IDMxMyAzNjIuOWMzLjUgMTAuNC00LjMgMjEuMS0xNS4yIDIxLjFsLTI1LjggMCAwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0zMiAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4eiJdfSxIdGE9ZGdlLHF0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLW9wZW4iLGljb246WzUxMiw1MTIsWzEyODIxNCwxMjgzNjZdLCJmNTE4IiwiTTI1NiAxNDEuM2wwIDMwOS4zIC41LS4yQzMxMS4xIDQyNy43IDM2OS43IDQxNiA0MjguOCA0MTZsMTkuMiAwIDAtMzIwLTE5LjIgMGMtNDIuMiAwLTg0LjEgOC40LTEyMy4xIDI0LjYtMTYuOCA3LTMzLjQgMTMuOS00OS43IDIwLjd6TTIzMC45IDYxLjVMMjU2IDcyIDI4MS4xIDYxLjVDMzI3LjkgNDIgMzc4LjEgMzIgNDI4LjggMzJMNDY0IDMyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zNS4yIDBjLTUwLjcgMC0xMDAuOSAxMC0xNDcuNyAyOS41bC0xMi44IDUuM2MtNy45IDMuMy0xNi43IDMuMy0yNC42IDBsLTEyLjgtNS4zQzE4NC4xIDQ5MCAxMzMuOSA0ODAgODMuMiA0ODBMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDM1LjIgMGM1MC43IDAgMTAwLjkgMTAgMTQ3LjcgMjkuNXoiXX0sVnRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbGRlci10cmVlIixpY29uOls1NzYsNTEyLFtdLCJmODAyIiwiTTQ4IDI0QzQ4IDEwLjcgMzcuMyAwIDI0IDBTMCAxMC43IDAgMjRMMCAzOTJjMCAzMC45IDI1LjEgNTYgNTYgNTZsMTg0IDAgMC00OC0xODQgMGMtNC40IDAtOC0zLjYtOC04bDAtMjMyIDE5MiAwIDAtNDgtMTkyIDAgMC04OHpNMzM2IDIyNGwxOTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTk2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC04Mi43IDBjLTguNSAwLTE2LjYtMy40LTIyLjYtOS40bC04LjYtOC42Yy05LTktMjEuMi0xNC4xLTMzLjktMTQuMUwzMzYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMjhjMCAyNi41IDIxLjUgNDggNDggNDh6bTAgMjg4bDE5MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTgyLjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTguNi04LjZjLTktOS0yMS4yLTE0LjEtMzMuOS0xNC4xTDMzNiAyODhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTI4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4eiJdfSxqdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlyZ28iLGljb246WzY0MCw1MTIsW10sImU4NTAiLCJNMzY4IDMyYzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEybDAgMjYuOGMxNC41LTYuOSAzMC44LTEwLjggNDgtMTAuOCA2MS45IDAgMTEyIDUwLjEgMTEyIDExMlM1ODkuOSAzODQgNTI4IDM4NGwtNDggMCAwIDMyYzAgMTYuNiAxMi42IDMwLjIgMjguNyAzMS44bDYuNiAuM2MxNi4xIDEuNiAyOC43IDE1LjMgMjguNyAzMS44IDAgMTcuNy0xNC4zIDMyLTMyIDMyLTUzIDAtOTYtNDMtOTYtOTZsMC0zMi0xNiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC0xNzZjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCAzMDRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMDRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCAzMDRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMjBjMC0xNi42LTEyLjYtMzAuMi0yOC43LTMxLjhsLTYuNi0uM0M0NC42IDk0LjIgMzIgODAuNiAzMiA2NCAzMiA0Ni4zIDQ2LjMgMzIgNjQgMzIgOTEgMzIgMTE1LjMgNDMuMSAxMzIuNyA2MSAxNTIuNiA0MyAxNzkgMzIgMjA4IDMyIDIzOS4zIDMyIDI2Ny43IDQ0LjkgMjg4IDY1LjcgMzA4LjMgNDQuOSAzMzYuNiAzMiAzNjggMzJ6TTUyOCAyMjRjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNDggNDggMGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OHoiXX0sdWdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJveC1hcmNoaXZlIixpY29uOls1MTIsNTEyLFsiYXJjaGl2ZSJdLCJmMTg3IiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsNDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiAxMjhDMTQuMyAxMjggMCAxMTMuNyAwIDk2TDAgNjR6TTMyIDE3Nmw0NDggMCAwIDI0MGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMjQwem0xNTIgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxVdGE9dWdlLFd0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW50LWFycm93LWRvd24tdG8tbGluZSIsaWNvbjpbNTc2LDUxMixbXSwiZTU3ZSIsIk0xODUgMTIxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTMxIDMxIDAtMTAyLjFDMTIwIDIuNyAxMDkuMy04IDk2LThTNzIgMi43IDcyIDE2bDAgMTAyLjEtMzEtMzFDMzEuNiA3Ny43IDE2LjQgNzcuNyA3IDg3Uy0yLjMgMTExLjYgNyAxMjFsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNzItNzJ6TTE1NS44IDI2MC42TDEzMi4xIDQ0OCAzMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzIgMC0yLjgtLjQtNS41LTEtOEw1NDguMiAyNjAuN2MtMS4yLTkuNy02LjktMTguNC0xNS4zLTIzLjRMMzY3LjQgMTM3LjljLTEwLjItNi4xLTIyLjktNi4xLTMzLjEgLjFMMTcwLjkgMjM3LjNjLTguMyA1LjEtMTMuOSAxMy43LTE1LjEgMjMuM3pNNDQ4IDQ0OGwtOTcuMSAwIDAtMTQ5LjRjMC01LjkgNC43LTEwLjYgMTAuNi0xMC42IDQgMCA3LjcgMi4zIDkuNSA1LjlMNDQ4IDQ0OHoiXX0sR3RhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InFyY29kZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjAyOSIsIk02NCAxNjBsNjQgMCAwLTY0LTY0IDAgMCA2NHpNMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODB6TTY0IDQxNmw2NCAwIDAtNjQtNjQgMCAwIDY0ek0wIDMzNmMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6TTMyMCA5NmwwIDY0IDY0IDAgMC02NC02NCAwek0zMDQgMzJsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4ek0yODggMzUyYTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptMCA2NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMi0zMi0xNC4zLTMyLTMyIDE0LjMtMzIgMzItMzJ6bTk2IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzItMTQuMyAzMi0zMiAzMi0zMi0xNC4zLTMyLTMyem0zMi05NmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bS0zMiAzMmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAweiJdfSxZdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHJhZ29uIixpY29uOls2NDAsNTEyLFsxMjgwMDldLCJmNmQ1IiwiTTM1MiAxMjQuNWwtNTEuOS0xM2MtNi41LTEuNi0xMS4zLTcuMS0xMi0xMy44czIuOC0xMy4xIDguNy0xNi4xbDQwLjgtMjAuNC00My4zLTMyLjVjLTUuNS00LjEtNy44LTExLjMtNS42LTE3LjlTMjk3LjEgMCAzMDQgMEw0NjQgMGMzMC4yIDAgNTguNyAxNC4yIDc2LjggMzguNGw1Ny42IDc2LjhjNi4yIDguMyA5LjYgMTguNCA5LjYgMjguOCAwIDI2LjUtMjEuNSA0OC00OCA0OGwtMjEuNSAwYy0xNyAwLTMzLjMtNi43LTQ1LjMtMTguN2wtMTMuMy0xMy4zLTMyIDAgMCAyMS41YzAgMjQuOCAxMi44IDQ3LjkgMzMuOCA2MS4xbDEwNi42IDY2LjZjMzIuMSAyMC4xIDUxLjYgNTUuMiA1MS42IDkzLjEgMCA2MC42LTQ5LjEgMTA5LjgtMTA5LjggMTA5LjhMMzIuMyA1MTJjLTMuMyAwLTYuNi0uNC05LjYtMS40LTkuMi0yLjgtMTYuNy05LjYtMjAuNC0xOC42LTEuMy0zLjMtMi4yLTYuOS0yLjMtMTAuNy0uMi0zLjcgLjMtNy4zIDEuMy0xMC43IDIuOC05LjIgOS42LTE2LjcgMTguNi0yMC40IDMtMS4yIDYuMi0yIDkuNS0yLjJMNDMzLjMgNDEyYzguMy0uNyAxNC43LTcuNyAxNC43LTE2LjEgMC00LjMtMS43LTguNC00LjctMTEuNGwtNDQuNC00NC40Yy0zMC0zMC00Ni45LTcwLjctNDYuOS0xMTMuMWwwLTEwMi41ek01MTIgNzIuM2MwLS4xIDAtLjIgMC0uM3MwLS4yIDAtLjNsMCAuNnptLTEuMyA3LjRMNDY0LjMgNjguMWMtLjIgMS4zLS4zIDIuNi0uMyAzLjkgMCAxMy4zIDEwLjcgMjQgMjQgMjQgMTAuNiAwIDE5LjUtNi44IDIyLjctMTYuM3pNMTMwLjkgMTE2LjVjMTYuMy0xNC41IDQwLjQtMTYuMiA1OC41LTQuMWwxMzAuNiA4NyAwIDI3LjVjMCAzMi44IDguNCA2NC44IDI0IDkzbC0yMzIgMGMtNi43IDAtMTIuNy00LjItMTUtMTAuNHMtLjUtMTMuMyA0LjYtMTcuN0wxNzEgMjMyLjMgMTguNCAyNTUuOGMtNyAxLjEtMTMuOS0yLjYtMTYuOS05Uy4xIDIzMi44IDUuNCAyMjhMMTMwLjkgMTE2LjV6Il19LHBnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VyZ2xhc3MtZW5kIixpY29uOlszODQsNTEyLFs4OTg3LCJob3VyZ2xhc3MtMyJdLCJmMjUzIiwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyUzE0LjMgNjQgMzIgNjRsMCAxMWMwIDQyLjQgMTYuOSA4My4xIDQ2LjkgMTEzLjFsNjcuOSA2Ny45LTY3LjkgNjcuOUM0OC45IDM1My45IDMyIDM5NC42IDMyIDQzN2wwIDExYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTFjMC00Mi40LTE2LjktODMuMS00Ni45LTExMy4xbC02Ny45LTY3LjkgNjcuOS02Ny45YzMwLTMwIDQ2LjktNzAuNyA0Ni45LTExMy4xbDAtMTFjMTcuNyAwIDMyLTE0LjMgMzItMzJTMzY5LjcgMCAzNTIgMEwzMiAwek05NiA3NWwwLTExIDE5MiAwIDAgMTFjMCAyNS41LTEwLjEgNDkuOS0yOC4xIDY3LjlsLTY3LjkgNjcuOS02Ny45LTY3LjlDMTA2LjEgMTI0LjkgOTYgMTAwLjQgOTYgNzV6Il19LEt0YT1wZ2UsWDg9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3JpcCIsaWNvbjpbNTEyLDUxMixbNTgxMTksImdyaWQtaG9yaXpvbnRhbCIsImdyaXAtaG9yaXpvbnRhbCJdLCJmNThkIiwiTTg4IDk2YzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDBsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMHpNMjgwIDIyNGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDB6bTE5MiAwbC00OCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwbDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MHptMCAxOTJsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwek0yODAgMjg4YzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDBsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMHpNODggNDE2bC00OCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwbDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MHoiXX0sWnRhPVg4LFh0YT1YOCxmZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9yZGVyLXRvcC1sZWZ0IixpY29uOls0NDgsNTEyLFsiYm9yZGVyLXN0eWxlIl0sImY4NTMiLCJNMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM1MiAzNTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDQ4em0xMjggMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyLTE0LjMtMzItMzItMzItMzIgMTQuMy0zMiAzMnptMTI4IDBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMi0xNC4zLTMyLTMyLTMyLTMyIDE0LjMtMzIgMzJ6bTE2MCAzMmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMi0zMiAxNC4zLTMyIDMyIDE0LjMgMzIgMzIgMzJ6TTM4NCAxOTJhMzIgMzIgMCAxIDAgNjQgMCAzMiAzMiAwIDEgMCAtNjQgMHptMzIgMTYwYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sUXRhPWZnZSxoZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlzdC11bCIsaWNvbjpbNTEyLDUxMixbImxpc3QtZG90cyJdLCJmMGNhIiwiTTQ4IDE0NGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTE5MiA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwxOTIgNjR6bTAgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yODggMHptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI4OCAwek00OCA0NjRhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek05NiAyNTZhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHoiXX0sSnRhPWhnZSxlYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVvcGxlLXJvYmJlcnkiLGljb246WzU3Niw1MTIsW10sImU1MzYiLCJNNDg4LjIgNTkuMUM0NzguMSA5OS42IDQ0MS43IDEyOCA0MDAgMTI4cy03OC4xLTI4LjQtODguMi02OC45TDMwMyAyNC4yQzI5OC44IDcuMSAyODEuNC0zLjMgMjY0LjIgMVMyMzYuNyAyMi42IDI0MSAzOS44bDguNyAzNC45YzExIDQ0IDQwLjIgNzkuNiA3OC4zIDk5LjZMMzI4IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDE2IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwNS43YzM4LjEtMjAgNjcuMy01NS42IDc4LjMtOTkuNkw1NTkgMzkuOGM0LjMtMTcuMS02LjEtMzQuNS0yMy4zLTM4LjhTNTAxLjIgNy4xIDQ5NyAyNC4ybC04LjcgMzQuOXpNNDAwIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNODAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0tOCAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA5NiAwIC42IDAgMTkxLjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCAxNiAwIDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yMjcuMyAxMyAyMC41YzUuOSA5LjIgMTYuMSAxNC45IDI3IDE0LjlsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzAuNCAwLTM3LjQtNTguOUMxNTcuNiAxNDIgMTMyLjEgMTI4IDEwNC43IDEyOEw3MiAxMjh6Il19LHRhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb2JpbGUtYnV0dG9uIixpY29uOlszODQsNTEyLFtdLCJmMTBiIiwiTTgwIDBDNDQuNyAwIDE2IDI4LjcgMTYgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjI0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMODAgMHpNMTkyIDQ2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMiAzMiAxNC4zIDMyIDMyLTE0LjMgMzItMzIgMzJ6Il19LHZ0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLWEteiIsaWNvbjpbNTEyLDUxMixbInNvcnQtYWxwaGEtYXNjIiwic29ydC1hbHBoYS1kb3duIl0sImYxNWQiLCJNMjMwLjYgMzkwLjZsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtODAtODBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMzcwLjcgOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMwNi43IDI1LjQtMjUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zem0xODItMzQwLjljNTAuNyAxMDEuMyA3Ny4zIDE1NC43IDgwIDE2MCA3LjkgMTUuOCAxLjUgMzUtMTQuMyA0Mi45cy0zNSAxLjUtNDIuOS0xNC4zbC03LjItMTQuMy04OC40IDAtNy4yIDE0LjNjLTcuOSAxNS44LTI3LjEgMjIuMi00Mi45IDE0LjNzLTIyLjItMjcuMS0xNC4zLTQyLjljMi43LTUuMyAyOS4zLTU4LjcgODAtMTYwIDUuNC0xMC44IDE2LjUtMTcuNyAyOC42LTE3LjdzMjMuMiA2LjggMjguNiAxNy43ek0zODQgMTM1LjZsLTIwLjIgNDAuNCA0MC40IDAtMjAuMi00MC40ek0yODggMzIwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzEyLjkgMCAyNC42IDcuOCAyOS42IDE5LjhzMi4yIDI1LjctNi45IDM0LjlMMzk3LjMgNDE2IDQ0OCA0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEyOCAwYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44cy0yLjItMjUuNyA2LjktMzQuOWw3My40LTczLjQtNTAuNyAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0sYWFhPXZ0ZSxyYWE9dnRlLHNhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsIixpY29uOls1MTIsNTEyLFtdLCJmMGQ2IiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em0xOTIgOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6bTE5MiAyNGMwIDQuNC0zLjYgOC4xLTggNy41LTI5LTMuNi01MS45LTI2LjYtNTUuNS01NS41LS41LTQuNCAzLjEtOCA3LjUtOGw0OCAwYzQuNCAwIDggMy42IDggOGwwIDQ4ek02NCAzMjhjMC00LjQgMy42LTguMSA4LTcuNSAyOSAzLjYgNTEuOSAyNi42IDU1LjUgNTUuNSAuNSA0LjQtMy4xIDgtNy41IDhsLTQ4IDBjLTQuNCAwLTgtMy42LTgtOGwwLTQ4em04LTEzNi41Yy00LjQgLjUtOC0zLjEtOC03LjVsMC00OGMwLTQuNCAzLjYtOCA4LThsNDggMGM0LjQgMCA4LjEgMy42IDcuNSA4LTMuNiAyOS0yNi42IDUxLjktNTUuNSA1NS41em0zNjggMTI5YzQuNC0uNSA4IDMuMSA4IDcuNWwwIDQ4YzAgNC40LTMuNiA4LTggOGwtNDggMGMtNC40IDAtOC4xLTMuNi03LjUtOCAzLjYtMjkgMjYuNi01MS45IDU1LjUtNTUuNXoiXX0sbWdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1taW51cyIsaWNvbjpbNTEyLDUxMixbIm1pbnVzLWNpcmNsZSJdLCJmMDU2IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjggMjMybDE3NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0saWFhPW1nZSxnZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcG9pbnRlciIsaWNvbjpbNDQ4LDUxMixbIm1vdXNlLXBvaW50ZXIiXSwiZjI0NSIsIk03Ny4zIDIuNWM4LjEtNC4xIDE3LjktMy4yIDI1LjEgMi4zbDMyMCAyMzkuOWM4LjMgNi4yIDExLjYgMTcgOC40IDI2LjhzLTEyLjQgMTYuNC0yMi44IDE2LjRsLTE1Mi4zIDAgODguOSAxNzcuN2M3LjkgMTUuOCAxLjUgMzUtMTQuMyA0Mi45cy0zNSAxLjUtNDIuOS0xNC4zbC04OC45LTE3Ny43LTkxLjMgMTIxLjhjLTYuMiA4LjMtMTcgMTEuNi0yNi44IDguNFM2NCA0MzQuMyA2NCA0MjRMNjQgMjRjMC05LjEgNS4xLTE3LjQgMTMuMy0yMS41eiJdfSxvYWE9Z2dlLGJnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtc2hhcmUtbm9kZXMiLGljb246WzQ0OCw1MTIsWyJzaGFyZS1hbHQtc3F1YXJlIl0sImYxZTEiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzY4IDE2MGMwIDM1LjMtMjguNyA2NC02NCA2NC0xNS40IDAtMjkuNS01LjQtNDAuNi0xNC41bC04NS4zIDQ2LjUgODUuMyA0Ni41YzExLTkuMSAyNS4yLTE0LjUgNDAuNi0xNC41IDM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0LTY0LTI4LjctNjQtNjRjMC0yLjUgLjEtNC45IC40LTcuM0wxNTguNSAzMDBjLTExLjcgMTIuMy0yOC4yIDIwLTQ2LjUgMjAtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGMxOC4zIDAgMzQuOCA3LjcgNDYuNSAyMGw4MS45LTQ0LjdjLS4zLTIuNC0uNC00LjktLjQtNy4zIDAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjR6Il19LG5hYT1iZ2UsdmdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlLWNlbGxzLWxhcmdlIixpY29uOls0NDgsNTEyLFsidGgtbGFyZ2UiXSwiZjAwOSIsIk0zODQgOTZsLTEyOCAwIDAgMTI4IDEyOCAwIDAtMTI4em02NCAxMjhsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTI4ek02NCAyODhsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6bTEyOC02NGwwLTEyOC0xMjggMCAwIDEyOCAxMjggMHptNjQgNjRsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6Il19LGxhYT12Z2UsY2FhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhdCIsaWNvbjpbNTc2LDUxMixbMTI4MDA4XSwiZjZiZSIsIk02NCA5NmM1MyAwIDk2IDQzIDk2IDk2bDAgODUuOGMyOS43LTQ0LjcgNzcuOC03Ni4yIDEzMy40LTg0IDI1LjYgNjAgODUuMiAxMDIuMSAxNTQuNiAxMDIuMSAxMC45IDAgMjEuNi0xLjEgMzItMy4xTDQ4MCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNDAuOC0xMzYgMTA4LjggNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTQ0IDBjLTUzIDAtOTYtNDMtOTYtOTZsMC0yMjRjMC0xNi42LTEyLjYtMzAuMi0yOC43LTMxLjhsLTYuNi0uM0M0NC42IDE1OC4yIDMyIDE0NC42IDMyIDEyOCAzMiAxMTAuMyA0Ni4zIDk2IDY0IDk2ek01MzMuOCAzLjJDNTQ0LjItNS41IDU2MCAxLjkgNTYwIDE1LjVMNTYwIDEyOGMwIDYxLjktNTAuMSAxMTItMTEyIDExMlMzMzYgMTg5LjkgMzM2IDEyOGwwLTExMi41YzAtMTMuNiAxNS44LTIxIDI2LjItMTIuM0w0MTYgNDggNDgwIDQ4IDUzMy44IDMuMnpNNDAwIDEwOGEyMCAyMCAwIDEgMCAwIDQwIDIwIDIwIDAgMSAwIDAtNDB6bTk2IDBhMjAgMjAgMCAxIDAgMCA0MCAyMCAyMCAwIDEgMCAwLTQweiJdfSxkYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FsZW5kYXItd2VlayIsaWNvbjpbNDQ4LDUxMixbXSwiZjc4NCIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTAgMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTE5MiAweiJdfSx1YWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29kZS1jb21wYXJlIixpY29uOls1MTIsNTEyLFtdLCJlMTNhIiwiTTE5OC44IDEuOGM5LTMuNyAxOS4zLTEuNyAyNi4yIDUuMmw1NiA1NmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNTYgNTZjLTYuOSA2LjktMTcuMiA4LjktMjYuMiA1LjJTMTg0IDE0NS43IDE4NCAxMzZsMC0yNC0yNCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDIxNC43YzI4LjMgMTIuMyA0OCA0MC41IDQ4IDczLjMgMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBjMC0zMi44IDE5LjctNjEgNDgtNzMuM0w2NCAxNDRjMC01MyA0My05NiA5Ni05NmwyNCAwIDAtMjRjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yek0zOTIgODBhMjQgMjQgMCAxIDAgNDggMCAyNCAyNCAwIDEgMCAtNDggMHptLTggNzMuM2MtMjguMy0xMi4zLTQ4LTQwLjUtNDgtNzMuMyAwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMzIuOC0xOS43IDYxLTQ4IDczLjNMNDQ4IDM2OGMwIDUzLTQzIDk2LTk2IDk2bC0yNCAwIDAgMjRjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtNTYtNTZjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDU2LTU2YzYuOS02LjkgMTcuMi04LjkgMjYuMi01LjJTMzI4IDM2Ni4zIDMyOCAzNzZsMCAyNCAyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjE0Ljd6TTcyIDQzMmEyNCAyNCAwIDEgMCA0OCAwIDI0IDI0IDAgMSAwIC00OCAweiJdfSxwYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGVvIixpY29uOls1MTIsNTEyLFtdLCJlODRhIiwiTTI2MCAwYzcyLjkgMCAxMzIgNTkuMSAxMzIgMTMybDAgNS40LS4xIDEuNC0yMy44IDI3MGMuNCAyMS43IDE4LjIgMzkuMiA0MCAzOS4yIDIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDQwYzAgNTcuNC00Ni42IDEwNC0xMDQgMTA0UzMwNCA0NjUuNCAzMDQgNDA4bDAtMS40IC4xLTEuNCAyMy45LTI3MC42IDAtMi42YzAtMzcuNi0zMC40LTY4LTY4LTY4cy02OCAzMC40LTY4IDY4bDAgNGMwIDMuNyAuMyA3LjMgLjggMTFsMjkuNyAxOTMuNGMuOSA2LjEgMS40IDEyLjIgMS40IDE4LjRsMCA5LjJjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJTMCA0MjkuOSAwIDM2OCA1MC4xIDI1NiAxMTIgMjU2YzExLjcgMCAyMyAxLjggMzMuNyA1LjFMMTI5LjYgMTU2LjdjLTEuMS02LjgtMS42LTEzLjgtMS42LTIwLjdsMC00QzEyOCA1OS4xIDE4Ny4xIDAgMjYwIDB6TTExMiAzMjBhNDggNDggMCAxIDAgMCA5NiA0OCA0OCAwIDEgMCAwLTk2eiJdfSxmYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1jaXJjbGUteG1hcmsiLGljb246WzY0MCw1MTIsW10sImU1NjYiLCJNMjg3LjkgMzJsLTc2LjIgMGMtMjkuNCAwLTU1LjEgMjAuMS02Mi4xIDQ4LjZMNjUuNCA0MjAuNUM1Ny45IDQ1MC43IDgwLjggNDgwIDExMiA0ODBsMjA5LjQgMGMtMTEuMi0yNC40LTE3LjQtNTEuNC0xNy40LTgwIDAtMjguNiA2LjItNTUuNyAxNy40LTgwLS41IDAtMSAwLTEuNiAwLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDQ5LjJjMzUuMi00MCA4Ni43LTY1LjIgMTQ0LjItNjUuMiA5IDAgMTcuOCAuNiAyNi40IDEuOGwtMzItMTI5LjJDNDgzLjQgNTIuMSA0NTcuOCAzMiA0MjguMyAzMmwtNzYuNSAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHpNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdsLTM2LjcgMzYuNyAzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LGhhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYWxsZXQiLGljb246WzU3Niw1MTIsW10sImY0ODIiLCJNMzIgMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCA2NC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUxMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtNjQgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMjB6bTk2IDY0bDEyOCAwIDAgNjQtMTI4IDAgMC02NHptMTkyIDBsMTI4IDAgMCA2NC0xMjggMCAwLTY0eiJdfSx4dGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FrZS1jYW5kbGVzIixpY29uOls0NDgsNTEyLFsxMjc4NzQsImJpcnRoZGF5LWNha2UiLCJjYWtlIl0sImYxZmQiLCJNODYuNC0xMC41TDYxLjggMzEuNkM1OCAzOC4xIDU2IDQ1LjYgNTYgNTMuMkw1NiA1NmMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtMi44YzAtNy42LTItMTUtNS44LTIxLjZMMTA1LjYtMTAuNWMtMi0zLjQtNS43LTUuNS05LjYtNS41cy03LjYgMi4xLTkuNiA1LjV6bTEyOCAwTDE4OS44IDMxLjZjLTMuOCA2LjUtNS44IDE0LTUuOCAyMS42bDAgMi44YzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC0yLjhjMC03LjYtMi0xNS01LjgtMjEuNkwyMzMuNi0xMC41Yy0yLTMuNC01LjctNS41LTkuNi01LjVzLTcuNiAyLjEtOS42IDUuNXpNMzE3LjggMzEuNmMtMy44IDYuNS01LjggMTQtNS44IDIxLjZsMCAyLjhjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGwwLTIuOGMwLTcuNi0yLTE1LTUuOC0yMS42TDM2MS42LTEwLjVjLTItMy40LTUuNy01LjUtOS42LTUuNXMtNy42IDIuMS05LjYgNS41TDMxNy44IDMxLjZ6TTEyOCAxNjBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA1My41QzI2LjcgMjI2LjYgMCAyNjIuMiAwIDMwNGwwIDIwLjhjMjAuOSAxLjMgNDEuNiA3LjMgNjAuMyAxOGw3LjEgNC4xYzI2LjMgMTUgNTguOSAxMy40IDgzLjYtNC4yIDQzLjctMzEuMiAxMDIuMy0zMS4yIDE0NiAwIDI0LjYgMTcuNiA1Ny4zIDE5LjMgODMuNiA0LjJsNy4xLTQuMWMxOC43LTEwLjcgMzkuMy0xNi43IDYwLjMtMThsMC0yMC44YzAtNDEuOC0yNi43LTc3LjQtNjQtOTAuNWwwLTUzLjVjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0OC02NCAwIDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0OC02NCAwIDAtNDh6TTQ0OCAzNzNjLTEyLjcgMS4yLTI1LjEgNS0zNi41IDExLjVsLTcuMSA0LjFjLTQyLjYgMjQuMy05NS40IDIxLjctMTM1LjMtNi44LTI3LTE5LjMtNjMuMi0xOS4zLTkwLjIgMC0zOS45IDI4LjUtOTIuNyAzMS4yLTEzNS4zIDYuOGwtNy4xLTQuMUMyNS4xIDM3OCAxMi43IDM3NC4xIDAgMzczbDAgNzVjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC03NXoiXX0sbWFhPXh0ZSxnYWE9eHRlLGJhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWctc2xhc2giLGljb246WzU3Niw1MTIsW10sImU0OTAiLCJNNy0yNC45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDI0MS44IDE3NiAzNDQgMTc2YzE0LjIgMCAyNy43IDIuOCA0MCA4bDEwOC44LTgxLjZjMTQuMS0xMC42IDM0LjItNy43IDQ0LjggNi40czcuNyAzNC4yLTYuNCA0NC44bC05Ny44IDczLjNjNS4zIDguOSA5LjMgMTguNyAxMS44IDI5LjFsOTguOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwIDAgMzJjMCA5LjUtLjggMTguNy0yLjQgMjcuOEw1NjkgNTAzLjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw3IDkuMUMtMi4zLS4zLTIuMy0xNS41IDctMjQuOXpNMzk4LjIgNDY4Yy0yMy4yIDIyLjEtNTMgMzcuMi04Ni4yIDQyLjJsMC0xMjguNCA4Ni4yIDg2LjJ6TTI2NCAzMzMuOGwwIDE3Ni40Yy01MS4yLTcuNy05NC41LTM5LjctMTE3LjctODMuOUw4My4yIDQ3My42Yy0xNC4xIDEwLjYtMzQuMiA3LjctNDQuOC02LjRzLTcuNy0zNC4yIDYuNC00NC44bDgzLjQtNjIuNWMtLjEtMi42LS4yLTUuMi0uMi03LjlsMC0zMi05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk4LjggMGMzLjMtMTMuOSA5LjMtMjYuNyAxNy42LTM3LjhMMjY0IDMzMy44ek0zNTUuNiAxMjhsLTgyLjQgMC03Mi4zLTcyLjNDMjE2LjEgMjIuOCAyNDkuNCAwIDI4OCAwIDM0MSAwIDM4NCA0MyAzODQgOTZsMCAzLjZjMCAxNS43LTEyLjcgMjguNC0yOC40IDI4LjR6Il19LHZhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YXJwIixpY29uOls1MTIsNTEyLFtdLCJlNTdiIiwiTTQ0OCA2NGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE0OS41YzAgMTctNi43IDMzLjMtMTguNyA0NS4zTDM4Ni43IDQyOS4zYy0xMiAxMi0yOC4zIDE4LjctNDUuMyAxOC43TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDB6bTUuNSAyMDhMMzYwIDI3MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA5My41IDExNy41LTExNy41ek05NiAxOTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSx4YWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlhZ3JhbS1wcmVkZWNlc3NvciIsaWNvbjpbNDQ4LDUxMixbXSwiZTQ3NyIsIk0yODkuMiAxMzcuOWMyLjUtNiA4LjMtOS45IDE0LjgtOS45bDQwIDAgMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtOTggMGMxLjMgNS4xIDIgMTAuNSAyIDE2bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTk2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMjU2IDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCAyNCA0MCAwYzYuNSAwIDEyLjMgMy45IDE0LjggOS45czEuMSAxMi45LTMuNSAxNy40bC02NCA2NGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTY0LTY0Yy00LjYtNC42LTUuOS0xMS41LTMuNS0xNy40ek0zODQgMzUybC0zMjAgMCAwIDY0IDMyMCAwIDAtNjR6bTY0IDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0eiJdfSx4Z2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1mbHVzaGVkIixpY29uOls1MTIsNTEyLFsxMjg1NjMsImZsdXNoZWQiXSwiZjU3OSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0xNjggMzkyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDEyOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMjggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bS04LTk2YTcyIDcyIDAgMSAwIDAtMTQ0IDcyIDcyIDAgMSAwIDAgMTQ0em0yNjQtNzJhNzIgNzIgMCAxIDAgLTE0NCAwIDcyIDcyIDAgMSAwIDE0NCAwem0tMjg4IDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTkyIDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0seWFhPXhnZSx3YWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlhZ3JhbS1uZXh0IixpY29uOls0NDgsNTEyLFtdLCJlNDc2IiwiTTM4NCAyMjRjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTI4IDAgMCA2NC0zMiAwYy02LjUgMC0xMi4zIDMuOS0xNC44IDkuOXMtMS4xIDEyLjkgMy41IDE3LjRsNjQgNjRjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNjQtNjRjNC42LTQuNiA1LjktMTEuNSAzLjUtMTcuNFMyOTQuNSAyODggMjg4IDI4OGwtMzIgMCAwLTY0IDEyOCAwek02NCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02NGMwLTM1LjMtMjguNy02NC02NC02NGwtMzQgMGM1LjYgMjEuNy0uNSA0NS4xLTE2LjcgNjEuM2wtNjQgNjRjLTI1IDI1LTY1LjUgMjUtOTAuNSAwbC02NC02NEM5OC42IDMzMy4xIDkyLjQgMzA5LjcgOTggMjg4bC0zNCAweiJdfSxNYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5jaG9yLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTRhYyIsIk0zMjAuNSA5NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0tMzItOTZjLTUzIDAtOTYgNDMtOTYgOTYgMCA0MS44IDI2LjcgNzcuNCA2NCA5MC41bDAgMjU3LjljLTYyLjktMTQuMy0xMTAuMi02OS43LTExMS45LTEzNi41bDE2LjEgMTQuMWMxMCA4LjcgMjUuMSA3LjcgMzMuOS0yLjNzNy43LTI1LjEtMi4zLTMzLjlsLTY0LTU2Yy05LTcuOS0yMi42LTcuOS0zMS42IDBsLTY0IDU2Yy0xMCA4LjctMTEgMjMuOS0yLjMgMzMuOXMyMy45IDExIDMzLjkgMi4zbDE2LjItMTQuMmMyLjEgMTEzLjEgOTQuNCAyMDQuMSAyMDggMjA0LjEgMTYuNiAwIDMyLjctMS45IDQ4LjItNS42LTIwLjMtMzAuNS0zMi4yLTY3LTMyLjItMTA2LjQgMC0yNy4zIDUuNy01My4zIDE2LTc2LjlsMC0xMzYuNmMzNy4zLTEzLjIgNjQtNDguNyA2NC05MC41IDAtNTMtNDMtOTYtOTYtOTZ6bTIwOCA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43bC0zNi43IDM2LjcgMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTM2LjctMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzYuNy0zNi43LTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDM2LjcgMzYuNyAzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42eiJdfSxrYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTU0MyIsIk0yODAgMjRhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAwem0yNCAyMTIuN0wzNDEgMjg2LjZjMTIuOC0xNy41IDI4LjUtMzIuNyA0Ni4zLTQ1bC01Ni4yLTc1LjdDMzA2IDEzMiAyNjYuMyAxMTIgMjI0IDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42TDE0NCAyMzYuNyAxNDQgNTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjc1LjN6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0yMi42LTE0NGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZMNTE4LjYgNDAweiJdfSxTYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3BhIixpY29uOls1NzYsNTEyLFtdLCJmNWJiIiwiTTE2OS43IDIyNy41YzM0LjMgMTguNyA2NC41IDQ0LjEgODguOCA3NC41IDExLjEgMTMuOSAyMSAyOC45IDI5LjQgNDQuOCA4LjUtMTUuOSAxOC4zLTMwLjggMjkuNC00NC44IDI0LjMtMzAuNSA1NC41LTU1LjkgODguOC03NC41IDQxLjctMjIuNyA4OS40LTM1LjUgMTM5LjctMzUuNWw5LjkgMGMxMS4xIDAgMjAuMSA5IDIwLjEgMjAuMSAwIDE0OC0xMTkuOSAyNjcuOS0yNjcuOSAyNjcuOWwtNDAuMiAwQzExOS45IDQ4MCAwIDM2MC4xIDAgMjEyLjEgMCAyMDEgOSAxOTIgMjAuMSAxOTJsOS45IDBjNTAuNCAwIDk4LjEgMTIuOCAxMzkuNyAzNS41ek0zMDMuOSAzOGMxNi45IDE1LjkgNjEuNCA2My40IDg5IDE0Mi4zLTQwLjEgMjAuMi03NS44IDQ4LjItMTA0LjkgODIuMS0yOS4yLTMzLjktNjQuOC02MS44LTEwNC45LTgyLjEgMjcuNi03OC45IDcyLjItMTI2LjQgODktMTQyLjMgNC4zLTQuMSAxMC02IDE1LjktNnMxMS42IDIgMTUuOSA2eiJdfSx6YWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJpZXMiLGljb246WzUxMiw1MTIsW10sImU4NDYiLCJNNDAxLjYgMGM2MS4zIDAgMTEwLjQgNTAuMyAxMTAuNCAxMTEgMCAyOS40LTExLjYgNTcuOS0zMi42IDc4LjhsLTguOCA4LjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMiAwcy0xMi41LTMyLjggMC00NS4ybDguOC04LjhjOC44LTguOCAxMy44LTIxIDEzLjgtMzMuNiAwLTI1LjktMjEuMS00Ny00Ni40LTQ3LTIyLjUgMC00MS43IDE2LjEtNDUuNyAzOC4yTDI4Ny41IDQ4NS42YzAgLjEtLjEgLjMtLjEgLjQtLjIgLjgtLjMgMS42LS41IDIuMy0uMSAuMy0uMSAuNS0uMiAuNy0uMiAuNi0uNCAxLjMtLjcgMS45LS4yIC41LS40IDEtLjYgMS41LS4xIC4zLS4zIC42LS40IC45LTEuNiAzLjUtMy44IDYuNS02LjQgOS4yLTIgMi00LjIgMy43LTYuNiA1LjEtLjIgLjEtLjMgLjItLjUgLjMtLjcgLjQtMS40IC43LTIuMSAxLS4zIC4xLS42IC4zLS45IC40LS41IC4yLTEgLjQtMS41IC42LS42IC4yLTEuMiAuNS0xLjkgLjctLjIgLjEtLjUgLjItLjcgLjItLjggLjItMS42IC40LTIuMyAuNS0uMiAwLS4zIC4xLS40IC4xLS4yIDAtLjQgMC0uNiAuMS0uNyAuMS0xLjMgLjItMiAuMi0uNCAwLS44IC4xLTEuMiAuMS0uNiAwLTEuMiAuMS0xLjggLjEtLjYgMC0xLjIgMC0xLjgtLjEtLjQgMC0uOC0uMS0xLjItLjEtLjctLjEtMS40LS4xLTItLjItLjIgMC0uNCAwLS42LS4xLS4yIDAtLjMtLjEtLjUtLjEtLjgtLjItMS42LS4zLTIuMy0uNS0uMy0uMS0uNS0uMS0uOC0uMi0uNi0uMi0xLjMtLjQtMS45LS43LS41LS4yLTEtLjQtMS41LS42LS4zLS4xLS42LS4zLS45LS40LS43LS4zLTEuNC0uNy0yLjEtMS0uMi0uMS0uMy0uMi0uNS0uMy0yLjQtMS40LTQuNy0zLjEtNi42LTUuMS0yLjYtMi42LTQuOC01LjctNi40LTkuMi0uMS0uMi0uMi0uMy0uMi0uNWwtLjUtMS4xYy0uMS0uMy0uMi0uNS0uMy0uOC0uMi0uNi0uNS0xLjItLjctMS45LS4xLS4yLS4yLS41LS4yLS43LS4yLS44LS40LTEuNi0uNS0yLjMgMC0uMS0uMS0uMy0uMS0uNEwxNTYgMTAyLjJjLTQtMjIuMS0yMy4yLTM4LjItNDUuNy0zOC4yLTI1LjMgMC00Ni40IDIxLjEtNDYuNCA0NyAwIDEyLjYgNSAyNC44IDEzLjggMzMuNmw4LjggOC44YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4ycy0zMi44IDEyLjUtNDUuMiAwbC04LjgtOC44QzExLjYgMTY4LjkgMCAxNDAuMyAwIDExMSAwIDUwLjMgNDkuMSAwIDExMC40IDAgMTYzLjggMCAyMDkuNiAzOC4zIDIxOSA5MWwzNyAyMDcgMzctMjA3YzkuNC01Mi42IDU1LjItOTEgMTA4LjctOTF6Il19LHlnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXJzLXByb2dyZXNzIixpY29uOls0NDgsNTEyLFsidGFza3MtYWx0Il0sImY4MjgiLCJNMjg4IDE2MGw5NiAwIDAtNjQtOTYgMCAwIDY0ek0wIDE2MEwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDM1MiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggMjI0Yy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2ek0xNjAgNDE2bDIyNCAwIDAtNjQtMjI0IDAgMCA2NHpNMCA0MTZsMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OGwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNnoiXX0sQ2FhPXlnZSxfYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY2lyY2xlLWNoZWNrIixpY29uOls1NzYsNTEyLFtdLCJlNGZkIiwiTTI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN0MyOTYgNTIuNSAzMzYuMiAzMiAzNzguOSAzMiA0NTIuNCAzMiA1MTIgOTEuNiA1MTIgMTY1LjFsMCAyLjZjMCAxNy42LTMuNCAzNS42LTkuNSA1My43LTIxLjgtOC42LTQ1LjYtMTMuNC03MC41LTEzLjQtMTA2IDAtMTkyIDg2LTE5MiAxOTIgMCAyOC41IDYuMiA1NS42IDE3LjQgODAtLjUgMC0uOSAwLTEuNCAwLTE1LjUgMC0zMC44LTQuNi00My4xLTE0LjEtNzMtNTUuNy0yMTIuOS0xODYtMjEyLjktMjk4LjJsMC0yLjZDMCA5MS42IDU5LjYgMzIgMTMzLjEgMzIgMTc1LjggMzIgMjE2IDUyLjUgMjQxIDg3LjF6TTI4OCA0MDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjAxLjQtNjAuOWMtNy4xLTUuMi0xNy4yLTMuNi0yMi40IDMuNWwtNTMgNzIuOS0yNi44LTI2LjhjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjMy4zIDMuMyA3LjkgNSAxMi42IDQuNnM4LjktMi44IDExLjctNi41bDY0LTg4YzUuMi03LjEgMy42LTE3LjItMy41LTIyLjN6Il19LHdnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLXN0cm9rZS1yaWdodCIsaWNvbjpbNjQwLDUxMixbOTg5NywibWFycy1zdHJva2UtaCJdLCJmMjJiIiwiTTMyMC41IDI1NmExMTIgMTEyIDAgMSAwIC0yMjQgMCAxMTIgMTEyIDAgMSAwIDIyNCAwek0yMDguNSA4MGM4Ni4zIDAgMTU4LjEgNjIuMSAxNzMuMSAxNDQuMSAxLS4xIDEuOS0uMSAyLjktLjFsMTYgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiA2MS40IDAtMjIuNC0yOGMtMTEtMTMuOC04LjgtMzMuOSA1LTQ1czMzLjktOC44IDQ1IDVsNjQgODBjOS4zIDExLjcgOS4zIDI4LjMgMCA0MGwtNjQgODBjLTExIDEzLjgtMzEuMiAxNi00NSA1cy0xNi0zMS4yLTUtNDVsMjIuNC0yOC02MS40IDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTE2IDBjLTEgMC0xLjkgMC0yLjktLjEtMTUgODItODYuOCAxNDQuMS0xNzMuMSAxNDQuMS05Ny4yIDAtMTc2LTc4LjgtMTc2LTE3NnM3OC44LTE3NiAxNzYtMTc2eiJdfSxUYWE9d2dlLExhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b3dlci1vYnNlcnZhdGlvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTU4NiIsIk0yMDkuNyAzLjRjOS00LjUgMTkuNi00LjUgMjguNiAwbDE2MCA4MGMxNS44IDcuOSAyMi4yIDI3LjEgMTQuMyA0Mi45LTUuNiAxMS4yLTE2LjkgMTcuNy0yOC42IDE3LjdsMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTMgMCAzMiAxOTIgNDUgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNDUgMCAzMi0xOTItMTMgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC04MGMtMTEuNyAwLTIzLTYuNS0yOC42LTE3LjctNy45LTE1LjgtMS41LTM1IDE0LjMtNDIuOWwxNjAtODB6TTMxMC43IDQ0OGwtODYuNy02MS45LTg2LjcgNjEuOSAxNzMuNCAwem0tMTUzLTE5MmwtMy41IDIxLjIgNjkuOSA0OS45IDY5LjktNDkuOS0zLjUtMjEuMi0xMzIuNyAwem0tMTIuMyA3My45bC0xMC4xIDYwLjYgNDcuNS0zMy45LTM3LjQtMjYuN3ptMTE5LjkgMjYuN2w0Ny41IDMzLjktMTAuMS02MC42LTM3LjQgMjYuN3pNMTUyIDEyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LHl0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGVybGluZy1zaWduIixpY29uOlszODQsNTEyLFsxNjMsImdicCIsInBvdW5kLXNpZ24iXSwiZjE1NCIsIk05MS4zIDI4OGwtMzQuOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDIxLjQgMEMzNy4zIDE0Ny4zIDEwNS4xIDQyIDIwNy42IDQybDguMiAwYzMzLjYgMCA2Ni4yIDExLjMgOTIuNSAzMi4ybDE2LjEgMTIuN2MxMy45IDExIDE2LjIgMzEuMSA1LjIgNDVzLTMxLjEgMTYuMi00NSA1LjJsLTE2LjEtMTIuN2MtMTUtMTEuOS0zMy42LTE4LjQtNTIuOC0xOC40bC04LjIgMGMtNTcuMyAwLTk0LjcgNTkuOS02OS43IDExMS40IDMuNiA3LjQgNi42IDE0LjkgOS4xIDIyLjZsMTQ5LjUgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQxLjIgMGMxIDM1LjMtOC43IDcwLjYtMjguOSAxMDAuOWwtMTguMSAyNy4xIDIxMi4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI3MiAwYy0xMS44IDAtMjIuNi02LjUtMjguMi0xNi45cy01LTIzIDEuNi0zMi45bDUxLjItNzYuOGMxMy4xLTE5LjYgMTkuMi00Mi42IDE4LjItNjUuNHoiXX0sJGFhPXl0ZSxEYWE9eXRlLEFhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYXVjZXQtZHJpcCIsaWNvbjpbNTEyLDUxMixbMTI4Njg4XSwiZTAwNiIsIk0yMjQgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyTDk2IDY0Qzc4LjMgNjQgNjQgNzguMyA2NCA5NnMxNC4zIDMyIDMyIDMybDk2IDAgMCA2NC0xOC43IDBjLTguNSAwLTE2LjYgMy40LTIyLjYgOS40TDEyOCAyMjQgMzIgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwMC4xIDBjMjAuMiAyOSA1My45IDQ4IDkxLjkgNDhzNzEuNy0xOSA5MS45LTQ4bDM2LjEgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzIgMC04OC40LTcxLjYtMTYwLTE2MC0xNjBsLTMyIDAtMjIuNi0yMi42Yy02LTYtMTQuMS05LjQtMjIuNi05LjRsLTE4LjcgMCAwLTY0IDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDBjMC0xNy43LTE0LjMtMzItMzItMzJ6TTQzNi44IDQ1NS40bC0xOC4yIDQyLjRjLTEuOCA0LjEtMi43IDguNi0yLjcgMTMuMWwwIDEuMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMS4yYzAtNC41LS45LTguOS0yLjctMTMuMWwtMTguMi00Mi40Yy0xLjktNC41LTYuMy03LjQtMTEuMi03LjRzLTkuMiAyLjktMTEuMiA3LjR6Il19LGZ2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1pbmZvIixpY29uOls1MTIsNTEyLFsiaW5mby1jaXJjbGUiXSwiZjA1YSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjI0IDE2MGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0tOCA2NGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgODggOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDI0IDAgMC02NC0yNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxQYWE9ZnYsRWFhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZlYXRoZXIiLGljb246WzUxMiw1MTIsWzEyOTcxOF0sImY1MmQiLCJNMzUyIDBjNDEgMCA4MC4zIDE2LjMgMTA5LjIgNDUuMmw1LjUgNS41YzI5IDI5IDQ1LjMgNjguMyA0NS4zIDEwOS4yIDAgMjQuMS01LjcgNDcuNi0xNi4yIDY4LjgtMS45IDMuNy01LjMgNi41LTkuMyA3LjdMMzc0LjUgMjcwYy0zLjkgMS4yLTYuNSA0LjctNi41IDguOCAwIDUuMSA0LjEgOS4yIDkuMiA5LjJsMzIuMiAwYzE0LjMgMCAyMS40IDE3LjIgMTEuMyAyNy4zbC0yMi40IDIyLjRjLTEuOSAxLjktNC4yIDMuMi02LjcgNGwtODEgMjQuM2MtMy45IDEuMi02LjUgNC43LTYuNSA4LjggMCA1LjEgNC4xIDkuMiA5LjIgOS4yIDEzLjIgMCAxOC45IDE1LjcgNy44IDIyLjktNDEuMSAyNi42LTg5LjMgNDEuMS0xMzkgNDEuMWwtODYgMC00OCA0OGMtOC44IDguOC0yMy4yIDguOC0zMiAwcy04LjgtMjMuMiAwLTMyTDI1NiAyMjRjOC44LTguOCA4LjgtMjMuMiAwLTMycy0yMy4yLTguOC0zMiAwTDc5LjUgMzM2LjVjLTUuNyA1LjctMTUuNSAxLjctMTUuNS02LjQgMC02Ny45IDI3LTEzMyA3NS0xODFMMjQyLjggNDUuMkMyNzEuNyAxNi4zIDMxMSAwIDM1MiAweiJdfSxJYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm93bC1yaWNlIixpY29uOls1MTIsNTEyLFtdLCJlMmViIiwiTTE3NiA0MGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMjQgNDhsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNNTYgMTYwbDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6TTAgMjgzLjRDMCAyNjguMyAxMi4zIDI1NiAyNy40IDI1Nmw0NTcuMSAwYzE1LjEgMCAyNy40IDEyLjMgMjcuNCAyNy40IDAgNzAuNS00NC40IDEzMC43LTEwNi43IDE1NC4xTDQwMy41IDQ1MmMtMiAxNi0xNS42IDI4LTMxLjggMjhsLTIzMS41IDBjLTE2LjEgMC0yOS44LTEyLTMxLjgtMjhsLTEuOC0xNC40QzQ0LjQgNDE0LjEgMCAzNTMuOSAwIDI4My40ek0yMjQgMTg0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0tOTYgMGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMTA0IDg4bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTIxNiA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjk2IDg4bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTEyMCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMzkyIDg4bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6TTI5NiAxNmwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxNZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Rhci1oYWxmLXN0cm9rZSIsaWNvbjpbNTc2LDUxMixbInN0YXItaGFsZi1hbHQiXSwiZjVjMCIsIk0yODguMSAzNTMuNmMxMCAwIDE5LjkgMi4zIDI5IDdsNzQuNCAzNy45LTEzLTgyLjVjLTMuMi0yMC4yIDMuNS00MC43IDE3LjktNTUuMmw1OS01OS4xLTgyLjUtMTMuMWMtMjAuMi0zLjItMzcuNy0xNS45LTQ3LTM0LjFsLTM4LTc0LjQgMCAyNzMuNnpNNDU3LjQgNDg5Yy03LjMgNS4zLTE3IDYuMS0yNSAyTDI4OC4xIDQxNy42IDE0My44IDQ5MWMtOCA0LjEtMTcuNyAzLjMtMjUtMnMtMTEtMTQuMi05LjYtMjMuMkwxMzQuNCAzMDUuOSAyMCAxOTEuNGMtNi40LTYuNC04LjYtMTUuOC01LjgtMjQuNHMxMC4xLTE0LjkgMTkuMS0xNi4zbDE1OS45LTI1LjQgNzMuNi0xNDQuMmM0LjEtOCAxMi40LTEzLjEgMjEuNC0xMy4xczE3LjMgNS4xIDIxLjQgMTMuMUwzODMgMTI1LjMgNTQyLjkgMTUwLjdjOC45IDEuNCAxNi4zIDcuNyAxOS4xIDE2LjNzLjUgMTgtNS44IDI0LjRMNDQxLjcgMzA1LjkgNDY3IDQ2NS44YzEuNCA4LjktMi4zIDE3LjktOS42IDIzLjJ6Il19LE5hYT1NZ2Usa2dlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLWFycm93LWRvd24iLGljb246WzUxMiw1MTIsWyJ0ZW1wZXJhdHVyZS1kb3duIl0sImUwM2YiLCJNNjQuNSA5NmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMTY0LjdjMjkuNSAyNi40IDQ4IDY0LjcgNDggMTA3LjMgMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRzLTE0NC02NC41LTE0NC0xNDRjMC00Mi42IDE4LjUtODEgNDgtMTA3LjNMNjQuNSA5NnptOTYgMzM2YzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM2wwLTI4LjdjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyOC43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjR6TTQzOS4xIDMxMC42Yy02IDYtMTQuMSA5LjQtMjIuNiA5LjRzLTE2LjYtMy40LTIyLjYtOS40bC02NC02NGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGw5LjQgOS40IDAtMTc4LjdjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE3OC43IDkuNC05LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtNjQgNjR6Il19LFJhYT1rZ2UsT2FhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hc2stdmVudGlsYXRvciIsaWNvbjpbNjQwLDUxMixbXSwiZTUyNCIsIk0xNTIuMiAxOTJjLTE1LjQgMzguMy0yNC4yIDc3LjItMjQuMiAxMDguOCAwIDEzLjMgMS41IDI2LjIgNC40IDM4LjdsLTE3LTMuNGMtMjkuOS02LTUxLjQtMzIuMi01MS40LTYyLjhsMC04MS4zIDg4LjIgMHptMzIuOS02NEw2NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgODEuM2MwIDYxIDQzLjEgMTEzLjUgMTAyLjkgMTI1LjVsNjYuMyAxMy4zYzE4LjcgMjIuMSA0Mi45IDQwIDcwLjggNTEuOGwwLTg3LjhjLTEwLjEtMTQuMi0xNi0zMS4zLTE2LTQ5LjcgMC00OS41IDQzLTEzNC40IDk2LTEzNC40IDUyLjUgMCA5NiA4NC45IDk2IDEzNC40IDAgMTguNC01LjkgMzUuNC0xNiA0OS42bDAgODcuN2MyNy42LTExLjggNTEuNy0yOS42IDcwLjQtNTEuNmw2Ni43LTEzLjNjNTkuOC0xMiAxMDIuOS02NC41IDEwMi45LTEyNS41bDAtODEuM2MwLTM1LjMtMjguNy02NC02NC02NGwtMTIxLjUgMGMtMzQuOC01NC4yLTgyLjUtOTYtMTM0LjUtOTYtNTIuNiAwLTEwMC4yIDQxLjgtMTM0LjkgOTZ6bTMwMi41IDY0bDg4LjQgMCAwIDgxLjNjMCAzMC41LTIxLjUgNTYuOC01MS40IDYyLjhsLTE3IDMuNGMyLjktMTIuNCA0LjUtMjUuNCA0LjUtMzguNyAwLTMxLjYtOC45LTcwLjUtMjQuNC0xMDguOHpNMjg4IDMyMGwwIDE5MiA2NCAwIDAtMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyeiJdfSxGYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS12aWRlbyIsaWNvbjpbMzg0LDUxMixbXSwiZjFjOCIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNODAgMzA0bDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTI0IDM1IDM1YzMuMiAzLjIgNy41IDUgMTIgNSA5LjQgMCAxNy03LjYgMTctMTdsMC05NC4xYzAtOS40LTcuNi0xNy0xNy0xNy00LjUgMC04LjggMS44LTEyIDVsLTM1IDM1IDAtMjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyeiJdfSxCYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdHJlbmQtZG93biIsaWNvbjpbNTc2LDUxMixbXSwiZTA5NyIsIk0zODQgMzUyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgODIuNy0xNjkuNC0xNjkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBMMTkyIDI0Mi43IDU0LjYgMTA1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBMMzIwIDIwNS4zIDQ2Ni43IDM1MiAzODQgMzUyeiJdfSxIYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib2lsLWNhbiIsaWNvbjpbNjQwLDUxMixbXSwiZjYxMyIsIk0zMjAgMTI4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiA2NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMzItMTc2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjQuOGMwIDE5IDExLjIgMzYuMiAyOC41IDQzLjlsNjcuNSAzMCAwIDIxLjNjMCAyNi41IDIxLjUgNDggNDggNDhsMjU5LjEgMGMxOC40IDAgMzUuOC03LjkgNDgtMjEuN0w2MzMuNSAxODcuN2MxMi4zLTEzLjktLjMtMzUuNC0xOC40LTMxLjVMNDQ4IDE5MiAzOTcuNSAxNjYuOGMtOC45LTQuNC0xOC43LTYuOC0yOC42LTYuOGwtODAuOSAwIDAtMzIgMzIgMHpNOTYgMjA4bDAgODYuMS00OC0yMS4zIDAtNjQuOCA0OCAweiJdfSxTZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVvcGxlLWNhcnJ5LWJveCIsaWNvbjpbNTc2LDUxMixbInBlb3BsZS1jYXJyeSJdLCJmNGNlIiwiTTY0LTMyQTU2IDU2IDAgMSAxIDY0IDgwIDU2IDU2IDAgMSAxIDY0LTMyek0wIDE3MS4xYzAtMzIuNiAyNi41LTU5LjEgNTkuMS01OS4xIDIzLjUgMCA0NS41IDExLjMgNTkuMSAzMC40bDQ4LjcgNjguMmM1LjggOC4yIDE1LjEgMTMuMSAyNS4xIDEzLjRsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzEwLS4zIDE5LjMtNS4yIDI1LjEtMTMuNGw0OC43LTY4LjJjMTMuNi0xOS4xIDM1LjYtMzAuNCA1OS4xLTMwLjQgMzIuNiAwIDU5LjEgMjYuNSA1OS4xIDU5LjFMNTc2IDI3MmMwIDMwLjItMTQuMiA1OC43LTM4LjQgNzYuOGwtNzYuOCA1Ny42Yy04LjEgNi0xMi44IDE1LjUtMTIuOCAyNS42bDAgODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04MGMwLTMwLjIgMTQuMi01OC43IDM4LjQtNzYuOGw0MS42LTMxLjIgMC04MC4xLTIuOCAzLjljLTE4IDI1LjItNDcuMSA0MC4yLTc4LjEgNDAuMkwzNTIgMjg4Yy0uNiAwLTEuMyAwLTEuOS0uMS0uNiAwLTEuMyAuMS0xLjkgLjFsLTEyMC40IDBjLS42IDAtMS4zIDAtMS45LS4xLS42IDAtMS4zIC4xLTEuOSAuMWwtMzEuMSAwYy0zMSAwLTYwLjEtMTUtNzguMS00MC4ybC0yLjgtMy45IDAgODAuMSA0MS42IDMxLjJDMTc3LjggMzczLjMgMTkyIDQwMS44IDE5MiA0MzJsMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTgwYzAtMTAuMS00LjctMTkuNi0xMi44LTI1LjZMMzguNCAzNDguOEMxNC4yIDMzMC43IDAgMzAyLjIgMCAyNzJMMCAxNzEuMXpNMCAzNzkuM2MzLjEgMi43IDYuMyA1LjQgOS42IDcuOUw2NCA0MjggNjQgNTEyYzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNTI5LjcgMCA1MTJMMCAzNzkuM3pNNTY4IDI0YTU2IDU2IDAgMSAxIC0xMTIgMCA1NiA1NiAwIDEgMSAxMTIgMHptOCA0ODhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04NCA1NC40LTQwLjhjMy4zLTIuNSA2LjUtNS4xIDkuNi03LjlMNTc2IDUxMnoiXX0scWFhPVNnZSxWYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhaXIiLGljb246WzQ0OCw1MTIsWzEyOTY4MV0sImY2YzAiLCJNMTUyIDI1NmwwLTE4MS44Yy0yNC41IDIwLjUtNDAgNTEuNC00MCA4NS44bDAgOTYgNDAgMHptNDggMGw0OCAwIDAtMjA1LjRjLTcuNy0xLjctMTUuOC0yLjYtMjQtMi42cy0xNi4zIC45LTI0IDIuNkwyMDAgMjU2ek0yOTYgNzQuMmwwIDE4MS44IDQwIDAgMC05NmMwLTM0LjQtMTUuNS02NS4yLTQwLTg1Ljh6TTMyIDI1NmwzMiAwIDAtOTZDNjQgNzEuNiAxMzUuNiAwIDIyNCAwUzM4NCA3MS42IDM4NCAxNjBsMCA5NiAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2LTI1NiAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0samFhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpbmQiLGljb246WzUxMiw1MTIsW10sImY3MmUiLCJNMjg4IDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDQwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMzIgMTEyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyOCAwYzQ4LjYgMCA4OC0zOS40IDg4LTg4UzQwOC42IDAgMzYwIDBMMzIwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem02NCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NkwzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0xMjggNTEybDQwIDBjNDguNiAwIDg4LTM5LjQgODgtODhzLTM5LjQtODgtODgtODhMMzIgMzM2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEzNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00MCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyeiJdfSxVYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGF5ZXItZ3JvdXAiLGljb246WzUxMiw1MTIsW10sImY1ZmQiLCJNMjMyLjUgNS4yYzE0LjktNi45IDMyLjEtNi45IDQ3IDBsMjE4LjYgMTAxYzguNSAzLjkgMTMuOSAxMi40IDEzLjkgMjEuOHMtNS40IDE3LjktMTMuOSAyMS44bC0yMTguNiAxMDFjLTE0LjkgNi45LTMyLjEgNi45LTQ3IDBMMTMuOSAxNDkuOEM1LjQgMTQ1LjggMCAxMzcuMyAwIDEyOHM1LjQtMTcuOSAxMy45LTIxLjhMMjMyLjUgNS4yek00OC4xIDIxOC40bDE2NC4zIDc1LjljMjcuNyAxMi44IDU5LjYgMTIuOCA4Ny4zIDBsMTY0LjMtNzUuOSAzNC4xIDE1LjhjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEwxMy45IDI3Ny44QzUuNCAyNzMuOCAwIDI2NS4zIDAgMjU2czUuNC0xNy45IDEzLjktMjEuOGwzNC4xLTE1Ljh6TTEzLjkgMzYyLjJsMzQuMS0xNS44IDE2NC4zIDc1LjljMjcuNyAxMi44IDU5LjYgMTIuOCA4Ny4zIDBsMTY0LjMtNzUuOSAzNC4xIDE1LjhjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEwxMy45IDQwNS44QzUuNCA0MDEuOCAwIDM5My4zIDAgMzg0czUuNC0xNy45IDEzLjktMjEuOHoiXX0sV2FhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYWQtc2lkZS1tYXNrIixpY29uOls1MTIsNTEyLFtdLCJlMDYzIiwiTTQ0NS45IDE5M2MtLjEtLjQtLjItLjktLjItMS4zLTE1LjctMTA4LjQtMTA4LjktMTkxLjctMjIxLjctMTkxLjctODUgMC0xNTkgNDcuNC0xOTYuOSAxMTcuMkwyODMuMyAyODggNDU2IDI4OCA0NDIuOSAzMzYgMzM2IDMzNmMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw5OC4yIDAtOC43IDMyLTg5LjUgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw4MC42IDBjLTYuNyAxOS4xLTI0LjggMzItNDUuMyAzMkwyODggNDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEwNC41LTI0Ny41LTE2NUMzIDE4Mi4xIDAgMjAyLjcgMCAyMjQgMCAyNzggMTkuMSAzMjcuNSA1MC45IDM2Ni4yIDU4LjkgMzc1LjkgNjQgMzg3LjggNjQgNDAwLjRMNjQgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEyNy4zIDAgLjcgMCAxMzEuMyAwYzQ0LjkgMCA4My44LTMxLjEgOTMuNi03NC45bDMzLjktMTUwLjNjMy4zLTE0LjQtLjMtMjkuNS05LjctNDFMNDQ1LjkgMTkzek0yODggMTkyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LHd0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kcyIsaWNvbjpbNTEyLDUxMixbInNpZ24tbGFuZ3VhZ2UiLCJzaWduaW5nIl0sImYyYTciLCJNNTEyIDE2MGwtLjEgNzIuNmMwIDQ0LjgtMTcuNiA4Ny4xLTQ3LjkgMTE4LjQtLjMtNzctNDAuMS0xNDguNC0xMDUuNC0xODkuM2wtMS45LTEuMmMyLjUtMy43IDIuOC04LjYgLjQtMTIuN2wtNjItMTA3LjRjLTYuNi0xMS41LTIuNy0yNi4yIDguOC0zMi44UzMzMCA1IDMzNi42IDE2LjVsNjggMTE3LjggMCAwIDAgMCA0My4zIDc1IC4xLTQ5LjNjMC0xNy43IDE0LjQtMzIgMzItMzJzMzIgMTQuNCAzMiAzMnpNMjk4LjQgMTI0LjJjLTE0LjEtOC44LTI5LjgtMTIuNy00NS4yLTEyLjFMMjE2LjcgNDguOGMtNi42LTExLjUtMi43LTI2LjIgOC44LTMyLjhzMjYuMi0yLjcgMzIuOCA4LjhsNjcuMSAxMTYuMi0yNy0xNi45ek0yMTEuOSA4OC41bDE2LjQgMjguNGMtMTUuMSA1LjUtMjguNiAxNS42LTM4LjMgMjkuN2wtMTkuNy0zNC4yYy02LjYtMTEuNS0yLjctMjYuMiA4LjgtMzIuOHMyNi4yLTIuNyAzMi44IDguOHptLTQ2LjQgNjMuN2wxMi41IDIxLjdjLTIgOC42LTIuNSAxNy41LTEuNyAyNi4xbC00LjMgMCAwIDAtMzQuNCAwLTEzLjctMjMuOGMtNi42LTExLjUtMi43LTI2LjIgOC44LTMyLjhzMjYuMi0yLjcgMzIuOCA4Ljh6TTIyOC45IDE3NWM5LjQtMTUgMjkuMS0xOS41IDQ0LjEtMTAuMmw2MC4yIDM3LjZDMzg0LjcgMjM0LjcgNDE2IDI5MS4yIDQxNiAzNTJsMCA4YzAgODMuOS02OC4xIDE1Mi0xNTIgMTUyTDg4IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw5MiAwYzYuNiAwIDEyLTUuNCAxMi0xMnMtNS40LTEyLTEyLTEyTDU2IDQ0MGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMjQgMGM2LjYgMCAxMi01LjQgMTItMTJzLTUuNC0xMi0xMi0xMkwyNCAzNjhjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTU2IDBjNi42IDAgMTItNS40IDEyLTEycy01LjQtMTItMTItMTJMNTYgMjk2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEzNiAwIDAgMCAwIDAgOTMuMiAwLTQ2LjItMjguOWMtMTUtOS40LTE5LjUtMjkuMS0xMC4yLTQ0LjF6Il19LEdhYT13dGUsWWFhPXd0ZSxLYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGV0cyIsaWNvbjpbNTEyLDUxMixbXSwiZjQ5MCIsIk00OTUuMyA3Ni42Yy00LjYtOC43LTE2LjMtOS43LTIzLjMtMi43TDI5Ny45IDI0OGMtNyA3LTYgMTguNyAyLjcgMjMuMyAyMC4xIDEwLjcgNDMgMTYuNyA2Ny40IDE2LjcgNzkuNSAwIDE0NC02NC41IDE0NC0xNDQgMC0yNC4zLTYtNDcuMy0xNi43LTY3LjR6TTI0MC43IDIxMS40YzQuNiA4LjcgMTYuMyA5LjcgMjMuMyAyLjdMNDM4LjEgNDBjNy03IDYtMTguNy0yLjctMjMuMy0yMC4xLTEwLjctNDMtMTYuNy02Ny40LTE2LjctNzkuNSAwLTE0NCA2NC41LTE0NCAxNDQgMCAyNC4zIDYgNDcuMyAxNi43IDY3LjR6TTE0NCAyMjRDNzkuMiAyMjQgMjQuNCAyNjYuOCA2LjMgMzI1LjYgMy40IDMzNS4xIDExIDM0NCAyMC45IDM0NGwyNDYuMiAwYzkuOSAwIDE3LjUtOC45IDE0LjYtMTguNC0uOS0zLTEuOS01LjktMy04LjctMzcuNC0xOC4xLTY4LTQ4LTg3LTg0LjgtMTQuOS01LjItMzAuOS04LjEtNDcuNi04LjF6TTI4MS43IDQxMC40YzIuOS05LjUtNC43LTE4LjQtMTQuNi0xOC40TDIwLjkgMzkyQzExIDM5MiAzLjQgNDAwLjkgNi4zIDQxMC40IDI0LjQgNDY5LjIgNzkuMiA1MTIgMTQ0IDUxMnMxMTkuNi00Mi44IDEzNy43LTEwMS42eiJdfSxaYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2VpZ2h0LWhhbmdpbmciLGljb246WzUxMiw1MTIsW10sImY1Y2QiLCJNMjI0IDk2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTEyMi41IDMyYzMuNS0xMCA1LjUtMjAuOCA1LjUtMzIgMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZjMCAxMS4yIDEuOSAyMiA1LjUgMzJsLTIxLjggMGMtMjguMyAwLTUzLjIgMTguNS02MS4zIDQ1LjZMMi40IDQ0MC4yQy44IDQ0NS40IDAgNDUwLjggMCA0NTYuMiAwIDQ4NyAyNSA1MTIgNTUuOCA1MTJsNDAwLjQgMGMzMC44IDAgNTUuOC0yNSA1NS44LTU1LjggMC01LjQtLjgtMTAuOC0yLjQtMTZsLTgwLTI2Ni41Yy04LjEtMjcuMS0zMy00NS42LTYxLjMtNDUuNmwtMjEuOCAweiJdfSxYYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZSIsaWNvbjpbNTEyLDUxMixbMTI3OTIyXSwiZjUyMiIsIk0xNDEuNCAyLjNDMTAzLTggNjMuNSAxNC44IDUzLjMgNTMuMkwyLjUgMjQyLjdDLTcuOCAyODEuMSAxNSAzMjAuNiA1My40IDMzMC45bDE4OS41IDUwLjhjMzguNCAxMC4zIDc3LjktMTIuNSA4OC4yLTUwLjlsNTAuOC0xODkuNWMxMC4zLTM4LjQtMTIuNS03Ny45LTUwLjktODguMkwxNDEuNCAyLjN6bTIzIDIwNS43YTMyIDMyIDAgMSAxIDU1LjQtMzIgMzIgMzIgMCAxIDEgLTU1LjQgMzJ6TTc5LjIgMjIwLjNhMzIgMzIgMCAxIDEgMzIgNTUuNCAzMiAzMiAwIDEgMSAtMzItNTUuNHptMTg1IDk2LjRhMzIgMzIgMCAxIDEgLTMyLTU1LjQgMzIgMzIgMCAxIDEgMzIgNTUuNHptOS0yMDguNGEzMiAzMiAwIDEgMSAzMiA1NS40IDMyIDMyIDAgMSAxIC0zMi01NS40em0tMTIxIDE0LjRhMzIgMzIgMCAxIDEgLTMyLTU1LjQgMzIgMzIgMCAxIDEgMzIgNTUuNHpNNDE4IDE5MkwzNzcuNCAzNDMuMmMtMTcuMiA2NC04MyAxMDItMTQ3IDg0LjlsLTM4LjMtMTAuMyAwIDMwLjJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xOTJjMC0zNS4zLTI4LjctNjQtNjQtNjRMNDE4IDE5MnoiXX0semdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNob3Atc2xhc2giLGljb246WzU3Niw1MTIsWyJzdG9yZS1hbHQtc2xhc2giXSwiZTA3MCIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01Ny01NyAwLTE5MC4zYzI2LjgtMS45IDQ4LTI0LjMgNDgtNTEuNiAwLTgtMS45LTE2LTUuNS0yMy4yTDQ5Ny43IDY3LjRDNDg2LjggNDUuNyA0NjQuNyAzMiA0NDAuNCAzMkwxMzUuNiAzMmMtMTAuNyAwLTIxIDIuNy0zMC4yIDcuNkw0MS0yNC45ek0zMjEuOCAyNTZMNDQ4IDI1NiA0NDggMzgyLjIgMzIxLjggMjU2ek0zNTIgNDIxLjhsLTY0LTY0IDAgMTAuMmMwIDguOC03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xMTIgNTguMiAwLTEzNC44LTEzNC44LTI5LjkgNTkuOWMtMy42IDcuMi01LjUgMTUuMS01LjUgMjMuMiAwIDI3LjMgMjEuMiA0OS43IDQ4IDUxLjZMNjQgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE5MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTAuMnoiXX0sUWFhPXpnZSxDZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic29ydC1kb3duIixpY29uOlszODQsNTEyLFsic29ydC1kZXNjIl0sImYwZGQiLCJNMzIgMjg4Yy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44Uy4yIDMzMy41IDkuNCAzNDIuNmwxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjBjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzY0LjkgMjg4IDM1MiAyODhMMzIgMjg4eiJdfSxKYWE9Q2dlLGVyYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXNldGEtc2lnbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTIyMSIsIk0xMTIgMzJDOTQuMyAzMiA4MCA0Ni4zIDgwIDY0bDAgMTA0LTI0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjQgMCAwIDIzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTYgOTYgMGM4MC4yIDAgMTQ2LjYtNTkgMTU4LjItMTM2bDI1LjggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjUuOCAwQzM4Ni42IDkxIDMyMC4yIDMyIDI0MCAzMkwxMTIgMzJ6TTMzMyAxNjhsLTE4OSAwIDAtNzIgOTYgMGM0NC43IDAgODIuMyAzMC42IDkzIDcyek0xNDQgMjE2bDE4OSAwYy0xMC43IDQxLjQtNDguMiA3Mi05MyA3MmwtOTYgMCAwLTcyeiJdfSxfZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGV0LXNjcmVlbi1idXR0b24iLGljb246WzQ0OCw1MTIsWyJ0YWJsZXQtYWx0Il0sImYzZmEiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek0yNTYgNDMyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTM4NCA2NGwtMzIwIDAgMCAyODggMzIwIDAgMC0yODh6Il19LHRyYT1fZ2UsVGdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtaG9sZGluZy1kb2xsYXIiLGljb246WzU3Niw1MTIsWyJoYW5kLWhvbGRpbmctdXNkIl0sImY0YzAiLCJNMjg4LTE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDEyLTEuOCAwYy0zNi42IDAtNjYuMiAyOS43LTY2LjIgNjYuMiAwIDMzLjQgMjQuOSA2MS42IDU4IDY1LjdsNjEgNy42YzUuMSAuNiA5IDUgOSAxMC4yIDAgNS43LTQuNiAxMC4yLTEwLjIgMTAuMkwyNDAgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOHMxMi41IDI4IDI4IDI4bDI0IDAgMCAxMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTIgMS44IDBjMzYuNiAwIDY2LjItMjkuNyA2Ni4yLTY2LjIgMC0zMy40LTI0LjktNjEuNi01OC02NS43bC02MS03LjZjLTUuMS0uNi05LTUtOS0xMC4yIDAtNS43IDQuNi0xMC4yIDEwLjItMTAuMkwzMjggNzZjMTUuNSAwIDI4LTEyLjUgMjgtMjhzLTEyLjUtMjgtMjgtMjhsLTE2IDAgMC0xMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMTA5LjMgMzQxLjVMNjYuNyAzODQgMzIgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMC41IDBjMjkgMCA1Ny4zLTkuMyA4MC43LTI2LjVsMTI2LjYtOTMuM2MxNy44LTEzLjEgMjEuNi0zOC4xIDguNS01NS45cy0zOC4xLTIxLjYtNTUuOS04LjVMMzkyLjYgNDE2IDI4MCA0MTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTUyLjIgMGMtMzMuOSAwLTY2LjUgMTMuNS05MC41IDM3LjV6Il19LGFyYT1UZ2UsTGdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaWVsZCIsaWNvbjpbNTEyLDUxMixbMTI4NzM3LCJzaGllbGQtYmxhbmsiXSwiZjEzMiIsIk0yNTYgMGM0LjYgMCA5LjIgMSAxMy40IDIuOUw0NTcuOCA4Mi44YzIyIDkuMyAzOC40IDMxIDM4LjMgNTcuMi0uNSA5OS4yLTQxLjMgMjgwLjctMjEzLjYgMzYzLjItMTYuNyA4LTM2LjEgOC01Mi44IDAtMTcyLjQtODIuNS0yMTMuMS0yNjQtMjEzLjYtMzYzLjItLjEtMjYuMiAxNi4zLTQ3LjkgMzguMy01Ny4yTDI0Mi43IDIuOUMyNDYuOSAxIDI1MS40IDAgMjU2IDB6Il19LHJyYT1MZ2UsJGdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtbGF1Z2giLGljb246WzUxMiw1MTIsWyJsYXVnaCJdLCJmNTk5IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xMDEuNiAzMTRjLTMuNy0xMy43IDcuNS0yNiAyMS43LTI2bDI2NS40IDBjMTQuMiAwIDI1LjQgMTIuMyAyMS43IDI2LTE4LjUgNjgtODAuNiAxMTgtMTU0LjQgMTE4UzEyMCAzODIgMTAxLjYgMzE0ek0xNDQgMTkyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LHNyYT0kZ2UsaXJhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLWhvbGRpbmciLGljb246WzY0MCw1MTIsW10sImY0YzIiLCJNODAgMTA0YzAtMjIuMS0xNy45LTQwLTQwLTQwUzAgODEuOSAwIDEwNEwwIDMyNS41YzAgMjUuNSAxMC4xIDQ5LjkgMjguMSA2Ny45TDEyOCA0OTMuM2MxMiAxMiAyOC4zIDE4LjcgNDUuMyAxOC43bDY2LjcgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTc4LjljMC0yOS43LTExLjgtNTguMi0zMi44LTc5LjJsLTI1LjMtMjUuMyAwIDBjLTcuMy03LjMtMjMuMS0yMy4xLTQ3LjItNDcuMi0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2MyNC4xIDI0LjEgMzkuOSAzOS45IDQ3LjIgNDcuMiAxMSAxMSA5LjIgMjkuMi0zLjcgMzcuOC05LjcgNi41LTIyLjcgNS4yLTMxLTMuMUw5OC43IDMwOS41Yy0xMi0xMi0xOC43LTI4LjMtMTguNy00NS4zTDgwIDEwNHptNDgwIDBsMCAxNjAuMmMwIDE3LTYuNyAzMy4zLTE4LjcgNDUuM2wtNTEuMSA1MS4xYy04LjMgOC4zLTIxLjMgOS42LTMxIDMuMS0xMi45LTguNi0xNC43LTI2LjktMy43LTM3LjggNy4zLTcuMyAyMy4xLTIzLjEgNDcuMi00Ny4yIDEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwYy0yNC4xIDI0LjEtMzkuOSAzOS45LTQ3LjIgNDcuMmwwIDAtMjUuMyAyNS4zYy0yMSAyMS0zMi44IDQ5LjUtMzIuOCA3OS4ybDAgNzguOWMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2Ni43IDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdsOTkuOS05OS45YzE4LTE4IDI4LjEtNDIuNCAyOC4xLTY3LjlMNjQwIDEwNGMwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MHoiXX0sRGdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcnQtc2hvcHBpbmciLGljb246WzY0MCw1MTIsWzEyODcyMiwic2hvcHBpbmctY2FydCJdLCJmMDdhIiwiTTI0LTE2QzEwLjctMTYgMC01LjMgMCA4UzEwLjcgMzIgMjQgMzJsNDUuMyAwYzMuOSAwIDcuMiAyLjggNy45IDYuNmw1Mi4xIDI4Ni4zYzYuMiAzNC4yIDM2IDU5LjEgNzAuOCA1OS4xTDQ1NiAzODRjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI1NS45IDBjLTExLjYgMC0yMS41LTguMy0yMy42LTE5LjdsLTUuMS0yOC4zIDMwMy42IDBjMzAuOCAwIDU3LjItMjEuOSA2Mi45LTUyLjJMNTY4LjkgNjkuOUM1NzIuNiA1MC4yIDU1Ny41IDMyIDUzNy40IDMybC00MTIuNyAwLS40LTJjLTQuOC0yNi42LTI4LTQ2LTU1LjEtNDZMMjQtMTZ6TTIwOCA1MTJhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em0yMjQgMGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6Il19LG9yYT1EZ2UsbnJhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im9jdGFnb24iLGljb246WzUxMiw1MTIsWzEyODcyMV0sImYzMDYiLCJNMTg4LjYgLjFjLTE3IDAtMzMuMyA2LjctNDUuMyAxOC43TDE5LjIgMTQzQzcuMiAxNTUgLjUgMTcxLjIgLjUgMTg4LjJsMCAxMzUuNmMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM0wxNDMuNCA0OTMuMmMxMiAxMiAyOC4zIDE4LjcgNDUuMyAxOC43bDEzNS42IDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdMNDkzLjYgMzY5YzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNsMC0xMzUuNmMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wzNjkuNSAxOC44Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43TDE4OC42IC4xeiJdfSxscmE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1wb2ludGVyIixpY29uOls0NDgsNTEyLFtdLCJmMjVhIiwiTTEyOCA0MGMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMTQ4LjJjOC41LTcuNiAxOS43LTEyLjIgMzItMTIuMiAyMC42IDAgMzguMiAxMyA0NSAzMS4yIDguOC05LjMgMjEuMi0xNS4yIDM1LTE1LjIgMjUuMyAwIDQ2IDE5LjUgNDcuOSA0NC4zIDguNS03LjcgMTkuOC0xMi4zIDMyLjEtMTIuMyAyNi41IDAgNDggMjEuNSA0OCA0OGwwIDExMmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtODUuMyAwYy01IDAtOS45LS4zLTE0LjctMS01NS4zLTUuNi0xMDYuMi0zNC0xNDAtNzlMOCAzMzZjLTEzLjMtMTcuNy05LjctNDIuNyA4LTU2czQyLjctOS43IDU2IDhsNTYgNzQuNyAwLTMyMi43ek0yNDAgMzA0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTk2em00OC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTk2YzAtOC44LTcuMi0xNi0xNi0xNnptODAgMTZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZ6Il19LGNyYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZWdpc3RlcmVkIixpY29uOls1MTIsNTEyLFsxNzRdLCJmMjVkIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMDAgMTQ0bDgwIDBjMzkuOCAwIDcyIDMyLjIgNzIgNzIgMCAyOC45LTE3IDUzLjgtNDEuNiA2NS4zbDMwLjIgNTAuM2M2LjggMTEuNCAzLjEgMjYuMS04LjIgMzIuOXMtMjYuMSAzLjEtMzIuOS04LjJsLTQxLTY4LjMtMzQuNCAwIDAgNTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xNzZjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTcyIDk2bDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNTYgMCAwIDQ4IDQ4IDB6Il19LGRyYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1zaWduYWwiLGljb246WzU3Niw1MTIsW10sImUwMTIiLCJNNTE1LjkgMjQwbC0xOS45IDAgMCAxNDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTEzNyAwYy0yNC05MS43LTkzLjUtMTY1LTE4My0xOTQuM2wwLTEzLjctMTkuOSAwYy0xNS41IDAtMjguMS0xMi42LTI4LjEtMjguMSAwLTcuNiAzLjEtMTQuOSA4LjYtMjAuMkwyNzYuNS00LjlDMjgzLjktMTIgMjkzLjctMTYgMzA0LTE2czIwLjEgNCAyNy41IDExLjFMNTM1LjQgMTkxLjdjNS41IDUuMyA4LjYgMTIuNiA4LjYgMjAuMiAwIDE1LjUtMTIuNiAyOC4xLTI4LjEgMjguMXpNMjgwIDE5MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTQ4IDB6TTI0IDI4OGMxMjguMSAwIDIzMiAxMDMuOSAyMzIgMjMyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTAxLjYtODIuNC0xODQtMTg0LTE4NC0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em04IDE5MmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTAgNDA4YzAtMTMuMyAxMC43LTI0IDI0LTI0IDc1LjEgMCAxMzYgNjAuOSAxMzYgMTM2IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDguNi0zOS40LTg4LTg4LTg4LTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSx1cmE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFuZ2xhZGVzaGktdGFrYS1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMmU2IiwiTTM2IDMyLjNDMTguNCAzMC4xIDIuNCA0Mi41IC4zIDYwUzEwLjUgOTMuNiAyOCA5NS44bDcuOSAxYzE2IDIgMjggMTUuNiAyOCAzMS44bDAgMzEuNS00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDAgMCAxNzZjMCA1MyA0MyA5NiA5NiA5NmwzMiAwYzEwNiAwIDE5Mi04NiAxOTItMTkybDAtMzJjMC01My00My05Ni05Ni05NmwtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTc2IDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDAgMC0zMS41QzEyOCA4MC4xIDkyIDM5LjIgNDMuOSAzMy4ybC03LjktMXoiXX0sUyRhPXtmYTA6a0x0LGZhMTpTTHQsZmEyOnpMdCxmYTM6Q0x0LGZhNDpfTHQsZmE1OlRMdCxmYTY6TEx0LGZhNzokTHQsZmE4OkRMdCxmYTk6QUx0LGZhRG9sbGFyU2lnbjp6ZWUsZmFEb2xsYXI6UEx0LGZhVXNkOkVMdCxmYURvZzpJTHQsZmFUcnVja01vdmluZzpOTHQsZmFSb3RhdGU6TWZlLGZhU3luY0FsdDpSTHQsZmFTcXVhcmVNaW51czprZmUsZmFNaW51c1NxdWFyZTpPTHQsZmFBbGlnbkp1c3RpZnk6Rkx0LGZhQ2FsZW5kYXJDaGVjazpCTHQsZmFGYWNlS2lzczpTZmUsZmFLaXNzOkhMdCxmYUtpdGNoZW5TZXQ6cUx0LGZhRG5hOlZMdCxmYUNoaWxkUmVhY2hpbmc6akx0LGZhUGFzdGU6UWIsZmFGaWxlQ2xpcGJvYXJkOlVMdCxmYU1ldGVvcjpXTHQsZmFHZWFyczp6ZmUsZmFDb2dzOkdMdCxmYUZpbGVDaXJjbGVQbHVzOllMdCxmYUljaWNsZXM6S0x0LGZhQXJyb3dUcmVuZFVwOlpMdCxmYUhleGFnb25Ob2Rlc0JvbHQ6WEx0LGZhUXVlc3Rpb246UUx0LGZhSGFuZHNCb3VuZDpKTHQsZmFQZXJzb25XYWxraW5nTHVnZ2FnZTplJHQsZmFGaWxlQXJyb3dEb3duOkNmZSxmYUZpbGVEb3dubG9hZDp0JHQsZmFQZXJzb25Cb290aDphJHQsZmFMb2N1c3Q6ciR0LGZhUmlnaHRMb25nOl9mZSxmYUxvbmdBcnJvd0FsdFJpZ2h0OnMkdCxmYVRydWNrRHJvcGxldDppJHQsZmFIYW5kSG9sZGluZ01lZGljYWw6byR0LGZhSGFuZFBvaW50TGVmdDpuJHQsZmFDYWxjdWxhdG9yOmwkdCxmYU1pbnVzOkpiLGZhU3VidHJhY3Q6YyR0LGZhQXJyb3dVcFpBOlRmZSxmYVNvcnRBbHBoYVVwQWx0OmQkdCxmYU1pY3JvcGhvbmVTbGFzaDp1JHQsZmFTcXVhcmVQZW46Q2VlLGZhUGVuU3F1YXJlOnAkdCxmYVBlbmNpbFNxdWFyZTpmJHQsZmFIYW5kRmlzdDpMZmUsZmFGaXN0UmFpc2VkOmgkdCxmYUNvbW1lbnRTbXM6JGZlLGZhU21zOm0kdCxmYVNpbUNhcmQ6ZyR0LGZhU2NhbGVCYWxhbmNlZDpEZmUsZmFCYWxhbmNlU2NhbGU6YiR0LGZhQ2FyOkFmZSxmYUF1dG9tb2JpbGU6diR0LGZhQ3JvcFNpbXBsZTpQZmUsZmFDcm9wQWx0OngkdCxmYU1lZGFsOnkkdCxmYVNjcm9sbDp3JHQsZmFGaWxlRXhjZWw6TSR0LGZhRmlsdGVyOmskdCxmYURydW06UyR0LGZhTWFwUGluOnokdCxmYVNjYWxlVW5iYWxhbmNlZEZsaXA6RWZlLGZhQmFsYW5jZVNjYWxlUmlnaHQ6QyR0LGZhQXJyb3dzVG9DaXJjbGU6XyR0LGZhRW52ZWxvcGU6VCR0LGZhQmFieTpMJHQsZmFTcXVhcmVDYXJldERvd246SWZlLGZhQ2FyZXRTcXVhcmVEb3duOiQkdCxmYVRlbnQ6RCR0LGZhQTpBJHQsZmFQYXJhY2h1dGVCb3g6UCR0LGZhQ2FydEFycm93RG93bjpFJHQsZmFCcmlkZ2VDaXJjbGVFeGNsYW1hdGlvbjpJJHQsZmFDbG91ZEFycm93VXA6X2VlLGZhQ2xvdWRVcGxvYWQ6TiR0LGZhQ2xvdWRVcGxvYWRBbHQ6UiR0LGZhQXQ6TyR0LGZhSW5kaWFuUnVwZWVTaWduOlRlZSxmYUluZGlhblJ1cGVlOkYkdCxmYUlucjpCJHQsZmFUcnVjazpIJHQsZmFDaGFsa2JvYXJkVXNlcjpOZmUsZmFDaGFsa2JvYXJkVGVhY2hlcjpxJHQsZmFVc2VyQ2hlY2s6ViR0LGZhVXNlck5pbmphOmokdCxmYVBsYW50V2lsdDpVJHQsZmFXZWlnaHRTY2FsZTpSZmUsZmFXZWlnaHQ6VyR0LGZhQ2FyZXRSaWdodDpNdGUsZmFGbG9yaW5TaWduOkckdCxmYUJlbGw6a3RlLGZhTGFyaVNpZ246WSR0LGZhTWlsbFNpZ246SyR0LGZhUGVyc29uU25vd2JvYXJkaW5nOk9mZSxmYVNub3dib2FyZGluZzpaJHQsZmFUdHk6RmZlLGZhVGVsZXR5cGU6WCR0LGZhVXNlcnNSZWN0YW5nbGU6USR0LGZhTW9iaWxlOkxlZSxmYU1vYmlsZUFuZHJvaWQ6SiR0LGZhTW9iaWxlUGhvbmU6ZUR0LGZhQXJyb3dzVHVyblRvRG90czp0RHQsZmFFeGNsYW1hdGlvbjphRHQsZmFDaHVyY2g6ckR0LGZhVG9nZ2xlT2ZmOnNEdCxmYVNob2VQcmludHM6aUR0LGZhRmlsZUNpcmNsZUV4Y2xhbWF0aW9uOm9EdCxmYVdhbGxldDpTdGUsZmFNZXNzYWdlOmV2LGZhQ29tbWVudEFsdDpuRHQsZmFUcm9waHk6bER0LGZhRmFjZURpenp5OkJmZSxmYURpenp5OmNEdCxmYUJhY3RlcmlhOmREdCxmYUVhckRlYWY6TmIsZmFEZWFmOnVEdCxmYURlYWZuZXNzOnBEdCxmYUhhcmRPZkhlYXJpbmc6ZkR0LGZhUGVvcGxlQXJyb3dzOkhmZSxmYVBlb3BsZUFycm93c0xlZnRSaWdodDpoRHQsZmFIYW5kc0NsYXBwaW5nOm1EdCxmYVZpcnVzQ292aWRTbGFzaDpnRHQsZmFDYWxlbmRhckRheXM6cWZlLGZhQ2FsZW5kYXJBbHQ6YkR0LGZhRGlhbW9uZFR1cm5SaWdodDpWZmUsZmFEaXJlY3Rpb25zOnZEdCxmYUhhbmRQb2ludFVwOnhEdCxmYUJlemllckN1cnZlOnlEdCxmYVBlcnNvbkhhbGZEcmVzczp3RHQsZmFTcXVhcmVQb2xsSG9yaXpvbnRhbDpqZmUsZmFQb2xsSDpNRHQsZmFTY2hvb2xDaXJjbGVYbWFyazprRHQsZmFIYW5kTGl6YXJkOlNEdCxmYUNoYWxrYm9hcmQ6VWZlLGZhQmxhY2tib2FyZDp6RHQsZmFVcFJpZ2h0RnJvbVNxdWFyZTpXZmUsZmFFeHRlcm5hbExpbmtBbHQ6Q0R0LGZhU3F1YXJlRnVsbDpfRHQsZmFDbG92ZXI6VER0LGZhVGVldGhPcGVuOkxEdCxmYUJhcnNTdGFnZ2VyZWQ6JGVlLGZhUmVvcmRlcjokRHQsZmFTdHJlYW06RER0LGZhV2FyZWhvdXNlOkFEdCxmYVN3YXRjaGJvb2s6UER0LGZhQ2FtcGdyb3VuZDpFRHQsZmFQZXJzb25XYWxraW5nQXJyb3dSaWdodDpJRHQsZmFHbGFzc2VzOk5EdCxmYUNpcmNsZVBhdXNlOkdmZSxmYVBhdXNlQ2lyY2xlOlJEdCxmYU1lbW9yeTpPRHQsZmFHaWZ0OkZEdCxmYU1vbmV5QmlsbFdoZWF0OkJEdCxmYUR1bmdlb246SER0LGZhU3VpdGNhc2VNZWRpY2FsOllmZSxmYU1lZGtpdDpxRHQsZmFQZXJzb25DYW5lOlZEdCxmYUdhdWdlOlJiLGZhRGFzaGJvYXJkOmpEdCxmYUdhdWdlTWVkOlVEdCxmYVRhY2hvbWV0ZXJBbHRBdmVyYWdlOldEdCxmYUVudmVsb3BlT3BlblRleHQ6R0R0LGZhVG9vbGJveDpZRHQsZmFQb3dlck9mZjpLRHQsZmFTaWduYWw6RGVlLGZhU2lnbmFsNTpaRHQsZmFTaWduYWxQZXJmZWN0OlhEdCxmYUFycm93c1NwaW46UUR0LGZhSm9pbnQ6SkR0LGZhQnJhaWxsZTplQXQsZmFCYXNrZXRTaG9wcGluZzpLZmUsZmFTaG9wcGluZ0Jhc2tldDp0QXQsZmFCcmlkZ2U6YUF0LGZhUGxhbmVBcnJpdmFsOnJBdCxmYUNhc2hSZWdpc3RlcjpzQXQsZmFSaW5nOmlBdCxmYUFxdWFyaXVzOm9BdCxmYVNoYXJlTm9kZXM6WmZlLGZhU2hhcmVBbHQ6bkF0LGZhUGVyc29uQ2lyY2xlRXhjbGFtYXRpb246bEF0LGZhQmlub2N1bGFyczpjQXQsZmFLaXBTaWduOmRBdCxmYUhhcmREcml2ZTpYZmUsZmFIZGQ6dUF0LGZhUmFua2luZ1N0YXI6cEF0LGZhVXNlclRpZTpmQXQsZmFFbGxpcHNpczpRZmUsZmFFbGxpcHNpc0g6aEF0LGZhU3RvcmVTbGFzaDptQXQsZmFQZXJjZW50OkpmZSxmYVBlcmNlbnRhZ2U6Z0F0LGZhRmlsZVppcHBlcjplNWUsZmFGaWxlQXJjaGl2ZTpiQXQsZmFEaXNwbGF5OnZBdCxmYUljb25zOnQ1ZSxmYUhlYXJ0TXVzaWNDYW1lcmFCb2x0OnhBdCxmYVJ1bGVyVmVydGljYWw6eUF0LGZhTWFwTG9jYXRpb25Eb3Q6YTVlLGZhTWFwTWFya2VkQWx0OndBdCxmYUhlYXJ0Q3JhY2s6cjVlLGZhSGVhcnRCcm9rZW46TUF0LGZhQ293OmtBdCxmYVJzczp0dixmYUZlZWQ6U0F0LGZhTWFnbmlmeWluZ0dsYXNzOmF2LGZhU2VhcmNoOnpBdCxmYUNsb3VkTW9vbjpDQXQsZmFCb3hlc1N0YWNrZWQ6QWVlLGZhQm94ZXM6X0F0LGZhQm94ZXNBbHQ6VEF0LGZhQ29kZUJyYW5jaDpMQXQsZmFCYW46czVlLGZhQ2FuY2VsOiRBdCxmYUp1Z0RldGVyZ2VudDpEQXQsZmFSZXBseTppNWUsZmFNYWlsUmVwbHk6QUF0LGZhU3VuUGxhbnRXaWx0OlBBdCxmYUJhY3Rlcml1bTpFQXQsZmFSZWNvcmRWaW55bDpJQXQsZmFGbG9wcHlEaXNrOm81ZSxmYVNhdmU6TkF0LGZhVG9pbGV0c1BvcnRhYmxlOlJBdCxmYU86T0F0LGZhUGFsZXR0ZTpGQXQsZmFVbmxvY2s6QkF0LGZhRWFyTGlzdGVuOm41ZSxmYUFzc2lzdGl2ZUxpc3RlbmluZ1N5c3RlbXM6SEF0LGZhQ29kZVB1bGxSZXF1ZXN0OnFBdCxmYUtleTpWQXQsZmFTa3VsbDpqQXQsZmFNYXJzU3Ryb2tlVXA6bDVlLGZhTWFyc1N0cm9rZVY6VUF0LGZhRmlyZUZsYW1lU2ltcGxlOmM1ZSxmYUJ1cm46V0F0LGZhVHJlZTpHQXQsZmFTbW9nOllBdCxmYVM6S0F0LGZhSmVkaTpaQXQsZmFQZXJzb25IaWtpbmc6ZDVlLGZhSGlraW5nOlhBdCxmYUFycm93c1VwVG9MaW5lOlFBdCxmYU1hcnNEb3VibGU6SkF0LGZhVGhlcm1vbWV0ZXI6ZVB0LGZhUGFpbnRicnVzaDp1NWUsZmFQYWludEJydXNoOnRQdCxmYU5ldXRlcjphUHQsZmFTcXVhcmVQaG9uZUZsaXA6cDVlLGZhUGhvbmVTcXVhcmVBbHQ6clB0LGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQ6ZjVlLGZhR3JpblRvbmd1ZVNxdWludDpzUHQsZmFDb21tZW50RG9sbGFyOmlQdCxmYUhpcHBvOm9QdCxmYUJvd2xGb29kOm5QdCxmYVNxdWFyZVZpcnVzOmxQdCxmYUNsb3VkU3VuUmFpbjpjUHQsZmFBcnJvd1JpZ2h0TG9uZzpoNWUsZmFMb25nQXJyb3dSaWdodDpkUHQsZmFCdWlsZGluZ1VuOnVQdCxmYVRlbXBlcmF0dXJlTG93OnBQdCxmYURvb3JPcGVuOmZQdCxmYUFsaWduTGVmdDpoUHQsZmFDYW1lcmE6bTVlLGZhQ2FtZXJhQWx0Om1QdCxmYVVzZXJzUmF5czpnUHQsZmFSYWluYm93OmJQdCxmYVNpdGVtYXA6dlB0LGZhRmFjZUdyaW5TdGFyczpnNWUsZmFHcmluU3RhcnM6eFB0LGZhU29ydFVwOmI1ZSxmYVNvcnRBc2M6eVB0LGZhRXllOnp0ZSxmYUNhcmV0TGVmdDpDdGUsZmFBcHBsZVdob2xlOnY1ZSxmYUFwcGxlQWx0OndQdCxmYVNjcm9sbFRvcmFoOng1ZSxmYVRvcmFoOk1QdCxmYUhvdXNlTG9jazprUHQsZmFBcnJvd3NMZWZ0UmlnaHRUb0xpbmU6U1B0LGZhVHJhc2g6aHYsZmFGYWNlU2FkVGVhcjp5NWUsZmFTYWRUZWFyOnpQdCxmYUZheDpDUHQsZmFQZXJzb25DaXJjbGVQbHVzOl9QdCxmYUhhbXNhOlRQdCxmYVBlcnNvbkNpcmNsZVF1ZXN0aW9uOkxQdCxmYUNsaXBib2FyZENoZWNrOiRQdCxmYVNoYXJlRnJvbVNxdWFyZTp3NWUsZmFTaGFyZVNxdWFyZTpEUHQsZmFSZWNlaXB0Ol90ZSxmYUVxdWFsczpBUHQsZmFDaGV2cm9uVXA6UFB0LGZhVmlydXNTbGFzaDpFUHQsZmFTbGFzaDpJUHQsZmFFeHBhbmQ6TlB0LGZhTm90ZVN0aWNreTpNNWUsZmFTdGlja3lOb3RlOlJQdCxmYVRhYmxlQ29sdW1uczprNWUsZmFDb2x1bW5zOk9QdCxmYVBlcnNvblNoZWx0ZXI6RlB0LGZhQ2lyY2xlTm90Y2g6QlB0LGZhV2F0ZXI6SFB0LGZhRGVsZXRlTGVmdDpTNWUsZmFCYWNrc3BhY2U6cVB0LGZhQnJvb21CYWxsOlBlZSxmYVF1aWRkaXRjaDpWUHQsZmFRdWlkZGl0Y2hCcm9vbUJhbGw6alB0LGZhSjpVUHQsZmFTaHV0dGxlU3BhY2U6ejVlLGZhU3BhY2VTaHV0dGxlOldQdCxmYVlpbllhbmc6R1B0LGZhU3RvcDpZUHQsZmFUcm93ZWw6S1B0LGZhSGFuZEJhY2tGaXN0OkM1ZSxmYUhhbmRSb2NrOlpQdCxmYVRlbXBlcmF0dXJlSGlnaDpYUHQsZmFHcmVhdGVyVGhhbjpRUHQsZmFDcnV0Y2g6SlB0LGZhU2VwdGFnb246XzVlLGZhSGVwdGFnb246ZUV0LGZhU3RyZWV0Vmlldzp0RXQsZmFXYXZlU3F1YXJlOmFFdCxmYUFuZ2xlTGVmdDpyRXQsZmFTY3Jld2RyaXZlcjpzRXQsZmFUcmFjdG9yOmlFdCxmYUJyaWRnZUNpcmNsZVhtYXJrOm9FdCxmYVZpYWxzOm5FdCxmYVN0ZXRob3Njb3BlOmxFdCxmYVBvZGNhc3Q6Y0V0LGZhQXJyb3dVcFJpZ2h0RG90czpkRXQsZmFDaGVzc1F1ZWVuOnVFdCxmYUFuY2hvckNpcmNsZUV4Y2xhbWF0aW9uOnBFdCxmYUVsbGlwc2lzVmVydGljYWw6VDVlLGZhRWxsaXBzaXNWOmZFdCxmYUhlYXJ0Q2lyY2xlRXhjbGFtYXRpb246aEV0LGZhQnVpbGRpbmdDaXJjbGVFeGNsYW1hdGlvbjptRXQsZmFQZXJzb25BcnJvd1VwRnJvbUxpbmU6Z0V0LGZhTm90RXF1YWw6YkV0LGZhVHJhaW5UcmFtOnZFdCxmYVBsYW5lRGVwYXJ0dXJlOnhFdCxmYVJpZ2h0VG9CcmFja2V0Okw1ZSxmYVNpZ25JbkFsdDp5RXQsZmFTZENhcmQ6d0V0LGZhSG91c2VDaXJjbGVFeGNsYW1hdGlvbjpNRXQsZmFTaGVrZWxTaWduOlc4LGZhSWxzOmtFdCxmYVNoZWtlbDpTRXQsZmFTaGVxZWw6ekV0LGZhU2hlcWVsU2lnbjpDRXQsZmFSYWRpbzpfRXQsZmFIYW5kRG90czokNWUsZmFBbGxlcmdpZXM6VEV0LGZhQm9va1NrdWxsOkQ1ZSxmYUJvb2tEZWFkOkxFdCxmYVVubG9ja0tleWhvbGU6QTVlLGZhVW5sb2NrQWx0OiRFdCxmYUZpbGVBcnJvd1VwOlA1ZSxmYUZpbGVVcGxvYWQ6REV0LGZhRmFjZUdyaW5UZWFyczpFNWUsZmFHcmluVGVhcnM6QUV0LGZhUGVuVG9TcXVhcmU6cnYsZmFFZGl0OlBFdCxmYUVhcnRoRXVyb3BlOkk1ZSxmYUdsb2JlRXVyb3BlOkVFdCxmYUZhY2VHcmluQmVhbVN3ZWF0Ok41ZSxmYUdyaW5CZWFtU3dlYXQ6SUV0LGZhQ2lyY2xlSGFsZlN0cm9rZTpSNWUsZmFBZGp1c3Q6TkV0LGZhUGVyc29uTWlsaXRhcnlUb1BlcnNvbjpSRXQsZmFUYWJsZUNlbGxzQ29sdW1uTG9jazpPRXQsZmFUcnVja0ZpZWxkVW46RkV0LGZhQ2xvY2s6TzVlLGZhQ2xvY2tGb3VyOkJFdCxmYUJvb2s6SEV0LGZhRmFjZUxhdWdoV2luazpGNWUsZmFMYXVnaFdpbms6cUV0LGZhQ2xvdWRNZWF0YmFsbDpWRXQsZmFDaGFydEFyZWE6QjVlLGZhQXJlYUNoYXJ0OmpFdCxmYVJ1cGlhaFNpZ246VUV0LGZhVGV4dFdpZHRoOldFdCxmYVNhdGVsbGl0ZTpHRXQsZmFNYWduaWZ5aW5nR2xhc3NNaW51czpINWUsZmFTZWFyY2hNaW51czpZRXQsZmFQZW9wbGVHcm91cDpLRXQsZmFTcXVhcmVCaW5hcnk6WkV0LGZhTWFza3NUaGVhdGVyOnE1ZSxmYVRoZWF0ZXJNYXNrczpYRXQsZmFDYXJ0UGx1czpRRXQsZmFIYW5kc0FzbEludGVycHJldGluZzpPYixmYUFtZXJpY2FuU2lnbkxhbmd1YWdlSW50ZXJwcmV0aW5nOkpFdCxmYUFzbEludGVycHJldGluZzplSXQsZmFIYW5kc0FtZXJpY2FuU2lnbkxhbmd1YWdlSW50ZXJwcmV0aW5nOnRJdCxmYVRhYmxlQ2VsbHNSb3dVbmxvY2s6YUl0LGZhUm9ja2V0OnJJdCxmYVNocmltcDpzSXQsZmFUZW5nZVNpZ246VjVlLGZhVGVuZ2U6aUl0LGZhSG91c2VDaGltbmV5TWVkaWNhbDpqNWUsZmFDbGluaWNNZWRpY2FsOm9JdCxmYVVzZXJzU2xhc2g6bkl0LGZhUGFwZXJQbGFuZTpsSXQsZmFCb29rQXRsYXM6VTVlLGZhQXRsYXM6Y0l0LGZhVGFibGU6ZEl0LGZhSGVhcnQ6dUl0LGZhQ2lyY2xlQ2hldnJvblVwOlc1ZSxmYUNoZXZyb25DaXJjbGVVcDpwSXQsZmFCYXR0ZXJ5SGFsZjpHNWUsZmFCYXR0ZXJ5MzpmSXQsZmFGb250QXdlc29tZTpFZWUsZmFGb250QXdlc29tZUZsYWc6aEl0LGZhRm9udEF3ZXNvbWVMb2dvRnVsbDptSXQsZmFIYW5kY3VmZnM6Z0l0LGZhSGF0Q293Ym95U2lkZTpiSXQsZmFJbmR1c3RyeTp2SXQsZmFMaW5lc0xlYW5pbmc6eEl0LGZhUGFzc3BvcnQ6eUl0LGZhSW5maW5pdHk6d0l0LGZhQ2xvbmU6TUl0LGZhRm9yd2FyZDprSXQsZmFNOlNJdCxmYVJvYWRTcGlrZXM6ekl0LGZhTW91bnRhaW46Q0l0LGZhQ2hlc3M6X0l0LGZhVGVtcGVyYXR1cmVUaHJlZVF1YXJ0ZXJzOkZiLGZhVGVtcGVyYXR1cmUzOlRJdCxmYVRoZXJtb21ldGVyMzpMSXQsZmFUaGVybW9tZXRlclRocmVlUXVhcnRlcnM6JEl0LGZhQjpESXQsZmFTaGllbGRWaXJ1czpBSXQsZmFMaXRlY29pblNpZ246UEl0LGZhRGljZUQ2OkVJdCxmYUdyaXBMaW5lc1ZlcnRpY2FsOklJdCxmYUdvbGZCYWxsVGVlOlk1ZSxmYUdvbGZCYWxsOk5JdCxmYUhleGFnb246Ukl0LGZhRm9sZGVyT3BlbjpPSXQsZmFLYWFiYTpGSXQsZmFIYW5kSG9sZGluZzpCSXQsZmFTaW5nbGVRdW90ZVJpZ2h0OkhJdCxmYUJvdHRsZURyb3BsZXQ6cUl0LGZhV2luZG93TWluaW1pemU6Vkl0LGZhQ2hldnJvblJpZ2h0OmpJdCxmYUVnZzpVSXQsZmFMYW5kbWFya0RvbWU6SzVlLGZhTGFuZG1hcmtBbHQ6V0l0LGZhV29ybTpHSXQsZmFVc2VySW5qdXJlZDpZSXQsZmFTdHJpa2V0aHJvdWdoOktJdCxmYUJsb2c6Wkl0LGZhU3RvcHdhdGNoMjA6WEl0LGZhVHJ1Y2tQaWNrdXA6UUl0LGZhU2VlZGxpbmc6WjVlLGZhU3Byb3V0OkpJdCxmYVRyYW5zZ2VuZGVyOlg1ZSxmYVRyYW5zZ2VuZGVyQWx0OmVOdCxmYVN0YXJIYWxmOnROdCxmYVBob3RvRmlsbTpRNWUsZmFQaG90b1ZpZGVvOmFOdCxmYVBpY3R1cmVJblBpY3R1cmU6ck50LGZhUHVtcE1lZGljYWw6c050LGZhRmlyZTppTnQsZmFNYWduaWZ5aW5nR2xhc3NQbHVzOko1ZSxmYVNlYXJjaFBsdXM6b050LGZhRmxhc2s6bk50LGZhQWxpZ25SaWdodDpsTnQsZmFDYWJsZUNhcjplaGUsZmFUcmFtOmNOdCxmYUtpdE1lZGljYWw6dGhlLGZhRmlyc3RBaWQ6ZE50LGZhR3JpcExpbmVzOnVOdCxmYUJ1cmdlcjphaGUsZmFIYW1idXJnZXI6cE50LGZhU25vd21hbjpmTnQsZmFIb3RlbDpoTnQsZmFQcmludDptTnQsZmFWb2xsZXliYWxsOnJoZSxmYVZvbGxleWJhbGxCYWxsOmdOdCxmYVRyYWZmaWNMaWdodDpiTnQsZmFQbGFuZUNpcmNsZUNoZWNrOnZOdCxmYVVzZXJzOlR0ZSxmYUNlcnRpZmljYXRlOnhOdCxmYUFsYXJtQ2xvY2s6eU50LGZhSGVsaWNvcHRlclN5bWJvbDp3TnQsZmFIb3VzZUNoaW1uZXlDcmFjazpzaGUsZmFIb3VzZURhbWFnZTpNTnQsZmFQZXJzb25NaWxpdGFyeVBvaW50aW5nOmtOdCxmYURhdGFiYXNlOlNOdCxmYU5ld3NwYXBlcjp6TnQsZmFDbG91ZFJhaW46Q050LGZhTWF4aW1pemU6aWhlLGZhRXhwYW5kQXJyb3dzQWx0Ol9OdCxmYUxvY2F0aW9uQXJyb3c6VE50LGZhQ2l0eTpMTnQsZmFYUmF5OiROdCxmYVVtYnJlbGxhQmVhY2g6RE50LGZhQXJyb3dSaWdodFRvQnJhY2tldDpvaGUsZmFTaWduSW46QU50LGZhSGVhZHNldDpQTnQsZmFTcGxvdGNoOkVOdCxmYVVwTG9uZzpuaGUsZmFMb25nQXJyb3dBbHRVcDpJTnQsZmFIZXhhZ29uTm9kZXM6Tk50LGZhSG9zcGl0YWw6SWVlLGZhSG9zcGl0YWxBbHQ6Uk50LGZhSG9zcGl0YWxXaWRlOk9OdCxmYVBlcnNvbkhhcmFzc2luZzpGTnQsZmFNb25leUJpbGxUcmVuZFVwOkJOdCxmYVBlblJ1bGVyOmxoZSxmYVBlbmNpbFJ1bGVyOkhOdCxmYVJlcGVhdDpxTnQsZmFCb25lOlZOdCxmYUZpcmVGbGFtZUN1cnZlZDpjaGUsZmFGaXJlQWx0OmpOdCxmYUJ1c1NpbXBsZTpkaGUsZmFCdXNBbHQ6VU50LGZhVmVudXNNYXJzOldOdCxmYUJsZW5kZXI6R050LGZhVTpZTnQsZmFTaGFyZTpzdixmYU1haWxGb3J3YXJkOktOdCxmYVBob25lRmxpcDp1aGUsZmFQaG9uZUFsdDpaTnQsZmFUb2lsZXRQb3J0YWJsZTpYTnQsZmFQZXJzb25QcmVnbmFudDpRTnQsZmFMZXNzVGhhbjpKTnQsZmFTdXBlcnNjcmlwdDplUnQsZmFDaXJjbGVTdG9wOnBoZSxmYVN0b3BDaXJjbGU6dFJ0LGZhQXJyb3dzVXBEb3duOmZoZSxmYUFycm93c1Y6YVJ0LGZhUG9vU3Rvcm06aGhlLGZhUG9vQm9sdDpyUnQsZmFWaWRlb1NsYXNoOnNSdCxmYVNxdWFyZVhtYXJrOk5lZSxmYVRpbWVzU3F1YXJlOmlSdCxmYVhtYXJrU3F1YXJlOm9SdCxmYUhhbmRIb2xkaW5nRHJvcGxldDptaGUsZmFIYW5kSG9sZGluZ1dhdGVyOm5SdCxmYVdvblNpZ246UmVlLGZhS3J3OmxSdCxmYVdvbjpjUnQsZmFPYmplY3RVbmdyb3VwOmRSdCxmYUNvbW1lbnQ6dVJ0LGZhSGlsbEF2YWxhbmNoZTpwUnQsZmFBcnJvd3NUb0V5ZTpmUnQsZmFTbm93cGxvdzpoUnQsZmFDaGFydEdhbnR0Om1SdCxmYVZpZGVvOmdoZSxmYVZpZGVvQ2FtZXJhOmdSdCxmYUNoZXNzUGF3bjpiUnQsZmFTeW5hZ29ndWU6dlJ0LGZhQnVpbGRpbmdDaXJjbGVDaGVjazp4UnQsZmFDYWxlbmRhclBsdXM6eVJ0LGZhV2hlZWxjaGFpck1vdmU6YmhlLGZhV2hlZWxjaGFpckFsdDp3UnQsZmFVc2VyU2hpZWxkOk1SdCxmYUJvbGQ6a1J0LGZhSGVhcnRQdWxzZTp2aGUsZmFIZWFydGJlYXQ6U1J0LGZhU3F1YXJlUm9vdFZhcmlhYmxlOnhoZSxmYVNxdWFyZVJvb3RBbHQ6elJ0LGZhSGFuZHNCdWJibGVzOnloZSxmYUhhbmRzV2FzaDpDUnQsZmFNYXJrZXI6X1J0LGZhQ2xpcGJvYXJkOlRSdCxmYVBsYWNlT2ZXb3JzaGlwOkxSdCxmYUNhbm5hYmlzOiRSdCxmYVBlb3BsZVJvb2Y6RFJ0LGZhRGlzZWFzZTpBUnQsZmFCb29rQmlibGU6d2hlLGZhQmlibGU6UFJ0LGZhQ2hlc3NCb2FyZDpFUnQsZmFNYXJzOklSdCxmYUxhcHRvcDpOUnQsZmFVc2VyWG1hcms6TWhlLGZhVXNlclRpbWVzOlJSdCxmYUZsYWdVc2E6T1J0LGZhSGFuZE1pZGRsZUZpbmdlcjpGUnQsZmFNb3J0YXJQZXN0bGU6QlJ0LGZhSGVhZFNpZGVDb3VnaDpIUnQsZmFQbGFuZUxvY2s6cVJ0LGZhQmF0dGVyeVRocmVlUXVhcnRlcnM6a2hlLGZhQmF0dGVyeTQ6VlJ0LGZhRnJhbmNTaWduOmpSdCxmYUZpbHRlckNpcmNsZURvbGxhcjpTaGUsZmFGdW5uZWxEb2xsYXI6VVJ0LGZhQ2hlZXNlOldSdCxmYUNpcmNsZUg6emhlLGZhSG9zcGl0YWxTeW1ib2w6R1J0LGZhU2Nob29sOllSdCxmYURpY2VGaXZlOktSdCxmYVRvcm5hZG86WlJ0LGZhSmV0RmlnaHRlcjpDaGUsZmFGaWdodGVySmV0OlhSdCxmYVRodW1ic0Rvd246UVJ0LGZhQnJvb206SlJ0LGZhRmlsZUltcG9ydDpfaGUsZmFBcnJvd1JpZ2h0VG9GaWxlOmVPdCxmYVV0ZW5zaWxzOlRoZSxmYUN1dGxlcnk6dE90LGZhSWRCYWRnZTphT3QsZmFTcGlkZXI6ck90LGZhTW9iaWxlUmV0cm86c090LGZhU2lnbnNQb3N0OkxoZSxmYU1hcFNpZ25zOmlPdCxmYUdyb3VwQXJyb3dzUm90YXRlOm9PdCxmYUFycm93c1NwbGl0VXBBbmRMZWZ0Om5PdCxmYUZpbGxEcmlwOmxPdCxmYVNoaWVsZEhlYXJ0OmNPdCxmYVBlcnNvblNraWluZ05vcmRpYzokaGUsZmFTa2lpbmdOb3JkaWM6ZE90LGZhU3F1YXJlQ2hlY2s6RGhlLGZhQ2hlY2tTcXVhcmU6dU90LGZhQmF0aDpBaGUsZmFCYXRodHViOnBPdCxmYUNoZXNzQmlzaG9wOmZPdCxmYVByZXNjcmlwdGlvbkJvdHRsZU1lZGljYWw6UGhlLGZhUHJlc2NyaXB0aW9uQm90dGxlQWx0OmhPdCxmYURyYXdQb2x5Z29uOkVoZSxmYVZlY3RvclBvbHlnb246bU90LGZhSUN1cnNvcjpnT3QsZmFIZWFydENpcmNsZVBsdXM6Yk90LGZhU2hpZWxkRG9nOnZPdCxmYUdyZWF0ZXJUaGFuRXF1YWw6eE90LGZhRW52ZWxvcGVPcGVuOnlPdCxmYU1vdW5kOndPdCxmYVZvaWNlbWFpbDpNT3QsZmFWZXN0OmtPdCxmYUF1ZGlvRGVzY3JpcHRpb246U090LGZhVzp6T3QsZmFFeWVEcm9wcGVyOk9lZSxmYUV5ZURyb3BwZXJFbXB0eTpDT3QsZmFFeWVkcm9wcGVyOl9PdCxmYUNpcmNsZVhtYXJrOlo4LGZhVGltZXNDaXJjbGU6VE90LGZhWG1hcmtDaXJjbGU6TE90LGZhVHJhaWxlcjokT3QsZmFUdXJraXNoTGlyYVNpZ246RmVlLGZhVHJ5OkRPdCxmYVR1cmtpc2hMaXJhOkFPdCxmYVZvbGNhbm86UE90LGZhV2FuZFNwYXJrbGVzOkVPdCxmYU1pY3JvcGhvbmU6SU90LGZhQ3Jvd246Tk90LGZhVGVudEFycm93VHVybkxlZnQ6Uk90LGZhVHJ1Y2tGYXN0OkloZSxmYVNoaXBwaW5nRmFzdDpPT3QsZmFVc2VyUGVuOk5oZSxmYVVzZXJFZGl0OkZPdCxmYVVzZXJDbG9jazpCT3QsZmFTaG93ZXI6SE90LGZhU3F1YXJlQ2FyZXRVcDpSaGUsZmFDYXJldFNxdWFyZVVwOnFPdCxmYU1hcExvY2F0aW9uOk9oZSxmYU1hcE1hcmtlZDpWT3QsZmFQZW5GYW5jeTpqT3QsZmFFdXJvU2lnbjpCZWUsZmFFdXI6VU90LGZhRXVybzpXT3QsZmFIb3VzZUNpcmNsZVhtYXJrOkdPdCxmYUxpcmFTaWduOllPdCxmYVllblNpZ246RzgsZmFDbnk6S090LGZhSnB5OlpPdCxmYVJtYjpYT3QsZmFZZW46UU90LGZhQm94T3BlbjpKT3QsZmFUcnVja0ZpZWxkOmVGdCxmYUxvY2F0aW9uUGluTG9jazp0RnQsZmFQZXJzb25QcmF5aW5nOkZoZSxmYVByYXk6YUZ0LGZhQ2xpcGJvYXJkTGlzdDpyRnQsZmFTYWNrRG9sbGFyOnNGdCxmYU1vdW50YWluU3VuOmlGdCxmYUFycm93VXBXaWRlU2hvcnQ6QmhlLGZhU29ydEFtb3VudFVwOm9GdCxmYVVzZXJzTGluZTpuRnQsZmFTdGFyT2ZEYXZpZDpsRnQsZmFOb3Rlc01lZGljYWw6Y0Z0LGZhQXVzdHJhbFNpZ246ZEZ0LGZhQ2xpcGJvYXJkVXNlcjp1RnQsZmFGaWxlSW1hZ2U6cEZ0LGZhU3F1YXJlQ2FyZXRSaWdodDpIaGUsZmFDYXJldFNxdWFyZVJpZ2h0OmZGdCxmYVZpYWw6aEZ0LGZhSGVsaWNvcHRlcjptRnQsZmFNaXR0ZW46Z0Z0LGZhR2FzUHVtcDpiRnQsZmFFbnZlbG9wZUNpcmNsZUNoZWNrOnZGdCxmYVBlcnNvblNrYXRpbmc6cWhlLGZhU2thdGluZzp4RnQsZmFTdW46THRlLGZhQmFzZWJhbGw6VmhlLGZhQmFzZWJhbGxCYWxsOnlGdCxmYUltYWdlOndGdCxmYU5vdGRlZjpNRnQsZmFCYXNrZXRiYWxsOmpoZSxmYUJhc2tldGJhbGxCYWxsOmtGdCxmYVBlbmNpbDpVaGUsZmFQZW5jaWxBbHQ6U0Z0LGZhUGVyc29uV2Fsa2luZ0Fycm93TG9vcExlZnQ6ekZ0LGZhRGljZVNpeDpDRnQsZmFBbmdsZXNEb3duOldoZSxmYUFuZ2xlRG91YmxlRG93bjpfRnQsZmFTeXJpbmdlOlRGdCxmYVdoZWF0QXduOkdoZSxmYVdoZWF0QWx0OkxGdCxmYVBsYW5lVXA6JEZ0LGZhQWxpZ25DZW50ZXI6REZ0LGZhSG9ja2V5UHVjazpBRnQsZmFDaXJjbGVBcnJvd0xlZnQ6WWhlLGZhQXJyb3dDaXJjbGVMZWZ0OlBGdCxmYVBsdWdDaXJjbGVCb2x0OkVGdCxmYVJlc3Ryb29tOklGdCxmYUFuY2hvckxvY2s6TkZ0LGZhVGltZWxpbmU6UkZ0LGZhTGlnaHRidWxiOk9GdCxmYUNpcmNsZUFycm93UmlnaHQ6S2hlLGZhQXJyb3dDaXJjbGVSaWdodDpGRnQsZmFNYXJzQW5kVmVudXM6QkZ0LGZhTmV0d29ya1dpcmVkOiR0ZSxmYUJ1aWxkaW5nU2hpZWxkOkhGdCxmYUNvZGU6cUZ0LGZhRmVhdGhlclBvaW50ZWQ6WmhlLGZhRmVhdGhlckFsdDpWRnQsZmFGaWxlQ2lyY2xlUXVlc3Rpb246akZ0LGZhU2lnbmF0dXJlOlVGdCxmYUVhcnRoQW1lcmljYXM6QmIsZmFFYXJ0aDpXRnQsZmFFYXJ0aEFtZXJpY2E6R0Z0LGZhR2xvYmVBbWVyaWNhczpZRnQsZmFDYXJyb3Q6S0Z0LGZhVGVtcGVyYXR1cmVGdWxsOkhiLGZhVGVtcGVyYXR1cmU0OlpGdCxmYVRoZXJtb21ldGVyNDpYRnQsZmFUaGVybW9tZXRlckZ1bGw6UUZ0LGZhVGFibGVDZWxsc1Jvd0xvY2s6SkZ0LGZhQm9sdExpZ2h0bmluZzplQnQsZmFDbG91ZFNob3dlcnNXYXRlcjp0QnQsZmFBcnJvd1VwTG9uZzpYaGUsZmFMb25nQXJyb3dVcDphQnQsZmFBZGRyZXNzQ2FyZDpIZWUsZmFDb250YWN0Q2FyZDpyQnQsZmFWY2FyZDpzQnQsZmFBbmdsZVJpZ2h0OmlCdCxmYUZhY2VNZWg6UWhlLGZhTWVoOm9CdCxmYUFycm93VXBGcm9tR3JvdW5kV2F0ZXI6bkJ0LGZhTWFwOmxCdCxmYVVzZXJQbHVzOmNCdCxmYVZlbnVzOmRCdCxmYURpYWdyYW1TdWNjZXNzb3I6dUJ0LGZhSGVhZFNpZGVDb3VnaFNsYXNoOnBCdCxmYURpYWdyYW1Qcm9qZWN0OkpoZSxmYVByb2plY3REaWFncmFtOmZCdCxmYVRlcm1pbmFsOkR0ZSxmYUhvdXNlRmlyZTpoQnQsZmFNYXNrOm1CdCxmYUh1cnJpY2FuZTpnQnQsZmFFYXJ0aEFmcmljYTplOGUsZmFHbG9iZUFmcmljYTpiQnQsZmFUaHVtYnRhY2s6dDhlLGZhVGh1bWJUYWNrOnZCdCxmYUhhbmRQb2ludERvd246eEJ0LGZhRmFjZU1laEJsYW5rOmE4ZSxmYU1laEJsYW5rOnlCdCxmYVRlbXBlcmF0dXJlRW1wdHk6cWIsZmFUZW1wZXJhdHVyZTA6d0J0LGZhVGhlcm1vbWV0ZXIwOk1CdCxmYVRoZXJtb21ldGVyRW1wdHk6a0J0LGZhQm9yZGVyTm9uZTpTQnQsZmFIaWdobGlnaHRlcjp6QnQsZmFNb25leUJpbGxXYXZlOkNCdCxmYVRvaWxldFBhcGVyU2xhc2g6X0J0LGZhRmlsZVNoaWVsZDpUQnQsZmFUZXh0SGVpZ2h0OkxCdCxmYUZhY2VHcmluVG9uZ3VlOnI4ZSxmYUdyaW5Ub25ndWU6JEJ0LGZhRmlsZVNpZ25hdHVyZTpEQnQsZmFCdWlsZGluZ1doZWF0OkFCdCxmYVBsdWdDaXJjbGVNaW51czpQQnQsZmFGdXRib2w6cWVlLGZhRnV0Ym9sQmFsbDpFQnQsZmFTb2NjZXJCYWxsOklCdCxmYUNpcmNsZVBsdXM6czhlLGZhUGx1c0NpcmNsZTpOQnQsZmFCcmF6aWxpYW5SZWFsU2lnbjpSQnQsZmFTdGFyQW5kQ3Jlc2NlbnQ6T0J0LGZhRmFjZVN1cnByaXNlOmk4ZSxmYVN1cnByaXNlOkZCdCxmYUhvc3BpdGFsVXNlcjpCQnQsZmFBcnJvd0Rvd25VcExvY2s6SEJ0LGZhRm9sZGVyOm84ZSxmYUZvbGRlckJsYW5rOnFCdCxmYUhvbGx5QmVycnk6VkJ0LGZhVmVudXNEb3VibGU6akJ0LGZhQ2xpcGJvYXJkUXVlc3Rpb246VUJ0LGZhSG90ZG9nOldCdCxmYUFycm93VXBGcm9tQnJhY2tldDpHQnQsZmFNaWNyb3Njb3BlOllCdCxmYUNsb3VkOktCdCxmYUJhc2ViYWxsQmF0QmFsbDpaQnQsZmFDYXJSZWFyOm44ZSxmYUNhckFsdDpYQnQsZmFUaHVtYnRhY2tTbGFzaDpsOGUsZmFUaHVtYlRhY2tTbGFzaDpRQnQsZmFQbHVzTWludXM6SkJ0LGZhSG91c2VDaXJjbGVDaGVjazplSHQsZmFDYWxlbmRhckRheTp0SHQsZmFMaWJyYTphSHQsZmFDaXJjbGU6ckh0LGZhTW9iaWxlVmlicmF0ZTpzSHQsZmFGYWNlR3JpblNxdWludDpjOGUsZmFHcmluU3F1aW50OmlIdCxmYVVzZXJzQmV0d2VlbkxpbmVzOm9IdCxmYUhvdXNlTWVkaWNhbENpcmNsZVhtYXJrOm5IdCxmYVRhYmxlTGlzdDpkOGUsZmFUaExpc3Q6bEh0LGZhRmxhc2tWaWFsOmNIdCxmYUNpcmNsZUV4Y2xhbWF0aW9uOnU4ZSxmYUV4Y2xhbWF0aW9uQ2lyY2xlOmRIdCxmYVRheGk6cDhlLGZhQ2FiOnVIdCxmYVRleHRTbGFzaDpmOGUsZmFSZW1vdmVGb3JtYXQ6cEh0LGZhUGVvcGxlUHVsbGluZzpmSHQsZmFCYWNrd2FyZDpoSHQsZmFDYXJCdXJzdDpoOGUsZmFDYXJDcmFzaDptSHQsZmFMaW5rOm04ZSxmYUNoYWluOmdIdCxmYUJhY2t3YXJkU3RlcDpnOGUsZmFTdGVwQmFja3dhcmQ6Ykh0LGZhWDp2SHQsZmFDaXJjbGVVc2VyOmI4ZSxmYVVzZXJDaXJjbGU6eEh0LGZhUmVjdGFuZ2xlTGlzdDp2OGUsZmFMaXN0QWx0OnlIdCxmYUhhbmQ6eDhlLGZhSGFuZFBhcGVyOndIdCxmYUNhbmNlcjpNSHQsZmFWYW5TaHV0dGxlOnk4ZSxmYVNodXR0bGVWYW46a0h0LGZhU3RhaXJzOlNIdCxmYUhvcnNlSGVhZDp6SHQsZmFWYXVsdDpDSHQsZmFDbG9zZWRDYXB0aW9uaW5nU2xhc2g6X0h0LGZhRHJ1bVN0ZWVscGFuOlRIdCxmYVRodW1ic1VwOkxIdCxmYVN0YW1wOiRIdCxmYU1lbm9yYWg6REh0LGZhQ2hpbGRyZW46QUh0LGZhQ2hhcnRMaW5lOnc4ZSxmYUxpbmVDaGFydDpQSHQsZmFTcXVhcmVFbnZlbG9wZTpNOGUsZmFFbnZlbG9wZVNxdWFyZTpFSHQsZmFCYW5TbW9raW5nOms4ZSxmYVNtb2tpbmdCYW46SUh0LGZhVHJ1Y2tGcm9udDpOSHQsZmFCdWlsZGluZzpBdGUsZmFCdWxsc2V5ZTpSSHQsZmFBcnJvd0xlZnRMb25nOlM4ZSxmYUxvbmdBcnJvd0xlZnQ6T0h0LGZhQ2hlc3NSb29rOkZIdCxmYUJsZW5kZXJQaG9uZTpCSHQsZmFBcnJvd1R1cm5VcDp6OGUsZmFMZXZlbFVwOkhIdCxmYUJpY3ljbGU6cUh0LGZhQ2lyY2xlQXJyb3dEb3duOkM4ZSxmYUFycm93Q2lyY2xlRG93bjpWSHQsZmFHZWFyOml2LGZhQ29nOmpIdCxmYU1hcnNBbmRWZW51c0J1cnN0OlVIdCxmYU90dGVyOldIdCxmYUNpcmNsZUNoZXZyb25MZWZ0Ol84ZSxmYUNoZXZyb25DaXJjbGVMZWZ0OkdIdCxmYUNpcmNsZVF1ZXN0aW9uOlQ4ZSxmYVF1ZXN0aW9uQ2lyY2xlOllIdCxmYVdhbGtpZVRhbGtpZTpLSHQsZmFVc2VyR3JvdXA6TDhlLGZhVXNlckZyaWVuZHM6Wkh0LGZhSG91c2VDaGltbmV5OiQ4ZSxmYUhvbWVMZzpYSHQsZmFSaWdodEZyb21CcmFja2V0OkQ4ZSxmYVNpZ25PdXRBbHQ6UUh0LGZhRmlsZTpKSHQsZmFQbGFuZVNsYXNoOmVxdCxmYUNsb3VkU2hvd2Vyc0hlYXZ5OnRxdCxmYVBlcnNvbkZhbGxpbmc6YXF0LGZhVHVybkRvd246QThlLGZhTGV2ZWxEb3duQWx0OnJxdCxmYVVwUmlnaHRBbmREb3duTGVmdEZyb21DZW50ZXI6UDhlLGZhRXhwYW5kQWx0OnNxdCxmYVVzZXJUYWc6aXF0LGZhSGFuZFNwYXJrbGVzOm9xdCxmYUFycm93c1RvRG90Om5xdCxmYUZhY2VTYWRDcnk6RThlLGZhU2FkQ3J5OmxxdCxmYURvbmdTaWduOmNxdCxmYVBlb3BsZUxpbmU6ZHF0LGZhU3F1YXJlUnNzOkk4ZSxmYVJzc1NxdWFyZTp1cXQsZmFDYWxlbmRhck1pbnVzOnBxdCxmYUNoYXJ0RGlhZ3JhbTpmcXQsZmFGYWNlVGlyZWQ6TjhlLGZhVGlyZWQ6aHF0LGZhSGFuZFBvaW50UmlnaHQ6bXF0LGZhQXJyb3dVcDpncXQsZmFDdWJlc1N0YWNrZWQ6YnF0LGZhQ2hpbGRDb21iYXRhbnQ6UjhlLGZhQ2hpbGRSaWZsZTp2cXQsZmFWZXN0UGF0Y2hlczp4cXQsZmFNYXJ0aW5pR2xhc3NFbXB0eTpPOGUsZmFHbGFzc01hcnRpbmk6eXF0LGZhTWFnbmV0OndxdCxmYVJvYWRCYXJyaWVyOk1xdCxmYUNvbXBhc3NEcmFmdGluZzpGOGUsZmFEcmFmdGluZ0NvbXBhc3M6a3F0LGZhU3F1YXJlUGVyc29uQ29uZmluZWQ6U3F0LGZhUGxhdGVXaGVhdDp6cXQsZmFTaWduSGFuZ2luZzpCOGUsZmFTaWduOkNxdCxmYUNhckJhdHRlcnk6SDhlLGZhQmF0dGVyeUNhcjpfcXQsZmFTaGlydDpWZWUsZmFUU2hpcnQ6VHF0LGZhVHNoaXJ0OkxxdCxmYVBhcmFncmFwaDokcXQsZmFFbnZlbG9wZXNCdWxrOnE4ZSxmYU1haWxCdWxrOkRxdCxmYUd1aXRhcjpBcXQsZmFTdWl0Y2FzZTpQcXQsZmFDaXJjbGVVcDpWOGUsZmFBcnJvd0FsdENpcmNsZVVwOkVxdCxmYUY6SXF0LGZhWG1hcmtzTGluZXM6TnF0LGZhRWFydGhPY2VhbmlhOmo4ZSxmYUdsb2JlT2NlYW5pYTpScXQsZmFDb21tZW50U2xhc2g6T3F0LGZhUGxheTpGcXQsZmFWaWFsQ2lyY2xlQ2hlY2s6QnF0LGZhQnJpZGdlQ2lyY2xlQ2hlY2s6SHF0LGZhQ2VkaVNpZ246cXF0LGZhUHV6emxlUGllY2U6VnF0LGZhSGVsbWV0VW46anF0LGZhR2xhc3NXYXRlcjpVcXQsZmFIZWFydENpcmNsZUJvbHQ6V3F0LGZhUHVtcFNvYXA6R3F0LGZhSGFuZFNjaXNzb3JzOllxdCxmYURvbGx5OlU4ZSxmYURvbGx5Qm94OktxdCxmYVBhcGVyY2xpcDpQdGUsZmFEZW1vY3JhdDpacXQsZmFTcXVhcmVBcnJvd1VwUmlnaHQ6VzhlLGZhRXh0ZXJuYWxMaW5rU3F1YXJlOlhxdCxmYUZlcnJ5OlFxdCxmYU1vc3F1aXRvOkpxdCxmYUJ1aWxkaW5nQ2lyY2xlQXJyb3dSaWdodDplVnQsZmFMZWZ0UmlnaHQ6RzhlLGZhQXJyb3dzQWx0SDp0VnQsZmFWaXJ1czphVnQsZmFHZW06clZ0LGZhVG9pbGV0OnNWdCxmYVNpbmdsZVF1b3RlTGVmdDppVnQsZmFNb25leUJpbGxzOm9WdCxmYVRhYmxldEJ1dHRvbjpuVnQsZmFSZWN0YW5nbGVYbWFyazpWYixmYVJlY3RhbmdsZVRpbWVzOmxWdCxmYVRpbWVzUmVjdGFuZ2xlOmNWdCxmYVdpbmRvd0Nsb3NlOmRWdCxmYVdyZW5jaDp1VnQsZmFUcmFzaENhbjpvdixmYVRyYXNoQWx0OnBWdCxmYVRhYmxlQ2VsbHM6WThlLGZhVGg6ZlZ0LGZhUmliYm9uOmhWdCxmYUxhbmRtYXJrRmxhZzptVnQsZmFVcERvd25MZWZ0UmlnaHQ6SzhlLGZhQXJyb3dzQWx0OmdWdCxmYUNhclNpZGU6YlZ0LGZhVHJhc2hBcnJvd1VwOlo4ZSxmYVRyYXNoUmVzdG9yZTp2VnQsZmFMaWZlUmluZzp4VnQsZmFDb3B5cmlnaHQ6eVZ0LGZhRmlsZVByZXNjcmlwdGlvbjp3VnQsZmFFcmFzZXI6TVZ0LGZhSG91cmdsYXNzU3RhcnQ6WDhlLGZhSG91cmdsYXNzMTprVnQsZmFDaXJjbGVMZWZ0OlE4ZSxmYUFycm93QWx0Q2lyY2xlTGVmdDpTVnQsZmFDcnV6ZWlyb1NpZ246elZ0LGZhU21va2luZzpDVnQsZmFTcXVhcmVQb2xsVmVydGljYWw6SjhlLGZhUG9sbDpfVnQsZmFQZXJzb25DaXJjbGVNaW51czpUVnQsZmFCaW9oYXphcmQ6TFZ0LGZhQmVsbENvbmNpZXJnZTplbWUsZmFDb25jaWVyZ2VCZWxsOiRWdCxmYVJ1bGVySG9yaXpvbnRhbDpEVnQsZmFIb3JzZTpBVnQsZmFDYWxlbmRhcjpQVnQsZmFIYW5kc0hvbGRpbmdDaGlsZDpFVnQsZmFJdGFsaWM6SVZ0LGZhS2hhbmRhOk5WdCxmYUZhY2VGcm93bk9wZW46dG1lLGZhRnJvd25PcGVuOlJWdCxmYUNoZWNrOkV0ZSxmYUZpbmdlcnByaW50Ok9WdCxmYUNoYXJnaW5nU3RhdGlvbjpGVnQsZmFVc2VyTG9jazpCVnQsZmFNb2JpbGVTY3JlZW5CdXR0b246YW1lLGZhTW9iaWxlQWx0OkhWdCxmYUFuY2hvckNpcmNsZUNoZWNrOnFWdCxmYVBlcnNvbldhbGtpbmdXaXRoQ2FuZTpybWUsZmFCbGluZDpWVnQsZmFGaWxlV2F2ZWZvcm06c21lLGZhRmlsZU1lZGljYWxBbHQ6alZ0LGZhSG91c2VDcmFjazpVVnQsZmFIYXRXaXphcmQ6V1Z0LGZhVXNlckRvY3RvcjppbWUsZmFVc2VyTWQ6R1Z0LGZhQ2hhcnRCYXI6b21lLGZhQmFyQ2hhcnQ6WVZ0LGZhU3ByYXlDYW5TcGFya2xlczpubWUsZmFBaXJGcmVzaGVuZXI6S1Z0LGZhQmFodFNpZ246WlZ0LGZhVGVtcGVyYXR1cmVBcnJvd1VwOmxtZSxmYVRlbXBlcmF0dXJlVXA6WFZ0LGZhV2ViQXdlc29tZTpRVnQsZmFOb25CaW5hcnk6SlZ0LGZhTjplanQsZmFBcnJvd3NVcERvd25MZWZ0UmlnaHQ6Y21lLGZhQXJyb3dzOnRqdCxmYUhvdXNlOmpiLGZhSG9tZTphanQsZmFIb21lQWx0OnJqdCxmYUhvbWVMZ0FsdDpzanQsZmFTcGlubmVyOmlqdCxmYUdhdmVsOmRtZSxmYUxlZ2FsOm9qdCxmYVRpY2tldFNpbXBsZTp1bWUsZmFUaWNrZXRBbHQ6bmp0LGZhRG92ZTpsanQsZmFUYXJwRHJvcGxldDpjanQsZmFUcmVlQ2l0eTpkanQsZmFUdXJuVXA6cG1lLGZhTGV2ZWxVcEFsdDp1anQsZmFUZW1wZXJhdHVyZVF1YXJ0ZXI6VWIsZmFUZW1wZXJhdHVyZTE6cGp0LGZhVGhlcm1vbWV0ZXIxOmZqdCxmYVRoZXJtb21ldGVyUXVhcnRlcjpoanQsZmFTbGlkZXJzOmZtZSxmYVNsaWRlcnNIOm1qdCxmYU1vc3F1ZTpnanQsZmFIOmJqdCxmYUluZm86dmp0LGZhUGVyc29uV2Fsa2luZzpobWUsZmFXYWxraW5nOnhqdCxmYUFycm93VHVybkRvd246bW1lLGZhTGV2ZWxEb3duOnlqdCxmYVJvYWQ6d2p0LGZhU3BpcmFsOk1qdCxmYUZhY2VGcm93bjpnbWUsZmFGcm93bjpranQsZmFXaW5lR2xhc3NFbXB0eTpibWUsZmFXaW5lR2xhc3NBbHQ6U2p0LGZhQ2xhcHBlcmJvYXJkOnpqdCxmYUZvcndhcmRTdGVwOnZtZSxmYVN0ZXBGb3J3YXJkOkNqdCxmYVNxdWFyZVVwUmlnaHQ6eG1lLGZhRXh0ZXJuYWxMaW5rU3F1YXJlQWx0Ol9qdCxmYUJvb2tKb3VybmFsV2hpbGxzOnltZSxmYUpvdXJuYWxXaGlsbHM6VGp0LGZhQ2hhbXBhZ25lR2xhc3Nlczp3bWUsZmFHbGFzc0NoZWVyczpManQsZmFEdW1wc3RlcjokanQsZmFIZWFydENpcmNsZVhtYXJrOkRqdCxmYUNvbXB1dGVyOkFqdCxmYVdhbmRNYWdpYzpNbWUsZmFNYWdpYzpQanQsZmFCcmFpbjpFanQsZmFCcmllZmNhc2VNZWRpY2FsOklqdCxmYUhvdXNlTWVkaWNhbENpcmNsZUV4Y2xhbWF0aW9uOk5qdCxmYUNvZGVDb21taXQ6Ump0LGZhUGVyc29uQnJlYXN0ZmVlZGluZzpPanQsZmFQZXJzb25SYXlzOkZqdCxmYU1hbmF0U2lnbjpCanQsZmFTb3J0OmttZSxmYVVuc29ydGVkOkhqdCxmYUNpcmNsZVJhZGlhdGlvbjpTbWUsZmFSYWRpYXRpb25BbHQ6cWp0LGZhTGFwdG9wQ29kZTpWanQsZmFTaW5rOmpqdCxmYUFycm93VXBGcm9tV2F0ZXJQdW1wOlVqdCxmYU1pY3JvcGhvbmVMaW5lc1NsYXNoOnptZSxmYU1pY3JvcGhvbmVBbHRTbGFzaDpXanQsZmFTZXJ2ZXI6R2p0LGZhVXNlcjpqZWUsZmFVc2VyQWx0OllqdCxmYVVzZXJMYXJnZTpLanQsZmFTbm93Zmxha2U6Wmp0LGZhVGF1cnVzOlhqdCxmYVNrdWxsQ3Jvc3Nib25lczpRanQsZmFQZXNvU2lnbjpKanQsZmFXaW5lR2xhc3M6ZVV0LGZhVGVtcGVyYXR1cmVIYWxmOldiLGZhVGVtcGVyYXR1cmUyOnRVdCxmYVRoZXJtb21ldGVyMjphVXQsZmFUaGVybW9tZXRlckhhbGY6clV0LGZhVGlja2V0OnNVdCxmYVdoZWF0QXduQ2lyY2xlRXhjbGFtYXRpb246aVV0LGZhQXJyb3dzVHVyblJpZ2h0Om9VdCxmYUNhbmR5Q2FuZTpuVXQsZmFXaGVlbGNoYWlyOmxVdCxmYVNwZWxsQ2hlY2s6Y1V0LGZhVm9sdW1lT2ZmOmRVdCxmYUx1bmdzOnVVdCxmYUJvb2ttYXJrOnBVdCxmYUJhcmNvZGU6ZlV0LGZhTGlzdE9sOlVlZSxmYUxpc3QxMjpoVXQsZmFMaXN0TnVtZXJpYzptVXQsZmFGaWxlQ2lyY2xlWG1hcms6Z1V0LGZhQ3ViZTpiVXQsZmFUYXBlOnZVdCxmYUJvbWI6eFV0LGZhU2NhbGVVbmJhbGFuY2VkOkNtZSxmYUJhbGFuY2VTY2FsZUxlZnQ6eVV0LGZhU3F1YXJlQ2FyZXRMZWZ0Ol9tZSxmYUNhcmV0U3F1YXJlTGVmdDp3VXQsZmFSdWxlcjpNVXQsZmFJOmtVdCxmYVZvbHVtZVhtYXJrOldlZSxmYVZvbHVtZU11dGU6U1V0LGZhVm9sdW1lVGltZXM6elV0LGZhQXJjaHdheTpDVXQsZmFQZXJzb25EaWdnaW5nOlRtZSxmYURpZ2dpbmc6X1V0LGZhR2F1Z2VIaWdoOkdlZSxmYVRhY2hvbWV0ZXJBbHQ6VFV0LGZhVGFjaG9tZXRlckFsdEZhc3Q6TFV0LGZhR2VuZGVybGVzczokVXQsZmFDbG91ZFN1bjpEVXQsZmFBcnJvd1JpZ2h0Okl0ZSxmYUhhbmRzaGFrZTpZZWUsZmFIYW5kc2hha2VBbHQ6QVV0LGZhSGFuZHNoYWtlU2ltcGxlOlBVdCxmYVBlcnNvblNraWluZzpMbWUsZmFTa2lpbmc6RVV0LGZhQnJpZGdlV2F0ZXI6SVV0LGZhQnVpbGRpbmdOZ286TlV0LGZhSWdsb286UlV0LGZhQ2lyY2xlRG9sbGFyVG9TbG90OiRtZSxmYURvbmF0ZTpPVXQsZmFZOkZVdCxmYUZhY2VTbWlsZVdpbms6RG1lLGZhU21pbGVXaW5rOkJVdCxmYURpY2VGb3VyOkhVdCxmYUZhY2VHcmluU3F1aW50VGVhcnM6QW1lLGZhR3JpblNxdWludFRlYXJzOnFVdCxmYUZpbGVBdWRpbzpWVXQsZmFBcnJvd3NEb3duVG9MaW5lOmpVdCxmYUc6VVV0LGZhVmloYXJhOldVdCxmYUZsYWdDaGVja2VyZWQ6R1V0LGZhR2F1Z2VTaW1wbGU6S2VlLGZhR2F1Z2VTaW1wbGVNZWQ6WVV0LGZhVGFjaG9tZXRlckF2ZXJhZ2U6S1V0LGZhUmlnaHRMZWZ0OlBtZSxmYUV4Y2hhbmdlQWx0OlpVdCxmYVBpbGxzOlhVdCxmYUV4cGxvc2lvbjpRVXQsZmFBcnJvd3NEb3duVG9QZW9wbGU6SlV0LGZhVXNlcnNWaWV3ZmluZGVyOmVXdCxmYUNhck9uOnRXdCxmYVNsZWlnaDphV3QsZmFEdW1iYmVsbDpyV3QsZmFCYWJ5Q2FycmlhZ2U6RW1lLGZhQ2FycmlhZ2VCYWJ5OnNXdCxmYUtpd2lCaXJkOmlXdCxmYUNhbGVuZGFyWG1hcms6SW1lLGZhQ2FsZW5kYXJUaW1lczpvV3QsZmFDaXJjbGVEb3duOk5tZSxmYUFycm93QWx0Q2lyY2xlRG93bjpuV3QsZmFGaWxlTWVkaWNhbDpsV3QsZmFYbWFyazp0NCxmYUNsb3NlOmNXdCxmYU11bHRpcGx5OmRXdCxmYVJlbW92ZTp1V3QsZmFUaW1lczpwV3QsZmFTaGFwZXM6Um1lLGZhVHJpYW5nbGVDaXJjbGVTcXVhcmU6Zld0LGZhRGljZU9uZTpoV3QsZmFMb2NrT3BlbjptV3QsZmFQZXBwZXJIb3Q6Z1d0LGZhRHJvcGxldFNsYXNoOk9tZSxmYVRpbnRTbGFzaDpiV3QsZmFEcm9wbGV0OkZtZSxmYVRpbnQ6dld0LGZhRmlsZUxpbmVzOlplZSxmYUZpbGVBbHQ6eFd0LGZhRmlsZVRleHQ6eVd0LGZhQ29tbWVudHNEb2xsYXI6d1d0LGZhTWFnbmlmeWluZ0dsYXNzTG9jYXRpb246Qm1lLGZhU2VhcmNoTG9jYXRpb246TVd0LGZhRmlsZUludm9pY2U6TnRlLGZhUGVudGFnb246a1d0LGZhUmVwdWJsaWNhbjpTV3QsZmFTaG9wOkhtZSxmYVN0b3JlQWx0OnpXdCxmYUZpbG06WGVlLGZhRmlsbUFsdDpDV3QsZmFGaWxtU2ltcGxlOl9XdCxmYUJ1aWxkaW5nQ2lyY2xlWG1hcms6VFd0LGZhQ29tbWVudHM6TFd0LGZhVGFnczokV3QsZmFHdW46RFd0LGZhQ2lyY2xlQ2hlY2s6bnYsZmFDaGVja0NpcmNsZTpBV3QsZmFTY29ycGlvOlBXdCxmYUlkQ2FyZENsaXA6cW1lLGZhSWRDYXJkQWx0OkVXdCxmYU1vb246SVd0LGZhT2lsV2VsbDpOV3QsZmFUYWNob2dyYXBoRGlnaXRhbDpWbWUsZmFEaWdpdGFsVGFjaG9ncmFwaDpSV3QsZmFUYWJsZXQ6am1lLGZhVGFibGV0QW5kcm9pZDpPV3QsZmFSdWJsZVNpZ246R2IsZmFSb3VibGU6Rld0LGZhUnViOkJXdCxmYVJ1YmxlOkhXdCxmYUNsb3NlZENhcHRpb25pbmc6cVd0LGZhUGVuOlZXdCxmYVBsYW5lOmpXdCxmYUltYWdlczpVV3QsZmFNb2JpbGVTY3JlZW46VW1lLGZhTW9iaWxlQW5kcm9pZEFsdDpXV3QsZmFHdWFyYW5pU2lnbjpHV3QsZmFCYWdTaG9wcGluZzpXbWUsZmFTaG9wcGluZ0JhZzpZV3QsZmFDaXJjbGVSaWdodDpHbWUsZmFBcnJvd0FsdENpcmNsZVJpZ2h0OktXdCxmYVBob25lVm9sdW1lOlltZSxmYVZvbHVtZUNvbnRyb2xQaG9uZTpaV3QsZmFDdWJlczpYV3QsZmFQaG9uZTpRV3QsZmFUb3JpaUdhdGU6Sld0LGZhQmFjb246ZUd0LGZhUGVyc29uRmFsbGluZ0J1cnN0OnRHdCxmYVF1b3RlUmlnaHQ6S21lLGZhUXVvdGVSaWdodEFsdDphR3QsZmFIb3VzZU1lZGljYWxGbGFnOnJHdCxmYVByZXNjcmlwdGlvbjpzR3QsZmFEaWNlVGhyZWU6aUd0LGZhQnVpbGRpbmdMb2NrOm9HdCxmYUlkQ2FyZDpabWUsZmFEcml2ZXJzTGljZW5zZTpuR3QsZmFDaXJjbGVQbGF5OlhtZSxmYVBsYXlDaXJjbGU6bEd0LGZhRmFjZUxhdWdoQmVhbTpRbWUsZmFMYXVnaEJlYW06Y0d0LGZhTGVhZjpkR3QsZmFIb3VzZUNoaW1uZXlVc2VyOnVHdCxmYVJvdGF0ZVJpZ2h0OlFlZSxmYVJlZG9BbHQ6cEd0LGZhUm90YXRlRm9yd2FyZDpmR3QsZmFUb290aDpoR3QsZmFIb3VzZUNoaW1uZXlXaW5kb3c6bUd0LGZhTW90b3JjeWNsZTpnR3QsZmFCYWNrd2FyZEZhc3Q6Sm1lLGZhRmFzdEJhY2t3YXJkOmJHdCxmYUFkZHJlc3NCb29rOmU3ZSxmYUNvbnRhY3RCb29rOnZHdCxmYVNhaWxib2F0OnhHdCxmYUJvb2tCb29rbWFyazp5R3QsZmFNYWduaWZ5aW5nR2xhc3NBcnJvd1JpZ2h0OndHdCxmYU1pY3JvcGhvbmVMaW5lczp0N2UsZmFNaWNyb3Bob25lQWx0Ok1HdCxmYVJlcGx5QWxsOmE3ZSxmYU1haWxSZXBseUFsbDprR3QsZmFVbml2ZXJzYWxBY2Nlc3M6U0d0LGZhVG9pbGV0UGFwZXI6SmVlLGZhVG9pbGV0UGFwZXJBbHQ6ekd0LGZhVG9pbGV0UGFwZXJCbGFuazpDR3QsZmFWckNhcmRib2FyZDpfR3QsZmFQaXp6YVNsaWNlOlRHdCxmYVNwcmF5Q2FuOkxHdCxmYVZvbHVtZUxvdzpyN2UsZmFWb2x1bWVEb3duOiRHdCxmYUNyb3NzOkRHdCxmYVBlcnNvbjpzN2UsZmFNYWxlOkFHdCxmYUhvdXJnbGFzczppN2UsZmFIb3VyZ2xhc3NFbXB0eTpQR3QsZmFGaXNoOkVHdCxmYURydW1zdGlja0JpdGU6SUd0LGZhQ2hhcnRTaW1wbGU6Tkd0LGZhQXRvbTpSR3QsZmFQOk9HdCxmYUpldEZpZ2h0ZXJVcDpGR3QsZmFQbHVnQ2lyY2xlWG1hcms6Qkd0LGZhU2hlZXRQbGFzdGljOkhHdCxmYVY6cUd0LGZhTGlzdDpvN2UsZmFMaXN0U3F1YXJlczpWR3QsZmFQaXNjZXM6akd0LGZhU29sYXJQYW5lbDpVR3QsZmFMYW5kTWluZU9uOldHdCxmYUhlYWRwaG9uZXM6ZXRlLGZhSGVhZHBob25lc0FsdDpHR3QsZmFIZWFkcGhvbmVzU2ltcGxlOllHdCxmYUJ1czpLR3QsZmFGaWxlUG93ZXJwb2ludDpaR3QsZmFRdW90ZUxlZnQ6bjdlLGZhUXVvdGVMZWZ0QWx0OlhHdCxmYUNoZXZyb25Eb3duOlFHdCxmYUVhcnRoQXNpYTpsN2UsZmFHbG9iZUFzaWE6Skd0LGZhQ2VudFNpZ246ZVl0LGZhU2hpZWxkQ2F0OnRZdCxmYVNjaG9vbENpcmNsZUNoZWNrOmFZdCxmYU1hcnRpbmlHbGFzczpjN2UsZmFHbGFzc01hcnRpbmlBbHQ6cll0LGZhUGx1ZzpzWXQsZmFQYW5vcmFtYTppWXQsZmFDbG9ja1JvdGF0ZUxlZnQ6bHYsZmFIaXN0b3J5Om9ZdCxmYUphcldoZWF0Om5ZdCxmYUNsb3VkQXJyb3dEb3duOnR0ZSxmYUNsb3VkRG93bmxvYWQ6bFl0LGZhQ2xvdWREb3dubG9hZEFsdDpjWXQsZmFUcnVja1JhbXBCb3g6ZDdlLGZhVHJ1Y2tMb2FkaW5nOmRZdCxmYUFuZ2xlRG93bjp1WXQsZmFQbHVnQ2lyY2xlQ2hlY2s6cFl0LGZhV2luZG93TWF4aW1pemU6Zll0LGZhSGFuZHNIb2xkaW5nQ2lyY2xlOmhZdCxmYUxvY2F0aW9uUGluOnU3ZSxmYU1hcE1hcmtlcjptWXQsZmFCb3dsaW5nQmFsbDpnWXQsZmFDYXJ0RmxhdGJlZDpwN2UsZmFEb2xseUZsYXRiZWQ6Yll0LGZhSG91c2VVc2VyOmY3ZSxmYUhvbWVVc2VyOnZZdCxmYUdob3N0OnhZdCxmYUNvbW1lbnROb2Rlczp5WXQsZmFQZXJzb25BcnJvd0Rvd25Ub0xpbmU6d1l0LGZhUGx1Z0NpcmNsZVBsdXM6TVl0LGZhUGVyc29uU3dpbW1pbmc6aDdlLGZhU3dpbW1lcjprWXQsZmFDb21tZW50RG90czptN2UsZmFDb21tZW50aW5nOlNZdCxmYUNoYXJ0UGllOmc3ZSxmYVBpZUNoYXJ0OnpZdCxmYUZyb2c6Q1l0LGZhV2luZUJvdHRsZTpfWXQsZmFJbmJveDpUWXQsZmFTcXVhcmVIOmI3ZSxmYUhTcXVhcmU6TFl0LGZhSG91c2VNZWRpY2FsOiRZdCxmYUNpcmNsZUNoZXZyb25SaWdodDp2N2UsZmFDaGV2cm9uQ2lyY2xlUmlnaHQ6RFl0LGZhRmlsZUNzdjpBWXQsZmFIYXRDb3dib3k6UFl0LGZhRmFjZUdyaW5Ub25ndWVXaW5rOng3ZSxmYUdyaW5Ub25ndWVXaW5rOkVZdCxmYUw6SVl0LGZhQXJyb3dEb3duU2hvcnRXaWRlOmF0ZSxmYVNvcnRBbW91bnREZXNjOk5ZdCxmYVNvcnRBbW91bnREb3duQWx0OlJZdCxmYUhvdXJnbGFzc0hhbGY6eTdlLGZhSG91cmdsYXNzMjpPWXQsZmFTcG9vbjp3N2UsZmFVdGVuc2lsU3Bvb246Rll0LGZhQ3JlZGl0Q2FyZDpNN2UsZmFDcmVkaXRDYXJkQWx0OkJZdCxmYUZpbGVJbnZvaWNlRG9sbGFyOlJ0ZSxmYVNwYWdoZXR0aU1vbnN0ZXJGbHlpbmc6azdlLGZhUGFzdGFmYXJpYW5pc206SFl0LGZhTWFydGluaUdsYXNzQ2l0cnVzOlM3ZSxmYUNvY2t0YWlsOnFZdCxmYUJ1bGxob3JuOlZZdCxmYUJveFRpc3N1ZTpqWXQsZmFNYXR0cmVzc1BpbGxvdzpVWXQsZmFDaGV2cm9uTGVmdDpXWXQsZmFDbG91ZE1vb25SYWluOkdZdCxmYUFycm93RG93bjE5OnJ0ZSxmYVNvcnROdW1lcmljQXNjOllZdCxmYVNvcnROdW1lcmljRG93bjpLWXQsZmFIYW5kU3BvY2s6Wll0LGZhV2FuZE1hZ2ljU3BhcmtsZXM6ejdlLGZhTWFnaWNXYW5kU3BhcmtsZXM6WFl0LGZhQ29tbWVudE1lZGljYWw6UVl0LGZhQmVsbFNsYXNoOkpZdCxmYUhhbmRzaGFrZVNsYXNoOnN0ZSxmYUhhbmRzaGFrZUFsdFNsYXNoOmVLdCxmYUhhbmRzaGFrZVNpbXBsZVNsYXNoOnRLdCxmYUJvdHRsZVdhdGVyOmFLdCxmYURpY2VEMjA6ckt0LGZhQXJyb3dEb3duWkE6aXRlLGZhU29ydEFscGhhRGVzYzpzS3QsZmFTb3J0QWxwaGFEb3duQWx0OmlLdCxmYUJydXNoOm9LdCxmYVBlcnNvbldhbGtpbmdEYXNoZWRMaW5lQXJyb3dSaWdodDpuS3QsZmFBcnJvd1VwU2hvcnRXaWRlOkM3ZSxmYVNvcnRBbW91bnRVcEFsdDpsS3QsZmFHcmlwVmVydGljYWw6XzdlLGZhR3JpZFZlcnRpY2FsOmNLdCxmYUNhclR1bm5lbDpkS3QsZmFDaGFydENvbHVtbjp1S3QsZmFDYXByaWNvcm46cEt0LGZhVHJ1Y2tBcnJvd1JpZ2h0OmZLdCxmYVR2Om90ZSxmYVRlbGV2aXNpb246aEt0LGZhVHZBbHQ6bUt0LGZhU2VjdGlvbjpnS3QsZmFQZWFjZTpiS3QsZmFTdGFyOnZLdCxmYUZsYWc6eEt0LGZhVHJpYW5nbGVFeGNsYW1hdGlvbjpudGUsZmFFeGNsYW1hdGlvblRyaWFuZ2xlOnlLdCxmYVdhcm5pbmc6d0t0LGZhU2Nob29sQ2lyY2xlRXhjbGFtYXRpb246TUt0LGZhR3JhZHVhdGlvbkNhcDpUN2UsZmFNb3J0YXJCb2FyZDprS3QsZmFTdG9yZTpTS3QsZmFVc2VyQXN0cm9uYXV0OnpLdCxmYUJ1aWxkaW5nRmxhZzpDS3QsZmFNdWdTYXVjZXI6TDdlLGZhQ29mZmVlOl9LdCxmYUxlbW9uOlRLdCxmYUNhcmF2YW46TEt0LGZhUTokS3QsZmFMb2NrOkRLdCxmYVBhaW50Um9sbGVyOkFLdCxmYVZvbHVtZUhpZ2g6JDdlLGZhVm9sdW1lVXA6UEt0LGZhRm9sZGVyUGx1czpFS3QsZmFNZXJjdXJ5OklLdCxmYUFuY2hvcjpOS3QsZmFTcXVhcmVQYXJraW5nOkQ3ZSxmYVBhcmtpbmc6Ukt0LGZhSGFudWtpYWg6T0t0LGZhUm90YXRlTGVmdDpZYixmYVJvdGF0ZUJhY2s6Rkt0LGZhUm90YXRlQmFja3dhcmQ6Qkt0LGZhVW5kb0FsdDpIS3QsZmFIZWFkaW5nOkE3ZSxmYUhlYWRlcjpxS3QsZmFDcm9zc2hhaXJzOlZLdCxmYUNpcmNsZU5vZGVzOmpLdCxmYVdpbmRvd1Jlc3RvcmU6VUt0LGZhUjpXS3QsZmFGaWx0ZXJDaXJjbGVYbWFyazpHS3QsZmFHb3B1cmFtOllLdCxmYUhlYXJ0Q2lyY2xlTWludXM6S0t0LGZhU3Rhck9mTGlmZTpaS3QsZmFCdXNpbmVzc1RpbWU6UDdlLGZhQnJpZWZjYXNlQ2xvY2s6WEt0LGZhRmlyZUV4dGluZ3Vpc2hlcjpRS3QsZmFBcnJvd0Rvd25Mb25nOkU3ZSxmYUxvbmdBcnJvd0Rvd246Skt0LGZhVXNlck1pbnVzOmVadCxmYU1vbmV5Q2hlY2s6dFp0LGZhSG91c2VMYXB0b3A6STdlLGZhTGFwdG9wSG91c2U6YVp0LGZhRG93bmxvYWQ6clp0LGZhU2FnaXR0YXJpdXM6c1p0LGZhQ291Y2g6aVp0LGZhUm9hZExvY2s6b1p0LGZhU2Npc3NvcnM6TjdlLGZhQ3V0Om5adCxmYUJ1ZzpPdGUsZmFBcnJvd1JpZ2h0RnJvbUJyYWNrZXQ6UjdlLGZhU2lnbk91dDpsWnQsZmFIYW5kSG9sZGluZ0hhbmQ6Y1p0LGZhU3Ryb29wd2FmZWw6ZFp0LGZhQ2hpbGQ6dVp0LGZhSWNlQ3JlYW06cFp0LGZhQ29tcHV0ZXJNb3VzZTpPN2UsZmFNb3VzZTpmWnQsZmFGYXVjZXQ6aFp0LGZhQXdhcmQ6bVp0LGZhUGVyc29uRHJvd25pbmc6Z1p0LGZhQ2FtZXJhUm90YXRlOmJadCxmYUZhY2VHcmluSGVhcnRzOkY3ZSxmYUdyaW5IZWFydHM6dlp0LGZhRmlsZUZyYWdtZW50OnhadCxmYVBlcnNvbk1pbGl0YXJ5UmlmbGU6eVp0LGZhVG9nZ2xlT246d1p0LGZhTHVuZ3NWaXJ1czpNWnQsZmFUYWJsZVRlbm5pc1BhZGRsZUJhbGw6bHRlLGZhUGluZ1BvbmdQYWRkbGVCYWxsOmtadCxmYVRhYmxlVGVubmlzOlNadCxmYUJveGVzUGFja2luZzp6WnQsZmFQZXJzb25DaGFsa2JvYXJkOkNadCxmYURpY2VUd286X1p0LGZhQXJyb3dSaWdodEFycm93TGVmdDpCN2UsZmFFeGNoYW5nZTpUWnQsZmFGb290YmFsbDpIN2UsZmFGb290YmFsbEJhbGw6TFp0LGZhVHJ1Y2tNb25zdGVyOiRadCxmYUFzdGVyaXNrOkRadCxmYUJhdHRlcnlGdWxsOmN0ZSxmYUJhdHRlcnk6QVp0LGZhQmF0dGVyeTU6UFp0LGZhQ2hpbGREcmVzczpFWnQsZmFGYWNlS2lzc0JlYW06cTdlLGZhS2lzc0JlYW06SVp0LGZhVHJhc2hDYW5BcnJvd1VwOlY3ZSxmYVRyYXNoUmVzdG9yZUFsdDpOWnQsZmFGb250OlJadCxmYUJvcmVIb2xlOk9adCxmYVZpcnVzQ292aWQ6Rlp0LGZhRmlsZVBkZjpCWnQsZmFMYW5ndWFnZTpIWnQsZmFTaGllbGRIYWx2ZWQ6ajdlLGZhU2hpZWxkQWx0OnFadCxmYUNhcmV0VXA6Vlp0LGZhRmlsZVBlbjpVN2UsZmFGaWxlRWRpdDpqWnQsZmFQZXJzb25CaWtpbmc6VzdlLGZhQmlraW5nOlVadCxmYUJvb2tPcGVuUmVhZGVyOkc3ZSxmYUJvb2tSZWFkZXI6V1p0LGZhR2xhc3NXYXRlckRyb3BsZXQ6R1p0LGZhVG93ZXJCcm9hZGNhc3Q6WTdlLGZhQnJvYWRjYXN0VG93ZXI6WVp0LGZhTWluaW1pemU6SzdlLGZhQ29tcHJlc3NBcnJvd3NBbHQ6S1p0LGZhQXJyb3dSaWdodFRvQ2l0eTpaWnQsZmFMYXB0b3BNZWRpY2FsOlhadCxmYUJyZWFkU2xpY2U6UVp0LGZhR2xvYmU6Slp0LGZhRm9sZGVyTWludXM6ZVh0LGZhTWFza0ZhY2U6dFh0LGZhQm9uZzphWHQsZmFSb2FkQnJpZGdlOnJYdCxmYUFycm93VXA5MTpaN2UsZmFTb3J0TnVtZXJpY1VwQWx0OnNYdCxmYU1vdW50YWluQ2l0eTppWHQsZmFBcnJvd0Rvd245MTpkdGUsZmFTb3J0TnVtZXJpY0Rlc2M6b1h0LGZhU29ydE51bWVyaWNEb3duQWx0Om5YdCxmYUZhY2VHcmluV2lkZTpYN2UsZmFHcmluQWx0OmxYdCxmYVBvb3A6Y1h0LGZhRGhhcm1hY2hha3JhOmRYdCxmYUJhdHRlcnlRdWFydGVyOlE3ZSxmYUJhdHRlcnkyOnVYdCxmYUFua2g6cFh0LGZhRGlhbW9uZDpmWHQsZmFTdWJzY3JpcHQ6aFh0LGZhUnVwZWVTaWduOko3ZSxmYVJ1cGVlOm1YdCxmYVBlcnNvblJpZmxlOmdYdCxmYUQ6Ylh0LGZhU3F1YXJlTmZpOnZYdCxmYVRlZXRoOnhYdCxmYU1hZ25pZnlpbmdHbGFzc0RvbGxhcjplOWUsZmFTZWFyY2hEb2xsYXI6eVh0LGZhRHVtcHN0ZXJGaXJlOndYdCxmYVVwbG9hZDpNWHQsZmFVc2VyU2xhc2g6dXRlLGZhVXNlckFsdFNsYXNoOmtYdCxmYVVzZXJMYXJnZVNsYXNoOlNYdCxmYUFycm93TGVmdDp6WHQsZmFWaWFsVmlydXM6Q1h0LGZhQ2hlY2tEb3VibGU6X1h0LGZhUGF3OlRYdCxmYUhlbG1ldFNhZmV0eTpwdGUsZmFIYXJkSGF0OkxYdCxmYUhhdEhhcmQ6JFh0LGZhRTpEWHQsZmFGYWNlTGF1Z2hTcXVpbnQ6dDllLGZhTGF1Z2hTcXVpbnQ6QVh0LGZhRG93bkxlZnRBbmRVcFJpZ2h0VG9DZW50ZXI6YTllLGZhQ29tcHJlc3NBbHQ6UFh0LGZhR2lmdHM6RVh0LGZhQmVkOklYdCxmYU1vbmV5QmlsbFRyYW5zZmVyOk5YdCxmYVBlcnNvblJ1bm5pbmc6cjllLGZhUnVubmluZzpSWHQsZmFDaXJjbGVDaGV2cm9uRG93bjpzOWUsZmFDaGV2cm9uQ2lyY2xlRG93bjpPWHQsZmFVc2VyTnVyc2U6Rlh0LGZhRmFjZUtpc3NXaW5rSGVhcnQ6aTllLGZhS2lzc1dpbmtIZWFydDpCWHQsZmFGaWxsOkhYdCxmYU1vbmV5QmlsbDFXYXZlOm85ZSxmYU1vbmV5QmlsbFdhdmVBbHQ6cVh0LGZhTGFuZG1hcms6Vlh0LGZhTXVzaWM6alh0LGZhQm9va01lZGljYWw6VVh0LGZhU2h1ZmZsZTpuOWUsZmFSYW5kb206V1h0LGZhVW5kZXJsaW5lOkdYdCxmYUJ1aWxkaW5nVXNlcjpZWHQsZmFSb2JvdDpLWHQsZmFQbHVzOmN2LGZhQWRkOlpYdCxmYUNvcHk6RnRlLGZhQ2hlc3NLaW5nOlhYdCxmYUhvdXNlRmxvb2RXYXRlcjpRWHQsZmFCaXRjb2luU2lnbjpKWHQsZmFCb3g6ZVF0LGZhU3F1YXJlUGx1czpsOWUsZmFQbHVzU3F1YXJlOnRRdCxmYUFycm93c0xlZnRSaWdodDpjOWUsZmFBcnJvd3NIOmFRdCxmYUZhbjpyUXQsZmFDcm93OnNRdCxmYUZpbGVDaXJjbGVDaGVjazppUXQsZmFMaW5rU2xhc2g6S2IsZmFDaGFpbkJyb2tlbjpvUXQsZmFDaGFpblNsYXNoOm5RdCxmYVVubGluazpsUXQsZmFBcnJvd1JvdGF0ZVJpZ2h0OlpiLGZhQXJyb3dSaWdodFJvdGF0ZTpjUXQsZmFBcnJvd1JvdGF0ZUZvcndhcmQ6ZFF0LGZhUmVkbzp1UXQsZmFQZW5DbGlwOmQ5ZSxmYVBlbkFsdDpwUXQsZmFEb29yQ2xvc2VkOmZRdCxmYUFycm93RG93bldpZGVTaG9ydDpmdGUsZmFTb3J0QW1vdW50QXNjOmhRdCxmYVNvcnRBbW91bnREb3duOm1RdCxmYUNhcmV0RG93bjpnUXQsZmFLOmJRdCxmYUNoZWNrVG9TbG90OnU5ZSxmYVZvdGVZZWE6dlF0LGZhRmlzaEZpbnM6eFF0LGZhQ29tcHJlc3M6eVF0LGZhQXJyb3dVcEFaOnA5ZSxmYVNvcnRBbHBoYVVwOndRdCxmYVVzZXJHcmFkdWF0ZTpNUXQsZmFGaWxlQ29kZTprUXQsZmFTb2FwOlNRdCxmYVJlY3ljbGU6elF0LGZhRmFjZUdyaW5XaW5rOmY5ZSxmYUdyaW5XaW5rOkNRdCxmYVdhdGVyTGFkZGVyOmh0ZSxmYUxhZGRlcldhdGVyOl9RdCxmYVN3aW1taW5nUG9vbDpUUXQsZmFHZW1pbmk6TFF0LGZhVG93ZXJDZWxsOiRRdCxmYUNvbG9uU2lnbjpEUXQsZmFMYXB0b3BGaWxlOkFRdCxmYUJhaGFpOmg5ZSxmYUhheWthbDpQUXQsZmFNb25leUJpbGwxOm05ZSxmYU1vbmV5QmlsbEFsdDpFUXQsZmFDbG91ZEJvbHQ6ZzllLGZhVGh1bmRlcnN0b3JtOklRdCxmYUV0aGVybmV0Ok5RdCxmYUhyeXZuaWFTaWduOmI5ZSxmYUhyeXZuaWE6UlF0LGZhRXllU2xhc2g6QnRlLGZhQ2FydEZsYXRiZWRTdWl0Y2FzZTp2OWUsZmFMdWdnYWdlQ2FydDpPUXQsZmFSYWRpYXRpb246RlF0LGZhRmlsZVdvcmQ6QlF0LGZhQmVkUHVsc2U6eDllLGZhUHJvY2VkdXJlczpIUXQsZmFUZW50czpxUXQsZmFNdWdIb3Q6SHRlLGZhQm9sdDp5OWUsZmFaYXA6VlF0LGZhSmFyOmpRdCxmYVRydWNrUGxhbmU6VVF0LGZhSGFuZEhvbGRpbmdIZWFydDpXUXQsZmFBcnJvd1JvdGF0ZUxlZnQ6WTgsZmFBcnJvd0xlZnRSb3RhdGU6R1F0LGZhQXJyb3dSb3RhdGVCYWNrOllRdCxmYUFycm93Um90YXRlQmFja3dhcmQ6S1F0LGZhVW5kbzpaUXQsZmFGYWNlQW5ncnk6dzllLGZhQW5ncnk6WFF0LGZhQnVyc3Q6UVF0LGZhWjpKUXQsZmFCYW5kYWdlOk05ZSxmYUJhbmRBaWQ6ZUp0LGZhUGxhbmVDaXJjbGVFeGNsYW1hdGlvbjp0SnQsZmFCdXNTaWRlOmFKdCxmYUJ1Z3M6ckp0LGZhQmVlck11Z0VtcHR5Oms5ZSxmYUJlZXI6c0p0LGZhUGVyc29uQ2lyY2xlQ2hlY2s6aUp0LGZhU3RhcGxlcjpvSnQsZmFIb3VzZU1lZGljYWxDaXJjbGVDaGVjazpuSnQsZmFOYWlyYVNpZ246bEp0LGZhV2lmaTptdGUsZmFXaWZpMzpjSnQsZmFXaWZpU3Ryb25nOmRKdCxmYU1vbmV5Q2hlY2tEb2xsYXI6ZHYsZmFNb25leUNoZWNrQWx0OnVKdCxmYUV5ZUxvd1Zpc2lvbjpTOWUsZmFMb3dWaXNpb246cEp0LGZhQ2lyY2xlQXJyb3dVcDp6OWUsZmFBcnJvd0NpcmNsZVVwOmZKdCxmYUNhbWVyYVJldHJvOmhKdCxmYUNhcHN1bGVzOm1KdCxmYVBvbzpnSnQsZmFWb2x1bWU6QzllLGZhVm9sdW1lTWVkaXVtOmJKdCxmYUVsZXZhdG9yOnZKdCxmYVRhZzp4SnQsZmFGaWxlQ2lyY2xlTWludXM6eUp0LGZhRG93bkxvbmc6XzllLGZhTG9uZ0Fycm93QWx0RG93bjp3SnQsZmFDb21wYWN0RGlzYzpNSnQsZmFTdWl0Y2FzZVJvbGxpbmc6a0p0LGZhQm9va1F1cmFuOlQ5ZSxmYVF1cmFuOlNKdCxmYVBob25lU2xhc2g6ekp0LGZhUm9hZENpcmNsZUNoZWNrOkNKdCxmYVNob3BMb2NrOl9KdCxmYUltYWdlUG9ydHJhaXQ6TDllLGZhUG9ydHJhaXQ6VEp0LGZhQnJpZGdlTG9jazpMSnQsZmFIYW1tZXI6JEp0LGZhQXJyb3dVcDE5OiQ5ZSxmYVNvcnROdW1lcmljVXA6REp0LGZhQ2hlc3NLbmlnaHQ6QUp0LGZhSG91c2VGbG9vZFdhdGVyQ2lyY2xlQXJyb3dSaWdodDpQSnQsZmFBcnJvd1VwUmlnaHRGcm9tU3F1YXJlOnV2LGZhRXh0ZXJuYWxMaW5rOkVKdCxmYUFycm93RG93blVwQWNyb3NzTGluZTpJSnQsZmFGYWNlR3JpbkJlYW06RDllLGZhR3JpbkJlYW06Tkp0LGZhUmVjdGFuZ2xlQWQ6QTllLGZhQWQ6Ukp0LGZhQm9va1RhbmFraDpQOWUsZmFUYW5ha2g6T0p0LGZhSG90VHViUGVyc29uOkU5ZSxmYUhvdFR1YjpGSnQsZmFGaWxlSGFsZkRhc2hlZDpCSnQsZmFPdXRkZW50Okk5ZSxmYURlZGVudDpISnQsZmFIYW5kUGVhY2U6cUp0LGZhSGVhZFNpZGVWaXJ1czpWSnQsZmFDb21wYXNzOmpKdCxmYVBlbk5pYjpVSnQsZmFUZW50QXJyb3dzRG93bjpXSnQsZmFGb3J3YXJkRmFzdDpOOWUsZmFGYXN0Rm9yd2FyZDpHSnQsZmFDcm9wOllKdCxmYVdoaXNrZXlHbGFzczpSOWUsZmFHbGFzc1doaXNrZXk6S0p0LGZhU3F1YXJlOlpKdCxmYUZhY2VHcmluOk85ZSxmYUdyaW46WEp0LGZhRmlsZUNvbnRyYWN0OlFKdCxmYUFuZ2xlVXA6Skp0LGZhRmFjZVNtaWxlOkY5ZSxmYVNtaWxlOmVlYSxmYVBlcnNvbkRyZXNzQnVyc3Q6dGVhLGZhRGl2aWRlOmFlYSxmYUNvZGVGb3JrOnJlYSxmYUhvdXNlRmxhZzpzZWEsZmFCdWlsZGluZ0NvbHVtbnM6SzgsZmFCYW5rOmllYSxmYUluc3RpdHV0aW9uOm9lYSxmYU11c2V1bTpuZWEsZmFVbml2ZXJzaXR5OmxlYSxmYVJ1ZzpjZWEsZmFDb2RlTWVyZ2U6ZGVhLGZhSG91c2VUc3VuYW1pOnVlYSxmYU1hZ25pZnlpbmdHbGFzc0NoYXJ0OnBlYSxmYVVtYnJlbGxhOmZlYSxmYUhpbGxSb2Nrc2xpZGU6aGVhLGZhVXNlclNlY3JldDptZWEsZmFQYWdlcjpnZWEsZmFCcmllZmNhc2U6YmVhLGZhVHJvd2VsQnJpY2tzOnZlYSxmYVNvY2tzOnhlYSxmYVQ6eWVhLGZhTWljcm9jaGlwOndlYSxmYVRydWNrTWVkaWNhbDpCOWUsZmFBbWJ1bGFuY2U6TWVhLGZhT206a2VhLGZhTW9zcXVpdG9OZXQ6U2VhLGZhUHJlc2NyaXB0aW9uQm90dGxlOnplYSxmYVVzZXJzR2VhcjpIOWUsZmFVc2Vyc0NvZzpDZWEsZmFSb2FkQ2lyY2xlRXhjbGFtYXRpb246X2VhLGZhUGF1c2U6VGVhLGZhU3RhZmZTbmFrZTpYYixmYVJvZEFzY2xlcGl1czpMZWEsZmFSb2RTbmFrZTokZWEsZmFTdGFmZkFlc2N1bGFwaXVzOkRlYSxmYVBpZ2d5QmFuazpBZWEsZmFNb251bWVudDpQZWEsZmFBbmdsZXNSaWdodDpxOWUsZmFBbmdsZURvdWJsZVJpZ2h0OkVlYSxmYURlc2t0b3A6cHYsZmFEZXNrdG9wQWx0OkllYSxmYVBsYW5lQ2lyY2xlWG1hcms6TmVhLGZhUmV0d2VldDpSZWEsZmFVc2VyR2VhcjpWOWUsZmFVc2VyQ29nOk9lYSxmYUJvcmRlckFsbDpGZWEsZmFDb2luczpCZWEsZmFNYXJzU3Ryb2tlOkhlYSxmYUhhbmRzaGFrZUFuZ2xlOmo5ZSxmYUhhbmRzSGVscGluZzpxZWEsZmFBcnJvd0Rvd246VmVhLGZhTG9jYXRpb25Eb3Q6VTllLGZhTWFwTWFya2VyQWx0OmplYSxmYVBsdWdDaXJjbGVFeGNsYW1hdGlvbjpVZWEsZmFDb29raWVCaXRlOldlYSxmYVNjcmV3ZHJpdmVyV3JlbmNoOlc5ZSxmYVRvb2xzOkdlYSxmYUluZGVudDpZZWEsZmFCYXJzOkc5ZSxmYU5hdmljb246S2VhLGZhSGFuZHNQcmF5aW5nOlk5ZSxmYVByYXlpbmdIYW5kczpaZWEsZmFWaXJ1c2VzOlhlYSxmYVNjaG9vbEZsYWc6UWVhLGZhVHJhZGVtYXJrOkplYSxmYUZpcmVCdXJuZXI6ZXRhLGZhRmFjZVNtaWxlQmVhbTpLOWUsZmFTbWlsZUJlYW06dHRhLGZhVGVudEFycm93TGVmdFJpZ2h0OmF0YSxmYVJvdXRlOnJ0YSxmYUFuZ2xlc1VwOlo5ZSxmYUFuZ2xlRG91YmxlVXA6c3RhLGZhQnVja2V0Oml0YSxmYUxlc3NUaGFuRXF1YWw6b3RhLGZhRm9sZGVyQ2xvc2VkOm50YSxmYVBlcnNvblRocm91Z2hXaW5kb3c6bHRhLGZhU2Nob29sTG9jazpjdGEsZmFQZXJzb25CdXJzdDpkdGEsZmFMZWZ0TG9uZzpYOWUsZmFMb25nQXJyb3dBbHRMZWZ0OnV0YSxmYUxvY2F0aW9uQ3Jvc3NoYWlyczpROWUsZmFMb2NhdGlvbjpwdGEsZmFQZXJzb25Eb3RzRnJvbUxpbmU6SjllLGZhRGlhZ25vc2VzOmZ0YSxmYUdhdWdlU2ltcGxlSGlnaDpndGUsZmFUYWNob21ldGVyOmh0YSxmYVRhY2hvbWV0ZXJGYXN0Om10YSxmYUFuZ2xlc0xlZnQ6ZWdlLGZhQW5nbGVEb3VibGVMZWZ0Omd0YSxmYVVwRG93bjp0Z2UsZmFBcnJvd3NBbHRWOmJ0YSxmYUJhdHRlcnlFbXB0eTphZ2UsZmFCYXR0ZXJ5MDp2dGEsZmFLZXlib2FyZDp4dGEsZmFDb29raWU6eXRhLGZhU3RvcHdhdGNoOnd0YSxmYUVqZWN0Ok10YSxmYVNhdGVsbGl0ZURpc2g6a3RhLGZhRmFjZVJvbGxpbmdFeWVzOnJnZSxmYU1laFJvbGxpbmdFeWVzOlN0YSxmYUxpc3RDaGVjazpzZ2UsZmFUYXNrczp6dGEsZmFTYWNrWG1hcms6Q3RhLGZhSGFzaHRhZzpfdGEsZmFUcmFpbjpUdGEsZmFHYW1lcGFkOkx0YSxmYUZpbGVFeHBvcnQ6aWdlLGZhQXJyb3dSaWdodEZyb21GaWxlOiR0YSxmYUZhY2VHcmltYWNlOm9nZSxmYUdyaW1hY2U6RHRhLGZhVHJhaW5TdWJ3YXk6bmdlLGZhU3Vid2F5OkF0YSxmYUNpcmNsZURvdDpsZ2UsZmFEb3RDaXJjbGU6UHRhLGZhT2JqZWN0R3JvdXA6RXRhLGZhU2hpcDpJdGEsZmFDOk50YSxmYVNxdWFyZVBob25lOmNnZSxmYVBob25lU3F1YXJlOlJ0YSxmYVJ1bGVyQ29tYmluZWQ6T3RhLGZhQXJyb3dzUm90YXRlOmJ0ZSxmYVJlZnJlc2g6RnRhLGZhU3luYzpCdGEsZmFQZXJzb25EcmVzczpkZ2UsZmFGZW1hbGU6SHRhLGZhQm9va09wZW46cXRhLGZhRm9sZGVyVHJlZTpWdGEsZmFWaXJnbzpqdGEsZmFCb3hBcmNoaXZlOnVnZSxmYUFyY2hpdmU6VXRhLGZhVGVudEFycm93RG93blRvTGluZTpXdGEsZmFRcmNvZGU6R3RhLGZhRHJhZ29uOll0YSxmYUhvdXJnbGFzc0VuZDpwZ2UsZmFIb3VyZ2xhc3MzOkt0YSxmYUdyaXA6WDgsZmFHcmlkSG9yaXpvbnRhbDpadGEsZmFHcmlwSG9yaXpvbnRhbDpYdGEsZmFCb3JkZXJUb3BMZWZ0OmZnZSxmYUJvcmRlclN0eWxlOlF0YSxmYUxpc3RVbDpoZ2UsZmFMaXN0RG90czpKdGEsZmFQZW9wbGVSb2JiZXJ5OmVhYSxmYU1vYmlsZUJ1dHRvbjp0YWEsZmFBcnJvd0Rvd25BWjp2dGUsZmFTb3J0QWxwaGFBc2M6YWFhLGZhU29ydEFscGhhRG93bjpyYWEsZmFNb25leUJpbGw6c2FhLGZhQ2lyY2xlTWludXM6bWdlLGZhTWludXNDaXJjbGU6aWFhLGZhQXJyb3dQb2ludGVyOmdnZSxmYU1vdXNlUG9pbnRlcjpvYWEsZmFTcXVhcmVTaGFyZU5vZGVzOmJnZSxmYVNoYXJlQWx0U3F1YXJlOm5hYSxmYVRhYmxlQ2VsbHNMYXJnZTp2Z2UsZmFUaExhcmdlOmxhYSxmYUNhdDpjYWEsZmFDYWxlbmRhcldlZWs6ZGFhLGZhQ29kZUNvbXBhcmU6dWFhLGZhTGVvOnBhYSxmYVJvYWRDaXJjbGVYbWFyazpmYWEsZmFQYWxsZXQ6aGFhLGZhQ2FrZUNhbmRsZXM6eHRlLGZhQmlydGhkYXlDYWtlOm1hYSxmYUNha2U6Z2FhLGZhQnVnU2xhc2g6YmFhLGZhVGFycDp2YWEsZmFEaWFncmFtUHJlZGVjZXNzb3I6eGFhLGZhRmFjZUZsdXNoZWQ6eGdlLGZhRmx1c2hlZDp5YWEsZmFEaWFncmFtTmV4dDp3YWEsZmFBbmNob3JDaXJjbGVYbWFyazpNYWEsZmFQZXJzb25DaXJjbGVYbWFyazprYWEsZmFTcGE6U2FhLGZhQXJpZXM6emFhLGZhQmFyc1Byb2dyZXNzOnlnZSxmYVRhc2tzQWx0OkNhYSxmYUhlYXJ0Q2lyY2xlQ2hlY2s6X2FhLGZhTWFyc1N0cm9rZVJpZ2h0OndnZSxmYU1hcnNTdHJva2VIOlRhYSxmYVRvd2VyT2JzZXJ2YXRpb246TGFhLGZhU3RlcmxpbmdTaWduOnl0ZSxmYUdicDokYWEsZmFQb3VuZFNpZ246RGFhLGZhRmF1Y2V0RHJpcDpBYWEsZmFDaXJjbGVJbmZvOmZ2LGZhSW5mb0NpcmNsZTpQYWEsZmFGZWF0aGVyOkVhYSxmYUJvd2xSaWNlOklhYSxmYVN0YXJIYWxmU3Ryb2tlOk1nZSxmYVN0YXJIYWxmQWx0Ok5hYSxmYVRlbXBlcmF0dXJlQXJyb3dEb3duOmtnZSxmYVRlbXBlcmF0dXJlRG93bjpSYWEsZmFNYXNrVmVudGlsYXRvcjpPYWEsZmFGaWxlVmlkZW86RmFhLGZhQXJyb3dUcmVuZERvd246QmFhLGZhT2lsQ2FuOkhhYSxmYVBlb3BsZUNhcnJ5Qm94OlNnZSxmYVBlb3BsZUNhcnJ5OnFhYSxmYUNoYWlyOlZhYSxmYVdpbmQ6amFhLGZhTGF5ZXJHcm91cDpVYWEsZmFIZWFkU2lkZU1hc2s6V2FhLGZhSGFuZHM6d3RlLGZhU2lnbkxhbmd1YWdlOkdhYSxmYVNpZ25pbmc6WWFhLGZhVGFibGV0czpLYWEsZmFXZWlnaHRIYW5naW5nOlphYSxmYURpY2U6WGFhLGZhU2hvcFNsYXNoOnpnZSxmYVN0b3JlQWx0U2xhc2g6UWFhLGZhU29ydERvd246Q2dlLGZhU29ydERlc2M6SmFhLGZhUGVzZXRhU2lnbjplcmEsZmFUYWJsZXRTY3JlZW5CdXR0b246X2dlLGZhVGFibGV0QWx0OnRyYSxmYUhhbmRIb2xkaW5nRG9sbGFyOlRnZSxmYUhhbmRIb2xkaW5nVXNkOmFyYSxmYVNoaWVsZDpMZ2UsZmFTaGllbGRCbGFuazpycmEsZmFGYWNlTGF1Z2g6JGdlLGZhTGF1Z2g6c3JhLGZhSGFuZHNIb2xkaW5nOmlyYSxmYUNhcnRTaG9wcGluZzpEZ2UsZmFTaG9wcGluZ0NhcnQ6b3JhLGZhT2N0YWdvbjpucmEsZmFIYW5kUG9pbnRlcjpscmEsZmFSZWdpc3RlcmVkOmNyYSxmYUhvdXNlU2lnbmFsOmRyYSxmYUJhbmdsYWRlc2hpVGFrYVNpZ246dXJhfX0pO3ZhciBtdixBZ2U9ZigoKT0+e212PXt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHdpZHRoOjI0LGhlaWdodDoyNCx2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIiwic3Ryb2tlLXdpZHRoIjoyLCJzdHJva2UtbGluZWNhcCI6InJvdW5kIiwic3Ryb2tlLWxpbmVqb2luIjoicm91bmQifX0pO3ZhciBmcmEsYTQsUGdlPWYoKCk9PntBZ2UoKTtmcmE9cygoW2EsZSx0XSk9PntsZXQgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixhKTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaChpPT57ci5zZXRBdHRyaWJ1dGUoaSxTdHJpbmcoZVtpXSkpfSksdD8ubGVuZ3RoJiZ0LmZvckVhY2goaT0+e2xldCBvPWZyYShpKTtyLmFwcGVuZENoaWxkKG8pfSkscn0sImNyZWF0ZVNWR0VsZW1lbnQiKSxhND1zKChhLGU9e30pPT57bGV0IHI9ey4uLm12LC4uLmV9O3JldHVybiBmcmEoWyJzdmciLHIsYV0pfSwiY3JlYXRlRWxlbWVudCIpfSk7dmFyIEVnZSxocmE9ZigoKT0+e0VnZT1zKGE9Pntmb3IobGV0IGUgaW4gYSlpZihlLnN0YXJ0c1dpdGgoImFyaWEtIil8fGU9PT0icm9sZSJ8fGU9PT0idGl0bGUiKXJldHVybiEwO3JldHVybiExfSwiaGFzQTExeVByb3AiKX0pO3ZhciBJZ2UsbXJhPWYoKCk9PntJZ2U9cygoLi4uYSk9PmEuZmlsdGVyKChlLHQscik9PiEhZSYmZS50cmltKCkhPT0iIiYmci5pbmRleE9mKGUpPT09dCkuam9pbigiICIpLnRyaW0oKSwibWVyZ2VDbGFzc2VzIil9KTt2YXIgTmdlLGdyYT1mKCgpPT57TmdlPXMoYT0+YS5yZXBsYWNlKC9eKFtBLVpdKXxbXHMtX10rKFx3KS9nLChlLHQscik9PnI/ci50b1VwcGVyQ2FzZSgpOnQudG9Mb3dlckNhc2UoKSksInRvQ2FtZWxDYXNlIil9KTt2YXIgUmdlLGJyYT1mKCgpPT57Z3JhKCk7UmdlPXMoYT0+e2xldCBlPU5nZShhKTtyZXR1cm4gZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnNsaWNlKDEpfSwidG9QYXNjYWxDYXNlIil9KTt2YXIgdnJhLE9nZSxxdGUseHJhPWYoKCk9PntQZ2UoKTtBZ2UoKTtocmEoKTttcmEoKTticmEoKTt2cmE9cyhhPT5BcnJheS5mcm9tKGEuYXR0cmlidXRlcykucmVkdWNlKChlLHQpPT4oZVt0Lm5hbWVdPXQudmFsdWUsZSkse30pLCJnZXRBdHRycyIpLE9nZT1zKGE9PnR5cGVvZiBhPT0ic3RyaW5nIj9hOiFhfHwhYS5jbGFzcz8iIjphLmNsYXNzJiZ0eXBlb2YgYS5jbGFzcz09InN0cmluZyI/YS5jbGFzcy5zcGxpdCgiICIpOmEuY2xhc3MmJkFycmF5LmlzQXJyYXkoYS5jbGFzcyk/YS5jbGFzczoiIiwiZ2V0Q2xhc3NOYW1lcyIpLHF0ZT1zKChhLHtuYW1lQXR0cjplLGljb25zOnQsYXR0cnM6cn0pPT57bGV0IGk9YS5nZXRBdHRyaWJ1dGUoZSk7aWYoaT09bnVsbClyZXR1cm47bGV0IG89UmdlKGkpLG49dFtvXTtpZighbilyZXR1cm4gY29uc29sZS53YXJuKGAke2Eub3V0ZXJIVE1MfSBpY29uIG5hbWUgd2FzIG5vdCBmb3VuZCBpbiB0aGUgcHJvdmlkZWQgaWNvbnMgb2JqZWN0LmApO2xldCBsPXZyYShhKSxkPUVnZShsKT97fTp7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LGM9ey4uLm12LCJkYXRhLWx1Y2lkZSI6aSwuLi5kLC4uLnIsLi4ubH0scD1PZ2UobCksdT1PZ2UociksbT1JZ2UoImx1Y2lkZSIsYGx1Y2lkZS0ke2l9YCwuLi5wLC4uLnUpO20mJk9iamVjdC5hc3NpZ24oYyx7Y2xhc3M6bX0pO2xldCB2PWE0KG4sYyk7cmV0dXJuIGEucGFyZW50Tm9kZT8ucmVwbGFjZUNoaWxkKHYsYSl9LCJyZXBsYWNlRWxlbWVudCIpfSk7dmFyIGd2LEZnZT1mKCgpPT57Z3Y9W1sicGF0aCIse2Q6Im0xNCAxMiA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik0xOCAxNlY3In1dLFsicGF0aCIse2Q6Im0yIDE2IDQuMDM5LTkuNjlhLjUuNSAwIDAgMSAuOTIzIDBMMTEgMTYifV0sWyJwYXRoIix7ZDoiTTMuMzA0IDEzaDYuMzkyIn1dXX0pO3ZhciBidixCZ2U9ZigoKT0+e2J2PVtbInBhdGgiLHtkOiJtMTQgMTEgNC00IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTggMTZWNyJ9XSxbInBhdGgiLHtkOiJtMiAxNiA0LjAzOS05LjY5YS41LjUgMCAwIDEgLjkyMyAwTDExIDE2In1dLFsicGF0aCIse2Q6Ik0zLjMwNCAxM2g2LjM5MiJ9XV19KTt2YXIgdnYsSGdlPWYoKCk9Pnt2dj1bWyJwYXRoIix7ZDoibTE1IDE2IDIuNTM2LTcuMzI4YTEuMDIgMS4wMiAxIDAgMSAxLjkyOCAwTDIyIDE2In1dLFsicGF0aCIse2Q6Ik0xNS42OTcgMTRoNS42MDYifV0sWyJwYXRoIix7ZDoibTIgMTYgNC4wMzktOS42OWEuNS41IDAgMCAxIC45MjMgMEwxMSAxNiJ9XSxbInBhdGgiLHtkOiJNMy4zMDQgMTNoNi4zOTIifV1dfSk7dmFyIHh2LHFnZT1mKCgpPT57eHY9W1siY2lyY2xlIix7Y3g6IjE2IixjeToiNCIscjoiMSJ9XSxbInBhdGgiLHtkOiJtMTggMTkgMS03LTYgMSJ9XSxbInBhdGgiLHtkOiJtNSA4IDMtMyA1LjUgMy0yLjM2IDMuNSJ9XSxbInBhdGgiLHtkOiJNNC4yNCAxNC41YTUgNSAwIDAgMCA2Ljg4IDYifV0sWyJwYXRoIix7ZDoiTTEzLjc2IDE3LjVhNSA1IDAgMCAwLTYuODgtNiJ9XV19KTt2YXIgeXYsVmdlPWYoKCk9Pnt5dj1bWyJwYXRoIix7ZDoiTTIyIDEyaC0yLjQ4YTIgMiAwIDAgMC0xLjkzIDEuNDZsLTIuMzUgOC4zNmEuMjUuMjUgMCAwIDEtLjQ4IDBMOS4yNCAyLjE4YS4yNS4yNSAwIDAgMC0uNDggMGwtMi4zNSA4LjM2QTIgMiAwIDAgMSA0LjQ5IDEySDIifV1dfSk7dmFyIHd2LGpnZT1mKCgpPT57d3Y9W1sicGF0aCIse2Q6Ik0xOCAxNy41YTIuNSAyLjUgMCAxIDEtNCAyLjAzVjEyIn1dLFsicGF0aCIse2Q6Ik02IDEySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnY1YTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTYgOGgxMiJ9XSxbInBhdGgiLHtkOiJNNi42IDE1LjU3MkEyIDIgMCAxIDAgMTAgMTd2LTUifV1dfSk7dmFyIE12LFVnZT1mKCgpPT57TXY9W1sicGF0aCIse2Q6Ik01IDE3SDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAyaC0xIn1dLFsicGF0aCIse2Q6Im0xMiAxNSA1IDZIN1oifV1dfSk7dmFyIHVkLFdnZT1mKCgpPT57dWQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjgifV0sWyJwYXRoIix7ZDoiTTUgMyAyIDYifV0sWyJwYXRoIix7ZDoibTIyIDYtMy0zIn1dLFsicGF0aCIse2Q6Ik02LjM4IDE4LjcgNCAyMSJ9XSxbInBhdGgiLHtkOiJNMTcuNjQgMTguNjcgMjAgMjEifV0sWyJwYXRoIix7ZDoibTkgMTMgMiAyIDQtNCJ9XV19KTt2YXIgcGQsR2dlPWYoKCk9PntwZD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiOCJ9XSxbInBhdGgiLHtkOiJNNSAzIDIgNiJ9XSxbInBhdGgiLHtkOiJtMjIgNi0zLTMifV0sWyJwYXRoIix7ZDoiTTYuMzggMTguNyA0IDIxIn1dLFsicGF0aCIse2Q6Ik0xNy42NCAxOC42NyAyMCAyMSJ9XSxbInBhdGgiLHtkOiJNOSAxM2g2In1dXX0pO3ZhciBrdixZZ2U9ZigoKT0+e2t2PVtbInBhdGgiLHtkOiJNNi44NyA2Ljg3YTggOCAwIDEgMCAxMS4yNiAxMS4yNiJ9XSxbInBhdGgiLHtkOiJNMTkuOSAxNC4yNWE4IDggMCAwIDAtOS4xNS05LjE1In1dLFsicGF0aCIse2Q6Im0yMiA2LTMtMyJ9XSxbInBhdGgiLHtkOiJNNi4yNiAxOC42NyA0IDIxIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTQgNCAyIDYifV1dfSk7dmFyIGZkLEtnZT1mKCgpPT57ZmQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjgifV0sWyJwYXRoIix7ZDoiTTUgMyAyIDYifV0sWyJwYXRoIix7ZDoibTIyIDYtMy0zIn1dLFsicGF0aCIse2Q6Ik02LjM4IDE4LjcgNCAyMSJ9XSxbInBhdGgiLHtkOiJNMTcuNjQgMTguNjcgMjAgMjEifV0sWyJwYXRoIix7ZDoiTTEyIDEwdjYifV0sWyJwYXRoIix7ZDoiTTkgMTNoNiJ9XV19KTt2YXIgU3YsWmdlPWYoKCk9PntTdj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiOCJ9XSxbInBhdGgiLHtkOiJNMTIgOXY0bDIgMiJ9XSxbInBhdGgiLHtkOiJNNSAzIDIgNiJ9XSxbInBhdGgiLHtkOiJtMjIgNi0zLTMifV0sWyJwYXRoIix7ZDoiTTYuMzggMTguNyA0IDIxIn1dLFsicGF0aCIse2Q6Ik0xNy42NCAxOC42NyAyMCAyMSJ9XV19KTt2YXIgenYsWGdlPWYoKCk9Pnt6dj1bWyJwYXRoIix7ZDoiTTExIDIxYzAtMi41IDItMi41IDItNSJ9XSxbInBhdGgiLHtkOiJNMTYgMjFjMC0yLjUgMi0yLjUgMi01In1dLFsicGF0aCIse2Q6Im0xOSA4LS44IDNhMS4yNSAxLjI1IDAgMCAxLTEuMiAxSDdhMS4yNSAxLjI1IDAgMCAxLTEuMi0xTDUgOCJ9XSxbInBhdGgiLHtkOiJNMjEgM2ExIDEgMCAwIDEgMSAxdjJhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNGExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNNiAyMWMwLTIuNSAyLTIuNSAyLTUifV1dfSk7dmFyIEN2LFFnZT1mKCgpPT57Q3Y9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicG9seWxpbmUiLHtwb2ludHM6IjExIDMgMTEgMTEgMTQgOCAxNyAxMSAxNyAzIn1dXX0pO3ZhciBfdixKZ2U9ZigoKT0+e192PVtbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XSxbInBhdGgiLHtkOiJNMTAgMTZ2NGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtNCJ9XSxbInBhdGgiLHtkOiJNMTAgOFY0YTIgMiAwIDAgMC0yLTJINmEyIDIgMCAwIDAtMiAydjQifV0sWyJwYXRoIix7ZDoiTTIwIDE2djFhMiAyIDAgMCAxLTIgMmgtMmEyIDIgMCAwIDEtMi0ydi0xIn1dLFsicGF0aCIse2Q6Ik0xNCA4VjdjMC0xLjEuOS0yIDItMmgyYTIgMiAwIDAgMSAyIDJ2MSJ9XV19KTt2YXIgVHYsZWJlPWYoKCk9PntUdj1bWyJwYXRoIix7ZDoiTTEyIDJ2MjAifV0sWyJwYXRoIix7ZDoiTTggMTBINGEyIDIgMCAwIDEtMi0yVjZjMC0xLjEuOS0yIDItMmg0In1dLFsicGF0aCIse2Q6Ik0xNiAxMGg0YTIgMiAwIDAgMCAyLTJWNmEyIDIgMCAwIDAtMi0yaC00In1dLFsicGF0aCIse2Q6Ik04IDIwSDdhMiAyIDAgMCAxLTItMnYtMmMwLTEuMS45LTIgMi0yaDEifV0sWyJwYXRoIix7ZDoiTTE2IDE0aDFhMiAyIDAgMCAxIDIgMnYyYTIgMiAwIDAgMS0yIDJoLTEifV1dfSk7dmFyIEx2LHRiZT1mKCgpPT57THY9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE2Iix4OiI0Iix5OiIyIixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiI5Iix4OiIxNCIseToiOSIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIyIDIySDIifV1dfSk7dmFyICR2LGFiZT1mKCgpPT57JHY9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE0Iix4OiI0Iix5OiI1IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiMTQiLHk6IjciLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNyAyMnYtNSJ9XSxbInBhdGgiLHtkOiJNMTcgN1YyIn1dLFsicGF0aCIse2Q6Ik03IDIydi0zIn1dLFsicGF0aCIse2Q6Ik03IDVWMiJ9XV19KTt2YXIgRHYscmJlPWYoKCk9PntEdj1bWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI5IixoZWlnaHQ6IjYiLHg6IjkiLHk6IjE0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjIgMjJWMiJ9XV19KTt2YXIgQXYsc2JlPWYoKCk9PntBdj1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTQiLHg6IjQiLHk6IjUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxNCIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEwIDJ2MjAifV0sWyJwYXRoIix7ZDoiTTIwIDJ2MjAifV1dfSk7dmFyIFB2LGliZT1mKCgpPT57UHY9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE0Iix4OiI0Iix5OiI1IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiMTQiLHk6IjciLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik00IDJ2MjAifV0sWyJwYXRoIix7ZDoiTTE0IDJ2MjAifV1dfSk7dmFyIEV2LG9iZT1mKCgpPT57RXY9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE0Iix4OiIyIix5OiI1IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiMTYiLHk6IjciLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIwIn1dXX0pO3ZhciBJdixuYmU9ZigoKT0+e0l2PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNCIseDoiMiIseToiNSIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjEyIix5OiI3IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjIgMnYyMCJ9XV19KTt2YXIgTnYsbGJlPWYoKCk9PntOdj1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTQiLHg6IjYiLHk6IjUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxNiIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMnYyMCJ9XV19KTt2YXIgUnYsY2JlPWYoKCk9PntSdj1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjkiLHk6IjciLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik00IDIyVjIifV0sWyJwYXRoIix7ZDoiTTIwIDIyVjIifV1dfSk7dmFyIE92LGRiZT1mKCgpPT57T3Y9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE2Iix4OiI0Iix5OiI2IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiI5Iix4OiIxNCIseToiNiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIyIDJIMiJ9XV19KTt2YXIgRnYsdWJlPWYoKCk9PntGdj1bWyJyZWN0Iix7d2lkdGg6IjkiLGhlaWdodDoiNiIseDoiNiIseToiMTQiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiI2Iix4OiI2Iix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAydjIwIn1dXX0pO3ZhciBCdixwYmU9ZigoKT0+e0J2PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNCIseDoiMyIseToiNSIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjE1Iix5OiI3IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAydjIwIn1dLFsicGF0aCIse2Q6Ik0yMSAydjIwIn1dXX0pO3ZhciBIdixmYmU9ZigoKT0+e0h2PVtbInBhdGgiLHtkOiJNMjIgMTdoLTMifV0sWyJwYXRoIix7ZDoiTTIyIDdoLTUifV0sWyJwYXRoIix7ZDoiTTUgMTdIMiJ9XSxbInBhdGgiLHtkOiJNNyA3SDIifV0sWyJyZWN0Iix7eDoiNSIseToiMTQiLHdpZHRoOiIxNCIsaGVpZ2h0OiI2IixyeDoiMiJ9XSxbInJlY3QiLHt4OiI3Iix5OiI0Iix3aWR0aDoiMTAiLGhlaWdodDoiNiIscng6IjIifV1dfSk7dmFyIHF2LGhiZT1mKCgpPT57cXY9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI2Iix4OiI1Iix5OiIxNCIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjYiLHg6IjciLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDIwaDIwIn1dLFsicGF0aCIse2Q6Ik0yIDEwaDIwIn1dXX0pO3ZhciBWdixtYmU9ZigoKT0+e1Z2PVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiNiIseDoiNSIseToiMTQiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiI2Iix4OiI3Iix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAxNGgyMCJ9XSxbInBhdGgiLHtkOiJNMiA0aDIwIn1dXX0pO3ZhciBqdixnYmU9ZigoKT0+e2p2PVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiNiIseDoiNSIseToiMTYiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiI2Iix4OiI3Iix5OiIyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XV19KTt2YXIgVXYsYmJlPWYoKCk9PntVdj1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjEyIixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNiIseDoiNyIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMjJoMjAifV1dfSk7dmFyIFd2LHZiZT1mKCgpPT57V3Y9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI2Iix4OiI1Iix5OiIxNiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjYiLHg6IjciLHk6IjYiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDJoMjAifV1dfSk7dmFyIEd2LHhiZT1mKCgpPT57R3Y9W1sicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiI2Iix4OiI3Iix5OiI5IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjIgMjBIMiJ9XSxbInBhdGgiLHtkOiJNMjIgNEgyIn1dXX0pO3ZhciBZdix5YmU9ZigoKT0+e1l2PVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiNiIseDoiNSIseToiMTUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiI2Iix4OiI3Iix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAyMWgyMCJ9XSxbInBhdGgiLHtkOiJNMiAzaDIwIn1dXX0pO3ZhciBLdix3YmU9ZigoKT0+e0t2PVtbInBhdGgiLHtkOiJNMTAgMTBINiJ9XSxbInBhdGgiLHtkOiJNMTQgMThWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMWExIDEgMCAwIDAgMSAxaDIifV0sWyJwYXRoIix7ZDoiTTE5IDE4aDJhMSAxIDAgMCAwIDEtMXYtMy4yOGExIDEgMCAwIDAtLjY4NC0uOTQ4bC0xLjkyMy0uNjQxYTEgMSAwIDAgMS0uNTc4LS41MDJsLTEuNTM5LTMuMDc2QTEgMSAwIDAgMCAxNi4zODIgOEgxNCJ9XSxbInBhdGgiLHtkOiJNOCA4djQifV0sWyJwYXRoIix7ZDoiTTkgMThoNiJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE4IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxOCIscjoiMiJ9XV19KTt2YXIgWnYsTWJlPWYoKCk9Pntadj1bWyJwYXRoIix7ZDoiTTEwIDE3Yy01LTMtNy03LTctOWEyIDIgMCAwIDEgNCAwYzAgMi41LTUgMi41LTUgNiAwIDEuNyAxLjMgMyAzIDMgMi44IDAgNS0yLjIgNS01In1dLFsicGF0aCIse2Q6Ik0yMiAxN2MtNS0zLTctNy03LTlhMiAyIDAgMCAxIDQgMGMwIDIuNS01IDIuNS01IDYgMCAxLjcgMS4zIDMgMyAzIDIuOCAwIDUtMi4yIDUtNSJ9XV19KTt2YXIgWHYsa2JlPWYoKCk9PntYdj1bWyJwYXRoIix7ZDoiTTE2IDEyaDMifV0sWyJwYXRoIix7ZDoiTTE3LjUgMTJhOCA4IDAgMCAxLTggOEE0LjUgNC41IDAgMCAxIDUgMTUuNWMwLTYgOC00IDgtOC41YTMgMyAwIDEgMC02IDBjMCAzIDIuNSA4LjUgMTIgMTMifV1dfSk7dmFyIFF2LFNiZT1mKCgpPT57UXY9W1sicGF0aCIse2Q6Ik0xMCAydjUuNjMyYzAgLjQyNC0uMjcyLjc5NS0uNjUzLjk4MkE2IDYgMCAwIDAgNiAxNGMuMDA2IDQgMyA3IDUgOCJ9XSxbInBhdGgiLHtkOiJNMTAgNUg4YTIgMiAwIDAgMCAwIDRoLjY4In1dLFsicGF0aCIse2Q6Ik0xNCAydjUuNjMyYzAgLjQyNC4yNzIuNzk1LjY1Mi45ODJBNiA2IDAgMCAxIDE4IDE0YzAgNC0zIDctNSA4In1dLFsicGF0aCIse2Q6Ik0xNCA1aDJhMiAyIDAgMCAxIDAgNGgtLjY4In1dLFsicGF0aCIse2Q6Ik0xOCAyMkg2In1dLFsicGF0aCIse2Q6Ik05IDJoNiJ9XV19KTt2YXIgSnYsemJlPWYoKCk9PntKdj1bWyJwYXRoIix7ZDoiTTEyIDZ2MTYifV0sWyJwYXRoIix7ZDoibTE5IDEzIDItMWE5IDkgMCAwIDEtMTggMGwyIDEifV0sWyJwYXRoIix7ZDoiTTkgMTFoNiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjQiLHI6IjIifV1dfSk7dmFyIGV4LENiZT1mKCgpPT57ZXg9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xNiAxNnMtMS41LTItNC0yLTQgMi00IDIifV0sWyJwYXRoIix7ZDoiTTcuNSA4IDEwIDkifV0sWyJwYXRoIix7ZDoibTE0IDkgMi41LTEifV0sWyJwYXRoIix7ZDoiTTkgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSAxMGguMDEifV1dfSk7dmFyIHR4LF9iZT1mKCgpPT57dHg9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik04IDE1aDgifV0sWyJwYXRoIix7ZDoiTTggOWgyIn1dLFsicGF0aCIse2Q6Ik0xNCA5aDIifV1dfSk7dmFyIGF4LFRiZT1mKCgpPT57YXg9W1sicGF0aCIse2Q6Ik0yIDEyIDcgMiJ9XSxbInBhdGgiLHtkOiJtNyAxMiA1LTEwIn1dLFsicGF0aCIse2Q6Im0xMiAxMiA1LTEwIn1dLFsicGF0aCIse2Q6Im0xNyAxMiA1LTEwIn1dLFsicGF0aCIse2Q6Ik00LjUgN2gxNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTZ2NiJ9XV19KTt2YXIgcngsTGJlPWYoKCk9PntyeD1bWyJwYXRoIix7ZDoiTTcgMTBINmE0IDQgMCAwIDEtNC00IDEgMSAwIDAgMSAxLTFoNCJ9XSxbInBhdGgiLHtkOiJNNyA1YTEgMSAwIDAgMSAxLTFoMTNhMSAxIDAgMCAxIDEgMSA3IDcgMCAwIDEtNyA3SDhhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTkgMTJ2NSJ9XSxbInBhdGgiLHtkOiJNMTUgMTJ2NSJ9XSxbInBhdGgiLHtkOiJNNSAyMGEzIDMgMCAwIDEgMy0zaDhhMyAzIDAgMCAxIDMgMyAxIDEgMCAwIDEtMSAxSDZhMSAxIDAgMCAxLTEtMSJ9XV19KTt2YXIgc3gsJGJlPWYoKCk9PntzeD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTE0LjMxIDggNS43NCA5Ljk0In1dLFsicGF0aCIse2Q6Ik05LjY5IDhoMTEuNDgifV0sWyJwYXRoIix7ZDoibTcuMzggMTIgNS43NC05Ljk0In1dLFsicGF0aCIse2Q6Ik05LjY5IDE2IDMuOTUgNi4wNiJ9XSxbInBhdGgiLHtkOiJNMTQuMzEgMTZIMi44MyJ9XSxbInBhdGgiLHtkOiJtMTYuNjIgMTItNS43NCA5Ljk0In1dXX0pO3ZhciBpeCxEYmU9ZigoKT0+e2l4PVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMCA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTQgOGguMDEifV1dfSk7dmFyIG94LEFiZT1mKCgpPT57b3g9W1sicmVjdCIse3g6IjIiLHk6IjQiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEwIDR2NCJ9XSxbInBhdGgiLHtkOiJNMiA4aDIwIn1dLFsicGF0aCIse2Q6Ik02IDR2NCJ9XV19KTt2YXIgbngsUGJlPWYoKCk9PntueD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjUiLHg6IjIiLHk6IjMiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik00IDh2MTFhMiAyIDAgMCAwIDIgMmgyIn1dLFsicGF0aCIse2Q6Ik0yMCA4djExYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoibTkgMTUgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTJ2OSJ9XV19KTt2YXIgbHgsRWJlPWYoKCk9PntseD1bWyJwYXRoIix7ZDoiTTEyIDYuNTI4VjNhMSAxIDAgMCAxIDEtMWgwIn1dLFsicGF0aCIse2Q6Ik0xOC4yMzcgMjFBMTUgMTUgMCAwIDAgMjIgMTFhNiA2IDAgMCAwLTEwLTQuNDcyQTYgNiAwIDAgMCAyIDExYTE1LjEgMTUuMSAwIDAgMCAzLjc2MyAxMCAzIDMgMCAwIDAgMy42NDguNjQ4IDUuNSA1LjUgMCAwIDEgNS4xNzggMEEzIDMgMCAwIDAgMTguMjM3IDIxIn1dXX0pO3ZhciBjeCxJYmU9ZigoKT0+e2N4PVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiNSIseDoiMiIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoiTTQgOHYxMWEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOCJ9XSxbInBhdGgiLHtkOiJtOS41IDE3IDUtNSJ9XSxbInBhdGgiLHtkOiJtOS41IDEyIDUgNSJ9XV19KTt2YXIgZHgsTmJlPWYoKCk9PntkeD1bWyJwYXRoIix7ZDoiTTE5IDlWNmEyIDIgMCAwIDAtMi0ySDdhMiAyIDAgMCAwLTIgMnYzIn1dLFsicGF0aCIse2Q6Ik0zIDE2YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDItMnYtNWEyIDIgMCAwIDAtNCAwdjEuNWEuNS41IDAgMCAxLS41LjVoLTlhLjUuNSAwIDAgMS0uNS0uNVYxMWEyIDIgMCAwIDAtNCAweiJ9XSxbInBhdGgiLHtkOiJNNSAxOHYyIn1dLFsicGF0aCIse2Q6Ik0xOSAxOHYyIn1dXX0pO3ZhciB1eCxSYmU9ZigoKT0+e3V4PVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiNSIseDoiMiIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoiTTQgOHYxMWEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTJoNCJ9XV19KTt2YXIgcHgsT2JlPWYoKCk9PntweD1bWyJwYXRoIix7ZDoiTTE0IDhhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMCAxIDFoMy4yOTNhLjcwNy43MDcgMCAwIDEgLjUgMS4yMDdsLTYuOTM5IDYuOTM5YTEuMjA3IDEuMjA3IDAgMCAxLTEuNzA4IDBsLTYuOTQtNi45NGEuNzA3LjcwNyAwIDAgMSAuNS0xLjIwNkg4YTEgMSAwIDAgMCAxLTFWOWExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNOSA0aDYifV1dfSk7dmFyIGZ4LEZiZT1mKCgpPT57Zng9W1sicGF0aCIse2Q6Ik05IDVhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAxIDF2NmExIDEgMCAwIDAgMSAxaDMuMjkzYS43MDcuNzA3IDAgMCAxIC41IDEuMjA3bC03LjA4NiA3LjA4NmExIDEgMCAwIDEtMS40MTQgMGwtNy4wODYtNy4wODZhLjcwNy43MDcgMCAwIDEgLjUtMS4yMDdIOGExIDEgMCAwIDAgMS0xeiJ9XV19KTt2YXIgaHgsQmJlPWYoKCk9PntoeD1bWyJwYXRoIix7ZDoiTTEwLjc5MyAxOS43OTNhLjcwNy43MDcgMCAwIDAgMS4yMDctLjVWMTZhMSAxIDAgMCAxIDEtMWg2YTEgMSAwIDAgMCAxLTF2LTRhMSAxIDAgMCAwLTEtMWgtNmExIDEgMCAwIDEtMS0xVjQuNzA3YS43MDcuNzA3IDAgMCAwLTEuMjA3LS41bC02Ljk0IDYuOTRhMS4yMDcgMS4yMDcgMCAwIDAgMCAxLjcwN3oifV1dfSk7dmFyIG14LEhiZT1mKCgpPT57bXg9W1sicGF0aCIse2Q6Ik0xMyA5YTEgMSAwIDAgMS0xLTFWNC43MDdhLjcwNy43MDcgMCAwIDAtMS4yMDctLjVsLTYuOTQgNi45NGExLjIwNyAxLjIwNyAwIDAgMCAwIDEuNzA3bDYuOTQgNi45NGEuNzA3LjcwNyAwIDAgMCAxLjIwNy0uNVYxNmExIDEgMCAwIDEgMS0xaDJhMSAxIDAgMCAwIDEtMXYtNGExIDEgMCAwIDAtMS0xeiJ9XSxbInBhdGgiLHtkOiJNMjAgOXY2In1dXX0pO3ZhciBneCxxYmU9ZigoKT0+e2d4PVtbInBhdGgiLHtkOiJNMTEgOWExIDEgMCAwIDAgMS0xVjQuNzA3YS43MDcuNzA3IDAgMCAxIDEuMjA3LS41bDYuOTQgNi45NGExLjIwNyAxLjIwNyAwIDAgMSAwIDEuNzA3bC02Ljk0IDYuOTRhLjcwNy43MDcgMCAwIDEtMS4yMDctLjVWMTZhMSAxIDAgMCAwLTEtMUg5YTEgMSAwIDAgMS0xLTF2LTRhMSAxIDAgMCAxIDEtMXoifV0sWyJwYXRoIix7ZDoiTTQgOXY2In1dXX0pO3ZhciBieCxWYmU9ZigoKT0+e2J4PVtbInBhdGgiLHtkOiJNMTMuMjA3IDE5Ljc5M2EuNzA3LjcwNyAwIDAgMS0xLjIwNy0uNVYxNmExIDEgMCAwIDAtMS0xSDVhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgMS0xaDZhMSAxIDAgMCAwIDEtMVY0LjcwN2EuNzA3LjcwNyAwIDAgMSAxLjIwNy0uNWw2Ljk0IDYuOTRhMS4yMDcgMS4yMDcgMCAwIDEgMCAxLjcwN3oifV1dfSk7dmFyIHZ4LGpiZT1mKCgpPT57dng9W1sicGF0aCIse2Q6Ik0xNCAxNmExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMSAxLTFoMy4yOTNhLjcwNy43MDcgMCAwIDAgLjUtMS4yMDdsLTYuOTM5LTYuOTM5YTEuMjA3IDEuMjA3IDAgMCAwLTEuNzA4IDBsLTYuOTQgNi45NGEuNzA3LjcwNyAwIDAgMCAuNSAxLjIwNkg4YTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDAgMSAxeiJ9XSxbInBhdGgiLHtkOiJNOSAyMGg2In1dXX0pO3ZhciB4eCxVYmU9ZigoKT0+e3h4PVtbInBhdGgiLHtkOiJNOSAxOWExIDEgMCAwIDAgMSAxaDRhMSAxIDAgMCAwIDEtMXYtNmExIDEgMCAwIDEgMS0xaDMuMjkzYS43MDcuNzA3IDAgMCAwIC41LTEuMjA3bC03LjA4Ni03LjA4NmExIDEgMCAwIDAtMS40MTQgMGwtNy4wODYgNy4wODZhLjcwNy43MDcgMCAwIDAgLjUgMS4yMDdIOGExIDEgMCAwIDEgMSAxeiJ9XV19KTt2YXIgeXgsV2JlPWYoKCk9Pnt5eD1bWyJwYXRoIix7ZDoibTMgMTYgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNNyAyMFY0In1dLFsicmVjdCIse3g6IjE1Iix5OiI0Iix3aWR0aDoiNCIsaGVpZ2h0OiI2IixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTcgMjB2LTZoLTIifV0sWyJwYXRoIix7ZDoiTTE1IDIwaDQifV1dfSk7dmFyIHd4LEdiZT1mKCgpPT57d3g9W1sicGF0aCIse2Q6Im0zIDE2IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTcgMjBWNCJ9XSxbInBhdGgiLHtkOiJNMTcgMTBWNGgtMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTBoNCJ9XSxbInJlY3QiLHt4OiIxNSIseToiMTQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ5OiIyIn1dXX0pO3ZhciBNeCxZYmU9ZigoKT0+e014PVtbInBhdGgiLHtkOiJNMTkgM0g1In1dLFsicGF0aCIse2Q6Ik0xMiAyMVY3In1dLFsicGF0aCIse2Q6Im02IDE1IDYgNiA2LTYifV1dfSk7dmFyIGhkLEtiZT1mKCgpPT57aGQ9W1sicGF0aCIse2Q6Im0zIDE2IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTcgMjBWNCJ9XSxbInBhdGgiLHtkOiJNMjAgOGgtNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTBWNi41YTIuNSAyLjUgMCAwIDEgNSAwVjEwIn1dLFsicGF0aCIse2Q6Ik0xNSAxNGg1bC01IDZoNSJ9XV19KTt2YXIga3gsWmJlPWYoKCk9PntreD1bWyJwYXRoIix7ZDoiTTE3IDcgNyAxNyJ9XSxbInBhdGgiLHtkOiJNMTcgMTdIN1Y3In1dXX0pO3ZhciBTeCxYYmU9ZigoKT0+e1N4PVtbInBhdGgiLHtkOiJtMyAxNiA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik03IDIwVjQifV0sWyJwYXRoIix7ZDoiTTExIDRoNCJ9XSxbInBhdGgiLHtkOiJNMTEgOGg3In1dLFsicGF0aCIse2Q6Ik0xMSAxMmgxMCJ9XV19KTt2YXIgengsUWJlPWYoKCk9Pnt6eD1bWyJwYXRoIix7ZDoibTcgNyAxMCAxMCJ9XSxbInBhdGgiLHtkOiJNMTcgN3YxMEg3In1dXX0pO3ZhciBDeCxKYmU9ZigoKT0+e0N4PVtbInBhdGgiLHtkOiJNMTIgMnYxNCJ9XSxbInBhdGgiLHtkOiJtMTkgOS03IDctNy03In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMjEiLHI6IjEifV1dfSk7dmFyIF94LGV2ZT1mKCgpPT57X3g9W1sicGF0aCIse2Q6Im0zIDE2IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTcgMjBWNCJ9XSxbInBhdGgiLHtkOiJtMjEgOC00LTQtNCA0In1dLFsicGF0aCIse2Q6Ik0xNyA0djE2In1dXX0pO3ZhciBUeCx0dmU9ZigoKT0+e1R4PVtbInBhdGgiLHtkOiJNMTIgMTdWMyJ9XSxbInBhdGgiLHtkOiJtNiAxMSA2IDYgNi02In1dLFsicGF0aCIse2Q6Ik0xOSAyMUg1In1dXX0pO3ZhciBtZCxhdmU9ZigoKT0+e21kPVtbInBhdGgiLHtkOiJtMyAxNiA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik03IDIwVjQifV0sWyJwYXRoIix7ZDoiTTExIDRoMTAifV0sWyJwYXRoIix7ZDoiTTExIDhoNyJ9XSxbInBhdGgiLHtkOiJNMTEgMTJoNCJ9XV19KTt2YXIgZ2QscnZlPWYoKCk9PntnZD1bWyJwYXRoIix7ZDoibTMgMTYgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNNyA0djE2In1dLFsicGF0aCIse2Q6Ik0xNSA0aDVsLTUgNmg1In1dLFsicGF0aCIse2Q6Ik0xNSAyMHYtMy41YTIuNSAyLjUgMCAwIDEgNSAwVjIwIn1dLFsicGF0aCIse2Q6Ik0yMCAxOGgtNSJ9XV19KTt2YXIgTHgsc3ZlPWYoKCk9PntMeD1bWyJwYXRoIix7ZDoiTTEyIDV2MTQifV0sWyJwYXRoIix7ZDoibTE5IDEyLTcgNy03LTcifV1dfSk7dmFyICR4LGl2ZT1mKCgpPT57JHg9W1sicGF0aCIse2Q6Im05IDYtNiA2IDYgNiJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxNCJ9XSxbInBhdGgiLHtkOiJNMjEgMTlWNSJ9XV19KTt2YXIgRHgsb3ZlPWYoKCk9PntEeD1bWyJwYXRoIix7ZDoiTTggMyA0IDdsNCA0In1dLFsicGF0aCIse2Q6Ik00IDdoMTYifV0sWyJwYXRoIix7ZDoibTE2IDIxIDQtNC00LTQifV0sWyJwYXRoIix7ZDoiTTIwIDE3SDQifV1dfSk7dmFyIEF4LG52ZT1mKCgpPT57QXg9W1sicGF0aCIse2Q6Ik0zIDE5VjUifV0sWyJwYXRoIix7ZDoibTEzIDYtNiA2IDYgNiJ9XSxbInBhdGgiLHtkOiJNNyAxMmgxNCJ9XV19KTt2YXIgUHgsbHZlPWYoKCk9PntQeD1bWyJwYXRoIix7ZDoiTTMgNXYxNCJ9XSxbInBhdGgiLHtkOiJNMjEgMTJINyJ9XSxbInBhdGgiLHtkOiJtMTUgMTggNi02LTYtNiJ9XV19KTt2YXIgRXgsY3ZlPWYoKCk9PntFeD1bWyJwYXRoIix7ZDoibTEyIDE5LTctNyA3LTcifV0sWyJwYXRoIix7ZDoiTTE5IDEySDUifV1dfSk7dmFyIEl4LGR2ZT1mKCgpPT57SXg9W1sicGF0aCIse2Q6Im0xNiAzIDQgNC00IDQifV0sWyJwYXRoIix7ZDoiTTIwIDdINCJ9XSxbInBhdGgiLHtkOiJtOCAyMS00LTQgNC00In1dLFsicGF0aCIse2Q6Ik00IDE3aDE2In1dXX0pO3ZhciBOeCx1dmU9ZigoKT0+e054PVtbInBhdGgiLHtkOiJNMTcgMTJIMyJ9XSxbInBhdGgiLHtkOiJtMTEgMTggNi02LTYtNiJ9XSxbInBhdGgiLHtkOiJNMjEgNXYxNCJ9XV19KTt2YXIgUngscHZlPWYoKCk9PntSeD1bWyJwYXRoIix7ZDoiTTUgMTJoMTQifV0sWyJwYXRoIix7ZDoibTEyIDUgNyA3LTcgNyJ9XV19KTt2YXIgT3gsZnZlPWYoKCk9PntPeD1bWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE3IDEwVjRoLTIifV0sWyJwYXRoIix7ZDoiTTE1IDEwaDQifV0sWyJyZWN0Iix7eDoiMTUiLHk6IjE0Iix3aWR0aDoiNCIsaGVpZ2h0OiI2IixyeToiMiJ9XV19KTt2YXIgRngsaHZlPWYoKCk9PntGeD1bWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJyZWN0Iix7eDoiMTUiLHk6IjQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNyAyMHYtNmgtMiJ9XSxbInBhdGgiLHtkOiJNMTUgMjBoNCJ9XV19KTt2YXIgYmQsbXZlPWYoKCk9PntiZD1bWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJwYXRoIix7ZDoiTTIwIDhoLTUifV0sWyJwYXRoIix7ZDoiTTE1IDEwVjYuNWEyLjUgMi41IDAgMCAxIDUgMFYxMCJ9XSxbInBhdGgiLHtkOiJNMTUgMTRoNWwtNSA2aDUifV1dfSk7dmFyIEJ4LGd2ZT1mKCgpPT57Qng9W1sicGF0aCIse2Q6Im0yMSAxNi00IDQtNC00In1dLFsicGF0aCIse2Q6Ik0xNyAyMFY0In1dLFsicGF0aCIse2Q6Im0zIDggNC00IDQgNCJ9XSxbInBhdGgiLHtkOiJNNyA0djE2In1dXX0pO3ZhciBIeCxidmU9ZigoKT0+e0h4PVtbInBhdGgiLHtkOiJtNSA5IDctNyA3IDcifV0sWyJwYXRoIix7ZDoiTTEyIDE2VjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIyMSIscjoiMSJ9XV19KTt2YXIgcXgsdnZlPWYoKCk9PntxeD1bWyJwYXRoIix7ZDoibTE4IDktNi02LTYgNiJ9XSxbInBhdGgiLHtkOiJNMTIgM3YxNCJ9XSxbInBhdGgiLHtkOiJNNSAyMWgxNCJ9XV19KTt2YXIgVngseHZlPWYoKCk9PntWeD1bWyJwYXRoIix7ZDoiTTcgMTdWN2gxMCJ9XSxbInBhdGgiLHtkOiJNMTcgMTcgNyA3In1dXX0pO3ZhciB2ZCx5dmU9ZigoKT0+e3ZkPVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTEgMTJoNCJ9XSxbInBhdGgiLHtkOiJNMTEgMTZoNyJ9XSxbInBhdGgiLHtkOiJNMTEgMjBoMTAifV1dfSk7dmFyIGp4LHd2ZT1mKCgpPT57ang9W1sicGF0aCIse2Q6Ik03IDdoMTB2MTAifV0sWyJwYXRoIix7ZDoiTTcgMTcgMTcgNyJ9XV19KTt2YXIgVXgsTXZlPWYoKCk9PntVeD1bWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJwYXRoIix7ZDoiTTExIDEyaDEwIn1dLFsicGF0aCIse2Q6Ik0xMSAxNmg3In1dLFsicGF0aCIse2Q6Ik0xMSAyMGg0In1dXX0pO3ZhciBXeCxrdmU9ZigoKT0+e1d4PVtbInBhdGgiLHtkOiJNNSAzaDE0In1dLFsicGF0aCIse2Q6Im0xOCAxMy02LTYtNiA2In1dLFsicGF0aCIse2Q6Ik0xMiA3djE0In1dXX0pO3ZhciBHeCxTdmU9ZigoKT0+e0d4PVtbInBhdGgiLHtkOiJtNSAxMiA3LTcgNyA3In1dLFsicGF0aCIse2Q6Ik0xMiAxOVY1In1dXX0pO3ZhciB4ZCx6dmU9ZigoKT0+e3hkPVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTUgNGg1bC01IDZoNSJ9XSxbInBhdGgiLHtkOiJNMTUgMjB2LTMuNWEyLjUgMi41IDAgMCAxIDUgMFYyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMThoLTUifV1dfSk7dmFyIFl4LEN2ZT1mKCgpPT57WXg9W1sicGF0aCIse2Q6Ik0xMiA2djEyIn1dLFsicGF0aCIse2Q6Ik0xNy4xOTYgOSA2LjgwNCAxNSJ9XSxbInBhdGgiLHtkOiJtNi44MDQgOSAxMC4zOTIgNiJ9XV19KTt2YXIgS3gsX3ZlPWYoKCk9PntLeD1bWyJwYXRoIix7ZDoibTQgNiAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Ik03IDE3VjMifV0sWyJwYXRoIix7ZDoibTE0IDYgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTdWMyJ9XSxbInBhdGgiLHtkOiJNNCAyMWgxNiJ9XV19KTt2YXIgWngsVHZlPWYoKCk9PntaeD1bWyJwYXRoIix7ZDoiTTEyLjk4MyAyMS4xODZhMSAxIDAgMCAxLTEuOTY2IDAgMTAgMTAgMCAwIDAtOC4yMDMtOC4yMDMgMSAxIDAgMCAxIDAtMS45NjYgMTAgMTAgMCAwIDAgOC4yMDMtOC4yMDMgMSAxIDAgMCAxIDEuOTY2IDAgMTAgMTAgMCAwIDAgOC4yMDMgOC4yMDMgMSAxIDAgMCAxIDAgMS45NjYgMTAgMTAgMCAwIDAtOC4yMDMgOC4yMDMifV1dfSk7dmFyIFh4LEx2ZT1mKCgpPT57WHg9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTE2IDh2NWEzIDMgMCAwIDAgNiAwdi0xYTEwIDEwIDAgMSAwLTQgOCJ9XV19KTt2YXIgUXgsJHZlPWYoKCk9PntReD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XSxbInBhdGgiLHtkOiJNMjAuMiAyMC4yYzIuMDQtMi4wMy4wMi03LjM2LTQuNS0xMS45LTQuNTQtNC41Mi05Ljg3LTYuNTQtMTEuOS00LjUtMi4wNCAyLjAzLS4wMiA3LjM2IDQuNSAxMS45IDQuNTQgNC41MiA5Ljg3IDYuNTQgMTEuOSA0LjVaIn1dLFsicGF0aCIse2Q6Ik0xNS43IDE1LjdjNC41Mi00LjU0IDYuNTQtOS44NyA0LjUtMTEuOS0yLjAzLTIuMDQtNy4zNi0uMDItMTEuOSA0LjUtNC41MiA0LjU0LTYuNTQgOS44Ny00LjUgMTEuOSAyLjAzIDIuMDQgNy4zNi4wMiAxMS45LTQuNVoifV1dfSk7dmFyIEp4LER2ZT1mKCgpPT57Sng9W1sicGF0aCIse2Q6Ik0yIDEwdjMifV0sWyJwYXRoIix7ZDoiTTYgNnYxMSJ9XSxbInBhdGgiLHtkOiJNMTAgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTQgOHY3In1dLFsicGF0aCIse2Q6Ik0xOCA1djEzIn1dLFsicGF0aCIse2Q6Ik0yMiAxMHYzIn1dXX0pO3ZhciBleSxBdmU9ZigoKT0+e2V5PVtbInBhdGgiLHtkOiJNMiAxM2EyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAxIDQgMHYxM2EyIDIgMCAwIDAgNCAwVjRhMiAyIDAgMCAxIDQgMHYxM2EyIDIgMCAwIDAgNCAwdi00YTIgMiAwIDAgMSAyLTIifV1dfSk7dmFyIHR5LFB2ZT1mKCgpPT57dHk9W1sicGF0aCIse2Q6Im0xNS40NzcgMTIuODkgMS41MTUgOC41MjZhLjUuNSAwIDAgMS0uODEuNDdsLTMuNTgtMi42ODdhMSAxIDAgMCAwLTEuMTk3IDBsLTMuNTg2IDIuNjg2YS41LjUgMCAwIDEtLjgxLS40NjlsMS41MTQtOC41MjYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI4IixyOiI2In1dXX0pO3ZhciBheSxFdmU9ZigoKT0+e2F5PVtbInBhdGgiLHtkOiJtMTQgMTItOC4zODEgOC4zOGExIDEgMCAwIDEtMy4wMDEtM0wxMSA5In1dLFsicGF0aCIse2Q6Ik0xNSAxNS41YS41LjUgMCAwIDAgLjUuNUE2LjUgNi41IDAgMCAwIDIyIDkuNWEuNS41IDAgMCAwLS41LS41aC0xLjY3MmEyIDIgMCAwIDEtMS40MTQtLjU4NmwtNS4wNjItNS4wNjJhMS4yMDUgMS4yMDUgMCAwIDAtMS43MDQgMEw5LjM1MiA1LjY0OGExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0bDUuMDYyIDUuMDYyQTIgMiAwIDAgMSAxNSAxMy44Mjh6In1dXX0pO3ZhciByeSxJdmU9ZigoKT0+e3J5PVtbInBhdGgiLHtkOiJNMTAgMTZjLjUuMyAxLjIuNSAyIC41czEuNS0uMiAyLS41In1dLFsicGF0aCIse2Q6Ik0xNSAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE5LjM4IDYuODEzQTkgOSAwIDAgMSAyMC44IDEwLjJhMiAyIDAgMCAxIDAgMy42IDkgOSAwIDAgMS0xNy42IDAgMiAyIDAgMCAxIDAtMy42QTkgOSAwIDAgMSAxMiAzYzIgMCAzLjUgMS4xIDMuNSAyLjVzLS45IDIuNS0yIDIuNWMtLjggMC0xLjUtLjQtMS41LTEifV0sWyJwYXRoIix7ZDoiTTkgMTJoLjAxIn1dXX0pO3ZhciB5ZCxOdmU9ZigoKT0+e3lkPVtbInBhdGgiLHtkOiJNMTMuNSAxMC41IDE1IDkifV0sWyJwYXRoIix7ZDoiTTQgNHYxNWExIDEgMCAwIDAgMSAxaDE1In1dLFsicGF0aCIse2Q6Ik00LjI5MyAxOS43MDcgNiAxOCJ9XSxbInBhdGgiLHtkOiJtOSAxNSAxLjUtMS41In1dXX0pO3ZhciBzeSxSdmU9ZigoKT0+e3N5PVtbInBhdGgiLHtkOiJNNCAxMGE0IDQgMCAwIDEgNC00aDhhNCA0IDAgMCAxIDQgNHYxMGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnoifV0sWyJwYXRoIix7ZDoiTTggMTBoOCJ9XSxbInBhdGgiLHtkOiJNOCAxOGg4In1dLFsicGF0aCIse2Q6Ik04IDIydi02YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjYifV0sWyJwYXRoIix7ZDoiTTkgNlY0YTIgMiAwIDAgMSAyLTJoMmEyIDIgMCAwIDEgMiAydjIifV1dfSk7dmFyIGl5LE92ZT1mKCgpPT57aXk9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjgiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMi4wMSIseTE6IjE2Iix5MjoiMTYifV1dfSk7dmFyIG95LEZ2ZT1mKCgpPT57b3k9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJNMTIgN3YxMCJ9XSxbInBhdGgiLHtkOiJNMTUuNCAxMGE0IDQgMCAxIDAgMCA0In1dXX0pO3ZhciB3ZCxCdmU9ZigoKT0+e3dkPVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoibTkgMTIgMiAyIDQtNCJ9XV19KTt2YXIgbnksSHZlPWYoKCk9PntueT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik0xNiA4aC02YTIgMiAwIDEgMCAwIDRoNGEyIDIgMCAxIDEgMCA0SDgifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV1dfSk7dmFyIGx5LHF2ZT1mKCgpPT57bHk9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJNNyAxMmg1In1dLFsicGF0aCIse2Q6Ik0xNSA5LjRhNCA0IDAgMSAwIDAgNS4yIn1dXX0pO3ZhciBjeSxWdmU9ZigoKT0+e2N5PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoiTTggOGg4In1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoibTEzIDE3LTUtMWgxYTQgNCAwIDAgMCAwLTgifV1dfSk7dmFyIGR5LGp2ZT1mKCgpPT57ZHk9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjE2Iix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIuMDEiLHkxOiI4Iix5MjoiOCJ9XV19KTt2YXIgdXksVXZlPWYoKCk9Pnt1eT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Im05IDggMyAzdjcifV0sWyJwYXRoIix7ZDoibTEyIDExIDMtMyJ9XSxbInBhdGgiLHtkOiJNOSAxMmg2In1dLFsicGF0aCIse2Q6Ik05IDE2aDYifV1dfSk7dmFyIHB5LFd2ZT1mKCgpPT57cHk9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTIiLHkyOiIxMiJ9XV19KTt2YXIgZnksR3ZlPWYoKCk9PntmeT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Im0xNSA5LTYgNiJ9XSxbInBhdGgiLHtkOiJNOSA5aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTVoLjAxIn1dXX0pO3ZhciBoeSxZdmU9ZigoKT0+e2h5PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiI4Iix5MjoiMTYifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNiIseTE6IjEyIix5MjoiMTIifV1dfSk7dmFyIG15LEt2ZT1mKCgpPT57bXk9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg0In1dLFsicGF0aCIse2Q6Ik0xMCAxNlY5LjVhMi41IDIuNSAwIDAgMSA1IDAifV0sWyJwYXRoIix7ZDoiTTggMTZoNyJ9XV19KTt2YXIgTWQsWnZlPWYoKCk9PntNZD1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik05LjA5IDlhMyAzIDAgMCAxIDUuODMgMWMwIDItMyAzLTMgMyJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMi4wMSIseTE6IjE3Iix5MjoiMTcifV1dfSk7dmFyIGd5LFh2ZT1mKCgpPT57Z3k9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJNMTEgMTdWOGg0In1dLFsicGF0aCIse2Q6Ik0xMSAxMmgzIn1dLFsicGF0aCIse2Q6Ik05IDE2aDQifV1dfSk7dmFyIGJ5LFF2ZT1mKCgpPT57Ynk9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJNOSAxNmg1In1dLFsicGF0aCIse2Q6Ik05IDEyaDVhMiAyIDAgMSAwIDAtNGgtM3Y5In1dXX0pO3ZhciB2eSxKdmU9ZigoKT0+e3Z5PVtbInBhdGgiLHtkOiJNMTEgN3YxMGE1IDUgMCAwIDAgNS01In1dLFsicGF0aCIse2Q6Im0xNSA4LTYgMyJ9XSxbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NiJ9XV19KTt2YXIgeHksZXhlPWYoKCk9Pnt4eT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsibGluZSIse3gxOiIxNSIseDI6IjkiLHkxOiI5Iix5MjoiMTUifV0sWyJsaW5lIix7eDE6IjkiLHgyOiIxNSIseTE6IjkiLHkyOiIxNSJ9XV19KTt2YXIgeXksdHhlPWYoKCk9Pnt5eT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dXX0pO3ZhciB3eSxheGU9ZigoKT0+e3d5PVtbInBhdGgiLHtkOiJNMjIgMThINmEyIDIgMCAwIDEtMi0yVjdhMiAyIDAgMCAwLTItMiJ9XSxbInBhdGgiLHtkOiJNMTcgMTRWNGEyIDIgMCAwIDAtMi0yaC0xYTIgMiAwIDAgMC0yIDJ2MTAifV0sWyJyZWN0Iix7d2lkdGg6IjEzIixoZWlnaHQ6IjgiLHg6IjgiLHk6IjYiLHJ4OiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMjAiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjIwIixyOiIyIn1dXX0pO3ZhciBNeSxyeGU9ZigoKT0+e015PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNNC45MjkgNC45MjkgMTkuMDcgMTkuMDcxIn1dXX0pO3ZhciBreSxzeGU9ZigoKT0+e2t5PVtbInBhdGgiLHtkOiJNMTIgMTZ2MWEyIDIgMCAwIDAgMiAyaDFhMiAyIDAgMCAxIDIgMnYxIn1dLFsicGF0aCIse2Q6Ik0xMiA2YTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTE4IDhjMCA0LTMuNSA4LTYgOHMtNi00LTYtOGE2IDYgMCAwIDEgMTIgMCJ9XV19KTt2YXIgU3ksaXhlPWYoKCk9PntTeT1bWyJwYXRoIix7ZDoiTTQgMTNjMy41LTIgOC0yIDEwIDJhNS41IDUuNSAwIDAgMSA4IDUifV0sWyJwYXRoIix7ZDoiTTUuMTUgMTcuODljNS41Mi0xLjUyIDguNjUtNi44OSA3LTEyQzExLjU1IDQgMTEuNSAyIDEzIDJjMy4yMiAwIDUgNS41IDUgOCAwIDYuNS00LjIgMTItMTAuNDkgMTJDNS4xMSAyMiAyIDIyIDIgMjBjMC0xLjUgMS4xNC0xLjU1IDMuMTUtMi4xMVoifV1dfSk7dmFyIHp5LG94ZT1mKCgpPT57enk9W1sicGF0aCIse2Q6Ik0xMCAxMC4wMWguMDEifV0sWyJwYXRoIix7ZDoiTTEwIDE0LjAxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTQgMTAuMDFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxNC4wMWguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDZ2MTIifV0sWyJwYXRoIix7ZDoiTTYgNnYxMiJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMjAiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBDeSxueGU9ZigoKT0+e0N5PVtbInBhdGgiLHtkOiJNMTIgMThINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjUifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTkgMjJ2LTYifV0sWyJwYXRoIix7ZDoibTIyIDE5LTMtMy0zIDMifV0sWyJwYXRoIix7ZDoiTTYgMTJoLjAxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIF95LGx4ZT1mKCgpPT57X3k9W1sicGF0aCIse2Q6Ik0xMiAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NSJ9XSxbInBhdGgiLHtkOiJtMTYgMTkgMyAzIDMtMyJ9XSxbInBhdGgiLHtkOiJNMTggMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOSAxNnY2In1dLFsicGF0aCIse2Q6Ik02IDEyaC4wMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dXX0pO3ZhciBUeSxjeGU9ZigoKT0+e1R5PVtbInBhdGgiLHtkOiJNMTMgMThINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjUifV0sWyJwYXRoIix7ZDoibTE3IDE3IDUgNSJ9XSxbInBhdGgiLHtkOiJNMTggMTJoLjAxIn1dLFsicGF0aCIse2Q6Im0yMiAxNy01IDUifV0sWyJwYXRoIix7ZDoiTTYgMTJoLjAxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIEx5LGR4ZT1mKCgpPT57THk9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxMiIseDoiMiIseToiNiIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XSxbInBhdGgiLHtkOiJNNiAxMmguMDFNMTggMTJoLjAxIn1dXX0pO3ZhciAkeSx1eGU9ZigoKT0+eyR5PVtbInBhdGgiLHtkOiJNMyA1djE0In1dLFsicGF0aCIse2Q6Ik04IDV2MTQifV0sWyJwYXRoIix7ZDoiTTEyIDV2MTQifV0sWyJwYXRoIix7ZDoiTTE3IDV2MTQifV0sWyJwYXRoIix7ZDoiTTIxIDV2MTQifV1dfSk7dmFyIER5LHB4ZT1mKCgpPT57RHk9W1sicGF0aCIse2Q6Ik0xMCAzYTQxIDQxIDAgMCAwIDAgMTgifV0sWyJwYXRoIix7ZDoiTTE0IDNhNDEgNDEgMCAwIDEgMCAxOCJ9XSxbInBhdGgiLHtkOiJNMTcgM2EyIDIgMCAwIDEgMS42OC45MiAxNS4yNSAxNS4yNSAwIDAgMSAwIDE2LjE2QTIgMiAwIDAgMSAxNyAyMUg3YTIgMiAwIDAgMS0xLjY4LS45MiAxNS4yNSAxNS4yNSAwIDAgMSAwLTE2LjE2QTIgMiAwIDAgMSA3IDN6In1dLFsicGF0aCIse2Q6Ik0zLjg0IDE3aDE2LjMyIn1dLFsicGF0aCIse2Q6Ik0zLjg0IDdoMTYuMzIifV1dfSk7dmFyIEF5LGZ4ZT1mKCgpPT57QXk9W1sicGF0aCIse2Q6Ik00IDIwaDE2In1dLFsicGF0aCIse2Q6Im02IDE2IDYtMTIgNiAxMiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dXX0pO3ZhciBQeSxoeGU9ZigoKT0+e1B5PVtbInBhdGgiLHtkOiJNMTAgNCA4IDYifV0sWyJwYXRoIix7ZDoiTTE3IDE5djIifV0sWyJwYXRoIix7ZDoiTTIgMTJoMjAifV0sWyJwYXRoIix7ZDoiTTcgMTl2MiJ9XSxbInBhdGgiLHtkOiJNOSA1IDcuNjIxIDMuNjIxQTIuMTIxIDIuMTIxIDAgMCAwIDQgNXYxMmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTUifV1dfSk7dmFyIEV5LG14ZT1mKCgpPT57RXk9W1sicGF0aCIse2Q6Im0xMSA3LTMgNWg0bC0zIDUifV0sWyJwYXRoIix7ZDoiTTE0Ljg1NiA2SDE2YTIgMiAwIDAgMSAyIDJ2OGEyIDIgMCAwIDEtMiAyaC0yLjkzNSJ9XSxbInBhdGgiLHtkOiJNMjIgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTUuMTQgMThINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgyLjkzNiJ9XV19KTt2YXIgSXksZ3hlPWYoKCk9PntJeT1bWyJwYXRoIix7ZDoiTTEwIDEwdjQifV0sWyJwYXRoIix7ZDoiTTE0IDEwdjQifV0sWyJwYXRoIix7ZDoiTTIyIDE0di00In1dLFsicGF0aCIse2Q6Ik02IDEwdjQifV0sWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjEyIixyeDoiMiJ9XV19KTt2YXIgTnksYnhlPWYoKCk9PntOeT1bWyJwYXRoIix7ZDoiTTIyIDE0di00In1dLFsicGF0aCIse2Q6Ik02IDE0di00In1dLFsicmVjdCIse3g6IjIiLHk6IjYiLHdpZHRoOiIxNiIsaGVpZ2h0OiIxMiIscng6IjIifV1dfSk7dmFyIFJ5LHZ4ZT1mKCgpPT57Unk9W1sicGF0aCIse2Q6Ik0xMCAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNMjIgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTYgMTR2LTQifV0sWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjEyIixyeDoiMiJ9XV19KTt2YXIgT3kseHhlPWYoKCk9PntPeT1bWyJwYXRoIix7ZDoiTTEwIDl2NiJ9XSxbInBhdGgiLHtkOiJNMTIuNTQzIDZIMTZhMiAyIDAgMCAxIDIgMnY4YTIgMiAwIDAgMS0yIDJoLTMuNjA1In1dLFsicGF0aCIse2Q6Ik0yMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNyAxMmg2In1dLFsicGF0aCIse2Q6Ik03LjYwNiAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDMuNjA2In1dXX0pO3ZhciBGeSx5eGU9ZigoKT0+e0Z5PVtbInBhdGgiLHtkOiJNMTAgMTdoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMCA3djYifV0sWyJwYXRoIix7ZDoiTTE0IDZoMmEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTYgMThINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgyIn1dXX0pO3ZhciBCeSx3eGU9ZigoKT0+e0J5PVtbInBhdGgiLHtkOiJNIDIyIDE0IEwgMjIgMTAifV0sWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjEyIixyeDoiMiJ9XV19KTt2YXIgSHksTXhlPWYoKCk9PntIeT1bWyJwYXRoIix7ZDoiTTkgOWMtLjY0LjY0LTEuNTIxLjk1NC0yLjQwMiAxLjE2NUE2IDYgMCAwIDAgOCAyMmExMy45NiAxMy45NiAwIDAgMCA5LjktNC4xIn1dLFsicGF0aCIse2Q6Ik0xMC43NSA1LjA5M0E2IDYgMCAwIDEgMjIgOGMwIDIuNDExLS42MSA0LjY4LTEuNjgzIDYuNjYifV0sWyJwYXRoIix7ZDoiTTUuMzQxIDEwLjYyYTQgNCAwIDAgMCA2LjQ4NyAxLjIwOE0xMC42MiA1LjM0MWE0LjAxNSA0LjAxNSAwIDAgMSAyLjAzOSAyLjA0In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dfSk7dmFyIHF5LGt4ZT1mKCgpPT57cXk9W1sicGF0aCIse2Q6Ik00LjUgM2gxNSJ9XSxbInBhdGgiLHtkOiJNNiAzdjE2YTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yVjMifV0sWyJwYXRoIix7ZDoiTTYgMTRoMTIifV1dfSk7dmFyIFZ5LFN4ZT1mKCgpPT57Vnk9W1sicGF0aCIse2Q6Ik0yIDIwdi04YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnY4In1dLFsicGF0aCIse2Q6Ik00IDEwVjZhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAydjQifV0sWyJwYXRoIix7ZDoiTTEyIDR2NiJ9XSxbInBhdGgiLHtkOiJNMiAxOGgyMCJ9XV19KTt2YXIganksenhlPWYoKCk9PntqeT1bWyJwYXRoIix7ZDoiTTEwLjE2NSA2LjU5OEM5Ljk1NCA3LjQ3OCA5LjY0IDguMzYgOSA5Yy0uNjQuNjQtMS41MjEuOTU0LTIuNDAyIDEuMTY1QTYgNiAwIDAgMCA4IDIyYzcuNzMyIDAgMTQtNi4yNjggMTQtMTRhNiA2IDAgMCAwLTExLjgzNS0xLjQwMloifV0sWyJwYXRoIix7ZDoiTTUuMzQxIDEwLjYyYTQgNCAwIDEgMCA1LjI3OS01LjI4In1dXX0pO3ZhciBVeSxDeGU9ZigoKT0+e1V5PVtbInBhdGgiLHtkOiJNMyAyMHYtOGEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2OCJ9XSxbInBhdGgiLHtkOiJNNSAxMFY2YTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnY0In1dLFsicGF0aCIse2Q6Ik0zIDE4aDE4In1dXX0pO3ZhciBXeSxfeGU9ZigoKT0+e1d5PVtbInBhdGgiLHtkOiJNMTEuNzcxIDYuMTA5YTIuNSAyLjUgMCAwIDEgMy4xMiAzLjEyIn1dLFsicGF0aCIse2Q6Ik0xNy44NTIgMTIuMTg1YTYuNSA2LjUgMCAwIDAtOS4wMzUtOS4wNCJ9XSxbInBhdGgiLHtkOiJNMTguMDEzIDE4LjAxM0MxNS4wMjkgMjAuMzQ5IDEwLjgzMSAyMiA3IDIyYTMgMyAwIDAgMS0yLjY4LTEuNjZMMi40IDE2LjUifV0sWyJwYXRoIix7ZDoibTE4LjUgNiAyLjE5IDQuNWE2LjQ4IDYuNDggMCAwIDEtLjEzOSA0LjM5MyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik02LjM1NSA2LjM3YTcgNyAwIDAgMC0uMDc1LjIzYy0xLjEgMy4xMy0uNzggMy45LTMuMTggNi4wOEEzIDMgMCAwIDAgNSAxOGMzLjM1NiAwIDYuOTkzLTEuMjY3IDkuODUtMy4xNTEifV1dfSk7dmFyIEd5LFR4ZT1mKCgpPT57R3k9W1sicGF0aCIse2Q6Ik0yIDR2MTYifV0sWyJwYXRoIix7ZDoiTTIgOGgxOGEyIDIgMCAwIDEgMiAydjEwIn1dLFsicGF0aCIse2Q6Ik0yIDE3aDIwIn1dLFsicGF0aCIse2Q6Ik02IDh2OSJ9XV19KTt2YXIgWXksTHhlPWYoKCk9PntZeT1bWyJwYXRoIix7ZDoiTTE2LjQgMTMuN0E2LjUgNi41IDAgMSAwIDYuMjggNi42Yy0xLjEgMy4xMy0uNzggMy45LTMuMTggNi4wOEEzIDMgMCAwIDAgNSAxOGM0IDAgOC40LTEuOCAxMS40LTQuMyJ9XSxbInBhdGgiLHtkOiJtMTguNSA2IDIuMTkgNC41YTYuNDggNi40OCAwIDAgMS0yLjI5IDcuMkMxNS40IDIwLjIgMTEgMjIgNyAyMmEzIDMgMCAwIDEtMi42OC0xLjY2TDIuNCAxNi41In1dLFsiY2lyY2xlIix7Y3g6IjEyLjUiLGN5OiI4LjUiLHI6IjIuNSJ9XV19KTt2YXIgS3ksJHhlPWYoKCk9PntLeT1bWyJwYXRoIix7ZDoiTTEzIDEzdjUifV0sWyJwYXRoIix7ZDoiTTE3IDExLjQ3VjgifV0sWyJwYXRoIix7ZDoiTTE3IDExaDFhMyAzIDAgMCAxIDIuNzQ1IDQuMjExIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTUgOHYxMmEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMnYtMyJ9XSxbInBhdGgiLHtkOiJNNy41MzYgNy41MzVDNi43NjYgNy42NDkgNi4xNTQgOCA1LjUgOGEyLjUgMi41IDAgMCAxLTEuNzY4LTQuMjY4In1dLFsicGF0aCIse2Q6Ik04LjcyNyAzLjIwNEM5LjMwNiAyLjc2NyA5Ljg4NSAyIDExIDJjMS41NiAwIDIgMS41IDMgMS41czEuNzItLjUgMi41LS41YTEgMSAwIDEgMSAwIDVjLS43OCAwLTEuNS0uNS0yLjUtLjVhMy4xNDkgMy4xNDkgMCAwIDAtLjg0Mi4xMiJ9XSxbInBhdGgiLHtkOiJNOSAxNC42VjE4In1dXX0pO3ZhciBaeSxEeGU9ZigoKT0+e1p5PVtbInBhdGgiLHtkOiJNMTcgMTFoMWEzIDMgMCAwIDEgMCA2aC0xIn1dLFsicGF0aCIse2Q6Ik05IDEydjYifV0sWyJwYXRoIix7ZDoiTTEzIDEydjYifV0sWyJwYXRoIix7ZDoiTTE0IDcuNWMtMSAwLTEuNDQuNS0zIC41cy0yLS41LTMtLjUtMS43Mi41LTIuNS41YTIuNSAyLjUgMCAwIDEgMC01Yy43OCAwIDEuNTcuNSAyLjUuNVM5LjQ0IDIgMTEgMnMyIDEuNSAzIDEuNSAxLjcyLS41IDIuNS0uNWEyLjUgMi41IDAgMCAxIDAgNWMtLjc4IDAtMS41LS41LTIuNS0uNVoifV0sWyJwYXRoIix7ZDoiTTUgOHYxMmEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlY4In1dXX0pO3ZhciBYeSxBeGU9ZigoKT0+e1h5PVtbInBhdGgiLHtkOiJNMTAuMjY4IDIxYTIgMiAwIDAgMCAzLjQ2NCAwIn1dLFsicGF0aCIse2Q6Im0xNSA4IDIgMiA0LTQifV0sWyJwYXRoIix7ZDoiTTE2Ljg2MDcgNC40ODI0QTYgNiAwIDAgMCA2IDhDNiAxMi40OTkgNC41ODkgMTMuOTU2IDMuMjYyIDE1LjMyNiJ9XSxbInBhdGgiLHtkOiJNMy4yNjIgMTUuMzI2QTEgMSAwIDAgMCA0IDE3SDIwQTEgMSAwIDAgMCAyMC43NCAxNS4zMjdDMjAuMjA5IDE0Ljc3OSAxOS42NjUgMTQuMjE4IDE5LjIwMyAxMy40NTQifV1dfSk7dmFyIFF5LFB4ZT1mKCgpPT57UXk9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoiTTExLjY4IDIuMDA5QTYgNiAwIDAgMCA2IDhjMCA0LjQ5OS0xLjQxMSA1Ljk1Ni0yLjczOCA3LjMyNkExIDEgMCAwIDAgNCAxN2gxNmExIDEgMCAwIDAgLjc0LTEuNjczYy0uODI0LS44NS0xLjY3OC0xLjczMS0yLjIxLTMuMzQ4In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiNSIscjoiMyJ9XV19KTt2YXIgSnksRXhlPWYoKCk9PntKeT1bWyJwYXRoIix7ZDoiTTE4LjUxOCAxNy4zNDdBNyA3IDAgMCAxIDE0IDE5In1dLFsicGF0aCIse2Q6Ik0xOC44IDRBMTEgMTEgMCAwIDEgMjAgOSJ9XSxbInBhdGgiLHtkOiJNOSA5aC4wMSJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjE2IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI5IixyOiI3In1dLFsicmVjdCIse3g6IjQiLHk6IjE2Iix3aWR0aDoiMTAiLGhlaWdodDoiNiIscng6IjIifV1dfSk7dmFyIGV3LEl4ZT1mKCgpPT57ZXc9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoiTTE3IDE3SDRhMSAxIDAgMCAxLS43NC0xLjY3M0M0LjU5IDEzLjk1NiA2IDEyLjQ5OSA2IDhhNiA2IDAgMCAxIC4yNTgtMS43NDIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOC42NjggMy4wMUE2IDYgMCAwIDEgMTggOGMwIDIuNjg3Ljc3IDQuNjUzIDEuNzA3IDYuMDUifV1dfSk7dmFyIHR3LE54ZT1mKCgpPT57dHc9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoiTTE1IDhoNiJ9XSxbInBhdGgiLHtkOiJNMTYuMjQzIDMuNzU3QTYgNiAwIDAgMCA2IDhjMCA0LjQ5OS0xLjQxMSA1Ljk1Ni0yLjczOCA3LjMyNkExIDEgMCAwIDAgNCAxN2gxNmExIDEgMCAwIDAgLjc0LTEuNjczQTkuNCA5LjQgMCAwIDEgMTguNjY3IDEyIn1dXX0pO3ZhciBhdyxSeGU9ZigoKT0+e2F3PVtbInBhdGgiLHtkOiJNMTAuMjY4IDIxYTIgMiAwIDAgMCAzLjQ2NCAwIn1dLFsicGF0aCIse2Q6Ik0xNSA4aDYifV0sWyJwYXRoIix7ZDoiTTE4IDV2NiJ9XSxbInBhdGgiLHtkOiJNMjAuMDAyIDE0LjQ2NGE5IDkgMCAwIDAgLjczOC44NjNBMSAxIDAgMCAxIDIwIDE3SDRhMSAxIDAgMCAxLS43NC0xLjY3M0M0LjU5IDEzLjk1NiA2IDEyLjQ5OSA2IDhhNiA2IDAgMCAxIDguNzUtNS4zMzIifV1dfSk7dmFyIHJ3LE94ZT1mKCgpPT57cnc9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoiTTIyIDhjMC0yLjMtLjgtNC4zLTItNiJ9XSxbInBhdGgiLHtkOiJNMy4yNjIgMTUuMzI2QTEgMSAwIDAgMCA0IDE3aDE2YTEgMSAwIDAgMCAuNzQtMS42NzNDMTkuNDEgMTMuOTU2IDE4IDEyLjQ5OSAxOCA4QTYgNiAwIDAgMCA2IDhjMCA0LjQ5OS0xLjQxMSA1Ljk1Ni0yLjczOCA3LjMyNiJ9XSxbInBhdGgiLHtkOiJNNCAyQzIuOCAzLjcgMiA1LjcgMiA4In1dXX0pO3ZhciBzdyxGeGU9ZigoKT0+e3N3PVtbInBhdGgiLHtkOiJNMTAuMjY4IDIxYTIgMiAwIDAgMCAzLjQ2NCAwIn1dLFsicGF0aCIse2Q6Ik0zLjI2MiAxNS4zMjZBMSAxIDAgMCAwIDQgMTdoMTZhMSAxIDAgMCAwIC43NC0xLjY3M0MxOS40MSAxMy45NTYgMTggMTIuNDk5IDE4IDhBNiA2IDAgMCAwIDYgOGMwIDQuNDk5LTEuNDExIDUuOTU2LTIuNzM4IDcuMzI2In1dXX0pO3ZhciBrZCxCeGU9ZigoKT0+e2tkPVtbInJlY3QiLHt3aWR0aDoiMTMiLGhlaWdodDoiNyIseDoiMyIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoibTIyIDE1LTMtMyAzLTMifV0sWyJyZWN0Iix7d2lkdGg6IjEzIixoZWlnaHQ6IjciLHg6IjMiLHk6IjE0IixyeDoiMSJ9XV19KTt2YXIgU2QsSHhlPWYoKCk9PntTZD1bWyJyZWN0Iix7d2lkdGg6IjEzIixoZWlnaHQ6IjciLHg6IjgiLHk6IjMiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Im0yIDkgMyAzLTMgMyJ9XSxbInJlY3QiLHt3aWR0aDoiMTMiLGhlaWdodDoiNyIseDoiOCIseToiMTQiLHJ4OiIxIn1dXX0pO3ZhciBpdyxxeGU9ZigoKT0+e2l3PVtbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiIxMyIseDoiMyIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoibTkgMjIgMy0zIDMgMyJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiIxMyIseDoiMTQiLHk6IjMiLHJ4OiIxIn1dXX0pO3ZhciBvdyxWeGU9ZigoKT0+e293PVtbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiIxMyIseDoiMyIseToiOCIscng6IjEifV0sWyJwYXRoIix7ZDoibTE1IDItMyAzLTMtMyJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiIxMyIseDoiMTQiLHk6IjgiLHJ4OiIxIn1dXX0pO3ZhciBudyxqeGU9ZigoKT0+e253PVtbInBhdGgiLHtkOiJNMTIuNDA5IDEzLjAxN0E1IDUgMCAwIDEgMjIgMTVjMCAzLjg2Ni00IDctOSA3LTQuMDc3IDAtOC4xNTMtLjgyLTEwLjM3MS0yLjQ2Mi0uNDI2LS4zMTYtLjYzMS0uODMyLS42Mi0xLjM2MkMyLjExOCAxMi43MjMgMi42MjcgMiAxMCAyYTMgMyAwIDAgMSAzIDMgMiAyIDAgMCAxLTIgMmMtMS4xMDUgMC0xLjY0LS40NDQtMi0xIn1dLFsicGF0aCIse2Q6Ik0xNSAxNGE1IDUgMCAwIDAtNy41ODQgMiJ9XSxbInBhdGgiLHtkOiJNOS45NjQgNi44MjVDOC4wMTkgNy45NzcgOS41IDEzIDggMTUifV1dfSk7dmFyIGx3LFV4ZT1mKCgpPT57bHc9W1siY2lyY2xlIix7Y3g6IjE4LjUiLGN5OiIxNy41IixyOiIzLjUifV0sWyJjaXJjbGUiLHtjeDoiNS41IixjeToiMTcuNSIscjoiMy41In1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiNSIscjoiMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTcuNVYxNGwtMy0zIDQtMyAyIDNoMiJ9XV19KTt2YXIgY3csV3hlPWYoKCk9Pntjdz1bWyJyZWN0Iix7eDoiMTQiLHk6IjE0Iix3aWR0aDoiNCIsaGVpZ2h0OiI2IixyeDoiMiJ9XSxbInJlY3QiLHt4OiI2Iix5OiI0Iix3aWR0aDoiNCIsaGVpZ2h0OiI2IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNiAyMGg0In1dLFsicGF0aCIse2Q6Ik0xNCAxMGg0In1dLFsicGF0aCIse2Q6Ik02IDE0aDJ2NiJ9XSxbInBhdGgiLHtkOiJNMTQgNGgydjYifV1dfSk7dmFyIGR3LEd4ZT1mKCgpPT57ZHc9W1sicGF0aCIse2Q6Ik0xMCAxMGg0In1dLFsicGF0aCIse2Q6Ik0xOSA3VjRhMSAxIDAgMCAwLTEtMWgtMmExIDEgMCAwIDAtMSAxdjMifV0sWyJwYXRoIix7ZDoiTTIwIDIxYTIgMiAwIDAgMCAyLTJ2LTMuODUxYzAtMS4zOS0yLTIuOTYyLTItNC44MjlWOGExIDEgMCAwIDAtMS0xaC00YTEgMSAwIDAgMC0xIDF2MTFhMiAyIDAgMCAwIDIgMnoifV0sWyJwYXRoIix7ZDoiTSAyMiAxNiBMIDIgMTYifV0sWyJwYXRoIix7ZDoiTTQgMjFhMiAyIDAgMCAxLTItMnYtMy44NTFjMC0xLjM5IDItMi45NjIgMi00LjgyOVY4YTEgMSAwIDAgMSAxLTFoNGExIDEgMCAwIDEgMSAxdjExYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik05IDdWNGExIDEgMCAwIDAtMS0xSDZhMSAxIDAgMCAwLTEgMXYzIn1dXX0pO3ZhciB1dyxZeGU9ZigoKT0+e3V3PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjExLjkiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTYuNyAzLjRjLS45IDIuNSAwIDUuMiAyLjIgNi43QzYuNSA5IDMuNyA5LjYgMiAxMS42In1dLFsicGF0aCIse2Q6Im04LjkgMTAuMSAxLjQuOCJ9XSxbInBhdGgiLHtkOiJNMTcuMyAzLjRjLjkgMi41IDAgNS4yLTIuMiA2LjcgMi40LTEuMiA1LjItLjYgNi45IDEuNSJ9XSxbInBhdGgiLHtkOiJtMTUuMSAxMC4xLTEuNC44In1dLFsicGF0aCIse2Q6Ik0xNi43IDIwLjhjLTIuNi0uNC00LjYtMi42LTQuNy01LjMtLjIgMi42LTIuMSA0LjgtNC43IDUuMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTMuOXYxLjYifV0sWyJwYXRoIix7ZDoiTTEzLjUgNS40Yy0xLS4yLTItLjItMyAwIn1dLFsicGF0aCIse2Q6Ik0xNyAxNi40Yy43LS43IDEuMi0xLjYgMS41LTIuNSJ9XSxbInBhdGgiLHtkOiJNNS41IDEzLjljLjMuOS44IDEuOCAxLjUgMi41In1dXX0pO3ZhciBwdyxLeGU9ZigoKT0+e3B3PVtbInBhdGgiLHtkOiJNMTYgN2guMDEifV0sWyJwYXRoIix7ZDoiTTMuNCAxOEgxMmE4IDggMCAwIDAgOC04VjdhNCA0IDAgMCAwLTcuMjgtMi4zTDIgMjAifV0sWyJwYXRoIix7ZDoibTIwIDcgMiAuNS0yIC41In1dLFsicGF0aCIse2Q6Ik0xMCAxOHYzIn1dLFsicGF0aCIse2Q6Ik0xNCAxNy43NVYyMSJ9XSxbInBhdGgiLHtkOiJNNyAxOGE2IDYgMCAwIDAgMy44NC0xMC42MSJ9XV19KTt2YXIgZncsWnhlPWYoKCk9Pntmdz1bWyJwYXRoIix7ZDoiTTEyIDE4djQifV0sWyJwYXRoIix7ZDoibTE3IDE4IDEuOTU2LTExLjQ2OCJ9XSxbInBhdGgiLHtkOiJtMyA4IDcuODItNS42MTVhMiAyIDAgMCAxIDIuMzYgMEwyMSA4In1dLFsicGF0aCIse2Q6Ik00IDE4aDE2In1dLFsicGF0aCIse2Q6Ik03IDE4IDUuMDQ0IDYuNTMyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjIifV1dfSk7dmFyIGh3LFh4ZT1mKCgpPT57aHc9W1sicGF0aCIse2Q6Ik0xMS43NjcgMTkuMDg5YzQuOTI0Ljg2OCA2LjE0LTYuMDI1IDEuMjE2LTYuODk0bS0xLjIxNiA2Ljg5NEw1Ljg2IDE4LjA0N201LjkwOCAxLjA0Mi0uMzQ3IDEuOTdtMS41NjMtOC44NjRjNC45MjQuODY5IDYuMTQtNi4wMjUgMS4yMTUtNi44OTNtLTEuMjE1IDYuODkzLTMuOTQtLjY5NG01LjE1NS02LjJMOC4yOSA0LjI2bTUuOTA4IDEuMDQyLjM0OC0xLjk3TTcuNDggMjAuMzY0bDMuMTI2LTE3LjcyNyJ9XV19KTt2YXIgbXcsUXhlPWYoKCk9Pnttdz1bWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjcifV0sWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiIxNSIscjoiNyJ9XV19KTt2YXIgZ3csSnhlPWYoKCk9Pntndz1bWyJwYXRoIix7ZDoiTTMgM2gxOCJ9XSxbInBhdGgiLHtkOiJNMjAgN0g4In1dLFsicGF0aCIse2Q6Ik0yMCAxMUg4In1dLFsicGF0aCIse2Q6Ik0xMCAxOWgxMCJ9XSxbInBhdGgiLHtkOiJNOCAxNWgxMiJ9XSxbInBhdGgiLHtkOiJNNCAzdjE0In1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIxOSIscjoiMiJ9XV19KTt2YXIgYncsZXllPWYoKCk9Pntidz1bWyJwYXRoIix7ZDoiTTEwIDIyVjdhMSAxIDAgMCAwLTEtMUg0YTIgMiAwIDAgMC0yIDJ2MTJhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0ydi01YTEgMSAwIDAgMC0xLTFIMiJ9XSxbInJlY3QiLHt4OiIxNCIseToiMiIsd2lkdGg6IjgiLGhlaWdodDoiOCIscng6IjEifV1dfSk7dmFyIHZ3LHR5ZT1mKCgpPT57dnc9W1sicGF0aCIse2Q6Im03IDcgMTAgMTAtNSA1VjJsNSA1TDcgMTcifV0sWyJsaW5lIix7eDE6IjE4Iix4MjoiMjEiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIzIix4MjoiNiIseTE6IjEyIix5MjoiMTIifV1dfSk7dmFyIHh3LGF5ZT1mKCgpPT57eHc9W1sicGF0aCIse2Q6Im0xNyAxNy01IDVWMTJsLTUgNSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0xNC41IDkuNSAxNyA3bC01LTV2NC41In1dXX0pO3ZhciB5dyxyeWU9ZigoKT0+e3l3PVtbInBhdGgiLHtkOiJtNyA3IDEwIDEwLTUgNVYybDUgNUw3IDE3In1dXX0pO3ZhciB3dyxzeWU9ZigoKT0+e3d3PVtbInBhdGgiLHtkOiJtNyA3IDEwIDEwLTUgNVYybDUgNUw3IDE3In1dLFsicGF0aCIse2Q6Ik0yMC44MyAxNC44M2E0IDQgMCAwIDAgMC01LjY2In1dLFsicGF0aCIse2Q6Ik0xOCAxMmguMDEifV1dfSk7dmFyIE13LGl5ZT1mKCgpPT57TXc9W1sicGF0aCIse2Q6Ik02IDEyaDlhNCA0IDAgMCAxIDAgOEg3YTEgMSAwIDAgMS0xLTFWNWExIDEgMCAwIDEgMS0xaDdhNCA0IDAgMCAxIDAgOCJ9XV19KTt2YXIga3csb3llPWYoKCk9Pntrdz1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMyIscjoiOSJ9XSxbInBhdGgiLHtkOiJNMTQuMzUgNC42NSAxNi4zIDIuN2EyLjQxIDIuNDEgMCAwIDEgMy40IDBsMS42IDEuNmEyLjQgMi40IDAgMCAxIDAgMy40bC0xLjk1IDEuOTUifV0sWyJwYXRoIix7ZDoibTIyIDItMS41IDEuNSJ9XV19KTt2YXIgU3csbnllPWYoKCk9PntTdz1bWyJwYXRoIix7ZDoiTTIxIDE2VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M2w3IDRhMiAyIDAgMCAwIDIgMGw3LTRBMiAyIDAgMCAwIDIxIDE2eiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dXX0pO3ZhciB6dyxseWU9ZigoKT0+e3p3PVtbInBhdGgiLHtkOiJNMTcgMTBjLjctLjcgMS42OSAwIDIuNSAwYTIuNSAyLjUgMCAxIDAgMC01IC41LjUgMCAwIDEtLjUtLjUgMi41IDIuNSAwIDEgMC01IDBjMCAuODEuNyAxLjggMCAyLjVsLTcgN2MtLjcuNy0xLjY5IDAtMi41IDBhMi41IDIuNSAwIDAgMCAwIDVjLjI4IDAgLjUuMjIuNS41YTIuNSAyLjUgMCAxIDAgNSAwYzAtLjgxLS43LTEuOCAwLTIuNVoifV1dfSk7dmFyIEN3LGN5ZT1mKCgpPT57Q3c9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Im04IDEzIDQtNyA0IDcifV0sWyJwYXRoIix7ZDoiTTkuMSAxMWg1LjcifV1dfSk7dmFyIF93LGR5ZT1mKCgpPT57X3c9W1sicGF0aCIse2Q6Ik0xMiAxM2guMDEifV0sWyJwYXRoIix7ZDoiTTEyIDZ2MyJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XV19KTt2YXIgVHcsdXllPWYoKCk9PntUdz1bWyJwYXRoIix7ZDoiTTEyIDZ2NyJ9XSxbInBhdGgiLHtkOiJNMTYgOHYzIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik04IDh2MyJ9XV19KTt2YXIgTHcscHllPWYoKCk9PntMdz1bWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoibTkgOS41IDIgMiA0LTQifV1dfSk7dmFyICR3LGZ5ZT1mKCgpPT57JHc9W1sicGF0aCIse2Q6Ik01IDdhMiAyIDAgMCAwLTIgMnYxMSJ9XSxbInBhdGgiLHtkOiJNNS44MDMgMThINWEyIDIgMCAwIDAgMCA0aDkuNWEuNS41IDAgMCAwIC41LS41VjIxIn1dLFsicGF0aCIse2Q6Ik05IDE1VjRhMiAyIDAgMCAxIDItMmg5LjVhLjUuNSAwIDAgMSAuNS41djE0YS41LjUgMCAwIDEtLjUuNUgxMWEyIDIgMCAwIDEgMC00aDEwIn1dXX0pO3ZhciB6ZCxoeWU9ZigoKT0+e3pkPVtbInBhdGgiLHtkOiJNMTIgMTdoMS41In1dLFsicGF0aCIse2Q6Ik0xMiAyMmgxLjUifV0sWyJwYXRoIix7ZDoiTTEyIDJoMS41In1dLFsicGF0aCIse2Q6Ik0xNy41IDIySDE5YTEgMSAwIDAgMCAxLTEifV0sWyJwYXRoIix7ZDoiTTE3LjUgMkgxOWExIDEgMCAwIDEgMSAxdjEuNSJ9XSxbInBhdGgiLHtkOiJNMjAgMTR2M2gtMi41In1dLFsicGF0aCIse2Q6Ik0yMCA4LjVWMTAifV0sWyJwYXRoIix7ZDoiTTQgMTBWOC41In1dLFsicGF0aCIse2Q6Ik00IDE5LjVWMTQifV0sWyJwYXRoIix7ZDoiTTQgNC41QTIuNSAyLjUgMCAwIDEgNi41IDJIOCJ9XSxbInBhdGgiLHtkOiJNOCAyMkg2LjVhMSAxIDAgMCAxIDAtNUg4In1dXX0pO3ZhciBEdyxteWU9ZigoKT0+e0R3PVtbInBhdGgiLHtkOiJNMTIgMTNWNyJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJtOSAxMCAzIDMgMy0zIn1dXX0pO3ZhciBBdyxneWU9ZigoKT0+e0F3PVtbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJNOCAxMnYtMmE0IDQgMCAwIDEgOCAwdjIifV0sWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiMTIiLHI6IjEifV1dfSk7dmFyIFB3LGJ5ZT1mKCgpPT57UHc9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik04LjYyIDkuOEEyLjI1IDIuMjUgMCAxIDEgMTIgNi44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YS45OTguOTk4IDAgMCAxLTEuNTA3IDB6In1dXX0pO3ZhciBFdyx2eWU9ZigoKT0+e0V3PVtbInBhdGgiLHtkOiJtMjAgMTMuNy0yLjEtMi4xYTIgMiAwIDAgMC0yLjggMEw5LjcgMTcifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI4IixyOiIyIn1dXX0pO3ZhciBJdyx4eWU9ZigoKT0+e0l3PVtbInBhdGgiLHtkOiJNMTMgMkg2LjVBMi41IDIuNSAwIDAgMCA0IDQuNXYxNSJ9XSxbInBhdGgiLHtkOiJNMTcgMnY2In1dLFsicGF0aCIse2Q6Ik0xNyA0aDIifV0sWyJwYXRoIix7ZDoiTTIwIDE1LjJWMjFhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjEwIixyOiIyIn1dXX0pO3ZhciBOdyx5eWU9ZigoKT0+e053PVtbInBhdGgiLHtkOiJNMTAgMnY4bDMtMyAzIDNWMiJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XV19KTt2YXIgUncsd3llPWYoKCk9PntSdz1bWyJwYXRoIix7ZDoiTTE4IDZWNGEyIDIgMCAxIDAtNCAwdjIifV0sWyJwYXRoIix7ZDoiTTIwIDE1djZhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDEwIn1dLFsicmVjdCIse3g6IjEyIix5OiI2Iix3aWR0aDoiOCIsaGVpZ2h0OiI1IixyeDoiMSJ9XV19KTt2YXIgT3csTXllPWYoKCk9PntPdz1bWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoiTTkgMTBoNiJ9XV19KTt2YXIgRncsa3llPWYoKCk9PntGdz1bWyJwYXRoIix7ZDoiTTEyIDIxVjcifV0sWyJwYXRoIix7ZDoibTE2IDEyIDIgMiA0LTQifV0sWyJwYXRoIix7ZDoiTTIyIDZWNGExIDEgMCAwIDAtMS0xaC01YTQgNCAwIDAgMC00IDQgNCA0IDAgMCAwLTQtNEgzYTEgMSAwIDAgMC0xIDF2MTNhMSAxIDAgMCAwIDEgMWg2YTMgMyAwIDAgMSAzIDMgMyAzIDAgMCAxIDMtM2g2YTEgMSAwIDAgMCAxLTF2LTEuMyJ9XV19KTt2YXIgQncsU3llPWYoKCk9PntCdz1bWyJwYXRoIix7ZDoiTTEyIDd2MTQifV0sWyJwYXRoIix7ZDoiTTE2IDEyaDIifV0sWyJwYXRoIix7ZDoiTTE2IDhoMiJ9XSxbInBhdGgiLHtkOiJNMyAxOGExIDEgMCAwIDEtMS0xVjRhMSAxIDAgMCAxIDEtMWg1YTQgNCAwIDAgMSA0IDQgNCA0IDAgMCAxIDQtNGg1YTEgMSAwIDAgMSAxIDF2MTNhMSAxIDAgMCAxLTEgMWgtNmEzIDMgMCAwIDAtMyAzIDMgMyAwIDAgMC0zLTN6In1dLFsicGF0aCIse2Q6Ik02IDEyaDIifV0sWyJwYXRoIix7ZDoiTTYgOGgyIn1dXX0pO3ZhciBIdyx6eWU9ZigoKT0+e0h3PVtbInBhdGgiLHtkOiJNMTEgMjJINS41YTEgMSAwIDAgMSAwLTVoNC41MDEifV0sWyJwYXRoIix7ZDoibTIxIDIyLTEuODc5LTEuODc4In1dLFsicGF0aCIse2Q6Ik0zIDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNS41IDJIMThhMSAxIDAgMCAxIDEgMXY4In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIHF3LEN5ZT1mKCgpPT57cXc9W1sicGF0aCIse2Q6Ik0xMiA3djE0In1dLFsicGF0aCIse2Q6Ik0zIDE4YTEgMSAwIDAgMS0xLTFWNGExIDEgMCAwIDEgMS0xaDVhNCA0IDAgMCAxIDQgNCA0IDQgMCAwIDEgNC00aDVhMSAxIDAgMCAxIDEgMXYxM2ExIDEgMCAwIDEtMSAxaC02YTMgMyAwIDAgMC0zIDMgMyAzIDAgMCAwLTMtM3oifV1dfSk7dmFyIFZ3LF95ZT1mKCgpPT57Vnc9W1sicGF0aCIse2Q6Ik0xMiA3djYifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoiTTkgMTBoNiJ9XV19KTt2YXIgancsVHllPWYoKCk9Pntqdz1bWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoiTTggMTFoOCJ9XSxbInBhdGgiLHtkOiJNOCA3aDYifV1dfSk7dmFyIFV3LEx5ZT1mKCgpPT57VXc9W1sicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicGF0aCIse2Q6Ik0xOCAyaDFhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDIifV0sWyJwYXRoIix7ZDoibTkgMTAgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJtOSA1IDMtMyAzIDMifV1dfSk7dmFyIFd3LCR5ZT1mKCgpPT57V3c9W1sicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Im05IDEwIDMtMyAzIDMifV1dfSk7dmFyIEd3LER5ZT1mKCgpPT57R3c9W1sicGF0aCIse2Q6Ik0xMCAxM2g0In1dLFsicGF0aCIse2Q6Ik0xMiA2djcifV0sWyJwYXRoIix7ZDoiTTE2IDhWNkg4djIifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV1dfSk7dmFyIFl3LEF5ZT1mKCgpPT57WXc9W1sicGF0aCIse2Q6Ik0xNSAxM2EzIDMgMCAxIDAtNiAwIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOCIscjoiMiJ9XV19KTt2YXIgS3csUHllPWYoKCk9PntLdz1bWyJwYXRoIix7ZDoibTE0LjUgNy01IDUifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoibTkuNSA3IDUgNSJ9XV19KTt2YXIgWncsRXllPWYoKCk9Pntadz1bWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV1dfSk7dmFyIFh3LEl5ZT1mKCgpPT57WHc9W1sicGF0aCIse2Q6Ik0xNyAzYTIgMiAwIDAgMSAyIDJ2MTVhMSAxIDAgMCAxLTEuNDk2Ljg2OGwtNC41MTItMi41NzhhMiAyIDAgMCAwLTEuOTg0IDBsLTQuNTEyIDIuNTc4QTEgMSAwIDAgMSA1IDIwVjVhMiAyIDAgMCAxIDItMnoifV0sWyJwYXRoIix7ZDoibTkgMTAgMiAyIDQtNCJ9XV19KTt2YXIgUXcsTnllPWYoKCk9PntRdz1bWyJwYXRoIix7ZDoiTTE1IDEwSDkifV0sWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDIgMnYxNWExIDEgMCAwIDEtMS40OTYuODY4bC00LjUxMi0yLjU3OGEyIDIgMCAwIDAtMS45ODQgMGwtNC41MTIgMi41NzhBMSAxIDAgMCAxIDUgMjBWNWEyIDIgMCAwIDEgMi0yeiJ9XV19KTt2YXIgSncsUnllPWYoKCk9PntKdz1bWyJwYXRoIix7ZDoiTTE5IDE5djFhMSAxIDAgMCAxLTEuNDk2Ljg2OGwtNC41MTItMi41NzhhMiAyIDAgMCAwLTEuOTg0IDBsLTQuNTEyIDIuNTc4QTEgMSAwIDAgMSA1IDIwVjUifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOC42NTYgM0gxN2EyIDIgMCAwIDEgMiAydjguMzQ0In1dXX0pO3ZhciBlTSxPeWU9ZigoKT0+e2VNPVtbInBhdGgiLHtkOiJNMTIgN3Y2In1dLFsicGF0aCIse2Q6Ik0xNSAxMEg5In1dLFsicGF0aCIse2Q6Ik0xNyAzYTIgMiAwIDAgMSAyIDJ2MTVhMSAxIDAgMCAxLTEuNDk2Ljg2OGwtNC41MTItMi41NzhhMiAyIDAgMCAwLTEuOTg0IDBsLTQuNTEyIDIuNTc4QTEgMSAwIDAgMSA1IDIwVjVhMiAyIDAgMCAxIDItMnoifV1dfSk7dmFyIHRNLEZ5ZT1mKCgpPT57dE09W1sicGF0aCIse2Q6Im0xNC41IDcuNS01IDUifV0sWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDIgMnYxNWExIDEgMCAwIDEtMS40OTYuODY4bC00LjUxMi0yLjU3OGEyIDIgMCAwIDAtMS45ODQgMGwtNC41MTIgMi41NzhBMSAxIDAgMCAxIDUgMjBWNWEyIDIgMCAwIDEgMi0yeiJ9XSxbInBhdGgiLHtkOiJtOS41IDcuNSA1IDUifV1dfSk7dmFyIGFNLEJ5ZT1mKCgpPT57YU09W1sicGF0aCIse2Q6Ik0xNyAzYTIgMiAwIDAgMSAyIDJ2MTVhMSAxIDAgMCAxLTEuNDk2Ljg2OGwtNC41MTItMi41NzhhMiAyIDAgMCAwLTEuOTg0IDBsLTQuNTEyIDIuNTc4QTEgMSAwIDAgMSA1IDIwVjVhMiAyIDAgMCAxIDItMnoifV1dfSk7dmFyIHJNLEh5ZT1mKCgpPT57ck09W1sicGF0aCIse2Q6Ik00IDlWNWEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2NCJ9XSxbInBhdGgiLHtkOiJNOCA4djEifV0sWyJwYXRoIix7ZDoiTTEyIDh2MSJ9XSxbInBhdGgiLHtkOiJNMTYgOHYxIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxMiIseDoiMiIseToiOSIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjE1IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTUiLHI6IjIifV1dfSk7dmFyIHNNLHF5ZT1mKCgpPT57c009W1sicGF0aCIse2Q6Ik0xMiA2VjJIOCJ9XSxbInBhdGgiLHtkOiJNMTUgMTF2MiJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMmgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxNmEyIDIgMCAwIDEtMiAySDguODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSA0IDIwLjI4NlY4YTIgMiAwIDAgMSAyLTJoMTJhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTkgMTF2MiJ9XV19KTt2YXIgaU0sVnllPWYoKCk9PntpTT1bWyJwYXRoIix7ZDoiTTEzLjY3IDhIMThhMiAyIDAgMCAxIDIgMnY0LjMzIn1dLFsicGF0aCIse2Q6Ik0yIDE0aDIifV0sWyJwYXRoIix7ZDoiTTIwIDE0aDIifV0sWyJwYXRoIix7ZDoiTTIyIDIyIDIgMiJ9XSxbInBhdGgiLHtkOiJNOCA4SDZhMiAyIDAgMCAwLTIgMnY4YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDEuNDE0LS41ODYifV0sWyJwYXRoIix7ZDoiTTkgMTN2MiJ9XSxbInBhdGgiLHtkOiJNOS42NyA0SDEydjIuMzMifV1dfSk7dmFyIG9NLGp5ZT1mKCgpPT57b009W1sicGF0aCIse2Q6Ik0xMiA4VjRIOCJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMTIiLHg6IjQiLHk6IjgiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDE0aDIifV0sWyJwYXRoIix7ZDoiTTIwIDE0aDIifV0sWyJwYXRoIix7ZDoiTTE1IDEzdjIifV0sWyJwYXRoIix7ZDoiTTkgMTN2MiJ9XV19KTt2YXIgbk0sVXllPWYoKCk9PntuTT1bWyJwYXRoIix7ZDoiTTE3IDNoNHY0In1dLFsicGF0aCIse2Q6Ik0xOC41NzUgMTEuMDgyYTEzIDEzIDAgMCAxIDEuMDQ4IDkuMDI3IDEuMTcgMS4xNyAwIDAgMS0xLjkxNC41OTdMMTQgMTcifV0sWyJwYXRoIix7ZDoiTTcgMTAgMy4yOSA2LjI5YTEuMTcgMS4xNyAwIDAgMSAuNi0xLjkxIDEzIDEzIDAgMCAxIDkuMDMgMS4wNSJ9XSxbInBhdGgiLHtkOiJNNyAxNGExLjcgMS43IDAgMCAwLTEuMjA3LjVsLTIuNjQ2IDIuNjQ2QS41LjUgMCAwIDAgMy41IDE4SDVhMSAxIDAgMCAxIDEgMXYxLjVhLjUuNSAwIDAgMCAuODU0LjM1NEw5LjUgMTguMjA3QTEuNyAxLjcgMCAwIDAgMTAgMTd2LTJhMSAxIDAgMCAwLTEtMXoifV0sWyJwYXRoIix7ZDoiTTkuNzA3IDE0LjI5MyAyMSAzIn1dXX0pO3ZhciBsTSxXeWU9ZigoKT0+e2xNPVtbInBhdGgiLHtkOiJNMTAgM2ExIDEgMCAwIDEgMS0xaDJhMSAxIDAgMCAxIDEgMXYyYTYgNiAwIDAgMCAxLjIgMy42bC42LjhBNiA2IDAgMCAxIDE3IDEzdjhhMSAxIDAgMCAxLTEgMUg4YTEgMSAwIDAgMS0xLTF2LThhNiA2IDAgMCAxIDEuMi0zLjZsLjYtLjhBNiA2IDAgMCAwIDEwIDV6In1dLFsicGF0aCIse2Q6Ik0xNyAxM2gtNGExIDEgMCAwIDAtMSAxdjNhMSAxIDAgMCAwIDEgMWg0In1dXX0pO3ZhciBjTSxHeWU9ZigoKT0+e2NNPVtbInBhdGgiLHtkOiJNMjEgOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZaIn1dLFsicGF0aCIse2Q6Im0zLjMgNyA4LjcgNSA4LjctNSJ9XSxbInBhdGgiLHtkOiJNMTIgMjJWMTIifV1dfSk7dmFyIGRNLFl5ZT1mKCgpPT57ZE09W1sicGF0aCIse2Q6Ik0yLjk3IDEyLjkyQTIgMiAwIDAgMCAyIDE0LjYzdjMuMjRhMiAyIDAgMCAwIC45NyAxLjcxbDMgMS44YTIgMiAwIDAgMCAyLjA2IDBMMTIgMTl2LTUuNWwtNS0zLTQuMDMgMi40MloifV0sWyJwYXRoIix7ZDoibTcgMTYuNS00Ljc0LTIuODUifV0sWyJwYXRoIix7ZDoibTcgMTYuNSA1LTMifV0sWyJwYXRoIix7ZDoiTTcgMTYuNXY1LjE3In1dLFsicGF0aCIse2Q6Ik0xMiAxMy41VjE5bDMuOTcgMi4zOGEyIDIgMCAwIDAgMi4wNiAwbDMtMS44YTIgMiAwIDAgMCAuOTctMS43MXYtMy4yNGEyIDIgMCAwIDAtLjk3LTEuNzFMMTcgMTAuNWwtNSAzWiJ9XSxbInBhdGgiLHtkOiJtMTcgMTYuNS01LTMifV0sWyJwYXRoIix7ZDoibTE3IDE2LjUgNC43NC0yLjg1In1dLFsicGF0aCIse2Q6Ik0xNyAxNi41djUuMTcifV0sWyJwYXRoIix7ZDoiTTcuOTcgNC40MkEyIDIgMCAwIDAgNyA2LjEzdjQuMzdsNSAzIDUtM1Y2LjEzYTIgMiAwIDAgMC0uOTctMS43MWwtMy0xLjhhMiAyIDAgMCAwLTIuMDYgMGwtMyAxLjhaIn1dLFsicGF0aCIse2Q6Ik0xMiA4IDcuMjYgNS4xNSJ9XSxbInBhdGgiLHtkOiJtMTIgOCA0Ljc0LTIuODUifV0sWyJwYXRoIix7ZDoiTTEyIDEzLjVWOCJ9XV19KTt2YXIgQ2QsS3llPWYoKCk9PntDZD1bWyJwYXRoIix7ZDoiTTggM0g3YTIgMiAwIDAgMC0yIDJ2NWEyIDIgMCAwIDEtMiAyIDIgMiAwIDAgMSAyIDJ2NWMwIDEuMS45IDIgMiAyaDEifV0sWyJwYXRoIix7ZDoiTTE2IDIxaDFhMiAyIDAgMCAwIDItMnYtNWMwLTEuMS45LTIgMi0yYTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDAtMi0yaC0xIn1dXX0pO3ZhciB1TSxaeWU9ZigoKT0+e3VNPVtbInBhdGgiLHtkOiJNMTYgM2gzYTEgMSAwIDAgMSAxIDF2MTZhMSAxIDAgMCAxLTEgMWgtMyJ9XSxbInBhdGgiLHtkOiJNOCAyMUg1YTEgMSAwIDAgMS0xLTFWNGExIDEgMCAwIDEgMS0xaDMifV1dfSk7dmFyIHBNLFh5ZT1mKCgpPT57cE09W1sicGF0aCIse2Q6Ik0xMiA1YTMgMyAwIDEgMC01Ljk5Ny4xMjUgNCA0IDAgMCAwLTIuNTI2IDUuNzcgNCA0IDAgMCAwIC41NTYgNi41ODhBNCA0IDAgMSAwIDEyIDE4WiJ9XSxbInBhdGgiLHtkOiJNOSAxM2E0LjUgNC41IDAgMCAwIDMtNCJ9XSxbInBhdGgiLHtkOiJNNi4wMDMgNS4xMjVBMyAzIDAgMCAwIDYuNDAxIDYuNSJ9XSxbInBhdGgiLHtkOiJNMy40NzcgMTAuODk2YTQgNCAwIDAgMSAuNTg1LS4zOTYifV0sWyJwYXRoIix7ZDoiTTYgMThhNCA0IDAgMCAxLTEuOTY3LS41MTYifV0sWyJwYXRoIix7ZDoiTTEyIDEzaDQifV0sWyJwYXRoIix7ZDoiTTEyIDE4aDZhMiAyIDAgMCAxIDIgMnYxIn1dLFsicGF0aCIse2Q6Ik0xMiA4aDgifV0sWyJwYXRoIix7ZDoiTTE2IDhWNWEyIDIgMCAwIDEgMi0yIn1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTMiLHI6Ii41In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMyIscjoiLjUifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIyMSIscjoiLjUifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiI4IixyOiIuNSJ9XV19KTt2YXIgZk0sUXllPWYoKCk9PntmTT1bWyJwYXRoIix7ZDoibTEwLjg1MiAxNC43NzItLjM4My45MjMifV0sWyJwYXRoIix7ZDoibTEwLjg1MiA5LjIyOC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTEzLjE0OCAxNC43NzIuMzgyLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTMuNTMxIDguMzA1LS4zODMuOTIzIn1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTAuODUyLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTMuMTQ4LjkyMy4zODMifV0sWyJwYXRoIix7ZDoiTTE3LjU5OCA2LjVBMyAzIDAgMSAwIDEyIDVhMyAzIDAgMCAwLTUuNjMtMS40NDYgMyAzIDAgMCAwLS4zNjggMS41NzEgNCA0IDAgMCAwLTIuNTI1IDUuNzcxIn1dLFsicGF0aCIse2Q6Ik0xNy45OTggNS4xMjVhNCA0IDAgMCAxIDIuNTI1IDUuNzcxIn1dLFsicGF0aCIse2Q6Ik0xOS41MDUgMTAuMjk0YTQgNCAwIDAgMS0xLjUgNy43MDYifV0sWyJwYXRoIix7ZDoiTTQuMDMyIDE3LjQ4M0E0IDQgMCAwIDAgMTEuNDY0IDIwYy4xOC0uMzExLjg5Mi0uMzExIDEuMDcyIDBhNCA0IDAgMCAwIDcuNDMyLTIuNTE2In1dLFsicGF0aCIse2Q6Ik00LjUgMTAuMjkxQTQgNCAwIDAgMCA2IDE4In1dLFsicGF0aCIse2Q6Ik02LjAwMiA1LjEyNWEzIDMgMCAwIDAgLjQgMS4zNzUifV0sWyJwYXRoIix7ZDoibTkuMjI4IDEwLjg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTkuMjI4IDEzLjE0OC0uOTIzLjM4MyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dXX0pO3ZhciBoTSxKeWU9ZigoKT0+e2hNPVtbInBhdGgiLHtkOiJNMTYgM3YyLjEwNyJ9XSxbInBhdGgiLHtkOiJNMTcgOWMxIDMgMi41IDMuNSAzLjUgNC41QTUgNSAwIDAgMSAyMiAxN2E1IDUgMCAwIDEtMTAgMGMwLS4zIDAtLjYuMS0uOWEyIDIgMCAxIDAgMy4zLTJDMTMgMTEuNSAxNiA5IDE3IDkifV0sWyJwYXRoIix7ZDoiTTIxIDguMjc0VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgzLjkzOCJ9XSxbInBhdGgiLHtkOiJNMyAxNWg1LjI1MyJ9XSxbInBhdGgiLHtkOiJNMyA5aDguMjI4In1dLFsicGF0aCIse2Q6Ik04IDE1djYifV0sWyJwYXRoIix7ZDoiTTggM3Y2In1dXX0pO3ZhciBtTSxld2U9ZigoKT0+e21NPVtbInBhdGgiLHtkOiJNMTIgMThWNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTNhNC4xNyA0LjE3IDAgMCAxLTMtNCA0LjE3IDQuMTcgMCAwIDEtMyA0In1dLFsicGF0aCIse2Q6Ik0xNy41OTggNi41QTMgMyAwIDEgMCAxMiA1YTMgMyAwIDEgMC01LjU5OCAxLjUifV0sWyJwYXRoIix7ZDoiTTE3Ljk5NyA1LjEyNWE0IDQgMCAwIDEgMi41MjYgNS43NyJ9XSxbInBhdGgiLHtkOiJNMTggMThhNCA0IDAgMCAwIDItNy40NjQifV0sWyJwYXRoIix7ZDoiTTE5Ljk2NyAxNy40ODNBNCA0IDAgMSAxIDEyIDE4YTQgNCAwIDEgMS03Ljk2Ny0uNTE3In1dLFsicGF0aCIse2Q6Ik02IDE4YTQgNCAwIDAgMS0yLTcuNDY0In1dLFsicGF0aCIse2Q6Ik02LjAwMyA1LjEyNWE0IDQgMCAwIDAtMi41MjYgNS43NyJ9XV19KTt2YXIgZ00sdHdlPWYoKCk9PntnTT1bWyJwYXRoIix7ZDoiTTEyIDl2MS4yNTgifV0sWyJwYXRoIix7ZDoiTTE2IDN2NS40NiJ9XSxbInBhdGgiLHtkOiJNMjEgOS4xMThWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDUuNzUifV0sWyJwYXRoIix7ZDoiTTIyIDE3LjVjMCAyLjQ5OS0xLjc1IDMuNzQ5LTMuODMgNC40NzRhLjUuNSAwIDAgMS0uMzM1LS4wMDVjLTIuMDg1LS43Mi0zLjgzNS0xLjk3LTMuODM1LTQuNDdWMTRhLjUuNSAwIDAgMSAuNS0uNDk5YzEgMCAyLjI1LS42IDMuMTItMS4zNmEuNi42IDAgMCAxIC43Ni0uMDAxYy44NzUuNzY1IDIuMTIgMS4zNiAzLjEyIDEuMzZhLjUuNSAwIDAgMSAuNS41eiJ9XSxbInBhdGgiLHtkOiJNMyAxNWg3In1dLFsicGF0aCIse2Q6Ik0zIDloMTIuMTQyIn1dLFsicGF0aCIse2Q6Ik04IDE1djYifV0sWyJwYXRoIix7ZDoiTTggM3Y2In1dXX0pO3ZhciBiTSxhd2U9ZigoKT0+e2JNPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiA5djYifV0sWyJwYXRoIix7ZDoiTTE2IDE1djYifV0sWyJwYXRoIix7ZDoiTTE2IDN2NiJ9XSxbInBhdGgiLHtkOiJNMyAxNWgxOCJ9XSxbInBhdGgiLHtkOiJNMyA5aDE4In1dLFsicGF0aCIse2Q6Ik04IDE1djYifV0sWyJwYXRoIix7ZDoiTTggM3Y2In1dXX0pO3ZhciB2TSxyd2U9ZigoKT0+e3ZNPVtbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiA2VjRhMiAyIDAgMCAwLTItMmgtNGEyIDIgMCAwIDAtMiAydjIifV0sWyJwYXRoIix7ZDoiTTIyIDEzYTE4LjE1IDE4LjE1IDAgMCAxLTIwIDAifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiI2IixyeDoiMiJ9XV19KTt2YXIgeE0sc3dlPWYoKCk9Pnt4TT1bWyJwYXRoIix7ZDoiTTEwIDIwdjIifV0sWyJwYXRoIix7ZDoiTTE0IDIwdjIifV0sWyJwYXRoIix7ZDoiTTE4IDIwdjIifV0sWyJwYXRoIix7ZDoiTTIxIDIwSDMifV0sWyJwYXRoIix7ZDoiTTYgMjB2MiJ9XSxbInBhdGgiLHtkOiJNOCAxNlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjEyIn1dLFsicmVjdCIse3g6IjQiLHk6IjYiLHdpZHRoOiIxNiIsaGVpZ2h0OiIxMCIscng6IjIifV1dfSk7dmFyIHlNLGl3ZT1mKCgpPT57eU09W1sicGF0aCIse2Q6Ik0xMiAxMXY0In1dLFsicGF0aCIse2Q6Ik0xNCAxM2gtNCJ9XSxbInBhdGgiLHtkOiJNMTYgNlY0YTIgMiAwIDAgMC0yLTJoLTRhMiAyIDAgMCAwLTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xOCA2djE0In1dLFsicGF0aCIse2Q6Ik02IDZ2MTQifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiI2IixyeDoiMiJ9XV19KTt2YXIgd00sb3dlPWYoKCk9Pnt3TT1bWyJwYXRoIix7ZDoiTTE2IDIwVjRhMiAyIDAgMCAwLTItMmgtNGEyIDIgMCAwIDAtMiAydjE2In1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiNiIscng6IjIifV1dfSk7dmFyIE1NLG53ZT1mKCgpPT57TU09W1sicmVjdCIse3g6IjgiLHk6IjgiLHdpZHRoOiI4IixoZWlnaHQ6IjgiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik00IDEwYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMTQgMjBhMiAyIDAgMCAwIDIgMmg0YTIgMiAwIDAgMCAyLTJ2LTRhMiAyIDAgMCAwLTItMiJ9XV19KTt2YXIga00sbHdlPWYoKCk9PntrTT1bWyJwYXRoIix7ZDoibTE2IDIyLTEtNCJ9XSxbInBhdGgiLHtkOiJNMTkgMTRhMSAxIDAgMCAwIDEtMXYtMWEyIDIgMCAwIDAtMi0yaC0zYTEgMSAwIDAgMS0xLTFWNGEyIDIgMCAwIDAtNCAwdjVhMSAxIDAgMCAxLTEgMUg2YTIgMiAwIDAgMC0yIDJ2MWExIDEgMCAwIDAgMSAxIn1dLFsicGF0aCIse2Q6Ik0xOSAxNEg1bC0xLjk3MyA2Ljc2N0ExIDEgMCAwIDAgNCAyMmgxNmExIDEgMCAwIDAgLjk3My0xLjIzM3oifV0sWyJwYXRoIix7ZDoibTggMjIgMS00In1dXX0pO3ZhciBTTSxjd2U9ZigoKT0+e1NNPVtbInBhdGgiLHtkOiJtMTEgMTAgMyAzIn1dLFsicGF0aCIse2Q6Ik02LjUgMjFBMy41IDMuNSAwIDEgMCAzIDE3LjVhMi42MiAyLjYyIDAgMCAxLS43MDggMS43OTJBMSAxIDAgMCAwIDMgMjF6In1dLFsicGF0aCIse2Q6Ik05Ljk2OSAxNy4wMzEgMjEuMzc4IDUuNjI0YTEgMSAwIDAgMC0zLjAwMi0zLjAwMkw2Ljk2NyAxNC4wMzEifV1dfSk7dmFyIHpNLGR3ZT1mKCgpPT57ek09W1sicGF0aCIse2Q6Ik0xMiAyMHYtOCJ9XSxbInBhdGgiLHtkOiJNMTIuNjU2IDdIMTRhNCA0IDAgMCAxIDQgNHYxLjM0NCJ9XSxbInBhdGgiLHtkOiJNMTQuMTIgMy44OCAxNiAyIn1dLFsicGF0aCIse2Q6Ik0xNy4xMjMgMTcuMTIzQTYgNiAwIDAgMSA2IDE0di0zYTQgNCAwIDAgMSAxLjcyLTMuMjg3In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIxIDVhNCA0IDAgMCAxLTMuNTUgMy45NyJ9XSxbInBhdGgiLHtkOiJNMjIgMTNoLTMuMzQ0In1dLFsicGF0aCIse2Q6Ik0zIDIxYTQgNCAwIDAgMSAzLjgxLTQifV0sWyJwYXRoIix7ZDoiTTMgNWE0IDQgMCAwIDAgMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik02IDEzSDIifV0sWyJwYXRoIix7ZDoibTggMiAxLjg4IDEuODgifV0sWyJwYXRoIix7ZDoiTTkuNzEyIDQuMDZBMyAzIDAgMCAxIDE1IDZ2MS4xMyJ9XV19KTt2YXIgQ00sdXdlPWYoKCk9PntDTT1bWyJwYXRoIix7ZDoiTTcuMDAxIDE1LjA4NUExLjUgMS41IDAgMCAxIDkgMTYuNSJ9XSxbImNpcmNsZSIse2N4OiIxOC41IixjeToiOC41IixyOiIzLjUifV0sWyJjaXJjbGUiLHtjeDoiNy41IixjeToiMTYuNSIscjoiNS41In1dLFsiY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjQuNSIscjoiMi41In1dXX0pO3ZhciBfTSxwd2U9ZigoKT0+e19NPVtbInBhdGgiLHtkOiJNMTAgMTkuNjU1QTYgNiAwIDAgMSA2IDE0di0zYTQgNCAwIDAgMSA0LTRoNGE0IDQgMCAwIDEgNCAzLjk3In1dLFsicGF0aCIse2Q6Ik0xNCAxNS4wMDNhMSAxIDAgMCAxIDEuNTE3LS44NTlsNC45OTcgMi45OTdhMSAxIDAgMCAxIDAgMS43MThsLTQuOTk3IDIuOTk3YTEgMSAwIDAgMS0xLjUxNy0uODZ6In1dLFsicGF0aCIse2Q6Ik0xNC4xMiAzLjg4IDE2IDIifV0sWyJwYXRoIix7ZDoiTTIxIDVhNCA0IDAgMCAxLTMuNTUgMy45NyJ9XSxbInBhdGgiLHtkOiJNMyAyMWE0IDQgMCAwIDEgMy44MS00In1dLFsicGF0aCIse2Q6Ik0zIDVhNCA0IDAgMCAwIDMuNTUgMy45NyJ9XSxbInBhdGgiLHtkOiJNNiAxM0gyIn1dLFsicGF0aCIse2Q6Im04IDIgMS44OCAxLjg4In1dLFsicGF0aCIse2Q6Ik05IDcuMTNWNmEzIDMgMCAxIDEgNiAwdjEuMTMifV1dfSk7dmFyIFRNLGZ3ZT1mKCgpPT57VE09W1sicGF0aCIse2Q6Ik0xMiAyMHYtOSJ9XSxbInBhdGgiLHtkOiJNMTQgN2E0IDQgMCAwIDEgNCA0djNhNiA2IDAgMCAxLTEyIDB2LTNhNCA0IDAgMCAxIDQtNHoifV0sWyJwYXRoIix7ZDoiTTE0LjEyIDMuODggMTYgMiJ9XSxbInBhdGgiLHtkOiJNMjEgMjFhNCA0IDAgMCAwLTMuODEtNCJ9XSxbInBhdGgiLHtkOiJNMjEgNWE0IDQgMCAwIDEtMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik0yMiAxM2gtNCJ9XSxbInBhdGgiLHtkOiJNMyAyMWE0IDQgMCAwIDEgMy44MS00In1dLFsicGF0aCIse2Q6Ik0zIDVhNCA0IDAgMCAwIDMuNTUgMy45NyJ9XSxbInBhdGgiLHtkOiJNNiAxM0gyIn1dLFsicGF0aCIse2Q6Im04IDIgMS44OCAxLjg4In1dLFsicGF0aCIse2Q6Ik05IDcuMTNWNmEzIDMgMCAxIDEgNiAwdjEuMTMifV1dfSk7dmFyIExNLGh3ZT1mKCgpPT57TE09W1sicGF0aCIse2Q6Ik0xMiAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgNmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDZoLjAxIn1dLFsicGF0aCIse2Q6Ik05IDIydi0zYTEgMSAwIDAgMSAxLTFoNGExIDEgMCAwIDEgMSAxdjMifV0sWyJyZWN0Iix7eDoiNCIseToiMiIsd2lkdGg6IjE2IixoZWlnaHQ6IjIwIixyeDoiMiJ9XV19KTt2YXIgJE0sbXdlPWYoKCk9PnskTT1bWyJwYXRoIix7ZDoiTTEwIDEyaDQifV0sWyJwYXRoIix7ZDoiTTEwIDhoNCJ9XSxbInBhdGgiLHtkOiJNMTQgMjF2LTNhMiAyIDAgMCAwLTQgMHYzIn1dLFsicGF0aCIse2Q6Ik02IDEwSDRhMiAyIDAgMCAwLTIgMnY3YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMlY5YTIgMiAwIDAgMC0yLTJoLTIifV0sWyJwYXRoIix7ZDoiTTYgMjFWNWEyIDIgMCAwIDEgMi0yaDhhMiAyIDAgMCAxIDIgMnYxNiJ9XV19KTt2YXIgRE0sZ3dlPWYoKCk9PntETT1bWyJwYXRoIix7ZDoiTTQgNiAyIDcifV0sWyJwYXRoIix7ZDoiTTEwIDZoNCJ9XSxbInBhdGgiLHtkOiJtMjIgNy0yLTEifV0sWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjE2Iix4OiI0Iix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNCAxMWgxNiJ9XSxbInBhdGgiLHtkOiJNOCAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNNiAxOXYyIn1dLFsicGF0aCIse2Q6Ik0xOCAyMXYtMiJ9XV19KTt2YXIgQU0sYndlPWYoKCk9PntBTT1bWyJwYXRoIix7ZDoiTTggNnY2In1dLFsicGF0aCIse2Q6Ik0xNSA2djYifV0sWyJwYXRoIix7ZDoiTTIgMTJoMTkuNiJ9XSxbInBhdGgiLHtkOiJNMTggMThoM3MuNS0xLjcuOC0yLjhjLjEtLjQuMi0uOC4yLTEuMiAwLS40LS4xLS44LS4yLTEuMmwtMS40LTVDMjAuMSA2LjggMTkuMSA2IDE4IDZINGEyIDIgMCAwIDAtMiAydjEwaDMifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE4IixyOiIyIn1dLFsicGF0aCIse2Q6Ik05IDE4aDUifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxOCIscjoiMiJ9XV19KTt2YXIgUE0sdndlPWYoKCk9PntQTT1bWyJwYXRoIix7ZDoiTTE3IDE5YTEgMSAwIDAgMS0xLTF2LTJhMiAyIDAgMCAxIDItMmgyYTIgMiAwIDAgMSAyIDJ2MmExIDEgMCAwIDEtMSAxeiJ9XSxbInBhdGgiLHtkOiJNMTcgMjF2LTIifV0sWyJwYXRoIix7ZDoiTTE5IDE0VjYuNWExIDEgMCAwIDAtNyAwdjExYTEgMSAwIDAgMS03IDBWMTAifV0sWyJwYXRoIix7ZDoiTTIxIDIxdi0yIn1dLFsicGF0aCIse2Q6Ik0zIDVWMyJ9XSxbInBhdGgiLHtkOiJNNCAxMGEyIDIgMCAwIDEtMi0yVjZhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAxIDF2MmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNNyA1VjMifV1dfSk7dmFyIEVNLHh3ZT1mKCgpPT57RU09W1sicGF0aCIse2Q6Ik0xMCAzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTQgMmguMDEifV0sWyJwYXRoIix7ZDoibTIgOSAyMC01In1dLFsicGF0aCIse2Q6Ik0xMiAxMlY2LjUifV0sWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjEwIix4OiI0Iix5OiIxMiIscng6IjMifV0sWyJwYXRoIix7ZDoiTTkgMTJ2NSJ9XSxbInBhdGgiLHtkOiJNMTUgMTJ2NSJ9XSxbInBhdGgiLHtkOiJNNCAxN2gxNiJ9XV19KTt2YXIgSU0seXdlPWYoKCk9PntJTT1bWyJwYXRoIix7ZDoiTTE2IDEzSDMifV0sWyJwYXRoIix7ZDoiTTE2IDE3SDMifV0sWyJwYXRoIix7ZDoibTcuMiA3LjktMy4zODggMi41QTIgMiAwIDAgMCAzIDEyLjAxVjIwYTEgMSAwIDAgMCAxIDFoMTZhMSAxIDAgMCAwIDEtMXYtOC42NTRjMC0yLTIuNDQtNi4wMjYtNi40NC04LjAyNmExIDEgMCAwIDAtMS4wODIuMDU3TDEwLjQgNS42In1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI3IixyOiIyIn1dXX0pO3ZhciBOTSx3d2U9ZigoKT0+e05NPVtbInBhdGgiLHtkOiJNMjAgMjF2LThhMiAyIDAgMCAwLTItMkg2YTIgMiAwIDAgMC0yIDJ2OCJ9XSxbInBhdGgiLHtkOiJNNCAxNnMuNS0xIDItMSAyLjUgMiA0IDIgMi41LTIgNC0yIDIuNSAyIDQgMiAyLTEgMi0xIn1dLFsicGF0aCIse2Q6Ik0yIDIxaDIwIn1dLFsicGF0aCIse2Q6Ik03IDh2MyJ9XSxbInBhdGgiLHtkOiJNMTIgOHYzIn1dLFsicGF0aCIse2Q6Ik0xNyA4djMifV0sWyJwYXRoIix7ZDoiTTcgNGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNyA0aC4wMSJ9XV19KTt2YXIgUk0sTXdlPWYoKCk9PntSTT1bWyJwYXRoIix7ZDoiTTExIDE0aDF2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInJlY3QiLHt4OiIzIix5OiI0Iix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBPTSxrd2U9ZigoKT0+e09NPVtbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHg6IjQiLHk6IjIiLHJ4OiIyIn1dLFsibGluZSIse3gxOiI4Iix4MjoiMTYiLHkxOiI2Iix5MjoiNiJ9XSxbImxpbmUiLHt4MToiMTYiLHgyOiIxNiIseTE6IjE0Iix5MjoiMTgifV0sWyJwYXRoIix7ZDoiTTE2IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE4aC4wMSJ9XV19KTt2YXIgRk0sU3dlPWYoKCk9PntGTT1bWyJwYXRoIix7ZDoibTE0IDE4IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTggMTR2OCJ9XSxbInBhdGgiLHtkOiJNMjEgMTEuMzU0VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg3LjM0MyJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV1dfSk7dmFyIEJNLHp3ZT1mKCgpPT57Qk09W1sicGF0aCIse2Q6Im0xNCAxOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTE4IDIydi04In1dLFsicGF0aCIse2Q6Ik0yMSAxMS4zNDNWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDkifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dXX0pO3ZhciBITSxDd2U9ZigoKT0+e0hNPVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMjEgMTRWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDgifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoibTE2IDIwIDIgMiA0LTQifV1dfSk7dmFyIHFNLF93ZT1mKCgpPT57cU09W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoibTkgMTYgMiAyIDQtNCJ9XV19KTt2YXIgVk0sVHdlPWYoKCk9PntWTT1bWyJwYXRoIix7ZDoiTTE2IDE0djIuMmwxLjYgMSJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0yMSA3LjVWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDMuNSJ9XSxbInBhdGgiLHtkOiJNMyAxMGg1In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjE2IixyOiI2In1dXX0pO3ZhciBqTSxMd2U9ZigoKT0+e2pNPVtbInBhdGgiLHtkOiJtMTUuMjI4IDE2Ljg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE1LjIyOCAxOS4xNDgtLjkyMy4zODMifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJtMTYuNDcgMTQuMzA1LjM4Mi45MjMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAyMC43NzItLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTE5LjE0OCAxNS4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE5LjUzIDIxLjY5Ni0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxNi44NTIuOTI0LS4zODMifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxOS4xNDguOTI0LjM4MyJ9XSxbInBhdGgiLHtkOiJNMjEgMTAuNTkyVjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg2In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBVTSwkd2U9ZigoKT0+e1VNPVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTggMThoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE4aC4wMSJ9XV19KTt2YXIgV00sRHdlPWYoKCk9PntXTT1bWyJwYXRoIix7ZDoiTTMgMjBhMiAyIDAgMCAwIDIgMmgxMGEyLjQgMi40IDAgMCAwIDEuNzA2LS43MDZsMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAyMSAxNlY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTUgMjJ2LTVhMSAxIDAgMCAxIDEtMWg1In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dXX0pO3ZhciBHTSxBd2U9ZigoKT0+e0dNPVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik0xMCAxNmg0In1dXX0pO3ZhciBZTSxQd2U9ZigoKT0+e1lNPVtbInBhdGgiLHtkOiJNMTIuMTI3IDIySDVhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY1LjEyNSJ9XSxbInBhdGgiLHtkOiJNMTQuNjIgMTguOEEyLjI1IDIuMjUgMCAxIDEgMTggMTUuODM2YTIuMjUgMi4yNSAwIDEgMSAzLjM4IDIuOTY2bC0yLjYyNiAyLjg1NmEuOTk4Ljk5OCAwIDAgMS0xLjUwNyAweiJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XV19KTt2YXIgS00sRXdlPWYoKCk9PntLTT1bWyJwYXRoIix7ZDoiTTQuMiA0LjJBMiAyIDAgMCAwIDMgNnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAxLjgyLTEuMTgifV0sWyJwYXRoIix7ZDoiTTIxIDE1LjVWNmEyIDIgMCAwIDAtMi0ySDkuNSJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0zIDEwaDcifV0sWyJwYXRoIix7ZDoiTTIxIDEwaC01LjUifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgWk0sSXdlPWYoKCk9PntaTT1bWyJwYXRoIix7ZDoiTTE2IDE5aDYifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMjEgMTVWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDguNSJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV1dfSk7dmFyIFhNLE53ZT1mKCgpPT57WE09W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTEwIDE2aDQifV0sWyJwYXRoIix7ZDoiTTEyIDE0djQifV1dfSk7dmFyIFFNLFJ3ZT1mKCgpPT57UU09W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE3IDE0aC02In1dLFsicGF0aCIse2Q6Ik0xMyAxOEg3In1dLFsicGF0aCIse2Q6Ik03IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgMThoLjAxIn1dXX0pO3ZhciBKTSxPd2U9ZigoKT0+e0pNPVtbInBhdGgiLHtkOiJNMTYgMTloNiJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0xOSAxNnY2In1dLFsicGF0aCIse2Q6Ik0yMSAxMi41OThWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDguNSJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV1dfSk7dmFyIGVrLEZ3ZT1mKCgpPT57ZWs9W1sicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTIxIDExLjc1VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg3LjI1In1dLFsicGF0aCIse2Q6Im0yMiAyMi0xLjg3NS0xLjg3NSJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgdGssQndlPWYoKCk9Pnt0az1bWyJwYXRoIix7ZDoiTTExIDEwdjRoNCJ9XSxbInBhdGgiLHtkOiJtMTEgMTQgMS41MzUtMS42MDVhNSA1IDAgMCAxIDggMS41In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoibTIxIDE4LTEuNTM1IDEuNjA1YTUgNSAwIDAgMS04LTEuNSJ9XSxbInBhdGgiLHtkOiJNMjEgMjJ2LTRoLTQifV0sWyJwYXRoIix7ZDoiTTIxIDguNVY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNC4zIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDQifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dXX0pO3ZhciBhayxId2U9ZigoKT0+e2FrPVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMjEgMTNWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDgifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoibTE3IDIyIDUtNSJ9XSxbInBhdGgiLHtkOiJtMTcgMTcgNSA1In1dXX0pO3ZhciByayxxd2U9ZigoKT0+e3JrPVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Im0xNCAxNC00IDQifV0sWyJwYXRoIix7ZDoibTEwIDE0IDQgNCJ9XV19KTt2YXIgc2ssVndlPWYoKCk9Pntzaz1bWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XV19KTt2YXIgaWssandlPWYoKCk9Pntpaz1bWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTUuNzI2IDIxLjAxQTIgMiAwIDAgMSAxNCAyMkg0YTIgMiAwIDAgMS0yLTJWMTBhMiAyIDAgMCAxIDItMiJ9XSxbInBhdGgiLHtkOiJNMTggMnYyIn1dLFsicGF0aCIse2Q6Ik0yIDEzaDIifV0sWyJwYXRoIix7ZDoiTTggOGgxNCJ9XSxbInJlY3QiLHt4OiI4Iix5OiIzIix3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciBvayxVd2U9ZigoKT0+e29rPVtbInBhdGgiLHtkOiJNMTQuNTY0IDE0LjU1OGEzIDMgMCAxIDEtNC4xMjItNC4xMjEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMjBINGEyIDIgMCAwIDEtMi0yVjlhMiAyIDAgMCAxIDItMmgxLjk5N2EyIDIgMCAwIDAgLjgxOS0uMTc1In1dLFsicGF0aCIse2Q6Ik05LjY5NSA0LjAyNEEyIDIgMCAwIDEgMTAuMDA0IDRoMy45OTNhMiAyIDAgMCAxIDEuNzYgMS4wNWwuNDg2LjlBMiAyIDAgMCAwIDE4LjAwMyA3SDIwYTIgMiAwIDAgMSAyIDJ2Ny4zNDQifV1dfSk7dmFyIG5rLFd3ZT1mKCgpPT57bms9W1sicGF0aCIse2Q6Ik0xMy45OTcgNGEyIDIgMCAwIDEgMS43NiAxLjA1bC40ODYuOUEyIDIgMCAwIDAgMTguMDAzIDdIMjBhMiAyIDAgMCAxIDIgMnY5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjlhMiAyIDAgMCAxIDItMmgxLjk5N2EyIDIgMCAwIDAgMS43NTktMS4wNDhsLjQ4OS0uOTA0QTIgMiAwIDAgMSAxMC4wMDQgNHoifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiMyJ9XV19KTt2YXIgbGssR3dlPWYoKCk9Pntsaz1bWyJwYXRoIix7ZDoiTTUuNyAyMWEyIDIgMCAwIDEtMy41LTJsOC42LTE0YTYgNiAwIDAgMSAxMC40IDYgMiAyIDAgMSAxLTMuNDY0LTIgMiAyIDAgMSAwLTMuNDY0LTJaIn1dLFsicGF0aCIse2Q6Ik0xNy43NSA3IDE1IDIuMSJ9XSxbInBhdGgiLHtkOiJNMTAuOSA0LjggMTMgOSJ9XSxbInBhdGgiLHtkOiJtNy45IDkuNyAyIDQuNCJ9XSxbInBhdGgiLHtkOiJNNC45IDE0LjcgNyAxOC45In1dXX0pO3ZhciBjayxZd2U9ZigoKT0+e2NrPVtbInBhdGgiLHtkOiJNMTAgN3YxMC45In1dLFsicGF0aCIse2Q6Ik0xNCA2LjFWMTcifV0sWyJwYXRoIix7ZDoiTTE2IDdWM2ExIDEgMCAwIDEgMS43MDctLjcwNyAyLjUgMi41IDAgMCAwIDIuMTUyLjcxNyAxIDEgMCAwIDEgMS4xMzEgMS4xMzEgMi41IDIuNSAwIDAgMCAuNzE3IDIuMTUyQTEgMSAwIDAgMSAyMSA4aC00In1dLFsicGF0aCIse2Q6Ik0xNi41MzYgNy40NjVhNSA1IDAgMCAwLTcuMDcyIDBsLTIgMmE1IDUgMCAwIDAgMCA3LjA3IDUgNSAwIDAgMCA3LjA3MiAwbDItMmE1IDUgMCAwIDAgMC03LjA3In1dLFsicGF0aCIse2Q6Ik04IDE3djRhMSAxIDAgMCAxLTEuNzA3LjcwNyAyLjUgMi41IDAgMCAwLTIuMTUyLS43MTcgMSAxIDAgMCAxLTEuMTMxLTEuMTMxIDIuNSAyLjUgMCAwIDAtLjcxNy0yLjE1MkExIDEgMCAwIDEgMyAxNmg0In1dXX0pO3ZhciBkayxLd2U9ZigoKT0+e2RrPVtbInBhdGgiLHtkOiJNMTAgMTB2Ny45In1dLFsicGF0aCIse2Q6Ik0xMS44MDIgNi4xNDVhNSA1IDAgMCAxIDYuMDUzIDYuMDUzIn1dLFsicGF0aCIse2Q6Ik0xNCA2LjF2Mi4yNDMifV0sWyJwYXRoIix7ZDoibTE1LjUgMTUuNTcxLS45NjQuOTY0YTUgNSAwIDAgMS03LjA3MSAwIDUgNSAwIDAgMSAwLTcuMDdsLjk2NC0uOTY1In1dLFsicGF0aCIse2Q6Ik0xNiA3VjNhMSAxIDAgMCAxIDEuNzA3LS43MDcgMi41IDIuNSAwIDAgMCAyLjE1Mi43MTcgMSAxIDAgMCAxIDEuMTMxIDEuMTMxIDIuNSAyLjUgMCAwIDAgLjcxNyAyLjE1MkExIDEgMCAwIDEgMjEgOGgtNCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04IDE3djRhMSAxIDAgMCAxLTEuNzA3LjcwNyAyLjUgMi41IDAgMCAwLTIuMTUyLS43MTcgMSAxIDAgMCAxLTEuMTMxLTEuMTMxIDIuNSAyLjUgMCAwIDAtLjcxNy0yLjE1MkExIDEgMCAwIDEgMyAxNmg0In1dXX0pO3ZhciB1ayxad2U9ZigoKT0+e3VrPVtbInBhdGgiLHtkOiJNMTIgMjJ2LTRjMS41IDEuNSAzLjUgMyA2IDMgMC0xLjUtLjUtMy41LTItNSJ9XSxbInBhdGgiLHtkOiJNMTMuOTg4IDguMzI3QzEzLjkwMiA2LjA1NCAxMy4zNjUgMy44MiAxMiAyYTkuMyA5LjMgMCAwIDAtMS40NDUgMi45In1dLFsicGF0aCIse2Q6Ik0xNy4zNzUgMTEuNzI1QzE4Ljg4MiAxMC41MyAyMSA3Ljg0MSAyMSA2Yy0yLjMyNCAwLTUuMDggMS4yOTYtNi42NjIgMi42ODQifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjEuMDI0IDE1LjM3OEExNSAxNSAwIDAgMCAyMiAxNWMtLjQyNi0xLjI3OS0yLjY3LTIuNTU3LTQuMjUtMi45MDcifV0sWyJwYXRoIix7ZDoiTTYuOTk1IDYuOTkyQzUuNzE0IDYuNCA0LjI5IDYgMyA2YzAgMiAyLjUgNSA0IDYtMS41IDAtNC41IDEuNS01IDMgMy41IDEuNSA2IDEgNiAxLTEuNSAxLjUtMiAzLjUtMiA1IDIuNSAwIDQuNS0xLjUgNi0zIn1dXX0pO3ZhciBwayxYd2U9ZigoKT0+e3BrPVtbInBhdGgiLHtkOiJNMTIgMjJ2LTQifV0sWyJwYXRoIix7ZDoiTTcgMTJjLTEuNSAwLTQuNSAxLjUtNSAzIDMuNSAxLjUgNiAxIDYgMS0xLjUgMS41LTIgMy41LTIgNSAyLjUgMCA0LjUtMS41IDYtMyAxLjUgMS41IDMuNSAzIDYgMyAwLTEuNS0uNS0zLjUtMi01IDAgMCAyLjUuNSA2LTEtLjUtMS41LTMuNS0zLTUtMyAxLjUtMSA0LTQgNC02LTIuNSAwLTUuNSAxLjUtNyAzIDAtMi41LS41LTUtMi03LTEuNSAyLTIgNC41LTIgNy0xLjUtMS41LTQuNS0zLTctMyAwIDIgMi41IDUgNCA2In1dXX0pO3ZhciBmayxRd2U9ZigoKT0+e2ZrPVtbInBhdGgiLHtkOiJNMTAuNSA1SDE5YTIgMiAwIDAgMSAyIDJ2OC41In1dLFsicGF0aCIse2Q6Ik0xNyAxMWgtLjUifV0sWyJwYXRoIix7ZDoiTTE5IDE5SDVhMiAyIDAgMCAxLTItMlY3YTIgMiAwIDAgMSAyLTIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNyAxMWg0In1dLFsicGF0aCIse2Q6Ik03IDE1aDIuNSJ9XV19KTt2YXIgX2QsSndlPWYoKCk9PntfZD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE0Iix4OiIzIix5OiI1IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTVoNE0xNSAxNWgyTTcgMTFoMk0xMyAxMWg0In1dXX0pO3ZhciBoayxlTWU9ZigoKT0+e2hrPVtbInBhdGgiLHtkOiJtMjEgOC0yIDItMS41LTMuN0EyIDIgMCAwIDAgMTUuNjQ2IDVIOC40YTIgMiAwIDAgMC0xLjkwMyAxLjI1N0w1IDEwIDMgOCJ9XSxbInBhdGgiLHtkOiJNNyAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE3IDE0aC4wMSJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiOCIseDoiMyIseToiMTAiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik01IDE4djIifV0sWyJwYXRoIix7ZDoiTTE5IDE4djIifV1dfSk7dmFyIG1rLHRNZT1mKCgpPT57bWs9W1sicGF0aCIse2Q6Ik0xOSAxN2gyYy42IDAgMS0uNCAxLTF2LTNjMC0uOS0uNy0xLjctMS41LTEuOUMxOC43IDEwLjYgMTYgMTAgMTYgMTBzLTEuMy0xLjQtMi4yLTIuM2MtLjUtLjQtMS4xLS43LTEuOC0uN0g1Yy0uNiAwLTEuMS40LTEuNC45bC0xLjQgMi45QTMuNyAzLjcgMCAwIDAgMiAxMnY0YzAgLjYuNCAxIDEgMWgyIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxNyIscjoiMiJ9XSxbInBhdGgiLHtkOiJNOSAxN2g2In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTciLHI6IjIifV1dfSk7dmFyIGdrLGFNZT1mKCgpPT57Z2s9W1sicGF0aCIse2Q6Ik0xMCAyaDQifV0sWyJwYXRoIix7ZDoibTIxIDgtMiAyLTEuNS0zLjdBMiAyIDAgMCAwIDE1LjY0NiA1SDguNGEyIDIgMCAwIDAtMS45MDMgMS4yNTdMNSAxMCAzIDgifV0sWyJwYXRoIix7ZDoiTTcgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNyAxNGguMDEifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjgiLHg6IjMiLHk6IjEwIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNSAxOHYyIn1dLFsicGF0aCIse2Q6Ik0xOSAxOHYyIn1dXX0pO3ZhciBiayxyTWU9ZigoKT0+e2JrPVtbInBhdGgiLHtkOiJNMTggMTlWOWE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHY4YTIgMiAwIDAgMCAyIDJoMiJ9XSxbInBhdGgiLHtkOiJNMiA5aDNhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0xIDFIMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTd2MWExIDEgMCAwIDEtMSAxSDEwdi05YTEgMSAwIDAgMSAxLTFoMmExIDEgMCAwIDEgMSAxdjkifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciB2ayxzTWU9ZigoKT0+e3ZrPVtbInBhdGgiLHtkOiJNMTIgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTQuMTcyIDJhMiAyIDAgMCAxIDEuNDE0LjU4NmwzLjgyOCAzLjgyOEEyIDIgMCAwIDEgMjAgNy44MjhWMjBhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yeiJ9XSxbInBhdGgiLHtkOiJNOCAxNGg4In1dLFsicmVjdCIse3g6IjgiLHk6IjEwIix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMSJ9XV19KTt2YXIgeGssaU1lPWYoKCk9Pnt4az1bWyJwYXRoIix7ZDoiTTIuMjcgMjEuN3M5Ljg3LTMuNSAxMi43My02LjM2YTQuNSA0LjUgMCAwIDAtNi4zNi02LjM3QzUuNzcgMTEuODQgMi4yNyAyMS43IDIuMjcgMjEuN3pNOC42NCAxNGwtMi4wNS0yLjA0TTE1LjM0IDE1bC0yLjQ2LTIuNDYifV0sWyJwYXRoIix7ZDoiTTIyIDlzLTEuMzMtMi0zLjUtMkMxNi44NiA3IDE1IDkgMTUgOXMxLjMzIDIgMy41IDJTMjIgOSAyMiA5eiJ9XSxbInBhdGgiLHtkOiJNMTUgMnMtMiAxLjMzLTIgMy41UzE1IDkgMTUgOXMyLTEuODQgMi0zLjVDMTcgMy4zMyAxNSAyIDE1IDJ6In1dXX0pO3ZhciB5ayxvTWU9ZigoKT0+e3lrPVtbInBhdGgiLHtkOiJNMTAgOXY3In1dLFsicGF0aCIse2Q6Ik0xNCA2djEwIn1dLFsiY2lyY2xlIix7Y3g6IjE3LjUiLGN5OiIxMi41IixyOiIzLjUifV0sWyJjaXJjbGUiLHtjeDoiNi41IixjeToiMTIuNSIscjoiMy41In1dXX0pO3ZhciB3ayxuTWU9ZigoKT0+e3drPVtbInBhdGgiLHtkOiJtMiAxNiA0LjAzOS05LjY5YS41LjUgMCAwIDEgLjkyMyAwTDExIDE2In1dLFsicGF0aCIse2Q6Ik0yMiA5djcifV0sWyJwYXRoIix7ZDoiTTMuMzA0IDEzaDYuMzkyIn1dLFsiY2lyY2xlIix7Y3g6IjE4LjUiLGN5OiIxMi41IixyOiIzLjUifV1dfSk7dmFyIE1rLGxNZT1mKCgpPT57TWs9W1sicGF0aCIse2Q6Ik0xNSAxMWg0LjVhMSAxIDAgMCAxIDAgNWgtNGEuNS41IDAgMCAxLS41LS41di05YS41LjUgMCAwIDEgLjUtLjVoM2ExIDEgMCAwIDEgMCA1In1dLFsicGF0aCIse2Q6Im0yIDE2IDQuMDM5LTkuNjlhLjUuNSAwIDAgMSAuOTIzIDBMMTEgMTYifV0sWyJwYXRoIix7ZDoiTTMuMzA0IDEzaDYuMzkyIn1dXX0pO3ZhciBrayxjTWU9ZigoKT0+e2trPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsiY2lyY2xlIix7Y3g6IjgiLGN5OiIxMCIscjoiMiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTAiLHI6IjIifV0sWyJwYXRoIix7ZDoibTYgMjAgLjctMi45QTEuNCAxLjQgMCAwIDEgOC4xIDE2aDcuOGExLjQgMS40IDAgMCAxIDEuNCAxbC43IDMifV1dfSk7dmFyIFNrLGRNZT1mKCgpPT57U2s9W1sicGF0aCIse2Q6Ik0yIDhWNmEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2MTJhMiAyIDAgMCAxLTIgMmgtNiJ9XSxbInBhdGgiLHtkOiJNMiAxMmE5IDkgMCAwIDEgOCA4In1dLFsicGF0aCIse2Q6Ik0yIDE2YTUgNSAwIDAgMSA0IDQifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyLjAxIix5MToiMjAiLHkyOiIyMCJ9XV19KTt2YXIgemssdU1lPWYoKCk9Pnt6az1bWyJwYXRoIix7ZDoiTTEwIDVWMyJ9XSxbInBhdGgiLHtkOiJNMTQgNVYzIn1dLFsicGF0aCIse2Q6Ik0xNSAyMXYtM2EzIDMgMCAwIDAtNiAwdjMifV0sWyJwYXRoIix7ZDoiTTE4IDN2OCJ9XSxbInBhdGgiLHtkOiJNMTggNUg2In1dLFsicGF0aCIse2Q6Ik0yMiAxMUgyIn1dLFsicGF0aCIse2Q6Ik0yMiA5djEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjkifV0sWyJwYXRoIix7ZDoiTTYgM3Y4In1dXX0pO3ZhciBDayxwTWU9ZigoKT0+e0NrPVtbInBhdGgiLHtkOiJNMTIgNWMuNjcgMCAxLjM1LjA5IDIgLjI2IDEuNzgtMiA1LjAzLTIuODQgNi40Mi0yLjI2IDEuNC41OC0uNDIgNy0uNDIgNyAuNTcgMS4wNyAxIDIuMjQgMSAzLjQ0QzIxIDE3LjkgMTYuOTcgMjEgMTIgMjFzLTktMy05LTcuNTZjMC0xLjI1LjUtMi40IDEtMy40NCAwIDAtMS44OS02LjQyLS41LTcgMS4zOS0uNTggNC43Mi4yMyA2LjUgMi4yM0E5LjA0IDkuMDQgMCAwIDEgMTIgNVoifV0sWyJwYXRoIix7ZDoiTTggMTR2LjUifV0sWyJwYXRoIix7ZDoiTTE2IDE0di41In1dLFsicGF0aCIse2Q6Ik0xMS4yNSAxNi4yNWgxLjVMMTIgMTdsLS43NS0uNzVaIn1dXX0pO3ZhciBfayxmTWU9ZigoKT0+e19rPVtbInBhdGgiLHtkOiJtMTIuMzA5IDYuNjUyIDQuNzk3IDIuNDAxYTEgMSAwIDAgMSAuNDQ3IDEuMzQxbC0uNTAxIDEuMDAxLjYwNS42MDVoMi43MjVhMSAxIDAgMCAxIC44OTQgMS40NDdsLS43MjQgMS40NDgifV0sWyJwYXRoIix7ZDoibTE1LjE2NiAxNS4xNjYtLjcxOSAxLjQzOWExIDEgMCAwIDEtMS4zNDIuNDQ3TDMuNjEgMTIuM2EyLjkyIDIuOTIgMCAwIDEtMS4zLTMuOTFMMy42OSA1LjZhMi45IDIuOSAwIDAgMSAuODczLTEuMDM3In1dLFsicGF0aCIse2Q6Ik0yIDE5aDMuNzZhMiAyIDAgMCAwIDEuOC0xLjFsMS40NDEtMi45MDIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMiAyMXYtNCJ9XSxbInBhdGgiLHtkOiJNNyA5aC4wMSJ9XV19KTt2YXIgVGssaE1lPWYoKCk9PntUaz1bWyJwYXRoIix7ZDoiTTE2Ljc1IDEyaDMuNjMyYTEgMSAwIDAgMSAuODk0IDEuNDQ3bC0yLjAzNCA0LjA2OWExIDEgMCAwIDEtMS43MDguMTM0bC0yLjEyNC0yLjk3In1dLFsicGF0aCIse2Q6Ik0xNy4xMDYgOS4wNTNhMSAxIDAgMCAxIC40NDcgMS4zNDFsLTMuMTA2IDYuMjExYTEgMSAwIDAgMS0xLjM0Mi40NDdMMy42MSAxMi4zYTIuOTIgMi45MiAwIDAgMS0xLjMtMy45MUwzLjY5IDUuNmEyLjkyIDIuOTIgMCAwIDEgMy45Mi0xLjN6In1dLFsicGF0aCIse2Q6Ik0yIDE5aDMuNzZhMiAyIDAgMCAwIDEuOC0xLjFMOSAxNSJ9XSxbInBhdGgiLHtkOiJNMiAyMXYtNCJ9XSxbInBhdGgiLHtkOiJNNyA5aC4wMSJ9XV19KTt2YXIgVGQsbU1lPWYoKCk9PntUZD1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik03IDExLjIwN2EuNS41IDAgMCAxIC4xNDYtLjM1M2wyLTJhLjUuNSAwIDAgMSAuNzA4IDBsMy4yOTIgMy4yOTJhLjUuNSAwIDAgMCAuNzA4IDBsNC4yOTItNC4yOTJhLjUuNSAwIDAgMSAuODU0LjM1M1YxNmExIDEgMCAwIDEtMSAxSDhhMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIExkLGdNZT1mKCgpPT57TGQ9W1sicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInJlY3QiLHt4OiI3Iix5OiIxMyIsd2lkdGg6IjkiLGhlaWdodDoiNCIscng6IjEifV0sWyJyZWN0Iix7eDoiNyIseToiNSIsd2lkdGg6IjEyIixoZWlnaHQ6IjQiLHJ4OiIxIn1dXX0pO3ZhciBMayxiTWU9ZigoKT0+e0xrPVtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoiTTcgMTFoOCJ9XSxbInBhdGgiLHtkOiJNNyAxNmgzIn1dLFsicGF0aCIse2Q6Ik03IDZoMTIifV1dfSk7dmFyICRrLHZNZT1mKCgpPT57JGs9W1sicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNNyAxMWg4In1dLFsicGF0aCIse2Q6Ik03IDE2aDEyIn1dLFsicGF0aCIse2Q6Ik03IDZoMyJ9XV19KTt2YXIgRGsseE1lPWYoKCk9PntEaz1bWyJwYXRoIix7ZDoiTTExIDEzdjQifV0sWyJwYXRoIix7ZDoiTTE1IDV2NCJ9XSxbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJyZWN0Iix7eDoiNyIseToiMTMiLHdpZHRoOiI5IixoZWlnaHQ6IjQiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjciLHk6IjUiLHdpZHRoOiIxMiIsaGVpZ2h0OiI0IixyeDoiMSJ9XV19KTt2YXIgJGQseU1lPWYoKCk9PnskZD1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik03IDE2aDgifV0sWyJwYXRoIix7ZDoiTTcgMTFoMTIifV0sWyJwYXRoIix7ZDoiTTcgNmgzIn1dXX0pO3ZhciBEZCx3TWU9ZigoKT0+e0RkPVtbInBhdGgiLHtkOiJNOSA1djQifV0sWyJyZWN0Iix7d2lkdGg6IjQiLGhlaWdodDoiNiIseDoiNyIseToiOSIscng6IjEifV0sWyJwYXRoIix7ZDoiTTkgMTV2MiJ9XSxbInBhdGgiLHtkOiJNMTcgM3YyIn1dLFsicmVjdCIse3dpZHRoOiI0IixoZWlnaHQ6IjgiLHg6IjE1Iix5OiI1IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTN2MyJ9XSxbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV1dfSk7dmFyIEFkLE1NZT1mKCgpPT57QWQ9W1sicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInJlY3QiLHt4OiIxNSIseToiNSIsd2lkdGg6IjQiLGhlaWdodDoiMTIiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjciLHk6IjgiLHdpZHRoOiI0IixoZWlnaHQ6IjkiLHJ4OiIxIn1dXX0pO3ZhciBBayxrTWU9ZigoKT0+e0FrPVtbInBhdGgiLHtkOiJNMTMgMTdWOSJ9XSxbInBhdGgiLHtkOiJNMTggMTd2LTMifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik04IDE3VjUifV1dfSk7dmFyIFBkLFNNZT1mKCgpPT57UGQ9W1sicGF0aCIse2Q6Ik0xMyAxN1Y5In1dLFsicGF0aCIse2Q6Ik0xOCAxN1Y1In1dLFsicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNOCAxN3YtMyJ9XV19KTt2YXIgUGssek1lPWYoKCk9PntQaz1bWyJwYXRoIix7ZDoiTTExIDEzSDcifV0sWyJwYXRoIix7ZDoiTTE5IDloLTQifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicmVjdCIse3g6IjE1Iix5OiI1Iix3aWR0aDoiNCIsaGVpZ2h0OiIxMiIscng6IjEifV0sWyJyZWN0Iix7eDoiNyIseToiOCIsd2lkdGg6IjQiLGhlaWdodDoiOSIscng6IjEifV1dfSk7dmFyIEVkLENNZT1mKCgpPT57RWQ9W1sicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNMTggMTdWOSJ9XSxbInBhdGgiLHtkOiJNMTMgMTdWNSJ9XSxbInBhdGgiLHtkOiJNOCAxN3YtMyJ9XV19KTt2YXIgRWssX01lPWYoKCk9PntFaz1bWyJwYXRoIix7ZDoiTTEwIDZoOCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZoNiJ9XSxbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoiTTggMTFoNyJ9XV19KTt2YXIgSWQsVE1lPWYoKCk9PntJZD1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Im0xOSA5LTUgNS00LTQtMyAzIn1dXX0pO3ZhciBJayxMTWU9ZigoKT0+e0lrPVtbInBhdGgiLHtkOiJtMTMuMTEgNy42NjQgMS43OCAyLjY3MiJ9XSxbInBhdGgiLHtkOiJtMTQuMTYyIDEyLjc4OC0zLjMyNCAxLjQyNCJ9XSxbInBhdGgiLHtkOiJtMjAgNC02LjA2IDEuNTE1In1dLFsicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjYiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxMiIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiMTUiLHI6IjIifV1dfSk7dmFyIE5rLCRNZT1mKCgpPT57Tms9W1sicGF0aCIse2Q6Ik01IDIxVjMifV0sWyJwYXRoIix7ZDoiTTEyIDIxVjkifV0sWyJwYXRoIix7ZDoiTTE5IDIxdi02In1dXX0pO3ZhciBOZCxETWU9ZigoKT0+e05kPVtbInBhdGgiLHtkOiJNNSAyMXYtNiJ9XSxbInBhdGgiLHtkOiJNMTIgMjFWOSJ9XSxbInBhdGgiLHtkOiJNMTkgMjFWMyJ9XV19KTt2YXIgUmQsQU1lPWYoKCk9PntSZD1bWyJwYXRoIix7ZDoiTTUgMjF2LTYifV0sWyJwYXRoIix7ZDoiTTEyIDIxVjMifV0sWyJwYXRoIix7ZDoiTTE5IDIxVjkifV1dfSk7dmFyIFJrLFBNZT1mKCgpPT57Ums9W1sicGF0aCIse2Q6Ik0xMiAxNnY1In1dLFsicGF0aCIse2Q6Ik0xNiAxNHY3In1dLFsicGF0aCIse2Q6Ik0yMCAxMHYxMSJ9XSxbInBhdGgiLHtkOiJtMjIgMy04LjY0NiA4LjY0NmEuNS41IDAgMCAxLS43MDggMEw5LjM1NCA4LjM1NGEuNS41IDAgMCAwLS43MDcgMEwyIDE1In1dLFsicGF0aCIse2Q6Ik00IDE4djMifV0sWyJwYXRoIix7ZDoiTTggMTR2NyJ9XV19KTt2YXIgT2QsRU1lPWYoKCk9PntPZD1bWyJwYXRoIix7ZDoiTTYgNWgxMiJ9XSxbInBhdGgiLHtkOiJNNCAxMmgxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMTloOCJ9XV19KTt2YXIgRmQsSU1lPWYoKCk9PntGZD1bWyJwYXRoIix7ZDoiTTIxIDEyYy41NTIgMCAxLjAwNS0uNDQ5Ljk1LS45OThhMTAgMTAgMCAwIDAtOC45NTMtOC45NTFjLS41NS0uMDU1LS45OTguMzk4LS45OTguOTV2OGExIDEgMCAwIDAgMSAxeiJ9XSxbInBhdGgiLHtkOiJNMjEuMjEgMTUuODlBMTAgMTAgMCAxIDEgOCAyLjgzIn1dXX0pO3ZhciBCZCxOTWU9ZigoKT0+e0JkPVtbImNpcmNsZSIse2N4OiI3LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiMTguNSIsY3k6IjUuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbImNpcmNsZSIse2N4OiIxMS41IixjeToiMTEuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiIxNi41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsiY2lyY2xlIix7Y3g6IjE3LjUiLGN5OiIxNC41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XV19KTt2YXIgT2ssUk1lPWYoKCk9PntPaz1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik03IDE2Yy41LTIgMS41LTcgNC03IDIgMCAyIDMgNCAzIDIuNSAwIDQuNS01IDUtNyJ9XV19KTt2YXIgRmssT01lPWYoKCk9PntGaz1bWyJwYXRoIix7ZDoiTTE4IDYgNyAxN2wtNS01In1dLFsicGF0aCIse2Q6Im0yMiAxMC03LjUgNy41TDEzIDE2In1dXX0pO3ZhciBCayxGTWU9ZigoKT0+e0JrPVtbInBhdGgiLHtkOiJNMjAgNEw5IDE1In1dLFsicGF0aCIse2Q6Ik0yMSAxOUwzIDE5In1dLFsicGF0aCIse2Q6Ik05IDE1TDQgMTAifV1dfSk7dmFyIEhrLEJNZT1mKCgpPT57SGs9W1sicGF0aCIse2Q6Ik0yMCA2IDkgMTdsLTUtNSJ9XV19KTt2YXIgcWssSE1lPWYoKCk9Pntxaz1bWyJwYXRoIix7ZDoiTTE3IDIxYTEgMSAwIDAgMCAxLTF2LTUuMzVjMC0uNDU3LjMxNi0uODQ0LjcyNy0xLjA0MWE0IDQgMCAwIDAtMi4xMzQtNy41ODkgNSA1IDAgMCAwLTkuMTg2IDAgNCA0IDAgMCAwLTIuMTM0IDcuNTg4Yy40MTEuMTk4LjcyNy41ODUuNzI3IDEuMDQxVjIwYTEgMSAwIDAgMCAxIDFaIn1dLFsicGF0aCIse2Q6Ik02IDE3aDEyIn1dXX0pO3ZhciBWayxxTWU9ZigoKT0+e1ZrPVtbInBhdGgiLHtkOiJNMiAxN2E1IDUgMCAwIDAgMTAgMGMwLTIuNzYtMi41LTUtNS0zLTIuNS0yLTUgLjI0LTUgM1oifV0sWyJwYXRoIix7ZDoiTTEyIDE3YTUgNSAwIDAgMCAxMCAwYzAtMi43Ni0yLjUtNS01LTMtMi41LTItNSAuMjQtNSAzWiJ9XSxbInBhdGgiLHtkOiJNNyAxNGMzLjIyLTIuOTEgNC4yOS04Ljc1IDUtMTIgMS42NiAyLjM4IDQuOTQgOSA1IDEyIn1dLFsicGF0aCIse2Q6Ik0yMiA5Yy00LjI5IDAtNy4xNC0yLjMzLTEwLTcgNS43MSAwIDEwIDQuNjcgMTAgN1oifV1dfSk7dmFyIGprLFZNZT1mKCgpPT57ams9W1sicGF0aCIse2Q6Ik00IDIwYTIgMiAwIDAgMSAyLTJoMTJhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFINWExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJtNi43IDE4LTEtMUM0LjM1IDE1LjY4MiAzIDE0LjA5IDMgMTJhNSA1IDAgMCAxIDQuOTUtNWMxLjU4NCAwIDIuNy40NTUgNC4wNSAxLjgxOEMxMy4zNSA3LjQ1NSAxNC40NjYgNyAxNi4wNSA3QTUgNSAwIDAgMSAyMSAxMmMwIDIuMDgyLTEuMzU5IDMuNjczLTIuNyA1bC0xIDEifV0sWyJwYXRoIix7ZDoiTTEwIDRoNCJ9XSxbInBhdGgiLHtkOiJNMTIgMnY2LjgxOCJ9XV19KTt2YXIgVWssak1lPWYoKCk9PntVaz1bWyJwYXRoIix7ZDoiTTUgMjBhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg2YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik0xNSAxOGMxLjUtLjYxNSAzLTIuNDYxIDMtNC45MjNDMTggOC43NjkgMTQuNSA0LjQ2MiAxMiAyIDkuNSA0LjQ2MiA2IDguNzcgNiAxMy4wNzcgNiAxNS41MzkgNy41IDE3LjM4NSA5IDE4In1dLFsicGF0aCIse2Q6Im0xNiA3LTIuNSAyLjUifV0sWyJwYXRoIix7ZDoiTTkgMmg2In1dXX0pO3ZhciBXayxVTWU9ZigoKT0+e1drPVtbInBhdGgiLHtkOiJNNSAyMGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDZhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTE2LjUgMThjMS0yIDIuNS01IDIuNS05YTcgNyAwIDAgMC03LTdINi42MzVhMSAxIDAgMCAwLS43NjggMS42NEw3IDVsLTIuMzIgNS44MDJhMiAyIDAgMCAwIC45NSAyLjUyNmwyLjg3IDEuNDU2In1dLFsicGF0aCIse2Q6Im0xNSA1IDEuNDI1LTEuNDI1In1dLFsicGF0aCIse2Q6Im0xNyA4IDEuNTMtMS41MyJ9XSxbInBhdGgiLHtkOiJNOS43MTMgMTIuMTg1IDcgMTgifV1dfSk7dmFyIEdrLFdNZT1mKCgpPT57R2s9W1sicGF0aCIse2Q6Ik01IDIwYTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFINmExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJtMTQuNSAxMCAxLjUgOCJ9XSxbInBhdGgiLHtkOiJNNyAxMGgxMCJ9XSxbInBhdGgiLHtkOiJtOCAxOCAxLjUtOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjYiLHI6IjQifV1dfSk7dmFyIFlrLEdNZT1mKCgpPT57WWs9W1sicGF0aCIse2Q6Ik01IDIwYTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFINmExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNMTAgMnYyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjIifV0sWyJwYXRoIix7ZDoibTE3IDE4LTEtOSJ9XSxbInBhdGgiLHtkOiJNNiAydjVhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAyLTJWMiJ9XSxbInBhdGgiLHtkOiJNNiA0aDEyIn1dLFsicGF0aCIse2Q6Im03IDE4IDEtOSJ9XV19KTt2YXIgS2ssWU1lPWYoKCk9PntLaz1bWyJwYXRoIix7ZDoibTYgOSA2IDYgNi02In1dXX0pO3ZhciBaayxLTWU9ZigoKT0+e1prPVtbInBhdGgiLHtkOiJNNCAyMGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDVhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoibTEyLjQ3NCA1Ljk0MyAxLjU2NyA1LjM0YTEgMSAwIDAgMCAxLjc1LjMyOGwyLjYxNi0zLjQwMiJ9XSxbInBhdGgiLHtkOiJtMjAgOS0zIDkifV0sWyJwYXRoIix7ZDoibTUuNTk0IDguMjA5IDIuNjE1IDMuNDAzYTEgMSAwIDAgMCAxLjc1LS4zMjlsMS41NjctNS4zNCJ9XSxbInBhdGgiLHtkOiJNNyAxOCA0IDkifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI0IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjIwIixjeToiNyIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiNyIscjoiMiJ9XV19KTt2YXIgWGssWk1lPWYoKCk9PntYaz1bWyJwYXRoIix7ZDoibTE3IDE4LTYtNiA2LTYifV0sWyJwYXRoIix7ZDoiTTcgNnYxMiJ9XV19KTt2YXIgUWssWE1lPWYoKCk9PntRaz1bWyJwYXRoIix7ZDoibTcgMTggNi02LTYtNiJ9XSxbInBhdGgiLHtkOiJNMTcgNnYxMiJ9XV19KTt2YXIgSmssUU1lPWYoKCk9PntKaz1bWyJwYXRoIix7ZDoibTE1IDE4LTYtNiA2LTYifV1dfSk7dmFyIGVTLEpNZT1mKCgpPT57ZVM9W1sicGF0aCIse2Q6Im05IDE4IDYtNi02LTYifV1dfSk7dmFyIHRTLGVrZT1mKCgpPT57dFM9W1sicGF0aCIse2Q6Im0xOCAxNS02LTYtNiA2In1dXX0pO3ZhciBhUyx0a2U9ZigoKT0+e2FTPVtbInBhdGgiLHtkOiJtNyAyMCA1LTUgNSA1In1dLFsicGF0aCIse2Q6Im03IDQgNSA1IDUtNSJ9XV19KTt2YXIgclMsYWtlPWYoKCk9PntyUz1bWyJwYXRoIix7ZDoibTcgNiA1IDUgNS01In1dLFsicGF0aCIse2Q6Im03IDEzIDUgNSA1LTUifV1dfSk7dmFyIHNTLHJrZT1mKCgpPT57c1M9W1sicGF0aCIse2Q6Ik0xMiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJtMTcgNyA1IDUtNSA1In1dLFsicGF0aCIse2Q6Im03IDctNSA1IDUgNSJ9XSxbInBhdGgiLHtkOiJNOCAxMmguMDEifV1dfSk7dmFyIGlTLHNrZT1mKCgpPT57aVM9W1sicGF0aCIse2Q6Im05IDctNSA1IDUgNSJ9XSxbInBhdGgiLHtkOiJtMTUgNyA1IDUtNSA1In1dXX0pO3ZhciBvUyxpa2U9ZigoKT0+e29TPVtbInBhdGgiLHtkOiJtMTEgMTctNS01IDUtNSJ9XSxbInBhdGgiLHtkOiJtMTggMTctNS01IDUtNSJ9XV19KTt2YXIgblMsb2tlPWYoKCk9PntuUz1bWyJwYXRoIix7ZDoibTIwIDE3LTUtNSA1LTUifV0sWyJwYXRoIix7ZDoibTQgMTcgNS01LTUtNSJ9XV19KTt2YXIgbFMsbmtlPWYoKCk9PntsUz1bWyJwYXRoIix7ZDoibTYgMTcgNS01LTUtNSJ9XSxbInBhdGgiLHtkOiJtMTMgMTcgNS01LTUtNSJ9XV19KTt2YXIgY1MsbGtlPWYoKCk9PntjUz1bWyJwYXRoIix7ZDoibTE3IDExLTUtNS01IDUifV0sWyJwYXRoIix7ZDoibTE3IDE4LTUtNS01IDUifV1dfSk7dmFyIGRTLGNrZT1mKCgpPT57ZFM9W1sicGF0aCIse2Q6Im03IDE1IDUgNSA1LTUifV0sWyJwYXRoIix7ZDoibTcgOSA1LTUgNSA1In1dXX0pO3ZhciB1Uyxka2U9ZigoKT0+e3VTPVtbInBhdGgiLHtkOiJNMTAgOWg0In1dLFsicGF0aCIse2Q6Ik0xMiA3djUifV0sWyJwYXRoIix7ZDoiTTE0IDIxdi0zYTIgMiAwIDAgMC00IDB2MyJ9XSxbInBhdGgiLHtkOiJtMTggOSAzLjUyIDIuMTQ3YTEgMSAwIDAgMSAuNDguODU0VjE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi02Ljk5OWExIDEgMCAwIDEgLjQ4LS44NTRMNiA5In1dLFsicGF0aCIse2Q6Ik02IDIxVjdhMSAxIDAgMCAxIC4zNzYtLjc4Mmw1LTMuOTk5YTEgMSAwIDAgMSAxLjI0OS4wMDFsNSA0QTEgMSAwIDAgMSAxOCA3djE0In1dXX0pO3ZhciBwUyx1a2U9ZigoKT0+e3BTPVtbInBhdGgiLHtkOiJNMTIgMTJIM2ExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMWgxMyJ9XSxbInBhdGgiLHtkOiJNMTggOGMwLTIuNS0yLTIuNS0yLTUifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjEgMTJhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0uNS44NjYifV0sWyJwYXRoIix7ZDoiTTIyIDhjMC0yLjUtMi0yLjUtMi01In1dLFsicGF0aCIse2Q6Ik03IDEydjQifV1dfSk7dmFyIGZTLHBrZT1mKCgpPT57ZlM9W1sicGF0aCIse2Q6Ik0xNyAxMkgzYTEgMSAwIDAgMC0xIDF2MmExIDEgMCAwIDAgMSAxaDE0In1dLFsicGF0aCIse2Q6Ik0xOCA4YzAtMi41LTItMi41LTItNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTZhMSAxIDAgMCAwIDEtMXYtMmExIDEgMCAwIDAtMS0xIn1dLFsicGF0aCIse2Q6Ik0yMiA4YzAtMi41LTItMi41LTItNSJ9XSxbInBhdGgiLHtkOiJNNyAxMnY0In1dXX0pO3ZhciBIZCxma2U9ZigoKT0+e0hkPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjgiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMi4wMSIseTE6IjE2Iix5MjoiMTYifV1dfSk7dmFyIHFkLGhrZT1mKCgpPT57cWQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV0sWyJwYXRoIix7ZDoibTggMTIgNCA0IDQtNCJ9XV19KTt2YXIgVmQsbWtlPWYoKCk9PntWZD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTEyIDgtNCA0IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJIOCJ9XV19KTt2YXIgamQsZ2tlPWYoKCk9PntqZD1bWyJwYXRoIix7ZDoiTTIgMTJhMTAgMTAgMCAxIDEgMTAgMTAifV0sWyJwYXRoIix7ZDoibTIgMjIgMTAtMTAifV0sWyJwYXRoIix7ZDoiTTggMjJIMnYtNiJ9XV19KTt2YXIgVWQsYmtlPWYoKCk9PntVZD1bWyJwYXRoIix7ZDoiTTEyIDIyYTEwIDEwIDAgMSAxIDEwLTEwIn1dLFsicGF0aCIse2Q6Ik0yMiAyMiAxMiAxMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTZ2NmgtNiJ9XV19KTt2YXIgV2QsdmtlPWYoKCk9PntXZD1bWyJwYXRoIix7ZDoiTTIgOFYyaDYifV0sWyJwYXRoIix7ZDoibTIgMiAxMCAxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMkExMCAxMCAwIDEgMSAyIDEyIn1dXX0pO3ZhciBHZCx4a2U9ZigoKT0+e0dkPVtbInBhdGgiLHtkOiJNMjIgMTJBMTAgMTAgMCAxIDEgMTIgMiJ9XSxbInBhdGgiLHtkOiJNMjIgMiAxMiAxMiJ9XSxbInBhdGgiLHtkOiJNMTYgMmg2djYifV1dfSk7dmFyIFlkLHlrZT1mKCgpPT57WWQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xMiAxNiA0LTQtNC00In1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV1dfSk7dmFyIEtkLHdrZT1mKCgpPT57S2Q9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xNiAxMi00LTQtNCA0In1dLFsicGF0aCIse2Q6Ik0xMiAxNlY4In1dXX0pO3ZhciBaZCxNa2U9ZigoKT0+e1pkPVtbInBhdGgiLHtkOiJNMjEuODAxIDEwQTEwIDEwIDAgMSAxIDE3IDMuMzM1In1dLFsicGF0aCIse2Q6Im05IDExIDMgM0wyMiA0In1dXX0pO3ZhciBYZCxra2U9ZigoKT0+e1hkPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00In1dXX0pO3ZhciBRZCxTa2U9ZigoKT0+e1FkPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTQgMTYtNC00IDQtNCJ9XV19KTt2YXIgSmQsemtlPWYoKCk9PntKZD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTE2IDEwLTQgNC00LTQifV1dfSk7dmFyIGU2LENrZT1mKCgpPT57ZTY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xMCA4IDQgNC00IDQifV1dfSk7dmFyIHQ2LF9rZT1mKCgpPT57dDY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im04IDE0IDQtNCA0IDQifV1dfSk7dmFyIGhTLFRrZT1mKCgpPT57aFM9W1sicGF0aCIse2Q6Ik0xMC4xIDIuMTgyYTEwIDEwIDAgMCAxIDMuOCAwIn1dLFsicGF0aCIse2Q6Ik0xMy45IDIxLjgxOGExMCAxMCAwIDAgMS0zLjggMCJ9XSxbInBhdGgiLHtkOiJNMTcuNjA5IDMuNzIxYTEwIDEwIDAgMCAxIDIuNjkgMi43In1dLFsicGF0aCIse2Q6Ik0yLjE4MiAxMy45YTEwIDEwIDAgMCAxIDAtMy44In1dLFsicGF0aCIse2Q6Ik0yMC4yNzkgMTcuNjA5YTEwIDEwIDAgMCAxLTIuNyAyLjY5In1dLFsicGF0aCIse2Q6Ik0yMS44MTggMTAuMWExMCAxMCAwIDAgMSAwIDMuOCJ9XSxbInBhdGgiLHtkOiJNMy43MjEgNi4zOTFhMTAgMTAgMCAwIDEgMi43LTIuNjkifV0sWyJwYXRoIix7ZDoiTTYuMzkxIDIwLjI3OWExMCAxMCAwIDAgMS0yLjY5LTIuNyJ9XV19KTt2YXIgYTYsTGtlPWYoKCk9PnthNj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNiIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIxNiIseTI6IjE2In1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiOCIseTI6IjgifV1dfSk7dmFyIG1TLCRrZT1mKCgpPT57bVM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xNiA4aC02YTIgMiAwIDEgMCAwIDRoNGEyIDIgMCAxIDEgMCA0SDgifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV1dfSk7dmFyIGdTLERrZT1mKCgpPT57Z1M9W1sicGF0aCIse2Q6Ik0xMC4xIDIuMThhOS45MyA5LjkzIDAgMCAxIDMuOCAwIn1dLFsicGF0aCIse2Q6Ik0xNy42IDMuNzFhOS45NSA5Ljk1IDAgMCAxIDIuNjkgMi43In1dLFsicGF0aCIse2Q6Ik0yMS44MiAxMC4xYTkuOTMgOS45MyAwIDAgMSAwIDMuOCJ9XSxbInBhdGgiLHtkOiJNMjAuMjkgMTcuNmE5Ljk1IDkuOTUgMCAwIDEtMi43IDIuNjkifV0sWyJwYXRoIix7ZDoiTTEzLjkgMjEuODJhOS45NCA5Ljk0IDAgMCAxLTMuOCAwIn1dLFsicGF0aCIse2Q6Ik02LjQgMjAuMjlhOS45NSA5Ljk1IDAgMCAxLTIuNjktMi43In1dLFsicGF0aCIse2Q6Ik0yLjE4IDEzLjlhOS45MyA5LjkzIDAgMCAxIDAtMy44In1dLFsicGF0aCIse2Q6Ik0zLjcxIDYuNGE5Ljk1IDkuOTUgMCAwIDEgMi43LTIuNjkifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIgYlMsQWtlPWYoKCk9PntiUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE3IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDEyaC4wMSJ9XV19KTt2YXIgdlMsUGtlPWYoKCk9Pnt2Uz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIgeFMsRWtlPWYoKCk9Pnt4Uz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTcgMTBoMTAifV0sWyJwYXRoIix7ZDoiTTcgMTRoMTAifV1dfSk7dmFyIHlTLElrZT1mKCgpPT57eVM9W1sicGF0aCIse2Q6Ik0xMiAyYTEwIDEwIDAgMCAxIDcuMzggMTYuNzUifV0sWyJwYXRoIix7ZDoibTE2IDEyLTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTEyIDE2VjgifV0sWyJwYXRoIix7ZDoiTTIuNSA4Ljg3NWExMCAxMCAwIDAgMC0uNSAzIn1dLFsicGF0aCIse2Q6Ik0yLjgzIDE2YTEwIDEwIDAgMCAwIDIuNDMgMy40In1dLFsicGF0aCIse2Q6Ik00LjYzNiA1LjIzNWExMCAxMCAwIDAgMSAuODkxLS44NTcifV0sWyJwYXRoIix7ZDoiTTguNjQ0IDIxLjQyYTEwIDEwIDAgMCAwIDcuNjMxLS4zOCJ9XV19KTt2YXIgd1MsTmtlPWYoKCk9Pnt3Uz1bWyJwYXRoIix7ZDoiTTEyIDJhMTAgMTAgMCAwIDEgNy4zOCAxNi43NSJ9XSxbInBhdGgiLHtkOiJNMTIgOHY4In1dLFsicGF0aCIse2Q6Ik0xNiAxMkg4In1dLFsicGF0aCIse2Q6Ik0yLjUgOC44NzVhMTAgMTAgMCAwIDAtLjUgMyJ9XSxbInBhdGgiLHtkOiJNMi44MyAxNmExMCAxMCAwIDAgMCAyLjQzIDMuNCJ9XSxbInBhdGgiLHtkOiJNNC42MzYgNS4yMzVhMTAgMTAgMCAwIDEgLjg5MS0uODU3In1dLFsicGF0aCIse2Q6Ik04LjY0NCAyMS40MmExMCAxMCAwIDAgMCA3LjYzMS0uMzgifV1dfSk7dmFyIHI2LFJrZT1mKCgpPT57cjY9W1sicGF0aCIse2Q6Ik0xNS42IDIuN2ExMCAxMCAwIDEgMCA1LjcgNS43In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTEzLjQgMTAuNiAxOSA1In1dXX0pO3ZhciBzNixPa2U9ZigoKT0+e3M2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dXX0pO3ZhciBNUyxGa2U9ZigoKT0+e01TPVtbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04LjM1IDIuNjlBMTAgMTAgMCAwIDEgMjEuMyAxNS42NSJ9XSxbInBhdGgiLHtkOiJNMTkuMDggMTkuMDhBMTAgMTAgMCAxIDEgNC45MiA0LjkyIn1dXX0pO3ZhciBpNixCa2U9ZigoKT0+e2k2PVtbInBhdGgiLHtkOiJNMTIuNjU2IDdIMTNhMyAzIDAgMCAxIDIuOTg0IDMuMzA3In1dLFsicGF0aCIse2Q6Ik0xMyAxM0g5In1dLFsicGF0aCIse2Q6Ik0xOS4wNzEgMTkuMDcxQTEgMSAwIDAgMSA0LjkzIDQuOTMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOC4zNTcgMi42ODdhMTAgMTAgMCAwIDEgMTIuOTU2IDEyLjk1NiJ9XSxbInBhdGgiLHtkOiJNOSAxN1Y5In1dXX0pO3ZhciBvNixIa2U9ZigoKT0+e282PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOSAxN1Y3aDRhMyAzIDAgMCAxIDAgNkg5In1dXX0pO3ZhciBuNixxa2U9ZigoKT0+e242PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiMTAiLHgyOiIxMCIseTE6IjE1Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTQiLHgyOiIxNCIseTE6IjE1Iix5MjoiOSJ9XV19KTt2YXIgbDYsVmtlPWYoKCk9PntsNj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Ik05IDloLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSAxNWguMDEifV1dfSk7dmFyIGM2LGprZT1mKCgpPT57YzY9W1sicGF0aCIse2Q6Ik05IDkuMDAzYTEgMSAwIDAgMSAxLjUxNy0uODU5bDQuOTk3IDIuOTk3YTEgMSAwIDAgMSAwIDEuNzE4bC00Ljk5NyAyLjk5N0ExIDEgMCAwIDEgOSAxNC45OTZ6In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXX0pO3ZhciBrUyxVa2U9ZigoKT0+e2tTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE5IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjEyIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjIwIixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNCIsY3k6IjE5IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjgiLGN5OiIxMiIscjoiMiJ9XV19KTt2YXIgZDYsV2tlPWYoKCk9PntkNj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTIgOHY4In1dXX0pO3ZhciBTUyxHa2U9ZigoKT0+e1NTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTAgMTZWOS41YTEgMSAwIDAgMSA1IDAifV0sWyJwYXRoIix7ZDoiTTggMTJoNCJ9XSxbInBhdGgiLHtkOiJNOCAxNmg3In1dXX0pO3ZhciB1NixZa2U9ZigoKT0+e3U2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y0In1dLFsicGF0aCIse2Q6Ik03Ljk5OCA5LjAwM2E1IDUgMCAxIDAgOC0uMDA1In1dXX0pO3ZhciBKbCxLa2U9ZigoKT0+e0psPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOS4wOSA5YTMgMyAwIDAgMSA1LjgzIDFjMCAyLTMgMy0zIDMifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XV19KTt2YXIgcDYsWmtlPWYoKCk9PntwNj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTIyIDIgMiAyMiJ9XV19KTt2YXIgelMsWGtlPWYoKCk9Pnt6Uz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJsaW5lIix7eDE6IjkiLHgyOiIxNSIseTE6IjE1Iix5MjoiOSJ9XV19KTt2YXIgQ1MsUWtlPWYoKCk9PntDUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNiJ9XV19KTt2YXIgX1MsSmtlPWYoKCk9PntfUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTExLjA1MSA3LjYxNmExIDEgMCAwIDEgMS45MDkuMDI0bC43MzcgMS40NTJhMSAxIDAgMCAwIC43MzcuNTM1bDEuNjM0LjI1NmExIDEgMCAwIDEgLjU4OCAxLjgwNmwtMS4xNzIgMS4xNjhhMSAxIDAgMCAwLS4yODIuODY2bC4yNTkgMS42MTNhMSAxIDAgMCAxLTEuNTQxIDEuMTM0bC0xLjQ2NS0uNzVhMSAxIDAgMCAwLS45MTIgMGwtMS40NjUuNzVhMSAxIDAgMCAxLTEuNTM5LTEuMTMzbC4yNTgtMS42MTNhMSAxIDAgMCAwLS4yODItLjg2N2wtMS4xNTYtMS4xNTJhMSAxIDAgMCAxIC41NzItMS44MjJsMS42MzMtLjI1NmExIDEgMCAwIDAgLjczNy0uNTM1eiJ9XV19KTt2YXIgZjYsZVNlPWYoKCk9PntmNj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJyZWN0Iix7eDoiOSIseToiOSIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEifV1dfSk7dmFyIGg2LHRTZT1mKCgpPT57aDY9W1sicGF0aCIse2Q6Ik0xNy45MjUgMjAuMDU2YTYgNiAwIDAgMC0xMS44NTEuMDAxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTEiLHI6IjQifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dfSk7dmFyIG02LGFTZT1mKCgpPT57bTY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTcgMjAuNjYyVjE5YTIgMiAwIDAgMSAyLTJoNmEyIDIgMCAwIDEgMiAydjEuNjYyIn1dXX0pO3ZhciBnNixyU2U9ZigoKT0+e2c2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTUgOS02IDYifV0sWyJwYXRoIix7ZDoibTkgOSA2IDYifV1dfSk7dmFyIFRTLHNTZT1mKCgpPT57VFM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXX0pO3ZhciBMUyxpU2U9ZigoKT0+e0xTPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMSA5aDRhMiAyIDAgMCAwIDItMlYzIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI5IixyOiIyIn1dLFsicGF0aCIse2Q6Ik03IDIxdi00YTIgMiAwIDAgMSAyLTJoNCJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjE1IixyOiIyIn1dXX0pO3ZhciAkUyxvU2U9ZigoKT0+eyRTPVtbInBhdGgiLHtkOiJNMjEuNjYgMTcuNjdhMS4wOCAxLjA4IDAgMCAxLS4wNCAxLjZBMTIgMTIgMCAwIDEgNC43MyAyLjM4YTEuMSAxLjEgMCAwIDEgMS42MS0uMDR6In1dLFsicGF0aCIse2Q6Ik0xOS42NSAxNS42NkE4IDggMCAwIDEgOC4zNSA0LjM0In1dLFsicGF0aCIse2Q6Im0xNCAxMC01LjUgNS41In1dLFsicGF0aCIse2Q6Ik0xNCAxNy44NVYxMEg2LjE1In1dXX0pO3ZhciBEUyxuU2U9ZigoKT0+e0RTPVtbInBhdGgiLHtkOiJtMTIuMjk2IDMuNDY0IDMuMDIgMy45NTYifV0sWyJwYXRoIix7ZDoiTTIwLjIgNiAzIDExbC0uOS0yLjRjLS4zLTEuMS4zLTIuMiAxLjMtMi41bDEzLjUtNGMxLjEtLjMgMi4yLjMgMi41IDEuM3oifV0sWyJwYXRoIix7ZDoiTTMgMTFoMTh2OGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnoifV0sWyJwYXRoIix7ZDoibTYuMTggNS4yNzYgMy4xIDMuODk5In1dXX0pO3ZhciBBUyxsU2U9ZigoKT0+e0FTPVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSIscnk6IjEifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Im05IDE0IDIgMiA0LTQifV1dfSk7dmFyIFBTLGNTZT1mKCgpPT57UFM9W1sicGF0aCIse2Q6Ik0xNiAxNHYyLjJsMS42IDEifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydi44MzIifV0sWyJwYXRoIix7ZDoiTTggNEg2YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgyIn1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTYiLHI6IjYifV0sWyJyZWN0Iix7eDoiOCIseToiMiIsd2lkdGg6IjgiLGhlaWdodDoiNCIscng6IjEifV1dfSk7dmFyIEVTLGRTZT1mKCgpPT57RVM9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNOCA0SDZhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjQifV0sWyJwYXRoIix7ZDoiTTIxIDE0SDExIn1dLFsicGF0aCIse2Q6Im0xNSAxMC00IDQgNCA0In1dXX0pO3ZhciBJUyx1U2U9ZigoKT0+e0lTPVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSIscnk6IjEifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMWg0In1dLFsicGF0aCIse2Q6Ik0xMiAxNmg0In1dLFsicGF0aCIse2Q6Ik04IDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxNmguMDEifV1dfSk7dmFyIE5TLHBTZT1mKCgpPT57TlM9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTkgMTRoNiJ9XV19KTt2YXIgUlMsZlNlPWYoKCk9PntSUz1bWyJwYXRoIix7ZDoiTTExIDE0aDEwIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxLjM0NCJ9XSxbInBhdGgiLHtkOiJtMTcgMTggNC00LTQtNCJ9XSxbInBhdGgiLHtkOiJNOCA0SDZhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAxLjc5My0xLjExMyJ9XSxbInJlY3QiLHt4OiI4Iix5OiIyIix3aWR0aDoiOCIsaGVpZ2h0OiI0IixyeDoiMSJ9XV19KTt2YXIgYjYsaFNlPWYoKCk9PntiNj1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEifV0sWyJwYXRoIix7ZDoiTTggNEg2YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0ydi0uNSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAxLjczIDEifV0sWyJwYXRoIix7ZDoiTTggMThoMSJ9XSxbInBhdGgiLHtkOiJNMjEuMzc4IDEyLjYyNmExIDEgMCAwIDAtMy4wMDQtMy4wMDRsLTQuMDEgNC4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6In1dXX0pO3ZhciB2NixtU2U9ZigoKT0+e3Y2PVtbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEuMzQgMTUuNjY0YTEgMSAwIDEgMC0zLjAwNC0zLjAwNGwtNS4wMSA1LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV0sWyJwYXRoIix7ZDoiTTggMjJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIn1dLFsicmVjdCIse3g6IjgiLHk6IjIiLHdpZHRoOiI4IixoZWlnaHQ6IjQiLHJ4OiIxIn1dXX0pO3ZhciBPUyxnU2U9ZigoKT0+e09TPVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSIscnk6IjEifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik05IDE0aDYifV0sWyJwYXRoIix7ZDoiTTEyIDE3di02In1dXX0pO3ZhciBGUyxiU2U9ZigoKT0+e0ZTPVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSIscnk6IjEifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik05IDEydi0xaDZ2MSJ9XSxbInBhdGgiLHtkOiJNMTEgMTdoMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTF2NiJ9XV19KTt2YXIgQlMsdlNlPWYoKCk9PntCUz1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEiLHJ5OiIxIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJtMTUgMTEtNiA2In1dLFsicGF0aCIse2Q6Im05IDExIDYgNiJ9XV19KTt2YXIgSFMseFNlPWYoKCk9PntIUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2NmwyLTQifV1dfSk7dmFyIHFTLHlTZT1mKCgpPT57cVM9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV1dfSk7dmFyIFZTLHdTZT1mKCgpPT57VlM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djZsLTQtMiJ9XV19KTt2YXIgalMsTVNlPWYoKCk9PntqUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2NmwtMi00In1dXX0pO3ZhciBVUyxrU2U9ZigoKT0+e1VTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2In1dXX0pO3ZhciBXUyxTU2U9ZigoKT0+e1dTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2bDQtMiJ9XV19KTt2YXIgR1MselNlPWYoKCk9PntHUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2Nmg0In1dXX0pO3ZhciBZUyxDU2U9ZigoKT0+e1lTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2bDQgMiJ9XV19KTt2YXIgS1MsX1NlPWYoKCk9PntLUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2NmwyIDQifV1dfSk7dmFyIFpTLFRTZT1mKCgpPT57WlM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djEwIn1dXX0pO3ZhciBYUyxMU2U9ZigoKT0+e1hTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2bC00IDIifV1dfSk7dmFyIFFTLCRTZT1mKCgpPT57UVM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djZsLTIgNCJ9XV19KTt2YXIgSlMsRFNlPWYoKCk9PntKUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2Nkg4In1dXX0pO3ZhciBleixBU2U9ZigoKT0+e2V6PVtbInBhdGgiLHtkOiJNMTIgNnY2bDQgMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTJ2NSJ9XSxbInBhdGgiLHtkOiJNMjAgMjFoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMS4yNSA4LjJBMTAgMTAgMCAxIDAgMTYgMjEuMTYifV1dfSk7dmFyIHR6LFBTZT1mKCgpPT57dHo9W1sicGF0aCIse2Q6Ik0xMiA2djZsMiAxIn1dLFsicGF0aCIse2Q6Ik0xMi4zMzcgMjEuOTk0YTEwIDEwIDAgMSAxIDkuNTg4LTguNzY3In1dLFsicGF0aCIse2Q6Im0xNCAxOCA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik0xOCAxNHY4In1dXX0pO3ZhciBheixFU2U9ZigoKT0+e2F6PVtbInBhdGgiLHtkOiJNMTIgNnY2bDEuNTYuNzgifV0sWyJwYXRoIix7ZDoiTTEzLjIyNyAyMS45MjVhMTAgMTAgMCAxIDEgOC43NjctOS41ODgifV0sWyJwYXRoIix7ZDoibTE0IDE4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTE4IDIydi04In1dXX0pO3ZhciByeixJU2U9ZigoKT0+e3J6PVtbInBhdGgiLHtkOiJNMTIgNnY2bDQgMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJhMTAgMTAgMCAxIDAtMTEgOS45NSJ9XSxbInBhdGgiLHtkOiJtMjIgMTYtNS41IDUuNUwxNCAxOSJ9XV19KTt2YXIgc3osTlNlPWYoKCk9Pntzej1bWyJwYXRoIix7ZDoiTTEyIDJhMTAgMTAgMCAwIDEgNy4zOCAxNi43NSJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2bDQgMiJ9XSxbInBhdGgiLHtkOiJNMi41IDguODc1YTEwIDEwIDAgMCAwLS41IDMifV0sWyJwYXRoIix7ZDoiTTIuODMgMTZhMTAgMTAgMCAwIDAgMi40MyAzLjQifV0sWyJwYXRoIix7ZDoiTTQuNjM2IDUuMjM1YTEwIDEwIDAgMCAxIC44OTEtLjg1NyJ9XSxbInBhdGgiLHtkOiJNOC42NDQgMjEuNDJhMTAgMTAgMCAwIDAgNy42MzEtLjM4In1dXX0pO3ZhciBpeixSU2U9ZigoKT0+e2l6PVtbInBhdGgiLHtkOiJNMTIgNnY2bDMuNjQ0IDEuODIyIn1dLFsicGF0aCIse2Q6Ik0xNiAxOWg2In1dLFsicGF0aCIse2Q6Ik0xOSAxNnY2In1dLFsicGF0aCIse2Q6Ik0yMS45MiAxMy4yNjdhMTAgMTAgMCAxIDAtOC42NTMgOC42NTMifV1dfSk7dmFyIG96LE9TZT1mKCgpPT57b3o9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djZsNCAyIn1dXX0pO3ZhciBueixGU2U9ZigoKT0+e256PVtbInBhdGgiLHtkOiJNMTAgOS4xN2EzIDMgMCAxIDAgMCA1LjY2In1dLFsicGF0aCIse2Q6Ik0xNyA5LjE3YTMgMyAwIDEgMCAwIDUuNjYifV0sWyJyZWN0Iix7eDoiMiIseToiNSIsd2lkdGg6IjIwIixoZWlnaHQ6IjE0IixyeDoiMiJ9XV19KTt2YXIgbHosQlNlPWYoKCk9Pntsej1bWyJwYXRoIix7ZDoiTTEyIDEydjQifV0sWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOC4xMjggMTYuOTQ5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhMSAxIDAgMCAxIDAgOWgtMS42NDIifV1dfSk7dmFyIGN6LEhTZT1mKCgpPT57Y3o9W1sicGF0aCIse2Q6Ik0yMSAxNS4yNTFBNC41IDQuNSAwIDAgMCAxNy41IDhoLTEuNzlBNyA3IDAgMSAwIDMgMTMuNjA3In1dLFsicGF0aCIse2Q6Ik03IDExdjRoNCJ9XSxbInBhdGgiLHtkOiJNOCAxOWE1IDUgMCAwIDAgOS0zIDQuNSA0LjUgMCAwIDAtNC41LTQuNSA0LjgyIDQuODIgMCAwIDAtMy40MSAxLjQxTDcgMTUifV1dfSk7dmFyIGR6LHFTZT1mKCgpPT57ZHo9W1sicGF0aCIse2Q6Im0xNyAxNS01LjUgNS41TDkgMTgifV0sWyJwYXRoIix7ZDoiTTUuNTE2IDE2LjA3QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAzLjUwMSA3LjMyNyJ9XV19KTt2YXIgdXosVlNlPWYoKCk9Pnt1ej1bWyJwYXRoIix7ZDoibTEwLjg1MiAxOS43NzItLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTEzLjE0OCAxNC4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoiTTEzLjE0OCAxOS43NzJhMyAzIDAgMSAwLTIuMjk2LTUuNTQ0bC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTEzLjUzIDIwLjY5Ni0uMzgyLS45MjRhMyAzIDAgMSAxLTIuMjk2LTUuNTQ0In1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTUuODUyLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTguMTQ4LjkyMy4zODMifV0sWyJwYXRoIix7ZDoiTTQuMiAxNS4xYTcgNyAwIDEgMSA5LjkzLTkuODU4QTcgNyAwIDAgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjUgOC4yIn1dLFsicGF0aCIse2Q6Im05LjIyOCAxNS44NTItLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im05LjIyOCAxOC4xNDgtLjkyMy4zODMifV1dfSk7dmFyIHg2LGpTZT1mKCgpPT57eDY9W1sicGF0aCIse2Q6Ik0xMiAxM3Y4bC00LTQifV0sWyJwYXRoIix7ZDoibTEyIDIxIDQtNCJ9XSxbInBhdGgiLHtkOiJNNC4zOTMgMTUuMjY5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjQzNiA4LjI4NCJ9XV19KTt2YXIgcHosVVNlPWYoKCk9Pntwej1bWyJwYXRoIix7ZDoiTTQgMTQuODk5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjUgOC4yNDIifV0sWyJwYXRoIix7ZDoiTTggMTl2MSJ9XSxbInBhdGgiLHtkOiJNOCAxNHYxIn1dLFsicGF0aCIse2Q6Ik0xNiAxOXYxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNHYxIn1dLFsicGF0aCIse2Q6Ik0xMiAyMXYxIn1dLFsicGF0aCIse2Q6Ik0xMiAxNnYxIn1dXX0pO3ZhciBmeixXU2U9ZigoKT0+e2Z6PVtbInBhdGgiLHtkOiJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiJ9XSxbInBhdGgiLHtkOiJNMTYgMTR2MiJ9XSxbInBhdGgiLHtkOiJNOCAxNHYyIn1dLFsicGF0aCIse2Q6Ik0xNiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTggMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxNnYyIn1dLFsicGF0aCIse2Q6Ik0xMiAyMmguMDEifV1dfSk7dmFyIGh6LEdTZT1mKCgpPT57aHo9W1sicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Ik0xNiAxN0g3In1dLFsicGF0aCIse2Q6Ik0xNyAyMUg5In1dXX0pO3ZhciBteixZU2U9ZigoKT0+e216PVtbInBhdGgiLHtkOiJNNiAxNi4zMjZBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIC41IDguOTczIn1dLFsicGF0aCIse2Q6Im0xMyAxMi0zIDVoNGwtMyA1In1dXX0pO3ZhciBneixLU2U9ZigoKT0+e2d6PVtbInBhdGgiLHtkOiJNMTEgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTguMzc2IDE0LjUxMmE2IDYgMCAwIDAgMy40NjEtNC4xMjdjLjE0OC0uNjI1LS42NTktLjk3LTEuMjQ4LS43MTRhNCA0IDAgMCAxLTUuMjU5LTUuMjZjLjI1NS0uNTg5LS4wOS0xLjM5NS0uNzE2LTEuMjQ4YTYgNiAwIDAgMC00LjU5NCA1LjM2In1dLFsicGF0aCIse2Q6Ik0zIDIwYTUgNSAwIDEgMSA4LjktNEgxM2EzIDMgMCAwIDEgMiA1LjI0In1dLFsicGF0aCIse2Q6Ik03IDE5djIifV1dfSk7dmFyIGJ6LFpTZT1mKCgpPT57Yno9W1sicGF0aCIse2Q6Ik0xMyAxNmEzIDMgMCAwIDEgMCA2SDdhNSA1IDAgMSAxIDQuOS02eiJ9XSxbInBhdGgiLHtkOiJNMTguMzc2IDE0LjUxMmE2IDYgMCAwIDAgMy40NjEtNC4xMjdjLjE0OC0uNjI1LS42NTktLjk3LTEuMjQ4LS43MTRhNCA0IDAgMCAxLTUuMjU5LTUuMjZjLjI1NS0uNTg5LS4wOS0xLjM5NS0uNzE2LTEuMjQ4YTYgNiAwIDAgMC00LjU5NCA1LjM2In1dXX0pO3ZhciB2eixYU2U9ZigoKT0+e3Z6PVtbInBhdGgiLHtkOiJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiJ9XSxbInBhdGgiLHtkOiJtOS4yIDIyIDMtNyJ9XSxbInBhdGgiLHtkOiJtOSAxMy0zIDcifV0sWyJwYXRoIix7ZDoibTE3IDEzLTMgNyJ9XV19KTt2YXIgeHosUVNlPWYoKCk9Pnt4ej1bWyJwYXRoIix7ZDoiTTEwLjk0IDUuMjc0QTcgNyAwIDAgMSAxNS43MSAxMGgxLjc5YTQuNSA0LjUgMCAwIDEgNC4yMjIgNi4wNTcifV0sWyJwYXRoIix7ZDoiTTE4Ljc5NiAxOC44MUE0LjUgNC41IDAgMCAxIDE3LjUgMTlIOUE3IDcgMCAwIDEgNS43OSA1Ljc4In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIHl6LEpTZT1mKCgpPT57eXo9W1sicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Ik0xNiAxNHY2In1dLFsicGF0aCIse2Q6Ik04IDE0djYifV0sWyJwYXRoIix7ZDoiTTEyIDE2djYifV1dfSk7dmFyIHd6LGV6ZT1mKCgpPT57d3o9W1sicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Ik04IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxOWguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMjFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE5aC4wMSJ9XV19KTt2YXIgTXosdHplPWYoKCk9PntNej1bWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJtNC45MyA0LjkzIDEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMjAgMTJoMiJ9XSxbInBhdGgiLHtkOiJtMTkuMDcgNC45My0xLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTE1Ljk0NyAxMi42NWE0IDQgMCAwIDAtNS45MjUtNC4xMjgifV0sWyJwYXRoIix7ZDoiTTMgMjBhNSA1IDAgMSAxIDguOS00SDEzYTMgMyAwIDAgMSAyIDUuMjQifV0sWyJwYXRoIix7ZDoiTTExIDIwdjIifV0sWyJwYXRoIix7ZDoiTTcgMTl2MiJ9XV19KTt2YXIga3osYXplPWYoKCk9Pntrej1bWyJwYXRoIix7ZDoibTE3IDE4LTEuNTM1IDEuNjA1YTUgNSAwIDAgMS04LTEuNSJ9XSxbInBhdGgiLHtkOiJNMTcgMjJ2LTRoLTQifV0sWyJwYXRoIix7ZDoiTTIwLjk5NiAxNS4yNTFBNC41IDQuNSAwIDAgMCAxNy40OTUgOGgtMS43OWE3IDcgMCAxIDAtMTIuNzA5IDUuNjA3In1dLFsicGF0aCIse2Q6Ik03IDEwdjRoNCJ9XSxbInBhdGgiLHtkOiJtNyAxNCAxLjUzNS0xLjYwNWE1IDUgMCAwIDEgOCAxLjUifV1dfSk7dmFyIFN6LHJ6ZT1mKCgpPT57U3o9W1sicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoibTQuOTMgNC45MyAxLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDIifV0sWyJwYXRoIix7ZDoibTE5LjA3IDQuOTMtMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0xNS45NDcgMTIuNjVhNCA0IDAgMCAwLTUuOTI1LTQuMTI4In1dLFsicGF0aCIse2Q6Ik0xMyAyMkg3YTUgNSAwIDEgMSA0LjktNkgxM2EzIDMgMCAwIDEgMCA2WiJ9XV19KTt2YXIgeTYsc3plPWYoKCk9Pnt5Nj1bWyJwYXRoIix7ZDoiTTEyIDEzdjgifV0sWyJwYXRoIix7ZDoiTTQgMTQuODk5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjUgOC4yNDIifV0sWyJwYXRoIix7ZDoibTggMTcgNC00IDQgNCJ9XV19KTt2YXIgenosaXplPWYoKCk9Pnt6ej1bWyJwYXRoIix7ZDoiTTE3LjUgMTlIOWE3IDcgMCAxIDEgNi43MS05aDEuNzlhNC41IDQuNSAwIDEgMSAwIDlaIn1dXX0pO3ZhciBDeixvemU9ZigoKT0+e0N6PVtbInBhdGgiLHtkOiJNMTcuNSAxMmExIDEgMCAxIDEgMCA5SDkuMDA2YTcgNyAwIDEgMSA2LjcwMi05eiJ9XSxbInBhdGgiLHtkOiJNMjEuODMyIDlBMyAzIDAgMCAwIDE5IDdoLTIuMjA3YTUuNSA1LjUgMCAwIDAtMTAuNzIuNjEifV1dfSk7dmFyIF96LG56ZT1mKCgpPT57X3o9W1sicGF0aCIse2Q6Ik0xNi4xNyA3LjgzIDIgMjIifV0sWyJwYXRoIix7ZDoiTTQuMDIgMTJhMi44MjcgMi44MjcgMCAxIDEgMy44MS00LjE3QTIuODI3IDIuODI3IDAgMSAxIDEyIDQuMDJhMi44MjcgMi44MjcgMCAxIDEgNC4xNyAzLjgxQTIuODI3IDIuODI3IDAgMSAxIDE5Ljk4IDEyYTIuODI3IDIuODI3IDAgMSAxLTMuODEgNC4xN0EyLjgyNyAyLjgyNyAwIDEgMSAxMiAxOS45OGEyLjgyNyAyLjgyNyAwIDEgMS00LjE3LTMuODFBMSAxIDAgMSAxIDQgMTIifV0sWyJwYXRoIix7ZDoibTcuODMgNy44MyA4LjM0IDguMzQifV1dfSk7dmFyIFR6LGx6ZT1mKCgpPT57VHo9W1sicGF0aCIse2Q6Ik0xNy4yOCA5LjA1YTUuNSA1LjUgMCAxIDAtMTAuNTYgMEE1LjUgNS41IDAgMSAwIDEyIDE3LjY2YTUuNSA1LjUgMCAxIDAgNS4yOC04LjZaIn1dLFsicGF0aCIse2Q6Ik0xMiAxNy42NkwxMiAyMiJ9XV19KTt2YXIgdzYsY3plPWYoKCk9Pnt3Nj1bWyJwYXRoIix7ZDoibTE4IDE2IDQtNC00LTQifV0sWyJwYXRoIix7ZDoibTYgOC00IDQgNCA0In1dLFsicGF0aCIse2Q6Im0xNC41IDQtNSAxNiJ9XV19KTt2YXIgTHosZHplPWYoKCk9PntMej1bWyJwYXRoIix7ZDoibTE2IDE4IDYtNi02LTYifV0sWyJwYXRoIix7ZDoibTggNi02IDYgNiA2In1dXX0pO3ZhciAkeix1emU9ZigoKT0+eyR6PVtbInBhdGgiLHtkOiJNMTAgMnYyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjIifV0sWyJwYXRoIix7ZDoiTTE2IDhhMSAxIDAgMCAxIDEgMXY4YTQgNCAwIDAgMS00IDRIN2E0IDQgMCAwIDEtNC00VjlhMSAxIDAgMCAxIDEtMWgxNGE0IDQgMCAxIDEgMCA4aC0xIn1dLFsicGF0aCIse2Q6Ik02IDJ2MiJ9XV19KTt2YXIgRHoscHplPWYoKCk9PntEej1bWyJwYXRoIix7ZDoiTTExIDEwLjI3IDcgMy4zNCJ9XSxbInBhdGgiLHtkOiJtMTEgMTMuNzMtNCA2LjkzIn1dLFsicGF0aCIse2Q6Ik0xMiAyMnYtMiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xNCAxMmg4In1dLFsicGF0aCIse2Q6Im0xNyAyMC42Ni0xLTEuNzMifV0sWyJwYXRoIix7ZDoibTE3IDMuMzQtMSAxLjczIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIifV0sWyJwYXRoIix7ZDoibTIwLjY2IDE3LTEuNzMtMSJ9XSxbInBhdGgiLHtkOiJtMjAuNjYgNy0xLjczIDEifV0sWyJwYXRoIix7ZDoibTMuMzQgMTcgMS43My0xIn1dLFsicGF0aCIse2Q6Im0zLjM0IDcgMS43MyAxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiOCJ9XV19KTt2YXIgQXosZnplPWYoKCk9PntBej1bWyJwYXRoIix7ZDoiTTEzLjc0NCAxNy43MzZhNiA2IDAgMSAxLTcuNDgtNy40OCJ9XSxbInBhdGgiLHtkOiJNMTUgNmgxdjQifV0sWyJwYXRoIix7ZDoibTYuMTM0IDE0Ljc2OC44NjYtLjUgMiAzLjQ2NCJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjgiLHI6IjYifV1dfSk7dmFyIE02LGh6ZT1mKCgpPT57TTY9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDN2MTgifV1dfSk7dmFyIGVjLG16ZT1mKCgpPT57ZWM9W1sicGF0aCIse2Q6Ik0xMC41IDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY1LjUifV0sWyJwYXRoIix7ZDoibTE0LjMgMTkuNiAxLS40In1dLFsicGF0aCIse2Q6Ik0xNSAzdjcuNSJ9XSxbInBhdGgiLHtkOiJtMTUuMiAxNi45LS45LS4zIn1dLFsicGF0aCIse2Q6Im0xNi42IDIxLjcuMy0uOSJ9XSxbInBhdGgiLHtkOiJtMTYuOCAxNS4zLS40LTEifV0sWyJwYXRoIix7ZDoibTE5LjEgMTUuMi4zLS45In1dLFsicGF0aCIse2Q6Im0xOS42IDIxLjctLjQtMSJ9XSxbInBhdGgiLHtkOiJtMjAuNyAxNi44IDEtLjQifV0sWyJwYXRoIix7ZDoibTIxLjcgMTkuNC0uOS0uMyJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIGs2LGd6ZT1mKCgpPT57azY9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XV19KTt2YXIgUHosYnplPWYoKCk9PntQej1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNy41IDN2MTgifV0sWyJwYXRoIix7ZDoiTTEyIDN2MTgifV0sWyJwYXRoIix7ZDoiTTE2LjUgM3YxOCJ9XV19KTt2YXIgRXosdnplPWYoKCk9PntFej1bWyJwYXRoIix7ZDoiTTE0IDNhMSAxIDAgMCAxIDEgMXY1YTEgMSAwIDAgMS0xIDEifV0sWyJwYXRoIix7ZDoiTTE5IDNhMSAxIDAgMCAxIDEgMXY1YTEgMSAwIDAgMS0xIDEifV0sWyJwYXRoIix7ZDoibTcgMTUgMyAzIn1dLFsicGF0aCIse2Q6Im03IDIxIDMtM0g1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJyZWN0Iix7eDoiMTQiLHk6IjE0Iix3aWR0aDoiNyIsaGVpZ2h0OiI3IixyeDoiMSJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiNyIsaGVpZ2h0OiI3IixyeDoiMSJ9XV19KTt2YXIgSXoseHplPWYoKCk9PntJej1bWyJwYXRoIix7ZDoiTTE1IDZ2MTJhMyAzIDAgMSAwIDMtM0g2YTMgMyAwIDEgMCAzIDNWNmEzIDMgMCAxIDAtMyAzaDEyYTMgMyAwIDEgMC0zLTMifV1dfSk7dmFyIE56LHl6ZT1mKCgpPT57Tno9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xNi4yNCA3Ljc2LTEuODA0IDUuNDExYTIgMiAwIDAgMS0xLjI2NSAxLjI2NUw3Ljc2IDE2LjI0bDEuODA0LTUuNDExYTIgMiAwIDAgMSAxLjI2NS0xLjI2NXoifV1dfSk7dmFyIFJ6LHd6ZT1mKCgpPT57Uno9W1sicGF0aCIse2Q6Ik0xNS41MzYgMTEuMjkzYTEgMSAwIDAgMCAwIDEuNDE0bDIuMzc2IDIuMzc3YTEgMSAwIDAgMCAxLjQxNCAwbDIuMzc3LTIuMzc3YTEgMSAwIDAgMCAwLTEuNDE0bC0yLjM3Ny0yLjM3N2ExIDEgMCAwIDAtMS40MTQgMHoifV0sWyJwYXRoIix7ZDoiTTIuMjk3IDExLjI5M2ExIDEgMCAwIDAgMCAxLjQxNGwyLjM3NyAyLjM3N2ExIDEgMCAwIDAgMS40MTQgMGwyLjM3Ny0yLjM3N2ExIDEgMCAwIDAgMC0xLjQxNEw2LjA4OCA4LjkxNmExIDEgMCAwIDAtMS40MTQgMHoifV0sWyJwYXRoIix7ZDoiTTguOTE2IDE3LjkxMmExIDEgMCAwIDAgMCAxLjQxNWwyLjM3NyAyLjM3NmExIDEgMCAwIDAgMS40MTQgMGwyLjM3Ny0yLjM3NmExIDEgMCAwIDAgMC0xLjQxNWwtMi4zNzctMi4zNzZhMSAxIDAgMCAwLTEuNDE0IDB6In1dLFsicGF0aCIse2Q6Ik04LjkxNiA0LjY3NGExIDEgMCAwIDAgMCAxLjQxNGwyLjM3NyAyLjM3NmExIDEgMCAwIDAgMS40MTQgMGwyLjM3Ny0yLjM3NmExIDEgMCAwIDAgMC0xLjQxNGwtMi4zNzctMi4zNzdhMSAxIDAgMCAwLTEuNDE0IDB6In1dXX0pO3ZhciBPeixNemU9ZigoKT0+e096PVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiOCIseDoiNSIseToiMiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjgiLHg6IjIiLHk6IjE0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNiAxOGgyIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGg2In1dXX0pO3ZhciBGeixremU9ZigoKT0+e0Z6PVtbInBhdGgiLHtkOiJNMyAyMGExIDEgMCAwIDEtMS0xdi0xYTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFaIn1dLFsicGF0aCIse2Q6Ik0yMCAxNmE4IDggMCAxIDAtMTYgMCJ9XSxbInBhdGgiLHtkOiJNMTIgNHY0In1dLFsicGF0aCIse2Q6Ik0xMCA0aDQifV1dfSk7dmFyIEJ6LFN6ZT1mKCgpPT57Qno9W1sicGF0aCIse2Q6Im0yMC45IDE4LjU1LTgtMTUuOThhMSAxIDAgMCAwLTEuOCAwbC04IDE1Ljk4In1dLFsiZWxsaXBzZSIse2N4OiIxMiIsY3k6IjE5IixyeDoiOSIscnk6IjMifV1dfSk7dmFyIEh6LHp6ZT1mKCgpPT57SHo9W1sicmVjdCIse3g6IjIiLHk6IjYiLHdpZHRoOiIyMCIsaGVpZ2h0OiI4IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTR2NyJ9XSxbInBhdGgiLHtkOiJNNyAxNHY3In1dLFsicGF0aCIse2Q6Ik0xNyAzdjMifV0sWyJwYXRoIix7ZDoiTTcgM3YzIn1dLFsicGF0aCIse2Q6Ik0xMCAxNCAyLjMgNi4zIn1dLFsicGF0aCIse2Q6Im0xNCA2IDcuNyA3LjcifV0sWyJwYXRoIix7ZDoibTggNiA4IDgifV1dfSk7dmFyIFM2LEN6ZT1mKCgpPT57UzY9W1sicGF0aCIse2Q6Ik0xNiAydjIifV0sWyJwYXRoIix7ZDoiTTE3LjkxNSAyMmE2IDYgMCAwIDAtMTIgMCJ9XSxbInBhdGgiLHtkOiJNOCAydjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInJlY3QiLHt4OiIzIix5OiI0Iix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBxeixfemU9ZigoKT0+e3F6PVtbInBhdGgiLHtkOiJNMTYgMnYyIn1dLFsicGF0aCIse2Q6Ik03IDIydi0yYTIgMiAwIDAgMSAyLTJoNmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTggMnYyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTEiLHI6IjMifV0sWyJyZWN0Iix7eDoiMyIseToiNCIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV19KTt2YXIgVnosVHplPWYoKCk9PntWej1bWyJwYXRoIix7ZDoiTTIyIDcuN2MwLS42LS40LTEuMi0uOC0xLjVsLTYuMy0zLjlhMS43MiAxLjcyIDAgMCAwLTEuNyAwbC0xMC4zIDZjLS41LjItLjkuOC0uOSAxLjR2Ni42YzAgLjUuNCAxLjIuOCAxLjVsNi4zIDMuOWExLjcyIDEuNzIgMCAwIDAgMS43IDBsMTAuMy02Yy41LS4zLjktMSAuOS0xLjVaIn1dLFsicGF0aCIse2Q6Ik0xMCAyMS45VjE0TDIuMSA5LjEifV0sWyJwYXRoIix7ZDoibTEwIDE0IDExLjktNi45In1dLFsicGF0aCIse2Q6Ik0xNCAxOS44di04LjEifV0sWyJwYXRoIix7ZDoiTTE4IDE3LjVWOS40In1dXX0pO3ZhciBqeixMemU9ZigoKT0+e2p6PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMThhNiA2IDAgMCAwIDAtMTJ2MTJ6In1dXX0pO3ZhciBVeiwkemU9ZigoKT0+e1V6PVtbInBhdGgiLHtkOiJNMTIgMmExMCAxMCAwIDEgMCAxMCAxMCA0IDQgMCAwIDEtNS01IDQgNCAwIDAgMS01LTUifV0sWyJwYXRoIix7ZDoiTTguNSA4LjV2LjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNS41di4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTJ2LjAxIn1dLFsicGF0aCIse2Q6Ik0xMSAxN3YuMDEifV0sWyJwYXRoIix7ZDoiTTcgMTR2LjAxIn1dXX0pO3ZhciBXeixEemU9ZigoKT0+e1d6PVtbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMTJ2OGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtOCJ9XSxbInBhdGgiLHtkOiJtNCA4IDE2LTQifV0sWyJwYXRoIix7ZDoibTguODYgNi43OC0uNDUtMS44MWEyIDIgMCAwIDEgMS40NS0yLjQzbDEuOTQtLjQ4YTIgMiAwIDAgMSAyLjQzIDEuNDZsLjQ1IDEuOCJ9XV19KTt2YXIgR3osQXplPWYoKCk9PntHej1bWyJwYXRoIix7ZDoibTEyIDE1IDIgMiA0LTQifV0sWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix4OiI4Iix5OiI4IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiJ9XV19KTt2YXIgWXosUHplPWYoKCk9PntZej1bWyJsaW5lIix7eDE6IjEyIix4MjoiMTgiLHkxOiIxNSIseTI6IjE1In1dLFsicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIseDoiOCIseToiOCIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik00IDE2Yy0xLjEgMC0yLS45LTItMlY0YzAtMS4xLjktMiAyLTJoMTBjMS4xIDAgMiAuOSAyIDIifV1dfSk7dmFyIEt6LEV6ZT1mKCgpPT57S3o9W1sibGluZSIse3gxOiIxNSIseDI6IjE1Iix5MToiMTIiLHkyOiIxOCJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxOCIseTE6IjE1Iix5MjoiMTUifV0sWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix4OiI4Iix5OiI4IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiJ9XV19KTt2YXIgWnosSXplPWYoKCk9Pntaej1bWyJsaW5lIix7eDE6IjEyIix4MjoiMTgiLHkxOiIxOCIseTI6IjEyIn1dLFsicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIseDoiOCIseToiOCIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik00IDE2Yy0xLjEgMC0yLS45LTItMlY0YzAtMS4xLjktMiAyLTJoMTBjMS4xIDAgMiAuOSAyIDIifV1dfSk7dmFyIFh6LE56ZT1mKCgpPT57WHo9W1sibGluZSIse3gxOiIxMiIseDI6IjE4Iix5MToiMTIiLHkyOiIxOCJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxOCIseTE6IjE4Iix5MjoiMTIifV0sWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix4OiI4Iix5OiI4IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiJ9XV19KTt2YXIgUXosUnplPWYoKCk9PntRej1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix4OiI4Iix5OiI4IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiJ9XV19KTt2YXIgSnosT3plPWYoKCk9PntKej1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTkuMTcgMTQuODNhNCA0IDAgMSAwIDAtNS42NiJ9XV19KTt2YXIgZUMsRnplPWYoKCk9PntlQz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE0LjgzIDE0LjgzYTQgNCAwIDEgMSAwLTUuNjYifV1dfSk7dmFyIHRDLEJ6ZT1mKCgpPT57dEM9W1sicGF0aCIse2Q6Ik0yMCA0djdhNCA0IDAgMCAxLTQgNEg0In1dLFsicGF0aCIse2Q6Im05IDEwLTUgNSA1IDUifV1dfSk7dmFyIGFDLEh6ZT1mKCgpPT57YUM9W1sicGF0aCIse2Q6Im0xNSAxMCA1IDUtNSA1In1dLFsicGF0aCIse2Q6Ik00IDR2N2E0IDQgMCAwIDAgNCA0aDEyIn1dXX0pO3ZhciByQyxxemU9ZigoKT0+e3JDPVtbInBhdGgiLHtkOiJtMTQgMTUtNSA1LTUtNSJ9XSxbInBhdGgiLHtkOiJNMjAgNGgtN2E0IDQgMCAwIDAtNCA0djEyIn1dXX0pO3ZhciBzQyxWemU9ZigoKT0+e3NDPVtbInBhdGgiLHtkOiJNMTQgOSA5IDQgNCA5In1dLFsicGF0aCIse2Q6Ik0yMCAyMGgtN2E0IDQgMCAwIDEtNC00VjQifV1dfSk7dmFyIGlDLGp6ZT1mKCgpPT57aUM9W1sicGF0aCIse2Q6Im0xMCAxNSA1IDUgNS01In1dLFsicGF0aCIse2Q6Ik00IDRoN2E0IDQgMCAwIDEgNCA0djEyIn1dXX0pO3ZhciBvQyxVemU9ZigoKT0+e29DPVtbInBhdGgiLHtkOiJtMTAgOSA1LTUgNSA1In1dLFsicGF0aCIse2Q6Ik00IDIwaDdhNCA0IDAgMCAwIDQtNFY0In1dXX0pO3ZhciBuQyxXemU9ZigoKT0+e25DPVtbInBhdGgiLHtkOiJNMjAgMjB2LTdhNCA0IDAgMCAwLTQtNEg0In1dLFsicGF0aCIse2Q6Ik05IDE0IDQgOWw1LTUifV1dfSk7dmFyIGxDLEd6ZT1mKCgpPT57bEM9W1sicGF0aCIse2Q6Im0xNSAxNCA1LTUtNS01In1dLFsicGF0aCIse2Q6Ik00IDIwdi03YTQgNCAwIDAgMSA0LTRoMTIifV1dfSk7dmFyIGNDLFl6ZT1mKCgpPT57Y0M9W1sicGF0aCIse2Q6Ik0xMiAyMHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTE3IDIwdjIifV0sWyJwYXRoIix7ZDoiTTE3IDJ2MiJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyIn1dLFsicGF0aCIse2Q6Ik0yIDE3aDIifV0sWyJwYXRoIix7ZDoiTTIgN2gyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMmgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxN2gyIn1dLFsicGF0aCIse2Q6Ik0yMCA3aDIifV0sWyJwYXRoIix7ZDoiTTcgMjB2MiJ9XSxbInBhdGgiLHtkOiJNNyAydjIifV0sWyJyZWN0Iix7eDoiNCIseToiNCIsd2lkdGg6IjE2IixoZWlnaHQ6IjE2IixyeDoiMiJ9XSxbInJlY3QiLHt4OiI4Iix5OiI4Iix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMSJ9XV19KTt2YXIgZEMsS3plPWYoKCk9PntkQz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEwIDkuM2EyLjggMi44IDAgMCAwLTMuNSAxIDMuMSAzLjEgMCAwIDAgMCAzLjQgMi43IDIuNyAwIDAgMCAzLjUgMSJ9XSxbInBhdGgiLHtkOiJNMTcgOS4zYTIuOCAyLjggMCAwIDAtMy41IDEgMy4xIDMuMSAwIDAgMCAwIDMuNCAyLjcgMi43IDAgMCAwIDMuNSAxIn1dXX0pO3ZhciB1QyxaemU9ZigoKT0+e3VDPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjUiLHJ4OiIyIn1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIxMCIseTI6IjEwIn1dXX0pO3ZhciBwQyxYemU9ZigoKT0+e3BDPVtbInBhdGgiLHtkOiJNMTAuMiAxOEg0Ljc3NGExLjUgMS41IDAgMCAxLTEuMzUyLS45NyAxMSAxMSAwIDAgMSAuMTMyLTYuNDg3In1dLFsicGF0aCIse2Q6Ik0xOCAxMC4yVjQuNzc0YTEuNSAxLjUgMCAwIDAtLjk3LTEuMzUyIDExIDExIDAgMCAwLTYuNDg2LjEzMiJ9XSxbInBhdGgiLHtkOiJNMTggNWE0IDMgMCAwIDEgNCAzIDIgMiAwIDAgMS0yIDIgMTAgMTAgMCAwIDAtNS4xMzkgMS40MiJ9XSxbInBhdGgiLHtkOiJNNSAxOGEzIDQgMCAwIDAgMyA0IDIgMiAwIDAgMCAyLTIgMTAgMTAgMCAwIDEgMS40Mi01LjE0In1dLFsicGF0aCIse2Q6Ik04LjcwOSAyLjU1NGExMCAxMCAwIDAgMC02LjE1NSA2LjE1NSAxLjUgMS41IDAgMCAwIC42NzYgMS42MjZsOS44MDcgNS40MmEyIDIgMCAwIDAgMi43MTgtMi43MThsLTUuNDItOS44MDdhMS41IDEuNSAwIDAgMC0xLjYyNi0uNjc2In1dXX0pO3ZhciBmQyxRemU9ZigoKT0+e2ZDPVtbInBhdGgiLHtkOiJNNiAydjE0YTIgMiAwIDAgMCAyIDJoMTQifV0sWyJwYXRoIix7ZDoiTTE4IDIyVjhhMiAyIDAgMCAwLTItMkgyIn1dXX0pO3ZhciBoQyxKemU9ZigoKT0+e2hDPVtbInBhdGgiLHtkOiJNNCA5YTIgMiAwIDAgMC0yIDJ2MmEyIDIgMCAwIDAgMiAyaDRhMSAxIDAgMCAxIDEgMXY0YTIgMiAwIDAgMCAyIDJoMmEyIDIgMCAwIDAgMi0ydi00YTEgMSAwIDAgMSAxLTFoNGEyIDIgMCAwIDAgMi0ydi0yYTIgMiAwIDAgMC0yLTJoLTRhMSAxIDAgMCAxLTEtMVY0YTIgMiAwIDAgMC0yLTJoLTJhMiAyIDAgMCAwLTIgMnY0YTEgMSAwIDAgMS0xIDF6In1dXX0pO3ZhciBtQyxlQ2U9ZigoKT0+e21DPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiMjIiLHgyOiIxOCIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjYiLHgyOiIyIix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjYiLHkyOiIyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMjIiLHkyOiIxOCJ9XV19KTt2YXIgZ0MsdENlPWYoKCk9PntnQz1bWyJwYXRoIix7ZDoiTTExLjU2MiAzLjI2NmEuNS41IDAgMCAxIC44NzYgMEwxNS4zOSA4Ljg3YTEgMSAwIDAgMCAxLjUxNi4yOTRMMjEuMTgzIDUuNWEuNS41IDAgMCAxIC43OTguNTE5bC0yLjgzNCAxMC4yNDZhMSAxIDAgMCAxLS45NTYuNzM0SDUuODFhMSAxIDAgMCAxLS45NTctLjczNEwyLjAyIDYuMDJhLjUuNSAwIDAgMSAuNzk4LS41MTlsNC4yNzYgMy42NjRhMSAxIDAgMCAwIDEuNTE2LS4yOTR6In1dLFsicGF0aCIse2Q6Ik01IDIxaDE0In1dXX0pO3ZhciBiQyxhQ2U9ZigoKT0+e2JDPVtbInBhdGgiLHtkOiJNMTAgMjJ2LTgifV0sWyJwYXRoIix7ZDoiTTIuMzM2IDguODkgMTAgMTRsMTEuNzE1LTcuMDI5In1dLFsicGF0aCIse2Q6Ik0yMiAxNGEyIDIgMCAwIDEtLjk3MSAxLjcxNWwtMTAgNmEyIDIgMCAwIDEtMi4xMzgtLjA1bC02LTRBMiAyIDAgMCAxIDIgMTZ2LTZhMiAyIDAgMCAxIC45NzEtMS43MTVsMTAtNmEyIDIgMCAwIDEgMi4xMzguMDVsNiA0QTIgMiAwIDAgMSAyMiA4eiJ9XV19KTt2YXIgdkMsckNlPWYoKCk9Pnt2Qz1bWyJwYXRoIix7ZDoibTYgOCAxLjc1IDEyLjI4YTIgMiAwIDAgMCAyIDEuNzJoNC41NGEyIDIgMCAwIDAgMi0xLjcyTDE4IDgifV0sWyJwYXRoIix7ZDoiTTUgOGgxNCJ9XSxbInBhdGgiLHtkOiJNNyAxNWE2LjQ3IDYuNDcgMCAwIDEgNSAwIDYuNDcgNi40NyAwIDAgMCA1IDAifV0sWyJwYXRoIix7ZDoibTEyIDggMS02aDIifV1dfSk7dmFyIHhDLHNDZT1mKCgpPT57eEM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjgifV0sWyJsaW5lIix7eDE6IjMiLHgyOiI2Iix5MToiMyIseTI6IjYifV0sWyJsaW5lIix7eDE6IjIxIix4MjoiMTgiLHkxOiIzIix5MjoiNiJ9XSxbImxpbmUiLHt4MToiMyIseDI6IjYiLHkxOiIyMSIseTI6IjE4In1dLFsibGluZSIse3gxOiIyMSIseDI6IjE4Iix5MToiMjEiLHkyOiIxOCJ9XV19KTt2YXIgeUMsaUNlPWYoKCk9Pnt5Qz1bWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiNSIscng6IjkiLHJ5OiIzIn1dLFsicGF0aCIse2Q6Ik0zIDV2MTRhOSAzIDAgMCAwIDE4IDBWNSJ9XV19KTt2YXIgd0Msb0NlPWYoKCk9Pnt3Qz1bWyJwYXRoIix7ZDoiTTExIDExLjMxYzEuMTcuNTYgMS41NCAxLjY5IDMuNSAxLjY5IDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XSxbInBhdGgiLHtkOiJNMTEuNzUgMThjLjM1LjUgMS40NSAxIDIuNzUgMSAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEifV0sWyJwYXRoIix7ZDoiTTIgMTBoNCJ9XSxbInBhdGgiLHtkOiJNMiAxNGg0In1dLFsicGF0aCIse2Q6Ik0yIDE4aDQifV0sWyJwYXRoIix7ZDoiTTIgNmg0In1dLFsicGF0aCIse2Q6Ik03IDNhMSAxIDAgMCAwLTEgMXYxNmExIDEgMCAwIDAgMSAxaDRhMSAxIDAgMCAwIDEtMUwxMCA0YTEgMSAwIDAgMC0xLTF6In1dXX0pO3ZhciBNQyxuQ2U9ZigoKT0+e01DPVtbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiI1IixyeDoiOSIscnk6IjMifV0sWyJwYXRoIix7ZDoiTTMgMTJhOSAzIDAgMCAwIDUgMi42OSJ9XSxbInBhdGgiLHtkOiJNMjEgOS4zVjUifV0sWyJwYXRoIix7ZDoiTTMgNXYxNGE5IDMgMCAwIDAgNi40NyAyLjg4In1dLFsicGF0aCIse2Q6Ik0xMiAxMnY0aDQifV0sWyJwYXRoIix7ZDoiTTEzIDIwYTUgNSAwIDAgMCA5LTMgNC41IDQuNSAwIDAgMC00LjUtNC41Yy0xLjMzIDAtMi41NC41NC0zLjQxIDEuNDFMMTIgMTYifV1dfSk7dmFyIGtDLGxDZT1mKCgpPT57a0M9W1siZWxsaXBzZSIse2N4OiIxMiIsY3k6IjUiLHJ4OiI5IixyeToiMyJ9XSxbInBhdGgiLHtkOiJNMyA1VjE5QTkgMyAwIDAgMCAxNSAyMS44NCJ9XSxbInBhdGgiLHtkOiJNMjEgNVY4In1dLFsicGF0aCIse2Q6Ik0yMSAxMkwxOCAxN0gyMkwxOSAyMiJ9XSxbInBhdGgiLHtkOiJNMyAxMkE5IDMgMCAwIDAgMTQuNTkgMTQuODcifV1dfSk7dmFyIFNDLGNDZT1mKCgpPT57U0M9W1sicGF0aCIse2Q6Ik0yMSAxMS42OTNWNSJ9XSxbInBhdGgiLHtkOiJtMjIgMjItMS44NzUtMS44NzUifV0sWyJwYXRoIix7ZDoiTTMgMTJhOSAzIDAgMCAwIDguNjk3IDIuOTk4In1dLFsicGF0aCIse2Q6Ik0zIDV2MTRhOSAzIDAgMCAwIDkuMjggMi45OTkifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiI1IixyeDoiOSIscnk6IjMifV1dfSk7dmFyIHpDLGRDZT1mKCgpPT57ekM9W1siZWxsaXBzZSIse2N4OiIxMiIsY3k6IjUiLHJ4OiI5IixyeToiMyJ9XSxbInBhdGgiLHtkOiJNMyA1VjE5QTkgMyAwIDAgMCAyMSAxOVY1In1dLFsicGF0aCIse2Q6Ik0zIDEyQTkgMyAwIDAgMCAyMSAxMiJ9XV19KTt2YXIgQ0MsdUNlPWYoKCk9PntDQz1bWyJwYXRoIix7ZDoibTEzIDIxLTMtMyAzLTMifV0sWyJwYXRoIix7ZDoiTTIwIDE4SDEwIn1dLFsicGF0aCIse2Q6Ik0zIDExaC4wMSJ9XSxbInJlY3QiLHt4OiI2Iix5OiIzIix3aWR0aDoiNSIsaGVpZ2h0OiI4IixyeDoiMi41In1dXX0pO3ZhciBfQyxwQ2U9ZigoKT0+e19DPVtbInBhdGgiLHtkOiJNMTAgMThoMTAifV0sWyJwYXRoIix7ZDoibTE3IDIxIDMtMy0zLTMifV0sWyJwYXRoIix7ZDoiTTMgMTFoLjAxIn1dLFsicmVjdCIse3g6IjE1Iix5OiIzIix3aWR0aDoiNSIsaGVpZ2h0OiI4IixyeDoiMi41In1dLFsicmVjdCIse3g6IjYiLHk6IjMiLHdpZHRoOiI1IixoZWlnaHQ6IjgiLHJ4OiIyLjUifV1dfSk7dmFyIFRDLGZDZT1mKCgpPT57VEM9W1sicGF0aCIse2Q6Ik0xMCA1YTIgMiAwIDAgMC0xLjM0NC41MTlsLTYuMzI4IDUuNzRhMSAxIDAgMCAwIDAgMS40ODFsNi4zMjggNS43NDFBMiAyIDAgMCAwIDEwIDE5aDEwYTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0yeiJ9XSxbInBhdGgiLHtkOiJtMTIgOSA2IDYifV0sWyJwYXRoIix7ZDoibTE4IDktNiA2In1dXX0pO3ZhciBMQyxoQ2U9ZigoKT0+e0xDPVtbInBhdGgiLHtkOiJNMTAuMTYyIDMuMTY3QTEwIDEwIDAgMCAwIDIgMTNhMiAyIDAgMCAwIDQgMHYtMWEyIDIgMCAwIDEgNCAwdjRhMiAyIDAgMCAwIDQgMHYtNGEyIDIgMCAwIDEgNCAwdjFhMiAyIDAgMCAwIDQtLjAwNiAxMCAxMCAwIDAgMC04LjE2MS05LjgyNiJ9XSxbInBhdGgiLHtkOiJNMjAuODA0IDE0Ljg2OWE5IDkgMCAwIDEtMTcuNjA4IDAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI0IixyOiIyIn1dXX0pO3ZhciAkQyxtQ2U9ZigoKT0+eyRDPVtbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE5IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiI1IixyOiIyIn1dLFsicGF0aCIse2Q6Ik02LjQ4IDMuNjZhMTAgMTAgMCAwIDEgMTMuODYgMTMuODYifV0sWyJwYXRoIix7ZDoibTYuNDEgNi40MSAxMS4xOCAxMS4xOCJ9XSxbInBhdGgiLHtkOiJNMy42NiA2LjQ4YTEwIDEwIDAgMCAwIDEzLjg2IDEzLjg2In1dXX0pO3ZhciBEQyxnQ2U9ZigoKT0+e0RDPVtbInBhdGgiLHtkOiJNMi43IDEwLjNhMi40MSAyLjQxIDAgMCAwIDAgMy40MWw3LjU5IDcuNTlhMi40MSAyLjQxIDAgMCAwIDMuNDEgMGw3LjU5LTcuNTlhMi40MSAyLjQxIDAgMCAwIDAtMy40MUwxMy43IDIuNzFhMi40MSAyLjQxIDAgMCAwLTMuNDEgMHoifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XV19KTt2YXIgejYsYkNlPWYoKCk9Pnt6Nj1bWyJwYXRoIix7ZDoiTTIuNyAxMC4zYTIuNDEgMi40MSAwIDAgMCAwIDMuNDFsNy41OSA3LjU5YTIuNDEgMi40MSAwIDAgMCAzLjQxIDBsNy41OS03LjU5YTIuNDEgMi40MSAwIDAgMCAwLTMuNDFMMTMuNyAyLjcxYTIuNDEgMi40MSAwIDAgMC0zLjQxIDBaIn1dLFsicGF0aCIse2Q6Ik05LjIgOS4yaC4wMSJ9XSxbInBhdGgiLHtkOiJtMTQuNSA5LjUtNSA1In1dLFsicGF0aCIse2Q6Ik0xNC43IDE0LjhoLjAxIn1dXX0pO3ZhciBBQyx2Q2U9ZigoKT0+e0FDPVtbInBhdGgiLHtkOiJNMTIgOHY4In1dLFsicGF0aCIse2Q6Ik0yLjcgMTAuM2EyLjQxIDIuNDEgMCAwIDAgMCAzLjQxbDcuNTkgNy41OWEyLjQxIDIuNDEgMCAwIDAgMy40MSAwbDcuNTktNy41OWEyLjQxIDIuNDEgMCAwIDAgMC0zLjQxTDEzLjcgMi43MWEyLjQxIDIuNDEgMCAwIDAtMy40MSAweiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dXX0pO3ZhciBQQyx4Q2U9ZigoKT0+e1BDPVtbInBhdGgiLHtkOiJNMi43IDEwLjNhMi40MSAyLjQxIDAgMCAwIDAgMy40MWw3LjU5IDcuNTlhMi40MSAyLjQxIDAgMCAwIDMuNDEgMGw3LjU5LTcuNTlhMi40MSAyLjQxIDAgMCAwIDAtMy40MWwtNy41OS03LjU5YTIuNDEgMi40MSAwIDAgMC0zLjQxIDBaIn1dXX0pO3ZhciBFQyx5Q2U9ZigoKT0+e0VDPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dXX0pO3ZhciBJQyx3Q2U9ZigoKT0+e0lDPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTUgOWguMDEifV0sWyJwYXRoIix7ZDoiTTkgMTVoLjAxIn1dXX0pO3ZhciBOQyxNQ2U9ZigoKT0+e05DPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxNmguMDEifV1dfSk7dmFyIFJDLGtDZT1mKCgpPT57UkM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNiA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE2aC4wMSJ9XV19KTt2YXIgT0MsU0NlPWYoKCk9PntPQz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV1dfSk7dmFyIEZDLHpDZT1mKCgpPT57RkM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNiA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTggOGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XV19KTt2YXIgQkMsQ0NlPWYoKCk9PntCQz1bWyJwYXRoIix7ZDoiTTEyIDN2MTQifV0sWyJwYXRoIix7ZDoiTTUgMTBoMTQifV0sWyJwYXRoIix7ZDoiTTUgMjFoMTQifV1dfSk7dmFyIEhDLF9DZT1mKCgpPT57SEM9W1sicmVjdCIse3dpZHRoOiIxMiIsaGVpZ2h0OiIxMiIseDoiMiIseToiMTAiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJtMTcuOTIgMTQgMy41LTMuNWEyLjI0IDIuMjQgMCAwIDAgMC0zbC01LTQuOTJhMi4yNCAyLjI0IDAgMCAwLTMgMEwxMCA2In1dLFsicGF0aCIse2Q6Ik02IDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOWguMDEifV1dfSk7dmFyIHFDLFRDZT1mKCgpPT57cUM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XV19KTt2YXIgVkMsTENlPWYoKCk9PntWQz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTYgMTJjMC0xLjcuNy0zLjIgMS44LTQuMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xOCAxMmMwIDEuNy0uNyAzLjItMS44IDQuMiJ9XV19KTt2YXIgakMsJENlPWYoKCk9PntqQz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI1In1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV1dfSk7dmFyIFVDLERDZT1mKCgpPT57VUM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiNiIscjoiMSJ9XSxbImxpbmUiLHt4MToiNSIseDI6IjE5Iix5MToiMTIiLHkyOiIxMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE4IixyOiIxIn1dXX0pO3ZhciBXQyxBQ2U9ZigoKT0+e1dDPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dXX0pO3ZhciBHQyxQQ2U9ZigoKT0+e0dDPVtbInBhdGgiLHtkOiJNMTUgMmMtMS4zNSAxLjUtMi4wOTIgMy0yLjUgNC41TDE0IDgifV0sWyJwYXRoIix7ZDoibTE3IDYtMi44OTEtMi44OTEifV0sWyJwYXRoIix7ZDoiTTIgMTVjMy4zMzMtMyA2LjY2Ny0zIDEwLTMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJtMjAgOSAuODkxLjg5MSJ9XSxbInBhdGgiLHtkOiJNMjIgOWMtMS41IDEuMzUtMyAyLjA5Mi00LjUgMi41bC0xLTEifV0sWyJwYXRoIix7ZDoiTTMuMTA5IDE0LjEwOSA0IDE1In1dLFsicGF0aCIse2Q6Im02LjUgMTIuNSAxIDEifV0sWyJwYXRoIix7ZDoibTcgMTggMi44OTEgMi44OTEifV0sWyJwYXRoIix7ZDoiTTkgMjJjMS4zNS0xLjUgMi4wOTItMyAyLjUtNC41TDEwIDE2In1dXX0pO3ZhciBZQyxFQ2U9ZigoKT0+e1lDPVtbInBhdGgiLHtkOiJtMTAgMTYgMS41IDEuNSJ9XSxbInBhdGgiLHtkOiJtMTQgOC0xLjUtMS41In1dLFsicGF0aCIse2Q6Ik0xNSAyYy0xLjc5OCAxLjk5OC0yLjUxOCAzLjk5NS0yLjgwNyA1Ljk5MyJ9XSxbInBhdGgiLHtkOiJtMTYuNSAxMC41IDEgMSJ9XSxbInBhdGgiLHtkOiJtMTcgNi0yLjg5MS0yLjg5MSJ9XSxbInBhdGgiLHtkOiJNMiAxNWM2LjY2Ny02IDEzLjMzMyAwIDIwLTYifV0sWyJwYXRoIix7ZDoibTIwIDkgLjg5MS44OTEifV0sWyJwYXRoIix7ZDoiTTMuMTA5IDE0LjEwOSA0IDE1In1dLFsicGF0aCIse2Q6Im02LjUgMTIuNSAxIDEifV0sWyJwYXRoIix7ZDoibTcgMTggMi44OTEgMi44OTEifV0sWyJwYXRoIix7ZDoiTTkgMjJjMS43OTgtMS45OTggMi41MTgtMy45OTUgMi44MDctNS45OTMifV1dfSk7dmFyIEtDLElDZT1mKCgpPT57S0M9W1sicGF0aCIse2Q6Ik0yIDhoMjAifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNiAxNmgxMiJ9XV19KTt2YXIgWkMsTkNlPWYoKCk9PntaQz1bWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIyIix5MjoiMjIifV0sWyJwYXRoIix7ZDoiTTE3IDVIOS41YTMuNSAzLjUgMCAwIDAgMCA3aDVhMy41IDMuNSAwIDAgMSAwIDdINiJ9XV19KTt2YXIgWEMsUkNlPWYoKCk9PntYQz1bWyJwYXRoIix7ZDoiTTExLjI1IDE2LjI1aDEuNUwxMiAxN3oifV0sWyJwYXRoIix7ZDoiTTE2IDE0di41In1dLFsicGF0aCIse2Q6Ik00LjQyIDExLjI0N0ExMy4xNTIgMTMuMTUyIDAgMCAwIDQgMTQuNTU2QzQgMTguNzI4IDcuNTgyIDIxIDEyIDIxczgtMi4yNzIgOC02LjQ0NGExMS43MDIgMTEuNzAyIDAgMCAwLS40OTMtMy4zMDkifV0sWyJwYXRoIix7ZDoiTTggMTR2LjUifV0sWyJwYXRoIix7ZDoiTTguNSA4LjVjLS4zODQgMS4wNS0xLjA4MyAyLjAyOC0yLjM0NCAyLjUtMS45MzEuNzIyLTMuNTc2LS4yOTctMy42NTYtMS0uMTEzLS45OTQgMS4xNzctNi41MyA0LTcgMS45MjMtLjMyMSAzLjY1MS44NDUgMy42NTEgMi4yMzVBNy40OTcgNy40OTcgMCAwIDEgMTQgNS4yNzdjMC0xLjM5IDEuODQ0LTIuNTk4IDMuNzY3LTIuMjc3IDIuODIzLjQ3IDQuMTEzIDYuMDA2IDQgNy0uMDguNzAzLTEuNzI1IDEuNzIyLTMuNjU2IDEtMS4yNjEtLjQ3Mi0xLjg1NS0xLjQ1LTIuMjM5LTIuNSJ9XV19KTt2YXIgUUMsT0NlPWYoKCk9PntRQz1bWyJwYXRoIix7ZDoiTTIwLjUgMTBhMi41IDIuNSAwIDAgMS0yLjQtM0gxOGEyLjk1IDIuOTUgMCAwIDEtMi42LTQuNCAxMCAxMCAwIDEgMCA2LjMgNy4xYy0uMy4yLS44LjMtMS4yLjMifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XV19KTt2YXIgSkMsRkNlPWYoKCk9PntKQz1bWyJwYXRoIix7ZDoiTTEwIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOVY2YTIgMiAwIDAgMC0yLTJIOGEyIDIgMCAwIDAtMiAydjE0In1dLFsicGF0aCIse2Q6Ik0yIDIwaDgifV0sWyJwYXRoIix7ZDoiTTIwIDE3di0yYTIgMiAwIDEgMC00IDB2MiJ9XSxbInJlY3QiLHt4OiIxNCIseToiMTciLHdpZHRoOiI4IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXX0pO3ZhciBlXyxCQ2U9ZigoKT0+e2VfPVtbInBhdGgiLHtkOiJNMTAgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCAyMFY2YTIgMiAwIDAgMC0yLTJIOGEyIDIgMCAwIDAtMiAydjE0In1dLFsicGF0aCIse2Q6Ik0yIDIwaDIwIn1dXX0pO3ZhciB0XyxIQ2U9ZigoKT0+e3RfPVtbInBhdGgiLHtkOiJNMTEgMjBIMiJ9XSxbInBhdGgiLHtkOiJNMTEgNC41NjJ2MTYuMTU3YTEgMSAwIDAgMCAxLjI0Mi45N0wxOSAyMFY1LjU2MmEyIDIgMCAwIDAtMS41MTUtMS45NGwtNC0xQTIgMiAwIDAgMCAxMSA0LjU2MXoifV0sWyJwYXRoIix7ZDoiTTExIDRIOGEyIDIgMCAwIDAtMiAydjE0In1dLFsicGF0aCIse2Q6Ik0xNCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTIyIDIwaC0zIn1dXX0pO3ZhciBhXyxxQ2U9ZigoKT0+e2FfPVtbImNpcmNsZSIse2N4OiIxMi4xIixjeToiMTIuMSIscjoiMSJ9XV19KTt2YXIgcl8sVkNlPWYoKCk9PntyXz1bWyJwYXRoIix7ZDoiTTEyIDE1VjMifV0sWyJwYXRoIix7ZDoiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQifV0sWyJwYXRoIix7ZDoibTcgMTAgNSA1IDUtNSJ9XV19KTt2YXIgc18sakNlPWYoKCk9PntzXz1bWyJwYXRoIix7ZDoibTEyLjk5IDYuNzQgMS45MyAzLjQ0In1dLFsicGF0aCIse2Q6Ik0xOS4xMzYgMTJhMTAgMTAgMCAwIDEtMTQuMjcxIDAifV0sWyJwYXRoIix7ZDoibTIxIDIxLTIuMTYtMy44NCJ9XSxbInBhdGgiLHtkOiJtMyAyMSA4LjAyLTE0LjI2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNSIscjoiMiJ9XV19KTt2YXIgaV8sVUNlPWYoKCk9PntpXz1bWyJwYXRoIix7ZDoiTTEwIDE4YTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxSDVhMyAzIDAgMCAxLTMtMyAxIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNMTMgMTBINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5YTEgMSAwIDAgMSAxIDF2NmExIDEgMCAwIDEtMSAxbC0uODEgMy4yNDJhMSAxIDAgMCAxLS45Ny43NThIOCJ9XSxbInBhdGgiLHtkOiJNMTQgNGgzYTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxaC0zIn1dLFsicGF0aCIse2Q6Ik0xOCA2aDQifV0sWyJwYXRoIix7ZDoibTUgMTAtMiA4In1dLFsicGF0aCIse2Q6Im03IDE4IDItOCJ9XV19KTt2YXIgb18sV0NlPWYoKCk9PntvXz1bWyJwYXRoIix7ZDoiTTEwIDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTQgNmguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDZoLjAxIn1dLFsicGF0aCIse2Q6Ik02LjUgMTMuMWguMDEifV0sWyJwYXRoIix7ZDoiTTIyIDVjMCA5LTQgMTItNiAxMnMtNi0zLTYtMTJjMC0yIDItMyA2LTNzNiAxIDYgMyJ9XSxbInBhdGgiLHtkOiJNMTcuNCA5LjljLS44LjgtMiAuOC0yLjggMCJ9XSxbInBhdGgiLHtkOiJNMTAuMSA3LjFDOSA3LjIgNy43IDcuNyA2IDguNmMtMy41IDItNC43IDMuOS0zLjcgNS42IDQuNSA3LjggOS41IDguNCAxMS4yIDcuNC45LS41IDEuOS0yLjEgMS45LTQuNyJ9XSxbInBhdGgiLHtkOiJNOS4xIDE2LjVjLjMtMS4xIDEuNC0xLjcgMi40LTEuNCJ9XV19KTt2YXIgbl8sR0NlPWYoKCk9PntuXz1bWyJwYXRoIix7ZDoiTTEwIDEwIDcgNyJ9XSxbInBhdGgiLHtkOiJtMTAgMTQtMyAzIn1dLFsicGF0aCIse2Q6Im0xNCAxMCAzLTMifV0sWyJwYXRoIix7ZDoibTE0IDE0IDMgMyJ9XSxbInBhdGgiLHtkOiJNMTQuMjA1IDQuMTM5YTQgNCAwIDEgMSA1LjQzOSA1Ljg2MyJ9XSxbInBhdGgiLHtkOiJNMTkuNjM3IDE0YTQgNCAwIDEgMS01LjQzMiA1Ljg2OCJ9XSxbInBhdGgiLHtkOiJNNC4zNjcgMTBhNCA0IDAgMSAxIDUuNDM4LTUuODYyIn1dLFsicGF0aCIse2Q6Ik05Ljc5NSAxOS44NjJhNCA0IDAgMSAxLTUuNDI5LTUuODczIn1dLFsicmVjdCIse3g6IjEwIix5OiI4Iix3aWR0aDoiNCIsaGVpZ2h0OiI4IixyeDoiMSJ9XV19KTt2YXIgbF8sWUNlPWYoKCk9PntsXz1bWyJwYXRoIix7ZDoiTTEyIDIyYTcgNyAwIDAgMCA3LTdjMC0yLTEtMy45LTMtNS41cy0zLjUtNC00LTYuNWMtLjUgMi41LTIgNC45LTQgNi41QzYgMTEuMSA1IDEzIDUgMTVhNyA3IDAgMCAwIDcgN3oifV1dfSk7dmFyIGNfLEtDZT1mKCgpPT57Y189W1sicGF0aCIse2Q6Ik0xOC43MTUgMTMuMTg2QzE4LjI5IDExLjg1OCAxNy4zODQgMTAuNjA3IDE2IDkuNWMtMi0xLjYtMy41LTQtNC02LjVhMTAuNyAxMC43IDAgMCAxLS44ODQgMi41ODYifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOC43OTUgOC43OTdBMTEgMTEgMCAwIDEgOCA5LjVDNiAxMS4xIDUgMTMgNSAxNWE3IDcgMCAwIDAgMTMuMjIyIDMuMjA4In1dXX0pO3ZhciBkXyxaQ2U9ZigoKT0+e2RfPVtbInBhdGgiLHtkOiJNNyAxNi4zYzIuMiAwIDQtMS44MyA0LTQuMDUgMC0xLjE2LS41Ny0yLjI2LTEuNzEtMy4xOVM3LjI5IDYuNzUgNyA1LjNjLS4yOSAxLjQ1LTEuMTQgMi44NC0yLjI5IDMuNzZTMyAxMS4xIDMgMTIuMjVjMCAyLjIyIDEuOCA0LjA1IDQgNC4wNXoifV0sWyJwYXRoIix7ZDoiTTEyLjU2IDYuNkExMC45NyAxMC45NyAwIDAgMCAxNCAzLjAyYy41IDIuNSAyIDQuOSA0IDYuNXMzIDMuNSAzIDUuNWE2Ljk4IDYuOTggMCAwIDEtMTEuOTEgNC45NyJ9XV19KTt2YXIgdV8sWENlPWYoKCk9Pnt1Xz1bWyJwYXRoIix7ZDoibTIgMiA4IDgifV0sWyJwYXRoIix7ZDoibTIyIDItOCA4In1dLFsiZWxsaXBzZSIse2N4OiIxMiIsY3k6IjkiLHJ4OiIxMCIscnk6IjUifV0sWyJwYXRoIix7ZDoiTTcgMTMuNHY3LjkifV0sWyJwYXRoIix7ZDoiTTEyIDE0djgifV0sWyJwYXRoIix7ZDoiTTE3IDEzLjR2Ny45In1dLFsicGF0aCIse2Q6Ik0yIDl2OGExMCA1IDAgMCAwIDIwIDBWOSJ9XV19KTt2YXIgcF8sUUNlPWYoKCk9PntwXz1bWyJwYXRoIix7ZDoiTTE1LjQgMTUuNjNhNy44NzUgNiAxMzUgMSAxIDYuMjMtNi4yMyA0LjUgMy40MyAxMzUgMCAwLTYuMjMgNi4yMyJ9XSxbInBhdGgiLHtkOiJtOC4yOSAxMi43MS0yLjYgMi42YTIuNSAyLjUgMCAxIDAtMS42NSA0LjY1QTIuNSAyLjUgMCAxIDAgOC43IDE4LjNsMi41OS0yLjU5In1dXX0pO3ZhciBmXyxKQ2U9ZigoKT0+e2ZfPVtbInBhdGgiLHtkOiJNMTcuNTk2IDEyLjc2OGEyIDIgMCAxIDAgMi44MjktMi44MjlsLTEuNzY4LTEuNzY3YTIgMiAwIDAgMCAyLjgyOC0yLjgyOWwtMi44MjgtMi44MjhhMiAyIDAgMCAwLTIuODI5IDIuODI4bC0xLjc2Ny0xLjc2OGEyIDIgMCAxIDAtMi44MjkgMi44Mjl6In1dLFsicGF0aCIse2Q6Im0yLjUgMjEuNSAxLjQtMS40In1dLFsicGF0aCIse2Q6Im0yMC4xIDMuOSAxLjQtMS40In1dLFsicGF0aCIse2Q6Ik01LjM0MyAyMS40ODVhMiAyIDAgMSAwIDIuODI5LTIuODI4bDEuNzY3IDEuNzY4YTIgMiAwIDEgMCAyLjgyOS0yLjgyOWwtNi4zNjQtNi4zNjRhMiAyIDAgMSAwLTIuODI5IDIuODI5bDEuNzY4IDEuNzY3YTIgMiAwIDAgMC0yLjgyOCAyLjgyOXoifV0sWyJwYXRoIix7ZDoibTkuNiAxNC40IDQuOC00LjgifV1dfSk7dmFyIGhfLGVfZT1mKCgpPT57aF89W1sicGF0aCIse2Q6Ik02IDE4LjVhMy41IDMuNSAwIDEgMCA3IDBjMC0xLjU3LjkyLTIuNTIgMi4wNC0zLjQ2In1dLFsicGF0aCIse2Q6Ik02IDguNWMwLS43NS4xMy0xLjQ3LjM2LTIuMTQifV0sWyJwYXRoIix7ZDoiTTguOCAzLjE1QTYuNSA2LjUgMCAwIDEgMTkgOC41YzAgMS42My0uNDQgMi44MS0xLjA5IDMuNzYifV0sWyJwYXRoIix7ZDoiTTEyLjUgNkEyLjUgMi41IDAgMCAxIDE1IDguNU0xMCAxM2EyIDIgMCAwIDAgMS44Mi0xLjE4In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dfSk7dmFyIG1fLHRfZT1mKCgpPT57bV89W1sicGF0aCIse2Q6Ik02IDguNWE2LjUgNi41IDAgMSAxIDEzIDBjMCA2LTYgNi02IDEwYTMuNSAzLjUgMCAxIDEtNyAwIn1dLFsicGF0aCIse2Q6Ik0xNSA4LjVhMi41IDIuNSAwIDAgMC01IDB2MWEyIDIgMCAxIDEgMCA0In1dXX0pO3ZhciBnXyxhX2U9ZigoKT0+e2dfPVtbInBhdGgiLHtkOiJNNyAzLjM0VjVhMyAzIDAgMCAwIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTEgMjEuOTVWMThhMiAyIDAgMCAwLTItMiAyIDIgMCAwIDEtMi0ydi0xYTIgMiAwIDAgMC0yLTJIMi4wNSJ9XSxbInBhdGgiLHtkOiJNMjEuNTQgMTVIMTdhMiAyIDAgMCAwLTIgMnY0LjU0In1dLFsicGF0aCIse2Q6Ik0xMiAyYTEwIDEwIDAgMSAwIDkuNTQgMTMifV0sWyJwYXRoIix7ZDoiTTIwIDZWNGEyIDIgMCAxIDAtNCAwdjIifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNSIseDoiMTQiLHk6IjYiLHJ4OiIxIn1dXX0pO3ZhciBDNixyX2U9ZigoKT0+e0M2PVtbInBhdGgiLHtkOiJNMjEuNTQgMTVIMTdhMiAyIDAgMCAwLTIgMnY0LjU0In1dLFsicGF0aCIse2Q6Ik03IDMuMzRWNWEzIDMgMCAwIDAgMyAzYTIgMiAwIDAgMSAyIDJjMCAxLjEuOSAyIDIgMmEyIDIgMCAwIDAgMi0yYzAtMS4xLjktMiAyLTJoMy4xNyJ9XSxbInBhdGgiLHtkOiJNMTEgMjEuOTVWMThhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDEtMi0ydi0xYTIgMiAwIDAgMC0yLTJIMi4wNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV19KTt2YXIgYl8sc19lPWYoKCk9PntiXz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDJhNyA3IDAgMSAwIDEwIDEwIn1dXX0pO3ZhciB2XyxpX2U9ZigoKT0+e3ZfPVtbImNpcmNsZSIse2N4OiIxMS41IixjeToiMTIuNSIscjoiMy41In1dLFsicGF0aCIse2Q6Ik0zIDhjMC0zLjUgMi41LTYgNi41LTYgNSAwIDQuODMgMyA3LjUgNXM1IDIgNSA2YzAgNC41LTIuNSA2LjUtNyA2LjUtMi41IDAtMi41IDIuNS02IDIuNXMtNy0yLTctNS41YzAtMyAxLjUtMyAxLjUtNUMzLjUgMTAgMyA5IDMgOFoifV1dfSk7dmFyIHhfLG9fZT1mKCgpPT57eF89W1sicGF0aCIse2Q6Ik0xMiAyQzggMiA0IDggNCAxNGE4IDggMCAwIDAgMTYgMGMwLTYtNC0xMi04LTEyIn1dXX0pO3ZhciB5XyxuX2U9ZigoKT0+e3lfPVtbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMCAxNC4zNDdWMTRjMC02LTQtMTItOC0xMi0xLjA3OCAwLTIuMTU3LjQzNi0zLjE1NyAxLjE5In1dLFsicGF0aCIse2Q6Ik02LjIwNiA2LjIxQzQuODcxIDguNCA0IDExLjIgNCAxNGE4IDggMCAwIDAgMTQuNTY4IDQuNTY4In1dXX0pO3ZhciB3XyxsX2U9ZigoKT0+e3dfPVtbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiIxMiIscng6IjEwIixyeToiNiJ9XV19KTt2YXIgXzYsY19lPWYoKCk9PntfNj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxOSIscjoiMSJ9XV19KTt2YXIgTV8sZF9lPWYoKCk9PntNXz1bWyJwYXRoIix7ZDoiTTUgMTVhNi41IDYuNSAwIDAgMSA3IDAgNi41IDYuNSAwIDAgMCA3IDAifV0sWyJwYXRoIix7ZDoiTTUgOWE2LjUgNi41IDAgMCAxIDcgMCA2LjUgNi41IDAgMCAwIDcgMCJ9XV19KTt2YXIgVDYsdV9lPWYoKCk9PntUNj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIga18scF9lPWYoKCk9PntrXz1bWyJsaW5lIix7eDE6IjUiLHgyOiIxOSIseTE6IjkiLHkyOiI5In1dLFsibGluZSIse3gxOiI1Iix4MjoiMTkiLHkxOiIxNSIseTI6IjE1In1dLFsibGluZSIse3gxOiIxOSIseDI6IjUiLHkxOiI1Iix5MjoiMTkifV1dfSk7dmFyIFNfLGZfZT1mKCgpPT57U189W1sibGluZSIse3gxOiI1Iix4MjoiMTkiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiNSIseDI6IjE5Iix5MToiMTUiLHkyOiIxNSJ9XV19KTt2YXIgel8saF9lPWYoKCk9Pnt6Xz1bWyJwYXRoIix7ZDoiTTIxIDIxSDhhMiAyIDAgMCAxLTEuNDItLjU4N2wtMy45OTQtMy45OTlhMiAyIDAgMCAxIDAtMi44MjhsMTAtMTBhMiAyIDAgMCAxIDIuODI5IDBsNS45OTkgNmEyIDIgMCAwIDEgMCAyLjgyOEwxMi44MzQgMjEifV0sWyJwYXRoIix7ZDoibTUuMDgyIDExLjA5IDguODI4IDguODI4In1dXX0pO3ZhciBDXyxtX2U9ZigoKT0+e0NfPVtbInBhdGgiLHtkOiJtMTUgMjAgMy0zaDJhMiAyIDAgMCAwIDItMlY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjlhMiAyIDAgMCAwIDIgMmgybDMgM3oifV0sWyJwYXRoIix7ZDoiTTYgOHYxIn1dLFsicGF0aCIse2Q6Ik0xMCA4djEifV0sWyJwYXRoIix7ZDoiTTE0IDh2MSJ9XSxbInBhdGgiLHtkOiJNMTggOHYxIn1dXX0pO3ZhciBfXyxnX2U9ZigoKT0+e19fPVtbInBhdGgiLHtkOiJNNCAxMGgxMiJ9XSxbInBhdGgiLHtkOiJNNCAxNGg5In1dLFsicGF0aCIse2Q6Ik0xOSA2YTcuNyA3LjcgMCAwIDAtNS4yLTJBNy45IDcuOSAwIDAgMCA2IDEyYzAgNC40IDMuNSA4IDcuOCA4IDIgMCAzLjgtLjggNS4yLTIifV1dfSk7dmFyIFRfLGJfZT1mKCgpPT57VF89W1sicGF0aCIse2Q6Ik0xNCAxM2gyYTIgMiAwIDAgMSAyIDJ2MmEyIDIgMCAwIDAgNCAwdi02Ljk5OGEyIDIgMCAwIDAtLjU5LTEuNDJMMTggNSJ9XSxbInBhdGgiLHtkOiJNMTQgMjFWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNiJ9XSxbInBhdGgiLHtkOiJNMiAyMWgxMyJ9XSxbInBhdGgiLHtkOiJNMyA3aDExIn1dLFsicGF0aCIse2Q6Im05IDExLTIgM2gzbC0yIDMifV1dfSk7dmFyIExfLHZfZT1mKCgpPT57TF89W1sicGF0aCIse2Q6Im0xNSAxNSA2IDYifV0sWyJwYXRoIix7ZDoibTE1IDkgNi02In1dLFsicGF0aCIse2Q6Ik0yMSAxNnY1aC01In1dLFsicGF0aCIse2Q6Ik0yMSA4VjNoLTUifV0sWyJwYXRoIix7ZDoiTTMgMTZ2NWg1In1dLFsicGF0aCIse2Q6Im0zIDIxIDYtNiJ9XSxbInBhdGgiLHtkOiJNMyA4VjNoNSJ9XSxbInBhdGgiLHtkOiJNOSA5IDMgMyJ9XV19KTt2YXIgJF8seF9lPWYoKCk9PnskXz1bWyJwYXRoIix7ZDoiTTE1IDNoNnY2In1dLFsicGF0aCIse2Q6Ik0xMCAxNCAyMSAzIn1dLFsicGF0aCIse2Q6Ik0xOCAxM3Y2YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmg2In1dXX0pO3ZhciBEXyx5X2U9ZigoKT0+e0RfPVtbInBhdGgiLHtkOiJtMTUgMTgtLjcyMi0zLjI1In1dLFsicGF0aCIse2Q6Ik0yIDhhMTAuNjQ1IDEwLjY0NSAwIDAgMCAyMCAwIn1dLFsicGF0aCIse2Q6Im0yMCAxNS0xLjcyNi0yLjA1In1dLFsicGF0aCIse2Q6Im00IDE1IDEuNzI2LTIuMDUifV0sWyJwYXRoIix7ZDoibTkgMTggLjcyMi0zLjI1In1dXX0pO3ZhciBBXyx3X2U9ZigoKT0+e0FfPVtbInBhdGgiLHtkOiJNMTAuNzMzIDUuMDc2YTEwLjc0NCAxMC43NDQgMCAwIDEgMTEuMjA1IDYuNTc1IDEgMSAwIDAgMSAwIC42OTYgMTAuNzQ3IDEwLjc0NyAwIDAgMS0xLjQ0NCAyLjQ5In1dLFsicGF0aCIse2Q6Ik0xNC4wODQgMTQuMTU4YTMgMyAwIDAgMS00LjI0Mi00LjI0MiJ9XSxbInBhdGgiLHtkOiJNMTcuNDc5IDE3LjQ5OWExMC43NSAxMC43NSAwIDAgMS0xNS40MTctNS4xNTEgMSAxIDAgMCAxIDAtLjY5NiAxMC43NSAxMC43NSAwIDAgMSA0LjQ0Ni01LjE0MyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBQXyxNX2U9ZigoKT0+e1BfPVtbInBhdGgiLHtkOiJNMi4wNjIgMTIuMzQ4YTEgMSAwIDAgMSAwLS42OTYgMTAuNzUgMTAuNzUgMCAwIDEgMTkuODc2IDAgMSAxIDAgMCAxIDAgLjY5NiAxMC43NSAxMC43NSAwIDAgMS0xOS44NzYgMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dXX0pO3ZhciBFXyxrX2U9ZigoKT0+e0VfPVtbInBhdGgiLHtkOiJNMTIgMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTMgMTlhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0yVjguNWEuNS41IDAgMCAwLS43NjktLjQyMmwtNC40NjIgMi44NDRBLjUuNSAwIDAgMSAxNSAxMC41di0yYS41LjUgMCAwIDAtLjc2OS0uNDIyTDkuNzcgMTAuOTIyQS41LjUgMCAwIDEgOSAxMC41VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ6In1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XV19KTt2YXIgSV8sU19lPWYoKCk9PntJXz1bWyJwYXRoIix7ZDoiTTEwLjgyNyAxNi4zNzlhNi4wODIgNi4wODIgMCAwIDEtOC42MTgtNy4wMDJsNS40MTIgMS40NWE2LjA4MiA2LjA4MiAwIDAgMSA3LjAwMi04LjYxOGwtMS40NSA1LjQxMmE2LjA4MiA2LjA4MiAwIDAgMSA4LjYxOCA3LjAwMmwtNS40MTItMS40NWE2LjA4MiA2LjA4MiAwIDAgMS03LjAwMiA4LjYxOGwxLjQ1LTUuNDEyWiJ9XSxbInBhdGgiLHtkOiJNMTIgMTJ2LjAxIn1dXX0pO3ZhciBOXyx6X2U9ZigoKT0+e05fPVtbInBhdGgiLHtkOiJNMTIgNmEyIDIgMCAwIDEgMy40MTQtMS40MTRsNiA2YTIgMiAwIDAgMSAwIDIuODI4bC02IDZBMiAyIDAgMCAxIDEyIDE4eiJ9XSxbInBhdGgiLHtkOiJNMiA2YTIgMiAwIDAgMSAzLjQxNC0xLjQxNGw2IDZhMiAyIDAgMCAxIDAgMi44MjhsLTYgNkEyIDIgMCAwIDEgMiAxOHoifV1dfSk7dmFyIFJfLENfZT1mKCgpPT57Ul89W1sicGF0aCIse2Q6Ik0xMi42NyAxOWEyIDIgMCAwIDAgMS40MTYtLjU4OGw2LjE1NC02LjE3MmE2IDYgMCAwIDAtOC40OS04LjQ5TDUuNTg2IDkuOTE0QTIgMiAwIDAgMCA1IDExLjMyOFYxOGExIDEgMCAwIDAgMSAxeiJ9XSxbInBhdGgiLHtkOiJNMTYgOCAyIDIyIn1dLFsicGF0aCIse2Q6Ik0xNy41IDE1SDkifV1dfSk7dmFyIE9fLF9fZT1mKCgpPT57T189W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2NCJ9XSxbInBhdGgiLHtkOiJtNi44IDE1LTMuNSAyIn1dLFsicGF0aCIse2Q6Im0yMC43IDctMy41IDIifV0sWyJwYXRoIix7ZDoiTTYuOCA5IDMuMyA3In1dLFsicGF0aCIse2Q6Im0yMC43IDE3LTMuNS0yIn1dLFsicGF0aCIse2Q6Im05IDIyIDMtOCAzIDgifV0sWyJwYXRoIix7ZDoiTTggMjJoOCJ9XSxbInBhdGgiLHtkOiJNMTggMTguN2E5IDkgMCAxIDAtMTIgMCJ9XV19KTt2YXIgRl8sVF9lPWYoKCk9PntGXz1bWyJwYXRoIix7ZDoiTTQgMyAyIDV2MTVjMCAuNi40IDEgMSAxaDJjLjYgMCAxLS40IDEtMVY1WiJ9XSxbInBhdGgiLHtkOiJNNiA4aDQifV0sWyJwYXRoIix7ZDoiTTYgMThoNCJ9XSxbInBhdGgiLHtkOiJtMTIgMy0yIDJ2MTVjMCAuNi40IDEgMSAxaDJjLjYgMCAxLS40IDEtMVY1WiJ9XSxbInBhdGgiLHtkOiJNMTQgOGg0In1dLFsicGF0aCIse2Q6Ik0xNCAxOGg0In1dLFsicGF0aCIse2Q6Im0yMCAzLTIgMnYxNWMwIC42LjQgMSAxIDFoMmMuNiAwIDEtLjQgMS0xVjVaIn1dXX0pO3ZhciBCXyxMX2U9ZigoKT0+e0JfPVtbInBhdGgiLHtkOiJNMTMuNjU5IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTEuNSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxMnYtMSJ9XSxbInBhdGgiLHtkOiJNOCAxOHYtMiJ9XSxbInBhdGgiLHtkOiJNOCA3VjYifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjIwIixyOiIyIn1dXX0pO3ZhciBMNiwkX2U9ZigoKT0+e0w2PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtOCAxOCA0LTQifV0sWyJwYXRoIix7ZDoiTTggMTB2OGg4In1dXX0pO3ZhciAkNixEX2U9ZigoKT0+eyQ2PVtbInBhdGgiLHtkOiJNMTMgMjJoNWEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjMuMyJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtNy42OSAxNi40NzkgMS4yOSA0Ljg4YS41LjUgMCAwIDEtLjY5OC41OTFsLTEuODQzLS44NDlhMSAxIDAgMCAwLS44NzkuMDAxbC0xLjg0Ni44NWEuNS41IDAgMCAxLS42OTItLjU5M2wxLjI5LTQuODgifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjE0IixyOiIzIn1dXX0pO3ZhciBIXyxBX2U9ZigoKT0+e0hfPVtbInBhdGgiLHtkOiJNMTQuNSAyMkgxOGEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjMuOCJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTEuNyAxNC4yIDcgMTdsLTQuNy0yLjgifV0sWyJwYXRoIix7ZDoiTTMgMTMuMWEyIDIgMCAwIDAtLjk5OSAxLjc2djMuMjRhMiAyIDAgMCAwIC45NjkgMS43OEw2IDIxLjdhMiAyIDAgMCAwIDIuMDMuMDFMMTEgMTkuOWEyIDIgMCAwIDAgMS0xLjc2VjE0LjlhMiAyIDAgMCAwLS45Ny0xLjc4TDggMTEuM2EyIDIgMCAwIDAtMi4wMy0uMDF6In1dLFsicGF0aCIse2Q6Ik03IDE3djUifV1dfSk7dmFyIEQ2LFBfZT1mKCgpPT57RDY9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMCAxMmExIDEgMCAwIDAtMSAxdjFhMSAxIDAgMCAxLTEgMSAxIDEgMCAwIDEgMSAxdjFhMSAxIDAgMCAwIDEgMSJ9XSxbInBhdGgiLHtkOiJNMTQgMThhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xIDEgMSAwIDAgMS0xLTF2LTFhMSAxIDAgMCAwLTEtMSJ9XV19KTt2YXIgQTYsRV9lPWYoKCk9PntBNj1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTh2LTIifV0sWyJwYXRoIix7ZDoiTTEyIDE4di00In1dLFsicGF0aCIse2Q6Ik0xNiAxOHYtNiJ9XV19KTt2YXIgUDYsSV9lPWYoKCk9PntQNj1bWyJwYXRoIix7ZDoiTTE0IDIyaDRhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnY2In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik01IDE0YTEgMSAwIDAgMC0xIDF2MmExIDEgMCAwIDEtMSAxIDEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDAgMSAxIn1dLFsicGF0aCIse2Q6Ik05IDIyYTEgMSAwIDAgMCAxLTF2LTJhMSAxIDAgMCAxIDEtMSAxIDEgMCAwIDEtMS0xdi0yYTEgMSAwIDAgMC0xLTEifV1dfSk7dmFyIEU2LE5fZT1mKCgpPT57RTY9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik04IDE4di0xIn1dLFsicGF0aCIse2Q6Ik0xMiAxOHYtNiJ9XSxbInBhdGgiLHtkOiJNMTYgMTh2LTMifV1dfSk7dmFyIEk2LFJfZT1mKCgpPT57STY9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im0xNiAxMy0zLjUgMy41LTItMkw4IDE3In1dXX0pO3ZhciBONixPX2U9ZigoKT0+e042PVtbInBhdGgiLHtkOiJNMTUuOTQxIDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDRsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2My41MTIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTQuMDE3IDExLjUxMmE2IDYgMCAxIDAgOC40NjYgOC40NzUifV0sWyJwYXRoIix7ZDoiTTkgMTZhMSAxIDAgMCAxLTEtMXYtNGMwLS41NTIuNDUtMS4wMDguOTk1LS45MTdhNiA2IDAgMCAxIDQuOTIyIDQuOTIyYy4wOTEuNTQ0LS4zNjUuOTk1LS45MTcuOTk1eiJ9XV19KTt2YXIgUjYsRl9lPWYoKCk9PntSNj1bWyJwYXRoIix7ZDoiTTEwLjUgMjJINmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHY2In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im0xNCAyMCAyIDIgNC00In1dXX0pO3ZhciBxXyxCX2U9ZigoKT0+e3FfPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtOSAxNSAyIDIgNC00In1dXX0pO3ZhciBWXyxIX2U9ZigoKT0+e1ZfPVtbInBhdGgiLHtkOiJNMTYgMjJoMmEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjIuODUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTR2Mi4ybDEuNiAxIn1dLFsiY2lyY2xlIix7Y3g6IjgiLGN5OiIxNiIscjoiNiJ9XV19KTt2YXIgTzYscV9lPWYoKCk9PntPNj1bWyJwYXRoIix7ZDoiTTQgMTIuMTVWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJoLTMuMzUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTUgMTYtMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtOSAyMiAzLTMtMy0zIn1dXX0pO3ZhciBqXyxWX2U9ZigoKT0+e2pfPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTAgMTIuNSA4IDE1bDIgMi41In1dLFsicGF0aCIse2Q6Im0xNCAxMi41IDIgMi41LTIgMi41In1dXX0pO3ZhciBGNixqX2U9ZigoKT0+e0Y2PVtbInBhdGgiLHtkOiJNMTUgOGExIDEgMCAwIDEtMS0xVjJhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4eiJ9XSxbInBhdGgiLHtkOiJNMjAgOHYxMmEyIDIgMCAwIDEtMiAyaC00LjE4MiJ9XSxbInBhdGgiLHtkOiJtMy4zMDUgMTkuNTMuOTIzLS4zODIifV0sWyJwYXRoIix7ZDoiTTQgMTAuNTkyVjRhMiAyIDAgMCAxIDItMmg4In1dLFsicGF0aCIse2Q6Im00LjIyOCAxNi44NTItLjkyNC0uMzgzIn1dLFsicGF0aCIse2Q6Im01Ljg1MiAxNS4yMjgtLjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im01Ljg1MiAyMC43NzItLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTguMTQ4IDE1LjIyOC4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtOC41MyAyMS42OTYtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Im05Ljc3MyAxNi44NTIuOTIyLS4zODMifV0sWyJwYXRoIix7ZDoibTkuNzczIDE5LjE0OC45MjIuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgVV8sVV9lPWYoKCk9PntVXz1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTkgMTBoNiJ9XSxbInBhdGgiLHtkOiJNMTIgMTNWNyJ9XSxbInBhdGgiLHtkOiJNOSAxN2g2In1dXX0pO3ZhciBXXyxXX2U9ZigoKT0+e1dfPVtbInBhdGgiLHtkOiJNNCAxMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTAgMTZoMnY2In1dLFsicGF0aCIse2Q6Ik0xMCAyMmg0In1dLFsicmVjdCIse3g6IjIiLHk6IjE2Iix3aWR0aDoiNCIsaGVpZ2h0OiI2IixyeDoiMiJ9XV19KTt2YXIgR18sR19lPWYoKCk9PntHXz1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTEyIDE4di02In1dLFsicGF0aCIse2Q6Im05IDE1IDMgMyAzLTMifV1dfSk7dmFyIEI2LFlfZT1mKCgpPT57QjY9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xMiA5djQifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XV19KTt2YXIgdGMsS19lPWYoKCk9Pnt0Yz1bWyJwYXRoIix7ZDoiTTQgNi44MzVWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJoLS4zNDMifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTIgMTlhMiAyIDAgMCAxIDQgMHYxYTIgMiAwIDAgMS00IDB2LTRhNiA2IDAgMCAxIDEyIDB2NGEyIDIgMCAwIDEtNCAwdi0xYTIgMiAwIDAgMSA0IDAifV1dfSk7dmFyIFlfLFpfZT1mKCgpPT57WV89W1sicGF0aCIse2Q6Ik0xMyAyMmg1YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2NyJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMy42MiAxOC44QTIuMjUgMi4yNSAwIDEgMSA3IDE1LjgzNmEyLjI1IDIuMjUgMCAxIDEgMy4zOCAyLjk2NmwtMi42MjYgMi44NTZhMSAxIDAgMCAxLTEuNTA3IDB6In1dXX0pO3ZhciBLXyxYX2U9ZigoKT0+e0tfPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjEyIixyOiIyIn1dLFsicGF0aCIse2Q6Im0yMCAxNy0xLjI5Ni0xLjI5NmEyLjQxIDIuNDEgMCAwIDAtMy40MDggMEw5IDIyIn1dXX0pO3ZhciBaXyxRX2U9ZigoKT0+e1pfPVtbInBhdGgiLHtkOiJNNCAxMVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJ2LTEifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTIgMTVoMTAifV0sWyJwYXRoIix7ZDoibTkgMTggMy0zLTMtMyJ9XV19KTt2YXIgSDYsSl9lPWYoKCk9PntINj1bWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTQgMTJ2NiJ9XSxbInBhdGgiLHtkOiJNNCAxNGgyIn1dLFsicGF0aCIse2Q6Ik05LjY1IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2NCJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMjAiLHI6IjIifV1dfSk7dmFyIHE2LGVUZT1mKCgpPT57cTY9W1sicGF0aCIse2Q6Ik00IDkuOFY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMmgtMyJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOSAxN3YtMmEyIDIgMCAwIDAtNCAwdjIifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNSIseDoiMyIseToiMTciLHJ4OiIxIn1dXX0pO3ZhciBWNix0VGU9ZigoKT0+e1Y2PVtbInBhdGgiLHtkOiJNMjAgMTRWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTQgMThoNiJ9XV19KTt2YXIgWF8sYVRlPWYoKCk9PntYXz1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTkgMTVoNiJ9XV19KTt2YXIgUV8sclRlPWYoKCk9PntRXz1bWyJwYXRoIix7ZDoiTTExLjY1IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTAuMzUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMjB2LTdsMyAxLjQ3NCJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMjAiLHI6IjIifV1dfSk7dmFyIEpfLHNUZT1mKCgpPT57Sl89W1sicGF0aCIse2Q6Ik00LjIyNiAyMC45MjVBMiAyIDAgMCAwIDYgMjJoMTJhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYzLjEyNyJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtNSAxMS0zIDMifV0sWyJwYXRoIix7ZDoibTUgMTctMy0zaDEwIn1dXX0pO3ZhciBqNixpVGU9ZigoKT0+e2o2PVtbInBhdGgiLHtkOiJNMTQuMzY0IDEzLjYzNGEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNmw0LjAxMy00LjAwOWExIDEgMCAwIDAtMy4wMDQtMy4wMDR6In1dLFsicGF0aCIse2Q6Ik0xNC40ODcgNy44NThBMSAxIDAgMCAxIDE0IDdWMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTkuNjQ1VjIwYTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDIuNTE2IDIuNTE2In1dLFsicGF0aCIse2Q6Ik04IDE4aDEifV1dfSk7dmFyIFU2LG9UZT1mKCgpPT57VTY9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xNS4wMzMgMTMuNDRhLjY0Ny42NDcgMCAwIDEgMCAxLjEybC00LjA2NSAyLjM1MmEuNjQ1LjY0NSAwIDAgMS0uOTY4LS41NnYtNC43MDRhLjY0NS42NDUgMCAwIDEgLjk2Ny0uNTZ6In1dXX0pO3ZhciBXNixuVGU9ZigoKT0+e1c2PVtbInBhdGgiLHtkOiJNMTIuNjU5IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2OS4zNCJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTAuMzc4IDEyLjYyMmExIDEgMCAwIDEgMyAzLjAwM0w4LjM2IDIwLjYzN2EyIDIgMCAwIDEtLjg1NC41MDZsLTIuODY3LjgzN2EuNS41IDAgMCAxLS42Mi0uNjJsLjgzNi0yLjg2OWEyIDIgMCAwIDEgLjUwNi0uODUzeiJ9XV19KTt2YXIgRzYsbFRlPWYoKCk9PntHNj1bWyJwYXRoIix7ZDoiTTExLjM1IDIySDZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2NS4zNSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTQgMTloNiJ9XSxbInBhdGgiLHtkOiJNMTcgMTZ2NiJ9XV19KTt2YXIgZVQsY1RlPWYoKCk9PntlVD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTkgMTVoNiJ9XSxbInBhdGgiLHtkOiJNMTIgMTh2LTYifV1dfSk7dmFyIFk2LGRUZT1mKCgpPT57WTY9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEifV0sWyJwYXRoIix7ZDoiTTkuMSA5YTMgMyAwIDAgMSA1LjgyIDFjMCAyLTMgMy0zIDMifV1dfSk7dmFyIHRULHVUZT1mKCgpPT57dFQ9W1sicGF0aCIse2Q6Ik0yMCAxMFY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNGwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDQuMzUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTE2IDE0YTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTE2IDIyYTIgMiAwIDAgMS0yLTIifV0sWyJwYXRoIix7ZDoiTTIwIDE0YTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTIwIDIyYTIgMiAwIDAgMCAyLTIifV1dfSk7dmFyIEs2LHBUZT1mKCgpPT57SzY9W1sicGF0aCIse2Q6Ik0xMS4xIDIySDZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OSAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2My4yNSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtMjEgMjItMi44OC0yLjg4In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTciLHI6IjMifV1dfSk7dmFyIGFULGZUZT1mKCgpPT57YVQ9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsiY2lyY2xlIix7Y3g6IjExLjUiLGN5OiIxNC41IixyOiIyLjUifV0sWyJwYXRoIix7ZDoiTTEzLjMgMTYuMyAxNSAxOCJ9XV19KTt2YXIgWjYsaFRlPWYoKCk9PntaNj1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMS41IDEzLjVhMi41IDIuNSAwIDAgMSAwIDMifV0sWyJwYXRoIix7ZDoiTTE1IDEyYTUgNSAwIDAgMSAwIDYifV1dfSk7dmFyIHJULG1UZT1mKCgpPT57clQ9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoiTTEwIDExdjIifV0sWyJwYXRoIix7ZDoiTTggMTdoOCJ9XSxbInBhdGgiLHtkOiJNMTQgMTZ2MiJ9XV19KTt2YXIgc1QsZ1RlPWYoKCk9PntzVD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTNoMiJ9XSxbInBhdGgiLHtkOiJNMTQgMTNoMiJ9XSxbInBhdGgiLHtkOiJNOCAxN2gyIn1dLFsicGF0aCIse2Q6Ik0xNCAxN2gyIn1dXX0pO3ZhciBpVCxiVGU9ZigoKT0+e2lUPVtbInBhdGgiLHtkOiJNNCAxMVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJ2LTNhMiAyIDAgMCAxIDItMmg3In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im0xMCAxOCAzLTMtMy0zIn1dXX0pO3ZhciBvVCx2VGU9ZigoKT0+e29UPVtbInBhdGgiLHtkOiJNMTEgMjFhMSAxIDAgMCAxLTEgMUg0YTEgMSAwIDAgMS0xLTF2LThhMSAxIDAgMCAxIDEtMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTZhMSAxIDAgMCAxLTEgMUg5YTEgMSAwIDAgMS0xLTFWOGExIDEgMCAwIDEgMS0xIn1dLFsicGF0aCIse2Q6Ik0yMSA2YTIgMiAwIDAgMC0uNTg2LTEuNDE0bC0yLTJBMiAyIDAgMCAwIDE3IDJoLTNhMSAxIDAgMCAwLTEgMXY4YTEgMSAwIDAgMCAxIDFoNmExIDEgMCAwIDAgMS0xeiJ9XV19KTt2YXIgblQseFRlPWYoKCk9PntuVD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTggMTYgMi0yLTItMiJ9XSxbInBhdGgiLHtkOiJNMTIgMThoNCJ9XV19KTt2YXIgbFQseVRlPWYoKCk9PntsVD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTEwIDlIOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTNIOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTdIOCJ9XV19KTt2YXIgWDYsd1RlPWYoKCk9PntYNj1bWyJwYXRoIix7ZDoiTTEyIDIyaDZhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnY2In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0zIDE2di0xLjVhLjUuNSAwIDAgMSAuNS0uNWg3YS41LjUgMCAwIDEgLjUuNVYxNiJ9XSxbInBhdGgiLHtkOiJNNiAyMmgyIn1dLFsicGF0aCIse2Q6Ik03IDE0djgifV1dfSk7dmFyIGNULE1UZT1mKCgpPT57Y1Q9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMSAxOGgyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMnY2In1dLFsicGF0aCIse2Q6Ik05IDEzdi0uNWEuNS41IDAgMCAxIC41LS41aDVhLjUuNSAwIDAgMSAuNS41di41In1dXX0pO3ZhciBkVCxrVGU9ZigoKT0+e2RUPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTJ2NiJ9XSxbInBhdGgiLHtkOiJtMTUgMTUtMy0zLTMgMyJ9XV19KTt2YXIgdVQsU1RlPWYoKCk9Pnt1VD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTE2IDIyYTQgNCAwIDAgMC04IDAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNSIscjoiMyJ9XV19KTt2YXIgcFQselRlPWYoKCk9PntwVD1bWyJwYXRoIix7ZDoiTTQgMTEuNTVWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJoLTEuOTUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTEyIDE1YTUgNSAwIDAgMSAwIDYifV0sWyJwYXRoIix7ZDoiTTggMTQuNTAyYS41LjUgMCAwIDAtLjgyNi0uMzgxbC0xLjg5MyAxLjYzMWExIDEgMCAwIDEtLjY1MS4yNDNIMy41YS41LjUgMCAwIDAtLjUuNTAxdjMuMDA2YS41LjUgMCAwIDAgLjUuNTAxaDEuMTI5YTEgMSAwIDAgMSAuNjUyLjI0M2wxLjg5MyAxLjYzM2EuNS41IDAgMCAwIC44MjYtLjM4eiJ9XV19KTt2YXIgUTYsQ1RlPWYoKCk9PntRNj1bWyJwYXRoIix7ZDoiTTQgMTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTEwIDE3Ljg0MyAzLjAzMy0xLjc1NWEuNjQuNjQgMCAwIDEgLjk2Ny41NnY0LjcwNGEuNjUuNjUgMCAwIDEtLjk2Ny41NkwxMCAyMC4xNTcifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNiIseDoiMyIseToiMTYiLHJ4OiIxIn1dXX0pO3ZhciBKNixfVGU9ZigoKT0+e0o2PVtbInBhdGgiLHtkOiJNMTEgMjJINmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHY1In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im0xNSAxNyA1IDUifV0sWyJwYXRoIix7ZDoibTIwIDE3LTUgNSJ9XV19KTt2YXIgZlQsVFRlPWYoKCk9PntmVD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTE0LjUgMTIuNS01IDUifV0sWyJwYXRoIix7ZDoibTkuNSAxMi41IDUgNSJ9XV19KTt2YXIgaFQsTFRlPWYoKCk9PntoVD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV1dfSk7dmFyIG1ULCRUZT1mKCgpPT57bVQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMyA3LjVoNCJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxOCJ9XSxbInBhdGgiLHtkOiJNMyAxNi41aDQifV0sWyJwYXRoIix7ZDoiTTE3IDN2MTgifV0sWyJwYXRoIix7ZDoiTTE3IDcuNWg0In1dLFsicGF0aCIse2Q6Ik0xNyAxNi41aDQifV1dfSk7dmFyIGdULERUZT1mKCgpPT57Z1Q9W1sicGF0aCIse2Q6Ik0xNSAyaC00YTIgMiAwIDAgMC0yIDJ2MTFhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAyLTJWOCJ9XSxbInBhdGgiLHtkOiJNMTYuNzA2IDIuNzA2QTIuNCAyLjQgMCAwIDAgMTUgMnY1YTEgMSAwIDAgMCAxIDFoNWEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZ6In1dLFsicGF0aCIse2Q6Ik01IDdhMiAyIDAgMCAwLTIgMnYxMWEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDEuNzMyLTEifV1dfSk7dmFyIGV1LEFUZT1mKCgpPT57ZXU9W1sicGF0aCIse2Q6Ik0xMiAxMGEyIDIgMCAwIDAtMiAyYzAgMS4wMi0uMSAyLjUxLS4yNiA0In1dLFsicGF0aCIse2Q6Ik0xNCAxMy4xMmMwIDIuMzggMCA2LjM4LTEgOC44OCJ9XSxbInBhdGgiLHtkOiJNMTcuMjkgMjEuMDJjLjEyLS42LjQzLTIuMy41LTMuMDIifV0sWyJwYXRoIix7ZDoiTTIgMTJhMTAgMTAgMCAwIDEgMTgtNiJ9XSxbInBhdGgiLHtkOiJNMiAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTIxLjggMTZjLjItMiAuMTMxLTUuMzU0IDAtNiJ9XSxbInBhdGgiLHtkOiJNNSAxOS41QzUuNSAxOCA2IDE1IDYgMTJhNiA2IDAgMCAxIC4zNC0yIn1dLFsicGF0aCIse2Q6Ik04LjY1IDIyYy4yMS0uNjYuNDUtMS4zMi41Ny0yIn1dLFsicGF0aCIse2Q6Ik05IDYuOGE2IDYgMCAwIDEgOSA1LjJ2MiJ9XV19KTt2YXIgYlQsUFRlPWYoKCk9PntiVD1bWyJwYXRoIix7ZDoiTTE1IDYuNVYzYTEgMSAwIDAgMC0xLTFoLTJhMSAxIDAgMCAwLTEgMXYzLjUifV0sWyJwYXRoIix7ZDoiTTkgMThoOCJ9XSxbInBhdGgiLHtkOiJNMTggM2gtMyJ9XSxbInBhdGgiLHtkOiJNMTEgM2E2IDYgMCAwIDAtNiA2djExIn1dLFsicGF0aCIse2Q6Ik01IDEzaDQifV0sWyJwYXRoIix7ZDoiTTE3IDEwYTQgNCAwIDAgMC04IDB2MTBhMiAyIDAgMCAwIDIgMmg0YTIgMiAwIDAgMCAyLTJaIn1dXX0pO3ZhciB2VCxFVGU9ZigoKT0+e3ZUPVtbInBhdGgiLHtkOiJNMiAxNnM5LTE1IDIwLTRDMTEgMjMgMiA4IDIgOCJ9XV19KTt2YXIgeFQsSVRlPWYoKCk9Pnt4VD1bWyJwYXRoIix7ZDoiTTE4IDEyLjQ3di4wM20wLS41di40N20tLjQ3NSA1LjA1NkE2Ljc0NCA2Ljc0NCAwIDAgMSAxNSAxOGMtMy41NiAwLTcuNTYtMi41My04LjUtNiAuMzQ4LTEuMjggMS4xMTQtMi40MzMgMi4xMjEtMy4zOG0zLjQ0NC0yLjA4OEE4LjgwMiA4LjgwMiAwIDAgMSAxNSA2YzMuNTYgMCA2LjA2IDIuNTQgNyA2LS4zMDkgMS4xNC0uNzg2IDIuMTc3LTEuNDEzIDMuMDU4In1dLFsicGF0aCIse2Q6Ik03IDEwLjY3QzcgOCA1LjU4IDUuOTcgMi43MyA1LjVjLTEgMS41LTEgNSAuMjMgNi41LTEuMjQgMS41LTEuMjQgNS0uMjMgNi41QzUuNTggMTguMDMgNyAxNiA3IDEzLjMzbTcuNDgtNC4zNzJBOS43NyA5Ljc3IDAgMCAxIDE2IDYuMDdtMCAxMS44NmE5Ljc3IDkuNzcgMCAwIDEtMS43MjgtMy42MTgifV0sWyJwYXRoIix7ZDoibTE2LjAxIDE3LjkzLS4yMyAxLjRBMiAyIDAgMCAxIDEzLjggMjFIOS41YTUuOTYgNS45NiAwIDAgMCAxLjQ5LTMuOThNOC41MyAzaDUuMjdhMiAyIDAgMCAxIDEuOTggMS42N2wuMjMgMS40TTIgMmwyMCAyMCJ9XV19KTt2YXIgeVQsTlRlPWYoKCk9Pnt5VD1bWyJwYXRoIix7ZDoiTTYuNSAxMmMuOTQtMy40NiA0Ljk0LTYgOC41LTYgMy41NiAwIDYuMDYgMi41NCA3IDYtLjk0IDMuNDctMy40NCA2LTcgNnMtNy41Ni0yLjUzLTguNS02WiJ9XSxbInBhdGgiLHtkOiJNMTggMTJ2LjUifV0sWyJwYXRoIix7ZDoiTTE2IDE3LjkzYTkuNzcgOS43NyAwIDAgMSAwLTExLjg2In1dLFsicGF0aCIse2Q6Ik03IDEwLjY3QzcgOCA1LjU4IDUuOTcgMi43MyA1LjVjLTEgMS41LTEgNSAuMjMgNi41LTEuMjQgMS41LTEuMjQgNS0uMjMgNi41QzUuNTggMTguMDMgNyAxNiA3IDEzLjMzIn1dLFsicGF0aCIse2Q6Ik0xMC40NiA3LjI2QzEwLjIgNS44OCA5LjE3IDQuMjQgOCAzaDUuOGEyIDIgMCAwIDEgMS45OCAxLjY3bC4yMyAxLjQifV0sWyJwYXRoIix7ZDoibTE2LjAxIDE3LjkzLS4yMyAxLjRBMiAyIDAgMCAxIDEzLjggMjFIOS41YTUuOTYgNS45NiAwIDAgMCAxLjQ5LTMuOTgifV1dfSk7dmFyIHdULFJUZT1mKCgpPT57d1Q9W1sicGF0aCIse2Q6Im0xNy41ODYgMTEuNDE0LTUuOTMgNS45M2ExIDEgMCAwIDEtOC04bDMuMTM3LTMuMTM3YS43MDcuNzA3IDAgMCAxIDEuMjA3LjVWMTAifV0sWyJwYXRoIix7ZDoiTTIwLjQxNCA4LjU4NiAyMiA3In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTAiLHI6IjIifV1dfSk7dmFyIE1ULE9UZT1mKCgpPT57TVQ9W1sicGF0aCIse2Q6Ik0xNiAxNmMtMyAwLTUtMi04LTJhNiA2IDAgMCAwLTQgMS41MjgifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNCAyMlY0In1dLFsicGF0aCIse2Q6Ik03LjY1NiAySDhjMyAwIDUgMiA3LjMzMyAycTIgMCAzLjA2Ny0uOEExIDEgMCAwIDEgMjAgNHYxMC4zNDcifV1dfSk7dmFyIGtULEZUZT1mKCgpPT57a1Q9W1sicGF0aCIse2Q6Ik00IDExaDEifV0sWyJwYXRoIix7ZDoiTTggMTVhMiAyIDAgMCAxLTQgMFYzYTEgMSAwIDAgMSAxLTFoLjVDMTQgMiAyMCA5IDIwIDE4djQifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMiJ9XV19KTt2YXIgU1QsQlRlPWYoKCk9PntTVD1bWyJwYXRoIix7ZDoiTTE4IDIyVjIuOGEuOC44IDAgMCAwLTEuMTctLjcxTDUuNDUgNy43OGEuOC44IDAgMCAwIDAgMS40NEwxOCAxNS41In1dXX0pO3ZhciB6VCxIVGU9ZigoKT0+e3pUPVtbInBhdGgiLHtkOiJNNiAyMlYyLjhhLjguOCAwIDAgMSAxLjE3LS43MWwxMS4zOCA1LjY5YS44LjggMCAwIDEgMCAxLjQ0TDYgMTUuNSJ9XV19KTt2YXIgQ1QscVRlPWYoKCk9PntDVD1bWyJwYXRoIix7ZDoiTTQgMjJWNGExIDEgMCAwIDEgLjQtLjhBNiA2IDAgMCAxIDggMmMzIDAgNSAyIDcuMzMzIDJxMiAwIDMuMDY3LS44QTEgMSAwIDAgMSAyMCA0djEwYTEgMSAwIDAgMS0uNC44QTYgNiAwIDAgMSAxNiAxNmMtMyAwLTUtMi04LTJhNiA2IDAgMCAwLTQgMS41MjgifV1dfSk7dmFyIF9ULFZUZT1mKCgpPT57X1Q9W1sicGF0aCIse2Q6Ik0xMiAzcTEgNCA0IDYuNXQzIDUuNWExIDEgMCAwIDEtMTQgMCA1IDUgMCAwIDEgMS0zIDEgMSAwIDAgMCA1IDBjMC0yLTEuNS0zLTEuNS01cTAtMiAyLjUtNCJ9XV19KTt2YXIgVFQsalRlPWYoKCk9PntUVD1bWyJwYXRoIix7ZDoiTTExLjY1MiA2SDE4In1dLFsicGF0aCIse2Q6Ik0xMiAxM3YxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNnY0YTIgMiAwIDAgMS0yIDJoLTRhMiAyIDAgMCAxLTItMnYtOGE0IDQgMCAwIDAtLjgtMi40bC0uNi0uOEEzIDMgMCAwIDEgNiA3VjYifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNy42NDkgMkgxN2ExIDEgMCAwIDEgMSAxdjRhMyAzIDAgMCAxLS42IDEuOGwtLjYuOGE0IDQgMCAwIDAtLjU1IDEuMDA3In1dXX0pO3ZhciBMVCxVVGU9ZigoKT0+e0xUPVtbInBhdGgiLHtkOiJNMTIgMmMxIDMgMi41IDMuNSAzLjUgNC41QTUgNSAwIDAgMSAxNyAxMGE1IDUgMCAxIDEtMTAgMGMwLS4zIDAtLjYuMS0uOWEyIDIgMCAxIDAgMy4zLTJDOCA0LjUgMTEgMiAxMiAyWiJ9XSxbInBhdGgiLHtkOiJtNSAyMiAxNC00In1dLFsicGF0aCIse2Q6Im01IDE4IDE0IDQifV1dfSk7dmFyICRULFdUZT1mKCgpPT57JFQ9W1sicGF0aCIse2Q6Ik0xMiAxM3YxIn1dLFsicGF0aCIse2Q6Ik0xNyAyYTEgMSAwIDAgMSAxIDF2NGEzIDMgMCAwIDEtLjYgMS44bC0uNi44QTQgNCAwIDAgMCAxNiAxMnY4YTIgMiAwIDAgMS0yIDJIMTBhMiAyIDAgMCAxLTItMnYtOGE0IDQgMCAwIDAtLjgtMi40bC0uNi0uOEEzIDMgMCAwIDEgNiA3VjNhMSAxIDAgMCAxIDEtMXoifV0sWyJwYXRoIix7ZDoiTTYgNmgxMiJ9XV19KTt2YXIgRFQsR1RlPWYoKCk9PntEVD1bWyJwYXRoIix7ZDoiTTEwIDJ2Mi4zNDMifV0sWyJwYXRoIix7ZDoiTTE0IDJ2Ni4zNDMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0xLjc1NS0yLjk2bDUuMjI3LTkuNTYzIn1dLFsicGF0aCIse2Q6Ik02LjQ1MyAxNUgxNSJ9XSxbInBhdGgiLHtkOiJNOC41IDJoNyJ9XV19KTt2YXIgQVQsWVRlPWYoKCk9PntBVD1bWyJwYXRoIix7ZDoiTTE0IDJ2NmEyIDIgMCAwIDAgLjI0NS45Nmw1LjUxIDEwLjA4QTIgMiAwIDAgMSAxOCAyMkg2YTIgMiAwIDAgMS0xLjc1NS0yLjk2bDUuNTEtMTAuMDhBMiAyIDAgMCAwIDEwIDhWMiJ9XSxbInBhdGgiLHtkOiJNNi40NTMgMTVoMTEuMDk0In1dLFsicGF0aCIse2Q6Ik04LjUgMmg3In1dXX0pO3ZhciBQVCxLVGU9ZigoKT0+e1BUPVtbInBhdGgiLHtkOiJNMTAgMnY2LjI5MmE3IDcgMCAxIDAgNCAwVjIifV0sWyJwYXRoIix7ZDoiTTUgMTVoMTQifV0sWyJwYXRoIix7ZDoiTTguNSAyaDcifV1dfSk7dmFyIEVULFpUZT1mKCgpPT57RVQ9W1sicGF0aCIse2Q6Im0zIDcgNSA1LTUgNVY3In1dLFsicGF0aCIse2Q6Im0yMSA3LTUgNSA1IDVWNyJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2MiJ9XSxbInBhdGgiLHtkOiJNMTIgOHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV1dfSk7dmFyIElULFhUZT1mKCgpPT57SVQ9W1sicGF0aCIse2Q6Im0xNyAzLTUgNS01LTVoMTAifV0sWyJwYXRoIix7ZDoibTE3IDIxLTUtNS01IDVoMTAifV0sWyJwYXRoIix7ZDoiTTQgMTJIMiJ9XSxbInBhdGgiLHtkOiJNMTAgMTJIOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLTIifV0sWyJwYXRoIix7ZDoiTTIyIDEyaC0yIn1dXX0pO3ZhciBOVCxRVGU9ZigoKT0+e05UPVtbInBhdGgiLHtkOiJNMTIgNWEzIDMgMCAxIDEgMyAzbS0zLTNhMyAzIDAgMSAwLTMgM20zLTN2MU05IDhhMyAzIDAgMSAwIDMgM005IDhoMW01IDBhMyAzIDAgMSAxLTMgM20zLTNoLTFtLTIgM3YtMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjgiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDEwdjEyIn1dLFsicGF0aCIse2Q6Ik0xMiAyMmM0LjIgMCA3LTEuNjY3IDctNS00LjIgMC03IDEuNjY3LTcgNVoifV0sWyJwYXRoIix7ZDoiTTEyIDIyYy00LjIgMC03LTEuNjY3LTctNSA0LjIgMCA3IDEuNjY3IDcgNVoifV1dfSk7dmFyIFJULEpUZT1mKCgpPT57UlQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XV19KTt2YXIgT1QsZUxlPWYoKCk9PntPVD1bWyJwYXRoIix7ZDoiTTIgMTJoNiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTYifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTIgOHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAxNHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAyMHYyIn1dLFsicGF0aCIse2Q6Im0xOSA5LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoibTUgMTUgMy0zLTMtMyJ9XV19KTt2YXIgRlQsdExlPWYoKCk9PntGVD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTYuNUE0LjUgNC41IDAgMSAxIDcuNSAxMiA0LjUgNC41IDAgMSAxIDEyIDcuNWE0LjUgNC41IDAgMSAxIDQuNSA0LjUgNC41IDQuNSAwIDEgMS00LjUgNC41In1dLFsicGF0aCIse2Q6Ik0xMiA3LjVWOSJ9XSxbInBhdGgiLHtkOiJNNy41IDEySDkifV0sWyJwYXRoIix7ZDoiTTE2LjUgMTJIMTUifV0sWyJwYXRoIix7ZDoiTTEyIDE2LjVWMTUifV0sWyJwYXRoIix7ZDoibTggOCAxLjg4IDEuODgifV0sWyJwYXRoIix7ZDoiTTE0LjEyIDkuODggMTYgOCJ9XSxbInBhdGgiLHtkOiJtOCAxNiAxLjg4LTEuODgifV0sWyJwYXRoIix7ZDoiTTE0LjEyIDE0LjEyIDE2IDE2In1dXX0pO3ZhciBCVCxhTGU9ZigoKT0+e0JUPVtbImNpcmNsZSIse2N4OiIxNSIsY3k6IjE5IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0yMC45IDE5LjhBMiAyIDAgMCAwIDIyIDE4VjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMmg1LjEifV0sWyJwYXRoIix7ZDoiTTE1IDExdi0xIn1dLFsicGF0aCIse2Q6Ik0xNSAxN3YtMiJ9XV19KTt2YXIgSFQsckxlPWYoKCk9PntIVD1bWyJwYXRoIix7ZDoiTTEyIDZ2OGwzLTMgMyAzVjYifV0sWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyeiJ9XV19KTt2YXIgcVQsc0xlPWYoKCk9PntxVD1bWyJwYXRoIix7ZDoiTTEyIDIydi02In1dLFsicGF0aCIse2Q6Ik0xMiA4VjIifV0sWyJwYXRoIix7ZDoiTTQgMTJIMiJ9XSxbInBhdGgiLHtkOiJNMTAgMTJIOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLTIifV0sWyJwYXRoIix7ZDoiTTIyIDEyaC0yIn1dLFsicGF0aCIse2Q6Im0xNSAxOS0zLTMtMyAzIn1dLFsicGF0aCIse2Q6Im0xNSA1LTMgMy0zLTMifV1dfSk7dmFyIFZULGlMZT1mKCgpPT57VlQ9W1sicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV0sWyJwYXRoIix7ZDoibTkgMTMgMiAyIDQtNCJ9XV19KTt2YXIgalQsb0xlPWYoKCk9PntqVD1bWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XSxbInBhdGgiLHtkOiJNMiAxMGgyMCJ9XV19KTt2YXIgVVQsbkxlPWYoKCk9PntVVD1bWyJwYXRoIix7ZDoiTTEwIDEwLjUgOCAxM2wyIDIuNSJ9XSxbInBhdGgiLHtkOiJtMTQgMTAuNSAyIDIuNS0yIDIuNSJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJ6In1dXX0pO3ZhciB0dSxsTGU9ZigoKT0+e3R1PVtbInBhdGgiLHtkOiJNMTAuMyAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOThhMiAyIDAgMCAxIDEuNjkuOWwuNjYgMS4yQTIgMiAwIDAgMCAxMiA2aDhhMiAyIDAgMCAxIDIgMnYzLjMifV0sWyJwYXRoIix7ZDoibTE0LjMwNSAxOS41My45MjMtLjM4MiJ9XSxbInBhdGgiLHtkOiJtMTUuMjI4IDE2Ljg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAxNS4yMjgtLjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMjAuNzcyLS4zODMuOTI0In1dLFsicGF0aCIse2Q6Im0xOS4xNDggMTUuMjI4LjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xOS41MyAyMS42OTYtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Im0yMC43NzIgMTYuODUyLjkyNC0uMzgzIn1dLFsicGF0aCIse2Q6Im0yMC43NzIgMTkuMTQ4LjkyNC4zODMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgV1QsY0xlPWYoKCk9PntXVD1bWyJwYXRoIix7ZDoiTTE2IDE0djIuMmwxLjYgMSJ9XSxbInBhdGgiLHtkOiJNNyAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAyIn1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTYiLHI6IjYifV1dfSk7dmFyIEdULGRMZT1mKCgpPT57R1Q9W1sicGF0aCIse2Q6Ik00IDIwaDE2YTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjkzYTIgMiAwIDAgMS0xLjY2LS45bC0uODItMS4yQTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYzAgMS4xLjkgMiAyIDJaIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjEifV1dfSk7dmFyIFlULHVMZT1mKCgpPT57WVQ9W1sicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV0sWyJwYXRoIix7ZDoiTTEyIDEwdjYifV0sWyJwYXRoIix7ZDoibTE1IDEzLTMgMy0zLTMifV1dfSk7dmFyIEtULHBMZT1mKCgpPT57S1Q9W1sicGF0aCIse2Q6Ik0xOCAxOWE1IDUgMCAwIDEtNS01djgifV0sWyJwYXRoIix7ZDoiTTkgMjBINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnY1In1dLFsiY2lyY2xlIix7Y3g6IjEzIixjeToiMTIiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxOSIscjoiMiJ9XV19KTt2YXIgWlQsZkxlPWYoKCk9PntaVD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dLFsicGF0aCIse2Q6Ik0xNCAxM2gzIn1dLFsicGF0aCIse2Q6Ik03IDEzaDMifV1dfSk7dmFyIFhULGhMZT1mKCgpPT57WFQ9W1sicGF0aCIse2Q6Ik0xMC42MzggMjBINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYzLjQxNyJ9XSxbInBhdGgiLHtkOiJNMTQuNjIgMTguOEEyLjI1IDIuMjUgMCAxIDEgMTggMTUuODM2YTIuMjUgMi4yNSAwIDEgMSAzLjM4IDIuOTY2bC0yLjYyNiAyLjg1NmEuOTk4Ljk5OCAwIDAgMS0xLjUwNyAweiJ9XV19KTt2YXIgUVQsbUxlPWYoKCk9PntRVD1bWyJwYXRoIix7ZDoiTTQgMjBoMTZhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOTNhMiAyIDAgMCAxLTEuNjYtLjlsLS44Mi0xLjJBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNjMCAxLjEuOSAyIDIgMloifV0sWyJwYXRoIix7ZDoiTTggMTB2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTB2MiJ9XSxbInBhdGgiLHtkOiJNMTYgMTB2NiJ9XV19KTt2YXIgSlQsZ0xlPWYoKCk9PntKVD1bWyJwYXRoIix7ZDoiTTEzIDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDJ2MS4zNiJ9XSxbInBhdGgiLHtkOiJNMTkgMTJ2NiJ9XSxbInBhdGgiLHtkOiJNMTkgMTRoMiJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjIwIixyOiIyIn1dXX0pO3ZhciBlTCxiTGU9ZigoKT0+e2VMPVtbInBhdGgiLHtkOiJNMiA5VjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMnYtMSJ9XSxbInBhdGgiLHtkOiJNMiAxM2gxMCJ9XSxbInBhdGgiLHtkOiJtOSAxNiAzLTMtMy0zIn1dXX0pO3ZhciB0TCx2TGU9ZigoKT0+e3RMPVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI1Iix4OiIxNCIseToiMTciLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xMCAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjIuNSJ9XSxbInBhdGgiLHtkOiJNMjAgMTd2LTJhMiAyIDAgMSAwLTQgMHYyIn1dXX0pO3ZhciBhTCx4TGU9ZigoKT0+e2FMPVtbInBhdGgiLHtkOiJtNiAxNCAxLjQ1LTIuOUEyIDIgMCAwIDEgOS4yNCAxMEgyMGEyIDIgMCAwIDEgMS45NCAyLjVsLTEuNTUgNmEyIDIgMCAwIDEtMS45NCAxLjVINGEyIDIgMCAwIDEtMi0yVjVjMC0xLjEuOS0yIDItMmgzLjkzYTIgMiAwIDAgMSAxLjY2LjlsLjgyIDEuMmEyIDIgMCAwIDAgMS42Ni45SDE4YTIgMiAwIDAgMSAyIDJ2MiJ9XSxbImNpcmNsZSIse2N4OiIxNCIsY3k6IjE1IixyOiIxIn1dXX0pO3ZhciByTCx5TGU9ZigoKT0+e3JMPVtbInBhdGgiLHtkOiJtNiAxNCAxLjUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NCA2YTIgMiAwIDAgMS0xLjk1IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgxOGEyIDIgMCAwIDEgMiAydjIifV1dfSk7dmFyIHNMLHdMZT1mKCgpPT57c0w9W1sicGF0aCIse2Q6Ik05IDEzaDYifV0sWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XV19KTt2YXIgaUwsTUxlPWYoKCk9PntpTD1bWyJwYXRoIix7ZDoiTTIgNy41VjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMS41In1dLFsicGF0aCIse2Q6Ik0yIDEzaDEwIn1dLFsicGF0aCIse2Q6Im01IDEwLTMgMyAzIDMifV1dfSk7dmFyIGF1LGtMZT1mKCgpPT57YXU9W1sicGF0aCIse2Q6Ik0yIDExLjVWNWEyIDIgMCAwIDEgMi0yaDMuOWMuNyAwIDEuMy4zIDEuNy45bC44IDEuMmMuNC42IDEgLjkgMS43LjlIMjBhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAyaC05LjUifV0sWyJwYXRoIix7ZDoiTTExLjM3OCAxMy42MjZhMSAxIDAgMSAwLTMuMDA0LTMuMDA0bC01LjAxIDUuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XV19KTt2YXIgb0wsU0xlPWYoKCk9PntvTD1bWyJwYXRoIix7ZDoiTTEyIDEwdjYifV0sWyJwYXRoIix7ZDoiTTkgMTNoNiJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dXX0pO3ZhciBuTCx6TGU9ZigoKT0+e25MPVtbInBhdGgiLHtkOiJNNCAyMGgxNmEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45M2EyIDIgMCAwIDEtMS42Ni0uOWwtLjgyLTEuMkEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2MwIDEuMS45IDIgMiAyWiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAxNXY1In1dXX0pO3ZhciBsTCxDTGU9ZigoKT0+e2xMPVtbImNpcmNsZSIse2N4OiIxMS41IixjeToiMTIuNSIscjoiMi41In1dLFsicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV0sWyJwYXRoIix7ZDoiTTEzLjMgMTQuMyAxNSAxNiJ9XV19KTt2YXIgY0wsX0xlPWYoKCk9PntjTD1bWyJwYXRoIix7ZDoiTTEwLjcgMjBINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnY0LjEifV0sWyJwYXRoIix7ZDoibTIxIDIxLTEuOS0xLjkifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNyIscjoiMyJ9XV19KTt2YXIgZEwsVExlPWYoKCk9PntkTD1bWyJwYXRoIix7ZDoiTTIgOS4zNVY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LTNhMiAyIDAgMCAxIDItMmg3In1dLFsicGF0aCIse2Q6Im04IDE2IDMtMy0zLTMifV1dfSk7dmFyIHVMLExMZT1mKCgpPT57dUw9W1sicGF0aCIse2Q6Ik0yMCAxMGExIDEgMCAwIDAgMS0xVjZhMSAxIDAgMCAwLTEtMWgtMi41YTEgMSAwIDAgMS0uOC0uNGwtLjktMS4yQTEgMSAwIDAgMCAxNSAzaC0yYTEgMSAwIDAgMC0xIDF2NWExIDEgMCAwIDAgMSAxWiJ9XSxbInBhdGgiLHtkOiJNMjAgMjFhMSAxIDAgMCAwIDEtMXYtM2ExIDEgMCAwIDAtMS0xaC0yLjlhMSAxIDAgMCAxLS44OC0uNTVsLS40Mi0uODVhMSAxIDAgMCAwLS45Mi0uNkgxM2ExIDEgMCAwIDAtMSAxdjVhMSAxIDAgMCAwIDEgMVoifV0sWyJwYXRoIix7ZDoiTTMgNWEyIDIgMCAwIDAgMiAyaDMifV0sWyJwYXRoIix7ZDoiTTMgM3YxM2EyIDIgMCAwIDAgMiAyaDMifV1dfSk7dmFyIHBMLCRMZT1mKCgpPT57cEw9W1sicGF0aCIse2Q6Ik05IDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDJ2LjUifV0sWyJwYXRoIix7ZDoiTTEyIDEwdjRoNCJ9XSxbInBhdGgiLHtkOiJtMTIgMTQgMS41MzUtMS42MDVhNSA1IDAgMCAxIDggMS41In1dLFsicGF0aCIse2Q6Ik0yMiAyMnYtNGgtNCJ9XSxbInBhdGgiLHtkOiJtMjIgMTgtMS41MzUgMS42MDVhNSA1IDAgMCAxLTgtMS41In1dXX0pO3ZhciBmTCxETGU9ZigoKT0+e2ZMPVtbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dLFsicGF0aCIse2Q6Ik0xMiAxMHY2In1dLFsicGF0aCIse2Q6Im05IDEzIDMtMyAzIDMifV1dfSk7dmFyIGhMLEFMZT1mKCgpPT57aEw9W1sicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV0sWyJwYXRoIix7ZDoibTkuNSAxMC41IDUgNSJ9XSxbInBhdGgiLHtkOiJtMTQuNSAxMC41LTUgNSJ9XV19KTt2YXIgbUwsUExlPWYoKCk9PnttTD1bWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XV19KTt2YXIgZ0wsRUxlPWYoKCk9PntnTD1bWyJwYXRoIix7ZDoiTTIwIDVhMiAyIDAgMCAxIDIgMnY3YTIgMiAwIDAgMS0yIDJIOWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgyLjVhMS41IDEuNSAwIDAgMSAxLjIuNmwuNi44YTEuNSAxLjUgMCAwIDAgMS4yLjZ6In1dLFsicGF0aCIse2Q6Ik0zIDguMjY4YTIgMiAwIDAgMC0xIDEuNzM4VjE5YTIgMiAwIDAgMCAyIDJoMTFhMiAyIDAgMCAwIDEuNzMyLTEifV1dfSk7dmFyIGJMLElMZT1mKCgpPT57Ykw9W1sicGF0aCIse2Q6Ik00IDE2di0yLjM4QzQgMTEuNSAyLjk3IDEwLjUgMyA4Yy4wMy0yLjcyIDEuNDktNiA0LjUtNkM5LjM3IDIgMTAgMy44IDEwIDUuNWMwIDMuMTEtMiA1LjY2LTIgOC42OFYxNmEyIDIgMCAxIDEtNCAwWiJ9XSxbInBhdGgiLHtkOiJNMjAgMjB2LTIuMzhjMC0yLjEyIDEuMDMtMy4xMiAxLTUuNjItLjAzLTIuNzItMS40OS02LTQuNS02QzE0LjYzIDYgMTQgNy44IDE0IDkuNWMwIDMuMTEgMiA1LjY2IDIgOC42OFYyMGEyIDIgMCAxIDAgNCAwWiJ9XSxbInBhdGgiLHtkOiJNMTYgMTdoNCJ9XSxbInBhdGgiLHtkOiJNNCAxM2g0In1dXX0pO3ZhciB2TCxOTGU9ZigoKT0+e3ZMPVtbInBhdGgiLHtkOiJNMTIgMTJINWEyIDIgMCAwIDAtMiAydjUifV0sWyJwYXRoIix7ZDoiTTE1IDE5aDcifV0sWyJwYXRoIix7ZDoiTTE2IDE5VjIifV0sWyJwYXRoIix7ZDoiTTYgMTJWN2EyIDIgMCAwIDEgMi0yaDIuMTcyYTIgMiAwIDAgMSAxLjQxNC41ODZsMy44MjggMy44MjhBMiAyIDAgMCAxIDE2IDEwLjgyOCJ9XSxbInBhdGgiLHtkOiJNNyAxOWg0In1dLFsiY2lyY2xlIix7Y3g6IjEzIixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciB4TCxSTGU9ZigoKT0+e3hMPVtbInBhdGgiLHtkOiJNNCAxNGg2In1dLFsicGF0aCIse2Q6Ik00IDJoMTAifV0sWyJyZWN0Iix7eDoiNCIseToiMTgiLHdpZHRoOiIxNiIsaGVpZ2h0OiI0IixyeDoiMSJ9XSxbInJlY3QiLHt4OiI0Iix5OiI2Iix3aWR0aDoiMTYiLGhlaWdodDoiNCIscng6IjEifV1dfSk7dmFyIHlMLE9MZT1mKCgpPT57eUw9W1sicGF0aCIse2Q6Im0xNSAxNyA1LTUtNS01In1dLFsicGF0aCIse2Q6Ik00IDE4di0yYTQgNCAwIDAgMSA0LTRoMTIifV1dfSk7dmFyIHdMLEZMZT1mKCgpPT57d0w9W1sibGluZSIse3gxOiIyMiIseDI6IjIiLHkxOiI2Iix5MjoiNiJ9XSxbImxpbmUiLHt4MToiMjIiLHgyOiIyIix5MToiMTgiLHkyOiIxOCJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjYiLHkxOiIyIix5MjoiMjIifV0sWyJsaW5lIix7eDE6IjE4Iix4MjoiMTgiLHkxOiIyIix5MjoiMjIifV1dfSk7dmFyIE1MLEJMZT1mKCgpPT57TUw9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xNiAxNnMtMS41LTItNC0yLTQgMi00IDIifV0sWyJsaW5lIix7eDE6IjkiLHgyOiI5LjAxIix5MToiOSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUuMDEiLHkxOiI5Iix5MjoiOSJ9XV19KTt2YXIga0wsSExlPWYoKCk9PntrTD1bWyJwYXRoIix7ZDoiTTE0IDEzaDJhMiAyIDAgMCAxIDIgMnYyYTIgMiAwIDAgMCA0IDB2LTYuOTk4YTIgMiAwIDAgMC0uNTktMS40MkwxOCA1In1dLFsicGF0aCIse2Q6Ik0xNCAyMVY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE2In1dLFsicGF0aCIse2Q6Ik0yIDIxaDEzIn1dLFsicGF0aCIse2Q6Ik0zIDloMTEifV1dfSk7dmFyIFNMLHFMZT1mKCgpPT57U0w9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjgiLHg6IjciLHk6IjgiLHJ4OiIxIn1dXX0pO3ZhciB6TCxWTGU9ZigoKT0+e3pMPVtbInBhdGgiLHtkOiJNMTMuMzU0IDNIM2ExIDEgMCAwIDAtLjc0MiAxLjY3bDcuMjI1IDcuOTg5QTIgMiAwIDAgMSAxMCAxNHY2YTEgMSAwIDAgMCAuNTUzLjg5NWwyIDFBMSAxIDAgMCAwIDE0IDIxdi03YTIgMiAwIDAgMSAuNTE3LTEuMzQxbDEuMjE4LTEuMzQ4In1dLFsicGF0aCIse2Q6Ik0xNiA2aDYifV0sWyJwYXRoIix7ZDoiTTE5IDN2NiJ9XV19KTt2YXIgcnUsakxlPWYoKCk9PntydT1bWyJwYXRoIix7ZDoiTTEyLjUzMSAzSDNhMSAxIDAgMCAwLS43NDIgMS42N2w3LjIyNSA3Ljk4OUEyIDIgMCAwIDEgMTAgMTR2NmExIDEgMCAwIDAgLjU1My44OTVsMiAxQTEgMSAwIDAgMCAxNCAyMXYtN2EyIDIgMCAwIDEgLjUxNy0xLjM0MWwuNDI3LS40NzMifV0sWyJwYXRoIix7ZDoibTE2LjUgMy41IDUgNSJ9XSxbInBhdGgiLHtkOiJtMjEuNSAzLjUtNSA1In1dXX0pO3ZhciBDTCxVTGU9ZigoKT0+e0NMPVtbInBhdGgiLHtkOiJNMiA3djEwIn1dLFsicGF0aCIse2Q6Ik02IDV2MTQifV0sWyJyZWN0Iix7d2lkdGg6IjEyIixoZWlnaHQ6IjE4Iix4OiIxMCIseToiMyIscng6IjIifV1dfSk7dmFyIHN1LFdMZT1mKCgpPT57c3U9W1sicGF0aCIse2Q6Ik0xMCAyMGExIDEgMCAwIDAgLjU1My44OTVsMiAxQTEgMSAwIDAgMCAxNCAyMXYtN2EyIDIgMCAwIDEgLjUxNy0xLjM0MUwyMS43NCA0LjY3QTEgMSAwIDAgMCAyMSAzSDNhMSAxIDAgMCAwLS43NDIgMS42N2w3LjIyNSA3Ljk4OUEyIDIgMCAwIDEgMTAgMTR6In1dXX0pO3ZhciBfTCxHTGU9ZigoKT0+e19MPVtbInBhdGgiLHtkOiJNMiAzdjE4In1dLFsicmVjdCIse3dpZHRoOiIxMiIsaGVpZ2h0OiIxOCIseDoiNiIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIyIDN2MTgifV1dfSk7dmFyIFRMLFlMZT1mKCgpPT57VEw9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxNCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMjFoMSJ9XSxbInBhdGgiLHtkOiJNOSAyMWgxIn1dLFsicGF0aCIse2Q6Ik0xNCAyMWgxIn1dLFsicGF0aCIse2Q6Ik0xOSAyMWgxIn1dXX0pO3ZhciBMTCxLTGU9ZigoKT0+e0xMPVtbInBhdGgiLHtkOiJNNyAyaDEwIn1dLFsicGF0aCIse2Q6Ik01IDZoMTQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjEyIix4OiIzIix5OiIxMCIscng6IjIifV1dfSk7dmFyICRMLFpMZT1mKCgpPT57JEw9W1sicGF0aCIse2Q6Ik0zIDJoMTgifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjEyIix4OiIzIix5OiI2IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAyMmgxOCJ9XV19KTt2YXIgREwsWExlPWYoKCk9PntETD1bWyJsaW5lIix7eDE6IjYiLHgyOiIxMCIseTE6IjExIix5MjoiMTEifV0sWyJsaW5lIix7eDE6IjgiLHgyOiI4Iix5MToiOSIseTI6IjEzIn1dLFsibGluZSIse3gxOiIxNSIseDI6IjE1LjAxIix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTgiLHgyOiIxOC4wMSIseTE6IjEwIix5MjoiMTAifV0sWyJwYXRoIix7ZDoiTTE3LjMyIDVINi42OGE0IDQgMCAwIDAtMy45NzggMy41OWMtLjAwNi4wNTItLjAxLjEwMS0uMDE3LjE1MkMyLjYwNCA5LjQxNiAyIDE0LjQ1NiAyIDE2YTMgMyAwIDAgMCAzIDNjMSAwIDEuNS0uNSAyLTFsMS40MTQtMS40MTRBMiAyIDAgMCAxIDkuODI4IDE2aDQuMzQ0YTIgMiAwIDAgMSAxLjQxNC41ODZMMTcgMThjLjUuNSAxIDEgMiAxYTMgMyAwIDAgMCAzLTNjMC0xLjU0NS0uNjA0LTYuNTg0LS42ODUtNy4yNTgtLjAwNy0uMDUtLjAxMS0uMS0uMDE3LS4xNTFBNCA0IDAgMCAwIDE3LjMyIDV6In1dXX0pO3ZhciBBTCxRTGU9ZigoKT0+e0FMPVtbInBhdGgiLHtkOiJNMTEuMTQ2IDE1Ljg1NGExLjIwNyAxLjIwNyAwIDAgMSAxLjcwOCAwbDEuNTYgMS41NkEyIDIgMCAwIDEgMTUgMTguODI4VjIxYTEgMSAwIDAgMS0xIDFoLTRhMSAxIDAgMCAxLTEtMXYtMi4xNzJhMiAyIDAgMCAxIC41ODYtMS40MTR6In1dLFsicGF0aCIse2Q6Ik0xOC44MjggMTVhMiAyIDAgMCAxLTEuNDE0LS41ODZsLTEuNTYtMS41NmExLjIwNyAxLjIwNyAwIDAgMSAwLTEuNzA4bDEuNTYtMS41NkEyIDIgMCAwIDEgMTguODI4IDlIMjFhMSAxIDAgMCAxIDEgMXY0YTEgMSAwIDAgMS0xIDF6In1dLFsicGF0aCIse2Q6Ik02LjU4NiAxNC40MTRBMiAyIDAgMCAxIDUuMTcyIDE1SDNhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgMS0xaDIuMTcyYTIgMiAwIDAgMSAxLjQxNC41ODZsMS41NiAxLjU2YTEuMjA3IDEuMjA3IDAgMCAxIDAgMS43MDh6In1dLFsicGF0aCIse2Q6Ik05IDNhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAxIDF2Mi4xNzJhMiAyIDAgMCAxLS41ODYgMS40MTRsLTEuNTYgMS41NmExLjIwNyAxLjIwNyAwIDAgMS0xLjcwOCAwbC0xLjU2LTEuNTZBMiAyIDAgMCAxIDkgNS4xNzJ6In1dXX0pO3ZhciBQTCxKTGU9ZigoKT0+e1BMPVtbImxpbmUiLHt4MToiNiIseDI6IjEwIix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjgiLHkxOiIxMCIseTI6IjE0In1dLFsibGluZSIse3gxOiIxNSIseDI6IjE1LjAxIix5MToiMTMiLHkyOiIxMyJ9XSxbImxpbmUiLHt4MToiMTgiLHgyOiIxOC4wMSIseTE6IjExIix5MjoiMTEifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI2IixyeDoiMiJ9XV19KTt2YXIgRUwsZSRlPWYoKCk9PntFTD1bWyJwYXRoIix7ZDoibTEyIDE0IDQtNCJ9XSxbInBhdGgiLHtkOiJNMy4zNCAxOWExMCAxMCAwIDEgMSAxNy4zMiAwIn1dXX0pO3ZhciBJTCx0JGU9ZigoKT0+e0lMPVtbInBhdGgiLHtkOiJtMTQgMTMtOC4zODEgOC4zOGExIDEgMCAwIDEtMy4wMDEtM2w4LjM4NC04LjM4MSJ9XSxbInBhdGgiLHtkOiJtMTYgMTYgNi02In1dLFsicGF0aCIse2Q6Im0yMS41IDEwLjUtOC04In1dLFsicGF0aCIse2Q6Im04IDggNi02In1dLFsicGF0aCIse2Q6Im04LjUgNy41IDggOCJ9XV19KTt2YXIgTkwsYSRlPWYoKCk9PntOTD1bWyJwYXRoIix7ZDoiTTEwLjUgMyA4IDlsNCAxMyA0LTEzLTIuNS02In1dLFsicGF0aCIse2Q6Ik0xNyAzYTIgMiAwIDAgMSAxLjYuOGwzIDRhMiAyIDAgMCAxIC4wMTMgMi4zODJsLTcuOTkgMTAuOTg2YTIgMiAwIDAgMS0zLjI0NyAwbC03Ljk5LTEwLjk4NkEyIDIgMCAwIDEgMi40IDcuOGwyLjk5OC0zLjk5N0EyIDIgMCAwIDEgNyAzeiJ9XSxbInBhdGgiLHtkOiJNMiA5aDIwIn1dXX0pO3ZhciBSTCxyJGU9ZigoKT0+e1JMPVtbInBhdGgiLHtkOiJNOSAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMmE4IDggMCAwIDAtOCA4djEybDMtMyAyLjUgMi41TDEyIDE5bDIuNSAyLjVMMTcgMTlsMyAzVjEwYTggOCAwIDAgMC04LTh6In1dXX0pO3ZhciBPTCxzJGU9ZigoKT0+e09MPVtbInBhdGgiLHtkOiJNMTEuNSAyMWE3LjUgNy41IDAgMSAxIDcuMzUtOSJ9XSxbInBhdGgiLHtkOiJNMTMgMTJWMyJ9XSxbInBhdGgiLHtkOiJNNCAyMWgxNiJ9XSxbInBhdGgiLHtkOiJNOSAxMlYzIn1dXX0pO3ZhciBGTCxpJGU9ZigoKT0+e0ZMPVtbInBhdGgiLHtkOiJNMTUgNmE5IDkgMCAwIDAtOSA5VjMifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC02In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiNiIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIEJMLG8kZT1mKCgpPT57Qkw9W1sicGF0aCIse2Q6Ik0xMiA3djE0In1dLFsicGF0aCIse2Q6Ik0yMCAxMXY4YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0ydi04In1dLFsicGF0aCIse2Q6Ik03LjUgN2ExIDEgMCAwIDEgMC01QTQuOCA4IDAgMCAxIDEyIDdhNC44IDggMCAwIDEgNC41LTUgMSAxIDAgMCAxIDAgNSJ9XSxbInJlY3QiLHt4OiIzIix5OiI3Iix3aWR0aDoiMTgiLGhlaWdodDoiNCIscng6IjEifV1dfSk7dmFyIEhMLG4kZT1mKCgpPT57SEw9W1sicGF0aCIse2Q6Ik02IDN2MTIifV0sWyJwYXRoIix7ZDoiTTE4IDlhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2eiJ9XSxbInBhdGgiLHtkOiJNNiAyMWEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6In1dLFsicGF0aCIse2Q6Ik0xNSA2YTkgOSAwIDAgMC05IDkifV0sWyJwYXRoIix7ZDoiTTE4IDE1djYifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC02In1dXX0pO3ZhciBxTCxsJGU9ZigoKT0+e3FMPVtbInBhdGgiLHtkOiJNMTUgNmE5IDkgMCAwIDAtOSA5VjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI2IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgaXUsYyRlPWYoKCk9PntpdT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XSxbImxpbmUiLHt4MToiMyIseDI6IjkiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxNSIseDI6IjIxIix5MToiMTIiLHkyOiIxMiJ9XV19KTt2YXIgVkwsZCRlPWYoKCk9PntWTD1bWyJwYXRoIix7ZDoiTTEyIDN2NiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMiAxNXY2In1dXX0pO3ZhciBqTCx1JGU9ZigoKT0+e2pMPVtbImNpcmNsZSIse2N4OiI1IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTIgNmg1YTIgMiAwIDAgMSAyIDJ2NyJ9XSxbInBhdGgiLHtkOiJtMTUgOS0zLTMgMy0zIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEyIDE4SDdhMiAyIDAgMCAxLTItMlY5In1dLFsicGF0aCIse2Q6Im05IDE1IDMgMy0zIDMifV1dfSk7dmFyIFVMLHAkZT1mKCgpPT57VUw9W1siY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjYiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEzIDZoM2EyIDIgMCAwIDEgMiAydjcifV0sWyJwYXRoIix7ZDoiTTExIDE4SDhhMiAyIDAgMCAxLTItMlY5In1dXX0pO3ZhciBXTCxmJGU9ZigoKT0+e1dMPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE4IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTggOXYyYzAgLjYtLjQgMS0xIDFIN2MtLjYgMC0xLS40LTEtMVY5In1dLFsicGF0aCIse2Q6Ik0xMiAxMnYzIn1dXX0pO3ZhciBHTCxoJGU9ZigoKT0+e0dMPVtbImNpcmNsZSIse2N4OiI1IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNSA5djYifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE4IixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMiAzdjE4In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTUuN0E5IDkgMCAwIDAgMTkgOSJ9XV19KTt2YXIgWUwsbSRlPWYoKCk9PntZTD1bWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNiAyMVY5YTkgOSAwIDAgMCA5IDkifV1dfSk7dmFyIEtMLGckZT1mKCgpPT57S0w9W1sicGF0aCIse2Q6Ik0xMiA2aDRhMiAyIDAgMCAxIDIgMnY3In1dLFsicGF0aCIse2Q6Ik02IDEydjkifV0sWyJwYXRoIix7ZDoiTTkgMyAzIDkifV0sWyJwYXRoIix7ZDoiTTkgOSAzIDMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgWkwsYiRlPWYoKCk9PntaTD1bWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjYiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTUgOXYxMiJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE4IixyOiIzIn1dLFsicGF0aCIse2Q6Im0xNSA5LTMtMyAzLTMifV0sWyJwYXRoIix7ZDoiTTEyIDZoNWEyIDIgMCAwIDEgMiAydjcifV1dfSk7dmFyIFhMLHYkZT1mKCgpPT57WEw9W1siY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik02IDl2MTIifV0sWyJwYXRoIix7ZDoibTIxIDMtNiA2In1dLFsicGF0aCIse2Q6Im0yMSA5LTYtNiJ9XSxbInBhdGgiLHtkOiJNMTggMTEuNVYxNSJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBRTCx4JGU9ZigoKT0+e1FMPVtbImNpcmNsZSIse2N4OiI1IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNSA5djEyIn1dLFsicGF0aCIse2Q6Im0xNSA5LTMtMyAzLTMifV0sWyJwYXRoIix7ZDoiTTEyIDZoNWEyIDIgMCAwIDEgMiAydjMifV0sWyJwYXRoIix7ZDoiTTE5IDE1djYifV0sWyJwYXRoIix7ZDoiTTIyIDE4aC02In1dXX0pO3ZhciBKTCx5JGU9ZigoKT0+e0pMPVtbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNiA5djEyIn1dLFsicGF0aCIse2Q6Ik0xMyA2aDNhMiAyIDAgMCAxIDIgMnYzIn1dLFsicGF0aCIse2Q6Ik0xOCAxNXY2In1dLFsicGF0aCIse2Q6Ik0yMSAxOGgtNiJ9XV19KTt2YXIgZSQsdyRlPWYoKCk9PntlJD1bWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTggNlY1In1dLFsicGF0aCIse2Q6Ik0xOCAxMXYtMSJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjYiLHkxOiI5Iix5MjoiMjEifV1dfSk7dmFyIHQkLE0kZT1mKCgpPT57dCQ9W1siY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjYiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEzIDZoM2EyIDIgMCAwIDEgMiAydjcifV0sWyJsaW5lIix7eDE6IjYiLHgyOiI2Iix5MToiOSIseTI6IjIxIn1dXX0pO3ZhciBhJCxrJGU9ZigoKT0+e2EkPVtbInBhdGgiLHtkOiJNNS4xMTYgNC4xMDRBMSAxIDAgMCAxIDYuMTEgM2gxMS43OGExIDEgMCAwIDEgLjk5NCAxLjEwNUwxNy4xOSAyMC4yMUEyIDIgMCAwIDEgMTUuMiAyMkg4LjhhMiAyIDAgMCAxLTItMS43OXoifV0sWyJwYXRoIix7ZDoiTTYgMTJhNSA1IDAgMCAxIDYgMCA1IDUgMCAwIDAgNiAwIn1dXX0pO3ZhciByJCxTJGU9ZigoKT0+e3IkPVtbImNpcmNsZSIse2N4OiI2IixjeToiMTUiLHI6IjQifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxNSIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTQgMTVhMiAyIDAgMCAwLTItMiAyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik0yLjUgMTMgNSA3Yy43LTEuMyAxLjQtMiAzLTIifV0sWyJwYXRoIix7ZDoiTTIxLjUgMTMgMTkgN2MtLjctMS4zLTEuNS0yLTMtMiJ9XV19KTt2YXIgcyQseiRlPWYoKCk9PntzJD1bWyJwYXRoIix7ZDoiTTE1LjY4NiAxNUExNC41IDE0LjUgMCAwIDEgMTIgMjJhMTQuNSAxNC41IDAgMCAxIDAtMjAgMTAgMTAgMCAxIDAgOS41NDIgMTMifV0sWyJwYXRoIix7ZDoiTTIgMTJoOC41In1dLFsicGF0aCIse2Q6Ik0yMCA2VjRhMiAyIDAgMSAwLTQgMHYyIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjUiLHg6IjE0Iix5OiI2IixyeDoiMSJ9XV19KTt2YXIgaSQsQyRlPWYoKCk9PntpJD1bWyJwYXRoIix7ZDoibTE2IDMgNSA1In1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwQTEwIDEwIDAgMSAxIDEyIDJhMTQuNSAxNC41IDAgMCAwIDAgMjAgMTQuNSAxNC41IDAgMCAwIDQtMTAifV0sWyJwYXRoIix7ZDoibTIxIDMtNSA1In1dXX0pO3ZhciBvJCxfJGU9ZigoKT0+e28kPVtbInBhdGgiLHtkOiJNMTAuMTE0IDQuNDYyQTE0LjUgMTQuNSAwIDAgMSAxMiAyYTEwIDEwIDAgMCAxIDkuMzEzIDEzLjY0MyJ9XSxbInBhdGgiLHtkOiJNMTUuNTU3IDE1LjU1NkExNC41IDE0LjUgMCAwIDEgMTIgMjIgMTAgMTAgMCAwIDEgNC45MjkgNC45MjkifV0sWyJwYXRoIix7ZDoiTTE1Ljg5MiAxMC4yMzRBMTQuNSAxNC41IDAgMCAwIDEyIDJhMTAgMTAgMCAwIDAtMy42NDMuNjg3In1dLFsicGF0aCIse2Q6Ik0xNy42NTYgMTJIMjIifV0sWyJwYXRoIix7ZDoiTTE5LjA3MSAxOS4wNzFBMTAgMTAgMCAwIDEgMTIgMjIgMTQuNSAxNC41IDAgMCAxIDguNDQgOC40NSJ9XSxbInBhdGgiLHtkOiJNMiAxMmgxMCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBuJCxUJGU9ZigoKT0+e24kPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMmExNC41IDE0LjUgMCAwIDAgMCAyMCAxNC41IDE0LjUgMCAwIDAgMC0yMCJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XV19KTt2YXIgbCQsTCRlPWYoKCk9PntsJD1bWyJwYXRoIix7ZDoiTTEyIDEzVjJsOCA0LTggNCJ9XSxbInBhdGgiLHtkOiJNMjAuNTYxIDEwLjIyMmE5IDkgMCAxIDEtMTIuNTUtNS4yOSJ9XSxbInBhdGgiLHtkOiJNOC4wMDIgOS45OTdhNSA1IDAgMSAwIDguOSAyLjAyIn1dXX0pO3ZhciBjJCwkJGU9ZigoKT0+e2MkPVtbInBhdGgiLHtkOiJNMiAxN2gxOGEyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAwLTItMkgyIn1dLFsicGF0aCIse2Q6Ik0yIDIxVjMifV0sWyJwYXRoIix7ZDoiTTcgMTd2M2ExIDEgMCAwIDAgMSAxaDVhMSAxIDAgMCAwIDEtMXYtMyJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjExIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjgiLGN5OiIxMSIscjoiMiJ9XV19KTt2YXIgZCQsRCRlPWYoKCk9PntkJD1bWyJwYXRoIix7ZDoiTTIxLjQyIDEwLjkyMmExIDEgMCAwIDAtLjAxOS0xLjgzOEwxMi44MyA1LjE4YTIgMiAwIDAgMC0xLjY2IDBMMi42IDkuMDhhMSAxIDAgMCAwIDAgMS44MzJsOC41NyAzLjkwOGEyIDIgMCAwIDAgMS42NiAweiJ9XSxbInBhdGgiLHtkOiJNMjIgMTB2NiJ9XSxbInBhdGgiLHtkOiJNNiAxMi41VjE2YTYgMyAwIDAgMCAxMiAwdi0zLjUifV1dfSk7dmFyIHUkLEEkZT1mKCgpPT57dSQ9W1sicGF0aCIse2Q6Ik0yMiA1VjJsLTUuODkgNS44OSJ9XSxbImNpcmNsZSIse2N4OiIxNi42IixjeToiMTUuODkiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiOC4xMSIsY3k6IjcuNCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiIxMi4zNSIsY3k6IjExLjY1IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjEzLjkxIixjeToiNS44NSIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiIxOC4xNSIsY3k6IjEwLjA5IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYuNTYiLGN5OiIxMy4yIixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjEwLjgiLGN5OiIxNy40NCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTkiLHI6IjMifV1dfSk7dmFyIG91LFAkZT1mKCgpPT57b3U9W1sicGF0aCIse2Q6Ik0xMiAzdjE3YTEgMSAwIDAgMS0xIDFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjZhMSAxIDAgMCAxLTEgMUgzIn1dLFsicGF0aCIse2Q6Im0xNiAxOSAyIDIgNC00In1dXX0pO3ZhciBudSxFJGU9ZigoKT0+e251PVtbInBhdGgiLHtkOiJNMTIgM3YxN2ExIDEgMCAwIDEtMSAxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY2YTEgMSAwIDAgMS0xIDFIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTloNiJ9XSxbInBhdGgiLHtkOiJNMTkgMjJ2LTYifV1dfSk7dmFyIGx1LEkkZT1mKCgpPT57bHU9W1sicGF0aCIse2Q6Ik0xMiAzdjE3YTEgMSAwIDAgMS0xIDFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjZhMSAxIDAgMCAxLTEgMUgzIn1dLFsicGF0aCIse2Q6Im0xNiAxNiA1IDUifV0sWyJwYXRoIix7ZDoibTE2IDIxIDUtNSJ9XV19KTt2YXIgY3UsTiRlPWYoKCk9PntjdT1bWyJwYXRoIix7ZDoiTTEyIDN2MTgifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTgifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV19KTt2YXIgcCQsUiRlPWYoKCk9PntwJD1bWyJwYXRoIix7ZDoiTTE1IDN2MTgifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTgifV0sWyJwYXRoIix7ZDoiTTkgM3YxOCJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBhYyxPJGU9ZigoKT0+e2FjPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTgifV0sWyJwYXRoIix7ZDoiTTkgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XV19KTt2YXIgZiQsRiRlPWYoKCk9PntmJD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI5IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiOSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiOSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE1IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE1IixyOiIxIn1dXX0pO3ZhciBoJCxCJGU9ZigoKT0+e2gkPVtbImNpcmNsZSIse2N4OiI5IixjeToiMTIiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjE5IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiMTIiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiI1IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiMTkiLHI6IjEifV1dfSk7dmFyIG0kLEgkZT1mKCgpPT57bSQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE5IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTkiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE5IixyOiIxIn1dXX0pO3ZhciBnJCxxJGU9ZigoKT0+e2ckPVtbInBhdGgiLHtkOiJNMyA3VjVjMC0xLjEuOS0yIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJjMS4xIDAgMiAuOSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmMwIDEuMS0uOSAyLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1Yy0xLjEgMC0yLS45LTItMnYtMiJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI1Iix4OiI3Iix5OiI3IixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI1Iix4OiIxMCIseToiMTIiLHJ4OiIxIn1dXX0pO3ZhciBiJCxWJGU9ZigoKT0+e2IkPVtbInBhdGgiLHtkOiJtMTEuOSAxMi4xIDQuNTE0LTQuNTE0In1dLFsicGF0aCIse2Q6Ik0yMC4xIDIuM2ExIDEgMCAwIDAtMS40IDBsLTEuMTE0IDEuMTE0QTIgMiAwIDAgMCAxNyA0LjgyOHYxLjM0NGEyIDIgMCAwIDEtLjU4NiAxLjQxNEEyIDIgMCAwIDEgMTcuODI4IDdoMS4zNDRhMiAyIDAgMCAwIDEuNDE0LS41ODZMMjEuNyA1LjNhMSAxIDAgMCAwIDAtMS40eiJ9XSxbInBhdGgiLHtkOiJtNiAxNiAyIDIifV0sWyJwYXRoIix7ZDoiTTguMjMgOS44NUEzIDMgMCAwIDEgMTEgOGE1IDUgMCAwIDEgNSA1IDMgMyAwIDAgMS0xLjg1IDIuNzdsLS45Mi4zOEEyIDIgMCAwIDAgMTIgMThhNCA0IDAgMCAxLTQgNCA2IDYgMCAwIDEtNi02IDQgNCAwIDAgMSA0LTQgMiAyIDAgMCAwIDEuODUtMS4yM3oifV1dfSk7dmFyIHYkLGokZT1mKCgpPT57diQ9W1sicGF0aCIse2Q6Ik0xMy4xNDQgMjEuMTQ0QTcuMjc0IDEwLjQ0NSA0NSAxIDAgMi44NTYgMTAuODU2In1dLFsicGF0aCIse2Q6Ik0xMy4xNDQgMjEuMTQ0QTcuMjc0IDQuMzY1IDQ1IDAgMCAyLjg1NiAxMC44NTZhNy4yNzQgNC4zNjUgNDUgMCAwIDEwLjI4OCAxMC4yODgifV0sWyJwYXRoIix7ZDoiTTE2LjU2NSAxMC40MzUgMTguNiA4LjRhMi41MDEgMi41MDEgMCAxIDAgMS42NS00LjY1IDIuNSAyLjUgMCAxIDAtNC42NiAxLjY2bC0yLjAyNCAyLjAyNSJ9XSxbInBhdGgiLHtkOiJtOC41IDE2LjUtMS0xIn1dXX0pO3ZhciB4JCxVJGU9ZigoKT0+e3gkPVtbInBhdGgiLHtkOiJNMTIgMTZINGEyIDIgMCAxIDEgMC00aDE2YTIgMiAwIDEgMSAwIDRoLTQuMjUifV0sWyJwYXRoIix7ZDoiTTUgMTJhMiAyIDAgMCAxLTItMiA5IDcgMCAwIDEgMTggMCAyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik01IDE2YTIgMiAwIDAgMC0yIDIgMyAzIDAgMCAwIDMgM2gxMmEzIDMgMCAwIDAgMy0zIDIgMiAwIDAgMC0yLTJxMCAwIDAgMCJ9XSxbInBhdGgiLHtkOiJtNi42NyAxMiA2LjEzIDQuNmEyIDIgMCAwIDAgMi44LS40bDMuMTUtNC4yIn1dXX0pO3ZhciB5JCxXJGU9ZigoKT0+e3kkPVtbInBhdGgiLHtkOiJtMTUgMTItOS4zNzMgOS4zNzNhMSAxIDAgMCAxLTMuMDAxLTNMMTIgOSJ9XSxbInBhdGgiLHtkOiJtMTggMTUgNC00In1dLFsicGF0aCIse2Q6Im0yMS41IDExLjUtMS45MTQtMS45MTRBMiAyIDAgMCAxIDE5IDguMTcydi0uMzQ0YTIgMiAwIDAgMC0uNTg2LTEuNDE0bC0xLjY1Ny0xLjY1N0E2IDYgMCAwIDAgMTIuNTE2IDNIOWwxLjI0MyAxLjI0M0E2IDYgMCAwIDEgMTIgOC40ODVWMTBsMiAyaDEuMTcyYTIgMiAwIDAgMSAxLjQxNC41ODZMMTguNSAxNC41In1dXX0pO3ZhciB3JCxHJGU9ZigoKT0+e3ckPVtbInBhdGgiLHtkOiJNMTEgMTVoMmEyIDIgMCAxIDAgMC00aC0zYy0uNiAwLTEuMS4yLTEuNC42TDMgMTcifV0sWyJwYXRoIix7ZDoibTcgMjEgMS42LTEuNGMuMy0uNC44LS42IDEuNC0uNmg0YzEuMSAwIDIuMS0uNCAyLjgtMS4ybDQuNi00LjRhMiAyIDAgMCAwLTIuNzUtMi45MWwtNC4yIDMuOSJ9XSxbInBhdGgiLHtkOiJtMiAxNiA2IDYifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiI5IixyOiIyLjkifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjUiLHI6IjMifV1dfSk7dmFyIE0kLFkkZT1mKCgpPT57TSQ9W1sicGF0aCIse2Q6Ik0xMi4wMzUgMTcuMDEyYTMgMyAwIDAgMC0zLTNsLS4zMTEtLjAwMmEuNzIuNzIgMCAwIDEtLjUwNS0xLjIyOWwxLjE5NS0xLjE5NUEyIDIgMCAwIDEgMTAuODI4IDExSDEyYTIgMiAwIDAgMCAwLTRIOS4yNDNhMyAzIDAgMCAwLTIuMTIyLjg3OWwtMi43MDcgMi43MDdBNC44MyA0LjgzIDAgMCAwIDMgMTRhOCA4IDAgMCAwIDggOGgyYTggOCAwIDAgMCA4LThWN2EyIDIgMCAxIDAtNCAwdjJhMiAyIDAgMSAwIDQgMCJ9XSxbInBhdGgiLHtkOiJNMTMuODg4IDkuNjYyQTIgMiAwIDAgMCAxNyA4VjVBMiAyIDAgMSAwIDEzIDUifV0sWyJwYXRoIix7ZDoiTTkgNUEyIDIgMCAxIDAgNSA1VjEwIn1dLFsicGF0aCIse2Q6Ik05IDdWNEEyIDIgMCAxIDEgMTMgNFY3LjI2OCJ9XV19KTt2YXIgZHUsSyRlPWYoKCk9PntkdT1bWyJwYXRoIix7ZDoiTTE4IDExLjVWOWEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2MS40In1dLFsicGF0aCIse2Q6Ik0xNCAxMFY4YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xMCA5LjlWOWEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2NSJ9XSxbInBhdGgiLHtkOiJNNiAxNGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTE4IDExYTIgMiAwIDEgMSA0IDB2M2E4IDggMCAwIDEtOCA4aC00YTggOCAwIDAgMS04LTggMiAyIDAgMSAxIDQgMCJ9XV19KTt2YXIgayQsWiRlPWYoKCk9PntrJD1bWyJwYXRoIix7ZDoiTTExIDE0aDJhMiAyIDAgMCAwIDAtNGgtM2MtLjYgMC0xLjEuMi0xLjQuNkwzIDE2In1dLFsicGF0aCIse2Q6Im0xNC40NSAxMy4zOSA1LjA1LTQuNjk0QzIwLjE5NiA4IDIxIDYuODUgMjEgNS43NWEyLjc1IDIuNzUgMCAwIDAtNC43OTctMS44MzcuMjc2LjI3NiAwIDAgMS0uNDA2IDBBMi43NSAyLjc1IDAgMCAwIDExIDUuNzVjMCAxLjIuODAyIDIuMjQ4IDEuNSAyLjk0NkwxNiAxMS45NSJ9XSxbInBhdGgiLHtkOiJtMiAxNSA2IDYifV0sWyJwYXRoIix7ZDoibTcgMjAgMS42LTEuNGMuMy0uNC44LS42IDEuNC0uNmg0YzEuMSAwIDIuMS0uNCAyLjgtMS4ybDQuNi00LjRhMSAxIDAgMCAwLTIuNzUtMi45MSJ9XV19KTt2YXIgdXUsWCRlPWYoKCk9Pnt1dT1bWyJwYXRoIix7ZDoiTTExIDEyaDJhMiAyIDAgMSAwIDAtNGgtM2MtLjYgMC0xLjEuMi0xLjQuNkwzIDE0In1dLFsicGF0aCIse2Q6Im03IDE4IDEuNi0xLjRjLjMtLjQuOC0uNiAxLjQtLjZoNGMxLjEgMCAyLjEtLjQgMi44LTEuMmw0LjYtNC40YTIgMiAwIDAgMC0yLjc1LTIuOTFsLTQuMiAzLjkifV0sWyJwYXRoIix7ZDoibTIgMTMgNiA2In1dXX0pO3ZhciBTJCxRJGU9ZigoKT0+e1MkPVtbInBhdGgiLHtkOiJNMTggMTIuNVYxMGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2MS40In1dLFsicGF0aCIse2Q6Ik0xNCAxMVY5YTIgMiAwIDEgMC00IDB2MiJ9XSxbInBhdGgiLHtkOiJNMTAgMTAuNVY1YTIgMiAwIDEgMC00IDB2OSJ9XSxbInBhdGgiLHtkOiJtNyAxNS0xLjc2LTEuNzZhMiAyIDAgMCAwLTIuODMgMi44MmwzLjYgMy42QzcuNSAyMS4xNCA5LjIgMjIgMTIgMjJoMmE4IDggMCAwIDAgOC04VjdhMiAyIDAgMSAwLTQgMHY1In1dXX0pO3ZhciB6JCxKJGU9ZigoKT0+e3okPVtbInBhdGgiLHtkOiJNMTIgM1YyIn1dLFsicGF0aCIse2Q6Im0xNS40IDE3LjQgMy4yLTIuOGEyIDIgMCAxIDEgMi44IDIuOWwtMy42IDMuM2MtLjcuOC0xLjcgMS4yLTIuOCAxLjJoLTRjLTEuMSAwLTIuMS0uNC0yLjgtMS4ybC0xLjMwMi0xLjQ2NEExIDEgMCAwIDAgNi4xNTEgMTlINSJ9XSxbInBhdGgiLHtkOiJNMiAxNGgxMmEyIDIgMCAwIDEgMCA0aC0yIn1dLFsicGF0aCIse2Q6Ik00IDEwaDE2In1dLFsicGF0aCIse2Q6Ik01IDEwYTcgNyAwIDAgMSAxNCAwIn1dLFsicGF0aCIse2Q6Ik01IDE0djZhMSAxIDAgMCAxLTEgMUgyIn1dXX0pO3ZhciBDJCxlRGU9ZigoKT0+e0MkPVtbInBhdGgiLHtkOiJNMTggMTFWNmEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTE0IDEwVjRhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAydjIifV0sWyJwYXRoIix7ZDoiTTEwIDEwLjVWNmEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2OCJ9XSxbInBhdGgiLHtkOiJNMTggOGEyIDIgMCAxIDEgNCAwdjZhOCA4IDAgMCAxLTggOGgtMmMtMi44IDAtNC41LS44Ni01Ljk5LTIuMzRsLTMuNi0zLjZhMiAyIDAgMCAxIDIuODMtMi44Mkw3IDE1In1dXX0pO3ZhciBfJCx0RGU9ZigoKT0+e18kPVtbInBhdGgiLHtkOiJNMi4wNDggMTguNTY2QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjk1Mi0yLjQzNGwtMi05QTIgMiAwIDAgMCAxOCA4SDZhMiAyIDAgMCAwLTEuOTUyIDEuNTY2eiJ9XSxbInBhdGgiLHtkOiJNOCAxMVY2YTQgNCAwIDAgMSA4IDB2NSJ9XV19KTt2YXIgVCQsYURlPWYoKCk9PntUJD1bWyJwYXRoIix7ZDoibTExIDE3IDIgMmExIDEgMCAxIDAgMy0zIn1dLFsicGF0aCIse2Q6Im0xNCAxNCAyLjUgMi41YTEgMSAwIDEgMCAzLTNsLTMuODgtMy44OGEzIDMgMCAwIDAtNC4yNCAwbC0uODguODhhMSAxIDAgMSAxLTMtM2wyLjgxLTIuODFhNS43OSA1Ljc5IDAgMCAxIDcuMDYtLjg3bC40Ny4yOGEyIDIgMCAwIDAgMS40Mi4yNUwyMSA0In1dLFsicGF0aCIse2Q6Im0yMSAzIDEgMTFoLTIifV0sWyJwYXRoIix7ZDoiTTMgMyAyIDE0bDYuNSA2LjVhMSAxIDAgMSAwIDMtMyJ9XSxbInBhdGgiLHtkOiJNMyA0aDgifV1dfSk7dmFyIEwkLHJEZT1mKCgpPT57TCQ9W1sicGF0aCIse2Q6Ik0xMiAydjgifV0sWyJwYXRoIix7ZDoibTE2IDYtNCA0LTQtNCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMTQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMThoLjAxIn1dXX0pO3ZhciAkJCxzRGU9ZigoKT0+eyQkPVtbInBhdGgiLHtkOiJtMTYgNi00LTQtNCA0In1dLFsicGF0aCIse2Q6Ik0xMiAydjgifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjgiLHg6IjIiLHk6IjE0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNiAxOGguMDEifV0sWyJwYXRoIix7ZDoiTTEwIDE4aC4wMSJ9XV19KTt2YXIgRCQsaURlPWYoKCk9PntEJD1bWyJwYXRoIix7ZDoiTTEwIDEwVjVhMSAxIDAgMCAxIDEtMWgyYTEgMSAwIDAgMSAxIDF2NSJ9XSxbInBhdGgiLHtkOiJNMTQgNmE2IDYgMCAwIDEgNiA2djMifV0sWyJwYXRoIix7ZDoiTTQgMTV2LTNhNiA2IDAgMCAxIDYtNiJ9XSxbInJlY3QiLHt4OiIyIix5OiIxNSIsd2lkdGg6IjIwIixoZWlnaHQ6IjQiLHJ4OiIxIn1dXX0pO3ZhciBBJCxvRGU9ZigoKT0+e0EkPVtbInBhdGgiLHtkOiJNMTAgMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0yLjIxMiAxMS41NzdhMiAyIDAgMCAwLS4yMTIuODk2VjE4YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNS41MjdhMiAyIDAgMCAwLS4yMTItLjg5NkwxOC41NSA1LjExQTIgMiAwIDAgMCAxNi43NiA0SDcuMjRhMiAyIDAgMCAwLTEuNzkgMS4xMXoifV0sWyJwYXRoIix7ZDoiTTIxLjk0NiAxMi4wMTNIMi4wNTQifV0sWyJwYXRoIix7ZDoiTTYgMTZoLjAxIn1dXX0pO3ZhciBQJCxuRGU9ZigoKT0+e1AkPVtbImxpbmUiLHt4MToiNCIseDI6IjIwIix5MToiOSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjQiLHgyOiIyMCIseTE6IjE1Iix5MjoiMTUifV0sWyJsaW5lIix7eDE6IjEwIix4MjoiOCIseTE6IjMiLHkyOiIyMSJ9XSxbImxpbmUiLHt4MToiMTYiLHgyOiIxNCIseTE6IjMiLHkyOiIyMSJ9XV19KTt2YXIgRSQsbERlPWYoKCk9PntFJD1bWyJwYXRoIix7ZDoiTTE0IDE4YTIgMiAwIDAgMC00IDAifV0sWyJwYXRoIix7ZDoibTE5IDExLTIuMTEtNi42NTdhMiAyIDAgMCAwLTIuNzUyLTEuMTQ4bC0xLjI3Ni42MUEyIDIgMCAwIDEgMTIgNEg4LjVhMiAyIDAgMCAwLTEuOTI1IDEuNDU2TDUgMTEifV0sWyJwYXRoIix7ZDoiTTIgMTFoMjAifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxOCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIEkkLGNEZT1mKCgpPT57SSQ9W1sicGF0aCIse2Q6Im01LjIgNi4yIDEuNCAxLjQifV0sWyJwYXRoIix7ZDoiTTIgMTNoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTNoMiJ9XSxbInBhdGgiLHtkOiJtMTcuNCA3LjYgMS40LTEuNCJ9XSxbInBhdGgiLHtkOiJNMjIgMTdIMiJ9XSxbInBhdGgiLHtkOiJNMjIgMjFIMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTNhNCA0IDAgMCAwLTggMCJ9XSxbInBhdGgiLHtkOiJNMTIgNVYyLjUifV1dfSk7dmFyIE4kLGREZT1mKCgpPT57TiQ9W1sicGF0aCIse2Q6Ik0xMCAxMkg2In1dLFsicGF0aCIse2Q6Ik0xMCAxNVY5In1dLFsicGF0aCIse2Q6Ik0xNCAxNC41YS41LjUgMCAwIDAgLjUuNWgxYTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMUEyLjUgMi41IDAgMCAwIDE1LjUgOWgtMWEuNS41IDAgMCAwLS41LjV6In1dLFsicGF0aCIse2Q6Ik02IDE1VjkifV0sWyJyZWN0Iix7eDoiMiIseToiNSIsd2lkdGg6IjIwIixoZWlnaHQ6IjE0IixyeDoiMiJ9XV19KTt2YXIgUiQsdURlPWYoKCk9PntSJD1bWyJwYXRoIix7ZDoiTTIyIDlhMSAxIDAgMCAwLTEtMUgzYTEgMSAwIDAgMC0xIDF2NGExIDEgMCAwIDAgMSAxaDFsMiAyaDEybDItMmgxYTEgMSAwIDAgMCAxLTFaIn1dLFsicGF0aCIse2Q6Ik03LjUgMTJoOSJ9XV19KTt2YXIgTyQscERlPWYoKCk9PntPJD1bWyJwYXRoIix7ZDoiTTQgMTJoOCJ9XSxbInBhdGgiLHtkOiJNNCAxOFY2In1dLFsicGF0aCIse2Q6Ik0xMiAxOFY2In1dLFsicGF0aCIse2Q6Im0xNyAxMiAzLTJ2OCJ9XV19KTt2YXIgRiQsZkRlPWYoKCk9PntGJD1bWyJwYXRoIix7ZDoiTTQgMTJoOCJ9XSxbInBhdGgiLHtkOiJNNCAxOFY2In1dLFsicGF0aCIse2Q6Ik0xMiAxOFY2In1dLFsicGF0aCIse2Q6Ik0yMSAxOGgtNGMwLTQgNC0zIDQtNiAwLTEuNS0yLTIuNS00LTEifV1dfSk7dmFyIEIkLGhEZT1mKCgpPT57QiQ9W1sicGF0aCIse2Q6Ik00IDEyaDgifV0sWyJwYXRoIix7ZDoiTTQgMThWNiJ9XSxbInBhdGgiLHtkOiJNMTIgMThWNiJ9XSxbInBhdGgiLHtkOiJNMTcuNSAxMC41YzEuNy0xIDMuNSAwIDMuNSAxLjVhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTcgMTcuNWMyIDEuNSA0IC4zIDQtMS41YTIgMiAwIDAgMC0yLTIifV1dfSk7dmFyIEgkLG1EZT1mKCgpPT57SCQ9W1sicGF0aCIse2Q6Ik0xMiAxOFY2In1dLFsicGF0aCIse2Q6Ik0xNyAxMHYzYTEgMSAwIDAgMCAxIDFoMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTB2OCJ9XSxbInBhdGgiLHtkOiJNNCAxMmg4In1dLFsicGF0aCIse2Q6Ik00IDE4VjYifV1dfSk7dmFyIHEkLGdEZT1mKCgpPT57cSQ9W1sicGF0aCIse2Q6Ik00IDEyaDgifV0sWyJwYXRoIix7ZDoiTTQgMThWNiJ9XSxbInBhdGgiLHtkOiJNMTIgMThWNiJ9XSxbInBhdGgiLHtkOiJNMTcgMTN2LTNoNCJ9XSxbInBhdGgiLHtkOiJNMTcgMTcuN2MuNC4yLjguMyAxLjMuMyAxLjUgMCAyLjctMS4xIDIuNy0yLjVTMTkuOCAxMyAxOC4zIDEzSDE3In1dXX0pO3ZhciBWJCxiRGU9ZigoKT0+e1YkPVtbInBhdGgiLHtkOiJNNCAxMmg4In1dLFsicGF0aCIse2Q6Ik00IDE4VjYifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxNiIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTBjLTIgMi0zIDMuNS0zIDYifV1dfSk7dmFyIGokLHZEZT1mKCgpPT57aiQ9W1sicGF0aCIse2Q6Ik02IDEyaDEyIn1dLFsicGF0aCIse2Q6Ik02IDIwVjQifV0sWyJwYXRoIix7ZDoiTTE4IDIwVjQifV1dfSk7dmFyIFUkLHhEZT1mKCgpPT57VSQ9W1sicGF0aCIse2Q6Ik0yMSAxNGgtMS4zNDMifV0sWyJwYXRoIix7ZDoiTTkuMTI4IDMuNDdBOSA5IDAgMCAxIDIxIDEydjMuMzQzIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIwLjQxNCAyMC40MTRBMiAyIDAgMCAxIDE5IDIxaC0xYTIgMiAwIDAgMS0yLTJ2LTMifV0sWyJwYXRoIix7ZDoiTTMgMTRoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTdhOSA5IDAgMCAxIDIuNjM2LTYuMzY0In1dXX0pO3ZhciBXJCx5RGU9ZigoKT0+e1ckPVtbInBhdGgiLHtkOiJNMyAxMWgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNVptMCAwYTkgOSAwIDEgMSAxOCAwbTAgMHY1YTIgMiAwIDAgMS0yIDJoLTFhMiAyIDAgMCAxLTItMnYtM2EyIDIgMCAwIDEgMi0yaDNaIn1dLFsicGF0aCIse2Q6Ik0yMSAxNnYyYTQgNCAwIDAgMS00IDRoLTUifV1dfSk7dmFyIEckLHdEZT1mKCgpPT57RyQ9W1sicGF0aCIse2Q6Ik0zIDE0aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi03YTkgOSAwIDAgMSAxOCAwdjdhMiAyIDAgMCAxLTIgMmgtMWEyIDIgMCAwIDEtMi0ydi0zYTIgMiAwIDAgMSAyLTJoMyJ9XV19KTt2YXIgWSQsTURlPWYoKCk9PntZJD1bWyJwYXRoIix7ZDoiTTEyLjQwOSA1LjgyNGMtLjcwMi43OTItMS4xNSAxLjQ5Ni0xLjQxNSAyLjE2NmwyLjE1MyAyLjE1NmEuNS41IDAgMCAxIDAgLjcwN2wtMi4yOTMgMi4yOTNhLjUuNSAwIDAgMCAwIC43MDdMMTIgMTUifV0sWyJwYXRoIix7ZDoiTTEzLjUwOCAyMC4zMTNhMiAyIDAgMCAxLTMgLjAxOUw1IDE1Yy0xLjUtMS41LTMtMy4yLTMtNS41YTUuNSA1LjUgMCAwIDEgOS41OTEtMy42NzcuNi42IDAgMCAwIC44MTguMDAxQTUuNSA1LjUgMCAwIDEgMjIgOS41YzAgMi4yOS0xLjUgNC0zIDUuNXoifV1dfSk7dmFyIEskLGtEZT1mKCgpPT57SyQ9W1sicGF0aCIse2Q6Ik0xOS40MTQgMTQuNDE0QzIxIDEyLjgyOCAyMiAxMS41IDIyIDkuNWE1LjUgNS41IDAgMCAwLTkuNTkxLTMuNjc2LjYuNiAwIDAgMS0uODE4LjAwMUE1LjUgNS41IDAgMCAwIDIgOS41YzAgMi4zIDEuNSA0IDMgNS41bDUuNTM1IDUuMzYyYTIgMiAwIDAgMCAyLjg3OS4wNTIgMi4xMiAyLjEyIDAgMCAwLS4wMDQtMyAyLjEyNCAyLjEyNCAwIDEgMCAzLTMgMi4xMjQgMi4xMjQgMCAwIDAgMy4wMDQgMCAyIDIgMCAwIDAgMC0yLjgyOGwtMS44ODEtMS44ODJhMi40MSAyLjQxIDAgMCAwLTMuNDA5IDBsLTEuNzEgMS43MWEyIDIgMCAwIDEtMi44MjggMCAyIDIgMCAwIDEgMC0yLjgyOGwyLjgyMy0yLjc2MiJ9XV19KTt2YXIgWiQsU0RlPWYoKCk9PntaJD1bWyJwYXRoIix7ZDoibTE0Ljg3NiAxOC45OS0xLjM2OCAxLjMyM2EyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ni41Ni41NiAwIDAgMCAuODE4IDBBNS40OSA1LjQ5IDAgMCAxIDIyIDkuNWE1LjIgNS4yIDAgMCAxLS4yNDQgMS41NzIifV0sWyJwYXRoIix7ZDoiTTE1IDE1aDYifV1dfSk7dmFyIFgkLHpEZT1mKCgpPT57WCQ9W1sicGF0aCIse2Q6Ik0xMC41IDQuODkzYTUuNSA1LjUgMCAwIDEgMS4wOTEuOTMxLjU2LjU2IDAgMCAwIC44MTggMEE1LjQ5IDUuNDkgMCAwIDEgMjIgOS41YzAgMS44NzItMS4wMDIgMy4zNTYtMi4xODcgNC42NTUifV0sWyJwYXRoIix7ZDoibTE2Ljk2NyAxNi45NjctMy40NTkgMy4zNDZhMiAyIDAgMCAxLTMgLjAxOUw1IDE1Yy0xLjUtMS41LTMtMy4yLTMtNS41YTUuNSA1LjUgMCAwIDEgMi43NDctNC43NjEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgUSQsQ0RlPWYoKCk9PntRJD1bWyJwYXRoIix7ZDoibTE0LjQ3OSAxOS4zNzQtLjk3MS45MzlhMiAyIDAgMCAxLTMgLjAxOUw1IDE1Yy0xLjUtMS41LTMtMy4yLTMtNS41YTUuNSA1LjUgMCAwIDEgOS41OTEtMy42NzYuNTYuNTYgMCAwIDAgLjgxOCAwQTUuNDkgNS40OSAwIDAgMSAyMiA5LjVhNS4yIDUuMiAwIDAgMS0uMjE5IDEuNDkifV0sWyJwYXRoIix7ZDoiTTE1IDE1aDYifV0sWyJwYXRoIix7ZDoiTTE4IDEydjYifV1dfSk7dmFyIEokLF9EZT1mKCgpPT57SiQ9W1sicGF0aCIse2Q6Ik0yIDkuNWE1LjUgNS41IDAgMCAxIDkuNTkxLTMuNjc2LjU2LjU2IDAgMCAwIC44MTggMEE1LjQ5IDUuNDkgMCAwIDEgMjIgOS41YzAgMi4yOS0xLjUgNC0zIDUuNWwtNS40OTIgNS4zMTNhMiAyIDAgMCAxLTMgLjAxOUw1IDE1Yy0xLjUtMS41LTMtMy4yLTMtNS41In1dLFsicGF0aCIse2Q6Ik0zLjIyIDEzSDkuNWwuNS0xIDIgNC41IDItNyAxLjUgMy41aDUuMjcifV1dfSk7dmFyIGVELFREZT1mKCgpPT57ZUQ9W1sicGF0aCIse2Q6Im0xNS41IDEyLjUgNSA1In1dLFsicGF0aCIse2Q6Im0yMC41IDEyLjUtNSA1In1dLFsicGF0aCIse2Q6Ik0yMS45NTUgOC43NzRhNS41IDUuNSAwIDAgMC05LjU0Ni0yLjk1LjYuNiAwIDAgMS0uODE4IDBBNS41IDUuNSAwIDAgMCAyIDkuNWMwIDIuMyAxLjUgNCAzIDUuNWw1LjUwOCA1LjMzMmEyIDIgMCAwIDAgMi41Ny4zNTIifV1dfSk7dmFyIHRELExEZT1mKCgpPT57dEQ9W1sicGF0aCIse2Q6Ik0yIDkuNWE1LjUgNS41IDAgMCAxIDkuNTkxLTMuNjc2LjU2LjU2IDAgMCAwIC44MTggMEE1LjQ5IDUuNDkgMCAwIDEgMjIgOS41YzAgMi4yOS0xLjUgNC0zIDUuNWwtNS40OTIgNS4zMTNhMiAyIDAgMCAxLTMgLjAxOUw1IDE1Yy0xLjUtMS41LTMtMy4yLTMtNS41In1dXX0pO3ZhciBhRCwkRGU9ZigoKT0+e2FEPVtbInBhdGgiLHtkOiJNMTEgOGMyLTMtMi0zIDAtNiJ9XSxbInBhdGgiLHtkOiJNMTUuNSA4YzItMy0yLTMgMC02In1dLFsicGF0aCIse2Q6Ik02IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNNiAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTEwIDE2di00In1dLFsicGF0aCIse2Q6Ik0xNCAxNnYtNCJ9XSxbInBhdGgiLHtkOiJNMTggMTZ2LTQifV0sWyJwYXRoIix7ZDoiTTIwIDZhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMyJ9XSxbInBhdGgiLHtkOiJNNSAyMHYyIn1dLFsicGF0aCIse2Q6Ik0xOSAyMHYyIn1dXX0pO3ZhciByRCxERGU9ZigoKT0+e3JEPVtbInBhdGgiLHtkOiJNMTEgMTd2NCJ9XSxbInBhdGgiLHtkOiJNMTQgM3Y4YTIgMiAwIDAgMCAyIDJoNS44NjUifV0sWyJwYXRoIix7ZDoiTTE3IDE3djQifV0sWyJwYXRoIix7ZDoiTTE4IDE3YTQgNCAwIDAgMCA0LTQgOCA2IDAgMCAwLTgtNiA2IDUgMCAwIDAtNiA1djNhMiAyIDAgMCAwIDIgMnoifV0sWyJwYXRoIix7ZDoiTTIgMTB2NSJ9XSxbInBhdGgiLHtkOiJNNiAzaDE2In1dLFsicGF0aCIse2Q6Ik03IDIxaDE0In1dLFsicGF0aCIse2Q6Ik04IDEzSDIifV1dfSk7dmFyIHNELEFEZT1mKCgpPT57c0Q9W1sicGF0aCIse2Q6Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoifV1dfSk7dmFyIGlELFBEZT1mKCgpPT57aUQ9W1sicGF0aCIse2Q6Im05IDExLTYgNnYzaDlsMy0zIn1dLFsicGF0aCIse2Q6Im0yMiAxMi00LjYgNC42YTIgMiAwIDAgMS0yLjggMGwtNS4yLTUuMmEyIDIgMCAwIDEgMC0yLjhMMTQgNCJ9XV19KTt2YXIgb0QsRURlPWYoKCk9PntvRD1bWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMSAwIDktOSA5Ljc1IDkuNzUgMCAwIDAtNi43NCAyLjc0TDMgOCJ9XSxbInBhdGgiLHtkOiJNMyAzdjVoNSJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y1bDQgMiJ9XV19KTt2YXIgbkQsSURlPWYoKCk9PntuRD1bWyJwYXRoIix7ZDoiTTEwLjgyIDE2LjEyYzEuNjkuNiAzLjkxLjc5IDUuMTguODUuNTUuMDMgMS0uNDIuOTctLjk3LS4wNi0xLjI3LS4yNi0zLjUtLjg1LTUuMTgifV0sWyJwYXRoIix7ZDoiTTExLjUgNi41YzEuNjQgMCA1LS4zOCA2LjcxLTEuMDcuNTItLjIuNTUtLjgyLjEyLTEuMTdBMTAgMTAgMCAwIDAgNC4yNiAxOC4zM2MuMzUuNDMuOTYuNCAxLjE3LS4xMi42OS0xLjcxIDEuMDctNS4wNyAxLjA3LTYuNzEgMS4zNC40NSAzLjEuOSA0Ljg4LjYyYS44OC44OCAwIDAgMCAuNzMtLjc0Yy4zLTIuMTQtLjE1LTMuNS0uNjEtNC44OCJ9XSxbInBhdGgiLHtkOiJNMTUuNjIgMTYuOTVjLjIuODUuNjIgMi43Ni41IDQuMjhhLjc3Ljc3IDAgMCAxLS45LjcgMTYuNjQgMTYuNjQgMCAwIDEtNC4wOC0xLjM2In1dLFsicGF0aCIse2Q6Ik0xNi4xMyAyMS4wNWMxLjY1LjYzIDMuNjguODQgNC44Ny45MWEuOS45IDAgMCAwIC45Ni0uOTYgMTcuNjggMTcuNjggMCAwIDAtLjktNC44NyJ9XSxbInBhdGgiLHtkOiJNMTYuOTQgMTUuNjJjLjg2LjIgMi43Ny42MiA0LjI5LjVhLjc3Ljc3IDAgMCAwIC43LS45IDE2LjY0IDE2LjY0IDAgMCAwLTEuMzYtNC4wOCJ9XSxbInBhdGgiLHtkOiJNMTcuOTkgNS41MmEyMC44MiAyMC44MiAwIDAgMSAzLjE1IDQuNS44LjggMCAwIDEtLjY4IDEuMTNjLTIuMzMuMi01LjMtLjMyLTguMjctMS41NyJ9XSxbInBhdGgiLHtkOiJNNC45MyA0LjkzIDMgM2EuNy43IDAgMCAxIDAtMSJ9XSxbInBhdGgiLHtkOiJNOS41OCAxMi4xOGMxLjI0IDIuOTggMS43NyA1Ljk1IDEuNTcgOC4yOGEuOC44IDAgMCAxLTEuMTMuNjggMjAuODIgMjAuODIgMCAwIDEtNC41LTMuMTUifV1dfSk7dmFyIGxELE5EZT1mKCgpPT57bEQ9W1sicGF0aCIse2Q6Ik0xMC44MiAxNi4xMmMxLjY5LjYgMy45MS43OSA1LjE4Ljg1LjI4LjAxLjUzLS4wOS43LS4yNyJ9XSxbInBhdGgiLHtkOiJNMTEuMTQgMjAuNTdjLjUyLjI0IDIuNDQgMS4xMiA0LjA4IDEuMzcuNDYuMDYuODYtLjI1LjktLjcxLjEyLTEuNTItLjMtMy40My0uNS00LjI4In1dLFsicGF0aCIse2Q6Ik0xNi4xMyAyMS4wNWMxLjY1LjYzIDMuNjguODQgNC44Ny45MWEuOS45IDAgMCAwIC43LS4yNiJ9XSxbInBhdGgiLHtkOiJNMTcuOTkgNS41MmEyMC44MyAyMC44MyAwIDAgMSAzLjE1IDQuNS44LjggMCAwIDEtLjY4IDEuMTNjLTEuMTcuMS0yLjUuMDItMy45LS4yNSJ9XSxbInBhdGgiLHtkOiJNMjAuNTcgMTEuMTRjLjI0LjUyIDEuMTIgMi40NCAxLjM3IDQuMDguMDQuMy0uMDguNTktLjMxLjc1In1dLFsicGF0aCIse2Q6Ik00LjkzIDQuOTNhMTAgMTAgMCAwIDAtLjY3IDEzLjRjLjM1LjQzLjk2LjQgMS4xNy0uMTIuNjktMS43MSAxLjA3LTUuMDcgMS4wNy02LjcxIDEuMzQuNDUgMy4xLjkgNC44OC42MmEuODUuODUgMCAwIDAgLjQ4LS4yNCJ9XSxbInBhdGgiLHtkOiJNNS41MiAxNy45OWMxLjA1Ljk1IDIuOTEgMi40MiA0LjUgMy4xNWEuOC44IDAgMCAwIDEuMTMtLjY4Yy4yLTIuMzQtLjMzLTUuMy0xLjU3LTguMjgifV0sWyJwYXRoIix7ZDoiTTguMzUgMi42OGExMCAxMCAwIDAgMSA5Ljk4IDEuNThjLjQzLjM1LjQuOTYtLjEyIDEuMTctMS41LjYtNC4zLjk4LTYuMDcgMS4wNSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBjRCxSRGU9ZigoKT0+e2NEPVtbInBhdGgiLHtkOiJNMTIgN3Y0In1dLFsicGF0aCIse2Q6Ik0xNCAyMXYtM2EyIDIgMCAwIDAtNCAwdjMifV0sWyJwYXRoIix7ZDoiTTE0IDloLTQifV0sWyJwYXRoIix7ZDoiTTE4IDExaDJhMiAyIDAgMCAxIDIgMnY2YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi05YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTggMjFWNWEyIDIgMCAwIDAtMi0ySDhhMiAyIDAgMCAwLTIgMnYxNiJ9XV19KTt2YXIgZEQsT0RlPWYoKCk9PntkRD1bWyJwYXRoIix7ZDoiTTEwIDIydi02LjU3In1dLFsicGF0aCIse2Q6Ik0xMiAxMWguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDdoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxNS40M1YyMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTZhNSA1IDAgMCAwLTYgMCJ9XSxbInBhdGgiLHtkOiJNMTYgMTFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiA3aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxMWguMDEifV0sWyJwYXRoIix7ZDoiTTggN2guMDEifV0sWyJyZWN0Iix7eDoiNCIseToiMiIsd2lkdGg6IjE2IixoZWlnaHQ6IjIwIixyeDoiMiJ9XV19KTt2YXIgdUQsRkRlPWYoKCk9Pnt1RD1bWyJwYXRoIix7ZDoiTTUgMjJoMTQifV0sWyJwYXRoIix7ZDoiTTUgMmgxNCJ9XSxbInBhdGgiLHtkOiJNMTcgMjJ2LTQuMTcyYTIgMiAwIDAgMC0uNTg2LTEuNDE0TDEyIDEybC00LjQxNCA0LjQxNEEyIDIgMCAwIDAgNyAxNy44MjhWMjIifV0sWyJwYXRoIix7ZDoiTTcgMnY0LjE3MmEyIDIgMCAwIDAgLjU4NiAxLjQxNEwxMiAxMmw0LjQxNC00LjQxNEEyIDIgMCAwIDAgMTcgNi4xNzJWMiJ9XV19KTt2YXIgcEQsQkRlPWYoKCk9PntwRD1bWyJwYXRoIix7ZDoiTTguNjIgMTMuOEEyLjI1IDIuMjUgMCAxIDEgMTIgMTAuODM2YTIuMjUgMi4yNSAwIDEgMSAzLjM4IDIuOTY2bC0yLjYyNiAyLjg1NmEuOTk4Ljk5OCAwIDAgMS0xLjUwNyAweiJ9XSxbInBhdGgiLHtkOiJNMyAxMGEyIDIgMCAwIDEgLjcwOS0xLjUyOGw3LTZhMiAyIDAgMCAxIDIuNTgyIDBsNyA2QTIgMiAwIDAgMSAyMSAxMHY5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiJ9XV19KTt2YXIgZkQsSERlPWYoKCk9PntmRD1bWyJwYXRoIix7ZDoiTTEwIDEyVjguOTY0In1dLFsicGF0aCIse2Q6Ik0xNCAxMlY4Ljk2NCJ9XSxbInBhdGgiLHtkOiJNMTUgMTJhMSAxIDAgMCAxIDEgMXYyYTIgMiAwIDAgMS0yIDJoLTRhMiAyIDAgMCAxLTItMnYtMmExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNOC41IDIxSDVhMiAyIDAgMCAxLTItMnYtOWEyIDIgMCAwIDEgLjcwOS0xLjUyOGw3LTZhMiAyIDAgMCAxIDIuNTgyIDBsNyA2QTIgMiAwIDAgMSAyMSAxMHY5YTIgMiAwIDAgMS0yIDJoLTVhMiAyIDAgMCAxLTItMnYtMiJ9XV19KTt2YXIgaEQscURlPWYoKCk9PntoRD1bWyJwYXRoIix7ZDoiTTkuNSAxMy44NjZhNCA0IDAgMCAxIDUgLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEifV0sWyJwYXRoIix7ZDoiTTMgMTBhMiAyIDAgMCAxIC43MDktMS41MjhsNy02YTIgMiAwIDAgMSAyLjU4MiAwbDcgNkEyIDIgMCAwIDEgMjEgMTB2OWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnoifV0sWyJwYXRoIix7ZDoiTTcgMTAuNzU0YTggOCAwIDAgMSAxMCAwIn1dXX0pO3ZhciBtRCxWRGU9ZigoKT0+e21EPVtbInBhdGgiLHtkOiJNMTIuMzUgMjFINWEyIDIgMCAwIDEtMi0ydi05YTIgMiAwIDAgMSAuNzEtMS41M2w3LTZhMiAyIDAgMCAxIDIuNTggMGw3IDZBMiAyIDAgMCAxIDIxIDEwdjIuMzUifV0sWyJwYXRoIix7ZDoiTTE0LjggMTIuNEExIDEgMCAwIDAgMTQgMTJoLTRhMSAxIDAgMCAwLTEgMXY4In1dLFsicGF0aCIse2Q6Ik0xNSAxOGg2In1dLFsicGF0aCIse2Q6Ik0xOCAxNXY2In1dXX0pO3ZhciBwdSxqRGU9ZigoKT0+e3B1PVtbInBhdGgiLHtkOiJNMTUgMjF2LThhMSAxIDAgMCAwLTEtMWgtNGExIDEgMCAwIDAtMSAxdjgifV0sWyJwYXRoIix7ZDoiTTMgMTBhMiAyIDAgMCAxIC43MDktMS41MjhsNy02YTIgMiAwIDAgMSAyLjU4MiAwbDcgNkEyIDIgMCAwIDEgMjEgMTB2OWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnoifV1dfSk7dmFyIGZ1LFVEZT1mKCgpPT57ZnU9W1sicGF0aCIse2Q6Ik0xMiAxN2M1IDAgOC0yLjY5IDgtNkg0YzAgMy4zMSAzIDYgOCA2bS00IDRoOG0tNC0zdjNNNS4xNCAxMWEzLjUgMy41IDAgMSAxIDYuNzEgMCJ9XSxbInBhdGgiLHtkOiJNMTIuMTQgMTFhMy41IDMuNSAwIDEgMSA2LjcxIDAifV0sWyJwYXRoIix7ZDoiTTE1LjUgNi41YTMuNSAzLjUgMCAxIDAtNyAwIn1dXX0pO3ZhciBodSxXRGU9ZigoKT0+e2h1PVtbInBhdGgiLHtkOiJtNyAxMSA0LjA4IDEwLjM1YTEgMSAwIDAgMCAxLjg0IDBMMTcgMTEifV0sWyJwYXRoIix7ZDoiTTE3IDdBNSA1IDAgMCAwIDcgNyJ9XSxbInBhdGgiLHtkOiJNMTcgN2EyIDIgMCAwIDEgMCA0SDdhMiAyIDAgMCAxIDAtNCJ9XV19KTt2YXIgZ0QsR0RlPWYoKCk9PntnRD1bWyJwYXRoIix7ZDoiTTEzLjUgOGgtMyJ9XSxbInBhdGgiLHtkOiJtMTUgMi0xIDJoM2EyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJIN2EyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgzIn1dLFsicGF0aCIse2Q6Ik0xNi44OTkgMjJBNSA1IDAgMCAwIDcuMSAyMiJ9XSxbInBhdGgiLHtkOiJtOSAyIDMgNiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE1IixyOiIzIn1dXX0pO3ZhciBiRCxZRGU9ZigoKT0+e2JEPVtbInBhdGgiLHtkOiJNMTYgMTBoMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTRoMiJ9XSxbInBhdGgiLHtkOiJNNi4xNyAxNWEzIDMgMCAwIDEgNS42NiAwIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxMSIscjoiMiJ9XSxbInJlY3QiLHt4OiIyIix5OiI1Iix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciB2RCxLRGU9ZigoKT0+e3ZEPVtbInBhdGgiLHtkOiJNMTAuMyAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2MTBsLTMuMS0zLjFhMiAyIDAgMCAwLTIuODE0LjAxNEw2IDIxIn1dLFsicGF0aCIse2Q6Im0xNCAxOSAzIDN2LTUuNSJ9XSxbInBhdGgiLHtkOiJtMTcgMjIgMy0zIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI5IixyOiIyIn1dXX0pO3ZhciB4RCxaRGU9ZigoKT0+e3hEPVtbInBhdGgiLHtkOiJNMjEgOXYxMGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNyJ9XSxbImxpbmUiLHt4MToiMTYiLHgyOiIyMiIseTE6IjUiLHkyOiI1In1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI5IixyOiIyIn1dLFsicGF0aCIse2Q6Im0yMSAxNS0zLjA4Ni0zLjA4NmEyIDIgMCAwIDAtMi44MjggMEw2IDIxIn1dXX0pO3ZhciB5RCxYRGU9ZigoKT0+e3lEPVtbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dLFsicGF0aCIse2Q6Ik0xMC40MSAxMC40MWEyIDIgMCAxIDEtMi44My0yLjgzIn1dLFsibGluZSIse3gxOiIxMy41Iix4MjoiNiIseTE6IjEzLjUiLHkyOiIyMSJ9XSxbImxpbmUiLHt4MToiMTgiLHgyOiIyMSIseTE6IjEyIix5MjoiMTUifV0sWyJwYXRoIix7ZDoiTTMuNTkgMy41OUExLjk5IDEuOTkgMCAwIDAgMyA1djE0YTIgMiAwIDAgMCAyIDJoMTRjLjU1IDAgMS4wNTItLjIyIDEuNDEtLjU5In1dLFsicGF0aCIse2Q6Ik0yMSAxNVY1YTIgMiAwIDAgMC0yLTJIOSJ9XV19KTt2YXIgd0QsUURlPWYoKCk9Pnt3RD1bWyJwYXRoIix7ZDoiTTE1IDE1LjAwM2ExIDEgMCAwIDEgMS41MTctLjg1OWw0Ljk5NyAyLjk5N2ExIDEgMCAwIDEgMCAxLjcxOGwtNC45OTcgMi45OTdhMSAxIDAgMCAxLTEuNTE3LS44NnoifV0sWyJwYXRoIix7ZDoiTTIxIDEyLjE3VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg2In1dLFsicGF0aCIse2Q6Im02IDIxIDUtNSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiMiJ9XV19KTt2YXIgTUQsSkRlPWYoKCk9PntNRD1bWyJwYXRoIix7ZDoiTTE2IDVoNiJ9XSxbInBhdGgiLHtkOiJNMTkgMnY2In1dLFsicGF0aCIse2Q6Ik0yMSAxMS41VjE5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg3LjUifV0sWyJwYXRoIix7ZDoibTIxIDE1LTMuMDg2LTMuMDg2YTIgMiAwIDAgMC0yLjgyOCAwTDYgMjEifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV1dfSk7dmFyIGtELGVBZT1mKCgpPT57a0Q9W1sicGF0aCIse2Q6Ik0xMC4zIDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxMGwtMy4xLTMuMWEyIDIgMCAwIDAtMi44MTQuMDE0TDYgMjEifV0sWyJwYXRoIix7ZDoibTE0IDE5LjUgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTcgMjJ2LTUuNSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiMiJ9XV19KTt2YXIgU0QsdEFlPWYoKCk9PntTRD1bWyJwYXRoIix7ZDoiTTE2IDNoNXY1In1dLFsicGF0aCIse2Q6Ik0xNyAyMWgyYTIgMiAwIDAgMCAyLTIifV0sWyJwYXRoIix7ZDoiTTIxIDEydjMifV0sWyJwYXRoIix7ZDoibTIxIDMtNSA1In1dLFsicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yIn1dLFsicGF0aCIse2Q6Im01IDIxIDQuMTQ0LTQuMTQ0YTEuMjEgMS4yMSAwIDAgMSAxLjcxMiAwTDEzIDE5In1dLFsicGF0aCIse2Q6Ik05IDNoMyJ9XSxbInJlY3QiLHt4OiIzIix5OiIxMSIsd2lkdGg6IjEwIixoZWlnaHQ6IjEwIixyeDoiMSJ9XV19KTt2YXIgekQsYUFlPWYoKCk9Pnt6RD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV0sWyJwYXRoIix7ZDoibTIxIDE1LTMuMDg2LTMuMDg2YTIgMiAwIDAgMC0yLjgyOCAwTDYgMjEifV1dfSk7dmFyIENELHJBZT1mKCgpPT57Q0Q9W1sicGF0aCIse2Q6Im0yMiAxMS0xLjI5Ni0xLjI5NmEyLjQgMi40IDAgMCAwLTMuNDA4IDBMMTEgMTYifV0sWyJwYXRoIix7ZDoiTTQgOGEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMiJ9XSxbImNpcmNsZSIse2N4OiIxMyIsY3k6IjciLHI6IjEiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbInJlY3QiLHt4OiI4Iix5OiIyIix3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciBfRCxzQWU9ZigoKT0+e19EPVtbInBhdGgiLHtkOiJNMTIgM3YxMiJ9XSxbInBhdGgiLHtkOiJtOCAxMSA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik04IDVINGEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMlY3YTIgMiAwIDAgMC0yLTJoLTQifV1dfSk7dmFyIFRELGlBZT1mKCgpPT57VEQ9W1sicG9seWxpbmUiLHtwb2ludHM6IjIyIDEyIDE2IDEyIDE0IDE1IDEwIDE1IDggMTIgMiAxMiJ9XSxbInBhdGgiLHtkOiJNNS40NSA1LjExIDIgMTJ2NmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTZsLTMuNDUtNi44OUEyIDIgMCAwIDAgMTYuNzYgNEg3LjI0YTIgMiAwIDAgMC0xLjc5IDEuMTF6In1dXX0pO3ZhciBMRCxvQWU9ZigoKT0+e0xEPVtbInBhdGgiLHtkOiJNNiAzaDEyIn1dLFsicGF0aCIse2Q6Ik02IDhoMTIifV0sWyJwYXRoIix7ZDoibTYgMTMgOC41IDgifV0sWyJwYXRoIix7ZDoiTTYgMTNoMyJ9XSxbInBhdGgiLHtkOiJNOSAxM2M2LjY2NyAwIDYuNjY3LTEwIDAtMTAifV1dfSk7dmFyICRELG5BZT1mKCgpPT57JEQ9W1sicGF0aCIse2Q6Ik02IDE2YzUgMCA3LTggMTItOGE0IDQgMCAwIDEgMCA4Yy01IDAtNy04LTEyLThhNCA0IDAgMSAwIDAgOCJ9XV19KTt2YXIgREQsbEFlPWYoKCk9PntERD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDE2di00In1dLFsicGF0aCIse2Q6Ik0xMiA4aC4wMSJ9XV19KTt2YXIgQUQsY0FlPWYoKCk9PntBRD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyA3aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgN2guMDEifV0sWyJwYXRoIix7ZDoiTTcgMTdoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNyAxN2guMDEifV1dfSk7dmFyIFBELGRBZT1mKCgpPT57UEQ9W1sibGluZSIse3gxOiIxOSIseDI6IjEwIix5MToiNCIseTI6IjQifV0sWyJsaW5lIix7eDE6IjE0Iix4MjoiNSIseTE6IjIwIix5MjoiMjAifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiOSIseTE6IjQiLHkyOiIyMCJ9XV19KTt2YXIgRUQsdUFlPWYoKCk9PntFRD1bWyJwYXRoIix7ZDoibTE2IDE0IDQgNC00IDQifV0sWyJwYXRoIix7ZDoiTTIwIDEwYTggOCAwIDEgMC04IDhoOCJ9XV19KTt2YXIgSUQscEFlPWYoKCk9PntJRD1bWyJwYXRoIix7ZDoiTTQgMTBhOCA4IDAgMSAxIDggOEg0In1dLFsicGF0aCIse2Q6Im04IDIyLTQtNCA0LTQifV1dfSk7dmFyIE5ELGZBZT1mKCgpPT57TkQ9W1sicGF0aCIse2Q6Ik0xMiA5LjVWMjFtMC0xMS41TDYgM202IDYuNUwxOCAzIn1dLFsicGF0aCIse2Q6Ik02IDE1aDEyIn1dLFsicGF0aCIse2Q6Ik02IDExaDEyIn1dXX0pO3ZhciBSRCxoQWU9ZigoKT0+e1JEPVtbInBhdGgiLHtkOiJNMjEgMTdhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MmEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTJaIn1dLFsicGF0aCIse2Q6Ik02IDE1di0yIn1dLFsicGF0aCIse2Q6Ik0xMiAxNVY5In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNiIscjoiMyJ9XV19KTt2YXIgT0QsbUFlPWYoKCk9PntPRD1bWyJwYXRoIix7ZDoiTTUgM3YxNCJ9XSxbInBhdGgiLHtkOiJNMTIgM3Y4In1dLFsicGF0aCIse2Q6Ik0xOSAzdjE4In1dXX0pO3ZhciBGRCxnQWU9ZigoKT0+e0ZEPVtbInBhdGgiLHtkOiJNMTggMTdhMSAxIDAgMCAwLTEgMXYxYTIgMiAwIDEgMCAyLTJ6In1dLFsicGF0aCIse2Q6Ik0yMC45NyAzLjYxYS40NS40NSAwIDAgMC0uNTgtLjU4QzEwLjIgNi42IDYuNiAxMC4yIDMuMDMgMjAuMzlhLjQ1LjQ1IDAgMCAwIC41OC41OEMxMy44IDE3LjQgMTcuNCAxMy44IDIwLjk3IDMuNjEifV0sWyJwYXRoIix7ZDoibTYuNzA3IDYuNzA3IDEwLjU4NiAxMC41ODYifV0sWyJwYXRoIix7ZDoiTTcgNWEyIDIgMCAxIDAtMiAyaDFhMSAxIDAgMCAwIDEtMXoifV1dfSk7dmFyIEJELGJBZT1mKCgpPT57QkQ9W1sicGF0aCIse2Q6Ik0xMi40IDIuN2EyLjUgMi41IDAgMCAxIDMuNCAwbDUuNSA1LjVhMi41IDIuNSAwIDAgMSAwIDMuNGwtMy43IDMuN2EyLjUgMi41IDAgMCAxLTMuNCAwTDguNyA5LjhhMi41IDIuNSAwIDAgMSAwLTMuNHoifV0sWyJwYXRoIix7ZDoibTE0IDcgMyAzIn1dLFsicGF0aCIse2Q6Im05LjQgMTAuNi02LjgxNCA2LjgxNEEyIDIgMCAwIDAgMiAxOC44MjhWMjFhMSAxIDAgMCAwIDEgMWgzYTEgMSAwIDAgMCAxLTF2LTFhMSAxIDAgMCAxIDEtMWgxYTEgMSAwIDAgMCAxLTF2LTFhMSAxIDAgMCAxIDEtMWguMTcyYTIgMiAwIDAgMCAxLjQxNC0uNTg2bC44MTQtLjgxNCJ9XV19KTt2YXIgSEQsdkFlPWYoKCk9PntIRD1bWyJwYXRoIix7ZDoiTTIuNTg2IDE3LjQxNEEyIDIgMCAwIDAgMiAxOC44MjhWMjFhMSAxIDAgMCAwIDEgMWgzYTEgMSAwIDAgMCAxLTF2LTFhMSAxIDAgMCAxIDEtMWgxYTEgMSAwIDAgMCAxLTF2LTFhMSAxIDAgMCAxIDEtMWguMTcyYTIgMiAwIDAgMCAxLjQxNC0uNTg2bC44MTQtLjgxNGE2LjUgNi41IDAgMSAwLTQtNHoifV0sWyJjaXJjbGUiLHtjeDoiMTYuNSIsY3k6IjcuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XV19KTt2YXIgcUQseEFlPWYoKCk9PntxRD1bWyJwYXRoIix7ZDoibTE1LjUgNy41IDIuMyAyLjNhMSAxIDAgMCAwIDEuNCAwbDIuMS0yLjFhMSAxIDAgMCAwIDAtMS40TDE5IDQifV0sWyJwYXRoIix7ZDoibTIxIDItOS42IDkuNiJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiIxNS41IixyOiI1LjUifV1dfSk7dmFyIFZELHlBZT1mKCgpPT57VkQ9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTYgOGg0In1dLFsicGF0aCIse2Q6Ik0xNCA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOGguMDEifV0sWyJwYXRoIix7ZDoiTTIgMTJoMjAifV0sWyJwYXRoIix7ZDoiTTYgMTJ2NCJ9XSxbInBhdGgiLHtkOiJNMTAgMTJ2NCJ9XSxbInBhdGgiLHtkOiJNMTQgMTJ2NCJ9XSxbInBhdGgiLHtkOiJNMTggMTJ2NCJ9XV19KTt2YXIgakQsd0FlPWYoKCk9PntqRD1bWyJwYXRoIix7ZDoiTSAyMCA0IEEyIDIgMCAwIDEgMjIgNiJ9XSxbInBhdGgiLHtkOiJNIDIyIDYgTCAyMiAxNi40MSJ9XSxbInBhdGgiLHtkOiJNIDcgMTYgTCAxNiAxNiJ9XSxbInBhdGgiLHtkOiJNIDkuNjkgNCBMIDIwIDQifV0sWyJwYXRoIix7ZDoiTTE0IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCA4aC4wMSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMCAyMEg0YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yIn1dLFsicGF0aCIse2Q6Ik02IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDEyaC4wMSJ9XV19KTt2YXIgVUQsTUFlPWYoKCk9PntVRD1bWyJwYXRoIix7ZDoiTTEwIDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE0IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik02IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDE2aDEwIn1dLFsicGF0aCIse2Q6Ik04IDEyaC4wMSJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dXX0pO3ZhciBXRCxrQWU9ZigoKT0+e1dEPVtbInBhdGgiLHtkOiJNMTIgMnY1In1dLFsicGF0aCIse2Q6Ik0xNC44MjkgMTUuOTk4YTMgMyAwIDEgMS01LjY1OCAwIn1dLFsicGF0aCIse2Q6Ik0yMC45MiAxNC42MDZBMSAxIDAgMCAxIDIwIDE2SDRhMSAxIDAgMCAxLS45Mi0xLjM5NGwzLTdBMSAxIDAgMCAxIDcgN2gxMGExIDEgMCAwIDEgLjkyLjYwNnoifV1dfSk7dmFyIEdELFNBZT1mKCgpPT57R0Q9W1sicGF0aCIse2Q6Ik0xMC4yOTMgMi4yOTNhMSAxIDAgMCAxIDEuNDE0IDBsMi41IDIuNSA1Ljk5NCAxLjIyN2ExIDEgMCAwIDEgLjUwNiAxLjY4N2wtNyA3YTEgMSAwIDAgMS0xLjY4Ny0uNTA2bC0xLjIyNy01Ljk5NC0yLjUtMi41YTEgMSAwIDAgMSAwLTEuNDE0eiJ9XSxbInBhdGgiLHtkOiJtMTQuMjA3IDQuNzkzLTMuNDE0IDMuNDE0In1dLFsicGF0aCIse2Q6Ik0zIDIwYTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg0YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Im05LjA4NiA2LjUtNC43OTMgNC43OTNhMSAxIDAgMCAwLS4xOCAxLjE3TDcgMTgifV1dfSk7dmFyIFlELHpBZT1mKCgpPT57WUQ9W1sicGF0aCIse2Q6Ik0xMiAxMHYxMiJ9XSxbInBhdGgiLHtkOiJNMTcuOTI5IDcuNjI5QTEgMSAwIDAgMSAxNyA5SDdhMSAxIDAgMCAxLS45MjgtMS4zNzFsMi01QTEgMSAwIDAgMSA5IDJoNmExIDEgMCAwIDEgLjkyOC42Mjl6In1dLFsicGF0aCIse2Q6Ik05IDIyaDYifV1dfSk7dmFyIEtELENBZT1mKCgpPT57S0Q9W1sicGF0aCIse2Q6Ik0xOS45MjkgMTguNjI5QTEgMSAwIDAgMSAxOSAyMEg5YTEgMSAwIDAgMS0uOTI4LTEuMzcxbDItNUExIDEgMCAwIDEgMTEgMTNoNmExIDEgMCAwIDEgLjkyOC42Mjl6In1dLFsicGF0aCIse2Q6Ik02IDNhMiAyIDAgMCAxIDIgMnYyYTIgMiAwIDAgMS0yIDJINWExIDEgMCAwIDEtMS0xVjRhMSAxIDAgMCAxIDEtMXoifV0sWyJwYXRoIix7ZDoiTTggNmg0YTIgMiAwIDAgMSAyIDJ2NSJ9XV19KTt2YXIgWkQsX0FlPWYoKCk9PntaRD1bWyJwYXRoIix7ZDoiTTE5LjkyOSA5LjYyOUExIDEgMCAwIDEgMTkgMTFIOWExIDEgMCAwIDEtLjkyOC0xLjM3MWwyLTVBMSAxIDAgMCAxIDExIDRoNmExIDEgMCAwIDEgLjkyOC42Mjl6In1dLFsicGF0aCIse2Q6Ik02IDE1YTIgMiAwIDAgMSAyIDJ2MmEyIDIgMCAwIDEtMiAySDVhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNOCAxOGg0YTIgMiAwIDAgMCAyLTJ2LTUifV1dfSk7dmFyIFhELFRBZT1mKCgpPT57WEQ9W1sicGF0aCIse2Q6Ik0xMiAxMnY2In1dLFsicGF0aCIse2Q6Ik00LjA3NyAxMC42MTVBMSAxIDAgMCAwIDUgMTJoMTRhMSAxIDAgMCAwIC45MjMtMS4zODVsLTMuMDc3LTcuMzg0QTIgMiAwIDAgMCAxNSAySDlhMiAyIDAgMCAwLTEuODQ2IDEuMjNaIn1dLFsicGF0aCIse2Q6Ik04IDIwYTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg5YTEgMSAwIDAgMS0xLTF6In1dXX0pO3ZhciBRRCxMQWU9ZigoKT0+e1FEPVtbInBhdGgiLHtkOiJtMTIgOCA2LTMtNi0zdjEwIn1dLFsicGF0aCIse2Q6Im04IDExLjk5LTUuNSAzLjE0YTEgMSAwIDAgMCAwIDEuNzRsOC41IDQuODZhMiAyIDAgMCAwIDIgMGw4LjUtNC44NmExIDEgMCAwIDAgMC0xLjc0TDE2IDEyIn1dLFsicGF0aCIse2Q6Im02LjQ5IDEyLjg1IDExLjAyIDYuMyJ9XSxbInBhdGgiLHtkOiJNMTcuNTEgMTIuODUgNi41IDE5LjE1In1dXX0pO3ZhciBKRCwkQWU9ZigoKT0+e0pEPVtbInBhdGgiLHtkOiJNMTAgMTh2LTcifV0sWyJwYXRoIix7ZDoiTTExLjEyIDIuMTk4YTIgMiAwIDAgMSAxLjc2LjAwNmw3Ljg2NiAzLjg0N2MuNDc2LjIzMy4zMS45NDktLjIyLjk0OUgzLjQ3NGMtLjUzIDAtLjY5NS0uNzE2LS4yMi0uOTQ5eiJ9XSxbInBhdGgiLHtkOiJNMTQgMTh2LTcifV0sWyJwYXRoIix7ZDoiTTE4IDE4di03In1dLFsicGF0aCIse2Q6Ik0zIDIyaDE4In1dLFsicGF0aCIse2Q6Ik02IDE4di03In1dXX0pO3ZhciBlQSxEQWU9ZigoKT0+e2VBPVtbInBhdGgiLHtkOiJtNSA4IDYgNiJ9XSxbInBhdGgiLHtkOiJtNCAxNCA2LTYgMi0zIn1dLFsicGF0aCIse2Q6Ik0yIDVoMTIifV0sWyJwYXRoIix7ZDoiTTcgMmgxIn1dLFsicGF0aCIse2Q6Im0yMiAyMi01LTEwLTUgMTAifV0sWyJwYXRoIix7ZDoiTTE0IDE4aDYifV1dfSk7dmFyIHRBLEFBZT1mKCgpPT57dEE9W1sicGF0aCIse2Q6Ik0yIDIwaDIwIn1dLFsicGF0aCIse2Q6Im05IDEwIDIgMiA0LTQifV0sWyJyZWN0Iix7eDoiMyIseToiNCIsd2lkdGg6IjE4IixoZWlnaHQ6IjEyIixyeDoiMiJ9XV19KTt2YXIgbXUsUEFlPWYoKCk9PnttdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjEyIix4OiIzIix5OiI0IixyeDoiMiIscnk6IjIifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIwIix5MjoiMjAifV1dfSk7dmFyIGFBLEVBZT1mKCgpPT57YUE9W1sicGF0aCIse2Q6Ik0xOCA1YTIgMiAwIDAgMSAyIDJ2OC41MjZhMiAyIDAgMCAwIC4yMTIuODk3bDEuMDY4IDIuMTI3YTEgMSAwIDAgMS0uOSAxLjQ1SDMuNjJhMSAxIDAgMCAxLS45LTEuNDVsMS4wNjgtMi4xMjdBMiAyIDAgMCAwIDQgMTUuNTI2VjdhMiAyIDAgMCAxIDItMnoifV0sWyJwYXRoIix7ZDoiTTIwLjA1NCAxNS45ODdIMy45NDYifV1dfSk7dmFyIHJBLElBZT1mKCgpPT57ckE9W1sicGF0aCIse2Q6Ik03IDIyYTUgNSAwIDAgMS0yLTQifV0sWyJwYXRoIix7ZDoiTTcgMTYuOTNjLjk2LjQzIDEuOTYuNzQgMi45OS45MSJ9XSxbInBhdGgiLHtkOiJNMy4zNCAxNEE2LjggNi44IDAgMCAxIDIgMTBjMC00LjQyIDQuNDgtOCAxMC04czEwIDMuNTggMTAgOGE3LjE5IDcuMTkgMCAwIDEtLjMzIDIifV0sWyJwYXRoIix7ZDoiTTUgMThhMiAyIDAgMSAwIDAtNCAyIDIgMCAwIDAgMCA0eiJ9XSxbInBhdGgiLHtkOiJNMTQuMzMgMjJoLS4wOWEuMzUuMzUgMCAwIDEtLjI0LS4zMnYtMTBhLjM0LjM0IDAgMCAxIC4zMy0uMzRjLjA4IDAgLjE1LjAzLjIxLjA4bDcuMzQgNmEuMzMuMzMgMCAwIDEtLjIxLjU5aC00LjQ5bC0yLjU3IDMuODVhLjM1LjM1IDAgMCAxLS4yOC4xNHoifV1dfSk7dmFyIHNBLE5BZT1mKCgpPT57c0E9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xOCAxM2E2IDYgMCAwIDEtNiA1IDYgNiAwIDAgMS02LTVoMTJaIn1dLFsibGluZSIse3gxOiI5Iix4MjoiOS4wMSIseTE6IjkiLHkyOiI5In1dLFsibGluZSIse3gxOiIxNSIseDI6IjE1LjAxIix5MToiOSIseTI6IjkifV1dfSk7dmFyIGlBLFJBZT1mKCgpPT57aUE9W1sicGF0aCIse2Q6Ik0zLjcwNCAxNC40NjdhMTAgOCAwIDEgMSAzLjExNSAyLjM3NSJ9XSxbInBhdGgiLHtkOiJNNyAyMmE1IDUgMCAwIDEtMi0zLjk5NCJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTYiLHI6IjIifV1dfSk7dmFyIG9BLE9BZT1mKCgpPT57b0E9W1sicGF0aCIse2Q6Ik0xMyAxMy43NGEyIDIgMCAwIDEtMiAwTDIuNSA4Ljg3YTEgMSAwIDAgMSAwLTEuNzRMMTEgMi4yNmEyIDIgMCAwIDEgMiAwbDguNSA0Ljg3YTEgMSAwIDAgMSAwIDEuNzR6In1dLFsicGF0aCIse2Q6Im0yMCAxNC4yODUgMS41Ljg0NWExIDEgMCAwIDEgMCAxLjc0TDEzIDIxLjc0YTIgMiAwIDAgMS0yIDBsLTguNS00Ljg3YTEgMSAwIDAgMSAwLTEuNzRsMS41LS44NDUifV1dfSk7dmFyIG5BLEZBZT1mKCgpPT57bkE9W1sicGF0aCIse2Q6Ik0xMi44MyAyLjE4YTIgMiAwIDAgMC0xLjY2IDBMMi42IDYuMDhhMSAxIDAgMCAwIDAgMS44M2w4LjU4IDMuOTFhMiAyIDAgMCAwIC44My4xOCAyIDIgMCAwIDAgLjgzLS4xOGw4LjU4LTMuOWExIDEgMCAwIDAgMC0xLjgzMnoifV0sWyJwYXRoIix7ZDoiTTE2IDE3aDYifV0sWyJwYXRoIix7ZDoiTTIuMDAzIDExLjk5NWExIDEgMCAwIDAgLjU5Ny45MTVsOC41OCAzLjkxYTIgMiAwIDAgMCAuODMuMTgifV0sWyJwYXRoIix7ZDoiTTIuMDAzIDE2Ljk5NWExIDEgMCAwIDAgLjU5Ny45MTVsOC41OCAzLjkxYTIgMiAwIDAgMCAuODMuMTggMiAyIDAgMCAwIC44My0uMThsMi4xMS0uOTYifV0sWyJwYXRoIix7ZDoiTTIyLjAxOCAxMi4wMDRhMSAxIDAgMCAxLS41OTguOTE2bC0uMTc3LjA4In1dXX0pO3ZhciBsQSxCQWU9ZigoKT0+e2xBPVtbInBhdGgiLHtkOiJNMTIuODMgMi4xOGEyIDIgMCAwIDAtMS42NiAwTDIuNiA2LjA4YTEgMSAwIDAgMCAwIDEuODNsOC41OCAzLjkxYTIgMiAwIDAgMCAuODMuMTggMiAyIDAgMCAwIC44My0uMThsOC41OC0zLjlhMSAxIDAgMCAwIDAtMS44MzF6In1dLFsicGF0aCIse2Q6Ik0xNiAxN2g2In1dLFsicGF0aCIse2Q6Ik0xOSAxNHY2In1dLFsicGF0aCIse2Q6Ik0yIDEyYTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIC44MjUuMTc4In1dLFsicGF0aCIse2Q6Ik0yIDE3YTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIDEuNjUgMGwyLjExNi0uOTYyIn1dXX0pO3ZhciBjQSxIQWU9ZigoKT0+e2NBPVtbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI5Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI1Iix4OiIxNCIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiOSIseDoiMTQiLHk6IjEyIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI1Iix4OiIzIix5OiIxNiIscng6IjEifV1dfSk7dmFyIGd1LHFBZT1mKCgpPT57Z3U9W1sicGF0aCIse2Q6Ik0xMi44MyAyLjE4YTIgMiAwIDAgMC0xLjY2IDBMMi42IDYuMDhhMSAxIDAgMCAwIDAgMS44M2w4LjU4IDMuOTFhMiAyIDAgMCAwIDEuNjYgMGw4LjU4LTMuOWExIDEgMCAwIDAgMC0xLjgzeiJ9XSxbInBhdGgiLHtkOiJNMiAxMmExIDEgMCAwIDAgLjU4LjkxbDguNiAzLjkxYTIgMiAwIDAgMCAxLjY1IDBsOC41OC0zLjlBMSAxIDAgMCAwIDIyIDEyIn1dLFsicGF0aCIse2Q6Ik0yIDE3YTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIDEuNjUgMGw4LjU4LTMuOUExIDEgMCAwIDAgMjIgMTcifV1dfSk7dmFyIGRBLFZBZT1mKCgpPT57ZEE9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjMiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjE0Iix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIxNCIseToiMTQiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjMiLHk6IjE0IixyeDoiMSJ9XV19KTt2YXIgdUEsakFlPWYoKCk9Pnt1QT1bWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMyIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMyIseToiMTQiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xNCA0aDcifV0sWyJwYXRoIix7ZDoiTTE0IDloNyJ9XSxbInBhdGgiLHtkOiJNMTQgMTVoNyJ9XSxbInBhdGgiLHtkOiJNMTQgMjBoNyJ9XV19KTt2YXIgcEEsVUFlPWYoKCk9PntwQT1bWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjE0Iix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIxNCIseToiMTQiLHJ4OiIxIn1dXX0pO3ZhciBmQSxXQWU9ZigoKT0+e2ZBPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiNyIseDoiMyIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjkiLGhlaWdodDoiNyIseDoiMyIseToiMTQiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI1IixoZWlnaHQ6IjciLHg6IjE2Iix5OiIxNCIscng6IjEifV1dfSk7dmFyIGhBLEdBZT1mKCgpPT57aEE9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiI3Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIzIix5OiIxNCIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMTQiLHk6IjE0IixyeDoiMSJ9XV19KTt2YXIgbUEsWUFlPWYoKCk9PnttQT1bWyJwYXRoIix7ZDoiTTExIDIwQTcgNyAwIDAgMSA5LjggNi4xQzE1LjUgNSAxNyA0LjQ4IDE5IDJjMSAyIDIgNC4xOCAyIDggMCA1LjUtNC43OCAxMC0xMCAxMFoifV0sWyJwYXRoIix7ZDoiTTIgMjFjMC0zIDEuODUtNS4zNiA1LjA4LTZDOS41IDE0LjUyIDEyIDEzIDEzIDEyIn1dXX0pO3ZhciBnQSxLQWU9ZigoKT0+e2dBPVtbInBhdGgiLHtkOiJNMiAyMmMxLjI1LS45ODcgMi4yNy0xLjk3NSAzLjktMi4yYTUuNTYgNS41NiAwIDAgMSAzLjggMS41IDQgNCAwIDAgMCA2LjE4Ny0yLjM1MyAzLjUgMy41IDAgMCAwIDMuNjktNS4xMTZBMy41IDMuNSAwIDAgMCAyMC45NSA4IDMuNSAzLjUgMCAxIDAgMTYgMy4wNWEzLjUgMy41IDAgMCAwLTUuODMxIDEuMzczIDMuNSAzLjUgMCAwIDAtNS4xMTYgMy42OSA0IDQgMCAwIDAtMi4zNDggNi4xNTVDMy40OTkgMTUuNDIgNC40MDkgMTYuNzEyIDQuMiAxOC4xIDMuOTI2IDE5Ljc0MyAzLjAxNCAyMC43MzIgMiAyMiJ9XSxbInBhdGgiLHtkOiJNMiAyMiAxNyA3In1dXX0pO3ZhciBiQSxaQWU9ZigoKT0+e2JBPVtbInBhdGgiLHtkOiJNMTYgMTJoM2EyIDIgMCAwIDAgMS45MDItMS4zOGwxLjA1Ni0zLjMzM0ExIDEgMCAwIDAgMjEgNkgzYTEgMSAwIDAgMC0uOTU4IDEuMjg3bDEuMDU2IDMuMzM0QTIgMiAwIDAgMCA1IDEyaDMifV0sWyJwYXRoIix7ZDoiTTE4IDZWM2ExIDEgMCAwIDAtMS0xaC0zIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjEyIix4OiI4Iix5OiIxMCIscng6IjEifV1dfSk7dmFyIHZBLFhBZT1mKCgpPT57dkE9W1sicGF0aCIse2Q6Ik03IDJhMSAxIDAgMCAwLS44IDEuNiAxNCAxNCAwIDAgMSAwIDE2LjhBMSAxIDAgMCAwIDcgMjJoMTBhMSAxIDAgMCAwIC44LTEuNiAxNCAxNCAwIDAgMSAwLTE2LjhBMSAxIDAgMCAwIDE3IDJ6In1dXX0pO3ZhciB4QSxRQWU9ZigoKT0+e3hBPVtbInBhdGgiLHtkOiJNMTMuNDMzIDJhMSAxIDAgMCAxIC44MjQuNDQ4IDE4IDE4IDAgMCAxIDAgMTkuMTA0IDEgMSAwIDAgMS0uODI0LjQ0OGgtMi44NjZhMSAxIDAgMCAxLS44MjQtLjQ0OCAxOCAxOCAwIDAgMSAwLTE5LjEwNEExIDEgMCAwIDEgMTAuNTY3IDJ6In1dXX0pO3ZhciB5QSxKQWU9ZigoKT0+e3lBPVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoiTTcgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMjAuNCAxOC45Yy4yLjUtLjEgMS4xLS42IDEuM2wtMS45LjdjLS41LjItMS4xLS4xLTEuMy0uNkwxMS4xIDUuMWMtLjItLjUuMS0xLjEuNi0xLjNsMS45LS43Yy41LS4yIDEuMS4xIDEuMy42WiJ9XV19KTt2YXIgd0EsZVBlPWYoKCk9Pnt3QT1bWyJwYXRoIix7ZDoibTE2IDYgNCAxNCJ9XSxbInBhdGgiLHtkOiJNMTIgNnYxNCJ9XSxbInBhdGgiLHtkOiJNOCA4djEyIn1dLFsicGF0aCIse2Q6Ik00IDR2MTYifV1dfSk7dmFyIE1BLHRQZT1mKCgpPT57TUE9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im00LjkzIDQuOTMgNC4yNCA0LjI0In1dLFsicGF0aCIse2Q6Im0xNC44MyA5LjE3IDQuMjQtNC4yNCJ9XSxbInBhdGgiLHtkOiJtMTQuODMgMTQuODMgNC4yNCA0LjI0In1dLFsicGF0aCIse2Q6Im05LjE3IDE0LjgzLTQuMjQgNC4yNCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dXX0pO3ZhciBrQSxhUGU9ZigoKT0+e2tBPVtbInBhdGgiLHtkOiJNMTQgMTJoMnY4In1dLFsicGF0aCIse2Q6Ik0xNCAyMGg0In1dLFsicGF0aCIse2Q6Ik02IDEyaDQifV0sWyJwYXRoIix7ZDoiTTYgMjBoNCJ9XSxbInBhdGgiLHtkOiJNOCAyMFY4YTQgNCAwIDAgMSA3LjQ2NC0yIn1dXX0pO3ZhciBTQSxyUGU9ZigoKT0+e1NBPVtbInBhdGgiLHtkOiJNMTUgMTRjLjItMSAuNy0xLjcgMS41LTIuNSAxLS45IDEuNS0yLjIgMS41LTMuNUE2IDYgMCAwIDAgNiA4YzAgMSAuMiAyLjIgMS41IDMuNS43LjcgMS4zIDEuNSAxLjUgMi41In1dLFsicGF0aCIse2Q6Ik05IDE4aDYifV0sWyJwYXRoIix7ZDoiTTEwIDIyaDQifV1dfSk7dmFyIHpBLHNQZT1mKCgpPT57ekE9W1sicGF0aCIse2Q6Ik0xNi44IDExLjJjLjgtLjkgMS4yLTIgMS4yLTMuMmE2IDYgMCAwIDAtOS4zLTUifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNi4zIDYuM2E0LjY3IDQuNjcgMCAwIDAgMS4yIDUuMmMuNy43IDEuMyAxLjUgMS41IDIuNSJ9XSxbInBhdGgiLHtkOiJNOSAxOGg2In1dLFsicGF0aCIse2Q6Ik0xMCAyMmg0In1dXX0pO3ZhciBDQSxpUGU9ZigoKT0+e0NBPVtbInBhdGgiLHtkOiJNIDMgMTIgTCAxNSAxMiJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjEyIixyOiIzIn1dXX0pO3ZhciBfQSxvUGU9ZigoKT0+e19BPVtbInBhdGgiLHtkOiJNMTEgNWgyIn1dLFsicGF0aCIse2Q6Ik0xNSAxMmg2In1dLFsicGF0aCIse2Q6Ik0xOSA1aDIifV0sWyJwYXRoIix7ZDoiTTMgMTJoNiJ9XSxbInBhdGgiLHtkOiJNMyAxOWgxOCJ9XSxbInBhdGgiLHtkOiJNMyA1aDIifV1dfSk7dmFyIFRBLG5QZT1mKCgpPT57VEE9W1sicGF0aCIse2Q6Ik03IDMuNWM1LTIgNyAyLjUgMyA0QzEuNSAxMCAyIDE1IDUgMTZjNSAyIDktMTAgMTQtN3MuNSAxMy41LTQgMTJjLTUtMi41LjUtMTEgNi0yIn1dXX0pO3ZhciBMQSxsUGU9ZigoKT0+e0xBPVtbInBhdGgiLHtkOiJNOSAxN0g3QTUgNSAwIDAgMSA3IDcifV0sWyJwYXRoIix7ZDoiTTE1IDdoMmE1IDUgMCAwIDEgNCA4In1dLFsibGluZSIse3gxOiI4Iix4MjoiMTIiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dfSk7dmFyICRBLGNQZT1mKCgpPT57JEE9W1sicGF0aCIse2Q6Ik05IDE3SDdBNSA1IDAgMCAxIDcgN2gyIn1dLFsicGF0aCIse2Q6Ik0xNSA3aDJhNSA1IDAgMSAxIDAgMTBoLTIifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNiIseTE6IjEyIix5MjoiMTIifV1dfSk7dmFyIERBLGRQZT1mKCgpPT57REE9W1sicGF0aCIse2Q6Ik0xMCAxM2E1IDUgMCAwIDAgNy41NC41NGwzLTNhNSA1IDAgMCAwLTcuMDctNy4wN2wtMS43MiAxLjcxIn1dLFsicGF0aCIse2Q6Ik0xNCAxMWE1IDUgMCAwIDAtNy41NC0uNTRsLTMgM2E1IDUgMCAwIDAgNy4wNyA3LjA3bDEuNzEtMS43MSJ9XV19KTt2YXIgQUEsdVBlPWYoKCk9PntBQT1bWyJwYXRoIix7ZDoiTTE2IDVIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMTEgMTlIMyJ9XSxbInBhdGgiLHtkOiJtMTUgMTggMiAyIDQtNCJ9XV19KTt2YXIgUEEscFBlPWYoKCk9PntQQT1bWyJwYXRoIix7ZDoiTTEzIDVoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTloOCJ9XSxbInBhdGgiLHtkOiJtMyAxNyAyIDIgNC00In1dLFsicGF0aCIse2Q6Im0zIDcgMiAyIDQtNCJ9XV19KTt2YXIgRUEsZlBlPWYoKCk9PntFQT1bWyJwYXRoIix7ZDoiTTMgNWg4In1dLFsicGF0aCIse2Q6Ik0zIDEyaDgifV0sWyJwYXRoIix7ZDoiTTMgMTloOCJ9XSxbInBhdGgiLHtkOiJtMTUgNSAzIDMgMy0zIn1dLFsicGF0aCIse2Q6Im0xNSAxOSAzLTMgMyAzIn1dXX0pO3ZhciBJQSxoUGU9ZigoKT0+e0lBPVtbInBhdGgiLHtkOiJNMyA1aDgifV0sWyJwYXRoIix7ZDoiTTMgMTJoOCJ9XSxbInBhdGgiLHtkOiJNMyAxOWg4In1dLFsicGF0aCIse2Q6Im0xNSA4IDMtMyAzIDMifV0sWyJwYXRoIix7ZDoibTE1IDE2IDMgMyAzLTMifV1dfSk7dmFyIE5BLG1QZT1mKCgpPT57TkE9W1sicGF0aCIse2Q6Ik0xMCA1aDExIn1dLFsicGF0aCIse2Q6Ik0xMCAxMmgxMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTloMTEifV0sWyJwYXRoIix7ZDoibTMgMTAgMy0zLTMtMyJ9XSxbInBhdGgiLHtkOiJtMyAyMCAzLTMtMy0zIn1dXX0pO3ZhciBSQSxnUGU9ZigoKT0+e1JBPVtbInBhdGgiLHtkOiJNMTYgNUgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxMkgzIn1dLFsicGF0aCIse2Q6Ik05IDE5SDMifV0sWyJwYXRoIix7ZDoibTE2IDE2LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoiTTIxIDV2MTJhMiAyIDAgMCAxLTIgMmgtNiJ9XV19KTt2YXIgT0EsYlBlPWYoKCk9PntPQT1bWyJwYXRoIix7ZDoiTTEyIDVIMiJ9XSxbInBhdGgiLHtkOiJNNiAxMmgxMiJ9XSxbInBhdGgiLHtkOiJNOSAxOWg2In1dLFsicGF0aCIse2Q6Ik0xNiA1aDYifV0sWyJwYXRoIix7ZDoiTTE5IDhWMiJ9XV19KTt2YXIgRkEsdlBlPWYoKCk9PntGQT1bWyJwYXRoIix7ZDoiTTIgNWgyMCJ9XSxbInBhdGgiLHtkOiJNNiAxMmgxMiJ9XSxbInBhdGgiLHtkOiJNOSAxOWg2In1dXX0pO3ZhciByYyx4UGU9ZigoKT0+e3JjPVtbInBhdGgiLHtkOiJNMjEgNUgxMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJIMTEifV0sWyJwYXRoIix7ZDoiTTIxIDE5SDExIn1dLFsicGF0aCIse2Q6Im03IDgtNCA0IDQgNCJ9XV19KTt2YXIgc2MseVBlPWYoKCk9PntzYz1bWyJwYXRoIix7ZDoiTTIxIDVIMTEifV0sWyJwYXRoIix7ZDoiTTIxIDEySDExIn1dLFsicGF0aCIse2Q6Ik0yMSAxOUgxMSJ9XSxbInBhdGgiLHtkOiJtMyA4IDQgNC00IDQifV1dfSk7dmFyIEJBLHdQZT1mKCgpPT57QkE9W1sicGF0aCIse2Q6Ik0xNiA1SDMifV0sWyJwYXRoIix7ZDoiTTExIDEySDMifV0sWyJwYXRoIix7ZDoiTTE2IDE5SDMifV0sWyJwYXRoIix7ZDoiTTIxIDEyaC02In1dXX0pO3ZhciBIQSxNUGU9ZigoKT0+e0hBPVtbInBhdGgiLHtkOiJNMTYgNUgzIn1dLFsicGF0aCIse2Q6Ik0xMSAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xMSAxOUgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxNlY1In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTYiLHI6IjMifV1dfSk7dmFyIHFBLGtQZT1mKCgpPT57cUE9W1sicGF0aCIse2Q6Ik0xMSA1aDEwIn1dLFsicGF0aCIse2Q6Ik0xMSAxMmgxMCJ9XSxbInBhdGgiLHtkOiJNMTEgMTloMTAifV0sWyJwYXRoIix7ZDoiTTQgNGgxdjUifV0sWyJwYXRoIix7ZDoiTTQgOWgyIn1dLFsicGF0aCIse2Q6Ik02LjUgMjBIMy40YzAtMSAyLjYtMS45MjUgMi42LTMuNWExLjUgMS41IDAgMCAwLTIuNi0xLjAyIn1dXX0pO3ZhciBWQSxTUGU9ZigoKT0+e1ZBPVtbInBhdGgiLHtkOiJNMTYgNUgzIn1dLFsicGF0aCIse2Q6Ik0xMSAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOUgzIn1dLFsicGF0aCIse2Q6Ik0xOCA5djYifV0sWyJwYXRoIix7ZDoiTTIxIDEyaC02In1dXX0pO3ZhciBqQSx6UGU9ZigoKT0+e2pBPVtbInBhdGgiLHtkOiJNMjEgNUgzIn1dLFsicGF0aCIse2Q6Ik03IDEySDMifV0sWyJwYXRoIix7ZDoiTTcgMTlIMyJ9XSxbInBhdGgiLHtkOiJNMTIgMThhNSA1IDAgMCAwIDktMyA0LjUgNC41IDAgMCAwLTQuNS00LjVjLTEuMzMgMC0yLjU0LjU0LTMuNDEgMS40MUwxMSAxNCJ9XSxbInBhdGgiLHtkOiJNMTEgMTB2NGg0In1dXX0pO3ZhciBVQSxDUGU9ZigoKT0+e1VBPVtbInBhdGgiLHtkOiJNMyA1aDYifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTMifV0sWyJwYXRoIix7ZDoiTTMgMTloMTMifV0sWyJwYXRoIix7ZDoibTE2IDgtMy0zIDMtMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTlWN2EyIDIgMCAwIDAtMi0yaC02In1dXX0pO3ZhciBXQSxfUGU9ZigoKT0+e1dBPVtbInBhdGgiLHtkOiJNMTMgNWg4In1dLFsicGF0aCIse2Q6Ik0xMyAxMmg4In1dLFsicGF0aCIse2Q6Ik0xMyAxOWg4In1dLFsicGF0aCIse2Q6Im0zIDE3IDIgMiA0LTQifV0sWyJyZWN0Iix7eDoiMyIseToiNCIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEifV1dfSk7dmFyIEdBLFRQZT1mKCgpPT57R0E9W1sicGF0aCIse2Q6Ik04IDVoMTMifV0sWyJwYXRoIix7ZDoiTTEzIDEyaDgifV0sWyJwYXRoIix7ZDoiTTEzIDE5aDgifV0sWyJwYXRoIix7ZDoiTTMgMTBhMiAyIDAgMCAwIDIgMmgzIn1dLFsicGF0aCIse2Q6Ik0zIDV2MTJhMiAyIDAgMCAwIDIgMmgzIn1dXX0pO3ZhciBZQSxMUGU9ZigoKT0+e1lBPVtbInBhdGgiLHtkOiJNMjEgNUgzIn1dLFsicGF0aCIse2Q6Ik0xMCAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xMCAxOUgzIn1dLFsicGF0aCIse2Q6Ik0xNSAxMi4wMDNhMSAxIDAgMCAxIDEuNTE3LS44NTlsNC45OTcgMi45OTdhMSAxIDAgMCAxIDAgMS43MThsLTQuOTk3IDIuOTk3YTEgMSAwIDAgMS0xLjUxNy0uODZ6In1dXX0pO3ZhciBLQSwkUGU9ZigoKT0+e0tBPVtbInBhdGgiLHtkOiJNMTYgNUgzIn1dLFsicGF0aCIse2Q6Ik0xMSAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOUgzIn1dLFsicGF0aCIse2Q6Im0xNS41IDkuNSA1IDUifV0sWyJwYXRoIix7ZDoibTIwLjUgOS41LTUgNSJ9XV19KTt2YXIgWkEsRFBlPWYoKCk9PntaQT1bWyJwYXRoIix7ZDoiTTMgNWguMDEifV0sWyJwYXRoIix7ZDoiTTMgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0zIDE5aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCA1aDEzIn1dLFsicGF0aCIse2Q6Ik04IDEyaDEzIn1dLFsicGF0aCIse2Q6Ik04IDE5aDEzIn1dXX0pO3ZhciBidSxBUGU9ZigoKT0+e2J1PVtbInBhdGgiLHtkOiJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYifV1dfSk7dmFyIFhBLFBQZT1mKCgpPT57WEE9W1sicGF0aCIse2Q6Ik0yMiAxMmExIDEgMCAwIDEtMTAgMCAxIDEgMCAwIDAtMTAgMCJ9XSxbInBhdGgiLHtkOiJNNyAyMC43YTEgMSAwIDEgMSA1LTguNyAxIDEgMCAxIDAgNS04LjYifV0sWyJwYXRoIix7ZDoiTTcgMy4zYTEgMSAwIDEgMSA1IDguNiAxIDEgMCAxIDAgNSA4LjYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dfSk7dmFyIFFBLEVQZT1mKCgpPT57UUE9W1sicGF0aCIse2Q6Ik0xMiAydjQifV0sWyJwYXRoIix7ZDoibTE2LjIgNy44IDIuOS0yLjkifV0sWyJwYXRoIix7ZDoiTTE4IDEyaDQifV0sWyJwYXRoIix7ZDoibTE2LjIgMTYuMiAyLjkgMi45In1dLFsicGF0aCIse2Q6Ik0xMiAxOHY0In1dLFsicGF0aCIse2Q6Im00LjkgMTkuMSAyLjktMi45In1dLFsicGF0aCIse2Q6Ik0yIDEyaDQifV0sWyJwYXRoIix7ZDoibTQuOSA0LjkgMi45IDIuOSJ9XV19KTt2YXIgSkEsSVBlPWYoKCk9PntKQT1bWyJsaW5lIix7eDE6IjIiLHgyOiI1Iix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTkiLHgyOiIyMiIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIyIix5MjoiNSJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjE5Iix5MjoiMjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dXX0pO3ZhciBlUCxOUGU9ZigoKT0+e2VQPVtbInBhdGgiLHtkOiJNMTIgMTl2MyJ9XSxbInBhdGgiLHtkOiJNMTIgMnYzIn1dLFsicGF0aCIse2Q6Ik0xOC44OSAxMy4yNGE3IDcgMCAwIDAtOC4xMy04LjEzIn1dLFsicGF0aCIse2Q6Ik0xOSAxMmgzIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNy4wNSA3LjA1YTcgNyAwIDAgMCA5LjkgOS45In1dXX0pO3ZhciB0UCxSUGU9ZigoKT0+e3RQPVtbImxpbmUiLHt4MToiMiIseDI6IjUiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxOSIseDI6IjIyIix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjIiLHkyOiI1In1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMTkiLHkyOiIyMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI3In1dXX0pO3ZhciB2dSxPUGU9ZigoKT0+e3Z1PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE2IixyOiIxIn1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxMiIseDoiMyIseToiMTAiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDEwVjdhNSA1IDAgMCAxIDkuMzMtMi41In1dXX0pO3ZhciBhUCxGUGU9ZigoKT0+e2FQPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE2IixyOiIxIn1dLFsicmVjdCIse3g6IjMiLHk6IjEwIix3aWR0aDoiMTgiLGhlaWdodDoiMTIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDEwVjdhNSA1IDAgMCAxIDEwIDB2MyJ9XV19KTt2YXIgeHUsQlBlPWYoKCk9Pnt4dT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjExIix4OiIzIix5OiIxMSIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik03IDExVjdhNSA1IDAgMCAxIDkuOS0xIn1dXX0pO3ZhciByUCxIUGU9ZigoKT0+e3JQPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTEiLHg6IjMiLHk6IjExIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTFWN2E1IDUgMCAwIDEgMTAgMHY0In1dXX0pO3ZhciBzUCxxUGU9ZigoKT0+e3NQPVtbInBhdGgiLHtkOiJtMTAgMTcgNS01LTUtNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMTUgM2g0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMmgtNCJ9XV19KTt2YXIgaVAsVlBlPWYoKCk9PntpUD1bWyJwYXRoIix7ZDoibTE2IDE3IDUtNS01LTUifV0sWyJwYXRoIix7ZDoiTTIxIDEySDkifV0sWyJwYXRoIix7ZDoiTTkgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg0In1dXX0pO3ZhciBvUCxqUGU9ZigoKT0+e29QPVtbInBhdGgiLHtkOiJNMyA1aDEifV0sWyJwYXRoIix7ZDoiTTMgMTJoMSJ9XSxbInBhdGgiLHtkOiJNMyAxOWgxIn1dLFsicGF0aCIse2Q6Ik04IDVoMSJ9XSxbInBhdGgiLHtkOiJNOCAxMmgxIn1dLFsicGF0aCIse2Q6Ik04IDE5aDEifV0sWyJwYXRoIix7ZDoiTTEzIDVoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTloOCJ9XV19KTt2YXIgblAsVVBlPWYoKCk9PntuUD1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtNC4zLTQuMyJ9XSxbInBhdGgiLHtkOiJNMTEgMTFhMiAyIDAgMCAwIDQgMCA0IDQgMCAwIDAtOCAwIDYgNiAwIDAgMCAxMiAwIn1dXX0pO3ZhciBsUCxXUGU9ZigoKT0+e2xQPVtbInBhdGgiLHtkOiJNNiAyMGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTggMThWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYxNCJ9XSxbInBhdGgiLHtkOiJNMTAgMjBoNCJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjIwIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjgiLGN5OiIyMCIscjoiMiJ9XV19KTt2YXIgY1AsR1BlPWYoKCk9PntjUD1bWyJwYXRoIix7ZDoiTTIyIDEzVjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTJjMCAxLjEuOSAyIDIgMmg4In1dLFsicGF0aCIse2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3In1dLFsicGF0aCIse2Q6Im0xNiAxOSAyIDIgNC00In1dXX0pO3ZhciBkUCxZUGU9ZigoKT0+e2RQPVtbInBhdGgiLHtkOiJtMTIgMTUgNCA0In1dLFsicGF0aCIse2Q6Ik0yLjM1MiAxMC42NDhhMS4yMDUgMS4yMDUgMCAwIDAgMCAxLjcwNGwyLjI5NiAyLjI5NmExLjIwNSAxLjIwNSAwIDAgMCAxLjcwNCAwbDYuMDI5LTYuMDI5YTEgMSAwIDEgMSAzIDNsLTYuMDI5IDYuMDI5YTEuMjA1IDEuMjA1IDAgMCAwIDAgMS43MDRsMi4yOTYgMi4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMS43MDQgMGw2LjM2NS02LjM2N0ExIDEgMCAwIDAgOC43MTYgNC4yODJ6In1dLFsicGF0aCIse2Q6Im01IDggNCA0In1dXX0pO3ZhciB1UCxLUGU9ZigoKT0+e3VQPVtbInBhdGgiLHtkOiJNMjIgMTVWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDgifV0sWyJwYXRoIix7ZDoibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDcifV0sWyJwYXRoIix7ZDoiTTE2IDE5aDYifV1dfSk7dmFyIHBQLFpQZT1mKCgpPT57cFA9W1sicGF0aCIse2Q6Ik0yMS4yIDguNGMuNS4zOC44Ljk3LjggMS42djEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjEwYTIgMiAwIDAgMSAuOC0xLjZsOC02YTIgMiAwIDAgMSAyLjQgMGw4IDZaIn1dLFsicGF0aCIse2Q6Im0yMiAxMC04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgMTAifV1dfSk7dmFyIGZQLFhQZT1mKCgpPT57ZlA9W1sicGF0aCIse2Q6Ik0yMiAxM1Y2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoOCJ9XSxbInBhdGgiLHtkOiJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2NiJ9XSxbInBhdGgiLHtkOiJNMTYgMTloNiJ9XV19KTt2YXIgeXUsUVBlPWYoKCk9Pnt5dT1bWyJwYXRoIix7ZDoiTTIyIDEwLjVWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDEyLjUifV0sWyJwYXRoIix7ZDoibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDcifV0sWyJwYXRoIix7ZDoiTTE4IDE1LjI4Yy4yLS40LjUtLjguOS0xYTIuMSAyLjEgMCAwIDEgMi42LjRjLjMuNC41LjguNSAxLjMgMCAxLjMtMiAyLTIgMiJ9XSxbInBhdGgiLHtkOiJNMjAgMjJ2LjAxIn1dXX0pO3ZhciBoUCxKUGU9ZigoKT0+e2hQPVtbInBhdGgiLHtkOiJNMjIgMTIuNVY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoNy41In1dLFsicGF0aCIse2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3In1dLFsicGF0aCIse2Q6Ik0xOCAyMWEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZaIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoibTIyIDIyLTEuNS0xLjUifV1dfSk7dmFyIG1QLGVFZT1mKCgpPT57bVA9W1sicGF0aCIse2Q6Ik0yMiAxMC41VjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxMi41In1dLFsicGF0aCIse2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3In1dLFsicGF0aCIse2Q6Ik0yMCAxNHY0In1dLFsicGF0aCIse2Q6Ik0yMCAyMnYuMDEifV1dfSk7dmFyIGdQLHRFZT1mKCgpPT57Z1A9W1sicGF0aCIse2Q6Ik0yMiAxM1Y2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoOSJ9XSxbInBhdGgiLHtkOiJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyJ9XSxbInBhdGgiLHtkOiJtMTcgMTcgNCA0In1dLFsicGF0aCIse2Q6Im0yMSAxNy00IDQifV1dfSk7dmFyIGJQLGFFZT1mKCgpPT57YlA9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY5LjVDMiA3IDQgNSA2LjUgNUgxOGMyLjIgMCA0IDEuOCA0IDR2OFoifV0sWyJwb2x5bGluZSIse3BvaW50czoiMTUsOSAxOCw5IDE4LDExIn1dLFsicGF0aCIse2Q6Ik02LjUgNUM5IDUgMTEgNyAxMSA5LjVWMTdhMiAyIDAgMCAxLTIgMiJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjciLHkxOiIxMCIseTI6IjEwIn1dXX0pO3ZhciB2UCxyRWU9ZigoKT0+e3ZQPVtbInBhdGgiLHtkOiJtMjIgNy04Ljk5MSA1LjcyN2EyIDIgMCAwIDEtMi4wMDkgMEwyIDcifV0sWyJyZWN0Iix7eDoiMiIseToiNCIsd2lkdGg6IjIwIixoZWlnaHQ6IjE2IixyeDoiMiJ9XV19KTt2YXIgeFAsc0VlPWYoKCk9Pnt4UD1bWyJwYXRoIix7ZDoiTTE3IDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi04YTIgMiAwIDAgMSAxLTEuNzMyIn1dLFsicGF0aCIse2Q6Im0yMiA1LjUtNi40MTkgNC4xNzlhMiAyIDAgMCAxLTIuMTYyIDBMNyA1LjUifV0sWyJyZWN0Iix7eDoiNyIseToiMyIsd2lkdGg6IjE1IixoZWlnaHQ6IjEyIixyeDoiMiJ9XV19KTt2YXIgeVAsaUVlPWYoKCk9Pnt5UD1bWyJwYXRoIix7ZDoibTExIDE5LTEuMTA2LS41NTJhMiAyIDAgMCAwLTEuNzg4IDBsLTMuNjU5IDEuODNBMSAxIDAgMCAxIDMgMTkuMzgxVjYuNjE4YTEgMSAwIDAgMSAuNTUzLS44OTRsNC41NTMtMi4yNzdhMiAyIDAgMCAxIDEuNzg4IDBsNC4yMTIgMi4xMDZhMiAyIDAgMCAwIDEuNzg4IDBsMy42NTktMS44M0ExIDEgMCAwIDEgMjEgNC42MTlWMTQifV0sWyJwYXRoIix7ZDoiTTE1IDUuNzY0VjE0In1dLFsicGF0aCIse2Q6Ik0yMSAxOGgtNiJ9XSxbInBhdGgiLHtkOiJNOSAzLjIzNnYxNSJ9XV19KTt2YXIgd1Asb0VlPWYoKCk9Pnt3UD1bWyJwYXRoIix7ZDoiTTIwIDEwYzAgNC45OTMtNS41MzkgMTAuMTkzLTcuMzk5IDExLjc5OWExIDEgMCAwIDEtMS4yMDIgMEM5LjUzOSAyMC4xOTMgNCAxNC45OTMgNCAxMGE4IDggMCAwIDEgMTYgMCJ9XSxbInBhdGgiLHtkOiJtOSAxMCAyIDIgNC00In1dXX0pO3ZhciBNUCxuRWU9ZigoKT0+e01QPVtbInBhdGgiLHtkOiJNMTkuNDMgMTIuOTM1Yy4zNTctLjk2Ny41Ny0xLjk1NS41Ny0yLjkzNWE4IDggMCAwIDAtMTYgMGMwIDQuOTkzIDUuNTM5IDEwLjE5MyA3LjM5OSAxMS43OTlhMSAxIDAgMCAwIDEuMjAyIDAgMzIuMTk3IDMyLjE5NyAwIDAgMCAuODEzLS43MjgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMTYgMTggMiAyIDQtNCJ9XV19KTt2YXIga1AsbEVlPWYoKCk9PntrUD1bWyJwYXRoIix7ZDoiTTE1IDIyYTEgMSAwIDAgMS0xLTF2LTRhMSAxIDAgMCAxIC40NDUtLjgzMmwzLTJhMSAxIDAgMCAxIDEuMTEgMGwzIDJBMSAxIDAgMCAxIDIyIDE3djRhMSAxIDAgMCAxLTEgMXoifV0sWyJwYXRoIix7ZDoiTTE4IDEwYTggOCAwIDAgMC0xNiAwYzAgNC45OTMgNS41MzkgMTAuMTkzIDcuMzk5IDExLjc5OWExIDEgMCAwIDAgLjYwMS4yIn1dLFsicGF0aCIse2Q6Ik0xOCAyMnYtMyJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjEwIixyOiIzIn1dXX0pO3ZhciBTUCxjRWU9ZigoKT0+e1NQPVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsicGF0aCIse2Q6Ik05IDEwaDYifV1dfSk7dmFyIHpQLGRFZT1mKCgpPT57elA9W1sicGF0aCIse2Q6Ik0xOC45NzcgMTRDMTkuNiAxMi43MDEgMjAgMTEuMzQzIDIwIDEwYTggOCAwIDAgMC0xNiAwYzAgNC45OTMgNS41MzkgMTAuMTkzIDcuMzk5IDExLjc5OWExIDEgMCAwIDAgMS4yMDIgMCAzMiAzMiAwIDAgMCAuODI0LS43MzgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTYgMThoNiJ9XV19KTt2YXIgQ1AsdUVlPWYoKCk9PntDUD1bWyJwYXRoIix7ZDoiTTEyLjc1IDcuMDlhMyAzIDAgMCAxIDIuMTYgMi4xNiJ9XSxbInBhdGgiLHtkOiJNMTcuMDcyIDE3LjA3MmMtMS42MzQgMi4xNy0zLjUyNyAzLjkxMi00LjQ3MSA0LjcyN2ExIDEgMCAwIDEtMS4yMDIgMEM5LjUzOSAyMC4xOTMgNCAxNC45OTMgNCAxMGE4IDggMCAwIDEgMS40MzItNC41NjgifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOC40NzUgMi44MThBOCA4IDAgMCAxIDIwIDEwYzAgMS4xODMtLjMxIDIuMzc3LS44MSAzLjUzMyJ9XSxbInBhdGgiLHtkOiJNOS4xMyA5LjEzYTMgMyAwIDAgMCAzLjc0IDMuNzQifV1dfSk7dmFyIHd1LHBFZT1mKCgpPT57d3U9W1sicGF0aCIse2Q6Ik0xNy45NyA5LjMwNEE4IDggMCAwIDAgMiAxMGMwIDQuNjkgNC44ODcgOS41NjIgNy4wMjIgMTEuNDY4In1dLFsicGF0aCIse2Q6Ik0yMS4zNzggMTYuNjI2YTEgMSAwIDAgMC0zLjAwNC0zLjAwNGwtNC4wMSA0LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiIxMCIscjoiMyJ9XV19KTt2YXIgX1AsZkVlPWYoKCk9PntfUD1bWyJwYXRoIix7ZDoiTTIwIDEwYzAgNC45OTMtNS41MzkgMTAuMTkzLTcuMzk5IDExLjc5OWExIDEgMCAwIDEtMS4yMDIgMEM5LjUzOSAyMC4xOTMgNCAxNC45OTMgNCAxMGE4IDggMCAwIDEgMTYgMCJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y2In1dLFsicGF0aCIse2Q6Ik05IDEwaDYifV1dfSk7dmFyIFRQLGhFZT1mKCgpPT57VFA9W1sicGF0aCIse2Q6Ik0xOS45MTQgMTEuMTA1QTcuMjk4IDcuMjk4IDAgMCAwIDIwIDEwYTggOCAwIDAgMC0xNiAwYzAgNC45OTMgNS41MzkgMTAuMTkzIDcuMzk5IDExLjc5OWExIDEgMCAwIDAgMS4yMDIgMCAzMiAzMiAwIDAgMCAuODI0LS43MzgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTYgMThoNiJ9XSxbInBhdGgiLHtkOiJNMTkgMTV2NiJ9XV19KTt2YXIgTFAsbUVlPWYoKCk9PntMUD1bWyJwYXRoIix7ZDoiTSAxMi4yNDggMjEuOTY5IGEgMSAxIDAgMCAxIC0wLjg0OSAtMC4xNyBDIDkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwIGEgOCA4IDAgMCAxIDE2IDAgQyAyMCAxMC40MiAxOS45NjEgMTAuODQxIDE5Ljg4OCAxMS4yNjIifV0sWyJwYXRoIix7ZDoibTIyIDIyLTEuODgtMS44OCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV1dfSk7dmFyICRQLGdFZT1mKCgpPT57JFA9W1sicGF0aCIse2Q6Ik0xOS43NTIgMTEuOTAxQTcuNzggNy43OCAwIDAgMCAyMCAxMGE4IDggMCAwIDAtMTYgMGMwIDQuOTkzIDUuNTM5IDEwLjE5MyA3LjM5OSAxMS43OTlhMSAxIDAgMCAwIDEuMjAyIDAgMTkgMTkgMCAwIDAgLjA5LS4wNzcifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMjEuNSAxNS41LTUgNSJ9XSxbInBhdGgiLHtkOiJtMjEuNSAyMC41LTUtNSJ9XV19KTt2YXIgRFAsYkVlPWYoKCk9PntEUD1bWyJwYXRoIix7ZDoiTTIwIDEwYzAgNC45OTMtNS41MzkgMTAuMTkzLTcuMzk5IDExLjc5OWExIDEgMCAwIDEtMS4yMDIgMEM5LjUzOSAyMC4xOTMgNCAxNC45OTMgNCAxMGE4IDggMCAwIDEgMTYgMCJ9XSxbInBhdGgiLHtkOiJtMTQuNSA3LjUtNSA1In1dLFsicGF0aCIse2Q6Im05LjUgNy41IDUgNSJ9XV19KTt2YXIgQVAsdkVlPWYoKCk9PntBUD1bWyJwYXRoIix7ZDoiTTIwIDEwYzAgNC45OTMtNS41MzkgMTAuMTkzLTcuMzk5IDExLjc5OWExIDEgMCAwIDEtMS4yMDIgMEM5LjUzOSAyMC4xOTMgNCAxNC45OTMgNCAxMGE4IDggMCAwIDEgMTYgMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dXX0pO3ZhciBQUCx4RWU9ZigoKT0+e1BQPVtbInBhdGgiLHtkOiJNMTggOGMwIDMuNjEzLTMuODY5IDcuNDI5LTUuMzkzIDguNzk1YTEgMSAwIDAgMS0xLjIxNCAwQzkuODcgMTUuNDI5IDYgMTEuNjEzIDYgOGE2IDYgMCAwIDEgMTIgMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjgiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTguNzE0IDE0aC0zLjcxYTEgMSAwIDAgMC0uOTQ4LjY4M2wtMi4wMDQgNkExIDEgMCAwIDAgMyAyMmgxOGExIDEgMCAwIDAgLjk0OC0xLjMxNmwtMi02YTEgMSAwIDAgMC0uOTQ5LS42ODRoLTMuNzEyIn1dXX0pO3ZhciBFUCx5RWU9ZigoKT0+e0VQPVtbInBhdGgiLHtkOiJtMTEgMTktMS4xMDYtLjU1MmEyIDIgMCAwIDAtMS43ODggMGwtMy42NTkgMS44M0ExIDEgMCAwIDEgMyAxOS4zODFWNi42MThhMSAxIDAgMCAxIC41NTMtLjg5NGw0LjU1My0yLjI3N2EyIDIgMCAwIDEgMS43ODggMGw0LjIxMiAyLjEwNmEyIDIgMCAwIDAgMS43ODggMGwzLjY1OS0xLjgzQTEgMSAwIDAgMSAyMSA0LjYxOVYxMiJ9XSxbInBhdGgiLHtkOiJNMTUgNS43NjRWMTIifV0sWyJwYXRoIix7ZDoiTTE4IDE1djYifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC02In1dLFsicGF0aCIse2Q6Ik05IDMuMjM2djE1In1dXX0pO3ZhciBJUCx3RWU9ZigoKT0+e0lQPVtbInBhdGgiLHtkOiJNMTQuMTA2IDUuNTUzYTIgMiAwIDAgMCAxLjc4OCAwbDMuNjU5LTEuODNBMSAxIDAgMCAxIDIxIDQuNjE5djEyLjc2NGExIDEgMCAwIDEtLjU1My44OTRsLTQuNTUzIDIuMjc3YTIgMiAwIDAgMS0xLjc4OCAwbC00LjIxMi0yLjEwNmEyIDIgMCAwIDAtMS43ODggMGwtMy42NTkgMS44M0ExIDEgMCAwIDEgMyAxOS4zODFWNi42MThhMSAxIDAgMCAxIC41NTMtLjg5NGw0LjU1My0yLjI3N2EyIDIgMCAwIDEgMS43ODggMHoifV0sWyJwYXRoIix7ZDoiTTE1IDUuNzY0djE1In1dLFsicGF0aCIse2Q6Ik05IDMuMjM2djE1In1dXX0pO3ZhciBOUCxNRWU9ZigoKT0+e05QPVtbInBhdGgiLHtkOiJtMTQgNiA0IDQifV0sWyJwYXRoIix7ZDoiTTE3IDNoNHY0In1dLFsicGF0aCIse2Q6Im0yMSAzLTcuNzUgNy43NSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiMTUiLHI6IjYifV1dfSk7dmFyIFJQLGtFZT1mKCgpPT57UlA9W1sicGF0aCIse2Q6Ik0xNiAzaDV2NSJ9XSxbInBhdGgiLHtkOiJtMjEgMy02Ljc1IDYuNzUifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiIxNCIscjoiNiJ9XV19KTt2YXIgT1AsU0VlPWYoKCk9PntPUD1bWyJwYXRoIix7ZDoiTTggMjJoOCJ9XSxbInBhdGgiLHtkOiJNMTIgMTF2MTEifV0sWyJwYXRoIix7ZDoibTE5IDMtNyA4LTctOFoifV1dfSk7dmFyIEZQLHpFZT1mKCgpPT57RlA9W1sicGF0aCIse2Q6Ik0xNSAzaDZ2NiJ9XSxbInBhdGgiLHtkOiJtMjEgMy03IDcifV0sWyJwYXRoIix7ZDoibTMgMjEgNy03In1dLFsicGF0aCIse2Q6Ik05IDIxSDN2LTYifV1dfSk7dmFyIEJQLENFZT1mKCgpPT57QlA9W1sicGF0aCIse2Q6Ik04IDNINWEyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoiTTIxIDhWNWEyIDIgMCAwIDAtMi0yaC0zIn1dLFsicGF0aCIse2Q6Ik0zIDE2djNhMiAyIDAgMCAwIDIgMmgzIn1dLFsicGF0aCIse2Q6Ik0xNiAyMWgzYTIgMiAwIDAgMCAyLTJ2LTMifV1dfSk7dmFyIEhQLF9FZT1mKCgpPT57SFA9W1sicGF0aCIse2Q6Ik03LjIxIDE1IDIuNjYgNy4xNGEyIDIgMCAwIDEgLjEzLTIuMkw0LjQgMi44QTIgMiAwIDAgMSA2IDJoMTJhMiAyIDAgMCAxIDEuNi44bDEuNiAyLjE0YTIgMiAwIDAgMSAuMTQgMi4yTDE2Ljc5IDE1In1dLFsicGF0aCIse2Q6Ik0xMSAxMiA1LjEyIDIuMiJ9XSxbInBhdGgiLHtkOiJtMTMgMTIgNS44OC05LjgifV0sWyJwYXRoIix7ZDoiTTggN2g4In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTciLHI6IjUifV0sWyJwYXRoIix7ZDoiTTEyIDE4di0yaC0uNSJ9XV19KTt2YXIgcVAsVEVlPWYoKCk9PntxUD1bWyJwYXRoIix7ZDoiTTExLjYzNiA2QTEzIDEzIDAgMCAwIDE5LjQgMy4yIDEgMSAwIDAgMSAyMSA0djExLjM0NCJ9XSxbInBhdGgiLHtkOiJNMTQuMzc4IDE0LjM1N0ExMyAxMyAwIDAgMCAxMSAxNEg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNiAxNGExMiAxMiAwIDAgMCAyLjQgNy4yIDIgMiAwIDAgMCAzLjItMi40QTggOCAwIDAgMSAxMCAxNCJ9XSxbInBhdGgiLHtkOiJNOCA4djYifV1dfSk7dmFyIFZQLExFZT1mKCgpPT57VlA9W1sicGF0aCIse2Q6Ik0xMSA2YTEzIDEzIDAgMCAwIDguNC0yLjhBMSAxIDAgMCAxIDIxIDR2MTJhMSAxIDAgMCAxLTEuNi44QTEzIDEzIDAgMCAwIDExIDE0SDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJ6In1dLFsicGF0aCIse2Q6Ik02IDE0YTEyIDEyIDAgMCAwIDIuNCA3LjIgMiAyIDAgMCAwIDMuMi0yLjRBOCA4IDAgMCAxIDEwIDE0In1dLFsicGF0aCIse2Q6Ik04IDZ2OCJ9XV19KTt2YXIgalAsJEVlPWYoKCk9PntqUD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNiIseTE6IjE1Iix5MjoiMTUifV0sWyJsaW5lIix7eDE6IjkiLHgyOiI5LjAxIix5MToiOSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUuMDEiLHkxOiI5Iix5MjoiOSJ9XV19KTt2YXIgVVAsREVlPWYoKCk9PntVUD1bWyJwYXRoIix7ZDoiTTEyIDEydi0yIn1dLFsicGF0aCIse2Q6Ik0xMiAxOHYtMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTE2IDE4di0yIn1dLFsicGF0aCIse2Q6Ik0yIDExaDEuNSJ9XSxbInBhdGgiLHtkOiJNMjAgMTh2LTIifV0sWyJwYXRoIix7ZDoiTTIwLjUgMTFIMjIifV0sWyJwYXRoIix7ZDoiTTQgMTh2LTIifV0sWyJwYXRoIix7ZDoiTTggMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTggMTh2LTIifV0sWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjIwIixoZWlnaHQ6IjEwIixyeDoiMiJ9XV19KTt2YXIgV1AsQUVlPWYoKCk9PntXUD1bWyJwYXRoIix7ZDoiTTQgNWgxNiJ9XSxbInBhdGgiLHtkOiJNNCAxMmgxNiJ9XSxbInBhdGgiLHtkOiJNNCAxOWgxNiJ9XV19KTt2YXIgR1AsUEVlPWYoKCk9PntHUD1bWyJwYXRoIix7ZDoibTggNiA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik0xMiAydjEwLjNhNCA0IDAgMCAxLTEuMTcyIDIuODcyTDQgMjIifV0sWyJwYXRoIix7ZDoibTIwIDIyLTUtNSJ9XV19KTt2YXIgWVAsRUVlPWYoKCk9PntZUD1bWyJwYXRoIix7ZDoiTTIuOTkyIDE2LjM0MmEyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMSAwLTQuNzc3LTQuNzE5In1dLFsicGF0aCIse2Q6Im05IDEyIDIgMiA0LTQifV1dfSk7dmFyIEtQLElFZT1mKCgpPT57S1A9W1sicGF0aCIse2Q6Im0xMCA5LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoibTE0IDE1IDMtMy0zLTMifV0sWyJwYXRoIix7ZDoiTTIuOTkyIDE2LjM0MmEyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMSAwLTQuNzc3LTQuNzE5In1dXX0pO3ZhciBaUCxORWU9ZigoKT0+e1pQPVtbInBhdGgiLHtkOiJNMTAuMSAyLjE4MmExMCAxMCAwIDAgMSAzLjggMCJ9XSxbInBhdGgiLHtkOiJNMTMuOSAyMS44MThhMTAgMTAgMCAwIDEtMy44IDAifV0sWyJwYXRoIix7ZDoiTTE3LjYwOSAzLjcyYTEwIDEwIDAgMCAxIDIuNjkgMi43In1dLFsicGF0aCIse2Q6Ik0yLjE4MiAxMy45YTEwIDEwIDAgMCAxIDAtMy44In1dLFsicGF0aCIse2Q6Ik0yMC4yOCAxNy42MWExMCAxMCAwIDAgMS0yLjcgMi42OSJ9XSxbInBhdGgiLHtkOiJNMjEuODE4IDEwLjFhMTAgMTAgMCAwIDEgMCAzLjgifV0sWyJwYXRoIix7ZDoiTTMuNzIxIDYuMzkxYTEwIDEwIDAgMCAxIDIuNy0yLjY5In1dLFsicGF0aCIse2Q6Im02LjE2MyAyMS4xMTctMi45MDYuODVhMSAxIDAgMCAxLTEuMjM2LTEuMTY5bC45NjUtMi45OCJ9XV19KTt2YXIgWFAsUkVlPWYoKCk9PntYUD1bWyJwYXRoIix7ZDoiTTIuOTkyIDE2LjM0MmEyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMSAwLTQuNzc3LTQuNzE5In1dLFsicGF0aCIse2Q6Ik03LjgyOCAxMy4wN0EzIDMgMCAwIDEgMTIgOC43NjRhMyAzIDAgMCAxIDUuMDA0IDIuMjI0IDMgMyAwIDAgMS0uODMyIDIuMDgzbC0zLjQ0NyAzLjYyYTEgMSAwIDAgMS0xLjQ1LS4wMDF6In1dXX0pO3ZhciBRUCxPRWU9ZigoKT0+e1FQPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC4wMSJ9XV19KTt2YXIgSlAsRkVlPWYoKCk9PntKUD1bWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNC45MyA0LjkyOWExMCAxMCAwIDAgMC0xLjkzOCAxMS40MTIgMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDAgMCAxMS4zMDItMS45ODkifV0sWyJwYXRoIix7ZDoiTTguMzUgMi42OUExMCAxMCAwIDAgMSAyMS4zIDE1LjY1In1dXX0pO3ZhciBlRSxCRWU9ZigoKT0+e2VFPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTIgOHY4In1dXX0pO3ZhciBNdSxIRWU9ZigoKT0+e011PVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoiTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzIn1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEifV1dfSk7dmFyIHRFLHFFZT1mKCgpPT57dEU9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XSxbInBhdGgiLHtkOiJtMTAgMTUtMy0zIDMtMyJ9XSxbInBhdGgiLHtkOiJNNyAxMmg4YTIgMiAwIDAgMSAyIDJ2MSJ9XV19KTt2YXIgYUUsVkVlPWYoKCk9PnthRT1bWyJwYXRoIix7ZDoiTTIuOTkyIDE2LjM0MmEyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMSAwLTQuNzc3LTQuNzE5In1dLFsicGF0aCIse2Q6Ik0xMiA4djQifV0sWyJwYXRoIix7ZDoiTTEyIDE2aC4wMSJ9XV19KTt2YXIgckUsakVlPWYoKCk9PntyRT1bWyJwYXRoIix7ZDoiTTIuOTkyIDE2LjM0MmEyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMSAwLTQuNzc3LTQuNzE5In1dLFsicGF0aCIse2Q6Im0xNSA5LTYgNiJ9XSxbInBhdGgiLHtkOiJtOSA5IDYgNiJ9XV19KTt2YXIgc0UsVUVlPWYoKCk9PntzRT1bWyJwYXRoIix7ZDoiTTIuOTkyIDE2LjM0MmEyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMSAwLTQuNzc3LTQuNzE5In1dXX0pO3ZhciBpRSxXRWU9ZigoKT0+e2lFPVtbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Im0xMCA4LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoibTE0IDE0IDMtMy0zLTMifV1dfSk7dmFyIG9FLEdFZT1mKCgpPT57b0U9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43LjcgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Im05IDExIDIgMiA0LTQifV1dfSk7dmFyIG5FLFlFZT1mKCgpPT57bkU9W1sicGF0aCIse2Q6Ik0xNCAzaDIifV0sWyJwYXRoIix7ZDoiTTE2IDE5aC0yIn1dLFsicGF0aCIse2Q6Ik0yIDEydi0yIn1dLFsicGF0aCIse2Q6Ik0yIDE2djUuMjg2YS43MS43MSAwIDAgMCAxLjIxMi41MDJsMS4xNDktMS4xNDkifV0sWyJwYXRoIix7ZDoiTTIwIDE5YTIgMiAwIDAgMCAyLTJ2LTEifV0sWyJwYXRoIix7ZDoiTTIyIDEwdjIifV0sWyJwYXRoIix7ZDoiTTIyIDZWNWEyIDIgMCAwIDAtMi0yIn1dLFsicGF0aCIse2Q6Ik00IDNhMiAyIDAgMCAwLTIgMnYxIn1dLFsicGF0aCIse2Q6Ik04IDE5aDIifV0sWyJwYXRoIix7ZDoiTTggM2gyIn1dXX0pO3ZhciBsRSxLRWU9ZigoKT0+e2xFPVtbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Ik0xMCAxNWg0In1dLFsicGF0aCIse2Q6Ik0xMCA5aDQifV0sWyJwYXRoIix7ZDoiTTEyIDd2NCJ9XV19KTt2YXIgY0UsWkVlPWYoKCk9PntjRT1bWyJwYXRoIix7ZDoiTTEyLjcgM0g0YTIgMiAwIDAgMC0yIDJ2MTYuMjg2YS43MS43MSAwIDAgMCAxLjIxMi41MDJsMi4yMDItMi4yMDJBMiAyIDAgMCAxIDYuODI4IDE5SDIwYTIgMiAwIDAgMCAyLTJ2LTQuNyJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjYiLHI6IjMifV1dfSk7dmFyIGRFLFhFZT1mKCgpPT57ZEU9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTcuNSA5LjVjMCAuNjg3LjI2NSAxLjM4My42OTcgMS44NDRsMy4wMDkgMy4yNjRhMS4xNCAxLjE0IDAgMCAwIC40MDcuMzE0IDEgMSAwIDAgMCAuNzgzLS4wMDQgMS4xNCAxLjE0IDAgMCAwIC4zOTgtLjMxbDMuMDA4LTMuMjY0QTIuNzcgMi43NyAwIDAgMCAxNi41IDkuNSAyLjUgMi41IDAgMCAwIDEyIDhhMi41IDIuNSAwIDAgMC00LjUgMS41In1dXX0pO3ZhciB1RSxRRWU9ZigoKT0+e3VFPVtbInBhdGgiLHtkOiJNMjIgOC41VjVhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTYuMjg2YS43MS43MSAwIDAgMCAxLjIxMi41MDJsMi4yMDItMi4yMDJBMiAyIDAgMCAxIDYuODI4IDE5SDEwIn1dLFsicGF0aCIse2Q6Ik0yMCAxNXYtMmEyIDIgMCAwIDAtNCAwdjIifV0sWyJyZWN0Iix7eDoiMTQiLHk6IjE1Iix3aWR0aDoiOCIsaGVpZ2h0OiI1IixyeDoiMSJ9XV19KTt2YXIgcEUsSkVlPWYoKCk9PntwRT1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTIgMTFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxMWguMDEifV0sWyJwYXRoIix7ZDoiTTggMTFoLjAxIn1dXX0pO3ZhciBmRSxlSWU9ZigoKT0+e2ZFPVtbInBhdGgiLHtkOiJNMTkgMTlINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcuNyAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAxLjE4NC0xLjgyNiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04LjY1NiAzSDIwYTIgMiAwIDAgMSAyIDJ2MTEuMzQ0In1dXX0pO3ZhciBoRSx0SWU9ZigoKT0+e2hFPVtbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Ik0xMiA4djYifV0sWyJwYXRoIix7ZDoiTTkgMTFoNiJ9XV19KTt2YXIgbUUsYUllPWYoKCk9PnttRT1bWyJwYXRoIix7ZDoiTTE0IDE0YTIgMiAwIDAgMCAyLTJWOGgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Ik04IDE0YTIgMiAwIDAgMCAyLTJWOEg4In1dXX0pO3ZhciBnRSxySWU9ZigoKT0+e2dFPVtbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Im0xMCA4LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoiTTE3IDE0di0xYTIgMiAwIDAgMC0yLTJINyJ9XV19KTt2YXIgYkUsc0llPWYoKCk9PntiRT1bWyJwYXRoIix7ZDoiTTEyIDNINGEyIDIgMCAwIDAtMiAydjE2LjI4NmEuNzEuNzEgMCAwIDAgMS4yMTIuNTAybDIuMjAyLTIuMjAyQTIgMiAwIDAgMSA2LjgyOCAxOUgyMGEyIDIgMCAwIDAgMi0ydi00In1dLFsicGF0aCIse2Q6Ik0xNiAzaDZ2NiJ9XSxbInBhdGgiLHtkOiJtMTYgOSA2LTYifV1dfSk7dmFyIHZFLGlJZT1mKCgpPT57dkU9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTcgMTFoMTAifV0sWyJwYXRoIix7ZDoiTTcgMTVoNiJ9XSxbInBhdGgiLHtkOiJNNyA3aDgifV1dfSk7dmFyIHhFLG9JZT1mKCgpPT57eEU9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTEyIDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y0In1dXX0pO3ZhciB5RSxuSWU9ZigoKT0+e3lFPVtbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Im0xNC41IDguNS01IDUifV0sWyJwYXRoIix7ZDoibTkuNSA4LjUgNSA1In1dXX0pO3ZhciB3RSxsSWU9ZigoKT0+e3dFPVtbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dXX0pO3ZhciBNRSxjSWU9ZigoKT0+e01FPVtbInBhdGgiLHtkOiJNMTYgMTBhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAxNC4yODZWNGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Ik0yMCA5YTIgMiAwIDAgMSAyIDJ2MTAuMjg2YS43MS43MSAwIDAgMS0xLjIxMi41MDJsLTIuMjAyLTIuMjAyQTIgMiAwIDAgMCAxNy4xNzIgMTlIMTBhMiAyIDAgMCAxLTItMnYtMSJ9XV19KTt2YXIga0UsZEllPWYoKCk9PntrRT1bWyJwYXRoIix7ZDoiTTEyIDExLjRWOS4xIn1dLFsicGF0aCIse2Q6Im0xMiAxNyA2LjU5LTYuNTkifV0sWyJwYXRoIix7ZDoibTE1LjA1IDUuNy0uMjE4LS42OTFhMyAzIDAgMCAwLTUuNjYzIDBMNC40MTggMTkuNjk1QTEgMSAwIDAgMCA1LjM3IDIxaDEzLjI1M2ExIDEgMCAwIDAgLjk1MS0xLjMxTDE4LjQ1IDE2LjIifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiI5IixyOiIyIn1dXX0pO3ZhciBTRSx1SWU9ZigoKT0+e1NFPVtbInBhdGgiLHtkOiJNMTIgMTl2MyJ9XSxbInBhdGgiLHtkOiJNMTUgOS4zNFY1YTMgMyAwIDAgMC01LjY4LTEuMzMifV0sWyJwYXRoIix7ZDoiTTE2Ljk1IDE2Ljk1QTcgNyAwIDAgMSA1IDEydi0yIn1dLFsicGF0aCIse2Q6Ik0xOC44OSAxMy4yM0E3IDcgMCAwIDAgMTkgMTJ2LTIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOSA5djNhMyAzIDAgMCAwIDUuMTIgMi4xMiJ9XV19KTt2YXIga3UscEllPWYoKCk9PntrdT1bWyJwYXRoIix7ZDoibTExIDcuNjAxLTUuOTk0IDguMTlhMSAxIDAgMCAwIC4xIDEuMjk4bC44MTcuODE4YTEgMSAwIDAgMCAxLjMxNC4wODdMMTUuMDkgMTIifV0sWyJwYXRoIix7ZDoiTTE2LjUgMjEuMTc0QzE1LjUgMjAuNSAxNC4zNzIgMjAgMTMgMjBjLTIuMDU4IDAtMy45MjggMi4zNTYtNiAyLTIuMDcyLS4zNTYtMi43NzUtMy4zNjktMS41LTQuNSJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjciLHI6IjUifV1dfSk7dmFyIHpFLGZJZT1mKCgpPT57ekU9W1sicGF0aCIse2Q6Ik0xMiAxOXYzIn1dLFsicGF0aCIse2Q6Ik0xOSAxMHYyYTcgNyAwIDAgMS0xNCAwdi0yIn1dLFsicmVjdCIse3g6IjkiLHk6IjIiLHdpZHRoOiI2IixoZWlnaHQ6IjEzIixyeDoiMyJ9XV19KTt2YXIgQ0UsaEllPWYoKCk9PntDRT1bWyJwYXRoIix7ZDoiTTEwIDEyaDQifV0sWyJwYXRoIix7ZDoiTTEwIDE3aDQifV0sWyJwYXRoIix7ZDoiTTEwIDdoNCJ9XSxbInBhdGgiLHtkOiJNMTggMTJoMiJ9XSxbInBhdGgiLHtkOiJNMTggMThoMiJ9XSxbInBhdGgiLHtkOiJNMTggNmgyIn1dLFsicGF0aCIse2Q6Ik00IDEyaDIifV0sWyJwYXRoIix7ZDoiTTQgMThoMiJ9XSxbInBhdGgiLHtkOiJNNCA2aDIifV0sWyJyZWN0Iix7eDoiNiIseToiMiIsd2lkdGg6IjEyIixoZWlnaHQ6IjIwIixyeDoiMiJ9XV19KTt2YXIgX0UsbUllPWYoKCk9PntfRT1bWyJwYXRoIix7ZDoiTTYgMThoOCJ9XSxbInBhdGgiLHtkOiJNMyAyMmgxOCJ9XSxbInBhdGgiLHtkOiJNMTQgMjJhNyA3IDAgMSAwIDAtMTRoLTEifV0sWyJwYXRoIix7ZDoiTTkgMTRoMiJ9XSxbInBhdGgiLHtkOiJNOSAxMmEyIDIgMCAwIDEtMi0yVjZoNnY0YTIgMiAwIDAgMS0yIDJaIn1dLFsicGF0aCIse2Q6Ik0xMiA2VjNhMSAxIDAgMCAwLTEtMUg5YTEgMSAwIDAgMC0xIDF2MyJ9XV19KTt2YXIgVEUsZ0llPWYoKCk9PntURT1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE1Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI3Iix4OiI2Iix5OiI4IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNMTggOHY3In1dLFsicGF0aCIse2Q6Ik02IDE5djIifV0sWyJwYXRoIix7ZDoiTTE4IDE5djIifV1dfSk7dmFyIExFLGJJZT1mKCgpPT57TEU9W1sicGF0aCIse2Q6Ik0xMiAxM3Y4In1dLFsicGF0aCIse2Q6Ik0xMiAzdjMifV0sWyJwYXRoIix7ZDoiTTE4LjE3MiA2YTIgMiAwIDAgMSAxLjQxNC41ODZsMi4wNiAyLjA2YTEuMjA3IDEuMjA3IDAgMCAxIDAgMS43MDhsLTIuMDYgMi4wNmEyIDIgMCAwIDEtMS40MTQuNTg2SDRhMSAxIDAgMCAxLTEtMVY3YTEgMSAwIDAgMSAxLTF6In1dXX0pO3ZhciAkRSx2SWU9ZigoKT0+eyRFPVtbInBhdGgiLHtkOiJNOCAyaDgifV0sWyJwYXRoIix7ZDoiTTkgMnYxLjM0M00xNSAydjIuNzg5YTQgNCAwIDAgMCAuNjcyIDIuMjE5bC42NTYuOTg0YTQgNCAwIDAgMSAuNjcyIDIuMjJ2MS4xMzFNNy44IDcuOGwtLjEyOC4xOTJBNCA0IDAgMCAwIDcgMTAuMjEyVjIwYTIgMiAwIDAgMCAyIDJoNmEyIDIgMCAwIDAgMi0ydi0zIn1dLFsicGF0aCIse2Q6Ik03IDE1YTYuNDcgNi40NyAwIDAgMSA1IDAgNi40NzIgNi40NzIgMCAwIDAgMy40MzUuNDM1In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dfSk7dmFyIERFLHhJZT1mKCgpPT57REU9W1sicGF0aCIse2Q6Ik04IDJoOCJ9XSxbInBhdGgiLHtkOiJNOSAydjIuNzg5YTQgNCAwIDAgMS0uNjcyIDIuMjE5bC0uNjU2Ljk4NEE0IDQgMCAwIDAgNyAxMC4yMTJWMjBhMiAyIDAgMCAwIDIgMmg2YTIgMiAwIDAgMCAyLTJ2LTkuNzg5YTQgNCAwIDAgMC0uNjcyLTIuMjE5bC0uNjU2LS45ODRBNCA0IDAgMCAxIDE1IDQuNzg4VjIifV0sWyJwYXRoIix7ZDoiTTcgMTVhNi40NzIgNi40NzIgMCAwIDEgNSAwIDYuNDcgNi40NyAwIDAgMCA1IDAifV1dfSk7dmFyIEFFLHlJZT1mKCgpPT57QUU9W1sicGF0aCIse2Q6Im0xNCAxMCA3LTcifV0sWyJwYXRoIix7ZDoiTTIwIDEwaC02VjQifV0sWyJwYXRoIix7ZDoibTMgMjEgNy03In1dLFsicGF0aCIse2Q6Ik00IDE0aDZ2NiJ9XV19KTt2YXIgUEUsd0llPWYoKCk9PntQRT1bWyJwYXRoIix7ZDoiTTggM3YzYTIgMiAwIDAgMS0yIDJIMyJ9XSxbInBhdGgiLHtkOiJNMjEgOGgtM2EyIDIgMCAwIDEtMi0yVjMifV0sWyJwYXRoIix7ZDoiTTMgMTZoM2EyIDIgMCAwIDEgMiAydjMifV0sWyJwYXRoIix7ZDoiTTE2IDIxdi0zYTIgMiAwIDAgMSAyLTJoMyJ9XV19KTt2YXIgRUUsTUllPWYoKCk9PntFRT1bWyJwYXRoIix7ZDoiTTUgMTJoMTQifV1dfSk7dmFyIElFLGtJZT1mKCgpPT57SUU9W1sicGF0aCIse2Q6Ik0xMSA2IDggOSJ9XSxbInBhdGgiLHtkOiJtMTYgNy04IDgifV0sWyJyZWN0Iix7eDoiNCIseToiMiIsd2lkdGg6IjE2IixoZWlnaHQ6IjIwIixyeDoiMiJ9XV19KTt2YXIgTkUsU0llPWYoKCk9PntORT1bWyJwYXRoIix7ZDoiTTEwIDYuNiA4LjYgOCJ9XSxbInBhdGgiLHtkOiJNMTIgMTh2NCJ9XSxbInBhdGgiLHtkOiJNMTUgNy41IDkuNSAxMyJ9XSxbInBhdGgiLHtkOiJNNyAyMmgxMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiI4In1dXX0pO3ZhciBSRSx6SWU9ZigoKT0+e1JFPVtbInBhdGgiLHtkOiJtOSAxMCAyIDIgNC00In1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XV19KTt2YXIgT0UsQ0llPWYoKCk9PntPRT1bWyJwYXRoIix7ZDoiTTExIDEzYTMgMyAwIDEgMSAyLjgzLTRIMTRhMiAyIDAgMCAxIDAgNHoifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbInJlY3QiLHt4OiIyIix5OiIzIix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciBGRSxfSWU9ZigoKT0+e0ZFPVtbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJtMTQuMzA1IDcuNTMuOTIzLS4zODIifV0sWyJwYXRoIix7ZDoibTE1LjIyOCA0Ljg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAzLjIyOC0uMzgzLS45MjQifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiA4Ljc3Mi0uMzgzLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTkuMTQ4IDMuMjI4LjM4My0uOTI0In1dLFsicGF0aCIse2Q6Im0xOS41MyA5LjY5Ni0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoibTIwLjc3MiA0Ljg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDcuMTQ4LjkyNC4zODMifV0sWyJwYXRoIix7ZDoiTTIyIDEzdjJhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDcifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjYiLHI6IjMifV1dfSk7dmFyIEJFLFRJZT1mKCgpPT57QkU9W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik0yMiAxMi4zMDdWMTVhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDguNjkzIn1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiI2IixyOiIzIn1dXX0pO3ZhciBIRSxMSWU9ZigoKT0+e0hFPVtbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNMTcgMTdINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDEuMTg0LTEuODI2In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbInBhdGgiLHtkOiJNOC42NTYgM0gyMGEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0uMjkzIDEuMDQyIn1dXX0pO3ZhciBxRSwkSWU9ZigoKT0+e3FFPVtbInBhdGgiLHtkOiJNMTIgMTNWNyJ9XSxbInBhdGgiLHtkOiJtMTUgMTAtMyAzLTMtMyJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV1dfSk7dmFyIFZFLERJZT1mKCgpPT57VkU9W1sicGF0aCIse2Q6Ik0xMCAxM1Y3In1dLFsicGF0aCIse2Q6Ik0xNCAxM1Y3In1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XV19KTt2YXIgakUsQUllPWYoKCk9PntqRT1bWyJwYXRoIix7ZDoiTTE1LjAzMyA5LjQ0YS42NDcuNjQ3IDAgMCAxIDAgMS4xMmwtNC4wNjUgMi4zNTJhLjY0NS42NDUgMCAwIDEtLjk2OC0uNTZWNy42NDhhLjY0NS42NDUgMCAwIDEgLjk2Ny0uNTZ6In1dLFsicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJyZWN0Iix7eDoiMiIseToiMyIsd2lkdGg6IjIwIixoZWlnaHQ6IjE0IixyeDoiMiJ9XV19KTt2YXIgVUUsUEllPWYoKCk9PntVRT1bWyJwYXRoIix7ZDoiTTE4IDhWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnY3YTIgMiAwIDAgMCAyIDJoOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTl2LTMuOTYgMy4xNSJ9XSxbInBhdGgiLHtkOiJNNyAxOWg1In1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxNiIseToiMTIiLHJ4OiIyIn1dXX0pO3ZhciBXRSxFSWU9ZigoKT0+e1dFPVtbInBhdGgiLHtkOiJNNS41IDIwSDgifV0sWyJwYXRoIix7ZDoiTTE3IDloLjAxIn1dLFsicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxNiIseDoiMTIiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDZINGEyIDIgMCAwIDAtMiAydjZhMiAyIDAgMCAwIDIgMmg0In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTUiLHI6IjEifV1dfSk7dmFyIEdFLElJZT1mKCgpPT57R0U9W1sicGF0aCIse2Q6Im05IDEwIDMtMyAzIDMifV0sWyJwYXRoIix7ZDoiTTEyIDEzVjcifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dXX0pO3ZhciBZRSxOSWU9ZigoKT0+e1lFPVtbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dLFsicmVjdCIse3g6IjIiLHk6IjMiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNCIscng6IjIifV0sWyJyZWN0Iix7eDoiOSIseToiNyIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEifV1dfSk7dmFyIEtFLFJJZT1mKCgpPT57S0U9W1sicGF0aCIse2Q6Im0xNC41IDEyLjUtNS01In1dLFsicGF0aCIse2Q6Im05LjUgMTIuNSA1LTUifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dXX0pO3ZhciBaRSxPSWU9ZigoKT0+e1pFPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjMiLHJ4OiIyIn1dLFsibGluZSIse3gxOiI4Iix4MjoiMTYiLHkxOiIyMSIseTI6IjIxIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMTciLHkyOiIyMSJ9XV19KTt2YXIgWEUsRkllPWYoKCk9PntYRT1bWyJwYXRoIix7ZDoiTTE4IDVoNCJ9XSxbInBhdGgiLHtkOiJNMjAgM3Y0In1dLFsicGF0aCIse2Q6Ik0yMC45ODUgMTIuNDg2YTkgOSAwIDEgMS05LjQ3My05LjQ3MmMuNDA1LS4wMjIuNjE3LjQ2LjQwMi44MDNhNiA2IDAgMCAwIDguMjY4IDguMjY4Yy4zNDQtLjIxNS44MjUtLjAwNC44MDMuNDAxIn1dXX0pO3ZhciBRRSxCSWU9ZigoKT0+e1FFPVtbInBhdGgiLHtkOiJNMjAuOTg1IDEyLjQ4NmE5IDkgMCAxIDEtOS40NzMtOS40NzJjLjQwNS0uMDIyLjYxNy40Ni40MDIuODAzYTYgNiAwIDAgMCA4LjI2OCA4LjI2OGMuMzQ0LS4yMTUuODI1LS4wMDQuODAzLjQwMSJ9XV19KTt2YXIgSkUsSEllPWYoKCk9PntKRT1bWyJwYXRoIix7ZDoibTE4IDE0LTEtMyJ9XSxbInBhdGgiLHtkOiJtMyA5IDYgMmEyIDIgMCAwIDEgMi0yaDJhMiAyIDAgMCAxIDEuOTkgMS44MSJ9XSxbInBhdGgiLHtkOiJNOCAxN2gzYTEgMSAwIDAgMCAxLTEgNiA2IDAgMCAxIDYtNiAxIDEgMCAwIDAgMS0xdi0uNzVBNSA1IDAgMCAwIDE3IDUifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxNyIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTciLHI6IjMifV1dfSk7dmFyIGVJLHFJZT1mKCgpPT57ZUk9W1sicGF0aCIse2Q6Im04IDMgNCA4IDUtNSA1IDE1SDJMOCAzeiJ9XSxbInBhdGgiLHtkOiJNNC4xNCAxNS4wOGMyLjYyLTEuNTcgNS4yNC0xLjQzIDcuODYuNDIgMi43NCAxLjk0IDUuNDkgMiA4LjIzLjE5In1dXX0pO3ZhciB0SSxWSWU9ZigoKT0+e3RJPVtbInBhdGgiLHtkOiJtOCAzIDQgOCA1LTUgNSAxNUgyTDggM3oifV1dfSk7dmFyIGFJLGpJZT1mKCgpPT57YUk9W1sicGF0aCIse2Q6Ik0xMiA3LjMxOFYxMCJ9XSxbInBhdGgiLHtkOiJNNSAxMHY1YTcgNyAwIDAgMCAxNCAwVjljMC0zLjUyNy0yLjYwOC02LjUxNS02LTcifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjQiLHI6IjIifV1dfSk7dmFyIHJJLFVJZT1mKCgpPT57ckk9W1sicGF0aCIse2Q6Ik0xMiA2di4zNDMifV0sWyJwYXRoIix7ZDoiTTE4LjIxOCAxOC4yMThBNyA3IDAgMCAxIDUgMTVWOWE3IDcgMCAwIDEgLjc4Mi0zLjIxOCJ9XSxbInBhdGgiLHtkOiJNMTkgMTMuMzQzVjlBNyA3IDAgMCAwIDguNTYgMi45MDIifV0sWyJwYXRoIix7ZDoiTTIyIDIyIDIgMiJ9XV19KTt2YXIgc0ksV0llPWYoKCk9PntzST1bWyJwYXRoIix7ZDoibTE1LjU1IDguNDUgNS4xMzggMi4wODdhLjUuNSAwIDAgMS0uMDYzLjk0N2wtNi4xMjQgMS41OGEyIDIgMCAwIDAtMS40MzggMS40MzVsLTEuNTc5IDYuMTI2YS41LjUgMCAwIDEtLjk0Ny4wNjNMOC40NSAxNS41NTEifV0sWyJwYXRoIix7ZDoiTTIyIDIgMiAyMiJ9XSxbInBhdGgiLHtkOiJtNi44MTYgMTEuNTI4LTIuNzc5LTYuODRhLjQ5NS40OTUgMCAwIDEgLjY1MS0uNjUxbDYuODQgMi43NzkifV1dfSk7dmFyIGlJLEdJZT1mKCgpPT57aUk9W1sicGF0aCIse2Q6Ik00LjAzNyA0LjY4OGEuNDk1LjQ5NSAwIDAgMSAuNjUxLS42NTFsMTYgNi41YS41LjUgMCAwIDEtLjA2My45NDdsLTYuMTI0IDEuNThhMiAyIDAgMCAwLTEuNDM4IDEuNDM1bC0xLjU3OSA2LjEyNmEuNS41IDAgMCAxLS45NDcuMDYzeiJ9XV19KTt2YXIgb0ksWUllPWYoKCk9PntvST1bWyJwYXRoIix7ZDoiTTIuMDM0IDIuNjgxYS40OTguNDk4IDAgMCAxIC42NDctLjY0N2w5IDMuNWEuNS41IDAgMCAxLS4wMzMuOTQ0TDguMjA0IDcuNTQ1YTEgMSAwIDAgMC0uNjYuNjZsLTEuMDY2IDMuNDQzYS41LjUgMCAwIDEtLjk0NC4wMzN6In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTYiLHI6IjYifV0sWyJwYXRoIix7ZDoibTExLjggMTEuOCA4LjQgOC40In1dXX0pO3ZhciBuSSxLSWU9ZigoKT0+e25JPVtbInBhdGgiLHtkOiJNMTQgNC4xIDEyIDYifV0sWyJwYXRoIix7ZDoibTUuMSA4LTIuOS0uOCJ9XSxbInBhdGgiLHtkOiJtNiAxMi0xLjkgMiJ9XSxbInBhdGgiLHtkOiJNNy4yIDIuMiA4IDUuMSJ9XSxbInBhdGgiLHtkOiJNOS4wMzcgOS42OWEuNDk4LjQ5OCAwIDAgMSAuNjUzLS42NTNsMTEgNC41YS41LjUgMCAwIDEtLjA3NC45NDlsLTQuMzQ5IDEuMDQxYTEgMSAwIDAgMC0uNzQuNzM5bC0xLjA0IDQuMzVhLjUuNSAwIDAgMS0uOTUuMDc0eiJ9XV19KTt2YXIgbEksWkllPWYoKCk9PntsST1bWyJwYXRoIix7ZDoiTTEyLjU4NiAxMi41ODYgMTkgMTkifV0sWyJwYXRoIix7ZDoiTTMuNjg4IDMuMDM3YS40OTcuNDk3IDAgMCAwLS42NTEuNjUxbDYuNSAxNS45OTlhLjUwMS41MDEgMCAwIDAgLjk0Ny0uMDYybDEuNTY5LTYuMDgzYTIgMiAwIDAgMSAxLjQ0OC0xLjQ3OWw2LjEyNC0xLjU3OWEuNS41IDAgMCAwIC4wNjMtLjk0N3oifV1dfSk7dmFyIGNJLFhJZT1mKCgpPT57Y0k9W1sicGF0aCIse2Q6Ik0xMiA3LjMxOFYxMCJ9XSxbInBhdGgiLHtkOiJNMTkgMTB2NWE3IDcgMCAwIDEtMTQgMFY5YzAtMy41MjcgMi42MDgtNi41MTUgNi03In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiNCIscjoiMiJ9XV19KTt2YXIgZEksUUllPWYoKCk9PntkST1bWyJyZWN0Iix7eDoiNSIseToiMiIsd2lkdGg6IjE0IixoZWlnaHQ6IjIwIixyeDoiNyJ9XSxbInBhdGgiLHtkOiJNMTIgNnY0In1dXX0pO3ZhciBTdSxKSWU9ZigoKT0+e1N1PVtbInBhdGgiLHtkOiJNNSAzdjE2aDE2In1dLFsicGF0aCIse2Q6Im01IDE5IDYtNiJ9XSxbInBhdGgiLHtkOiJtMiA2IDMtMyAzIDMifV0sWyJwYXRoIix7ZDoibTE4IDE2IDMgMy0zIDMifV1dfSk7dmFyIHVJLGVOZT1mKCgpPT57dUk9W1sicGF0aCIse2Q6Ik0xOSAxM3Y2aC02In1dLFsicGF0aCIse2Q6Ik01IDExVjVoNiJ9XSxbInBhdGgiLHtkOiJtNSA1IDE0IDE0In1dXX0pO3ZhciBwSSx0TmU9ZigoKT0+e3BJPVtbInBhdGgiLHtkOiJNMTEgMTlINXYtNiJ9XSxbInBhdGgiLHtkOiJNMTMgNWg2djYifV0sWyJwYXRoIix7ZDoiTTE5IDUgNSAxOSJ9XV19KTt2YXIgZkksYU5lPWYoKCk9PntmST1bWyJwYXRoIix7ZDoiTTExIDE5SDVWMTMifV0sWyJwYXRoIix7ZDoiTTE5IDVMNSAxOSJ9XV19KTt2YXIgaEksck5lPWYoKCk9PntoST1bWyJwYXRoIix7ZDoiTTE5IDEzVjE5SDEzIn1dLFsicGF0aCIse2Q6Ik01IDVMMTkgMTkifV1dfSk7dmFyIG1JLHNOZT1mKCgpPT57bUk9W1sicGF0aCIse2Q6Ik04IDE4TDEyIDIyTDE2IDE4In1dLFsicGF0aCIse2Q6Ik0xMiAyVjIyIn1dXX0pO3ZhciBnSSxpTmU9ZigoKT0+e2dJPVtbInBhdGgiLHtkOiJtMTggOCA0IDQtNCA0In1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwIn1dLFsicGF0aCIse2Q6Im02IDgtNCA0IDQgNCJ9XV19KTt2YXIgYkksb05lPWYoKCk9PntiST1bWyJwYXRoIix7ZDoiTTYgOEwyIDEyTDYgMTYifV0sWyJwYXRoIix7ZDoiTTIgMTJIMjIifV1dfSk7dmFyIHZJLG5OZT1mKCgpPT57dkk9W1sicGF0aCIse2Q6Ik0xOCA4TDIyIDEyTDE4IDE2In1dLFsicGF0aCIse2Q6Ik0yIDEySDIyIn1dXX0pO3ZhciB4SSxsTmU9ZigoKT0+e3hJPVtbInBhdGgiLHtkOiJNNSAxMVY1SDExIn1dLFsicGF0aCIse2Q6Ik01IDVMMTkgMTkifV1dfSk7dmFyIHlJLGNOZT1mKCgpPT57eUk9W1sicGF0aCIse2Q6Ik0xMyA1SDE5VjExIn1dLFsicGF0aCIse2Q6Ik0xOSA1TDUgMTkifV1dfSk7dmFyIHdJLGROZT1mKCgpPT57d0k9W1sicGF0aCIse2Q6Ik04IDZMMTIgMkwxNiA2In1dLFsicGF0aCIse2Q6Ik0xMiAyVjIyIn1dXX0pO3ZhciBNSSx1TmU9ZigoKT0+e01JPVtbInBhdGgiLHtkOiJNMTIgMnYyMCJ9XSxbInBhdGgiLHtkOiJtOCAxOCA0IDQgNC00In1dLFsicGF0aCIse2Q6Im04IDYgNC00IDQgNCJ9XV19KTt2YXIga0kscE5lPWYoKCk9PntrST1bWyJwYXRoIix7ZDoiTTEyIDJ2MjAifV0sWyJwYXRoIix7ZDoibTE1IDE5LTMgMy0zLTMifV0sWyJwYXRoIix7ZDoibTE5IDkgMyAzLTMgMyJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XSxbInBhdGgiLHtkOiJtNSA5LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoibTkgNSAzLTMgMyAzIn1dXX0pO3ZhciBTSSxmTmU9ZigoKT0+e1NJPVtbImNpcmNsZSIse2N4OiI4IixjeToiMTgiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjJsNyA0In1dXX0pO3ZhciB6SSxoTmU9ZigoKT0+e3pJPVtbInBhdGgiLHtkOiJNOSAxOFY1bDEyLTJ2MTMifV0sWyJwYXRoIix7ZDoibTkgOSAxMi0yIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIxOCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE2IixyOiIzIn1dXX0pO3ZhciBDSSxtTmU9ZigoKT0+e0NJPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE4IixyOiI0In1dLFsicGF0aCIse2Q6Ik0xNiAxOFYyIn1dXX0pO3ZhciBfSSxnTmU9ZigoKT0+e19JPVtbInBhdGgiLHtkOiJNOSAxOFY1bDEyLTJ2MTMifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjE4IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTYiLHI6IjMifV1dfSk7dmFyIFRJLGJOZT1mKCgpPT57VEk9W1sicGF0aCIse2Q6Ik05LjMxIDkuMzEgNSAyMWw3LTQgNyA0LTEuMTctMy4xNyJ9XSxbInBhdGgiLHtkOiJNMTQuNTMgOC44OCAxMiAybC0xLjE3IDMuMTcifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgTEksdk5lPWYoKCk9PntMST1bWyJwb2x5Z29uIix7cG9pbnRzOiIxMiAyIDE5IDIxIDEyIDE3IDUgMjEgMTIgMiJ9XV19KTt2YXIgJEkseE5lPWYoKCk9PnskST1bWyJwYXRoIix7ZDoiTTguNDMgOC40MyAzIDExbDggMiAyIDggMi41Ny01LjQzIn1dLFsicGF0aCIse2Q6Ik0xNy4zOSAxMS43MyAyMiAybC05LjczIDQuNjEifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgREkseU5lPWYoKCk9PntEST1bWyJwb2x5Z29uIix7cG9pbnRzOiIzIDExIDIyIDIgMTMgMjEgMTEgMTMgMyAxMSJ9XV19KTt2YXIgQUksd05lPWYoKCk9PntBST1bWyJyZWN0Iix7eDoiMTYiLHk6IjE2Iix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XSxbInJlY3QiLHt4OiIyIix5OiIxNiIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEifV0sWyJyZWN0Iix7eDoiOSIseToiMiIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEifV0sWyJwYXRoIix7ZDoiTTUgMTZ2LTNhMSAxIDAgMCAxIDEtMWgxMmExIDEgMCAwIDEgMSAxdjMifV0sWyJwYXRoIix7ZDoiTTEyIDEyVjgifV1dfSk7dmFyIFBJLE1OZT1mKCgpPT57UEk9W1sicGF0aCIse2Q6Ik0xNSAxOGgtNSJ9XSxbInBhdGgiLHtkOiJNMTggMTRoLTgifV0sWyJwYXRoIix7ZDoiTTQgMjJoMTZhMiAyIDAgMCAwIDItMlY0YTIgMiAwIDAgMC0yLTJIOGEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMS00IDB2LTlhMiAyIDAgMCAxIDItMmgyIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjEwIix5OiI2IixyeDoiMSJ9XV19KTt2YXIgRUksa05lPWYoKCk9PntFST1bWyJwYXRoIix7ZDoiTTYgOC4zMmE3LjQzIDcuNDMgMCAwIDEgMCA3LjM2In1dLFsicGF0aCIse2Q6Ik05LjQ2IDYuMjFhMTEuNzYgMTEuNzYgMCAwIDEgMCAxMS41OCJ9XSxbInBhdGgiLHtkOiJNMTIuOTEgNC4xYTE1LjkxIDE1LjkxIDAgMCAxIC4wMSAxNS44In1dLFsicGF0aCIse2Q6Ik0xNi4zNyAyYTIwLjE2IDIwLjE2IDAgMCAxIDAgMjAifV1dfSk7dmFyIElJLFNOZT1mKCgpPT57SUk9W1sicGF0aCIse2Q6Ik0xMiAydjEwIn1dLFsicGF0aCIse2Q6Im04LjUgNCA3IDQifV0sWyJwYXRoIix7ZDoibTguNSA4IDctNCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE3IixyOiI1In1dXX0pO3ZhciBOSSx6TmU9ZigoKT0+e05JPVtbInBhdGgiLHtkOiJNMTMuNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTcuNCJ9XSxbInBhdGgiLHtkOiJNMiA2aDQifV0sWyJwYXRoIix7ZDoiTTIgMTBoNCJ9XSxbInBhdGgiLHtkOiJNMiAxNGg0In1dLFsicGF0aCIse2Q6Ik0yIDE4aDQifV0sWyJwYXRoIix7ZDoiTTIxLjM3OCA1LjYyNmExIDEgMCAxIDAtMy4wMDQtMy4wMDRsLTUuMDEgNS4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6In1dXX0pO3ZhciBSSSxDTmU9ZigoKT0+e1JJPVtbInBhdGgiLHtkOiJNMiA2aDQifV0sWyJwYXRoIix7ZDoiTTIgMTBoNCJ9XSxbInBhdGgiLHtkOiJNMiAxNGg0In1dLFsicGF0aCIse2Q6Ik0yIDE4aDQifV0sWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjIwIix4OiI0Iix5OiIyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOS41IDhoNSJ9XSxbInBhdGgiLHtkOiJNOS41IDEySDE2In1dLFsicGF0aCIse2Q6Ik05LjUgMTZIMTQifV1dfSk7dmFyIE9JLF9OZT1mKCgpPT57T0k9W1sicGF0aCIse2Q6Ik0yIDZoNCJ9XSxbInBhdGgiLHtkOiJNMiAxMGg0In1dLFsicGF0aCIse2Q6Ik0yIDE0aDQifV0sWyJwYXRoIix7ZDoiTTIgMThoNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHg6IjQiLHk6IjIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSAydjIwIn1dLFsicGF0aCIse2Q6Ik0xNSA3aDUifV0sWyJwYXRoIix7ZDoiTTE1IDEyaDUifV0sWyJwYXRoIix7ZDoiTTE1IDE3aDUifV1dfSk7dmFyIEZJLFROZT1mKCgpPT57Rkk9W1sicGF0aCIse2Q6Ik0yIDZoNCJ9XSxbInBhdGgiLHtkOiJNMiAxMGg0In1dLFsicGF0aCIse2Q6Ik0yIDE0aDQifV0sWyJwYXRoIix7ZDoiTTIgMThoNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHg6IjQiLHk6IjIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNiAydjIwIn1dXX0pO3ZhciBCSSxMTmU9ZigoKT0+e0JJPVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMnYyIn1dLFsicGF0aCIse2Q6Ik0yMCAxOHYyYTIgMiAwIDAgMS0yIDJoLTEifV0sWyJwYXRoIix7ZDoiTTEzIDIyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIySDZhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInBhdGgiLHtkOiJNNCAxNHYtMiJ9XSxbInBhdGgiLHtkOiJNNCA4VjZhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik04IDEwaDYifV0sWyJwYXRoIix7ZDoiTTggMTRoOCJ9XSxbInBhdGgiLHtkOiJNOCAxOGg1In1dXX0pO3ZhciBISSwkTmU9ZigoKT0+e0hJPVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIxOCIseDoiNCIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggMTBoNiJ9XSxbInBhdGgiLHtkOiJNOCAxNGg4In1dLFsicGF0aCIse2Q6Ik04IDE4aDUifV1dfSk7dmFyIHFJLEROZT1mKCgpPT57cUk9W1sicGF0aCIse2Q6Ik0xMiA0VjIifV0sWyJwYXRoIix7ZDoiTTUgMTB2NGE3LjAwNCA3LjAwNCAwIDAgMCA1LjI3NyA2Ljc4N2MuNDEyLjEwNC44MDIuMjkyIDEuMTAyLjU5MkwxMiAyMmwuNjIxLS42MjFjLjMtLjMuNjktLjQ4OCAxLjEwMi0uNTkyYTcuMDEgNy4wMSAwIDAgMCA0LjEyNS0yLjkzOSJ9XSxbInBhdGgiLHtkOiJNMTkgMTB2My4zNDMifV0sWyJwYXRoIix7ZDoiTTEyIDEyYy0xLjM0OS0uNTczLTEuOTA1LTEuMDA1LTIuNS0yLS41NDYuOTAyLTEuMDQ4IDEuMzUzLTIuNSAyLTEuMDE4LS42NDQtMS40Ni0xLjA4LTItMi0xLjAyOC43MS0xLjY5LjkxOC0zIDEgMS4wODEtMS4wNDggMS43NTctMi4wMyAyLTMgLjE5NC0uNzc2Ljg0LTEuNTUxIDEuNzktMi4yMW0xMS42NTQgNS45OTdjLjg4Ny0uNDU3IDEuMjgtLjg5MSAxLjU1Ni0xLjc4NyAxLjAzMi45MTYgMS42ODMgMS4xNTcgMyAxLTEuMjk3LTEuMDM2LTEuNzU4LTIuMDMtMi0zLS41LTItNC00LTgtNC0uNzQgMC0xLjQ2MS4wNjgtMi4xNS4xOTIifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgVkksQU5lPWYoKCk9PntWST1bWyJwYXRoIix7ZDoiTTEyIDRWMiJ9XSxbInBhdGgiLHtkOiJNNSAxMHY0YTcuMDA0IDcuMDA0IDAgMCAwIDUuMjc3IDYuNzg3Yy40MTIuMTA0LjgwMi4yOTIgMS4xMDIuNTkyTDEyIDIybC42MjEtLjYyMWMuMy0uMy42OS0uNDg4IDEuMTAyLS41OTJBNy4wMDMgNy4wMDMgMCAwIDAgMTkgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTEyIDRDOCA0IDQuNSA2IDQgOGMtLjI0My45Ny0uOTE5IDEuOTUyLTIgMyAxLjMxLS4wODIgMS45NzItLjI5IDMtMSAuNTQuOTIuOTgyIDEuMzU2IDIgMiAxLjQ1Mi0uNjQ3IDEuOTU0LTEuMDk4IDIuNS0yIC41OTUuOTk1IDEuMTUxIDEuNDI3IDIuNSAyIDEuMzEtLjYyMSAxLjg2Mi0xLjA1OCAyLjUtMiAuNjI5Ljk3NyAxLjE2MiAxLjQyMyAyLjUgMiAxLjIwOS0uNTQ4IDEuNjgtLjk2NyAyLTIgMS4wMzIuOTE2IDEuNjgzIDEuMTU3IDMgMS0xLjI5Ny0xLjAzNi0xLjc1OC0yLjAzLTItMy0uNS0yLTQtNC04LTRaIn1dXX0pO3ZhciB6dSxQTmU9ZigoKT0+e3p1PVtbInBhdGgiLHtkOiJNMTIgMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiA4djQifV0sWyJwYXRoIix7ZDoiTTE1LjMxMiAyYTIgMiAwIDAgMSAxLjQxNC41ODZsNC42ODggNC42ODhBMiAyIDAgMCAxIDIyIDguNjg4djYuNjI0YTIgMiAwIDAgMS0uNTg2IDEuNDE0bC00LjY4OCA0LjY4OGEyIDIgMCAwIDEtMS40MTQuNTg2SDguNjg4YTIgMiAwIDAgMS0xLjQxNC0uNTg2bC00LjY4OC00LjY4OEEyIDIgMCAwIDEgMiAxNS4zMTJWOC42ODhhMiAyIDAgMCAxIC41ODYtMS40MTRsNC42ODgtNC42ODhBMiAyIDAgMCAxIDguNjg4IDJ6In1dXX0pO3ZhciBqSSxFTmU9ZigoKT0+e2pJPVtbInBhdGgiLHtkOiJNMi41ODYgMTYuNzI2QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMmg2LjYyNGEyIDIgMCAwIDEgMS40MTQuNTg2bDQuNjg4IDQuNjg4QTIgMiAwIDAgMSAyMiA4LjY4OHY2LjYyNGEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtNC42ODggNC42ODhhMiAyIDAgMCAxLTEuNDE0LjU4Nkg4LjY4OGEyIDIgMCAwIDEtMS40MTQtLjU4NnoifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XV19KTt2YXIgQ3UsSU5lPWYoKCk9PntDdT1bWyJwYXRoIix7ZDoiTTEwIDE1VjkifV0sWyJwYXRoIix7ZDoiTTE0IDE1VjkifV0sWyJwYXRoIix7ZDoiTTIuNTg2IDE2LjcyNkEyIDIgMCAwIDEgMiAxNS4zMTJWOC42ODhhMiAyIDAgMCAxIC41ODYtMS40MTRsNC42ODgtNC42ODhBMiAyIDAgMCAxIDguNjg4IDJoNi42MjRhMiAyIDAgMCAxIDEuNDE0LjU4Nmw0LjY4OCA0LjY4OEEyIDIgMCAwIDEgMjIgOC42ODh2Ni42MjRhMiAyIDAgMCAxLS41ODYgMS40MTRsLTQuNjg4IDQuNjg4YTIgMiAwIDAgMS0xLjQxNC41ODZIOC42ODhhMiAyIDAgMCAxLTEuNDE0LS41ODZ6In1dXX0pO3ZhciBVSSxOTmU9ZigoKT0+e1VJPVtbInBhdGgiLHtkOiJNMi41ODYgMTYuNzI2QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMmg2LjYyNGEyIDIgMCAwIDEgMS40MTQuNTg2bDQuNjg4IDQuNjg4QTIgMiAwIDAgMSAyMiA4LjY4OHY2LjYyNGEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtNC42ODggNC42ODhhMiAyIDAgMCAxLTEuNDE0LjU4Nkg4LjY4OGEyIDIgMCAwIDEtMS40MTQtLjU4NnoifV1dfSk7dmFyIF91LFJOZT1mKCgpPT57X3U9W1sicGF0aCIse2Q6Im0xNSA5LTYgNiJ9XSxbInBhdGgiLHtkOiJNMi41ODYgMTYuNzI2QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMmg2LjYyNGEyIDIgMCAwIDEgMS40MTQuNTg2bDQuNjg4IDQuNjg4QTIgMiAwIDAgMSAyMiA4LjY4OHY2LjYyNGEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtNC42ODggNC42ODhhMiAyIDAgMCAxLTEuNDE0LjU4Nkg4LjY4OGEyIDIgMCAwIDEtMS40MTQtLjU4NnoifV0sWyJwYXRoIix7ZDoibTkgOSA2IDYifV1dfSk7dmFyIFdJLE9OZT1mKCgpPT57V0k9W1sicGF0aCIse2Q6Ik0zIDIwaDQuNWEuNS41IDAgMCAwIC41LS41di0uMjgyYS41Mi41MiAwIDAgMC0uMjQ3LS40MzcgOCA4IDAgMSAxIDguNDk0LS4wMDEuNTIuNTIgMCAwIDAtLjI0Ny40Mzh2LjI4MmEuNS41IDAgMCAwIC41LjVIMjEifV1dfSk7dmFyIEdJLEZOZT1mKCgpPT57R0k9W1sicGF0aCIse2Q6Ik0zIDNoNmw2IDE4aDYifV0sWyJwYXRoIix7ZDoiTTE0IDNoNyJ9XV19KTt2YXIgWUksQk5lPWYoKCk9PntZST1bWyJwYXRoIix7ZDoiTTIwLjM0MSA2LjQ4NEExMCAxMCAwIDAgMSAxMC4yNjYgMjEuODUifV0sWyJwYXRoIix7ZDoiTTMuNjU5IDE3LjUxNkExMCAxMCAwIDAgMSAxMy43NCAyLjE1MiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiNSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTkiLHI6IjIifV1dfSk7dmFyIEtJLEhOZT1mKCgpPT57S0k9W1sicGF0aCIse2Q6Ik0xMiAxMlY0YTEgMSAwIDAgMSAxLTFoNi4yOTdhMSAxIDAgMCAxIC42NTEgMS43NTlsLTQuNjk2IDQuMDI1In1dLFsicGF0aCIse2Q6Im0xMiAyMS03LjQxNC03LjQxNEEyIDIgMCAwIDEgNCAxMi4xNzJWNi40MTVhMS4wMDIgMS4wMDIgMCAwIDEgMS43MDctLjcwN0wyMCAyMC4wMDkifV0sWyJwYXRoIix7ZDoibTEyLjIxNCAzLjM4MSA4LjQxNCAxNC45NjZhMSAxIDAgMCAxLS4xNjcgMS4xOTlsLTEuMTY4IDEuMTYzYTEgMSAwIDAgMS0uNzA2LjI5MUg2LjM1MWExIDEgMCAwIDEtLjYyNS0uMjE5TDMuMjUgMTguOGExIDEgMCAwIDEgLjYzMS0xLjc4MWw0LjE2NS4wMjcifV1dfSk7dmFyIFpJLHFOZT1mKCgpPT57Wkk9W1sicGF0aCIse2Q6Ik0xMiAzdjYifV0sWyJwYXRoIix7ZDoiTTE2Ljc2IDNhMiAyIDAgMCAxIDEuOCAxLjFsMi4yMyA0LjQ3OWEyIDIgMCAwIDEgLjIxLjg5MVYxOWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY5LjQ3MmEyIDIgMCAwIDEgLjIxMS0uODk0TDUuNDUgNC4xQTIgMiAwIDAgMSA3LjI0IDN6In1dLFsicGF0aCIse2Q6Ik0zLjA1NCA5LjAxM2gxNy44OTMifV1dfSk7dmFyIFhJLFZOZT1mKCgpPT57WEk9W1sicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XSxbInBhdGgiLHtkOiJtMTYgMTcgMiAyIDQtNCJ9XSxbInBhdGgiLHtkOiJNMjEgMTEuMTI3VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43MjlsNyA0YTIgMiAwIDAgMCAyIC4wMDFsMS4zMi0uNzUzIn1dLFsicGF0aCIse2Q6Ik0zLjI5IDcgMTIgMTJsOC43MS01In1dLFsicGF0aCIse2Q6Im03LjUgNC4yNyA4Ljk5NyA1LjE0OCJ9XV19KTt2YXIgUUksak5lPWYoKCk9PntRST1bWyJwYXRoIix7ZDoiTTEyIDIyVjEyIn1dLFsicGF0aCIse2Q6Ik0xNiAxN2g2In1dLFsicGF0aCIse2Q6Ik0yMSAxM1Y4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzI5bDcgNGEyIDIgMCAwIDAgMiAuMDAxbDEuNjc1LS45NTUifV0sWyJwYXRoIix7ZDoiTTMuMjkgNyAxMiAxMmw4LjcxLTUifV0sWyJwYXRoIix7ZDoibTcuNSA0LjI3IDguOTk3IDUuMTQ4In1dXX0pO3ZhciBKSSxVTmU9ZigoKT0+e0pJPVtbInBhdGgiLHtkOiJNMTIgMjJ2LTkifV0sWyJwYXRoIix7ZDoiTTE1LjE3IDIuMjFhMS42NyAxLjY3IDAgMCAxIDEuNjMgMEwyMSA0LjU3YTEuOTMgMS45MyAwIDAgMSAwIDMuMzZMOC44MiAxNC43OWExLjY1NSAxLjY1NSAwIDAgMS0xLjY0IDBMMyAxMi40M2ExLjkzIDEuOTMgMCAwIDEgMC0zLjM2eiJ9XSxbInBhdGgiLHtkOiJNMjAgMTN2My44N2EyLjA2IDIuMDYgMCAwIDEtMS4xMSAxLjgzbC02IDMuMDhhMS45MyAxLjkzIDAgMCAxLTEuNzggMGwtNi0zLjA4QTIuMDYgMi4wNiAwIDAgMSA0IDE2Ljg3VjEzIn1dLFsicGF0aCIse2Q6Ik0yMSAxMi40M2ExLjkzIDEuOTMgMCAwIDAgMC0zLjM2TDguODMgMi4yYTEuNjQgMS42NCAwIDAgMC0xLjYzIDBMMyA0LjU3YTEuOTMgMS45MyAwIDAgMCAwIDMuMzZsMTIuMTggNi44NmExLjYzNiAxLjYzNiAwIDAgMCAxLjYzIDB6In1dXX0pO3ZhciBlTixXTmU9ZigoKT0+e2VOPVtbInBhdGgiLHtkOiJNMTIgMjJWMTIifV0sWyJwYXRoIix7ZDoiTTE2IDE3aDYifV0sWyJwYXRoIix7ZDoiTTE5IDE0djYifV0sWyJwYXRoIix7ZDoiTTIxIDEwLjUzNVY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzI5bDcgNGEyIDIgMCAwIDAgMiAuMDAxbDEuNjc1LS45NTUifV0sWyJwYXRoIix7ZDoiTTMuMjkgNyAxMiAxMmw4LjcxLTUifV0sWyJwYXRoIix7ZDoibTcuNSA0LjI3IDguOTk3IDUuMTQ4In1dXX0pO3ZhciB0TixHTmU9ZigoKT0+e3ROPVtbInBhdGgiLHtkOiJNMTIgMjJWMTIifV0sWyJwYXRoIix7ZDoiTTIwLjI3IDE4LjI3IDIyIDIwIn1dLFsicGF0aCIse2Q6Ik0yMSAxMC40OThWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjcyOWw3IDRhMiAyIDAgMCAwIDIgLjAwMWwuOTgtLjU1OSJ9XSxbInBhdGgiLHtkOiJNMy4yOSA3IDEyIDEybDguNzEtNSJ9XSxbInBhdGgiLHtkOiJtNy41IDQuMjcgOC45OTcgNS4xNDgifV0sWyJjaXJjbGUiLHtjeDoiMTguNSIsY3k6IjE2LjUiLHI6IjIuNSJ9XV19KTt2YXIgYU4sWU5lPWYoKCk9PnthTj1bWyJwYXRoIix7ZDoiTTExIDIxLjczYTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzN6In1dLFsicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XSxbInBvbHlsaW5lIix7cG9pbnRzOiIzLjI5IDcgMTIgMTIgMjAuNzEgNyJ9XSxbInBhdGgiLHtkOiJtNy41IDQuMjcgOSA1LjE1In1dXX0pO3ZhciByTixLTmU9ZigoKT0+e3JOPVtbInBhdGgiLHtkOiJNMTIgMjJWMTIifV0sWyJwYXRoIix7ZDoibTE2LjUgMTQuNSA1IDUifV0sWyJwYXRoIix7ZDoibTE2LjUgMTkuNSA1LTUifV0sWyJwYXRoIix7ZDoiTTIxIDEwLjVWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjcyOWw3IDRhMiAyIDAgMCAwIDIgLjAwMWwuMTMtLjA3NCJ9XSxbInBhdGgiLHtkOiJNMy4yOSA3IDEyIDEybDguNzEtNSJ9XSxbInBhdGgiLHtkOiJtNy41IDQuMjcgOC45OTcgNS4xNDgifV1dfSk7dmFyIHNOLFpOZT1mKCgpPT57c049W1sicGF0aCIse2Q6Ik0xMSA3IDYgMiJ9XSxbInBhdGgiLHtkOiJNMTguOTkyIDEySDIuMDQxIn1dLFsicGF0aCIse2Q6Ik0yMS4xNDUgMTguMzhBMy4zNCAzLjM0IDAgMCAxIDIwIDE2LjVhMy4zIDMuMyAwIDAgMS0xLjE0NSAxLjg4Yy0uNTc1LjQ2LS44NTUgMS4wMi0uODU1IDEuNTk1QTIgMiAwIDAgMCAyMCAyMmEyIDIgMCAwIDAgMi0yLjAyNWMwLS41OC0uMjg1LTEuMTMtLjg1NS0xLjU5NSJ9XSxbInBhdGgiLHtkOiJtOC41IDQuNSAyLjE0OC0yLjE0OGExLjIwNSAxLjIwNSAwIDAgMSAxLjcwNCAwbDcuMjk2IDcuMjk2YTEuMjA1IDEuMjA1IDAgMCAxIDAgMS43MDRsLTcuNTkyIDcuNTkyYTMuNjE1IDMuNjE1IDAgMCAxLTUuMTEyIDBsLTMuODg4LTMuODg4YTMuNjE1IDMuNjE1IDAgMCAxIDAtNS4xMTJMNS42NyA3LjMzIn1dXX0pO3ZhciBpTixYTmU9ZigoKT0+e2lOPVtbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiNiIseDoiMiIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEwIDE2di0yYTIgMiAwIDAgMSAyLTJoOGEyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAwLTItMmgtMiJ9XSxbInJlY3QiLHt3aWR0aDoiNCIsaGVpZ2h0OiI2Iix4OiI4Iix5OiIxNiIscng6IjEifV1dfSk7dmFyIFR1LFFOZT1mKCgpPT57VHU9W1sicGF0aCIse2Q6Ik0xMCAydjIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTcgMmExIDEgMCAwIDEgMSAxdjlINlYzYTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik02IDEyYTEgMSAwIDAgMC0xIDF2MWEyIDIgMCAwIDAgMiAyaDJhMSAxIDAgMCAxIDEgMXYyLjlhMiAyIDAgMSAwIDQgMFYxN2ExIDEgMCAwIDEgMS0xaDJhMiAyIDAgMCAwIDItMnYtMWExIDEgMCAwIDAtMS0xIn1dXX0pO3ZhciBvTixKTmU9ZigoKT0+e29OPVtbInBhdGgiLHtkOiJtMTQuNjIyIDE3Ljg5Ny0xMC42OC0yLjkxMyJ9XSxbInBhdGgiLHtkOiJNMTguMzc2IDIuNjIyYTEgMSAwIDEgMSAzLjAwMiAzLjAwMkwxNy4zNiA5LjY0M2EuNS41IDAgMCAwIDAgLjcwN2wuOTQ0Ljk0NGEyLjQxIDIuNDEgMCAwIDEgMCAzLjQwOGwtLjk0NC45NDRhLjUuNSAwIDAgMS0uNzA3IDBMOC4zNTQgNy4zNDhhLjUuNSAwIDAgMSAwLS43MDdsLjk0NC0uOTQ0YTIuNDEgMi40MSAwIDAgMSAzLjQwOCAwbC45NDQuOTQ0YS41LjUgMCAwIDAgLjcwNyAweiJ9XSxbInBhdGgiLHtkOiJNOSA4Yy0xLjgwNCAyLjcxLTMuOTcgMy40Ni02LjU4MyAzLjk0OGEuNTA3LjUwNyAwIDAgMC0uMzAyLjgxOWw3LjMyIDguODgzYTEgMSAwIDAgMCAxLjE4NS4yMDRDMTIuNzM1IDIwLjQwNSAxNiAxNi43OTIgMTYgMTUifV1dfSk7dmFyIG5OLGVSZT1mKCgpPT57bk49W1sicGF0aCIse2Q6Ik0xMiAyMmExIDEgMCAwIDEgMC0yMCAxMCA5IDAgMCAxIDEwIDkgNSA1IDAgMCAxLTUgNWgtMi4yNWExLjc1IDEuNzUgMCAwIDAtMS40IDIuOGwuMy40YTEuNzUgMS43NSAwIDAgMS0xLjQgMi44eiJ9XSxbImNpcmNsZSIse2N4OiIxMy41IixjeToiNi41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsiY2lyY2xlIix7Y3g6IjE3LjUiLGN5OiIxMC41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsiY2lyY2xlIix7Y3g6IjYuNSIsY3k6IjEyLjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiNy41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dXX0pO3ZhciBsTix0UmU9ZigoKT0+e2xOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dLFsicGF0aCIse2Q6Im0xNSA4LTMgMy0zLTMifV1dfSk7dmFyIGNOLGFSZT1mKCgpPT57Y049W1sicGF0aCIse2Q6Ik0xMS4yNSAxNy4yNWgxLjVMMTIgMTh6In1dLFsicGF0aCIse2Q6Im0xNSAxMiAyIDIifV0sWyJwYXRoIix7ZDoiTTE4IDYuNWEuNS41IDAgMCAwLS41LS41In1dLFsicGF0aCIse2Q6Ik0yMC42OSA5LjY3YTQuNSA0LjUgMCAxIDAtNy4wNC01LjUgOC4zNSA4LjM1IDAgMCAwLTMuMyAwIDQuNSA0LjUgMCAxIDAtNy4wNCA1LjVDMi40OSAxMS4yIDIgMTIuODggMiAxNC41IDIgMTkuNDcgNi40OCAyMiAxMiAyMnMxMC0yLjUzIDEwLTcuNWMwLTEuNjItLjQ4LTMuMy0xLjMtNC44MyJ9XSxbInBhdGgiLHtkOiJNNiA2LjVhLjQ5NS40OTUgMCAwIDEgLjUtLjUifV0sWyJwYXRoIix7ZDoibTkgMTItMiAyIn1dXX0pO3ZhciBMdSxyUmU9ZigoKT0+e0x1PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNCAxNWgxIn1dLFsicGF0aCIse2Q6Ik0xOSAxNWgyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDIifV0sWyJwYXRoIix7ZDoiTTkgMTVoMSJ9XV19KTt2YXIgZE4sc1JlPWYoKCk9PntkTj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxNWgxOCJ9XSxbInBhdGgiLHtkOiJtOSAxMCAzLTMgMyAzIn1dXX0pO3ZhciB1TixpUmU9ZigoKT0+e3VOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dXX0pO3ZhciAkdSxvUmU9ZigoKT0+eyR1PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik05IDN2MTgifV0sWyJwYXRoIix7ZDoibTE2IDE1LTMtMyAzLTMifV1dfSk7dmFyIER1LG5SZT1mKCgpPT57RHU9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgMTR2MSJ9XSxbInBhdGgiLHtkOiJNOSAxOXYyIn1dLFsicGF0aCIse2Q6Ik05IDN2MiJ9XSxbInBhdGgiLHtkOiJNOSA5djEifV1dfSk7dmFyIEF1LGxSZT1mKCgpPT57QXU9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgM3YxOCJ9XSxbInBhdGgiLHtkOiJtMTQgOSAzIDMtMyAzIn1dXX0pO3ZhciBwTixjUmU9ZigoKT0+e3BOPVtbInBhdGgiLHtkOiJNMTUgMTBWOSJ9XSxbInBhdGgiLHtkOiJNMTUgMTV2LTEifV0sWyJwYXRoIix7ZDoiTTE1IDIxdi0yIn1dLFsicGF0aCIse2Q6Ik0xNSA1VjMifV0sWyJwYXRoIix7ZDoiTTkgMTBWOSJ9XSxbInBhdGgiLHtkOiJNOSAxNXYtMSJ9XSxbInBhdGgiLHtkOiJNOSAyMXYtMiJ9XSxbInBhdGgiLHtkOiJNOSA1VjMifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV19KTt2YXIgUHUsZFJlPWYoKCk9PntQdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dXX0pO3ZhciBmTix1UmU9ZigoKT0+e2ZOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSAzdjE4In1dLFsicGF0aCIse2Q6Im04IDkgMyAzLTMgMyJ9XV19KTt2YXIgRXUscFJlPWYoKCk9PntFdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMTUgMTl2MiJ9XSxbInBhdGgiLHtkOiJNMTUgM3YyIn1dLFsicGF0aCIse2Q6Ik0xNSA5djEifV1dfSk7dmFyIGhOLGZSZT1mKCgpPT57aE49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE1IDN2MTgifV0sWyJwYXRoIix7ZDoibTEwIDE1LTMtMyAzLTMifV1dfSk7dmFyIG1OLGhSZT1mKCgpPT57bU49W1sicGF0aCIse2Q6Ik0xNCAxNWgxIn1dLFsicGF0aCIse2Q6Ik0xNCA5aDEifV0sWyJwYXRoIix7ZDoiTTE5IDE1aDIifV0sWyJwYXRoIix7ZDoiTTE5IDloMiJ9XSxbInBhdGgiLHtkOiJNMyAxNWgyIn1dLFsicGF0aCIse2Q6Ik0zIDloMiJ9XSxbInBhdGgiLHtkOiJNOSAxNWgxIn1dLFsicGF0aCIse2Q6Ik05IDloMSJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBnTixtUmU9ZigoKT0+e2dOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSAzdjE4In1dXX0pO3ZhciBiTixnUmU9ZigoKT0+e2JOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoibTkgMTYgMy0zIDMgMyJ9XV19KTt2YXIgSXUsYlJlPWYoKCk9PntJdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTQgOWgxIn1dLFsicGF0aCIse2Q6Ik0xOSA5aDIifV0sWyJwYXRoIix7ZDoiTTMgOWgyIn1dLFsicGF0aCIse2Q6Ik05IDloMSJ9XV19KTt2YXIgdk4sdlJlPWYoKCk9Pnt2Tj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyA5aDE4In1dLFsicGF0aCIse2Q6Im0xNSAxNC0zIDMtMy0zIn1dXX0pO3ZhciB4Tix4UmU9ZigoKT0+e3hOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV1dfSk7dmFyIHlOLHlSZT1mKCgpPT57eU49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgM3YxOCJ9XSxbInBhdGgiLHtkOiJNOSAxNWgxMiJ9XV19KTt2YXIgd04sd1JlPWYoKCk9Pnt3Tj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxNWgxMiJ9XSxbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XV19KTt2YXIgTnUsTVJlPWYoKCk9PntOdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyA5aDE4In1dLFsicGF0aCIse2Q6Ik05IDIxVjkifV1dfSk7dmFyIE1OLGtSZT1mKCgpPT57TU49W1sicGF0aCIse2Q6Im0xNiA2LTguNDE0IDguNTg2YTIgMiAwIDAgMCAyLjgyOSAyLjgyOWw4LjQxNC04LjU4NmE0IDQgMCAxIDAtNS42NTctNS42NTdsLTguMzc5IDguNTUxYTYgNiAwIDEgMCA4LjQ4NSA4LjQ4NWw4LjM3OS04LjU1MSJ9XV19KTt2YXIga04sU1JlPWYoKCk9PntrTj1bWyJwYXRoIix7ZDoiTTggMjFzLTQtMy00LTkgNC05IDQtOSJ9XSxbInBhdGgiLHtkOiJNMTYgM3M0IDMgNCA5LTQgOS00IDkifV1dfSk7dmFyIFNOLHpSZT1mKCgpPT57U049W1sicGF0aCIse2Q6Ik0xMSAxNWgyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMnYzIn1dLFsicGF0aCIse2Q6Ik0xMiAxOXYzIn1dLFsicGF0aCIse2Q6Ik0xNS4yODIgMTlhMSAxIDAgMCAwIC45NDgtLjY4bDIuMzctNi45ODhhNyA3IDAgMSAwLTEzLjIgMGwyLjM3IDYuOTg4YTEgMSAwIDAgMCAuOTQ4LjY4eiJ9XSxbInBhdGgiLHtkOiJNOSA5YTMgMyAwIDEgMSA2IDAifV1dfSk7dmFyIHpOLENSZT1mKCgpPT57ek49W1sicmVjdCIse3g6IjE0Iix5OiIzIix3aWR0aDoiNSIsaGVpZ2h0OiIxOCIscng6IjEifV0sWyJyZWN0Iix7eDoiNSIseToiMyIsd2lkdGg6IjUiLGhlaWdodDoiMTgiLHJ4OiIxIn1dXX0pO3ZhciBDTixfUmU9ZigoKT0+e0NOPVtbInBhdGgiLHtkOiJNNS44IDExLjMgMiAyMmwxMC43LTMuNzkifV0sWyJwYXRoIix7ZDoiTTQgM2guMDEifV0sWyJwYXRoIix7ZDoiTTIyIDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSAyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMjIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Im0yMiAyLTIuMjQuNzVhMi45IDIuOSAwIDAgMC0xLjk2IDMuMTJjLjEuODYtLjU3IDEuNjMtMS40NSAxLjYzaC0uMzhjLS44NiAwLTEuNi42LTEuNzYgMS40NEwxNCAxMCJ9XSxbInBhdGgiLHtkOiJtMjIgMTMtLjgyLS4zM2MtLjg2LS4zNC0xLjgyLjItMS45OCAxLjExYy0uMTEuNy0uNzIgMS4yMi0xLjQzIDEuMjJIMTcifV0sWyJwYXRoIix7ZDoibTExIDIgLjMzLjgyYy4zNC44Ni0uMiAxLjgyLTEuMTEgMS45OEM5LjUyIDQuOSA5IDUuNTIgOSA2LjIzVjcifV0sWyJwYXRoIix7ZDoiTTExIDEzYzEuOTMgMS45MyAyLjgzIDQuMTcgMiA1LS44My44My0zLjA3LS4wNy01LTItMS45My0xLjkzLTIuODMtNC4xNy0yLTUgLjgzLS44MyAzLjA3LjA3IDUgMloifV1dfSk7dmFyIF9OLFRSZT1mKCgpPT57X049W1siY2lyY2xlIix7Y3g6IjExIixjeToiNCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjgiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxNiIscjoiMiJ9XSxbInBhdGgiLHtkOiJNOSAxMGE1IDUgMCAwIDEgNSA1djMuNWEzLjUgMy41IDAgMCAxLTYuODQgMS4wNDVRNi41MiAxNy40OCA0LjQ2IDE2Ljg0QTMuNSAzLjUgMCAwIDEgNS41IDEwWiJ9XV19KTt2YXIgVE4sTFJlPWYoKCk9PntUTj1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjIwIix4OiI1Iix5OiIyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik05IDZoNiJ9XSxbInBhdGgiLHtkOiJNOSAxMGg2In1dXX0pO3ZhciBSdSwkUmU9ZigoKT0+e1J1PVtbInBhdGgiLHtkOiJNMTMgMjFoOCJ9XSxbInBhdGgiLHtkOiJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiJ9XV19KTt2YXIgTE4sRFJlPWYoKCk9PntMTj1bWyJwYXRoIix7ZDoibTEwIDEwLTYuMTU3IDYuMTYyYTIgMiAwIDAgMC0uNS44MzNsLTEuMzIyIDQuMzZhLjUuNSAwIDAgMCAuNjIyLjYyNGw0LjM1OC0xLjMyM2EyIDIgMCAwIDAgLjgzLS41TDE0IDEzLjk4MiJ9XSxbInBhdGgiLHtkOiJtMTIuODI5IDcuMTcyIDQuMzU5LTQuMzQ2YTEgMSAwIDEgMSAzLjk4NiAzLjk4NmwtNC4zNTMgNC4zNTMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgT3UsQVJlPWYoKCk9PntPdT1bWyJwYXRoIix7ZDoiTTIxLjE3NCA2LjgxMmExIDEgMCAwIDAtMy45ODYtMy45ODdMMy44NDIgMTYuMTc0YTIgMiAwIDAgMC0uNS44M2wtMS4zMjEgNC4zNTJhLjUuNSAwIDAgMCAuNjIzLjYyMmw0LjM1My0xLjMyYTIgMiAwIDAgMCAuODMtLjQ5N3oifV1dfSk7dmFyICROLFBSZT1mKCgpPT57JE49W1sicGF0aCIse2Q6Ik0xNS43MDcgMjEuMjkzYTEgMSAwIDAgMS0xLjQxNCAwbC0xLjU4Ni0xLjU4NmExIDEgMCAwIDEgMC0xLjQxNGw1LjU4Ni01LjU4NmExIDEgMCAwIDEgMS40MTQgMGwxLjU4NiAxLjU4NmExIDEgMCAwIDEgMCAxLjQxNHoifV0sWyJwYXRoIix7ZDoibTE4IDEzLTEuMzc1LTYuODc0YTEgMSAwIDAgMC0uNzQ2LS43NzZMMy4yMzUgMi4wMjhhMSAxIDAgMCAwLTEuMjA3IDEuMjA3TDUuMzUgMTUuODc5YTEgMSAwIDAgMCAuNzc2Ljc0NkwxMyAxOCJ9XSxbInBhdGgiLHtkOiJtMi4zIDIuMyA3LjI4NiA3LjI4NiJ9XSxbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiIyIn1dXX0pO3ZhciBETixFUmU9ZigoKT0+e0ROPVtbInBhdGgiLHtkOiJNMTMgMjFoOCJ9XSxbInBhdGgiLHtkOiJtMTUgNSA0IDQifV0sWyJwYXRoIix7ZDoiTTIxLjE3NCA2LjgxMmExIDEgMCAwIDAtMy45ODYtMy45ODdMMy44NDIgMTYuMTc0YTIgMiAwIDAgMC0uNS44M2wtMS4zMjEgNC4zNTJhLjUuNSAwIDAgMCAuNjIzLjYyMmw0LjM1My0xLjMyYTIgMiAwIDAgMCAuODMtLjQ5N3oifV1dfSk7dmFyIEFOLElSZT1mKCgpPT57QU49W1sicGF0aCIse2Q6Im0xMCAxMC02LjE1NyA2LjE2MmEyIDIgMCAwIDAtLjUuODMzbC0xLjMyMiA0LjM2YS41LjUgMCAwIDAgLjYyMi42MjRsNC4zNTgtMS4zMjNhMiAyIDAgMCAwIC44My0uNUwxNCAxMy45ODIifV0sWyJwYXRoIix7ZDoibTEyLjgyOSA3LjE3MiA0LjM1OS00LjM0NmExIDEgMCAxIDEgMy45ODYgMy45ODZsLTQuMzUzIDQuMzUzIn1dLFsicGF0aCIse2Q6Im0xNSA1IDQgNCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBQTixOUmU9ZigoKT0+e1BOPVtbInBhdGgiLHtkOiJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiJ9XSxbInBhdGgiLHtkOiJtMTUgNSA0IDQifV1dfSk7dmFyIEVOLFJSZT1mKCgpPT57RU49W1sicGF0aCIse2Q6Ik0xMyA3IDguNyAyLjdhMi40MSAyLjQxIDAgMCAwLTMuNCAwTDIuNyA1LjNhMi40MSAyLjQxIDAgMCAwIDAgMy40TDcgMTMifV0sWyJwYXRoIix7ZDoibTggNiAyLTIifV0sWyJwYXRoIix7ZDoibTE4IDE2IDItMiJ9XSxbInBhdGgiLHtkOiJtMTcgMTEgNC4zIDQuM2MuOTQuOTQuOTQgMi40NiAwIDMuNGwtMi42IDIuNmMtLjk0Ljk0LTIuNDYuOTQtMy40IDBMMTEgMTcifV0sWyJwYXRoIix7ZDoiTTIxLjE3NCA2LjgxMmExIDEgMCAwIDAtMy45ODYtMy45ODdMMy44NDIgMTYuMTc0YTIgMiAwIDAgMC0uNS44M2wtMS4zMjEgNC4zNTJhLjUuNSAwIDAgMCAuNjIzLjYyMmw0LjM1My0xLjMyYTIgMiAwIDAgMCAuODMtLjQ5N3oifV0sWyJwYXRoIix7ZDoibTE1IDUgNCA0In1dXX0pO3ZhciBJTixPUmU9ZigoKT0+e0lOPVtbInBhdGgiLHtkOiJNMTAuODMgMi4zOGEyIDIgMCAwIDEgMi4zNCAwbDggNS43NGEyIDIgMCAwIDEgLjczIDIuMjVsLTMuMDQgOS4yNmEyIDIgMCAwIDEtMS45IDEuMzdINy4wNGEyIDIgMCAwIDEtMS45LTEuMzdMMi4xIDEwLjM3YTIgMiAwIDAgMSAuNzMtMi4yNXoifV1dfSk7dmFyIE5OLEZSZT1mKCgpPT57Tk49W1sibGluZSIse3gxOiIxOSIseDI6IjUiLHkxOiI1Iix5MjoiMTkifV0sWyJjaXJjbGUiLHtjeDoiNi41IixjeToiNi41IixyOiIyLjUifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjE3LjUiLHI6IjIuNSJ9XV19KTt2YXIgUk4sQlJlPWYoKCk9PntSTj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIxIn1dLFsicGF0aCIse2Q6Im05IDIwIDMtNiAzIDYifV0sWyJwYXRoIix7ZDoibTYgOCA2IDIgNi0yIn1dLFsicGF0aCIse2Q6Ik0xMiAxMHY0In1dXX0pO3ZhciBPTixIUmU9ZigoKT0+e09OPVtbInBhdGgiLHtkOiJNMjAgMTFINCJ9XSxbInBhdGgiLHtkOiJNMjAgN0g0In1dLFsicGF0aCIse2Q6Ik03IDIxVjRhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAwIDEySDcifV1dfSk7dmFyIEZOLHFSZT1mKCgpPT57Rk49W1sicGF0aCIse2Q6Ik0xMyAyYTkgOSAwIDAgMSA5IDkifV0sWyJwYXRoIix7ZDoiTTEzIDZhNSA1IDAgMCAxIDUgNSJ9XSxbInBhdGgiLHtkOiJNMTMuODMyIDE2LjU2OGExIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgNi4zOTIgNi4zODQifV1dfSk7dmFyIEJOLFZSZT1mKCgpPT57Qk49W1sicGF0aCIse2Q6Ik0xNCA2aDgifV0sWyJwYXRoIix7ZDoibTE4IDIgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMTMuODMyIDE2LjU2OGExIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgNi4zOTIgNi4zODQifV1dfSk7dmFyIEhOLGpSZT1mKCgpPT57SE49W1sicGF0aCIse2Q6Ik0xNiAydjZoNiJ9XSxbInBhdGgiLHtkOiJtMjIgMi02IDYifV0sWyJwYXRoIix7ZDoiTTEzLjgzMiAxNi41NjhhMSAxIDAgMCAwIDEuMjEzLS4zMDNsLjM1NS0uNDY1QTIgMiAwIDAgMSAxNyAxNWgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAyQTE4IDE4IDAgMCAxIDIgNGEyIDIgMCAwIDEgMi0yaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0uOCAxLjZsLS40NjguMzUxYTEgMSAwIDAgMC0uMjkyIDEuMjMzIDE0IDE0IDAgMCAwIDYuMzkyIDYuMzg0In1dXX0pO3ZhciBxTixVUmU9ZigoKT0+e3FOPVtbInBhdGgiLHtkOiJtMTYgMiA2IDYifV0sWyJwYXRoIix7ZDoibTIyIDItNiA2In1dLFsicGF0aCIse2Q6Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCJ9XV19KTt2YXIgVk4sV1JlPWYoKCk9PntWTj1bWyJwYXRoIix7ZDoiTTEwLjEgMTMuOWExNCAxNCAwIDAgMCAzLjczMiAyLjY2OCAxIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDIgMTggMTggMCAwIDEtMTIuNzI4LTUuMjcyIn1dLFsicGF0aCIse2Q6Ik0yMiAyIDIgMjIifV0sWyJwYXRoIix7ZDoiTTQuNzYgMTMuNTgyQTE4IDE4IDAgMCAxIDIgNGEyIDIgMCAwIDEgMi0yaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0uOCAxLjZsLS40NjguMzUxYTEgMSAwIDAgMC0uMjkyIDEuMjMzIDE0IDE0IDAgMCAwIC4yNDQuNDczIn1dXX0pO3ZhciBqTixHUmU9ZigoKT0+e2pOPVtbInBhdGgiLHtkOiJtMTYgOCA2LTYifV0sWyJwYXRoIix7ZDoiTTIyIDhWMmgtNiJ9XSxbInBhdGgiLHtkOiJNMTMuODMyIDE2LjU2OGExIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgNi4zOTIgNi4zODQifV1dfSk7dmFyIFVOLFlSZT1mKCgpPT57VU49W1sibGluZSIse3gxOiI5Iix4MjoiOSIseTE6IjQiLHkyOiIyMCJ9XSxbInBhdGgiLHtkOiJNNCA3YzAtMS43IDEuMy0zIDMtM2gxMyJ9XSxbInBhdGgiLHtkOiJNMTggMjBjLTEuNyAwLTMtMS4zLTMtM1Y0In1dXX0pO3ZhciBXTixLUmU9ZigoKT0+e1dOPVtbInBhdGgiLHtkOiJNMTMuODMyIDE2LjU2OGExIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgNi4zOTIgNi4zODQifV1dfSk7dmFyIEdOLFpSZT1mKCgpPT57R049W1sicGF0aCIse2Q6Ik0xOC41IDhjLTEuNCAwLTIuNi0uOC0zLjItMkE2Ljg3IDYuODcgMCAwIDAgMiA5djExYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtOC41QzIyIDkuNiAyMC40IDggMTguNSA4In1dLFsicGF0aCIse2Q6Ik0yIDE0aDIwIn1dLFsicGF0aCIse2Q6Ik02IDE0djQifV0sWyJwYXRoIix7ZDoiTTEwIDE0djQifV0sWyJwYXRoIix7ZDoiTTE0IDE0djQifV0sWyJwYXRoIix7ZDoiTTE4IDE0djQifV1dfSk7dmFyIFlOLFhSZT1mKCgpPT57WU49W1sicGF0aCIse2Q6Im0xNCAxMy04LjM4MSA4LjM4YTEgMSAwIDAgMS0zLjAwMS0zTDExIDkuOTk5In1dLFsicGF0aCIse2Q6Ik0xNS45NzMgNC4wMjdBMTMgMTMgMCAwIDAgNS45MDIgMi4zNzNjLTEuMzk4LjM0Mi0xLjA5MiAyLjE1OC4yNzcgMi42MDFhMTkuOSAxOS45IDAgMCAxIDUuODIyIDMuMDI0In1dLFsicGF0aCIse2Q6Ik0xNi4wMDEgMTEuOTk5YTE5LjkgMTkuOSAwIDAgMSAzLjAyNCA1LjgyNGMuNDQ0IDEuMzY5IDIuMjYgMS42NzYgMi42MDMuMjc4QTEzIDEzIDAgMCAwIDIwIDguMDY5In1dLFsicGF0aCIse2Q6Ik0xOC4zNTIgMy4zNTJhMS4yMDUgMS4yMDUgMCAwIDAtMS43MDQgMGwtNS4yOTYgNS4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMCAxLjcwNGwyLjI5NiAyLjI5NmExLjIwNSAxLjIwNSAwIDAgMCAxLjcwNCAwbDUuMjk2LTUuMjk2YTEuMjA1IDEuMjA1IDAgMCAwIDAtMS43MDR6In1dXX0pO3ZhciBLTixRUmU9ZigoKT0+e0tOPVtbInBhdGgiLHtkOiJNMjEgOVY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEwYzAgMS4xLjkgMiAyIDJoNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNyIseDoiMTIiLHk6IjEzIixyeDoiMiJ9XV19KTt2YXIgWk4sSlJlPWYoKCk9PntaTj1bWyJwYXRoIix7ZDoiTTIgMTBoNlY0In1dLFsicGF0aCIse2Q6Im0yIDQgNiA2In1dLFsicGF0aCIse2Q6Ik0yMSAxMFY3YTIgMiAwIDAgMC0yLTJoLTcifV0sWyJwYXRoIix7ZDoiTTMgMTR2MmEyIDIgMCAwIDAgMiAyaDMifV0sWyJyZWN0Iix7eDoiMTIiLHk6IjE0Iix3aWR0aDoiMTAiLGhlaWdodDoiNyIscng6IjEifV1dfSk7dmFyIFhOLGVPZT1mKCgpPT57WE49W1sicGF0aCIse2Q6Ik0xMSAxN2gzdjJhMSAxIDAgMCAwIDEgMWgyYTEgMSAwIDAgMCAxLTF2LTNhMy4xNiAzLjE2IDAgMCAwIDItMmgxYTEgMSAwIDAgMCAxLTF2LTJhMSAxIDAgMCAwLTEtMWgtMWE1IDUgMCAwIDAtMi00VjNhNCA0IDAgMCAwLTMuMiAxLjZsLS4zLjRIMTFhNiA2IDAgMCAwLTYgNnYxYTUgNSAwIDAgMCAyIDR2M2ExIDEgMCAwIDAgMSAxaDJhMSAxIDAgMCAwIDEtMXoifV0sWyJwYXRoIix7ZDoiTTE2IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMiA4djFhMiAyIDAgMCAwIDIgMmgxIn1dXX0pO3ZhciBRTix0T2U9ZigoKT0+e1FOPVtbInBhdGgiLHtkOiJNMTQgM3YxMSJ9XSxbInBhdGgiLHtkOiJNMTQgOWgtM2EzIDMgMCAwIDEgMC02aDkifV0sWyJwYXRoIix7ZDoiTTE4IDN2MTEifV0sWyJwYXRoIix7ZDoiTTIyIDE4SDJsNC00In1dLFsicGF0aCIse2Q6Im02IDIyLTQtNCJ9XV19KTt2YXIgSk4sYU9lPWYoKCk9PntKTj1bWyJwYXRoIix7ZDoiTTEwIDN2MTEifV0sWyJwYXRoIix7ZDoiTTEwIDlIN2ExIDEgMCAwIDEgMC02aDgifV0sWyJwYXRoIix7ZDoiTTE0IDN2MTEifV0sWyJwYXRoIix7ZDoibTE4IDE0IDQgNEgyIn1dLFsicGF0aCIse2Q6Im0yMiAxOC00IDQifV1dfSk7dmFyIGVSLHJPZT1mKCgpPT57ZVI9W1sicGF0aCIse2Q6Ik0xMyA0djE2In1dLFsicGF0aCIse2Q6Ik0xNyA0djE2In1dLFsicGF0aCIse2Q6Ik0xOSA0SDkuNWE0LjUgNC41IDAgMCAwIDAgOUgxMyJ9XV19KTt2YXIgdFIsc09lPWYoKCk9Pnt0Uj1bWyJwYXRoIix7ZDoiTTE4IDExaC00YTEgMSAwIDAgMC0xIDF2NWExIDEgMCAwIDAgMSAxaDQifV0sWyJwYXRoIix7ZDoiTTYgN3YxM2EyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlY3In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiI1Iix4OiI0Iix5OiIyIixyeDoiMSJ9XV19KTt2YXIgYVIsaU9lPWYoKCk9PnthUj1bWyJwYXRoIix7ZDoiTTEyIDE3djUifV0sWyJwYXRoIix7ZDoiTTE1IDkuMzRWN2ExIDEgMCAwIDEgMS0xIDIgMiAwIDAgMCAwLTRINy44OSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik05IDl2MS43NmEyIDIgMCAwIDEtMS4xMSAxLjc5bC0xLjc4LjlBMiAyIDAgMCAwIDUgMTUuMjRWMTZhMSAxIDAgMCAwIDEgMWgxMSJ9XV19KTt2YXIgclIsb09lPWYoKCk9PntyUj1bWyJwYXRoIix7ZDoibTEwLjUgMjAuNSAxMC0xMGE0Ljk1IDQuOTUgMCAxIDAtNy03bC0xMCAxMGE0Ljk1IDQuOTUgMCAxIDAgNyA3WiJ9XSxbInBhdGgiLHtkOiJtOC41IDguNSA3IDcifV1dfSk7dmFyIHNSLG5PZT1mKCgpPT57c1I9W1sicGF0aCIse2Q6Ik0xMiAxN3Y1In1dLFsicGF0aCIse2Q6Ik05IDEwLjc2YTIgMiAwIDAgMS0xLjExIDEuNzlsLTEuNzguOUEyIDIgMCAwIDAgNSAxNS4yNFYxNmExIDEgMCAwIDAgMSAxaDEyYTEgMSAwIDAgMCAxLTF2LS43NmEyIDIgMCAwIDAtMS4xMS0xLjc5bC0xLjc4LS45QTIgMiAwIDAgMSAxNSAxMC43NlY3YTEgMSAwIDAgMSAxLTEgMiAyIDAgMCAwIDAtNEg4YTIgMiAwIDAgMCAwIDQgMSAxIDAgMCAxIDEgMXoifV1dfSk7dmFyIGlSLGxPZT1mKCgpPT57aVI9W1sicGF0aCIse2Q6Im0xMiA5LTguNDE0IDguNDE0QTIgMiAwIDAgMCAzIDE4LjgyOHYxLjM0NGEyIDIgMCAwIDEtLjU4NiAxLjQxNEEyIDIgMCAwIDEgMy44MjggMjFoMS4zNDRhMiAyIDAgMCAwIDEuNDE0LS41ODZMMTUgMTIifV0sWyJwYXRoIix7ZDoibTE4IDkgLjQuNGExIDEgMCAxIDEtMyAzbC0zLjgtMy44YTEgMSAwIDEgMSAzLTNsLjQuNCAzLjQtMy40YTEgMSAwIDEgMSAzIDN6In1dLFsicGF0aCIse2Q6Im0yIDIyIC40MTQtLjQxNCJ9XV19KTt2YXIgb1IsY09lPWYoKCk9PntvUj1bWyJwYXRoIix7ZDoibTEyIDE0LTEgMSJ9XSxbInBhdGgiLHtkOiJtMTMuNzUgMTguMjUtMS4yNSAxLjQyIn1dLFsicGF0aCIse2Q6Ik0xNy43NzUgNS42NTRhMTUuNjggMTUuNjggMCAwIDAtMTIuMTIxIDEyLjEyIn1dLFsicGF0aCIse2Q6Ik0xOC44IDkuM2ExIDEgMCAwIDAgMi4xIDcuNyJ9XSxbInBhdGgiLHtkOiJNMjEuOTY0IDIwLjczMmExIDEgMCAwIDEtMS4yMzIgMS4yMzJsLTE4LTVhMSAxIDAgMCAxLS42OTUtMS4yMzJBMTkuNjggMTkuNjggMCAwIDEgMTUuNzMyIDIuMDM3YTEgMSAwIDAgMSAxLjIzMi42OTV6In1dXX0pO3ZhciBuUixkT2U9ZigoKT0+e25SPVtbInBhdGgiLHtkOiJNMiAyMmgyMCJ9XSxbInBhdGgiLHtkOiJNMy43NyAxMC43NyAyIDlsMi00LjUgMS4xLjU1Yy41NS4yOC45Ljg0LjkgMS40NXMuMzUgMS4xNy45IDEuNDVMOCA4LjVsMy02IDEuMDUuNTNhMiAyIDAgMCAxIDEuMDkgMS41MmwuNzIgNS40YTIgMiAwIDAgMCAxLjA5IDEuNTJsNC40IDIuMmMuNDIuMjIuNzguNTUgMS4wMS45NmwuNiAxLjAzYy40OS44OC0uMDYgMS45OC0xLjA2IDIuMWwtMS4xOC4xNWMtLjQ3LjA2LS45NS0uMDItMS4zNy0uMjRMNC4yOSAxMS4xNWEyIDIgMCAwIDEtLjUyLS4zOFoifV1dfSk7dmFyIGxSLHVPZT1mKCgpPT57bFI9W1sicGF0aCIse2Q6Ik0yIDIyaDIwIn1dLFsicGF0aCIse2Q6Ik02LjM2IDE3LjQgNCAxN2wtMi00IDEuMS0uNTVhMiAyIDAgMCAxIDEuOCAwbC4xNy4xYTIgMiAwIDAgMCAxLjggMEw4IDEyIDUgNmwuOS0uNDVhMiAyIDAgMCAxIDIuMDkuMmw0LjAyIDNhMiAyIDAgMCAwIDIuMS4ybDQuMTktMi4wNmEyLjQxIDIuNDEgMCAwIDEgMS43My0uMTdMMjEgN2ExLjQgMS40IDAgMCAxIC44NyAxLjk5bC0uMzguNzZjLS4yMy40Ni0uNi44NC0xLjA3IDEuMDhMNy41OCAxNy4yYTIgMiAwIDAgMS0xLjIyLjE4WiJ9XV19KTt2YXIgY1IscE9lPWYoKCk9PntjUj1bWyJwYXRoIix7ZDoiTTE3LjggMTkuMiAxNiAxMWwzLjUtMy41QzIxIDYgMjEuNSA0IDIxIDNjLTEtLjUtMyAwLTQuNSAxLjVMMTMgOCA0LjggNi4yYy0uNS0uMS0uOS4xLTEuMS41bC0uMy41Yy0uMi41LS4xIDEgLjMgMS4zTDkgMTJsLTIgM0g0bC0xIDEgMyAyIDIgMyAxLTF2LTNsMy0yIDMuNSA1LjNjLjMuNC44LjUgMS4zLjNsLjUtLjJjLjQtLjMuNi0uNy41LTEuMnoifV1dfSk7dmFyIGRSLGZPZT1mKCgpPT57ZFI9W1sicGF0aCIse2Q6Ik01IDVhMiAyIDAgMCAxIDMuMDA4LTEuNzI4bDExLjk5NyA2Ljk5OGEyIDIgMCAwIDEgLjAwMyAzLjQ1OGwtMTIgN0EyIDIgMCAwIDEgNSAxOXoifV1dfSk7dmFyIHVSLGhPZT1mKCgpPT57dVI9W1sicGF0aCIse2Q6Ik05IDJ2NiJ9XSxbInBhdGgiLHtkOiJNMTUgMnY2In1dLFsicGF0aCIse2Q6Ik0xMiAxN3Y1In1dLFsicGF0aCIse2Q6Ik01IDhoMTQifV0sWyJwYXRoIix7ZDoiTTYgMTFWOGgxMnYzYTYgNiAwIDEgMS0xMiAwWiJ9XV19KTt2YXIgRnUsbU9lPWYoKCk9PntGdT1bWyJwYXRoIix7ZDoiTTYuMyAyMC4zYTIuNCAyLjQgMCAwIDAgMy40IDBMMTIgMThsLTYtNi0yLjMgMi4zYTIuNCAyLjQgMCAwIDAgMCAzLjRaIn1dLFsicGF0aCIse2Q6Im0yIDIyIDMtMyJ9XSxbInBhdGgiLHtkOiJNNy41IDEzLjUgMTAgMTEifV0sWyJwYXRoIix7ZDoiTTEwLjUgMTYuNSAxMyAxNCJ9XSxbInBhdGgiLHtkOiJtMTggMy00IDRoNmwtNCA0In1dXX0pO3ZhciBwUixnT2U9ZigoKT0+e3BSPVtbInBhdGgiLHtkOiJNMTIgMjJ2LTUifV0sWyJwYXRoIix7ZDoiTTE1IDhWMiJ9XSxbInBhdGgiLHtkOiJNMTcgOGExIDEgMCAwIDEgMSAxdjRhNCA0IDAgMCAxLTQgNGgtNGE0IDQgMCAwIDEtNC00VjlhMSAxIDAgMCAxIDEtMXoifV0sWyJwYXRoIix7ZDoiTTkgOFYyIn1dXX0pO3ZhciBmUixiT2U9ZigoKT0+e2ZSPVtbInBhdGgiLHtkOiJNNSAxMmgxNCJ9XSxbInBhdGgiLHtkOiJNMTIgNXYxNCJ9XV19KTt2YXIgaFIsdk9lPWYoKCk9PntoUj1bWyJwYXRoIix7ZDoiTTMgMnYxYzAgMSAyIDEgMiAyUzMgNiAzIDdzMiAxIDIgMi0yIDEtMiAyIDIgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTE4IDZoLjAxIn1dLFsicGF0aCIse2Q6Ik02IDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMjAuODMgOC44M2E0IDQgMCAwIDAtNS42Ni01LjY2bC0xMiAxMmE0IDQgMCAxIDAgNS42NiA1LjY2WiJ9XSxbInBhdGgiLHtkOiJNMTggMTEuNjZWMjJhNCA0IDAgMCAwIDQtNFY2In1dXX0pO3ZhciBtUix4T2U9ZigoKT0+e21SPVtbInBhdGgiLHtkOiJNMTMgMTdhMSAxIDAgMSAwLTIgMGwuNSA0LjVhMC41IDAuNSAwIDAgMCAxIDB6IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJwYXRoIix7ZDoiTTE2Ljg1IDE4LjU4YTkgOSAwIDEgMC05LjcgMCJ9XSxbInBhdGgiLHtkOiJNOCAxNGE1IDUgMCAxIDEgOCAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTEiLHI6IjEiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XV19KTt2YXIgZ1IseU9lPWYoKCk9PntnUj1bWyJwYXRoIix7ZDoiTTIyIDE0YTggOCAwIDAgMS04IDgifV0sWyJwYXRoIix7ZDoiTTE4IDExdi0xYTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTQgMTBWOWEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2MSJ9XSxbInBhdGgiLHtkOiJNMTAgOS41VjRhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAydjEwIn1dLFsicGF0aCIse2Q6Ik0xOCAxMWEyIDIgMCAxIDEgNCAwdjNhOCA4IDAgMCAxLTggOGgtMmMtMi44IDAtNC41LS44Ni01Ljk5LTIuMzRsLTMuNi0zLjZhMiAyIDAgMCAxIDIuODMtMi44Mkw3IDE1In1dXX0pO3ZhciBiUix3T2U9ZigoKT0+e2JSPVtbInBhdGgiLHtkOiJNMTAgNC41VjRhMiAyIDAgMCAwLTIuNDEtMS45NTcifV0sWyJwYXRoIix7ZDoiTTEzLjkgOC40YTIgMiAwIDAgMC0xLjI2LTEuMjk1In1dLFsicGF0aCIse2Q6Ik0yMS43IDE2LjJBOCA4IDAgMCAwIDIyIDE0di0zYTIgMiAwIDEgMC00IDB2LTFhMiAyIDAgMCAwLTMuNjMtMS4xNTgifV0sWyJwYXRoIix7ZDoibTcgMTUtMS44LTEuOGEyIDIgMCAwIDAtMi43OSAyLjg2TDYgMTkuN2E3Ljc0IDcuNzQgMCAwIDAgNiAyLjNoMmE4IDggMCAwIDAgNS42NTctMi4zNDMifV0sWyJwYXRoIix7ZDoiTTYgNnY4In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIHZSLE1PZT1mKCgpPT57dlI9W1sicGF0aCIse2Q6Ik0xOCA4YTIgMiAwIDAgMCAwLTQgMiAyIDAgMCAwLTQgMCAyIDIgMCAwIDAtNCAwIDIgMiAwIDAgMC00IDAgMiAyIDAgMCAwIDAgNCJ9XSxbInBhdGgiLHtkOiJNMTAgMjIgOSA4In1dLFsicGF0aCIse2Q6Im0xNCAyMiAxLTE0In1dLFsicGF0aCIse2Q6Ik0yMCA4Yy41IDAgLjkuNC44IDFsLTIuNiAxMmMtLjEuNS0uNyAxLTEuMiAxSDdjLS42IDAtMS4xLS40LTEuMi0xTDMuMiA5Yy0uMS0uNi4zLTEgLjgtMVoifV1dfSk7dmFyIHhSLGtPZT1mKCgpPT57eFI9W1sicGF0aCIse2Q6Ik0xOC42IDE0LjRjLjgtLjguOC0yIDAtMi44bC04LjEtOC4xYTQuOTUgNC45NSAwIDEgMC03LjEgNy4xbDguMSA4LjFjLjkuNyAyLjEuNyAyLjktLjFaIn1dLFsicGF0aCIse2Q6Im0yMiAyMi01LjUtNS41In1dXX0pO3ZhciB5UixTT2U9ZigoKT0+e3lSPVtbInBhdGgiLHtkOiJNMTggN2MwLTUuMzMzLTgtNS4zMzMtOCAwIn1dLFsicGF0aCIse2Q6Ik0xMCA3djE0In1dLFsicGF0aCIse2Q6Ik02IDIxaDEyIn1dLFsicGF0aCIse2Q6Ik02IDEzaDEwIn1dXX0pO3ZhciB3Uix6T2U9ZigoKT0+e3dSPVtbInBhdGgiLHtkOiJNMTguMzYgNi42NEE5IDkgMCAwIDEgMjAuNzcgMTUifV0sWyJwYXRoIix7ZDoiTTYuMTYgNi4xNmE5IDkgMCAxIDAgMTIuNjggMTIuNjgifV0sWyJwYXRoIix7ZDoiTTEyIDJ2NCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBNUixDT2U9ZigoKT0+e01SPVtbInBhdGgiLHtkOiJNMTIgMnYxMCJ9XSxbInBhdGgiLHtkOiJNMTguNCA2LjZhOSA5IDAgMSAxLTEyLjc3LjA0In1dXX0pO3ZhciBrUixfT2U9ZigoKT0+e2tSPVtbInBhdGgiLHtkOiJNMiAzaDIwIn1dLFsicGF0aCIse2Q6Ik0yMSAzdjExYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjMifV0sWyJwYXRoIix7ZDoibTcgMjEgNS01IDUgNSJ9XV19KTt2YXIgU1IsVE9lPWYoKCk9PntTUj1bWyJwYXRoIix7ZDoiTTEyLjUzMSAyMkg3YTEgMSAwIDAgMS0xLTF2LTZhMSAxIDAgMCAxIDEtMWg2LjM3NyJ9XSxbInBhdGgiLHtkOiJtMTYuNSAxNi41IDUgNSJ9XSxbInBhdGgiLHtkOiJtMTYuNSAyMS41IDUtNSJ9XSxbInBhdGgiLHtkOiJNNiAxOEg0YTIgMiAwIDAgMS0yLTJ2LTVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjEuNSJ9XSxbInBhdGgiLHtkOiJNNiA5VjNhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjYifV1dfSk7dmFyIHpSLExPZT1mKCgpPT57elI9W1sicGF0aCIse2Q6Ik0xMy41IDIySDdhMSAxIDAgMCAxLTEtMXYtNmExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2LjUifV0sWyJwYXRoIix7ZDoibTE2IDE5IDIgMiA0LTQifV0sWyJwYXRoIix7ZDoiTTYgMThINGEyIDIgMCAwIDEtMi0ydi01YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik02IDlWM2ExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2NiJ9XV19KTt2YXIgQ1IsJE9lPWYoKCk9PntDUj1bWyJwYXRoIix7ZDoiTTYgMThINGEyIDIgMCAwIDEtMi0ydi01YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnY1YTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTYgOVYzYTEgMSAwIDAgMSAxLTFoMTBhMSAxIDAgMCAxIDEgMXY2In1dLFsicmVjdCIse3g6IjYiLHk6IjE0Iix3aWR0aDoiMTIiLGhlaWdodDoiOCIscng6IjEifV1dfSk7dmFyIF9SLERPZT1mKCgpPT57X1I9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDl2MTEifV0sWyJwYXRoIix7ZDoiTTIgOWgxM2EyIDIgMCAwIDEgMiAydjkifV1dfSk7dmFyIFRSLEFPZT1mKCgpPT57VFI9W1sicGF0aCIse2Q6Ik0xNS4zOSA0LjM5YTEgMSAwIDAgMCAxLjY4LS40NzQgMi41IDIuNSAwIDEgMSAzLjAxNCAzLjAxNSAxIDEgMCAwIDAtLjQ3NCAxLjY4bDEuNjgzIDEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDAgMy40MTRMMTkuNjEgMTUuMzlhMSAxIDAgMCAxLTEuNjgtLjQ3NCAyLjUgMi41IDAgMSAwLTMuMDE0IDMuMDE1IDEgMSAwIDAgMSAuNDc0IDEuNjhsLTEuNjgzIDEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxLTMuNDE0IDBMOC42MSAxOS42MWExIDEgMCAwIDAtMS42OC40NzQgMi41IDIuNSAwIDEgMS0zLjAxNC0zLjAxNSAxIDEgMCAwIDAgLjQ3NC0xLjY4bC0xLjY4My0xLjY4MmEyLjQxNCAyLjQxNCAwIDAgMSAwLTMuNDE0TDQuMzkgOC42MWExIDEgMCAwIDEgMS42OC40NzQgMi41IDIuNSAwIDEgMCAzLjAxNC0zLjAxNSAxIDEgMCAwIDEtLjQ3NC0xLjY4bDEuNjgzLTEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDMuNDE0IDB6In1dXX0pO3ZhciBMUixQT2U9ZigoKT0+e0xSPVtbInBhdGgiLHtkOiJNNSA3IDMgNSJ9XSxbInBhdGgiLHtkOiJNOSA2VjMifV0sWyJwYXRoIix7ZDoibTEzIDcgMi0yIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxMyIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTEuODMgMTJIMjBhMiAyIDAgMCAxIDIgMnY0YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi00YTIgMiAwIDAgMSAyLTJoMi4xNyJ9XSxbInBhdGgiLHtkOiJNMTYgMTZoMiJ9XV19KTt2YXIgJFIsRU9lPWYoKCk9PnskUj1bWyJwYXRoIix7ZDoiTTIuNSAxNi44OGExIDEgMCAwIDEtLjMyLTEuNDNsOS0xMy4wMmExIDEgMCAwIDEgMS42NCAwbDkgMTMuMDFhMSAxIDAgMCAxLS4zMiAxLjQ0bC04LjUxIDQuODZhMiAyIDAgMCAxLTEuOTggMFoifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MjAifV1dfSk7dmFyIERSLElPZT1mKCgpPT57RFI9W1sicGF0aCIse2Q6Ik0xNiAzYTIgMiAwIDAgMC0yIDJ2NmEyIDIgMCAwIDAgMiAyIDEgMSAwIDAgMSAxIDF2MWEyIDIgMCAwIDEtMiAyIDEgMSAwIDAgMC0xIDF2MmExIDEgMCAwIDAgMSAxIDYgNiAwIDAgMCA2LTZWNWEyIDIgMCAwIDAtMi0yeiJ9XSxbInBhdGgiLHtkOiJNNSAzYTIgMiAwIDAgMC0yIDJ2NmEyIDIgMCAwIDAgMiAyIDEgMSAwIDAgMSAxIDF2MWEyIDIgMCAwIDEtMiAyIDEgMSAwIDAgMC0xIDF2MmExIDEgMCAwIDAgMSAxIDYgNiAwIDAgMCA2LTZWNWEyIDIgMCAwIDAtMi0yeiJ9XV19KTt2YXIgQVIsTk9lPWYoKCk9PntBUj1bWyJyZWN0Iix7d2lkdGg6IjUiLGhlaWdodDoiNSIseDoiMyIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjUiLGhlaWdodDoiNSIseDoiMTYiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI1IixoZWlnaHQ6IjUiLHg6IjMiLHk6IjE2IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTZoLTNhMiAyIDAgMCAwLTIgMnYzIn1dLFsicGF0aCIse2Q6Ik0yMSAyMXYuMDEifV0sWyJwYXRoIix7ZDoiTTEyIDd2M2EyIDIgMCAwIDEtMiAySDcifV0sWyJwYXRoIix7ZDoiTTMgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTZ2LjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxMmgxIn1dLFsicGF0aCIse2Q6Ik0yMSAxMnYuMDEifV0sWyJwYXRoIix7ZDoiTTEyIDIxdi0xIn1dXX0pO3ZhciBQUixST2U9ZigoKT0+e1BSPVtbInBhdGgiLHtkOiJNMTkuMDcgNC45M0ExMCAxMCAwIDAgMCA2Ljk5IDMuMzQifV0sWyJwYXRoIix7ZDoiTTQgNmguMDEifV0sWyJwYXRoIix7ZDoiTTIuMjkgOS42MkExMCAxMCAwIDEgMCAyMS4zMSA4LjM1In1dLFsicGF0aCIse2Q6Ik0xNi4yNCA3Ljc2QTYgNiAwIDEgMCA4LjIzIDE2LjY3In1dLFsicGF0aCIse2Q6Ik0xMiAxOGguMDEifV0sWyJwYXRoIix7ZDoiTTE3Ljk5IDExLjY2QTYgNiAwIDAgMSAxNS43NyAxNi42NyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dLFsicGF0aCIse2Q6Im0xMy40MSAxMC41OSA1LjY2LTUuNjYifV1dfSk7dmFyIEVSLE9PZT1mKCgpPT57RVI9W1sicGF0aCIse2Q6Ik0xMyAxNmEzIDMgMCAwIDEgMi4yNCA1In1dLFsicGF0aCIse2Q6Ik0xOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDIxaC04YTQgNCAwIDAgMS00LTQgNyA3IDAgMCAxIDctN2guMkw5LjYgNi40YTEgMSAwIDEgMSAyLjgtMi44TDE1LjggN2guMmMzLjMgMCA2IDIuNyA2IDZ2MWEyIDIgMCAwIDEtMiAyaC0xYTMgMyAwIDAgMC0zIDMifV0sWyJwYXRoIix7ZDoiTTIwIDguNTRWNGEyIDIgMCAxIDAtNCAwdjMifV0sWyJwYXRoIix7ZDoiTTcuNjEyIDEyLjUyNGEzIDMgMCAxIDAtMS42IDQuMyJ9XV19KTt2YXIgSVIsRk9lPWYoKCk9PntJUj1bWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTQgMTUuNDY0MWE0IDQgMCAwIDEtNCAwTDcuNTI3ODYgMTkuNzQ1OTcgQSAxIDEgMCAwIDAgNy45OTMwMyAyMS4xNjIxMSAxMCAxMCAwIDAgMCAxNi4wMDY5NyAyMS4xNjIxMSAxIDEgMCAwIDAgMTYuNDcyMTQgMTkuNzQ1OTd6In1dLFsicGF0aCIse2Q6Ik0xNiAxMmE0IDQgMCAwIDAtMi0zLjQ2NGwyLjQ3Mi00LjI4MmExIDEgMCAwIDEgMS40Ni0uMzA1IDEwIDEwIDAgMCAxIDQuMDA2IDYuOTRBMSAxIDAgMCAxIDIxIDEyeiJ9XSxbInBhdGgiLHtkOiJNOCAxMmE0IDQgMCAwIDEgMi0zLjQ2NEw3LjUyOCA0LjI1NGExIDEgMCAwIDAtMS40Ni0uMzA1IDEwIDEwIDAgMCAwLTQuMDA2IDYuOTRBMSAxIDAgMCAwIDMgMTJ6In1dXX0pO3ZhciBOUixCT2U9ZigoKT0+e05SPVtbInBhdGgiLHtkOiJNMyAxMmgzLjI4YTEgMSAwIDAgMSAuOTQ4LjY4NGwyLjI5OCA3LjkzNGEuNS41IDAgMCAwIC45Ni0uMDQ0TDEzLjgyIDQuNzcxQTEgMSAwIDAgMSAxNC43OTIgNEgyMSJ9XV19KTt2YXIgUlIsSE9lPWYoKCk9PntSUj1bWyJwYXRoIix7ZDoiTTEzLjQxNCAxMy40MTRhMiAyIDAgMSAxLTIuODI4LTIuODI4In1dLFsicGF0aCIse2Q6Ik0xNi4yNDcgNy43NjFhNiA2IDAgMCAxIDEuNzQ0IDQuNTcyIn1dLFsicGF0aCIse2Q6Ik0xOS4wNzUgNC45MzNhMTAgMTAgMCAwIDEgMi4yMzQgMTAuNzIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNC45MjUgMTkuMDY3YTEwIDEwIDAgMCAxIDAtMTQuMTM0In1dLFsicGF0aCIse2Q6Ik03Ljc1MyAxNi4yMzlhNiA2IDAgMCAxIDAtOC40NzgifV1dfSk7dmFyIE9SLHFPZT1mKCgpPT57T1I9W1sicGF0aCIse2Q6Ik01IDE2djIifV0sWyJwYXRoIix7ZDoiTTE5IDE2djIifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjgiLHg6IjIiLHk6IjgiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xOCAxMmguMDEifV1dfSk7dmFyIEZSLFZPZT1mKCgpPT57RlI9W1sicGF0aCIse2Q6Ik00LjkgMTYuMUMxIDEyLjIgMSA1LjggNC45IDEuOSJ9XSxbInBhdGgiLHtkOiJNNy44IDQuN2E2LjE0IDYuMTQgMCAwIDAtLjggNy41In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOSIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTYuMiA0LjhjMiAyIDIuMjYgNS4xMS44IDcuNDcifV0sWyJwYXRoIix7ZDoiTTE5LjEgMS45YTkuOTYgOS45NiAwIDAgMSAwIDE0LjEifV0sWyJwYXRoIix7ZDoiTTkuNSAxOGg1In1dLFsicGF0aCIse2Q6Im04IDIyIDQtMTEgNCAxMSJ9XV19KTt2YXIgQlIsak9lPWYoKCk9PntCUj1bWyJwYXRoIix7ZDoiTTE2LjI0NyA3Ljc2MWE2IDYgMCAwIDEgMCA4LjQ3OCJ9XSxbInBhdGgiLHtkOiJNMTkuMDc1IDQuOTMzYTEwIDEwIDAgMCAxIDAgMTQuMTM0In1dLFsicGF0aCIse2Q6Ik00LjkyNSAxOS4wNjdhMTAgMTAgMCAwIDEgMC0xNC4xMzQifV0sWyJwYXRoIix7ZDoiTTcuNzUzIDE2LjIzOWE2IDYgMCAwIDEgMC04LjQ3OCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dXX0pO3ZhciBIUixVT2U9ZigoKT0+e0hSPVtbInBhdGgiLHtkOiJNMjAuMzQgMTcuNTJhMTAgMTAgMCAxIDAtMi44MiAyLjgyIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTkiLHI6IjIifV0sWyJwYXRoIix7ZDoibTEzLjQxIDEzLjQxIDQuMTggNC4xOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dXX0pO3ZhciBxUixXT2U9ZigoKT0+e3FSPVtbInBhdGgiLHtkOiJNMjIgMTdhMTAgMTAgMCAwIDAtMjAgMCJ9XSxbInBhdGgiLHtkOiJNNiAxN2E2IDYgMCAwIDEgMTIgMCJ9XSxbInBhdGgiLHtkOiJNMTAgMTdhMiAyIDAgMCAxIDQgMCJ9XV19KTt2YXIgVlIsR09lPWYoKCk9PntWUj1bWyJwYXRoIix7ZDoiTTEzIDIySDRhMiAyIDAgMCAxIDAtNGgxMiJ9XSxbInBhdGgiLHtkOiJNMTMuMjM2IDE4YTMgMyAwIDAgMC0yLjItNSJ9XSxbInBhdGgiLHtkOiJNMTYgOWguMDEifV0sWyJwYXRoIix7ZDoiTTE2LjgyIDMuOTRhMyAzIDAgMSAxIDMuMjM3IDQuODY4bDEuODE1IDIuNTg3YTEuNSAxLjUgMCAwIDEtMS41IDIuMWwtMi44NzItLjQ1M2EzIDMgMCAwIDAtMy41IDMifV0sWyJwYXRoIix7ZDoiTTE3IDQuOTg4YTMgMyAwIDEgMC01LjIgMi4wNTJBNyA3IDAgMCAwIDQgMTQuMDE1IDQgNCAwIDAgMCA4IDE4In1dXX0pO3ZhciBqUixZT2U9ZigoKT0+e2pSPVtbInJlY3QiLHt3aWR0aDoiMTIiLGhlaWdodDoiMjAiLHg6IjYiLHk6IjIiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxMiIseDoiMiIseToiNiIscng6IjIifV1dfSk7dmFyIFVSLEtPZT1mKCgpPT57VVI9W1sicGF0aCIse2Q6Ik0xMiA3djEwIn1dLFsicGF0aCIse2Q6Ik0xNC44MjggMTQuODI5YTQgNCAwIDAgMS01LjY1NiAwIDQgNCAwIDAgMSAwLTUuNjU3IDQgNCAwIDAgMSA1LjY1NiAwIn1dLFsicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dXX0pO3ZhciBXUixaT2U9ZigoKT0+e1dSPVtbInBhdGgiLHtkOiJNMTUuODI4IDE0LjgyOWE0IDQgMCAwIDEtNS42NTYgMCA0IDQgMCAwIDEgMC01LjY1NyA0IDQgMCAwIDEgNS42NTYgMCJ9XSxbInBhdGgiLHtkOiJNNCAzYTEgMSAwIDAgMSAxLTEgMS4zIDEuMyAwIDAgMSAuNy4ybC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzQtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzNC42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNkExLjMgMS4zIDAgMCAxIDE5IDJhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxIDEuMyAxLjMgMCAwIDEtLjctLjJsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzNC42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzQtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtLjcuMiAxIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg1In1dXX0pO3ZhciBHUixYT2U9ZigoKT0+e0dSPVtbInBhdGgiLHtkOiJNNCAzYTEgMSAwIDAgMSAxLTEgMS4zIDEuMyAwIDAgMSAuNy4ybC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzQtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzNC42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNkExLjMgMS4zIDAgMCAxIDE5IDJhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxIDEuMyAxLjMgMCAwIDEtLjctLjJsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzNC42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzQtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtLjcuMiAxIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOCAxMWg4In1dLFsicGF0aCIse2Q6Ik04IDdoOCJ9XSxbInBhdGgiLHtkOiJNOSA3YTQgNCAwIDAgMSAwIDhIOGwzIDIifV1dfSk7dmFyIFlSLFFPZT1mKCgpPT57WVI9W1sicGF0aCIse2Q6Ik0xMCAxN1Y5LjVhMSAxIDAgMCAxIDUgMCJ9XSxbInBhdGgiLHtkOiJNNCAzYTEgMSAwIDAgMSAxLTEgMS4zIDEuMyAwIDAgMSAuNy4ybC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzQtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzNC42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNkExLjMgMS4zIDAgMCAxIDE5IDJhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxIDEuMyAxLjMgMCAwIDEtLjctLjJsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzNC42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzQtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtLjcuMiAxIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOCAxM2g1In1dLFsicGF0aCIse2Q6Ik04IDE3aDcifV1dfSk7dmFyIEtSLEpPZT1mKCgpPT57S1I9W1sicGF0aCIse2Q6Im0xMiAxMCAzLTMifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTkgMTFoNiJ9XSxbInBhdGgiLHtkOiJNOSAxNWg2In1dLFsicGF0aCIse2Q6Im05IDcgMyAzdjcifV1dfSk7dmFyIFpSLGVGZT1mKCgpPT57WlI9W1sicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik04IDExaDVhMiAyIDAgMCAwIDAtNGgtM3YxMCJ9XSxbInBhdGgiLHtkOiJNOCAxNWg1In1dXX0pO3ZhciBYUix0RmU9ZigoKT0+e1hSPVtbInBhdGgiLHtkOiJNMTMgMTZIOCJ9XSxbInBhdGgiLHtkOiJNMTQgOEg4In1dLFsicGF0aCIse2Q6Ik0xNiAxMkg4In1dLFsicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dXX0pO3ZhciBRUixhRmU9ZigoKT0+e1FSPVtbInBhdGgiLHtkOiJNMTAgMTFoNCJ9XSxbInBhdGgiLHtkOiJNMTAgMTdWN2g1In1dLFsicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik04IDE1aDUifV1dfSk7dmFyIEpSLHJGZT1mKCgpPT57SlI9W1sicGF0aCIse2Q6Ik0xMiAxN1Y3In1dLFsicGF0aCIse2Q6Ik0xNiA4aC02YTIgMiAwIDAgMCAwIDRoNGEyIDIgMCAwIDEgMCA0SDgifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIGVPLHNGZT1mKCgpPT57ZU89W1sicGF0aCIse2Q6Ik0xMCA3djEwYTUgNSAwIDAgMCA1LTUifV0sWyJwYXRoIix7ZDoibTE0IDgtNiAzIn1dLFsicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dXX0pO3ZhciB0TyxpRmU9ZigoKT0+e3RPPVtbInBhdGgiLHtkOiJNMTQgNHYxNkgzYTEgMSAwIDAgMS0xLTFWNWExIDEgMCAwIDEgMS0xeiJ9XSxbImNpcmNsZSIse2N4OiIxNCIsY3k6IjEyIixyOiI4In1dXX0pO3ZhciBCdSxvRmU9ZigoKT0+e0J1PVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTIiLHg6IjIiLHk6IjYiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE3IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNNyAxMmguMDEifV1dfSk7dmFyIGFPLG5GZT1mKCgpPT57YU89W1sicGF0aCIse2Q6Ik0yMCA2YTIgMiAwIDAgMSAyIDJ2OGEyIDIgMCAwIDEtMiAyaC00YTIgMiAwIDAgMS0xLjYtLjhsLTEuNi0yLjEzYTEgMSAwIDAgMC0xLjYgMEw5LjYgMTcuMkEyIDIgMCAwIDEgOCAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yeiJ9XV19KTt2YXIgck8sbEZlPWYoKCk9PntyTz1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI2IixyeDoiMiJ9XV19KTt2YXIgc08sY0ZlPWYoKCk9PntzTz1bWyJyZWN0Iix7d2lkdGg6IjEyIixoZWlnaHQ6IjIwIix4OiI2Iix5OiIyIixyeDoiMiJ9XV19KTt2YXIgaU8sZEZlPWYoKCk9PntpTz1bWyJwYXRoIix7ZDoiTTcgMTlINC44MTVhMS44MyAxLjgzIDAgMCAxLTEuNTctLjg4MSAxLjc4NSAxLjc4NSAwIDAgMS0uMDA0LTEuNzg0TDcuMTk2IDkuNSJ9XSxbInBhdGgiLHtkOiJNMTEgMTloOC4yMDNhMS44MyAxLjgzIDAgMCAwIDEuNTU2LS44OSAxLjc4NCAxLjc4NCAwIDAgMCAwLTEuNzc1bC0xLjIyNi0yLjEyIn1dLFsicGF0aCIse2Q6Im0xNCAxNi0zIDMgMyAzIn1dLFsicGF0aCIse2Q6Ik04LjI5MyAxMy41OTYgNy4xOTYgOS41IDMuMSAxMC41OTgifV0sWyJwYXRoIix7ZDoibTkuMzQ0IDUuODExIDEuMDkzLTEuODkyQTEuODMgMS44MyAwIDAgMSAxMS45ODUgM2ExLjc4NCAxLjc4NCAwIDAgMSAxLjU0Ni44ODhsMy45NDMgNi44NDMifV0sWyJwYXRoIix7ZDoibTEzLjM3OCA5LjYzMyA0LjA5NiAxLjA5OCAxLjA5Ny00LjA5NiJ9XV19KTt2YXIgb08sdUZlPWYoKCk9PntvTz1bWyJwYXRoIix7ZDoibTE1IDE0IDUtNS01LTUifV0sWyJwYXRoIix7ZDoiTTIwIDlIOS41QTUuNSA1LjUgMCAwIDAgNCAxNC41QTUuNSA1LjUgMCAwIDAgOS41IDIwSDEzIn1dXX0pO3ZhciBuTyxwRmU9ZigoKT0+e25PPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE3IixyOiIxIn1dLFsicGF0aCIse2Q6Ik0yMSA3djZoLTYifV0sWyJwYXRoIix7ZDoiTTMgMTdhOSA5IDAgMCAxIDktOSA5IDkgMCAwIDEgNiAyLjNsMyAyLjcifV1dfSk7dmFyIGxPLGZGZT1mKCgpPT57bE89W1sicGF0aCIse2Q6Ik0yMSA3djZoLTYifV0sWyJwYXRoIix7ZDoiTTMgMTdhOSA5IDAgMCAxIDktOSA5IDkgMCAwIDEgNiAyLjNsMyAyLjcifV1dfSk7dmFyIGNPLGhGZT1mKCgpPT57Y089W1sicGF0aCIse2Q6Ik0yMSAxMmE5IDkgMCAwIDAtOS05IDkuNzUgOS43NSAwIDAgMC02Ljc0IDIuNzRMMyA4In1dLFsicGF0aCIse2Q6Ik0zIDN2NWg1In1dLFsicGF0aCIse2Q6Ik0zIDEyYTkgOSAwIDAgMCA5IDkgOS43NSA5Ljc1IDAgMCAwIDYuNzQtMi43NEwyMSAxNiJ9XSxbInBhdGgiLHtkOiJNMTYgMTZoNXY1In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEifV1dfSk7dmFyIGRPLG1GZT1mKCgpPT57ZE89W1sicGF0aCIse2Q6Ik0yMSAxMmE5IDkgMCAwIDAtOS05IDkuNzUgOS43NSAwIDAgMC02Ljc0IDIuNzRMMyA4In1dLFsicGF0aCIse2Q6Ik0zIDN2NWg1In1dLFsicGF0aCIse2Q6Ik0zIDEyYTkgOSAwIDAgMCA5IDkgOS43NSA5Ljc1IDAgMCAwIDYuNzQtMi43NEwyMSAxNiJ9XSxbInBhdGgiLHtkOiJNMTYgMTZoNXY1In1dXX0pO3ZhciB1TyxnRmU9ZigoKT0+e3VPPVtbInBhdGgiLHtkOiJNMjEgOEwxOC43NCA1Ljc0QTkuNzUgOS43NSAwIDAgMCAxMiAzQzExIDMgMTAuMDMgMy4xNiA5LjEzIDMuNDcifV0sWyJwYXRoIix7ZDoiTTggMTZIM3Y1In1dLFsicGF0aCIse2Q6Ik0zIDEyQzMgOS41MSA0IDcuMjYgNS42NCA1LjY0In1dLFsicGF0aCIse2Q6Im0zIDE2IDIuMjYgMi4yNkE5Ljc1IDkuNzUgMCAwIDAgMTIgMjFjMi40OSAwIDQuNzQtMSA2LjM2LTIuNjQifV0sWyJwYXRoIix7ZDoiTTIxIDEyYzAgMS0uMTYgMS45Ny0uNDcgMi44NyJ9XSxbInBhdGgiLHtkOiJNMjEgM3Y1aC01In1dLFsicGF0aCIse2Q6Ik0yMiAyMiAyIDIifV1dfSk7dmFyIHBPLGJGZT1mKCgpPT57cE89W1sicGF0aCIse2Q6Ik0zIDEyYTkgOSAwIDAgMSA5LTkgOS43NSA5Ljc1IDAgMCAxIDYuNzQgMi43NEwyMSA4In1dLFsicGF0aCIse2Q6Ik0yMSAzdjVoLTUifV0sWyJwYXRoIix7ZDoiTTIxIDEyYTkgOSAwIDAgMS05IDkgOS43NSA5Ljc1IDAgMCAxLTYuNzQtMi43NEwzIDE2In1dLFsicGF0aCIse2Q6Ik04IDE2SDN2NSJ9XV19KTt2YXIgZk8sdkZlPWYoKCk9PntmTz1bWyJwYXRoIix7ZDoiTTUgNmE0IDQgMCAwIDEgNC00aDZhNCA0IDAgMCAxIDQgNHYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2WiJ9XSxbInBhdGgiLHtkOiJNNSAxMGgxNCJ9XSxbInBhdGgiLHtkOiJNMTUgN3Y2In1dXX0pO3ZhciBoTyx4RmU9ZigoKT0+e2hPPVtbInBhdGgiLHtkOiJNMTcgM3YxMCJ9XSxbInBhdGgiLHtkOiJtMTIuNjcgNS41IDguNjYgNSJ9XSxbInBhdGgiLHtkOiJtMTIuNjcgMTAuNSA4LjY2LTUifV0sWyJwYXRoIix7ZDoiTTkgMTdhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MmEyIDIgMCAwIDAgMiAyaDJhMiAyIDAgMCAwIDItMnYtMnoifV1dfSk7dmFyIG1PLHlGZT1mKCgpPT57bU89W1sicGF0aCIse2Q6Ik00IDdWNGgxNnYzIn1dLFsicGF0aCIse2Q6Ik01IDIwaDYifV0sWyJwYXRoIix7ZDoiTTEzIDQgOCAyMCJ9XSxbInBhdGgiLHtkOiJtMTUgMTUgNSA1In1dLFsicGF0aCIse2Q6Im0yMCAxNS01IDUifV1dfSk7dmFyIGdPLHdGZT1mKCgpPT57Z089W1sicGF0aCIse2Q6Im0yIDkgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTMgMThIN2EyIDIgMCAwIDEtMi0yVjYifV0sWyJwYXRoIix7ZDoibTIyIDE1LTMgMy0zLTMifV0sWyJwYXRoIix7ZDoiTTExIDZoNmEyIDIgMCAwIDEgMiAydjEwIn1dXX0pO3ZhciBiTyxNRmU9ZigoKT0+e2JPPVtbInBhdGgiLHtkOiJtMTcgMiA0IDQtNCA0In1dLFsicGF0aCIse2Q6Ik0zIDExdi0xYTQgNCAwIDAgMSA0LTRoMTQifV0sWyJwYXRoIix7ZDoibTcgMjItNC00IDQtNCJ9XSxbInBhdGgiLHtkOiJNMjEgMTN2MWE0IDQgMCAwIDEtNCA0SDMifV0sWyJwYXRoIix7ZDoiTTExIDEwaDF2NCJ9XV19KTt2YXIgdk8sa0ZlPWYoKCk9Pnt2Tz1bWyJwYXRoIix7ZDoiTTExLjY1NiA2SDIxbC00LTQifV0sWyJwYXRoIix7ZDoiTTE3Ljg5OCAxNy44OThBNCA0IDAgMCAxIDE3IDE4SDNsNC00In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIxIDEzdjFhNCA0IDAgMCAxLS4xNzEgMS4xNTkifV0sWyJwYXRoIix7ZDoibTIxIDYtNCA0In1dLFsicGF0aCIse2Q6Ik0zIDExdi0xYTQgNCAwIDAgMSAzLjEwMi0zLjg5OCJ9XSxbInBhdGgiLHtkOiJtNyAyMi00LTQifV1dfSk7dmFyIHhPLFNGZT1mKCgpPT57eE89W1sicGF0aCIse2Q6Im0xNyAyIDQgNC00IDQifV0sWyJwYXRoIix7ZDoiTTMgMTF2LTFhNCA0IDAgMCAxIDQtNGgxNCJ9XSxbInBhdGgiLHtkOiJtNyAyMi00LTQgNC00In1dLFsicGF0aCIse2Q6Ik0yMSAxM3YxYTQgNCAwIDAgMS00IDRIMyJ9XV19KTt2YXIgeU8sekZlPWYoKCk9Pnt5Tz1bWyJwYXRoIix7ZDoiTTE0IDE0YTEgMSAwIDAgMSAxIDF2NWExIDEgMCAwIDEtMSAxIn1dLFsicGF0aCIse2Q6Ik0xNCA0YTEgMSAwIDAgMSAxLTEifV0sWyJwYXRoIix7ZDoiTTE1IDEwYTEgMSAwIDAgMS0xLTEifV0sWyJwYXRoIix7ZDoiTTE5IDE0YTEgMSAwIDAgMSAxIDF2NWExIDEgMCAwIDEtMSAxIn1dLFsicGF0aCIse2Q6Ik0yMSA0YTEgMSAwIDAgMC0xLTEifV0sWyJwYXRoIix7ZDoiTTIxIDlhMSAxIDAgMCAxLTEgMSJ9XSxbInBhdGgiLHtkOiJtMyA3IDMgMyAzLTMifV0sWyJwYXRoIix7ZDoiTTYgMTBWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJyZWN0Iix7eDoiMyIseToiMTQiLHdpZHRoOiI3IixoZWlnaHQ6IjciLHJ4OiIxIn1dXX0pO3ZhciB3TyxDRmU9ZigoKT0+e3dPPVtbInBhdGgiLHtkOiJNMTQgNGExIDEgMCAwIDEgMS0xIn1dLFsicGF0aCIse2Q6Ik0xNSAxMGExIDEgMCAwIDEtMS0xIn1dLFsicGF0aCIse2Q6Ik0yMSA0YTEgMSAwIDAgMC0xLTEifV0sWyJwYXRoIix7ZDoiTTIxIDlhMSAxIDAgMCAxLTEgMSJ9XSxbInBhdGgiLHtkOiJtMyA3IDMgMyAzLTMifV0sWyJwYXRoIix7ZDoiTTYgMTBWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJyZWN0Iix7eDoiMyIseToiMTQiLHdpZHRoOiI3IixoZWlnaHQ6IjciLHJ4OiIxIn1dXX0pO3ZhciBNTyxfRmU9ZigoKT0+e01PPVtbInBhdGgiLHtkOiJtMTIgMTctNS01IDUtNSJ9XSxbInBhdGgiLHtkOiJNMjIgMTh2LTJhNCA0IDAgMCAwLTQtNEg3In1dLFsicGF0aCIse2Q6Im03IDE3LTUtNSA1LTUifV1dfSk7dmFyIGtPLFRGZT1mKCgpPT57a089W1sicGF0aCIse2Q6Ik0yMCAxOHYtMmE0IDQgMCAwIDAtNC00SDQifV0sWyJwYXRoIix7ZDoibTkgMTctNS01IDUtNSJ9XV19KTt2YXIgU08sTEZlPWYoKCk9PntTTz1bWyJwYXRoIix7ZDoiTTEyIDExLjIyQzExIDkuOTk3IDEwIDkgMTAgOGEyIDIgMCAwIDEgNCAwYzAgMS0uOTk4IDIuMDAyLTIuMDEgMy4yMiJ9XSxbInBhdGgiLHtkOiJtMTIgMTggMi41Ny0zLjUifV0sWyJwYXRoIix7ZDoiTTYuMjQzIDkuMDE2YTcgNyAwIDAgMSAxMS41MDctLjAwOSJ9XSxbInBhdGgiLHtkOiJNOS4zNSAxNC41MyAxMiAxMS4yMiJ9XSxbInBhdGgiLHtkOiJNOS4zNSAxNC41M0M3LjcyOCAxMi4yNDYgNiAxMC4yMjEgNiA3YTYgNSAwIDAgMSAxMiAwYy0uMDA1IDMuMjItMS43NzggNS4yMzUtMy40MyA3LjVsMy41NTcgNC41MjdhMSAxIDAgMCAxLS4yMDMgMS40M2wtMS44OTQgMS4zNmExIDEgMCAwIDEtMS4zODQtLjIxNUwxMiAxOGwtMi42NzkgMy41OTNhMSAxIDAgMCAxLTEuMzkuMjEzbC0xLjg2NS0xLjM1M2ExIDEgMCAwIDEtLjIwMy0xLjQyMnoifV1dfSk7dmFyIHpPLCRGZT1mKCgpPT57ek89W1sicGF0aCIse2Q6Ik0xMiA2YTIgMiAwIDAgMC0zLjQxNC0xLjQxNGwtNiA2YTIgMiAwIDAgMCAwIDIuODI4bDYgNkEyIDIgMCAwIDAgMTIgMTh6In1dLFsicGF0aCIse2Q6Ik0yMiA2YTIgMiAwIDAgMC0zLjQxNC0xLjQxNGwtNiA2YTIgMiAwIDAgMCAwIDIuODI4bDYgNkEyIDIgMCAwIDAgMjIgMTh6In1dXX0pO3ZhciBDTyxERmU9ZigoKT0+e0NPPVtbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNMTIgNVYzIn1dLFsicGF0aCIse2Q6Ik0xMiA5djMifV0sWyJwYXRoIix7ZDoiTTIuMDc3IDE4LjQ0OUEyIDIgMCAwIDAgNCAyMWgxNmEyIDIgMCAwIDAgMS45MjQtMi41NWwtNC0xNEEyIDIgMCAwIDAgMTYgM0g4YTIgMiAwIDAgMC0xLjkyNCAxLjQ1eiJ9XV19KTt2YXIgX08sQUZlPWYoKCk9PntfTz1bWyJwYXRoIix7ZDoiTTEyIDE1djVzMy4wMy0uNTUgNC0yYzEuMDgtMS42MiAwLTUgMC01In1dLFsicGF0aCIse2Q6Ik00LjUgMTYuNWMtMS41IDEuMjYtMiA1LTIgNXMzLjc0LS41IDUtMmMuNzEtLjg0LjctMi4xMy0uMDktMi45MWEyLjE4IDIuMTggMCAwIDAtMi45MS0uMDkifV0sWyJwYXRoIix7ZDoiTTkgMTJhMjIgMjIgMCAwIDEgMi0zLjk1QTEyLjg4IDEyLjg4IDAgMCAxIDIyIDJjMCAyLjcyLS43OCA3LjUtNiAxMWEyMi40IDIyLjQgMCAwIDEtNCAyeiJ9XSxbInBhdGgiLHtkOiJNOSAxMkg0cy41NS0zLjAzIDItNGMxLjYyLTEuMDggNSAuMDUgNSAuMDUifV1dfSk7dmFyIFRPLFBGZT1mKCgpPT57VE89W1sicGF0aCIse2Q6Im0xNSAxMyAzLjcwOCA3LjQxNiJ9XSxbInBhdGgiLHtkOiJNMyAxOWExNSAxNSAwIDAgMCAxOCAwIn1dLFsicGF0aCIse2Q6Im0zIDIgMy4yMSA5LjYzM0EyIDIgMCAwIDAgOC4xMDkgMTNIMTgifV0sWyJwYXRoIix7ZDoibTkgMTMtMy43MDggNy40MTYifV1dfSk7dmFyIExPLEVGZT1mKCgpPT57TE89W1sicGF0aCIse2Q6Ik02IDE5VjUifV0sWyJwYXRoIix7ZDoiTTEwIDE5VjYuOCJ9XSxbInBhdGgiLHtkOiJNMTQgMTl2LTcuOCJ9XSxbInBhdGgiLHtkOiJNMTggNXY0In1dLFsicGF0aCIse2Q6Ik0xOCAxOXYtNiJ9XSxbInBhdGgiLHtkOiJNMjIgMTlWOSJ9XSxbInBhdGgiLHtkOiJNMiAxOVY5YTQgNCAwIDAgMSA0LTRjMiAwIDQgMS4zMyA2IDRzNCA0IDYgNGE0IDQgMCAxIDAtMy02LjY1In1dXX0pO3ZhciAkTyxJRmU9ZigoKT0+eyRPPVtbInBhdGgiLHtkOiJNMTcgMTBoLTFhNCA0IDAgMSAxIDQtNHYuNTM0In1dLFsicGF0aCIse2Q6Ik0xNyA2aDFhNCA0IDAgMCAxIDEuNDIgNy43NGwtMi4yOS44N2E2IDYgMCAwIDEtNS4zMzktMTAuNjhsMi4wNjktMS4zMSJ9XSxbInBhdGgiLHtkOiJNNC41IDE3YzIuOC0uNSA0LjQgMCA1LjUuOHMxLjggMi4yIDIuMyAzLjdjLTIgLjQtMy41LjQtNC44LS4zLTEuMi0uNi0yLjMtMS45LTMtNC4yIn1dLFsicGF0aCIse2Q6Ik05Ljc3IDEyQzQgMTUgMiAyMiAyIDIyIn1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiOCIscjoiMiJ9XV19KTt2YXIgSHUsTkZlPWYoKCk9PntIdT1bWyJwYXRoIix7ZDoibTE1LjE5NCAxMy43MDcgMy44MTQgMS44Ni0xLjg2IDMuODE0In1dLFsicGF0aCIse2Q6Ik0xNi40NzIxNCA3LjUyNzg2IEEgNSAxMCAwIDEgMCAxMyAyMS43OTc5NiJ9XSxbInBhdGgiLHtkOiJNMjEuNzk3OTYgMTEgQSAxMCA1IDAgMSAwIDE5IDE1LjU3MDcxIn1dXX0pO3ZhciBETyxSRmU9ZigoKT0+e0RPPVtbInBhdGgiLHtkOiJNMTIgN3Y2In1dLFsicGF0aCIse2Q6Ik0xMiA5aDIifV0sWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMSAwIDktOSA5Ljc0IDkuNzQgMCAwIDAtNi43NCAyLjc0TDMgOCJ9XSxbInBhdGgiLHtkOiJNMyAzdjVoNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE1IixyOiIyIn1dXX0pO3ZhciBBTyxPRmU9ZigoKT0+e0FPPVtbInBhdGgiLHtkOiJNMjAgOVY3YTIgMiAwIDAgMC0yLTJoLTYifV0sWyJwYXRoIix7ZDoibTE1IDItMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJNMjAgMTN2NWEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY3YTIgMiAwIDAgMSAyLTJoMiJ9XV19KTt2YXIgUE8sRkZlPWYoKCk9PntQTz1bWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMSAwIDktOSA5Ljc1IDkuNzUgMCAwIDAtNi43NCAyLjc0TDMgOCJ9XSxbInBhdGgiLHtkOiJNMyAzdjVoNSJ9XV19KTt2YXIgRU8sQkZlPWYoKCk9PntFTz1bWyJwYXRoIix7ZDoiTTEyIDVINmEyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoibTkgOCAzLTMtMy0zIn1dLFsicGF0aCIse2Q6Ik00IDE0djRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAwLTItMmgtMiJ9XV19KTt2YXIgSU8sSEZlPWYoKCk9PntJTz1bWyJwYXRoIix7ZDoiTTIxIDEyYTkgOSAwIDEgMS05LTljMi41MiAwIDQuOTMgMSA2Ljc0IDIuNzRMMjEgOCJ9XSxbInBhdGgiLHtkOiJNMjEgM3Y1aC01In1dXX0pO3ZhciBOTyxxRmU9ZigoKT0+e05PPVtbImNpcmNsZSIse2N4OiI2IixjeToiMTkiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTkgMTloOC41Yy40IDAgLjktLjEgMS4zLS4yIn1dLFsicGF0aCIse2Q6Ik01LjIgNS4yQTMuNSAzLjUzIDAgMCAwIDYuNSAxMkgxMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMSAxNS4zYTMuNSAzLjUgMCAwIDAtMy4zLTMuMyJ9XSxbInBhdGgiLHtkOiJNMTUgNWgtNC4zIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiNSIscjoiMyJ9XV19KTt2YXIgUk8sVkZlPWYoKCk9PntSTz1bWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjE5IixyOiIzIn1dLFsicGF0aCIse2Q6Ik05IDE5aDguNWEzLjUgMy41IDAgMCAwIDAtN2gtMTFhMy41IDMuNSAwIDAgMSAwLTdIMTUifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI1IixyOiIzIn1dXX0pO3ZhciBPTyxqRmU9ZigoKT0+e09PPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMTQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02LjAxIDE4SDYifV0sWyJwYXRoIix7ZDoiTTEwLjAxIDE4SDEwIn1dLFsicGF0aCIse2Q6Ik0xNSAxMHY0In1dLFsicGF0aCIse2Q6Ik0xNy44NCA3LjE3YTQgNCAwIDAgMC01LjY2IDAifV0sWyJwYXRoIix7ZDoiTTIwLjY2IDQuMzRhOCA4IDAgMCAwLTExLjMxIDAifV1dfSk7dmFyIHF1LFVGZT1mKCgpPT57cXU9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTgifV1dfSk7dmFyIFZ1LFdGZT1mKCgpPT57VnU9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIxIDlIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTVIMyJ9XV19KTt2YXIgRk8sR0ZlPWYoKCk9PntGTz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjEgNy41SDMifV0sWyJwYXRoIix7ZDoiTTIxIDEySDMifV0sWyJwYXRoIix7ZDoiTTIxIDE2LjVIMyJ9XV19KTt2YXIgQk8sWUZlPWYoKCk9PntCTz1bWyJwYXRoIix7ZDoiTTQgMTFhOSA5IDAgMCAxIDkgOSJ9XSxbInBhdGgiLHtkOiJNNCA0YTE2IDE2IDAgMCAxIDE2IDE2In1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxOSIscjoiMSJ9XV19KTt2YXIgSE8sS0ZlPWYoKCk9PntITz1bWyJwYXRoIix7ZDoiTTEwIDE1di0zIn1dLFsicGF0aCIse2Q6Ik0xNCAxNXYtMyJ9XSxbInBhdGgiLHtkOiJNMTggMTV2LTMifV0sWyJwYXRoIix7ZDoiTTIgOFY0In1dLFsicGF0aCIse2Q6Ik0yMiA2SDIifV0sWyJwYXRoIix7ZDoiTTIyIDhWNCJ9XSxbInBhdGgiLHtkOiJNNiAxNXYtMyJ9XSxbInJlY3QiLHt4OiIyIix5OiIxMiIsd2lkdGg6IjIwIixoZWlnaHQ6IjgiLHJ4OiIyIn1dXX0pO3ZhciBxTyxaRmU9ZigoKT0+e3FPPVtbInBhdGgiLHtkOiJNMjEuMyAxNS4zYTIuNCAyLjQgMCAwIDEgMCAzLjRsLTIuNiAyLjZhMi40IDIuNCAwIDAgMS0zLjQgMEwyLjcgOC43YTIuNDEgMi40MSAwIDAgMSAwLTMuNGwyLjYtMi42YTIuNDEgMi40MSAwIDAgMSAzLjQgMFoifV0sWyJwYXRoIix7ZDoibTE0LjUgMTIuNSAyLTIifV0sWyJwYXRoIix7ZDoibTExLjUgOS41IDItMiJ9XSxbInBhdGgiLHtkOiJtOC41IDYuNSAyLTIifV0sWyJwYXRoIix7ZDoibTE3LjUgMTUuNSAyLTIifV1dfSk7dmFyIFZPLFhGZT1mKCgpPT57Vk89W1sicGF0aCIse2Q6Ik02IDExaDhhNCA0IDAgMCAwIDAtOEg5djE4In1dLFsicGF0aCIse2Q6Ik02IDE1aDgifV1dfSk7dmFyIGpPLFFGZT1mKCgpPT57ak89W1sicGF0aCIse2Q6Ik0xMCAydjE1In1dLFsicGF0aCIse2Q6Ik03IDIyYTQgNCAwIDAgMS00LTQgMSAxIDAgMCAxIDEtMWgxNmExIDEgMCAwIDEgMSAxIDQgNCAwIDAgMS00IDR6In1dLFsicGF0aCIse2Q6Ik05LjE1OSAyLjQ2YTEgMSAwIDAgMSAxLjUyMS0uMTkzbDkuOTc3IDguOThBMSAxIDAgMCAxIDIwIDEzSDRhMSAxIDAgMCAxLS44MjQtMS41Njd6In1dXX0pO3ZhciBVTyxKRmU9ZigoKT0+e1VPPVtbInBhdGgiLHtkOiJNNyAyMWgxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMjFhOSA5IDAgMCAwIDktOUgzYTkgOSAwIDAgMCA5IDlaIn1dLFsicGF0aCIse2Q6Ik0xMS4zOCAxMmEyLjQgMi40IDAgMCAxLS40LTQuNzcgMi40IDIuNCAwIDAgMSAzLjItMi43NyAyLjQgMi40IDAgMCAxIDMuNDctLjYzIDIuNCAyLjQgMCAwIDEgMy4zNyAzLjM3IDIuNCAyLjQgMCAwIDEtMS4xIDMuNyAyLjUxIDIuNTEgMCAwIDEgLjAzIDEuMSJ9XSxbInBhdGgiLHtkOiJtMTMgMTIgNC00In1dLFsicGF0aCIse2Q6Ik0xMC45IDcuMjVBMy45OSAzLjk5IDAgMCAwIDQgMTBjMCAuNzMuMiAxLjQxLjU0IDIifV1dfSk7dmFyIFdPLGVCZT1mKCgpPT57V089W1sicGF0aCIse2Q6Im0yLjM3IDExLjIyMyA4LjM3Mi02Ljc3N2EyIDIgMCAwIDEgMi41MTYgMGw4LjM3MSA2Ljc3NyJ9XSxbInBhdGgiLHtkOiJNMjEgMTVhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0xIDFoLTUuMjUifV0sWyJwYXRoIix7ZDoiTTMgMTVhMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMCAxIDFoOSJ9XSxbInBhdGgiLHtkOiJtNi42NyAxNSA2LjEzIDQuNmEyIDIgMCAwIDAgMi44LS40bDMuMTUtNC4yIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI0Iix4OiIyIix5OiIxMSIscng6IjEifV1dfSk7dmFyIEdPLHRCZT1mKCgpPT57R089W1sicGF0aCIse2Q6Im0xMy41IDYuNS0zLjE0OC0zLjE0OGExLjIwNSAxLjIwNSAwIDAgMC0xLjcwNCAwTDYuMzUyIDUuNjQ4YTEuMjA1IDEuMjA1IDAgMCAwIDAgMS43MDRMOS41IDEwLjUifV0sWyJwYXRoIix7ZDoiTTE2LjUgNy41IDE5IDUifV0sWyJwYXRoIix7ZDoibTE3LjUgMTAuNSAzLjE0OCAzLjE0OGExLjIwNSAxLjIwNSAwIDAgMSAwIDEuNzA0bC0yLjI5NiAyLjI5NmExLjIwNSAxLjIwNSAwIDAgMS0xLjcwNCAwTDEzLjUgMTQuNSJ9XSxbInBhdGgiLHtkOiJNOSAyMWE2IDYgMCAwIDAtNi02In1dLFsicGF0aCIse2Q6Ik05LjM1MiAxMC42NDhhMS4yMDUgMS4yMDUgMCAwIDAgMCAxLjcwNGwyLjI5NiAyLjI5NmExLjIwNSAxLjIwNSAwIDAgMCAxLjcwNCAwbDQuMjk2LTQuMjk2YTEuMjA1IDEuMjA1IDAgMCAwIDAtMS43MDRsLTIuMjk2LTIuMjk2YTEuMjA1IDEuMjA1IDAgMCAwLTEuNzA0IDB6In1dXX0pO3ZhciBZTyxhQmU9ZigoKT0+e1lPPVtbInBhdGgiLHtkOiJNNCAxMGE3LjMxIDcuMzEgMCAwIDAgMTAgMTBaIn1dLFsicGF0aCIse2Q6Im05IDE1IDMtMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTNhNiA2IDAgMCAwLTYtNiJ9XSxbInBhdGgiLHtkOiJNMjEgMTNBMTAgMTAgMCAwIDAgMTEgMyJ9XV19KTt2YXIgS08sckJlPWYoKCk9PntLTz1bWyJwYXRoIix7ZDoibTIwIDE5LjUtNS41IDEuMiJ9XSxbInBhdGgiLHtkOiJNMTQuNSA0djExLjIyYTEgMSAwIDAgMCAxLjI0Mi45N0wyMCAxNS4yIn1dLFsicGF0aCIse2Q6Im0yLjk3OCAxOS4zNTEgNS41NDktMS4zNjNBMiAyIDAgMCAwIDEwIDE2VjIifV0sWyJwYXRoIix7ZDoiTTIwIDEwIDQgMTMuNSJ9XV19KTt2YXIgWk8sc0JlPWYoKCk9PntaTz1bWyJwYXRoIix7ZDoiTTEzIDEzSDhhMSAxIDAgMCAwLTEgMXY3In1dLFsicGF0aCIse2Q6Ik0xNCA4aDEifV0sWyJwYXRoIix7ZDoiTTE3IDIxdi00In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIwLjQxIDIwLjQxQTIgMiAwIDAgMSAxOSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgLjU5LTEuNDEifV0sWyJwYXRoIix7ZDoiTTI5LjUgMTEuNXM1IDUgNCA1In1dLFsicGF0aCIse2Q6Ik05IDNoNi4yYTIgMiAwIDAgMSAxLjQuNmwzLjggMy44YTIgMiAwIDAgMSAuNiAxLjRWMTUifV1dfSk7dmFyIFhPLGlCZT1mKCgpPT57WE89W1sicGF0aCIse2Q6Ik0xMCAydjNhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xOCAxOHYtNmExIDEgMCAwIDAtMS0xaC02YTEgMSAwIDAgMC0xIDF2NiJ9XSxbInBhdGgiLHtkOiJNMTggMjJINGEyIDIgMCAwIDEtMi0yVjYifV0sWyJwYXRoIix7ZDoiTTggMThhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOS4xNzJhMiAyIDAgMCAxIDEuNDE0LjU4NmwyLjgyOCAyLjgyOEEyIDIgMCAwIDEgMjIgNi44MjhWMTZhMiAyIDAgMCAxLTIuMDEgMnoifV1dfSk7dmFyIFFPLG9CZT1mKCgpPT57UU89W1sicGF0aCIse2Q6Ik0xNS4yIDNhMiAyIDAgMCAxIDEuNC42bDMuOCAzLjhhMiAyIDAgMCAxIC42IDEuNFYxOWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJ6In1dLFsicGF0aCIse2Q6Ik0xNyAyMXYtN2ExIDEgMCAwIDAtMS0xSDhhMSAxIDAgMCAwLTEgMXY3In1dLFsicGF0aCIse2Q6Ik03IDN2NGExIDEgMCAwIDAgMSAxaDcifV1dfSk7dmFyIGp1LG5CZT1mKCgpPT57anU9W1sicGF0aCIse2Q6Ik01IDd2MTFhMSAxIDAgMCAwIDEgMWgxMSJ9XSxbInBhdGgiLHtkOiJNNS4yOTMgMTguNzA3IDExIDEzIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjUiLHI6IjIifV1dfSk7dmFyIEpPLGxCZT1mKCgpPT57Sk89W1sicGF0aCIse2Q6Ik0xMiAzdjE4In1dLFsicGF0aCIse2Q6Im0xOSA4IDMgOGE1IDUgMCAwIDEtNiAwelY3In1dLFsicGF0aCIse2Q6Ik0zIDdoMWExNyAxNyAwIDAgMCA4LTIgMTcgMTcgMCAwIDAgOCAyaDEifV0sWyJwYXRoIix7ZDoibTUgOCAzIDhhNSA1IDAgMCAxLTYgMHpWNyJ9XSxbInBhdGgiLHtkOiJNNyAyMWgxMCJ9XV19KTt2YXIgZUYsY0JlPWYoKCk9PntlRj1bWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInBhdGgiLHtkOiJNOCA3djEwIn1dLFsicGF0aCIse2Q6Ik0xMiA3djEwIn1dLFsicGF0aCIse2Q6Ik0xNyA3djEwIn1dXX0pO3ZhciB0RixkQmU9ZigoKT0+e3RGPVtbInBhdGgiLHtkOiJNMTIgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi03In1dLFsicGF0aCIse2Q6Ik0xNCAxNUg5di01In1dLFsicGF0aCIse2Q6Ik0xNiAzaDV2NSJ9XSxbInBhdGgiLHtkOiJNMjEgMyA5IDE1In1dXX0pO3ZhciBhRix1QmU9ZigoKT0+e2FGPVtbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEifV0sWyJwYXRoIix7ZDoiTTE4Ljk0NCAxMi4zM2ExIDEgMCAwIDAgMC0uNjYgNy41IDcuNSAwIDAgMC0xMy44ODggMCAxIDEgMCAwIDAgMCAuNjYgNy41IDcuNSAwIDAgMCAxMy44ODggMCJ9XV19KTt2YXIgckYscEJlPWYoKCk9PntyRj1bWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInBhdGgiLHtkOiJNOCAxNHMxLjUgMiA0IDIgNC0yIDQtMiJ9XSxbInBhdGgiLHtkOiJNOSA5aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTUgOWguMDEifV1dfSk7dmFyIHNGLGZCZT1mKCgpPT57c0Y9W1sicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTcuODI4IDEzLjA3QTMgMyAwIDAgMSAxMiA4Ljc2NGEzIDMgMCAwIDEgNC4xNzIgNC4zMDZsLTMuNDQ3IDMuNjJhMSAxIDAgMCAxLTEuNDQ5IDB6In1dXX0pO3ZhciBpRixoQmU9ZigoKT0+e2lGPVtbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik03IDEyaDEwIn1dXX0pO3ZhciBvRixtQmU9ZigoKT0+e29GPVtbInBhdGgiLHtkOiJNMTcgMTJ2NGExIDEgMCAwIDEtMSAxaC00In1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xNyA4VjcifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik03IDE3aC4wMSJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJyZWN0Iix7eDoiNyIseToiNyIsd2lkdGg6IjUiLGhlaWdodDoiNSIscng6IjEifV1dfSk7dmFyIG5GLGdCZT1mKCgpPT57bkY9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMTYgMTYtMS45LTEuOSJ9XV19KTt2YXIgbEYsYkJlPWYoKCk9PntsRj1bWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInBhdGgiLHtkOiJNNyA4aDgifV0sWyJwYXRoIix7ZDoiTTcgMTJoMTAifV0sWyJwYXRoIix7ZDoiTTcgMTZoNiJ9XV19KTt2YXIgY0YsdkJlPWYoKCk9PntjRj1bWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XV19KTt2YXIgZEYseEJlPWYoKCk9PntkRj1bWyJwYXRoIix7ZDoiTTE0IDIxdi0zYTIgMiAwIDAgMC00IDB2MyJ9XSxbInBhdGgiLHtkOiJNMTggNC45MzNWMjEifV0sWyJwYXRoIix7ZDoibTQgNiA3LjEwNi0zLjc5YTIgMiAwIDAgMSAxLjc4OCAwTDIwIDYifV0sWyJwYXRoIix7ZDoibTYgMTEtMy41MiAyLjE0N2ExIDEgMCAwIDAtLjQ4Ljg1NFYxOWEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTVhMSAxIDAgMCAwLS40OC0uODUzTDE4IDExIn1dLFsicGF0aCIse2Q6Ik02IDQuOTMzVjIxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOSIscjoiMiJ9XV19KTt2YXIgdUYseUJlPWYoKCk9Pnt1Rj1bWyJwYXRoIix7ZDoiTTUuNDIgOS40MiA4IDEyIn1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiI4IixyOiIyIn1dLFsicGF0aCIse2Q6Im0xNCA2LTguNTggOC41OCJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMTYiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTEwLjggMTQuOCAxNCAxOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLTIifV0sWyJwYXRoIix7ZDoiTTIyIDEyaC0yIn1dXX0pO3ZhciBwRix3QmU9ZigoKT0+e3BGPVtbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNOC4xMiA4LjEyIDEyIDEyIn1dLFsicGF0aCIse2Q6Ik0yMCA0IDguMTIgMTUuODgifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjE4IixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xNC44IDE0LjggMjAgMjAifV1dfSk7dmFyIGZGLE1CZT1mKCgpPT57ZkY9W1sicGF0aCIse2Q6Ik0yMSA0aC0zLjVsMiAxMS4wNSJ9XSxbInBhdGgiLHtkOiJNNi45NSAxN2g1LjE0MmMuNTIzIDAgLjk1LS40MDYgMS4wNjMtLjkxNmE2LjUgNi41IDAgMCAxIDUuMzQ1LTUuMDA5In1dLFsiY2lyY2xlIix7Y3g6IjE5LjUiLGN5OiIxNy41IixyOiIyLjUifV0sWyJjaXJjbGUiLHtjeDoiNC41IixjeToiMTcuNSIscjoiMi41In1dXX0pO3ZhciBoRixrQmU9ZigoKT0+e2hGPVtbInBhdGgiLHtkOiJNMTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0zIn1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoibTIyIDMtNSA1In1dLFsicGF0aCIse2Q6Im0xNyAzIDUgNSJ9XV19KTt2YXIgbUYsU0JlPWYoKCk9PnttRj1bWyJwYXRoIix7ZDoiTTEzIDNINGEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMyJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dLFsicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Im0xNyA4IDUtNSJ9XSxbInBhdGgiLHtkOiJNMTcgM2g1djUifV1dfSk7dmFyIGdGLHpCZT1mKCgpPT57Z0Y9W1sicGF0aCIse2Q6Ik0xNSAxMmgtNSJ9XSxbInBhdGgiLHtkOiJNMTUgOGgtNSJ9XSxbInBhdGgiLHtkOiJNMTkgMTdWNWEyIDIgMCAwIDAtMi0ySDQifV0sWyJwYXRoIix7ZDoiTTggMjFoMTJhMiAyIDAgMCAwIDItMnYtMWExIDEgMCAwIDAtMS0xSDExYTEgMSAwIDAgMC0xIDF2MWEyIDIgMCAxIDEtNCAwVjVhMiAyIDAgMSAwLTQgMHYyYTEgMSAwIDAgMCAxIDFoMyJ9XV19KTt2YXIgYkYsQ0JlPWYoKCk9PntiRj1bWyJwYXRoIix7ZDoiTTE5IDE3VjVhMiAyIDAgMCAwLTItMkg0In1dLFsicGF0aCIse2Q6Ik04IDIxaDEyYTIgMiAwIDAgMCAyLTJ2LTFhMSAxIDAgMCAwLTEtMUgxMWExIDEgMCAwIDAtMSAxdjFhMiAyIDAgMSAxLTQgMFY1YTIgMiAwIDEgMC00IDB2MmExIDEgMCAwIDAgMSAxaDMifV1dfSk7dmFyIHZGLF9CZT1mKCgpPT57dkY9W1siY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV0sWyJwYXRoIix7ZDoibTIxIDIxLTQuMy00LjMifV0sWyJwYXRoIix7ZDoiTTExIDd2NCJ9XSxbInBhdGgiLHtkOiJNMTEgMTVoLjAxIn1dXX0pO3ZhciB4RixUQmU9ZigoKT0+e3hGPVtbInBhdGgiLHtkOiJtOCAxMSAyIDIgNC00In1dLFsiY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV0sWyJwYXRoIix7ZDoibTIxIDIxLTQuMy00LjMifV1dfSk7dmFyIHlGLExCZT1mKCgpPT57eUY9W1sicGF0aCIse2Q6Im0xMyAxMy41IDItMi41LTItMi41In1dLFsicGF0aCIse2Q6Im0yMSAyMS00LjMtNC4zIn1dLFsicGF0aCIse2Q6Ik05IDguNSA3IDExbDIgMi41In1dLFsiY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV1dfSk7dmFyIHdGLCRCZT1mKCgpPT57d0Y9W1sicGF0aCIse2Q6Im0xMy41IDguNS01IDUifV0sWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtNC4zLTQuMyJ9XV19KTt2YXIgTUYsREJlPWYoKCk9PntNRj1bWyJwYXRoIix7ZDoibTEzLjUgOC41LTUgNSJ9XSxbInBhdGgiLHtkOiJtOC41IDguNSA1IDUifV0sWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtNC4zLTQuMyJ9XV19KTt2YXIga0YsQUJlPWYoKCk9PntrRj1bWyJwYXRoIix7ZDoibTIxIDIxLTQuMzQtNC4zNCJ9XSxbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dXX0pO3ZhciBTRixQQmU9ZigoKT0+e1NGPVtbInBhdGgiLHtkOiJNMTYgNWE0IDMgMCAwIDAtOCAwYzAgNCA4IDMgOCA3YTQgMyAwIDAgMS04IDAifV0sWyJwYXRoIix7ZDoiTTggMTlhNCAzIDAgMCAwIDggMGMwLTQtOC0zLTgtN2E0IDMgMCAwIDEgOCAwIn1dXX0pO3ZhciBVdSxFQmU9ZigoKT0+e1V1PVtbInBhdGgiLHtkOiJNMy43MTQgMy4wNDhhLjQ5OC40OTggMCAwIDAtLjY4My42MjdsMi44NDMgNy42MjdhMiAyIDAgMCAxIDAgMS4zOTZsLTIuODQyIDcuNjI3YS40OTguNDk4IDAgMCAwIC42ODIuNjI3bDE4LTguNWEuNS41IDAgMCAwIDAtLjkwNHoifV0sWyJwYXRoIix7ZDoiTTYgMTJoMTYifV1dfSk7dmFyIHpGLElCZT1mKCgpPT57ekY9W1sicmVjdCIse3g6IjE0Iix5OiIxNCIsd2lkdGg6IjgiLGhlaWdodDoiOCIscng6IjIifV0sWyJyZWN0Iix7eDoiMiIseToiMiIsd2lkdGg6IjgiLGhlaWdodDoiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTR2MWEyIDIgMCAwIDAgMiAyaDEifV0sWyJwYXRoIix7ZDoiTTE0IDdoMWEyIDIgMCAwIDEgMiAydjEifV1dfSk7dmFyIENGLE5CZT1mKCgpPT57Q0Y9W1sicGF0aCIse2Q6Ik0xNC41MzYgMjEuNjg2YS41LjUgMCAwIDAgLjkzNy0uMDI0bDYuNS0xOWEuNDk2LjQ5NiAwIDAgMC0uNjM1LS42MzVsLTE5IDYuNWEuNS41IDAgMCAwLS4wMjQuOTM3bDcuOTMgMy4xOGEyIDIgMCAwIDEgMS4xMTIgMS4xMXoifV0sWyJwYXRoIix7ZDoibTIxLjg1NCAyLjE0Ny0xMC45NCAxMC45MzkifV1dfSk7dmFyIF9GLFJCZT1mKCgpPT57X0Y9W1sicGF0aCIse2Q6Im0xNiAxNi00IDQtNC00In1dLFsicGF0aCIse2Q6Ik0zIDEyaDE4In1dLFsicGF0aCIse2Q6Im04IDggNC00IDQgNCJ9XV19KTt2YXIgVEYsT0JlPWYoKCk9PntURj1bWyJwYXRoIix7ZDoiTTEyIDN2MTgifV0sWyJwYXRoIix7ZDoibTE2IDE2IDQtNC00LTQifV0sWyJwYXRoIix7ZDoibTggOC00IDQgNCA0In1dXX0pO3ZhciBMRixGQmU9ZigoKT0+e0xGPVtbInBhdGgiLHtkOiJtMTAuODUyIDE0Ljc3Mi0uMzgzLjkyMyJ9XSxbInBhdGgiLHtkOiJNMTMuMTQ4IDE0Ljc3MmEzIDMgMCAxIDAtMi4yOTYtNS41NDRsLS4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTMuMTQ4IDkuMjI4LjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xMy41MyAxNS42OTYtLjM4Mi0uOTI0YTMgMyAwIDEgMS0yLjI5Ni01LjU0NCJ9XSxbInBhdGgiLHtkOiJtMTQuNzcyIDEwLjg1Mi45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTQuNzcyIDEzLjE0OC45MjMuMzgzIn1dLFsicGF0aCIse2Q6Ik00LjUgMTBINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMmgtLjUifV0sWyJwYXRoIix7ZDoiTTQuNSAxNEg0YTIgMiAwIDAgMC0yIDJ2NGEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTRhMiAyIDAgMCAwLTItMmgtLjUifV0sWyJwYXRoIix7ZDoiTTYgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik02IDZoLjAxIn1dLFsicGF0aCIse2Q6Im05LjIyOCAxMC44NTItLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im05LjIyOCAxMy4xNDgtLjkyMy4zODMifV1dfSk7dmFyICRGLEJCZT1mKCgpPT57JEY9W1sicGF0aCIse2Q6Ik02IDEwSDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnY0YTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTYgMTRINGEyIDIgMCAwIDAtMiAydjRhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi00YTIgMiAwIDAgMC0yLTJoLTIifV0sWyJwYXRoIix7ZDoiTTYgNmguMDEifV0sWyJwYXRoIix7ZDoiTTYgMThoLjAxIn1dLFsicGF0aCIse2Q6Im0xMyA2LTQgNmg2bC00IDYifV1dfSk7dmFyIERGLEhCZT1mKCgpPT57REY9W1sicGF0aCIse2Q6Ik03IDJoMTNhMiAyIDAgMCAxIDIgMnY0YTIgMiAwIDAgMS0yIDJoLTUifV0sWyJwYXRoIix7ZDoiTTEwIDEwIDIuNSAyLjVDMiAyIDIgMi41IDIgNXYzYTIgMiAwIDAgMCAyIDJoNnoifV0sWyJwYXRoIix7ZDoiTTIyIDE3di0xYTIgMiAwIDAgMC0yLTJoLTEifV0sWyJwYXRoIix7ZDoiTTQgMTRhMiAyIDAgMCAwLTIgMnY0YTIgMiAwIDAgMCAyIDJoMTYuNWwxLS41LjUuNS04LThINHoifV0sWyJwYXRoIix7ZDoiTTYgMThoLjAxIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIEFGLHFCZT1mKCgpPT57QUY9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI4Iix4OiIyIix5OiIyIixyeDoiMiIscnk6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjgiLHg6IjIiLHk6IjE0IixyeDoiMiIscnk6IjIifV0sWyJsaW5lIix7eDE6IjYiLHgyOiI2LjAxIix5MToiNiIseTI6IjYifV0sWyJsaW5lIix7eDE6IjYiLHgyOiI2LjAxIix5MToiMTgiLHkyOiIxOCJ9XV19KTt2YXIgUEYsVkJlPWYoKCk9PntQRj1bWyJwYXRoIix7ZDoiTTE0IDE3SDUifV0sWyJwYXRoIix7ZDoiTTE5IDdoLTkifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNyIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiNyIscjoiMyJ9XV19KTt2YXIgRUYsakJlPWYoKCk9PntFRj1bWyJwYXRoIix7ZDoiTTguMyAxMGEuNy43IDAgMCAxLS42MjYtMS4wNzlMMTEuNCAzYS43LjcgMCAwIDEgMS4xOTgtLjA0M0wxNi4zIDguOWEuNy43IDAgMCAxLS41NzIgMS4xWiJ9XSxbInJlY3QiLHt4OiIzIix5OiIxNCIsd2lkdGg6IjciLGhlaWdodDoiNyIscng6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjE3LjUiLHI6IjMuNSJ9XV19KTt2YXIgSUYsVUJlPWYoKCk9PntJRj1bWyJwYXRoIix7ZDoiTTkuNjcxIDQuMTM2YTIuMzQgMi4zNCAwIDAgMSA0LjY1OSAwIDIuMzQgMi4zNCAwIDAgMCAzLjMxOSAxLjkxNSAyLjM0IDIuMzQgMCAwIDEgMi4zMyA0LjAzMyAyLjM0IDIuMzQgMCAwIDAgMCAzLjgzMSAyLjM0IDIuMzQgMCAwIDEtMi4zMyA0LjAzMyAyLjM0IDIuMzQgMCAwIDAtMy4zMTkgMS45MTUgMi4zNCAyLjM0IDAgMCAxLTQuNjU5IDAgMi4zNCAyLjM0IDAgMCAwLTMuMzItMS45MTUgMi4zNCAyLjM0IDAgMCAxLTIuMzMtNC4wMzMgMi4zNCAyLjM0IDAgMCAwIDAtMy44MzFBMi4zNCAyLjM0IDAgMCAxIDYuMzUgNi4wNTFhMi4zNCAyLjM0IDAgMCAwIDMuMzE5LTEuOTE1In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV1dfSk7dmFyIE5GLFdCZT1mKCgpPT57TkY9W1siY2lyY2xlIix7Y3g6IjE4IixjeToiNSIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTIiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOSIscjoiMyJ9XSxbImxpbmUiLHt4MToiOC41OSIseDI6IjE1LjQyIix5MToiMTMuNTEiLHkyOiIxNy40OSJ9XSxbImxpbmUiLHt4MToiMTUuNDEiLHgyOiI4LjU5Iix5MToiNi41MSIseTI6IjEwLjQ5In1dXX0pO3ZhciBSRixHQmU9ZigoKT0+e1JGPVtbInBhdGgiLHtkOiJNMTIgMnYxMyJ9XSxbInBhdGgiLHtkOiJtMTYgNi00LTQtNCA0In1dLFsicGF0aCIse2Q6Ik00IDEydjhhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0ydi04In1dXX0pO3ZhciBPRixZQmU9ZigoKT0+e09GPVtbInBhdGgiLHtkOiJNMTQgMTFhMiAyIDAgMSAxLTQgMCA0IDQgMCAwIDEgOCAwIDYgNiAwIDAgMS0xMiAwIDggOCAwIDAgMSAxNiAwIDEwIDEwIDAgMSAxLTIwIDAgMTEuOTMgMTEuOTMgMCAwIDEgMi40Mi03LjIyIDIgMiAwIDEgMSAzLjE2IDIuNDQifV1dfSk7dmFyIEZGLEtCZT1mKCgpPT57RkY9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsibGluZSIse3gxOiIzIix4MjoiMjEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMyIseDI6IjIxIix5MToiMTUiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkiLHkxOiI5Iix5MjoiMjEifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUiLHkxOiI5Iix5MjoiMjEifV1dfSk7dmFyIEJGLFpCZT1mKCgpPT57QkY9W1sicGF0aCIse2Q6Ik0xMiAxMlY5YTEgMSAwIDAgMC0xLTFIOWExIDEgMCAwIDAtMSAxdjMifV0sWyJwYXRoIix7ZDoiTTE2IDIwdi0zYTEgMSAwIDAgMC0xLTFoLTJhMSAxIDAgMCAwLTEgMXYzIn1dLFsicGF0aCIse2Q6Ik0yMCAyMlYyIn1dLFsicGF0aCIse2Q6Ik00IDEyaDE2In1dLFsicGF0aCIse2Q6Ik00IDIwaDE2In1dLFsicGF0aCIse2Q6Ik00IDJ2MjAifV0sWyJwYXRoIix7ZDoiTTQgNGgxNiJ9XV19KTt2YXIgSEYsWEJlPWYoKCk9PntIRj1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Ik0xMiA4djQifV0sWyJwYXRoIix7ZDoiTTEyIDE2aC4wMSJ9XV19KTt2YXIgcUYsUUJlPWYoKCk9PntxRj1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Im00LjI0MyA1LjIxIDE0LjM5IDEyLjQ3MiJ9XV19KTt2YXIgVkYsSkJlPWYoKCk9PntWRj1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Im05IDEyIDIgMiA0LTQifV1dfSk7dmFyIGpGLGVIZT1mKCgpPT57akY9W1sicGF0aCIse2Q6Ik0xMSAyMmMtMy44MDYtMS40NS03LTMuOTY2LTctOVY2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXY0In1dLFsicGF0aCIse2Q6Ik0xNC45MjMgMTYuNTQ3IDE0IDE2LjE2NCJ9XSxbInBhdGgiLHtkOiJtMTQuOTIzIDE4Ljg0My0uOTIzLjM4MyJ9XSxbInBhdGgiLHtkOiJNMTYuNTQ3IDE0LjkyMyAxNi4xNjQgMTQifV0sWyJwYXRoIix7ZDoibTE2LjU0NyAyMC40NjctLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTE4Ljg0MyAxNC45MjMuMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE5LjIyNSAyMS4zOTEtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Im0yMC40NjcgMTYuNTQ3LjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0yMC40NjcgMTguODQzLjkyMy4zODMifV0sWyJjaXJjbGUiLHtjeDoiMTcuNjk1IixjeToiMTcuNjk1IixyOiIzIn1dXX0pO3ZhciBVRix0SGU9ZigoKT0+e1VGPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC4wMSJ9XV19KTt2YXIgV0YsYUhlPWYoKCk9PntXRj1bWyJwYXRoIix7ZDoibTEwLjkyOSAxNC40NjctLjM4My45MjQifV0sWyJwYXRoIix7ZDoiTTEwLjkyOSA4LjkyMyAxMC41NDYgOCJ9XSxbInBhdGgiLHtkOiJNMTMuMjI1IDguOTIzIDEzLjYwOCA4In1dLFsicGF0aCIse2Q6Im0xMy42MDcgMTUuMzkxLS4zODItLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTQuODQ5IDEwLjU0Ny45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTQuODQ5IDEyLjg0My45MjMuMzgzIn1dLFsicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJtOS4zMDUgMTAuNTQ3LS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtOS4zMDUgMTIuODQzLS45MjMuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjEyLjA3NyIsY3k6IjExLjY5NSIscjoiMyJ9XV19KTt2YXIgR0YsckhlPWYoKCk9PntHRj1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Ik0xMiAyMlYyIn1dXX0pO3ZhciBZRixzSGU9ZigoKT0+e1lGPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoiTTkgMTJoNiJ9XV19KTt2YXIgS0YsaUhlPWYoKCk9PntLRj1bWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNSA1YTEgMSAwIDAgMC0xIDF2N2MwIDUgMy41IDcuNSA3LjY3IDguOTRhMSAxIDAgMCAwIC42Ny4wMWMyLjM1LS44MiA0LjQ4LTEuOTcgNS45LTMuNzEifV0sWyJwYXRoIix7ZDoiTTkuMzA5IDMuNjUyQTEyLjI1MiAxMi4yNTIgMCAwIDAgMTEuMjQgMi4yOGExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF2N2E5Ljc4NCA5Ljc4NCAwIDAgMS0uMDggMS4yNjQifV1dfSk7dmFyIFpGLG9IZT1mKCgpPT57WkY9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJNOSAxMmg2In1dLFsicGF0aCIse2Q6Ik0xMiA5djYifV1dfSk7dmFyIFd1LG5IZT1mKCgpPT57V3U9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJNOS4xIDlhMyAzIDAgMCAxIDUuODIgMWMwIDItMyAzLTMgMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoLjAxIn1dXX0pO3ZhciBYRixsSGU9ZigoKT0+e1hGPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoiTTYuMzc2IDE4LjkxYTYgNiAwIDAgMSAxMS4yNDkuMDAzIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTEiLHI6IjQifV1dfSk7dmFyIEd1LGNIZT1mKCgpPT57R3U9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJtMTQuNSA5LjUtNSA1In1dLFsicGF0aCIse2Q6Im05LjUgOS41IDUgNSJ9XV19KTt2YXIgUUYsZEhlPWYoKCk9PntRRj1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dXX0pO3ZhciBKRix1SGU9ZigoKT0+e0pGPVtbInBhdGgiLHtkOiJNMTIgMTAuMTg5VjE0In1dLFsicGF0aCIse2Q6Ik0xMiAydjMifV0sWyJwYXRoIix7ZDoiTTE5IDEzVjdhMiAyIDAgMCAwLTItMkg3YTIgMiAwIDAgMC0yIDJ2NiJ9XSxbInBhdGgiLHtkOiJNMTkuMzggMjBBMTEuNiAxMS42IDAgMCAwIDIxIDE0bC04LjE4OC0zLjYzOWEyIDIgMCAwIDAtMS42MjQgMEwzIDE0YTExLjYgMTEuNiAwIDAgMCAyLjgxIDcuNzYifV0sWyJwYXRoIix7ZDoiTTIgMjFjLjYuNSAxLjIgMSAyLjUgMSAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDFzMS4yIDEgMi41IDFjMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIn1dXX0pO3ZhciBlQixwSGU9ZigoKT0+e2VCPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI4In1dLFsicGF0aCIse2Q6Ik0xMiAydjcuNSJ9XSxbInBhdGgiLHtkOiJtMTkgNS01LjIzIDUuMjMifV0sWyJwYXRoIix7ZDoiTTIyIDEyaC03LjUifV0sWyJwYXRoIix7ZDoibTE5IDE5LTUuMjMtNS4yMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTQuNVYyMiJ9XSxbInBhdGgiLHtkOiJNMTAuMjMgMTMuNzcgNSAxOSJ9XSxbInBhdGgiLHtkOiJNOS41IDEySDIifV0sWyJwYXRoIix7ZDoiTTEwLjIzIDEwLjIzIDUgNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyLjUifV1dfSk7dmFyIHRCLGZIZT1mKCgpPT57dEI9W1sicGF0aCIse2Q6Ik0yMC4zOCAzLjQ2IDE2IDJhNCA0IDAgMCAxLTggMEwzLjYyIDMuNDZhMiAyIDAgMCAwLTEuMzQgMi4yM2wuNTggMy40N2ExIDEgMCAwIDAgLjk5Ljg0SDZ2MTBjMCAxLjEuOSAyIDIgMmg4YTIgMiAwIDAgMCAyLTJWMTBoMi4xNWExIDEgMCAwIDAgLjk5LS44NGwuNTgtMy40N2EyIDIgMCAwIDAtMS4zNC0yLjIzeiJ9XV19KTt2YXIgYUIsaEhlPWYoKCk9PnthQj1bWyJwYXRoIix7ZDoiTTE2IDEwYTQgNCAwIDAgMS04IDAifV0sWyJwYXRoIix7ZDoiTTMuMTAzIDYuMDM0aDE3Ljc5NCJ9XSxbInBhdGgiLHtkOiJNMy40IDUuNDY3YTIgMiAwIDAgMC0uNCAxLjJWMjBhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0yVjYuNjY3YTIgMiAwIDAgMC0uNC0xLjJsLTItMi42NjdBMiAyIDAgMCAwIDE3IDJIN2EyIDIgMCAwIDAtMS42Ljh6In1dXX0pO3ZhciByQixtSGU9ZigoKT0+e3JCPVtbInBhdGgiLHtkOiJtMTUgMTEtMSA5In1dLFsicGF0aCIse2Q6Im0xOSAxMS00LTcifV0sWyJwYXRoIix7ZDoiTTIgMTFoMjAifV0sWyJwYXRoIix7ZDoibTMuNSAxMSAxLjYgNy40YTIgMiAwIDAgMCAyIDEuNmg5LjhhMiAyIDAgMCAwIDItMS42bDEuNy03LjQifV0sWyJwYXRoIix7ZDoiTTQuNSAxNS41aDE1In1dLFsicGF0aCIse2Q6Im01IDExIDQtNyJ9XSxbInBhdGgiLHtkOiJtOSAxMSAxIDkifV1dfSk7dmFyIHNCLGdIZT1mKCgpPT57c0I9W1siY2lyY2xlIix7Y3g6IjgiLGN5OiIyMSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjIxIixyOiIxIn1dLFsicGF0aCIse2Q6Ik0yLjA1IDIuMDVoMmwyLjY2IDEyLjQyYTIgMiAwIDAgMCAyIDEuNThoOS43OGEyIDIgMCAwIDAgMS45NS0xLjU3bDEuNjUtNy40M0g1LjEyIn1dXX0pO3ZhciBpQixiSGU9ZigoKT0+e2lCPVtbInBhdGgiLHtkOiJNMjEuNTYgNC41NmExLjUgMS41IDAgMCAxIDAgMi4xMjJsLS40Ny40N2EzIDMgMCAwIDEtNC4yMTItLjAzIDMgMyAwIDAgMSAwLTQuMjQzbC40NC0uNDRhMS41IDEuNSAwIDAgMSAyLjEyMSAweiJ9XSxbInBhdGgiLHtkOiJNMyAyMmExIDEgMCAwIDEtMS0xdi0zLjU4NmExIDEgMCAwIDEgLjI5My0uNzA3bDMuMzU1LTMuMzU1YTEuMjA1IDEuMjA1IDAgMCAxIDEuNzA0IDBsMy4yOTYgMy4yOTZhMS4yMDUgMS4yMDUgMCAwIDEgMCAxLjcwNGwtMy4zNTUgMy4zNTVhMSAxIDAgMCAxLS43MDcuMjkzeiJ9XSxbInBhdGgiLHtkOiJtOSAxNSA3Ljg3OS03Ljg3OCJ9XV19KTt2YXIgb0IsdkhlPWYoKCk9PntvQj1bWyJwYXRoIix7ZDoibTQgNCAyLjUgMi41In1dLFsicGF0aCIse2Q6Ik0xMy41IDYuNWE0Ljk1IDQuOTUgMCAwIDAtNyA3In1dLFsicGF0aCIse2Q6Ik0xNSA1IDUgMTUifV0sWyJwYXRoIix7ZDoiTTE0IDE3di4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTZ2LjAxIn1dLFsicGF0aCIse2Q6Ik0xMyAxM3YuMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEwdi4wMSJ9XSxbInBhdGgiLHtkOiJNMTEgMjB2LjAxIn1dLFsicGF0aCIse2Q6Ik0xNyAxNHYuMDEifV0sWyJwYXRoIix7ZDoiTTIwIDExdi4wMSJ9XV19KTt2YXIgbkIseEhlPWYoKCk9PntuQj1bWyJwYXRoIix7ZDoiTTQgMTNWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTEwIDIydi01In1dLFsicGF0aCIse2Q6Ik0xNCAxOXYtMiJ9XSxbInBhdGgiLHtkOiJNMTggMjB2LTMifV0sWyJwYXRoIix7ZDoiTTIgMTNoMjAifV0sWyJwYXRoIix7ZDoiTTYgMjB2LTMifV1dfSk7dmFyIGxCLHlIZT1mKCgpPT57bEI9W1sicGF0aCIse2Q6Im0xNSAxNSA2IDZtLTYtNnY0LjhtMC00LjhoNC44In1dLFsicGF0aCIse2Q6Ik05IDE5LjhWMTVtMCAwSDQuMk05IDE1bC02IDYifV0sWyJwYXRoIix7ZDoiTTE1IDQuMlY5bTAgMGg0LjhNMTUgOWw2LTYifV0sWyJwYXRoIix7ZDoiTTkgNC4yVjltMCAwSDQuMk05IDkgMyAzIn1dXX0pO3ZhciBjQix3SGU9ZigoKT0+e2NCPVtbInBhdGgiLHtkOiJNMTEgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMyAyMmMuNS0uNSAxLjEyLTEgMi41LTEtMS4zOCAwLTItLjUtMi41LTEifV0sWyJwYXRoIix7ZDoiTTE0IDJhMy4yOCAzLjI4IDAgMCAxLTMuMjI3IDEuNzk4bC02LjE3LS41NjFBMi4zODcgMi4zODcgMCAxIDAgNC4zODcgOEgxNS41YTEgMSAwIDAgMSAwIDEzIDEgMSAwIDAgMCAwLTVIMTJhNyA3IDAgMCAxLTctN1Y4In1dLFsicGF0aCIse2Q6Ik0xNCA4YTguNSA4LjUgMCAwIDEgMCA4In1dLFsicGF0aCIse2Q6Ik0xNiAxNmMyIDAgNC41LTQgNC02In1dXX0pO3ZhciBkQixNSGU9ZigoKT0+e2RCPVtbInBhdGgiLHtkOiJNMTIgMjJ2LTUuMTcyYTIgMiAwIDAgMC0uNTg2LTEuNDE0TDkuNSAxMy41In1dLFsicGF0aCIse2Q6Ik0xNC41IDE0LjUgMTIgMTcifV0sWyJwYXRoIix7ZDoiTTE3IDguOEE2IDYgMCAwIDEgMTMuOCAyMEgxMEE2LjUgNi41IDAgMCAxIDcgOGE1IDUgMCAwIDEgMTAgMHoifV1dfSk7dmFyIHVCLGtIZT1mKCgpPT57dUI9W1sicGF0aCIse2Q6Im0xOCAxNCA0IDQtNCA0In1dLFsicGF0aCIse2Q6Im0xOCAyIDQgNC00IDQifV0sWyJwYXRoIix7ZDoiTTIgMThoMS45NzNhNCA0IDAgMCAwIDMuMy0xLjdsNS40NTQtOC42YTQgNCAwIDAgMSAzLjMtMS43SDIyIn1dLFsicGF0aCIse2Q6Ik0yIDZoMS45NzJhNCA0IDAgMCAxIDMuNiAyLjIifV0sWyJwYXRoIix7ZDoiTTIyIDE4aC02LjA0MWE0IDQgMCAwIDEtMy4zLTEuOGwtLjM1OS0uNDUifV1dfSk7dmFyIHBCLFNIZT1mKCgpPT57cEI9W1sicGF0aCIse2Q6Ik0xOCA3VjVhMSAxIDAgMCAwLTEtMUg2LjVhLjUuNSAwIDAgMC0uNC44bDQuNSA2YTIgMiAwIDAgMSAwIDIuNGwtNC41IDZhLjUuNSAwIDAgMCAuNC44SDE3YTEgMSAwIDAgMCAxLTF2LTIifV1dfSk7dmFyIGZCLHpIZT1mKCgpPT57ZkI9W1sicGF0aCIse2Q6Ik0yIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNNyAyMHYtNCJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2LTgifV0sWyJwYXRoIix7ZDoiTTE3IDIwVjgifV1dfSk7dmFyIGhCLENIZT1mKCgpPT57aEI9W1sicGF0aCIse2Q6Ik0yIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNNyAyMHYtNCJ9XV19KTt2YXIgbUIsX0hlPWYoKCk9PnttQj1bWyJwYXRoIix7ZDoiTTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDIwdi00In1dLFsicGF0aCIse2Q6Ik0xMiAyMHYtOCJ9XV19KTt2YXIgZ0IsVEhlPWYoKCk9PntnQj1bWyJwYXRoIix7ZDoiTTIgMjBoLjAxIn1dXX0pO3ZhciBiQixMSGU9ZigoKT0+e2JCPVtbInBhdGgiLHtkOiJNMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTcgMjB2LTQifV0sWyJwYXRoIix7ZDoiTTEyIDIwdi04In1dLFsicGF0aCIse2Q6Ik0xNyAyMFY4In1dLFsicGF0aCIse2Q6Ik0yMiA0djE2In1dXX0pO3ZhciB2QiwkSGU9ZigoKT0+e3ZCPVtbInBhdGgiLHtkOiJtMjEgMTctMi4xNTYtMS44NjhBLjUuNSAwIDAgMCAxOCAxNS41di41YTEgMSAwIDAgMS0xIDFoLTJhMSAxIDAgMCAxLTEtMWMwLTIuNTQ1LTMuOTkxLTMuOTctOC41LTRhMSAxIDAgMCAwIDAgNWM0LjE1MyAwIDQuNzQ1LTExLjI5NSA1LjcwOC0xMy41YTIuNSAyLjUgMCAxIDEgMy4zMSAzLjI4NCJ9XSxbInBhdGgiLHtkOiJNMyAyMWgxOCJ9XV19KTt2YXIgeEIsREhlPWYoKCk9Pnt4Qj1bWyJwYXRoIix7ZDoiTTEwIDlINEwyIDdsMi0yaDYifV0sWyJwYXRoIix7ZDoiTTE0IDVoNmwyIDItMiAyaC02In1dLFsicGF0aCIse2Q6Ik0xMCAyMlY0YTIgMiAwIDEgMSA0IDB2MTgifV0sWyJwYXRoIix7ZDoiTTggMjJoOCJ9XV19KTt2YXIgeUIsQUhlPWYoKCk9Pnt5Qj1bWyJwYXRoIix7ZDoiTTEyIDEzdjgifV0sWyJwYXRoIix7ZDoiTTEyIDN2MyJ9XSxbInBhdGgiLHtkOiJNMi4zNTQgMTAuMzU0YTEuMjA3IDEuMjA3IDAgMCAxIDAtMS43MDhsMi4wNi0yLjA2QTIgMiAwIDAgMSA1LjgyOCA2aDEyLjM0NGEyIDIgMCAwIDEgMS40MTQuNTg2bDIuMDYgMi4wNmExLjIwNyAxLjIwNyAwIDAgMSAwIDEuNzA4bC0yLjA2IDIuMDZhMiAyIDAgMCAxLTEuNDE0LjU4Nkg1LjgyOGEyIDIgMCAwIDEtMS40MTQtLjU4NnoifV1dfSk7dmFyIHdCLFBIZT1mKCgpPT57d0I9W1sicGF0aCIse2Q6Ik03IDE4di02YTUgNSAwIDEgMSAxMCAwdjYifV0sWyJwYXRoIix7ZDoiTTUgMjFhMSAxIDAgMCAwIDEgMWgxMmExIDEgMCAwIDAgMS0xdi0xYTIgMiAwIDAgMC0yLTJIN2EyIDIgMCAwIDAtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMjEgMTJoMSJ9XSxbInBhdGgiLHtkOiJNMTguNSA0LjUgMTggNSJ9XSxbInBhdGgiLHtkOiJNMiAxMmgxIn1dLFsicGF0aCIse2Q6Ik0xMiAydjEifV0sWyJwYXRoIix7ZDoibTQuOTI5IDQuOTI5LjcwNy43MDcifV0sWyJwYXRoIix7ZDoiTTEyIDEydjYifV1dfSk7dmFyIE1CLEVIZT1mKCgpPT57TUI9W1sicGF0aCIse2Q6Ik0xNy45NzEgNC4yODVBMiAyIDAgMCAxIDIxIDZ2MTJhMiAyIDAgMCAxLTMuMDI5IDEuNzE1bC05Ljk5Ny01Ljk5OGEyIDIgMCAwIDEtLjAwMy0zLjQzMnoifV0sWyJwYXRoIix7ZDoiTTMgMjBWNCJ9XV19KTt2YXIga0IsSUhlPWYoKCk9PntrQj1bWyJwYXRoIix7ZDoiTTIxIDR2MTYifV0sWyJwYXRoIix7ZDoiTTYuMDI5IDQuMjg1QTIgMiAwIDAgMCAzIDZ2MTJhMiAyIDAgMCAwIDMuMDI5IDEuNzE1bDkuOTk3LTUuOTk4YTIgMiAwIDAgMCAuMDAzLTMuNDMyeiJ9XV19KTt2YXIgU0IsTkhlPWYoKCk9PntTQj1bWyJwYXRoIix7ZDoibTEyLjUgMTctLjUtMS0uNSAxaDF6In1dLFsicGF0aCIse2Q6Ik0xNSAyMmExIDEgMCAwIDAgMS0xdi0xYTIgMiAwIDAgMCAxLjU2LTMuMjUgOCA4IDAgMSAwLTExLjEyIDBBMiAyIDAgMCAwIDggMjB2MWExIDEgMCAwIDAgMSAxeiJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIgekIsUkhlPWYoKCk9Pnt6Qj1bWyJwYXRoIix7ZDoiTTIyIDIgMiAyMiJ9XV19KTt2YXIgQ0IsT0hlPWYoKCk9PntDQj1bWyJwYXRoIix7ZDoiTTEwIDVIMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTlIMyJ9XSxbInBhdGgiLHtkOiJNMTQgM3Y0In1dLFsicGF0aCIse2Q6Ik0xNiAxN3Y0In1dLFsicGF0aCIse2Q6Ik0yMSAxMmgtOSJ9XSxbInBhdGgiLHtkOiJNMjEgMTloLTUifV0sWyJwYXRoIix7ZDoiTTIxIDVoLTcifV0sWyJwYXRoIix7ZDoiTTggMTB2NCJ9XSxbInBhdGgiLHtkOiJNOCAxMkgzIn1dXX0pO3ZhciBfQixGSGU9ZigoKT0+e19CPVtbInBhdGgiLHtkOiJNMTEgMTYuNTg2VjE5YTEgMSAwIDAgMS0xIDFIMkwxOC4zNyAzLjYzYTEgMSAwIDEgMSAzIDNsLTkuNjYzIDkuNjYzYTEgMSAwIDAgMS0xLjQxNCAwTDggMTQifV1dfSk7dmFyIFl1LEJIZT1mKCgpPT57WXU9W1sicGF0aCIse2Q6Ik0xMCA4aDQifV0sWyJwYXRoIix7ZDoiTTEyIDIxdi05In1dLFsicGF0aCIse2Q6Ik0xMiA4VjMifV0sWyJwYXRoIix7ZDoiTTE3IDE2aDQifV0sWyJwYXRoIix7ZDoiTTE5IDEyVjMifV0sWyJwYXRoIix7ZDoiTTE5IDIxdi01In1dLFsicGF0aCIse2Q6Ik0zIDE0aDQifV0sWyJwYXRoIix7ZDoiTTUgMTBWMyJ9XSxbInBhdGgiLHtkOiJNNSAyMXYtNyJ9XV19KTt2YXIgVEIsSEhlPWYoKCk9PntUQj1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjIwIix4OiI1Iix5OiIyIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTEyLjY2NyA4IDEwIDEyaDRsLTIuNjY3IDQifV1dfSk7dmFyIExCLHFIZT1mKCgpPT57TEI9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEyIix4OiIyIix5OiI2IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNMTMgOC4zMmE3LjQzIDcuNDMgMCAwIDEgMCA3LjM2In1dLFsicGF0aCIse2Q6Ik0xNi40NiA2LjIxYTExLjc2IDExLjc2IDAgMCAxIDAgMTEuNTgifV0sWyJwYXRoIix7ZDoiTTE5LjkxIDQuMWExNS45MSAxNS45MSAwIDAgMSAuMDEgMTUuOCJ9XV19KTt2YXIgJEIsVkhlPWYoKCk9PnskQj1bWyJwYXRoIix7ZDoiTTIyIDExdjFhMTAgMTAgMCAxIDEtOS0xMCJ9XSxbInBhdGgiLHtkOiJNOCAxNHMxLjUgMiA0IDIgNC0yIDQtMiJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dLFsicGF0aCIse2Q6Ik0xNiA1aDYifV0sWyJwYXRoIix7ZDoiTTE5IDJ2NiJ9XV19KTt2YXIgREIsakhlPWYoKCk9PntEQj1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjIwIix4OiI1Iix5OiIyIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE4aC4wMSJ9XV19KTt2YXIgQUIsVUhlPWYoKCk9PntBQj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTggMTRzMS41IDIgNCAyIDQtMiA0LTIifV0sWyJsaW5lIix7eDE6IjkiLHgyOiI5LjAxIix5MToiOSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUuMDEiLHkxOiI5Iix5MjoiOSJ9XV19KTt2YXIgUEIsV0hlPWYoKCk9PntQQj1bWyJwYXRoIix7ZDoiTTIgMTNhNiA2IDAgMSAwIDEyIDAgNCA0IDAgMSAwLTggMCAyIDIgMCAwIDAgNCAwIn1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiMTMiLHI6IjgifV0sWyJwYXRoIix7ZDoiTTIgMjFoMTJjNC40IDAgOC0zLjYgOC04VjdhMiAyIDAgMSAwLTQgMHY2In1dLFsicGF0aCIse2Q6Ik0xOCAzIDE5LjEgNS4yIn1dLFsicGF0aCIse2Q6Ik0yMiAzIDIwLjkgNS4yIn1dXX0pO3ZhciBFQixHSGU9ZigoKT0+e0VCPVtbInBhdGgiLHtkOiJtMTAgMjAtMS4yNS0yLjVMNiAxOCJ9XSxbInBhdGgiLHtkOiJNMTAgNCA4Ljc1IDYuNSA2IDYifV0sWyJwYXRoIix7ZDoibTE0IDIwIDEuMjUtMi41TDE4IDE4In1dLFsicGF0aCIse2Q6Im0xNCA0IDEuMjUgMi41TDE4IDYifV0sWyJwYXRoIix7ZDoibTE3IDIxLTMtNmgtNCJ9XSxbInBhdGgiLHtkOiJtMTcgMy0zIDYgMS41IDMifV0sWyJwYXRoIix7ZDoiTTIgMTJoNi41TDEwIDkifV0sWyJwYXRoIix7ZDoibTIwIDEwLTEuNSAyIDEuNSAyIn1dLFsicGF0aCIse2Q6Ik0yMiAxMmgtNi41TDE0IDE1In1dLFsicGF0aCIse2Q6Im00IDEwIDEuNSAyTDQgMTQifV0sWyJwYXRoIix7ZDoibTcgMjEgMy02LTEuNS0zIn1dLFsicGF0aCIse2Q6Im03IDMgMyA2aDQifV1dfSk7dmFyIElCLFlIZT1mKCgpPT57SUI9W1sicGF0aCIse2Q6Ik0xMC41IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTQgMkg3YTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTE5LjI5IDE0Ljc2QTYuNjcgNi42NyAwIDAgMSAxNyAxMWE2LjYgNi42IDAgMCAxLTIuMjkgMy43NmMtMS4xNS45Mi0xLjcxIDIuMDQtMS43MSAzLjE5IDAgMi4yMiAxLjggNC4wNSA0IDQuMDVzNC0xLjgzIDQtNC4wNWMwLTEuMTYtLjU3LTIuMjYtMS43MS0zLjE5In1dLFsicGF0aCIse2Q6Ik05LjYwNyAyMUg2YTIgMiAwIDAgMS0yLTJ2LTdhMiAyIDAgMCAxIDItMmg3VjdhMSAxIDAgMCAwLTEtMUg5YTEgMSAwIDAgMC0xIDF2MyJ9XV19KTt2YXIgTkIsS0hlPWYoKCk9PntOQj1bWyJwYXRoIix7ZDoiTTIwIDlWNmEyIDIgMCAwIDAtMi0ySDZhMiAyIDAgMCAwLTIgMnYzIn1dLFsicGF0aCIse2Q6Ik0yIDE2YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNWEyIDIgMCAwIDAtNCAwdjEuNWEuNS41IDAgMCAxLS41LjVoLTExYS41LjUgMCAwIDEtLjUtLjVWMTFhMiAyIDAgMCAwLTQgMHoifV0sWyJwYXRoIix7ZDoiTTQgMTh2MiJ9XSxbInBhdGgiLHtkOiJNMjAgMTh2MiJ9XSxbInBhdGgiLHtkOiJNMTIgNHY5In1dXX0pO3ZhciBSQixaSGU9ZigoKT0+e1JCPVtbInBhdGgiLHtkOiJNMTEgMmgyIn1dLFsicGF0aCIse2Q6Im0xNC4yOCAxNC00LjU2IDgifV0sWyJwYXRoIix7ZDoibTIxIDIyLTEuNTU4LTRINC41NTgifV0sWyJwYXRoIix7ZDoiTTMgMTB2MiJ9XSxbInBhdGgiLHtkOiJNNi4yNDUgMTUuMDRBMiAyIDAgMCAxIDggMTRoMTJhMSAxIDAgMCAxIC44NjQgMS41MDVsLTMuMTEgNS40NTdBMiAyIDAgMCAxIDE2IDIySDRhMSAxIDAgMCAxLS44NjMtMS41MDZ6In1dLFsicGF0aCIse2Q6Ik03IDJhNCA0IDAgMCAxLTQgNCJ9XSxbInBhdGgiLHtkOiJtOC42NiA3LjY2IDEuNDEgMS40MSJ9XV19KTt2YXIgT0IsWEhlPWYoKCk9PntPQj1bWyJwYXRoIix7ZDoiTTEyIDIxYTkgOSAwIDAgMCA5LTlIM2E5IDkgMCAwIDAgOSA5WiJ9XSxbInBhdGgiLHtkOiJNNyAyMWgxMCJ9XSxbInBhdGgiLHtkOiJNMTkuNSAxMiAyMiA2In1dLFsicGF0aCIse2Q6Ik0xNi4yNSAzYy4yNy4xLjguNTMuNzUgMS4zNi0uMDYuODMtLjkzIDEuMi0xIDIuMDItLjA1Ljc4LjM0IDEuMjQuNzMgMS42MiJ9XSxbInBhdGgiLHtkOiJNMTEuMjUgM2MuMjcuMS44LjUzLjc0IDEuMzYtLjA1LjgzLS45MyAxLjItLjk4IDIuMDItLjA2Ljc4LjMzIDEuMjQuNzIgMS42MiJ9XSxbInBhdGgiLHtkOiJNNi4yNSAzYy4yNy4xLjguNTMuNzUgMS4zNi0uMDYuODMtLjkzIDEuMi0xIDIuMDItLjA1Ljc4LjM0IDEuMjQuNzQgMS42MiJ9XV19KTt2YXIgRkIsUUhlPWYoKCk9PntGQj1bWyJwYXRoIix7ZDoiTTIyIDE3djFjMCAuNS0uNSAxLTEgMUgzYy0uNSAwLTEtLjUtMS0xdi0xIn1dXX0pO3ZhciBCQixKSGU9ZigoKT0+e0JCPVtbInBhdGgiLHtkOiJNMTIgMTh2NCJ9XSxbInBhdGgiLHtkOiJNMiAxNC40OTlhNS41IDUuNSAwIDAgMCA5LjU5MSAzLjY3NS42LjYgMCAwIDEgLjgxOC4wMDFBNS41IDUuNSAwIDAgMCAyMiAxNC41YzAtMi4yOS0xLjUtNC0zLTUuNWwtNS40OTItNS4zMTJhMiAyIDAgMCAwLTMtLjAyTDUgOC45OTljLTEuNSAxLjUtMyAzLjItMyA1LjUifV1dfSk7dmFyIEhCLGVxZT1mKCgpPT57SEI9W1sicGF0aCIse2Q6Ik0xMS4wMTcgMi44MTRhMSAxIDAgMCAxIDEuOTY2IDBsMS4wNTEgNS41NThhMiAyIDAgMCAwIDEuNTk0IDEuNTk0bDUuNTU4IDEuMDUxYTEgMSAwIDAgMSAwIDEuOTY2bC01LjU1OCAxLjA1MWEyIDIgMCAwIDAtMS41OTQgMS41OTRsLTEuMDUxIDUuNTU4YTEgMSAwIDAgMS0xLjk2NiAwbC0xLjA1MS01LjU1OGEyIDIgMCAwIDAtMS41OTQtMS41OTRsLTUuNTU4LTEuMDUxYTEgMSAwIDAgMSAwLTEuOTY2bDUuNTU4LTEuMDUxYTIgMiAwIDAgMCAxLjU5NC0xLjU5NHoifV1dfSk7dmFyIEt1LHRxZT1mKCgpPT57S3U9W1sicGF0aCIse2Q6Ik0xMS4wMTcgMi44MTRhMSAxIDAgMCAxIDEuOTY2IDBsMS4wNTEgNS41NThhMiAyIDAgMCAwIDEuNTk0IDEuNTk0bDUuNTU4IDEuMDUxYTEgMSAwIDAgMSAwIDEuOTY2bC01LjU1OCAxLjA1MWEyIDIgMCAwIDAtMS41OTQgMS41OTRsLTEuMDUxIDUuNTU4YTEgMSAwIDAgMS0xLjk2NiAwbC0xLjA1MS01LjU1OGEyIDIgMCAwIDAtMS41OTQtMS41OTRsLTUuNTU4LTEuMDUxYTEgMSAwIDAgMSAwLTEuOTY2bDUuNTU4LTEuMDUxYTIgMiAwIDAgMCAxLjU5NC0xLjU5NHoifV0sWyJwYXRoIix7ZDoiTTIwIDJ2NCJ9XSxbInBhdGgiLHtkOiJNMjIgNGgtNCJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMjAiLHI6IjIifV1dfSk7dmFyIHFCLGFxZT1mKCgpPT57cUI9W1sicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDZoLjAxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTQiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTEyIDE0aC4wMSJ9XV19KTt2YXIgVkIscnFlPWYoKCk9PntWQj1bWyJwYXRoIix7ZDoiTTguOCAyMHYtNC4xbDEuOS4yYTIuMyAyLjMgMCAwIDAgMi4xNjQtMi4xVjguM0E1LjM3IDUuMzcgMCAwIDAgMiA4LjI1YzAgMi44LjY1NiAzLjA1NCAxIDQuNTVhNS43NyA1Ljc3IDAgMCAxIC4wMjkgMi43NThMMiAyMCJ9XSxbInBhdGgiLHtkOiJNMTkuOCAxNy44YTcuNSA3LjUgMCAwIDAgLjAwMy0xMC42MDMifV0sWyJwYXRoIix7ZDoiTTE3IDE1YTMuNSAzLjUgMCAwIDAtLjAyNS00Ljk3NSJ9XV19KTt2YXIgakIsc3FlPWYoKCk9PntqQj1bWyJwYXRoIix7ZDoibTYgMTYgNi0xMiA2IDEyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoibTE2IDIwIDIgMiA0LTQifV1dfSk7dmFyIFVCLGlxZT1mKCgpPT57VUI9W1sicGF0aCIse2Q6Im02IDE2IDYtMTIgNiAxMiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsicGF0aCIse2Q6Ik00IDIxYzEuMSAwIDEuMS0xIDIuMy0xczEuMSAxIDIuMyAxYzEuMSAwIDEuMS0xIDIuMy0xIDEuMSAwIDEuMSAxIDIuMyAxIDEuMSAwIDEuMS0xIDIuMy0xIDEuMSAwIDEuMSAxIDIuMyAxIDEuMSAwIDEuMS0xIDIuMy0xIn1dXX0pO3ZhciBXQixvcWU9ZigoKT0+e1dCPVtbInBhdGgiLHtkOiJNMTIuMDM0IDEyLjY4MWEuNDk4LjQ5OCAwIDAgMSAuNjQ3LS42NDdsOSAzLjVhLjUuNSAwIDAgMS0uMDMzLjk0M2wtMy40NDQgMS4wNjhhMSAxIDAgMCAwLS42Ni42NmwtMS4wNjcgMy40NDNhLjUuNSAwIDAgMS0uOTQzLjAzM3oifV0sWyJwYXRoIix7ZDoiTTUgMTdBMTIgMTIgMCAwIDEgMTcgNSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjUiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciBHQixucWU9ZigoKT0+e0dCPVtbImNpcmNsZSIse2N4OiIxOSIsY3k6IjUiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE5IixyOiIyIn1dLFsicGF0aCIse2Q6Ik01IDE3QTEyIDEyIDAgMCAxIDE3IDUifV1dfSk7dmFyIFlCLGxxZT1mKCgpPT57WUI9W1sicGF0aCIse2Q6Ik0xNiAzaDV2NSJ9XSxbInBhdGgiLHtkOiJNOCAzSDN2NSJ9XSxbInBhdGgiLHtkOiJNMTIgMjJ2LTguM2E0IDQgMCAwIDAtMS4xNzItMi44NzJMMyAzIn1dLFsicGF0aCIse2Q6Im0xNSA5IDYtNiJ9XV19KTt2YXIgS0IsY3FlPWYoKCk9PntLQj1bWyJwYXRoIix7ZDoiTTE3IDEzLjQ0IDQuNDQyIDE3LjA4MkEyIDIgMCAwIDAgNC45ODIgMjFIMTlhMiAyIDAgMCAwIC41NTgtMy45MjFsLTEuMTE1LS4zMkEyIDIgMCAwIDEgMTcgMTQuODM3VjcuNjYifV0sWyJwYXRoIix7ZDoibTcgMTAuNTYgMTIuNTU4LTMuNjQyQTIgMiAwIDAgMCAxOS4wMTggM0g1YTIgMiAwIDAgMC0uNTU4IDMuOTIxbDEuMTE1LjMyQTIgMiAwIDAgMSA3IDkuMTYzdjcuMTc4In1dXX0pO3ZhciBaQixkcWU9ZigoKT0+e1pCPVtbInBhdGgiLHtkOiJtMTUgMTAuNDIgNC44LTUuMDcifV0sWyJwYXRoIix7ZDoiTTE5IDE4aDMifV0sWyJwYXRoIix7ZDoiTTkuNSAyMiAyMS40MTQgOS40MTVBMiAyIDAgMCAwIDIxLjIgNi40bC01LjYxLTQuMjA4QTEgMSAwIDAgMCAxNCAzdjJhMiAyIDAgMCAxLTEuMzk0IDEuOTA2TDguNjc3IDguMDUzQTEgMSAwIDAgMCA4IDljLS4xNTUgNi4zOTMtMi4wODIgOS00IDlhMiAyIDAgMCAwIDAgNGgxNCJ9XV19KTt2YXIgWEIsdXFlPWYoKCk9PntYQj1bWyJwYXRoIix7ZDoiTTMgM2guMDEifV0sWyJwYXRoIix7ZDoiTTcgNWguMDEifV0sWyJwYXRoIix7ZDoiTTExIDdoLjAxIn1dLFsicGF0aCIse2Q6Ik0zIDdoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDloLjAxIn1dLFsicGF0aCIse2Q6Ik0zIDExaC4wMSJ9XSxbInJlY3QiLHt3aWR0aDoiNCIsaGVpZ2h0OiI0Iix4OiIxNSIseToiNSJ9XSxbInBhdGgiLHtkOiJtMTkgOSAyIDJ2MTBjMCAuNi0uNCAxLTEgMWgtNmMtLjYgMC0xLS40LTEtMVYxMWwyLTIifV0sWyJwYXRoIix7ZDoibTEzIDE0IDgtMiJ9XSxbInBhdGgiLHtkOiJtMTMgMTkgOC0yIn1dXX0pO3ZhciBRQixwcWU9ZigoKT0+e1FCPVtbInBhdGgiLHtkOiJNMTQgOS41MzZWN2E0IDQgMCAwIDEgNC00aDEuNWEuNS41IDAgMCAxIC41LjVWNWE0IDQgMCAwIDEtNCA0IDQgNCAwIDAgMC00IDRjMCAyIDEgMyAxIDVhNSA1IDAgMCAxLTEgMyJ9XSxbInBhdGgiLHtkOiJNNCA5YTUgNSAwIDAgMSA4IDQgNSA1IDAgMCAxLTgtNCJ9XSxbInBhdGgiLHtkOiJNNSAyMWgxNCJ9XV19KTt2YXIgSkIsZnFlPWYoKCk9PntKQj1bWyJwYXRoIix7ZDoiTTE1LjI5NSAxOS41NjIgMTYgMjIifV0sWyJwYXRoIix7ZDoibTE3IDE2IDMuNzU4IDIuMDk4In1dLFsicGF0aCIse2Q6Im0xOSAxMi41IDMuMDI2LS41OTgifV0sWyJwYXRoIix7ZDoiTTcuNjEgNi4zYTMgMyAwIDAgMC0zLjkyIDEuM2wtMS4zOCAyLjc5YTMgMyAwIDAgMCAxLjMgMy45MWw2Ljg5IDMuNTk3YTEgMSAwIDAgMCAxLjM0Mi0uNDQ3bDMuMTA2LTYuMjExYTEgMSAwIDAgMC0uNDQ3LTEuMzQxeiJ9XSxbInBhdGgiLHtkOiJNOCA5VjIifV1dfSk7dmFyIFp1LGhxZT1mKCgpPT57WnU9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE3IDEyaC0ybC0yIDUtMi0xMC0yIDVINyJ9XV19KTt2YXIgWHUsbXFlPWYoKCk9PntYdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtMTYgOC04IDgifV0sWyJwYXRoIix7ZDoiTTE2IDE2SDhWOCJ9XV19KTt2YXIgUXUsZ3FlPWYoKCk9PntRdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtOCA4IDggOCJ9XSxbInBhdGgiLHtkOiJNMTYgOHY4SDgifV1dfSk7dmFyIEp1LGJxZT1mKCgpPT57SnU9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDh2OCJ9XSxbInBhdGgiLHtkOiJtOCAxMiA0IDQgNC00In1dXX0pO3ZhciBlcCx2cWU9ZigoKT0+e2VwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xMiA4LTQgNCA0IDQifV0sWyJwYXRoIix7ZDoiTTE2IDEySDgifV1dfSk7dmFyIHRwLHhxZT1mKCgpPT57dHA9W1sicGF0aCIse2Q6Ik0xMyAyMWg2YTIgMiAwIDAgMCAyLTJWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnY2In1dLFsicGF0aCIse2Q6Im0zIDIxIDktOSJ9XSxbInBhdGgiLHtkOiJNOSAyMUgzdi02In1dXX0pO3ZhciBhcCx5cWU9ZigoKT0+e2FwPVtbInBhdGgiLHtkOiJNMjEgMTFWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDYifV0sWyJwYXRoIix7ZDoibTIxIDIxLTktOSJ9XSxbInBhdGgiLHtkOiJNMjEgMTV2NmgtNiJ9XV19KTt2YXIgcnAsd3FlPWYoKCk9PntycD1bWyJwYXRoIix7ZDoiTTEzIDNoNmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi02In1dLFsicGF0aCIse2Q6Im0zIDMgOSA5In1dLFsicGF0aCIse2Q6Ik0zIDlWM2g2In1dXX0pO3ZhciBzcCxNcWU9ZigoKT0+e3NwPVtbInBhdGgiLHtkOiJNMjEgMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNiJ9XSxbInBhdGgiLHtkOiJtMjEgMy05IDkifV0sWyJwYXRoIix7ZDoiTTE1IDNoNnY2In1dXX0pO3ZhciBlSCxrcWU9ZigoKT0+e2VIPVtbInBhdGgiLHtkOiJtMTAgMTYgNC00LTQtNCJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxMSJ9XSxbInBhdGgiLHtkOiJNMyA4VjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi0zIn1dXX0pO3ZhciB0SCxTcWU9ZigoKT0+e3RIPVtbInBhdGgiLHtkOiJNMTAgMTJoMTEifV0sWyJwYXRoIix7ZDoibTE3IDE2IDQtNC00LTQifV0sWyJwYXRoIix7ZDoiTTIxIDYuMzQ0VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi0xLjM0NCJ9XV19KTt2YXIgaXAsenFlPWYoKCk9PntpcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsicGF0aCIse2Q6Im0xMiAxNiA0LTQtNC00In1dXX0pO3ZhciBvcCxDcWU9ZigoKT0+e29wPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDE2VjhoOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTYgOCA4In1dXX0pO3ZhciBucCxfcWU9ZigoKT0+e25wPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDhoOHY4In1dLFsicGF0aCIse2Q6Im04IDE2IDgtOCJ9XV19KTt2YXIgbHAsVHFlPWYoKCk9PntscD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtMTYgMTItNC00LTQgNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZWOCJ9XV19KTt2YXIgY3AsTHFlPWYoKCk9PntjcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgOHY4In1dLFsicGF0aCIse2Q6Im04LjUgMTQgNy00In1dLFsicGF0aCIse2Q6Im04LjUgMTAgNyA0In1dXX0pO3ZhciBkcCwkcWU9ZigoKT0+e2RwPVtbImxpbmUiLHt4MToiNSIseTE6IjMiLHgyOiIxOSIseTI6IjMifV0sWyJsaW5lIix7eDE6IjMiLHkxOiI1Iix4MjoiMyIseTI6IjE5In1dLFsibGluZSIse3gxOiIyMSIseTE6IjUiLHgyOiIyMSIseTI6IjE5In1dLFsibGluZSIse3gxOiI5Iix5MToiMjEiLHgyOiIxMCIseTI6IjIxIn1dLFsibGluZSIse3gxOiIxNCIseTE6IjIxIix4MjoiMTUiLHkyOiIyMSJ9XSxbInBhdGgiLHtkOiJNIDMgNSBBMiAyIDAgMCAxIDUgMyJ9XSxbInBhdGgiLHtkOiJNIDE5IDMgQTIgMiAwIDAgMSAyMSA1In1dLFsicGF0aCIse2Q6Ik0gNSAyMSBBMiAyIDAgMCAxIDMgMTkifV0sWyJwYXRoIix7ZDoiTSAyMSAxOSBBMiAyIDAgMCAxIDE5IDIxIn1dLFsiY2lyY2xlIix7Y3g6IjguNSIsY3k6IjguNSIscjoiMS41In1dLFsibGluZSIse3gxOiI5LjU2MDY2Iix5MToiOS41NjA2NiIseDI6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjE3Iix5MToiMTciLHgyOiIxNC44MiIseTI6IjE0LjgyIn1dLFsiY2lyY2xlIix7Y3g6IjguNSIsY3k6IjE1LjUiLHI6IjEuNSJ9XSxbImxpbmUiLHt4MToiOS41NjA2NiIseTE6IjE0LjQzOTM0Iix4MjoiMTciLHkyOiI3In1dXX0pO3ZhciB1cCxEcWU9ZigoKT0+e3VwPVtbInBhdGgiLHtkOiJNOCAzSDVhMiAyIDAgMCAwLTIgMnYxNGMwIDEuMS45IDIgMiAyaDMifV0sWyJwYXRoIix7ZDoiTTE2IDNoM2EyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJoLTMifV0sWyJwYXRoIix7ZDoiTTEyIDIwdjIifV0sWyJwYXRoIix7ZDoiTTEyIDE0djIifV0sWyJwYXRoIix7ZDoiTTEyIDh2MiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dXX0pO3ZhciBwcCxBcWU9ZigoKT0+e3BwPVtbInBhdGgiLHtkOiJNMjEgOFY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoiTTIxIDE2djNhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTMifV0sWyJwYXRoIix7ZDoiTTQgMTJIMiJ9XSxbInBhdGgiLHtkOiJNMTAgMTJIOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLTIifV0sWyJwYXRoIix7ZDoiTTIyIDEyaC0yIn1dXX0pO3ZhciBpYyxQcWU9ZigoKT0+e2ljPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik05IDhoNyJ9XSxbInBhdGgiLHtkOiJNOCAxMmg2In1dLFsicGF0aCIse2Q6Ik0xMSAxNmg1In1dXX0pO3ZhciBmcCxFcWU9ZigoKT0+e2ZwPVtbInBhdGgiLHtkOiJNMjEgMTAuNjU2VjE5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxMi4zNDQifV0sWyJwYXRoIix7ZDoibTkgMTEgMyAzTDIyIDQifV1dfSk7dmFyIGhwLElxZT1mKCgpPT57aHA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoibTkgMTIgMiAyIDQtNCJ9XV19KTt2YXIgbXAsTnFlPWYoKCk9PnttcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtMTYgMTAtNCA0LTQtNCJ9XV19KTt2YXIgZ3AsUnFlPWYoKCk9PntncD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtMTQgMTYtNC00IDQtNCJ9XV19KTt2YXIgYnAsT3FlPWYoKCk9PnticD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtMTAgOCA0IDQtNCA0In1dXX0pO3ZhciB2cCxGcWU9ZigoKT0+e3ZwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im04IDE0IDQtNCA0IDQifV1dfSk7dmFyIHhwLEJxZT1mKCgpPT57eHA9W1sicGF0aCIse2Q6Im0xMCA5LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoibTE0IDE1IDMtMy0zLTMifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV19KTt2YXIgYUgsSHFlPWYoKCk9PnthSD1bWyJwYXRoIix7ZDoiTTEwIDkuNSA4IDEybDIgMi41In1dLFsicGF0aCIse2Q6Ik0xNCAyMWgxIn1dLFsicGF0aCIse2Q6Im0xNCA5LjUgMiAyLjUtMiAyLjUifV0sWyJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik05IDIxaDEifV1dfSk7dmFyIHJILHFxZT1mKCgpPT57ckg9W1sicGF0aCIse2Q6Ik01IDIxYTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNOSAyMWgxIn1dLFsicGF0aCIse2Q6Ik0xNCAyMWgxIn1dXX0pO3ZhciB5cCxWcWU9ZigoKT0+e3lwPVtbInBhdGgiLHtkOiJNOCA3djcifV0sWyJwYXRoIix7ZDoiTTEyIDd2NCJ9XSxbInBhdGgiLHtkOiJNMTYgN3Y5In1dLFsicGF0aCIse2Q6Ik01IDNhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNOSAzaDEifV0sWyJwYXRoIix7ZDoiTTE0IDNoMSJ9XSxbInBhdGgiLHtkOiJNMTkgM2EyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0yMSA5djEifV0sWyJwYXRoIix7ZDoiTTIxIDE0djEifV0sWyJwYXRoIix7ZDoiTTIxIDE5YTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDEifV0sWyJwYXRoIix7ZDoiTTkgMjFoMSJ9XSxbInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik0zIDE0djEifV0sWyJwYXRoIix7ZDoiTTMgOXYxIn1dXX0pO3ZhciB3cCxqcWU9ZigoKT0+e3dwPVtbInBhdGgiLHtkOiJNMTIuMDM0IDEyLjY4MWEuNDk4LjQ5OCAwIDAgMSAuNjQ3LS42NDdsOSAzLjVhLjUuNSAwIDAgMS0uMDMzLjk0M2wtMy40NDQgMS4wNjhhMSAxIDAgMCAwLS42Ni42NmwtMS4wNjcgMy40NDNhLjUuNSAwIDAgMS0uOTQzLjAzM3oifV0sWyJwYXRoIix7ZDoiTTUgM2EyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik0xOSAzYTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNOSAzaDEifV0sWyJwYXRoIix7ZDoiTTkgMjFoMiJ9XSxbInBhdGgiLHtkOiJNMTQgM2gxIn1dLFsicGF0aCIse2Q6Ik0zIDl2MSJ9XSxbInBhdGgiLHtkOiJNMjEgOXYyIn1dLFsicGF0aCIse2Q6Ik0zIDE0djEifV1dfSk7dmFyIG9jLFVxZT1mKCgpPT57b2M9W1sicGF0aCIse2Q6Ik0xNCAyMWgxIn1dLFsicGF0aCIse2Q6Ik0xNCAzaDEifV0sWyJwYXRoIix7ZDoiTTE5IDNhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMjEgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMjEgMTlhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNMjEgOXYxIn1dLFsicGF0aCIse2Q6Ik0zIDE0djEifV0sWyJwYXRoIix7ZDoiTTMgOXYxIn1dLFsicGF0aCIse2Q6Ik01IDIxYTIgMiAwIDAgMS0yLTIifV0sWyJwYXRoIix7ZDoiTTUgM2EyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik03IDEyaDEwIn1dLFsicGF0aCIse2Q6Ik03IDE2aDYifV0sWyJwYXRoIix7ZDoiTTcgOGg4In1dLFsicGF0aCIse2Q6Ik05IDIxaDEifV0sWyJwYXRoIix7ZDoiTTkgM2gxIn1dXX0pO3ZhciBzSCxXcWU9ZigoKT0+e3NIPVtbInBhdGgiLHtkOiJNMTQgMjFoMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMjEgMTlhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNMjEgOXYxIn1dLFsicGF0aCIse2Q6Ik0zIDE0djEifV0sWyJwYXRoIix7ZDoiTTMgNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTMgOXYxIn1dLFsicGF0aCIse2Q6Ik01IDIxYTIgMiAwIDAgMS0yLTIifV0sWyJwYXRoIix7ZDoiTTkgMjFoMSJ9XV19KTt2YXIgTXAsR3FlPWYoKCk9PntNcD1bWyJwYXRoIix7ZDoiTTUgM2EyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik0xOSAzYTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTIxIDE5YTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNOSAzaDEifV0sWyJwYXRoIix7ZDoiTTkgMjFoMSJ9XSxbInBhdGgiLHtkOiJNMTQgM2gxIn1dLFsicGF0aCIse2Q6Ik0xNCAyMWgxIn1dLFsicGF0aCIse2Q6Ik0zIDl2MSJ9XSxbInBhdGgiLHtkOiJNMjEgOXYxIn1dLFsicGF0aCIse2Q6Ik0zIDE0djEifV0sWyJwYXRoIix7ZDoiTTIxIDE0djEifV1dfSk7dmFyIGtwLFlxZT1mKCgpPT57a3A9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIgU3AsS3FlPWYoKCk9PntTcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNiIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIxNiIseTI6IjE2In1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiOCIseTI6IjgifV1dfSk7dmFyIHpwLFpxZT1mKCgpPT57enA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTBoMTAifV0sWyJwYXRoIix7ZDoiTTcgMTRoMTAifV1dfSk7dmFyIENwLFhxZT1mKCgpPT57Q3A9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik05IDE3YzIgMCAyLjgtMSAyLjgtMi44VjEwYzAtMiAxLTMuMyAzLjItMyJ9XSxbInBhdGgiLHtkOiJNOSAxMS4yaDUuNyJ9XV19KTt2YXIgX3AsUXFlPWYoKCk9PntfcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyA3djEwIn1dLFsicGF0aCIse2Q6Ik0xMSA3djEwIn1dLFsicGF0aCIse2Q6Im0xNSA3IDIgMTAifV1dfSk7dmFyIFRwLEpxZT1mKCgpPT57VHA9W1sicGF0aCIse2Q6Ik04IDE2VjguNWEuNS41IDAgMCAxIC45LS4zbDIuNyAzLjU5OWEuNS41IDAgMCAwIC44IDBsMi43LTMuNmEuNS41IDAgMCAxIC45LjNWMTYifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV19KTt2YXIgTHAsZVZlPWYoKCk9PntMcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOCA3djcifV0sWyJwYXRoIix7ZDoiTTEyIDd2NCJ9XSxbInBhdGgiLHtkOiJNMTYgN3Y5In1dXX0pO3ZhciAkcCx0VmU9ZigoKT0+eyRwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDhoMTAifV0sWyJwYXRoIix7ZDoiTTcgMTJoMTAifV0sWyJwYXRoIix7ZDoiTTcgMTZoMTAifV1dfSk7dmFyIERwLGFWZT1mKCgpPT57RHA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XV19KTt2YXIgQXAsclZlPWYoKCk9PntBcD1bWyJwYXRoIix7ZDoiTTEyLjAzNCAxMi42ODFhLjQ5OC40OTggMCAwIDEgLjY0Ny0uNjQ3bDkgMy41YS41LjUgMCAwIDEtLjAzMy45NDNsLTMuNDQ0IDEuMDY4YTEgMSAwIDAgMC0uNjYuNjZsLTEuMDY3IDMuNDQzYS41LjUgMCAwIDEtLjk0My4wMzN6In1dLFsicGF0aCIse2Q6Ik0yMSAxMVY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNiJ9XV19KTt2YXIgUHAsc1ZlPWYoKCk9PntQcD1bWyJwYXRoIix7ZDoiTTMuNiAzLjZBMiAyIDAgMCAxIDUgM2gxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0uNTkgMS40MSJ9XSxbInBhdGgiLHtkOiJNMyA4LjdWMTlhMiAyIDAgMCAwIDIgMmgxMC4zIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTEzIDEzYTMgMyAwIDEgMCAwLTZIOXYyIn1dLFsicGF0aCIse2Q6Ik05IDE3di0yLjMifV1dfSk7dmFyIEVwLGlWZT1mKCgpPT57RXA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgMTdWN2g0YTMgMyAwIDAgMSAwIDZIOSJ9XV19KTt2YXIgQzEsb1ZlPWYoKCk9PntDMT1bWyJwYXRoIix7ZDoiTTEyIDNINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDItMnYtNyJ9XSxbInBhdGgiLHtkOiJNMTguMzc1IDIuNjI1YTEgMSAwIDAgMSAzIDNsLTkuMDEzIDkuMDE0YTIgMiAwIDAgMS0uODUzLjUwNWwtMi44NzMuODRhLjUuNSAwIDAgMS0uNjItLjYybC44NC0yLjg3M2EyIDIgMCAwIDEgLjUwNi0uODUyeiJ9XV19KTt2YXIgSXAsblZlPWYoKCk9PntJcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtMTUgOS02IDYifV0sWyJwYXRoIix7ZDoiTTkgOWguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDE1aC4wMSJ9XV19KTt2YXIgaUgsbFZlPWYoKCk9PntpSD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImxpbmUiLHt4MToiMTAiLHgyOiIxMCIseTE6IjE1Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTQiLHgyOiIxNCIseTE6IjE1Iix5MjoiOSJ9XV19KTt2YXIgTnAsY1ZlPWYoKCk9PntOcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyA3aDEwIn1dLFsicGF0aCIse2Q6Ik0xMCA3djEwIn1dLFsicGF0aCIse2Q6Ik0xNiAxN2EyIDIgMCAwIDEtMi0yVjcifV1dfSk7dmFyIFJwLGRWZT1mKCgpPT57UnA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDEySDkuNWEyLjUgMi41IDAgMCAxIDAtNUgxNyJ9XSxbInBhdGgiLHtkOiJNMTIgN3YxMCJ9XSxbInBhdGgiLHtkOiJNMTYgN3YxMCJ9XV19KTt2YXIgT3AsdVZlPWYoKCk9PntPcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV1dfSk7dmFyIEZwLHBWZT1mKCgpPT57RnA9W1sicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgOS4wMDNhMSAxIDAgMCAxIDEuNTE3LS44NTlsNC45OTcgMi45OTdhMSAxIDAgMCAxIDAgMS43MThsLTQuOTk3IDIuOTk3QTEgMSAwIDAgMSA5IDE0Ljk5NnoifV1dfSk7dmFyIEJwLGZWZT1mKCgpPT57QnA9W1sicGF0aCIse2Q6Ik0xMiA3djQifV0sWyJwYXRoIix7ZDoiTTcuOTk4IDkuMDAzYTUgNSAwIDEgMCA4LS4wMDUifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV19KTt2YXIgb0gsaFZlPWYoKCk9PntvSD1bWyJwYXRoIix7ZDoiTTcgMTJoMmwyIDUgMi0xMGg0In1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIG5ILG1WZT1mKCgpPT57bkg9W1sicGF0aCIse2Q6Ik0yMSAxMWE4IDggMCAwIDAtOC04In1dLFsicGF0aCIse2Q6Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg0In1dXX0pO3ZhciBIcCxnVmU9ZigoKT0+e0hwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNiA4LjlWN0g4bDQgNS00IDVoOHYtMS45In1dXX0pO3ZhciBxcCxiVmU9ZigoKT0+e3FwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsiY2lyY2xlIix7Y3g6IjguNSIsY3k6IjguNSIscjoiMS41In1dLFsibGluZSIse3gxOiI5LjU2MDY2Iix5MToiOS41NjA2NiIseDI6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjE3Iix5MToiMTciLHgyOiIxNC44MiIseTI6IjE0LjgyIn1dLFsiY2lyY2xlIix7Y3g6IjguNSIsY3k6IjE1LjUiLHI6IjEuNSJ9XSxbImxpbmUiLHt4MToiOS41NjA2NiIseTE6IjE0LjQzOTM0Iix4MjoiMTciLHkyOiI3In1dXX0pO3ZhciBWcCx2VmU9ZigoKT0+e1ZwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsibGluZSIse3gxOiI5Iix4MjoiMTUiLHkxOiIxNSIseTI6IjkifV1dfSk7dmFyIGpwLHhWZT1mKCgpPT57anA9W1sicGF0aCIse2Q6Ik04IDE5SDVjLTEgMC0yLTEtMi0yVjdjMC0xIDEtMiAyLTJoMyJ9XSxbInBhdGgiLHtkOiJNMTYgNWgzYzEgMCAyIDEgMiAydjEwYzAgMS0xIDItMiAyaC0zIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiNCIseTI6IjIwIn1dXX0pO3ZhciBVcCx5VmU9ZigoKT0+e1VwPVtbInBhdGgiLHtkOiJNNSA4VjVjMC0xIDEtMiAyLTJoMTBjMSAwIDIgMSAyIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2M2MwIDEtMSAyLTIgMkg3Yy0xIDAtMi0xLTItMnYtMyJ9XSxbImxpbmUiLHt4MToiNCIseDI6IjIwIix5MToiMTIiLHkyOiIxMiJ9XV19KTt2YXIgbEgsd1ZlPWYoKCk9PntsSD1bWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XSxbInJlY3QiLHt4OiI4Iix5OiI4Iix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMSJ9XV19KTt2YXIgY0gsTVZlPWYoKCk9PntjSD1bWyJwYXRoIix7ZDoiTTQgMTBjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmg0YzEuMSAwIDIgLjkgMiAyIn1dLFsicGF0aCIse2Q6Ik0xMCAxNmMtMS4xIDAtMi0uOS0yLTJ2LTRjMC0xLjEuOS0yIDItMmg0YzEuMSAwIDIgLjkgMiAyIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjgiLHg6IjE0Iix5OiIxNCIscng6IjIifV1dfSk7dmFyIGRILGtWZT1mKCgpPT57ZEg9W1sicGF0aCIse2Q6Ik0xMS4wMzUgNy42OWExIDEgMCAwIDEgMS45MDkuMDI0bC43MzcgMS40NTJhMSAxIDAgMCAwIC43MzcuNTM1bDEuNjM0LjI1NmExIDEgMCAwIDEgLjU4OCAxLjgwNmwtMS4xNzIgMS4xNjhhMSAxIDAgMCAwLS4yODIuODY2bC4yNTkgMS42MTNhMSAxIDAgMCAxLTEuNTQxIDEuMTM0bC0xLjQ2NS0uNzVhMSAxIDAgMCAwLS45MTIgMGwtMS40NjUuNzVhMSAxIDAgMCAxLTEuNTM5LTEuMTMzbC4yNTgtMS42MTNhMSAxIDAgMCAwLS4yODItLjg2NmwtMS4xNTYtMS4xNTNhMSAxIDAgMCAxIC41NzItMS44MjJsMS42MzMtLjI1NmExIDEgMCAwIDAgLjczNy0uNTM1eiJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciB1SCxTVmU9ZigoKT0+e3VIPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicmVjdCIse3g6IjkiLHk6IjkiLHdpZHRoOiI2IixoZWlnaHQ6IjYiLHJ4OiIxIn1dXX0pO3ZhciBXcCx6VmU9ZigoKT0+e1dwPVtbInBhdGgiLHtkOiJtNyAxMSAyLTItMi0yIn1dLFsicGF0aCIse2Q6Ik0xMSAxM2g0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dXX0pO3ZhciBHcCxDVmU9ZigoKT0+e0dwPVtbInBhdGgiLHtkOiJNMTggMjFhNiA2IDAgMCAwLTEyIDAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMSIscjoiNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dXX0pO3ZhciBZcCxfVmU9ZigoKT0+e1lwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJtMTUgOS02IDYifV0sWyJwYXRoIix7ZDoibTkgOSA2IDYifV1dfSk7dmFyIEtwLFRWZT1mKCgpPT57S3A9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNyAyMXYtMmEyIDIgMCAwIDEgMi0yaDZhMiAyIDAgMCAxIDIgMnYyIn1dXX0pO3ZhciBwSCxMVmU9ZigoKT0+e3BIPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dXX0pO3ZhciBmSCwkVmU9ZigoKT0+e2ZIPVtbInBhdGgiLHtkOiJNMTYgMTJ2MmEyIDIgMCAwIDEtMiAySDlhMSAxIDAgMCAwLTEgMXYzYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMlYxMGEyIDIgMCAwIDAtMi0yaDAifV0sWyJwYXRoIix7ZDoiTTQgMTZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnYzYTEgMSAwIDAgMS0xIDFoLTVhMiAyIDAgMCAwLTIgMnYyIn1dXX0pO3ZhciBoSCxEVmU9ZigoKT0+e2hIPVtbInBhdGgiLHtkOiJNMTAgMjJhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNMTQgMmEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0xNiAyMmgtMiJ9XSxbInBhdGgiLHtkOiJNMiAxMFY4In1dLFsicGF0aCIse2Q6Ik0yIDRhMiAyIDAgMCAxIDItMiJ9XSxbInBhdGgiLHtkOiJNMjAgOGEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0yMiAxNHYyIn1dLFsicGF0aCIse2Q6Ik0yMiAyMGEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik00IDE2YTIgMiAwIDAgMS0yLTIifV0sWyJwYXRoIix7ZDoiTTggMTBhMiAyIDAgMCAxIDItMmg1YTEgMSAwIDAgMSAxIDF2NWEyIDIgMCAwIDEtMiAySDlhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTggMmgyIn1dXX0pO3ZhciBtSCxBVmU9ZigoKT0+e21IPVtbInBhdGgiLHtkOiJNMTAgMjJhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNMTYgMjJoLTIifV0sWyJwYXRoIix7ZDoiTTE2IDRhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgzYTEgMSAwIDAgMCAxLTF2LTVhMiAyIDAgMCAxIDItMmg1YTEgMSAwIDAgMCAxLTF6In1dLFsicGF0aCIse2Q6Ik0yMCA4YTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTIyIDE0djIifV0sWyJwYXRoIix7ZDoiTTIyIDIwYTIgMiAwIDAgMS0yIDIifV1dfSk7dmFyIGdILFBWZT1mKCgpPT57Z0g9W1sicGF0aCIse2Q6Ik00IDE2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2M2ExIDEgMCAwIDAgMSAxaDNhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDEwYTIgMiAwIDAgMS0yLTJ2LTNhMSAxIDAgMCAwLTEtMXoifV1dfSk7dmFyIGJILEVWZT1mKCgpPT57Ykg9W1sicGF0aCIse2Q6Ik0xMy43NyAzLjA0M2EzNCAzNCAwIDAgMC0zLjU0IDAifV0sWyJwYXRoIix7ZDoiTTEzLjc3MSAyMC45NTZhMzMgMzMgMCAwIDEtMy41NDEuMDAxIn1dLFsicGF0aCIse2Q6Ik0yMC4xOCAxNy43NGMtLjUxIDEuMTUtMS4yOSAxLjkzLTIuNDM5IDIuNDQifV0sWyJwYXRoIix7ZDoiTTIwLjE4IDYuMjU5Yy0uNTEtMS4xNDgtMS4yOTEtMS45MjktMi40NC0yLjQzOCJ9XSxbInBhdGgiLHtkOiJNMjAuOTU3IDEwLjIzYTMzIDMzIDAgMCAxIDAgMy41NCJ9XSxbInBhdGgiLHtkOiJNMy4wNDMgMTAuMjNhMzQgMzQgMCAwIDAgLjAwMSAzLjU0MSJ9XSxbInBhdGgiLHtkOiJNNi4yNiAyMC4xNzljLTEuMTUtLjUwOC0xLjkzLTEuMjktMi40NC0yLjQzOCJ9XSxbInBhdGgiLHtkOiJNNi4yNiAzLjgyYy0xLjE0OS41MS0xLjkzIDEuMjkxLTIuNDQgMi40NCJ9XV19KTt2YXIgdkgsSVZlPWYoKCk9Pnt2SD1bWyJwYXRoIix7ZDoiTTEyIDNjNy4yIDAgOSAxLjggOSA5cy0xLjggOS05IDktOS0xLjgtOS05IDEuOC05IDktOSJ9XV19KTt2YXIgeEgsTlZlPWYoKCk9Pnt4SD1bWyJwYXRoIix7ZDoiTTE1LjIzNiAyMmEzIDMgMCAwIDAtMi4yLTUifV0sWyJwYXRoIix7ZDoiTTE2IDIwYTMgMyAwIDAgMSAzLTNoMWEyIDIgMCAwIDAgMi0ydi0yYTQgNCAwIDAgMC00LTRWNCJ9XSxbInBhdGgiLHtkOiJNMTggMTNoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCA2YTQgNCAwIDAgMC00IDQgNyA3IDAgMCAwLTcgN2MwLTUgNC01IDQtMTAuNWE0LjUgNC41IDAgMSAwLTkgMCAyLjUgMi41IDAgMCAwIDUgMEM3IDEwIDMgMTEgMyAxN2MwIDIuOCAyLjIgNSA1IDVoMTAifV1dfSk7dmFyIHlILFJWZT1mKCgpPT57eUg9W1sicGF0aCIse2Q6Ik0xNCAxM1Y4LjVDMTQgNyAxNSA3IDE1IDVhMyAzIDAgMCAwLTYgMGMwIDIgMSAyIDEgMy41VjEzIn1dLFsicGF0aCIse2Q6Ik0yMCAxNS41YTIuNSAyLjUgMCAwIDAtMi41LTIuNWgtMTFBMi41IDIuNSAwIDAgMCA0IDE1LjVWMTdhMSAxIDAgMCAwIDEgMWgxNGExIDEgMCAwIDAgMS0xeiJ9XSxbInBhdGgiLHtkOiJNNSAyMmgxNCJ9XV19KTt2YXIgd0gsT1ZlPWYoKCk9Pnt3SD1bWyJwYXRoIix7ZDoiTTEyIDE4LjMzOGEyLjEgMi4xIDAgMCAwLS45ODcuMjQ0TDYuMzk2IDIxLjAxYS41My41MyAwIDAgMS0uNzctLjU2bC44ODEtNS4xMzlhMi4xMiAyLjEyIDAgMCAwLS42MTEtMS44NzlMMi4xNiA5Ljc5NWEuNTMuNTMgMCAwIDEgLjI5NC0uOTA2bDUuMTY1LS43NTVhMi4xMiAyLjEyIDAgMCAwIDEuNTk3LTEuMTZsMi4zMDktNC42NzlBLjUzLjUzIDAgMCAxIDEyIDIifV1dfSk7dmFyIE1ILEZWZT1mKCgpPT57TUg9W1sicGF0aCIse2Q6Im0xMC4zNDQgNC42ODggMS4xODEtMi4zOTNhLjUzLjUzIDAgMCAxIC45NSAwbDIuMzEgNC42NzlhMi4xMiAyLjEyIDAgMCAwIDEuNTk1IDEuMTZsNS4xNjYuNzU2YS41My41MyAwIDAgMSAuMjk0LjkwNGwtMy4yMzcgMy4xNTIifV0sWyJwYXRoIix7ZDoibTE3Ljk0NSAxNy45NDUuNDMgMi41MDVhLjUzLjUzIDAgMCAxLS43NzEuNTZsLTQuNjE4LTIuNDI4YTIuMTIgMi4xMiAwIDAgMC0xLjk3MyAwTDYuMzk2IDIxLjAxYS41My41MyAwIDAgMS0uNzctLjU2bC44ODEtNS4xMzlhMi4xMiAyLjEyIDAgMCAwLS42MTEtMS44NzlMMi4xNiA5Ljc5NWEuNTMuNTMgMCAwIDEgLjI5NC0uOTA2bDUuMTY1LS43NTVhOCA4IDAgMCAwIC40LS4wOTkifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIga0gsQlZlPWYoKCk9PntrSD1bWyJwYXRoIix7ZDoiTTExLjUyNSAyLjI5NWEuNTMuNTMgMCAwIDEgLjk1IDBsMi4zMSA0LjY3OWEyLjEyMyAyLjEyMyAwIDAgMCAxLjU5NSAxLjE2bDUuMTY2Ljc1NmEuNTMuNTMgMCAwIDEgLjI5NC45MDRsLTMuNzM2IDMuNjM4YTIuMTIzIDIuMTIzIDAgMCAwLS42MTEgMS44NzhsLjg4MiA1LjE0YS41My41MyAwIDAgMS0uNzcxLjU2bC00LjYxOC0yLjQyOGEyLjEyMiAyLjEyMiAwIDAgMC0xLjk3MyAwTDYuMzk2IDIxLjAxYS41My41MyAwIDAgMS0uNzctLjU2bC44ODEtNS4xMzlhMi4xMjIgMi4xMjIgMCAwIDAtLjYxMS0xLjg3OUwyLjE2IDkuNzk1YS41My41MyAwIDAgMSAuMjk0LS45MDZsNS4xNjUtLjc1NWEyLjEyMiAyLjEyMiAwIDAgMCAxLjU5Ny0xLjE2eiJ9XV19KTt2YXIgU0gsSFZlPWYoKCk9PntTSD1bWyJwYXRoIix7ZDoiTTEzLjk3MSA0LjI4NUEyIDIgMCAwIDEgMTcgNnYxMmEyIDIgMCAwIDEtMy4wMjkgMS43MTVsLTkuOTk3LTUuOTk4YTIgMiAwIDAgMS0uMDAzLTMuNDMyeiJ9XSxbInBhdGgiLHtkOiJNMjEgMjBWNCJ9XV19KTt2YXIgekgscVZlPWYoKCk9Pnt6SD1bWyJwYXRoIix7ZDoiTTEwLjAyOSA0LjI4NUEyIDIgMCAwIDAgNyA2djEyYTIgMiAwIDAgMCAzLjAyOSAxLjcxNWw5Ljk5Ny01Ljk5OGEyIDIgMCAwIDAgLjAwMy0zLjQzMnoifV0sWyJwYXRoIix7ZDoiTTMgNHYxNiJ9XV19KTt2YXIgQ0gsVlZlPWYoKCk9PntDSD1bWyJwYXRoIix7ZDoiTTIxIDlhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE1IDNINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDItMnoifV0sWyJwYXRoIix7ZDoiTTE1IDN2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTNoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxM2guMDEifV0sWyJwYXRoIix7ZDoiTTEwIDE2cy44IDEgMiAxYzEuMyAwIDItMSAyLTEifV1dfSk7dmFyIF9ILGpWZT1mKCgpPT57X0g9W1sicGF0aCIse2Q6Ik0xMSAydjIifV0sWyJwYXRoIix7ZDoiTTUgMnYyIn1dLFsicGF0aCIse2Q6Ik01IDNINGEyIDIgMCAwIDAtMiAydjRhNiA2IDAgMCAwIDEyIDBWNWEyIDIgMCAwIDAtMi0yaC0xIn1dLFsicGF0aCIse2Q6Ik04IDE1YTYgNiAwIDAgMCAxMiAwdi0zIn1dLFsiY2lyY2xlIix7Y3g6IjIwIixjeToiMTAiLHI6IjIifV1dfSk7dmFyIFRILFVWZT1mKCgpPT57VEg9W1sicGF0aCIse2Q6Ik0yMSA5YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNSAzSDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ6In1dLFsicGF0aCIse2Q6Ik0xNSAzdjVhMSAxIDAgMCAwIDEgMWg1In1dXX0pO3ZhciBMSCxXVmU9ZigoKT0+e0xIPVtbInBhdGgiLHtkOiJNMTUgMjF2LTVhMSAxIDAgMCAwLTEtMWgtNGExIDEgMCAwIDAtMSAxdjUifV0sWyJwYXRoIix7ZDoiTTE3Ljc3NCAxMC4zMWExLjEyIDEuMTIgMCAwIDAtMS41NDkgMCAyLjUgMi41IDAgMCAxLTMuNDUxIDAgMS4xMiAxLjEyIDAgMCAwLTEuNTQ4IDAgMi41IDIuNSAwIDAgMS0zLjQ1MiAwIDEuMTIgMS4xMiAwIDAgMC0xLjU0OSAwIDIuNSAyLjUgMCAwIDEtMy43Ny0zLjI0OGwyLjg4OS00LjE4NEEyIDIgMCAwIDEgNyAyaDEwYTIgMiAwIDAgMSAxLjY1My44NzNsMi44OTUgNC4xOTJhMi41IDIuNSAwIDAgMS0zLjc3NCAzLjI0NCJ9XSxbInBhdGgiLHtkOiJNNCAxMC45NVYxOWEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTguMDUifV1dfSk7dmFyICRILEdWZT1mKCgpPT57JEg9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiNiIseDoiMiIseToiMTQiLHJ4OiIyIn1dXX0pO3ZhciBESCxZVmU9ZigoKT0+e0RIPVtbInBhdGgiLHtkOiJNMTEuMjY0IDIuMjA1QTQgNCAwIDAgMCA2LjQyIDQuMjExbC00IDhhNCA0IDAgMCAwIDEuMzU5IDUuMTE3bDYgNGE0IDQgMCAwIDAgNC40MzggMGw2LTRhNCA0IDAgMCAwIDEuNTc2LTQuNTkybC0yLTZhNCA0IDAgMCAwLTIuNTMtMi41M3oifV0sWyJwYXRoIix7ZDoiTTExLjk5IDIyIDE0IDEybDcuODIyIDMuMTg0In1dLFsicGF0aCIse2Q6Ik0xNCAxMiA4LjQ3IDIuMzAyIn1dXX0pO3ZhciBBSCxLVmU9ZigoKT0+e0FIPVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMjAiLHg6IjE0Iix5OiIyIixyeDoiMiJ9XV19KTt2YXIgUEgsWlZlPWYoKCk9PntQSD1bWyJwYXRoIix7ZDoiTTE2IDRIOWEzIDMgMCAwIDAtMi44MyA0In1dLFsicGF0aCIse2Q6Ik0xNCAxMmE0IDQgMCAwIDEgMCA4SDYifV0sWyJsaW5lIix7eDE6IjQiLHgyOiIyMCIseTE6IjEyIix5MjoiMTIifV1dfSk7dmFyIEVILFhWZT1mKCgpPT57RUg9W1sicGF0aCIse2Q6Im00IDUgOCA4In1dLFsicGF0aCIse2Q6Im0xMiA1LTggOCJ9XSxbInBhdGgiLHtkOiJNMjAgMTloLTRjMC0xLjUuNDQtMiAxLjUtMi41UzIwIDE1LjMzIDIwIDE0YzAtLjQ3LS4xNy0uOTMtLjQ4LTEuMjlhMi4xMSAyLjExIDAgMCAwLTIuNjItLjQ0Yy0uNDIuMjQtLjc0LjYyLS45IDEuMDcifV1dfSk7dmFyIElILFFWZT1mKCgpPT57SUg9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTEyIDRoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNNCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE3LjY1NyA2LjM0M2guMDEifV0sWyJwYXRoIix7ZDoiTTE3LjY1NyAxNy42NTdoLjAxIn1dLFsicGF0aCIse2Q6Ik02LjM0MyAxNy42NTdoLjAxIn1dLFsicGF0aCIse2Q6Ik02LjM0MyA2LjM0M2guMDEifV1dfSk7dmFyIE5ILEpWZT1mKCgpPT57Tkg9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTEyIDN2MSJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2MSJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxIn1dLFsicGF0aCIse2Q6Ik0yMCAxMmgxIn1dLFsicGF0aCIse2Q6Im0xOC4zNjQgNS42MzYtLjcwNy43MDcifV0sWyJwYXRoIix7ZDoibTYuMzQzIDE3LjY1Ny0uNzA3LjcwNyJ9XSxbInBhdGgiLHtkOiJtNS42MzYgNS42MzYuNzA3LjcwNyJ9XSxbInBhdGgiLHtkOiJtMTcuNjU3IDE3LjY1Ny43MDcuNzA3In1dXX0pO3ZhciBSSCxlamU9ZigoKT0+e1JIPVtbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xNC44MzcgMTYuMzg1YTYgNiAwIDEgMS03LjIyMy03LjIyMmMuNjI0LS4xNDcuOTcuNjYuNzE1IDEuMjQ4YTQgNCAwIDAgMCA1LjI2IDUuMjU5Yy41ODktLjI1NSAxLjM5Ni4wOSAxLjI0OC43MTUifV0sWyJwYXRoIix7ZDoiTTE2IDEyYTQgNCAwIDAgMC00LTQifV0sWyJwYXRoIix7ZDoibTE5IDUtMS4yNTYgMS4yNTYifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDIifV1dfSk7dmFyIE9ILHRqZT1mKCgpPT57T0g9W1sicGF0aCIse2Q6Ik0xMCAyMXYtMSJ9XSxbInBhdGgiLHtkOiJNMTAgNFYzIn1dLFsicGF0aCIse2Q6Ik0xMCA5YTMgMyAwIDAgMCAwIDYifV0sWyJwYXRoIix7ZDoibTE0IDIwIDEuMjUtMi41TDE4IDE4In1dLFsicGF0aCIse2Q6Im0xNCA0IDEuMjUgMi41TDE4IDYifV0sWyJwYXRoIix7ZDoibTE3IDIxLTMtNiAxLjUtM0gyMiJ9XSxbInBhdGgiLHtkOiJtMTcgMy0zIDYgMS41IDMifV0sWyJwYXRoIix7ZDoiTTIgMTJoMSJ9XSxbInBhdGgiLHtkOiJtMjAgMTAtMS41IDIgMS41IDIifV0sWyJwYXRoIix7ZDoibTMuNjQgMTguMzYuNy0uNyJ9XSxbInBhdGgiLHtkOiJtNC4zNCA2LjM0LS43LS43In1dXX0pO3ZhciBGSCxhamU9ZigoKT0+e0ZIPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTEyIDIwdjIifV0sWyJwYXRoIix7ZDoibTQuOTMgNC45MyAxLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoibTE3LjY2IDE3LjY2IDEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMmgyIn1dLFsicGF0aCIse2Q6Im02LjM0IDE3LjY2LTEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJtMTkuMDcgNC45My0xLjQxIDEuNDEifV1dfSk7dmFyIEJILHJqZT1mKCgpPT57Qkg9W1sicGF0aCIse2Q6Ik0xMiAydjgifV0sWyJwYXRoIix7ZDoibTQuOTMgMTAuOTMgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0yIDE4aDIifV0sWyJwYXRoIix7ZDoiTTIwIDE4aDIifV0sWyJwYXRoIix7ZDoibTE5LjA3IDEwLjkzLTEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMjIgMjJIMiJ9XSxbInBhdGgiLHtkOiJtOCA2IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTE2IDE4YTQgNCAwIDAgMC04IDAifV1dfSk7dmFyIEhILHNqZT1mKCgpPT57SEg9W1sicGF0aCIse2Q6Ik0xMiAxMFYyIn1dLFsicGF0aCIse2Q6Im00LjkzIDEwLjkzIDEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMiAxOGgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxOGgyIn1dLFsicGF0aCIse2Q6Im0xOS4wNyAxMC45My0xLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTIyIDIySDIifV0sWyJwYXRoIix7ZDoibTE2IDYtNCA0LTQtNCJ9XSxbInBhdGgiLHtkOiJNMTYgMThhNCA0IDAgMCAwLTggMCJ9XV19KTt2YXIgcUgsaWplPWYoKCk9PntxSD1bWyJwYXRoIix7ZDoibTQgMTkgOC04In1dLFsicGF0aCIse2Q6Im0xMiAxOS04LTgifV0sWyJwYXRoIix7ZDoiTTIwIDEyaC00YzAtMS41LjQ0Mi0yIDEuNS0yLjVTMjAgOC4zMzQgMjAgNy4wMDJjMC0uNDcyLS4xNy0uOTMtLjQ4NC0xLjI5YTIuMTA1IDIuMTA1IDAgMCAwLTIuNjE3LS40MzZjLS40Mi4yMzktLjczOC42MTQtLjg5OSAxLjA2In1dXX0pO3ZhciBWSCxvamU9ZigoKT0+e1ZIPVtbInBhdGgiLHtkOiJNMTEgMTdhNCA0IDAgMCAxLTggMFY1YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAyWiJ9XSxbInBhdGgiLHtkOiJNMTYuNyAxM0gxOWEyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMkg3In1dLFsicGF0aCIse2Q6Ik0gNyAxN2guMDEifV0sWyJwYXRoIix7ZDoibTExIDggMi4zLTIuM2EyLjQgMi40IDAgMCAxIDMuNDA0LjAwNEwxOC42IDcuNmEyLjQgMi40IDAgMCAxIC4wMjYgMy40MzRMOS45IDE5LjgifV1dfSk7dmFyIGpILG5qZT1mKCgpPT57akg9W1sicGF0aCIse2Q6Ik0xMCAyMVYzaDgifV0sWyJwYXRoIix7ZDoiTTYgMTZoOSJ9XSxbInBhdGgiLHtkOiJNMTAgOS41aDcifV1dfSk7dmFyIFVILGxqZT1mKCgpPT57VUg9W1sicGF0aCIse2Q6Ik0xMSAxOUg0YTIgMiAwIDAgMS0yLTJWN2EyIDIgMCAwIDEgMi0yaDUifV0sWyJwYXRoIix7ZDoiTTEzIDVoN2EyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJoLTUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMTggMjItMy0zIDMtMyJ9XSxbInBhdGgiLHtkOiJtNiAyIDMgMy0zIDMifV1dfSk7dmFyIFdILGNqZT1mKCgpPT57V0g9W1sicGF0aCIse2Q6Im0xMSAxOS02LTYifV0sWyJwYXRoIix7ZDoibTUgMjEtMi0yIn1dLFsicGF0aCIse2Q6Im04IDE2LTQgNCJ9XSxbInBhdGgiLHtkOiJNOS41IDE3LjUgMjEgNlYzaC0zTDYuNSAxNC41In1dXX0pO3ZhciBHSCxkamU9ZigoKT0+e0dIPVtbInBvbHlsaW5lIix7cG9pbnRzOiIxNC41IDE3LjUgMyA2IDMgMyA2IDMgMTcuNSAxNC41In1dLFsibGluZSIse3gxOiIxMyIseDI6IjE5Iix5MToiMTkiLHkyOiIxMyJ9XSxbImxpbmUiLHt4MToiMTYiLHgyOiIyMCIseTE6IjE2Iix5MjoiMjAifV0sWyJsaW5lIix7eDE6IjE5Iix4MjoiMjEiLHkxOiIyMSIseTI6IjE5In1dLFsicG9seWxpbmUiLHtwb2ludHM6IjE0LjUgNi41IDE4IDMgMjEgMyAyMSA2IDE3LjUgOS41In1dLFsibGluZSIse3gxOiI1Iix4MjoiOSIseTE6IjE0Iix5MjoiMTgifV0sWyJsaW5lIix7eDE6IjciLHgyOiI0Iix5MToiMTciLHkyOiIyMCJ9XSxbImxpbmUiLHt4MToiMyIseDI6IjUiLHkxOiIxOSIseTI6IjIxIn1dXX0pO3ZhciBZSCx1amU9ZigoKT0+e1lIPVtbInBhdGgiLHtkOiJtMTggMiA0IDQifV0sWyJwYXRoIix7ZDoibTE3IDcgMy0zIn1dLFsicGF0aCIse2Q6Ik0xOSA5IDguNyAxOS4zYy0xIDEtMi41IDEtMy40IDBsLS42LS42Yy0xLTEtMS0yLjUgMC0zLjRMMTUgNSJ9XSxbInBhdGgiLHtkOiJtOSAxMSA0IDQifV0sWyJwYXRoIix7ZDoibTUgMTktMyAzIn1dLFsicGF0aCIse2Q6Im0xNCA0IDYgNiJ9XV19KTt2YXIgS0gscGplPWYoKCk9PntLSD1bWyJwYXRoIix7ZDoiTTkgM0g1YTIgMiAwIDAgMC0yIDJ2NG02LTZoMTBhMiAyIDAgMCAxIDIgMnY0TTkgM3YxOG0wIDBoMTBhMiAyIDAgMCAwIDItMlY5TTkgMjFINWEyIDIgMCAwIDEtMi0yVjltMCAwaDE4In1dXX0pO3ZhciBaSCxmamU9ZigoKT0+e1pIPVtbInBhdGgiLHtkOiJNMTIgMjF2LTYifV0sWyJwYXRoIix7ZDoiTTEyIDlWMyJ9XSxbInBhdGgiLHtkOiJNMyAxNWgxOCJ9XSxbInBhdGgiLHtkOiJNMyA5aDE4In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV1dfSk7dmFyIFhILGhqZT1mKCgpPT57WEg9W1sicGF0aCIse2Q6Ik0xMiAxNVY5In1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XV19KTt2YXIgUUgsbWplPWYoKCk9PntRSD1bWyJwYXRoIix7ZDoiTTE0IDE0djIifV0sWyJwYXRoIix7ZDoiTTE0IDIwdjIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTQgOHYyIn1dLFsicGF0aCIse2Q6Ik0yIDE1aDgifV0sWyJwYXRoIix7ZDoiTTIgM2g2YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkgyIn1dLFsicGF0aCIse2Q6Ik0yIDloOCJ9XSxbInBhdGgiLHtkOiJNMjIgMTVoLTQifV0sWyJwYXRoIix7ZDoiTTIyIDNoLTJhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDIifV0sWyJwYXRoIix7ZDoiTTIyIDloLTQifV0sWyJwYXRoIix7ZDoiTTUgM3YxOCJ9XV19KTt2YXIgSkgsZ2plPWYoKCk9PntKSD1bWyJwYXRoIix7ZDoiTTE2IDVIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTlIMyJ9XSxbInBhdGgiLHtkOiJNMjEgNWguMDEifV0sWyJwYXRoIix7ZDoiTTIxIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTloLjAxIn1dXX0pO3ZhciBlcSxiamU9ZigoKT0+e2VxPVtbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMSA5SDMifV0sWyJwYXRoIix7ZDoiTTIxIDE1SDMifV1dfSk7dmFyIHRxLHZqZT1mKCgpPT57dHE9W1sicGF0aCIse2Q6Ik0xNCAxMGgyIn1dLFsicGF0aCIse2Q6Ik0xNSAyMnYtOCJ9XSxbInBhdGgiLHtkOiJNMTUgMnY0In1dLFsicGF0aCIse2Q6Ik0yIDEwaDIifV0sWyJwYXRoIix7ZDoiTTIwIDEwaDIifV0sWyJwYXRoIix7ZDoiTTMgMTloMTgifV0sWyJwYXRoIix7ZDoiTTMgMjJ2LTZhMiAyIDEzNSAwIDEgMi0yaDE0YTIgMiA0NSAwIDEgMiAydjYifV0sWyJwYXRoIix7ZDoiTTMgMnYyYTIgMiA0NSAwIDAgMiAyaDE0YTIgMiAxMzUgMCAwIDItMlYyIn1dLFsicGF0aCIse2Q6Ik04IDEwaDIifV0sWyJwYXRoIix7ZDoiTTkgMjJ2LTgifV0sWyJwYXRoIix7ZDoiTTkgMnY0In1dXX0pO3ZhciBhcSx4amU9ZigoKT0+e2FxPVtbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiMTQiLHg6IjMiLHk6IjgiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik01IDRhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAydjE2YTIgMiAwIDAgMS0yIDJoLTIuNCJ9XSxbInBhdGgiLHtkOiJNOCAxOGguMDEifV1dfSk7dmFyIHJxLHlqZT1mKCgpPT57cnE9W1sicGF0aCIse2Q6Ik0xMiAzdjE4In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XSxbInBhdGgiLHtkOiJNMyAxNWgxOCJ9XV19KTt2YXIgc3Esd2plPWYoKCk9PntzcT1bWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjIwIix4OiI0Iix5OiIyIixyeDoiMiIscnk6IjIifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIuMDEiLHkxOiIxOCIseTI6IjE4In1dXX0pO3ZhciBpcSxNamU9ZigoKT0+e2lxPVtbImNpcmNsZSIse2N4OiI3IixjeToiNyIscjoiNSJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiI1In1dLFsicGF0aCIse2Q6Ik0xMiAxN2gxMCJ9XSxbInBhdGgiLHtkOiJtMy40NiAxMC41NCA3LjA4LTcuMDgifV1dfSk7dmFyIG9xLGtqZT1mKCgpPT57b3E9W1sicGF0aCIse2Q6Ik0xMi41ODYgMi41ODZBMiAyIDAgMCAwIDExLjE3MiAySDRhMiAyIDAgMCAwLTIgMnY3LjE3MmEyIDIgMCAwIDAgLjU4NiAxLjQxNGw4LjcwNCA4LjcwNGEyLjQyNiAyLjQyNiAwIDAgMCAzLjQyIDBsNi41OC02LjU4YTIuNDI2IDIuNDI2IDAgMCAwIDAtMy40MnoifV0sWyJjaXJjbGUiLHtjeDoiNy41IixjeToiNy41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dXX0pO3ZhciBucSxTamU9ZigoKT0+e25xPVtbInBhdGgiLHtkOiJNMTMuMTcyIDJhMiAyIDAgMCAxIDEuNDE0LjU4Nmw2LjcxIDYuNzFhMi40IDIuNCAwIDAgMSAwIDMuNDA4bC00LjU5MiA0LjU5MmEyLjQgMi40IDAgMCAxLTMuNDA4IDBsLTYuNzEtNi43MUEyIDIgMCAwIDEgNiA5LjE3MlYzYTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik0yIDd2Ni4xNzJhMiAyIDAgMCAwIC41ODYgMS40MTRsNi43MSA2LjcxYTIuNCAyLjQgMCAwIDAgMy4xOTEuMTkzIn1dLFsiY2lyY2xlIix7Y3g6IjEwLjUiLGN5OiI2LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV1dfSk7dmFyIGxxLHpqZT1mKCgpPT57bHE9W1sicGF0aCIse2Q6Ik00IDR2MTYifV1dfSk7dmFyIGNxLENqZT1mKCgpPT57Y3E9W1sicGF0aCIse2Q6Ik00IDR2MTYifV0sWyJwYXRoIix7ZDoiTTkgNHYxNiJ9XV19KTt2YXIgZHEsX2plPWYoKCk9PntkcT1bWyJwYXRoIix7ZDoiTTQgNHYxNiJ9XSxbInBhdGgiLHtkOiJNOSA0djE2In1dLFsicGF0aCIse2Q6Ik0xNCA0djE2In1dXX0pO3ZhciB1cSxUamU9ZigoKT0+e3VxPVtbInBhdGgiLHtkOiJNNCA0djE2In1dLFsicGF0aCIse2Q6Ik05IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE0IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE5IDR2MTYifV1dfSk7dmFyIHBxLExqZT1mKCgpPT57cHE9W1siY2lyY2xlIix7Y3g6IjE3IixjeToiNCIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTUuNTkgNS40MSA1LjQxIDE1LjU5In1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIxNyIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMjJzLTQtOS0xLjUtMTEuNVMyMiAxMiAyMiAxMiJ9XV19KTt2YXIgZnEsJGplPWYoKCk9PntmcT1bWyJwYXRoIix7ZDoiTTQgNHYxNiJ9XSxbInBhdGgiLHtkOiJNOSA0djE2In1dLFsicGF0aCIse2Q6Ik0xNCA0djE2In1dLFsicGF0aCIse2Q6Ik0xOSA0djE2In1dLFsicGF0aCIse2Q6Ik0yMiA2IDIgMTgifV1dfSk7dmFyIGhxLERqZT1mKCgpPT57aHE9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XV19KTt2YXIgbXEsQWplPWYoKCk9PnttcT1bWyJwYXRoIix7ZDoibTEwLjA2NSAxMi40OTMtNi4xOCAxLjMxOGEuOTM0LjkzNCAwIDAgMS0xLjEwOC0uNzAybC0uNTM3LTIuMTVhMS4wNyAxLjA3IDAgMCAxIC42OTEtMS4yNjVsMTMuNTA0LTQuNDQifV0sWyJwYXRoIix7ZDoibTEzLjU2IDExLjc0NyA0LjMzMi0uOTI0In1dLFsicGF0aCIse2Q6Im0xNiAyMS0zLjEwNS02LjIxIn1dLFsicGF0aCIse2Q6Ik0xNi40ODUgNS45NGEyIDIgMCAwIDEgMS40NTUtMi40MjVsMS4wOS0uMjcyYTEgMSAwIDAgMSAxLjIxMi43MjdsMS41MTUgNi4wNmExIDEgMCAwIDEtLjcyNyAxLjIxM2wtMS4wOS4yNzJhMiAyIDAgMCAxLTIuNDI1LTEuNDU1eiJ9XSxbInBhdGgiLHtkOiJtNi4xNTggOC42MzMgMS4xMTQgNC40NTYifV0sWyJwYXRoIix7ZDoibTggMjEgMy4xMDUtNi4yMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiIyIn1dXX0pO3ZhciBncSxQamU9ZigoKT0+e2dxPVtbImNpcmNsZSIse2N4OiI0IixjeToiNCIscjoiMiJ9XSxbInBhdGgiLHtkOiJtMTQgNSAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Im0xNCAxMCAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Ik0xNyAxNFYyIn1dLFsicGF0aCIse2Q6Ik0xNyAxNEg3bC01IDhoMjBaIn1dLFsicGF0aCIse2Q6Ik04IDE0djgifV0sWyJwYXRoIix7ZDoibTkgMTQgNSA4In1dXX0pO3ZhciBicSxFamU9ZigoKT0+e2JxPVtbInBhdGgiLHtkOiJNMy41IDIxIDE0IDMifV0sWyJwYXRoIix7ZDoiTTIwLjUgMjEgMTAgMyJ9XSxbInBhdGgiLHtkOiJNMTUuNSAyMSAxMiAxNWwtMy41IDYifV0sWyJwYXRoIix7ZDoiTTIgMjFoMjAifV1dfSk7dmFyIHZxLElqZT1mKCgpPT57dnE9W1sicGF0aCIse2Q6Ik0xMiAxOWg4In1dLFsicGF0aCIse2Q6Im00IDE3IDYtNi02LTYifV1dfSk7dmFyIFpwLE5qZT1mKCgpPT57WnA9W1sicGF0aCIse2Q6Ik0yMSA3IDYuODIgMjEuMThhMi44MyAyLjgzIDAgMCAxLTMuOTktLjAxYTIuODMgMi44MyAwIDAgMSAwLTRMMTcgMyJ9XSxbInBhdGgiLHtkOiJtMTYgMiA2IDYifV0sWyJwYXRoIix7ZDoiTTEyIDE2SDQifV1dfSk7dmFyIHhxLFJqZT1mKCgpPT57eHE9W1sicGF0aCIse2Q6Ik0xNC41IDJ2MTcuNWMwIDEuNC0xLjEgMi41LTIuNSAyLjVjLTEuNCAwLTIuNS0xLjEtMi41LTIuNVYyIn1dLFsicGF0aCIse2Q6Ik04LjUgMmg3In1dLFsicGF0aCIse2Q6Ik0xNC41IDE2aC01In1dXX0pO3ZhciBYcCxPamU9ZigoKT0+e1hwPVtbInBhdGgiLHtkOiJNMjEgNUgzIn1dLFsicGF0aCIse2Q6Ik0xNyAxMkg3In1dLFsicGF0aCIse2Q6Ik0xOSAxOUg1In1dXX0pO3ZhciB5cSxGamU9ZigoKT0+e3lxPVtbInBhdGgiLHtkOiJNOSAydjE3LjVBMi41IDIuNSAwIDAgMSA2LjUgMjJBMi41IDIuNSAwIDAgMSA0IDE5LjVWMiJ9XSxbInBhdGgiLHtkOiJNMjAgMnYxNy41YTIuNSAyLjUgMCAwIDEtMi41IDIuNWEyLjUgMi41IDAgMCAxLTIuNS0yLjVWMiJ9XSxbInBhdGgiLHtkOiJNMyAyaDcifV0sWyJwYXRoIix7ZDoiTTE0IDJoNyJ9XSxbInBhdGgiLHtkOiJNOSAxNkg0In1dLFsicGF0aCIse2Q6Ik0yMCAxNmgtNSJ9XV19KTt2YXIgUXAsQmplPWYoKCk9PntRcD1bWyJwYXRoIix7ZDoiTTIxIDVIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTJIOSJ9XSxbInBhdGgiLHtkOiJNMjEgMTlINyJ9XV19KTt2YXIgSnAsSGplPWYoKCk9PntKcD1bWyJwYXRoIix7ZDoiTTMgNWgxOCJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxOCJ9XSxbInBhdGgiLHtkOiJNMyAxOWgxOCJ9XV19KTt2YXIgbmMscWplPWYoKCk9PntuYz1bWyJwYXRoIix7ZDoiTTIxIDVIMyJ9XSxbInBhdGgiLHtkOiJNMTUgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTlIMyJ9XV19KTt2YXIgd3EsVmplPWYoKCk9Pnt3cT1bWyJwYXRoIix7ZDoiTTEyIDIwaC0xYTIgMiAwIDAgMS0yLTIgMiAyIDAgMCAxLTIgMkg2In1dLFsicGF0aCIse2Q6Ik0xMyA4aDdhMiAyIDAgMCAxIDIgMnY0YTIgMiAwIDAgMS0yIDJoLTcifV0sWyJwYXRoIix7ZDoiTTUgMTZINGEyIDIgMCAwIDEtMi0ydi00YTIgMiAwIDAgMSAyLTJoMSJ9XSxbInBhdGgiLHtkOiJNNiA0aDFhMiAyIDAgMCAxIDIgMiAyIDIgMCAwIDEgMi0yaDEifV0sWyJwYXRoIix7ZDoiTTkgNnYxMiJ9XV19KTt2YXIgTXEsamplPWYoKCk9PntNcT1bWyJwYXRoIix7ZDoiTTE3IDIyaC0xYTQgNCAwIDAgMS00LTRWNmE0IDQgMCAwIDEgNC00aDEifV0sWyJwYXRoIix7ZDoiTTcgMjJoMWE0IDQgMCAwIDAgNC00di0xIn1dLFsicGF0aCIse2Q6Ik03IDJoMWE0IDQgMCAwIDEgNCA0djEifV1dfSk7dmFyIGVmLFVqZT1mKCgpPT57ZWY9W1sicGF0aCIse2Q6Ik0xNSA1aDYifV0sWyJwYXRoIix7ZDoiTTE1IDEyaDYifV0sWyJwYXRoIix7ZDoiTTMgMTloMTgifV0sWyJwYXRoIix7ZDoibTMgMTIgMy41NTMtNy43MjRhLjUuNSAwIDAgMSAuODk0IDBMMTEgMTIifV0sWyJwYXRoIix7ZDoiTTMuOTIgMTBoNi4xNiJ9XV19KTt2YXIga3EsV2plPWYoKCk9PntrcT1bWyJwYXRoIix7ZDoiTTE3IDVIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTJIOCJ9XSxbInBhdGgiLHtkOiJNMjEgMTlIOCJ9XSxbInBhdGgiLHtkOiJNMyAxMnY3In1dXX0pO3ZhciBTcSxHamU9ZigoKT0+e1NxPVtbInBhdGgiLHtkOiJNMjEgNUgzIn1dLFsicGF0aCIse2Q6Ik0xMCAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xMCAxOUgzIn1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTUiLHI6IjMifV0sWyJwYXRoIix7ZDoibTIxIDE5LTEuOS0xLjkifV1dfSk7dmFyIHRmLFlqZT1mKCgpPT57dGY9W1sicGF0aCIse2Q6Im0xNiAxNi0zIDMgMyAzIn1dLFsicGF0aCIse2Q6Ik0zIDEyaDE0LjVhMSAxIDAgMCAxIDAgN0gxMyJ9XSxbInBhdGgiLHtkOiJNMyAxOWg2In1dLFsicGF0aCIse2Q6Ik0zIDVoMTgifV1dfSk7dmFyIHpxLEtqZT1mKCgpPT57enE9W1sicGF0aCIse2Q6Ik0yIDEwczMtMyAzLTgifV0sWyJwYXRoIix7ZDoiTTIyIDEwcy0zLTMtMy04In1dLFsicGF0aCIse2Q6Ik0xMCAyYzAgNC40LTMuNiA4LTggOCJ9XSxbInBhdGgiLHtkOiJNMTQgMmMwIDQuNCAzLjYgOCA4IDgifV0sWyJwYXRoIix7ZDoiTTIgMTBzMiAyIDIgNSJ9XSxbInBhdGgiLHtkOiJNMjIgMTBzLTIgMi0yIDUifV0sWyJwYXRoIix7ZDoiTTggMTVoOCJ9XSxbInBhdGgiLHtkOiJNMiAyMnYtMWEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYxIn1dLFsicGF0aCIse2Q6Ik0xNCAyMnYtMWEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYxIn1dXX0pO3ZhciBDcSxaamU9ZigoKT0+e0NxPVtbInBhdGgiLHtkOiJtMTAgMjAtMS4yNS0yLjVMNiAxOCJ9XSxbInBhdGgiLHtkOiJNMTAgNCA4Ljc1IDYuNSA2IDYifV0sWyJwYXRoIix7ZDoiTTEwLjU4NSAxNUgxMCJ9XSxbInBhdGgiLHtkOiJNMiAxMmg2LjVMMTAgOSJ9XSxbInBhdGgiLHtkOiJNMjAgMTQuNTRhNCA0IDAgMSAxLTQgMFY0YTIgMiAwIDAgMSA0IDB6In1dLFsicGF0aCIse2Q6Im00IDEwIDEuNSAyTDQgMTQifV0sWyJwYXRoIix7ZDoibTcgMjEgMy02LTEuNS0zIn1dLFsicGF0aCIse2Q6Im03IDMgMyA2aDIifV1dfSk7dmFyIF9xLFhqZT1mKCgpPT57X3E9W1sicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTEyIDhhNCA0IDAgMCAwLTEuNjQ1IDcuNjQ3In1dLFsicGF0aCIse2Q6Ik0yIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDE0LjU0YTQgNCAwIDEgMS00IDBWNGEyIDIgMCAwIDEgNCAweiJ9XSxbInBhdGgiLHtkOiJtNC45MyA0LjkzIDEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJtNi4zNCAxNy42Ni0xLjQxIDEuNDEifV1dfSk7dmFyIFRxLFFqZT1mKCgpPT57VHE9W1sicGF0aCIse2Q6Ik0xNCA0djEwLjU0YTQgNCAwIDEgMS00IDBWNGEyIDIgMCAwIDEgNCAwWiJ9XV19KTt2YXIgTHEsSmplPWYoKCk9PntMcT1bWyJwYXRoIix7ZDoiTTkgMTguMTIgMTAgMTRINC4xN2EyIDIgMCAwIDEtMS45Mi0yLjU2bDIuMzMtOEEyIDIgMCAwIDEgNi41IDJIMjBhMiAyIDAgMCAxIDIgMnY4YTIgMiAwIDAgMS0yIDJoLTIuNzZhMiAyIDAgMCAwLTEuNzkgMS4xMUwxMiAyMmEzLjEzIDMuMTMgMCAwIDEtMy0zLjg4WiJ9XSxbInBhdGgiLHtkOiJNMTcgMTRWMiJ9XV19KTt2YXIgJHEsZVVlPWYoKCk9PnskcT1bWyJwYXRoIix7ZDoiTTE1IDUuODggMTQgMTBoNS44M2EyIDIgMCAwIDEgMS45MiAyLjU2bC0yLjMzIDhBMiAyIDAgMCAxIDE3LjUgMjJINGEyIDIgMCAwIDEtMi0ydi04YTIgMiAwIDAgMSAyLTJoMi43NmEyIDIgMCAwIDAgMS43OS0xLjExTDEyIDJhMy4xMyAzLjEzIDAgMCAxIDMgMy44OFoifV0sWyJwYXRoIix7ZDoiTTcgMTB2MTIifV1dfSk7dmFyIERxLHRVZT1mKCgpPT57RHE9W1sicGF0aCIse2Q6Ik0yIDlhMyAzIDAgMCAxIDAgNnYyYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMmEzIDMgMCAwIDEgMC02VjdhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJaIn1dLFsicGF0aCIse2Q6Im05IDEyIDIgMiA0LTQifV1dfSk7dmFyIEFxLGFVZT1mKCgpPT57QXE9W1sicGF0aCIse2Q6Ik0yIDlhMyAzIDAgMCAxIDAgNnYyYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMmEzIDMgMCAwIDEgMC02VjdhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJaIn1dLFsicGF0aCIse2Q6Ik05IDEyaDYifV1dfSk7dmFyIFBxLHJVZT1mKCgpPT57UHE9W1sicGF0aCIse2Q6Ik0yIDlhMyAzIDAgMSAxIDAgNnYyYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMmEzIDMgMCAxIDEgMC02VjdhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJaIn1dLFsicGF0aCIse2Q6Ik05IDloLjAxIn1dLFsicGF0aCIse2Q6Im0xNSA5LTYgNiJ9XSxbInBhdGgiLHtkOiJNMTUgMTVoLjAxIn1dXX0pO3ZhciBFcSxzVWU9ZigoKT0+e0VxPVtbInBhdGgiLHtkOiJNMiA5YTMgMyAwIDAgMSAwIDZ2MmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTJhMyAzIDAgMCAxIDAtNlY3YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAyWiJ9XSxbInBhdGgiLHtkOiJNOSAxMmg2In1dLFsicGF0aCIse2Q6Ik0xMiA5djYifV1dfSk7dmFyIElxLGlVZT1mKCgpPT57SXE9W1sicGF0aCIse2Q6Ik0yIDlhMyAzIDAgMCAxIDAgNnYyYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMmEzIDMgMCAwIDEgMC02VjdhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJaIn1dLFsicGF0aCIse2Q6Im05LjUgMTQuNSA1LTUifV1dfSk7dmFyIE5xLG9VZT1mKCgpPT57TnE9W1sicGF0aCIse2Q6Ik0yIDlhMyAzIDAgMCAxIDAgNnYyYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMmEzIDMgMCAwIDEgMC02VjdhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJaIn1dLFsicGF0aCIse2Q6Im05LjUgMTQuNSA1LTUifV0sWyJwYXRoIix7ZDoibTkuNSA5LjUgNSA1In1dXX0pO3ZhciBScSxuVWU9ZigoKT0+e1JxPVtbInBhdGgiLHtkOiJNMiA5YTMgMyAwIDAgMSAwIDZ2MmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTJhMyAzIDAgMCAxIDAtNlY3YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAyWiJ9XSxbInBhdGgiLHtkOiJNMTMgNXYyIn1dLFsicGF0aCIse2Q6Ik0xMyAxN3YyIn1dLFsicGF0aCIse2Q6Ik0xMyAxMXYyIn1dXX0pO3ZhciBPcSxsVWU9ZigoKT0+e09xPVtbInBhdGgiLHtkOiJNMTAuNSAxN2gxLjIyN2EyIDIgMCAwIDAgMS4zNDUtLjUyTDE4IDEyIn1dLFsicGF0aCIse2Q6Im0xMiAxMy41IDMuNzk0LjUwNiJ9XSxbInBhdGgiLHtkOiJtMy4xNzMgOC4xOCAxMS01YTIgMiAwIDAgMSAyLjY0Ny45OTNMMTguNTYgOCJ9XSxbInBhdGgiLHtkOiJNNiAxMFY4In1dLFsicGF0aCIse2Q6Ik02IDE0djEifV0sWyJwYXRoIix7ZDoiTTYgMTl2MiJ9XSxbInJlY3QiLHt4OiIyIix5OiI4Iix3aWR0aDoiMjAiLGhlaWdodDoiMTMiLHJ4OiIyIn1dXX0pO3ZhciBGcSxjVWU9ZigoKT0+e0ZxPVtbInBhdGgiLHtkOiJtMy4xNzMgOC4xOCAxMS01YTIgMiAwIDAgMSAyLjY0Ny45OTNMMTguNTYgOCJ9XSxbInBhdGgiLHtkOiJNNiAxMFY4In1dLFsicGF0aCIse2Q6Ik02IDE0djEifV0sWyJwYXRoIix7ZDoiTTYgMTl2MiJ9XSxbInJlY3QiLHt4OiIyIix5OiI4Iix3aWR0aDoiMjAiLGhlaWdodDoiMTMiLHJ4OiIyIn1dXX0pO3ZhciBCcSxkVWU9ZigoKT0+e0JxPVtbInBhdGgiLHtkOiJNNCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTQgMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik00IDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNNCA0aC4wMSJ9XSxbInBhdGgiLHtkOiJNNCA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNOS40MTQgMTMuNDE0YTIgMiAwIDAgMCAxLjQxNC41ODZIMTlhMSAxIDAgMCAwIDEtMXYtMmExIDEgMCAwIDAtMS0xaC04LjE3MmEyIDIgMCAwIDAtMS40MTQuNTg2TDggMTJ6In1dLFsicGF0aCIse2Q6Ik05LjQxNCAyMS40MTRhMiAyIDAgMCAwIDEuNDE0LjU4NkgxOWExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTFoLTguMTcyYTIgMiAwIDAgMC0xLjQxNC41ODZMOCAyMHoifV0sWyJwYXRoIix7ZDoiTTkuNDE0IDUuNDE0QTIgMiAwIDAgMCAxMC44MjggNkgxOWExIDEgMCAwIDAgMS0xVjNhMSAxIDAgMCAwLTEtMWgtOC4xNzJhMiAyIDAgMCAwLTEuNDE0LjU4Nkw4IDR6In1dXX0pO3ZhciBIcSx1VWU9ZigoKT0+e0hxPVtbInBhdGgiLHtkOiJNMTAgMmg0In1dLFsicGF0aCIse2Q6Ik00LjYgMTFhOCA4IDAgMCAwIDEuNyA4LjcgOCA4IDAgMCAwIDguNyAxLjcifV0sWyJwYXRoIix7ZDoiTTcuNCA3LjRhOCA4IDAgMCAxIDEwLjMgMSA4IDggMCAwIDEgLjkgMTAuMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0xMiAxMnYtMiJ9XV19KTt2YXIgcXEscFVlPWYoKCk9PntxcT1bWyJwYXRoIix7ZDoiTTEwIDJoNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTQgMTNhOCA4IDAgMCAxIDgtNyA4IDggMCAxIDEtNS4zIDE0TDQgMTcuNiJ9XSxbInBhdGgiLHtkOiJNOSAxN0g0djUifV1dfSk7dmFyIFZxLGZVZT1mKCgpPT57VnE9W1sibGluZSIse3gxOiIxMCIseDI6IjE0Iix5MToiMiIseTI6IjIifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTUiLHkxOiIxNCIseTI6IjExIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTQiLHI6IjgifV1dfSk7dmFyIGpxLGhVZT1mKCgpPT57anE9W1sicGF0aCIse2Q6Ik03IDEyaDEzYTEgMSAwIDAgMSAxIDEgNSA1IDAgMCAxLTUgNWgtLjU5OGEuNS41IDAgMCAwLS40MjQuNzY1bDEuNTQ0IDIuNDdhLjUuNSAwIDAgMS0uNDI0Ljc2NUg1LjQwMmEuNS41IDAgMCAxLS40MjQtLjc2NUw3IDE4In1dLFsicGF0aCIse2Q6Ik04IDE4YTUgNSAwIDAgMS01LTVWNGEyIDIgMCAwIDEgMi0yaDhhMiAyIDAgMCAxIDIgMnY4In1dXX0pO3ZhciBVcSxtVWU9ZigoKT0+e1VxPVtbImNpcmNsZSIse2N4OiI5IixjeToiMTIiLHI6IjMifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiI1IixyeDoiNyJ9XV19KTt2YXIgV3EsZ1VlPWYoKCk9PntXcT1bWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiIxMiIscjoiMyJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjUiLHJ4OiI3In1dXX0pO3ZhciBHcSxiVWU9ZigoKT0+e0dxPVtbInBhdGgiLHtkOiJNMTAgMTVoNCJ9XSxbInBhdGgiLHtkOiJtMTQuODE3IDEwLjk5NS0uOTcxLTEuNDUgMS4wMzQtMS4yMzJhMiAyIDAgMCAwLTIuMDI1LTMuMjM4bC0xLjgyLjM2NEw5LjkxIDMuODg1YTIgMiAwIDAgMC0zLjYyNS43NDhMNi4xNDEgNi41NWwtMS43MjUuNDI2YTIgMiAwIDAgMC0uMTkgMy43NTZsLjY1Ny4yNyJ9XSxbInBhdGgiLHtkOiJtMTguODIyIDEwLjk5NSAyLjI2LTUuMzhhMSAxIDAgMCAwLS41NTctMS4zMThMMTYuOTU0IDIuOWExIDEgMCAwIDAtMS4yODEuNTMzbC0uOTI0IDIuMTIyIn1dLFsicGF0aCIse2Q6Ik00IDEyLjAwNkExIDEgMCAwIDEgNC45OTQgMTFIMTlhMSAxIDAgMCAxIDEgMXY3YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yeiJ9XV19KTt2YXIgWXEsdlVlPWYoKCk9PntZcT1bWyJwYXRoIix7ZDoiTTE2IDEydjQifV0sWyJwYXRoIix7ZDoiTTE2IDZhMiAyIDAgMCAxIDEuNDE0LjU4Nmw0IDRBMiAyIDAgMCAxIDIyIDEydjdhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LTdhMiAyIDAgMCAxIC41ODYtMS40MTRsNC00QTIgMiAwIDAgMSA4IDZ6In1dLFsicGF0aCIse2Q6Ik0xNiA2VjRhMiAyIDAgMCAwLTItMmgtNGEyIDIgMCAwIDAtMiAydjIifV0sWyJwYXRoIix7ZDoiTTIgMTRoMjAifV0sWyJwYXRoIix7ZDoiTTggMTJ2NCJ9XV19KTt2YXIgS3EseFVlPWYoKCk9PntLcT1bWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiMTEiLHJ4OiIzIixyeToiMiJ9XSxbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiIxMi41IixyeDoiMTAiLHJ5OiI4LjUifV1dfSk7dmFyIFpxLHlVZT1mKCgpPT57WnE9W1sicGF0aCIse2Q6Ik0xMiAyMHYtNiJ9XSxbInBhdGgiLHtkOiJNMTkuNjU2IDE0SDIyIn1dLFsicGF0aCIse2Q6Ik0yIDE0aDEyIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIwIDIwSDRhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTIifV0sWyJwYXRoIix7ZDoiTTkuNjU2IDRIMjBhMiAyIDAgMCAxIDIgMnYxMC4zNDQifV1dfSk7dmFyIFhxLHdVZT1mKCgpPT57WHE9W1sicGF0aCIse2Q6Ik0yMSA0SDMifV0sWyJwYXRoIix7ZDoiTTE4IDhINiJ9XSxbInBhdGgiLHtkOiJNMTkgMTJIOSJ9XSxbInBhdGgiLHtkOiJNMTYgMTZoLTYifV0sWyJwYXRoIix7ZDoiTTExIDIwSDkifV1dfSk7dmFyIFFxLE1VZT1mKCgpPT57UXE9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMTRoMjAifV0sWyJwYXRoIix7ZDoiTTEyIDIwdi02In1dXX0pO3ZhciBKcSxrVWU9ZigoKT0+e0pxPVtbInBhdGgiLHtkOiJNMjIgN2gtMiJ9XSxbInBhdGgiLHtkOiJNNi41IDNoMTFBMi41IDIuNSAwIDAgMSAyMCA1LjVWMjBhMSAxIDAgMCAxLTEgMWgtOWExIDEgMCAwIDEtMS0xVjUuNWExIDEgMCAwIDAtNSAwVjE3YTEgMSAwIDAgMCAxIDFoNCJ9XSxbInBhdGgiLHtkOiJNOSA3SDIifV1dfSk7dmFyIGVWLFNVZT1mKCgpPT57ZVY9W1sicGF0aCIse2Q6Ik0xOC4yIDEyLjI3IDIwIDZINGwxLjggNi4yN2ExIDEgMCAwIDAgLjk1LjczaDEwLjVhMSAxIDAgMCAwIC45Ni0uNzNaIn1dLFsicGF0aCIse2Q6Ik04IDEzdjkifV0sWyJwYXRoIix7ZDoiTTE2IDIydi05In1dLFsicGF0aCIse2Q6Im05IDYgMSA3In1dLFsicGF0aCIse2Q6Im0xNSA2LTEgNyJ9XSxbInBhdGgiLHtkOiJNMTIgNlYyIn1dLFsicGF0aCIse2Q6Ik0xMyAyaC0yIn1dXX0pO3ZhciB0Vix6VWU9ZigoKT0+e3RWPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTIiLHg6IjMiLHk6IjgiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xMCA4VjVjMC0uNi0uNC0xLTEtMUg2YTEgMSAwIDAgMC0xIDF2MyJ9XSxbInBhdGgiLHtkOiJNMTkgOFY1YzAtLjYtLjQtMS0xLTFoLTNhMSAxIDAgMCAwLTEgMXYzIn1dXX0pO3ZhciBhVixDVWU9ZigoKT0+e2FWPVtbInBhdGgiLHtkOiJtMTAgMTEgMTEgLjlhMSAxIDAgMCAxIC44IDEuMWwtLjY2NSA0LjE1OGExIDEgMCAwIDEtLjk4OC44NDJIMjAifV0sWyJwYXRoIix7ZDoiTTE2IDE4aC01In1dLFsicGF0aCIse2Q6Ik0xOCA1YTEgMSAwIDAgMC0xIDF2NS41NzMifV0sWyJwYXRoIix7ZDoiTTMgNGg4LjEyOWExIDEgMCAwIDEgLjk5Ljg2M0wxMyAxMS4yNDYifV0sWyJwYXRoIix7ZDoiTTQgMTFWNCJ9XSxbInBhdGgiLHtkOiJNNyAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTggMTAuMVY0In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE1IixyOiI1In1dXX0pO3ZhciByVixfVWU9ZigoKT0+e3JWPVtbInBhdGgiLHtkOiJNMTYuMDUgMTAuOTY2YTUgMi41IDAgMCAxLTguMSAwIn1dLFsicGF0aCIse2Q6Im0xNi45MjMgMTQuMDQ5IDQuNDggMi4wNGExIDEgMCAwIDEgLjAwMSAxLjgzMWwtOC41NzQgMy45YTIgMiAwIDAgMS0xLjY2IDBsLTguNTc0LTMuOTFhMSAxIDAgMCAxIDAtMS44M2w0LjQ4NC0yLjA0In1dLFsicGF0aCIse2Q6Ik0xNi45NDkgMTQuMTRhNSAyLjUgMCAxIDEtOS45IDBMMTAuMDYzIDMuNWEyIDIgMCAwIDEgMy44NzQgMHoifV0sWyJwYXRoIix7ZDoiTTkuMTk0IDYuNTdhNSAyLjUgMCAwIDAgNS42MSAwIn1dXX0pO3ZhciBzVixUVWU9ZigoKT0+e3NWPVtbInBhdGgiLHtkOiJNMiAyMlYxMmExMCAxMCAwIDEgMSAyMCAwdjEwIn1dLFsicGF0aCIse2Q6Ik0xNSA2Ljh2MS40YTMgMi44IDAgMSAxLTYgMFY2LjgifV0sWyJwYXRoIix7ZDoiTTEwIDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTQgMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxOWE0IDQgMCAwIDEtNC00di0zYTYgNiAwIDEgMSAxMiAwdjNhNCA0IDAgMCAxLTQgNFoifV0sWyJwYXRoIix7ZDoibTkgMTktMiAzIn1dLFsicGF0aCIse2Q6Im0xNSAxOSAyIDMifV1dfSk7dmFyIGlWLExVZT1mKCgpPT57aVY9W1sicGF0aCIse2Q6Ik04IDMuMVY3YTQgNCAwIDAgMCA4IDBWMy4xIn1dLFsicGF0aCIse2Q6Im05IDE1LTEtMSJ9XSxbInBhdGgiLHtkOiJtMTUgMTUgMS0xIn1dLFsicGF0aCIse2Q6Ik05IDE5Yy0yLjggMC01LTIuMi01LTV2LTRhOCA4IDAgMCAxIDE2IDB2NGMwIDIuOC0yLjIgNS01IDVaIn1dLFsicGF0aCIse2Q6Im04IDE5LTIgMyJ9XSxbInBhdGgiLHtkOiJtMTYgMTkgMiAzIn1dXX0pO3ZhciBvViwkVWU9ZigoKT0+e29WPVtbInBhdGgiLHtkOiJNMiAxNyAxNyAyIn1dLFsicGF0aCIse2Q6Im0yIDE0IDggOCJ9XSxbInBhdGgiLHtkOiJtNSAxMSA4IDgifV0sWyJwYXRoIix7ZDoibTggOCA4IDgifV0sWyJwYXRoIix7ZDoibTExIDUgOCA4In1dLFsicGF0aCIse2Q6Im0xNCAyIDggOCJ9XSxbInBhdGgiLHtkOiJNNyAyMiAyMiA3In1dXX0pO3ZhciBhZixEVWU9ZigoKT0+e2FmPVtbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMTYiLHg6IjQiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik00IDExaDE2In1dLFsicGF0aCIse2Q6Ik0xMiAzdjgifV0sWyJwYXRoIix7ZDoibTggMTktMiAzIn1dLFsicGF0aCIse2Q6Im0xOCAyMi0yLTMifV0sWyJwYXRoIix7ZDoiTTggMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNWguMDEifV1dfSk7dmFyIG5WLEFVZT1mKCgpPT57blY9W1sicGF0aCIse2Q6Ik0xMiAxNnY2In1dLFsicGF0aCIse2Q6Ik0xNCAyMGgtNCJ9XSxbInBhdGgiLHtkOiJNMTggMmg0djQifV0sWyJwYXRoIix7ZDoibTIgMiA3LjE3IDcuMTcifV0sWyJwYXRoIix7ZDoiTTIgNS4zNTVWMmgzLjM1NyJ9XSxbInBhdGgiLHtkOiJtMjIgMi03LjE3IDcuMTcifV0sWyJwYXRoIix7ZDoiTTggNSA1IDgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XV19KTt2YXIgbFYsUFVlPWYoKCk9PntsVj1bWyJwYXRoIix7ZDoiTTEwIDExdjYifV0sWyJwYXRoIix7ZDoiTTE0IDExdjYifV0sWyJwYXRoIix7ZDoiTTE5IDZ2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNiJ9XSxbInBhdGgiLHtkOiJNMyA2aDE4In1dLFsicGF0aCIse2Q6Ik04IDZWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYyIn1dXX0pO3ZhciBjVixFVWU9ZigoKT0+e2NWPVtbInBhdGgiLHtkOiJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2In1dLFsicGF0aCIse2Q6Ik0zIDZoMTgifV0sWyJwYXRoIix7ZDoiTTggNlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIifV1dfSk7dmFyIGRWLElVZT1mKCgpPT57ZFY9W1sicGF0aCIse2Q6Ik04IDE5YTQgNCAwIDAgMS0yLjI0LTcuMzJBMy41IDMuNSAwIDAgMSA5IDYuMDNWNmEzIDMgMCAxIDEgNiAwdi4wNGEzLjUgMy41IDAgMCAxIDMuMjQgNS42NUE0IDQgMCAwIDEgMTYgMTlaIn1dLFsicGF0aCIse2Q6Ik0xMiAxOXYzIn1dXX0pO3ZhciByZixOVWU9ZigoKT0+e3JmPVtbInBhdGgiLHtkOiJNMTMgOGMwLTIuNzYtMi40Ni01LTUuNS01UzIgNS4yNCAyIDhoMmwxLTEgMSAxaDQifV0sWyJwYXRoIix7ZDoiTTEzIDcuMTRBNS44MiA1LjgyIDAgMCAxIDE2LjUgNmMzLjA0IDAgNS41IDIuMjQgNS41IDVoLTNsLTEtMS0xIDFoLTMifV0sWyJwYXRoIix7ZDoiTTUuODkgOS43MWMtMi4xNSAyLjE1LTIuMyA1LjQ3LS4zNSA3LjQzbDQuMjQtNC4yNS43LS43LjcxLS43MSAyLjEyLTIuMTJjLTEuOTUtMS45Ni01LjI3LTEuOC03LjQyLjM1In1dLFsicGF0aCIse2Q6Ik0xMSAxNS41Yy41IDIuNS0uMTcgNC41LTEgNi41aDRjMi01LjUtLjUtMTItMS0xNCJ9XV19KTt2YXIgdVYsUlVlPWYoKCk9Pnt1Vj1bWyJwYXRoIix7ZDoibTE3IDE0IDMgMy4zYTEgMSAwIDAgMS0uNyAxLjdINC43YTEgMSAwIDAgMS0uNy0xLjdMNyAxNGgtLjNhMSAxIDAgMCAxLS43LTEuN0w5IDloLS4yQTEgMSAwIDAgMSA4IDcuM0wxMiAzbDQgNC4zYTEgMSAwIDAgMS0uOCAxLjdIMTVsMyAzLjNhMSAxIDAgMCAxLS43IDEuN0gxN1oifV0sWyJwYXRoIix7ZDoiTTEyIDIydi0zIn1dXX0pO3ZhciBwVixPVWU9ZigoKT0+e3BWPVtbInBhdGgiLHtkOiJNMTAgMTB2LjJBMyAzIDAgMCAxIDguOSAxNkg1YTMgMyAwIDAgMS0xLTUuOFYxMGEzIDMgMCAwIDEgNiAwWiJ9XSxbInBhdGgiLHtkOiJNNyAxNnY2In1dLFsicGF0aCIse2Q6Ik0xMyAxOXYzIn1dLFsicGF0aCIse2Q6Ik0xMiAxOWg4LjNhMSAxIDAgMCAwIC43LTEuN0wxOCAxNGguM2ExIDEgMCAwIDAgLjctMS43TDE2IDloLjJhMSAxIDAgMCAwIC44LTEuN0wxMyAzbC0xLjQgMS41In1dXX0pO3ZhciBmVixGVWU9ZigoKT0+e2ZWPVtbInBhdGgiLHtkOiJNMTYgMTdoNnYtNiJ9XSxbInBhdGgiLHtkOiJtMjIgMTctOC41LTguNS01IDVMMiA3In1dXX0pO3ZhciBoVixCVWU9ZigoKT0+e2hWPVtbInBhdGgiLHtkOiJNMTQuODI4IDE0LjgyOCAyMSAyMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTZ2NWgtNSJ9XSxbInBhdGgiLHtkOiJtMjEgMy05IDktNC00LTYgNiJ9XSxbInBhdGgiLHtkOiJNMjEgOFYzaC01In1dXX0pO3ZhciBtVixIVWU9ZigoKT0+e21WPVtbInBhdGgiLHtkOiJNMTYgN2g2djYifV0sWyJwYXRoIix7ZDoibTIyIDctOC41IDguNS01LTVMMiAxNyJ9XV19KTt2YXIgc2YscVVlPWYoKCk9PntzZj1bWyJwYXRoIix7ZDoibTIxLjczIDE4LTgtMTRhMiAyIDAgMCAwLTMuNDggMGwtOCAxNEEyIDIgMCAwIDAgNCAyMWgxNmEyIDIgMCAwIDAgMS43My0zIn1dLFsicGF0aCIse2Q6Ik0xMiA5djQifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XV19KTt2YXIgZ1YsVlVlPWYoKCk9PntnVj1bWyJwYXRoIix7ZDoiTTEwLjE3IDQuMTkzYTIgMiAwIDAgMSAzLjY2Ni4wMTMifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDIifV0sWyJwYXRoIix7ZDoibTE1Ljg3NCA3Ljc0MyAxIDEuNzMyIn1dLFsicGF0aCIse2Q6Im0xOC44NDkgMTIuOTUyIDEgMS43MzIifV0sWyJwYXRoIix7ZDoiTTIxLjgyNCAxOC4xOGEyIDIgMCAwIDEtMS44MzUgMi44MjQifV0sWyJwYXRoIix7ZDoiTTQuMDI0IDIxYTIgMiAwIDAgMS0xLjgzOS0yLjgzOSJ9XSxbInBhdGgiLHtkOiJtNS4xMzYgMTIuOTUyLTEgMS43MzIifV0sWyJwYXRoIix7ZDoiTTggMjFoMiJ9XSxbInBhdGgiLHtkOiJtOC4xMDIgNy43NDMtMSAxLjczMiJ9XV19KTt2YXIgYlYsalVlPWYoKCk9PntiVj1bWyJwYXRoIix7ZDoiTTIyIDE4YTIgMiAwIDAgMS0yIDJIM2MtMS4xIDAtMS4zLS42LS40LTEuM0wyMC40IDQuM2MuOS0uNyAxLjYtLjQgMS42LjdaIn1dXX0pO3ZhciB2VixVVWU9ZigoKT0+e3ZWPVtbInBhdGgiLHtkOiJNMTMuNzMgNGEyIDIgMCAwIDAtMy40NiAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTNaIn1dXX0pO3ZhciB4VixXVWU9ZigoKT0+e3hWPVtbInBhdGgiLHtkOiJNMTAgMTQuNjZ2MS42MjZhMiAyIDAgMCAxLS45NzYgMS42OTZBNSA1IDAgMCAwIDcgMjEuOTc4In1dLFsicGF0aCIse2Q6Ik0xNCAxNC42NnYxLjYyNmEyIDIgMCAwIDAgLjk3NiAxLjY5NkE1IDUgMCAwIDEgMTcgMjEuOTc4In1dLFsicGF0aCIse2Q6Ik0xOCA5aDEuNWExIDEgMCAwIDAgMC01SDE4In1dLFsicGF0aCIse2Q6Ik00IDIyaDE2In1dLFsicGF0aCIse2Q6Ik02IDlhNiA2IDAgMCAwIDEyIDBWM2ExIDEgMCAwIDAtMS0xSDdhMSAxIDAgMCAwLTEgMXoifV0sWyJwYXRoIix7ZDoiTTYgOUg0LjVhMSAxIDAgMCAxIDAtNUg2In1dXX0pO3ZhciB5VixHVWU9ZigoKT0+e3lWPVtbInBhdGgiLHtkOiJNMTQgMTlWN2EyIDIgMCAwIDAtMi0ySDkifV0sWyJwYXRoIix7ZDoiTTE1IDE5SDkifV0sWyJwYXRoIix7ZDoiTTE5IDE5aDJhMSAxIDAgMCAwIDEtMXYtMy42NWExIDEgMCAwIDAtLjIyLS42MkwxOC4zIDkuMzhhMSAxIDAgMCAwLS43OC0uMzhIMTQifV0sWyJwYXRoIix7ZDoiTTIgMTN2NWExIDEgMCAwIDAgMSAxaDIifV0sWyJwYXRoIix7ZDoiTTQgMyAyLjE1IDUuMTVhLjQ5NS40OTUgMCAwIDAgLjM1Ljg2aDIuMTVhLjQ3LjQ3IDAgMCAxIC4zNS44NkwzIDkuMDIifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxOSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTkiLHI6IjIifV1dfSk7dmFyIHdWLFlVZT1mKCgpPT57d1Y9W1sicGF0aCIse2Q6Ik0xNCAxOFY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjExYTEgMSAwIDAgMCAxIDFoMiJ9XSxbInBhdGgiLHtkOiJNMTUgMThIOSJ9XSxbInBhdGgiLHtkOiJNMTkgMThoMmExIDEgMCAwIDAgMS0xdi0zLjY1YTEgMSAwIDAgMC0uMjItLjYyNGwtMy40OC00LjM1QTEgMSAwIDAgMCAxNy41MiA4SDE0In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTgiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE4IixyOiIyIn1dXX0pO3ZhciBNVixLVWU9ZigoKT0+e01WPVtbInBhdGgiLHtkOiJNMTUgNCA1IDkifV0sWyJwYXRoIix7ZDoibTE1IDguNS0xMCA1In1dLFsicGF0aCIse2Q6Ik0xOCAxMmE5IDkgMCAwIDEtOSA5VjMifV1dfSk7dmFyIGtWLFpVZT1mKCgpPT57a1Y9W1sicGF0aCIse2Q6Ik0xMCAxMi4wMWguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDh2NGE4IDggMCAwIDEtMS4wNyA0In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiMTIiLHI6IjQifV0sWyJyZWN0Iix7eDoiMiIseToiNCIsd2lkdGg6IjIwIixoZWlnaHQ6IjE2IixyeDoiMiJ9XV19KTt2YXIgU1YsWFVlPWYoKCk9PntTVj1bWyJwYXRoIix7ZDoibTEyIDEwIDIgNHYzYTEgMSAwIDAgMCAxIDFoMmExIDEgMCAwIDAgMS0xdi0zYTggOCAwIDEgMC0xNiAwdjNhMSAxIDAgMCAwIDEgMWgyYTEgMSAwIDAgMCAxLTF2LTNsMi00aDRaIn1dLFsicGF0aCIse2Q6Ik00LjgyIDcuOSA4IDEwIn1dLFsicGF0aCIse2Q6Ik0xNS4xOCA3LjkgMTIgMTAifV0sWyJwYXRoIix7ZDoiTTE2LjkzIDEwSDIwYTIgMiAwIDAgMSAwIDRIMiJ9XV19KTt2YXIgelYsUVVlPWYoKCk9Pnt6Vj1bWyJwYXRoIix7ZDoiTTE1LjAzMyA5LjQ0YS42NDcuNjQ3IDAgMCAxIDAgMS4xMmwtNC4wNjUgMi4zNTJhLjY0NS42NDUgMCAwIDEtLjk2OC0uNTZWNy42NDhhLjY0NS42NDUgMCAwIDEgLjk2Ny0uNTZ6In1dLFsicGF0aCIse2Q6Ik03IDIxaDEwIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV1dfSk7dmFyIG9mLEpVZT1mKCgpPT57b2Y9W1sicGF0aCIse2Q6Ik03IDIxaDEwIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV1dfSk7dmFyIENWLGVXZT1mKCgpPT57Q1Y9W1sicGF0aCIse2Q6Im0xNyAyLTUgNS01LTUifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE1Iix4OiIyIix5OiI3IixyeDoiMiJ9XV19KTt2YXIgX1YsdFdlPWYoKCk9PntfVj1bWyJwYXRoIix7ZDoiTTE0IDE2LjVhLjUuNSAwIDAgMCAuNS41aC41YTIgMiAwIDAgMSAwIDRIOWEyIDIgMCAwIDEgMC00aC41YS41LjUgMCAwIDAgLjUtLjV2LTlhLjUuNSAwIDAgMC0uNS0uNWgtM2EuNS41IDAgMCAwLS41LjVWOGEyIDIgMCAwIDEtNCAwVjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTQgMHYtLjVhLjUuNSAwIDAgMC0uNS0uNWgtM2EuNS41IDAgMCAwLS41LjVaIn1dXX0pO3ZhciBUVixhV2U9ZigoKT0+e1RWPVtbInBhdGgiLHtkOiJNMTIgNHYxNiJ9XSxbInBhdGgiLHtkOiJNNCA3VjVhMSAxIDAgMCAxIDEtMWgxNGExIDEgMCAwIDEgMSAxdjIifV0sWyJwYXRoIix7ZDoiTTkgMjBoNiJ9XV19KTt2YXIgTFYscldlPWYoKCk9PntMVj1bWyJwYXRoIix7ZDoiTTEyIDEzdjdhMiAyIDAgMCAwIDQgMCJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xOC42NTYgMTNoMi4zMzZhMSAxIDAgMCAwIC45Ny0xLjI3NCAxMC4yODQgMTAuMjg0IDAgMCAwLTEyLjA3LTcuNTEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNS45NjEgNS45NTdhMTAuMjggMTAuMjggMCAwIDAtMy45MjIgNS43NjlBMSAxIDAgMCAwIDMgMTNoMTAifV1dfSk7dmFyICRWLHNXZT1mKCgpPT57JFY9W1sicGF0aCIse2Q6Ik0xMiAxM3Y3YTIgMiAwIDAgMCA0IDAifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjAuOTkyIDEzYTEgMSAwIDAgMCAuOTctMS4yNzQgMTAuMjg0IDEwLjI4NCAwIDAgMC0xOS45MjMgMEExIDEgMCAwIDAgMyAxM3oifV1dfSk7dmFyIERWLGlXZT1mKCgpPT57RFY9W1sicGF0aCIse2Q6Ik02IDR2NmE2IDYgMCAwIDAgMTIgMFY0In1dLFsibGluZSIse3gxOiI0Iix4MjoiMjAiLHkxOiIyMCIseTI6IjIwIn1dXX0pO3ZhciBBVixvV2U9ZigoKT0+e0FWPVtbInBhdGgiLHtkOiJNOSAxNCA0IDlsNS01In1dLFsicGF0aCIse2Q6Ik00IDloMTAuNWE1LjUgNS41IDAgMCAxIDUuNSA1LjVhNS41IDUuNSAwIDAgMS01LjUgNS41SDExIn1dXX0pO3ZhciBQVixuV2U9ZigoKT0+e1BWPVtbInBhdGgiLHtkOiJNMjEgMTdhOSA5IDAgMCAwLTE1LTYuN0wzIDEzIn1dLFsicGF0aCIse2Q6Ik0zIDd2Nmg2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTciLHI6IjEifV1dfSk7dmFyIEVWLGxXZT1mKCgpPT57RVY9W1sicGF0aCIse2Q6Ik0zIDd2Nmg2In1dLFsicGF0aCIse2Q6Ik0yMSAxN2E5IDkgMCAwIDAtOS05IDkgOSAwIDAgMC02IDIuM0wzIDEzIn1dXX0pO3ZhciBJVixjV2U9ZigoKT0+e0lWPVtbInBhdGgiLHtkOiJNMTYgMTJoNiJ9XSxbInBhdGgiLHtkOiJNOCAxMkgyIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTEyIDh2MiJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2MiJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2MiJ9XSxbInBhdGgiLHtkOiJtMTkgMTUgMy0zLTMtMyJ9XSxbInBhdGgiLHtkOiJtNSA5LTMgMyAzIDMifV1dfSk7dmFyIE5WLGRXZT1mKCgpPT57TlY9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNiJ9XSxbInBhdGgiLHtkOiJNMTIgOFYyIn1dLFsicGF0aCIse2Q6Ik00IDEySDIifV0sWyJwYXRoIix7ZDoiTTEwIDEySDgifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC0yIn1dLFsicGF0aCIse2Q6Ik0yMiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJtMTUgMTktMyAzLTMtMyJ9XSxbInBhdGgiLHtkOiJtMTUgNS0zLTMtMyAzIn1dXX0pO3ZhciBuZix1V2U9ZigoKT0+e25mPVtbInBhdGgiLHtkOiJNMTQgMjF2LTNhMiAyIDAgMCAwLTQgMHYzIn1dLFsicGF0aCIse2Q6Ik0xOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMjIgN2ExIDEgMCAwIDAtMS0xaC0yYTIgMiAwIDAgMS0xLjE0My0uMzU5TDEzLjE0MyAyLjM2YTIgMiAwIDAgMC0yLjI4Ni0uMDAxTDYuMTQzIDUuNjRBMiAyIDAgMCAxIDUgNkgzYTEgMSAwIDAgMC0xIDF2MTJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0yeiJ9XSxbInBhdGgiLHtkOiJNNiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTYgMTZoLjAxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjIifV1dfSk7dmFyIFJWLHBXZT1mKCgpPT57UlY9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjQiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjYiLHg6IjExIix5OiIxNCIscng6IjEifV1dfSk7dmFyIE9WLGZXZT1mKCgpPT57T1Y9W1sicGF0aCIse2Q6Ik0xNSA3aDJhNSA1IDAgMCAxIDAgMTBoLTJtLTYgMEg3QTUgNSAwIDAgMSA3IDdoMiJ9XV19KTt2YXIgRlYsaFdlPWYoKCk9PntGVj1bWyJwYXRoIix7ZDoibTE5IDUgMy0zIn1dLFsicGF0aCIse2Q6Im0yIDIyIDMtMyJ9XSxbInBhdGgiLHtkOiJNNi4zIDIwLjNhMi40IDIuNCAwIDAgMCAzLjQgMEwxMiAxOGwtNi02LTIuMyAyLjNhMi40IDIuNCAwIDAgMCAwIDMuNFoifV0sWyJwYXRoIix7ZDoiTTcuNSAxMy41IDEwIDExIn1dLFsicGF0aCIse2Q6Ik0xMC41IDE2LjUgMTMgMTQifV0sWyJwYXRoIix7ZDoibTEyIDYgNiA2IDIuMy0yLjNhMi40IDIuNCAwIDAgMCAwLTMuNGwtMi42LTIuNmEyLjQgMi40IDAgMCAwLTMuNCAwWiJ9XV19KTt2YXIgQlYsbVdlPWYoKCk9PntCVj1bWyJwYXRoIix7ZDoibTE4Ljg0IDEyLjI1IDEuNzItMS43MWgtLjAyYTUuMDA0IDUuMDA0IDAgMCAwLS4xMi03LjA3IDUuMDA2IDUuMDA2IDAgMCAwLTYuOTUgMGwtMS43MiAxLjcxIn1dLFsicGF0aCIse2Q6Im01LjE3IDExLjc1LTEuNzEgMS43MWE1LjAwNCA1LjAwNCAwIDAgMCAuMTIgNy4wNyA1LjAwNiA1LjAwNiAwIDAgMCA2Ljk1IDBsMS43MS0xLjcxIn1dLFsibGluZSIse3gxOiI4Iix4MjoiOCIseTE6IjIiLHkyOiI1In1dLFsibGluZSIse3gxOiIyIix4MjoiNSIseTE6IjgiLHkyOiI4In1dLFsibGluZSIse3gxOiIxNiIseDI6IjE2Iix5MToiMTkiLHkyOiIyMiJ9XSxbImxpbmUiLHt4MToiMTkiLHgyOiIyMiIseTE6IjE2Iix5MjoiMTYifV1dfSk7dmFyIEhWLGdXZT1mKCgpPT57SFY9W1sicGF0aCIse2Q6Ik0xMiAzdjEyIn1dLFsicGF0aCIse2Q6Im0xNyA4LTUtNS01IDUifV0sWyJwYXRoIix7ZDoiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQifV1dfSk7dmFyIHFWLGJXZT1mKCgpPT57cVY9W1siY2lyY2xlIix7Y3g6IjEwIixjeToiNyIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMjAiLHI6IjEifV0sWyJwYXRoIix7ZDoiTTQuNyAxOS4zIDE5IDUifV0sWyJwYXRoIix7ZDoibTIxIDMtMyAxIDIgMloifV0sWyJwYXRoIix7ZDoiTTkuMjYgNy42OCA1IDEybDIgNSJ9XSxbInBhdGgiLHtkOiJtMTAgMTQgNSAyIDMuNS0zLjUifV0sWyJwYXRoIix7ZDoibTE4IDEyIDEtMSAxIDEtMSAxWiJ9XV19KTt2YXIgVlYsdldlPWYoKCk9PntWVj1bWyJwYXRoIix7ZDoibTE2IDExIDIgMiA0LTQifV0sWyJwYXRoIix7ZDoiTTE2IDIxdi0yYTQgNCAwIDAgMC00LTRINmE0IDQgMCAwIDAtNCA0djIifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjciLHI6IjQifV1dfSk7dmFyIGpWLHhXZT1mKCgpPT57alY9W1sicGF0aCIse2Q6Ik0xMCAxNUg2YTQgNCAwIDAgMC00IDR2MiJ9XSxbInBhdGgiLHtkOiJtMTQuMzA1IDE2LjUzLjkyMy0uMzgyIn1dLFsicGF0aCIse2Q6Im0xNS4yMjggMTMuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDEyLjIyOC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAxNy43NzItLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTE5LjE0OCAxMi4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE5LjUzIDE4LjY5Ni0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxMy44NTIuOTI0LS4zODMifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxNi4xNDguOTI0LjM4MyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE1IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI3IixyOiI0In1dXX0pO3ZhciBVVix5V2U9ZigoKT0+e1VWPVtbInBhdGgiLHtkOiJNMjAgMTF2NiJ9XSxbInBhdGgiLHtkOiJNMjAgMTNoMiJ9XSxbInBhdGgiLHtkOiJNMyAyMXYtMmE0IDQgMCAwIDEgNC00aDZhNCA0IDAgMCAxIDIuMDcyLjU3OCJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjciLHI6IjQifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxOSIscjoiMiJ9XV19KTt2YXIgV1Ysd1dlPWYoKCk9PntXVj1bWyJwYXRoIix7ZDoiTTE5IDE2di0yYTIgMiAwIDAgMC00IDB2MiJ9XSxbInBhdGgiLHtkOiJNOS41IDE1SDdhNCA0IDAgMCAwLTQgNHYyIn1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiNyIscjoiNCJ9XSxbInJlY3QiLHt4OiIxMyIseToiMTYiLHdpZHRoOiI4IixoZWlnaHQ6IjUiLHJ4OiIuODk5In1dXX0pO3ZhciBHVixNV2U9ZigoKT0+e0dWPVtbInBhdGgiLHtkOiJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNyIscjoiNCJ9XSxbImxpbmUiLHt4MToiMjIiLHgyOiIxNiIseTE6IjExIix5MjoiMTEifV1dfSk7dmFyIFlWLGtXZT1mKCgpPT57WVY9W1sicGF0aCIse2Q6Ik0xMS41IDE1SDdhNCA0IDAgMCAwLTQgNHYyIn1dLFsicGF0aCIse2Q6Ik0yMS4zNzggMTYuNjI2YTEgMSAwIDAgMC0zLjAwNC0zLjAwNGwtNC4wMSA0LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI3IixyOiI0In1dXX0pO3ZhciBLVixTV2U9ZigoKT0+e0tWPVtbInBhdGgiLHtkOiJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNyIscjoiNCJ9XSxbImxpbmUiLHt4MToiMTkiLHgyOiIxOSIseTE6IjgiLHkyOiIxNCJ9XSxbImxpbmUiLHt4MToiMjIiLHgyOiIxNiIseTE6IjExIix5MjoiMTEifV1dfSk7dmFyIGxmLHpXZT1mKCgpPT57bGY9W1sicGF0aCIse2Q6Ik0yIDIxYTggOCAwIDAgMSAxMy4yOTItNiJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjgiLHI6IjUifV0sWyJwYXRoIix7ZDoibTE2IDE5IDIgMiA0LTQifV1dfSk7dmFyIGNmLENXZT1mKCgpPT57Y2Y9W1sicGF0aCIse2Q6Im0xNC4zMDUgMTkuNTMuOTIzLS4zODIifV0sWyJwYXRoIix7ZDoibTE1LjIyOCAxNi44NTItLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMTUuMjI4LS4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDIwLjc3Mi0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTkuMTQ4IDE1LjIyOC4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTkuNTMgMjEuNjk2LS4zODItLjkyNCJ9XSxbInBhdGgiLHtkOiJNMiAyMWE4IDggMCAwIDEgMTAuNDM0LTcuNjIifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxNi44NTIuOTI0LS4zODMifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxOS4xNDguOTI0LjM4MyJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjgiLHI6IjUifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgWlYsX1dlPWYoKCk9PntaVj1bWyJwYXRoIix7ZDoiTTE5IDExdjYifV0sWyJwYXRoIix7ZDoiTTE5IDEzaDIifV0sWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDEyLjg2OC02LjM0OSJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjgiLHI6IjUifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxOSIscjoiMiJ9XV19KTt2YXIgZGYsVFdlPWYoKCk9PntkZj1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDEzLjI5Mi02In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMjIgMTloLTYifV1dfSk7dmFyIFhWLExXZT1mKCgpPT57WFY9W1sicGF0aCIse2Q6Ik0yIDIxYTggOCAwIDAgMSAxMC44MjEtNy40ODcifV0sWyJwYXRoIix7ZDoiTTIxLjM3OCAxNi42MjZhMSAxIDAgMCAwLTMuMDA0LTMuMDA0bC00LjAxIDQuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjgiLHI6IjUifV1dfSk7dmFyIHVmLCRXZT1mKCgpPT57dWY9W1sicGF0aCIse2Q6Ik0yIDIxYTggOCAwIDAgMSAxMy4yOTItNiJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjgiLHI6IjUifV0sWyJwYXRoIix7ZDoiTTE5IDE2djYifV0sWyJwYXRoIix7ZDoiTTIyIDE5aC02In1dXX0pO3ZhciBRVixEV2U9ZigoKT0+e1FWPVtbImNpcmNsZSIse2N4OiIxMCIsY3k6IjgiLHI6IjUifV0sWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDEwLjQzNC03LjYyIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoibTIyIDIyLTEuOS0xLjkifV1dfSk7dmFyIHBmLEFXZT1mKCgpPT57cGY9W1sicGF0aCIse2Q6Ik0yIDIxYTggOCAwIDAgMSAxMS44NzMtNyJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjgiLHI6IjUifV0sWyJwYXRoIix7ZDoibTE3IDE3IDUgNSJ9XSxbInBhdGgiLHtkOiJtMjIgMTctNSA1In1dXX0pO3ZhciBmZixQV2U9ZigoKT0+e2ZmPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjgiLHI6IjUifV0sWyJwYXRoIix7ZDoiTTIwIDIxYTggOCAwIDAgMC0xNiAwIn1dXX0pO3ZhciBKVixFV2U9ZigoKT0+e0pWPVtbImNpcmNsZSIse2N4OiIxMCIsY3k6IjciLHI6IjQifV0sWyJwYXRoIix7ZDoiTTEwLjMgMTVIN2E0IDQgMCAwIDAtNCA0djIifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNyIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtMS45LTEuOSJ9XV19KTt2YXIgZWosSVdlPWYoKCk9Pntlaj1bWyJwYXRoIix7ZDoiTTE2LjA1MSAxMi42MTZhMSAxIDAgMCAxIDEuOTA5LjAyNGwuNzM3IDEuNDUyYTEgMSAwIDAgMCAuNzM3LjUzNWwxLjYzNC4yNTZhMSAxIDAgMCAxIC41ODggMS44MDZsLTEuMTcyIDEuMTY4YTEgMSAwIDAgMC0uMjgyLjg2NmwuMjU5IDEuNjEzYTEgMSAwIDAgMS0xLjU0MSAxLjEzNGwtMS40NjUtLjc1YTEgMSAwIDAgMC0uOTEyIDBsLTEuNDY1Ljc1YTEgMSAwIDAgMS0xLjUzOS0xLjEzM2wuMjU4LTEuNjEzYTEgMSAwIDAgMC0uMjgyLS44NjZsLTEuMTU2LTEuMTUzYTEgMSAwIDAgMSAuNTcyLTEuODIybDEuNjMzLS4yNTZhMSAxIDAgMCAwIC43MzctLjUzNXoifV0sWyJwYXRoIix7ZDoiTTggMTVIN2E0IDQgMCAwIDAtNCA0djIifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI3IixyOiI0In1dXX0pO3ZhciB0aixOV2U9ZigoKT0+e3RqPVtbInBhdGgiLHtkOiJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNyIscjoiNCJ9XSxbImxpbmUiLHt4MToiMTciLHgyOiIyMiIseTE6IjgiLHkyOiIxMyJ9XSxbImxpbmUiLHt4MToiMjIiLHgyOiIxNyIseTE6IjgiLHkyOiIxMyJ9XV19KTt2YXIgYWosUldlPWYoKCk9Pnthaj1bWyJwYXRoIix7ZDoiTTE5IDIxdi0yYTQgNCAwIDAgMC00LTRIOWE0IDQgMCAwIDAtNCA0djIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI3IixyOiI0In1dXX0pO3ZhciBoZixPV2U9ZigoKT0+e2hmPVtbInBhdGgiLHtkOiJNMTggMjFhOCA4IDAgMCAwLTE2IDAifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI4IixyOiI1In1dLFsicGF0aCIse2Q6Ik0yMiAyMGMwLTMuMzctMi02LjUtNC04YTUgNSAwIDAgMC0uNDUtOC4zIn1dXX0pO3ZhciByaixGV2U9ZigoKT0+e3JqPVtbInBhdGgiLHtkOiJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiJ9XSxbInBhdGgiLHtkOiJNMTYgMy4xMjhhNCA0IDAgMCAxIDAgNy43NDQifV0sWyJwYXRoIix7ZDoiTTIyIDIxdi0yYTQgNCAwIDAgMC0zLTMuODcifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjciLHI6IjQifV1dfSk7dmFyIG1mLEJXZT1mKCgpPT57bWY9W1sicGF0aCIse2Q6Im0xNiAyLTIuMyAyLjNhMyAzIDAgMCAwIDAgNC4ybDEuOCAxLjhhMyAzIDAgMCAwIDQuMiAwTDIyIDgifV0sWyJwYXRoIix7ZDoiTTE1IDE1IDMuMyAzLjNhNC4yIDQuMiAwIDAgMCAwIDZsNy4zIDcuM2MuNy43IDIgLjcgMi44IDBMMTUgMTVabTAgMCA3IDcifV0sWyJwYXRoIix7ZDoibTIuMSAyMS44IDYuNC02LjMifV0sWyJwYXRoIix7ZDoibTE5IDUtNyA3In1dXX0pO3ZhciBnZixIV2U9ZigoKT0+e2dmPVtbInBhdGgiLHtkOiJNMyAydjdjMCAxLjEuOSAyIDIgMmg0YTIgMiAwIDAgMCAyLTJWMiJ9XSxbInBhdGgiLHtkOiJNNyAydjIwIn1dLFsicGF0aCIse2Q6Ik0yMSAxNVYyYTUgNSAwIDAgMC01IDV2NmMwIDEuMS45IDIgMiAyaDNabTAgMHY3In1dXX0pO3ZhciBzaixxV2U9ZigoKT0+e3NqPVtbInBhdGgiLHtkOiJNMTMgNnY1YTEgMSAwIDAgMCAxIDFoNi4xMDJhMSAxIDAgMCAxIC43MTIuMjk4bC44OTguOTFhMSAxIDAgMCAxIC4yODguNzAyVjE3YTEgMSAwIDAgMS0xIDFoLTMifV0sWyJwYXRoIix7ZDoiTTUgMThIM2ExIDEgMCAwIDEtMS0xVjhhMiAyIDAgMCAxIDItMmgxMmMxLjEgMCAyLjEuOCAyLjQgMS44bDEuMTc2IDQuMiJ9XSxbInBhdGgiLHtkOiJNOSAxOGg1In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTgiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE4IixyOiIyIn1dXX0pO3ZhciBpaixWV2U9ZigoKT0+e2lqPVtbInBhdGgiLHtkOiJNMTIgMnYyMCJ9XSxbInBhdGgiLHtkOiJNMiA1aDIwIn1dLFsicGF0aCIse2Q6Ik0zIDN2MiJ9XSxbInBhdGgiLHtkOiJNNyAzdjIifV0sWyJwYXRoIix7ZDoiTTE3IDN2MiJ9XSxbInBhdGgiLHtkOiJNMjEgM3YyIn1dLFsicGF0aCIse2Q6Im0xOSA1LTcgNy03LTcifV1dfSk7dmFyIG9qLGpXZT1mKCgpPT57b2o9W1sicGF0aCIse2Q6Ik04IDIxcy00LTMtNC05IDQtOSA0LTkifV0sWyJwYXRoIix7ZDoiTTE2IDNzNCAzIDQgOS00IDktNCA5In1dLFsibGluZSIse3gxOiIxNSIseDI6IjkiLHkxOiI5Iix5MjoiMTUifV0sWyJsaW5lIix7eDE6IjkiLHgyOiIxNSIseTE6IjkiLHkyOiIxNSJ9XV19KTt2YXIgbmosVVdlPWYoKCk9Pntuaj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJwYXRoIix7ZDoibTcuOSA3LjkgMi43IDIuNyJ9XSxbImNpcmNsZSIse2N4OiIxNi41IixjeToiNy41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsicGF0aCIse2Q6Im0xMy40IDEwLjYgMi43LTIuNyJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiIxNi41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsicGF0aCIse2Q6Im03LjkgMTYuMSAyLjctMi43In1dLFsiY2lyY2xlIix7Y3g6IjE2LjUiLGN5OiIxNi41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsicGF0aCIse2Q6Im0xMy40IDEzLjQgMi43IDIuNyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dXX0pO3ZhciBsaixXV2U9ZigoKT0+e2xqPVtbInBhdGgiLHtkOiJNMTkuNSA3YTI0IDI0IDAgMCAxIDAgMTAifV0sWyJwYXRoIix7ZDoiTTQuNSA3YTI0IDI0IDAgMCAwIDAgMTAifV0sWyJwYXRoIix7ZDoiTTcgMTkuNWEyNCAyNCAwIDAgMCAxMCAwIn1dLFsicGF0aCIse2Q6Ik03IDQuNWEyNCAyNCAwIDAgMSAxMCAwIn1dLFsicmVjdCIse3g6IjE3Iix5OiIxNyIsd2lkdGg6IjUiLGhlaWdodDoiNSIscng6IjEifV0sWyJyZWN0Iix7eDoiMTciLHk6IjIiLHdpZHRoOiI1IixoZWlnaHQ6IjUiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjIiLHk6IjE3Iix3aWR0aDoiNSIsaGVpZ2h0OiI1IixyeDoiMSJ9XSxbInJlY3QiLHt4OiIyIix5OiIyIix3aWR0aDoiNSIsaGVpZ2h0OiI1IixyeDoiMSJ9XV19KTt2YXIgY2osR1dlPWYoKCk9Pntjaj1bWyJwYXRoIix7ZDoiTTE2IDhxNiAwIDYtNi02IDAtNiA2In1dLFsicGF0aCIse2Q6Ik0xNy40MSAzLjU5YTEwIDEwIDAgMSAwIDMgMyJ9XSxbInBhdGgiLHtkOiJNMiAyYTI2LjYgMjYuNiAwIDAgMSAxMCAyMGMuOS02LjgyIDEuNS05LjUgNC0xNCJ9XV19KTt2YXIgZGosWVdlPWYoKCk9Pntkaj1bWyJwYXRoIix7ZDoiTTE4IDExYy0xLjUgMC0yLjUuNS0zIDIifV0sWyJwYXRoIix7ZDoiTTQgNmEyIDIgMCAwIDAtMiAydjRhNSA1IDAgMCAwIDUgNSA4IDggMCAwIDEgNSAyIDggOCAwIDAgMSA1LTIgNSA1IDAgMCAwIDUtNVY4YTIgMiAwIDAgMC0yLTJoLTNhOCA4IDAgMCAwLTUgMiA4IDggMCAwIDAtNS0yeiJ9XSxbInBhdGgiLHtkOiJNNiAxMWMxLjUgMCAyLjUuNSAzIDIifV1dfSk7dmFyIHVqLEtXZT1mKCgpPT57dWo9W1sicGF0aCIse2Q6Ik0xMCAyMGg0In1dLFsicGF0aCIse2Q6Ik0xMiAxNnY2In1dLFsicGF0aCIse2Q6Ik0xNyAyaDR2NCJ9XSxbInBhdGgiLHtkOiJtMjEgMi01LjQ2IDUuNDYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMSIscjoiNSJ9XV19KTt2YXIgcGosWldlPWYoKCk9Pntwaj1bWyJwYXRoIix7ZDoiTTEyIDE1djcifV0sWyJwYXRoIix7ZDoiTTkgMTloNiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjkiLHI6IjYifV1dfSk7dmFyIGZqLFhXZT1mKCgpPT57Zmo9W1sicGF0aCIse2Q6Im0yIDggMiAyLTIgMiAyIDItMiAyIn1dLFsicGF0aCIse2Q6Im0yMiA4LTIgMiAyIDItMiAyIDIgMiJ9XSxbInBhdGgiLHtkOiJNOCA4djEwYzAgLjU1LjQ1IDEgMSAxaDZjLjU1IDAgMS0uNDUgMS0xdi0yIn1dLFsicGF0aCIse2Q6Ik0xNiAxMC4zNFY2YzAtLjU1LS40NS0xLTEtMWgtNC4zNCJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBoaixRV2U9ZigoKT0+e2hqPVtbInBhdGgiLHtkOiJtMiA4IDIgMi0yIDIgMiAyLTIgMiJ9XSxbInBhdGgiLHtkOiJtMjIgOC0yIDIgMiAyLTIgMiAyIDIifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiMTQiLHg6IjgiLHk6IjUiLHJ4OiIxIn1dXX0pO3ZhciBtaixKV2U9ZigoKT0+e21qPVtbInBhdGgiLHtkOiJNMTAuNjYgNkgxNGEyIDIgMCAwIDEgMiAydjIuNWw1LjI0OC0zLjA2MkEuNS41IDAgMCAxIDIyIDcuODd2OC4xOTYifV0sWyJwYXRoIix7ZDoiTTE2IDE2YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIGdqLGVHZT1mKCgpPT57Z2o9W1sicGF0aCIse2Q6Im0xNiAxMyA1LjIyMyAzLjQ4MmEuNS41IDAgMCAwIC43NzctLjQxNlY3Ljg3YS41LjUgMCAwIDAtLjc1Mi0uNDMyTDE2IDEwLjUifV0sWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjE0IixoZWlnaHQ6IjEyIixyeDoiMiJ9XV19KTt2YXIgYmosdEdlPWYoKCk9Pntiaj1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiA4aDIwIn1dLFsiY2lyY2xlIix7Y3g6IjgiLGN5OiIxNCIscjoiMiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTQiLHI6IjIifV1dfSk7dmFyIHZqLGFHZT1mKCgpPT57dmo9W1sicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik0yMSA3VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dLFsicGF0aCIse2Q6Ik0xOC45NDQgMTIuMzNhMSAxIDAgMCAwIDAtLjY2IDcuNSA3LjUgMCAwIDAtMTMuODg4IDAgMSAxIDAgMCAwIDAgLjY2IDcuNSA3LjUgMCAwIDAgMTMuODg4IDAifV1dfSk7dmFyIHhqLHJHZT1mKCgpPT57eGo9W1sicGF0aCIse2Q6Ik0xMS4xIDcuMWExNi41NSAxNi41NSAwIDAgMSAxMC45IDQifV0sWyJwYXRoIix7ZDoiTTEyIDEyYTEyLjYgMTIuNiAwIDAgMS04LjcgNSJ9XSxbInBhdGgiLHtkOiJNMTYuOCAxMy42YTE2LjU1IDE2LjU1IDAgMCAxLTkgNy41In1dLFsicGF0aCIse2Q6Ik0yMC43IDE3YTEyLjggMTIuOCAwIDAgMC04LjctNSAxMy4zIDEzLjMgMCAwIDEgMC0xMCJ9XSxbInBhdGgiLHtkOiJNNi4zIDMuOGExNi41NSAxNi41NSAwIDAgMCAxLjkgMTEuNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV19KTt2YXIgeWosc0dlPWYoKCk9Pnt5aj1bWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjEyIixyOiI0In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTIiLHI6IjQifV0sWyJsaW5lIix7eDE6IjYiLHgyOiIxOCIseTE6IjE2Iix5MjoiMTYifV1dfSk7dmFyIHdqLGlHZT1mKCgpPT57d2o9W1sicGF0aCIse2Q6Ik0xMSA0LjcwMmEuNzA1LjcwNSAwIDAgMC0xLjIwMy0uNDk4TDYuNDEzIDcuNTg3QTEuNCAxLjQgMCAwIDEgNS40MTYgOEgzYTEgMSAwIDAgMC0xIDF2NmExIDEgMCAwIDAgMSAxaDIuNDE2YTEuNCAxLjQgMCAwIDEgLjk5Ny40MTNsMy4zODMgMy4zODRBLjcwNS43MDUgMCAwIDAgMTEgMTkuMjk4eiJ9XSxbInBhdGgiLHtkOiJNMTYgOWE1IDUgMCAwIDEgMCA2In1dXX0pO3ZhciBNaixvR2U9ZigoKT0+e01qPVtbInBhdGgiLHtkOiJNMTEgNC43MDJhLjcwNS43MDUgMCAwIDAtMS4yMDMtLjQ5OEw2LjQxMyA3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OHoifV0sWyJwYXRoIix7ZDoiTTE2IDlhNSA1IDAgMCAxIDAgNiJ9XSxbInBhdGgiLHtkOiJNMTkuMzY0IDE4LjM2NGE5IDkgMCAwIDAgMC0xMi43MjgifV1dfSk7dmFyIGtqLG5HZT1mKCgpPT57a2o9W1sicGF0aCIse2Q6Ik0xNiA5YTUgNSAwIDAgMSAuOTUgMi4yOTMifV0sWyJwYXRoIix7ZDoiTTE5LjM2NCA1LjYzNmE5IDkgMCAwIDEgMS44ODkgOS45NiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Im03IDctLjU4Ny41ODdBMS40IDEuNCAwIDAgMSA1LjQxNiA4SDNhMSAxIDAgMCAwLTEgMXY2YTEgMSAwIDAgMCAxIDFoMi40MTZhMS40IDEuNCAwIDAgMSAuOTk3LjQxM2wzLjM4MyAzLjM4NEEuNzA1LjcwNSAwIDAgMCAxMSAxOS4yOThWMTEifV0sWyJwYXRoIix7ZDoiTTkuODI4IDQuMTcyQS42ODYuNjg2IDAgMCAxIDExIDQuNjU3di42ODYifV1dfSk7dmFyIFNqLGxHZT1mKCgpPT57U2o9W1sicGF0aCIse2Q6Ik0xMSA0LjcwMmEuNzA1LjcwNSAwIDAgMC0xLjIwMy0uNDk4TDYuNDEzIDcuNTg3QTEuNCAxLjQgMCAwIDEgNS40MTYgOEgzYTEgMSAwIDAgMC0xIDF2NmExIDEgMCAwIDAgMSAxaDIuNDE2YTEuNCAxLjQgMCAwIDEgLjk5Ny40MTNsMy4zODMgMy4zODRBLjcwNS43MDUgMCAwIDAgMTEgMTkuMjk4eiJ9XSxbImxpbmUiLHt4MToiMjIiLHgyOiIxNiIseTE6IjkiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiMTYiLHgyOiIyMiIseTE6IjkiLHkyOiIxNSJ9XV19KTt2YXIgemosY0dlPWYoKCk9Pnt6aj1bWyJwYXRoIix7ZDoiTTExIDQuNzAyYS43MDUuNzA1IDAgMCAwLTEuMjAzLS40OThMNi40MTMgNy41ODdBMS40IDEuNCAwIDAgMSA1LjQxNiA4SDNhMSAxIDAgMCAwLTEgMXY2YTEgMSAwIDAgMCAxIDFoMi40MTZhMS40IDEuNCAwIDAgMSAuOTk3LjQxM2wzLjM4MyAzLjM4NEEuNzA1LjcwNSAwIDAgMCAxMSAxOS4yOTh6In1dXX0pO3ZhciBDaixkR2U9ZigoKT0+e0NqPVtbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00In1dLFsicGF0aCIse2Q6Ik01IDdjMC0xLjEuOS0yIDItMmgxMGEyIDIgMCAwIDEgMiAydjEySDVWN1oifV0sWyJwYXRoIix7ZDoiTTIyIDE5SDIifV1dfSk7dmFyIF9qLHVHZT1mKCgpPT57X2o9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgOWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTMgMTFoM2MuOCAwIDEuNi4zIDIuMS45bDEuMS45YzEuNiAxLjYgNC4xIDEuNiA1LjcgMGwxLjEtLjljLjUtLjUgMS4zLS45IDIuMS0uOUgyMSJ9XV19KTt2YXIgYmYscEdlPWYoKCk9PntiZj1bWyJwYXRoIix7ZDoiTTE3IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNNyA3aDEyYTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0In1dXX0pO3ZhciBUaixmR2U9ZigoKT0+e1RqPVtbInBhdGgiLHtkOiJNMTkgN1Y0YTEgMSAwIDAgMC0xLTFINWEyIDIgMCAwIDAgMCA0aDE1YTEgMSAwIDAgMSAxIDF2NGgtM2EyIDIgMCAwIDAgMCA0aDNhMSAxIDAgMCAwIDEtMXYtMmExIDEgMCAwIDAtMS0xIn1dLFsicGF0aCIse2Q6Ik0zIDV2MTRhMiAyIDAgMCAwIDIgMmgxNWExIDEgMCAwIDAgMS0xdi00In1dXX0pO3ZhciBMaixoR2U9ZigoKT0+e0xqPVtbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dLFsicGF0aCIse2Q6Im05IDE3IDYuMS02LjFhMiAyIDAgMCAxIDIuODEuMDFMMjIgMTUifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjkiLHI6IjIifV0sWyJyZWN0Iix7eDoiMiIseToiMyIsd2lkdGg6IjIwIixoZWlnaHQ6IjE0IixyeDoiMiJ9XV19KTt2YXIgdmYsbUdlPWYoKCk9Pnt2Zj1bWyJwYXRoIix7ZDoibTIxLjY0IDMuNjQtMS4yOC0xLjI4YTEuMjEgMS4yMSAwIDAgMC0xLjcyIDBMMi4zNiAxOC42NGExLjIxIDEuMjEgMCAwIDAgMCAxLjcybDEuMjggMS4yOGExLjIgMS4yIDAgMCAwIDEuNzIgMEwyMS42NCA1LjM2YTEuMiAxLjIgMCAwIDAgMC0xLjcyIn1dLFsicGF0aCIse2Q6Im0xNCA3IDMgMyJ9XSxbInBhdGgiLHtkOiJNNSA2djQifV0sWyJwYXRoIix7ZDoiTTE5IDE0djQifV0sWyJwYXRoIix7ZDoiTTEwIDJ2MiJ9XSxbInBhdGgiLHtkOiJNNyA4SDMifV0sWyJwYXRoIix7ZDoiTTIxIDE2aC00In1dLFsicGF0aCIse2Q6Ik0xMSAzSDkifV1dfSk7dmFyICRqLGdHZT1mKCgpPT57JGo9W1sicGF0aCIse2Q6Ik0xNSA0VjIifV0sWyJwYXRoIix7ZDoiTTE1IDE2di0yIn1dLFsicGF0aCIse2Q6Ik04IDloMiJ9XSxbInBhdGgiLHtkOiJNMjAgOWgyIn1dLFsicGF0aCIse2Q6Ik0xNy44IDExLjggMTkgMTMifV0sWyJwYXRoIix7ZDoiTTE1IDloLjAxIn1dLFsicGF0aCIse2Q6Ik0xNy44IDYuMiAxOSA1In1dLFsicGF0aCIse2Q6Im0zIDIxIDktOSJ9XSxbInBhdGgiLHtkOiJNMTIuMiA2LjIgMTEgNSJ9XV19KTt2YXIgRGosYkdlPWYoKCk9PntEaj1bWyJwYXRoIix7ZDoiTTE4IDIxVjEwYTEgMSAwIDAgMC0xLTFIN2ExIDEgMCAwIDAtMSAxdjExIn1dLFsicGF0aCIse2Q6Ik0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAxLjEzMi0xLjgwM2w3Ljk1LTMuOTc0YTIgMiAwIDAgMSAxLjgzNyAwbDcuOTQ4IDMuOTc0QTIgMiAwIDAgMSAyMiA4eiJ9XSxbInBhdGgiLHtkOiJNNiAxM2gxMiJ9XSxbInBhdGgiLHtkOiJNNiAxN2gxMiJ9XV19KTt2YXIgQWosdkdlPWYoKCk9PntBaj1bWyJwYXRoIix7ZDoiTTEyIDEwdjIuMmwxLjYgMSJ9XSxbInBhdGgiLHtkOiJtMTYuMTMgNy42Ni0uODEtNC4wNWEyIDIgMCAwIDAtMi0xLjYxaC0yLjY4YTIgMiAwIDAgMC0yIDEuNjFsLS43OCA0LjA1In1dLFsicGF0aCIse2Q6Im03Ljg4IDE2LjM2LjggNGEyIDIgMCAwIDAgMiAxLjYxaDIuNzJhMiAyIDAgMCAwIDItMS42MWwuODEtNC4wNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI2In1dXX0pO3ZhciBQaix4R2U9ZigoKT0+e1BqPVtbInBhdGgiLHtkOiJNMyA2aDMifV0sWyJwYXRoIix7ZDoiTTE3IDZoLjAxIn1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIyMCIseDoiMyIseToiMiIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMTIgMThhMi41IDIuNSAwIDAgMCAwLTUgMi41IDIuNSAwIDAgMSAwLTUifV1dfSk7dmFyIEVqLHlHZT1mKCgpPT57RWo9W1sicGF0aCIse2Q6Ik0xMiAxMEwxMiAyIn1dLFsicGF0aCIse2Q6Ik0xNiA2TDEyIDEwTDggNiJ9XSxbInBhdGgiLHtkOiJNMiAxNUMyLjYgMTUuNSAzLjIgMTYgNC41IDE2QzcgMTYgNyAxNCA5LjUgMTRDMTIuMSAxNCAxMS45IDE2IDE0LjUgMTZDMTcgMTYgMTcgMTQgMTkuNSAxNEMyMC44IDE0IDIxLjQgMTQuNSAyMiAxNSJ9XSxbInBhdGgiLHtkOiJNMiAyMUMyLjYgMjEuNSAzLjIgMjIgNC41IDIyQzcgMjIgNyAyMCA5LjUgMjBDMTIuMSAyMCAxMS45IDIyIDE0LjUgMjJDMTcgMjIgMTcgMjAgMTkuNSAyMEMyMC44IDIwIDIxLjQgMjAuNSAyMiAyMSJ9XV19KTt2YXIgSWosd0dlPWYoKCk9PntJaj1bWyJwYXRoIix7ZDoiTTEyIDJ2OCJ9XSxbInBhdGgiLHtkOiJNMiAxNWMuNi41IDEuMiAxIDIuNSAxIDIuNSAwIDIuNS0yIDUtMiAyLjYgMCAyLjQgMiA1IDIgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIn1dLFsicGF0aCIse2Q6Ik0yIDIxYy42LjUgMS4yIDEgMi41IDEgMi41IDAgMi41LTIgNS0yIDIuNiAwIDIuNCAyIDUgMiAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEifV0sWyJwYXRoIix7ZDoibTggNiA0LTQgNCA0In1dXX0pO3ZhciB4ZixNR2U9ZigoKT0+e3hmPVtbInBhdGgiLHtkOiJNMiAxMnEyLjUgMiA1IDB0NSAwIDUgMCA1IDAifV0sWyJwYXRoIix7ZDoiTTIgMTlxMi41IDIgNSAwdDUgMCA1IDAgNSAwIn1dLFsicGF0aCIse2Q6Ik0yIDVxMi41IDIgNSAwdDUgMCA1IDAgNSAwIn1dXX0pO3ZhciBOaixrR2U9ZigoKT0+e05qPVtbInBhdGgiLHtkOiJNMTkgNWEyIDIgMCAwIDAtMiAydjExIn1dLFsicGF0aCIse2Q6Ik0yIDE4Yy42LjUgMS4yIDEgMi41IDEgMi41IDAgMi41LTIgNS0yIDIuNiAwIDIuNCAyIDUgMiAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEifV0sWyJwYXRoIix7ZDoiTTcgMTNoMTAifV0sWyJwYXRoIix7ZDoiTTcgOWgxMCJ9XSxbInBhdGgiLHtkOiJNOSA1YTIgMiAwIDAgMC0yIDJ2MTEifV1dfSk7dmFyIFJqLFNHZT1mKCgpPT57Umo9W1sicGF0aCIse2Q6Ik0xMiAycTIgMi41IDAgNXQwIDUgMCA1IDAgNSJ9XSxbInBhdGgiLHtkOiJNMTkgMnEyIDIuNSAwIDV0MCA1IDAgNSAwIDUifV0sWyJwYXRoIix7ZDoiTTUgMnEyIDIuNSAwIDV0MCA1IDAgNSAwIDUifV1dfSk7dmFyIE9qLHpHZT1mKCgpPT57T2o9W1sicGF0aCIse2Q6Im0xMC41ODYgNS40MTQtNS4xNzIgNS4xNzIifV0sWyJwYXRoIix7ZDoibTE4LjU4NiAxMy40MTQtNS4xNzIgNS4xNzIifV0sWyJwYXRoIix7ZDoiTTYgMTJoMTIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIyMCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjQiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxMiIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMTIiLHI6IjIifV1dfSk7dmFyIEZqLENHZT1mKCgpPT57Rmo9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNyAyMmgxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMjJ2LTQifV1dfSk7dmFyIEJqLF9HZT1mKCgpPT57Qmo9W1sicGF0aCIse2Q6Ik0xNyAxN2gtNWMtMS4wOS0uMDItMS45NC45Mi0yLjUgMS45QTMgMyAwIDEgMSAyLjU3IDE1In1dLFsicGF0aCIse2Q6Ik05IDMuNGE0IDQgMCAwIDEgNi41Mi42NiJ9XSxbInBhdGgiLHtkOiJtNiAxNyAzLjEtNS44YTIuNSAyLjUgMCAwIDAgLjA1Ny0yLjA1In1dLFsicGF0aCIse2Q6Ik0yMC4zIDIwLjNhNCA0IDAgMCAxLTIuMy43In1dLFsicGF0aCIse2Q6Ik0xOC42IDEzYTQgNCAwIDAgMSAzLjM1NyAzLjQxNCJ9XSxbInBhdGgiLHtkOiJtMTIgNiAuNiAxIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIEhqLFRHZT1mKCgpPT57SGo9W1sicGF0aCIse2Q6Ik0xOCAxNi45OGgtNS45OWMtMS4xIDAtMS45NS45NC0yLjQ4IDEuOUE0IDQgMCAwIDEgMiAxN2MuMDEtLjcuMi0xLjQuNTctMiJ9XSxbInBhdGgiLHtkOiJtNiAxNyAzLjEzLTUuNzhjLjUzLS45Ny4xLTIuMTgtLjUtMy4xYTQgNCAwIDEgMSA2Ljg5LTQuMDYifV0sWyJwYXRoIix7ZDoibTEyIDYgMy4xMyA1LjczQzE1LjY2IDEyLjcgMTYuOSAxMyAxOCAxM2E0IDQgMCAwIDEgMCA4In1dXX0pO3ZhciBxaixMR2U9ZigoKT0+e3FqPVtbInBhdGgiLHtkOiJNNi41IDhhMiAyIDAgMCAwLTEuOTA2IDEuNDZMMi4xIDE4LjVBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuOTI1LTIuNTRMMTkuNCA5LjVBMiAyIDAgMCAwIDE3LjQ4IDh6In1dLFsicGF0aCIse2Q6Ik03Ljk5OSAxNWEyLjUgMi41IDAgMCAxIDQgMCAyLjUgMi41IDAgMCAwIDQgMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjUiLHI6IjMifV1dfSk7dmFyIFZqLCRHZT1mKCgpPT57Vmo9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiNSIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNi41IDhhMiAyIDAgMCAwLTEuOTA1IDEuNDZMMi4xIDE4LjVBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuOTI1LTIuNTRMMTkuNCA5LjVBMiAyIDAgMCAwIDE3LjQ4IDhaIn1dXX0pO3ZhciBqaixER2U9ZigoKT0+e2pqPVtbInBhdGgiLHtkOiJtMiAyMiAxMC0xMCJ9XSxbInBhdGgiLHtkOiJtMTYgOC0xLjE3IDEuMTcifV0sWyJwYXRoIix7ZDoiTTMuNDcgMTIuNTMgNSAxMWwxLjUzIDEuNTNhMy41IDMuNSAwIDAgMSAwIDQuOTRMNSAxOWwtMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgMC00Ljk0WiJ9XSxbInBhdGgiLHtkOiJtOCA4LS41My41M2EzLjUgMy41IDAgMCAwIDAgNC45NEw5IDE1bDEuNTMtMS41M2MuNTUtLjU1Ljg4LTEuMjUuOTgtMS45NyJ9XSxbInBhdGgiLHtkOiJNMTAuOTEgNS4yNmMuMTUtLjI2LjM0LS41MS41Ni0uNzNMMTMgM2wxLjUzIDEuNTNhMy41IDMuNSAwIDAgMSAuMjggNC42MiJ9XSxbInBhdGgiLHtkOiJNMjAgMmgydjJhNCA0IDAgMCAxLTQgNGgtMlY2YTQgNCAwIDAgMSA0LTRaIn1dLFsicGF0aCIse2Q6Ik0xMS40NyAxNy40NyAxMyAxOWwtMS41MyAxLjUzYTMuNSAzLjUgMCAwIDEtNC45NCAwTDUgMTlsMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgNC45NCAwWiJ9XSxbInBhdGgiLHtkOiJtMTYgMTYtLjUzLjUzYTMuNSAzLjUgMCAwIDEtNC45NCAwTDkgMTVsMS41My0xLjUzYTMuNDkgMy40OSAwIDAgMSAxLjk3LS45OCJ9XSxbInBhdGgiLHtkOiJNMTguNzQgMTMuMDljLjI2LS4xNS41MS0uMzQuNzMtLjU2TDIxIDExbC0xLjUzLTEuNTNhMy41IDMuNSAwIDAgMC00LjYyLS4yOCJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBVaixBR2U9ZigoKT0+e1VqPVtbInBhdGgiLHtkOiJNMiAyMiAxNiA4In1dLFsicGF0aCIse2Q6Ik0zLjQ3IDEyLjUzIDUgMTFsMS41MyAxLjUzYTMuNSAzLjUgMCAwIDEgMCA0Ljk0TDUgMTlsLTEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDAtNC45NFoifV0sWyJwYXRoIix7ZDoiTTcuNDcgOC41MyA5IDdsMS41MyAxLjUzYTMuNSAzLjUgMCAwIDEgMCA0Ljk0TDkgMTVsLTEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDAtNC45NFoifV0sWyJwYXRoIix7ZDoiTTExLjQ3IDQuNTMgMTMgM2wxLjUzIDEuNTNhMy41IDMuNSAwIDAgMSAwIDQuOTRMMTMgMTFsLTEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDAtNC45NFoifV0sWyJwYXRoIix7ZDoiTTIwIDJoMnYyYTQgNCAwIDAgMS00IDRoLTJWNmE0IDQgMCAwIDEgNC00WiJ9XSxbInBhdGgiLHtkOiJNMTEuNDcgMTcuNDcgMTMgMTlsLTEuNTMgMS41M2EzLjUgMy41IDAgMCAxLTQuOTQgMEw1IDE5bDEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDQuOTQgMFoifV0sWyJwYXRoIix7ZDoiTTE1LjQ3IDEzLjQ3IDE3IDE1bC0xLjUzIDEuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMOSAxNWwxLjUzLTEuNTNhMy41IDMuNSAwIDAgMSA0Ljk0IDBaIn1dLFsicGF0aCIse2Q6Ik0xOS40NyA5LjQ3IDIxIDExbC0xLjUzIDEuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMMTMgMTFsMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgNC45NCAwWiJ9XV19KTt2YXIgV2osUEdlPWYoKCk9PntXaj1bWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMCA5djYifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxMiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTQgN3Y4In1dLFsicGF0aCIse2Q6Ik0yMiAxN3YxYzAgLjUtLjUgMS0xIDFIM2MtLjUgMC0xLS41LTEtMXYtMSJ9XV19KTt2YXIgR2osRUdlPWYoKCk9PntHaj1bWyJwYXRoIix7ZDoibTE0LjMwNSAxOS41My45MjMtLjM4MiJ9XSxbInBhdGgiLHtkOiJtMTUuMjI4IDE2Ljg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAxNS4yMjgtLjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMjAuNzcyLS4zODMuOTI0In1dLFsicGF0aCIse2Q6Im0xOS4xNDggMTUuMjI4LjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xOS41MyAyMS42OTYtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Ik0yIDcuODJhMTUgMTUgMCAwIDEgMjAgMCJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE2Ljg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE5LjE0OC45MjQuMzgzIn1dLFsicGF0aCIse2Q6Ik01IDExLjg1OGExMCAxMCAwIDAgMSAxMS41LTEuNzg1In1dLFsicGF0aCIse2Q6Ik04LjUgMTUuNDI5YTUgNSAwIDAgMSAyLjQxMy0xLjMxIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIFlqLElHZT1mKCgpPT57WWo9W1sicGF0aCIse2Q6Ik0xMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTUgMTIuODU5YTEwIDEwIDAgMCAxIDE0IDAifV0sWyJwYXRoIix7ZDoiTTguNSAxNi40MjlhNSA1IDAgMCAxIDcgMCJ9XV19KTt2YXIgS2osTkdlPWYoKCk9PntLaj1bWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWE1IDUgMCAwIDEgNyAwIn1dXX0pO3ZhciBaaixSR2U9ZigoKT0+e1pqPVtbInBhdGgiLHtkOiJNMTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik04LjUgMTYuNDI5YTUgNSAwIDAgMSA3IDAifV0sWyJwYXRoIix7ZDoiTTUgMTIuODU5YTEwIDEwIDAgMCAxIDUuMTctMi42OSJ9XSxbInBhdGgiLHtkOiJNMTkgMTIuODU5YTEwIDEwIDAgMCAwLTIuMDA3LTEuNTIzIn1dLFsicGF0aCIse2Q6Ik0yIDguODJhMTUgMTUgMCAwIDEgNC4xNzctMi42NDMifV0sWyJwYXRoIix7ZDoiTTIyIDguODJhMTUgMTUgMCAwIDAtMTEuMjg4LTMuNzY0In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIFhqLE9HZT1mKCgpPT57WGo9W1sicGF0aCIse2Q6Ik0yIDguODJhMTUgMTUgMCAwIDEgMjAgMCJ9XSxbInBhdGgiLHtkOiJNMjEuMzc4IDE2LjYyNmExIDEgMCAwIDAtMy4wMDQtMy4wMDRsLTQuMDEgNC4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6In1dLFsicGF0aCIse2Q6Ik01IDEyLjg1OWExMCAxMCAwIDAgMSAxMC41LTIuMjIyIn1dLFsicGF0aCIse2Q6Ik04LjUgMTYuNDI5YTUgNSAwIDAgMSAzLTEuNDA2In1dXX0pO3ZhciBRaixGR2U9ZigoKT0+e1FqPVtbInBhdGgiLHtkOiJNMTEuOTY1IDEwLjEwNXY0TDEzLjUgMTIuNWE1IDUgMCAwIDEgOCAxLjUifV0sWyJwYXRoIix7ZDoiTTExLjk2NSAxNC4xMDVoNCJ9XSxbInBhdGgiLHtkOiJNMTcuOTY1IDE4LjEwNWg0TDIwLjQzIDE5LjcxYTUgNSAwIDAgMS04LTEuNSJ9XSxbInBhdGgiLHtkOiJNMiA4LjgyYTE1IDE1IDAgMCAxIDIwIDAifV0sWyJwYXRoIix7ZDoiTTIxLjk2NSAyMi4xMDV2LTQifV0sWyJwYXRoIix7ZDoiTTUgMTIuODZhMTAgMTAgMCAwIDEgMy0yLjAzMiJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWguMDEifV1dfSk7dmFyIEpqLEJHZT1mKCgpPT57Smo9W1sicGF0aCIse2Q6Ik0xMiAyMGguMDEifV1dfSk7dmFyIGVVLEhHZT1mKCgpPT57ZVU9W1sicGF0aCIse2Q6Ik0xMCAydjgifV0sWyJwYXRoIix7ZDoiTTEyLjggMjEuNkEyIDIgMCAxIDAgMTQgMThIMiJ9XSxbInBhdGgiLHtkOiJNMTcuNSAxMGEyLjUgMi41IDAgMSAxIDIgNEgyIn1dLFsicGF0aCIse2Q6Im02IDYgNCA0IDQtNCJ9XV19KTt2YXIgdFUscUdlPWYoKCk9Pnt0VT1bWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMiA4LjgyYTE1IDE1IDAgMCAxIDIwIDAifV0sWyJwYXRoIix7ZDoiTTUgMTIuODU5YTEwIDEwIDAgMCAxIDE0IDAifV0sWyJwYXRoIix7ZDoiTTguNSAxNi40MjlhNSA1IDAgMCAxIDcgMCJ9XV19KTt2YXIgYVUsVkdlPWYoKCk9PnthVT1bWyJwYXRoIix7ZDoiTTEyLjggMTkuNkEyIDIgMCAxIDAgMTQgMTZIMiJ9XSxbInBhdGgiLHtkOiJNMTcuNSA4YTIuNSAyLjUgMCAxIDEgMiA0SDIifV0sWyJwYXRoIix7ZDoiTTkuOCA0LjRBMiAyIDAgMSAxIDExIDhIMiJ9XV19KTt2YXIgclUsakdlPWYoKCk9PntyVT1bWyJwYXRoIix7ZDoiTTggMjJoOCJ9XSxbInBhdGgiLHtkOiJNNyAxMGgzbTcgMGgtMS4zNDMifV0sWyJwYXRoIix7ZDoiTTEyIDE1djcifV0sWyJwYXRoIix7ZDoiTTcuMzA3IDcuMzA3QTEyLjMzIDEyLjMzIDAgMCAwIDcgMTBhNSA1IDAgMCAwIDcuMzkxIDQuMzkxTTguNjM4IDIuOTgxQzguNzUgMi42NjggOC44NzIgMi4zNCA5IDJoNmMxLjUgNCAyIDYgMiA4IDAgLjQwNy0uMDUuODA5LS4xNDUgMS4xOTgifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgc1UsVUdlPWYoKCk9PntzVT1bWyJwYXRoIix7ZDoibTE5IDEyLTEuNSAzIn1dLFsicGF0aCIse2Q6Ik0xOS42MyAxOC44MSAyMiAyMCJ9XSxbInBhdGgiLHtkOiJNNi40NyA4LjIzYTEuNjggMS42OCAwIDAgMSAyLjQ0IDEuOTNsLS42NCAyLjA4YTYuNzYgNi43NiAwIDAgMCAxMC4xNiA3LjY3bC40Mi0uMjdhMSAxIDAgMSAwLTIuNzMtNC4yMWwtLjQyLjI3YTEuNzYgMS43NiAwIDAgMS0yLjYzLTEuOTlsLjY0LTIuMDhBNi42NiA2LjY2IDAgMCAwIDMuOTQgMy45bC0uNy40YTEgMSAwIDEgMCAyLjU1IDQuMzR6In1dXX0pO3ZhciBpVSxXR2U9ZigoKT0+e2lVPVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyAxMXY0YTIgMiAwIDAgMCAyIDJoNCJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI4Iix4OiIxMyIseToiMTMiLHJ4OiIyIn1dXX0pO3ZhciBvVSxHR2U9ZigoKT0+e29VPVtbInBhdGgiLHtkOiJNOCAyMmg4In1dLFsicGF0aCIse2Q6Ik03IDEwaDEwIn1dLFsicGF0aCIse2Q6Ik0xMiAxNXY3In1dLFsicGF0aCIse2Q6Ik0xMiAxNWE1IDUgMCAwIDAgNS01YzAtMi0uNS00LTItOEg5Yy0xLjUgNC0yIDYtMiA4YTUgNSAwIDAgMCA1IDVaIn1dXX0pO3ZhciBuVSxZR2U9ZigoKT0+e25VPVtbInBhdGgiLHtkOiJNMTQuNyA2LjNhMSAxIDAgMCAwIDAgMS40bDEuNiAxLjZhMSAxIDAgMCAwIDEuNCAwbDMuMTA2LTMuMTA1Yy4zMi0uMzIyLjg2My0uMjIuOTgzLjIxOGE2IDYgMCAwIDEtOC4yNTkgNy4wNTdsLTcuOTEgNy45MWExIDEgMCAwIDEtMi45OTktM2w3LjkxLTcuOTFhNiA2IDAgMCAxIDcuMDU3LTguMjU5Yy40MzguMTIuNTQuNjYyLjIxOS45ODR6In1dXX0pO3ZhciBsVSxLR2U9ZigoKT0+e2xVPVtbInBhdGgiLHtkOiJNMTggNEg2In1dLFsicGF0aCIse2Q6Ik0xOCA4IDYgMjAifV0sWyJwYXRoIix7ZDoibTYgOCAxMiAxMiJ9XV19KTt2YXIgY1UsWkdlPWYoKCk9PntjVT1bWyJwYXRoIix7ZDoiTTE4IDYgNiAxOCJ9XSxbInBhdGgiLHtkOiJtNiA2IDEyIDEyIn1dXX0pO3ZhciBkVSxYR2U9ZigoKT0+e2RVPVtbInBhdGgiLHtkOiJNMTAuNTEzIDQuODU2IDEzLjEyIDIuMTdhLjUuNSAwIDAgMSAuODYuNDZsLTEuMzc3IDQuMzE3In1dLFsicGF0aCIse2Q6Ik0xNS42NTYgMTBIMjBhMSAxIDAgMCAxIC43OCAxLjYzbC0xLjcyIDEuNzczIn1dLFsicGF0aCIse2Q6Ik0xNi4yNzMgMTYuMjczIDEwLjg4IDIxLjgzYS41LjUgMCAwIDEtLjg2LS40NmwxLjkyLTYuMDJBMSAxIDAgMCAwIDExIDE0SDRhMSAxIDAgMCAxLS43OC0xLjYzbDQuNTA3LTQuNjQzIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIHVVLFFHZT1mKCgpPT57dVU9W1sicGF0aCIse2Q6Ik00IDE0YTEgMSAwIDAgMS0uNzgtMS42M2w5LjktMTAuMmEuNS41IDAgMCAxIC44Ni40NmwtMS45MiA2LjAyQTEgMSAwIDAgMCAxMyAxMGg3YTEgMSAwIDAgMSAuNzggMS42M2wtOS45IDEwLjJhLjUuNSAwIDAgMS0uODYtLjQ2bDEuOTItNi4wMkExIDEgMCAwIDAgMTEgMTR6In1dXX0pO3ZhciBwVSxKR2U9ZigoKT0+e3BVPVtbInBhdGgiLHtkOiJtMiAxMCAyLjQ1Ni0zLjY4NGEuNy43IDAgMCAxIDEuMTA2LS4wMTNsMi4zOSAzLjQxM2EuNy43IDAgMCAwIDEuMDk2LS4wMDFsMi40MDItMy40MzJhLjcuNyAwIDAgMSAxLjA5OCAwbDIuNDAyIDMuNDMyYS43LjcgMCAwIDAgMS4wOTggMGwyLjM4OS0zLjQxM2EuNy43IDAgMCAxIDEuMTA2LjAxM0wyMiAxMCJ9XSxbInBhdGgiLHtkOiJtMiAxOC4wMDIgMi40NTYtMy42ODRhLjcuNyAwIDAgMSAxLjEwNi0uMDEzbDIuMzkgMy40MTNhLjcuNyAwIDAgMCAxLjA5NyAwbDIuNDAyLTMuNDMyYS43LjcgMCAwIDEgMS4wOTggMGwyLjQwMiAzLjQzMmEuNy43IDAgMCAwIDEuMDk4IDBsMi4zODktMy40MTNhLjcuNyAwIDAgMSAxLjEwNi4wMTNMMjIgMTguMDAyIn1dXX0pO3ZhciBmVSxlWWU9ZigoKT0+e2ZVPVtbInBhdGgiLHtkOiJNMTIgNy41YTQuNSA0LjUgMCAxIDEgNSA0LjUifV0sWyJwYXRoIix7ZDoiTTcgMTJhNC41IDQuNSAwIDEgMSA1LTQuNVYyMSJ9XV19KTt2YXIgaFUsdFllPWYoKCk9PntoVT1bWyJwYXRoIix7ZDoiTTIxIDE0LjVBOSA2LjUgMCAwIDEgNS41IDE5In1dLFsicGF0aCIse2Q6Ik0zIDkuNUE5IDYuNSAwIDAgMSAxOC41IDUifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjE0LjUiLHI6IjMuNSJ9XSxbImNpcmNsZSIse2N4OiI2LjUiLGN5OiI5LjUiLHI6IjMuNSJ9XV19KTt2YXIgbVUsYVllPWYoKCk9PnttVT1bWyJwYXRoIix7ZDoiTTExIDIxYTMgMyAwIDAgMCAzLTNWNi41YTEgMSAwIDAgMC03IDAifV0sWyJwYXRoIix7ZDoiTTcgMTlWNmEzIDMgMCAwIDAtMy0zaDAifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNyIscjoiMyJ9XV19KTt2YXIgZ1UsclllPWYoKCk9PntnVT1bWyJwYXRoIix7ZDoiTTE2IDQuNTI1djE0Ljk0OCJ9XSxbInBhdGgiLHtkOiJNMjAgM0ExNyAxNyAwIDAgMSA0IDMifV0sWyJwYXRoIix7ZDoiTTQgMjFhMTcgMTcgMCAwIDEgMTYgMCJ9XSxbInBhdGgiLHtkOiJNOCA0LjUyNXYxNC45NDgifV1dfSk7dmFyIGJVLHNZZT1mKCgpPT57YlU9W1sicGF0aCIse2Q6Ik0xMCAxNmMwLTQtMy00LjUtMy04YTUgNSAwIDAgMSAxMCAwYzAgMy40NjYtMyA2LjE5Ni0zIDEwYTMgMyAwIDAgMCA2IDAifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE2IixyOiIzIn1dXX0pO3ZhciB2VSxpWWU9ZigoKT0+e3ZVPVtbInBhdGgiLHtkOiJNMyAxNmg2Ljg1N2MuMTYyLS4wMTIuMTktLjMyMy4wMzgtLjM4YTYgNiAwIDEgMSA0LjIxMiAwYy0uMTUzLjA1Ny0uMTI1LjM2OC4wMzguMzhIMjEifV0sWyJwYXRoIix7ZDoiTTMgMjBoMTgifV1dfSk7dmFyIHhVLG9ZZT1mKCgpPT57eFU9W1sicGF0aCIse2Q6Ik0zIDEwQTYuMDYgNi4wNiAwIDAgMSAxMiAxMCBBNi4wNiA2LjA2IDAgMCAwIDIxIDEwIn1dLFsicGF0aCIse2Q6Ik02IDN2MTJhNiA2IDAgMCAwIDEyIDBWMyJ9XV19KTt2YXIgeVUsblllPWYoKCk9Pnt5VT1bWyJwYXRoIix7ZDoiTTE5IDIxYTE1IDE1IDAgMCAxIDAtMTgifV0sWyJwYXRoIix7ZDoiTTIwIDEySDQifV0sWyJwYXRoIix7ZDoiTTUgM2ExNSAxNSAwIDAgMSAwIDE4In1dXX0pO3ZhciB3VSxsWWU9ZigoKT0+e3dVPVtbInBhdGgiLHtkOiJNMTAgMTlWNS41YTEgMSAwIDAgMSA1IDBWMTdhMiAyIDAgMCAwIDIgMmg1bC0zLTMifV0sWyJwYXRoIix7ZDoibTIyIDE5LTMgMyJ9XSxbInBhdGgiLHtkOiJNNSAxOVY1LjVhMSAxIDAgMCAxIDUgMCJ9XSxbInBhdGgiLHtkOiJNNSA1LjVBMi41IDIuNSAwIDAgMCAyLjUgMyJ9XV19KTt2YXIgTVUsY1llPWYoKCk9PntNVT1bWyJwYXRoIix7ZDoiTTE1IDNoNnY2In1dLFsicGF0aCIse2Q6Ik0yMSAzIDMgMjEifV0sWyJwYXRoIix7ZDoibTkgOSA2IDYifV1dfSk7dmFyIGtVLGRZZT1mKCgpPT57a1U9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTUiLHI6IjYifV0sWyJwYXRoIix7ZDoiTTE4IDNBNiA2IDAgMCAxIDYgMyJ9XV19KTt2YXIgU1UsdVllPWYoKCk9PntTVT1bWyJwYXRoIix7ZDoiTTExIDUuNWExIDEgMCAwIDEgNSAwVjE2YTUgNSAwIDAgMCA1IDUifV0sWyJwYXRoIix7ZDoiTTE2IDExLjVhMSAxIDAgMCAxIDUgMFYxNmE1IDUgMCAwIDEtNSA1In1dLFsicGF0aCIse2Q6Ik02IDE5VjZhMyAzIDAgMCAwLTMtM2gwIn1dLFsicGF0aCIse2Q6Ik02IDUuNWExIDEgMCAwIDEgNSAwVjE5In1dXX0pO3ZhciB6VSxwWWU9ZigoKT0+e3pVPVtbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dLFsibGluZSIse3gxOiIyMSIseDI6IjE2LjY1Iix5MToiMjEiLHkyOiIxNi42NSJ9XSxbImxpbmUiLHt4MToiMTEiLHgyOiIxMSIseTE6IjgiLHkyOiIxNCJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE0Iix5MToiMTEiLHkyOiIxMSJ9XV19KTt2YXIgQ1UsZlllPWYoKCk9PntDVT1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XSxbImxpbmUiLHt4MToiMjEiLHgyOiIxNi42NSIseTE6IjIxIix5MjoiMTYuNjUifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNCIseTE6IjExIix5MjoiMTEifV1dfSk7dmFyIHlmPXt9O2x0KHlmLHtBQXJyb3dEb3duOigpPT5ndixBQXJyb3dVcDooKT0+YnYsQUxhcmdlU21hbGw6KCk9PnZ2LEFjY2Vzc2liaWxpdHk6KCk9Pnh2LEFjdGl2aXR5OigpPT55dixBY3Rpdml0eVNxdWFyZTooKT0+WnUsQWlyVmVudDooKT0+d3YsQWlycGxheTooKT0+TXYsQWxhcm1DaGVjazooKT0+dWQsQWxhcm1DbG9jazooKT0+U3YsQWxhcm1DbG9ja0NoZWNrOigpPT51ZCxBbGFybUNsb2NrTWludXM6KCk9PnBkLEFsYXJtQ2xvY2tPZmY6KCk9Pmt2LEFsYXJtQ2xvY2tQbHVzOigpPT5mZCxBbGFybU1pbnVzOigpPT5wZCxBbGFybVBsdXM6KCk9PmZkLEFsYXJtU21va2U6KCk9Pnp2LEFsYnVtOigpPT5DdixBbGVydENpcmNsZTooKT0+SGQsQWxlcnRPY3RhZ29uOigpPT56dSxBbGVydFRyaWFuZ2xlOigpPT5zZixBbGlnbkNlbnRlcjooKT0+WHAsQWxpZ25DZW50ZXJIb3Jpem9udGFsOigpPT5fdixBbGlnbkNlbnRlclZlcnRpY2FsOigpPT5UdixBbGlnbkVuZEhvcml6b250YWw6KCk9Pkx2LEFsaWduRW5kVmVydGljYWw6KCk9PkR2LEFsaWduSG9yaXpvbnRhbERpc3RyaWJ1dGVDZW50ZXI6KCk9PiR2LEFsaWduSG9yaXpvbnRhbERpc3RyaWJ1dGVFbmQ6KCk9PkF2LEFsaWduSG9yaXpvbnRhbERpc3RyaWJ1dGVTdGFydDooKT0+UHYsQWxpZ25Ib3Jpem9udGFsSnVzdGlmeUNlbnRlcjooKT0+RXYsQWxpZ25Ib3Jpem9udGFsSnVzdGlmeUVuZDooKT0+SXYsQWxpZ25Ib3Jpem9udGFsSnVzdGlmeVN0YXJ0OigpPT5OdixBbGlnbkhvcml6b250YWxTcGFjZUFyb3VuZDooKT0+UnYsQWxpZ25Ib3Jpem9udGFsU3BhY2VCZXR3ZWVuOigpPT5CdixBbGlnbkp1c3RpZnk6KCk9PkpwLEFsaWduTGVmdDooKT0+bmMsQWxpZ25SaWdodDooKT0+UXAsQWxpZ25TdGFydEhvcml6b250YWw6KCk9Pk92LEFsaWduU3RhcnRWZXJ0aWNhbDooKT0+RnYsQWxpZ25WZXJ0aWNhbERpc3RyaWJ1dGVDZW50ZXI6KCk9Pkh2LEFsaWduVmVydGljYWxEaXN0cmlidXRlRW5kOigpPT5xdixBbGlnblZlcnRpY2FsRGlzdHJpYnV0ZVN0YXJ0OigpPT5WdixBbGlnblZlcnRpY2FsSnVzdGlmeUNlbnRlcjooKT0+anYsQWxpZ25WZXJ0aWNhbEp1c3RpZnlFbmQ6KCk9PlV2LEFsaWduVmVydGljYWxKdXN0aWZ5U3RhcnQ6KCk9Pld2LEFsaWduVmVydGljYWxTcGFjZUFyb3VuZDooKT0+R3YsQWxpZ25WZXJ0aWNhbFNwYWNlQmV0d2VlbjooKT0+WXYsQW1idWxhbmNlOigpPT5LdixBbXBlcnNhbmQ6KCk9Plh2LEFtcGVyc2FuZHM6KCk9Plp2LEFtcGhvcmE6KCk9PlF2LEFuY2hvcjooKT0+SnYsQW5ncnk6KCk9PmV4LEFubm95ZWQ6KCk9PnR4LEFudGVubmE6KCk9PmF4LEFudmlsOigpPT5yeCxBcGVydHVyZTooKT0+c3gsQXBwV2luZG93OigpPT5veCxBcHBXaW5kb3dNYWM6KCk9Pml4LEFwcGxlOigpPT5seCxBcmNoaXZlOigpPT51eCxBcmNoaXZlUmVzdG9yZTooKT0+bngsQXJjaGl2ZVg6KCk9PmN4LEFyZWFDaGFydDooKT0+VGQsQXJtY2hhaXI6KCk9PmR4LEFycm93QmlnRG93bjooKT0+ZngsQXJyb3dCaWdEb3duRGFzaDooKT0+cHgsQXJyb3dCaWdMZWZ0OigpPT5oeCxBcnJvd0JpZ0xlZnREYXNoOigpPT5teCxBcnJvd0JpZ1JpZ2h0OigpPT5ieCxBcnJvd0JpZ1JpZ2h0RGFzaDooKT0+Z3gsQXJyb3dCaWdVcDooKT0+eHgsQXJyb3dCaWdVcERhc2g6KCk9PnZ4LEFycm93RG93bjooKT0+THgsQXJyb3dEb3duMDE6KCk9Pnl4LEFycm93RG93bjEwOigpPT53eCxBcnJvd0Rvd25BWjooKT0+aGQsQXJyb3dEb3duQXo6KCk9PmhkLEFycm93RG93bkNpcmNsZTooKT0+cWQsQXJyb3dEb3duRnJvbUxpbmU6KCk9Pk14LEFycm93RG93bkxlZnQ6KCk9Pmt4LEFycm93RG93bkxlZnRGcm9tQ2lyY2xlOigpPT5qZCxBcnJvd0Rvd25MZWZ0RnJvbVNxdWFyZTooKT0+dHAsQXJyb3dEb3duTGVmdFNxdWFyZTooKT0+WHUsQXJyb3dEb3duTmFycm93V2lkZTooKT0+U3gsQXJyb3dEb3duUmlnaHQ6KCk9Pnp4LEFycm93RG93blJpZ2h0RnJvbUNpcmNsZTooKT0+VWQsQXJyb3dEb3duUmlnaHRGcm9tU3F1YXJlOigpPT5hcCxBcnJvd0Rvd25SaWdodFNxdWFyZTooKT0+UXUsQXJyb3dEb3duU3F1YXJlOigpPT5KdSxBcnJvd0Rvd25Ub0RvdDooKT0+Q3gsQXJyb3dEb3duVG9MaW5lOigpPT5UeCxBcnJvd0Rvd25VcDooKT0+X3gsQXJyb3dEb3duV2lkZU5hcnJvdzooKT0+bWQsQXJyb3dEb3duWkE6KCk9PmdkLEFycm93RG93blphOigpPT5nZCxBcnJvd0xlZnQ6KCk9PkV4LEFycm93TGVmdENpcmNsZTooKT0+VmQsQXJyb3dMZWZ0RnJvbUxpbmU6KCk9PiR4LEFycm93TGVmdFJpZ2h0OigpPT5EeCxBcnJvd0xlZnRTcXVhcmU6KCk9PmVwLEFycm93TGVmdFRvTGluZTooKT0+QXgsQXJyb3dSaWdodDooKT0+UngsQXJyb3dSaWdodENpcmNsZTooKT0+WWQsQXJyb3dSaWdodEZyb21MaW5lOigpPT5QeCxBcnJvd1JpZ2h0TGVmdDooKT0+SXgsQXJyb3dSaWdodFNxdWFyZTooKT0+aXAsQXJyb3dSaWdodFRvTGluZTooKT0+TngsQXJyb3dVcDooKT0+R3gsQXJyb3dVcDAxOigpPT5GeCxBcnJvd1VwMTA6KCk9Pk94LEFycm93VXBBWjooKT0+YmQsQXJyb3dVcEF6OigpPT5iZCxBcnJvd1VwQ2lyY2xlOigpPT5LZCxBcnJvd1VwRG93bjooKT0+QngsQXJyb3dVcEZyb21Eb3Q6KCk9Pkh4LEFycm93VXBGcm9tTGluZTooKT0+cXgsQXJyb3dVcExlZnQ6KCk9PlZ4LEFycm93VXBMZWZ0RnJvbUNpcmNsZTooKT0+V2QsQXJyb3dVcExlZnRGcm9tU3F1YXJlOigpPT5ycCxBcnJvd1VwTGVmdFNxdWFyZTooKT0+b3AsQXJyb3dVcE5hcnJvd1dpZGU6KCk9PnZkLEFycm93VXBSaWdodDooKT0+angsQXJyb3dVcFJpZ2h0RnJvbUNpcmNsZTooKT0+R2QsQXJyb3dVcFJpZ2h0RnJvbVNxdWFyZTooKT0+c3AsQXJyb3dVcFJpZ2h0U3F1YXJlOigpPT5ucCxBcnJvd1VwU3F1YXJlOigpPT5scCxBcnJvd1VwVG9MaW5lOigpPT5XeCxBcnJvd1VwV2lkZU5hcnJvdzooKT0+VXgsQXJyb3dVcFpBOigpPT54ZCxBcnJvd1VwWmE6KCk9PnhkLEFycm93c1VwRnJvbUxpbmU6KCk9Pkt4LEFzdGVyaXNrOigpPT5ZeCxBc3Rlcmlza1NxdWFyZTooKT0+Y3AsQXN0cm9pZDooKT0+WngsQXRTaWduOigpPT5YeCxBdG9tOigpPT5ReCxBdWRpb0xpbmVzOigpPT5KeCxBdWRpb1dhdmVmb3JtOigpPT5leSxBd2FyZDooKT0+dHksQXhlOigpPT5heSxBeGlzM0Q6KCk9PnlkLEF4aXMzZDooKT0+eWQsQmFieTooKT0+cnksQmFja3BhY2s6KCk9PnN5LEJhZGdlOigpPT55eSxCYWRnZUFsZXJ0OigpPT5peSxCYWRnZUNlbnQ6KCk9Pm95LEJhZGdlQ2hlY2s6KCk9PndkLEJhZGdlRG9sbGFyU2lnbjooKT0+bnksQmFkZ2VFdXJvOigpPT5seSxCYWRnZUhlbHA6KCk9Pk1kLEJhZGdlSW5kaWFuUnVwZWU6KCk9PmN5LEJhZGdlSW5mbzooKT0+ZHksQmFkZ2VKYXBhbmVzZVllbjooKT0+dXksQmFkZ2VNaW51czooKT0+cHksQmFkZ2VQZXJjZW50OigpPT5meSxCYWRnZVBsdXM6KCk9Pmh5LEJhZGdlUG91bmRTdGVybGluZzooKT0+bXksQmFkZ2VRdWVzdGlvbk1hcms6KCk9Pk1kLEJhZGdlUnVzc2lhblJ1YmxlOigpPT5ieSxCYWRnZVN3aXNzRnJhbmM6KCk9Pmd5LEJhZGdlVHVya2lzaExpcmE6KCk9PnZ5LEJhZGdlWDooKT0+eHksQmFnZ2FnZUNsYWltOigpPT53eSxCYWxsb29uOigpPT5reSxCYW46KCk9Pk15LEJhbmFuYTooKT0+U3ksQmFuZGFnZTooKT0+enksQmFua25vdGU6KCk9Pkx5LEJhbmtub3RlQXJyb3dEb3duOigpPT5feSxCYW5rbm90ZUFycm93VXA6KCk9PkN5LEJhbmtub3RlWDooKT0+VHksQmFyQ2hhcnQ6KCk9Pk5kLEJhckNoYXJ0MjooKT0+UmQsQmFyQ2hhcnQzOigpPT5FZCxCYXJDaGFydDQ6KCk9PlBkLEJhckNoYXJ0QmlnOigpPT5BZCxCYXJDaGFydEhvcml6b250YWw6KCk9PiRkLEJhckNoYXJ0SG9yaXpvbnRhbEJpZzooKT0+TGQsQmFyY29kZTooKT0+JHksQmFycmVsOigpPT5EeSxCYXNlbGluZTooKT0+QXksQmF0aDooKT0+UHksQmF0dGVyeTooKT0+QnksQmF0dGVyeUNoYXJnaW5nOigpPT5FeSxCYXR0ZXJ5RnVsbDooKT0+SXksQmF0dGVyeUxvdzooKT0+TnksQmF0dGVyeU1lZGl1bTooKT0+UnksQmF0dGVyeVBsdXM6KCk9Pk95LEJhdHRlcnlXYXJuaW5nOigpPT5GeSxCZWFrZXI6KCk9PnF5LEJlYW46KCk9Pmp5LEJlYW5PZmY6KCk9Pkh5LEJlZDooKT0+R3ksQmVkRG91YmxlOigpPT5WeSxCZWRTaW5nbGU6KCk9PlV5LEJlZWY6KCk9Pll5LEJlZWZPZmY6KCk9Pld5LEJlZXI6KCk9Plp5LEJlZXJPZmY6KCk9Pkt5LEJlbGw6KCk9PnN3LEJlbGxDaGVjazooKT0+WHksQmVsbERvdDooKT0+UXksQmVsbEVsZWN0cmljOigpPT5KeSxCZWxsTWludXM6KCk9PnR3LEJlbGxPZmY6KCk9PmV3LEJlbGxQbHVzOigpPT5hdyxCZWxsUmluZzooKT0+cncsQmV0d2Vlbkhvcml6b25hbEVuZDooKT0+a2QsQmV0d2Vlbkhvcml6b25hbFN0YXJ0OigpPT5TZCxCZXR3ZWVuSG9yaXpvbnRhbEVuZDooKT0+a2QsQmV0d2Vlbkhvcml6b250YWxTdGFydDooKT0+U2QsQmV0d2VlblZlcnRpY2FsRW5kOigpPT5pdyxCZXR3ZWVuVmVydGljYWxTdGFydDooKT0+b3csQmljZXBzRmxleGVkOigpPT5udyxCaWtlOigpPT5sdyxCaW5hcnk6KCk9PmN3LEJpbm9jdWxhcnM6KCk9PmR3LEJpb2hhemFyZDooKT0+dXcsQmlyZDooKT0+cHcsQmlyZGhvdXNlOigpPT5mdyxCaXRjb2luOigpPT5odyxCbGVuZDooKT0+bXcsQmxpbmRzOigpPT5ndyxCbG9ja3M6KCk9PmJ3LEJsdWV0b290aDooKT0+eXcsQmx1ZXRvb3RoQ29ubmVjdGVkOigpPT52dyxCbHVldG9vdGhPZmY6KCk9Pnh3LEJsdWV0b290aFNlYXJjaGluZzooKT0+d3csQm9sZDooKT0+TXcsQm9sdDooKT0+U3csQm9tYjooKT0+a3csQm9uZTooKT0+encsQm9vazooKT0+WncsQm9va0E6KCk9PkN3LEJvb2tBbGVydDooKT0+X3csQm9va0F1ZGlvOigpPT5UdyxCb29rQ2hlY2s6KCk9Pkx3LEJvb2tDb3B5OigpPT4kdyxCb29rRGFzaGVkOigpPT56ZCxCb29rRG93bjooKT0+RHcsQm9va0hlYWRwaG9uZXM6KCk9PkF3LEJvb2tIZWFydDooKT0+UHcsQm9va0ltYWdlOigpPT5FdyxCb29rS2V5OigpPT5JdyxCb29rTG9jazooKT0+UncsQm9va01hcmtlZDooKT0+TncsQm9va01pbnVzOigpPT5PdyxCb29rT3BlbjooKT0+cXcsQm9va09wZW5DaGVjazooKT0+RncsQm9va09wZW5UZXh0OigpPT5CdyxCb29rUGx1czooKT0+VncsQm9va1NlYXJjaDooKT0+SHcsQm9va1RlbXBsYXRlOigpPT56ZCxCb29rVGV4dDooKT0+ancsQm9va1R5cGU6KCk9Pkd3LEJvb2tVcDooKT0+V3csQm9va1VwMjooKT0+VXcsQm9va1VzZXI6KCk9Pll3LEJvb2tYOigpPT5LdyxCb29rbWFyazooKT0+YU0sQm9va21hcmtDaGVjazooKT0+WHcsQm9va21hcmtNaW51czooKT0+UXcsQm9va21hcmtPZmY6KCk9Pkp3LEJvb2ttYXJrUGx1czooKT0+ZU0sQm9va21hcmtYOigpPT50TSxCb29tQm94OigpPT5yTSxCb3Q6KCk9Pm9NLEJvdE1lc3NhZ2VTcXVhcmU6KCk9PnNNLEJvdE9mZjooKT0+aU0sQm90dGxlV2luZTooKT0+bE0sQm93QXJyb3c6KCk9Pm5NLEJveDooKT0+Y00sQm94U2VsZWN0OigpPT5NcCxCb3hlczooKT0+ZE0sQnJhY2VzOigpPT5DZCxCcmFja2V0czooKT0+dU0sQnJhaW46KCk9Pm1NLEJyYWluQ2lyY3VpdDooKT0+cE0sQnJhaW5Db2c6KCk9PmZNLEJyaWNrV2FsbDooKT0+Yk0sQnJpY2tXYWxsRmlyZTooKT0+aE0sQnJpY2tXYWxsU2hpZWxkOigpPT5nTSxCcmllZmNhc2U6KCk9PndNLEJyaWVmY2FzZUJ1c2luZXNzOigpPT52TSxCcmllZmNhc2VDb252ZXlvckJlbHQ6KCk9PnhNLEJyaWVmY2FzZU1lZGljYWw6KCk9PnlNLEJyaW5nVG9Gcm9udDooKT0+TU0sQnJ1c2g6KCk9PlNNLEJydXNoQ2xlYW5pbmc6KCk9PmtNLEJ1YmJsZXM6KCk9PkNNLEJ1ZzooKT0+VE0sQnVnT2ZmOigpPT56TSxCdWdQbGF5OigpPT5fTSxCdWlsZGluZzooKT0+TE0sQnVpbGRpbmcyOigpPT4kTSxCdXM6KCk9PkFNLEJ1c0Zyb250OigpPT5ETSxDYWJsZTooKT0+UE0sQ2FibGVDYXI6KCk9PkVNLENha2U6KCk9Pk5NLENha2VTbGljZTooKT0+SU0sQ2FsY3VsYXRvcjooKT0+T00sQ2FsZW5kYXI6KCk9PnNrLENhbGVuZGFyMTooKT0+Uk0sQ2FsZW5kYXJBcnJvd0Rvd246KCk9PkZNLENhbGVuZGFyQXJyb3dVcDooKT0+Qk0sQ2FsZW5kYXJDaGVjazooKT0+cU0sQ2FsZW5kYXJDaGVjazI6KCk9PkhNLENhbGVuZGFyQ2xvY2s6KCk9PlZNLENhbGVuZGFyQ29nOigpPT5qTSxDYWxlbmRhckRheXM6KCk9PlVNLENhbGVuZGFyRm9sZDooKT0+V00sQ2FsZW5kYXJIZWFydDooKT0+WU0sQ2FsZW5kYXJNaW51czooKT0+Wk0sQ2FsZW5kYXJNaW51czI6KCk9PkdNLENhbGVuZGFyT2ZmOigpPT5LTSxDYWxlbmRhclBsdXM6KCk9PkpNLENhbGVuZGFyUGx1czI6KCk9PlhNLENhbGVuZGFyUmFuZ2U6KCk9PlFNLENhbGVuZGFyU2VhcmNoOigpPT5layxDYWxlbmRhclN5bmM6KCk9PnRrLENhbGVuZGFyWDooKT0+cmssQ2FsZW5kYXJYMjooKT0+YWssQ2FsZW5kYXJzOigpPT5payxDYW1lcmE6KCk9Pm5rLENhbWVyYU9mZjooKT0+b2ssQ2FuZGxlc3RpY2tDaGFydDooKT0+RGQsQ2FuZHk6KCk9PmNrLENhbmR5Q2FuZTooKT0+bGssQ2FuZHlPZmY6KCk9PmRrLENhbm5hYmlzOigpPT5wayxDYW5uYWJpc09mZjooKT0+dWssQ2FwdGlvbnM6KCk9Pl9kLENhcHRpb25zT2ZmOigpPT5mayxDYXI6KCk9Pm1rLENhckZyb250OigpPT5oayxDYXJUYXhpRnJvbnQ6KCk9PmdrLENhcmF2YW46KCk9PmJrLENhcmRTaW06KCk9PnZrLENhcnJvdDooKT0+eGssQ2FzZUxvd2VyOigpPT55ayxDYXNlU2Vuc2l0aXZlOigpPT53ayxDYXNlVXBwZXI6KCk9Pk1rLENhc3NldHRlVGFwZTooKT0+a2ssQ2FzdDooKT0+U2ssQ2FzdGxlOigpPT56ayxDYXQ6KCk9PkNrLENjdHY6KCk9PlRrLENjdHZPZmY6KCk9Pl9rLENoYXJ0QXJlYTooKT0+VGQsQ2hhcnRCYXI6KCk9PiRkLENoYXJ0QmFyQmlnOigpPT5MZCxDaGFydEJhckRlY3JlYXNpbmc6KCk9PkxrLENoYXJ0QmFySW5jcmVhc2luZzooKT0+JGssQ2hhcnRCYXJTdGFja2VkOigpPT5EayxDaGFydENhbmRsZXN0aWNrOigpPT5EZCxDaGFydENvbHVtbjooKT0+RWQsQ2hhcnRDb2x1bW5CaWc6KCk9PkFkLENoYXJ0Q29sdW1uRGVjcmVhc2luZzooKT0+QWssQ2hhcnRDb2x1bW5JbmNyZWFzaW5nOigpPT5QZCxDaGFydENvbHVtblN0YWNrZWQ6KCk9PlBrLENoYXJ0R2FudHQ6KCk9PkVrLENoYXJ0TGluZTooKT0+SWQsQ2hhcnROZXR3b3JrOigpPT5JayxDaGFydE5vQXhlc0NvbHVtbjooKT0+UmQsQ2hhcnROb0F4ZXNDb2x1bW5EZWNyZWFzaW5nOigpPT5OayxDaGFydE5vQXhlc0NvbHVtbkluY3JlYXNpbmc6KCk9Pk5kLENoYXJ0Tm9BeGVzQ29tYmluZWQ6KCk9PlJrLENoYXJ0Tm9BeGVzR2FudHQ6KCk9Pk9kLENoYXJ0UGllOigpPT5GZCxDaGFydFNjYXR0ZXI6KCk9PkJkLENoYXJ0U3BsaW5lOigpPT5PayxDaGVjazooKT0+SGssQ2hlY2tDaGVjazooKT0+RmssQ2hlY2tDaXJjbGU6KCk9PlpkLENoZWNrQ2lyY2xlMjooKT0+WGQsQ2hlY2tMaW5lOigpPT5CayxDaGVja1NxdWFyZTooKT0+ZnAsQ2hlY2tTcXVhcmUyOigpPT5ocCxDaGVmSGF0OigpPT5xayxDaGVycnk6KCk9PlZrLENoZXNzQmlzaG9wOigpPT5VayxDaGVzc0tpbmc6KCk9PmprLENoZXNzS25pZ2h0OigpPT5XayxDaGVzc1Bhd246KCk9PkdrLENoZXNzUXVlZW46KCk9PlprLENoZXNzUm9vazooKT0+WWssQ2hldnJvbkRvd246KCk9PktrLENoZXZyb25Eb3duQ2lyY2xlOigpPT5KZCxDaGV2cm9uRG93blNxdWFyZTooKT0+bXAsQ2hldnJvbkZpcnN0OigpPT5YayxDaGV2cm9uTGFzdDooKT0+UWssQ2hldnJvbkxlZnQ6KCk9PkprLENoZXZyb25MZWZ0Q2lyY2xlOigpPT5RZCxDaGV2cm9uTGVmdFNxdWFyZTooKT0+Z3AsQ2hldnJvblJpZ2h0OigpPT5lUyxDaGV2cm9uUmlnaHRDaXJjbGU6KCk9PmU2LENoZXZyb25SaWdodFNxdWFyZTooKT0+YnAsQ2hldnJvblVwOigpPT50UyxDaGV2cm9uVXBDaXJjbGU6KCk9PnQ2LENoZXZyb25VcFNxdWFyZTooKT0+dnAsQ2hldnJvbnNEb3duOigpPT5yUyxDaGV2cm9uc0Rvd25VcDooKT0+YVMsQ2hldnJvbnNMZWZ0OigpPT5vUyxDaGV2cm9uc0xlZnRSaWdodDooKT0+aVMsQ2hldnJvbnNMZWZ0UmlnaHRFbGxpcHNpczooKT0+c1MsQ2hldnJvbnNSaWdodDooKT0+bFMsQ2hldnJvbnNSaWdodExlZnQ6KCk9Pm5TLENoZXZyb25zVXA6KCk9PmNTLENoZXZyb25zVXBEb3duOigpPT5kUyxDaHVyY2g6KCk9PnVTLENpZ2FyZXR0ZTooKT0+ZlMsQ2lnYXJldHRlT2ZmOigpPT5wUyxDaXJjbGU6KCk9PlRTLENpcmNsZUFsZXJ0OigpPT5IZCxDaXJjbGVBcnJvd0Rvd246KCk9PnFkLENpcmNsZUFycm93TGVmdDooKT0+VmQsQ2lyY2xlQXJyb3dPdXREb3duTGVmdDooKT0+amQsQ2lyY2xlQXJyb3dPdXREb3duUmlnaHQ6KCk9PlVkLENpcmNsZUFycm93T3V0VXBMZWZ0OigpPT5XZCxDaXJjbGVBcnJvd091dFVwUmlnaHQ6KCk9PkdkLENpcmNsZUFycm93UmlnaHQ6KCk9PllkLENpcmNsZUFycm93VXA6KCk9PktkLENpcmNsZUNoZWNrOigpPT5YZCxDaXJjbGVDaGVja0JpZzooKT0+WmQsQ2lyY2xlQ2hldnJvbkRvd246KCk9PkpkLENpcmNsZUNoZXZyb25MZWZ0OigpPT5RZCxDaXJjbGVDaGV2cm9uUmlnaHQ6KCk9PmU2LENpcmNsZUNoZXZyb25VcDooKT0+dDYsQ2lyY2xlRGFzaGVkOigpPT5oUyxDaXJjbGVEaXZpZGU6KCk9PmE2LENpcmNsZURvbGxhclNpZ246KCk9Pm1TLENpcmNsZURvdDooKT0+dlMsQ2lyY2xlRG90RGFzaGVkOigpPT5nUyxDaXJjbGVFbGxpcHNpczooKT0+YlMsQ2lyY2xlRXF1YWw6KCk9PnhTLENpcmNsZUZhZGluZ0Fycm93VXA6KCk9PnlTLENpcmNsZUZhZGluZ1BsdXM6KCk9PndTLENpcmNsZUdhdWdlOigpPT5yNixDaXJjbGVIZWxwOigpPT5KbCxDaXJjbGVNaW51czooKT0+czYsQ2lyY2xlT2ZmOigpPT5NUyxDaXJjbGVQYXJraW5nOigpPT5vNixDaXJjbGVQYXJraW5nT2ZmOigpPT5pNixDaXJjbGVQYXVzZTooKT0+bjYsQ2lyY2xlUGVyY2VudDooKT0+bDYsQ2lyY2xlUGlsZTooKT0+a1MsQ2lyY2xlUGxheTooKT0+YzYsQ2lyY2xlUGx1czooKT0+ZDYsQ2lyY2xlUG91bmRTdGVybGluZzooKT0+U1MsQ2lyY2xlUG93ZXI6KCk9PnU2LENpcmNsZVF1ZXN0aW9uTWFyazooKT0+SmwsQ2lyY2xlU2xhc2g6KCk9PnpTLENpcmNsZVNsYXNoMjooKT0+cDYsQ2lyY2xlU2xhc2hlZDooKT0+cDYsQ2lyY2xlU21hbGw6KCk9PkNTLENpcmNsZVN0YXI6KCk9Pl9TLENpcmNsZVN0b3A6KCk9PmY2LENpcmNsZVVzZXI6KCk9Pm02LENpcmNsZVVzZXJSb3VuZDooKT0+aDYsQ2lyY2xlWDooKT0+ZzYsQ2lyY3VpdEJvYXJkOigpPT5MUyxDaXRydXM6KCk9PiRTLENsYXBwZXJib2FyZDooKT0+RFMsQ2xpcGJvYXJkOigpPT5xUyxDbGlwYm9hcmRDaGVjazooKT0+QVMsQ2xpcGJvYXJkQ2xvY2s6KCk9PlBTLENsaXBib2FyZENvcHk6KCk9PkVTLENsaXBib2FyZEVkaXQ6KCk9PnY2LENsaXBib2FyZExpc3Q6KCk9PklTLENsaXBib2FyZE1pbnVzOigpPT5OUyxDbGlwYm9hcmRQYXN0ZTooKT0+UlMsQ2xpcGJvYXJkUGVuOigpPT52NixDbGlwYm9hcmRQZW5MaW5lOigpPT5iNixDbGlwYm9hcmRQbHVzOigpPT5PUyxDbGlwYm9hcmRTaWduYXR1cmU6KCk9PmI2LENsaXBib2FyZFR5cGU6KCk9PkZTLENsaXBib2FyZFg6KCk9PkJTLENsb2NrOigpPT5veixDbG9jazE6KCk9PkhTLENsb2NrMTA6KCk9PlZTLENsb2NrMTE6KCk9PmpTLENsb2NrMTI6KCk9PlVTLENsb2NrMjooKT0+V1MsQ2xvY2szOigpPT5HUyxDbG9jazQ6KCk9PllTLENsb2NrNTooKT0+S1MsQ2xvY2s2OigpPT5aUyxDbG9jazc6KCk9PlFTLENsb2NrODooKT0+WFMsQ2xvY2s5OigpPT5KUyxDbG9ja0FsZXJ0OigpPT5leixDbG9ja0Fycm93RG93bjooKT0+dHosQ2xvY2tBcnJvd1VwOigpPT5heixDbG9ja0NoZWNrOigpPT5yeixDbG9ja0ZhZGluZzooKT0+c3osQ2xvY2tQbHVzOigpPT5peixDbG9zZWRDYXB0aW9uOigpPT5ueixDbG91ZDooKT0+enosQ2xvdWRBbGVydDooKT0+bHosQ2xvdWRCYWNrdXA6KCk9PmN6LENsb3VkQ2hlY2s6KCk9PmR6LENsb3VkQ29nOigpPT51eixDbG91ZERvd25sb2FkOigpPT54NixDbG91ZERyaXp6bGU6KCk9PnB6LENsb3VkRm9nOigpPT5oeixDbG91ZEhhaWw6KCk9PmZ6LENsb3VkTGlnaHRuaW5nOigpPT5teixDbG91ZE1vb246KCk9PmJ6LENsb3VkTW9vblJhaW46KCk9Pmd6LENsb3VkT2ZmOigpPT54eixDbG91ZFJhaW46KCk9Pnl6LENsb3VkUmFpbldpbmQ6KCk9PnZ6LENsb3VkU25vdzooKT0+d3osQ2xvdWRTdW46KCk9PlN6LENsb3VkU3VuUmFpbjooKT0+TXosQ2xvdWRTeW5jOigpPT5reixDbG91ZFVwbG9hZDooKT0+eTYsQ2xvdWR5OigpPT5DeixDbG92ZXI6KCk9Pl96LENsdWI6KCk9PlR6LENvZGU6KCk9Pkx6LENvZGUyOigpPT53NixDb2RlU3F1YXJlOigpPT54cCxDb2RlWG1sOigpPT53NixDb2ZmZWU6KCk9PiR6LENvZzooKT0+RHosQ29pbnM6KCk9PkF6LENvbHVtbnM6KCk9Pk02LENvbHVtbnMyOigpPT5NNixDb2x1bW5zMzooKT0+azYsQ29sdW1uczNDb2c6KCk9PmVjLENvbHVtbnM0OigpPT5QeixDb2x1bW5zU2V0dGluZ3M6KCk9PmVjLENvbWJpbmU6KCk9PkV6LENvbW1hbmQ6KCk9Pkl6LENvbXBhc3M6KCk9Pk56LENvbXBvbmVudDooKT0+UnosQ29tcHV0ZXI6KCk9Pk96LENvbmNpZXJnZUJlbGw6KCk9PkZ6LENvbmU6KCk9PkJ6LENvbnN0cnVjdGlvbjooKT0+SHosQ29udGFjdDooKT0+cXosQ29udGFjdDI6KCk9PlM2LENvbnRhY3RSb3VuZDooKT0+UzYsQ29udGFpbmVyOigpPT5WeixDb250cmFzdDooKT0+anosQ29va2llOigpPT5VeixDb29raW5nUG90OigpPT5XeixDb3B5OigpPT5ReixDb3B5Q2hlY2s6KCk9Pkd6LENvcHlNaW51czooKT0+WXosQ29weVBsdXM6KCk9Pkt6LENvcHlTbGFzaDooKT0+WnosQ29weVg6KCk9Plh6LENvcHlsZWZ0OigpPT5KeixDb3B5cmlnaHQ6KCk9PmVDLENvcm5lckRvd25MZWZ0OigpPT50QyxDb3JuZXJEb3duUmlnaHQ6KCk9PmFDLENvcm5lckxlZnREb3duOigpPT5yQyxDb3JuZXJMZWZ0VXA6KCk9PnNDLENvcm5lclJpZ2h0RG93bjooKT0+aUMsQ29ybmVyUmlnaHRVcDooKT0+b0MsQ29ybmVyVXBMZWZ0OigpPT5uQyxDb3JuZXJVcFJpZ2h0OigpPT5sQyxDcHU6KCk9PmNDLENyZWF0aXZlQ29tbW9uczooKT0+ZEMsQ3JlZGl0Q2FyZDooKT0+dUMsQ3JvaXNzYW50OigpPT5wQyxDcm9wOigpPT5mQyxDcm9zczooKT0+aEMsQ3Jvc3NoYWlyOigpPT5tQyxDcm93bjooKT0+Z0MsQ3Vib2lkOigpPT5iQyxDdXBTb2RhOigpPT52QyxDdXJseUJyYWNlczooKT0+Q2QsQ3VycmVuY3k6KCk9PnhDLEN5bGluZGVyOigpPT55QyxEYW06KCk9PndDLERhdGFiYXNlOigpPT56QyxEYXRhYmFzZUJhY2t1cDooKT0+TUMsRGF0YWJhc2VTZWFyY2g6KCk9PlNDLERhdGFiYXNlWmFwOigpPT5rQyxEZWNpbWFsc0Fycm93TGVmdDooKT0+Q0MsRGVjaW1hbHNBcnJvd1JpZ2h0OigpPT5fQyxEZWxldGU6KCk9PlRDLERlc3NlcnQ6KCk9PkxDLERpYW1ldGVyOigpPT4kQyxEaWFtb25kOigpPT5QQyxEaWFtb25kTWludXM6KCk9PkRDLERpYW1vbmRQZXJjZW50OigpPT56NixEaWFtb25kUGx1czooKT0+QUMsRGljZTE6KCk9PkVDLERpY2UyOigpPT5JQyxEaWNlMzooKT0+TkMsRGljZTQ6KCk9PlJDLERpY2U1OigpPT5PQyxEaWNlNjooKT0+RkMsRGljZXM6KCk9PkhDLERpZmY6KCk9PkJDLERpc2M6KCk9PldDLERpc2MyOigpPT5xQyxEaXNjMzooKT0+VkMsRGlzY0FsYnVtOigpPT5qQyxEaXZpZGU6KCk9PlVDLERpdmlkZUNpcmNsZTooKT0+YTYsRGl2aWRlU3F1YXJlOigpPT5TcCxEbmE6KCk9PllDLERuYU9mZjooKT0+R0MsRG9jazooKT0+S0MsRG9nOigpPT5YQyxEb2xsYXJTaWduOigpPT5aQyxEb251dDooKT0+UUMsRG9vckNsb3NlZDooKT0+ZV8sRG9vckNsb3NlZExvY2tlZDooKT0+SkMsRG9vck9wZW46KCk9PnRfLERvdDooKT0+YV8sRG90U3F1YXJlOigpPT5rcCxEb3dubG9hZDooKT0+cl8sRG93bmxvYWRDbG91ZDooKT0+eDYsRHJhZnRpbmdDb21wYXNzOigpPT5zXyxEcmFtYTooKT0+b18sRHJpbGw6KCk9PmlfLERyb25lOigpPT5uXyxEcm9wbGV0OigpPT5sXyxEcm9wbGV0T2ZmOigpPT5jXyxEcm9wbGV0czooKT0+ZF8sRHJ1bTooKT0+dV8sRHJ1bXN0aWNrOigpPT5wXyxEdW1iYmVsbDooKT0+Zl8sRWFyOigpPT5tXyxFYXJPZmY6KCk9PmhfLEVhcnRoOigpPT5DNixFYXJ0aExvY2s6KCk9PmdfLEVjbGlwc2U6KCk9PmJfLEVkaXQ6KCk9PkMxLEVkaXQyOigpPT5PdSxFZGl0MzooKT0+UnUsRWdnOigpPT54XyxFZ2dGcmllZDooKT0+dl8sRWdnT2ZmOigpPT55XyxFbGxpcHNlOigpPT53XyxFbGxpcHNpczooKT0+VDYsRWxsaXBzaXNWZXJ0aWNhbDooKT0+XzYsRXF1YWw6KCk9PlNfLEVxdWFsQXBwcm94aW1hdGVseTooKT0+TV8sRXF1YWxOb3Q6KCk9PmtfLEVxdWFsU3F1YXJlOigpPT56cCxFcmFzZXI6KCk9PnpfLEV0aGVybmV0UG9ydDooKT0+Q18sRXVybzooKT0+X18sRXZDaGFyZ2VyOigpPT5UXyxFeHBhbmQ6KCk9PkxfLEV4dGVybmFsTGluazooKT0+JF8sRXllOigpPT5QXyxFeWVDbG9zZWQ6KCk9PkRfLEV5ZU9mZjooKT0+QV8sRmFjdG9yeTooKT0+RV8sRmFuOigpPT5JXyxGYXN0Rm9yd2FyZDooKT0+Tl8sRmVhdGhlcjooKT0+Ul8sRmVuY2U6KCk9PkZfLEZlcnJpc1doZWVsOigpPT5PXyxGaWxlOigpPT5oVCxGaWxlQXJjaGl2ZTooKT0+Ql8sRmlsZUF1ZGlvOigpPT50YyxGaWxlQXVkaW8yOigpPT50YyxGaWxlQXhpczNEOigpPT5MNixGaWxlQXhpczNkOigpPT5MNixGaWxlQmFkZ2U6KCk9PiQ2LEZpbGVCYWRnZTI6KCk9PiQ2LEZpbGVCYXJDaGFydDooKT0+QTYsRmlsZUJhckNoYXJ0MjooKT0+RTYsRmlsZUJveDooKT0+SF8sRmlsZUJyYWNlczooKT0+RDYsRmlsZUJyYWNlc0Nvcm5lcjooKT0+UDYsRmlsZUNoYXJ0Q29sdW1uOigpPT5FNixGaWxlQ2hhcnRDb2x1bW5JbmNyZWFzaW5nOigpPT5BNixGaWxlQ2hhcnRMaW5lOigpPT5JNixGaWxlQ2hhcnRQaWU6KCk9Pk42LEZpbGVDaGVjazooKT0+cV8sRmlsZUNoZWNrMjooKT0+UjYsRmlsZUNoZWNrQ29ybmVyOigpPT5SNixGaWxlQ2xvY2s6KCk9PlZfLEZpbGVDb2RlOigpPT5qXyxGaWxlQ29kZTI6KCk9Pk82LEZpbGVDb2RlQ29ybmVyOigpPT5PNixGaWxlQ29nOigpPT5GNixGaWxlQ29nMjooKT0+RjYsRmlsZURpZmY6KCk9PlVfLEZpbGVEaWdpdDooKT0+V18sRmlsZURvd246KCk9PkdfLEZpbGVFZGl0OigpPT5XNixGaWxlRXhjbGFtYXRpb25Qb2ludDooKT0+QjYsRmlsZUhlYWRwaG9uZTooKT0+dGMsRmlsZUhlYXJ0OigpPT5ZXyxGaWxlSW1hZ2U6KCk9PktfLEZpbGVJbnB1dDooKT0+Wl8sRmlsZUpzb246KCk9PkQ2LEZpbGVKc29uMjooKT0+UDYsRmlsZUtleTooKT0+SDYsRmlsZUtleTI6KCk9Pkg2LEZpbGVMaW5lQ2hhcnQ6KCk9Pkk2LEZpbGVMb2NrOigpPT5xNixGaWxlTG9jazI6KCk9PnE2LEZpbGVNaW51czooKT0+WF8sRmlsZU1pbnVzMjooKT0+VjYsRmlsZU1pbnVzQ29ybmVyOigpPT5WNixGaWxlTXVzaWM6KCk9PlFfLEZpbGVPdXRwdXQ6KCk9PkpfLEZpbGVQZW46KCk9Plc2LEZpbGVQZW5MaW5lOigpPT5qNixGaWxlUGllQ2hhcnQ6KCk9Pk42LEZpbGVQbGF5OigpPT5VNixGaWxlUGx1czooKT0+ZVQsRmlsZVBsdXMyOigpPT5HNixGaWxlUGx1c0Nvcm5lcjooKT0+RzYsRmlsZVF1ZXN0aW9uOigpPT5ZNixGaWxlUXVlc3Rpb25NYXJrOigpPT5ZNixGaWxlU2NhbjooKT0+dFQsRmlsZVNlYXJjaDooKT0+YVQsRmlsZVNlYXJjaDI6KCk9Pks2LEZpbGVTZWFyY2hDb3JuZXI6KCk9Pks2LEZpbGVTaWduYWw6KCk9Plo2LEZpbGVTaWduYXR1cmU6KCk9Pmo2LEZpbGVTbGlkZXJzOigpPT5yVCxGaWxlU3ByZWFkc2hlZXQ6KCk9PnNULEZpbGVTdGFjazooKT0+b1QsRmlsZVN5bWxpbms6KCk9PmlULEZpbGVUZXJtaW5hbDooKT0+blQsRmlsZVRleHQ6KCk9PmxULEZpbGVUeXBlOigpPT5jVCxGaWxlVHlwZTI6KCk9Plg2LEZpbGVUeXBlQ29ybmVyOigpPT5YNixGaWxlVXA6KCk9PmRULEZpbGVVc2VyOigpPT51VCxGaWxlVmlkZW86KCk9PlU2LEZpbGVWaWRlbzI6KCk9PlE2LEZpbGVWaWRlb0NhbWVyYTooKT0+UTYsRmlsZVZvbHVtZTooKT0+cFQsRmlsZVZvbHVtZTI6KCk9Plo2LEZpbGVXYXJuaW5nOigpPT5CNixGaWxlWDooKT0+ZlQsRmlsZVgyOigpPT5KNixGaWxlWENvcm5lcjooKT0+SjYsRmlsZXM6KCk9PmdULEZpbG06KCk9Pm1ULEZpbHRlcjooKT0+c3UsRmlsdGVyWDooKT0+cnUsRmluZ2VycHJpbnQ6KCk9PmV1LEZpbmdlcnByaW50UGF0dGVybjooKT0+ZXUsRmlyZUV4dGluZ3Vpc2hlcjooKT0+YlQsRmlzaDooKT0+eVQsRmlzaE9mZjooKT0+eFQsRmlzaFN5bWJvbDooKT0+dlQsRmlzaGluZ0hvb2s6KCk9PndULEZpc2hpbmdSb2Q6KCk9PmtULEZsYWc6KCk9PkNULEZsYWdPZmY6KCk9Pk1ULEZsYWdUcmlhbmdsZUxlZnQ6KCk9PlNULEZsYWdUcmlhbmdsZVJpZ2h0OigpPT56VCxGbGFtZTooKT0+X1QsRmxhbWVLaW5kbGluZzooKT0+TFQsRmxhc2hsaWdodDooKT0+JFQsRmxhc2hsaWdodE9mZjooKT0+VFQsRmxhc2tDb25pY2FsOigpPT5BVCxGbGFza0NvbmljYWxPZmY6KCk9PkRULEZsYXNrUm91bmQ6KCk9PlBULEZsaXBIb3Jpem9udGFsOigpPT51cCxGbGlwSG9yaXpvbnRhbDI6KCk9PkVULEZsaXBWZXJ0aWNhbDooKT0+cHAsRmxpcFZlcnRpY2FsMjooKT0+SVQsRmxvd2VyOigpPT5GVCxGbG93ZXIyOigpPT5OVCxGb2N1czooKT0+UlQsRm9sZEhvcml6b250YWw6KCk9Pk9ULEZvbGRWZXJ0aWNhbDooKT0+cVQsRm9sZGVyOigpPT5tTCxGb2xkZXJBcmNoaXZlOigpPT5CVCxGb2xkZXJCb29rbWFyazooKT0+SFQsRm9sZGVyQ2hlY2s6KCk9PlZULEZvbGRlckNsb2NrOigpPT5XVCxGb2xkZXJDbG9zZWQ6KCk9PmpULEZvbGRlckNvZGU6KCk9PlVULEZvbGRlckNvZzooKT0+dHUsRm9sZGVyQ29nMjooKT0+dHUsRm9sZGVyRG90OigpPT5HVCxGb2xkZXJEb3duOigpPT5ZVCxGb2xkZXJFZGl0OigpPT5hdSxGb2xkZXJHaXQ6KCk9PlpULEZvbGRlckdpdDI6KCk9PktULEZvbGRlckhlYXJ0OigpPT5YVCxGb2xkZXJJbnB1dDooKT0+ZUwsRm9sZGVyS2FuYmFuOigpPT5RVCxGb2xkZXJLZXk6KCk9PkpULEZvbGRlckxvY2s6KCk9PnRMLEZvbGRlck1pbnVzOigpPT5zTCxGb2xkZXJPcGVuOigpPT5yTCxGb2xkZXJPcGVuRG90OigpPT5hTCxGb2xkZXJPdXRwdXQ6KCk9PmlMLEZvbGRlclBlbjooKT0+YXUsRm9sZGVyUGx1czooKT0+b0wsRm9sZGVyUm9vdDooKT0+bkwsRm9sZGVyU2VhcmNoOigpPT5jTCxGb2xkZXJTZWFyY2gyOigpPT5sTCxGb2xkZXJTeW1saW5rOigpPT5kTCxGb2xkZXJTeW5jOigpPT5wTCxGb2xkZXJUcmVlOigpPT51TCxGb2xkZXJVcDooKT0+ZkwsRm9sZGVyWDooKT0+aEwsRm9sZGVyczooKT0+Z0wsRm9vdHByaW50czooKT0+YkwsRm9ya0tuaWZlOigpPT5nZixGb3JrS25pZmVDcm9zc2VkOigpPT5tZixGb3JrbGlmdDooKT0+dkwsRm9ybTooKT0+eEwsRm9ybUlucHV0OigpPT5CdSxGb3J3YXJkOigpPT55TCxGcmFtZTooKT0+d0wsRnJvd246KCk9Pk1MLEZ1ZWw6KCk9PmtMLEZ1bGxzY3JlZW46KCk9PlNMLEZ1bmN0aW9uU3F1YXJlOigpPT5DcCxGdW5uZWw6KCk9PnN1LEZ1bm5lbFBsdXM6KCk9PnpMLEZ1bm5lbFg6KCk9PnJ1LEdhbGxlcnlIb3Jpem9udGFsOigpPT5fTCxHYWxsZXJ5SG9yaXpvbnRhbEVuZDooKT0+Q0wsR2FsbGVyeVRodW1ibmFpbHM6KCk9PlRMLEdhbGxlcnlWZXJ0aWNhbDooKT0+JEwsR2FsbGVyeVZlcnRpY2FsRW5kOigpPT5MTCxHYW1lcGFkOigpPT5QTCxHYW1lcGFkMjooKT0+REwsR2FtZXBhZERpcmVjdGlvbmFsOigpPT5BTCxHYW50dENoYXJ0OigpPT5PZCxHYW50dENoYXJ0U3F1YXJlOigpPT5pYyxHYXVnZTooKT0+RUwsR2F1Z2VDaXJjbGU6KCk9PnI2LEdhdmVsOigpPT5JTCxHZW06KCk9Pk5MLEdlb3JnaWFuTGFyaTooKT0+T0wsR2hvc3Q6KCk9PlJMLEdpZnQ6KCk9PkJMLEdpdEJyYW5jaDooKT0+cUwsR2l0QnJhbmNoTWludXM6KCk9PkZMLEdpdEJyYW5jaFBsdXM6KCk9PkhMLEdpdENvbW1pdDooKT0+aXUsR2l0Q29tbWl0SG9yaXpvbnRhbDooKT0+aXUsR2l0Q29tbWl0VmVydGljYWw6KCk9PlZMLEdpdENvbXBhcmU6KCk9PlVMLEdpdENvbXBhcmVBcnJvd3M6KCk9PmpMLEdpdEZvcms6KCk9PldMLEdpdEdyYXBoOigpPT5HTCxHaXRNZXJnZTooKT0+WUwsR2l0TWVyZ2VDb25mbGljdDooKT0+S0wsR2l0UHVsbFJlcXVlc3Q6KCk9PnQkLEdpdFB1bGxSZXF1ZXN0QXJyb3c6KCk9PlpMLEdpdFB1bGxSZXF1ZXN0Q2xvc2VkOigpPT5YTCxHaXRQdWxsUmVxdWVzdENyZWF0ZTooKT0+SkwsR2l0UHVsbFJlcXVlc3RDcmVhdGVBcnJvdzooKT0+UUwsR2l0UHVsbFJlcXVlc3REcmFmdDooKT0+ZSQsR2xhc3NXYXRlcjooKT0+YSQsR2xhc3NlczooKT0+ciQsR2xvYmU6KCk9Pm4kLEdsb2JlMjooKT0+QzYsR2xvYmVMb2NrOigpPT5zJCxHbG9iZU9mZjooKT0+byQsR2xvYmVYOigpPT5pJCxHb2FsOigpPT5sJCxHcHU6KCk9PmMkLEdyYWI6KCk9PmR1LEdyYWR1YXRpb25DYXA6KCk9PmQkLEdyYXBlOigpPT51JCxHcmlkOigpPT5hYyxHcmlkMlgyOigpPT5jdSxHcmlkMlgyQ2hlY2s6KCk9Pm91LEdyaWQyWDJQbHVzOigpPT5udSxHcmlkMlgyWDooKT0+bHUsR3JpZDJ4MjooKT0+Y3UsR3JpZDJ4MkNoZWNrOigpPT5vdSxHcmlkMngyUGx1czooKT0+bnUsR3JpZDJ4Mlg6KCk9Pmx1LEdyaWQzWDM6KCk9PmFjLEdyaWQzeDI6KCk9PnAkLEdyaWQzeDM6KCk9PmFjLEdyaXA6KCk9Pm0kLEdyaXBIb3Jpem9udGFsOigpPT5mJCxHcmlwVmVydGljYWw6KCk9PmgkLEdyb3VwOigpPT5nJCxHdWl0YXI6KCk9PmIkLEhhbTooKT0+diQsSGFtYnVyZ2VyOigpPT54JCxIYW1tZXI6KCk9PnkkLEhhbmQ6KCk9PkMkLEhhbmRDb2luczooKT0+dyQsSGFuZEZpc3Q6KCk9Pk0kLEhhbmRHcmFiOigpPT5kdSxIYW5kSGVhcnQ6KCk9PmskLEhhbmRIZWxwaW5nOigpPT51dSxIYW5kTWV0YWw6KCk9PlMkLEhhbmRQbGF0dGVyOigpPT56JCxIYW5kYmFnOigpPT5fJCxIYW5kc2hha2U6KCk9PlQkLEhhcmREcml2ZTooKT0+QSQsSGFyZERyaXZlRG93bmxvYWQ6KCk9PkwkLEhhcmREcml2ZVVwbG9hZDooKT0+JCQsSGFyZEhhdDooKT0+RCQsSGFzaDooKT0+UCQsSGF0R2xhc3NlczooKT0+RSQsSGF6ZTooKT0+SSQsSGQ6KCk9Pk4kLEhkbWlQb3J0OigpPT5SJCxIZWFkaW5nOigpPT5qJCxIZWFkaW5nMTooKT0+TyQsSGVhZGluZzI6KCk9PkYkLEhlYWRpbmczOigpPT5CJCxIZWFkaW5nNDooKT0+SCQsSGVhZGluZzU6KCk9PnEkLEhlYWRpbmc2OigpPT5WJCxIZWFkcGhvbmVPZmY6KCk9PlUkLEhlYWRwaG9uZXM6KCk9PkckLEhlYWRzZXQ6KCk9PlckLEhlYXJ0OigpPT50RCxIZWFydENyYWNrOigpPT5ZJCxIZWFydEhhbmRzaGFrZTooKT0+SyQsSGVhcnRNaW51czooKT0+WiQsSGVhcnRPZmY6KCk9PlgkLEhlYXJ0UGx1czooKT0+USQsSGVhcnRQdWxzZTooKT0+SiQsSGVhcnRYOigpPT5lRCxIZWF0ZXI6KCk9PmFELEhlbGljb3B0ZXI6KCk9PnJELEhlbHBDaXJjbGU6KCk9PkpsLEhlbHBpbmdIYW5kOigpPT51dSxIZXhhZ29uOigpPT5zRCxIaWdobGlnaHRlcjooKT0+aUQsSGlzdG9yeTooKT0+b0QsSG9tZTooKT0+cHUsSG9wOigpPT5uRCxIb3BPZmY6KCk9PmxELEhvc3BpdGFsOigpPT5jRCxIb3RlbDooKT0+ZEQsSG91cmdsYXNzOigpPT51RCxIb3VzZTooKT0+cHUsSG91c2VIZWFydDooKT0+cEQsSG91c2VQbHVnOigpPT5mRCxIb3VzZVBsdXM6KCk9Pm1ELEhvdXNlV2lmaTooKT0+aEQsSWNlQ3JlYW06KCk9Pmh1LEljZUNyZWFtMjooKT0+ZnUsSWNlQ3JlYW1Cb3dsOigpPT5mdSxJY2VDcmVhbUNvbmU6KCk9Pmh1LElkQ2FyZDooKT0+YkQsSWRDYXJkTGFueWFyZDooKT0+Z0QsSW1hZ2U6KCk9PnpELEltYWdlRG93bjooKT0+dkQsSW1hZ2VNaW51czooKT0+eEQsSW1hZ2VPZmY6KCk9PnlELEltYWdlUGxheTooKT0+d0QsSW1hZ2VQbHVzOigpPT5NRCxJbWFnZVVwOigpPT5rRCxJbWFnZVVwc2NhbGU6KCk9PlNELEltYWdlczooKT0+Q0QsSW1wb3J0OigpPT5fRCxJbmJveDooKT0+VEQsSW5kZW50OigpPT5zYyxJbmRlbnREZWNyZWFzZTooKT0+cmMsSW5kZW50SW5jcmVhc2U6KCk9PnNjLEluZGlhblJ1cGVlOigpPT5MRCxJbmZpbml0eTooKT0+JEQsSW5mbzooKT0+REQsSW5zcGVjdDooKT0+QXAsSW5zcGVjdGlvblBhbmVsOigpPT5BRCxJdGFsaWM6KCk9PlBELEl0ZXJhdGlvbkNjdzooKT0+RUQsSXRlcmF0aW9uQ3c6KCk9PklELEphcGFuZXNlWWVuOigpPT5ORCxKb3lzdGljazooKT0+UkQsS2FuYmFuOigpPT5PRCxLYW5iYW5TcXVhcmU6KCk9PkxwLEthbmJhblNxdWFyZURhc2hlZDooKT0+eXAsS2F5YWs6KCk9PkZELEtleTooKT0+cUQsS2V5Um91bmQ6KCk9PkhELEtleVNxdWFyZTooKT0+QkQsS2V5Ym9hcmQ6KCk9PlVELEtleWJvYXJkTXVzaWM6KCk9PlZELEtleWJvYXJkT2ZmOigpPT5qRCxMYW1wOigpPT5YRCxMYW1wQ2VpbGluZzooKT0+V0QsTGFtcERlc2s6KCk9PkdELExhbXBGbG9vcjooKT0+WUQsTGFtcFdhbGxEb3duOigpPT5LRCxMYW1wV2FsbFVwOigpPT5aRCxMYW5kUGxvdDooKT0+UUQsTGFuZG1hcms6KCk9PkpELExhbmd1YWdlczooKT0+ZUEsTGFwdG9wOigpPT5hQSxMYXB0b3AyOigpPT5tdSxMYXB0b3BNaW5pbWFsOigpPT5tdSxMYXB0b3BNaW5pbWFsQ2hlY2s6KCk9PnRBLExhc3NvOigpPT5pQSxMYXNzb1NlbGVjdDooKT0+ckEsTGF1Z2g6KCk9PnNBLExheWVyczooKT0+Z3UsTGF5ZXJzMjooKT0+b0EsTGF5ZXJzMzooKT0+Z3UsTGF5ZXJzTWludXM6KCk9Pm5BLExheWVyc1BsdXM6KCk9PmxBLExheW91dDooKT0+TnUsTGF5b3V0RGFzaGJvYXJkOigpPT5jQSxMYXlvdXRHcmlkOigpPT5kQSxMYXlvdXRMaXN0OigpPT51QSxMYXlvdXRQYW5lbExlZnQ6KCk9PnBBLExheW91dFBhbmVsVG9wOigpPT5oQSxMYXlvdXRUZW1wbGF0ZTooKT0+ZkEsTGVhZjooKT0+bUEsTGVhZnlHcmVlbjooKT0+Z0EsTGVjdGVybjooKT0+YkEsTGVuc0NvbmNhdmU6KCk9PnZBLExlbnNDb252ZXg6KCk9PnhBLExldHRlclRleHQ6KCk9PmVmLExpYnJhcnk6KCk9PndBLExpYnJhcnlCaWc6KCk9PnlBLExpYnJhcnlTcXVhcmU6KCk9Pl9wLExpZmVCdW95OigpPT5NQSxMaWdhdHVyZTooKT0+a0EsTGlnaHRidWxiOigpPT5TQSxMaWdodGJ1bGJPZmY6KCk9PnpBLExpbmVDaGFydDooKT0+SWQsTGluZURvdFJpZ2h0SG9yaXpvbnRhbDooKT0+Q0EsTGluZVNxdWlnZ2xlOigpPT5UQSxMaW5lU3R5bGU6KCk9Pl9BLExpbms6KCk9PkRBLExpbmsyOigpPT4kQSxMaW5rMk9mZjooKT0+TEEsTGlzdDooKT0+WkEsTGlzdENoZWNrOigpPT5BQSxMaXN0Q2hlY2tzOigpPT5QQSxMaXN0Q2hldnJvbnNEb3duVXA6KCk9PkVBLExpc3RDaGV2cm9uc1VwRG93bjooKT0+SUEsTGlzdENvbGxhcHNlOigpPT5OQSxMaXN0RW5kOigpPT5SQSxMaXN0RmlsdGVyOigpPT5GQSxMaXN0RmlsdGVyUGx1czooKT0+T0EsTGlzdEluZGVudERlY3JlYXNlOigpPT5yYyxMaXN0SW5kZW50SW5jcmVhc2U6KCk9PnNjLExpc3RNaW51czooKT0+QkEsTGlzdE11c2ljOigpPT5IQSxMaXN0T3JkZXJlZDooKT0+cUEsTGlzdFBsdXM6KCk9PlZBLExpc3RSZXN0YXJ0OigpPT5qQSxMaXN0U3RhcnQ6KCk9PlVBLExpc3RUb2RvOigpPT5XQSxMaXN0VHJlZTooKT0+R0EsTGlzdFZpZGVvOigpPT5ZQSxMaXN0WDooKT0+S0EsTG9hZGVyOigpPT5RQSxMb2FkZXIyOigpPT5idSxMb2FkZXJDaXJjbGU6KCk9PmJ1LExvYWRlclBpbndoZWVsOigpPT5YQSxMb2NhdGU6KCk9PnRQLExvY2F0ZUZpeGVkOigpPT5KQSxMb2NhdGVPZmY6KCk9PmVQLExvY2F0aW9uRWRpdDooKT0+d3UsTG9jazooKT0+clAsTG9ja0tleWhvbGU6KCk9PmFQLExvY2tLZXlob2xlT3BlbjooKT0+dnUsTG9ja09wZW46KCk9Pnh1LExvZ0luOigpPT5zUCxMb2dPdXQ6KCk9PmlQLExvZ3M6KCk9Pm9QLExvbGxpcG9wOigpPT5uUCxMdWdnYWdlOigpPT5sUCxNU3F1YXJlOigpPT5UcCxNYWduZXQ6KCk9PmRQLE1haWw6KCk9PnZQLE1haWxDaGVjazooKT0+Y1AsTWFpbE1pbnVzOigpPT51UCxNYWlsT3BlbjooKT0+cFAsTWFpbFBsdXM6KCk9PmZQLE1haWxRdWVzdGlvbjooKT0+eXUsTWFpbFF1ZXN0aW9uTWFyazooKT0+eXUsTWFpbFNlYXJjaDooKT0+aFAsTWFpbFdhcm5pbmc6KCk9Pm1QLE1haWxYOigpPT5nUCxNYWlsYm94OigpPT5iUCxNYWlsczooKT0+eFAsTWFwOigpPT5JUCxNYXBNaW51czooKT0+eVAsTWFwUGluOigpPT5BUCxNYXBQaW5DaGVjazooKT0+TVAsTWFwUGluQ2hlY2tJbnNpZGU6KCk9PndQLE1hcFBpbkhvdXNlOigpPT5rUCxNYXBQaW5NaW51czooKT0+elAsTWFwUGluTWludXNJbnNpZGU6KCk9PlNQLE1hcFBpbk9mZjooKT0+Q1AsTWFwUGluUGVuOigpPT53dSxNYXBQaW5QbHVzOigpPT5UUCxNYXBQaW5QbHVzSW5zaWRlOigpPT5fUCxNYXBQaW5TZWFyY2g6KCk9PkxQLE1hcFBpblg6KCk9PiRQLE1hcFBpblhJbnNpZGU6KCk9PkRQLE1hcFBpbm5lZDooKT0+UFAsTWFwUGx1czooKT0+RVAsTWFyczooKT0+UlAsTWFyc1N0cm9rZTooKT0+TlAsTWFydGluaTooKT0+T1AsTWF4aW1pemU6KCk9PkJQLE1heGltaXplMjooKT0+RlAsTWVkYWw6KCk9PkhQLE1lZ2FwaG9uZTooKT0+VlAsTWVnYXBob25lT2ZmOigpPT5xUCxNZWg6KCk9PmpQLE1lbW9yeVN0aWNrOigpPT5VUCxNZW51OigpPT5XUCxNZW51U3F1YXJlOigpPT4kcCxNZXJnZTooKT0+R1AsTWVzc2FnZUNpcmNsZTooKT0+c0UsTWVzc2FnZUNpcmNsZUNoZWNrOigpPT5ZUCxNZXNzYWdlQ2lyY2xlQ29kZTooKT0+S1AsTWVzc2FnZUNpcmNsZURhc2hlZDooKT0+WlAsTWVzc2FnZUNpcmNsZUhlYXJ0OigpPT5YUCxNZXNzYWdlQ2lyY2xlTW9yZTooKT0+UVAsTWVzc2FnZUNpcmNsZU9mZjooKT0+SlAsTWVzc2FnZUNpcmNsZVBsdXM6KCk9PmVFLE1lc3NhZ2VDaXJjbGVRdWVzdGlvbjooKT0+TXUsTWVzc2FnZUNpcmNsZVF1ZXN0aW9uTWFyazooKT0+TXUsTWVzc2FnZUNpcmNsZVJlcGx5OigpPT50RSxNZXNzYWdlQ2lyY2xlV2FybmluZzooKT0+YUUsTWVzc2FnZUNpcmNsZVg6KCk9PnJFLE1lc3NhZ2VTcXVhcmU6KCk9PndFLE1lc3NhZ2VTcXVhcmVDaGVjazooKT0+b0UsTWVzc2FnZVNxdWFyZUNvZGU6KCk9PmlFLE1lc3NhZ2VTcXVhcmVEYXNoZWQ6KCk9Pm5FLE1lc3NhZ2VTcXVhcmVEaWZmOigpPT5sRSxNZXNzYWdlU3F1YXJlRG90OigpPT5jRSxNZXNzYWdlU3F1YXJlSGVhcnQ6KCk9PmRFLE1lc3NhZ2VTcXVhcmVMb2NrOigpPT51RSxNZXNzYWdlU3F1YXJlTW9yZTooKT0+cEUsTWVzc2FnZVNxdWFyZU9mZjooKT0+ZkUsTWVzc2FnZVNxdWFyZVBsdXM6KCk9PmhFLE1lc3NhZ2VTcXVhcmVRdW90ZTooKT0+bUUsTWVzc2FnZVNxdWFyZVJlcGx5OigpPT5nRSxNZXNzYWdlU3F1YXJlU2hhcmU6KCk9PmJFLE1lc3NhZ2VTcXVhcmVUZXh0OigpPT52RSxNZXNzYWdlU3F1YXJlV2FybmluZzooKT0+eEUsTWVzc2FnZVNxdWFyZVg6KCk9PnlFLE1lc3NhZ2VzU3F1YXJlOigpPT5NRSxNZXRyb25vbWU6KCk9PmtFLE1pYzooKT0+ekUsTWljMjooKT0+a3UsTWljT2ZmOigpPT5TRSxNaWNWb2NhbDooKT0+a3UsTWljcm9jaGlwOigpPT5DRSxNaWNyb3Njb3BlOigpPT5fRSxNaWNyb3dhdmU6KCk9PlRFLE1pbGVzdG9uZTooKT0+TEUsTWlsazooKT0+REUsTWlsa09mZjooKT0+JEUsTWluaW1pemU6KCk9PlBFLE1pbmltaXplMjooKT0+QUUsTWludXM6KCk9PkVFLE1pbnVzQ2lyY2xlOigpPT5zNixNaW51c1NxdWFyZTooKT0+RHAsTWlycm9yUmVjdGFuZ3VsYXI6KCk9PklFLE1pcnJvclJvdW5kOigpPT5ORSxNb25pdG9yOigpPT5aRSxNb25pdG9yQ2hlY2s6KCk9PlJFLE1vbml0b3JDbG91ZDooKT0+T0UsTW9uaXRvckNvZzooKT0+RkUsTW9uaXRvckRvdDooKT0+QkUsTW9uaXRvckRvd246KCk9PnFFLE1vbml0b3JPZmY6KCk9PkhFLE1vbml0b3JQYXVzZTooKT0+VkUsTW9uaXRvclBsYXk6KCk9PmpFLE1vbml0b3JTbWFydHBob25lOigpPT5VRSxNb25pdG9yU3BlYWtlcjooKT0+V0UsTW9uaXRvclN0b3A6KCk9PllFLE1vbml0b3JVcDooKT0+R0UsTW9uaXRvclg6KCk9PktFLE1vb246KCk9PlFFLE1vb25TdGFyOigpPT5YRSxNb3JlSG9yaXpvbnRhbDooKT0+VDYsTW9yZVZlcnRpY2FsOigpPT5fNixNb3RvcmJpa2U6KCk9PkpFLE1vdW50YWluOigpPT50SSxNb3VudGFpblNub3c6KCk9PmVJLE1vdXNlOigpPT5kSSxNb3VzZUxlZnQ6KCk9PmFJLE1vdXNlT2ZmOigpPT5ySSxNb3VzZVBvaW50ZXI6KCk9PmxJLE1vdXNlUG9pbnRlcjI6KCk9PmlJLE1vdXNlUG9pbnRlcjJPZmY6KCk9PnNJLE1vdXNlUG9pbnRlckJhbjooKT0+b0ksTW91c2VQb2ludGVyQ2xpY2s6KCk9Pm5JLE1vdXNlUG9pbnRlclNxdWFyZURhc2hlZDooKT0+d3AsTW91c2VSaWdodDooKT0+Y0ksTW92ZTooKT0+a0ksTW92ZTNEOigpPT5TdSxNb3ZlM2Q6KCk9PlN1LE1vdmVEaWFnb25hbDooKT0+cEksTW92ZURpYWdvbmFsMjooKT0+dUksTW92ZURvd246KCk9Pm1JLE1vdmVEb3duTGVmdDooKT0+ZkksTW92ZURvd25SaWdodDooKT0+aEksTW92ZUhvcml6b250YWw6KCk9PmdJLE1vdmVMZWZ0OigpPT5iSSxNb3ZlUmlnaHQ6KCk9PnZJLE1vdmVVcDooKT0+d0ksTW92ZVVwTGVmdDooKT0+eEksTW92ZVVwUmlnaHQ6KCk9PnlJLE1vdmVWZXJ0aWNhbDooKT0+TUksTXVzaWM6KCk9Pl9JLE11c2ljMjooKT0+U0ksTXVzaWMzOigpPT5DSSxNdXNpYzQ6KCk9PnpJLE5hdmlnYXRpb246KCk9PkRJLE5hdmlnYXRpb24yOigpPT5MSSxOYXZpZ2F0aW9uMk9mZjooKT0+VEksTmF2aWdhdGlvbk9mZjooKT0+JEksTmV0d29yazooKT0+QUksTmV3c3BhcGVyOigpPT5QSSxOZmM6KCk9PkVJLE5vbkJpbmFyeTooKT0+SUksTm90ZWJvb2s6KCk9PkZJLE5vdGVib29rUGVuOigpPT5OSSxOb3RlYm9va1RhYnM6KCk9Pk9JLE5vdGVib29rVGV4dDooKT0+UkksTm90ZXBhZFRleHQ6KCk9PkhJLE5vdGVwYWRUZXh0RGFzaGVkOigpPT5CSSxOdXQ6KCk9PlZJLE51dE9mZjooKT0+cUksT2N0YWdvbjooKT0+VUksT2N0YWdvbkFsZXJ0OigpPT56dSxPY3RhZ29uTWludXM6KCk9PmpJLE9jdGFnb25QYXVzZTooKT0+Q3UsT2N0YWdvblg6KCk9Pl91LE9tZWdhOigpPT5XSSxPcHRpb246KCk9PkdJLE9yYml0OigpPT5ZSSxPcmlnYW1pOigpPT5LSSxPdXRkZW50OigpPT5yYyxQYWNrYWdlOigpPT5hTixQYWNrYWdlMjooKT0+WkksUGFja2FnZUNoZWNrOigpPT5YSSxQYWNrYWdlTWludXM6KCk9PlFJLFBhY2thZ2VPcGVuOigpPT5KSSxQYWNrYWdlUGx1czooKT0+ZU4sUGFja2FnZVNlYXJjaDooKT0+dE4sUGFja2FnZVg6KCk9PnJOLFBhaW50QnVja2V0OigpPT5zTixQYWludFJvbGxlcjooKT0+aU4sUGFpbnRicnVzaDooKT0+b04sUGFpbnRicnVzaDI6KCk9PlR1LFBhaW50YnJ1c2hWZXJ0aWNhbDooKT0+VHUsUGFsZXR0ZTooKT0+bk4sUGFsbXRyZWU6KCk9PnJmLFBhbmRhOigpPT5jTixQYW5lbEJvdHRvbTooKT0+dU4sUGFuZWxCb3R0b21DbG9zZTooKT0+bE4sUGFuZWxCb3R0b21EYXNoZWQ6KCk9Pkx1LFBhbmVsQm90dG9tSW5hY3RpdmU6KCk9Pkx1LFBhbmVsQm90dG9tT3BlbjooKT0+ZE4sUGFuZWxMZWZ0OigpPT5QdSxQYW5lbExlZnRDbG9zZTooKT0+JHUsUGFuZWxMZWZ0RGFzaGVkOigpPT5EdSxQYW5lbExlZnRJbmFjdGl2ZTooKT0+RHUsUGFuZWxMZWZ0T3BlbjooKT0+QXUsUGFuZWxMZWZ0UmlnaHREYXNoZWQ6KCk9PnBOLFBhbmVsUmlnaHQ6KCk9PmdOLFBhbmVsUmlnaHRDbG9zZTooKT0+Zk4sUGFuZWxSaWdodERhc2hlZDooKT0+RXUsUGFuZWxSaWdodEluYWN0aXZlOigpPT5FdSxQYW5lbFJpZ2h0T3BlbjooKT0+aE4sUGFuZWxUb3A6KCk9PnhOLFBhbmVsVG9wQm90dG9tRGFzaGVkOigpPT5tTixQYW5lbFRvcENsb3NlOigpPT5iTixQYW5lbFRvcERhc2hlZDooKT0+SXUsUGFuZWxUb3BJbmFjdGl2ZTooKT0+SXUsUGFuZWxUb3BPcGVuOigpPT52TixQYW5lbHNMZWZ0Qm90dG9tOigpPT55TixQYW5lbHNMZWZ0UmlnaHQ6KCk9Pms2LFBhbmVsc1JpZ2h0Qm90dG9tOigpPT53TixQYW5lbHNUb3BCb3R0b206KCk9PlZ1LFBhbmVsc1RvcExlZnQ6KCk9Pk51LFBhcGVyY2xpcDooKT0+TU4sUGFyZW50aGVzZXM6KCk9PmtOLFBhcmtpbmdDaXJjbGU6KCk9Pm82LFBhcmtpbmdDaXJjbGVPZmY6KCk9Pmk2LFBhcmtpbmdNZXRlcjooKT0+U04sUGFya2luZ1NxdWFyZTooKT0+RXAsUGFya2luZ1NxdWFyZU9mZjooKT0+UHAsUGFydHlQb3BwZXI6KCk9PkNOLFBhdXNlOigpPT56TixQYXVzZUNpcmNsZTooKT0+bjYsUGF1c2VPY3RhZ29uOigpPT5DdSxQYXdQcmludDooKT0+X04sUGNDYXNlOigpPT5UTixQZW46KCk9Pk91LFBlbkJveDooKT0+QzEsUGVuTGluZTooKT0+UnUsUGVuT2ZmOigpPT5MTixQZW5TcXVhcmU6KCk9PkMxLFBlblRvb2w6KCk9PiROLFBlbmNpbDooKT0+UE4sUGVuY2lsTGluZTooKT0+RE4sUGVuY2lsT2ZmOigpPT5BTixQZW5jaWxSdWxlcjooKT0+RU4sUGVudGFnb246KCk9PklOLFBlcmNlbnQ6KCk9Pk5OLFBlcmNlbnRDaXJjbGU6KCk9Pmw2LFBlcmNlbnREaWFtb25kOigpPT56NixQZXJjZW50U3F1YXJlOigpPT5JcCxQZXJzb25TdGFuZGluZzooKT0+Uk4sUGhpbGlwcGluZVBlc286KCk9Pk9OLFBob25lOigpPT5XTixQaG9uZUNhbGw6KCk9PkZOLFBob25lRm9yd2FyZGVkOigpPT5CTixQaG9uZUluY29taW5nOigpPT5ITixQaG9uZU1pc3NlZDooKT0+cU4sUGhvbmVPZmY6KCk9PlZOLFBob25lT3V0Z29pbmc6KCk9PmpOLFBpOigpPT5VTixQaVNxdWFyZTooKT0+TnAsUGlhbm86KCk9PkdOLFBpY2theGU6KCk9PllOLFBpY3R1cmVJblBpY3R1cmU6KCk9PlpOLFBpY3R1cmVJblBpY3R1cmUyOigpPT5LTixQaWVDaGFydDooKT0+RmQsUGlnZ3lCYW5rOigpPT5YTixQaWxjcm93OigpPT5lUixQaWxjcm93TGVmdDooKT0+UU4sUGlsY3Jvd1JpZ2h0OigpPT5KTixQaWxjcm93U3F1YXJlOigpPT5ScCxQaWxsOigpPT5yUixQaWxsQm90dGxlOigpPT50UixQaW46KCk9PnNSLFBpbk9mZjooKT0+YVIsUGlwZXR0ZTooKT0+aVIsUGl6emE6KCk9Pm9SLFBsYW5lOigpPT5jUixQbGFuZUxhbmRpbmc6KCk9Pm5SLFBsYW5lVGFrZW9mZjooKT0+bFIsUGxheTooKT0+ZFIsUGxheUNpcmNsZTooKT0+YzYsUGxheVNxdWFyZTooKT0+RnAsUGx1ZzooKT0+cFIsUGx1ZzI6KCk9PnVSLFBsdWdaYXA6KCk9PkZ1LFBsdWdaYXAyOigpPT5GdSxQbHVzOigpPT5mUixQbHVzQ2lyY2xlOigpPT5kNixQbHVzU3F1YXJlOigpPT5PcCxQb2NrZXRLbmlmZTooKT0+aFIsUG9kY2FzdDooKT0+bVIsUG9pbnRlcjooKT0+Z1IsUG9pbnRlck9mZjooKT0+YlIsUG9wY29ybjooKT0+dlIsUG9wc2ljbGU6KCk9PnhSLFBvdW5kU3Rlcmxpbmc6KCk9PnlSLFBvd2VyOigpPT5NUixQb3dlckNpcmNsZTooKT0+dTYsUG93ZXJPZmY6KCk9PndSLFBvd2VyU3F1YXJlOigpPT5CcCxQcmVzZW50YXRpb246KCk9PmtSLFByaW50ZXI6KCk9PkNSLFByaW50ZXJDaGVjazooKT0+elIsUHJpbnRlclg6KCk9PlNSLFByb2plY3RvcjooKT0+TFIsUHJvcG9ydGlvbnM6KCk9Pl9SLFB1enpsZTooKT0+VFIsUHlyYW1pZDooKT0+JFIsUXJDb2RlOigpPT5BUixRdW90ZTooKT0+RFIsUmFiYml0OigpPT5FUixSYWRhcjooKT0+UFIsUmFkaWF0aW9uOigpPT5JUixSYWRpY2FsOigpPT5OUixSYWRpbzooKT0+QlIsUmFkaW9PZmY6KCk9PlJSLFJhZGlvUmVjZWl2ZXI6KCk9Pk9SLFJhZGlvVG93ZXI6KCk9PkZSLFJhZGl1czooKT0+SFIsUmFpbmJvdzooKT0+cVIsUmF0OigpPT5WUixSYXRpbzooKT0+alIsUmVjZWlwdDooKT0+SlIsUmVjZWlwdENlbnQ6KCk9PlVSLFJlY2VpcHRFdXJvOigpPT5XUixSZWNlaXB0SW5kaWFuUnVwZWU6KCk9PkdSLFJlY2VpcHRKYXBhbmVzZVllbjooKT0+S1IsUmVjZWlwdFBvdW5kU3Rlcmxpbmc6KCk9PllSLFJlY2VpcHRSdXNzaWFuUnVibGU6KCk9PlpSLFJlY2VpcHRTd2lzc0ZyYW5jOigpPT5RUixSZWNlaXB0VGV4dDooKT0+WFIsUmVjZWlwdFR1cmtpc2hMaXJhOigpPT5lTyxSZWN0YW5nbGVDaXJjbGU6KCk9PnRPLFJlY3RhbmdsZUVsbGlwc2lzOigpPT5CdSxSZWN0YW5nbGVHb2dnbGVzOigpPT5hTyxSZWN0YW5nbGVIb3Jpem9udGFsOigpPT5yTyxSZWN0YW5nbGVWZXJ0aWNhbDooKT0+c08sUmVjeWNsZTooKT0+aU8sUmVkbzooKT0+bE8sUmVkbzI6KCk9Pm9PLFJlZG9Eb3Q6KCk9Pm5PLFJlZnJlc2hDY3c6KCk9PmRPLFJlZnJlc2hDY3dEb3Q6KCk9PmNPLFJlZnJlc2hDdzooKT0+cE8sUmVmcmVzaEN3T2ZmOigpPT51TyxSZWZyaWdlcmF0b3I6KCk9PmZPLFJlZ2V4OigpPT5oTyxSZW1vdmVGb3JtYXR0aW5nOigpPT5tTyxSZXBlYXQ6KCk9PnhPLFJlcGVhdDE6KCk9PmJPLFJlcGVhdDI6KCk9PmdPLFJlcGVhdE9mZjooKT0+dk8sUmVwbGFjZTooKT0+d08sUmVwbGFjZUFsbDooKT0+eU8sUmVwbHk6KCk9PmtPLFJlcGx5QWxsOigpPT5NTyxSZXdpbmQ6KCk9PnpPLFJpYmJvbjooKT0+U08sUm9hZDooKT0+Q08sUm9ja2V0OigpPT5fTyxSb2NraW5nQ2hhaXI6KCk9PlRPLFJvbGxlckNvYXN0ZXI6KCk9PkxPLFJvc2U6KCk9PiRPLFJvdGF0ZTNEOigpPT5IdSxSb3RhdGUzZDooKT0+SHUsUm90YXRlQ2N3OigpPT5QTyxSb3RhdGVDY3dLZXk6KCk9PkRPLFJvdGF0ZUNjd1NxdWFyZTooKT0+QU8sUm90YXRlQ3c6KCk9PklPLFJvdGF0ZUN3U3F1YXJlOigpPT5FTyxSb3V0ZTooKT0+Uk8sUm91dGVPZmY6KCk9Pk5PLFJvdXRlcjooKT0+T08sUm93czooKT0+cXUsUm93czI6KCk9PnF1LFJvd3MzOigpPT5WdSxSb3dzNDooKT0+Rk8sUnNzOigpPT5CTyxSdWxlcjooKT0+cU8sUnVsZXJEaW1lbnNpb25MaW5lOigpPT5ITyxSdXNzaWFuUnVibGU6KCk9PlZPLFNhaWxib2F0OigpPT5qTyxTYWxhZDooKT0+VU8sU2FuZHdpY2g6KCk9PldPLFNhdGVsbGl0ZTooKT0+R08sU2F0ZWxsaXRlRGlzaDooKT0+WU8sU2F1ZGlSaXlhbDooKT0+S08sU2F2ZTooKT0+UU8sU2F2ZUFsbDooKT0+WE8sU2F2ZU9mZjooKT0+Wk8sU2NhbGU6KCk9PkpPLFNjYWxlM0Q6KCk9Pmp1LFNjYWxlM2Q6KCk9Pmp1LFNjYWxpbmc6KCk9PnRGLFNjYW46KCk9PmNGLFNjYW5CYXJjb2RlOigpPT5lRixTY2FuRXllOigpPT5hRixTY2FuRmFjZTooKT0+ckYsU2NhbkhlYXJ0OigpPT5zRixTY2FuTGluZTooKT0+aUYsU2NhblFyQ29kZTooKT0+b0YsU2NhblNlYXJjaDooKT0+bkYsU2NhblRleHQ6KCk9PmxGLFNjYXR0ZXJDaGFydDooKT0+QmQsU2Nob29sOigpPT5kRixTY2hvb2wyOigpPT5uZixTY2lzc29yczooKT0+cEYsU2Npc3NvcnNMaW5lRGFzaGVkOigpPT51RixTY2lzc29yc1NxdWFyZTooKT0+cXAsU2Npc3NvcnNTcXVhcmVEYXNoZWRCb3R0b206KCk9PmRwLFNjb290ZXI6KCk9PmZGLFNjcmVlblNoYXJlOigpPT5tRixTY3JlZW5TaGFyZU9mZjooKT0+aEYsU2Nyb2xsOigpPT5iRixTY3JvbGxUZXh0OigpPT5nRixTZWFyY2g6KCk9PmtGLFNlYXJjaEFsZXJ0OigpPT52RixTZWFyY2hDaGVjazooKT0+eEYsU2VhcmNoQ29kZTooKT0+eUYsU2VhcmNoU2xhc2g6KCk9PndGLFNlYXJjaFg6KCk9Pk1GLFNlY3Rpb246KCk9PlNGLFNlbmQ6KCk9PkNGLFNlbmRIb3Jpem9uYWw6KCk9PlV1LFNlbmRIb3Jpem9udGFsOigpPT5VdSxTZW5kVG9CYWNrOigpPT56RixTZXBhcmF0b3JIb3Jpem9udGFsOigpPT5fRixTZXBhcmF0b3JWZXJ0aWNhbDooKT0+VEYsU2VydmVyOigpPT5BRixTZXJ2ZXJDb2c6KCk9PkxGLFNlcnZlckNyYXNoOigpPT4kRixTZXJ2ZXJPZmY6KCk9PkRGLFNldHRpbmdzOigpPT5JRixTZXR0aW5nczI6KCk9PlBGLFNoYXBlczooKT0+RUYsU2hhcmU6KCk9PlJGLFNoYXJlMjooKT0+TkYsU2hlZXQ6KCk9PkZGLFNoZWxsOigpPT5PRixTaGVsdmluZ1VuaXQ6KCk9PkJGLFNoaWVsZDooKT0+UUYsU2hpZWxkQWxlcnQ6KCk9PkhGLFNoaWVsZEJhbjooKT0+cUYsU2hpZWxkQ2hlY2s6KCk9PlZGLFNoaWVsZENsb3NlOigpPT5HdSxTaGllbGRDb2c6KCk9PldGLFNoaWVsZENvZ0Nvcm5lcjooKT0+akYsU2hpZWxkRWxsaXBzaXM6KCk9PlVGLFNoaWVsZEhhbGY6KCk9PkdGLFNoaWVsZE1pbnVzOigpPT5ZRixTaGllbGRPZmY6KCk9PktGLFNoaWVsZFBsdXM6KCk9PlpGLFNoaWVsZFF1ZXN0aW9uOigpPT5XdSxTaGllbGRRdWVzdGlvbk1hcms6KCk9Pld1LFNoaWVsZFVzZXI6KCk9PlhGLFNoaWVsZFg6KCk9Pkd1LFNoaXA6KCk9PkpGLFNoaXBXaGVlbDooKT0+ZUIsU2hpcnQ6KCk9PnRCLFNob3BwaW5nQmFnOigpPT5hQixTaG9wcGluZ0Jhc2tldDooKT0+ckIsU2hvcHBpbmdDYXJ0OigpPT5zQixTaG92ZWw6KCk9PmlCLFNob3dlckhlYWQ6KCk9Pm9CLFNocmVkZGVyOigpPT5uQixTaHJpbXA6KCk9PmNCLFNocmluazooKT0+bEIsU2hydWI6KCk9PmRCLFNodWZmbGU6KCk9PnVCLFNpZGViYXI6KCk9PlB1LFNpZGViYXJDbG9zZTooKT0+JHUsU2lkZWJhck9wZW46KCk9PkF1LFNpZ21hOigpPT5wQixTaWdtYVNxdWFyZTooKT0+SHAsU2lnbmFsOigpPT5iQixTaWduYWxIaWdoOigpPT5mQixTaWduYWxMb3c6KCk9PmhCLFNpZ25hbE1lZGl1bTooKT0+bUIsU2lnbmFsWmVybzooKT0+Z0IsU2lnbmF0dXJlOigpPT52QixTaWducG9zdDooKT0+eUIsU2lnbnBvc3RCaWc6KCk9PnhCLFNpcmVuOigpPT53QixTa2lwQmFjazooKT0+TUIsU2tpcEZvcndhcmQ6KCk9PmtCLFNrdWxsOigpPT5TQixTbGFzaDooKT0+ekIsU2xhc2hTcXVhcmU6KCk9PlZwLFNsaWNlOigpPT5fQixTbGlkZXJzOigpPT5ZdSxTbGlkZXJzSG9yaXpvbnRhbDooKT0+Q0IsU2xpZGVyc1ZlcnRpY2FsOigpPT5ZdSxTbWFydHBob25lOigpPT5EQixTbWFydHBob25lQ2hhcmdpbmc6KCk9PlRCLFNtYXJ0cGhvbmVOZmM6KCk9PkxCLFNtaWxlOigpPT5BQixTbWlsZVBsdXM6KCk9PiRCLFNuYWlsOigpPT5QQixTbm93Zmxha2U6KCk9PkVCLFNvYXBEaXNwZW5zZXJEcm9wbGV0OigpPT5JQixTb2ZhOigpPT5OQixTb2xhclBhbmVsOigpPT5SQixTb3J0QXNjOigpPT52ZCxTb3J0RGVzYzooKT0+bWQsU291cDooKT0+T0IsU3BhY2U6KCk9PkZCLFNwYWRlOigpPT5CQixTcGFya2xlOigpPT5IQixTcGFya2xlczooKT0+S3UsU3BlYWtlcjooKT0+cUIsU3BlZWNoOigpPT5WQixTcGVsbENoZWNrOigpPT5qQixTcGVsbENoZWNrMjooKT0+VUIsU3BsaW5lOigpPT5HQixTcGxpbmVQb2ludGVyOigpPT5XQixTcGxpdDooKT0+WUIsU3BsaXRTcXVhcmVIb3Jpem9udGFsOigpPT5qcCxTcGxpdFNxdWFyZVZlcnRpY2FsOigpPT5VcCxTcG9vbDooKT0+S0IsU3BvcnRTaG9lOigpPT5aQixTcG90bGlnaHQ6KCk9PkpCLFNwcmF5Q2FuOigpPT5YQixTcHJvdXQ6KCk9PlFCLFNxdWFyZTooKT0+cEgsU3F1YXJlQWN0aXZpdHk6KCk9Plp1LFNxdWFyZUFycm93RG93bjooKT0+SnUsU3F1YXJlQXJyb3dEb3duTGVmdDooKT0+WHUsU3F1YXJlQXJyb3dEb3duUmlnaHQ6KCk9PlF1LFNxdWFyZUFycm93TGVmdDooKT0+ZXAsU3F1YXJlQXJyb3dPdXREb3duTGVmdDooKT0+dHAsU3F1YXJlQXJyb3dPdXREb3duUmlnaHQ6KCk9PmFwLFNxdWFyZUFycm93T3V0VXBMZWZ0OigpPT5ycCxTcXVhcmVBcnJvd091dFVwUmlnaHQ6KCk9PnNwLFNxdWFyZUFycm93UmlnaHQ6KCk9PmlwLFNxdWFyZUFycm93UmlnaHRFbnRlcjooKT0+ZUgsU3F1YXJlQXJyb3dSaWdodEV4aXQ6KCk9PnRILFNxdWFyZUFycm93VXA6KCk9PmxwLFNxdWFyZUFycm93VXBMZWZ0OigpPT5vcCxTcXVhcmVBcnJvd1VwUmlnaHQ6KCk9Pm5wLFNxdWFyZUFzdGVyaXNrOigpPT5jcCxTcXVhcmVCb3R0b21EYXNoZWRTY2lzc29yczooKT0+ZHAsU3F1YXJlQ2VudGVybGluZURhc2hlZEhvcml6b250YWw6KCk9PnVwLFNxdWFyZUNlbnRlcmxpbmVEYXNoZWRWZXJ0aWNhbDooKT0+cHAsU3F1YXJlQ2hhcnRHYW50dDooKT0+aWMsU3F1YXJlQ2hlY2s6KCk9PmhwLFNxdWFyZUNoZWNrQmlnOigpPT5mcCxTcXVhcmVDaGV2cm9uRG93bjooKT0+bXAsU3F1YXJlQ2hldnJvbkxlZnQ6KCk9PmdwLFNxdWFyZUNoZXZyb25SaWdodDooKT0+YnAsU3F1YXJlQ2hldnJvblVwOigpPT52cCxTcXVhcmVDb2RlOigpPT54cCxTcXVhcmVEYXNoZWQ6KCk9Pk1wLFNxdWFyZURhc2hlZEJvdHRvbTooKT0+ckgsU3F1YXJlRGFzaGVkQm90dG9tQ29kZTooKT0+YUgsU3F1YXJlRGFzaGVkS2FuYmFuOigpPT55cCxTcXVhcmVEYXNoZWRNb3VzZVBvaW50ZXI6KCk9PndwLFNxdWFyZURhc2hlZFRleHQ6KCk9Pm9jLFNxdWFyZURhc2hlZFRvcFNvbGlkOigpPT5zSCxTcXVhcmVEaXZpZGU6KCk9PlNwLFNxdWFyZURvdDooKT0+a3AsU3F1YXJlRXF1YWw6KCk9PnpwLFNxdWFyZUZ1bmN0aW9uOigpPT5DcCxTcXVhcmVHYW50dENoYXJ0OigpPT5pYyxTcXVhcmVLYW5iYW46KCk9PkxwLFNxdWFyZUxpYnJhcnk6KCk9Pl9wLFNxdWFyZU06KCk9PlRwLFNxdWFyZU1lbnU6KCk9PiRwLFNxdWFyZU1pbnVzOigpPT5EcCxTcXVhcmVNb3VzZVBvaW50ZXI6KCk9PkFwLFNxdWFyZVBhcmtpbmc6KCk9PkVwLFNxdWFyZVBhcmtpbmdPZmY6KCk9PlBwLFNxdWFyZVBhdXNlOigpPT5pSCxTcXVhcmVQZW46KCk9PkMxLFNxdWFyZVBlcmNlbnQ6KCk9PklwLFNxdWFyZVBpOigpPT5OcCxTcXVhcmVQaWxjcm93OigpPT5ScCxTcXVhcmVQbGF5OigpPT5GcCxTcXVhcmVQbHVzOigpPT5PcCxTcXVhcmVQb3dlcjooKT0+QnAsU3F1YXJlUmFkaWNhbDooKT0+b0gsU3F1YXJlUm91bmRDb3JuZXI6KCk9Pm5ILFNxdWFyZVNjaXNzb3JzOigpPT5xcCxTcXVhcmVTaWdtYTooKT0+SHAsU3F1YXJlU2xhc2g6KCk9PlZwLFNxdWFyZVNwbGl0SG9yaXpvbnRhbDooKT0+anAsU3F1YXJlU3BsaXRWZXJ0aWNhbDooKT0+VXAsU3F1YXJlU3F1YXJlOigpPT5sSCxTcXVhcmVTdGFjazooKT0+Y0gsU3F1YXJlU3RhcjooKT0+ZEgsU3F1YXJlU3RvcDooKT0+dUgsU3F1YXJlVGVybWluYWw6KCk9PldwLFNxdWFyZVVzZXI6KCk9PktwLFNxdWFyZVVzZXJSb3VuZDooKT0+R3AsU3F1YXJlWDooKT0+WXAsU3F1YXJlc0V4Y2x1ZGU6KCk9PmZILFNxdWFyZXNJbnRlcnNlY3Q6KCk9PmhILFNxdWFyZXNTdWJ0cmFjdDooKT0+bUgsU3F1YXJlc1VuaXRlOigpPT5nSCxTcXVpcmNsZTooKT0+dkgsU3F1aXJjbGVEYXNoZWQ6KCk9PmJILFNxdWlycmVsOigpPT54SCxTdGFtcDooKT0+eUgsU3RhcjooKT0+a0gsU3RhckhhbGY6KCk9PndILFN0YXJPZmY6KCk9Pk1ILFN0YXJzOigpPT5LdSxTdGVwQmFjazooKT0+U0gsU3RlcEZvcndhcmQ6KCk9PnpILFN0ZXRob3Njb3BlOigpPT5fSCxTdGlja2VyOigpPT5DSCxTdGlja3lOb3RlOigpPT5USCxTdG9uZTooKT0+REgsU3RvcENpcmNsZTooKT0+ZjYsU3RvcmU6KCk9PkxILFN0cmV0Y2hIb3Jpem9udGFsOigpPT4kSCxTdHJldGNoVmVydGljYWw6KCk9PkFILFN0cmlrZXRocm91Z2g6KCk9PlBILFN1YnNjcmlwdDooKT0+RUgsU3VidGl0bGVzOigpPT5fZCxTdW46KCk9PkZILFN1bkRpbTooKT0+SUgsU3VuTWVkaXVtOigpPT5OSCxTdW5Nb29uOigpPT5SSCxTdW5Tbm93OigpPT5PSCxTdW5yaXNlOigpPT5CSCxTdW5zZXQ6KCk9PkhILFN1cGVyc2NyaXB0OigpPT5xSCxTd2F0Y2hCb29rOigpPT5WSCxTd2lzc0ZyYW5jOigpPT5qSCxTd2l0Y2hDYW1lcmE6KCk9PlVILFN3b3JkOigpPT5XSCxTd29yZHM6KCk9PkdILFN5cmluZ2U6KCk9PllILFRhYmxlOigpPT5ycSxUYWJsZTI6KCk9PktILFRhYmxlQ2VsbHNNZXJnZTooKT0+WkgsVGFibGVDZWxsc1NwbGl0OigpPT5YSCxUYWJsZUNvbHVtbnNTcGxpdDooKT0+UUgsVGFibGVDb25maWc6KCk9PmVjLFRhYmxlT2ZDb250ZW50czooKT0+SkgsVGFibGVQcm9wZXJ0aWVzOigpPT5lcSxUYWJsZVJvd3NTcGxpdDooKT0+dHEsVGFibGV0OigpPT5zcSxUYWJsZXRTbWFydHBob25lOigpPT5hcSxUYWJsZXRzOigpPT5pcSxUYWc6KCk9Pm9xLFRhZ3M6KCk9Pm5xLFRhbGx5MTooKT0+bHEsVGFsbHkyOigpPT5jcSxUYWxseTM6KCk9PmRxLFRhbGx5NDooKT0+dXEsVGFsbHk1OigpPT5mcSxUYW5nZW50OigpPT5wcSxUYXJnZXQ6KCk9PmhxLFRlbGVzY29wZTooKT0+bXEsVGVudDooKT0+YnEsVGVudFRyZWU6KCk9PmdxLFRlcm1pbmFsOigpPT52cSxUZXJtaW5hbFNxdWFyZTooKT0+V3AsVGVzdFR1YmU6KCk9PnhxLFRlc3RUdWJlMjooKT0+WnAsVGVzdFR1YmVEaWFnb25hbDooKT0+WnAsVGVzdFR1YmVzOigpPT55cSxUZXh0OigpPT5uYyxUZXh0QWxpZ25DZW50ZXI6KCk9PlhwLFRleHRBbGlnbkVuZDooKT0+UXAsVGV4dEFsaWduSnVzdGlmeTooKT0+SnAsVGV4dEFsaWduU3RhcnQ6KCk9Pm5jLFRleHRDdXJzb3I6KCk9Pk1xLFRleHRDdXJzb3JJbnB1dDooKT0+d3EsVGV4dEluaXRpYWw6KCk9PmVmLFRleHRRdW90ZTooKT0+a3EsVGV4dFNlYXJjaDooKT0+U3EsVGV4dFNlbGVjdDooKT0+b2MsVGV4dFNlbGVjdGlvbjooKT0+b2MsVGV4dFdyYXA6KCk9PnRmLFRoZWF0ZXI6KCk9PnpxLFRoZXJtb21ldGVyOigpPT5UcSxUaGVybW9tZXRlclNub3dmbGFrZTooKT0+Q3EsVGhlcm1vbWV0ZXJTdW46KCk9Pl9xLFRodW1ic0Rvd246KCk9PkxxLFRodW1ic1VwOigpPT4kcSxUaWNrZXQ6KCk9PlJxLFRpY2tldENoZWNrOigpPT5EcSxUaWNrZXRNaW51czooKT0+QXEsVGlja2V0UGVyY2VudDooKT0+UHEsVGlja2V0UGx1czooKT0+RXEsVGlja2V0U2xhc2g6KCk9PklxLFRpY2tldFg6KCk9Pk5xLFRpY2tldHM6KCk9PkZxLFRpY2tldHNQbGFuZTooKT0+T3EsVGltZWxpbmU6KCk9PkJxLFRpbWVyOigpPT5WcSxUaW1lck9mZjooKT0+SHEsVGltZXJSZXNldDooKT0+cXEsVG9nZ2xlTGVmdDooKT0+VXEsVG9nZ2xlUmlnaHQ6KCk9PldxLFRvaWxldDooKT0+anEsVG9vbENhc2U6KCk9PkdxLFRvb2xib3g6KCk9PllxLFRvcm5hZG86KCk9PlhxLFRvcnVzOigpPT5LcSxUb3VjaHBhZDooKT0+UXEsVG91Y2hwYWRPZmY6KCk9PlpxLFRvd2VsUmFjazooKT0+SnEsVG93ZXJDb250cm9sOigpPT5lVixUb3lCcmljazooKT0+dFYsVHJhY3RvcjooKT0+YVYsVHJhZmZpY0NvbmU6KCk9PnJWLFRyYWluOigpPT5hZixUcmFpbkZyb250OigpPT5pVixUcmFpbkZyb250VHVubmVsOigpPT5zVixUcmFpblRyYWNrOigpPT5vVixUcmFtRnJvbnQ6KCk9PmFmLFRyYW5zZ2VuZGVyOigpPT5uVixUcmFzaDooKT0+Y1YsVHJhc2gyOigpPT5sVixUcmVlRGVjaWR1b3VzOigpPT5kVixUcmVlUGFsbTooKT0+cmYsVHJlZVBpbmU6KCk9PnVWLFRyZWVzOigpPT5wVixUcmVuZGluZ0Rvd246KCk9PmZWLFRyZW5kaW5nVXA6KCk9Pm1WLFRyZW5kaW5nVXBEb3duOigpPT5oVixUcmlhbmdsZTooKT0+dlYsVHJpYW5nbGVBbGVydDooKT0+c2YsVHJpYW5nbGVEYXNoZWQ6KCk9PmdWLFRyaWFuZ2xlUmlnaHQ6KCk9PmJWLFRyb3BoeTooKT0+eFYsVHJ1Y2s6KCk9PndWLFRydWNrRWxlY3RyaWM6KCk9PnlWLFR1cmtpc2hMaXJhOigpPT5NVixUdXJudGFibGU6KCk9PmtWLFR1cnRsZTooKT0+U1YsVHY6KCk9PkNWLFR2MjooKT0+b2YsVHZNaW5pbWFsOigpPT5vZixUdk1pbmltYWxQbGF5OigpPT56VixUeXBlOigpPT5UVixUeXBlT3V0bGluZTooKT0+X1YsVW1icmVsbGE6KCk9PiRWLFVtYnJlbGxhT2ZmOigpPT5MVixVbmRlcmxpbmU6KCk9PkRWLFVuZG86KCk9PkVWLFVuZG8yOigpPT5BVixVbmRvRG90OigpPT5QVixVbmZvbGRIb3Jpem9udGFsOigpPT5JVixVbmZvbGRWZXJ0aWNhbDooKT0+TlYsVW5ncm91cDooKT0+UlYsVW5pdmVyc2l0eTooKT0+bmYsVW5saW5rOigpPT5CVixVbmxpbmsyOigpPT5PVixVbmxvY2s6KCk9Pnh1LFVubG9ja0tleWhvbGU6KCk9PnZ1LFVucGx1ZzooKT0+RlYsVXBsb2FkOigpPT5IVixVcGxvYWRDbG91ZDooKT0+eTYsVXNiOigpPT5xVixVc2VyOigpPT5haixVc2VyMjooKT0+ZmYsVXNlckNoZWNrOigpPT5WVixVc2VyQ2hlY2syOigpPT5sZixVc2VyQ2lyY2xlOigpPT5tNixVc2VyQ2lyY2xlMjooKT0+aDYsVXNlckNvZzooKT0+alYsVXNlckNvZzI6KCk9PmNmLFVzZXJLZXk6KCk9PlVWLFVzZXJMb2NrOigpPT5XVixVc2VyTWludXM6KCk9PkdWLFVzZXJNaW51czI6KCk9PmRmLFVzZXJQZW46KCk9PllWLFVzZXJQbHVzOigpPT5LVixVc2VyUGx1czI6KCk9PnVmLFVzZXJSb3VuZDooKT0+ZmYsVXNlclJvdW5kQ2hlY2s6KCk9PmxmLFVzZXJSb3VuZENvZzooKT0+Y2YsVXNlclJvdW5kS2V5OigpPT5aVixVc2VyUm91bmRNaW51czooKT0+ZGYsVXNlclJvdW5kUGVuOigpPT5YVixVc2VyUm91bmRQbHVzOigpPT51ZixVc2VyUm91bmRTZWFyY2g6KCk9PlFWLFVzZXJSb3VuZFg6KCk9PnBmLFVzZXJTZWFyY2g6KCk9PkpWLFVzZXJTcXVhcmU6KCk9PktwLFVzZXJTcXVhcmUyOigpPT5HcCxVc2VyU3RhcjooKT0+ZWosVXNlclg6KCk9PnRqLFVzZXJYMjooKT0+cGYsVXNlcnM6KCk9PnJqLFVzZXJzMjooKT0+aGYsVXNlcnNSb3VuZDooKT0+aGYsVXRlbnNpbHM6KCk9PmdmLFV0ZW5zaWxzQ3Jvc3NlZDooKT0+bWYsVXRpbGl0eVBvbGU6KCk9PmlqLFZhbjooKT0+c2osVmFyaWFibGU6KCk9Pm9qLFZhdWx0OigpPT5uaixWZWN0b3JTcXVhcmU6KCk9PmxqLFZlZ2FuOigpPT5jaixWZW5ldGlhbk1hc2s6KCk9PmRqLFZlbnVzOigpPT5waixWZW51c0FuZE1hcnM6KCk9PnVqLFZlcmlmaWVkOigpPT53ZCxWaWJyYXRlOigpPT5oaixWaWJyYXRlT2ZmOigpPT5maixWaWRlbzooKT0+Z2osVmlkZW9PZmY6KCk9Pm1qLFZpZGVvdGFwZTooKT0+YmosVmlldzooKT0+dmosVm9pY2VtYWlsOigpPT55aixWb2xsZXliYWxsOigpPT54aixWb2x1bWU6KCk9PnpqLFZvbHVtZTE6KCk9PndqLFZvbHVtZTI6KCk9Pk1qLFZvbHVtZU9mZjooKT0+a2osVm9sdW1lWDooKT0+U2osVm90ZTooKT0+Q2osV2FsbGV0OigpPT5UaixXYWxsZXQyOigpPT5iZixXYWxsZXRDYXJkczooKT0+X2osV2FsbGV0TWluaW1hbDooKT0+YmYsV2FsbHBhcGVyOigpPT5MaixXYW5kOigpPT4kaixXYW5kMjooKT0+dmYsV2FuZFNwYXJrbGVzOigpPT52ZixXYXJlaG91c2U6KCk9PkRqLFdhc2hpbmdNYWNoaW5lOigpPT5QaixXYXRjaDooKT0+QWosV2F2ZXM6KCk9PnhmLFdhdmVzQXJyb3dEb3duOigpPT5FaixXYXZlc0Fycm93VXA6KCk9PklqLFdhdmVzSG9yaXpvbnRhbDooKT0+eGYsV2F2ZXNMYWRkZXI6KCk9Pk5qLFdhdmVzVmVydGljYWw6KCk9PlJqLFdheXBvaW50czooKT0+T2osV2ViY2FtOigpPT5GaixXZWJob29rOigpPT5IaixXZWJob29rT2ZmOigpPT5CaixXZWlnaHQ6KCk9PlZqLFdlaWdodFRpbGRlOigpPT5xaixXaGVhdDooKT0+VWosV2hlYXRPZmY6KCk9PmpqLFdob2xlV29yZDooKT0+V2osV2lmaTooKT0+dFUsV2lmaUNvZzooKT0+R2osV2lmaUhpZ2g6KCk9PllqLFdpZmlMb3c6KCk9PktqLFdpZmlPZmY6KCk9PlpqLFdpZmlQZW46KCk9PlhqLFdpZmlTeW5jOigpPT5RaixXaWZpWmVybzooKT0+SmosV2luZDooKT0+YVUsV2luZEFycm93RG93bjooKT0+ZVUsV2luZTooKT0+b1UsV2luZU9mZjooKT0+clUsV29ya2Zsb3c6KCk9PmlVLFdvcm06KCk9PnNVLFdyYXBUZXh0OigpPT50ZixXcmVuY2g6KCk9Pm5VLFg6KCk9PmNVLFhDaXJjbGU6KCk9Pmc2LFhMaW5lVG9wOigpPT5sVSxYT2N0YWdvbjooKT0+X3UsWFNxdWFyZTooKT0+WXAsWmFwOigpPT51VSxaYXBPZmY6KCk9PmRVLFpvZGlhY0FxdWFyaXVzOigpPT5wVSxab2RpYWNBcmllczooKT0+ZlUsWm9kaWFjQ2FuY2VyOigpPT5oVSxab2RpYWNDYXByaWNvcm46KCk9Pm1VLFpvZGlhY0dlbWluaTooKT0+Z1UsWm9kaWFjTGVvOigpPT5iVSxab2RpYWNMaWJyYTooKT0+dlUsWm9kaWFjT3BoaXVjaHVzOigpPT54VSxab2RpYWNQaXNjZXM6KCk9PnlVLFpvZGlhY1NhZ2l0dGFyaXVzOigpPT5NVSxab2RpYWNTY29ycGlvOigpPT53VSxab2RpYWNUYXVydXM6KCk9PmtVLFpvZGlhY1ZpcmdvOigpPT5TVSxab29tSW46KCk9PnpVLFpvb21PdXQ6KCk9PkNVfSk7dmFyIHlyYT1mKCgpPT57RmdlKCk7QmdlKCk7SGdlKCk7cWdlKCk7VmdlKCk7amdlKCk7VWdlKCk7V2dlKCk7R2dlKCk7WWdlKCk7S2dlKCk7WmdlKCk7WGdlKCk7UWdlKCk7SmdlKCk7ZWJlKCk7dGJlKCk7YWJlKCk7cmJlKCk7c2JlKCk7aWJlKCk7b2JlKCk7bmJlKCk7bGJlKCk7Y2JlKCk7ZGJlKCk7dWJlKCk7cGJlKCk7ZmJlKCk7aGJlKCk7bWJlKCk7Z2JlKCk7YmJlKCk7dmJlKCk7eGJlKCk7eWJlKCk7d2JlKCk7TWJlKCk7a2JlKCk7U2JlKCk7emJlKCk7Q2JlKCk7X2JlKCk7VGJlKCk7TGJlKCk7JGJlKCk7RGJlKCk7QWJlKCk7UGJlKCk7RWJlKCk7SWJlKCk7TmJlKCk7UmJlKCk7T2JlKCk7RmJlKCk7QmJlKCk7SGJlKCk7cWJlKCk7VmJlKCk7amJlKCk7VWJlKCk7V2JlKCk7R2JlKCk7WWJlKCk7S2JlKCk7WmJlKCk7WGJlKCk7UWJlKCk7SmJlKCk7ZXZlKCk7dHZlKCk7YXZlKCk7cnZlKCk7c3ZlKCk7aXZlKCk7b3ZlKCk7bnZlKCk7bHZlKCk7Y3ZlKCk7ZHZlKCk7dXZlKCk7cHZlKCk7ZnZlKCk7aHZlKCk7bXZlKCk7Z3ZlKCk7YnZlKCk7dnZlKCk7eHZlKCk7eXZlKCk7d3ZlKCk7TXZlKCk7a3ZlKCk7U3ZlKCk7enZlKCk7Q3ZlKCk7X3ZlKCk7VHZlKCk7THZlKCk7JHZlKCk7RHZlKCk7QXZlKCk7UHZlKCk7RXZlKCk7SXZlKCk7TnZlKCk7UnZlKCk7T3ZlKCk7RnZlKCk7QnZlKCk7SHZlKCk7cXZlKCk7VnZlKCk7anZlKCk7VXZlKCk7V3ZlKCk7R3ZlKCk7WXZlKCk7S3ZlKCk7WnZlKCk7WHZlKCk7UXZlKCk7SnZlKCk7ZXhlKCk7dHhlKCk7YXhlKCk7cnhlKCk7c3hlKCk7aXhlKCk7b3hlKCk7bnhlKCk7bHhlKCk7Y3hlKCk7ZHhlKCk7dXhlKCk7cHhlKCk7ZnhlKCk7aHhlKCk7bXhlKCk7Z3hlKCk7YnhlKCk7dnhlKCk7eHhlKCk7eXhlKCk7d3hlKCk7TXhlKCk7a3hlKCk7U3hlKCk7enhlKCk7Q3hlKCk7X3hlKCk7VHhlKCk7THhlKCk7JHhlKCk7RHhlKCk7QXhlKCk7UHhlKCk7RXhlKCk7SXhlKCk7TnhlKCk7UnhlKCk7T3hlKCk7RnhlKCk7QnhlKCk7SHhlKCk7cXhlKCk7VnhlKCk7anhlKCk7VXhlKCk7V3hlKCk7R3hlKCk7WXhlKCk7S3hlKCk7WnhlKCk7WHhlKCk7UXhlKCk7SnhlKCk7ZXllKCk7dHllKCk7YXllKCk7cnllKCk7c3llKCk7aXllKCk7b3llKCk7bnllKCk7bHllKCk7Y3llKCk7ZHllKCk7dXllKCk7cHllKCk7ZnllKCk7aHllKCk7bXllKCk7Z3llKCk7YnllKCk7dnllKCk7eHllKCk7eXllKCk7d3llKCk7TXllKCk7a3llKCk7U3llKCk7enllKCk7Q3llKCk7X3llKCk7VHllKCk7THllKCk7JHllKCk7RHllKCk7QXllKCk7UHllKCk7RXllKCk7SXllKCk7TnllKCk7UnllKCk7T3llKCk7RnllKCk7QnllKCk7SHllKCk7cXllKCk7VnllKCk7anllKCk7VXllKCk7V3llKCk7R3llKCk7WXllKCk7S3llKCk7WnllKCk7WHllKCk7UXllKCk7SnllKCk7ZXdlKCk7dHdlKCk7YXdlKCk7cndlKCk7c3dlKCk7aXdlKCk7b3dlKCk7bndlKCk7bHdlKCk7Y3dlKCk7ZHdlKCk7dXdlKCk7cHdlKCk7ZndlKCk7aHdlKCk7bXdlKCk7Z3dlKCk7YndlKCk7dndlKCk7eHdlKCk7eXdlKCk7d3dlKCk7TXdlKCk7a3dlKCk7U3dlKCk7endlKCk7Q3dlKCk7X3dlKCk7VHdlKCk7THdlKCk7JHdlKCk7RHdlKCk7QXdlKCk7UHdlKCk7RXdlKCk7SXdlKCk7TndlKCk7UndlKCk7T3dlKCk7RndlKCk7QndlKCk7SHdlKCk7cXdlKCk7VndlKCk7andlKCk7VXdlKCk7V3dlKCk7R3dlKCk7WXdlKCk7S3dlKCk7WndlKCk7WHdlKCk7UXdlKCk7SndlKCk7ZU1lKCk7dE1lKCk7YU1lKCk7ck1lKCk7c01lKCk7aU1lKCk7b01lKCk7bk1lKCk7bE1lKCk7Y01lKCk7ZE1lKCk7dU1lKCk7cE1lKCk7Zk1lKCk7aE1lKCk7bU1lKCk7Z01lKCk7Yk1lKCk7dk1lKCk7eE1lKCk7eU1lKCk7d01lKCk7TU1lKCk7a01lKCk7U01lKCk7ek1lKCk7Q01lKCk7X01lKCk7VE1lKCk7TE1lKCk7JE1lKCk7RE1lKCk7QU1lKCk7UE1lKCk7RU1lKCk7SU1lKCk7Tk1lKCk7Uk1lKCk7T01lKCk7Rk1lKCk7Qk1lKCk7SE1lKCk7cU1lKCk7Vk1lKCk7ak1lKCk7VU1lKCk7V01lKCk7R01lKCk7WU1lKCk7S01lKCk7Wk1lKCk7WE1lKCk7UU1lKCk7Sk1lKCk7ZWtlKCk7dGtlKCk7YWtlKCk7cmtlKCk7c2tlKCk7aWtlKCk7b2tlKCk7bmtlKCk7bGtlKCk7Y2tlKCk7ZGtlKCk7dWtlKCk7cGtlKCk7ZmtlKCk7aGtlKCk7bWtlKCk7Z2tlKCk7YmtlKCk7dmtlKCk7eGtlKCk7eWtlKCk7d2tlKCk7TWtlKCk7a2tlKCk7U2tlKCk7emtlKCk7Q2tlKCk7X2tlKCk7VGtlKCk7TGtlKCk7JGtlKCk7RGtlKCk7QWtlKCk7UGtlKCk7RWtlKCk7SWtlKCk7TmtlKCk7UmtlKCk7T2tlKCk7RmtlKCk7QmtlKCk7SGtlKCk7cWtlKCk7VmtlKCk7amtlKCk7VWtlKCk7V2tlKCk7R2tlKCk7WWtlKCk7S2tlKCk7WmtlKCk7WGtlKCk7UWtlKCk7SmtlKCk7ZVNlKCk7dFNlKCk7YVNlKCk7clNlKCk7c1NlKCk7aVNlKCk7b1NlKCk7blNlKCk7bFNlKCk7Y1NlKCk7ZFNlKCk7dVNlKCk7cFNlKCk7ZlNlKCk7aFNlKCk7bVNlKCk7Z1NlKCk7YlNlKCk7dlNlKCk7eFNlKCk7eVNlKCk7d1NlKCk7TVNlKCk7a1NlKCk7U1NlKCk7elNlKCk7Q1NlKCk7X1NlKCk7VFNlKCk7TFNlKCk7JFNlKCk7RFNlKCk7QVNlKCk7UFNlKCk7RVNlKCk7SVNlKCk7TlNlKCk7UlNlKCk7T1NlKCk7RlNlKCk7QlNlKCk7SFNlKCk7cVNlKCk7VlNlKCk7alNlKCk7VVNlKCk7V1NlKCk7R1NlKCk7WVNlKCk7S1NlKCk7WlNlKCk7WFNlKCk7UVNlKCk7SlNlKCk7ZXplKCk7dHplKCk7YXplKCk7cnplKCk7c3plKCk7aXplKCk7b3plKCk7bnplKCk7bHplKCk7Y3plKCk7ZHplKCk7dXplKCk7cHplKCk7ZnplKCk7aHplKCk7bXplKCk7Z3plKCk7YnplKCk7dnplKCk7eHplKCk7eXplKCk7d3plKCk7TXplKCk7a3plKCk7U3plKCk7enplKCk7Q3plKCk7X3plKCk7VHplKCk7THplKCk7JHplKCk7RHplKCk7QXplKCk7UHplKCk7RXplKCk7SXplKCk7TnplKCk7UnplKCk7T3plKCk7RnplKCk7QnplKCk7SHplKCk7cXplKCk7VnplKCk7anplKCk7VXplKCk7V3plKCk7R3plKCk7WXplKCk7S3plKCk7WnplKCk7WHplKCk7UXplKCk7SnplKCk7ZUNlKCk7dENlKCk7YUNlKCk7ckNlKCk7c0NlKCk7aUNlKCk7b0NlKCk7bkNlKCk7bENlKCk7Y0NlKCk7ZENlKCk7dUNlKCk7cENlKCk7ZkNlKCk7aENlKCk7bUNlKCk7Z0NlKCk7YkNlKCk7dkNlKCk7eENlKCk7eUNlKCk7d0NlKCk7TUNlKCk7a0NlKCk7U0NlKCk7ekNlKCk7Q0NlKCk7X0NlKCk7VENlKCk7TENlKCk7JENlKCk7RENlKCk7QUNlKCk7UENlKCk7RUNlKCk7SUNlKCk7TkNlKCk7UkNlKCk7T0NlKCk7RkNlKCk7QkNlKCk7SENlKCk7cUNlKCk7VkNlKCk7akNlKCk7VUNlKCk7V0NlKCk7R0NlKCk7WUNlKCk7S0NlKCk7WkNlKCk7WENlKCk7UUNlKCk7SkNlKCk7ZV9lKCk7dF9lKCk7YV9lKCk7cl9lKCk7c19lKCk7aV9lKCk7b19lKCk7bl9lKCk7bF9lKCk7Y19lKCk7ZF9lKCk7dV9lKCk7cF9lKCk7Zl9lKCk7aF9lKCk7bV9lKCk7Z19lKCk7Yl9lKCk7dl9lKCk7eF9lKCk7eV9lKCk7d19lKCk7TV9lKCk7a19lKCk7U19lKCk7el9lKCk7Q19lKCk7X19lKCk7VF9lKCk7TF9lKCk7JF9lKCk7RF9lKCk7QV9lKCk7UF9lKCk7RV9lKCk7SV9lKCk7Tl9lKCk7Ul9lKCk7T19lKCk7Rl9lKCk7Ql9lKCk7SF9lKCk7cV9lKCk7Vl9lKCk7al9lKCk7VV9lKCk7V19lKCk7R19lKCk7WV9lKCk7S19lKCk7Wl9lKCk7WF9lKCk7UV9lKCk7Sl9lKCk7ZVRlKCk7dFRlKCk7YVRlKCk7clRlKCk7c1RlKCk7aVRlKCk7b1RlKCk7blRlKCk7bFRlKCk7Y1RlKCk7ZFRlKCk7dVRlKCk7cFRlKCk7ZlRlKCk7aFRlKCk7bVRlKCk7Z1RlKCk7YlRlKCk7dlRlKCk7eFRlKCk7eVRlKCk7d1RlKCk7TVRlKCk7a1RlKCk7U1RlKCk7elRlKCk7Q1RlKCk7X1RlKCk7VFRlKCk7TFRlKCk7JFRlKCk7RFRlKCk7QVRlKCk7UFRlKCk7RVRlKCk7SVRlKCk7TlRlKCk7UlRlKCk7T1RlKCk7RlRlKCk7QlRlKCk7SFRlKCk7cVRlKCk7VlRlKCk7alRlKCk7VVRlKCk7V1RlKCk7R1RlKCk7WVRlKCk7S1RlKCk7WlRlKCk7WFRlKCk7UVRlKCk7SlRlKCk7ZUxlKCk7dExlKCk7YUxlKCk7ckxlKCk7c0xlKCk7aUxlKCk7b0xlKCk7bkxlKCk7bExlKCk7Y0xlKCk7ZExlKCk7dUxlKCk7cExlKCk7ZkxlKCk7aExlKCk7bUxlKCk7Z0xlKCk7YkxlKCk7dkxlKCk7eExlKCk7eUxlKCk7d0xlKCk7TUxlKCk7a0xlKCk7U0xlKCk7ekxlKCk7Q0xlKCk7X0xlKCk7VExlKCk7TExlKCk7JExlKCk7RExlKCk7QUxlKCk7UExlKCk7RUxlKCk7SUxlKCk7TkxlKCk7UkxlKCk7T0xlKCk7RkxlKCk7QkxlKCk7SExlKCk7cUxlKCk7VkxlKCk7akxlKCk7VUxlKCk7V0xlKCk7R0xlKCk7WUxlKCk7S0xlKCk7WkxlKCk7WExlKCk7UUxlKCk7SkxlKCk7ZSRlKCk7dCRlKCk7YSRlKCk7ciRlKCk7cyRlKCk7aSRlKCk7byRlKCk7biRlKCk7bCRlKCk7YyRlKCk7ZCRlKCk7dSRlKCk7cCRlKCk7ZiRlKCk7aCRlKCk7bSRlKCk7ZyRlKCk7YiRlKCk7diRlKCk7eCRlKCk7eSRlKCk7dyRlKCk7TSRlKCk7ayRlKCk7UyRlKCk7eiRlKCk7QyRlKCk7XyRlKCk7VCRlKCk7TCRlKCk7JCRlKCk7RCRlKCk7QSRlKCk7UCRlKCk7RSRlKCk7SSRlKCk7TiRlKCk7UiRlKCk7TyRlKCk7RiRlKCk7QiRlKCk7SCRlKCk7cSRlKCk7ViRlKCk7aiRlKCk7VSRlKCk7VyRlKCk7RyRlKCk7WSRlKCk7SyRlKCk7WiRlKCk7WCRlKCk7USRlKCk7SiRlKCk7ZURlKCk7dERlKCk7YURlKCk7ckRlKCk7c0RlKCk7aURlKCk7b0RlKCk7bkRlKCk7bERlKCk7Y0RlKCk7ZERlKCk7dURlKCk7cERlKCk7ZkRlKCk7aERlKCk7bURlKCk7Z0RlKCk7YkRlKCk7dkRlKCk7eERlKCk7eURlKCk7d0RlKCk7TURlKCk7a0RlKCk7U0RlKCk7ekRlKCk7Q0RlKCk7X0RlKCk7VERlKCk7TERlKCk7JERlKCk7RERlKCk7QURlKCk7UERlKCk7RURlKCk7SURlKCk7TkRlKCk7UkRlKCk7T0RlKCk7RkRlKCk7QkRlKCk7SERlKCk7cURlKCk7VkRlKCk7akRlKCk7VURlKCk7V0RlKCk7R0RlKCk7WURlKCk7S0RlKCk7WkRlKCk7WERlKCk7UURlKCk7SkRlKCk7ZUFlKCk7dEFlKCk7YUFlKCk7ckFlKCk7c0FlKCk7aUFlKCk7b0FlKCk7bkFlKCk7bEFlKCk7Y0FlKCk7ZEFlKCk7dUFlKCk7cEFlKCk7ZkFlKCk7aEFlKCk7bUFlKCk7Z0FlKCk7YkFlKCk7dkFlKCk7eEFlKCk7eUFlKCk7d0FlKCk7TUFlKCk7a0FlKCk7U0FlKCk7ekFlKCk7Q0FlKCk7X0FlKCk7VEFlKCk7TEFlKCk7JEFlKCk7REFlKCk7QUFlKCk7UEFlKCk7RUFlKCk7SUFlKCk7TkFlKCk7UkFlKCk7T0FlKCk7RkFlKCk7QkFlKCk7SEFlKCk7cUFlKCk7VkFlKCk7akFlKCk7VUFlKCk7V0FlKCk7R0FlKCk7WUFlKCk7S0FlKCk7WkFlKCk7WEFlKCk7UUFlKCk7SkFlKCk7ZVBlKCk7dFBlKCk7YVBlKCk7clBlKCk7c1BlKCk7aVBlKCk7b1BlKCk7blBlKCk7bFBlKCk7Y1BlKCk7ZFBlKCk7dVBlKCk7cFBlKCk7ZlBlKCk7aFBlKCk7bVBlKCk7Z1BlKCk7YlBlKCk7dlBlKCk7eFBlKCk7eVBlKCk7d1BlKCk7TVBlKCk7a1BlKCk7U1BlKCk7elBlKCk7Q1BlKCk7X1BlKCk7VFBlKCk7TFBlKCk7JFBlKCk7RFBlKCk7QVBlKCk7UFBlKCk7RVBlKCk7SVBlKCk7TlBlKCk7UlBlKCk7T1BlKCk7RlBlKCk7QlBlKCk7SFBlKCk7cVBlKCk7VlBlKCk7alBlKCk7VVBlKCk7V1BlKCk7R1BlKCk7WVBlKCk7S1BlKCk7WlBlKCk7WFBlKCk7UVBlKCk7SlBlKCk7ZUVlKCk7dEVlKCk7YUVlKCk7ckVlKCk7c0VlKCk7aUVlKCk7b0VlKCk7bkVlKCk7bEVlKCk7Y0VlKCk7ZEVlKCk7dUVlKCk7cEVlKCk7ZkVlKCk7aEVlKCk7bUVlKCk7Z0VlKCk7YkVlKCk7dkVlKCk7eEVlKCk7eUVlKCk7d0VlKCk7TUVlKCk7a0VlKCk7U0VlKCk7ekVlKCk7Q0VlKCk7X0VlKCk7VEVlKCk7TEVlKCk7JEVlKCk7REVlKCk7QUVlKCk7UEVlKCk7RUVlKCk7SUVlKCk7TkVlKCk7UkVlKCk7T0VlKCk7RkVlKCk7QkVlKCk7SEVlKCk7cUVlKCk7VkVlKCk7akVlKCk7VUVlKCk7V0VlKCk7R0VlKCk7WUVlKCk7S0VlKCk7WkVlKCk7WEVlKCk7UUVlKCk7SkVlKCk7ZUllKCk7dEllKCk7YUllKCk7ckllKCk7c0llKCk7aUllKCk7b0llKCk7bkllKCk7bEllKCk7Y0llKCk7ZEllKCk7dUllKCk7cEllKCk7ZkllKCk7aEllKCk7bUllKCk7Z0llKCk7YkllKCk7dkllKCk7eEllKCk7eUllKCk7d0llKCk7TUllKCk7a0llKCk7U0llKCk7ekllKCk7Q0llKCk7X0llKCk7VEllKCk7TEllKCk7JEllKCk7REllKCk7QUllKCk7UEllKCk7RUllKCk7SUllKCk7TkllKCk7UkllKCk7T0llKCk7RkllKCk7QkllKCk7SEllKCk7cUllKCk7VkllKCk7akllKCk7VUllKCk7V0llKCk7R0llKCk7WUllKCk7S0llKCk7WkllKCk7WEllKCk7UUllKCk7SkllKCk7ZU5lKCk7dE5lKCk7YU5lKCk7ck5lKCk7c05lKCk7aU5lKCk7b05lKCk7bk5lKCk7bE5lKCk7Y05lKCk7ZE5lKCk7dU5lKCk7cE5lKCk7Zk5lKCk7aE5lKCk7bU5lKCk7Z05lKCk7Yk5lKCk7dk5lKCk7eE5lKCk7eU5lKCk7d05lKCk7TU5lKCk7a05lKCk7U05lKCk7ek5lKCk7Q05lKCk7X05lKCk7VE5lKCk7TE5lKCk7JE5lKCk7RE5lKCk7QU5lKCk7UE5lKCk7RU5lKCk7SU5lKCk7Tk5lKCk7Uk5lKCk7T05lKCk7Rk5lKCk7Qk5lKCk7SE5lKCk7cU5lKCk7Vk5lKCk7ak5lKCk7VU5lKCk7V05lKCk7R05lKCk7WU5lKCk7S05lKCk7Wk5lKCk7WE5lKCk7UU5lKCk7Sk5lKCk7ZVJlKCk7dFJlKCk7YVJlKCk7clJlKCk7c1JlKCk7aVJlKCk7b1JlKCk7blJlKCk7bFJlKCk7Y1JlKCk7ZFJlKCk7dVJlKCk7cFJlKCk7ZlJlKCk7aFJlKCk7bVJlKCk7Z1JlKCk7YlJlKCk7dlJlKCk7eFJlKCk7eVJlKCk7d1JlKCk7TVJlKCk7a1JlKCk7U1JlKCk7elJlKCk7Q1JlKCk7X1JlKCk7VFJlKCk7TFJlKCk7JFJlKCk7RFJlKCk7QVJlKCk7UFJlKCk7RVJlKCk7SVJlKCk7TlJlKCk7UlJlKCk7T1JlKCk7RlJlKCk7QlJlKCk7SFJlKCk7cVJlKCk7VlJlKCk7alJlKCk7VVJlKCk7V1JlKCk7R1JlKCk7WVJlKCk7S1JlKCk7WlJlKCk7WFJlKCk7UVJlKCk7SlJlKCk7ZU9lKCk7dE9lKCk7YU9lKCk7ck9lKCk7c09lKCk7aU9lKCk7b09lKCk7bk9lKCk7bE9lKCk7Y09lKCk7ZE9lKCk7dU9lKCk7cE9lKCk7Zk9lKCk7aE9lKCk7bU9lKCk7Z09lKCk7Yk9lKCk7dk9lKCk7eE9lKCk7eU9lKCk7d09lKCk7TU9lKCk7a09lKCk7U09lKCk7ek9lKCk7Q09lKCk7X09lKCk7VE9lKCk7TE9lKCk7JE9lKCk7RE9lKCk7QU9lKCk7UE9lKCk7RU9lKCk7SU9lKCk7Tk9lKCk7Uk9lKCk7T09lKCk7Rk9lKCk7Qk9lKCk7SE9lKCk7cU9lKCk7Vk9lKCk7ak9lKCk7VU9lKCk7V09lKCk7R09lKCk7WU9lKCk7S09lKCk7Wk9lKCk7WE9lKCk7UU9lKCk7Sk9lKCk7ZUZlKCk7dEZlKCk7YUZlKCk7ckZlKCk7c0ZlKCk7aUZlKCk7b0ZlKCk7bkZlKCk7bEZlKCk7Y0ZlKCk7ZEZlKCk7dUZlKCk7cEZlKCk7ZkZlKCk7aEZlKCk7bUZlKCk7Z0ZlKCk7YkZlKCk7dkZlKCk7eEZlKCk7eUZlKCk7d0ZlKCk7TUZlKCk7a0ZlKCk7U0ZlKCk7ekZlKCk7Q0ZlKCk7X0ZlKCk7VEZlKCk7TEZlKCk7JEZlKCk7REZlKCk7QUZlKCk7UEZlKCk7RUZlKCk7SUZlKCk7TkZlKCk7UkZlKCk7T0ZlKCk7RkZlKCk7QkZlKCk7SEZlKCk7cUZlKCk7VkZlKCk7akZlKCk7VUZlKCk7V0ZlKCk7R0ZlKCk7WUZlKCk7S0ZlKCk7WkZlKCk7WEZlKCk7UUZlKCk7SkZlKCk7ZUJlKCk7dEJlKCk7YUJlKCk7ckJlKCk7c0JlKCk7aUJlKCk7b0JlKCk7bkJlKCk7bEJlKCk7Y0JlKCk7ZEJlKCk7dUJlKCk7cEJlKCk7ZkJlKCk7aEJlKCk7bUJlKCk7Z0JlKCk7YkJlKCk7dkJlKCk7eEJlKCk7eUJlKCk7d0JlKCk7TUJlKCk7a0JlKCk7U0JlKCk7ekJlKCk7Q0JlKCk7X0JlKCk7VEJlKCk7TEJlKCk7JEJlKCk7REJlKCk7QUJlKCk7UEJlKCk7RUJlKCk7SUJlKCk7TkJlKCk7UkJlKCk7T0JlKCk7RkJlKCk7QkJlKCk7SEJlKCk7cUJlKCk7VkJlKCk7akJlKCk7VUJlKCk7V0JlKCk7R0JlKCk7WUJlKCk7S0JlKCk7WkJlKCk7WEJlKCk7UUJlKCk7SkJlKCk7ZUhlKCk7dEhlKCk7YUhlKCk7ckhlKCk7c0hlKCk7aUhlKCk7b0hlKCk7bkhlKCk7bEhlKCk7Y0hlKCk7ZEhlKCk7dUhlKCk7cEhlKCk7ZkhlKCk7aEhlKCk7bUhlKCk7Z0hlKCk7YkhlKCk7dkhlKCk7eEhlKCk7eUhlKCk7d0hlKCk7TUhlKCk7a0hlKCk7U0hlKCk7ekhlKCk7Q0hlKCk7X0hlKCk7VEhlKCk7TEhlKCk7JEhlKCk7REhlKCk7QUhlKCk7UEhlKCk7RUhlKCk7SUhlKCk7TkhlKCk7UkhlKCk7T0hlKCk7RkhlKCk7QkhlKCk7SEhlKCk7cUhlKCk7VkhlKCk7akhlKCk7VUhlKCk7V0hlKCk7R0hlKCk7WUhlKCk7S0hlKCk7WkhlKCk7WEhlKCk7UUhlKCk7SkhlKCk7ZXFlKCk7dHFlKCk7YXFlKCk7cnFlKCk7c3FlKCk7aXFlKCk7b3FlKCk7bnFlKCk7bHFlKCk7Y3FlKCk7ZHFlKCk7dXFlKCk7cHFlKCk7ZnFlKCk7aHFlKCk7bXFlKCk7Z3FlKCk7YnFlKCk7dnFlKCk7eHFlKCk7eXFlKCk7d3FlKCk7TXFlKCk7a3FlKCk7U3FlKCk7enFlKCk7Q3FlKCk7X3FlKCk7VHFlKCk7THFlKCk7JHFlKCk7RHFlKCk7QXFlKCk7UHFlKCk7RXFlKCk7SXFlKCk7TnFlKCk7UnFlKCk7T3FlKCk7RnFlKCk7QnFlKCk7SHFlKCk7cXFlKCk7VnFlKCk7anFlKCk7VXFlKCk7V3FlKCk7R3FlKCk7WXFlKCk7S3FlKCk7WnFlKCk7WHFlKCk7UXFlKCk7SnFlKCk7ZVZlKCk7dFZlKCk7YVZlKCk7clZlKCk7c1ZlKCk7aVZlKCk7b1ZlKCk7blZlKCk7bFZlKCk7Y1ZlKCk7ZFZlKCk7dVZlKCk7cFZlKCk7ZlZlKCk7aFZlKCk7bVZlKCk7Z1ZlKCk7YlZlKCk7dlZlKCk7eFZlKCk7eVZlKCk7d1ZlKCk7TVZlKCk7a1ZlKCk7U1ZlKCk7elZlKCk7Q1ZlKCk7X1ZlKCk7VFZlKCk7TFZlKCk7JFZlKCk7RFZlKCk7QVZlKCk7UFZlKCk7RVZlKCk7SVZlKCk7TlZlKCk7UlZlKCk7T1ZlKCk7RlZlKCk7QlZlKCk7SFZlKCk7cVZlKCk7VlZlKCk7alZlKCk7VVZlKCk7V1ZlKCk7R1ZlKCk7WVZlKCk7S1ZlKCk7WlZlKCk7WFZlKCk7UVZlKCk7SlZlKCk7ZWplKCk7dGplKCk7YWplKCk7cmplKCk7c2plKCk7aWplKCk7b2plKCk7bmplKCk7bGplKCk7Y2plKCk7ZGplKCk7dWplKCk7cGplKCk7ZmplKCk7aGplKCk7bWplKCk7Z2plKCk7YmplKCk7dmplKCk7eGplKCk7eWplKCk7d2plKCk7TWplKCk7a2plKCk7U2plKCk7emplKCk7Q2plKCk7X2plKCk7VGplKCk7TGplKCk7JGplKCk7RGplKCk7QWplKCk7UGplKCk7RWplKCk7SWplKCk7TmplKCk7UmplKCk7T2plKCk7RmplKCk7QmplKCk7SGplKCk7cWplKCk7VmplKCk7amplKCk7VWplKCk7V2plKCk7R2plKCk7WWplKCk7S2plKCk7WmplKCk7WGplKCk7UWplKCk7SmplKCk7ZVVlKCk7dFVlKCk7YVVlKCk7clVlKCk7c1VlKCk7aVVlKCk7b1VlKCk7blVlKCk7bFVlKCk7Y1VlKCk7ZFVlKCk7dVVlKCk7cFVlKCk7ZlVlKCk7aFVlKCk7bVVlKCk7Z1VlKCk7YlVlKCk7dlVlKCk7eFVlKCk7eVVlKCk7d1VlKCk7TVVlKCk7a1VlKCk7U1VlKCk7elVlKCk7Q1VlKCk7X1VlKCk7VFVlKCk7TFVlKCk7JFVlKCk7RFVlKCk7QVVlKCk7UFVlKCk7RVVlKCk7SVVlKCk7TlVlKCk7UlVlKCk7T1VlKCk7RlVlKCk7QlVlKCk7SFVlKCk7cVVlKCk7VlVlKCk7alVlKCk7VVVlKCk7V1VlKCk7R1VlKCk7WVVlKCk7S1VlKCk7WlVlKCk7WFVlKCk7UVVlKCk7SlVlKCk7ZVdlKCk7dFdlKCk7YVdlKCk7cldlKCk7c1dlKCk7aVdlKCk7b1dlKCk7bldlKCk7bFdlKCk7Y1dlKCk7ZFdlKCk7dVdlKCk7cFdlKCk7ZldlKCk7aFdlKCk7bVdlKCk7Z1dlKCk7YldlKCk7dldlKCk7eFdlKCk7eVdlKCk7d1dlKCk7TVdlKCk7a1dlKCk7U1dlKCk7eldlKCk7Q1dlKCk7X1dlKCk7VFdlKCk7TFdlKCk7JFdlKCk7RFdlKCk7QVdlKCk7UFdlKCk7RVdlKCk7SVdlKCk7TldlKCk7UldlKCk7T1dlKCk7RldlKCk7QldlKCk7SFdlKCk7cVdlKCk7VldlKCk7aldlKCk7VVdlKCk7V1dlKCk7R1dlKCk7WVdlKCk7S1dlKCk7WldlKCk7WFdlKCk7UVdlKCk7SldlKCk7ZUdlKCk7dEdlKCk7YUdlKCk7ckdlKCk7c0dlKCk7aUdlKCk7b0dlKCk7bkdlKCk7bEdlKCk7Y0dlKCk7ZEdlKCk7dUdlKCk7cEdlKCk7ZkdlKCk7aEdlKCk7bUdlKCk7Z0dlKCk7YkdlKCk7dkdlKCk7eEdlKCk7eUdlKCk7d0dlKCk7TUdlKCk7a0dlKCk7U0dlKCk7ekdlKCk7Q0dlKCk7X0dlKCk7VEdlKCk7TEdlKCk7JEdlKCk7REdlKCk7QUdlKCk7UEdlKCk7RUdlKCk7SUdlKCk7TkdlKCk7UkdlKCk7T0dlKCk7RkdlKCk7QkdlKCk7SEdlKCk7cUdlKCk7VkdlKCk7akdlKCk7VUdlKCk7V0dlKCk7R0dlKCk7WUdlKCk7S0dlKCk7WkdlKCk7WEdlKCk7UUdlKCk7SkdlKCk7ZVllKCk7dFllKCk7YVllKCk7clllKCk7c1llKCk7aVllKCk7b1llKCk7blllKCk7bFllKCk7Y1llKCk7ZFllKCk7dVllKCk7cFllKCk7ZlllKCk7fSk7dmFyIHEyPXt9O2x0KHEyLHtBQXJyb3dEb3duOigpPT5ndixBQXJyb3dVcDooKT0+YnYsQUxhcmdlU21hbGw6KCk9PnZ2LEFjY2Vzc2liaWxpdHk6KCk9Pnh2LEFjdGl2aXR5OigpPT55dixBY3Rpdml0eVNxdWFyZTooKT0+WnUsQWlyVmVudDooKT0+d3YsQWlycGxheTooKT0+TXYsQWxhcm1DaGVjazooKT0+dWQsQWxhcm1DbG9jazooKT0+U3YsQWxhcm1DbG9ja0NoZWNrOigpPT51ZCxBbGFybUNsb2NrTWludXM6KCk9PnBkLEFsYXJtQ2xvY2tPZmY6KCk9Pmt2LEFsYXJtQ2xvY2tQbHVzOigpPT5mZCxBbGFybU1pbnVzOigpPT5wZCxBbGFybVBsdXM6KCk9PmZkLEFsYXJtU21va2U6KCk9Pnp2LEFsYnVtOigpPT5DdixBbGVydENpcmNsZTooKT0+SGQsQWxlcnRPY3RhZ29uOigpPT56dSxBbGVydFRyaWFuZ2xlOigpPT5zZixBbGlnbkNlbnRlcjooKT0+WHAsQWxpZ25DZW50ZXJIb3Jpem9udGFsOigpPT5fdixBbGlnbkNlbnRlclZlcnRpY2FsOigpPT5UdixBbGlnbkVuZEhvcml6b250YWw6KCk9Pkx2LEFsaWduRW5kVmVydGljYWw6KCk9PkR2LEFsaWduSG9yaXpvbnRhbERpc3RyaWJ1dGVDZW50ZXI6KCk9PiR2LEFsaWduSG9yaXpvbnRhbERpc3RyaWJ1dGVFbmQ6KCk9PkF2LEFsaWduSG9yaXpvbnRhbERpc3RyaWJ1dGVTdGFydDooKT0+UHYsQWxpZ25Ib3Jpem9udGFsSnVzdGlmeUNlbnRlcjooKT0+RXYsQWxpZ25Ib3Jpem9udGFsSnVzdGlmeUVuZDooKT0+SXYsQWxpZ25Ib3Jpem9udGFsSnVzdGlmeVN0YXJ0OigpPT5OdixBbGlnbkhvcml6b250YWxTcGFjZUFyb3VuZDooKT0+UnYsQWxpZ25Ib3Jpem9udGFsU3BhY2VCZXR3ZWVuOigpPT5CdixBbGlnbkp1c3RpZnk6KCk9PkpwLEFsaWduTGVmdDooKT0+bmMsQWxpZ25SaWdodDooKT0+UXAsQWxpZ25TdGFydEhvcml6b250YWw6KCk9Pk92LEFsaWduU3RhcnRWZXJ0aWNhbDooKT0+RnYsQWxpZ25WZXJ0aWNhbERpc3RyaWJ1dGVDZW50ZXI6KCk9Pkh2LEFsaWduVmVydGljYWxEaXN0cmlidXRlRW5kOigpPT5xdixBbGlnblZlcnRpY2FsRGlzdHJpYnV0ZVN0YXJ0OigpPT5WdixBbGlnblZlcnRpY2FsSnVzdGlmeUNlbnRlcjooKT0+anYsQWxpZ25WZXJ0aWNhbEp1c3RpZnlFbmQ6KCk9PlV2LEFsaWduVmVydGljYWxKdXN0aWZ5U3RhcnQ6KCk9Pld2LEFsaWduVmVydGljYWxTcGFjZUFyb3VuZDooKT0+R3YsQWxpZ25WZXJ0aWNhbFNwYWNlQmV0d2VlbjooKT0+WXYsQW1idWxhbmNlOigpPT5LdixBbXBlcnNhbmQ6KCk9Plh2LEFtcGVyc2FuZHM6KCk9Plp2LEFtcGhvcmE6KCk9PlF2LEFuY2hvcjooKT0+SnYsQW5ncnk6KCk9PmV4LEFubm95ZWQ6KCk9PnR4LEFudGVubmE6KCk9PmF4LEFudmlsOigpPT5yeCxBcGVydHVyZTooKT0+c3gsQXBwV2luZG93OigpPT5veCxBcHBXaW5kb3dNYWM6KCk9Pml4LEFwcGxlOigpPT5seCxBcmNoaXZlOigpPT51eCxBcmNoaXZlUmVzdG9yZTooKT0+bngsQXJjaGl2ZVg6KCk9PmN4LEFyZWFDaGFydDooKT0+VGQsQXJtY2hhaXI6KCk9PmR4LEFycm93QmlnRG93bjooKT0+ZngsQXJyb3dCaWdEb3duRGFzaDooKT0+cHgsQXJyb3dCaWdMZWZ0OigpPT5oeCxBcnJvd0JpZ0xlZnREYXNoOigpPT5teCxBcnJvd0JpZ1JpZ2h0OigpPT5ieCxBcnJvd0JpZ1JpZ2h0RGFzaDooKT0+Z3gsQXJyb3dCaWdVcDooKT0+eHgsQXJyb3dCaWdVcERhc2g6KCk9PnZ4LEFycm93RG93bjooKT0+THgsQXJyb3dEb3duMDE6KCk9Pnl4LEFycm93RG93bjEwOigpPT53eCxBcnJvd0Rvd25BWjooKT0+aGQsQXJyb3dEb3duQXo6KCk9PmhkLEFycm93RG93bkNpcmNsZTooKT0+cWQsQXJyb3dEb3duRnJvbUxpbmU6KCk9Pk14LEFycm93RG93bkxlZnQ6KCk9Pmt4LEFycm93RG93bkxlZnRGcm9tQ2lyY2xlOigpPT5qZCxBcnJvd0Rvd25MZWZ0RnJvbVNxdWFyZTooKT0+dHAsQXJyb3dEb3duTGVmdFNxdWFyZTooKT0+WHUsQXJyb3dEb3duTmFycm93V2lkZTooKT0+U3gsQXJyb3dEb3duUmlnaHQ6KCk9Pnp4LEFycm93RG93blJpZ2h0RnJvbUNpcmNsZTooKT0+VWQsQXJyb3dEb3duUmlnaHRGcm9tU3F1YXJlOigpPT5hcCxBcnJvd0Rvd25SaWdodFNxdWFyZTooKT0+UXUsQXJyb3dEb3duU3F1YXJlOigpPT5KdSxBcnJvd0Rvd25Ub0RvdDooKT0+Q3gsQXJyb3dEb3duVG9MaW5lOigpPT5UeCxBcnJvd0Rvd25VcDooKT0+X3gsQXJyb3dEb3duV2lkZU5hcnJvdzooKT0+bWQsQXJyb3dEb3duWkE6KCk9PmdkLEFycm93RG93blphOigpPT5nZCxBcnJvd0xlZnQ6KCk9PkV4LEFycm93TGVmdENpcmNsZTooKT0+VmQsQXJyb3dMZWZ0RnJvbUxpbmU6KCk9PiR4LEFycm93TGVmdFJpZ2h0OigpPT5EeCxBcnJvd0xlZnRTcXVhcmU6KCk9PmVwLEFycm93TGVmdFRvTGluZTooKT0+QXgsQXJyb3dSaWdodDooKT0+UngsQXJyb3dSaWdodENpcmNsZTooKT0+WWQsQXJyb3dSaWdodEZyb21MaW5lOigpPT5QeCxBcnJvd1JpZ2h0TGVmdDooKT0+SXgsQXJyb3dSaWdodFNxdWFyZTooKT0+aXAsQXJyb3dSaWdodFRvTGluZTooKT0+TngsQXJyb3dVcDooKT0+R3gsQXJyb3dVcDAxOigpPT5GeCxBcnJvd1VwMTA6KCk9Pk94LEFycm93VXBBWjooKT0+YmQsQXJyb3dVcEF6OigpPT5iZCxBcnJvd1VwQ2lyY2xlOigpPT5LZCxBcnJvd1VwRG93bjooKT0+QngsQXJyb3dVcEZyb21Eb3Q6KCk9Pkh4LEFycm93VXBGcm9tTGluZTooKT0+cXgsQXJyb3dVcExlZnQ6KCk9PlZ4LEFycm93VXBMZWZ0RnJvbUNpcmNsZTooKT0+V2QsQXJyb3dVcExlZnRGcm9tU3F1YXJlOigpPT5ycCxBcnJvd1VwTGVmdFNxdWFyZTooKT0+b3AsQXJyb3dVcE5hcnJvd1dpZGU6KCk9PnZkLEFycm93VXBSaWdodDooKT0+angsQXJyb3dVcFJpZ2h0RnJvbUNpcmNsZTooKT0+R2QsQXJyb3dVcFJpZ2h0RnJvbVNxdWFyZTooKT0+c3AsQXJyb3dVcFJpZ2h0U3F1YXJlOigpPT5ucCxBcnJvd1VwU3F1YXJlOigpPT5scCxBcnJvd1VwVG9MaW5lOigpPT5XeCxBcnJvd1VwV2lkZU5hcnJvdzooKT0+VXgsQXJyb3dVcFpBOigpPT54ZCxBcnJvd1VwWmE6KCk9PnhkLEFycm93c1VwRnJvbUxpbmU6KCk9Pkt4LEFzdGVyaXNrOigpPT5ZeCxBc3Rlcmlza1NxdWFyZTooKT0+Y3AsQXN0cm9pZDooKT0+WngsQXRTaWduOigpPT5YeCxBdG9tOigpPT5ReCxBdWRpb0xpbmVzOigpPT5KeCxBdWRpb1dhdmVmb3JtOigpPT5leSxBd2FyZDooKT0+dHksQXhlOigpPT5heSxBeGlzM0Q6KCk9PnlkLEF4aXMzZDooKT0+eWQsQmFieTooKT0+cnksQmFja3BhY2s6KCk9PnN5LEJhZGdlOigpPT55eSxCYWRnZUFsZXJ0OigpPT5peSxCYWRnZUNlbnQ6KCk9Pm95LEJhZGdlQ2hlY2s6KCk9PndkLEJhZGdlRG9sbGFyU2lnbjooKT0+bnksQmFkZ2VFdXJvOigpPT5seSxCYWRnZUhlbHA6KCk9Pk1kLEJhZGdlSW5kaWFuUnVwZWU6KCk9PmN5LEJhZGdlSW5mbzooKT0+ZHksQmFkZ2VKYXBhbmVzZVllbjooKT0+dXksQmFkZ2VNaW51czooKT0+cHksQmFkZ2VQZXJjZW50OigpPT5meSxCYWRnZVBsdXM6KCk9Pmh5LEJhZGdlUG91bmRTdGVybGluZzooKT0+bXksQmFkZ2VRdWVzdGlvbk1hcms6KCk9Pk1kLEJhZGdlUnVzc2lhblJ1YmxlOigpPT5ieSxCYWRnZVN3aXNzRnJhbmM6KCk9Pmd5LEJhZGdlVHVya2lzaExpcmE6KCk9PnZ5LEJhZGdlWDooKT0+eHksQmFnZ2FnZUNsYWltOigpPT53eSxCYWxsb29uOigpPT5reSxCYW46KCk9Pk15LEJhbmFuYTooKT0+U3ksQmFuZGFnZTooKT0+enksQmFua25vdGU6KCk9Pkx5LEJhbmtub3RlQXJyb3dEb3duOigpPT5feSxCYW5rbm90ZUFycm93VXA6KCk9PkN5LEJhbmtub3RlWDooKT0+VHksQmFyQ2hhcnQ6KCk9Pk5kLEJhckNoYXJ0MjooKT0+UmQsQmFyQ2hhcnQzOigpPT5FZCxCYXJDaGFydDQ6KCk9PlBkLEJhckNoYXJ0QmlnOigpPT5BZCxCYXJDaGFydEhvcml6b250YWw6KCk9PiRkLEJhckNoYXJ0SG9yaXpvbnRhbEJpZzooKT0+TGQsQmFyY29kZTooKT0+JHksQmFycmVsOigpPT5EeSxCYXNlbGluZTooKT0+QXksQmF0aDooKT0+UHksQmF0dGVyeTooKT0+QnksQmF0dGVyeUNoYXJnaW5nOigpPT5FeSxCYXR0ZXJ5RnVsbDooKT0+SXksQmF0dGVyeUxvdzooKT0+TnksQmF0dGVyeU1lZGl1bTooKT0+UnksQmF0dGVyeVBsdXM6KCk9Pk95LEJhdHRlcnlXYXJuaW5nOigpPT5GeSxCZWFrZXI6KCk9PnF5LEJlYW46KCk9Pmp5LEJlYW5PZmY6KCk9Pkh5LEJlZDooKT0+R3ksQmVkRG91YmxlOigpPT5WeSxCZWRTaW5nbGU6KCk9PlV5LEJlZWY6KCk9Pll5LEJlZWZPZmY6KCk9Pld5LEJlZXI6KCk9Plp5LEJlZXJPZmY6KCk9Pkt5LEJlbGw6KCk9PnN3LEJlbGxDaGVjazooKT0+WHksQmVsbERvdDooKT0+UXksQmVsbEVsZWN0cmljOigpPT5KeSxCZWxsTWludXM6KCk9PnR3LEJlbGxPZmY6KCk9PmV3LEJlbGxQbHVzOigpPT5hdyxCZWxsUmluZzooKT0+cncsQmV0d2Vlbkhvcml6b25hbEVuZDooKT0+a2QsQmV0d2Vlbkhvcml6b25hbFN0YXJ0OigpPT5TZCxCZXR3ZWVuSG9yaXpvbnRhbEVuZDooKT0+a2QsQmV0d2Vlbkhvcml6b250YWxTdGFydDooKT0+U2QsQmV0d2VlblZlcnRpY2FsRW5kOigpPT5pdyxCZXR3ZWVuVmVydGljYWxTdGFydDooKT0+b3csQmljZXBzRmxleGVkOigpPT5udyxCaWtlOigpPT5sdyxCaW5hcnk6KCk9PmN3LEJpbm9jdWxhcnM6KCk9PmR3LEJpb2hhemFyZDooKT0+dXcsQmlyZDooKT0+cHcsQmlyZGhvdXNlOigpPT5mdyxCaXRjb2luOigpPT5odyxCbGVuZDooKT0+bXcsQmxpbmRzOigpPT5ndyxCbG9ja3M6KCk9PmJ3LEJsdWV0b290aDooKT0+eXcsQmx1ZXRvb3RoQ29ubmVjdGVkOigpPT52dyxCbHVldG9vdGhPZmY6KCk9Pnh3LEJsdWV0b290aFNlYXJjaGluZzooKT0+d3csQm9sZDooKT0+TXcsQm9sdDooKT0+U3csQm9tYjooKT0+a3csQm9uZTooKT0+encsQm9vazooKT0+WncsQm9va0E6KCk9PkN3LEJvb2tBbGVydDooKT0+X3csQm9va0F1ZGlvOigpPT5UdyxCb29rQ2hlY2s6KCk9Pkx3LEJvb2tDb3B5OigpPT4kdyxCb29rRGFzaGVkOigpPT56ZCxCb29rRG93bjooKT0+RHcsQm9va0hlYWRwaG9uZXM6KCk9PkF3LEJvb2tIZWFydDooKT0+UHcsQm9va0ltYWdlOigpPT5FdyxCb29rS2V5OigpPT5JdyxCb29rTG9jazooKT0+UncsQm9va01hcmtlZDooKT0+TncsQm9va01pbnVzOigpPT5PdyxCb29rT3BlbjooKT0+cXcsQm9va09wZW5DaGVjazooKT0+RncsQm9va09wZW5UZXh0OigpPT5CdyxCb29rUGx1czooKT0+VncsQm9va1NlYXJjaDooKT0+SHcsQm9va1RlbXBsYXRlOigpPT56ZCxCb29rVGV4dDooKT0+ancsQm9va1R5cGU6KCk9Pkd3LEJvb2tVcDooKT0+V3csQm9va1VwMjooKT0+VXcsQm9va1VzZXI6KCk9Pll3LEJvb2tYOigpPT5LdyxCb29rbWFyazooKT0+YU0sQm9va21hcmtDaGVjazooKT0+WHcsQm9va21hcmtNaW51czooKT0+UXcsQm9va21hcmtPZmY6KCk9Pkp3LEJvb2ttYXJrUGx1czooKT0+ZU0sQm9va21hcmtYOigpPT50TSxCb29tQm94OigpPT5yTSxCb3Q6KCk9Pm9NLEJvdE1lc3NhZ2VTcXVhcmU6KCk9PnNNLEJvdE9mZjooKT0+aU0sQm90dGxlV2luZTooKT0+bE0sQm93QXJyb3c6KCk9Pm5NLEJveDooKT0+Y00sQm94U2VsZWN0OigpPT5NcCxCb3hlczooKT0+ZE0sQnJhY2VzOigpPT5DZCxCcmFja2V0czooKT0+dU0sQnJhaW46KCk9Pm1NLEJyYWluQ2lyY3VpdDooKT0+cE0sQnJhaW5Db2c6KCk9PmZNLEJyaWNrV2FsbDooKT0+Yk0sQnJpY2tXYWxsRmlyZTooKT0+aE0sQnJpY2tXYWxsU2hpZWxkOigpPT5nTSxCcmllZmNhc2U6KCk9PndNLEJyaWVmY2FzZUJ1c2luZXNzOigpPT52TSxCcmllZmNhc2VDb252ZXlvckJlbHQ6KCk9PnhNLEJyaWVmY2FzZU1lZGljYWw6KCk9PnlNLEJyaW5nVG9Gcm9udDooKT0+TU0sQnJ1c2g6KCk9PlNNLEJydXNoQ2xlYW5pbmc6KCk9PmtNLEJ1YmJsZXM6KCk9PkNNLEJ1ZzooKT0+VE0sQnVnT2ZmOigpPT56TSxCdWdQbGF5OigpPT5fTSxCdWlsZGluZzooKT0+TE0sQnVpbGRpbmcyOigpPT4kTSxCdXM6KCk9PkFNLEJ1c0Zyb250OigpPT5ETSxDYWJsZTooKT0+UE0sQ2FibGVDYXI6KCk9PkVNLENha2U6KCk9Pk5NLENha2VTbGljZTooKT0+SU0sQ2FsY3VsYXRvcjooKT0+T00sQ2FsZW5kYXI6KCk9PnNrLENhbGVuZGFyMTooKT0+Uk0sQ2FsZW5kYXJBcnJvd0Rvd246KCk9PkZNLENhbGVuZGFyQXJyb3dVcDooKT0+Qk0sQ2FsZW5kYXJDaGVjazooKT0+cU0sQ2FsZW5kYXJDaGVjazI6KCk9PkhNLENhbGVuZGFyQ2xvY2s6KCk9PlZNLENhbGVuZGFyQ29nOigpPT5qTSxDYWxlbmRhckRheXM6KCk9PlVNLENhbGVuZGFyRm9sZDooKT0+V00sQ2FsZW5kYXJIZWFydDooKT0+WU0sQ2FsZW5kYXJNaW51czooKT0+Wk0sQ2FsZW5kYXJNaW51czI6KCk9PkdNLENhbGVuZGFyT2ZmOigpPT5LTSxDYWxlbmRhclBsdXM6KCk9PkpNLENhbGVuZGFyUGx1czI6KCk9PlhNLENhbGVuZGFyUmFuZ2U6KCk9PlFNLENhbGVuZGFyU2VhcmNoOigpPT5layxDYWxlbmRhclN5bmM6KCk9PnRrLENhbGVuZGFyWDooKT0+cmssQ2FsZW5kYXJYMjooKT0+YWssQ2FsZW5kYXJzOigpPT5payxDYW1lcmE6KCk9Pm5rLENhbWVyYU9mZjooKT0+b2ssQ2FuZGxlc3RpY2tDaGFydDooKT0+RGQsQ2FuZHk6KCk9PmNrLENhbmR5Q2FuZTooKT0+bGssQ2FuZHlPZmY6KCk9PmRrLENhbm5hYmlzOigpPT5wayxDYW5uYWJpc09mZjooKT0+dWssQ2FwdGlvbnM6KCk9Pl9kLENhcHRpb25zT2ZmOigpPT5mayxDYXI6KCk9Pm1rLENhckZyb250OigpPT5oayxDYXJUYXhpRnJvbnQ6KCk9PmdrLENhcmF2YW46KCk9PmJrLENhcmRTaW06KCk9PnZrLENhcnJvdDooKT0+eGssQ2FzZUxvd2VyOigpPT55ayxDYXNlU2Vuc2l0aXZlOigpPT53ayxDYXNlVXBwZXI6KCk9Pk1rLENhc3NldHRlVGFwZTooKT0+a2ssQ2FzdDooKT0+U2ssQ2FzdGxlOigpPT56ayxDYXQ6KCk9PkNrLENjdHY6KCk9PlRrLENjdHZPZmY6KCk9Pl9rLENoYXJ0QXJlYTooKT0+VGQsQ2hhcnRCYXI6KCk9PiRkLENoYXJ0QmFyQmlnOigpPT5MZCxDaGFydEJhckRlY3JlYXNpbmc6KCk9PkxrLENoYXJ0QmFySW5jcmVhc2luZzooKT0+JGssQ2hhcnRCYXJTdGFja2VkOigpPT5EayxDaGFydENhbmRsZXN0aWNrOigpPT5EZCxDaGFydENvbHVtbjooKT0+RWQsQ2hhcnRDb2x1bW5CaWc6KCk9PkFkLENoYXJ0Q29sdW1uRGVjcmVhc2luZzooKT0+QWssQ2hhcnRDb2x1bW5JbmNyZWFzaW5nOigpPT5QZCxDaGFydENvbHVtblN0YWNrZWQ6KCk9PlBrLENoYXJ0R2FudHQ6KCk9PkVrLENoYXJ0TGluZTooKT0+SWQsQ2hhcnROZXR3b3JrOigpPT5JayxDaGFydE5vQXhlc0NvbHVtbjooKT0+UmQsQ2hhcnROb0F4ZXNDb2x1bW5EZWNyZWFzaW5nOigpPT5OayxDaGFydE5vQXhlc0NvbHVtbkluY3JlYXNpbmc6KCk9Pk5kLENoYXJ0Tm9BeGVzQ29tYmluZWQ6KCk9PlJrLENoYXJ0Tm9BeGVzR2FudHQ6KCk9Pk9kLENoYXJ0UGllOigpPT5GZCxDaGFydFNjYXR0ZXI6KCk9PkJkLENoYXJ0U3BsaW5lOigpPT5PayxDaGVjazooKT0+SGssQ2hlY2tDaGVjazooKT0+RmssQ2hlY2tDaXJjbGU6KCk9PlpkLENoZWNrQ2lyY2xlMjooKT0+WGQsQ2hlY2tMaW5lOigpPT5CayxDaGVja1NxdWFyZTooKT0+ZnAsQ2hlY2tTcXVhcmUyOigpPT5ocCxDaGVmSGF0OigpPT5xayxDaGVycnk6KCk9PlZrLENoZXNzQmlzaG9wOigpPT5VayxDaGVzc0tpbmc6KCk9PmprLENoZXNzS25pZ2h0OigpPT5XayxDaGVzc1Bhd246KCk9PkdrLENoZXNzUXVlZW46KCk9PlprLENoZXNzUm9vazooKT0+WWssQ2hldnJvbkRvd246KCk9PktrLENoZXZyb25Eb3duQ2lyY2xlOigpPT5KZCxDaGV2cm9uRG93blNxdWFyZTooKT0+bXAsQ2hldnJvbkZpcnN0OigpPT5YayxDaGV2cm9uTGFzdDooKT0+UWssQ2hldnJvbkxlZnQ6KCk9PkprLENoZXZyb25MZWZ0Q2lyY2xlOigpPT5RZCxDaGV2cm9uTGVmdFNxdWFyZTooKT0+Z3AsQ2hldnJvblJpZ2h0OigpPT5lUyxDaGV2cm9uUmlnaHRDaXJjbGU6KCk9PmU2LENoZXZyb25SaWdodFNxdWFyZTooKT0+YnAsQ2hldnJvblVwOigpPT50UyxDaGV2cm9uVXBDaXJjbGU6KCk9PnQ2LENoZXZyb25VcFNxdWFyZTooKT0+dnAsQ2hldnJvbnNEb3duOigpPT5yUyxDaGV2cm9uc0Rvd25VcDooKT0+YVMsQ2hldnJvbnNMZWZ0OigpPT5vUyxDaGV2cm9uc0xlZnRSaWdodDooKT0+aVMsQ2hldnJvbnNMZWZ0UmlnaHRFbGxpcHNpczooKT0+c1MsQ2hldnJvbnNSaWdodDooKT0+bFMsQ2hldnJvbnNSaWdodExlZnQ6KCk9Pm5TLENoZXZyb25zVXA6KCk9PmNTLENoZXZyb25zVXBEb3duOigpPT5kUyxDaHVyY2g6KCk9PnVTLENpZ2FyZXR0ZTooKT0+ZlMsQ2lnYXJldHRlT2ZmOigpPT5wUyxDaXJjbGU6KCk9PlRTLENpcmNsZUFsZXJ0OigpPT5IZCxDaXJjbGVBcnJvd0Rvd246KCk9PnFkLENpcmNsZUFycm93TGVmdDooKT0+VmQsQ2lyY2xlQXJyb3dPdXREb3duTGVmdDooKT0+amQsQ2lyY2xlQXJyb3dPdXREb3duUmlnaHQ6KCk9PlVkLENpcmNsZUFycm93T3V0VXBMZWZ0OigpPT5XZCxDaXJjbGVBcnJvd091dFVwUmlnaHQ6KCk9PkdkLENpcmNsZUFycm93UmlnaHQ6KCk9PllkLENpcmNsZUFycm93VXA6KCk9PktkLENpcmNsZUNoZWNrOigpPT5YZCxDaXJjbGVDaGVja0JpZzooKT0+WmQsQ2lyY2xlQ2hldnJvbkRvd246KCk9PkpkLENpcmNsZUNoZXZyb25MZWZ0OigpPT5RZCxDaXJjbGVDaGV2cm9uUmlnaHQ6KCk9PmU2LENpcmNsZUNoZXZyb25VcDooKT0+dDYsQ2lyY2xlRGFzaGVkOigpPT5oUyxDaXJjbGVEaXZpZGU6KCk9PmE2LENpcmNsZURvbGxhclNpZ246KCk9Pm1TLENpcmNsZURvdDooKT0+dlMsQ2lyY2xlRG90RGFzaGVkOigpPT5nUyxDaXJjbGVFbGxpcHNpczooKT0+YlMsQ2lyY2xlRXF1YWw6KCk9PnhTLENpcmNsZUZhZGluZ0Fycm93VXA6KCk9PnlTLENpcmNsZUZhZGluZ1BsdXM6KCk9PndTLENpcmNsZUdhdWdlOigpPT5yNixDaXJjbGVIZWxwOigpPT5KbCxDaXJjbGVNaW51czooKT0+czYsQ2lyY2xlT2ZmOigpPT5NUyxDaXJjbGVQYXJraW5nOigpPT5vNixDaXJjbGVQYXJraW5nT2ZmOigpPT5pNixDaXJjbGVQYXVzZTooKT0+bjYsQ2lyY2xlUGVyY2VudDooKT0+bDYsQ2lyY2xlUGlsZTooKT0+a1MsQ2lyY2xlUGxheTooKT0+YzYsQ2lyY2xlUGx1czooKT0+ZDYsQ2lyY2xlUG91bmRTdGVybGluZzooKT0+U1MsQ2lyY2xlUG93ZXI6KCk9PnU2LENpcmNsZVF1ZXN0aW9uTWFyazooKT0+SmwsQ2lyY2xlU2xhc2g6KCk9PnpTLENpcmNsZVNsYXNoMjooKT0+cDYsQ2lyY2xlU2xhc2hlZDooKT0+cDYsQ2lyY2xlU21hbGw6KCk9PkNTLENpcmNsZVN0YXI6KCk9Pl9TLENpcmNsZVN0b3A6KCk9PmY2LENpcmNsZVVzZXI6KCk9Pm02LENpcmNsZVVzZXJSb3VuZDooKT0+aDYsQ2lyY2xlWDooKT0+ZzYsQ2lyY3VpdEJvYXJkOigpPT5MUyxDaXRydXM6KCk9PiRTLENsYXBwZXJib2FyZDooKT0+RFMsQ2xpcGJvYXJkOigpPT5xUyxDbGlwYm9hcmRDaGVjazooKT0+QVMsQ2xpcGJvYXJkQ2xvY2s6KCk9PlBTLENsaXBib2FyZENvcHk6KCk9PkVTLENsaXBib2FyZEVkaXQ6KCk9PnY2LENsaXBib2FyZExpc3Q6KCk9PklTLENsaXBib2FyZE1pbnVzOigpPT5OUyxDbGlwYm9hcmRQYXN0ZTooKT0+UlMsQ2xpcGJvYXJkUGVuOigpPT52NixDbGlwYm9hcmRQZW5MaW5lOigpPT5iNixDbGlwYm9hcmRQbHVzOigpPT5PUyxDbGlwYm9hcmRTaWduYXR1cmU6KCk9PmI2LENsaXBib2FyZFR5cGU6KCk9PkZTLENsaXBib2FyZFg6KCk9PkJTLENsb2NrOigpPT5veixDbG9jazE6KCk9PkhTLENsb2NrMTA6KCk9PlZTLENsb2NrMTE6KCk9PmpTLENsb2NrMTI6KCk9PlVTLENsb2NrMjooKT0+V1MsQ2xvY2szOigpPT5HUyxDbG9jazQ6KCk9PllTLENsb2NrNTooKT0+S1MsQ2xvY2s2OigpPT5aUyxDbG9jazc6KCk9PlFTLENsb2NrODooKT0+WFMsQ2xvY2s5OigpPT5KUyxDbG9ja0FsZXJ0OigpPT5leixDbG9ja0Fycm93RG93bjooKT0+dHosQ2xvY2tBcnJvd1VwOigpPT5heixDbG9ja0NoZWNrOigpPT5yeixDbG9ja0ZhZGluZzooKT0+c3osQ2xvY2tQbHVzOigpPT5peixDbG9zZWRDYXB0aW9uOigpPT5ueixDbG91ZDooKT0+enosQ2xvdWRBbGVydDooKT0+bHosQ2xvdWRCYWNrdXA6KCk9PmN6LENsb3VkQ2hlY2s6KCk9PmR6LENsb3VkQ29nOigpPT51eixDbG91ZERvd25sb2FkOigpPT54NixDbG91ZERyaXp6bGU6KCk9PnB6LENsb3VkRm9nOigpPT5oeixDbG91ZEhhaWw6KCk9PmZ6LENsb3VkTGlnaHRuaW5nOigpPT5teixDbG91ZE1vb246KCk9PmJ6LENsb3VkTW9vblJhaW46KCk9Pmd6LENsb3VkT2ZmOigpPT54eixDbG91ZFJhaW46KCk9Pnl6LENsb3VkUmFpbldpbmQ6KCk9PnZ6LENsb3VkU25vdzooKT0+d3osQ2xvdWRTdW46KCk9PlN6LENsb3VkU3VuUmFpbjooKT0+TXosQ2xvdWRTeW5jOigpPT5reixDbG91ZFVwbG9hZDooKT0+eTYsQ2xvdWR5OigpPT5DeixDbG92ZXI6KCk9Pl96LENsdWI6KCk9PlR6LENvZGU6KCk9Pkx6LENvZGUyOigpPT53NixDb2RlU3F1YXJlOigpPT54cCxDb2RlWG1sOigpPT53NixDb2ZmZWU6KCk9PiR6LENvZzooKT0+RHosQ29pbnM6KCk9PkF6LENvbHVtbnM6KCk9Pk02LENvbHVtbnMyOigpPT5NNixDb2x1bW5zMzooKT0+azYsQ29sdW1uczNDb2c6KCk9PmVjLENvbHVtbnM0OigpPT5QeixDb2x1bW5zU2V0dGluZ3M6KCk9PmVjLENvbWJpbmU6KCk9PkV6LENvbW1hbmQ6KCk9Pkl6LENvbXBhc3M6KCk9Pk56LENvbXBvbmVudDooKT0+UnosQ29tcHV0ZXI6KCk9Pk96LENvbmNpZXJnZUJlbGw6KCk9PkZ6LENvbmU6KCk9PkJ6LENvbnN0cnVjdGlvbjooKT0+SHosQ29udGFjdDooKT0+cXosQ29udGFjdDI6KCk9PlM2LENvbnRhY3RSb3VuZDooKT0+UzYsQ29udGFpbmVyOigpPT5WeixDb250cmFzdDooKT0+anosQ29va2llOigpPT5VeixDb29raW5nUG90OigpPT5XeixDb3B5OigpPT5ReixDb3B5Q2hlY2s6KCk9Pkd6LENvcHlNaW51czooKT0+WXosQ29weVBsdXM6KCk9Pkt6LENvcHlTbGFzaDooKT0+WnosQ29weVg6KCk9Plh6LENvcHlsZWZ0OigpPT5KeixDb3B5cmlnaHQ6KCk9PmVDLENvcm5lckRvd25MZWZ0OigpPT50QyxDb3JuZXJEb3duUmlnaHQ6KCk9PmFDLENvcm5lckxlZnREb3duOigpPT5yQyxDb3JuZXJMZWZ0VXA6KCk9PnNDLENvcm5lclJpZ2h0RG93bjooKT0+aUMsQ29ybmVyUmlnaHRVcDooKT0+b0MsQ29ybmVyVXBMZWZ0OigpPT5uQyxDb3JuZXJVcFJpZ2h0OigpPT5sQyxDcHU6KCk9PmNDLENyZWF0aXZlQ29tbW9uczooKT0+ZEMsQ3JlZGl0Q2FyZDooKT0+dUMsQ3JvaXNzYW50OigpPT5wQyxDcm9wOigpPT5mQyxDcm9zczooKT0+aEMsQ3Jvc3NoYWlyOigpPT5tQyxDcm93bjooKT0+Z0MsQ3Vib2lkOigpPT5iQyxDdXBTb2RhOigpPT52QyxDdXJseUJyYWNlczooKT0+Q2QsQ3VycmVuY3k6KCk9PnhDLEN5bGluZGVyOigpPT55QyxEYW06KCk9PndDLERhdGFiYXNlOigpPT56QyxEYXRhYmFzZUJhY2t1cDooKT0+TUMsRGF0YWJhc2VTZWFyY2g6KCk9PlNDLERhdGFiYXNlWmFwOigpPT5rQyxEZWNpbWFsc0Fycm93TGVmdDooKT0+Q0MsRGVjaW1hbHNBcnJvd1JpZ2h0OigpPT5fQyxEZWxldGU6KCk9PlRDLERlc3NlcnQ6KCk9PkxDLERpYW1ldGVyOigpPT4kQyxEaWFtb25kOigpPT5QQyxEaWFtb25kTWludXM6KCk9PkRDLERpYW1vbmRQZXJjZW50OigpPT56NixEaWFtb25kUGx1czooKT0+QUMsRGljZTE6KCk9PkVDLERpY2UyOigpPT5JQyxEaWNlMzooKT0+TkMsRGljZTQ6KCk9PlJDLERpY2U1OigpPT5PQyxEaWNlNjooKT0+RkMsRGljZXM6KCk9PkhDLERpZmY6KCk9PkJDLERpc2M6KCk9PldDLERpc2MyOigpPT5xQyxEaXNjMzooKT0+VkMsRGlzY0FsYnVtOigpPT5qQyxEaXZpZGU6KCk9PlVDLERpdmlkZUNpcmNsZTooKT0+YTYsRGl2aWRlU3F1YXJlOigpPT5TcCxEbmE6KCk9PllDLERuYU9mZjooKT0+R0MsRG9jazooKT0+S0MsRG9nOigpPT5YQyxEb2xsYXJTaWduOigpPT5aQyxEb251dDooKT0+UUMsRG9vckNsb3NlZDooKT0+ZV8sRG9vckNsb3NlZExvY2tlZDooKT0+SkMsRG9vck9wZW46KCk9PnRfLERvdDooKT0+YV8sRG90U3F1YXJlOigpPT5rcCxEb3dubG9hZDooKT0+cl8sRG93bmxvYWRDbG91ZDooKT0+eDYsRHJhZnRpbmdDb21wYXNzOigpPT5zXyxEcmFtYTooKT0+b18sRHJpbGw6KCk9PmlfLERyb25lOigpPT5uXyxEcm9wbGV0OigpPT5sXyxEcm9wbGV0T2ZmOigpPT5jXyxEcm9wbGV0czooKT0+ZF8sRHJ1bTooKT0+dV8sRHJ1bXN0aWNrOigpPT5wXyxEdW1iYmVsbDooKT0+Zl8sRWFyOigpPT5tXyxFYXJPZmY6KCk9PmhfLEVhcnRoOigpPT5DNixFYXJ0aExvY2s6KCk9PmdfLEVjbGlwc2U6KCk9PmJfLEVkaXQ6KCk9PkMxLEVkaXQyOigpPT5PdSxFZGl0MzooKT0+UnUsRWdnOigpPT54XyxFZ2dGcmllZDooKT0+dl8sRWdnT2ZmOigpPT55XyxFbGxpcHNlOigpPT53XyxFbGxpcHNpczooKT0+VDYsRWxsaXBzaXNWZXJ0aWNhbDooKT0+XzYsRXF1YWw6KCk9PlNfLEVxdWFsQXBwcm94aW1hdGVseTooKT0+TV8sRXF1YWxOb3Q6KCk9PmtfLEVxdWFsU3F1YXJlOigpPT56cCxFcmFzZXI6KCk9PnpfLEV0aGVybmV0UG9ydDooKT0+Q18sRXVybzooKT0+X18sRXZDaGFyZ2VyOigpPT5UXyxFeHBhbmQ6KCk9PkxfLEV4dGVybmFsTGluazooKT0+JF8sRXllOigpPT5QXyxFeWVDbG9zZWQ6KCk9PkRfLEV5ZU9mZjooKT0+QV8sRmFjdG9yeTooKT0+RV8sRmFuOigpPT5JXyxGYXN0Rm9yd2FyZDooKT0+Tl8sRmVhdGhlcjooKT0+Ul8sRmVuY2U6KCk9PkZfLEZlcnJpc1doZWVsOigpPT5PXyxGaWxlOigpPT5oVCxGaWxlQXJjaGl2ZTooKT0+Ql8sRmlsZUF1ZGlvOigpPT50YyxGaWxlQXVkaW8yOigpPT50YyxGaWxlQXhpczNEOigpPT5MNixGaWxlQXhpczNkOigpPT5MNixGaWxlQmFkZ2U6KCk9PiQ2LEZpbGVCYWRnZTI6KCk9PiQ2LEZpbGVCYXJDaGFydDooKT0+QTYsRmlsZUJhckNoYXJ0MjooKT0+RTYsRmlsZUJveDooKT0+SF8sRmlsZUJyYWNlczooKT0+RDYsRmlsZUJyYWNlc0Nvcm5lcjooKT0+UDYsRmlsZUNoYXJ0Q29sdW1uOigpPT5FNixGaWxlQ2hhcnRDb2x1bW5JbmNyZWFzaW5nOigpPT5BNixGaWxlQ2hhcnRMaW5lOigpPT5JNixGaWxlQ2hhcnRQaWU6KCk9Pk42LEZpbGVDaGVjazooKT0+cV8sRmlsZUNoZWNrMjooKT0+UjYsRmlsZUNoZWNrQ29ybmVyOigpPT5SNixGaWxlQ2xvY2s6KCk9PlZfLEZpbGVDb2RlOigpPT5qXyxGaWxlQ29kZTI6KCk9Pk82LEZpbGVDb2RlQ29ybmVyOigpPT5PNixGaWxlQ29nOigpPT5GNixGaWxlQ29nMjooKT0+RjYsRmlsZURpZmY6KCk9PlVfLEZpbGVEaWdpdDooKT0+V18sRmlsZURvd246KCk9PkdfLEZpbGVFZGl0OigpPT5XNixGaWxlRXhjbGFtYXRpb25Qb2ludDooKT0+QjYsRmlsZUhlYWRwaG9uZTooKT0+dGMsRmlsZUhlYXJ0OigpPT5ZXyxGaWxlSW1hZ2U6KCk9PktfLEZpbGVJbnB1dDooKT0+Wl8sRmlsZUpzb246KCk9PkQ2LEZpbGVKc29uMjooKT0+UDYsRmlsZUtleTooKT0+SDYsRmlsZUtleTI6KCk9Pkg2LEZpbGVMaW5lQ2hhcnQ6KCk9Pkk2LEZpbGVMb2NrOigpPT5xNixGaWxlTG9jazI6KCk9PnE2LEZpbGVNaW51czooKT0+WF8sRmlsZU1pbnVzMjooKT0+VjYsRmlsZU1pbnVzQ29ybmVyOigpPT5WNixGaWxlTXVzaWM6KCk9PlFfLEZpbGVPdXRwdXQ6KCk9PkpfLEZpbGVQZW46KCk9Plc2LEZpbGVQZW5MaW5lOigpPT5qNixGaWxlUGllQ2hhcnQ6KCk9Pk42LEZpbGVQbGF5OigpPT5VNixGaWxlUGx1czooKT0+ZVQsRmlsZVBsdXMyOigpPT5HNixGaWxlUGx1c0Nvcm5lcjooKT0+RzYsRmlsZVF1ZXN0aW9uOigpPT5ZNixGaWxlUXVlc3Rpb25NYXJrOigpPT5ZNixGaWxlU2NhbjooKT0+dFQsRmlsZVNlYXJjaDooKT0+YVQsRmlsZVNlYXJjaDI6KCk9Pks2LEZpbGVTZWFyY2hDb3JuZXI6KCk9Pks2LEZpbGVTaWduYWw6KCk9Plo2LEZpbGVTaWduYXR1cmU6KCk9Pmo2LEZpbGVTbGlkZXJzOigpPT5yVCxGaWxlU3ByZWFkc2hlZXQ6KCk9PnNULEZpbGVTdGFjazooKT0+b1QsRmlsZVN5bWxpbms6KCk9PmlULEZpbGVUZXJtaW5hbDooKT0+blQsRmlsZVRleHQ6KCk9PmxULEZpbGVUeXBlOigpPT5jVCxGaWxlVHlwZTI6KCk9Plg2LEZpbGVUeXBlQ29ybmVyOigpPT5YNixGaWxlVXA6KCk9PmRULEZpbGVVc2VyOigpPT51VCxGaWxlVmlkZW86KCk9PlU2LEZpbGVWaWRlbzI6KCk9PlE2LEZpbGVWaWRlb0NhbWVyYTooKT0+UTYsRmlsZVZvbHVtZTooKT0+cFQsRmlsZVZvbHVtZTI6KCk9Plo2LEZpbGVXYXJuaW5nOigpPT5CNixGaWxlWDooKT0+ZlQsRmlsZVgyOigpPT5KNixGaWxlWENvcm5lcjooKT0+SjYsRmlsZXM6KCk9PmdULEZpbG06KCk9Pm1ULEZpbHRlcjooKT0+c3UsRmlsdGVyWDooKT0+cnUsRmluZ2VycHJpbnQ6KCk9PmV1LEZpbmdlcnByaW50UGF0dGVybjooKT0+ZXUsRmlyZUV4dGluZ3Vpc2hlcjooKT0+YlQsRmlzaDooKT0+eVQsRmlzaE9mZjooKT0+eFQsRmlzaFN5bWJvbDooKT0+dlQsRmlzaGluZ0hvb2s6KCk9PndULEZpc2hpbmdSb2Q6KCk9PmtULEZsYWc6KCk9PkNULEZsYWdPZmY6KCk9Pk1ULEZsYWdUcmlhbmdsZUxlZnQ6KCk9PlNULEZsYWdUcmlhbmdsZVJpZ2h0OigpPT56VCxGbGFtZTooKT0+X1QsRmxhbWVLaW5kbGluZzooKT0+TFQsRmxhc2hsaWdodDooKT0+JFQsRmxhc2hsaWdodE9mZjooKT0+VFQsRmxhc2tDb25pY2FsOigpPT5BVCxGbGFza0NvbmljYWxPZmY6KCk9PkRULEZsYXNrUm91bmQ6KCk9PlBULEZsaXBIb3Jpem9udGFsOigpPT51cCxGbGlwSG9yaXpvbnRhbDI6KCk9PkVULEZsaXBWZXJ0aWNhbDooKT0+cHAsRmxpcFZlcnRpY2FsMjooKT0+SVQsRmxvd2VyOigpPT5GVCxGbG93ZXIyOigpPT5OVCxGb2N1czooKT0+UlQsRm9sZEhvcml6b250YWw6KCk9Pk9ULEZvbGRWZXJ0aWNhbDooKT0+cVQsRm9sZGVyOigpPT5tTCxGb2xkZXJBcmNoaXZlOigpPT5CVCxGb2xkZXJCb29rbWFyazooKT0+SFQsRm9sZGVyQ2hlY2s6KCk9PlZULEZvbGRlckNsb2NrOigpPT5XVCxGb2xkZXJDbG9zZWQ6KCk9PmpULEZvbGRlckNvZGU6KCk9PlVULEZvbGRlckNvZzooKT0+dHUsRm9sZGVyQ29nMjooKT0+dHUsRm9sZGVyRG90OigpPT5HVCxGb2xkZXJEb3duOigpPT5ZVCxGb2xkZXJFZGl0OigpPT5hdSxGb2xkZXJHaXQ6KCk9PlpULEZvbGRlckdpdDI6KCk9PktULEZvbGRlckhlYXJ0OigpPT5YVCxGb2xkZXJJbnB1dDooKT0+ZUwsRm9sZGVyS2FuYmFuOigpPT5RVCxGb2xkZXJLZXk6KCk9PkpULEZvbGRlckxvY2s6KCk9PnRMLEZvbGRlck1pbnVzOigpPT5zTCxGb2xkZXJPcGVuOigpPT5yTCxGb2xkZXJPcGVuRG90OigpPT5hTCxGb2xkZXJPdXRwdXQ6KCk9PmlMLEZvbGRlclBlbjooKT0+YXUsRm9sZGVyUGx1czooKT0+b0wsRm9sZGVyUm9vdDooKT0+bkwsRm9sZGVyU2VhcmNoOigpPT5jTCxGb2xkZXJTZWFyY2gyOigpPT5sTCxGb2xkZXJTeW1saW5rOigpPT5kTCxGb2xkZXJTeW5jOigpPT5wTCxGb2xkZXJUcmVlOigpPT51TCxGb2xkZXJVcDooKT0+ZkwsRm9sZGVyWDooKT0+aEwsRm9sZGVyczooKT0+Z0wsRm9vdHByaW50czooKT0+YkwsRm9ya0tuaWZlOigpPT5nZixGb3JrS25pZmVDcm9zc2VkOigpPT5tZixGb3JrbGlmdDooKT0+dkwsRm9ybTooKT0+eEwsRm9ybUlucHV0OigpPT5CdSxGb3J3YXJkOigpPT55TCxGcmFtZTooKT0+d0wsRnJvd246KCk9Pk1MLEZ1ZWw6KCk9PmtMLEZ1bGxzY3JlZW46KCk9PlNMLEZ1bmN0aW9uU3F1YXJlOigpPT5DcCxGdW5uZWw6KCk9PnN1LEZ1bm5lbFBsdXM6KCk9PnpMLEZ1bm5lbFg6KCk9PnJ1LEdhbGxlcnlIb3Jpem9udGFsOigpPT5fTCxHYWxsZXJ5SG9yaXpvbnRhbEVuZDooKT0+Q0wsR2FsbGVyeVRodW1ibmFpbHM6KCk9PlRMLEdhbGxlcnlWZXJ0aWNhbDooKT0+JEwsR2FsbGVyeVZlcnRpY2FsRW5kOigpPT5MTCxHYW1lcGFkOigpPT5QTCxHYW1lcGFkMjooKT0+REwsR2FtZXBhZERpcmVjdGlvbmFsOigpPT5BTCxHYW50dENoYXJ0OigpPT5PZCxHYW50dENoYXJ0U3F1YXJlOigpPT5pYyxHYXVnZTooKT0+RUwsR2F1Z2VDaXJjbGU6KCk9PnI2LEdhdmVsOigpPT5JTCxHZW06KCk9Pk5MLEdlb3JnaWFuTGFyaTooKT0+T0wsR2hvc3Q6KCk9PlJMLEdpZnQ6KCk9PkJMLEdpdEJyYW5jaDooKT0+cUwsR2l0QnJhbmNoTWludXM6KCk9PkZMLEdpdEJyYW5jaFBsdXM6KCk9PkhMLEdpdENvbW1pdDooKT0+aXUsR2l0Q29tbWl0SG9yaXpvbnRhbDooKT0+aXUsR2l0Q29tbWl0VmVydGljYWw6KCk9PlZMLEdpdENvbXBhcmU6KCk9PlVMLEdpdENvbXBhcmVBcnJvd3M6KCk9PmpMLEdpdEZvcms6KCk9PldMLEdpdEdyYXBoOigpPT5HTCxHaXRNZXJnZTooKT0+WUwsR2l0TWVyZ2VDb25mbGljdDooKT0+S0wsR2l0UHVsbFJlcXVlc3Q6KCk9PnQkLEdpdFB1bGxSZXF1ZXN0QXJyb3c6KCk9PlpMLEdpdFB1bGxSZXF1ZXN0Q2xvc2VkOigpPT5YTCxHaXRQdWxsUmVxdWVzdENyZWF0ZTooKT0+SkwsR2l0UHVsbFJlcXVlc3RDcmVhdGVBcnJvdzooKT0+UUwsR2l0UHVsbFJlcXVlc3REcmFmdDooKT0+ZSQsR2xhc3NXYXRlcjooKT0+YSQsR2xhc3NlczooKT0+ciQsR2xvYmU6KCk9Pm4kLEdsb2JlMjooKT0+QzYsR2xvYmVMb2NrOigpPT5zJCxHbG9iZU9mZjooKT0+byQsR2xvYmVYOigpPT5pJCxHb2FsOigpPT5sJCxHcHU6KCk9PmMkLEdyYWI6KCk9PmR1LEdyYWR1YXRpb25DYXA6KCk9PmQkLEdyYXBlOigpPT51JCxHcmlkOigpPT5hYyxHcmlkMlgyOigpPT5jdSxHcmlkMlgyQ2hlY2s6KCk9Pm91LEdyaWQyWDJQbHVzOigpPT5udSxHcmlkMlgyWDooKT0+bHUsR3JpZDJ4MjooKT0+Y3UsR3JpZDJ4MkNoZWNrOigpPT5vdSxHcmlkMngyUGx1czooKT0+bnUsR3JpZDJ4Mlg6KCk9Pmx1LEdyaWQzWDM6KCk9PmFjLEdyaWQzeDI6KCk9PnAkLEdyaWQzeDM6KCk9PmFjLEdyaXA6KCk9Pm0kLEdyaXBIb3Jpem9udGFsOigpPT5mJCxHcmlwVmVydGljYWw6KCk9PmgkLEdyb3VwOigpPT5nJCxHdWl0YXI6KCk9PmIkLEhhbTooKT0+diQsSGFtYnVyZ2VyOigpPT54JCxIYW1tZXI6KCk9PnkkLEhhbmQ6KCk9PkMkLEhhbmRDb2luczooKT0+dyQsSGFuZEZpc3Q6KCk9Pk0kLEhhbmRHcmFiOigpPT5kdSxIYW5kSGVhcnQ6KCk9PmskLEhhbmRIZWxwaW5nOigpPT51dSxIYW5kTWV0YWw6KCk9PlMkLEhhbmRQbGF0dGVyOigpPT56JCxIYW5kYmFnOigpPT5fJCxIYW5kc2hha2U6KCk9PlQkLEhhcmREcml2ZTooKT0+QSQsSGFyZERyaXZlRG93bmxvYWQ6KCk9PkwkLEhhcmREcml2ZVVwbG9hZDooKT0+JCQsSGFyZEhhdDooKT0+RCQsSGFzaDooKT0+UCQsSGF0R2xhc3NlczooKT0+RSQsSGF6ZTooKT0+SSQsSGQ6KCk9Pk4kLEhkbWlQb3J0OigpPT5SJCxIZWFkaW5nOigpPT5qJCxIZWFkaW5nMTooKT0+TyQsSGVhZGluZzI6KCk9PkYkLEhlYWRpbmczOigpPT5CJCxIZWFkaW5nNDooKT0+SCQsSGVhZGluZzU6KCk9PnEkLEhlYWRpbmc2OigpPT5WJCxIZWFkcGhvbmVPZmY6KCk9PlUkLEhlYWRwaG9uZXM6KCk9PkckLEhlYWRzZXQ6KCk9PlckLEhlYXJ0OigpPT50RCxIZWFydENyYWNrOigpPT5ZJCxIZWFydEhhbmRzaGFrZTooKT0+SyQsSGVhcnRNaW51czooKT0+WiQsSGVhcnRPZmY6KCk9PlgkLEhlYXJ0UGx1czooKT0+USQsSGVhcnRQdWxzZTooKT0+SiQsSGVhcnRYOigpPT5lRCxIZWF0ZXI6KCk9PmFELEhlbGljb3B0ZXI6KCk9PnJELEhlbHBDaXJjbGU6KCk9PkpsLEhlbHBpbmdIYW5kOigpPT51dSxIZXhhZ29uOigpPT5zRCxIaWdobGlnaHRlcjooKT0+aUQsSGlzdG9yeTooKT0+b0QsSG9tZTooKT0+cHUsSG9wOigpPT5uRCxIb3BPZmY6KCk9PmxELEhvc3BpdGFsOigpPT5jRCxIb3RlbDooKT0+ZEQsSG91cmdsYXNzOigpPT51RCxIb3VzZTooKT0+cHUsSG91c2VIZWFydDooKT0+cEQsSG91c2VQbHVnOigpPT5mRCxIb3VzZVBsdXM6KCk9Pm1ELEhvdXNlV2lmaTooKT0+aEQsSWNlQ3JlYW06KCk9Pmh1LEljZUNyZWFtMjooKT0+ZnUsSWNlQ3JlYW1Cb3dsOigpPT5mdSxJY2VDcmVhbUNvbmU6KCk9Pmh1LElkQ2FyZDooKT0+YkQsSWRDYXJkTGFueWFyZDooKT0+Z0QsSW1hZ2U6KCk9PnpELEltYWdlRG93bjooKT0+dkQsSW1hZ2VNaW51czooKT0+eEQsSW1hZ2VPZmY6KCk9PnlELEltYWdlUGxheTooKT0+d0QsSW1hZ2VQbHVzOigpPT5NRCxJbWFnZVVwOigpPT5rRCxJbWFnZVVwc2NhbGU6KCk9PlNELEltYWdlczooKT0+Q0QsSW1wb3J0OigpPT5fRCxJbmJveDooKT0+VEQsSW5kZW50OigpPT5zYyxJbmRlbnREZWNyZWFzZTooKT0+cmMsSW5kZW50SW5jcmVhc2U6KCk9PnNjLEluZGlhblJ1cGVlOigpPT5MRCxJbmZpbml0eTooKT0+JEQsSW5mbzooKT0+REQsSW5zcGVjdDooKT0+QXAsSW5zcGVjdGlvblBhbmVsOigpPT5BRCxJdGFsaWM6KCk9PlBELEl0ZXJhdGlvbkNjdzooKT0+RUQsSXRlcmF0aW9uQ3c6KCk9PklELEphcGFuZXNlWWVuOigpPT5ORCxKb3lzdGljazooKT0+UkQsS2FuYmFuOigpPT5PRCxLYW5iYW5TcXVhcmU6KCk9PkxwLEthbmJhblNxdWFyZURhc2hlZDooKT0+eXAsS2F5YWs6KCk9PkZELEtleTooKT0+cUQsS2V5Um91bmQ6KCk9PkhELEtleVNxdWFyZTooKT0+QkQsS2V5Ym9hcmQ6KCk9PlVELEtleWJvYXJkTXVzaWM6KCk9PlZELEtleWJvYXJkT2ZmOigpPT5qRCxMYW1wOigpPT5YRCxMYW1wQ2VpbGluZzooKT0+V0QsTGFtcERlc2s6KCk9PkdELExhbXBGbG9vcjooKT0+WUQsTGFtcFdhbGxEb3duOigpPT5LRCxMYW1wV2FsbFVwOigpPT5aRCxMYW5kUGxvdDooKT0+UUQsTGFuZG1hcms6KCk9PkpELExhbmd1YWdlczooKT0+ZUEsTGFwdG9wOigpPT5hQSxMYXB0b3AyOigpPT5tdSxMYXB0b3BNaW5pbWFsOigpPT5tdSxMYXB0b3BNaW5pbWFsQ2hlY2s6KCk9PnRBLExhc3NvOigpPT5pQSxMYXNzb1NlbGVjdDooKT0+ckEsTGF1Z2g6KCk9PnNBLExheWVyczooKT0+Z3UsTGF5ZXJzMjooKT0+b0EsTGF5ZXJzMzooKT0+Z3UsTGF5ZXJzTWludXM6KCk9Pm5BLExheWVyc1BsdXM6KCk9PmxBLExheW91dDooKT0+TnUsTGF5b3V0RGFzaGJvYXJkOigpPT5jQSxMYXlvdXRHcmlkOigpPT5kQSxMYXlvdXRMaXN0OigpPT51QSxMYXlvdXRQYW5lbExlZnQ6KCk9PnBBLExheW91dFBhbmVsVG9wOigpPT5oQSxMYXlvdXRUZW1wbGF0ZTooKT0+ZkEsTGVhZjooKT0+bUEsTGVhZnlHcmVlbjooKT0+Z0EsTGVjdGVybjooKT0+YkEsTGVuc0NvbmNhdmU6KCk9PnZBLExlbnNDb252ZXg6KCk9PnhBLExldHRlclRleHQ6KCk9PmVmLExpYnJhcnk6KCk9PndBLExpYnJhcnlCaWc6KCk9PnlBLExpYnJhcnlTcXVhcmU6KCk9Pl9wLExpZmVCdW95OigpPT5NQSxMaWdhdHVyZTooKT0+a0EsTGlnaHRidWxiOigpPT5TQSxMaWdodGJ1bGJPZmY6KCk9PnpBLExpbmVDaGFydDooKT0+SWQsTGluZURvdFJpZ2h0SG9yaXpvbnRhbDooKT0+Q0EsTGluZVNxdWlnZ2xlOigpPT5UQSxMaW5lU3R5bGU6KCk9Pl9BLExpbms6KCk9PkRBLExpbmsyOigpPT4kQSxMaW5rMk9mZjooKT0+TEEsTGlzdDooKT0+WkEsTGlzdENoZWNrOigpPT5BQSxMaXN0Q2hlY2tzOigpPT5QQSxMaXN0Q2hldnJvbnNEb3duVXA6KCk9PkVBLExpc3RDaGV2cm9uc1VwRG93bjooKT0+SUEsTGlzdENvbGxhcHNlOigpPT5OQSxMaXN0RW5kOigpPT5SQSxMaXN0RmlsdGVyOigpPT5GQSxMaXN0RmlsdGVyUGx1czooKT0+T0EsTGlzdEluZGVudERlY3JlYXNlOigpPT5yYyxMaXN0SW5kZW50SW5jcmVhc2U6KCk9PnNjLExpc3RNaW51czooKT0+QkEsTGlzdE11c2ljOigpPT5IQSxMaXN0T3JkZXJlZDooKT0+cUEsTGlzdFBsdXM6KCk9PlZBLExpc3RSZXN0YXJ0OigpPT5qQSxMaXN0U3RhcnQ6KCk9PlVBLExpc3RUb2RvOigpPT5XQSxMaXN0VHJlZTooKT0+R0EsTGlzdFZpZGVvOigpPT5ZQSxMaXN0WDooKT0+S0EsTG9hZGVyOigpPT5RQSxMb2FkZXIyOigpPT5idSxMb2FkZXJDaXJjbGU6KCk9PmJ1LExvYWRlclBpbndoZWVsOigpPT5YQSxMb2NhdGU6KCk9PnRQLExvY2F0ZUZpeGVkOigpPT5KQSxMb2NhdGVPZmY6KCk9PmVQLExvY2F0aW9uRWRpdDooKT0+d3UsTG9jazooKT0+clAsTG9ja0tleWhvbGU6KCk9PmFQLExvY2tLZXlob2xlT3BlbjooKT0+dnUsTG9ja09wZW46KCk9Pnh1LExvZ0luOigpPT5zUCxMb2dPdXQ6KCk9PmlQLExvZ3M6KCk9Pm9QLExvbGxpcG9wOigpPT5uUCxMdWdnYWdlOigpPT5sUCxNU3F1YXJlOigpPT5UcCxNYWduZXQ6KCk9PmRQLE1haWw6KCk9PnZQLE1haWxDaGVjazooKT0+Y1AsTWFpbE1pbnVzOigpPT51UCxNYWlsT3BlbjooKT0+cFAsTWFpbFBsdXM6KCk9PmZQLE1haWxRdWVzdGlvbjooKT0+eXUsTWFpbFF1ZXN0aW9uTWFyazooKT0+eXUsTWFpbFNlYXJjaDooKT0+aFAsTWFpbFdhcm5pbmc6KCk9Pm1QLE1haWxYOigpPT5nUCxNYWlsYm94OigpPT5iUCxNYWlsczooKT0+eFAsTWFwOigpPT5JUCxNYXBNaW51czooKT0+eVAsTWFwUGluOigpPT5BUCxNYXBQaW5DaGVjazooKT0+TVAsTWFwUGluQ2hlY2tJbnNpZGU6KCk9PndQLE1hcFBpbkhvdXNlOigpPT5rUCxNYXBQaW5NaW51czooKT0+elAsTWFwUGluTWludXNJbnNpZGU6KCk9PlNQLE1hcFBpbk9mZjooKT0+Q1AsTWFwUGluUGVuOigpPT53dSxNYXBQaW5QbHVzOigpPT5UUCxNYXBQaW5QbHVzSW5zaWRlOigpPT5fUCxNYXBQaW5TZWFyY2g6KCk9PkxQLE1hcFBpblg6KCk9PiRQLE1hcFBpblhJbnNpZGU6KCk9PkRQLE1hcFBpbm5lZDooKT0+UFAsTWFwUGx1czooKT0+RVAsTWFyczooKT0+UlAsTWFyc1N0cm9rZTooKT0+TlAsTWFydGluaTooKT0+T1AsTWF4aW1pemU6KCk9PkJQLE1heGltaXplMjooKT0+RlAsTWVkYWw6KCk9PkhQLE1lZ2FwaG9uZTooKT0+VlAsTWVnYXBob25lT2ZmOigpPT5xUCxNZWg6KCk9PmpQLE1lbW9yeVN0aWNrOigpPT5VUCxNZW51OigpPT5XUCxNZW51U3F1YXJlOigpPT4kcCxNZXJnZTooKT0+R1AsTWVzc2FnZUNpcmNsZTooKT0+c0UsTWVzc2FnZUNpcmNsZUNoZWNrOigpPT5ZUCxNZXNzYWdlQ2lyY2xlQ29kZTooKT0+S1AsTWVzc2FnZUNpcmNsZURhc2hlZDooKT0+WlAsTWVzc2FnZUNpcmNsZUhlYXJ0OigpPT5YUCxNZXNzYWdlQ2lyY2xlTW9yZTooKT0+UVAsTWVzc2FnZUNpcmNsZU9mZjooKT0+SlAsTWVzc2FnZUNpcmNsZVBsdXM6KCk9PmVFLE1lc3NhZ2VDaXJjbGVRdWVzdGlvbjooKT0+TXUsTWVzc2FnZUNpcmNsZVF1ZXN0aW9uTWFyazooKT0+TXUsTWVzc2FnZUNpcmNsZVJlcGx5OigpPT50RSxNZXNzYWdlQ2lyY2xlV2FybmluZzooKT0+YUUsTWVzc2FnZUNpcmNsZVg6KCk9PnJFLE1lc3NhZ2VTcXVhcmU6KCk9PndFLE1lc3NhZ2VTcXVhcmVDaGVjazooKT0+b0UsTWVzc2FnZVNxdWFyZUNvZGU6KCk9PmlFLE1lc3NhZ2VTcXVhcmVEYXNoZWQ6KCk9Pm5FLE1lc3NhZ2VTcXVhcmVEaWZmOigpPT5sRSxNZXNzYWdlU3F1YXJlRG90OigpPT5jRSxNZXNzYWdlU3F1YXJlSGVhcnQ6KCk9PmRFLE1lc3NhZ2VTcXVhcmVMb2NrOigpPT51RSxNZXNzYWdlU3F1YXJlTW9yZTooKT0+cEUsTWVzc2FnZVNxdWFyZU9mZjooKT0+ZkUsTWVzc2FnZVNxdWFyZVBsdXM6KCk9PmhFLE1lc3NhZ2VTcXVhcmVRdW90ZTooKT0+bUUsTWVzc2FnZVNxdWFyZVJlcGx5OigpPT5nRSxNZXNzYWdlU3F1YXJlU2hhcmU6KCk9PmJFLE1lc3NhZ2VTcXVhcmVUZXh0OigpPT52RSxNZXNzYWdlU3F1YXJlV2FybmluZzooKT0+eEUsTWVzc2FnZVNxdWFyZVg6KCk9PnlFLE1lc3NhZ2VzU3F1YXJlOigpPT5NRSxNZXRyb25vbWU6KCk9PmtFLE1pYzooKT0+ekUsTWljMjooKT0+a3UsTWljT2ZmOigpPT5TRSxNaWNWb2NhbDooKT0+a3UsTWljcm9jaGlwOigpPT5DRSxNaWNyb3Njb3BlOigpPT5fRSxNaWNyb3dhdmU6KCk9PlRFLE1pbGVzdG9uZTooKT0+TEUsTWlsazooKT0+REUsTWlsa09mZjooKT0+JEUsTWluaW1pemU6KCk9PlBFLE1pbmltaXplMjooKT0+QUUsTWludXM6KCk9PkVFLE1pbnVzQ2lyY2xlOigpPT5zNixNaW51c1NxdWFyZTooKT0+RHAsTWlycm9yUmVjdGFuZ3VsYXI6KCk9PklFLE1pcnJvclJvdW5kOigpPT5ORSxNb25pdG9yOigpPT5aRSxNb25pdG9yQ2hlY2s6KCk9PlJFLE1vbml0b3JDbG91ZDooKT0+T0UsTW9uaXRvckNvZzooKT0+RkUsTW9uaXRvckRvdDooKT0+QkUsTW9uaXRvckRvd246KCk9PnFFLE1vbml0b3JPZmY6KCk9PkhFLE1vbml0b3JQYXVzZTooKT0+VkUsTW9uaXRvclBsYXk6KCk9PmpFLE1vbml0b3JTbWFydHBob25lOigpPT5VRSxNb25pdG9yU3BlYWtlcjooKT0+V0UsTW9uaXRvclN0b3A6KCk9PllFLE1vbml0b3JVcDooKT0+R0UsTW9uaXRvclg6KCk9PktFLE1vb246KCk9PlFFLE1vb25TdGFyOigpPT5YRSxNb3JlSG9yaXpvbnRhbDooKT0+VDYsTW9yZVZlcnRpY2FsOigpPT5fNixNb3RvcmJpa2U6KCk9PkpFLE1vdW50YWluOigpPT50SSxNb3VudGFpblNub3c6KCk9PmVJLE1vdXNlOigpPT5kSSxNb3VzZUxlZnQ6KCk9PmFJLE1vdXNlT2ZmOigpPT5ySSxNb3VzZVBvaW50ZXI6KCk9PmxJLE1vdXNlUG9pbnRlcjI6KCk9PmlJLE1vdXNlUG9pbnRlcjJPZmY6KCk9PnNJLE1vdXNlUG9pbnRlckJhbjooKT0+b0ksTW91c2VQb2ludGVyQ2xpY2s6KCk9Pm5JLE1vdXNlUG9pbnRlclNxdWFyZURhc2hlZDooKT0+d3AsTW91c2VSaWdodDooKT0+Y0ksTW92ZTooKT0+a0ksTW92ZTNEOigpPT5TdSxNb3ZlM2Q6KCk9PlN1LE1vdmVEaWFnb25hbDooKT0+cEksTW92ZURpYWdvbmFsMjooKT0+dUksTW92ZURvd246KCk9Pm1JLE1vdmVEb3duTGVmdDooKT0+ZkksTW92ZURvd25SaWdodDooKT0+aEksTW92ZUhvcml6b250YWw6KCk9PmdJLE1vdmVMZWZ0OigpPT5iSSxNb3ZlUmlnaHQ6KCk9PnZJLE1vdmVVcDooKT0+d0ksTW92ZVVwTGVmdDooKT0+eEksTW92ZVVwUmlnaHQ6KCk9PnlJLE1vdmVWZXJ0aWNhbDooKT0+TUksTXVzaWM6KCk9Pl9JLE11c2ljMjooKT0+U0ksTXVzaWMzOigpPT5DSSxNdXNpYzQ6KCk9PnpJLE5hdmlnYXRpb246KCk9PkRJLE5hdmlnYXRpb24yOigpPT5MSSxOYXZpZ2F0aW9uMk9mZjooKT0+VEksTmF2aWdhdGlvbk9mZjooKT0+JEksTmV0d29yazooKT0+QUksTmV3c3BhcGVyOigpPT5QSSxOZmM6KCk9PkVJLE5vbkJpbmFyeTooKT0+SUksTm90ZWJvb2s6KCk9PkZJLE5vdGVib29rUGVuOigpPT5OSSxOb3RlYm9va1RhYnM6KCk9Pk9JLE5vdGVib29rVGV4dDooKT0+UkksTm90ZXBhZFRleHQ6KCk9PkhJLE5vdGVwYWRUZXh0RGFzaGVkOigpPT5CSSxOdXQ6KCk9PlZJLE51dE9mZjooKT0+cUksT2N0YWdvbjooKT0+VUksT2N0YWdvbkFsZXJ0OigpPT56dSxPY3RhZ29uTWludXM6KCk9PmpJLE9jdGFnb25QYXVzZTooKT0+Q3UsT2N0YWdvblg6KCk9Pl91LE9tZWdhOigpPT5XSSxPcHRpb246KCk9PkdJLE9yYml0OigpPT5ZSSxPcmlnYW1pOigpPT5LSSxPdXRkZW50OigpPT5yYyxQYWNrYWdlOigpPT5hTixQYWNrYWdlMjooKT0+WkksUGFja2FnZUNoZWNrOigpPT5YSSxQYWNrYWdlTWludXM6KCk9PlFJLFBhY2thZ2VPcGVuOigpPT5KSSxQYWNrYWdlUGx1czooKT0+ZU4sUGFja2FnZVNlYXJjaDooKT0+dE4sUGFja2FnZVg6KCk9PnJOLFBhaW50QnVja2V0OigpPT5zTixQYWludFJvbGxlcjooKT0+aU4sUGFpbnRicnVzaDooKT0+b04sUGFpbnRicnVzaDI6KCk9PlR1LFBhaW50YnJ1c2hWZXJ0aWNhbDooKT0+VHUsUGFsZXR0ZTooKT0+bk4sUGFsbXRyZWU6KCk9PnJmLFBhbmRhOigpPT5jTixQYW5lbEJvdHRvbTooKT0+dU4sUGFuZWxCb3R0b21DbG9zZTooKT0+bE4sUGFuZWxCb3R0b21EYXNoZWQ6KCk9Pkx1LFBhbmVsQm90dG9tSW5hY3RpdmU6KCk9Pkx1LFBhbmVsQm90dG9tT3BlbjooKT0+ZE4sUGFuZWxMZWZ0OigpPT5QdSxQYW5lbExlZnRDbG9zZTooKT0+JHUsUGFuZWxMZWZ0RGFzaGVkOigpPT5EdSxQYW5lbExlZnRJbmFjdGl2ZTooKT0+RHUsUGFuZWxMZWZ0T3BlbjooKT0+QXUsUGFuZWxMZWZ0UmlnaHREYXNoZWQ6KCk9PnBOLFBhbmVsUmlnaHQ6KCk9PmdOLFBhbmVsUmlnaHRDbG9zZTooKT0+Zk4sUGFuZWxSaWdodERhc2hlZDooKT0+RXUsUGFuZWxSaWdodEluYWN0aXZlOigpPT5FdSxQYW5lbFJpZ2h0T3BlbjooKT0+aE4sUGFuZWxUb3A6KCk9PnhOLFBhbmVsVG9wQm90dG9tRGFzaGVkOigpPT5tTixQYW5lbFRvcENsb3NlOigpPT5iTixQYW5lbFRvcERhc2hlZDooKT0+SXUsUGFuZWxUb3BJbmFjdGl2ZTooKT0+SXUsUGFuZWxUb3BPcGVuOigpPT52TixQYW5lbHNMZWZ0Qm90dG9tOigpPT55TixQYW5lbHNMZWZ0UmlnaHQ6KCk9Pms2LFBhbmVsc1JpZ2h0Qm90dG9tOigpPT53TixQYW5lbHNUb3BCb3R0b206KCk9PlZ1LFBhbmVsc1RvcExlZnQ6KCk9Pk51LFBhcGVyY2xpcDooKT0+TU4sUGFyZW50aGVzZXM6KCk9PmtOLFBhcmtpbmdDaXJjbGU6KCk9Pm82LFBhcmtpbmdDaXJjbGVPZmY6KCk9Pmk2LFBhcmtpbmdNZXRlcjooKT0+U04sUGFya2luZ1NxdWFyZTooKT0+RXAsUGFya2luZ1NxdWFyZU9mZjooKT0+UHAsUGFydHlQb3BwZXI6KCk9PkNOLFBhdXNlOigpPT56TixQYXVzZUNpcmNsZTooKT0+bjYsUGF1c2VPY3RhZ29uOigpPT5DdSxQYXdQcmludDooKT0+X04sUGNDYXNlOigpPT5UTixQZW46KCk9Pk91LFBlbkJveDooKT0+QzEsUGVuTGluZTooKT0+UnUsUGVuT2ZmOigpPT5MTixQZW5TcXVhcmU6KCk9PkMxLFBlblRvb2w6KCk9PiROLFBlbmNpbDooKT0+UE4sUGVuY2lsTGluZTooKT0+RE4sUGVuY2lsT2ZmOigpPT5BTixQZW5jaWxSdWxlcjooKT0+RU4sUGVudGFnb246KCk9PklOLFBlcmNlbnQ6KCk9Pk5OLFBlcmNlbnRDaXJjbGU6KCk9Pmw2LFBlcmNlbnREaWFtb25kOigpPT56NixQZXJjZW50U3F1YXJlOigpPT5JcCxQZXJzb25TdGFuZGluZzooKT0+Uk4sUGhpbGlwcGluZVBlc286KCk9Pk9OLFBob25lOigpPT5XTixQaG9uZUNhbGw6KCk9PkZOLFBob25lRm9yd2FyZGVkOigpPT5CTixQaG9uZUluY29taW5nOigpPT5ITixQaG9uZU1pc3NlZDooKT0+cU4sUGhvbmVPZmY6KCk9PlZOLFBob25lT3V0Z29pbmc6KCk9PmpOLFBpOigpPT5VTixQaVNxdWFyZTooKT0+TnAsUGlhbm86KCk9PkdOLFBpY2theGU6KCk9PllOLFBpY3R1cmVJblBpY3R1cmU6KCk9PlpOLFBpY3R1cmVJblBpY3R1cmUyOigpPT5LTixQaWVDaGFydDooKT0+RmQsUGlnZ3lCYW5rOigpPT5YTixQaWxjcm93OigpPT5lUixQaWxjcm93TGVmdDooKT0+UU4sUGlsY3Jvd1JpZ2h0OigpPT5KTixQaWxjcm93U3F1YXJlOigpPT5ScCxQaWxsOigpPT5yUixQaWxsQm90dGxlOigpPT50UixQaW46KCk9PnNSLFBpbk9mZjooKT0+YVIsUGlwZXR0ZTooKT0+aVIsUGl6emE6KCk9Pm9SLFBsYW5lOigpPT5jUixQbGFuZUxhbmRpbmc6KCk9Pm5SLFBsYW5lVGFrZW9mZjooKT0+bFIsUGxheTooKT0+ZFIsUGxheUNpcmNsZTooKT0+YzYsUGxheVNxdWFyZTooKT0+RnAsUGx1ZzooKT0+cFIsUGx1ZzI6KCk9PnVSLFBsdWdaYXA6KCk9PkZ1LFBsdWdaYXAyOigpPT5GdSxQbHVzOigpPT5mUixQbHVzQ2lyY2xlOigpPT5kNixQbHVzU3F1YXJlOigpPT5PcCxQb2NrZXRLbmlmZTooKT0+aFIsUG9kY2FzdDooKT0+bVIsUG9pbnRlcjooKT0+Z1IsUG9pbnRlck9mZjooKT0+YlIsUG9wY29ybjooKT0+dlIsUG9wc2ljbGU6KCk9PnhSLFBvdW5kU3Rlcmxpbmc6KCk9PnlSLFBvd2VyOigpPT5NUixQb3dlckNpcmNsZTooKT0+dTYsUG93ZXJPZmY6KCk9PndSLFBvd2VyU3F1YXJlOigpPT5CcCxQcmVzZW50YXRpb246KCk9PmtSLFByaW50ZXI6KCk9PkNSLFByaW50ZXJDaGVjazooKT0+elIsUHJpbnRlclg6KCk9PlNSLFByb2plY3RvcjooKT0+TFIsUHJvcG9ydGlvbnM6KCk9Pl9SLFB1enpsZTooKT0+VFIsUHlyYW1pZDooKT0+JFIsUXJDb2RlOigpPT5BUixRdW90ZTooKT0+RFIsUmFiYml0OigpPT5FUixSYWRhcjooKT0+UFIsUmFkaWF0aW9uOigpPT5JUixSYWRpY2FsOigpPT5OUixSYWRpbzooKT0+QlIsUmFkaW9PZmY6KCk9PlJSLFJhZGlvUmVjZWl2ZXI6KCk9Pk9SLFJhZGlvVG93ZXI6KCk9PkZSLFJhZGl1czooKT0+SFIsUmFpbmJvdzooKT0+cVIsUmF0OigpPT5WUixSYXRpbzooKT0+alIsUmVjZWlwdDooKT0+SlIsUmVjZWlwdENlbnQ6KCk9PlVSLFJlY2VpcHRFdXJvOigpPT5XUixSZWNlaXB0SW5kaWFuUnVwZWU6KCk9PkdSLFJlY2VpcHRKYXBhbmVzZVllbjooKT0+S1IsUmVjZWlwdFBvdW5kU3Rlcmxpbmc6KCk9PllSLFJlY2VpcHRSdXNzaWFuUnVibGU6KCk9PlpSLFJlY2VpcHRTd2lzc0ZyYW5jOigpPT5RUixSZWNlaXB0VGV4dDooKT0+WFIsUmVjZWlwdFR1cmtpc2hMaXJhOigpPT5lTyxSZWN0YW5nbGVDaXJjbGU6KCk9PnRPLFJlY3RhbmdsZUVsbGlwc2lzOigpPT5CdSxSZWN0YW5nbGVHb2dnbGVzOigpPT5hTyxSZWN0YW5nbGVIb3Jpem9udGFsOigpPT5yTyxSZWN0YW5nbGVWZXJ0aWNhbDooKT0+c08sUmVjeWNsZTooKT0+aU8sUmVkbzooKT0+bE8sUmVkbzI6KCk9Pm9PLFJlZG9Eb3Q6KCk9Pm5PLFJlZnJlc2hDY3c6KCk9PmRPLFJlZnJlc2hDY3dEb3Q6KCk9PmNPLFJlZnJlc2hDdzooKT0+cE8sUmVmcmVzaEN3T2ZmOigpPT51TyxSZWZyaWdlcmF0b3I6KCk9PmZPLFJlZ2V4OigpPT5oTyxSZW1vdmVGb3JtYXR0aW5nOigpPT5tTyxSZXBlYXQ6KCk9PnhPLFJlcGVhdDE6KCk9PmJPLFJlcGVhdDI6KCk9PmdPLFJlcGVhdE9mZjooKT0+dk8sUmVwbGFjZTooKT0+d08sUmVwbGFjZUFsbDooKT0+eU8sUmVwbHk6KCk9PmtPLFJlcGx5QWxsOigpPT5NTyxSZXdpbmQ6KCk9PnpPLFJpYmJvbjooKT0+U08sUm9hZDooKT0+Q08sUm9ja2V0OigpPT5fTyxSb2NraW5nQ2hhaXI6KCk9PlRPLFJvbGxlckNvYXN0ZXI6KCk9PkxPLFJvc2U6KCk9PiRPLFJvdGF0ZTNEOigpPT5IdSxSb3RhdGUzZDooKT0+SHUsUm90YXRlQ2N3OigpPT5QTyxSb3RhdGVDY3dLZXk6KCk9PkRPLFJvdGF0ZUNjd1NxdWFyZTooKT0+QU8sUm90YXRlQ3c6KCk9PklPLFJvdGF0ZUN3U3F1YXJlOigpPT5FTyxSb3V0ZTooKT0+Uk8sUm91dGVPZmY6KCk9Pk5PLFJvdXRlcjooKT0+T08sUm93czooKT0+cXUsUm93czI6KCk9PnF1LFJvd3MzOigpPT5WdSxSb3dzNDooKT0+Rk8sUnNzOigpPT5CTyxSdWxlcjooKT0+cU8sUnVsZXJEaW1lbnNpb25MaW5lOigpPT5ITyxSdXNzaWFuUnVibGU6KCk9PlZPLFNhaWxib2F0OigpPT5qTyxTYWxhZDooKT0+VU8sU2FuZHdpY2g6KCk9PldPLFNhdGVsbGl0ZTooKT0+R08sU2F0ZWxsaXRlRGlzaDooKT0+WU8sU2F1ZGlSaXlhbDooKT0+S08sU2F2ZTooKT0+UU8sU2F2ZUFsbDooKT0+WE8sU2F2ZU9mZjooKT0+Wk8sU2NhbGU6KCk9PkpPLFNjYWxlM0Q6KCk9Pmp1LFNjYWxlM2Q6KCk9Pmp1LFNjYWxpbmc6KCk9PnRGLFNjYW46KCk9PmNGLFNjYW5CYXJjb2RlOigpPT5lRixTY2FuRXllOigpPT5hRixTY2FuRmFjZTooKT0+ckYsU2NhbkhlYXJ0OigpPT5zRixTY2FuTGluZTooKT0+aUYsU2NhblFyQ29kZTooKT0+b0YsU2NhblNlYXJjaDooKT0+bkYsU2NhblRleHQ6KCk9PmxGLFNjYXR0ZXJDaGFydDooKT0+QmQsU2Nob29sOigpPT5kRixTY2hvb2wyOigpPT5uZixTY2lzc29yczooKT0+cEYsU2Npc3NvcnNMaW5lRGFzaGVkOigpPT51RixTY2lzc29yc1NxdWFyZTooKT0+cXAsU2Npc3NvcnNTcXVhcmVEYXNoZWRCb3R0b206KCk9PmRwLFNjb290ZXI6KCk9PmZGLFNjcmVlblNoYXJlOigpPT5tRixTY3JlZW5TaGFyZU9mZjooKT0+aEYsU2Nyb2xsOigpPT5iRixTY3JvbGxUZXh0OigpPT5nRixTZWFyY2g6KCk9PmtGLFNlYXJjaEFsZXJ0OigpPT52RixTZWFyY2hDaGVjazooKT0+eEYsU2VhcmNoQ29kZTooKT0+eUYsU2VhcmNoU2xhc2g6KCk9PndGLFNlYXJjaFg6KCk9Pk1GLFNlY3Rpb246KCk9PlNGLFNlbmQ6KCk9PkNGLFNlbmRIb3Jpem9uYWw6KCk9PlV1LFNlbmRIb3Jpem9udGFsOigpPT5VdSxTZW5kVG9CYWNrOigpPT56RixTZXBhcmF0b3JIb3Jpem9udGFsOigpPT5fRixTZXBhcmF0b3JWZXJ0aWNhbDooKT0+VEYsU2VydmVyOigpPT5BRixTZXJ2ZXJDb2c6KCk9PkxGLFNlcnZlckNyYXNoOigpPT4kRixTZXJ2ZXJPZmY6KCk9PkRGLFNldHRpbmdzOigpPT5JRixTZXR0aW5nczI6KCk9PlBGLFNoYXBlczooKT0+RUYsU2hhcmU6KCk9PlJGLFNoYXJlMjooKT0+TkYsU2hlZXQ6KCk9PkZGLFNoZWxsOigpPT5PRixTaGVsdmluZ1VuaXQ6KCk9PkJGLFNoaWVsZDooKT0+UUYsU2hpZWxkQWxlcnQ6KCk9PkhGLFNoaWVsZEJhbjooKT0+cUYsU2hpZWxkQ2hlY2s6KCk9PlZGLFNoaWVsZENsb3NlOigpPT5HdSxTaGllbGRDb2c6KCk9PldGLFNoaWVsZENvZ0Nvcm5lcjooKT0+akYsU2hpZWxkRWxsaXBzaXM6KCk9PlVGLFNoaWVsZEhhbGY6KCk9PkdGLFNoaWVsZE1pbnVzOigpPT5ZRixTaGllbGRPZmY6KCk9PktGLFNoaWVsZFBsdXM6KCk9PlpGLFNoaWVsZFF1ZXN0aW9uOigpPT5XdSxTaGllbGRRdWVzdGlvbk1hcms6KCk9Pld1LFNoaWVsZFVzZXI6KCk9PlhGLFNoaWVsZFg6KCk9Pkd1LFNoaXA6KCk9PkpGLFNoaXBXaGVlbDooKT0+ZUIsU2hpcnQ6KCk9PnRCLFNob3BwaW5nQmFnOigpPT5hQixTaG9wcGluZ0Jhc2tldDooKT0+ckIsU2hvcHBpbmdDYXJ0OigpPT5zQixTaG92ZWw6KCk9PmlCLFNob3dlckhlYWQ6KCk9Pm9CLFNocmVkZGVyOigpPT5uQixTaHJpbXA6KCk9PmNCLFNocmluazooKT0+bEIsU2hydWI6KCk9PmRCLFNodWZmbGU6KCk9PnVCLFNpZGViYXI6KCk9PlB1LFNpZGViYXJDbG9zZTooKT0+JHUsU2lkZWJhck9wZW46KCk9PkF1LFNpZ21hOigpPT5wQixTaWdtYVNxdWFyZTooKT0+SHAsU2lnbmFsOigpPT5iQixTaWduYWxIaWdoOigpPT5mQixTaWduYWxMb3c6KCk9PmhCLFNpZ25hbE1lZGl1bTooKT0+bUIsU2lnbmFsWmVybzooKT0+Z0IsU2lnbmF0dXJlOigpPT52QixTaWducG9zdDooKT0+eUIsU2lnbnBvc3RCaWc6KCk9PnhCLFNpcmVuOigpPT53QixTa2lwQmFjazooKT0+TUIsU2tpcEZvcndhcmQ6KCk9PmtCLFNrdWxsOigpPT5TQixTbGFzaDooKT0+ekIsU2xhc2hTcXVhcmU6KCk9PlZwLFNsaWNlOigpPT5fQixTbGlkZXJzOigpPT5ZdSxTbGlkZXJzSG9yaXpvbnRhbDooKT0+Q0IsU2xpZGVyc1ZlcnRpY2FsOigpPT5ZdSxTbWFydHBob25lOigpPT5EQixTbWFydHBob25lQ2hhcmdpbmc6KCk9PlRCLFNtYXJ0cGhvbmVOZmM6KCk9PkxCLFNtaWxlOigpPT5BQixTbWlsZVBsdXM6KCk9PiRCLFNuYWlsOigpPT5QQixTbm93Zmxha2U6KCk9PkVCLFNvYXBEaXNwZW5zZXJEcm9wbGV0OigpPT5JQixTb2ZhOigpPT5OQixTb2xhclBhbmVsOigpPT5SQixTb3J0QXNjOigpPT52ZCxTb3J0RGVzYzooKT0+bWQsU291cDooKT0+T0IsU3BhY2U6KCk9PkZCLFNwYWRlOigpPT5CQixTcGFya2xlOigpPT5IQixTcGFya2xlczooKT0+S3UsU3BlYWtlcjooKT0+cUIsU3BlZWNoOigpPT5WQixTcGVsbENoZWNrOigpPT5qQixTcGVsbENoZWNrMjooKT0+VUIsU3BsaW5lOigpPT5HQixTcGxpbmVQb2ludGVyOigpPT5XQixTcGxpdDooKT0+WUIsU3BsaXRTcXVhcmVIb3Jpem9udGFsOigpPT5qcCxTcGxpdFNxdWFyZVZlcnRpY2FsOigpPT5VcCxTcG9vbDooKT0+S0IsU3BvcnRTaG9lOigpPT5aQixTcG90bGlnaHQ6KCk9PkpCLFNwcmF5Q2FuOigpPT5YQixTcHJvdXQ6KCk9PlFCLFNxdWFyZTooKT0+cEgsU3F1YXJlQWN0aXZpdHk6KCk9Plp1LFNxdWFyZUFycm93RG93bjooKT0+SnUsU3F1YXJlQXJyb3dEb3duTGVmdDooKT0+WHUsU3F1YXJlQXJyb3dEb3duUmlnaHQ6KCk9PlF1LFNxdWFyZUFycm93TGVmdDooKT0+ZXAsU3F1YXJlQXJyb3dPdXREb3duTGVmdDooKT0+dHAsU3F1YXJlQXJyb3dPdXREb3duUmlnaHQ6KCk9PmFwLFNxdWFyZUFycm93T3V0VXBMZWZ0OigpPT5ycCxTcXVhcmVBcnJvd091dFVwUmlnaHQ6KCk9PnNwLFNxdWFyZUFycm93UmlnaHQ6KCk9PmlwLFNxdWFyZUFycm93UmlnaHRFbnRlcjooKT0+ZUgsU3F1YXJlQXJyb3dSaWdodEV4aXQ6KCk9PnRILFNxdWFyZUFycm93VXA6KCk9PmxwLFNxdWFyZUFycm93VXBMZWZ0OigpPT5vcCxTcXVhcmVBcnJvd1VwUmlnaHQ6KCk9Pm5wLFNxdWFyZUFzdGVyaXNrOigpPT5jcCxTcXVhcmVCb3R0b21EYXNoZWRTY2lzc29yczooKT0+ZHAsU3F1YXJlQ2VudGVybGluZURhc2hlZEhvcml6b250YWw6KCk9PnVwLFNxdWFyZUNlbnRlcmxpbmVEYXNoZWRWZXJ0aWNhbDooKT0+cHAsU3F1YXJlQ2hhcnRHYW50dDooKT0+aWMsU3F1YXJlQ2hlY2s6KCk9PmhwLFNxdWFyZUNoZWNrQmlnOigpPT5mcCxTcXVhcmVDaGV2cm9uRG93bjooKT0+bXAsU3F1YXJlQ2hldnJvbkxlZnQ6KCk9PmdwLFNxdWFyZUNoZXZyb25SaWdodDooKT0+YnAsU3F1YXJlQ2hldnJvblVwOigpPT52cCxTcXVhcmVDb2RlOigpPT54cCxTcXVhcmVEYXNoZWQ6KCk9Pk1wLFNxdWFyZURhc2hlZEJvdHRvbTooKT0+ckgsU3F1YXJlRGFzaGVkQm90dG9tQ29kZTooKT0+YUgsU3F1YXJlRGFzaGVkS2FuYmFuOigpPT55cCxTcXVhcmVEYXNoZWRNb3VzZVBvaW50ZXI6KCk9PndwLFNxdWFyZURhc2hlZFRleHQ6KCk9Pm9jLFNxdWFyZURhc2hlZFRvcFNvbGlkOigpPT5zSCxTcXVhcmVEaXZpZGU6KCk9PlNwLFNxdWFyZURvdDooKT0+a3AsU3F1YXJlRXF1YWw6KCk9PnpwLFNxdWFyZUZ1bmN0aW9uOigpPT5DcCxTcXVhcmVHYW50dENoYXJ0OigpPT5pYyxTcXVhcmVLYW5iYW46KCk9PkxwLFNxdWFyZUxpYnJhcnk6KCk9Pl9wLFNxdWFyZU06KCk9PlRwLFNxdWFyZU1lbnU6KCk9PiRwLFNxdWFyZU1pbnVzOigpPT5EcCxTcXVhcmVNb3VzZVBvaW50ZXI6KCk9PkFwLFNxdWFyZVBhcmtpbmc6KCk9PkVwLFNxdWFyZVBhcmtpbmdPZmY6KCk9PlBwLFNxdWFyZVBhdXNlOigpPT5pSCxTcXVhcmVQZW46KCk9PkMxLFNxdWFyZVBlcmNlbnQ6KCk9PklwLFNxdWFyZVBpOigpPT5OcCxTcXVhcmVQaWxjcm93OigpPT5ScCxTcXVhcmVQbGF5OigpPT5GcCxTcXVhcmVQbHVzOigpPT5PcCxTcXVhcmVQb3dlcjooKT0+QnAsU3F1YXJlUmFkaWNhbDooKT0+b0gsU3F1YXJlUm91bmRDb3JuZXI6KCk9Pm5ILFNxdWFyZVNjaXNzb3JzOigpPT5xcCxTcXVhcmVTaWdtYTooKT0+SHAsU3F1YXJlU2xhc2g6KCk9PlZwLFNxdWFyZVNwbGl0SG9yaXpvbnRhbDooKT0+anAsU3F1YXJlU3BsaXRWZXJ0aWNhbDooKT0+VXAsU3F1YXJlU3F1YXJlOigpPT5sSCxTcXVhcmVTdGFjazooKT0+Y0gsU3F1YXJlU3RhcjooKT0+ZEgsU3F1YXJlU3RvcDooKT0+dUgsU3F1YXJlVGVybWluYWw6KCk9PldwLFNxdWFyZVVzZXI6KCk9PktwLFNxdWFyZVVzZXJSb3VuZDooKT0+R3AsU3F1YXJlWDooKT0+WXAsU3F1YXJlc0V4Y2x1ZGU6KCk9PmZILFNxdWFyZXNJbnRlcnNlY3Q6KCk9PmhILFNxdWFyZXNTdWJ0cmFjdDooKT0+bUgsU3F1YXJlc1VuaXRlOigpPT5nSCxTcXVpcmNsZTooKT0+dkgsU3F1aXJjbGVEYXNoZWQ6KCk9PmJILFNxdWlycmVsOigpPT54SCxTdGFtcDooKT0+eUgsU3RhcjooKT0+a0gsU3RhckhhbGY6KCk9PndILFN0YXJPZmY6KCk9Pk1ILFN0YXJzOigpPT5LdSxTdGVwQmFjazooKT0+U0gsU3RlcEZvcndhcmQ6KCk9PnpILFN0ZXRob3Njb3BlOigpPT5fSCxTdGlja2VyOigpPT5DSCxTdGlja3lOb3RlOigpPT5USCxTdG9uZTooKT0+REgsU3RvcENpcmNsZTooKT0+ZjYsU3RvcmU6KCk9PkxILFN0cmV0Y2hIb3Jpem9udGFsOigpPT4kSCxTdHJldGNoVmVydGljYWw6KCk9PkFILFN0cmlrZXRocm91Z2g6KCk9PlBILFN1YnNjcmlwdDooKT0+RUgsU3VidGl0bGVzOigpPT5fZCxTdW46KCk9PkZILFN1bkRpbTooKT0+SUgsU3VuTWVkaXVtOigpPT5OSCxTdW5Nb29uOigpPT5SSCxTdW5Tbm93OigpPT5PSCxTdW5yaXNlOigpPT5CSCxTdW5zZXQ6KCk9PkhILFN1cGVyc2NyaXB0OigpPT5xSCxTd2F0Y2hCb29rOigpPT5WSCxTd2lzc0ZyYW5jOigpPT5qSCxTd2l0Y2hDYW1lcmE6KCk9PlVILFN3b3JkOigpPT5XSCxTd29yZHM6KCk9PkdILFN5cmluZ2U6KCk9PllILFRhYmxlOigpPT5ycSxUYWJsZTI6KCk9PktILFRhYmxlQ2VsbHNNZXJnZTooKT0+WkgsVGFibGVDZWxsc1NwbGl0OigpPT5YSCxUYWJsZUNvbHVtbnNTcGxpdDooKT0+UUgsVGFibGVDb25maWc6KCk9PmVjLFRhYmxlT2ZDb250ZW50czooKT0+SkgsVGFibGVQcm9wZXJ0aWVzOigpPT5lcSxUYWJsZVJvd3NTcGxpdDooKT0+dHEsVGFibGV0OigpPT5zcSxUYWJsZXRTbWFydHBob25lOigpPT5hcSxUYWJsZXRzOigpPT5pcSxUYWc6KCk9Pm9xLFRhZ3M6KCk9Pm5xLFRhbGx5MTooKT0+bHEsVGFsbHkyOigpPT5jcSxUYWxseTM6KCk9PmRxLFRhbGx5NDooKT0+dXEsVGFsbHk1OigpPT5mcSxUYW5nZW50OigpPT5wcSxUYXJnZXQ6KCk9PmhxLFRlbGVzY29wZTooKT0+bXEsVGVudDooKT0+YnEsVGVudFRyZWU6KCk9PmdxLFRlcm1pbmFsOigpPT52cSxUZXJtaW5hbFNxdWFyZTooKT0+V3AsVGVzdFR1YmU6KCk9PnhxLFRlc3RUdWJlMjooKT0+WnAsVGVzdFR1YmVEaWFnb25hbDooKT0+WnAsVGVzdFR1YmVzOigpPT55cSxUZXh0OigpPT5uYyxUZXh0QWxpZ25DZW50ZXI6KCk9PlhwLFRleHRBbGlnbkVuZDooKT0+UXAsVGV4dEFsaWduSnVzdGlmeTooKT0+SnAsVGV4dEFsaWduU3RhcnQ6KCk9Pm5jLFRleHRDdXJzb3I6KCk9Pk1xLFRleHRDdXJzb3JJbnB1dDooKT0+d3EsVGV4dEluaXRpYWw6KCk9PmVmLFRleHRRdW90ZTooKT0+a3EsVGV4dFNlYXJjaDooKT0+U3EsVGV4dFNlbGVjdDooKT0+b2MsVGV4dFNlbGVjdGlvbjooKT0+b2MsVGV4dFdyYXA6KCk9PnRmLFRoZWF0ZXI6KCk9PnpxLFRoZXJtb21ldGVyOigpPT5UcSxUaGVybW9tZXRlclNub3dmbGFrZTooKT0+Q3EsVGhlcm1vbWV0ZXJTdW46KCk9Pl9xLFRodW1ic0Rvd246KCk9PkxxLFRodW1ic1VwOigpPT4kcSxUaWNrZXQ6KCk9PlJxLFRpY2tldENoZWNrOigpPT5EcSxUaWNrZXRNaW51czooKT0+QXEsVGlja2V0UGVyY2VudDooKT0+UHEsVGlja2V0UGx1czooKT0+RXEsVGlja2V0U2xhc2g6KCk9PklxLFRpY2tldFg6KCk9Pk5xLFRpY2tldHM6KCk9PkZxLFRpY2tldHNQbGFuZTooKT0+T3EsVGltZWxpbmU6KCk9PkJxLFRpbWVyOigpPT5WcSxUaW1lck9mZjooKT0+SHEsVGltZXJSZXNldDooKT0+cXEsVG9nZ2xlTGVmdDooKT0+VXEsVG9nZ2xlUmlnaHQ6KCk9PldxLFRvaWxldDooKT0+anEsVG9vbENhc2U6KCk9PkdxLFRvb2xib3g6KCk9PllxLFRvcm5hZG86KCk9PlhxLFRvcnVzOigpPT5LcSxUb3VjaHBhZDooKT0+UXEsVG91Y2hwYWRPZmY6KCk9PlpxLFRvd2VsUmFjazooKT0+SnEsVG93ZXJDb250cm9sOigpPT5lVixUb3lCcmljazooKT0+dFYsVHJhY3RvcjooKT0+YVYsVHJhZmZpY0NvbmU6KCk9PnJWLFRyYWluOigpPT5hZixUcmFpbkZyb250OigpPT5pVixUcmFpbkZyb250VHVubmVsOigpPT5zVixUcmFpblRyYWNrOigpPT5vVixUcmFtRnJvbnQ6KCk9PmFmLFRyYW5zZ2VuZGVyOigpPT5uVixUcmFzaDooKT0+Y1YsVHJhc2gyOigpPT5sVixUcmVlRGVjaWR1b3VzOigpPT5kVixUcmVlUGFsbTooKT0+cmYsVHJlZVBpbmU6KCk9PnVWLFRyZWVzOigpPT5wVixUcmVuZGluZ0Rvd246KCk9PmZWLFRyZW5kaW5nVXA6KCk9Pm1WLFRyZW5kaW5nVXBEb3duOigpPT5oVixUcmlhbmdsZTooKT0+dlYsVHJpYW5nbGVBbGVydDooKT0+c2YsVHJpYW5nbGVEYXNoZWQ6KCk9PmdWLFRyaWFuZ2xlUmlnaHQ6KCk9PmJWLFRyb3BoeTooKT0+eFYsVHJ1Y2s6KCk9PndWLFRydWNrRWxlY3RyaWM6KCk9PnlWLFR1cmtpc2hMaXJhOigpPT5NVixUdXJudGFibGU6KCk9PmtWLFR1cnRsZTooKT0+U1YsVHY6KCk9PkNWLFR2MjooKT0+b2YsVHZNaW5pbWFsOigpPT5vZixUdk1pbmltYWxQbGF5OigpPT56VixUeXBlOigpPT5UVixUeXBlT3V0bGluZTooKT0+X1YsVW1icmVsbGE6KCk9PiRWLFVtYnJlbGxhT2ZmOigpPT5MVixVbmRlcmxpbmU6KCk9PkRWLFVuZG86KCk9PkVWLFVuZG8yOigpPT5BVixVbmRvRG90OigpPT5QVixVbmZvbGRIb3Jpem9udGFsOigpPT5JVixVbmZvbGRWZXJ0aWNhbDooKT0+TlYsVW5ncm91cDooKT0+UlYsVW5pdmVyc2l0eTooKT0+bmYsVW5saW5rOigpPT5CVixVbmxpbmsyOigpPT5PVixVbmxvY2s6KCk9Pnh1LFVubG9ja0tleWhvbGU6KCk9PnZ1LFVucGx1ZzooKT0+RlYsVXBsb2FkOigpPT5IVixVcGxvYWRDbG91ZDooKT0+eTYsVXNiOigpPT5xVixVc2VyOigpPT5haixVc2VyMjooKT0+ZmYsVXNlckNoZWNrOigpPT5WVixVc2VyQ2hlY2syOigpPT5sZixVc2VyQ2lyY2xlOigpPT5tNixVc2VyQ2lyY2xlMjooKT0+aDYsVXNlckNvZzooKT0+alYsVXNlckNvZzI6KCk9PmNmLFVzZXJLZXk6KCk9PlVWLFVzZXJMb2NrOigpPT5XVixVc2VyTWludXM6KCk9PkdWLFVzZXJNaW51czI6KCk9PmRmLFVzZXJQZW46KCk9PllWLFVzZXJQbHVzOigpPT5LVixVc2VyUGx1czI6KCk9PnVmLFVzZXJSb3VuZDooKT0+ZmYsVXNlclJvdW5kQ2hlY2s6KCk9PmxmLFVzZXJSb3VuZENvZzooKT0+Y2YsVXNlclJvdW5kS2V5OigpPT5aVixVc2VyUm91bmRNaW51czooKT0+ZGYsVXNlclJvdW5kUGVuOigpPT5YVixVc2VyUm91bmRQbHVzOigpPT51ZixVc2VyUm91bmRTZWFyY2g6KCk9PlFWLFVzZXJSb3VuZFg6KCk9PnBmLFVzZXJTZWFyY2g6KCk9PkpWLFVzZXJTcXVhcmU6KCk9PktwLFVzZXJTcXVhcmUyOigpPT5HcCxVc2VyU3RhcjooKT0+ZWosVXNlclg6KCk9PnRqLFVzZXJYMjooKT0+cGYsVXNlcnM6KCk9PnJqLFVzZXJzMjooKT0+aGYsVXNlcnNSb3VuZDooKT0+aGYsVXRlbnNpbHM6KCk9PmdmLFV0ZW5zaWxzQ3Jvc3NlZDooKT0+bWYsVXRpbGl0eVBvbGU6KCk9PmlqLFZhbjooKT0+c2osVmFyaWFibGU6KCk9Pm9qLFZhdWx0OigpPT5uaixWZWN0b3JTcXVhcmU6KCk9PmxqLFZlZ2FuOigpPT5jaixWZW5ldGlhbk1hc2s6KCk9PmRqLFZlbnVzOigpPT5waixWZW51c0FuZE1hcnM6KCk9PnVqLFZlcmlmaWVkOigpPT53ZCxWaWJyYXRlOigpPT5oaixWaWJyYXRlT2ZmOigpPT5maixWaWRlbzooKT0+Z2osVmlkZW9PZmY6KCk9Pm1qLFZpZGVvdGFwZTooKT0+YmosVmlldzooKT0+dmosVm9pY2VtYWlsOigpPT55aixWb2xsZXliYWxsOigpPT54aixWb2x1bWU6KCk9PnpqLFZvbHVtZTE6KCk9PndqLFZvbHVtZTI6KCk9Pk1qLFZvbHVtZU9mZjooKT0+a2osVm9sdW1lWDooKT0+U2osVm90ZTooKT0+Q2osV2FsbGV0OigpPT5UaixXYWxsZXQyOigpPT5iZixXYWxsZXRDYXJkczooKT0+X2osV2FsbGV0TWluaW1hbDooKT0+YmYsV2FsbHBhcGVyOigpPT5MaixXYW5kOigpPT4kaixXYW5kMjooKT0+dmYsV2FuZFNwYXJrbGVzOigpPT52ZixXYXJlaG91c2U6KCk9PkRqLFdhc2hpbmdNYWNoaW5lOigpPT5QaixXYXRjaDooKT0+QWosV2F2ZXM6KCk9PnhmLFdhdmVzQXJyb3dEb3duOigpPT5FaixXYXZlc0Fycm93VXA6KCk9PklqLFdhdmVzSG9yaXpvbnRhbDooKT0+eGYsV2F2ZXNMYWRkZXI6KCk9Pk5qLFdhdmVzVmVydGljYWw6KCk9PlJqLFdheXBvaW50czooKT0+T2osV2ViY2FtOigpPT5GaixXZWJob29rOigpPT5IaixXZWJob29rT2ZmOigpPT5CaixXZWlnaHQ6KCk9PlZqLFdlaWdodFRpbGRlOigpPT5xaixXaGVhdDooKT0+VWosV2hlYXRPZmY6KCk9PmpqLFdob2xlV29yZDooKT0+V2osV2lmaTooKT0+dFUsV2lmaUNvZzooKT0+R2osV2lmaUhpZ2g6KCk9PllqLFdpZmlMb3c6KCk9PktqLFdpZmlPZmY6KCk9PlpqLFdpZmlQZW46KCk9PlhqLFdpZmlTeW5jOigpPT5RaixXaWZpWmVybzooKT0+SmosV2luZDooKT0+YVUsV2luZEFycm93RG93bjooKT0+ZVUsV2luZTooKT0+b1UsV2luZU9mZjooKT0+clUsV29ya2Zsb3c6KCk9PmlVLFdvcm06KCk9PnNVLFdyYXBUZXh0OigpPT50ZixXcmVuY2g6KCk9Pm5VLFg6KCk9PmNVLFhDaXJjbGU6KCk9Pmc2LFhMaW5lVG9wOigpPT5sVSxYT2N0YWdvbjooKT0+X3UsWFNxdWFyZTooKT0+WXAsWmFwOigpPT51VSxaYXBPZmY6KCk9PmRVLFpvZGlhY0FxdWFyaXVzOigpPT5wVSxab2RpYWNBcmllczooKT0+ZlUsWm9kaWFjQ2FuY2VyOigpPT5oVSxab2RpYWNDYXByaWNvcm46KCk9Pm1VLFpvZGlhY0dlbWluaTooKT0+Z1UsWm9kaWFjTGVvOigpPT5iVSxab2RpYWNMaWJyYTooKT0+dlUsWm9kaWFjT3BoaXVjaHVzOigpPT54VSxab2RpYWNQaXNjZXM6KCk9PnlVLFpvZGlhY1NhZ2l0dGFyaXVzOigpPT5NVSxab2RpYWNTY29ycGlvOigpPT53VSxab2RpYWNUYXVydXM6KCk9PmtVLFpvZGlhY1ZpcmdvOigpPT5TVSxab29tSW46KCk9PnpVLFpvb21PdXQ6KCk9PkNVLGNyZWF0ZUVsZW1lbnQ6KCk9PmE0LGNyZWF0ZUljb25zOigpPT5oWWUsaWNvbnM6KCk9PnlmfSk7dmFyIGhZZSxWdGU9ZigoKT0+e3hyYSgpO3lyYSgpO1BnZSgpO0ZnZSgpO0JnZSgpO0hnZSgpO3FnZSgpO1ZnZSgpO2pnZSgpO1VnZSgpO1dnZSgpO0dnZSgpO1lnZSgpO0tnZSgpO1pnZSgpO1hnZSgpO1FnZSgpO0pnZSgpO2ViZSgpO3RiZSgpO2FiZSgpO3JiZSgpO3NiZSgpO2liZSgpO29iZSgpO25iZSgpO2xiZSgpO2NiZSgpO2RiZSgpO3ViZSgpO3BiZSgpO2ZiZSgpO2hiZSgpO21iZSgpO2diZSgpO2JiZSgpO3ZiZSgpO3hiZSgpO3liZSgpO3diZSgpO01iZSgpO2tiZSgpO1NiZSgpO3piZSgpO0NiZSgpO19iZSgpO1RiZSgpO0xiZSgpOyRiZSgpO0RiZSgpO0FiZSgpO1BiZSgpO0ViZSgpO0liZSgpO05iZSgpO1JiZSgpO09iZSgpO0ZiZSgpO0JiZSgpO0hiZSgpO3FiZSgpO1ZiZSgpO2piZSgpO1ViZSgpO1diZSgpO0diZSgpO1liZSgpO0tiZSgpO1piZSgpO1hiZSgpO1FiZSgpO0piZSgpO2V2ZSgpO3R2ZSgpO2F2ZSgpO3J2ZSgpO3N2ZSgpO2l2ZSgpO292ZSgpO252ZSgpO2x2ZSgpO2N2ZSgpO2R2ZSgpO3V2ZSgpO3B2ZSgpO2Z2ZSgpO2h2ZSgpO212ZSgpO2d2ZSgpO2J2ZSgpO3Z2ZSgpO3h2ZSgpO3l2ZSgpO3d2ZSgpO012ZSgpO2t2ZSgpO1N2ZSgpO3p2ZSgpO0N2ZSgpO192ZSgpO1R2ZSgpO0x2ZSgpOyR2ZSgpO0R2ZSgpO0F2ZSgpO1B2ZSgpO0V2ZSgpO0l2ZSgpO052ZSgpO1J2ZSgpO092ZSgpO0Z2ZSgpO0J2ZSgpO0h2ZSgpO3F2ZSgpO1Z2ZSgpO2p2ZSgpO1V2ZSgpO1d2ZSgpO0d2ZSgpO1l2ZSgpO0t2ZSgpO1p2ZSgpO1h2ZSgpO1F2ZSgpO0p2ZSgpO2V4ZSgpO3R4ZSgpO2F4ZSgpO3J4ZSgpO3N4ZSgpO2l4ZSgpO294ZSgpO254ZSgpO2x4ZSgpO2N4ZSgpO2R4ZSgpO3V4ZSgpO3B4ZSgpO2Z4ZSgpO2h4ZSgpO214ZSgpO2d4ZSgpO2J4ZSgpO3Z4ZSgpO3h4ZSgpO3l4ZSgpO3d4ZSgpO014ZSgpO2t4ZSgpO1N4ZSgpO3p4ZSgpO0N4ZSgpO194ZSgpO1R4ZSgpO0x4ZSgpOyR4ZSgpO0R4ZSgpO0F4ZSgpO1B4ZSgpO0V4ZSgpO0l4ZSgpO054ZSgpO1J4ZSgpO094ZSgpO0Z4ZSgpO0J4ZSgpO0h4ZSgpO3F4ZSgpO1Z4ZSgpO2p4ZSgpO1V4ZSgpO1d4ZSgpO0d4ZSgpO1l4ZSgpO0t4ZSgpO1p4ZSgpO1h4ZSgpO1F4ZSgpO0p4ZSgpO2V5ZSgpO3R5ZSgpO2F5ZSgpO3J5ZSgpO3N5ZSgpO2l5ZSgpO295ZSgpO255ZSgpO2x5ZSgpO2N5ZSgpO2R5ZSgpO3V5ZSgpO3B5ZSgpO2Z5ZSgpO2h5ZSgpO215ZSgpO2d5ZSgpO2J5ZSgpO3Z5ZSgpO3h5ZSgpO3l5ZSgpO3d5ZSgpO015ZSgpO2t5ZSgpO1N5ZSgpO3p5ZSgpO0N5ZSgpO195ZSgpO1R5ZSgpO0x5ZSgpOyR5ZSgpO0R5ZSgpO0F5ZSgpO1B5ZSgpO0V5ZSgpO0l5ZSgpO055ZSgpO1J5ZSgpO095ZSgpO0Z5ZSgpO0J5ZSgpO0h5ZSgpO3F5ZSgpO1Z5ZSgpO2p5ZSgpO1V5ZSgpO1d5ZSgpO0d5ZSgpO1l5ZSgpO0t5ZSgpO1p5ZSgpO1h5ZSgpO1F5ZSgpO0p5ZSgpO2V3ZSgpO3R3ZSgpO2F3ZSgpO3J3ZSgpO3N3ZSgpO2l3ZSgpO293ZSgpO253ZSgpO2x3ZSgpO2N3ZSgpO2R3ZSgpO3V3ZSgpO3B3ZSgpO2Z3ZSgpO2h3ZSgpO213ZSgpO2d3ZSgpO2J3ZSgpO3Z3ZSgpO3h3ZSgpO3l3ZSgpO3d3ZSgpO013ZSgpO2t3ZSgpO1N3ZSgpO3p3ZSgpO0N3ZSgpO193ZSgpO1R3ZSgpO0x3ZSgpOyR3ZSgpO0R3ZSgpO0F3ZSgpO1B3ZSgpO0V3ZSgpO0l3ZSgpO053ZSgpO1J3ZSgpO093ZSgpO0Z3ZSgpO0J3ZSgpO0h3ZSgpO3F3ZSgpO1Z3ZSgpO2p3ZSgpO1V3ZSgpO1d3ZSgpO0d3ZSgpO1l3ZSgpO0t3ZSgpO1p3ZSgpO1h3ZSgpO1F3ZSgpO0p3ZSgpO2VNZSgpO3RNZSgpO2FNZSgpO3JNZSgpO3NNZSgpO2lNZSgpO29NZSgpO25NZSgpO2xNZSgpO2NNZSgpO2RNZSgpO3VNZSgpO3BNZSgpO2ZNZSgpO2hNZSgpO21NZSgpO2dNZSgpO2JNZSgpO3ZNZSgpO3hNZSgpO3lNZSgpO3dNZSgpO01NZSgpO2tNZSgpO1NNZSgpO3pNZSgpO0NNZSgpO19NZSgpO1RNZSgpO0xNZSgpOyRNZSgpO0RNZSgpO0FNZSgpO1BNZSgpO0VNZSgpO0lNZSgpO05NZSgpO1JNZSgpO09NZSgpO0ZNZSgpO0JNZSgpO0hNZSgpO3FNZSgpO1ZNZSgpO2pNZSgpO1VNZSgpO1dNZSgpO0dNZSgpO1lNZSgpO0tNZSgpO1pNZSgpO1hNZSgpO1FNZSgpO0pNZSgpO2VrZSgpO3RrZSgpO2FrZSgpO3JrZSgpO3NrZSgpO2lrZSgpO29rZSgpO25rZSgpO2xrZSgpO2NrZSgpO2RrZSgpO3VrZSgpO3BrZSgpO2ZrZSgpO2hrZSgpO21rZSgpO2drZSgpO2JrZSgpO3ZrZSgpO3hrZSgpO3lrZSgpO3drZSgpO01rZSgpO2trZSgpO1NrZSgpO3prZSgpO0NrZSgpO19rZSgpO1RrZSgpO0xrZSgpOyRrZSgpO0RrZSgpO0FrZSgpO1BrZSgpO0VrZSgpO0lrZSgpO05rZSgpO1JrZSgpO09rZSgpO0ZrZSgpO0JrZSgpO0hrZSgpO3FrZSgpO1ZrZSgpO2prZSgpO1VrZSgpO1drZSgpO0drZSgpO1lrZSgpO0trZSgpO1prZSgpO1hrZSgpO1FrZSgpO0prZSgpO2VTZSgpO3RTZSgpO2FTZSgpO3JTZSgpO3NTZSgpO2lTZSgpO29TZSgpO25TZSgpO2xTZSgpO2NTZSgpO2RTZSgpO3VTZSgpO3BTZSgpO2ZTZSgpO2hTZSgpO21TZSgpO2dTZSgpO2JTZSgpO3ZTZSgpO3hTZSgpO3lTZSgpO3dTZSgpO01TZSgpO2tTZSgpO1NTZSgpO3pTZSgpO0NTZSgpO19TZSgpO1RTZSgpO0xTZSgpOyRTZSgpO0RTZSgpO0FTZSgpO1BTZSgpO0VTZSgpO0lTZSgpO05TZSgpO1JTZSgpO09TZSgpO0ZTZSgpO0JTZSgpO0hTZSgpO3FTZSgpO1ZTZSgpO2pTZSgpO1VTZSgpO1dTZSgpO0dTZSgpO1lTZSgpO0tTZSgpO1pTZSgpO1hTZSgpO1FTZSgpO0pTZSgpO2V6ZSgpO3R6ZSgpO2F6ZSgpO3J6ZSgpO3N6ZSgpO2l6ZSgpO296ZSgpO256ZSgpO2x6ZSgpO2N6ZSgpO2R6ZSgpO3V6ZSgpO3B6ZSgpO2Z6ZSgpO2h6ZSgpO216ZSgpO2d6ZSgpO2J6ZSgpO3Z6ZSgpO3h6ZSgpO3l6ZSgpO3d6ZSgpO016ZSgpO2t6ZSgpO1N6ZSgpO3p6ZSgpO0N6ZSgpO196ZSgpO1R6ZSgpO0x6ZSgpOyR6ZSgpO0R6ZSgpO0F6ZSgpO1B6ZSgpO0V6ZSgpO0l6ZSgpO056ZSgpO1J6ZSgpO096ZSgpO0Z6ZSgpO0J6ZSgpO0h6ZSgpO3F6ZSgpO1Z6ZSgpO2p6ZSgpO1V6ZSgpO1d6ZSgpO0d6ZSgpO1l6ZSgpO0t6ZSgpO1p6ZSgpO1h6ZSgpO1F6ZSgpO0p6ZSgpO2VDZSgpO3RDZSgpO2FDZSgpO3JDZSgpO3NDZSgpO2lDZSgpO29DZSgpO25DZSgpO2xDZSgpO2NDZSgpO2RDZSgpO3VDZSgpO3BDZSgpO2ZDZSgpO2hDZSgpO21DZSgpO2dDZSgpO2JDZSgpO3ZDZSgpO3hDZSgpO3lDZSgpO3dDZSgpO01DZSgpO2tDZSgpO1NDZSgpO3pDZSgpO0NDZSgpO19DZSgpO1RDZSgpO0xDZSgpOyRDZSgpO0RDZSgpO0FDZSgpO1BDZSgpO0VDZSgpO0lDZSgpO05DZSgpO1JDZSgpO09DZSgpO0ZDZSgpO0JDZSgpO0hDZSgpO3FDZSgpO1ZDZSgpO2pDZSgpO1VDZSgpO1dDZSgpO0dDZSgpO1lDZSgpO0tDZSgpO1pDZSgpO1hDZSgpO1FDZSgpO0pDZSgpO2VfZSgpO3RfZSgpO2FfZSgpO3JfZSgpO3NfZSgpO2lfZSgpO29fZSgpO25fZSgpO2xfZSgpO2NfZSgpO2RfZSgpO3VfZSgpO3BfZSgpO2ZfZSgpO2hfZSgpO21fZSgpO2dfZSgpO2JfZSgpO3ZfZSgpO3hfZSgpO3lfZSgpO3dfZSgpO01fZSgpO2tfZSgpO1NfZSgpO3pfZSgpO0NfZSgpO19fZSgpO1RfZSgpO0xfZSgpOyRfZSgpO0RfZSgpO0FfZSgpO1BfZSgpO0VfZSgpO0lfZSgpO05fZSgpO1JfZSgpO09fZSgpO0ZfZSgpO0JfZSgpO0hfZSgpO3FfZSgpO1ZfZSgpO2pfZSgpO1VfZSgpO1dfZSgpO0dfZSgpO1lfZSgpO0tfZSgpO1pfZSgpO1hfZSgpO1FfZSgpO0pfZSgpO2VUZSgpO3RUZSgpO2FUZSgpO3JUZSgpO3NUZSgpO2lUZSgpO29UZSgpO25UZSgpO2xUZSgpO2NUZSgpO2RUZSgpO3VUZSgpO3BUZSgpO2ZUZSgpO2hUZSgpO21UZSgpO2dUZSgpO2JUZSgpO3ZUZSgpO3hUZSgpO3lUZSgpO3dUZSgpO01UZSgpO2tUZSgpO1NUZSgpO3pUZSgpO0NUZSgpO19UZSgpO1RUZSgpO0xUZSgpOyRUZSgpO0RUZSgpO0FUZSgpO1BUZSgpO0VUZSgpO0lUZSgpO05UZSgpO1JUZSgpO09UZSgpO0ZUZSgpO0JUZSgpO0hUZSgpO3FUZSgpO1ZUZSgpO2pUZSgpO1VUZSgpO1dUZSgpO0dUZSgpO1lUZSgpO0tUZSgpO1pUZSgpO1hUZSgpO1FUZSgpO0pUZSgpO2VMZSgpO3RMZSgpO2FMZSgpO3JMZSgpO3NMZSgpO2lMZSgpO29MZSgpO25MZSgpO2xMZSgpO2NMZSgpO2RMZSgpO3VMZSgpO3BMZSgpO2ZMZSgpO2hMZSgpO21MZSgpO2dMZSgpO2JMZSgpO3ZMZSgpO3hMZSgpO3lMZSgpO3dMZSgpO01MZSgpO2tMZSgpO1NMZSgpO3pMZSgpO0NMZSgpO19MZSgpO1RMZSgpO0xMZSgpOyRMZSgpO0RMZSgpO0FMZSgpO1BMZSgpO0VMZSgpO0lMZSgpO05MZSgpO1JMZSgpO09MZSgpO0ZMZSgpO0JMZSgpO0hMZSgpO3FMZSgpO1ZMZSgpO2pMZSgpO1VMZSgpO1dMZSgpO0dMZSgpO1lMZSgpO0tMZSgpO1pMZSgpO1hMZSgpO1FMZSgpO0pMZSgpO2UkZSgpO3QkZSgpO2EkZSgpO3IkZSgpO3MkZSgpO2kkZSgpO28kZSgpO24kZSgpO2wkZSgpO2MkZSgpO2QkZSgpO3UkZSgpO3AkZSgpO2YkZSgpO2gkZSgpO20kZSgpO2ckZSgpO2IkZSgpO3YkZSgpO3gkZSgpO3kkZSgpO3ckZSgpO00kZSgpO2skZSgpO1MkZSgpO3okZSgpO0MkZSgpO18kZSgpO1QkZSgpO0wkZSgpOyQkZSgpO0QkZSgpO0EkZSgpO1AkZSgpO0UkZSgpO0kkZSgpO04kZSgpO1IkZSgpO08kZSgpO0YkZSgpO0IkZSgpO0gkZSgpO3EkZSgpO1YkZSgpO2okZSgpO1UkZSgpO1ckZSgpO0ckZSgpO1kkZSgpO0skZSgpO1okZSgpO1gkZSgpO1EkZSgpO0okZSgpO2VEZSgpO3REZSgpO2FEZSgpO3JEZSgpO3NEZSgpO2lEZSgpO29EZSgpO25EZSgpO2xEZSgpO2NEZSgpO2REZSgpO3VEZSgpO3BEZSgpO2ZEZSgpO2hEZSgpO21EZSgpO2dEZSgpO2JEZSgpO3ZEZSgpO3hEZSgpO3lEZSgpO3dEZSgpO01EZSgpO2tEZSgpO1NEZSgpO3pEZSgpO0NEZSgpO19EZSgpO1REZSgpO0xEZSgpOyREZSgpO0REZSgpO0FEZSgpO1BEZSgpO0VEZSgpO0lEZSgpO05EZSgpO1JEZSgpO09EZSgpO0ZEZSgpO0JEZSgpO0hEZSgpO3FEZSgpO1ZEZSgpO2pEZSgpO1VEZSgpO1dEZSgpO0dEZSgpO1lEZSgpO0tEZSgpO1pEZSgpO1hEZSgpO1FEZSgpO0pEZSgpO2VBZSgpO3RBZSgpO2FBZSgpO3JBZSgpO3NBZSgpO2lBZSgpO29BZSgpO25BZSgpO2xBZSgpO2NBZSgpO2RBZSgpO3VBZSgpO3BBZSgpO2ZBZSgpO2hBZSgpO21BZSgpO2dBZSgpO2JBZSgpO3ZBZSgpO3hBZSgpO3lBZSgpO3dBZSgpO01BZSgpO2tBZSgpO1NBZSgpO3pBZSgpO0NBZSgpO19BZSgpO1RBZSgpO0xBZSgpOyRBZSgpO0RBZSgpO0FBZSgpO1BBZSgpO0VBZSgpO0lBZSgpO05BZSgpO1JBZSgpO09BZSgpO0ZBZSgpO0JBZSgpO0hBZSgpO3FBZSgpO1ZBZSgpO2pBZSgpO1VBZSgpO1dBZSgpO0dBZSgpO1lBZSgpO0tBZSgpO1pBZSgpO1hBZSgpO1FBZSgpO0pBZSgpO2VQZSgpO3RQZSgpO2FQZSgpO3JQZSgpO3NQZSgpO2lQZSgpO29QZSgpO25QZSgpO2xQZSgpO2NQZSgpO2RQZSgpO3VQZSgpO3BQZSgpO2ZQZSgpO2hQZSgpO21QZSgpO2dQZSgpO2JQZSgpO3ZQZSgpO3hQZSgpO3lQZSgpO3dQZSgpO01QZSgpO2tQZSgpO1NQZSgpO3pQZSgpO0NQZSgpO19QZSgpO1RQZSgpO0xQZSgpOyRQZSgpO0RQZSgpO0FQZSgpO1BQZSgpO0VQZSgpO0lQZSgpO05QZSgpO1JQZSgpO09QZSgpO0ZQZSgpO0JQZSgpO0hQZSgpO3FQZSgpO1ZQZSgpO2pQZSgpO1VQZSgpO1dQZSgpO0dQZSgpO1lQZSgpO0tQZSgpO1pQZSgpO1hQZSgpO1FQZSgpO0pQZSgpO2VFZSgpO3RFZSgpO2FFZSgpO3JFZSgpO3NFZSgpO2lFZSgpO29FZSgpO25FZSgpO2xFZSgpO2NFZSgpO2RFZSgpO3VFZSgpO3BFZSgpO2ZFZSgpO2hFZSgpO21FZSgpO2dFZSgpO2JFZSgpO3ZFZSgpO3hFZSgpO3lFZSgpO3dFZSgpO01FZSgpO2tFZSgpO1NFZSgpO3pFZSgpO0NFZSgpO19FZSgpO1RFZSgpO0xFZSgpOyRFZSgpO0RFZSgpO0FFZSgpO1BFZSgpO0VFZSgpO0lFZSgpO05FZSgpO1JFZSgpO09FZSgpO0ZFZSgpO0JFZSgpO0hFZSgpO3FFZSgpO1ZFZSgpO2pFZSgpO1VFZSgpO1dFZSgpO0dFZSgpO1lFZSgpO0tFZSgpO1pFZSgpO1hFZSgpO1FFZSgpO0pFZSgpO2VJZSgpO3RJZSgpO2FJZSgpO3JJZSgpO3NJZSgpO2lJZSgpO29JZSgpO25JZSgpO2xJZSgpO2NJZSgpO2RJZSgpO3VJZSgpO3BJZSgpO2ZJZSgpO2hJZSgpO21JZSgpO2dJZSgpO2JJZSgpO3ZJZSgpO3hJZSgpO3lJZSgpO3dJZSgpO01JZSgpO2tJZSgpO1NJZSgpO3pJZSgpO0NJZSgpO19JZSgpO1RJZSgpO0xJZSgpOyRJZSgpO0RJZSgpO0FJZSgpO1BJZSgpO0VJZSgpO0lJZSgpO05JZSgpO1JJZSgpO09JZSgpO0ZJZSgpO0JJZSgpO0hJZSgpO3FJZSgpO1ZJZSgpO2pJZSgpO1VJZSgpO1dJZSgpO0dJZSgpO1lJZSgpO0tJZSgpO1pJZSgpO1hJZSgpO1FJZSgpO0pJZSgpO2VOZSgpO3ROZSgpO2FOZSgpO3JOZSgpO3NOZSgpO2lOZSgpO29OZSgpO25OZSgpO2xOZSgpO2NOZSgpO2ROZSgpO3VOZSgpO3BOZSgpO2ZOZSgpO2hOZSgpO21OZSgpO2dOZSgpO2JOZSgpO3ZOZSgpO3hOZSgpO3lOZSgpO3dOZSgpO01OZSgpO2tOZSgpO1NOZSgpO3pOZSgpO0NOZSgpO19OZSgpO1ROZSgpO0xOZSgpOyROZSgpO0ROZSgpO0FOZSgpO1BOZSgpO0VOZSgpO0lOZSgpO05OZSgpO1JOZSgpO09OZSgpO0ZOZSgpO0JOZSgpO0hOZSgpO3FOZSgpO1ZOZSgpO2pOZSgpO1VOZSgpO1dOZSgpO0dOZSgpO1lOZSgpO0tOZSgpO1pOZSgpO1hOZSgpO1FOZSgpO0pOZSgpO2VSZSgpO3RSZSgpO2FSZSgpO3JSZSgpO3NSZSgpO2lSZSgpO29SZSgpO25SZSgpO2xSZSgpO2NSZSgpO2RSZSgpO3VSZSgpO3BSZSgpO2ZSZSgpO2hSZSgpO21SZSgpO2dSZSgpO2JSZSgpO3ZSZSgpO3hSZSgpO3lSZSgpO3dSZSgpO01SZSgpO2tSZSgpO1NSZSgpO3pSZSgpO0NSZSgpO19SZSgpO1RSZSgpO0xSZSgpOyRSZSgpO0RSZSgpO0FSZSgpO1BSZSgpO0VSZSgpO0lSZSgpO05SZSgpO1JSZSgpO09SZSgpO0ZSZSgpO0JSZSgpO0hSZSgpO3FSZSgpO1ZSZSgpO2pSZSgpO1VSZSgpO1dSZSgpO0dSZSgpO1lSZSgpO0tSZSgpO1pSZSgpO1hSZSgpO1FSZSgpO0pSZSgpO2VPZSgpO3RPZSgpO2FPZSgpO3JPZSgpO3NPZSgpO2lPZSgpO29PZSgpO25PZSgpO2xPZSgpO2NPZSgpO2RPZSgpO3VPZSgpO3BPZSgpO2ZPZSgpO2hPZSgpO21PZSgpO2dPZSgpO2JPZSgpO3ZPZSgpO3hPZSgpO3lPZSgpO3dPZSgpO01PZSgpO2tPZSgpO1NPZSgpO3pPZSgpO0NPZSgpO19PZSgpO1RPZSgpO0xPZSgpOyRPZSgpO0RPZSgpO0FPZSgpO1BPZSgpO0VPZSgpO0lPZSgpO05PZSgpO1JPZSgpO09PZSgpO0ZPZSgpO0JPZSgpO0hPZSgpO3FPZSgpO1ZPZSgpO2pPZSgpO1VPZSgpO1dPZSgpO0dPZSgpO1lPZSgpO0tPZSgpO1pPZSgpO1hPZSgpO1FPZSgpO0pPZSgpO2VGZSgpO3RGZSgpO2FGZSgpO3JGZSgpO3NGZSgpO2lGZSgpO29GZSgpO25GZSgpO2xGZSgpO2NGZSgpO2RGZSgpO3VGZSgpO3BGZSgpO2ZGZSgpO2hGZSgpO21GZSgpO2dGZSgpO2JGZSgpO3ZGZSgpO3hGZSgpO3lGZSgpO3dGZSgpO01GZSgpO2tGZSgpO1NGZSgpO3pGZSgpO0NGZSgpO19GZSgpO1RGZSgpO0xGZSgpOyRGZSgpO0RGZSgpO0FGZSgpO1BGZSgpO0VGZSgpO0lGZSgpO05GZSgpO1JGZSgpO09GZSgpO0ZGZSgpO0JGZSgpO0hGZSgpO3FGZSgpO1ZGZSgpO2pGZSgpO1VGZSgpO1dGZSgpO0dGZSgpO1lGZSgpO0tGZSgpO1pGZSgpO1hGZSgpO1FGZSgpO0pGZSgpO2VCZSgpO3RCZSgpO2FCZSgpO3JCZSgpO3NCZSgpO2lCZSgpO29CZSgpO25CZSgpO2xCZSgpO2NCZSgpO2RCZSgpO3VCZSgpO3BCZSgpO2ZCZSgpO2hCZSgpO21CZSgpO2dCZSgpO2JCZSgpO3ZCZSgpO3hCZSgpO3lCZSgpO3dCZSgpO01CZSgpO2tCZSgpO1NCZSgpO3pCZSgpO0NCZSgpO19CZSgpO1RCZSgpO0xCZSgpOyRCZSgpO0RCZSgpO0FCZSgpO1BCZSgpO0VCZSgpO0lCZSgpO05CZSgpO1JCZSgpO09CZSgpO0ZCZSgpO0JCZSgpO0hCZSgpO3FCZSgpO1ZCZSgpO2pCZSgpO1VCZSgpO1dCZSgpO0dCZSgpO1lCZSgpO0tCZSgpO1pCZSgpO1hCZSgpO1FCZSgpO0pCZSgpO2VIZSgpO3RIZSgpO2FIZSgpO3JIZSgpO3NIZSgpO2lIZSgpO29IZSgpO25IZSgpO2xIZSgpO2NIZSgpO2RIZSgpO3VIZSgpO3BIZSgpO2ZIZSgpO2hIZSgpO21IZSgpO2dIZSgpO2JIZSgpO3ZIZSgpO3hIZSgpO3lIZSgpO3dIZSgpO01IZSgpO2tIZSgpO1NIZSgpO3pIZSgpO0NIZSgpO19IZSgpO1RIZSgpO0xIZSgpOyRIZSgpO0RIZSgpO0FIZSgpO1BIZSgpO0VIZSgpO0lIZSgpO05IZSgpO1JIZSgpO09IZSgpO0ZIZSgpO0JIZSgpO0hIZSgpO3FIZSgpO1ZIZSgpO2pIZSgpO1VIZSgpO1dIZSgpO0dIZSgpO1lIZSgpO0tIZSgpO1pIZSgpO1hIZSgpO1FIZSgpO0pIZSgpO2VxZSgpO3RxZSgpO2FxZSgpO3JxZSgpO3NxZSgpO2lxZSgpO29xZSgpO25xZSgpO2xxZSgpO2NxZSgpO2RxZSgpO3VxZSgpO3BxZSgpO2ZxZSgpO2hxZSgpO21xZSgpO2dxZSgpO2JxZSgpO3ZxZSgpO3hxZSgpO3lxZSgpO3dxZSgpO01xZSgpO2txZSgpO1NxZSgpO3pxZSgpO0NxZSgpO19xZSgpO1RxZSgpO0xxZSgpOyRxZSgpO0RxZSgpO0FxZSgpO1BxZSgpO0VxZSgpO0lxZSgpO05xZSgpO1JxZSgpO09xZSgpO0ZxZSgpO0JxZSgpO0hxZSgpO3FxZSgpO1ZxZSgpO2pxZSgpO1VxZSgpO1dxZSgpO0dxZSgpO1lxZSgpO0txZSgpO1pxZSgpO1hxZSgpO1FxZSgpO0pxZSgpO2VWZSgpO3RWZSgpO2FWZSgpO3JWZSgpO3NWZSgpO2lWZSgpO29WZSgpO25WZSgpO2xWZSgpO2NWZSgpO2RWZSgpO3VWZSgpO3BWZSgpO2ZWZSgpO2hWZSgpO21WZSgpO2dWZSgpO2JWZSgpO3ZWZSgpO3hWZSgpO3lWZSgpO3dWZSgpO01WZSgpO2tWZSgpO1NWZSgpO3pWZSgpO0NWZSgpO19WZSgpO1RWZSgpO0xWZSgpOyRWZSgpO0RWZSgpO0FWZSgpO1BWZSgpO0VWZSgpO0lWZSgpO05WZSgpO1JWZSgpO09WZSgpO0ZWZSgpO0JWZSgpO0hWZSgpO3FWZSgpO1ZWZSgpO2pWZSgpO1VWZSgpO1dWZSgpO0dWZSgpO1lWZSgpO0tWZSgpO1pWZSgpO1hWZSgpO1FWZSgpO0pWZSgpO2VqZSgpO3RqZSgpO2FqZSgpO3JqZSgpO3NqZSgpO2lqZSgpO29qZSgpO25qZSgpO2xqZSgpO2NqZSgpO2RqZSgpO3VqZSgpO3BqZSgpO2ZqZSgpO2hqZSgpO21qZSgpO2dqZSgpO2JqZSgpO3ZqZSgpO3hqZSgpO3lqZSgpO3dqZSgpO01qZSgpO2tqZSgpO1NqZSgpO3pqZSgpO0NqZSgpO19qZSgpO1RqZSgpO0xqZSgpOyRqZSgpO0RqZSgpO0FqZSgpO1BqZSgpO0VqZSgpO0lqZSgpO05qZSgpO1JqZSgpO09qZSgpO0ZqZSgpO0JqZSgpO0hqZSgpO3FqZSgpO1ZqZSgpO2pqZSgpO1VqZSgpO1dqZSgpO0dqZSgpO1lqZSgpO0tqZSgpO1pqZSgpO1hqZSgpO1FqZSgpO0pqZSgpO2VVZSgpO3RVZSgpO2FVZSgpO3JVZSgpO3NVZSgpO2lVZSgpO29VZSgpO25VZSgpO2xVZSgpO2NVZSgpO2RVZSgpO3VVZSgpO3BVZSgpO2ZVZSgpO2hVZSgpO21VZSgpO2dVZSgpO2JVZSgpO3ZVZSgpO3hVZSgpO3lVZSgpO3dVZSgpO01VZSgpO2tVZSgpO1NVZSgpO3pVZSgpO0NVZSgpO19VZSgpO1RVZSgpO0xVZSgpOyRVZSgpO0RVZSgpO0FVZSgpO1BVZSgpO0VVZSgpO0lVZSgpO05VZSgpO1JVZSgpO09VZSgpO0ZVZSgpO0JVZSgpO0hVZSgpO3FVZSgpO1ZVZSgpO2pVZSgpO1VVZSgpO1dVZSgpO0dVZSgpO1lVZSgpO0tVZSgpO1pVZSgpO1hVZSgpO1FVZSgpO0pVZSgpO2VXZSgpO3RXZSgpO2FXZSgpO3JXZSgpO3NXZSgpO2lXZSgpO29XZSgpO25XZSgpO2xXZSgpO2NXZSgpO2RXZSgpO3VXZSgpO3BXZSgpO2ZXZSgpO2hXZSgpO21XZSgpO2dXZSgpO2JXZSgpO3ZXZSgpO3hXZSgpO3lXZSgpO3dXZSgpO01XZSgpO2tXZSgpO1NXZSgpO3pXZSgpO0NXZSgpO19XZSgpO1RXZSgpO0xXZSgpOyRXZSgpO0RXZSgpO0FXZSgpO1BXZSgpO0VXZSgpO0lXZSgpO05XZSgpO1JXZSgpO09XZSgpO0ZXZSgpO0JXZSgpO0hXZSgpO3FXZSgpO1ZXZSgpO2pXZSgpO1VXZSgpO1dXZSgpO0dXZSgpO1lXZSgpO0tXZSgpO1pXZSgpO1hXZSgpO1FXZSgpO0pXZSgpO2VHZSgpO3RHZSgpO2FHZSgpO3JHZSgpO3NHZSgpO2lHZSgpO29HZSgpO25HZSgpO2xHZSgpO2NHZSgpO2RHZSgpO3VHZSgpO3BHZSgpO2ZHZSgpO2hHZSgpO21HZSgpO2dHZSgpO2JHZSgpO3ZHZSgpO3hHZSgpO3lHZSgpO3dHZSgpO01HZSgpO2tHZSgpO1NHZSgpO3pHZSgpO0NHZSgpO19HZSgpO1RHZSgpO0xHZSgpOyRHZSgpO0RHZSgpO0FHZSgpO1BHZSgpO0VHZSgpO0lHZSgpO05HZSgpO1JHZSgpO09HZSgpO0ZHZSgpO0JHZSgpO0hHZSgpO3FHZSgpO1ZHZSgpO2pHZSgpO1VHZSgpO1dHZSgpO0dHZSgpO1lHZSgpO0tHZSgpO1pHZSgpO1hHZSgpO1FHZSgpO0pHZSgpO2VZZSgpO3RZZSgpO2FZZSgpO3JZZSgpO3NZZSgpO2lZZSgpO29ZZSgpO25ZZSgpO2xZZSgpO2NZZSgpO2RZZSgpO3VZZSgpO3BZZSgpO2ZZZSgpO2hZZT1zKCh7aWNvbnM6YT17fSxuYW1lQXR0cjplPSJkYXRhLWx1Y2lkZSIsYXR0cnM6dD17fSxyb290OnI9ZG9jdW1lbnQsaW5UZW1wbGF0ZXM6aX09e30pPT57aWYoIU9iamVjdC52YWx1ZXMoYSkubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgUGxlYXNlIHByb3ZpZGUgYW4gaWNvbnMgb2JqZWN0LgpJZiB5b3Ugd2FudCB0byB1c2UgYWxsIHRoZSBpY29ucyB5b3UgY2FuIGltcG9ydCBpdCBsaWtlOgogXGBpbXBvcnQgeyBjcmVhdGVJY29ucywgaWNvbnMgfSBmcm9tICdsdWNpZGUnOwpsdWNpZGUuY3JlYXRlSWNvbnMoe2ljb25zfSk7XGBgKTtpZih0eXBlb2Ygcj4idSIpdGhyb3cgbmV3IEVycm9yKCJgY3JlYXRlSWNvbnMoKWAgb25seSB3b3JrcyBpbiBhIGJyb3dzZXIgZW52aXJvbm1lbnQuIik7aWYoQXJyYXkuZnJvbShyLnF1ZXJ5U2VsZWN0b3JBbGwoYFske2V9XWApKS5mb3JFYWNoKG49PnF0ZShuLHtuYW1lQXR0cjplLGljb25zOmEsYXR0cnM6dH0pKSxpJiZBcnJheS5mcm9tKHIucXVlcnlTZWxlY3RvckFsbCgidGVtcGxhdGUiKSkuZm9yRWFjaChsPT5oWWUoe2ljb25zOmEsbmFtZUF0dHI6ZSxhdHRyczp0LHJvb3Q6bC5jb250ZW50LGluVGVtcGxhdGVzOml9KSksZT09PSJkYXRhLWx1Y2lkZSIpe2xldCBuPXIucXVlcnlTZWxlY3RvckFsbCgiW2ljb24tbmFtZV0iKTtuLmxlbmd0aD4wJiYoY29uc29sZS53YXJuKCJbTHVjaWRlXSBTb21lIGljb25zIHdlcmUgZm91bmQgd2l0aCB0aGUgbm93IGRlcHJlY2F0ZWQgaWNvbi1uYW1lIGF0dHJpYnV0ZS4gVGhlc2Ugd2lsbCBzdGlsbCBiZSByZXBsYWNlZCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIGJ1dCB3aWxsIG5vIGxvbmdlciBiZSBzdXBwb3J0ZWQgaW4gdjEuMCBhbmQgeW91IHNob3VsZCBzd2l0Y2ggdG8gZGF0YS1sdWNpZGUiKSxBcnJheS5mcm9tKG4pLmZvckVhY2gobD0+cXRlKGwse25hbWVBdHRyOiJpY29uLW5hbWUiLGljb25zOmEsYXR0cnM6dH0pKSl9fSwiY3JlYXRlSWNvbnMiKX0pO3ZhciB3cmEsTXJhPWYoKCk9PntsZSgpO3ZhKCk7VnRlKCk7d3JhPXMoKCk9PntsZXQgYT1PYmplY3Qua2V5cyhqdGUuZmEpO2NvbnNvbGUubG9nKCJGaXJzdCBmZXcgTHVjaWRlIGtleXM6IixPYmplY3Qua2V5cyhxMikuc2xpY2UoMCw1KSk7bGV0IGU9T2JqZWN0LmtleXMocTIpLmZpbHRlcihvPT57bGV0IG49b1swXT09PW9bMF0udG9VcHBlckNhc2UoKSYmb1swXSE9PW9bMF0udG9Mb3dlckNhc2UoKSxsPXR5cGVvZiBxMltvXT09ImZ1bmN0aW9uIixkPSFbImNyZWF0ZUVsZW1lbnQiLCJjcmVhdGVJY29ucyIsImRlZmF1bHQiXS5pbmNsdWRlcyhvKTtyZXR1cm4gbCYmbiYmZH0pLm1hcChvPT5vLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpK28uc2xpY2UoMSkpO2lmKGNvbnNvbGUubG9nKGBGb3VuZCAke2UubGVuZ3RofSBMdWNpZGUgaWNvbnNgKSxlLmxlbmd0aD09PTAmJihjb25zb2xlLmxvZygiVHJ5aW5nIGFsdGVybmF0aXZlIGFwcHJvYWNoIHRvIGZpbmQgTHVjaWRlIGljb25zIikseWYpKXtsZXQgbz15Znx8e307ZS5wdXNoKC4uLk9iamVjdC5rZXlzKG8pKSxjb25zb2xlLmxvZyhgRm91bmQgJHtlLmxlbmd0aH0gaWNvbnMgdmlhIGFsdGVybmF0aXZlIG1ldGhvZGApfWxldCB0PXMoKCk9PntsZXQgbz1hLm1hcChjPT5gZmE6JHtjfWApLG49ZS5tYXAoYz0+YGx1Y2lkZToke2N9YCksbD1bLi4ubywuLi5uXSxkPWwuam9pbihgCmApO25hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGQpLnRoZW4oKCk9PntsZXQgcD13aW5kb3cuZXZlbnQuY3VycmVudFRhcmdldCx1PXAudGV4dENvbnRlbnQ7cC50ZXh0Q29udGVudD1gXHUyNzEzIENvcGllZCAke2wubGVuZ3RofSBpY29uIG5hbWVzIWAsc2V0VGltZW91dCgoKT0+e3AudGV4dENvbnRlbnQ9dX0sMmUzKX0pfSwiY29weUFsbEljb25OYW1lcyIpLHI9cyhvPT57bGV0IG49by50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKS50cmltKCksbD1vLnRhcmdldC5jbG9zZXN0KCIuZGVtb0NvbnRhaW5lciIpO2wucXVlcnlTZWxlY3RvckFsbCgiLmljb25Db250YWluZXIiKS5mb3JFYWNoKGM9PntsZXQgcD1jLmdldEF0dHJpYnV0ZSgiZGF0YS1uYW1lIik7bj09PSIifHxwJiZwLmluY2x1ZGVzKG4pP2MuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik6Yy5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX0pLGwucXVlcnlTZWxlY3RvckFsbCgiLnNlY3Rpb24tY29udGFpbmVyIikuZm9yRWFjaChjPT57bGV0IHA9Yy5xdWVyeVNlbGVjdG9yQWxsKCIuaWNvbkNvbnRhaW5lcjpub3QoLmhpZGRlbikiKS5sZW5ndGgsdT1jLnF1ZXJ5U2VsZWN0b3IoIi5pY29uLWNvdW50Iik7aWYodSl7bGV0IG09Yy5jbGFzc0xpc3QuY29udGFpbnMoImZhLXNlY3Rpb24iKT9hLmxlbmd0aDplLmxlbmd0aDt1LnRleHRDb250ZW50PXA9PT1tP2Ake219IGljb25zYDpgJHtwfSBvZiAke219IGljb25zYH19KX0sInNlYXJjaEljb25zIiksaT1zKChvLG4pPT57bGV0IGw9YCR7bn06JHtvfWA7bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQobCkudGhlbigoKT0+e2xldCBwPXdpbmRvdy5ldmVudC5jdXJyZW50VGFyZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb3B5LXRvb2x0aXAiKTtwJiYocC50ZXh0Q29udGVudD0iQ29waWVkISIsc2V0VGltZW91dCgoKT0+e3AudGV4dENvbnRlbnQ9IkNsaWNrIHRvIGNvcHkifSwyZTMpKX0pfSwiY29weUljb25OYW1lIik7cmV0dXJuIHdgCiAgPHN0eWxlPgogICAgLmRlbW9Db250YWluZXIgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICBiYWNrZ3JvdW5kOiAjMTExMTExOwogICAgICBwYWRkaW5nOiAyMHB4OwogICAgICBmb250LXNpemU6IDMwcHg7CiAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICJTZWdvZSBVSSIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmOwogICAgfQogICAgCiAgICAuc2VhcmNoLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDEwcHg7CiAgICB9CiAgICAKICAgICNpY29uU2VhcmNoIHsKICAgICAgZmxleDogMTsKICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBiYWNrZ3JvdW5kOiAjMjIyOwogICAgICBjb2xvcjogI2ZmZjsKICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMzMzsKICAgIH0KICAgIAogICAgI2ljb25TZWFyY2g6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgICBib3JkZXItY29sb3I6ICNlNDAwMmI7CiAgICB9CiAgICAKICAgIC5jb3B5LWFsbC1idXR0b24gewogICAgICBwYWRkaW5nOiAxMnB4IDIwcHg7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGJhY2tncm91bmQ6ICNlNDAwMmI7CiAgICAgIGNvbG9yOiAjZmZmOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgfQogICAgCiAgICAuY29weS1hbGwtYnV0dG9uOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogI2M0MDAxYjsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOwogICAgfQogICAgCiAgICAuY29weS1hbGwtYnV0dG9uOmFjdGl2ZSB7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIH0KICAgIAogICAgZGVlcy1pY29uIHsKICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICB9CgogICAgLmljb25Db250YWluZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBwYWRkaW5nOiAyMHB4IDE2cHggMHB4IDE2cHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzMzMzM7CiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgfQogICAgCiAgICAuaWNvbkNvbnRhaW5lcjpob3ZlciB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7CiAgICB9CgogICAgLmljb25OYW1lIHsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIGNvbG9yOiAjY2NjOwogICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzOwogICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4OwogICAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4OwogICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgbWF4LXdpZHRoOiAxMjBweDsKICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7CiAgICB9CgogICAgLnNlY3Rpb24tdGl0bGUgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgbWFyZ2luOiAyMHB4IDA7CiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OwogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMzMzMzsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgfQogICAgCiAgICAuYXBpLW5vdGUgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAjZTQwMDJiOwogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICBwYWRkaW5nOiAxMHB4OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTQwMDJiOwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjI4LCAwLCA0MywgMC4xKTsKICAgIH0KICAgIAogICAgLmljb24tY291bnQgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAjODg4OwogICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICBiYWNrZ3JvdW5kOiAjMjIyOwogICAgICBwYWRkaW5nOiA1cHggMTBweDsKICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIH0KICAgIAogICAgLmljb25zLWdyaWQgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogICAgCiAgICAuc2VjdGlvbi1jb250YWluZXIgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIH0KICAgIAogICAgLmNvcHktdG9vbHRpcCB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgYmFja2dyb3VuZDogIzMzMzsKICAgICAgY29sb3I6IHdoaXRlOwogICAgICBwYWRkaW5nOiA1cHggMTBweDsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIHRvcDogLTMwcHg7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB9CiAgICAKICAgIC5pY29uQ29udGFpbmVyOmhvdmVyIC5jb3B5LXRvb2x0aXAgewogICAgICBvcGFjaXR5OiAxOwogICAgfQoKICAgIC5pY29uQ29udGFpbmVyOmhvdmVyIGRlZXMtaWNvbiB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAgIH0KICAgIAogICAgLmhpZGRlbiB7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW9Db250YWluZXIiPgogICAgPGRpdiBjbGFzcz0ic2VhcmNoLWNvbnRhaW5lciI+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaWNvblNlYXJjaCIgcGxhY2Vob2xkZXI9IlNlYXJjaCBpY29ucy4uLiIgQGlucHV0PSR7cn0+CiAgICAgIDxidXR0b24gY2xhc3M9ImNvcHktYWxsLWJ1dHRvbiIgQGNsaWNrPSR7dH0+8J+TiyBDb3B5IEFsbCBJY29uIE5hbWVzPC9idXR0b24+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0iYXBpLW5vdGUiPgogICAgICBOZXcgQVBJOiBVc2UgPGNvZGU+aWNvbj0iZmE6aWNvbk5hbWUiPC9jb2RlPiBvciA8Y29kZT5pY29uPSJsdWNpZGU6aWNvbk5hbWUiPC9jb2RlPiBpbnN0ZWFkIG9mIDxjb2RlPmljb25GQTwvY29kZT4uIAogICAgICBDbGljayBhbnkgaWNvbiB0byBjb3B5IGl0cyBuZXcgZm9ybWF0IHRvIGNsaXBib2FyZC4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRhaW5lciBmYS1zZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgRm9udEF3ZXNvbWUgSWNvbnMKICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1jb3VudCI+JHthLmxlbmd0aH0gaWNvbnM8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpY29ucy1ncmlkIj4KICAgICAgICAke2EubWFwKG89PntsZXQgbj1gZmE6JHtvfWA7cmV0dXJuIHdgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbkNvbnRhaW5lciBmYS1pY29uIiBkYXRhLW5hbWU9JHtvLnRvTG93ZXJDYXNlKCl9IEBjbGljaz0keygpPT5pKG8sImZhIil9PgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke259IGljb25TaXplPSIyNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uTmFtZSI+ZmE6JHtvfTwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvcHktdG9vbHRpcCI+Q2xpY2sgdG8gY29weTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0pfQogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGFpbmVyIGx1Y2lkZS1zZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgTHVjaWRlIEljb25zCiAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tY291bnQiPiR7ZS5sZW5ndGh9IGljb25zPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaWNvbnMtZ3JpZCI+CiAgICAgICAgJHtlLm1hcChvPT57bGV0IG49YGx1Y2lkZToke299YDtyZXR1cm4gd2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uQ29udGFpbmVyIGx1Y2lkZS1pY29uIiBkYXRhLW5hbWU9JHtvLnRvTG93ZXJDYXNlKCl9IEBjbGljaz0keygpPT5pKG8sImx1Y2lkZSIpfT4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHtufSBpY29uU2l6ZT0iMjQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbk5hbWUiPmx1Y2lkZToke299PC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29weS10b29sdGlwIj5DbGljayB0byBjb3B5PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfSl9CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CiAgYH0sImRlbW9GdW5jIil9KTtmdW5jdGlvbiBDJGEoKXtKOC5zaXplPmtyYSYmQXJyYXkuZnJvbShKOC5rZXlzKCkpLnNsaWNlKDAsa3JhLzUpLmZvckVhY2goZT0+SjguZGVsZXRlKGUpKX12YXIgUTgsXzEseiRhLGp0ZSxKOCxrcmEsU3JhLHZhPWYoKCk9PntsZSgpO2VhKCk7UWUoKTtROXQoKTtyQ3QoKTtNTHQoKTtwcmEoKTtNcmEoKTtWdGUoKTtWdGUoKTtROD1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sXzE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHokYT17YXJyb3dSaWdodDpJdGUsYXJyb3dVcFJpZ2h0RnJvbVNxdWFyZTp1dixiZWxsOmt0ZSxidWc6T3RlLGJ1aWxkaW5nOkF0ZSxjYXJldExlZnQ6Q3RlLGNhcmV0UmlnaHQ6TXRlLGNoZWNrOkV0ZSxjaXJjbGVJbmZvOmZ2LGNpcmNsZUNoZWNrOkliLGNpcmNsZUNoZWNrU29saWQ6bnYsY2lyY2xlWG1hcms6VTgsY2lyY2xlWG1hcmtTb2xpZDpaOCxjbG9ja1JvdGF0ZUxlZnQ6bHYsY29weTpTZWUsY29weVNvbGlkOkZ0ZSxkZXNrdG9wOnB2LGV5ZTp6dGUsZXllU2xhc2g6QnRlLGZpbGVJbnZvaWNlOk50ZSxmaWxlSW52b2ljZURvbGxlcjpSdGUsZ2VhcjppdixncmlwOlg4LG1hZ25pZnlpbmdHbGFzczphdixtZXNzYWdlOlBiLG1lc3NhZ2VTb2xpZDpldixtb25leUNoZWNrRG9sbGFyOmR2LG11Z0hvdDpIdGUsbWludXM6SmIsbmV0d29ya1dpcmVkOiR0ZSxwYXBlcmNsaXA6UHRlLHBhc3RlOkFiLHBhc3RlU29saWQ6UWIscGVuVG9TcXVhcmU6cnYscGx1czpjdixyZWNlaXB0Ol90ZSxyc3M6dHYsc2hhcmU6c3Ysc3VuOmtlZSxzdW5Tb2xpZDpMdGUsdGVybWluYWw6RHRlLHRyYXNoOmh2LHRyYXNoU29saWQ6aHYsdHJhc2hDYW46RWIsdHJhc2hDYW5Tb2xpZDpvdix1c2VyczpUdGUsd2FsbGV0OlN0ZSx4bWFyazp0NCxmYWNlYm9vazpkZWUsZ29vZ2xlOmxlZSxpbnN0YWdyYW06ZmVlLGxpbmtlZGluOmNlZSxtZWRpdW06TGIsc2xhY2s6dWVlLHRpa3RvazpwZWUsdHdpdHRlcjpoZWV9LGp0ZT17ZmE6eiRhfSxKOD1uZXcgTWFwLGtyYT01MDA7cyhDJGEsImxpbWl0Q2FjaGVTaXplIik7U3JhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pY29uIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNJY29uIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmcsY29udmVydGVyOntmcm9tQXR0cmlidXRlOnMoej0+eiwiZnJvbUF0dHJpYnV0ZSIpLHRvQXR0cmlidXRlOnMoej0+eiwidG9BdHRyaWJ1dGUiKX19KV0sZD1bJCh7dHlwZTpTdHJpbmcsY29udmVydGVyOntmcm9tQXR0cmlidXRlOnMoej0+eiwiZnJvbUF0dHJpYnV0ZSIpLHRvQXR0cmlidXRlOnMoej0+eiwidG9BdHRyaWJ1dGUiKX19KV0sdT1bJCh7dHlwZTpOdW1iZXJ9KV0seD1bJCh7dHlwZTpTdHJpbmd9KV0seT1bJCh7dHlwZTpOdW1iZXJ9KV0sUTgodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uRkEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imljb25GQSJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56Lmljb25GQSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6Lmljb25GQT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksUTgodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJpY29uImluIHosImhhcyIpLGdldDpzKHo9PnouaWNvbiwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6Lmljb249T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLFE4KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaWNvblNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imljb25TaXplImluIHosImhhcyIpLGdldDpzKHo9PnouaWNvblNpemUsImdldCIpLHNldDpzKCh6LE8pPT57ei5pY29uU2l6ZT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksUTgodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2xvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY29sb3IiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5jb2xvciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmNvbG9yPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSxROCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0cm9rZVdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzdHJva2VXaWR0aCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnN0cm9rZVdpZHRoLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc3Ryb2tlV2lkdGg9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLFE4KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89d3JhO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdOyNlPV8xKHRoaXMsbix2b2lkIDApO2dldCBpY29uRkEoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaWNvbkZBKF8pe3RoaXMuI2U9X30jdD0oXzEodGhpcyxsKSxfMSh0aGlzLGMsdm9pZCAwKSk7Z2V0IGljb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgaWNvbihfKXt0aGlzLiN0PV99I2E9KF8xKHRoaXMscCksXzEodGhpcyxtLHZvaWQgMCkpO2dldCBpY29uU2l6ZSgpe3JldHVybiB0aGlzLiNhfXNldCBpY29uU2l6ZShfKXt0aGlzLiNhPV99I3I9KF8xKHRoaXMsdiksXzEodGhpcyxiLCJjdXJyZW50Q29sb3IiKSk7Z2V0IGNvbG9yKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGNvbG9yKF8pe3RoaXMuI3I9X30jcz0oXzEodGhpcyxnKSxfMSh0aGlzLGssMikpO2dldCBzdHJva2VXaWR0aCgpe3JldHVybiB0aGlzLiNzfXNldCBzdHJva2VXaWR0aChfKXt0aGlzLiNzPV99bGFzdEljb249KF8xKHRoaXMsQyksbnVsbCk7bGFzdEljb25TaXplPW51bGw7bGFzdENvbG9yPW51bGw7bGFzdFN0cm9rZVdpZHRoPW51bGw7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRyLnNldHVwKCl9Z2V0RWZmZWN0aXZlSWNvbigpe3JldHVybiB0aGlzLmljb24/dGhpcy5pY29uOnRoaXMuaWNvbkZBP3RoaXMuaWNvbkZBLnN0YXJ0c1dpdGgoImx1Y2lkZToiKT90aGlzLmljb25GQTpgZmE6JHt0aGlzLmljb25GQX1gOm51bGx9cGFyc2VJY29uU3RyaW5nKF8pe2xldCB6PV8udG9Mb3dlckNhc2UoKTtyZXR1cm4gei5zdGFydHNXaXRoKCJmYToiKT97dHlwZToiZmEiLG5hbWU6Xy5zdWJzdHJpbmcoMyl9Onouc3RhcnRzV2l0aCgibHVjaWRlOiIpP3t0eXBlOiJsdWNpZGUiLG5hbWU6Xy5zdWJzdHJpbmcoNyl9Ont0eXBlOiJsdWNpZGUiLG5hbWU6X319cmVuZGVyTHVjaWRlSWNvbihfKXtsZXQgej1gbHVjaWRlOiR7X306JHt0aGlzLmljb25TaXplfToke3RoaXMuY29sb3J9OiR7dGhpcy5zdHJva2VXaWR0aH1gO2lmKEo4Lmhhcyh6KSlyZXR1cm4gSjguZ2V0KHopfHwiIjt0cnl7bGV0IE89Xy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStfLnNsaWNlKDEpO2lmKCFxMltPXSlyZXR1cm4gY29uc29sZS53YXJuKGBMdWNpZGUgaWNvbiAnJHtPfScgbm90IGZvdW5kIGluIGx1Y2lkZUljb25zIG9iamVjdGApLCIiO2xldCBUPWE0KHEyW09dLHtjb2xvcjp0aGlzLmNvbG9yLHNpemU6dGhpcy5pY29uU2l6ZSxzdHJva2VXaWR0aDp0aGlzLnN0cm9rZVdpZHRofSk7aWYoIVQpcmV0dXJuIGNvbnNvbGUud2FybihgY3JlYXRlRWxlbWVudCByZXR1cm5lZCBlbXB0eSByZXN1bHQgZm9yICR7T31gKSwiIjtsZXQgUD1ULm91dGVySFRNTDtyZXR1cm4gSjguc2V0KHosUCksQyRhKCksUH1jYXRjaChPKXtyZXR1cm4gY29uc29sZS5lcnJvcihgRXJyb3IgcmVuZGVyaW5nIEx1Y2lkZSBpY29uICR7X306YCxPKSxgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIke3RoaXMuaWNvblNpemV9IiBoZWlnaHQ9IiR7dGhpcy5pY29uU2l6ZX0iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIke3RoaXMuY29sb3J9IiBzdHJva2Utd2lkdGg9IiR7dGhpcy5zdHJva2VXaWR0aH0iIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgPHRleHQgeD0iNTAlIiB5PSI1MCUiIGZvbnQtc2l6ZT0iNiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZG9taW5hbnQtYmFzZWxpbmU9Im1pZGRsZSIgZmlsbD0iJHt0aGlzLmNvbG9yfSI+JHtffTwvdGV4dD4KICAgICAgPC9zdmc+YH19c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIEltcHJvdmUgcmVuZGVyaW5nIHBlcmZvcm1hbmNlICovCiAgICAgICNpY29uQ29udGFpbmVyIHN2ZyB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IC8qIEhlbHBzIHdpdGggYW5pbWF0aW9ucyAqLwogICAgICAgIGNvbnRhaW46IHN0cmljdDsgLyogUGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uICovCiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICAke3RyLnN0eWxlc30KICAgICAgPHN0eWxlPgogICAgICAgICNpY29uQ29udGFpbmVyIHsKICAgICAgICAgIHdpZHRoOiAke3RoaXMuaWNvblNpemV9cHg7CiAgICAgICAgICBoZWlnaHQ6ICR7dGhpcy5pY29uU2l6ZX1weDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgaWQ9Imljb25Db250YWluZXIiPjwvZGl2PgogICAgYH11cGRhdGVkKCl7dGhpcy5pY29uU2l6ZXx8KHRoaXMuaWNvblNpemU9cGFyc2VJbnQoZ2xvYmFsVGhpcy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpLmZvbnRTaXplLnJlcGxhY2UoL1xEL2csIiIpKSk7bGV0IF89dGhpcy5nZXRFZmZlY3RpdmVJY29uKCk7aWYodGhpcy5sYXN0SWNvbj09PV8mJnRoaXMubGFzdEljb25TaXplPT09dGhpcy5pY29uU2l6ZSYmdGhpcy5sYXN0Q29sb3I9PT10aGlzLmNvbG9yJiZ0aGlzLmxhc3RTdHJva2VXaWR0aD09PXRoaXMuc3Ryb2tlV2lkdGgpcmV0dXJuO3RoaXMubGFzdEljb249Xyx0aGlzLmxhc3RJY29uU2l6ZT10aGlzLmljb25TaXplLHRoaXMubGFzdENvbG9yPXRoaXMuY29sb3IsdGhpcy5sYXN0U3Ryb2tlV2lkdGg9dGhpcy5zdHJva2VXaWR0aDtsZXQgej10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIiNpY29uQ29udGFpbmVyIik7aWYoISghenx8IV8pKXRyeXtsZXR7dHlwZTpPLG5hbWU6VH09dGhpcy5wYXJzZUljb25TdHJpbmcoXyk7aWYoTz09PSJsdWNpZGUiKXt6LmlubmVySFRNTD0iIjt0cnl7bGV0IFA9VC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStULnNsaWNlKDEpO2lmKHEyW1BdKXtsZXQgQj1hNChxMltQXSx7Y29sb3I6dGhpcy5jb2xvcixzaXplOnRoaXMuaWNvblNpemUsc3Ryb2tlV2lkdGg6dGhpcy5zdHJva2VXaWR0aH0pO2lmKEIpe3ouYXBwZW5kQ2hpbGQoQik7cmV0dXJufX10aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBjcmVhdGUgZWxlbWVudCBmb3IgJHtQfWApfWNhdGNoKFApe2NvbnNvbGUuZXJyb3IoIkVycm9yIHJlbmRlcmluZyBMdWNpZGUgaWNvbjoiLFApO2xldCBCPXRoaXMucmVuZGVyTHVjaWRlSWNvbihUKTtCJiYoei5pbm5lckhUTUw9Qil9fWVsc2V7bGV0IFA9anRlLmZhW1RdO2lmKFApe2xldCBCPXh1ZShQKS5odG1sWzBdO3ouaW5uZXJIVE1MPUJ9ZWxzZSBjb25zb2xlLndhcm4oYEZvbnRBd2Vzb21lIGljb24gbm90IGZvdW5kOiAke1R9YCl9fWNhdGNoKE8pe2NvbnNvbGUuZXJyb3IoYEVycm9yIHVwZGF0aW5nIGljb24gJHtffTpgLE8pfX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5sYXN0SWNvbj1udWxsLHRoaXMubGFzdEljb25TaXplPW51bGwsdGhpcy5sYXN0Q29sb3I9bnVsbCx0aGlzLmxhc3RTdHJva2VXaWR0aD1udWxsfXN0YXRpY3tfMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgenJhLG1ZZSx0YSxYcj1mKCgpPT57V3MoKTtiN3QoKTtsZSgpO2VhKCk7TTEoKTtHaSgpO3ZhKCk7UWUoKTt6cmE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LG1ZZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sdGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWNvbnRleHRtZW51IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNDb250ZXh0bWVudSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0senJhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudUl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJtZW51SXRlbXMiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5tZW51SXRlbXMsImdldCIpLHNldDpzKChwLHUpPT57cC5tZW51SXRlbXM9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLHpyYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPWc3dDtzdGF0aWMgZGVtb0dyb3Vwcz1bIk92ZXJsYXkiXTtzdGF0aWMgY29udGV4dE1lbnVEZWFjdGl2YXRlZD0hMTtzdGF0aWMgYWNjdW11bGF0ZWRNZW51SXRlbXM9W107c3RhdGljIGluaXRpYWxpemVHbG9iYWxMaXN0ZW5lcigpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IixjPT57aWYodGhpcy5jb250ZXh0TWVudURlYWN0aXZhdGVkKXJldHVybjtjLnByZXZlbnREZWZhdWx0KCksZC5hY2N1bXVsYXRlZE1lbnVJdGVtcz1bXTtsZXQgcD1jLmNvbXBvc2VkUGF0aCgpO2ZvcihsZXQgdSBvZiBwKWlmKHUuZ2V0Q29udGV4dE1lbnVJdGVtcyl7bGV0IG09dS5nZXRDb250ZXh0TWVudUl0ZW1zKCk7bSYmbS5sZW5ndGg+MCYmKGQuYWNjdW11bGF0ZWRNZW51SXRlbXMubGVuZ3RoPjAmJmQuYWNjdW11bGF0ZWRNZW51SXRlbXMucHVzaCh7ZGl2aWRlcjohMH0pLGQuYWNjdW11bGF0ZWRNZW51SXRlbXMucHVzaCguLi5tKSl9ZC5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhjLGQuYWNjdW11bGF0ZWRNZW51SXRlbXMpfSl9c3RhdGljIGFzeW5jIG9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKGMscCl7aWYodGhpcy5jb250ZXh0TWVudURlYWN0aXZhdGVkKXJldHVybjtjLnByZXZlbnREZWZhdWx0KCksYy5zdG9wUHJvcGFnYXRpb24oKTtsZXQgdT1uZXcgZDt1LnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdS5zdHlsZS56SW5kZXg9U3RyaW5nKFBzLm92ZXJsYXkuY29udGV4dE1lbnUpLHUuc3R5bGUub3BhY2l0eT0iMCIsdS5zdHlsZS50cmFuc2Zvcm09InNjYWxlKDAuOTUpIHRyYW5zbGF0ZVkoLTEwcHgpIix1Lm1lbnVJdGVtcz1wLHUud2luZG93TGF5ZXI9YXdhaXQgR3MuY3JlYXRlQW5kU2hvdygpLHUud2luZG93TGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFzeW5jIHk9Pnt5LnRhcmdldC5jbG9zZXN0KCJkZWVzLWNvbnRleHRtZW51Iil8fGF3YWl0IHUuZGVzdHJveSgpfSksZG9jdW1lbnQuYm9keS5hcHBlbmQodSksYXdhaXQgSHQuc21hcnRkZWxheS5kZWxheUZvcigwKTtsZXQgbT11LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHY9d2luZG93LmlubmVyV2lkdGgseD13aW5kb3cuaW5uZXJIZWlnaHQsYj1jLmNsaWVudFksZz1jLmNsaWVudFg7ZyttLndpZHRoPnYmJihnPXYtbS53aWR0aC0xMCksYittLmhlaWdodD54JiYoYj14LW0uaGVpZ2h0LTEwKSxnPDEwJiYoZz0xMCksYjwxMCYmKGI9MTApLHUuc3R5bGUudG9wPWAke2J9cHhgLHUuc3R5bGUubGVmdD1gJHtnfXB4YCx1LnN0eWxlLnRyYW5zZm9ybU9yaWdpbj0idG9wIGxlZnQiLGF3YWl0IEh0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCksdS5zdHlsZS5vcGFjaXR5PSIxIix1LnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMSkgdHJhbnNsYXRlWSgwKSJ9I2U9bVllKHRoaXMsbixbXSk7Z2V0IG1lbnVJdGVtcygpe3JldHVybiB0aGlzLiNlfXNldCBtZW51SXRlbXMoYyl7dGhpcy4jZT1jfXdpbmRvd0xheWVyPW1ZZSh0aGlzLGwpO3N1Ym1lbnU9bnVsbDtzdWJtZW51VGltZW91dD1udWxsO3BhcmVudE1lbnU9bnVsbDtpc0Rlc3Ryb3lpbmc9ITE7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudGFiSW5kZXg9MH1zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgdHJhbnNmb3JtIDAuMnM7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgLm1haW5ib3ggewogICAgICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAyODBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwMDAwMDAiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpIiwiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgcGFkZGluZzogNHB4IDA7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNjY2MiKX07CiAgICAgIH0KCiAgICAgIC5tZW51aXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXM7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAubWVudWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDQpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSIpfTsKICAgICAgfQogICAgICAKICAgICAgLm1lbnVpdGVtLmhhcy1zdWJtZW51OjphZnRlciB7CiAgICAgICAgY29udGVudDogJ+KAuic7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLm1lbnVpdGVtOmFjdGl2ZTpub3QoLmhhcy1zdWJtZW51KSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpIil9OwogICAgICB9CiAgICAgIAogICAgICAubWVudWl0ZW0uZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAubWVudWl0ZW0gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAubWVudWl0ZW0tdGV4dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLm1lbnVpdGVtLXNob3J0Y3V0IHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOTk5IiwiIzY2NiIpfTsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC5tZW51LWRpdmlkZXIgewogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTBlMGUwIiwiIzIwMjAyMCIpfTsKICAgICAgICBtYXJnaW46IDRweCAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWFpbmJveCI+CiAgICAgICAgJHt0aGlzLm1lbnVJdGVtcy5tYXAoYz0+e2lmKCJkaXZpZGVyImluIGMmJmMuZGl2aWRlcilyZXR1cm4gd2A8ZGl2IGNsYXNzPSJtZW51LWRpdmlkZXIiPjwvZGl2PmA7bGV0IHA9Yyx1PXAuc3VibWVudSYmcC5zdWJtZW51Lmxlbmd0aD4wO3JldHVybiB3YAogICAgICAgICAgICA8ZGl2IAogICAgICAgICAgICAgIGNsYXNzPSJtZW51aXRlbSAke3AuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0gJHt1PyJoYXMtc3VibWVudSI6IiJ9IiAKICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+IXAuZGlzYWJsZWQmJiF1JiZ0aGlzLmhhbmRsZUNsaWNrKHApfQogICAgICAgICAgICAgIEBtb3VzZWVudGVyPSR7KCk9PnRoaXMuaGFuZGxlTWVudUl0ZW1Ib3ZlcihwLHUpfQogICAgICAgICAgICAgIEBtb3VzZWxlYXZlPSR7KCk9PnRoaXMuaGFuZGxlTWVudUl0ZW1MZWF2ZSgpfQogICAgICAgICAgICA+CiAgICAgICAgICAgICAgJHtwLmljb25OYW1lP3dgCiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIke3AuaWNvbk5hbWV9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZW51aXRlbS10ZXh0Ij4ke3AubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgJHtwLnNob3J0Y3V0JiYhdT93YAogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1lbnVpdGVtLXNob3J0Y3V0Ij4ke3Auc2hvcnRjdXR9PC9zcGFuPgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH0pfQogICAgICAgICR7dGhpcy5tZW51SXRlbXMubGVuZ3RoPT09MD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51aXRlbSIgQGNsaWNrPSR7KCk9PntkLmNvbnRleHRNZW51RGVhY3RpdmF0ZWQ9ITAsdGhpcy5kZXN0cm95KCl9fT4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSJsdWNpZGU6eCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1lbnVpdGVtLXRleHQiPkFsbG93IG5hdGl2ZSBjb250ZXh0PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOndgYH0KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe3RoaXMuZm9jdXMoKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuaGFuZGxlS2V5ZG93bil9aGFuZGxlS2V5ZG93bj1zKGM9PntsZXQgcD1BcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCIubWVudWl0ZW06bm90KC5kaXNhYmxlZCkiKSksdT1wLmZpbmRJbmRleChtPT5tLm1hdGNoZXMoIjpob3ZlciIpKTtzd2l0Y2goYy5rZXkpe2Nhc2UiQXJyb3dEb3duIjpjLnByZXZlbnREZWZhdWx0KCk7bGV0IG09dSsxPHAubGVuZ3RoP3UrMTowO3BbbV0uZGlzcGF0Y2hFdmVudChuZXcgTW91c2VFdmVudCgibW91c2VlbnRlciIpKTticmVhaztjYXNlIkFycm93VXAiOmMucHJldmVudERlZmF1bHQoKTtsZXQgdj11LTE+PTA/dS0xOnAubGVuZ3RoLTE7cFt2XS5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCJtb3VzZWVudGVyIikpO2JyZWFrO2Nhc2UiRW50ZXIiOmMucHJldmVudERlZmF1bHQoKSx1Pj0wJiZwW3VdLmNsaWNrKCk7YnJlYWs7Y2FzZSJFc2NhcGUiOmMucHJldmVudERlZmF1bHQoKSx0aGlzLmRlc3Ryb3koKTticmVha319LCJoYW5kbGVLZXlkb3duIik7YXN5bmMgaGFuZGxlQ2xpY2soYyl7Yy5hY3Rpb24oKSxhd2FpdCB0aGlzLmRlc3Ryb3lBbGwoKX1hc3luYyBoYW5kbGVNZW51SXRlbUhvdmVyKGMscCl7dGhpcy5zdWJtZW51VGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLnN1Ym1lbnVUaW1lb3V0KSx0aGlzLnN1Ym1lbnVUaW1lb3V0PW51bGwpLHRoaXMuc3VibWVudSYmYXdhaXQgdGhpcy5oaWRlU3VibWVudSgpLHAmJmMuc3VibWVudSYmKHRoaXMuc3VibWVudVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuc2hvd1N1Ym1lbnUoYyl9LDIwMCkpfWhhbmRsZU1lbnVJdGVtTGVhdmUoKXt0aGlzLnN1Ym1lbnVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5zdWJtZW51VGltZW91dCksdGhpcy5zdWJtZW51VGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5zdWJtZW51JiYhdGhpcy5zdWJtZW51Lm1hdGNoZXMoIjpob3ZlciIpJiZ0aGlzLmhpZGVTdWJtZW51KCl9LDMwMCl9YXN5bmMgc2hvd1N1Ym1lbnUoYyl7aWYoIWMuc3VibWVudXx8Yy5zdWJtZW51Lmxlbmd0aD09PTApcmV0dXJuO2xldCB1PUFycmF5LmZyb20odGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tZW51aXRlbSIpKS5maW5kKGs9PmsucXVlcnlTZWxlY3RvcigiLm1lbnVpdGVtLXRleHQiKT8udGV4dENvbnRlbnQ9PT1jLm5hbWUpO2lmKCF1KXJldHVybjt0aGlzLnN1Ym1lbnU9bmV3IGQsdGhpcy5zdWJtZW51Lm1lbnVJdGVtcz1jLnN1Ym1lbnUsdGhpcy5zdWJtZW51LnBhcmVudE1lbnU9dGhpcyx0aGlzLnN1Ym1lbnUuc3R5bGUucG9zaXRpb249ImZpeGVkIix0aGlzLnN1Ym1lbnUuc3R5bGUuekluZGV4PVN0cmluZyhwYXJzZUludCh0aGlzLnN0eWxlLnpJbmRleCkrMSksdGhpcy5zdWJtZW51LnN0eWxlLm9wYWNpdHk9IjAiLHRoaXMuc3VibWVudS5zdHlsZS50cmFuc2Zvcm09InNjYWxlKDAuOTUpIixkb2N1bWVudC5ib2R5LmFwcGVuZCh0aGlzLnN1Ym1lbnUpLGF3YWl0IEh0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCk7bGV0IG09dS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx2PXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkseD10aGlzLnN1Ym1lbnUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYj13aW5kb3cuaW5uZXJXaWR0aCxnPXYucmlnaHQtNCx5PW0udG9wO2creC53aWR0aD5iLTEwJiYoZz12LmxlZnQteC53aWR0aCs0KSx5K3guaGVpZ2h0PndpbmRvdy5pbm5lckhlaWdodC0xMCYmKHk9d2luZG93LmlubmVySGVpZ2h0LXguaGVpZ2h0LTEwKSx0aGlzLnN1Ym1lbnUuc3R5bGUubGVmdD1gJHtnfXB4YCx0aGlzLnN1Ym1lbnUuc3R5bGUudG9wPWAke3l9cHhgLGF3YWl0IEh0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCksdGhpcy5zdWJtZW51LnN0eWxlLm9wYWNpdHk9IjEiLHRoaXMuc3VibWVudS5zdHlsZS50cmFuc2Zvcm09InNjYWxlKDEpIix0aGlzLnN1Ym1lbnUuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsKCk9Pnt0aGlzLnN1Ym1lbnVUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuc3VibWVudVRpbWVvdXQpLHRoaXMuc3VibWVudVRpbWVvdXQ9bnVsbCl9KSx0aGlzLnN1Ym1lbnUuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsKCk9Pnt0aGlzLmhhbmRsZU1lbnVJdGVtTGVhdmUoKX0pfWFzeW5jIGhpZGVTdWJtZW51KCl7dGhpcy5zdWJtZW51JiYoYXdhaXQgdGhpcy5zdWJtZW51LmRlc3Ryb3koKSx0aGlzLnN1Ym1lbnU9bnVsbCl9YXN5bmMgZGVzdHJveSgpe3RoaXMuaXNEZXN0cm95aW5nfHwodGhpcy5pc0Rlc3Ryb3lpbmc9ITAsdGhpcy5zdWJtZW51VGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLnN1Ym1lbnVUaW1lb3V0KSx0aGlzLnN1Ym1lbnVUaW1lb3V0PW51bGwpLHRoaXMuc3VibWVudSYmKGF3YWl0IHRoaXMuc3VibWVudS5kZXN0cm95KCksdGhpcy5zdWJtZW51PW51bGwpLHRoaXMud2luZG93TGF5ZXImJiF0aGlzLnBhcmVudE1lbnUmJnRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpLHRoaXMuc3R5bGUub3BhY2l0eT0iMCIsdGhpcy5zdHlsZS50cmFuc2Zvcm09InNjYWxlKDAuOTUpIHRyYW5zbGF0ZVkoLTEwcHgpIixhd2FpdCBIdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDEwMCksdGhpcy5wYXJlbnRFbGVtZW50JiZ0aGlzLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcykpfWFzeW5jIGRlc3Ryb3lBbGwoKXtsZXQgYz10aGlzO2Zvcig7Yy5wYXJlbnRNZW51OyljPWMucGFyZW50TWVudTthd2FpdCBjLmRlc3Ryb3koKX1zdGF0aWN7bVllKHIsdCl9fTtyZXR1cm4gZD1yfSkoKTt0YS5pbml0aWFsaXplR2xvYmFsTGlzdGVuZXIoKX0pO3ZhciBDcmEsZ1llLF8kYSxfcmE9ZigoKT0+e2xlKCk7Q3JhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxnWWU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LF8kYT0oKCk9PntsZXQgYT1baWUoImRlZXMtZGVtb3dyYXBwZXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0RlbW9XcmFwcGVyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7YXR0cmlidXRlOiExfSldLENyYSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJ1bkFmdGVyUmVuZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJydW5BZnRlclJlbmRlciJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLnJ1bkFmdGVyUmVuZGVyLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AucnVuQWZ0ZXJSZW5kZXI9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLENyYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfSNlPWdZZSh0aGlzLG4sdm9pZCAwKTtnZXQgcnVuQWZ0ZXJSZW5kZXIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcnVuQWZ0ZXJSZW5kZXIoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W1hgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBjb250ZW50czsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7aWYoYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCBuZXcgUHJvbWlzZShjPT5zZXRUaW1lb3V0KGMsNTApKSx0aGlzLmNoaWxkcmVuLmxlbmd0aD4wJiZ0aGlzLnJ1bkFmdGVyUmVuZGVyKXRyeXthd2FpdCB0aGlzLnJ1bkFmdGVyUmVuZGVyKHRoaXMpfWNhdGNoKGMpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGluIHJ1bkFmdGVyUmVuZGVyOiIsYyl9fWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxnWWUodGhpcyxsKX1zdGF0aWN7Z1llKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBOYT1mKCgpPT57X3JhKCl9KTt2YXIgVHJhLExyYT1mKCgpPT57bGUoKTtOYSgpO1RyYT1zKCgpPT57bGV0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGVlcy1hcHB1aS1hY3Rpdml0eWxvZyIpO3JldHVybiBzZXRUaW1lb3V0KCgpPT57YS5hZGRNYW55KFt7dHlwZToibG9naW4iLHVzZXI6IkpvaG4gRG9lIixtZXNzYWdlOiJsb2dnZWQgaW4gZnJvbSBDaHJvbWUgb24gbWFjT1MifSx7dHlwZToiY3JlYXRlIix1c2VyOiJKb2huIERvZSIsbWVzc2FnZTonY3JlYXRlZCBhIG5ldyBwcm9qZWN0ICJGcm9udGVuZCBBcHAiJ30se3R5cGU6InVwZGF0ZSIsdXNlcjoiSmFuZSBTbWl0aCIsbWVzc2FnZToidXBkYXRlZCBBUEkgZG9jdW1lbnRhdGlvbiJ9LHt0eXBlOiJ2aWV3Iix1c2VyOiJKb2huIERvZSIsbWVzc2FnZToidmlld2VkIGRhc2hib2FyZCBhbmFseXRpY3MifSx7dHlwZToiZGVsZXRlIix1c2VyOiJBZG1pbiIsbWVzc2FnZToicmVtb3ZlZCBkZXByZWNhdGVkIGVuZHBvaW50In0se3R5cGU6ImN1c3RvbSIsdXNlcjoiU3lzdGVtIixtZXNzYWdlOiJzY2hlZHVsZWQgYmFja3VwIGNvbXBsZXRlZCIsaWNvbk5hbWU6Imx1Y2lkZTpkYXRhYmFzZSJ9LHt0eXBlOiJsb2dvdXQiLHVzZXI6IkFsaWNlIEJyb3duIixtZXNzYWdlOiJsb2dnZWQgb3V0In0se3R5cGU6ImNyZWF0ZSIsdXNlcjoiSmFuZSBTbWl0aCIsbWVzc2FnZToiY3JlYXRlZCBpbnZvaWNlICMxMjM0In1dKSxhLmVudHJpZXMkLnN1YnNjcmliZShlPT57Y29uc29sZS5sb2coIkFjdGl2aXR5IGxvZyB1cGRhdGVkOiIsZS5sZW5ndGgsImVudHJpZXMiKX0pfSwxMDApLHdgCiAgICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgICAgPHN0eWxlPgogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgaGVpZ2h0OiA2MDBweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzA5MDkwYiIpfTsKICAgICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgICAgJHthfQogICAgICA8L2Rpdj4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfSwiZGVtb0Z1bmMiKX0pO3ZhciBVdGUsd2YsJHJhLGJZZT1mKCgpPT57bGUoKTtlYSgpO1hyKCk7dmEoKTtMcmEoKTtRZSgpO1V0ZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sd2Y9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LCRyYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXBwdWktYWN0aXZpdHlsb2ciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpQWN0aXZpdHlsb2ciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVtLKCldLGQ9W0soKV0sdT1bSygpXSxVdGUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbnRyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJlbnRyaWVzImluIGcsImhhcyIpLGdldDpzKGc9PmcuZW50cmllcywiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmVudHJpZXM9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLFV0ZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlYXJjaFF1ZXJ5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJzZWFyY2hRdWVyeSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnNlYXJjaFF1ZXJ5LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuc2VhcmNoUXVlcnk9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLFV0ZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbHRlckNyaXRlcmlhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJmaWx0ZXJDcml0ZXJpYSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmZpbHRlckNyaXRlcmlhLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuZmlsdGVyQ3JpdGVyaWE9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLFV0ZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPVRyYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPXdmKHRoaXMsbixbXSk7Z2V0IGVudHJpZXMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZW50cmllcyhiKXt0aGlzLiNlPWJ9I3Q9KHdmKHRoaXMsbCksd2YodGhpcyxjLCIiKSk7Z2V0IHNlYXJjaFF1ZXJ5KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlYXJjaFF1ZXJ5KGIpe3RoaXMuI3Q9Yn0jYT0od2YodGhpcyxwKSx3Zih0aGlzLG0se30pKTtnZXQgZmlsdGVyQ3JpdGVyaWEoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZmlsdGVyQ3JpdGVyaWEoYil7dGhpcy4jYT1ifWVudHJpZXMkPSh3Zih0aGlzLHYpLG5ldyBIdC5zbWFydHJ4LnJ4anMuU3ViamVjdCk7c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICAvKiBDU1MgVmFyaWFibGVzIGFsaWduZWQgd2l0aCBzZWNvbmRhcnkgbWVudSAqLwogICAgICAgIC0tYWN0aXZpdHlsb2ctYmc6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWZnOiAke2guYmRUaGVtZSgiIzUyNTI1MiIsIiNhM2EzYTMiKX07CiAgICAgICAgLS1hY3Rpdml0eWxvZy1mZy1tdXRlZDogJHtoLmJkVGhlbWUoIiM3MzczNzMiLCIjNzM3MzczIil9OwogICAgICAgIC0tYWN0aXZpdHlsb2ctZmctYWN0aXZlOiAke2guYmRUaGVtZSgiIzBhMGEwYSIsIiNmYWZhZmEiKX07CiAgICAgICAgLS1hY3Rpdml0eWxvZy1ib3JkZXI6ICR7aC5iZFRoZW1lKCIjZTVlNWU1IiwiIzFhMWExYSIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWhvdmVyOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA0KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikiKX07CiAgICAgICAgLS1hY3Rpdml0eWxvZy1hY2NlbnQ6ICR7aC5iZFRoZW1lKCIjNzg3MTZjIiwiI2I1YTk5YSIpfTsKCiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnKTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWFjdGl2aXR5bG9nLWJnKTsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIHNhbnMtc2VyaWY7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1hY3Rpdml0eWxvZy1ib3JkZXIpOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMHB4OwogICAgICAgIGxlZnQ6IDBweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDI4MHB4OwogICAgICB9CgogICAgICAvKiBIZWFkZXIgd2l0aCBzdHJlYW1pbmcgaW5kaWNhdG9yICovCiAgICAgIC50b3BiYXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDBweDsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aXZpdHlsb2ctYmcpOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hY3Rpdml0eWxvZy1ib3JkZXIpOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnRvcGJhciAuaGVhZGluZyB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC5saXZlLWluZGljYXRvciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICB9CgogICAgICAubGl2ZS1pbmRpY2F0b3IgLmRvdCB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzIyYzU1ZSIsIiMyMmM1NWUiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogcHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgcHVsc2UgewogICAgICAgIDAlLCAxMDAlIHsgb3BhY2l0eTogMC41OyB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IH0KICAgICAgICA1MCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH0KICAgICAgfQoKICAgICAgLyogQWN0aXZpdHkgY29udGFpbmVyICovCiAgICAgIC5hY3Rpdml0eUNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNDhweDsKICAgICAgICBib3R0b206IDQ4cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogOHB4IDA7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjsKICAgICAgICBzY3JvbGxiYXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ0IiwiIzMzMzMzMyIpfSB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eUNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZDRkNGQ0IiwiIzMzMzMzMyIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eUNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjYTNhM2EzIiwiIzUyNTI1MiIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDQwcHggMTZweDsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICB9CgogICAgICAvKiBEYXRlIHNlcGFyYXRvciAtIHdhcm0gdGF1cGUgc3R5bGluZyAqLwogICAgICAuZGF0ZS1zZXBhcmF0b3IgewogICAgICAgIHBhZGRpbmc6IDEycHggMTJweCA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWFjY2VudCk7CiAgICAgICAgcG9zaXRpb246IHN0aWNreTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY3Rpdml0eWxvZy1iZyk7CiAgICAgIH0KCiAgICAgIC8qIEFjdGl2aXR5IGVudHJ5IC0gbW9kZXJuIHN0YWNrZWQgbGF5b3V0ICovCiAgICAgIC5hY3Rpdml0eWVudHJ5IHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgbWFyZ2luOiAycHggNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgICAgICBhbmltYXRpb246IGZhZGVJbiAwLjJzIGVhc2Utb3V0OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7CiAgICAgICAgZnJvbSB7CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogICAgICAgIH0KICAgICAgICB0byB7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLmFjdGl2aXR5ZW50cnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWFjdGl2aXR5bG9nLWhvdmVyKTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24gewogICAgICAgIHdpZHRoOiAyOHB4OwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLW11dGVkKTsKICAgICAgICBtYXJnaW4tdG9wOiAxcHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1pY29uLmxvZ2luIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgzNCwgMTk3LCA5NCwgMC4wOCkiLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjEyKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjNGFkZTgwIil9OwogICAgICB9CgogICAgICAuYWN0aXZpdHktaWNvbi5sb2dvdXQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjA4KSIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMTIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1pY29uLnZpZXcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wOCkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24uY3JlYXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgxNjgsIDg1LCAyNDcsIDAuMDgpIiwicmdiYSgxNjgsIDg1LCAyNDcsIDAuMTIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzkzMzNlYSIsIiNjMDg0ZmMiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1pY29uLnVwZGF0ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMjUxLCAxNDYsIDYwLCAwLjA4KSIsInJnYmEoMjUxLCAxNDYsIDYwLCAwLjEyKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNlYTU4MGMiLCIjZmI5MjNjIil9OwogICAgICB9CgogICAgICAuYWN0aXZpdHktaWNvbi5kZWxldGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjA4KSIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMTIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1pY29uLmN1c3RvbSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMTAwLCAxMTYsIDEzOSwgMC4wOCkiLCJyZ2JhKDEwMCwgMTE2LCAxMzksIDAuMTIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzQ3NTU2OSIsIiM5NGEzYjgiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1jb250ZW50IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LXVzZXIgewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1hY3RpdmUpOwogICAgICB9CgogICAgICAuYWN0aXZpdHktc2VwYXJhdG9yIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgfQoKICAgICAgLnRpbWVzdGFtcCB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLW11dGVkKTsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LW1lc3NhZ2UgewogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZyk7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDsKICAgICAgfQoKICAgICAgLyogU2VhcmNoIGJveCAtIHJlZmluZWQgc3R5bGluZyAqLwogICAgICAuc2VhcmNoYm94IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWFjdGl2aXR5bG9nLWJnKTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYWN0aXZpdHlsb2ctYm9yZGVyKTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuc2VhcmNoLXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaWNvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDEwcHg7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1tdXRlZCk7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hib3ggaW5wdXQgewogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1hY3RpdmUpOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KSIpfTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHggMCAzNHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuc2VhcmNoYm94IGlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLW11dGVkKTsKICAgICAgfQoKICAgICAgLnNlYXJjaGJveCBpbnB1dDpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMTUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAyKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtd3JhcHBlcjpoYXMoaW5wdXQ6Zm9jdXMpIC5zZWFyY2gtaWNvbiB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnKTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IGI9dGhpcy5nZXRGaWx0ZXJlZEVudHJpZXMoKSxnPXRoaXMuZ3JvdXBFbnRyaWVzQnlEYXRlKGIpO3JldHVybiB3YAogICAgICAke3RyLnN0eWxlc30KICAgICAgPHN0eWxlPjwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRvcGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nIj5BY3Rpdml0eSBMb2c8L2Rpdj4KICAgICAgICAgICR7Yi5sZW5ndGg+MD93YDxkaXYgY2xhc3M9ImxpdmUtaW5kaWNhdG9yIj48c3BhbiBjbGFzcz0iZG90Ij48L3NwYW4+TGl2ZTwvZGl2PmA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYWN0aXZpdHlDb250YWluZXIiPgogICAgICAgICAgJHtiLmxlbmd0aD09PTA/d2A8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gYWN0aXZpdHkgZW50cmllczwvZGl2PmA6Zy5tYXAoeT0+d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGF0ZS1zZXBhcmF0b3IiPiR7eS5sYWJlbH08L2Rpdj4KICAgICAgICAgICAgICAgICAgJHt5LmVudHJpZXMubWFwKGs9PnRoaXMucmVuZGVyQWN0aXZpdHlFbnRyeShrKSl9CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2hib3giPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoLXdyYXBwZXIiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJzZWFyY2gtaWNvbiIgLmljb249JHsibHVjaWRlOnNlYXJjaCJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZWFyY2ggYWN0aXZpdGllcywgdXNlcnMuLi4iCiAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZWFyY2hRdWVyeX0KICAgICAgICAgICAgICBAaW5wdXQ9JHt0aGlzLmhhbmRsZVNlYXJjaElucHV0fQogICAgICAgICAgICAvPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJBY3Rpdml0eUVudHJ5KGIpe2xldCBnPWIudGltZXN0YW1wfHxuZXcgRGF0ZSx5PXRoaXMuZm9ybWF0VGltZShnKSxrPWIuaWNvbk5hbWV8fHRoaXMuZ2V0SWNvbkZvclR5cGUoYi50eXBlKTtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJhY3Rpdml0eWVudHJ5IgogICAgICAgIEBjb250ZXh0bWVudT0ke0M9PnRoaXMuaGFuZGxlQ29udGV4dE1lbnUoQyxiKX0KICAgICAgPgogICAgICAgIDxkaXYgY2xhc3M9ImFjdGl2aXR5LWljb24gJHtiLnR5cGV9Ij4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHtrfT48L2RlZXMtaWNvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpdml0eS1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGl2aXR5LWhlYWRlciI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhY3Rpdml0eS11c2VyIj4ke2IudXNlcn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhY3Rpdml0eS1zZXBhcmF0b3IiPsK3PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idGltZXN0YW1wIj4ke3l9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpdml0eS1tZXNzYWdlIj4ke2IubWVzc2FnZX08L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFkZChiKXtsZXQgZz17Li4uYixpZDpiLmlkfHx0aGlzLmdlbmVyYXRlSWQoKSx0aW1lc3RhbXA6Yi50aW1lc3RhbXB8fG5ldyBEYXRlfTt0aGlzLmVudHJpZXM9W2csLi4udGhpcy5lbnRyaWVzXSx0aGlzLmVudHJpZXMkLm5leHQodGhpcy5lbnRyaWVzKX1hZGRNYW55KGIpe2xldCBnPWIubWFwKHk9Pih7Li4ueSxpZDp5LmlkfHx0aGlzLmdlbmVyYXRlSWQoKSx0aW1lc3RhbXA6eS50aW1lc3RhbXB8fG5ldyBEYXRlfSkpO3RoaXMuZW50cmllcz1bLi4uZy5yZXZlcnNlKCksLi4udGhpcy5lbnRyaWVzXSx0aGlzLmVudHJpZXMkLm5leHQodGhpcy5lbnRyaWVzKX1jbGVhcigpe3RoaXMuZW50cmllcz1bXSx0aGlzLmVudHJpZXMkLm5leHQodGhpcy5lbnRyaWVzKX1nZXRFbnRyaWVzKCl7cmV0dXJuWy4uLnRoaXMuZW50cmllc119ZmlsdGVyKGIpe3JldHVybiB0aGlzLmVudHJpZXMuZmlsdGVyKGc9PiEoYi51c2VyJiZnLnVzZXIhPT1iLnVzZXJ8fGIudHlwZSYmZy50eXBlIT09Yi50eXBlKSl9c2VhcmNoKGIpe2xldCBnPWIudG9Mb3dlckNhc2UoKTtyZXR1cm4gdGhpcy5lbnRyaWVzLmZpbHRlcih5PT55Lm1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhnKXx8eS51c2VyLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZykpfWdlbmVyYXRlSWQoKXtyZXR1cm5gYWN0aXZpdHktJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLDkpfWB9Z2V0RmlsdGVyZWRFbnRyaWVzKCl7bGV0IGI9dGhpcy5lbnRyaWVzO2lmKHRoaXMuc2VhcmNoUXVlcnkpe2xldCBnPXRoaXMuc2VhcmNoUXVlcnkudG9Mb3dlckNhc2UoKTtiPWIuZmlsdGVyKHk9PnkubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGcpfHx5LnVzZXIudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhnKSl9cmV0dXJuKHRoaXMuZmlsdGVyQ3JpdGVyaWEudXNlcnx8dGhpcy5maWx0ZXJDcml0ZXJpYS50eXBlKSYmKGI9Yi5maWx0ZXIoZz0+ISh0aGlzLmZpbHRlckNyaXRlcmlhLnVzZXImJmcudXNlciE9PXRoaXMuZmlsdGVyQ3JpdGVyaWEudXNlcnx8dGhpcy5maWx0ZXJDcml0ZXJpYS50eXBlJiZnLnR5cGUhPT10aGlzLmZpbHRlckNyaXRlcmlhLnR5cGUpKSksYn1ncm91cEVudHJpZXNCeURhdGUoYil7bGV0IGc9bmV3IE1hcCx5PW5ldyBEYXRlLGs9bmV3IERhdGUoeSk7ay5zZXREYXRlKGsuZ2V0RGF0ZSgpLTEpO2ZvcihsZXQgQyBvZiBiKXtsZXQgTj1DLnRpbWVzdGFtcHx8bmV3IERhdGUsXzt0aGlzLmlzU2FtZURheShOLHkpP189IlRvZGF5Ijp0aGlzLmlzU2FtZURheShOLGspP189Illlc3RlcmRheSI6Xz1OLnRvTG9jYWxlRGF0ZVN0cmluZygiZW4tVVMiLHttb250aDoic2hvcnQiLGRheToibnVtZXJpYyIseWVhcjpOLmdldEZ1bGxZZWFyKCkhPT15LmdldEZ1bGxZZWFyKCk/Im51bWVyaWMiOnZvaWQgMH0pLGcuaGFzKF8pfHxnLnNldChfLFtdKSxnLmdldChfKS5wdXNoKEMpfXJldHVybiBBcnJheS5mcm9tKGcuZW50cmllcygpKS5tYXAoKFtDLE5dKT0+KHtsYWJlbDpDLGVudHJpZXM6Tn0pKX1pc1NhbWVEYXkoYixnKXtyZXR1cm4gYi5nZXRGdWxsWWVhcigpPT09Zy5nZXRGdWxsWWVhcigpJiZiLmdldE1vbnRoKCk9PT1nLmdldE1vbnRoKCkmJmIuZ2V0RGF0ZSgpPT09Zy5nZXREYXRlKCl9Zm9ybWF0VGltZShiKXtyZXR1cm4gYi50b0xvY2FsZVRpbWVTdHJpbmcoImVuLVVTIix7aG91cjoiMi1kaWdpdCIsbWludXRlOiIyLWRpZ2l0Iixob3VyMTI6ITF9KX1nZXRJY29uRm9yVHlwZShiKXtsZXQgZz17bG9naW46Imx1Y2lkZTpsb2dJbiIsbG9nb3V0OiJsdWNpZGU6bG9nT3V0Iix2aWV3OiJsdWNpZGU6ZXllIixjcmVhdGU6Imx1Y2lkZTpwbHVzIix1cGRhdGU6Imx1Y2lkZTplZGl0IixkZWxldGU6Imx1Y2lkZTp0cmFzaDIiLGN1c3RvbToibHVjaWRlOmFjdGl2aXR5In07cmV0dXJuIGdbYl18fGcuY3VzdG9tfWhhbmRsZVNlYXJjaElucHV0KGIpe2xldCBnPWIudGFyZ2V0O3RoaXMuc2VhcmNoUXVlcnk9Zy52YWx1ZX1oYW5kbGVDb250ZXh0TWVudShiLGcpe2IucHJldmVudERlZmF1bHQoKSx0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhiLFt7bmFtZToiQ29weSBhY3Rpdml0eSIsaWNvbk5hbWU6Imx1Y2lkZTpjb3B5IixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoYCR7Zy51c2VyfSAke2cubWVzc2FnZX1gKX0sImFjdGlvbiIpfSx7bmFtZToiRmlsdGVyIGJ5IHVzZXIiLGljb25OYW1lOiJsdWNpZGU6dXNlciIsYWN0aW9uOnMoYXN5bmMoKT0+e3RoaXMuZmlsdGVyQ3JpdGVyaWE9e3VzZXI6Zy51c2VyfX0sImFjdGlvbiIpfSx7bmFtZToiRmlsdGVyIGJ5IHR5cGUiLGljb25OYW1lOiJsdWNpZGU6ZmlsdGVyIixhY3Rpb246cyhhc3luYygpPT57dGhpcy5maWx0ZXJDcml0ZXJpYT17dHlwZTpnLnR5cGV9fSwiYWN0aW9uIil9LHtuYW1lOiJDbGVhciBmaWx0ZXJzIixpY29uTmFtZToibHVjaWRlOngiLGFjdGlvbjpzKGFzeW5jKCk9Pnt0aGlzLmZpbHRlckNyaXRlcmlhPXt9LHRoaXMuc2VhcmNoUXVlcnk9IiJ9LCJhY3Rpb24iKX1dKX1zdGF0aWN7d2Yocix0KX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIERyYT1mKCgpPT57YlllKCl9KTt2YXIgQXJhPWYoKCk9Pnt9KTt2YXIgUHJhPWYoKCk9PntXcygpfSk7dmFyIEVyYT1mKCgpPT57fSk7dmFyIElyYT1mKCgpPT57fSk7dmFyIE5yYT1mKCgpPT57fSk7dmFyIHI0PWYoKCk9PntBcmEoKTtQcmEoKTtFcmEoKTtJcmEoKTtOcmEoKX0pO3ZhciBScmEsT3JhPWYoKCk9PntsZSgpO05hKCk7dlllKCk7UnJhPXMoKCk9PntsZXQgYT1be25hbWU6IkZpbGUiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiTmV3IEZpbGUiLHNob3J0Y3V0OiJDbWQrTiIsaWNvbk5hbWU6ImZpbGUtcGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIk5ldyBmaWxlIiksImFjdGlvbiIpfSx7bmFtZToiT3Blbi4uLiIsc2hvcnRjdXQ6IkNtZCtPIixpY29uTmFtZToiZm9sZGVyLW9wZW4iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIiksImFjdGlvbiIpfSx7bmFtZToiT3BlbiBSZWNlbnQiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToicHJvamVjdC1hbHBoYS50cyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4gcmVjZW50IDEiKSwiYWN0aW9uIil9LHtuYW1lOiJjb25maWcuanNvbiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4gcmVjZW50IDIiKSwiYWN0aW9uIil9LHtuYW1lOiJyZWFkbWUubWQiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIHJlY2VudCAzIiksImFjdGlvbiIpfV19LHtkaXZpZGVyOiEwfSx7bmFtZToiU2F2ZSIsc2hvcnRjdXQ6IkNtZCtTIixpY29uTmFtZToic2F2ZSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNhdmUiKSwiYWN0aW9uIil9LHtuYW1lOiJTYXZlIEFzLi4uIixzaG9ydGN1dDoiQ21kK1NoaWZ0K1MiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTYXZlIGFzIiksImFjdGlvbiIpLGRpc2FibGVkOiEwfSx7ZGl2aWRlcjohMH0se25hbWU6IkV4aXQiLHNob3J0Y3V0OiJDbWQrUSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkV4aXQiKSwiYWN0aW9uIil9XX0se25hbWU6IkVkaXQiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiVW5kbyIsc2hvcnRjdXQ6IkNtZCtaIixpY29uTmFtZToidW5kbyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlVuZG8iKSwiYWN0aW9uIil9LHtuYW1lOiJSZWRvIixzaG9ydGN1dDoiQ21kK1NoaWZ0K1oiLGljb25OYW1lOiJyZWRvIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUmVkbyIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJDdXQiLHNob3J0Y3V0OiJDbWQrWCIsaWNvbk5hbWU6InNjaXNzb3JzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQ3V0IiksImFjdGlvbiIpfSx7bmFtZToiQ29weSIsc2hvcnRjdXQ6IkNtZCtDIixpY29uTmFtZToiY29weSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkNvcHkiKSwiYWN0aW9uIil9LHtuYW1lOiJQYXN0ZSIsc2hvcnRjdXQ6IkNtZCtWIixpY29uTmFtZToiY2xpcGJvYXJkIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUGFzdGUiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRmluZCIsc2hvcnRjdXQ6IkNtZCtGIixpY29uTmFtZToic2VhcmNoIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRmluZCIpLCJhY3Rpb24iKX0se25hbWU6IlJlcGxhY2UiLHNob3J0Y3V0OiJDbWQrSCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlJlcGxhY2UiKSwiYWN0aW9uIil9XX0se25hbWU6IlZpZXciLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiVG9nZ2xlIEZ1bGxzY3JlZW4iLHNob3J0Y3V0OiJGMTEiLGljb25OYW1lOiJleHBhbmQiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJGdWxsc2NyZWVuIiksImFjdGlvbiIpfSx7bmFtZToiWm9vbSBJbiIsc2hvcnRjdXQ6IkNtZCsrIixpY29uTmFtZToiem9vbS1pbiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlpvb20gaW4iKSwiYWN0aW9uIil9LHtuYW1lOiJab29tIE91dCIsc2hvcnRjdXQ6IkNtZCstIixpY29uTmFtZToiem9vbS1vdXQiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJab29tIG91dCIpLCJhY3Rpb24iKX0se25hbWU6IlJlc2V0IFpvb20iLHNob3J0Y3V0OiJDbWQrMCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlJlc2V0IHpvb20iKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiVG9nZ2xlIFNpZGViYXIiLHNob3J0Y3V0OiJDbWQrQiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlRvZ2dsZSBzaWRlYmFyIiksImFjdGlvbiIpfSx7bmFtZToiVG9nZ2xlIFRlcm1pbmFsIixzaG9ydGN1dDoiQ21kK0oiLGljb25OYW1lOiJ0ZXJtaW5hbCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlRvZ2dsZSB0ZXJtaW5hbCIpLCJhY3Rpb24iKX1dfSx7bmFtZToiSGVscCIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJEb2N1bWVudGF0aW9uIixpY29uTmFtZToiYm9vayIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkRvY3VtZW50YXRpb24iKSwiYWN0aW9uIil9LHtuYW1lOiJSZWxlYXNlIE5vdGVzIixpY29uTmFtZToiZmlsZS10ZXh0IixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUmVsZWFzZSBub3RlcyIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJSZXBvcnQgSXNzdWUiLGljb25OYW1lOiJidWciLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZXBvcnQgaXNzdWUiKSwiYWN0aW9uIil9LHtuYW1lOiJBYm91dCIsaWNvbk5hbWU6ImluZm8iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJBYm91dCIpLCJhY3Rpb24iKX1dfV07cmV0dXJuIHdgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBlPT57bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIjYXBwYmFyIikscj1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi5zdGF0dXMtdG9nZ2xlIGRlZXMtYnV0dG9uIik7clswXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0LnVzZXI9ey4uLnQudXNlcixzdGF0dXM6Im9ubGluZSJ9fSksclsxXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0LnVzZXI9ey4uLnQudXNlcixzdGF0dXM6ImJ1c3kifX0pLHJbMl0uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dC51c2VyPXsuLi50LnVzZXIsc3RhdHVzOiJhd2F5In19KSxyWzNdLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3QudXNlcj17Li4udC51c2VyLHN0YXR1czoib2ZmbGluZSJ9fSksZS5xdWVyeVNlbGVjdG9yKCIud2luZG93LWNvbnRyb2xzLXRvZ2dsZSBkZWVzLWJ1dHRvbiIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3Quc2hvd1dpbmRvd0NvbnRyb2xzPSF0LnNob3dXaW5kb3dDb250cm9sc30pO2xldCBvPWUucXVlcnlTZWxlY3RvckFsbCgiLmJyZWFkY3J1bWItdG9nZ2xlIGRlZXMtYnV0dG9uIik7b1swXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0LmJyZWFkY3J1bWJzPSJIb21lID4gRG9jdW1lbnRzID4gUHJvamVjdHMgPiBNeUFwcCA+IHNyYyA+IGluZGV4LnRzIn0pLG9bMV0uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dC5icmVhZGNydW1icz0iRGFzaGJvYXJkIn0pfX0+CiAgICAgIDxzdHlsZT4KICAgICAgICAke1hgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGhlaWdodDogNjAwcHg7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICMxYTFhMWE7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNvbnRlbnQgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICBjb2xvcjogI2NjYzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNvbnRyb2xzIHsKICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udHJvbC1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udHJvbC1ncm91cCBsYWJlbCB7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogIzg4ODsKICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLWFwcHVpLWFwcGJhcgogICAgICAgIGlkPSJhcHBiYXIiCiAgICAgICAgLm1lbnVJdGVtcz0ke2F9CiAgICAgICAgLmJyZWFkY3J1bWJzPSR7IlByb2plY3QgPiBzcmMgPiBjb21wb25lbnRzID4gQXBwQmFyLnRzIn0KICAgICAgICAuYnJlYWRjcnVtYlNlcGFyYXRvcj0keyIgPiAifQogICAgICAgIC5zaG93V2luZG93Q29udHJvbHM9JHshMH0KICAgICAgICAuc2hvd1NlYXJjaD0keyEwfQogICAgICAgIC50aGVtZT0keyJkYXJrIn0KICAgICAgICAudXNlcj0ke3tuYW1lOiJKb2huIERvZSIsc3RhdHVzOiJvbmxpbmUifX0KICAgICAgICBAbWVudS1zZWxlY3Q9JHtlPT5jb25zb2xlLmxvZygiTWVudSBzZWxlY3RlZDoiLGUuZGV0YWlsLml0ZW0pfQogICAgICAgIEBicmVhZGNydW1iLW5hdmlnYXRlPSR7ZT0+Y29uc29sZS5sb2coIkJyZWFkY3J1bWIgY2xpY2tlZDoiLGUuZGV0YWlsKX0KICAgICAgICBAc2VhcmNoLWNsaWNrPSR7KCk9PmNvbnNvbGUubG9nKCJTZWFyY2ggY2xpY2tlZCIpfQogICAgICAgIEB1c2VyLW1lbnUtb3Blbj0keygpPT5jb25zb2xlLmxvZygiVXNlciBtZW51IGNsaWNrZWQiKX0KICAgICAgPjwvZGVlcy1hcHB1aS1hcHBiYXI+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICA8aDI+QXBwIEJhciBEZW1vPC9oMj4KICAgICAgICA8cD5UaGlzIGRlbW8gc2hvd3MgdmFyaW91cyBmZWF0dXJlcyBvZiB0aGUgYXBwIGJhciBjb21wb25lbnQ6PC9wPgogICAgICAgIDx1bD4KICAgICAgICAgIDxsaT5EeW5hbWljIG1lbnUgaXRlbXMgd2l0aCBpY29ucywgc2hvcnRjdXRzLCBhbmQgc3VibWVudXM8L2xpPgogICAgICAgICAgPGxpPkJyZWFkY3J1bWIgbmF2aWdhdGlvbjwvbGk+CiAgICAgICAgICA8bGk+VXNlciBhY2NvdW50IHNlY3Rpb24gd2l0aCBzdGF0dXMgaW5kaWNhdG9yPC9saT4KICAgICAgICAgIDxsaT5TZWFyY2ggaWNvbjwvbGk+CiAgICAgICAgICA8bGk+V2luZG93IGNvbnRyb2xzIChwbGF0Zm9ybS1zcGVjaWZpYyk8L2xpPgogICAgICAgICAgPGxpPkRhcmsvbGlnaHQgdGhlbWUgc3VwcG9ydDwvbGk+CiAgICAgICAgICA8bGk+S2V5Ym9hcmQgbmF2aWdhdGlvbiAoVGFiLCBFbnRlciwgRXNjYXBlKTwvbGk+CiAgICAgICAgICA8bGk+Q3VzdG9tIGV2ZW50cyBmb3IgYWxsIGludGVyYWN0aW9uczwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ncm91cCI+CiAgICAgICAgICA8bGFiZWw+VGhlbWU8L2xhYmVsPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGNsYXNzPSJ0aGVtZS10b2dnbGUiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+RGFyazwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5MaWdodDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtZ3JvdXAiPgogICAgICAgICAgPGxhYmVsPlVzZXIgU3RhdHVzPC9sYWJlbD4KICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBjbGFzcz0ic3RhdHVzLXRvZ2dsZSI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5PbmxpbmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+QnVzeTwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5Bd2F5PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPk9mZmxpbmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWdyb3VwIj4KICAgICAgICAgIDxsYWJlbD5XaW5kb3cgQ29udHJvbHM8L2xhYmVsPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGNsYXNzPSJ3aW5kb3ctY29udHJvbHMtdG9nZ2xlIj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlRvZ2dsZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtZ3JvdXAiPgogICAgICAgICAgPGxhYmVsPkJyZWFkY3J1bWJzPC9sYWJlbD4KICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBjbGFzcz0iYnJlYWRjcnVtYi10b2dnbGUiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+TG9uZyBQYXRoPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlNob3J0IFBhdGg8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfSwiZGVtb0Z1bmMiKX0pO3ZhciBGcmEsQnJhPWYoKCk9PntsZSgpO0ZyYT1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICAvKiBDU1MgVmFyaWFibGVzIGZvciB0aGVtaW5nICovCiAgICAgICAgLS1hcHBiYXItaGVpZ2h0OiA0MHB4OwogICAgICAgIC0tYXBwYmFyLWZvbnQtc2l6ZTogMTJweDsKICAgICAgICAKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1hcHBiYXItaGVpZ2h0KTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDA4MCIsIiNmZmZmZmY4MCIpfTsKICAgICAgICBmb250LXNpemU6IHZhcigtLWFwcGJhci1mb250LXNpemUpOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmciBhdXRvOwogICAgICAgIC13ZWJraXQtYXBwLXJlZ2lvbjogZHJhZzsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLm1lbnVzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAubWVudUl0ZW0gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgICBwYWRkaW5nOiAwcHggMTJweDsKICAgICAgICBtYXJnaW46IDhweCAwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIC13ZWJraXQtYXBwLXJlZ2lvbjogbm8tZHJhZzsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLyogT3B0aW9uYWw6IFN0eWxlIGZvciBtZW51IGl0ZW1zIHdpdGggaWNvbnMgKG5vdCB0eXBpY2FsbHkgdXNlZCBmb3IgdG9wLWxldmVsIGl0ZW1zKSAqLwogICAgICAubWVudUl0ZW0gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICB9CgogICAgICAubWVudUl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMDAwMDAwMTAiLCIjZmZmZmZmMjAiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDAwMDAwIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMwMDAwMDAyMCIsIiNmZmZmZmYzMCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW1bZGlzYWJsZWRdIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtOmZvY3VzLXZpc2libGUgewogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2guYmRUaGVtZSgiIzAwMDAwMDgwIiwiI2ZmZmZmZjgwIil9OwogICAgICB9CgoKICAgICAgLyogRHJvcGRvd24gc3R5bGVzICovCiAgICAgIC5kcm9wZG93biB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYm94LXNoYWRvdzogJHtoLmJkVGhlbWUoIjAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KSIsIjAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpIil9OwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMsIHRyYW5zZm9ybSAwLjJzOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuZHJvcGRvd24ub3BlbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi1pdGVtIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xczsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLWl0ZW06aG92ZXIsCiAgICAgIC5kcm9wZG93bi1pdGVtLmZvY3VzZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMDAwMDAwMTAiLCIjZmZmZmZmMjAiKX07CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi1kaXZpZGVyIHsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBtYXJnaW46IDRweCAwOwogICAgICB9CgogICAgICAuZHJvcGRvd24taXRlbVtkaXNhYmxlZF0gewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuZHJvcGRvd24taXRlbSAuc2hvcnRjdXQgewogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIH0KCiAgICAgIC8qIEJyZWFkY3J1bWJzICovCiAgICAgIC5icmVhZGNydW1icyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYi1pdGVtIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDA4MCIsIiNmZmZmZmY4MCIpfTsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4yczsKICAgICAgfQoKICAgICAgLmJyZWFkY3J1bWItaXRlbTpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDAwMDAwIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLmJyZWFkY3J1bWItc2VwYXJhdG9yIHsKICAgICAgICBtYXJnaW46IDAgOHB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLyogQWNjb3VudCBzZWN0aW9uICovCiAgICAgIC5hY2NvdW50IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuc2VhcmNoLWljb24gewogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOwogICAgICB9CgogICAgICAuc2VhcmNoLWljb246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC51c2VyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzOwogICAgICB9CgogICAgICAudXNlci1pbmZvOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzAwMDAwMDEwIiwiI2ZmZmZmZjIwIil9OwogICAgICB9CgogICAgICAudXNlci1hdmF0YXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMDAwMDAwMjAiLCIjZmZmZmZmMzAiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQoKICAgICAgLnVzZXItYXZhdGFyIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAtMnB4OwogICAgICAgIHJpZ2h0OiAtMnB4OwogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cy5vbmxpbmUgewogICAgICAgIGJhY2tncm91bmQ6ICM0Y2FmNTA7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cy5vZmZsaW5lIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjNzU3NTc1OwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMuYnVzeSB7CiAgICAgICAgYmFja2dyb3VuZDogI2Y0NDMzNjsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLmF3YXkgewogICAgICAgIGJhY2tncm91bmQ6ICNmZjk4MDA7CiAgICAgIH0KCiAgICAgIC8qIEFjdGl2aXR5IGxvZyB0b2dnbGUgYnV0dG9uICovCiAgICAgIC5hY3Rpdml0eS10b2dnbGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICAtd2Via2l0LWFwcC1yZWdpb246IG5vLWRyYWc7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDAwMDAwNjAiLCIjZmZmZmZmNjAiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LXRvZ2dsZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMwMDAwMDAxMCIsIiNmZmZmZmYxNSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS10b2dnbGUuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzAwMDAwMDE1IiwiI2ZmZmZmZjIwIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LXRvZ2dsZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWJhZGdlIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsKICAgICAgICBtaW4td2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDAgNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjNTI1MjUyIiwiIzUyNTI1MiIpfTsKICAgICAgICBjb2xvcjogI2ZhZmFmYTsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICB9CiAgICBgXX0pO3ZhciBIcmEscXJhPWYoKCk9PntsZSgpO0hyYT1zKGE9PndgCiAgICAgICAgPGRpdiBjbGFzcz0ibWVudXMiPgogICAgICAgICAgJHthLnNob3dXaW5kb3dDb250cm9scz93YDxkZWVzLXdpbmRvd2NvbnRyb2xzPjwvZGVlcy13aW5kb3djb250cm9scz5gOiIifQogICAgICAgICAgJHthLnJlbmRlck1lbnVJdGVtcygpfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJyZWFkY3J1bWJzIj4KICAgICAgICAgICR7YS5yZW5kZXJCcmVhZGNydW1icygpfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImFjY291bnQiPgogICAgICAgICAgJHthLnJlbmRlckFjY291bnRTZWN0aW9uKCl9CiAgICAgICAgPC9kaXY+CiAgICAgIGAsInJlbmRlckFwcHVpQXBwYmFyIil9KTt2YXIgeFllLF9VLFZyYSx5WWU9ZigoKT0+e2xlKCk7UWUoKTt4WWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LF9VPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxWcmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXdpbmRvd2NvbnRyb2xzIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXaW5kb3dDb250cm9scyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3JlZmxlY3Q6ITB9KV0sZD1bJCh7cmVmbGVjdDohMH0pXSx4WWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0eXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJ0eXBlImluIHYsImhhcyIpLGdldDpzKHY9PnYudHlwZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnR5cGU9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLHhZZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJwb3NpdGlvbiJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnBvc2l0aW9uLCJnZXQiKSxzZXQ6cygodix4KT0+e3YucG9zaXRpb249eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLHhZZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgPGRlZXMtd2luZG93Y29udHJvbHM+PC9kZWVzLXdpbmRvd2NvbnRyb2xzPmAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlV0aWxpdHkiXTsjZT1fVSh0aGlzLG4sIm1hYyIpO2dldCB0eXBlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHR5cGUobSl7dGhpcy4jZT1tfSN0PShfVSh0aGlzLGwpLF9VKHRoaXMsYywibGVmdCIpKTtnZXQgcG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgcG9zaXRpb24obSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7CiAgICAgIH0KCiAgICAgIC53aW5kb3dDb250cm9scyB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC53aW5kb3dDb250cm9scyBkaXYgewogICAgICAgIHdpZHRoOiAxMnB4OwogICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIG1hcmdpbjogMHB4OwogICAgICAgIHBhZGRpbmc6IDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAjMjIyMjIyOwogICAgICB9CgogICAgICAud2luZG93Q29udHJvbHMgZGl2LmNsb3NlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZmY1ZjU3OwogICAgICAgIG1hcmdpbi1yaWdodDogMTJweDsKICAgICAgfQoKICAgICAgLndpbmRvd0NvbnRyb2xzIGRpdi50b0RvY2sgewogICAgICAgIGJhY2tncm91bmQ6ICNmZmJkMmU7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OwogICAgICB9CgogICAgICAud2luZG93Q29udHJvbHMgZGl2Lm1pbk1heCB7CiAgICAgICAgYmFja2dyb3VuZDogIzI3YzkzZjsKICAgICAgfQoKICAgICAgLndpbmRvd0NvbnRyb2xzIGRpdjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogIzMzMzMzMzsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy50eXBlPT09Im1hYyImJnRoaXMucG9zaXRpb249PT0ibGVmdCJ8fCh0aGlzLnR5cGU9PT0ibGludXgifHx0aGlzLnR5cGU9PT0id2luZG93cyIpJiZ0aGlzLnBvc2l0aW9uPT09InJpZ2h0Ij93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aW5kb3dDb250cm9scyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xvc2UiPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvRG9jayI+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWluTWF4Ij48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOndgYH0KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLF9VKHRoaXMscCl9c3RhdGlje19VKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBUVSxsYyxqcmEsd1llPWYoKCk9PntXcygpO0dpKCk7bGUoKTtRZSgpO1RVPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxsYz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sanJhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1hcHB1aS1wcm9maWxlZHJvcGRvd24iKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpUHJvZmlsZURyb3Bkb3duIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7dHlwZTpBcnJheX0pXSx1PVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx4PVskKHt0eXBlOlN0cmluZ30pXSxUVSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InVzZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InVzZXIiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy51c2VyLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MudXNlcj1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG4sbCksVFUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+Im1lbnVJdGVtcyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLm1lbnVJdGVtcywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLm1lbnVJdGVtcz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGMscCksVFUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc09wZW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImlzT3BlbiJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmlzT3BlbiwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmlzT3Blbj1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG0sdiksVFUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwb3NpdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4icG9zaXRpb24iaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5wb3NpdGlvbiwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnBvc2l0aW9uPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSxUVShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGVlcy1hcHB1aS1wcm9maWxlZHJvcGRvd24KICAgICAgLnVzZXI9JHt7bmFtZToiSm9obiBEb2UiLGVtYWlsOiJqb2huLmRvZUBleGFtcGxlLmNvbSIsYXZhdGFyOiJodHRwczovL3JhbmRvbXVzZXIubWUvYXBpL3BvcnRyYWl0cy9tZW4vMS5qcGciLHN0YXR1czoib25saW5lIn19CiAgICAgIC5tZW51SXRlbXM9JHtbe25hbWU6IlByb2ZpbGUgU2V0dGluZ3MiLGljb25OYW1lOiJ1c2VyIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUHJvZmlsZSIpLCJhY3Rpb24iKX0se25hbWU6IkFjY291bnQiLGljb25OYW1lOiJzZXR0aW5ncyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkFjY291bnQiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiSGVscCAmIFN1cHBvcnQiLGljb25OYW1lOiJoZWxwQ2lyY2xlIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiSGVscCIpLCJhY3Rpb24iKX0se25hbWU6IktleWJvYXJkIFNob3J0Y3V0cyIsaWNvbk5hbWU6ImtleWJvYXJkIixzaG9ydGN1dDoiQ21kK0siLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTaG9ydGN1dHMiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiU2lnbiBPdXQiLGljb25OYW1lOiJsb2dPdXQiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTaWduIG91dCIpLCJhY3Rpb24iKX1dfQogICAgICAuaXNPcGVuPSR7ITB9CiAgICA+PC9kZWVzLWFwcHVpLXByb2ZpbGVkcm9wZG93bj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJBcHAgVUkiXTsjZT1sYyh0aGlzLG4sdm9pZCAwKTtnZXQgdXNlcigpe3JldHVybiB0aGlzLiNlfXNldCB1c2VyKGspe3RoaXMuI2U9a30jdD0obGModGhpcyxsKSxsYyh0aGlzLGMsW10pKTtnZXQgbWVudUl0ZW1zKCl7cmV0dXJuIHRoaXMuI3R9c2V0IG1lbnVJdGVtcyhrKXt0aGlzLiN0PWt9I2E9KGxjKHRoaXMscCksbGModGhpcyxtLCExKSk7Z2V0IGlzT3Blbigpe3JldHVybiB0aGlzLiNhfXNldCBpc09wZW4oayl7dGhpcy4jYT1rfSNyPShsYyh0aGlzLHYpLGxjKHRoaXMsYiwidG9wLXJpZ2h0IikpO2dldCBwb3NpdGlvbigpe3JldHVybiB0aGlzLiNyfXNldCBwb3NpdGlvbihrKXt0aGlzLiNyPWt9c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93biB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIG1pbi13aWR0aDogMjIwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTBlMGUwIiwiIzIwMjAyMCIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYm94LXNoYWRvdzogJHtoLmJkVGhlbWUoIjAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KSIsIjAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpIil9OwogICAgICAgIHotaW5kZXg6ICR7UHMub3ZlcmxheS5kcm9wZG93bn07CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpIHRyYW5zbGF0ZVkoLTEwcHgpOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgdHJhbnNmb3JtIDAuMnM7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtpc29wZW5dKSAuZHJvcGRvd24gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CiAgICAgIAogICAgICAuYmFja2Ryb3AgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIFBvc2l0aW9uIHZhcmlhbnRzICovCiAgICAgIC5kcm9wZG93bi50b3AtcmlnaHQgewogICAgICAgIHRvcDogMTAwJTsKICAgICAgICByaWdodDogMDsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi50b3AtbGVmdCB7CiAgICAgICAgdG9wOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICB9CgogICAgICAuZHJvcGRvd24uYm90dG9tLXJpZ2h0IHsKICAgICAgICBib3R0b206IDEwMCU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAuZHJvcGRvd24uYm90dG9tLWxlZnQgewogICAgICAgIGJvdHRvbTogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLyogVXNlciBzZWN0aW9uICovCiAgICAgIC51c2VyLXNlY3Rpb24gewogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTBlMGUwIiwiIzIwMjAyMCIpfTsKICAgICAgfQoKICAgICAgLnVzZXItaW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgfQoKICAgICAgLnVzZXItYXZhdGFyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDM2cHg7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2YwZjBmMCIsIiMxYTFhMWEiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzY2NiIsIiM5OTkiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnVzZXItYXZhdGFyIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgaGVpZ2h0OiAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwMDAwMDAiKX07CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cy5vbmxpbmUgewogICAgICAgIGJhY2tncm91bmQ6ICM0Y2FmNTA7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cy5vZmZsaW5lIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjNzU3NTc1OwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMuYnVzeSB7CiAgICAgICAgYmFja2dyb3VuZDogI2Y0NDMzNjsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLmF3YXkgewogICAgICAgIGJhY2tncm91bmQ6ICNmZjk4MDA7CiAgICAgIH0KCiAgICAgIC51c2VyLWRldGFpbHMgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAudXNlci1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAiLCIjZmZmIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnVzZXItZW1haWwgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2NjYiLCIjOTk5Iil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC8qIE1lbnUgc2VjdGlvbiAqLwogICAgICAubWVudS1zZWN0aW9uIHsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgfQoKICAgICAgLm1lbnUtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXM7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzIiwiI2NjYyIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tZW51LWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDQpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSIpfTsKICAgICAgfQoKICAgICAgLm1lbnUtaXRlbTphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDgpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSIpfTsKICAgICAgfQoKICAgICAgLm1lbnUtaXRlbSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC5tZW51LWl0ZW0tdGV4dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLm1lbnUtc2hvcnRjdXQgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5OTkiLCIjNjY2Iil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKICAgICAgLm1lbnUtZGl2aWRlciB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KCiAgICAgIC8qIEJhY2tkcm9wIGZvciBtb2JpbGUgKi8KICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgLmJhY2tkcm9wIHsKICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgIHRvcDogMDsKICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICByaWdodDogMDsKICAgICAgICAgIGJvdHRvbTogMDsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTsKICAgICAgICAgIHotaW5kZXg6ICR7UHMuYmFja2Ryb3AuZHJvcGRvd259OwogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yczsKICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICA6aG9zdChbaXNvcGVuXSkgLmJhY2tkcm9wIHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICAgIH0KCiAgICAgICAgLmRyb3Bkb3duIHsKICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgIHRvcDogNTAlOwogICAgICAgICAgbGVmdDogNTAlOwogICAgICAgICAgcmlnaHQ6IGF1dG87CiAgICAgICAgICBib3R0b206IGF1dG87CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwLjk1KTsKICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDMycHgpOwogICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMycHgpOwogICAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgICAgfQoKICAgICAgICA6aG9zdChbaXNvcGVuXSkgLmRyb3Bkb3duIHsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpOwogICAgICAgIH0KICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImJhY2tkcm9wIiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZSgpfT48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZHJvcGRvd24gJHt0aGlzLnBvc2l0aW9ufSI+CiAgICAgICAgJHt0aGlzLnVzZXI/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItaW5mbyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1hdmF0YXIiPgogICAgICAgICAgICAgICAgJHt0aGlzLnVzZXIuYXZhdGFyP3dgPGltZyBzcmM9IiR7dGhpcy51c2VyLmF2YXRhcn0iIGFsdD0iJHt0aGlzLnVzZXIubmFtZX0iPmA6dGhpcy5nZXRJbml0aWFscyh0aGlzLnVzZXIubmFtZSl9CiAgICAgICAgICAgICAgICAke3RoaXMudXNlci5zdGF0dXM/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1zdGF0dXMgJHt0aGlzLnVzZXIuc3RhdHVzfSI+PC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItZGV0YWlscyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLW5hbWUiPiR7dGhpcy51c2VyLm5hbWV9PC9kaXY+CiAgICAgICAgICAgICAgICAke3RoaXMudXNlci5lbWFpbD93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLWVtYWlsIj4ke3RoaXMudXNlci5lbWFpbH08L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LXNlY3Rpb24iPgogICAgICAgICAgJHt0aGlzLm1lbnVJdGVtcy5tYXAoaz0+dGhpcy5yZW5kZXJNZW51SXRlbShrKSl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJNZW51SXRlbShrKXtpZigiZGl2aWRlciJpbiBrJiZrLmRpdmlkZXIpcmV0dXJuIHdgPGRpdiBjbGFzcz0ibWVudS1kaXZpZGVyIj48L2Rpdj5gO2xldCBDPWs7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im1lbnUtaXRlbSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlTWVudUNsaWNrKEMpfT4KICAgICAgICAke0MuaWNvbk5hbWU/d2AKICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7YGx1Y2lkZToke0MuaWNvbk5hbWV9YH0iPjwvZGVlcy1pY29uPgogICAgICAgIGA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9Im1lbnUtaXRlbS10ZXh0Ij4ke0MubmFtZX08L3NwYW4+CiAgICAgICAgJHtDLnNob3J0Y3V0P3dgCiAgICAgICAgICA8c3BhbiBjbGFzcz0ibWVudS1zaG9ydGN1dCI+JHtDLnNob3J0Y3V0fTwvc3Bhbj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9Z2V0SW5pdGlhbHMoayl7cmV0dXJuIGsuc3BsaXQoIiAiKS5tYXAoQz0+Q1swXSkuam9pbigiIikudG9VcHBlckNhc2UoKS5zbGljZSgwLDIpfWFzeW5jIGhhbmRsZU1lbnVDbGljayhrKXthd2FpdCBrLmFjdGlvbigpLHRoaXMuY2xvc2UoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJtZW51LXNlbGVjdCIse2RldGFpbDp7aXRlbTprfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfW9wZW4oKXt0aGlzLmlzT3Blbj0hMH1jbG9zZSgpe3RoaXMuaXNPcGVuPSExfXRvZ2dsZSgpe3RoaXMuaXNPcGVuPSF0aGlzLmlzT3Blbn1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5oYW5kbGVPdXRzaWRlQ2xpY2s9dGhpcy5oYW5kbGVPdXRzaWRlQ2xpY2suYmluZCh0aGlzKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5oYW5kbGVPdXRzaWRlQ2xpY2spfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5oYW5kbGVPdXRzaWRlQ2xpY2spfWhhbmRsZU91dHNpZGVDbGljayhrKXtpZih0aGlzLmlzT3BlbiYmIXRoaXMuY29udGFpbnMoay50YXJnZXQpKXtsZXQgQz10aGlzLnBhcmVudEVsZW1lbnQ7aWYoQyYmQy5jb250YWlucyhrLnRhcmdldCkpcmV0dXJuO3RoaXMuY2xvc2UoKX19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGxjKHRoaXMsZyl9c3RhdGlje2xjKHIsdCl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciBBaSxSYSxVcmEsdlllPWYoKCk9PntsZSgpO2VhKCk7cjQoKTtXcygpO09yYSgpO0JyYSgpO3FyYSgpO3ZhKCk7eVllKCk7d1llKCk7QWk9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFJhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxVcmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWFwcHVpLWFwcGJhciIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxQPVtdLEIsTT1bXSxTPVtdLEUsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W10sY2UsdWU9W10sWT1bXSxRLEo9W10sWj1bXSxnZSxhZT1bXSxyZT1bXTt2YXIgeWU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNBcHB1aUJhciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBWPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9WyQoe3R5cGU6T2JqZWN0fSldLE49WyQoe3R5cGU6QXJyYXl9KV0sTz1bJCh7dHlwZTpCb29sZWFufSldLEI9WyQoe3R5cGU6Qm9vbGVhbn0pXSxFPVskKHt0eXBlOk51bWJlcn0pXSxXPVskKHt0eXBlOkJvb2xlYW59KV0saGU9W0soKV0sbWU9W0soKV0sY2U9W0soKV0sUT1bSygpXSxnZT1bSygpXSxBaSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbnVJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4ibWVudUl0ZW1zImluIEgsImhhcyIpLGdldDpzKEg9PkgubWVudUl0ZW1zLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILm1lbnVJdGVtcz1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxuLGwpLEFpKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYnJlYWRjcnVtYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImJyZWFkY3J1bWJzImluIEgsImhhcyIpLGdldDpzKEg9PkguYnJlYWRjcnVtYnMsImdldCIpLHNldDpzKChILG9lKT0+e0guYnJlYWRjcnVtYnM9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sYyxwKSxBaSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJyZWFkY3J1bWJTZXBhcmF0b3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImJyZWFkY3J1bWJTZXBhcmF0b3IiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5icmVhZGNydW1iU2VwYXJhdG9yLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmJyZWFkY3J1bWJTZXBhcmF0b3I9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sbSx2KSxBaSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dXaW5kb3dDb250cm9scyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4ic2hvd1dpbmRvd0NvbnRyb2xzImluIEgsImhhcyIpLGdldDpzKEg9Pkguc2hvd1dpbmRvd0NvbnRyb2xzLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILnNob3dXaW5kb3dDb250cm9scz1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxiLGcpLEFpKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidXNlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4idXNlciJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILnVzZXIsImdldCIpLHNldDpzKChILG9lKT0+e0gudXNlcj1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxrLEMpLEFpKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJvZmlsZU1lbnVJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4icHJvZmlsZU1lbnVJdGVtcyJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILnByb2ZpbGVNZW51SXRlbXMsImdldCIpLHNldDpzKChILG9lKT0+e0gucHJvZmlsZU1lbnVJdGVtcz1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxfLHopLEFpKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1NlYXJjaCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4ic2hvd1NlYXJjaCJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILnNob3dTZWFyY2gsImdldCIpLHNldDpzKChILG9lKT0+e0guc2hvd1NlYXJjaD1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxULFApLEFpKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0FjdGl2aXR5TG9nVG9nZ2xlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJzaG93QWN0aXZpdHlMb2dUb2dnbGUiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5zaG93QWN0aXZpdHlMb2dUb2dnbGUsImdldCIpLHNldDpzKChILG9lKT0+e0guc2hvd0FjdGl2aXR5TG9nVG9nZ2xlPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LE0sUyksQWkodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpdml0eUxvZ0NvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJhY3Rpdml0eUxvZ0NvdW50ImluIEgsImhhcyIpLGdldDpzKEg9PkguYWN0aXZpdHlMb2dDb3VudCwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5hY3Rpdml0eUxvZ0NvdW50PW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LEEsRiksQWkodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpdml0eUxvZ0FjdGl2ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iYWN0aXZpdHlMb2dBY3RpdmUiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5hY3Rpdml0eUxvZ0FjdGl2ZSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5hY3Rpdml0eUxvZ0FjdGl2ZT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxqLEcpLEFpKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZU1lbnUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImFjdGl2ZU1lbnUiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5hY3RpdmVNZW51LCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmFjdGl2ZU1lbnU9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sUixVKSxBaSh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcGVuRHJvcGRvd25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJvcGVuRHJvcGRvd25zImluIEgsImhhcyIpLGdldDpzKEg9Pkgub3BlbkRyb3Bkb3ducywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5vcGVuRHJvcGRvd25zPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LEkscSksQWkodGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZm9jdXNlZEl0ZW0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImZvY3VzZWRJdGVtImluIEgsImhhcyIpLGdldDpzKEg9PkguZm9jdXNlZEl0ZW0sImdldCIpLHNldDpzKChILG9lKT0+e0guZm9jdXNlZEl0ZW09b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sdWUsWSksQWkodGhpcyxudWxsLFEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmb2N1c2VkRHJvcGRvd25JdGVtIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJmb2N1c2VkRHJvcGRvd25JdGVtImluIEgsImhhcyIpLGdldDpzKEg9PkguZm9jdXNlZERyb3Bkb3duSXRlbSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5mb2N1c2VkRHJvcGRvd25JdGVtPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LEosWiksQWkodGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNQcm9maWxlRHJvcGRvd25PcGVuIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJpc1Byb2ZpbGVEcm9wZG93bk9wZW4iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5pc1Byb2ZpbGVEcm9wZG93bk9wZW4sImdldCIpLHNldDpzKChILG9lKT0+e0guaXNQcm9maWxlRHJvcGRvd25PcGVuPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGFlLHJlKSxBaShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpWfSxudWxsLHQpLHllPXI9ZS52YWx1ZSxWJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlZ9KX1zdGF0aWMgZGVtbz1ScmE7c3RhdGljIGRlbW9Hcm91cHM9WyJBcHAgVUkiXTsjZT1SYSh0aGlzLG4sW10pO2dldCBtZW51SXRlbXMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbWVudUl0ZW1zKFYpe3RoaXMuI2U9Vn0jdD0oUmEodGhpcyxsKSxSYSh0aGlzLGMsIiIpKTtnZXQgYnJlYWRjcnVtYnMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYnJlYWRjcnVtYnMoVil7dGhpcy4jdD1WfSNhPShSYSh0aGlzLHApLFJhKHRoaXMsbSwiID4gIikpO2dldCBicmVhZGNydW1iU2VwYXJhdG9yKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGJyZWFkY3J1bWJTZXBhcmF0b3IoVil7dGhpcy4jYT1WfSNyPShSYSh0aGlzLHYpLFJhKHRoaXMsYiwhMCkpO2dldCBzaG93V2luZG93Q29udHJvbHMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2hvd1dpbmRvd0NvbnRyb2xzKFYpe3RoaXMuI3I9Vn0jcz0oUmEodGhpcyxnKSxSYSh0aGlzLGssdm9pZCAwKSk7Z2V0IHVzZXIoKXtyZXR1cm4gdGhpcy4jc31zZXQgdXNlcihWKXt0aGlzLiNzPVZ9I2k9KFJhKHRoaXMsQyksUmEodGhpcyxfLFtdKSk7Z2V0IHByb2ZpbGVNZW51SXRlbXMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgcHJvZmlsZU1lbnVJdGVtcyhWKXt0aGlzLiNpPVZ9I289KFJhKHRoaXMseiksUmEodGhpcyxULCExKSk7Z2V0IHNob3dTZWFyY2goKXtyZXR1cm4gdGhpcy4jb31zZXQgc2hvd1NlYXJjaChWKXt0aGlzLiNvPVZ9I249KFJhKHRoaXMsUCksUmEodGhpcyxNLCExKSk7Z2V0IHNob3dBY3Rpdml0eUxvZ1RvZ2dsZSgpe3JldHVybiB0aGlzLiNufXNldCBzaG93QWN0aXZpdHlMb2dUb2dnbGUoVil7dGhpcy4jbj1WfSNsPShSYSh0aGlzLFMpLFJhKHRoaXMsQSwwKSk7Z2V0IGFjdGl2aXR5TG9nQ291bnQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgYWN0aXZpdHlMb2dDb3VudChWKXt0aGlzLiNsPVZ9I2M9KFJhKHRoaXMsRiksUmEodGhpcyxqLCExKSk7Z2V0IGFjdGl2aXR5TG9nQWN0aXZlKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGFjdGl2aXR5TG9nQWN0aXZlKFYpe3RoaXMuI2M9Vn0jZD0oUmEodGhpcyxHKSxSYSh0aGlzLFIsbnVsbCkpO2dldCBhY3RpdmVNZW51KCl7cmV0dXJuIHRoaXMuI2R9c2V0IGFjdGl2ZU1lbnUoVil7dGhpcy4jZD1WfSN1PShSYSh0aGlzLFUpLFJhKHRoaXMsSSxuZXcgU2V0KSk7Z2V0IG9wZW5Ecm9wZG93bnMoKXtyZXR1cm4gdGhpcy4jdX1zZXQgb3BlbkRyb3Bkb3ducyhWKXt0aGlzLiN1PVZ9I3A9KFJhKHRoaXMscSksUmEodGhpcyx1ZSxudWxsKSk7Z2V0IGZvY3VzZWRJdGVtKCl7cmV0dXJuIHRoaXMuI3B9c2V0IGZvY3VzZWRJdGVtKFYpe3RoaXMuI3A9Vn0jZj0oUmEodGhpcyxZKSxSYSh0aGlzLEosLTEpKTtnZXQgZm9jdXNlZERyb3Bkb3duSXRlbSgpe3JldHVybiB0aGlzLiNmfXNldCBmb2N1c2VkRHJvcGRvd25JdGVtKFYpe3RoaXMuI2Y9Vn0jaD0oUmEodGhpcyxaKSxSYSh0aGlzLGFlLCExKSk7Z2V0IGlzUHJvZmlsZURyb3Bkb3duT3Blbigpe3JldHVybiB0aGlzLiNofXNldCBpc1Byb2ZpbGVEcm9wZG93bk9wZW4oVil7dGhpcy4jaD1WfXN0YXRpYyBzdHlsZXM9RnJhO3JlbmRlcigpe3JldHVybiBIcmEodGhpcyl9cmVuZGVyTWVudUl0ZW1zKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5tZW51SXRlbXMubWFwKChWLEgpPT50aGlzLnJlbmRlck1lbnVJdGVtKFYsYG1lbnUtJHtIfWApKX0KICAgIGB9cmVuZGVyTWVudUl0ZW0oVixIKXtpZigiZGl2aWRlciJpbiBWJiZWLmRpdmlkZXIpcmV0dXJuIHdgPGRpdiBjbGFzcz0iZHJvcGRvd24tZGl2aWRlciI+PC9kaXY+YDtsZXQgb2U9VixzZT10aGlzLmFjdGl2ZU1lbnU9PT1ILHRlPW9lLnN1Ym1lbnUmJm9lLnN1Ym1lbnUubGVuZ3RoPjA7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0ibWVudUl0ZW0gJHtzZT8iYWN0aXZlIjoiIn0iCiAgICAgICAgP2Rpc2FibGVkPSR7b2UuZGlzYWJsZWR9CiAgICAgICAgdGFiaW5kZXg9IiR7b2UuZGlzYWJsZWQ/LTE6MH0iCiAgICAgICAgZGF0YS1pdGVtLWlkPSIke0h9IgogICAgICAgIEBjbGljaz0keygpPT50aGlzLmhhbmRsZU1lbnVDbGljayhvZSxIKX0KICAgICAgICBAa2V5ZG93bj0ke3plPT50aGlzLmhhbmRsZU1lbnVLZXlkb3duKHplLG9lLEgpfQogICAgICAgIHJvbGU9Im1lbnVpdGVtIgogICAgICAgIGFyaWEtaGFzcG9wdXA9IiR7dGV9IgogICAgICAgIGFyaWEtZXhwYW5kZWQ9IiR7c2V9IgogICAgICA+CiAgICAgICAgJHtvZS5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7YGx1Y2lkZToke29lLmljb25OYW1lfWB9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgICR7b2UubmFtZX0KICAgICAgICAke3RlP3RoaXMucmVuZGVyRHJvcGRvd24ob2Uuc3VibWVudSxILHNlKToiIn0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckRyb3Bkb3duKFYsSCxvZSl7cmV0dXJuIHdgCiAgICAgIDxkaXYgCiAgICAgICAgY2xhc3M9ImRyb3Bkb3duICR7b2U/Im9wZW4iOiIifSIgCiAgICAgICAgQGNsaWNrPSR7c2U9PnNlLnN0b3BQcm9wYWdhdGlvbigpfQogICAgICAgIEBrZXlkb3duPSR7c2U9PnRoaXMuaGFuZGxlRHJvcGRvd25LZXlkb3duKHNlLFYsSCl9CiAgICAgICAgdGFiaW5kZXg9IiR7b2U/MDotMX0iCiAgICAgICAgcm9sZT0ibWVudSIKICAgICAgPgogICAgICAgICR7Vi5tYXAoKHNlLHRlKT0+dGhpcy5yZW5kZXJEcm9wZG93bkl0ZW0oc2UsYCR7SH0tJHt0ZX1gKSl9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJEcm9wZG93bkl0ZW0oVixIKXtpZigiZGl2aWRlciJpbiBWJiZWLmRpdmlkZXIpcmV0dXJuIHdgPGRpdiBjbGFzcz0iZHJvcGRvd24tZGl2aWRlciI+PC9kaXY+YDtsZXQgb2U9VixzZT1wYXJzZUludChILnNwbGl0KCItIikucG9wKCl8fCIwIiksdGU9dGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPT09c2U7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iZHJvcGRvd24taXRlbSAke3RlPyJmb2N1c2VkIjoiIn0iCiAgICAgICAgP2Rpc2FibGVkPSR7b2UuZGlzYWJsZWR9CiAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRHJvcGRvd25JdGVtQ2xpY2sob2UpfQogICAgICAgIEBtb3VzZWVudGVyPSR7KCk9PnRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT1zZX0KICAgICAgICByb2xlPSJtZW51aXRlbSIKICAgICAgICB0YWJpbmRleD0iJHtvZS5kaXNhYmxlZD8tMTowfSIKICAgICAgPgogICAgICAgICR7b2UuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSIke2BsdWNpZGU6JHtvZS5pY29uTmFtZX1gfSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICA8c3Bhbj4ke29lLm5hbWV9PC9zcGFuPgogICAgICAgICR7b2Uuc2hvcnRjdXQ/d2A8c3BhbiBjbGFzcz0ic2hvcnRjdXQiPiR7b2Uuc2hvcnRjdXR9PC9zcGFuPmA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJCcmVhZGNydW1icygpe2lmKCF0aGlzLmJyZWFkY3J1bWJzKXJldHVybiB3YGA7bGV0IFY9dGhpcy5icmVhZGNydW1icy5zcGxpdCh0aGlzLmJyZWFkY3J1bWJTZXBhcmF0b3IpO3JldHVybiB3YAogICAgICAke1YubWFwKChILG9lKT0+d2AKICAgICAgICAke29lPjA/d2A8c3BhbiBjbGFzcz0iYnJlYWRjcnVtYi1zZXBhcmF0b3IiPiR7dGhpcy5icmVhZGNydW1iU2VwYXJhdG9yfTwvc3Bhbj5gOiIifQogICAgICAgIDxzcGFuIAogICAgICAgICAgY2xhc3M9ImJyZWFkY3J1bWItaXRlbSIgCiAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVCcmVhZGNydW1iQ2xpY2soSCxvZSl9CiAgICAgICAgPgogICAgICAgICAgJHtIfQogICAgICAgIDwvc3Bhbj4KICAgICAgYCl9CiAgICBgfXJlbmRlckFjY291bnRTZWN0aW9uKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5zaG93U2VhcmNoP3dgCiAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgY2xhc3M9InNlYXJjaC1pY29uIgogICAgICAgICAgLmljb249JHsibHVjaWRlOnNlYXJjaCJ9CiAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZVNlYXJjaENsaWNrfQogICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgYDoiIn0KICAgICAgJHt0aGlzLnVzZXI/d2AKICAgICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItaW5mbyIgQGNsaWNrPSR7dGhpcy5oYW5kbGVVc2VyQ2xpY2t9PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLWF2YXRhciI+CiAgICAgICAgICAgICAgJHt0aGlzLnVzZXIuYXZhdGFyP3dgPGltZyBzcmM9IiR7dGhpcy51c2VyLmF2YXRhcn0iIGFsdD0iJHt0aGlzLnVzZXIubmFtZX0iPmA6d2Ake3RoaXMudXNlci5uYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfWB9CiAgICAgICAgICAgICAgJHt0aGlzLnVzZXIuc3RhdHVzP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLXN0YXR1cyAke3RoaXMudXNlci5zdGF0dXN9Ij48L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHNwYW4+JHt0aGlzLnVzZXIubmFtZX08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkZWVzLWFwcHVpLXByb2ZpbGVkcm9wZG93bgogICAgICAgICAgICAudXNlcj0ke3RoaXMudXNlcn0KICAgICAgICAgICAgLm1lbnVJdGVtcz0ke3RoaXMucHJvZmlsZU1lbnVJdGVtc30KICAgICAgICAgICAgLmlzT3Blbj0ke3RoaXMuaXNQcm9maWxlRHJvcGRvd25PcGVufQogICAgICAgICAgICAucG9zaXRpb249JHsidG9wLXJpZ2h0In0KICAgICAgICAgICAgQG1lbnUtc2VsZWN0PSR7Vj0+dGhpcy5oYW5kbGVQcm9maWxlTWVudVNlbGVjdChWKX0KICAgICAgICAgID48L2RlZXMtYXBwdWktcHJvZmlsZWRyb3Bkb3duPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgICAke3RoaXMuc2hvd0FjdGl2aXR5TG9nVG9nZ2xlP3dgCiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9ImFjdGl2aXR5LXRvZ2dsZSAke3RoaXMuYWN0aXZpdHlMb2dBY3RpdmU/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVBY3Rpdml0eVRvZ2dsZX0KICAgICAgICAgIHRpdGxlPSJBY3Rpdml0eSBMb2ciCiAgICAgICAgPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6YWN0aXZpdHkifT48L2RlZXMtaWNvbj4KICAgICAgICAgICR7dGhpcy5hY3Rpdml0eUxvZ0NvdW50PjA/d2AKICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjdGl2aXR5LWJhZGdlIj4ke3RoaXMuYWN0aXZpdHlMb2dDb3VudD45OT8iOTkrIjp0aGlzLmFjdGl2aXR5TG9nQ291bnR9PC9zcGFuPgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgIGB9aGFuZGxlTWVudUNsaWNrKFYsSCl7Vi5kaXNhYmxlZHx8KFYuc3VibWVudSYmVi5zdWJtZW51Lmxlbmd0aD4wP3RoaXMuYWN0aXZlTWVudT09PUg/dGhpcy5hY3RpdmVNZW51PW51bGw6dGhpcy5hY3RpdmVNZW51PUg6KHRoaXMuYWN0aXZlTWVudT1udWxsLFYuYWN0aW9uJiZWLmFjdGlvbigpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm1lbnUtc2VsZWN0Iix7ZGV0YWlsOntpdGVtOlZ9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSkpKX1oYW5kbGVEcm9wZG93bkl0ZW1DbGljayhWKXtWLmRpc2FibGVkfHwodGhpcy5hY3RpdmVNZW51PW51bGwsVi5hY3Rpb24mJlYuYWN0aW9uKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibWVudS1zZWxlY3QiLHtkZXRhaWw6e2l0ZW06Vn0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSl9aGFuZGxlTWVudUtleWRvd24oVixILG9lKXtzd2l0Y2goVi5rZXkpe2Nhc2UiRW50ZXIiOmNhc2UiICI6Vi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGFuZGxlTWVudUNsaWNrKEgsb2UpO2JyZWFrO2Nhc2UiQXJyb3dEb3duIjppZihILnN1Ym1lbnUmJnRoaXMuYWN0aXZlTWVudT09PW9lKXtWLnByZXZlbnREZWZhdWx0KCksdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPTA7bGV0IHNlPXRoaXMuZmluZE5leHRWYWxpZEl0ZW0oSC5zdWJtZW51LC0xLDEpO3NlIT09LTEmJih0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09c2Usc2V0VGltZW91dCgoKT0+e2xldCB0ZT10aGlzLnJlbmRlclJvb3QucXVlcnlTZWxlY3RvcigiLmRyb3Bkb3duLm9wZW4iKTt0ZSYmdGUuZm9jdXMoKX0sMCkpfWJyZWFrO2Nhc2UiRXNjYXBlIjp0aGlzLmFjdGl2ZU1lbnU9bnVsbCx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09LTE7YnJlYWs7Y2FzZSJUYWIiOnRoaXMuYWN0aXZlTWVudT09PW9lJiYodGhpcy5hY3RpdmVNZW51PW51bGwsdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPS0xKTticmVhaztjYXNlIkFycm93UmlnaHQiOlYucHJldmVudERlZmF1bHQoKSx0aGlzLmZvY3VzTmV4dE1lbnVJdGVtKG9lLDEpO2JyZWFrO2Nhc2UiQXJyb3dMZWZ0IjpWLnByZXZlbnREZWZhdWx0KCksdGhpcy5mb2N1c05leHRNZW51SXRlbShvZSwtMSk7YnJlYWt9fWhhbmRsZUJyZWFkY3J1bWJDbGljayhWLEgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImJyZWFkY3J1bWItbmF2aWdhdGUiLHtkZXRhaWw6e2JyZWFkY3J1bWI6VixpbmRleDpIfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVNlYXJjaENsaWNrKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VhcmNoLWNsaWNrIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBY3Rpdml0eVRvZ2dsZSgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFjdGl2aXR5LXRvZ2dsZSIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlVXNlckNsaWNrKCl7dGhpcy5pc1Byb2ZpbGVEcm9wZG93bk9wZW49IXRoaXMuaXNQcm9maWxlRHJvcGRvd25PcGVuLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInVzZXItbWVudS1vcGVuIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVQcm9maWxlTWVudVNlbGVjdChWKXt0aGlzLmlzUHJvZmlsZURyb3Bkb3duT3Blbj0hMSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJwcm9maWxlLW1lbnUtc2VsZWN0Iix7ZGV0YWlsOlYuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuaGFuZGxlR2xvYmFsQ2xpY2spLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZURvY3VtZW50Q2xpY2spfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5oYW5kbGVEb2N1bWVudENsaWNrKX1oYW5kbGVHbG9iYWxDbGljaz0oUmEodGhpcyxyZSksVj0+e1Yuc3RvcFByb3BhZ2F0aW9uKCl9KTtoYW5kbGVEb2N1bWVudENsaWNrPXMoKCk9Pnt0aGlzLmFjdGl2ZU1lbnU9bnVsbCx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09LTF9LCJoYW5kbGVEb2N1bWVudENsaWNrIik7aGFuZGxlRHJvcGRvd25LZXlkb3duKFYsSCxvZSl7bGV0IHNlPUguZmlsdGVyKHRlPT4hKCJkaXZpZGVyImluIHRlJiZ0ZS5kaXZpZGVyKSk7c3dpdGNoKFYua2V5KXtjYXNlIkFycm93RG93biI6Vi5wcmV2ZW50RGVmYXVsdCgpO2xldCB0ZT10aGlzLmZpbmROZXh0VmFsaWRJdGVtKEgsdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtLDEpO3RlIT09LTEmJih0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09dGUpO2JyZWFrO2Nhc2UiQXJyb3dVcCI6Vi5wcmV2ZW50RGVmYXVsdCgpO2xldCB6ZT10aGlzLmZpbmROZXh0VmFsaWRJdGVtKEgsdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtLC0xKTt6ZSE9PS0xJiYodGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPXplKTticmVhaztjYXNlIkVudGVyIjppZihWLnByZXZlbnREZWZhdWx0KCksdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtIT09LTEpe2xldCAkZT1zZVt0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW1dOyRlJiYiYWN0aW9uImluICRlJiYhJGUuZGlzYWJsZWQmJnRoaXMuaGFuZGxlRHJvcGRvd25JdGVtQ2xpY2soJGUpfWJyZWFrO2Nhc2UiSG9tZSI6Vi5wcmV2ZW50RGVmYXVsdCgpO2xldCBPZT10aGlzLmZpbmROZXh0VmFsaWRJdGVtKEgsLTEsMSk7T2UhPT0tMSYmKHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT1PZSk7YnJlYWs7Y2FzZSJFbmQiOlYucHJldmVudERlZmF1bHQoKTtsZXQgcWU9dGhpcy5maW5kTmV4dFZhbGlkSXRlbShILEgubGVuZ3RoLC0xKTtxZSE9PS0xJiYodGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPXFlKTticmVhaztjYXNlIkVzY2FwZSI6Vi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuYWN0aXZlTWVudT1udWxsLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0tMTtsZXQgZHQ9dGhpcy5yZW5kZXJSb290LnF1ZXJ5U2VsZWN0b3IoIi5tZW51SXRlbS5hY3RpdmUiKTtkdCYmZHQuZm9jdXMoKTticmVha319ZmluZE5leHRWYWxpZEl0ZW0oVixILG9lKXtsZXQgc2U9SCtvZTtmb3IoO3NlPj0wJiZzZTxWLmxlbmd0aDspe2xldCB0ZT1WW3NlXTtpZighKCJkaXZpZGVyImluIHRlJiZ0ZS5kaXZpZGVyKSYmISgiZGlzYWJsZWQiaW4gdGUmJnRlLmRpc2FibGVkKSlyZXR1cm4gc2U7c2UrPW9lfXJldHVybi0xfWZvY3VzTmV4dE1lbnVJdGVtKFYsSCl7bGV0IG9lPUFycmF5LmZyb20odGhpcy5yZW5kZXJSb290LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tZW51SXRlbSIpKSxzZT1vZS5maW5kSW5kZXgoT2U9Pk9lLmdldEF0dHJpYnV0ZSgiZGF0YS1pdGVtLWlkIik9PT1WKTtpZihzZT09PS0xKXJldHVybjtsZXQgdGU9c2UrSDt0ZTwwP3RlPW9lLmxlbmd0aC0xOnRlPj1vZS5sZW5ndGgmJih0ZT0wKTtsZXQgemU9MDtmb3IoO3plPG9lLmxlbmd0aDspe2xldCBPZT1vZVt0ZV07aWYoIU9lLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKSl7T2UuZm9jdXMoKSx0aGlzLmFjdGl2ZU1lbnUmJih0aGlzLmFjdGl2ZU1lbnU9bnVsbCx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09LTEpO2JyZWFrfXRlPSh0ZStIK29lLmxlbmd0aCklb2UubGVuZ3RoLHplKyt9fXN0YXRpY3tSYShyLHQpfX07cmV0dXJuIHllPXJ9KSgpfSk7dmFyIE1ZZT1mKCgpPT57dlllKCl9KTt2YXIgV3JhLEdyYSxZcmE9ZigoKT0+e2xlKCk7TmEoKTtHcmE9cygoKT0+dyhXcmF8fChXcmE9UjUoW2AKICAgIDxkZWVzLWRlbW93cmFwcGVyPgogICAgICA8c3R5bGU+CiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICMxYTFhMWE7CiAgICAgICAgfQoKICAgICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgfQoKICAgICAgICAuZGVtby1sYWJlbCB7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogIzczNzM3MzsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgfQoKICAgICAgICAuZGVtby1ib3R0b21iYXItd3JhcHBlciB7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBoc2woMCAwJSAyMCUpOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1sYWJlbCI+Qm90dG9tIGJhciB3aXRoIHN0YXR1cyB3aWRnZXRzIGFuZCBhY3Rpb25zPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWJvdHRvbWJhci13cmFwcGVyIj4KICAgICAgICAgICAgPGRlZXMtYXBwdWktYm90dG9tYmFyCiAgICAgICAgICAgICAgaWQ9ImRlbW8tYm90dG9tYmFyIgogICAgICAgICAgICA+PC9kZWVzLWFwcHVpLWJvdHRvbWJhcj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1sYWJlbCI+Q29udHJvbHM8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBmbGV4LXdyYXA6IHdyYXA7Ij4KICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJhZGRTdWNjZXNzV2lkZ2V0KCkiPkFkZCBTdWNjZXNzIFdpZGdldDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9ImFkZFdhcm5pbmdXaWRnZXQoKSI+QWRkIFdhcm5pbmcgV2lkZ2V0PC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iYWRkRXJyb3JXaWRnZXQoKSI+QWRkIEVycm9yIFdpZGdldDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9ImFkZExvYWRpbmdXaWRnZXQoKSI+QWRkIExvYWRpbmcgV2lkZ2V0PC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iYWRkUmlnaHRXaWRnZXQoKSI+QWRkIFJpZ2h0IFdpZGdldDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9ImFkZEFjdGlvbigpIj5BZGQgQWN0aW9uPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iY2xlYXJBbGwoKSI+Q2xlYXIgQWxsPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxzY3JpcHQgdHlwZT0ibW9kdWxlIj4KICAgICAgICBjb25zdCBib3R0b21iYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVtby1ib3R0b21iYXInKTsKCiAgICAgICAgLy8gV2FpdCBmb3IgY29tcG9uZW50IHRvIGluaXRpYWxpemUKICAgICAgICBhd2FpdCBib3R0b21iYXIudXBkYXRlQ29tcGxldGU7CgogICAgICAgIC8vIEFkZCBpbml0aWFsIHdpZGdldHMKICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgIGlkOiAnc3RhdHVzJywKICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOmFjdGl2aXR5JywKICAgICAgICAgIGxhYmVsOiAnU3lzdGVtIE9ubGluZScsCiAgICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJywKICAgICAgICAgIHRvb2x0aXA6ICdBbGwgc3lzdGVtcyBvcGVyYXRpb25hbCcsCiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBjb25zb2xlLmxvZygnU3RhdHVzIGNsaWNrZWQnKSwKICAgICAgICAgIGNvbnRleHRNZW51SXRlbXM6IFsKICAgICAgICAgICAgeyBuYW1lOiAnVmlldyBEZXRhaWxzJywgaWNvbk5hbWU6ICdsdWNpZGU6aW5mbycsIGFjdGlvbjogKCkgPT4gYWxlcnQoJ1N5c3RlbSBkZXRhaWxzJykgfSwKICAgICAgICAgICAgeyBkaXZpZGVyOiB0cnVlIH0sCiAgICAgICAgICAgIHsgbmFtZTogJ1JlZnJlc2ggU3RhdHVzJywgaWNvbk5hbWU6ICdsdWNpZGU6cmVmcmVzaEN3JywgYWN0aW9uOiAoKSA9PiBhbGVydCgnUmVmcmVzaGluZy4uLicpIH0sCiAgICAgICAgICBdLAogICAgICAgIH0pOwoKICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgIGlkOiAnbm90aWZpY2F0aW9ucycsCiAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpiZWxsJywKICAgICAgICAgIGxhYmVsOiAnMyBub3RpZmljYXRpb25zJywKICAgICAgICAgIHN0YXR1czogJ3dhcm5pbmcnLAogICAgICAgICAgdG9vbHRpcDogJ1lvdSBoYXZlIHVucmVhZCBub3RpZmljYXRpb25zJywKICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGNvbnNvbGUubG9nKCdOb3RpZmljYXRpb25zIGNsaWNrZWQnKSwKICAgICAgICB9KTsKCiAgICAgICAgYm90dG9tYmFyLmFkZFdpZGdldCh7CiAgICAgICAgICBpZDogJ3ZlcnNpb24nLAogICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6Z2l0QnJhbmNoJywKICAgICAgICAgIGxhYmVsOiAndjEuMi4zJywKICAgICAgICAgIHRvb2x0aXA6ICdDdXJyZW50IHZlcnNpb24nLAogICAgICAgICAgcG9zaXRpb246ICdyaWdodCcsCiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBjb25zb2xlLmxvZygnVmVyc2lvbiBjbGlja2VkJyksCiAgICAgICAgfSk7CgogICAgICAgIC8vIEFkZCBpbml0aWFsIGFjdGlvbnMKICAgICAgICBib3R0b21iYXIuYWRkQWN0aW9uKHsKICAgICAgICAgIGlkOiAnc2V0dGluZ3MnLAogICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6c2V0dGluZ3MnLAogICAgICAgICAgdG9vbHRpcDogJ1NldHRpbmdzJywKICAgICAgICAgIHBvc2l0aW9uOiAncmlnaHQnLAogICAgICAgICAgb25DbGljazogKCkgPT4gYWxlcnQoJ1NldHRpbmdzIGNsaWNrZWQnKSwKICAgICAgICB9KTsKCiAgICAgICAgYm90dG9tYmFyLmFkZEFjdGlvbih7CiAgICAgICAgICBpZDogJ2hlbHAnLAogICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6aGVscENpcmNsZScsCiAgICAgICAgICB0b29sdGlwOiAnSGVscCcsCiAgICAgICAgICBwb3NpdGlvbjogJ3JpZ2h0JywKICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGFsZXJ0KCdIZWxwIGNsaWNrZWQnKSwKICAgICAgICB9KTsKCiAgICAgICAgLy8gRGVtbyBjb250cm9sIGZ1bmN0aW9ucwogICAgICAgIGxldCB3aWRnZXRDb3VudGVyID0gMDsKICAgICAgICBsZXQgYWN0aW9uQ291bnRlciA9IDA7CgogICAgICAgIHdpbmRvdy5hZGRTdWNjZXNzV2lkZ2V0ID0gKCkgPT4gewogICAgICAgICAgd2lkZ2V0Q291bnRlcisrOwogICAgICAgICAgYm90dG9tYmFyLmFkZFdpZGdldCh7CiAgICAgICAgICAgIGlkOiAnc3VjY2Vzcy0nICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6Y2hlY2tDaXJjbGUnLAogICAgICAgICAgICBsYWJlbDogJ1N1Y2Nlc3MgJyArIHdpZGdldENvdW50ZXIsCiAgICAgICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLAogICAgICAgICAgICB0b29sdGlwOiAnU3VjY2VzcyB3aWRnZXQnLAogICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBib3R0b21iYXIucmVtb3ZlV2lkZ2V0KCdzdWNjZXNzLScgKyB3aWRnZXRDb3VudGVyKSwKICAgICAgICAgIH0pOwogICAgICAgIH07CgogICAgICAgIHdpbmRvdy5hZGRXYXJuaW5nV2lkZ2V0ID0gKCkgPT4gewogICAgICAgICAgd2lkZ2V0Q291bnRlcisrOwogICAgICAgICAgYm90dG9tYmFyLmFkZFdpZGdldCh7CiAgICAgICAgICAgIGlkOiAnd2FybmluZy0nICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6YWxlcnRUcmlhbmdsZScsCiAgICAgICAgICAgIGxhYmVsOiAnV2FybmluZyAnICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgc3RhdHVzOiAnd2FybmluZycsCiAgICAgICAgICAgIHRvb2x0aXA6ICdXYXJuaW5nIHdpZGdldCcsCiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGJvdHRvbWJhci5yZW1vdmVXaWRnZXQoJ3dhcm5pbmctJyArIHdpZGdldENvdW50ZXIpLAogICAgICAgICAgfSk7CiAgICAgICAgfTsKCiAgICAgICAgd2luZG93LmFkZEVycm9yV2lkZ2V0ID0gKCkgPT4gewogICAgICAgICAgd2lkZ2V0Q291bnRlcisrOwogICAgICAgICAgYm90dG9tYmFyLmFkZFdpZGdldCh7CiAgICAgICAgICAgIGlkOiAnZXJyb3ItJyArIHdpZGdldENvdW50ZXIsCiAgICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOnhDaXJjbGUnLAogICAgICAgICAgICBsYWJlbDogJ0Vycm9yICcgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBzdGF0dXM6ICdlcnJvcicsCiAgICAgICAgICAgIHRvb2x0aXA6ICdFcnJvciB3aWRnZXQnLAogICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBib3R0b21iYXIucmVtb3ZlV2lkZ2V0KCdlcnJvci0nICsgd2lkZ2V0Q291bnRlciksCiAgICAgICAgICB9KTsKICAgICAgICB9OwoKICAgICAgICB3aW5kb3cuYWRkTG9hZGluZ1dpZGdldCA9ICgpID0+IHsKICAgICAgICAgIHdpZGdldENvdW50ZXIrKzsKICAgICAgICAgIGNvbnN0IGlkID0gJ2xvYWRpbmctJyArIHdpZGdldENvdW50ZXI7CiAgICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgICAgaWQ6IGlkLAogICAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpsb2FkZXIyJywKICAgICAgICAgICAgbGFiZWw6ICdMb2FkaW5nLi4uJywKICAgICAgICAgICAgc3RhdHVzOiAnYWN0aXZlJywKICAgICAgICAgICAgbG9hZGluZzogdHJ1ZSwKICAgICAgICAgICAgdG9vbHRpcDogJ0xvYWRpbmcgaW4gcHJvZ3Jlc3MnLAogICAgICAgICAgfSk7CgogICAgICAgICAgLy8gU2ltdWxhdGUgY29tcGxldGlvbiBhZnRlciAzIHNlY29uZHMKICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICBib3R0b21iYXIudXBkYXRlV2lkZ2V0KGlkLCB7CiAgICAgICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6Y2hlY2snLAogICAgICAgICAgICAgIGxhYmVsOiAnRG9uZSEnLAogICAgICAgICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLAogICAgICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLAogICAgICAgICAgICB9KTsKICAgICAgICAgIH0sIDMwMDApOwogICAgICAgIH07CgogICAgICAgIHdpbmRvdy5hZGRSaWdodFdpZGdldCA9ICgpID0+IHsKICAgICAgICAgIHdpZGdldENvdW50ZXIrKzsKICAgICAgICAgIGJvdHRvbWJhci5hZGRXaWRnZXQoewogICAgICAgICAgICBpZDogJ3JpZ2h0LScgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTppbmZvJywKICAgICAgICAgICAgbGFiZWw6ICdSaWdodCAnICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgcG9zaXRpb246ICdyaWdodCcsCiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGJvdHRvbWJhci5yZW1vdmVXaWRnZXQoJ3JpZ2h0LScgKyB3aWRnZXRDb3VudGVyKSwKICAgICAgICAgIH0pOwogICAgICAgIH07CgogICAgICAgIHdpbmRvdy5hZGRBY3Rpb24gPSAoKSA9PiB7CiAgICAgICAgICBhY3Rpb25Db3VudGVyKys7CiAgICAgICAgICBib3R0b21iYXIuYWRkQWN0aW9uKHsKICAgICAgICAgICAgaWQ6ICdhY3Rpb24tJyArIGFjdGlvbkNvdW50ZXIsCiAgICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOnphcCcsCiAgICAgICAgICAgIHRvb2x0aXA6ICdBY3Rpb24gJyArIGFjdGlvbkNvdW50ZXIsCiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHsKICAgICAgICAgICAgICBhbGVydCgnQWN0aW9uICcgKyBhY3Rpb25Db3VudGVyICsgJyBjbGlja2VkJyk7CiAgICAgICAgICAgICAgYm90dG9tYmFyLnJlbW92ZUFjdGlvbignYWN0aW9uLScgKyBhY3Rpb25Db3VudGVyKTsKICAgICAgICAgICAgfSwKICAgICAgICAgIH0pOwogICAgICAgIH07CgogICAgICAgIHdpbmRvdy5jbGVhckFsbCA9ICgpID0+IHsKICAgICAgICAgIGJvdHRvbWJhci5jbGVhcldpZGdldHMoKTsKICAgICAgICAgIGJvdHRvbWJhci5jbGVhckFjdGlvbnMoKTsKICAgICAgICAgIHdpZGdldENvdW50ZXIgPSAwOwogICAgICAgICAgYWN0aW9uQ291bnRlciA9IDA7CiAgICAgICAgfTsKICAgICAgPFwvc2NyaXB0PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGBdKSkpLCJkZW1vRnVuYyIpfSk7dmFyIGtZZSxMVSxLcmEsU1llPWYoKCk9PntsZSgpO1FlKCk7dmEoKTtYcigpO1lyYSgpO2tZZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sTFU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEtyYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXBwdWktYm90dG9tYmFyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNBcHB1aUJvdHRvbWJhciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSxrWWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3aWRnZXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJ3aWRnZXRzImluIHYsImhhcyIpLGdldDpzKHY9PnYud2lkZ2V0cywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LndpZGdldHM9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLGtZZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImFjdGlvbnMiaW4gdiwiaGFzIiksZ2V0OnModj0+di5hY3Rpb25zLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuYWN0aW9ucz14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksa1llKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89R3JhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9TFUodGhpcyxuLFtdKTtnZXQgd2lkZ2V0cygpe3JldHVybiB0aGlzLiNlfXNldCB3aWRnZXRzKG0pe3RoaXMuI2U9bX0jdD0oTFUodGhpcyxsKSxMVSh0aGlzLGMsW10pKTtnZXQgYWN0aW9ucygpe3JldHVybiB0aGlzLiN0fXNldCBhY3Rpb25zKG0pe3RoaXMuI3Q9bX1zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLmJvdHRvbS1iYXIgewogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy10ZXJ0aWFyeSk7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLndpZGdldCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLndpZGdldDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAud2lkZ2V0IGRlZXMtaWNvbiB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC53aWRnZXQtc2VwYXJhdG9yIHsKICAgICAgICB3aWR0aDogMXB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICAgIG1hcmdpbjogMCA0cHg7CiAgICAgIH0KCiAgICAgIC8qIFN0YXR1cyBjb2xvcnMgbWF0Y2hpbmcgZGVlcy13b3Jrc3BhY2UtYm90dG9tYmFyICovCiAgICAgIC53aWRnZXQuYWN0aXZlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA0NSUpIiwiaHNsKDIxMCAxMDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQuc3VjY2VzcyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMTQyIDcwJSAzNSUpIiwiaHNsKDE0MiA3MCUgNTAlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC53YXJuaW5nIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgzOCA5MiUgNDUlKSIsImhzbCgzOCA5MiUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC5lcnJvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfQogICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogICAgICB9CgogICAgICAuc3Bpbm5pbmcgewogICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIC5zcGFjZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRpc2FibGVkOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IG09dGhpcy53aWRnZXRzLmZpbHRlcihnPT5nLnBvc2l0aW9uIT09InJpZ2h0Iikuc29ydCgoZyx5KT0+KGcub3JkZXJ8fDApLSh5Lm9yZGVyfHwwKSksdj10aGlzLndpZGdldHMuZmlsdGVyKGc9PmcucG9zaXRpb249PT0icmlnaHQiKS5zb3J0KChnLHkpPT4oZy5vcmRlcnx8MCktKHkub3JkZXJ8fDApKSx4PXRoaXMuYWN0aW9ucy5maWx0ZXIoZz0+Zy5wb3NpdGlvbj09PSJsZWZ0IiksYj10aGlzLmFjdGlvbnMuZmlsdGVyKGc9PmcucG9zaXRpb24hPT0ibGVmdCIpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJib3R0b20tYmFyIj4KICAgICAgICA8IS0tIExlZnQgYWN0aW9ucyAtLT4KICAgICAgICAke3gubWFwKGc9PnRoaXMucmVuZGVyQWN0aW9uKGcpKX0KCiAgICAgICAgPCEtLSBMZWZ0IHdpZGdldHMgLS0+CiAgICAgICAgJHttLm1hcCgoZyx5KT0+d2AKICAgICAgICAgICR7eT4wfHx4Lmxlbmd0aD4wP3dgPGRpdiBjbGFzcz0id2lkZ2V0LXNlcGFyYXRvciI+PC9kaXY+YDoiIn0KICAgICAgICAgICR7dGhpcy5yZW5kZXJXaWRnZXQoZyl9CiAgICAgICAgYCl9CgogICAgICAgIDxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CgogICAgICAgIDwhLS0gUmlnaHQgd2lkZ2V0cyAtLT4KICAgICAgICAke3YubWFwKChnLHkpPT53YAogICAgICAgICAgJHt0aGlzLnJlbmRlcldpZGdldChnKX0KICAgICAgICAgICR7eTx2Lmxlbmd0aC0xfHxiLmxlbmd0aD4wP3dgPGRpdiBjbGFzcz0id2lkZ2V0LXNlcGFyYXRvciI+PC9kaXY+YDoiIn0KICAgICAgICBgKX0KCiAgICAgICAgPCEtLSBSaWdodCBhY3Rpb25zIC0tPgogICAgICAgICR7Yi5tYXAoZz0+dGhpcy5yZW5kZXJBY3Rpb24oZykpfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyV2lkZ2V0KG0pe2xldCB2PW0uc3RhdHVzJiZtLnN0YXR1cyE9PSJpZGxlIj9tLnN0YXR1czoiIix4PW0uaWNvbk5hbWU/bS5pY29uTmFtZS5zdGFydHNXaXRoKCJsdWNpZGU6Iik/bS5pY29uTmFtZTpgbHVjaWRlOiR7bS5pY29uTmFtZX1gOiIiO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9IndpZGdldCAke3Z9IgogICAgICAgIHRpdGxlPSIke20udG9vbHRpcHx8IiJ9IgogICAgICAgIEBjbGljaz0keygpPT5tLm9uQ2xpY2s/LigpfQogICAgICAgIEBjb250ZXh0bWVudT0ke2I9PnRoaXMuaGFuZGxlV2lkZ2V0Q29udGV4dE1lbnUoYixtKX0KICAgICAgPgogICAgICAgICR7eD93YAogICAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgICAuaWNvbj0ke3h9CiAgICAgICAgICAgIGljb25TaXplPSIxMiIKICAgICAgICAgICAgY2xhc3M9IiR7bS5sb2FkaW5nPyJzcGlubmluZyI6IiJ9IgogICAgICAgICAgPjwvZGVlcy1pY29uPgogICAgICAgIGA6IiJ9CiAgICAgICAgJHttLmxhYmVsP3dgPHNwYW4+JHttLmxhYmVsfTwvc3Bhbj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQWN0aW9uKG0pe2xldCB2PW0uaWNvbk5hbWUuc3RhcnRzV2l0aCgibHVjaWRlOiIpP20uaWNvbk5hbWU6YGx1Y2lkZToke20uaWNvbk5hbWV9YDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJhY3Rpb24tYnV0dG9uICR7bS5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICB0aXRsZT0iJHttLnRvb2x0aXB8fCIifSIKICAgICAgICBAY2xpY2s9JHsoKT0+IW0uZGlzYWJsZWQmJm0ub25DbGljaz8uKCl9CiAgICAgID4KICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAuaWNvbj0ke3Z9CiAgICAgICAgICBpY29uU2l6ZT0iMTIiCiAgICAgICAgPjwvZGVlcy1pY29uPgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgaGFuZGxlV2lkZ2V0Q29udGV4dE1lbnUobSx2KXtpZighdi5jb250ZXh0TWVudUl0ZW1zfHx2LmNvbnRleHRNZW51SXRlbXMubGVuZ3RoPT09MClyZXR1cm47bS5wcmV2ZW50RGVmYXVsdCgpO2xldCB4PVtdO2ZvcihsZXQgYiBvZiB2LmNvbnRleHRNZW51SXRlbXMpYi5kaXZpZGVyP3gucHVzaCh7ZGl2aWRlcjohMH0pOngucHVzaCh7bmFtZTpiLm5hbWUsaWNvbk5hbWU6Yi5pY29uTmFtZSxhY3Rpb246cyhhc3luYygpPT57YXdhaXQgYi5hY3Rpb24oKX0sImFjdGlvbiIpLGRpc2FibGVkOmIuZGlzYWJsZWR9KTthd2FpdCB0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhtLHgpfWFkZFdpZGdldChtKXt0aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLmZpbHRlcih2PT52LmlkIT09bS5pZCksdGhpcy53aWRnZXRzPVsuLi50aGlzLndpZGdldHMsbV19dXBkYXRlV2lkZ2V0KG0sdil7dGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5tYXAoeD0+eC5pZD09PW0/ey4uLngsLi4udn06eCl9cmVtb3ZlV2lkZ2V0KG0pe3RoaXMud2lkZ2V0cz10aGlzLndpZGdldHMuZmlsdGVyKHY9PnYuaWQhPT1tKX1nZXRXaWRnZXQobSl7cmV0dXJuIHRoaXMud2lkZ2V0cy5maW5kKHY9PnYuaWQ9PT1tKX1jbGVhcldpZGdldHMoKXt0aGlzLndpZGdldHM9W119YWRkQWN0aW9uKG0pe3RoaXMuYWN0aW9ucz10aGlzLmFjdGlvbnMuZmlsdGVyKHY9PnYuaWQhPT1tLmlkKSx0aGlzLmFjdGlvbnM9Wy4uLnRoaXMuYWN0aW9ucyxtXX1yZW1vdmVBY3Rpb24obSl7dGhpcy5hY3Rpb25zPXRoaXMuYWN0aW9ucy5maWx0ZXIodj0+di5pZCE9PW0pfWNsZWFyQWN0aW9ucygpe3RoaXMuYWN0aW9ucz1bXX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksTFUodGhpcyxwKX1zdGF0aWN7TFUocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIFpyYT1mKCgpPT57U1llKCl9KTt2YXIgWHJhLFFyYT1mKCgpPT57bGUoKTtYcmE9cygoKT0+d2AKICA8c3R5bGU+CiAgICAke1hgCiAgICAgIC5kZW1vLWJhY2tncm91bmQgewogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA1JSkiKX07CiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQogICAgICAKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIG1hcmdpbjogMzJweCAwIDE2cHggMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICB9CiAgICAgIAogICAgICAuc2VjdGlvbi10aXRsZTpmaXJzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5ncmlkLTNjb2wgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjhweCkgewogICAgICAgIC5ncmlkLTNjb2wgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICBjb2RlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tYmFja2dyb3VuZCI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+RGVmYXVsdCBQYW5lbHM8L2gyPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlBhbmVsIENvbXBvbmVudCJ9IC5zdWJ0aXRsZT0keyJUaGUgZGVmYXVsdCBwYW5lbCB2YXJpYW50IHdpdGggc2hhZGNuLWluc3BpcmVkIHN0eWxpbmcifT4KICAgICAgICA8cD5UaGUgcGFuZWwgY29tcG9uZW50IGF1dG9tYXRpY2FsbHkgZm9sbG93cyB0aGUgdGhlbWUgYW5kIHByb3ZpZGVzIGNvbnNpc3RlbnQgc3R5bGluZyBmb3IgZ3JvdXBlZCBjb250ZW50LjwvcD4KICAgICAgICA8cD5JdCdzIHBlcmZlY3QgZm9yIGNyZWF0aW5nIHNlY3Rpb25zIGluIHlvdXIgYXBwbGljYXRpb24gd2l0aCBwcm9wZXIgc3BhY2luZyBhbmQgYm9yZGVycy48L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGF5b3V0Ij4KICAgICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRmVhdHVyZSBPdmVydmlldyJ9IC5zdWJ0aXRsZT0keyJLZXkgY2FwYWJpbGl0aWVzIn0+CiAgICAgICAgICA8cD5HcmlkIGxheW91dHMgd29yayBncmVhdCB3aXRoIHBhbmVscyBmb3IgY3JlYXRpbmcgZGFzaGJvYXJkcyBhbmQgZmVhdHVyZSBzZWN0aW9ucy48L3A+CiAgICAgICAgICA8ZGVlcy1idXR0b24+TGVhcm4gTW9yZTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAgIAogICAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJRdWljayBBY3Rpb25zIn0gLnN1YnRpdGxlPSR7IkNvbW1vbiB0YXNrcyJ9PgogICAgICAgICAgPHA+RWFjaCBwYW5lbCBtYWludGFpbnMgY29uc2lzdGVudCBzcGFjaW5nIGFuZCBzdHlsaW5nIGFjcm9zcyB5b3VyIGFwcGxpY2F0aW9uLjwvcD4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5HZXQgU3RhcnRlZDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UGFuZWwgVmFyaWFudHM8L2gyPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkRlZmF1bHQgVmFyaWFudCJ9IC52YXJpYW50PSR7ImRlZmF1bHQifT4KICAgICAgICA8cD5UaGUgZGVmYXVsdCB2YXJpYW50IGhhcyBhIHdoaXRlIGJhY2tncm91bmQsIHN1YnRsZSBib3JkZXIsIGFuZCBtaW5pbWFsIHNoYWRvdy4gSXQncyB0aGUgc3RhbmRhcmQgY2hvaWNlIGZvciBtb3N0IGNvbnRlbnQuPC9wPgogICAgICAgIDxwPlVzZSA8Y29kZT52YXJpYW50PSJkZWZhdWx0IjwvY29kZT4gb3Igb21pdCB0aGUgdmFyaWFudCBwcm9wZXJ0eS48L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJPdXRsaW5lIFZhcmlhbnQifSAuc3VidGl0bGU9JHsiVHJhbnNwYXJlbnQgYmFja2dyb3VuZCB3aXRoIGJvcmRlciJ9IC52YXJpYW50PSR7Im91dGxpbmUifT4KICAgICAgICA8cD5UaGUgb3V0bGluZSB2YXJpYW50IHJlbW92ZXMgdGhlIGJhY2tncm91bmQgY29sb3IgYW5kIHNoYWRvdywga2VlcGluZyBvbmx5IHRoZSBib3JkZXIuPC9wPgogICAgICAgIDxwPlVzZSA8Y29kZT52YXJpYW50PSJvdXRsaW5lIjwvY29kZT4gZm9yIGEgbGlnaHRlciB2aXN1YWwgd2VpZ2h0LjwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ikdob3N0IFZhcmlhbnQifSAuc3VidGl0bGU9JHsiTWluaW1hbCBzdHlsaW5nIGZvciBzdWJ0bGUgc2VjdGlvbnMifSAudmFyaWFudD0keyJnaG9zdCJ9PgogICAgICAgIDxwPlRoZSBnaG9zdCB2YXJpYW50IGhhcyBubyBib3JkZXIgb3IgYmFja2dyb3VuZCBieSBkZWZhdWx0LCBvbmx5IHNob3dpbmcgYSBzdWJ0bGUgYmFja2dyb3VuZCBvbiBob3Zlci48L3A+CiAgICAgICAgPHA+VXNlIDxjb2RlPnZhcmlhbnQ9Imdob3N0IjwvY29kZT4gZm9yIHRoZSBtb3N0IG1pbmltYWwgYXBwZWFyYW5jZS48L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UGFuZWwgU2l6ZXM8L2gyPgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZ3JpZC0zY29sIj4KICAgICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiU21hbGwgUGFuZWwifSAuc2l6ZT0keyJzbSJ9PgogICAgICAgICAgPHA+Q29tcGFjdCBwYWRkaW5nIGZvciBkZW5zZSBsYXlvdXRzLjwvcD4KICAgICAgICAgIDxwPlVzZSA8Y29kZT5zaXplPSJzbSI8L2NvZGU+PC9wPgogICAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgICAKICAgICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiTWVkaXVtIFBhbmVsIn0gLnNpemU9JHsibWQifT4KICAgICAgICAgIDxwPkRlZmF1bHQgc2l6ZSB3aXRoIGJhbGFuY2VkIHNwYWNpbmcuPC9wPgogICAgICAgICAgPHA+VXNlIDxjb2RlPnNpemU9Im1kIjwvY29kZT4gb3Igb21pdC48L3A+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAgIAogICAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJMYXJnZSBQYW5lbCJ9IC5zaXplPSR7ImxnIn0+CiAgICAgICAgICA8cD5HZW5lcm91cyBwYWRkaW5nIGZvciBwcm9taW5lbnQgc2VjdGlvbnMuPC9wPgogICAgICAgICAgPHA+VXNlIDxjb2RlPnNpemU9ImxnIjwvY29kZT48L3A+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Q29tcGxleCBFeGFtcGxlczwvaDI+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRm9ybSBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IlBhbmVscyB3b3JrIGdyZWF0IGZvciBvcmdhbml6aW5nIGZvcm0gc2VjdGlvbnMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiUHJvamVjdCBOYW1lIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiRGVzY3JpcHRpb24ifSAuaW5wdXRUeXBlPSR7InRleHRhcmVhIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93biAKICAgICAgICAgICAgLmxhYmVsPSR7IkNhdGVnb3J5In0gCiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IldlYiBEZXZlbG9wbWVudCIsa2V5OiJ3ZWIifSx7b3B0aW9uOiJNb2JpbGUgQXBwIixrZXk6Im1vYmlsZSJ9LHtvcHRpb246IkRlc2t0b3AgU29mdHdhcmUiLGtleToiZGVza3RvcCJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdD5DcmVhdGUgUHJvamVjdDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ik5lc3RlZCBQYW5lbHMifSAuc3VidGl0bGU9JHsiUGFuZWxzIGNhbiBiZSBuZXN0ZWQgZm9yIGhpZXJhcmNoaWNhbCBvcmdhbml6YXRpb24ifT4KICAgICAgICA8cD5Zb3UgY2FuIG5lc3QgcGFuZWxzIHRvIGNyZWF0ZSBtb3JlIGNvbXBsZXggbGF5b3V0czo8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ik5lc3RlZCBQYW5lbCAxIn0gLnZhcmlhbnQ9JHsib3V0bGluZSJ9IC5zaXplPSR7InNtIn0+CiAgICAgICAgICA8cD5UaGlzIGlzIGEgbmVzdGVkIHBhbmVsIHdpdGggb3V0bGluZSB2YXJpYW50IGFuZCBzbWFsbCBzaXplLjwvcD4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgICAgCiAgICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ik5lc3RlZCBQYW5lbCAyIn0gLnZhcmlhbnQ9JHsiZ2hvc3QifSAuc2l6ZT0keyJzbSJ9PgogICAgICAgICAgPHA+VGhpcyBpcyBhbm90aGVyIG5lc3RlZCBwYW5lbCB3aXRoIGdob3N0IHZhcmlhbnQuPC9wPgogICAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5VbnRpdGxlZCBQYW5lbHM8L2gyPgogICAgICAKICAgICAgPGRlZXMtcGFuZWw+CiAgICAgICAgPHA+UGFuZWxzIHdvcmsgZ3JlYXQgZXZlbiB3aXRob3V0IGEgdGl0bGUgZm9yIHNpbXBsZSBjb250ZW50IGdyb3VwaW5nLjwvcD4KICAgICAgICA8cD5UaGV5IHByb3ZpZGUgdmlzdWFsIHNlcGFyYXRpb24gYW5kIGNvbnNpc3RlbnQgcGFkZGluZyB0aHJvdWdob3V0IHlvdXIgaW50ZXJmYWNlLjwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgIDxkZWVzLXBhbmVsIC52YXJpYW50PSR7Im91dGxpbmUifT4KICAgICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPkN1c3RvbSBDb250ZW50PC9oND4KICAgICAgICAgIDxwPllvdSBjYW4gYWRkIHlvdXIgb3duIGhlYWRpbmdzIGFuZCBzdHJ1Y3R1cmUgd2l0aGluIHVudGl0bGVkIHBhbmVscy48L3A+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAgIAogICAgICAgIDxkZWVzLXBhbmVsIC52YXJpYW50PSR7Imdob3N0In0+CiAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbi10b3A6IDA7Ij5NaW5pbWFsIFN0eWxlPC9oND4KICAgICAgICAgIDxwPkdob3N0IHBhbmVscyB3aXRob3V0IHRpdGxlcyBjcmVhdGUgdmVyeSBzdWJ0bGUgY29udGVudCBzZWN0aW9ucy48L3A+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIFQkYSxMJGEselllLFd0ZSxwYSxNZiwkJGEsRCRhLEpyYSxBJGEsUCRhLCRQaSxEUGksbXM9ZigoKT0+e2xlKCk7VCRhPSJHZWlzdCBTYW5zIixMJGE9IkludGVsIE9uZSBNb25vIix6WWU9YCcke1QkYX0nLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCAnT3h5Z2VuJywgJ1VidW50dScsICdDYW50YXJlbGwnLCAnRmlyYSBTYW5zJywgJ0Ryb2lkIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmYCxXdGU9YCcke0wkYX0nLCAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgJ0ZpcmEgTW9ubycsICdEcm9pZCBTYW5zIE1vbm8nLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2VgLHBhPW9hKHpZZSksTWY9b2EoV3RlKSwkJGE9IkNhbCBTYW5zIixEJGE9YCckeyQkYX0nLCAke3pZZX1gLEpyYT1vYShEJGEpLEEkYT0iUm9ib3RvIFNsYWIiLFAkYT1gJyR7QSRhfScsIEdlb3JnaWEsIHNlcmlmYCwkUGk9b2EoUCRhKSxEUGk9b2EoYAogIGZvbnQtZmFtaWx5OiAke3pZZX07CiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdjdjExJywgJ3RudW0nLCAnY3YwNScgMTsKYCl9KTt2YXIgZW0sVDEsZXNhLFlzPWYoKCk9PntsZSgpO1FyYSgpO21zKCk7UWUoKTtlbT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sVDE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGVzYT0oKCk9PntsZXQgYT1baWUoImRlZXMtcGFuZWwiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1BhbmVsIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0seD1bJCh7dHlwZTpTdHJpbmd9KV0seT1bJCh7YXR0cmlidXRlOiExfSldLGVtKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InRpdGxlImluIHosImhhcyIpLGdldDpzKHo9PnoudGl0bGUsImdldCIpLHNldDpzKCh6LE8pPT57ei50aXRsZT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksZW0odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdWJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ic3VidGl0bGUiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5zdWJ0aXRsZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnN1YnRpdGxlPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYyxwKSxlbSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhcmlhbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InZhcmlhbnQiaW4geiwiaGFzIiksZ2V0OnMoej0+ei52YXJpYW50LCJnZXQiKSxzZXQ6cygoeixPKT0+e3oudmFyaWFudD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksZW0odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzaXplImluIHosImhhcyIpLGdldDpzKHo9Pnouc2l6ZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNpemU9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLGVtKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicnVuQWZ0ZXJSZW5kZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InJ1bkFmdGVyUmVuZGVyImluIHosImhhcyIpLGdldDpzKHo9PnoucnVuQWZ0ZXJSZW5kZXIsImdldCIpLHNldDpzKCh6LE8pPT57ei5ydW5BZnRlclJlbmRlcj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksZW0obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz1YcmE7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiXTsjZT1UMSh0aGlzLG4sIiIpO2dldCB0aXRsZSgpe3JldHVybiB0aGlzLiNlfXNldCB0aXRsZShfKXt0aGlzLiNlPV99I3Q9KFQxKHRoaXMsbCksVDEodGhpcyxjLCIiKSk7Z2V0IHN1YnRpdGxlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHN1YnRpdGxlKF8pe3RoaXMuI3Q9X30jYT0oVDEodGhpcyxwKSxUMSh0aGlzLG0sImRlZmF1bHQiKSk7Z2V0IHZhcmlhbnQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgdmFyaWFudChfKXt0aGlzLiNhPV99I3I9KFQxKHRoaXMsdiksVDEodGhpcyxiLCJtZCIpKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNyfXNldCBzaXplKF8pe3RoaXMuI3I9X30jcz0oVDEodGhpcyxnKSxUMSh0aGlzLGssdm9pZCAwKSk7Z2V0IHJ1bkFmdGVyUmVuZGVyKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHJ1bkFmdGVyUmVuZGVyKF8pe3RoaXMuI3M9X31zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIC8qIFZhcmlhbnQ6IGRlZmF1bHQgKi8KICAgICAgOmhvc3QoW3ZhcmlhbnQ9ImRlZmF1bHQiXSkgewogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIGhzbCgwIDAlIDAlIC8gMC4wNSk7CiAgICAgIH0KCiAgICAgIC8qIFZhcmlhbnQ6IG91dGxpbmUgKi8KICAgICAgOmhvc3QoW3ZhcmlhbnQ9Im91dGxpbmUiXSkgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIFZhcmlhbnQ6IGdob3N0ICovCiAgICAgIDpob3N0KFt2YXJpYW50PSJnaG9zdCJdKSB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgICBib3gtc2hhZG93OiBub25lOwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIC8qIFNpemUgdmFyaWF0aW9ucyAqLwogICAgICA6aG9zdChbc2l6ZT0ic20iXSkgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtzaXplPSJsZyJdKSB7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmhlYWRlcjplbXB0eSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CgogICAgICAvKiBUaXRsZSBzaXplIHZhcmlhdGlvbnMgKi8KICAgICAgOmhvc3QoW3NpemU9InNtIl0pIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICB9CgogICAgICA6aG9zdChbc2l6ZT0ibGciXSkgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgbWFyZ2luOiA0cHggMCAwIDA7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMDZlbTsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CgogICAgICAvKiBTdWJ0aXRsZSBzaXplIHZhcmlhdGlvbnMgKi8KICAgICAgOmhvc3QoW3NpemU9InNtIl0pIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICA6aG9zdChbc2l6ZT0ibGciXSkgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgbWFyZ2luLXRvcDogNnB4OwogICAgICB9CgogICAgICAuY29udGVudCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA4NC45JSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgIH0KCiAgICAgIC8qIENvbnRlbnQgc2l6ZSB2YXJpYXRpb25zICovCiAgICAgIDpob3N0KFtzaXplPSJzbSJdKSAuY29udGVudCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICA6aG9zdChbc2l6ZT0ibGciXSkgLmNvbnRlbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgfQoKICAgICAgLyogUmVtb3ZlIG1hcmdpbnMgZnJvbSBmaXJzdCBhbmQgbGFzdCBjaGlsZHJlbiAqLwogICAgICAuY29udGVudCA6OnNsb3R0ZWQoKjpmaXJzdC1jaGlsZCkgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgIH0KCiAgICAgIC5jb250ZW50IDo6c2xvdHRlZCgqOmxhc3QtY2hpbGQpIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAvKiBJbnRlcmFjdGl2ZSBzdGF0ZXMgZm9yIGRlZmF1bHQgdmFyaWFudCAqLwogICAgICA6aG9zdChbdmFyaWFudD0iZGVmYXVsdCJdOmhvdmVyKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjAuOSUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IGhzbCgwIDAlIDAlIC8gMC4xKSwgMCAycHggNHB4IC0ycHggaHNsKDAgMCUgMCUgLyAwLjEpOwogICAgICB9CgogICAgICAvKiBJbnRlcmFjdGl2ZSBzdGF0ZXMgZm9yIG91dGxpbmUgdmFyaWFudCAqLwogICAgICA6aG9zdChbdmFyaWFudD0ib3V0bGluZSJdOmhvdmVyKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjAuOSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5OCUpIiwiaHNsKDAgMCUgNy44JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIEludGVyYWN0aXZlIHN0YXRlcyBmb3IgZ2hvc3QgdmFyaWFudCAqLwogICAgICA6aG9zdChbdmFyaWFudD0iZ2hvc3QiXTpob3ZlcikgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIEZvY3VzIHN0YXRlcyAqLwogICAgICA6aG9zdCg6Zm9jdXMtd2l0aGluKSB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAvKiBOZXN0ZWQgcGFuZWxzIHNwYWNpbmcgKi8KICAgICAgOjpzbG90dGVkKGRlZXMtcGFuZWwpIHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICB9CgogICAgICA6OnNsb3R0ZWQoZGVlcy1wYW5lbDpmaXJzdC1jaGlsZCkgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICR7dGhpcy50aXRsZT93YDxoMyBjbGFzcz0idGl0bGUiPiR7dGhpcy50aXRsZX08L2gzPmA6IiJ9CiAgICAgICAgJHt0aGlzLnN1YnRpdGxlP3dgPHAgY2xhc3M9InN1YnRpdGxlIj4ke3RoaXMuc3VidGl0bGV9PC9wPmA6IiJ9CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt0aGlzLnJ1bkFmdGVyUmVuZGVyJiZhd2FpdCB0aGlzLnJ1bkFmdGVyUmVuZGVyKHRoaXMpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxUMSh0aGlzLEMpfXN0YXRpY3tUMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgdHNhLENZZSxhc2EscnNhPWYoKCk9PntsZSgpO05hKCk7WXMoKTtDWWU9cyhhPT5BcnJheS5mcm9tKHtsZW5ndGg6YX0sKGUsdCk9Pih7aWQ6dCx1c2FnZTpNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqMTAwKSxsYWJlbDpgJHt0fWB9KSksImdlbmVyYXRlQ3B1Q29yZXMiKSxhc2E9cygoKT0+dyh0c2F8fCh0c2E9UjUoW2AKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgYCxgCiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAgIC50aWxlcz1gLGAKICAgICAgICAgIC5ncmlkQWN0aW9ucz1gLGAKICAgICAgICAgIC5taW5UaWxlV2lkdGg9YCxgCiAgICAgICAgICAuZ2FwPWAsYAogICAgICAgID48L2RlZXMtc3RhdHNncmlkPgogICAgICAgIAogICAgICAgIDxkaXYgaWQ9ImFjdGlvbi1vdXRwdXQiIHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyBwYWRkaW5nOiAxMnB4OyBiYWNrZ3JvdW5kOiBgLCI7IGJvcmRlci1yYWRpdXM6IDZweDsgZm9udC1zaXplOiAxNHB4OyBmb250LWZhbWlseTogbW9ub3NwYWNlOyBjb2xvcjogIixgOyI+CiAgICAgICAgICA8ZW0+Q2xpY2sgb24gdGlsZSBhY3Rpb25zIG9yIGdyaWQgYWN0aW9ucyB0byBzZWUgdGhlIHJlc3VsdC4uLjwvZW0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAgIC50aWxlcz1gLGAKICAgICAgICAgIC5taW5UaWxlV2lkdGg9YCxgCiAgICAgICAgICAuZ2FwPWAsYAogICAgICAgID48L2RlZXMtc3RhdHNncmlkPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtY29uZmlnIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLXRpdGxlIj5Db25maWd1cmF0aW9uIE9wdGlvbnM8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLWRlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICBFYWNoIHRpbGUgdHlwZSBzdXBwb3J0cyBkaWZmZXJlbnQgcHJvcGVydGllczoKICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbjogOHB4IDA7IHBhZGRpbmctbGVmdDogMjBweDsiPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+TnVtYmVyOjwvc3Ryb25nPiB2YWx1ZSwgdW5pdCwgY29sb3IsIGRlc2NyaXB0aW9uPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPkdhdWdlOjwvc3Ryb25nPiB2YWx1ZSwgdW5pdCwgZ2F1Z2VPcHRpb25zIChtaW4sIG1heCwgdGhyZXNob2xkcyk8L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+UGVyY2VudGFnZTo8L3N0cm9uZz4gdmFsdWUgKDAtMTAwKSwgY29sb3IsIGRlc2NyaXB0aW9uPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPlRyZW5kOjwvc3Ryb25nPiB2YWx1ZSwgdW5pdCwgdHJlbmREYXRhIGFycmF5LCBkZXNjcmlwdGlvbjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5UZXh0Ojwvc3Ryb25nPiB2YWx1ZSAoc3RyaW5nKSwgY29sb3IsIGRlc2NyaXB0aW9uPC9saT4KICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGg0IHN0eWxlPSJtYXJnaW46IDAgMCAxNnB4IDA7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDYwMDsiPkNvbXBhY3QgTGF5b3V0ICgxODBweCB0aWxlcyk8L2g0PgogICAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgICAgLnRpbGVzPWAsYAogICAgICAgICAgLm1pblRpbGVXaWR0aD1gLGAKICAgICAgICAgIC5nYXA9YCxgCiAgICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CiAgICAgICAgCiAgICAgICAgPGg0IHN0eWxlPSJtYXJnaW46IDI0cHggMCAxNnB4IDA7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDYwMDsiPlNwYWNpb3VzIExheW91dCAoMzIwcHggdGlsZXMpPC9oND4KICAgICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAgIC50aWxlcz1gLGAKICAgICAgICAgIC5taW5UaWxlV2lkdGg9YCxgCiAgICAgICAgICAuZ2FwPWAsYAogICAgICAgID48L2RlZXMtc3RhdHNncmlkPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgICBpZD0iY3B1LWNvcmVzLWdyaWQiCiAgICAgICAgICAudGlsZXM9YCxgCiAgICAgICAgICAuZ3JpZEFjdGlvbnM9YCxgCiAgICAgICAgICAubWluVGlsZVdpZHRoPWAsYAogICAgICAgICAgLmdhcD1gLGAKICAgICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgICAgaWQ9ImludGVyYWN0aXZlLWdyaWQiCiAgICAgICAgICAudGlsZXM9YCxgCiAgICAgICAgICAuZ3JpZEFjdGlvbnM9YCxgCiAgICAgICAgICAubWluVGlsZVdpZHRoPWAsYAogICAgICAgICAgLmdhcD1gLGAKICAgICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtYmxvY2siPmAsYDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgICAudGlsZXM9YCxgCiAgICAgICAgICAubWluVGlsZVdpZHRoPWAsYAogICAgICAgICAgLmdhcD1gLGAKICAgICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1jb25maWciPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctdGl0bGUiPlBhcnRpdGlvbiBUaWxlIFByb3BlcnRpZXM8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLWRlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbjogOHB4IDA7IHBhZGRpbmctbGVmdDogMjBweDsiPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+cGFydGl0aW9uRGF0YS51c2VkOjwvc3Ryb25nPiBVc2VkIHNwYWNlIGluIGJ5dGVzIChhdXRvLWZvcm1hdHRlZCk8L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+cGFydGl0aW9uRGF0YS50b3RhbDo8L3N0cm9uZz4gVG90YWwgY2FwYWNpdHkgaW4gYnl0ZXM8L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+cGFydGl0aW9uRGF0YS5maWxlc3lzdGVtOjwvc3Ryb25nPiBGaWxlc3lzdGVtIHR5cGUgKGV4dDQsIHhmcywgbnRmcyk8L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+cGFydGl0aW9uRGF0YS5tb3VudFBvaW50Ojwvc3Ryb25nPiBNb3VudCBwb2ludCBwYXRoIChvcHRpb25hbCk8L2xpPgogICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgQ29sb3IgdGhyZXNob2xkczogTm9ybWFsICgmbHQ7NzUlKSwgV2FybmluZyAoNzUtOTAlKSwgQ3JpdGljYWwgKCZndDs5MCUpCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy10aXRsZSI+RGlzayBUaWxlIFByb3BlcnRpZXM8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLWRlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbjogOHB4IDA7IHBhZGRpbmctbGVmdDogMjBweDsiPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+ZGlza0RhdGEuY2FwYWNpdHk6PC9zdHJvbmc+IFRvdGFsIGNhcGFjaXR5IGluIGJ5dGVzPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPmRpc2tEYXRhLm1vZGVsOjwvc3Ryb25nPiBEaXNrIG1vZGVsIG5hbWUgKG9wdGlvbmFsKTwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5kaXNrRGF0YS50eXBlOjwvc3Ryb25nPiBEaXNrIHR5cGU6ICdzc2QnLCAnaGRkJywgb3IgJ252bWUnPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPmRpc2tEYXRhLmlvcHM6PC9zdHJvbmc+IFJlYWQvd3JpdGUgSU9QUyAob3B0aW9uYWwpPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPmRpc2tEYXRhLmhlYWx0aDo8L3N0cm9uZz4gSGVhbHRoIHBlcmNlbnRhZ2UgMC0xMDAgKG9wdGlvbmFsKTwvbGk+CiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICBIZWFsdGggdGhyZXNob2xkczogR29vZCAoNzAtMTAwJSksIFdhcm5pbmcgKDMwLTcwJSksIENyaXRpY2FsICgmbHQ7MzAlKQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAvLyBDbGVhbnVwIGxpdmUgdXBkYXRlcyBvbiBwYWdlIHVubG9hZAogICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignYmVmb3JldW5sb2FkJywgKCkgPT4gewogICAgICAgIGlmICgod2luZG93IGFzIGFueSkubGl2ZVVwZGF0ZUludGVydmFsKSB7CiAgICAgICAgICBjbGVhckludGVydmFsKCh3aW5kb3cgYXMgYW55KS5saXZlVXBkYXRlSW50ZXJ2YWwpOwogICAgICAgIH0KICAgICAgfSk7CiAgICA8XC9zY3JpcHQ+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGBdKSksWGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxNDAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnRpbGUtY29uZmlnIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMwMHB4LCAxZnIpKTsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb25maWctc2VjdGlvbiB7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29uZmlnLXRpdGxlIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29uZmlnLWRlc2NyaXB0aW9uIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29kZS1ibG9jayB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxMS44JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsKICAgICAgICB9CiAgICAgIGAsIjEuIENvbXByZWhlbnNpdmUgRGFzaGJvYXJkIiwiRnVsbC1mZWF0dXJlZCBzdGF0cyBncmlkIHdpdGggdmFyaW91cyB0aWxlIHR5cGVzLCBhY3Rpb25zLCBhbmQgTHVjaWRlIGljb25zIixbe2lkOiJyZXZlbnVlIix0aXRsZToiVG90YWwgUmV2ZW51ZSIsdmFsdWU6MTI1NDIwLHVuaXQ6IiQiLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmRvbGxhci1zaWduIixkZXNjcmlwdGlvbjoiKzEyLjUlIGZyb20gbGFzdCBtb250aCIsYWN0aW9uczpbe25hbWU6IlZpZXcgRGV0YWlscyIsaWNvbk5hbWU6Imx1Y2lkZTp0cmVuZGluZy11cCIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhY3Rpb24tb3V0cHV0Iik7YSYmKGEudGV4dENvbnRlbnQ9IlZpZXdpbmcgcmV2ZW51ZSBkZXRhaWxzOiAkMTI1LDQyMCAoKzEyLjUlKSIpfSwiYWN0aW9uIil9LHtuYW1lOiJFeHBvcnQgRGF0YSIsaWNvbk5hbWU6Imx1Y2lkZTpkb3dubG9hZCIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhY3Rpb24tb3V0cHV0Iik7YSYmKGEudGV4dENvbnRlbnQ9IkV4cG9ydGluZyByZXZlbnVlIGRhdGEgdG8gQ1NWLi4uIil9LCJhY3Rpb24iKX1dfSx7aWQ6InVzZXJzIix0aXRsZToiQWN0aXZlIFVzZXJzIix2YWx1ZTozODQ3LHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnVzZXJzIixkZXNjcmlwdGlvbjoiMzI0IG5ldyB0aGlzIHdlZWsiLGFjdGlvbnM6W3tuYW1lOiJWaWV3IFVzZXIgTGlzdCIsaWNvbk5hbWU6Imx1Y2lkZTpsaXN0IixhY3Rpb246cyhhc3luYygpPT57bGV0IGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FjdGlvbi1vdXRwdXQiKTthJiYoYS50ZXh0Q29udGVudD0iT3BlbmluZyB1c2VyIGxpc3QuLi4iKX0sImFjdGlvbiIpfV19LHtpZDoiY3B1Iix0aXRsZToiQ1BVIFVzYWdlIix2YWx1ZTo3Myx1bml0OiIlIix0eXBlOiJnYXVnZSIsaWNvbjoibHVjaWRlOmNwdSIsZ2F1Z2VPcHRpb25zOnttaW46MCxtYXg6MTAwLHRocmVzaG9sZHM6W3t2YWx1ZTowLGNvbG9yOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIn0se3ZhbHVlOjYwLGNvbG9yOiJoc2woNDUuNCA5My40JSA0Ny41JSkifSx7dmFsdWU6ODAsY29sb3I6ImhzbCgwIDg0LjIlIDYwLjIlKSJ9XX19LHtpZDoic3RvcmFnZSIsdGl0bGU6IlN0b3JhZ2UgVXNlZCIsdmFsdWU6NjUsdHlwZToicGVyY2VudGFnZSIsaWNvbjoibHVjaWRlOmhhcmQtZHJpdmUiLGRlc2NyaXB0aW9uOiI2NTAgR0Igb2YgMSBUQiJ9LHtpZDoibGF0ZW5jeSIsdGl0bGU6IlJlc3BvbnNlIFRpbWUiLHZhbHVlOjE0Mix1bml0OiJtcyIsdHlwZToidHJlbmQiLGljb246Imx1Y2lkZTphY3Rpdml0eSIsdHJlbmREYXRhOlsxNTAsMTQ1LDE0OCwxNDIsMTM4LDE0MCwxMzUsMTQ1LDE0Ml0sZGVzY3JpcHRpb246IlA5NSJ9LHtpZDoidXB0aW1lIix0aXRsZToiU3lzdGVtIFVwdGltZSIsdmFsdWU6Ijk5Ljk1JSIsdHlwZToidGV4dCIsaWNvbjoibHVjaWRlOmNoZWNrLWNpcmNsZSIsY29sb3I6ImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLGRlc2NyaXB0aW9uOiJMYXN0IDMwIGRheXMifV0sW3tuYW1lOiJSZWZyZXNoIixpY29uTmFtZToibHVjaWRlOnJlZnJlc2gtY3ciLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkZWVzLXN0YXRzZ3JpZCIpO2EmJihhLnN0eWxlLm9wYWNpdHk9IjAuNSIsc2V0VGltZW91dCgoKT0+e2Euc3R5bGUub3BhY2l0eT0iMSJ9LDMwMCkpfSwiYWN0aW9uIil9LHtuYW1lOiJFeHBvcnQiLGljb25OYW1lOiJsdWNpZGU6c2hhcmUiLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWN0aW9uLW91dHB1dCIpO2EmJihhLnRleHRDb250ZW50PSJFeHBvcnRpbmcgZGFzaGJvYXJkIHJlcG9ydC4uLiIpfSwiYWN0aW9uIil9LHtuYW1lOiJTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpzZXR0aW5ncyIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhY3Rpb24tb3V0cHV0Iik7YSYmKGEudGV4dENvbnRlbnQ9Ik9wZW5pbmcgZGFzaGJvYXJkIHNldHRpbmdzLi4uIil9LCJhY3Rpb24iKX1dLDI1MCwxNixoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIiksaC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpLCIyLiBUaWxlIFR5cGVzIiwiRGlmZmVyZW50IHZpc3VhbGl6YXRpb24gdHlwZXMgYXZhaWxhYmxlIGluIHRoZSBzdGF0cyBncmlkIixbe2lkOiJudW1iZXItZXhhbXBsZSIsdGl0bGU6Ik51bWJlciBUaWxlIix2YWx1ZTo0MjE5NSx1bml0OiIkIix0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpoYXNoIixkZXNjcmlwdGlvbjoiU2ltcGxlIG51bWVyaWMgZGlzcGxheSJ9LHtpZDoiZ2F1Z2UtZXhhbXBsZSIsdGl0bGU6IkdhdWdlIFRpbGUiLHZhbHVlOjY4LHVuaXQ6IiUiLHR5cGU6ImdhdWdlIixpY29uOiJsdWNpZGU6Z2F1Z2UiLGdhdWdlT3B0aW9uczp7bWluOjAsbWF4OjEwMCx0aHJlc2hvbGRzOlt7dmFsdWU6MCxjb2xvcjoiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSJ9LHt2YWx1ZTo1MCxjb2xvcjoiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIn0se3ZhbHVlOjgwLGNvbG9yOiJoc2woMCA4NC4yJSA2MC4yJSkifV19fSx7aWQ6InBlcmNlbnRhZ2UtZXhhbXBsZSIsdGl0bGU6IlBlcmNlbnRhZ2UgVGlsZSIsdmFsdWU6NzgsdHlwZToicGVyY2VudGFnZSIsaWNvbjoibHVjaWRlOnBlcmNlbnQiLGRlc2NyaXB0aW9uOiJQcm9ncmVzcyBiYXIgdmlzdWFsaXphdGlvbiJ9LHtpZDoidHJlbmQtZXhhbXBsZSIsdGl0bGU6IlRyZW5kIFRpbGUiLHZhbHVlOjg5Mix1bml0OiJvcHMvcyIsdHlwZToidHJlbmQiLGljb246Imx1Y2lkZTp0cmVuZGluZy11cCIsdHJlbmREYXRhOls3MjAsNzUwLDc4MCw3OTUsODEwLDgzNSw4NTAsODY1LDg4MCw4OTJdLGRlc2NyaXB0aW9uOiJhdmcifSx7aWQ6InRleHQtZXhhbXBsZSIsdGl0bGU6IlRleHQgVGlsZSIsdmFsdWU6Ik9wZXJhdGlvbmFsIix0eXBlOiJ0ZXh0IixpY29uOiJsdWNpZGU6aW5mbyIsY29sb3I6ImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLGRlc2NyaXB0aW9uOiJTdGF0dXMgZGlzcGxheSJ9XSwyODAsMTYsIjMuIEdyaWQgQ29uZmlndXJhdGlvbnMiLCJEaWZmZXJlbnQgbGF5b3V0IG9wdGlvbnMgYW5kIHJlc3BvbnNpdmUgYmVoYXZpb3IiLFt7aWQ6IjEiLHRpdGxlOiJPcmRlcnMiLHZhbHVlOjE1Nix0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpzaG9wcGluZy1jYXJ0In0se2lkOiIyIix0aXRsZToiUmV2ZW51ZSIsdmFsdWU6ODQyMCx1bml0OiIkIix0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpkb2xsYXItc2lnbiJ9LHtpZDoiMyIsdGl0bGU6IlVzZXJzIix2YWx1ZTo0MjMsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6dXNlcnMifSx7aWQ6IjQiLHRpdGxlOiJHcm93dGgiLHZhbHVlOjEyLjUsdW5pdDoiJSIsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6dHJlbmRpbmctdXAiLGNvbG9yOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIn1dLDE4MCwxMixbe2lkOiJzcGFjaW91czEiLHRpdGxlOiJNb250aGx5IFJldmVudWUiLHZhbHVlOjE4NDUwMCx1bml0OiIkIix0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpjcmVkaXQtY2FyZCIsZGVzY3JpcHRpb246IlRvdGFsIHJldmVudWUgdGhpcyBtb250aCJ9LHtpZDoic3BhY2lvdXMyIix0aXRsZToiQ3VzdG9tZXIgU2F0aXNmYWN0aW9uIix2YWx1ZTo5NCx0eXBlOiJwZXJjZW50YWdlIixpY29uOiJsdWNpZGU6c21pbGUiLGRlc2NyaXB0aW9uOiJCYXNlZCBvbiAxLDIzNCByZXZpZXdzIn0se2lkOiJzcGFjaW91czMiLHRpdGxlOiJTZXJ2ZXIgUmVzcG9uc2UiLHZhbHVlOjk4LHVuaXQ6Im1zIix0eXBlOiJ0cmVuZCIsaWNvbjoibHVjaWRlOnNlcnZlciIsdHJlbmREYXRhOlsxMDUsMTAyLDEwMCw5OSw5OCw5OCw5Nyw5OF0sZGVzY3JpcHRpb246ImF2ZyByZXNwb25zZSB0aW1lIn1dLDMyMCwyMCwiNC4gQ1BVIENvcmVzIFZpc3VhbGl6YXRpb24iLCJWZXJ0aWNhbCBiYXIgdmlzdWFsaXphdGlvbiBmb3IgbXVsdGktY29yZSBDUFUgdXNhZ2Ugd2l0aCBjb2x1bW4gc3Bhbm5pbmciLFt7aWQ6ImNwdS1jb3Jlcy04Iix0aXRsZToiQ1BVIENvcmVzICg4LWNvcmUpIix2YWx1ZTowLHR5cGU6ImNwdUNvcmVzIixpY29uOiJsdWNpZGU6Y3B1Iixjb2x1bW5TcGFuOjIsY29yZXNEYXRhOkNZZSg4KSxkZXNjcmlwdGlvbjoiSW50ZWwgaTcgLSA4IGNvcmVzIn0se2lkOiJtZW1vcnkiLHRpdGxlOiJNZW1vcnkgVXNhZ2UiLHZhbHVlOjY4LHR5cGU6InBlcmNlbnRhZ2UiLGljb246Imx1Y2lkZTpkYXRhYmFzZSIsZGVzY3JpcHRpb246IjEzLjYgR0Igb2YgMjAgR0IifSx7aWQ6ImNwdS1jb3Jlcy0xNiIsdGl0bGU6IkNQVSBDb3JlcyAoMTYtY29yZSkiLHZhbHVlOjAsdHlwZToiY3B1Q29yZXMiLGljb246Imx1Y2lkZTpjcHUiLGNvbHVtblNwYW46Mixjb3Jlc0RhdGE6Q1llKDE2KSxkZXNjcmlwdGlvbjoiQU1EIFJ5emVuIDkgLSAxNiBjb3JlcyJ9LHtpZDoibmV0d29yayIsdGl0bGU6Ik5ldHdvcmsgSS9PIix2YWx1ZToyNDUsdW5pdDoiTUIvcyIsdHlwZToidHJlbmQiLGljb246Imx1Y2lkZTpuZXR3b3JrIix0cmVuZERhdGE6WzIwMCwyMjAsMjM1LDI0MCwyMzgsMjQ1XSxkZXNjcmlwdGlvbjoidGhyb3VnaHB1dCJ9LHtpZDoiY3B1LWNvcmVzLTMyIix0aXRsZToiU2VydmVyIENQVSAoMzItY29yZSkiLHZhbHVlOjAsdHlwZToiY3B1Q29yZXMiLGljb246Imx1Y2lkZTpzZXJ2ZXIiLGNvbHVtblNwYW46Myxjb3Jlc0RhdGE6Q1llKDMyKSxkZXNjcmlwdGlvbjoiQU1EIEVQWUMgLSAzMiBjb3JlcyJ9LHtpZDoiZGlzayIsdGl0bGU6IkRpc2sgVXNhZ2UiLHZhbHVlOjQyLHR5cGU6InBlcmNlbnRhZ2UiLGljb246Imx1Y2lkZTpoYXJkLWRyaXZlIixkZXNjcmlwdGlvbjoiNDIwIEdCIG9mIDEgVEIifV0sW3tuYW1lOiJSYW5kb21pemUiLGljb25OYW1lOiJsdWNpZGU6c2h1ZmZsZSIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNjcHUtY29yZXMtZ3JpZCIpO2lmKCFhKXJldHVybjtsZXQgZT1hLnRpbGVzLm1hcCh0PT50LnR5cGU9PT0iY3B1Q29yZXMiJiZ0LmNvcmVzRGF0YT97Li4udCxjb3Jlc0RhdGE6dC5jb3Jlc0RhdGEubWFwKHI9Pih7Li4ucix1c2FnZTpNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqMTAwKX0pKX06dCk7YS50aWxlcz1lfSwiYWN0aW9uIil9XSwyNTAsMTYsIjUuIEludGVyYWN0aXZlIEZlYXR1cmVzIiwiVGlsZXMgd2l0aCBhY3Rpb25zIGFuZCByZWFsLXRpbWUgdXBkYXRlcyIsW3tpZDoibGl2ZS1jcHUiLHRpdGxlOiJMaXZlIENQVSIsdmFsdWU6NDUsdW5pdDoiJSIsdHlwZToiZ2F1Z2UiLGljb246Imx1Y2lkZTpjcHUiLGdhdWdlT3B0aW9uczp7bWluOjAsbWF4OjEwMCx0aHJlc2hvbGRzOlt7dmFsdWU6MCxjb2xvcjoiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSJ9LHt2YWx1ZTo2MCxjb2xvcjoiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIn0se3ZhbHVlOjgwLGNvbG9yOiJoc2woMCA4NC4yJSA2MC4yJSkifV19fSx7aWQ6ImxpdmUtcmVxdWVzdHMiLHRpdGxlOiJSZXF1ZXN0cy9zZWMiLHZhbHVlOjg5Mix0eXBlOiJ0cmVuZCIsaWNvbjoibHVjaWRlOmFjdGl2aXR5Iix0cmVuZERhdGE6Wzg1MCw4NjAsODcwLDg4MCw4ODUsODkwLDg5Ml19LHtpZDoibGl2ZS1tZW1vcnkiLHRpdGxlOiJNZW1vcnkgVXNhZ2UiLHZhbHVlOjYyLHR5cGU6InBlcmNlbnRhZ2UiLGljb246Imx1Y2lkZTpkYXRhYmFzZSJ9LHtpZDoiY291bnRlciIsdGl0bGU6IkV2ZW50IENvdW50ZXIiLHZhbHVlOjAsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6emFwIixhY3Rpb25zOlt7bmFtZToiSW5jcmVtZW50IixpY29uTmFtZToibHVjaWRlOnBsdXMiLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaW50ZXJhY3RpdmUtZ3JpZCIpO2lmKCFhKXJldHVybjtsZXQgZT1hLnRpbGVzLmZpbmQodD0+dC5pZD09PSJjb3VudGVyIik7ZS52YWx1ZT10eXBlb2YgZS52YWx1ZT09Im51bWJlciI/ZS52YWx1ZSsxOjEsYS50aWxlcz1bLi4uYS50aWxlc119LCJhY3Rpb24iKX0se25hbWU6IlJlc2V0IixpY29uTmFtZToibHVjaWRlOnJvdGF0ZS1jY3ciLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaW50ZXJhY3RpdmUtZ3JpZCIpO2lmKCFhKXJldHVybjtsZXQgZT1hLnRpbGVzLmZpbmQodD0+dC5pZD09PSJjb3VudGVyIik7ZS52YWx1ZT0wLGEudGlsZXM9Wy4uLmEudGlsZXNdfSwiYWN0aW9uIil9XX1dLFt7bmFtZToiU3RhcnQgTGl2ZSBVcGRhdGVzIixpY29uTmFtZToibHVjaWRlOnBsYXkiLGFjdGlvbjpzKGFzeW5jIGZ1bmN0aW9uKCl7d2luZG93LmxpdmVVcGRhdGVJbnRlcnZhbD8oY2xlYXJJbnRlcnZhbCh3aW5kb3cubGl2ZVVwZGF0ZUludGVydmFsKSx3aW5kb3cubGl2ZVVwZGF0ZUludGVydmFsPW51bGwsdGhpcy5uYW1lPSJTdGFydCBMaXZlIFVwZGF0ZXMiLHRoaXMuaWNvbk5hbWU9Imx1Y2lkZTpwbGF5Iik6KHdpbmRvdy5saXZlVXBkYXRlSW50ZXJ2YWw9c2V0SW50ZXJ2YWwoKCk9PntsZXQgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjaW50ZXJhY3RpdmUtZ3JpZCIpO2lmKGEpe2xldCBlPVsuLi5hLnRpbGVzXSx0PWUuZmluZChuPT5uLmlkPT09ImxpdmUtY3B1Iik7dC52YWx1ZT1NYXRoLm1heCgwLE1hdGgubWluKDEwMCx0LnZhbHVlKyhNYXRoLnJhbmRvbSgpKjIwLTEwKSkpO2xldCByPWUuZmluZChuPT5uLmlkPT09ImxpdmUtcmVxdWVzdHMiKSxpPXIudmFsdWUrTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKjUwLTI1KTtyLnZhbHVlPU1hdGgubWF4KDgwMCxpKSxyLnRyZW5kRGF0YT1bLi4uci50cmVuZERhdGEuc2xpY2UoMSksci52YWx1ZV07bGV0IG89ZS5maW5kKG49Pm4uaWQ9PT0ibGl2ZS1tZW1vcnkiKTtvLnZhbHVlPU1hdGgubWF4KDAsTWF0aC5taW4oMTAwLG8udmFsdWUrKE1hdGgucmFuZG9tKCkqMTAtNSkpKSxhLnRpbGVzPWV9fSwxZTMpLHRoaXMubmFtZT0iU3RvcCBMaXZlIFVwZGF0ZXMiLHRoaXMuaWNvbk5hbWU9Imx1Y2lkZTpwYXVzZSIpfSwiYWN0aW9uIil9XSwyNTAsMTYsIjYuIENvZGUgRXhhbXBsZSIsIkhvdyB0byBpbXBsZW1lbnQgYSBzdGF0cyBncmlkIHdpdGggVHlwZVNjcmlwdCIsYGNvbnN0IHRpbGVzOiBJU3RhdHNUaWxlW10gPSBbCiAgewogICAgaWQ6ICdyZXZlbnVlJywKICAgIHRpdGxlOiAnVG90YWwgUmV2ZW51ZScsCiAgICB2YWx1ZTogMTI1NDIwLAogICAgdW5pdDogJyQnLAogICAgdHlwZTogJ251bWJlcicsCiAgICBpY29uOiAnbHVjaWRlOmRvbGxhci1zaWduJywKICAgIGRlc2NyaXB0aW9uOiAnKzEyLjUlIGZyb20gbGFzdCBtb250aCcsCiAgICBhY3Rpb25zOiBbCiAgICAgIHsKICAgICAgICBuYW1lOiAnVmlldyBEZXRhaWxzJywKICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTp0cmVuZGluZy11cCcsCiAgICAgICAgYWN0aW9uOiBhc3luYyAoKSA9PiB7CiAgICAgICAgICBjb25zb2xlLmxvZygnVmlldyByZXZlbnVlIGRldGFpbHMnKTsKICAgICAgICB9CiAgICAgIH0KICAgIF0KICB9LAogIHsKICAgIGlkOiAnY3B1JywKICAgIHRpdGxlOiAnQ1BVIFVzYWdlJywKICAgIHZhbHVlOiA3MywKICAgIHVuaXQ6ICclJywKICAgIHR5cGU6ICdnYXVnZScsCiAgICBpY29uOiAnbHVjaWRlOmNwdScsCiAgICBnYXVnZU9wdGlvbnM6IHsKICAgICAgbWluOiAwLAogICAgICBtYXg6IDEwMCwKICAgICAgdGhyZXNob2xkczogWwogICAgICAgIHsgdmFsdWU6IDAsIGNvbG9yOiAnaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKScgfSwKICAgICAgICB7IHZhbHVlOiA2MCwgY29sb3I6ICdoc2woNDUuNCA5My40JSA0Ny41JSknIH0sCiAgICAgICAgeyB2YWx1ZTogODAsIGNvbG9yOiAnaHNsKDAgODQuMiUgNjAuMiUpJyB9CiAgICAgIF0KICAgIH0KICB9Cl07CgovLyBSZW5kZXIgdGhlIHN0YXRzIGdyaWQKaHRtbFxgCiAgPGRlZXMtc3RhdHNncmlkCiAgICAudGlsZXM9XCR7dGlsZXN9CiAgICAubWluVGlsZVdpZHRoPVwkezI1MH0KICAgIC5nYXA9XCR7MTZ9CiAgICAuZ3JpZEFjdGlvbnM9XCR7WwogICAgICB7CiAgICAgICAgbmFtZTogJ1JlZnJlc2gnLAogICAgICAgIGljb25OYW1lOiAnbHVjaWRlOnJlZnJlc2gtY3cnLAogICAgICAgIGFjdGlvbjogYXN5bmMgKCkgPT4gY29uc29sZS5sb2coJ1JlZnJlc2gnKQogICAgICB9CiAgICBdfQogID48L2RlZXMtc3RhdHNncmlkPgpcYDtgLCI3LiBEaXNrICYgU3RvcmFnZSBUaWxlcyIsIlBhcnRpdGlvbiBhbmQgcGh5c2ljYWwgZGlzayB2aXN1YWxpemF0aW9uIHRpbGVzIixbe2lkOiJyb290LXBhcnRpdGlvbiIsdGl0bGU6IlJvb3QgUGFydGl0aW9uIix2YWx1ZTowLHR5cGU6InBhcnRpdGlvbiIsaWNvbjoibHVjaWRlOmZvbGRlci1yb290IixwYXJ0aXRpb25EYXRhOnt1c2VkOjY5ODM0MTQyNTE1Mix0b3RhbDoxMDczNzQxODI0ZTMsZmlsZXN5c3RlbToiZXh0NCIsbW91bnRQb2ludDoiLyJ9fSx7aWQ6ImhvbWUtcGFydGl0aW9uIix0aXRsZToiSG9tZSBQYXJ0aXRpb24iLHZhbHVlOjAsdHlwZToicGFydGl0aW9uIixpY29uOiJsdWNpZGU6aG9tZSIscGFydGl0aW9uRGF0YTp7dXNlZDoyMTQ3NDgzNjQ4MDAsdG90YWw6NTM2ODcwOTEyZTMsZmlsZXN5c3RlbToiZXh0NCIsbW91bnRQb2ludDoiL2hvbWUifX0se2lkOiJkYXRhLXBhcnRpdGlvbiIsdGl0bGU6IkRhdGEgUGFydGl0aW9uIix2YWx1ZTowLHR5cGU6InBhcnRpdGlvbiIsaWNvbjoibHVjaWRlOmRhdGFiYXNlIixwYXJ0aXRpb25EYXRhOnt1c2VkOjE5MzI3MzUyODMyMDAsdG90YWw6MjE0NzQ4MzY0OGUzLGZpbGVzeXN0ZW06InhmcyIsbW91bnRQb2ludDoiL2RhdGEifX0se2lkOiJudm1lLXNzZCIsdGl0bGU6IlByaW1hcnkgTlZNZSIsdmFsdWU6MCx0eXBlOiJkaXNrIixpY29uOiJsdWNpZGU6aGFyZC1kcml2ZSIsY29sdW1uU3BhbjoyLGRpc2tEYXRhOntjYXBhY2l0eToyZTEyLG1vZGVsOiJTYW1zdW5nIDk5MCBQcm8iLHR5cGU6Im52bWUiLGlvcHM6e3JlYWQ6NzQ1MCx3cml0ZTo2OTAwfSxoZWFsdGg6OTh9fSx7aWQ6InNhdGEtc3NkIix0aXRsZToiU2Vjb25kYXJ5IFNTRCIsdmFsdWU6MCx0eXBlOiJkaXNrIixpY29uOiJsdWNpZGU6aGFyZC1kcml2ZSIsZGlza0RhdGE6e2NhcGFjaXR5OjFlMTIsbW9kZWw6IkNydWNpYWwgTVg1MDAiLHR5cGU6InNzZCIsaW9wczp7cmVhZDo1NjAsd3JpdGU6NTEwfSxoZWFsdGg6ODV9fSx7aWQ6ImhkZC1zdG9yYWdlIix0aXRsZToiQmFja3VwIEhERCIsdmFsdWU6MCx0eXBlOiJkaXNrIixpY29uOiJsdWNpZGU6YXJjaGl2ZSIsZGlza0RhdGE6e2NhcGFjaXR5OjhlMTIsbW9kZWw6IlNlYWdhdGUgSXJvbldvbGYiLHR5cGU6ImhkZCIsaW9wczp7cmVhZDoyMTAsd3JpdGU6MTk1fSxoZWFsdGg6NDJ9fV0sMjgwLDE2KSwiZGVtb0Z1bmMiKX0pO3ZhciBzNCxQaSxNdCxTcj1mKCgpPT57bGUoKTtlYSgpO3M0PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxQaT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sTXQ9KCgpPT57bGV0IGE9cGUsZSx0PVtdLHI9W10saSxvPVtdLG49W10sbCxkPVtdLGM9W10scCx1PVtdLG09W10sdix4PVtdLGI9W10sZyx5PVtdLGs9W10sQyxOPVtdLF89W10seixPPVtdLFQ9W107cmV0dXJuIGNsYXNzIGV4dGVuZHMgYXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRCYXNlIil9c3RhdGlje2xldCBCPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGFbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO2U9WyQoe3R5cGU6U3RyaW5nfSldLGk9WyQoe3R5cGU6U3RyaW5nfSldLGw9WyQoe3R5cGU6U3RyaW5nfSldLHA9WyQoe3R5cGU6U3RyaW5nfSldLHY9WyQoe3R5cGU6Qm9vbGVhbn0pXSxnPVskKHt0eXBlOkJvb2xlYW59KV0sQz1bJCh7dHlwZTpTdHJpbmd9KV0sej1bJCh7dHlwZTpTdHJpbmd9KV0sczQodGhpcyxudWxsLGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYXlvdXRNb2RlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKE09PiJsYXlvdXRNb2RlImluIE0sImhhcyIpLGdldDpzKE09Pk0ubGF5b3V0TW9kZSwiZ2V0Iiksc2V0OnMoKE0sUyk9PntNLmxheW91dE1vZGU9U30sInNldCIpfSxtZXRhZGF0YTpCfSx0LHIpLHM0KHRoaXMsbnVsbCxpLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWxQb3NpdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhNPT4ibGFiZWxQb3NpdGlvbiJpbiBNLCJoYXMiKSxnZXQ6cyhNPT5NLmxhYmVsUG9zaXRpb24sImdldCIpLHNldDpzKChNLFMpPT57TS5sYWJlbFBvc2l0aW9uPVN9LCJzZXQiKX0sbWV0YWRhdGE6Qn0sbyxuKSxzNCh0aGlzLG51bGwsbCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImtleSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhNPT4ia2V5ImluIE0sImhhcyIpLGdldDpzKE09Pk0ua2V5LCJnZXQiKSxzZXQ6cygoTSxTKT0+e00ua2V5PVN9LCJzZXQiKX0sbWV0YWRhdGE6Qn0sZCxjKSxzNCh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKE09PiJsYWJlbCJpbiBNLCJoYXMiKSxnZXQ6cyhNPT5NLmxhYmVsLCJnZXQiKSxzZXQ6cygoTSxTKT0+e00ubGFiZWw9U30sInNldCIpfSxtZXRhZGF0YTpCfSx1LG0pLHM0KHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVxdWlyZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTT0+InJlcXVpcmVkImluIE0sImhhcyIpLGdldDpzKE09Pk0ucmVxdWlyZWQsImdldCIpLHNldDpzKChNLFMpPT57TS5yZXF1aXJlZD1TfSwic2V0Iil9LG1ldGFkYXRhOkJ9LHgsYiksczQodGhpcyxudWxsLGcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXNhYmxlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhNPT4iZGlzYWJsZWQiaW4gTSwiaGFzIiksZ2V0OnMoTT0+TS5kaXNhYmxlZCwiZ2V0Iiksc2V0OnMoKE0sUyk9PntNLmRpc2FibGVkPVN9LCJzZXQiKX0sbWV0YWRhdGE6Qn0seSxrKSxzNCh0aGlzLG51bGwsQyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImluZm9UZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKE09PiJpbmZvVGV4dCJpbiBNLCJoYXMiKSxnZXQ6cyhNPT5NLmluZm9UZXh0LCJnZXQiKSxzZXQ6cygoTSxTKT0+e00uaW5mb1RleHQ9U30sInNldCIpfSxtZXRhZGF0YTpCfSxOLF8pLHM0KHRoaXMsbnVsbCx6LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGVzY3JpcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTT0+ImRlc2NyaXB0aW9uImluIE0sImhhcyIpLGdldDpzKE09Pk0uZGVzY3JpcHRpb24sImdldCIpLHNldDpzKChNLFMpPT57TS5kZXNjcmlwdGlvbj1TfSwic2V0Iil9LG1ldGFkYXRhOkJ9LE8sVCksQiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpCfSl9I2U9UGkodGhpcyx0LCJhdXRvIik7Z2V0IGxheW91dE1vZGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbGF5b3V0TW9kZShCKXt0aGlzLiNlPUJ9I3Q9KFBpKHRoaXMsciksUGkodGhpcyxvLCJ0b3AiKSk7Z2V0IGxhYmVsUG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgbGFiZWxQb3NpdGlvbihCKXt0aGlzLiN0PUJ9I2E9KFBpKHRoaXMsbiksUGkodGhpcyxkLHZvaWQgMCkpO2dldCBrZXkoKXtyZXR1cm4gdGhpcy4jYX1zZXQga2V5KEIpe3RoaXMuI2E9Qn0jcj0oUGkodGhpcyxjKSxQaSh0aGlzLHUsdm9pZCAwKSk7Z2V0IGxhYmVsKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGxhYmVsKEIpe3RoaXMuI3I9Qn0jcz0oUGkodGhpcyxtKSxQaSh0aGlzLHgsITEpKTtnZXQgcmVxdWlyZWQoKXtyZXR1cm4gdGhpcy4jc31zZXQgcmVxdWlyZWQoQil7dGhpcy4jcz1CfSNpPShQaSh0aGlzLGIpLFBpKHRoaXMseSwhMSkpO2dldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLiNpfXNldCBkaXNhYmxlZChCKXt0aGlzLiNpPUJ9I289KFBpKHRoaXMsayksUGkodGhpcyxOLHZvaWQgMCkpO2dldCBpbmZvVGV4dCgpe3JldHVybiB0aGlzLiNvfXNldCBpbmZvVGV4dChCKXt0aGlzLiNvPUJ9I249KFBpKHRoaXMsXyksUGkodGhpcyxPLHZvaWQgMCkpO2dldCBkZXNjcmlwdGlvbigpe3JldHVybiB0aGlzLiNufXNldCBkZXNjcmlwdGlvbihCKXt0aGlzLiNuPUJ9c3RhdGljIGdldCBiYXNlU3R5bGVzKCl7cmV0dXJuW1hgCiAgICAgICAgLyogQ1NTIFZhcmlhYmxlcyBmb3IgY29uc2lzdGVudCBzcGFjaW5nICovCiAgICAgICAgOmhvc3QgewogICAgICAgICAgLS1kZWVzLWlucHV0LXNwYWNpbmctdW5pdDogOHB4OwogICAgICAgICAgLS1kZWVzLWlucHV0LWxhYmVsLWdhcDogdmFyKC0tZGVlcy1pbnB1dC1zcGFjaW5nLXVuaXQpOyAvKiA4cHggKi8KICAgICAgICB9CgogICAgICAgIC8qIERlZmF1bHQgYmxvY2sgZGlzcGxheSB3aXRoIG5vIG1hcmdpbnMgLSBzcGFjaW5nIGlzIGNvbnRhaW5lci1kcml2ZW4gKi8KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICB9CgogICAgICAgIC8qIEhvcml6b250YWwgbGF5b3V0IG1vZGUgLSBhY3RpdmF0ZWQgYnkgYXR0cmlidXRlICovCiAgICAgICAgOmhvc3QoW2xheW91dC1tb2RlPSJob3Jpem9udGFsIl0pIHsKICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICB9CgogICAgICAgIC8qIExhYmVsIHBvc2l0aW9uIHZhcmlhdGlvbnMgKi8KICAgICAgICA6aG9zdChbbGFiZWwtcG9zaXRpb249ImxlZnQiXSkgLmlucHV0LXdyYXBwZXIgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7CiAgICAgICAgICBnYXA6IHZhcigtLWRlZXMtaW5wdXQtbGFiZWwtZ2FwKTsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICA6aG9zdChbbGFiZWwtcG9zaXRpb249InJpZ2h0Il0pIC5pbnB1dC13cmFwcGVyIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvOwogICAgICAgICAgZ2FwOiB2YXIoLS1kZWVzLWlucHV0LWxhYmVsLWdhcCk7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSJ0b3AiXSkgLmlucHV0LXdyYXBwZXIgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgfQoKICAgICAgICA6aG9zdChbbGFiZWwtcG9zaXRpb249Im5vbmUiXSkgZGVlcy1sYWJlbCB7CiAgICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIH0KCiAgICAgICAgLyogRGVzY3JpcHRpb24gdGV4dCBiZWxvdyBpbnB1dCAqLwogICAgICAgIC5kZXNjcmlwdGlvblRleHQgewogICAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIH0KICAgICAgYF19Y2hhbmdlU3ViamVjdD0oUGkodGhpcyxUKSxuZXcgSHQuc21hcnRyeC5yeGpzLlN1YmplY3QpO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmRldGVjdExheW91dE1vZGUoKX1kZXRlY3RMYXlvdXRNb2RlKCl7aWYodGhpcy5sYXlvdXRNb2RlIT09ImF1dG8iKXt0aGlzLnNldEF0dHJpYnV0ZSgibGF5b3V0LW1vZGUiLHRoaXMubGF5b3V0TW9kZSk7cmV0dXJufWxldCBCPXRoaXMuY2xvc2VzdCgiZGVlcy1mb3JtIik7QiYmQi5oYXNBdHRyaWJ1dGUoImhvcml6b250YWwtbGF5b3V0Iik/dGhpcy5zZXRBdHRyaWJ1dGUoImxheW91dC1tb2RlIiwiaG9yaXpvbnRhbCIpOnRoaXMuc2V0QXR0cmlidXRlKCJsYXlvdXQtbW9kZSIsInZlcnRpY2FsIil9dXBkYXRlZChCKXtzdXBlci51cGRhdGVkKEIpLEIuaGFzKCJsYXlvdXRNb2RlIikmJnRoaXMuZGV0ZWN0TGF5b3V0TW9kZSgpLEIuaGFzKCJsYWJlbFBvc2l0aW9uIikmJnRoaXMuc2V0QXR0cmlidXRlKCJsYWJlbC1wb3NpdGlvbiIsdGhpcy5sYWJlbFBvc2l0aW9uKX1hc3luYyBmcmVlemUoKXt0aGlzLmRpc2FibGVkPSEwfWFzeW5jIHVuZnJlZXplKCl7dGhpcy5kaXNhYmxlZD0hMX1yZW5kZXJEZXNjcmlwdGlvbigpe3JldHVybiB0aGlzLmRlc2NyaXB0aW9uP3dgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb25UZXh0Ij4ke3RoaXMuZGVzY3JpcHRpb259PC9kaXY+YDoiIn19fSkoKX0pO3ZhciBzc2EsaXNhPWYoKCk9PntsZSgpO05hKCk7WXMoKTtrZigpO3NzYT1zKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtY2hlY2tib3giKSx0PWEucXVlcnlTZWxlY3RvcigiI3NlbGVjdC1hbGwtYnRuIikscj1hLnF1ZXJ5U2VsZWN0b3IoIiNjbGVhci1hbGwtYnRuIik7dCYmciYmKHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5mb3JFYWNoKGk9PnshaS5kaXNhYmxlZCYmaS5rZXk/LnN0YXJ0c1dpdGgoImZlYXR1cmUiKSYmKGkudmFsdWU9ITApfSl9KSxyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2UuZm9yRWFjaChpPT57IWkuZGlzYWJsZWQmJmkua2V5Py5zdGFydHNXaXRoKCJmZWF0dXJlIikmJihpLnZhbHVlPSExKX0pfSkpfX0+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNoZWNrYm94LWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaG9yaXpvbnRhbC1jaGVja2JveGVzIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5pbnRlcmFjdGl2ZS1zZWN0aW9uIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAub3V0cHV0LXRleHQgewogICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjEwIDQwJSA4MCUpIil9OwogICAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk4JSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5mb3JtLXNlY3Rpb24gewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk3JSkiLCJoc2woMCAwJSA3JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5idXR0b24tZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmZlYXR1cmUtbGlzdCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxMS44JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIENoZWNrYm94ZXMifSAuc3VidGl0bGU9JHsiU2ltcGxlIGNoZWNrYm94IGV4YW1wbGVzIHdpdGggdmFyaW91cyBsYWJlbHMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgLmxhYmVsPSR7IkkgYWdyZWUgdG8gdGhlIFRlcm1zIGFuZCBDb25kaXRpb25zIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgIC5rZXk9JHsidGVybXMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiU3Vic2NyaWJlIHRvIG5ld3NsZXR0ZXIifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmtleT0keyJuZXdzbGV0dGVyIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgLmxhYmVsPSR7IkVuYWJsZSBub3RpZmljYXRpb25zIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJSZWNlaXZlIGVtYWlsIHVwZGF0ZXMgYWJvdXQgeW91ciBhY2NvdW50In0KICAgICAgICAgICAgLmtleT0keyJub3RpZmljYXRpb25zIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJDaGVja2JveCBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IGNoZWNrYm94IHN0YXRlcyBhbmQgY29uZmlndXJhdGlvbnMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgLmxhYmVsPSR7IkRlZmF1bHQgc3RhdGUifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgLmxhYmVsPSR7IkNoZWNrZWQgc3RhdGUifQogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIHVuY2hlY2tlZCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIGNoZWNrZWQifQogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgoKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgIC5sYWJlbD0keyJSZXF1aXJlZCBjaGVja2JveCJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAua2V5PSR7InJlcXVpcmVkIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJIb3Jpem9udGFsIExheW91dCJ9IC5zdWJ0aXRsZT0keyJDaGVja2JveGVzIGFycmFuZ2VkIGhvcml6b250YWxseSBmb3IgY29tcGFjdCBmb3JtcyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWNoZWNrYm94ZXMiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJPcHRpb24gQSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLmtleT0keyJvcHRpb25BIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7Ik9wdGlvbiBCIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAua2V5PSR7Im9wdGlvbkIifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAubGFiZWw9JHsiT3B0aW9uIEMifQogICAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC5rZXk9JHsib3B0aW9uQyJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJPcHRpb24gRCJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLmtleT0keyJvcHRpb25EIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRmVhdHVyZSBTZWxlY3Rpb24gRXhhbXBsZSJ9IC5zdWJ0aXRsZT0keyJDb21tb24gdXNlIGNhc2UgZm9yIGZlYXR1cmUgdG9nZ2xlcyB3aXRoIGJhdGNoIG9wZXJhdGlvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIGlkPSJzZWxlY3QtYWxsLWJ0biIgdHlwZT0ic2Vjb25kYXJ5Ij5TZWxlY3QgQWxsPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBpZD0iY2xlYXItYWxsLWJ0biIgdHlwZT0ic2Vjb25kYXJ5Ij5DbGVhciBBbGw8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtbGlzdCI+CiAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJEYXJrIE1vZGUgU3VwcG9ydCJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmtleT0keyJmZWF0dXJlMSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJFbWFpbCBOb3RpZmljYXRpb25zIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAua2V5PSR7ImZlYXR1cmUyIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7IlR3by1GYWN0b3IgQXV0aGVudGljYXRpb24ifQogICAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAgIC5rZXk9JHsiZmVhdHVyZTMifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAubGFiZWw9JHsiQVBJIEFjY2VzcyJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmtleT0keyJmZWF0dXJlNCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJBZHZhbmNlZCBBbmFseXRpY3MifQogICAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAgIC5rZXk9JHsiZmVhdHVyZTUifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJQcml2YWN5IFNldHRpbmdzIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiQ2hlY2tib3hlcyBpbiBhIHR5cGljYWwgZm9ybSBjb250ZXh0In0+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1zZWN0aW9uIj4KICAgICAgICAgIDxoNCBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UHJpdmFjeSBQcmVmZXJlbmNlczwvaDQ+CgogICAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAubGFiZWw9JHsiU2hhcmUgYW5hbHl0aWNzIGRhdGEifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJIZWxwIHVzIGltcHJvdmUgYnkgc2hhcmluZyBhbm9ueW1vdXMgdXNhZ2UgZGF0YSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJQZXJzb25hbGl6ZWQgcmVjb21tZW5kYXRpb25zIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiR2V0IHN1Z2dlc3Rpb25zIGJhc2VkIG9uIHlvdXIgYWN0aXZpdHkifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAubGFiZWw9JHsiTWFya2V0aW5nIGNvbW11bmljYXRpb25zIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiUmVjZWl2ZSBwcm9tb3Rpb25hbCBlbWFpbHMgYW5kIHNwZWNpYWwgb2ZmZXJzIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7IlRoaXJkLXBhcnR5IGludGVncmF0aW9ucyJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkFsbG93IGFwcHJvdmVkIHBhcnRuZXJzIHRvIGFjY2VzcyB5b3VyIGRhdGEifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJJbnRlcmFjdGl2ZSBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IkNsaWNrIGNoZWNrYm94ZXMgdG8gc2VlIHZhbHVlIGNoYW5nZXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgLmxhYmVsPSR7IkZlYXR1cmUgdG9nZ2xlIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIEBjaGFuZ2VTdWJqZWN0PSR7YT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNjaGVja2JveC1vdXRwdXQiKTtpZihlJiZhLmRldGFpbCl7bGV0IHQ9YS5kZXRhaWwuZ2V0VmFsdWUoKTtlLnRleHRDb250ZW50PWBGZWF0dXJlIGlzICR7dD8iZW5hYmxlZCI6ImRpc2FibGVkIn1gfX19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgoKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgIC5sYWJlbD0keyJEZWJ1ZyBtb2RlIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIEBjaGFuZ2VTdWJqZWN0PSR7YT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNkZWJ1Zy1vdXRwdXQiKTtpZihlJiZhLmRldGFpbCl7bGV0IHQ9YS5kZXRhaWwuZ2V0VmFsdWUoKTtlLnRleHRDb250ZW50PWBEZWJ1ZyBtb2RlOiAke3Q/Ik9OIjoiT0ZGIn1gfX19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgIDwvZGVlcy1mb3JtPgoKICAgICAgICA8ZGl2IGNsYXNzPSJpbnRlcmFjdGl2ZS1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgaWQ9ImNoZWNrYm94LW91dHB1dCIgY2xhc3M9Im91dHB1dC10ZXh0Ij5GZWF0dXJlIGlzIGRpc2FibGVkPC9kaXY+CiAgICAgICAgICA8ZGl2IGlkPSJkZWJ1Zy1vdXRwdXQiIGNsYXNzPSJvdXRwdXQtdGV4dCIgc3R5bGU9Im1hcmdpbi10b3A6IDhweDsiPkRlYnVnIG1vZGU6IE9GRjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgX1llLCRVLEd0ZSxZdGU9ZigoKT0+e2xlKCk7U3IoKTtpc2EoKTttcygpO1FlKCk7X1llPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSwkVT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sR3RlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC1jaGVja2JveCIpXSxlLHQ9W10scixpPU10LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRDaGVja2JveCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6Qm9vbGVhbn0pXSxkPVskKHt0eXBlOkJvb2xlYW59KV0sX1llKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InZhbHVlImluIHYsImhhcyIpLGdldDpzKHY9PnYudmFsdWUsImdldCIpLHNldDpzKCh2LHgpPT57di52YWx1ZT14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksX1llKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5kZXRlcm1pbmF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iaW5kZXRlcm1pbmF0ZSJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmluZGV0ZXJtaW5hdGUsImdldCIpLHNldDpzKCh2LHgpPT57di5pbmRldGVybWluYXRlPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxfWWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zc2E7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPSRVKHRoaXMsbiwhMSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKG0pe3RoaXMuI2U9bX0jdD0oJFUodGhpcyxsKSwkVSh0aGlzLGMsITEpKTtnZXQgaW5kZXRlcm1pbmF0ZSgpe3JldHVybiB0aGlzLiN0fXNldCBpbmRldGVybWluYXRlKG0pe3RoaXMuI3Q9bX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksJFUodGhpcyxwKSx0aGlzLmxhYmVsUG9zaXRpb249InJpZ2h0In1zdGF0aWMgc3R5bGVzPVtQZSwuLi5NdC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgICAgKiB7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KCiAgICAgICAgOmhvc3QgewogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIH0KCiAgICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICB9CgogICAgICAgIC5jaGVja2JveCB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgICB3aWR0aDogMThweDsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxcHg7CiAgICAgICAgfQoKICAgICAgICAubWFpbmNvbnRhaW5lcjpob3ZlciAuY2hlY2tib3ggewogICAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjAuOSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLmNoZWNrYm94LnNlbGVjdGVkIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIH0KCiAgICAgICAgLmNoZWNrYm94OmZvY3VzLXZpc2libGUgewogICAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgICAgfQoKICAgICAgICAvKiBDaGVja21hcmsgdXNpbmcgTHVjaWRlIGljb24gc3R5bGUgKi8KICAgICAgICAuY2hlY2tib3ggLmNoZWNrbWFyayB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICB0b3A6IDUwJTsKICAgICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTsKICAgICAgICB9CgogICAgICAgIC5jaGVja2JveC5zZWxlY3RlZCAuY2hlY2ttYXJrIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3ggLmNoZWNrbWFyayBzdmcgewogICAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgICBoZWlnaHQ6IDEycHg7CiAgICAgICAgICBzdHJva2U6IHdoaXRlOwogICAgICAgICAgc3Ryb2tlLXdpZHRoOiAzOwogICAgICAgIH0KCiAgICAgICAgLyogRGlzYWJsZWQgc3RhdGUgKi8KICAgICAgICAubWFpbmNvbnRhaW5lci5kaXNhYmxlZCB7CiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIH0KCiAgICAgICAgLmNoZWNrYm94LmRpc2FibGVkIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAvKiBMYWJlbCAqLwogICAgICAgIC5sYWJlbC1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDJweDsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3gtbGFiZWwgewogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICB9CgogICAgICAgIC5tYWluY29udGFpbmVyOmhvdmVyIC5jaGVja2JveC1sYWJlbCB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgfQoKICAgICAgICAubWFpbmNvbnRhaW5lci5kaXNhYmxlZDpob3ZlciAuY2hlY2tib3gtbGFiZWwgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICB9CgogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIgJHt0aGlzLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IiBAY2xpY2s9IiR7dGhpcy50b2dnbGVTZWxlY3RlZH0iPgogICAgICAgICAgPGRpdiAKICAgICAgICAgICAgY2xhc3M9ImNoZWNrYm94ICR7dGhpcy52YWx1ZT8ic2VsZWN0ZWQiOiIifSAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iIAogICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgQGtleWRvd249IiR7dGhpcy5oYW5kbGVLZXlkb3dufSIKICAgICAgICAgID4KICAgICAgICAgICAgJHt0aGlzLnZhbHVlP3dgCiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjaGVja21hcmsiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIwIDZMOSAxN0w0IDEyIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIGA6dGhpcy5pbmRldGVybWluYXRlP3dgCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNoZWNrbWFyayI+CiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUgMTJIMTkiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgYDp3YGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLWNvbnRhaW5lciI+CiAgICAgICAgICAgICR7dGhpcy5sYWJlbD93YDxkaXYgY2xhc3M9ImNoZWNrYm94LWxhYmVsIj4ke3RoaXMubGFiZWx9PC9kaXY+YDoiIn0KICAgICAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIHRvZ2dsZVNlbGVjdGVkKCl7dGhpcy5kaXNhYmxlZHx8KHRoaXMudmFsdWU9IXRoaXMudmFsdWUsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibmV3VmFsdWUiLHtkZXRhaWw6dGhpcy52YWx1ZSxidWJibGVzOiEwfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKG0pe3RoaXMudmFsdWU9bX1mb2N1cygpe2xldCBtPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY2hlY2tib3giKTttJiZtLmZvY3VzKCl9aGFuZGxlS2V5ZG93bihtKXsobS5rZXk9PT0iICJ8fG0ua2V5PT09IkVudGVyIikmJihtLnByZXZlbnREZWZhdWx0KCksdGhpcy50b2dnbGVTZWxlY3RlZCgpKX1zdGF0aWN7JFUocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIHRtPXt9O2x0KHRtLHticmlnaHQ6KCk9Pm80LGRhcms6KCk9Pmk0fSk7dmFyIGk0LG80LEwxPWYoKCk9PntpND17Ymx1ZToiIzAwNTBiOSIsYmx1ZUFjdGl2ZToiIzAwNjlmMiIsYmx1ZU11dGVkOiIjMDEyNDUyIix0ZXh0OiIjZmZmZmZmIn0sbzQ9e2JsdWU6IiMwMDUwYjkiLGJsdWVBY3RpdmU6IiMwMDY5ZjIiLGJsdWVNdXRlZDoiIzAwNjlmMiIsdGV4dDoiIzMzMzMzMyJ9fSk7dmFyIG9zYSxuc2E9ZigoKT0+e2xlKCk7Y2MoKTtvc2E9cygoKT0+d2AKICA8c3R5bGU+CiAgICAke1hgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMxYTFhMWEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMzMzIil9OwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1zZWN0aW9uIGgzIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tc2VjdGlvbiBwIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2NjYiLCIjOTk5Iil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5idXR0b24tZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE1MHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KICAKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+SGVhZGVyIEJ1dHRvbnM8L2gzPgogICAgICA8cD5Nb2RhbHMgY2FuIGhhdmUgb3B0aW9uYWwgaGVhZGVyIGJ1dHRvbnMgZm9yIGhlbHAgYW5kIGNsb3NpbmcuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiV2l0aCBIZWxwIEJ1dHRvbiIsc2hvd0hlbHBCdXR0b246ITAsb25IZWxwOnMoYXN5bmMoKT0+e2F3YWl0IE1hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkhlbHAiLHdpZHRoOiJzbWFsbCIsc2hvd0Nsb3NlQnV0dG9uOiEwLHNob3dIZWxwQnV0dG9uOiExLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICAgICAgPHA+VGhpcyBpcyB0aGUgaGVscCBjb250ZW50IGZvciB0aGUgbW9kYWwuPC9wPgogICAgICAgICAgICAgICAgICA8cD5Zb3UgY2FuIHByb3ZpZGUgY29udGV4dC1zcGVjaWZpYyBoZWxwIGhlcmUuPC9wPgogICAgICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkdvdCBpdCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX0sIm9uSGVscCIpLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGhhcyBhIGhlbHAgYnV0dG9uIGluIHRoZSBoZWFkZXIuIENsaWNrIGl0IHRvIHNlZSBoZWxwIGNvbnRlbnQuPC9wPgogICAgICAgICAgICAgIDxwPlRoZSBjbG9zZSBidXR0b24gaXMgYWxzbyB2aXNpYmxlIGJ5IGRlZmF1bHQuPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiT0siLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5XaXRoIEhlbHAgQnV0dG9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntNYS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJObyBDbG9zZSBCdXR0b24iLHNob3dDbG9zZUJ1dHRvbjohMSxjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCBoYXMgbm8gY2xvc2UgYnV0dG9uIGluIHRoZSBoZWFkZXIuPC9wPgogICAgICAgICAgICAgIDxwPllvdSBtdXN0IHVzZSB0aGUgYWN0aW9uIGJ1dHRvbnMgb3IgY2xpY2sgb3V0c2lkZSB0byBjbG9zZSBpdC48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDbG9zZSIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19Pk5vIENsb3NlIEJ1dHRvbjwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiQm90aCBCdXR0b25zIixzaG93SGVscEJ1dHRvbjohMCxzaG93Q2xvc2VCdXR0b246ITAsb25IZWxwOnMoKCk9PmFsZXJ0KCJIZWxwIGNsaWNrZWQhIiksIm9uSGVscCIpLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGhhcyBib3RoIGhlbHAgYW5kIGNsb3NlIGJ1dHRvbnMuPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiRG9uZSIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PkJvdGggQnV0dG9uczwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiQ2xlYW4gSGVhZGVyIixzaG93Q2xvc2VCdXR0b246ITEsc2hvd0hlbHBCdXR0b246ITEsY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgaGFzIGEgY2xlYW4gaGVhZGVyIHdpdGggbm8gYnV0dG9ucy48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDbG9zZSIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PkNsZWFuIEhlYWRlcjwvZGVlcy1idXR0b24+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5Nb2RhbCBXaWR0aCBWYXJpYXRpb25zPC9oMz4KICAgICAgPHA+TW9kYWxzIGNhbiBoYXZlIGRpZmZlcmVudCB3aWR0aHM6IHNtYWxsLCBtZWRpdW0sIGxhcmdlLCBmdWxsc2NyZWVuLCBvciBjdXN0b20gcGl4ZWwgdmFsdWVzLjwvcD4KICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e01hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IlNtYWxsIE1vZGFsIix3aWR0aDoic21hbGwiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIGlzIGEgc21hbGwgbW9kYWwgd2l0aCBhIHdpZHRoIG9mIDM4MHB4LiBQZXJmZWN0IGZvciBzaW1wbGUgY29uZmlybWF0aW9ucyBvciBicmllZiBtZXNzYWdlcy48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX0se25hbWU6Ik9LIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+U21hbGwgTW9kYWw8L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e01hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6Ik1lZGl1bSBNb2RhbCAoRGVmYXVsdCkiLHdpZHRoOiJtZWRpdW0iLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiVXNlcm5hbWUifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkVtYWlsIn0gLmlucHV0VHlwZT0keyJlbWFpbCJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiUGFzc3dvcmQifSAuaW5wdXRUeXBlPSR7InBhc3N3b3JkIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX0se25hbWU6IlNpZ24gVXAiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5NZWRpdW0gTW9kYWw8L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e01hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkxhcmdlIE1vZGFsIix3aWR0aDoibGFyZ2UiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8aDQ+V2lkZSBDb250ZW50IEFyZWE8L2g0PgogICAgICAgICAgICAgIDxwPlRoaXMgbGFyZ2UgbW9kYWwgaXMgODAwcHggd2lkZSBhbmQgcGVyZmVjdCBmb3IgZGlzcGxheWluZyBtb3JlIGNvbXBsZXggY29udGVudCBsaWtlIGZvcm1zIHdpdGggbXVsdGlwbGUgY29sdW1ucywgdGFibGVzLCBvciBkZXRhaWxlZCBpbmZvcm1hdGlvbi48L3A+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDE2cHg7IG1hcmdpbi10b3A6IDE2cHg7Ij4KICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkZpcnN0IE5hbWUifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7Ikxhc3QgTmFtZSJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiQ29tcGFueSJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiUG9zaXRpb24ifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNhbmNlbCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfSx7bmFtZToiU2F2ZSIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PkxhcmdlIE1vZGFsPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntNYS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJGdWxsc2NyZWVuIEVkaXRvciIsd2lkdGg6ImZ1bGxzY3JlZW4iLHNob3dIZWxwQnV0dG9uOiEwLG9uSGVscDpzKGFzeW5jKCk9PnthbGVydCgiSW4gYSByZWFsIGFwcCwgdGhpcyB3b3VsZCBzaG93IGVkaXRvciBkb2N1bWVudGF0aW9uIil9LCJvbkhlbHAiKSxjb250ZW50OndgCiAgICAgICAgICAgICAgPGg0PkZ1bGxzY3JlZW4gRXhwZXJpZW5jZSB3aXRoIEhlYWRlciBDb250cm9sczwvaDQ+CiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCB0YWtlcyB1cCBhbG1vc3QgdGhlIGVudGlyZSB2aWV3cG9ydCB3aXRoIGEgMjBweCBtYXJnaW4gb24gYWxsIHNpZGVzLiBUaGUgaGVhZGVyIGJ1dHRvbnMgYXJlIHBhcnRpY3VsYXJseSB1c2VmdWwgaW4gZnVsbHNjcmVlbiBtb2RlLjwvcD4KICAgICAgICAgICAgICA8cD5UaGUgY29udGVudCBhcmVhIGNhbiBiZSBhcyB0YWxsIGFzIG5lZWRlZCBhbmQgd2lsbCBzY3JvbGwgaWYgbmVjZXNzYXJ5LjwvcD4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2YwZjBmMCIsIiMyYTJhMmEiKX07IGJvcmRlci1yYWRpdXM6IDhweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IG1hcmdpbi10b3A6IDE2cHg7Ij4KICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogJHtoLmJkVGhlbWUoIiM5OTkiLCIjNjY2Iil9Ij5MYXJnZSBjb250ZW50IGFyZWE8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJTYXZlIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9LHtuYW1lOiJDYW5jZWwiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5GdWxsc2NyZWVuIE1vZGFsPC9kZWVzLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkN1c3RvbSBXaWR0aCAmIENvbnN0cmFpbnRzPC9oMz4KICAgICAgPHA+WW91IGNhbiBhbHNvIHNldCBjdXN0b20gcGl4ZWwgd2lkdGhzIGFuZCBtaW4vbWF4IGNvbnN0cmFpbnRzLjwvcD4KICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e01hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkN1c3RvbSBXaWR0aCAoNzAwcHgpIix3aWR0aDo3MDAsY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgaGFzIGEgY3VzdG9tIHdpZHRoIG9mIGV4YWN0bHkgNzAwIHBpeGVscy48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDbG9zZSIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PkN1c3RvbSA3MDBweDwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiV2l0aCBNYXggV2lkdGgiLHdpZHRoOiJsYXJnZSIsbWF4V2lkdGg6NjAwLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGlzIHNldCB0byAnbGFyZ2UnIGJ1dCBjb25zdHJhaW5lZCBieSBhIG1heFdpZHRoIG9mIDYwMHB4LjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkdvdCBpdCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19Pk1heCBXaWR0aCA2MDBweDwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiV2l0aCBNaW4gV2lkdGgiLHdpZHRoOjMwMCxtaW5XaWR0aDo0MDAsY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgd2lkdGggaXMgc2V0IHRvIDMwMHB4IGJ1dCBoYXMgYSBtaW5XaWR0aCBvZiA0MDBweCwgc28gaXQgd2lsbCBiZSA0MDBweCB3aWRlLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6Ik9LIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+TWluIFdpZHRoIDQwMHB4PC9kZWVzLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkJ1dHRvbiBWYXJpYXRpb25zPC9oMz4KICAgICAgPHA+TW9kYWxzIGNhbiBoYXZlIGRpZmZlcmVudCBidXR0b24gY29uZmlndXJhdGlvbnMgd2l0aCBwcm9wZXIgc3BhY2luZy48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntNYS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJNdWx0aXBsZSBBY3Rpb25zIixjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCBkZW1vbnN0cmF0ZXMgbXVsdGlwbGUgYnV0dG9ucyB3aXRoIHByb3BlciBzcGFjaW5nIGJldHdlZW4gdGhlbS48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJEZWxldGUiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX0se25hbWU6IkNhbmNlbCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfSx7bmFtZToiU2F2ZSBDaGFuZ2VzIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+VGhyZWUgQnV0dG9uczwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiU2luZ2xlIEFjdGlvbiIsY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlNvbWV0aW1lcyB5b3UganVzdCBuZWVkIG9uZSBidXR0b24uPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQWNrbm93bGVkZ2UiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5TaW5nbGUgQnV0dG9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntNYS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJObyBBY3Rpb25zIixjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCBoYXMgbm8gYm90dG9tIGJ1dHRvbnMuIFVzZSB0aGUgWCBidXR0b24gb3IgY2xpY2sgb3V0c2lkZSB0byBjbG9zZS48L3A+CiAgICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7IGNvbG9yOiAke2guYmRUaGVtZSgiIzY2NiIsIiM5OTkiKX07Ij5UaGlzIGlzIHVzZWZ1bCBmb3IgaW5mb3JtYXRpb25hbCBtb2RhbHMgdGhhdCBkb24ndCByZXF1aXJlIHVzZXIgYWN0aW9uLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbXX0pfX0+Tm8gQnV0dG9uczwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiTG9uZyBCdXR0b24gTGFiZWxzIixjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGVzdGluZyBidXR0b24gbGF5b3V0IHdpdGggbG9uZ2VyIGxhYmVscy48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJEaXNjYXJkIEFsbCBDaGFuZ2VzIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9LHtuYW1lOiJTYXZlIGFuZCBDb250aW51ZSBFZGl0aW5nIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+TG9uZyBMYWJlbHM8L2RlZXMtYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+UmVzcG9uc2l2ZSBCZWhhdmlvcjwvaDM+CiAgICAgIDxwPkFsbCBtb2RhbHMgYXV0b21hdGljYWxseSBiZWNvbWUgZnVsbC13aWR0aCBvbiBtb2JpbGUgZGV2aWNlcyAoPCA3NjhweCB2aWV3cG9ydCB3aWR0aCkgZm9yIGJldHRlciB1c2FiaWxpdHkuPC9wPgogICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntNYS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJSZXNwb25zaXZlIE1vZGFsIix3aWR0aDoibGFyZ2UiLHNob3dIZWxwQnV0dG9uOiEwLG9uSGVscDpzKCgpPT5jb25zb2xlLmxvZygiSGVscCByZXF1ZXN0ZWQgZm9yIHJlc3BvbnNpdmUgbW9kYWwiKSwib25IZWxwIiksY29udGVudDp3YAogICAgICAgICAgICA8cD5SZXNpemUgeW91ciBicm93c2VyIHdpbmRvdyB0byBzZWUgaG93IHRoaXMgbW9kYWwgYWRhcHRzLiBPbiBtb2JpbGUgdmlld3BvcnRzLCBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgdGFrZSB0aGUgZnVsbCB3aWR0aCBtaW51cyBtYXJnaW5zLjwvcD4KICAgICAgICAgICAgPHA+VGhlIGhlYWRlciBidXR0b25zIHJlbWFpbiBhY2Nlc3NpYmxlIGF0IGFsbCB2aWV3cG9ydCBzaXplcy48L3A+CiAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2xvc2UiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5UZXN0IFJlc3BvbnNpdmU8L2RlZXMtYnV0dG9uPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPlNjcm9sbGFibGUgQ29udGVudDwvaDM+CiAgICAgIDxwPldoZW4gY29udGVudCBleGNlZWRzIHRoZSBtb2RhbCdzIG1heC1oZWlnaHQgKDxjb2RlPmNhbGMoMTAwdmggLSA4MHB4KTwvY29kZT4pLCB0aGUgdGlsZSBjYXBzIGF0IHRoYXQgaGVpZ2h0IGFuZCB0aGUgY29udGVudCBhcmVhIHNjcm9sbHMgaW5zaWRlLiBUaGUgaGVhZGluZyBhbmQgYm90dG9tIGJ1dHRvbnMgc3RheSBwaW5uZWQuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiTG9uZyBBcnRpY2xlIix3aWR0aDoibWVkaXVtIixjb250ZW50OndgCiAgICAgICAgICAgICAgPGg0IHN0eWxlPSJtYXJnaW4tdG9wOiAwOyI+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ8L2g0PgogICAgICAgICAgICAgICR7QXJyYXkuZnJvbSh7bGVuZ3RoOjQwfSwoYSxlKT0+d2AKICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICA8c3Ryb25nPsKnICR7ZSsxfS48L3N0cm9uZz4KICAgICAgICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIGRvCiAgICAgICAgICAgICAgICAgIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0CiAgICAgICAgICAgICAgICAgIGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcwogICAgICAgICAgICAgICAgICBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvcgogICAgICAgICAgICAgICAgICBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0CiAgICAgICAgICAgICAgICAgIG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LAogICAgICAgICAgICAgICAgICBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgIGApfQogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9LHtuYW1lOiJBY2NlcHQiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5Mb25nIEFydGljbGU8L2RlZXMtYnV0dG9uPgoKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntNYS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJMb25nIExpc3QiLHdpZHRoOiJzbWFsbCIsY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlNlbGVjdGVkIGl0ZW1zOjwvcD4KICAgICAgICAgICAgICA8dWwgc3R5bGU9InBhZGRpbmctbGVmdDogMjBweDsgbWFyZ2luOiAwOyI+CiAgICAgICAgICAgICAgICAke0FycmF5LmZyb20oe2xlbmd0aDo4MH0sKGEsZSk9PndgCiAgICAgICAgICAgICAgICAgIDxsaSBzdHlsZT0icGFkZGluZzogNHB4IDA7Ij5JdGVtICR7ZSsxfSDigJQgb3B0aW9uIGxhYmVsPC9saT4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJEb25lIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+TG9uZyBMaXN0PC9kZWVzLWJ1dHRvbj4KCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiVGFsbCBGb3JtIix3aWR0aDoibWVkaXVtIixjb250ZW50OndgCiAgICAgICAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgICAgICAgICR7QXJyYXkuZnJvbSh7bGVuZ3RoOjI1fSwoYSxlKT0+d2AKICAgICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHtgRmllbGQgJHtlKzF9YH0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNhbmNlbCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfSx7bmFtZToiU3VibWl0IixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+VGFsbCBGb3JtPC9kZWVzLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBsc2EsY3NhPWYoKCk9PntsZSgpO1FyKCk7bHNhPXMoKCk9PndgCiAgICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgICAgPHN0eWxlPgogICAgICAgICR7WGAKICAgICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KICAgICAgICAgIC50aWxlLWRlbW8tY29udGVudCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1JSkiLCJoc2woMCAwJSA1NSUpIil9OwogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICB9CiAgICAgICAgICAuZm9vdGVyLXN0YXRzIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgfQogICAgICAgICAgLmZvb3Rlci1zdGF0cyAuc3RhdCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogNnB4OwogICAgICAgICAgfQogICAgICAgICAgLmZvb3Rlci1zdGF0cyAuc3RhdCBzdHJvbmcgewogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgICAgfQogICAgICAgIGB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICAgIDxkZWVzLXRpbGUgaGVhZGluZz0iU2ltcGxlIFRpbGUiIHN0eWxlPSJoZWlnaHQ6IDIwMHB4OyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWRlbW8tY29udGVudCI+Q29udGVudCBhcmVhIHdpdGggcm91bmRlZCBjb3JuZXJzPC9kaXY+CiAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgIDxkZWVzLXRpbGUgaGVhZGluZz0iVGlsZSB3aXRoIEZvb3RlciIgc3R5bGU9ImhlaWdodDogMjAwcHg7Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtZGVtby1jb250ZW50Ij5Db250ZW50IGdvZXMgaGVyZTwvZGl2PgogICAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJmb290ZXItc3RhdHMiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdCI+bGF0ZXN0IDxzdHJvbmc+NDI8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0Ij5taW4gPHN0cm9uZz4xMjwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXQiPm1heCA8c3Ryb25nPjg3PC9zdHJvbmc+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdCI+YXZnIDxzdHJvbmc+NDUuMzwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgICA8ZGVlcy10aWxlIHN0eWxlPSJoZWlnaHQ6IDIwMHB4OyI+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7d2lkdGg6MTAwJTsiPgogICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6NTAwOyI+Q3VzdG9tIEhlYWRlcjwvc3Bhbj4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJTZWFyY2guLi4iIHN0eWxlPSJmbGV4OjE7bWF4LXdpZHRoOjIwMHB4O3BhZGRpbmc6MnB4IDhweDtib3JkZXI6MXB4IHNvbGlkO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxMnB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6aW5oZXJpdDtib3JkZXItY29sb3I6aW5oZXJpdDsiPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWRlbW8tY29udGVudCI+Q3VzdG9tIGhlYWRlciBzbG90IHdpdGggc2VhcmNoIGlucHV0PC9kaXY+CiAgICAgICAgPC9kZWVzLXRpbGU+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGAsImRlbW9GdW5jIil9KTt2YXIgS3RlLFNmLGRzYSxRcj1mKCgpPT57bGUoKTtjc2EoKTttcygpO1FlKCk7S3RlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxTZj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sZHNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy10aWxlIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNUaWxlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSx1PVtLKCldLEt0ZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImhlYWRpbmciaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5oZWFkaW5nLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuaGVhZGluZz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksS3RlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3ZlcnNjcm9sbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ib3ZlcnNjcm9sbCJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLm92ZXJzY3JvbGwsImdldCIpLHNldDpzKChnLHkpPT57Zy5vdmVyc2Nyb2xsPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxLdGUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoYXNGb290ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+Imhhc0Zvb3RlciJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmhhc0Zvb3RlciwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmhhc0Zvb3Rlcj15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG0sdiksS3RlKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89bHNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTGF5b3V0Il07I2U9U2YodGhpcyxuLCIiKTtnZXQgaGVhZGluZygpe3JldHVybiB0aGlzLiNlfXNldCBoZWFkaW5nKGIpe3RoaXMuI2U9Yn0jdD0oU2YodGhpcyxsKSxTZih0aGlzLGMsImF1dG8iKSk7Z2V0IG92ZXJzY3JvbGwoKXtyZXR1cm4gdGhpcy4jdH1zZXQgb3ZlcnNjcm9sbChiKXt0aGlzLiN0PWJ9I2E9KFNmKHRoaXMscCksU2YodGhpcyxtLCExKSk7Z2V0IGhhc0Zvb3Rlcigpe3JldHVybiB0aGlzLiNhfXNldCBoYXNGb290ZXIoYil7dGhpcy4jYT1ifXN0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAvKiAtLS0gVGhlIGZyYW1lIC0tLSAqLwogICAgICAudGlsZS1vdXRlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgfQoKICAgICAgLyogLS0tIEhlYWRlcjogYmFyZSBjb250YWluZXIsIG9ubHkgdGhlIGRlZmF1bHQgaGVhZGluZyBnZXRzIHN0eWxlZCAtLS0gKi8KICAgICAgLnRpbGUtaGVhZGVyIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRpbGUtaGVhZGluZyB7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC8qIC0tLSBDb250ZW50OiB0aGUgcm91bmRlZCBpbnNldCAtLS0KICAgICAgICAgVXNlcyBvdmVyZmxvdy15OiBhdXRvIHNvIHRoYXQgd2hlbiBhIGNvbnN1bWVyIChlLmcuIGRlZXMtbW9kYWwpIGNhcHMKICAgICAgICAgdGhlIHRpbGUgd2l0aCBtYXgtaGVpZ2h0LCBsb25nIGNvbnRlbnQgc2Nyb2xscyBpbnNpZGUgdGhlIHRpbGUKICAgICAgICAgaW5zdGVhZCBvZiBiZWluZyBjbGlwcGVkLiBGb3IgY29uc3VtZXJzIHdpdGhvdXQgbWF4LWhlaWdodAogICAgICAgICAoZS5nLiBkZWVzLXN0ZXBwZXIpLCB0aGUgdGlsZSBncm93cyB3aXRoIGNvbnRlbnQgYW5kIHRoZSBzY3JvbGwKICAgICAgICAgbmV2ZXIgYWN0aXZhdGVzLiBIb3Jpem9udGFsIG92ZXJmbG93IHN0YXlzIGNsaXBwZWQgdG8gcHJlc2VydmUgdGhlCiAgICAgICAgIHJvdW5kZWQgY29ybmVycy4gKi8KICAgICAgLnRpbGUtY29udGVudCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjsKICAgICAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWRlZXMtY29sb3Itc2Nyb2xsYmFyLXRodW1iKSB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgOmhvc3QoW292ZXJzY3JvbGw9ImNvbnRhaW4iXSkgLnRpbGUtY29udGVudCB7CiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgfQoKICAgICAgLnRpbGUtY29udGVudC5uby1mb290ZXIgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsKICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKICAgICAgfQoKICAgICAgLyogLS0tIEZvb3RlcjogYmFyZSBjb250YWluZXIsIGNvbnN1bWVyIHN0eWxlcyB0aGUgc2xvdHRlZCBjb250ZW50IC0tLSAqLwogICAgICAudGlsZS1mb290ZXIgewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGlsZS1mb290ZXIuaGlkZGVuIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdXRlciIgcGFydD0ib3V0ZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtaGVhZGVyIiBwYXJ0PSJoZWFkZXIiPgogICAgICAgICAgPHNsb3QgbmFtZT0iaGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1oZWFkaW5nIj4ke3RoaXMuaGVhZGluZ308L2Rpdj4KICAgICAgICAgIDwvc2xvdD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWNvbnRlbnQgJHt0aGlzLmhhc0Zvb3Rlcj8iIjoibm8tZm9vdGVyIn0iIHBhcnQ9ImNvbnRlbnQiPgogICAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtZm9vdGVyICR7dGhpcy5oYXNGb290ZXI/IiI6ImhpZGRlbiJ9IiBwYXJ0PSJmb290ZXIiPgogICAgICAgICAgPHNsb3QgbmFtZT0iZm9vdGVyIiBAc2xvdGNoYW5nZT0ke3RoaXMub25Gb290ZXJTbG90Q2hhbmdlfT48L3Nsb3Q+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1vbkZvb3RlclNsb3RDaGFuZ2UoYil7bGV0IGc9Yi50YXJnZXQ7dGhpcy5oYXNGb290ZXI9Zy5hc3NpZ25lZE5vZGVzKHtmbGF0dGVuOiEwfSkubGVuZ3RoPjB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFNmKHRoaXMsdil9c3RhdGlje1NmKHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciB0bixmcixNYSxjYz1mKCgpPT57TDEoKTtXcygpO0dpKCk7bXMoKTtuc2EoKTtsZSgpO2VhKCk7TTEoKTt2YSgpO1FyKCk7UWUoKTt0bj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sZnI9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LE1hPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1tb2RhbCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxQPVtdLEIsTT1bXSxTPVtdLEUsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W107dmFyIGNlPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzTW9kYWwiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdWU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bSyh7fSldLHU9W0soe30pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOk51bWJlcn0pXSxOPVskKHt0eXBlOk51bWJlcn0pXSxPPVskKHt0eXBlOkJvb2xlYW59KV0sQj1bJCh7dHlwZTpCb29sZWFufSldLEU9WyQoe2F0dHJpYnV0ZTohMX0pXSxXPVskKHt0eXBlOkJvb2xlYW59KV0saGU9WyQoe3R5cGU6TnVtYmVyfSldLG1lPVtLKCldLHRuKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGVhZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4iaGVhZGluZyJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLmhlYWRpbmcsImdldCIpLHNldDpzKChZLFEpPT57WS5oZWFkaW5nPVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LG4sbCksdG4odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJjb250ZW50ImluIFksImhhcyIpLGdldDpzKFk9PlkuY29udGVudCwiZ2V0Iiksc2V0OnMoKFksUSk9PntZLmNvbnRlbnQ9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sYyxwKSx0bih0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbnVPcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJtZW51T3B0aW9ucyJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLm1lbnVPcHRpb25zLCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kubWVudU9wdGlvbnM9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sbSx2KSx0bih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJ3aWR0aCJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLndpZHRoLCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kud2lkdGg9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sYixnKSx0bih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1heFdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJtYXhXaWR0aCJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLm1heFdpZHRoLCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kubWF4V2lkdGg9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sayxDKSx0bih0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pbldpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJtaW5XaWR0aCJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLm1pbldpZHRoLCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kubWluV2lkdGg9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sXyx6KSx0bih0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dDbG9zZUJ1dHRvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4ic2hvd0Nsb3NlQnV0dG9uImluIFksImhhcyIpLGdldDpzKFk9Plkuc2hvd0Nsb3NlQnV0dG9uLCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kuc2hvd0Nsb3NlQnV0dG9uPVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LFQsUCksdG4odGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93SGVscEJ1dHRvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4ic2hvd0hlbHBCdXR0b24iaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5zaG93SGVscEJ1dHRvbiwiZ2V0Iiksc2V0OnMoKFksUSk9PntZLnNob3dIZWxwQnV0dG9uPVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LE0sUyksdG4odGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvbkhlbHAiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+Im9uSGVscCJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLm9uSGVscCwiZ2V0Iiksc2V0OnMoKFksUSk9PntZLm9uSGVscD1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxBLEYpLHRuKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW9iaWxlRnVsbHNjcmVlbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4ibW9iaWxlRnVsbHNjcmVlbiJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLm1vYmlsZUZ1bGxzY3JlZW4sImdldCIpLHNldDpzKChZLFEpPT57WS5tb2JpbGVGdWxsc2NyZWVuPVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LGosRyksdG4odGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFBhZGRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+ImNvbnRlbnRQYWRkaW5nImluIFksImhhcyIpLGdldDpzKFk9PlkuY29udGVudFBhZGRpbmcsImdldCIpLHNldDpzKChZLFEpPT57WS5jb250ZW50UGFkZGluZz1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxSLFUpLHRuKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vZGFsWkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJtb2RhbFpJbmRleCJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLm1vZGFsWkluZGV4LCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kubW9kYWxaSW5kZXg9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sSSxxKSx0bihudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp1ZX0sbnVsbCx0KSxjZT1yPWUudmFsdWUsdWUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dWV9KX1zdGF0aWMgZGVtbz1vc2E7c3RhdGljIGRlbW9Hcm91cHM9WyJPdmVybGF5Il07c3RhdGljIGFzeW5jIGNyZWF0ZUFuZFNob3codWUpe2xldCBZPWRvY3VtZW50LmJvZHksUT1uZXcgY2U7cmV0dXJuIFEuaGVhZGluZz11ZS5oZWFkaW5nLFEuY29udGVudD11ZS5jb250ZW50LFEubWVudU9wdGlvbnM9dWUubWVudU9wdGlvbnMsdWUud2lkdGgmJihRLndpZHRoPXVlLndpZHRoKSx1ZS5tYXhXaWR0aCYmKFEubWF4V2lkdGg9dWUubWF4V2lkdGgpLHVlLm1pbldpZHRoJiYoUS5taW5XaWR0aD11ZS5taW5XaWR0aCksdWUuc2hvd0Nsb3NlQnV0dG9uIT09dm9pZCAwJiYoUS5zaG93Q2xvc2VCdXR0b249dWUuc2hvd0Nsb3NlQnV0dG9uKSx1ZS5zaG93SGVscEJ1dHRvbiE9PXZvaWQgMCYmKFEuc2hvd0hlbHBCdXR0b249dWUuc2hvd0hlbHBCdXR0b24pLHVlLm9uSGVscCYmKFEub25IZWxwPXVlLm9uSGVscCksdWUubW9iaWxlRnVsbHNjcmVlbiE9PXZvaWQgMCYmKFEubW9iaWxlRnVsbHNjcmVlbj11ZS5tb2JpbGVGdWxsc2NyZWVuKSx1ZS5jb250ZW50UGFkZGluZyE9PXZvaWQgMCYmKFEuY29udGVudFBhZGRpbmc9dWUuY29udGVudFBhZGRpbmcpLFEud2luZG93TGF5ZXI9YXdhaXQgR3MuY3JlYXRlQW5kU2hvdyh7Ymx1cjohMH0pLFEud2luZG93TGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFzeW5jKCk9Pnthd2FpdCBRLmRlc3Ryb3koKX0pLFkuYXBwZW5kKFEud2luZG93TGF5ZXIpLFkuYXBwZW5kKFEpLFEubW9kYWxaSW5kZXg9WHQuZ2V0TmV4dFpJbmRleCgpLFh0LnJlZ2lzdGVyKFEsUS5tb2RhbFpJbmRleCksUX0jZT1mcih0aGlzLG4sIiIpO2dldCBoZWFkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcodWUpe3RoaXMuI2U9dWV9I3Q9KGZyKHRoaXMsbCksZnIodGhpcyxjLHZvaWQgMCkpO2dldCBjb250ZW50KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGNvbnRlbnQodWUpe3RoaXMuI3Q9dWV9I2E9KGZyKHRoaXMscCksZnIodGhpcyxtLFtdKSk7Z2V0IG1lbnVPcHRpb25zKCl7cmV0dXJuIHRoaXMuI2F9c2V0IG1lbnVPcHRpb25zKHVlKXt0aGlzLiNhPXVlfSNyPShmcih0aGlzLHYpLGZyKHRoaXMsYiwibWVkaXVtIikpO2dldCB3aWR0aCgpe3JldHVybiB0aGlzLiNyfXNldCB3aWR0aCh1ZSl7dGhpcy4jcj11ZX0jcz0oZnIodGhpcyxnKSxmcih0aGlzLGssdm9pZCAwKSk7Z2V0IG1heFdpZHRoKCl7cmV0dXJuIHRoaXMuI3N9c2V0IG1heFdpZHRoKHVlKXt0aGlzLiNzPXVlfSNpPShmcih0aGlzLEMpLGZyKHRoaXMsXyx2b2lkIDApKTtnZXQgbWluV2lkdGgoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbWluV2lkdGgodWUpe3RoaXMuI2k9dWV9I289KGZyKHRoaXMseiksZnIodGhpcyxULCEwKSk7Z2V0IHNob3dDbG9zZUJ1dHRvbigpe3JldHVybiB0aGlzLiNvfXNldCBzaG93Q2xvc2VCdXR0b24odWUpe3RoaXMuI289dWV9I249KGZyKHRoaXMsUCksZnIodGhpcyxNLCExKSk7Z2V0IHNob3dIZWxwQnV0dG9uKCl7cmV0dXJuIHRoaXMuI259c2V0IHNob3dIZWxwQnV0dG9uKHVlKXt0aGlzLiNuPXVlfSNsPShmcih0aGlzLFMpLGZyKHRoaXMsQSx2b2lkIDApKTtnZXQgb25IZWxwKCl7cmV0dXJuIHRoaXMuI2x9c2V0IG9uSGVscCh1ZSl7dGhpcy4jbD11ZX0jYz0oZnIodGhpcyxGKSxmcih0aGlzLGosITEpKTtnZXQgbW9iaWxlRnVsbHNjcmVlbigpe3JldHVybiB0aGlzLiNjfXNldCBtb2JpbGVGdWxsc2NyZWVuKHVlKXt0aGlzLiNjPXVlfSNkPShmcih0aGlzLEcpLGZyKHRoaXMsUiwxNikpO2dldCBjb250ZW50UGFkZGluZygpe3JldHVybiB0aGlzLiNkfXNldCBjb250ZW50UGFkZGluZyh1ZSl7dGhpcy4jZD11ZX0jdT0oZnIodGhpcyxVKSxmcih0aGlzLEksMWUzKSk7Z2V0IG1vZGFsWkluZGV4KCl7cmV0dXJuIHRoaXMuI3V9c2V0IG1vZGFsWkluZGV4KHVlKXt0aGlzLiN1PXVlfWNvbnN0cnVjdG9yKCl7c3VwZXIoKX1zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CiAgICAgIC5tb2RhbENvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIHdpZHRoOiAxMDB2dzsKICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQogICAgICBkZWVzLXRpbGUgewogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45OCk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDsKICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gODBweCk7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgICBtYXJnaW46IDQwcHg7CiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgfQoKICAgICAgZGVlcy10aWxlOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgYm94LXNoYWRvdzoKICAgICAgICAgIDAgMCAwIDFweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjAzKSIsImhzbCgwIDAlIDEwMCUgLyAwLjAzKSIpfSwKICAgICAgICAgIDAgOHB4IDQwcHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4xMikiLCJoc2woMCAwJSAwJSAvIDAuNSkiKX0sCiAgICAgICAgICAwIDJweCA4cHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wNikiLCJoc2woMCAwJSAwJSAvIDAuMjUpIil9OwogICAgICB9CgogICAgICAvKiBXaWR0aCB2YXJpYXRpb25zICovCiAgICAgIGRlZXMtdGlsZS53aWR0aC1zbWFsbCB7CiAgICAgICAgd2lkdGg6IDM4MHB4OwogICAgICB9CgogICAgICBkZWVzLXRpbGUud2lkdGgtbWVkaXVtIHsKICAgICAgICB3aWR0aDogNTYwcHg7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS53aWR0aC1sYXJnZSB7CiAgICAgICAgd2lkdGg6IDgwMHB4OwogICAgICB9CgogICAgICBkZWVzLXRpbGUud2lkdGgtZnVsbHNjcmVlbiB7CiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA0MHB4KTsKICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTsKICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDBweCk7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDQwcHgpICFpbXBvcnRhbnQ7CiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsKICAgICAgICB9CgogICAgICAgIC5tb2RhbENvbnRhaW5lciB7CiAgICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgIH0KCiAgICAgICAgZGVlcy10aWxlIHsKICAgICAgICAgIG1hcmdpbjogMTBweDsKICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyMHB4KTsKICAgICAgICB9CgogICAgICAgIGRlZXMtdGlsZS5tb2JpbGUtZnVsbHNjcmVlbiB7CiAgICAgICAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudDsKICAgICAgICAgIGhlaWdodDogMTAwdmggIWltcG9ydGFudDsKICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7CiAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgfQoKICAgICAgICBkZWVzLXRpbGUubW9iaWxlLWZ1bGxzY3JlZW46OnBhcnQob3V0ZXIpIHsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgfQogICAgICB9CgogICAgICBkZWVzLXRpbGUuc2hvdyB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS5zaG93LnByZWRlc3Ryb3kgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCkgc2NhbGUoMC45OCk7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2UtaW4sIG9wYWNpdHkgMC4xNXMgZWFzZS1pbjsKICAgICAgfQoKICAgICAgLmhlYWRpbmcgewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCA4cHggMCAxNnB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmhlYWRpbmcgLmhlYWRpbmctdGV4dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuaGVhZGluZyAuaGVhZGVyLWJ1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBtYXJnaW4tbGVmdDogOHB4OwogICAgICB9CgogICAgICAuaGVhZGluZyAuaGVhZGVyLWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAuaGVhZGluZyAuaGVhZGVyLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAuaGVhZGluZyAuaGVhZGVyLWJ1dHRvbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5MCUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRpbmcgLmhlYWRlci1idXR0b24gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b246Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkyJSkiLCJoc2woMCAwJSAxMyUpIil9OwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uLnByaW1hcnkgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wOCkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1MCUpIiwiaHNsKDIxMy4xIDkzLjklIDc1JSkiKX07CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24ucHJpbWFyeTphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjEyKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSAvIDAuMTIpIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgdWU9dHlwZW9mIHRoaXMud2lkdGg9PSJzdHJpbmciP2B3aWR0aC0ke3RoaXMud2lkdGh9YDoiIixZPXR5cGVvZiB0aGlzLndpZHRoPT0ibnVtYmVyIj9gJHt0aGlzLndpZHRofXB4YDoiIixRPXRoaXMubWF4V2lkdGg/YCR7dGhpcy5tYXhXaWR0aH1weGA6IiIsSj10aGlzLm1pbldpZHRoP2Ake3RoaXMubWluV2lkdGh9cHhgOiIiLFo9dGhpcy5tb2JpbGVGdWxsc2NyZWVuPyJtb2JpbGUtZnVsbHNjcmVlbiI6IiI7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAke1k/YGRlZXMtdGlsZSB7IHdpZHRoOiAke1l9OyB9YDoiIn0KICAgICAgICAke1E/YGRlZXMtdGlsZSB7IG1heC13aWR0aDogJHtRfTsgfWA6IiJ9CiAgICAgICAgJHtKP2BkZWVzLXRpbGUgeyBtaW4td2lkdGg6ICR7Sn07IH1gOiIifQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJtb2RhbENvbnRhaW5lciIgQGNsaWNrPSR7dGhpcy5oYW5kbGVPdXRzaWRlQ2xpY2t9IHN0eWxlPSJ6LWluZGV4OiAke3RoaXMubW9kYWxaSW5kZXh9Ij4KICAgICAgICA8ZGVlcy10aWxlIGNsYXNzPSIke3VlfSAke1p9IiAub3ZlcnNjcm9sbD0keyJjb250YWluIn0+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImhlYWRpbmciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXRleHQiPiR7dGhpcy5oZWFkaW5nfTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItYnV0dG9ucyI+CiAgICAgICAgICAgICAgJHt0aGlzLnNob3dIZWxwQnV0dG9uP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItYnV0dG9uIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUhlbHB9IHRpdGxlPSJIZWxwIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6aGVscENpcmNsZSJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAke3RoaXMuc2hvd0Nsb3NlQnV0dG9uP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5kZXN0cm95KCl9IHRpdGxlPSJDbG9zZSI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50IiBzdHlsZT0icGFkZGluZzogJHt0aGlzLmNvbnRlbnRQYWRkaW5nfXB4OyI+JHt0aGlzLmNvbnRlbnR9PC9kaXY+CiAgICAgICAgICAke3RoaXMubWVudU9wdGlvbnMubGVuZ3RoPjA/d2AKICAgICAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJib3R0b21CdXR0b25zIj4KICAgICAgICAgICAgICAke3RoaXMubWVudU9wdGlvbnMubWFwKChnZSxhZSk9PndgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbUJ1dHRvbiAke2FlPT09dGhpcy5tZW51T3B0aW9ucy5sZW5ndGgtMT8icHJpbWFyeSI6IiJ9ICR7Z2UubmFtZT09PSJPSyI/Im9rIjoiIn0iIEBjbGljaz0keygpPT57Z2UuYWN0aW9uKHRoaXMpfX0+JHtnZS5uYW1lfTwvZGl2PgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgPC9kaXY+CiAgICBgfXdpbmRvd0xheWVyPWZyKHRoaXMscSk7YXN5bmMgZmlyc3RVcGRhdGVkKHVlKXtzdXBlci5maXJzdFVwZGF0ZWQodWUpLGF3YWl0KGF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlKS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDMwKSx0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy10aWxlIikuY2xhc3NMaXN0LmFkZCgic2hvdyIpfWFzeW5jIGhhbmRsZU91dHNpZGVDbGljayh1ZSl7dWUuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IFk9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5tb2RhbENvbnRhaW5lciIpO3VlLnRhcmdldD09PVkmJmF3YWl0IHRoaXMuZGVzdHJveSgpfWFzeW5jIGRlc3Ryb3koKXtsZXQgdWU9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtdGlsZSIpLmNsYXNzTGlzdC5hZGQoInByZWRlc3Ryb3kiKSxhd2FpdCB1ZS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDIwMCksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzKSxhd2FpdCB0aGlzLndpbmRvd0xheWVyLmRlc3Ryb3koKSxYdC51bnJlZ2lzdGVyKHRoaXMpfWFzeW5jIGhhbmRsZUhlbHAoKXt0aGlzLm9uSGVscCYmYXdhaXQgdGhpcy5vbkhlbHAoKX1zdGF0aWN7ZnIocix0KX19O3JldHVybiBjZT1yfSkoKX0pO3ZhciB1c2EscHNhPWYoKCk9PntsZSgpO3VzYT1zKCgpPT53YAogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgfQoKICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMWExYTFhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTBlMGUwIiwiIzMzMyIpfTsKICAgICAgfQoKICAgICAgLmRlbW8tc2VjdGlvbiBoMyB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5kZW1vLXNlY3Rpb24gcCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjY2IiwiIzk5OSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmxhYmVsLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5sYWJlbC1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgLmxhYmVsLXJvdyAuYW5ub3RhdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjODg4IiwiIzY2NiIpfTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBtaW4td2lkdGg6IDIwMHB4OwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5CYXNpYyBMYWJlbDwvaDM+CiAgICAgIDxwPkEgc2ltcGxlIHRleHQgbGFiZWwgd2l0aCBubyBhZGRpdGlvbmFsIGluZGljYXRvcnMuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1ncmlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1yb3ciPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImFubm90YXRpb24iPmxhYmVsPSJVc2VybmFtZSI8L3NwYW4+CiAgICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHsiVXNlcm5hbWUifT48L2RlZXMtbGFiZWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtcm93Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbm5vdGF0aW9uIj5sYWJlbD0iRW1haWwgQWRkcmVzcyI8L3NwYW4+CiAgICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHsiRW1haWwgQWRkcmVzcyJ9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+UmVxdWlyZWQgSW5kaWNhdG9yPC9oMz4KICAgICAgPHA+V2hlbiA8Y29kZT5yZXF1aXJlZDwvY29kZT4gaXMgc2V0LCBhIHJlZCBhc3RlcmlzayBhcHBlYXJzIGFmdGVyIHRoZSBsYWJlbCB0ZXh0LjwvcD4KICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtZ3JpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtcm93Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbm5vdGF0aW9uIj5yZXF1aXJlZD0keyJ7dHJ1ZX0ifTwvc3Bhbj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0keyJGdWxsIE5hbWUifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWxhYmVsPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLXJvdyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iYW5ub3RhdGlvbiI+cmVxdWlyZWQ9JHsie2ZhbHNlfSJ9IChkZWZhdWx0KTwvc3Bhbj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0keyJOaWNrbmFtZSJ9IC5yZXF1aXJlZD0keyExfT48L2RlZXMtbGFiZWw+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkluZm8gVGV4dCAoSW5mbyBJY29uKTwvaDM+CiAgICAgIDxwPldoZW4gPGNvZGU+aW5mb1RleHQ8L2NvZGU+IGlzIHNldCwgYW4gaW5mbyBpY29uIGFwcGVhcnMgbmV4dCB0byB0aGUgbGFiZWwuIEhvdmVyIG92ZXIgaXQgdG8gc2VlIHRoZSB0b29sdGlwLjwvcD4KICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtZ3JpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtcm93Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbm5vdGF0aW9uIj5pbmZvVGV4dD0iLi4uIjwvc3Bhbj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0keyJBUEkgS2V5In0gLmluZm9UZXh0PSR7IllvdXIgQVBJIGtleSBjYW4gYmUgZm91bmQgaW4gdGhlIGRldmVsb3BlciBzZXR0aW5ncyBkYXNoYm9hcmQuIn0+PC9kZWVzLWxhYmVsPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLXJvdyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iYW5ub3RhdGlvbiI+c2hvcnQgaW5mb1RleHQ8L3NwYW4+CiAgICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHsiUmVnaW9uIn0gLmluZm9UZXh0PSR7IlNlbGVjdCB5b3VyIG5lYXJlc3QgZGF0YWNlbnRlci4ifT48L2RlZXMtbGFiZWw+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPlJlcXVpcmVkICsgSW5mbyBUZXh0PC9oMz4KICAgICAgPHA+Qm90aCBpbmRpY2F0b3JzIGNhbiBiZSBjb21iaW5lZC4gVGhlIGFzdGVyaXNrIGFwcGVhcnMgZmlyc3QsIHRoZW4gdGhlIGluZm8gaWNvbi48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLWdyaWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLXJvdyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iYW5ub3RhdGlvbiI+cmVxdWlyZWQgKyBpbmZvVGV4dDwvc3Bhbj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0keyJQYXNzd29yZCJ9IC5yZXF1aXJlZD0keyEwfSAuaW5mb1RleHQ9JHsiTXVzdCBiZSBhdCBsZWFzdCA4IGNoYXJhY3RlcnMgd2l0aCBvbmUgdXBwZXJjYXNlIGxldHRlciBhbmQgb25lIG51bWJlci4ifT48L2RlZXMtbGFiZWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtcm93Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbm5vdGF0aW9uIj5yZXF1aXJlZCArIGluZm9UZXh0PC9zcGFuPgogICAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7IkVtYWlsIEFkZHJlc3MifSAucmVxdWlyZWQ9JHshMH0gLmluZm9UZXh0PSR7IldlIHdpbGwgc2VuZCBhIHZlcmlmaWNhdGlvbiBsaW5rIHRvIHRoaXMgYWRkcmVzcy4ifT48L2RlZXMtbGFiZWw+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkVtcHR5IExhYmVsPC9oMz4KICAgICAgPHA+V2hlbiA8Y29kZT5sYWJlbDwvY29kZT4gaXMgZW1wdHkgb3Igbm90IHNldCwgbm90aGluZyBpcyByZW5kZXJlZC4gVGhlIGVsZW1lbnQgYmVsb3cgaGFzIG5vIGxhYmVsIHRleHQ6PC9wPgogICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1ncmlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1yb3ciPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImFubm90YXRpb24iPmxhYmVsPSIiIChlbXB0eSk8L3NwYW4+CiAgICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHsiIn0+PC9kZWVzLWxhYmVsPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIFp0ZSx6Zixmc2EsYW09ZigoKT0+e1dzKCk7TDEoKTtsZSgpO3BzYSgpO1FlKCk7WnRlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx6Zj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sZnNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1sYWJlbCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzTGFiZWwiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLGQ9WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sdT1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0sWnRlKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImxhYmVsImluIGcsImhhcyIpLGdldDpzKGc9PmcubGFiZWwsImdldCIpLHNldDpzKChnLHkpPT57Zy5sYWJlbD15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksWnRlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5mb1RleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImluZm9UZXh0ImluIGcsImhhcyIpLGdldDpzKGc9PmcuaW5mb1RleHQsImdldCIpLHNldDpzKChnLHkpPT57Zy5pbmZvVGV4dD15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksWnRlKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVxdWlyZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InJlcXVpcmVkImluIGcsImhhcyIpLGdldDpzKGc9PmcucmVxdWlyZWQsImdldCIpLHNldDpzKChnLHkpPT57Zy5yZXF1aXJlZD15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG0sdiksWnRlKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89dXNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTGF5b3V0IiwiSW5wdXQiXTsjZT16Zih0aGlzLG4sIiIpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNlfXNldCBsYWJlbChiKXt0aGlzLiNlPWJ9I3Q9KHpmKHRoaXMsbCksemYodGhpcyxjLHZvaWQgMCkpO2dldCBpbmZvVGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCBpbmZvVGV4dChiKXt0aGlzLiN0PWJ9I2E9KHpmKHRoaXMscCksemYodGhpcyxtLCExKSk7Z2V0IHJlcXVpcmVkKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHJlcXVpcmVkKGIpe3RoaXMuI2E9Yn1zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCBzYW5zLXNlcmlmOwogICAgICB9CgogICAgICAubGFiZWwgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIG1hcmdpbi1ib3R0b206IDZweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5yZXF1aXJlZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA3Mi4yJSA1MC42JSkiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsKICAgICAgfQoKICAgICAgLmRlc2NyaXB0aW9uLWljb24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIG1hcmdpbjogLTZweCAwIC02cHggMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICB9CgogICAgICAuZGVzY3JpcHRpb24taWNvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wNikiLCJoc2woMCAwJSAxMDAlIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAyNSUpIiwiaHNsKDAgMCUgODAlKSIpfTsKICAgICAgfQoKICAgICAgLmRlc2NyaXB0aW9uLWljb24gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICAke3RoaXMubGFiZWw/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwiPgogICAgICAgICAgICAgICR7dGhpcy5sYWJlbH0KICAgICAgICAgICAgICAke3RoaXMucmVxdWlyZWQ/d2A8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAke3RoaXMuaW5mb1RleHQ/d2AKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbi1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmluZm8ifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGVlcy1zcGVlY2hidWJibGUgLnRleHQ9JHt0aGlzLmluZm9UZXh0fT48L2RlZXMtc3BlZWNoYnViYmxlPgogICAgICAgICAgICAgICAgICBgOndgYH0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOndgYH0KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHpmKHRoaXMsdil9c3RhdGlje3pmKHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBYdGUsVFllPWYoKCk9PntYdGU9IjAuNTUuMSJ9KTt2YXIgcm0sJDEsaHNhLENmPWYoKCk9PntsZSgpO2VhKCk7VFllKCk7UWUoKTtybT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sJDE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGhzYT0oKCk9PntsZXQgYT1baWUoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzV29ya3NwYWNlTW9uYWNvIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0seD1bJCh7dHlwZTpPYmplY3R9KV0seT1bJCh7dHlwZTpCb29sZWFufSldLHJtKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY29udGVudCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmNvbnRlbnQsImdldCIpLHNldDpzKCh6LE8pPT57ei5jb250ZW50PU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxybSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imxhbmd1YWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJsYW5ndWFnZSJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56Lmxhbmd1YWdlLCJnZXQiKSxzZXQ6cygoeixPKT0+e3oubGFuZ3VhZ2U9T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLHJtKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsZVBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImZpbGVQYXRoImluIHosImhhcyIpLGdldDpzKHo9PnouZmlsZVBhdGgsImdldCIpLHNldDpzKCh6LE8pPT57ei5maWxlUGF0aD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdikscm0odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50U3ViamVjdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY29udGVudFN1YmplY3QiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5jb250ZW50U3ViamVjdCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmNvbnRlbnRTdWJqZWN0PU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSxybSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndvcmRXcmFwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJ3b3JkV3JhcCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LndvcmRXcmFwLCJnZXQiKSxzZXQ6cygoeixPKT0+e3oud29yZFdyYXA9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLHJtKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89cygoKT0+d2A8ZGVlcy13b3Jrc3BhY2UtbW9uYWNvPjwvZGVlcy13b3Jrc3BhY2UtbW9uYWNvPmAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIldvcmtzcGFjZSJdO3N0YXRpYyBtb25hY29EZWZlcnJlZDtlZGl0b3JEZWZlcnJlZD1IdC5zbWFydHByb21pc2UuZGVmZXIoKTsjZT0kMSh0aGlzLG4sYGZ1bmN0aW9uIGhlbGxvKCkgewoJYWxlcnQoJ0hlbGxvIHdvcmxkIScpOwp9YCk7Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY29udGVudChfKXt0aGlzLiNlPV99I3Q9KCQxKHRoaXMsbCksJDEodGhpcyxjLCJ0eXBlc2NyaXB0IikpO2dldCBsYW5ndWFnZSgpe3JldHVybiB0aGlzLiN0fXNldCBsYW5ndWFnZShfKXt0aGlzLiN0PV99I2E9KCQxKHRoaXMscCksJDEodGhpcyxtLCIiKSk7Z2V0IGZpbGVQYXRoKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGZpbGVQYXRoKF8pe3RoaXMuI2E9X30jcj0oJDEodGhpcyx2KSwkMSh0aGlzLGIsbmV3IEh0LnNtYXJ0cngucnhqcy5TdWJqZWN0KSk7Z2V0IGNvbnRlbnRTdWJqZWN0KCl7cmV0dXJuIHRoaXMuI3J9c2V0IGNvbnRlbnRTdWJqZWN0KF8pe3RoaXMuI3I9X30jcz0oJDEodGhpcyxnKSwkMSh0aGlzLGssIm9mZiIpKTtnZXQgd29yZFdyYXAoKXtyZXR1cm4gdGhpcy4jc31zZXQgd29yZFdyYXAoXyl7dGhpcy4jcz1ffW1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uPSgkMSh0aGlzLEMpLG51bGwpO2lzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITE7Y29uc3RydWN0b3IoKXtzdXBlcigpLCRpLnNldHVwRG9tVG9vbHMoKX1zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5tYWluYm94IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAjY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWFpbmJveCI+CiAgICAgICAgPGRpdiBpZD0iY29udGFpbmVyIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZChfKXtzdXBlci5maXJzdFVwZGF0ZWQoXyk7bGV0IHo9dGhpcy5zaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSxPPWBodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL21vbmFjby1lZGl0b3JAJHtYdGV9YDtpZighTi5tb25hY29EZWZlcnJlZCl7Ti5tb25hY29EZWZlcnJlZD1IdC5zbWFydHByb21pc2UuZGVmZXIoKTtsZXQgTT1gJHtPfS9taW4vdnMvbG9hZGVyLmpzYCxTPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO1Muc3JjPU0sUy5vbmxvYWQ9KCk9PntOLm1vbmFjb0RlZmVycmVkLnJlc29sdmUoKX0sZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChTKX1hd2FpdCBOLm1vbmFjb0RlZmVycmVkLnByb21pc2Usd2luZG93LnJlcXVpcmUuY29uZmlnKHtwYXRoczp7dnM6YCR7T30vbWluL3ZzYH19KSx3aW5kb3cucmVxdWlyZShbInZzL2VkaXRvci9lZGl0b3IubWFpbiJdLGFzeW5jKCk9PntsZXQgTT1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSxFPU0udGhlbWVNYW5hZ2VyLmdvQnJpZ2h0Qm9vbGVhbj8idnMiOiJ2cy1kYXJrIixBPXdpbmRvdy5tb25hY28sRj1udWxsO2lmKHRoaXMuZmlsZVBhdGgpe2xldCBqPUEuVXJpLnBhcnNlKGBmaWxlOi8vJHt0aGlzLmZpbGVQYXRofWApO0Y9QS5lZGl0b3IuZ2V0TW9kZWwoaiksRj9GLnNldFZhbHVlKHRoaXMuY29udGVudCk6Rj1BLmVkaXRvci5jcmVhdGVNb2RlbCh0aGlzLmNvbnRlbnQsdGhpcy5sYW5ndWFnZSxqKX1sZXQgVz1BLmVkaXRvci5jcmVhdGUoeix7bW9kZWw6Rnx8dm9pZCAwLHZhbHVlOkY/dm9pZCAwOnRoaXMuY29udGVudCxsYW5ndWFnZTpGP3ZvaWQgMDp0aGlzLmxhbmd1YWdlLHRoZW1lOkUsdXNlU2hhZG93RE9NOiEwLGZvbnRTaXplOjE2LGF1dG9tYXRpY0xheW91dDohMCx3b3JkV3JhcDp0aGlzLndvcmRXcmFwLGhvdmVyOntlbmFibGVkOiEwLGRlbGF5OjMwMCxzdGlja3k6ITAsYWJvdmU6ITF9fSk7dGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbj1NLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKGo9PntsZXQgRz1qPyJ2cyI6InZzLWRhcmsiO1cudXBkYXRlT3B0aW9ucyh7dGhlbWU6R30pfSksdGhpcy5lZGl0b3JEZWZlcnJlZC5yZXNvbHZlKFcpfSk7bGV0IFQ9YXdhaXQoYXdhaXQgZmV0Y2goYCR7T30vbWluL3ZzL2VkaXRvci9lZGl0b3IubWFpbi5jc3NgKSkudGV4dCgpLFA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtQLnRleHRDb250ZW50PVQsdGhpcy5zaGFkb3dSb290LmFwcGVuZChQKTtsZXQgQj1hd2FpdCB0aGlzLmVkaXRvckRlZmVycmVkLnByb21pc2U7Qi5vbkRpZENoYW5nZU1vZGVsQ29udGVudChhc3luYyBNPT57aWYodGhpcy5pc1VwZGF0aW5nRnJvbUV4dGVybmFsKXJldHVybjtsZXQgUz1CLmdldFZhbHVlKCk7dGhpcy5jb250ZW50U3ViamVjdC5uZXh0KFMpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNvbnRlbnQtY2hhbmdlIix7ZGV0YWlsOlMsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX0pLHRoaXMuY29udGVudFN1YmplY3QubmV4dChCLmdldFZhbHVlKCkpfWFzeW5jIHVwZGF0ZWQoXyl7c3VwZXIudXBkYXRlZChfKTtsZXQgej13aW5kb3cubW9uYWNvO2lmKHope2lmKF8uaGFzKCJmaWxlUGF0aCIpJiZ0aGlzLmZpbGVQYXRoKXtsZXQgTz1hd2FpdCB0aGlzLmVkaXRvckRlZmVycmVkLnByb21pc2UsVD16LlVyaS5wYXJzZShgZmlsZTovLyR7dGhpcy5maWxlUGF0aH1gKSxQPXouZWRpdG9yLmdldE1vZGVsKFQpO1A/UC5nZXRWYWx1ZSgpIT09dGhpcy5jb250ZW50JiYodGhpcy5pc1VwZGF0aW5nRnJvbUV4dGVybmFsPSEwLFAuc2V0VmFsdWUodGhpcy5jb250ZW50KSx0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITEpOlA9ei5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5jb250ZW50LHRoaXMubGFuZ3VhZ2UsVCksTy5nZXRNb2RlbCgpPy51cmkudG9TdHJpbmcoKSE9PVQudG9TdHJpbmcoKSYmTy5zZXRNb2RlbChQKTtyZXR1cm59aWYoXy5oYXMoImNvbnRlbnQiKSl7bGV0IE89YXdhaXQgdGhpcy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlO08uZ2V0VmFsdWUoKSE9PXRoaXMuY29udGVudCYmKHRoaXMuaXNVcGRhdGluZ0Zyb21FeHRlcm5hbD0hMCxPLnNldFZhbHVlKHRoaXMuY29udGVudCksdGhpcy5pc1VwZGF0aW5nRnJvbUV4dGVybmFsPSExKX1pZihfLmhhcygibGFuZ3VhZ2UiKSl7bGV0IFQ9KGF3YWl0IHRoaXMuZWRpdG9yRGVmZXJyZWQucHJvbWlzZSkuZ2V0TW9kZWwoKTtUJiZ6LmVkaXRvci5zZXRNb2RlbExhbmd1YWdlKFQsdGhpcy5sYW5ndWFnZSl9fX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbiYmKHRoaXMubW9uYWNvVGhlbWVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uPW51bGwpfWFzeW5jIHNldENvbnRlbnRFeHRlcm5hbChfLHo9ITApe2xldCBPPWF3YWl0IHRoaXMuZWRpdG9yRGVmZXJyZWQucHJvbWlzZTtpZihPLmdldFZhbHVlKCk9PT1fKXJldHVybjtsZXQgUD16P08uZ2V0UG9zaXRpb24oKTpudWxsLEI9ej9PLmdldFNlbGVjdGlvbnMoKTpudWxsLE09ej9PLmdldFNjcm9sbFRvcCgpOjAsUz16P08uZ2V0U2Nyb2xsTGVmdCgpOjA7aWYodGhpcy5pc1VwZGF0aW5nRnJvbUV4dGVybmFsPSEwLE8uc2V0VmFsdWUoXyksdGhpcy5pc1VwZGF0aW5nRnJvbUV4dGVybmFsPSExLHope2lmKFApe2xldCBFPU8uZ2V0TW9kZWwoKSxBPUU/LmdldExpbmVDb3VudCgpfHwxLEY9TWF0aC5taW4oUC5saW5lTnVtYmVyLEEpLFc9RT8uZ2V0TGluZU1heENvbHVtbihGKXx8MSxqPU1hdGgubWluKFAuY29sdW1uLFcpO08uc2V0UG9zaXRpb24oe2xpbmVOdW1iZXI6Rixjb2x1bW46an0pfWlmKEImJkIubGVuZ3RoPjApdHJ5e08uc2V0U2VsZWN0aW9ucyhCKX1jYXRjaHt9Ty5zZXRTY3JvbGxQb3NpdGlvbih7c2Nyb2xsVG9wOk0sc2Nyb2xsTGVmdDpTfSl9fXN0YXRpY3skMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgVjIsRXMsX2YsUXRlLExZZT1mKCgpPT57U3IoKTtsZSgpO1FlKCk7Y2MoKTt2YSgpO2FtKCk7UXIoKTtDZigpO0NmKCk7VjI9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEVzPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxfZj1be2tleToidHlwZXNjcmlwdCIsbGFiZWw6IlR5cGVTY3JpcHQifSx7a2V5OiJqYXZhc2NyaXB0IixsYWJlbDoiSmF2YVNjcmlwdCJ9LHtrZXk6Impzb24iLGxhYmVsOiJKU09OIn0se2tleToiaHRtbCIsbGFiZWw6IkhUTUwifSx7a2V5OiJjc3MiLGxhYmVsOiJDU1MifSx7a2V5OiJzY3NzIixsYWJlbDoiU0NTUyJ9LHtrZXk6Im1hcmtkb3duIixsYWJlbDoiTWFya2Rvd24ifSx7a2V5OiJ5YW1sIixsYWJlbDoiWUFNTCJ9LHtrZXk6InhtbCIsbGFiZWw6IlhNTCJ9LHtrZXk6InNxbCIsbGFiZWw6IlNRTCJ9LHtrZXk6InB5dGhvbiIsbGFiZWw6IlB5dGhvbiJ9LHtrZXk6ImphdmEiLGxhYmVsOiJKYXZhIn0se2tleToiY3NoYXJwIixsYWJlbDoiQyMifSx7a2V5OiJjcHAiLGxhYmVsOiJDKysifSx7a2V5OiJnbyIsbGFiZWw6IkdvIn0se2tleToicnVzdCIsbGFiZWw6IlJ1c3QifSx7a2V5OiJzaGVsbCIsbGFiZWw6IlNoZWxsIn0se2tleToicGxhaW50ZXh0IixsYWJlbDoiUGxhaW4gVGV4dCJ9XSxRdGU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LWNvZGUiKV0sZSx0PVtdLHIsaT1NdCxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXSxCLE09W10sUz1bXSxFLEE9W10sRj1bXTt2YXIgVz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0Q29kZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBqPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVtLKCldLE89W0soKV0sQj1bSygpXSxFPVtLKCldLFYyKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+InZhbHVlImluIEcsImhhcyIpLGdldDpzKEc9PkcudmFsdWUsImdldCIpLHNldDpzKChHLGhlKT0+e0cudmFsdWU9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sbixsKSxWMih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imxhbmd1YWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJsYW5ndWFnZSJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLmxhbmd1YWdlLCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLmxhbmd1YWdlPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LGMscCksVjIodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoZWlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+ImhlaWdodCJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLmhlaWdodCwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5oZWlnaHQ9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sbSx2KSxWMih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndvcmRXcmFwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJ3b3JkV3JhcCJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLndvcmRXcmFwLCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLndvcmRXcmFwPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LGIsZyksVjIodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93TGluZU51bWJlcnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+InNob3dMaW5lTnVtYmVycyJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLnNob3dMaW5lTnVtYmVycywiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5zaG93TGluZU51bWJlcnM9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sayxDKSxWMih0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzTGFuZ3VhZ2VEcm9wZG93bk9wZW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+ImlzTGFuZ3VhZ2VEcm9wZG93bk9wZW4iaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry5pc0xhbmd1YWdlRHJvcGRvd25PcGVuLCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW49aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sXyx6KSxWMih0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvcHlTdWNjZXNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJjb3B5U3VjY2VzcyJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLmNvcHlTdWNjZXNzLCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLmNvcHlTdWNjZXNzPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LFQsUCksVjIodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsaW5lQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+ImxpbmVDb3VudCJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLmxpbmVDb3VudCwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5saW5lQ291bnQ9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sTSxTKSxWMih0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnNvclBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJjdXJzb3JQb3NpdGlvbiJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLmN1cnNvclBvc2l0aW9uLCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLmN1cnNvclBvc2l0aW9uPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LEEsRiksVjIobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6an0sbnVsbCx0KSxXPXI9ZS52YWx1ZSxqJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmp9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRlZXMtaW5wdXQtY29kZQogICAgICBsYWJlbD0iVHlwZVNjcmlwdCBDb2RlIgogICAgICBrZXk9ImNvZGUiCiAgICAgIGxhbmd1YWdlPSJ0eXBlc2NyaXB0IgogICAgICBoZWlnaHQ9IjMwMHB4IgogICAgICAudmFsdWU9JHtgY29uc3QgZ3JlZXRpbmc6IHN0cmluZyA9ICJIZWxsbyBXb3JsZCI7CmNvbnNvbGUubG9nKGdyZWV0aW5nKTtgfQogICAgPjwvZGVlcy1pbnB1dC1jb2RlPgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0IiwiV29ya3NwYWNlIl07I2U9RXModGhpcyxuLCIiKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoail7dGhpcy4jZT1qfSN0PShFcyh0aGlzLGwpLEVzKHRoaXMsYywidHlwZXNjcmlwdCIpKTtnZXQgbGFuZ3VhZ2UoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbGFuZ3VhZ2Uoail7dGhpcy4jdD1qfSNhPShFcyh0aGlzLHApLEVzKHRoaXMsbSwiMjAwcHgiKSk7Z2V0IGhlaWdodCgpe3JldHVybiB0aGlzLiNhfXNldCBoZWlnaHQoail7dGhpcy4jYT1qfSNyPShFcyh0aGlzLHYpLEVzKHRoaXMsYiwib2ZmIikpO2dldCB3b3JkV3JhcCgpe3JldHVybiB0aGlzLiNyfXNldCB3b3JkV3JhcChqKXt0aGlzLiNyPWp9I3M9KEVzKHRoaXMsZyksRXModGhpcyxrLCEwKSk7Z2V0IHNob3dMaW5lTnVtYmVycygpe3JldHVybiB0aGlzLiNzfXNldCBzaG93TGluZU51bWJlcnMoail7dGhpcy4jcz1qfSNpPShFcyh0aGlzLEMpLEVzKHRoaXMsXywhMSkpO2dldCBpc0xhbmd1YWdlRHJvcGRvd25PcGVuKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGlzTGFuZ3VhZ2VEcm9wZG93bk9wZW4oail7dGhpcy4jaT1qfSNvPShFcyh0aGlzLHopLEVzKHRoaXMsVCwhMSkpO2dldCBjb3B5U3VjY2Vzcygpe3JldHVybiB0aGlzLiNvfXNldCBjb3B5U3VjY2VzcyhqKXt0aGlzLiNvPWp9I249KEVzKHRoaXMsUCksRXModGhpcyxNLDApKTtnZXQgbGluZUNvdW50KCl7cmV0dXJuIHRoaXMuI259c2V0IGxpbmVDb3VudChqKXt0aGlzLiNuPWp9I2w9KEVzKHRoaXMsUyksRXModGhpcyxBLHtsaW5lOjEsY29sdW1uOjF9KSk7Z2V0IGN1cnNvclBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGN1cnNvclBvc2l0aW9uKGope3RoaXMuI2w9an1lZGl0b3JFbGVtZW50PShFcyh0aGlzLEYpLG51bGwpO3N0YXRpYyBzdHlsZXM9W1BlLC4uLk10LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIsCiAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0idG9wIl0pIC5pbnB1dC13cmFwcGVyLAogICAgICA6aG9zdChbbGFiZWwtcG9zaXRpb249ImxlZnQiXSkgLmlucHV0LXdyYXBwZXIsCiAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0icmlnaHQiXSkgLmlucHV0LXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAudG9vbGJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnRvb2xiYXItbGVmdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAudG9vbGJhci1yaWdodCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAubGFuZ3VhZ2Utc2VsZWN0b3IgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmxhbmd1YWdlLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5sYW5ndWFnZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICB9CgogICAgICAubGFuZ3VhZ2UtZHJvcGRvd24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpOwogICAgICAgIHotaW5kZXg6IDEwMDsKICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG1pbi13aWR0aDogMTQwcHg7CiAgICAgIH0KCiAgICAgIC5sYW5ndWFnZS1vcHRpb24gewogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmxhbmd1YWdlLW9wdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgIH0KCiAgICAgIC5sYW5ndWFnZS1vcHRpb24uc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYWN0aXZlKTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1hY3RpdmUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uLnN1Y2Nlc3MgewogICAgICAgIGNvbG9yOiBoc2woMTQyLjEgNzYuMiUgMzYuMyUpOwogICAgICB9CgogICAgICAuZWRpdG9yLXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBpbnNldDogMDsKICAgICAgfQoKICAgICAgZGVlcy13b3Jrc3BhY2UtbW9uYWNvIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC8qIE1hdGNoIE1vbmFjbyBiYWNrZ3JvdW5kIHRvIHRpbGUgKi8KICAgICAgZGVlcy13b3Jrc3BhY2UtbW9uYWNvOjpwYXJ0KGNvbnRhaW5lcikgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWRpdmlkZXIgewogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIG1hcmdpbjogMCA0cHg7CiAgICAgIH0KCiAgICAgIC8qIEZvb3RlciAqLwogICAgICAuZWRpdG9yLWZvb3RlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZm9vdGVyLWxlZnQsCiAgICAgIC5mb290ZXItcmlnaHQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5mb290ZXItc2VwYXJhdG9yIHsKICAgICAgICB3aWR0aDogMXB4OwogICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLmNvZGUtY29udGFpbmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBqPV9mLmZpbmQoRz0+Ry5rZXk9PT10aGlzLmxhbmd1YWdlKXx8X2ZbMF07cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBoZWlnaHQ6ICR7dGhpcy5oZWlnaHR9OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLmluZm9UZXh0PSR7dGhpcy5pbmZvVGV4dH0gLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0+PC9kZWVzLWxhYmVsPgogICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InRvb2xiYXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWxlZnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxhbmd1YWdlLXNlbGVjdG9yIj4KICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgY2xhc3M9Imxhbmd1YWdlLWJ1dHRvbiIKICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy50b2dnbGVMYW5ndWFnZURyb3Bkb3dufQogICAgICAgICAgICAgICAgICBAYmx1cj0ke3RoaXMuaGFuZGxlTGFuZ3VhZ2VCbHVyfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAke2oubGFiZWx9CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOkNoZXZyb25Eb3duIn0gaWNvblNpemU9IjE0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgJHt0aGlzLmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW4/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICR7X2YubWFwKEc9PndgCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJsYW5ndWFnZS1vcHRpb24gJHtHLmtleT09PXRoaXMubGFuZ3VhZ2U/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICAgIEBtb3VzZWRvd249JHtoZT0+dGhpcy5zZWxlY3RMYW5ndWFnZShoZSxHLmtleSl9CiAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICR7Ry5sYWJlbH0KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLXJpZ2h0Ij4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24gJHt0aGlzLndvcmRXcmFwPT09Im9uIj8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICB0aXRsZT0iV29yZCBXcmFwIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy50b2dnbGVXb3JkV3JhcH0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpXcmFwVGV4dCJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uICR7dGhpcy5zaG93TGluZU51bWJlcnM/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgdGl0bGU9IkxpbmUgTnVtYmVycyIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMudG9nZ2xlTGluZU51bWJlcnN9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6SGFzaCJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1kaXZpZGVyIj48L2Rpdj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24gJHt0aGlzLmNvcHlTdWNjZXNzPyJzdWNjZXNzIjoiIn0iCiAgICAgICAgICAgICAgICB0aXRsZT0iQ29weSBDb2RlIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5jb3B5Q29kZX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7dGhpcy5jb3B5U3VjY2Vzcz8ibHVjaWRlOkNoZWNrIjoibHVjaWRlOkNvcHkifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIHRpdGxlPSJFeHBhbmQiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLm9wZW5GdWxsc2NyZWVufQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOk1heGltaXplMiJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3Itd3JhcHBlciI+CiAgICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tb25hY28KICAgICAgICAgICAgICAuY29udGVudD0ke3RoaXMudmFsdWV9CiAgICAgICAgICAgICAgLmxhbmd1YWdlPSR7dGhpcy5sYW5ndWFnZX0KICAgICAgICAgICAgICAud29yZFdyYXA9JHt0aGlzLndvcmRXcmFwfQogICAgICAgICAgICAgIEBjb250ZW50LWNoYW5nZT0ke3RoaXMuaGFuZGxlQ29udGVudENoYW5nZX0KICAgICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtbW9uYWNvPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImVkaXRvci1mb290ZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItbGVmdCI+CiAgICAgICAgICAgICAgPHNwYW4+TG4gJHt0aGlzLmN1cnNvclBvc2l0aW9uLmxpbmV9LCBDb2wgJHt0aGlzLmN1cnNvclBvc2l0aW9uLmNvbHVtbn08L3NwYW4+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLXNlcGFyYXRvciI+PC9kaXY+CiAgICAgICAgICAgICAgPHNwYW4+JHt0aGlzLmxpbmVDb3VudH0gbGluZSR7dGhpcy5saW5lQ291bnQhPT0xPyJzIjoiIn08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItcmlnaHQiPgogICAgICAgICAgICAgIDxzcGFuPiR7KF9mLmZpbmQoRz0+Ry5rZXk9PT10aGlzLmxhbmd1YWdlKXx8X2ZbMF0pLmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2lmKHRoaXMuZWRpdG9yRWxlbWVudD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpLHRoaXMuZWRpdG9yRWxlbWVudCl7dGhpcy5lZGl0b3JFbGVtZW50LmNvbnRlbnRTdWJqZWN0LnN1YnNjcmliZShVPT57dGhpcy52YWx1ZSE9PVUmJih0aGlzLnZhbHVlPVUsdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfSk7bGV0IGo9YXdhaXQgdGhpcy5lZGl0b3JFbGVtZW50LmVkaXRvckRlZmVycmVkLnByb21pc2UsRz1qLmdldE1vZGVsKCk7RyYmKHRoaXMubGluZUNvdW50PUcuZ2V0TGluZUNvdW50KCksRy5vbkRpZENoYW5nZUNvbnRlbnQoKCk9Pnt0aGlzLmxpbmVDb3VudD1HLmdldExpbmVDb3VudCgpfSkpLGoub25EaWRDaGFuZ2VDdXJzb3JQb3NpdGlvbihVPT57dGhpcy5jdXJzb3JQb3NpdGlvbj17bGluZTpVLnBvc2l0aW9uLmxpbmVOdW1iZXIsY29sdW1uOlUucG9zaXRpb24uY29sdW1ufX0pO2xldCBoZT1hd2FpdCB0aGlzLmVkaXRvckVsZW1lbnQuZG9tdG9vbHNQcm9taXNlLFI9cyhVPT57bGV0IG1lPVU/IiNmZmZmZmYiOiIjMGEwYTBhIjtqLnVwZGF0ZU9wdGlvbnMoe30pLHdpbmRvdy5tb25hY28/LmVkaXRvcj8uZGVmaW5lVGhlbWU/LigiZGVlcy1saWdodCIse2Jhc2U6InZzIixpbmhlcml0OiEwLHJ1bGVzOltdLGNvbG9yczp7ImVkaXRvci5iYWNrZ3JvdW5kIjptZX19KSx3aW5kb3cubW9uYWNvPy5lZGl0b3I/LmRlZmluZVRoZW1lPy4oImRlZXMtZGFyayIse2Jhc2U6InZzLWRhcmsiLGluaGVyaXQ6ITAscnVsZXM6W10sY29sb3JzOnsiZWRpdG9yLmJhY2tncm91bmQiOm1lfX0pLGoudXBkYXRlT3B0aW9ucyh7dGhlbWU6VT8iZGVlcy1saWdodCI6ImRlZXMtZGFyayJ9KX0sInVwZGF0ZUVkaXRvckJnIik7UihoZS50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuKSxoZS50aGVtZU1hbmFnZXIudGhlbWVPYnNlcnZhYmxlLnN1YnNjcmliZShVPT57UihVKX0pfX10b2dnbGVMYW5ndWFnZURyb3Bkb3duKCl7dGhpcy5pc0xhbmd1YWdlRHJvcGRvd25PcGVuPSF0aGlzLmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW59aGFuZGxlTGFuZ3VhZ2VCbHVyKCl7c2V0VGltZW91dCgoKT0+e3RoaXMuaXNMYW5ndWFnZURyb3Bkb3duT3Blbj0hMX0sMTUwKX1hc3luYyBzZWxlY3RMYW5ndWFnZShqLEcpe2lmKGoucHJldmVudERlZmF1bHQoKSx0aGlzLmxhbmd1YWdlPUcsdGhpcy5pc0xhbmd1YWdlRHJvcGRvd25PcGVuPSExLHRoaXMuZWRpdG9yRWxlbWVudCl7dGhpcy5lZGl0b3JFbGVtZW50Lmxhbmd1YWdlPUc7bGV0IFI9KGF3YWl0IHRoaXMuZWRpdG9yRWxlbWVudC5lZGl0b3JEZWZlcnJlZC5wcm9taXNlKS5nZXRNb2RlbCgpO1ImJndpbmRvdy5tb25hY28uZWRpdG9yLnNldE1vZGVsTGFuZ3VhZ2UoUixHKX19dG9nZ2xlV29yZFdyYXAoKXt0aGlzLndvcmRXcmFwPXRoaXMud29yZFdyYXA9PT0ib24iPyJvZmYiOiJvbiIsdGhpcy51cGRhdGVFZGl0b3JPcHRpb24oIndvcmRXcmFwIix0aGlzLndvcmRXcmFwKX10b2dnbGVMaW5lTnVtYmVycygpe3RoaXMuc2hvd0xpbmVOdW1iZXJzPSF0aGlzLnNob3dMaW5lTnVtYmVycyx0aGlzLnVwZGF0ZUVkaXRvck9wdGlvbigibGluZU51bWJlcnMiLHRoaXMuc2hvd0xpbmVOdW1iZXJzPyJvbiI6Im9mZiIpfWFzeW5jIHVwZGF0ZUVkaXRvck9wdGlvbihqLEcpe3RoaXMuZWRpdG9yRWxlbWVudCYmKGF3YWl0IHRoaXMuZWRpdG9yRWxlbWVudC5lZGl0b3JEZWZlcnJlZC5wcm9taXNlKS51cGRhdGVPcHRpb25zKHtbal06R30pfWFzeW5jIGNvcHlDb2RlKCl7dHJ5e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRoaXMudmFsdWUpLHRoaXMuY29weVN1Y2Nlc3M9ITAsc2V0VGltZW91dCgoKT0+e3RoaXMuY29weVN1Y2Nlc3M9ITF9LDJlMyl9Y2F0Y2goail7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNvcHkgY29kZToiLGopfX1oYW5kbGVDb250ZW50Q2hhbmdlKGope2xldCBHPWouZGV0YWlsO3RoaXMudmFsdWUhPT1HJiYodGhpcy52YWx1ZT1HLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1hc3luYyBvcGVuRnVsbHNjcmVlbigpe2xldCBqPXRoaXMudmFsdWUsRz1udWxsLGhlPXRoaXMubGFuZ3VhZ2UsUj10aGlzLndvcmRXcmFwLFU9dGhpcy5zaG93TGluZU51bWJlcnMsbWU9ITEsST0hMSxxPXMoKCk9PntsZXQgYWU9X2YuZmluZChyZT0+cmUua2V5PT09aGUpO3JldHVybiBhZT9hZS5sYWJlbDoiVHlwZVNjcmlwdCJ9LCJnZXRMYW5ndWFnZUxhYmVsIiksY2U9cyhhZT0+e2xldCByZT1hZS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubW9kYWwtdG9vbGJhciIpO2lmKCFyZSlyZXR1cm47bGV0IHllPXJlLnF1ZXJ5U2VsZWN0b3IoIi5sYW5ndWFnZS1idXR0b24gc3BhbiIpO3llJiYoeWUudGV4dENvbnRlbnQ9cSgpKTtsZXQgVj1yZS5xdWVyeVNlbGVjdG9yKCIud3JhcC1idG4iKTtWJiZWLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsUj09PSJvbiIpO2xldCBIPXJlLnF1ZXJ5U2VsZWN0b3IoIi5saW5lcy1idG4iKTtIJiZILmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsVSk7bGV0IG9lPXJlLnF1ZXJ5U2VsZWN0b3IoIi5jb3B5LWJ0biIpLHNlPW9lPy5xdWVyeVNlbGVjdG9yKCJkZWVzLWljb24iKTtvZSYmc2UmJihvZS5jbGFzc0xpc3QudG9nZ2xlKCJzdWNjZXNzIixJKSxzZS5pY29uPUk/Imx1Y2lkZTpDaGVjayI6Imx1Y2lkZTpDb3B5Iik7bGV0IHRlPXJlLnF1ZXJ5U2VsZWN0b3IoIi5sYW5ndWFnZS1kcm9wZG93biIpO3RlJiYodGUuc3R5bGUuZGlzcGxheT1tZT8iYmxvY2siOiJub25lIil9LCJ1cGRhdGVUb29sYmFyVUkiKSx1ZT1zKGFlPT57bGV0IHJlPWFlLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5tb2RhbC1mb290ZXIiKTtpZighcmUpcmV0dXJuO2xldCB5ZT1yZS5xdWVyeVNlbGVjdG9yKCIuZm9vdGVyLWN1cnNvciIpLFY9cmUucXVlcnlTZWxlY3RvcigiLmZvb3Rlci1saW5lcyIpLEg9cmUucXVlcnlTZWxlY3RvcigiLmZvb3Rlci1sYW5nIik7eWUmJih5ZS50ZXh0Q29udGVudD1gTG4gJHtZfSwgQ29sICR7UX1gKSxWJiYoVi50ZXh0Q29udGVudD1gJHtKfSBsaW5lJHtKIT09MT8icyI6IiJ9YCksSCYmKEgudGV4dENvbnRlbnQ9cSgpKX0sInVwZGF0ZUZvb3RlclVJIiksWT0xLFE9MSxKPWouc3BsaXQoYApgKS5sZW5ndGgsWj1hd2FpdCBNYS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOnRoaXMubGFiZWx8fCJDb2RlIEVkaXRvciIsd2lkdGg6ImZ1bGxzY3JlZW4iLGNvbnRlbnRQYWRkaW5nOjAsY29udGVudDp3YAogICAgICAgIDxzdHlsZT4KICAgICAgICAgIC5tb2RhbC10b29sYmFyIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAudG9vbGJhci1sZWZ0IHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAudG9vbGJhci1yaWdodCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogNHB4OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLmxhbmd1YWdlLXNlbGVjdG9yIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLmxhbmd1YWdlLWJ1dHRvbiB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogNnB4OwogICAgICAgICAgICBwYWRkaW5nOiA0cHggMTBweDsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLmxhbmd1YWdlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC5sYW5ndWFnZS1kcm9wZG93biB7CiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgICAgdG9wOiAxMDAlOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpOwogICAgICAgICAgICB6LWluZGV4OiAxMDA7CiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDI1MHB4OwogICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgICAgICBtaW4td2lkdGg6IDE0MHB4OwogICAgICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLmxhbmd1YWdlLW9wdGlvbiB7CiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLmxhbmd1YWdlLW9wdGlvbjpob3ZlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC5sYW5ndWFnZS1vcHRpb24uc2VsZWN0ZWQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAudG9vbGJhci1idXR0b24gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLnRvb2xiYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkwJSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLnRvb2xiYXItYnV0dG9uLmFjdGl2ZSB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLWJ1dHRvbi5zdWNjZXNzIHsKICAgICAgICAgICAgY29sb3I6IGhzbCgxNDIuMSA3Ni4yJSAzNi4zJSk7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAudG9vbGJhci1kaXZpZGVyIHsKICAgICAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgICAgIG1hcmdpbjogMCA0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtZWRpdG9yLXdyYXBwZXIgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDIwMHB4KTsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtZm9vdGVyIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1JSkiLCJoc2woMCAwJSA1NSUpIil9OwogICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC1mb290ZXIgLmZvb3Rlci1sZWZ0LAogICAgICAgICAgLm1vZGFsLWZvb3RlciAuZm9vdGVyLXJpZ2h0IHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLWZvb3RlciAuZm9vdGVyLXNlcGFyYXRvciB7CiAgICAgICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgICAgfQogICAgICAgIDwvc3R5bGU+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtdG9vbGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWxlZnQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zZWxlY3RvciI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibGFuZ3VhZ2UtYnV0dG9uIj4KICAgICAgICAgICAgICAgIDxzcGFuPiR7cSgpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOkNoZXZyb25Eb3duIn0gaWNvblNpemU9IjE0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1kcm9wZG93biI+CiAgICAgICAgICAgICAgICAke19mLm1hcChhZT0+d2AKICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJsYW5ndWFnZS1vcHRpb24gJHthZS5rZXk9PT1oZT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgICBkYXRhLWxhbmc9IiR7YWUua2V5fSIKICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICR7YWUubGFiZWx9CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLXJpZ2h0Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24gd3JhcC1idG4gJHtSPT09Im9uIj8iYWN0aXZlIjoiIn0iIHRpdGxlPSJXb3JkIFdyYXAiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOldyYXBUZXh0In0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIGxpbmVzLWJ0biAke1U/ImFjdGl2ZSI6IiJ9IiB0aXRsZT0iTGluZSBOdW1iZXJzIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpIYXNoIn0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZGl2aWRlciI+PC9kaXY+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIGNvcHktYnRuIiB0aXRsZT0iQ29weSBDb2RlIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpDb3B5In0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1lZGl0b3Itd3JhcHBlciI+CiAgICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbW9uYWNvCiAgICAgICAgICAgIC5jb250ZW50PSR7an0KICAgICAgICAgICAgLmxhbmd1YWdlPSR7aGV9CiAgICAgICAgICAgIC53b3JkV3JhcD0ke1J9CiAgICAgICAgICA+PC9kZWVzLXdvcmtzcGFjZS1tb25hY28+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sZWZ0Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlci1jdXJzb3IiPkxuICR7WX0sIENvbCAke1F9PC9zcGFuPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItc2VwYXJhdG9yIj48L2Rpdj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlci1saW5lcyI+JHtKfSBsaW5lJHtKIT09MT8icyI6IiJ9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItcmlnaHQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyLWxhbmciPiR7cSgpfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyBhZT0+e2F3YWl0IGFlLmRlc3Ryb3koKX0sImFjdGlvbiIpfSx7bmFtZToiU2F2ZSAmIENsb3NlIixhY3Rpb246cyhhc3luYyBhZT0+e2lmKEc9YWUuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtbW9uYWNvIiksRyl7bGV0IHllPShhd2FpdCBHLmVkaXRvckRlZmVycmVkLnByb21pc2UpLmdldFZhbHVlKCk7dGhpcy5zZXRWYWx1ZSh5ZSl9YXdhaXQgYWUuZGVzdHJveSgpfSwiYWN0aW9uIil9XX0pO2lmKGF3YWl0IG5ldyBQcm9taXNlKGFlPT5zZXRUaW1lb3V0KGFlLDEwMCkpLEc9Wi5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKSxHKXtsZXQgYWU9YXdhaXQgRy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlLHJlPWF3YWl0IEcuZG9tdG9vbHNQcm9taXNlLHllPXMoSD0+e2xldCBvZT1IPyIjZmZmZmZmIjoiIzBhMGEwYSI7d2luZG93Lm1vbmFjbz8uZWRpdG9yPy5kZWZpbmVUaGVtZT8uKCJkZWVzLWxpZ2h0Iix7YmFzZToidnMiLGluaGVyaXQ6ITAscnVsZXM6W10sY29sb3JzOnsiZWRpdG9yLmJhY2tncm91bmQiOm9lfX0pLHdpbmRvdy5tb25hY28/LmVkaXRvcj8uZGVmaW5lVGhlbWU/LigiZGVlcy1kYXJrIix7YmFzZToidnMtZGFyayIsaW5oZXJpdDohMCxydWxlczpbXSxjb2xvcnM6eyJlZGl0b3IuYmFja2dyb3VuZCI6b2V9fSksYWUudXBkYXRlT3B0aW9ucyh7dGhlbWU6SD8iZGVlcy1saWdodCI6ImRlZXMtZGFyayJ9KX0sImFwcGx5TW9kYWxUaGVtZSIpO3llKHJlLnRoZW1lTWFuYWdlci5nb0JyaWdodEJvb2xlYW4pLHJlLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKEg9Pnt5ZShIKX0pLGFlLm9uRGlkQ2hhbmdlQ3Vyc29yUG9zaXRpb24oSD0+e1k9SC5wb3NpdGlvbi5saW5lTnVtYmVyLFE9SC5wb3NpdGlvbi5jb2x1bW4sdWUoWil9KTtsZXQgVj1hZS5nZXRNb2RlbCgpO1YmJihKPVYuZ2V0TGluZUNvdW50KCksdWUoWiksVi5vbkRpZENoYW5nZUNvbnRlbnQoKCk9PntKPVYuZ2V0TGluZUNvdW50KCksdWUoWil9KSl9bGV0IGdlPVouc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm1vZGFsLXRvb2xiYXIiKTtpZihnZSl7bGV0IGFlPWdlLnF1ZXJ5U2VsZWN0b3IoIi5sYW5ndWFnZS1idXR0b24iKTthZT8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57bWU9IW1lLGNlKFopfSk7bGV0IHJlPWdlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5sYW5ndWFnZS1vcHRpb24iKTtyZS5mb3JFYWNoKG9lPT57b2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFzeW5jKCk9PntsZXQgc2U9b2UuZGF0YXNldC5sYW5nO2lmKHNlJiZHKXtoZT1zZSxtZT0hMTtsZXQgemU9KGF3YWl0IEcuZWRpdG9yRGVmZXJyZWQucHJvbWlzZSkuZ2V0TW9kZWwoKTt6ZSYmd2luZG93Lm1vbmFjby5lZGl0b3Iuc2V0TW9kZWxMYW5ndWFnZSh6ZSxzZSkscmUuZm9yRWFjaChPZT0+T2UuY2xhc3NMaXN0LnJlbW92ZSgic2VsZWN0ZWQiKSksb2UuY2xhc3NMaXN0LmFkZCgic2VsZWN0ZWQiKSxjZShaKSx1ZShaKX19KX0pLGdlLnF1ZXJ5U2VsZWN0b3IoIi53cmFwLWJ0biIpPy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMoKT0+e1I9Uj09PSJvbiI/Im9mZiI6Im9uIixHJiYoYXdhaXQgRy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlKS51cGRhdGVPcHRpb25zKHt3b3JkV3JhcDpSfSksY2UoWil9KSxnZS5xdWVyeVNlbGVjdG9yKCIubGluZXMtYnRuIik/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixhc3luYygpPT57VT0hVSxHJiYoYXdhaXQgRy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlKS51cGRhdGVPcHRpb25zKHtsaW5lTnVtYmVyczpVPyJvbiI6Im9mZiJ9KSxjZShaKX0pLGdlLnF1ZXJ5U2VsZWN0b3IoIi5jb3B5LWJ0biIpPy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMoKT0+e2lmKEcpe2xldCBzZT0oYXdhaXQgRy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlKS5nZXRWYWx1ZSgpO3RyeXthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChzZSksST0hMCxjZShaKSxzZXRUaW1lb3V0KCgpPT57ST0hMSxjZShaKX0sMmUzKX1jYXRjaCh0ZSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNvcHkgY29kZToiLHRlKX19fSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG9lPT57bWUmJiFhZT8uY29udGFpbnMob2UudGFyZ2V0KSYmKG1lPSExLGNlKFopKX0se29uY2U6ITB9KX19Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShqKXt0aGlzLnZhbHVlPWosdGhpcy5lZGl0b3JFbGVtZW50JiYodGhpcy5lZGl0b3JFbGVtZW50LmNvbnRlbnQ9aix0aGlzLmVkaXRvckVsZW1lbnQuZWRpdG9yRGVmZXJyZWQucHJvbWlzZS50aGVuKEc9PntHLmdldFZhbHVlKCkhPT1qJiZHLnNldFZhbHVlKGopfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfXN0YXRpY3tFcyhyLHQpfX07cmV0dXJuIFc9cn0pKCl9KTt2YXIgbXNhLGdzYT1mKCgpPT57bGUoKTtOYSgpO1lzKCk7JFllKCk7bXNhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgJHtYYAogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1vdXRwdXQgewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEwNSwgMjQyLCAwLjEpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQogICAgICAKICAgICAgLmRhdGUtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwodD0+e2NvbnNvbGUubG9nKCJCYXNpYyBkYXRlIHNlbGVjdGVkOiIsdC50YXJnZXQudmFsdWUpfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJCYXNpYyBEYXRlIFBpY2tlciJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgZGF0ZSBzZWxlY3Rpb24gd2l0aG91dCB0aW1lIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9IlNlbGVjdCBEYXRlIgogICAgICAgICAgZGVzY3JpcHRpb249IkNob29zZSBhIGRhdGUgZnJvbSB0aGUgY2FsZW5kYXIiCiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1kYXRlcGlja2VyW2xhYmVsPSJFdmVudCBEYXRlICYgVGltZSJdJyksdD1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtZGF0ZXBpY2tlcltsYWJlbD0iQXBwb2ludG1lbnQiXScpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwocj0+e2xldCBpPXIudGFyZ2V0LnZhbHVlO2NvbnNvbGUubG9nKCIyNGggZm9ybWF0IGRhdGV0aW1lOiIsaSl9KSksdCYmdC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChyPT57bGV0IGk9ci50YXJnZXQudmFsdWU7Y29uc29sZS5sb2coIjEyaCBmb3JtYXQgZGF0ZXRpbWU6IixpKX0pKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRGF0ZSBhbmQgVGltZSBTZWxlY3Rpb24ifSAuc3VidGl0bGU9JHsiRGF0ZSBwaWNrZXJzIHdpdGggdGltZSBzZWxlY3Rpb24gaW4gZGlmZmVyZW50IGZvcm1hdHMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iRXZlbnQgRGF0ZSAmIFRpbWUiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iU2VsZWN0IGJvdGggZGF0ZSBhbmQgdGltZSAoMjQtaG91ciBmb3JtYXQpIgogICAgICAgICAgLmVuYWJsZVRpbWU9JHshMH0KICAgICAgICAgIHRpbWVGb3JtYXQ9IjI0aCIKICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9IkFwcG9pbnRtZW50IgogICAgICAgICAgZGVzY3JpcHRpb249IkRhdGUgYW5kIHRpbWUgd2l0aCBBTS9QTSBzZWxlY3RvciAoMTUtbWludXRlIGluY3JlbWVudHMpIgogICAgICAgICAgLmVuYWJsZVRpbWU9JHshMH0KICAgICAgICAgIHRpbWVGb3JtYXQ9IjEyaCIKICAgICAgICAgIC5taW51dGVJbmNyZW1lbnQ9JHsxNX0KICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LWRhdGVwaWNrZXIiKS5mb3JFYWNoKHQ9Pnt0LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHI9PntsZXQgaT1yLnRhcmdldDtjb25zb2xlLmxvZyhgJHtpLmxhYmVsfSB2YWx1ZTpgLGkudmFsdWUpO2xldCBvPWkuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmRhdGUtaW5wdXQiKTtvJiZjb25zb2xlLmxvZyhgJHtpLmxhYmVsfSBmb3JtYXR0ZWQ6YCxvLnZhbHVlKX0pKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJUaW1lem9uZSBTdXBwb3J0In0gLnN1YnRpdGxlPSR7IkRhdGUgYW5kIHRpbWUgc2VsZWN0aW9uIHdpdGggdGltZXpvbmUgYXdhcmVuZXNzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9Ik1lZXRpbmcgVGltZSAod2l0aCBUaW1lem9uZSkiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iU2VsZWN0IGEgZGF0ZS90aW1lIGFuZCB0aW1lem9uZSBmb3IgdGhlIG1lZXRpbmciCiAgICAgICAgICAuZW5hYmxlVGltZT0keyEwfQogICAgICAgICAgLmVuYWJsZVRpbWV6b25lPSR7ITB9CiAgICAgICAgICB0aW1lRm9ybWF0PSIyNGgiCiAgICAgICAgICB0aW1lem9uZT0iQW1lcmljYS9OZXdfWW9yayIKICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9Ikdsb2JhbCBFdmVudCBTY2hlZHVsZSIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTY2hlZHVsZSBhbiBldmVudCBhY3Jvc3MgZGlmZmVyZW50IHRpbWV6b25lcyIKICAgICAgICAgIC5lbmFibGVUaW1lPSR7ITB9CiAgICAgICAgICAuZW5hYmxlVGltZXpvbmU9JHshMH0KICAgICAgICAgIHRpbWVGb3JtYXQ9IjEyaCIKICAgICAgICAgIHRpbWV6b25lPSJFdXJvcGUvTG9uZG9uIgogICAgICAgICAgLm1pbnV0ZUluY3JlbWVudD0kezMwfQogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwodD0+e2xldCByPXQudGFyZ2V0LnZhbHVlO2lmKHIpe2xldCBpPW5ldyBEYXRlKHIpLG89bmV3IERhdGUsbj1NYXRoLmZsb29yKChpLmdldFRpbWUoKS1vLmdldFRpbWUoKSkvKDFlMyo2MCo2MCoyNCkpO2NvbnNvbGUubG9nKGBTZWxlY3RlZCBkYXRlIGlzICR7bn0gZGF5cyBmcm9tIHRvZGF5YCl9fSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJEYXRlIFJhbmdlIENvbnN0cmFpbnRzIn0gLnN1YnRpdGxlPSR7IkxpbWl0IHNlbGVjdGFibGUgZGF0ZXMgd2l0aCBtaW4gYW5kIG1heCB2YWx1ZXMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iRnV0dXJlIERhdGUgT25seSIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJDYW4gb25seSBzZWxlY3QgZGF0ZXMgZnJvbSB0b2RheSB0byA5MCBkYXlzIGluIHRoZSBmdXR1cmUiCiAgICAgICAgICAubWluRGF0ZT0ke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0KICAgICAgICAgIC5tYXhEYXRlPSR7bmV3IERhdGUoRGF0ZS5ub3coKSsyMTYwKjYwKjYwKjFlMykudG9JU09TdHJpbmcoKX0KICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9eyJERC9NTS9ZWVlZIjoiRXVyb3BlYW4iLCJNTS9ERC9ZWVlZIjoiVVMiLCJZWVlZLU1NLUREIjoiSVNPIn07YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LWRhdGVwaWNrZXIiKS5mb3JFYWNoKHI9PntyLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKGk9PntsZXQgbz1pLnRhcmdldCxuPW8uc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmRhdGUtaW5wdXQiKTtuJiZjb25zb2xlLmxvZyhgJHtvLmxhYmVsfSBmb3JtYXQ6YCxuLnZhbHVlKX0pKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJEYXRlIEZvcm1hdHMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IGRhdGUgZGlzcGxheSBmb3JtYXRzIGZvciB2YXJpb3VzIHJlZ2lvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJkYXRlLWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgICAgbGFiZWw9IkV1cm9wZWFuIEZvcm1hdCIKICAgICAgICAgICAgZGF0ZUZvcm1hdD0iREQvTU0vWVlZWSIKICAgICAgICAgICAgLnZhbHVlPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICAgIGxhYmVsPSJVUyBGb3JtYXQiCiAgICAgICAgICAgIGRhdGVGb3JtYXQ9Ik1NL0REL1lZWVkiCiAgICAgICAgICAgIC52YWx1ZT0ke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgICBsYWJlbD0iSVNPIEZvcm1hdCIKICAgICAgICAgICAgZGF0ZUZvcm1hdD0iWVlZWS1NTS1ERCIKICAgICAgICAgICAgLnZhbHVlPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kYXRlcGlja2VyW3JlcXVpcmVkXSIpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PntlLmdldFZhbHVlKCl8fGNvbnNvbGUubG9nKCJSZXF1aXJlZCBkYXRlIGZpZWxkIGlzIGVtcHR5Iil9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRm9ybSBTdGF0ZXMifSAuc3VidGl0bGU9JHsiUmVxdWlyZWQgYW5kIGRpc2FibGVkIHN0YXRlcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJCaXJ0aCBEYXRlIgogICAgICAgICAgZGVzY3JpcHRpb249IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQiCiAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZWxlY3QgeW91ciBiaXJ0aCBkYXRlIgogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iRGlzYWJsZWQgRGF0ZSIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJUaGlzIGZpZWxkIGNhbm5vdCBiZSBlZGl0ZWQiCiAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgIC52YWx1ZT0ke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0KICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRhdGVwaWNrZXJbbGFiZWw9IlVTIENhbGVuZGFyIl0nKSx0PWEucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1kYXRlcGlja2VyW2xhYmVsPSJFVSBDYWxlbmRhciJdJyk7ZSYmY29uc29sZS5sb2coIlVTIENhbGVuZGFyIHN0YXJ0cyBvbiBTdW5kYXkgKDApIiksdCYmY29uc29sZS5sb2coIkVVIENhbGVuZGFyIHN0YXJ0cyBvbiBNb25kYXkgKDEpIil9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkNhbGVuZGFyIEN1c3RvbWl6YXRpb24ifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHdlZWsgc3RhcnQgZGF5cyBmb3IgdmFyaW91cyByZWdpb25zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGF0ZS1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICAgIGxhYmVsPSJVUyBDYWxlbmRhciIKICAgICAgICAgICAgZGVzY3JpcHRpb249IldlZWsgc3RhcnRzIG9uIFN1bmRheSIKICAgICAgICAgICAgLndlZWtTdGFydHNPbj0kezB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgICAgbGFiZWw9IkVVIENhbGVuZGFyIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iV2VlayBzdGFydHMgb24gTW9uZGF5IgogICAgICAgICAgICAud2Vla1N0YXJ0c09uPSR7MX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1zKCgpPT57bGV0IHI9W10saT1uZXcgRGF0ZSxvPWkuZ2V0RnVsbFllYXIoKSxuPWkuZ2V0TW9udGgoKSxsPW5ldyBEYXRlKG8sbiwxKTtmb3IoO2wuZ2V0TW9udGgoKT09PW47KShsLmdldERheSgpPT09MHx8bC5nZXREYXkoKT09PTYpJiZyLnB1c2gobmV3IERhdGUobCkudG9JU09TdHJpbmcoKSksbC5zZXREYXRlKGwuZ2V0RGF0ZSgpKzEpO3JldHVybiByfSwiZ2VuZXJhdGVXZWVrZW5kcyIpLHQ9YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRhdGVwaWNrZXIiKTt0JiYodC5kaXNhYmxlZERhdGVzPWUoKSxjb25zb2xlLmxvZygiRGlzYWJsZWQgd2Vla2VuZCBkYXRlcyBmb3IgY3VycmVudCBtb250aCIpKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRGlzYWJsZWQgRGF0ZXMifSAuc3VidGl0bGU9JHsiQ2FsZW5kYXIgd2l0aCBzcGVjaWZpYyBkYXRlcyBkaXNhYmxlZCAod2Vla2VuZHMgaW4gY3VycmVudCBtb250aCkifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iQXZhaWxhYmlsaXR5IENhbGVuZGFyIgogICAgICAgICAgZGVzY3JpcHRpb249IldlZWtlbmRzIGFyZSBkaXNhYmxlZCBmb3IgdGhlIGN1cnJlbnQgbW9udGgiCiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPW5ldyBEYXRlLHQ9ZS5nZXRNb250aCgpLHI9ZS5nZXRGdWxsWWVhcigpLGk9W3tkYXRlOmAke3J9LSR7KHQrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7ZS5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YCx0aXRsZToiVGVhbSBNZWV0aW5nIix0eXBlOiJpbmZvIixjb3VudDoyfSx7ZGF0ZTpgJHtyfS0keyh0KzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS0keyhlLmdldERhdGUoKSsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gLHRpdGxlOiJQcm9qZWN0IERlYWRsaW5lIix0eXBlOiJ3YXJuaW5nIn0se2RhdGU6YCR7cn0tJHsodCsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0tJHsoZS5nZXREYXRlKCkrMikudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YCx0aXRsZToiUmVsZWFzZSBEYXkiLHR5cGU6InN1Y2Nlc3MifSx7ZGF0ZTpgJHtyfS0keyh0KzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS0keyhlLmdldERhdGUoKSs1KS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gLHRpdGxlOiJVcmdlbnQgRml4IFJlcXVpcmVkIix0eXBlOiJlcnJvciJ9LHtkYXRlOmAke3J9LSR7KHQrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7KGUuZ2V0RGF0ZSgpKzcpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWAsdGl0bGU6Ik11bHRpcGxlIEV2ZW50cyBUb2RheSIsdHlwZToiaW5mbyIsY291bnQ6NX0se2RhdGU6YCR7cn0tJHsodCsyKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0tMTVgLHRpdGxlOiJGdXR1cmUgUGxhbm5pbmcgU2Vzc2lvbiIsdHlwZToiaW5mbyJ9XSxvPWEucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kYXRlcGlja2VyIik7byYmKG8uZXZlbnRzPWksY29uc29sZS5sb2coIkNhbGVuZGFyIGV2ZW50cyBsb2FkZWQ6IixpKSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkNhbGVuZGFyIHdpdGggRXZlbnRzIn0gLnN1YnRpdGxlPSR7IlZpc3VhbCBmZWVkYmFjayBmb3Igc2NoZWR1bGVkIGV2ZW50cyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJFdmVudCBDYWxlbmRhciIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJEYXlzIHdpdGggY29sb3JlZCBkb3RzIGhhdmUgZXZlbnRzLiBIb3ZlciB0byBzZWUgZGV0YWlscy4iCiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tb3V0cHV0IiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgPHN0cm9uZz5FdmVudCBMZWdlbmQ6PC9zdHJvbmc+PGJyPgogICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDk2OWRhOyI+4pePIEluZm88L3NwYW4+IHwgCiAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICNkMjk5MjI7Ij7il48gV2FybmluZzwvc3Bhbj4gfCAKICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzJlYTA0MzsiPuKXjyBTdWNjZXNzPC9zcGFuPiB8IAogICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjY2YyMjJlOyI+4pePIEVycm9yPC9zcGFuPjxicj4KICAgICAgICAgIDxlbT5EYXlzIHdpdGggbW9yZSB0aGFuIDMgZXZlbnRzIHNob3cgYSBjb3VudCBiYWRnZTwvZW0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRhdGVwaWNrZXIiKSx0PWEucXVlcnlTZWxlY3RvcigiI2V2ZW50LW91dHB1dCIpO2UmJnQmJihlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHI9PntsZXQgaT1yLnRhcmdldCxvPWkudmFsdWU7aWYobyl7bGV0IG49bmV3IERhdGUobyksZD1pLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5kYXRlLWlucHV0Iik/LnZhbHVlfHwiTi9BIjt0LmlubmVySFRNTD1gCiAgICAgICAgICAgICAgPHN0cm9uZz5FdmVudCB0cmlnZ2VyZWQhPC9zdHJvbmc+PGJyPgogICAgICAgICAgICAgIElTTyBWYWx1ZTogJHtvfTxicj4KICAgICAgICAgICAgICBGb3JtYXR0ZWQ6ICR7ZH08YnI+CiAgICAgICAgICAgICAgRGF0ZSBvYmplY3Q6ICR7bi50b0xvY2FsZVN0cmluZygpfQogICAgICAgICAgICBgfWVsc2UgdC5pbm5lckhUTUw9IjxlbT5EYXRlIGNsZWFyZWQ8L2VtPiJ9KSksZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e2NvbnNvbGUubG9nKCJEYXRlcGlja2VyIGxvc3QgZm9jdXMiKX0pKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRXZlbnQgSGFuZGxpbmcifSAuc3VidGl0bGU9JHsiSW50ZXJhY3RpdmUgZGVtb25zdHJhdGlvbiBvZiBjaGFuZ2UgZXZlbnRzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9IkV2ZW50IERlbW8iCiAgICAgICAgICBkZXNjcmlwdGlvbj0iU2VsZWN0IGEgZGF0ZSB0byBzZWUgdGhlIGV2ZW50IGRldGFpbHMiCiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgIAogICAgICAgIDxkaXYgaWQ9ImV2ZW50LW91dHB1dCIgY2xhc3M9ImRlbW8tb3V0cHV0Ij4KICAgICAgICAgIDxlbT5TZWxlY3QgYSBkYXRlIHRvIHNlZSBldmVudCBkZXRhaWxzLi4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIGJzYSx2c2E9ZigoKT0+e2xlKCk7U3IoKTtic2E9Wy4uLk10LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLmRhdGUtaW5wdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIyNCA3MS40JSA0LjElKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyNCA3MS40JSA0LjElKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgfQoKICAgICAgLmRhdGUtaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgfQoKICAgICAgLmRhdGUtaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCkgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIxNSAyNy45JSAxNi45JSkiKX07CiAgICAgIH0KCiAgICAgIC5kYXRlLWlucHV0OmZvY3VzLAogICAgICAuZGF0ZS1pbnB1dC5vcGVuIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgMTEuMiUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIyNCA3MS40JSA0LjElKSIpfSwKICAgICAgICAgICAgICAgICAgICAwIDAgMCA0cHggJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSAvIDAuMSkiLCJoc2woMjEwIDIwJSA5OCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAuZGF0ZS1pbnB1dDpkaXNhYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLmljb24tY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuaWNvbi1jb250YWluZXIgPiAqIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgfQoKICAgICAgLmNhbGVuZGFyLWljb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmNsZWFyLWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmNsZWFyLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICB9CiAgICBgXX0pO3ZhciB4c2EseXNhPWYoKCk9PntsZSgpO3hzYT1zKGE9PndgCiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHthLmxhYmVsfSAuaW5mb1RleHQ9JHthLmluZm9UZXh0fSAucmVxdWlyZWQ9JHthLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1jb250YWluZXIiPgogICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgIGNsYXNzPSJkYXRlLWlucHV0ICR7YS5pc09wZW5lZD8ib3BlbiI6IiJ9IgogICAgICAgICAgICAgIC52YWx1ZT0ke2EuZm9ybWF0RGF0ZShhLnZhbHVlKX0KICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9JHthLnBsYWNlaG9sZGVyfQogICAgICAgICAgICAgID9kaXNhYmxlZD0ke2EuZGlzYWJsZWR9CiAgICAgICAgICAgICAgQGNsaWNrPSR7YS50b2dnbGVDYWxlbmRhcn0KICAgICAgICAgICAgICBAa2V5ZG93bj0ke2EuaGFuZGxlS2V5ZG93bn0KICAgICAgICAgICAgICBAaW5wdXQ9JHthLmhhbmRsZU1hbnVhbElucHV0fQogICAgICAgICAgICAgIEBibHVyPSR7YS5oYW5kbGVJbnB1dEJsdXJ9CiAgICAgICAgICAgICAgc3R5bGU9InBhZGRpbmctcmlnaHQ6ICR7YS52YWx1ZT8iNjRweCI6IjQwcHgifSIKICAgICAgICAgICAgLz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1jb250YWluZXIiPgogICAgICAgICAgICAgICR7YS52YWx1ZSYmIWEuZGlzYWJsZWQ/d2AKICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNsZWFyLWJ1dHRvbiIgQGNsaWNrPSR7YS5jbGVhclZhbHVlfSB0aXRsZT0iQ2xlYXIiPgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTp4IiBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJjYWxlbmRhci1pY29uIiBpY29uPSJsdWNpZGU6Y2FsZW5kYXIiIGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAke2EucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgICAgICA8L2Rpdj4KICAgICAgYCwicmVuZGVyRGF0ZXBpY2tlciIpfSk7dmFyIGdzLHNhLEp0ZSxEWWU9ZigoKT0+e2xlKCk7ZWEoKTtHaSgpO1FlKCk7TTEoKTt2YSgpO2dzPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxzYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sSnRlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC1kYXRlcGlja2VyLXBvcHVwIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFEsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdLHllLFY9W10sSD1bXSxvZSxzZT1bXSx0ZT1bXSx6ZSxPZT1bXSxxZT1bXSxkdCwkZT1bXSxDZT1bXTt2YXIgTWU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dERhdGVwaWNrZXJQb3B1cCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBkZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHthdHRyaWJ1dGU6ITF9KV0sZD1bJCh7YXR0cmlidXRlOiExfSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOk51bWJlcn0pXSxOPVskKHt0eXBlOk51bWJlcn0pXSxPPVskKHt0eXBlOlN0cmluZ30pXSxCPVskKHt0eXBlOlN0cmluZ30pXSxFPVskKHt0eXBlOkFycmF5fSldLFc9WyQoe3R5cGU6Qm9vbGVhbn0pXSxoZT1bJCh7dHlwZTpTdHJpbmd9KV0sbWU9WyQoe3R5cGU6QXJyYXl9KV0sY2U9WyQoe3R5cGU6Qm9vbGVhbn0pXSxRPVtLKCldLGdlPVtLKCldLHllPVtLKCldLG9lPVtLKCldLHplPVtLKCldLGR0PVtLKCldLGdzKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidHJpZ2dlclJlY3QiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJ0cmlnZ2VyUmVjdCJpbiB2ZSwiaGFzIiksZ2V0OnModmU9PnZlLnRyaWdnZXJSZWN0LCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUudHJpZ2dlclJlY3Q9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LG4sbCksZ3ModGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvd25lckNvbXBvbmVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+Im93bmVyQ29tcG9uZW50ImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUub3duZXJDb21wb25lbnQsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5vd25lckNvbXBvbmVudD1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sYyxwKSxncyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZVRpbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJlbmFibGVUaW1lImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUuZW5hYmxlVGltZSwiZ2V0Iiksc2V0OnMoKHZlLEFlKT0+e3ZlLmVuYWJsZVRpbWU9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LG0sdiksZ3ModGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aW1lRm9ybWF0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4idGltZUZvcm1hdCJpbiB2ZSwiaGFzIiksZ2V0OnModmU9PnZlLnRpbWVGb3JtYXQsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS50aW1lRm9ybWF0PUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxiLGcpLGdzKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWludXRlSW5jcmVtZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4ibWludXRlSW5jcmVtZW50ImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUubWludXRlSW5jcmVtZW50LCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUubWludXRlSW5jcmVtZW50PUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxrLEMpLGdzKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2Vla1N0YXJ0c09uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4id2Vla1N0YXJ0c09uImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUud2Vla1N0YXJ0c09uLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUud2Vla1N0YXJ0c09uPUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxfLHopLGdzKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluRGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+Im1pbkRhdGUiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5taW5EYXRlLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUubWluRGF0ZT1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sVCxQKSxncyh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1heERhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJtYXhEYXRlImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUubWF4RGF0ZSwiZ2V0Iiksc2V0OnMoKHZlLEFlKT0+e3ZlLm1heERhdGU9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LE0sUyksZ3ModGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXNhYmxlZERhdGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4iZGlzYWJsZWREYXRlcyJpbiB2ZSwiaGFzIiksZ2V0OnModmU9PnZlLmRpc2FibGVkRGF0ZXMsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5kaXNhYmxlZERhdGVzPUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxBLEYpLGdzKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlVGltZXpvbmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJlbmFibGVUaW1lem9uZSJpbiB2ZSwiaGFzIiksZ2V0OnModmU9PnZlLmVuYWJsZVRpbWV6b25lLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUuZW5hYmxlVGltZXpvbmU9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LGosRyksZ3ModGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGltZXpvbmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJ0aW1lem9uZSJpbiB2ZSwiaGFzIiksZ2V0OnModmU9PnZlLnRpbWV6b25lLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUudGltZXpvbmU9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LFIsVSksZ3ModGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXZlbnRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4iZXZlbnRzImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUuZXZlbnRzLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUuZXZlbnRzPUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxJLHEpLGdzKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9wZW5zVG9Ub3AiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJvcGVuc1RvVG9wImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUub3BlbnNUb1RvcCwiZ2V0Iiksc2V0OnMoKHZlLEFlKT0+e3ZlLm9wZW5zVG9Ub3A9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LHVlLFkpLGdzKHRoaXMsbnVsbCxRLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWREYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4ic2VsZWN0ZWREYXRlImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUuc2VsZWN0ZWREYXRlLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUuc2VsZWN0ZWREYXRlPUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxKLFopLGdzKHRoaXMsbnVsbCxnZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpZXdEYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4idmlld0RhdGUiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS52aWV3RGF0ZSwiZ2V0Iiksc2V0OnMoKHZlLEFlKT0+e3ZlLnZpZXdEYXRlPUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxhZSxyZSksZ3ModGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRIb3VyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4ic2VsZWN0ZWRIb3VyImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUuc2VsZWN0ZWRIb3VyLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUuc2VsZWN0ZWRIb3VyPUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxWLEgpLGdzKHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkTWludXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4ic2VsZWN0ZWRNaW51dGUiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5zZWxlY3RlZE1pbnV0ZSwiZ2V0Iiksc2V0OnMoKHZlLEFlKT0+e3ZlLnNlbGVjdGVkTWludXRlPUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxzZSx0ZSksZ3ModGhpcyxudWxsLHplLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudVpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+Im1lbnVaSW5kZXgiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5tZW51WkluZGV4LCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUubWVudVpJbmRleD1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sT2UscWUpLGdzKHRoaXMsbnVsbCxkdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJ2aXNpYmxlImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUudmlzaWJsZSwiZ2V0Iiksc2V0OnMoKHZlLEFlKT0+e3ZlLnZpc2libGU9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LCRlLENlKSxncyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpkZX0sbnVsbCx0KSxNZT1yPWUudmFsdWUsZGUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZGV9KX0jZT1zYSh0aGlzLG4sbnVsbCk7Z2V0IHRyaWdnZXJSZWN0KCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRyaWdnZXJSZWN0KGRlKXt0aGlzLiNlPWRlfSN0PShzYSh0aGlzLGwpLHNhKHRoaXMsYyxudWxsKSk7Z2V0IG93bmVyQ29tcG9uZW50KCl7cmV0dXJuIHRoaXMuI3R9c2V0IG93bmVyQ29tcG9uZW50KGRlKXt0aGlzLiN0PWRlfSNhPShzYSh0aGlzLHApLHNhKHRoaXMsbSwhMSkpO2dldCBlbmFibGVUaW1lKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGVuYWJsZVRpbWUoZGUpe3RoaXMuI2E9ZGV9I3I9KHNhKHRoaXMsdiksc2EodGhpcyxiLCIyNGgiKSk7Z2V0IHRpbWVGb3JtYXQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdGltZUZvcm1hdChkZSl7dGhpcy4jcj1kZX0jcz0oc2EodGhpcyxnKSxzYSh0aGlzLGssMSkpO2dldCBtaW51dGVJbmNyZW1lbnQoKXtyZXR1cm4gdGhpcy4jc31zZXQgbWludXRlSW5jcmVtZW50KGRlKXt0aGlzLiNzPWRlfSNpPShzYSh0aGlzLEMpLHNhKHRoaXMsXywxKSk7Z2V0IHdlZWtTdGFydHNPbigpe3JldHVybiB0aGlzLiNpfXNldCB3ZWVrU3RhcnRzT24oZGUpe3RoaXMuI2k9ZGV9I289KHNhKHRoaXMseiksc2EodGhpcyxULCIiKSk7Z2V0IG1pbkRhdGUoKXtyZXR1cm4gdGhpcy4jb31zZXQgbWluRGF0ZShkZSl7dGhpcy4jbz1kZX0jbj0oc2EodGhpcyxQKSxzYSh0aGlzLE0sIiIpKTtnZXQgbWF4RGF0ZSgpe3JldHVybiB0aGlzLiNufXNldCBtYXhEYXRlKGRlKXt0aGlzLiNuPWRlfSNsPShzYSh0aGlzLFMpLHNhKHRoaXMsQSxbXSkpO2dldCBkaXNhYmxlZERhdGVzKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGRpc2FibGVkRGF0ZXMoZGUpe3RoaXMuI2w9ZGV9I2M9KHNhKHRoaXMsRiksc2EodGhpcyxqLCExKSk7Z2V0IGVuYWJsZVRpbWV6b25lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGVuYWJsZVRpbWV6b25lKGRlKXt0aGlzLiNjPWRlfSNkPShzYSh0aGlzLEcpLHNhKHRoaXMsUixJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUpKTtnZXQgdGltZXpvbmUoKXtyZXR1cm4gdGhpcy4jZH1zZXQgdGltZXpvbmUoZGUpe3RoaXMuI2Q9ZGV9I3U9KHNhKHRoaXMsVSksc2EodGhpcyxJLFtdKSk7Z2V0IGV2ZW50cygpe3JldHVybiB0aGlzLiN1fXNldCBldmVudHMoZGUpe3RoaXMuI3U9ZGV9I3A9KHNhKHRoaXMscSksc2EodGhpcyx1ZSwhMSkpO2dldCBvcGVuc1RvVG9wKCl7cmV0dXJuIHRoaXMuI3B9c2V0IG9wZW5zVG9Ub3AoZGUpe3RoaXMuI3A9ZGV9I2Y9KHNhKHRoaXMsWSksc2EodGhpcyxKLG51bGwpKTtnZXQgc2VsZWN0ZWREYXRlKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IHNlbGVjdGVkRGF0ZShkZSl7dGhpcy4jZj1kZX0jaD0oc2EodGhpcyxaKSxzYSh0aGlzLGFlLG5ldyBEYXRlKSk7Z2V0IHZpZXdEYXRlKCl7cmV0dXJuIHRoaXMuI2h9c2V0IHZpZXdEYXRlKGRlKXt0aGlzLiNoPWRlfSNtPShzYSh0aGlzLHJlKSxzYSh0aGlzLFYsMCkpO2dldCBzZWxlY3RlZEhvdXIoKXtyZXR1cm4gdGhpcy4jbX1zZXQgc2VsZWN0ZWRIb3VyKGRlKXt0aGlzLiNtPWRlfSNnPShzYSh0aGlzLEgpLHNhKHRoaXMsc2UsMCkpO2dldCBzZWxlY3RlZE1pbnV0ZSgpe3JldHVybiB0aGlzLiNnfXNldCBzZWxlY3RlZE1pbnV0ZShkZSl7dGhpcy4jZz1kZX0jYj0oc2EodGhpcyx0ZSksc2EodGhpcyxPZSwxZTMpKTtnZXQgbWVudVpJbmRleCgpe3JldHVybiB0aGlzLiNifXNldCBtZW51WkluZGV4KGRlKXt0aGlzLiNiPWRlfSN2PShzYSh0aGlzLHFlKSxzYSh0aGlzLCRlLCExKSk7Z2V0IHZpc2libGUoKXtyZXR1cm4gdGhpcy4jdn1zZXQgdmlzaWJsZShkZSl7dGhpcy4jdj1kZX13aW5kb3dMYXllcj0oc2EodGhpcyxDZSksbnVsbCk7aXNEZXN0cm95aW5nPSExO3N0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmNhbGVuZGFyLXBvcHVwIHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCAxMHB4IDE1cHggLTNweCBoc2woMCAwJSAwJSAvIDAuMSksIDAgNHB4IDZweCAtNHB4IGhzbCgwIDAlIDAlIC8gMC4xKSIsIjAgMTBweCAxNXB4IC0zcHggaHNsKDAgMCUgMCUgLyAwLjIpLCAwIDRweCA2cHggLTRweCBoc2woMCAwJSAwJSAvIDAuMikiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgbWluLXdpZHRoOiAyODBweDsKICAgICAgfQoKICAgICAgLmNhbGVuZGFyLXBvcHVwLnRvcCB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7CiAgICAgIH0KCiAgICAgIC5jYWxlbmRhci1wb3B1cC5zaG93IHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLyogQ2FsZW5kYXIgSGVhZGVyICovCiAgICAgIC5jYWxlbmRhci1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLm1vbnRoLXllYXItZGlzcGxheSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjI0IDcxLjQlIDQuMSUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgfQoKICAgICAgLm5hdi1idXR0b24gewogICAgICAgIHdpZHRoOiAyOHB4OwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLm5hdi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIxNSAyNy45JSAxNi45JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjI0IDcxLjQlIDQuMSUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLyogV2Vla2RheSBoZWFkZXJzICovCiAgICAgIC53ZWVrZGF5cyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpOwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgLndlZWtkYXkgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBwYWRkaW5nOiAwIDAgOHB4IDA7CiAgICAgIH0KCiAgICAgIC8qIERheXMgZ3JpZCAqLwogICAgICAuZGF5cy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC5kYXkgewogICAgICAgIGFzcGVjdC1yYXRpbzogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuZGF5OmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICB9CgogICAgICAuZGF5Lm90aGVyLW1vbnRoIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC5kYXkudG9kYXkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIxNSAyNy45JSAxNi45JSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmRheS5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMjIuMiA0Ny40JSAxMS4yJSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmRheS5kaXNhYmxlZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjM7CiAgICAgIH0KCiAgICAgIC8qIEV2ZW50IGluZGljYXRvcnMgKi8KICAgICAgLmV2ZW50LWluZGljYXRvciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogNHB4OwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLmV2ZW50LWRvdCB7CiAgICAgICAgd2lkdGg6IDRweDsKICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgfQoKICAgICAgLmV2ZW50LWRvdC5pbmZvIHsgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTEgNzAlIDUyJSkiLCJoc2woMjExIDcwJSA2MiUpIil9OyB9CiAgICAgIC5ldmVudC1kb3Qud2FybmluZyB7IGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woNDUgOTAlIDQ1JSkiLCJoc2woNDUgOTAlIDU1JSkiKX07IH0KICAgICAgLmV2ZW50LWRvdC5zdWNjZXNzIHsgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgxNDIgNjklIDQ1JSkiLCJoc2woMTQyIDY5JSA1NSUpIil9OyB9CiAgICAgIC5ldmVudC1kb3QuZXJyb3IgeyBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgNzIlIDUxJSkiLCJoc2woMCA3MiUgNjElKSIpfTsgfQoKICAgICAgLmV2ZW50LWNvdW50IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAycHg7CiAgICAgICAgcmlnaHQ6IDJweDsKICAgICAgICBtaW4td2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDAgNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MiUgNTElKSIsImhzbCgwIDcyJSA2MSUpIil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuZXZlbnQtdG9vbHRpcCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogY2FsYygxMDAlICsgOHB4KTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMCUpIil9OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICB9CgogICAgICAuZGF5Lmhhcy1ldmVudDpob3ZlciAuZXZlbnQtdG9vbHRpcCB7IG9wYWNpdHk6IDE7IH0KCiAgICAgIC8qIFRpbWUgc2VsZWN0b3IgKi8KICAgICAgLnRpbWUtc2VsZWN0b3IgewogICAgICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLnRpbWUtc2VsZWN0b3ItdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgfQoKICAgICAgLnRpbWUtaW5wdXRzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC50aW1lLWlucHV0IHsKICAgICAgICB3aWR0aDogNjVweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyNCA3MS40JSA0LjElKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLnRpbWUtaW5wdXQ6Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgMTEuMiUgLyAwLjEpIiwiaHNsKDIxMCAyMCUgOTglIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLnRpbWUtc2VwYXJhdG9yIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgfQoKICAgICAgLmFtLXBtLXNlbGVjdG9yIHsgZGlzcGxheTogZmxleDsgZ2FwOiA0cHg7IG1hcmdpbi1sZWZ0OiA4cHg7IH0KCiAgICAgIC5hbS1wbS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgfQoKICAgICAgLmFtLXBtLWJ1dHRvbi5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMjIuMiA0Ny40JSAxMS4yJSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC5hbS1wbS1idXR0b246aG92ZXI6bm90KC5zZWxlY3RlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIxNSAyNy45JSAxNi45JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFRpbWV6b25lIHNlbGVjdG9yICovCiAgICAgIC50aW1lem9uZS1zZWxlY3RvciB7CiAgICAgICAgbWFyZ2luLXRvcDogMTJweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICB9CgogICAgICAudGltZXpvbmUtc2VsZWN0b3ItdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgfQoKICAgICAgLnRpbWV6b25lLXNlbGVjdCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyNCA3MS40JSA0LjElKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAvKiBBY3Rpb24gYnV0dG9ucyAqLwogICAgICAuY2FsZW5kYXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLnRvZGF5LWJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIyNCA3MS40JSA0LjElKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjI0IDcxLjQlIDQuMSUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLnRvZGF5LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgfQoKICAgICAgLmNsZWFyLWFjdGlvbi1idXR0b24gewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuY2xlYXItYWN0aW9uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4xKSIsImhzbCgwIDYyLjglIDMwLjYlIC8gMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDMwLjYlKSIpfTsKICAgICAgfQogICAgYF07c3RhdGljIE1PTlRIX05BTUVTPVsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXTtzdGF0aWMgVElNRVpPTkVTPVt7dmFsdWU6IlVUQyIsbGFiZWw6IlVUQyAoQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWUpIn0se3ZhbHVlOiJBbWVyaWNhL05ld19Zb3JrIixsYWJlbDoiRWFzdGVybiBUaW1lIChVUyAmIENhbmFkYSkifSx7dmFsdWU6IkFtZXJpY2EvQ2hpY2FnbyIsbGFiZWw6IkNlbnRyYWwgVGltZSAoVVMgJiBDYW5hZGEpIn0se3ZhbHVlOiJBbWVyaWNhL0RlbnZlciIsbGFiZWw6Ik1vdW50YWluIFRpbWUgKFVTICYgQ2FuYWRhKSJ9LHt2YWx1ZToiQW1lcmljYS9Mb3NfQW5nZWxlcyIsbGFiZWw6IlBhY2lmaWMgVGltZSAoVVMgJiBDYW5hZGEpIn0se3ZhbHVlOiJFdXJvcGUvTG9uZG9uIixsYWJlbDoiTG9uZG9uIn0se3ZhbHVlOiJFdXJvcGUvUGFyaXMiLGxhYmVsOiJQYXJpcyJ9LHt2YWx1ZToiRXVyb3BlL0JlcmxpbiIsbGFiZWw6IkJlcmxpbiJ9LHt2YWx1ZToiRXVyb3BlL01vc2NvdyIsbGFiZWw6Ik1vc2NvdyJ9LHt2YWx1ZToiQXNpYS9EdWJhaSIsbGFiZWw6IkR1YmFpIn0se3ZhbHVlOiJBc2lhL0tvbGthdGEiLGxhYmVsOiJJbmRpYSBTdGFuZGFyZCBUaW1lIn0se3ZhbHVlOiJBc2lhL1NoYW5naGFpIixsYWJlbDoiQ2hpbmEgU3RhbmRhcmQgVGltZSJ9LHt2YWx1ZToiQXNpYS9Ub2t5byIsbGFiZWw6IlRva3lvIn0se3ZhbHVlOiJBdXN0cmFsaWEvU3lkbmV5IixsYWJlbDoiU3lkbmV5In0se3ZhbHVlOiJQYWNpZmljL0F1Y2tsYW5kIixsYWJlbDoiQXVja2xhbmQifV07cmVuZGVyKCl7aWYoIXRoaXMudHJpZ2dlclJlY3QpcmV0dXJuIHdgYDtsZXQgZGU9dGhpcy5jb21wdXRlUG9zaXRpb25TdHlsZSgpLHZlPXRoaXMud2Vla1N0YXJ0c09uPT09MT9bIk1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSIsIlN1Il06WyJTdSIsIk1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSJdLEFlPXRoaXMuZ2V0RGF5c0luTW9udGgoKSxaZT10aGlzLnNlbGVjdGVkSG91cjwxMjtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJjYWxlbmRhci1wb3B1cCAke3RoaXMudmlzaWJsZT8ic2hvdyI6IiJ9ICR7dGhpcy5vcGVuc1RvVG9wPyJ0b3AiOiJib3R0b20ifSIKICAgICAgICBzdHlsZT0iJHtkZX07IHotaW5kZXg6ICR7dGhpcy5tZW51WkluZGV4fTsiCiAgICAgID4KICAgICAgICA8ZGl2IGNsYXNzPSJjYWxlbmRhci1oZWFkZXIiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5wcmV2aW91c01vbnRofT4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Y2hldnJvbkxlZnQiIGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1vbnRoLXllYXItZGlzcGxheSI+CiAgICAgICAgICAgICR7TWUuTU9OVEhfTkFNRVNbdGhpcy52aWV3RGF0ZS5nZXRNb250aCgpXX0gJHt0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdi1idXR0b24iIEBjbGljaz0ke3RoaXMubmV4dE1vbnRofT4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Y2hldnJvblJpZ2h0IiBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9IndlZWtkYXlzIj4KICAgICAgICAgICR7dmUubWFwKG50PT53YDxkaXYgY2xhc3M9IndlZWtkYXkiPiR7bnR9PC9kaXY+YCl9CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImRheXMtZ3JpZCI+CiAgICAgICAgICAke0FlLm1hcChudD0+e2xldCB6dD10aGlzLmlzVG9kYXkobnQpLFRlPXRoaXMuaXNTZWxlY3RlZChudCksd2U9bnQuZ2V0TW9udGgoKSE9PXRoaXMudmlld0RhdGUuZ2V0TW9udGgoKSxSZT10aGlzLmlzRGF5RGlzYWJsZWQobnQpLGZlPXRoaXMuZ2V0RXZlbnRzRm9yRGF0ZShudCksYmU9ZmUubGVuZ3RoPjAsRWU9ZmUucmVkdWNlKChmdCxtdCk9PmZ0KyhtdC5jb3VudHx8MSksMCk7cmV0dXJuIHdgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9ImRheSAke3dlPyJvdGhlci1tb250aCI6IiJ9ICR7enQ/InRvZGF5IjoiIn0gJHtUZT8ic2VsZWN0ZWQiOiIifSAke1JlPyJkaXNhYmxlZCI6IiJ9ICR7YmU/Imhhcy1ldmVudCI6IiJ9IgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PiFSZSYmdGhpcy5oYW5kbGVTZWxlY3REYXRlKG50KX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke250LmdldERhdGUoKX0KICAgICAgICAgICAgICAgICR7YmU/d2AKICAgICAgICAgICAgICAgICAgJHtFZT4zP3dgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXZlbnQtY291bnQiPiR7RWV9PC9kaXY+CiAgICAgICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJldmVudC1pbmRpY2F0b3IiPgogICAgICAgICAgICAgICAgICAgICAgJHtmZS5zbGljZSgwLDMpLm1hcChmdD0+d2AKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXZlbnQtZG90ICR7ZnQudHlwZXx8ImluZm8ifSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgICAgJHtmZVswXS50aXRsZT93YAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV2ZW50LXRvb2x0aXAiPgogICAgICAgICAgICAgICAgICAgICAgJHtmZVswXS50aXRsZX0KICAgICAgICAgICAgICAgICAgICAgICR7RWU+MT93YCAoKyR7RWUtMX0gbW9yZSlgOiIifQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0pfQogICAgICAgIDwvZGl2PgoKICAgICAgICAke3RoaXMuZW5hYmxlVGltZT93YAogICAgICAgICAgPGRpdiBjbGFzcz0idGltZS1zZWxlY3RvciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWUtc2VsZWN0b3ItdGl0bGUiPlRpbWU8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZS1pbnB1dHMiPgogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIGNsYXNzPSJ0aW1lLWlucHV0IgogICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy50aW1lRm9ybWF0PT09IjEyaCI/KHRoaXMuc2VsZWN0ZWRIb3VyPT09MD8xMjp0aGlzLnNlbGVjdGVkSG91cj4xMj90aGlzLnNlbGVjdGVkSG91ci0xMjp0aGlzLnNlbGVjdGVkSG91cikudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIik6dGhpcy5zZWxlY3RlZEhvdXIudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHt0aGlzLmhhbmRsZUhvdXJJbnB1dH0KICAgICAgICAgICAgICAgIG1pbj0iJHt0aGlzLnRpbWVGb3JtYXQ9PT0iMTJoIj8xOjB9IgogICAgICAgICAgICAgICAgbWF4PSIke3RoaXMudGltZUZvcm1hdD09PSIxMmgiPzEyOjIzfSIKICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aW1lLXNlcGFyYXRvciI+Ojwvc3Bhbj4KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBjbGFzcz0idGltZS1pbnB1dCIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VsZWN0ZWRNaW51dGUudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHt0aGlzLmhhbmRsZU1pbnV0ZUlucHV0fQogICAgICAgICAgICAgICAgbWluPSIwIiBtYXg9IjU5IiBzdGVwPSIke3RoaXMubWludXRlSW5jcmVtZW50fHwxfSIKICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICR7dGhpcy50aW1lRm9ybWF0PT09IjEyaCI/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFtLXBtLXNlbGVjdG9yIj4KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYW0tcG0tYnV0dG9uICR7WmU/InNlbGVjdGVkIjoiIn0iIEBjbGljaz0keygpPT50aGlzLnNldEFNUE0oImFtIil9PkFNPC9idXR0b24+CiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFtLXBtLWJ1dHRvbiAke1plPyIiOiJzZWxlY3RlZCJ9IiBAY2xpY2s9JHsoKT0+dGhpcy5zZXRBTVBNKCJwbSIpfT5QTTwvYnV0dG9uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICAke3RoaXMuZW5hYmxlVGltZXpvbmU/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWV6b25lLXNlbGVjdG9yIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZXpvbmUtc2VsZWN0b3ItdGl0bGUiPlRpbWV6b25lPC9kaXY+CiAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9InRpbWV6b25lLXNlbGVjdCIgLnZhbHVlPSR7dGhpcy50aW1lem9uZX0gQGNoYW5nZT0ke3RoaXMuaGFuZGxlVGltZXpvbmVDaGFuZ2V9PgogICAgICAgICAgICAgICR7TWUuVElNRVpPTkVTLm1hcChudD0+d2AKICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiR7bnQudmFsdWV9IiA/c2VsZWN0ZWQ9JHtudC52YWx1ZT09PXRoaXMudGltZXpvbmV9PiR7bnQubGFiZWx9PC9vcHRpb24+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgPGRpdiBjbGFzcz0iY2FsZW5kYXItYWN0aW9ucyI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIHRvZGF5LWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5oYW5kbGVTZWxlY3RUb2RheX0+VG9kYXk8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gY2xlYXItYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5oYW5kbGVDbGVhcn0+Q2xlYXI8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWNvbXB1dGVQb3NpdGlvblN0eWxlKCl7bGV0IGRlPXRoaXMudHJpZ2dlclJlY3QsdmU9ZGUubGVmdDtpZih0aGlzLm9wZW5zVG9Ub3Ape2xldCBBZT13aW5kb3cuaW5uZXJIZWlnaHQtZGUudG9wKzQ7cmV0dXJuYGxlZnQ6ICR7dmV9cHg7IGJvdHRvbTogJHtBZX1weDsgdG9wOiBhdXRvYH1lbHNle2xldCBBZT1kZS5ib3R0b20rNDtyZXR1cm5gbGVmdDogJHt2ZX1weDsgdG9wOiAke0FlfXB4YH19Z2V0RGF5c0luTW9udGgoKXtsZXQgZGU9dGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpLHZlPXRoaXMudmlld0RhdGUuZ2V0TW9udGgoKSxBZT1uZXcgRGF0ZShkZSx2ZSwxKSxaZT1uZXcgRGF0ZShkZSx2ZSsxLDApLG50PVtdLHp0PXRoaXMud2Vla1N0YXJ0c09uPT09MT9BZS5nZXREYXkoKT09PTA/NjpBZS5nZXREYXkoKS0xOkFlLmdldERheSgpO2ZvcihsZXQgd2U9enQ7d2U+MDt3ZS0tKW50LnB1c2gobmV3IERhdGUoZGUsdmUsMS13ZSkpO2ZvcihsZXQgd2U9MTt3ZTw9WmUuZ2V0RGF0ZSgpO3dlKyspbnQucHVzaChuZXcgRGF0ZShkZSx2ZSx3ZSkpO2xldCBUZT00Mi1udC5sZW5ndGg7Zm9yKGxldCB3ZT0xO3dlPD1UZTt3ZSsrKW50LnB1c2gobmV3IERhdGUoZGUsdmUrMSx3ZSkpO3JldHVybiBudH1pc1RvZGF5KGRlKXtsZXQgdmU9bmV3IERhdGU7cmV0dXJuIGRlLmdldERhdGUoKT09PXZlLmdldERhdGUoKSYmZGUuZ2V0TW9udGgoKT09PXZlLmdldE1vbnRoKCkmJmRlLmdldEZ1bGxZZWFyKCk9PT12ZS5nZXRGdWxsWWVhcigpfWlzU2VsZWN0ZWQoZGUpe3JldHVybiB0aGlzLnNlbGVjdGVkRGF0ZT9kZS5nZXREYXRlKCk9PT10aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkmJmRlLmdldE1vbnRoKCk9PT10aGlzLnNlbGVjdGVkRGF0ZS5nZXRNb250aCgpJiZkZS5nZXRGdWxsWWVhcigpPT09dGhpcy5zZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKTohMX1pc0RheURpc2FibGVkKGRlKXtpZih0aGlzLm1pbkRhdGUpe2xldCB2ZT1uZXcgRGF0ZSh0aGlzLm1pbkRhdGUpO2lmKGRlPHZlKXJldHVybiEwfWlmKHRoaXMubWF4RGF0ZSl7bGV0IHZlPW5ldyBEYXRlKHRoaXMubWF4RGF0ZSk7aWYoZGU+dmUpcmV0dXJuITB9cmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcz8ubGVuZ3RoP3RoaXMuZGlzYWJsZWREYXRlcy5zb21lKHZlPT57dHJ5e2xldCBBZT1uZXcgRGF0ZSh2ZSk7cmV0dXJuIGRlLmdldERhdGUoKT09PUFlLmdldERhdGUoKSYmZGUuZ2V0TW9udGgoKT09PUFlLmdldE1vbnRoKCkmJmRlLmdldEZ1bGxZZWFyKCk9PT1BZS5nZXRGdWxsWWVhcigpfWNhdGNoe3JldHVybiExfX0pOiExfWdldEV2ZW50c0ZvckRhdGUoZGUpe2lmKCF0aGlzLmV2ZW50cz8ubGVuZ3RoKXJldHVybltdO2xldCB2ZT1gJHtkZS5nZXRGdWxsWWVhcigpfS0keyhkZS5nZXRNb250aCgpKzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS0ke2RlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gO3JldHVybiB0aGlzLmV2ZW50cy5maWx0ZXIoQWU9PkFlLmRhdGU9PT12ZSl9cHJldmlvdXNNb250aCgpe3RoaXMudmlld0RhdGU9bmV3IERhdGUodGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpLHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKS0xLDEpfW5leHRNb250aCgpe3RoaXMudmlld0RhdGU9bmV3IERhdGUodGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpLHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKSsxLDEpfWhhbmRsZVNlbGVjdERhdGUoZGUpe3RoaXMuc2VsZWN0ZWREYXRlPW5ldyBEYXRlKGRlLmdldEZ1bGxZZWFyKCksZGUuZ2V0TW9udGgoKSxkZS5nZXREYXRlKCksdGhpcy5zZWxlY3RlZEhvdXIsdGhpcy5zZWxlY3RlZE1pbnV0ZSksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGF0ZS1zZWxlY3RlZCIse2RldGFpbDp0aGlzLnNlbGVjdGVkRGF0ZX0pKSx0aGlzLmVuYWJsZVRpbWV8fHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNsb3NlLXJlcXVlc3QiKSl9aGFuZGxlU2VsZWN0VG9kYXkoKXtsZXQgZGU9bmV3IERhdGU7dGhpcy5zZWxlY3RlZERhdGU9ZGUsdGhpcy52aWV3RGF0ZT1uZXcgRGF0ZShkZSksdGhpcy5zZWxlY3RlZEhvdXI9ZGUuZ2V0SG91cnMoKSx0aGlzLnNlbGVjdGVkTWludXRlPWRlLmdldE1pbnV0ZXMoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkYXRlLXNlbGVjdGVkIix7ZGV0YWlsOnRoaXMuc2VsZWN0ZWREYXRlfSkpLHRoaXMuZW5hYmxlVGltZXx8dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xvc2UtcmVxdWVzdCIpKX1oYW5kbGVDbGVhcigpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRhdGUtY2xlYXJlZCIpKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbG9zZS1yZXF1ZXN0IikpfWhhbmRsZUhvdXJJbnB1dD1zKGRlPT57bGV0IHZlPWRlLnRhcmdldCxBZT1wYXJzZUludCh2ZS52YWx1ZSl8fDA7dGhpcy50aW1lRm9ybWF0PT09IjEyaCI/KEFlPU1hdGgubWF4KDEsTWF0aC5taW4oMTIsQWUpKSx0aGlzLnNlbGVjdGVkSG91cj49MTImJkFlIT09MTI/dGhpcy5zZWxlY3RlZEhvdXI9QWUrMTI6dGhpcy5zZWxlY3RlZEhvdXI8MTImJkFlPT09MTI/dGhpcy5zZWxlY3RlZEhvdXI9MDp0aGlzLnNlbGVjdGVkSG91cj1BZSk6dGhpcy5zZWxlY3RlZEhvdXI9TWF0aC5tYXgoMCxNYXRoLm1pbigyMyxBZSkpLHRoaXMuZW1pdFRpbWVVcGRhdGUoKX0sImhhbmRsZUhvdXJJbnB1dCIpO2hhbmRsZU1pbnV0ZUlucHV0PXMoZGU9PntsZXQgdmU9ZGUudGFyZ2V0LEFlPXBhcnNlSW50KHZlLnZhbHVlKXx8MDtBZT1NYXRoLm1heCgwLE1hdGgubWluKDU5LEFlKSksdGhpcy5taW51dGVJbmNyZW1lbnQ+MSYmKEFlPU1hdGgucm91bmQoQWUvdGhpcy5taW51dGVJbmNyZW1lbnQpKnRoaXMubWludXRlSW5jcmVtZW50KSx0aGlzLnNlbGVjdGVkTWludXRlPUFlLHRoaXMuZW1pdFRpbWVVcGRhdGUoKX0sImhhbmRsZU1pbnV0ZUlucHV0Iik7c2V0QU1QTShkZSl7ZGU9PT0iYW0iJiZ0aGlzLnNlbGVjdGVkSG91cj49MTI/dGhpcy5zZWxlY3RlZEhvdXItPTEyOmRlPT09InBtIiYmdGhpcy5zZWxlY3RlZEhvdXI8MTImJih0aGlzLnNlbGVjdGVkSG91cis9MTIpLHRoaXMuZW1pdFRpbWVVcGRhdGUoKX1oYW5kbGVUaW1lem9uZUNoYW5nZT1zKGRlPT57dGhpcy50aW1lem9uZT1kZS50YXJnZXQudmFsdWUsdGhpcy5lbWl0VGltZVVwZGF0ZSgpfSwiaGFuZGxlVGltZXpvbmVDaGFuZ2UiKTtlbWl0VGltZVVwZGF0ZSgpe3RoaXMuc2VsZWN0ZWREYXRlJiYodGhpcy5zZWxlY3RlZERhdGU9bmV3IERhdGUodGhpcy5zZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKSx0aGlzLnNlbGVjdGVkRGF0ZS5nZXRNb250aCgpLHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSx0aGlzLnNlbGVjdGVkSG91cix0aGlzLnNlbGVjdGVkTWludXRlKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkYXRlLXNlbGVjdGVkIix7ZGV0YWlsOnRoaXMuc2VsZWN0ZWREYXRlfSkpKX1hc3luYyBzaG93KCl7dGhpcy53aW5kb3dMYXllcj1hd2FpdCBHcy5jcmVhdGVBbmRTaG93KCksdGhpcy53aW5kb3dMYXllci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbG9zZS1yZXF1ZXN0IikpfSksdGhpcy5tZW51WkluZGV4PVh0LmdldE5leHRaSW5kZXgoKSxYdC5yZWdpc3Rlcih0aGlzLHRoaXMubWVudVpJbmRleCksdGhpcy5zdHlsZS56SW5kZXg9dGhpcy5tZW51WkluZGV4LnRvU3RyaW5nKCksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzKSxhd2FpdCBIdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMudmlzaWJsZT0hMCx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLmhhbmRsZVNjcm9sbE9yUmVzaXplLHtjYXB0dXJlOiEwLHBhc3NpdmU6ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLmhhbmRsZVNjcm9sbE9yUmVzaXplLHtwYXNzaXZlOiEwfSl9YXN5bmMgaGlkZSgpe3RoaXMuaXNEZXN0cm95aW5nfHwodGhpcy5pc0Rlc3Ryb3lpbmc9ITAsd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5oYW5kbGVTY3JvbGxPclJlc2l6ZSx7Y2FwdHVyZTohMH0pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUpLFh0LnVucmVnaXN0ZXIodGhpcyksdGhpcy53aW5kb3dMYXllciYmKHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpLHRoaXMud2luZG93TGF5ZXI9bnVsbCksdGhpcy52aXNpYmxlPSExLGF3YWl0IEh0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMTUwKSx0aGlzLnBhcmVudEVsZW1lbnQmJnRoaXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzKSx0aGlzLmlzRGVzdHJveWluZz0hMSl9aGFuZGxlU2Nyb2xsT3JSZXNpemU9cygoKT0+e3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJlcG9zaXRpb24tcmVxdWVzdCIpKX0sImhhbmRsZVNjcm9sbE9yUmVzaXplIik7YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUse2NhcHR1cmU6ITB9KSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLmhhbmRsZVNjcm9sbE9yUmVzaXplKSxYdC51bnJlZ2lzdGVyKHRoaXMpfXN0YXRpY3tzYShyLHQpfX07cmV0dXJuIE1lPXJ9KSgpfSk7dmFyIElzLHhhLGVhZSwkWWU9ZigoKT0+e2xlKCk7U3IoKTtnc2EoKTt2c2EoKTt5c2EoKTtEWWUoKTt2YSgpO2FtKCk7SXM9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHhhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxlYWU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LWRhdGVwaWNrZXIiKV0sZSx0PVtdLHIsaT1NdCxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXSxCLE09W10sUz1bXSxFLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sUSxKPVtdLFo9W10sZ2UsYWU9W10scmU9W10seWUsVj1bXSxIPVtdLG9lLHNlPVtdLHRlPVtdLHplLE9lPVtdLHFlPVtdO3ZhciBkdD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0RGF0ZXBpY2tlciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCAkZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOkJvb2xlYW59KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0seD1bJCh7dHlwZTpOdW1iZXJ9KV0seT1bJCh7dHlwZTpTdHJpbmd9KV0sTj1bJCh7dHlwZTpTdHJpbmd9KV0sTz1bJCh7dHlwZTpTdHJpbmd9KV0sQj1bJCh7dHlwZTpBcnJheX0pXSxFPVskKHt0eXBlOk51bWJlcn0pXSxXPVskKHt0eXBlOlN0cmluZ30pXSxoZT1bJCh7dHlwZTpCb29sZWFufSldLG1lPVskKHt0eXBlOlN0cmluZ30pXSxjZT1bJCh7dHlwZTpBcnJheX0pXSxRPVtLKCldLGdlPVtLKCldLHllPVtLKCldLG9lPVtLKCldLHplPVtLKCldLElzKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJ2YWx1ZSJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLnZhbHVlLCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2UudmFsdWU9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LG4sbCksSXModGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVUaW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4iZW5hYmxlVGltZSJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLmVuYWJsZVRpbWUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5lbmFibGVUaW1lPU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxjLHApLElzKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGltZUZvcm1hdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+InRpbWVGb3JtYXQiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS50aW1lRm9ybWF0LCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2UudGltZUZvcm1hdD1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sbSx2KSxJcyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pbnV0ZUluY3JlbWVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+Im1pbnV0ZUluY3JlbWVudCJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLm1pbnV0ZUluY3JlbWVudCwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLm1pbnV0ZUluY3JlbWVudD1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sYixnKSxJcyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGVGb3JtYXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJkYXRlRm9ybWF0ImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UuZGF0ZUZvcm1hdCwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLmRhdGVGb3JtYXQ9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LGssQyksSXModGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW5EYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4ibWluRGF0ZSJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLm1pbkRhdGUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5taW5EYXRlPU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxfLHopLElzKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4RGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+Im1heERhdGUiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5tYXhEYXRlLCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2UubWF4RGF0ZT1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sVCxQKSxJcyh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpc2FibGVkRGF0ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJkaXNhYmxlZERhdGVzImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UuZGlzYWJsZWREYXRlcywiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLmRpc2FibGVkRGF0ZXM9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LE0sUyksSXModGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3ZWVrU3RhcnRzT24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJ3ZWVrU3RhcnRzT24iaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS53ZWVrU3RhcnRzT24sImdldCIpLHNldDpzKChDZSxNZSk9PntDZS53ZWVrU3RhcnRzT249TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LEEsRiksSXModGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwbGFjZWhvbGRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+InBsYWNlaG9sZGVyImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UucGxhY2Vob2xkZXIsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5wbGFjZWhvbGRlcj1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0saixHKSxJcyh0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVUaW1lem9uZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+ImVuYWJsZVRpbWV6b25lImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UuZW5hYmxlVGltZXpvbmUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5lbmFibGVUaW1lem9uZT1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sUixVKSxJcyh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aW1lem9uZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+InRpbWV6b25lImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UudGltZXpvbmUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS50aW1lem9uZT1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sSSxxKSxJcyh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJldmVudHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJldmVudHMiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5ldmVudHMsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5ldmVudHM9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LHVlLFkpLElzKHRoaXMsbnVsbCxRLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNPcGVuZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJpc09wZW5lZCJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLmlzT3BlbmVkLCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2UuaXNPcGVuZWQ9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LEosWiksSXModGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWREYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4ic2VsZWN0ZWREYXRlImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2Uuc2VsZWN0ZWREYXRlLCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2Uuc2VsZWN0ZWREYXRlPU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxhZSxyZSksSXModGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmlld0RhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJ2aWV3RGF0ZSJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLnZpZXdEYXRlLCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2Uudmlld0RhdGU9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LFYsSCksSXModGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRIb3VyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4ic2VsZWN0ZWRIb3VyImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2Uuc2VsZWN0ZWRIb3VyLCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2Uuc2VsZWN0ZWRIb3VyPU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxzZSx0ZSksSXModGhpcyxudWxsLHplLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRNaW51dGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJzZWxlY3RlZE1pbnV0ZSJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLnNlbGVjdGVkTWludXRlLCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2Uuc2VsZWN0ZWRNaW51dGU9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LE9lLHFlKSxJcyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTokZX0sbnVsbCx0KSxkdD1yPWUudmFsdWUsJGUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6JGV9KX1zdGF0aWMgZGVtbz1tc2E7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPXhhKHRoaXMsbiwiIik7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKCRlKXt0aGlzLiNlPSRlfSN0PSh4YSh0aGlzLGwpLHhhKHRoaXMsYywhMSkpO2dldCBlbmFibGVUaW1lKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGVuYWJsZVRpbWUoJGUpe3RoaXMuI3Q9JGV9I2E9KHhhKHRoaXMscCkseGEodGhpcyxtLCIyNGgiKSk7Z2V0IHRpbWVGb3JtYXQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgdGltZUZvcm1hdCgkZSl7dGhpcy4jYT0kZX0jcj0oeGEodGhpcyx2KSx4YSh0aGlzLGIsMSkpO2dldCBtaW51dGVJbmNyZW1lbnQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbWludXRlSW5jcmVtZW50KCRlKXt0aGlzLiNyPSRlfSNzPSh4YSh0aGlzLGcpLHhhKHRoaXMsaywiWVlZWS1NTS1ERCIpKTtnZXQgZGF0ZUZvcm1hdCgpe3JldHVybiB0aGlzLiNzfXNldCBkYXRlRm9ybWF0KCRlKXt0aGlzLiNzPSRlfSNpPSh4YSh0aGlzLEMpLHhhKHRoaXMsXywiIikpO2dldCBtaW5EYXRlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IG1pbkRhdGUoJGUpe3RoaXMuI2k9JGV9I289KHhhKHRoaXMseikseGEodGhpcyxULCIiKSk7Z2V0IG1heERhdGUoKXtyZXR1cm4gdGhpcy4jb31zZXQgbWF4RGF0ZSgkZSl7dGhpcy4jbz0kZX0jbj0oeGEodGhpcyxQKSx4YSh0aGlzLE0sW10pKTtnZXQgZGlzYWJsZWREYXRlcygpe3JldHVybiB0aGlzLiNufXNldCBkaXNhYmxlZERhdGVzKCRlKXt0aGlzLiNuPSRlfSNsPSh4YSh0aGlzLFMpLHhhKHRoaXMsQSwxKSk7Z2V0IHdlZWtTdGFydHNPbigpe3JldHVybiB0aGlzLiNsfXNldCB3ZWVrU3RhcnRzT24oJGUpe3RoaXMuI2w9JGV9I2M9KHhhKHRoaXMsRikseGEodGhpcyxqLCJZWVlZLU1NLUREIikpO2dldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLiNjfXNldCBwbGFjZWhvbGRlcigkZSl7dGhpcy4jYz0kZX0jZD0oeGEodGhpcyxHKSx4YSh0aGlzLFIsITEpKTtnZXQgZW5hYmxlVGltZXpvbmUoKXtyZXR1cm4gdGhpcy4jZH1zZXQgZW5hYmxlVGltZXpvbmUoJGUpe3RoaXMuI2Q9JGV9I3U9KHhhKHRoaXMsVSkseGEodGhpcyxJLEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSkpO2dldCB0aW1lem9uZSgpe3JldHVybiB0aGlzLiN1fXNldCB0aW1lem9uZSgkZSl7dGhpcy4jdT0kZX0jcD0oeGEodGhpcyxxKSx4YSh0aGlzLHVlLFtdKSk7Z2V0IGV2ZW50cygpe3JldHVybiB0aGlzLiNwfXNldCBldmVudHMoJGUpe3RoaXMuI3A9JGV9I2Y9KHhhKHRoaXMsWSkseGEodGhpcyxKLCExKSk7Z2V0IGlzT3BlbmVkKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGlzT3BlbmVkKCRlKXt0aGlzLiNmPSRlfSNoPSh4YSh0aGlzLFopLHhhKHRoaXMsYWUsbnVsbCkpO2dldCBzZWxlY3RlZERhdGUoKXtyZXR1cm4gdGhpcy4jaH1zZXQgc2VsZWN0ZWREYXRlKCRlKXt0aGlzLiNoPSRlfSNtPSh4YSh0aGlzLHJlKSx4YSh0aGlzLFYsbmV3IERhdGUpKTtnZXQgdmlld0RhdGUoKXtyZXR1cm4gdGhpcy4jbX1zZXQgdmlld0RhdGUoJGUpe3RoaXMuI209JGV9I2c9KHhhKHRoaXMsSCkseGEodGhpcyxzZSwwKSk7Z2V0IHNlbGVjdGVkSG91cigpe3JldHVybiB0aGlzLiNnfXNldCBzZWxlY3RlZEhvdXIoJGUpe3RoaXMuI2c9JGV9I2I9KHhhKHRoaXMsdGUpLHhhKHRoaXMsT2UsMCkpO2dldCBzZWxlY3RlZE1pbnV0ZSgpe3JldHVybiB0aGlzLiNifXNldCBzZWxlY3RlZE1pbnV0ZSgkZSl7dGhpcy4jYj0kZX1wb3B1cEluc3RhbmNlPSh4YSh0aGlzLHFlKSxudWxsKTtzdGF0aWMgc3R5bGVzPWJzYTtyZW5kZXIoKXtyZXR1cm4geHNhKHRoaXMpfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2lmKHRoaXMudmFsdWV8fCh0aGlzLnZhbHVlPSIiKSx0aGlzLnZhbHVlKXRyeXtsZXQgJGU9bmV3IERhdGUodGhpcy52YWx1ZSk7aXNOYU4oJGUuZ2V0VGltZSgpKXx8KHRoaXMuc2VsZWN0ZWREYXRlPSRlLHRoaXMudmlld0RhdGU9bmV3IERhdGUoJGUpLHRoaXMuc2VsZWN0ZWRIb3VyPSRlLmdldEhvdXJzKCksdGhpcy5zZWxlY3RlZE1pbnV0ZT0kZS5nZXRNaW51dGVzKCkpfWNhdGNoe31lbHNle2xldCAkZT1uZXcgRGF0ZTt0aGlzLnZpZXdEYXRlPW5ldyBEYXRlKCRlKSx0aGlzLnNlbGVjdGVkSG91cj0kZS5nZXRIb3VycygpLHRoaXMuc2VsZWN0ZWRNaW51dGU9MH19Zm9ybWF0RGF0ZSgkZSl7aWYoISRlKXJldHVybiIiO3RyeXtsZXQgQ2U9bmV3IERhdGUoJGUpO2lmKGlzTmFOKENlLmdldFRpbWUoKSkpcmV0dXJuIiI7bGV0IE1lPXRoaXMuZGF0ZUZvcm1hdCxkZT1DZS5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksdmU9KENlLmdldE1vbnRoKCkrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksQWU9Q2UuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpO2lmKE1lPU1lLnJlcGxhY2UoIllZWVkiLEFlKSxNZT1NZS5yZXBsYWNlKCJZWSIsQWUuc2xpY2UoLTIpKSxNZT1NZS5yZXBsYWNlKCJNTSIsdmUpLE1lPU1lLnJlcGxhY2UoIkREIixkZSksdGhpcy5lbmFibGVUaW1lKXtsZXQgWmU9Q2UuZ2V0SG91cnMoKSxudD1aZT09PTA/MTI6WmU+MTI/WmUtMTI6WmUsenQ9Q2UuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpLFRlPVplPj0xMj8iUE0iOiJBTSI7dGhpcy50aW1lRm9ybWF0PT09IjEyaCI/TWUrPWAgJHtudH06JHt6dH0gJHtUZX1gOk1lKz1gICR7WmUudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9OiR7enR9YH1pZih0aGlzLmVuYWJsZVRpbWV6b25lKXtsZXQgenQ9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoImVuLVVTIix7dGltZVpvbmVOYW1lOiJzaG9ydCIsdGltZVpvbmU6dGhpcy50aW1lem9uZX0pLmZvcm1hdFRvUGFydHMoQ2UpLmZpbmQoVGU9PlRlLnR5cGU9PT0idGltZVpvbmVOYW1lIik7enQmJihNZSs9YCAke3p0LnZhbHVlfWApfXJldHVybiBNZX1jYXRjaHtyZXR1cm4iIn19YXN5bmMgdG9nZ2xlQ2FsZW5kYXIoKXtpZih0aGlzLmRpc2FibGVkKXJldHVybjtpZih0aGlzLmlzT3BlbmVkKXt0aGlzLmNsb3NlUG9wdXAoKTtyZXR1cm59dGhpcy5pc09wZW5lZD0hMDtsZXQgQ2U9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb250YWluZXIiKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxNZT13aW5kb3cuaW5uZXJIZWlnaHQtQ2UuYm90dG9tLGRlPUNlLnRvcCx2ZT1NZTw0MDAmJmRlPk1lO3RoaXMucG9wdXBJbnN0YW5jZXx8KHRoaXMucG9wdXBJbnN0YW5jZT1uZXcgSnRlKSx0aGlzLnBvcHVwSW5zdGFuY2UudHJpZ2dlclJlY3Q9Q2UsdGhpcy5wb3B1cEluc3RhbmNlLm93bmVyQ29tcG9uZW50PXRoaXMsdGhpcy5wb3B1cEluc3RhbmNlLm9wZW5zVG9Ub3A9dmUsdGhpcy5wb3B1cEluc3RhbmNlLmVuYWJsZVRpbWU9dGhpcy5lbmFibGVUaW1lLHRoaXMucG9wdXBJbnN0YW5jZS50aW1lRm9ybWF0PXRoaXMudGltZUZvcm1hdCx0aGlzLnBvcHVwSW5zdGFuY2UubWludXRlSW5jcmVtZW50PXRoaXMubWludXRlSW5jcmVtZW50LHRoaXMucG9wdXBJbnN0YW5jZS53ZWVrU3RhcnRzT249dGhpcy53ZWVrU3RhcnRzT24sdGhpcy5wb3B1cEluc3RhbmNlLm1pbkRhdGU9dGhpcy5taW5EYXRlLHRoaXMucG9wdXBJbnN0YW5jZS5tYXhEYXRlPXRoaXMubWF4RGF0ZSx0aGlzLnBvcHVwSW5zdGFuY2UuZGlzYWJsZWREYXRlcz10aGlzLmRpc2FibGVkRGF0ZXMsdGhpcy5wb3B1cEluc3RhbmNlLmVuYWJsZVRpbWV6b25lPXRoaXMuZW5hYmxlVGltZXpvbmUsdGhpcy5wb3B1cEluc3RhbmNlLnRpbWV6b25lPXRoaXMudGltZXpvbmUsdGhpcy5wb3B1cEluc3RhbmNlLmV2ZW50cz10aGlzLmV2ZW50cyx0aGlzLnBvcHVwSW5zdGFuY2Uuc2VsZWN0ZWREYXRlPXRoaXMuc2VsZWN0ZWREYXRlLHRoaXMucG9wdXBJbnN0YW5jZS52aWV3RGF0ZT1uZXcgRGF0ZSh0aGlzLnZpZXdEYXRlKSx0aGlzLnBvcHVwSW5zdGFuY2Uuc2VsZWN0ZWRIb3VyPXRoaXMuc2VsZWN0ZWRIb3VyLHRoaXMucG9wdXBJbnN0YW5jZS5zZWxlY3RlZE1pbnV0ZT10aGlzLnNlbGVjdGVkTWludXRlLHRoaXMucG9wdXBJbnN0YW5jZS5hZGRFdmVudExpc3RlbmVyKCJkYXRlLXNlbGVjdGVkIix0aGlzLmhhbmRsZURhdGVTZWxlY3RlZCksdGhpcy5wb3B1cEluc3RhbmNlLmFkZEV2ZW50TGlzdGVuZXIoImRhdGUtY2xlYXJlZCIsdGhpcy5oYW5kbGVEYXRlQ2xlYXJlZCksdGhpcy5wb3B1cEluc3RhbmNlLmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlLXJlcXVlc3QiLHRoaXMuaGFuZGxlQ2xvc2VSZXF1ZXN0KSx0aGlzLnBvcHVwSW5zdGFuY2UuYWRkRXZlbnRMaXN0ZW5lcigicmVwb3NpdGlvbi1yZXF1ZXN0Iix0aGlzLmhhbmRsZVJlcG9zaXRpb25SZXF1ZXN0KSxhd2FpdCB0aGlzLnBvcHVwSW5zdGFuY2Uuc2hvdygpfWNsb3NlUG9wdXAoKXt0aGlzLmlzT3BlbmVkPSExLHRoaXMucG9wdXBJbnN0YW5jZSYmKHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJkYXRlLXNlbGVjdGVkIix0aGlzLmhhbmRsZURhdGVTZWxlY3RlZCksdGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRhdGUtY2xlYXJlZCIsdGhpcy5oYW5kbGVEYXRlQ2xlYXJlZCksdGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsb3NlLXJlcXVlc3QiLHRoaXMuaGFuZGxlQ2xvc2VSZXF1ZXN0KSx0aGlzLnBvcHVwSW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVwb3NpdGlvbi1yZXF1ZXN0Iix0aGlzLmhhbmRsZVJlcG9zaXRpb25SZXF1ZXN0KSx0aGlzLnBvcHVwSW5zdGFuY2UuaGlkZSgpKX1oYW5kbGVEYXRlU2VsZWN0ZWQ9cygkZT0+e2xldCBDZT0kZS5kZXRhaWw7dGhpcy5zZWxlY3RlZERhdGU9Q2UsdGhpcy5zZWxlY3RlZEhvdXI9Q2UuZ2V0SG91cnMoKSx0aGlzLnNlbGVjdGVkTWludXRlPUNlLmdldE1pbnV0ZXMoKSx0aGlzLnZpZXdEYXRlPW5ldyBEYXRlKENlKSx0aGlzLnZhbHVlPXRoaXMuZm9ybWF0VmFsdWVXaXRoVGltZXpvbmUoQ2UpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfSwiaGFuZGxlRGF0ZVNlbGVjdGVkIik7aGFuZGxlRGF0ZUNsZWFyZWQ9cygoKT0+e3RoaXMudmFsdWU9IiIsdGhpcy5zZWxlY3RlZERhdGU9bnVsbCx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX0sImhhbmRsZURhdGVDbGVhcmVkIik7aGFuZGxlQ2xvc2VSZXF1ZXN0PXMoKCk9Pnt0aGlzLmNsb3NlUG9wdXAoKX0sImhhbmRsZUNsb3NlUmVxdWVzdCIpO2hhbmRsZVJlcG9zaXRpb25SZXF1ZXN0PXMoKCk9PntpZighdGhpcy5wb3B1cEluc3RhbmNlfHwhdGhpcy5pc09wZW5lZClyZXR1cm47bGV0ICRlPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtY29udGFpbmVyIik7aWYoISRlKXJldHVybjtsZXQgQ2U9JGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoQ2UuYm90dG9tPDB8fENlLnRvcD53aW5kb3cuaW5uZXJIZWlnaHQpe3RoaXMuY2xvc2VQb3B1cCgpO3JldHVybn1sZXQgTWU9d2luZG93LmlubmVySGVpZ2h0LUNlLmJvdHRvbSxkZT1DZS50b3A7dGhpcy5wb3B1cEluc3RhbmNlLm9wZW5zVG9Ub3A9TWU8NDAwJiZkZT5NZSx0aGlzLnBvcHVwSW5zdGFuY2UudHJpZ2dlclJlY3Q9Q2V9LCJoYW5kbGVSZXBvc2l0aW9uUmVxdWVzdCIpO2hhbmRsZUtleWRvd24oJGUpeyRlLmtleT09PSJFbnRlciJ8fCRlLmtleT09PSIgIj8oJGUucHJldmVudERlZmF1bHQoKSx0aGlzLnRvZ2dsZUNhbGVuZGFyKCkpOiRlLmtleT09PSJFc2NhcGUiJiZ0aGlzLmlzT3BlbmVkJiYoJGUucHJldmVudERlZmF1bHQoKSx0aGlzLmNsb3NlUG9wdXAoKSl9Y2xlYXJWYWx1ZSgkZSl7JGUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy52YWx1ZT0iIix0aGlzLnNlbGVjdGVkRGF0ZT1udWxsLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWhhbmRsZU1hbnVhbElucHV0KCRlKXtsZXQgTWU9JGUudGFyZ2V0LnZhbHVlLnRyaW0oKTtpZighTWUpe3RoaXMudmFsdWU9IiIsdGhpcy5zZWxlY3RlZERhdGU9bnVsbDtyZXR1cm59bGV0IGRlPXRoaXMucGFyc2VNYW51YWxEYXRlKE1lKTtkZSYmIWlzTmFOKGRlLmdldFRpbWUoKSkmJih0aGlzLnZhbHVlPWRlLnRvSVNPU3RyaW5nKCksdGhpcy5zZWxlY3RlZERhdGU9ZGUsdGhpcy52aWV3RGF0ZT1uZXcgRGF0ZShkZSksdGhpcy5zZWxlY3RlZEhvdXI9ZGUuZ2V0SG91cnMoKSx0aGlzLnNlbGVjdGVkTWludXRlPWRlLmdldE1pbnV0ZXMoKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSl9aGFuZGxlSW5wdXRCbHVyKCRlKXtsZXQgQ2U9JGUudGFyZ2V0LE1lPUNlLnZhbHVlLnRyaW0oKTtpZighTWUpe3RoaXMudmFsdWU9IiIsdGhpcy5zZWxlY3RlZERhdGU9bnVsbCx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKTtyZXR1cm59bGV0IGRlPXRoaXMucGFyc2VNYW51YWxEYXRlKE1lKTtkZSYmIWlzTmFOKGRlLmdldFRpbWUoKSk/KHRoaXMudmFsdWU9ZGUudG9JU09TdHJpbmcoKSx0aGlzLnNlbGVjdGVkRGF0ZT1kZSx0aGlzLnZpZXdEYXRlPW5ldyBEYXRlKGRlKSx0aGlzLnNlbGVjdGVkSG91cj1kZS5nZXRIb3VycygpLHRoaXMuc2VsZWN0ZWRNaW51dGU9ZGUuZ2V0TWludXRlcygpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpLENlLnZhbHVlPXRoaXMuZm9ybWF0RGF0ZSh0aGlzLnZhbHVlKSk6Q2UudmFsdWU9dGhpcy5mb3JtYXREYXRlKHRoaXMudmFsdWUpfXBhcnNlTWFudWFsRGF0ZSgkZSl7aWYoISRlKXJldHVybiBudWxsO2xldCBDZT0kZS5zcGxpdCgiICIpLE1lPUNlWzBdLGRlPUNlWzFdfHwiIix2ZT1udWxsLEFlPU1lLm1hdGNoKC9eKFxkezR9KS0oXGR7MSwyfSktKFxkezEsMn0pJC8pO2lmKEFlKXtsZXRbWmUsbnQsenQsVGVdPUFlO3ZlPW5ldyBEYXRlKHBhcnNlSW50KG50KSxwYXJzZUludCh6dCktMSxwYXJzZUludChUZSkpfWlmKCF2ZSl7bGV0IFplPU1lLm1hdGNoKC9eKFxkezEsMn0pXC4oXGR7MSwyfSlcLihcZHs0fSkkLyk7aWYoWmUpe2xldFtudCx6dCxUZSx3ZV09WmU7dmU9bmV3IERhdGUocGFyc2VJbnQod2UpLHBhcnNlSW50KFRlKS0xLHBhcnNlSW50KHp0KSl9fWlmKCF2ZSl7bGV0IFplPU1lLm1hdGNoKC9eKFxkezEsMn0pXC8oXGR7MSwyfSlcLyhcZHs0fSkkLyk7aWYoWmUpe2xldFtudCx6dCxUZSx3ZV09WmU7dmU9bmV3IERhdGUocGFyc2VJbnQod2UpLHBhcnNlSW50KHp0KS0xLHBhcnNlSW50KFRlKSl9fWlmKCF2ZXx8aXNOYU4odmUuZ2V0VGltZSgpKSlyZXR1cm4gbnVsbDtpZihkZSl7bGV0IFplPWRlLm1hdGNoKC9eKFxkezEsMn0pOihcZHsyfSkkLyk7aWYoWmUpe2xldFtudCx6dCxUZV09WmU7dmUuc2V0SG91cnMocGFyc2VJbnQoenQpKSx2ZS5zZXRNaW51dGVzKHBhcnNlSW50KFRlKSl9fWVsc2UgaWYoIXRoaXMuZW5hYmxlVGltZSl7bGV0IFplPW5ldyBEYXRlO3ZlLnNldEhvdXJzKFplLmdldEhvdXJzKCkpLHZlLnNldE1pbnV0ZXMoWmUuZ2V0TWludXRlcygpKSx2ZS5zZXRTZWNvbmRzKDApLHZlLnNldE1pbGxpc2Vjb25kcygwKX1yZXR1cm4gdmV9Zm9ybWF0VmFsdWVXaXRoVGltZXpvbmUoJGUpe2lmKCF0aGlzLmVuYWJsZVRpbWV6b25lKXJldHVybiAkZS50b0lTT1N0cmluZygpO2xldCBNZT1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZW4tVVMiLHt5ZWFyOiJudW1lcmljIixtb250aDoiMi1kaWdpdCIsZGF5OiIyLWRpZ2l0Iixob3VyOiIyLWRpZ2l0IixtaW51dGU6IjItZGlnaXQiLHNlY29uZDoiMi1kaWdpdCIsaG91cjEyOiExLHRpbWVab25lOnRoaXMudGltZXpvbmUsdGltZVpvbmVOYW1lOiJzaG9ydCJ9KS5mb3JtYXRUb1BhcnRzKCRlKSxkZT17fTtNZS5mb3JFYWNoKFplPT57ZGVbWmUudHlwZV09WmUudmFsdWV9KTtsZXQgdmU9YCR7ZGUueWVhcn0tJHtkZS5tb250aH0tJHtkZS5kYXl9VCR7ZGUuaG91cn06JHtkZS5taW51dGV9OiR7ZGUuc2Vjb25kfWAsQWU9dGhpcy5nZXRUaW1lem9uZU9mZnNldCgkZSx0aGlzLnRpbWV6b25lKTtyZXR1cm5gJHt2ZX0ke0FlfWB9Z2V0VGltZXpvbmVPZmZzZXQoJGUsQ2Upe2xldCBNZT1uZXcgRGF0ZSgkZS50b0xvY2FsZVN0cmluZygiZW4tVVMiLHt0aW1lWm9uZTpDZX0pKSxkZT1uZXcgRGF0ZSgkZS50b0xvY2FsZVN0cmluZygiZW4tVVMiLHt0aW1lWm9uZToiVVRDIn0pKSx2ZT0oTWUuZ2V0VGltZSgpLWRlLmdldFRpbWUoKSkvKDFlMyo2MCksQWU9TWF0aC5mbG9vcihNYXRoLmFicyh2ZSkvNjApLFplPU1hdGguYWJzKHZlKSU2MDtyZXR1cm5gJHt2ZT49MD8iKyI6Ii0ifSR7QWUudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9OiR7WmUudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YH1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKCRlKXtpZih0aGlzLnZhbHVlPSRlLCRlKXRyeXtsZXQgQ2U9bmV3IERhdGUoJGUpO2lzTmFOKENlLmdldFRpbWUoKSl8fCh0aGlzLnNlbGVjdGVkRGF0ZT1DZSx0aGlzLnZpZXdEYXRlPW5ldyBEYXRlKENlKSx0aGlzLnNlbGVjdGVkSG91cj1DZS5nZXRIb3VycygpLHRoaXMuc2VsZWN0ZWRNaW51dGU9Q2UuZ2V0TWludXRlcygpKX1jYXRjaHt9fWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnBvcHVwSW5zdGFuY2UmJih0aGlzLnBvcHVwSW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGF0ZS1zZWxlY3RlZCIsdGhpcy5oYW5kbGVEYXRlU2VsZWN0ZWQpLHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJkYXRlLWNsZWFyZWQiLHRoaXMuaGFuZGxlRGF0ZUNsZWFyZWQpLHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbG9zZS1yZXF1ZXN0Iix0aGlzLmhhbmRsZUNsb3NlUmVxdWVzdCksdGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlcG9zaXRpb24tcmVxdWVzdCIsdGhpcy5oYW5kbGVSZXBvc2l0aW9uUmVxdWVzdCksdGhpcy5wb3B1cEluc3RhbmNlLmhpZGUoKSx0aGlzLnBvcHVwSW5zdGFuY2U9bnVsbCl9c3RhdGlje3hhKHIsdCl9fTtyZXR1cm4gZHQ9cn0pKCl9KTt2YXIgdGFlPWYoKCk9PnskWWUoKTtEWWUoKX0pO3ZhciB3c2EsTXNhPWYoKCk9PntsZSgpO05hKCk7WXMoKTt3c2E9cygoKT0+d2AKICA8c3R5bGU+CiAgICAke1hgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5ob3Jpem9udGFsLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KICAgICAgCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIC5pbnRlcmFjdGl2ZS1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgfQogICAgICAKICAgICAgLm91dHB1dC10ZXh0IHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjYuNyUpIiwiaHNsKDIxMCA0MCUgODAlKSIpfTsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk4JSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgbWluLWhlaWdodDogMjRweDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PnthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtdGV4dCIpLmZvckVhY2gocj0+e3IuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlU3ViamVjdCIsKGk9Pntjb25zb2xlLmxvZyhgSW5wdXQgIiR7ci5sYWJlbH0iIGNoYW5nZWQgdG86YCxyLmdldFZhbHVlKCkpfSkpLHIuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9Pntjb25zb2xlLmxvZyhgSW5wdXQgIiR7ci5sYWJlbH0iIGxvc3QgZm9jdXNgKX0pfSksYS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LXRleHRba2V5PSJwYXNzd29yZCJdJykmJmNvbnNvbGUubG9nKCJQYXNzd29yZCBpbnB1dCBpbmNsdWRlcyB2aXNpYmlsaXR5IHRvZ2dsZSIpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJCYXNpYyBUZXh0IElucHV0cyJ9IC5zdWJ0aXRsZT0keyJTdGFuZGFyZCB0ZXh0IGlucHV0cyB3aXRoIGxhYmVscyBhbmQgZGVzY3JpcHRpb25zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlVzZXJuYW1lIn0KICAgICAgICAgICAgLnZhbHVlPSR7ImpvaG5kb2UifQogICAgICAgICAgICAua2V5PSR7InVzZXJuYW1lIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IllvdXIgdXNlcm5hbWUgd2lsbCBiZSB2aXNpYmxlIHRvIG90aGVyIHVzZXJzIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJFbWFpbCBBZGRyZXNzIn0KICAgICAgICAgICAgLnZhbHVlPSR7ImpvaG5AZXhhbXBsZS5jb20ifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiV2Ugd2lsbCBuZXZlciBzaGFyZSB5b3VyIGVtYWlsIHdpdGggYW55b25lIn0KICAgICAgICAgICAgLmtleT0keyJlbWFpbCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiUGFzc3dvcmQifQogICAgICAgICAgICAuaXNQYXNzd29yZEJvb2w9JHshMH0KICAgICAgICAgICAgLnZhbHVlPSR7InNlY3JldDEyMyJ9CiAgICAgICAgICAgIC5rZXk9JHsicGFzc3dvcmQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PnthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtdGV4dCIpLmZvckVhY2goaT0+e2xldCBvPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGkpO2NvbnNvbGUubG9nKGBIb3Jpem9udGFsIGlucHV0ICIke2kubGFiZWx9IiBkaXNwbGF5OmAsby5kaXNwbGF5KX0pO2xldCB0PWEucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC10ZXh0W2tleT0iZmlyc3ROYW1lIl0nKSxyPWEucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC10ZXh0W2tleT0ibGFzdE5hbWUiXScpO2lmKHQmJnIpe2xldCBpPXMoKCk9PntsZXQgbz10LmdldFZhbHVlKCksbj1yLmdldFZhbHVlKCk7Y29uc29sZS5sb2coYEZ1bGwgbmFtZTogJHtvfSAke259YCl9LCJ1cGRhdGVGdWxsTmFtZSIpO3QuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlU3ViamVjdCIsaSksci5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2VTdWJqZWN0IixpKX19fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ikhvcml6b250YWwgTGF5b3V0In0gLnN1YnRpdGxlPSR7Ik11bHRpcGxlIGlucHV0cyBhcnJhbmdlZCBob3Jpem9udGFsbHkgZm9yIGNvbXBhY3QgZm9ybXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ncm91cCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgICAubGFiZWw9JHsiRmlyc3QgTmFtZSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7IkpvaG4ifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC5rZXk9JHsiZmlyc3ROYW1lIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAgIC5sYWJlbD0keyJMYXN0IE5hbWUifQogICAgICAgICAgICAgIC52YWx1ZT0keyJEb2UifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC5rZXk9JHsibGFzdE5hbWUifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgICAgLmxhYmVsPSR7IkFnZSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7IjI4In0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAua2V5PSR7ImFnZSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PnthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtdGV4dCIpLmZvckVhY2gocj0+e2xldCBpPXIubGFiZWxQb3NpdGlvbjtjb25zb2xlLmxvZyhgSW5wdXQgIiR7ci5sYWJlbH0iIGhhcyBsYWJlbCBwb3NpdGlvbjogJHtpfWApfSk7bGV0IHQ9YS5xdWVyeVNlbGVjdG9yQWxsKCdkZWVzLWlucHV0LXRleHRbbGFiZWxQb3NpdGlvbj0ibGVmdCJdJyk7dC5sZW5ndGg+MCYmY29uc29sZS5sb2coYCR7dC5sZW5ndGh9IGlucHV0cyBoYXZlIGxlZnQtYWxpZ25lZCBsYWJlbHMgZm9yIGlubGluZSBsYXlvdXRgKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiTGFiZWwgUG9zaXRpb25zIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCBsYWJlbCBwb3NpdGlvbmluZyBvcHRpb25zIGZvciB2YXJpb3VzIGxheW91dHMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiTGFiZWwgb24gVG9wIChEZWZhdWx0KSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJTdGFuZGFyZCBsYXlvdXQifQogICAgICAgICAgICAubGFiZWxQb3NpdGlvbj0keyJ0b3AifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IkxhYmVsIG9uIExlZnQifQogICAgICAgICAgICAudmFsdWU9JHsiSW5saW5lIGxhYmVsIn0KICAgICAgICAgICAgLmxhYmVsUG9zaXRpb249JHsibGVmdCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiQ2l0eSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJOZXcgWW9yayJ9CiAgICAgICAgICAgIC5sYWJlbFBvc2l0aW9uPSR7ImxlZnQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlpJUCBDb2RlIn0KICAgICAgICAgICAgLnZhbHVlPSR7IjEwMDAxIn0KICAgICAgICAgICAgLmxhYmVsUG9zaXRpb249JHsibGVmdCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJWYWxpZGF0aW9uICYgU3RhdGVzIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCB2YWxpZGF0aW9uIHN0YXRlcyBhbmQgaW5wdXQgY29uZmlndXJhdGlvbnMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiUmVxdWlyZWQgRmllbGQifQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgLmtleT0keyJyZXF1aXJlZEZpZWxkIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJEaXNhYmxlZCBGaWVsZCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJDYW5ub3QgZWRpdCB0aGlzIn0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiRW1haWwgd2l0aCBWYWxpZGF0aW9uIn0KICAgICAgICAgICAgLnZhbHVlPSR7ImludmFsaWRAIn0KICAgICAgICAgICAgLnZhbGlkYXRpb25GdW5jdGlvbj0ke2E9Pi9eW15cc0BdK0BbXlxzQF0rXC5bXlxzQF0rJC8udGVzdChhKT97dmFsaWQ6ITAsbWVzc2FnZToiRW1haWwgYWRkcmVzcyBpcyB2YWxpZCJ9Ont2YWxpZDohMSxtZXNzYWdlOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzIn19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC10ZXh0W2lzUGFzc3dvcmRCb29sXSIpLmZvckVhY2godD0+e2xldCByPXQsaT1zKCgpPT57bGV0IG89ci5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpO28mJmNvbnNvbGUubG9nKGBQYXNzd29yZCBmaWVsZCAiJHtyLmxhYmVsfSIgdHlwZTpgLG8udHlwZSl9LCJjaGVja1RvZ2dsZSIpO2lmKHIuc2hhZG93Um9vdCl7bGV0IG89bmV3IE11dGF0aW9uT2JzZXJ2ZXIoaSksbj1yLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiaW5wdXQiKTtuJiZvLm9ic2VydmUobix7YXR0cmlidXRlczohMCxhdHRyaWJ1dGVGaWx0ZXI6WyJ0eXBlIl19KX19KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQWR2YW5jZWQgRmVhdHVyZXMifSAuc3VidGl0bGU9JHsiUGFzc3dvcmQgdmlzaWJpbGl0eSB0b2dnbGUgYW5kIG90aGVyIGFkdmFuY2VkIGZlYXR1cmVzIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlBhc3N3b3JkIHdpdGggVG9nZ2xlIn0KICAgICAgICAgICAgLmlzUGFzc3dvcmRCb29sPSR7ITB9CiAgICAgICAgICAgIC52YWx1ZT0keyJteVNlY3VyZVBhc3N3b3JkMTIzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IkNsaWNrIHRoZSBleWUgaWNvbiB0byBzaG93L2hpZGUgcGFzc3dvcmQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IkFQSSBLZXkifQogICAgICAgICAgICAuaXNQYXNzd29yZEJvb2w9JHshMH0KICAgICAgICAgICAgLnZhbHVlPSR7InNrLTEyMzQ1Njc4OTBhYmNkZWYifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiS2VlcCB0aGlzIGtleSBzZWN1cmUgYW5kIG5ldmVyIHNoYXJlIGl0In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHQiKSx0PWEucXVlcnlTZWxlY3RvcigiI3RleHQtaW5wdXQtb3V0cHV0Iik7ZSYmdCYmZS5jaGFuZ2VTdWJqZWN0LnN1YnNjcmliZSgoKT0+e3QudGV4dENvbnRlbnQ9YEN1cnJlbnQgdmFsdWU6ICIke2UuZ2V0VmFsdWUoKX0iYH0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJJbnRlcmFjdGl2ZSBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IlRyeSB0eXBpbmcgaW4gdGhlIGlucHV0IHRvIHNlZSByZWFsLXRpbWUgdmFsdWUgY2hhbmdlcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgIC5sYWJlbD0keyJEeW5hbWljIElucHV0In0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJUeXBlIHNvbWV0aGluZyBoZXJlLi4uIn0KICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgIDxkaXYgY2xhc3M9ImludGVyYWN0aXZlLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBpZD0idGV4dC1pbnB1dC1vdXRwdXQiIGNsYXNzPSJvdXRwdXQtdGV4dCI+Q3VycmVudCB2YWx1ZTogIiI8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIGRjLGFpLGFhZSxuND1mKCgpPT57TDEoKTtTcigpO01zYSgpO21zKCk7bGUoKTtRZSgpO1hyKCk7ZGM9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGFpPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxhYWU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LXRleHQiKV0sZSx0PVtdLHIsaT1NdCxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXSxCLE09W10sUz1bXTt2YXIgRT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0VGV4dCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBBPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sZD1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0sdT1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0seD1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSx5PVskKHtyZWZsZWN0OiEwfSldLE49WyQoe2F0dHJpYnV0ZTohMX0pXSxPPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxCPVskKHthdHRyaWJ1dGU6ITF9KV0sZGModGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4idmFsdWUiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri52YWx1ZSwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnZhbHVlPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sbixsKSxkYyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzUGFzc3dvcmRCb29sIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJpc1Bhc3N3b3JkQm9vbCJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmlzUGFzc3dvcmRCb29sLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YuaXNQYXNzd29yZEJvb2w9V30sInNldCIpfSxtZXRhZGF0YTpBfSxjLHApLGRjKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1Bhc3N3b3JkQm9vbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4ic2hvd1Bhc3N3b3JkQm9vbCJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnNob3dQYXNzd29yZEJvb2wsImdldCIpLHNldDpzKChGLFcpPT57Ri5zaG93UGFzc3dvcmRCb29sPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sbSx2KSxkYyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbGlkYXRpb25TdGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4idmFsaWRhdGlvblN0YXRlImluIEYsImhhcyIpLGdldDpzKEY9PkYudmFsaWRhdGlvblN0YXRlLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YudmFsaWRhdGlvblN0YXRlPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sYixnKSxkYyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbGlkYXRpb25UZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJ2YWxpZGF0aW9uVGV4dCJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnZhbGlkYXRpb25UZXh0LCJnZXQiKSxzZXQ6cygoRixXKT0+e0YudmFsaWRhdGlvblRleHQ9V30sInNldCIpfSxtZXRhZGF0YTpBfSxrLEMpLGRjKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvbkZ1bmN0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJ2YWxpZGF0aW9uRnVuY3Rpb24iaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri52YWxpZGF0aW9uRnVuY3Rpb24sImdldCIpLHNldDpzKChGLFcpPT57Ri52YWxpZGF0aW9uRnVuY3Rpb249V30sInNldCIpfSxtZXRhZGF0YTpBfSxfLHopLGRjKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmludGVncmF0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InZpbnRlZ3JhdGVkImluIEYsImhhcyIpLGdldDpzKEY9PkYudmludGVncmF0ZWQsImdldCIpLHNldDpzKChGLFcpPT57Ri52aW50ZWdyYXRlZD1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LFQsUCksZGModGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZENvbmZpcm1lZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4idmFsaWRDb25maXJtZWQiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri52YWxpZENvbmZpcm1lZCwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnZhbGlkQ29uZmlybWVkPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sTSxTKSxkYyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpBfSxudWxsLHQpLEU9cj1lLnZhbHVlLEEmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6QX0pfXN0YXRpYyBkZW1vPXdzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9YWkodGhpcyxuLCIiKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoQSl7dGhpcy4jZT1BfSN0PShhaSh0aGlzLGwpLGFpKHRoaXMsYywhMSkpO2dldCBpc1Bhc3N3b3JkQm9vbCgpe3JldHVybiB0aGlzLiN0fXNldCBpc1Bhc3N3b3JkQm9vbChBKXt0aGlzLiN0PUF9I2E9KGFpKHRoaXMscCksYWkodGhpcyxtLCExKSk7Z2V0IHNob3dQYXNzd29yZEJvb2woKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1Bhc3N3b3JkQm9vbChBKXt0aGlzLiNhPUF9I3I9KGFpKHRoaXMsdiksYWkodGhpcyxiLHZvaWQgMCkpO2dldCB2YWxpZGF0aW9uU3RhdGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdmFsaWRhdGlvblN0YXRlKEEpe3RoaXMuI3I9QX0jcz0oYWkodGhpcyxnKSxhaSh0aGlzLGssIiIpKTtnZXQgdmFsaWRhdGlvblRleHQoKXtyZXR1cm4gdGhpcy4jc31zZXQgdmFsaWRhdGlvblRleHQoQSl7dGhpcy4jcz1BfSNpPShhaSh0aGlzLEMpLGFpKHRoaXMsXyx2b2lkIDApKTtnZXQgdmFsaWRhdGlvbkZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHZhbGlkYXRpb25GdW5jdGlvbihBKXt0aGlzLiNpPUF9I289KGFpKHRoaXMseiksYWkodGhpcyxULCExKSk7Z2V0IHZpbnRlZ3JhdGVkKCl7cmV0dXJuIHRoaXMuI299c2V0IHZpbnRlZ3JhdGVkKEEpe3RoaXMuI289QX0jbj0oYWkodGhpcyxQKSxhaSh0aGlzLE0sITEpKTtnZXQgdmFsaWRDb25maXJtZWQoKXtyZXR1cm4gdGhpcy4jbn1zZXQgdmFsaWRDb25maXJtZWQoQSl7dGhpcy4jbj1BfXZhbGlkVGltZW91dD1haSh0aGlzLFMpO3N0YXRpYyBzdHlsZXM9W1BlLC4uLk10LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgei1pbmRleDogYXV0bzsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBjdXJzb3I6IHRleHQ7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAzLjklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIGlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIH0KCiAgICAgIGlucHV0OmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdCg6Zm9jdXMpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KCiAgICAgIGlucHV0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSAvIDAuMDUpIiwiaHNsKDAgMCUgOTglIC8gMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIGlucHV0OmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLyogUGFzc3dvcmQgdG9nZ2xlIGJ1dHRvbiAqLwogICAgICAuc2hvd1Bhc3N3b3JkIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDFweDsKICAgICAgICB0b3A6IDIwcHg7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMzhweDsKICAgICAgICBoZWlnaHQ6IDM4cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwOwogICAgICB9CgogICAgICAuc2hvd1Bhc3N3b3JkOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkzLjklKSIpfTsKICAgICAgfQoKICAgICAgLyogVmFsaWQgY2hlY2ttYXJrIGljb24gKi8KICAgICAgLnZhbGlkSWNvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAxMHB4OwogICAgICAgIHRvcDogMjBweDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgfQoKICAgICAgLnZhbGlkSWNvbi5zaG93IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAudmFsaWRJY29uIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICB9CgogICAgICAvKiBWYWxpZGF0aW9uIHN0eWxlcyAqLwogICAgICAudmFsaWRhdGlvbkNvbnRhaW5lciB7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnZhbGlkYXRpb25Db250YWluZXIuaW52YWxpZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlIC8gMC4xKSIsImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlKSIsImhzbCgwIDcyLjIlIDUwLjYlKSIpfTsKICAgICAgfQoKICAgICAgLnZhbGlkYXRpb25Db250YWluZXIud2FybiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlIC8gMC4xKSIsImhzbCgyNSA5NSUgNjMlIC8gMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlKSIsImhzbCgyNSA5NSUgNjMlKSIpfTsKICAgICAgfQoKICAgICAgLnZhbGlkYXRpb25Db250YWluZXIudmFsaWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUgLyAwLjEpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlIC8gMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICB9CgogICAgICAvKiBFcnJvciBzdGF0ZSBmb3IgaW5wdXQgKi8KICAgICAgOmhvc3QoW3ZhbGlkYXRpb25zdGF0ZT0iaW52YWxpZCJdKSBpbnB1dCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUpIiwiaHNsKDAgNzIuMiUgNTAuNiUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbdmFsaWRhdGlvbnN0YXRlPSJpbnZhbGlkIl0pIGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA3Mi4yJSA1MC42JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSAvIDAuMDUpIiwiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgLyogV2FybmluZyBzdGF0ZSBmb3IgaW5wdXQgKi8KICAgICAgOmhvc3QoW3ZhbGlkYXRpb25zdGF0ZT0id2FybiJdKSBpbnB1dCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDI1IDk1JSA1MyUpIiwiaHNsKDI1IDk1JSA2MyUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbdmFsaWRhdGlvbnN0YXRlPSJ3YXJuIl0pIGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjUgOTUlIDUzJSkiLCJoc2woMjUgOTUlIDYzJSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCJoc2woMjUgOTUlIDUzJSAvIDAuMDUpIiwiaHNsKDI1IDk1JSA2MyUgLyAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgLyogVmFsaWQgc3RhdGUgZm9yIGlucHV0ICovCiAgICAgIDpob3N0KFt2YWxpZGF0aW9uc3RhdGU9InZhbGlkIl0pIGlucHV0IHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZhbGlkYXRpb25zdGF0ZT0idmFsaWQiXSkgaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlIC8gMC4wNSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgLyogVmlzdWFsbHkgaW50ZWdyYXRlZCBtb2RlOiBzaGVkIGNocm9tZSB0byBibGVuZCBpbnRvIGEgaG9zdCBjb21wb25lbnQKICAgICAgICAgKGUuZy4gYSBkZWVzLXRhYmxlIGNlbGwgaW4gZWRpdCBtb2RlKS4gKi8KICAgICAgOmhvc3QoW3ZpbnRlZ3JhdGVkXSkgZGVlcy1sYWJlbCwKICAgICAgOmhvc3QoW3ZpbnRlZ3JhdGVkXSkgLnZhbGlkYXRpb25Db250YWluZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgICAgOmhvc3QoW3ZpbnRlZ3JhdGVkXSkgLm1haW5jb250YWluZXIgewogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgfQogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSBpbnB1dCB7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICB9CiAgICAgIDpob3N0KFt2aW50ZWdyYXRlZF0pIGlucHV0OmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdCg6Zm9jdXMpLAogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSBpbnB1dDpmb2N1cyB7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KICAgICAgOmhvc3QoW3ZpbnRlZ3JhdGVkXSkgLnNob3dQYXNzd29yZCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICBpbnB1dCB7CiAgICAgICAgICBmb250LWZhbWlseTogJHt0aGlzLmlzUGFzc3dvcmRCb29sP01mOiJpbmhlcml0In07CiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJHt0aGlzLmlzUGFzc3dvcmRCb29sPyIwLjVweCI6Im5vcm1hbCJ9OwogICAgICAgICAgcGFkZGluZy1yaWdodDogJHt0aGlzLmlzUGFzc3dvcmRCb29sPyI0OHB4Ijp0aGlzLnZhbGlkQ29uZmlybWVkPyI0MHB4IjoiMTJweCJ9OwogICAgICAgIH0KICAgICAgICAke3RoaXMudmFsaWRhdGlvblRleHQmJiF0aGlzLnZhbGlkQ29uZmlybWVkP1hgCiAgICAgICAgICAgICAgLnZhbGlkYXRpb25Db250YWluZXIgewogICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICAgICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIGA6WGAKICAgICAgICAgICAgICAudmFsaWRhdGlvbkNvbnRhaW5lciB7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7CiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgYH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLmluZm9UZXh0PSR7dGhpcy5pbmZvVGV4dH0gLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0+PC9kZWVzLWxhYmVsPgogICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiPgogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIHR5cGU9IiR7dGhpcy5pc1Bhc3N3b3JkQm9vbCYmIXRoaXMuc2hvd1Bhc3N3b3JkQm9vbD8icGFzc3dvcmQiOiJ0ZXh0In0iCiAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMudmFsdWV9CiAgICAgICAgICAgIEBpbnB1dD0iJHt0aGlzLnVwZGF0ZVZhbHVlfSIKICAgICAgICAgICAgLmRpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgICAgcGxhY2Vob2xkZXI9IiR7dGhpcy5sYWJlbD8iIjoiRW50ZXIgdGV4dC4uLiJ9IgogICAgICAgICAgLz4KICAgICAgICAgICR7dGhpcy5pc1Bhc3N3b3JkQm9vbD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvd1Bhc3N3b3JkIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZVBhc3N3b3JkVmlld30+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHt0aGlzLnNob3dQYXNzd29yZEJvb2w/Imx1Y2lkZTpFeWUiOiJsdWNpZGU6RXllT2ZmIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOndgYH0KICAgICAgICAgIDxkaXYgY2xhc3M9InZhbGlkSWNvbiAke3RoaXMudmFsaWRDb25maXJtZWQ/InNob3ciOiIifSI+CiAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOkNoZWNrIn0+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7dGhpcy52YWxpZGF0aW9uVGV4dD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idmFsaWRhdGlvbkNvbnRhaW5lciAke3RoaXMudmFsaWRhdGlvblN0YXRlfHwiaW52YWxpZCJ9Ij4KICAgICAgICAgICAgICAgICAgJHt0aGlzLnZhbGlkYXRpb25UZXh0fQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDp3YDxkaXYgY2xhc3M9InZhbGlkYXRpb25Db250YWluZXIiPjwvZGl2PmB9CiAgICAgICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWZpcnN0VXBkYXRlZCgpe2lmKHRoaXMudmFsaWRhdGlvbkZ1bmN0aW9uJiZ0aGlzLnZhbHVlKXtsZXQgQT10aGlzLnZhbGlkYXRpb25GdW5jdGlvbih0aGlzLnZhbHVlKTt0aGlzLnZhbGlkYXRpb25TdGF0ZT1BLnZhbGlkPyJ2YWxpZCI6ImludmFsaWQiLHRoaXMudmFsaWRhdGlvblRleHQ9QS5tZXNzYWdlfHwiIixBLnZhbGlkJiYodGhpcy52YWxpZENvbmZpcm1lZD0hMSx0aGlzLnZhbGlkVGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy52YWxpZENvbmZpcm1lZD0hMCx0aGlzLnZhbGlkYXRpb25TdGF0ZT12b2lkIDB9LDUwMCkpfX1hc3luYyB1cGRhdGVWYWx1ZShBKXtsZXQgRj1BLnRhcmdldDtpZih0aGlzLnZhbHVlPUYudmFsdWUsdGhpcy52YWxpZGF0aW9uRnVuY3Rpb24pe2xldCBXPXRoaXMudmFsaWRhdGlvbkZ1bmN0aW9uKHRoaXMudmFsdWUpO3RoaXMudmFsaWRhdGlvblN0YXRlPVcudmFsaWQ/InZhbGlkIjoiaW52YWxpZCIsdGhpcy52YWxpZGF0aW9uVGV4dD1XLm1lc3NhZ2V8fCIiLFcudmFsaWQ/KHRoaXMudmFsaWRDb25maXJtZWQ9ITEsY2xlYXJUaW1lb3V0KHRoaXMudmFsaWRUaW1lb3V0KSx0aGlzLnZhbGlkVGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy52YWxpZENvbmZpcm1lZD0hMCx0aGlzLnZhbGlkYXRpb25TdGF0ZT12b2lkIDB9LDUwMCkpOihjbGVhclRpbWVvdXQodGhpcy52YWxpZFRpbWVvdXQpLHRoaXMudmFsaWRDb25maXJtZWQ9ITEpfXRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWdldENvbnRleHRNZW51SXRlbXMoKXtsZXQgQT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiaW5wdXQiKSxGPUEuc2VsZWN0aW9uU3RhcnQhPT1BLnNlbGVjdGlvbkVuZDtyZXR1cm5be25hbWU6IkN1dCIsaWNvbk5hbWU6Imx1Y2lkZTpTY2lzc29ycyIsc2hvcnRjdXQ6IkNtZCtYIixkaXNhYmxlZDohRixhY3Rpb246cyhhc3luYygpPT57bGV0IFc9dGhpcy52YWx1ZS5zdWJzdHJpbmcoQS5zZWxlY3Rpb25TdGFydCxBLnNlbGVjdGlvbkVuZCk7YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoVyk7bGV0IGo9QS5zZWxlY3Rpb25TdGFydDt0aGlzLnZhbHVlPXRoaXMudmFsdWUuc3Vic3RyaW5nKDAsaikrdGhpcy52YWx1ZS5zdWJzdHJpbmcoQS5zZWxlY3Rpb25FbmQpLEEudmFsdWU9dGhpcy52YWx1ZSxBLnNldFNlbGVjdGlvblJhbmdlKGosaiksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9LCJhY3Rpb24iKX0se25hbWU6IkNvcHkiLGljb25OYW1lOiJsdWNpZGU6Q29weSIsc2hvcnRjdXQ6IkNtZCtDIixkaXNhYmxlZDohRixhY3Rpb246cyhhc3luYygpPT57bGV0IFc9dGhpcy52YWx1ZS5zdWJzdHJpbmcoQS5zZWxlY3Rpb25TdGFydCxBLnNlbGVjdGlvbkVuZCk7YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoVyl9LCJhY3Rpb24iKX0se25hbWU6IlBhc3RlIixpY29uTmFtZToibHVjaWRlOkNsaXBib2FyZFBhc3RlIixzaG9ydGN1dDoiQ21kK1YiLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgVz1hd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWRUZXh0KCksaj1BLnNlbGVjdGlvblN0YXJ0LEc9QS5zZWxlY3Rpb25FbmQ7dGhpcy52YWx1ZT10aGlzLnZhbHVlLnN1YnN0cmluZygwLGopK1crdGhpcy52YWx1ZS5zdWJzdHJpbmcoRyksQS52YWx1ZT10aGlzLnZhbHVlLEEuc2V0U2VsZWN0aW9uUmFuZ2UoaitXLmxlbmd0aCxqK1cubGVuZ3RoKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX0sImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlNlbGVjdCBBbGwiLGljb25OYW1lOiJsdWNpZGU6VGV4dEN1cnNvcklucHV0IixzaG9ydGN1dDoiQ21kK0EiLGFjdGlvbjpzKGFzeW5jKCk9PntBLnNlbGVjdCgpfSwiYWN0aW9uIil9XX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKEEpe3RoaXMudmFsdWU9QX1hc3luYyB0b2dnbGVQYXNzd29yZFZpZXcoKXt0aGlzLnNob3dQYXNzd29yZEJvb2w9IXRoaXMuc2hvd1Bhc3N3b3JkQm9vbH1hc3luYyBmb2N1cygpe3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLmZvY3VzKCl9YXN5bmMgYmx1cigpe3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLmJsdXIoKX1zdGF0aWN7YWkocix0KX19O3JldHVybiBFPXJ9KSgpfSk7dmFyIGtzYSxTc2E9ZigoKT0+e2xlKCk7TmEoKTtZcygpO2tzYT1zKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICAke1hgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5wcm9kdWN0LWdyaWQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI4MHB4LCAxZnIpKTsKICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICB9CgogICAgICAgIC5jYXJ0LXN1bW1hcnkgewogICAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMjEuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtc3VtbWFyeS10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CgogICAgICAgIC5jYXJ0LWl0ZW0gewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgNzQuOSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtdG90YWwgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBwYWRkaW5nLXRvcDogMTZweDsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuc2VsZWN0ZWQtcHJvZHVjdHMgewogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgNzQuOSUpIil9OwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIFByb2R1Y3QgQ2FyZHMifSAuc3VidGl0bGU9JHsiU2ltcGxlIHByb2R1Y3QgZGlzcGxheSB3aXRoIHZhcmlvdXMgY29uZmlndXJhdGlvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWdyaWQiPgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IldpcmVsZXNzIEJsdWV0b290aCBIZWFkcGhvbmVzIixjYXRlZ29yeToiQXVkaW8iLGRlc2NyaXB0aW9uOiJQcmVtaXVtIHNvdW5kIHF1YWxpdHkgd2l0aCBhY3RpdmUgbm9pc2UgY2FuY2VsbGF0aW9uIixwcmljZToxNDkuOTksb3JpZ2luYWxQcmljZToxOTkuOTksaWNvbk5hbWU6Imx1Y2lkZTpoZWFkcGhvbmVzIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezF9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJTbWFydCBXYXRjaCBTZXJpZXMgNyIsY2F0ZWdvcnk6IldlYXJhYmxlcyIsZGVzY3JpcHRpb246IlRyYWNrIHlvdXIgZml0bmVzcyBhbmQgc3RheSBjb25uZWN0ZWQgb24gdGhlIGdvIixwcmljZTozOTksaWNvbk5hbWU6Imx1Y2lkZTp3YXRjaCJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsxfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiVVNCLUMgSHViIixjYXRlZ29yeToiQWNjZXNzb3JpZXMiLHByaWNlOjQ5Ljk5LGljb25OYW1lOiJsdWNpZGU6dXNiIixpblN0b2NrOiExfX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7MH0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJJbnRlcmFjdGl2ZSBTaG9wcGluZyBDYXJ0In0gLnN1YnRpdGxlPSR7IlByb2R1Y3QgY2FyZHMgd2l0aCBkeW5hbWljIGNhcnQgY2FsY3VsYXRpb24ifSAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9W3tpZDoibGFwdG9wIixlbGVtZW50Om51bGwsZGF0YTp7bmFtZTonTWFjQm9vayBQcm8gMTQiJyxjYXRlZ29yeToiQ29tcHV0ZXJzIixkZXNjcmlwdGlvbjoiTTMgUHJvIGNoaXAgd2l0aCAxOEdCIFJBTSIscHJpY2U6MTk5OSxvcmlnaW5hbFByaWNlOjIxOTksaWNvbk5hbWU6Imx1Y2lkZTpsYXB0b3AifX0se2lkOiJpcGFkIixlbGVtZW50Om51bGwsZGF0YTp7bmFtZToiaVBhZCBBaXIiLGNhdGVnb3J5OiJUYWJsZXRzIixkZXNjcmlwdGlvbjonMTAuOSIgTGlxdWlkIFJldGluYSBkaXNwbGF5JyxwcmljZTo1OTksaWNvbk5hbWU6Imx1Y2lkZTp0YWJsZXQifX0se2lkOiJrZXlib2FyZCIsZWxlbWVudDpudWxsLGRhdGE6e25hbWU6Ik1hZ2ljIEtleWJvYXJkIixjYXRlZ29yeToiQWNjZXNzb3JpZXMiLGRlc2NyaXB0aW9uOiJXaXJlbGVzcyBrZXlib2FyZCB3aXRoIFRvdWNoIElEIixwcmljZToxNDksaWNvbk5hbWU6Imx1Y2lkZTprZXlib2FyZCJ9fV0sdD1zKCgpPT57bGV0IHI9MCxpPVtdO2UuZm9yRWFjaChuPT57bGV0IGw9YS5xdWVyeVNlbGVjdG9yKGAjJHtuLmlkfWApO2lmKGwmJmwucXVhbnRpdHk+MCl7bGV0IGQ9bi5kYXRhLnByaWNlKmwucXVhbnRpdHk7cis9ZCxpLnB1c2goYAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4+JHtuLmRhdGEubmFtZX0gKCR7bC5xdWFudGl0eX0pPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3Bhbj4kJHtkLnRvRml4ZWQoMil9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYCl9fSk7bGV0IG89YS5xdWVyeVNlbGVjdG9yKCIjaW50ZXJhY3RpdmUtY2FydC1zdW1tYXJ5Iik7byYmKG8uaW5uZXJIVE1MPWAKICAgICAgICAgICAgICAke2kuam9pbigiIil9CiAgICAgICAgICAgICAgJHtpLmxlbmd0aD09PTA/JzxkaXYgY2xhc3M9ImNhcnQtaXRlbSIgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICM5OTk7Ij5Zb3VyIGNhcnQgaXMgZW1wdHk8L2Rpdj4nOiIifQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtdG90YWwiPgogICAgICAgICAgICAgICAgPHNwYW4+VG90YWw8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3Bhbj4kJHtyLnRvRml4ZWQoMil9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgKX0sInVwZGF0ZUNhcnRTdW1tYXJ5Iik7c2V0VGltZW91dCh0LDEwMCksYS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkIikuZm9yRWFjaChyPT57ci5hZGRFdmVudExpc3RlbmVyKCJxdWFudGl0eUNoYW5nZSIsdCl9KX19PgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICBpZD0ibGFwdG9wIgogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZTonTWFjQm9vayBQcm8gMTQiJyxjYXRlZ29yeToiQ29tcHV0ZXJzIixkZXNjcmlwdGlvbjoiTTMgUHJvIGNoaXAgd2l0aCAxOEdCIFJBTSIscHJpY2U6MTk5OSxvcmlnaW5hbFByaWNlOjIxOTksaWNvbk5hbWU6Imx1Y2lkZTpsYXB0b3AifX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7MX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgaWQ9ImlwYWQiCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJpUGFkIEFpciIsY2F0ZWdvcnk6IlRhYmxldHMiLGRlc2NyaXB0aW9uOicxMC45IiBMaXF1aWQgUmV0aW5hIGRpc3BsYXknLHByaWNlOjU5OSxpY29uTmFtZToibHVjaWRlOnRhYmxldCJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHswfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICBpZD0ia2V5Ym9hcmQiCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJNYWdpYyBLZXlib2FyZCIsY2F0ZWdvcnk6IkFjY2Vzc29yaWVzIixkZXNjcmlwdGlvbjoiV2lyZWxlc3Mga2V5Ym9hcmQgd2l0aCBUb3VjaCBJRCIscHJpY2U6MTQ5LGljb25OYW1lOiJsdWNpZGU6a2V5Ym9hcmQifX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7Mn0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtc3VtbWFyeSI+CiAgICAgICAgICA8aDMgY2xhc3M9ImNhcnQtc3VtbWFyeS10aXRsZSI+U2hvcHBpbmcgQ2FydDwvaDM+CiAgICAgICAgICA8ZGl2IGlkPSJpbnRlcmFjdGl2ZS1jYXJ0LXN1bW1hcnkiPgogICAgICAgICAgICA8IS0tIER5bmFtaWNhbGx5IHVwZGF0ZWQgLS0+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlNlbGVjdGFibGUgUHJvZHVjdCBDYXJkcyJ9IC5zdWJ0aXRsZT0keyJDbGljayBjYXJkcyBvciBjaGVja2JveGVzIHRvIHNlbGVjdCBwcm9kdWN0cyJ9PgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiU29ueSBBbHBoYSA3IElWIixjYXRlZ29yeToiQ2FtZXJhcyIsZGVzY3JpcHRpb246IkZ1bGwtZnJhbWUgbWlycm9ybGVzcyBjYW1lcmEiLHByaWNlOjI0OTgsaWNvbk5hbWU6Imx1Y2lkZTpjYW1lcmEifX0KICAgICAgICAgICAgLnNlbGVjdGFibGU9JHshMH0KICAgICAgICAgICAgLnNob3dRdWFudGl0eVNlbGVjdG9yPSR7ITF9CiAgICAgICAgICAgIEBzZWxlY3Rpb25DaGFuZ2U9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3NlbGVjdGlvbi1vdXRwdXQiKTtpZihlKXtsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkW3NlbGVjdGFibGVdIikscj1bXTt0LmZvckVhY2goaT0+e2kuc2VsZWN0ZWQmJnIucHVzaChpLnByb2R1Y3REYXRhLm5hbWUpfSksZS50ZXh0Q29udGVudD1yLmxlbmd0aD4wP2BTZWxlY3RlZDogJHtyLmpvaW4oIiwgIil9YDoiTm8gcHJvZHVjdHMgc2VsZWN0ZWQifX19CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJESkkgTWluaSAzIFBybyIsY2F0ZWdvcnk6IkRyb25lcyIsZGVzY3JpcHRpb246IkxpZ2h0d2VpZ2h0IGRyb25lIHdpdGggNEsgY2FtZXJhIixwcmljZTo3NTksaWNvbk5hbWU6Imx1Y2lkZTpwbGFuZSJ9fQogICAgICAgICAgICAuc2VsZWN0YWJsZT0keyEwfQogICAgICAgICAgICAuc2hvd1F1YW50aXR5U2VsZWN0b3I9JHshMX0KICAgICAgICAgICAgQHNlbGVjdGlvbkNoYW5nZT0ke2E9PntsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0aW9uLW91dHB1dCIpO2lmKGUpe2xldCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmRbc2VsZWN0YWJsZV0iKSxyPVtdO3QuZm9yRWFjaChpPT57aS5zZWxlY3RlZCYmci5wdXNoKGkucHJvZHVjdERhdGEubmFtZSl9KSxlLnRleHRDb250ZW50PXIubGVuZ3RoPjA/YFNlbGVjdGVkOiAke3Iuam9pbigiLCAiKX1gOiJObyBwcm9kdWN0cyBzZWxlY3RlZCJ9fX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IkdvUHJvIEhFUk8xMiIsY2F0ZWdvcnk6IkFjdGlvbiBDYW1lcmFzIixkZXNjcmlwdGlvbjoiNS4zSyB2aWRlbyB3aXRoIEh5cGVyU21vb3RoIDYuMCIscHJpY2U6Mzk5LG9yaWdpbmFsUHJpY2U6NDQ5LGljb25OYW1lOiJsdWNpZGU6dmlkZW8ifX0KICAgICAgICAgICAgLnNlbGVjdGFibGU9JHshMH0KICAgICAgICAgICAgLnNob3dRdWFudGl0eVNlbGVjdG9yPSR7ITF9CiAgICAgICAgICAgIEBzZWxlY3Rpb25DaGFuZ2U9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3NlbGVjdGlvbi1vdXRwdXQiKTtpZihlKXtsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkW3NlbGVjdGFibGVdIikscj1bXTt0LmZvckVhY2goaT0+e2kuc2VsZWN0ZWQmJnIucHVzaChpLnByb2R1Y3REYXRhLm5hbWUpfSksZS50ZXh0Q29udGVudD1yLmxlbmd0aD4wP2BTZWxlY3RlZDogJHtyLmpvaW4oIiwgIil9YDoiTm8gcHJvZHVjdHMgc2VsZWN0ZWQifX19CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9InNlbGVjdGVkLXByb2R1Y3RzIiBpZD0ic2VsZWN0aW9uLW91dHB1dCIgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7Ij4KICAgICAgICAgIE5vIHByb2R1Y3RzIHNlbGVjdGVkCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJQcm9kdWN0IFZhcmlhdGlvbnMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHN0YXRlcyBhbmQgY29uZmlndXJhdGlvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWdyaWQiPgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IkxpbWl0ZWQgRWRpdGlvbiBTbmVha2VycyIsY2F0ZWdvcnk6IkZvb3R3ZWFyIixkZXNjcmlwdGlvbjoiRXhjbHVzaXZlIGNvbG9yd2F5IC0gT25seSA1MDAgcGFpcnMiLHByaWNlOjI5OSxpY29uTmFtZToibHVjaWRlOmZvb3RwcmludHMiLGluU3RvY2s6ITEsc3RvY2tUZXh0OiJTb2xkIE91dCJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHswfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiTWluaW1hbGlzdCBXYWxsZXQiLHByaWNlOjM5Ljk5LGljb25OYW1lOiJsdWNpZGU6d2FsbGV0In19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezF9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJQcmVtaXVtIENvZmZlZSBCZWFucyIsY2F0ZWdvcnk6IkZvb2QgJiBCZXZlcmFnZSIsZGVzY3JpcHRpb246IlNpbmdsZSBvcmlnaW4sIG1lZGl1bSByb2FzdCIscHJpY2U6MTguNSxpY29uTmFtZToibHVjaWRlOmNvZmZlZSIsY3VycmVuY3k6Ilx1MjBBQyJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsyfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgLCJkZW1vRnVuYyIpfSk7dmFyIHNtLEQxLHpzYSxBWWU9ZigoKT0+e2xlKCk7U3NhKCk7UWUoKTtRcigpO3NtPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxEMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0senNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzU2hvcHBpbmdQcm9kdWN0Y2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6TnVtYmVyfSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpCb29sZWFufSldLHNtKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJvZHVjdERhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InByb2R1Y3REYXRhImluIHosImhhcyIpLGdldDpzKHo9PnoucHJvZHVjdERhdGEsImdldCIpLHNldDpzKCh6LE8pPT57ei5wcm9kdWN0RGF0YT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksc20odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJxdWFudGl0eSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4icXVhbnRpdHkiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5xdWFudGl0eSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnF1YW50aXR5PU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYyxwKSxzbSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dRdWFudGl0eVNlbGVjdG9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzaG93UXVhbnRpdHlTZWxlY3RvciJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNob3dRdWFudGl0eVNlbGVjdG9yLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2hvd1F1YW50aXR5U2VsZWN0b3I9T30sInNldCIpfSxtZXRhZGF0YTpffSxtLHYpLHNtKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0YWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ic2VsZWN0YWJsZSJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNlbGVjdGFibGUsImdldCIpLHNldDpzKCh6LE8pPT57ei5zZWxlY3RhYmxlPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSxzbSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzZWxlY3RlZCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNlbGVjdGVkLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2VsZWN0ZWQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLHNtKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89a3NhO3N0YXRpYyBkZW1vR3JvdXBzPVsiU2ltcGxlIl07I2U9RDEodGhpcyxuLHtuYW1lOiJQcm9kdWN0IE5hbWUiLHByaWNlOjB9KTtnZXQgcHJvZHVjdERhdGEoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcHJvZHVjdERhdGEoXyl7dGhpcy4jZT1ffSN0PShEMSh0aGlzLGwpLEQxKHRoaXMsYywwKSk7Z2V0IHF1YW50aXR5KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHF1YW50aXR5KF8pe3RoaXMuI3Q9X30jYT0oRDEodGhpcyxwKSxEMSh0aGlzLG0sITApKTtnZXQgc2hvd1F1YW50aXR5U2VsZWN0b3IoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1F1YW50aXR5U2VsZWN0b3IoXyl7dGhpcy4jYT1ffSNyPShEMSh0aGlzLHYpLEQxKHRoaXMsYiwhMSkpO2dldCBzZWxlY3RhYmxlKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNlbGVjdGFibGUoXyl7dGhpcy4jcj1ffSNzPShEMSh0aGlzLGcpLEQxKHRoaXMsaywhMSkpO2dldCBzZWxlY3RlZCgpe3JldHVybiB0aGlzLiNzfXNldCBzZWxlY3RlZChfKXt0aGlzLiNzPV99c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZTpob3Zlcjo6cGFydChvdXRlcikgewogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3Ryb25nKTsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCBoc2woMCAwJSAwJSAvIDAuMSksIDAgMnB4IDRweCAtMnB4IGhzbCgwIDAlIDAlIC8gMC4xKTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlLnNlbGVjdGFibGUgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgZGVlcy10aWxlLnNlbGVjdGVkOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjEpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLnByb2R1Y3QtaW1hZ2UgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTgwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByb2R1Y3QtaW1hZ2UgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LWltYWdlIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiA0OHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAyMC4yJSA2NS4xJSkiLCJoc2woMjE1IDIwLjIlIDM1LjElKSIpfTsKICAgICAgfQoKICAgICAgLnNlbGVjdGlvbi1jaGVja2JveCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMTJweDsKICAgICAgICByaWdodDogMTJweDsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxNSAzMCUgNi44JSkiKX07CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTUgMjAuMiUgNjUuMSUpIiwiaHNsKDIxNSAyMC4yJSAzNS4xJSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLnNlbGVjdGlvbi1jaGVja2JveC5jaGVja2VkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgIH0KCiAgICAgIC5zZWxlY3Rpb24tY2hlY2tib3ggZGVlcy1pY29uIHsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAuc2VsZWN0aW9uLWNoZWNrYm94LmNoZWNrZWQgZGVlcy1pY29uIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LWhlYWRlci1iYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnByb2R1Y3QtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnByb2R1Y3QtY2F0ZWdvcnkgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAucHJvZHVjdC1ib2R5IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAucHJvZHVjdC1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KICAgICAgCiAgICAgIC5wcm9kdWN0LWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBmbGV4OiAxOwogICAgICB9CiAgICAgIAogICAgICAucHJvZHVjdC1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAucHJvZHVjdC1wcmljZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAucHJpY2UtY3VycmVudCB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnByaWNlLW9yaWdpbmFsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7CiAgICAgIH0KCiAgICAgIC5zdG9jay1zdGF0dXMgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgfQoKICAgICAgLnN0b2NrLXN0YXR1cy5pbi1zdG9jayB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIiwiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIpfTsKICAgICAgfQoKICAgICAgLnN0b2NrLXN0YXR1cy5vdXQtb2Ytc3RvY2sgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgMzAuNiUpIil9OwogICAgICB9CgogICAgICAuc3RvY2stc3RhdHVzIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXR7bmFtZTpfLGNhdGVnb3J5OnosZGVzY3JpcHRpb246TyxwcmljZTpULG9yaWdpbmFsUHJpY2U6UCxjdXJyZW5jeTpCPSIkIixpblN0b2NrOk09ITAsc3RvY2tUZXh0OlM9TT8iSW4gU3RvY2siOiJPdXQgb2YgU3RvY2siLGltYWdlVXJsOkUsaWNvbk5hbWU6QT0ibHVjaWRlOnBhY2thZ2UifT10aGlzLnByb2R1Y3REYXRhLEY9cyhXPT5gJHtCfSR7Vy50b0ZpeGVkKDIpfWAsImZvcm1hdFByaWNlIik7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGUKICAgICAgICBjbGFzcz0iJHt0aGlzLnNlbGVjdGFibGU/InNlbGVjdGFibGUiOiIifSAke3RoaXMuc2VsZWN0ZWQ/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVDYXJkQ2xpY2t9CiAgICAgID4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InByb2R1Y3QtaGVhZGVyLWJhciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvZHVjdC1uYW1lIj4ke199PC9zcGFuPgogICAgICAgICAgJHt6P3dgPHNwYW4gY2xhc3M9InByb2R1Y3QtY2F0ZWdvcnkiPiR7en08L3NwYW4+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWJvZHkiPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1pbWFnZSI+CiAgICAgICAgICAgICR7RT93YAogICAgICAgICAgICAgIDxpbWcgc3JjPSIke0V9IiBhbHQ9IiR7X30iPgogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke0F9PjwvZGVlcy1pY29uPgogICAgICAgICAgICBgfQogICAgICAgICAgICAke3RoaXMuc2VsZWN0YWJsZT93YAogICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJzZWxlY3Rpb24tY2hlY2tib3ggJHt0aGlzLnNlbGVjdGVkPyJjaGVja2VkIjoiIn0iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHtXPT57Vy5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmhhbmRsZVNlbGVjdGlvblRvZ2dsZSgpfX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpjaGVjayJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWNvbnRlbnQiPgogICAgICAgICAgICAke08/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWRlc2NyaXB0aW9uIj4ke099PC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0b2NrLXN0YXR1cyAke00/ImluLXN0b2NrIjoib3V0LW9mLXN0b2NrIn0iPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHtNPyJsdWNpZGU6Y2hlY2stY2lyY2xlIjoibHVjaWRlOngtY2lyY2xlIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgJHtTfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0icHJvZHVjdC1mb290ZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1wcmljZSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1jdXJyZW50Ij4ke0YoVCl9PC9zcGFuPgogICAgICAgICAgICAke1AmJlA+VD93YAogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1vcmlnaW5hbCI+JHtGKFApfTwvc3Bhbj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHt0aGlzLnNob3dRdWFudGl0eVNlbGVjdG9yP3dgCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnF1YW50aXR5fQogICAgICAgICAgICAgIEBjaGFuZ2VTdWJqZWN0PSR7Vz0+e3RoaXMucXVhbnRpdHk9Vy5kZXRhaWwuZ2V0VmFsdWUoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJxdWFudGl0eUNoYW5nZSIse2RldGFpbDp7cXVhbnRpdHk6dGhpcy5xdWFudGl0eSxwcm9kdWN0RGF0YTp0aGlzLnByb2R1Y3REYXRhfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfX0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yPgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfWhhbmRsZUNhcmRDbGljaygpe3RoaXMuc2VsZWN0YWJsZSYmKHRoaXMuc2VsZWN0ZWQ9IXRoaXMuc2VsZWN0ZWQsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VsZWN0aW9uQ2hhbmdlIix7ZGV0YWlsOntzZWxlY3RlZDp0aGlzLnNlbGVjdGVkLHByb2R1Y3REYXRhOnRoaXMucHJvZHVjdERhdGF9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSkpfWhhbmRsZVNlbGVjdGlvblRvZ2dsZSgpe3RoaXMuc2VsZWN0ZWQ9IXRoaXMuc2VsZWN0ZWQsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VsZWN0aW9uQ2hhbmdlIix7ZGV0YWlsOntzZWxlY3RlZDp0aGlzLnNlbGVjdGVkLHByb2R1Y3REYXRhOnRoaXMucHJvZHVjdERhdGF9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLEQxKHRoaXMsQyl9c3RhdGlje0QxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBDc2EsX3NhPWYoKCk9PntsZSgpO0FZZSgpO0NzYT1zKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICAke1hgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zaG9wcGluZy1ncmlkIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7CiAgICAgICAgICBnYXA6IDIwcHg7CiAgICAgICAgfQoKICAgICAgICAuY2FydC1zdW1tYXJ5IHsKICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE1IDIwLjIlIDIxLjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICB9CgogICAgICAgIC5jYXJ0LXN1bW1hcnktdGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2FydC1pdGVtIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgcGFkZGluZzogOHB4IDA7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjYuNyUpIiwiaHNsKDIxNy45IDEwLjYlIDc0LjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC5jYXJ0LXRvdGFsIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIFF1YW50aXR5IFNlbGVjdG9yIn0gLnN1YnRpdGxlPSR7IlNpbXBsZSBxdWFudGl0eSBpbnB1dCB3aXRoIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yCiAgICAgICAgICAgIC5sYWJlbD0keyJRdWFudGl0eSJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJTZWxlY3QgdGhlIGRlc2lyZWQgcXVhbnRpdHkifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiTWluaW11bSBvcmRlciBxdWFudGl0eSBpcyAxIGl0ZW0ifQogICAgICAgICAgICAudmFsdWU9JHsxfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgLmxhYmVsPSR7Ikl0ZW1zIGluIENhcnQifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiQWRqdXN0IHRoZSBxdWFudGl0eSBvZiBpdGVtcyJ9CiAgICAgICAgICAgIC52YWx1ZT0kezN9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3I+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJTaG9wcGluZyBDYXJ0In0gLnN1YnRpdGxlPSR7Ik1vZGVybiBlLWNvbW1lcmNlIHByb2R1Y3QgY2FyZHMgd2l0aCBpbnRlcmFjdGl2ZSBxdWFudGl0eSBzZWxlY3RvcnMifSAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9cygoKT0+e2xldCB0PWEucXVlcnlTZWxlY3RvcigiI2hlYWRwaG9uZXMtcXR5Iikscj1hLnF1ZXJ5U2VsZWN0b3IoIiNtb3VzZS1xdHkiKSxpPWEucXVlcnlTZWxlY3RvcigiI2tleWJvYXJkLXF0eSIpLG89dD8ucXVhbnRpdHl8fDAsbj1yPy5xdWFudGl0eXx8MCxsPWk/LnF1YW50aXR5fHwwLGQ9MzQ5Ljk5Km8sYz05OS45OSpuLHA9NzkuOTkqbCx1PWQrYytwLG09YS5xdWVyeVNlbGVjdG9yKCIjY2FydC1zdW1tYXJ5LWNvbnRlbnQiKTttJiYobS5pbm5lckhUTUw9YAogICAgICAgICAgICAgICR7bz4wP2A8ZGl2IGNsYXNzPSJjYXJ0LWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4+U29ueSBXSC0xMDAwWE01ICgke299KTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke2QudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+YDoiIn0KICAgICAgICAgICAgICAke24+MD9gPGRpdiBjbGFzcz0iY2FydC1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuPkxvZ2l0ZWNoIE1YIE1hc3RlciAzUyAoJHtufSk8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3Bhbj4kJHtjLnRvRml4ZWQoMil9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PmA6IiJ9CiAgICAgICAgICAgICAgJHtsPjA/YDxkaXYgY2xhc3M9ImNhcnQtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3Bhbj5LZXljaHJvbiBLMiAoJHtsfSk8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3Bhbj4kJHtwLnRvRml4ZWQoMil9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PmA6IiJ9CiAgICAgICAgICAgICAgJHt1PT09MD8nPGRpdiBjbGFzcz0iY2FydC1pdGVtIiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogIzk5OTsiPllvdXIgY2FydCBpcyBlbXB0eTwvZGl2Pic6IiJ9CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC10b3RhbCI+CiAgICAgICAgICAgICAgICA8c3Bhbj5Ub3RhbDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke3UudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfSwidXBkYXRlQ2FydFN1bW1hcnkiKTtzZXRUaW1lb3V0KGUsMTAwKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQiKS5mb3JFYWNoKHQ9Pnt0LmFkZEV2ZW50TGlzdGVuZXIoInF1YW50aXR5Q2hhbmdlIixlKX0pfX0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2hvcHBpbmctZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICBpZD0iaGVhZHBob25lcy1xdHkiCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJTb255IFdILTEwMDBYTTUgV2lyZWxlc3MgSGVhZHBob25lcyIsY2F0ZWdvcnk6IkF1ZGlvIixkZXNjcmlwdGlvbjoiSW5kdXN0cnktbGVhZGluZyBub2lzZSBjYW5jZWxpbmcgd2l0aCBBdXRvIE5DIE9wdGltaXplciIscHJpY2U6MzQ5Ljk5LG9yaWdpbmFsUHJpY2U6Mzk5Ljk5LGljb25OYW1lOiJsdWNpZGU6aGVhZHBob25lcyJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsxfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgaWQ9Im1vdXNlLXF0eSIKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IkxvZ2l0ZWNoIE1YIE1hc3RlciAzUyIsY2F0ZWdvcnk6IkFjY2Vzc29yaWVzIixkZXNjcmlwdGlvbjoiUGVyZm9ybWFuY2Ugd2lyZWxlc3MgbW91c2Ugd2l0aCB1bHRyYS1mYXN0IHNjcm9sbGluZyIscHJpY2U6OTkuOTksaWNvbk5hbWU6Imx1Y2lkZTptb3VzZS1wb2ludGVyIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezJ9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICBpZD0ia2V5Ym9hcmQtcXR5IgogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiS2V5Y2hyb24gSzIgV2lyZWxlc3MgTWVjaGFuaWNhbCBLZXlib2FyZCIsY2F0ZWdvcnk6IktleWJvYXJkcyIsZGVzY3JpcHRpb246IkNvbXBhY3QgNzUlIGxheW91dCB3aXRoIGhvdC1zd2FwcGFibGUgc3dpdGNoZXMiLHByaWNlOjc5Ljk5LG9yaWdpbmFsUHJpY2U6OTQuOTksaWNvbk5hbWU6Imx1Y2lkZTprZXlib2FyZCJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsxfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1zdW1tYXJ5Ij4KICAgICAgICAgIDxoMyBjbGFzcz0iY2FydC1zdW1tYXJ5LXRpdGxlIj5PcmRlciBTdW1tYXJ5PC9oMz4KICAgICAgICAgIDxkaXYgaWQ9ImNhcnQtc3VtbWFyeS1jb250ZW50Ij4KICAgICAgICAgICAgPCEtLSBDb250ZW50IHdpbGwgYmUgZHluYW1pY2FsbHkgdXBkYXRlZCAtLT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiUmVxdWlyZWQgJiBEaXNhYmxlZCBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHN0YXRlcyBmb3IgdmFsaWRhdGlvbiBhbmQgcmVzdHJpY3Rpb25zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgLmxhYmVsPSR7Ik51bWJlciBvZiBMaWNlbnNlcyJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJTZWxlY3QgaG93IG1hbnkgbGljZW5zZXMgeW91IG5lZWQifQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgLnZhbHVlPSR7MX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3Rvcj4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yCiAgICAgICAgICAgIC5sYWJlbD0keyJGaXhlZCBRdWFudGl0eSJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJUaGlzIHF1YW50aXR5IGNhbm5vdCBiZSBjaGFuZ2VkIn0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICAgIC52YWx1ZT0kezV9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3I+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJPcmRlciBGb3JtIn0gLnN1YnRpdGxlPSR7IkNvbXBsZXRlIG9yZGVyIGZvcm0gd2l0aCBxdWFudGl0eSBzZWxlY3Rpb24ifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiQ3VzdG9tZXIgTmFtZSJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIC5sYWJlbD0keyJQcm9kdWN0In0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkJhc2ljIFBsYW4iLCJQcm8gUGxhbiIsIkVudGVycHJpc2UgUGxhbiJdfQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yCiAgICAgICAgICAgIC5sYWJlbD0keyJRdWFudGl0eSJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJOdW1iZXIgb2YgbGljZW5zZXMifQogICAgICAgICAgICAudmFsdWU9JHsxfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiU3BlY2lhbCBJbnN0cnVjdGlvbnMifQogICAgICAgICAgICAuaW5wdXRUeXBlPSR7InRleHRhcmVhIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgLCJkZW1vRnVuYyIpfSk7dmFyIFRzYSxQWWUscmFlLEVZZT1mKCgpPT57bGUoKTtlYSgpO1NyKCk7X3NhKCk7UWUoKTtUc2E9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFBZZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0scmFlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yIildLGUsdD1bXSxyLGk9TXQsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dFF1YW50aXR5U2VsZWN0b3IiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk51bWJlcn0pXSxUc2EodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4idmFsdWUiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC52YWx1ZSwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnZhbHVlPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxUc2EobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1Dc2E7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPVBZZSh0aGlzLG4sMSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtQZSwuLi5NdC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgICAgOmhvc3QgewogICAgICAgICAgd2lkdGg6IGF1dG87CiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB9CgogICAgICAgIC5xdWFudGl0eS1jb250YWluZXIgewogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5xdWFudGl0eS1jb250YWluZXIuZGlzYWJsZWQgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIH0KCiAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lcjpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAucXVhbnRpdHktY29udGFpbmVyOmZvY3VzLXdpdGhpbiB7CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgICAgfQoKICAgICAgICAuc2VsZWN0b3IgewogICAgICAgICAgZmxleDogMCAwIDQwcHg7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgfQoKICAgICAgICAuc2VsZWN0b3I6aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3RvcjphY3RpdmUgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkxJSkiLCJoc2woMCAwJSAxMSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLnNlbGVjdG9yLm1pbnVzIHsKICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuc2VsZWN0b3IucGx1cyB7CiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAucXVhbnRpdHkgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwogICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNmVtOwogICAgICAgIH0KCiAgICAgICAgLyogS2V5Ym9hcmQgbmF2aWdhdGlvbiBmb2N1cyBzdHlsZXMgKi8KICAgICAgICAuc2VsZWN0b3I6Zm9jdXMgewogICAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgfQoKICAgICAgICAvKiBNaW4gdmFsdWUgc3RhdGUgKi8KICAgICAgICAucXVhbnRpdHktY29udGFpbmVyW2RhdGEtbWluPSJ0cnVlIl0gLnNlbGVjdG9yLm1pbnVzIHsKICAgICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgfQoKICAgICAgICAucXVhbnRpdHktY29udGFpbmVyW2RhdGEtbWluPSJ0cnVlIl0gLnNlbGVjdG9yLm1pbnVzOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgfQoKICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICAke3RoaXMubGFiZWw/d2A8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuaW5mb1RleHQ9JHt0aGlzLmluZm9UZXh0fSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+YDoiIn0KICAgICAgICA8ZGl2IAogICAgICAgICAgY2xhc3M9InF1YW50aXR5LWNvbnRhaW5lciAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgICBkYXRhLW1pbj0iJHt0aGlzLnZhbHVlPD0wfSIKICAgICAgICA+CiAgICAgICAgICA8ZGl2IAogICAgICAgICAgICBjbGFzcz0ic2VsZWN0b3IgbWludXMiIAogICAgICAgICAgICBAY2xpY2s9IiR7KCk9Pnt0aGlzLmRlY3JlYXNlKCl9fSIKICAgICAgICAgICAgdGFiaW5kZXg9IiR7dGhpcy5kaXNhYmxlZD8iLTEiOiIwIn0iCiAgICAgICAgICAgIEBrZXlkb3duPSIke2M9PnsoYy5rZXk9PT0iRW50ZXIifHxjLmtleT09PSIgIikmJihjLnByZXZlbnREZWZhdWx0KCksdGhpcy5kZWNyZWFzZSgpKX19IgogICAgICAgICAgICByb2xlPSJidXR0b24iCiAgICAgICAgICAgIGFyaWEtbGFiZWw9IkRlY3JlYXNlIHF1YW50aXR5IgogICAgICAgICAgPuKIkjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icXVhbnRpdHkiIGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLWF0b21pYz0idHJ1ZSI+JHt0aGlzLnZhbHVlfTwvZGl2PgogICAgICAgICAgPGRpdiAKICAgICAgICAgICAgY2xhc3M9InNlbGVjdG9yIHBsdXMiIAogICAgICAgICAgICBAY2xpY2s9IiR7KCk9Pnt0aGlzLmluY3JlYXNlKCl9fSIKICAgICAgICAgICAgdGFiaW5kZXg9IiR7dGhpcy5kaXNhYmxlZD8iLTEiOiIwIn0iCiAgICAgICAgICAgIEBrZXlkb3duPSIke2M9PnsoYy5rZXk9PT0iRW50ZXIifHxjLmtleT09PSIgIikmJihjLnByZXZlbnREZWZhdWx0KCksdGhpcy5pbmNyZWFzZSgpKX19IgogICAgICAgICAgICByb2xlPSJidXR0b24iCiAgICAgICAgICAgIGFyaWEtbGFiZWw9IkluY3JlYXNlIHF1YW50aXR5IgogICAgICAgICAgPis8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgICAgPC9kaXY+CiAgICBgfWluY3JlYXNlKCl7dGhpcy5kaXNhYmxlZHx8KHRoaXMudmFsdWUrKyx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSl9ZGVjcmVhc2UoKXshdGhpcy5kaXNhYmxlZCYmdGhpcy52YWx1ZT4wJiYodGhpcy52YWx1ZS0tLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKGMpe3RoaXMudmFsdWU9Y31jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksUFllKHRoaXMsbCl9c3RhdGlje1BZZShyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgTHNhLCRzYT1mKCgpPT57bGUoKTtOYSgpO1lzKCk7THNhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmRlbW8tZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5yZXN1bHQtZGlzcGxheSB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTA1LCAyNDIsIDAuMSk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjEuIEJhc2ljIFJhZGlvIEdyb3VwcyJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgc3RyaW5nIG9wdGlvbnMgZm9yIGNvbW1vbiB1c2UgY2FzZXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1ncmlkIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAgIC5sYWJlbD0keyJTdWJzY3JpcHRpb24gUGxhbiJ9CiAgICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkJhc2ljIC0gJDkvbW9udGgiLCJQcm8gLSAkMjkvbW9udGgiLCJFbnRlcnByaXNlIC0gJDk5L21vbnRoIl19CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IlBybyAtICQyOS9tb250aCJ9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkNob29zZSB5b3VyIHN1YnNjcmlwdGlvbiB0aWVyIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAgIC5sYWJlbD0keyJQcmlvcml0eSBMZXZlbCJ9CiAgICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkhpZ2giLCJNZWRpdW0iLCJMb3ciXX0KICAgICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiTWVkaXVtIn0KICAgICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIyLiBIb3Jpem9udGFsIExheW91dCJ9IC5zdWJ0aXRsZT0keyJSYWRpbyBncm91cHMgd2l0aCBob3Jpem9udGFsIGFycmFuZ2VtZW50In0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IkRvIHlvdSBhZ3JlZSB3aXRoIHRoZSB0ZXJtcz8ifQogICAgICAgICAgICAub3B0aW9ucz0ke1siWWVzIiwiTm8iLCJNYXliZSJdfQogICAgICAgICAgICAuZGlyZWN0aW9uPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiWWVzIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgIC5sYWJlbD0keyJFeHBlcmllbmNlIExldmVsIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkJlZ2lubmVyIiwiSW50ZXJtZWRpYXRlIiwiRXhwZXJ0Il19CiAgICAgICAgICAgIC5kaXJlY3Rpb249JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJJbnRlcm1lZGlhdGUifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiU2VsZWN0IHlvdXIgZXhwZXJpZW5jZSBsZXZlbCB3aXRoIHdlYiBkZXZlbG9wbWVudCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIzLiBBZHZhbmNlZCBPcHRpb25zIn0gLnN1YnRpdGxlPSR7IlVzaW5nIG9iamVjdCBmb3JtYXQgd2l0aCBrZXlzIGFuZCBwYXlsb2FkcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgIGlkPSJhZHZhbmNlZC1yYWRpbyIKICAgICAgICAgIC5sYWJlbD0keyJTZWxlY3QgUmVnaW9uIn0KICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlVuaXRlZCBTdGF0ZXMgKFVTIEVhc3QpIixrZXk6InVzLWVhc3QiLHBheWxvYWQ6e3JlZ2lvbjoidXMtZWFzdC0xIixsYXRlbmN5OjIwfX0se29wdGlvbjoiRXVyb3BlIChGcmFua2Z1cnQpIixrZXk6ImV1LWNlbnRyYWwiLHBheWxvYWQ6e3JlZ2lvbjoiZXUtY2VudHJhbC0xIixsYXRlbmN5OjUwfX0se29wdGlvbjoiQXNpYSBQYWNpZmljIChTaW5nYXBvcmUpIixrZXk6ImFwLXNvdXRoZWFzdCIscGF5bG9hZDp7cmVnaW9uOiJhcC1zb3V0aGVhc3QtMSIsbGF0ZW5jeToxMjB9fV19CiAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiZXUtY2VudHJhbCJ9CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQ2hvb3NlIHRoZSBjbG9zZXN0IHJlZ2lvbiBmb3Igb3B0aW1hbCBwZXJmb3JtYW5jZSJ9CiAgICAgICAgICBAY2hhbmdlPSR7YT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNyZWdpb24tcmVzdWx0Iik7ZSYmKGUudGV4dENvbnRlbnQ9IlNlbGVjdGVkOiAiK0pTT04uc3RyaW5naWZ5KGEuZGV0YWlsLnZhbHVlLG51bGwsMikpfX0KICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgPGRpdiBpZD0icmVnaW9uLXJlc3VsdCIgY2xhc3M9InJlc3VsdC1kaXNwbGF5Ij5TZWxlY3RlZDogeyAicmVnaW9uIjogImV1LWNlbnRyYWwtMSIsICJsYXRlbmN5IjogNTAgfTwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNC4gU3VydmV5IEV4YW1wbGUifSAuc3VidGl0bGU9JHsiTXVsdGlwbGUgcmFkaW8gZ3JvdXBzIGZvciBzdXJ2ZXlzIGFuZCBmb3JtcyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkhvdyBzYXRpc2ZpZWQgYXJlIHlvdT8ifQogICAgICAgICAgICAgIC5vcHRpb25zPSR7WyJWZXJ5IFNhdGlzZmllZCIsIlNhdGlzZmllZCIsIk5ldXRyYWwiLCJEaXNzYXRpc2ZpZWQiLCJWZXJ5IERpc3NhdGlzZmllZCJdfQogICAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJTYXRpc2ZpZWQifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgICAgLmxhYmVsPSR7IldvdWxkIHlvdSByZWNvbW1lbmQgdXM/In0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1siRGVmaW5pdGVseSIsIlByb2JhYmx5IiwiTm90IFN1cmUiLCJQcm9iYWJseSBOb3QiLCJEZWZpbml0ZWx5IE5vdCJdfQogICAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJQcm9iYWJseSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNS4gU3RhdGVzICYgVmFsaWRhdGlvbiJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIGFuZCB2YWxpZGF0aW9uIGV4YW1wbGVzIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tZ3JpZCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgICAubGFiZWw9JHsiUmVxdWlyZWQgU2VsZWN0aW9uIn0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1siT3B0aW9uIEEiLCJPcHRpb24gQiIsIk9wdGlvbiBDIl19CiAgICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIFN0YXRlIn0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1siRGlzYWJsZWQgT3B0aW9uIDEiLCJEaXNhYmxlZCBPcHRpb24gMiIsIkRpc2FibGVkIE9wdGlvbiAzIl19CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkRpc2FibGVkIE9wdGlvbiAyIn0KICAgICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI2LiBTZXR0aW5ncyBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IkNvbW1vbiBwYXR0ZXJucyBpbiBhcHBsaWNhdGlvbiBzZXR0aW5ncyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgIC5sYWJlbD0keyJUaGVtZSBQcmVmZXJlbmNlIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiTGlnaHQgVGhlbWUiLGtleToibGlnaHQiLHBheWxvYWQ6ImxpZ2h0In0se29wdGlvbjoiRGFyayBUaGVtZSIsa2V5OiJkYXJrIixwYXlsb2FkOiJkYXJrIn0se29wdGlvbjoiU3lzdGVtIERlZmF1bHQiLGtleToic3lzdGVtIixwYXlsb2FkOiJhdXRvIn1dfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiZGFyayJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJDaG9vc2UgaG93IHRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYXBwZWFyIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgIC5sYWJlbD0keyJOb3RpZmljYXRpb24gRnJlcXVlbmN5In0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkFsbCBOb3RpZmljYXRpb25zIiwiSW1wb3J0YW50IE9ubHkiLCJOb25lIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJJbXBvcnRhbnQgT25seSJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJDb250cm9sIGhvdyBvZnRlbiB5b3UgcmVjZWl2ZSBub3RpZmljYXRpb25zIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgIC5sYWJlbD0keyJMYW5ndWFnZSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJFbmdsaXNoIiwiR2VybWFuIiwiRnJlbmNoIiwiU3BhbmlzaCIsIkphcGFuZXNlIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJFbmdsaXNoIn0KICAgICAgICAgICAgLmRpcmVjdGlvbj0keyJob3Jpem9udGFsIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjcuIEZvcm0gSW50ZWdyYXRpb24ifSAuc3VidGl0bGU9JHsiV29ya3Mgc2VhbWxlc3NseSB3aXRoIGRlZXMtZm9ybSJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJQcm9kdWN0IE5hbWUifQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgLmtleT0keyJwcm9kdWN0TmFtZSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IlByb2R1Y3QgQ2F0ZWdvcnkifQogICAgICAgICAgICAub3B0aW9ucz0ke1siRWxlY3Ryb25pY3MiLCJDbG90aGluZyIsIkJvb2tzIiwiSG9tZSAmIEdhcmRlbiIsIlNwb3J0cyJdfQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgLmtleT0keyJjYXRlZ29yeSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IkNvbmRpdGlvbiJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJOZXciLCJMaWtlIE5ldyIsIkdvb2QiLCJGYWlyIiwiUG9vciJdfQogICAgICAgICAgICAuZGlyZWN0aW9uPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAua2V5PSR7ImNvbmRpdGlvbiJ9CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJOZXcifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgIC5sYWJlbD0keyJTaGlwcGluZyBTcGVlZCJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlN0YW5kYXJkICg1LTcgZGF5cykiLGtleToic3RhbmRhcmQiLHBheWxvYWQ6e2RheXM6NyxwcmljZTowfX0se29wdGlvbjoiRXhwcmVzcyAoMi0zIGRheXMpIixrZXk6ImV4cHJlc3MiLHBheWxvYWQ6e2RheXM6MyxwcmljZToxMH19LHtvcHRpb246Ik92ZXJuaWdodCIsa2V5OiJvdmVybmlnaHQiLHBheWxvYWQ6e2RheXM6MSxwcmljZToyNX19XX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7InN0YW5kYXJkIn0KICAgICAgICAgICAgLmtleT0keyJzaGlwcGluZyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IC50ZXh0PSR7IlN1Ym1pdCBQcm9kdWN0In0+PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgRFUsdWMsc2FlLGlhZT1mKCgpPT57bGUoKTtTcigpOyRzYSgpO1FlKCk7RFU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHVjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxzYWU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LXJhZGlvZ3JvdXAiKV0sZSx0PVtdLHIsaT1NdCxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0UmFkaW9ncm91cCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBrPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCgpXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLERVKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3B0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ib3B0aW9ucyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLm9wdGlvbnMsImdldCIpLHNldDpzKChDLE4pPT57Qy5vcHRpb25zPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSxEVSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkT3B0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJzZWxlY3RlZE9wdGlvbiJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnNlbGVjdGVkT3B0aW9uLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0Muc2VsZWN0ZWRPcHRpb249Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLERVKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlyZWN0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJkaXJlY3Rpb24iaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5kaXJlY3Rpb24sImdldCIpLHNldDpzKChDLE4pPT57Qy5kaXJlY3Rpb249Tn0sInNldCIpfSxtZXRhZGF0YTprfSxtLHYpLERVKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblN0YXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJ2YWxpZGF0aW9uU3RhdGUiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy52YWxpZGF0aW9uU3RhdGUsImdldCIpLHNldDpzKChDLE4pPT57Qy52YWxpZGF0aW9uU3RhdGU9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxiLGcpLERVKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmt9LG51bGwsdCkseT1yPWUudmFsdWUsayYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTprfSl9c3RhdGljIGRlbW89THNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT11Yyh0aGlzLG4sW10pO2dldCBvcHRpb25zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG9wdGlvbnMoayl7dGhpcy4jZT1rfSN0PSh1Yyh0aGlzLGwpLHVjKHRoaXMsYywiIikpO2dldCBzZWxlY3RlZE9wdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZE9wdGlvbihrKXt0aGlzLiN0PWt9I2E9KHVjKHRoaXMscCksdWModGhpcyxtLCJ2ZXJ0aWNhbCIpKTtnZXQgZGlyZWN0aW9uKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGRpcmVjdGlvbihrKXt0aGlzLiNhPWt9I3I9KHVjKHRoaXMsdiksdWModGhpcyxiLG51bGwpKTtnZXQgdmFsaWRhdGlvblN0YXRlKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHZhbGlkYXRpb25TdGF0ZShrKXt0aGlzLiNyPWt9Z2V0IHZhbHVlKCl7bGV0IGs9dGhpcy5nZXRPcHRpb25CeUtleSh0aGlzLnNlbGVjdGVkT3B0aW9uKTtyZXR1cm4gdHlwZW9mIGs9PSJvYmplY3QiJiZrLnBheWxvYWQhPT12b2lkIDA/ay5wYXlsb2FkOnRoaXMuc2VsZWN0ZWRPcHRpb259c2V0IHZhbHVlKGspe2lmKHR5cGVvZiBrPT0ic3RyaW5nIil0aGlzLnNlbGVjdGVkT3B0aW9uPWs7ZWxzZXtsZXQgQz10aGlzLm9wdGlvbnMuZmluZChOPT50eXBlb2YgTj09Im9iamVjdCImJk4ucGF5bG9hZD09PWspO0MmJnR5cGVvZiBDPT0ib2JqZWN0IiYmKHRoaXMuc2VsZWN0ZWRPcHRpb249Qy5rZXkpfX1zdGF0aWMgc3R5bGVzPVtQZSwuLi5NdC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCBzYW5zLXNlcmlmOwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTBweDsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIuaG9yaXpvbnRhbCB7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAyMHB4OwogICAgICB9CgogICAgICAucmFkaW8tb3B0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIHBhZGRpbmc6IDZweCAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyLmhvcml6b250YWwgLnJhZGlvLW9wdGlvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDIwcHggNnB4IDA7CiAgICAgIH0KCiAgICAgIC5yYWRpby1vcHRpb246aG92ZXIgLnJhZGlvLWNpcmNsZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAyMC4yJSA2NS4xJSkiLCJoc2woMjE1IDIwLjIlIDM1LjElKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxMS44JSkiKX07CiAgICAgIH0KCiAgICAgIC5yYWRpby1vcHRpb246aG92ZXIgLnJhZGlvLWxhYmVsIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICB9CgogICAgICAucmFkaW8tY2lyY2xlIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMzAlIDYuOCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbi5zZWxlY3RlZCAucmFkaW8tY2lyY2xlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgIH0KCiAgICAgIC5yYWRpby1vcHRpb24uc2VsZWN0ZWQgLnJhZGlvLWNpcmNsZTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDMwJSA2LjglKSIpfTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIC5yYWRpby1vcHRpb24uc2VsZWN0ZWQgLnJhZGlvLWNpcmNsZTo6YWZ0ZXIgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgIH0KCiAgICAgIC5yYWRpby1jaXJjbGU6Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxNSAzMCUgMy45JSkiKX0sCiAgICAgICAgICAgICAgICAgICAgMCAwIDAgNHB4ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgfQoKICAgICAgLnJhZGlvLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjYuNyUpIiwiaHNsKDIxNy45IDEwLjYlIDc0LjklKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNmVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICB9CgogICAgICAucmFkaW8tb3B0aW9uLnNlbGVjdGVkIC5yYWRpby1sYWJlbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnJhZGlvLW9wdGlvbiB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC5yYWRpby1vcHRpb246aG92ZXIgLnJhZGlvLWNpcmNsZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAyMC4yJSA2NS4xJSkiLCJoc2woMjE1IDIwLjIlIDM1LjElKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDMwJSA2LjglKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnJhZGlvLW9wdGlvbjpob3ZlciAucmFkaW8tbGFiZWwgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgNzQuOSUpIil9OwogICAgICB9CgogICAgICAubGFiZWwtdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMDZlbTsKICAgICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgICAgfQoKICAgICAgLyogVmFsaWRhdGlvbiBzdHlsZXMgKi8KICAgICAgOmhvc3QoW3ZhbGlkYXRpb25TdGF0ZT0iaW52YWxpZCJdKSAucmFkaW8tY2lyY2xlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSAzMC42JSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFt2YWxpZGF0aW9uU3RhdGU9ImludmFsaWQiXSkgLnJhZGlvLW9wdGlvbi5zZWxlY3RlZCAucmFkaW8tY2lyY2xlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSAzMC42JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDMwLjYlKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZhbGlkYXRpb25TdGF0ZT0idmFsaWQiXSkgLnJhZGlvLW9wdGlvbi5zZWxlY3RlZCAucmFkaW8tY2lyY2xlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIiwiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIsImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFt2YWxpZGF0aW9uU3RhdGU9Indhcm4iXSkgLnJhZGlvLW9wdGlvbi5zZWxlY3RlZCAucmFkaW8tY2lyY2xlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woNDUuNCA5My40JSA0Ny41JSkiLCJoc2woNDUuNCA5My40JSA0Ny41JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIsImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLyogT3ZlcnJpZGUgYmFzZSBncmlkIGxheW91dCBmb3IgcmFkaW9ncm91cCB0byBwcmV2ZW50IGxhcmdlIGdhcHMgKi8KICAgICAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSJsZWZ0Il0pIC5pbnB1dC13cmFwcGVyIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bzsKICAgICAgfQoKICAgICAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSJyaWdodCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICAke3RoaXMubGFiZWw/d2A8ZGl2IGNsYXNzPSJsYWJlbC10ZXh0Ij4ke3RoaXMubGFiZWx9PC9kaXY+YDoiIn0KICAgICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyICR7dGhpcy5kaXJlY3Rpb259Ij4KICAgICAgICAgICR7dGhpcy5vcHRpb25zLm1hcChrPT57bGV0IEM9dGhpcy5nZXRPcHRpb25LZXkoayksTj10aGlzLmdldE9wdGlvbkxhYmVsKGspLF89dGhpcy5zZWxlY3RlZE9wdGlvbj09PUM7cmV0dXJuIHdgCiAgICAgICAgICAgICAgPGRpdiAKICAgICAgICAgICAgICAgIGNsYXNzPSJyYWRpby1vcHRpb24gJHtfPyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICAgICAgQGNsaWNrPSIkeygpPT50aGlzLnNlbGVjdE9wdGlvbihDKX0iCiAgICAgICAgICAgICAgICBAa2V5ZG93bj0iJHt6PT50aGlzLmhhbmRsZUtleWRvd24oeixDKX0iCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRpdiAKICAgICAgICAgICAgICAgICAgY2xhc3M9InJhZGlvLWNpcmNsZSIgCiAgICAgICAgICAgICAgICAgIHRhYmluZGV4PSIke3RoaXMuZGlzYWJsZWQ/Ii0xIjoiMCJ9IgogICAgICAgICAgICAgICAgICByb2xlPSJyYWRpbyIKICAgICAgICAgICAgICAgICAgYXJpYS1jaGVja2VkPSIke199IgogICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSIke059IgogICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFkaW8tbGFiZWwiPiR7Tn08L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0pfQogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9Z2V0T3B0aW9uS2V5KGspe3JldHVybiB0eXBlb2Ygaz09InN0cmluZyI/azprLmtleX1nZXRPcHRpb25MYWJlbChrKXtyZXR1cm4gdHlwZW9mIGs9PSJzdHJpbmciP2s6ay5vcHRpb259Z2V0T3B0aW9uQnlLZXkoayl7cmV0dXJuIHRoaXMub3B0aW9ucy5maW5kKEM9PnRoaXMuZ2V0T3B0aW9uS2V5KEMpPT09ayl9c2VsZWN0T3B0aW9uKGspe2lmKHRoaXMuZGlzYWJsZWQpcmV0dXJuO2xldCBDPXRoaXMuc2VsZWN0ZWRPcHRpb247dGhpcy5zZWxlY3RlZE9wdGlvbj1rLEMhPT1rJiYodGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2hhbmdlIix7ZGV0YWlsOnt2YWx1ZTp0aGlzLnZhbHVlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImlucHV0Iix7ZGV0YWlsOnt2YWx1ZTp0aGlzLnZhbHVlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKGspe3RoaXMudmFsdWU9a31hc3luYyB2YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJlcXVpcmVkJiYhdGhpcy5zZWxlY3RlZE9wdGlvbj8odGhpcy52YWxpZGF0aW9uU3RhdGU9ImludmFsaWQiLCExKToodGhpcy52YWxpZGF0aW9uU3RhdGU9InZhbGlkIiwhMCl9YXN5bmMgZmlyc3RVcGRhdGVkKCl7aWYoIXRoaXMuc2VsZWN0ZWRPcHRpb24mJnRoaXMub3B0aW9ucy5sZW5ndGg+MCYmIXRoaXMucmVxdWlyZWQpe2xldCBrPXRoaXMub3B0aW9uc1swXTt0aGlzLnNlbGVjdGVkT3B0aW9uPXRoaXMuZ2V0T3B0aW9uS2V5KGspfX1oYW5kbGVLZXlkb3duKGssQyl7dGhpcy5kaXNhYmxlZHx8KGsua2V5PT09IiAifHxrLmtleT09PSJFbnRlciI/KGsucHJldmVudERlZmF1bHQoKSx0aGlzLnNlbGVjdE9wdGlvbihDKSk6ay5rZXk9PT0iQXJyb3dEb3duInx8ay5rZXk9PT0iQXJyb3dSaWdodCI/KGsucHJldmVudERlZmF1bHQoKSx0aGlzLmZvY3VzTmV4dE9wdGlvbigpKTooay5rZXk9PT0iQXJyb3dVcCJ8fGsua2V5PT09IkFycm93TGVmdCIpJiYoay5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXNQcmV2aW91c09wdGlvbigpKSl9Zm9jdXNOZXh0T3B0aW9uKCl7bGV0IGs9QXJyYXkuZnJvbSh0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgiLnJhZGlvLWNpcmNsZSIpKSxOPShrLmZpbmRJbmRleChfPT5fPT09dGhpcy5zaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQpKzEpJWsubGVuZ3RoO2tbTl0uZm9jdXMoKX1mb2N1c1ByZXZpb3VzT3B0aW9uKCl7bGV0IGs9QXJyYXkuZnJvbSh0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgiLnJhZGlvLWNpcmNsZSIpKSxDPWsuZmluZEluZGV4KF89Pl89PT10aGlzLnNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudCksTj1DPD0wP2subGVuZ3RoLTE6Qy0xO2tbTl0uZm9jdXMoKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdWModGhpcyxnKX1zdGF0aWN7dWMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIERzYSxBc2E9ZigoKT0+e2xlKCk7RHNhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAyNHB4OwogICAgICBwYWRkaW5nOiAyNHB4OwogICAgfQogICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMTJweDsKICAgIH0KICAgIC5kZW1vLXNlY3Rpb24gaDMgewogICAgICBtYXJnaW46IDAgMCA4cHggMDsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgICBjb2xvcjogIzg4ODsKICAgIH0KICAgIC5kZW1vLXJvdyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogMTJweDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkJhc2ljIFVzYWdlPC9oMz4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1yb3ciPgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PlN1Ym1pdCBGb3JtPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHRleHQ9IldpdGggVGV4dCBQcm9wZXJ0eSI+PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5XaXRoIEljb25zIChpbmhlcml0ZWQgZnJvbSBEZWVzQnV0dG9uKTwvaDM+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBpY29uPSJsdWNpZGU6c2VuZCI+U3VibWl0PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IGljb249Imx1Y2lkZTpzYXZlIiBpY29uUG9zaXRpb249ImxlZnQiPlNhdmUgRm9ybTwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBpY29uPSJsdWNpZGU6YXJyb3ctcmlnaHQiIGljb25Qb3NpdGlvbj0icmlnaHQiPkNvbnRpbnVlPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5CdXR0b24gVHlwZXM8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXJvdyI+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgdHlwZT0iaGlnaGxpZ2h0ZWQiIGljb249Imx1Y2lkZTpzZW5kIj5IaWdobGlnaHRlZDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCB0eXBlPSJub3JtYWwiIGljb249Imx1Y2lkZTpzZW5kIj5Ob3JtYWw8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgdHlwZT0iZGlzY3JlZXQiIGljb249Imx1Y2lkZTpzZW5kIj5EaXNjcmVldDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+U2l6ZXM8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXJvdyI+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgc2l6ZT0ic21hbGwiIGljb249Imx1Y2lkZTpzZW5kIj5TbWFsbDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzaXplPSJub3JtYWwiIGljb249Imx1Y2lkZTpzZW5kIj5Ob3JtYWw8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgc2l6ZT0ibGFyZ2UiIGljb249Imx1Y2lkZTpzZW5kIj5MYXJnZTwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+U3RhdGVzPC9oMz4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1yb3ciPgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHN0YXR1cz0ibm9ybWFsIiBpY29uPSJsdWNpZGU6c2VuZCI+Tm9ybWFsPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHN0YXR1cz0icGVuZGluZyIgaWNvbj0ibHVjaWRlOnNlbmQiPlBlbmRpbmc8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgc3RhdHVzPSJzdWNjZXNzIiBpY29uPSJsdWNpZGU6Y2hlY2siPlN1Y2Nlc3M8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgc3RhdHVzPSJlcnJvciIgaWNvbj0ibHVjaWRlOngiPkVycm9yPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IGRpc2FibGVkIGljb249Imx1Y2lkZTpzZW5kIj5EaXNhYmxlZDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+SW4gYSBGb3JtIENvbnRleHQ8L2gzPgogICAgICA8ZGVlcy1mb3JtPgogICAgICAgIDxkZWVzLWlucHV0LXRleHQgbGFiZWw9Ik5hbWUiIGtleT0ibmFtZSI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBsYWJlbD0iRW1haWwiIGtleT0iZW1haWwiPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IGljb249Imx1Y2lkZTpzZW5kIiB0eXBlPSJoaWdobGlnaHRlZCI+U3VibWl0IEZvcm08L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgIDwvZGVlcy1mb3JtPgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgbDQsWWksb2FlLFRmPWYoKCk9PntBc2EoKTtsZSgpO1FlKCk7bDQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFlpPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxvYWU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWZvcm0tc3VibWl0IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W107dmFyIEI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNGb3JtU3VibWl0Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IE09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0seD1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSx5PVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLE49WyQoe3R5cGU6U3RyaW5nfSldLE89WyQoe3R5cGU6U3RyaW5nfSldLGw0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlzYWJsZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImRpc2FibGVkImluIFMsImhhcyIpLGdldDpzKFM9PlMuZGlzYWJsZWQsImdldCIpLHNldDpzKChTLEUpPT57Uy5kaXNhYmxlZD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksbDQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0ZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0ZXh0ImluIFMsImhhcyIpLGdldDpzKFM9PlMudGV4dCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnRleHQ9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxjLHApLGw0KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzdGF0dXMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zdGF0dXMsImdldCIpLHNldDpzKChTLEUpPT57Uy5zdGF0dXM9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxtLHYpLGw0KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idHlwZSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnR5cGUsImdldCIpLHNldDpzKChTLEUpPT57Uy50eXBlPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixnKSxsNCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InNpemUiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zaXplLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1Muc2l6ZT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGssQyksbDQodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJpY29uImluIFMsImhhcyIpLGdldDpzKFM9PlMuaWNvbiwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLmljb249RX0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLGw0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaWNvblBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJpY29uUG9zaXRpb24iaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5pY29uUG9zaXRpb24sImdldCIpLHNldDpzKChTLEUpPT57Uy5pY29uUG9zaXRpb249RX0sInNldCIpfSxtZXRhZGF0YTpNfSxULFApLGw0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89RHNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiRm9ybSIsIkJ1dHRvbiJdOyNlPVlpKHRoaXMsbiwhMSk7Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRpc2FibGVkKE0pe3RoaXMuI2U9TX0jdD0oWWkodGhpcyxsKSxZaSh0aGlzLGMsdm9pZCAwKSk7Z2V0IHRleHQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdGV4dChNKXt0aGlzLiN0PU19I2E9KFlpKHRoaXMscCksWWkodGhpcyxtLCJub3JtYWwiKSk7Z2V0IHN0YXR1cygpe3JldHVybiB0aGlzLiNhfXNldCBzdGF0dXMoTSl7dGhpcy4jYT1NfSNyPShZaSh0aGlzLHYpLFlpKHRoaXMsYiwiZGVmYXVsdCIpKTtnZXQgdHlwZSgpe3JldHVybiB0aGlzLiNyfXNldCB0eXBlKE0pe3RoaXMuI3I9TX0jcz0oWWkodGhpcyxnKSxZaSh0aGlzLGssImRlZmF1bHQiKSk7Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy4jc31zZXQgc2l6ZShNKXt0aGlzLiNzPU19I2k9KFlpKHRoaXMsQyksWWkodGhpcyxfLHZvaWQgMCkpO2dldCBpY29uKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGljb24oTSl7dGhpcy4jaT1NfSNvPShZaSh0aGlzLHopLFlpKHRoaXMsVCwibGVmdCIpKTtnZXQgaWNvblBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI299c2V0IGljb25Qb3NpdGlvbihNKXt0aGlzLiNvPU19Y29uc3RydWN0b3IoKXtzdXBlcigpLFlpKHRoaXMsUCl9c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KICAgICAgZGVlcy1idXR0b24gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtYnV0dG9uCiAgICAgICAgLnN0YXR1cz0ke3RoaXMuc3RhdHVzfQogICAgICAgIC50eXBlPSR7dGhpcy50eXBlfQogICAgICAgIC5zaXplPSR7dGhpcy5zaXplfQogICAgICAgIC5pY29uPSR7dGhpcy5pY29ufQogICAgICAgIC5pY29uUG9zaXRpb249JHt0aGlzLmljb25Qb3NpdGlvbn0KICAgICAgICAudGV4dD0ke3RoaXMudGV4dH0KICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgIEBjbGlja2VkPSR7dGhpcy5zdWJtaXR9CiAgICAgID48L2RlZXMtYnV0dG9uPgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZighdGhpcy50ZXh0KXtsZXQgTT10aGlzLnRleHRDb250ZW50Py50cmltKCk7TSYmKHRoaXMudGV4dD1NKX19YXN5bmMgc3VibWl0KCl7aWYodGhpcy5kaXNhYmxlZClyZXR1cm47bGV0IE09dGhpcy5jbG9zZXN0KCJkZWVzLWZvcm0iKTtNJiZNLmdhdGhlckFuZERpc3BhdGNoJiZNLmdhdGhlckFuZERpc3BhdGNoKCl9YXN5bmMgZm9jdXMoKXtsZXQgTT1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTt0aGlzLmRpc2FibGVkfHwoYXdhaXQgTS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMuc3VibWl0KCkpfXN0YXRpY3tZaShyLHQpfX07cmV0dXJuIEI9cn0pKCl9KTt2YXIgUHNhLEVzYT1mKCgpPT57bGUoKTtOYSgpO1lzKCk7aW0oKTtUZigpO1BzYT1zKCgpPT53YAogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgICAKICAgICAgLmhvcml6b250YWwtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIAogICAgICAuc3BhY2VyIHsKICAgICAgICBoZWlnaHQ6IDIwMHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogIzk5OTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KICAKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRyb3Bkb3duW2xhYmVsPSJTZWxlY3QgQ291bnRyeSJdJyksdD1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtZHJvcGRvd25bbGFiZWw9IlNlbGVjdCBSb2xlIl0nKTtlJiZlLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGVkT3B0aW9uIiwocj0+e2NvbnNvbGUubG9nKCJDb3VudHJ5IHNlbGVjdGVkOiIsci5kZXRhaWwpfSkpLHQmJnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0ZWRPcHRpb24iLChyPT57Y29uc29sZS5sb2coIlJvbGUgc2VsZWN0ZWQ6IixyLmRldGFpbCl9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjEuIEJhc2ljIERyb3Bkb3ducyJ9IC5zdWJ0aXRsZT0keyJTdGFuZGFyZCBkcm9wZG93biB3aXRoIHNlYXJjaCBmdW5jdGlvbmFsaXR5IGFuZCB2YXJpb3VzIG9wdGlvbnMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IlNlbGVjdCBDb3VudHJ5In0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkNob29zZSB0aGUgY291bnRyeSB3aGVyZSB5b3VyIGJ1c2luZXNzIGlzIHJlZ2lzdGVyZWQifQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJVbml0ZWQgU3RhdGVzIixrZXk6InVzIn0se29wdGlvbjoiQ2FuYWRhIixrZXk6ImNhIn0se29wdGlvbjoiR2VybWFueSIsa2V5OiJkZSJ9LHtvcHRpb246IkZyYW5jZSIsa2V5OiJmciJ9LHtvcHRpb246IlVuaXRlZCBLaW5nZG9tIixrZXk6InVrIn0se29wdGlvbjoiQXVzdHJhbGlhIixrZXk6ImF1In0se29wdGlvbjoiSmFwYW4iLGtleToianAifSx7b3B0aW9uOiJCcmF6aWwiLGtleToiYnIifV19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0ke3tvcHRpb246IlVuaXRlZCBTdGF0ZXMiLGtleToidXMifX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IlNlbGVjdCBSb2xlIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiQWRtaW5pc3RyYXRvciIsa2V5OiJhZG1pbiJ9LHtvcHRpb246IkVkaXRvciIsa2V5OiJlZGl0b3IifSx7b3B0aW9uOiJWaWV3ZXIiLGtleToidmlld2VyIn0se29wdGlvbjoiR3Vlc3QiLGtleToiZ3Vlc3QifV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZHJvcGRvd24iKTtlJiZlLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGVkT3B0aW9uIiwodD0+e2NvbnNvbGUubG9nKGBQcmlvcml0eSBjaGFuZ2VkIHRvOiAke3QuZGV0YWlsLm9wdGlvbn1gKX0pKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMi4gV2l0aG91dCBTZWFyY2gifSAuc3VidGl0bGU9JHsiRHJvcGRvd24gd2l0aCBzZWFyY2ggZnVuY3Rpb25hbGl0eSBkaXNhYmxlZCBmb3Igc2ltcGxlciBzZWxlY3Rpb24ifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgLmxhYmVsPSR7IlByaW9yaXR5IExldmVsIn0KICAgICAgICAgIC5lbmFibGVTZWFyY2g9JHshMX0KICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkhpZ2giLGtleToiaGlnaCJ9LHtvcHRpb246Ik1lZGl1bSIsa2V5OiJtZWRpdW0ifSx7b3B0aW9uOiJMb3ciLGtleToibG93In1dfQogICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiTWVkaXVtIixrZXk6Im1lZGl1bSJ9fQogICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC1kcm9wZG93biIpLmZvckVhY2godD0+e3QuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0ZWRPcHRpb24iLChyPT57bGV0IGk9dC5nZXRBdHRyaWJ1dGUoImxhYmVsIik7Y29uc29sZS5sb2coYCR7aX06ICR7ci5kZXRhaWwub3B0aW9ufWApfSkpfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjMuIEhvcml6b250YWwgTGF5b3V0In0gLnN1YnRpdGxlPSR7Ik11bHRpcGxlIGRyb3Bkb3ducyBpbiBhIGhvcml6b250YWwgbGF5b3V0IGZvciBjb21wYWN0IGZvcm1zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkaXYgY2xhc3M9Imhvcml6b250YWwtZ3JvdXAiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAgIC5sYWJlbD0keyJEZXBhcnRtZW50In0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJFbmdpbmVlcmluZyIsa2V5OiJlbmcifSx7b3B0aW9uOiJEZXNpZ24iLGtleToiZGVzaWduIn0se29wdGlvbjoiTWFya2V0aW5nIixrZXk6Im1hcmtldGluZyJ9LHtvcHRpb246IlNhbGVzIixrZXk6InNhbGVzIn1dfQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgICAubGFiZWw9JHsiVGVhbSBTaXplIn0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAuZW5hYmxlU2VhcmNoPSR7ITF9CiAgICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiMS01IixrZXk6InNtYWxsIn0se29wdGlvbjoiNi0yMCIsa2V5OiJtZWRpdW0ifSx7b3B0aW9uOiIyMS01MCIsa2V5OiJsYXJnZSJ9LHtvcHRpb246IjUwKyIsa2V5OiJ4bGFyZ2UifV19CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAgIC5sYWJlbD0keyJMb2NhdGlvbiJ9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiUmVtb3RlIixrZXk6InJlbW90ZSJ9LHtvcHRpb246Ik9uLXNpdGUiLGtleToib25zaXRlIn0se29wdGlvbjoiSHlicmlkIixrZXk6Imh5YnJpZCJ9XX0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZHJvcGRvd25bcmVxdWlyZWRdIik7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e2NvbnNvbGUubG9nKCJSZXF1aXJlZCBkcm9wZG93biBsb3N0IGZvY3VzIil9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNC4gU3RhdGVzIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCBzdGF0ZXMgYW5kIGNvbmZpZ3VyYXRpb25zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIC5sYWJlbD0keyJSZXF1aXJlZCBGaWVsZCJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJPcHRpb24gQSIsa2V5OiJhIn0se29wdGlvbjoiT3B0aW9uIEIiLGtleToiYiJ9LHtvcHRpb246Ik9wdGlvbiBDIixrZXk6ImMifV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgoKICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIC5sYWJlbD0keyJEaXNhYmxlZCBEcm9wZG93biJ9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJDYW5ub3QgU2VsZWN0IixrZXk6ImRpc2FibGVkIn1dfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHt7b3B0aW9uOiJDYW5ub3QgU2VsZWN0IixrZXk6ImRpc2FibGVkIn19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkaXYgY2xhc3M9InNwYWNlciI+CiAgICAgIChTcGFjZXIgdG8gdGVzdCBkcm9wZG93biBwb3NpdGlvbmluZykKICAgIDwvZGl2PgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRyb3Bkb3duIik7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlZE9wdGlvbiIsKHQ9Pntjb25zb2xlLmxvZygiQm90dG9tIGRyb3Bkb3duIHNlbGVjdGVkOiIsdC5kZXRhaWwpfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI1LiBCb3R0b20gUG9zaXRpb25pbmcifSAuc3VidGl0bGU9JHsiRHJvcGRvd24gdGhhdCBvcGVucyB1cHdhcmQgd2hlbiBuZWFyIGJvdHRvbSBvZiB2aWV3cG9ydCJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAubGFiZWw9JHsiT3BlbnMgVXB3YXJkIn0KICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkZpcnN0IE9wdGlvbiIsa2V5OiJmaXJzdCJ9LHtvcHRpb246IlNlY29uZCBPcHRpb24iLGtleToic2Vjb25kIn0se29wdGlvbjoiVGhpcmQgT3B0aW9uIixrZXk6InRoaXJkIn0se29wdGlvbjoiRm91cnRoIE9wdGlvbiIsa2V5OiJmb3VydGgifSx7b3B0aW9uOiJGaWZ0aCBPcHRpb24iLGtleToiZmlmdGgifV19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZHJvcGRvd24iKSx0PWEucXVlcnlTZWxlY3RvcigiI3NlbGVjdGlvbi1vdXRwdXQiKTtlJiZ0JiYodC5pbm5lckhUTUw9IjxlbT5TZWxlY3QgYSBwcm9kdWN0IHRvIHNlZSBkZXRhaWxzLi4uPC9lbT4iLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwocj0+e3IuZGV0YWlsLnZhbHVlJiYodC5pbm5lckhUTUw9YAogICAgICAgICAgICAgIDxzdHJvbmc+U2VsZWN0ZWQ6PC9zdHJvbmc+ICR7ci5kZXRhaWwudmFsdWUub3B0aW9ufTxicj4KICAgICAgICAgICAgICA8c3Ryb25nPktleTo8L3N0cm9uZz4gJHtyLmRldGFpbC52YWx1ZS5rZXl9PGJyPgogICAgICAgICAgICAgIDxzdHJvbmc+UHJpY2U6PC9zdHJvbmc+ICQke3IuZGV0YWlsLnZhbHVlLnBheWxvYWQ/LnByaWNlfHwiTi9BIn08YnI+CiAgICAgICAgICAgICAgPHN0cm9uZz5GZWF0dXJlczo8L3N0cm9uZz4gJHtyLmRldGFpbC52YWx1ZS5wYXlsb2FkPy5mZWF0dXJlcz8uam9pbigiLCAiKXx8Ik4vQSJ9CiAgICAgICAgICAgIGApfSkpKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNi4gRXZlbnQgSGFuZGxpbmcgJiBQYXlsb2FkIn0gLnN1YnRpdGxlPSR7IkRyb3Bkb3duIHdpdGggcGF5bG9hZCBkYXRhIGFuZCBjaGFuZ2UgZXZlbnQgaGFuZGxpbmcifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgLmxhYmVsPSR7IlNlbGVjdCBQcm9kdWN0In0KICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkJhc2ljIFBsYW4iLGtleToiYmFzaWMiLHBheWxvYWQ6e3ByaWNlOjkuOTksZmVhdHVyZXM6WyJGZWF0dXJlIEEiXX19LHtvcHRpb246IlBybyBQbGFuIixrZXk6InBybyIscGF5bG9hZDp7cHJpY2U6MTkuOTksZmVhdHVyZXM6WyJGZWF0dXJlIEEiLCJGZWF0dXJlIEIiXX19LHtvcHRpb246IkVudGVycHJpc2UgUGxhbiIsa2V5OiJlbnRlcnByaXNlIixwYXlsb2FkOntwcmljZTo0OS45OSxmZWF0dXJlczpbIkZlYXR1cmUgQSIsIkZlYXR1cmUgQiIsIkZlYXR1cmUgQyJdfX1dfQogICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0ic2VsZWN0aW9uLW91dHB1dCIgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7IHBhZGRpbmc6IDEycHg7IGJhY2tncm91bmQ6IHJnYmEoMCwgMTA1LCAyNDIsIDAuMSk7IGJvcmRlci1yYWRpdXM6IDRweDsgZm9udC1zaXplOiAxNHB4OyI+PC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKSx0PWEucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1kcm9wZG93bltrZXk9InByb2plY3RUeXBlIl0nKSxyPWEucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1kcm9wZG93bltrZXk9ImZyYW1ld29yayJdJyk7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsKGk9Pntjb25zb2xlLmxvZygiRm9ybSBzdWJtaXR0ZWQgd2l0aCBkYXRhOiIsaS5kZXRhaWwuZGF0YSl9KSksdCYmciYmdC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlZE9wdGlvbiIsKGk9PntsZXQgbz1pLmRldGFpbC5rZXk7Y29uc29sZS5sb2coYFByb2plY3QgdHlwZSBjaGFuZ2VkIHRvOiAke299YCl9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjcuIEZvcm0gSW50ZWdyYXRpb24ifSAuc3VidGl0bGU9JHsiRHJvcGRvd24gd29ya2luZyB3aXRoaW4gYSBmb3JtIHdpdGggdmFsaWRhdGlvbiJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAubGFiZWw9JHsiUHJvamVjdCBUeXBlIn0KICAgICAgICAgICAgLmtleT0keyJwcm9qZWN0VHlwZSJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJXZWIgQXBwbGljYXRpb24iLGtleToid2ViIn0se29wdGlvbjoiTW9iaWxlIEFwcGxpY2F0aW9uIixrZXk6Im1vYmlsZSJ9LHtvcHRpb246IkRlc2t0b3AgQXBwbGljYXRpb24iLGtleToiZGVza3RvcCJ9LHtvcHRpb246IkFQSSBTZXJ2aWNlIixrZXk6ImFwaSJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIC5sYWJlbD0keyJEZXZlbG9wbWVudCBGcmFtZXdvcmsifQogICAgICAgICAgICAua2V5PSR7ImZyYW1ld29yayJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJSZWFjdCIsa2V5OiJyZWFjdCIscGF5bG9hZDp7dHlwZToid2ViIn19LHtvcHRpb246IlZ1ZS5qcyIsa2V5OiJ2dWUiLHBheWxvYWQ6e3R5cGU6IndlYiJ9fSx7b3B0aW9uOiJBbmd1bGFyIixrZXk6ImFuZ3VsYXIiLHBheWxvYWQ6e3R5cGU6IndlYiJ9fSx7b3B0aW9uOiJSZWFjdCBOYXRpdmUiLGtleToicmVhY3QtbmF0aXZlIixwYXlsb2FkOnt0eXBlOiJtb2JpbGUifX0se29wdGlvbjoiRmx1dHRlciIsa2V5OiJmbHV0dGVyIixwYXlsb2FkOnt0eXBlOiJtb2JpbGUifX0se29wdGlvbjoiRWxlY3Ryb24iLGtleToiZWxlY3Ryb24iLHBheWxvYWQ6e3R5cGU6ImRlc2t0b3AifX1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgLnRleHQ9JHsiQ3JlYXRlIFByb2plY3QifT48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBBMSxKcixuYWUsSVllPWYoKCk9PntsZSgpO2VhKCk7R2koKTttcygpO1FlKCk7TTEoKTtBMT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sSnI9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LG5hZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtZHJvcGRvd24tcG9wdXAiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXSxCLE09W10sUz1bXSxFLEE9W10sRj1bXSxXLGo9W10sRz1bXTt2YXIgaGU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dERyb3Bkb3duUG9wdXAiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgUj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSx1PVskKHt0eXBlOkJvb2xlYW59KV0seD1bJCh7YXR0cmlidXRlOiExfSldLHk9WyQoe2F0dHJpYnV0ZTohMX0pXSxOPVtLKCldLE89W0soKV0sQj1bSygpXSxFPVtLKCldLFc9W0soKV0sQTEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJvcHRpb25zImluIFUsImhhcyIpLGdldDpzKFU9PlUub3B0aW9ucywiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5vcHRpb25zPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LG4sbCksQTEodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVTZWFyY2giLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImVuYWJsZVNlYXJjaCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmVuYWJsZVNlYXJjaCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5lbmFibGVTZWFyY2g9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sYyxwKSxBMSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9wZW5zVG9Ub3AiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+Im9wZW5zVG9Ub3AiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5vcGVuc1RvVG9wLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLm9wZW5zVG9Ub3A9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sbSx2KSxBMSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRyaWdnZXJSZWN0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJ0cmlnZ2VyUmVjdCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnRyaWdnZXJSZWN0LCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnRyaWdnZXJSZWN0PW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGIsZyksQTEodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvd25lckNvbXBvbmVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4ib3duZXJDb21wb25lbnQiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5vd25lckNvbXBvbmVudCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5vd25lckNvbXBvbmVudD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxrLEMpLEExKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsdGVyZWRPcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJmaWx0ZXJlZE9wdGlvbnMiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5maWx0ZXJlZE9wdGlvbnMsImdldCIpLHNldDpzKChVLG1lKT0+e1UuZmlsdGVyZWRPcHRpb25zPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LF8seiksQTEodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoaWdobGlnaHRlZEluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJoaWdobGlnaHRlZEluZGV4ImluIFUsImhhcyIpLGdldDpzKFU9PlUuaGlnaGxpZ2h0ZWRJbmRleCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5oaWdobGlnaHRlZEluZGV4PW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LFQsUCksQTEodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWFyY2hWYWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4ic2VhcmNoVmFsdWUiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5zZWFyY2hWYWx1ZSwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5zZWFyY2hWYWx1ZT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxNLFMpLEExKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudVpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4ibWVudVpJbmRleCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLm1lbnVaSW5kZXgsImdldCIpLHNldDpzKChVLG1lKT0+e1UubWVudVpJbmRleD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxBLEYpLEExKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4idmlzaWJsZSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnZpc2libGUsImdldCIpLHNldDpzKChVLG1lKT0+e1UudmlzaWJsZT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxqLEcpLEExKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlJ9LG51bGwsdCksaGU9cj1lLnZhbHVlLFImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Un0pfSNlPUpyKHRoaXMsbixbXSk7Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgb3B0aW9ucyhSKXt0aGlzLiNlPVJ9I3Q9KEpyKHRoaXMsbCksSnIodGhpcyxjLCEwKSk7Z2V0IGVuYWJsZVNlYXJjaCgpe3JldHVybiB0aGlzLiN0fXNldCBlbmFibGVTZWFyY2goUil7dGhpcy4jdD1SfSNhPShKcih0aGlzLHApLEpyKHRoaXMsbSwhMSkpO2dldCBvcGVuc1RvVG9wKCl7cmV0dXJuIHRoaXMuI2F9c2V0IG9wZW5zVG9Ub3AoUil7dGhpcy4jYT1SfSNyPShKcih0aGlzLHYpLEpyKHRoaXMsYixudWxsKSk7Z2V0IHRyaWdnZXJSZWN0KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHRyaWdnZXJSZWN0KFIpe3RoaXMuI3I9Un0jcz0oSnIodGhpcyxnKSxKcih0aGlzLGssbnVsbCkpO2dldCBvd25lckNvbXBvbmVudCgpe3JldHVybiB0aGlzLiNzfXNldCBvd25lckNvbXBvbmVudChSKXt0aGlzLiNzPVJ9I2k9KEpyKHRoaXMsQyksSnIodGhpcyxfLFtdKSk7Z2V0IGZpbHRlcmVkT3B0aW9ucygpe3JldHVybiB0aGlzLiNpfXNldCBmaWx0ZXJlZE9wdGlvbnMoUil7dGhpcy4jaT1SfSNvPShKcih0aGlzLHopLEpyKHRoaXMsVCwwKSk7Z2V0IGhpZ2hsaWdodGVkSW5kZXgoKXtyZXR1cm4gdGhpcy4jb31zZXQgaGlnaGxpZ2h0ZWRJbmRleChSKXt0aGlzLiNvPVJ9I249KEpyKHRoaXMsUCksSnIodGhpcyxNLCIiKSk7Z2V0IHNlYXJjaFZhbHVlKCl7cmV0dXJuIHRoaXMuI259c2V0IHNlYXJjaFZhbHVlKFIpe3RoaXMuI249Un0jbD0oSnIodGhpcyxTKSxKcih0aGlzLEEsMWUzKSk7Z2V0IG1lbnVaSW5kZXgoKXtyZXR1cm4gdGhpcy4jbH1zZXQgbWVudVpJbmRleChSKXt0aGlzLiNsPVJ9I2M9KEpyKHRoaXMsRiksSnIodGhpcyxqLCExKSk7Z2V0IHZpc2libGUoKXtyZXR1cm4gdGhpcy4jY31zZXQgdmlzaWJsZShSKXt0aGlzLiNjPVJ9d2luZG93TGF5ZXI9KEpyKHRoaXMsRyksbnVsbCk7aXNEZXN0cm95aW5nPSExO3N0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgfQoKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnNlbGVjdGlvbkJveCB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCkgc2NhbGUoMC45OCk7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCBoc2woMCAwJSAwJSAvIDAuMSksIDAgMnB4IDRweCAtMnB4IGhzbCgwIDAlIDAlIC8gMC4xKTsKICAgICAgICBtaW4taGVpZ2h0OiA0MHB4OwogICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAuc2VsZWN0aW9uQm94LnRvcCB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45OCk7CiAgICAgIH0KCiAgICAgIC5zZWxlY3Rpb25Cb3guc2hvdyB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5vcHRpb25zLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgIH0KCiAgICAgIC5vcHRpb24gewogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBtYXJnaW46IDJweCAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgfQoKICAgICAgLm9wdGlvbi5oaWdobGlnaHRlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQoKICAgICAgLm9wdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgIH0KCiAgICAgIC5uby1vcHRpb25zIHsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC5zZWFyY2ggewogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2ggaW5wdXQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnNlYXJjaCBpbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICB9CgogICAgICAuc2VhcmNoIGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgfQoKICAgICAgLm9wdGlvbnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgfQoKICAgICAgLm9wdGlvbnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5vcHRpb25zLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB9CgogICAgICAub3B0aW9ucy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjAuOSUpIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtpZighdGhpcy50cmlnZ2VyUmVjdClyZXR1cm4gd2BgO2xldCBSPXRoaXMuY29tcHV0ZVBvc2l0aW9uU3R5bGUoKTtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJzZWxlY3Rpb25Cb3ggJHt0aGlzLnZpc2libGU/InNob3ciOiIifSAke3RoaXMub3BlbnNUb1RvcD8idG9wIjoiYm90dG9tIn0iCiAgICAgICAgc3R5bGU9IiR7Un07IHotaW5kZXg6ICR7dGhpcy5tZW51WkluZGV4fTsiCiAgICAgID4KICAgICAgICAke3RoaXMuZW5hYmxlU2VhcmNoP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoIj4KICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iU2VhcmNoIG9wdGlvbnMuLi4iCiAgICAgICAgICAgICAgICAgIC52YWx1ZT0iJHt0aGlzLnNlYXJjaFZhbHVlfSIKICAgICAgICAgICAgICAgICAgQGlucHV0PSIke3RoaXMuaGFuZGxlU2VhcmNofSIKICAgICAgICAgICAgICAgICAgQGNsaWNrPSIke1U9PlUuc3RvcFByb3BhZ2F0aW9uKCl9IgogICAgICAgICAgICAgICAgICBAa2V5ZG93bj0iJHt0aGlzLmhhbmRsZVNlYXJjaEtleWRvd259IgogICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDpudWxsfQogICAgICAgIDxkaXYgY2xhc3M9Im9wdGlvbnMtY29udGFpbmVyIj4KICAgICAgICAgICR7dGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoPT09MD93YDxkaXYgY2xhc3M9Im5vLW9wdGlvbnMiPk5vIG9wdGlvbnMgZm91bmQ8L2Rpdj5gOnRoaXMuZmlsdGVyZWRPcHRpb25zLm1hcCgoVSxtZSk9PntsZXQgST10aGlzLmhpZ2hsaWdodGVkSW5kZXg9PT1tZTtyZXR1cm4gd2AKICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcHRpb24gJHtJPyJoaWdobGlnaHRlZCI6IiJ9IgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+dGhpcy5zZWxlY3RPcHRpb24oVSl9IgogICAgICAgICAgICAgICAgICAgIEBtb3VzZWVudGVyPSIkeygpPT50aGlzLmhpZ2hsaWdodGVkSW5kZXg9bWV9IgogICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgJHtVLm9wdGlvbn0KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgfSl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1jb21wdXRlUG9zaXRpb25TdHlsZSgpe2xldCBSPXRoaXMudHJpZ2dlclJlY3QsVT1SLmxlZnQsbWU9Ui53aWR0aDtpZih0aGlzLm9wZW5zVG9Ub3Ape2xldCBJPXdpbmRvdy5pbm5lckhlaWdodC1SLnRvcCs0O3JldHVybmBsZWZ0OiAke1V9cHg7IHdpZHRoOiAke21lfXB4OyBib3R0b206ICR7SX1weDsgdG9wOiBhdXRvYH1lbHNle2xldCBJPVIuYm90dG9tKzQ7cmV0dXJuYGxlZnQ6ICR7VX1weDsgd2lkdGg6ICR7bWV9cHg7IHRvcDogJHtJfXB4YH19YXN5bmMgc2hvdygpe3RoaXMuZmlsdGVyZWRPcHRpb25zPXRoaXMub3B0aW9ucyx0aGlzLmhpZ2hsaWdodGVkSW5kZXg9MCx0aGlzLnNlYXJjaFZhbHVlPSIiLHRoaXMud2luZG93TGF5ZXI9YXdhaXQgR3MuY3JlYXRlQW5kU2hvdygpLHRoaXMud2luZG93TGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xvc2UtcmVxdWVzdCIpKX0pLHRoaXMubWVudVpJbmRleD1YdC5nZXROZXh0WkluZGV4KCksWHQucmVnaXN0ZXIodGhpcyx0aGlzLm1lbnVaSW5kZXgpLHRoaXMuc3R5bGUuekluZGV4PXRoaXMubWVudVpJbmRleC50b1N0cmluZygpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcyksYXdhaXQgSHQuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLnZpc2libGU9ITAsd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5oYW5kbGVTY3JvbGxPclJlc2l6ZSx7Y2FwdHVyZTohMCxwYXNzaXZlOiEwfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5oYW5kbGVTY3JvbGxPclJlc2l6ZSx7cGFzc2l2ZTohMH0pfWFzeW5jIGhpZGUoKXt0aGlzLmlzRGVzdHJveWluZ3x8KHRoaXMuaXNEZXN0cm95aW5nPSEwLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUse2NhcHR1cmU6ITB9KSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLmhhbmRsZVNjcm9sbE9yUmVzaXplKSxYdC51bnJlZ2lzdGVyKHRoaXMpLHRoaXMuc2VhcmNoVmFsdWU9IiIsdGhpcy5maWx0ZXJlZE9wdGlvbnM9dGhpcy5vcHRpb25zLHRoaXMuaGlnaGxpZ2h0ZWRJbmRleD0wLHRoaXMud2luZG93TGF5ZXImJih0aGlzLndpbmRvd0xheWVyLmRlc3Ryb3koKSx0aGlzLndpbmRvd0xheWVyPW51bGwpLHRoaXMudmlzaWJsZT0hMSxhd2FpdCBIdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDE1MCksdGhpcy5wYXJlbnRFbGVtZW50JiZ0aGlzLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcyksdGhpcy5pc0Rlc3Ryb3lpbmc9ITEpfWFzeW5jIGZvY3VzU2VhcmNoSW5wdXQoKXthd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlO2xldCBSPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc2VhcmNoIGlucHV0Iik7UiYmUi5mb2N1cygpfXVwZGF0ZU9wdGlvbnMoUil7aWYodGhpcy5vcHRpb25zPVIsdGhpcy5zZWFyY2hWYWx1ZSl7bGV0IFU9dGhpcy5zZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpO3RoaXMuZmlsdGVyZWRPcHRpb25zPXRoaXMub3B0aW9ucy5maWx0ZXIobWU9Pm1lLm9wdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFUpKX1lbHNlIHRoaXMuZmlsdGVyZWRPcHRpb25zPXRoaXMub3B0aW9uczt0aGlzLmhpZ2hsaWdodGVkSW5kZXg9MH1zZWxlY3RPcHRpb24oUil7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgib3B0aW9uLXNlbGVjdGVkIix7ZGV0YWlsOlJ9KSl9aGFuZGxlU2VhcmNoPXMoUj0+e2xldCBVPVIudGFyZ2V0LnZhbHVlO3RoaXMuc2VhcmNoVmFsdWU9VTtsZXQgbWU9VS50b0xvd2VyQ2FzZSgpO3RoaXMuZmlsdGVyZWRPcHRpb25zPXRoaXMub3B0aW9ucy5maWx0ZXIoST0+SS5vcHRpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhtZSkpLHRoaXMuaGlnaGxpZ2h0ZWRJbmRleD0wfSwiaGFuZGxlU2VhcmNoIik7aGFuZGxlU2VhcmNoS2V5ZG93bj1zKFI9PntsZXQgVT1SLmtleSxtZT10aGlzLmZpbHRlcmVkT3B0aW9ucy5sZW5ndGgtMTtVPT09IkFycm93RG93biI/KFIucHJldmVudERlZmF1bHQoKSx0aGlzLmhpZ2hsaWdodGVkSW5kZXg9dGhpcy5oaWdobGlnaHRlZEluZGV4KzE+bWU/MDp0aGlzLmhpZ2hsaWdodGVkSW5kZXgrMSk6VT09PSJBcnJvd1VwIj8oUi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGlnaGxpZ2h0ZWRJbmRleD10aGlzLmhpZ2hsaWdodGVkSW5kZXgtMTwwP21lOnRoaXMuaGlnaGxpZ2h0ZWRJbmRleC0xKTpVPT09IkVudGVyIj8oUi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZmlsdGVyZWRPcHRpb25zW3RoaXMuaGlnaGxpZ2h0ZWRJbmRleF0mJnRoaXMuc2VsZWN0T3B0aW9uKHRoaXMuZmlsdGVyZWRPcHRpb25zW3RoaXMuaGlnaGxpZ2h0ZWRJbmRleF0pKTpVPT09IkVzY2FwZSImJihSLnByZXZlbnREZWZhdWx0KCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xvc2UtcmVxdWVzdCIpKSl9LCJoYW5kbGVTZWFyY2hLZXlkb3duIik7aGFuZGxlU2Nyb2xsT3JSZXNpemU9cygoKT0+e3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJlcG9zaXRpb24tcmVxdWVzdCIpKX0sImhhbmRsZVNjcm9sbE9yUmVzaXplIik7YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUse2NhcHR1cmU6ITB9KSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLmhhbmRsZVNjcm9sbE9yUmVzaXplKSxYdC51bnJlZ2lzdGVyKHRoaXMpfXN0YXRpY3tKcihyLHQpfX07cmV0dXJuIGhlPXJ9KSgpfSk7dmFyIG9tLFAxLGxhZSxjYWU9ZigoKT0+e2xlKCk7RXNhKCk7U3IoKTttcygpO1FlKCk7SVllKCk7b209ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFAxPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxsYWU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LWRyb3Bkb3duIildLGUsdD1bXSxyLGk9TXQsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dERyb3Bkb3duIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKCldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx5PVtLKCldLG9tKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3B0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ib3B0aW9ucyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56Lm9wdGlvbnMsImdldCIpLHNldDpzKCh6LE8pPT57ei5vcHRpb25zPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxvbSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkT3B0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzZWxlY3RlZE9wdGlvbiJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNlbGVjdGVkT3B0aW9uLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2VsZWN0ZWRPcHRpb249T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLG9tKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlU2VhcmNoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJlbmFibGVTZWFyY2giaW4geiwiaGFzIiksZ2V0OnMoej0+ei5lbmFibGVTZWFyY2gsImdldCIpLHNldDpzKCh6LE8pPT57ei5lbmFibGVTZWFyY2g9T30sInNldCIpfSxtZXRhZGF0YTpffSxtLHYpLG9tKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmludGVncmF0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InZpbnRlZ3JhdGVkImluIHosImhhcyIpLGdldDpzKHo9PnoudmludGVncmF0ZWQsImdldCIpLHNldDpzKCh6LE8pPT57ei52aW50ZWdyYXRlZD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksb20odGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc09wZW5lZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iaXNPcGVuZWQiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5pc09wZW5lZCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmlzT3BlbmVkPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sayxDKSxvbShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLHQpLE49cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBkZW1vPVBzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9UDEodGhpcyxuLFtdKTtnZXQgb3B0aW9ucygpe3JldHVybiB0aGlzLiNlfXNldCBvcHRpb25zKF8pe3RoaXMuI2U9X30jdD0oUDEodGhpcyxsKSxQMSh0aGlzLGMsbnVsbCkpO2dldCBzZWxlY3RlZE9wdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZE9wdGlvbihfKXt0aGlzLiN0PV99Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb259c2V0IHZhbHVlKF8pe3RoaXMuc2VsZWN0ZWRPcHRpb249X30jYT0oUDEodGhpcyxwKSxQMSh0aGlzLG0sITApKTtnZXQgZW5hYmxlU2VhcmNoKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGVuYWJsZVNlYXJjaChfKXt0aGlzLiNhPV99I3I9KFAxKHRoaXMsdiksUDEodGhpcyxiLCExKSk7Z2V0IHZpbnRlZ3JhdGVkKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHZpbnRlZ3JhdGVkKF8pe3RoaXMuI3I9X30jcz0oUDEodGhpcyxnKSxQMSh0aGlzLGssITEpKTtnZXQgaXNPcGVuZWQoKXtyZXR1cm4gdGhpcy4jc31zZXQgaXNPcGVuZWQoXyl7dGhpcy4jcz1ffXBvcHVwSW5zdGFuY2U9KFAxKHRoaXMsQyksbnVsbCk7c3RhdGljIHN0eWxlcz1bUGUsLi4uTXQuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgOmhvc3QgewogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLnNlbGVjdGVkQm94IHsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4OwogICAgICAgIHBhZGRpbmc6IDAgNDBweCAwIDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuc2VsZWN0ZWRCb3g6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgfQoKICAgICAgLnNlbGVjdGVkQm94OmZvY3VzLXZpc2libGUgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLnNlbGVjdGVkQm94LmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklKSIsImhzbCgwIDAlIDQ1LjElKSIpfTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLyogRHJvcGRvd24gYXJyb3cgKi8KICAgICAgLnNlbGVjdGVkQm94OjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAxMnB4OwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnNlbGVjdGVkQm94Lm9wZW46OmFmdGVyIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDE4MGRlZyk7CiAgICAgIH0KCiAgICAgIC8qIFZpc3VhbGx5IGludGVncmF0ZWQgbW9kZTogc2hlZCBjaHJvbWUgdG8gYmxlbmQgaW50byBhIGhvc3QgY29tcG9uZW50CiAgICAgICAgIChlLmcuIGEgZGVlcy10YWJsZSBjZWxsIGluIGVkaXQgbW9kZSkuICovCiAgICAgIDpob3N0KFt2aW50ZWdyYXRlZF0pIGRlZXMtbGFiZWwgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgICAgOmhvc3QoW3ZpbnRlZ3JhdGVkXSkgLm1haW5jb250YWluZXIgewogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgfQogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAuc2VsZWN0ZWRCb3ggewogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBsaW5lLWhlaWdodDogNDBweDsKICAgICAgICBwYWRkaW5nOiAwIDMycHggMCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3gtc2hhZG93OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG5vbmU7CiAgICAgIH0KICAgICAgOmhvc3QoW3ZpbnRlZ3JhdGVkXSkgLnNlbGVjdGVkQm94OmhvdmVyOm5vdCguZGlzYWJsZWQpLAogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAuc2VsZWN0ZWRCb3g6Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KICAgICAgOmhvc3QoW3ZpbnRlZ3JhdGVkXSkgLnNlbGVjdGVkQm94OjphZnRlciB7CiAgICAgICAgcmlnaHQ6IDEycHg7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLmluZm9UZXh0PSR7dGhpcy5pbmZvVGV4dH0gLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0+PC9kZWVzLWxhYmVsPgogICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0ic2VsZWN0ZWRCb3ggJHt0aGlzLmlzT3BlbmVkPyJvcGVuIjoiIn0gJHt0aGlzLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgICAgICBAY2xpY2s9IiR7KCk9PiF0aGlzLmRpc2FibGVkJiZ0aGlzLnRvZ2dsZVNlbGVjdGlvbkJveCgpfSIKICAgICAgICAgICAgdGFiaW5kZXg9IiR7dGhpcy5kaXNhYmxlZD8iLTEiOiIwIn0iCiAgICAgICAgICAgIEBrZXlkb3duPSIke3RoaXMuaGFuZGxlU2VsZWN0ZWRCb3hLZXlkb3dufSIKICAgICAgICAgID4KICAgICAgICAgICAgJHt0aGlzLnNlbGVjdGVkT3B0aW9uPy5vcHRpb258fCJTZWxlY3QgYW4gb3B0aW9uIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9Zmlyc3RVcGRhdGVkKCl7dGhpcy5zZWxlY3RlZE9wdGlvbj10aGlzLnNlbGVjdGVkT3B0aW9ufHxudWxsfXVwZGF0ZWQoXyl7c3VwZXIudXBkYXRlZChfKSxfLmhhcygib3B0aW9ucyIpJiZ0aGlzLnBvcHVwSW5zdGFuY2UmJnRoaXMuaXNPcGVuZWQmJnRoaXMucG9wdXBJbnN0YW5jZS51cGRhdGVPcHRpb25zKHRoaXMub3B0aW9ucyl9YXN5bmMgdXBkYXRlU2VsZWN0aW9uKF8pe3RoaXMuc2VsZWN0ZWRPcHRpb249Xyx0aGlzLmNsb3NlUG9wdXAoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWxlY3RlZE9wdGlvbiIse2RldGFpbDpfLGJ1YmJsZXM6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9YXN5bmMgdG9nZ2xlU2VsZWN0aW9uQm94KCl7aWYodGhpcy5pc09wZW5lZCl7dGhpcy5jbG9zZVBvcHVwKCk7cmV0dXJufXRoaXMuaXNPcGVuZWQ9ITA7bGV0IHo9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zZWxlY3RlZEJveCIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLE89d2luZG93LmlubmVySGVpZ2h0LXouYm90dG9tLFQ9ei50b3AsUD1PPDMwMCYmVD5PO3RoaXMucG9wdXBJbnN0YW5jZXx8KHRoaXMucG9wdXBJbnN0YW5jZT1uZXcgbmFlKSx0aGlzLnBvcHVwSW5zdGFuY2Uub3B0aW9ucz10aGlzLm9wdGlvbnMsdGhpcy5wb3B1cEluc3RhbmNlLmVuYWJsZVNlYXJjaD10aGlzLmVuYWJsZVNlYXJjaCx0aGlzLnBvcHVwSW5zdGFuY2Uub3BlbnNUb1RvcD1QLHRoaXMucG9wdXBJbnN0YW5jZS50cmlnZ2VyUmVjdD16LHRoaXMucG9wdXBJbnN0YW5jZS5vd25lckNvbXBvbmVudD10aGlzLHRoaXMucG9wdXBJbnN0YW5jZS5hZGRFdmVudExpc3RlbmVyKCJvcHRpb24tc2VsZWN0ZWQiLHRoaXMuaGFuZGxlT3B0aW9uU2VsZWN0ZWQpLHRoaXMucG9wdXBJbnN0YW5jZS5hZGRFdmVudExpc3RlbmVyKCJjbG9zZS1yZXF1ZXN0Iix0aGlzLmhhbmRsZUNsb3NlUmVxdWVzdCksdGhpcy5wb3B1cEluc3RhbmNlLmFkZEV2ZW50TGlzdGVuZXIoInJlcG9zaXRpb24tcmVxdWVzdCIsdGhpcy5oYW5kbGVSZXBvc2l0aW9uUmVxdWVzdCksYXdhaXQgdGhpcy5wb3B1cEluc3RhbmNlLnNob3coKSx0aGlzLmVuYWJsZVNlYXJjaCYmYXdhaXQgdGhpcy5wb3B1cEluc3RhbmNlLmZvY3VzU2VhcmNoSW5wdXQoKX1jbG9zZVBvcHVwKCl7dGhpcy5pc09wZW5lZD0hMSx0aGlzLnBvcHVwSW5zdGFuY2UmJih0aGlzLnBvcHVwSW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigib3B0aW9uLXNlbGVjdGVkIix0aGlzLmhhbmRsZU9wdGlvblNlbGVjdGVkKSx0aGlzLnBvcHVwSW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xvc2UtcmVxdWVzdCIsdGhpcy5oYW5kbGVDbG9zZVJlcXVlc3QpLHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXBvc2l0aW9uLXJlcXVlc3QiLHRoaXMuaGFuZGxlUmVwb3NpdGlvblJlcXVlc3QpLHRoaXMucG9wdXBJbnN0YW5jZS5oaWRlKCkpfWhhbmRsZU9wdGlvblNlbGVjdGVkPXMoXz0+e2xldCB6PV8uZGV0YWlsO3RoaXMudXBkYXRlU2VsZWN0aW9uKHopfSwiaGFuZGxlT3B0aW9uU2VsZWN0ZWQiKTtoYW5kbGVDbG9zZVJlcXVlc3Q9cygoKT0+e3RoaXMuY2xvc2VQb3B1cCgpfSwiaGFuZGxlQ2xvc2VSZXF1ZXN0Iik7aGFuZGxlUmVwb3NpdGlvblJlcXVlc3Q9cygoKT0+e2lmKCF0aGlzLnBvcHVwSW5zdGFuY2V8fCF0aGlzLmlzT3BlbmVkKXJldHVybjtsZXQgXz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnNlbGVjdGVkQm94Iik7aWYoIV8pcmV0dXJuO2xldCB6PV8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoei5ib3R0b208MHx8ei50b3A+d2luZG93LmlubmVySGVpZ2h0KXt0aGlzLmNsb3NlUG9wdXAoKTtyZXR1cm59bGV0IE89d2luZG93LmlubmVySGVpZ2h0LXouYm90dG9tLFQ9ei50b3A7dGhpcy5wb3B1cEluc3RhbmNlLm9wZW5zVG9Ub3A9TzwzMDAmJlQ+Tyx0aGlzLnBvcHVwSW5zdGFuY2UudHJpZ2dlclJlY3Q9en0sImhhbmRsZVJlcG9zaXRpb25SZXF1ZXN0Iik7aGFuZGxlU2VsZWN0ZWRCb3hLZXlkb3duKF8pe3RoaXMuZGlzYWJsZWR8fChfLmtleT09PSJFbnRlciJ8fF8ua2V5PT09IiAiPyhfLnByZXZlbnREZWZhdWx0KCksdGhpcy50b2dnbGVTZWxlY3Rpb25Cb3goKSk6Xy5rZXk9PT0iQXJyb3dEb3duInx8Xy5rZXk9PT0iQXJyb3dVcCI/KF8ucHJldmVudERlZmF1bHQoKSx0aGlzLmlzT3BlbmVkfHx0aGlzLnRvZ2dsZVNlbGVjdGlvbkJveCgpKTpfLmtleT09PSJFc2NhcGUiJiYoXy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaXNPcGVuZWQmJnRoaXMuY2xvc2VQb3B1cCgpKSl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbn1zZXRWYWx1ZShfKXt0aGlzLnNlbGVjdGVkT3B0aW9uPV99YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMucG9wdXBJbnN0YW5jZSYmKHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJvcHRpb24tc2VsZWN0ZWQiLHRoaXMuaGFuZGxlT3B0aW9uU2VsZWN0ZWQpLHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbG9zZS1yZXF1ZXN0Iix0aGlzLmhhbmRsZUNsb3NlUmVxdWVzdCksdGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlcG9zaXRpb24tcmVxdWVzdCIsdGhpcy5oYW5kbGVSZXBvc2l0aW9uUmVxdWVzdCksdGhpcy5wb3B1cEluc3RhbmNlLmhpZGUoKSx0aGlzLnBvcHVwSW5zdGFuY2U9bnVsbCl9c3RhdGlje1AxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBJc2EsTnNhPWYoKCk9PntsZSgpO05ZZSgpO1lzKCk7SXNhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1zaGVsbCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMzJweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDExNjBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7CiAgICAgICAgICAuZGVtby1ncmlkLS10d28gewogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAuZGVtby1zdGFjayB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMThweDsKICAgICAgICB9CgogICAgICAgIC5kZW1vLW5vdGUgewogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTcgOTElIDkwJSkiLCJoc2woMjE1IDIwJSAyNiUpIil9OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTMgMTAwJSA5NyUpIiwiaHNsKDIxNSAyMCUgMTIlKSIpfTsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAyNSUgMzIlKSIsImhzbCgyMTUgMjAlIDgyJSkiKX07CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NTsKICAgICAgICB9CgogICAgICAgIC5kZW1vLW5vdGUgc3Ryb25nIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNyA5MSUgNDUlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zaGVsbCI+CiAgICAgIDxkZWVzLXBhbmVsCiAgICAgICAgLnRpdGxlPSR7Ik1vZGVybiBmaWxlIHVwbG9hZGVyIn0KICAgICAgICAuc3VidGl0bGU9JHsiU2hhZGNuLWluc3BpcmVkIGxheW91dCB3aXRoIGRyYWcgJiBkcm9wLCBwcmV2aWV3cyBhbmQgdmFsaWRhdGlvbiJ9CiAgICAgID4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1ncmlkIGRlbW8tZ3JpZC0tdHdvIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1zdGFjayI+CiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtZmlsZXVwbG9hZAogICAgICAgICAgICAgICAgLmxhYmVsPSR7IkF0dGFjaG1lbnRzIn0KICAgICAgICAgICAgICAgIC5pbmZvVGV4dD0keyJVcGxvYWQgc3VwcG9ydGluZyBkb2N1bWVudHMgZm9yIHlvdXIgcmVxdWVzdCJ9CiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWNjZXB0ZWQgZm9ybWF0czogaW1hZ2VzLCBQREYsIGFuZCBaSVAgYXJjaGl2ZXMgdXAgdG8gMTBNQiJ9CiAgICAgICAgICAgICAgICAuYWNjZXB0PSR7ImltYWdlLyosLnBkZiwuemlwIn0KICAgICAgICAgICAgICAgIC5tYXhTaXplPSR7MTAqMTAyNCoxMDI0fQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZmlsZXVwbG9hZD4KCiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtZmlsZXVwbG9hZAogICAgICAgICAgICAgICAgLmxhYmVsPSR7IkJyYW5kIGFzc2V0cyJ9CiAgICAgICAgICAgICAgICAuaW5mb1RleHQ9JHsiVXBsb2FkIGhpZ2gtcmVzb2x1dGlvbiBpbWFnZXJ5IChKUEcvUE5HKSJ9CiAgICAgICAgICAgICAgICAuYWNjZXB0PSR7ImltYWdlL2pwZWcsaW1hZ2UvcG5nIn0KICAgICAgICAgICAgICAgIC5tdWx0aXBsZT0keyExfQogICAgICAgICAgICAgICAgLm1heFNpemU9JHs1KjEwMjQqMTAyNH0KICAgICAgICAgICAgICAgIC5idXR0b25UZXh0PSR7IlNlbGVjdCBjb3ZlciBpbWFnZSJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1maWxldXBsb2FkPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc3RhY2siPgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LWZpbGV1cGxvYWQKICAgICAgICAgICAgICAgIC5sYWJlbD0keyJBdWRpbyB1cGxvYWRzIn0KICAgICAgICAgICAgICAgIC5pbmZvVGV4dD0keyJTaGFyZSBwb2RjYXN0IGRyYWZ0cyAoTVAzL1dBViwgbWF4IDI1TUIgZWFjaCkifQogICAgICAgICAgICAgICAgLmFjY2VwdD0keyJhdWRpby8qIn0KICAgICAgICAgICAgICAgIC5tYXhTaXplPSR7MjUqMTAyNCoxMDI0fQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZmlsZXVwbG9hZD4KCiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtZmlsZXVwbG9hZAogICAgICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIGV4YW1wbGUifQogICAgICAgICAgICAgICAgLmluZm9UZXh0PSR7IlVwbG9hZGVyIGlzIGRpc2FibGVkIHdoaWxlIG1vZGVyYXRpb24gaXMgcGVuZGluZyJ9CiAgICAgICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsCiAgICAgICAgLnRpdGxlPSR7IkZvcm0gaW50ZWdyYXRpb24ifQogICAgICAgIC5zdWJ0aXRsZT0keyJDb21iaW5lIGZpbGUgdXBsb2FkcyB3aXRoIHRoZSByZXN0IG9mIHRoZSBERUVTIGZvcm0gZWNvc3lzdGVtIn0KICAgICAgPgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgICAgIC5sYWJlbD0keyJQcm9qZWN0IG5hbWUifQogICAgICAgICAgICAgICAgLmluZm9UZXh0PSR7IkhvdyBzaG91bGQgd2UgcmVmZXIgdG8gdGhpcyBwcm9qZWN0IGludGVybmFsbHk/In0KICAgICAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAgICAgLmtleT0keyJwcm9qZWN0TmFtZSJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgICAgICAubGFiZWw9JHsiQ29udGFjdCBlbWFpbCJ9CiAgICAgICAgICAgICAgICAuaW5wdXRUeXBlPSR7ImVtYWlsIn0KICAgICAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAgICAgLmtleT0keyJjb250YWN0RW1haWwifQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtZmlsZXVwbG9hZAogICAgICAgICAgICAgICAgLmxhYmVsPSR7IlN0YXRlbWVudCBvZiB3b3JrIn0KICAgICAgICAgICAgICAgIC5pbmZvVGV4dD0keyJVcGxvYWQgYSBzaWduZWQgc3RhdGVtZW50IG9mIHdvcmsgKFBERiwgbWF4IDE1TUIpIn0KICAgICAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAgICAgLmFjY2VwdD0keyJhcHBsaWNhdGlvbi9wZGYifQogICAgICAgICAgICAgICAgLm1heFNpemU9JHsxNSoxMDI0KjEwMjR9CiAgICAgICAgICAgICAgICAubXVsdGlwbGU9JHshMX0KICAgICAgICAgICAgICAgIC5rZXk9JHsic293In0KICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LWZpbGV1cGxvYWQKICAgICAgICAgICAgICAgIC5sYWJlbD0keyJDcmVhdGl2ZSByZWZlcmVuY2VzIn0KICAgICAgICAgICAgICAgIC5pbmZvVGV4dD0keyJPcHRpb25hbC4gVXBsb2FkIHVwIHRvIGZpdmUgdmlzdWFsIHJlZmVyZW5jZXMifQogICAgICAgICAgICAgICAgLmFjY2VwdD0keyJpbWFnZS8qIn0KICAgICAgICAgICAgICAgIC5tYXhGaWxlcz0kezV9CiAgICAgICAgICAgICAgICAubWF4U2l6ZT0kezgqMTAyNCoxMDI0fQogICAgICAgICAgICAgICAgLmtleT0keyJyZWZlcmVuY2VzIn0KICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgICAgIC5sYWJlbD0keyJOb3RlcyJ9CiAgICAgICAgICAgICAgICAuaW5mb1RleHQ9JHsiQWRkIG9wdGlvbmFsIGNvbnRleHQgZm9yIHJldmlld2VycyJ9CiAgICAgICAgICAgICAgICAuaW5wdXRUeXBlPSR7InRleHRhcmVhIn0KICAgICAgICAgICAgICAgIC5rZXk9JHsibm90ZXMifQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgLnRleHQ9JHsiU3VibWl0IGJyaWVmaW5nIn0+PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgICAgPC9kZWVzLWZvcm0+CgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1ub3RlIj4KICAgICAgICAgICAgPHN0cm9uZz5Hb29kIHRvIGtub3c6PC9zdHJvbmc+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+RHJhZyAmIGRyb3AgaGlnaGxpZ2h0cyB0aGUgZHJvcHpvbmUgYW5kIHN1cHBvcnRzIGtleWJvYXJkIGFjdGl2YXRpb24uPC9saT4KICAgICAgICAgICAgICA8bGk+QWNjZXB0ZWQgZmlsZSB0eXBlcyBhcmUgc3VtbWFyaXNlZCBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIDxjb2RlPmFjY2VwdDwvY29kZT4gYXR0cmlidXRlLjwvbGk+CiAgICAgICAgICAgICAgPGxpPkltYWdlIHVwbG9hZHMgc2hvdyBsaXZlIHByZXZpZXdzIGdlbmVyYXRlZCB2aWEgPGNvZGU+VVJMLmNyZWF0ZU9iamVjdFVSTDwvY29kZT4uPC9saT4KICAgICAgICAgICAgICA8bGk+RmlsZSBzaXplIGFuZCBmaWxlLWNvdW50IGxpbWl0cyBzdXJmYWNlIGlubGluZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLjwvbGk+CiAgICAgICAgICAgICAgPGxpPlRoZSBjb21wb25lbnQgc3RheXMgY29tcGF0aWJsZSB3aXRoIDxjb2RlPmRlZXMtZm9ybTwvY29kZT4gdmFsdWUgYWNjZXNzb3JzLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgLCJkZW1vRnVuYyIpfSk7dmFyIFJzYSxPc2E9ZigoKT0+e2xlKCk7U3IoKTtRZSgpO1JzYT1bUGUsLi4uTXQuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsWGAKICAgIDpob3N0IHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgIH0KCiAgICAuaW5wdXQtd3JhcHBlciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMTJweDsKICAgIH0KCiAgICAvKiDilIDilIAgVGlsZSBpbnRlZ3JhdGlvbiDilIDilIAgKi8KICAgIGRlZXMtdGlsZSB7CiAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgIH0KCiAgICBkZWVzLXRpbGU6aG92ZXI6OnBhcnQob3V0ZXIpIHsKICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgfQoKICAgIGRlZXMtdGlsZS5kcmFnb3Zlcjo6cGFydChvdXRlcikgewogICAgICBib3JkZXItY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LXByaW1hcnkpOwogICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSAvIDAuMTUpIiwiaHNsKDIxMyA5MyUgNjglIC8gMC4xNSkiKX07CiAgICB9CgogICAgOmhvc3QoW2Rpc2FibGVkXSkgZGVlcy10aWxlIHsKICAgICAgb3BhY2l0eTogMC42OwogICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIH0KCiAgICAvKiDilIDilIAgSGVhZGVyIHNsb3Q6IHNsZWVrIHRvb2xiYXIg4pSA4pSAICovCiAgICAuZHJvcHpvbmUtaGVhZGVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiA4cHg7CiAgICAgIGhlaWdodDogMzJweDsKICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgfQoKICAgIC5kcm9wem9uZS1oZWFkZXIgZGVlcy1pY29uIHsKICAgICAgd2lkdGg6IDE0cHg7CiAgICAgIGhlaWdodDogMTRweDsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICB9CgogICAgLmRyb3B6b25lLWxvYWRlciB7CiAgICAgIHdpZHRoOiAxNHB4OwogICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLWZ1bGwpOwogICAgICBib3JkZXI6IDJweCBzb2xpZCAke2guYmRUaGVtZSgicmdiYSgxNSwgMjMsIDQyLCAwLjE1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkiKX07CiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LXByaW1hcnkpOwogICAgICBhbmltYXRpb246IGxvYWRlci1zcGluIDAuNnMgbGluZWFyIGluZmluaXRlOwogICAgfQoKICAgIC5kcm9wem9uZS10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICB9CgogICAgLmRyb3B6b25lLWJyb3dzZSB7CiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7CiAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgcGFkZGluZzogMDsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LXByaW1hcnkpOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB9CgogICAgLmRyb3B6b25lLWJyb3dzZTpob3ZlciB7CiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgfQoKICAgIC5kcm9wem9uZS1icm93c2U6ZGlzYWJsZWQgewogICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICBvcGFjaXR5OiAwLjU7CiAgICB9CgogICAgLyog4pSA4pSAIENvbnRlbnQgc2xvdDogZmlsZSBsaXN0IGluIHJvdW5kZWQgaW5zZXQg4pSA4pSAICovCiAgICAuZmlsZS1saXN0LWVtcHR5IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGdhcDogOHB4OwogICAgICBwYWRkaW5nOiAyNHB4IDE2cHg7CiAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICBmb250LXNpemU6IDEzcHg7CiAgICB9CgogICAgLmZpbGUtbGlzdC1lbXB0eSBkZWVzLWljb24gewogICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgIG9wYWNpdHk6IDAuNDsKICAgIH0KCiAgICAuZmlsZS1saXN0IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIH0KCiAgICAuZmlsZS1saXN0LWhlYWRlciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICB9CgogICAgLmZpbGUtbGlzdC1jbGVhciB7CiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7CiAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LXByaW1hcnkpOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgcGFkZGluZzogMDsKICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICB9CgogICAgLmZpbGUtbGlzdC1jbGVhcjpob3ZlciB7CiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgfQoKICAgIC5maWxlLXJvdyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogMTJweDsKICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZGVlcy10cmFuc2l0aW9uLWZhc3QpIGVhc2U7CiAgICB9CgogICAgLmZpbGUtcm93OmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1yb3ctaG92ZXIpOwogICAgfQoKICAgIC5maWxlLXRodW1iIHsKICAgICAgd2lkdGg6IDMycHg7CiAgICAgIGhlaWdodDogMzJweDsKICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtc20pOwogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXRlcnRpYXJ5KTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgfQoKICAgIC5maWxlLXRodW1iIGRlZXMtaWNvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB3aWR0aDogMTZweDsKICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgZmxleC1zaHJpbms6IDA7CiAgICB9CgogICAgLnRodW1iLWltYWdlIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICB9CgogICAgLmZpbGUtbWV0YSB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMnB4OwogICAgICBtaW4td2lkdGg6IDA7CiAgICB9CgogICAgLmZpbGUtbmFtZSB7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB9CgogICAgLmZpbGUtZGV0YWlscyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogOHB4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICB9CgogICAgLmZpbGUtc2l6ZSB7CiAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICB9CgogICAgLmZpbGUtdHlwZSB7CiAgICAgIHBhZGRpbmc6IDFweCA2cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLWZ1bGwpOwogICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07CiAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICBmb250LXNpemU6IDEwcHg7CiAgICB9CgogICAgLmZpbGUtYWN0aW9ucyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgfQoKICAgIC5yZW1vdmUtYnV0dG9uIHsKICAgICAgd2lkdGg6IDI0cHg7CiAgICAgIGhlaWdodDogMjRweDsKICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMteHMpOwogICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWRlZXMtdHJhbnNpdGlvbi1mYXN0KSBlYXNlLAogICAgICAgICAgICAgICAgICBjb2xvciB2YXIoLS1kZWVzLXRyYW5zaXRpb24tZmFzdCkgZWFzZTsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICB9CgogICAgLnJlbW92ZS1idXR0b246aG92ZXIgewogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgNzIlIDUwJSAvIDAuMDgpIiwiaHNsKDAgNjIlIDMyJSAvIDAuMTUpIil9OwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtZXJyb3IpOwogICAgfQoKICAgIC5yZW1vdmUtYnV0dG9uOmFjdGl2ZSB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nik7CiAgICB9CgogICAgLnJlbW92ZS1idXR0b24gZGVlcy1pY29uIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHdpZHRoOiAxNHB4OwogICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgfQoKICAgIC8qIOKUgOKUgCBGb290ZXIgc2xvdDogbWV0YSBjaGlwcyDilIDilIAgKi8KICAgIC5kcm9wem9uZS1mb290ZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGdhcDogNnB4OwogICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIH0KCiAgICAubWV0YS1jaGlwIHsKICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1kZWVzLXJhZGl1cy1mdWxsKTsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctdGVydGlhcnkpOwogICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgfQoKICAgIC8qIOKUgOKUgCBWYWxpZGF0aW9uIOKUgOKUgCAqLwogICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7CiAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LWVycm9yKTsKICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIH0KCiAgICBAa2V5ZnJhbWVzIGxvYWRlci1zcGluIHsKICAgICAgdG8gewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgIH0KICAgIH0KICBgXX0pO3ZhciBqMixOcyxkYWUsTlllPWYoKCk9PntTcigpO05zYSgpO09zYSgpO3ZhKCk7YW0oKTtRcigpO2xlKCk7ajI9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LE5zPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxkYWU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LWZpbGV1cGxvYWQiKV0sZSx0PVtdLHIsaT1NdCxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXSxCLE09W10sUz1bXSxFLEE9W10sRj1bXTt2YXIgVz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0RmlsZXVwbG9hZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBqPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe2F0dHJpYnV0ZTohMX0pXSxkPVtLKCldLHU9W0soKV0seD1bJCh7dHlwZTpTdHJpbmd9KV0seT1bJCh7dHlwZTpTdHJpbmd9KV0sTj1bJCh7dHlwZTpCb29sZWFufSldLE89WyQoe3R5cGU6TnVtYmVyfSldLEI9WyQoe3R5cGU6TnVtYmVyfSldLEU9WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sajIodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4idmFsdWUiaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry52YWx1ZSwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry52YWx1ZT1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxuLGwpLGoyKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+InN0YXRlImluIEcsImhhcyIpLGdldDpzKEc9Pkcuc3RhdGUsImdldCIpLHNldDpzKChHLGhlKT0+e0cuc3RhdGU9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sYyxwKSxqMih0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzTG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4iaXNMb2FkaW5nImluIEcsImhhcyIpLGdldDpzKEc9PkcuaXNMb2FkaW5nLCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLmlzTG9hZGluZz1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxtLHYpLGoyKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYnV0dG9uVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4iYnV0dG9uVGV4dCJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLmJ1dHRvblRleHQsImdldCIpLHNldDpzKChHLGhlKT0+e0cuYnV0dG9uVGV4dD1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxiLGcpLGoyKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWNjZXB0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJhY2NlcHQiaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry5hY2NlcHQsImdldCIpLHNldDpzKChHLGhlKT0+e0cuYWNjZXB0PWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LGssQyksajIodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtdWx0aXBsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4ibXVsdGlwbGUiaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry5tdWx0aXBsZSwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5tdWx0aXBsZT1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxfLHopLGoyKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4U2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4ibWF4U2l6ZSJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLm1heFNpemUsImdldCIpLHNldDpzKChHLGhlKT0+e0cubWF4U2l6ZT1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxULFApLGoyKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4RmlsZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+Im1heEZpbGVzImluIEcsImhhcyIpLGdldDpzKEc9PkcubWF4RmlsZXMsImdldCIpLHNldDpzKChHLGhlKT0+e0cubWF4RmlsZXM9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sTSxTKSxqMih0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbGlkYXRpb25TdGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4idmFsaWRhdGlvblN0YXRlImluIEcsImhhcyIpLGdldDpzKEc9PkcudmFsaWRhdGlvblN0YXRlLCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLnZhbGlkYXRpb25TdGF0ZT1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxBLEYpLGoyKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmp9LG51bGwsdCksVz1yPWUudmFsdWUsaiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpqfSl9c3RhdGljIGRlbW89SXNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1Ocyh0aGlzLG4sW10pO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZShqKXt0aGlzLiNlPWp9I3Q9KE5zKHRoaXMsbCksTnModGhpcyxjLCJpZGxlIikpO2dldCBzdGF0ZSgpe3JldHVybiB0aGlzLiN0fXNldCBzdGF0ZShqKXt0aGlzLiN0PWp9I2E9KE5zKHRoaXMscCksTnModGhpcyxtLCExKSk7Z2V0IGlzTG9hZGluZygpe3JldHVybiB0aGlzLiNhfXNldCBpc0xvYWRpbmcoail7dGhpcy4jYT1qfSNyPShOcyh0aGlzLHYpLE5zKHRoaXMsYiwiU2VsZWN0IGZpbGVzIikpO2dldCBidXR0b25UZXh0KCl7cmV0dXJuIHRoaXMuI3J9c2V0IGJ1dHRvblRleHQoail7dGhpcy4jcj1qfSNzPShOcyh0aGlzLGcpLE5zKHRoaXMsaywiIikpO2dldCBhY2NlcHQoKXtyZXR1cm4gdGhpcy4jc31zZXQgYWNjZXB0KGope3RoaXMuI3M9an0jaT0oTnModGhpcyxDKSxOcyh0aGlzLF8sITApKTtnZXQgbXVsdGlwbGUoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbXVsdGlwbGUoail7dGhpcy4jaT1qfSNvPShOcyh0aGlzLHopLE5zKHRoaXMsVCwwKSk7Z2V0IG1heFNpemUoKXtyZXR1cm4gdGhpcy4jb31zZXQgbWF4U2l6ZShqKXt0aGlzLiNvPWp9I249KE5zKHRoaXMsUCksTnModGhpcyxNLDApKTtnZXQgbWF4RmlsZXMoKXtyZXR1cm4gdGhpcy4jbn1zZXQgbWF4RmlsZXMoail7dGhpcy4jbj1qfSNsPShOcyh0aGlzLFMpLE5zKHRoaXMsQSxudWxsKSk7Z2V0IHZhbGlkYXRpb25TdGF0ZSgpe3JldHVybiB0aGlzLiNsfXNldCB2YWxpZGF0aW9uU3RhdGUoail7dGhpcy4jbD1qfSNjPShOcyh0aGlzLEYpLCIiKTtnZXQgdmFsaWRhdGlvbk1lc3NhZ2UoKXtyZXR1cm4gdGhpcy4jY31zZXQgdmFsaWRhdGlvbk1lc3NhZ2Uoail7dGhpcy4jYz1qfXByZXZpZXdVcmxNYXA9bmV3IFdlYWtNYXA7ZHJvcEFyZWE9bnVsbDtzdGF0aWMgc3R5bGVzPVJzYTtyZW5kZXIoKXtsZXQgaj10aGlzLmdldEFjY2VwdGVkU3VtbWFyeSgpLEc9W3RoaXMubXVsdGlwbGU/Ik11bHRpcGxlIGZpbGVzIHN1cHBvcnRlZCI6IlNpbmdsZSBmaWxlIG9ubHkiLHRoaXMubWF4U2l6ZT4wP2BNYXggJHt0aGlzLmZvcm1hdEZpbGVTaXplKHRoaXMubWF4U2l6ZSl9YDoiTm8gc2l6ZSBsaW1pdCJdO3JldHVybiBqJiZHLnB1c2goYEFjY2VwdHMgJHtqfWApLHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkZWVzLWxhYmVsCiAgICAgICAgICAubGFiZWw9JHt0aGlzLmxhYmVsfQogICAgICAgICAgLmluZm9UZXh0PSR7dGhpcy5pbmZvVGV4dH0KICAgICAgICAgIC5yZXF1aXJlZD0ke3RoaXMucmVxdWlyZWR9CiAgICAgICAgPjwvZGVlcy1sYWJlbD4KICAgICAgICA8ZGVlcy10aWxlCiAgICAgICAgICBjbGFzcz0iJHt0aGlzLnN0YXRlPT09ImRyYWdPdmVyIj8iZHJhZ292ZXIiOiIifSIKICAgICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlRHJvcHpvbmVDbGlja30KICAgICAgICAgIEBrZXlkb3duPSR7dGhpcy5oYW5kbGVEcm9wem9uZUtleWRvd259CiAgICAgICAgICB0YWJpbmRleD0ke3RoaXMuZGlzYWJsZWQ/LTE6MH0KICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgYXJpYS1sYWJlbD0ke2BTZWxlY3QgZmlsZXMke2o/YCAoJHtqfSlgOiIifWB9CiAgICAgICAgPgogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIGNsYXNzPSJmaWxlLWlucHV0IgogICAgICAgICAgICBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBvcGFjaXR5OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7IHRvcDogMDsgbGVmdDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsiCiAgICAgICAgICAgIHR5cGU9ImZpbGUiCiAgICAgICAgICAgID9tdWx0aXBsZT0ke3RoaXMubXVsdGlwbGV9CiAgICAgICAgICAgIGFjY2VwdD0ke3RoaXMuYWNjZXB0fHwiIn0KICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgICAgQGNoYW5nZT0ke3RoaXMuaGFuZGxlRmlsZUlucHV0Q2hhbmdlfQogICAgICAgICAgICB0YWJpbmRleD0iLTEiCiAgICAgICAgICAvPgogICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJkcm9wem9uZS1oZWFkZXIiPgogICAgICAgICAgICAke3RoaXMuaXNMb2FkaW5nP3dgPHNwYW4gY2xhc3M9ImRyb3B6b25lLWxvYWRlciIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj5gOndgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6VXBsb2FkIj48L2RlZXMtaWNvbj5gfQogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZHJvcHpvbmUtdGl0bGUiPkRyb3AgZmlsZXMgaGVyZSBvcjwvc3Bhbj4KICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIHR5cGU9ImJ1dHRvbiIKICAgICAgICAgICAgICBjbGFzcz0iZHJvcHpvbmUtYnJvd3NlIgogICAgICAgICAgICAgIEBjbGljaz0ke2hlPT57aGUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5vcGVuRmlsZVNlbGVjdG9yKCl9fQogICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgICAgID5icm93c2U8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHt0aGlzLnJlbmRlckZpbGVMaXN0KCl9CiAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImRyb3B6b25lLWZvb3RlciI+CiAgICAgICAgICAgICR7Ry5tYXAoaGU9PndgPHNwYW4gY2xhc3M9Im1ldGEtY2hpcCI+JHtoZX08L3NwYW4+YCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgICAke3RoaXMudmFsaWRhdGlvbk1lc3NhZ2U/d2A8ZGl2IGNsYXNzPSJ2YWxpZGF0aW9uLW1lc3NhZ2UiIGFyaWEtbGl2ZT0icG9saXRlIj4ke3RoaXMudmFsaWRhdGlvbk1lc3NhZ2V9PC9kaXY+YDp3YGB9CiAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWxlTGlzdCgpe3JldHVybiB0aGlzLnZhbHVlLmxlbmd0aD09PTA/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWxpc3QtZW1wdHkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RmlsZVN0YWNrIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPk5vIGZpbGVzIHNlbGVjdGVkPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOndgCiAgICAgIDxkaXYgY2xhc3M9ImZpbGUtbGlzdCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1saXN0LWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj4ke3RoaXMudmFsdWUubGVuZ3RofSBmaWxlJHt0aGlzLnZhbHVlLmxlbmd0aD09PTE/IiI6InMifSBzZWxlY3RlZDwvc3Bhbj4KICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iZmlsZS1saXN0LWNsZWFyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUNsZWFyQWxsfT5DbGVhciAke3RoaXMudmFsdWUubGVuZ3RoPjE/ImFsbCI6IiJ9PC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnZhbHVlLm1hcChqPT50aGlzLnJlbmRlckZpbGVSb3coaikpfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRmlsZVJvdyhqKXtsZXQgRz10aGlzLmdldEZpbGVUeXBlKGopLGhlPXRoaXMuY2FuU2hvd1ByZXZpZXcoaik/dGhpcy5nZXRQcmV2aWV3VXJsKGopOm51bGw7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImZpbGUtcm93ICR7R30tZmlsZSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS10aHVtYiIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgJHtoZT93YDxpbWcgY2xhc3M9InRodW1iLWltYWdlIiBzcmM9JHtoZX0gYWx0PSR7YFByZXZpZXcgb2YgJHtqLm5hbWV9YH0+YDp3YDxkZWVzLWljb24gaWNvbj0ke3RoaXMuZ2V0RmlsZUljb24oail9PjwvZGVlcy1pY29uPmB9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1tZXRhIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZpbGUtbmFtZSIgdGl0bGU9JHtqLm5hbWV9PiR7ai5uYW1lfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1kZXRhaWxzIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpbGUtc2l6ZSI+JHt0aGlzLmZvcm1hdEZpbGVTaXplKGouc2l6ZSl9PC9zcGFuPgogICAgICAgICAgICAke0chPT0iZmlsZSI/d2A8c3BhbiBjbGFzcz0iZmlsZS10eXBlIj4ke0d9PC9zcGFuPmA6d2BgfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1hY3Rpb25zIj4KICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgdHlwZT0iYnV0dG9uIgogICAgICAgICAgICBjbGFzcz0icmVtb3ZlLWJ1dHRvbiIKICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMucmVtb3ZlRmlsZShqKX0KICAgICAgICAgICAgYXJpYS1sYWJlbD0ke2BSZW1vdmUgJHtqLm5hbWV9YH0KICAgICAgICAgID4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6WCI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZUZpbGVJbnB1dENoYW5nZT1zKGFzeW5jIGo9Pnt0aGlzLmlzTG9hZGluZz0hMTtsZXQgRz1qLnRhcmdldCxoZT1BcnJheS5mcm9tKEcuZmlsZXM/P1tdKTtoZS5sZW5ndGg+MCYmYXdhaXQgdGhpcy5hZGRGaWxlcyhoZSksRy52YWx1ZT0iIn0sImhhbmRsZUZpbGVJbnB1dENoYW5nZSIpO2hhbmRsZURyb3B6b25lQ2xpY2s9cyhqPT57dGhpcy5kaXNhYmxlZHx8ai50YXJnZXQuY2xvc2VzdCgiLmZpbGUtbGlzdCwgLmRyb3B6b25lLWhlYWRlciwgLmRyb3B6b25lLWZvb3RlciIpfHx0aGlzLm9wZW5GaWxlU2VsZWN0b3IoKX0sImhhbmRsZURyb3B6b25lQ2xpY2siKTtoYW5kbGVEcm9wem9uZUtleWRvd249cyhqPT57dGhpcy5kaXNhYmxlZHx8KGoua2V5PT09IkVudGVyInx8ai5rZXk9PT0iICIpJiYoai5wcmV2ZW50RGVmYXVsdCgpLHRoaXMub3BlbkZpbGVTZWxlY3RvcigpKX0sImhhbmRsZURyb3B6b25lS2V5ZG93biIpO2hhbmRsZUNsZWFyQWxsPXMoaj0+e2oucHJldmVudERlZmF1bHQoKSx0aGlzLmNsZWFyQWxsKCl9LCJoYW5kbGVDbGVhckFsbCIpO2hhbmRsZURyYWdFdmVudD1zKGFzeW5jIGo9PntpZihqLnByZXZlbnREZWZhdWx0KCksai5zdG9wUHJvcGFnYXRpb24oKSwhdGhpcy5kaXNhYmxlZCl7aWYoai50eXBlPT09ImRyYWdlbnRlciJ8fGoudHlwZT09PSJkcmFnb3ZlciIpe2ouZGF0YVRyYW5zZmVyJiYoai5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0iY29weSIpLHRoaXMuc3RhdGU9ImRyYWdPdmVyIjtyZXR1cm59aWYoai50eXBlPT09ImRyYWdsZWF2ZSIpe2lmKCF0aGlzLmRyb3BBcmVhKXt0aGlzLnN0YXRlPSJpZGxlIjtyZXR1cm59bGV0IEc9dGhpcy5kcm9wQXJlYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx7Y2xpZW50WDpoZT0wLGNsaWVudFk6Uj0wfT1qOyhoZTw9Ry5sZWZ0fHxoZT49Ry5yaWdodHx8Ujw9Ry50b3B8fFI+PUcuYm90dG9tKSYmKHRoaXMuc3RhdGU9ImlkbGUiKTtyZXR1cm59aWYoai50eXBlPT09ImRyb3AiKXt0aGlzLnN0YXRlPSJpZGxlIjtsZXQgRz1BcnJheS5mcm9tKGouZGF0YVRyYW5zZmVyPy5maWxlcz8/W10pO0cubGVuZ3RoPjAmJmF3YWl0IHRoaXMuYWRkRmlsZXMoRyl9fX0sImhhbmRsZURyYWdFdmVudCIpO2F0dGFjaERyb3BMaXN0ZW5lcnMoKXt0aGlzLmRyb3BBcmVhJiZbImRyYWdlbnRlciIsImRyYWdvdmVyIiwiZHJhZ2xlYXZlIiwiZHJvcCJdLmZvckVhY2goaj0+e3RoaXMuZHJvcEFyZWEuYWRkRXZlbnRMaXN0ZW5lcihqLHRoaXMuaGFuZGxlRHJhZ0V2ZW50KX0pfWRldGFjaERyb3BMaXN0ZW5lcnMoKXt0aGlzLmRyb3BBcmVhJiZbImRyYWdlbnRlciIsImRyYWdvdmVyIiwiZHJhZ2xlYXZlIiwiZHJvcCJdLmZvckVhY2goaj0+e3RoaXMuZHJvcEFyZWEucmVtb3ZlRXZlbnRMaXN0ZW5lcihqLHRoaXMuaGFuZGxlRHJhZ0V2ZW50KX0pfXJlYmluZEludGVyYWN0aXZlRWxlbWVudHMoKXtsZXQgaj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtdGlsZSIpO2ohPT10aGlzLmRyb3BBcmVhJiYodGhpcy5kZXRhY2hEcm9wTGlzdGVuZXJzKCksdGhpcy5kcm9wQXJlYT1qLHRoaXMuYXR0YWNoRHJvcExpc3RlbmVycygpKX1mb3JtYXRGaWxlU2l6ZShqKXtsZXQgRz1bIkJ5dGVzIiwiS0IiLCJNQiIsIkdCIl07aWYoaj09PTApcmV0dXJuIjAgQnl0ZXMiO2xldCBoZT1NYXRoLm1pbihNYXRoLmZsb29yKE1hdGgubG9nKGopL01hdGgubG9nKDEwMjQpKSxHLmxlbmd0aC0xKSxSPWovTWF0aC5wb3coMTAyNCxoZSk7cmV0dXJuYCR7TWF0aC5yb3VuZChSKjEwMCkvMTAwfSAke0dbaGVdfWB9Z2V0RmlsZVR5cGUoail7bGV0IEc9ai50eXBlLnRvTG93ZXJDYXNlKCk7cmV0dXJuIEcuc3RhcnRzV2l0aCgiaW1hZ2UvIik/ImltYWdlIjpHPT09ImFwcGxpY2F0aW9uL3BkZiI/InBkZiI6Ry5pbmNsdWRlcygid29yZCIpfHxHLmluY2x1ZGVzKCJkb2N1bWVudCIpPyJkb2MiOkcuaW5jbHVkZXMoInNoZWV0Iil8fEcuaW5jbHVkZXMoImV4Y2VsIik/InNwcmVhZHNoZWV0IjpHLmluY2x1ZGVzKCJwcmVzZW50YXRpb24iKXx8Ry5pbmNsdWRlcygicG93ZXJwb2ludCIpPyJwcmVzZW50YXRpb24iOkcuc3RhcnRzV2l0aCgidmlkZW8vIik/InZpZGVvIjpHLnN0YXJ0c1dpdGgoImF1ZGlvLyIpPyJhdWRpbyI6Ry5pbmNsdWRlcygiemlwIil8fEcuaW5jbHVkZXMoImNvbXByZXNzZWQiKT8iYXJjaGl2ZSI6ImZpbGUifWdldEZpbGVJY29uKGope2xldCBHPXRoaXMuZ2V0RmlsZVR5cGUoaik7cmV0dXJue2ltYWdlOiJsdWNpZGU6RmlsZUltYWdlIixwZGY6Imx1Y2lkZTpGaWxlVGV4dCIsZG9jOiJsdWNpZGU6RmlsZVRleHQiLHNwcmVhZHNoZWV0OiJsdWNpZGU6RmlsZVNwcmVhZHNoZWV0IixwcmVzZW50YXRpb246Imx1Y2lkZTpGaWxlQmFyQ2hhcnQiLHZpZGVvOiJsdWNpZGU6RmlsZVZpZGVvIixhdWRpbzoibHVjaWRlOkZpbGVBdWRpbyIsYXJjaGl2ZToibHVjaWRlOkZpbGVBcmNoaXZlIixmaWxlOiJsdWNpZGU6RmlsZSJ9W0ddPz8ibHVjaWRlOkZpbGUifWNhblNob3dQcmV2aWV3KGope3JldHVybiBqLnR5cGUuc3RhcnRzV2l0aCgiaW1hZ2UvIikmJmouc2l6ZTw1KjEwMjQqMTAyNH12YWxpZGF0ZUZpbGUoail7aWYodGhpcy5tYXhTaXplPjAmJmouc2l6ZT50aGlzLm1heFNpemUpcmV0dXJuIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2U9YEZpbGUgIiR7ai5uYW1lfSIgZXhjZWVkcyB0aGUgbWF4aW11bSBzaXplIG9mICR7dGhpcy5mb3JtYXRGaWxlU2l6ZSh0aGlzLm1heFNpemUpfWAsdGhpcy52YWxpZGF0aW9uU3RhdGU9ImludmFsaWQiLCExO2lmKHRoaXMuYWNjZXB0KXtsZXQgRz10aGlzLmFjY2VwdC5zcGxpdCgiLCIpLm1hcChoZT0+aGUudHJpbSgpKS5maWx0ZXIoaGU9PmhlLmxlbmd0aD4wKTtpZihHLmxlbmd0aD4wKXtsZXQgaGU9ITE7Zm9yKGxldCBSIG9mIEcpaWYoUi5zdGFydHNXaXRoKCIuIikpe2lmKGoubmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKFIudG9Mb3dlckNhc2UoKSkpe2hlPSEwO2JyZWFrfX1lbHNlIGlmKFIuZW5kc1dpdGgoIi8qIikpe2xldCBVPVIuc2xpY2UoMCwtMik7aWYoai50eXBlLnN0YXJ0c1dpdGgoVSkpe2hlPSEwO2JyZWFrfX1lbHNlIGlmKGoudHlwZT09PVIpe2hlPSEwO2JyZWFrfWlmKCFoZSlyZXR1cm4gdGhpcy52YWxpZGF0aW9uTWVzc2FnZT1gRmlsZSB0eXBlIG5vdCBhY2NlcHRlZC4gQWxsb3dlZDogJHtHLmpvaW4oIiwgIil9YCx0aGlzLnZhbGlkYXRpb25TdGF0ZT0iaW52YWxpZCIsITF9fXJldHVybiEwfWdldFByZXZpZXdVcmwoail7bGV0IEc9dGhpcy5wcmV2aWV3VXJsTWFwLmdldChqKTtyZXR1cm4gR3x8KEc9VVJMLmNyZWF0ZU9iamVjdFVSTChqKSx0aGlzLnByZXZpZXdVcmxNYXAuc2V0KGosRykpLEd9cmVsZWFzZVByZXZpZXcoail7bGV0IEc9dGhpcy5wcmV2aWV3VXJsTWFwLmdldChqKTtHJiYoVVJMLnJldm9rZU9iamVjdFVSTChHKSx0aGlzLnByZXZpZXdVcmxNYXAuZGVsZXRlKGopKX1nZXRBY2NlcHRlZFN1bW1hcnkoKXtpZighdGhpcy5hY2NlcHQpcmV0dXJuIG51bGw7bGV0IGo9QXJyYXkuZnJvbShuZXcgU2V0KHRoaXMuYWNjZXB0LnNwbGl0KCIsIikubWFwKEc9PkcudHJpbSgpKS5maWx0ZXIoRz0+Ry5sZW5ndGg+MCkubWFwKEc9PnRoaXMuZm9ybWF0QWNjZXB0VG9rZW4oRykpKSkuZmlsdGVyKEJvb2xlYW4pO3JldHVybiBqLmxlbmd0aD09PTA/bnVsbDpqLmxlbmd0aD09PTE/alswXTpqLmxlbmd0aD09PTI/YCR7alswXX0sICR7alsxXX1gOmAke2ouc2xpY2UoMCwyKS5qb2luKCIsICIpfVx1MjAyNmB9Zm9ybWF0QWNjZXB0VG9rZW4oail7aWYoaj09PSIqLyoiKXJldHVybiJBbGwgZmlsZXMiO2lmKGouZW5kc1dpdGgoIi8qIikpe2xldCBSPWouc3BsaXQoIi8iKVswXTtyZXR1cm4gUj9gJHtSLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfSR7Ui5zbGljZSgxKX0gZmlsZXNgOiJBbGwgZmlsZXMifXJldHVybiBqLnN0YXJ0c1dpdGgoIi4iKT9qLnNsaWNlKDEpLnRvVXBwZXJDYXNlKCk6ai5pbmNsdWRlcygicGRmIik/IlBERiI6ai5pbmNsdWRlcygiemlwIik/IlpJUCI6ai5pbmNsdWRlcygianNvbiIpPyJKU09OIjpqLmluY2x1ZGVzKCJtc3dvcmQiKT8iRE9DIjpqLmluY2x1ZGVzKCJ3b3JkcHJvY2Vzc2luZ21sIik/IkRPQ1giOmouaW5jbHVkZXMoImV4Y2VsIik/IlhMUyI6ai5pbmNsdWRlcygicHJlc2VudGF0aW9uIik/IlBQVCI6KGouc3BsaXQoIi8iKS5wb3AoKT8/aikudG9VcHBlckNhc2UoKX1hdHRhY2hMaWZlY3ljbGVMaXN0ZW5lcnMoKXt0aGlzLnJlYmluZEludGVyYWN0aXZlRWxlbWVudHMoKX1maXJzdFVwZGF0ZWQoail7c3VwZXIuZmlyc3RVcGRhdGVkKGopLHRoaXMuYXR0YWNoTGlmZWN5Y2xlTGlzdGVuZXJzKCl9dXBkYXRlZChqKXtzdXBlci51cGRhdGVkKGopLGouaGFzKCJ2YWx1ZSIpJiZ0aGlzLnZhbGlkYXRlKCksdGhpcy5yZWJpbmRJbnRlcmFjdGl2ZUVsZW1lbnRzKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLmRldGFjaERyb3BMaXN0ZW5lcnMoKSx0aGlzLnZhbHVlLmZvckVhY2goaj0+dGhpcy5yZWxlYXNlUHJldmlldyhqKSksdGhpcy5wcmV2aWV3VXJsTWFwPW5ldyBXZWFrTWFwLGF3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCl9YXN5bmMgb3BlbkZpbGVTZWxlY3Rvcigpe2lmKHRoaXMuZGlzYWJsZWR8fHRoaXMuaXNMb2FkaW5nKXJldHVybjt0aGlzLmlzTG9hZGluZz0hMDtsZXQgaj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5maWxlLWlucHV0Iik7aWYoIWope3RoaXMuaXNMb2FkaW5nPSExO3JldHVybn1sZXQgRz1zKCgpPT57c2V0VGltZW91dCgoKT0+eyghai5maWxlc3x8ai5maWxlcy5sZW5ndGg9PT0wKSYmKHRoaXMuaXNMb2FkaW5nPSExKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLEcpfSwzMDApfSwiaGFuZGxlRm9jdXMiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLEcpLGouY2xpY2soKX1yZW1vdmVGaWxlKGope2xldCBHPXRoaXMudmFsdWUuaW5kZXhPZihqKTtHPi0xJiYodGhpcy5yZWxlYXNlUHJldmlldyhqKSx0aGlzLnZhbHVlLnNwbGljZShHLDEpLHRoaXMucmVxdWVzdFVwZGF0ZSgidmFsdWUiKSx0aGlzLnZhbGlkYXRlKCksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWNsZWFyQWxsKCl7bGV0IGo9Wy4uLnRoaXMudmFsdWVdO3RoaXMudmFsdWU9W10sai5mb3JFYWNoKEc9PnRoaXMucmVsZWFzZVByZXZpZXcoRykpLHRoaXMucmVxdWVzdFVwZGF0ZSgidmFsdWUiKSx0aGlzLnZhbGlkYXRlKCksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksdGhpcy5idXR0b25UZXh0PSJTZWxlY3QgZmlsZXMifWFzeW5jIHVwZGF0ZVZhbHVlKGope2xldCBHPWoudGFyZ2V0O3RoaXMudmFsdWU9QXJyYXkuZnJvbShHLmZpbGVzPz9bXSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9c2V0VmFsdWUoail7dGhpcy52YWx1ZS5mb3JFYWNoKEc9PnRoaXMucmVsZWFzZVByZXZpZXcoRykpLHRoaXMudmFsdWU9aixqLmxlbmd0aD4wP3RoaXMuYnV0dG9uVGV4dD10aGlzLm11bHRpcGxlPyJBZGQgbW9yZSBmaWxlcyI6IlJlcGxhY2UgZmlsZSI6dGhpcy5idXR0b25UZXh0PSJTZWxlY3QgZmlsZXMiLHRoaXMucmVxdWVzdFVwZGF0ZSgidmFsdWUiKSx0aGlzLnZhbGlkYXRlKCl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1hc3luYyBhZGRGaWxlcyhqKXtsZXQgRz1bXTtmb3IobGV0IGhlIG9mIGopdGhpcy52YWxpZGF0ZUZpbGUoaGUpJiZHLnB1c2goaGUpO2lmKEcubGVuZ3RoPT09MCl7dGhpcy5pc0xvYWRpbmc9ITE7cmV0dXJufWlmKHRoaXMubWF4RmlsZXM+MCYmdGhpcy52YWx1ZS5sZW5ndGgrRy5sZW5ndGg+dGhpcy5tYXhGaWxlcyl7bGV0IFI9dGhpcy5tYXhGaWxlcy10aGlzLnZhbHVlLmxlbmd0aDtpZihSPD0wKXt0aGlzLnZhbGlkYXRpb25NZXNzYWdlPWBNYXhpbXVtICR7dGhpcy5tYXhGaWxlc30gZmlsZXMgYWxsb3dlZGAsdGhpcy52YWxpZGF0aW9uU3RhdGU9ImludmFsaWQiLHRoaXMuaXNMb2FkaW5nPSExO3JldHVybn1HLnNwbGljZShSKSx0aGlzLnZhbGlkYXRpb25NZXNzYWdlPWBPbmx5ICR7Un0gbW9yZSBmaWxlKHMpIGNhbiBiZSBhZGRlZGAsdGhpcy52YWxpZGF0aW9uU3RhdGU9Indhcm4ifSF0aGlzLm11bHRpcGxlJiZHLmxlbmd0aD4wPyh0aGlzLnZhbHVlLmZvckVhY2goaGU9PnRoaXMucmVsZWFzZVByZXZpZXcoaGUpKSx0aGlzLnZhbHVlPVtHWzBdXSk6dGhpcy52YWx1ZS5wdXNoKC4uLkcpLHRoaXMudmFsaWRhdGlvbk1lc3NhZ2U9IiIsdGhpcy52YWxpZGF0aW9uU3RhdGU9bnVsbCx0aGlzLnJlcXVlc3RVcGRhdGUoInZhbHVlIiksYXdhaXQgdGhpcy52YWxpZGF0ZSgpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpLHRoaXMuaXNMb2FkaW5nPSExLHRoaXMudmFsdWUubGVuZ3RoPjA/dGhpcy5idXR0b25UZXh0PXRoaXMubXVsdGlwbGU/IkFkZCBtb3JlIGZpbGVzIjoiUmVwbGFjZSBmaWxlIjp0aGlzLmJ1dHRvblRleHQ9IlNlbGVjdCBmaWxlcyJ9YXN5bmMgdmFsaWRhdGUoKXtpZih0aGlzLnZhbGlkYXRpb25NZXNzYWdlPSIiLHRoaXMucmVxdWlyZWQmJnRoaXMudmFsdWUubGVuZ3RoPT09MClyZXR1cm4gdGhpcy52YWxpZGF0aW9uU3RhdGU9ImludmFsaWQiLHRoaXMudmFsaWRhdGlvbk1lc3NhZ2U9IlBsZWFzZSBzZWxlY3QgYXQgbGVhc3Qgb25lIGZpbGUiLCExO2ZvcihsZXQgaiBvZiB0aGlzLnZhbHVlKWlmKCF0aGlzLnZhbGlkYXRlRmlsZShqKSlyZXR1cm4hMTtyZXR1cm4gdGhpcy52YWxpZGF0aW9uU3RhdGU9dGhpcy52YWx1ZS5sZW5ndGg+MD8idmFsaWQiOm51bGwsITB9c3RhdGlje05zKHIsdCl9fTtyZXR1cm4gVz1yfSkoKX0pO3ZhciBSWWU9ZigoKT0+e05ZZSgpfSk7ZnVuY3Rpb24gcGFlKGEsZT17YWxsb3dRUklCQU46ITB9KXtpZihhPT1udWxsKXJldHVybiExO2xldCB0PW5ldyBSZWdFeHAoIl5bMC05XXsyfSQiLCIiKSxyPWEuc2xpY2UoMCwyKSxpPUVuW3JdO3JldHVybiBpPT09dm9pZCAwfHxpLmJiYW5fcmVnZXhwPT09dm9pZCAwfHxpLmJiYW5fcmVnZXhwPT09bnVsbHx8aS5jaGFycz09PXZvaWQgMD8hMTppLmNoYXJzPT09YS5sZW5ndGgmJnQudGVzdChhLnNsaWNlKDIsNCkpJiZFJGEoYS5zbGljZSg0KSxyKSYmQnNhKGEpJiYoZS5hbGxvd1FSSUJBTnx8IUZzYShhKSl9ZnVuY3Rpb24gUVJpKGEsZT17YWxsb3dRUklCQU46ITB9KXtsZXQgdD17ZXJyb3JDb2RlczpbXSx2YWxpZDohMH07aWYoYSE9bnVsbCYmYSE9PSIiKXtsZXQgcj1FblthLnNsaWNlKDAsMildO2lmKCFyfHwhKHIuYmJhbl9yZWdleHB8fHIuY2hhcnMpKXJldHVybiB0LnZhbGlkPSExLHQuZXJyb3JDb2Rlcy5wdXNoKEUxLk5vSUJBTkNvdW50cnkpLHQ7ciYmci5jaGFycyYmci5jaGFycyE9PWEubGVuZ3RoJiYodC52YWxpZD0hMSx0LmVycm9yQ29kZXMucHVzaChFMS5Xcm9uZ0JCQU5MZW5ndGgpKSxyJiZyLmJiYW5fcmVnZXhwJiYhT1llKGEuc2xpY2UoNCksci5iYmFuX3JlZ2V4cCkmJih0LnZhbGlkPSExLHQuZXJyb3JDb2Rlcy5wdXNoKEUxLldyb25nQkJBTkZvcm1hdCkpLHImJnIuYmJhbl92YWxpZGF0aW9uX2Z1bmMmJiFyLmJiYW5fdmFsaWRhdGlvbl9mdW5jKGEuc2xpY2UoNCkpJiYodC52YWxpZD0hMSx0LmVycm9yQ29kZXMucHVzaChFMS5Xcm9uZ0FjY291bnRCYW5rQnJhbmNoQ2hlY2tzdW0pKSxuZXcgUmVnRXhwKCJeWzAtOV17Mn0kIiwiIikudGVzdChhLnNsaWNlKDIsNCkpfHwodC52YWxpZD0hMSx0LmVycm9yQ29kZXMucHVzaChFMS5DaGVja3N1bU5vdE51bWJlcikpLCh0LmVycm9yQ29kZXMuaW5kZXhPZihFMS5Xcm9uZ0JCQU5Gb3JtYXQpIT09LTF8fCFCc2EoYSkpJiYodC52YWxpZD0hMSx0LmVycm9yQ29kZXMucHVzaChFMS5Xcm9uZ0lCQU5DaGVja3N1bSkpLCFlLmFsbG93UVJJQkFOJiZGc2EoYSkmJih0LnZhbGlkPSExLHQuZXJyb3JDb2Rlcy5wdXNoKEUxLlFSSUJBTk5vdEFsbG93ZWQpKX1lbHNlIHQudmFsaWQ9ITEsdC5lcnJvckNvZGVzLnB1c2goRTEuTm9JQkFOUHJvdmlkZWQpO3JldHVybiB0fWZ1bmN0aW9uIEUkYShhLGUpe2lmKGE9PW51bGx8fGU9PT12b2lkIDB8fGU9PT1udWxsKXJldHVybiExO2xldCB0PUVuW2VdO3JldHVybiB0PT1udWxsfHx0LmJiYW5fcmVnZXhwPT09dm9pZCAwfHx0LmJiYW5fcmVnZXhwPT09bnVsbHx8dC5jaGFycz09PXZvaWQgMHx8dC5jaGFycz09PW51bGw/ITE6dC5jaGFycy00PT09YS5sZW5ndGgmJk9ZZShhLHQuYmJhbl9yZWdleHApP3QuYmJhbl92YWxpZGF0aW9uX2Z1bmM/dC5iYmFuX3ZhbGlkYXRpb25fZnVuYyhhLnJlcGxhY2UoL1tccy5dKy9nLCIiKSk6ITA6ITF9ZnVuY3Rpb24gSlJpKGEpe2lmKGEhPW51bGwpe2xldCBlPUVuW2FdO2lmKGUhPT12b2lkIDApcmV0dXJuIGUuU0VQQT9lLlNFUEE6ITF9cmV0dXJuITF9ZnVuY3Rpb24gRnNhKGEpe2lmKGE9PW51bGwpcmV0dXJuITE7bGV0IGU9YS5zbGljZSgwLDIpO3JldHVyblsiTEkiLCJDSCJdLmluY2x1ZGVzKGUpP25ldyBSZWdFeHAoIl4zWzAtMV17MX1bMC05XXszfSQiLCIiKS50ZXN0KGEuc2xpY2UoNCw5KSk6ITF9ZnVuY3Rpb24gZU9pKGEpe2xldCBlPUZZZShhLmJiYW4pfHwiIjtpZihhLmNvdW50cnlDb2RlPT09bnVsbHx8YS5jb3VudHJ5Q29kZT09PXZvaWQgMClyZXR1cm4gbnVsbDtsZXQgdD1FblthLmNvdW50cnlDb2RlXTtpZihlIT09IiImJnQhPT12b2lkIDAmJnQuY2hhcnMmJnQuY2hhcnMhPT1udWxsJiZ0LmNoYXJzPT09ZS5sZW5ndGgrNCYmdC5iYmFuX3JlZ2V4cCYmdC5iYmFuX3JlZ2V4cCE9PW51bGwmJk9ZZShlLHQuYmJhbl9yZWdleHApKXtsZXQgcj1JJGEoYS5jb3VudHJ5Q29kZSsiMDAiK2UpO3JldHVybiBhLmNvdW50cnlDb2RlKygiMCIrKDk4LXIpKS5zbGljZSgtMikrZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiB0T2koYSl7bGV0IGU9e30sdD1GWWUoYSk7aWYoZS5pYmFuPXR8fGEsdCYmcGFlKHQpKXtlLmJiYW49dC5zbGljZSg0KSxlLmNvdW50cnlDb2RlPXQuc2xpY2UoMCwyKSxlLnZhbGlkPSEwO2xldCByPUVuW2UuY291bnRyeUNvZGVdO2lmKHIuYWNjb3VudF9pbmRlbnRpZmllcil7bGV0IGk9ci5hY2NvdW50X2luZGVudGlmaWVyLnNwbGl0KCItIiksbz1wYXJzZUludChpWzBdKSxuPXBhcnNlSW50KGlbMV0pO2UuYWNjb3VudE51bWJlcj1lLmliYW4uc2xpY2UobyxuKzEpfWlmKHIuYmFua19pZGVudGlmaWVyKXtsZXQgaT1yLmJhbmtfaWRlbnRpZmllci5zcGxpdCgiLSIpLG89cGFyc2VJbnQoaVswXSksbj1wYXJzZUludChpWzFdKTtlLmJhbmtJZGVudGlmaWVyPWUuYmJhbi5zbGljZShvLG4rMSl9aWYoci5icmFuY2hfaW5kZW50aWZpZXIpe2xldCBpPXIuYnJhbmNoX2luZGVudGlmaWVyLnNwbGl0KCItIiksbz1wYXJzZUludChpWzBdKSxuPXBhcnNlSW50KGlbMV0pO2UuYnJhbmNoSWRlbnRpZmllcj1lLmJiYW4uc2xpY2UobyxuKzEpfX1lbHNlIGUudmFsaWQ9ITE7cmV0dXJuIGV9ZnVuY3Rpb24gT1llKGEsZSl7cmV0dXJuIG5ldyBSZWdFeHAoZSwiIikudGVzdChhKX1mdW5jdGlvbiBGWWUoYSl7cmV0dXJuIHR5cGVvZiBhIT0ic3RyaW5nIj9udWxsOmEucmVwbGFjZSgvWy1cIF0vZywiIikudG9VcHBlckNhc2UoKX1mdW5jdGlvbiBCWWUoYSxlKXtpZih0eXBlb2YgYSE9InN0cmluZyIpcmV0dXJuIG51bGw7ZT09bnVsbCYmKGU9IiAiKTtsZXQgdD1GWWUoYSk7cmV0dXJuIHQ9PT1udWxsP251bGw6dC5yZXBsYWNlKC8oLns0fSkoPyEkKS9nLCIkMSIrZSl9ZnVuY3Rpb24gQnNhKGEpe2xldCBlPWEuc2xpY2UoMCwyKSx0PXBhcnNlSW50KGEuc2xpY2UoMiw0KSwxMCkscj1hLnNsaWNlKDQpLGk9SHNhKGAke3J9JHtlfTAwYCk7cmV0dXJuIDk4LXVhZShpKT09PXR9ZnVuY3Rpb24gSHNhKGEpe3JldHVybiBhLnNwbGl0KCIiKS5tYXAoZT0+e2xldCB0PWUuY2hhckNvZGVBdCgwKTtyZXR1cm4gdD49NjU/KHQtNTUpLnRvU3RyaW5nKCk6ZX0pLmpvaW4oIiIpfWZ1bmN0aW9uIEkkYShhKXtyZXR1cm4gdWFlKEhzYShhLnNsaWNlKDQpK2Euc2xpY2UoMCw0KSkpfWZ1bmN0aW9uIGFPaSgpe2xldCBhPXt9O2ZvcihsZXQgZSBpbiBFbil7bGV0IHQ9RW5bZV07YVtlXT17Y2hhcnM6dC5jaGFyc3x8bnVsbCxiYmFuX3JlZ2V4cDp0LmJiYW5fcmVnZXhwfHxudWxsLElCQU5SZWdpc3RyeTp0LklCQU5SZWdpc3RyeXx8ITEsU0VQQTp0LlNFUEF8fCExfX1yZXR1cm4gYX1mdW5jdGlvbiBOJGEoYSl7aWYoIWEpcmV0dXJuITE7bGV0IGU9bmV3IFJlZ0V4cCgiXlthLXpBLVpdezZ9W2EtekEtWjAtOV17Mn0oW2EtekEtWjAtOV17M30pPyQiLCIiKSx0PUVuW2EudG9VcHBlckNhc2UoKS5zbGljZSg0LDYpXTtyZXR1cm4gZS50ZXN0KGEpJiZ0IT09dm9pZCAwfWZ1bmN0aW9uIHJPaShhKXtsZXQgZT17ZXJyb3JDb2RlczpbXSx2YWxpZDohMH07cmV0dXJuIGEhPW51bGwmJmEhPT0iIj9FblthLnRvVXBwZXJDYXNlKCkuc2xpY2UoNCw2KV09PT12b2lkIDA/KGUudmFsaWQ9ITEsZS5lcnJvckNvZGVzLnB1c2goQVUuTm9CSUNDb3VudHJ5KSk6bmV3IFJlZ0V4cCgiXlthLXpBLVpdezZ9W2EtekEtWjAtOV17Mn0oW2EtekEtWjAtOV17M30pPyQiLCIiKS50ZXN0KGEpfHwoZS52YWxpZD0hMSxlLmVycm9yQ29kZXMucHVzaChBVS5Xcm9uZ0JJQ0Zvcm1hdCkpOihlLnZhbGlkPSExLGUuZXJyb3JDb2Rlcy5wdXNoKEFVLk5vQklDUHJvdmlkZWQpKSxlfWZ1bmN0aW9uIHNPaShhKXtsZXQgZT17fSx0PWEudG9VcHBlckNhc2UoKTtyZXR1cm4gTiRhKHQpPyhlLmJhbmtDb2RlPXQuc2xpY2UoMCw0KSxlLmNvdW50cnlDb2RlPXQuc2xpY2UoNCw2KSxlLmxvY2F0aW9uQ29kZT10LnNsaWNlKDYsOCksZS50ZXN0QklDPWUubG9jYXRpb25Db2RlWzFdPT09IjAiLGUuYnJhbmNoQ29kZT10Lmxlbmd0aD44P3Quc2xpY2UoOCk6bnVsbCxlLnZhbGlkPSEwKTplLnZhbGlkPSExLGV9dmFyIEUxLEFVLFIkYSxPJGEsdWFlLG5tLEYkYSxCJGEscXNhLEgkYSxWc2EscSRhLGpzYSxWJGEsaU9pLEVuLFVzYT1mKCgpPT57InVzZSBzdHJpY3QiO3MocGFlLCJpc1ZhbGlkSUJBTiIpOyhmdW5jdGlvbihhKXthW2EuTm9JQkFOUHJvdmlkZWQ9MF09Ik5vSUJBTlByb3ZpZGVkIixhW2EuTm9JQkFOQ291bnRyeT0xXT0iTm9JQkFOQ291bnRyeSIsYVthLldyb25nQkJBTkxlbmd0aD0yXT0iV3JvbmdCQkFOTGVuZ3RoIixhW2EuV3JvbmdCQkFORm9ybWF0PTNdPSJXcm9uZ0JCQU5Gb3JtYXQiLGFbYS5DaGVja3N1bU5vdE51bWJlcj00XT0iQ2hlY2tzdW1Ob3ROdW1iZXIiLGFbYS5Xcm9uZ0lCQU5DaGVja3N1bT01XT0iV3JvbmdJQkFOQ2hlY2tzdW0iLGFbYS5Xcm9uZ0FjY291bnRCYW5rQnJhbmNoQ2hlY2tzdW09Nl09Ildyb25nQWNjb3VudEJhbmtCcmFuY2hDaGVja3N1bSIsYVthLlFSSUJBTk5vdEFsbG93ZWQ9N109IlFSSUJBTk5vdEFsbG93ZWQifSkoRTF8fChFMT17fSkpO3MoUVJpLCJ2YWxpZGF0ZUlCQU4iKTtzKEUkYSwiaXNWYWxpZEJCQU4iKTtzKEpSaSwiaXNTRVBBQ291bnRyeSIpO3MoRnNhLCJpc1FSSUJBTiIpO3MoZU9pLCJjb21wb3NlSUJBTiIpO3ModE9pLCJleHRyYWN0SUJBTiIpO3MoT1llLCJjaGVja0Zvcm1hdEJCQU4iKTtzKEZZZSwiZWxlY3Ryb25pY0Zvcm1hdElCQU4iKTtzKEJZZSwiZnJpZW5kbHlGb3JtYXRJQkFOIik7cyhCc2EsImlzVmFsaWRJQkFOQ2hlY2tzdW0iKTtzKEhzYSwicmVwbGFjZUNoYXJhdGVyV2l0aENvZGUiKTtzKEkkYSwibW9kOTcxMEliYW4iKTtzKGFPaSwiZ2V0Q291bnRyeVNwZWNpZmljYXRpb25zIik7cyhOJGEsImlzVmFsaWRCSUMiKTsoZnVuY3Rpb24oYSl7YVthLk5vQklDUHJvdmlkZWQ9MF09Ik5vQklDUHJvdmlkZWQiLGFbYS5Ob0JJQ0NvdW50cnk9MV09Ik5vQklDQ291bnRyeSIsYVthLldyb25nQklDRm9ybWF0PTJdPSJXcm9uZ0JJQ0Zvcm1hdCJ9KShBVXx8KEFVPXt9KSk7cyhyT2ksInZhbGlkYXRlQklDIik7cyhzT2ksImV4dHJhY3RCSUMiKTtSJGE9cyhhPT57bGV0IGU9WzUsNCwzLDIsNyw2LDUsNCwzLDJdLHQ9YS5yZXBsYWNlKC9bXHMuXSsvZywiIikscj1wYXJzZUludCh0LmNoYXJBdCgxMCksMTApLGk9dC5zdWJzdHJpbmcoMCwxMCksbz0wO2ZvcihsZXQgbD0wO2w8MTA7bCsrKW8rPXBhcnNlSW50KGkuY2hhckF0KGwpLDEwKSplW2xdO2xldCBuPW8lMTE7cmV0dXJuIHI9PT0obj09PTA/MDoxMS1uKX0sImNoZWNrTm9yd2F5QkJBTiIpLE8kYT1zKGE9PntsZXQgZT1hLnJlcGxhY2UoL1tccy5dKy9nLCIiKSx0PXBhcnNlSW50KGUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMiksMTApLHI9cGFyc2VJbnQoZS5zdWJzdHJpbmcoZS5sZW5ndGgtMixlLmxlbmd0aCksMTApO3JldHVybih0JTk3PT09MD85Nzp0JTk3KT09PXJ9LCJjaGVja0JlbGdpYW5CQkFOIiksdWFlPXMoYT0+e2Zvcig7YS5sZW5ndGg+Mjspe2xldCBlPWEuc2xpY2UoMCw2KSx0PXBhcnNlSW50KGUsMTApO2lmKGlzTmFOKHQpKXJldHVybiBOYU47YT10JTk3K2Euc2xpY2UoZS5sZW5ndGgpfXJldHVybiBwYXJzZUludChhLDEwKSU5N30sIm1vZDk3MTAiKSxubT1zKGE9PntsZXQgZT1hLnJlcGxhY2UoL1tccy5dKy9nLCIiKTtyZXR1cm4gdWFlKGUpPT09MX0sImNoZWNrTW9kOTcxMEJCQU4iKSxGJGE9cyhhPT57bGV0IGU9WzMsOSw3LDEsMyw5LDddLHQ9cGFyc2VJbnQoYS5jaGFyQXQoNyksMTApLHI9YS5zdWJzdHJpbmcoMCw3KSxpPTA7Zm9yKGxldCBuPTA7bjw3O24rKylpKz1wYXJzZUludChyLmNoYXJBdChuKSwxMCkqZVtuXTtsZXQgbz1pJTEwO3JldHVybiB0PT09KG89PT0wPzA6MTAtbyl9LCJjaGVja1BvbGFuZEJCQU4iKSxCJGE9cyhhPT57bGV0IGU9WzQsOCw1LDEwLDksNywzLDZdLHQ9WzEsMiw0LDgsNSwxMCw5LDcsMyw2XSxyPXBhcnNlSW50KGEuY2hhckF0KDgpLDEwKSxpPXBhcnNlSW50KGEuY2hhckF0KDkpLDEwKSxvPWEuc3Vic3RyaW5nKDAsOCksbj1hLnN1YnN0cmluZygxMCwyMCksbD0wO2ZvcihsZXQgYz0wO2M8ODtjKyspbCs9cGFyc2VJbnQoby5jaGFyQXQoYyksMTApKmVbY107bGV0IGQ9bCUxMTtpZihyIT09KGQ9PT0wPzA6ZD09PTE/MToxMS1kKSlyZXR1cm4hMTtsPTA7Zm9yKGxldCBjPTA7YzwxMDtjKyspbCs9cGFyc2VJbnQobi5jaGFyQXQoYyksMTApKnRbY107cmV0dXJuIGQ9bCUxMSxpPT09KGQ9PT0wPzA6ZD09PTE/MToxMS1kKX0sImNoZWNrU3BhaW5CQkFOIikscXNhPXMoKGEsZSk9PntsZXQgdD0xMDtmb3IobGV0IHI9MDtyPGEubGVuZ3RoO3IrKyl0Kz1wYXJzZUludChhLmNoYXJBdChyKSwxMCksdCUxMCE9PTAmJih0PXQlMTApLHQ9dCoyLHQ9dCUxMTtyZXR1cm4gZT09PSgxMS10PT09MTA/MDoxMS10KX0sImNoZWNrTW9kMTExMCIpLEgkYT1zKGE9PntsZXQgZT1wYXJzZUludChhLmNoYXJBdCg2KSwxMCksdD1wYXJzZUludChhLmNoYXJBdCgxNiksMTApLHI9YS5zdWJzdHJpbmcoMCw2KSxpPWEuc3Vic3RyaW5nKDcsMTYpO3JldHVybiBxc2EocixlKSYmcXNhKGksdCl9LCJjaGVja0Nyb2F0aWFuQkJBTiIpLFZzYT1zKGE9PntsZXQgZT1bMTAsNSw4LDQsMiwxXSx0PVs2LDMsNyw5LDEwLDUsOCw0LDIsMV0scj1wYXJzZUludChhLmNoYXJBdCg5KSwxMCksaT1wYXJzZUludChhLmNoYXJBdCgxOSksMTApLG89YS5zdWJzdHJpbmcoNCw5KSxuPWEuc3Vic3RyaW5nKDEwLDE5KSxsPTA7Zm9yKGxldCBjPTA7YzxvLmxlbmd0aDtjKyspbCs9cGFyc2VJbnQoby5jaGFyQXQoYyksMTApKmVbY107bGV0IGQ9bCUxMTtpZihyIT09KGQ9PT0wPzA6ZD09PTE/MToxMS1kKSlyZXR1cm4hMTtsPTA7Zm9yKGxldCBjPTA7YzxuLmxlbmd0aDtjKyspbCs9cGFyc2VJbnQobi5jaGFyQXQoYyksMTApKnRbY107cmV0dXJuIGQ9bCUxMSxpPT09KGQ9PT0wPzA6ZD09PTE/MToxMS1kKX0sImNoZWNrQ3plY2hBbmRTbG92YWtCQkFOIikscSRhPXMoYT0+e2xldCBlPVs3LDEsMyw3LDEsMyw3LDEsMyw3LDEsMyw3XSx0PXBhcnNlSW50KGEuY2hhckF0KDE1KSwxMCkscj1hLnN1YnN0cmluZygyLDE1KSxpPTA7Zm9yKGxldCBuPTA7bjxyLmxlbmd0aDtuKyspaSs9cGFyc2VJbnQoci5jaGFyQXQobiksMTApKmVbbl07bGV0IG89aSUxMDtyZXR1cm4gdD09PShvPT09MD8wOjEwLW8pfSwiY2hlY2tFc3RvbmlhbkJCQU4iKSxqc2E9cyhhPT57bGV0IGU9YS5yZXBsYWNlKC9bXHMuXSsvZywiIiksdD1BcnJheS5mcm9tKGUpO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtsZXQgbz10W2ldLmNoYXJDb2RlQXQoMCk7aWYobz49NjUpc3dpdGNoKG8pe2Nhc2UgNjU6Y2FzZSA3NDp0W2ldPSIxIjticmVhaztjYXNlIDY2OmNhc2UgNzU6Y2FzZSA4Mzp0W2ldPSIyIjticmVhaztjYXNlIDY3OmNhc2UgNzY6Y2FzZSA4NDp0W2ldPSIzIjticmVhaztjYXNlIDY4OmNhc2UgNzc6Y2FzZSA4NTp0W2ldPSI0IjticmVhaztjYXNlIDY5OmNhc2UgNzg6Y2FzZSA4Njp0W2ldPSI1IjticmVhaztjYXNlIDcwOmNhc2UgNzk6Y2FzZSA4Nzp0W2ldPSI2IjticmVhaztjYXNlIDcxOmNhc2UgODA6Y2FzZSA4ODp0W2ldPSI3IjticmVhaztjYXNlIDcyOmNhc2UgODE6Y2FzZSA4OTp0W2ldPSI4IjticmVhaztjYXNlIDczOmNhc2UgODI6Y2FzZSA5MDp0W2ldPSI5IjticmVha319cmV0dXJuIHVhZSh0LmpvaW4oIiIpKT09PTB9LCJjaGVja0ZyZW5jaEJCQU4iKSxWJGE9cyhhPT57bGV0IGU9WzksNywzLDEsOSw3LDMsMSw5LDcsMywxLDksNywzXSx0PXBhcnNlSW50KGEuY2hhckF0KDcpLDEwKSxyPWEuc3Vic3RyaW5nKDAsNyksaT0wO2ZvcihsZXQgbj0wO248ci5sZW5ndGg7bisrKWkrPXBhcnNlSW50KHIuY2hhckF0KG4pLDEwKSplW25dO2xldCBvPWklMTA7aWYodCE9PShvPT09MD8wOjEwLW8pKXJldHVybiExO2lmKGk9MCxhLmVuZHNXaXRoKCIwMDAwMDAwMCIpKXtsZXQgbj1hLnN1YnN0cmluZyg4LDE1KSxsPXBhcnNlSW50KGEuY2hhckF0KDE1KSwxMCk7Zm9yKGxldCBjPTA7YzxuLmxlbmd0aDtjKyspaSs9cGFyc2VJbnQobi5jaGFyQXQoYyksMTApKmVbY107bGV0IGQ9aSUxMDtyZXR1cm4gbD09PShkPT09MD8wOjEwLWQpfWVsc2V7bGV0IG49YS5zdWJzdHJpbmcoOCwyMyksbD1wYXJzZUludChhLmNoYXJBdCgyMyksMTApO2ZvcihsZXQgYz0wO2M8bi5sZW5ndGg7YysrKWkrPXBhcnNlSW50KG4uY2hhckF0KGMpLDEwKSplW2NdO2xldCBkPWklMTA7cmV0dXJuIGw9PT0oZD09PTA/MDoxMC1kKX19LCJjaGVja0h1bmdhcmlhbkJCQU4iKSxpT2k9cygoYSxlKT0+dHlwZW9mIEVuW2FdPiJ1Ij8hMTooRW5bYV0uYmJhbl92YWxpZGF0aW9uX2Z1bmM9ZSwhMCksInNldENvdW50cnlCQkFOVmFsaWRhdGlvbiIpLEVuPXtBRDp7Y2hhcnM6MjQsYmJhbl9yZWdleHA6Il5bMC05XXs4fVtBLVowLTldezEyfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC03IixiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTItMjMifSxBRTp7Y2hhcnM6MjMsYmJhbl9yZWdleHA6Il5bMC05XXszfVswLTldezE2fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiNy0yMyJ9LEFGOnt9LEFHOnt9LEFJOnt9LEFMOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXlswLTldezh9W0EtWjAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy03IixiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTItMjgifSxBTTp7fSxBTzp7Y2hhcnM6MjUsYmJhbl9yZWdleHA6Il5bMC05XXsyMX0kIn0sQVE6e30sQVI6e30sQVM6e30sQVQ6e2NoYXJzOjIwLGJiYW5fcmVnZXhwOiJeWzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTQifSxBVTp7fSxBVzp7fSxBWDp7Y2hhcnM6MTgsYmJhbl9yZWdleHA6Il5bMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITB9LEFaOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9W0EtWjAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI0LTI4In0sQkE6e2NoYXJzOjIwLGJiYW5fcmVnZXhwOiJeWzAtOV17MTZ9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6bm0sSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy01IixiYW5rX2lkZW50aWZpZXI6IjAtMiJ9LEJCOnt9LEJEOnt9LEJFOntjaGFyczoxNixiYmFuX3JlZ2V4cDoiXlswLTldezEyfSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOk8kYSxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiMC0xNiJ9LEJGOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVowLTldezJ9WzAtOV17MjJ9JCJ9LEJHOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17Nn1bQS1aMC05XXs4fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC03IixiYW5rX2lkZW50aWZpZXI6IjAtMyJ9LEJIOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXltBLVpdezR9W0EtWjAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTIyIn0sQkk6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCIsYnJhbmNoX2luZGVudGlmaWVyOiI1LTkiLGJhbmtfaWRlbnRpZmllcjoiMC00IixhY2NvdW50X2luZGVudGlmaWVyOiIxNC0yNyJ9LEJKOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVowLTldezJ9WzAtOV17MjJ9JCJ9LEJMOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCJ9LEJNOnt9LEJOOnt9LEJPOnt9LEJROnt9LEJSOntjaGFyczoyOSxiYmFuX3JlZ2V4cDoiXlswLTldezIzfVtBLVpdezF9W0EtWjAtOV17MX0kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI4LTEyIixiYW5rX2lkZW50aWZpZXI6IjAtNyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTctMjkifSxCUzp7fSxCVDp7fSxCVjp7fSxCVzp7fSxCWTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezR9W0EtWjAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIn0sQlo6e30sQ0E6e30sQ0M6e30sQ0Q6e30sQ0Y6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LENHOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQifSxDSDp7Y2hhcnM6MjEsYmJhbl9yZWdleHA6Il5bMC05XXs1fVtBLVowLTldezEyfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC00In0sQ0k6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWl17MX1bMC05XXsyM30kIn0sQ0s6e30sQ0w6e30sQ006e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LENOOnt9LENPOnt9LENSOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXlswLTldezE4fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yMiJ9LENVOnt9LENWOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXlswLTldezIxfSQifSxDVzp7fSxDWDp7fSxDWTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bMC05XXs4fVtBLVowLTldezE2fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy03IixiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTItMjgifSxDWjp7Y2hhcnM6MjQsYmJhbl9yZWdleHA6Il5bMC05XXsyMH0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpWc2EsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMifSxERTp7Y2hhcnM6MjIsYmJhbl9yZWdleHA6Il5bMC05XXsxOH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtNyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTItMjIifSxESjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIixicmFuY2hfaW5kZW50aWZpZXI6IjUtOSIsYmFua19pZGVudGlmaWVyOiIwLTQiLGFjY291bnRfaW5kZW50aWZpZXI6IjE0LTI3In0sREs6e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeWzAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMTgifSxETTp7fSxETzp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezIwfSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yOCJ9LERaOntjaGFyczoyNixiYmFuX3JlZ2V4cDoiXlswLTldezIyfSQifSxFQzp7fSxFRTp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpxJGEsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTEiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjAifSxFRzp7Y2hhcnM6MjksYmJhbl9yZWdleHA6Il5bMC05XXsyNX0iLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtNyIsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjE3LTI5In0sRUg6e30sRVI6e30sRVM6e2NoYXJzOjI0LGJiYW5fdmFsaWRhdGlvbl9mdW5jOkIkYSxiYmFuX3JlZ2V4cDoiXlswLTldezIwfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC03IixiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTQtMjQifSxFVDp7fSxGSTp7Y2hhcnM6MTgsYmJhbl9yZWdleHA6Il5bMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiMC0wIn0sRko6e30sRks6e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeW0EtWl17Mn1bMC05XXsxMn0kIixiYW5rX2lkZW50aWZpZXI6IjAtMSIsYWNjb3VudF9pbmRlbnRpZmllcjoiNi0xOCJ9LEZNOnt9LEZPOntjaGFyczoxOCxiYmFuX3JlZ2V4cDoiXlswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0xOCJ9LEZSOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6anNhLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC00IixicmFuY2hfaW5kZW50aWZpZXI6IjUtOSIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTQtMjQifSxHQTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sR0I6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtOSIsYmFua19pZGVudGlmaWVyOiIwLTMifSxHRDp7fSxHRTp7Y2hhcnM6MjIsYmJhbl9yZWdleHA6Il5bQS1aMC05XXsyfVswLTldezE2fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMSIsYWNjb3VudF9pbmRlbnRpZmllcjoiNi0yMiJ9LEdGOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxHRzp7fSxHSDp7fSxHSTp7Y2hhcnM6MjMsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezE1fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTIzIn0sR0w6e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeWzAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI0LTE4In0sR006e30sR046e30sR1A6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LEdROntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQifSxHUjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXs3fVtBLVowLTldezE2fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy02IixiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiNy0yNyJ9LEdTOnt9LEdUOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVowLTldezI0fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yOCJ9LEdVOnt9LEdXOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXltBLVpdezJ9WzAtOV17MTl9JCJ9LEdZOnt9LEhLOnt9LEhNOnt9LEhOOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MjB9JCJ9LEhSOntjaGFyczoyMSxiYmFuX3JlZ2V4cDoiXlswLTldezE3fSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOkgkYSxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtNiJ9LEhUOnt9LEhVOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXlswLTldezI0fSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOlYkYSxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjMtNiIsYmFua19pZGVudGlmaWVyOiIwLTIifSxJRDp7fSxJRTp7Y2hhcnM6MjIsYmJhbl9yZWdleHA6Il5bQS1aMC05XXs0fVswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC05IixiYW5rX2lkZW50aWZpZXI6IjAtMyJ9LElMOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXlswLTldezE5fSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjMtNSIsYmFua19pZGVudGlmaWVyOiIwLTIifSxJTTp7fSxJTjp7fSxJTzp7fSxJUTp7Y2hhcnM6MjMsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezE1fSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtNiIsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjExLTIzIn0sSVI6e2NoYXJzOjI2LGJiYW5fcmVnZXhwOiJeWzAtOV17MjJ9JCJ9LElTOntjaGFyczoyNixiYmFuX3JlZ2V4cDoiXlswLTldezIyfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMi0zIixiYW5rX2lkZW50aWZpZXI6IjAtMSIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yNSJ9LElUOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXltBLVpdezF9WzAtOV17MTB9W0EtWjAtOV17MTJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI2LTEwIixiYW5rX2lkZW50aWZpZXI6IjEtNSIsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0yNyJ9LEpFOnt9LEpNOnt9LEpPOntjaGFyczozMCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17NH1bQS1aMC05XXsxOH0kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTciLGJhbmtfaWRlbnRpZmllcjoiNC03In0sSlA6e30sS0U6e30sS0c6e30sS0g6e30sS0k6e30sS006e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LEtOOnt9LEtQOnt9LEtSOnt9LEtXOntjaGFyczozMCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9W0EtWjAtOV17MjJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIyMC0zMCJ9LEtZOnt9LEtaOntjaGFyczoyMCxiYmFuX3JlZ2V4cDoiXlswLTldezN9W0EtWjAtOV17MTN9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTIwIn0sTEE6e30sTEI6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeWzAtOV17NH1bQS1aMC05XXsyMH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjE0LTI4In0sTEM6e2NoYXJzOjMyLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsyNH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMzIifSxMSTp7Y2hhcnM6MjEsYmJhbl9yZWdleHA6Il5bMC05XXs1fVtBLVowLTldezEyfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC00In0sTEs6e30sTFI6e30sTFM6e30sTFQ6e2NoYXJzOjIwLGJiYW5fcmVnZXhwOiJeWzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTQifSxMVTp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXszfVtBLVowLTldezEzfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sTFY6e2NoYXJzOjIxLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsxM30kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMC0yMSJ9LExZOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXlswLTldezIxfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjMtNSIsYmFua19pZGVudGlmaWVyOiIwLTIiLGFjY291bnRfaW5kZW50aWZpZXI6IjEwLTI1In0sTUE6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeWzAtOV17MjR9JCJ9LE1DOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6anNhLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNS05IixiYW5rX2lkZW50aWZpZXI6IjAtNCJ9LE1EOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXltBLVowLTldezJ9W0EtWjAtOV17MTh9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI2LTI0In0sTUU6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeWzAtOV17MTh9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6bm0sSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiI0LTIyIn0sTUY6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LE1HOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQifSxNSDp7fSxNSzp7Y2hhcnM6MTksYmJhbl9yZWdleHA6Il5bMC05XXszfVtBLVowLTldezEwfVswLTldezJ9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6bm0sSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sTUw6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17Mn1bMC05XXsyMn0kIn0sTU06e30sTU46e2NoYXJzOjIwLGJiYW5fcmVnZXhwOiJeWzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTIwIn0sTU86e30sTVA6e30sTVE6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LE1SOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjUtOSIsYmFua19pZGVudGlmaWVyOiIwLTQiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjYifSxNUzp7fSxNVDp7Y2hhcnM6MzEsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezV9W0EtWjAtOV17MTh9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTgiLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIxNS0zMSJ9LE1VOntjaGFyczozMCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MTl9W0EtWl17M30kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI2LTciLGJhbmtfaWRlbnRpZmllcjoiMC01IixhY2NvdW50X2luZGVudGlmaWVyOiIwLTMwIn0sTVY6e30sTVc6e30sTVg6e30sTVk6e30sTVo6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeWzAtOV17MjF9JCJ9LE5BOnt9LE5DOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxORTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXsyfVswLTldezIyfSQifSxORjp7fSxORzp7fSxOSTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezIwfSQiLGJhbmtfaWRlbnRpZmllcjoiMC0zIixJQkFOUmVnaXN0cnk6ITAsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yOCJ9LE5MOntjaGFyczoxOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MTB9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMTgifSxOTzp7Y2hhcnM6MTUsYmJhbl9yZWdleHA6Il5bMC05XXsxMX0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpSJGEsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMTUifSxOUDp7fSxOUjp7fSxOVTp7fSxOWjp7fSxPTTp7Y2hhcnM6MjMsYmJhbl9yZWdleHA6Il5bMC05XXszfVtBLVowLTldezE2fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiExLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sUEE6e30sUEU6e30sUEY6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LFBHOnt9LFBIOnt9LFBLOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXltBLVowLTldezR9WzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIn0sUEw6e2NoYXJzOjI4LGJiYW5fdmFsaWRhdGlvbl9mdW5jOkYkYSxiYmFuX3JlZ2V4cDoiXlswLTldezI0fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMC03IixhY2NvdW50X2luZGVudGlmaWVyOiIyLTI4In0sUE06e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LFBOOnt9LFBSOnt9LFBTOntjaGFyczoyOSxiYmFuX3JlZ2V4cDoiXltBLVowLTldezR9WzAtOV17MjF9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIxNy0yOSJ9LFBUOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXlswLTldezIxfSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOm5tLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIn0sUFc6e30sUFk6e30sUUE6e2NoYXJzOjI5LGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsyMX0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjkifSxSRTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sUk86e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMC0yNCJ9LFJTOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXlswLTldezE4fSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOm5tLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMiJ9LFJVOntjaGFyczozMyxiYmFuX3JlZ2V4cDoiXlswLTldezE0fVtBLVowLTldezE1fSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjktMTMiLGJhbmtfaWRlbnRpZmllcjoiMC04IixhY2NvdW50X2luZGVudGlmaWVyOiIxMy0zMyJ9LFJXOnt9LFNBOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXlswLTldezJ9W0EtWjAtOV17MTh9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yNCJ9LFNCOnt9LFNDOntjaGFyczozMSxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MjB9W0EtWl17M30kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI2LTciLGJhbmtfaWRlbnRpZmllcjoiMC01IixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yOCJ9LFNEOntjaGFyczoxOCxiYmFuX3JlZ2V4cDoiXlswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMSIsYWNjb3VudF9pbmRlbnRpZmllcjoiNi0xOCJ9LFNFOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXlswLTldezIwfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sU0c6e30sU0g6e30sU0k6e2NoYXJzOjE5LGJiYW5fcmVnZXhwOiJeWzAtOV17MTV9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6bm0sSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIyLTQiLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI5LTE2In0sU0o6e30sU0s6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeWzAtOV17MjB9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6VnNhLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwfSxTTDp7fSxTTTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bQS1aXXsxfVswLTldezEwfVtBLVowLTldezEyfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNi0xMCJ9LFNOOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezJ9WzAtOV17MjJ9JCJ9LFNPOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXlswLTldezE5fSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtNiIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTEtMjMifSxTUjp7fSxTUzp7fSxTVDp7Y2hhcnM6MjUsYmJhbl9yZWdleHA6Il5bMC05XXsyMX0kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTcifSxTVjp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezIwfSQiLElCQU5SZWdpc3RyeTohMCxhY2NvdW50X2luZGVudGlmaWVyOiI4LTI4In0sU1g6e30sU1k6e30sU1o6e30sVEM6e30sVEQ6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LFRGOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxURzp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXsyfVswLTldezIyfSQifSxUSDp7fSxUSjp7fSxUSzp7fSxUTDp7Y2hhcnM6MjMsYmJhbl9yZWdleHA6Il5bMC05XXsxOX0kIixJQkFOUmVnaXN0cnk6ITAsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0yMyJ9LFRNOnt9LFROOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXlswLTldezIwfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjItNCIsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0yNCJ9LFRPOnt9LFRSOntjaGFyczoyNixiYmFuX3JlZ2V4cDoiXlswLTldezV9W0EtWjAtOV17MTd9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxUVDp7fSxUVjp7fSxUVzp7fSxUWjp7fSxVQTp7Y2hhcnM6MjksYmJhbl9yZWdleHA6Il5bMC05XXs2fVtBLVowLTldezE5fSQiLElCQU5SZWdpc3RyeTohMCxhY2NvdW50X2luZGVudGlmaWVyOiIxNS0yOSJ9LFVHOnt9LFVNOnt9LFVTOnt9LFVZOnt9LFVaOnt9LFZBOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXlswLTldezE4fSIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYWNjb3VudF9pbmRlbnRpZmllcjoiNy0yMiJ9LFZDOnt9LFZFOnt9LFZHOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXltBLVowLTldezR9WzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjQifSxWSTp7fSxWTjp7fSxWVTp7fSxXRjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sV1M6e30sWEs6e2NoYXJzOjIwLGJiYW5fcmVnZXhwOiJeWzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMi0zIixhY2NvdW50X2luZGVudGlmaWVyOiI0LTIwIn0sWUU6e2NoYXJzOjMwLGJiYW5fcmVnZXhwOiJbQS1aXXs0fVswLTldezR9WzAtOUEtWl17MTh9IixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGJyYW5jaF9pbmRlbnRpZmllcjoiNC03In0sWVQ6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LFpBOnt9LFpNOnt9LFpXOnt9fX0pO3ZhciBXc2EsR3NhPWYoKCk9PntsZSgpO1dzYT1zKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICAke1hgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5wYXltZW50LWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIElCQU4gSW5wdXQifSAuc3VidGl0bGU9JHsiSW50ZXJuYXRpb25hbCBCYW5rIEFjY291bnQgTnVtYmVyIHdpdGggYXV0b21hdGljIGZvcm1hdHRpbmcifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtaWJhbgogICAgICAgICAgICAubGFiZWw9JHsiQmFuayBBY2NvdW50IElCQU4ifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiRW50ZXIgeW91ciBJbnRlcm5hdGlvbmFsIEJhbmsgQWNjb3VudCBOdW1iZXIifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiWW91ciBJQkFOIGNhbiBiZSBmb3VuZCBvbiB5b3VyIGJhbmsgc3RhdGVtZW50In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtaWJhbj4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1pYmFuCiAgICAgICAgICAgIC5sYWJlbD0keyJWZXJpZmllZCBJQkFOIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlRoaXMgSUJBTiBoYXMgYmVlbiB2ZXJpZmllZCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJERTg5MzcwNDAwNDQwNTMyMDEzMDAwIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtaWJhbj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlBheW1lbnQgSW5mb3JtYXRpb24ifSAuc3VidGl0bGU9JHsiSUJBTiBpbnB1dCB3aXRoIGhvcml6b250YWwgbGF5b3V0IGZvciBwYXltZW50IGZvcm1zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkaXYgY2xhc3M9InBheW1lbnQtZ3JvdXAiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgICAgLmxhYmVsPSR7IkFjY291bnQgSG9sZGVyIn0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAudmFsdWU9JHsiSm9obiBEb2UifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1pYmFuCiAgICAgICAgICAgICAgLmxhYmVsPSR7IklCQU4ifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC52YWx1ZT0keyJHQjgyV0VTVDEyMzQ1Njk4NzY1NDMyIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1pYmFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJWYWxpZGF0aW9uICYgU3RhdGVzIn0gLnN1YnRpdGxlPSR7IlJlcXVpcmVkIGZpZWxkcyBhbmQgZGlzYWJsZWQgc3RhdGVzIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LWliYW4KICAgICAgICAgICAgLmxhYmVsPSR7IlBheW1lbnQgQWNjb3VudCJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJSZXF1aXJlZCBmb3IgcHJvY2Vzc2luZyBwYXltZW50cyJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1pYmFuPgoKICAgICAgICAgIDxkZWVzLWlucHV0LWliYW4KICAgICAgICAgICAgLmxhYmVsPSR7IkxvY2tlZCBJQkFOIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlRoaXMgSUJBTiBjYW5ub3QgYmUgY2hhbmdlZCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJGUjE0MjAwNDEwMTAwNTA1MDAwMTNNMDI2MDYifQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtaWJhbj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhbmsgVHJhbnNmZXIgRm9ybSJ9IC5zdWJ0aXRsZT0keyJDb21wbGV0ZSBmb3JtIGV4YW1wbGUgd2l0aCBJQkFOIHZhbGlkYXRpb24ifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiUmVjaXBpZW50IE5hbWUifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1pYmFuIC5sYWJlbD0keyJSZWNpcGllbnQgSUJBTiJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtaWJhbj4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IlRyYW5zZmVyIFJlZmVyZW5jZSJ9IC5pbmZvVGV4dD0keyJPcHRpb25hbCByZWZlcmVuY2UgZm9yIHRoZSB0cmFuc2ZlciJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiQW1vdW50In0gLmlucHV0VHlwZT0keyJudW1iZXIifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBmYWUsTGYsaGFlLEhZZT1mKCgpPT57bGUoKTtlYSgpO1NyKCk7VXNhKCk7R3NhKCk7UWUoKTtmYWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LExmPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxoYWU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LWliYW4iKV0sZSx0PVtdLHIsaT1NdCxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0SWJhbiIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVskKHt0eXBlOlN0cmluZ30pXSxmYWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbnRlcmVkU3RyaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJlbnRlcmVkU3RyaW5nImluIGcsImhhcyIpLGdldDpzKGc9PmcuZW50ZXJlZFN0cmluZywiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmVudGVyZWRTdHJpbmc9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLGZhZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVudGVyZWRJYmFuSXNWYWxpZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iZW50ZXJlZEliYW5Jc1ZhbGlkImluIGcsImhhcyIpLGdldDpzKGc9PmcuZW50ZXJlZEliYW5Jc1ZhbGlkLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuZW50ZXJlZEliYW5Jc1ZhbGlkPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxmYWUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4idmFsdWUiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy52YWx1ZSwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnZhbHVlPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxmYWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz1Xc2E7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPUxmKHRoaXMsbiwiIik7Z2V0IGVudGVyZWRTdHJpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZW50ZXJlZFN0cmluZyhiKXt0aGlzLiNlPWJ9I3Q9KExmKHRoaXMsbCksTGYodGhpcyxjLCExKSk7Z2V0IGVudGVyZWRJYmFuSXNWYWxpZCgpe3JldHVybiB0aGlzLiN0fXNldCBlbnRlcmVkSWJhbklzVmFsaWQoYil7dGhpcy4jdD1ifSNhPShMZih0aGlzLHApLExmKHRoaXMsbSwiIikpO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNhfXNldCB2YWx1ZShiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1bUGUsLi4uTXQuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgLyogSUJBTiBpbnB1dCBzcGVjaWZpYyBzdHlsZXMgY2FuIGdvIGhlcmUgKi8KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfHwiSUJBTiJ9IC5pbmZvVGV4dD0ke3RoaXMuaW5mb1RleHR9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAudmFsdWU9JHt0aGlzLnZhbHVlfQogICAgICAgICAgLmRpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgIC5yZXF1aXJlZD0ke3RoaXMucmVxdWlyZWR9CiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiREU4OSAzNzA0IDAwNDQgMDUzMiAwMTMwIDAwIn0KICAgICAgICAgIC52YWxpZGF0aW9uRnVuY3Rpb249JHtiPT57bGV0IGc9Yi5yZXBsYWNlKC8gL2csIiIpO3JldHVybiBnLmxlbmd0aD09PTA/e3ZhbGlkOiEwLG1lc3NhZ2U6IiJ9OnBhZShnKT97dmFsaWQ6ITAsbWVzc2FnZToiSUJBTiBpcyB2YWxpZCJ9Ont2YWxpZDohMSxtZXNzYWdlOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBJQkFOIn19fQogICAgICAgICAgQGlucHV0PSR7Yj0+e3RoaXMudmFsaWRhdGVJYmFuKGIpfX0KICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgIDwvZGl2PgogICAgYH1maXJzdFVwZGF0ZWQoYil7c3VwZXIuZmlyc3RVcGRhdGVkKGIpO2xldCBnPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHQiKTtnJiZnLmNoYW5nZVN1YmplY3QmJmcuY2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoKCk9Pnt0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX0pfWFzeW5jIHZhbGlkYXRlSWJhbihiKXtsZXQgZz1iLnRhcmdldCx5PWc/LnZhbHVlO3k9eXx8IiIsdGhpcy5lbnRlcmVkU3RyaW5nIT09eSYmKHRoaXMuZW50ZXJlZFN0cmluZz1CWWUoeSl8fCIiLGcmJihnLnZhbHVlPXRoaXMuZW50ZXJlZFN0cmluZyx0aGlzLnZhbHVlPXRoaXMuZW50ZXJlZFN0cmluZyx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSkpLHRoaXMuZW50ZXJlZEliYW5Jc1ZhbGlkPXBhZSh0aGlzLmVudGVyZWRTdHJpbmcucmVwbGFjZSgvIC9nLCIiKSl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShiKXt0aGlzLnZhbHVlPWIsdGhpcy5lbnRlcmVkU3RyaW5nPUJZZShiKXx8IiJ9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLExmKHRoaXMsdil9c3RhdGlje0xmKHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBZc2EsS3NhPWYoKCk9PntsZSgpO1lzYT1zKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICAke1hgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAzMnB4OwogICAgICAgICAgcGFkZGluZzogNDhweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2VjdGlvbiB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxODE4MWIiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2V0dGluZ3MtZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAgIC5zZXR0aW5ncy1ncmlkIHsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5NdWx0aS1PcHRpb24gVG9nZ2xlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+U2VsZWN0IGZyb20gbXVsdGlwbGUgb3B0aW9ucyB3aXRoIGEgc21vb3RoIHNsaWRpbmcgaW5kaWNhdG9yIGFuaW1hdGlvbi48L2Rpdj4KCiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJEaXNwbGF5IE1vZGUifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiQ2hvb3NlIGhvdyBjb250ZW50IGlzIGRpc3BsYXllZCJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJUaGlzIHNldHRpbmcgYWZmZWN0cyBob3cgaXRlbXMgYXBwZWFyIG9uIHlvdXIgZGFzaGJvYXJkIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkxpc3QgVmlldyIsIkdyaWQgVmlldyIsIkNvbXBhY3QiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkdyaWQgVmlldyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJULVNoaXJ0IFNpemUifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiU2VsZWN0IHlvdXIgcHJlZmVycmVkIHNpemUifQogICAgICAgICAgICAub3B0aW9ucz0ke1siWFMiLCJTIiwiTSIsIkwiLCJYTCIsIlhYTCJdfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiTSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkJvb2xlYW4gVG9nZ2xlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+U2ltcGxlIG9uL29mZiBzd2l0Y2hlcyB3aXRoIGN1c3RvbWl6YWJsZSBsYWJlbHMgZm9yIGNsZWFyZXIgY29udGV4dC48L2Rpdj4KCiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJOb3RpZmljYXRpb25zIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IkVuYWJsZSBvciBkaXNhYmxlIHB1c2ggbm90aWZpY2F0aW9ucyJ9CiAgICAgICAgICAgIC50eXBlPSR7ImJvb2xlYW4ifQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsidHJ1ZSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJUaGVtZSBNb2RlIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlN3aXRjaCBiZXR3ZWVuIGxpZ2h0IGFuZCBkYXJrIHRoZW1lIn0KICAgICAgICAgICAgLnR5cGU9JHsiYm9vbGVhbiJ9CiAgICAgICAgICAgIC5ib29sZWFuVHJ1ZU5hbWU9JHsiRGFyayJ9CiAgICAgICAgICAgIC5ib29sZWFuRmFsc2VOYW1lPSR7IkxpZ2h0In0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkRhcmsifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TZXR0aW5ncyBHcmlkPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+Q29uZmlndXJhdGlvbiBvcHRpb25zIGFycmFuZ2VkIGluIGEgcmVzcG9uc2l2ZSBncmlkIGxheW91dC48L2Rpdj4KCiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLWdyaWQiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJBdXRvLVNhdmUifQogICAgICAgICAgICAgIC50eXBlPSR7ImJvb2xlYW4ifQogICAgICAgICAgICAgIC5ib29sZWFuVHJ1ZU5hbWU9JHsiRW5hYmxlZCJ9CiAgICAgICAgICAgICAgLmJvb2xlYW5GYWxzZU5hbWU9JHsiRGlzYWJsZWQifQogICAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJFbmFibGVkIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7Ikxhbmd1YWdlIn0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1siRW5nbGlzaCIsIkdlcm1hbiIsIkZyZW5jaCIsIlNwYW5pc2giXX0KICAgICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiRW5nbGlzaCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJRdWFsaXR5In0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1siTG93IiwiTWVkaXVtIiwiSGlnaCIsIlVsdHJhIl19CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkhpZ2gifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiUHJpdmFjeSJ9CiAgICAgICAgICAgICAgLnR5cGU9JHsiYm9vbGVhbiJ9CiAgICAgICAgICAgICAgLmJvb2xlYW5UcnVlTmFtZT0keyJQcml2YXRlIn0KICAgICAgICAgICAgICAuYm9vbGVhbkZhbHNlTmFtZT0keyJQdWJsaWMifQogICAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJQcml2YXRlIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlN0YXRlcyAmIEZvcm0gSW50ZWdyYXRpb248L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5FeGFtcGxlcyBvZiBkaXNhYmxlZCBzdGF0ZXMgYW5kIGludGVncmF0aW9uIHdpdGhpbiBmb3Jtcy48L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgLmxhYmVsPSR7IkFjY291bnQgVHlwZSJ9CiAgICAgICAgICAuaW5mb1RleHQ9JHsiVGhpcyBzZXR0aW5nIGlzIGxvY2tlZCJ9CiAgICAgICAgICAub3B0aW9ucz0ke1siRnJlZSIsIlBybyIsIkVudGVycHJpc2UiXX0KICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJFbnRlcnByaXNlIn0KICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgICAgCiAgICAgICAgPGJyPjxicj4KICAgICAgICAKICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiUHJvamVjdCBOYW1lIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IlZpc2liaWxpdHkifQogICAgICAgICAgICAudHlwZT0keyJib29sZWFuIn0KICAgICAgICAgICAgLmJvb2xlYW5UcnVlTmFtZT0keyJQdWJsaWMifQogICAgICAgICAgICAuYm9vbGVhbkZhbHNlTmFtZT0keyJQcml2YXRlIn0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IlByaXZhdGUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJMaWNlbnNlIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIk1JVCIsIkFwYWNoZSAyLjAiLCJHUEwgdjMiLCJQcm9wcmlldGFyeSJdfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiTUlUIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgLCJkZW1vRnVuYyIpfSk7dmFyICRmLGFuLG1hZSxxWWU9ZigoKT0+e2xlKCk7U3IoKTtMMSgpO0tzYSgpO1FlKCk7JGY9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGFuPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxtYWU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LW11bHRpdG9nZ2xlIildLGUsdD1bXSxyLGk9TXQsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W107dmFyIE89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dE11bHRpdG9nZ2xlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKCldLHU9WyQoKV0seD1bJCh7dHlwZTpBcnJheX0pXSx5PVskKCldLE49WyQoe3R5cGU6Qm9vbGVhbn0pXSwkZih0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+InR5cGUiaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC50eXBlLCJnZXQiKSxzZXQ6cygoUCxCKT0+e1AudHlwZT1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG4sbCksJGYodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib29sZWFuVHJ1ZU5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+ImJvb2xlYW5UcnVlTmFtZSJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLmJvb2xlYW5UcnVlTmFtZSwiZ2V0Iiksc2V0OnMoKFAsQik9PntQLmJvb2xlYW5UcnVlTmFtZT1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGMscCksJGYodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib29sZWFuRmFsc2VOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFA9PiJib29sZWFuRmFsc2VOYW1lImluIFAsImhhcyIpLGdldDpzKFA9PlAuYm9vbGVhbkZhbHNlTmFtZSwiZ2V0Iiksc2V0OnMoKFAsQik9PntQLmJvb2xlYW5GYWxzZU5hbWU9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxtLHYpLCRmKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3B0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4ib3B0aW9ucyJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLm9wdGlvbnMsImdldCIpLHNldDpzKChQLEIpPT57UC5vcHRpb25zPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYixnKSwkZih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkT3B0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFA9PiJzZWxlY3RlZE9wdGlvbiJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLnNlbGVjdGVkT3B0aW9uLCJnZXQiKSxzZXQ6cygoUCxCKT0+e1Auc2VsZWN0ZWRPcHRpb249Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxrLEMpLCRmKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYm9vbFZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFA9PiJib29sVmFsdWUiaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC5ib29sVmFsdWUsImdldCIpLHNldDpzKChQLEIpPT57UC5ib29sVmFsdWU9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxfLHopLCRmKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlR9LG51bGwsdCksTz1yPWUudmFsdWUsVCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpUfSl9c3RhdGljIGRlbW89WXNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1hbih0aGlzLG4sIm11bHRpIik7Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdHlwZShUKXt0aGlzLiNlPVR9I3Q9KGFuKHRoaXMsbCksYW4odGhpcyxjLCJ0cnVlIikpO2dldCBib29sZWFuVHJ1ZU5hbWUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYm9vbGVhblRydWVOYW1lKFQpe3RoaXMuI3Q9VH0jYT0oYW4odGhpcyxwKSxhbih0aGlzLG0sImZhbHNlIikpO2dldCBib29sZWFuRmFsc2VOYW1lKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGJvb2xlYW5GYWxzZU5hbWUoVCl7dGhpcy4jYT1UfSNyPShhbih0aGlzLHYpLGFuKHRoaXMsYixbXSkpO2dldCBvcHRpb25zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IG9wdGlvbnMoVCl7dGhpcy4jcj1UfSNzPShhbih0aGlzLGcpLGFuKHRoaXMsaywiIikpO2dldCBzZWxlY3RlZE9wdGlvbigpe3JldHVybiB0aGlzLiNzfXNldCBzZWxlY3RlZE9wdGlvbihUKXt0aGlzLiNzPVR9I2k9KGFuKHRoaXMsQyksYW4odGhpcyxfLCExKSk7Z2V0IGJvb2xWYWx1ZSgpe3JldHVybiB0aGlzLiNpfXNldCBib29sVmFsdWUoVCl7dGhpcy4jaT1UfWdldCB2YWx1ZSgpe3JldHVybiB0aGlzLnR5cGU9PT0iYm9vbGVhbiI/dGhpcy5zZWxlY3RlZE9wdGlvbj09PXRoaXMuYm9vbGVhblRydWVOYW1lOnRoaXMuc2VsZWN0ZWRPcHRpb259c2V0IHZhbHVlKFQpe3RoaXMudHlwZT09PSJib29sZWFuIiYmdHlwZW9mIFQ9PSJib29sZWFuIj90aGlzLnNlbGVjdGVkT3B0aW9uPVQ/dGhpcy5ib29sZWFuVHJ1ZU5hbWU6dGhpcy5ib29sZWFuRmFsc2VOYW1lOnRoaXMuc2VsZWN0ZWRPcHRpb249VCx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmhhc1VwZGF0ZWQmJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuc2V0SW5kaWNhdG9yKCl9KX1zdGF0aWMgc3R5bGVzPVtQZSwuLi5NdC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLnNlbGVjdGlvbnMgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpOwogICAgICB9CgogICAgICAub3B0aW9uIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIHotaW5kZXg6IDI7CiAgICAgIH0KCiAgICAgIC5vcHRpb246aG92ZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNlNGU0ZTciKX07CiAgICAgIH0KCiAgICAgIC5vcHRpb24uc2VsZWN0ZWQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5pbmRpY2F0b3IgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gOHB4KTsKICAgICAgICB0b3A6IDRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgIH0KICAgICAgCiAgICAgIC5pbmRpY2F0b3Iubm8tdHJhbnNpdGlvbiB7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnNlbGVjdGlvbnMgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAub3B0aW9uIHsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAuaW5kaWNhdG9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgxMTMsIDExMywgMTIyLCAwLjE1KSIsInJnYmEoMTEzLCAxMTMsIDEyMiwgMC4xNSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuaW5mb1RleHQ9JHt0aGlzLmluZm9UZXh0fT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmJveCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWxlY3Rpb25zIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImluZGljYXRvciI+PC9kaXY+CiAgICAgICAgICAke3RoaXMub3B0aW9ucy5tYXAoVD0+d2A8ZGl2IGNsYXNzPSJvcHRpb24gJHtUPT09dGhpcy5zZWxlY3RlZE9wdGlvbj8ic2VsZWN0ZWQiOiIifSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU2VsZWN0aW9uKFQpfT4KICAgICAgICAgICAgICAgICR7VH0KICAgICAgICAgICAgICA8L2Rpdj4gYCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnR5cGU9PT0iYm9vbGVhbiImJnRoaXMub3B0aW9ucy5sZW5ndGg9PT0wJiYodGhpcy5vcHRpb25zPVt0aGlzLmJvb2xlYW5UcnVlTmFtZXx8InRydWUiLHRoaXMuYm9vbGVhbkZhbHNlTmFtZXx8ImZhbHNlIl0sdGhpcy5zZWxlY3RlZE9wdGlvbnx8KHRoaXMuc2VsZWN0ZWRPcHRpb249dGhpcy5ib29sZWFuRmFsc2VOYW1lfHwiZmFsc2UiKSksIXRoaXMuc2VsZWN0ZWRPcHRpb24mJnRoaXMub3B0aW9ucy5sZW5ndGg+MCYmKHRoaXMuc2VsZWN0ZWRPcHRpb249dGhpcy5vcHRpb25zWzBdKX1hc3luYyBmaXJzdFVwZGF0ZWQoVCl7c3VwZXIuZmlyc3RVcGRhdGVkKFQpLHRoaXMudHlwZT09PSJib29sZWFuIiYmKHRoaXMub3B0aW9ucz1bdGhpcy5ib29sZWFuVHJ1ZU5hbWV8fCJ0cnVlIix0aGlzLmJvb2xlYW5GYWxzZU5hbWV8fCJmYWxzZSJdKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLGRvY3VtZW50LmZvbnRzJiZhd2FpdCBkb2N1bWVudC5mb250cy5yZWFkeSxhd2FpdCBuZXcgUHJvbWlzZShQPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoUCkpLHRoaXMuc2V0SW5kaWNhdG9yKCl9YXN5bmMgaGFuZGxlU2VsZWN0aW9uKFQpe3RoaXMuZGlzYWJsZWR8fCh0aGlzLnNlbGVjdGVkT3B0aW9uPVQsdGhpcy5yZXF1ZXN0VXBkYXRlKCksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLnNldEluZGljYXRvcigpKX1pbmRpY2F0b3JJbml0aWFsaXplZD0oYW4odGhpcyx6KSwhMSk7YXN5bmMgc2V0SW5kaWNhdG9yKCl7bGV0IFQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5pbmRpY2F0b3IiKSxQPXRoaXMub3B0aW9ucy5pbmRleE9mKHRoaXMuc2VsZWN0ZWRPcHRpb24pO2lmKFA9PT0tMXx8IVQpe1QmJihULnN0eWxlLm9wYWNpdHk9IjAiKTtyZXR1cm59bGV0IEI9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoYC5vcHRpb246bnRoLWNoaWxkKCR7UCsyfSlgKTtUJiZCJiYodGhpcy5pbmRpY2F0b3JJbml0aWFsaXplZHx8KFQuY2xhc3NMaXN0LmFkZCgibm8tdHJhbnNpdGlvbiIpLHRoaXMuaW5kaWNhdG9ySW5pdGlhbGl6ZWQ9ITAsc2V0VGltZW91dCgoKT0+e1QuY2xhc3NMaXN0LnJlbW92ZSgibm8tdHJhbnNpdGlvbiIpfSw1MCkpLFQuc3R5bGUud2lkdGg9YCR7Qi5jbGllbnRXaWR0aH1weGAsVC5zdHlsZS5sZWZ0PWAke0Iub2Zmc2V0TGVmdH1weGAsVC5zdHlsZS5vcGFjaXR5PSIxIil9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy50eXBlPT09ImJvb2xlYW4iP3RoaXMuc2VsZWN0ZWRPcHRpb249PT10aGlzLmJvb2xlYW5UcnVlTmFtZTp0aGlzLnNlbGVjdGVkT3B0aW9ufXNldFZhbHVlKFQpe3RoaXMudHlwZT09PSJib29sZWFuIiYmdHlwZW9mIFQ9PSJib29sZWFuIj90aGlzLnNlbGVjdGVkT3B0aW9uPVQ/dGhpcy5ib29sZWFuVHJ1ZU5hbWV8fCJ0cnVlIjp0aGlzLmJvb2xlYW5GYWxzZU5hbWV8fCJmYWxzZSI6dGhpcy5zZWxlY3RlZE9wdGlvbj1ULHRoaXMucmVxdWVzdFVwZGF0ZSgpLHRoaXMuaGFzVXBkYXRlZCYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5zZXRJbmRpY2F0b3IoKX0pfXN0YXRpY3thbihyLHQpfX07cmV0dXJuIE89cn0pKCl9KTt2YXIgWnNhLFhzYT1mKCgpPT57bGUoKTtac2E9cygoKT0+d2AKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgJHtYYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaG9yaXpvbnRhbC1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJCYXNpYyBQaG9uZSBJbnB1dCJ9IC5zdWJ0aXRsZT0keyJBdXRvbWF0aWMgZm9ybWF0dGluZyBmb3IgcGhvbmUgbnVtYmVycyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1waG9uZQogICAgICAgICAgICAubGFiZWw9JHsiUGhvbmUgTnVtYmVyIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IkVudGVyIHlvdXIgcGhvbmUgbnVtYmVyIHdpdGggY291bnRyeSBjb2RlIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkluY2x1ZGUgY291bnRyeSBjb2RlIGZvciBpbnRlcm5hdGlvbmFsIG51bWJlcnMifQogICAgICAgICAgICAudmFsdWU9JHsiNTU1MTIzNDU2NyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXBob25lPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXBob25lCiAgICAgICAgICAgIC5sYWJlbD0keyJDb250YWN0IFBob25lIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlJlcXVpcmVkIGZvciBhY2NvdW50IHZlcmlmaWNhdGlvbiJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiKzEgKDU1NSkgMDAwLTAwMDAifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1waG9uZT4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ikhvcml6b250YWwgTGF5b3V0In0gLnN1YnRpdGxlPSR7IlBob25lIGlucHV0cyBhcnJhbmdlZCBob3Jpem9udGFsbHkifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ncm91cCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXBob25lCiAgICAgICAgICAgICAgLmxhYmVsPSR7Ik1vYmlsZSJ9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7IjQxNTU1NTEyMzQifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXBob25lPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAgICAubGFiZWw9JHsiT2ZmaWNlIn0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiKzEgKDgwMCkgNTU1LTAwMDAifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXBob25lPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJJbnRlcm5hdGlvbmFsIE51bWJlcnMifSAuc3VidGl0bGU9JHsiU3VwcG9ydHMgZm9ybWF0dGluZyBmb3IgbnVtYmVycyB3aXRoIGNvdW50cnkgY29kZXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAgLmxhYmVsPSR7IkludGVybmF0aW9uYWwgQ29udGFjdCJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJBdXRvbWF0aWNhbGx5IGZvcm1hdHMgaW50ZXJuYXRpb25hbCBudW1iZXJzIn0KICAgICAgICAgICAgLnZhbHVlPSR7IjQ0MTIzNDU2Nzg5MCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXBob25lPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXBob25lCiAgICAgICAgICAgIC5sYWJlbD0keyJFbWVyZ2VuY3kgQ29udGFjdCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyI5MTEifQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGb3JtIEludGVncmF0aW9uIn0gLnN1YnRpdGxlPSR7IlBob25lIGlucHV0IGFzIHBhcnQgb2YgYSBjb250YWN0IGZvcm0ifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiRnVsbCBOYW1lIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUgLmxhYmVsPSR7IlBob25lIE51bWJlciJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtcGhvbmU+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJFbWFpbCJ9IC5pbnB1dFR5cGU9JHsiZW1haWwifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgLCJkZW1vRnVuYyIpfSk7dmFyIGdhZSxEZixiYWUsVlllPWYoKCk9PntsZSgpO2VhKCk7U3IoKTtYc2EoKTtRZSgpO2dhZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sRGY9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGJhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtcGhvbmUiKV0sZSx0PVtdLHIsaT1NdCxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0UGhvbmUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVtLKCldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLGdhZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZvcm1hdHRlZFBob25lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJmb3JtYXR0ZWRQaG9uZSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmZvcm1hdHRlZFBob25lLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuZm9ybWF0dGVkUGhvbmU9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLGdhZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJ2YWx1ZSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnZhbHVlLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cudmFsdWU9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLGdhZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJwbGFjZWhvbGRlciJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnBsYWNlaG9sZGVyLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cucGxhY2Vob2xkZXI9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLGdhZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPVpzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9RGYodGhpcyxuLCIiKTtnZXQgZm9ybWF0dGVkUGhvbmUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZm9ybWF0dGVkUGhvbmUoYil7dGhpcy4jZT1ifSN0PShEZih0aGlzLGwpLERmKHRoaXMsYywiIikpO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiN0fXNldCB2YWx1ZShiKXt0aGlzLiN0PWJ9I2E9KERmKHRoaXMscCksRGYodGhpcyxtLCIrMSAoNTU1KSAxMjMtNDU2NyIpKTtnZXQgcGxhY2Vob2xkZXIoKXtyZXR1cm4gdGhpcy4jYX1zZXQgcGxhY2Vob2xkZXIoYil7dGhpcy4jYT1ifXN0YXRpYyBzdHlsZXM9W1BlLC4uLk10LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIC8qIFBob25lIGlucHV0IHNwZWNpZmljIHN0eWxlcyBjYW4gZ28gaGVyZSAqLwogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5pbmZvVGV4dD0ke3RoaXMuaW5mb1RleHR9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAudmFsdWU9JHt0aGlzLmZvcm1hdHRlZFBob25lfQogICAgICAgICAgLmRpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgIC5yZXF1aXJlZD0ke3RoaXMucmVxdWlyZWR9CiAgICAgICAgICAucGxhY2Vob2xkZXI9JHt0aGlzLnBsYWNlaG9sZGVyfQogICAgICAgICAgQGlucHV0PSR7Yj0+dGhpcy5oYW5kbGVQaG9uZUlucHV0KGIpfQogICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgICAgPC9kaXY+CiAgICBgfWZpcnN0VXBkYXRlZChiKXtzdXBlci5maXJzdFVwZGF0ZWQoYiksdGhpcy52YWx1ZSYmKHRoaXMuZm9ybWF0dGVkUGhvbmU9dGhpcy5mb3JtYXRQaG9uZU51bWJlcih0aGlzLnZhbHVlKSk7bGV0IGc9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtdGV4dCIpO2cmJmcuY2hhbmdlU3ViamVjdCYmZy5jaGFuZ2VTdWJqZWN0LnN1YnNjcmliZSgoKT0+e3RoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfSl9aGFuZGxlUGhvbmVJbnB1dChiKXtsZXQgZz1iLnRhcmdldCx5PXRoaXMuY2xlYW5QaG9uZU51bWJlcihnLnZhbHVlKSxrPXRoaXMuZm9ybWF0UGhvbmVOdW1iZXIoeSk7aWYoZy52YWx1ZSE9PWspe2xldCBDPWcuc2VsZWN0aW9uU3RhcnR8fDA7Zy52YWx1ZT1rO2xldCBOPXRoaXMuY2FsY3VsYXRlQ3Vyc29yUG9zaXRpb24oeSxrLEMpO2cuc2V0U2VsZWN0aW9uUmFuZ2UoTixOKX10aGlzLmZvcm1hdHRlZFBob25lPWssdGhpcy52YWx1ZT15LHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWNsZWFuUGhvbmVOdW1iZXIoYil7cmV0dXJuIGIucmVwbGFjZSgvXEQvZywiIil9Zm9ybWF0UGhvbmVOdW1iZXIoYil7bGV0IGc9dGhpcy5jbGVhblBob25lTnVtYmVyKGIpO3JldHVybiBnLmxlbmd0aD09PTA/IiI6Zy5sZW5ndGg8PTM/ZzpnLmxlbmd0aDw9Nj9gKCR7Zy5zbGljZSgwLDMpfSkgJHtnLnNsaWNlKDMpfWA6Zy5sZW5ndGg8PTEwP2AoJHtnLnNsaWNlKDAsMyl9KSAke2cuc2xpY2UoMyw2KX0tJHtnLnNsaWNlKDYpfWA6YCske2cuc2xpY2UoMCxnLmxlbmd0aC0xMCl9ICgke2cuc2xpY2UoLTEwLC03KX0pICR7Zy5zbGljZSgtNywtNCl9LSR7Zy5zbGljZSgtNCl9YH1jYWxjdWxhdGVDdXJzb3JQb3NpdGlvbihiLGcseSl7bGV0IGs9MDtmb3IobGV0IEM9MDtDPHkmJkM8Zy5sZW5ndGg7QysrKS9cZC8udGVzdChnW0NdKXx8aysrO3JldHVybiBNYXRoLm1pbih5K2ssZy5sZW5ndGgpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoYil7dGhpcy52YWx1ZT1iLHRoaXMuZm9ybWF0dGVkUGhvbmU9dGhpcy5mb3JtYXRQaG9uZU51bWJlcihiKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksRGYodGhpcyx2KX1zdGF0aWN7RGYocix0KX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIFFzYSxKc2E9ZigoKT0+e2xlKCk7TmEoKTtZcygpO1FzYT1zKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoIiN0b2dnbGUtYWxsLW9uIiksdD1hLnF1ZXJ5U2VsZWN0b3IoIiN0b2dnbGUtYWxsLW9mZiIpLHI9YS5xdWVyeVNlbGVjdG9yQWxsKCIuZmVhdHVyZS10b2dnbGVzIGRlZXMtaW5wdXQtdG9nZ2xlIik7ZSYmdCYmKGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ci5mb3JFYWNoKGk9PntsZXQgbz1pOyFvLmRpc2FibGVkJiYhby5yZXF1aXJlZCYmKG8udmFsdWU9ITApfSl9KSx0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3IuZm9yRWFjaChpPT57bGV0IG89aTshby5kaXNhYmxlZCYmIW8ucmVxdWlyZWQmJihvLnZhbHVlPSExKX0pfSkpfX0+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CgogICAgICAgIGRlZXMtcGFuZWwgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICB9CgogICAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KCiAgICAgICAgLnRvZ2dsZS1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICB9CgogICAgICAgIC5ob3Jpem9udGFsLXRvZ2dsZXMgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGdhcDogMzJweDsKICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CgogICAgICAgIC5pbnRlcmFjdGl2ZS1zZWN0aW9uIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLm91dHB1dC10ZXh0IHsKICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjYuNyUpIiwiaHNsKDIxMCA0MCUgODAlKSIpfTsKICAgICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5OCUpIiwiaHNsKDIxNSAyMC4yJSAxMS44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBtaW4taGVpZ2h0OiAyNHB4OwogICAgICAgIH0KCiAgICAgICAgLnNldHRpbmdzLXNlY3Rpb24gewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk3JSkiLCJoc2woMCAwJSA3JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICB9CgogICAgICAgIC5idXR0b24tZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICB9CgogICAgICAgIC5mZWF0dXJlLXRvZ2dsZXMgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuZHJhZy1oaW50IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgVG9nZ2xlIn0gLnN1YnRpdGxlPSR7IlNpbXBsZSBvbi9vZmYgdG9nZ2xlIHN3aXRjaCB3aXRoIGRyYWcgc3VwcG9ydCJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkVuYWJsZSBmZWF0dXJlIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5rZXk9JHsiYmFzaWMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJBY3RpdmUgdG9nZ2xlIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgIC5rZXk9JHsiYWN0aXZlIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiV2l0aCBkZXNjcmlwdGlvbiJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiVGhpcyB0b2dnbGUgaGFzIGFkZGl0aW9uYWwgaGVscGVyIHRleHQgZXhwbGFpbmluZyBpdHMgcHVycG9zZSJ9CiAgICAgICAgICAgIC5rZXk9JHsid2l0aERlc2MifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgPHAgY2xhc3M9ImRyYWctaGludCI+VGlwOiBZb3UgY2FuIGRyYWcgdGhlIHRvZ2dsZSBrbm9iIHRvIHN3aXRjaCBzdGF0ZXM8L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJUb2dnbGUgU3RhdGVzIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCB0b2dnbGUgc3RhdGVzIGFuZCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkRlZmF1bHQgKG9mZikifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiRW5hYmxlZCAob24pIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIChvZmYpIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJEaXNhYmxlZCAob24pIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJSZXF1aXJlZCAoYWx3YXlzIG9uKSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoaXMgdG9nZ2xlIGNhbm5vdCBiZSB0dXJuZWQgb2ZmIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiSG9yaXpvbnRhbCBMYXlvdXQifSAuc3VidGl0bGU9JHsiVG9nZ2xlcyBhcnJhbmdlZCBob3Jpem9udGFsbHkgZm9yIGNvbXBhY3QgaW50ZXJmYWNlcyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLXRvZ2dsZXMiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiV2lGaSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkJsdWV0b290aCJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkdQUyJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7Ik5GQyJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJTZXR0aW5ncyBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IlRvZ2dsZXMgaW4gYSB0eXBpY2FsIHNldHRpbmdzIGNvbnRleHQifT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uIj4KICAgICAgICAgIDxoNCBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Tm90aWZpY2F0aW9uIFNldHRpbmdzPC9oND4KCiAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiUHVzaCBub3RpZmljYXRpb25zIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiUmVjZWl2ZSBwdXNoIG5vdGlmaWNhdGlvbnMgb24geW91ciBkZXZpY2UifQogICAgICAgICAgICAgIC5rZXk9JHsicHVzaCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkVtYWlsIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJHZXQgaW1wb3J0YW50IHVwZGF0ZXMgdmlhIGVtYWlsIn0KICAgICAgICAgICAgICAua2V5PSR7ImVtYWlsIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiU291bmQifQogICAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJQbGF5IGEgc291bmQgZm9yIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAgIC5rZXk9JHsic291bmQifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJWaWJyYXRpb24ifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJWaWJyYXRlIGZvciBub3RpZmljYXRpb25zIn0KICAgICAgICAgICAgICAua2V5PSR7InZpYnJhdGlvbiJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGZWF0dXJlIFRvZ2dsZXMifSAuc3VidGl0bGU9JHsiQmF0Y2ggb3BlcmF0aW9ucyBvbiBtdWx0aXBsZSB0b2dnbGVzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBpZD0idG9nZ2xlLWFsbC1vbiIgdHlwZT0ic2Vjb25kYXJ5Ij5FbmFibGUgQWxsPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBpZD0idG9nZ2xlLWFsbC1vZmYiIHR5cGU9InNlY29uZGFyeSI+RGlzYWJsZSBBbGw8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLXRvZ2dsZXMiPgogICAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkRhcmsgTW9kZSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmtleT0keyJkYXJrTW9kZSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkF1dG8tc2F2ZSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmtleT0keyJhdXRvU2F2ZSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IlNwZWxsIGNoZWNrIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAua2V5PSR7InNwZWxsQ2hlY2sifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJEZXZlbG9wZXIgbW9kZSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmtleT0keyJkZXZNb2RlIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiQmV0YSBmZWF0dXJlcyJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmtleT0keyJiZXRhIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVyYWN0aXZlIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiVG9nZ2xlIHRvIHNlZSB2YWx1ZSBjaGFuZ2VzIGluIHJlYWwtdGltZSJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkFpcnBsYW5lIG1vZGUifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgQG5ld1ZhbHVlPSR7YT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhaXJwbGFuZS1vdXRwdXQiKTtlJiYoZS50ZXh0Q29udGVudD1gQWlycGxhbmUgbW9kZTogJHthLmRldGFpbD8iT04iOiJPRkYifWApfX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiRG8gbm90IGRpc3R1cmIifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgQG5ld1ZhbHVlPSR7YT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNkbmQtb3V0cHV0Iik7ZSYmKGUudGV4dENvbnRlbnQ9YERvIG5vdCBkaXN0dXJiOiAke2EuZGV0YWlsPyJFTkFCTEVEIjoiRElTQUJMRUQifWApfX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgogICAgICAgIDwvZGVlcy1mb3JtPgoKICAgICAgICA8ZGl2IGNsYXNzPSJpbnRlcmFjdGl2ZS1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgaWQ9ImFpcnBsYW5lLW91dHB1dCIgY2xhc3M9Im91dHB1dC10ZXh0Ij5BaXJwbGFuZSBtb2RlOiBPRkY8L2Rpdj4KICAgICAgICAgIDxkaXYgaWQ9ImRuZC1vdXRwdXQiIGNsYXNzPSJvdXRwdXQtdGV4dCIgc3R5bGU9Im1hcmdpbi10b3A6IDhweDsiPkRvIG5vdCBkaXN0dXJiOiBESVNBQkxFRDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgZWlhLGpZZSx2YWUsVVllPWYoKCk9PntsZSgpO2VhKCk7U3IoKTtKc2EoKTttcygpO1FlKCk7ZWlhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxqWWU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHZhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtdG9nZ2xlIildLGUsdD1bXSxyLGk9TXQsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dFRvZ2dsZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLGVpYSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJ2YWx1ZSJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLnZhbHVlLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AudmFsdWU9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLGVpYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPVFzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9alllKHRoaXMsbiwhMSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKGMpe3RoaXMuI2U9Y31jdXJyZW50WD0oalllKHRoaXMsbCksMCk7aXNEcmFnZ2luZz0hMTtoYXNEcmFnZ2VkPSExO3N0YXJ0WD0wO3RyYWNrV2lkdGg9MzY7dHJhY2tIZWlnaHQ9MjA7a25vYlNpemU9MTQ7cGFkZGluZz0yO21heFRyYXZlbD0xNjtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5sYWJlbFBvc2l0aW9uPSJyaWdodCJ9c3RhdGljIHN0eWxlcz1bUGUsLi4uTXQuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudG9nZ2xlLXRyYWNrIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIHdpZHRoOiAzNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG1hcmdpbi10b3A6IDFweDsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXI6aG92ZXIgLnRvZ2dsZS10cmFjayB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjAuOSUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbdmFsdWVdKSAudG9nZ2xlLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgIH0KCiAgICAgIC50b2dnbGUtdHJhY2s6Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAudG9nZ2xlLWtub2IgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDJweDsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSkiLCJoc2woMCAwJSA0NS4xJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgdG91Y2gtYWN0aW9uOiBub25lOwogICAgICB9CgogICAgICAudG9nZ2xlLWtub2IuZHJhZ2dpbmcgewogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZhbHVlXSkgLnRvZ2dsZS1rbm9iIHsKICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLyogRGlzYWJsZWQgc3RhdGUgKi8KICAgICAgLm1haW5jb250YWluZXIuZGlzYWJsZWQgewogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAudG9nZ2xlLXRyYWNrLmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQoKICAgICAgLyogUmVxdWlyZWQgc3RhdGUgKGxvY2tlZCBvbikgKi8KICAgICAgOmhvc3QoW3JlcXVpcmVkXVt2YWx1ZV0pIC50b2dnbGUtdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNjEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDQ5LjglKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNjEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDQ5LjglKSIpfTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICA6aG9zdChbcmVxdWlyZWRdW3ZhbHVlXSkgLnRvZ2dsZS1rbm9iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDcwJSkiKX07CiAgICAgIH0KCiAgICAgIC8qIExhYmVsICovCiAgICAgIC5sYWJlbC1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAudG9nZ2xlLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyOmhvdmVyIC50b2dnbGUtbGFiZWwgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIuZGlzYWJsZWQ6aG92ZXIgLnRvZ2dsZS1sYWJlbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgfQoKICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIgQGNsaWNrPSIke3RoaXMuaGFuZGxlQ2xpY2t9Ij4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9InRvZ2dsZS10cmFjayAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgICAgIHRhYmluZGV4PSIke3RoaXMuZGlzYWJsZWQ/Ii0xIjoiMCJ9IgogICAgICAgICAgICBAa2V5ZG93bj0iJHt0aGlzLmhhbmRsZUtleWRvd259IgogICAgICAgICAgPgogICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgY2xhc3M9InRvZ2dsZS1rbm9iIgogICAgICAgICAgICAgIHN0eWxlPSJsZWZ0OiAke3RoaXMucGFkZGluZyt0aGlzLmN1cnJlbnRYfXB4OyIKICAgICAgICAgICAgICBAcG9pbnRlcmRvd249IiR7dGhpcy5vblBvaW50ZXJEb3dufSIKICAgICAgICAgICAgICBAcG9pbnRlcm1vdmU9IiR7dGhpcy5vblBvaW50ZXJNb3ZlfSIKICAgICAgICAgICAgICBAcG9pbnRlcnVwPSIke3RoaXMub25Qb2ludGVyVXB9IgogICAgICAgICAgICAgIEBwb2ludGVyY2FuY2VsPSIke3RoaXMub25Qb2ludGVyVXB9IgogICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLWNvbnRhaW5lciI+CiAgICAgICAgICAgICR7dGhpcy5sYWJlbD93YDxkaXYgY2xhc3M9InRvZ2dsZS1sYWJlbCI+JHt0aGlzLmxhYmVsfTwvZGl2PmA6IiJ9CiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoYyl7YXdhaXQgc3VwZXIuZmlyc3RVcGRhdGVkKGMpLHRoaXMucmVxdWlyZWQmJiF0aGlzLnZhbHVlJiYodGhpcy52YWx1ZT0hMCksdGhpcy5jdXJyZW50WD10aGlzLnZhbHVlP3RoaXMubWF4VHJhdmVsOjAsdGhpcy5yZXF1ZXN0VXBkYXRlKCl9YXN5bmMgaGFuZGxlQ2xpY2soYyl7aWYodGhpcy5pc0RyYWdnaW5nfHx0aGlzLmhhc0RyYWdnZWQpe2Muc3RvcFByb3BhZ2F0aW9uKCksYy5wcmV2ZW50RGVmYXVsdCgpO3JldHVybn1pZighdGhpcy5kaXNhYmxlZCl7aWYodGhpcy5yZXF1aXJlZCl7dGhpcy5jdXJyZW50WD10aGlzLm1heFRyYXZlbCx0aGlzLnJlcXVlc3RVcGRhdGUoKSxhd2FpdCBuZXcgUHJvbWlzZShwPT5zZXRUaW1lb3V0KHAsMTApKSx0aGlzLmN1cnJlbnRYPXRoaXMubWF4VHJhdmVsLTMsdGhpcy5yZXF1ZXN0VXBkYXRlKCksYXdhaXQgSHQuc21hcnRkZWxheS5kZWxheUZvcigxNTApLHRoaXMuY3VycmVudFg9dGhpcy5tYXhUcmF2ZWwsdGhpcy5yZXF1ZXN0VXBkYXRlKCk7cmV0dXJufWMuc3RvcFByb3BhZ2F0aW9uKCksYy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMudmFsdWU9IXRoaXMudmFsdWUsdGhpcy5jdXJyZW50WD10aGlzLnZhbHVlP3RoaXMubWF4VHJhdmVsOjAsdGhpcy5yZXF1ZXN0VXBkYXRlKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibmV3VmFsdWUiLHtkZXRhaWw6dGhpcy52YWx1ZSxidWJibGVzOiEwfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpLEh0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCkudGhlbigoKT0+e3RoaXMuaGFzRHJhZ2dlZD0hMX0pfX1vblBvaW50ZXJEb3duKGMpe3RoaXMucmVxdWlyZWR8fHRoaXMuZGlzYWJsZWR8fCh0aGlzLmlzRHJhZ2dpbmc9ITAsdGhpcy5zdGFydFg9Yy5jbGllbnRYLXRoaXMuY3VycmVudFgsYy50YXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoYy5wb2ludGVySWQpKX1vblBvaW50ZXJNb3ZlKGMpe2lmKCF0aGlzLmlzRHJhZ2dpbmcpcmV0dXJuO2xldCBwPWMuY2xpZW50WC10aGlzLnN0YXJ0WDt0aGlzLmhhc0RyYWdnZWQ9ITA7bGV0IHU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudG9nZ2xlLWtub2IiKTt1JiZ1LmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIiksdGhpcy5jdXJyZW50WD1NYXRoLm1heCgwLE1hdGgubWluKHAsdGhpcy5tYXhUcmF2ZWwpKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1vblBvaW50ZXJVcChjKXtpZighdGhpcy5pc0RyYWdnaW5nfHwoYy50YXJnZXQucmVsZWFzZVBvaW50ZXJDYXB0dXJlKGMucG9pbnRlcklkKSx0aGlzLmlzRHJhZ2dpbmc9ITEsIXRoaXMuaGFzRHJhZ2dlZCkpcmV0dXJuO2xldCBwPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRvZ2dsZS1rbm9iIik7cCYmcC5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpO2xldCB1PXRoaXMubWF4VHJhdmVsLzI7dGhpcy52YWx1ZT10aGlzLmN1cnJlbnRYPnUsdGhpcy5jdXJyZW50WD10aGlzLnZhbHVlP3RoaXMubWF4VHJhdmVsOjAsdGhpcy5yZXF1ZXN0VXBkYXRlKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibmV3VmFsdWUiLHtkZXRhaWw6dGhpcy52YWx1ZSxidWJibGVzOiEwfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpLEh0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCkudGhlbigoKT0+e3RoaXMuaGFzRHJhZ2dlZD0hMX0pfXVwZGF0ZWQoYyl7c3VwZXIudXBkYXRlZChjKSxjLmhhcygidmFsdWUiKSYmIXRoaXMuaXNEcmFnZ2luZyYmIXRoaXMuaGFzRHJhZ2dlZCYmKHRoaXMuY3VycmVudFg9dGhpcy52YWx1ZT90aGlzLm1heFRyYXZlbDowLHRoaXMucmVxdWVzdFVwZGF0ZSgpKX1oYW5kbGVLZXlkb3duKGMpeyhjLmtleT09PSIgInx8Yy5rZXk9PT0iRW50ZXIiKSYmKGMucHJldmVudERlZmF1bHQoKSx0aGlzLmhhbmRsZUNsaWNrKGMpKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKGMpe3RoaXMudmFsdWU9Y31mb2N1cygpe2xldCBjPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRvZ2dsZS10cmFjayIpO2MmJmMuZm9jdXMoKX1zdGF0aWN7alllKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciB0aWEsYWlhPWYoKCk9PntsZSgpO3RpYT1zKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICAke1hgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5ob3Jpem9udGFsLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmluZm8tYm94IHsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgYmFja2dyb3VuZDogI2UzZjJmZDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIGNvbG9yOiAjMTk3NmQyOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgICAuaW5mby1ib3ggewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMWUzYTVmOwogICAgICAgICAgICBjb2xvcjogIzkwY2FmOTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJCYXNpYyBUeXBlIExpc3QifSAuc3VidGl0bGU9JHsiQWRkIGFuZCByZW1vdmUgaXRlbXMgZnJvbSBhIGxpc3QifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IlRhZ3MifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiQWRkIHRhZ3MgYnkgdHlwaW5nIGFuZCBwcmVzc2luZyBFbnRlciJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJUYWdzIGhlbHAgY2F0ZWdvcml6ZSBhbmQgZmlsdGVyIHlvdXIgY29udGVudCJ9CiAgICAgICAgICAgIC52YWx1ZT0ke1siamF2YXNjcmlwdCIsInR5cGVzY3JpcHQiLCJ3ZWItY29tcG9uZW50cyJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10eXBlbGlzdAogICAgICAgICAgICAubGFiZWw9JHsiVGVhbSBNZW1iZXJzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IkFkZCBlbWFpbCBhZGRyZXNzZXMgb2YgdGVhbSBtZW1iZXJzIn0KICAgICAgICAgICAgLnZhbHVlPSR7WyJhbGljZUBleGFtcGxlLmNvbSIsImJvYkBleGFtcGxlLmNvbSJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlNraWxscyAmIEtleXdvcmRzIn0gLnN1YnRpdGxlPSR7Ik1hbmFnZSBsaXN0cyBvZiBza2lsbHMgYW5kIGtleXdvcmRzIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJZb3VyIFNraWxscyJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJMaXN0IHlvdXIgcHJvZmVzc2lvbmFsIHNraWxscyJ9CiAgICAgICAgICAgIC52YWx1ZT0ke1siSFRNTCIsIkNTUyIsIkphdmFTY3JpcHQiLCJOb2RlLmpzIiwiUmVhY3QiXX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CgogICAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ncm91cCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgICAgLmxhYmVsPSR7IkNhdGVnb3JpZXMifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC52YWx1ZT0ke1siVGVjaG5vbG9neSIsIkRlc2lnbiIsIkJ1c2luZXNzIl19CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10eXBlbGlzdAogICAgICAgICAgICAgIC5sYWJlbD0keyJLZXl3b3JkcyJ9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7WyJpbm5vdmF0aW9uIiwic3RhcnR1cCIsImdyb3d0aCJdfQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJSZXF1aXJlZCAmIERpc2FibGVkIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgaW5wdXQgc3RhdGVzIGZvciB2YWxpZGF0aW9uIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJQcm9qZWN0IERlcGVuZGVuY2llcyJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJMaXN0IGFsbCByZXF1aXJlZCBucG0gcGFja2FnZXMifQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgLnZhbHVlPSR7WyJAZGVzaWduLmVzdGF0ZS9kZWVzLWVsZW1lbnQiLCJAZGVzaWduLmVzdGF0ZS9kZWVzLWRvbXRvb2xzIl19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgoKICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJTeXN0ZW0gVGFncyJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJUaGVzZSB0YWdzIGFyZSBtYW5hZ2VkIGJ5IHRoZSBzeXN0ZW0ifQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgICAgLnZhbHVlPSR7WyJzeXN0ZW0iLCJwcm90ZWN0ZWQiLCJyZWFkb25seSJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkFydGljbGUgUHVibGlzaGluZyBGb3JtIn0gLnN1YnRpdGxlPSR7IkNvbXBsZXRlIGZvcm0gd2l0aCB0YWcgbWFuYWdlbWVudCJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJBcnRpY2xlIFRpdGxlIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAKICAgICAgICAgICAgLmxhYmVsPSR7IlN1bW1hcnkifSAKICAgICAgICAgICAgLmlucHV0VHlwZT0keyJ0ZXh0YXJlYSJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJCcmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgYXJ0aWNsZSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10eXBlbGlzdAogICAgICAgICAgICAubGFiZWw9JHsiVGFncyJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJBZGQgcmVsZXZhbnQgdGFncyBmb3IgYmV0dGVyIGRpc2NvdmVyYWJpbGl0eSJ9CiAgICAgICAgICAgIC52YWx1ZT0ke1sidHV0b3JpYWwiLCJ3ZWItZGV2ZWxvcG1lbnQiXX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10eXBlbGlzdAogICAgICAgICAgICAubGFiZWw9JHsiQ28tQXV0aG9ycyJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJBZGQgZW1haWwgYWRkcmVzc2VzIG9mIGNvLWF1dGhvcnMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWJveCI+CiAgICAgICAgICA8c3Ryb25nPlRpcDo8L3N0cm9uZz4gVHlwZSBhIHZhbHVlIGFuZCBwcmVzcyBFbnRlciB0byBhZGQgaXQgdG8gdGhlIGxpc3QuIENsaWNrIG9uIGFueSBpdGVtIHRvIHJlbW92ZSBpdC4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgLCJkZW1vRnVuYyIpfSk7dmFyIFdZZSxQVSx4YWUsR1llPWYoKCk9PntsZSgpO2VhKCk7U3IoKTthaWEoKTtRZSgpO1dZZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUFU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHhhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtdHlwZWxpc3QiKV0sZSx0PVtdLHIsaT1NdCxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0VHlwZWxpc3QiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9W0soKV0sV1llKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InZhbHVlImluIHYsImhhcyIpLGdldDpzKHY9PnYudmFsdWUsImdldCIpLHNldDpzKCh2LHgpPT57di52YWx1ZT14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksV1llKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5wdXRWYWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iaW5wdXRWYWx1ZSJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmlucHV0VmFsdWUsImdldCIpLHNldDpzKCh2LHgpPT57di5pbnB1dFZhbHVlPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxXWWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz10aWE7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPVBVKHRoaXMsbixbXSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKG0pe3RoaXMuI2U9bX0jdD0oUFUodGhpcyxsKSxQVSh0aGlzLGMsIiIpKTtnZXQgaW5wdXRWYWx1ZSgpe3JldHVybiB0aGlzLiN0fXNldCBpbnB1dFZhbHVlKG0pe3RoaXMuI3Q9bX1zdGF0aWMgc3R5bGVzPVtQZSwuLi5NdC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgfQogICAgICAubWFpbmJveCB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzIyMjIyMiIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJvcmRlci10b3A6ICR7aC5iZFRoZW1lKCIxcHggc29saWQgI0NDQyIsIjFweCBzb2xpZCAjZmZmZmZmMTAiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHtoLmJkVGhlbWUoIjFweCBzb2xpZCAjQ0NDIiwiMXB4IHNvbGlkICMyMjIiKX07CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAke2guYmRUaGVtZSgiMXB4IHNvbGlkICNDQ0MiLCIxcHggc29saWQgI2ZmZmZmZjEwIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAke2guYmRUaGVtZSgiMXB4IHNvbGlkICNDQ0MiLCIxcHggc29saWQgI2ZmZmZmZjEwIil9OwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCIwcHggMXB4IDRweCByZ2JhKDAsMCwwLDAuMykiLCJub25lIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQogICAgICAKICAgICAgLm1haW5ib3g6aG92ZXIgewogICAgICAgIGZpbHRlcjogJHtoLmJkVGhlbWUoImJyaWdodG5lc3MoMC45OCkiLCJicmlnaHRuZXNzKDEuMDUpIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFpbmJveDpmb2N1cy13aXRoaW4gewogICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiIzAwNjlmMiIsIiMwMDg0ZmYiKX07CiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7CiAgICAgIH0KCiAgICAgIC50YWdzIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQoKICAgICAgLm5vdGFncyB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzk5OSIsIiM2NjYiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgaW5wdXQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNWY1ZjUiLCIjMTgxODE4Iil9OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICAgIHBhZGRpbmc6IDBweCAxNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAwcHg7CiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnM7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTBlMGUwIiwiIzMzMyIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6Zm9jdXMgewogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMxYTFhMWEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIGlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOTk5IiwiIzY2NiIpfTsKICAgICAgfQoKICAgICAgLnRhZyB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZThmNWU5IiwiIzJkM2EyZCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyZTdkMzIiLCIjODFjNzg0Iil9OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBtYXJnaW46IDNweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2M4ZTZjOSIsIiMxYjVlMjAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC50YWc6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjYzhlNmM5IiwiIzNkNGYzZCIpfTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7CiAgICAgIH0KCiAgICAgIC50YWcgLnJlbW92ZSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yczsKICAgICAgfQoKICAgICAgLnRhZyAucmVtb3ZlOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2M2MjgyOCIsIiNlZjUzNTAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIERpc2FibGVkIHN0YXRlICovCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC5tYWluYm94IHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnRhZ3MgewogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC50YWcgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbZGlzYWJsZWRdKSBpbnB1dCB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2YwZjBmMCIsIiMxYTFhMWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuaW5mb1RleHQ9JHt0aGlzLmluZm9UZXh0fT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmJveCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWdzIiBAY2xpY2s9JHsoKT0+e3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLmZvY3VzKCl9fT4KICAgICAgICAgICAgJHt0aGlzLnZhbHVlLmxlbmd0aD09PTA/d2A8ZGl2IGNsYXNzPSJub3RhZ3MiPk5vIHRhZ3MgeWV0PC9kaXY+YDp0aGlzLnZhbHVlLm1hcChtPT53YAogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWciPgogICAgICAgICAgICAgICAgICAgICAgJHttfQogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlbW92ZSIgQGNsaWNrPSR7dj0+e3Yuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5yZW1vdmVUYWcobSl9fT7Dlzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9IlR5cGUsIHByZXNzIEVudGVyIHRvIGFkZCBpdC4uLiIKICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5pbnB1dFZhbHVlfQogICAgICAgICAgICBAaW5wdXQ9JHttPT57dGhpcy5pbnB1dFZhbHVlPW0udGFyZ2V0LnZhbHVlfX0KICAgICAgICAgICAgQGtleWRvd249JHttPT57bS5rZXk9PT0iRW50ZXIiJiZ0aGlzLmlucHV0VmFsdWUudHJpbSgpJiYobS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuYWRkVGFnKHRoaXMuaW5wdXRWYWx1ZS50cmltKCkpKX19CiAgICAgICAgICAgIC5kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgICAvPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9YWRkVGFnKG0pe3RoaXMudmFsdWUuaW5jbHVkZXMobSl8fCh0aGlzLnZhbHVlPVsuLi50aGlzLnZhbHVlLG1dLHRoaXMuaW5wdXRWYWx1ZT0iIix0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSl9cmVtb3ZlVGFnKG0pe3RoaXMudmFsdWU9dGhpcy52YWx1ZS5maWx0ZXIodj0+diE9PW0pLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUobSl7dGhpcy52YWx1ZT1tfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxQVSh0aGlzLHApfXN0YXRpY3tQVShyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgcmlhLHNpYSxpaWE9ZigoKT0+e2xlKCk7TmEoKTtZcygpO3NpYT1zKCgpPT53KHJpYXx8KHJpYT1SNShbYAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICBgLGAKICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgIC52YWx1ZT1gLGAKICAgICAgICAgIC5kZXNjcmlwdGlvbj1gLGAKICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAuc3VnZ2VzdGlvbnM9YCxgCiAgICAgICAgICAudmFsdWU9YCxgCiAgICAgICAgICAuZGVzY3JpcHRpb249YCxgCiAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGF5b3V0Ij4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAgICAgLm1heFRhZ3M9YCxgCiAgICAgICAgICAgICAgLnZhbHVlPWAsYAogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj1gLGAKICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAgICAgLm1heFRhZ3M9YCxgCiAgICAgICAgICAgICAgLnN1Z2dlc3Rpb25zPWAsYAogICAgICAgICAgICAgIC52YWx1ZT1gLGAKICAgICAgICAgICAgICAuZGVzY3JpcHRpb249YCxgCiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgLnBsYWNlaG9sZGVyPWAsYAogICAgICAgICAgLnJlcXVpcmVkPWAsYAogICAgICAgICAgLmRlc2NyaXB0aW9uPWAsYAogICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgIC52YWx1ZT1gLGAKICAgICAgICAgIC5kaXNhYmxlZD1gLGAKICAgICAgICAgIC5kZXNjcmlwdGlvbj1gLGAKICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgICAgLnJlcXVpcmVkPWAsYAogICAgICAgICAgICAua2V5PWAsYAogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPWAsYAogICAgICAgICAgICAgIC5yZXF1aXJlZD1gLGAKICAgICAgICAgICAgICAua2V5PWAsYAogICAgICAgICAgICAgIC5zdWdnZXN0aW9ucz1gLGAKICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICAgICAgICAKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAgICAgLmtleT1gLGAKICAgICAgICAgICAgICAubWF4VGFncz1gLGAKICAgICAgICAgICAgICAuc3VnZ2VzdGlvbnM9YCxgCiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgICAgLmlucHV0VHlwZT1gLGAKICAgICAgICAgICAgLnBsYWNlaG9sZGVyPWAsYAogICAgICAgICAgICAua2V5PWAsYAogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCAudGV4dD1gLGA+PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgaWQ9ImludGVyYWN0aXZlLXRhZ3MiCiAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAuc3VnZ2VzdGlvbnM9YCxgCiAgICAgICAgICBAY2hhbmdlPWAsYAogICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJ0YWctcHJldmlldyIgaWQ9InRhZ3MtcHJldmlldyI+CiAgICAgICAgICA8ZW0gc3R5bGU9ImNvbG9yOiAjOTk5OyI+Tm8gdGFncyBhZGRlZCB5ZXQuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1wcmV2aWV3IiBpZD0idGFncy1qc29uIj4KICAgICAgICAgIDxlbT5KU09OIG91dHB1dCB3aWxsIGFwcGVhciBoZXJlLi4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8c2NyaXB0PgogICAgICAgICAgLy8gVXBkYXRlIEpTT04gcHJldmlldwogICAgICAgICAgY29uc3QgdGFnc0lucHV0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2ludGVyYWN0aXZlLXRhZ3MnKTsKICAgICAgICAgIHRhZ3NJbnB1dD8uYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKGUpID0+IHsKICAgICAgICAgICAgY29uc3QganNvblByZXZpZXcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFncy1qc29uJyk7CiAgICAgICAgICAgIGlmIChqc29uUHJldmlldykgewogICAgICAgICAgICAgIGpzb25QcmV2aWV3LnRleHRDb250ZW50ID0gSlNPTi5zdHJpbmdpZnkoZS5kZXRhaWwudmFsdWUsIG51bGwsIDIpOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICA8XC9zY3JpcHQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYF0pKSxYYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgYmFja2dyb3VuZDogI2YzZjRmNjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGNvbG9yOiAjMzc0MTUxOwogICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgICAub3V0cHV0LXByZXZpZXcgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMmMyYzJjOwogICAgICAgICAgICBjb2xvcjogI2U0ZTRlNzsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnRhZy1wcmV2aWV3IHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjlmYWZiOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgbWluLWhlaWdodDogNDBweDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAgIC50YWctcHJldmlldyB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxZjI5Mzc7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC50YWctcHJldmlldy1pdGVtIHsKICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgICAgYmFja2dyb3VuZDogI2UwZTdmZjsKICAgICAgICAgIGNvbG9yOiAjNDMzOGNhOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgICAgLnRhZy1wcmV2aWV3LWl0ZW0gewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzEyZTgxOwogICAgICAgICAgICBjb2xvcjogI2M3ZDJmZTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIGAsIjEuIEJhc2ljIFRhZ3MgSW5wdXQiLCJTaW1wbGUgdGFnIGlucHV0IHdpdGggY29tbW9uIHByb2dyYW1taW5nIGxhbmd1YWdlcyIsIlByb2dyYW1taW5nIExhbmd1YWdlcyIsIkFkZCBhIGxhbmd1YWdlLi4uIixbIkphdmFTY3JpcHQiLCJUeXBlU2NyaXB0IiwiUHl0aG9uIiwiR28iXSwiUHJlc3MgRW50ZXIgb3IgY29tbWEgdG8gYWRkIHRhZ3MiLCIyLiBUYWdzIHdpdGggU3VnZ2VzdGlvbnMiLCJBdXRvLWNvbXBsZXRlIHN1Z2dlc3Rpb25zIGZvciBmYXN0ZXIgaW5wdXQiLCJUZWNoIFN0YWNrIiwiVHlwZSB0byBzZWUgc3VnZ2VzdGlvbnMuLi4iLFsiUmVhY3QiLCJWdWUiLCJBbmd1bGFyIiwiU3ZlbHRlIiwiTGl0IiwiTmV4dC5qcyIsIk51eHQiLCJTdmVsdGVLaXQiLCJOb2RlLmpzIiwiRGVubyIsIkJ1biIsIkV4cHJlc3MiLCJGYXN0aWZ5IiwiTmVzdC5qcyIsIktvYSIsIk1vbmdvREIiLCJQb3N0Z3JlU1FMIiwiUmVkaXMiLCJNeVNRTCIsIlNRTGl0ZSIsIkNhc3NhbmRyYSIsIkRvY2tlciIsIkt1YmVybmV0ZXMiLCJBV1MiLCJBenVyZSIsIkdDUCIsIlZlcmNlbCIsIk5ldGxpZnkiXSxbIlJlYWN0IiwiTm9kZS5qcyIsIlBvc3RncmVTUUwiLCJEb2NrZXIiXSwiU3RhcnQgdHlwaW5nIHRvIHNlZSBzdWdnZXN0aW9ucyBmcm9tIHBvcHVsYXIgdGVjaG5vbG9naWVzIiwiMy4gTGltaXRlZCBUYWdzIiwiUmVzdHJpY3QgdGhlIG51bWJlciBvZiB0YWdzIHVzZXJzIGNhbiBhZGQiLCJUb3AgMyBTa2lsbHMiLCJBZGQgdXAgdG8gMyBza2lsbHMuLi4iLDMsWyJEZXNpZ24iLCJEZXZlbG9wbWVudCJdLCJNYXhpbXVtIDMgdGFncyBhbGxvd2VkIiwiQ2F0ZWdvcmllcyAoTWF4IDUpIiwiU2VsZWN0IGNhdGVnb3JpZXMuLi4iLDUsWyJCbG9nIiwiVHV0b3JpYWwiLCJOZXdzIiwiUmV2aWV3IiwiR3VpZGUiLCJDYXNlIFN0dWR5IiwiSW50ZXJ2aWV3Il0sWyJUdXRvcmlhbCIsIkd1aWRlIl0sIkNob29zZSB1cCB0byA1IGNhdGVnb3JpZXMiLCI0LiBSZXF1aXJlZCAmIFZhbGlkYXRpb24iLCJUYWdzIGlucHV0IHdpdGggdmFsaWRhdGlvbiByZXF1aXJlbWVudHMiLCJQcm9qZWN0IFRhZ3MiLCJBZGQgYXQgbGVhc3Qgb25lIHRhZy4uLiIsITAsIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQgLSBhZGQgYXQgbGVhc3Qgb25lIHRhZyIsIjUuIERpc2FibGVkIFN0YXRlIiwiUmVhZC1vbmx5IHRhZ3MgZGlzcGxheSIsIlN5c3RlbSBUYWdzIixbIlN5c3RlbSIsIlByb3RlY3RlZCIsIlJlYWQtT25seSIsIkFyY2hpdmUiXSwhMCwiVGhlc2UgdGFncyBjYW5ub3QgYmUgbW9kaWZpZWQiLCI2LiBGb3JtIEludGVncmF0aW9uIiwiVGFncyBpbnB1dCB3b3JraW5nIHdpdGhpbiBhIGZvcm0gY29udGV4dCIsIlByb2plY3QgTmFtZSIsIk15IEF3ZXNvbWUgUHJvamVjdCIsITAsIm5hbWUiLCJUZWNobm9sb2dpZXMgVXNlZCIsIkFkZCB0ZWNobm9sb2dpZXMuLi4iLCEwLCJ0ZWNobm9sb2dpZXMiLFsiVHlwZVNjcmlwdCIsIkphdmFTY3JpcHQiLCJQeXRob24iLCJHbyIsIlJ1c3QiLCJSZWFjdCIsIlZ1ZSIsIkFuZ3VsYXIiLCJTdmVsdGUiLCJOb2RlLmpzIiwiRGVubyIsIkV4cHJlc3MiLCJGYXN0QVBJIl0sIlByb2plY3QgVGFncyIsIkFkZCBkZXNjcmlwdGl2ZSB0YWdzLi4uIiwidGFncyIsMTAsWyJmcm9udGVuZCIsImJhY2tlbmQiLCJmdWxsc3RhY2siLCJtb2JpbGUiLCJkZXNrdG9wIiwid2ViIiwiYXBpIiwiZGF0YWJhc2UiLCJkZXZvcHMiLCJ1aS91eCIsIm9wZW5zb3VyY2UiLCJzYWFzIiwiZW50ZXJwcmlzZSIsInN0YXJ0dXAiXSwiRGVzY3JpcHRpb24iLCJ0ZXh0YXJlYSIsIkRlc2NyaWJlIHlvdXIgcHJvamVjdC4uLiIsImRlc2NyaXB0aW9uIiwiQ3JlYXRlIFByb2plY3QiLCI3LiBJbnRlcmFjdGl2ZSBEZW1vIiwiQWRkIHRhZ3MgYW5kIHNlZSB0aGVtIGNvbGxlY3RlZCBpbiByZWFsLXRpbWUiLCJZb3VyIEludGVyZXN0cyIsIlR5cGUgeW91ciBpbnRlcmVzdHMuLi4iLFsiTXVzaWMiLCJNb3ZpZXMiLCJCb29rcyIsIlRyYXZlbCIsIlBob3RvZ3JhcGh5IiwiQ29va2luZyIsIkdhbWluZyIsIlNwb3J0cyIsIkFydCIsIlRlY2hub2xvZ3kiLCJGYXNoaW9uIiwiRml0bmVzcyIsIk5hdHVyZSIsIlNjaWVuY2UiLCJIaXN0b3J5Il0sYT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiN0YWdzLXByZXZpZXciKSx0PWEuZGV0YWlsLnZhbHVlO2UmJih0Lmxlbmd0aD09PTA/ZS5pbm5lckhUTUw9JzxlbSBzdHlsZT0iY29sb3I6ICM5OTk7Ij5ObyB0YWdzIGFkZGVkIHlldC4uLjwvZW0+JzplLmlubmVySFRNTD10Lm1hcChyPT5gPHNwYW4gY2xhc3M9InRhZy1wcmV2aWV3LWl0ZW0iPiR7cn08L3NwYW4+YCkuam9pbigiIikpfSksImRlbW9GdW5jIil9KTt2YXIgcGMscmkseWFlLFlZZT1mKCgpPT57bGUoKTtTcigpO3ZhKCk7aWlhKCk7UWUoKTtwYz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scmk9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHlhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtdGFncyIpXSxlLHQ9W10scixpPU10LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxQPVtdLEIsTT1bXSxTPVtdO3ZhciBFPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRUYWdzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEE9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOk51bWJlcn0pXSx4PVskKHt0eXBlOkFycmF5fSldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEI9WyQoe3R5cGU6U3RyaW5nfSldLHBjKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InZhbHVlImluIEYsImhhcyIpLGdldDpzKEY9PkYudmFsdWUsImdldCIpLHNldDpzKChGLFcpPT57Ri52YWx1ZT1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LG4sbCkscGModGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwbGFjZWhvbGRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4icGxhY2Vob2xkZXIiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5wbGFjZWhvbGRlciwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnBsYWNlaG9sZGVyPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sYyxwKSxwYyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1heFRhZ3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+Im1heFRhZ3MiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5tYXhUYWdzLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YubWF4VGFncz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LG0sdikscGModGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdWdnZXN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4ic3VnZ2VzdGlvbnMiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5zdWdnZXN0aW9ucywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnN1Z2dlc3Rpb25zPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sYixnKSxwYyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlucHV0VmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+ImlucHV0VmFsdWUiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5pbnB1dFZhbHVlLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YuaW5wdXRWYWx1ZT1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGssQykscGModGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93U3VnZ2VzdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InNob3dTdWdnZXN0aW9ucyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnNob3dTdWdnZXN0aW9ucywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnNob3dTdWdnZXN0aW9ucz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LF8seikscGModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4iaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXgiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleCwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4PVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sVCxQKSxwYyh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbGlkYXRpb25UZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJ2YWxpZGF0aW9uVGV4dCJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnZhbGlkYXRpb25UZXh0LCJnZXQiKSxzZXQ6cygoRixXKT0+e0YudmFsaWRhdGlvblRleHQ9V30sInNldCIpfSxtZXRhZGF0YTpBfSxNLFMpLHBjKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkF9LG51bGwsdCksRT1yPWUudmFsdWUsQSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpBfSl9c3RhdGljIGRlbW89c2lhO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1yaSh0aGlzLG4sW10pO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZShBKXt0aGlzLiNlPUF9I3Q9KHJpKHRoaXMsbCkscmkodGhpcyxjLCJBZGQgdGFncy4uLiIpKTtnZXQgcGxhY2Vob2xkZXIoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcGxhY2Vob2xkZXIoQSl7dGhpcy4jdD1BfSNhPShyaSh0aGlzLHApLHJpKHRoaXMsbSwwKSk7Z2V0IG1heFRhZ3MoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbWF4VGFncyhBKXt0aGlzLiNhPUF9I3I9KHJpKHRoaXMsdikscmkodGhpcyxiLFtdKSk7Z2V0IHN1Z2dlc3Rpb25zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHN1Z2dlc3Rpb25zKEEpe3RoaXMuI3I9QX0jcz0ocmkodGhpcyxnKSxyaSh0aGlzLGssIiIpKTtnZXQgaW5wdXRWYWx1ZSgpe3JldHVybiB0aGlzLiNzfXNldCBpbnB1dFZhbHVlKEEpe3RoaXMuI3M9QX0jaT0ocmkodGhpcyxDKSxyaSh0aGlzLF8sITEpKTtnZXQgc2hvd1N1Z2dlc3Rpb25zKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHNob3dTdWdnZXN0aW9ucyhBKXt0aGlzLiNpPUF9I289KHJpKHRoaXMseikscmkodGhpcyxULC0xKSk7Z2V0IGhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4KCl7cmV0dXJuIHRoaXMuI299c2V0IGhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4KEEpe3RoaXMuI289QX0jbj0ocmkodGhpcyxQKSxyaSh0aGlzLE0sIiIpKTtnZXQgdmFsaWRhdGlvblRleHQoKXtyZXR1cm4gdGhpcy4jbn1zZXQgdmFsaWRhdGlvblRleHQoQSl7dGhpcy4jbj1BfXN0YXRpYyBzdHlsZXM9W1BlLC4uLk10LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAudGFncy1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7CiAgICAgICAgbWluLWhlaWdodDogNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjdXJzb3I6IHRleHQ7CiAgICAgIH0KCiAgICAgIC50YWdzLWNvbnRhaW5lcjpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjAuOSUpIil9OwogICAgICB9CgogICAgICAudGFncy1jb250YWluZXI6Zm9jdXMtd2l0aGluIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAudGFncy1jb250YWluZXIuZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAudGFnIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTUgMjAuMiUgNjUuMSUgLyAwLjIpIiwiaHNsKDIxNSAyMC4yJSAzNS4xJSAvIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTUgMjAuMiUgNjUuMSUgLyAwLjMpIiwiaHNsKDIxNSAyMC4yJSAzNS4xJSAvIDAuMykiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGFuaW1hdGlvbjogdGFnQXBwZWFyIDAuMTVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgdGFnQXBwZWFyIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIH0KICAgICAgICB0byB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC50YWctcmVtb3ZlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgNDYuNyUpIiwiaHNsKDIxNy45IDEwLjYlIDU0LjklKSIpfTsKICAgICAgfQoKICAgICAgLnRhZy1yZW1vdmU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDgpIiwiaHNsKDAgMCUgMTAwJSAvIDAuMDgpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgNzQuOSUpIil9OwogICAgICB9CgogICAgICAudGFnLXJlbW92ZSBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxMHB4OwogICAgICAgIGhlaWdodDogMTBweDsKICAgICAgfQoKICAgICAgLnRhZy1pbnB1dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDEyMHB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgcGFkZGluZzogMnB4IDRweDsKICAgICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgICAgfQoKICAgICAgLnRhZy1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICB9CgogICAgICAudGFnLWlucHV0OmRpc2FibGVkIHsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAvKiBTdWdnZXN0aW9ucyBkcm9wZG93biAqLwogICAgICAuc3VnZ2VzdGlvbnMtY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5zdWdnZXN0aW9ucy1kcm9wZG93biB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCBoc2woMCAwJSAwJSAvIDAuMSksIDAgMnB4IDRweCAtMnB4IGhzbCgwIDAlIDAlIC8gMC4xKTsKICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgIH0KCiAgICAgIC5zdWdnZXN0aW9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgIH0KCiAgICAgIC5zdWdnZXN0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CgogICAgICAuc3VnZ2VzdGlvbi5oaWdobGlnaHRlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLyogVmFsaWRhdGlvbiBzdHlsZXMgKi8KICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSAzMC42JSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIG1hcmdpbi10b3A6IDZweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CgogICAgICAvKiBTY3JvbGxiYXIgc3R5bGluZyAqLwogICAgICAuc3VnZ2VzdGlvbnMtZHJvcGRvd246Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICB9CgogICAgICAuc3VnZ2VzdGlvbnMtZHJvcGRvd246Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb25zLWRyb3Bkb3duOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KCiAgICAgIC5zdWdnZXN0aW9ucy1kcm9wZG93bjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBBPXRoaXMuc3VnZ2VzdGlvbnMuZmlsdGVyKEY9PiF0aGlzLnZhbHVlLmluY2x1ZGVzKEYpJiZGLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5pbnB1dFZhbHVlLnRvTG93ZXJDYXNlKCkpKTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0+PC9kZWVzLWxhYmVsPmA6IiJ9CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ic3VnZ2VzdGlvbnMtY29udGFpbmVyIj4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9InRhZ3MtY29udGFpbmVyICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVDb250YWluZXJDbGlja30KICAgICAgICAgID4KICAgICAgICAgICAgJHt0aGlzLnZhbHVlLm1hcChGPT53YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhZyI+CiAgICAgICAgICAgICAgICA8c3Bhbj4ke0Z9PC9zcGFuPgogICAgICAgICAgICAgICAgJHt0aGlzLmRpc2FibGVkPyIiOndgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhZy1yZW1vdmUiIEBjbGljaz0ke1c9PnRoaXMucmVtb3ZlVGFnKFcsRil9PgogICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgKX0KICAgICAgICAgICAgCiAgICAgICAgICAgICR7IXRoaXMuZGlzYWJsZWQmJighdGhpcy5tYXhUYWdzfHx0aGlzLnZhbHVlLmxlbmd0aDx0aGlzLm1heFRhZ3MpP3dgCiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgY2xhc3M9InRhZy1pbnB1dCIKICAgICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0ke3RoaXMucGxhY2Vob2xkZXJ9CiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLmlucHV0VmFsdWV9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHt0aGlzLmhhbmRsZUlucHV0fQogICAgICAgICAgICAgICAgQGtleWRvd249JHt0aGlzLmhhbmRsZUtleURvd259CiAgICAgICAgICAgICAgICBAZm9jdXM9JHt0aGlzLmhhbmRsZUZvY3VzfQogICAgICAgICAgICAgICAgQGJsdXI9JHt0aGlzLmhhbmRsZUJsdXJ9CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAke3RoaXMuc2hvd1N1Z2dlc3Rpb25zJiZBLmxlbmd0aD4wP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Z2dlc3Rpb25zLWRyb3Bkb3duIj4KICAgICAgICAgICAgICAke0EubWFwKChGLFcpPT53YAogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0ic3VnZ2VzdGlvbiAke1c9PT10aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4PyJoaWdobGlnaHRlZCI6IiJ9IgogICAgICAgICAgICAgICAgICBAbW91c2Vkb3duPSR7aj0+e2oucHJldmVudERlZmF1bHQoKSx0aGlzLmFkZFRhZyhGKX19CiAgICAgICAgICAgICAgICAgIEBtb3VzZWVudGVyPSR7KCk9PnRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg9V30KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgJHtGfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLnZhbGlkYXRpb25UZXh0P3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2YWxpZGF0aW9uLW1lc3NhZ2UiPiR7dGhpcy52YWxpZGF0aW9uVGV4dH08L2Rpdj4KICAgICAgICBgOiIifQogICAgICAgIAogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlQ29udGFpbmVyQ2xpY2soQSl7aWYodGhpcy5kaXNhYmxlZClyZXR1cm47bGV0IEY9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudGFnLWlucHV0Iik7RiYmQS50YXJnZXQhPT1GJiZGLmZvY3VzKCl9aGFuZGxlSW5wdXQoQSl7bGV0IEY9QS50YXJnZXQ7aWYodGhpcy5pbnB1dFZhbHVlPUYudmFsdWUsdGhpcy5pbnB1dFZhbHVlLmluY2x1ZGVzKCIsIil8fHRoaXMuaW5wdXRWYWx1ZS5pbmNsdWRlcygiOyIpKXtsZXQgVz10aGlzLmlucHV0VmFsdWUucmVwbGFjZSgvWyw7XS9nLCIiKS50cmltKCk7VyYmdGhpcy5hZGRUYWcoVyl9fWhhbmRsZUtleURvd24oQSl7bGV0IEY9QS50YXJnZXQ7aWYoQS5rZXk9PT0iRW50ZXIiKWlmKEEucHJldmVudERlZmF1bHQoKSx0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4Pj0wJiZ0aGlzLnNob3dTdWdnZXN0aW9ucyl7bGV0IFc9dGhpcy5zdWdnZXN0aW9ucy5maWx0ZXIoaj0+IXRoaXMudmFsdWUuaW5jbHVkZXMoaikmJmoudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLmlucHV0VmFsdWUudG9Mb3dlckNhc2UoKSkpO1dbdGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleF0mJnRoaXMuYWRkVGFnKFdbdGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleF0pfWVsc2UgdGhpcy5pbnB1dFZhbHVlLnRyaW0oKSYmdGhpcy5hZGRUYWcodGhpcy5pbnB1dFZhbHVlLnRyaW0oKSk7ZWxzZSBpZihBLmtleT09PSJCYWNrc3BhY2UiJiYhdGhpcy5pbnB1dFZhbHVlJiZ0aGlzLnZhbHVlLmxlbmd0aD4wKXRoaXMucmVtb3ZlVGFnKEEsdGhpcy52YWx1ZVt0aGlzLnZhbHVlLmxlbmd0aC0xXSk7ZWxzZSBpZihBLmtleT09PSJBcnJvd0Rvd24iJiZ0aGlzLnNob3dTdWdnZXN0aW9ucyl7QS5wcmV2ZW50RGVmYXVsdCgpO2xldCBXPXRoaXMuc3VnZ2VzdGlvbnMuZmlsdGVyKGo9PiF0aGlzLnZhbHVlLmluY2x1ZGVzKGopJiZqLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5pbnB1dFZhbHVlLnRvTG93ZXJDYXNlKCkpKS5sZW5ndGg7dGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD1NYXRoLm1pbih0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4KzEsVy0xKX1lbHNlIEEua2V5PT09IkFycm93VXAiJiZ0aGlzLnNob3dTdWdnZXN0aW9ucz8oQS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg9TWF0aC5tYXgodGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleC0xLDApKTpBLmtleT09PSJFc2NhcGUiJiYodGhpcy5zaG93U3VnZ2VzdGlvbnM9ITEsdGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD0tMSl9aGFuZGxlRm9jdXMoKXt0aGlzLnN1Z2dlc3Rpb25zLmxlbmd0aD4wJiYodGhpcy5zaG93U3VnZ2VzdGlvbnM9ITApfWhhbmRsZUJsdXIoKXtzZXRUaW1lb3V0KCgpPT57dGhpcy5zaG93U3VnZ2VzdGlvbnM9ITEsdGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD0tMX0sMjAwKX1hZGRUYWcoQSl7aWYoIUF8fHRoaXMudmFsdWUuaW5jbHVkZXMoQSl8fHRoaXMubWF4VGFncyYmdGhpcy52YWx1ZS5sZW5ndGg+PXRoaXMubWF4VGFncylyZXR1cm47dGhpcy52YWx1ZT1bLi4udGhpcy52YWx1ZSxBXSx0aGlzLmlucHV0VmFsdWU9IiIsdGhpcy5zaG93U3VnZ2VzdGlvbnM9ITEsdGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD0tMTtsZXQgRj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWctaW5wdXQiKTtGJiYoRi52YWx1ZT0iIiksdGhpcy5lbWl0Q2hhbmdlKCl9cmVtb3ZlVGFnKEEsRil7QS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnZhbHVlPXRoaXMudmFsdWUuZmlsdGVyKFc9PlchPT1GKSx0aGlzLmVtaXRDaGFuZ2UoKX1lbWl0Q2hhbmdlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2hhbmdlIix7ZGV0YWlsOnt2YWx1ZTp0aGlzLnZhbHVlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoQSl7dGhpcy52YWx1ZT1BfHxbXX1hc3luYyB2YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJlcXVpcmVkJiYoIXRoaXMudmFsdWV8fHRoaXMudmFsdWUubGVuZ3RoPT09MCk/KHRoaXMudmFsaWRhdGlvblRleHQ9IkF0IGxlYXN0IG9uZSB0YWcgaXMgcmVxdWlyZWQiLCExKToodGhpcy52YWxpZGF0aW9uVGV4dD0iIiwhMCl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHJpKHRoaXMsUyl9c3RhdGlje3JpKHIsdCl9fTtyZXR1cm4gRT1yfSkoKX0pO3ZhciBvaWEsbmlhPWYoKCk9PntsZSgpO05hKCk7WXMoKTtpbSgpO240KCk7VGYoKTtvaWE9cygoKT0+d2AKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgJHtYYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgYmFja2dyb3VuZDogI2YzZjRmNjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGNvbG9yOiAjMzc0MTUxOwogICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgICAub3V0cHV0LXByZXZpZXcgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMmMyYzJjOwogICAgICAgICAgICBjb2xvcjogI2U0ZTRlNzsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmZlYXR1cmUtbm90ZSB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OwogICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICNlZmY2ZmY7CiAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMzYjgyZjY7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBjb2xvcjogIzFlNDBhZjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgICAgLmZlYXR1cmUtbm90ZSB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxZTNhNWY7CiAgICAgICAgICAgIGNvbG9yOiAjOTNjNWZkOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjEuIEJhc2ljIExpc3QgSW5wdXQifSAuc3VidGl0bGU9JHsiU2ltcGxlIGxpc3QgbWFuYWdlbWVudCB3aXRoIGFkZCwgZWRpdCwgYW5kIGRlbGV0ZSJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJTaG9wcGluZyBMaXN0In0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgaXRlbSB0byB5b3VyIGxpc3QuLi4ifQogICAgICAgICAgLnZhbHVlPSR7WyJNaWxrIiwiQnJlYWQiLCJFZ2dzIiwiQ2hlZXNlIl19CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiRG91YmxlLWNsaWNrIHRvIGVkaXQgaXRlbXMsIG9yIHVzZSB0aGUgZWRpdCBidXR0b24ifQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLW5vdGUiPgogICAgICAgICAg8J+SoSBEb3VibGUtY2xpY2sgYW55IGl0ZW0gdG8gcXVpY2tseSBlZGl0IGl0IGlubGluZQogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMi4gU29ydGFibGUgTGlzdCJ9IC5zdWJ0aXRsZT0keyJEcmFnIGFuZCBkcm9wIHRvIHJlb3JkZXIgaXRlbXMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAubGFiZWw9JHsiVGFzayBQcmlvcml0eSJ9CiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiQWRkIGEgdGFzay4uLiJ9CiAgICAgICAgICAuc29ydGFibGU9JHshMH0KICAgICAgICAgIC52YWx1ZT0ke1siUmV2aWV3IHB1bGwgcmVxdWVzdHMiLCJGaXggY3JpdGljYWwgYnVnIiwiVXBkYXRlIGRvY3VtZW50YXRpb24iLCJEZXBsb3kgdG8gcHJvZHVjdGlvbiIsIlRlYW0gc3RhbmR1cCBtZWV0aW5nIl19CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiRHJhZyBpdGVtcyB1c2luZyB0aGUgaGFuZGxlIHRvIHJlb3JkZXIgdGhlbSJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtbm90ZSI+CiAgICAgICAgICDwn5SEIERyYWcgdGhlIGdyaXAgaGFuZGxlIHRvIHJlb3JkZXIgdGFza3MgYnkgcHJpb3JpdHkKICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjMuIFZhbGlkYXRpb24gJiBDb25zdHJhaW50cyJ9IC5zdWJ0aXRsZT0keyJMaXN0cyB3aXRoIG1pbmltdW0vbWF4aW11bSBpdGVtcyBhbmQgZHVwbGljYXRlIHByZXZlbnRpb24ifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAgICAgLmxhYmVsPSR7IlRlYW0gTWVtYmVycyAoTWluIDIsIE1heCA1KSJ9CiAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCB0ZWFtIG1lbWJlci4uLiJ9CiAgICAgICAgICAgICAgLm1pbkl0ZW1zPSR7Mn0KICAgICAgICAgICAgICAubWF4SXRlbXM9JHs1fQogICAgICAgICAgICAgIC52YWx1ZT0ke1siQWxpY2UiLCJCb2IiXX0KICAgICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWRkIDItNSB0ZWFtIG1lbWJlcnMifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAgICAgLmxhYmVsPSR7IlVuaXF1ZSBUYWdzIChObyBEdXBsaWNhdGVzKSJ9CiAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCB1bmlxdWUgdGFnLi4uIn0KICAgICAgICAgICAgICAuYWxsb3dEdXBsaWNhdGVzPSR7ITF9CiAgICAgICAgICAgICAgLnZhbHVlPSR7WyJmcm9udGVuZCIsImJhY2tlbmQiLCJkYXRhYmFzZSJdfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJEdXBsaWNhdGUgaXRlbXMgYXJlIG5vdCBhbGxvd2VkIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI0LiBEZWxldGUgQ29uZmlybWF0aW9uIn0gLnN1YnRpdGxlPSR7IlJlcXVpcmUgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGluZyBpdGVtcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJJbXBvcnRhbnQgRG9jdW1lbnRzIn0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgZG9jdW1lbnQgbmFtZS4uLiJ9CiAgICAgICAgICAuY29uZmlybURlbGV0ZT0keyEwfQogICAgICAgICAgLnZhbHVlPSR7WyJDb250cmFjdF8yMDI0LnBkZiIsIkZpbmFuY2lhbF9SZXBvcnRfUTMueGxzeCIsIlByb2plY3RfUHJvcG9zYWwuZG9jeCIsIk1lZXRpbmdfTm90ZXMudHh0Il19CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiRGVsZXRpb24gcmVxdWlyZXMgY29uZmlybWF0aW9uIGZvciBzYWZldHkifQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjUuIERpc2FibGVkIFN0YXRlIn0gLnN1YnRpdGxlPSR7IlJlYWQtb25seSBsaXN0IGRpc3BsYXkifT4KICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAubGFiZWw9JHsiU3lzdGVtIERlZmF1bHRzIn0KICAgICAgICAgIC52YWx1ZT0ke1siRGVmYXVsdCBTZXR0aW5nIDEiLCJEZWZhdWx0IFNldHRpbmcgMiIsIkRlZmF1bHQgU2V0dGluZyAzIl19CiAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJUaGVzZSBpdGVtcyBjYW5ub3QgYmUgbW9kaWZpZWQifQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjYuIEZvcm0gSW50ZWdyYXRpb24ifSAuc3VidGl0bGU9JHsiTGlzdCBpbnB1dCB3b3JraW5nIHdpdGhpbiBhIGZvcm0gY29udGV4dCJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJSZWNpcGUgTmFtZSJ9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJNeSBBbWF6aW5nIFJlY2lwZSJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAua2V5PSR7Im5hbWUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgICAgICAubGFiZWw9JHsiSW5ncmVkaWVudHMifQogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgaW5ncmVkaWVudC4uLiJ9CiAgICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgICAgLm1pbkl0ZW1zPSR7M30KICAgICAgICAgICAgICAua2V5PSR7ImluZ3JlZGllbnRzIn0KICAgICAgICAgICAgICAuc29ydGFibGU9JHshMH0KICAgICAgICAgICAgICAudmFsdWU9JHtbIjIgY3VwcyBmbG91ciIsIjEgY3VwIHN1Z2FyIiwiMyBlZ2dzIl19CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkFkZCBhdCBsZWFzdCAzIGluZ3JlZGllbnRzIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgICAgIC5sYWJlbD0keyJJbnN0cnVjdGlvbnMifQogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgaW5zdHJ1Y3Rpb24gc3RlcC4uLiJ9CiAgICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgICAgLm1pbkl0ZW1zPSR7Mn0KICAgICAgICAgICAgICAua2V5PSR7Imluc3RydWN0aW9ucyJ9CiAgICAgICAgICAgICAgLnNvcnRhYmxlPSR7ITB9CiAgICAgICAgICAgICAgLnZhbHVlPSR7WyJQcmVoZWF0IG92ZW4gdG8gMzUwXHhCMEYiLCJNaXggZHJ5IGluZ3JlZGllbnRzIl19CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkFkZCBjb29raW5nIGluc3RydWN0aW9ucyBpbiBvcmRlciJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJOb3RlcyJ9CiAgICAgICAgICAgIC5pbnB1dFR5cGU9JHsidGV4dGFyZWEifQogICAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiQW55IHNwZWNpYWwgbm90ZXMgb3IgdGlwcy4uLiJ9CiAgICAgICAgICAgIC5rZXk9JHsibm90ZXMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCAudGV4dD0keyJTYXZlIFJlY2lwZSJ9PjwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjcuIEludGVyYWN0aXZlIERlbW8ifSAuc3VidGl0bGU9JHsiQnVpbGQgeW91ciBvd24gZmVhdHVyZSBsaXN0IGFuZCBzZWUgdGhlIGRhdGEifT4KICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICBpZD0iaW50ZXJhY3RpdmUtbGlzdCIKICAgICAgICAgIC5sYWJlbD0keyJQcm9kdWN0IEZlYXR1cmVzIn0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgYSBmZWF0dXJlLi4uIn0KICAgICAgICAgIC5zb3J0YWJsZT0keyEwfQogICAgICAgICAgLmNvbmZpcm1EZWxldGU9JHshMX0KICAgICAgICAgIC5hbGxvd0R1cGxpY2F0ZXM9JHshMX0KICAgICAgICAgIC5tYXhJdGVtcz0kezEwfQogICAgICAgICAgQGNoYW5nZT0ke2E9PntsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjbGlzdC1qc29uIik7aWYoZSl7bGV0IHQ9e2l0ZW1zOmEuZGV0YWlsLnZhbHVlLGNvdW50OmEuZGV0YWlsLnZhbHVlLmxlbmd0aCx0aW1lc3RhbXA6bmV3IERhdGUoKS50b0lTT1N0cmluZygpfTtlLnRleHRDb250ZW50PUpTT04uc3RyaW5naWZ5KHQsbnVsbCwyKX19fQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtcHJldmlldyIgaWQ9Imxpc3QtanNvbiI+CiAgICAgICAgICB7CiAgICAgICAgICAgICJpdGVtcyI6IFtdLAogICAgICAgICAgICAiY291bnQiOiAwLAogICAgICAgICAgICAidGltZXN0YW1wIjogIiR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfSIKICAgICAgICAgIH0KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLW5vdGUiPgogICAgICAgICAg4pyoIEFkZCwgZWRpdCwgcmVtb3ZlLCBhbmQgcmVvcmRlciBpdGVtcyB0byBzZWUgdGhlIEpTT04gb3V0cHV0IHVwZGF0ZSBpbiByZWFsLXRpbWUKICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjguIEFkdmFuY2VkIENvbmZpZ3VyYXRpb24ifSAuc3VidGl0bGU9JHsiQ29tYmluZSBhbGwgZmVhdHVyZXMgZm9yIGNvbXBsZXggdXNlIGNhc2VzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgLmxhYmVsPSR7IlByb2plY3QgTWlsZXN0b25lcyJ9CiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiQWRkIG1pbGVzdG9uZS4uLiJ9CiAgICAgICAgICAudmFsdWU9JHtbIlByb2plY3QgS2lja29mZiAtIFdlZWsgMSIsIlJlcXVpcmVtZW50cyBHYXRoZXJpbmcgLSBXZWVrIDItMyIsIkRlc2lnbiBQaGFzZSAtIFdlZWsgNC02IiwiRGV2ZWxvcG1lbnQgU3ByaW50IDEgLSBXZWVrIDctOSIsIlRlc3RpbmcgJiBRQSAtIFdlZWsgMTAtMTEiLCJEZXBsb3ltZW50IC0gV2VlayAxMiJdfQogICAgICAgICAgLnNvcnRhYmxlPSR7ITB9CiAgICAgICAgICAuY29uZmlybURlbGV0ZT0keyEwfQogICAgICAgICAgLmFsbG93RHVwbGljYXRlcz0keyExfQogICAgICAgICAgLm1pbkl0ZW1zPSR7M30KICAgICAgICAgIC5tYXhJdGVtcz0kezEyfQogICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiTWFuYWdlIHByb2plY3QgbWlsZXN0b25lcyAoMy0xMiBpdGVtcywgc29ydGFibGUsIG5vIGR1cGxpY2F0ZXMpIn0KICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI5LiBDYW5kaWRhdGVzIHdpdGggVGFiIENvbXBsZXRpb24ifSAuc3VidGl0bGU9JHsiVGVybWluYWwtc3R5bGUgYXV0b2NvbXBsZXRlIFx1MjAxNCBUYWIgYWNjZXB0cywgU2hpZnQrVGFiIGN5Y2xlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGF5b3V0Ij4KICAgICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgICAgaWQ9ImNhbmRpZGF0ZS1saXN0IgogICAgICAgICAgICAubGFiZWw9JHsiQXNzaWduIFRlYW0gTWVtYmVycyJ9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJUeXBlIGEgbmFtZS4uLiAoVGFiIHRvIGNvbXBsZXRlKSJ9CiAgICAgICAgICAgIC5jYW5kaWRhdGVzPSR7W3t2aWV3S2V5OiJBbGljZSBTbWl0aCIscGF5bG9hZDp7aWQ6MSxyb2xlOiJFbmdpbmVlciIsZGVwYXJ0bWVudDoiRnJvbnRlbmQifX0se3ZpZXdLZXk6IkJvYiBKb2huc29uIixwYXlsb2FkOntpZDoyLHJvbGU6IkRlc2lnbmVyIixkZXBhcnRtZW50OiJVWCJ9fSx7dmlld0tleToiQ2Fyb2wgV2lsbGlhbXMiLHBheWxvYWQ6e2lkOjMscm9sZToiUHJvZHVjdCBNYW5hZ2VyIixkZXBhcnRtZW50OiJQcm9kdWN0In19LHt2aWV3S2V5OiJEYXZpZCBCcm93biIscGF5bG9hZDp7aWQ6NCxyb2xlOiJFbmdpbmVlciIsZGVwYXJ0bWVudDoiQmFja2VuZCJ9fSx7dmlld0tleToiRXZlIERhdmlzIixwYXlsb2FkOntpZDo1LHJvbGU6IlFBIEVuZ2luZWVyIixkZXBhcnRtZW50OiJRdWFsaXR5In19LHt2aWV3S2V5OiJGcmFuayBNaWxsZXIiLHBheWxvYWQ6e2lkOjYscm9sZToiRGV2T3BzIixkZXBhcnRtZW50OiJJbmZyYXN0cnVjdHVyZSJ9fSx7dmlld0tleToiR3JhY2UgV2lsc29uIixwYXlsb2FkOntpZDo3LHJvbGU6IkRlc2lnbmVyIixkZXBhcnRtZW50OiJVWCJ9fSx7dmlld0tleToiSGVucnkgTW9vcmUiLHBheWxvYWQ6e2lkOjgscm9sZToiRW5naW5lZXIiLGRlcGFydG1lbnQ6IkZyb250ZW5kIn19XX0KICAgICAgICAgICAgLnZhbHVlPSR7WyJBbGljZSBTbWl0aCIsIkNhcm9sIFdpbGxpYW1zIl19CiAgICAgICAgICAgIC5tYXhJdGVtcz0kezV9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJUeXBlIHRvIHNlZSBnaG9zdCBjb21wbGV0aW9uLiBUYWIgdG8gYWNjZXB0LCBTaGlmdCtUYWIgdG8gY3ljbGUsIEVudGVyIHRvIGFkZC4ifQogICAgICAgICAgICBAY2hhbmdlPSR7YT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNjYW5kaWRhdGUtanNvbiIpO2lmKGUpe2xldCByPWEudGFyZ2V0LmdldEFkZGVkQ2FuZGlkYXRlcygpO2UudGV4dENvbnRlbnQ9SlNPTi5zdHJpbmdpZnkocixudWxsLDIpfX19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxM3B4OyBmb250LXdlaWdodDogNTAwOyBtYXJnaW4tYm90dG9tOiA4cHg7IGNvbG9yOiBpbmhlcml0OyI+U2VsZWN0ZWQgQ2FuZGlkYXRlcyAod2l0aCBwYXlsb2Fkcyk8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3V0cHV0LXByZXZpZXciIGlkPSJjYW5kaWRhdGUtanNvbiI+W108L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ub3RlIj4KICAgICAgICAgICAgICBUcnkgdHlwaW5nICJEIiDigJQgZ2hvc3QgdGV4dCBzaG93cyAiYXZpZCBCcm93biIuIFByZXNzIFNoaWZ0K1RhYiB0byBjeWNsZSB0byBvdGhlciBELW1hdGNoZXMuIFRhYiBhY2NlcHRzLCBFbnRlciBhZGRzLgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMTAuIFRlY2hub2xvZ3kgU3RhY2sifSAuc3VidGl0bGU9JHsiTGFyZ2VyIGNhbmRpZGF0ZSBwb29sIHdpdGggU2hpZnQrVGFiIGN5Y2xpbmcifT4KICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAubGFiZWw9JHsiU2VsZWN0IFRlY2hub2xvZ2llcyJ9CiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiVHlwZSB0byBhdXRvY29tcGxldGUuLi4ifQogICAgICAgICAgLmNhbmRpZGF0ZXM9JHtbe3ZpZXdLZXk6IlR5cGVTY3JpcHQiLHBheWxvYWQ6e2NhdGVnb3J5OiJsYW5ndWFnZSJ9fSx7dmlld0tleToiUmVhY3QiLHBheWxvYWQ6e2NhdGVnb3J5OiJmcmFtZXdvcmsifX0se3ZpZXdLZXk6IlZ1ZS5qcyIscGF5bG9hZDp7Y2F0ZWdvcnk6ImZyYW1ld29yayJ9fSx7dmlld0tleToiQW5ndWxhciIscGF5bG9hZDp7Y2F0ZWdvcnk6ImZyYW1ld29yayJ9fSx7dmlld0tleToiTm9kZS5qcyIscGF5bG9hZDp7Y2F0ZWdvcnk6InJ1bnRpbWUifX0se3ZpZXdLZXk6IkRlbm8iLHBheWxvYWQ6e2NhdGVnb3J5OiJydW50aW1lIn19LHt2aWV3S2V5OiJEb2NrZXIiLHBheWxvYWQ6e2NhdGVnb3J5OiJkZXZvcHMifX0se3ZpZXdLZXk6IlBvc3RncmVTUUwiLHBheWxvYWQ6e2NhdGVnb3J5OiJkYXRhYmFzZSJ9fSx7dmlld0tleToiTW9uZ29EQiIscGF5bG9hZDp7Y2F0ZWdvcnk6ImRhdGFiYXNlIn19LHt2aWV3S2V5OiJSZWRpcyIscGF5bG9hZDp7Y2F0ZWdvcnk6ImRhdGFiYXNlIn19LHt2aWV3S2V5OiJLdWJlcm5ldGVzIixwYXlsb2FkOntjYXRlZ29yeToiZGV2b3BzIn19XX0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keydUcnkgIkQiIFx1MjAxNCBjeWNsZXMgdGhyb3VnaCBEZW5vL0RvY2tlci4gIlIiIFx1MjAxNCBjeWNsZXMgdGhyb3VnaCBSZWFjdC9SZWRpcy4nfQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjExLiBGcmVlZm9ybSArIENhbmRpZGF0ZXMifSAuc3VidGl0bGU9JHsiQWxsb3cgYWRkaW5nIGl0ZW1zIG5vdCBpbiB0aGUgY2FuZGlkYXRlIGxpc3QgKHNob3duIHdpdGggYSBxdWVzdGlvbiBtYXJrKSJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJUYWdzIn0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJUeXBlIGEgdGFnLi4uIChmcmVlZm9ybSBhbGxvd2VkKSJ9CiAgICAgICAgICAuYWxsb3dGcmVlZm9ybT0keyEwfQogICAgICAgICAgLmNhbmRpZGF0ZXM9JHtbe3ZpZXdLZXk6ImJ1ZyIscGF5bG9hZDp7Y29sb3I6InJlZCJ9fSx7dmlld0tleToiZmVhdHVyZSIscGF5bG9hZDp7Y29sb3I6ImJsdWUifX0se3ZpZXdLZXk6ImRvY3MiLHBheWxvYWQ6e2NvbG9yOiJncmVlbiJ9fSx7dmlld0tleToicmVmYWN0b3IiLHBheWxvYWQ6e2NvbG9yOiJwdXJwbGUifX0se3ZpZXdLZXk6InBlcmZvcm1hbmNlIixwYXlsb2FkOntjb2xvcjoib3JhbmdlIn19LHt2aWV3S2V5OiJzZWN1cml0eSIscGF5bG9hZDp7Y29sb3I6InJlZCJ9fV19CiAgICAgICAgICAudmFsdWU9JHtbImJ1ZyIsIm15LWN1c3RvbS10YWciLCJmZWF0dXJlIl19CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiS25vd24gdGFncyBnZXQgYSBjaGVja21hcmssIGN1c3RvbSB0YWdzIGdldCBhIHF1ZXN0aW9uIG1hcmsuIFRhYiB0byBjb21wbGV0ZSwgRW50ZXIgdG8gYWRkIGZyZWVmb3JtLiJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMTIuIEVtcHR5IFN0YXRlIn0gLnN1YnRpdGxlPSR7IkhvdyB0aGUgY29tcG9uZW50IGxvb2tzIHdpdGggbm8gaXRlbXMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAubGFiZWw9JHsiWW91ciBJZGVhcyJ9CiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiU2hhcmUgeW91ciBpZGVhcy4uLiJ9CiAgICAgICAgICAudmFsdWU9JHtbXX0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJTdGFydCBhZGRpbmcgaXRlbXMgdG8gYnVpbGQgeW91ciBsaXN0In0KICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBCcixZdCx3YWUsS1llPWYoKCk9PntsZSgpO1NyKCk7dmEoKTtRcigpO25pYSgpO1FlKCk7QnI9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFl0PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx3YWU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LWxpc3QiKV0sZSx0PVtdLHIsaT1NdCxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXSxCLE09W10sUz1bXSxFLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sUSxKPVtdLFo9W10sZ2UsYWU9W10scmU9W10seWUsVj1bXSxIPVtdLG9lLHNlPVtdLHRlPVtdLHplLE9lPVtdLHFlPVtdLGR0LCRlPVtdLENlPVtdLE1lLGRlPVtdLHZlPVtdLEFlLFplPVtdLG50PVtdO3ZhciB6dD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0TGlzdCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBUZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6TnVtYmVyfSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVskKHt0eXBlOkJvb2xlYW59KV0sTz1bJCh7dHlwZTpCb29sZWFufSldLEI9WyQoe3R5cGU6QXJyYXl9KV0sRT1bJCh7dHlwZTpCb29sZWFufSldLFc9WyQoe3R5cGU6U3RyaW5nfSldLGhlPVtLKCldLG1lPVtLKCldLGNlPVtLKCldLFE9W0soKV0sZ2U9W0soKV0seWU9W0soKV0sb2U9W0soKV0semU9W0soKV0sZHQ9W0soKV0sTWU9W0soKV0sQWU9W0soKV0sQnIodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+InZhbHVlImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UudmFsdWUsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS52YWx1ZT1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sbixsKSxCcih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4icGxhY2Vob2xkZXIiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5wbGFjZWhvbGRlciwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLnBsYWNlaG9sZGVyPVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxjLHApLEJyKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJtYXhJdGVtcyJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLm1heEl0ZW1zLCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UubWF4SXRlbXM9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LG0sdiksQnIodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW5JdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+Im1pbkl0ZW1zImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UubWluSXRlbXMsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5taW5JdGVtcz1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sYixnKSxCcih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFsbG93RHVwbGljYXRlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImFsbG93RHVwbGljYXRlcyJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmFsbG93RHVwbGljYXRlcywiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmFsbG93RHVwbGljYXRlcz1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sayxDKSxCcih0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNvcnRhYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4ic29ydGFibGUiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5zb3J0YWJsZSwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLnNvcnRhYmxlPVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxfLHopLEJyKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29uZmlybURlbGV0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImNvbmZpcm1EZWxldGUiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5jb25maXJtRGVsZXRlLCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuY29uZmlybURlbGV0ZT1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sVCxQKSxCcih0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNhbmRpZGF0ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJjYW5kaWRhdGVzImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UuY2FuZGlkYXRlcywiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmNhbmRpZGF0ZXM9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LE0sUyksQnIodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhbGxvd0ZyZWVmb3JtIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4iYWxsb3dGcmVlZm9ybSJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmFsbG93RnJlZWZvcm0sImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5hbGxvd0ZyZWVmb3JtPVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxBLEYpLEJyKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJ2YWxpZGF0aW9uVGV4dCJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLnZhbGlkYXRpb25UZXh0LCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UudmFsaWRhdGlvblRleHQ9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LGosRyksQnIodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5wdXRWYWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImlucHV0VmFsdWUiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5pbnB1dFZhbHVlLCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuaW5wdXRWYWx1ZT1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sUixVKSxCcih0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJnaG9zdFRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJnaG9zdFRleHQiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5naG9zdFRleHQsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5naG9zdFRleHQ9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LEkscSksQnIodGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudENhbmRpZGF0ZUluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4iY3VycmVudENhbmRpZGF0ZUluZGV4ImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UuY3VycmVudENhbmRpZGF0ZUluZGV4LCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuY3VycmVudENhbmRpZGF0ZUluZGV4PVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSx1ZSxZKSxCcih0aGlzLG51bGwsUSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVkaXRpbmdJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImVkaXRpbmdJbmRleCJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmVkaXRpbmdJbmRleCwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmVkaXRpbmdJbmRleD1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sSixaKSxCcih0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlZGl0aW5nVmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJlZGl0aW5nVmFsdWUiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5lZGl0aW5nVmFsdWUsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5lZGl0aW5nVmFsdWU9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LGFlLHJlKSxCcih0aGlzLG51bGwseWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkcmFnZ2VkSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJkcmFnZ2VkSW5kZXgiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5kcmFnZ2VkSW5kZXgsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5kcmFnZ2VkSW5kZXg9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LFYsSCksQnIodGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ092ZXJJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImRyYWdPdmVySW5kZXgiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5kcmFnT3ZlckluZGV4LCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuZHJhZ092ZXJJbmRleD1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sc2UsdGUpLEJyKHRoaXMsbnVsbCx6ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdTdGFydFkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJkcmFnU3RhcnRZImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UuZHJhZ1N0YXJ0WSwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmRyYWdTdGFydFk9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LE9lLHFlKSxCcih0aGlzLG51bGwsZHQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkcmFnQ3VycmVudFkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJkcmFnQ3VycmVudFkiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5kcmFnQ3VycmVudFksImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5kcmFnQ3VycmVudFk9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LCRlLENlKSxCcih0aGlzLG51bGwsTWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YXJnZXRJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+InRhcmdldEluZGV4ImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UudGFyZ2V0SW5kZXgsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS50YXJnZXRJbmRleD1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sZGUsdmUpLEJyKHRoaXMsbnVsbCxBZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Iml0ZW1IZWlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJpdGVtSGVpZ2h0ImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UuaXRlbUhlaWdodCwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLml0ZW1IZWlnaHQ9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LFplLG50KSxCcihudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUZX0sbnVsbCx0KSx6dD1yPWUudmFsdWUsVGUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VGV9KX1zdGF0aWMgZGVtbz1vaWE7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPVl0KHRoaXMsbixbXSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKFRlKXt0aGlzLiNlPVRlfSN0PShZdCh0aGlzLGwpLFl0KHRoaXMsYywiQWRkIG5ldyBpdGVtLi4uIikpO2dldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLiN0fXNldCBwbGFjZWhvbGRlcihUZSl7dGhpcy4jdD1UZX0jYT0oWXQodGhpcyxwKSxZdCh0aGlzLG0sMCkpO2dldCBtYXhJdGVtcygpe3JldHVybiB0aGlzLiNhfXNldCBtYXhJdGVtcyhUZSl7dGhpcy4jYT1UZX0jcj0oWXQodGhpcyx2KSxZdCh0aGlzLGIsMCkpO2dldCBtaW5JdGVtcygpe3JldHVybiB0aGlzLiNyfXNldCBtaW5JdGVtcyhUZSl7dGhpcy4jcj1UZX0jcz0oWXQodGhpcyxnKSxZdCh0aGlzLGssITEpKTtnZXQgYWxsb3dEdXBsaWNhdGVzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGFsbG93RHVwbGljYXRlcyhUZSl7dGhpcy4jcz1UZX0jaT0oWXQodGhpcyxDKSxZdCh0aGlzLF8sITEpKTtnZXQgc29ydGFibGUoKXtyZXR1cm4gdGhpcy4jaX1zZXQgc29ydGFibGUoVGUpe3RoaXMuI2k9VGV9I289KFl0KHRoaXMseiksWXQodGhpcyxULCExKSk7Z2V0IGNvbmZpcm1EZWxldGUoKXtyZXR1cm4gdGhpcy4jb31zZXQgY29uZmlybURlbGV0ZShUZSl7dGhpcy4jbz1UZX0jbj0oWXQodGhpcyxQKSxZdCh0aGlzLE0sW10pKTtnZXQgY2FuZGlkYXRlcygpe3JldHVybiB0aGlzLiNufXNldCBjYW5kaWRhdGVzKFRlKXt0aGlzLiNuPVRlfSNsPShZdCh0aGlzLFMpLFl0KHRoaXMsQSwhMSkpO2dldCBhbGxvd0ZyZWVmb3JtKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGFsbG93RnJlZWZvcm0oVGUpe3RoaXMuI2w9VGV9I2M9KFl0KHRoaXMsRiksWXQodGhpcyxqLCIiKSk7Z2V0IHZhbGlkYXRpb25UZXh0KCl7cmV0dXJuIHRoaXMuI2N9c2V0IHZhbGlkYXRpb25UZXh0KFRlKXt0aGlzLiNjPVRlfWFkZGVkQ2FuZGlkYXRlc01hcD0oWXQodGhpcyxHKSxuZXcgTWFwKTttYXRjaGluZ0NhbmRpZGF0ZXM9W107I2Q9WXQodGhpcyxSLCIiKTtnZXQgaW5wdXRWYWx1ZSgpe3JldHVybiB0aGlzLiNkfXNldCBpbnB1dFZhbHVlKFRlKXt0aGlzLiNkPVRlfSN1PShZdCh0aGlzLFUpLFl0KHRoaXMsSSwiIikpO2dldCBnaG9zdFRleHQoKXtyZXR1cm4gdGhpcy4jdX1zZXQgZ2hvc3RUZXh0KFRlKXt0aGlzLiN1PVRlfSNwPShZdCh0aGlzLHEpLFl0KHRoaXMsdWUsLTEpKTtnZXQgY3VycmVudENhbmRpZGF0ZUluZGV4KCl7cmV0dXJuIHRoaXMuI3B9c2V0IGN1cnJlbnRDYW5kaWRhdGVJbmRleChUZSl7dGhpcy4jcD1UZX0jZj0oWXQodGhpcyxZKSxZdCh0aGlzLEosLTEpKTtnZXQgZWRpdGluZ0luZGV4KCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGVkaXRpbmdJbmRleChUZSl7dGhpcy4jZj1UZX0jaD0oWXQodGhpcyxaKSxZdCh0aGlzLGFlLCIiKSk7Z2V0IGVkaXRpbmdWYWx1ZSgpe3JldHVybiB0aGlzLiNofXNldCBlZGl0aW5nVmFsdWUoVGUpe3RoaXMuI2g9VGV9I209KFl0KHRoaXMscmUpLFl0KHRoaXMsViwtMSkpO2dldCBkcmFnZ2VkSW5kZXgoKXtyZXR1cm4gdGhpcy4jbX1zZXQgZHJhZ2dlZEluZGV4KFRlKXt0aGlzLiNtPVRlfSNnPShZdCh0aGlzLEgpLFl0KHRoaXMsc2UsLTEpKTtnZXQgZHJhZ092ZXJJbmRleCgpe3JldHVybiB0aGlzLiNnfXNldCBkcmFnT3ZlckluZGV4KFRlKXt0aGlzLiNnPVRlfSNiPShZdCh0aGlzLHRlKSxZdCh0aGlzLE9lLDApKTtnZXQgZHJhZ1N0YXJ0WSgpe3JldHVybiB0aGlzLiNifXNldCBkcmFnU3RhcnRZKFRlKXt0aGlzLiNiPVRlfSN2PShZdCh0aGlzLHFlKSxZdCh0aGlzLCRlLDApKTtnZXQgZHJhZ0N1cnJlbnRZKCl7cmV0dXJuIHRoaXMuI3Z9c2V0IGRyYWdDdXJyZW50WShUZSl7dGhpcy4jdj1UZX0jeD0oWXQodGhpcyxDZSksWXQodGhpcyxkZSwtMSkpO2dldCB0YXJnZXRJbmRleCgpe3JldHVybiB0aGlzLiN4fXNldCB0YXJnZXRJbmRleChUZSl7dGhpcy4jeD1UZX0jeT0oWXQodGhpcyx2ZSksWXQodGhpcyxaZSwwKSk7Z2V0IGl0ZW1IZWlnaHQoKXtyZXR1cm4gdGhpcy4jeX1zZXQgaXRlbUhlaWdodChUZSl7dGhpcy4jeT1UZX1ib3VuZEhhbmRsZUdsb2JhbERyYWdPdmVyPShZdCh0aGlzLG50KSxudWxsKTtib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQ9bnVsbDtvcmlnaW5hbEl0ZW1SZWN0cz1bXTtzdGF0aWMgc3R5bGVzPVtQZSwuLi5NdC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5pbnB1dC13cmFwcGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlOmhvdmVyOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICB9CgogICAgICBkZWVzLXRpbGU6Zm9jdXMtd2l0aGluOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgZGVlcy10aWxlIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbXMgewogICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KCiAgICAgIC5saXN0LWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5saXN0LWl0ZW1zOm5vdCguaXMtZHJhZ2dpbmcpIC5saXN0LWl0ZW06aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3Itcm93LWhvdmVyKTsKICAgICAgfQoKICAgICAgLyogRHJhZ2dpbmcgaXRlbSAtIGZvbGxvd3MgY3Vyc29yICovCiAgICAgIC5saXN0LWl0ZW0uZHJhZ2dpbmcgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB6LWluZGV4OiAxMDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk4JSkiLCJoc2woMjE1IDIwLjIlIDEyJSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjE1KSIsInJnYmEoMCwgMCwgMCwgMC40KSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC8qIEl0ZW1zIHRoYXQgbmVlZCB0byBtb3ZlIHVwIHRvIG1ha2Ugc3BhY2UgKi8KICAgICAgLmxpc3QtaXRlbS5tb3ZlLXVwIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtMSAqIHZhcigtLWl0ZW0taGVpZ2h0LCA0OHB4KSkpOwogICAgICB9CgogICAgICAvKiBJdGVtcyB0aGF0IG5lZWQgdG8gbW92ZSBkb3duIHRvIG1ha2Ugc3BhY2UgKi8KICAgICAgLmxpc3QtaXRlbS5tb3ZlLWRvd24gewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1pdGVtLWhlaWdodCwgNDhweCkpOwogICAgICB9CgoKICAgICAgLmNhbmRpZGF0ZS1jaGVjayB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5jYW5kaWRhdGUtdW5rbm93biB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDQ1IDkzJSA0NyUpIiwiaHNsKDQ1IDkzJSA1OCUpIil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuaXRlbS1idWxsZXQgewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC5kcmFnLWhhbmRsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGN1cnNvcjogbW92ZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklKSIsImhzbCgwIDAlIDQ1LjElKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuZHJhZy1oYW5kbGU6aG92ZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICB9CgogICAgICAuZHJhZy1oYW5kbGUgZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5pdGVtLWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLml0ZW0tdGV4dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7CiAgICAgIH0KCiAgICAgIC5pdGVtLWVkaXQtaW5wdXQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgcGFkZGluZzogM3B4IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgIH0KCiAgICAgIC5pdGVtLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc2F2ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc2F2ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSAvIDAuMSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5jYW5jZWwgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgNTAuNiUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5jYW5jZWw6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSAvIDAuMSkiLCJoc2woMCA2Mi44JSA1MC42JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRlbGV0ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSA1MC42JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRlbGV0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4xKSIsImhzbCgwIDYyLjglIDUwLjYlIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTNweDsKICAgICAgICBoZWlnaHQ6IDEzcHg7CiAgICAgIH0KCiAgICAgIC5hZGQtaXRlbS1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7CiAgICAgIH0KCiAgICAgIC5hZGQtaW5wdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5hZGQtaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklKSIsImhzbCgwIDAlIDQ1LjElKSIpfTsKICAgICAgfQoKICAgICAgLmFkZC1pbnB1dDpkaXNhYmxlZCB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuYWRkLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uOmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjM7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAuYWRkLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBwYWRkaW5nOiAxNnB4IDEwcHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSAzMC42JSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICB9CgogICAgICAvKiBTY3JvbGxiYXIgc3R5bGluZyAqLwogICAgICAubGlzdC1pdGVtczo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgIH0KCiAgICAgIC5saXN0LWl0ZW1zOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5saXN0LWl0ZW1zOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDI0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KCiAgICAgIC5saXN0LWl0ZW1zOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDM0LjklKSIpfTsKICAgICAgfQoKICAgICAgLyogRGlzYWJsZSB0cmFuc2l0aW9ucyBkdXJpbmcgZHJvcCB0byBwcmV2ZW50IGZsYXNoICovCiAgICAgIC5saXN0LWl0ZW1zLmRyb3BwaW5nIC5saXN0LWl0ZW0gewogICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLyog4pSA4pSAIFRlcm1pbmFsLXN0eWxlIGlubGluZSBhdXRvY29tcGxldGUg4pSA4pSAICovCiAgICAgIC5hdXRvY29tcGxldGUtd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5naG9zdC10ZXh0IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmdob3N0LXR5cGVkIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5naG9zdC1jb21wbGV0aW9uIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklKSIsImhzbCgwIDAlIDQ1LjElKSIpfTsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICAke3RoaXMubGFiZWw/d2A8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+YDoiIn0KICAgICAgICAKICAgICAgICA8ZGVlcy10aWxlIC5oZWFkaW5nPSIke3RoaXMudmFsdWUubGVuZ3RofSBpdGVtJHt0aGlzLnZhbHVlLmxlbmd0aCE9PTE/InMiOiIifSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsaXN0LWl0ZW1zIj4KICAgICAgICAgICAgJHt0aGlzLnZhbHVlLmxlbmd0aD4wP3RoaXMudmFsdWUubWFwKChUZSx3ZSk9PndgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9Imxpc3QtaXRlbSAke3RoaXMuZHJhZ2dlZEluZGV4PT09d2U/ImRyYWdnaW5nIjoiIn0iCiAgICAgICAgICAgICAgICBkcmFnZ2FibGU9IiR7dGhpcy5zb3J0YWJsZSYmIXRoaXMuZGlzYWJsZWR9IgogICAgICAgICAgICAgICAgQGRyYWdzdGFydD0ke1JlPT50aGlzLmhhbmRsZURyYWdTdGFydChSZSx3ZSl9CiAgICAgICAgICAgICAgICBAZHJhZ2VuZD0ke3RoaXMuaGFuZGxlRHJhZ0VuZH0KICAgICAgICAgICAgICAgIEBkcmFnb3Zlcj0ke1JlPT50aGlzLmhhbmRsZURyYWdPdmVyKFJlLHdlKX0KICAgICAgICAgICAgICAgIEBkcm9wPSR7UmU9PnRoaXMuaGFuZGxlRHJvcChSZSx3ZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHt0aGlzLnNvcnRhYmxlJiYhdGhpcy5kaXNhYmxlZD93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcmFnLWhhbmRsZSI+CiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Z3JpcFZlcnRpY2FsIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KCiAgICAgICAgICAgICAgICAke3RoaXMuY2FuZGlkYXRlcy5sZW5ndGg+MD93YAogICAgICAgICAgICAgICAgICAke3RoaXMuY2FuZGlkYXRlcy5zb21lKFJlPT5SZS52aWV3S2V5PT09VGUpP3dgCiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iY2FuZGlkYXRlLWNoZWNrIiAuaWNvbj0keyJsdWNpZGU6Y2hlY2sifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9ImNhbmRpZGF0ZS11bmtub3duIiAuaWNvbj0keyJsdWNpZGU6aGVscENpcmNsZSJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgICAgYDohdGhpcy5zb3J0YWJsZXx8dGhpcy5kaXNhYmxlZD93YAogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJpdGVtLWJ1bGxldCIgLmljb249JHsibHVjaWRlOmRvdCJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgYDoiIn0KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAke3RoaXMuZWRpdGluZ0luZGV4PT09d2U/d2AKICAgICAgICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXRlbS1lZGl0LWlucHV0IgogICAgICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5lZGl0aW5nVmFsdWV9CiAgICAgICAgICAgICAgICAgICAgICBAaW5wdXQ9JHtSZT0+dGhpcy5lZGl0aW5nVmFsdWU9UmUudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgICAgICAgICAgQGtleWRvd249JHtSZT0+dGhpcy5oYW5kbGVFZGl0S2V5RG93bihSZSx3ZSl9CiAgICAgICAgICAgICAgICAgICAgICBAYmx1cj0keygpPT50aGlzLnNhdmVFZGl0KHdlKX0KICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbS10ZXh0IiBAZGJsY2xpY2s9JHsoKT0+IXRoaXMuZGlzYWJsZWQmJnRoaXMuc3RhcnRFZGl0KHdlKX0+CiAgICAgICAgICAgICAgICAgICAgICAke1RlfQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0tYWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5lZGl0aW5nSW5kZXg9PT13ZT93YAogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gc2F2ZSIgQGNsaWNrPSR7KCk9PnRoaXMuc2F2ZUVkaXQod2UpfT4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmNoZWNrIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBjYW5jZWwiIEBjbGljaz0keygpPT50aGlzLmNhbmNlbEVkaXQoKX0+CiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp4In0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgICAgICAke3RoaXMuZGlzYWJsZWQ/IiI6d2AKICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLnN0YXJ0RWRpdCh3ZSl9PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpwZW5jaWwifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBkZWxldGUiIEBjbGljaz0keygpPT50aGlzLnJlbW92ZUl0ZW0od2UpfT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6dHJhc2gyIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgICAgICAgTm8gaXRlbXMgYWRkZWQgeWV0CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIAogICAgICAgICAgJHshdGhpcy5kaXNhYmxlZCYmKCF0aGlzLm1heEl0ZW1zfHx0aGlzLnZhbHVlLmxlbmd0aDx0aGlzLm1heEl0ZW1zKT93YAogICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImFkZC1pdGVtLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXV0b2NvbXBsZXRlLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgJHt0aGlzLmdob3N0VGV4dD93YAogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2hvc3QtdGV4dCI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imdob3N0LXR5cGVkIj4ke3RoaXMuaW5wdXRWYWx1ZX08L3NwYW4+PHNwYW4gY2xhc3M9Imdob3N0LWNvbXBsZXRpb24iPiR7dGhpcy5naG9zdFRleHR9PC9zcGFuPgogICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJhZGQtaW5wdXQiCiAgICAgICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0ke3RoaXMucGxhY2Vob2xkZXJ9CiAgICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuaW5wdXRWYWx1ZX0KICAgICAgICAgICAgICAgICAgQGlucHV0PSR7dGhpcy5oYW5kbGVJbnB1dH0KICAgICAgICAgICAgICAgICAgQGtleWRvd249JHt0aGlzLmhhbmRsZUFkZEtleURvd259CiAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJhZGQtYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5hZGRJdGVtfQogICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7IXRoaXMuaW5wdXRWYWx1ZS50cmltKCl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6cGx1cyJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgICR7dGhpcy52YWxpZGF0aW9uVGV4dD93YAogICAgICAgICAgPGRpdiBjbGFzcz0idmFsaWRhdGlvbi1tZXNzYWdlIj4ke3RoaXMudmFsaWRhdGlvblRleHR9PC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgICAKICAgICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZUlucHV0KFRlKXt0aGlzLmlucHV0VmFsdWU9VGUudGFyZ2V0LnZhbHVlLHRoaXMudXBkYXRlR2hvc3RUZXh0KCl9dXBkYXRlR2hvc3RUZXh0KCl7aWYodGhpcy5jYW5kaWRhdGVzLmxlbmd0aD09PTB8fCF0aGlzLmlucHV0VmFsdWUpe3RoaXMuZ2hvc3RUZXh0PSIiLHRoaXMuY3VycmVudENhbmRpZGF0ZUluZGV4PS0xLHRoaXMubWF0Y2hpbmdDYW5kaWRhdGVzPVtdO3JldHVybn1sZXQgVGU9dGhpcy5pbnB1dFZhbHVlLnRvTG93ZXJDYXNlKCk7dGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXM9dGhpcy5jYW5kaWRhdGVzLmZpbHRlcih3ZT0+dGhpcy52YWx1ZS5pbmNsdWRlcyh3ZS52aWV3S2V5KT8hMTp3ZS52aWV3S2V5LnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChUZSkpLnNvcnQoKHdlLFJlKT0+d2Uudmlld0tleS5sZW5ndGgtUmUudmlld0tleS5sZW5ndGgpLHRoaXMubWF0Y2hpbmdDYW5kaWRhdGVzLmxlbmd0aD4wPyh0aGlzLmN1cnJlbnRDYW5kaWRhdGVJbmRleD0wLHRoaXMuZ2hvc3RUZXh0PXRoaXMubWF0Y2hpbmdDYW5kaWRhdGVzWzBdLnZpZXdLZXkuc2xpY2UodGhpcy5pbnB1dFZhbHVlLmxlbmd0aCkpOih0aGlzLmN1cnJlbnRDYW5kaWRhdGVJbmRleD0tMSx0aGlzLmdob3N0VGV4dD0iIil9aGFuZGxlQWRkS2V5RG93bihUZSl7aWYoVGUua2V5PT09IlRhYiImJnRoaXMuY2FuZGlkYXRlcy5sZW5ndGg+MCYmdGhpcy5pbnB1dFZhbHVlKXtpZihUZS5wcmV2ZW50RGVmYXVsdCgpLFRlLnNoaWZ0S2V5JiZ0aGlzLm1hdGNoaW5nQ2FuZGlkYXRlcy5sZW5ndGg+MCl7dGhpcy5jdXJyZW50Q2FuZGlkYXRlSW5kZXg9KHRoaXMuY3VycmVudENhbmRpZGF0ZUluZGV4KzEpJXRoaXMubWF0Y2hpbmdDYW5kaWRhdGVzLmxlbmd0aDtsZXQgd2U9dGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXNbdGhpcy5jdXJyZW50Q2FuZGlkYXRlSW5kZXhdO3RoaXMuZ2hvc3RUZXh0PXdlLnZpZXdLZXkuc2xpY2UodGhpcy5pbnB1dFZhbHVlLmxlbmd0aCl9ZWxzZSBpZighVGUuc2hpZnRLZXkmJnRoaXMuZ2hvc3RUZXh0JiZ0aGlzLm1hdGNoaW5nQ2FuZGlkYXRlcy5sZW5ndGg+MCl7bGV0IHdlPXRoaXMubWF0Y2hpbmdDYW5kaWRhdGVzW3RoaXMuY3VycmVudENhbmRpZGF0ZUluZGV4XTt0aGlzLmlucHV0VmFsdWU9d2Uudmlld0tleSx0aGlzLmdob3N0VGV4dD0iIjtsZXQgUmU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYWRkLWlucHV0Iik7UmUmJihSZS52YWx1ZT13ZS52aWV3S2V5KX1yZXR1cm59aWYoVGUua2V5PT09IkVzY2FwZSImJnRoaXMuZ2hvc3RUZXh0KXtUZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZ2hvc3RUZXh0PSIiLHRoaXMuY3VycmVudENhbmRpZGF0ZUluZGV4PS0xLHRoaXMubWF0Y2hpbmdDYW5kaWRhdGVzPVtdO3JldHVybn1pZihUZS5rZXk9PT0iRW50ZXIiJiZ0aGlzLmlucHV0VmFsdWUudHJpbSgpKXtpZihUZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2FuZGlkYXRlcy5sZW5ndGg+MCl7bGV0IHdlPXRoaXMuY2FuZGlkYXRlcy5maW5kKFJlPT5SZS52aWV3S2V5LnRvTG93ZXJDYXNlKCk9PT10aGlzLmlucHV0VmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCkpO3dlP3RoaXMuc2VsZWN0Q2FuZGlkYXRlKHdlKTp0aGlzLmFsbG93RnJlZWZvcm0mJih0aGlzLmdob3N0VGV4dD0iIix0aGlzLmN1cnJlbnRDYW5kaWRhdGVJbmRleD0tMSx0aGlzLm1hdGNoaW5nQ2FuZGlkYXRlcz1bXSx0aGlzLmFkZEl0ZW0oKSk7cmV0dXJufXRoaXMuYWRkSXRlbSgpfX1oYW5kbGVFZGl0S2V5RG93bihUZSx3ZSl7VGUua2V5PT09IkVudGVyIj8oVGUucHJldmVudERlZmF1bHQoKSx0aGlzLnNhdmVFZGl0KHdlKSk6VGUua2V5PT09IkVzY2FwZSImJihUZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2FuY2VsRWRpdCgpKX1zZWxlY3RDYW5kaWRhdGUoVGUpe2lmKHRoaXMubWF4SXRlbXMmJnRoaXMudmFsdWUubGVuZ3RoPj10aGlzLm1heEl0ZW1zKXt0aGlzLnZhbGlkYXRpb25UZXh0PWBNYXhpbXVtICR7dGhpcy5tYXhJdGVtc30gaXRlbXMgYWxsb3dlZGAsc2V0VGltZW91dCgoKT0+dGhpcy52YWxpZGF0aW9uVGV4dD0iIiwzZTMpO3JldHVybn1pZighdGhpcy5hbGxvd0R1cGxpY2F0ZXMmJnRoaXMudmFsdWUuaW5jbHVkZXMoVGUudmlld0tleSkpe3RoaXMudmFsaWRhdGlvblRleHQ9IlRoaXMgaXRlbSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgbGlzdCIsc2V0VGltZW91dCgoKT0+dGhpcy52YWxpZGF0aW9uVGV4dD0iIiwzZTMpO3JldHVybn10aGlzLmFkZGVkQ2FuZGlkYXRlc01hcC5zZXQoVGUudmlld0tleSxUZSksdGhpcy52YWx1ZT1bLi4udGhpcy52YWx1ZSxUZS52aWV3S2V5XSx0aGlzLmlucHV0VmFsdWU9IiIsdGhpcy5naG9zdFRleHQ9IiIsdGhpcy5jdXJyZW50Q2FuZGlkYXRlSW5kZXg9LTEsdGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXM9W10sdGhpcy52YWxpZGF0aW9uVGV4dD0iIix0aGlzLmVtaXRDaGFuZ2UoKSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PntsZXQgd2U9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYWRkLWlucHV0Iik7d2UmJih3ZS52YWx1ZT0iIix3ZS5mb2N1cygpKX0pfWdldENhbmRpZGF0ZUZvckl0ZW0oVGUpe3JldHVybiB0aGlzLmFkZGVkQ2FuZGlkYXRlc01hcC5nZXQoVGUpfWdldEFkZGVkQ2FuZGlkYXRlcygpe3JldHVybiB0aGlzLnZhbHVlLm1hcChUZT0+dGhpcy5hZGRlZENhbmRpZGF0ZXNNYXAuZ2V0KFRlKSkuZmlsdGVyKFRlPT5UZSE9PXZvaWQgMCl9YWRkSXRlbSgpe2xldCBUZT10aGlzLmlucHV0VmFsdWUudHJpbSgpO2lmKFRlKXtpZighdGhpcy5hbGxvd0R1cGxpY2F0ZXMmJnRoaXMudmFsdWUuaW5jbHVkZXMoVGUpKXt0aGlzLnZhbGlkYXRpb25UZXh0PSJUaGlzIGl0ZW0gYWxyZWFkeSBleGlzdHMgaW4gdGhlIGxpc3QiLHNldFRpbWVvdXQoKCk9PnRoaXMudmFsaWRhdGlvblRleHQ9IiIsM2UzKTtyZXR1cm59aWYodGhpcy5tYXhJdGVtcyYmdGhpcy52YWx1ZS5sZW5ndGg+PXRoaXMubWF4SXRlbXMpe3RoaXMudmFsaWRhdGlvblRleHQ9YE1heGltdW0gJHt0aGlzLm1heEl0ZW1zfSBpdGVtcyBhbGxvd2VkYCxzZXRUaW1lb3V0KCgpPT50aGlzLnZhbGlkYXRpb25UZXh0PSIiLDNlMyk7cmV0dXJufXRoaXMudmFsdWU9Wy4uLnRoaXMudmFsdWUsVGVdLHRoaXMuaW5wdXRWYWx1ZT0iIix0aGlzLnZhbGlkYXRpb25UZXh0PSIiLHRoaXMuZW1pdENoYW5nZSgpLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+e2xldCB3ZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5hZGQtaW5wdXQiKTt3ZSYmKHdlLnZhbHVlPSIiLHdlLmZvY3VzKCkpfSl9fXN0YXJ0RWRpdChUZSl7dGhpcy5lZGl0aW5nSW5kZXg9VGUsdGhpcy5lZGl0aW5nVmFsdWU9dGhpcy52YWx1ZVtUZV0sdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57bGV0IHdlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLml0ZW0tZWRpdC1pbnB1dCIpO3dlJiYod2UuZm9jdXMoKSx3ZS5zZWxlY3QoKSl9KX1zYXZlRWRpdChUZSl7bGV0IHdlPXRoaXMuZWRpdGluZ1ZhbHVlLnRyaW0oKTtpZighd2Upe3RoaXMuY2FuY2VsRWRpdCgpO3JldHVybn1pZighdGhpcy5hbGxvd0R1cGxpY2F0ZXMmJndlIT09dGhpcy52YWx1ZVtUZV0mJnRoaXMudmFsdWUuaW5jbHVkZXMod2UpKXt0aGlzLnZhbGlkYXRpb25UZXh0PSJUaGlzIGl0ZW0gYWxyZWFkeSBleGlzdHMgaW4gdGhlIGxpc3QiLHNldFRpbWVvdXQoKCk9PnRoaXMudmFsaWRhdGlvblRleHQ9IiIsM2UzKTtyZXR1cm59bGV0IFJlPVsuLi50aGlzLnZhbHVlXTtSZVtUZV09d2UsdGhpcy52YWx1ZT1SZSx0aGlzLmVkaXRpbmdJbmRleD0tMSx0aGlzLmVkaXRpbmdWYWx1ZT0iIix0aGlzLnZhbGlkYXRpb25UZXh0PSIiLHRoaXMuZW1pdENoYW5nZSgpfWNhbmNlbEVkaXQoKXt0aGlzLmVkaXRpbmdJbmRleD0tMSx0aGlzLmVkaXRpbmdWYWx1ZT0iIn1hc3luYyByZW1vdmVJdGVtKFRlKXtpZih0aGlzLmNvbmZpcm1EZWxldGUmJiFhd2FpdCB0aGlzLnNob3dDb25maXJtRGlhbG9nKGBEZWxldGUgIiR7dGhpcy52YWx1ZVtUZV19Ij9gKSlyZXR1cm47bGV0IHdlPXRoaXMudmFsdWVbVGVdO3RoaXMuYWRkZWRDYW5kaWRhdGVzTWFwLmRlbGV0ZSh3ZSksdGhpcy52YWx1ZT10aGlzLnZhbHVlLmZpbHRlcigoUmUsZmUpPT5mZSE9PVRlKSx0aGlzLmVtaXRDaGFuZ2UoKX1hc3luYyBzaG93Q29uZmlybURpYWxvZyhUZSl7cmV0dXJuIGNvbmZpcm0oVGUpfWhhbmRsZURyYWdTdGFydChUZSx3ZSl7aWYoIXRoaXMuc29ydGFibGV8fHRoaXMuZGlzYWJsZWQpcmV0dXJuO3RoaXMuZHJhZ2dlZEluZGV4PXdlLHRoaXMudGFyZ2V0SW5kZXg9d2UsVGUuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQ9Im1vdmUiLFRlLmRhdGFUcmFuc2Zlci5zZXREYXRhKCJ0ZXh0L3BsYWluIix3ZS50b1N0cmluZygpKTtsZXQgUmU9bmV3IEltYWdlO1JlLnNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQVVFQkFBQUFDd0FBQUFBQVFBQkFBQUNBa1FCQURzPSIsVGUuZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZShSZSwwLDApLHRoaXMuZHJhZ1N0YXJ0WT1UZS5jbGllbnRZLHRoaXMuZHJhZ0N1cnJlbnRZPVRlLmNsaWVudFk7bGV0IGZlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmxpc3QtaXRlbXMiKSxiZT1BcnJheS5mcm9tKGZlPy5xdWVyeVNlbGVjdG9yQWxsKCIubGlzdC1pdGVtIil8fFtdKTtiZVt3ZV0mJih0aGlzLml0ZW1IZWlnaHQ9YmVbd2VdLm9mZnNldEhlaWdodCksdGhpcy5vcmlnaW5hbEl0ZW1SZWN0cz1iZS5tYXAoRWU9PkVlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxmZT8uY2xhc3NMaXN0LmFkZCgiaXMtZHJhZ2dpbmciKSx0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ092ZXI9dGhpcy5oYW5kbGVHbG9iYWxEcmFnT3Zlci5iaW5kKHRoaXMpLHRoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnRW5kPXRoaXMuaGFuZGxlR2xvYmFsRHJhZ0VuZC5iaW5kKHRoaXMpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIix0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ092ZXIpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdlbmQiLHRoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnRW5kKX1oYW5kbGVHbG9iYWxEcmFnT3ZlcihUZSl7aWYoVGUucHJldmVudERlZmF1bHQoKSx0aGlzLmRyYWdnZWRJbmRleD09PS0xKXJldHVybjt0aGlzLmRyYWdDdXJyZW50WT1UZS5jbGllbnRZO2xldCB3ZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5saXN0LWl0ZW1zIik7aWYoIXdlKXJldHVybjtsZXQgUmU9QXJyYXkuZnJvbSh3ZS5xdWVyeVNlbGVjdG9yQWxsKCIubGlzdC1pdGVtIikpLGZlPVJlW3RoaXMuZHJhZ2dlZEluZGV4XTtpZighZmUpcmV0dXJuO2xldCBiZT10aGlzLmRyYWdDdXJyZW50WS10aGlzLmRyYWdTdGFydFk7ZmUuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGVZKCR7YmV9cHgpYDtsZXQgRWU9dGhpcy5vcmlnaW5hbEl0ZW1SZWN0c1t0aGlzLmRyYWdnZWRJbmRleF07aWYoIUVlKXJldHVybjtsZXQgZnQ9RWUudG9wK0VlLmhlaWdodC8yK2JlLG10PXRoaXMuZHJhZ2dlZEluZGV4O2ZvcihsZXQgSXQ9MDtJdDxSZS5sZW5ndGg7SXQrKyl7aWYoSXQ9PT10aGlzLmRyYWdnZWRJbmRleCljb250aW51ZTtsZXQgWGE9dGhpcy5vcmlnaW5hbEl0ZW1SZWN0c1tJdF07aWYoIVhhKWNvbnRpbnVlO2xldCBKYT1YYS50b3ArWGEuaGVpZ2h0LzI7aWYoUmVbSXRdLmNsYXNzTGlzdC5jb250YWlucygibW92ZS11cCIpP0phLT10aGlzLml0ZW1IZWlnaHQ6UmVbSXRdLmNsYXNzTGlzdC5jb250YWlucygibW92ZS1kb3duIikmJihKYSs9dGhpcy5pdGVtSGVpZ2h0KSxmdDxKYSYmSXQ8dGhpcy5kcmFnZ2VkSW5kZXgpe210PUl0O2JyZWFrfWVsc2UgZnQ+SmEmJkl0PnRoaXMuZHJhZ2dlZEluZGV4JiYobXQ9SXQpfW10IT09dGhpcy50YXJnZXRJbmRleCYmKHRoaXMudGFyZ2V0SW5kZXg9bXQsdGhpcy51cGRhdGVJdGVtUG9zaXRpb25zKFJlKSl9dXBkYXRlSXRlbVBvc2l0aW9ucyhUZSl7bGV0IHdlPXRoaXMuZHJhZ2dlZEluZGV4LFJlPXRoaXMudGFyZ2V0SW5kZXgsZmU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubGlzdC1pdGVtcyIpO2ZlJiZmZS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1pdGVtLWhlaWdodCIsYCR7dGhpcy5pdGVtSGVpZ2h0fXB4YCksVGUuZm9yRWFjaCgoYmUsRWUpPT57RWUhPT13ZSYmKGJlLmNsYXNzTGlzdC5yZW1vdmUoIm1vdmUtdXAiLCJtb3ZlLWRvd24iKSxiZS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1pdGVtLWhlaWdodCIsYCR7dGhpcy5pdGVtSGVpZ2h0fXB4YCksd2U8UmU/RWU+d2UmJkVlPD1SZSYmYmUuY2xhc3NMaXN0LmFkZCgibW92ZS11cCIpOndlPlJlJiZFZT49UmUmJkVlPHdlJiZiZS5jbGFzc0xpc3QuYWRkKCJtb3ZlLWRvd24iKSl9KX1oYW5kbGVHbG9iYWxEcmFnRW5kKCl7dGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdPdmVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLHRoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnT3ZlciksdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdPdmVyPW51bGwpLHRoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnRW5kJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZHJhZ2VuZCIsdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQpLHRoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnRW5kPW51bGwpO2xldCBUZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5saXN0LWl0ZW1zIiksd2U9VGU/LnF1ZXJ5U2VsZWN0b3JBbGwoIi5saXN0LWl0ZW0iKSxSZT13ZT8uW3RoaXMuZHJhZ2dlZEluZGV4XTtpZih0aGlzLmRyYWdnZWRJbmRleD09PS0xfHx0aGlzLnRhcmdldEluZGV4PT09LTF8fHRoaXMuZHJhZ2dlZEluZGV4PT09dGhpcy50YXJnZXRJbmRleCl7aWYoUmUmJnRoaXMuZHJhZ2dlZEluZGV4IT09LTEpe1JlLnN0eWxlLnRyYW5zaXRpb249InRyYW5zZm9ybSAwLjE1cyBlYXNlIixSZS5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVkoMCkiO2xldCBJdD0hMSxYYT1zKCgpPT57SXR8fChJdD0hMCxSZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixYYSksdGhpcy5jbGVhbnVwRHJhZ1N0YXRlKFRlLHdlKSl9LCJvblJldHVybiIpO1JlLmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLFhhLHtvbmNlOiEwfSksc2V0VGltZW91dChYYSwyMDApfWVsc2UgdGhpcy5jbGVhbnVwRHJhZ1N0YXRlKFRlLHdlKTtyZXR1cm59bGV0IGZlPXRoaXMub3JpZ2luYWxJdGVtUmVjdHNbdGhpcy5kcmFnZ2VkSW5kZXhdLGJlPXRoaXMub3JpZ2luYWxJdGVtUmVjdHNbdGhpcy50YXJnZXRJbmRleF07aWYoIWZlfHwhYmV8fCFSZSl7dGhpcy5jbGVhbnVwRHJhZ1N0YXRlKFRlLHdlKTtyZXR1cm59bGV0IEVlO3RoaXMudGFyZ2V0SW5kZXg+dGhpcy5kcmFnZ2VkSW5kZXg/RWU9YmUuYm90dG9tLWZlLmJvdHRvbTpFZT1iZS50b3AtZmUudG9wLFJlLnN0eWxlLnRyYW5zaXRpb249InRyYW5zZm9ybSAwLjE1cyBlYXNlIixSZS5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZVkoJHtFZX1weClgO2xldCBmdD0hMSxtdD1zKCgpPT57aWYoZnQpcmV0dXJuO2Z0PSEwLFJlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLG10KSxUZT8uY2xhc3NMaXN0LmFkZCgiZHJvcHBpbmciKSxUZT8ub2Zmc2V0SGVpZ2h0LHdlPy5mb3JFYWNoKEphPT57SmEuY2xhc3NMaXN0LnJlbW92ZSgibW92ZS11cCIsIm1vdmUtZG93biIsImRyYWdnaW5nIiksSmEuc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zZm9ybSIpLEphLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2l0aW9uIil9KTtsZXQgSXQ9Wy4uLnRoaXMudmFsdWVdLFtYYV09SXQuc3BsaWNlKHRoaXMuZHJhZ2dlZEluZGV4LDEpO0l0LnNwbGljZSh0aGlzLnRhcmdldEluZGV4LDAsWGEpLHRoaXMudmFsdWU9SXQsdGhpcy5lbWl0Q2hhbmdlKCksdGhpcy5kcmFnZ2VkSW5kZXg9LTEsdGhpcy5kcmFnT3ZlckluZGV4PS0xLHRoaXMudGFyZ2V0SW5kZXg9LTEsdGhpcy5kcmFnU3RhcnRZPTAsdGhpcy5kcmFnQ3VycmVudFk9MCx0aGlzLm9yaWdpbmFsSXRlbVJlY3RzPVtdLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+e2xldCBKYT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoIi5saXN0LWl0ZW0iKTtKYT8uZm9yRWFjaCh3cz0+e3dzLnN0eWxlLnRyYW5zaXRpb249Im5vbmUifSksdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubGlzdC1pdGVtcyIpPy5vZmZzZXRIZWlnaHQscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57SmE/LmZvckVhY2god3M9Pnt3cy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgidHJhbnNpdGlvbiIpfSksVGU/LmNsYXNzTGlzdC5yZW1vdmUoImRyb3BwaW5nIiwiaXMtZHJhZ2dpbmciKX0pfSl9LCJvblRyYW5zaXRpb25FbmQiKTtSZS5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixtdCx7b25jZTohMH0pLHNldFRpbWVvdXQobXQsMjAwKX1jbGVhbnVwRHJhZ1N0YXRlKFRlLHdlKXtUZT8uY2xhc3NMaXN0LmFkZCgiZHJvcHBpbmciKSxUZT8ub2Zmc2V0SGVpZ2h0LHdlPy5mb3JFYWNoKFJlPT57UmUuY2xhc3NMaXN0LnJlbW92ZSgibW92ZS11cCIsIm1vdmUtZG93biIsImRyYWdnaW5nIiksUmUuc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zZm9ybSIpLFJlLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2l0aW9uIil9KSx0aGlzLmRyYWdnZWRJbmRleD0tMSx0aGlzLmRyYWdPdmVySW5kZXg9LTEsdGhpcy50YXJnZXRJbmRleD0tMSx0aGlzLmRyYWdTdGFydFk9MCx0aGlzLmRyYWdDdXJyZW50WT0wLHRoaXMub3JpZ2luYWxJdGVtUmVjdHM9W10sdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57bGV0IFJlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgiLmxpc3QtaXRlbSIpO1JlPy5mb3JFYWNoKGZlPT57ZmUuc3R5bGUudHJhbnNpdGlvbj0ibm9uZSJ9KSx0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5saXN0LWl0ZW1zIik/Lm9mZnNldEhlaWdodCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntSZT8uZm9yRWFjaChmZT0+e2ZlLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2l0aW9uIil9KSxUZT8uY2xhc3NMaXN0LnJlbW92ZSgiZHJvcHBpbmciLCJpcy1kcmFnZ2luZyIpfSl9KX1oYW5kbGVEcmFnRW5kKCl7dGhpcy5oYW5kbGVHbG9iYWxEcmFnRW5kKCl9aGFuZGxlRHJhZ092ZXIoVGUsd2UpeyF0aGlzLnNvcnRhYmxlfHx0aGlzLmRpc2FibGVkfHwoVGUucHJldmVudERlZmF1bHQoKSxUZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0ibW92ZSIpfWhhbmRsZURyYWdMZWF2ZSgpe31oYW5kbGVEcm9wKFRlLHdlKXshdGhpcy5zb3J0YWJsZXx8dGhpcy5kaXNhYmxlZHx8VGUucHJldmVudERlZmF1bHQoKX1lbWl0Q2hhbmdlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2hhbmdlIix7ZGV0YWlsOnt2YWx1ZTp0aGlzLnZhbHVlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoVGUpe3RoaXMudmFsdWU9VGV8fFtdfWFzeW5jIHZhbGlkYXRlKCl7cmV0dXJuIHRoaXMucmVxdWlyZWQmJighdGhpcy52YWx1ZXx8dGhpcy52YWx1ZS5sZW5ndGg9PT0wKT8odGhpcy52YWxpZGF0aW9uVGV4dD0iQXQgbGVhc3Qgb25lIGl0ZW0gaXMgcmVxdWlyZWQiLCExKTp0aGlzLm1pbkl0ZW1zJiZ0aGlzLnZhbHVlLmxlbmd0aDx0aGlzLm1pbkl0ZW1zPyh0aGlzLnZhbGlkYXRpb25UZXh0PWBBdCBsZWFzdCAke3RoaXMubWluSXRlbXN9IGl0ZW1zIHJlcXVpcmVkYCwhMSk6KHRoaXMudmFsaWRhdGlvblRleHQ9IiIsITApfXN0YXRpY3tZdChyLHQpfX07cmV0dXJuIHp0PXJ9KSgpfSk7dmFyIFUkYSxXJGEsRyRhLFkkYSxLJGEsWiRhLFgkYSxsaWEsY2lhPWYoKCk9PntsZSgpO05hKCk7WXMoKTtVJGE9cygoKT0+e2xldCBhPURhdGUubm93KCk7cmV0dXJuW3tpZDpgdGl0bGUtJHthfWAsdHlwZToiaGVhZGluZy0xIixjb250ZW50OiJTeXN0ZW0gUGVyZm9ybWFuY2UgUmVwb3J0In0se2lkOmBkYXRlLSR7YSsxfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50OmBHZW5lcmF0ZWQgb246ICR7bmV3IERhdGUoKS50b0xvY2FsZVN0cmluZygpfWB9LHtpZDpgc3VtbWFyeS1oZWFkaW5nLSR7YSsyfWAsdHlwZToiaGVhZGluZy0yIixjb250ZW50OiJFeGVjdXRpdmUgU3VtbWFyeSJ9LHtpZDpgc3VtbWFyeS0ke2ErM31gLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiVGhpcyByZXBvcnQgcHJvdmlkZXMgYW4gYW5hbHlzaXMgb2Ygc3lzdGVtIHBlcmZvcm1hbmNlIG1ldHJpY3Mgb3ZlciB0aGUgbGFzdCAzMCBkYXlzLiJ9LHtpZDpgbWV0cmljcy1oZWFkaW5nLSR7YSs0fWAsdHlwZToiaGVhZGluZy0yIixjb250ZW50OiJLZXkgTWV0cmljcyJ9LHtpZDpgbWV0cmljcy1saXN0LSR7YSs1fWAsdHlwZToibGlzdCIsY29udGVudDpgQXZlcmFnZSByZXNwb25zZSB0aW1lOiAxMjRtcwpVcHRpbWU6IDk5Ljk3JQpDUFUgdXRpbGl6YXRpb246IDQ1JQpNZW1vcnkgdXNhZ2U6IDIuM0dCIC8gOEdCYCxtZXRhZGF0YTp7bGlzdFR5cGU6ImJ1bGxldCJ9fSx7aWQ6YGFuYWx5c2lzLWhlYWRpbmctJHthKzZ9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6IlBlcmZvcm1hbmNlIEFuYWx5c2lzIn0se2lkOmBhbmFseXNpcy1xdW90ZS0ke2ErN31gLHR5cGU6InF1b3RlIixjb250ZW50OiJTeXN0ZW0gcGVyZm9ybWFuY2UgcmVtYWlucyB3aXRoaW4gYWNjZXB0YWJsZSBwYXJhbWV0ZXJzIHdpdGggcm9vbSBmb3Igb3B0aW1pemF0aW9uIGluIG1lbW9yeSBtYW5hZ2VtZW50LiJ9LHtpZDpgY29kZS1oZWFkaW5nLSR7YSs4fWAsdHlwZToiaGVhZGluZy0zIixjb250ZW50OiJTYW1wbGUgUXVlcnkgUGVyZm9ybWFuY2UifSx7aWQ6YGNvZGUtYmxvY2stJHthKzl9YCx0eXBlOiJjb2RlIixjb250ZW50OmBTRUxFQ1QgQVZHKHJlc3BvbnNlX3RpbWUpIGFzIGF2Z190aW1lLAogICAgICAgQ09VTlQoKikgYXMgdG90YWxfcmVxdWVzdHMsCiAgICAgICBEQVRFKGNyZWF0ZWRfYXQpIGFzIGRhdGUKRlJPTSBwZXJmb3JtYW5jZV9sb2dzCldIRVJFIGNyZWF0ZWRfYXQgPj0gTk9XKCkgLSBJTlRFUlZBTCAzMCBEQVkKR1JPVVAgQlkgREFURShjcmVhdGVkX2F0KQpPUkRFUiBCWSBkYXRlIERFU0M7YCxtZXRhZGF0YTp7bGFuZ3VhZ2U6InNxbCJ9fSx7aWQ6YGRpdmlkZXItJHthKzEwfWAsdHlwZToiZGl2aWRlciIsY29udGVudDoiIn0se2lkOmBmb290ZXItJHthKzExfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50OiJSZXBvcnQgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgU3lzdGVtIE1vbml0b3IgdjIuNS4wIn1dfSwiZ2VuZXJhdGVSZXBvcnRCbG9ja3MiKSxXJGE9cygoKT0+e2xldCBhPURhdGUubm93KCk7cmV0dXJuW3tpZDpgcmVjaXBlLXRpdGxlLSR7YX1gLHR5cGU6ImhlYWRpbmctMSIsY29udGVudDoiQ2xhc3NpYyBNYXJnaGVyaXRhIFBpenphIn0se2lkOmByZWNpcGUtaW50cm8tJHthKzF9YCx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6IkEgdHJhZGl0aW9uYWwgSXRhbGlhbiBwaXp6YSB3aXRoIGZyZXNoIGJhc2lsLCBtb3p6YXJlbGxhLCBhbmQgdG9tYXRvIHNhdWNlLiJ9LHtpZDpgaW5ncmVkaWVudHMtaGVhZGluZy0ke2ErMn1gLHR5cGU6ImhlYWRpbmctMiIsY29udGVudDoiXHV7MUYzNTV9IEluZ3JlZGllbnRzIn0se2lkOmBkb3VnaC1oZWFkaW5nLSR7YSszfWAsdHlwZToiaGVhZGluZy0zIixjb250ZW50OiJGb3IgdGhlIERvdWdoOiJ9LHtpZDpgZG91Z2gtbGlzdC0ke2ErNH1gLHR5cGU6Imxpc3QiLGNvbnRlbnQ6YDUwMGcgdGlwbyAiMDAiIGZsb3VyCjMyNW1sIHdhcm0gd2F0ZXIKMTBnIHNhbHQKN2cgYWN0aXZlIGRyeSB5ZWFzdAoyIHRic3Agb2xpdmUgb2lsYCxtZXRhZGF0YTp7bGlzdFR5cGU6ImJ1bGxldCJ9fSx7aWQ6YHRvcHBpbmdzLWhlYWRpbmctJHthKzV9YCx0eXBlOiJoZWFkaW5nLTMiLGNvbnRlbnQ6IkZvciB0aGUgVG9wcGluZ3M6In0se2lkOmB0b3BwaW5ncy1saXN0LSR7YSs2fWAsdHlwZToibGlzdCIsY29udGVudDpgNDAwZyBjYW5uZWQgU2FuIE1hcnphbm8gdG9tYXRvZXMKMjUwZyBmcmVzaCBtb3p6YXJlbGxhCkZyZXNoIGJhc2lsIGxlYXZlcwpFeHRyYSB2aXJnaW4gb2xpdmUgb2lsClNhbHQgYW5kIHBlcHBlciB0byB0YXN0ZWAsbWV0YWRhdGE6e2xpc3RUeXBlOiJidWxsZXQifX0se2lkOmBpbnN0cnVjdGlvbnMtaGVhZGluZy0ke2ErN31gLHR5cGU6ImhlYWRpbmctMiIsY29udGVudDoiXHV7MUY0Njh9XHUyMDBEXHV7MUYzNzN9IEluc3RydWN0aW9ucyJ9LHtpZDpgc3RlcHMtbGlzdC0ke2ErOH1gLHR5cGU6Imxpc3QiLGNvbnRlbnQ6YERpc3NvbHZlIHllYXN0IGluIHdhcm0gd2F0ZXIgYW5kIGxldCBzdGFuZCBmb3IgNSBtaW51dGVzCk1peCBmbG91ciBhbmQgc2FsdCwgY3JlYXRlIGEgd2VsbCBpbiBjZW50ZXIKQWRkIHllYXN0IG1peHR1cmUgYW5kIG9saXZlIG9pbApLbmVhZCBmb3IgMTAgbWludXRlcyB1bnRpbCBzbW9vdGgKTGV0IHJpc2UgZm9yIDEtMiBob3VycyB1bnRpbCBkb3VibGVkClB1bmNoIGRvd24gYW5kIGRpdmlkZSBpbnRvIHBvcnRpb25zClJvbGwgb3V0IGVhY2ggcG9ydGlvbiB0byAxMi1pbmNoIGNpcmNsZXMKVG9wIHdpdGggY3J1c2hlZCB0b21hdG9lcywgbW96emFyZWxsYSwgYW5kIGJhc2lsCkJha2UgYXQgNDc1XHhCMEYgKDI0NVx4QjBDKSBmb3IgMTAtMTIgbWludXRlc2AsbWV0YWRhdGE6e2xpc3RUeXBlOiJvcmRlcmVkIn19LHtpZDpgdGlwLSR7YSs5fWAsdHlwZToicXVvdGUiLGNvbnRlbnQ6IlBybyB0aXA6IEZvciBhbiBhdXRoZW50aWMgdGFzdGUsIHVzZSBhIHBpenphIHN0b25lIGFuZCBwcmVoZWF0IGl0IGluIHRoZSBvdmVuIGZvciBhdCBsZWFzdCAzMCBtaW51dGVzIGJlZm9yZSBiYWtpbmcuIn0se2lkOmBkaXZpZGVyLSR7YSsxMH1gLHR5cGU6ImRpdmlkZXIiLGNvbnRlbnQ6IiJ9LHtpZDpgc2VydmluZ3MtJHthKzExfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50OiJTZXJ2aW5nczogNCBwaXp6YXMgfCBQcmVwIHRpbWU6IDIgaG91cnMgfCBDb29rIHRpbWU6IDEyIG1pbnV0ZXMifV19LCJnZW5lcmF0ZVJlY2lwZUJsb2NrcyIpLEckYT1zKGE9PntsZXQgZT17fTtyZXR1cm4gZS5iYXNpYz1hLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItYmFzaWMiKSxlLmFydGljbGU9YS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLWFydGljbGUiKSxlLmRyYWdEcm9wPWEucXVlcnlTZWxlY3RvcigiI2VkaXRvci1kcmFnZHJvcCIpLGUudHV0b3JpYWw9YS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLXR1dG9yaWFsIiksZS5tZWV0aW5nPWEucXVlcnlTZWxlY3RvcigiI2VkaXRvci1tZWV0aW5nIiksZS5yZWNpcGU9YS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLXJlY2lwZSIpLGUudGVjaG5pY2FsPWEucXVlcnlTZWxlY3RvcigiI2VkaXRvci10ZWNobmljYWwiKSxlLmZvcm1JbnRlZ3JhdGlvbj1hLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItZm9ybS1pbnRlZ3JhdGlvbiIpLGUucHJvZ3JhbW1hdGljPWEucXVlcnlTZWxlY3RvcigiI2VkaXRvci1wcm9ncmFtbWF0aWMiKSxlLmV4cG9ydERlbW89YS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLWV4cG9ydCIpLGV9LCJpbml0aWFsaXplRWRpdG9ycyIpLFkkYT1zKChhLGUpPT57bGV0IHQ9YS5xdWVyeVNlbGVjdG9yKCIjYnRuLWdlbmVyYXRlLXJlcG9ydCIpLHI9YS5xdWVyeVNlbGVjdG9yKCIjYnRuLWdlbmVyYXRlLXJlY2lwZSIpLGk9YS5xdWVyeVNlbGVjdG9yKCIjYnRuLWNsZWFyLWVkaXRvciIpO3QmJnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5pbXBvcnRCbG9ja3MoVSRhKCkpfSksciYmci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmltcG9ydEJsb2NrcyhXJGEoKSl9KSxpJiZpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2UuaW1wb3J0QmxvY2tzKFtdKX0pfSwic2V0dXBQcm9ncmFtbWF0aWNEZW1vIiksSyRhPXMoKGEsZSk9PntsZXQgdD1hLnF1ZXJ5U2VsZWN0b3IoIiNidG4tZXhwb3J0LWJsb2NrcyIpLHI9YS5xdWVyeVNlbGVjdG9yKCIjYnRuLWV4cG9ydC1odG1sIiksaT1hLnF1ZXJ5U2VsZWN0b3IoIiNidG4tZXhwb3J0LW1hcmtkb3duIiksbz1hLnF1ZXJ5U2VsZWN0b3IoIiNidG4tc2F2ZS1zdGF0ZSIpLG49YS5xdWVyeVNlbGVjdG9yKCIjYnRuLXJlc3RvcmUtc3RhdGUiKSxsPW51bGw7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntsZXQgZD1lLmV4cG9ydEJsb2NrcygpO2NvbnNvbGUubG9nKCJFeHBvcnRlZCBibG9ja3M6IixkKSxhbGVydChgRXhwb3J0ZWQgJHtkLmxlbmd0aH0gYmxvY2tzIHRvIGNvbnNvbGUuIENoZWNrIGRldmVsb3BlciB0b29scy5gKX0pLHImJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57bGV0IGQ9ZS5leHBvcnRBc0h0bWwoKTtjb25zb2xlLmxvZygiSFRNTCBFeHBvcnQ6IixkKSxhbGVydCgiSFRNTCBleHBvcnRlZCB0byBjb25zb2xlLiBDaGVjayBkZXZlbG9wZXIgdG9vbHMuIil9KSxpJiZpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2xldCBkPWUuZXhwb3J0QXNNYXJrZG93bigpO2NvbnNvbGUubG9nKCJNYXJrZG93biBFeHBvcnQ6IixkKSxhbGVydCgiTWFya2Rvd24gZXhwb3J0ZWQgdG8gY29uc29sZS4gQ2hlY2sgZGV2ZWxvcGVyIHRvb2xzLiIpfSksbyYmby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntsPWUuZXhwb3J0U3RhdGUoKSxjb25zb2xlLmxvZygiU2F2ZWQgc3RhdGU6IixsKSxhbGVydCgiRWRpdG9yIHN0YXRlIHNhdmVkISIpfSksbiYmbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntsPyhlLmltcG9ydFN0YXRlKGwpLGFsZXJ0KCJFZGl0b3Igc3RhdGUgcmVzdG9yZWQhIikpOmFsZXJ0KCJObyBzYXZlZCBzdGF0ZSBmb3VuZC4gU2F2ZSBzdGF0ZSBmaXJzdCEiKX0pfSwic2V0dXBFeHBvcnREZW1vIiksWiRhPXMoKGEsZSx0KT0+e2xldCByPWEucXVlcnlTZWxlY3RvcigiI2J0bi1zaG93LWh0bWwtb3V0cHV0IiksaT1hLnF1ZXJ5U2VsZWN0b3IoIiNvdXRwdXQtcHJldmlldy1odG1sIik7ciYmaSYmZSYmci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntpLnRleHRDb250ZW50PWUuZ2V0VmFsdWUoKSxpLmNsYXNzTGlzdC5hZGQoInZpc2libGUiKX0pO2xldCBvPWEucXVlcnlTZWxlY3RvcigiI2J0bi1zaG93LW1hcmtkb3duLW91dHB1dCIpLG49YS5xdWVyeVNlbGVjdG9yKCIjb3V0cHV0LXByZXZpZXctbWFya2Rvd24iKTtvJiZuJiZ0JiZvLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e24udGV4dENvbnRlbnQ9dC5nZXRWYWx1ZSgpLG4uY2xhc3NMaXN0LmFkZCgidmlzaWJsZSIpfSl9LCJzZXR1cE91dHB1dEZvcm1hdERlbW8iKSxYJGE9cyhhPT57YS5hcnRpY2xlJiZzZXRUaW1lb3V0KCgpPT57bGV0IGU9W3tpZDoiaW50cm8taGVhZGluZy0iK0RhdGUubm93KCksdHlwZToiaGVhZGluZy0yIixjb250ZW50OiJJbnRyb2R1Y3Rpb24gdG8gTW9kZXJuIFdlYiBEZXZlbG9wbWVudCJ9LHtpZDoiaW50cm8tcGFyYS0iK0RhdGUubm93KCksdHlwZToicGFyYWdyYXBoIixjb250ZW50OiJNb2Rlcm4gd2ViIGRldmVsb3BtZW50IGhhcyBldm9sdmVkIHNpZ25pZmljYW50bHkgb3ZlciB0aGUgcGFzdCBkZWNhZGUuIEluIHRoaXMgYXJ0aWNsZSwgd2UnbGwgZXhwbG9yZSB0aGUga2V5IHRlY2hub2xvZ2llcyBhbmQgYmVzdCBwcmFjdGljZXMgdGhhdCBkZWZpbmUgd2ViIGRldmVsb3BtZW50IGluIDIwMjQuIn0se2lkOiJ0ZWNoLWhlYWRpbmctIitEYXRlLm5vdygpLHR5cGU6ImhlYWRpbmctMyIsY29udGVudDoiS2V5IFRlY2hub2xvZ2llcyJ9LHtpZDoidGVjaC1saXN0LSIrRGF0ZS5ub3coKSx0eXBlOiJsaXN0Iixjb250ZW50OmBUeXBlU2NyaXB0IC0gVHlwZS1zYWZlIEphdmFTY3JpcHQgZGV2ZWxvcG1lbnQKV2ViIENvbXBvbmVudHMgLSBOYXRpdmUgY29tcG9uZW50IG1vZGVsCkVTIE1vZHVsZXMgLSBNb2Rlcm4gbW9kdWxlIHN5c3RlbQpXZWJBc3NlbWJseSAtIEhpZ2gtcGVyZm9ybWFuY2UgY29tcHV0aW5nYCxtZXRhZGF0YTp7bGlzdFR5cGU6Im9yZGVyZWQifX0se2lkOiJxdW90ZS0iK0RhdGUubm93KCksdHlwZToicXVvdGUiLGNvbnRlbnQ6IlRoZSBiZXN0IHdheSB0byBwcmVkaWN0IHRoZSBmdXR1cmUgaXMgdG8gaW52ZW50IGl0LiAtIEFsYW4gS2F5In0se2lkOiJleGFtcGxlLWhlYWRpbmctIitEYXRlLm5vdygpLHR5cGU6ImhlYWRpbmctMyIsY29udGVudDoiQ29kZSBFeGFtcGxlIn0se2lkOiJjb2RlLWV4YW1wbGUtIitEYXRlLm5vdygpLHR5cGU6ImNvZGUiLGNvbnRlbnQ6YGNsYXNzIE1vZGVybldlYkFwcCBleHRlbmRzIEhUTUxFbGVtZW50IHsKICBjb25zdHJ1Y3RvcigpIHsKICAgIHN1cGVyKCk7CiAgICB0aGlzLmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJyB9KTsKICB9CiAgCiAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICB0aGlzLnJlbmRlcigpOwogIH0KfWAsbWV0YWRhdGE6e2xhbmd1YWdlOiJqYXZhc2NyaXB0In19XTthLmFydGljbGUuaW1wb3J0QmxvY2tzKGUpfSw1MDApLGEuZHJhZ0Ryb3AmJnNldFRpbWVvdXQoKCk9PntsZXQgZT1be2lkOiJkcmFnLXRpdGxlLSIrRGF0ZS5ub3coKSx0eXBlOiJoZWFkaW5nLTEiLGNvbnRlbnQ6IkRyYWcgJiBEcm9wIERlbW8ifSx7aWQ6ImRyYWctaW50cm8tIitEYXRlLm5vdygpLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiVGhpcyBlZGl0b3IgZGVtb25zdHJhdGVzIGRyYWcgYW5kIGRyb3AgZnVuY3Rpb25hbGl0eS4gVHJ5IGRyYWdnaW5nIHRoZXNlIGJsb2NrcyBhcm91bmQhIn0se2lkOiJkcmFnLWhlYWRpbmctIitEYXRlLm5vdygpLHR5cGU6ImhlYWRpbmctMiIsY29udGVudDoiSG93IEl0IFdvcmtzIn0se2lkOiJkcmFnLWxpc3QtIitEYXRlLm5vdygpLHR5cGU6Imxpc3QiLGNvbnRlbnQ6YEhvdmVyIG92ZXIgYW55IGJsb2NrIHRvIHNlZSB0aGUgZHJhZyBoYW5kbGUKQ2xpY2sgYW5kIGhvbGQgdGhlIGhhbmRsZSB0byBzdGFydCBkcmFnZ2luZwpEcmFnIHRvIHJlb3JkZXIgYmxvY2tzClJlbGVhc2UgdG8gZHJvcCBpbiB0aGUgbmV3IHBvc2l0aW9uYCxtZXRhZGF0YTp7bGlzdFR5cGU6Im9yZGVyZWQifX0se2lkOiJkcmFnLXF1b3RlLSIrRGF0ZS5ub3coKSx0eXBlOiJxdW90ZSIsY29udGVudDoiVGhlIGRyYWcgYW5kIGRyb3AgZmVhdHVyZSBtYWtlcyBpdCBlYXN5IHRvIHJlb3JnYW5pemUgeW91ciBjb250ZW50IHdpdGhvdXQgY3V0dGluZyBhbmQgcGFzdGluZy4ifSx7aWQ6ImRyYWctZGl2aWRlci0iK0RhdGUubm93KCksdHlwZToiZGl2aWRlciIsY29udGVudDoiIn0se2lkOiJkcmFnLWZvb3Rlci0iK0RhdGUubm93KCksdHlwZToicGFyYWdyYXBoIixjb250ZW50OiJOb3RlOiBEaXZpZGVyIGJsb2NrcyBjYW5ub3QgYmUgZHJhZ2dlZCwgYnV0IG90aGVyIGJsb2NrcyBjYW4gYmUgbW92ZWQgYXJvdW5kIHRoZW0uIn1dO2EuZHJhZ0Ryb3AuaW1wb3J0QmxvY2tzKGUpfSw2MDApfSwicG9wdWxhdGVJbml0aWFsQ29udGVudCIpLGxpYT1zKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBuZXcgUHJvbWlzZSh0PT5zZXRUaW1lb3V0KHQsNTAwKSk7bGV0IGU9RyRhKGEpO2UucHJvZ3JhbW1hdGljJiZZJGEoYSxlLnByb2dyYW1tYXRpYyksZS5leHBvcnREZW1vJiZLJGEoYSxlLmV4cG9ydERlbW8pLFokYShhLGUubWVldGluZyxlLnJlY2lwZSksWCRhKGUpLGNvbnNvbGUubG9nKCJXWVNJV1lHIERlbW8gaW5pdGlhbGl6ZWQgd2l0aCBlZGl0b3JzOiIsT2JqZWN0LmtleXMoZSkpfX0+CiAgPHN0eWxlPgogICAgJHtYYAogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDMycHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsKICAgICAgfQogICAgICAKICAgICAgLnBhbmVsLWRlc2NyaXB0aW9uIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgY29sb3I6ICM2NjY7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgIH0KICAgICAgCiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAucGFuZWwtZGVzY3JpcHRpb24gewogICAgICAgICAgY29sb3I6ICM5OTk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuZmVhdHVyZS1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuZmVhdHVyZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgY29sb3I6ICM1NTU7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAuZmVhdHVyZS1pY29uIHsKICAgICAgICBjb2xvcjogIzAwNjZjYzsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgLmZlYXR1cmUtaXRlbSB7CiAgICAgICAgICBjb2xvcjogI2FhYTsKICAgICAgICB9CiAgICAgICAgLmZlYXR1cmUtaWNvbiB7CiAgICAgICAgICBjb2xvcjogIzRkOTRmZjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5zaG9ydGN1dHMtYm94IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEwMiwgMjA0LCAwLjA1KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDEwMiwgMjA0LCAwLjIpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAuc2hvcnRjdXRzLWJveCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDc3LCAxNDgsIDI1NSwgMC4xKTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg3NywgMTQ4LCAyNTUsIDAuMyk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuc2hvcnRjdXRzLXRpdGxlIHsKICAgICAgICBtYXJnaW46IDAgMCAxMnB4IDA7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICMwMDY2Y2M7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAuc2hvcnRjdXRzLXRpdGxlIHsKICAgICAgICAgIGNvbG9yOiAjNGQ5NGZmOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnNob3J0Y3V0cy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE4MHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnNob3J0Y3V0LWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICM1NTU7CiAgICAgIH0KCiAgICAgIC5zaG9ydGN1dC1rZXkgewogICAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7CiAgICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICMzMzM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC5zaG9ydGN1dC1pdGVtIHsKICAgICAgICAgIGNvbG9yOiAjYmJiOwogICAgICAgIH0KICAgICAgICAuc2hvcnRjdXQta2V5IHsKICAgICAgICAgIGJhY2tncm91bmQ6ICMzMzM7CiAgICAgICAgICBjb2xvcjogI2RkZDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5vdXRwdXQtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMyMHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgfQoKICAgICAgLm91dHB1dC1jYXJkIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAub3V0cHV0LWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTUsIDIzLCA0MiwgMC4wNCk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dCwgIzBmMTcyYSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNSwgMjMsIDQyLCAwLjEpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IE1vbm8nLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBtYXgtaGVpZ2h0OiAyODBweDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgfQoKICAgICAgOmhvc3QoW3RoZW1lPSdkYXJrJ10pIC5vdXRwdXQtcHJldmlldyB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjA2KTsKICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4xNSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dCwgI2Y0ZjRmNSk7CiAgICAgIH0KCiAgICAgIC5vdXRwdXQtcHJldmlldy52aXNpYmxlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgLm91dHB1dC1ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgLnRpcHMtYm94IHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogI2YwZjhmZjsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgIH0KICAgICAgCiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAudGlwcy1ib3ggewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSg3NywgMTQ4LCAyNTUsIDAuMSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICAudGlwcy1ib3ggc3Ryb25nIHsKICAgICAgICBjb2xvcjogIzAwNjZjYzsKICAgICAgfQogICAgICAKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC50aXBzLWJveCBzdHJvbmcgewogICAgICAgICAgY29sb3I6ICM0ZDk0ZmY7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICAudGlwcy1saXN0IHsKICAgICAgICBtYXJnaW46IDhweCAwIDAgMDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC50aXBzLWxpc3QgbGkgewogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5idXR0b24tZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogI2Y4ZjhmODsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogI2U4ZThlODsKICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLWJ1dHRvbjphY3RpdmUgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOwogICAgICB9CiAgICAgIAogICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgLmRlbW8tYnV0dG9uIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICMzMzM7CiAgICAgICAgICBib3JkZXItY29sb3I6ICM1NTU7CiAgICAgICAgICBjb2xvcjogI2RkZDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmRlbW8tYnV0dG9uOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICM0NDQ7CiAgICAgICAgICBib3JkZXItY29sb3I6ICM2NjY7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI1MHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZC5ibG9ja3MgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTAyLCAyMDQsIDAuMSk7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLmh0bWwgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNzYsIDE3NSwgODAsIDAuMSk7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLm1hcmtkb3duIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTUyLCAwLCAwLjEpOwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZC5zdGF0ZSB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxNTYsIDM5LCAxNzYsIDAuMSk7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkIHN0cm9uZyB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZC5ibG9ja3Mgc3Ryb25nIHsKICAgICAgICBjb2xvcjogIzAwNjZjYzsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQuaHRtbCBzdHJvbmcgewogICAgICAgIGNvbG9yOiAjNENBRjUwOwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZC5tYXJrZG93biBzdHJvbmcgewogICAgICAgIGNvbG9yOiAjRkY5ODAwOwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZC5zdGF0ZSBzdHJvbmcgewogICAgICAgIGNvbG9yOiAjOUMyN0IwOwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZCBwIHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjEuIFx1ezFGNjgwfSBNb2Rlcm4gV1lTSVdZRyBFZGl0b3IifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgQSBwb3dlcmZ1bCBibG9jay1iYXNlZCBlZGl0b3Igd2l0aCBzbGFzaCBjb21tYW5kcywga2V5Ym9hcmQgc2hvcnRjdXRzLCBhbmQgbXVsdGlwbGUgb3V0cHV0IGZvcm1hdHMuIAogICAgICAgICAgUGVyZmVjdCBmb3IgY29udGVudCBjcmVhdGlvbiwgYmxvZyBwb3N0cywgZG9jdW1lbnRhdGlvbiwgYW5kIG1vcmUuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtZ3JpZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPlNsYXNoIGNvbW1hbmRzICgvKTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5LZXlib2FyZCBzaG9ydGN1dHM8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPuKckzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+QmxvY2stYmFzZWQgZWRpdGluZzwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5EcmFnICYgZHJvcCByZW9yZGVyaW5nPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPkhUTUwgJiBNYXJrZG93biBvdXRwdXQ8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPuKckzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+RGFyayBtb2RlIHN1cHBvcnQ8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPuKckzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+TW9iaWxlIHJlc3BvbnNpdmU8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC13eXNpd3lnIAogICAgICAgICAgaWQ9ImVkaXRvci1iYXNpYyIKICAgICAgICAgIGxhYmVsPSJSaWNoIFRleHQgRWRpdG9yIiAKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTdGFydCB0eXBpbmcgb3IgdXNlICcvJyB0byBpbnNlcnQgZGlmZmVyZW50IGJsb2NrIHR5cGVzIgogICAgICAgICAgb3V0cHV0Rm9ybWF0PSJodG1sIgogICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KCiAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXRzLWJveCI+CiAgICAgICAgICA8aDQgY2xhc3M9InNob3J0Y3V0cy10aXRsZSI+4oyo77iPIEtleWJvYXJkIFNob3J0Y3V0czwvaDQ+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dHMtZ3JpZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPi88L3NwYW4+IFNsYXNoIGNvbW1hbmRzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dC1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij4jPC9zcGFuPiBIZWFkaW5nIDEKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPiMjPC9zcGFuPiBIZWFkaW5nIDIKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPiMjIzwvc3Bhbj4gSGVhZGluZyAzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dC1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij4+PC9zcGFuPiBRdW90ZQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+XGBcYFxgPC9zcGFuPiBDb2RlIGJsb2NrCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dC1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij4qPC9zcGFuPiBvciA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij4tPC9zcGFuPiBCdWxsZXQgbGlzdAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+MS48L3NwYW4+IE51bWJlcmVkIGxpc3QKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPi0tLTwvc3Bhbj4gRGl2aWRlcgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMi4gXHV7MUY0RER9IEJsb2cgUG9zdCBFeGFtcGxlIn0+CiAgICAgICAgPHAgY2xhc3M9InBhbmVsLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIFBlcmZlY3QgZm9yIGNyZWF0aW5nIHJpY2ggY29udGVudCB3aXRoIG11bHRpcGxlIGJsb2NrIHR5cGVzLiAKICAgICAgICAgIFRoZSBlZGl0b3IgcHJlc2VydmVzIGZvcm1hdHRpbmcgYW5kIHByb3ZpZGVzIGEgY2xlYW4gZWRpdGluZyBleHBlcmllbmNlLgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC13eXNpd3lnIAogICAgICAgICAgaWQ9ImVkaXRvci1hcnRpY2xlIgogICAgICAgICAgbGFiZWw9IkJsb2cgUG9zdCBDb250ZW50IiAKICAgICAgICAgIGRlc2NyaXB0aW9uPSJXcml0ZSB5b3VyIGFydGljbGUgdXNpbmcgdmFyaW91cyBmb3JtYXR0aW5nIG9wdGlvbnMiCiAgICAgICAgICBvdXRwdXRGb3JtYXQ9Imh0bWwiCiAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMy4gXHV7MUY1MDB9IERyYWcgJiBEcm9wIFJlb3JkZXJpbmcifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgRWFzaWx5IHJlYXJyYW5nZSB5b3VyIGNvbnRlbnQgYmxvY2tzIGJ5IGRyYWdnaW5nIHRoZW0uIAogICAgICAgICAgSG92ZXIgb3ZlciBhbnkgYmxvY2sgdG8gcmV2ZWFsIHRoZSBkcmFnIGhhbmRsZSBvbiB0aGUgbGVmdCBzaWRlLgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC13eXNpd3lnIAogICAgICAgICAgaWQ9ImVkaXRvci1kcmFnZHJvcCIKICAgICAgICAgIGxhYmVsPSJEcmFnICYgRHJvcCBEZW1vIiAKICAgICAgICAgIGRlc2NyaXB0aW9uPSJUcnkgZHJhZ2dpbmcgYmxvY2tzIHRvIHJlb3JkZXIgdGhlbSAtIGhvdmVyIHRvIHNlZSBkcmFnIGhhbmRsZXMiCiAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9InRpcHMtYm94Ij4KICAgICAgICAgIDxzdHJvbmc+8J+SoSBUaXBzOjwvc3Ryb25nPgogICAgICAgICAgPHVsIGNsYXNzPSJ0aXBzLWxpc3QiPgogICAgICAgICAgICA8bGk+SG92ZXIgb3ZlciBhbnkgYmxvY2sgdG8gc2VlIHRoZSBkcmFnIGhhbmRsZSAo4ouu4ouuKSBvbiB0aGUgbGVmdDwvbGk+CiAgICAgICAgICAgIDxsaT5DbGljayBhbmQgaG9sZCB0aGUgZHJhZyBoYW5kbGUgdG8gc3RhcnQgZHJhZ2dpbmc8L2xpPgogICAgICAgICAgICA8bGk+Qmx1ZSBpbmRpY2F0b3JzIHNob3cgd2hlcmUgdGhlIGJsb2NrIHdpbGwgYmUgZHJvcHBlZDwvbGk+CiAgICAgICAgICAgIDxsaT5EaXZpZGVyIGJsb2NrcyBjYW5ub3QgYmUgZHJhZ2dlZDwvbGk+CiAgICAgICAgICAgIDxsaT5UaGUgZWRpdG9yIG1haW50YWlucyBmb2N1cyBvbiB0aGUgbW92ZWQgYmxvY2sgYWZ0ZXIgZHJvcHBpbmc8L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjQuIFx1ezFGNERBfSBUdXRvcmlhbCAmIERvY3VtZW50YXRpb24ifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgQ3JlYXRlIGNvbXByZWhlbnNpdmUgdHV0b3JpYWxzIGFuZCBkb2N1bWVudGF0aW9uIHdpdGggY29kZSBleGFtcGxlcywgbGlzdHMsIGFuZCBzdHJ1Y3R1cmVkIGNvbnRlbnQuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICBpZD0iZWRpdG9yLXR1dG9yaWFsIgogICAgICAgICAgbGFiZWw9IkdpdCBUdXRvcmlhbCIgCiAgICAgICAgICBkZXNjcmlwdGlvbj0iU3RlcC1ieS1zdGVwIGd1aWRlIHdpdGggY29tbWFuZHMgYW5kIGV4cGxhbmF0aW9ucyIKICAgICAgICAgIG91dHB1dEZvcm1hdD0ibWFya2Rvd24iCiAgICAgICAgICB2YWx1ZT0iIyBHaXQgVHV0b3JpYWwgZm9yIEJlZ2lubmVycwoKR2l0IGlzIGEgZGlzdHJpYnV0ZWQgdmVyc2lvbiBjb250cm9sIHN5c3RlbSB0aGF0IGhlbHBzIHlvdSB0cmFjayBjaGFuZ2VzIGluIHlvdXIgY29kZSBvdmVyIHRpbWUuIFRoaXMgdHV0b3JpYWwgd2lsbCBndWlkZSB5b3UgdGhyb3VnaCB0aGUgYmFzaWNzLgoKIyMgUHJlcmVxdWlzaXRlcwoKQmVmb3JlIHN0YXJ0aW5nLCBlbnN1cmUgeW91IGhhdmU6CgotIEdpdCBpbnN0YWxsZWQgb24geW91ciBzeXN0ZW0KLSBBIHRleHQgZWRpdG9yIG9yIElERQotIEJhc2ljIGNvbW1hbmQgbGluZSBrbm93bGVkZ2UKCiMjIEdldHRpbmcgU3RhcnRlZAoKIyMjIDEuIENvbmZpZ3VyZSBHaXQKCkZpcnN0LCBzZXQgdXAgeW91ciBpZGVudGl0eToKClxgXGBcYGJhc2gKZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgJnF1b3Q7WW91ciBOYW1lJnF1b3Q7CmdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCAmcXVvdDt5b3VyLmVtYWlsQGV4YW1wbGUuY29tJnF1b3Q7ClxgXGBcYAoKIyMjIDIuIEluaXRpYWxpemUgYSBSZXBvc2l0b3J5CgpDcmVhdGUgYSBuZXcgR2l0IHJlcG9zaXRvcnk6CgpcYFxgXGBiYXNoCm1rZGlyIG15LXByb2plY3QKY2QgbXktcHJvamVjdApnaXQgaW5pdApcYFxgXGAKCiMjIyAzLiBCYXNpYyBHaXQgV29ya2Zsb3cKCiMjIyMgQWRkaW5nIEZpbGVzCgpDcmVhdGUgYSBmaWxlIGFuZCBhZGQgaXQgdG8gc3RhZ2luZzoKClxgXGBcYGJhc2gKZWNobyAmcXVvdDsjIE15IFByb2plY3QmcXVvdDsgPiBSRUFETUUubWQKZ2l0IGFkZCBSRUFETUUubWQKXGBcYFxgCgojIyMjIENvbW1pdHRpbmcgQ2hhbmdlcwoKXGBcYFxgYmFzaApnaXQgY29tbWl0IC1tICZxdW90O0luaXRpYWwgY29tbWl0JnF1b3Q7ClxgXGBcYAoKPiAqKkJlc3QgUHJhY3RpY2U6KiogV3JpdGUgY2xlYXIsIGRlc2NyaXB0aXZlIGNvbW1pdCBtZXNzYWdlcyB0aGF0IGV4cGxhaW4gd2hhdCBjaGFuZ2VzIHdlcmUgbWFkZSBhbmQgd2h5LgoKIyMjIDQuIFdvcmtpbmcgd2l0aCBCcmFuY2hlcwoKQnJhbmNoZXMgYWxsb3cgeW91IHRvIHdvcmsgb24gZmVhdHVyZXMgaW5kZXBlbmRlbnRseToKClxgXGBcYGJhc2gKIyBDcmVhdGUgYW5kIHN3aXRjaCB0byBhIG5ldyBicmFuY2gKZ2l0IGNoZWNrb3V0IC1iIGZlYXR1cmUtYnJhbmNoCgojIE1ha2UgY2hhbmdlcyBhbmQgY29tbWl0CmdpdCBhZGQgLgpnaXQgY29tbWl0IC1tICZxdW90O0FkZCBuZXcgZmVhdHVyZSZxdW90OwoKIyBTd2l0Y2ggYmFjayB0byBtYWluCmdpdCBjaGVja291dCBtYWluCgojIE1lcmdlIHRoZSBmZWF0dXJlCmdpdCBtZXJnZSBmZWF0dXJlLWJyYW5jaApcYFxgXGAKCi0tLQoKIyMgQ29tbW9uIENvbW1hbmRzIFJlZmVyZW5jZQoKfCBDb21tYW5kIHwgRGVzY3JpcHRpb24gfAp8LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS18CnwgXGBnaXQgc3RhdHVzXGAgfCBDaGVjayByZXBvc2l0b3J5IHN0YXR1cyB8CnwgXGBnaXQgbG9nXGAgfCBWaWV3IGNvbW1pdCBoaXN0b3J5IHwKfCBcYGdpdCBkaWZmXGAgfCBTaG93IGNoYW5nZXMgfAp8IFxgZ2l0IHB1bGxcYCB8IEZldGNoIGFuZCBtZXJnZSBjaGFuZ2VzIHwKfCBcYGdpdCBwdXNoXGAgfCBVcGxvYWQgY2hhbmdlcyB0byByZW1vdGUgfAoKIyMgTmV4dCBTdGVwcwoKMS4gTGVhcm4gYWJvdXQgcmVtb3RlIHJlcG9zaXRvcmllcwoyLiBFeHBsb3JlIGFkdmFuY2VkIEdpdCBmZWF0dXJlcwozLiBQcmFjdGljZSB3aXRoIHJlYWwgcHJvamVjdHMKNC4gQ29udHJpYnV0ZSB0byBvcGVuIHNvdXJjZQoKKipIYXBweSBjb2RpbmchKiog8J+agCIKICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI1LiBcdXsxRjUwNH0gT3V0cHV0IEZvcm1hdHMifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgQ2hvb3NlIGJldHdlZW4gSFRNTCBhbmQgTWFya2Rvd24gb3V0cHV0IGZvcm1hdHMgZGVwZW5kaW5nIG9uIHlvdXIgbmVlZHMuIAogICAgICAgICAgUGVyZmVjdCBmb3Igc3RhdGljIHNpdGUgZ2VuZXJhdG9ycywgZG9jdW1lbnRhdGlvbiBzeXN0ZW1zLCBvciBhbnkgY29udGVudCBtYW5hZ2VtZW50IHdvcmtmbG93LgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtZ3JpZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtY2FyZCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICAgICAgaWQ9ImVkaXRvci1tZWV0aW5nIgogICAgICAgICAgICAgIGxhYmVsPSJNZWV0aW5nIE5vdGVzIiAKICAgICAgICAgICAgICBkZXNjcmlwdGlvbj0iU3RydWN0dXJlZCBtZWV0aW5nIGRvY3VtZW50YXRpb24iCiAgICAgICAgICAgICAgb3V0cHV0Rm9ybWF0PSJodG1sIgogICAgICAgICAgICAgIHZhbHVlPSI8aDI+UTQgUGxhbm5pbmcgTWVldGluZzwvaDI+PHA+PHN0cm9uZz5EYXRlOjwvc3Ryb25nPiBEZWNlbWJlciAxNSwgMjAyNDxicj48c3Ryb25nPkF0dGVuZGVlczo8L3N0cm9uZz4gUHJvZHVjdCBUZWFtLCBFbmdpbmVlcmluZywgRGVzaWduPC9wPjxoMz5BZ2VuZGEgSXRlbXM8L2gzPjxvbD48bGk+UmV2aWV3IFEzIGFjaGlldmVtZW50czwvbGk+PGxpPlNldCBRNCBvYmplY3RpdmVzPC9saT48bGk+UmVzb3VyY2UgYWxsb2NhdGlvbjwvbGk+PGxpPlRpbWVsaW5lIGRpc2N1c3Npb248L2xpPjwvb2w+PGgzPktleSBEZWNpc2lvbnM8L2gzPjx1bD48bGk+TGF1bmNoIG5ldyBkYXNoYm9hcmQgZmVhdHVyZSBieSBlbmQgb2YgSmFudWFyeTwvbGk+PGxpPkluY3JlYXNlIGVuZ2luZWVyaW5nIHRlYW0gYnkgMiBkZXZlbG9wZXJzPC9saT48bGk+SW1wbGVtZW50IHdlZWtseSBkZXNpZ24gcmV2aWV3czwvbGk+PC91bD48YmxvY2txdW90ZT4mcXVvdDtGb2N1cyBvbiB1c2VyIGV4cGVyaWVuY2UgaW1wcm92ZW1lbnRzIGJhc2VkIG9uIFEzIGZlZWRiYWNrJnF1b3Q7IC0gUHJvZHVjdCBNYW5hZ2VyPC9ibG9ja3F1b3RlPjxoMz5BY3Rpb24gSXRlbXM8L2gzPjx1bD48bGk+U2FyYWg6IENyZWF0ZSBkZXRhaWxlZCBwcm9qZWN0IHRpbWVsaW5lPC9saT48bGk+TWlrZTogRHJhZnQgdGVjaG5pY2FsIHJlcXVpcmVtZW50czwvbGk+PGxpPkxpc2E6IFNjaGVkdWxlIHVzZXIgcmVzZWFyY2ggc2Vzc2lvbnM8L2xpPjwvdWw+PGhyPjxwPk5leHQgbWVldGluZzogSmFudWFyeSA1LCAyMDI1PC9wPiIKICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtYWN0aW9ucyI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLXNob3ctaHRtbC1vdXRwdXQiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+U2hvdyBIVE1MIE91dHB1dDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHByZSBpZD0ib3V0cHV0LXByZXZpZXctaHRtbCIgY2xhc3M9Im91dHB1dC1wcmV2aWV3IiBhcmlhLWxpdmU9InBvbGl0ZSI+PC9wcmU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0ib3V0cHV0LWNhcmQiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC13eXNpd3lnIAogICAgICAgICAgICAgIGlkPSJlZGl0b3ItcmVjaXBlIgogICAgICAgICAgICAgIGxhYmVsPSJSZWNpcGUgQmxvZyBQb3N0IiAKICAgICAgICAgICAgICBkZXNjcmlwdGlvbj0iRm9vZCBibG9nIHdpdGggbWl4ZWQgY29udGVudCIKICAgICAgICAgICAgICBvdXRwdXRGb3JtYXQ9Im1hcmtkb3duIgogICAgICAgICAgICAgIHZhbHVlPSIjIFVsdGltYXRlIENob2NvbGF0ZSBDaGlwIENvb2tpZXMKClRoZXJlJ3Mgbm90aGluZyBxdWl0ZSBsaWtlIHRoZSBzbWVsbCBvZiBmcmVzaGx5IGJha2VkIGNob2NvbGF0ZSBjaGlwIGNvb2tpZXMuIFRoaXMgcmVjaXBlIGhhcyBiZWVuIHBlcmZlY3RlZCBvdmVyIHllYXJzIG9mIHRlc3RpbmchCgojIyBJbmdyZWRpZW50cwoKLSAywrwgY3VwcyBhbGwtcHVycG9zZSBmbG91cgotIDEgdHNwIGJha2luZyBzb2RhCi0gMSB0c3Agc2FsdAotIDEgY3VwIGJ1dHRlciwgc29mdGVuZWQKLSDCviBjdXAgZ3JhbnVsYXRlZCBzdWdhcgotIMK+IGN1cCBwYWNrZWQgYnJvd24gc3VnYXIKLSAyIGxhcmdlIGVnZ3MKLSAyIHRzcCB2YW5pbGxhIGV4dHJhY3QKLSAyIGN1cHMgY2hvY29sYXRlIGNoaXBzCgojIyBJbnN0cnVjdGlvbnMKCiMjIyBTdGVwIDE6IFByZXBhcmF0aW9uCgpQcmVoZWF0IHlvdXIgb3ZlbiB0byAqKjM3NcKwRiAoMTkwwrBDKSoqLiBUaGlzIHRlbXBlcmF0dXJlIGlzIGNydWNpYWwgZm9yIGFjaGlldmluZyB0aGUgcGVyZmVjdCB0ZXh0dXJlLgoKIyMjIFN0ZXAgMjogTWl4IERyeSBJbmdyZWRpZW50cwoKSW4gYSBtZWRpdW0gYm93bCwgd2hpc2sgdG9nZXRoZXI6CgoxLiBGbG91cgoyLiBCYWtpbmcgc29kYQozLiBTYWx0CgojIyMgU3RlcCAzOiBDcmVhbSBCdXR0ZXIgYW5kIFN1Z2FycwoKXGBcYFxgCkNyZWFtIGJ1dHRlciBhbmQgc3VnYXJzIGZvciAzLTQgbWludXRlcwp1bnRpbCBsaWdodCBhbmQgZmx1ZmZ5ClxgXGBcYAoKPiAqKlBybyB0aXA6KiogUm9vbSB0ZW1wZXJhdHVyZSBpbmdyZWRpZW50cyBtaXggYmV0dGVyIGFuZCBjcmVhdGUgYSBtb3JlIHVuaWZvcm0gZG91Z2guCgojIyMgU3RlcCA0OiBBZGQgV2V0IEluZ3JlZGllbnRzCgpCZWF0IGluIGVnZ3Mgb25lIGF0IGEgdGltZSwgdGhlbiBhZGQgdmFuaWxsYSBleHRyYWN0LgoKIyMjIFN0ZXAgNTogQ29tYmluZSBhbmQgQmFrZQoKR3JhZHVhbGx5IGJsZW5kIGluIGZsb3VyIG1peHR1cmUsIHRoZW4gc3RpciBpbiBjaG9jb2xhdGUgY2hpcHMuIERyb3Agcm91bmRlZCB0YWJsZXNwb29ucyBvbnRvIHVuZ3JlYXNlZCBjb29raWUgc2hlZXRzLgoKLS0tCgoqKkJha2luZyB0aW1lOioqIDktMTEgbWludXRlcyBvciB1bnRpbCBnb2xkZW4gYnJvd24KCioqWWllbGQ6KiogQWJvdXQgNSBkb3plbiBjb29raWVzIgogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1hY3Rpb25zIj4KICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tc2hvdy1tYXJrZG93bi1vdXRwdXQiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+U2hvdyBNYXJrZG93biBPdXRwdXQ8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxwcmUgaWQ9Im91dHB1dC1wcmV2aWV3LW1hcmtkb3duIiBjbGFzcz0ib3V0cHV0LXByZXZpZXciIGFyaWEtbGl2ZT0icG9saXRlIj48L3ByZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNi4gXHV7MUYzQTh9IEFkdmFuY2VkIEVkaXRpbmcifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgQ3JlYXRlIGNvbXBsZXggZG9jdW1lbnRzIHdpdGggbWl4ZWQgY29udGVudCB0eXBlcy4gVGhlIGVkaXRvciBoYW5kbGVzIGFsbCBmb3JtYXR0aW5nIHNlYW1sZXNzbHkuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICBpZD0iZWRpdG9yLXRlY2huaWNhbCIKICAgICAgICAgIGxhYmVsPSJUZWNobmljYWwgRG9jdW1lbnRhdGlvbiIgCiAgICAgICAgICBkZXNjcmlwdGlvbj0iQ3JlYXRlIHRlY2huaWNhbCBkb2NzIHdpdGggY29kZSBleGFtcGxlcyBhbmQgc3RydWN0dXJlZCBjb250ZW50IgogICAgICAgICAgdmFsdWU9IjxoMT5BUEkgRG9jdW1lbnRhdGlvbjwvaDE+PHA+V2VsY29tZSB0byBvdXIgQVBJIGRvY3VtZW50YXRpb24uIEJlbG93IHlvdSdsbCBmaW5kIGV4YW1wbGVzIG9mIGhvdyB0byB1c2Ugb3VyIGVuZHBvaW50cy48L3A+PGgyPkF1dGhlbnRpY2F0aW9uPC9oMj48cD5BbGwgQVBJIHJlcXVlc3RzIHJlcXVpcmUgYXV0aGVudGljYXRpb24gdXNpbmcgYW4gQVBJIGtleTo8L3A+PHByZT48Y29kZT5BdXRob3JpemF0aW9uOiBCZWFyZXIgWU9VUl9BUElfS0VZPC9jb2RlPjwvcHJlPjxoMj5FbmRwb2ludHM8L2gyPjxoMz5HRVQgL3VzZXJzPC9oMz48cD5SZXRyaWV2ZSBhIGxpc3Qgb2YgdXNlcnMgZnJvbSB0aGUgc3lzdGVtLjwvcD48cHJlPjxjb2RlPmN1cmwgLVggR0VUIGh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL3VzZXJzIFxcCiAgLUggJnF1b3Q7QXV0aG9yaXphdGlvbjogQmVhcmVyIFlPVVJfQVBJX0tFWSZxdW90OzwvY29kZT48L3ByZT48YmxvY2txdW90ZT5Ob3RlOiBSYXRlIGxpbWl0aW5nIGFwcGxpZXMgdG8gYWxsIGVuZHBvaW50cy4gWW91IGNhbiBtYWtlIHVwIHRvIDEwMCByZXF1ZXN0cyBwZXIgbWludXRlLjwvYmxvY2txdW90ZT48aDM+UE9TVCAvdXNlcnM8L2gzPjxwPkNyZWF0ZSBhIG5ldyB1c2VyIGluIHRoZSBzeXN0ZW0uPC9wPjxwcmU+PGNvZGU+ewogICZxdW90O25hbWUmcXVvdDs6ICZxdW90O0pvaG4gRG9lJnF1b3Q7LAogICZxdW90O2VtYWlsJnF1b3Q7OiAmcXVvdDtqb2huQGV4YW1wbGUuY29tJnF1b3Q7LAogICZxdW90O3JvbGUmcXVvdDs6ICZxdW90O3VzZXImcXVvdDsKfTwvY29kZT48L3ByZT48aHI+PHA+Rm9yIG1vcmUgaW5mb3JtYXRpb24sIHBsZWFzZSByZWZlciB0byBvdXIgY29tcGxldGUgZG9jdW1lbnRhdGlvbi48L3A+IgogICAgICAgICAgb3V0cHV0Rm9ybWF0PSJodG1sIgogICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjcuIFx1MjY5OVx1RkUwRiBGb3JtIEludGVncmF0aW9uIn0+CiAgICAgICAgPHAgY2xhc3M9InBhbmVsLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIFNlYW1sZXNzbHkgaW50ZWdyYXRlcyB3aXRoIGRlZXMtZm9ybSBmb3IgY29tcGxldGUgZm9ybSBzb2x1dGlvbnMuIAogICAgICAgICAgQWxsIHN0YW5kYXJkIGZvcm0gZmVhdHVyZXMgbGlrZSB2YWxpZGF0aW9uLCByZXF1aXJlZCBmaWVsZHMsIGFuZCBkYXRhIGJpbmRpbmcgd29yayBvdXQgb2YgdGhlIGJveC4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgCiAgICAgICAgICAgIGxhYmVsPSJBcnRpY2xlIFRpdGxlIiAKICAgICAgICAgICAgcmVxdWlyZWQ9InRydWUiCiAgICAgICAgICAgIHZhbHVlPSJIb3cgdG8gQnVpbGQgTW9kZXJuIFdlYiBBcHBsaWNhdGlvbnMiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICAgIGlkPSJlZGl0b3ItZm9ybS1pbnRlZ3JhdGlvbiIKICAgICAgICAgICAgbGFiZWw9IkFydGljbGUgQ29udGVudCIgCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJXcml0ZSB5b3VyIGFydGljbGUgY29udGVudCBoZXJlIgogICAgICAgICAgICByZXF1aXJlZD0idHJ1ZSIKICAgICAgICAgICAgb3V0cHV0Rm9ybWF0PSJtYXJrZG93biIKICAgICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgICBsYWJlbD0iVGFncyIKICAgICAgICAgICAgZGVzY3JpcHRpb249IkFkZCByZWxldmFudCB0YWdzIGZvciB5b3VyIGFydGljbGUiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI4LiBcdXsxRjlFOX0gUHJvZ3JhbW1hdGljIEJsb2NrIENyZWF0aW9uIn0+CiAgICAgICAgPHAgY2xhc3M9InBhbmVsLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIENyZWF0ZSBjb250ZW50IHByb2dyYW1tYXRpY2FsbHkgdXNpbmcgdGhlIGJsb2NrIEFQSSBmb3IgZHluYW1pYyBkb2N1bWVudCBnZW5lcmF0aW9uLgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC13eXNpd3lnCiAgICAgICAgICBpZD0iZWRpdG9yLXByb2dyYW1tYXRpYyIKICAgICAgICAgIGxhYmVsPSJQcm9ncmFtbWF0aWNhbGx5IEdlbmVyYXRlZCBDb250ZW50IgogICAgICAgICAgZGVzY3JpcHRpb249IlRoaXMgY29udGVudCB3YXMgY3JlYXRlZCB1c2luZyB0aGUgaW1wb3J0QmxvY2tzIEFQSSIKICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyb3VwIj4KICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1nZW5lcmF0ZS1yZXBvcnQiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIEdlbmVyYXRlIFJlcG9ydAogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1nZW5lcmF0ZS1yZWNpcGUiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIEdlbmVyYXRlIFJlY2lwZQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1jbGVhci1lZGl0b3IiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIENsZWFyIEVkaXRvcgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI5LiBcdXsxRjRFNH0gRXhwb3J0L0ltcG9ydCBGZWF0dXJlcyJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBUaGUgV1lTSVdZRyBlZGl0b3IgcHJvdmlkZXMgbXVsdGlwbGUgZXhwb3J0IGZvcm1hdHMgYW5kIGxvc3NsZXNzIHNhdmUvcmVzdG9yZSBjYXBhYmlsaXRpZXMgZm9yIG1heGltdW0gZmxleGliaWxpdHkuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImV4cG9ydC1pbmZvLWdyaWQiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZXhwb3J0LWluZm8tY2FyZCBibG9ja3MiPgogICAgICAgICAgICA8c3Ryb25nPkxvc3NsZXNzIEJsb2Nrczwvc3Ryb25nPgogICAgICAgICAgICA8cD5FeHBvcnQgYW5kIGltcG9ydCByYXcgYmxvY2sgc3RydWN0dXJlIGZvciBwZXJmZWN0IHJvdW5kLXRyaXAgZWRpdGluZzwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZXhwb3J0LWluZm8tY2FyZCBodG1sIj4KICAgICAgICAgICAgPHN0cm9uZz5IVE1MIEV4cG9ydDwvc3Ryb25nPgogICAgICAgICAgICA8cD5HZXQgY2xlYW4sIHNlbWFudGljIEhUTUwgcmVnYXJkbGVzcyBvZiBvdXRwdXQgZm9ybWF0IHNldHRpbmc8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImV4cG9ydC1pbmZvLWNhcmQgbWFya2Rvd24iPgogICAgICAgICAgICA8c3Ryb25nPk1hcmtkb3duIEV4cG9ydDwvc3Ryb25nPgogICAgICAgICAgICA8cD5FeHBvcnQgYXMgTWFya2Rvd24gZm9yIGRvY3MsIFJFQURNRXMsIGFuZCBzdGF0aWMgc2l0ZXM8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImV4cG9ydC1pbmZvLWNhcmQgc3RhdGUiPgogICAgICAgICAgICA8c3Ryb25nPlN0YXRlIE1hbmFnZW1lbnQ8L3N0cm9uZz4KICAgICAgICAgICAgPHA+U2F2ZSBhbmQgcmVzdG9yZSBjb21wbGV0ZSBlZGl0b3Igc3RhdGUgaW5jbHVkaW5nIHNldHRpbmdzPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZwogICAgICAgICAgaWQ9ImVkaXRvci1leHBvcnQiCiAgICAgICAgICBsYWJlbD0iRXhwb3J0IERlbW8gRWRpdG9yIgogICAgICAgICAgZGVzY3JpcHRpb249IlRyeSB0aGUgZXhwb3J0IGJ1dHRvbnMgYmVsb3cgdG8gc2VlIGRpZmZlcmVudCBvdXRwdXQgZm9ybWF0cyIKICAgICAgICAgIHZhbHVlPSI8aDE+U29mdHdhcmUgUmVsZWFzZSBOb3RlczwvaDE+PHA+PHN0cm9uZz5WZXJzaW9uIDIuNS4wPC9zdHJvbmc+IC0gUmVsZWFzZWQgRGVjZW1iZXIgMTUsIDIwMjQ8L3A+PGgyPvCfjokgTmV3IEZlYXR1cmVzPC9oMj48dWw+PGxpPkFkZGVkIGRhcmsgbW9kZSBzdXBwb3J0IGFjcm9zcyBhbGwgY29tcG9uZW50czwvbGk+PGxpPkltcGxlbWVudGVkIHJlYWwtdGltZSBjb2xsYWJvcmF0aW9uIGZlYXR1cmVzPC9saT48bGk+TmV3IGRhc2hib2FyZCBhbmFseXRpY3Mgd2lkZ2V0czwvbGk+PGxpPkV4cG9ydCBmdW5jdGlvbmFsaXR5IGZvciBhbGwgcmVwb3J0IHR5cGVzPC9saT48L3VsPjxoMj7wn5CbIEJ1ZyBGaXhlczwvaDI+PHVsPjxsaT5GaXhlZCBtZW1vcnkgbGVhayBpbiBkYXRhIHByb2Nlc3NpbmcgbW9kdWxlPC9saT48bGk+UmVzb2x2ZWQgYXV0aGVudGljYXRpb24gdGltZW91dCBpc3N1ZXM8L2xpPjxsaT5Db3JyZWN0ZWQgdGltZXpvbmUgaGFuZGxpbmcgaW4gc2NoZWR1bGVkIHRhc2tzPC9saT48L3VsPjxoMj7imqEgUGVyZm9ybWFuY2UgSW1wcm92ZW1lbnRzPC9oMj48YmxvY2txdW90ZT5QYWdlIGxvYWQgdGltZXMgcmVkdWNlZCBieSA0MCUgdGhyb3VnaCBsYXp5IGxvYWRpbmcgYW5kIGNvZGUgc3BsaXR0aW5nPC9ibG9ja3F1b3RlPjxoMj7wn5SnIFRlY2huaWNhbCBEZXRhaWxzPC9oMj48cHJlPjxjb2RlPi8vIE5ldyBBUEkgZW5kcG9pbnQgZm9yIGJhdGNoIG9wZXJhdGlvbnMKUE9TVCAvYXBpL3YyL2JhdGNoCnsKICAmcXVvdDtvcGVyYXRpb25zJnF1b3Q7OiBbCiAgICB7ICZxdW90O21ldGhvZCZxdW90OzogJnF1b3Q7R0VUJnF1b3Q7LCAmcXVvdDtwYXRoJnF1b3Q7OiAmcXVvdDsvdXNlcnMvMTIzJnF1b3Q7IH0sCiAgICB7ICZxdW90O21ldGhvZCZxdW90OzogJnF1b3Q7UFVUJnF1b3Q7LCAmcXVvdDtwYXRoJnF1b3Q7OiAmcXVvdDsvc2V0dGluZ3MmcXVvdDssICZxdW90O2JvZHkmcXVvdDs6IHsuLi59IH0KICBdCn08L2NvZGU+PC9wcmU+PGgyPvCfkqEgTWlncmF0aW9uIEd1aWRlPC9oMj48b2w+PGxpPlVwZGF0ZSB5b3VyIGRlcGVuZGVuY2llcyB0byB0aGUgbGF0ZXN0IHZlcnNpb25zPC9saT48bGk+UnVuIGRhdGFiYXNlIG1pZ3JhdGlvbnM6IDxjb2RlPm5wbSBydW4gbWlncmF0ZTwvY29kZT48L2xpPjxsaT5DbGVhciBjYWNoZTogPGNvZGU+bnBtIHJ1biBjYWNoZTpjbGVhcjwvY29kZT48L2xpPjxsaT5SZXN0YXJ0IGFsbCBzZXJ2aWNlczwvbGk+PC9vbD48aHI+PHA+Rm9yIHF1ZXN0aW9ucyBvciBpc3N1ZXMsIHBsZWFzZSBjb250YWN0IHRoZSBkZXZlbG9wbWVudCB0ZWFtIG9yIGZpbGUgYSB0aWNrZXQgaW4gb3VyIGlzc3VlIHRyYWNrZXIuPC9wPiIKICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyb3VwIj4KICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1leHBvcnQtYmxvY2tzIiBjbGFzcz0iZGVtby1idXR0b24iPgogICAgICAgICAgICBFeHBvcnQgQmxvY2tzCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWV4cG9ydC1odG1sIiBjbGFzcz0iZGVtby1idXR0b24iPgogICAgICAgICAgICBFeHBvcnQgYXMgSFRNTAogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1leHBvcnQtbWFya2Rvd24iIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIEV4cG9ydCBhcyBNYXJrZG93bgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1zYXZlLXN0YXRlIiBjbGFzcz0iZGVtby1idXR0b24iPgogICAgICAgICAgICBTYXZlIFN0YXRlCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLXJlc3RvcmUtc3RhdGUiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIFJlc3RvcmUgU3RhdGUKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgSW89ZigoKT0+e30pO3ZhciBlcyxBZj1mKCgpPT57SW8oKTtlcz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXeXNpd3lnU2hvcnRjdXRzIil9c3RhdGljIEhFQURJTkdfUEFUVEVSTlM9W3twYXR0ZXJuOi9eI1tcc1x1MDBBMF0kLyx0eXBlOiJoZWFkaW5nLTEifSx7cGF0dGVybjovXiMjW1xzXHUwMEEwXSQvLHR5cGU6ImhlYWRpbmctMiJ9LHtwYXR0ZXJuOi9eIyMjW1xzXHUwMEEwXSQvLHR5cGU6ImhlYWRpbmctMyJ9XTtzdGF0aWMgTElTVF9QQVRURVJOUz1be3BhdHRlcm46L15bKi1dW1xzXHUwMEEwXSQvLHR5cGU6ImJ1bGxldCJ9LHtwYXR0ZXJuOi9eKFxkKylcLltcc1x1MDBBMF0kLyx0eXBlOiJvcmRlcmVkIn0se3BhdHRlcm46L14oXGQrKVwpW1xzXHUwMEEwXSQvLHR5cGU6Im9yZGVyZWQifV07c3RhdGljIFFVT1RFX1BBVFRFUk49L14+W1xzXHUwMEEwXSQvO3N0YXRpYyBDT0RFX1BBVFRFUk49L15gYGAkLztzdGF0aWMgRElWSURFUl9QQVRURVJOUz1bIi0tLSIsIioqKiIsIl9fXyJdO3N0YXRpYyBjaGVja0hlYWRpbmdTaG9ydGN1dChlKXtmb3IobGV0e3BhdHRlcm46dCx0eXBlOnJ9b2YgdGhpcy5IRUFESU5HX1BBVFRFUk5TKWlmKHQudGVzdChlKSlyZXR1cm57dHlwZTpyfTtyZXR1cm4gbnVsbH1zdGF0aWMgY2hlY2tMaXN0U2hvcnRjdXQoZSl7Zm9yKGxldHtwYXR0ZXJuOnQsdHlwZTpyfW9mIHRoaXMuTElTVF9QQVRURVJOUylpZih0LnRlc3QoZSkpcmV0dXJue3R5cGU6Imxpc3QiLGxpc3RUeXBlOnJ9O3JldHVybiBudWxsfXN0YXRpYyBjaGVja1F1b3RlU2hvcnRjdXQoZSl7cmV0dXJuIHRoaXMuUVVPVEVfUEFUVEVSTi50ZXN0KGUpfXN0YXRpYyBjaGVja0NvZGVTaG9ydGN1dChlKXtyZXR1cm4gdGhpcy5DT0RFX1BBVFRFUk4udGVzdChlKX1zdGF0aWMgY2hlY2tEaXZpZGVyU2hvcnRjdXQoZSl7cmV0dXJuIHRoaXMuRElWSURFUl9QQVRURVJOUy5pbmNsdWRlcyhlKX1zdGF0aWMgZ2V0U2xhc2hNZW51SXRlbXMoKXtyZXR1cm5be3R5cGU6InBhcmFncmFwaCIsbGFiZWw6IlBhcmFncmFwaCIsaWNvbjoibHVjaWRlOnBpbGNyb3cifSx7dHlwZToiaGVhZGluZy0xIixsYWJlbDoiSGVhZGluZyAxIixpY29uOiJsdWNpZGU6aGVhZGluZzEifSx7dHlwZToiaGVhZGluZy0yIixsYWJlbDoiSGVhZGluZyAyIixpY29uOiJsdWNpZGU6aGVhZGluZzIifSx7dHlwZToiaGVhZGluZy0zIixsYWJlbDoiSGVhZGluZyAzIixpY29uOiJsdWNpZGU6aGVhZGluZzMifSx7dHlwZToicXVvdGUiLGxhYmVsOiJRdW90ZSIsaWNvbjoibHVjaWRlOnF1b3RlIn0se3R5cGU6ImNvZGUiLGxhYmVsOiJDb2RlIEJsb2NrIixpY29uOiJsdWNpZGU6ZmlsZUNvZGUifSx7dHlwZToibGlzdCIsbGFiZWw6IkJ1bGxldCBMaXN0IixpY29uOiJsdWNpZGU6bGlzdCJ9LHt0eXBlOiJpbWFnZSIsbGFiZWw6IkltYWdlIixpY29uOiJsdWNpZGU6aW1hZ2UifSx7dHlwZToiZGl2aWRlciIsbGFiZWw6IkRpdmlkZXIiLGljb246Imx1Y2lkZTptaW51cyJ9LHt0eXBlOiJ5b3V0dWJlIixsYWJlbDoiWW91VHViZSIsaWNvbjoibHVjaWRlOnlvdXR1YmUifSx7dHlwZToibWFya2Rvd24iLGxhYmVsOiJNYXJrZG93biIsaWNvbjoibHVjaWRlOmZpbGVUZXh0In0se3R5cGU6Imh0bWwiLGxhYmVsOiJIVE1MIixpY29uOiJsdWNpZGU6Y29kZSJ9LHt0eXBlOiJhdHRhY2htZW50IixsYWJlbDoiRmlsZSBBdHRhY2htZW50IixpY29uOiJsdWNpZGU6cGFwZXJjbGlwIn1dfXN0YXRpYyBnZW5lcmF0ZUJsb2NrSWQoKXtyZXR1cm5gYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWB9fX0pO3ZhciBsbSxJMSxNYWUsWlllPWYoKCk9PntsZSgpO0dpKCk7dmEoKTtJbygpO0FmKCk7UWUoKTtsbT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sSTE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LE1hZT0oKCk9PntsZXQgYT1baWUoImRlZXMtc2xhc2gtbWVudSIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzU2xhc2hNZW51Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkPVtLKCldLHU9W0soKV0seD1bSygpXSx5PVtLKCldLGxtKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4idmlzaWJsZSJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnZpc2libGUsImdldCIpLHNldDpzKCh6LE8pPT57ei52aXNpYmxlPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxsbSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJwb3NpdGlvbiJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnBvc2l0aW9uLCJnZXQiKSxzZXQ6cygoeixPKT0+e3oucG9zaXRpb249T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLGxtKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJmaWx0ZXIiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5maWx0ZXIsImdldCIpLHNldDpzKCh6LE8pPT57ei5maWx0ZXI9T30sInNldCIpfSxtZXRhZGF0YTpffSxtLHYpLGxtKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ic2VsZWN0ZWRJbmRleCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNlbGVjdGVkSW5kZXgsImdldCIpLHNldDpzKCh6LE8pPT57ei5zZWxlY3RlZEluZGV4PU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSxsbSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbnVaSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Im1lbnVaSW5kZXgiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5tZW51WkluZGV4LCJnZXQiKSxzZXQ6cygoeixPKT0+e3oubWVudVpJbmRleD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksbG0obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgaW5zdGFuY2U7c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIE4uaW5zdGFuY2V8fChOLmluc3RhbmNlPW5ldyBOLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoTi5pbnN0YW5jZSkpLE4uaW5zdGFuY2V9I2U9STEodGhpcyxuLCExKTtnZXQgdmlzaWJsZSgpe3JldHVybiB0aGlzLiNlfXNldCB2aXNpYmxlKF8pe3RoaXMuI2U9X30jdD0oSTEodGhpcyxsKSxJMSh0aGlzLGMse3g6MCx5OjB9KSk7Z2V0IHBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBvc2l0aW9uKF8pe3RoaXMuI3Q9X30jYT0oSTEodGhpcyxwKSxJMSh0aGlzLG0sIiIpKTtnZXQgZmlsdGVyKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGZpbHRlcihfKXt0aGlzLiNhPV99I3I9KEkxKHRoaXMsdiksSTEodGhpcyxiLDApKTtnZXQgc2VsZWN0ZWRJbmRleCgpe3JldHVybiB0aGlzLiNyfXNldCBzZWxlY3RlZEluZGV4KF8pe3RoaXMuI3I9X30jcz0oSTEodGhpcyxnKSxJMSh0aGlzLGssMWUzKSk7Z2V0IG1lbnVaSW5kZXgoKXtyZXR1cm4gdGhpcy4jc31zZXQgbWVudVpJbmRleChfKXt0aGlzLiNzPV99Y2FsbGJhY2s9KEkxKHRoaXMsQyksbnVsbCk7c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICB9CgogICAgICAuc2xhc2gtbWVudSB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDYpOwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgICBtaW4td2lkdGg6IDIyMHB4OwogICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5TY2FsZSAwLjE1cyBlYXNlLW91dDsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBmYWRlSW5TY2FsZSB7CiAgICAgICAgZnJvbSB7CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KSB0cmFuc2xhdGVZKC0ycHgpOwogICAgICAgIH0KICAgICAgICB0byB7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnNsYXNoLW1lbnUtaXRlbSB7CiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAuc2xhc2gtbWVudS1pdGVtOmhvdmVyLAogICAgICAuc2xhc2gtbWVudS1pdGVtLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNsYXNoLW1lbnUtaXRlbSAuaWNvbiB7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuc2xhc2gtbWVudS1pdGVtOmhvdmVyIC5pY29uLAogICAgICAuc2xhc2gtbWVudS1pdGVtLnNlbGVjdGVkIC5pY29uIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtpZighdGhpcy52aXNpYmxlKXJldHVybiB3YGA7dGhpcy5zdHlsZS56SW5kZXg9dGhpcy5tZW51WkluZGV4LnRvU3RyaW5nKCk7bGV0IF89dGhpcy5nZXRGaWx0ZXJlZE1lbnVJdGVtcygpO3JldHVybiB3YAogICAgICA8ZGl2IAogICAgICAgIGNsYXNzPSJzbGFzaC1tZW51IiAKICAgICAgICBzdHlsZT0ibGVmdDogJHt0aGlzLnBvc2l0aW9uLnh9cHg7IHRvcDogJHt0aGlzLnBvc2l0aW9uLnl9cHg7IgogICAgICAgIHRhYmluZGV4PSItMSIKICAgICAgICBkYXRhLW1lbnUtdHlwZT0ic2xhc2giCiAgICAgID4KICAgICAgICAke18ubWFwKCh6LE8pPT53YAogICAgICAgICAgPGRpdiAKICAgICAgICAgICAgY2xhc3M9InNsYXNoLW1lbnUtaXRlbSAke089PT10aGlzLnNlbGVjdGVkSW5kZXg/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgIGRhdGEtaXRlbS10eXBlPSIke3oudHlwZX0iCiAgICAgICAgICAgIGRhdGEtaXRlbS1pbmRleD0iJHtPfSIKICAgICAgICAgID4KICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iaWNvbiIgLmljb249IiR7ei5pY29ufSIgaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPHNwYW4+JHt6LmxhYmVsfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApfQogICAgICA8L2Rpdj4KICAgIGB9Z2V0RmlsdGVyZWRNZW51SXRlbXMoKXtyZXR1cm4gZXMuZ2V0U2xhc2hNZW51SXRlbXMoKS5maWx0ZXIoej0+dGhpcy5maWx0ZXI9PT0iInx8ei5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuZmlsdGVyLnRvTG93ZXJDYXNlKCkpKX1zZWxlY3RJdGVtKF8pe3RoaXMuY2FsbGJhY2smJnRoaXMuY2FsbGJhY2soXyksdGhpcy5oaWRlKCl9c2hvdyhfLHope3RoaXMucG9zaXRpb249Xyx0aGlzLmNhbGxiYWNrPXosdGhpcy5maWx0ZXI9IiIsdGhpcy5zZWxlY3RlZEluZGV4PTAsdGhpcy5tZW51WkluZGV4PVh0LmdldE5leHRaSW5kZXgoKSxYdC5yZWdpc3Rlcih0aGlzLHRoaXMubWVudVpJbmRleCksdGhpcy5zdHlsZS56SW5kZXg9dGhpcy5tZW51WkluZGV4LnRvU3RyaW5nKCksdGhpcy52aXNpYmxlPSEwfWhpZGUoKXt0aGlzLnZpc2libGU9ITEsdGhpcy5jYWxsYmFjaz1udWxsLHRoaXMuZmlsdGVyPSIiLHRoaXMuc2VsZWN0ZWRJbmRleD0wLFh0LnVucmVnaXN0ZXIodGhpcyl9dXBkYXRlRmlsdGVyKF8pe3RoaXMuZmlsdGVyPV8sdGhpcy5zZWxlY3RlZEluZGV4PTB9bmF2aWdhdGUoXyl7bGV0IHo9dGhpcy5nZXRGaWx0ZXJlZE1lbnVJdGVtcygpO189PT0iZG93biI/dGhpcy5zZWxlY3RlZEluZGV4PSh0aGlzLnNlbGVjdGVkSW5kZXgrMSklei5sZW5ndGg6dGhpcy5zZWxlY3RlZEluZGV4PXRoaXMuc2VsZWN0ZWRJbmRleD09PTA/ei5sZW5ndGgtMTp0aGlzLnNlbGVjdGVkSW5kZXgtMX1zZWxlY3RDdXJyZW50KCl7bGV0IF89dGhpcy5nZXRGaWx0ZXJlZE1lbnVJdGVtcygpO19bdGhpcy5zZWxlY3RlZEluZGV4XSYmdGhpcy5zZWxlY3RJdGVtKF9bdGhpcy5zZWxlY3RlZEluZGV4XS50eXBlKX1maXJzdFVwZGF0ZWQoKXt0aGlzLnNoYWRvd1Jvb3QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixfPT57bGV0IHo9XyxPPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnNsYXNoLW1lbnUiKTtPJiZPLmNvbnRhaW5zKHoudGFyZ2V0KSYmKHoucHJldmVudERlZmF1bHQoKSx6LnN0b3BQcm9wYWdhdGlvbigpKX0pLHRoaXMuc2hhZG93Um9vdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsXz0+e2xldCB6PV8sVD16LnRhcmdldC5jbG9zZXN0KCIuc2xhc2gtbWVudS1pdGVtIik7aWYoVCl7ei5wcmV2ZW50RGVmYXVsdCgpLHouc3RvcFByb3BhZ2F0aW9uKCk7bGV0IFA9VC5nZXRBdHRyaWJ1dGUoImRhdGEtaXRlbS10eXBlIik7UCYmdGhpcy5zZWxlY3RJdGVtKFApfX0pLHRoaXMuc2hhZG93Um9vdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixfPT57bGV0IFQ9Xy50YXJnZXQuY2xvc2VzdCgiLnNsYXNoLW1lbnUtaXRlbSIpO2lmKFQpe2xldCBQPXBhcnNlSW50KFQuZ2V0QXR0cmlidXRlKCJkYXRhLWl0ZW0taW5kZXgiKXx8IjAiLDEwKTt0aGlzLnNlbGVjdGVkSW5kZXg9UH19LCEwKSx0aGlzLnNoYWRvd1Jvb3QuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLF89PntsZXQgej1fLE89dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuc2xhc2gtbWVudSIpO08mJk8uY29udGFpbnMoei50YXJnZXQpJiYoei5wcmV2ZW50RGVmYXVsdCgpLHouc3RvcFByb3BhZ2F0aW9uKCkpfSwhMCl9c3RhdGlje0kxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBydCxVMj1mKCgpPT57cnQ9Y2xhc3N7c3RhdGlje3ModGhpcywiV3lzaXd5Z1NlbGVjdGlvbiIpfXN0YXRpYyBnZXRTZWxlY3Rpb25JbmZvKC4uLmUpe2xldCB0PXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihjb25zb2xlLmxvZygiV3lzaXd5Z1NlbGVjdGlvbi5nZXRTZWxlY3Rpb25JbmZvIC0gc2VsZWN0aW9uOiIsdCwicmFuZ2VDb3VudDoiLHQ/LnJhbmdlQ291bnQpLCF0KXJldHVybiBudWxsO2lmKCJnZXRDb21wb3NlZFJhbmdlcyJpbiB0JiZ0eXBlb2YgdC5nZXRDb21wb3NlZFJhbmdlcz09ImZ1bmN0aW9uIil7Y29uc29sZS5sb2coIlVzaW5nIGdldENvbXBvc2VkUmFuZ2VzIHdpdGgiLGUubGVuZ3RoLCJzaGFkb3cgcm9vdHMiKTt0cnl7bGV0IHI9dC5nZXRDb21wb3NlZFJhbmdlcyh7c2hhZG93Um9vdHM6ZX0pO2lmKGNvbnNvbGUubG9nKCJnZXRDb21wb3NlZFJhbmdlcyByZXR1cm5lZCIsci5sZW5ndGgsInJhbmdlcyIpLHIubGVuZ3RoPjApe2xldCBpPXJbMF07cmV0dXJue3N0YXJ0Q29udGFpbmVyOmkuc3RhcnRDb250YWluZXIsc3RhcnRPZmZzZXQ6aS5zdGFydE9mZnNldCxlbmRDb250YWluZXI6aS5lbmRDb250YWluZXIsZW5kT2Zmc2V0OmkuZW5kT2Zmc2V0LGNvbGxhcHNlZDppLmNvbGxhcHNlZH19fWNhdGNoKHIpe2NvbnNvbGUud2FybigiZ2V0Q29tcG9zZWRSYW5nZXMgZmFpbGVkLCBmYWxsaW5nIGJhY2sgdG8gZ2V0UmFuZ2VBdDoiLHIpfX1lbHNlIGNvbnNvbGUubG9nKCJnZXRDb21wb3NlZFJhbmdlcyBub3QgYXZhaWxhYmxlLCB1c2luZyBmYWxsYmFjayIpO2lmKHQucmFuZ2VDb3VudD4wKXtsZXQgcj10LmdldFJhbmdlQXQoMCk7cmV0dXJue3N0YXJ0Q29udGFpbmVyOnIuc3RhcnRDb250YWluZXIsc3RhcnRPZmZzZXQ6ci5zdGFydE9mZnNldCxlbmRDb250YWluZXI6ci5lbmRDb250YWluZXIsZW5kT2Zmc2V0OnIuZW5kT2Zmc2V0LGNvbGxhcHNlZDpyLmNvbGxhcHNlZH19cmV0dXJuIG51bGx9c3RhdGljIGlzU2VsZWN0aW9uSW5FbGVtZW50KGUsdCl7bGV0IHI9dD90aGlzLmdldFNlbGVjdGlvbkluZm8odCk6dGhpcy5nZXRTZWxlY3Rpb25JbmZvKCk7cmV0dXJuIHI/ZS5jb250YWlucyhyLnN0YXJ0Q29udGFpbmVyKXx8ZS5jb250YWlucyhyLmVuZENvbnRhaW5lcik6ITF9c3RhdGljIGdldFNlbGVjdGVkVGV4dCgpe2xldCBlPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtyZXR1cm4gZT9lLnRvU3RyaW5nKCk6IiJ9c3RhdGljIGNyZWF0ZVJhbmdlRnJvbUluZm8oZSl7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gdC5zZXRTdGFydChlLnN0YXJ0Q29udGFpbmVyLGUuc3RhcnRPZmZzZXQpLHQuc2V0RW5kKGUuZW5kQ29udGFpbmVyLGUuZW5kT2Zmc2V0KSx0fXN0YXRpYyBzZXRTZWxlY3Rpb25Gcm9tUmFuZ2UoZSl7bGV0IHQ9d2luZG93LmdldFNlbGVjdGlvbigpO3QmJih0LnJlbW92ZUFsbFJhbmdlcygpLHQuYWRkUmFuZ2UoZSkpfXN0YXRpYyBnZXRDdXJzb3JQb3NpdGlvbkluRWxlbWVudChlLC4uLnQpe2xldCByPXQubGVuZ3RoPjA/dGhpcy5nZXRTZWxlY3Rpb25JbmZvKC4uLnQpOnRoaXMuZ2V0U2VsZWN0aW9uSW5mbygpO2lmKCFyfHwhci5jb2xsYXBzZWQpcmV0dXJuIG51bGw7dHJ5e2xldCBpPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7aWYoaS5zZWxlY3ROb2RlQ29udGVudHMoZSksdGhpcy5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShlLHIuc3RhcnRDb250YWluZXIpKXJldHVybiBpLnNldEVuZChyLnN0YXJ0Q29udGFpbmVyLHIuc3RhcnRPZmZzZXQpLGkudG9TdHJpbmcoKS5sZW5ndGg7e2xldCBuPWUudGV4dENvbnRlbnR8fCIiLGw9ci5zdGFydENvbnRhaW5lci50ZXh0Q29udGVudHx8IiI7cmV0dXJuIHIuc3RhcnRPZmZzZXQ9PT0wPzA6ci5zdGFydE9mZnNldD09PWwubGVuZ3RoP24ubGVuZ3RoOihjb25zb2xlLndhcm4oIlNlbGVjdGlvbiBjb250YWluZXIgbm90IHdpdGhpbiBlbGVtZW50LCB1c2luZyB0ZXh0IG1hdGNoaW5nIGZhbGxiYWNrIiksci5zdGFydE9mZnNldCl9fWNhdGNoKGkpe3JldHVybiBjb25zb2xlLndhcm4oIkZhaWxlZCB0byBnZXQgY3Vyc29yIHBvc2l0aW9uOiIsaSksbnVsbH19c3RhdGljIGdldEN1cnNvclBvc2l0aW9uRnJvbVBvaW50KGUsdCxyLC4uLmkpe2lmKCJjYXJldFBvc2l0aW9uRnJvbVBvaW50ImluIGRvY3VtZW50JiZkb2N1bWVudC5jYXJldFBvc2l0aW9uRnJvbVBvaW50KXtsZXQgbz1udWxsO3RyeXtvPWRvY3VtZW50LmNhcmV0UG9zaXRpb25Gcm9tUG9pbnQoZSx0LC4uLmkpfWNhdGNoe289ZG9jdW1lbnQuY2FyZXRQb3NpdGlvbkZyb21Qb2ludChlLHQpfWlmKG8mJnIuY29udGFpbnMoby5vZmZzZXROb2RlKSlyZXR1cm4gdGhpcy5nZXRPZmZzZXRJbkVsZW1lbnQoby5vZmZzZXROb2RlLG8ub2Zmc2V0LHIpfWlmKCJjYXJldFJhbmdlRnJvbVBvaW50ImluIGRvY3VtZW50KXtsZXQgbz1kb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KGUsdCk7aWYobyYmci5jb250YWlucyhvLnN0YXJ0Q29udGFpbmVyKSlyZXR1cm4gdGhpcy5nZXRPZmZzZXRJbkVsZW1lbnQoby5zdGFydENvbnRhaW5lcixvLnN0YXJ0T2Zmc2V0LHIpfXJldHVybiBudWxsfXN0YXRpYyBnZXRPZmZzZXRJbkVsZW1lbnQoZSx0LHIpe2xldCBpPTAsbz0hMSxuPWRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIocixOb2RlRmlsdGVyLlNIT1dfVEVYVCxudWxsKSxsO2Zvcig7bD1uLm5leHROb2RlKCk7KWlmKGw9PT1lKXtpKz10LG89ITA7YnJlYWt9ZWxzZSBpKz1sLnRleHRDb250ZW50Py5sZW5ndGh8fDA7cmV0dXJuIG8/aTowfXN0YXRpYyBzZXRDdXJzb3JQb3NpdGlvbihlLHQpe2xldCByPWRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIoZSxOb2RlRmlsdGVyLlNIT1dfVEVYVCxudWxsKSxpPTAsbz1udWxsLG49MDtmb3IoO3IubmV4dE5vZGUoKTspe2xldCBsPXIuY3VycmVudE5vZGUsZD1sLnRleHRDb250ZW50Py5sZW5ndGh8fDA7aWYoaStkPj10KXtvPWwsbj10LWk7YnJlYWt9aSs9ZH1pZihvKXtsZXQgbD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO2wuc2V0U3RhcnQobyxuKSxsLmNvbGxhcHNlKCEwKSx0aGlzLnNldFNlbGVjdGlvbkZyb21SYW5nZShsKX19c3RhdGljIGNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKGUsdCl7aWYoIWV8fCF0KXJldHVybiExO2xldCByPXQ7Zm9yKDtyOyl7aWYocj09PWUpcmV0dXJuITA7aWYoci5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSYmci5ob3N0KXtsZXQgaT1yO2lmKGkuY29udGFpbnMoZSkpcmV0dXJuITE7cj1pLmhvc3R9ZWxzZSByPXIucGFyZW50Tm9kZX1yZXR1cm4hMX19fSk7dmFyIGZjLFhZZT1mKCgpPT57bGUoKTtVMigpO2ZjPWNsYXNze3N0YXRpY3tzKHRoaXMsIld5c2l3eWdGb3JtYXR0aW5nIil9c3RhdGljIGZvcm1hdEJ1dHRvbnM9W3tjb21tYW5kOiJib2xkIixpY29uOiJCIixsYWJlbDoiQm9sZCIsc2hvcnRjdXQ6Ilx1MjMxOEIifSx7Y29tbWFuZDoiaXRhbGljIixpY29uOiJJIixsYWJlbDoiSXRhbGljIixzaG9ydGN1dDoiXHUyMzE4SSJ9LHtjb21tYW5kOiJ1bmRlcmxpbmUiLGljb246IlUiLGxhYmVsOiJVbmRlcmxpbmUiLHNob3J0Y3V0OiJcdTIzMThVIn0se2NvbW1hbmQ6InN0cmlrZVRocm91Z2giLGljb246IlNcdTAzMzYiLGxhYmVsOiJTdHJpa2V0aHJvdWdoIn0se2NvbW1hbmQ6ImNvZGUiLGljb246InsgfSIsbGFiZWw6IklubGluZSBDb2RlIn0se2NvbW1hbmQ6ImxpbmsiLGljb246Ilx1ezFGNTE3fSIsbGFiZWw6IkxpbmsiLHNob3J0Y3V0OiJcdTIzMThLIn1dO3N0YXRpYyByZW5kZXJGb3JtYXR0aW5nTWVudShlLHQpe3JldHVybiB3YAogICAgICA8ZGl2IAogICAgICAgIGNsYXNzPSJmb3JtYXR0aW5nLW1lbnUiIAogICAgICAgIHN0eWxlPSJ0b3A6ICR7ZS55fXB4OyBsZWZ0OiAke2UueH1weDsiCiAgICAgICAgQG1vdXNlZG93bj0iJHtyPT57ci5wcmV2ZW50RGVmYXVsdCgpLHIuc3RvcFByb3BhZ2F0aW9uKCl9fSIKICAgICAgICBAY2xpY2s9IiR7cj0+ci5zdG9wUHJvcGFnYXRpb24oKX0iCiAgICAgID4KICAgICAgICAke3RoaXMuZm9ybWF0QnV0dG9ucy5tYXAocj0+d2AKICAgICAgICAgIDxidXR0b24gCiAgICAgICAgICAgIGNsYXNzPSJmb3JtYXQtYnV0dG9uICR7ci5jb21tYW5kfSIKICAgICAgICAgICAgQGNsaWNrPSIkeygpPT50KHIuY29tbWFuZCl9IgogICAgICAgICAgICB0aXRsZT0iJHtyLmxhYmVsfSR7ci5zaG9ydGN1dD9gICgke3Iuc2hvcnRjdXR9KWA6IiJ9IgogICAgICAgICAgPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iJHtyLmNvbW1hbmQ9PT0iY29kZSI/ImNvZGUtaWNvbiI6IiJ9Ij4ke3IuaWNvbn08L3NwYW4+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICBgKX0KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpYyBhcHBseUZvcm1hdChlLHQscixpKXtsZXQgbztpZihyKW89cjtlbHNle2xldCBuPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighbnx8bi5yYW5nZUNvdW50PT09MClyZXR1cm4hMTtvPW4uZ2V0UmFuZ2VBdCgwKX1zd2l0Y2goZSl7Y2FzZSJib2xkIjp0aGlzLndyYXBTZWxlY3Rpb24obywic3Ryb25nIik7YnJlYWs7Y2FzZSJpdGFsaWMiOnRoaXMud3JhcFNlbGVjdGlvbihvLCJlbSIpO2JyZWFrO2Nhc2UidW5kZXJsaW5lIjp0aGlzLndyYXBTZWxlY3Rpb24obywidSIpO2JyZWFrO2Nhc2Uic3RyaWtlVGhyb3VnaCI6dGhpcy53cmFwU2VsZWN0aW9uKG8sInMiKTticmVhaztjYXNlImNvZGUiOnRoaXMud3JhcFNlbGVjdGlvbihvLCJjb2RlIik7YnJlYWs7Y2FzZSJsaW5rIjppZighdClyZXR1cm4hMTt0aGlzLndyYXBTZWxlY3Rpb25XaXRoTGluayhvLHQpO2JyZWFrfWlmKGkmJmkubGVuZ3RoPjApcnQuc2V0U2VsZWN0aW9uRnJvbVJhbmdlKG8pO2Vsc2V7bGV0IG49d2luZG93LmdldFNlbGVjdGlvbigpO24mJihuLnJlbW92ZUFsbFJhbmdlcygpLG4uYWRkUmFuZ2UobykpfXJldHVybiEwfXN0YXRpYyB3cmFwU2VsZWN0aW9uKGUsdCl7bGV0IHI9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFyKXJldHVybjtpZih0aGlzLnNlbGVjdGlvbkNvbnRhaW5zVGFnKGUsdCkpdGhpcy5yZW1vdmVUYWdGcm9tU2VsZWN0aW9uKGUsdCk7ZWxzZXtsZXQgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3RyeXtsZXQgbj1lLmV4dHJhY3RDb250ZW50cygpO28uYXBwZW5kQ2hpbGQobiksZS5pbnNlcnROb2RlKG8pLGUuc2VsZWN0Tm9kZUNvbnRlbnRzKG8pLHIucmVtb3ZlQWxsUmFuZ2VzKCksci5hZGRSYW5nZShlKX1jYXRjaChuKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gd3JhcCBzZWxlY3Rpb246IixuKX19fXN0YXRpYyBzZWxlY3Rpb25Db250YWluc1RhZyhlLHQpe2xldCByPWUuc3RhcnRDb250YWluZXI7Zm9yKDtyJiZyIT09ZS5jb21tb25BbmNlc3RvckNvbnRhaW5lci5vd25lckRvY3VtZW50Oyl7aWYoci5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZyLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PXQpcmV0dXJuITA7cj1yLnBhcmVudE5vZGV9Zm9yKHI9ZS5lbmRDb250YWluZXI7ciYmciE9PWUuY29tbW9uQW5jZXN0b3JDb250YWluZXIub3duZXJEb2N1bWVudDspe2lmKHIubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmci50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT10KXJldHVybiEwO3I9ci5wYXJlbnROb2RlfWxldCBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG89ZS5jbG9uZUNvbnRlbnRzKCk7cmV0dXJuIGkuYXBwZW5kQ2hpbGQobyksaS5nZXRFbGVtZW50c0J5VGFnTmFtZSh0KS5sZW5ndGg+MH1zdGF0aWMgcmVtb3ZlVGFnRnJvbVNlbGVjdGlvbihlLHQpe2xldCByPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighcilyZXR1cm47bGV0IGk9ZS5jbG9uZVJhbmdlKCksbz1lLnN0YXJ0Q29udGFpbmVyLG49bnVsbDtmb3IoO28mJm8hPT1lLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm93bmVyRG9jdW1lbnQ7KXtpZihvLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJm8udGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09dCl7bj1vO2JyZWFrfW89by5wYXJlbnROb2RlfWxldCBsPWUuZW5kQ29udGFpbmVyLGQ9bnVsbDtmb3IoO2wmJmwhPT1lLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm93bmVyRG9jdW1lbnQ7KXtpZihsLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJmwudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09dCl7ZD1sO2JyZWFrfWw9bC5wYXJlbnROb2RlfW4mJmkuc2V0U3RhcnRCZWZvcmUobiksZCYmaS5zZXRFbmRBZnRlcihkKTtsZXQgYz1pLmV4dHJhY3RDb250ZW50cygpLHA9dGhpcy5yZW1vdmVUYWdzRnJvbUZyYWdtZW50KGMsdCk7aS5pbnNlcnROb2RlKHApO2xldCB1PVtdLG09ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihwLE5vZGVGaWx0ZXIuU0hPV19URVhULG51bGwpLHY7Zm9yKDt2PW0ubmV4dE5vZGUoKTspdS5wdXNoKHYpO2lmKHUubGVuZ3RoPjApe2xldCB4PWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7eC5zZXRTdGFydCh1WzBdLDApLHguc2V0RW5kKHVbdS5sZW5ndGgtMV0sdVt1Lmxlbmd0aC0xXS50ZXh0Q29udGVudD8ubGVuZ3RofHwwKSxyLnJlbW92ZUFsbFJhbmdlcygpLHIuYWRkUmFuZ2UoeCl9fXN0YXRpYyByZW1vdmVUYWdzRnJvbUZyYWdtZW50KGUsdCl7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5hcHBlbmRDaGlsZChlKTtsZXQgaT1yLmdldEVsZW1lbnRzQnlUYWdOYW1lKHQpO0FycmF5LmZyb20oaSkuZm9yRWFjaChsPT57bGV0IGQ9bC5wYXJlbnROb2RlO2lmKGQpe2Zvcig7bC5maXJzdENoaWxkOylkLmluc2VydEJlZm9yZShsLmZpcnN0Q2hpbGQsbCk7ZC5yZW1vdmVDaGlsZChsKX19KTtsZXQgbj1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Zm9yKDtyLmZpcnN0Q2hpbGQ7KW4uYXBwZW5kQ2hpbGQoci5maXJzdENoaWxkKTtyZXR1cm4gbn1zdGF0aWMgd3JhcFNlbGVjdGlvbldpdGhMaW5rKGUsdCl7bGV0IHI9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFyKXJldHVybjt0aGlzLnNlbGVjdGlvbkNvbnRhaW5zVGFnKGUsImEiKSYmKHRoaXMucmVtb3ZlVGFnRnJvbVNlbGVjdGlvbihlLCJhIiksci5yYW5nZUNvdW50PjAmJihlPXIuZ2V0UmFuZ2VBdCgwKSkpO2xldCBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtpLmhyZWY9dCxpLnRhcmdldD0iX2JsYW5rIixpLnJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI7dHJ5e2xldCBvPWUuZXh0cmFjdENvbnRlbnRzKCk7aS5hcHBlbmRDaGlsZChvKSxlLmluc2VydE5vZGUoaSksZS5zZWxlY3ROb2RlQ29udGVudHMoaSksci5yZW1vdmVBbGxSYW5nZXMoKSxyLmFkZFJhbmdlKGUpfWNhdGNoKG8pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgbGluazoiLG8pfX1zdGF0aWMgZ2V0U2VsZWN0aW9uQ29vcmRpbmF0ZXMoLi4uZSl7bGV0IHQ9cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi5lKTtpZihjb25zb2xlLmxvZygiZ2V0U2VsZWN0aW9uQ29vcmRpbmF0ZXMgLSBzZWxlY3Rpb25JbmZvOiIsdCksIXQpcmV0dXJuIGNvbnNvbGUubG9nKCJObyBzZWxlY3Rpb24gaW5mbyBhdmFpbGFibGUiKSxudWxsO2xldCBpPXJ0LmNyZWF0ZVJhbmdlRnJvbUluZm8odCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoY29uc29sZS5sb2coIlJhbmdlIHJlY3Q6IixpKSxpLndpZHRoPT09MCYmaS5oZWlnaHQ9PT0wKXtpZihjb25zb2xlLmxvZygiUmVjdCB3aWR0aCBhbmQgaGVpZ2h0IGFyZSAwLCB0cnlpbmcgZGlmZmVyZW50IGFwcHJvYWNoIiksImNhcmV0UG9zaXRpb25Gcm9tUG9pbnQiaW4gZG9jdW1lbnQpe2xldCBuPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihuJiZuLnJhbmdlQ291bnQ+MCl7bGV0IGw9bi5nZXRSYW5nZUF0KDApLGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2QudGV4dENvbnRlbnQ9Ilx1MjAwQiIsbC5pbnNlcnROb2RlKGQpO2xldCBjPWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoZC5yZW1vdmUoKSxjLndpZHRoPjB8fGMuaGVpZ2h0PjApe2xldCBwPXt4OmMubGVmdCx5Ok1hdGgubWF4KDQ1LGMudG9wLTQ1KX07cmV0dXJuIGNvbnNvbGUubG9nKCJVc2VkIHNwYW4gdHJpY2sgZm9yIGNvb3JkczoiLHApLHB9fX1yZXR1cm4gbnVsbH1sZXQgbz17eDppLmxlZnQraS53aWR0aC8yLHk6TWF0aC5tYXgoNDUsaS50b3AtNDUpfTtyZXR1cm4gY29uc29sZS5sb2coIlJldHVybmluZyBjb29yZHM6IixvKSxvfX19KTt2YXIga2FlLFBmLFNhZSxRWWU9ZigoKT0+e2xlKCk7R2koKTtYWWUoKTtRZSgpO2thZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUGY9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFNhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtZm9ybWF0dGluZy1tZW51IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNGb3JtYXR0aW5nTWVudSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVtLKCldLGthZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InZpc2libGUiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy52aXNpYmxlLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cudmlzaWJsZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksa2FlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InBvc2l0aW9uImluIGcsImhhcyIpLGdldDpzKGc9PmcucG9zaXRpb24sImdldCIpLHNldDpzKChnLHkpPT57Zy5wb3NpdGlvbj15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksa2FlKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudVpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ibWVudVpJbmRleCJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLm1lbnVaSW5kZXgsImdldCIpLHNldDpzKChnLHkpPT57Zy5tZW51WkluZGV4PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxrYWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgaW5zdGFuY2U7c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIHguaW5zdGFuY2V8fCh4Lmluc3RhbmNlPW5ldyB4LGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoeC5pbnN0YW5jZSkpLHguaW5zdGFuY2V9I2U9UGYodGhpcyxuLCExKTtnZXQgdmlzaWJsZSgpe3JldHVybiB0aGlzLiNlfXNldCB2aXNpYmxlKGIpe3RoaXMuI2U9Yn0jdD0oUGYodGhpcyxsKSxQZih0aGlzLGMse3g6MCx5OjB9KSk7Z2V0IHBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBvc2l0aW9uKGIpe3RoaXMuI3Q9Yn0jYT0oUGYodGhpcyxwKSxQZih0aGlzLG0sMWUzKSk7Z2V0IG1lbnVaSW5kZXgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbWVudVpJbmRleChiKXt0aGlzLiNhPWJ9Y2FsbGJhY2s9KFBmKHRoaXMsdiksbnVsbCk7c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICB9CgogICAgICAuZm9ybWF0dGluZy1tZW51IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMjYyNjI2Iil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTBlMGUwIiwiIzQwNDA0MCIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTUpOwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMnB4OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGFuaW1hdGlvbjogZmFkZUluU2NhbGUgMC4xNXMgZWFzZS1vdXQ7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgZmFkZUluU2NhbGUgewogICAgICAgIGZyb20gewogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSkgdHJhbnNsYXRlWSg1cHgpOwogICAgICAgIH0KICAgICAgICB0byB7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLmZvcm1hdC1idXR0b24gewogICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDAwMDAwIiwiI2UwZTBlMCIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5mb3JtYXQtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2YwZjBmMCIsIiMzMzMzMzMiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDA2NmNjIiwiIzRkOTRmZiIpfTsKICAgICAgfQoKICAgICAgLmZvcm1hdC1idXR0b246YWN0aXZlIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOwogICAgICB9CgogICAgICAuZm9ybWF0LWJ1dHRvbi5ib2xkIHsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICB9CgogICAgICAuZm9ybWF0LWJ1dHRvbi5pdGFsaWMgewogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLmZvcm1hdC1idXR0b24udW5kZXJsaW5lIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLmZvcm1hdC1idXR0b24gLmNvZGUtaWNvbiB7CiAgICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgJ01vbmFjbycsICdJbmNvbnNvbGF0YScsICdGaXJhIENvZGUnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gdGhpcy52aXNpYmxlPyh0aGlzLnN0eWxlLnpJbmRleD10aGlzLm1lbnVaSW5kZXgudG9TdHJpbmcoKSx3YAogICAgICA8ZGl2IAogICAgICAgIGNsYXNzPSJmb3JtYXR0aW5nLW1lbnUiIAogICAgICAgIHN0eWxlPSJsZWZ0OiAke3RoaXMucG9zaXRpb24ueH1weDsgdG9wOiAke3RoaXMucG9zaXRpb24ueX1weDsiCiAgICAgICAgdGFiaW5kZXg9Ii0xIgogICAgICAgIGRhdGEtbWVudS10eXBlPSJmb3JtYXR0aW5nIgogICAgICA+CiAgICAgICAgJHtmYy5mb3JtYXRCdXR0b25zLm1hcChiPT53YAogICAgICAgICAgPGJ1dHRvbiAKICAgICAgICAgICAgY2xhc3M9ImZvcm1hdC1idXR0b24gJHtiLmNvbW1hbmR9IgogICAgICAgICAgICBkYXRhLWNvbW1hbmQ9IiR7Yi5jb21tYW5kfSIKICAgICAgICAgICAgdGl0bGU9IiR7Yi5sYWJlbH0ke2Iuc2hvcnRjdXQ/YCAoJHtiLnNob3J0Y3V0fSlgOiIifSIKICAgICAgICAgID4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9IiR7Yi5jb21tYW5kPT09ImNvZGUiPyJjb2RlLWljb24iOiIifSI+JHtiLmljb259PC9zcGFuPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYCk6d2BgfWFwcGx5Rm9ybWF0KGIpe3RoaXMuY2FsbGJhY2smJnRoaXMuY2FsbGJhY2soYiksYj09PSJsaW5rIiYmdGhpcy5oaWRlKCl9c2hvdyhiLGcpe2NvbnNvbGUubG9nKCJGb3JtYXR0aW5nTWVudS5zaG93IGNhbGxlZDoiLHtwb3NpdGlvbjpiLHZpc2libGU6dGhpcy52aXNpYmxlfSksdGhpcy5wb3NpdGlvbj1iLHRoaXMuY2FsbGJhY2s9Zyx0aGlzLm1lbnVaSW5kZXg9WHQuZ2V0TmV4dFpJbmRleCgpLFh0LnJlZ2lzdGVyKHRoaXMsdGhpcy5tZW51WkluZGV4KSx0aGlzLnN0eWxlLnpJbmRleD10aGlzLm1lbnVaSW5kZXgudG9TdHJpbmcoKSx0aGlzLnZpc2libGU9ITB9aGlkZSgpe3RoaXMudmlzaWJsZT0hMSx0aGlzLmNhbGxiYWNrPW51bGwsWHQudW5yZWdpc3Rlcih0aGlzKX11cGRhdGVQb3NpdGlvbihiKXt0aGlzLnBvc2l0aW9uPWJ9Zmlyc3RVcGRhdGVkKCl7dGhpcy5zaGFkb3dSb290LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsYj0+e2xldCBnPWIseT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5mb3JtYXR0aW5nLW1lbnUiKTt5JiZ5LmNvbnRhaW5zKGcudGFyZ2V0KSYmKGcucHJldmVudERlZmF1bHQoKSxnLnN0b3BQcm9wYWdhdGlvbigpKX0pLHRoaXMuc2hhZG93Um9vdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYj0+e2xldCBnPWIsaz1nLnRhcmdldC5jbG9zZXN0KCIuZm9ybWF0LWJ1dHRvbiIpO2lmKGspe2cucHJldmVudERlZmF1bHQoKSxnLnN0b3BQcm9wYWdhdGlvbigpO2xldCBDPWsuZ2V0QXR0cmlidXRlKCJkYXRhLWNvbW1hbmQiKTtDJiZ0aGlzLmFwcGx5Rm9ybWF0KEMpfX0pLHRoaXMuc2hhZG93Um9vdC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsYj0+e2xldCBnPWIseT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5mb3JtYXR0aW5nLW1lbnUiKTt5JiZ5LmNvbnRhaW5zKGcudGFyZ2V0KSYmKGcucHJldmVudERlZmF1bHQoKSxnLnN0b3BQcm9wYWdhdGlvbigpKX0sITApfXN0YXRpY3tQZihyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgY209ZigoKT0+e2xlKCk7SW8oKTtaWWUoKTtRWWUoKX0pO3ZhciBFVSx6YWU9ZigoKT0+e0VVPVsiSmF2YVNjcmlwdCIsIlR5cGVTY3JpcHQiLCJQeXRob24iLCJKYXZhIiwiQysrIiwiQyMiLCJHbyIsIlJ1c3QiLCJIVE1MIiwiQ1NTIiwiU1FMIiwiU2hlbGwiLCJKU09OIiwiWUFNTCIsIk1hcmtkb3duIiwiUGxhaW4gVGV4dCJdfSk7dmFyIEpZZSxkaWE9ZigoKT0+e2xlKCk7SlllPVhgCiAgOmhvc3QgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgfQoKICAud3lzaXd5Zy1jb250YWluZXIgewogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgbWluLWhlaWdodDogMjAwcHg7CiAgICBwYWRkaW5nOiAyNHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAud3lzaXd5Zy1jb250YWluZXI6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2QxZDVkYiIsIiMzZjNmNDYiKX07CiAgfQoKICAud3lzaXd5Zy1jb250YWluZXI6Zm9jdXMtd2l0aGluIHsKICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7CiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9LCAwIDAgMCA0cHggJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjUpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuNSkiKX07CiAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICB9CgogIC8qIFZpc3VhbCBoaW50IGZvciB0ZXh0IHNlbGVjdGlvbiAqLwogIC5lZGl0b3ItY29udGVudDpob3ZlciB7CiAgICBjdXJzb3I6IHRleHQ7CiAgfQoKICAuZWRpdG9yLWNvbnRlbnQgewogICAgb3V0bGluZTogbm9uZTsKICAgIG1pbi1oZWlnaHQ6IDE2MHB4OwogICAgbWFyZ2luOiAwIC04cHg7CiAgICBwYWRkaW5nOiAwIDhweDsKICB9CgogIC5ibG9jayB7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiA0cHggMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgbWluLWhlaWdodDogMS42ZW07CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLyogRmlyc3QgYW5kIGxhc3QgYmxvY2tzIGRvbid0IG5lZWQgZXh0cmEgc3BhY2luZyAqLwogIC5ibG9jay13cmFwcGVyOmZpcnN0LWNoaWxkIC5ibG9jayB7CiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7CiAgfQoKICAuYmxvY2std3JhcHBlcjpsYXN0LWNoaWxkIC5ibG9jayB7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogIH0KCiAgLmJsb2NrLnNlbGVjdGVkIHsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSkiKX07CiAgICBvdXRsaW5lOiAycHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIG1hcmdpbi1sZWZ0OiAtOHB4OwogICAgbWFyZ2luLXJpZ2h0OiAtOHB4OwogICAgcGFkZGluZy1sZWZ0OiA4cHg7CiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7CiAgfQoKICAuYmxvY2tbY29udGVudGVkaXRhYmxlXSB7CiAgICBvdXRsaW5lOiBub25lOwogIH0KCiAgLmJsb2NrLnBhcmFncmFwaCB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICB9CgogIC5ibG9jay5wYXJhZ3JhcGg6ZW1wdHk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiVHlwZSAnLycgZm9yIGNvbW1hbmRzLi4uIjsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmb250LXdlaWdodDogNDAwOwogIH0KCiAgLmJsb2NrLmhlYWRpbmctMSB7CiAgICBmb250LXNpemU6IDMycHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAuYmxvY2suaGVhZGluZy0xOmVtcHR5OjpiZWZvcmUgewogICAgY29udGVudDogIkhlYWRpbmcgMSI7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBmb250LXNpemU6IDMycHg7CiAgICBsaW5lLWhlaWdodDogMS4yOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICB9CgogIC5ibG9jay5oZWFkaW5nLTIgewogICAgZm9udC1zaXplOiAyNHB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLmJsb2NrLmhlYWRpbmctMjplbXB0eTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJIZWFkaW5nIDIiOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgZm9udC1zaXplOiAyNHB4OwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgfQoKICAuYmxvY2suaGVhZGluZy0zIHsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBsaW5lLWhlaWdodDogMS40OwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICB9CgogIC5ibG9jay5oZWFkaW5nLTM6ZW1wdHk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiSGVhZGluZyAzIjsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICBmb250LXdlaWdodDogNjAwOwogIH0KCiAgLmJsb2NrLnF1b3RlIHsKICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgbWFyZ2luLXJpZ2h0OiAwOwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICB9CgogIC5ibG9jay5xdW90ZTplbXB0eTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJRdW90ZSI7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICB9CgogIC5jb2RlLWJsb2NrLWNvbnRhaW5lciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtYXJnaW46IDIwcHggMDsKICB9CgogIC5jb2RlLWxhbmd1YWdlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIHJpZ2h0OiAwOwogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgYm9yZGVyLXJhZGl1czogMCA0cHggMCA0cHg7CiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOwogICAgei1pbmRleDogMTsKICB9CgogIC5ibG9jay5jb2RlIHsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIHBhZGRpbmc6IDE2cHg7CiAgICBwYWRkaW5nLXRvcDogMzJweDsgLyogTWFrZSByb29tIGZvciBsYW5ndWFnZSBpbmRpY2F0b3IgKi8KICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICBvdmVyZmxvdy14OiBhdXRvOwogIH0KCiAgLmJsb2NrLmNvZGU6ZW1wdHk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiLy8gQ29kZSBibG9jayI7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmb250LXdlaWdodDogNDAwOwogIH0KCiAgLmJsb2NrLmxpc3QgewogICAgcGFkZGluZy1sZWZ0OiAwOwogIH0KCiAgLmJsb2NrLmxpc3QgdWwsCiAgLmJsb2NrLmxpc3Qgb2wgewogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMCAwIDAgMjRweDsKICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7CiAgfQoKICAuYmxvY2subGlzdCB1bCB7CiAgICBsaXN0LXN0eWxlOiBkaXNjOwogIH0KCiAgLmJsb2NrLmxpc3Qgb2wgewogICAgbGlzdC1zdHlsZTogZGVjaW1hbDsKICB9CgogIC5ibG9jay5saXN0IGxpIHsKICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgfQoKICAuYmxvY2subGlzdCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQoKICAuYmxvY2suZGl2aWRlciB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAyMHB4IDA7CiAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICB9CgogIC5ibG9jay5kaXZpZGVyIGhyIHsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBtYXJnaW46IDA7CiAgfQoKICAuc2xhc2gtbWVudSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA2KTsKICAgIHBhZGRpbmc6IDRweDsKICAgIHotaW5kZXg6IDEwMDA7CiAgICBtaW4td2lkdGg6IDIyMHB4OwogICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICB1c2VyLXNlbGVjdDogbm9uZTsKICB9CgogIC5zbGFzaC1tZW51LWl0ZW0gewogICAgcGFkZGluZzogOHB4IDEwcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxMnB4OwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIGZvbnQtc2l6ZTogMTRweDsKICB9CgogIC5zbGFzaC1tZW51LWl0ZW06aG92ZXIsCiAgLnNsYXNoLW1lbnUtaXRlbS5zZWxlY3RlZCB7CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLnNsYXNoLW1lbnUtaXRlbSAuaWNvbiB7CiAgICB3aWR0aDogMjRweDsKICAgIGhlaWdodDogMjRweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICB9CgogIC5zbGFzaC1tZW51LWl0ZW06aG92ZXIgLmljb24sCiAgLnNsYXNoLW1lbnUtaXRlbS5zZWxlY3RlZCAuaWNvbiB7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogIH0KCiAgLnRvb2xiYXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAtNDBweDsKICAgIGxlZnQ6IDA7CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA2KTsKICAgIHBhZGRpbmc6IDRweDsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBnYXA6IDRweDsKICAgIHotaW5kZXg6IDEwMDA7CiAgfQoKICAudG9vbGJhci52aXNpYmxlIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgfQoKICAudG9vbGJhci1idXR0b24gewogICAgd2lkdGg6IDMycHg7CiAgICBoZWlnaHQ6IDMycHg7CiAgICBib3JkZXI6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICB9CgogIC8qIERyYWcgYW5kIERyb3AgU3R5bGVzICovCiAgLmJsb2NrLXdyYXBwZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2U7CiAgfQoKICAvKiBFbnN1cmUgcHJvcGVyIHNwYWNpbmcgY29udGV4dCBmb3IgYmxvY2tzICovCiAgLmJsb2NrLXdyYXBwZXIgKyAuYmxvY2std3JhcHBlciAuYmxvY2sgewogICAgbWFyZ2luLXRvcDogMTZweDsKICB9CgogIC8qIE92ZXJyaWRlIGZvciBoZWFkaW5ncyBmb2xsb3dpbmcgb3RoZXIgYmxvY2tzICovCiAgLmJsb2NrLXdyYXBwZXIgKyAuYmxvY2std3JhcHBlciAuYmxvY2suaGVhZGluZy0xLAogIC5ibG9jay13cmFwcGVyICsgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLmhlYWRpbmctMiwKICAuYmxvY2std3JhcHBlciArIC5ibG9jay13cmFwcGVyIC5ibG9jay5oZWFkaW5nLTMgewogICAgbWFyZ2luLXRvcDogMjRweDsKICB9CgogIC8qIENvZGUgYW5kIHF1b3RlIGJsb2NrcyBuZWVkIGNvbnNpc3RlbnQgc3BhY2luZyAqLwogIC5ibG9jay13cmFwcGVyICsgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLmNvZGUsCiAgLmJsb2NrLXdyYXBwZXIgKyAuYmxvY2std3JhcHBlciAuYmxvY2sucXVvdGUgewogICAgbWFyZ2luLXRvcDogMjBweDsKICB9CgogIC5kcmFnLWhhbmRsZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAtMjhweDsKICAgIHRvcDogNTAlOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgd2lkdGg6IDI0cHg7CiAgICBoZWlnaHQ6IDI0cHg7CiAgICBjdXJzb3I6IGdyYWI7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICB9CgogIC5kcmFnLWhhbmRsZTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICLii67ii64iOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7CiAgfQoKICAuYmxvY2std3JhcHBlcjpob3ZlciAuZHJhZy1oYW5kbGUgewogICAgb3BhY2l0eTogMTsKICB9CgogIC5kcmFnLWhhbmRsZTpob3ZlciB7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogIH0KCiAgLmRyYWctaGFuZGxlOmFjdGl2ZSB7CiAgICBjdXJzb3I6IGdyYWJiaW5nOwogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogIH0KCiAgLmJsb2NrLXdyYXBwZXIuZHJhZ2dpbmcgewogICAgb3BhY2l0eTogMC44OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB6LWluZGV4OiAyMDAxOwogICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwogIH0KCgogIC8qIEJsb2NrcyB0aGF0IHNob3VsZCBtb3ZlIG91dCBvZiB0aGUgd2F5ICovCiAgLmJsb2NrLXdyYXBwZXIubW92ZS1kb3duIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1kcmFnLW9mZnNldCwgMHB4KSk7CiAgfQoKICAuYmxvY2std3JhcHBlci5tb3ZlLXVwIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0xICogdmFyKC0tZHJhZy1vZmZzZXQsIDBweCkpKTsKICB9CgogIC8qIERyb3AgaW5kaWNhdG9yICovCiAgLmRyb3AtaW5kaWNhdG9yIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSkiKX07CiAgICBib3JkZXI6IDJweCBkYXNoZWQgJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgZWFzZSwgaGVpZ2h0IDAuMnMgZWFzZTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgei1pbmRleDogMTk5OTsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgfQoKICAvKiBSZW1vdmUgb2xkIGRyYWctb3ZlciBzdHlsZXMgKi8KICAuYmxvY2std3JhcHBlci5kcmFnLW92ZXItYmVmb3JlLAogIC5ibG9jay13cmFwcGVyLmRyYWctb3Zlci1hZnRlciB7CiAgICAvKiBObyBsb25nZXIgbmVlZGVkLCB1c2luZyBkcm9wIGluZGljYXRvciBpbnN0ZWFkICovCiAgfQoKICAuZWRpdG9yLWNvbnRlbnQuZHJhZ2dpbmcgKiB7CiAgICB1c2VyLXNlbGVjdDogbm9uZTsKICB9CgogIC8qIEJsb2NrIFNldHRpbmdzIEJ1dHRvbiAtIFJlbW92ZWQgaW4gZmF2b3Igb2YgY29udGV4dCBtZW51ICovCgogIC8qIFRleHQgU2VsZWN0aW9uIFN0eWxlcyAqLwogIC5ibG9jayA6OnNlbGVjdGlvbiB7CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgIGNvbG9yOiBpbmhlcml0OwogIH0KCiAgLyogRm9ybWF0dGluZyBNZW51ICovCiAgLmZvcm1hdHRpbmctbWVudSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA2KTsKICAgIHBhZGRpbmc6IDRweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IDJweDsKICAgIHotaW5kZXg6IDEwMDE7CiAgICBhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0OwogIH0KCiAgQGtleWZyYW1lcyBmYWRlSW5TY2FsZSB7CiAgICBmcm9tIHsKICAgICAgb3BhY2l0eTogMDsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KSB0cmFuc2xhdGVZKDJweCk7CiAgICB9CiAgICB0byB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTsKICAgIH0KICB9CgogIC5mb3JtYXQtYnV0dG9uIHsKICAgIHdpZHRoOiAzMnB4OwogICAgaGVpZ2h0OiAzMnB4OwogICAgYm9yZGVyOiBub25lOwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CgogIC5mb3JtYXQtYnV0dG9uOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgfQoKICAuZm9ybWF0LWJ1dHRvbjphY3RpdmUgewogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsKICB9CgogIC5mb3JtYXQtYnV0dG9uLmJvbGQgewogICAgZm9udC13ZWlnaHQ6IDcwMDsKICB9CgogIC5mb3JtYXQtYnV0dG9uLml0YWxpYyB7CiAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgfQoKICAuZm9ybWF0LWJ1dHRvbi51bmRlcmxpbmUgewogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgfQoKICAuZm9ybWF0LWJ1dHRvbiAuY29kZS1pY29uIHsKICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAxMnB4OwogIH0KCiAgLyogQXBwbGllZCBmb3JtYXQgc3R5bGVzIGluIGNvbnRlbnQgKi8KICAuYmxvY2sgc3Ryb25nLAogIC5ibG9jayBiIHsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLmJsb2NrIGVtLAogIC5ibG9jayBpIHsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICB9CgogIC5ibG9jayB1IHsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogIH0KCiAgLmJsb2NrIHN0cmlrZSwKICAuYmxvY2sgcyB7CiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsKICAgIG9wYWNpdHk6IDAuNzsKICB9CgogIC5ibG9jayBjb2RlIHsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMC45ZW07CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLmJsb2NrIGEgewogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlOwogIH0KCiAgLmJsb2NrIGE6aG92ZXIgewogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogIH0KYH0pO3ZhciBJbixlS2U9ZigoKT0+e0lvKCk7SW49Y2xhc3N7c3RhdGlje3ModGhpcywiV3lzaXd5Z0NvbnZlcnRlcnMiKX1zdGF0aWMgZXNjYXBlSHRtbChlKXtsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC50ZXh0Q29udGVudD1lLHQuaW5uZXJIVE1MfXN0YXRpYyBmb3JtYXRGaWxlU2l6ZShlKXtpZihlPT09MClyZXR1cm4iMCBCeXRlcyI7bGV0IHQ9MTAyNCxyPVsiQnl0ZXMiLCJLQiIsIk1CIiwiR0IiXSxpPU1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2codCkpO3JldHVybiBwYXJzZUZsb2F0KChlL01hdGgucG93KHQsaSkpLnRvRml4ZWQoMikpKyIgIityW2ldfXN0YXRpYyBnZXRIdG1sT3V0cHV0KGUpe3JldHVybiBlLm1hcCh0PT57bGV0IHI9dC5jb250ZW50LmluY2x1ZGVzKCI8IikmJnQuY29udGVudC5pbmNsdWRlcygiPiIpP3QuY29udGVudDp0aGlzLmVzY2FwZUh0bWwodC5jb250ZW50KTtzd2l0Y2godC50eXBlKXtjYXNlInBhcmFncmFwaCI6cmV0dXJuIHQuY29udGVudD9gPHA+JHtyfTwvcD5gOiIiO2Nhc2UiaGVhZGluZy0xIjpyZXR1cm5gPGgxPiR7cn08L2gxPmA7Y2FzZSJoZWFkaW5nLTIiOnJldHVybmA8aDI+JHtyfTwvaDI+YDtjYXNlImhlYWRpbmctMyI6cmV0dXJuYDxoMz4ke3J9PC9oMz5gO2Nhc2UicXVvdGUiOnJldHVybmA8YmxvY2txdW90ZT4ke3J9PC9ibG9ja3F1b3RlPmA7Y2FzZSJjb2RlIjpyZXR1cm5gPHByZT48Y29kZT4ke3RoaXMuZXNjYXBlSHRtbCh0LmNvbnRlbnQpfTwvY29kZT48L3ByZT5gO2Nhc2UibGlzdCI6bGV0IGk9dC5jb250ZW50LnNwbGl0KGAKYCkuZmlsdGVyKGQ9PmQudHJpbSgpKTtpZihpLmxlbmd0aD4wKXtsZXQgZD10Lm1ldGFkYXRhPy5saXN0VHlwZT09PSJvcmRlcmVkIj8ib2wiOiJ1bCI7cmV0dXJuYDwke2R9PiR7aS5tYXAoYz0+YDxsaT4ke2N9PC9saT5gKS5qb2luKCIiKX08LyR7ZH0+YH1yZXR1cm4iIjtjYXNlImRpdmlkZXIiOnJldHVybiI8aHI+IjtjYXNlImltYWdlIjpsZXQgbz10Lm1ldGFkYXRhPy51cmw7aWYobyl7bGV0IGQ9dGhpcy5lc2NhcGVIdG1sKHQuY29udGVudHx8IkltYWdlIik7cmV0dXJuYDxpbWcgc3JjPSIke299IiBhbHQ9IiR7ZH0iIC8+YH1yZXR1cm4iIjtjYXNlInlvdXR1YmUiOmxldCBuPXQubWV0YWRhdGE/LnZpZGVvSWQ7cmV0dXJuIG4/YDxpZnJhbWUgd2lkdGg9IjU2MCIgaGVpZ2h0PSIzMTUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJHtufSIgZnJhbWVib3JkZXI9IjAiIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+YDoiIjtjYXNlIm1hcmtkb3duIjpyZXR1cm5gPGRpdiBjbGFzcz0ibWFya2Rvd24tY29udGVudCI+JHt0aGlzLmVzY2FwZUh0bWwodC5jb250ZW50KX08L2Rpdj5gO2Nhc2UiaHRtbCI6cmV0dXJuIHQuY29udGVudDtjYXNlImF0dGFjaG1lbnQiOmxldCBsPXQubWV0YWRhdGE/LmZpbGVzfHxbXTtyZXR1cm4gbC5sZW5ndGg+MD9gPGRpdiBjbGFzcz0iYXR0YWNobWVudHMiPiR7bC5tYXAoZD0+YDxkaXYgY2xhc3M9ImF0dGFjaG1lbnQtaXRlbSIgZGF0YS1maWxlLWlkPSIke2QuaWR9Ij4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiR7ZC5kYXRhfSIgZG93bmxvYWQ9IiR7ZC5uYW1lfSI+JHt0aGlzLmVzY2FwZUh0bWwoZC5uYW1lKX08L2E+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmlsZS1zaXplIj4oJHt0aGlzLmZvcm1hdEZpbGVTaXplKGQuc2l6ZSl9KTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj5gKS5qb2luKCIiKX08L2Rpdj5gOiIiO2RlZmF1bHQ6cmV0dXJuYDxwPiR7cn08L3A+YH19KS5maWx0ZXIodD0+dCE9PSIiKS5qb2luKGAKYCl9c3RhdGljIGdldE1hcmtkb3duT3V0cHV0KGUpe3JldHVybiBlLm1hcCh0PT57c3dpdGNoKHQudHlwZSl7Y2FzZSJwYXJhZ3JhcGgiOnJldHVybiB0LmNvbnRlbnQ7Y2FzZSJoZWFkaW5nLTEiOnJldHVybmAjICR7dC5jb250ZW50fWA7Y2FzZSJoZWFkaW5nLTIiOnJldHVybmAjIyAke3QuY29udGVudH1gO2Nhc2UiaGVhZGluZy0zIjpyZXR1cm5gIyMjICR7dC5jb250ZW50fWA7Y2FzZSJxdW90ZSI6cmV0dXJuYD4gJHt0LmNvbnRlbnR9YDtjYXNlImNvZGUiOnJldHVybmBcYFxgXGAKJHt0LmNvbnRlbnR9ClxgXGBcYGA7Y2FzZSJsaXN0IjpsZXQgcj10LmNvbnRlbnQuc3BsaXQoYApgKS5maWx0ZXIoYz0+Yy50cmltKCkpO3JldHVybiB0Lm1ldGFkYXRhPy5saXN0VHlwZT09PSJvcmRlcmVkIj9yLm1hcCgoYyxwKT0+YCR7cCsxfS4gJHtjfWApLmpvaW4oYApgKTpyLm1hcChjPT5gLSAke2N9YCkuam9pbihgCmApO2Nhc2UiZGl2aWRlciI6cmV0dXJuIi0tLSI7Y2FzZSJpbWFnZSI6bGV0IGk9dC5tZXRhZGF0YT8udXJsLG89dC5jb250ZW50fHwiSW1hZ2UiO3JldHVybiBpP2AhWyR7b31dKCR7aX0pYDoiIjtjYXNlInlvdXR1YmUiOmxldCBuPXQubWV0YWRhdGE/LnZpZGVvSWQsbD10Lm1ldGFkYXRhPy51cmx8fChuP2BodHRwczovL3lvdXR1YmUuY29tL3dhdGNoP3Y9JHtufWA6IiIpO3JldHVybiBsP2BbWW91VHViZSBWaWRlb10oJHtsfSlgOiIiO2Nhc2UibWFya2Rvd24iOnJldHVybiB0LmNvbnRlbnQ7Y2FzZSJodG1sIjpyZXR1cm5gPCEtLSBIVE1MIEJsb2NrCiR7dC5jb250ZW50fQotLT5gO2Nhc2UiYXR0YWNobWVudCI6bGV0IGQ9dC5tZXRhZGF0YT8uZmlsZXN8fFtdO3JldHVybiBkLmxlbmd0aD4wP2QubWFwKGM9PmAtIFske2MubmFtZX1dKCR7Yy5kYXRhfSlgKS5qb2luKGAKYCk6IiI7ZGVmYXVsdDpyZXR1cm4gdC5jb250ZW50fX0pLmZpbHRlcih0PT50IT09IiIpLmpvaW4oYAoKYCl9c3RhdGljIHBhcnNlSHRtbFRvQmxvY2tzKGUpe2xldCByPW5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoZSwidGV4dC9odG1sIiksaT1bXSxvPXMobj0+e2lmKG4ubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmbi50ZXh0Q29udGVudD8udHJpbSgpKWkucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6InBhcmFncmFwaCIsY29udGVudDpuLnRleHRDb250ZW50LnRyaW0oKX0pO2Vsc2UgaWYobi5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKXtsZXQgbD1uLGQ9bC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7c3dpdGNoKGQpe2Nhc2UicCI6aS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50OmwuaW5uZXJIVE1MfHwiIn0pO2JyZWFrO2Nhc2UiaDEiOmkucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImhlYWRpbmctMSIsY29udGVudDpsLmlubmVySFRNTHx8IiJ9KTticmVhaztjYXNlImgyIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6bC5pbm5lckhUTUx8fCIifSk7YnJlYWs7Y2FzZSJoMyI6aS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiaGVhZGluZy0zIixjb250ZW50OmwuaW5uZXJIVE1MfHwiIn0pO2JyZWFrO2Nhc2UiYmxvY2txdW90ZSI6aS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToicXVvdGUiLGNvbnRlbnQ6bC5pbm5lckhUTUx8fCIifSk7YnJlYWs7Y2FzZSJwcmUiOmNhc2UiY29kZSI6aS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiY29kZSIsY29udGVudDpsLnRleHRDb250ZW50fHwiIn0pO2JyZWFrO2Nhc2UidWwiOmNhc2Uib2wiOmxldCBwPUFycmF5LmZyb20obC5xdWVyeVNlbGVjdG9yQWxsKCJsaSIpKS5tYXAobT0+bS5pbm5lckhUTUx8fCIiKS5qb2luKGAKYCk7aS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToibGlzdCIsY29udGVudDpwLG1ldGFkYXRhOntsaXN0VHlwZTpkPT09Im9sIj8ib3JkZXJlZCI6ImJ1bGxldCJ9fSk7YnJlYWs7Y2FzZSJociI6aS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiZGl2aWRlciIsY29udGVudDoiICJ9KTticmVhaztjYXNlImltZyI6bGV0IHU9bDtpLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJpbWFnZSIsY29udGVudDp1LmFsdHx8IiIsbWV0YWRhdGE6e3VybDp1LnNyY319KTticmVhaztkZWZhdWx0OmwuY2hpbGROb2Rlcy5mb3JFYWNoKG09Pm8obSkpfX19LCJwcm9jZXNzTm9kZSIpO3JldHVybiByLmJvZHkuY2hpbGROb2Rlcy5mb3JFYWNoKG49Pm8obikpLGl9c3RhdGljIHBhcnNlTWFya2Rvd25Ub0Jsb2NrcyhlKXtsZXQgdD1lLnNwbGl0KGAKYCkscj1bXSxpPVtdO2ZvcihsZXQgbz0wO288dC5sZW5ndGg7bysrKXtsZXQgbj10W29dO2lmKG4uc3RhcnRzV2l0aCgiIyAiKSlyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJoZWFkaW5nLTEiLGNvbnRlbnQ6bi5zdWJzdHJpbmcoMil9KTtlbHNlIGlmKG4uc3RhcnRzV2l0aCgiIyMgIikpci5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiaGVhZGluZy0yIixjb250ZW50Om4uc3Vic3RyaW5nKDMpfSk7ZWxzZSBpZihuLnN0YXJ0c1dpdGgoIiMjIyAiKSlyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJoZWFkaW5nLTMiLGNvbnRlbnQ6bi5zdWJzdHJpbmcoNCl9KTtlbHNlIGlmKG4uc3RhcnRzV2l0aCgiPiAiKSlyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJxdW90ZSIsY29udGVudDpuLnN1YnN0cmluZygyKX0pO2Vsc2UgaWYobi5zdGFydHNXaXRoKCJgYGAiKSl7bGV0IGw9W107Zm9yKG8rKztvPHQubGVuZ3RoJiYhdFtvXS5zdGFydHNXaXRoKCJgYGAiKTspbC5wdXNoKHRbb10pLG8rKztyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJjb2RlIixjb250ZW50Omwuam9pbihgCmApfSl9ZWxzZSBpZihuLm1hdGNoKC9eKFwqfC0pIC8pKWkucHVzaChuLnN1YnN0cmluZygyKSksKG89PT10Lmxlbmd0aC0xfHwhdFtvKzFdLm1hdGNoKC9eKFwqfC0pIC8pKSYmKHIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6Imxpc3QiLGNvbnRlbnQ6aS5qb2luKGAKYCksbWV0YWRhdGE6e2xpc3RUeXBlOiJidWxsZXQifX0pLGk9W10pO2Vsc2UgaWYobi5tYXRjaCgvXlxkK1wuIC8pKWkucHVzaChuLnJlcGxhY2UoL15cZCtcLiAvLCIiKSksKG89PT10Lmxlbmd0aC0xfHwhdFtvKzFdLm1hdGNoKC9eXGQrXC4gLykpJiYoci5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToibGlzdCIsY29udGVudDppLmpvaW4oYApgKSxtZXRhZGF0YTp7bGlzdFR5cGU6Im9yZGVyZWQifX0pLGk9W10pO2Vsc2UgaWYobj09PSItLS0ifHxuPT09IioqKiJ8fG49PT0iX19fIilyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJkaXZpZGVyIixjb250ZW50OiIgIn0pO2Vsc2UgaWYobi5tYXRjaCgvXiFcWyhbXlxdXSopXF1cKChbXlwpXSspXCkkLykpe2xldCBsPW4ubWF0Y2goL14hXFsoW15cXV0qKVxdXCgoW15cKV0rKVwpJC8pO2wmJnIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImltYWdlIixjb250ZW50OmxbMV18fCIiLG1ldGFkYXRhOnt1cmw6bFsyXX19KX1lbHNlIG4udHJpbSgpJiZyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6bn0pfXJldHVybiByfX19KTt2YXIgc2ksaGM9ZigoKT0+e2xlKCk7SW8oKTtlS2UoKTtzaT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXeXNpd3lnQmxvY2tzIil9c3RhdGljIHJlbmRlckxpc3RDb250ZW50KGUsdCl7bGV0IHI9ZS5zcGxpdChgCmApLmZpbHRlcihvPT5vLnRyaW0oKSk7aWYoci5sZW5ndGg9PT0wKXJldHVybiIiO2xldCBpPXQ/Lmxpc3RUeXBlPT09Im9yZGVyZWQiPyJvbCI6InVsIjtyZXR1cm5gPCR7aX0+JHtyLm1hcChvPT5gPGxpPiR7b308L2xpPmApLmpvaW4oIiIpfTwvJHtpfT5gfXN0YXRpYyByZW5kZXJCbG9jayhlLHQscil7aWYoZS50eXBlPT09ImRpdmlkZXIiKXJldHVybiB3YAogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJibG9jayBkaXZpZGVyIgogICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICA+CiAgICAgICAgICA8aHI+CiAgICAgICAgPC9kaXY+CiAgICAgIGA7aWYoZS50eXBlPT09Imxpc3QiKXJldHVybiB3YAogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJibG9jayBsaXN0ICR7dD8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgICBAaW5wdXQ9IiR7ci5vbklucHV0fSIKICAgICAgICAgIEBrZXlkb3duPSIke3Iub25LZXlEb3dufSIKICAgICAgICAgIEBmb2N1cz0iJHtyLm9uRm9jdXN9IgogICAgICAgICAgQGJsdXI9IiR7ci5vbkJsdXJ9IgogICAgICAgICAgQGNvbXBvc2l0aW9uc3RhcnQ9IiR7ci5vbkNvbXBvc2l0aW9uU3RhcnR9IgogICAgICAgICAgQGNvbXBvc2l0aW9uZW5kPSIke3Iub25Db21wb3NpdGlvbkVuZH0iCiAgICAgICAgICBAbW91c2V1cD0iJHtvPT57Y29uc29sZS5sb2coIkJsb2NrIG1vdXNldXAgZXZlbnQgZmlyZWQiKSxyLm9uTW91c2VVcCYmci5vbk1vdXNlVXAobyl9fSIKICAgICAgICAgIC5pbm5lckhUTUw9IiR7dGhpcy5yZW5kZXJMaXN0Q29udGVudChlLmNvbnRlbnQsZS5tZXRhZGF0YSl9IgogICAgICAgID48L2Rpdj4KICAgICAgYDtpZihlLnR5cGU9PT0iY29kZSIpe2xldCBvPWUubWV0YWRhdGE/Lmxhbmd1YWdlfHwicGxhaW4gdGV4dCI7cmV0dXJuIHdgCiAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1ibG9jay1jb250YWluZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1sYW5ndWFnZSI+JHtvfTwvZGl2PgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0iYmxvY2sgJHtlLnR5cGV9ICR7dD8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgICAgICBAaW5wdXQ9IiR7ci5vbklucHV0fSIKICAgICAgICAgICAgQGtleWRvd249IiR7ci5vbktleURvd259IgogICAgICAgICAgICBAZm9jdXM9IiR7ci5vbkZvY3VzfSIKICAgICAgICAgICAgQGJsdXI9IiR7ci5vbkJsdXJ9IgogICAgICAgICAgICBAY29tcG9zaXRpb25zdGFydD0iJHtyLm9uQ29tcG9zaXRpb25TdGFydH0iCiAgICAgICAgICAgIEBjb21wb3NpdGlvbmVuZD0iJHtyLm9uQ29tcG9zaXRpb25FbmR9IgogICAgICAgICAgICBAbW91c2V1cD0iJHtuPT57Y29uc29sZS5sb2coIkJsb2NrIG1vdXNldXAgZXZlbnQgZmlyZWQiKSxyLm9uTW91c2VVcCYmci5vbk1vdXNlVXAobil9fSIKICAgICAgICAgICAgLnRleHRDb250ZW50PSIke2UuY29udGVudHx8IiJ9IgogICAgICAgICAgPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgfXJldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImJsb2NrICR7ZS50eXBlfSAke3Q/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgIEBpbnB1dD0iJHtyLm9uSW5wdXR9IgogICAgICAgIEBrZXlkb3duPSIke3Iub25LZXlEb3dufSIKICAgICAgICBAZm9jdXM9IiR7ci5vbkZvY3VzfSIKICAgICAgICBAYmx1cj0iJHtyLm9uQmx1cn0iCiAgICAgICAgQGNvbXBvc2l0aW9uc3RhcnQ9IiR7ci5vbkNvbXBvc2l0aW9uU3RhcnR9IgogICAgICAgIEBjb21wb3NpdGlvbmVuZD0iJHtyLm9uQ29tcG9zaXRpb25FbmR9IgogICAgICAgIEBtb3VzZXVwPSIke289Pntjb25zb2xlLmxvZygiQmxvY2sgbW91c2V1cCBldmVudCBmaXJlZCIpLHIub25Nb3VzZVVwJiZyLm9uTW91c2VVcChvKX19IgogICAgICAgIC5pbm5lckhUTUw9IiR7ZS5jb250ZW50fHwiIn0iCiAgICAgID48L2Rpdj4KICAgIGB9c3RhdGljIHNldEN1cnNvclRvRW5kKGUpe2xldCB0PXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighdClyZXR1cm47bGV0IHI9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtpZihlLmNoaWxkTm9kZXMubGVuZ3RoPT09MCl7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIlx1MjAwQiIpO2UuYXBwZW5kQ2hpbGQoaSksci5zZXRTdGFydChpLDEpLHIuY29sbGFwc2UoITApfWVsc2V7bGV0IGk9dGhpcy5nZXRMYXN0Tm9kZShlKTtpLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/ci5zZXRTdGFydChpLGkudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MCk6ci5zZXRTdGFydEFmdGVyKGkpLHIuY29sbGFwc2UoITApfXQucmVtb3ZlQWxsUmFuZ2VzKCksdC5hZGRSYW5nZShyKSxlLnRleHRDb250ZW50PT09Ilx1MjAwQiImJihlLnRleHRDb250ZW50PSIiKX1zdGF0aWMgc2V0Q3Vyc29yVG9TdGFydChlKXtsZXQgdD13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIXQpcmV0dXJuO2xldCByPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7aWYoZS5jaGlsZE5vZGVzLmxlbmd0aD09PTApci5zZXRTdGFydChlLDApLHIuY29sbGFwc2UoITApO2Vsc2V7bGV0IGk9dGhpcy5nZXRGaXJzdE5vZGUoZSk7aS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFP3Iuc2V0U3RhcnQoaSwwKTpyLnNldFN0YXJ0QmVmb3JlKGkpLHIuY29sbGFwc2UoITApfXQucmVtb3ZlQWxsUmFuZ2VzKCksdC5hZGRSYW5nZShyKX1zdGF0aWMgZ2V0TGFzdE5vZGUoZSl7aWYoZS5jaGlsZE5vZGVzLmxlbmd0aD09PTApcmV0dXJuIGU7bGV0IHQ9ZS5jaGlsZE5vZGVzW2UuY2hpbGROb2Rlcy5sZW5ndGgtMV07cmV0dXJuIHQubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERXx8dC5jaGlsZE5vZGVzLmxlbmd0aD09PTA/dDp0aGlzLmdldExhc3ROb2RlKHQpfXN0YXRpYyBnZXRGaXJzdE5vZGUoZSl7aWYoZS5jaGlsZE5vZGVzLmxlbmd0aD09PTApcmV0dXJuIGU7bGV0IHQ9ZS5jaGlsZE5vZGVzWzBdO3JldHVybiB0Lm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREV8fHQuY2hpbGROb2Rlcy5sZW5ndGg9PT0wP3Q6dGhpcy5nZXRGaXJzdE5vZGUodCl9c3RhdGljIGZvY3VzTGlzdEl0ZW0oZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCJsaSIpO2lmKHQpe3QuZm9jdXMoKTtsZXQgcj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGk9d2luZG93LmdldFNlbGVjdGlvbigpO3Iuc2VsZWN0Tm9kZUNvbnRlbnRzKHQpLHIuY29sbGFwc2UoITApLGkucmVtb3ZlQWxsUmFuZ2VzKCksaS5hZGRSYW5nZShyKX19fX0pO3ZhciBJVSx0S2U9ZigoKT0+e0lvKCk7Y20oKTtBZigpO2hjKCk7SVU9Y2xhc3N7c3RhdGlje3ModGhpcywiV3lzaXd5Z0Jsb2NrT3BlcmF0aW9ucyIpfWNvbXBvbmVudDtjb25zdHJ1Y3RvcihlKXt0aGlzLmNvbXBvbmVudD1lfWNyZWF0ZUJsb2NrKGU9InBhcmFncmFwaCIsdD0iIixyKXtyZXR1cm57aWQ6ZXMuZ2VuZXJhdGVCbG9ja0lkKCksdHlwZTplLGNvbnRlbnQ6dCwuLi5yJiZ7bWV0YWRhdGE6cn19fWFzeW5jIGluc2VydEJsb2NrQWZ0ZXIoZSx0LHI9ITApe2xldCBpPXRoaXMuY29tcG9uZW50LmJsb2NrcyxvPWkuZmluZEluZGV4KG49Pm4uaWQ9PT1lLmlkKTtpZih0aGlzLmNvbXBvbmVudC5ibG9ja3M9Wy4uLmkuc2xpY2UoMCxvKzEpLHQsLi4uaS5zbGljZShvKzEpXSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmKXtsZXQgbj10aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke2UuaWR9Il1gKTtpZihuKXtsZXQgbD10aGlzLmNvbXBvbmVudC5jcmVhdGVCbG9ja0VsZW1lbnQodCk7bi5pbnNlcnRBZGphY2VudEVsZW1lbnQoImFmdGVyZW5kIixsKX19dGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSxyJiZ0LnR5cGUhPT0iZGl2aWRlciImJihhd2FpdCBuZXcgUHJvbWlzZShuPT5zZXRUaW1lb3V0KG4sMCkpLGF3YWl0IHRoaXMuZm9jdXNCbG9jayh0LmlkLCJzdGFydCIpKX1yZW1vdmVCbG9jayhlKXtpZih0aGlzLmNvbXBvbmVudC5zYXZlVG9IaXN0b3J5KCExKSx0aGlzLmNvbXBvbmVudC5ibG9ja3M9dGhpcy5jb21wb25lbnQuYmxvY2tzLmZpbHRlcih0PT50LmlkIT09ZSksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZil7bGV0IHQ9dGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtlfSJdYCk7dCYmdC5yZW1vdmUoKX10aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpfWZpbmRCbG9jayhlKXtyZXR1cm4gdGhpcy5jb21wb25lbnQuYmxvY2tzLmZpbmQodD0+dC5pZD09PWUpfWdldEJsb2NrSW5kZXgoZSl7cmV0dXJuIHRoaXMuY29tcG9uZW50LmJsb2Nrcy5maW5kSW5kZXgodD0+dC5pZD09PWUpfWFzeW5jIGZvY3VzQmxvY2soZSx0PSJzdGFydCIpe2xldCByPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7ZX0iXWApO2lmKHIpe2xldCBpPXIucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aSYmKGF3YWl0IG5ldyBQcm9taXNlKG89PnJlcXVlc3RBbmltYXRpb25GcmFtZShvKSksaS5mb2N1c1dpdGhDdXJzb3IodCkpfX11cGRhdGVCbG9ja0NvbnRlbnQoZSx0KXtsZXQgcj10aGlzLmZpbmRCbG9jayhlKTtyJiYoci5jb250ZW50PXQsdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSl9dHJhbnNmb3JtQmxvY2soZSx0LHIpe2xldCBpPXRoaXMuZmluZEJsb2NrKGUpO2kmJih0aGlzLmNvbXBvbmVudC5zYXZlVG9IaXN0b3J5KCExKSxpLnR5cGU9dCxpLmNvbnRlbnQ9IiIsciYmKGkubWV0YWRhdGE9ciksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5jb21wb25lbnQudXBkYXRlQmxvY2tFbGVtZW50KGUpLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCkpfW1vdmVCbG9jayhlLHQpe2xldCByPVsuLi50aGlzLmNvbXBvbmVudC5ibG9ja3NdLGk9dGhpcy5nZXRCbG9ja0luZGV4KGUpO2lmKGk9PT0tMXx8dDwwfHx0Pj1yLmxlbmd0aClyZXR1cm47bGV0W29dPXIuc3BsaWNlKGksMSk7ci5zcGxpY2UodCwwLG8pLHRoaXMuY29tcG9uZW50LmJsb2Nrcz1yLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCl9Z2V0UHJldmlvdXNCbG9jayhlKXtsZXQgdD10aGlzLmdldEJsb2NrSW5kZXgoZSk7cmV0dXJuIHQ+MD90aGlzLmNvbXBvbmVudC5ibG9ja3NbdC0xXTpudWxsfWdldE5leHRCbG9jayhlKXtsZXQgdD10aGlzLmdldEJsb2NrSW5kZXgoZSk7cmV0dXJuIHQ8dGhpcy5jb21wb25lbnQuYmxvY2tzLmxlbmd0aC0xP3RoaXMuY29tcG9uZW50LmJsb2Nrc1t0KzFdOm51bGx9fX0pO3ZhciBocixybj1mKCgpPT57aHI9Y2xhc3N7c3RhdGlje3ModGhpcywiQmFzZUJsb2NrSGFuZGxlciIpfXNldHVwKGUsdCxyKXt9Z2V0U3R5bGVzKCl7cmV0dXJuIiJ9fX0pO3ZhciBqYSx1aWE9ZigoKT0+e2phPWNsYXNze3N0YXRpY3tzKHRoaXMsIkJsb2NrUmVnaXN0cnkiKX1zdGF0aWMgaGFuZGxlcnM9bmV3IE1hcDtzdGF0aWMgcmVnaXN0ZXIoZSx0KXt0aGlzLmhhbmRsZXJzLnNldChlLHQpfXN0YXRpYyBnZXRIYW5kbGVyKGUpe3JldHVybiB0aGlzLmhhbmRsZXJzLmdldChlKX1zdGF0aWMgZ2V0QWxsVHlwZXMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmhhbmRsZXJzLmtleXMoKSl9fX0pO3ZhciBwaWE9ZigoKT0+e30pO3ZhciBOVSxmaWE9ZigoKT0+e3JuKCk7bGUoKTtoYygpO1UyKCk7TlU9Y2xhc3MgZXh0ZW5kcyBocntzdGF0aWN7cyh0aGlzLCJQYXJhZ3JhcGhCbG9ja0hhbmRsZXIiKX10eXBlPSJwYXJhZ3JhcGgiO2xhc3RLbm93bkN1cnNvclBvc2l0aW9uPTA7bGFzdFNlbGVjdGVkVGV4dD0iIjtzZWxlY3Rpb25IYW5kbGVyPW51bGw7cmVuZGVyKGUsdCl7bGV0IHI9dD8iIHNlbGVjdGVkIjoiIixpPXRoaXMuZ2V0UGxhY2Vob2xkZXIoKTtyZXR1cm5gCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iYmxvY2sgcGFyYWdyYXBoJHtyfSIKICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgZGF0YS1wbGFjZWhvbGRlcj0iJHtpfSIKICAgICAgICBkYXRhLWJsb2NrLWlkPSIke2UuaWR9IgogICAgICAgIGRhdGEtYmxvY2stdHlwZT0iJHtlLnR5cGV9IgogICAgICA+PC9kaXY+CiAgICBgfXNldHVwKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTtpZighaSl7Y29uc29sZS5lcnJvcigiUGFyYWdyYXBoQmxvY2tIYW5kbGVyLnNldHVwOiBObyBwYXJhZ3JhcGggYmxvY2sgZWxlbWVudCBmb3VuZCIpO3JldHVybn10LmNvbnRlbnQmJiFpLmlubmVySFRNTCYmKGkuaW5uZXJIVE1MPXQuY29udGVudCksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsbz0+e3Iub25JbnB1dChvKTtsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbz0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pLHIub25LZXlEb3duKG8pfSksaS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PntyLm9uRm9jdXMoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PntyLm9uQmx1cigpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbnN0YXJ0IiwoKT0+e3Iub25Db21wb3NpdGlvblN0YXJ0KCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uZW5kIiwoKT0+e3Iub25Db21wb3NpdGlvbkVuZCgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixvPT57bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249biksci5vbk1vdXNlVXA/LihvKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG89PntzZXRUaW1lb3V0KCgpPT57bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249bil9LDApfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsbz0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pfSksdGhpcy5zZXR1cFNlbGVjdGlvbkhhbmRsZXIoZSxpLHQpfXNldHVwU2VsZWN0aW9uSGFuZGxlcihlLHQscil7bGV0IGk9cygoKT0+e2xldCBuPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighbnx8bi5yYW5nZUNvdW50PT09MClyZXR1cm47bGV0IGw9bi50b1N0cmluZygpO2lmKGwubGVuZ3RoPT09MCl7dGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OiIiLGJsb2NrSWQ6ci5pZCxoYXNTZWxlY3Rpb246ITF9KSk7cmV0dXJufWxldCBkPXQuZ2V0Um9vdE5vZGUoKS5ob3N0LHA9ZD8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3QsdT1kPy5zaGFkb3dSb290LG09W107cCYmbS5wdXNoKHApLHUmJm0ucHVzaCh1KTtsZXQgdj1ydC5nZXRTZWxlY3Rpb25JbmZvKC4uLm0pO2lmKCF2KXJldHVybjtsZXQgeD1ydC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTSh0LHYuc3RhcnRDb250YWluZXIpLGI9cnQuY29udGFpbnNBY3Jvc3NTaGFkb3dET00odCx2LmVuZENvbnRhaW5lcik7aWYoeHx8Yil7aWYobCE9PXRoaXMubGFzdFNlbGVjdGVkVGV4dCl7dGhpcy5sYXN0U2VsZWN0ZWRUZXh0PWw7bGV0IGc9cnQuY3JlYXRlUmFuZ2VGcm9tSW5mbyh2KSx5PWcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6bC50cmltKCksYmxvY2tJZDpyLmlkLHJhbmdlOmcscmVjdDp5LGhhc1NlbGVjdGlvbjohMH0pfX1lbHNlIHRoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDoiIixibG9ja0lkOnIuaWQsaGFzU2VsZWN0aW9uOiExfSkpfSwiY2hlY2tTZWxlY3Rpb24iKTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLGkpLHRoaXMuc2VsZWN0aW9uSGFuZGxlcj1pO2xldCBvPWUuY2xvc2VzdCgiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYobyl7bGV0IG49by5kaXNjb25uZWN0ZWRDYWxsYmFjayxsPXRoaXM7by5kaXNjb25uZWN0ZWRDYWxsYmFjaz1hc3luYyBmdW5jdGlvbigpe2wuc2VsZWN0aW9uSGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsbC5zZWxlY3Rpb25IYW5kbGVyKSxsLnNlbGVjdGlvbkhhbmRsZXI9bnVsbCksbiYmYXdhaXQgbi5jYWxsKG8pfX19ZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHQpe2xldCByPW5ldyBDdXN0b21FdmVudCgiYmxvY2stdGV4dC1zZWxlY3RlZCIse2RldGFpbDp0LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KTtlLmRpc3BhdGNoRXZlbnQocil9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBQYXJhZ3JhcGggc3BlY2lmaWMgc3R5bGVzICovCiAgICAgIC5ibG9jay5wYXJhZ3JhcGggewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgIH0KICAgIGB9Z2V0UGxhY2Vob2xkZXIoKXtyZXR1cm4iVHlwZSAnLycgZm9yIGNvbW1hbmRzLi4uIn1nZXRMYXN0VGV4dE5vZGUoZSl7aWYoZS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXJldHVybiBlO2ZvcihsZXQgdD1lLmNoaWxkTm9kZXMubGVuZ3RoLTE7dD49MDt0LS0pe2xldCByPXRoaXMuZ2V0TGFzdFRleHROb2RlKGUuY2hpbGROb2Rlc1t0XSk7aWYocilyZXR1cm4gcn1yZXR1cm4gbnVsbH1nZXRDdXJzb3JQb3NpdGlvbihlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO2lmKCFyKXJldHVybiBudWxsO2xldCBuPXQ/LmNvbXBvbmVudD8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3QsbD10Py5zaGFkb3dSb290LGQ9W107biYmZC5wdXNoKG4pLGwmJmQucHVzaChsKTtsZXQgYz1ydC5nZXRTZWxlY3Rpb25JbmZvKC4uLmQpO2lmKCFjfHwhcnQuY29udGFpbnNBY3Jvc3NTaGFkb3dET00ocixjLnN0YXJ0Q29udGFpbmVyKSlyZXR1cm4gbnVsbDtsZXQgcD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBwLnNlbGVjdE5vZGVDb250ZW50cyhyKSxwLnNldEVuZChjLnN0YXJ0Q29udGFpbmVyLGMuc3RhcnRPZmZzZXQpLHAudG9TdHJpbmcoKS5sZW5ndGh9Z2V0Q29udGVudChlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO3JldHVybiByJiZyLmlubmVySFRNTHx8IiJ9c2V0Q29udGVudChlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7aWYoIWkpcmV0dXJuO2xldCBvPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pO2kuaW5uZXJIVE1MPXQsbyYmaS5mb2N1cygpfXNldEN1cnNvclRvU3RhcnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTtyJiZzaS5zZXRDdXJzb3JUb1N0YXJ0KHIpfXNldEN1cnNvclRvRW5kKGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7ciYmc2kuc2V0Q3Vyc29yVG9FbmQocil9Zm9jdXMoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTtyJiYoci5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxyLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLHIuZm9jdXMoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ciYmZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50IT09ciYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3IuZm9jdXMoKX0pKX1mb2N1c1dpdGhDdXJzb3IoZSx0PSJlbmQiLHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO2lmKCFpKXJldHVybjtpZihpLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fGkuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksdD09PSJlbmQiJiZpLnRleHRDb250ZW50JiZpLnRleHRDb250ZW50Lmxlbmd0aD4wKXtsZXQgbj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYobil7bGV0IGw9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxkPXRoaXMuZ2V0TGFzdFRleHROb2RlKGkpfHxpO2Qubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT8obC5zZXRTdGFydChkLGQudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MCksbC5zZXRFbmQoZCxkLnRleHRDb250ZW50Py5sZW5ndGh8fDApKToobC5zZWxlY3ROb2RlQ29udGVudHMoZCksbC5jb2xsYXBzZSghMSkpLG4ucmVtb3ZlQWxsUmFuZ2VzKCksbi5hZGRSYW5nZShsKX19aS5mb2N1cygpO2xldCBvPXMoKCk9Pnt0PT09InN0YXJ0Ij90aGlzLnNldEN1cnNvclRvU3RhcnQoZSxyKTp0PT09ImVuZCImJighaS50ZXh0Q29udGVudHx8aS50ZXh0Q29udGVudC5sZW5ndGg9PT0wKT90aGlzLnNldEN1cnNvclRvRW5kKGUscik6dHlwZW9mIHQ9PSJudW1iZXIiJiZydC5zZXRDdXJzb3JQb3NpdGlvbihpLHQpfSwic2V0Q3Vyc29yIik7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWk/bygpOlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aT9vKCk6c2V0VGltZW91dCgoKT0+eyhkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aSkmJm8oKX0sMTApfSl9Z2V0U3BsaXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7aWYoIXIpcmV0dXJuIG51bGw7bGV0IG49dD8uY29tcG9uZW50Py5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxsPXQ/LnNoYWRvd1Jvb3QsZD1bXTtuJiZkLnB1c2gobiksbCYmZC5wdXNoKGwpO2xldCBjPXJ0LmdldFNlbGVjdGlvbkluZm8oLi4uZCk7aWYoIWMpe2lmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24hPT1udWxsKXtsZXQgaz1yLnRleHRDb250ZW50fHwiIixDPU1hdGgubWluKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24say5sZW5ndGgpO3JldHVybntiZWZvcmU6ay5zdWJzdHJpbmcoMCxDKSxhZnRlcjprLnN1YnN0cmluZyhDKX19cmV0dXJuIG51bGx9aWYoIXJ0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHIsYy5zdGFydENvbnRhaW5lcikpe2lmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24hPT1udWxsKXtsZXQgaz1yLnRleHRDb250ZW50fHwiIixDPU1hdGgubWluKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24say5sZW5ndGgpO3JldHVybntiZWZvcmU6ay5zdWJzdHJpbmcoMCxDKSxhZnRlcjprLnN1YnN0cmluZyhDKX19cmV0dXJuIG51bGx9bGV0IHA9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlLHQpO2lmKHA9PT1udWxsfHxwPT09MClyZXR1cm57YmVmb3JlOiIiLGFmdGVyOnIuaW5uZXJIVE1MfTtsZXQgdT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLG09ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTt1LnNldFN0YXJ0KHIsMCksdS5zZXRFbmQoYy5zdGFydENvbnRhaW5lcixjLnN0YXJ0T2Zmc2V0KSxtLnNldFN0YXJ0KGMuc3RhcnRDb250YWluZXIsYy5zdGFydE9mZnNldCksbS5zZXRFbmQocixyLmNoaWxkTm9kZXMubGVuZ3RoKTtsZXQgdj11LmNsb25lQ29udGVudHMoKSx4PW0uY2xvbmVDb250ZW50cygpLGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5hcHBlbmRDaGlsZCh2KTtsZXQgZz1iLmlubmVySFRNTDtiLmlubmVySFRNTD0iIixiLmFwcGVuZENoaWxkKHgpO2xldCB5PWIuaW5uZXJIVE1MO3JldHVybntiZWZvcmU6ZyxhZnRlcjp5fX19fSk7dmFyIEVmLGhpYT1mKCgpPT57cm4oKTtsZSgpO2hjKCk7VTIoKTtFZj1jbGFzcyBleHRlbmRzIGhye3N0YXRpY3tzKHRoaXMsIkhlYWRpbmdCbG9ja0hhbmRsZXIiKX10eXBlO2xldmVsO2xhc3RLbm93bkN1cnNvclBvc2l0aW9uPTA7bGFzdFNlbGVjdGVkVGV4dD0iIjtzZWxlY3Rpb25IYW5kbGVyPW51bGw7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLnR5cGU9ZSx0aGlzLmxldmVsPXBhcnNlSW50KGUuc3BsaXQoIi0iKVsxXSl9cmVuZGVyKGUsdCl7bGV0IHI9dD8iIHNlbGVjdGVkIjoiIixpPXRoaXMuZ2V0UGxhY2Vob2xkZXIoKTtyZXR1cm5gCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iYmxvY2sgaGVhZGluZy0ke3RoaXMubGV2ZWx9JHtyfSIKICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgZGF0YS1wbGFjZWhvbGRlcj0iJHtpfSIKICAgICAgICBkYXRhLWJsb2NrLWlkPSIke2UuaWR9IgogICAgICAgIGRhdGEtYmxvY2stdHlwZT0iJHtlLnR5cGV9IgogICAgICA+PC9kaXY+CiAgICBgfXNldHVwKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtpZighaSl7Y29uc29sZS5lcnJvcigiSGVhZGluZ0Jsb2NrSGFuZGxlci5zZXR1cDogTm8gaGVhZGluZyBibG9jayBlbGVtZW50IGZvdW5kIik7cmV0dXJufXQuY29udGVudCYmIWkuaW5uZXJIVE1MJiYoaS5pbm5lckhUTUw9dC5jb250ZW50KSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixvPT57ci5vbklucHV0KG8pO2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixvPT57bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249biksci5vbktleURvd24obyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+e3Iub25Gb2N1cygpfSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e3Iub25CbHVyKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uc3RhcnQiLCgpPT57ci5vbkNvbXBvc2l0aW9uU3RhcnQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLCgpPT57ci5vbkNvbXBvc2l0aW9uRW5kKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKSxyLm9uTW91c2VVcD8uKG8pfSksaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbz0+e3NldFRpbWVvdXQoKCk9PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKX0sMCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixvPT57bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249bil9KSx0aGlzLnNldHVwU2VsZWN0aW9uSGFuZGxlcihlLGksdCl9c2V0dXBTZWxlY3Rpb25IYW5kbGVyKGUsdCxyKXtsZXQgaT1zKCgpPT57bGV0IG49d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFufHxuLnJhbmdlQ291bnQ9PT0wKXJldHVybjtsZXQgbD1uLnRvU3RyaW5nKCk7aWYobC5sZW5ndGg9PT0wKXt0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6IiIsYmxvY2tJZDpyLmlkLGhhc1NlbGVjdGlvbjohMX0pKTtyZXR1cm59bGV0IGQ9dC5nZXRSb290Tm9kZSgpLmhvc3QscD1kPy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCx1PWQ/LnNoYWRvd1Jvb3QsbT1bXTtwJiZtLnB1c2gocCksdSYmbS5wdXNoKHUpO2xldCB2PXJ0LmdldFNlbGVjdGlvbkluZm8oLi4ubSk7aWYoIXYpcmV0dXJuO2xldCB4PXJ0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHQsdi5zdGFydENvbnRhaW5lciksYj1ydC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTSh0LHYuZW5kQ29udGFpbmVyKTtpZih4fHxiKXtpZihsIT09dGhpcy5sYXN0U2VsZWN0ZWRUZXh0KXt0aGlzLmxhc3RTZWxlY3RlZFRleHQ9bDtsZXQgZz1ydC5jcmVhdGVSYW5nZUZyb21JbmZvKHYpLHk9Zy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDpsLnRyaW0oKSxibG9ja0lkOnIuaWQscmFuZ2U6ZyxyZWN0OnksaGFzU2VsZWN0aW9uOiEwfSl9fWVsc2UgdGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OiIiLGJsb2NrSWQ6ci5pZCxoYXNTZWxlY3Rpb246ITF9KSl9LCJjaGVja1NlbGVjdGlvbiIpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsaSksdGhpcy5zZWxlY3Rpb25IYW5kbGVyPWk7bGV0IG89dC5nZXRSb290Tm9kZSgpLmhvc3Q7aWYobyl7bGV0IG49by5kaXNjb25uZWN0ZWRDYWxsYmFjayxsPXRoaXM7by5kaXNjb25uZWN0ZWRDYWxsYmFjaz1hc3luYyBmdW5jdGlvbigpe2wuc2VsZWN0aW9uSGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsbC5zZWxlY3Rpb25IYW5kbGVyKSxsLnNlbGVjdGlvbkhhbmRsZXI9bnVsbCksbiYmYXdhaXQgbi5jYWxsKG8pfX19ZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHQpe2xldCByPW5ldyBDdXN0b21FdmVudCgiYmxvY2stdGV4dC1zZWxlY3RlZCIse2RldGFpbDp0LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KTtlLmRpc3BhdGNoRXZlbnQocil9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAuYmxvY2suaGVhZGluZy0xIHsKICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBsaW5lLWhlaWdodDogMS4yOwogICAgICAgIG1hcmdpbjogMjRweCAwIDhweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgIH0KCiAgICAgIC5ibG9jay5oZWFkaW5nLTIgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICAgICAgbWFyZ2luOiAyMHB4IDAgNnB4IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDAwMDAwIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLmJsb2NrLmhlYWRpbmctMyB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgICAgICBtYXJnaW46IDE2cHggMCA0cHggMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CiAgICBgfWdldFBsYWNlaG9sZGVyKCl7c3dpdGNoKHRoaXMubGV2ZWwpe2Nhc2UgMTpyZXR1cm4iSGVhZGluZyAxIjtjYXNlIDI6cmV0dXJuIkhlYWRpbmcgMiI7Y2FzZSAzOnJldHVybiJIZWFkaW5nIDMiO2RlZmF1bHQ6cmV0dXJuIkhlYWRpbmcifX1nZXRMYXN0VGV4dE5vZGUoZSl7aWYoZS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXJldHVybiBlO2ZvcihsZXQgdD1lLmNoaWxkTm9kZXMubGVuZ3RoLTE7dD49MDt0LS0pe2xldCByPXRoaXMuZ2V0TGFzdFRleHROb2RlKGUuY2hpbGROb2Rlc1t0XSk7aWYocilyZXR1cm4gcn1yZXR1cm4gbnVsbH1nZXRDdXJzb3JQb3NpdGlvbihlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO2lmKCFyKXJldHVybiBudWxsO2xldCBuPXQ/LmNvbXBvbmVudD8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3QsbD10Py5zaGFkb3dSb290LGQ9W107biYmZC5wdXNoKG4pLGwmJmQucHVzaChsKTtsZXQgYz1ydC5nZXRTZWxlY3Rpb25JbmZvKC4uLmQpO2lmKCFjfHwhcnQuY29udGFpbnNBY3Jvc3NTaGFkb3dET00ocixjLnN0YXJ0Q29udGFpbmVyKSlyZXR1cm4gbnVsbDtsZXQgcD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBwLnNlbGVjdE5vZGVDb250ZW50cyhyKSxwLnNldEVuZChjLnN0YXJ0Q29udGFpbmVyLGMuc3RhcnRPZmZzZXQpLHAudG9TdHJpbmcoKS5sZW5ndGh9Z2V0Q29udGVudChlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO3JldHVybiByJiZyLmlubmVySFRNTHx8IiJ9c2V0Q29udGVudChlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7aWYoIWkpcmV0dXJuO2xldCBvPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pO2kuaW5uZXJIVE1MPXQsbyYmaS5mb2N1cygpfXNldEN1cnNvclRvU3RhcnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtyJiZzaS5zZXRDdXJzb3JUb1N0YXJ0KHIpfXNldEN1cnNvclRvRW5kKGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7ciYmc2kuc2V0Q3Vyc29yVG9FbmQocil9Zm9jdXMoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtyJiYoci5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxyLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLHIuZm9jdXMoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ciYmZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50IT09ciYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3IuZm9jdXMoKX0pKX1mb2N1c1dpdGhDdXJzb3IoZSx0PSJlbmQiLHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO2lmKCFpKXJldHVybjtpZihpLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fGkuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksdD09PSJlbmQiJiZpLnRleHRDb250ZW50JiZpLnRleHRDb250ZW50Lmxlbmd0aD4wKXtsZXQgbj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYobil7bGV0IGw9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxkPXRoaXMuZ2V0TGFzdFRleHROb2RlKGkpfHxpO2Qubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT8obC5zZXRTdGFydChkLGQudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MCksbC5zZXRFbmQoZCxkLnRleHRDb250ZW50Py5sZW5ndGh8fDApKToobC5zZWxlY3ROb2RlQ29udGVudHMoZCksbC5jb2xsYXBzZSghMSkpLG4ucmVtb3ZlQWxsUmFuZ2VzKCksbi5hZGRSYW5nZShsKX19aS5mb2N1cygpO2xldCBvPXMoKCk9Pnt0PT09InN0YXJ0Ij90aGlzLnNldEN1cnNvclRvU3RhcnQoZSxyKTp0PT09ImVuZCImJighaS50ZXh0Q29udGVudHx8aS50ZXh0Q29udGVudC5sZW5ndGg9PT0wKT90aGlzLnNldEN1cnNvclRvRW5kKGUscik6dHlwZW9mIHQ9PSJudW1iZXIiJiZydC5zZXRDdXJzb3JQb3NpdGlvbihpLHQpfSwic2V0Q3Vyc29yIik7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWk/bygpOlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aT9vKCk6c2V0VGltZW91dCgoKT0+eyhkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aSkmJm8oKX0sMTApfSl9Z2V0U3BsaXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7aWYoIXIpcmV0dXJuIG51bGw7bGV0IG49dD8uY29tcG9uZW50Py5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxsPXQ/LnNoYWRvd1Jvb3QsZD1bXTtuJiZkLnB1c2gobiksbCYmZC5wdXNoKGwpO2xldCBjPXJ0LmdldFNlbGVjdGlvbkluZm8oLi4uZCk7aWYoIWMpe2lmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24hPT1udWxsKXtsZXQgaz1yLnRleHRDb250ZW50fHwiIixDPU1hdGgubWluKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24say5sZW5ndGgpO3JldHVybntiZWZvcmU6ay5zdWJzdHJpbmcoMCxDKSxhZnRlcjprLnN1YnN0cmluZyhDKX19cmV0dXJuIG51bGx9aWYoIXJ0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHIsYy5zdGFydENvbnRhaW5lcikpe2lmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24hPT1udWxsKXtsZXQgaz1yLnRleHRDb250ZW50fHwiIixDPU1hdGgubWluKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24say5sZW5ndGgpO3JldHVybntiZWZvcmU6ay5zdWJzdHJpbmcoMCxDKSxhZnRlcjprLnN1YnN0cmluZyhDKX19cmV0dXJuIG51bGx9bGV0IHA9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlLHQpO2lmKHA9PT1udWxsfHxwPT09MClyZXR1cm57YmVmb3JlOiIiLGFmdGVyOnIuaW5uZXJIVE1MfTtsZXQgdT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLG09ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTt1LnNldFN0YXJ0KHIsMCksdS5zZXRFbmQoYy5zdGFydENvbnRhaW5lcixjLnN0YXJ0T2Zmc2V0KSxtLnNldFN0YXJ0KGMuc3RhcnRDb250YWluZXIsYy5zdGFydE9mZnNldCksbS5zZXRFbmQocixyLmNoaWxkTm9kZXMubGVuZ3RoKTtsZXQgdj11LmNsb25lQ29udGVudHMoKSx4PW0uY2xvbmVDb250ZW50cygpLGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5hcHBlbmRDaGlsZCh2KTtsZXQgZz1iLmlubmVySFRNTDtiLmlubmVySFRNTD0iIixiLmFwcGVuZENoaWxkKHgpO2xldCB5PWIuaW5uZXJIVE1MO3JldHVybntiZWZvcmU6ZyxhZnRlcjp5fX19fSk7dmFyIFJVLG1pYT1mKCgpPT57cm4oKTtsZSgpO2hjKCk7VTIoKTtSVT1jbGFzcyBleHRlbmRzIGhye3N0YXRpY3tzKHRoaXMsIlF1b3RlQmxvY2tIYW5kbGVyIil9dHlwZT0icXVvdGUiO2xhc3RLbm93bkN1cnNvclBvc2l0aW9uPTA7bGFzdFNlbGVjdGVkVGV4dD0iIjtzZWxlY3Rpb25IYW5kbGVyPW51bGw7cmVuZGVyKGUsdCl7bGV0IHI9dD8iIHNlbGVjdGVkIjoiIixpPXRoaXMuZ2V0UGxhY2Vob2xkZXIoKTtyZXR1cm5gCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iYmxvY2sgcXVvdGUke3J9IgogICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgICBkYXRhLXBsYWNlaG9sZGVyPSIke2l9IgogICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgZGF0YS1ibG9jay10eXBlPSIke2UudHlwZX0iCiAgICAgID48L2Rpdj4KICAgIGB9c2V0dXAoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7aWYoIWkpe2NvbnNvbGUuZXJyb3IoIlF1b3RlQmxvY2tIYW5kbGVyLnNldHVwOiBObyBxdW90ZSBibG9jayBlbGVtZW50IGZvdW5kIik7cmV0dXJufXQuY29udGVudCYmIWkuaW5uZXJIVE1MJiYoaS5pbm5lckhUTUw9dC5jb250ZW50KSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixvPT57ci5vbklucHV0KG8pO2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixvPT57bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249biksci5vbktleURvd24obyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+e3Iub25Gb2N1cygpfSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e3Iub25CbHVyKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uc3RhcnQiLCgpPT57ci5vbkNvbXBvc2l0aW9uU3RhcnQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLCgpPT57ci5vbkNvbXBvc2l0aW9uRW5kKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKSxyLm9uTW91c2VVcD8uKG8pfSksaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbz0+e3NldFRpbWVvdXQoKCk9PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKX0sMCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixvPT57bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249bil9KSx0aGlzLnNldHVwU2VsZWN0aW9uSGFuZGxlcihlLGksdCl9c2V0dXBTZWxlY3Rpb25IYW5kbGVyKGUsdCxyKXtsZXQgaT1zKCgpPT57bGV0IG49d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFufHxuLnJhbmdlQ291bnQ9PT0wKXJldHVybjtsZXQgbD1uLnRvU3RyaW5nKCk7aWYobC5sZW5ndGg9PT0wKXt0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6IiIsYmxvY2tJZDpyLmlkLGhhc1NlbGVjdGlvbjohMX0pKTtyZXR1cm59bGV0IGQ9dC5nZXRSb290Tm9kZSgpLmhvc3QscD1kPy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCx1PWQ/LnNoYWRvd1Jvb3QsbT1bXTtwJiZtLnB1c2gocCksdSYmbS5wdXNoKHUpO2xldCB2PXJ0LmdldFNlbGVjdGlvbkluZm8oLi4ubSk7aWYoIXYpcmV0dXJuO2xldCB4PXJ0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHQsdi5zdGFydENvbnRhaW5lciksYj1ydC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTSh0LHYuZW5kQ29udGFpbmVyKTtpZih4fHxiKXtpZihsIT09dGhpcy5sYXN0U2VsZWN0ZWRUZXh0KXt0aGlzLmxhc3RTZWxlY3RlZFRleHQ9bDtsZXQgZz1ydC5jcmVhdGVSYW5nZUZyb21JbmZvKHYpLHk9Zy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDpsLnRyaW0oKSxibG9ja0lkOnIuaWQscmFuZ2U6ZyxyZWN0OnksaGFzU2VsZWN0aW9uOiEwfSl9fWVsc2UgdGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OiIiLGJsb2NrSWQ6ci5pZCxoYXNTZWxlY3Rpb246ITF9KSl9LCJjaGVja1NlbGVjdGlvbiIpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsaSksdGhpcy5zZWxlY3Rpb25IYW5kbGVyPWk7bGV0IG89dC5nZXRSb290Tm9kZSgpLmhvc3Q7aWYobyl7bGV0IG49by5kaXNjb25uZWN0ZWRDYWxsYmFjayxsPXRoaXM7by5kaXNjb25uZWN0ZWRDYWxsYmFjaz1hc3luYyBmdW5jdGlvbigpe2wuc2VsZWN0aW9uSGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsbC5zZWxlY3Rpb25IYW5kbGVyKSxsLnNlbGVjdGlvbkhhbmRsZXI9bnVsbCksbiYmYXdhaXQgbi5jYWxsKG8pfX19ZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHQpe2xldCByPW5ldyBDdXN0b21FdmVudCgiYmxvY2stdGV4dC1zZWxlY3RlZCIse2RldGFpbDp0LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KTtlLmRpc3BhdGNoRXZlbnQocil9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBRdW90ZSBzcGVjaWZpYyBzdHlsZXMgKi8KICAgICAgLmJsb2NrLnF1b3RlIHsKICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICR7aC5iZFRoZW1lKCIjMDA2NmNjIiwiIzRkOTRmZiIpfTsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNTU1IiwiI2IwYjBiMCIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICBtYXJnaW46IDE2cHggMDsKICAgICAgfQogICAgYH1nZXRQbGFjZWhvbGRlcigpe3JldHVybiJBZGQgYSBxdW90ZS4uLiJ9Z2V0Q3Vyc29yUG9zaXRpb24oZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO2lmKCFyKXJldHVybiBudWxsO2xldCBuPXQ/LmNvbXBvbmVudD8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3QsbD10Py5zaGFkb3dSb290LGQ9W107biYmZC5wdXNoKG4pLGwmJmQucHVzaChsKTtsZXQgYz1ydC5nZXRTZWxlY3Rpb25JbmZvKC4uLmQpO2lmKCFjfHwhcnQuY29udGFpbnNBY3Jvc3NTaGFkb3dET00ocixjLnN0YXJ0Q29udGFpbmVyKSlyZXR1cm4gbnVsbDtsZXQgcD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBwLnNlbGVjdE5vZGVDb250ZW50cyhyKSxwLnNldEVuZChjLnN0YXJ0Q29udGFpbmVyLGMuc3RhcnRPZmZzZXQpLHAudG9TdHJpbmcoKS5sZW5ndGh9Z2V0Q29udGVudChlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7cmV0dXJuIHImJnIuaW5uZXJIVE1MfHwiIn1zZXRDb250ZW50KGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO2lmKCFpKXJldHVybjtsZXQgbz1kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aTtpLmlubmVySFRNTD10LG8mJmkuZm9jdXMoKX1zZXRDdXJzb3JUb1N0YXJ0KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtyJiZzaS5zZXRDdXJzb3JUb1N0YXJ0KHIpfXNldEN1cnNvclRvRW5kKGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtyJiZzaS5zZXRDdXJzb3JUb0VuZChyKX1mb2N1cyhlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7ciYmKHIuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8ci5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSxyLmZvY3VzKCksZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXImJmUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudCE9PXImJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntyLmZvY3VzKCl9KSl9Zm9jdXNXaXRoQ3Vyc29yKGUsdD0iZW5kIixyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO2lmKCFpKXJldHVybjtpLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fGkuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksaS5mb2N1cygpO2xldCBvPXMoKCk9Pnt0PT09InN0YXJ0Ij90aGlzLnNldEN1cnNvclRvU3RhcnQoZSxyKTp0PT09ImVuZCI/dGhpcy5zZXRDdXJzb3JUb0VuZChlLHIpOnR5cGVvZiB0PT0ibnVtYmVyIiYmcnQuc2V0Q3Vyc29yUG9zaXRpb24oaSx0KX0sInNldEN1cnNvciIpO2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pP28oKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pKSYmbygpfSl9Z2V0U3BsaXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtpZighcilyZXR1cm4gbnVsbDtsZXQgbj10Py5jb21wb25lbnQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LGw9dD8uc2hhZG93Um9vdCxkPVtdO24mJmQucHVzaChuKSxsJiZkLnB1c2gobCk7bGV0IGM9cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi5kKTtpZighYyl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBrPXIudGV4dENvbnRlbnR8fCIiLEM9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixrLmxlbmd0aCk7cmV0dXJue2JlZm9yZTprLnN1YnN0cmluZygwLEMpLGFmdGVyOmsuc3Vic3RyaW5nKEMpfX1yZXR1cm4gbnVsbH1pZighcnQuY29udGFpbnNBY3Jvc3NTaGFkb3dET00ocixjLnN0YXJ0Q29udGFpbmVyKSl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBrPXIudGV4dENvbnRlbnR8fCIiLEM9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixrLmxlbmd0aCk7cmV0dXJue2JlZm9yZTprLnN1YnN0cmluZygwLEMpLGFmdGVyOmsuc3Vic3RyaW5nKEMpfX1yZXR1cm4gbnVsbH1sZXQgcD10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUsdCk7aWYocD09PW51bGx8fHA9PT0wKXJldHVybntiZWZvcmU6IiIsYWZ0ZXI6ci5pbm5lckhUTUx9O2xldCB1PWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksbT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3Uuc2V0U3RhcnQociwwKSx1LnNldEVuZChjLnN0YXJ0Q29udGFpbmVyLGMuc3RhcnRPZmZzZXQpLG0uc2V0U3RhcnQoYy5zdGFydENvbnRhaW5lcixjLnN0YXJ0T2Zmc2V0KSxtLnNldEVuZChyLHIuY2hpbGROb2Rlcy5sZW5ndGgpO2xldCB2PXUuY2xvbmVDb250ZW50cygpLHg9bS5jbG9uZUNvbnRlbnRzKCksYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmFwcGVuZENoaWxkKHYpO2xldCBnPWIuaW5uZXJIVE1MO2IuaW5uZXJIVE1MPSIiLGIuYXBwZW5kQ2hpbGQoeCk7bGV0IHk9Yi5pbm5lckhUTUw7cmV0dXJue2JlZm9yZTpnLGFmdGVyOnl9fX19KTtmdW5jdGlvbiBFaShhKXt0aGlzLmNvbnRlbnQ9YX12YXIgYUtlLGdpYT1mKCgpPT57cyhFaSwiT3JkZXJlZE1hcCIpLEVpLnByb3RvdHlwZT17Y29uc3RydWN0b3I6RWksZmluZDpzKGZ1bmN0aW9uKGEpe2Zvcih2YXIgZT0wO2U8dGhpcy5jb250ZW50Lmxlbmd0aDtlKz0yKWlmKHRoaXMuY29udGVudFtlXT09PWEpcmV0dXJuIGU7cmV0dXJuLTF9LCJmaW5kIiksZ2V0OnMoZnVuY3Rpb24oYSl7dmFyIGU9dGhpcy5maW5kKGEpO3JldHVybiBlPT0tMT92b2lkIDA6dGhpcy5jb250ZW50W2UrMV19LCJnZXQiKSx1cGRhdGU6cyhmdW5jdGlvbihhLGUsdCl7dmFyIHI9dCYmdCE9YT90aGlzLnJlbW92ZSh0KTp0aGlzLGk9ci5maW5kKGEpLG89ci5jb250ZW50LnNsaWNlKCk7cmV0dXJuIGk9PS0xP28ucHVzaCh0fHxhLGUpOihvW2krMV09ZSx0JiYob1tpXT10KSksbmV3IEVpKG8pfSwidXBkYXRlIikscmVtb3ZlOnMoZnVuY3Rpb24oYSl7dmFyIGU9dGhpcy5maW5kKGEpO2lmKGU9PS0xKXJldHVybiB0aGlzO3ZhciB0PXRoaXMuY29udGVudC5zbGljZSgpO3JldHVybiB0LnNwbGljZShlLDIpLG5ldyBFaSh0KX0sInJlbW92ZSIpLGFkZFRvU3RhcnQ6cyhmdW5jdGlvbihhLGUpe3JldHVybiBuZXcgRWkoW2EsZV0uY29uY2F0KHRoaXMucmVtb3ZlKGEpLmNvbnRlbnQpKX0sImFkZFRvU3RhcnQiKSxhZGRUb0VuZDpzKGZ1bmN0aW9uKGEsZSl7dmFyIHQ9dGhpcy5yZW1vdmUoYSkuY29udGVudC5zbGljZSgpO3JldHVybiB0LnB1c2goYSxlKSxuZXcgRWkodCl9LCJhZGRUb0VuZCIpLGFkZEJlZm9yZTpzKGZ1bmN0aW9uKGEsZSx0KXt2YXIgcj10aGlzLnJlbW92ZShlKSxpPXIuY29udGVudC5zbGljZSgpLG89ci5maW5kKGEpO3JldHVybiBpLnNwbGljZShvPT0tMT9pLmxlbmd0aDpvLDAsZSx0KSxuZXcgRWkoaSl9LCJhZGRCZWZvcmUiKSxmb3JFYWNoOnMoZnVuY3Rpb24oYSl7Zm9yKHZhciBlPTA7ZTx0aGlzLmNvbnRlbnQubGVuZ3RoO2UrPTIpYSh0aGlzLmNvbnRlbnRbZV0sdGhpcy5jb250ZW50W2UrMV0pfSwiZm9yRWFjaCIpLHByZXBlbmQ6cyhmdW5jdGlvbihhKXtyZXR1cm4gYT1FaS5mcm9tKGEpLGEuc2l6ZT9uZXcgRWkoYS5jb250ZW50LmNvbmNhdCh0aGlzLnN1YnRyYWN0KGEpLmNvbnRlbnQpKTp0aGlzfSwicHJlcGVuZCIpLGFwcGVuZDpzKGZ1bmN0aW9uKGEpe3JldHVybiBhPUVpLmZyb20oYSksYS5zaXplP25ldyBFaSh0aGlzLnN1YnRyYWN0KGEpLmNvbnRlbnQuY29uY2F0KGEuY29udGVudCkpOnRoaXN9LCJhcHBlbmQiKSxzdWJ0cmFjdDpzKGZ1bmN0aW9uKGEpe3ZhciBlPXRoaXM7YT1FaS5mcm9tKGEpO2Zvcih2YXIgdD0wO3Q8YS5jb250ZW50Lmxlbmd0aDt0Kz0yKWU9ZS5yZW1vdmUoYS5jb250ZW50W3RdKTtyZXR1cm4gZX0sInN1YnRyYWN0IiksdG9PYmplY3Q6cyhmdW5jdGlvbigpe3ZhciBhPXt9O3JldHVybiB0aGlzLmZvckVhY2goZnVuY3Rpb24oZSx0KXthW2VdPXR9KSxhfSwidG9PYmplY3QiKSxnZXQgc2l6ZSgpe3JldHVybiB0aGlzLmNvbnRlbnQubGVuZ3RoPj4xfX0sRWkuZnJvbT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgRWkpcmV0dXJuIGE7dmFyIGU9W107aWYoYSlmb3IodmFyIHQgaW4gYSllLnB1c2godCxhW3RdKTtyZXR1cm4gbmV3IEVpKGUpfTthS2U9RWl9KTtmdW5jdGlvbiBiaWEoYSxlLHQpe2ZvcihsZXQgcj0wOztyKyspe2lmKHI9PWEuY2hpbGRDb3VudHx8cj09ZS5jaGlsZENvdW50KXJldHVybiBhLmNoaWxkQ291bnQ9PWUuY2hpbGRDb3VudD9udWxsOnQ7bGV0IGk9YS5jaGlsZChyKSxvPWUuY2hpbGQocik7aWYoaT09byl7dCs9aS5ub2RlU2l6ZTtjb250aW51ZX1pZighaS5zYW1lTWFya3VwKG8pKXJldHVybiB0O2lmKGkuaXNUZXh0JiZpLnRleHQhPW8udGV4dCl7Zm9yKGxldCBuPTA7aS50ZXh0W25dPT1vLnRleHRbbl07bisrKXQrKztyZXR1cm4gdH1pZihpLmNvbnRlbnQuc2l6ZXx8by5jb250ZW50LnNpemUpe2xldCBuPWJpYShpLmNvbnRlbnQsby5jb250ZW50LHQrMSk7aWYobiE9bnVsbClyZXR1cm4gbn10Kz1pLm5vZGVTaXplfX1mdW5jdGlvbiB2aWEoYSxlLHQscil7Zm9yKGxldCBpPWEuY2hpbGRDb3VudCxvPWUuY2hpbGRDb3VudDs7KXtpZihpPT0wfHxvPT0wKXJldHVybiBpPT1vP251bGw6e2E6dCxiOnJ9O2xldCBuPWEuY2hpbGQoLS1pKSxsPWUuY2hpbGQoLS1vKSxkPW4ubm9kZVNpemU7aWYobj09bCl7dC09ZCxyLT1kO2NvbnRpbnVlfWlmKCFuLnNhbWVNYXJrdXAobCkpcmV0dXJue2E6dCxiOnJ9O2lmKG4uaXNUZXh0JiZuLnRleHQhPWwudGV4dCl7bGV0IGM9MCxwPU1hdGgubWluKG4udGV4dC5sZW5ndGgsbC50ZXh0Lmxlbmd0aCk7Zm9yKDtjPHAmJm4udGV4dFtuLnRleHQubGVuZ3RoLWMtMV09PWwudGV4dFtsLnRleHQubGVuZ3RoLWMtMV07KWMrKyx0LS0sci0tO3JldHVybnthOnQsYjpyfX1pZihuLmNvbnRlbnQuc2l6ZXx8bC5jb250ZW50LnNpemUpe2xldCBjPXZpYShuLmNvbnRlbnQsbC5jb250ZW50LHQtMSxyLTEpO2lmKGMpcmV0dXJuIGN9dC09ZCxyLT1kfX1mdW5jdGlvbiBDYWUoYSxlKXtyZXR1cm4gcktlLmluZGV4PWEscktlLm9mZnNldD1lLHJLZX1mdW5jdGlvbiBfYWUoYSxlKXtpZihhPT09ZSlyZXR1cm4hMDtpZighKGEmJnR5cGVvZiBhPT0ib2JqZWN0Iil8fCEoZSYmdHlwZW9mIGU9PSJvYmplY3QiKSlyZXR1cm4hMTtsZXQgdD1BcnJheS5pc0FycmF5KGEpO2lmKEFycmF5LmlzQXJyYXkoZSkhPXQpcmV0dXJuITE7aWYodCl7aWYoYS5sZW5ndGghPWUubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgcj0wO3I8YS5sZW5ndGg7cisrKWlmKCFfYWUoYVtyXSxlW3JdKSlyZXR1cm4hMX1lbHNle2ZvcihsZXQgciBpbiBhKWlmKCEociBpbiBlKXx8IV9hZShhW3JdLGVbcl0pKXJldHVybiExO2ZvcihsZXQgciBpbiBlKWlmKCEociBpbiBhKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiB4aWEoYSxlLHQpe2xldHtpbmRleDpyLG9mZnNldDppfT1hLmZpbmRJbmRleChlKSxvPWEubWF5YmVDaGlsZChyKSx7aW5kZXg6bixvZmZzZXQ6bH09YS5maW5kSW5kZXgodCk7aWYoaT09ZXx8by5pc1RleHQpe2lmKGwhPXQmJiFhLmNoaWxkKG4pLmlzVGV4dCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiUmVtb3Zpbmcgbm9uLWZsYXQgcmFuZ2UiKTtyZXR1cm4gYS5jdXQoMCxlKS5hcHBlbmQoYS5jdXQodCkpfWlmKHIhPW4pdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlJlbW92aW5nIG5vbi1mbGF0IHJhbmdlIik7cmV0dXJuIGEucmVwbGFjZUNoaWxkKHIsby5jb3B5KHhpYShvLmNvbnRlbnQsZS1pLTEsdC1pLTEpKSl9ZnVuY3Rpb24geWlhKGEsZSx0LHIpe2xldHtpbmRleDppLG9mZnNldDpvfT1hLmZpbmRJbmRleChlKSxuPWEubWF5YmVDaGlsZChpKTtpZihvPT1lfHxuLmlzVGV4dClyZXR1cm4gciYmIXIuY2FuUmVwbGFjZShpLGksdCk/bnVsbDphLmN1dCgwLGUpLmFwcGVuZCh0KS5hcHBlbmQoYS5jdXQoZSkpO2xldCBsPXlpYShuLmNvbnRlbnQsZS1vLTEsdCxuKTtyZXR1cm4gbCYmYS5yZXBsYWNlQ2hpbGQoaSxuLmNvcHkobCkpfWZ1bmN0aW9uIFEkYShhLGUsdCl7aWYodC5vcGVuU3RhcnQ+YS5kZXB0aCl0aHJvdyBuZXcgZDQoIkluc2VydGVkIGNvbnRlbnQgZGVlcGVyIHRoYW4gaW5zZXJ0aW9uIHBvc2l0aW9uIik7aWYoYS5kZXB0aC10Lm9wZW5TdGFydCE9ZS5kZXB0aC10Lm9wZW5FbmQpdGhyb3cgbmV3IGQ0KCJJbmNvbnNpc3RlbnQgb3BlbiBkZXB0aHMiKTtyZXR1cm4gd2lhKGEsZSx0LDApfWZ1bmN0aW9uIHdpYShhLGUsdCxyKXtsZXQgaT1hLmluZGV4KHIpLG89YS5ub2RlKHIpO2lmKGk9PWUuaW5kZXgocikmJnI8YS5kZXB0aC10Lm9wZW5TdGFydCl7bGV0IG49d2lhKGEsZSx0LHIrMSk7cmV0dXJuIG8uY29weShvLmNvbnRlbnQucmVwbGFjZUNoaWxkKGksbikpfWVsc2UgaWYodC5jb250ZW50LnNpemUpaWYoIXQub3BlblN0YXJ0JiYhdC5vcGVuRW5kJiZhLmRlcHRoPT1yJiZlLmRlcHRoPT1yKXtsZXQgbj1hLnBhcmVudCxsPW4uY29udGVudDtyZXR1cm4gTmYobixsLmN1dCgwLGEucGFyZW50T2Zmc2V0KS5hcHBlbmQodC5jb250ZW50KS5hcHBlbmQobC5jdXQoZS5wYXJlbnRPZmZzZXQpKSl9ZWxzZXtsZXR7c3RhcnQ6bixlbmQ6bH09SiRhKHQsYSk7cmV0dXJuIE5mKG8sa2lhKGEsbixsLGUscikpfWVsc2UgcmV0dXJuIE5mKG8sVGFlKGEsZSxyKSl9ZnVuY3Rpb24gTWlhKGEsZSl7aWYoIWUudHlwZS5jb21wYXRpYmxlQ29udGVudChhLnR5cGUpKXRocm93IG5ldyBkNCgiQ2Fubm90IGpvaW4gIitlLnR5cGUubmFtZSsiIG9udG8gIithLnR5cGUubmFtZSl9ZnVuY3Rpb24gc0tlKGEsZSx0KXtsZXQgcj1hLm5vZGUodCk7cmV0dXJuIE1pYShyLGUubm9kZSh0KSkscn1mdW5jdGlvbiBJZihhLGUpe2xldCB0PWUubGVuZ3RoLTE7dD49MCYmYS5pc1RleHQmJmEuc2FtZU1hcmt1cChlW3RdKT9lW3RdPWEud2l0aFRleHQoZVt0XS50ZXh0K2EudGV4dCk6ZS5wdXNoKGEpfWZ1bmN0aW9uIE9VKGEsZSx0LHIpe2xldCBpPShlfHxhKS5ub2RlKHQpLG89MCxuPWU/ZS5pbmRleCh0KTppLmNoaWxkQ291bnQ7YSYmKG89YS5pbmRleCh0KSxhLmRlcHRoPnQ/bysrOmEudGV4dE9mZnNldCYmKElmKGEubm9kZUFmdGVyLHIpLG8rKykpO2ZvcihsZXQgbD1vO2w8bjtsKyspSWYoaS5jaGlsZChsKSxyKTtlJiZlLmRlcHRoPT10JiZlLnRleHRPZmZzZXQmJklmKGUubm9kZUJlZm9yZSxyKX1mdW5jdGlvbiBOZihhLGUpe3JldHVybiBhLnR5cGUuY2hlY2tDb250ZW50KGUpLGEuY29weShlKX1mdW5jdGlvbiBraWEoYSxlLHQscixpKXtsZXQgbz1hLmRlcHRoPmkmJnNLZShhLGUsaSsxKSxuPXIuZGVwdGg+aSYmc0tlKHQscixpKzEpLGw9W107cmV0dXJuIE9VKG51bGwsYSxpLGwpLG8mJm4mJmUuaW5kZXgoaSk9PXQuaW5kZXgoaSk/KE1pYShvLG4pLElmKE5mKG8sa2lhKGEsZSx0LHIsaSsxKSksbCkpOihvJiZJZihOZihvLFRhZShhLGUsaSsxKSksbCksT1UoZSx0LGksbCksbiYmSWYoTmYobixUYWUodCxyLGkrMSkpLGwpKSxPVShyLG51bGwsaSxsKSxuZXcgamUobCl9ZnVuY3Rpb24gVGFlKGEsZSx0KXtsZXQgcj1bXTtpZihPVShudWxsLGEsdCxyKSxhLmRlcHRoPnQpe2xldCBpPXNLZShhLGUsdCsxKTtJZihOZihpLFRhZShhLGUsdCsxKSkscil9cmV0dXJuIE9VKGUsbnVsbCx0LHIpLG5ldyBqZShyKX1mdW5jdGlvbiBKJGEoYSxlKXtsZXQgdD1lLmRlcHRoLWEub3BlblN0YXJ0LGk9ZS5ub2RlKHQpLmNvcHkoYS5jb250ZW50KTtmb3IobGV0IG89dC0xO28+PTA7by0tKWk9ZS5ub2RlKG8pLmNvcHkoamUuZnJvbShpKSk7cmV0dXJue3N0YXJ0OmkucmVzb2x2ZU5vQ2FjaGUoYS5vcGVuU3RhcnQrdCksZW5kOmkucmVzb2x2ZU5vQ2FjaGUoaS5jb250ZW50LnNpemUtYS5vcGVuRW5kLXQpfX1mdW5jdGlvbiB6aWEoYSxlKXtmb3IobGV0IHQ9YS5sZW5ndGgtMTt0Pj0wO3QtLSllPWFbdF0udHlwZS5uYW1lKyIoIitlKyIpIjtyZXR1cm4gZX1mdW5jdGlvbiBDaWEoYSl7bGV0IGU9W107ZG8gZS5wdXNoKGFEYShhKSk7d2hpbGUoYS5lYXQoInwiKSk7cmV0dXJuIGUubGVuZ3RoPT0xP2VbMF06e3R5cGU6ImNob2ljZSIsZXhwcnM6ZX19ZnVuY3Rpb24gYURhKGEpe2xldCBlPVtdO2RvIGUucHVzaChyRGEoYSkpO3doaWxlKGEubmV4dCYmYS5uZXh0IT0iKSImJmEubmV4dCE9InwiKTtyZXR1cm4gZS5sZW5ndGg9PTE/ZVswXTp7dHlwZToic2VxIixleHByczplfX1mdW5jdGlvbiByRGEoYSl7bGV0IGU9b0RhKGEpO2Zvcig7OylpZihhLmVhdCgiKyIpKWU9e3R5cGU6InBsdXMiLGV4cHI6ZX07ZWxzZSBpZihhLmVhdCgiKiIpKWU9e3R5cGU6InN0YXIiLGV4cHI6ZX07ZWxzZSBpZihhLmVhdCgiPyIpKWU9e3R5cGU6Im9wdCIsZXhwcjplfTtlbHNlIGlmKGEuZWF0KCJ7IikpZT1zRGEoYSxlKTtlbHNlIGJyZWFrO3JldHVybiBlfWZ1bmN0aW9uIF9pYShhKXsvXEQvLnRlc3QoYS5uZXh0KSYmYS5lcnIoIkV4cGVjdGVkIG51bWJlciwgZ290ICciK2EubmV4dCsiJyIpO2xldCBlPU51bWJlcihhLm5leHQpO3JldHVybiBhLnBvcysrLGV9ZnVuY3Rpb24gc0RhKGEsZSl7bGV0IHQ9X2lhKGEpLHI9dDtyZXR1cm4gYS5lYXQoIiwiKSYmKGEubmV4dCE9In0iP3I9X2lhKGEpOnI9LTEpLGEuZWF0KCJ9Iil8fGEuZXJyKCJVbmNsb3NlZCBicmFjZWQgcmFuZ2UiKSx7dHlwZToicmFuZ2UiLG1pbjp0LG1heDpyLGV4cHI6ZX19ZnVuY3Rpb24gaURhKGEsZSl7bGV0IHQ9YS5ub2RlVHlwZXMscj10W2VdO2lmKHIpcmV0dXJuW3JdO2xldCBpPVtdO2ZvcihsZXQgbyBpbiB0KXtsZXQgbj10W29dO24uaXNJbkdyb3VwKGUpJiZpLnB1c2gobil9cmV0dXJuIGkubGVuZ3RoPT0wJiZhLmVycigiTm8gbm9kZSB0eXBlIG9yIGdyb3VwICciK2UrIicgZm91bmQiKSxpfWZ1bmN0aW9uIG9EYShhKXtpZihhLmVhdCgiKCIpKXtsZXQgZT1DaWEoYSk7cmV0dXJuIGEuZWF0KCIpIil8fGEuZXJyKCJNaXNzaW5nIGNsb3NpbmcgcGFyZW4iKSxlfWVsc2UgaWYoL1xXLy50ZXN0KGEubmV4dCkpYS5lcnIoIlVuZXhwZWN0ZWQgdG9rZW4gJyIrYS5uZXh0KyInIik7ZWxzZXtsZXQgZT1pRGEoYSxhLm5leHQpLm1hcCh0PT4oYS5pbmxpbmU9PW51bGw/YS5pbmxpbmU9dC5pc0lubGluZTphLmlubGluZSE9dC5pc0lubGluZSYmYS5lcnIoIk1peGluZyBpbmxpbmUgYW5kIGJsb2NrIGNvbnRlbnQiKSx7dHlwZToibmFtZSIsdmFsdWU6dH0pKTtyZXR1cm4gYS5wb3MrKyxlLmxlbmd0aD09MT9lWzBdOnt0eXBlOiJjaG9pY2UiLGV4cHJzOmV9fX1mdW5jdGlvbiBuRGEoYSl7bGV0IGU9W1tdXTtyZXR1cm4gaShvKGEsMCksdCgpKSxlO2Z1bmN0aW9uIHQoKXtyZXR1cm4gZS5wdXNoKFtdKS0xfXModCwibm9kZSIpO2Z1bmN0aW9uIHIobixsLGQpe2xldCBjPXt0ZXJtOmQsdG86bH07cmV0dXJuIGVbbl0ucHVzaChjKSxjfXMociwiZWRnZSIpO2Z1bmN0aW9uIGkobixsKXtuLmZvckVhY2goZD0+ZC50bz1sKX1zKGksImNvbm5lY3QiKTtmdW5jdGlvbiBvKG4sbCl7aWYobi50eXBlPT0iY2hvaWNlIilyZXR1cm4gbi5leHBycy5yZWR1Y2UoKGQsYyk9PmQuY29uY2F0KG8oYyxsKSksW10pO2lmKG4udHlwZT09InNlcSIpZm9yKGxldCBkPTA7O2QrKyl7bGV0IGM9byhuLmV4cHJzW2RdLGwpO2lmKGQ9PW4uZXhwcnMubGVuZ3RoLTEpcmV0dXJuIGM7aShjLGw9dCgpKX1lbHNlIGlmKG4udHlwZT09InN0YXIiKXtsZXQgZD10KCk7cmV0dXJuIHIobCxkKSxpKG8obi5leHByLGQpLGQpLFtyKGQpXX1lbHNlIGlmKG4udHlwZT09InBsdXMiKXtsZXQgZD10KCk7cmV0dXJuIGkobyhuLmV4cHIsbCksZCksaShvKG4uZXhwcixkKSxkKSxbcihkKV19ZWxzZXtpZihuLnR5cGU9PSJvcHQiKXJldHVybltyKGwpXS5jb25jYXQobyhuLmV4cHIsbCkpO2lmKG4udHlwZT09InJhbmdlIil7bGV0IGQ9bDtmb3IobGV0IGM9MDtjPG4ubWluO2MrKyl7bGV0IHA9dCgpO2kobyhuLmV4cHIsZCkscCksZD1wfWlmKG4ubWF4PT0tMSlpKG8obi5leHByLGQpLGQpO2Vsc2UgZm9yKGxldCBjPW4ubWluO2M8bi5tYXg7YysrKXtsZXQgcD10KCk7cihkLHApLGkobyhuLmV4cHIsZCkscCksZD1wfXJldHVybltyKGQpXX1lbHNle2lmKG4udHlwZT09Im5hbWUiKXJldHVybltyKGwsdm9pZCAwLG4udmFsdWUpXTt0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gZXhwciB0eXBlIil9fX1zKG8sImNvbXBpbGUiKX1mdW5jdGlvbiBUaWEoYSxlKXtyZXR1cm4gZS1hfWZ1bmN0aW9uIExpYShhLGUpe2xldCB0PVtdO3JldHVybiByKGUpLHQuc29ydChUaWEpO2Z1bmN0aW9uIHIoaSl7bGV0IG89YVtpXTtpZihvLmxlbmd0aD09MSYmIW9bMF0udGVybSlyZXR1cm4gcihvWzBdLnRvKTt0LnB1c2goaSk7Zm9yKGxldCBuPTA7bjxvLmxlbmd0aDtuKyspe2xldHt0ZXJtOmwsdG86ZH09b1tuXTshbCYmdC5pbmRleE9mKGQpPT0tMSYmcihkKX19cyhyLCJzY2FuIil9ZnVuY3Rpb24gbERhKGEpe2xldCBlPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIHQoTGlhKGEsMCkpO2Z1bmN0aW9uIHQocil7bGV0IGk9W107ci5mb3JFYWNoKG49PnthW25dLmZvckVhY2goKHt0ZXJtOmwsdG86ZH0pPT57aWYoIWwpcmV0dXJuO2xldCBjO2ZvcihsZXQgcD0wO3A8aS5sZW5ndGg7cCsrKWlbcF1bMF09PWwmJihjPWlbcF1bMV0pO0xpYShhLGQpLmZvckVhY2gocD0+e2N8fGkucHVzaChbbCxjPVtdXSksYy5pbmRleE9mKHApPT0tMSYmYy5wdXNoKHApfSl9KX0pO2xldCBvPWVbci5qb2luKCIsIildPW5ldyBjNChyLmluZGV4T2YoYS5sZW5ndGgtMSk+LTEpO2ZvcihsZXQgbj0wO248aS5sZW5ndGg7bisrKXtsZXQgbD1pW25dWzFdLnNvcnQoVGlhKTtvLm5leHQucHVzaCh7dHlwZTppW25dWzBdLG5leHQ6ZVtsLmpvaW4oIiwiKV18fHQobCl9KX1yZXR1cm4gb319ZnVuY3Rpb24gY0RhKGEsZSl7Zm9yKGxldCB0PTAscj1bYV07dDxyLmxlbmd0aDt0Kyspe2xldCBpPXJbdF0sbz0haS52YWxpZEVuZCxuPVtdO2ZvcihsZXQgbD0wO2w8aS5uZXh0Lmxlbmd0aDtsKyspe2xldHt0eXBlOmQsbmV4dDpjfT1pLm5leHRbbF07bi5wdXNoKGQubmFtZSksbyYmIShkLmlzVGV4dHx8ZC5oYXNSZXF1aXJlZEF0dHJzKCkpJiYobz0hMSksci5pbmRleE9mKGMpPT0tMSYmci5wdXNoKGMpfW8mJmUuZXJyKCJPbmx5IG5vbi1nZW5lcmF0YWJsZSBub2RlcyAoIituLmpvaW4oIiwgIikrIikgaW4gYSByZXF1aXJlZCBwb3NpdGlvbiAoc2VlIGh0dHBzOi8vcHJvc2VtaXJyb3IubmV0L2RvY3MvZ3VpZGUvI2dlbmVyYXRhYmxlKSIpfX1mdW5jdGlvbiAkaWEoYSl7bGV0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IHQgaW4gYSl7bGV0IHI9YVt0XTtpZighci5oYXNEZWZhdWx0KXJldHVybiBudWxsO2VbdF09ci5kZWZhdWx0fXJldHVybiBlfWZ1bmN0aW9uIERpYShhLGUpe2xldCB0PU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCByIGluIGEpe2xldCBpPWUmJmVbcl07aWYoaT09PXZvaWQgMCl7bGV0IG89YVtyXTtpZihvLmhhc0RlZmF1bHQpaT1vLmRlZmF1bHQ7ZWxzZSB0aHJvdyBuZXcgUmFuZ2VFcnJvcigiTm8gdmFsdWUgc3VwcGxpZWQgZm9yIGF0dHJpYnV0ZSAiK3IpfXRbcl09aX1yZXR1cm4gdH1mdW5jdGlvbiBBaWEoYSxlLHQscil7Zm9yKGxldCBpIGluIGUpaWYoIShpIGluIGEpKXRocm93IG5ldyBSYW5nZUVycm9yKGBVbnN1cHBvcnRlZCBhdHRyaWJ1dGUgJHtpfSBmb3IgJHt0fSBvZiB0eXBlICR7aX1gKTtmb3IobGV0IGkgaW4gYSl7bGV0IG89YVtpXTtvLnZhbGlkYXRlJiZvLnZhbGlkYXRlKGVbaV0pfX1mdW5jdGlvbiBQaWEoYSxlKXtsZXQgdD1PYmplY3QuY3JlYXRlKG51bGwpO2lmKGUpZm9yKGxldCByIGluIGUpdFtyXT1uZXcgbEtlKGEscixlW3JdKTtyZXR1cm4gdH1mdW5jdGlvbiBkRGEoYSxlLHQpe2xldCByPXQuc3BsaXQoInwiKTtyZXR1cm4gaT0+e2xldCBvPWk9PT1udWxsPyJudWxsIjp0eXBlb2YgaTtpZihyLmluZGV4T2Yobyk8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgRXhwZWN0ZWQgdmFsdWUgb2YgdHlwZSAke3J9IGZvciBhdHRyaWJ1dGUgJHtlfSBvbiB0eXBlICR7YX0sIGdvdCAke299YCl9fWZ1bmN0aW9uIEVpYShhLGUpe2xldCB0PVtdO2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKXtsZXQgaT1lW3JdLG89YS5tYXJrc1tpXSxuPW87aWYobyl0LnB1c2gobyk7ZWxzZSBmb3IobGV0IGwgaW4gYS5tYXJrcyl7bGV0IGQ9YS5tYXJrc1tsXTsoaT09Il8ifHxkLnNwZWMuZ3JvdXAmJmQuc3BlYy5ncm91cC5zcGxpdCgiICIpLmluZGV4T2YoaSk+LTEpJiZ0LnB1c2gobj1kKX1pZighbil0aHJvdyBuZXcgU3ludGF4RXJyb3IoIlVua25vd24gbWFyayB0eXBlOiAnIitlW3JdKyInIil9cmV0dXJuIHR9ZnVuY3Rpb24gdURhKGEpe3JldHVybiBhLnRhZyE9bnVsbH1mdW5jdGlvbiBwRGEoYSl7cmV0dXJuIGEuc3R5bGUhPW51bGx9ZnVuY3Rpb24gUmlhKGEsZSx0KXtyZXR1cm4gZSE9bnVsbD8oZT9IVTowKXwoZT09PSJmdWxsIj9jS2U6MCk6YSYmYS53aGl0ZXNwYWNlPT0icHJlIj9IVXxjS2U6dCZ+cVV9ZnVuY3Rpb24gaERhKGEpe2ZvcihsZXQgZT1hLmZpcnN0Q2hpbGQsdD1udWxsO2U7ZT1lLm5leHRTaWJsaW5nKXtsZXQgcj1lLm5vZGVUeXBlPT0xP2Uubm9kZU5hbWUudG9Mb3dlckNhc2UoKTpudWxsO3ImJk5pYS5oYXNPd25Qcm9wZXJ0eShyKSYmdD8odC5hcHBlbmRDaGlsZChlKSxlPXQpOnI9PSJsaSI/dD1lOnImJih0PW51bGwpfX1mdW5jdGlvbiBtRGEoYSxlKXtyZXR1cm4oYS5tYXRjaGVzfHxhLm1zTWF0Y2hlc1NlbGVjdG9yfHxhLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8YS5tb3pNYXRjaGVzU2VsZWN0b3IpLmNhbGwoYSxlKX1mdW5jdGlvbiBPaWEoYSl7bGV0IGU9e307Zm9yKGxldCB0IGluIGEpZVt0XT1hW3RdO3JldHVybiBlfWZ1bmN0aW9uIEZpYShhLGUpe2xldCB0PWUuc2NoZW1hLm5vZGVzO2ZvcihsZXQgciBpbiB0KXtsZXQgaT10W3JdO2lmKCFpLmFsbG93c01hcmtUeXBlKGEpKWNvbnRpbnVlO2xldCBvPVtdLG49cyhsPT57by5wdXNoKGwpO2ZvcihsZXQgZD0wO2Q8bC5lZGdlQ291bnQ7ZCsrKXtsZXR7dHlwZTpjLG5leHQ6cH09bC5lZGdlKGQpO2lmKGM9PWV8fG8uaW5kZXhPZihwKTwwJiZuKHApKXJldHVybiEwfX0sInNjYW4iKTtpZihuKGkuY29udGVudE1hdGNoKSlyZXR1cm4hMH19ZnVuY3Rpb24gQmlhKGEpe2xldCBlPXt9O2ZvcihsZXQgdCBpbiBhKXtsZXQgcj1hW3RdLnNwZWMudG9ET007ciYmKGVbdF09cil9cmV0dXJuIGV9ZnVuY3Rpb24gZEtlKGEpe3JldHVybiBhLmRvY3VtZW50fHx3aW5kb3cuZG9jdW1lbnR9ZnVuY3Rpb24gZ0RhKGEpe2xldCBlPUhpYS5nZXQoYSk7cmV0dXJuIGU9PT12b2lkIDAmJkhpYS5zZXQoYSxlPWJEYShhKSksZX1mdW5jdGlvbiBiRGEoYSl7bGV0IGU9bnVsbDtmdW5jdGlvbiB0KHIpe2lmKHImJnR5cGVvZiByPT0ib2JqZWN0IilpZihBcnJheS5pc0FycmF5KHIpKWlmKHR5cGVvZiByWzBdPT0ic3RyaW5nIillfHwoZT1bXSksZS5wdXNoKHIpO2Vsc2UgZm9yKGxldCBpPTA7aTxyLmxlbmd0aDtpKyspdChyW2ldKTtlbHNlIGZvcihsZXQgaSBpbiByKXQocltpXSl9cmV0dXJuIHModCwic2NhbiIpLHQoYSksZX1mdW5jdGlvbiAkYWUoYSxlLHQscil7aWYodHlwZW9mIGU9PSJzdHJpbmciKXJldHVybntkb206YS5jcmVhdGVUZXh0Tm9kZShlKX07aWYoZS5ub2RlVHlwZSE9bnVsbClyZXR1cm57ZG9tOmV9O2lmKGUuZG9tJiZlLmRvbS5ub2RlVHlwZSE9bnVsbClyZXR1cm4gZTtsZXQgaT1lWzBdLG87aWYodHlwZW9mIGkhPSJzdHJpbmciKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIGFycmF5IHBhc3NlZCB0byByZW5kZXJTcGVjIik7aWYociYmKG89Z0RhKHIpKSYmby5pbmRleE9mKGUpPi0xKXRocm93IG5ldyBSYW5nZUVycm9yKCJVc2luZyBhbiBhcnJheSBmcm9tIGFuIGF0dHJpYnV0ZSBvYmplY3QgYXMgYSBET00gc3BlYy4gVGhpcyBtYXkgYmUgYW4gYXR0ZW1wdGVkIGNyb3NzIHNpdGUgc2NyaXB0aW5nIGF0dGFjay4iKTtsZXQgbj1pLmluZGV4T2YoIiAiKTtuPjAmJih0PWkuc2xpY2UoMCxuKSxpPWkuc2xpY2UobisxKSk7bGV0IGwsZD10P2EuY3JlYXRlRWxlbWVudE5TKHQsaSk6YS5jcmVhdGVFbGVtZW50KGkpLGM9ZVsxXSxwPTE7aWYoYyYmdHlwZW9mIGM9PSJvYmplY3QiJiZjLm5vZGVUeXBlPT1udWxsJiYhQXJyYXkuaXNBcnJheShjKSl7cD0yO2ZvcihsZXQgdSBpbiBjKWlmKGNbdV0hPW51bGwpe2xldCBtPXUuaW5kZXhPZigiICIpO20+MD9kLnNldEF0dHJpYnV0ZU5TKHUuc2xpY2UoMCxtKSx1LnNsaWNlKG0rMSksY1t1XSk6dT09InN0eWxlIiYmZC5zdHlsZT9kLnN0eWxlLmNzc1RleHQ9Y1t1XTpkLnNldEF0dHJpYnV0ZSh1LGNbdV0pfX1mb3IobGV0IHU9cDt1PGUubGVuZ3RoO3UrKyl7bGV0IG09ZVt1XTtpZihtPT09MCl7aWYodTxlLmxlbmd0aC0xfHx1PnApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNvbnRlbnQgaG9sZSBtdXN0IGJlIHRoZSBvbmx5IGNoaWxkIG9mIGl0cyBwYXJlbnQgbm9kZSIpO3JldHVybntkb206ZCxjb250ZW50RE9NOmR9fWVsc2V7bGV0e2RvbTp2LGNvbnRlbnRET006eH09JGFlKGEsbSx0LHIpO2lmKGQuYXBwZW5kQ2hpbGQodikseCl7aWYobCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiTXVsdGlwbGUgY29udGVudCBob2xlcyIpO2w9eH19fXJldHVybntkb206ZCxjb250ZW50RE9NOmx9fXZhciBqZSxyS2UsRGEsZDQsc3QsRlUsaUtlLGVEYSxTaWEsdTQsdERhLEtpLG9LZSxjNCxuS2UsQlUsbEtlLHVtLHBtLE4xLElpYSxmRGEsTmlhLEhVLGNLZSxxVSxkbSxMYWUsVzIsSGlhLHA0PWYoKCk9PntnaWEoKTtzKGJpYSwiZmluZERpZmZTdGFydCIpO3ModmlhLCJmaW5kRGlmZkVuZCIpO2plPWNsYXNzIGF7c3RhdGlje3ModGhpcywiRnJhZ21lbnQiKX1jb25zdHJ1Y3RvcihlLHQpe2lmKHRoaXMuY29udGVudD1lLHRoaXMuc2l6ZT10fHwwLHQ9PW51bGwpZm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKyspdGhpcy5zaXplKz1lW3JdLm5vZGVTaXplfW5vZGVzQmV0d2VlbihlLHQscixpPTAsbyl7Zm9yKGxldCBuPTAsbD0wO2w8dDtuKyspe2xldCBkPXRoaXMuY29udGVudFtuXSxjPWwrZC5ub2RlU2l6ZTtpZihjPmUmJnIoZCxpK2wsb3x8bnVsbCxuKSE9PSExJiZkLmNvbnRlbnQuc2l6ZSl7bGV0IHA9bCsxO2Qubm9kZXNCZXR3ZWVuKE1hdGgubWF4KDAsZS1wKSxNYXRoLm1pbihkLmNvbnRlbnQuc2l6ZSx0LXApLHIsaStwKX1sPWN9fWRlc2NlbmRhbnRzKGUpe3RoaXMubm9kZXNCZXR3ZWVuKDAsdGhpcy5zaXplLGUpfXRleHRCZXR3ZWVuKGUsdCxyLGkpe2xldCBvPSIiLG49ITA7cmV0dXJuIHRoaXMubm9kZXNCZXR3ZWVuKGUsdCwobCxkKT0+e2xldCBjPWwuaXNUZXh0P2wudGV4dC5zbGljZShNYXRoLm1heChlLGQpLWQsdC1kKTpsLmlzTGVhZj9pP3R5cGVvZiBpPT0iZnVuY3Rpb24iP2kobCk6aTpsLnR5cGUuc3BlYy5sZWFmVGV4dD9sLnR5cGUuc3BlYy5sZWFmVGV4dChsKToiIjoiIjtsLmlzQmxvY2smJihsLmlzTGVhZiYmY3x8bC5pc1RleHRibG9jaykmJnImJihuP249ITE6bys9ciksbys9Y30sMCksb31hcHBlbmQoZSl7aWYoIWUuc2l6ZSlyZXR1cm4gdGhpcztpZighdGhpcy5zaXplKXJldHVybiBlO2xldCB0PXRoaXMubGFzdENoaWxkLHI9ZS5maXJzdENoaWxkLGk9dGhpcy5jb250ZW50LnNsaWNlKCksbz0wO2Zvcih0LmlzVGV4dCYmdC5zYW1lTWFya3VwKHIpJiYoaVtpLmxlbmd0aC0xXT10LndpdGhUZXh0KHQudGV4dCtyLnRleHQpLG89MSk7bzxlLmNvbnRlbnQubGVuZ3RoO28rKylpLnB1c2goZS5jb250ZW50W29dKTtyZXR1cm4gbmV3IGEoaSx0aGlzLnNpemUrZS5zaXplKX1jdXQoZSx0PXRoaXMuc2l6ZSl7aWYoZT09MCYmdD09dGhpcy5zaXplKXJldHVybiB0aGlzO2xldCByPVtdLGk9MDtpZih0PmUpZm9yKGxldCBvPTAsbj0wO248dDtvKyspe2xldCBsPXRoaXMuY29udGVudFtvXSxkPW4rbC5ub2RlU2l6ZTtkPmUmJigobjxlfHxkPnQpJiYobC5pc1RleHQ/bD1sLmN1dChNYXRoLm1heCgwLGUtbiksTWF0aC5taW4obC50ZXh0Lmxlbmd0aCx0LW4pKTpsPWwuY3V0KE1hdGgubWF4KDAsZS1uLTEpLE1hdGgubWluKGwuY29udGVudC5zaXplLHQtbi0xKSkpLHIucHVzaChsKSxpKz1sLm5vZGVTaXplKSxuPWR9cmV0dXJuIG5ldyBhKHIsaSl9Y3V0QnlJbmRleChlLHQpe3JldHVybiBlPT10P2EuZW1wdHk6ZT09MCYmdD09dGhpcy5jb250ZW50Lmxlbmd0aD90aGlzOm5ldyBhKHRoaXMuY29udGVudC5zbGljZShlLHQpKX1yZXBsYWNlQ2hpbGQoZSx0KXtsZXQgcj10aGlzLmNvbnRlbnRbZV07aWYocj09dClyZXR1cm4gdGhpcztsZXQgaT10aGlzLmNvbnRlbnQuc2xpY2UoKSxvPXRoaXMuc2l6ZSt0Lm5vZGVTaXplLXIubm9kZVNpemU7cmV0dXJuIGlbZV09dCxuZXcgYShpLG8pfWFkZFRvU3RhcnQoZSl7cmV0dXJuIG5ldyBhKFtlXS5jb25jYXQodGhpcy5jb250ZW50KSx0aGlzLnNpemUrZS5ub2RlU2l6ZSl9YWRkVG9FbmQoZSl7cmV0dXJuIG5ldyBhKHRoaXMuY29udGVudC5jb25jYXQoZSksdGhpcy5zaXplK2Uubm9kZVNpemUpfWVxKGUpe2lmKHRoaXMuY29udGVudC5sZW5ndGghPWUuY29udGVudC5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCB0PTA7dDx0aGlzLmNvbnRlbnQubGVuZ3RoO3QrKylpZighdGhpcy5jb250ZW50W3RdLmVxKGUuY29udGVudFt0XSkpcmV0dXJuITE7cmV0dXJuITB9Z2V0IGZpcnN0Q2hpbGQoKXtyZXR1cm4gdGhpcy5jb250ZW50Lmxlbmd0aD90aGlzLmNvbnRlbnRbMF06bnVsbH1nZXQgbGFzdENoaWxkKCl7cmV0dXJuIHRoaXMuY29udGVudC5sZW5ndGg/dGhpcy5jb250ZW50W3RoaXMuY29udGVudC5sZW5ndGgtMV06bnVsbH1nZXQgY2hpbGRDb3VudCgpe3JldHVybiB0aGlzLmNvbnRlbnQubGVuZ3RofWNoaWxkKGUpe2xldCB0PXRoaXMuY29udGVudFtlXTtpZighdCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggIitlKyIgb3V0IG9mIHJhbmdlIGZvciAiK3RoaXMpO3JldHVybiB0fW1heWJlQ2hpbGQoZSl7cmV0dXJuIHRoaXMuY29udGVudFtlXXx8bnVsbH1mb3JFYWNoKGUpe2ZvcihsZXQgdD0wLHI9MDt0PHRoaXMuY29udGVudC5sZW5ndGg7dCsrKXtsZXQgaT10aGlzLmNvbnRlbnRbdF07ZShpLHIsdCkscis9aS5ub2RlU2l6ZX19ZmluZERpZmZTdGFydChlLHQ9MCl7cmV0dXJuIGJpYSh0aGlzLGUsdCl9ZmluZERpZmZFbmQoZSx0PXRoaXMuc2l6ZSxyPWUuc2l6ZSl7cmV0dXJuIHZpYSh0aGlzLGUsdCxyKX1maW5kSW5kZXgoZSl7aWYoZT09MClyZXR1cm4gQ2FlKDAsZSk7aWYoZT09dGhpcy5zaXplKXJldHVybiBDYWUodGhpcy5jb250ZW50Lmxlbmd0aCxlKTtpZihlPnRoaXMuc2l6ZXx8ZTwwKXRocm93IG5ldyBSYW5nZUVycm9yKGBQb3NpdGlvbiAke2V9IG91dHNpZGUgb2YgZnJhZ21lbnQgKCR7dGhpc30pYCk7Zm9yKGxldCB0PTAscj0wOzt0Kyspe2xldCBpPXRoaXMuY2hpbGQodCksbz1yK2kubm9kZVNpemU7aWYobz49ZSlyZXR1cm4gbz09ZT9DYWUodCsxLG8pOkNhZSh0LHIpO3I9b319dG9TdHJpbmcoKXtyZXR1cm4iPCIrdGhpcy50b1N0cmluZ0lubmVyKCkrIj4ifXRvU3RyaW5nSW5uZXIoKXtyZXR1cm4gdGhpcy5jb250ZW50LmpvaW4oIiwgIil9dG9KU09OKCl7cmV0dXJuIHRoaXMuY29udGVudC5sZW5ndGg/dGhpcy5jb250ZW50Lm1hcChlPT5lLnRvSlNPTigpKTpudWxsfXN0YXRpYyBmcm9tSlNPTihlLHQpe2lmKCF0KXJldHVybiBhLmVtcHR5O2lmKCFBcnJheS5pc0FycmF5KHQpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIGlucHV0IGZvciBGcmFnbWVudC5mcm9tSlNPTiIpO3JldHVybiBuZXcgYSh0Lm1hcChlLm5vZGVGcm9tSlNPTikpfXN0YXRpYyBmcm9tQXJyYXkoZSl7aWYoIWUubGVuZ3RoKXJldHVybiBhLmVtcHR5O2xldCB0LHI9MDtmb3IobGV0IGk9MDtpPGUubGVuZ3RoO2krKyl7bGV0IG89ZVtpXTtyKz1vLm5vZGVTaXplLGkmJm8uaXNUZXh0JiZlW2ktMV0uc2FtZU1hcmt1cChvKT8odHx8KHQ9ZS5zbGljZSgwLGkpKSx0W3QubGVuZ3RoLTFdPW8ud2l0aFRleHQodFt0Lmxlbmd0aC0xXS50ZXh0K28udGV4dCkpOnQmJnQucHVzaChvKX1yZXR1cm4gbmV3IGEodHx8ZSxyKX1zdGF0aWMgZnJvbShlKXtpZighZSlyZXR1cm4gYS5lbXB0eTtpZihlIGluc3RhbmNlb2YgYSlyZXR1cm4gZTtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiB0aGlzLmZyb21BcnJheShlKTtpZihlLmF0dHJzKXJldHVybiBuZXcgYShbZV0sZS5ub2RlU2l6ZSk7dGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNhbiBub3QgY29udmVydCAiK2UrIiB0byBhIEZyYWdtZW50IisoZS5ub2Rlc0JldHdlZW4/IiAobG9va3MgbGlrZSBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBwcm9zZW1pcnJvci1tb2RlbCB3ZXJlIGxvYWRlZCkiOiIiKSl9fTtqZS5lbXB0eT1uZXcgamUoW10sMCk7cktlPXtpbmRleDowLG9mZnNldDowfTtzKENhZSwicmV0SW5kZXgiKTtzKF9hZSwiY29tcGFyZURlZXAiKTtEYT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk1hcmsiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMudHlwZT1lLHRoaXMuYXR0cnM9dH1hZGRUb1NldChlKXtsZXQgdCxyPSExO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtsZXQgbz1lW2ldO2lmKHRoaXMuZXEobykpcmV0dXJuIGU7aWYodGhpcy50eXBlLmV4Y2x1ZGVzKG8udHlwZSkpdHx8KHQ9ZS5zbGljZSgwLGkpKTtlbHNle2lmKG8udHlwZS5leGNsdWRlcyh0aGlzLnR5cGUpKXJldHVybiBlOyFyJiZvLnR5cGUucmFuaz50aGlzLnR5cGUucmFuayYmKHR8fCh0PWUuc2xpY2UoMCxpKSksdC5wdXNoKHRoaXMpLHI9ITApLHQmJnQucHVzaChvKX19cmV0dXJuIHR8fCh0PWUuc2xpY2UoKSkscnx8dC5wdXNoKHRoaXMpLHR9cmVtb3ZlRnJvbVNldChlKXtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylpZih0aGlzLmVxKGVbdF0pKXJldHVybiBlLnNsaWNlKDAsdCkuY29uY2F0KGUuc2xpY2UodCsxKSk7cmV0dXJuIGV9aXNJblNldChlKXtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylpZih0aGlzLmVxKGVbdF0pKXJldHVybiEwO3JldHVybiExfWVxKGUpe3JldHVybiB0aGlzPT1lfHx0aGlzLnR5cGU9PWUudHlwZSYmX2FlKHRoaXMuYXR0cnMsZS5hdHRycyl9dG9KU09OKCl7bGV0IGU9e3R5cGU6dGhpcy50eXBlLm5hbWV9O2ZvcihsZXQgdCBpbiB0aGlzLmF0dHJzKXtlLmF0dHJzPXRoaXMuYXR0cnM7YnJlYWt9cmV0dXJuIGV9c3RhdGljIGZyb21KU09OKGUsdCl7aWYoIXQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIE1hcmsuZnJvbUpTT04iKTtsZXQgcj1lLm1hcmtzW3QudHlwZV07aWYoIXIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFRoZXJlIGlzIG5vIG1hcmsgdHlwZSAke3QudHlwZX0gaW4gdGhpcyBzY2hlbWFgKTtsZXQgaT1yLmNyZWF0ZSh0LmF0dHJzKTtyZXR1cm4gci5jaGVja0F0dHJzKGkuYXR0cnMpLGl9c3RhdGljIHNhbWVTZXQoZSx0KXtpZihlPT10KXJldHVybiEwO2lmKGUubGVuZ3RoIT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKylpZighZVtyXS5lcSh0W3JdKSlyZXR1cm4hMTtyZXR1cm4hMH1zdGF0aWMgc2V0RnJvbShlKXtpZighZXx8QXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGg9PTApcmV0dXJuIGEubm9uZTtpZihlIGluc3RhbmNlb2YgYSlyZXR1cm5bZV07bGV0IHQ9ZS5zbGljZSgpO3JldHVybiB0LnNvcnQoKHIsaSk9PnIudHlwZS5yYW5rLWkudHlwZS5yYW5rKSx0fX07RGEubm9uZT1bXTtkND1jbGFzcyBleHRlbmRzIEVycm9ye3N0YXRpY3tzKHRoaXMsIlJlcGxhY2VFcnJvciIpfX0sc3Q9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTbGljZSIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLmNvbnRlbnQ9ZSx0aGlzLm9wZW5TdGFydD10LHRoaXMub3BlbkVuZD1yfWdldCBzaXplKCl7cmV0dXJuIHRoaXMuY29udGVudC5zaXplLXRoaXMub3BlblN0YXJ0LXRoaXMub3BlbkVuZH1pbnNlcnRBdChlLHQpe2xldCByPXlpYSh0aGlzLmNvbnRlbnQsZSt0aGlzLm9wZW5TdGFydCx0KTtyZXR1cm4gciYmbmV3IGEocix0aGlzLm9wZW5TdGFydCx0aGlzLm9wZW5FbmQpfXJlbW92ZUJldHdlZW4oZSx0KXtyZXR1cm4gbmV3IGEoeGlhKHRoaXMuY29udGVudCxlK3RoaXMub3BlblN0YXJ0LHQrdGhpcy5vcGVuU3RhcnQpLHRoaXMub3BlblN0YXJ0LHRoaXMub3BlbkVuZCl9ZXEoZSl7cmV0dXJuIHRoaXMuY29udGVudC5lcShlLmNvbnRlbnQpJiZ0aGlzLm9wZW5TdGFydD09ZS5vcGVuU3RhcnQmJnRoaXMub3BlbkVuZD09ZS5vcGVuRW5kfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuY29udGVudCsiKCIrdGhpcy5vcGVuU3RhcnQrIiwiK3RoaXMub3BlbkVuZCsiKSJ9dG9KU09OKCl7aWYoIXRoaXMuY29udGVudC5zaXplKXJldHVybiBudWxsO2xldCBlPXtjb250ZW50OnRoaXMuY29udGVudC50b0pTT04oKX07cmV0dXJuIHRoaXMub3BlblN0YXJ0PjAmJihlLm9wZW5TdGFydD10aGlzLm9wZW5TdGFydCksdGhpcy5vcGVuRW5kPjAmJihlLm9wZW5FbmQ9dGhpcy5vcGVuRW5kKSxlfXN0YXRpYyBmcm9tSlNPTihlLHQpe2lmKCF0KXJldHVybiBhLmVtcHR5O2xldCByPXQub3BlblN0YXJ0fHwwLGk9dC5vcGVuRW5kfHwwO2lmKHR5cGVvZiByIT0ibnVtYmVyInx8dHlwZW9mIGkhPSJudW1iZXIiKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIGlucHV0IGZvciBTbGljZS5mcm9tSlNPTiIpO3JldHVybiBuZXcgYShqZS5mcm9tSlNPTihlLHQuY29udGVudCkscixpKX1zdGF0aWMgbWF4T3BlbihlLHQ9ITApe2xldCByPTAsaT0wO2ZvcihsZXQgbz1lLmZpcnN0Q2hpbGQ7byYmIW8uaXNMZWFmJiYodHx8IW8udHlwZS5zcGVjLmlzb2xhdGluZyk7bz1vLmZpcnN0Q2hpbGQpcisrO2ZvcihsZXQgbz1lLmxhc3RDaGlsZDtvJiYhby5pc0xlYWYmJih0fHwhby50eXBlLnNwZWMuaXNvbGF0aW5nKTtvPW8ubGFzdENoaWxkKWkrKztyZXR1cm4gbmV3IGEoZSxyLGkpfX07c3QuZW1wdHk9bmV3IHN0KGplLmVtcHR5LDAsMCk7cyh4aWEsInJlbW92ZVJhbmdlIik7cyh5aWEsImluc2VydEludG8iKTtzKFEkYSwicmVwbGFjZSIpO3Mod2lhLCJyZXBsYWNlT3V0ZXIiKTtzKE1pYSwiY2hlY2tKb2luIik7cyhzS2UsImpvaW5hYmxlIik7cyhJZiwiYWRkTm9kZSIpO3MoT1UsImFkZFJhbmdlIik7cyhOZiwiY2xvc2UiKTtzKGtpYSwicmVwbGFjZVRocmVlV2F5Iik7cyhUYWUsInJlcGxhY2VUd29XYXkiKTtzKEokYSwicHJlcGFyZVNsaWNlRm9yUmVwbGFjZSIpO0ZVPWNsYXNzIGF7c3RhdGlje3ModGhpcywiUmVzb2x2ZWRQb3MiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5wb3M9ZSx0aGlzLnBhdGg9dCx0aGlzLnBhcmVudE9mZnNldD1yLHRoaXMuZGVwdGg9dC5sZW5ndGgvMy0xfXJlc29sdmVEZXB0aChlKXtyZXR1cm4gZT09bnVsbD90aGlzLmRlcHRoOmU8MD90aGlzLmRlcHRoK2U6ZX1nZXQgcGFyZW50KCl7cmV0dXJuIHRoaXMubm9kZSh0aGlzLmRlcHRoKX1nZXQgZG9jKCl7cmV0dXJuIHRoaXMubm9kZSgwKX1ub2RlKGUpe3JldHVybiB0aGlzLnBhdGhbdGhpcy5yZXNvbHZlRGVwdGgoZSkqM119aW5kZXgoZSl7cmV0dXJuIHRoaXMucGF0aFt0aGlzLnJlc29sdmVEZXB0aChlKSozKzFdfWluZGV4QWZ0ZXIoZSl7cmV0dXJuIGU9dGhpcy5yZXNvbHZlRGVwdGgoZSksdGhpcy5pbmRleChlKSsoZT09dGhpcy5kZXB0aCYmIXRoaXMudGV4dE9mZnNldD8wOjEpfXN0YXJ0KGUpe3JldHVybiBlPXRoaXMucmVzb2x2ZURlcHRoKGUpLGU9PTA/MDp0aGlzLnBhdGhbZSozLTFdKzF9ZW5kKGUpe3JldHVybiBlPXRoaXMucmVzb2x2ZURlcHRoKGUpLHRoaXMuc3RhcnQoZSkrdGhpcy5ub2RlKGUpLmNvbnRlbnQuc2l6ZX1iZWZvcmUoZSl7aWYoZT10aGlzLnJlc29sdmVEZXB0aChlKSwhZSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiVGhlcmUgaXMgbm8gcG9zaXRpb24gYmVmb3JlIHRoZSB0b3AtbGV2ZWwgbm9kZSIpO3JldHVybiBlPT10aGlzLmRlcHRoKzE/dGhpcy5wb3M6dGhpcy5wYXRoW2UqMy0xXX1hZnRlcihlKXtpZihlPXRoaXMucmVzb2x2ZURlcHRoKGUpLCFlKXRocm93IG5ldyBSYW5nZUVycm9yKCJUaGVyZSBpcyBubyBwb3NpdGlvbiBhZnRlciB0aGUgdG9wLWxldmVsIG5vZGUiKTtyZXR1cm4gZT09dGhpcy5kZXB0aCsxP3RoaXMucG9zOnRoaXMucGF0aFtlKjMtMV0rdGhpcy5wYXRoW2UqM10ubm9kZVNpemV9Z2V0IHRleHRPZmZzZXQoKXtyZXR1cm4gdGhpcy5wb3MtdGhpcy5wYXRoW3RoaXMucGF0aC5sZW5ndGgtMV19Z2V0IG5vZGVBZnRlcigpe2xldCBlPXRoaXMucGFyZW50LHQ9dGhpcy5pbmRleCh0aGlzLmRlcHRoKTtpZih0PT1lLmNoaWxkQ291bnQpcmV0dXJuIG51bGw7bGV0IHI9dGhpcy5wb3MtdGhpcy5wYXRoW3RoaXMucGF0aC5sZW5ndGgtMV0saT1lLmNoaWxkKHQpO3JldHVybiByP2UuY2hpbGQodCkuY3V0KHIpOml9Z2V0IG5vZGVCZWZvcmUoKXtsZXQgZT10aGlzLmluZGV4KHRoaXMuZGVwdGgpLHQ9dGhpcy5wb3MtdGhpcy5wYXRoW3RoaXMucGF0aC5sZW5ndGgtMV07cmV0dXJuIHQ/dGhpcy5wYXJlbnQuY2hpbGQoZSkuY3V0KDAsdCk6ZT09MD9udWxsOnRoaXMucGFyZW50LmNoaWxkKGUtMSl9cG9zQXRJbmRleChlLHQpe3Q9dGhpcy5yZXNvbHZlRGVwdGgodCk7bGV0IHI9dGhpcy5wYXRoW3QqM10saT10PT0wPzA6dGhpcy5wYXRoW3QqMy0xXSsxO2ZvcihsZXQgbz0wO288ZTtvKyspaSs9ci5jaGlsZChvKS5ub2RlU2l6ZTtyZXR1cm4gaX1tYXJrcygpe2xldCBlPXRoaXMucGFyZW50LHQ9dGhpcy5pbmRleCgpO2lmKGUuY29udGVudC5zaXplPT0wKXJldHVybiBEYS5ub25lO2lmKHRoaXMudGV4dE9mZnNldClyZXR1cm4gZS5jaGlsZCh0KS5tYXJrcztsZXQgcj1lLm1heWJlQ2hpbGQodC0xKSxpPWUubWF5YmVDaGlsZCh0KTtpZighcil7bGV0IGw9cjtyPWksaT1sfWxldCBvPXIubWFya3M7Zm9yKHZhciBuPTA7bjxvLmxlbmd0aDtuKyspb1tuXS50eXBlLnNwZWMuaW5jbHVzaXZlPT09ITEmJighaXx8IW9bbl0uaXNJblNldChpLm1hcmtzKSkmJihvPW9bbi0tXS5yZW1vdmVGcm9tU2V0KG8pKTtyZXR1cm4gb31tYXJrc0Fjcm9zcyhlKXtsZXQgdD10aGlzLnBhcmVudC5tYXliZUNoaWxkKHRoaXMuaW5kZXgoKSk7aWYoIXR8fCF0LmlzSW5saW5lKXJldHVybiBudWxsO2xldCByPXQubWFya3MsaT1lLnBhcmVudC5tYXliZUNoaWxkKGUuaW5kZXgoKSk7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcltvXS50eXBlLnNwZWMuaW5jbHVzaXZlPT09ITEmJighaXx8IXJbb10uaXNJblNldChpLm1hcmtzKSkmJihyPXJbby0tXS5yZW1vdmVGcm9tU2V0KHIpKTtyZXR1cm4gcn1zaGFyZWREZXB0aChlKXtmb3IobGV0IHQ9dGhpcy5kZXB0aDt0PjA7dC0tKWlmKHRoaXMuc3RhcnQodCk8PWUmJnRoaXMuZW5kKHQpPj1lKXJldHVybiB0O3JldHVybiAwfWJsb2NrUmFuZ2UoZT10aGlzLHQpe2lmKGUucG9zPHRoaXMucG9zKXJldHVybiBlLmJsb2NrUmFuZ2UodGhpcyk7Zm9yKGxldCByPXRoaXMuZGVwdGgtKHRoaXMucGFyZW50LmlubGluZUNvbnRlbnR8fHRoaXMucG9zPT1lLnBvcz8xOjApO3I+PTA7ci0tKWlmKGUucG9zPD10aGlzLmVuZChyKSYmKCF0fHx0KHRoaXMubm9kZShyKSkpKXJldHVybiBuZXcgdTQodGhpcyxlLHIpO3JldHVybiBudWxsfXNhbWVQYXJlbnQoZSl7cmV0dXJuIHRoaXMucG9zLXRoaXMucGFyZW50T2Zmc2V0PT1lLnBvcy1lLnBhcmVudE9mZnNldH1tYXgoZSl7cmV0dXJuIGUucG9zPnRoaXMucG9zP2U6dGhpc31taW4oZSl7cmV0dXJuIGUucG9zPHRoaXMucG9zP2U6dGhpc310b1N0cmluZygpe2xldCBlPSIiO2ZvcihsZXQgdD0xO3Q8PXRoaXMuZGVwdGg7dCsrKWUrPShlPyIvIjoiIikrdGhpcy5ub2RlKHQpLnR5cGUubmFtZSsiXyIrdGhpcy5pbmRleCh0LTEpO3JldHVybiBlKyI6Iit0aGlzLnBhcmVudE9mZnNldH1zdGF0aWMgcmVzb2x2ZShlLHQpe2lmKCEodD49MCYmdDw9ZS5jb250ZW50LnNpemUpKXRocm93IG5ldyBSYW5nZUVycm9yKCJQb3NpdGlvbiAiK3QrIiBvdXQgb2YgcmFuZ2UiKTtsZXQgcj1bXSxpPTAsbz10O2ZvcihsZXQgbj1lOzspe2xldHtpbmRleDpsLG9mZnNldDpkfT1uLmNvbnRlbnQuZmluZEluZGV4KG8pLGM9by1kO2lmKHIucHVzaChuLGwsaStkKSwhY3x8KG49bi5jaGlsZChsKSxuLmlzVGV4dCkpYnJlYWs7bz1jLTEsaSs9ZCsxfXJldHVybiBuZXcgYSh0LHIsbyl9c3RhdGljIHJlc29sdmVDYWNoZWQoZSx0KXtsZXQgcj1TaWEuZ2V0KGUpO2lmKHIpZm9yKGxldCBvPTA7bzxyLmVsdHMubGVuZ3RoO28rKyl7bGV0IG49ci5lbHRzW29dO2lmKG4ucG9zPT10KXJldHVybiBufWVsc2UgU2lhLnNldChlLHI9bmV3IGlLZSk7bGV0IGk9ci5lbHRzW3IuaV09YS5yZXNvbHZlKGUsdCk7cmV0dXJuIHIuaT0oci5pKzEpJWVEYSxpfX0saUtlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlJlc29sdmVDYWNoZSIpfWNvbnN0cnVjdG9yKCl7dGhpcy5lbHRzPVtdLHRoaXMuaT0wfX0sZURhPTEyLFNpYT1uZXcgV2Vha01hcCx1ND1jbGFzc3tzdGF0aWN7cyh0aGlzLCJOb2RlUmFuZ2UiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy4kZnJvbT1lLHRoaXMuJHRvPXQsdGhpcy5kZXB0aD1yfWdldCBzdGFydCgpe3JldHVybiB0aGlzLiRmcm9tLmJlZm9yZSh0aGlzLmRlcHRoKzEpfWdldCBlbmQoKXtyZXR1cm4gdGhpcy4kdG8uYWZ0ZXIodGhpcy5kZXB0aCsxKX1nZXQgcGFyZW50KCl7cmV0dXJuIHRoaXMuJGZyb20ubm9kZSh0aGlzLmRlcHRoKX1nZXQgc3RhcnRJbmRleCgpe3JldHVybiB0aGlzLiRmcm9tLmluZGV4KHRoaXMuZGVwdGgpfWdldCBlbmRJbmRleCgpe3JldHVybiB0aGlzLiR0by5pbmRleEFmdGVyKHRoaXMuZGVwdGgpfX0sdERhPU9iamVjdC5jcmVhdGUobnVsbCksS2k9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJOb2RlIil9Y29uc3RydWN0b3IoZSx0LHIsaT1EYS5ub25lKXt0aGlzLnR5cGU9ZSx0aGlzLmF0dHJzPXQsdGhpcy5tYXJrcz1pLHRoaXMuY29udGVudD1yfHxqZS5lbXB0eX1nZXQgY2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5jb250ZW50LmNvbnRlbnR9Z2V0IG5vZGVTaXplKCl7cmV0dXJuIHRoaXMuaXNMZWFmPzE6Mit0aGlzLmNvbnRlbnQuc2l6ZX1nZXQgY2hpbGRDb3VudCgpe3JldHVybiB0aGlzLmNvbnRlbnQuY2hpbGRDb3VudH1jaGlsZChlKXtyZXR1cm4gdGhpcy5jb250ZW50LmNoaWxkKGUpfW1heWJlQ2hpbGQoZSl7cmV0dXJuIHRoaXMuY29udGVudC5tYXliZUNoaWxkKGUpfWZvckVhY2goZSl7dGhpcy5jb250ZW50LmZvckVhY2goZSl9bm9kZXNCZXR3ZWVuKGUsdCxyLGk9MCl7dGhpcy5jb250ZW50Lm5vZGVzQmV0d2VlbihlLHQscixpLHRoaXMpfWRlc2NlbmRhbnRzKGUpe3RoaXMubm9kZXNCZXR3ZWVuKDAsdGhpcy5jb250ZW50LnNpemUsZSl9Z2V0IHRleHRDb250ZW50KCl7cmV0dXJuIHRoaXMuaXNMZWFmJiZ0aGlzLnR5cGUuc3BlYy5sZWFmVGV4dD90aGlzLnR5cGUuc3BlYy5sZWFmVGV4dCh0aGlzKTp0aGlzLnRleHRCZXR3ZWVuKDAsdGhpcy5jb250ZW50LnNpemUsIiIpfXRleHRCZXR3ZWVuKGUsdCxyLGkpe3JldHVybiB0aGlzLmNvbnRlbnQudGV4dEJldHdlZW4oZSx0LHIsaSl9Z2V0IGZpcnN0Q2hpbGQoKXtyZXR1cm4gdGhpcy5jb250ZW50LmZpcnN0Q2hpbGR9Z2V0IGxhc3RDaGlsZCgpe3JldHVybiB0aGlzLmNvbnRlbnQubGFzdENoaWxkfWVxKGUpe3JldHVybiB0aGlzPT1lfHx0aGlzLnNhbWVNYXJrdXAoZSkmJnRoaXMuY29udGVudC5lcShlLmNvbnRlbnQpfXNhbWVNYXJrdXAoZSl7cmV0dXJuIHRoaXMuaGFzTWFya3VwKGUudHlwZSxlLmF0dHJzLGUubWFya3MpfWhhc01hcmt1cChlLHQscil7cmV0dXJuIHRoaXMudHlwZT09ZSYmX2FlKHRoaXMuYXR0cnMsdHx8ZS5kZWZhdWx0QXR0cnN8fHREYSkmJkRhLnNhbWVTZXQodGhpcy5tYXJrcyxyfHxEYS5ub25lKX1jb3B5KGU9bnVsbCl7cmV0dXJuIGU9PXRoaXMuY29udGVudD90aGlzOm5ldyBhKHRoaXMudHlwZSx0aGlzLmF0dHJzLGUsdGhpcy5tYXJrcyl9bWFyayhlKXtyZXR1cm4gZT09dGhpcy5tYXJrcz90aGlzOm5ldyBhKHRoaXMudHlwZSx0aGlzLmF0dHJzLHRoaXMuY29udGVudCxlKX1jdXQoZSx0PXRoaXMuY29udGVudC5zaXplKXtyZXR1cm4gZT09MCYmdD09dGhpcy5jb250ZW50LnNpemU/dGhpczp0aGlzLmNvcHkodGhpcy5jb250ZW50LmN1dChlLHQpKX1zbGljZShlLHQ9dGhpcy5jb250ZW50LnNpemUscj0hMSl7aWYoZT09dClyZXR1cm4gc3QuZW1wdHk7bGV0IGk9dGhpcy5yZXNvbHZlKGUpLG89dGhpcy5yZXNvbHZlKHQpLG49cj8wOmkuc2hhcmVkRGVwdGgodCksbD1pLnN0YXJ0KG4pLGM9aS5ub2RlKG4pLmNvbnRlbnQuY3V0KGkucG9zLWwsby5wb3MtbCk7cmV0dXJuIG5ldyBzdChjLGkuZGVwdGgtbixvLmRlcHRoLW4pfXJlcGxhY2UoZSx0LHIpe3JldHVybiBRJGEodGhpcy5yZXNvbHZlKGUpLHRoaXMucmVzb2x2ZSh0KSxyKX1ub2RlQXQoZSl7Zm9yKGxldCB0PXRoaXM7Oyl7bGV0e2luZGV4OnIsb2Zmc2V0Oml9PXQuY29udGVudC5maW5kSW5kZXgoZSk7aWYodD10Lm1heWJlQ2hpbGQociksIXQpcmV0dXJuIG51bGw7aWYoaT09ZXx8dC5pc1RleHQpcmV0dXJuIHQ7ZS09aSsxfX1jaGlsZEFmdGVyKGUpe2xldHtpbmRleDp0LG9mZnNldDpyfT10aGlzLmNvbnRlbnQuZmluZEluZGV4KGUpO3JldHVybntub2RlOnRoaXMuY29udGVudC5tYXliZUNoaWxkKHQpLGluZGV4OnQsb2Zmc2V0OnJ9fWNoaWxkQmVmb3JlKGUpe2lmKGU9PTApcmV0dXJue25vZGU6bnVsbCxpbmRleDowLG9mZnNldDowfTtsZXR7aW5kZXg6dCxvZmZzZXQ6cn09dGhpcy5jb250ZW50LmZpbmRJbmRleChlKTtpZihyPGUpcmV0dXJue25vZGU6dGhpcy5jb250ZW50LmNoaWxkKHQpLGluZGV4OnQsb2Zmc2V0OnJ9O2xldCBpPXRoaXMuY29udGVudC5jaGlsZCh0LTEpO3JldHVybntub2RlOmksaW5kZXg6dC0xLG9mZnNldDpyLWkubm9kZVNpemV9fXJlc29sdmUoZSl7cmV0dXJuIEZVLnJlc29sdmVDYWNoZWQodGhpcyxlKX1yZXNvbHZlTm9DYWNoZShlKXtyZXR1cm4gRlUucmVzb2x2ZSh0aGlzLGUpfXJhbmdlSGFzTWFyayhlLHQscil7bGV0IGk9ITE7cmV0dXJuIHQ+ZSYmdGhpcy5ub2Rlc0JldHdlZW4oZSx0LG89PihyLmlzSW5TZXQoby5tYXJrcykmJihpPSEwKSwhaSkpLGl9Z2V0IGlzQmxvY2soKXtyZXR1cm4gdGhpcy50eXBlLmlzQmxvY2t9Z2V0IGlzVGV4dGJsb2NrKCl7cmV0dXJuIHRoaXMudHlwZS5pc1RleHRibG9ja31nZXQgaW5saW5lQ29udGVudCgpe3JldHVybiB0aGlzLnR5cGUuaW5saW5lQ29udGVudH1nZXQgaXNJbmxpbmUoKXtyZXR1cm4gdGhpcy50eXBlLmlzSW5saW5lfWdldCBpc1RleHQoKXtyZXR1cm4gdGhpcy50eXBlLmlzVGV4dH1nZXQgaXNMZWFmKCl7cmV0dXJuIHRoaXMudHlwZS5pc0xlYWZ9Z2V0IGlzQXRvbSgpe3JldHVybiB0aGlzLnR5cGUuaXNBdG9tfXRvU3RyaW5nKCl7aWYodGhpcy50eXBlLnNwZWMudG9EZWJ1Z1N0cmluZylyZXR1cm4gdGhpcy50eXBlLnNwZWMudG9EZWJ1Z1N0cmluZyh0aGlzKTtsZXQgZT10aGlzLnR5cGUubmFtZTtyZXR1cm4gdGhpcy5jb250ZW50LnNpemUmJihlKz0iKCIrdGhpcy5jb250ZW50LnRvU3RyaW5nSW5uZXIoKSsiKSIpLHppYSh0aGlzLm1hcmtzLGUpfWNvbnRlbnRNYXRjaEF0KGUpe2xldCB0PXRoaXMudHlwZS5jb250ZW50TWF0Y2gubWF0Y2hGcmFnbWVudCh0aGlzLmNvbnRlbnQsMCxlKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoIkNhbGxlZCBjb250ZW50TWF0Y2hBdCBvbiBhIG5vZGUgd2l0aCBpbnZhbGlkIGNvbnRlbnQiKTtyZXR1cm4gdH1jYW5SZXBsYWNlKGUsdCxyPWplLmVtcHR5LGk9MCxvPXIuY2hpbGRDb3VudCl7bGV0IG49dGhpcy5jb250ZW50TWF0Y2hBdChlKS5tYXRjaEZyYWdtZW50KHIsaSxvKSxsPW4mJm4ubWF0Y2hGcmFnbWVudCh0aGlzLmNvbnRlbnQsdCk7aWYoIWx8fCFsLnZhbGlkRW5kKXJldHVybiExO2ZvcihsZXQgZD1pO2Q8bztkKyspaWYoIXRoaXMudHlwZS5hbGxvd3NNYXJrcyhyLmNoaWxkKGQpLm1hcmtzKSlyZXR1cm4hMTtyZXR1cm4hMH1jYW5SZXBsYWNlV2l0aChlLHQscixpKXtpZihpJiYhdGhpcy50eXBlLmFsbG93c01hcmtzKGkpKXJldHVybiExO2xldCBvPXRoaXMuY29udGVudE1hdGNoQXQoZSkubWF0Y2hUeXBlKHIpLG49byYmby5tYXRjaEZyYWdtZW50KHRoaXMuY29udGVudCx0KTtyZXR1cm4gbj9uLnZhbGlkRW5kOiExfWNhbkFwcGVuZChlKXtyZXR1cm4gZS5jb250ZW50LnNpemU/dGhpcy5jYW5SZXBsYWNlKHRoaXMuY2hpbGRDb3VudCx0aGlzLmNoaWxkQ291bnQsZS5jb250ZW50KTp0aGlzLnR5cGUuY29tcGF0aWJsZUNvbnRlbnQoZS50eXBlKX1jaGVjaygpe3RoaXMudHlwZS5jaGVja0NvbnRlbnQodGhpcy5jb250ZW50KSx0aGlzLnR5cGUuY2hlY2tBdHRycyh0aGlzLmF0dHJzKTtsZXQgZT1EYS5ub25lO2ZvcihsZXQgdD0wO3Q8dGhpcy5tYXJrcy5sZW5ndGg7dCsrKXtsZXQgcj10aGlzLm1hcmtzW3RdO3IudHlwZS5jaGVja0F0dHJzKHIuYXR0cnMpLGU9ci5hZGRUb1NldChlKX1pZighRGEuc2FtZVNldChlLHRoaXMubWFya3MpKXRocm93IG5ldyBSYW5nZUVycm9yKGBJbnZhbGlkIGNvbGxlY3Rpb24gb2YgbWFya3MgZm9yIG5vZGUgJHt0aGlzLnR5cGUubmFtZX06ICR7dGhpcy5tYXJrcy5tYXAodD0+dC50eXBlLm5hbWUpfWApO3RoaXMuY29udGVudC5mb3JFYWNoKHQ9PnQuY2hlY2soKSl9dG9KU09OKCl7bGV0IGU9e3R5cGU6dGhpcy50eXBlLm5hbWV9O2ZvcihsZXQgdCBpbiB0aGlzLmF0dHJzKXtlLmF0dHJzPXRoaXMuYXR0cnM7YnJlYWt9cmV0dXJuIHRoaXMuY29udGVudC5zaXplJiYoZS5jb250ZW50PXRoaXMuY29udGVudC50b0pTT04oKSksdGhpcy5tYXJrcy5sZW5ndGgmJihlLm1hcmtzPXRoaXMubWFya3MubWFwKHQ9PnQudG9KU09OKCkpKSxlfXN0YXRpYyBmcm9tSlNPTihlLHQpe2lmKCF0KXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIGlucHV0IGZvciBOb2RlLmZyb21KU09OIik7bGV0IHI7aWYodC5tYXJrcyl7aWYoIUFycmF5LmlzQXJyYXkodC5tYXJrcykpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgbWFyayBkYXRhIGZvciBOb2RlLmZyb21KU09OIik7cj10Lm1hcmtzLm1hcChlLm1hcmtGcm9tSlNPTil9aWYodC50eXBlPT0idGV4dCIpe2lmKHR5cGVvZiB0LnRleHQhPSJzdHJpbmciKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRleHQgbm9kZSBpbiBKU09OIik7cmV0dXJuIGUudGV4dCh0LnRleHQscil9bGV0IGk9amUuZnJvbUpTT04oZSx0LmNvbnRlbnQpLG89ZS5ub2RlVHlwZSh0LnR5cGUpLmNyZWF0ZSh0LmF0dHJzLGkscik7cmV0dXJuIG8udHlwZS5jaGVja0F0dHJzKG8uYXR0cnMpLG99fTtLaS5wcm90b3R5cGUudGV4dD12b2lkIDA7b0tlPWNsYXNzIGEgZXh0ZW5kcyBLaXtzdGF0aWN7cyh0aGlzLCJUZXh0Tm9kZSIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe2lmKHN1cGVyKGUsdCxudWxsLGkpLCFyKXRocm93IG5ldyBSYW5nZUVycm9yKCJFbXB0eSB0ZXh0IG5vZGVzIGFyZSBub3QgYWxsb3dlZCIpO3RoaXMudGV4dD1yfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudHlwZS5zcGVjLnRvRGVidWdTdHJpbmc/dGhpcy50eXBlLnNwZWMudG9EZWJ1Z1N0cmluZyh0aGlzKTp6aWEodGhpcy5tYXJrcyxKU09OLnN0cmluZ2lmeSh0aGlzLnRleHQpKX1nZXQgdGV4dENvbnRlbnQoKXtyZXR1cm4gdGhpcy50ZXh0fXRleHRCZXR3ZWVuKGUsdCl7cmV0dXJuIHRoaXMudGV4dC5zbGljZShlLHQpfWdldCBub2RlU2l6ZSgpe3JldHVybiB0aGlzLnRleHQubGVuZ3RofW1hcmsoZSl7cmV0dXJuIGU9PXRoaXMubWFya3M/dGhpczpuZXcgYSh0aGlzLnR5cGUsdGhpcy5hdHRycyx0aGlzLnRleHQsZSl9d2l0aFRleHQoZSl7cmV0dXJuIGU9PXRoaXMudGV4dD90aGlzOm5ldyBhKHRoaXMudHlwZSx0aGlzLmF0dHJzLGUsdGhpcy5tYXJrcyl9Y3V0KGU9MCx0PXRoaXMudGV4dC5sZW5ndGgpe3JldHVybiBlPT0wJiZ0PT10aGlzLnRleHQubGVuZ3RoP3RoaXM6dGhpcy53aXRoVGV4dCh0aGlzLnRleHQuc2xpY2UoZSx0KSl9ZXEoZSl7cmV0dXJuIHRoaXMuc2FtZU1hcmt1cChlKSYmdGhpcy50ZXh0PT1lLnRleHR9dG9KU09OKCl7bGV0IGU9c3VwZXIudG9KU09OKCk7cmV0dXJuIGUudGV4dD10aGlzLnRleHQsZX19O3MoemlhLCJ3cmFwTWFya3MiKTtjND1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkNvbnRlbnRNYXRjaCIpfWNvbnN0cnVjdG9yKGUpe3RoaXMudmFsaWRFbmQ9ZSx0aGlzLm5leHQ9W10sdGhpcy53cmFwQ2FjaGU9W119c3RhdGljIHBhcnNlKGUsdCl7bGV0IHI9bmV3IG5LZShlLHQpO2lmKHIubmV4dD09bnVsbClyZXR1cm4gYS5lbXB0eTtsZXQgaT1DaWEocik7ci5uZXh0JiZyLmVycigiVW5leHBlY3RlZCB0cmFpbGluZyB0ZXh0Iik7bGV0IG89bERhKG5EYShpKSk7cmV0dXJuIGNEYShvLHIpLG99bWF0Y2hUeXBlKGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5uZXh0Lmxlbmd0aDt0KyspaWYodGhpcy5uZXh0W3RdLnR5cGU9PWUpcmV0dXJuIHRoaXMubmV4dFt0XS5uZXh0O3JldHVybiBudWxsfW1hdGNoRnJhZ21lbnQoZSx0PTAscj1lLmNoaWxkQ291bnQpe2xldCBpPXRoaXM7Zm9yKGxldCBvPXQ7aSYmbzxyO28rKylpPWkubWF0Y2hUeXBlKGUuY2hpbGQobykudHlwZSk7cmV0dXJuIGl9Z2V0IGlubGluZUNvbnRlbnQoKXtyZXR1cm4gdGhpcy5uZXh0Lmxlbmd0aCE9MCYmdGhpcy5uZXh0WzBdLnR5cGUuaXNJbmxpbmV9Z2V0IGRlZmF1bHRUeXBlKCl7Zm9yKGxldCBlPTA7ZTx0aGlzLm5leHQubGVuZ3RoO2UrKyl7bGV0e3R5cGU6dH09dGhpcy5uZXh0W2VdO2lmKCEodC5pc1RleHR8fHQuaGFzUmVxdWlyZWRBdHRycygpKSlyZXR1cm4gdH1yZXR1cm4gbnVsbH1jb21wYXRpYmxlKGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5uZXh0Lmxlbmd0aDt0KyspZm9yKGxldCByPTA7cjxlLm5leHQubGVuZ3RoO3IrKylpZih0aGlzLm5leHRbdF0udHlwZT09ZS5uZXh0W3JdLnR5cGUpcmV0dXJuITA7cmV0dXJuITF9ZmlsbEJlZm9yZShlLHQ9ITEscj0wKXtsZXQgaT1bdGhpc107ZnVuY3Rpb24gbyhuLGwpe2xldCBkPW4ubWF0Y2hGcmFnbWVudChlLHIpO2lmKGQmJighdHx8ZC52YWxpZEVuZCkpcmV0dXJuIGplLmZyb20obC5tYXAoYz0+Yy5jcmVhdGVBbmRGaWxsKCkpKTtmb3IobGV0IGM9MDtjPG4ubmV4dC5sZW5ndGg7YysrKXtsZXR7dHlwZTpwLG5leHQ6dX09bi5uZXh0W2NdO2lmKCEocC5pc1RleHR8fHAuaGFzUmVxdWlyZWRBdHRycygpKSYmaS5pbmRleE9mKHUpPT0tMSl7aS5wdXNoKHUpO2xldCBtPW8odSxsLmNvbmNhdChwKSk7aWYobSlyZXR1cm4gbX19cmV0dXJuIG51bGx9cmV0dXJuIHMobywic2VhcmNoIiksbyh0aGlzLFtdKX1maW5kV3JhcHBpbmcoZSl7Zm9yKGxldCByPTA7cjx0aGlzLndyYXBDYWNoZS5sZW5ndGg7cis9MilpZih0aGlzLndyYXBDYWNoZVtyXT09ZSlyZXR1cm4gdGhpcy53cmFwQ2FjaGVbcisxXTtsZXQgdD10aGlzLmNvbXB1dGVXcmFwcGluZyhlKTtyZXR1cm4gdGhpcy53cmFwQ2FjaGUucHVzaChlLHQpLHR9Y29tcHV0ZVdyYXBwaW5nKGUpe2xldCB0PU9iamVjdC5jcmVhdGUobnVsbCkscj1be21hdGNoOnRoaXMsdHlwZTpudWxsLHZpYTpudWxsfV07Zm9yKDtyLmxlbmd0aDspe2xldCBpPXIuc2hpZnQoKSxvPWkubWF0Y2g7aWYoby5tYXRjaFR5cGUoZSkpe2xldCBuPVtdO2ZvcihsZXQgbD1pO2wudHlwZTtsPWwudmlhKW4ucHVzaChsLnR5cGUpO3JldHVybiBuLnJldmVyc2UoKX1mb3IobGV0IG49MDtuPG8ubmV4dC5sZW5ndGg7bisrKXtsZXR7dHlwZTpsLG5leHQ6ZH09by5uZXh0W25dOyFsLmlzTGVhZiYmIWwuaGFzUmVxdWlyZWRBdHRycygpJiYhKGwubmFtZSBpbiB0KSYmKCFpLnR5cGV8fGQudmFsaWRFbmQpJiYoci5wdXNoKHttYXRjaDpsLmNvbnRlbnRNYXRjaCx0eXBlOmwsdmlhOml9KSx0W2wubmFtZV09ITApfX1yZXR1cm4gbnVsbH1nZXQgZWRnZUNvdW50KCl7cmV0dXJuIHRoaXMubmV4dC5sZW5ndGh9ZWRnZShlKXtpZihlPj10aGlzLm5leHQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKGBUaGVyZSdzIG5vICR7ZX10aCBlZGdlIGluIHRoaXMgY29udGVudCBtYXRjaGApO3JldHVybiB0aGlzLm5leHRbZV19dG9TdHJpbmcoKXtsZXQgZT1bXTtmdW5jdGlvbiB0KHIpe2UucHVzaChyKTtmb3IobGV0IGk9MDtpPHIubmV4dC5sZW5ndGg7aSsrKWUuaW5kZXhPZihyLm5leHRbaV0ubmV4dCk9PS0xJiZ0KHIubmV4dFtpXS5uZXh0KX1yZXR1cm4gcyh0LCJzY2FuIiksdCh0aGlzKSxlLm1hcCgocixpKT0+e2xldCBvPWkrKHIudmFsaWRFbmQ/IioiOiIgIikrIiAiO2ZvcihsZXQgbj0wO248ci5uZXh0Lmxlbmd0aDtuKyspbys9KG4/IiwgIjoiIikrci5uZXh0W25dLnR5cGUubmFtZSsiLT4iK2UuaW5kZXhPZihyLm5leHRbbl0ubmV4dCk7cmV0dXJuIG99KS5qb2luKGAKYCl9fTtjNC5lbXB0eT1uZXcgYzQoITApO25LZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUb2tlblN0cmVhbSIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5zdHJpbmc9ZSx0aGlzLm5vZGVUeXBlcz10LHRoaXMuaW5saW5lPW51bGwsdGhpcy5wb3M9MCx0aGlzLnRva2Vucz1lLnNwbGl0KC9ccyooPz1cYnxcV3wkKS8pLHRoaXMudG9rZW5zW3RoaXMudG9rZW5zLmxlbmd0aC0xXT09IiImJnRoaXMudG9rZW5zLnBvcCgpLHRoaXMudG9rZW5zWzBdPT0iIiYmdGhpcy50b2tlbnMuc2hpZnQoKX1nZXQgbmV4dCgpe3JldHVybiB0aGlzLnRva2Vuc1t0aGlzLnBvc119ZWF0KGUpe3JldHVybiB0aGlzLm5leHQ9PWUmJih0aGlzLnBvcysrfHwhMCl9ZXJyKGUpe3Rocm93IG5ldyBTeW50YXhFcnJvcihlKyIgKGluIGNvbnRlbnQgZXhwcmVzc2lvbiAnIit0aGlzLnN0cmluZysiJykiKX19O3MoQ2lhLCJwYXJzZUV4cHIiKTtzKGFEYSwicGFyc2VFeHByU2VxIik7cyhyRGEsInBhcnNlRXhwclN1YnNjcmlwdCIpO3MoX2lhLCJwYXJzZU51bSIpO3Moc0RhLCJwYXJzZUV4cHJSYW5nZSIpO3MoaURhLCJyZXNvbHZlTmFtZSIpO3Mob0RhLCJwYXJzZUV4cHJBdG9tIik7cyhuRGEsIm5mYSIpO3MoVGlhLCJjbXAiKTtzKExpYSwibnVsbEZyb20iKTtzKGxEYSwiZGZhIik7cyhjRGEsImNoZWNrRm9yRGVhZEVuZHMiKTtzKCRpYSwiZGVmYXVsdEF0dHJzIik7cyhEaWEsImNvbXB1dGVBdHRycyIpO3MoQWlhLCJjaGVja0F0dHJzIik7cyhQaWEsImluaXRBdHRycyIpO0JVPWNsYXNzIGF7c3RhdGlje3ModGhpcywiTm9kZVR5cGUiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5uYW1lPWUsdGhpcy5zY2hlbWE9dCx0aGlzLnNwZWM9cix0aGlzLm1hcmtTZXQ9bnVsbCx0aGlzLmdyb3Vwcz1yLmdyb3VwP3IuZ3JvdXAuc3BsaXQoIiAiKTpbXSx0aGlzLmF0dHJzPVBpYShlLHIuYXR0cnMpLHRoaXMuZGVmYXVsdEF0dHJzPSRpYSh0aGlzLmF0dHJzKSx0aGlzLmNvbnRlbnRNYXRjaD1udWxsLHRoaXMuaW5saW5lQ29udGVudD1udWxsLHRoaXMuaXNCbG9jaz0hKHIuaW5saW5lfHxlPT0idGV4dCIpLHRoaXMuaXNUZXh0PWU9PSJ0ZXh0In1nZXQgaXNJbmxpbmUoKXtyZXR1cm4hdGhpcy5pc0Jsb2NrfWdldCBpc1RleHRibG9jaygpe3JldHVybiB0aGlzLmlzQmxvY2smJnRoaXMuaW5saW5lQ29udGVudH1nZXQgaXNMZWFmKCl7cmV0dXJuIHRoaXMuY29udGVudE1hdGNoPT1jNC5lbXB0eX1nZXQgaXNBdG9tKCl7cmV0dXJuIHRoaXMuaXNMZWFmfHwhIXRoaXMuc3BlYy5hdG9tfWlzSW5Hcm91cChlKXtyZXR1cm4gdGhpcy5ncm91cHMuaW5kZXhPZihlKT4tMX1nZXQgd2hpdGVzcGFjZSgpe3JldHVybiB0aGlzLnNwZWMud2hpdGVzcGFjZXx8KHRoaXMuc3BlYy5jb2RlPyJwcmUiOiJub3JtYWwiKX1oYXNSZXF1aXJlZEF0dHJzKCl7Zm9yKGxldCBlIGluIHRoaXMuYXR0cnMpaWYodGhpcy5hdHRyc1tlXS5pc1JlcXVpcmVkKXJldHVybiEwO3JldHVybiExfWNvbXBhdGlibGVDb250ZW50KGUpe3JldHVybiB0aGlzPT1lfHx0aGlzLmNvbnRlbnRNYXRjaC5jb21wYXRpYmxlKGUuY29udGVudE1hdGNoKX1jb21wdXRlQXR0cnMoZSl7cmV0dXJuIWUmJnRoaXMuZGVmYXVsdEF0dHJzP3RoaXMuZGVmYXVsdEF0dHJzOkRpYSh0aGlzLmF0dHJzLGUpfWNyZWF0ZShlPW51bGwsdCxyKXtpZih0aGlzLmlzVGV4dCl0aHJvdyBuZXcgRXJyb3IoIk5vZGVUeXBlLmNyZWF0ZSBjYW4ndCBjb25zdHJ1Y3QgdGV4dCBub2RlcyIpO3JldHVybiBuZXcgS2kodGhpcyx0aGlzLmNvbXB1dGVBdHRycyhlKSxqZS5mcm9tKHQpLERhLnNldEZyb20ocikpfWNyZWF0ZUNoZWNrZWQoZT1udWxsLHQscil7cmV0dXJuIHQ9amUuZnJvbSh0KSx0aGlzLmNoZWNrQ29udGVudCh0KSxuZXcgS2kodGhpcyx0aGlzLmNvbXB1dGVBdHRycyhlKSx0LERhLnNldEZyb20ocikpfWNyZWF0ZUFuZEZpbGwoZT1udWxsLHQscil7aWYoZT10aGlzLmNvbXB1dGVBdHRycyhlKSx0PWplLmZyb20odCksdC5zaXplKXtsZXQgbj10aGlzLmNvbnRlbnRNYXRjaC5maWxsQmVmb3JlKHQpO2lmKCFuKXJldHVybiBudWxsO3Q9bi5hcHBlbmQodCl9bGV0IGk9dGhpcy5jb250ZW50TWF0Y2gubWF0Y2hGcmFnbWVudCh0KSxvPWkmJmkuZmlsbEJlZm9yZShqZS5lbXB0eSwhMCk7cmV0dXJuIG8/bmV3IEtpKHRoaXMsZSx0LmFwcGVuZChvKSxEYS5zZXRGcm9tKHIpKTpudWxsfXZhbGlkQ29udGVudChlKXtsZXQgdD10aGlzLmNvbnRlbnRNYXRjaC5tYXRjaEZyYWdtZW50KGUpO2lmKCF0fHwhdC52YWxpZEVuZClyZXR1cm4hMTtmb3IobGV0IHI9MDtyPGUuY2hpbGRDb3VudDtyKyspaWYoIXRoaXMuYWxsb3dzTWFya3MoZS5jaGlsZChyKS5tYXJrcykpcmV0dXJuITE7cmV0dXJuITB9Y2hlY2tDb250ZW50KGUpe2lmKCF0aGlzLnZhbGlkQ29udGVudChlKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgSW52YWxpZCBjb250ZW50IGZvciBub2RlICR7dGhpcy5uYW1lfTogJHtlLnRvU3RyaW5nKCkuc2xpY2UoMCw1MCl9YCl9Y2hlY2tBdHRycyhlKXtBaWEodGhpcy5hdHRycyxlLCJub2RlIix0aGlzLm5hbWUpfWFsbG93c01hcmtUeXBlKGUpe3JldHVybiB0aGlzLm1hcmtTZXQ9PW51bGx8fHRoaXMubWFya1NldC5pbmRleE9mKGUpPi0xfWFsbG93c01hcmtzKGUpe2lmKHRoaXMubWFya1NldD09bnVsbClyZXR1cm4hMDtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylpZighdGhpcy5hbGxvd3NNYXJrVHlwZShlW3RdLnR5cGUpKXJldHVybiExO3JldHVybiEwfWFsbG93ZWRNYXJrcyhlKXtpZih0aGlzLm1hcmtTZXQ9PW51bGwpcmV0dXJuIGU7bGV0IHQ7Zm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKyspdGhpcy5hbGxvd3NNYXJrVHlwZShlW3JdLnR5cGUpP3QmJnQucHVzaChlW3JdKTp0fHwodD1lLnNsaWNlKDAscikpO3JldHVybiB0P3QubGVuZ3RoP3Q6RGEubm9uZTplfXN0YXRpYyBjb21waWxlKGUsdCl7bGV0IHI9T2JqZWN0LmNyZWF0ZShudWxsKTtlLmZvckVhY2goKG8sbik9PnJbb109bmV3IGEobyx0LG4pKTtsZXQgaT10LnNwZWMudG9wTm9kZXx8ImRvYyI7aWYoIXJbaV0pdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlNjaGVtYSBpcyBtaXNzaW5nIGl0cyB0b3Agbm9kZSB0eXBlICgnIitpKyInKSIpO2lmKCFyLnRleHQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkV2ZXJ5IHNjaGVtYSBuZWVkcyBhICd0ZXh0JyB0eXBlIik7Zm9yKGxldCBvIGluIHIudGV4dC5hdHRycyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiVGhlIHRleHQgbm9kZSB0eXBlIHNob3VsZCBub3QgaGF2ZSBhdHRyaWJ1dGVzIik7cmV0dXJuIHJ9fTtzKGREYSwidmFsaWRhdGVUeXBlIik7bEtlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkF0dHJpYnV0ZSIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLmhhc0RlZmF1bHQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsImRlZmF1bHQiKSx0aGlzLmRlZmF1bHQ9ci5kZWZhdWx0LHRoaXMudmFsaWRhdGU9dHlwZW9mIHIudmFsaWRhdGU9PSJzdHJpbmciP2REYShlLHQsci52YWxpZGF0ZSk6ci52YWxpZGF0ZX1nZXQgaXNSZXF1aXJlZCgpe3JldHVybiF0aGlzLmhhc0RlZmF1bHR9fSx1bT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk1hcmtUeXBlIil9Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy5uYW1lPWUsdGhpcy5yYW5rPXQsdGhpcy5zY2hlbWE9cix0aGlzLnNwZWM9aSx0aGlzLmF0dHJzPVBpYShlLGkuYXR0cnMpLHRoaXMuZXhjbHVkZWQ9bnVsbDtsZXQgbz0kaWEodGhpcy5hdHRycyk7dGhpcy5pbnN0YW5jZT1vP25ldyBEYSh0aGlzLG8pOm51bGx9Y3JlYXRlKGU9bnVsbCl7cmV0dXJuIWUmJnRoaXMuaW5zdGFuY2U/dGhpcy5pbnN0YW5jZTpuZXcgRGEodGhpcyxEaWEodGhpcy5hdHRycyxlKSl9c3RhdGljIGNvbXBpbGUoZSx0KXtsZXQgcj1PYmplY3QuY3JlYXRlKG51bGwpLGk9MDtyZXR1cm4gZS5mb3JFYWNoKChvLG4pPT5yW29dPW5ldyBhKG8saSsrLHQsbikpLHJ9cmVtb3ZlRnJvbVNldChlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnR5cGU9PXRoaXMmJihlPWUuc2xpY2UoMCx0KS5jb25jYXQoZS5zbGljZSh0KzEpKSx0LS0pO3JldHVybiBlfWlzSW5TZXQoZSl7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspaWYoZVt0XS50eXBlPT10aGlzKXJldHVybiBlW3RdfWNoZWNrQXR0cnMoZSl7QWlhKHRoaXMuYXR0cnMsZSwibWFyayIsdGhpcy5uYW1lKX1leGNsdWRlcyhlKXtyZXR1cm4gdGhpcy5leGNsdWRlZC5pbmRleE9mKGUpPi0xfX0scG09Y2xhc3N7c3RhdGlje3ModGhpcywiU2NoZW1hIil9Y29uc3RydWN0b3IoZSl7dGhpcy5saW5lYnJlYWtSZXBsYWNlbWVudD1udWxsLHRoaXMuY2FjaGVkPU9iamVjdC5jcmVhdGUobnVsbCk7bGV0IHQ9dGhpcy5zcGVjPXt9O2ZvcihsZXQgaSBpbiBlKXRbaV09ZVtpXTt0Lm5vZGVzPWFLZS5mcm9tKGUubm9kZXMpLHQubWFya3M9YUtlLmZyb20oZS5tYXJrc3x8e30pLHRoaXMubm9kZXM9QlUuY29tcGlsZSh0aGlzLnNwZWMubm9kZXMsdGhpcyksdGhpcy5tYXJrcz11bS5jb21waWxlKHRoaXMuc3BlYy5tYXJrcyx0aGlzKTtsZXQgcj1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihsZXQgaSBpbiB0aGlzLm5vZGVzKXtpZihpIGluIHRoaXMubWFya3MpdGhyb3cgbmV3IFJhbmdlRXJyb3IoaSsiIGNhbiBub3QgYmUgYm90aCBhIG5vZGUgYW5kIGEgbWFyayIpO2xldCBvPXRoaXMubm9kZXNbaV0sbj1vLnNwZWMuY29udGVudHx8IiIsbD1vLnNwZWMubWFya3M7aWYoby5jb250ZW50TWF0Y2g9cltuXXx8KHJbbl09YzQucGFyc2Uobix0aGlzLm5vZGVzKSksby5pbmxpbmVDb250ZW50PW8uY29udGVudE1hdGNoLmlubGluZUNvbnRlbnQsby5zcGVjLmxpbmVicmVha1JlcGxhY2VtZW50KXtpZih0aGlzLmxpbmVicmVha1JlcGxhY2VtZW50KXRocm93IG5ldyBSYW5nZUVycm9yKCJNdWx0aXBsZSBsaW5lYnJlYWsgbm9kZXMgZGVmaW5lZCIpO2lmKCFvLmlzSW5saW5lfHwhby5pc0xlYWYpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkxpbmVicmVhayByZXBsYWNlbWVudCBub2RlcyBtdXN0IGJlIGlubGluZSBsZWFmIG5vZGVzIik7dGhpcy5saW5lYnJlYWtSZXBsYWNlbWVudD1vfW8ubWFya1NldD1sPT0iXyI/bnVsbDpsP0VpYSh0aGlzLGwuc3BsaXQoIiAiKSk6bD09IiJ8fCFvLmlubGluZUNvbnRlbnQ/W106bnVsbH1mb3IobGV0IGkgaW4gdGhpcy5tYXJrcyl7bGV0IG89dGhpcy5tYXJrc1tpXSxuPW8uc3BlYy5leGNsdWRlcztvLmV4Y2x1ZGVkPW49PW51bGw/W29dOm49PSIiP1tdOkVpYSh0aGlzLG4uc3BsaXQoIiAiKSl9dGhpcy5ub2RlRnJvbUpTT049aT0+S2kuZnJvbUpTT04odGhpcyxpKSx0aGlzLm1hcmtGcm9tSlNPTj1pPT5EYS5mcm9tSlNPTih0aGlzLGkpLHRoaXMudG9wTm9kZVR5cGU9dGhpcy5ub2Rlc1t0aGlzLnNwZWMudG9wTm9kZXx8ImRvYyJdLHRoaXMuY2FjaGVkLndyYXBwaW5ncz1PYmplY3QuY3JlYXRlKG51bGwpfW5vZGUoZSx0PW51bGwscixpKXtpZih0eXBlb2YgZT09InN0cmluZyIpZT10aGlzLm5vZGVUeXBlKGUpO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIEJVKXtpZihlLnNjaGVtYSE9dGhpcyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiTm9kZSB0eXBlIGZyb20gZGlmZmVyZW50IHNjaGVtYSB1c2VkICgiK2UubmFtZSsiKSIpfWVsc2UgdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgbm9kZSB0eXBlOiAiK2UpO3JldHVybiBlLmNyZWF0ZUNoZWNrZWQodCxyLGkpfXRleHQoZSx0KXtsZXQgcj10aGlzLm5vZGVzLnRleHQ7cmV0dXJuIG5ldyBvS2UocixyLmRlZmF1bHRBdHRycyxlLERhLnNldEZyb20odCkpfW1hcmsoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciJiYoZT10aGlzLm1hcmtzW2VdKSxlLmNyZWF0ZSh0KX1ub2RlVHlwZShlKXtsZXQgdD10aGlzLm5vZGVzW2VdO2lmKCF0KXRocm93IG5ldyBSYW5nZUVycm9yKCJVbmtub3duIG5vZGUgdHlwZTogIitlKTtyZXR1cm4gdH19O3MoRWlhLCJnYXRoZXJNYXJrcyIpO3ModURhLCJpc1RhZ1J1bGUiKTtzKHBEYSwiaXNTdHlsZVJ1bGUiKTtOMT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRPTVBhcnNlciIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5zY2hlbWE9ZSx0aGlzLnJ1bGVzPXQsdGhpcy50YWdzPVtdLHRoaXMuc3R5bGVzPVtdO2xldCByPXRoaXMubWF0Y2hlZFN0eWxlcz1bXTt0LmZvckVhY2goaT0+e2lmKHVEYShpKSl0aGlzLnRhZ3MucHVzaChpKTtlbHNlIGlmKHBEYShpKSl7bGV0IG89L1tePV0qLy5leGVjKGkuc3R5bGUpWzBdO3IuaW5kZXhPZihvKTwwJiZyLnB1c2gobyksdGhpcy5zdHlsZXMucHVzaChpKX19KSx0aGlzLm5vcm1hbGl6ZUxpc3RzPSF0aGlzLnRhZ3Muc29tZShpPT57aWYoIS9eKHVsfG9sKVxiLy50ZXN0KGkudGFnKXx8IWkubm9kZSlyZXR1cm4hMTtsZXQgbz1lLm5vZGVzW2kubm9kZV07cmV0dXJuIG8uY29udGVudE1hdGNoLm1hdGNoVHlwZShvKX0pfXBhcnNlKGUsdD17fSl7bGV0IHI9bmV3IExhZSh0aGlzLHQsITEpO3JldHVybiByLmFkZEFsbChlLERhLm5vbmUsdC5mcm9tLHQudG8pLHIuZmluaXNoKCl9cGFyc2VTbGljZShlLHQ9e30pe2xldCByPW5ldyBMYWUodGhpcyx0LCEwKTtyZXR1cm4gci5hZGRBbGwoZSxEYS5ub25lLHQuZnJvbSx0LnRvKSxzdC5tYXhPcGVuKHIuZmluaXNoKCkpfW1hdGNoVGFnKGUsdCxyKXtmb3IobGV0IGk9cj90aGlzLnRhZ3MuaW5kZXhPZihyKSsxOjA7aTx0aGlzLnRhZ3MubGVuZ3RoO2krKyl7bGV0IG89dGhpcy50YWdzW2ldO2lmKG1EYShlLG8udGFnKSYmKG8ubmFtZXNwYWNlPT09dm9pZCAwfHxlLm5hbWVzcGFjZVVSST09by5uYW1lc3BhY2UpJiYoIW8uY29udGV4dHx8dC5tYXRjaGVzQ29udGV4dChvLmNvbnRleHQpKSl7aWYoby5nZXRBdHRycyl7bGV0IG49by5nZXRBdHRycyhlKTtpZihuPT09ITEpY29udGludWU7by5hdHRycz1ufHx2b2lkIDB9cmV0dXJuIG99fX1tYXRjaFN0eWxlKGUsdCxyLGkpe2ZvcihsZXQgbz1pP3RoaXMuc3R5bGVzLmluZGV4T2YoaSkrMTowO288dGhpcy5zdHlsZXMubGVuZ3RoO28rKyl7bGV0IG49dGhpcy5zdHlsZXNbb10sbD1uLnN0eWxlO2lmKCEobC5pbmRleE9mKGUpIT0wfHxuLmNvbnRleHQmJiFyLm1hdGNoZXNDb250ZXh0KG4uY29udGV4dCl8fGwubGVuZ3RoPmUubGVuZ3RoJiYobC5jaGFyQ29kZUF0KGUubGVuZ3RoKSE9NjF8fGwuc2xpY2UoZS5sZW5ndGgrMSkhPXQpKSl7aWYobi5nZXRBdHRycyl7bGV0IGQ9bi5nZXRBdHRycyh0KTtpZihkPT09ITEpY29udGludWU7bi5hdHRycz1kfHx2b2lkIDB9cmV0dXJuIG59fX1zdGF0aWMgc2NoZW1hUnVsZXMoZSl7bGV0IHQ9W107ZnVuY3Rpb24gcihpKXtsZXQgbz1pLnByaW9yaXR5PT1udWxsPzUwOmkucHJpb3JpdHksbj0wO2Zvcig7bjx0Lmxlbmd0aDtuKyspe2xldCBsPXRbbl07aWYoKGwucHJpb3JpdHk9PW51bGw/NTA6bC5wcmlvcml0eSk8bylicmVha310LnNwbGljZShuLDAsaSl9cyhyLCJpbnNlcnQiKTtmb3IobGV0IGkgaW4gZS5tYXJrcyl7bGV0IG89ZS5tYXJrc1tpXS5zcGVjLnBhcnNlRE9NO28mJm8uZm9yRWFjaChuPT57cihuPU9pYShuKSksbi5tYXJrfHxuLmlnbm9yZXx8bi5jbGVhck1hcmt8fChuLm1hcms9aSl9KX1mb3IobGV0IGkgaW4gZS5ub2Rlcyl7bGV0IG89ZS5ub2Rlc1tpXS5zcGVjLnBhcnNlRE9NO28mJm8uZm9yRWFjaChuPT57cihuPU9pYShuKSksbi5ub2RlfHxuLmlnbm9yZXx8bi5tYXJrfHwobi5ub2RlPWkpfSl9cmV0dXJuIHR9c3RhdGljIGZyb21TY2hlbWEoZSl7cmV0dXJuIGUuY2FjaGVkLmRvbVBhcnNlcnx8KGUuY2FjaGVkLmRvbVBhcnNlcj1uZXcgYShlLGEuc2NoZW1hUnVsZXMoZSkpKX19LElpYT17YWRkcmVzczohMCxhcnRpY2xlOiEwLGFzaWRlOiEwLGJsb2NrcXVvdGU6ITAsY2FudmFzOiEwLGRkOiEwLGRpdjohMCxkbDohMCxmaWVsZHNldDohMCxmaWdjYXB0aW9uOiEwLGZpZ3VyZTohMCxmb290ZXI6ITAsZm9ybTohMCxoMTohMCxoMjohMCxoMzohMCxoNDohMCxoNTohMCxoNjohMCxoZWFkZXI6ITAsaGdyb3VwOiEwLGhyOiEwLGxpOiEwLG5vc2NyaXB0OiEwLG9sOiEwLG91dHB1dDohMCxwOiEwLHByZTohMCxzZWN0aW9uOiEwLHRhYmxlOiEwLHRmb290OiEwLHVsOiEwfSxmRGE9e2hlYWQ6ITAsbm9zY3JpcHQ6ITAsb2JqZWN0OiEwLHNjcmlwdDohMCxzdHlsZTohMCx0aXRsZTohMH0sTmlhPXtvbDohMCx1bDohMH0sSFU9MSxjS2U9MixxVT00O3MoUmlhLCJ3c09wdGlvbnNGb3IiKTtkbT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJOb2RlQ29udGV4dCIpfWNvbnN0cnVjdG9yKGUsdCxyLGksbyxuKXt0aGlzLnR5cGU9ZSx0aGlzLmF0dHJzPXQsdGhpcy5tYXJrcz1yLHRoaXMuc29saWQ9aSx0aGlzLm9wdGlvbnM9bix0aGlzLmNvbnRlbnQ9W10sdGhpcy5hY3RpdmVNYXJrcz1EYS5ub25lLHRoaXMubWF0Y2g9b3x8KG4mcVU/bnVsbDplLmNvbnRlbnRNYXRjaCl9ZmluZFdyYXBwaW5nKGUpe2lmKCF0aGlzLm1hdGNoKXtpZighdGhpcy50eXBlKXJldHVybltdO2xldCB0PXRoaXMudHlwZS5jb250ZW50TWF0Y2guZmlsbEJlZm9yZShqZS5mcm9tKGUpKTtpZih0KXRoaXMubWF0Y2g9dGhpcy50eXBlLmNvbnRlbnRNYXRjaC5tYXRjaEZyYWdtZW50KHQpO2Vsc2V7bGV0IHI9dGhpcy50eXBlLmNvbnRlbnRNYXRjaCxpO3JldHVybihpPXIuZmluZFdyYXBwaW5nKGUudHlwZSkpPyh0aGlzLm1hdGNoPXIsaSk6bnVsbH19cmV0dXJuIHRoaXMubWF0Y2guZmluZFdyYXBwaW5nKGUudHlwZSl9ZmluaXNoKGUpe2lmKCEodGhpcy5vcHRpb25zJkhVKSl7bGV0IHI9dGhpcy5jb250ZW50W3RoaXMuY29udGVudC5sZW5ndGgtMV0saTtpZihyJiZyLmlzVGV4dCYmKGk9L1sgXHRcclxuXHUwMDBjXSskLy5leGVjKHIudGV4dCkpKXtsZXQgbz1yO3IudGV4dC5sZW5ndGg9PWlbMF0ubGVuZ3RoP3RoaXMuY29udGVudC5wb3AoKTp0aGlzLmNvbnRlbnRbdGhpcy5jb250ZW50Lmxlbmd0aC0xXT1vLndpdGhUZXh0KG8udGV4dC5zbGljZSgwLG8udGV4dC5sZW5ndGgtaVswXS5sZW5ndGgpKX19bGV0IHQ9amUuZnJvbSh0aGlzLmNvbnRlbnQpO3JldHVybiFlJiZ0aGlzLm1hdGNoJiYodD10LmFwcGVuZCh0aGlzLm1hdGNoLmZpbGxCZWZvcmUoamUuZW1wdHksITApKSksdGhpcy50eXBlP3RoaXMudHlwZS5jcmVhdGUodGhpcy5hdHRycyx0LHRoaXMubWFya3MpOnR9aW5saW5lQ29udGV4dChlKXtyZXR1cm4gdGhpcy50eXBlP3RoaXMudHlwZS5pbmxpbmVDb250ZW50OnRoaXMuY29udGVudC5sZW5ndGg/dGhpcy5jb250ZW50WzBdLmlzSW5saW5lOmUucGFyZW50Tm9kZSYmIUlpYS5oYXNPd25Qcm9wZXJ0eShlLnBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl9fSxMYWU9Y2xhc3N7c3RhdGlje3ModGhpcywiUGFyc2VDb250ZXh0Iil9Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMucGFyc2VyPWUsdGhpcy5vcHRpb25zPXQsdGhpcy5pc09wZW49cix0aGlzLm9wZW49MCx0aGlzLmxvY2FsUHJlc2VydmVXUz0hMTtsZXQgaT10LnRvcE5vZGUsbyxuPVJpYShudWxsLHQucHJlc2VydmVXaGl0ZXNwYWNlLDApfChyP3FVOjApO2k/bz1uZXcgZG0oaS50eXBlLGkuYXR0cnMsRGEubm9uZSwhMCx0LnRvcE1hdGNofHxpLnR5cGUuY29udGVudE1hdGNoLG4pOnI/bz1uZXcgZG0obnVsbCxudWxsLERhLm5vbmUsITAsbnVsbCxuKTpvPW5ldyBkbShlLnNjaGVtYS50b3BOb2RlVHlwZSxudWxsLERhLm5vbmUsITAsbnVsbCxuKSx0aGlzLm5vZGVzPVtvXSx0aGlzLmZpbmQ9dC5maW5kUG9zaXRpb25zLHRoaXMubmVlZHNCbG9jaz0hMX1nZXQgdG9wKCl7cmV0dXJuIHRoaXMubm9kZXNbdGhpcy5vcGVuXX1hZGRET00oZSx0KXtlLm5vZGVUeXBlPT0zP3RoaXMuYWRkVGV4dE5vZGUoZSx0KTplLm5vZGVUeXBlPT0xJiZ0aGlzLmFkZEVsZW1lbnQoZSx0KX1hZGRUZXh0Tm9kZShlLHQpe2xldCByPWUubm9kZVZhbHVlLGk9dGhpcy50b3Asbz1pLm9wdGlvbnMmY0tlPyJmdWxsIjp0aGlzLmxvY2FsUHJlc2VydmVXU3x8KGkub3B0aW9ucyZIVSk+MCx7c2NoZW1hOm59PXRoaXMucGFyc2VyO2lmKG89PT0iZnVsbCJ8fGkuaW5saW5lQ29udGV4dChlKXx8L1teIFx0XHJcblx1MDAwY10vLnRlc3Qocikpe2lmKG8paWYobz09PSJmdWxsIilyPXIucmVwbGFjZSgvXHJcbj8vZyxgCmApO2Vsc2UgaWYobi5saW5lYnJlYWtSZXBsYWNlbWVudCYmL1tcclxuXS8udGVzdChyKSYmdGhpcy50b3AuZmluZFdyYXBwaW5nKG4ubGluZWJyZWFrUmVwbGFjZW1lbnQuY3JlYXRlKCkpKXtsZXQgbD1yLnNwbGl0KC9ccj9cbnxcci8pO2ZvcihsZXQgZD0wO2Q8bC5sZW5ndGg7ZCsrKWQmJnRoaXMuaW5zZXJ0Tm9kZShuLmxpbmVicmVha1JlcGxhY2VtZW50LmNyZWF0ZSgpLHQsITApLGxbZF0mJnRoaXMuaW5zZXJ0Tm9kZShuLnRleHQobFtkXSksdCwhL1xTLy50ZXN0KGxbZF0pKTtyPSIifWVsc2Ugcj1yLnJlcGxhY2UoL1xyP1xufFxyL2csIiAiKTtlbHNlIGlmKHI9ci5yZXBsYWNlKC9bIFx0XHJcblx1MDAwY10rL2csIiAiKSwvXlsgXHRcclxuXHUwMDBjXS8udGVzdChyKSYmdGhpcy5vcGVuPT10aGlzLm5vZGVzLmxlbmd0aC0xKXtsZXQgbD1pLmNvbnRlbnRbaS5jb250ZW50Lmxlbmd0aC0xXSxkPWUucHJldmlvdXNTaWJsaW5nOyghbHx8ZCYmZC5ub2RlTmFtZT09IkJSInx8bC5pc1RleHQmJi9bIFx0XHJcblx1MDAwY10kLy50ZXN0KGwudGV4dCkpJiYocj1yLnNsaWNlKDEpKX1yJiZ0aGlzLmluc2VydE5vZGUobi50ZXh0KHIpLHQsIS9cUy8udGVzdChyKSksdGhpcy5maW5kSW5UZXh0KGUpfWVsc2UgdGhpcy5maW5kSW5zaWRlKGUpfWFkZEVsZW1lbnQoZSx0LHIpe2xldCBpPXRoaXMubG9jYWxQcmVzZXJ2ZVdTLG89dGhpcy50b3A7KGUudGFnTmFtZT09IlBSRSJ8fC9wcmUvLnRlc3QoZS5zdHlsZSYmZS5zdHlsZS53aGl0ZVNwYWNlKSkmJih0aGlzLmxvY2FsUHJlc2VydmVXUz0hMCk7bGV0IG49ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLGw7TmlhLmhhc093blByb3BlcnR5KG4pJiZ0aGlzLnBhcnNlci5ub3JtYWxpemVMaXN0cyYmaERhKGUpO2xldCBkPXRoaXMub3B0aW9ucy5ydWxlRnJvbU5vZGUmJnRoaXMub3B0aW9ucy5ydWxlRnJvbU5vZGUoZSl8fChsPXRoaXMucGFyc2VyLm1hdGNoVGFnKGUsdGhpcyxyKSk7ZTppZihkP2QuaWdub3JlOmZEYS5oYXNPd25Qcm9wZXJ0eShuKSl0aGlzLmZpbmRJbnNpZGUoZSksdGhpcy5pZ25vcmVGYWxsYmFjayhlLHQpO2Vsc2UgaWYoIWR8fGQuc2tpcHx8ZC5jbG9zZVBhcmVudCl7ZCYmZC5jbG9zZVBhcmVudD90aGlzLm9wZW49TWF0aC5tYXgoMCx0aGlzLm9wZW4tMSk6ZCYmZC5za2lwLm5vZGVUeXBlJiYoZT1kLnNraXApO2xldCBjLHA9dGhpcy5uZWVkc0Jsb2NrO2lmKElpYS5oYXNPd25Qcm9wZXJ0eShuKSlvLmNvbnRlbnQubGVuZ3RoJiZvLmNvbnRlbnRbMF0uaXNJbmxpbmUmJnRoaXMub3BlbiYmKHRoaXMub3Blbi0tLG89dGhpcy50b3ApLGM9ITAsby50eXBlfHwodGhpcy5uZWVkc0Jsb2NrPSEwKTtlbHNlIGlmKCFlLmZpcnN0Q2hpbGQpe3RoaXMubGVhZkZhbGxiYWNrKGUsdCk7YnJlYWsgZX1sZXQgdT1kJiZkLnNraXA/dDp0aGlzLnJlYWRTdHlsZXMoZSx0KTt1JiZ0aGlzLmFkZEFsbChlLHUpLGMmJnRoaXMuc3luYyhvKSx0aGlzLm5lZWRzQmxvY2s9cH1lbHNle2xldCBjPXRoaXMucmVhZFN0eWxlcyhlLHQpO2MmJnRoaXMuYWRkRWxlbWVudEJ5UnVsZShlLGQsYyxkLmNvbnN1bWluZz09PSExP2w6dm9pZCAwKX10aGlzLmxvY2FsUHJlc2VydmVXUz1pfWxlYWZGYWxsYmFjayhlLHQpe2Uubm9kZU5hbWU9PSJCUiImJnRoaXMudG9wLnR5cGUmJnRoaXMudG9wLnR5cGUuaW5saW5lQ29udGVudCYmdGhpcy5hZGRUZXh0Tm9kZShlLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYApgKSx0KX1pZ25vcmVGYWxsYmFjayhlLHQpe2Uubm9kZU5hbWU9PSJCUiImJighdGhpcy50b3AudHlwZXx8IXRoaXMudG9wLnR5cGUuaW5saW5lQ29udGVudCkmJnRoaXMuZmluZFBsYWNlKHRoaXMucGFyc2VyLnNjaGVtYS50ZXh0KCItIiksdCwhMCl9cmVhZFN0eWxlcyhlLHQpe2xldCByPWUuc3R5bGU7aWYociYmci5sZW5ndGgpZm9yKGxldCBpPTA7aTx0aGlzLnBhcnNlci5tYXRjaGVkU3R5bGVzLmxlbmd0aDtpKyspe2xldCBvPXRoaXMucGFyc2VyLm1hdGNoZWRTdHlsZXNbaV0sbj1yLmdldFByb3BlcnR5VmFsdWUobyk7aWYobilmb3IobGV0IGw9dm9pZCAwOzspe2xldCBkPXRoaXMucGFyc2VyLm1hdGNoU3R5bGUobyxuLHRoaXMsbCk7aWYoIWQpYnJlYWs7aWYoZC5pZ25vcmUpcmV0dXJuIG51bGw7aWYoZC5jbGVhck1hcms/dD10LmZpbHRlcihjPT4hZC5jbGVhck1hcmsoYykpOnQ9dC5jb25jYXQodGhpcy5wYXJzZXIuc2NoZW1hLm1hcmtzW2QubWFya10uY3JlYXRlKGQuYXR0cnMpKSxkLmNvbnN1bWluZz09PSExKWw9ZDtlbHNlIGJyZWFrfX1yZXR1cm4gdH1hZGRFbGVtZW50QnlSdWxlKGUsdCxyLGkpe2xldCBvLG47aWYodC5ub2RlKWlmKG49dGhpcy5wYXJzZXIuc2NoZW1hLm5vZGVzW3Qubm9kZV0sbi5pc0xlYWYpdGhpcy5pbnNlcnROb2RlKG4uY3JlYXRlKHQuYXR0cnMpLHIsZS5ub2RlTmFtZT09IkJSIil8fHRoaXMubGVhZkZhbGxiYWNrKGUscik7ZWxzZXtsZXQgZD10aGlzLmVudGVyKG4sdC5hdHRyc3x8bnVsbCxyLHQucHJlc2VydmVXaGl0ZXNwYWNlKTtkJiYobz0hMCxyPWQpfWVsc2V7bGV0IGQ9dGhpcy5wYXJzZXIuc2NoZW1hLm1hcmtzW3QubWFya107cj1yLmNvbmNhdChkLmNyZWF0ZSh0LmF0dHJzKSl9bGV0IGw9dGhpcy50b3A7aWYobiYmbi5pc0xlYWYpdGhpcy5maW5kSW5zaWRlKGUpO2Vsc2UgaWYoaSl0aGlzLmFkZEVsZW1lbnQoZSxyLGkpO2Vsc2UgaWYodC5nZXRDb250ZW50KXRoaXMuZmluZEluc2lkZShlKSx0LmdldENvbnRlbnQoZSx0aGlzLnBhcnNlci5zY2hlbWEpLmZvckVhY2goZD0+dGhpcy5pbnNlcnROb2RlKGQsciwhMSkpO2Vsc2V7bGV0IGQ9ZTt0eXBlb2YgdC5jb250ZW50RWxlbWVudD09InN0cmluZyI/ZD1lLnF1ZXJ5U2VsZWN0b3IodC5jb250ZW50RWxlbWVudCk6dHlwZW9mIHQuY29udGVudEVsZW1lbnQ9PSJmdW5jdGlvbiI/ZD10LmNvbnRlbnRFbGVtZW50KGUpOnQuY29udGVudEVsZW1lbnQmJihkPXQuY29udGVudEVsZW1lbnQpLHRoaXMuZmluZEFyb3VuZChlLGQsITApLHRoaXMuYWRkQWxsKGQsciksdGhpcy5maW5kQXJvdW5kKGUsZCwhMSl9byYmdGhpcy5zeW5jKGwpJiZ0aGlzLm9wZW4tLX1hZGRBbGwoZSx0LHIsaSl7bGV0IG89cnx8MDtmb3IobGV0IG49cj9lLmNoaWxkTm9kZXNbcl06ZS5maXJzdENoaWxkLGw9aT09bnVsbD9udWxsOmUuY2hpbGROb2Rlc1tpXTtuIT1sO249bi5uZXh0U2libGluZywrK28pdGhpcy5maW5kQXRQb2ludChlLG8pLHRoaXMuYWRkRE9NKG4sdCk7dGhpcy5maW5kQXRQb2ludChlLG8pfWZpbmRQbGFjZShlLHQscil7bGV0IGksbztmb3IobGV0IG49dGhpcy5vcGVuLGw9MDtuPj0wO24tLSl7bGV0IGQ9dGhpcy5ub2Rlc1tuXSxjPWQuZmluZFdyYXBwaW5nKGUpO2lmKGMmJighaXx8aS5sZW5ndGg+Yy5sZW5ndGgrbCkmJihpPWMsbz1kLCFjLmxlbmd0aCkpYnJlYWs7aWYoZC5zb2xpZCl7aWYocilicmVhaztsKz0yfX1pZighaSlyZXR1cm4gbnVsbDt0aGlzLnN5bmMobyk7Zm9yKGxldCBuPTA7bjxpLmxlbmd0aDtuKyspdD10aGlzLmVudGVySW5uZXIoaVtuXSxudWxsLHQsITEpO3JldHVybiB0fWluc2VydE5vZGUoZSx0LHIpe2lmKGUuaXNJbmxpbmUmJnRoaXMubmVlZHNCbG9jayYmIXRoaXMudG9wLnR5cGUpe2xldCBvPXRoaXMudGV4dGJsb2NrRnJvbUNvbnRleHQoKTtvJiYodD10aGlzLmVudGVySW5uZXIobyxudWxsLHQpKX1sZXQgaT10aGlzLmZpbmRQbGFjZShlLHQscik7aWYoaSl7dGhpcy5jbG9zZUV4dHJhKCk7bGV0IG89dGhpcy50b3A7by5tYXRjaCYmKG8ubWF0Y2g9by5tYXRjaC5tYXRjaFR5cGUoZS50eXBlKSk7bGV0IG49RGEubm9uZTtmb3IobGV0IGwgb2YgaS5jb25jYXQoZS5tYXJrcykpKG8udHlwZT9vLnR5cGUuYWxsb3dzTWFya1R5cGUobC50eXBlKTpGaWEobC50eXBlLGUudHlwZSkpJiYobj1sLmFkZFRvU2V0KG4pKTtyZXR1cm4gby5jb250ZW50LnB1c2goZS5tYXJrKG4pKSwhMH1yZXR1cm4hMX1lbnRlcihlLHQscixpKXtsZXQgbz10aGlzLmZpbmRQbGFjZShlLmNyZWF0ZSh0KSxyLCExKTtyZXR1cm4gbyYmKG89dGhpcy5lbnRlcklubmVyKGUsdCxyLCEwLGkpKSxvfWVudGVySW5uZXIoZSx0LHIsaT0hMSxvKXt0aGlzLmNsb3NlRXh0cmEoKTtsZXQgbj10aGlzLnRvcDtuLm1hdGNoPW4ubWF0Y2gmJm4ubWF0Y2gubWF0Y2hUeXBlKGUpO2xldCBsPVJpYShlLG8sbi5vcHRpb25zKTtuLm9wdGlvbnMmcVUmJm4uY29udGVudC5sZW5ndGg9PTAmJihsfD1xVSk7bGV0IGQ9RGEubm9uZTtyZXR1cm4gcj1yLmZpbHRlcihjPT4obi50eXBlP24udHlwZS5hbGxvd3NNYXJrVHlwZShjLnR5cGUpOkZpYShjLnR5cGUsZSkpPyhkPWMuYWRkVG9TZXQoZCksITEpOiEwKSx0aGlzLm5vZGVzLnB1c2gobmV3IGRtKGUsdCxkLGksbnVsbCxsKSksdGhpcy5vcGVuKysscn1jbG9zZUV4dHJhKGU9ITEpe2xldCB0PXRoaXMubm9kZXMubGVuZ3RoLTE7aWYodD50aGlzLm9wZW4pe2Zvcig7dD50aGlzLm9wZW47dC0tKXRoaXMubm9kZXNbdC0xXS5jb250ZW50LnB1c2godGhpcy5ub2Rlc1t0XS5maW5pc2goZSkpO3RoaXMubm9kZXMubGVuZ3RoPXRoaXMub3BlbisxfX1maW5pc2goKXtyZXR1cm4gdGhpcy5vcGVuPTAsdGhpcy5jbG9zZUV4dHJhKHRoaXMuaXNPcGVuKSx0aGlzLm5vZGVzWzBdLmZpbmlzaCghISh0aGlzLmlzT3Blbnx8dGhpcy5vcHRpb25zLnRvcE9wZW4pKX1zeW5jKGUpe2ZvcihsZXQgdD10aGlzLm9wZW47dD49MDt0LS0pe2lmKHRoaXMubm9kZXNbdF09PWUpcmV0dXJuIHRoaXMub3Blbj10LCEwO3RoaXMubG9jYWxQcmVzZXJ2ZVdTJiYodGhpcy5ub2Rlc1t0XS5vcHRpb25zfD1IVSl9cmV0dXJuITF9Z2V0IGN1cnJlbnRQb3MoKXt0aGlzLmNsb3NlRXh0cmEoKTtsZXQgZT0wO2ZvcihsZXQgdD10aGlzLm9wZW47dD49MDt0LS0pe2xldCByPXRoaXMubm9kZXNbdF0uY29udGVudDtmb3IobGV0IGk9ci5sZW5ndGgtMTtpPj0wO2ktLSllKz1yW2ldLm5vZGVTaXplO3QmJmUrK31yZXR1cm4gZX1maW5kQXRQb2ludChlLHQpe2lmKHRoaXMuZmluZClmb3IobGV0IHI9MDtyPHRoaXMuZmluZC5sZW5ndGg7cisrKXRoaXMuZmluZFtyXS5ub2RlPT1lJiZ0aGlzLmZpbmRbcl0ub2Zmc2V0PT10JiYodGhpcy5maW5kW3JdLnBvcz10aGlzLmN1cnJlbnRQb3MpfWZpbmRJbnNpZGUoZSl7aWYodGhpcy5maW5kKWZvcihsZXQgdD0wO3Q8dGhpcy5maW5kLmxlbmd0aDt0KyspdGhpcy5maW5kW3RdLnBvcz09bnVsbCYmZS5ub2RlVHlwZT09MSYmZS5jb250YWlucyh0aGlzLmZpbmRbdF0ubm9kZSkmJih0aGlzLmZpbmRbdF0ucG9zPXRoaXMuY3VycmVudFBvcyl9ZmluZEFyb3VuZChlLHQscil7aWYoZSE9dCYmdGhpcy5maW5kKWZvcihsZXQgaT0wO2k8dGhpcy5maW5kLmxlbmd0aDtpKyspdGhpcy5maW5kW2ldLnBvcz09bnVsbCYmZS5ub2RlVHlwZT09MSYmZS5jb250YWlucyh0aGlzLmZpbmRbaV0ubm9kZSkmJnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcy5maW5kW2ldLm5vZGUpJihyPzI6NCkmJih0aGlzLmZpbmRbaV0ucG9zPXRoaXMuY3VycmVudFBvcyl9ZmluZEluVGV4dChlKXtpZih0aGlzLmZpbmQpZm9yKGxldCB0PTA7dDx0aGlzLmZpbmQubGVuZ3RoO3QrKyl0aGlzLmZpbmRbdF0ubm9kZT09ZSYmKHRoaXMuZmluZFt0XS5wb3M9dGhpcy5jdXJyZW50UG9zLShlLm5vZGVWYWx1ZS5sZW5ndGgtdGhpcy5maW5kW3RdLm9mZnNldCkpfW1hdGNoZXNDb250ZXh0KGUpe2lmKGUuaW5kZXhPZigifCIpPi0xKXJldHVybiBlLnNwbGl0KC9ccypcfFxzKi8pLnNvbWUodGhpcy5tYXRjaGVzQ29udGV4dCx0aGlzKTtsZXQgdD1lLnNwbGl0KCIvIikscj10aGlzLm9wdGlvbnMuY29udGV4dCxpPSF0aGlzLmlzT3BlbiYmKCFyfHxyLnBhcmVudC50eXBlPT10aGlzLm5vZGVzWzBdLnR5cGUpLG89LShyP3IuZGVwdGgrMTowKSsoaT8wOjEpLG49cygobCxkKT0+e2Zvcig7bD49MDtsLS0pe2xldCBjPXRbbF07aWYoYz09IiIpe2lmKGw9PXQubGVuZ3RoLTF8fGw9PTApY29udGludWU7Zm9yKDtkPj1vO2QtLSlpZihuKGwtMSxkKSlyZXR1cm4hMDtyZXR1cm4hMX1lbHNle2xldCBwPWQ+MHx8ZD09MCYmaT90aGlzLm5vZGVzW2RdLnR5cGU6ciYmZD49bz9yLm5vZGUoZC1vKS50eXBlOm51bGw7aWYoIXB8fHAubmFtZSE9YyYmIXAuaXNJbkdyb3VwKGMpKXJldHVybiExO2QtLX19cmV0dXJuITB9LCJtYXRjaCIpO3JldHVybiBuKHQubGVuZ3RoLTEsdGhpcy5vcGVuKX10ZXh0YmxvY2tGcm9tQ29udGV4dCgpe2xldCBlPXRoaXMub3B0aW9ucy5jb250ZXh0O2lmKGUpZm9yKGxldCB0PWUuZGVwdGg7dD49MDt0LS0pe2xldCByPWUubm9kZSh0KS5jb250ZW50TWF0Y2hBdChlLmluZGV4QWZ0ZXIodCkpLmRlZmF1bHRUeXBlO2lmKHImJnIuaXNUZXh0YmxvY2smJnIuZGVmYXVsdEF0dHJzKXJldHVybiByfWZvcihsZXQgdCBpbiB0aGlzLnBhcnNlci5zY2hlbWEubm9kZXMpe2xldCByPXRoaXMucGFyc2VyLnNjaGVtYS5ub2Rlc1t0XTtpZihyLmlzVGV4dGJsb2NrJiZyLmRlZmF1bHRBdHRycylyZXR1cm4gcn19fTtzKGhEYSwibm9ybWFsaXplTGlzdCIpO3MobURhLCJtYXRjaGVzIik7cyhPaWEsImNvcHkiKTtzKEZpYSwibWFya01heUFwcGx5Iik7VzI9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJET01TZXJpYWxpemVyIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLm5vZGVzPWUsdGhpcy5tYXJrcz10fXNlcmlhbGl6ZUZyYWdtZW50KGUsdD17fSxyKXtyfHwocj1kS2UodCkuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKTtsZXQgaT1yLG89W107cmV0dXJuIGUuZm9yRWFjaChuPT57aWYoby5sZW5ndGh8fG4ubWFya3MubGVuZ3RoKXtsZXQgbD0wLGQ9MDtmb3IoO2w8by5sZW5ndGgmJmQ8bi5tYXJrcy5sZW5ndGg7KXtsZXQgYz1uLm1hcmtzW2RdO2lmKCF0aGlzLm1hcmtzW2MudHlwZS5uYW1lXSl7ZCsrO2NvbnRpbnVlfWlmKCFjLmVxKG9bbF1bMF0pfHxjLnR5cGUuc3BlYy5zcGFubmluZz09PSExKWJyZWFrO2wrKyxkKyt9Zm9yKDtsPG8ubGVuZ3RoOylpPW8ucG9wKClbMV07Zm9yKDtkPG4ubWFya3MubGVuZ3RoOyl7bGV0IGM9bi5tYXJrc1tkKytdLHA9dGhpcy5zZXJpYWxpemVNYXJrKGMsbi5pc0lubGluZSx0KTtwJiYoby5wdXNoKFtjLGldKSxpLmFwcGVuZENoaWxkKHAuZG9tKSxpPXAuY29udGVudERPTXx8cC5kb20pfX1pLmFwcGVuZENoaWxkKHRoaXMuc2VyaWFsaXplTm9kZUlubmVyKG4sdCkpfSkscn1zZXJpYWxpemVOb2RlSW5uZXIoZSx0KXtsZXR7ZG9tOnIsY29udGVudERPTTppfT0kYWUoZEtlKHQpLHRoaXMubm9kZXNbZS50eXBlLm5hbWVdKGUpLG51bGwsZS5hdHRycyk7aWYoaSl7aWYoZS5pc0xlYWYpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNvbnRlbnQgaG9sZSBub3QgYWxsb3dlZCBpbiBhIGxlYWYgbm9kZSBzcGVjIik7dGhpcy5zZXJpYWxpemVGcmFnbWVudChlLmNvbnRlbnQsdCxpKX1yZXR1cm4gcn1zZXJpYWxpemVOb2RlKGUsdD17fSl7bGV0IHI9dGhpcy5zZXJpYWxpemVOb2RlSW5uZXIoZSx0KTtmb3IobGV0IGk9ZS5tYXJrcy5sZW5ndGgtMTtpPj0wO2ktLSl7bGV0IG89dGhpcy5zZXJpYWxpemVNYXJrKGUubWFya3NbaV0sZS5pc0lubGluZSx0KTtvJiYoKG8uY29udGVudERPTXx8by5kb20pLmFwcGVuZENoaWxkKHIpLHI9by5kb20pfXJldHVybiByfXNlcmlhbGl6ZU1hcmsoZSx0LHI9e30pe2xldCBpPXRoaXMubWFya3NbZS50eXBlLm5hbWVdO3JldHVybiBpJiYkYWUoZEtlKHIpLGkoZSx0KSxudWxsLGUuYXR0cnMpfXN0YXRpYyByZW5kZXJTcGVjKGUsdCxyPW51bGwsaSl7cmV0dXJuICRhZShlLHQscixpKX1zdGF0aWMgZnJvbVNjaGVtYShlKXtyZXR1cm4gZS5jYWNoZWQuZG9tU2VyaWFsaXplcnx8KGUuY2FjaGVkLmRvbVNlcmlhbGl6ZXI9bmV3IGEodGhpcy5ub2Rlc0Zyb21TY2hlbWEoZSksdGhpcy5tYXJrc0Zyb21TY2hlbWEoZSkpKX1zdGF0aWMgbm9kZXNGcm9tU2NoZW1hKGUpe2xldCB0PUJpYShlLm5vZGVzKTtyZXR1cm4gdC50ZXh0fHwodC50ZXh0PXI9PnIudGV4dCksdH1zdGF0aWMgbWFya3NGcm9tU2NoZW1hKGUpe3JldHVybiBCaWEoZS5tYXJrcyl9fTtzKEJpYSwiZ2F0aGVyVG9ET00iKTtzKGRLZSwiZG9jIik7SGlhPW5ldyBXZWFrTWFwO3MoZ0RhLCJzdXNwaWNpb3VzQXR0cmlidXRlcyIpO3MoYkRhLCJzdXNwaWNpb3VzQXR0cmlidXRlc0lubmVyIik7cygkYWUsInJlbmRlclNwZWMiKX0pO2Z1bmN0aW9uIHZEYShhLGUpe3JldHVybiBhK2UqVmlhfWZ1bmN0aW9uIGppYShhKXtyZXR1cm4gYSZxaWF9ZnVuY3Rpb24geERhKGEpe3JldHVybihhLShhJnFpYSkpL1ZpYX1mdW5jdGlvbiBwS2UoYSxlLHQpe2xldCByPVtdO2ZvcihsZXQgaT0wO2k8YS5jaGlsZENvdW50O2krKyl7bGV0IG89YS5jaGlsZChpKTtvLmNvbnRlbnQuc2l6ZSYmKG89by5jb3B5KHBLZShvLmNvbnRlbnQsZSxvKSkpLG8uaXNJbmxpbmUmJihvPWUobyx0LGkpKSxyLnB1c2gobyl9cmV0dXJuIGplLmZyb21BcnJheShyKX1mdW5jdGlvbiBmS2UoYSxlLHQpe2xldCByPWEucmVzb2x2ZShlKSxpPXQtZSxvPXIuZGVwdGg7Zm9yKDtpPjAmJm8+MCYmci5pbmRleEFmdGVyKG8pPT1yLm5vZGUobykuY2hpbGRDb3VudDspby0tLGktLTtpZihpPjApe2xldCBuPXIubm9kZShvKS5tYXliZUNoaWxkKHIuaW5kZXhBZnRlcihvKSk7Zm9yKDtpPjA7KXtpZighbnx8bi5pc0xlYWYpcmV0dXJuITA7bj1uLmZpcnN0Q2hpbGQsaS0tfX1yZXR1cm4hMX1mdW5jdGlvbiB5RGEoYSxlLHQscil7bGV0IGk9W10sbz1bXSxuLGw7YS5kb2Mubm9kZXNCZXR3ZWVuKGUsdCwoZCxjLHApPT57aWYoIWQuaXNJbmxpbmUpcmV0dXJuO2xldCB1PWQubWFya3M7aWYoIXIuaXNJblNldCh1KSYmcC50eXBlLmFsbG93c01hcmtUeXBlKHIudHlwZSkpe2xldCBtPU1hdGgubWF4KGMsZSksdj1NYXRoLm1pbihjK2Qubm9kZVNpemUsdCkseD1yLmFkZFRvU2V0KHUpO2ZvcihsZXQgYj0wO2I8dS5sZW5ndGg7YisrKXVbYl0uaXNJblNldCh4KXx8KG4mJm4udG89PW0mJm4ubWFyay5lcSh1W2JdKT9uLnRvPXY6aS5wdXNoKG49bmV3IGY0KG0sdix1W2JdKSkpO2wmJmwudG89PW0/bC50bz12Om8ucHVzaChsPW5ldyBobShtLHYscikpfX0pLGkuZm9yRWFjaChkPT5hLnN0ZXAoZCkpLG8uZm9yRWFjaChkPT5hLnN0ZXAoZCkpfWZ1bmN0aW9uIHdEYShhLGUsdCxyKXtsZXQgaT1bXSxvPTA7YS5kb2Mubm9kZXNCZXR3ZWVuKGUsdCwobixsKT0+e2lmKCFuLmlzSW5saW5lKXJldHVybjtvKys7bGV0IGQ9bnVsbDtpZihyIGluc3RhbmNlb2YgdW0pe2xldCBjPW4ubWFya3MscDtmb3IoO3A9ci5pc0luU2V0KGMpOykoZHx8KGQ9W10pKS5wdXNoKHApLGM9cC5yZW1vdmVGcm9tU2V0KGMpfWVsc2Ugcj9yLmlzSW5TZXQobi5tYXJrcykmJihkPVtyXSk6ZD1uLm1hcmtzO2lmKGQmJmQubGVuZ3RoKXtsZXQgYz1NYXRoLm1pbihsK24ubm9kZVNpemUsdCk7Zm9yKGxldCBwPTA7cDxkLmxlbmd0aDtwKyspe2xldCB1PWRbcF0sbTtmb3IobGV0IHY9MDt2PGkubGVuZ3RoO3YrKyl7bGV0IHg9aVt2XTt4LnN0ZXA9PW8tMSYmdS5lcShpW3ZdLnN0eWxlKSYmKG09eCl9bT8obS50bz1jLG0uc3RlcD1vKTppLnB1c2goe3N0eWxlOnUsZnJvbTpNYXRoLm1heChsLGUpLHRvOmMsc3RlcDpvfSl9fX0pLGkuZm9yRWFjaChuPT5hLnN0ZXAobmV3IGY0KG4uZnJvbSxuLnRvLG4uc3R5bGUpKSl9ZnVuY3Rpb24gaEtlKGEsZSx0LHI9dC5jb250ZW50TWF0Y2gsaT0hMCl7bGV0IG89YS5kb2Mubm9kZUF0KGUpLG49W10sbD1lKzE7Zm9yKGxldCBkPTA7ZDxvLmNoaWxkQ291bnQ7ZCsrKXtsZXQgYz1vLmNoaWxkKGQpLHA9bCtjLm5vZGVTaXplLHU9ci5tYXRjaFR5cGUoYy50eXBlKTtpZighdSluLnB1c2gobmV3IFpzKGwscCxzdC5lbXB0eSkpO2Vsc2V7cj11O2ZvcihsZXQgbT0wO208Yy5tYXJrcy5sZW5ndGg7bSsrKXQuYWxsb3dzTWFya1R5cGUoYy5tYXJrc1ttXS50eXBlKXx8YS5zdGVwKG5ldyBmNChsLHAsYy5tYXJrc1ttXSkpO2lmKGkmJmMuaXNUZXh0JiZ0LndoaXRlc3BhY2UhPSJwcmUiKXtsZXQgbSx2PS9ccj9cbnxcci9nLHg7Zm9yKDttPXYuZXhlYyhjLnRleHQpOyl4fHwoeD1uZXcgc3QoamUuZnJvbSh0LnNjaGVtYS50ZXh0KCIgIix0LmFsbG93ZWRNYXJrcyhjLm1hcmtzKSkpLDAsMCkpLG4ucHVzaChuZXcgWnMobCttLmluZGV4LGwrbS5pbmRleCttWzBdLmxlbmd0aCx4KSl9fWw9cH1pZighci52YWxpZEVuZCl7bGV0IGQ9ci5maWxsQmVmb3JlKGplLmVtcHR5LCEwKTthLnJlcGxhY2UobCxsLG5ldyBzdChkLDAsMCkpfWZvcihsZXQgZD1uLmxlbmd0aC0xO2Q+PTA7ZC0tKWEuc3RlcChuW2RdKX1mdW5jdGlvbiBNRGEoYSxlLHQpe3JldHVybihlPT0wfHxhLmNhblJlcGxhY2UoZSxhLmNoaWxkQ291bnQpKSYmKHQ9PWEuY2hpbGRDb3VudHx8YS5jYW5SZXBsYWNlKDAsdCkpfWZ1bmN0aW9uIFkyKGEpe2xldCB0PWEucGFyZW50LmNvbnRlbnQuY3V0QnlJbmRleChhLnN0YXJ0SW5kZXgsYS5lbmRJbmRleCk7Zm9yKGxldCByPWEuZGVwdGgsaT0wLG89MDs7LS1yKXtsZXQgbj1hLiRmcm9tLm5vZGUociksbD1hLiRmcm9tLmluZGV4KHIpK2ksZD1hLiR0by5pbmRleEFmdGVyKHIpLW87aWYocjxhLmRlcHRoJiZuLmNhblJlcGxhY2UobCxkLHQpKXJldHVybiByO2lmKHI9PTB8fG4udHlwZS5zcGVjLmlzb2xhdGluZ3x8IU1EYShuLGwsZCkpYnJlYWs7bCYmKGk9MSksZDxuLmNoaWxkQ291bnQmJihvPTEpfXJldHVybiBudWxsfWZ1bmN0aW9uIGtEYShhLGUsdCl7bGV0eyRmcm9tOnIsJHRvOmksZGVwdGg6b309ZSxuPXIuYmVmb3JlKG8rMSksbD1pLmFmdGVyKG8rMSksZD1uLGM9bCxwPWplLmVtcHR5LHU9MDtmb3IobGV0IHg9byxiPSExO3g+dDt4LS0pYnx8ci5pbmRleCh4KT4wPyhiPSEwLHA9amUuZnJvbShyLm5vZGUoeCkuY29weShwKSksdSsrKTpkLS07bGV0IG09amUuZW1wdHksdj0wO2ZvcihsZXQgeD1vLGI9ITE7eD50O3gtLSlifHxpLmFmdGVyKHgrMSk8aS5lbmQoeCk/KGI9ITAsbT1qZS5mcm9tKGkubm9kZSh4KS5jb3B5KG0pKSx2KyspOmMrKzthLnN0ZXAobmV3IHRzKGQsYyxuLGwsbmV3IHN0KHAuYXBwZW5kKG0pLHUsdikscC5zaXplLXUsITApKX1mdW5jdGlvbiBCZihhLGUsdD1udWxsLHI9YSl7bGV0IGk9U0RhKGEsZSksbz1pJiZ6RGEocixlKTtyZXR1cm4gbz9pLm1hcChZaWEpLmNvbmNhdCh7dHlwZTplLGF0dHJzOnR9KS5jb25jYXQoby5tYXAoWWlhKSk6bnVsbH1mdW5jdGlvbiBZaWEoYSl7cmV0dXJue3R5cGU6YSxhdHRyczpudWxsfX1mdW5jdGlvbiBTRGEoYSxlKXtsZXR7cGFyZW50OnQsc3RhcnRJbmRleDpyLGVuZEluZGV4Oml9PWEsbz10LmNvbnRlbnRNYXRjaEF0KHIpLmZpbmRXcmFwcGluZyhlKTtpZighbylyZXR1cm4gbnVsbDtsZXQgbj1vLmxlbmd0aD9vWzBdOmU7cmV0dXJuIHQuY2FuUmVwbGFjZVdpdGgocixpLG4pP286bnVsbH1mdW5jdGlvbiB6RGEoYSxlKXtsZXR7cGFyZW50OnQsc3RhcnRJbmRleDpyLGVuZEluZGV4Oml9PWEsbz10LmNoaWxkKHIpLG49ZS5jb250ZW50TWF0Y2guZmluZFdyYXBwaW5nKG8udHlwZSk7aWYoIW4pcmV0dXJuIG51bGw7bGV0IGQ9KG4ubGVuZ3RoP25bbi5sZW5ndGgtMV06ZSkuY29udGVudE1hdGNoO2ZvcihsZXQgYz1yO2QmJmM8aTtjKyspZD1kLm1hdGNoVHlwZSh0LmNoaWxkKGMpLnR5cGUpO3JldHVybiFkfHwhZC52YWxpZEVuZD9udWxsOm59ZnVuY3Rpb24gQ0RhKGEsZSx0KXtsZXQgcj1qZS5lbXB0eTtmb3IobGV0IG49dC5sZW5ndGgtMTtuPj0wO24tLSl7aWYoci5zaXplKXtsZXQgbD10W25dLnR5cGUuY29udGVudE1hdGNoLm1hdGNoRnJhZ21lbnQocik7aWYoIWx8fCFsLnZhbGlkRW5kKXRocm93IG5ldyBSYW5nZUVycm9yKCJXcmFwcGVyIHR5cGUgZ2l2ZW4gdG8gVHJhbnNmb3JtLndyYXAgZG9lcyBub3QgZm9ybSB2YWxpZCBjb250ZW50IG9mIGl0cyBwYXJlbnQgd3JhcHBlciIpfXI9amUuZnJvbSh0W25dLnR5cGUuY3JlYXRlKHRbbl0uYXR0cnMscikpfWxldCBpPWUuc3RhcnQsbz1lLmVuZDthLnN0ZXAobmV3IHRzKGksbyxpLG8sbmV3IHN0KHIsMCwwKSx0Lmxlbmd0aCwhMCkpfWZ1bmN0aW9uIF9EYShhLGUsdCxyLGkpe2lmKCFyLmlzVGV4dGJsb2NrKXRocm93IG5ldyBSYW5nZUVycm9yKCJUeXBlIGdpdmVuIHRvIHNldEJsb2NrVHlwZSBzaG91bGQgYmUgYSB0ZXh0YmxvY2siKTtsZXQgbz1hLnN0ZXBzLmxlbmd0aDthLmRvYy5ub2Rlc0JldHdlZW4oZSx0LChuLGwpPT57bGV0IGQ9dHlwZW9mIGk9PSJmdW5jdGlvbiI/aShuKTppO2lmKG4uaXNUZXh0YmxvY2smJiFuLmhhc01hcmt1cChyLGQpJiZURGEoYS5kb2MsYS5tYXBwaW5nLnNsaWNlKG8pLm1hcChsKSxyKSl7bGV0IGM9bnVsbDtpZihyLnNjaGVtYS5saW5lYnJlYWtSZXBsYWNlbWVudCl7bGV0IHY9ci53aGl0ZXNwYWNlPT0icHJlIix4PSEhci5jb250ZW50TWF0Y2gubWF0Y2hUeXBlKHIuc2NoZW1hLmxpbmVicmVha1JlcGxhY2VtZW50KTt2JiYheD9jPSExOiF2JiZ4JiYoYz0hMCl9Yz09PSExJiZaaWEoYSxuLGwsbyksaEtlKGEsYS5tYXBwaW5nLnNsaWNlKG8pLm1hcChsLDEpLHIsdm9pZCAwLGM9PT1udWxsKTtsZXQgcD1hLm1hcHBpbmcuc2xpY2UobyksdT1wLm1hcChsLDEpLG09cC5tYXAobCtuLm5vZGVTaXplLDEpO3JldHVybiBhLnN0ZXAobmV3IHRzKHUsbSx1KzEsbS0xLG5ldyBzdChqZS5mcm9tKHIuY3JlYXRlKGQsbnVsbCxuLm1hcmtzKSksMCwwKSwxLCEwKSksYz09PSEwJiZLaWEoYSxuLGwsbyksITF9fSl9ZnVuY3Rpb24gS2lhKGEsZSx0LHIpe2UuZm9yRWFjaCgoaSxvKT0+e2lmKGkuaXNUZXh0KXtsZXQgbixsPS9ccj9cbnxcci9nO2Zvcig7bj1sLmV4ZWMoaS50ZXh0KTspe2xldCBkPWEubWFwcGluZy5zbGljZShyKS5tYXAodCsxK28rbi5pbmRleCk7YS5yZXBsYWNlV2l0aChkLGQrMSxlLnR5cGUuc2NoZW1hLmxpbmVicmVha1JlcGxhY2VtZW50LmNyZWF0ZSgpKX19fSl9ZnVuY3Rpb24gWmlhKGEsZSx0LHIpe2UuZm9yRWFjaCgoaSxvKT0+e2lmKGkudHlwZT09aS50eXBlLnNjaGVtYS5saW5lYnJlYWtSZXBsYWNlbWVudCl7bGV0IG49YS5tYXBwaW5nLnNsaWNlKHIpLm1hcCh0KzErbyk7YS5yZXBsYWNlV2l0aChuLG4rMSxlLnR5cGUuc2NoZW1hLnRleHQoYApgKSl9fSl9ZnVuY3Rpb24gVERhKGEsZSx0KXtsZXQgcj1hLnJlc29sdmUoZSksaT1yLmluZGV4KCk7cmV0dXJuIHIucGFyZW50LmNhblJlcGxhY2VXaXRoKGksaSsxLHQpfWZ1bmN0aW9uIExEYShhLGUsdCxyLGkpe2xldCBvPWEuZG9jLm5vZGVBdChlKTtpZighbyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiTm8gbm9kZSBhdCBnaXZlbiBwb3NpdGlvbiIpO3R8fCh0PW8udHlwZSk7bGV0IG49dC5jcmVhdGUocixudWxsLGl8fG8ubWFya3MpO2lmKG8uaXNMZWFmKXJldHVybiBhLnJlcGxhY2VXaXRoKGUsZStvLm5vZGVTaXplLG4pO2lmKCF0LnZhbGlkQ29udGVudChvLmNvbnRlbnQpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIGNvbnRlbnQgZm9yIG5vZGUgdHlwZSAiK3QubmFtZSk7YS5zdGVwKG5ldyB0cyhlLGUrby5ub2RlU2l6ZSxlKzEsZStvLm5vZGVTaXplLTEsbmV3IHN0KGplLmZyb20obiksMCwwKSwxLCEwKSl9ZnVuY3Rpb24gTm8oYSxlLHQ9MSxyKXtsZXQgaT1hLnJlc29sdmUoZSksbz1pLmRlcHRoLXQsbj1yJiZyW3IubGVuZ3RoLTFdfHxpLnBhcmVudDtpZihvPDB8fGkucGFyZW50LnR5cGUuc3BlYy5pc29sYXRpbmd8fCFpLnBhcmVudC5jYW5SZXBsYWNlKGkuaW5kZXgoKSxpLnBhcmVudC5jaGlsZENvdW50KXx8IW4udHlwZS52YWxpZENvbnRlbnQoaS5wYXJlbnQuY29udGVudC5jdXRCeUluZGV4KGkuaW5kZXgoKSxpLnBhcmVudC5jaGlsZENvdW50KSkpcmV0dXJuITE7Zm9yKGxldCBjPWkuZGVwdGgtMSxwPXQtMjtjPm87Yy0tLHAtLSl7bGV0IHU9aS5ub2RlKGMpLG09aS5pbmRleChjKTtpZih1LnR5cGUuc3BlYy5pc29sYXRpbmcpcmV0dXJuITE7bGV0IHY9dS5jb250ZW50LmN1dEJ5SW5kZXgobSx1LmNoaWxkQ291bnQpLHg9ciYmcltwKzFdO3gmJih2PXYucmVwbGFjZUNoaWxkKDAseC50eXBlLmNyZWF0ZSh4LmF0dHJzKSkpO2xldCBiPXImJnJbcF18fHU7aWYoIXUuY2FuUmVwbGFjZShtKzEsdS5jaGlsZENvdW50KXx8IWIudHlwZS52YWxpZENvbnRlbnQodikpcmV0dXJuITF9bGV0IGw9aS5pbmRleEFmdGVyKG8pLGQ9ciYmclswXTtyZXR1cm4gaS5ub2RlKG8pLmNhblJlcGxhY2VXaXRoKGwsbCxkP2QudHlwZTppLm5vZGUobysxKS50eXBlKX1mdW5jdGlvbiAkRGEoYSxlLHQ9MSxyKXtsZXQgaT1hLmRvYy5yZXNvbHZlKGUpLG89amUuZW1wdHksbj1qZS5lbXB0eTtmb3IobGV0IGw9aS5kZXB0aCxkPWkuZGVwdGgtdCxjPXQtMTtsPmQ7bC0tLGMtLSl7bz1qZS5mcm9tKGkubm9kZShsKS5jb3B5KG8pKTtsZXQgcD1yJiZyW2NdO249amUuZnJvbShwP3AudHlwZS5jcmVhdGUocC5hdHRycyxuKTppLm5vZGUobCkuY29weShuKSl9YS5zdGVwKG5ldyBacyhlLGUsbmV3IHN0KG8uYXBwZW5kKG4pLHQsdCksITApKX1mdW5jdGlvbiBzbihhLGUpe2xldCB0PWEucmVzb2x2ZShlKSxyPXQuaW5kZXgoKTtyZXR1cm4gWGlhKHQubm9kZUJlZm9yZSx0Lm5vZGVBZnRlcikmJnQucGFyZW50LmNhblJlcGxhY2UocixyKzEpfWZ1bmN0aW9uIEREYShhLGUpe2UuY29udGVudC5zaXplfHxhLnR5cGUuY29tcGF0aWJsZUNvbnRlbnQoZS50eXBlKTtsZXQgdD1hLmNvbnRlbnRNYXRjaEF0KGEuY2hpbGRDb3VudCkse2xpbmVicmVha1JlcGxhY2VtZW50OnJ9PWEudHlwZS5zY2hlbWE7Zm9yKGxldCBpPTA7aTxlLmNoaWxkQ291bnQ7aSsrKXtsZXQgbz1lLmNoaWxkKGkpLG49by50eXBlPT1yP2EudHlwZS5zY2hlbWEubm9kZXMudGV4dDpvLnR5cGU7aWYodD10Lm1hdGNoVHlwZShuKSwhdHx8IWEudHlwZS5hbGxvd3NNYXJrcyhvLm1hcmtzKSlyZXR1cm4hMX1yZXR1cm4gdC52YWxpZEVuZH1mdW5jdGlvbiBYaWEoYSxlKXtyZXR1cm4hIShhJiZlJiYhYS5pc0xlYWYmJkREYShhLGUpKX1mdW5jdGlvbiBIZihhLGUsdD0tMSl7bGV0IHI9YS5yZXNvbHZlKGUpO2ZvcihsZXQgaT1yLmRlcHRoOztpLS0pe2xldCBvLG4sbD1yLmluZGV4KGkpO2lmKGk9PXIuZGVwdGg/KG89ci5ub2RlQmVmb3JlLG49ci5ub2RlQWZ0ZXIpOnQ+MD8obz1yLm5vZGUoaSsxKSxsKyssbj1yLm5vZGUoaSkubWF5YmVDaGlsZChsKSk6KG89ci5ub2RlKGkpLm1heWJlQ2hpbGQobC0xKSxuPXIubm9kZShpKzEpKSxvJiYhby5pc1RleHRibG9jayYmWGlhKG8sbikmJnIubm9kZShpKS5jYW5SZXBsYWNlKGwsbCsxKSlyZXR1cm4gZTtpZihpPT0wKWJyZWFrO2U9dDwwP3IuYmVmb3JlKGkpOnIuYWZ0ZXIoaSl9fWZ1bmN0aW9uIEFEYShhLGUsdCl7bGV0IHI9bnVsbCx7bGluZWJyZWFrUmVwbGFjZW1lbnQ6aX09YS5kb2MudHlwZS5zY2hlbWEsbz1hLmRvYy5yZXNvbHZlKGUtdCksbj1vLm5vZGUoKS50eXBlO2lmKGkmJm4uaW5saW5lQ29udGVudCl7bGV0IHA9bi53aGl0ZXNwYWNlPT0icHJlIix1PSEhbi5jb250ZW50TWF0Y2gubWF0Y2hUeXBlKGkpO3AmJiF1P3I9ITE6IXAmJnUmJihyPSEwKX1sZXQgbD1hLnN0ZXBzLmxlbmd0aDtpZihyPT09ITEpe2xldCBwPWEuZG9jLnJlc29sdmUoZSt0KTtaaWEoYSxwLm5vZGUoKSxwLmJlZm9yZSgpLGwpfW4uaW5saW5lQ29udGVudCYmaEtlKGEsZSt0LTEsbixvLm5vZGUoKS5jb250ZW50TWF0Y2hBdChvLmluZGV4KCkpLHI9PW51bGwpO2xldCBkPWEubWFwcGluZy5zbGljZShsKSxjPWQubWFwKGUtdCk7aWYoYS5zdGVwKG5ldyBacyhjLGQubWFwKGUrdCwtMSksc3QuZW1wdHksITApKSxyPT09ITApe2xldCBwPWEuZG9jLnJlc29sdmUoYyk7S2lhKGEscC5ub2RlKCkscC5iZWZvcmUoKSxhLnN0ZXBzLmxlbmd0aCl9cmV0dXJuIGF9ZnVuY3Rpb24gUWlhKGEsZSx0KXtsZXQgcj1hLnJlc29sdmUoZSk7aWYoci5wYXJlbnQuY2FuUmVwbGFjZVdpdGgoci5pbmRleCgpLHIuaW5kZXgoKSx0KSlyZXR1cm4gZTtpZihyLnBhcmVudE9mZnNldD09MClmb3IobGV0IGk9ci5kZXB0aC0xO2k+PTA7aS0tKXtsZXQgbz1yLmluZGV4KGkpO2lmKHIubm9kZShpKS5jYW5SZXBsYWNlV2l0aChvLG8sdCkpcmV0dXJuIHIuYmVmb3JlKGkrMSk7aWYobz4wKXJldHVybiBudWxsfWlmKHIucGFyZW50T2Zmc2V0PT1yLnBhcmVudC5jb250ZW50LnNpemUpZm9yKGxldCBpPXIuZGVwdGgtMTtpPj0wO2ktLSl7bGV0IG89ci5pbmRleEFmdGVyKGkpO2lmKHIubm9kZShpKS5jYW5SZXBsYWNlV2l0aChvLG8sdCkpcmV0dXJuIHIuYWZ0ZXIoaSsxKTtpZihvPHIubm9kZShpKS5jaGlsZENvdW50KXJldHVybiBudWxsfXJldHVybiBudWxsfWZ1bmN0aW9uIEdVKGEsZSx0KXtsZXQgcj1hLnJlc29sdmUoZSk7aWYoIXQuY29udGVudC5zaXplKXJldHVybiBlO2xldCBpPXQuY29udGVudDtmb3IobGV0IG89MDtvPHQub3BlblN0YXJ0O28rKylpPWkuZmlyc3RDaGlsZC5jb250ZW50O2ZvcihsZXQgbz0xO288PSh0Lm9wZW5TdGFydD09MCYmdC5zaXplPzI6MSk7bysrKWZvcihsZXQgbj1yLmRlcHRoO24+PTA7bi0tKXtsZXQgbD1uPT1yLmRlcHRoPzA6ci5wb3M8PShyLnN0YXJ0KG4rMSkrci5lbmQobisxKSkvMj8tMToxLGQ9ci5pbmRleChuKSsobD4wPzE6MCksYz1yLm5vZGUobikscD0hMTtpZihvPT0xKXA9Yy5jYW5SZXBsYWNlKGQsZCxpKTtlbHNle2xldCB1PWMuY29udGVudE1hdGNoQXQoZCkuZmluZFdyYXBwaW5nKGkuZmlyc3RDaGlsZC50eXBlKTtwPXUmJmMuY2FuUmVwbGFjZVdpdGgoZCxkLHVbMF0pfWlmKHApcmV0dXJuIGw9PTA/ci5wb3M6bDwwP3IuYmVmb3JlKG4rMSk6ci5hZnRlcihuKzEpfXJldHVybiBudWxsfWZ1bmN0aW9uIGJtKGEsZSx0PWUscj1zdC5lbXB0eSl7aWYoZT09dCYmIXIuc2l6ZSlyZXR1cm4gbnVsbDtsZXQgaT1hLnJlc29sdmUoZSksbz1hLnJlc29sdmUodCk7cmV0dXJuIEppYShpLG8scik/bmV3IFpzKGUsdCxyKTpuZXcgbUtlKGksbyxyKS5maXQoKX1mdW5jdGlvbiBKaWEoYSxlLHQpe3JldHVybiF0Lm9wZW5TdGFydCYmIXQub3BlbkVuZCYmYS5zdGFydCgpPT1lLnN0YXJ0KCkmJmEucGFyZW50LmNhblJlcGxhY2UoYS5pbmRleCgpLGUuaW5kZXgoKSx0LmNvbnRlbnQpfWZ1bmN0aW9uIFZVKGEsZSx0KXtyZXR1cm4gZT09MD9hLmN1dEJ5SW5kZXgodCxhLmNoaWxkQ291bnQpOmEucmVwbGFjZUNoaWxkKDAsYS5maXJzdENoaWxkLmNvcHkoVlUoYS5maXJzdENoaWxkLmNvbnRlbnQsZS0xLHQpKSl9ZnVuY3Rpb24galUoYSxlLHQpe3JldHVybiBlPT0wP2EuYXBwZW5kKHQpOmEucmVwbGFjZUNoaWxkKGEuY2hpbGRDb3VudC0xLGEubGFzdENoaWxkLmNvcHkoalUoYS5sYXN0Q2hpbGQuY29udGVudCxlLTEsdCkpKX1mdW5jdGlvbiBnS2UoYSxlKXtmb3IobGV0IHQ9MDt0PGU7dCsrKWE9YS5maXJzdENoaWxkLmNvbnRlbnQ7cmV0dXJuIGF9ZnVuY3Rpb24gZW9hKGEsZSx0KXtpZihlPD0wKXJldHVybiBhO2xldCByPWEuY29udGVudDtyZXR1cm4gZT4xJiYocj1yLnJlcGxhY2VDaGlsZCgwLGVvYShyLmZpcnN0Q2hpbGQsZS0xLHIuY2hpbGRDb3VudD09MT90LTE6MCkpKSxlPjAmJihyPWEudHlwZS5jb250ZW50TWF0Y2guZmlsbEJlZm9yZShyKS5hcHBlbmQociksdDw9MCYmKHI9ci5hcHBlbmQoYS50eXBlLmNvbnRlbnRNYXRjaC5tYXRjaEZyYWdtZW50KHIpLmZpbGxCZWZvcmUoamUuZW1wdHksITApKSkpLGEuY29weShyKX1mdW5jdGlvbiBiS2UoYSxlLHQscixpKXtsZXQgbz1hLm5vZGUoZSksbj1pP2EuaW5kZXhBZnRlcihlKTphLmluZGV4KGUpO2lmKG49PW8uY2hpbGRDb3VudCYmIXQuY29tcGF0aWJsZUNvbnRlbnQoby50eXBlKSlyZXR1cm4gbnVsbDtsZXQgbD1yLmZpbGxCZWZvcmUoby5jb250ZW50LCEwLG4pO3JldHVybiBsJiYhUERhKHQsby5jb250ZW50LG4pP2w6bnVsbH1mdW5jdGlvbiBQRGEoYSxlLHQpe2ZvcihsZXQgcj10O3I8ZS5jaGlsZENvdW50O3IrKylpZighYS5hbGxvd3NNYXJrcyhlLmNoaWxkKHIpLm1hcmtzKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBFRGEoYSl7cmV0dXJuIGEuc3BlYy5kZWZpbmluZ3x8YS5zcGVjLmRlZmluaW5nRm9yQ29udGVudH1mdW5jdGlvbiBJRGEoYSxlLHQscil7aWYoIXIuc2l6ZSlyZXR1cm4gYS5kZWxldGVSYW5nZShlLHQpO2xldCBpPWEuZG9jLnJlc29sdmUoZSksbz1hLmRvYy5yZXNvbHZlKHQpO2lmKEppYShpLG8scikpcmV0dXJuIGEuc3RlcChuZXcgWnMoZSx0LHIpKTtsZXQgbj1hb2EoaSxvKTtuW24ubGVuZ3RoLTFdPT0wJiZuLnBvcCgpO2xldCBsPS0oaS5kZXB0aCsxKTtuLnVuc2hpZnQobCk7Zm9yKGxldCBtPWkuZGVwdGgsdj1pLnBvcy0xO20+MDttLS0sdi0tKXtsZXQgeD1pLm5vZGUobSkudHlwZS5zcGVjO2lmKHguZGVmaW5pbmd8fHguZGVmaW5pbmdBc0NvbnRleHR8fHguaXNvbGF0aW5nKWJyZWFrO24uaW5kZXhPZihtKT4tMT9sPW06aS5iZWZvcmUobSk9PXYmJm4uc3BsaWNlKDEsMCwtbSl9bGV0IGQ9bi5pbmRleE9mKGwpLGM9W10scD1yLm9wZW5TdGFydDtmb3IobGV0IG09ci5jb250ZW50LHY9MDs7disrKXtsZXQgeD1tLmZpcnN0Q2hpbGQ7aWYoYy5wdXNoKHgpLHY9PXIub3BlblN0YXJ0KWJyZWFrO209eC5jb250ZW50fWZvcihsZXQgbT1wLTE7bT49MDttLS0pe2xldCB2PWNbbV0seD1FRGEodi50eXBlKTtpZih4JiYhdi5zYW1lTWFya3VwKGkubm9kZShNYXRoLmFicyhsKS0xKSkpcD1tO2Vsc2UgaWYoeHx8IXYudHlwZS5pc1RleHRibG9jaylicmVha31mb3IobGV0IG09ci5vcGVuU3RhcnQ7bT49MDttLS0pe2xldCB2PShtK3ArMSklKHIub3BlblN0YXJ0KzEpLHg9Y1t2XTtpZih4KWZvcihsZXQgYj0wO2I8bi5sZW5ndGg7YisrKXtsZXQgZz1uWyhiK2QpJW4ubGVuZ3RoXSx5PSEwO2c8MCYmKHk9ITEsZz0tZyk7bGV0IGs9aS5ub2RlKGctMSksQz1pLmluZGV4KGctMSk7aWYoay5jYW5SZXBsYWNlV2l0aChDLEMseC50eXBlLHgubWFya3MpKXJldHVybiBhLnJlcGxhY2UoaS5iZWZvcmUoZykseT9vLmFmdGVyKGcpOnQsbmV3IHN0KHRvYShyLmNvbnRlbnQsMCxyLm9wZW5TdGFydCx2KSx2LHIub3BlbkVuZCkpfX1sZXQgdT1hLnN0ZXBzLmxlbmd0aDtmb3IobGV0IG09bi5sZW5ndGgtMTttPj0wJiYoYS5yZXBsYWNlKGUsdCxyKSwhKGEuc3RlcHMubGVuZ3RoPnUpKTttLS0pe2xldCB2PW5bbV07djwwfHwoZT1pLmJlZm9yZSh2KSx0PW8uYWZ0ZXIodikpfX1mdW5jdGlvbiB0b2EoYSxlLHQscixpKXtpZihlPHQpe2xldCBvPWEuZmlyc3RDaGlsZDthPWEucmVwbGFjZUNoaWxkKDAsby5jb3B5KHRvYShvLmNvbnRlbnQsZSsxLHQscixvKSkpfWlmKGU+cil7bGV0IG89aS5jb250ZW50TWF0Y2hBdCgwKSxuPW8uZmlsbEJlZm9yZShhKS5hcHBlbmQoYSk7YT1uLmFwcGVuZChvLm1hdGNoRnJhZ21lbnQobikuZmlsbEJlZm9yZShqZS5lbXB0eSwhMCkpfXJldHVybiBhfWZ1bmN0aW9uIE5EYShhLGUsdCxyKXtpZighci5pc0lubGluZSYmZT09dCYmYS5kb2MucmVzb2x2ZShlKS5wYXJlbnQuY29udGVudC5zaXplKXtsZXQgaT1RaWEoYS5kb2MsZSxyLnR5cGUpO2khPW51bGwmJihlPXQ9aSl9YS5yZXBsYWNlUmFuZ2UoZSx0LG5ldyBzdChqZS5mcm9tKHIpLDAsMCkpfWZ1bmN0aW9uIFJEYShhLGUsdCl7bGV0IHI9YS5kb2MucmVzb2x2ZShlKSxpPWEuZG9jLnJlc29sdmUodCk7aWYoci5wYXJlbnQuaXNUZXh0YmxvY2smJmkucGFyZW50LmlzVGV4dGJsb2NrJiZyLnN0YXJ0KCkhPWkuc3RhcnQoKSYmci5wYXJlbnRPZmZzZXQ9PTAmJmkucGFyZW50T2Zmc2V0PT0wKXtsZXQgbj1yLnNoYXJlZERlcHRoKHQpLGw9ITE7Zm9yKGxldCBkPXIuZGVwdGg7ZD5uO2QtLSlyLm5vZGUoZCkudHlwZS5zcGVjLmlzb2xhdGluZyYmKGw9ITApO2ZvcihsZXQgZD1pLmRlcHRoO2Q+bjtkLS0paS5ub2RlKGQpLnR5cGUuc3BlYy5pc29sYXRpbmcmJihsPSEwKTtpZighbCl7Zm9yKGxldCBkPXIuZGVwdGg7ZD4wJiZlPT1yLnN0YXJ0KGQpO2QtLSllPXIuYmVmb3JlKGQpO2ZvcihsZXQgZD1pLmRlcHRoO2Q+MCYmdD09aS5zdGFydChkKTtkLS0pdD1pLmJlZm9yZShkKTtyPWEuZG9jLnJlc29sdmUoZSksaT1hLmRvYy5yZXNvbHZlKHQpfX1sZXQgbz1hb2EocixpKTtmb3IobGV0IG49MDtuPG8ubGVuZ3RoO24rKyl7bGV0IGw9b1tuXSxkPW49PW8ubGVuZ3RoLTE7aWYoZCYmbD09MHx8ci5ub2RlKGwpLnR5cGUuY29udGVudE1hdGNoLnZhbGlkRW5kKXJldHVybiBhLmRlbGV0ZShyLnN0YXJ0KGwpLGkuZW5kKGwpKTtpZihsPjAmJihkfHxyLm5vZGUobC0xKS5jYW5SZXBsYWNlKHIuaW5kZXgobC0xKSxpLmluZGV4QWZ0ZXIobC0xKSkpKXJldHVybiBhLmRlbGV0ZShyLmJlZm9yZShsKSxpLmFmdGVyKGwpKX1mb3IobGV0IG49MTtuPD1yLmRlcHRoJiZuPD1pLmRlcHRoO24rKylpZihlLXIuc3RhcnQobik9PXIuZGVwdGgtbiYmdD5yLmVuZChuKSYmaS5lbmQobiktdCE9aS5kZXB0aC1uJiZyLnN0YXJ0KG4tMSk9PWkuc3RhcnQobi0xKSYmci5ub2RlKG4tMSkuY2FuUmVwbGFjZShyLmluZGV4KG4tMSksaS5pbmRleChuLTEpKSlyZXR1cm4gYS5kZWxldGUoci5iZWZvcmUobiksdCk7YS5kZWxldGUoZSx0KX1mdW5jdGlvbiBhb2EoYSxlKXtsZXQgdD1bXSxyPU1hdGgubWluKGEuZGVwdGgsZS5kZXB0aCk7Zm9yKGxldCBpPXI7aT49MDtpLS0pe2xldCBvPWEuc3RhcnQoaSk7aWYobzxhLnBvcy0oYS5kZXB0aC1pKXx8ZS5lbmQoaSk+ZS5wb3MrKGUuZGVwdGgtaSl8fGEubm9kZShpKS50eXBlLnNwZWMuaXNvbGF0aW5nfHxlLm5vZGUoaSkudHlwZS5zcGVjLmlzb2xhdGluZylicmVhazsobz09ZS5zdGFydChpKXx8aT09YS5kZXB0aCYmaT09ZS5kZXB0aCYmYS5wYXJlbnQuaW5saW5lQ29udGVudCYmZS5wYXJlbnQuaW5saW5lQ29udGVudCYmaSYmZS5zdGFydChpLTEpPT1vLTEpJiZ0LnB1c2goaSl9cmV0dXJuIHR9dmFyIHFpYSxWaWEsVWlhLFdpYSxEYWUsR2lhLGZtLEcyLGdtLHVLZSxScyxLcyxobSxmNCxtbSxSZixacyx0cyxtS2UsVVUsV1UsT2YsRmYsaDQ9ZigoKT0+e3A0KCk7cWlhPTY1NTM1LFZpYT1NYXRoLnBvdygyLDE2KTtzKHZEYSwibWFrZVJlY292ZXIiKTtzKGppYSwicmVjb3ZlckluZGV4Iik7cyh4RGEsInJlY292ZXJPZmZzZXQiKTtVaWE9MSxXaWE9MixEYWU9NCxHaWE9OCxmbT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJNYXBSZXN1bHQiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5wb3M9ZSx0aGlzLmRlbEluZm89dCx0aGlzLnJlY292ZXI9cn1nZXQgZGVsZXRlZCgpe3JldHVybih0aGlzLmRlbEluZm8mR2lhKT4wfWdldCBkZWxldGVkQmVmb3JlKCl7cmV0dXJuKHRoaXMuZGVsSW5mbyYoVWlhfERhZSkpPjB9Z2V0IGRlbGV0ZWRBZnRlcigpe3JldHVybih0aGlzLmRlbEluZm8mKFdpYXxEYWUpKT4wfWdldCBkZWxldGVkQWNyb3NzKCl7cmV0dXJuKHRoaXMuZGVsSW5mbyZEYWUpPjB9fSxHMj1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlN0ZXBNYXAiKX1jb25zdHJ1Y3RvcihlLHQ9ITEpe2lmKHRoaXMucmFuZ2VzPWUsdGhpcy5pbnZlcnRlZD10LCFlLmxlbmd0aCYmYS5lbXB0eSlyZXR1cm4gYS5lbXB0eX1yZWNvdmVyKGUpe2xldCB0PTAscj1qaWEoZSk7aWYoIXRoaXMuaW52ZXJ0ZWQpZm9yKGxldCBpPTA7aTxyO2krKyl0Kz10aGlzLnJhbmdlc1tpKjMrMl0tdGhpcy5yYW5nZXNbaSozKzFdO3JldHVybiB0aGlzLnJhbmdlc1tyKjNdK3QreERhKGUpfW1hcFJlc3VsdChlLHQ9MSl7cmV0dXJuIHRoaXMuX21hcChlLHQsITEpfW1hcChlLHQ9MSl7cmV0dXJuIHRoaXMuX21hcChlLHQsITApfV9tYXAoZSx0LHIpe2xldCBpPTAsbz10aGlzLmludmVydGVkPzI6MSxuPXRoaXMuaW52ZXJ0ZWQ/MToyO2ZvcihsZXQgbD0wO2w8dGhpcy5yYW5nZXMubGVuZ3RoO2wrPTMpe2xldCBkPXRoaXMucmFuZ2VzW2xdLSh0aGlzLmludmVydGVkP2k6MCk7aWYoZD5lKWJyZWFrO2xldCBjPXRoaXMucmFuZ2VzW2wrb10scD10aGlzLnJhbmdlc1tsK25dLHU9ZCtjO2lmKGU8PXUpe2xldCBtPWM/ZT09ZD8tMTplPT11PzE6dDp0LHY9ZCtpKyhtPDA/MDpwKTtpZihyKXJldHVybiB2O2xldCB4PWU9PSh0PDA/ZDp1KT9udWxsOnZEYShsLzMsZS1kKSxiPWU9PWQ/V2lhOmU9PXU/VWlhOkRhZTtyZXR1cm4odDwwP2UhPWQ6ZSE9dSkmJihifD1HaWEpLG5ldyBmbSh2LGIseCl9aSs9cC1jfXJldHVybiByP2UraTpuZXcgZm0oZStpLDAsbnVsbCl9dG91Y2hlcyhlLHQpe2xldCByPTAsaT1qaWEodCksbz10aGlzLmludmVydGVkPzI6MSxuPXRoaXMuaW52ZXJ0ZWQ/MToyO2ZvcihsZXQgbD0wO2w8dGhpcy5yYW5nZXMubGVuZ3RoO2wrPTMpe2xldCBkPXRoaXMucmFuZ2VzW2xdLSh0aGlzLmludmVydGVkP3I6MCk7aWYoZD5lKWJyZWFrO2xldCBjPXRoaXMucmFuZ2VzW2wrb10scD1kK2M7aWYoZTw9cCYmbD09aSozKXJldHVybiEwO3IrPXRoaXMucmFuZ2VzW2wrbl0tY31yZXR1cm4hMX1mb3JFYWNoKGUpe2xldCB0PXRoaXMuaW52ZXJ0ZWQ/MjoxLHI9dGhpcy5pbnZlcnRlZD8xOjI7Zm9yKGxldCBpPTAsbz0wO2k8dGhpcy5yYW5nZXMubGVuZ3RoO2krPTMpe2xldCBuPXRoaXMucmFuZ2VzW2ldLGw9bi0odGhpcy5pbnZlcnRlZD9vOjApLGQ9bisodGhpcy5pbnZlcnRlZD8wOm8pLGM9dGhpcy5yYW5nZXNbaSt0XSxwPXRoaXMucmFuZ2VzW2krcl07ZShsLGwrYyxkLGQrcCksbys9cC1jfX1pbnZlcnQoKXtyZXR1cm4gbmV3IGEodGhpcy5yYW5nZXMsIXRoaXMuaW52ZXJ0ZWQpfXRvU3RyaW5nKCl7cmV0dXJuKHRoaXMuaW52ZXJ0ZWQ/Ii0iOiIiKStKU09OLnN0cmluZ2lmeSh0aGlzLnJhbmdlcyl9c3RhdGljIG9mZnNldChlKXtyZXR1cm4gZT09MD9hLmVtcHR5Om5ldyBhKGU8MD9bMCwtZSwwXTpbMCwwLGVdKX19O0cyLmVtcHR5PW5ldyBHMihbXSk7Z209Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJNYXBwaW5nIil9Y29uc3RydWN0b3IoZSx0LHI9MCxpPWU/ZS5sZW5ndGg6MCl7dGhpcy5taXJyb3I9dCx0aGlzLmZyb209cix0aGlzLnRvPWksdGhpcy5fbWFwcz1lfHxbXSx0aGlzLm93bkRhdGE9IShlfHx0KX1nZXQgbWFwcygpe3JldHVybiB0aGlzLl9tYXBzfXNsaWNlKGU9MCx0PXRoaXMubWFwcy5sZW5ndGgpe3JldHVybiBuZXcgYSh0aGlzLl9tYXBzLHRoaXMubWlycm9yLGUsdCl9YXBwZW5kTWFwKGUsdCl7dGhpcy5vd25EYXRhfHwodGhpcy5fbWFwcz10aGlzLl9tYXBzLnNsaWNlKCksdGhpcy5taXJyb3I9dGhpcy5taXJyb3ImJnRoaXMubWlycm9yLnNsaWNlKCksdGhpcy5vd25EYXRhPSEwKSx0aGlzLnRvPXRoaXMuX21hcHMucHVzaChlKSx0IT1udWxsJiZ0aGlzLnNldE1pcnJvcih0aGlzLl9tYXBzLmxlbmd0aC0xLHQpfWFwcGVuZE1hcHBpbmcoZSl7Zm9yKGxldCB0PTAscj10aGlzLl9tYXBzLmxlbmd0aDt0PGUuX21hcHMubGVuZ3RoO3QrKyl7bGV0IGk9ZS5nZXRNaXJyb3IodCk7dGhpcy5hcHBlbmRNYXAoZS5fbWFwc1t0XSxpIT1udWxsJiZpPHQ/citpOnZvaWQgMCl9fWdldE1pcnJvcihlKXtpZih0aGlzLm1pcnJvcil7Zm9yKGxldCB0PTA7dDx0aGlzLm1pcnJvci5sZW5ndGg7dCsrKWlmKHRoaXMubWlycm9yW3RdPT1lKXJldHVybiB0aGlzLm1pcnJvclt0Kyh0JTI/LTE6MSldfX1zZXRNaXJyb3IoZSx0KXt0aGlzLm1pcnJvcnx8KHRoaXMubWlycm9yPVtdKSx0aGlzLm1pcnJvci5wdXNoKGUsdCl9YXBwZW5kTWFwcGluZ0ludmVydGVkKGUpe2ZvcihsZXQgdD1lLm1hcHMubGVuZ3RoLTEscj10aGlzLl9tYXBzLmxlbmd0aCtlLl9tYXBzLmxlbmd0aDt0Pj0wO3QtLSl7bGV0IGk9ZS5nZXRNaXJyb3IodCk7dGhpcy5hcHBlbmRNYXAoZS5fbWFwc1t0XS5pbnZlcnQoKSxpIT1udWxsJiZpPnQ/ci1pLTE6dm9pZCAwKX19aW52ZXJ0KCl7bGV0IGU9bmV3IGE7cmV0dXJuIGUuYXBwZW5kTWFwcGluZ0ludmVydGVkKHRoaXMpLGV9bWFwKGUsdD0xKXtpZih0aGlzLm1pcnJvcilyZXR1cm4gdGhpcy5fbWFwKGUsdCwhMCk7Zm9yKGxldCByPXRoaXMuZnJvbTtyPHRoaXMudG87cisrKWU9dGhpcy5fbWFwc1tyXS5tYXAoZSx0KTtyZXR1cm4gZX1tYXBSZXN1bHQoZSx0PTEpe3JldHVybiB0aGlzLl9tYXAoZSx0LCExKX1fbWFwKGUsdCxyKXtsZXQgaT0wO2ZvcihsZXQgbz10aGlzLmZyb207bzx0aGlzLnRvO28rKyl7bGV0IG49dGhpcy5fbWFwc1tvXSxsPW4ubWFwUmVzdWx0KGUsdCk7aWYobC5yZWNvdmVyIT1udWxsKXtsZXQgZD10aGlzLmdldE1pcnJvcihvKTtpZihkIT1udWxsJiZkPm8mJmQ8dGhpcy50byl7bz1kLGU9dGhpcy5fbWFwc1tkXS5yZWNvdmVyKGwucmVjb3Zlcik7Y29udGludWV9fWl8PWwuZGVsSW5mbyxlPWwucG9zfXJldHVybiByP2U6bmV3IGZtKGUsaSxudWxsKX19LHVLZT1PYmplY3QuY3JlYXRlKG51bGwpLFJzPWNsYXNze3N0YXRpY3tzKHRoaXMsIlN0ZXAiKX1nZXRNYXAoKXtyZXR1cm4gRzIuZW1wdHl9bWVyZ2UoZSl7cmV0dXJuIG51bGx9c3RhdGljIGZyb21KU09OKGUsdCl7aWYoIXR8fCF0LnN0ZXBUeXBlKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIGlucHV0IGZvciBTdGVwLmZyb21KU09OIik7bGV0IHI9dUtlW3Quc3RlcFR5cGVdO2lmKCFyKXRocm93IG5ldyBSYW5nZUVycm9yKGBObyBzdGVwIHR5cGUgJHt0LnN0ZXBUeXBlfSBkZWZpbmVkYCk7cmV0dXJuIHIuZnJvbUpTT04oZSx0KX1zdGF0aWMganNvbklEKGUsdCl7aWYoZSBpbiB1S2UpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkR1cGxpY2F0ZSB1c2Ugb2Ygc3RlcCBKU09OIElEICIrZSk7cmV0dXJuIHVLZVtlXT10LHQucHJvdG90eXBlLmpzb25JRD1lLHR9fSxLcz1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlN0ZXBSZXN1bHQiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuZG9jPWUsdGhpcy5mYWlsZWQ9dH1zdGF0aWMgb2soZSl7cmV0dXJuIG5ldyBhKGUsbnVsbCl9c3RhdGljIGZhaWwoZSl7cmV0dXJuIG5ldyBhKG51bGwsZSl9c3RhdGljIGZyb21SZXBsYWNlKGUsdCxyLGkpe3RyeXtyZXR1cm4gYS5vayhlLnJlcGxhY2UodCxyLGkpKX1jYXRjaChvKXtpZihvIGluc3RhbmNlb2YgZDQpcmV0dXJuIGEuZmFpbChvLm1lc3NhZ2UpO3Rocm93IG99fX07cyhwS2UsIm1hcEZyYWdtZW50Iik7aG09Y2xhc3MgYSBleHRlbmRzIFJze3N0YXRpY3tzKHRoaXMsIkFkZE1hcmtTdGVwIil9Y29uc3RydWN0b3IoZSx0LHIpe3N1cGVyKCksdGhpcy5mcm9tPWUsdGhpcy50bz10LHRoaXMubWFyaz1yfWFwcGx5KGUpe2xldCB0PWUuc2xpY2UodGhpcy5mcm9tLHRoaXMudG8pLHI9ZS5yZXNvbHZlKHRoaXMuZnJvbSksaT1yLm5vZGUoci5zaGFyZWREZXB0aCh0aGlzLnRvKSksbz1uZXcgc3QocEtlKHQuY29udGVudCwobixsKT0+IW4uaXNBdG9tfHwhbC50eXBlLmFsbG93c01hcmtUeXBlKHRoaXMubWFyay50eXBlKT9uOm4ubWFyayh0aGlzLm1hcmsuYWRkVG9TZXQobi5tYXJrcykpLGkpLHQub3BlblN0YXJ0LHQub3BlbkVuZCk7cmV0dXJuIEtzLmZyb21SZXBsYWNlKGUsdGhpcy5mcm9tLHRoaXMudG8sbyl9aW52ZXJ0KCl7cmV0dXJuIG5ldyBmNCh0aGlzLmZyb20sdGhpcy50byx0aGlzLm1hcmspfW1hcChlKXtsZXQgdD1lLm1hcFJlc3VsdCh0aGlzLmZyb20sMSkscj1lLm1hcFJlc3VsdCh0aGlzLnRvLC0xKTtyZXR1cm4gdC5kZWxldGVkJiZyLmRlbGV0ZWR8fHQucG9zPj1yLnBvcz9udWxsOm5ldyBhKHQucG9zLHIucG9zLHRoaXMubWFyayl9bWVyZ2UoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBhJiZlLm1hcmsuZXEodGhpcy5tYXJrKSYmdGhpcy5mcm9tPD1lLnRvJiZ0aGlzLnRvPj1lLmZyb20/bmV3IGEoTWF0aC5taW4odGhpcy5mcm9tLGUuZnJvbSksTWF0aC5tYXgodGhpcy50byxlLnRvKSx0aGlzLm1hcmspOm51bGx9dG9KU09OKCl7cmV0dXJue3N0ZXBUeXBlOiJhZGRNYXJrIixtYXJrOnRoaXMubWFyay50b0pTT04oKSxmcm9tOnRoaXMuZnJvbSx0bzp0aGlzLnRvfX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZih0eXBlb2YgdC5mcm9tIT0ibnVtYmVyInx8dHlwZW9mIHQudG8hPSJudW1iZXIiKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIGlucHV0IGZvciBBZGRNYXJrU3RlcC5mcm9tSlNPTiIpO3JldHVybiBuZXcgYSh0LmZyb20sdC50byxlLm1hcmtGcm9tSlNPTih0Lm1hcmspKX19O1JzLmpzb25JRCgiYWRkTWFyayIsaG0pO2Y0PWNsYXNzIGEgZXh0ZW5kcyBSc3tzdGF0aWN7cyh0aGlzLCJSZW1vdmVNYXJrU3RlcCIpfWNvbnN0cnVjdG9yKGUsdCxyKXtzdXBlcigpLHRoaXMuZnJvbT1lLHRoaXMudG89dCx0aGlzLm1hcms9cn1hcHBseShlKXtsZXQgdD1lLnNsaWNlKHRoaXMuZnJvbSx0aGlzLnRvKSxyPW5ldyBzdChwS2UodC5jb250ZW50LGk9PmkubWFyayh0aGlzLm1hcmsucmVtb3ZlRnJvbVNldChpLm1hcmtzKSksZSksdC5vcGVuU3RhcnQsdC5vcGVuRW5kKTtyZXR1cm4gS3MuZnJvbVJlcGxhY2UoZSx0aGlzLmZyb20sdGhpcy50byxyKX1pbnZlcnQoKXtyZXR1cm4gbmV3IGhtKHRoaXMuZnJvbSx0aGlzLnRvLHRoaXMubWFyayl9bWFwKGUpe2xldCB0PWUubWFwUmVzdWx0KHRoaXMuZnJvbSwxKSxyPWUubWFwUmVzdWx0KHRoaXMudG8sLTEpO3JldHVybiB0LmRlbGV0ZWQmJnIuZGVsZXRlZHx8dC5wb3M+PXIucG9zP251bGw6bmV3IGEodC5wb3Msci5wb3MsdGhpcy5tYXJrKX1tZXJnZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIGEmJmUubWFyay5lcSh0aGlzLm1hcmspJiZ0aGlzLmZyb208PWUudG8mJnRoaXMudG8+PWUuZnJvbT9uZXcgYShNYXRoLm1pbih0aGlzLmZyb20sZS5mcm9tKSxNYXRoLm1heCh0aGlzLnRvLGUudG8pLHRoaXMubWFyayk6bnVsbH10b0pTT04oKXtyZXR1cm57c3RlcFR5cGU6InJlbW92ZU1hcmsiLG1hcms6dGhpcy5tYXJrLnRvSlNPTigpLGZyb206dGhpcy5mcm9tLHRvOnRoaXMudG99fXN0YXRpYyBmcm9tSlNPTihlLHQpe2lmKHR5cGVvZiB0LmZyb20hPSJudW1iZXIifHx0eXBlb2YgdC50byE9Im51bWJlciIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIFJlbW92ZU1hcmtTdGVwLmZyb21KU09OIik7cmV0dXJuIG5ldyBhKHQuZnJvbSx0LnRvLGUubWFya0Zyb21KU09OKHQubWFyaykpfX07UnMuanNvbklEKCJyZW1vdmVNYXJrIixmNCk7bW09Y2xhc3MgYSBleHRlbmRzIFJze3N0YXRpY3tzKHRoaXMsIkFkZE5vZGVNYXJrU3RlcCIpfWNvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLnBvcz1lLHRoaXMubWFyaz10fWFwcGx5KGUpe2xldCB0PWUubm9kZUF0KHRoaXMucG9zKTtpZighdClyZXR1cm4gS3MuZmFpbCgiTm8gbm9kZSBhdCBtYXJrIHN0ZXAncyBwb3NpdGlvbiIpO2xldCByPXQudHlwZS5jcmVhdGUodC5hdHRycyxudWxsLHRoaXMubWFyay5hZGRUb1NldCh0Lm1hcmtzKSk7cmV0dXJuIEtzLmZyb21SZXBsYWNlKGUsdGhpcy5wb3MsdGhpcy5wb3MrMSxuZXcgc3QoamUuZnJvbShyKSwwLHQuaXNMZWFmPzA6MSkpfWludmVydChlKXtsZXQgdD1lLm5vZGVBdCh0aGlzLnBvcyk7aWYodCl7bGV0IHI9dGhpcy5tYXJrLmFkZFRvU2V0KHQubWFya3MpO2lmKHIubGVuZ3RoPT10Lm1hcmtzLmxlbmd0aCl7Zm9yKGxldCBpPTA7aTx0Lm1hcmtzLmxlbmd0aDtpKyspaWYoIXQubWFya3NbaV0uaXNJblNldChyKSlyZXR1cm4gbmV3IGEodGhpcy5wb3MsdC5tYXJrc1tpXSk7cmV0dXJuIG5ldyBhKHRoaXMucG9zLHRoaXMubWFyayl9fXJldHVybiBuZXcgUmYodGhpcy5wb3MsdGhpcy5tYXJrKX1tYXAoZSl7bGV0IHQ9ZS5tYXBSZXN1bHQodGhpcy5wb3MsMSk7cmV0dXJuIHQuZGVsZXRlZEFmdGVyP251bGw6bmV3IGEodC5wb3MsdGhpcy5tYXJrKX10b0pTT04oKXtyZXR1cm57c3RlcFR5cGU6ImFkZE5vZGVNYXJrIixwb3M6dGhpcy5wb3MsbWFyazp0aGlzLm1hcmsudG9KU09OKCl9fXN0YXRpYyBmcm9tSlNPTihlLHQpe2lmKHR5cGVvZiB0LnBvcyE9Im51bWJlciIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIEFkZE5vZGVNYXJrU3RlcC5mcm9tSlNPTiIpO3JldHVybiBuZXcgYSh0LnBvcyxlLm1hcmtGcm9tSlNPTih0Lm1hcmspKX19O1JzLmpzb25JRCgiYWRkTm9kZU1hcmsiLG1tKTtSZj1jbGFzcyBhIGV4dGVuZHMgUnN7c3RhdGlje3ModGhpcywiUmVtb3ZlTm9kZU1hcmtTdGVwIil9Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMucG9zPWUsdGhpcy5tYXJrPXR9YXBwbHkoZSl7bGV0IHQ9ZS5ub2RlQXQodGhpcy5wb3MpO2lmKCF0KXJldHVybiBLcy5mYWlsKCJObyBub2RlIGF0IG1hcmsgc3RlcCdzIHBvc2l0aW9uIik7bGV0IHI9dC50eXBlLmNyZWF0ZSh0LmF0dHJzLG51bGwsdGhpcy5tYXJrLnJlbW92ZUZyb21TZXQodC5tYXJrcykpO3JldHVybiBLcy5mcm9tUmVwbGFjZShlLHRoaXMucG9zLHRoaXMucG9zKzEsbmV3IHN0KGplLmZyb20ociksMCx0LmlzTGVhZj8wOjEpKX1pbnZlcnQoZSl7bGV0IHQ9ZS5ub2RlQXQodGhpcy5wb3MpO3JldHVybiF0fHwhdGhpcy5tYXJrLmlzSW5TZXQodC5tYXJrcyk/dGhpczpuZXcgbW0odGhpcy5wb3MsdGhpcy5tYXJrKX1tYXAoZSl7bGV0IHQ9ZS5tYXBSZXN1bHQodGhpcy5wb3MsMSk7cmV0dXJuIHQuZGVsZXRlZEFmdGVyP251bGw6bmV3IGEodC5wb3MsdGhpcy5tYXJrKX10b0pTT04oKXtyZXR1cm57c3RlcFR5cGU6InJlbW92ZU5vZGVNYXJrIixwb3M6dGhpcy5wb3MsbWFyazp0aGlzLm1hcmsudG9KU09OKCl9fXN0YXRpYyBmcm9tSlNPTihlLHQpe2lmKHR5cGVvZiB0LnBvcyE9Im51bWJlciIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIFJlbW92ZU5vZGVNYXJrU3RlcC5mcm9tSlNPTiIpO3JldHVybiBuZXcgYSh0LnBvcyxlLm1hcmtGcm9tSlNPTih0Lm1hcmspKX19O1JzLmpzb25JRCgicmVtb3ZlTm9kZU1hcmsiLFJmKTtacz1jbGFzcyBhIGV4dGVuZHMgUnN7c3RhdGlje3ModGhpcywiUmVwbGFjZVN0ZXAiKX1jb25zdHJ1Y3RvcihlLHQscixpPSExKXtzdXBlcigpLHRoaXMuZnJvbT1lLHRoaXMudG89dCx0aGlzLnNsaWNlPXIsdGhpcy5zdHJ1Y3R1cmU9aX1hcHBseShlKXtyZXR1cm4gdGhpcy5zdHJ1Y3R1cmUmJmZLZShlLHRoaXMuZnJvbSx0aGlzLnRvKT9Lcy5mYWlsKCJTdHJ1Y3R1cmUgcmVwbGFjZSB3b3VsZCBvdmVyd3JpdGUgY29udGVudCIpOktzLmZyb21SZXBsYWNlKGUsdGhpcy5mcm9tLHRoaXMudG8sdGhpcy5zbGljZSl9Z2V0TWFwKCl7cmV0dXJuIG5ldyBHMihbdGhpcy5mcm9tLHRoaXMudG8tdGhpcy5mcm9tLHRoaXMuc2xpY2Uuc2l6ZV0pfWludmVydChlKXtyZXR1cm4gbmV3IGEodGhpcy5mcm9tLHRoaXMuZnJvbSt0aGlzLnNsaWNlLnNpemUsZS5zbGljZSh0aGlzLmZyb20sdGhpcy50bykpfW1hcChlKXtsZXQgdD1lLm1hcFJlc3VsdCh0aGlzLnRvLC0xKSxyPXRoaXMuZnJvbT09dGhpcy50byYmYS5NQVBfQklBUzwwP3Q6ZS5tYXBSZXN1bHQodGhpcy5mcm9tLDEpO3JldHVybiByLmRlbGV0ZWRBY3Jvc3MmJnQuZGVsZXRlZEFjcm9zcz9udWxsOm5ldyBhKHIucG9zLE1hdGgubWF4KHIucG9zLHQucG9zKSx0aGlzLnNsaWNlLHRoaXMuc3RydWN0dXJlKX1tZXJnZShlKXtpZighKGUgaW5zdGFuY2VvZiBhKXx8ZS5zdHJ1Y3R1cmV8fHRoaXMuc3RydWN0dXJlKXJldHVybiBudWxsO2lmKHRoaXMuZnJvbSt0aGlzLnNsaWNlLnNpemU9PWUuZnJvbSYmIXRoaXMuc2xpY2Uub3BlbkVuZCYmIWUuc2xpY2Uub3BlblN0YXJ0KXtsZXQgdD10aGlzLnNsaWNlLnNpemUrZS5zbGljZS5zaXplPT0wP3N0LmVtcHR5Om5ldyBzdCh0aGlzLnNsaWNlLmNvbnRlbnQuYXBwZW5kKGUuc2xpY2UuY29udGVudCksdGhpcy5zbGljZS5vcGVuU3RhcnQsZS5zbGljZS5vcGVuRW5kKTtyZXR1cm4gbmV3IGEodGhpcy5mcm9tLHRoaXMudG8rKGUudG8tZS5mcm9tKSx0LHRoaXMuc3RydWN0dXJlKX1lbHNlIGlmKGUudG89PXRoaXMuZnJvbSYmIXRoaXMuc2xpY2Uub3BlblN0YXJ0JiYhZS5zbGljZS5vcGVuRW5kKXtsZXQgdD10aGlzLnNsaWNlLnNpemUrZS5zbGljZS5zaXplPT0wP3N0LmVtcHR5Om5ldyBzdChlLnNsaWNlLmNvbnRlbnQuYXBwZW5kKHRoaXMuc2xpY2UuY29udGVudCksZS5zbGljZS5vcGVuU3RhcnQsdGhpcy5zbGljZS5vcGVuRW5kKTtyZXR1cm4gbmV3IGEoZS5mcm9tLHRoaXMudG8sdCx0aGlzLnN0cnVjdHVyZSl9ZWxzZSByZXR1cm4gbnVsbH10b0pTT04oKXtsZXQgZT17c3RlcFR5cGU6InJlcGxhY2UiLGZyb206dGhpcy5mcm9tLHRvOnRoaXMudG99O3JldHVybiB0aGlzLnNsaWNlLnNpemUmJihlLnNsaWNlPXRoaXMuc2xpY2UudG9KU09OKCkpLHRoaXMuc3RydWN0dXJlJiYoZS5zdHJ1Y3R1cmU9ITApLGV9c3RhdGljIGZyb21KU09OKGUsdCl7aWYodHlwZW9mIHQuZnJvbSE9Im51bWJlciJ8fHR5cGVvZiB0LnRvIT0ibnVtYmVyIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgUmVwbGFjZVN0ZXAuZnJvbUpTT04iKTtyZXR1cm4gbmV3IGEodC5mcm9tLHQudG8sc3QuZnJvbUpTT04oZSx0LnNsaWNlKSwhIXQuc3RydWN0dXJlKX19O1pzLk1BUF9CSUFTPTEsUnMuanNvbklEKCJyZXBsYWNlIixacyk7dHM9Y2xhc3MgYSBleHRlbmRzIFJze3N0YXRpY3tzKHRoaXMsIlJlcGxhY2VBcm91bmRTdGVwIil9Y29uc3RydWN0b3IoZSx0LHIsaSxvLG4sbD0hMSl7c3VwZXIoKSx0aGlzLmZyb209ZSx0aGlzLnRvPXQsdGhpcy5nYXBGcm9tPXIsdGhpcy5nYXBUbz1pLHRoaXMuc2xpY2U9byx0aGlzLmluc2VydD1uLHRoaXMuc3RydWN0dXJlPWx9YXBwbHkoZSl7aWYodGhpcy5zdHJ1Y3R1cmUmJihmS2UoZSx0aGlzLmZyb20sdGhpcy5nYXBGcm9tKXx8ZktlKGUsdGhpcy5nYXBUbyx0aGlzLnRvKSkpcmV0dXJuIEtzLmZhaWwoIlN0cnVjdHVyZSBnYXAtcmVwbGFjZSB3b3VsZCBvdmVyd3JpdGUgY29udGVudCIpO2xldCB0PWUuc2xpY2UodGhpcy5nYXBGcm9tLHRoaXMuZ2FwVG8pO2lmKHQub3BlblN0YXJ0fHx0Lm9wZW5FbmQpcmV0dXJuIEtzLmZhaWwoIkdhcCBpcyBub3QgYSBmbGF0IHJhbmdlIik7bGV0IHI9dGhpcy5zbGljZS5pbnNlcnRBdCh0aGlzLmluc2VydCx0LmNvbnRlbnQpO3JldHVybiByP0tzLmZyb21SZXBsYWNlKGUsdGhpcy5mcm9tLHRoaXMudG8scik6S3MuZmFpbCgiQ29udGVudCBkb2VzIG5vdCBmaXQgaW4gZ2FwIil9Z2V0TWFwKCl7cmV0dXJuIG5ldyBHMihbdGhpcy5mcm9tLHRoaXMuZ2FwRnJvbS10aGlzLmZyb20sdGhpcy5pbnNlcnQsdGhpcy5nYXBUbyx0aGlzLnRvLXRoaXMuZ2FwVG8sdGhpcy5zbGljZS5zaXplLXRoaXMuaW5zZXJ0XSl9aW52ZXJ0KGUpe2xldCB0PXRoaXMuZ2FwVG8tdGhpcy5nYXBGcm9tO3JldHVybiBuZXcgYSh0aGlzLmZyb20sdGhpcy5mcm9tK3RoaXMuc2xpY2Uuc2l6ZSt0LHRoaXMuZnJvbSt0aGlzLmluc2VydCx0aGlzLmZyb20rdGhpcy5pbnNlcnQrdCxlLnNsaWNlKHRoaXMuZnJvbSx0aGlzLnRvKS5yZW1vdmVCZXR3ZWVuKHRoaXMuZ2FwRnJvbS10aGlzLmZyb20sdGhpcy5nYXBUby10aGlzLmZyb20pLHRoaXMuZ2FwRnJvbS10aGlzLmZyb20sdGhpcy5zdHJ1Y3R1cmUpfW1hcChlKXtsZXQgdD1lLm1hcFJlc3VsdCh0aGlzLmZyb20sMSkscj1lLm1hcFJlc3VsdCh0aGlzLnRvLC0xKSxpPXRoaXMuZnJvbT09dGhpcy5nYXBGcm9tP3QucG9zOmUubWFwKHRoaXMuZ2FwRnJvbSwtMSksbz10aGlzLnRvPT10aGlzLmdhcFRvP3IucG9zOmUubWFwKHRoaXMuZ2FwVG8sMSk7cmV0dXJuIHQuZGVsZXRlZEFjcm9zcyYmci5kZWxldGVkQWNyb3NzfHxpPHQucG9zfHxvPnIucG9zP251bGw6bmV3IGEodC5wb3Msci5wb3MsaSxvLHRoaXMuc2xpY2UsdGhpcy5pbnNlcnQsdGhpcy5zdHJ1Y3R1cmUpfXRvSlNPTigpe2xldCBlPXtzdGVwVHlwZToicmVwbGFjZUFyb3VuZCIsZnJvbTp0aGlzLmZyb20sdG86dGhpcy50byxnYXBGcm9tOnRoaXMuZ2FwRnJvbSxnYXBUbzp0aGlzLmdhcFRvLGluc2VydDp0aGlzLmluc2VydH07cmV0dXJuIHRoaXMuc2xpY2Uuc2l6ZSYmKGUuc2xpY2U9dGhpcy5zbGljZS50b0pTT04oKSksdGhpcy5zdHJ1Y3R1cmUmJihlLnN0cnVjdHVyZT0hMCksZX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZih0eXBlb2YgdC5mcm9tIT0ibnVtYmVyInx8dHlwZW9mIHQudG8hPSJudW1iZXIifHx0eXBlb2YgdC5nYXBGcm9tIT0ibnVtYmVyInx8dHlwZW9mIHQuZ2FwVG8hPSJudW1iZXIifHx0eXBlb2YgdC5pbnNlcnQhPSJudW1iZXIiKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIGlucHV0IGZvciBSZXBsYWNlQXJvdW5kU3RlcC5mcm9tSlNPTiIpO3JldHVybiBuZXcgYSh0LmZyb20sdC50byx0LmdhcEZyb20sdC5nYXBUbyxzdC5mcm9tSlNPTihlLHQuc2xpY2UpLHQuaW5zZXJ0LCEhdC5zdHJ1Y3R1cmUpfX07UnMuanNvbklEKCJyZXBsYWNlQXJvdW5kIix0cyk7cyhmS2UsImNvbnRlbnRCZXR3ZWVuIik7cyh5RGEsImFkZE1hcmsiKTtzKHdEYSwicmVtb3ZlTWFyayIpO3MoaEtlLCJjbGVhckluY29tcGF0aWJsZSIpO3MoTURhLCJjYW5DdXQiKTtzKFkyLCJsaWZ0VGFyZ2V0Iik7cyhrRGEsImxpZnQiKTtzKEJmLCJmaW5kV3JhcHBpbmciKTtzKFlpYSwid2l0aEF0dHJzIik7cyhTRGEsImZpbmRXcmFwcGluZ091dHNpZGUiKTtzKHpEYSwiZmluZFdyYXBwaW5nSW5zaWRlIik7cyhDRGEsIndyYXAiKTtzKF9EYSwic2V0QmxvY2tUeXBlIik7cyhLaWEsInJlcGxhY2VOZXdsaW5lcyIpO3MoWmlhLCJyZXBsYWNlTGluZWJyZWFrcyIpO3MoVERhLCJjYW5DaGFuZ2VUeXBlIik7cyhMRGEsInNldE5vZGVNYXJrdXAiKTtzKE5vLCJjYW5TcGxpdCIpO3MoJERhLCJzcGxpdCIpO3Moc24sImNhbkpvaW4iKTtzKEREYSwiY2FuQXBwZW5kV2l0aFN1YnN0aXR1dGVkTGluZWJyZWFrcyIpO3MoWGlhLCJqb2luYWJsZSIpO3MoSGYsImpvaW5Qb2ludCIpO3MoQURhLCJqb2luIik7cyhRaWEsImluc2VydFBvaW50Iik7cyhHVSwiZHJvcFBvaW50Iik7cyhibSwicmVwbGFjZVN0ZXAiKTtzKEppYSwiZml0c1RyaXZpYWxseSIpO21LZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJGaXR0ZXIiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy4kZnJvbT1lLHRoaXMuJHRvPXQsdGhpcy51bnBsYWNlZD1yLHRoaXMuZnJvbnRpZXI9W10sdGhpcy5wbGFjZWQ9amUuZW1wdHk7Zm9yKGxldCBpPTA7aTw9ZS5kZXB0aDtpKyspe2xldCBvPWUubm9kZShpKTt0aGlzLmZyb250aWVyLnB1c2goe3R5cGU6by50eXBlLG1hdGNoOm8uY29udGVudE1hdGNoQXQoZS5pbmRleEFmdGVyKGkpKX0pfWZvcihsZXQgaT1lLmRlcHRoO2k+MDtpLS0pdGhpcy5wbGFjZWQ9amUuZnJvbShlLm5vZGUoaSkuY29weSh0aGlzLnBsYWNlZCkpfWdldCBkZXB0aCgpe3JldHVybiB0aGlzLmZyb250aWVyLmxlbmd0aC0xfWZpdCgpe2Zvcig7dGhpcy51bnBsYWNlZC5zaXplOyl7bGV0IGM9dGhpcy5maW5kRml0dGFibGUoKTtjP3RoaXMucGxhY2VOb2RlcyhjKTp0aGlzLm9wZW5Nb3JlKCl8fHRoaXMuZHJvcE5vZGUoKX1sZXQgZT10aGlzLm11c3RNb3ZlSW5saW5lKCksdD10aGlzLnBsYWNlZC5zaXplLXRoaXMuZGVwdGgtdGhpcy4kZnJvbS5kZXB0aCxyPXRoaXMuJGZyb20saT10aGlzLmNsb3NlKGU8MD90aGlzLiR0bzpyLmRvYy5yZXNvbHZlKGUpKTtpZighaSlyZXR1cm4gbnVsbDtsZXQgbz10aGlzLnBsYWNlZCxuPXIuZGVwdGgsbD1pLmRlcHRoO2Zvcig7biYmbCYmby5jaGlsZENvdW50PT0xOylvPW8uZmlyc3RDaGlsZC5jb250ZW50LG4tLSxsLS07bGV0IGQ9bmV3IHN0KG8sbixsKTtyZXR1cm4gZT4tMT9uZXcgdHMoci5wb3MsZSx0aGlzLiR0by5wb3MsdGhpcy4kdG8uZW5kKCksZCx0KTpkLnNpemV8fHIucG9zIT10aGlzLiR0by5wb3M/bmV3IFpzKHIucG9zLGkucG9zLGQpOm51bGx9ZmluZEZpdHRhYmxlKCl7bGV0IGU9dGhpcy51bnBsYWNlZC5vcGVuU3RhcnQ7Zm9yKGxldCB0PXRoaXMudW5wbGFjZWQuY29udGVudCxyPTAsaT10aGlzLnVucGxhY2VkLm9wZW5FbmQ7cjxlO3IrKyl7bGV0IG89dC5maXJzdENoaWxkO2lmKHQuY2hpbGRDb3VudD4xJiYoaT0wKSxvLnR5cGUuc3BlYy5pc29sYXRpbmcmJmk8PXIpe2U9cjticmVha310PW8uY29udGVudH1mb3IobGV0IHQ9MTt0PD0yO3QrKylmb3IobGV0IHI9dD09MT9lOnRoaXMudW5wbGFjZWQub3BlblN0YXJ0O3I+PTA7ci0tKXtsZXQgaSxvPW51bGw7cj8obz1nS2UodGhpcy51bnBsYWNlZC5jb250ZW50LHItMSkuZmlyc3RDaGlsZCxpPW8uY29udGVudCk6aT10aGlzLnVucGxhY2VkLmNvbnRlbnQ7bGV0IG49aS5maXJzdENoaWxkO2ZvcihsZXQgbD10aGlzLmRlcHRoO2w+PTA7bC0tKXtsZXR7dHlwZTpkLG1hdGNoOmN9PXRoaXMuZnJvbnRpZXJbbF0scCx1PW51bGw7aWYodD09MSYmKG4/Yy5tYXRjaFR5cGUobi50eXBlKXx8KHU9Yy5maWxsQmVmb3JlKGplLmZyb20obiksITEpKTpvJiZkLmNvbXBhdGlibGVDb250ZW50KG8udHlwZSkpKXJldHVybntzbGljZURlcHRoOnIsZnJvbnRpZXJEZXB0aDpsLHBhcmVudDpvLGluamVjdDp1fTtpZih0PT0yJiZuJiYocD1jLmZpbmRXcmFwcGluZyhuLnR5cGUpKSlyZXR1cm57c2xpY2VEZXB0aDpyLGZyb250aWVyRGVwdGg6bCxwYXJlbnQ6byx3cmFwOnB9O2lmKG8mJmMubWF0Y2hUeXBlKG8udHlwZSkpYnJlYWt9fX1vcGVuTW9yZSgpe2xldHtjb250ZW50OmUsb3BlblN0YXJ0OnQsb3BlbkVuZDpyfT10aGlzLnVucGxhY2VkLGk9Z0tlKGUsdCk7cmV0dXJuIWkuY2hpbGRDb3VudHx8aS5maXJzdENoaWxkLmlzTGVhZj8hMToodGhpcy51bnBsYWNlZD1uZXcgc3QoZSx0KzEsTWF0aC5tYXgocixpLnNpemUrdD49ZS5zaXplLXI/dCsxOjApKSwhMCl9ZHJvcE5vZGUoKXtsZXR7Y29udGVudDplLG9wZW5TdGFydDp0LG9wZW5FbmQ6cn09dGhpcy51bnBsYWNlZCxpPWdLZShlLHQpO2lmKGkuY2hpbGRDb3VudDw9MSYmdD4wKXtsZXQgbz1lLnNpemUtdDw9dCtpLnNpemU7dGhpcy51bnBsYWNlZD1uZXcgc3QoVlUoZSx0LTEsMSksdC0xLG8/dC0xOnIpfWVsc2UgdGhpcy51bnBsYWNlZD1uZXcgc3QoVlUoZSx0LDEpLHQscil9cGxhY2VOb2Rlcyh7c2xpY2VEZXB0aDplLGZyb250aWVyRGVwdGg6dCxwYXJlbnQ6cixpbmplY3Q6aSx3cmFwOm99KXtmb3IoO3RoaXMuZGVwdGg+dDspdGhpcy5jbG9zZUZyb250aWVyTm9kZSgpO2lmKG8pZm9yKGxldCBiPTA7YjxvLmxlbmd0aDtiKyspdGhpcy5vcGVuRnJvbnRpZXJOb2RlKG9bYl0pO2xldCBuPXRoaXMudW5wbGFjZWQsbD1yP3IuY29udGVudDpuLmNvbnRlbnQsZD1uLm9wZW5TdGFydC1lLGM9MCxwPVtdLHttYXRjaDp1LHR5cGU6bX09dGhpcy5mcm9udGllclt0XTtpZihpKXtmb3IobGV0IGI9MDtiPGkuY2hpbGRDb3VudDtiKyspcC5wdXNoKGkuY2hpbGQoYikpO3U9dS5tYXRjaEZyYWdtZW50KGkpfWxldCB2PWwuc2l6ZStlLShuLmNvbnRlbnQuc2l6ZS1uLm9wZW5FbmQpO2Zvcig7YzxsLmNoaWxkQ291bnQ7KXtsZXQgYj1sLmNoaWxkKGMpLGc9dS5tYXRjaFR5cGUoYi50eXBlKTtpZighZylicmVhaztjKyssKGM+MXx8ZD09MHx8Yi5jb250ZW50LnNpemUpJiYodT1nLHAucHVzaChlb2EoYi5tYXJrKG0uYWxsb3dlZE1hcmtzKGIubWFya3MpKSxjPT0xP2Q6MCxjPT1sLmNoaWxkQ291bnQ/djotMSkpKX1sZXQgeD1jPT1sLmNoaWxkQ291bnQ7eHx8KHY9LTEpLHRoaXMucGxhY2VkPWpVKHRoaXMucGxhY2VkLHQsamUuZnJvbShwKSksdGhpcy5mcm9udGllclt0XS5tYXRjaD11LHgmJnY8MCYmciYmci50eXBlPT10aGlzLmZyb250aWVyW3RoaXMuZGVwdGhdLnR5cGUmJnRoaXMuZnJvbnRpZXIubGVuZ3RoPjEmJnRoaXMuY2xvc2VGcm9udGllck5vZGUoKTtmb3IobGV0IGI9MCxnPWw7Yjx2O2IrKyl7bGV0IHk9Zy5sYXN0Q2hpbGQ7dGhpcy5mcm9udGllci5wdXNoKHt0eXBlOnkudHlwZSxtYXRjaDp5LmNvbnRlbnRNYXRjaEF0KHkuY2hpbGRDb3VudCl9KSxnPXkuY29udGVudH10aGlzLnVucGxhY2VkPXg/ZT09MD9zdC5lbXB0eTpuZXcgc3QoVlUobi5jb250ZW50LGUtMSwxKSxlLTEsdjwwP24ub3BlbkVuZDplLTEpOm5ldyBzdChWVShuLmNvbnRlbnQsZSxjKSxuLm9wZW5TdGFydCxuLm9wZW5FbmQpfW11c3RNb3ZlSW5saW5lKCl7aWYoIXRoaXMuJHRvLnBhcmVudC5pc1RleHRibG9jaylyZXR1cm4tMTtsZXQgZT10aGlzLmZyb250aWVyW3RoaXMuZGVwdGhdLHQ7aWYoIWUudHlwZS5pc1RleHRibG9ja3x8IWJLZSh0aGlzLiR0byx0aGlzLiR0by5kZXB0aCxlLnR5cGUsZS5tYXRjaCwhMSl8fHRoaXMuJHRvLmRlcHRoPT10aGlzLmRlcHRoJiYodD10aGlzLmZpbmRDbG9zZUxldmVsKHRoaXMuJHRvKSkmJnQuZGVwdGg9PXRoaXMuZGVwdGgpcmV0dXJuLTE7bGV0e2RlcHRoOnJ9PXRoaXMuJHRvLGk9dGhpcy4kdG8uYWZ0ZXIocik7Zm9yKDtyPjEmJmk9PXRoaXMuJHRvLmVuZCgtLXIpOykrK2k7cmV0dXJuIGl9ZmluZENsb3NlTGV2ZWwoZSl7ZTpmb3IobGV0IHQ9TWF0aC5taW4odGhpcy5kZXB0aCxlLmRlcHRoKTt0Pj0wO3QtLSl7bGV0e21hdGNoOnIsdHlwZTppfT10aGlzLmZyb250aWVyW3RdLG89dDxlLmRlcHRoJiZlLmVuZCh0KzEpPT1lLnBvcysoZS5kZXB0aC0odCsxKSksbj1iS2UoZSx0LGkscixvKTtpZihuKXtmb3IobGV0IGw9dC0xO2w+PTA7bC0tKXtsZXR7bWF0Y2g6ZCx0eXBlOmN9PXRoaXMuZnJvbnRpZXJbbF0scD1iS2UoZSxsLGMsZCwhMCk7aWYoIXB8fHAuY2hpbGRDb3VudCljb250aW51ZSBlfXJldHVybntkZXB0aDp0LGZpdDpuLG1vdmU6bz9lLmRvYy5yZXNvbHZlKGUuYWZ0ZXIodCsxKSk6ZX19fX1jbG9zZShlKXtsZXQgdD10aGlzLmZpbmRDbG9zZUxldmVsKGUpO2lmKCF0KXJldHVybiBudWxsO2Zvcig7dGhpcy5kZXB0aD50LmRlcHRoOyl0aGlzLmNsb3NlRnJvbnRpZXJOb2RlKCk7dC5maXQuY2hpbGRDb3VudCYmKHRoaXMucGxhY2VkPWpVKHRoaXMucGxhY2VkLHQuZGVwdGgsdC5maXQpKSxlPXQubW92ZTtmb3IobGV0IHI9dC5kZXB0aCsxO3I8PWUuZGVwdGg7cisrKXtsZXQgaT1lLm5vZGUociksbz1pLnR5cGUuY29udGVudE1hdGNoLmZpbGxCZWZvcmUoaS5jb250ZW50LCEwLGUuaW5kZXgocikpO3RoaXMub3BlbkZyb250aWVyTm9kZShpLnR5cGUsaS5hdHRycyxvKX1yZXR1cm4gZX1vcGVuRnJvbnRpZXJOb2RlKGUsdD1udWxsLHIpe2xldCBpPXRoaXMuZnJvbnRpZXJbdGhpcy5kZXB0aF07aS5tYXRjaD1pLm1hdGNoLm1hdGNoVHlwZShlKSx0aGlzLnBsYWNlZD1qVSh0aGlzLnBsYWNlZCx0aGlzLmRlcHRoLGplLmZyb20oZS5jcmVhdGUodCxyKSkpLHRoaXMuZnJvbnRpZXIucHVzaCh7dHlwZTplLG1hdGNoOmUuY29udGVudE1hdGNofSl9Y2xvc2VGcm9udGllck5vZGUoKXtsZXQgdD10aGlzLmZyb250aWVyLnBvcCgpLm1hdGNoLmZpbGxCZWZvcmUoamUuZW1wdHksITApO3QuY2hpbGRDb3VudCYmKHRoaXMucGxhY2VkPWpVKHRoaXMucGxhY2VkLHRoaXMuZnJvbnRpZXIubGVuZ3RoLHQpKX19O3MoVlUsImRyb3BGcm9tRnJhZ21lbnQiKTtzKGpVLCJhZGRUb0ZyYWdtZW50Iik7cyhnS2UsImNvbnRlbnRBdCIpO3MoZW9hLCJjbG9zZU5vZGVTdGFydCIpO3MoYktlLCJjb250ZW50QWZ0ZXJGaXRzIik7cyhQRGEsImludmFsaWRNYXJrcyIpO3MoRURhLCJkZWZpbmVzQ29udGVudCIpO3MoSURhLCJyZXBsYWNlUmFuZ2UiKTtzKHRvYSwiY2xvc2VGcmFnbWVudCIpO3MoTkRhLCJyZXBsYWNlUmFuZ2VXaXRoIik7cyhSRGEsImRlbGV0ZVJhbmdlIik7cyhhb2EsImNvdmVyZWREZXB0aHMiKTtVVT1jbGFzcyBhIGV4dGVuZHMgUnN7c3RhdGlje3ModGhpcywiQXR0clN0ZXAiKX1jb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoKSx0aGlzLnBvcz1lLHRoaXMuYXR0cj10LHRoaXMudmFsdWU9cn1hcHBseShlKXtsZXQgdD1lLm5vZGVBdCh0aGlzLnBvcyk7aWYoIXQpcmV0dXJuIEtzLmZhaWwoIk5vIG5vZGUgYXQgYXR0cmlidXRlIHN0ZXAncyBwb3NpdGlvbiIpO2xldCByPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCBvIGluIHQuYXR0cnMpcltvXT10LmF0dHJzW29dO3JbdGhpcy5hdHRyXT10aGlzLnZhbHVlO2xldCBpPXQudHlwZS5jcmVhdGUocixudWxsLHQubWFya3MpO3JldHVybiBLcy5mcm9tUmVwbGFjZShlLHRoaXMucG9zLHRoaXMucG9zKzEsbmV3IHN0KGplLmZyb20oaSksMCx0LmlzTGVhZj8wOjEpKX1nZXRNYXAoKXtyZXR1cm4gRzIuZW1wdHl9aW52ZXJ0KGUpe3JldHVybiBuZXcgYSh0aGlzLnBvcyx0aGlzLmF0dHIsZS5ub2RlQXQodGhpcy5wb3MpLmF0dHJzW3RoaXMuYXR0cl0pfW1hcChlKXtsZXQgdD1lLm1hcFJlc3VsdCh0aGlzLnBvcywxKTtyZXR1cm4gdC5kZWxldGVkQWZ0ZXI/bnVsbDpuZXcgYSh0LnBvcyx0aGlzLmF0dHIsdGhpcy52YWx1ZSl9dG9KU09OKCl7cmV0dXJue3N0ZXBUeXBlOiJhdHRyIixwb3M6dGhpcy5wb3MsYXR0cjp0aGlzLmF0dHIsdmFsdWU6dGhpcy52YWx1ZX19c3RhdGljIGZyb21KU09OKGUsdCl7aWYodHlwZW9mIHQucG9zIT0ibnVtYmVyInx8dHlwZW9mIHQuYXR0ciE9InN0cmluZyIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIEF0dHJTdGVwLmZyb21KU09OIik7cmV0dXJuIG5ldyBhKHQucG9zLHQuYXR0cix0LnZhbHVlKX19O1JzLmpzb25JRCgiYXR0ciIsVVUpO1dVPWNsYXNzIGEgZXh0ZW5kcyBSc3tzdGF0aWN7cyh0aGlzLCJEb2NBdHRyU3RlcCIpfWNvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLmF0dHI9ZSx0aGlzLnZhbHVlPXR9YXBwbHkoZSl7bGV0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IGkgaW4gZS5hdHRycyl0W2ldPWUuYXR0cnNbaV07dFt0aGlzLmF0dHJdPXRoaXMudmFsdWU7bGV0IHI9ZS50eXBlLmNyZWF0ZSh0LGUuY29udGVudCxlLm1hcmtzKTtyZXR1cm4gS3Mub2socil9Z2V0TWFwKCl7cmV0dXJuIEcyLmVtcHR5fWludmVydChlKXtyZXR1cm4gbmV3IGEodGhpcy5hdHRyLGUuYXR0cnNbdGhpcy5hdHRyXSl9bWFwKGUpe3JldHVybiB0aGlzfXRvSlNPTigpe3JldHVybntzdGVwVHlwZToiZG9jQXR0ciIsYXR0cjp0aGlzLmF0dHIsdmFsdWU6dGhpcy52YWx1ZX19c3RhdGljIGZyb21KU09OKGUsdCl7aWYodHlwZW9mIHQuYXR0ciE9InN0cmluZyIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIERvY0F0dHJTdGVwLmZyb21KU09OIik7cmV0dXJuIG5ldyBhKHQuYXR0cix0LnZhbHVlKX19O1JzLmpzb25JRCgiZG9jQXR0ciIsV1UpO09mPWNsYXNzIGV4dGVuZHMgRXJyb3J7c3RhdGlje3ModGhpcywiVHJhbnNmb3JtRXJyb3IiKX19O09mPXMoZnVuY3Rpb24gYShlKXtsZXQgdD1FcnJvci5jYWxsKHRoaXMsZSk7cmV0dXJuIHQuX19wcm90b19fPWEucHJvdG90eXBlLHR9LCJUcmFuc2Zvcm1FcnJvciIpLE9mLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEVycm9yLnByb3RvdHlwZSksT2YucHJvdG90eXBlLmNvbnN0cnVjdG9yPU9mLE9mLnByb3RvdHlwZS5uYW1lPSJUcmFuc2Zvcm1FcnJvciI7RmY9Y2xhc3N7c3RhdGlje3ModGhpcywiVHJhbnNmb3JtIil9Y29uc3RydWN0b3IoZSl7dGhpcy5kb2M9ZSx0aGlzLnN0ZXBzPVtdLHRoaXMuZG9jcz1bXSx0aGlzLm1hcHBpbmc9bmV3IGdtfWdldCBiZWZvcmUoKXtyZXR1cm4gdGhpcy5kb2NzLmxlbmd0aD90aGlzLmRvY3NbMF06dGhpcy5kb2N9c3RlcChlKXtsZXQgdD10aGlzLm1heWJlU3RlcChlKTtpZih0LmZhaWxlZCl0aHJvdyBuZXcgT2YodC5mYWlsZWQpO3JldHVybiB0aGlzfW1heWJlU3RlcChlKXtsZXQgdD1lLmFwcGx5KHRoaXMuZG9jKTtyZXR1cm4gdC5mYWlsZWR8fHRoaXMuYWRkU3RlcChlLHQuZG9jKSx0fWdldCBkb2NDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuc3RlcHMubGVuZ3RoPjB9Y2hhbmdlZFJhbmdlKCl7bGV0IGU9MWU5LHQ9LTFlOTtmb3IobGV0IHI9MDtyPHRoaXMubWFwcGluZy5tYXBzLmxlbmd0aDtyKyspe2xldCBpPXRoaXMubWFwcGluZy5tYXBzW3JdO3ImJihlPWkubWFwKGUsMSksdD1pLm1hcCh0LC0xKSksaS5mb3JFYWNoKChvLG4sbCxkKT0+e2U9TWF0aC5taW4oZSxsKSx0PU1hdGgubWF4KHQsZCl9KX1yZXR1cm4gZT09MWU5P251bGw6e2Zyb206ZSx0bzp0fX1hZGRTdGVwKGUsdCl7dGhpcy5kb2NzLnB1c2godGhpcy5kb2MpLHRoaXMuc3RlcHMucHVzaChlKSx0aGlzLm1hcHBpbmcuYXBwZW5kTWFwKGUuZ2V0TWFwKCkpLHRoaXMuZG9jPXR9cmVwbGFjZShlLHQ9ZSxyPXN0LmVtcHR5KXtsZXQgaT1ibSh0aGlzLmRvYyxlLHQscik7cmV0dXJuIGkmJnRoaXMuc3RlcChpKSx0aGlzfXJlcGxhY2VXaXRoKGUsdCxyKXtyZXR1cm4gdGhpcy5yZXBsYWNlKGUsdCxuZXcgc3QoamUuZnJvbShyKSwwLDApKX1kZWxldGUoZSx0KXtyZXR1cm4gdGhpcy5yZXBsYWNlKGUsdCxzdC5lbXB0eSl9aW5zZXJ0KGUsdCl7cmV0dXJuIHRoaXMucmVwbGFjZVdpdGgoZSxlLHQpfXJlcGxhY2VSYW5nZShlLHQscil7cmV0dXJuIElEYSh0aGlzLGUsdCxyKSx0aGlzfXJlcGxhY2VSYW5nZVdpdGgoZSx0LHIpe3JldHVybiBORGEodGhpcyxlLHQsciksdGhpc31kZWxldGVSYW5nZShlLHQpe3JldHVybiBSRGEodGhpcyxlLHQpLHRoaXN9bGlmdChlLHQpe3JldHVybiBrRGEodGhpcyxlLHQpLHRoaXN9am9pbihlLHQ9MSl7cmV0dXJuIEFEYSh0aGlzLGUsdCksdGhpc313cmFwKGUsdCl7cmV0dXJuIENEYSh0aGlzLGUsdCksdGhpc31zZXRCbG9ja1R5cGUoZSx0PWUscixpPW51bGwpe3JldHVybiBfRGEodGhpcyxlLHQscixpKSx0aGlzfXNldE5vZGVNYXJrdXAoZSx0LHI9bnVsbCxpKXtyZXR1cm4gTERhKHRoaXMsZSx0LHIsaSksdGhpc31zZXROb2RlQXR0cmlidXRlKGUsdCxyKXtyZXR1cm4gdGhpcy5zdGVwKG5ldyBVVShlLHQscikpLHRoaXN9c2V0RG9jQXR0cmlidXRlKGUsdCl7cmV0dXJuIHRoaXMuc3RlcChuZXcgV1UoZSx0KSksdGhpc31hZGROb2RlTWFyayhlLHQpe3JldHVybiB0aGlzLnN0ZXAobmV3IG1tKGUsdCkpLHRoaXN9cmVtb3ZlTm9kZU1hcmsoZSx0KXtsZXQgcj10aGlzLmRvYy5ub2RlQXQoZSk7aWYoIXIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk5vIG5vZGUgYXQgcG9zaXRpb24gIitlKTtpZih0IGluc3RhbmNlb2YgRGEpdC5pc0luU2V0KHIubWFya3MpJiZ0aGlzLnN0ZXAobmV3IFJmKGUsdCkpO2Vsc2V7bGV0IGk9ci5tYXJrcyxvLG49W107Zm9yKDtvPXQuaXNJblNldChpKTspbi5wdXNoKG5ldyBSZihlLG8pKSxpPW8ucmVtb3ZlRnJvbVNldChpKTtmb3IobGV0IGw9bi5sZW5ndGgtMTtsPj0wO2wtLSl0aGlzLnN0ZXAobltsXSl9cmV0dXJuIHRoaXN9c3BsaXQoZSx0PTEscil7cmV0dXJuICREYSh0aGlzLGUsdCxyKSx0aGlzfWFkZE1hcmsoZSx0LHIpe3JldHVybiB5RGEodGhpcyxlLHQsciksdGhpc31yZW1vdmVNYXJrKGUsdCxyKXtyZXR1cm4gd0RhKHRoaXMsZSx0LHIpLHRoaXN9Y2xlYXJJbmNvbXBhdGlibGUoZSx0LHIpe3JldHVybiBoS2UodGhpcyxlLHQsciksdGhpc319fSk7ZnVuY3Rpb24gc29hKGEpeyFyb2EmJiFhLnBhcmVudC5pbmxpbmVDb250ZW50JiYocm9hPSEwLGNvbnNvbGUud2FybigiVGV4dFNlbGVjdGlvbiBlbmRwb2ludCBub3QgcG9pbnRpbmcgaW50byBhIG5vZGUgd2l0aCBpbmxpbmUgY29udGVudCAoIithLnBhcmVudC50eXBlLm5hbWUrIikiKSl9ZnVuY3Rpb24gdm0oYSxlLHQscixpLG89ITEpe2lmKGUuaW5saW5lQ29udGVudClyZXR1cm4gTnQuY3JlYXRlKGEsdCk7Zm9yKGxldCBuPXItKGk+MD8wOjEpO2k+MD9uPGUuY2hpbGRDb3VudDpuPj0wO24rPWkpe2xldCBsPWUuY2hpbGQobik7aWYobC5pc0F0b20pe2lmKCFvJiZrdC5pc1NlbGVjdGFibGUobCkpcmV0dXJuIGt0LmNyZWF0ZShhLHQtKGk8MD9sLm5vZGVTaXplOjApKX1lbHNle2xldCBkPXZtKGEsbCx0K2ksaTwwP2wuY2hpbGRDb3VudDowLGksbyk7aWYoZClyZXR1cm4gZH10Kz1sLm5vZGVTaXplKml9cmV0dXJuIG51bGx9ZnVuY3Rpb24gaW9hKGEsZSx0KXtsZXQgcj1hLnN0ZXBzLmxlbmd0aC0xO2lmKHI8ZSlyZXR1cm47bGV0IGk9YS5zdGVwc1tyXTtpZighKGkgaW5zdGFuY2VvZiBac3x8aSBpbnN0YW5jZW9mIHRzKSlyZXR1cm47bGV0IG89YS5tYXBwaW5nLm1hcHNbcl0sbjtvLmZvckVhY2goKGwsZCxjLHApPT57bj09bnVsbCYmKG49cCl9KSxhLnNldFNlbGVjdGlvbihFdC5uZWFyKGEuZG9jLnJlc29sdmUobiksdCkpfWZ1bmN0aW9uIGxvYShhLGUpe3JldHVybiFlfHwhYT9hOmEuYmluZChlKX1mdW5jdGlvbiBjb2EoYSxlLHQpe2ZvcihsZXQgciBpbiBhKXtsZXQgaT1hW3JdO2kgaW5zdGFuY2VvZiBGdW5jdGlvbj9pPWkuYmluZChlKTpyPT0iaGFuZGxlRE9NRXZlbnRzIiYmKGk9Y29hKGksZSx7fSkpLHRbcl09aX1yZXR1cm4gdH1mdW5jdGlvbiBkb2EoYSl7cmV0dXJuIGEgaW4geUtlP2ErIiQiKyArK3lLZVthXTooeUtlW2FdPTAsYSsiJCIpfXZhciB2S2UsRXQsVmYscm9hLE50LEFhZSxrdCx4S2UsSWksT0RhLG9vYSxQYWUsbm9hLEVhZSxxZixGRGEsWVUsS1UsYXIseUtlLGJzLG1jPWYoKCk9PntwNCgpO2g0KCk7dktlPU9iamVjdC5jcmVhdGUobnVsbCksRXQ9Y2xhc3N7c3RhdGlje3ModGhpcywiU2VsZWN0aW9uIil9Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMuJGFuY2hvcj1lLHRoaXMuJGhlYWQ9dCx0aGlzLnJhbmdlcz1yfHxbbmV3IFZmKGUubWluKHQpLGUubWF4KHQpKV19Z2V0IGFuY2hvcigpe3JldHVybiB0aGlzLiRhbmNob3IucG9zfWdldCBoZWFkKCl7cmV0dXJuIHRoaXMuJGhlYWQucG9zfWdldCBmcm9tKCl7cmV0dXJuIHRoaXMuJGZyb20ucG9zfWdldCB0bygpe3JldHVybiB0aGlzLiR0by5wb3N9Z2V0ICRmcm9tKCl7cmV0dXJuIHRoaXMucmFuZ2VzWzBdLiRmcm9tfWdldCAkdG8oKXtyZXR1cm4gdGhpcy5yYW5nZXNbMF0uJHRvfWdldCBlbXB0eSgpe2xldCBlPXRoaXMucmFuZ2VzO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKGVbdF0uJGZyb20ucG9zIT1lW3RdLiR0by5wb3MpcmV0dXJuITE7cmV0dXJuITB9Y29udGVudCgpe3JldHVybiB0aGlzLiRmcm9tLmRvYy5zbGljZSh0aGlzLmZyb20sdGhpcy50bywhMCl9cmVwbGFjZShlLHQ9c3QuZW1wdHkpe2xldCByPXQuY29udGVudC5sYXN0Q2hpbGQsaT1udWxsO2ZvcihsZXQgbD0wO2w8dC5vcGVuRW5kO2wrKylpPXIscj1yLmxhc3RDaGlsZDtsZXQgbz1lLnN0ZXBzLmxlbmd0aCxuPXRoaXMucmFuZ2VzO2ZvcihsZXQgbD0wO2w8bi5sZW5ndGg7bCsrKXtsZXR7JGZyb206ZCwkdG86Y309bltsXSxwPWUubWFwcGluZy5zbGljZShvKTtlLnJlcGxhY2VSYW5nZShwLm1hcChkLnBvcykscC5tYXAoYy5wb3MpLGw/c3QuZW1wdHk6dCksbD09MCYmaW9hKGUsbywocj9yLmlzSW5saW5lOmkmJmkuaXNUZXh0YmxvY2spPy0xOjEpfX1yZXBsYWNlV2l0aChlLHQpe2xldCByPWUuc3RlcHMubGVuZ3RoLGk9dGhpcy5yYW5nZXM7Zm9yKGxldCBvPTA7bzxpLmxlbmd0aDtvKyspe2xldHskZnJvbTpuLCR0bzpsfT1pW29dLGQ9ZS5tYXBwaW5nLnNsaWNlKHIpLGM9ZC5tYXAobi5wb3MpLHA9ZC5tYXAobC5wb3MpO28/ZS5kZWxldGVSYW5nZShjLHApOihlLnJlcGxhY2VSYW5nZVdpdGgoYyxwLHQpLGlvYShlLHIsdC5pc0lubGluZT8tMToxKSl9fXN0YXRpYyBmaW5kRnJvbShlLHQscj0hMSl7bGV0IGk9ZS5wYXJlbnQuaW5saW5lQ29udGVudD9uZXcgTnQoZSk6dm0oZS5ub2RlKDApLGUucGFyZW50LGUucG9zLGUuaW5kZXgoKSx0LHIpO2lmKGkpcmV0dXJuIGk7Zm9yKGxldCBvPWUuZGVwdGgtMTtvPj0wO28tLSl7bGV0IG49dDwwP3ZtKGUubm9kZSgwKSxlLm5vZGUobyksZS5iZWZvcmUobysxKSxlLmluZGV4KG8pLHQscik6dm0oZS5ub2RlKDApLGUubm9kZShvKSxlLmFmdGVyKG8rMSksZS5pbmRleChvKSsxLHQscik7aWYobilyZXR1cm4gbn1yZXR1cm4gbnVsbH1zdGF0aWMgbmVhcihlLHQ9MSl7cmV0dXJuIHRoaXMuZmluZEZyb20oZSx0KXx8dGhpcy5maW5kRnJvbShlLC10KXx8bmV3IElpKGUubm9kZSgwKSl9c3RhdGljIGF0U3RhcnQoZSl7cmV0dXJuIHZtKGUsZSwwLDAsMSl8fG5ldyBJaShlKX1zdGF0aWMgYXRFbmQoZSl7cmV0dXJuIHZtKGUsZSxlLmNvbnRlbnQuc2l6ZSxlLmNoaWxkQ291bnQsLTEpfHxuZXcgSWkoZSl9c3RhdGljIGZyb21KU09OKGUsdCl7aWYoIXR8fCF0LnR5cGUpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIFNlbGVjdGlvbi5mcm9tSlNPTiIpO2xldCByPXZLZVt0LnR5cGVdO2lmKCFyKXRocm93IG5ldyBSYW5nZUVycm9yKGBObyBzZWxlY3Rpb24gdHlwZSAke3QudHlwZX0gZGVmaW5lZGApO3JldHVybiByLmZyb21KU09OKGUsdCl9c3RhdGljIGpzb25JRChlLHQpe2lmKGUgaW4gdktlKXRocm93IG5ldyBSYW5nZUVycm9yKCJEdXBsaWNhdGUgdXNlIG9mIHNlbGVjdGlvbiBKU09OIElEICIrZSk7cmV0dXJuIHZLZVtlXT10LHQucHJvdG90eXBlLmpzb25JRD1lLHR9Z2V0Qm9va21hcmsoKXtyZXR1cm4gTnQuYmV0d2Vlbih0aGlzLiRhbmNob3IsdGhpcy4kaGVhZCkuZ2V0Qm9va21hcmsoKX19O0V0LnByb3RvdHlwZS52aXNpYmxlPSEwO1ZmPWNsYXNze3N0YXRpY3tzKHRoaXMsIlNlbGVjdGlvblJhbmdlIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLiRmcm9tPWUsdGhpcy4kdG89dH19LHJvYT0hMTtzKHNvYSwiY2hlY2tUZXh0U2VsZWN0aW9uIik7TnQ9Y2xhc3MgYSBleHRlbmRzIEV0e3N0YXRpY3tzKHRoaXMsIlRleHRTZWxlY3Rpb24iKX1jb25zdHJ1Y3RvcihlLHQ9ZSl7c29hKGUpLHNvYSh0KSxzdXBlcihlLHQpfWdldCAkY3Vyc29yKCl7cmV0dXJuIHRoaXMuJGFuY2hvci5wb3M9PXRoaXMuJGhlYWQucG9zP3RoaXMuJGhlYWQ6bnVsbH1tYXAoZSx0KXtsZXQgcj1lLnJlc29sdmUodC5tYXAodGhpcy5oZWFkKSk7aWYoIXIucGFyZW50LmlubGluZUNvbnRlbnQpcmV0dXJuIEV0Lm5lYXIocik7bGV0IGk9ZS5yZXNvbHZlKHQubWFwKHRoaXMuYW5jaG9yKSk7cmV0dXJuIG5ldyBhKGkucGFyZW50LmlubGluZUNvbnRlbnQ/aTpyLHIpfXJlcGxhY2UoZSx0PXN0LmVtcHR5KXtpZihzdXBlci5yZXBsYWNlKGUsdCksdD09c3QuZW1wdHkpe2xldCByPXRoaXMuJGZyb20ubWFya3NBY3Jvc3ModGhpcy4kdG8pO3ImJmUuZW5zdXJlTWFya3Mocil9fWVxKGUpe3JldHVybiBlIGluc3RhbmNlb2YgYSYmZS5hbmNob3I9PXRoaXMuYW5jaG9yJiZlLmhlYWQ9PXRoaXMuaGVhZH1nZXRCb29rbWFyaygpe3JldHVybiBuZXcgQWFlKHRoaXMuYW5jaG9yLHRoaXMuaGVhZCl9dG9KU09OKCl7cmV0dXJue3R5cGU6InRleHQiLGFuY2hvcjp0aGlzLmFuY2hvcixoZWFkOnRoaXMuaGVhZH19c3RhdGljIGZyb21KU09OKGUsdCl7aWYodHlwZW9mIHQuYW5jaG9yIT0ibnVtYmVyInx8dHlwZW9mIHQuaGVhZCE9Im51bWJlciIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIFRleHRTZWxlY3Rpb24uZnJvbUpTT04iKTtyZXR1cm4gbmV3IGEoZS5yZXNvbHZlKHQuYW5jaG9yKSxlLnJlc29sdmUodC5oZWFkKSl9c3RhdGljIGNyZWF0ZShlLHQscj10KXtsZXQgaT1lLnJlc29sdmUodCk7cmV0dXJuIG5ldyB0aGlzKGkscj09dD9pOmUucmVzb2x2ZShyKSl9c3RhdGljIGJldHdlZW4oZSx0LHIpe2xldCBpPWUucG9zLXQucG9zO2lmKCghcnx8aSkmJihyPWk+PTA/MTotMSksIXQucGFyZW50LmlubGluZUNvbnRlbnQpe2xldCBvPUV0LmZpbmRGcm9tKHQsciwhMCl8fEV0LmZpbmRGcm9tKHQsLXIsITApO2lmKG8pdD1vLiRoZWFkO2Vsc2UgcmV0dXJuIEV0Lm5lYXIodCxyKX1yZXR1cm4gZS5wYXJlbnQuaW5saW5lQ29udGVudHx8KGk9PTA/ZT10OihlPShFdC5maW5kRnJvbShlLC1yLCEwKXx8RXQuZmluZEZyb20oZSxyLCEwKSkuJGFuY2hvcixlLnBvczx0LnBvcyE9aTwwJiYoZT10KSkpLG5ldyBhKGUsdCl9fTtFdC5qc29uSUQoInRleHQiLE50KTtBYWU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJUZXh0Qm9va21hcmsiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuYW5jaG9yPWUsdGhpcy5oZWFkPXR9bWFwKGUpe3JldHVybiBuZXcgYShlLm1hcCh0aGlzLmFuY2hvciksZS5tYXAodGhpcy5oZWFkKSl9cmVzb2x2ZShlKXtyZXR1cm4gTnQuYmV0d2VlbihlLnJlc29sdmUodGhpcy5hbmNob3IpLGUucmVzb2x2ZSh0aGlzLmhlYWQpKX19LGt0PWNsYXNzIGEgZXh0ZW5kcyBFdHtzdGF0aWN7cyh0aGlzLCJOb2RlU2VsZWN0aW9uIil9Y29uc3RydWN0b3IoZSl7bGV0IHQ9ZS5ub2RlQWZ0ZXIscj1lLm5vZGUoMCkucmVzb2x2ZShlLnBvcyt0Lm5vZGVTaXplKTtzdXBlcihlLHIpLHRoaXMubm9kZT10fW1hcChlLHQpe2xldHtkZWxldGVkOnIscG9zOml9PXQubWFwUmVzdWx0KHRoaXMuYW5jaG9yKSxvPWUucmVzb2x2ZShpKTtyZXR1cm4gcj9FdC5uZWFyKG8pOm5ldyBhKG8pfWNvbnRlbnQoKXtyZXR1cm4gbmV3IHN0KGplLmZyb20odGhpcy5ub2RlKSwwLDApfWVxKGUpe3JldHVybiBlIGluc3RhbmNlb2YgYSYmZS5hbmNob3I9PXRoaXMuYW5jaG9yfXRvSlNPTigpe3JldHVybnt0eXBlOiJub2RlIixhbmNob3I6dGhpcy5hbmNob3J9fWdldEJvb2ttYXJrKCl7cmV0dXJuIG5ldyB4S2UodGhpcy5hbmNob3IpfXN0YXRpYyBmcm9tSlNPTihlLHQpe2lmKHR5cGVvZiB0LmFuY2hvciE9Im51bWJlciIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIE5vZGVTZWxlY3Rpb24uZnJvbUpTT04iKTtyZXR1cm4gbmV3IGEoZS5yZXNvbHZlKHQuYW5jaG9yKSl9c3RhdGljIGNyZWF0ZShlLHQpe3JldHVybiBuZXcgYShlLnJlc29sdmUodCkpfXN0YXRpYyBpc1NlbGVjdGFibGUoZSl7cmV0dXJuIWUuaXNUZXh0JiZlLnR5cGUuc3BlYy5zZWxlY3RhYmxlIT09ITF9fTtrdC5wcm90b3R5cGUudmlzaWJsZT0hMSxFdC5qc29uSUQoIm5vZGUiLGt0KTt4S2U9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJOb2RlQm9va21hcmsiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmFuY2hvcj1lfW1hcChlKXtsZXR7ZGVsZXRlZDp0LHBvczpyfT1lLm1hcFJlc3VsdCh0aGlzLmFuY2hvcik7cmV0dXJuIHQ/bmV3IEFhZShyLHIpOm5ldyBhKHIpfXJlc29sdmUoZSl7bGV0IHQ9ZS5yZXNvbHZlKHRoaXMuYW5jaG9yKSxyPXQubm9kZUFmdGVyO3JldHVybiByJiZrdC5pc1NlbGVjdGFibGUocik/bmV3IGt0KHQpOkV0Lm5lYXIodCl9fSxJaT1jbGFzcyBhIGV4dGVuZHMgRXR7c3RhdGlje3ModGhpcywiQWxsU2VsZWN0aW9uIil9Y29uc3RydWN0b3IoZSl7c3VwZXIoZS5yZXNvbHZlKDApLGUucmVzb2x2ZShlLmNvbnRlbnQuc2l6ZSkpfXJlcGxhY2UoZSx0PXN0LmVtcHR5KXtpZih0PT1zdC5lbXB0eSl7ZS5kZWxldGUoMCxlLmRvYy5jb250ZW50LnNpemUpO2xldCByPUV0LmF0U3RhcnQoZS5kb2MpO3IuZXEoZS5zZWxlY3Rpb24pfHxlLnNldFNlbGVjdGlvbihyKX1lbHNlIHN1cGVyLnJlcGxhY2UoZSx0KX10b0pTT04oKXtyZXR1cm57dHlwZToiYWxsIn19c3RhdGljIGZyb21KU09OKGUpe3JldHVybiBuZXcgYShlKX1tYXAoZSl7cmV0dXJuIG5ldyBhKGUpfWVxKGUpe3JldHVybiBlIGluc3RhbmNlb2YgYX1nZXRCb29rbWFyaygpe3JldHVybiBPRGF9fTtFdC5qc29uSUQoImFsbCIsSWkpO09EYT17bWFwKCl7cmV0dXJuIHRoaXN9LHJlc29sdmUoYSl7cmV0dXJuIG5ldyBJaShhKX19O3Modm0sImZpbmRTZWxlY3Rpb25JbiIpO3MoaW9hLCJzZWxlY3Rpb25Ub0luc2VydGlvbkVuZCIpO29vYT0xLFBhZT0yLG5vYT00LEVhZT1jbGFzcyBleHRlbmRzIEZme3N0YXRpY3tzKHRoaXMsIlRyYW5zYWN0aW9uIil9Y29uc3RydWN0b3IoZSl7c3VwZXIoZS5kb2MpLHRoaXMuY3VyU2VsZWN0aW9uRm9yPTAsdGhpcy51cGRhdGVkPTAsdGhpcy5tZXRhPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy50aW1lPURhdGUubm93KCksdGhpcy5jdXJTZWxlY3Rpb249ZS5zZWxlY3Rpb24sdGhpcy5zdG9yZWRNYXJrcz1lLnN0b3JlZE1hcmtzfWdldCBzZWxlY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJTZWxlY3Rpb25Gb3I8dGhpcy5zdGVwcy5sZW5ndGgmJih0aGlzLmN1clNlbGVjdGlvbj10aGlzLmN1clNlbGVjdGlvbi5tYXAodGhpcy5kb2MsdGhpcy5tYXBwaW5nLnNsaWNlKHRoaXMuY3VyU2VsZWN0aW9uRm9yKSksdGhpcy5jdXJTZWxlY3Rpb25Gb3I9dGhpcy5zdGVwcy5sZW5ndGgpLHRoaXMuY3VyU2VsZWN0aW9ufXNldFNlbGVjdGlvbihlKXtpZihlLiRmcm9tLmRvYyE9dGhpcy5kb2MpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlNlbGVjdGlvbiBwYXNzZWQgdG8gc2V0U2VsZWN0aW9uIG11c3QgcG9pbnQgYXQgdGhlIGN1cnJlbnQgZG9jdW1lbnQiKTtyZXR1cm4gdGhpcy5jdXJTZWxlY3Rpb249ZSx0aGlzLmN1clNlbGVjdGlvbkZvcj10aGlzLnN0ZXBzLmxlbmd0aCx0aGlzLnVwZGF0ZWQ9KHRoaXMudXBkYXRlZHxvb2EpJn5QYWUsdGhpcy5zdG9yZWRNYXJrcz1udWxsLHRoaXN9Z2V0IHNlbGVjdGlvblNldCgpe3JldHVybih0aGlzLnVwZGF0ZWQmb29hKT4wfXNldFN0b3JlZE1hcmtzKGUpe3JldHVybiB0aGlzLnN0b3JlZE1hcmtzPWUsdGhpcy51cGRhdGVkfD1QYWUsdGhpc31lbnN1cmVNYXJrcyhlKXtyZXR1cm4gRGEuc2FtZVNldCh0aGlzLnN0b3JlZE1hcmtzfHx0aGlzLnNlbGVjdGlvbi4kZnJvbS5tYXJrcygpLGUpfHx0aGlzLnNldFN0b3JlZE1hcmtzKGUpLHRoaXN9YWRkU3RvcmVkTWFyayhlKXtyZXR1cm4gdGhpcy5lbnN1cmVNYXJrcyhlLmFkZFRvU2V0KHRoaXMuc3RvcmVkTWFya3N8fHRoaXMuc2VsZWN0aW9uLiRoZWFkLm1hcmtzKCkpKX1yZW1vdmVTdG9yZWRNYXJrKGUpe3JldHVybiB0aGlzLmVuc3VyZU1hcmtzKGUucmVtb3ZlRnJvbVNldCh0aGlzLnN0b3JlZE1hcmtzfHx0aGlzLnNlbGVjdGlvbi4kaGVhZC5tYXJrcygpKSl9Z2V0IHN0b3JlZE1hcmtzU2V0KCl7cmV0dXJuKHRoaXMudXBkYXRlZCZQYWUpPjB9YWRkU3RlcChlLHQpe3N1cGVyLmFkZFN0ZXAoZSx0KSx0aGlzLnVwZGF0ZWQ9dGhpcy51cGRhdGVkJn5QYWUsdGhpcy5zdG9yZWRNYXJrcz1udWxsfXNldFRpbWUoZSl7cmV0dXJuIHRoaXMudGltZT1lLHRoaXN9cmVwbGFjZVNlbGVjdGlvbihlKXtyZXR1cm4gdGhpcy5zZWxlY3Rpb24ucmVwbGFjZSh0aGlzLGUpLHRoaXN9cmVwbGFjZVNlbGVjdGlvbldpdGgoZSx0PSEwKXtsZXQgcj10aGlzLnNlbGVjdGlvbjtyZXR1cm4gdCYmKGU9ZS5tYXJrKHRoaXMuc3RvcmVkTWFya3N8fChyLmVtcHR5P3IuJGZyb20ubWFya3MoKTpyLiRmcm9tLm1hcmtzQWNyb3NzKHIuJHRvKXx8RGEubm9uZSkpKSxyLnJlcGxhY2VXaXRoKHRoaXMsZSksdGhpc31kZWxldGVTZWxlY3Rpb24oKXtyZXR1cm4gdGhpcy5zZWxlY3Rpb24ucmVwbGFjZSh0aGlzKSx0aGlzfWluc2VydFRleHQoZSx0LHIpe2xldCBpPXRoaXMuZG9jLnR5cGUuc2NoZW1hO2lmKHQ9PW51bGwpcmV0dXJuIGU/dGhpcy5yZXBsYWNlU2VsZWN0aW9uV2l0aChpLnRleHQoZSksITApOnRoaXMuZGVsZXRlU2VsZWN0aW9uKCk7e2lmKHI9PW51bGwmJihyPXQpLCFlKXJldHVybiB0aGlzLmRlbGV0ZVJhbmdlKHQscik7bGV0IG89dGhpcy5zdG9yZWRNYXJrcztpZighbyl7bGV0IG49dGhpcy5kb2MucmVzb2x2ZSh0KTtvPXI9PXQ/bi5tYXJrcygpOm4ubWFya3NBY3Jvc3ModGhpcy5kb2MucmVzb2x2ZShyKSl9cmV0dXJuIHRoaXMucmVwbGFjZVJhbmdlV2l0aCh0LHIsaS50ZXh0KGUsbykpLCF0aGlzLnNlbGVjdGlvbi5lbXB0eSYmdGhpcy5zZWxlY3Rpb24udG89PXQrZS5sZW5ndGgmJnRoaXMuc2V0U2VsZWN0aW9uKEV0Lm5lYXIodGhpcy5zZWxlY3Rpb24uJHRvKSksdGhpc319c2V0TWV0YShlLHQpe3JldHVybiB0aGlzLm1ldGFbdHlwZW9mIGU9PSJzdHJpbmciP2U6ZS5rZXldPXQsdGhpc31nZXRNZXRhKGUpe3JldHVybiB0aGlzLm1ldGFbdHlwZW9mIGU9PSJzdHJpbmciP2U6ZS5rZXldfWdldCBpc0dlbmVyaWMoKXtmb3IobGV0IGUgaW4gdGhpcy5tZXRhKXJldHVybiExO3JldHVybiEwfXNjcm9sbEludG9WaWV3KCl7cmV0dXJuIHRoaXMudXBkYXRlZHw9bm9hLHRoaXN9Z2V0IHNjcm9sbGVkSW50b1ZpZXcoKXtyZXR1cm4odGhpcy51cGRhdGVkJm5vYSk+MH19O3MobG9hLCJiaW5kIik7cWY9Y2xhc3N7c3RhdGlje3ModGhpcywiRmllbGREZXNjIil9Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMubmFtZT1lLHRoaXMuaW5pdD1sb2EodC5pbml0LHIpLHRoaXMuYXBwbHk9bG9hKHQuYXBwbHkscil9fSxGRGE9W25ldyBxZigiZG9jIix7aW5pdChhKXtyZXR1cm4gYS5kb2N8fGEuc2NoZW1hLnRvcE5vZGVUeXBlLmNyZWF0ZUFuZEZpbGwoKX0sYXBwbHkoYSl7cmV0dXJuIGEuZG9jfX0pLG5ldyBxZigic2VsZWN0aW9uIix7aW5pdChhLGUpe3JldHVybiBhLnNlbGVjdGlvbnx8RXQuYXRTdGFydChlLmRvYyl9LGFwcGx5KGEpe3JldHVybiBhLnNlbGVjdGlvbn19KSxuZXcgcWYoInN0b3JlZE1hcmtzIix7aW5pdChhKXtyZXR1cm4gYS5zdG9yZWRNYXJrc3x8bnVsbH0sYXBwbHkoYSxlLHQscil7cmV0dXJuIHIuc2VsZWN0aW9uLiRjdXJzb3I/YS5zdG9yZWRNYXJrczpudWxsfX0pLG5ldyBxZigic2Nyb2xsVG9TZWxlY3Rpb24iLHtpbml0KCl7cmV0dXJuIDB9LGFwcGx5KGEsZSl7cmV0dXJuIGEuc2Nyb2xsZWRJbnRvVmlldz9lKzE6ZX19KV0sWVU9Y2xhc3N7c3RhdGlje3ModGhpcywiQ29uZmlndXJhdGlvbiIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5zY2hlbWE9ZSx0aGlzLnBsdWdpbnM9W10sdGhpcy5wbHVnaW5zQnlLZXk9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLmZpZWxkcz1GRGEuc2xpY2UoKSx0JiZ0LmZvckVhY2gocj0+e2lmKHRoaXMucGx1Z2luc0J5S2V5W3Iua2V5XSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQWRkaW5nIGRpZmZlcmVudCBpbnN0YW5jZXMgb2YgYSBrZXllZCBwbHVnaW4gKCIrci5rZXkrIikiKTt0aGlzLnBsdWdpbnMucHVzaChyKSx0aGlzLnBsdWdpbnNCeUtleVtyLmtleV09cixyLnNwZWMuc3RhdGUmJnRoaXMuZmllbGRzLnB1c2gobmV3IHFmKHIua2V5LHIuc3BlYy5zdGF0ZSxyKSl9KX19LEtVPWNsYXNzIGF7c3RhdGlje3ModGhpcywiRWRpdG9yU3RhdGUiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmNvbmZpZz1lfWdldCBzY2hlbWEoKXtyZXR1cm4gdGhpcy5jb25maWcuc2NoZW1hfWdldCBwbHVnaW5zKCl7cmV0dXJuIHRoaXMuY29uZmlnLnBsdWdpbnN9YXBwbHkoZSl7cmV0dXJuIHRoaXMuYXBwbHlUcmFuc2FjdGlvbihlKS5zdGF0ZX1maWx0ZXJUcmFuc2FjdGlvbihlLHQ9LTEpe2ZvcihsZXQgcj0wO3I8dGhpcy5jb25maWcucGx1Z2lucy5sZW5ndGg7cisrKWlmKHIhPXQpe2xldCBpPXRoaXMuY29uZmlnLnBsdWdpbnNbcl07aWYoaS5zcGVjLmZpbHRlclRyYW5zYWN0aW9uJiYhaS5zcGVjLmZpbHRlclRyYW5zYWN0aW9uLmNhbGwoaSxlLHRoaXMpKXJldHVybiExfXJldHVybiEwfWFwcGx5VHJhbnNhY3Rpb24oZSl7aWYoIXRoaXMuZmlsdGVyVHJhbnNhY3Rpb24oZSkpcmV0dXJue3N0YXRlOnRoaXMsdHJhbnNhY3Rpb25zOltdfTtsZXQgdD1bZV0scj10aGlzLmFwcGx5SW5uZXIoZSksaT1udWxsO2Zvcig7Oyl7bGV0IG89ITE7Zm9yKGxldCBuPTA7bjx0aGlzLmNvbmZpZy5wbHVnaW5zLmxlbmd0aDtuKyspe2xldCBsPXRoaXMuY29uZmlnLnBsdWdpbnNbbl07aWYobC5zcGVjLmFwcGVuZFRyYW5zYWN0aW9uKXtsZXQgZD1pP2lbbl0ubjowLGM9aT9pW25dLnN0YXRlOnRoaXMscD1kPHQubGVuZ3RoJiZsLnNwZWMuYXBwZW5kVHJhbnNhY3Rpb24uY2FsbChsLGQ/dC5zbGljZShkKTp0LGMscik7aWYocCYmci5maWx0ZXJUcmFuc2FjdGlvbihwLG4pKXtpZihwLnNldE1ldGEoImFwcGVuZGVkVHJhbnNhY3Rpb24iLGUpLCFpKXtpPVtdO2ZvcihsZXQgdT0wO3U8dGhpcy5jb25maWcucGx1Z2lucy5sZW5ndGg7dSsrKWkucHVzaCh1PG4/e3N0YXRlOnIsbjp0Lmxlbmd0aH06e3N0YXRlOnRoaXMsbjowfSl9dC5wdXNoKHApLHI9ci5hcHBseUlubmVyKHApLG89ITB9aSYmKGlbbl09e3N0YXRlOnIsbjp0Lmxlbmd0aH0pfX1pZighbylyZXR1cm57c3RhdGU6cix0cmFuc2FjdGlvbnM6dH19fWFwcGx5SW5uZXIoZSl7aWYoIWUuYmVmb3JlLmVxKHRoaXMuZG9jKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQXBwbHlpbmcgYSBtaXNtYXRjaGVkIHRyYW5zYWN0aW9uIik7bGV0IHQ9bmV3IGEodGhpcy5jb25maWcpLHI9dGhpcy5jb25maWcuZmllbGRzO2ZvcihsZXQgaT0wO2k8ci5sZW5ndGg7aSsrKXtsZXQgbz1yW2ldO3Rbby5uYW1lXT1vLmFwcGx5KGUsdGhpc1tvLm5hbWVdLHRoaXMsdCl9cmV0dXJuIHR9Z2V0IHRyKCl7cmV0dXJuIG5ldyBFYWUodGhpcyl9c3RhdGljIGNyZWF0ZShlKXtsZXQgdD1uZXcgWVUoZS5kb2M/ZS5kb2MudHlwZS5zY2hlbWE6ZS5zY2hlbWEsZS5wbHVnaW5zKSxyPW5ldyBhKHQpO2ZvcihsZXQgaT0wO2k8dC5maWVsZHMubGVuZ3RoO2krKylyW3QuZmllbGRzW2ldLm5hbWVdPXQuZmllbGRzW2ldLmluaXQoZSxyKTtyZXR1cm4gcn1yZWNvbmZpZ3VyZShlKXtsZXQgdD1uZXcgWVUodGhpcy5zY2hlbWEsZS5wbHVnaW5zKSxyPXQuZmllbGRzLGk9bmV3IGEodCk7Zm9yKGxldCBvPTA7bzxyLmxlbmd0aDtvKyspe2xldCBuPXJbb10ubmFtZTtpW25dPXRoaXMuaGFzT3duUHJvcGVydHkobik/dGhpc1tuXTpyW29dLmluaXQoZSxpKX1yZXR1cm4gaX10b0pTT04oZSl7bGV0IHQ9e2RvYzp0aGlzLmRvYy50b0pTT04oKSxzZWxlY3Rpb246dGhpcy5zZWxlY3Rpb24udG9KU09OKCl9O2lmKHRoaXMuc3RvcmVkTWFya3MmJih0LnN0b3JlZE1hcmtzPXRoaXMuc3RvcmVkTWFya3MubWFwKHI9PnIudG9KU09OKCkpKSxlJiZ0eXBlb2YgZT09Im9iamVjdCIpZm9yKGxldCByIGluIGUpe2lmKHI9PSJkb2MifHxyPT0ic2VsZWN0aW9uIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiVGhlIEpTT04gZmllbGRzIGBkb2NgIGFuZCBgc2VsZWN0aW9uYCBhcmUgcmVzZXJ2ZWQiKTtsZXQgaT1lW3JdLG89aS5zcGVjLnN0YXRlO28mJm8udG9KU09OJiYodFtyXT1vLnRvSlNPTi5jYWxsKGksdGhpc1tpLmtleV0pKX1yZXR1cm4gdH1zdGF0aWMgZnJvbUpTT04oZSx0LHIpe2lmKCF0KXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIGlucHV0IGZvciBFZGl0b3JTdGF0ZS5mcm9tSlNPTiIpO2lmKCFlLnNjaGVtYSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiUmVxdWlyZWQgY29uZmlnIGZpZWxkICdzY2hlbWEnIG1pc3NpbmciKTtsZXQgaT1uZXcgWVUoZS5zY2hlbWEsZS5wbHVnaW5zKSxvPW5ldyBhKGkpO3JldHVybiBpLmZpZWxkcy5mb3JFYWNoKG49PntpZihuLm5hbWU9PSJkb2MiKW8uZG9jPUtpLmZyb21KU09OKGUuc2NoZW1hLHQuZG9jKTtlbHNlIGlmKG4ubmFtZT09InNlbGVjdGlvbiIpby5zZWxlY3Rpb249RXQuZnJvbUpTT04oby5kb2MsdC5zZWxlY3Rpb24pO2Vsc2UgaWYobi5uYW1lPT0ic3RvcmVkTWFya3MiKXQuc3RvcmVkTWFya3MmJihvLnN0b3JlZE1hcmtzPXQuc3RvcmVkTWFya3MubWFwKGUuc2NoZW1hLm1hcmtGcm9tSlNPTikpO2Vsc2V7aWYocilmb3IobGV0IGwgaW4gcil7bGV0IGQ9cltsXSxjPWQuc3BlYy5zdGF0ZTtpZihkLmtleT09bi5uYW1lJiZjJiZjLmZyb21KU09OJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxsKSl7b1tuLm5hbWVdPWMuZnJvbUpTT04uY2FsbChkLGUsdFtsXSxvKTtyZXR1cm59fW9bbi5uYW1lXT1uLmluaXQoZSxvKX19KSxvfX07cyhjb2EsImJpbmRQcm9wcyIpO2FyPWNsYXNze3N0YXRpY3tzKHRoaXMsIlBsdWdpbiIpfWNvbnN0cnVjdG9yKGUpe3RoaXMuc3BlYz1lLHRoaXMucHJvcHM9e30sZS5wcm9wcyYmY29hKGUucHJvcHMsdGhpcyx0aGlzLnByb3BzKSx0aGlzLmtleT1lLmtleT9lLmtleS5rZXk6ZG9hKCJwbHVnaW4iKX1nZXRTdGF0ZShlKXtyZXR1cm4gZVt0aGlzLmtleV19fSx5S2U9T2JqZWN0LmNyZWF0ZShudWxsKTtzKGRvYSwiY3JlYXRlS2V5Iik7YnM9Y2xhc3N7c3RhdGlje3ModGhpcywiUGx1Z2luS2V5Iil9Y29uc3RydWN0b3IoZT0ia2V5Iil7dGhpcy5rZXk9ZG9hKGUpfWdldChlKXtyZXR1cm4gZS5jb25maWcucGx1Z2luc0J5S2V5W3RoaXMua2V5XX1nZXRTdGF0ZShlKXtyZXR1cm4gZVt0aGlzLmtleV19fX0pO3ZhciBaVT1mKCgpPT57bWMoKX0pO2Z1bmN0aW9uIHVvYShhLGUsdCxyLGkpe2Zvcih2YXIgbzs7KXtpZihhPT10JiZlPT1yKXJldHVybiEwO2lmKGU9PShpPDA/MDpObihhKSkpe2xldCBuPWEucGFyZW50Tm9kZTtpZighbnx8bi5ub2RlVHlwZSE9MXx8WFUoYSl8fEhEYS50ZXN0KGEubm9kZU5hbWUpfHxhLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIilyZXR1cm4hMTtlPWlpKGEpKyhpPDA/MDoxKSxhPW59ZWxzZSBpZihhLm5vZGVUeXBlPT0xKXtsZXQgbj1hLmNoaWxkTm9kZXNbZSsoaTwwPy0xOjApXTtpZihuLm5vZGVUeXBlPT0xJiZuLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIilpZighKChvPW4ucG1WaWV3RGVzYyk9PT1udWxsfHxvPT09dm9pZCAwKSYmby5pZ25vcmVGb3JTZWxlY3Rpb24pZSs9aTtlbHNlIHJldHVybiExO2Vsc2UgYT1uLGU9aTwwP05uKGEpOjB9ZWxzZSByZXR1cm4hMX19ZnVuY3Rpb24gTm4oYSl7cmV0dXJuIGEubm9kZVR5cGU9PTM/YS5ub2RlVmFsdWUubGVuZ3RoOmEuY2hpbGROb2Rlcy5sZW5ndGh9ZnVuY3Rpb24gcURhKGEsZSl7Zm9yKDs7KXtpZihhLm5vZGVUeXBlPT0zJiZlKXJldHVybiBhO2lmKGEubm9kZVR5cGU9PTEmJmU+MCl7aWYoYS5jb250ZW50RWRpdGFibGU9PSJmYWxzZSIpcmV0dXJuIG51bGw7YT1hLmNoaWxkTm9kZXNbZS0xXSxlPU5uKGEpfWVsc2UgaWYoYS5wYXJlbnROb2RlJiYhWFUoYSkpZT1paShhKSxhPWEucGFyZW50Tm9kZTtlbHNlIHJldHVybiBudWxsfX1mdW5jdGlvbiBWRGEoYSxlKXtmb3IoOzspe2lmKGEubm9kZVR5cGU9PTMmJmU8YS5ub2RlVmFsdWUubGVuZ3RoKXJldHVybiBhO2lmKGEubm9kZVR5cGU9PTEmJmU8YS5jaGlsZE5vZGVzLmxlbmd0aCl7aWYoYS5jb250ZW50RWRpdGFibGU9PSJmYWxzZSIpcmV0dXJuIG51bGw7YT1hLmNoaWxkTm9kZXNbZV0sZT0wfWVsc2UgaWYoYS5wYXJlbnROb2RlJiYhWFUoYSkpZT1paShhKSsxLGE9YS5wYXJlbnROb2RlO2Vsc2UgcmV0dXJuIG51bGx9fWZ1bmN0aW9uIGpEYShhLGUsdCl7Zm9yKGxldCByPWU9PTAsaT1lPT1ObihhKTtyfHxpOyl7aWYoYT09dClyZXR1cm4hMDtsZXQgbz1paShhKTtpZihhPWEucGFyZW50Tm9kZSwhYSlyZXR1cm4hMTtyPXImJm89PTAsaT1pJiZvPT1ObihhKX19ZnVuY3Rpb24gWFUoYSl7bGV0IGU7Zm9yKGxldCB0PWE7dCYmIShlPXQucG1WaWV3RGVzYyk7dD10LnBhcmVudE5vZGUpO3JldHVybiBlJiZlLm5vZGUmJmUubm9kZS5pc0Jsb2NrJiYoZS5kb209PWF8fGUuY29udGVudERPTT09YSl9ZnVuY3Rpb24gVWYoYSxlKXtsZXQgdD1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTtyZXR1cm4gdC5pbml0RXZlbnQoImtleWRvd24iLCEwLCEwKSx0LmtleUNvZGU9YSx0LmtleT10LmNvZGU9ZSx0fWZ1bmN0aW9uIFVEYShhKXtsZXQgZT1hLmFjdGl2ZUVsZW1lbnQ7Zm9yKDtlJiZlLnNoYWRvd1Jvb3Q7KWU9ZS5zaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIGV9ZnVuY3Rpb24gV0RhKGEsZSx0KXtpZihhLmNhcmV0UG9zaXRpb25Gcm9tUG9pbnQpdHJ5e2xldCByPWEuY2FyZXRQb3NpdGlvbkZyb21Qb2ludChlLHQpO2lmKHIpcmV0dXJue25vZGU6ci5vZmZzZXROb2RlLG9mZnNldDpNYXRoLm1pbihObihyLm9mZnNldE5vZGUpLHIub2Zmc2V0KX19Y2F0Y2h7fWlmKGEuY2FyZXRSYW5nZUZyb21Qb2ludCl7bGV0IHI9YS5jYXJldFJhbmdlRnJvbVBvaW50KGUsdCk7aWYocilyZXR1cm57bm9kZTpyLnN0YXJ0Q29udGFpbmVyLG9mZnNldDpNYXRoLm1pbihObihyLnN0YXJ0Q29udGFpbmVyKSxyLnN0YXJ0T2Zmc2V0KX19fWZ1bmN0aW9uIFlEYShhKXtsZXQgZT1hLmRlZmF1bHRWaWV3JiZhLmRlZmF1bHRWaWV3LnZpc3VhbFZpZXdwb3J0O3JldHVybiBlP3tsZWZ0OjAscmlnaHQ6ZS53aWR0aCx0b3A6MCxib3R0b206ZS5oZWlnaHR9OntsZWZ0OjAscmlnaHQ6YS5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsdG9wOjAsYm90dG9tOmEuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodH19ZnVuY3Rpb24gdmMoYSxlKXtyZXR1cm4gdHlwZW9mIGE9PSJudW1iZXIiP2E6YVtlXX1mdW5jdGlvbiBLRGEoYSl7bGV0IGU9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0PWUud2lkdGgvYS5vZmZzZXRXaWR0aHx8MSxyPWUuaGVpZ2h0L2Eub2Zmc2V0SGVpZ2h0fHwxO3JldHVybntsZWZ0OmUubGVmdCxyaWdodDplLmxlZnQrYS5jbGllbnRXaWR0aCp0LHRvcDplLnRvcCxib3R0b206ZS50b3ArYS5jbGllbnRIZWlnaHQqcn19ZnVuY3Rpb24gZ29hKGEsZSx0KXtsZXQgcj1hLnNvbWVQcm9wKCJzY3JvbGxUaHJlc2hvbGQiKXx8MCxpPWEuc29tZVByb3AoInNjcm9sbE1hcmdpbiIpfHw1LG89YS5kb20ub3duZXJEb2N1bWVudDtmb3IobGV0IG49dHx8YS5kb207bjspe2lmKG4ubm9kZVR5cGUhPTEpe249eG0obik7Y29udGludWV9bGV0IGw9bixkPWw9PW8uYm9keSxjPWQ/WURhKG8pOktEYShsKSxwPTAsdT0wO2lmKGUudG9wPGMudG9wK3ZjKHIsInRvcCIpP3U9LShjLnRvcC1lLnRvcCt2YyhpLCJ0b3AiKSk6ZS5ib3R0b20+Yy5ib3R0b20tdmMociwiYm90dG9tIikmJih1PWUuYm90dG9tLWUudG9wPmMuYm90dG9tLWMudG9wP2UudG9wK3ZjKGksInRvcCIpLWMudG9wOmUuYm90dG9tLWMuYm90dG9tK3ZjKGksImJvdHRvbSIpKSxlLmxlZnQ8Yy5sZWZ0K3ZjKHIsImxlZnQiKT9wPS0oYy5sZWZ0LWUubGVmdCt2YyhpLCJsZWZ0IikpOmUucmlnaHQ+Yy5yaWdodC12YyhyLCJyaWdodCIpJiYocD1lLnJpZ2h0LWMucmlnaHQrdmMoaSwicmlnaHQiKSkscHx8dSlpZihkKW8uZGVmYXVsdFZpZXcuc2Nyb2xsQnkocCx1KTtlbHNle2xldCB2PWwuc2Nyb2xsTGVmdCx4PWwuc2Nyb2xsVG9wO3UmJihsLnNjcm9sbFRvcCs9dSkscCYmKGwuc2Nyb2xsTGVmdCs9cCk7bGV0IGI9bC5zY3JvbGxMZWZ0LXYsZz1sLnNjcm9sbFRvcC14O2U9e2xlZnQ6ZS5sZWZ0LWIsdG9wOmUudG9wLWcscmlnaHQ6ZS5yaWdodC1iLGJvdHRvbTplLmJvdHRvbS1nfX1sZXQgbT1kPyJmaXhlZCI6Z2V0Q29tcHV0ZWRTdHlsZShuKS5wb3NpdGlvbjtpZigvXihmaXhlZHxzdGlja3kpJC8udGVzdChtKSlicmVhaztuPW09PSJhYnNvbHV0ZSI/bi5vZmZzZXRQYXJlbnQ6eG0obil9fWZ1bmN0aW9uIFpEYShhKXtsZXQgZT1hLmRvbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0PU1hdGgubWF4KDAsZS50b3ApLHIsaTtmb3IobGV0IG89KGUubGVmdCtlLnJpZ2h0KS8yLG49dCsxO248TWF0aC5taW4oaW5uZXJIZWlnaHQsZS5ib3R0b20pO24rPTUpe2xldCBsPWEucm9vdC5lbGVtZW50RnJvbVBvaW50KG8sbik7aWYoIWx8fGw9PWEuZG9tfHwhYS5kb20uY29udGFpbnMobCkpY29udGludWU7bGV0IGQ9bC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihkLnRvcD49dC0yMCl7cj1sLGk9ZC50b3A7YnJlYWt9fXJldHVybntyZWZET006cixyZWZUb3A6aSxzdGFjazpib2EoYS5kb20pfX1mdW5jdGlvbiBib2EoYSl7bGV0IGU9W10sdD1hLm93bmVyRG9jdW1lbnQ7Zm9yKGxldCByPWE7ciYmKGUucHVzaCh7ZG9tOnIsdG9wOnIuc2Nyb2xsVG9wLGxlZnQ6ci5zY3JvbGxMZWZ0fSksYSE9dCk7cj14bShyKSk7cmV0dXJuIGV9ZnVuY3Rpb24gWERhKHtyZWZET006YSxyZWZUb3A6ZSxzdGFjazp0fSl7bGV0IHI9YT9hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDowO3ZvYSh0LHI9PTA/MDpyLWUpfWZ1bmN0aW9uIHZvYShhLGUpe2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7dCsrKXtsZXR7ZG9tOnIsdG9wOmksbGVmdDpvfT1hW3RdO3Iuc2Nyb2xsVG9wIT1pK2UmJihyLnNjcm9sbFRvcD1pK2UpLHIuc2Nyb2xsTGVmdCE9byYmKHIuc2Nyb2xsTGVmdD1vKX19ZnVuY3Rpb24gUURhKGEpe2lmKGEuc2V0QWN0aXZlKXJldHVybiBhLnNldEFjdGl2ZSgpO2lmKHdtKXJldHVybiBhLmZvY3VzKHdtKTtsZXQgZT1ib2EoYSk7YS5mb2N1cyh3bT09bnVsbD97Z2V0IHByZXZlbnRTY3JvbGwoKXtyZXR1cm4gd209e3ByZXZlbnRTY3JvbGw6ITB9LCEwfX06dm9pZCAwKSx3bXx8KHdtPSExLHZvYShlLDApKX1mdW5jdGlvbiB4b2EoYSxlKXtsZXQgdCxyPTJlOCxpLG89MCxuPWUudG9wLGw9ZS50b3AsZCxjO2ZvcihsZXQgcD1hLmZpcnN0Q2hpbGQsdT0wO3A7cD1wLm5leHRTaWJsaW5nLHUrKyl7bGV0IG07aWYocC5ub2RlVHlwZT09MSltPXAuZ2V0Q2xpZW50UmVjdHMoKTtlbHNlIGlmKHAubm9kZVR5cGU9PTMpbT1nYyhwKS5nZXRDbGllbnRSZWN0cygpO2Vsc2UgY29udGludWU7Zm9yKGxldCB2PTA7djxtLmxlbmd0aDt2Kyspe2xldCB4PW1bdl07aWYoeC50b3A8PW4mJnguYm90dG9tPj1sKXtuPU1hdGgubWF4KHguYm90dG9tLG4pLGw9TWF0aC5taW4oeC50b3AsbCk7bGV0IGI9eC5sZWZ0PmUubGVmdD94LmxlZnQtZS5sZWZ0OngucmlnaHQ8ZS5sZWZ0P2UubGVmdC14LnJpZ2h0OjA7aWYoYjxyKXt0PXAscj1iLGk9YiYmdC5ub2RlVHlwZT09Mz97bGVmdDp4LnJpZ2h0PGUubGVmdD94LnJpZ2h0OngubGVmdCx0b3A6ZS50b3B9OmUscC5ub2RlVHlwZT09MSYmYiYmKG89dSsoZS5sZWZ0Pj0oeC5sZWZ0K3gucmlnaHQpLzI/MTowKSk7Y29udGludWV9fWVsc2UgeC50b3A+ZS50b3AmJiFkJiZ4LmxlZnQ8PWUubGVmdCYmeC5yaWdodD49ZS5sZWZ0JiYoZD1wLGM9e2xlZnQ6TWF0aC5tYXgoeC5sZWZ0LE1hdGgubWluKHgucmlnaHQsZS5sZWZ0KSksdG9wOngudG9wfSk7IXQmJihlLmxlZnQ+PXgucmlnaHQmJmUudG9wPj14LnRvcHx8ZS5sZWZ0Pj14LmxlZnQmJmUudG9wPj14LmJvdHRvbSkmJihvPXUrMSl9fXJldHVybiF0JiZkJiYodD1kLGk9YyxyPTApLHQmJnQubm9kZVR5cGU9PTM/SkRhKHQsaSk6IXR8fHImJnQubm9kZVR5cGU9PTE/e25vZGU6YSxvZmZzZXQ6b306eG9hKHQsaSl9ZnVuY3Rpb24gSkRhKGEsZSl7bGV0IHQ9YS5ub2RlVmFsdWUubGVuZ3RoLHI9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxpO2ZvcihsZXQgbz0wO288dDtvKyspe3Iuc2V0RW5kKGEsbysxKSxyLnNldFN0YXJ0KGEsbyk7bGV0IG49YjQociwxKTtpZihuLnRvcCE9bi5ib3R0b20mJnpLZShlLG4pKXtpPXtub2RlOmEsb2Zmc2V0Om8rKGUubGVmdD49KG4ubGVmdCtuLnJpZ2h0KS8yPzE6MCl9O2JyZWFrfX1yZXR1cm4gci5kZXRhY2goKSxpfHx7bm9kZTphLG9mZnNldDowfX1mdW5jdGlvbiB6S2UoYSxlKXtyZXR1cm4gYS5sZWZ0Pj1lLmxlZnQtMSYmYS5sZWZ0PD1lLnJpZ2h0KzEmJmEudG9wPj1lLnRvcC0xJiZhLnRvcDw9ZS5ib3R0b20rMX1mdW5jdGlvbiBlQWEoYSxlKXtsZXQgdD1hLnBhcmVudE5vZGU7cmV0dXJuIHQmJi9ebGkkL2kudGVzdCh0Lm5vZGVOYW1lKSYmZS5sZWZ0PGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdD90OmF9ZnVuY3Rpb24gdEFhKGEsZSx0KXtsZXR7bm9kZTpyLG9mZnNldDppfT14b2EoZSx0KSxvPS0xO2lmKHIubm9kZVR5cGU9PTEmJiFyLmZpcnN0Q2hpbGQpe2xldCBuPXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bz1uLmxlZnQhPW4ucmlnaHQmJnQubGVmdD4obi5sZWZ0K24ucmlnaHQpLzI/MTotMX1yZXR1cm4gYS5kb2NWaWV3LnBvc0Zyb21ET00ocixpLG8pfWZ1bmN0aW9uIGFBYShhLGUsdCxyKXtsZXQgaT0tMTtmb3IobGV0IG89ZSxuPSExO28hPWEuZG9tOyl7bGV0IGw9YS5kb2NWaWV3Lm5lYXJlc3REZXNjKG8sITApLGQ7aWYoIWwpcmV0dXJuIG51bGw7aWYobC5kb20ubm9kZVR5cGU9PTEmJihsLm5vZGUuaXNCbG9jayYmbC5wYXJlbnR8fCFsLmNvbnRlbnRET00pJiYoKGQ9bC5kb20uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLndpZHRofHxkLmhlaWdodCkmJihsLm5vZGUuaXNCbG9jayYmbC5wYXJlbnQmJiEvXlQoUnxCT0RZfEhFQUR8Rk9PVCkkLy50ZXN0KGwuZG9tLm5vZGVOYW1lKSYmKCFuJiZkLmxlZnQ+ci5sZWZ0fHxkLnRvcD5yLnRvcD9pPWwucG9zQmVmb3JlOighbiYmZC5yaWdodDxyLmxlZnR8fGQuYm90dG9tPHIudG9wKSYmKGk9bC5wb3NBZnRlciksbj0hMCksIWwuY29udGVudERPTSYmaTwwJiYhbC5ub2RlLmlzVGV4dCkpcmV0dXJuKGwubm9kZS5pc0Jsb2NrP3IudG9wPChkLnRvcCtkLmJvdHRvbSkvMjpyLmxlZnQ8KGQubGVmdCtkLnJpZ2h0KS8yKT9sLnBvc0JlZm9yZTpsLnBvc0FmdGVyO289bC5kb20ucGFyZW50Tm9kZX1yZXR1cm4gaT4tMT9pOmEuZG9jVmlldy5wb3NGcm9tRE9NKGUsdCwtMSl9ZnVuY3Rpb24geW9hKGEsZSx0KXtsZXQgcj1hLmNoaWxkTm9kZXMubGVuZ3RoO2lmKHImJnQudG9wPHQuYm90dG9tKWZvcihsZXQgaT1NYXRoLm1heCgwLE1hdGgubWluKHItMSxNYXRoLmZsb29yKHIqKGUudG9wLXQudG9wKS8odC5ib3R0b20tdC50b3ApKS0yKSksbz1pOzspe2xldCBuPWEuY2hpbGROb2Rlc1tvXTtpZihuLm5vZGVUeXBlPT0xKXtsZXQgbD1uLmdldENsaWVudFJlY3RzKCk7Zm9yKGxldCBkPTA7ZDxsLmxlbmd0aDtkKyspe2xldCBjPWxbZF07aWYoektlKGUsYykpcmV0dXJuIHlvYShuLGUsYyl9fWlmKChvPShvKzEpJXIpPT1pKWJyZWFrfXJldHVybiBhfWZ1bmN0aW9uIHJBYShhLGUpe2xldCB0PWEuZG9tLm93bmVyRG9jdW1lbnQscixpPTAsbz1XRGEodCxlLmxlZnQsZS50b3ApO28mJih7bm9kZTpyLG9mZnNldDppfT1vKTtsZXQgbj0oYS5yb290LmVsZW1lbnRGcm9tUG9pbnQ/YS5yb290OnQpLmVsZW1lbnRGcm9tUG9pbnQoZS5sZWZ0LGUudG9wKSxsO2lmKCFufHwhYS5kb20uY29udGFpbnMobi5ub2RlVHlwZSE9MT9uLnBhcmVudE5vZGU6bikpe2xldCBjPWEuZG9tLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKCF6S2UoZSxjKXx8KG49eW9hKGEuZG9tLGUsYyksIW4pKXJldHVybiBudWxsfWlmKE5pKWZvcihsZXQgYz1uO3ImJmM7Yz14bShjKSljLmRyYWdnYWJsZSYmKHI9dm9pZCAwKTtpZihuPWVBYShuLGUpLHIpe2lmKFJuJiZyLm5vZGVUeXBlPT0xJiYoaT1NYXRoLm1pbihpLHIuY2hpbGROb2Rlcy5sZW5ndGgpLGk8ci5jaGlsZE5vZGVzLmxlbmd0aCkpe2xldCBwPXIuY2hpbGROb2Rlc1tpXSx1O3Aubm9kZU5hbWU9PSJJTUciJiYodT1wLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKS5yaWdodDw9ZS5sZWZ0JiZ1LmJvdHRvbT5lLnRvcCYmaSsrfWxldCBjO1FVJiZpJiZyLm5vZGVUeXBlPT0xJiYoYz1yLmNoaWxkTm9kZXNbaS0xXSkubm9kZVR5cGU9PTEmJmMuY29udGVudEVkaXRhYmxlPT0iZmFsc2UiJiZjLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcD49ZS50b3AmJmktLSxyPT1hLmRvbSYmaT09ci5jaGlsZE5vZGVzLmxlbmd0aC0xJiZyLmxhc3RDaGlsZC5ub2RlVHlwZT09MSYmZS50b3A+ci5sYXN0Q2hpbGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tP2w9YS5zdGF0ZS5kb2MuY29udGVudC5zaXplOihpPT0wfHxyLm5vZGVUeXBlIT0xfHxyLmNoaWxkTm9kZXNbaS0xXS5ub2RlTmFtZSE9IkJSIikmJihsPWFBYShhLHIsaSxlKSl9bD09bnVsbCYmKGw9dEFhKGEsbixlKSk7bGV0IGQ9YS5kb2NWaWV3Lm5lYXJlc3REZXNjKG4sITApO3JldHVybntwb3M6bCxpbnNpZGU6ZD9kLnBvc0F0U3RhcnQtZC5ib3JkZXI6LTF9fWZ1bmN0aW9uIHdvYShhKXtyZXR1cm4gYS50b3A8YS5ib3R0b218fGEubGVmdDxhLnJpZ2h0fWZ1bmN0aW9uIGI0KGEsZSl7bGV0IHQ9YS5nZXRDbGllbnRSZWN0cygpO2lmKHQubGVuZ3RoKXtsZXQgcj10W2U8MD8wOnQubGVuZ3RoLTFdO2lmKHdvYShyKSlyZXR1cm4gcn1yZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbmQuY2FsbCh0LHdvYSl8fGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9ZnVuY3Rpb24gTW9hKGEsZSx0KXtsZXR7bm9kZTpyLG9mZnNldDppLGF0b206b309YS5kb2NWaWV3LmRvbUZyb21Qb3MoZSx0PDA/LTE6MSksbj1RVXx8Um47aWYoci5ub2RlVHlwZT09MylpZihuJiYoc0FhLnRlc3Qoci5ub2RlVmFsdWUpfHwodDwwPyFpOmk9PXIubm9kZVZhbHVlLmxlbmd0aCkpKXtsZXQgZD1iNChnYyhyLGksaSksdCk7aWYoUm4mJmkmJi9ccy8udGVzdChyLm5vZGVWYWx1ZVtpLTFdKSYmaTxyLm5vZGVWYWx1ZS5sZW5ndGgpe2xldCBjPWI0KGdjKHIsaS0xLGktMSksLTEpO2lmKGMudG9wPT1kLnRvcCl7bGV0IHA9YjQoZ2MocixpLGkrMSksLTEpO2lmKHAudG9wIT1kLnRvcClyZXR1cm4gSlUocCxwLmxlZnQ8Yy5sZWZ0KX19cmV0dXJuIGR9ZWxzZXtsZXQgZD1pLGM9aSxwPXQ8MD8xOi0xO3JldHVybiB0PDAmJiFpPyhjKysscD0tMSk6dD49MCYmaT09ci5ub2RlVmFsdWUubGVuZ3RoPyhkLS0scD0xKTp0PDA/ZC0tOmMrKyxKVShiNChnYyhyLGQsYykscCkscDwwKX1pZighYS5zdGF0ZS5kb2MucmVzb2x2ZShlLShvfHwwKSkucGFyZW50LmlubGluZUNvbnRlbnQpe2lmKG89PW51bGwmJmkmJih0PDB8fGk9PU5uKHIpKSl7bGV0IGQ9ci5jaGlsZE5vZGVzW2ktMV07aWYoZC5ub2RlVHlwZT09MSlyZXR1cm4gQ0tlKGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksITEpfWlmKG89PW51bGwmJmk8Tm4ocikpe2xldCBkPXIuY2hpbGROb2Rlc1tpXTtpZihkLm5vZGVUeXBlPT0xKXJldHVybiBDS2UoZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwhMCl9cmV0dXJuIENLZShyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQ+PTApfWlmKG89PW51bGwmJmkmJih0PDB8fGk9PU5uKHIpKSl7bGV0IGQ9ci5jaGlsZE5vZGVzW2ktMV0sYz1kLm5vZGVUeXBlPT0zP2djKGQsTm4oZCktKG4/MDoxKSk6ZC5ub2RlVHlwZT09MSYmKGQubm9kZU5hbWUhPSJCUiJ8fCFkLm5leHRTaWJsaW5nKT9kOm51bGw7aWYoYylyZXR1cm4gSlUoYjQoYywxKSwhMSl9aWYobz09bnVsbCYmaTxObihyKSl7bGV0IGQ9ci5jaGlsZE5vZGVzW2ldO2Zvcig7ZC5wbVZpZXdEZXNjJiZkLnBtVmlld0Rlc2MuaWdub3JlRm9yQ29vcmRzOylkPWQubmV4dFNpYmxpbmc7bGV0IGM9ZD9kLm5vZGVUeXBlPT0zP2djKGQsMCxuPzA6MSk6ZC5ub2RlVHlwZT09MT9kOm51bGw6bnVsbDtpZihjKXJldHVybiBKVShiNChjLC0xKSwhMCl9cmV0dXJuIEpVKGI0KHIubm9kZVR5cGU9PTM/Z2Mocik6ciwtdCksdD49MCl9ZnVuY3Rpb24gSlUoYSxlKXtpZihhLndpZHRoPT0wKXJldHVybiBhO2xldCB0PWU/YS5sZWZ0OmEucmlnaHQ7cmV0dXJue3RvcDphLnRvcCxib3R0b206YS5ib3R0b20sbGVmdDp0LHJpZ2h0OnR9fWZ1bmN0aW9uIENLZShhLGUpe2lmKGEuaGVpZ2h0PT0wKXJldHVybiBhO2xldCB0PWU/YS50b3A6YS5ib3R0b207cmV0dXJue3RvcDp0LGJvdHRvbTp0LGxlZnQ6YS5sZWZ0LHJpZ2h0OmEucmlnaHR9fWZ1bmN0aW9uIGtvYShhLGUsdCl7bGV0IHI9YS5zdGF0ZSxpPWEucm9vdC5hY3RpdmVFbGVtZW50O3IhPWUmJmEudXBkYXRlU3RhdGUoZSksaSE9YS5kb20mJmEuZm9jdXMoKTt0cnl7cmV0dXJuIHQoKX1maW5hbGx5e3IhPWUmJmEudXBkYXRlU3RhdGUociksaSE9YS5kb20mJmkmJmkuZm9jdXMoKX19ZnVuY3Rpb24gaUFhKGEsZSx0KXtsZXQgcj1lLnNlbGVjdGlvbixpPXQ9PSJ1cCI/ci4kZnJvbTpyLiR0bztyZXR1cm4ga29hKGEsZSwoKT0+e2xldHtub2RlOm99PWEuZG9jVmlldy5kb21Gcm9tUG9zKGkucG9zLHQ9PSJ1cCI/LTE6MSk7Zm9yKDs7KXtsZXQgbD1hLmRvY1ZpZXcubmVhcmVzdERlc2MobywhMCk7aWYoIWwpYnJlYWs7aWYobC5ub2RlLmlzQmxvY2spe289bC5jb250ZW50RE9NfHxsLmRvbTticmVha31vPWwuZG9tLnBhcmVudE5vZGV9bGV0IG49TW9hKGEsaS5wb3MsMSk7Zm9yKGxldCBsPW8uZmlyc3RDaGlsZDtsO2w9bC5uZXh0U2libGluZyl7bGV0IGQ7aWYobC5ub2RlVHlwZT09MSlkPWwuZ2V0Q2xpZW50UmVjdHMoKTtlbHNlIGlmKGwubm9kZVR5cGU9PTMpZD1nYyhsLDAsbC5ub2RlVmFsdWUubGVuZ3RoKS5nZXRDbGllbnRSZWN0cygpO2Vsc2UgY29udGludWU7Zm9yKGxldCBjPTA7YzxkLmxlbmd0aDtjKyspe2xldCBwPWRbY107aWYocC5ib3R0b20+cC50b3ArMSYmKHQ9PSJ1cCI/bi50b3AtcC50b3A+KHAuYm90dG9tLW4udG9wKSoyOnAuYm90dG9tLW4uYm90dG9tPihuLmJvdHRvbS1wLnRvcCkqMikpcmV0dXJuITF9fXJldHVybiEwfSl9ZnVuY3Rpb24gbkFhKGEsZSx0KXtsZXR7JGhlYWQ6cn09ZS5zZWxlY3Rpb247aWYoIXIucGFyZW50LmlzVGV4dGJsb2NrKXJldHVybiExO2xldCBpPXIucGFyZW50T2Zmc2V0LG89IWksbj1pPT1yLnBhcmVudC5jb250ZW50LnNpemUsbD1hLmRvbVNlbGVjdGlvbigpO3JldHVybiBsPyFvQWEudGVzdChyLnBhcmVudC50ZXh0Q29udGVudCl8fCFsLm1vZGlmeT90PT0ibGVmdCJ8fHQ9PSJiYWNrd2FyZCI/bzpuOmtvYShhLGUsKCk9PntsZXR7Zm9jdXNOb2RlOmQsZm9jdXNPZmZzZXQ6YyxhbmNob3JOb2RlOnAsYW5jaG9yT2Zmc2V0OnV9PWEuZG9tU2VsZWN0aW9uUmFuZ2UoKSxtPWwuY2FyZXRCaWRpTGV2ZWw7bC5tb2RpZnkoIm1vdmUiLHQsImNoYXJhY3RlciIpO2xldCB2PXIuZGVwdGg/YS5kb2NWaWV3LmRvbUFmdGVyUG9zKHIuYmVmb3JlKCkpOmEuZG9tLHtmb2N1c05vZGU6eCxmb2N1c09mZnNldDpifT1hLmRvbVNlbGVjdGlvblJhbmdlKCksZz14JiYhdi5jb250YWlucyh4Lm5vZGVUeXBlPT0xP3g6eC5wYXJlbnROb2RlKXx8ZD09eCYmYz09Yjt0cnl7bC5jb2xsYXBzZShwLHUpLGQmJihkIT1wfHxjIT11KSYmbC5leHRlbmQmJmwuZXh0ZW5kKGQsYyl9Y2F0Y2h7fXJldHVybiBtIT1udWxsJiYobC5jYXJldEJpZGlMZXZlbD1tKSxnfSk6ci5wb3M9PXIuc3RhcnQoKXx8ci5wb3M9PXIuZW5kKCl9ZnVuY3Rpb24gbEFhKGEsZSx0KXtyZXR1cm4gU29hPT1lJiZ6b2E9PXQ/Q29hOihTb2E9ZSx6b2E9dCxDb2E9dD09InVwInx8dD09ImRvd24iP2lBYShhLGUsdCk6bkFhKGEsZSx0KSl9ZnVuY3Rpb24gVG9hKGEsZSx0LHIsaSl7RG9hKHIsZSxhKTtsZXQgbz1uZXcgdjQodm9pZCAwLGEsZSx0LHIscixyLGksMCk7cmV0dXJuIG8uY29udGVudERPTSYmby51cGRhdGVDaGlsZHJlbihpLDApLG99ZnVuY3Rpb24gTG9hKGEsZSx0KXtsZXQgcj1hLmZpcnN0Q2hpbGQsaT0hMTtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7bGV0IG49ZVtvXSxsPW4uZG9tO2lmKGwucGFyZW50Tm9kZT09YSl7Zm9yKDtsIT1yOylyPUFvYShyKSxpPSEwO3I9ci5uZXh0U2libGluZ31lbHNlIGk9ITAsYS5pbnNlcnRCZWZvcmUobCxyKTtpZihuIGluc3RhbmNlb2YgTW0pe2xldCBkPXI/ci5wcmV2aW91c1NpYmxpbmc6YS5sYXN0Q2hpbGQ7TG9hKG4uY29udGVudERPTSxuLmNoaWxkcmVuLHQpLHI9ZD9kLm5leHRTaWJsaW5nOmEuZmlyc3RDaGlsZH19Zm9yKDtyOylyPUFvYShyKSxpPSEwO2kmJnQudHJhY2tXcml0ZXM9PWEmJih0LnRyYWNrV3JpdGVzPW51bGwpfWZ1bmN0aW9uIExLZShhLGUsdCl7aWYoYS5sZW5ndGg9PTApcmV0dXJuIFlmO2xldCByPXQ/WWZbMF06bmV3IGVXLGk9W3JdO2ZvcihsZXQgbz0wO288YS5sZW5ndGg7bysrKXtsZXQgbj1hW29dLnR5cGUuYXR0cnM7aWYobil7bi5ub2RlTmFtZSYmaS5wdXNoKHI9bmV3IGVXKG4ubm9kZU5hbWUpKTtmb3IobGV0IGwgaW4gbil7bGV0IGQ9bltsXTtkIT1udWxsJiYodCYmaS5sZW5ndGg9PTEmJmkucHVzaChyPW5ldyBlVyhlLmlzSW5saW5lPyJzcGFuIjoiZGl2IikpLGw9PSJjbGFzcyI/ci5jbGFzcz0oci5jbGFzcz9yLmNsYXNzKyIgIjoiIikrZDpsPT0ic3R5bGUiP3Iuc3R5bGU9KHIuc3R5bGU/ci5zdHlsZSsiOyI6IiIpK2Q6bCE9Im5vZGVOYW1lIiYmKHJbbF09ZCkpfX19cmV0dXJuIGl9ZnVuY3Rpb24gJG9hKGEsZSx0LHIpe2lmKHQ9PVlmJiZyPT1ZZilyZXR1cm4gZTtsZXQgaT1lO2ZvcihsZXQgbz0wO288ci5sZW5ndGg7bysrKXtsZXQgbj1yW29dLGw9dFtvXTtpZihvKXtsZXQgZDtsJiZsLm5vZGVOYW1lPT1uLm5vZGVOYW1lJiZpIT1hJiYoZD1pLnBhcmVudE5vZGUpJiZkLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PW4ubm9kZU5hbWV8fChkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobi5ub2RlTmFtZSksZC5wbUlzRGVjbz0hMCxkLmFwcGVuZENoaWxkKGkpLGw9WWZbMF0pLGk9ZH1jQWEoaSxsfHxZZlswXSxuKX1yZXR1cm4gaX1mdW5jdGlvbiBjQWEoYSxlLHQpe2ZvcihsZXQgciBpbiBlKXIhPSJjbGFzcyImJnIhPSJzdHlsZSImJnIhPSJub2RlTmFtZSImJiEociBpbiB0KSYmYS5yZW1vdmVBdHRyaWJ1dGUocik7Zm9yKGxldCByIGluIHQpciE9ImNsYXNzIiYmciE9InN0eWxlIiYmciE9Im5vZGVOYW1lIiYmdFtyXSE9ZVtyXSYmYS5zZXRBdHRyaWJ1dGUocix0W3JdKTtpZihlLmNsYXNzIT10LmNsYXNzKXtsZXQgcj1lLmNsYXNzP2UuY2xhc3Muc3BsaXQoIiAiKS5maWx0ZXIoQm9vbGVhbik6W10saT10LmNsYXNzP3QuY2xhc3Muc3BsaXQoIiAiKS5maWx0ZXIoQm9vbGVhbik6W107Zm9yKGxldCBvPTA7bzxyLmxlbmd0aDtvKyspaS5pbmRleE9mKHJbb10pPT0tMSYmYS5jbGFzc0xpc3QucmVtb3ZlKHJbb10pO2ZvcihsZXQgbz0wO288aS5sZW5ndGg7bysrKXIuaW5kZXhPZihpW29dKT09LTEmJmEuY2xhc3NMaXN0LmFkZChpW29dKTthLmNsYXNzTGlzdC5sZW5ndGg9PTAmJmEucmVtb3ZlQXR0cmlidXRlKCJjbGFzcyIpfWlmKGUuc3R5bGUhPXQuc3R5bGUpe2lmKGUuc3R5bGUpe2xldCByPS9ccyooW1x3XC1ceGExLVx1ZmZmZl0rKVxzKjooPzoiKD86XFwufFteIl0pKiJ8Jyg/OlxcLnxbXiddKSonfFwoLio/XCl8W147XSkqL2csaTtmb3IoO2k9ci5leGVjKGUuc3R5bGUpOylhLnN0eWxlLnJlbW92ZVByb3BlcnR5KGlbMV0pfXQuc3R5bGUmJihhLnN0eWxlLmNzc1RleHQrPXQuc3R5bGUpfX1mdW5jdGlvbiBEb2EoYSxlLHQpe3JldHVybiAkb2EoYSxhLFlmLExLZShlLHQsYS5ub2RlVHlwZSE9MSkpfWZ1bmN0aW9uIEZhZShhLGUpe2lmKGEubGVuZ3RoIT1lLmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHQ9MDt0PGEubGVuZ3RoO3QrKylpZighYVt0XS50eXBlLmVxKGVbdF0udHlwZSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gQW9hKGEpe2xldCBlPWEubmV4dFNpYmxpbmc7cmV0dXJuIGEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKSxlfWZ1bmN0aW9uIGRBYShhLGUpe2xldCB0PWUscj10LmNoaWxkcmVuLmxlbmd0aCxpPWEuY2hpbGRDb3VudCxvPW5ldyBNYXAsbj1bXTtlOmZvcig7aT4wOyl7bGV0IGw7Zm9yKDs7KWlmKHIpe2xldCBjPXQuY2hpbGRyZW5bci0xXTtpZihjIGluc3RhbmNlb2YgTW0pdD1jLHI9Yy5jaGlsZHJlbi5sZW5ndGg7ZWxzZXtsPWMsci0tO2JyZWFrfX1lbHNle2lmKHQ9PWUpYnJlYWsgZTtyPXQucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodCksdD10LnBhcmVudH1sZXQgZD1sLm5vZGU7aWYoZCl7aWYoZCE9YS5jaGlsZChpLTEpKWJyZWFrOy0taSxvLnNldChsLGkpLG4ucHVzaChsKX19cmV0dXJue2luZGV4OmksbWF0Y2hlZDpvLG1hdGNoZXM6bi5yZXZlcnNlKCl9fWZ1bmN0aW9uIHVBYShhLGUpe3JldHVybiBhLnR5cGUuc2lkZS1lLnR5cGUuc2lkZX1mdW5jdGlvbiBwQWEoYSxlLHQscil7bGV0IGk9ZS5sb2NhbHMoYSksbz0wO2lmKGkubGVuZ3RoPT0wKXtmb3IobGV0IGM9MDtjPGEuY2hpbGRDb3VudDtjKyspe2xldCBwPWEuY2hpbGQoYyk7cihwLGksZS5mb3JDaGlsZChvLHApLGMpLG8rPXAubm9kZVNpemV9cmV0dXJufWxldCBuPTAsbD1bXSxkPW51bGw7Zm9yKGxldCBjPTA7Oyl7bGV0IHAsdTtmb3IoO248aS5sZW5ndGgmJmlbbl0udG89PW87KXtsZXQgZz1pW24rK107Zy53aWRnZXQmJihwPyh1fHwodT1bcF0pKS5wdXNoKGcpOnA9Zyl9aWYocClpZih1KXt1LnNvcnQodUFhKTtmb3IobGV0IGc9MDtnPHUubGVuZ3RoO2crKyl0KHVbZ10sYywhIWQpfWVsc2UgdChwLGMsISFkKTtsZXQgbSx2O2lmKGQpdj0tMSxtPWQsZD1udWxsO2Vsc2UgaWYoYzxhLmNoaWxkQ291bnQpdj1jLG09YS5jaGlsZChjKyspO2Vsc2UgYnJlYWs7Zm9yKGxldCBnPTA7ZzxsLmxlbmd0aDtnKyspbFtnXS50bzw9byYmbC5zcGxpY2UoZy0tLDEpO2Zvcig7bjxpLmxlbmd0aCYmaVtuXS5mcm9tPD1vJiZpW25dLnRvPm87KWwucHVzaChpW24rK10pO2xldCB4PW8rbS5ub2RlU2l6ZTtpZihtLmlzVGV4dCl7bGV0IGc9eDtuPGkubGVuZ3RoJiZpW25dLmZyb208ZyYmKGc9aVtuXS5mcm9tKTtmb3IobGV0IHk9MDt5PGwubGVuZ3RoO3krKylsW3ldLnRvPGcmJihnPWxbeV0udG8pO2c8eCYmKGQ9bS5jdXQoZy1vKSxtPW0uY3V0KDAsZy1vKSx4PWcsdj0tMSl9ZWxzZSBmb3IoO248aS5sZW5ndGgmJmlbbl0udG88eDspbisrO2xldCBiPW0uaXNJbmxpbmUmJiFtLmlzTGVhZj9sLmZpbHRlcihnPT4hZy5pbmxpbmUpOmwuc2xpY2UoKTtyKG0sYixlLmZvckNoaWxkKG8sbSksdiksbz14fX1mdW5jdGlvbiBmQWEoYSl7aWYoYS5ub2RlTmFtZT09IlVMInx8YS5ub2RlTmFtZT09Ik9MIil7bGV0IGU9YS5zdHlsZS5jc3NUZXh0O2Euc3R5bGUuY3NzVGV4dD1lKyI7IGxpc3Qtc3R5bGU6IHNxdWFyZSAhaW1wb3J0YW50Iix3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShhKS5saXN0U3R5bGUsYS5zdHlsZS5jc3NUZXh0PWV9fWZ1bmN0aW9uIGhBYShhLGUsdCxyKXtmb3IobGV0IGk9MCxvPTA7aTxhLmNoaWxkQ291bnQmJm88PXI7KXtsZXQgbj1hLmNoaWxkKGkrKyksbD1vO2lmKG8rPW4ubm9kZVNpemUsIW4uaXNUZXh0KWNvbnRpbnVlO2xldCBkPW4udGV4dDtmb3IoO2k8YS5jaGlsZENvdW50Oyl7bGV0IGM9YS5jaGlsZChpKyspO2lmKG8rPWMubm9kZVNpemUsIWMuaXNUZXh0KWJyZWFrO2QrPWMudGV4dH1pZihvPj10KXtpZihvPj1yJiZkLnNsaWNlKHItZS5sZW5ndGgtbCxyLWwpPT1lKXJldHVybiByLWUubGVuZ3RoO2xldCBjPWw8cj9kLmxhc3RJbmRleE9mKGUsci1sLTEpOi0xO2lmKGM+PTAmJmMrZS5sZW5ndGgrbD49dClyZXR1cm4gbCtjO2lmKHQ9PXImJmQubGVuZ3RoPj1yK2UubGVuZ3RoLWwmJmQuc2xpY2Uoci1sLHItbCtlLmxlbmd0aCk9PWUpcmV0dXJuIHJ9fXJldHVybi0xfWZ1bmN0aW9uIERLZShhLGUsdCxyLGkpe2xldCBvPVtdO2ZvcihsZXQgbj0wLGw9MDtuPGEubGVuZ3RoO24rKyl7bGV0IGQ9YVtuXSxjPWwscD1sKz1kLnNpemU7Yz49dHx8cDw9ZT9vLnB1c2goZCk6KGM8ZSYmby5wdXNoKGQuc2xpY2UoMCxlLWMscikpLGkmJihvLnB1c2goaSksaT12b2lkIDApLHA+dCYmby5wdXNoKGQuc2xpY2UodC1jLGQuc2l6ZSxyKSkpfXJldHVybiBvfWZ1bmN0aW9uIEFLZShhLGU9bnVsbCl7bGV0IHQ9YS5kb21TZWxlY3Rpb25SYW5nZSgpLHI9YS5zdGF0ZS5kb2M7aWYoIXQuZm9jdXNOb2RlKXJldHVybiBudWxsO2xldCBpPWEuZG9jVmlldy5uZWFyZXN0RGVzYyh0LmZvY3VzTm9kZSksbz1pJiZpLnNpemU9PTAsbj1hLmRvY1ZpZXcucG9zRnJvbURPTSh0LmZvY3VzTm9kZSx0LmZvY3VzT2Zmc2V0LDEpO2lmKG48MClyZXR1cm4gbnVsbDtsZXQgbD1yLnJlc29sdmUobiksZCxjO2lmKElhZSh0KSl7Zm9yKGQ9bjtpJiYhaS5ub2RlOylpPWkucGFyZW50O2xldCB1PWkubm9kZTtpZihpJiZ1LmlzQXRvbSYma3QuaXNTZWxlY3RhYmxlKHUpJiZpLnBhcmVudCYmISh1LmlzSW5saW5lJiZqRGEodC5mb2N1c05vZGUsdC5mb2N1c09mZnNldCxpLmRvbSkpKXtsZXQgbT1pLnBvc0JlZm9yZTtjPW5ldyBrdChuPT1tP2w6ci5yZXNvbHZlKG0pKX19ZWxzZXtpZih0IGluc3RhbmNlb2YgYS5kb20ub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5TZWxlY3Rpb24mJnQucmFuZ2VDb3VudD4xKXtsZXQgdT1uLG09bjtmb3IobGV0IHY9MDt2PHQucmFuZ2VDb3VudDt2Kyspe2xldCB4PXQuZ2V0UmFuZ2VBdCh2KTt1PU1hdGgubWluKHUsYS5kb2NWaWV3LnBvc0Zyb21ET00oeC5zdGFydENvbnRhaW5lcix4LnN0YXJ0T2Zmc2V0LDEpKSxtPU1hdGgubWF4KG0sYS5kb2NWaWV3LnBvc0Zyb21ET00oeC5lbmRDb250YWluZXIseC5lbmRPZmZzZXQsLTEpKX1pZih1PDApcmV0dXJuIG51bGw7W2Qsbl09bT09YS5zdGF0ZS5zZWxlY3Rpb24uYW5jaG9yP1ttLHVdOlt1LG1dLGw9ci5yZXNvbHZlKG4pfWVsc2UgZD1hLmRvY1ZpZXcucG9zRnJvbURPTSh0LmFuY2hvck5vZGUsdC5hbmNob3JPZmZzZXQsMSk7aWYoZDwwKXJldHVybiBudWxsfWxldCBwPXIucmVzb2x2ZShkKTtpZighYyl7bGV0IHU9ZT09InBvaW50ZXIifHxhLnN0YXRlLnNlbGVjdGlvbi5oZWFkPGwucG9zJiYhbz8xOi0xO2M9RUtlKGEscCxsLHUpfXJldHVybiBjfWZ1bmN0aW9uIFBvYShhKXtyZXR1cm4gYS5lZGl0YWJsZT9hLmhhc0ZvY3VzKCk6Qm9hKGEpJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmNvbnRhaW5zKGEuZG9tKX1mdW5jdGlvbiB4YyhhLGU9ITEpe2xldCB0PWEuc3RhdGUuc2VsZWN0aW9uO2lmKFJvYShhLHQpLCEhUG9hKGEpKXtpZighZSYmYS5pbnB1dC5tb3VzZURvd24mJmEuaW5wdXQubW91c2VEb3duLmFsbG93RGVmYXVsdCYmb2kpe2xldCByPWEuZG9tU2VsZWN0aW9uUmFuZ2UoKSxpPWEuZG9tT2JzZXJ2ZXIuY3VycmVudFNlbGVjdGlvbjtpZihyLmFuY2hvck5vZGUmJmkuYW5jaG9yTm9kZSYmamYoci5hbmNob3JOb2RlLHIuYW5jaG9yT2Zmc2V0LGkuYW5jaG9yTm9kZSxpLmFuY2hvck9mZnNldCkpe2EuaW5wdXQubW91c2VEb3duLmRlbGF5ZWRTZWxlY3Rpb25TeW5jPSEwLGEuZG9tT2JzZXJ2ZXIuc2V0Q3VyU2VsZWN0aW9uKCk7cmV0dXJufX1pZihhLmRvbU9ic2VydmVyLmRpc2Nvbm5lY3RTZWxlY3Rpb24oKSxhLmN1cnNvcldyYXBwZXIpZ0FhKGEpO2Vsc2V7bGV0e2FuY2hvcjpyLGhlYWQ6aX09dCxvLG47RW9hJiYhKHQgaW5zdGFuY2VvZiBOdCkmJih0LiRmcm9tLnBhcmVudC5pbmxpbmVDb250ZW50fHwobz1Jb2EoYSx0LmZyb20pKSwhdC5lbXB0eSYmIXQuJGZyb20ucGFyZW50LmlubGluZUNvbnRlbnQmJihuPUlvYShhLHQudG8pKSksYS5kb2NWaWV3LnNldFNlbGVjdGlvbihyLGksYSxlKSxFb2EmJihvJiZOb2EobyksbiYmTm9hKG4pKSx0LnZpc2libGU/YS5kb20uY2xhc3NMaXN0LnJlbW92ZSgiUHJvc2VNaXJyb3ItaGlkZXNlbGVjdGlvbiIpOihhLmRvbS5jbGFzc0xpc3QuYWRkKCJQcm9zZU1pcnJvci1oaWRlc2VsZWN0aW9uIiksIm9uc2VsZWN0aW9uY2hhbmdlImluIGRvY3VtZW50JiZtQWEoYSkpfWEuZG9tT2JzZXJ2ZXIuc2V0Q3VyU2VsZWN0aW9uKCksYS5kb21PYnNlcnZlci5jb25uZWN0U2VsZWN0aW9uKCl9fWZ1bmN0aW9uIElvYShhLGUpe2xldHtub2RlOnQsb2Zmc2V0OnJ9PWEuZG9jVmlldy5kb21Gcm9tUG9zKGUsMCksaT1yPHQuY2hpbGROb2Rlcy5sZW5ndGg/dC5jaGlsZE5vZGVzW3JdOm51bGwsbz1yP3QuY2hpbGROb2Rlc1tyLTFdOm51bGw7aWYoTmkmJmkmJmkuY29udGVudEVkaXRhYmxlPT0iZmFsc2UiKXJldHVybiBQS2UoaSk7aWYoKCFpfHxpLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIikmJighb3x8by5jb250ZW50RWRpdGFibGU9PSJmYWxzZSIpKXtpZihpKXJldHVybiBQS2UoaSk7aWYobylyZXR1cm4gUEtlKG8pfX1mdW5jdGlvbiBQS2UoYSl7cmV0dXJuIGEuY29udGVudEVkaXRhYmxlPSJ0cnVlIixOaSYmYS5kcmFnZ2FibGUmJihhLmRyYWdnYWJsZT0hMSxhLndhc0RyYWdnYWJsZT0hMCksYX1mdW5jdGlvbiBOb2EoYSl7YS5jb250ZW50RWRpdGFibGU9ImZhbHNlIixhLndhc0RyYWdnYWJsZSYmKGEuZHJhZ2dhYmxlPSEwLGEud2FzRHJhZ2dhYmxlPW51bGwpfWZ1bmN0aW9uIG1BYShhKXtsZXQgZT1hLmRvbS5vd25lckRvY3VtZW50O2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixhLmlucHV0LmhpZGVTZWxlY3Rpb25HdWFyZCk7bGV0IHQ9YS5kb21TZWxlY3Rpb25SYW5nZSgpLHI9dC5hbmNob3JOb2RlLGk9dC5hbmNob3JPZmZzZXQ7ZS5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLGEuaW5wdXQuaGlkZVNlbGVjdGlvbkd1YXJkPSgpPT57KHQuYW5jaG9yTm9kZSE9cnx8dC5hbmNob3JPZmZzZXQhPWkpJiYoZS5yZW1vdmVFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLGEuaW5wdXQuaGlkZVNlbGVjdGlvbkd1YXJkKSxzZXRUaW1lb3V0KCgpPT57KCFQb2EoYSl8fGEuc3RhdGUuc2VsZWN0aW9uLnZpc2libGUpJiZhLmRvbS5jbGFzc0xpc3QucmVtb3ZlKCJQcm9zZU1pcnJvci1oaWRlc2VsZWN0aW9uIil9LDIwKSl9KX1mdW5jdGlvbiBnQWEoYSl7bGV0IGU9YS5kb21TZWxlY3Rpb24oKTtpZighZSlyZXR1cm47bGV0IHQ9YS5jdXJzb3JXcmFwcGVyLmRvbSxyPXQubm9kZU5hbWU9PSJJTUciO3I/ZS5jb2xsYXBzZSh0LnBhcmVudE5vZGUsaWkodCkrMSk6ZS5jb2xsYXBzZSh0LDApLCFyJiYhYS5zdGF0ZS5zZWxlY3Rpb24udmlzaWJsZSYmUm8mJmc0PD0xMSYmKHQuZGlzYWJsZWQ9ITAsdC5kaXNhYmxlZD0hMSl9ZnVuY3Rpb24gUm9hKGEsZSl7aWYoZSBpbnN0YW5jZW9mIGt0KXtsZXQgdD1hLmRvY1ZpZXcuZGVzY0F0KGUuZnJvbSk7dCE9YS5sYXN0U2VsZWN0ZWRWaWV3RGVzYyYmKE9vYShhKSx0JiZ0LnNlbGVjdE5vZGUoKSxhLmxhc3RTZWxlY3RlZFZpZXdEZXNjPXQpfWVsc2UgT29hKGEpfWZ1bmN0aW9uIE9vYShhKXthLmxhc3RTZWxlY3RlZFZpZXdEZXNjJiYoYS5sYXN0U2VsZWN0ZWRWaWV3RGVzYy5wYXJlbnQmJmEubGFzdFNlbGVjdGVkVmlld0Rlc2MuZGVzZWxlY3ROb2RlKCksYS5sYXN0U2VsZWN0ZWRWaWV3RGVzYz12b2lkIDApfWZ1bmN0aW9uIEVLZShhLGUsdCxyKXtyZXR1cm4gYS5zb21lUHJvcCgiY3JlYXRlU2VsZWN0aW9uQmV0d2VlbiIsaT0+aShhLGUsdCkpfHxOdC5iZXR3ZWVuKGUsdCxyKX1mdW5jdGlvbiBGb2EoYSl7cmV0dXJuIGEuZWRpdGFibGUmJiFhLmhhc0ZvY3VzKCk/ITE6Qm9hKGEpfWZ1bmN0aW9uIEJvYShhKXtsZXQgZT1hLmRvbVNlbGVjdGlvblJhbmdlKCk7aWYoIWUuYW5jaG9yTm9kZSlyZXR1cm4hMTt0cnl7cmV0dXJuIGEuZG9tLmNvbnRhaW5zKGUuYW5jaG9yTm9kZS5ub2RlVHlwZT09Mz9lLmFuY2hvck5vZGUucGFyZW50Tm9kZTplLmFuY2hvck5vZGUpJiYoYS5lZGl0YWJsZXx8YS5kb20uY29udGFpbnMoZS5mb2N1c05vZGUubm9kZVR5cGU9PTM/ZS5mb2N1c05vZGUucGFyZW50Tm9kZTplLmZvY3VzTm9kZSkpfWNhdGNoe3JldHVybiExfX1mdW5jdGlvbiBiQWEoYSl7bGV0IGU9YS5kb2NWaWV3LmRvbUZyb21Qb3MoYS5zdGF0ZS5zZWxlY3Rpb24uYW5jaG9yLDApLHQ9YS5kb21TZWxlY3Rpb25SYW5nZSgpO3JldHVybiBqZihlLm5vZGUsZS5vZmZzZXQsdC5hbmNob3JOb2RlLHQuYW5jaG9yT2Zmc2V0KX1mdW5jdGlvbiBJS2UoYSxlKXtsZXR7JGFuY2hvcjp0LCRoZWFkOnJ9PWEuc2VsZWN0aW9uLGk9ZT4wP3QubWF4KHIpOnQubWluKHIpLG89aS5wYXJlbnQuaW5saW5lQ29udGVudD9pLmRlcHRoP2EuZG9jLnJlc29sdmUoZT4wP2kuYWZ0ZXIoKTppLmJlZm9yZSgpKTpudWxsOmk7cmV0dXJuIG8mJkV0LmZpbmRGcm9tKG8sZSl9ZnVuY3Rpb24geDQoYSxlKXtyZXR1cm4gYS5kaXNwYXRjaChhLnN0YXRlLnRyLnNldFNlbGVjdGlvbihlKS5zY3JvbGxJbnRvVmlldygpKSwhMH1mdW5jdGlvbiBIb2EoYSxlLHQpe2xldCByPWEuc3RhdGUuc2VsZWN0aW9uO2lmKHIgaW5zdGFuY2VvZiBOdClpZih0LmluZGV4T2YoInMiKT4tMSl7bGV0eyRoZWFkOml9PXIsbz1pLnRleHRPZmZzZXQ/bnVsbDplPDA/aS5ub2RlQmVmb3JlOmkubm9kZUFmdGVyO2lmKCFvfHxvLmlzVGV4dHx8IW8uaXNMZWFmKXJldHVybiExO2xldCBuPWEuc3RhdGUuZG9jLnJlc29sdmUoaS5wb3Mrby5ub2RlU2l6ZSooZTwwPy0xOjEpKTtyZXR1cm4geDQoYSxuZXcgTnQoci4kYW5jaG9yLG4pKX1lbHNlIGlmKHIuZW1wdHkpe2lmKGEuZW5kT2ZUZXh0YmxvY2soZT4wPyJmb3J3YXJkIjoiYmFja3dhcmQiKSl7bGV0IGk9SUtlKGEuc3RhdGUsZSk7cmV0dXJuIGkmJmkgaW5zdGFuY2VvZiBrdD94NChhLGkpOiExfWVsc2UgaWYoIShPbiYmdC5pbmRleE9mKCJtIik+LTEpKXtsZXQgaT1yLiRoZWFkLG89aS50ZXh0T2Zmc2V0P251bGw6ZTwwP2kubm9kZUJlZm9yZTppLm5vZGVBZnRlcixuO2lmKCFvfHxvLmlzVGV4dClyZXR1cm4hMTtsZXQgbD1lPDA/aS5wb3Mtby5ub2RlU2l6ZTppLnBvcztyZXR1cm4gby5pc0F0b218fChuPWEuZG9jVmlldy5kZXNjQXQobCkpJiYhbi5jb250ZW50RE9NP2t0LmlzU2VsZWN0YWJsZShvKT94NChhLG5ldyBrdChlPDA/YS5zdGF0ZS5kb2MucmVzb2x2ZShpLnBvcy1vLm5vZGVTaXplKTppKSk6UVU/eDQoYSxuZXcgTnQoYS5zdGF0ZS5kb2MucmVzb2x2ZShlPDA/bDpsK28ubm9kZVNpemUpKSk6ITE6ITF9fWVsc2UgcmV0dXJuITE7ZWxzZXtpZihyIGluc3RhbmNlb2Yga3QmJnIubm9kZS5pc0lubGluZSlyZXR1cm4geDQoYSxuZXcgTnQoZT4wP3IuJHRvOnIuJGZyb20pKTt7bGV0IGk9SUtlKGEuc3RhdGUsZSk7cmV0dXJuIGk/eDQoYSxpKTohMX19fWZ1bmN0aW9uIEJhZShhKXtyZXR1cm4gYS5ub2RlVHlwZT09Mz9hLm5vZGVWYWx1ZS5sZW5ndGg6YS5jaGlsZE5vZGVzLmxlbmd0aH1mdW5jdGlvbiB0VyhhLGUpe2xldCB0PWEucG1WaWV3RGVzYztyZXR1cm4gdCYmdC5zaXplPT0wJiYoZTwwfHxhLm5leHRTaWJsaW5nfHxhLm5vZGVOYW1lIT0iQlIiKX1mdW5jdGlvbiBrbShhLGUpe3JldHVybiBlPDA/dkFhKGEpOnhBYShhKX1mdW5jdGlvbiB2QWEoYSl7bGV0IGU9YS5kb21TZWxlY3Rpb25SYW5nZSgpLHQ9ZS5mb2N1c05vZGUscj1lLmZvY3VzT2Zmc2V0O2lmKCF0KXJldHVybjtsZXQgaSxvLG49ITE7Zm9yKFJuJiZ0Lm5vZGVUeXBlPT0xJiZyPEJhZSh0KSYmdFcodC5jaGlsZE5vZGVzW3JdLC0xKSYmKG49ITApOzspaWYocj4wKXtpZih0Lm5vZGVUeXBlIT0xKWJyZWFrO3tsZXQgbD10LmNoaWxkTm9kZXNbci0xXTtpZih0VyhsLC0xKSlpPXQsbz0tLXI7ZWxzZSBpZihsLm5vZGVUeXBlPT0zKXQ9bCxyPXQubm9kZVZhbHVlLmxlbmd0aDtlbHNlIGJyZWFrfX1lbHNle2lmKHFvYSh0KSlicmVhazt7bGV0IGw9dC5wcmV2aW91c1NpYmxpbmc7Zm9yKDtsJiZ0VyhsLC0xKTspaT10LnBhcmVudE5vZGUsbz1paShsKSxsPWwucHJldmlvdXNTaWJsaW5nO2lmKGwpdD1sLHI9QmFlKHQpO2Vsc2V7aWYodD10LnBhcmVudE5vZGUsdD09YS5kb20pYnJlYWs7cj0wfX19bj9OS2UoYSx0LHIpOmkmJk5LZShhLGksbyl9ZnVuY3Rpb24geEFhKGEpe2xldCBlPWEuZG9tU2VsZWN0aW9uUmFuZ2UoKSx0PWUuZm9jdXNOb2RlLHI9ZS5mb2N1c09mZnNldDtpZighdClyZXR1cm47bGV0IGk9QmFlKHQpLG8sbjtmb3IoOzspaWYocjxpKXtpZih0Lm5vZGVUeXBlIT0xKWJyZWFrO2xldCBsPXQuY2hpbGROb2Rlc1tyXTtpZih0VyhsLDEpKW89dCxuPSsrcjtlbHNlIGJyZWFrfWVsc2V7aWYocW9hKHQpKWJyZWFrO3tsZXQgbD10Lm5leHRTaWJsaW5nO2Zvcig7bCYmdFcobCwxKTspbz1sLnBhcmVudE5vZGUsbj1paShsKSsxLGw9bC5uZXh0U2libGluZztpZihsKXQ9bCxyPTAsaT1CYWUodCk7ZWxzZXtpZih0PXQucGFyZW50Tm9kZSx0PT1hLmRvbSlicmVhaztyPWk9MH19fW8mJk5LZShhLG8sbil9ZnVuY3Rpb24gcW9hKGEpe2xldCBlPWEucG1WaWV3RGVzYztyZXR1cm4gZSYmZS5ub2RlJiZlLm5vZGUuaXNCbG9ja31mdW5jdGlvbiB5QWEoYSxlKXtmb3IoO2EmJmU9PWEuY2hpbGROb2Rlcy5sZW5ndGgmJiFYVShhKTspZT1paShhKSsxLGE9YS5wYXJlbnROb2RlO2Zvcig7YSYmZTxhLmNoaWxkTm9kZXMubGVuZ3RoOyl7bGV0IHQ9YS5jaGlsZE5vZGVzW2VdO2lmKHQubm9kZVR5cGU9PTMpcmV0dXJuIHQ7aWYodC5ub2RlVHlwZT09MSYmdC5jb250ZW50RWRpdGFibGU9PSJmYWxzZSIpYnJlYWs7YT10LGU9MH19ZnVuY3Rpb24gd0FhKGEsZSl7Zm9yKDthJiYhZSYmIVhVKGEpOyllPWlpKGEpLGE9YS5wYXJlbnROb2RlO2Zvcig7YSYmZTspe2xldCB0PWEuY2hpbGROb2Rlc1tlLTFdO2lmKHQubm9kZVR5cGU9PTMpcmV0dXJuIHQ7aWYodC5ub2RlVHlwZT09MSYmdC5jb250ZW50RWRpdGFibGU9PSJmYWxzZSIpYnJlYWs7YT10LGU9YS5jaGlsZE5vZGVzLmxlbmd0aH19ZnVuY3Rpb24gTktlKGEsZSx0KXtpZihlLm5vZGVUeXBlIT0zKXtsZXQgbyxuOyhuPXlBYShlLHQpKT8oZT1uLHQ9MCk6KG89d0FhKGUsdCkpJiYoZT1vLHQ9by5ub2RlVmFsdWUubGVuZ3RoKX1sZXQgcj1hLmRvbVNlbGVjdGlvbigpO2lmKCFyKXJldHVybjtpZihJYWUocikpe2xldCBvPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7by5zZXRFbmQoZSx0KSxvLnNldFN0YXJ0KGUsdCksci5yZW1vdmVBbGxSYW5nZXMoKSxyLmFkZFJhbmdlKG8pfWVsc2Ugci5leHRlbmQmJnIuZXh0ZW5kKGUsdCk7YS5kb21PYnNlcnZlci5zZXRDdXJTZWxlY3Rpb24oKTtsZXR7c3RhdGU6aX09YTtzZXRUaW1lb3V0KCgpPT57YS5zdGF0ZT09aSYmeGMoYSl9LDUwKX1mdW5jdGlvbiBWb2EoYSxlKXtsZXQgdD1hLnN0YXRlLmRvYy5yZXNvbHZlKGUpO2lmKCEob2l8fG1vYSkmJnQucGFyZW50LmlubGluZUNvbnRlbnQpe2xldCBpPWEuY29vcmRzQXRQb3MoZSk7aWYoZT50LnN0YXJ0KCkpe2xldCBvPWEuY29vcmRzQXRQb3MoZS0xKSxuPShvLnRvcCtvLmJvdHRvbSkvMjtpZihuPmkudG9wJiZuPGkuYm90dG9tJiZNYXRoLmFicyhvLmxlZnQtaS5sZWZ0KT4xKXJldHVybiBvLmxlZnQ8aS5sZWZ0PyJsdHIiOiJydGwifWlmKGU8dC5lbmQoKSl7bGV0IG89YS5jb29yZHNBdFBvcyhlKzEpLG49KG8udG9wK28uYm90dG9tKS8yO2lmKG4+aS50b3AmJm48aS5ib3R0b20mJk1hdGguYWJzKG8ubGVmdC1pLmxlZnQpPjEpcmV0dXJuIG8ubGVmdD5pLmxlZnQ/Imx0ciI6InJ0bCJ9fXJldHVybiBnZXRDb21wdXRlZFN0eWxlKGEuZG9tKS5kaXJlY3Rpb249PSJydGwiPyJydGwiOiJsdHIifWZ1bmN0aW9uIGpvYShhLGUsdCl7bGV0IHI9YS5zdGF0ZS5zZWxlY3Rpb247aWYociBpbnN0YW5jZW9mIE50JiYhci5lbXB0eXx8dC5pbmRleE9mKCJzIik+LTF8fE9uJiZ0LmluZGV4T2YoIm0iKT4tMSlyZXR1cm4hMTtsZXR7JGZyb206aSwkdG86b309cjtpZighaS5wYXJlbnQuaW5saW5lQ29udGVudHx8YS5lbmRPZlRleHRibG9jayhlPDA/InVwIjoiZG93biIpKXtsZXQgbj1JS2UoYS5zdGF0ZSxlKTtpZihuJiZuIGluc3RhbmNlb2Yga3QpcmV0dXJuIHg0KGEsbil9aWYoIWkucGFyZW50LmlubGluZUNvbnRlbnQpe2xldCBuPWU8MD9pOm8sbD1yIGluc3RhbmNlb2YgSWk/RXQubmVhcihuLGUpOkV0LmZpbmRGcm9tKG4sZSk7cmV0dXJuIGw/eDQoYSxsKTohMX1yZXR1cm4hMX1mdW5jdGlvbiBVb2EoYSxlKXtpZighKGEuc3RhdGUuc2VsZWN0aW9uIGluc3RhbmNlb2YgTnQpKXJldHVybiEwO2xldHskaGVhZDp0LCRhbmNob3I6cixlbXB0eTppfT1hLnN0YXRlLnNlbGVjdGlvbjtpZighdC5zYW1lUGFyZW50KHIpKXJldHVybiEwO2lmKCFpKXJldHVybiExO2lmKGEuZW5kT2ZUZXh0YmxvY2soZT4wPyJmb3J3YXJkIjoiYmFja3dhcmQiKSlyZXR1cm4hMDtsZXQgbz0hdC50ZXh0T2Zmc2V0JiYoZTwwP3Qubm9kZUJlZm9yZTp0Lm5vZGVBZnRlcik7aWYobyYmIW8uaXNUZXh0KXtsZXQgbj1hLnN0YXRlLnRyO3JldHVybiBlPDA/bi5kZWxldGUodC5wb3Mtby5ub2RlU2l6ZSx0LnBvcyk6bi5kZWxldGUodC5wb3MsdC5wb3Mrby5ub2RlU2l6ZSksYS5kaXNwYXRjaChuKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBXb2EoYSxlLHQpe2EuZG9tT2JzZXJ2ZXIuc3RvcCgpLGUuY29udGVudEVkaXRhYmxlPXQsYS5kb21PYnNlcnZlci5zdGFydCgpfWZ1bmN0aW9uIE1BYShhKXtpZighTml8fGEuc3RhdGUuc2VsZWN0aW9uLiRoZWFkLnBhcmVudE9mZnNldD4wKXJldHVybiExO2xldHtmb2N1c05vZGU6ZSxmb2N1c09mZnNldDp0fT1hLmRvbVNlbGVjdGlvblJhbmdlKCk7aWYoZSYmZS5ub2RlVHlwZT09MSYmdD09MCYmZS5maXJzdENoaWxkJiZlLmZpcnN0Q2hpbGQuY29udGVudEVkaXRhYmxlPT0iZmFsc2UiKXtsZXQgcj1lLmZpcnN0Q2hpbGQ7V29hKGEsciwidHJ1ZSIpLHNldFRpbWVvdXQoKCk9PldvYShhLHIsImZhbHNlIiksMjApfXJldHVybiExfWZ1bmN0aW9uIGtBYShhKXtsZXQgZT0iIjtyZXR1cm4gYS5jdHJsS2V5JiYoZSs9ImMiKSxhLm1ldGFLZXkmJihlKz0ibSIpLGEuYWx0S2V5JiYoZSs9ImEiKSxhLnNoaWZ0S2V5JiYoZSs9InMiKSxlfWZ1bmN0aW9uIFNBYShhLGUpe2xldCB0PWUua2V5Q29kZSxyPWtBYShlKTtpZih0PT04fHxPbiYmdD09NzImJnI9PSJjIilyZXR1cm4gVW9hKGEsLTEpfHxrbShhLC0xKTtpZih0PT00NiYmIWUuc2hpZnRLZXl8fE9uJiZ0PT02OCYmcj09ImMiKXJldHVybiBVb2EoYSwxKXx8a20oYSwxKTtpZih0PT0xM3x8dD09MjcpcmV0dXJuITA7aWYodD09Mzd8fE9uJiZ0PT02NiYmcj09ImMiKXtsZXQgaT10PT0zNz9Wb2EoYSxhLnN0YXRlLnNlbGVjdGlvbi5mcm9tKT09Imx0ciI/LTE6MTotMTtyZXR1cm4gSG9hKGEsaSxyKXx8a20oYSxpKX1lbHNlIGlmKHQ9PTM5fHxPbiYmdD09NzAmJnI9PSJjIil7bGV0IGk9dD09Mzk/Vm9hKGEsYS5zdGF0ZS5zZWxlY3Rpb24uZnJvbSk9PSJsdHIiPzE6LTE6MTtyZXR1cm4gSG9hKGEsaSxyKXx8a20oYSxpKX1lbHNle2lmKHQ9PTM4fHxPbiYmdD09ODAmJnI9PSJjIilyZXR1cm4gam9hKGEsLTEscil8fGttKGEsLTEpO2lmKHQ9PTQwfHxPbiYmdD09NzgmJnI9PSJjIilyZXR1cm4gTUFhKGEpfHxqb2EoYSwxLHIpfHxrbShhLDEpO2lmKHI9PShPbj8ibSI6ImMiKSYmKHQ9PTY2fHx0PT03M3x8dD09ODl8fHQ9PTkwKSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBSS2UoYSxlKXthLnNvbWVQcm9wKCJ0cmFuc2Zvcm1Db3BpZWQiLHY9PntlPXYoZSxhKX0pO2xldCB0PVtdLHtjb250ZW50OnIsb3BlblN0YXJ0Omksb3BlbkVuZDpvfT1lO2Zvcig7aT4xJiZvPjEmJnIuY2hpbGRDb3VudD09MSYmci5maXJzdENoaWxkLmNoaWxkQ291bnQ9PTE7KXtpLS0sby0tO2xldCB2PXIuZmlyc3RDaGlsZDt0LnB1c2godi50eXBlLm5hbWUsdi5hdHRycyE9di50eXBlLmRlZmF1bHRBdHRycz92LmF0dHJzOm51bGwpLHI9di5jb250ZW50fWxldCBuPWEuc29tZVByb3AoImNsaXBib2FyZFNlcmlhbGl6ZXIiKXx8VzIuZnJvbVNjaGVtYShhLnN0YXRlLnNjaGVtYSksbD1Kb2EoKSxkPWwuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZC5hcHBlbmRDaGlsZChuLnNlcmlhbGl6ZUZyYWdtZW50KHIse2RvY3VtZW50Omx9KSk7bGV0IGM9ZC5maXJzdENoaWxkLHAsdT0wO2Zvcig7YyYmYy5ub2RlVHlwZT09MSYmKHA9WG9hW2Mubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pOyl7Zm9yKGxldCB2PXAubGVuZ3RoLTE7dj49MDt2LS0pe2xldCB4PWwuY3JlYXRlRWxlbWVudChwW3ZdKTtmb3IoO2QuZmlyc3RDaGlsZDspeC5hcHBlbmRDaGlsZChkLmZpcnN0Q2hpbGQpO2QuYXBwZW5kQ2hpbGQoeCksdSsrfWM9ZC5maXJzdENoaWxkfWMmJmMubm9kZVR5cGU9PTEmJmMuc2V0QXR0cmlidXRlKCJkYXRhLXBtLXNsaWNlIixgJHtpfSAke299JHt1P2AgLSR7dX1gOiIifSAke0pTT04uc3RyaW5naWZ5KHQpfWApO2xldCBtPWEuc29tZVByb3AoImNsaXBib2FyZFRleHRTZXJpYWxpemVyIix2PT52KGUsYSkpfHxlLmNvbnRlbnQudGV4dEJldHdlZW4oMCxlLmNvbnRlbnQuc2l6ZSxgCgpgKTtyZXR1cm57ZG9tOmQsdGV4dDptLHNsaWNlOmV9fWZ1bmN0aW9uIE9LZShhLGUsdCxyLGkpe2xldCBvPWkucGFyZW50LnR5cGUuc3BlYy5jb2RlLG4sbDtpZighdCYmIWUpcmV0dXJuIG51bGw7bGV0IGQ9ISFlJiYocnx8b3x8IXQpO2lmKGQpe2lmKGEuc29tZVByb3AoInRyYW5zZm9ybVBhc3RlZFRleHQiLG09PntlPW0oZSxvfHxyLGEpfSksbylyZXR1cm4gbD1uZXcgc3QoamUuZnJvbShhLnN0YXRlLnNjaGVtYS50ZXh0KGUucmVwbGFjZSgvXHJcbj8vZyxgCmApKSksMCwwKSxhLnNvbWVQcm9wKCJ0cmFuc2Zvcm1QYXN0ZWQiLG09PntsPW0obCxhLCEwKX0pLGw7bGV0IHU9YS5zb21lUHJvcCgiY2xpcGJvYXJkVGV4dFBhcnNlciIsbT0+bShlLGkscixhKSk7aWYodSlsPXU7ZWxzZXtsZXQgbT1pLm1hcmtzKCkse3NjaGVtYTp2fT1hLnN0YXRlLHg9VzIuZnJvbVNjaGVtYSh2KTtuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuc3BsaXQoLyg/OlxyXG4/fFxuKSsvKS5mb3JFYWNoKGI9PntsZXQgZz1uLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKSk7YiYmZy5hcHBlbmRDaGlsZCh4LnNlcmlhbGl6ZU5vZGUodi50ZXh0KGIsbSkpKX0pfX1lbHNlIGEuc29tZVByb3AoInRyYW5zZm9ybVBhc3RlZEhUTUwiLHU9Pnt0PXUodCxhKX0pLG49VEFhKHQpLFFVJiZMQWEobik7bGV0IGM9biYmbi5xdWVyeVNlbGVjdG9yKCJbZGF0YS1wbS1zbGljZV0iKSxwPWMmJi9eKFxkKykgKFxkKykoPzogLShcZCspKT8gKC4qKS8uZXhlYyhjLmdldEF0dHJpYnV0ZSgiZGF0YS1wbS1zbGljZSIpfHwiIik7aWYocCYmcFszXSlmb3IobGV0IHU9K3BbM107dT4wO3UtLSl7bGV0IG09bi5maXJzdENoaWxkO2Zvcig7bSYmbS5ub2RlVHlwZSE9MTspbT1tLm5leHRTaWJsaW5nO2lmKCFtKWJyZWFrO249bX1pZihsfHwobD0oYS5zb21lUHJvcCgiY2xpcGJvYXJkUGFyc2VyIil8fGEuc29tZVByb3AoImRvbVBhcnNlciIpfHxOMS5mcm9tU2NoZW1hKGEuc3RhdGUuc2NoZW1hKSkucGFyc2VTbGljZShuLHtwcmVzZXJ2ZVdoaXRlc3BhY2U6ISEoZHx8cCksY29udGV4dDppLHJ1bGVGcm9tTm9kZShtKXtyZXR1cm4gbS5ub2RlTmFtZT09IkJSIiYmIW0ubmV4dFNpYmxpbmcmJm0ucGFyZW50Tm9kZSYmIXpBYS50ZXN0KG0ucGFyZW50Tm9kZS5ub2RlTmFtZSk/e2lnbm9yZTohMH06bnVsbH19KSkscClsPSRBYShab2EobCwrcFsxXSwrcFsyXSkscFs0XSk7ZWxzZSBpZihsPXN0Lm1heE9wZW4oQ0FhKGwuY29udGVudCxpKSwhMCksbC5vcGVuU3RhcnR8fGwub3BlbkVuZCl7bGV0IHU9MCxtPTA7Zm9yKGxldCB2PWwuY29udGVudC5maXJzdENoaWxkO3U8bC5vcGVuU3RhcnQmJiF2LnR5cGUuc3BlYy5pc29sYXRpbmc7dSsrLHY9di5maXJzdENoaWxkKTtmb3IobGV0IHY9bC5jb250ZW50Lmxhc3RDaGlsZDttPGwub3BlbkVuZCYmIXYudHlwZS5zcGVjLmlzb2xhdGluZzttKyssdj12Lmxhc3RDaGlsZCk7bD1ab2EobCx1LG0pfXJldHVybiBhLnNvbWVQcm9wKCJ0cmFuc2Zvcm1QYXN0ZWQiLHU9PntsPXUobCxhLGQpfSksbH1mdW5jdGlvbiBDQWEoYSxlKXtpZihhLmNoaWxkQ291bnQ8MilyZXR1cm4gYTtmb3IobGV0IHQ9ZS5kZXB0aDt0Pj0wO3QtLSl7bGV0IGk9ZS5ub2RlKHQpLmNvbnRlbnRNYXRjaEF0KGUuaW5kZXgodCkpLG8sbj1bXTtpZihhLmZvckVhY2gobD0+e2lmKCFuKXJldHVybjtsZXQgZD1pLmZpbmRXcmFwcGluZyhsLnR5cGUpLGM7aWYoIWQpcmV0dXJuIG49bnVsbDtpZihjPW4ubGVuZ3RoJiZvLmxlbmd0aCYmWW9hKGQsbyxsLG5bbi5sZW5ndGgtMV0sMCkpbltuLmxlbmd0aC0xXT1jO2Vsc2V7bi5sZW5ndGgmJihuW24ubGVuZ3RoLTFdPUtvYShuW24ubGVuZ3RoLTFdLG8ubGVuZ3RoKSk7bGV0IHA9R29hKGwsZCk7bi5wdXNoKHApLGk9aS5tYXRjaFR5cGUocC50eXBlKSxvPWR9fSksbilyZXR1cm4gamUuZnJvbShuKX1yZXR1cm4gYX1mdW5jdGlvbiBHb2EoYSxlLHQ9MCl7Zm9yKGxldCByPWUubGVuZ3RoLTE7cj49dDtyLS0pYT1lW3JdLmNyZWF0ZShudWxsLGplLmZyb20oYSkpO3JldHVybiBhfWZ1bmN0aW9uIFlvYShhLGUsdCxyLGkpe2lmKGk8YS5sZW5ndGgmJmk8ZS5sZW5ndGgmJmFbaV09PWVbaV0pe2xldCBvPVlvYShhLGUsdCxyLmxhc3RDaGlsZCxpKzEpO2lmKG8pcmV0dXJuIHIuY29weShyLmNvbnRlbnQucmVwbGFjZUNoaWxkKHIuY2hpbGRDb3VudC0xLG8pKTtpZihyLmNvbnRlbnRNYXRjaEF0KHIuY2hpbGRDb3VudCkubWF0Y2hUeXBlKGk9PWEubGVuZ3RoLTE/dC50eXBlOmFbaSsxXSkpcmV0dXJuIHIuY29weShyLmNvbnRlbnQuYXBwZW5kKGplLmZyb20oR29hKHQsYSxpKzEpKSkpfX1mdW5jdGlvbiBLb2EoYSxlKXtpZihlPT0wKXJldHVybiBhO2xldCB0PWEuY29udGVudC5yZXBsYWNlQ2hpbGQoYS5jaGlsZENvdW50LTEsS29hKGEubGFzdENoaWxkLGUtMSkpLHI9YS5jb250ZW50TWF0Y2hBdChhLmNoaWxkQ291bnQpLmZpbGxCZWZvcmUoamUuZW1wdHksITApO3JldHVybiBhLmNvcHkodC5hcHBlbmQocikpfWZ1bmN0aW9uIEZLZShhLGUsdCxyLGksbyl7bGV0IG49ZTwwP2EuZmlyc3RDaGlsZDphLmxhc3RDaGlsZCxsPW4uY29udGVudDtyZXR1cm4gYS5jaGlsZENvdW50PjEmJihvPTApLGk8ci0xJiYobD1GS2UobCxlLHQscixpKzEsbykpLGk+PXQmJihsPWU8MD9uLmNvbnRlbnRNYXRjaEF0KDApLmZpbGxCZWZvcmUobCxvPD1pKS5hcHBlbmQobCk6bC5hcHBlbmQobi5jb250ZW50TWF0Y2hBdChuLmNoaWxkQ291bnQpLmZpbGxCZWZvcmUoamUuZW1wdHksITApKSksYS5yZXBsYWNlQ2hpbGQoZTwwPzA6YS5jaGlsZENvdW50LTEsbi5jb3B5KGwpKX1mdW5jdGlvbiBab2EoYSxlLHQpe3JldHVybiBlPGEub3BlblN0YXJ0JiYoYT1uZXcgc3QoRktlKGEuY29udGVudCwtMSxlLGEub3BlblN0YXJ0LDAsYS5vcGVuRW5kKSxlLGEub3BlbkVuZCkpLHQ8YS5vcGVuRW5kJiYoYT1uZXcgc3QoRktlKGEuY29udGVudCwxLHQsYS5vcGVuRW5kLDAsMCksYS5vcGVuU3RhcnQsdCkpLGF9ZnVuY3Rpb24gSm9hKCl7cmV0dXJuIFFvYXx8KFFvYT1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoInRpdGxlIikpfWZ1bmN0aW9uIF9BYShhKXtsZXQgZT13aW5kb3cudHJ1c3RlZFR5cGVzO3JldHVybiBlPyhCS2V8fChCS2U9ZS5kZWZhdWx0UG9saWN5fHxlLmNyZWF0ZVBvbGljeSgiUHJvc2VNaXJyb3JDbGlwYm9hcmQiLHtjcmVhdGVIVE1MOnModD0+dCwiY3JlYXRlSFRNTCIpfSkpLEJLZS5jcmVhdGVIVE1MKGEpKTphfWZ1bmN0aW9uIFRBYShhKXtsZXQgZT0vXihccyo8bWV0YSBbXj5dKj4pKi8uZXhlYyhhKTtlJiYoYT1hLnNsaWNlKGVbMF0ubGVuZ3RoKSk7bGV0IHQ9Sm9hKCkuY3JlYXRlRWxlbWVudCgiZGl2Iikscj0vPChbYS16XVtePlxzXSspL2kuZXhlYyhhKSxpO2lmKChpPXImJlhvYVtyWzFdLnRvTG93ZXJDYXNlKCldKSYmKGE9aS5tYXAobz0+IjwiK28rIj4iKS5qb2luKCIiKSthK2kubWFwKG89PiI8LyIrbysiPiIpLnJldmVyc2UoKS5qb2luKCIiKSksdC5pbm5lckhUTUw9X0FhKGEpLGkpZm9yKGxldCBvPTA7bzxpLmxlbmd0aDtvKyspdD10LnF1ZXJ5U2VsZWN0b3IoaVtvXSl8fHQ7cmV0dXJuIHR9ZnVuY3Rpb24gTEFhKGEpe2xldCBlPWEucXVlcnlTZWxlY3RvckFsbChvaT8ic3Bhbjpub3QoW2NsYXNzXSk6bm90KFtzdHlsZV0pIjoic3Bhbi5BcHBsZS1jb252ZXJ0ZWQtc3BhY2UiKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl7bGV0IHI9ZVt0XTtyLmNoaWxkTm9kZXMubGVuZ3RoPT0xJiZyLnRleHRDb250ZW50PT0iXHhBMCImJnIucGFyZW50Tm9kZSYmci5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChhLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiKSxyKX19ZnVuY3Rpb24gJEFhKGEsZSl7aWYoIWEuc2l6ZSlyZXR1cm4gYTtsZXQgdD1hLmNvbnRlbnQuZmlyc3RDaGlsZC50eXBlLnNjaGVtYSxyO3RyeXtyPUpTT04ucGFyc2UoZSl9Y2F0Y2h7cmV0dXJuIGF9bGV0e2NvbnRlbnQ6aSxvcGVuU3RhcnQ6byxvcGVuRW5kOm59PWE7Zm9yKGxldCBsPXIubGVuZ3RoLTI7bD49MDtsLT0yKXtsZXQgZD10Lm5vZGVzW3JbbF1dO2lmKCFkfHxkLmhhc1JlcXVpcmVkQXR0cnMoKSlicmVhaztpPWplLmZyb20oZC5jcmVhdGUocltsKzFdLGkpKSxvKyssbisrfXJldHVybiBuZXcgc3QoaSxvLG4pfWZ1bmN0aW9uIEFBYShhKXtmb3IobGV0IGUgaW4gWmkpe2xldCB0PVppW2VdO2EuZG9tLmFkZEV2ZW50TGlzdGVuZXIoZSxhLmlucHV0LmV2ZW50SGFuZGxlcnNbZV09cj0+e0VBYShhLHIpJiYhVktlKGEscikmJihhLmVkaXRhYmxlfHwhKHIudHlwZSBpbiBYaSkpJiZ0KGEscil9LERBYVtlXT97cGFzc2l2ZTohMH06dm9pZCAwKX1OaSYmYS5kb20uYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCgpPT5udWxsKSxxS2UoYSl9ZnVuY3Rpb24geTQoYSxlKXthLmlucHV0Lmxhc3RTZWxlY3Rpb25PcmlnaW49ZSxhLmlucHV0Lmxhc3RTZWxlY3Rpb25UaW1lPURhdGUubm93KCl9ZnVuY3Rpb24gUEFhKGEpe2EuZG9tT2JzZXJ2ZXIuc3RvcCgpO2ZvcihsZXQgZSBpbiBhLmlucHV0LmV2ZW50SGFuZGxlcnMpYS5kb20ucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGEuaW5wdXQuZXZlbnRIYW5kbGVyc1tlXSk7Y2xlYXJUaW1lb3V0KGEuaW5wdXQuY29tcG9zaW5nVGltZW91dCksY2xlYXJUaW1lb3V0KGEuaW5wdXQubGFzdElPU0VudGVyRmFsbGJhY2tUaW1lb3V0KX1mdW5jdGlvbiBxS2UoYSl7YS5zb21lUHJvcCgiaGFuZGxlRE9NRXZlbnRzIixlPT57Zm9yKGxldCB0IGluIGUpYS5pbnB1dC5ldmVudEhhbmRsZXJzW3RdfHxhLmRvbS5hZGRFdmVudExpc3RlbmVyKHQsYS5pbnB1dC5ldmVudEhhbmRsZXJzW3RdPXI9PlZLZShhLHIpKX0pfWZ1bmN0aW9uIFZLZShhLGUpe3JldHVybiBhLnNvbWVQcm9wKCJoYW5kbGVET01FdmVudHMiLHQ9PntsZXQgcj10W2UudHlwZV07cmV0dXJuIHI/cihhLGUpfHxlLmRlZmF1bHRQcmV2ZW50ZWQ6ITF9KX1mdW5jdGlvbiBFQWEoYSxlKXtpZighZS5idWJibGVzKXJldHVybiEwO2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm4hMTtmb3IobGV0IHQ9ZS50YXJnZXQ7dCE9YS5kb207dD10LnBhcmVudE5vZGUpaWYoIXR8fHQubm9kZVR5cGU9PTExfHx0LnBtVmlld0Rlc2MmJnQucG1WaWV3RGVzYy5zdG9wRXZlbnQoZSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gSUFhKGEsZSl7IVZLZShhLGUpJiZaaVtlLnR5cGVdJiYoYS5lZGl0YWJsZXx8IShlLnR5cGUgaW4gWGkpKSYmWmlbZS50eXBlXShhLGUpfWZ1bmN0aW9uIEhhZShhKXtyZXR1cm57bGVmdDphLmNsaWVudFgsdG9wOmEuY2xpZW50WX19ZnVuY3Rpb24gTkFhKGEsZSl7bGV0IHQ9ZS54LWEuY2xpZW50WCxyPWUueS1hLmNsaWVudFk7cmV0dXJuIHQqdCtyKnI8MTAwfWZ1bmN0aW9uIGpLZShhLGUsdCxyLGkpe2lmKHI9PS0xKXJldHVybiExO2xldCBvPWEuc3RhdGUuZG9jLnJlc29sdmUocik7Zm9yKGxldCBuPW8uZGVwdGgrMTtuPjA7bi0tKWlmKGEuc29tZVByb3AoZSxsPT5uPm8uZGVwdGg/bChhLHQsby5ub2RlQWZ0ZXIsby5iZWZvcmUobiksaSwhMCk6bChhLHQsby5ub2RlKG4pLG8uYmVmb3JlKG4pLGksITEpKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBTbShhLGUsdCl7aWYoYS5mb2N1c2VkfHxhLmZvY3VzKCksYS5zdGF0ZS5zZWxlY3Rpb24uZXEoZSkpcmV0dXJuO2xldCByPWEuc3RhdGUudHIuc2V0U2VsZWN0aW9uKGUpO3Q9PSJwb2ludGVyIiYmci5zZXRNZXRhKCJwb2ludGVyIiwhMCksYS5kaXNwYXRjaChyKX1mdW5jdGlvbiBSQWEoYSxlKXtpZihlPT0tMSlyZXR1cm4hMTtsZXQgdD1hLnN0YXRlLmRvYy5yZXNvbHZlKGUpLHI9dC5ub2RlQWZ0ZXI7cmV0dXJuIHImJnIuaXNBdG9tJiZrdC5pc1NlbGVjdGFibGUocik/KFNtKGEsbmV3IGt0KHQpLCJwb2ludGVyIiksITApOiExfWZ1bmN0aW9uIE9BYShhLGUpe2lmKGU9PS0xKXJldHVybiExO2xldCB0PWEuc3RhdGUuc2VsZWN0aW9uLHIsaTt0IGluc3RhbmNlb2Yga3QmJihyPXQubm9kZSk7bGV0IG89YS5zdGF0ZS5kb2MucmVzb2x2ZShlKTtmb3IobGV0IG49by5kZXB0aCsxO24+MDtuLS0pe2xldCBsPW4+by5kZXB0aD9vLm5vZGVBZnRlcjpvLm5vZGUobik7aWYoa3QuaXNTZWxlY3RhYmxlKGwpKXtyJiZ0LiRmcm9tLmRlcHRoPjAmJm4+PXQuJGZyb20uZGVwdGgmJm8uYmVmb3JlKHQuJGZyb20uZGVwdGgrMSk9PXQuJGZyb20ucG9zP2k9by5iZWZvcmUodC4kZnJvbS5kZXB0aCk6aT1vLmJlZm9yZShuKTticmVha319cmV0dXJuIGkhPW51bGw/KFNtKGEsa3QuY3JlYXRlKGEuc3RhdGUuZG9jLGkpLCJwb2ludGVyIiksITApOiExfWZ1bmN0aW9uIEZBYShhLGUsdCxyLGkpe3JldHVybiBqS2UoYSwiaGFuZGxlQ2xpY2tPbiIsZSx0LHIpfHxhLnNvbWVQcm9wKCJoYW5kbGVDbGljayIsbz0+byhhLGUscikpfHwoaT9PQWEoYSx0KTpSQWEoYSx0KSl9ZnVuY3Rpb24gQkFhKGEsZSx0LHIpe3JldHVybiBqS2UoYSwiaGFuZGxlRG91YmxlQ2xpY2tPbiIsZSx0LHIpfHxhLnNvbWVQcm9wKCJoYW5kbGVEb3VibGVDbGljayIsaT0+aShhLGUscikpfWZ1bmN0aW9uIEhBYShhLGUsdCxyKXtyZXR1cm4gaktlKGEsImhhbmRsZVRyaXBsZUNsaWNrT24iLGUsdCxyKXx8YS5zb21lUHJvcCgiaGFuZGxlVHJpcGxlQ2xpY2siLGk9PmkoYSxlLHIpKXx8cUFhKGEsdCxyKX1mdW5jdGlvbiBxQWEoYSxlLHQpe2lmKHQuYnV0dG9uIT0wKXJldHVybiExO2xldCByPWEuc3RhdGUuZG9jO2lmKGU9PS0xKXJldHVybiByLmlubGluZUNvbnRlbnQ/KFNtKGEsTnQuY3JlYXRlKHIsMCxyLmNvbnRlbnQuc2l6ZSksInBvaW50ZXIiKSwhMCk6ITE7bGV0IGk9ci5yZXNvbHZlKGUpO2ZvcihsZXQgbz1pLmRlcHRoKzE7bz4wO28tLSl7bGV0IG49bz5pLmRlcHRoP2kubm9kZUFmdGVyOmkubm9kZShvKSxsPWkuYmVmb3JlKG8pO2lmKG4uaW5saW5lQ29udGVudClTbShhLE50LmNyZWF0ZShyLGwrMSxsKzErbi5jb250ZW50LnNpemUpLCJwb2ludGVyIik7ZWxzZSBpZihrdC5pc1NlbGVjdGFibGUobikpU20oYSxrdC5jcmVhdGUocixsKSwicG9pbnRlciIpO2Vsc2UgY29udGludWU7cmV0dXJuITB9fWZ1bmN0aW9uIFVLZShhKXtyZXR1cm4gYVcoYSl9ZnVuY3Rpb24gdG5hKGEsZSl7cmV0dXJuIGEuY29tcG9zaW5nPyEwOk5pJiZNYXRoLmFicyhlLnRpbWVTdGFtcC1hLmlucHV0LmNvbXBvc2l0aW9uRW5kZWRBdCk8NTAwPyhhLmlucHV0LmNvbXBvc2l0aW9uRW5kZWRBdD0tMmU4LCEwKTohMX1mdW5jdGlvbiBqQWEoYSl7bGV0e2ZvY3VzTm9kZTplLGZvY3VzT2Zmc2V0OnR9PWEuZG9tU2VsZWN0aW9uUmFuZ2UoKTtpZighZXx8ZS5ub2RlVHlwZSE9MXx8dD49ZS5jaGlsZE5vZGVzLmxlbmd0aClyZXR1cm4hMTtsZXQgcj1lLmNoaWxkTm9kZXNbdF07cmV0dXJuIHIubm9kZVR5cGU9PTEmJnIuY29udGVudEVkaXRhYmxlPT0iZmFsc2UifWZ1bmN0aW9uIGFuYShhLGUpe2NsZWFyVGltZW91dChhLmlucHV0LmNvbXBvc2luZ1RpbWVvdXQpLGU+LTEmJihhLmlucHV0LmNvbXBvc2luZ1RpbWVvdXQ9c2V0VGltZW91dCgoKT0+YVcoYSksZSkpfWZ1bmN0aW9uIHJuYShhKXtmb3IoYS5jb21wb3NpbmcmJihhLmlucHV0LmNvbXBvc2luZz0hMSxhLmlucHV0LmNvbXBvc2l0aW9uRW5kZWRBdD1XQWEoKSk7YS5pbnB1dC5jb21wb3NpdGlvbk5vZGVzLmxlbmd0aD4wOylhLmlucHV0LmNvbXBvc2l0aW9uTm9kZXMucG9wKCkubWFya1BhcmVudHNEaXJ0eSgpfWZ1bmN0aW9uIFVBYShhKXtsZXQgZT1hLmRvbVNlbGVjdGlvblJhbmdlKCk7aWYoIWUuZm9jdXNOb2RlKXJldHVybiBudWxsO2xldCB0PXFEYShlLmZvY3VzTm9kZSxlLmZvY3VzT2Zmc2V0KSxyPVZEYShlLmZvY3VzTm9kZSxlLmZvY3VzT2Zmc2V0KTtpZih0JiZyJiZ0IT1yKXtsZXQgaT1yLnBtVmlld0Rlc2Msbz1hLmRvbU9ic2VydmVyLmxhc3RDaGFuZ2VkVGV4dE5vZGU7aWYodD09b3x8cj09bylyZXR1cm4gbztpZighaXx8IWkuaXNUZXh0KHIubm9kZVZhbHVlKSlyZXR1cm4gcjtpZihhLmlucHV0LmNvbXBvc2l0aW9uTm9kZT09cil7bGV0IG49dC5wbVZpZXdEZXNjO2lmKCEoIW58fCFuLmlzVGV4dCh0Lm5vZGVWYWx1ZSkpKXJldHVybiByfX1yZXR1cm4gdHx8cn1mdW5jdGlvbiBXQWEoKXtsZXQgYT1kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTtyZXR1cm4gYS5pbml0RXZlbnQoImV2ZW50IiwhMCwhMCksYS50aW1lU3RhbXB9ZnVuY3Rpb24gYVcoYSxlPSExKXtpZighKGJjJiZhLmRvbU9ic2VydmVyLmZsdXNoaW5nU29vbj49MCkpe2lmKGEuZG9tT2JzZXJ2ZXIuZm9yY2VGbHVzaCgpLHJuYShhKSxlfHxhLmRvY1ZpZXcmJmEuZG9jVmlldy5kaXJ0eSl7bGV0IHQ9QUtlKGEpLHI9YS5zdGF0ZS5zZWxlY3Rpb247cmV0dXJuIHQmJiF0LmVxKHIpP2EuZGlzcGF0Y2goYS5zdGF0ZS50ci5zZXRTZWxlY3Rpb24odCkpOihhLm1hcmtDdXJzb3J8fGUpJiYhci4kZnJvbS5ub2RlKHIuJGZyb20uc2hhcmVkRGVwdGgoci50bykpLmlubGluZUNvbnRlbnQ/YS5kaXNwYXRjaChhLnN0YXRlLnRyLmRlbGV0ZVNlbGVjdGlvbigpKTphLnVwZGF0ZVN0YXRlKGEuc3RhdGUpLCEwfXJldHVybiExfX1mdW5jdGlvbiBHQWEoYSxlKXtpZighYS5kb20ucGFyZW50Tm9kZSlyZXR1cm47bGV0IHQ9YS5kb20ucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7dC5hcHBlbmRDaGlsZChlKSx0LnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOiBmaXhlZDsgbGVmdDogLTEwMDAwcHg7IHRvcDogMTBweCI7bGV0IHI9Z2V0U2VsZWN0aW9uKCksaT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO2kuc2VsZWN0Tm9kZUNvbnRlbnRzKGUpLGEuZG9tLmJsdXIoKSxyLnJlbW92ZUFsbFJhbmdlcygpLHIuYWRkUmFuZ2UoaSksc2V0VGltZW91dCgoKT0+e3QucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLGEuZm9jdXMoKX0sNTApfWZ1bmN0aW9uIFlBYShhKXtyZXR1cm4gYS5vcGVuU3RhcnQ9PTAmJmEub3BlbkVuZD09MCYmYS5jb250ZW50LmNoaWxkQ291bnQ9PTE/YS5jb250ZW50LmZpcnN0Q2hpbGQ6bnVsbH1mdW5jdGlvbiBLQWEoYSxlKXtpZighYS5kb20ucGFyZW50Tm9kZSlyZXR1cm47bGV0IHQ9YS5pbnB1dC5zaGlmdEtleXx8YS5zdGF0ZS5zZWxlY3Rpb24uJGZyb20ucGFyZW50LnR5cGUuc3BlYy5jb2RlLHI9YS5kb20ucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KHQ/InRleHRhcmVhIjoiZGl2IikpO3R8fChyLmNvbnRlbnRFZGl0YWJsZT0idHJ1ZSIpLHIuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246IGZpeGVkOyBsZWZ0OiAtMTAwMDBweDsgdG9wOiAxMHB4IixyLmZvY3VzKCk7bGV0IGk9YS5pbnB1dC5zaGlmdEtleSYmYS5pbnB1dC5sYXN0S2V5Q29kZSE9NDU7c2V0VGltZW91dCgoKT0+e2EuZm9jdXMoKSxyLnBhcmVudE5vZGUmJnIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKSx0P3NXKGEsci52YWx1ZSxudWxsLGksZSk6c1coYSxyLnRleHRDb250ZW50LHIuaW5uZXJIVE1MLGksZSl9LDUwKX1mdW5jdGlvbiBzVyhhLGUsdCxyLGkpe2xldCBvPU9LZShhLGUsdCxyLGEuc3RhdGUuc2VsZWN0aW9uLiRmcm9tKTtpZihhLnNvbWVQcm9wKCJoYW5kbGVQYXN0ZSIsZD0+ZChhLGksb3x8c3QuZW1wdHkpKSlyZXR1cm4hMDtpZighbylyZXR1cm4hMTtsZXQgbj1ZQWEobyksbD1uP2Euc3RhdGUudHIucmVwbGFjZVNlbGVjdGlvbldpdGgobixyKTphLnN0YXRlLnRyLnJlcGxhY2VTZWxlY3Rpb24obyk7cmV0dXJuIGEuZGlzcGF0Y2gobC5zY3JvbGxJbnRvVmlldygpLnNldE1ldGEoInBhc3RlIiwhMCkuc2V0TWV0YSgidWlFdmVudCIsInBhc3RlIikpLCEwfWZ1bmN0aW9uIHNuYShhKXtsZXQgZT1hLmdldERhdGEoInRleHQvcGxhaW4iKXx8YS5nZXREYXRhKCJUZXh0Iik7aWYoZSlyZXR1cm4gZTtsZXQgdD1hLmdldERhdGEoInRleHQvdXJpLWxpc3QiKTtyZXR1cm4gdD90LnJlcGxhY2UoL1xyP1xuL2csIiAiKToiIn1mdW5jdGlvbiBpbmEoYSxlKXtsZXQgdDtyZXR1cm4gYS5zb21lUHJvcCgiZHJhZ0NvcGllcyIscj0+e3Q9dHx8cihlKX0pLHQhPW51bGw/IXQ6IWVbWkFhXX1mdW5jdGlvbiBYQWEoYSxlLHQpe2lmKCFlLmRhdGFUcmFuc2ZlcilyZXR1cm47bGV0IHI9YS5wb3NBdENvb3JkcyhIYWUoZSkpO2lmKCFyKXJldHVybjtsZXQgaT1hLnN0YXRlLmRvYy5yZXNvbHZlKHIucG9zKSxvPXQmJnQuc2xpY2U7bz9hLnNvbWVQcm9wKCJ0cmFuc2Zvcm1QYXN0ZWQiLHY9PntvPXYobyxhLCExKX0pOm89T0tlKGEsc25hKGUuZGF0YVRyYW5zZmVyKSxyVz9udWxsOmUuZGF0YVRyYW5zZmVyLmdldERhdGEoInRleHQvaHRtbCIpLCExLGkpO2xldCBuPSEhKHQmJmluYShhLGUpKTtpZihhLnNvbWVQcm9wKCJoYW5kbGVEcm9wIix2PT52KGEsZSxvfHxzdC5lbXB0eSxuKSkpe2UucHJldmVudERlZmF1bHQoKTtyZXR1cm59aWYoIW8pcmV0dXJuO2UucHJldmVudERlZmF1bHQoKTtsZXQgbD1vP0dVKGEuc3RhdGUuZG9jLGkucG9zLG8pOmkucG9zO2w9PW51bGwmJihsPWkucG9zKTtsZXQgZD1hLnN0YXRlLnRyO2lmKG4pe2xldHtub2RlOnZ9PXQ7dj92LnJlcGxhY2UoZCk6ZC5kZWxldGVTZWxlY3Rpb24oKX1sZXQgYz1kLm1hcHBpbmcubWFwKGwpLHA9by5vcGVuU3RhcnQ9PTAmJm8ub3BlbkVuZD09MCYmby5jb250ZW50LmNoaWxkQ291bnQ9PTEsdT1kLmRvYztpZihwP2QucmVwbGFjZVJhbmdlV2l0aChjLGMsby5jb250ZW50LmZpcnN0Q2hpbGQpOmQucmVwbGFjZVJhbmdlKGMsYyxvKSxkLmRvYy5lcSh1KSlyZXR1cm47bGV0IG09ZC5kb2MucmVzb2x2ZShjKTtpZihwJiZrdC5pc1NlbGVjdGFibGUoby5jb250ZW50LmZpcnN0Q2hpbGQpJiZtLm5vZGVBZnRlciYmbS5ub2RlQWZ0ZXIuc2FtZU1hcmt1cChvLmNvbnRlbnQuZmlyc3RDaGlsZCkpZC5zZXRTZWxlY3Rpb24obmV3IGt0KG0pKTtlbHNle2xldCB2PWQubWFwcGluZy5tYXAobCk7ZC5tYXBwaW5nLm1hcHNbZC5tYXBwaW5nLm1hcHMubGVuZ3RoLTFdLmZvckVhY2goKHgsYixnLHkpPT52PXkpLGQuc2V0U2VsZWN0aW9uKEVLZShhLG0sZC5kb2MucmVzb2x2ZSh2KSkpfWEuZm9jdXMoKSxhLmRpc3BhdGNoKGQuc2V0TWV0YSgidWlFdmVudCIsImRyb3AiKSl9ZnVuY3Rpb24gaVcoYSxlKXtpZihhPT1lKXJldHVybiEwO2ZvcihsZXQgdCBpbiBhKWlmKGFbdF0hPT1lW3RdKXJldHVybiExO2ZvcihsZXQgdCBpbiBlKWlmKCEodCBpbiBhKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBRQWEoYSxlLHQscixpLG8sbil7bGV0IGw9YS5zbGljZSgpO2ZvcihsZXQgYz0wLHA9bztjPHQubWFwcy5sZW5ndGg7YysrKXtsZXQgdT0wO3QubWFwc1tjXS5mb3JFYWNoKChtLHYseCxiKT0+e2xldCBnPWIteC0odi1tKTtmb3IobGV0IHk9MDt5PGwubGVuZ3RoO3krPTMpe2xldCBrPWxbeSsxXTtpZihrPDB8fG0+aytwLXUpY29udGludWU7bGV0IEM9bFt5XStwLXU7dj49Qz9sW3krMV09bTw9Qz8tMjotMTptPj1wJiZnJiYobFt5XSs9ZyxsW3krMV0rPWcpfXUrPWd9KSxwPXQubWFwc1tjXS5tYXAocCwtMSl9bGV0IGQ9ITE7Zm9yKGxldCBjPTA7YzxsLmxlbmd0aDtjKz0zKWlmKGxbYysxXTwwKXtpZihsW2MrMV09PS0yKXtkPSEwLGxbYysxXT0tMTtjb250aW51ZX1sZXQgcD10Lm1hcChhW2NdK28pLHU9cC1pO2lmKHU8MHx8dT49ci5jb250ZW50LnNpemUpe2Q9ITA7Y29udGludWV9bGV0IG09dC5tYXAoYVtjKzFdK28sLTEpLHY9bS1pLHtpbmRleDp4LG9mZnNldDpifT1yLmNvbnRlbnQuZmluZEluZGV4KHUpLGc9ci5tYXliZUNoaWxkKHgpO2lmKGcmJmI9PXUmJmIrZy5ub2RlU2l6ZT09dil7bGV0IHk9bFtjKzJdLm1hcElubmVyKHQsZyxwKzEsYVtjXStvKzEsbik7eSE9Umk/KGxbY109dSxsW2MrMV09dixsW2MrMl09eSk6KGxbYysxXT0tMixkPSEwKX1lbHNlIGQ9ITB9aWYoZCl7bGV0IGM9SkFhKGwsYSxlLHQsaSxvLG4pLHA9VWFlKGMsciwwLG4pO2U9cC5sb2NhbDtmb3IobGV0IHU9MDt1PGwubGVuZ3RoO3UrPTMpbFt1KzFdPDAmJihsLnNwbGljZSh1LDMpLHUtPTMpO2ZvcihsZXQgdT0wLG09MDt1PHAuY2hpbGRyZW4ubGVuZ3RoO3UrPTMpe2xldCB2PXAuY2hpbGRyZW5bdV07Zm9yKDttPGwubGVuZ3RoJiZsW21dPHY7KW0rPTM7bC5zcGxpY2UobSwwLHAuY2hpbGRyZW5bdV0scC5jaGlsZHJlblt1KzFdLHAuY2hpbGRyZW5bdSsyXSl9fXJldHVybiBuZXcgUWkoZS5zb3J0KFhmKSxsKX1mdW5jdGlvbiBvbmEoYSxlKXtpZighZXx8IWEubGVuZ3RoKXJldHVybiBhO2xldCB0PVtdO2ZvcihsZXQgcj0wO3I8YS5sZW5ndGg7cisrKXtsZXQgaT1hW3JdO3QucHVzaChuZXcgUjEoaS5mcm9tK2UsaS50bytlLGkudHlwZSkpfXJldHVybiB0fWZ1bmN0aW9uIEpBYShhLGUsdCxyLGksbyxuKXtmdW5jdGlvbiBsKGQsYyl7Zm9yKGxldCBwPTA7cDxkLmxvY2FsLmxlbmd0aDtwKyspe2xldCB1PWQubG9jYWxbcF0ubWFwKHIsaSxjKTt1P3QucHVzaCh1KTpuLm9uUmVtb3ZlJiZuLm9uUmVtb3ZlKGQubG9jYWxbcF0uc3BlYyl9Zm9yKGxldCBwPTA7cDxkLmNoaWxkcmVuLmxlbmd0aDtwKz0zKWwoZC5jaGlsZHJlbltwKzJdLGQuY2hpbGRyZW5bcF0rYysxKX1zKGwsImdhdGhlciIpO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCs9MylhW2QrMV09PS0xJiZsKGFbZCsyXSxlW2RdK28rMSk7cmV0dXJuIHR9ZnVuY3Rpb24gbm5hKGEsZSx0KXtpZihlLmlzTGVhZilyZXR1cm4gbnVsbDtsZXQgcj10K2Uubm9kZVNpemUsaT1udWxsO2ZvcihsZXQgbz0wLG47bzxhLmxlbmd0aDtvKyspKG49YVtvXSkmJm4uZnJvbT50JiZuLnRvPHImJigoaXx8KGk9W10pKS5wdXNoKG4pLGFbb109bnVsbCk7cmV0dXJuIGl9ZnVuY3Rpb24gbG5hKGEpe2xldCBlPVtdO2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7dCsrKWFbdF0hPW51bGwmJmUucHVzaChhW3RdKTtyZXR1cm4gZX1mdW5jdGlvbiBVYWUoYSxlLHQscil7bGV0IGk9W10sbz0hMTtlLmZvckVhY2goKGwsZCk9PntsZXQgYz1ubmEoYSxsLGQrdCk7aWYoYyl7bz0hMDtsZXQgcD1VYWUoYyxsLHQrZCsxLHIpO3AhPVJpJiZpLnB1c2goZCxkK2wubm9kZVNpemUscCl9fSk7bGV0IG49b25hKG8/bG5hKGEpOmEsLXQpLnNvcnQoWGYpO2ZvcihsZXQgbD0wO2w8bi5sZW5ndGg7bCsrKW5bbF0udHlwZS52YWxpZChlLG5bbF0pfHwoci5vblJlbW92ZSYmci5vblJlbW92ZShuW2xdLnNwZWMpLG4uc3BsaWNlKGwtLSwxKSk7cmV0dXJuIG4ubGVuZ3RofHxpLmxlbmd0aD9uZXcgUWkobixpKTpSaX1mdW5jdGlvbiBYZihhLGUpe3JldHVybiBhLmZyb20tZS5mcm9tfHxhLnRvLWUudG99ZnVuY3Rpb24gWUtlKGEpe2xldCBlPWE7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aC0xO3QrKyl7bGV0IHI9ZVt0XTtpZihyLmZyb20hPXIudG8pZm9yKGxldCBpPXQrMTtpPGUubGVuZ3RoO2krKyl7bGV0IG89ZVtpXTtpZihvLmZyb209PXIuZnJvbSl7by50byE9ci50byYmKGU9PWEmJihlPWEuc2xpY2UoKSksZVtpXT1vLmNvcHkoby5mcm9tLHIudG8pLGNuYShlLGkrMSxvLmNvcHkoci50byxvLnRvKSkpO2NvbnRpbnVlfWVsc2V7by5mcm9tPHIudG8mJihlPT1hJiYoZT1hLnNsaWNlKCkpLGVbdF09ci5jb3B5KHIuZnJvbSxvLmZyb20pLGNuYShlLGksci5jb3B5KG8uZnJvbSxyLnRvKSkpO2JyZWFrfX19cmV0dXJuIGV9ZnVuY3Rpb24gY25hKGEsZSx0KXtmb3IoO2U8YS5sZW5ndGgmJlhmKHQsYVtlXSk+MDspZSsrO2Euc3BsaWNlKGUsMCx0KX1mdW5jdGlvbiBLS2UoYSl7bGV0IGU9W107cmV0dXJuIGEuc29tZVByb3AoImRlY29yYXRpb25zIix0PT57bGV0IHI9dChhLnN0YXRlKTtyJiZyIT1SaSYmZS5wdXNoKHIpfSksYS5jdXJzb3JXcmFwcGVyJiZlLnB1c2goUWkuY3JlYXRlKGEuc3RhdGUuZG9jLFthLmN1cnNvcldyYXBwZXIuZGVjb10pKSxqYWUuZnJvbShlKX1mdW5jdGlvbiBhUGEoYSl7aWYoIWRuYS5oYXMoYSkmJihkbmEuc2V0KGEsbnVsbCksWyJub3JtYWwiLCJub3dyYXAiLCJwcmUtbGluZSJdLmluZGV4T2YoZ2V0Q29tcHV0ZWRTdHlsZShhLmRvbSkud2hpdGVTcGFjZSkhPT0tMSkpe2lmKGEucmVxdWlyZXNHZWNrb0hhY2tOb2RlPVJuLHVuYSlyZXR1cm47Y29uc29sZS53YXJuKCJQcm9zZU1pcnJvciBleHBlY3RzIHRoZSBDU1Mgd2hpdGUtc3BhY2UgcHJvcGVydHkgdG8gYmUgc2V0LCBwcmVmZXJhYmx5IHRvICdwcmUtd3JhcCcuIEl0IGlzIHJlY29tbWVuZGVkIHRvIGxvYWQgc3R5bGUvcHJvc2VtaXJyb3IuY3NzIGZyb20gdGhlIHByb3NlbWlycm9yLXZpZXcgcGFja2FnZS4iKSx1bmE9ITB9fWZ1bmN0aW9uIHBuYShhLGUpe2xldCB0PWUuc3RhcnRDb250YWluZXIscj1lLnN0YXJ0T2Zmc2V0LGk9ZS5lbmRDb250YWluZXIsbz1lLmVuZE9mZnNldCxuPWEuZG9tQXRQb3MoYS5zdGF0ZS5zZWxlY3Rpb24uYW5jaG9yKTtyZXR1cm4gamYobi5ub2RlLG4ub2Zmc2V0LGksbykmJihbdCxyLGksb109W2ksbyx0LHJdKSx7YW5jaG9yTm9kZTp0LGFuY2hvck9mZnNldDpyLGZvY3VzTm9kZTppLGZvY3VzT2Zmc2V0Om99fWZ1bmN0aW9uIHJQYShhLGUpe2lmKGUuZ2V0Q29tcG9zZWRSYW5nZXMpe2xldCBpPWUuZ2V0Q29tcG9zZWRSYW5nZXMoYS5yb290KVswXTtpZihpKXJldHVybiBwbmEoYSxpKX1sZXQgdDtmdW5jdGlvbiByKGkpe2kucHJldmVudERlZmF1bHQoKSxpLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHQ9aS5nZXRUYXJnZXRSYW5nZXMoKVswXX1yZXR1cm4gcyhyLCJyZWFkIiksYS5kb20uYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JlaW5wdXQiLHIsITApLGRvY3VtZW50LmV4ZWNDb21tYW5kKCJpbmRlbnQiKSxhLmRvbS5yZW1vdmVFdmVudExpc3RlbmVyKCJiZWZvcmVpbnB1dCIsciwhMCksdD9wbmEoYSx0KTpudWxsfWZ1bmN0aW9uIHNQYShhLGUpe2ZvcihsZXQgdD1lLnBhcmVudE5vZGU7dCYmdCE9YS5kb207dD10LnBhcmVudE5vZGUpe2xldCByPWEuZG9jVmlldy5uZWFyZXN0RGVzYyh0LCEwKTtpZihyJiZyLm5vZGUuaXNCbG9jaylyZXR1cm4gdH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBpUGEoYSxlKXt2YXIgdDtsZXR7Zm9jdXNOb2RlOnIsZm9jdXNPZmZzZXQ6aX09YS5kb21TZWxlY3Rpb25SYW5nZSgpO2ZvcihsZXQgbyBvZiBlKWlmKCgodD1vLnBhcmVudE5vZGUpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5ub2RlTmFtZSk9PSJUUiIpe2xldCBuPW8ubmV4dFNpYmxpbmc7Zm9yKDtuJiZuLm5vZGVOYW1lIT0iVEQiJiZuLm5vZGVOYW1lIT0iVEgiOyluPW4ubmV4dFNpYmxpbmc7aWYobil7bGV0IGw9bjtmb3IoOzspe2xldCBkPWwuZmlyc3RDaGlsZDtpZighZHx8ZC5ub2RlVHlwZSE9MXx8ZC5jb250ZW50RWRpdGFibGU9PSJmYWxzZSJ8fC9eKEJSfElNRykkLy50ZXN0KGQubm9kZU5hbWUpKWJyZWFrO2w9ZH1sLmluc2VydEJlZm9yZShvLGwuZmlyc3RDaGlsZCkscj09byYmYS5kb21TZWxlY3Rpb24oKS5jb2xsYXBzZShvLGkpfWVsc2Ugby5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pfX1mdW5jdGlvbiBvUGEoYSxlLHQpe2xldHtub2RlOnIsZnJvbU9mZnNldDppLHRvT2Zmc2V0Om8sZnJvbTpuLHRvOmx9PWEuZG9jVmlldy5wYXJzZVJhbmdlKGUsdCksZD1hLmRvbVNlbGVjdGlvblJhbmdlKCksYyxwPWQuYW5jaG9yTm9kZTtpZihwJiZhLmRvbS5jb250YWlucyhwLm5vZGVUeXBlPT0xP3A6cC5wYXJlbnROb2RlKSYmKGM9W3tub2RlOnAsb2Zmc2V0OmQuYW5jaG9yT2Zmc2V0fV0sSWFlKGQpfHxjLnB1c2goe25vZGU6ZC5mb2N1c05vZGUsb2Zmc2V0OmQuZm9jdXNPZmZzZXR9KSksb2kmJmEuaW5wdXQubGFzdEtleUNvZGU9PT04KWZvcihsZXQgZz1vO2c+aTtnLS0pe2xldCB5PXIuY2hpbGROb2Rlc1tnLTFdLGs9eS5wbVZpZXdEZXNjO2lmKHkubm9kZU5hbWU9PSJCUiImJiFrKXtvPWc7YnJlYWt9aWYoIWt8fGsuc2l6ZSlicmVha31sZXQgdT1hLnN0YXRlLmRvYyxtPWEuc29tZVByb3AoImRvbVBhcnNlciIpfHxOMS5mcm9tU2NoZW1hKGEuc3RhdGUuc2NoZW1hKSx2PXUucmVzb2x2ZShuKSx4PW51bGwsYj1tLnBhcnNlKHIse3RvcE5vZGU6di5wYXJlbnQsdG9wTWF0Y2g6di5wYXJlbnQuY29udGVudE1hdGNoQXQodi5pbmRleCgpKSx0b3BPcGVuOiEwLGZyb206aSx0bzpvLHByZXNlcnZlV2hpdGVzcGFjZTp2LnBhcmVudC50eXBlLndoaXRlc3BhY2U9PSJwcmUiPyJmdWxsIjohMCxmaW5kUG9zaXRpb25zOmMscnVsZUZyb21Ob2RlOm5QYSxjb250ZXh0OnZ9KTtpZihjJiZjWzBdLnBvcyE9bnVsbCl7bGV0IGc9Y1swXS5wb3MseT1jWzFdJiZjWzFdLnBvczt5PT1udWxsJiYoeT1nKSx4PXthbmNob3I6ZytuLGhlYWQ6eStufX1yZXR1cm57ZG9jOmIsc2VsOngsZnJvbTpuLHRvOmx9fWZ1bmN0aW9uIG5QYShhKXtsZXQgZT1hLnBtVmlld0Rlc2M7aWYoZSlyZXR1cm4gZS5wYXJzZVJ1bGUoKTtpZihhLm5vZGVOYW1lPT0iQlIiJiZhLnBhcmVudE5vZGUpe2lmKE5pJiYvXih1bHxvbCkkL2kudGVzdChhLnBhcmVudE5vZGUubm9kZU5hbWUpKXtsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpKSx7c2tpcDp0fX1lbHNlIGlmKGEucGFyZW50Tm9kZS5sYXN0Q2hpbGQ9PWF8fE5pJiYvXih0cnx0YWJsZSkkL2kudGVzdChhLnBhcmVudE5vZGUubm9kZU5hbWUpKXJldHVybntpZ25vcmU6ITB9fWVsc2UgaWYoYS5ub2RlTmFtZT09IklNRyImJmEuZ2V0QXR0cmlidXRlKCJtYXJrLXBsYWNlaG9sZGVyIikpcmV0dXJue2lnbm9yZTohMH07cmV0dXJuIG51bGx9ZnVuY3Rpb24gY1BhKGEsZSx0LHIsaSl7bGV0IG89YS5pbnB1dC5jb21wb3NpdGlvblBlbmRpbmdDaGFuZ2VzfHwoYS5jb21wb3Npbmc/YS5pbnB1dC5jb21wb3NpdGlvbklEOjApO2lmKGEuaW5wdXQuY29tcG9zaXRpb25QZW5kaW5nQ2hhbmdlcz0wLGU8MCl7bGV0IE89YS5pbnB1dC5sYXN0U2VsZWN0aW9uVGltZT5EYXRlLm5vdygpLTUwP2EuaW5wdXQubGFzdFNlbGVjdGlvbk9yaWdpbjpudWxsLFQ9QUtlKGEsTyk7aWYoVCYmIWEuc3RhdGUuc2VsZWN0aW9uLmVxKFQpKXtpZihvaSYmYmMmJmEuaW5wdXQubGFzdEtleUNvZGU9PT0xMyYmRGF0ZS5ub3coKS0xMDA8YS5pbnB1dC5sYXN0S2V5Q29kZVRpbWUmJmEuc29tZVByb3AoImhhbmRsZUtleURvd24iLEI9PkIoYSxVZigxMywiRW50ZXIiKSkpKXJldHVybjtsZXQgUD1hLnN0YXRlLnRyLnNldFNlbGVjdGlvbihUKTtPPT0icG9pbnRlciI/UC5zZXRNZXRhKCJwb2ludGVyIiwhMCk6Tz09ImtleSImJlAuc2Nyb2xsSW50b1ZpZXcoKSxvJiZQLnNldE1ldGEoImNvbXBvc2l0aW9uIixvKSxhLmRpc3BhdGNoKFApfXJldHVybn1sZXQgbj1hLnN0YXRlLmRvYy5yZXNvbHZlKGUpLGw9bi5zaGFyZWREZXB0aCh0KTtlPW4uYmVmb3JlKGwrMSksdD1hLnN0YXRlLmRvYy5yZXNvbHZlKHQpLmFmdGVyKGwrMSk7bGV0IGQ9YS5zdGF0ZS5zZWxlY3Rpb24sYz1vUGEoYSxlLHQpLHA9YS5zdGF0ZS5kb2MsdT1wLnNsaWNlKGMuZnJvbSxjLnRvKSxtLHY7YS5pbnB1dC5sYXN0S2V5Q29kZT09PTgmJkRhdGUubm93KCktMTAwPGEuaW5wdXQubGFzdEtleUNvZGVUaW1lPyhtPWEuc3RhdGUuc2VsZWN0aW9uLnRvLHY9ImVuZCIpOihtPWEuc3RhdGUuc2VsZWN0aW9uLmZyb20sdj0ic3RhcnQiKSxhLmlucHV0Lmxhc3RLZXlDb2RlPW51bGw7bGV0IHg9cFBhKHUuY29udGVudCxjLmRvYy5jb250ZW50LGMuZnJvbSxtLHYpO2lmKHgmJmEuaW5wdXQuZG9tQ2hhbmdlQ291bnQrKywoeW0mJmEuaW5wdXQubGFzdElPU0VudGVyPkRhdGUubm93KCktMjI1fHxiYykmJmkuc29tZShPPT5PLm5vZGVUeXBlPT0xJiYhbFBhLnRlc3QoTy5ub2RlTmFtZSkpJiYoIXh8fHguZW5kQT49eC5lbmRCKSYmYS5zb21lUHJvcCgiaGFuZGxlS2V5RG93biIsTz0+TyhhLFVmKDEzLCJFbnRlciIpKSkpe2EuaW5wdXQubGFzdElPU0VudGVyPTA7cmV0dXJufWlmKCF4KWlmKHImJmQgaW5zdGFuY2VvZiBOdCYmIWQuZW1wdHkmJmQuJGhlYWQuc2FtZVBhcmVudChkLiRhbmNob3IpJiYhYS5jb21wb3NpbmcmJiEoYy5zZWwmJmMuc2VsLmFuY2hvciE9Yy5zZWwuaGVhZCkpeD17c3RhcnQ6ZC5mcm9tLGVuZEE6ZC50byxlbmRCOmQudG99O2Vsc2V7aWYoYy5zZWwpe2xldCBPPWZuYShhLGEuc3RhdGUuZG9jLGMuc2VsKTtpZihPJiYhTy5lcShhLnN0YXRlLnNlbGVjdGlvbikpe2xldCBUPWEuc3RhdGUudHIuc2V0U2VsZWN0aW9uKE8pO28mJlQuc2V0TWV0YSgiY29tcG9zaXRpb24iLG8pLGEuZGlzcGF0Y2goVCl9fXJldHVybn1hLnN0YXRlLnNlbGVjdGlvbi5mcm9tPGEuc3RhdGUuc2VsZWN0aW9uLnRvJiZ4LnN0YXJ0PT14LmVuZEImJmEuc3RhdGUuc2VsZWN0aW9uIGluc3RhbmNlb2YgTnQmJih4LnN0YXJ0PmEuc3RhdGUuc2VsZWN0aW9uLmZyb20mJnguc3RhcnQ8PWEuc3RhdGUuc2VsZWN0aW9uLmZyb20rMiYmYS5zdGF0ZS5zZWxlY3Rpb24uZnJvbT49Yy5mcm9tP3guc3RhcnQ9YS5zdGF0ZS5zZWxlY3Rpb24uZnJvbTp4LmVuZEE8YS5zdGF0ZS5zZWxlY3Rpb24udG8mJnguZW5kQT49YS5zdGF0ZS5zZWxlY3Rpb24udG8tMiYmYS5zdGF0ZS5zZWxlY3Rpb24udG88PWMudG8mJih4LmVuZEIrPWEuc3RhdGUuc2VsZWN0aW9uLnRvLXguZW5kQSx4LmVuZEE9YS5zdGF0ZS5zZWxlY3Rpb24udG8pKSxSbyYmZzQ8PTExJiZ4LmVuZEI9PXguc3RhcnQrMSYmeC5lbmRBPT14LnN0YXJ0JiZ4LnN0YXJ0PmMuZnJvbSYmYy5kb2MudGV4dEJldHdlZW4oeC5zdGFydC1jLmZyb20tMSx4LnN0YXJ0LWMuZnJvbSsxKT09IiBceEEwIiYmKHguc3RhcnQtLSx4LmVuZEEtLSx4LmVuZEItLSk7bGV0IGI9Yy5kb2MucmVzb2x2ZU5vQ2FjaGUoeC5zdGFydC1jLmZyb20pLGc9Yy5kb2MucmVzb2x2ZU5vQ2FjaGUoeC5lbmRCLWMuZnJvbSkseT1wLnJlc29sdmUoeC5zdGFydCksaz1iLnNhbWVQYXJlbnQoZykmJmIucGFyZW50LmlubGluZUNvbnRlbnQmJnkuZW5kKCk+PXguZW5kQTtpZigoeW0mJmEuaW5wdXQubGFzdElPU0VudGVyPkRhdGUubm93KCktMjI1JiYoIWt8fGkuc29tZShPPT5PLm5vZGVOYW1lPT0iRElWInx8Ty5ub2RlTmFtZT09IlAiKSl8fCFrJiZiLnBvczxjLmRvYy5jb250ZW50LnNpemUmJighYi5zYW1lUGFyZW50KGcpfHwhYi5wYXJlbnQuaW5saW5lQ29udGVudCkmJmIucG9zPGcucG9zJiYhL1xTLy50ZXN0KGMuZG9jLnRleHRCZXR3ZWVuKGIucG9zLGcucG9zLCIiLCIiKSkpJiZhLnNvbWVQcm9wKCJoYW5kbGVLZXlEb3duIixPPT5PKGEsVWYoMTMsIkVudGVyIikpKSl7YS5pbnB1dC5sYXN0SU9TRW50ZXI9MDtyZXR1cm59aWYoYS5zdGF0ZS5zZWxlY3Rpb24uYW5jaG9yPnguc3RhcnQmJnVQYShwLHguc3RhcnQseC5lbmRBLGIsZykmJmEuc29tZVByb3AoImhhbmRsZUtleURvd24iLE89Pk8oYSxVZig4LCJCYWNrc3BhY2UiKSkpKXtiYyYmb2kmJmEuZG9tT2JzZXJ2ZXIuc3VwcHJlc3NTZWxlY3Rpb25VcGRhdGVzKCk7cmV0dXJufW9pJiZ4LmVuZEI9PXguc3RhcnQmJihhLmlucHV0Lmxhc3RDaHJvbWVEZWxldGU9RGF0ZS5ub3coKSksYmMmJiFrJiZiLnN0YXJ0KCkhPWcuc3RhcnQoKSYmZy5wYXJlbnRPZmZzZXQ9PTAmJmIuZGVwdGg9PWcuZGVwdGgmJmMuc2VsJiZjLnNlbC5hbmNob3I9PWMuc2VsLmhlYWQmJmMuc2VsLmhlYWQ9PXguZW5kQSYmKHguZW5kQi09MixnPWMuZG9jLnJlc29sdmVOb0NhY2hlKHguZW5kQi1jLmZyb20pLHNldFRpbWVvdXQoKCk9PnthLnNvbWVQcm9wKCJoYW5kbGVLZXlEb3duIixmdW5jdGlvbihPKXtyZXR1cm4gTyhhLFVmKDEzLCJFbnRlciIpKX0pfSwyMCkpO2xldCBDPXguc3RhcnQsTj14LmVuZEEsXz1zKE89PntsZXQgVD1PfHxhLnN0YXRlLnRyLnJlcGxhY2UoQyxOLGMuZG9jLnNsaWNlKHguc3RhcnQtYy5mcm9tLHguZW5kQi1jLmZyb20pKTtpZihjLnNlbCl7bGV0IFA9Zm5hKGEsVC5kb2MsYy5zZWwpO1AmJiEob2kmJmEuY29tcG9zaW5nJiZQLmVtcHR5JiYoeC5zdGFydCE9eC5lbmRCfHxhLmlucHV0Lmxhc3RDaHJvbWVEZWxldGU8RGF0ZS5ub3coKS0xMDApJiYoUC5oZWFkPT1DfHxQLmhlYWQ9PVQubWFwcGluZy5tYXAoTiktMSl8fFJvJiZQLmVtcHR5JiZQLmhlYWQ9PUMpJiZULnNldFNlbGVjdGlvbihQKX1yZXR1cm4gbyYmVC5zZXRNZXRhKCJjb21wb3NpdGlvbiIsbyksVC5zY3JvbGxJbnRvVmlldygpfSwibWtUciIpLHo7aWYoaylpZihiLnBvcz09Zy5wb3Mpe1JvJiZnNDw9MTEmJmIucGFyZW50T2Zmc2V0PT0wJiYoYS5kb21PYnNlcnZlci5zdXBwcmVzc1NlbGVjdGlvblVwZGF0ZXMoKSxzZXRUaW1lb3V0KCgpPT54YyhhKSwyMCkpO2xldCBPPV8oYS5zdGF0ZS50ci5kZWxldGUoQyxOKSksVD1wLnJlc29sdmUoeC5zdGFydCkubWFya3NBY3Jvc3MocC5yZXNvbHZlKHguZW5kQSkpO1QmJk8uZW5zdXJlTWFya3MoVCksYS5kaXNwYXRjaChPKX1lbHNlIGlmKHguZW5kQT09eC5lbmRCJiYoej1kUGEoYi5wYXJlbnQuY29udGVudC5jdXQoYi5wYXJlbnRPZmZzZXQsZy5wYXJlbnRPZmZzZXQpLHkucGFyZW50LmNvbnRlbnQuY3V0KHkucGFyZW50T2Zmc2V0LHguZW5kQS15LnN0YXJ0KCkpKSkpe2xldCBPPV8oYS5zdGF0ZS50cik7ei50eXBlPT0iYWRkIj9PLmFkZE1hcmsoQyxOLHoubWFyayk6Ty5yZW1vdmVNYXJrKEMsTix6Lm1hcmspLGEuZGlzcGF0Y2goTyl9ZWxzZSBpZihiLnBhcmVudC5jaGlsZChiLmluZGV4KCkpLmlzVGV4dCYmYi5pbmRleCgpPT1nLmluZGV4KCktKGcudGV4dE9mZnNldD8wOjEpKXtsZXQgTz1iLnBhcmVudC50ZXh0QmV0d2VlbihiLnBhcmVudE9mZnNldCxnLnBhcmVudE9mZnNldCksVD1zKCgpPT5fKGEuc3RhdGUudHIuaW5zZXJ0VGV4dChPLEMsTikpLCJkZWZsdCIpO2Euc29tZVByb3AoImhhbmRsZVRleHRJbnB1dCIsUD0+UChhLEMsTixPLFQpKXx8YS5kaXNwYXRjaChUKCkpfWVsc2UgYS5kaXNwYXRjaChfKCkpO2Vsc2UgYS5kaXNwYXRjaChfKCkpfWZ1bmN0aW9uIGZuYShhLGUsdCl7cmV0dXJuIE1hdGgubWF4KHQuYW5jaG9yLHQuaGVhZCk+ZS5jb250ZW50LnNpemU/bnVsbDpFS2UoYSxlLnJlc29sdmUodC5hbmNob3IpLGUucmVzb2x2ZSh0LmhlYWQpKX1mdW5jdGlvbiBkUGEoYSxlKXtsZXQgdD1hLmZpcnN0Q2hpbGQubWFya3Mscj1lLmZpcnN0Q2hpbGQubWFya3MsaT10LG89cixuLGwsZDtmb3IobGV0IHA9MDtwPHIubGVuZ3RoO3ArKylpPXJbcF0ucmVtb3ZlRnJvbVNldChpKTtmb3IobGV0IHA9MDtwPHQubGVuZ3RoO3ArKylvPXRbcF0ucmVtb3ZlRnJvbVNldChvKTtpZihpLmxlbmd0aD09MSYmby5sZW5ndGg9PTApbD1pWzBdLG49ImFkZCIsZD1zKHA9PnAubWFyayhsLmFkZFRvU2V0KHAubWFya3MpKSwidXBkYXRlIik7ZWxzZSBpZihpLmxlbmd0aD09MCYmby5sZW5ndGg9PTEpbD1vWzBdLG49InJlbW92ZSIsZD1zKHA9PnAubWFyayhsLnJlbW92ZUZyb21TZXQocC5tYXJrcykpLCJ1cGRhdGUiKTtlbHNlIHJldHVybiBudWxsO2xldCBjPVtdO2ZvcihsZXQgcD0wO3A8ZS5jaGlsZENvdW50O3ArKyljLnB1c2goZChlLmNoaWxkKHApKSk7aWYoamUuZnJvbShjKS5lcShhKSlyZXR1cm57bWFyazpsLHR5cGU6bn19ZnVuY3Rpb24gdVBhKGEsZSx0LHIsaSl7aWYodC1lPD1pLnBvcy1yLnBvc3x8UUtlKHIsITAsITEpPGkucG9zKXJldHVybiExO2xldCBvPWEucmVzb2x2ZShlKTtpZighci5wYXJlbnQuaXNUZXh0YmxvY2spe2xldCBsPW8ubm9kZUFmdGVyO3JldHVybiBsIT1udWxsJiZ0PT1lK2wubm9kZVNpemV9aWYoby5wYXJlbnRPZmZzZXQ8by5wYXJlbnQuY29udGVudC5zaXplfHwhby5wYXJlbnQuaXNUZXh0YmxvY2spcmV0dXJuITE7bGV0IG49YS5yZXNvbHZlKFFLZShvLCEwLCEwKSk7cmV0dXJuIW4ucGFyZW50LmlzVGV4dGJsb2NrfHxuLnBvcz50fHxRS2UobiwhMCwhMSk8dD8hMTpyLnBhcmVudC5jb250ZW50LmN1dChyLnBhcmVudE9mZnNldCkuZXEobi5wYXJlbnQuY29udGVudCl9ZnVuY3Rpb24gUUtlKGEsZSx0KXtsZXQgcj1hLmRlcHRoLGk9ZT9hLmVuZCgpOmEucG9zO2Zvcig7cj4wJiYoZXx8YS5pbmRleEFmdGVyKHIpPT1hLm5vZGUocikuY2hpbGRDb3VudCk7KXItLSxpKyssZT0hMTtpZih0KXtsZXQgbz1hLm5vZGUocikubWF5YmVDaGlsZChhLmluZGV4QWZ0ZXIocikpO2Zvcig7byYmIW8uaXNMZWFmOylvPW8uZmlyc3RDaGlsZCxpKyt9cmV0dXJuIGl9ZnVuY3Rpb24gcFBhKGEsZSx0LHIsaSl7bGV0IG89YS5maW5kRGlmZlN0YXJ0KGUsdCk7aWYobz09bnVsbClyZXR1cm4gbnVsbDtsZXR7YTpuLGI6bH09YS5maW5kRGlmZkVuZChlLHQrYS5zaXplLHQrZS5zaXplKTtpZihpPT0iZW5kIil7bGV0IGQ9TWF0aC5tYXgoMCxvLU1hdGgubWluKG4sbCkpO3ItPW4rZC1vfWlmKG48byYmYS5zaXplPGUuc2l6ZSl7bGV0IGQ9cjw9byYmcj49bj9vLXI6MDtvLT1kLG8mJm88ZS5zaXplJiZobmEoZS50ZXh0QmV0d2VlbihvLTEsbysxKSkmJihvKz1kPzE6LTEpLGw9bysobC1uKSxuPW99ZWxzZSBpZihsPG8pe2xldCBkPXI8PW8mJnI+PWw/by1yOjA7by09ZCxvJiZvPGEuc2l6ZSYmaG5hKGEudGV4dEJldHdlZW4oby0xLG8rMSkpJiYobys9ZD8xOi0xKSxuPW8rKG4tbCksbD1vfXJldHVybntzdGFydDpvLGVuZEE6bixlbmRCOmx9fWZ1bmN0aW9uIGhuYShhKXtpZihhLmxlbmd0aCE9MilyZXR1cm4hMTtsZXQgZT1hLmNoYXJDb2RlQXQoMCksdD1hLmNoYXJDb2RlQXQoMSk7cmV0dXJuIGU+PTU2MzIwJiZlPD01NzM0MyYmdD49NTUyOTYmJnQ8PTU2MzE5fWZ1bmN0aW9uIG1uYShhKXtsZXQgZT1PYmplY3QuY3JlYXRlKG51bGwpO3JldHVybiBlLmNsYXNzPSJQcm9zZU1pcnJvciIsZS5jb250ZW50ZWRpdGFibGU9U3RyaW5nKGEuZWRpdGFibGUpLGEuc29tZVByb3AoImF0dHJpYnV0ZXMiLHQ9PntpZih0eXBlb2YgdD09ImZ1bmN0aW9uIiYmKHQ9dChhLnN0YXRlKSksdClmb3IobGV0IHIgaW4gdClyPT0iY2xhc3MiP2UuY2xhc3MrPSIgIit0W3JdOnI9PSJzdHlsZSI/ZS5zdHlsZT0oZS5zdHlsZT9lLnN0eWxlKyI7IjoiIikrdFtyXTohZVtyXSYmciE9ImNvbnRlbnRlZGl0YWJsZSImJnIhPSJub2RlTmFtZSImJihlW3JdPVN0cmluZyh0W3JdKSl9KSxlLnRyYW5zbGF0ZXx8KGUudHJhbnNsYXRlPSJubyIpLFtSMS5ub2RlKDAsYS5zdGF0ZS5kb2MuY29udGVudC5zaXplLGUpXX1mdW5jdGlvbiBnbmEoYSl7aWYoYS5tYXJrQ3Vyc29yKXtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtlLmNsYXNzTmFtZT0iUHJvc2VNaXJyb3Itc2VwYXJhdG9yIixlLnNldEF0dHJpYnV0ZSgibWFyay1wbGFjZWhvbGRlciIsInRydWUiKSxlLnNldEF0dHJpYnV0ZSgiYWx0IiwiIiksYS5jdXJzb3JXcmFwcGVyPXtkb206ZSxkZWNvOlIxLndpZGdldChhLnN0YXRlLnNlbGVjdGlvbi5mcm9tLGUse3JhdzohMCxtYXJrczphLm1hcmtDdXJzb3J9KX19ZWxzZSBhLmN1cnNvcldyYXBwZXI9bnVsbH1mdW5jdGlvbiBibmEoYSl7cmV0dXJuIWEuc29tZVByb3AoImVkaXRhYmxlIixlPT5lKGEuc3RhdGUpPT09ITEpfWZ1bmN0aW9uIG1QYShhLGUpe2xldCB0PU1hdGgubWluKGEuJGFuY2hvci5zaGFyZWREZXB0aChhLmhlYWQpLGUuJGFuY2hvci5zaGFyZWREZXB0aChlLmhlYWQpKTtyZXR1cm4gYS4kYW5jaG9yLnN0YXJ0KHQpIT1lLiRhbmNob3Iuc3RhcnQodCl9ZnVuY3Rpb24gdm5hKGEpe2xldCBlPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gdChyKXtmb3IobGV0IGkgaW4gcilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxpKXx8KGVbaV09cltpXSl9cmV0dXJuIHModCwiYWRkIiksYS5zb21lUHJvcCgibm9kZVZpZXdzIix0KSxhLnNvbWVQcm9wKCJtYXJrVmlld3MiLHQpLGV9ZnVuY3Rpb24gZ1BhKGEsZSl7bGV0IHQ9MCxyPTA7Zm9yKGxldCBpIGluIGEpe2lmKGFbaV0hPWVbaV0pcmV0dXJuITA7dCsrfWZvcihsZXQgaSBpbiBlKXIrKztyZXR1cm4gdCE9cn1mdW5jdGlvbiB4bmEoYSl7aWYoYS5zcGVjLnN0YXRlfHxhLnNwZWMuZmlsdGVyVHJhbnNhY3Rpb258fGEuc3BlYy5hcHBlbmRUcmFuc2FjdGlvbil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiUGx1Z2lucyBwYXNzZWQgZGlyZWN0bHkgdG8gdGhlIHZpZXcgbXVzdCBub3QgaGF2ZSBhIHN0YXRlIGNvbXBvbmVudCIpfXZhciBpaSx4bSx3S2UsZ2MsQkRhLGpmLEhEYSxJYWUsSzIscG9hLG00LE1LZSxmb2Esa0tlLFJvLGc0LFJuLFNLZSxvaSxob2EsTmkseW0sT24sbW9hLGJjLFFVLEdEYSx3bSxzQWEsb0FhLFNvYSx6b2EsQ29hLEZuLF9vYSxXZixaMixHZixOYWUsX0tlLE1tLHY0LFJhZSxPYWUsVEtlLGVXLFlmLCRLZSxFb2EsekFhLFhvYSxRb2EsQktlLFppLFhpLERBYSxIS2UsZW5hLFdLZSxWQWEsclcscWFlLFpBYSxWYWUsS2YsR0tlLFIxLHptLFpmLFFpLFJpLGphZSxlUGEsdFBhLFpLZSxYS2UsZG5hLHVuYSxsUGEsZlBhLGhQYSxDbSxKS2U9ZigoKT0+e21jKCk7cDQoKTtoNCgpO2lpPXMoZnVuY3Rpb24oYSl7Zm9yKHZhciBlPTA7O2UrKylpZihhPWEucHJldmlvdXNTaWJsaW5nLCFhKXJldHVybiBlfSwiZG9tSW5kZXgiKSx4bT1zKGZ1bmN0aW9uKGEpe2xldCBlPWEuYXNzaWduZWRTbG90fHxhLnBhcmVudE5vZGU7cmV0dXJuIGUmJmUubm9kZVR5cGU9PTExP2UuaG9zdDplfSwicGFyZW50Tm9kZSIpLHdLZT1udWxsLGdjPXMoZnVuY3Rpb24oYSxlLHQpe2xldCByPXdLZXx8KHdLZT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpKTtyZXR1cm4gci5zZXRFbmQoYSx0Pz9hLm5vZGVWYWx1ZS5sZW5ndGgpLHIuc2V0U3RhcnQoYSxlfHwwKSxyfSwidGV4dFJhbmdlIiksQkRhPXMoZnVuY3Rpb24oKXt3S2U9bnVsbH0sImNsZWFyUmV1c2VkUmFuZ2UiKSxqZj1zKGZ1bmN0aW9uKGEsZSx0LHIpe3JldHVybiB0JiYodW9hKGEsZSx0LHIsLTEpfHx1b2EoYSxlLHQsciwxKSl9LCJpc0VxdWl2YWxlbnRQb3NpdGlvbiIpLEhEYT0vXihpbWd8YnJ8aW5wdXR8dGV4dGFyZWF8aHIpJC9pO3ModW9hLCJzY2FuRm9yIik7cyhObiwibm9kZVNpemUiKTtzKHFEYSwidGV4dE5vZGVCZWZvcmUkMSIpO3MoVkRhLCJ0ZXh0Tm9kZUFmdGVyJDEiKTtzKGpEYSwiaXNPbkVkZ2UiKTtzKFhVLCJoYXNCbG9ja0Rlc2MiKTtJYWU9cyhmdW5jdGlvbihhKXtyZXR1cm4gYS5mb2N1c05vZGUmJmpmKGEuZm9jdXNOb2RlLGEuZm9jdXNPZmZzZXQsYS5hbmNob3JOb2RlLGEuYW5jaG9yT2Zmc2V0KX0sInNlbGVjdGlvbkNvbGxhcHNlZCIpO3MoVWYsImtleUV2ZW50Iik7cyhVRGEsImRlZXBBY3RpdmVFbGVtZW50Iik7cyhXRGEsImNhcmV0RnJvbVBvaW50Iik7SzI9dHlwZW9mIG5hdmlnYXRvcjwidSI/bmF2aWdhdG9yOm51bGwscG9hPXR5cGVvZiBkb2N1bWVudDwidSI/ZG9jdW1lbnQ6bnVsbCxtND1LMiYmSzIudXNlckFnZW50fHwiIixNS2U9L0VkZ2VcLyhcZCspLy5leGVjKG00KSxmb2E9L01TSUUgXGQvLmV4ZWMobTQpLGtLZT0vVHJpZGVudFwvKD86WzctOV18XGR7Mix9KVwuLipydjooXGQrKS8uZXhlYyhtNCksUm89ISEoZm9hfHxrS2V8fE1LZSksZzQ9Zm9hP2RvY3VtZW50LmRvY3VtZW50TW9kZTprS2U/K2tLZVsxXTpNS2U/K01LZVsxXTowLFJuPSFSbyYmL2dlY2tvXC8oXGQrKS9pLnRlc3QobTQpO1JuJiYrKC9GaXJlZm94XC8oXGQrKS8uZXhlYyhtNCl8fFswLDBdKVsxXTtTS2U9IVJvJiYvQ2hyb21lXC8oXGQrKS8uZXhlYyhtNCksb2k9ISFTS2UsaG9hPVNLZT8rU0tlWzFdOjAsTmk9IVJvJiYhIUsyJiYvQXBwbGUgQ29tcHV0ZXIvLnRlc3QoSzIudmVuZG9yKSx5bT1OaSYmKC9Nb2JpbGVcL1x3Ky8udGVzdChtNCl8fCEhSzImJksyLm1heFRvdWNoUG9pbnRzPjIpLE9uPXltfHwoSzI/L01hYy8udGVzdChLMi5wbGF0Zm9ybSk6ITEpLG1vYT1LMj8vV2luLy50ZXN0KEsyLnBsYXRmb3JtKTohMSxiYz0vQW5kcm9pZCBcZC8udGVzdChtNCksUVU9ISFwb2EmJiJ3ZWJraXRGb250U21vb3RoaW5nImluIHBvYS5kb2N1bWVudEVsZW1lbnQuc3R5bGUsR0RhPVFVPysoL1xiQXBwbGVXZWJLaXRcLyhcZCspLy5leGVjKG5hdmlnYXRvci51c2VyQWdlbnQpfHxbMCwwXSlbMV06MDtzKFlEYSwid2luZG93UmVjdCIpO3ModmMsImdldFNpZGUiKTtzKEtEYSwiY2xpZW50UmVjdCIpO3MoZ29hLCJzY3JvbGxSZWN0SW50b1ZpZXciKTtzKFpEYSwic3RvcmVTY3JvbGxQb3MiKTtzKGJvYSwic2Nyb2xsU3RhY2siKTtzKFhEYSwicmVzZXRTY3JvbGxQb3MiKTtzKHZvYSwicmVzdG9yZVNjcm9sbFN0YWNrIik7d209bnVsbDtzKFFEYSwiZm9jdXNQcmV2ZW50U2Nyb2xsIik7cyh4b2EsImZpbmRPZmZzZXRJbk5vZGUiKTtzKEpEYSwiZmluZE9mZnNldEluVGV4dCIpO3MoektlLCJpblJlY3QiKTtzKGVBYSwidGFyZ2V0S2x1ZGdlIik7cyh0QWEsInBvc0Zyb21FbGVtZW50Iik7cyhhQWEsInBvc0Zyb21DYXJldCIpO3MoeW9hLCJlbGVtZW50RnJvbVBvaW50Iik7cyhyQWEsInBvc0F0Q29vcmRzIik7cyh3b2EsIm5vblplcm8iKTtzKGI0LCJzaW5nbGVSZWN0Iik7c0FhPS9bXHUwNTkwLVx1MDVmNFx1MDYwMC1cdTA2ZmZcdTA3MDAtXHUwOGFjXS87cyhNb2EsImNvb3Jkc0F0UG9zIik7cyhKVSwiZmxhdHRlblYiKTtzKENLZSwiZmxhdHRlbkgiKTtzKGtvYSwid2l0aEZsdXNoZWRTdGF0ZSIpO3MoaUFhLCJlbmRPZlRleHRibG9ja1ZlcnRpY2FsIik7b0FhPS9bXHUwNTkwLVx1MDhhY10vO3MobkFhLCJlbmRPZlRleHRibG9ja0hvcml6b250YWwiKTtTb2E9bnVsbCx6b2E9bnVsbCxDb2E9ITE7cyhsQWEsImVuZE9mVGV4dGJsb2NrIik7Rm49MCxfb2E9MSxXZj0yLFoyPTMsR2Y9Y2xhc3N7c3RhdGlje3ModGhpcywiVmlld0Rlc2MiKX1jb25zdHJ1Y3RvcihlLHQscixpKXt0aGlzLnBhcmVudD1lLHRoaXMuY2hpbGRyZW49dCx0aGlzLmRvbT1yLHRoaXMuY29udGVudERPTT1pLHRoaXMuZGlydHk9Rm4sci5wbVZpZXdEZXNjPXRoaXN9bWF0Y2hlc1dpZGdldChlKXtyZXR1cm4hMX1tYXRjaGVzTWFyayhlKXtyZXR1cm4hMX1tYXRjaGVzTm9kZShlLHQscil7cmV0dXJuITF9bWF0Y2hlc0hhY2soZSl7cmV0dXJuITF9cGFyc2VSdWxlKCl7cmV0dXJuIG51bGx9c3RvcEV2ZW50KGUpe3JldHVybiExfWdldCBzaXplKCl7bGV0IGU9MDtmb3IobGV0IHQ9MDt0PHRoaXMuY2hpbGRyZW4ubGVuZ3RoO3QrKyllKz10aGlzLmNoaWxkcmVuW3RdLnNpemU7cmV0dXJuIGV9Z2V0IGJvcmRlcigpe3JldHVybiAwfWRlc3Ryb3koKXt0aGlzLnBhcmVudD12b2lkIDAsdGhpcy5kb20ucG1WaWV3RGVzYz09dGhpcyYmKHRoaXMuZG9tLnBtVmlld0Rlc2M9dm9pZCAwKTtmb3IobGV0IGU9MDtlPHRoaXMuY2hpbGRyZW4ubGVuZ3RoO2UrKyl0aGlzLmNoaWxkcmVuW2VdLmRlc3Ryb3koKX1wb3NCZWZvcmVDaGlsZChlKXtmb3IobGV0IHQ9MCxyPXRoaXMucG9zQXRTdGFydDs7dCsrKXtsZXQgaT10aGlzLmNoaWxkcmVuW3RdO2lmKGk9PWUpcmV0dXJuIHI7cis9aS5zaXplfX1nZXQgcG9zQmVmb3JlKCl7cmV0dXJuIHRoaXMucGFyZW50LnBvc0JlZm9yZUNoaWxkKHRoaXMpfWdldCBwb3NBdFN0YXJ0KCl7cmV0dXJuIHRoaXMucGFyZW50P3RoaXMucGFyZW50LnBvc0JlZm9yZUNoaWxkKHRoaXMpK3RoaXMuYm9yZGVyOjB9Z2V0IHBvc0FmdGVyKCl7cmV0dXJuIHRoaXMucG9zQmVmb3JlK3RoaXMuc2l6ZX1nZXQgcG9zQXRFbmQoKXtyZXR1cm4gdGhpcy5wb3NBdFN0YXJ0K3RoaXMuc2l6ZS0yKnRoaXMuYm9yZGVyfWxvY2FsUG9zRnJvbURPTShlLHQscil7aWYodGhpcy5jb250ZW50RE9NJiZ0aGlzLmNvbnRlbnRET00uY29udGFpbnMoZS5ub2RlVHlwZT09MT9lOmUucGFyZW50Tm9kZSkpaWYocjwwKXtsZXQgbyxuO2lmKGU9PXRoaXMuY29udGVudERPTSlvPWUuY2hpbGROb2Rlc1t0LTFdO2Vsc2V7Zm9yKDtlLnBhcmVudE5vZGUhPXRoaXMuY29udGVudERPTTspZT1lLnBhcmVudE5vZGU7bz1lLnByZXZpb3VzU2libGluZ31mb3IoO28mJiEoKG49by5wbVZpZXdEZXNjKSYmbi5wYXJlbnQ9PXRoaXMpOylvPW8ucHJldmlvdXNTaWJsaW5nO3JldHVybiBvP3RoaXMucG9zQmVmb3JlQ2hpbGQobikrbi5zaXplOnRoaXMucG9zQXRTdGFydH1lbHNle2xldCBvLG47aWYoZT09dGhpcy5jb250ZW50RE9NKW89ZS5jaGlsZE5vZGVzW3RdO2Vsc2V7Zm9yKDtlLnBhcmVudE5vZGUhPXRoaXMuY29udGVudERPTTspZT1lLnBhcmVudE5vZGU7bz1lLm5leHRTaWJsaW5nfWZvcig7byYmISgobj1vLnBtVmlld0Rlc2MpJiZuLnBhcmVudD09dGhpcyk7KW89by5uZXh0U2libGluZztyZXR1cm4gbz90aGlzLnBvc0JlZm9yZUNoaWxkKG4pOnRoaXMucG9zQXRFbmR9bGV0IGk7aWYoZT09dGhpcy5kb20mJnRoaXMuY29udGVudERPTSlpPXQ+aWkodGhpcy5jb250ZW50RE9NKTtlbHNlIGlmKHRoaXMuY29udGVudERPTSYmdGhpcy5jb250ZW50RE9NIT10aGlzLmRvbSYmdGhpcy5kb20uY29udGFpbnModGhpcy5jb250ZW50RE9NKSlpPWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcy5jb250ZW50RE9NKSYyO2Vsc2UgaWYodGhpcy5kb20uZmlyc3RDaGlsZCl7aWYodD09MClmb3IobGV0IG89ZTs7bz1vLnBhcmVudE5vZGUpe2lmKG89PXRoaXMuZG9tKXtpPSExO2JyZWFrfWlmKG8ucHJldmlvdXNTaWJsaW5nKWJyZWFrfWlmKGk9PW51bGwmJnQ9PWUuY2hpbGROb2Rlcy5sZW5ndGgpZm9yKGxldCBvPWU7O289by5wYXJlbnROb2RlKXtpZihvPT10aGlzLmRvbSl7aT0hMDticmVha31pZihvLm5leHRTaWJsaW5nKWJyZWFrfX1yZXR1cm4gaT8/cj4wP3RoaXMucG9zQXRFbmQ6dGhpcy5wb3NBdFN0YXJ0fW5lYXJlc3REZXNjKGUsdD0hMSl7Zm9yKGxldCByPSEwLGk9ZTtpO2k9aS5wYXJlbnROb2RlKXtsZXQgbz10aGlzLmdldERlc2MoaSksbjtpZihvJiYoIXR8fG8ubm9kZSkpaWYociYmKG49by5ub2RlRE9NKSYmIShuLm5vZGVUeXBlPT0xP24uY29udGFpbnMoZS5ub2RlVHlwZT09MT9lOmUucGFyZW50Tm9kZSk6bj09ZSkpcj0hMTtlbHNlIHJldHVybiBvfX1nZXREZXNjKGUpe2xldCB0PWUucG1WaWV3RGVzYztmb3IobGV0IHI9dDtyO3I9ci5wYXJlbnQpaWYocj09dGhpcylyZXR1cm4gdH1wb3NGcm9tRE9NKGUsdCxyKXtmb3IobGV0IGk9ZTtpO2k9aS5wYXJlbnROb2RlKXtsZXQgbz10aGlzLmdldERlc2MoaSk7aWYobylyZXR1cm4gby5sb2NhbFBvc0Zyb21ET00oZSx0LHIpfXJldHVybi0xfWRlc2NBdChlKXtmb3IobGV0IHQ9MCxyPTA7dDx0aGlzLmNoaWxkcmVuLmxlbmd0aDt0Kyspe2xldCBpPXRoaXMuY2hpbGRyZW5bdF0sbz1yK2kuc2l6ZTtpZihyPT1lJiZvIT1yKXtmb3IoOyFpLmJvcmRlciYmaS5jaGlsZHJlbi5sZW5ndGg7KWZvcihsZXQgbj0wO248aS5jaGlsZHJlbi5sZW5ndGg7bisrKXtsZXQgbD1pLmNoaWxkcmVuW25dO2lmKGwuc2l6ZSl7aT1sO2JyZWFrfX1yZXR1cm4gaX1pZihlPG8pcmV0dXJuIGkuZGVzY0F0KGUtci1pLmJvcmRlcik7cj1vfX1kb21Gcm9tUG9zKGUsdCl7aWYoIXRoaXMuY29udGVudERPTSlyZXR1cm57bm9kZTp0aGlzLmRvbSxvZmZzZXQ6MCxhdG9tOmUrMX07bGV0IHI9MCxpPTA7Zm9yKGxldCBvPTA7cjx0aGlzLmNoaWxkcmVuLmxlbmd0aDtyKyspe2xldCBuPXRoaXMuY2hpbGRyZW5bcl0sbD1vK24uc2l6ZTtpZihsPmV8fG4gaW5zdGFuY2VvZiBPYWUpe2k9ZS1vO2JyZWFrfW89bH1pZihpKXJldHVybiB0aGlzLmNoaWxkcmVuW3JdLmRvbUZyb21Qb3MoaS10aGlzLmNoaWxkcmVuW3JdLmJvcmRlcix0KTtmb3IobGV0IG87ciYmIShvPXRoaXMuY2hpbGRyZW5bci0xXSkuc2l6ZSYmbyBpbnN0YW5jZW9mIE5hZSYmby5zaWRlPj0wO3ItLSk7aWYodDw9MCl7bGV0IG8sbj0hMDtmb3IoO289cj90aGlzLmNoaWxkcmVuW3ItMV06bnVsbCwhKCFvfHxvLmRvbS5wYXJlbnROb2RlPT10aGlzLmNvbnRlbnRET00pO3ItLSxuPSExKTtyZXR1cm4gbyYmdCYmbiYmIW8uYm9yZGVyJiYhby5kb21BdG9tP28uZG9tRnJvbVBvcyhvLnNpemUsdCk6e25vZGU6dGhpcy5jb250ZW50RE9NLG9mZnNldDpvP2lpKG8uZG9tKSsxOjB9fWVsc2V7bGV0IG8sbj0hMDtmb3IoO289cjx0aGlzLmNoaWxkcmVuLmxlbmd0aD90aGlzLmNoaWxkcmVuW3JdOm51bGwsISghb3x8by5kb20ucGFyZW50Tm9kZT09dGhpcy5jb250ZW50RE9NKTtyKyssbj0hMSk7cmV0dXJuIG8mJm4mJiFvLmJvcmRlciYmIW8uZG9tQXRvbT9vLmRvbUZyb21Qb3MoMCx0KTp7bm9kZTp0aGlzLmNvbnRlbnRET00sb2Zmc2V0Om8/aWkoby5kb20pOnRoaXMuY29udGVudERPTS5jaGlsZE5vZGVzLmxlbmd0aH19fXBhcnNlUmFuZ2UoZSx0LHI9MCl7aWYodGhpcy5jaGlsZHJlbi5sZW5ndGg9PTApcmV0dXJue25vZGU6dGhpcy5jb250ZW50RE9NLGZyb206ZSx0bzp0LGZyb21PZmZzZXQ6MCx0b09mZnNldDp0aGlzLmNvbnRlbnRET00uY2hpbGROb2Rlcy5sZW5ndGh9O2xldCBpPS0xLG89LTE7Zm9yKGxldCBuPXIsbD0wOztsKyspe2xldCBkPXRoaXMuY2hpbGRyZW5bbF0sYz1uK2Quc2l6ZTtpZihpPT0tMSYmZTw9Yyl7bGV0IHA9bitkLmJvcmRlcjtpZihlPj1wJiZ0PD1jLWQuYm9yZGVyJiZkLm5vZGUmJmQuY29udGVudERPTSYmdGhpcy5jb250ZW50RE9NLmNvbnRhaW5zKGQuY29udGVudERPTSkpcmV0dXJuIGQucGFyc2VSYW5nZShlLHQscCk7ZT1uO2ZvcihsZXQgdT1sO3U+MDt1LS0pe2xldCBtPXRoaXMuY2hpbGRyZW5bdS0xXTtpZihtLnNpemUmJm0uZG9tLnBhcmVudE5vZGU9PXRoaXMuY29udGVudERPTSYmIW0uZW1wdHlDaGlsZEF0KDEpKXtpPWlpKG0uZG9tKSsxO2JyZWFrfWUtPW0uc2l6ZX1pPT0tMSYmKGk9MCl9aWYoaT4tMSYmKGM+dHx8bD09dGhpcy5jaGlsZHJlbi5sZW5ndGgtMSkpe3Q9Yztmb3IobGV0IHA9bCsxO3A8dGhpcy5jaGlsZHJlbi5sZW5ndGg7cCsrKXtsZXQgdT10aGlzLmNoaWxkcmVuW3BdO2lmKHUuc2l6ZSYmdS5kb20ucGFyZW50Tm9kZT09dGhpcy5jb250ZW50RE9NJiYhdS5lbXB0eUNoaWxkQXQoLTEpKXtvPWlpKHUuZG9tKTticmVha310Kz11LnNpemV9bz09LTEmJihvPXRoaXMuY29udGVudERPTS5jaGlsZE5vZGVzLmxlbmd0aCk7YnJlYWt9bj1jfXJldHVybntub2RlOnRoaXMuY29udGVudERPTSxmcm9tOmUsdG86dCxmcm9tT2Zmc2V0OmksdG9PZmZzZXQ6b319ZW1wdHlDaGlsZEF0KGUpe2lmKHRoaXMuYm9yZGVyfHwhdGhpcy5jb250ZW50RE9NfHwhdGhpcy5jaGlsZHJlbi5sZW5ndGgpcmV0dXJuITE7bGV0IHQ9dGhpcy5jaGlsZHJlbltlPDA/MDp0aGlzLmNoaWxkcmVuLmxlbmd0aC0xXTtyZXR1cm4gdC5zaXplPT0wfHx0LmVtcHR5Q2hpbGRBdChlKX1kb21BZnRlclBvcyhlKXtsZXR7bm9kZTp0LG9mZnNldDpyfT10aGlzLmRvbUZyb21Qb3MoZSwwKTtpZih0Lm5vZGVUeXBlIT0xfHxyPT10LmNoaWxkTm9kZXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJObyBub2RlIGFmdGVyIHBvcyAiK2UpO3JldHVybiB0LmNoaWxkTm9kZXNbcl19c2V0U2VsZWN0aW9uKGUsdCxyLGk9ITEpe2xldCBvPU1hdGgubWluKGUsdCksbj1NYXRoLm1heChlLHQpO2ZvcihsZXQgdj0wLHg9MDt2PHRoaXMuY2hpbGRyZW4ubGVuZ3RoO3YrKyl7bGV0IGI9dGhpcy5jaGlsZHJlblt2XSxnPXgrYi5zaXplO2lmKG8+eCYmbjxnKXJldHVybiBiLnNldFNlbGVjdGlvbihlLXgtYi5ib3JkZXIsdC14LWIuYm9yZGVyLHIsaSk7eD1nfWxldCBsPXRoaXMuZG9tRnJvbVBvcyhlLGU/LTE6MSksZD10PT1lP2w6dGhpcy5kb21Gcm9tUG9zKHQsdD8tMToxKSxjPXIucm9vdC5nZXRTZWxlY3Rpb24oKSxwPXIuZG9tU2VsZWN0aW9uUmFuZ2UoKSx1PSExO2lmKChSbnx8TmkpJiZlPT10KXtsZXR7bm9kZTp2LG9mZnNldDp4fT1sO2lmKHYubm9kZVR5cGU9PTMpe2lmKHU9ISEoeCYmdi5ub2RlVmFsdWVbeC0xXT09YApgKSx1JiZ4PT12Lm5vZGVWYWx1ZS5sZW5ndGgpZm9yKGxldCBiPXYsZztiO2I9Yi5wYXJlbnROb2RlKXtpZihnPWIubmV4dFNpYmxpbmcpe2cubm9kZU5hbWU9PSJCUiImJihsPWQ9e25vZGU6Zy5wYXJlbnROb2RlLG9mZnNldDppaShnKSsxfSk7YnJlYWt9bGV0IHk9Yi5wbVZpZXdEZXNjO2lmKHkmJnkubm9kZSYmeS5ub2RlLmlzQmxvY2spYnJlYWt9fWVsc2V7bGV0IGI9di5jaGlsZE5vZGVzW3gtMV07dT1iJiYoYi5ub2RlTmFtZT09IkJSInx8Yi5jb250ZW50RWRpdGFibGU9PSJmYWxzZSIpfX1pZihSbiYmcC5mb2N1c05vZGUmJnAuZm9jdXNOb2RlIT1kLm5vZGUmJnAuZm9jdXNOb2RlLm5vZGVUeXBlPT0xKXtsZXQgdj1wLmZvY3VzTm9kZS5jaGlsZE5vZGVzW3AuZm9jdXNPZmZzZXRdO3YmJnYuY29udGVudEVkaXRhYmxlPT0iZmFsc2UiJiYoaT0hMCl9aWYoIShpfHx1JiZOaSkmJmpmKGwubm9kZSxsLm9mZnNldCxwLmFuY2hvck5vZGUscC5hbmNob3JPZmZzZXQpJiZqZihkLm5vZGUsZC5vZmZzZXQscC5mb2N1c05vZGUscC5mb2N1c09mZnNldCkpcmV0dXJuO2xldCBtPSExO2lmKChjLmV4dGVuZHx8ZT09dCkmJiEodSYmUm4pKXtjLmNvbGxhcHNlKGwubm9kZSxsLm9mZnNldCk7dHJ5e2UhPXQmJmMuZXh0ZW5kKGQubm9kZSxkLm9mZnNldCksbT0hMH1jYXRjaHt9fWlmKCFtKXtpZihlPnQpe2xldCB4PWw7bD1kLGQ9eH1sZXQgdj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3Yuc2V0RW5kKGQubm9kZSxkLm9mZnNldCksdi5zZXRTdGFydChsLm5vZGUsbC5vZmZzZXQpLGMucmVtb3ZlQWxsUmFuZ2VzKCksYy5hZGRSYW5nZSh2KX19aWdub3JlTXV0YXRpb24oZSl7cmV0dXJuIXRoaXMuY29udGVudERPTSYmZS50eXBlIT0ic2VsZWN0aW9uIn1nZXQgY29udGVudExvc3QoKXtyZXR1cm4gdGhpcy5jb250ZW50RE9NJiZ0aGlzLmNvbnRlbnRET00hPXRoaXMuZG9tJiYhdGhpcy5kb20uY29udGFpbnModGhpcy5jb250ZW50RE9NKX1tYXJrRGlydHkoZSx0KXtmb3IobGV0IHI9MCxpPTA7aTx0aGlzLmNoaWxkcmVuLmxlbmd0aDtpKyspe2xldCBvPXRoaXMuY2hpbGRyZW5baV0sbj1yK28uc2l6ZTtpZihyPT1uP2U8PW4mJnQ+PXI6ZTxuJiZ0PnIpe2xldCBsPXIrby5ib3JkZXIsZD1uLW8uYm9yZGVyO2lmKGU+PWwmJnQ8PWQpe3RoaXMuZGlydHk9ZT09cnx8dD09bj9XZjpfb2EsZT09bCYmdD09ZCYmKG8uY29udGVudExvc3R8fG8uZG9tLnBhcmVudE5vZGUhPXRoaXMuY29udGVudERPTSk/by5kaXJ0eT1aMjpvLm1hcmtEaXJ0eShlLWwsdC1sKTtyZXR1cm59ZWxzZSBvLmRpcnR5PW8uZG9tPT1vLmNvbnRlbnRET00mJm8uZG9tLnBhcmVudE5vZGU9PXRoaXMuY29udGVudERPTSYmIW8uY2hpbGRyZW4ubGVuZ3RoP1dmOloyfXI9bn10aGlzLmRpcnR5PVdmfW1hcmtQYXJlbnRzRGlydHkoKXtsZXQgZT0xO2ZvcihsZXQgdD10aGlzLnBhcmVudDt0O3Q9dC5wYXJlbnQsZSsrKXtsZXQgcj1lPT0xP1dmOl9vYTt0LmRpcnR5PHImJih0LmRpcnR5PXIpfX1nZXQgZG9tQXRvbSgpe3JldHVybiExfWdldCBpZ25vcmVGb3JDb29yZHMoKXtyZXR1cm4hMX1nZXQgaWdub3JlRm9yU2VsZWN0aW9uKCl7cmV0dXJuITF9aXNUZXh0KGUpe3JldHVybiExfX0sTmFlPWNsYXNzIGV4dGVuZHMgR2Z7c3RhdGlje3ModGhpcywiV2lkZ2V0Vmlld0Rlc2MiKX1jb25zdHJ1Y3RvcihlLHQscixpKXtsZXQgbyxuPXQudHlwZS50b0RPTTtpZih0eXBlb2Ygbj09ImZ1bmN0aW9uIiYmKG49bihyLCgpPT57aWYoIW8pcmV0dXJuIGk7aWYoby5wYXJlbnQpcmV0dXJuIG8ucGFyZW50LnBvc0JlZm9yZUNoaWxkKG8pfSkpLCF0LnR5cGUuc3BlYy5yYXcpe2lmKG4ubm9kZVR5cGUhPTEpe2xldCBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtsLmFwcGVuZENoaWxkKG4pLG49bH1uLmNvbnRlbnRFZGl0YWJsZT0iZmFsc2UiLG4uY2xhc3NMaXN0LmFkZCgiUHJvc2VNaXJyb3Itd2lkZ2V0Iil9c3VwZXIoZSxbXSxuLG51bGwpLHRoaXMud2lkZ2V0PXQsdGhpcy53aWRnZXQ9dCxvPXRoaXN9bWF0Y2hlc1dpZGdldChlKXtyZXR1cm4gdGhpcy5kaXJ0eT09Rm4mJmUudHlwZS5lcSh0aGlzLndpZGdldC50eXBlKX1wYXJzZVJ1bGUoKXtyZXR1cm57aWdub3JlOiEwfX1zdG9wRXZlbnQoZSl7bGV0IHQ9dGhpcy53aWRnZXQuc3BlYy5zdG9wRXZlbnQ7cmV0dXJuIHQ/dChlKTohMX1pZ25vcmVNdXRhdGlvbihlKXtyZXR1cm4gZS50eXBlIT0ic2VsZWN0aW9uInx8dGhpcy53aWRnZXQuc3BlYy5pZ25vcmVTZWxlY3Rpb259ZGVzdHJveSgpe3RoaXMud2lkZ2V0LnR5cGUuZGVzdHJveSh0aGlzLmRvbSksc3VwZXIuZGVzdHJveSgpfWdldCBkb21BdG9tKCl7cmV0dXJuITB9Z2V0IGlnbm9yZUZvclNlbGVjdGlvbigpe3JldHVybiEhdGhpcy53aWRnZXQudHlwZS5zcGVjLnJlbGF4ZWRTaWRlfWdldCBzaWRlKCl7cmV0dXJuIHRoaXMud2lkZ2V0LnR5cGUuc2lkZX19LF9LZT1jbGFzcyBleHRlbmRzIEdme3N0YXRpY3tzKHRoaXMsIkNvbXBvc2l0aW9uVmlld0Rlc2MiKX1jb25zdHJ1Y3RvcihlLHQscixpKXtzdXBlcihlLFtdLHQsbnVsbCksdGhpcy50ZXh0RE9NPXIsdGhpcy50ZXh0PWl9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy50ZXh0Lmxlbmd0aH1sb2NhbFBvc0Zyb21ET00oZSx0KXtyZXR1cm4gZSE9dGhpcy50ZXh0RE9NP3RoaXMucG9zQXRTdGFydCsodD90aGlzLnNpemU6MCk6dGhpcy5wb3NBdFN0YXJ0K3R9ZG9tRnJvbVBvcyhlKXtyZXR1cm57bm9kZTp0aGlzLnRleHRET00sb2Zmc2V0OmV9fWlnbm9yZU11dGF0aW9uKGUpe3JldHVybiBlLnR5cGU9PT0iY2hhcmFjdGVyRGF0YSImJmUudGFyZ2V0Lm5vZGVWYWx1ZT09ZS5vbGRWYWx1ZX19LE1tPWNsYXNzIGEgZXh0ZW5kcyBHZntzdGF0aWN7cyh0aGlzLCJNYXJrVmlld0Rlc2MiKX1jb25zdHJ1Y3RvcihlLHQscixpLG8pe3N1cGVyKGUsW10scixpKSx0aGlzLm1hcms9dCx0aGlzLnNwZWM9b31zdGF0aWMgY3JlYXRlKGUsdCxyLGkpe2xldCBvPWkubm9kZVZpZXdzW3QudHlwZS5uYW1lXSxuPW8mJm8odCxpLHIpO3JldHVybighbnx8IW4uZG9tKSYmKG49VzIucmVuZGVyU3BlYyhkb2N1bWVudCx0LnR5cGUuc3BlYy50b0RPTSh0LHIpLG51bGwsdC5hdHRycykpLG5ldyBhKGUsdCxuLmRvbSxuLmNvbnRlbnRET018fG4uZG9tLG4pfXBhcnNlUnVsZSgpe3JldHVybiB0aGlzLmRpcnR5JloyfHx0aGlzLm1hcmsudHlwZS5zcGVjLnJlcGFyc2VJblZpZXc/bnVsbDp7bWFyazp0aGlzLm1hcmsudHlwZS5uYW1lLGF0dHJzOnRoaXMubWFyay5hdHRycyxjb250ZW50RWxlbWVudDp0aGlzLmNvbnRlbnRET019fW1hdGNoZXNNYXJrKGUpe3JldHVybiB0aGlzLmRpcnR5IT1aMiYmdGhpcy5tYXJrLmVxKGUpfW1hcmtEaXJ0eShlLHQpe2lmKHN1cGVyLm1hcmtEaXJ0eShlLHQpLHRoaXMuZGlydHkhPUZuKXtsZXQgcj10aGlzLnBhcmVudDtmb3IoOyFyLm5vZGU7KXI9ci5wYXJlbnQ7ci5kaXJ0eTx0aGlzLmRpcnR5JiYoci5kaXJ0eT10aGlzLmRpcnR5KSx0aGlzLmRpcnR5PUZufX1zbGljZShlLHQscil7bGV0IGk9YS5jcmVhdGUodGhpcy5wYXJlbnQsdGhpcy5tYXJrLCEwLHIpLG89dGhpcy5jaGlsZHJlbixuPXRoaXMuc2l6ZTt0PG4mJihvPURLZShvLHQsbixyKSksZT4wJiYobz1ES2UobywwLGUscikpO2ZvcihsZXQgbD0wO2w8by5sZW5ndGg7bCsrKW9bbF0ucGFyZW50PWk7cmV0dXJuIGkuY2hpbGRyZW49byxpfWlnbm9yZU11dGF0aW9uKGUpe3JldHVybiB0aGlzLnNwZWMuaWdub3JlTXV0YXRpb24/dGhpcy5zcGVjLmlnbm9yZU11dGF0aW9uKGUpOnN1cGVyLmlnbm9yZU11dGF0aW9uKGUpfWRlc3Ryb3koKXt0aGlzLnNwZWMuZGVzdHJveSYmdGhpcy5zcGVjLmRlc3Ryb3koKSxzdXBlci5kZXN0cm95KCl9fSx2ND1jbGFzcyBhIGV4dGVuZHMgR2Z7c3RhdGlje3ModGhpcywiTm9kZVZpZXdEZXNjIil9Y29uc3RydWN0b3IoZSx0LHIsaSxvLG4sbCxkLGMpe3N1cGVyKGUsW10sbyxuKSx0aGlzLm5vZGU9dCx0aGlzLm91dGVyRGVjbz1yLHRoaXMuaW5uZXJEZWNvPWksdGhpcy5ub2RlRE9NPWx9c3RhdGljIGNyZWF0ZShlLHQscixpLG8sbil7bGV0IGw9by5ub2RlVmlld3NbdC50eXBlLm5hbWVdLGQsYz1sJiZsKHQsbywoKT0+e2lmKCFkKXJldHVybiBuO2lmKGQucGFyZW50KXJldHVybiBkLnBhcmVudC5wb3NCZWZvcmVDaGlsZChkKX0scixpKSxwPWMmJmMuZG9tLHU9YyYmYy5jb250ZW50RE9NO2lmKHQuaXNUZXh0KXtpZighcClwPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHQudGV4dCk7ZWxzZSBpZihwLm5vZGVUeXBlIT0zKXRocm93IG5ldyBSYW5nZUVycm9yKCJUZXh0IG11c3QgYmUgcmVuZGVyZWQgYXMgYSBET00gdGV4dCBub2RlIil9ZWxzZSBwfHwoe2RvbTpwLGNvbnRlbnRET006dX09VzIucmVuZGVyU3BlYyhkb2N1bWVudCx0LnR5cGUuc3BlYy50b0RPTSh0KSxudWxsLHQuYXR0cnMpKTshdSYmIXQuaXNUZXh0JiZwLm5vZGVOYW1lIT0iQlIiJiYocC5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHwocC5jb250ZW50RWRpdGFibGU9ImZhbHNlIiksdC50eXBlLnNwZWMuZHJhZ2dhYmxlJiYocC5kcmFnZ2FibGU9ITApKTtsZXQgbT1wO3JldHVybiBwPURvYShwLHIsdCksYz9kPW5ldyBUS2UoZSx0LHIsaSxwLHV8fG51bGwsbSxjLG8sbisxKTp0LmlzVGV4dD9uZXcgUmFlKGUsdCxyLGkscCxtLG8pOm5ldyBhKGUsdCxyLGkscCx1fHxudWxsLG0sbyxuKzEpfXBhcnNlUnVsZSgpe2lmKHRoaXMubm9kZS50eXBlLnNwZWMucmVwYXJzZUluVmlldylyZXR1cm4gbnVsbDtsZXQgZT17bm9kZTp0aGlzLm5vZGUudHlwZS5uYW1lLGF0dHJzOnRoaXMubm9kZS5hdHRyc307aWYodGhpcy5ub2RlLnR5cGUud2hpdGVzcGFjZT09InByZSImJihlLnByZXNlcnZlV2hpdGVzcGFjZT0iZnVsbCIpLCF0aGlzLmNvbnRlbnRET00pZS5nZXRDb250ZW50PSgpPT50aGlzLm5vZGUuY29udGVudDtlbHNlIGlmKCF0aGlzLmNvbnRlbnRMb3N0KWUuY29udGVudEVsZW1lbnQ9dGhpcy5jb250ZW50RE9NO2Vsc2V7Zm9yKGxldCB0PXRoaXMuY2hpbGRyZW4ubGVuZ3RoLTE7dD49MDt0LS0pe2xldCByPXRoaXMuY2hpbGRyZW5bdF07aWYodGhpcy5kb20uY29udGFpbnMoci5kb20ucGFyZW50Tm9kZSkpe2UuY29udGVudEVsZW1lbnQ9ci5kb20ucGFyZW50Tm9kZTticmVha319ZS5jb250ZW50RWxlbWVudHx8KGUuZ2V0Q29udGVudD0oKT0+amUuZW1wdHkpfXJldHVybiBlfW1hdGNoZXNOb2RlKGUsdCxyKXtyZXR1cm4gdGhpcy5kaXJ0eT09Rm4mJmUuZXEodGhpcy5ub2RlKSYmRmFlKHQsdGhpcy5vdXRlckRlY28pJiZyLmVxKHRoaXMuaW5uZXJEZWNvKX1nZXQgc2l6ZSgpe3JldHVybiB0aGlzLm5vZGUubm9kZVNpemV9Z2V0IGJvcmRlcigpe3JldHVybiB0aGlzLm5vZGUuaXNMZWFmPzA6MX11cGRhdGVDaGlsZHJlbihlLHQpe2xldCByPXRoaXMubm9kZS5pbmxpbmVDb250ZW50LGk9dCxvPWUuY29tcG9zaW5nP3RoaXMubG9jYWxDb21wb3NpdGlvbkluZm8oZSx0KTpudWxsLG49byYmby5wb3M+LTE/bzpudWxsLGw9byYmby5wb3M8MCxkPW5ldyAkS2UodGhpcyxuJiZuLm5vZGUsZSk7cEFhKHRoaXMubm9kZSx0aGlzLmlubmVyRGVjbywoYyxwLHUpPT57Yy5zcGVjLm1hcmtzP2Quc3luY1RvTWFya3MoYy5zcGVjLm1hcmtzLHIsZSxwKTpjLnR5cGUuc2lkZT49MCYmIXUmJmQuc3luY1RvTWFya3MocD09dGhpcy5ub2RlLmNoaWxkQ291bnQ/RGEubm9uZTp0aGlzLm5vZGUuY2hpbGQocCkubWFya3MscixlLHApLGQucGxhY2VXaWRnZXQoYyxlLGkpfSwoYyxwLHUsbSk9PntkLnN5bmNUb01hcmtzKGMubWFya3MscixlLG0pO2xldCB2O2QuZmluZE5vZGVNYXRjaChjLHAsdSxtKXx8bCYmZS5zdGF0ZS5zZWxlY3Rpb24uZnJvbT5pJiZlLnN0YXRlLnNlbGVjdGlvbi50bzxpK2Mubm9kZVNpemUmJih2PWQuZmluZEluZGV4V2l0aENoaWxkKG8ubm9kZSkpPi0xJiZkLnVwZGF0ZU5vZGVBdChjLHAsdSx2LGUpfHxkLnVwZGF0ZU5leHROb2RlKGMscCx1LGUsbSxpKXx8ZC5hZGROb2RlKGMscCx1LGUsaSksaSs9Yy5ub2RlU2l6ZX0pLGQuc3luY1RvTWFya3MoW10scixlLDApLHRoaXMubm9kZS5pc1RleHRibG9jayYmZC5hZGRUZXh0YmxvY2tIYWNrcygpLGQuZGVzdHJveVJlc3QoKSwoZC5jaGFuZ2VkfHx0aGlzLmRpcnR5PT1XZikmJihuJiZ0aGlzLnByb3RlY3RMb2NhbENvbXBvc2l0aW9uKGUsbiksTG9hKHRoaXMuY29udGVudERPTSx0aGlzLmNoaWxkcmVuLGUpLHltJiZmQWEodGhpcy5kb20pKX1sb2NhbENvbXBvc2l0aW9uSW5mbyhlLHQpe2xldHtmcm9tOnIsdG86aX09ZS5zdGF0ZS5zZWxlY3Rpb247aWYoIShlLnN0YXRlLnNlbGVjdGlvbiBpbnN0YW5jZW9mIE50KXx8cjx0fHxpPnQrdGhpcy5ub2RlLmNvbnRlbnQuc2l6ZSlyZXR1cm4gbnVsbDtsZXQgbz1lLmlucHV0LmNvbXBvc2l0aW9uTm9kZTtpZighb3x8IXRoaXMuZG9tLmNvbnRhaW5zKG8ucGFyZW50Tm9kZSkpcmV0dXJuIG51bGw7aWYodGhpcy5ub2RlLmlubGluZUNvbnRlbnQpe2xldCBuPW8ubm9kZVZhbHVlLGw9aEFhKHRoaXMubm9kZS5jb250ZW50LG4sci10LGktdCk7cmV0dXJuIGw8MD9udWxsOntub2RlOm8scG9zOmwsdGV4dDpufX1lbHNlIHJldHVybntub2RlOm8scG9zOi0xLHRleHQ6IiJ9fXByb3RlY3RMb2NhbENvbXBvc2l0aW9uKGUse25vZGU6dCxwb3M6cix0ZXh0Oml9KXtpZih0aGlzLmdldERlc2ModCkpcmV0dXJuO2xldCBvPXQ7Zm9yKDtvLnBhcmVudE5vZGUhPXRoaXMuY29udGVudERPTTtvPW8ucGFyZW50Tm9kZSl7Zm9yKDtvLnByZXZpb3VzU2libGluZzspby5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8ucHJldmlvdXNTaWJsaW5nKTtmb3IoO28ubmV4dFNpYmxpbmc7KW8ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvLm5leHRTaWJsaW5nKTtvLnBtVmlld0Rlc2MmJihvLnBtVmlld0Rlc2M9dm9pZCAwKX1sZXQgbj1uZXcgX0tlKHRoaXMsbyx0LGkpO2UuaW5wdXQuY29tcG9zaXRpb25Ob2Rlcy5wdXNoKG4pLHRoaXMuY2hpbGRyZW49REtlKHRoaXMuY2hpbGRyZW4scixyK2kubGVuZ3RoLGUsbil9dXBkYXRlKGUsdCxyLGkpe3JldHVybiB0aGlzLmRpcnR5PT1aMnx8IWUuc2FtZU1hcmt1cCh0aGlzLm5vZGUpPyExOih0aGlzLnVwZGF0ZUlubmVyKGUsdCxyLGkpLCEwKX11cGRhdGVJbm5lcihlLHQscixpKXt0aGlzLnVwZGF0ZU91dGVyRGVjbyh0KSx0aGlzLm5vZGU9ZSx0aGlzLmlubmVyRGVjbz1yLHRoaXMuY29udGVudERPTSYmdGhpcy51cGRhdGVDaGlsZHJlbihpLHRoaXMucG9zQXRTdGFydCksdGhpcy5kaXJ0eT1Gbn11cGRhdGVPdXRlckRlY28oZSl7aWYoRmFlKGUsdGhpcy5vdXRlckRlY28pKXJldHVybjtsZXQgdD10aGlzLm5vZGVET00ubm9kZVR5cGUhPTEscj10aGlzLmRvbTt0aGlzLmRvbT0kb2EodGhpcy5kb20sdGhpcy5ub2RlRE9NLExLZSh0aGlzLm91dGVyRGVjbyx0aGlzLm5vZGUsdCksTEtlKGUsdGhpcy5ub2RlLHQpKSx0aGlzLmRvbSE9ciYmKHIucG1WaWV3RGVzYz12b2lkIDAsdGhpcy5kb20ucG1WaWV3RGVzYz10aGlzKSx0aGlzLm91dGVyRGVjbz1lfXNlbGVjdE5vZGUoKXt0aGlzLm5vZGVET00ubm9kZVR5cGU9PTEmJih0aGlzLm5vZGVET00uY2xhc3NMaXN0LmFkZCgiUHJvc2VNaXJyb3Itc2VsZWN0ZWRub2RlIiksKHRoaXMuY29udGVudERPTXx8IXRoaXMubm9kZS50eXBlLnNwZWMuZHJhZ2dhYmxlKSYmKHRoaXMubm9kZURPTS5kcmFnZ2FibGU9ITApKX1kZXNlbGVjdE5vZGUoKXt0aGlzLm5vZGVET00ubm9kZVR5cGU9PTEmJih0aGlzLm5vZGVET00uY2xhc3NMaXN0LnJlbW92ZSgiUHJvc2VNaXJyb3Itc2VsZWN0ZWRub2RlIiksKHRoaXMuY29udGVudERPTXx8IXRoaXMubm9kZS50eXBlLnNwZWMuZHJhZ2dhYmxlKSYmdGhpcy5ub2RlRE9NLnJlbW92ZUF0dHJpYnV0ZSgiZHJhZ2dhYmxlIikpfWdldCBkb21BdG9tKCl7cmV0dXJuIHRoaXMubm9kZS5pc0F0b219fTtzKFRvYSwiZG9jVmlld0Rlc2MiKTtSYWU9Y2xhc3MgYSBleHRlbmRzIHY0e3N0YXRpY3tzKHRoaXMsIlRleHRWaWV3RGVzYyIpfWNvbnN0cnVjdG9yKGUsdCxyLGksbyxuLGwpe3N1cGVyKGUsdCxyLGksbyxudWxsLG4sbCwwKX1wYXJzZVJ1bGUoKXtsZXQgZT10aGlzLm5vZGVET00ucGFyZW50Tm9kZTtmb3IoO2UmJmUhPXRoaXMuZG9tJiYhZS5wbUlzRGVjbzspZT1lLnBhcmVudE5vZGU7cmV0dXJue3NraXA6ZXx8ITB9fXVwZGF0ZShlLHQscixpKXtyZXR1cm4gdGhpcy5kaXJ0eT09WjJ8fHRoaXMuZGlydHkhPUZuJiYhdGhpcy5pblBhcmVudCgpfHwhZS5zYW1lTWFya3VwKHRoaXMubm9kZSk/ITE6KHRoaXMudXBkYXRlT3V0ZXJEZWNvKHQpLCh0aGlzLmRpcnR5IT1Gbnx8ZS50ZXh0IT10aGlzLm5vZGUudGV4dCkmJmUudGV4dCE9dGhpcy5ub2RlRE9NLm5vZGVWYWx1ZSYmKHRoaXMubm9kZURPTS5ub2RlVmFsdWU9ZS50ZXh0LGkudHJhY2tXcml0ZXM9PXRoaXMubm9kZURPTSYmKGkudHJhY2tXcml0ZXM9bnVsbCkpLHRoaXMubm9kZT1lLHRoaXMuZGlydHk9Rm4sITApfWluUGFyZW50KCl7bGV0IGU9dGhpcy5wYXJlbnQuY29udGVudERPTTtmb3IobGV0IHQ9dGhpcy5ub2RlRE9NO3Q7dD10LnBhcmVudE5vZGUpaWYodD09ZSlyZXR1cm4hMDtyZXR1cm4hMX1kb21Gcm9tUG9zKGUpe3JldHVybntub2RlOnRoaXMubm9kZURPTSxvZmZzZXQ6ZX19bG9jYWxQb3NGcm9tRE9NKGUsdCxyKXtyZXR1cm4gZT09dGhpcy5ub2RlRE9NP3RoaXMucG9zQXRTdGFydCtNYXRoLm1pbih0LHRoaXMubm9kZS50ZXh0Lmxlbmd0aCk6c3VwZXIubG9jYWxQb3NGcm9tRE9NKGUsdCxyKX1pZ25vcmVNdXRhdGlvbihlKXtyZXR1cm4gZS50eXBlIT0iY2hhcmFjdGVyRGF0YSImJmUudHlwZSE9InNlbGVjdGlvbiJ9c2xpY2UoZSx0LHIpe2xldCBpPXRoaXMubm9kZS5jdXQoZSx0KSxvPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGkudGV4dCk7cmV0dXJuIG5ldyBhKHRoaXMucGFyZW50LGksdGhpcy5vdXRlckRlY28sdGhpcy5pbm5lckRlY28sbyxvLHIpfW1hcmtEaXJ0eShlLHQpe3N1cGVyLm1hcmtEaXJ0eShlLHQpLHRoaXMuZG9tIT10aGlzLm5vZGVET00mJihlPT0wfHx0PT10aGlzLm5vZGVET00ubm9kZVZhbHVlLmxlbmd0aCkmJih0aGlzLmRpcnR5PVoyKX1nZXQgZG9tQXRvbSgpe3JldHVybiExfWlzVGV4dChlKXtyZXR1cm4gdGhpcy5ub2RlLnRleHQ9PWV9fSxPYWU9Y2xhc3MgZXh0ZW5kcyBHZntzdGF0aWN7cyh0aGlzLCJUcmFpbGluZ0hhY2tWaWV3RGVzYyIpfXBhcnNlUnVsZSgpe3JldHVybntpZ25vcmU6ITB9fW1hdGNoZXNIYWNrKGUpe3JldHVybiB0aGlzLmRpcnR5PT1GbiYmdGhpcy5kb20ubm9kZU5hbWU9PWV9Z2V0IGRvbUF0b20oKXtyZXR1cm4hMH1nZXQgaWdub3JlRm9yQ29vcmRzKCl7cmV0dXJuIHRoaXMuZG9tLm5vZGVOYW1lPT0iSU1HIn19LFRLZT1jbGFzcyBleHRlbmRzIHY0e3N0YXRpY3tzKHRoaXMsIkN1c3RvbU5vZGVWaWV3RGVzYyIpfWNvbnN0cnVjdG9yKGUsdCxyLGksbyxuLGwsZCxjLHApe3N1cGVyKGUsdCxyLGksbyxuLGwsYyxwKSx0aGlzLnNwZWM9ZH11cGRhdGUoZSx0LHIsaSl7aWYodGhpcy5kaXJ0eT09WjIpcmV0dXJuITE7aWYodGhpcy5zcGVjLnVwZGF0ZSYmKHRoaXMubm9kZS50eXBlPT1lLnR5cGV8fHRoaXMuc3BlYy5tdWx0aVR5cGUpKXtsZXQgbz10aGlzLnNwZWMudXBkYXRlKGUsdCxyKTtyZXR1cm4gbyYmdGhpcy51cGRhdGVJbm5lcihlLHQscixpKSxvfWVsc2UgcmV0dXJuIXRoaXMuY29udGVudERPTSYmIWUuaXNMZWFmPyExOnN1cGVyLnVwZGF0ZShlLHQscixpKX1zZWxlY3ROb2RlKCl7dGhpcy5zcGVjLnNlbGVjdE5vZGU/dGhpcy5zcGVjLnNlbGVjdE5vZGUoKTpzdXBlci5zZWxlY3ROb2RlKCl9ZGVzZWxlY3ROb2RlKCl7dGhpcy5zcGVjLmRlc2VsZWN0Tm9kZT90aGlzLnNwZWMuZGVzZWxlY3ROb2RlKCk6c3VwZXIuZGVzZWxlY3ROb2RlKCl9c2V0U2VsZWN0aW9uKGUsdCxyLGkpe3RoaXMuc3BlYy5zZXRTZWxlY3Rpb24/dGhpcy5zcGVjLnNldFNlbGVjdGlvbihlLHQsci5yb290KTpzdXBlci5zZXRTZWxlY3Rpb24oZSx0LHIsaSl9ZGVzdHJveSgpe3RoaXMuc3BlYy5kZXN0cm95JiZ0aGlzLnNwZWMuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1zdG9wRXZlbnQoZSl7cmV0dXJuIHRoaXMuc3BlYy5zdG9wRXZlbnQ/dGhpcy5zcGVjLnN0b3BFdmVudChlKTohMX1pZ25vcmVNdXRhdGlvbihlKXtyZXR1cm4gdGhpcy5zcGVjLmlnbm9yZU11dGF0aW9uP3RoaXMuc3BlYy5pZ25vcmVNdXRhdGlvbihlKTpzdXBlci5pZ25vcmVNdXRhdGlvbihlKX19O3MoTG9hLCJyZW5kZXJEZXNjcyIpO2VXPXMoZnVuY3Rpb24oYSl7YSYmKHRoaXMubm9kZU5hbWU9YSl9LCJPdXRlckRlY29MZXZlbCIpO2VXLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG51bGwpO1lmPVtuZXcgZVddO3MoTEtlLCJjb21wdXRlT3V0ZXJEZWNvIik7cygkb2EsInBhdGNoT3V0ZXJEZWNvIik7cyhjQWEsInBhdGNoQXR0cmlidXRlcyIpO3MoRG9hLCJhcHBseU91dGVyRGVjbyIpO3MoRmFlLCJzYW1lT3V0ZXJEZWNvIik7cyhBb2EsInJtIik7JEtlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlZpZXdUcmVlVXBkYXRlciIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLmxvY2s9dCx0aGlzLnZpZXc9cix0aGlzLmluZGV4PTAsdGhpcy5zdGFjaz1bXSx0aGlzLmNoYW5nZWQ9ITEsdGhpcy50b3A9ZSx0aGlzLnByZU1hdGNoPWRBYShlLm5vZGUuY29udGVudCxlKX1kZXN0cm95QmV0d2VlbihlLHQpe2lmKGUhPXQpe2ZvcihsZXQgcj1lO3I8dDtyKyspdGhpcy50b3AuY2hpbGRyZW5bcl0uZGVzdHJveSgpO3RoaXMudG9wLmNoaWxkcmVuLnNwbGljZShlLHQtZSksdGhpcy5jaGFuZ2VkPSEwfX1kZXN0cm95UmVzdCgpe3RoaXMuZGVzdHJveUJldHdlZW4odGhpcy5pbmRleCx0aGlzLnRvcC5jaGlsZHJlbi5sZW5ndGgpfXN5bmNUb01hcmtzKGUsdCxyLGkpe2xldCBvPTAsbj10aGlzLnN0YWNrLmxlbmd0aD4+MSxsPU1hdGgubWluKG4sZS5sZW5ndGgpO2Zvcig7bzxsJiYobz09bi0xP3RoaXMudG9wOnRoaXMuc3RhY2tbbysxPDwxXSkubWF0Y2hlc01hcmsoZVtvXSkmJmVbb10udHlwZS5zcGVjLnNwYW5uaW5nIT09ITE7KW8rKztmb3IoO288bjspdGhpcy5kZXN0cm95UmVzdCgpLHRoaXMudG9wLmRpcnR5PUZuLHRoaXMuaW5kZXg9dGhpcy5zdGFjay5wb3AoKSx0aGlzLnRvcD10aGlzLnN0YWNrLnBvcCgpLG4tLTtmb3IoO248ZS5sZW5ndGg7KXt0aGlzLnN0YWNrLnB1c2godGhpcy50b3AsdGhpcy5pbmRleCsxKTtsZXQgZD0tMSxjPXRoaXMudG9wLmNoaWxkcmVuLmxlbmd0aDtpPHRoaXMucHJlTWF0Y2guaW5kZXgmJihjPU1hdGgubWluKHRoaXMuaW5kZXgrMyxjKSk7Zm9yKGxldCBwPXRoaXMuaW5kZXg7cDxjO3ArKyl7bGV0IHU9dGhpcy50b3AuY2hpbGRyZW5bcF07aWYodS5tYXRjaGVzTWFyayhlW25dKSYmIXRoaXMuaXNMb2NrZWQodS5kb20pKXtkPXA7YnJlYWt9fWlmKGQ+LTEpZD50aGlzLmluZGV4JiYodGhpcy5jaGFuZ2VkPSEwLHRoaXMuZGVzdHJveUJldHdlZW4odGhpcy5pbmRleCxkKSksdGhpcy50b3A9dGhpcy50b3AuY2hpbGRyZW5bdGhpcy5pbmRleF07ZWxzZXtsZXQgcD1NbS5jcmVhdGUodGhpcy50b3AsZVtuXSx0LHIpO3RoaXMudG9wLmNoaWxkcmVuLnNwbGljZSh0aGlzLmluZGV4LDAscCksdGhpcy50b3A9cCx0aGlzLmNoYW5nZWQ9ITB9dGhpcy5pbmRleD0wLG4rK319ZmluZE5vZGVNYXRjaChlLHQscixpKXtsZXQgbz0tMSxuO2lmKGk+PXRoaXMucHJlTWF0Y2guaW5kZXgmJihuPXRoaXMucHJlTWF0Y2gubWF0Y2hlc1tpLXRoaXMucHJlTWF0Y2guaW5kZXhdKS5wYXJlbnQ9PXRoaXMudG9wJiZuLm1hdGNoZXNOb2RlKGUsdCxyKSlvPXRoaXMudG9wLmNoaWxkcmVuLmluZGV4T2Yobix0aGlzLmluZGV4KTtlbHNlIGZvcihsZXQgbD10aGlzLmluZGV4LGQ9TWF0aC5taW4odGhpcy50b3AuY2hpbGRyZW4ubGVuZ3RoLGwrNSk7bDxkO2wrKyl7bGV0IGM9dGhpcy50b3AuY2hpbGRyZW5bbF07aWYoYy5tYXRjaGVzTm9kZShlLHQscikmJiF0aGlzLnByZU1hdGNoLm1hdGNoZWQuaGFzKGMpKXtvPWw7YnJlYWt9fXJldHVybiBvPDA/ITE6KHRoaXMuZGVzdHJveUJldHdlZW4odGhpcy5pbmRleCxvKSx0aGlzLmluZGV4KyssITApfXVwZGF0ZU5vZGVBdChlLHQscixpLG8pe2xldCBuPXRoaXMudG9wLmNoaWxkcmVuW2ldO3JldHVybiBuLmRpcnR5PT1aMiYmbi5kb209PW4uY29udGVudERPTSYmKG4uZGlydHk9V2YpLG4udXBkYXRlKGUsdCxyLG8pPyh0aGlzLmRlc3Ryb3lCZXR3ZWVuKHRoaXMuaW5kZXgsaSksdGhpcy5pbmRleCsrLCEwKTohMX1maW5kSW5kZXhXaXRoQ2hpbGQoZSl7Zm9yKDs7KXtsZXQgdD1lLnBhcmVudE5vZGU7aWYoIXQpcmV0dXJuLTE7aWYodD09dGhpcy50b3AuY29udGVudERPTSl7bGV0IHI9ZS5wbVZpZXdEZXNjO2lmKHIpe2ZvcihsZXQgaT10aGlzLmluZGV4O2k8dGhpcy50b3AuY2hpbGRyZW4ubGVuZ3RoO2krKylpZih0aGlzLnRvcC5jaGlsZHJlbltpXT09cilyZXR1cm4gaX1yZXR1cm4tMX1lPXR9fXVwZGF0ZU5leHROb2RlKGUsdCxyLGksbyxuKXtmb3IobGV0IGw9dGhpcy5pbmRleDtsPHRoaXMudG9wLmNoaWxkcmVuLmxlbmd0aDtsKyspe2xldCBkPXRoaXMudG9wLmNoaWxkcmVuW2xdO2lmKGQgaW5zdGFuY2VvZiB2NCl7bGV0IGM9dGhpcy5wcmVNYXRjaC5tYXRjaGVkLmdldChkKTtpZihjIT1udWxsJiZjIT1vKXJldHVybiExO2xldCBwPWQuZG9tLHUsbT10aGlzLmlzTG9ja2VkKHApJiYhKGUuaXNUZXh0JiZkLm5vZGUmJmQubm9kZS5pc1RleHQmJmQubm9kZURPTS5ub2RlVmFsdWU9PWUudGV4dCYmZC5kaXJ0eSE9WjImJkZhZSh0LGQub3V0ZXJEZWNvKSk7aWYoIW0mJmQudXBkYXRlKGUsdCxyLGkpKXJldHVybiB0aGlzLmRlc3Ryb3lCZXR3ZWVuKHRoaXMuaW5kZXgsbCksZC5kb20hPXAmJih0aGlzLmNoYW5nZWQ9ITApLHRoaXMuaW5kZXgrKywhMDtpZighbSYmKHU9dGhpcy5yZWNyZWF0ZVdyYXBwZXIoZCxlLHQscixpLG4pKSlyZXR1cm4gdGhpcy5kZXN0cm95QmV0d2Vlbih0aGlzLmluZGV4LGwpLHRoaXMudG9wLmNoaWxkcmVuW3RoaXMuaW5kZXhdPXUsdS5jb250ZW50RE9NJiYodS5kaXJ0eT1XZix1LnVwZGF0ZUNoaWxkcmVuKGksbisxKSx1LmRpcnR5PUZuKSx0aGlzLmNoYW5nZWQ9ITAsdGhpcy5pbmRleCsrLCEwO2JyZWFrfX1yZXR1cm4hMX1yZWNyZWF0ZVdyYXBwZXIoZSx0LHIsaSxvLG4pe2lmKGUuZGlydHl8fHQuaXNBdG9tfHwhZS5jaGlsZHJlbi5sZW5ndGh8fCFlLm5vZGUuY29udGVudC5lcSh0LmNvbnRlbnQpfHwhRmFlKHIsZS5vdXRlckRlY28pfHwhaS5lcShlLmlubmVyRGVjbykpcmV0dXJuIG51bGw7bGV0IGw9djQuY3JlYXRlKHRoaXMudG9wLHQscixpLG8sbik7aWYobC5jb250ZW50RE9NKXtsLmNoaWxkcmVuPWUuY2hpbGRyZW4sZS5jaGlsZHJlbj1bXTtmb3IobGV0IGQgb2YgbC5jaGlsZHJlbilkLnBhcmVudD1sfXJldHVybiBlLmRlc3Ryb3koKSxsfWFkZE5vZGUoZSx0LHIsaSxvKXtsZXQgbj12NC5jcmVhdGUodGhpcy50b3AsZSx0LHIsaSxvKTtuLmNvbnRlbnRET00mJm4udXBkYXRlQ2hpbGRyZW4oaSxvKzEpLHRoaXMudG9wLmNoaWxkcmVuLnNwbGljZSh0aGlzLmluZGV4KyssMCxuKSx0aGlzLmNoYW5nZWQ9ITB9cGxhY2VXaWRnZXQoZSx0LHIpe2xldCBpPXRoaXMuaW5kZXg8dGhpcy50b3AuY2hpbGRyZW4ubGVuZ3RoP3RoaXMudG9wLmNoaWxkcmVuW3RoaXMuaW5kZXhdOm51bGw7aWYoaSYmaS5tYXRjaGVzV2lkZ2V0KGUpJiYoZT09aS53aWRnZXR8fCFpLndpZGdldC50eXBlLnRvRE9NLnBhcmVudE5vZGUpKXRoaXMuaW5kZXgrKztlbHNle2xldCBvPW5ldyBOYWUodGhpcy50b3AsZSx0LHIpO3RoaXMudG9wLmNoaWxkcmVuLnNwbGljZSh0aGlzLmluZGV4KyssMCxvKSx0aGlzLmNoYW5nZWQ9ITB9fWFkZFRleHRibG9ja0hhY2tzKCl7bGV0IGU9dGhpcy50b3AuY2hpbGRyZW5bdGhpcy5pbmRleC0xXSx0PXRoaXMudG9wO2Zvcig7ZSBpbnN0YW5jZW9mIE1tOyl0PWUsZT10LmNoaWxkcmVuW3QuY2hpbGRyZW4ubGVuZ3RoLTFdOyghZXx8IShlIGluc3RhbmNlb2YgUmFlKXx8L1xuJC8udGVzdChlLm5vZGUudGV4dCl8fHRoaXMudmlldy5yZXF1aXJlc0dlY2tvSGFja05vZGUmJi9ccyQvLnRlc3QoZS5ub2RlLnRleHQpKSYmKChOaXx8b2kpJiZlJiZlLmRvbS5jb250ZW50RWRpdGFibGU9PSJmYWxzZSImJnRoaXMuYWRkSGFja05vZGUoIklNRyIsdCksdGhpcy5hZGRIYWNrTm9kZSgiQlIiLHRoaXMudG9wKSl9YWRkSGFja05vZGUoZSx0KXtpZih0PT10aGlzLnRvcCYmdGhpcy5pbmRleDx0LmNoaWxkcmVuLmxlbmd0aCYmdC5jaGlsZHJlblt0aGlzLmluZGV4XS5tYXRjaGVzSGFjayhlKSl0aGlzLmluZGV4Kys7ZWxzZXtsZXQgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpO2U9PSJJTUciJiYoci5jbGFzc05hbWU9IlByb3NlTWlycm9yLXNlcGFyYXRvciIsci5hbHQ9IiIpLGU9PSJCUiImJihyLmNsYXNzTmFtZT0iUHJvc2VNaXJyb3ItdHJhaWxpbmdCcmVhayIpO2xldCBpPW5ldyBPYWUodGhpcy50b3AsW10scixudWxsKTt0IT10aGlzLnRvcD90LmNoaWxkcmVuLnB1c2goaSk6dC5jaGlsZHJlbi5zcGxpY2UodGhpcy5pbmRleCsrLDAsaSksdGhpcy5jaGFuZ2VkPSEwfX1pc0xvY2tlZChlKXtyZXR1cm4gdGhpcy5sb2NrJiYoZT09dGhpcy5sb2NrfHxlLm5vZGVUeXBlPT0xJiZlLmNvbnRhaW5zKHRoaXMubG9jay5wYXJlbnROb2RlKSl9fTtzKGRBYSwicHJlTWF0Y2giKTtzKHVBYSwiY29tcGFyZVNpZGUiKTtzKHBBYSwiaXRlckRlY28iKTtzKGZBYSwiaW9zSGFja3MiKTtzKGhBYSwiZmluZFRleHRJbkZyYWdtZW50Iik7cyhES2UsInJlcGxhY2VOb2RlcyIpO3MoQUtlLCJzZWxlY3Rpb25Gcm9tRE9NIik7cyhQb2EsImVkaXRvck93bnNTZWxlY3Rpb24iKTtzKHhjLCJzZWxlY3Rpb25Ub0RPTSIpO0VvYT1OaXx8b2kmJmhvYTw2MztzKElvYSwidGVtcG9yYXJpbHlFZGl0YWJsZU5lYXIiKTtzKFBLZSwic2V0RWRpdGFibGUiKTtzKE5vYSwicmVzZXRFZGl0YWJsZSIpO3MobUFhLCJyZW1vdmVDbGFzc09uU2VsZWN0aW9uQ2hhbmdlIik7cyhnQWEsInNlbGVjdEN1cnNvcldyYXBwZXIiKTtzKFJvYSwic3luY05vZGVTZWxlY3Rpb24iKTtzKE9vYSwiY2xlYXJOb2RlU2VsZWN0aW9uIik7cyhFS2UsInNlbGVjdGlvbkJldHdlZW4iKTtzKEZvYSwiaGFzRm9jdXNBbmRTZWxlY3Rpb24iKTtzKEJvYSwiaGFzU2VsZWN0aW9uIik7cyhiQWEsImFuY2hvckluUmlnaHRQbGFjZSIpO3MoSUtlLCJtb3ZlU2VsZWN0aW9uQmxvY2siKTtzKHg0LCJhcHBseSIpO3MoSG9hLCJzZWxlY3RIb3Jpem9udGFsbHkiKTtzKEJhZSwibm9kZUxlbiIpO3ModFcsImlzSWdub3JhYmxlIik7cyhrbSwic2tpcElnbm9yZWROb2RlcyIpO3ModkFhLCJza2lwSWdub3JlZE5vZGVzQmVmb3JlIik7cyh4QWEsInNraXBJZ25vcmVkTm9kZXNBZnRlciIpO3MocW9hLCJpc0Jsb2NrTm9kZSIpO3MoeUFhLCJ0ZXh0Tm9kZUFmdGVyIik7cyh3QWEsInRleHROb2RlQmVmb3JlIik7cyhOS2UsInNldFNlbEZvY3VzIik7cyhWb2EsImZpbmREaXJlY3Rpb24iKTtzKGpvYSwic2VsZWN0VmVydGljYWxseSIpO3MoVW9hLCJzdG9wTmF0aXZlSG9yaXpvbnRhbERlbGV0ZSIpO3MoV29hLCJzd2l0Y2hFZGl0YWJsZSIpO3MoTUFhLCJzYWZhcmlEb3duQXJyb3dCdWciKTtzKGtBYSwiZ2V0TW9kcyIpO3MoU0FhLCJjYXB0dXJlS2V5RG93biIpO3MoUktlLCJzZXJpYWxpemVGb3JDbGlwYm9hcmQiKTtzKE9LZSwicGFyc2VGcm9tQ2xpcGJvYXJkIik7ekFhPS9eKGF8YWJicnxhY3JvbnltfGJ8Y2l0ZXxjb2RlfGRlbHxlbXxpfGluc3xrYmR8bGFiZWx8b3V0cHV0fHF8cnVieXxzfHNhbXB8c3BhbnxzdHJvbmd8c3VifHN1cHx0aW1lfHV8dHR8dmFyKSQvaTtzKENBYSwibm9ybWFsaXplU2libGluZ3MiKTtzKEdvYSwid2l0aFdyYXBwZXJzIik7cyhZb2EsImFkZFRvU2libGluZyIpO3MoS29hLCJjbG9zZVJpZ2h0Iik7cyhGS2UsImNsb3NlUmFuZ2UiKTtzKFpvYSwiY2xvc2VTbGljZSIpO1hvYT17dGhlYWQ6WyJ0YWJsZSJdLHRib2R5OlsidGFibGUiXSx0Zm9vdDpbInRhYmxlIl0sY2FwdGlvbjpbInRhYmxlIl0sY29sZ3JvdXA6WyJ0YWJsZSJdLGNvbDpbInRhYmxlIiwiY29sZ3JvdXAiXSx0cjpbInRhYmxlIiwidGJvZHkiXSx0ZDpbInRhYmxlIiwidGJvZHkiLCJ0ciJdLHRoOlsidGFibGUiLCJ0Ym9keSIsInRyIl19LFFvYT1udWxsO3MoSm9hLCJkZXRhY2hlZERvYyIpO0JLZT1udWxsO3MoX0FhLCJtYXliZVdyYXBUcnVzdGVkIik7cyhUQWEsInJlYWRIVE1MIik7cyhMQWEsInJlc3RvcmVSZXBsYWNlZFNwYWNlcyIpO3MoJEFhLCJhZGRDb250ZXh0Iik7Wmk9e30sWGk9e30sREFhPXt0b3VjaHN0YXJ0OiEwLHRvdWNobW92ZTohMH0sSEtlPWNsYXNze3N0YXRpY3tzKHRoaXMsIklucHV0U3RhdGUiKX1jb25zdHJ1Y3Rvcigpe3RoaXMuc2hpZnRLZXk9ITEsdGhpcy5tb3VzZURvd249bnVsbCx0aGlzLmxhc3RLZXlDb2RlPW51bGwsdGhpcy5sYXN0S2V5Q29kZVRpbWU9MCx0aGlzLmxhc3RDbGljaz17dGltZTowLHg6MCx5OjAsdHlwZToiIixidXR0b246MH0sdGhpcy5sYXN0U2VsZWN0aW9uT3JpZ2luPW51bGwsdGhpcy5sYXN0U2VsZWN0aW9uVGltZT0wLHRoaXMubGFzdElPU0VudGVyPTAsdGhpcy5sYXN0SU9TRW50ZXJGYWxsYmFja1RpbWVvdXQ9LTEsdGhpcy5sYXN0Rm9jdXM9MCx0aGlzLmxhc3RUb3VjaD0wLHRoaXMubGFzdENocm9tZURlbGV0ZT0wLHRoaXMuY29tcG9zaW5nPSExLHRoaXMuY29tcG9zaXRpb25Ob2RlPW51bGwsdGhpcy5jb21wb3NpbmdUaW1lb3V0PS0xLHRoaXMuY29tcG9zaXRpb25Ob2Rlcz1bXSx0aGlzLmNvbXBvc2l0aW9uRW5kZWRBdD0tMmU4LHRoaXMuY29tcG9zaXRpb25JRD0xLHRoaXMuYmFkU2FmYXJpQ29tcG9zaXRpb249ITEsdGhpcy5jb21wb3NpdGlvblBlbmRpbmdDaGFuZ2VzPTAsdGhpcy5kb21DaGFuZ2VDb3VudD0wLHRoaXMuZXZlbnRIYW5kbGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuaGlkZVNlbGVjdGlvbkd1YXJkPW51bGx9fTtzKEFBYSwiaW5pdElucHV0Iik7cyh5NCwic2V0U2VsZWN0aW9uT3JpZ2luIik7cyhQQWEsImRlc3Ryb3lJbnB1dCIpO3MocUtlLCJlbnN1cmVMaXN0ZW5lcnMiKTtzKFZLZSwicnVuQ3VzdG9tSGFuZGxlciIpO3MoRUFhLCJldmVudEJlbG9uZ3NUb1ZpZXciKTtzKElBYSwiZGlzcGF0Y2hFdmVudCIpLFhpLmtleWRvd249KGEsZSk9PntsZXQgdD1lO2lmKGEuaW5wdXQuc2hpZnRLZXk9dC5rZXlDb2RlPT0xNnx8dC5zaGlmdEtleSwhdG5hKGEsdCkmJihhLmlucHV0Lmxhc3RLZXlDb2RlPXQua2V5Q29kZSxhLmlucHV0Lmxhc3RLZXlDb2RlVGltZT1EYXRlLm5vdygpLCEoYmMmJm9pJiZ0LmtleUNvZGU9PTEzKSkpaWYodC5rZXlDb2RlIT0yMjkmJmEuZG9tT2JzZXJ2ZXIuZm9yY2VGbHVzaCgpLHltJiZ0LmtleUNvZGU9PTEzJiYhdC5jdHJsS2V5JiYhdC5hbHRLZXkmJiF0Lm1ldGFLZXkpe2xldCByPURhdGUubm93KCk7YS5pbnB1dC5sYXN0SU9TRW50ZXI9cixhLmlucHV0Lmxhc3RJT1NFbnRlckZhbGxiYWNrVGltZW91dD1zZXRUaW1lb3V0KCgpPT57YS5pbnB1dC5sYXN0SU9TRW50ZXI9PXImJihhLnNvbWVQcm9wKCJoYW5kbGVLZXlEb3duIixpPT5pKGEsVWYoMTMsIkVudGVyIikpKSxhLmlucHV0Lmxhc3RJT1NFbnRlcj0wKX0sMjAwKX1lbHNlIGEuc29tZVByb3AoImhhbmRsZUtleURvd24iLHI9PnIoYSx0KSl8fFNBYShhLHQpP3QucHJldmVudERlZmF1bHQoKTp5NChhLCJrZXkiKX0sWGkua2V5dXA9KGEsZSk9PntlLmtleUNvZGU9PTE2JiYoYS5pbnB1dC5zaGlmdEtleT0hMSl9LFhpLmtleXByZXNzPShhLGUpPT57bGV0IHQ9ZTtpZih0bmEoYSx0KXx8IXQuY2hhckNvZGV8fHQuY3RybEtleSYmIXQuYWx0S2V5fHxPbiYmdC5tZXRhS2V5KXJldHVybjtpZihhLnNvbWVQcm9wKCJoYW5kbGVLZXlQcmVzcyIsaT0+aShhLHQpKSl7dC5wcmV2ZW50RGVmYXVsdCgpO3JldHVybn1sZXQgcj1hLnN0YXRlLnNlbGVjdGlvbjtpZighKHIgaW5zdGFuY2VvZiBOdCl8fCFyLiRmcm9tLnNhbWVQYXJlbnQoci4kdG8pKXtsZXQgaT1TdHJpbmcuZnJvbUNoYXJDb2RlKHQuY2hhckNvZGUpLG89cygoKT0+YS5zdGF0ZS50ci5pbnNlcnRUZXh0KGkpLnNjcm9sbEludG9WaWV3KCksImRlZmx0Iik7IS9bXHJcbl0vLnRlc3QoaSkmJiFhLnNvbWVQcm9wKCJoYW5kbGVUZXh0SW5wdXQiLG49Pm4oYSxyLiRmcm9tLnBvcyxyLiR0by5wb3MsaSxvKSkmJmEuZGlzcGF0Y2gobygpKSx0LnByZXZlbnREZWZhdWx0KCl9fTtzKEhhZSwiZXZlbnRDb29yZHMiKTtzKE5BYSwiaXNOZWFyIik7cyhqS2UsInJ1bkhhbmRsZXJPbkNvbnRleHQiKTtzKFNtLCJ1cGRhdGVTZWxlY3Rpb24iKTtzKFJBYSwic2VsZWN0Q2xpY2tlZExlYWYiKTtzKE9BYSwic2VsZWN0Q2xpY2tlZE5vZGUiKTtzKEZBYSwiaGFuZGxlU2luZ2xlQ2xpY2siKTtzKEJBYSwiaGFuZGxlRG91YmxlQ2xpY2siKTtzKEhBYSwiaGFuZGxlVHJpcGxlQ2xpY2siKTtzKHFBYSwiZGVmYXVsdFRyaXBsZUNsaWNrIik7cyhVS2UsImZvcmNlRE9NRmx1c2giKTtlbmE9T24/Im1ldGFLZXkiOiJjdHJsS2V5IjtaaS5tb3VzZWRvd249KGEsZSk9PntsZXQgdD1lO2EuaW5wdXQuc2hpZnRLZXk9dC5zaGlmdEtleTtsZXQgcj1VS2UoYSksaT1EYXRlLm5vdygpLG89InNpbmdsZUNsaWNrIjtpLWEuaW5wdXQubGFzdENsaWNrLnRpbWU8NTAwJiZOQWEodCxhLmlucHV0Lmxhc3RDbGljaykmJiF0W2VuYV0mJmEuaW5wdXQubGFzdENsaWNrLmJ1dHRvbj09dC5idXR0b24mJihhLmlucHV0Lmxhc3RDbGljay50eXBlPT0ic2luZ2xlQ2xpY2siP289ImRvdWJsZUNsaWNrIjphLmlucHV0Lmxhc3RDbGljay50eXBlPT0iZG91YmxlQ2xpY2siJiYobz0idHJpcGxlQ2xpY2siKSksYS5pbnB1dC5sYXN0Q2xpY2s9e3RpbWU6aSx4OnQuY2xpZW50WCx5OnQuY2xpZW50WSx0eXBlOm8sYnV0dG9uOnQuYnV0dG9ufTtsZXQgbj1hLnBvc0F0Q29vcmRzKEhhZSh0KSk7biYmKG89PSJzaW5nbGVDbGljayI/KGEuaW5wdXQubW91c2VEb3duJiZhLmlucHV0Lm1vdXNlRG93bi5kb25lKCksYS5pbnB1dC5tb3VzZURvd249bmV3IFdLZShhLG4sdCwhIXIpKToobz09ImRvdWJsZUNsaWNrIj9CQWE6SEFhKShhLG4ucG9zLG4uaW5zaWRlLHQpP3QucHJldmVudERlZmF1bHQoKTp5NChhLCJwb2ludGVyIikpfTtXS2U9Y2xhc3N7c3RhdGlje3ModGhpcywiTW91c2VEb3duIil9Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy52aWV3PWUsdGhpcy5wb3M9dCx0aGlzLmV2ZW50PXIsdGhpcy5mbHVzaGVkPWksdGhpcy5kZWxheWVkU2VsZWN0aW9uU3luYz0hMSx0aGlzLm1pZ2h0RHJhZz1udWxsLHRoaXMuc3RhcnREb2M9ZS5zdGF0ZS5kb2MsdGhpcy5zZWxlY3ROb2RlPSEhcltlbmFdLHRoaXMuYWxsb3dEZWZhdWx0PXIuc2hpZnRLZXk7bGV0IG8sbjtpZih0Lmluc2lkZT4tMSlvPWUuc3RhdGUuZG9jLm5vZGVBdCh0Lmluc2lkZSksbj10Lmluc2lkZTtlbHNle2xldCBwPWUuc3RhdGUuZG9jLnJlc29sdmUodC5wb3MpO289cC5wYXJlbnQsbj1wLmRlcHRoP3AuYmVmb3JlKCk6MH1sZXQgbD1pP251bGw6ci50YXJnZXQsZD1sP2UuZG9jVmlldy5uZWFyZXN0RGVzYyhsLCEwKTpudWxsO3RoaXMudGFyZ2V0PWQmJmQubm9kZURPTS5ub2RlVHlwZT09MT9kLm5vZGVET006bnVsbDtsZXR7c2VsZWN0aW9uOmN9PWUuc3RhdGU7ci5idXR0b249PTAmJihvLnR5cGUuc3BlYy5kcmFnZ2FibGUmJm8udHlwZS5zcGVjLnNlbGVjdGFibGUhPT0hMXx8YyBpbnN0YW5jZW9mIGt0JiZjLmZyb208PW4mJmMudG8+bikmJih0aGlzLm1pZ2h0RHJhZz17bm9kZTpvLHBvczpuLGFkZEF0dHI6ISEodGhpcy50YXJnZXQmJiF0aGlzLnRhcmdldC5kcmFnZ2FibGUpLHNldFVuZWRpdGFibGU6ISEodGhpcy50YXJnZXQmJlJuJiYhdGhpcy50YXJnZXQuaGFzQXR0cmlidXRlKCJjb250ZW50RWRpdGFibGUiKSl9KSx0aGlzLnRhcmdldCYmdGhpcy5taWdodERyYWcmJih0aGlzLm1pZ2h0RHJhZy5hZGRBdHRyfHx0aGlzLm1pZ2h0RHJhZy5zZXRVbmVkaXRhYmxlKSYmKHRoaXMudmlldy5kb21PYnNlcnZlci5zdG9wKCksdGhpcy5taWdodERyYWcuYWRkQXR0ciYmKHRoaXMudGFyZ2V0LmRyYWdnYWJsZT0hMCksdGhpcy5taWdodERyYWcuc2V0VW5lZGl0YWJsZSYmc2V0VGltZW91dCgoKT0+e3RoaXMudmlldy5pbnB1dC5tb3VzZURvd249PXRoaXMmJnRoaXMudGFyZ2V0LnNldEF0dHJpYnV0ZSgiY29udGVudEVkaXRhYmxlIiwiZmFsc2UiKX0sMjApLHRoaXMudmlldy5kb21PYnNlcnZlci5zdGFydCgpKSxlLnJvb3QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy51cD10aGlzLnVwLmJpbmQodGhpcykpLGUucm9vdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMubW92ZT10aGlzLm1vdmUuYmluZCh0aGlzKSkseTQoZSwicG9pbnRlciIpfWRvbmUoKXt0aGlzLnZpZXcucm9vdC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLnVwKSx0aGlzLnZpZXcucm9vdC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMubW92ZSksdGhpcy5taWdodERyYWcmJnRoaXMudGFyZ2V0JiYodGhpcy52aWV3LmRvbU9ic2VydmVyLnN0b3AoKSx0aGlzLm1pZ2h0RHJhZy5hZGRBdHRyJiZ0aGlzLnRhcmdldC5yZW1vdmVBdHRyaWJ1dGUoImRyYWdnYWJsZSIpLHRoaXMubWlnaHREcmFnLnNldFVuZWRpdGFibGUmJnRoaXMudGFyZ2V0LnJlbW92ZUF0dHJpYnV0ZSgiY29udGVudEVkaXRhYmxlIiksdGhpcy52aWV3LmRvbU9ic2VydmVyLnN0YXJ0KCkpLHRoaXMuZGVsYXllZFNlbGVjdGlvblN5bmMmJnNldFRpbWVvdXQoKCk9PnhjKHRoaXMudmlldykpLHRoaXMudmlldy5pbnB1dC5tb3VzZURvd249bnVsbH11cChlKXtpZih0aGlzLmRvbmUoKSwhdGhpcy52aWV3LmRvbS5jb250YWlucyhlLnRhcmdldCkpcmV0dXJuO2xldCB0PXRoaXMucG9zO3RoaXMudmlldy5zdGF0ZS5kb2MhPXRoaXMuc3RhcnREb2MmJih0PXRoaXMudmlldy5wb3NBdENvb3JkcyhIYWUoZSkpKSx0aGlzLnVwZGF0ZUFsbG93RGVmYXVsdChlKSx0aGlzLmFsbG93RGVmYXVsdHx8IXQ/eTQodGhpcy52aWV3LCJwb2ludGVyIik6RkFhKHRoaXMudmlldyx0LnBvcyx0Lmluc2lkZSxlLHRoaXMuc2VsZWN0Tm9kZSk/ZS5wcmV2ZW50RGVmYXVsdCgpOmUuYnV0dG9uPT0wJiYodGhpcy5mbHVzaGVkfHxOaSYmdGhpcy5taWdodERyYWcmJiF0aGlzLm1pZ2h0RHJhZy5ub2RlLmlzQXRvbXx8b2kmJiF0aGlzLnZpZXcuc3RhdGUuc2VsZWN0aW9uLnZpc2libGUmJk1hdGgubWluKE1hdGguYWJzKHQucG9zLXRoaXMudmlldy5zdGF0ZS5zZWxlY3Rpb24uZnJvbSksTWF0aC5hYnModC5wb3MtdGhpcy52aWV3LnN0YXRlLnNlbGVjdGlvbi50bykpPD0yKT8oU20odGhpcy52aWV3LEV0Lm5lYXIodGhpcy52aWV3LnN0YXRlLmRvYy5yZXNvbHZlKHQucG9zKSksInBvaW50ZXIiKSxlLnByZXZlbnREZWZhdWx0KCkpOnk0KHRoaXMudmlldywicG9pbnRlciIpfW1vdmUoZSl7dGhpcy51cGRhdGVBbGxvd0RlZmF1bHQoZSkseTQodGhpcy52aWV3LCJwb2ludGVyIiksZS5idXR0b25zPT0wJiZ0aGlzLmRvbmUoKX11cGRhdGVBbGxvd0RlZmF1bHQoZSl7IXRoaXMuYWxsb3dEZWZhdWx0JiYoTWF0aC5hYnModGhpcy5ldmVudC54LWUuY2xpZW50WCk+NHx8TWF0aC5hYnModGhpcy5ldmVudC55LWUuY2xpZW50WSk+NCkmJih0aGlzLmFsbG93RGVmYXVsdD0hMCl9fTtaaS50b3VjaHN0YXJ0PWE9PnthLmlucHV0Lmxhc3RUb3VjaD1EYXRlLm5vdygpLFVLZShhKSx5NChhLCJwb2ludGVyIil9LFppLnRvdWNobW92ZT1hPT57YS5pbnB1dC5sYXN0VG91Y2g9RGF0ZS5ub3coKSx5NChhLCJwb2ludGVyIil9LFppLmNvbnRleHRtZW51PWE9PlVLZShhKTtzKHRuYSwiaW5Pck5lYXJDb21wb3NpdGlvbiIpO1ZBYT1iYz81ZTM6LTE7WGkuY29tcG9zaXRpb25zdGFydD1YaS5jb21wb3NpdGlvbnVwZGF0ZT1hPT57aWYoIWEuY29tcG9zaW5nKXthLmRvbU9ic2VydmVyLmZsdXNoKCk7bGV0e3N0YXRlOmV9PWEsdD1lLnNlbGVjdGlvbi4kdG87aWYoZS5zZWxlY3Rpb24gaW5zdGFuY2VvZiBOdCYmKGUuc3RvcmVkTWFya3N8fCF0LnRleHRPZmZzZXQmJnQucGFyZW50T2Zmc2V0JiZ0Lm5vZGVCZWZvcmUubWFya3Muc29tZShyPT5yLnR5cGUuc3BlYy5pbmNsdXNpdmU9PT0hMSl8fG9pJiZtb2EmJmpBYShhKSkpYS5tYXJrQ3Vyc29yPWEuc3RhdGUuc3RvcmVkTWFya3N8fHQubWFya3MoKSxhVyhhLCEwKSxhLm1hcmtDdXJzb3I9bnVsbDtlbHNlIGlmKGFXKGEsIWUuc2VsZWN0aW9uLmVtcHR5KSxSbiYmZS5zZWxlY3Rpb24uZW1wdHkmJnQucGFyZW50T2Zmc2V0JiYhdC50ZXh0T2Zmc2V0JiZ0Lm5vZGVCZWZvcmUubWFya3MubGVuZ3RoKXtsZXQgcj1hLmRvbVNlbGVjdGlvblJhbmdlKCk7Zm9yKGxldCBpPXIuZm9jdXNOb2RlLG89ci5mb2N1c09mZnNldDtpJiZpLm5vZGVUeXBlPT0xJiZvIT0wOyl7bGV0IG49bzwwP2kubGFzdENoaWxkOmkuY2hpbGROb2Rlc1tvLTFdO2lmKCFuKWJyZWFrO2lmKG4ubm9kZVR5cGU9PTMpe2xldCBsPWEuZG9tU2VsZWN0aW9uKCk7bCYmbC5jb2xsYXBzZShuLG4ubm9kZVZhbHVlLmxlbmd0aCk7YnJlYWt9ZWxzZSBpPW4sbz0tMX19YS5pbnB1dC5jb21wb3Npbmc9ITB9YW5hKGEsVkFhKX07cyhqQWEsInNlbGVjdGlvbkJlZm9yZVVuZWRpdGFibGUiKSxYaS5jb21wb3NpdGlvbmVuZD0oYSxlKT0+e2EuY29tcG9zaW5nJiYoYS5pbnB1dC5jb21wb3Npbmc9ITEsYS5pbnB1dC5jb21wb3NpdGlvbkVuZGVkQXQ9ZS50aW1lU3RhbXAsYS5pbnB1dC5jb21wb3NpdGlvblBlbmRpbmdDaGFuZ2VzPWEuZG9tT2JzZXJ2ZXIucGVuZGluZ1JlY29yZHMoKS5sZW5ndGg/YS5pbnB1dC5jb21wb3NpdGlvbklEOjAsYS5pbnB1dC5jb21wb3NpdGlvbk5vZGU9bnVsbCxhLmlucHV0LmJhZFNhZmFyaUNvbXBvc2l0aW9uP2EuZG9tT2JzZXJ2ZXIuZm9yY2VGbHVzaCgpOmEuaW5wdXQuY29tcG9zaXRpb25QZW5kaW5nQ2hhbmdlcyYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+YS5kb21PYnNlcnZlci5mbHVzaCgpKSxhLmlucHV0LmNvbXBvc2l0aW9uSUQrKyxhbmEoYSwyMCkpfTtzKGFuYSwic2NoZWR1bGVDb21wb3NlRW5kIik7cyhybmEsImNsZWFyQ29tcG9zaXRpb24iKTtzKFVBYSwiZmluZENvbXBvc2l0aW9uTm9kZSIpO3MoV0FhLCJ0aW1lc3RhbXBGcm9tQ3VzdG9tRXZlbnQiKTtzKGFXLCJlbmRDb21wb3NpdGlvbiIpO3MoR0FhLCJjYXB0dXJlQ29weSIpO3JXPVJvJiZnNDwxNXx8eW0mJkdEYTw2MDQ7WmkuY29weT1YaS5jdXQ9KGEsZSk9PntsZXQgdD1lLHI9YS5zdGF0ZS5zZWxlY3Rpb24saT10LnR5cGU9PSJjdXQiO2lmKHIuZW1wdHkpcmV0dXJuO2xldCBvPXJXP251bGw6dC5jbGlwYm9hcmREYXRhLG49ci5jb250ZW50KCkse2RvbTpsLHRleHQ6ZH09UktlKGEsbik7bz8odC5wcmV2ZW50RGVmYXVsdCgpLG8uY2xlYXJEYXRhKCksby5zZXREYXRhKCJ0ZXh0L2h0bWwiLGwuaW5uZXJIVE1MKSxvLnNldERhdGEoInRleHQvcGxhaW4iLGQpKTpHQWEoYSxsKSxpJiZhLmRpc3BhdGNoKGEuc3RhdGUudHIuZGVsZXRlU2VsZWN0aW9uKCkuc2Nyb2xsSW50b1ZpZXcoKS5zZXRNZXRhKCJ1aUV2ZW50IiwiY3V0IikpfTtzKFlBYSwic2xpY2VTaW5nbGVOb2RlIik7cyhLQWEsImNhcHR1cmVQYXN0ZSIpO3Moc1csImRvUGFzdGUiKTtzKHNuYSwiZ2V0VGV4dCIpLFhpLnBhc3RlPShhLGUpPT57bGV0IHQ9ZTtpZihhLmNvbXBvc2luZyYmIWJjKXJldHVybjtsZXQgcj1yVz9udWxsOnQuY2xpcGJvYXJkRGF0YSxpPWEuaW5wdXQuc2hpZnRLZXkmJmEuaW5wdXQubGFzdEtleUNvZGUhPTQ1O3ImJnNXKGEsc25hKHIpLHIuZ2V0RGF0YSgidGV4dC9odG1sIiksaSx0KT90LnByZXZlbnREZWZhdWx0KCk6S0FhKGEsdCl9O3FhZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJEcmFnZ2luZyIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLnNsaWNlPWUsdGhpcy5tb3ZlPXQsdGhpcy5ub2RlPXJ9fSxaQWE9T24/ImFsdEtleSI6ImN0cmxLZXkiO3MoaW5hLCJkcmFnTW92ZXMiKSxaaS5kcmFnc3RhcnQ9KGEsZSk9PntsZXQgdD1lLHI9YS5pbnB1dC5tb3VzZURvd247aWYociYmci5kb25lKCksIXQuZGF0YVRyYW5zZmVyKXJldHVybjtsZXQgaT1hLnN0YXRlLnNlbGVjdGlvbixvPWkuZW1wdHk/bnVsbDphLnBvc0F0Q29vcmRzKEhhZSh0KSksbjtpZighKG8mJm8ucG9zPj1pLmZyb20mJm8ucG9zPD0oaSBpbnN0YW5jZW9mIGt0P2kudG8tMTppLnRvKSkpe2lmKHImJnIubWlnaHREcmFnKW49a3QuY3JlYXRlKGEuc3RhdGUuZG9jLHIubWlnaHREcmFnLnBvcyk7ZWxzZSBpZih0LnRhcmdldCYmdC50YXJnZXQubm9kZVR5cGU9PTEpe2xldCB1PWEuZG9jVmlldy5uZWFyZXN0RGVzYyh0LnRhcmdldCwhMCk7dSYmdS5ub2RlLnR5cGUuc3BlYy5kcmFnZ2FibGUmJnUhPWEuZG9jVmlldyYmKG49a3QuY3JlYXRlKGEuc3RhdGUuZG9jLHUucG9zQmVmb3JlKSl9fWxldCBsPShufHxhLnN0YXRlLnNlbGVjdGlvbikuY29udGVudCgpLHtkb206ZCx0ZXh0OmMsc2xpY2U6cH09UktlKGEsbCk7KCF0LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGh8fCFvaXx8aG9hPjEyMCkmJnQuZGF0YVRyYW5zZmVyLmNsZWFyRGF0YSgpLHQuZGF0YVRyYW5zZmVyLnNldERhdGEoclc/IlRleHQiOiJ0ZXh0L2h0bWwiLGQuaW5uZXJIVE1MKSx0LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkPSJjb3B5TW92ZSIscld8fHQuZGF0YVRyYW5zZmVyLnNldERhdGEoInRleHQvcGxhaW4iLGMpLGEuZHJhZ2dpbmc9bmV3IHFhZShwLGluYShhLHQpLG4pfSxaaS5kcmFnZW5kPWE9PntsZXQgZT1hLmRyYWdnaW5nO3dpbmRvdy5zZXRUaW1lb3V0KCgpPT57YS5kcmFnZ2luZz09ZSYmKGEuZHJhZ2dpbmc9bnVsbCl9LDUwKX0sWGkuZHJhZ292ZXI9WGkuZHJhZ2VudGVyPShhLGUpPT5lLnByZXZlbnREZWZhdWx0KCksWGkuZHJvcD0oYSxlKT0+e3RyeXtYQWEoYSxlLGEuZHJhZ2dpbmcpfWZpbmFsbHl7YS5kcmFnZ2luZz1udWxsfX07cyhYQWEsImhhbmRsZURyb3AiKSxaaS5mb2N1cz1hPT57YS5pbnB1dC5sYXN0Rm9jdXM9RGF0ZS5ub3coKSxhLmZvY3VzZWR8fChhLmRvbU9ic2VydmVyLnN0b3AoKSxhLmRvbS5jbGFzc0xpc3QuYWRkKCJQcm9zZU1pcnJvci1mb2N1c2VkIiksYS5kb21PYnNlcnZlci5zdGFydCgpLGEuZm9jdXNlZD0hMCxzZXRUaW1lb3V0KCgpPT57YS5kb2NWaWV3JiZhLmhhc0ZvY3VzKCkmJiFhLmRvbU9ic2VydmVyLmN1cnJlbnRTZWxlY3Rpb24uZXEoYS5kb21TZWxlY3Rpb25SYW5nZSgpKSYmeGMoYSl9LDIwKSl9LFppLmJsdXI9KGEsZSk9PntsZXQgdD1lO2EuZm9jdXNlZCYmKGEuZG9tT2JzZXJ2ZXIuc3RvcCgpLGEuZG9tLmNsYXNzTGlzdC5yZW1vdmUoIlByb3NlTWlycm9yLWZvY3VzZWQiKSxhLmRvbU9ic2VydmVyLnN0YXJ0KCksdC5yZWxhdGVkVGFyZ2V0JiZhLmRvbS5jb250YWlucyh0LnJlbGF0ZWRUYXJnZXQpJiZhLmRvbU9ic2VydmVyLmN1cnJlbnRTZWxlY3Rpb24uY2xlYXIoKSxhLmZvY3VzZWQ9ITEpfSxaaS5iZWZvcmVpbnB1dD0oYSxlKT0+e2lmKG9pJiZiYyYmZS5pbnB1dFR5cGU9PSJkZWxldGVDb250ZW50QmFja3dhcmQiKXthLmRvbU9ic2VydmVyLmZsdXNoU29vbigpO2xldHtkb21DaGFuZ2VDb3VudDpyfT1hLmlucHV0O3NldFRpbWVvdXQoKCk9PntpZihhLmlucHV0LmRvbUNoYW5nZUNvdW50IT1yfHwoYS5kb20uYmx1cigpLGEuZm9jdXMoKSxhLnNvbWVQcm9wKCJoYW5kbGVLZXlEb3duIixvPT5vKGEsVWYoOCwiQmFja3NwYWNlIikpKSkpcmV0dXJuO2xldHskY3Vyc29yOml9PWEuc3RhdGUuc2VsZWN0aW9uO2kmJmkucG9zPjAmJmEuZGlzcGF0Y2goYS5zdGF0ZS50ci5kZWxldGUoaS5wb3MtMSxpLnBvcykuc2Nyb2xsSW50b1ZpZXcoKSl9LDUwKX19O2ZvcihsZXQgYSBpbiBYaSlaaVthXT1YaVthXTtzKGlXLCJjb21wYXJlT2JqcyIpO1ZhZT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIldpZGdldFR5cGUiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMudG9ET009ZSx0aGlzLnNwZWM9dHx8WmYsdGhpcy5zaWRlPXRoaXMuc3BlYy5zaWRlfHwwfW1hcChlLHQscixpKXtsZXR7cG9zOm8sZGVsZXRlZDpufT1lLm1hcFJlc3VsdCh0LmZyb20raSx0aGlzLnNpZGU8MD8tMToxKTtyZXR1cm4gbj9udWxsOm5ldyBSMShvLXIsby1yLHRoaXMpfXZhbGlkKCl7cmV0dXJuITB9ZXEoZSl7cmV0dXJuIHRoaXM9PWV8fGUgaW5zdGFuY2VvZiBhJiYodGhpcy5zcGVjLmtleSYmdGhpcy5zcGVjLmtleT09ZS5zcGVjLmtleXx8dGhpcy50b0RPTT09ZS50b0RPTSYmaVcodGhpcy5zcGVjLGUuc3BlYykpfWRlc3Ryb3koZSl7dGhpcy5zcGVjLmRlc3Ryb3kmJnRoaXMuc3BlYy5kZXN0cm95KGUpfX0sS2Y9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJJbmxpbmVUeXBlIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLmF0dHJzPWUsdGhpcy5zcGVjPXR8fFpmfW1hcChlLHQscixpKXtsZXQgbz1lLm1hcCh0LmZyb20raSx0aGlzLnNwZWMuaW5jbHVzaXZlU3RhcnQ/LTE6MSktcixuPWUubWFwKHQudG8raSx0aGlzLnNwZWMuaW5jbHVzaXZlRW5kPzE6LTEpLXI7cmV0dXJuIG8+PW4/bnVsbDpuZXcgUjEobyxuLHRoaXMpfXZhbGlkKGUsdCl7cmV0dXJuIHQuZnJvbTx0LnRvfWVxKGUpe3JldHVybiB0aGlzPT1lfHxlIGluc3RhbmNlb2YgYSYmaVcodGhpcy5hdHRycyxlLmF0dHJzKSYmaVcodGhpcy5zcGVjLGUuc3BlYyl9c3RhdGljIGlzKGUpe3JldHVybiBlLnR5cGUgaW5zdGFuY2VvZiBhfWRlc3Ryb3koKXt9fSxHS2U9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJOb2RlVHlwZSIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5hdHRycz1lLHRoaXMuc3BlYz10fHxaZn1tYXAoZSx0LHIsaSl7bGV0IG89ZS5tYXBSZXN1bHQodC5mcm9tK2ksMSk7aWYoby5kZWxldGVkKXJldHVybiBudWxsO2xldCBuPWUubWFwUmVzdWx0KHQudG8raSwtMSk7cmV0dXJuIG4uZGVsZXRlZHx8bi5wb3M8PW8ucG9zP251bGw6bmV3IFIxKG8ucG9zLXIsbi5wb3Mtcix0aGlzKX12YWxpZChlLHQpe2xldHtpbmRleDpyLG9mZnNldDppfT1lLmNvbnRlbnQuZmluZEluZGV4KHQuZnJvbSksbztyZXR1cm4gaT09dC5mcm9tJiYhKG89ZS5jaGlsZChyKSkuaXNUZXh0JiZpK28ubm9kZVNpemU9PXQudG99ZXEoZSl7cmV0dXJuIHRoaXM9PWV8fGUgaW5zdGFuY2VvZiBhJiZpVyh0aGlzLmF0dHJzLGUuYXR0cnMpJiZpVyh0aGlzLnNwZWMsZS5zcGVjKX1kZXN0cm95KCl7fX0sUjE9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJEZWNvcmF0aW9uIil9Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMuZnJvbT1lLHRoaXMudG89dCx0aGlzLnR5cGU9cn1jb3B5KGUsdCl7cmV0dXJuIG5ldyBhKGUsdCx0aGlzLnR5cGUpfWVxKGUsdD0wKXtyZXR1cm4gdGhpcy50eXBlLmVxKGUudHlwZSkmJnRoaXMuZnJvbSt0PT1lLmZyb20mJnRoaXMudG8rdD09ZS50b31tYXAoZSx0LHIpe3JldHVybiB0aGlzLnR5cGUubWFwKGUsdGhpcyx0LHIpfXN0YXRpYyB3aWRnZXQoZSx0LHIpe3JldHVybiBuZXcgYShlLGUsbmV3IFZhZSh0LHIpKX1zdGF0aWMgaW5saW5lKGUsdCxyLGkpe3JldHVybiBuZXcgYShlLHQsbmV3IEtmKHIsaSkpfXN0YXRpYyBub2RlKGUsdCxyLGkpe3JldHVybiBuZXcgYShlLHQsbmV3IEdLZShyLGkpKX1nZXQgc3BlYygpe3JldHVybiB0aGlzLnR5cGUuc3BlY31nZXQgaW5saW5lKCl7cmV0dXJuIHRoaXMudHlwZSBpbnN0YW5jZW9mIEtmfWdldCB3aWRnZXQoKXtyZXR1cm4gdGhpcy50eXBlIGluc3RhbmNlb2YgVmFlfX0sem09W10sWmY9e30sUWk9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJEZWNvcmF0aW9uU2V0Iil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLmxvY2FsPWUubGVuZ3RoP2U6em0sdGhpcy5jaGlsZHJlbj10Lmxlbmd0aD90OnptfXN0YXRpYyBjcmVhdGUoZSx0KXtyZXR1cm4gdC5sZW5ndGg/VWFlKHQsZSwwLFpmKTpSaX1maW5kKGUsdCxyKXtsZXQgaT1bXTtyZXR1cm4gdGhpcy5maW5kSW5uZXIoZT8/MCx0Pz8xZTksaSwwLHIpLGl9ZmluZElubmVyKGUsdCxyLGksbyl7Zm9yKGxldCBuPTA7bjx0aGlzLmxvY2FsLmxlbmd0aDtuKyspe2xldCBsPXRoaXMubG9jYWxbbl07bC5mcm9tPD10JiZsLnRvPj1lJiYoIW98fG8obC5zcGVjKSkmJnIucHVzaChsLmNvcHkobC5mcm9tK2ksbC50bytpKSl9Zm9yKGxldCBuPTA7bjx0aGlzLmNoaWxkcmVuLmxlbmd0aDtuKz0zKWlmKHRoaXMuY2hpbGRyZW5bbl08dCYmdGhpcy5jaGlsZHJlbltuKzFdPmUpe2xldCBsPXRoaXMuY2hpbGRyZW5bbl0rMTt0aGlzLmNoaWxkcmVuW24rMl0uZmluZElubmVyKGUtbCx0LWwscixpK2wsbyl9fW1hcChlLHQscil7cmV0dXJuIHRoaXM9PVJpfHxlLm1hcHMubGVuZ3RoPT0wP3RoaXM6dGhpcy5tYXBJbm5lcihlLHQsMCwwLHJ8fFpmKX1tYXBJbm5lcihlLHQscixpLG8pe2xldCBuO2ZvcihsZXQgbD0wO2w8dGhpcy5sb2NhbC5sZW5ndGg7bCsrKXtsZXQgZD10aGlzLmxvY2FsW2xdLm1hcChlLHIsaSk7ZCYmZC50eXBlLnZhbGlkKHQsZCk/KG58fChuPVtdKSkucHVzaChkKTpvLm9uUmVtb3ZlJiZvLm9uUmVtb3ZlKHRoaXMubG9jYWxbbF0uc3BlYyl9cmV0dXJuIHRoaXMuY2hpbGRyZW4ubGVuZ3RoP1FBYSh0aGlzLmNoaWxkcmVuLG58fFtdLGUsdCxyLGksbyk6bj9uZXcgYShuLnNvcnQoWGYpLHptKTpSaX1hZGQoZSx0KXtyZXR1cm4gdC5sZW5ndGg/dGhpcz09Umk/YS5jcmVhdGUoZSx0KTp0aGlzLmFkZElubmVyKGUsdCwwKTp0aGlzfWFkZElubmVyKGUsdCxyKXtsZXQgaSxvPTA7ZS5mb3JFYWNoKChsLGQpPT57bGV0IGM9ZCtyLHA7aWYocD1ubmEodCxsLGMpKXtmb3IoaXx8KGk9dGhpcy5jaGlsZHJlbi5zbGljZSgpKTtvPGkubGVuZ3RoJiZpW29dPGQ7KW8rPTM7aVtvXT09ZD9pW28rMl09aVtvKzJdLmFkZElubmVyKGwscCxjKzEpOmkuc3BsaWNlKG8sMCxkLGQrbC5ub2RlU2l6ZSxVYWUocCxsLGMrMSxaZikpLG8rPTN9fSk7bGV0IG49b25hKG8/bG5hKHQpOnQsLXIpO2ZvcihsZXQgbD0wO2w8bi5sZW5ndGg7bCsrKW5bbF0udHlwZS52YWxpZChlLG5bbF0pfHxuLnNwbGljZShsLS0sMSk7cmV0dXJuIG5ldyBhKG4ubGVuZ3RoP3RoaXMubG9jYWwuY29uY2F0KG4pLnNvcnQoWGYpOnRoaXMubG9jYWwsaXx8dGhpcy5jaGlsZHJlbil9cmVtb3ZlKGUpe3JldHVybiBlLmxlbmd0aD09MHx8dGhpcz09Umk/dGhpczp0aGlzLnJlbW92ZUlubmVyKGUsMCl9cmVtb3ZlSW5uZXIoZSx0KXtsZXQgcj10aGlzLmNoaWxkcmVuLGk9dGhpcy5sb2NhbDtmb3IobGV0IG89MDtvPHIubGVuZ3RoO28rPTMpe2xldCBuLGw9cltvXSt0LGQ9cltvKzFdK3Q7Zm9yKGxldCBwPTAsdTtwPGUubGVuZ3RoO3ArKykodT1lW3BdKSYmdS5mcm9tPmwmJnUudG88ZCYmKGVbcF09bnVsbCwobnx8KG49W10pKS5wdXNoKHUpKTtpZighbiljb250aW51ZTtyPT10aGlzLmNoaWxkcmVuJiYocj10aGlzLmNoaWxkcmVuLnNsaWNlKCkpO2xldCBjPXJbbysyXS5yZW1vdmVJbm5lcihuLGwrMSk7YyE9Umk/cltvKzJdPWM6KHIuc3BsaWNlKG8sMyksby09Myl9aWYoaS5sZW5ndGgpe2ZvcihsZXQgbz0wLG47bzxlLmxlbmd0aDtvKyspaWYobj1lW29dKWZvcihsZXQgbD0wO2w8aS5sZW5ndGg7bCsrKWlbbF0uZXEobix0KSYmKGk9PXRoaXMubG9jYWwmJihpPXRoaXMubG9jYWwuc2xpY2UoKSksaS5zcGxpY2UobC0tLDEpKX1yZXR1cm4gcj09dGhpcy5jaGlsZHJlbiYmaT09dGhpcy5sb2NhbD90aGlzOmkubGVuZ3RofHxyLmxlbmd0aD9uZXcgYShpLHIpOlJpfWZvckNoaWxkKGUsdCl7aWYodGhpcz09UmkpcmV0dXJuIHRoaXM7aWYodC5pc0xlYWYpcmV0dXJuIGEuZW1wdHk7bGV0IHIsaTtmb3IobGV0IGw9MDtsPHRoaXMuY2hpbGRyZW4ubGVuZ3RoO2wrPTMpaWYodGhpcy5jaGlsZHJlbltsXT49ZSl7dGhpcy5jaGlsZHJlbltsXT09ZSYmKHI9dGhpcy5jaGlsZHJlbltsKzJdKTticmVha31sZXQgbz1lKzEsbj1vK3QuY29udGVudC5zaXplO2ZvcihsZXQgbD0wO2w8dGhpcy5sb2NhbC5sZW5ndGg7bCsrKXtsZXQgZD10aGlzLmxvY2FsW2xdO2lmKGQuZnJvbTxuJiZkLnRvPm8mJmQudHlwZSBpbnN0YW5jZW9mIEtmKXtsZXQgYz1NYXRoLm1heChvLGQuZnJvbSktbyxwPU1hdGgubWluKG4sZC50byktbztjPHAmJihpfHwoaT1bXSkpLnB1c2goZC5jb3B5KGMscCkpfX1pZihpKXtsZXQgbD1uZXcgYShpLnNvcnQoWGYpLHptKTtyZXR1cm4gcj9uZXcgamFlKFtsLHJdKTpsfXJldHVybiByfHxSaX1lcShlKXtpZih0aGlzPT1lKXJldHVybiEwO2lmKCEoZSBpbnN0YW5jZW9mIGEpfHx0aGlzLmxvY2FsLmxlbmd0aCE9ZS5sb2NhbC5sZW5ndGh8fHRoaXMuY2hpbGRyZW4ubGVuZ3RoIT1lLmNoaWxkcmVuLmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHQ9MDt0PHRoaXMubG9jYWwubGVuZ3RoO3QrKylpZighdGhpcy5sb2NhbFt0XS5lcShlLmxvY2FsW3RdKSlyZXR1cm4hMTtmb3IobGV0IHQ9MDt0PHRoaXMuY2hpbGRyZW4ubGVuZ3RoO3QrPTMpaWYodGhpcy5jaGlsZHJlblt0XSE9ZS5jaGlsZHJlblt0XXx8dGhpcy5jaGlsZHJlblt0KzFdIT1lLmNoaWxkcmVuW3QrMV18fCF0aGlzLmNoaWxkcmVuW3QrMl0uZXEoZS5jaGlsZHJlblt0KzJdKSlyZXR1cm4hMTtyZXR1cm4hMH1sb2NhbHMoZSl7cmV0dXJuIFlLZSh0aGlzLmxvY2Fsc0lubmVyKGUpKX1sb2NhbHNJbm5lcihlKXtpZih0aGlzPT1SaSlyZXR1cm4gem07aWYoZS5pbmxpbmVDb250ZW50fHwhdGhpcy5sb2NhbC5zb21lKEtmLmlzKSlyZXR1cm4gdGhpcy5sb2NhbDtsZXQgdD1bXTtmb3IobGV0IHI9MDtyPHRoaXMubG9jYWwubGVuZ3RoO3IrKyl0aGlzLmxvY2FsW3JdLnR5cGUgaW5zdGFuY2VvZiBLZnx8dC5wdXNoKHRoaXMubG9jYWxbcl0pO3JldHVybiB0fWZvckVhY2hTZXQoZSl7ZSh0aGlzKX19O1FpLmVtcHR5PW5ldyBRaShbXSxbXSksUWkucmVtb3ZlT3ZlcmxhcD1ZS2U7Umk9UWkuZW1wdHksamFlPWNsYXNzIGF7c3RhdGlje3ModGhpcywiRGVjb3JhdGlvbkdyb3VwIil9Y29uc3RydWN0b3IoZSl7dGhpcy5tZW1iZXJzPWV9bWFwKGUsdCl7bGV0IHI9dGhpcy5tZW1iZXJzLm1hcChpPT5pLm1hcChlLHQsWmYpKTtyZXR1cm4gYS5mcm9tKHIpfWZvckNoaWxkKGUsdCl7aWYodC5pc0xlYWYpcmV0dXJuIFFpLmVtcHR5O2xldCByPVtdO2ZvcihsZXQgaT0wO2k8dGhpcy5tZW1iZXJzLmxlbmd0aDtpKyspe2xldCBvPXRoaXMubWVtYmVyc1tpXS5mb3JDaGlsZChlLHQpO28hPVJpJiYobyBpbnN0YW5jZW9mIGE/cj1yLmNvbmNhdChvLm1lbWJlcnMpOnIucHVzaChvKSl9cmV0dXJuIGEuZnJvbShyKX1lcShlKXtpZighKGUgaW5zdGFuY2VvZiBhKXx8ZS5tZW1iZXJzLmxlbmd0aCE9dGhpcy5tZW1iZXJzLmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHQ9MDt0PHRoaXMubWVtYmVycy5sZW5ndGg7dCsrKWlmKCF0aGlzLm1lbWJlcnNbdF0uZXEoZS5tZW1iZXJzW3RdKSlyZXR1cm4hMTtyZXR1cm4hMH1sb2NhbHMoZSl7bGV0IHQscj0hMDtmb3IobGV0IGk9MDtpPHRoaXMubWVtYmVycy5sZW5ndGg7aSsrKXtsZXQgbz10aGlzLm1lbWJlcnNbaV0ubG9jYWxzSW5uZXIoZSk7aWYoby5sZW5ndGgpaWYoIXQpdD1vO2Vsc2V7ciYmKHQ9dC5zbGljZSgpLHI9ITEpO2ZvcihsZXQgbj0wO248by5sZW5ndGg7bisrKXQucHVzaChvW25dKX19cmV0dXJuIHQ/WUtlKHI/dDp0LnNvcnQoWGYpKTp6bX1zdGF0aWMgZnJvbShlKXtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gUmk7Y2FzZSAxOnJldHVybiBlWzBdO2RlZmF1bHQ6cmV0dXJuIG5ldyBhKGUuZXZlcnkodD0+dCBpbnN0YW5jZW9mIFFpKT9lOmUucmVkdWNlKCh0LHIpPT50LmNvbmNhdChyIGluc3RhbmNlb2YgUWk/cjpyLm1lbWJlcnMpLFtdKSl9fWZvckVhY2hTZXQoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLm1lbWJlcnMubGVuZ3RoO3QrKyl0aGlzLm1lbWJlcnNbdF0uZm9yRWFjaFNldChlKX19O3MoUUFhLCJtYXBDaGlsZHJlbiIpO3Mob25hLCJtb3ZlU3BhbnMiKTtzKEpBYSwibWFwQW5kR2F0aGVyUmVtYWluaW5nRGVjb3JhdGlvbnMiKTtzKG5uYSwidGFrZVNwYW5zRm9yTm9kZSIpO3MobG5hLCJ3aXRob3V0TnVsbHMiKTtzKFVhZSwiYnVpbGRUcmVlIik7cyhYZiwiYnlQb3MiKTtzKFlLZSwicmVtb3ZlT3ZlcmxhcCIpO3MoY25hLCJpbnNlcnRBaGVhZCIpO3MoS0tlLCJ2aWV3RGVjb3JhdGlvbnMiKTtlUGE9e2NoaWxkTGlzdDohMCxjaGFyYWN0ZXJEYXRhOiEwLGNoYXJhY3RlckRhdGFPbGRWYWx1ZTohMCxhdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZU9sZFZhbHVlOiEwLHN1YnRyZWU6ITB9LHRQYT1SbyYmZzQ8PTExLFpLZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTZWxlY3Rpb25TdGF0ZSIpfWNvbnN0cnVjdG9yKCl7dGhpcy5hbmNob3JOb2RlPW51bGwsdGhpcy5hbmNob3JPZmZzZXQ9MCx0aGlzLmZvY3VzTm9kZT1udWxsLHRoaXMuZm9jdXNPZmZzZXQ9MH1zZXQoZSl7dGhpcy5hbmNob3JOb2RlPWUuYW5jaG9yTm9kZSx0aGlzLmFuY2hvck9mZnNldD1lLmFuY2hvck9mZnNldCx0aGlzLmZvY3VzTm9kZT1lLmZvY3VzTm9kZSx0aGlzLmZvY3VzT2Zmc2V0PWUuZm9jdXNPZmZzZXR9Y2xlYXIoKXt0aGlzLmFuY2hvck5vZGU9dGhpcy5mb2N1c05vZGU9bnVsbH1lcShlKXtyZXR1cm4gZS5hbmNob3JOb2RlPT10aGlzLmFuY2hvck5vZGUmJmUuYW5jaG9yT2Zmc2V0PT10aGlzLmFuY2hvck9mZnNldCYmZS5mb2N1c05vZGU9PXRoaXMuZm9jdXNOb2RlJiZlLmZvY3VzT2Zmc2V0PT10aGlzLmZvY3VzT2Zmc2V0fX0sWEtlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRPTU9ic2VydmVyIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnZpZXc9ZSx0aGlzLmhhbmRsZURPTUNoYW5nZT10LHRoaXMucXVldWU9W10sdGhpcy5mbHVzaGluZ1Nvb249LTEsdGhpcy5vYnNlcnZlcj1udWxsLHRoaXMuY3VycmVudFNlbGVjdGlvbj1uZXcgWktlLHRoaXMub25DaGFyRGF0YT1udWxsLHRoaXMuc3VwcHJlc3NpbmdTZWxlY3Rpb25VcGRhdGVzPSExLHRoaXMubGFzdENoYW5nZWRUZXh0Tm9kZT1udWxsLHRoaXMub2JzZXJ2ZXI9d2luZG93Lk11dGF0aW9uT2JzZXJ2ZXImJm5ldyB3aW5kb3cuTXV0YXRpb25PYnNlcnZlcihyPT57Zm9yKGxldCBpPTA7aTxyLmxlbmd0aDtpKyspdGhpcy5xdWV1ZS5wdXNoKHJbaV0pO1JvJiZnNDw9MTEmJnIuc29tZShpPT5pLnR5cGU9PSJjaGlsZExpc3QiJiZpLnJlbW92ZWROb2Rlcy5sZW5ndGh8fGkudHlwZT09ImNoYXJhY3RlckRhdGEiJiZpLm9sZFZhbHVlLmxlbmd0aD5pLnRhcmdldC5ub2RlVmFsdWUubGVuZ3RoKT90aGlzLmZsdXNoU29vbigpOk5pJiZlLmNvbXBvc2luZyYmci5zb21lKGk9PmkudHlwZT09ImNoaWxkTGlzdCImJmkudGFyZ2V0Lm5vZGVOYW1lPT0iVFIiKT8oZS5pbnB1dC5iYWRTYWZhcmlDb21wb3NpdGlvbj0hMCx0aGlzLmZsdXNoU29vbigpKTp0aGlzLmZsdXNoKCl9KSx0UGEmJih0aGlzLm9uQ2hhckRhdGE9cj0+e3RoaXMucXVldWUucHVzaCh7dGFyZ2V0OnIudGFyZ2V0LHR5cGU6ImNoYXJhY3RlckRhdGEiLG9sZFZhbHVlOnIucHJldlZhbHVlfSksdGhpcy5mbHVzaFNvb24oKX0pLHRoaXMub25TZWxlY3Rpb25DaGFuZ2U9dGhpcy5vblNlbGVjdGlvbkNoYW5nZS5iaW5kKHRoaXMpfWZsdXNoU29vbigpe3RoaXMuZmx1c2hpbmdTb29uPDAmJih0aGlzLmZsdXNoaW5nU29vbj13aW5kb3cuc2V0VGltZW91dCgoKT0+e3RoaXMuZmx1c2hpbmdTb29uPS0xLHRoaXMuZmx1c2goKX0sMjApKX1mb3JjZUZsdXNoKCl7dGhpcy5mbHVzaGluZ1Nvb24+LTEmJih3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuZmx1c2hpbmdTb29uKSx0aGlzLmZsdXNoaW5nU29vbj0tMSx0aGlzLmZsdXNoKCkpfXN0YXJ0KCl7dGhpcy5vYnNlcnZlciYmKHRoaXMub2JzZXJ2ZXIudGFrZVJlY29yZHMoKSx0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy52aWV3LmRvbSxlUGEpKSx0aGlzLm9uQ2hhckRhdGEmJnRoaXMudmlldy5kb20uYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkIix0aGlzLm9uQ2hhckRhdGEpLHRoaXMuY29ubmVjdFNlbGVjdGlvbigpfXN0b3AoKXtpZih0aGlzLm9ic2VydmVyKXtsZXQgZT10aGlzLm9ic2VydmVyLnRha2VSZWNvcmRzKCk7aWYoZS5sZW5ndGgpe2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXRoaXMucXVldWUucHVzaChlW3RdKTt3aW5kb3cuc2V0VGltZW91dCgoKT0+dGhpcy5mbHVzaCgpLDIwKX10aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKX10aGlzLm9uQ2hhckRhdGEmJnRoaXMudmlldy5kb20ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkIix0aGlzLm9uQ2hhckRhdGEpLHRoaXMuZGlzY29ubmVjdFNlbGVjdGlvbigpfWNvbm5lY3RTZWxlY3Rpb24oKXt0aGlzLnZpZXcuZG9tLm93bmVyRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIix0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlKX1kaXNjb25uZWN0U2VsZWN0aW9uKCl7dGhpcy52aWV3LmRvbS5vd25lckRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsdGhpcy5vblNlbGVjdGlvbkNoYW5nZSl9c3VwcHJlc3NTZWxlY3Rpb25VcGRhdGVzKCl7dGhpcy5zdXBwcmVzc2luZ1NlbGVjdGlvblVwZGF0ZXM9ITAsc2V0VGltZW91dCgoKT0+dGhpcy5zdXBwcmVzc2luZ1NlbGVjdGlvblVwZGF0ZXM9ITEsNTApfW9uU2VsZWN0aW9uQ2hhbmdlKCl7aWYoRm9hKHRoaXMudmlldykpe2lmKHRoaXMuc3VwcHJlc3NpbmdTZWxlY3Rpb25VcGRhdGVzKXJldHVybiB4Yyh0aGlzLnZpZXcpO2lmKFJvJiZnNDw9MTEmJiF0aGlzLnZpZXcuc3RhdGUuc2VsZWN0aW9uLmVtcHR5KXtsZXQgZT10aGlzLnZpZXcuZG9tU2VsZWN0aW9uUmFuZ2UoKTtpZihlLmZvY3VzTm9kZSYmamYoZS5mb2N1c05vZGUsZS5mb2N1c09mZnNldCxlLmFuY2hvck5vZGUsZS5hbmNob3JPZmZzZXQpKXJldHVybiB0aGlzLmZsdXNoU29vbigpfXRoaXMuZmx1c2goKX19c2V0Q3VyU2VsZWN0aW9uKCl7dGhpcy5jdXJyZW50U2VsZWN0aW9uLnNldCh0aGlzLnZpZXcuZG9tU2VsZWN0aW9uUmFuZ2UoKSl9aWdub3JlU2VsZWN0aW9uQ2hhbmdlKGUpe2lmKCFlLmZvY3VzTm9kZSlyZXR1cm4hMDtsZXQgdD1uZXcgU2V0LHI7Zm9yKGxldCBvPWUuZm9jdXNOb2RlO287bz14bShvKSl0LmFkZChvKTtmb3IobGV0IG89ZS5hbmNob3JOb2RlO287bz14bShvKSlpZih0LmhhcyhvKSl7cj1vO2JyZWFrfWxldCBpPXImJnRoaXMudmlldy5kb2NWaWV3Lm5lYXJlc3REZXNjKHIpO2lmKGkmJmkuaWdub3JlTXV0YXRpb24oe3R5cGU6InNlbGVjdGlvbiIsdGFyZ2V0OnIubm9kZVR5cGU9PTM/ci5wYXJlbnROb2RlOnJ9KSlyZXR1cm4gdGhpcy5zZXRDdXJTZWxlY3Rpb24oKSwhMH1wZW5kaW5nUmVjb3Jkcygpe2lmKHRoaXMub2JzZXJ2ZXIpZm9yKGxldCBlIG9mIHRoaXMub2JzZXJ2ZXIudGFrZVJlY29yZHMoKSl0aGlzLnF1ZXVlLnB1c2goZSk7cmV0dXJuIHRoaXMucXVldWV9Zmx1c2goKXtsZXR7dmlldzplfT10aGlzO2lmKCFlLmRvY1ZpZXd8fHRoaXMuZmx1c2hpbmdTb29uPi0xKXJldHVybjtsZXQgdD10aGlzLnBlbmRpbmdSZWNvcmRzKCk7dC5sZW5ndGgmJih0aGlzLnF1ZXVlPVtdKTtsZXQgcj1lLmRvbVNlbGVjdGlvblJhbmdlKCksaT0hdGhpcy5zdXBwcmVzc2luZ1NlbGVjdGlvblVwZGF0ZXMmJiF0aGlzLmN1cnJlbnRTZWxlY3Rpb24uZXEocikmJkZvYShlKSYmIXRoaXMuaWdub3JlU2VsZWN0aW9uQ2hhbmdlKHIpLG89LTEsbj0tMSxsPSExLGQ9W107aWYoZS5lZGl0YWJsZSlmb3IobGV0IHA9MDtwPHQubGVuZ3RoO3ArKyl7bGV0IHU9dGhpcy5yZWdpc3Rlck11dGF0aW9uKHRbcF0sZCk7dSYmKG89bzwwP3UuZnJvbTpNYXRoLm1pbih1LmZyb20sbyksbj1uPDA/dS50bzpNYXRoLm1heCh1LnRvLG4pLHUudHlwZU92ZXImJihsPSEwKSl9aWYoZC5zb21lKHA9PnAubm9kZU5hbWU9PSJCUiIpJiYoZS5pbnB1dC5sYXN0S2V5Q29kZT09OHx8ZS5pbnB1dC5sYXN0S2V5Q29kZT09NDYpKXtmb3IobGV0IHAgb2YgZClpZihwLm5vZGVOYW1lPT0iQlIiJiZwLnBhcmVudE5vZGUpe2xldCB1PXAubmV4dFNpYmxpbmc7Zm9yKDt1JiZ1Lm5vZGVUeXBlPT0xOyl7aWYodS5jb250ZW50RWRpdGFibGU9PSJmYWxzZSIpe3AucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChwKTticmVha311PXUuZmlyc3RDaGlsZH19fWVsc2UgaWYoUm4mJmQubGVuZ3RoKXtsZXQgcD1kLmZpbHRlcih1PT51Lm5vZGVOYW1lPT0iQlIiKTtpZihwLmxlbmd0aD09Mil7bGV0W3UsbV09cDt1LnBhcmVudE5vZGUmJnUucGFyZW50Tm9kZS5wYXJlbnROb2RlPT1tLnBhcmVudE5vZGU/bS5yZW1vdmUoKTp1LnJlbW92ZSgpfWVsc2V7bGV0e2ZvY3VzTm9kZTp1fT10aGlzLmN1cnJlbnRTZWxlY3Rpb247Zm9yKGxldCBtIG9mIHApe2xldCB2PW0ucGFyZW50Tm9kZTt2JiZ2Lm5vZGVOYW1lPT0iTEkiJiYoIXV8fHNQYShlLHUpIT12KSYmbS5yZW1vdmUoKX19fWxldCBjPW51bGw7bzwwJiZpJiZlLmlucHV0Lmxhc3RGb2N1cz5EYXRlLm5vdygpLTIwMCYmTWF0aC5tYXgoZS5pbnB1dC5sYXN0VG91Y2gsZS5pbnB1dC5sYXN0Q2xpY2sudGltZSk8RGF0ZS5ub3coKS0zMDAmJklhZShyKSYmKGM9QUtlKGUpKSYmYy5lcShFdC5uZWFyKGUuc3RhdGUuZG9jLnJlc29sdmUoMCksMSkpPyhlLmlucHV0Lmxhc3RGb2N1cz0wLHhjKGUpLHRoaXMuY3VycmVudFNlbGVjdGlvbi5zZXQociksZS5zY3JvbGxUb1NlbGVjdGlvbigpKToobz4tMXx8aSkmJihvPi0xJiYoZS5kb2NWaWV3Lm1hcmtEaXJ0eShvLG4pLGFQYShlKSksZS5pbnB1dC5iYWRTYWZhcmlDb21wb3NpdGlvbiYmKGUuaW5wdXQuYmFkU2FmYXJpQ29tcG9zaXRpb249ITEsaVBhKGUsZCkpLHRoaXMuaGFuZGxlRE9NQ2hhbmdlKG8sbixsLGQpLGUuZG9jVmlldyYmZS5kb2NWaWV3LmRpcnR5P2UudXBkYXRlU3RhdGUoZS5zdGF0ZSk6dGhpcy5jdXJyZW50U2VsZWN0aW9uLmVxKHIpfHx4YyhlKSx0aGlzLmN1cnJlbnRTZWxlY3Rpb24uc2V0KHIpKX1yZWdpc3Rlck11dGF0aW9uKGUsdCl7aWYodC5pbmRleE9mKGUudGFyZ2V0KT4tMSlyZXR1cm4gbnVsbDtsZXQgcj10aGlzLnZpZXcuZG9jVmlldy5uZWFyZXN0RGVzYyhlLnRhcmdldCk7aWYoZS50eXBlPT0iYXR0cmlidXRlcyImJihyPT10aGlzLnZpZXcuZG9jVmlld3x8ZS5hdHRyaWJ1dGVOYW1lPT0iY29udGVudGVkaXRhYmxlInx8ZS5hdHRyaWJ1dGVOYW1lPT0ic3R5bGUiJiYhZS5vbGRWYWx1ZSYmIWUudGFyZ2V0LmdldEF0dHJpYnV0ZSgic3R5bGUiKSl8fCFyfHxyLmlnbm9yZU11dGF0aW9uKGUpKXJldHVybiBudWxsO2lmKGUudHlwZT09ImNoaWxkTGlzdCIpe2ZvcihsZXQgcD0wO3A8ZS5hZGRlZE5vZGVzLmxlbmd0aDtwKyspe2xldCB1PWUuYWRkZWROb2Rlc1twXTt0LnB1c2godSksdS5ub2RlVHlwZT09MyYmKHRoaXMubGFzdENoYW5nZWRUZXh0Tm9kZT11KX1pZihyLmNvbnRlbnRET00mJnIuY29udGVudERPTSE9ci5kb20mJiFyLmNvbnRlbnRET00uY29udGFpbnMoZS50YXJnZXQpKXJldHVybntmcm9tOnIucG9zQmVmb3JlLHRvOnIucG9zQWZ0ZXJ9O2xldCBpPWUucHJldmlvdXNTaWJsaW5nLG89ZS5uZXh0U2libGluZztpZihSbyYmZzQ8PTExJiZlLmFkZGVkTm9kZXMubGVuZ3RoKWZvcihsZXQgcD0wO3A8ZS5hZGRlZE5vZGVzLmxlbmd0aDtwKyspe2xldHtwcmV2aW91c1NpYmxpbmc6dSxuZXh0U2libGluZzptfT1lLmFkZGVkTm9kZXNbcF07KCF1fHxBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGUuYWRkZWROb2Rlcyx1KTwwKSYmKGk9dSksKCFtfHxBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGUuYWRkZWROb2RlcyxtKTwwKSYmKG89bSl9bGV0IG49aSYmaS5wYXJlbnROb2RlPT1lLnRhcmdldD9paShpKSsxOjAsbD1yLmxvY2FsUG9zRnJvbURPTShlLnRhcmdldCxuLC0xKSxkPW8mJm8ucGFyZW50Tm9kZT09ZS50YXJnZXQ/aWkobyk6ZS50YXJnZXQuY2hpbGROb2Rlcy5sZW5ndGgsYz1yLmxvY2FsUG9zRnJvbURPTShlLnRhcmdldCxkLDEpO3JldHVybntmcm9tOmwsdG86Y319ZWxzZSByZXR1cm4gZS50eXBlPT0iYXR0cmlidXRlcyI/e2Zyb206ci5wb3NBdFN0YXJ0LXIuYm9yZGVyLHRvOnIucG9zQXRFbmQrci5ib3JkZXJ9Oih0aGlzLmxhc3RDaGFuZ2VkVGV4dE5vZGU9ZS50YXJnZXQse2Zyb206ci5wb3NBdFN0YXJ0LHRvOnIucG9zQXRFbmQsdHlwZU92ZXI6ZS50YXJnZXQubm9kZVZhbHVlPT1lLm9sZFZhbHVlfSl9fSxkbmE9bmV3IFdlYWtNYXAsdW5hPSExO3MoYVBhLCJjaGVja0NTUyIpO3MocG5hLCJyYW5nZVRvU2VsZWN0aW9uUmFuZ2UiKTtzKHJQYSwic2FmYXJpU2hhZG93U2VsZWN0aW9uUmFuZ2UiKTtzKHNQYSwiYmxvY2tQYXJlbnQiKTtzKGlQYSwiZml4VXBCYWRTYWZhcmlDb21wb3NpdGlvbiIpO3Mob1BhLCJwYXJzZUJldHdlZW4iKTtzKG5QYSwicnVsZUZyb21Ob2RlIik7bFBhPS9eKGF8YWJicnxhY3JvbnltfGJ8YmRbaW9dfGJpZ3xicnxidXR0b258Y2l0ZXxjb2RlfGRhdGEobGlzdCk/fGRlbHxkZm58ZW18aXxpbWd8aW5zfGtiZHxsYWJlbHxtYXB8bWFya3xtZXRlcnxvdXRwdXR8cXxydWJ5fHN8c2FtcHxzbWFsbHxzcGFufHN0cm9uZ3xzdVticF18dGltZXx1fHR0fHZhcikkL2k7cyhjUGEsInJlYWRET01DaGFuZ2UiKTtzKGZuYSwicmVzb2x2ZVNlbGVjdGlvbiIpO3MoZFBhLCJpc01hcmtDaGFuZ2UiKTtzKHVQYSwibG9va3NMaWtlQmFja3NwYWNlIik7cyhRS2UsInNraXBDbG9zaW5nQW5kT3BlbmluZyIpO3MocFBhLCJmaW5kRGlmZiIpO3MoaG5hLCJpc1N1cnJvZ2F0ZVBhaXIiKTtmUGE9T0tlLGhQYT1hVyxDbT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJFZGl0b3JWaWV3Iil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yb290PW51bGwsdGhpcy5mb2N1c2VkPSExLHRoaXMudHJhY2tXcml0ZXM9bnVsbCx0aGlzLm1vdW50ZWQ9ITEsdGhpcy5tYXJrQ3Vyc29yPW51bGwsdGhpcy5jdXJzb3JXcmFwcGVyPW51bGwsdGhpcy5sYXN0U2VsZWN0ZWRWaWV3RGVzYz12b2lkIDAsdGhpcy5pbnB1dD1uZXcgSEtlLHRoaXMucHJldkRpcmVjdFBsdWdpbnM9W10sdGhpcy5wbHVnaW5WaWV3cz1bXSx0aGlzLnJlcXVpcmVzR2Vja29IYWNrTm9kZT0hMSx0aGlzLmRyYWdnaW5nPW51bGwsdGhpcy5fcHJvcHM9dCx0aGlzLnN0YXRlPXQuc3RhdGUsdGhpcy5kaXJlY3RQbHVnaW5zPXQucGx1Z2luc3x8W10sdGhpcy5kaXJlY3RQbHVnaW5zLmZvckVhY2goeG5hKSx0aGlzLmRpc3BhdGNoPXRoaXMuZGlzcGF0Y2guYmluZCh0aGlzKSx0aGlzLmRvbT1lJiZlLm1vdW50fHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxlJiYoZS5hcHBlbmRDaGlsZD9lLmFwcGVuZENoaWxkKHRoaXMuZG9tKTp0eXBlb2YgZT09ImZ1bmN0aW9uIj9lKHRoaXMuZG9tKTplLm1vdW50JiYodGhpcy5tb3VudGVkPSEwKSksdGhpcy5lZGl0YWJsZT1ibmEodGhpcyksZ25hKHRoaXMpLHRoaXMubm9kZVZpZXdzPXZuYSh0aGlzKSx0aGlzLmRvY1ZpZXc9VG9hKHRoaXMuc3RhdGUuZG9jLG1uYSh0aGlzKSxLS2UodGhpcyksdGhpcy5kb20sdGhpcyksdGhpcy5kb21PYnNlcnZlcj1uZXcgWEtlKHRoaXMsKHIsaSxvLG4pPT5jUGEodGhpcyxyLGksbyxuKSksdGhpcy5kb21PYnNlcnZlci5zdGFydCgpLEFBYSh0aGlzKSx0aGlzLnVwZGF0ZVBsdWdpblZpZXdzKCl9Z2V0IGNvbXBvc2luZygpe3JldHVybiB0aGlzLmlucHV0LmNvbXBvc2luZ31nZXQgcHJvcHMoKXtpZih0aGlzLl9wcm9wcy5zdGF0ZSE9dGhpcy5zdGF0ZSl7bGV0IGU9dGhpcy5fcHJvcHM7dGhpcy5fcHJvcHM9e307Zm9yKGxldCB0IGluIGUpdGhpcy5fcHJvcHNbdF09ZVt0XTt0aGlzLl9wcm9wcy5zdGF0ZT10aGlzLnN0YXRlfXJldHVybiB0aGlzLl9wcm9wc311cGRhdGUoZSl7ZS5oYW5kbGVET01FdmVudHMhPXRoaXMuX3Byb3BzLmhhbmRsZURPTUV2ZW50cyYmcUtlKHRoaXMpO2xldCB0PXRoaXMuX3Byb3BzO3RoaXMuX3Byb3BzPWUsZS5wbHVnaW5zJiYoZS5wbHVnaW5zLmZvckVhY2goeG5hKSx0aGlzLmRpcmVjdFBsdWdpbnM9ZS5wbHVnaW5zKSx0aGlzLnVwZGF0ZVN0YXRlSW5uZXIoZS5zdGF0ZSx0KX1zZXRQcm9wcyhlKXtsZXQgdD17fTtmb3IobGV0IHIgaW4gdGhpcy5fcHJvcHMpdFtyXT10aGlzLl9wcm9wc1tyXTt0LnN0YXRlPXRoaXMuc3RhdGU7Zm9yKGxldCByIGluIGUpdFtyXT1lW3JdO3RoaXMudXBkYXRlKHQpfXVwZGF0ZVN0YXRlKGUpe3RoaXMudXBkYXRlU3RhdGVJbm5lcihlLHRoaXMuX3Byb3BzKX11cGRhdGVTdGF0ZUlubmVyKGUsdCl7dmFyIHI7bGV0IGk9dGhpcy5zdGF0ZSxvPSExLG49ITE7ZS5zdG9yZWRNYXJrcyYmdGhpcy5jb21wb3NpbmcmJihybmEodGhpcyksbj0hMCksdGhpcy5zdGF0ZT1lO2xldCBsPWkucGx1Z2lucyE9ZS5wbHVnaW5zfHx0aGlzLl9wcm9wcy5wbHVnaW5zIT10LnBsdWdpbnM7aWYobHx8dGhpcy5fcHJvcHMucGx1Z2lucyE9dC5wbHVnaW5zfHx0aGlzLl9wcm9wcy5ub2RlVmlld3MhPXQubm9kZVZpZXdzKXtsZXQgdj12bmEodGhpcyk7Z1BhKHYsdGhpcy5ub2RlVmlld3MpJiYodGhpcy5ub2RlVmlld3M9dixvPSEwKX0obHx8dC5oYW5kbGVET01FdmVudHMhPXRoaXMuX3Byb3BzLmhhbmRsZURPTUV2ZW50cykmJnFLZSh0aGlzKSx0aGlzLmVkaXRhYmxlPWJuYSh0aGlzKSxnbmEodGhpcyk7bGV0IGQ9S0tlKHRoaXMpLGM9bW5hKHRoaXMpLHA9aS5wbHVnaW5zIT1lLnBsdWdpbnMmJiFpLmRvYy5lcShlLmRvYyk/InJlc2V0IjplLnNjcm9sbFRvU2VsZWN0aW9uPmkuc2Nyb2xsVG9TZWxlY3Rpb24/InRvIHNlbGVjdGlvbiI6InByZXNlcnZlIix1PW98fCF0aGlzLmRvY1ZpZXcubWF0Y2hlc05vZGUoZS5kb2MsYyxkKTsodXx8IWUuc2VsZWN0aW9uLmVxKGkuc2VsZWN0aW9uKSkmJihuPSEwKTtsZXQgbT1wPT0icHJlc2VydmUiJiZuJiZ0aGlzLmRvbS5zdHlsZS5vdmVyZmxvd0FuY2hvcj09bnVsbCYmWkRhKHRoaXMpO2lmKG4pe3RoaXMuZG9tT2JzZXJ2ZXIuc3RvcCgpO2xldCB2PXUmJihSb3x8b2kpJiYhdGhpcy5jb21wb3NpbmcmJiFpLnNlbGVjdGlvbi5lbXB0eSYmIWUuc2VsZWN0aW9uLmVtcHR5JiZtUGEoaS5zZWxlY3Rpb24sZS5zZWxlY3Rpb24pO2lmKHUpe2xldCB4PW9pP3RoaXMudHJhY2tXcml0ZXM9dGhpcy5kb21TZWxlY3Rpb25SYW5nZSgpLmZvY3VzTm9kZTpudWxsO3RoaXMuY29tcG9zaW5nJiYodGhpcy5pbnB1dC5jb21wb3NpdGlvbk5vZGU9VUFhKHRoaXMpKSwob3x8IXRoaXMuZG9jVmlldy51cGRhdGUoZS5kb2MsYyxkLHRoaXMpKSYmKHRoaXMuZG9jVmlldy51cGRhdGVPdXRlckRlY28oYyksdGhpcy5kb2NWaWV3LmRlc3Ryb3koKSx0aGlzLmRvY1ZpZXc9VG9hKGUuZG9jLGMsZCx0aGlzLmRvbSx0aGlzKSkseCYmKCF0aGlzLnRyYWNrV3JpdGVzfHwhdGhpcy5kb20uY29udGFpbnModGhpcy50cmFja1dyaXRlcykpJiYodj0hMCl9dnx8ISh0aGlzLmlucHV0Lm1vdXNlRG93biYmdGhpcy5kb21PYnNlcnZlci5jdXJyZW50U2VsZWN0aW9uLmVxKHRoaXMuZG9tU2VsZWN0aW9uUmFuZ2UoKSkmJmJBYSh0aGlzKSk/eGModGhpcyx2KTooUm9hKHRoaXMsZS5zZWxlY3Rpb24pLHRoaXMuZG9tT2JzZXJ2ZXIuc2V0Q3VyU2VsZWN0aW9uKCkpLHRoaXMuZG9tT2JzZXJ2ZXIuc3RhcnQoKX10aGlzLnVwZGF0ZVBsdWdpblZpZXdzKGkpLCEoKHI9dGhpcy5kcmFnZ2luZyk9PT1udWxsfHxyPT09dm9pZCAwKSYmci5ub2RlJiYhaS5kb2MuZXEoZS5kb2MpJiZ0aGlzLnVwZGF0ZURyYWdnZWROb2RlKHRoaXMuZHJhZ2dpbmcsaSkscD09InJlc2V0Ij90aGlzLmRvbS5zY3JvbGxUb3A9MDpwPT0idG8gc2VsZWN0aW9uIj90aGlzLnNjcm9sbFRvU2VsZWN0aW9uKCk6bSYmWERhKG0pfXNjcm9sbFRvU2VsZWN0aW9uKCl7bGV0IGU9dGhpcy5kb21TZWxlY3Rpb25SYW5nZSgpLmZvY3VzTm9kZTtpZighKCFlfHwhdGhpcy5kb20uY29udGFpbnMoZS5ub2RlVHlwZT09MT9lOmUucGFyZW50Tm9kZSkpKXtpZighdGhpcy5zb21lUHJvcCgiaGFuZGxlU2Nyb2xsVG9TZWxlY3Rpb24iLHQ9PnQodGhpcykpKWlmKHRoaXMuc3RhdGUuc2VsZWN0aW9uIGluc3RhbmNlb2Yga3Qpe2xldCB0PXRoaXMuZG9jVmlldy5kb21BZnRlclBvcyh0aGlzLnN0YXRlLnNlbGVjdGlvbi5mcm9tKTt0Lm5vZGVUeXBlPT0xJiZnb2EodGhpcyx0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGUpfWVsc2UgZ29hKHRoaXMsdGhpcy5jb29yZHNBdFBvcyh0aGlzLnN0YXRlLnNlbGVjdGlvbi5oZWFkLDEpLGUpfX1kZXN0cm95UGx1Z2luVmlld3MoKXtsZXQgZTtmb3IoO2U9dGhpcy5wbHVnaW5WaWV3cy5wb3AoKTspZS5kZXN0cm95JiZlLmRlc3Ryb3koKX11cGRhdGVQbHVnaW5WaWV3cyhlKXtpZighZXx8ZS5wbHVnaW5zIT10aGlzLnN0YXRlLnBsdWdpbnN8fHRoaXMuZGlyZWN0UGx1Z2lucyE9dGhpcy5wcmV2RGlyZWN0UGx1Z2lucyl7dGhpcy5wcmV2RGlyZWN0UGx1Z2lucz10aGlzLmRpcmVjdFBsdWdpbnMsdGhpcy5kZXN0cm95UGx1Z2luVmlld3MoKTtmb3IobGV0IHQ9MDt0PHRoaXMuZGlyZWN0UGx1Z2lucy5sZW5ndGg7dCsrKXtsZXQgcj10aGlzLmRpcmVjdFBsdWdpbnNbdF07ci5zcGVjLnZpZXcmJnRoaXMucGx1Z2luVmlld3MucHVzaChyLnNwZWMudmlldyh0aGlzKSl9Zm9yKGxldCB0PTA7dDx0aGlzLnN0YXRlLnBsdWdpbnMubGVuZ3RoO3QrKyl7bGV0IHI9dGhpcy5zdGF0ZS5wbHVnaW5zW3RdO3Iuc3BlYy52aWV3JiZ0aGlzLnBsdWdpblZpZXdzLnB1c2goci5zcGVjLnZpZXcodGhpcykpfX1lbHNlIGZvcihsZXQgdD0wO3Q8dGhpcy5wbHVnaW5WaWV3cy5sZW5ndGg7dCsrKXtsZXQgcj10aGlzLnBsdWdpblZpZXdzW3RdO3IudXBkYXRlJiZyLnVwZGF0ZSh0aGlzLGUpfX11cGRhdGVEcmFnZ2VkTm9kZShlLHQpe2xldCByPWUubm9kZSxpPS0xO2lmKHIuZnJvbTx0aGlzLnN0YXRlLmRvYy5jb250ZW50LnNpemUmJnRoaXMuc3RhdGUuZG9jLm5vZGVBdChyLmZyb20pPT1yLm5vZGUpaT1yLmZyb207ZWxzZXtsZXQgbz1yLmZyb20rKHRoaXMuc3RhdGUuZG9jLmNvbnRlbnQuc2l6ZS10LmRvYy5jb250ZW50LnNpemUpOyhvPjAmJm88dGhpcy5zdGF0ZS5kb2MuY29udGVudC5zaXplJiZ0aGlzLnN0YXRlLmRvYy5ub2RlQXQobykpPT1yLm5vZGUmJihpPW8pfXRoaXMuZHJhZ2dpbmc9bmV3IHFhZShlLnNsaWNlLGUubW92ZSxpPDA/dm9pZCAwOmt0LmNyZWF0ZSh0aGlzLnN0YXRlLmRvYyxpKSl9c29tZVByb3AoZSx0KXtsZXQgcj10aGlzLl9wcm9wcyYmdGhpcy5fcHJvcHNbZV0saTtpZihyIT1udWxsJiYoaT10P3Qocik6cikpcmV0dXJuIGk7Zm9yKGxldCBuPTA7bjx0aGlzLmRpcmVjdFBsdWdpbnMubGVuZ3RoO24rKyl7bGV0IGw9dGhpcy5kaXJlY3RQbHVnaW5zW25dLnByb3BzW2VdO2lmKGwhPW51bGwmJihpPXQ/dChsKTpsKSlyZXR1cm4gaX1sZXQgbz10aGlzLnN0YXRlLnBsdWdpbnM7aWYobylmb3IobGV0IG49MDtuPG8ubGVuZ3RoO24rKyl7bGV0IGw9b1tuXS5wcm9wc1tlXTtpZihsIT1udWxsJiYoaT10P3QobCk6bCkpcmV0dXJuIGl9fWhhc0ZvY3VzKCl7aWYoUm8pe2xldCBlPXRoaXMucm9vdC5hY3RpdmVFbGVtZW50O2lmKGU9PXRoaXMuZG9tKXJldHVybiEwO2lmKCFlfHwhdGhpcy5kb20uY29udGFpbnMoZSkpcmV0dXJuITE7Zm9yKDtlJiZ0aGlzLmRvbSE9ZSYmdGhpcy5kb20uY29udGFpbnMoZSk7KXtpZihlLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIilyZXR1cm4hMTtlPWUucGFyZW50RWxlbWVudH1yZXR1cm4hMH1yZXR1cm4gdGhpcy5yb290LmFjdGl2ZUVsZW1lbnQ9PXRoaXMuZG9tfWZvY3VzKCl7dGhpcy5kb21PYnNlcnZlci5zdG9wKCksdGhpcy5lZGl0YWJsZSYmUURhKHRoaXMuZG9tKSx4Yyh0aGlzKSx0aGlzLmRvbU9ic2VydmVyLnN0YXJ0KCl9Z2V0IHJvb3QoKXtsZXQgZT10aGlzLl9yb290O2lmKGU9PW51bGwpe2ZvcihsZXQgdD10aGlzLmRvbS5wYXJlbnROb2RlO3Q7dD10LnBhcmVudE5vZGUpaWYodC5ub2RlVHlwZT09OXx8dC5ub2RlVHlwZT09MTEmJnQuaG9zdClyZXR1cm4gdC5nZXRTZWxlY3Rpb258fChPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkuZ2V0U2VsZWN0aW9uPSgpPT50Lm93bmVyRG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkpLHRoaXMuX3Jvb3Q9dH1yZXR1cm4gZXx8ZG9jdW1lbnR9dXBkYXRlUm9vdCgpe3RoaXMuX3Jvb3Q9bnVsbH1wb3NBdENvb3JkcyhlKXtyZXR1cm4gckFhKHRoaXMsZSl9Y29vcmRzQXRQb3MoZSx0PTEpe3JldHVybiBNb2EodGhpcyxlLHQpfWRvbUF0UG9zKGUsdD0wKXtyZXR1cm4gdGhpcy5kb2NWaWV3LmRvbUZyb21Qb3MoZSx0KX1ub2RlRE9NKGUpe2xldCB0PXRoaXMuZG9jVmlldy5kZXNjQXQoZSk7cmV0dXJuIHQ/dC5ub2RlRE9NOm51bGx9cG9zQXRET00oZSx0LHI9LTEpe2xldCBpPXRoaXMuZG9jVmlldy5wb3NGcm9tRE9NKGUsdCxyKTtpZihpPT1udWxsKXRocm93IG5ldyBSYW5nZUVycm9yKCJET00gcG9zaXRpb24gbm90IGluc2lkZSB0aGUgZWRpdG9yIik7cmV0dXJuIGl9ZW5kT2ZUZXh0YmxvY2soZSx0KXtyZXR1cm4gbEFhKHRoaXMsdHx8dGhpcy5zdGF0ZSxlKX1wYXN0ZUhUTUwoZSx0KXtyZXR1cm4gc1codGhpcywiIixlLCExLHR8fG5ldyBDbGlwYm9hcmRFdmVudCgicGFzdGUiKSl9cGFzdGVUZXh0KGUsdCl7cmV0dXJuIHNXKHRoaXMsZSxudWxsLCEwLHR8fG5ldyBDbGlwYm9hcmRFdmVudCgicGFzdGUiKSl9c2VyaWFsaXplRm9yQ2xpcGJvYXJkKGUpe3JldHVybiBSS2UodGhpcyxlKX1kZXN0cm95KCl7dGhpcy5kb2NWaWV3JiYoUEFhKHRoaXMpLHRoaXMuZGVzdHJveVBsdWdpblZpZXdzKCksdGhpcy5tb3VudGVkPyh0aGlzLmRvY1ZpZXcudXBkYXRlKHRoaXMuc3RhdGUuZG9jLFtdLEtLZSh0aGlzKSx0aGlzKSx0aGlzLmRvbS50ZXh0Q29udGVudD0iIik6dGhpcy5kb20ucGFyZW50Tm9kZSYmdGhpcy5kb20ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmRvbSksdGhpcy5kb2NWaWV3LmRlc3Ryb3koKSx0aGlzLmRvY1ZpZXc9bnVsbCxCRGEoKSl9Z2V0IGlzRGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuZG9jVmlldz09bnVsbH1kaXNwYXRjaEV2ZW50KGUpe3JldHVybiBJQWEodGhpcyxlKX1kb21TZWxlY3Rpb25SYW5nZSgpe2xldCBlPXRoaXMuZG9tU2VsZWN0aW9uKCk7cmV0dXJuIGU/TmkmJnRoaXMucm9vdC5ub2RlVHlwZT09PTExJiZVRGEodGhpcy5kb20ub3duZXJEb2N1bWVudCk9PXRoaXMuZG9tJiZyUGEodGhpcyxlKXx8ZTp7Zm9jdXNOb2RlOm51bGwsZm9jdXNPZmZzZXQ6MCxhbmNob3JOb2RlOm51bGwsYW5jaG9yT2Zmc2V0OjB9fWRvbVNlbGVjdGlvbigpe3JldHVybiB0aGlzLnJvb3QuZ2V0U2VsZWN0aW9uKCl9fTtDbS5wcm90b3R5cGUuZGlzcGF0Y2g9ZnVuY3Rpb24oYSl7bGV0IGU9dGhpcy5fcHJvcHMuZGlzcGF0Y2hUcmFuc2FjdGlvbjtlP2UuY2FsbCh0aGlzLGEpOnRoaXMudXBkYXRlU3RhdGUodGhpcy5zdGF0ZS5hcHBseShhKSl9O3MobW5hLCJjb21wdXRlRG9jRGVjbyIpO3MoZ25hLCJ1cGRhdGVDdXJzb3JXcmFwcGVyIik7cyhibmEsImdldEVkaXRhYmxlIik7cyhtUGEsInNlbGVjdGlvbkNvbnRleHRDaGFuZ2VkIik7cyh2bmEsImJ1aWxkTm9kZVZpZXdzIik7cyhnUGEsImNoYW5nZWROb2RlVmlld3MiKTtzKHhuYSwiY2hlY2tTdGF0ZUNvbXBvbmVudCIpfSk7dmFyIHluYT1mKCgpPT57SktlKCl9KTtmdW5jdGlvbiB3bmEoYSl7dmFyIGU9YlBhJiZhLm1ldGFLZXkmJmEuc2hpZnRLZXkmJiFhLmN0cmxLZXkmJiFhLmFsdEtleXx8dlBhJiZhLnNoaWZ0S2V5JiZhLmtleSYmYS5rZXkubGVuZ3RoPT0xfHxhLmtleT09IlVuaWRlbnRpZmllZCIsdD0hZSYmYS5rZXl8fChhLnNoaWZ0S2V5P1dhZTp5YylbYS5rZXlDb2RlXXx8YS5rZXl8fCJVbmlkZW50aWZpZWQiO3JldHVybiB0PT0iRXNjIiYmKHQ9IkVzY2FwZSIpLHQ9PSJEZWwiJiYodD0iRGVsZXRlIiksdD09IkxlZnQiJiYodD0iQXJyb3dMZWZ0IiksdD09IlVwIiYmKHQ9IkFycm93VXAiKSx0PT0iUmlnaHQiJiYodD0iQXJyb3dSaWdodCIpLHQ9PSJEb3duIiYmKHQ9IkFycm93RG93biIpLHR9dmFyIHljLFdhZSxiUGEsdlBhLHZzLEdhZSxNbmE9ZigoKT0+e3ljPXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTA6IkVudGVyIiwxMjoiTnVtTG9jayIsMTM6IkVudGVyIiwxNjoiU2hpZnQiLDE3OiJDb250cm9sIiwxODoiQWx0IiwyMDoiQ2Fwc0xvY2siLDI3OiJFc2NhcGUiLDMyOiIgIiwzMzoiUGFnZVVwIiwzNDoiUGFnZURvd24iLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiQXJyb3dMZWZ0IiwzODoiQXJyb3dVcCIsMzk6IkFycm93UmlnaHQiLDQwOiJBcnJvd0Rvd24iLDQ0OiJQcmludFNjcmVlbiIsNDU6Ikluc2VydCIsNDY6IkRlbGV0ZSIsNTk6IjsiLDYxOiI9Iiw5MToiTWV0YSIsOTI6Ik1ldGEiLDEwNjoiKiIsMTA3OiIrIiwxMDg6IiwiLDEwOToiLSIsMTEwOiIuIiwxMTE6Ii8iLDE0NDoiTnVtTG9jayIsMTQ1OiJTY3JvbGxMb2NrIiwxNjA6IlNoaWZ0IiwxNjE6IlNoaWZ0IiwxNjI6IkNvbnRyb2wiLDE2MzoiQ29udHJvbCIsMTY0OiJBbHQiLDE2NToiQWx0IiwxNzM6Ii0iLDE4NjoiOyIsMTg3OiI9IiwxODg6IiwiLDE4OToiLSIsMTkwOiIuIiwxOTE6Ii8iLDE5MjoiYCIsMjE5OiJbIiwyMjA6IlxcIiwyMjE6Il0iLDIyMjoiJyJ9LFdhZT17NDg6IikiLDQ5OiIhIiw1MDoiQCIsNTE6IiMiLDUyOiIkIiw1MzoiJSIsNTQ6Il4iLDU1OiImIiw1NjoiKiIsNTc6IigiLDU5OiI6Iiw2MToiKyIsMTczOiJfIiwxODY6IjoiLDE4NzoiKyIsMTg4OiI8IiwxODk6Il8iLDE5MDoiPiIsMTkxOiI/IiwxOTI6In4iLDIxOToieyIsMjIwOiJ8IiwyMjE6In0iLDIyMjonIid9LGJQYT10eXBlb2YgbmF2aWdhdG9yPCJ1IiYmL01hYy8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHZQYT10eXBlb2YgbmF2aWdhdG9yPCJ1IiYmL01TSUUgXGR8VHJpZGVudFwvKD86WzctOV18XGR7Mix9KVwuLipydjooXGQrKS8uZXhlYyhuYXZpZ2F0b3IudXNlckFnZW50KTtmb3IodnM9MDt2czwxMDt2cysrKXljWzQ4K3ZzXT15Y1s5Nit2c109U3RyaW5nKHZzKTtmb3IodnM9MTt2czw9MjQ7dnMrKyl5Y1t2cysxMTFdPSJGIit2cztmb3IodnM9NjU7dnM8PTkwO3ZzKyspeWNbdnNdPVN0cmluZy5mcm9tQ2hhckNvZGUodnMrMzIpLFdhZVt2c109U3RyaW5nLmZyb21DaGFyQ29kZSh2cyk7Zm9yKEdhZSBpbiB5YylXYWUuaGFzT3duUHJvcGVydHkoR2FlKXx8KFdhZVtHYWVdPXljW0dhZV0pO3Mod25hLCJrZXlOYW1lIil9KTtmdW5jdGlvbiB3UGEoYSl7bGV0IGU9YS5zcGxpdCgvLSg/ISQpLyksdD1lW2UubGVuZ3RoLTFdO3Q9PSJTcGFjZSImJih0PSIgIik7bGV0IHIsaSxvLG47Zm9yKGxldCBsPTA7bDxlLmxlbmd0aC0xO2wrKyl7bGV0IGQ9ZVtsXTtpZigvXihjbWR8bWV0YXxtKSQvaS50ZXN0KGQpKW49ITA7ZWxzZSBpZigvXmEobHQpPyQvaS50ZXN0KGQpKXI9ITA7ZWxzZSBpZigvXihjfGN0cmx8Y29udHJvbCkkL2kudGVzdChkKSlpPSEwO2Vsc2UgaWYoL15zKGhpZnQpPyQvaS50ZXN0KGQpKW89ITA7ZWxzZSBpZigvXm1vZCQvaS50ZXN0KGQpKXhQYT9uPSEwOmk9ITA7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIlVucmVjb2duaXplZCBtb2RpZmllciBuYW1lOiAiK2QpfXJldHVybiByJiYodD0iQWx0LSIrdCksaSYmKHQ9IkN0cmwtIit0KSxuJiYodD0iTWV0YS0iK3QpLG8mJih0PSJTaGlmdC0iK3QpLHR9ZnVuY3Rpb24gTVBhKGEpe2xldCBlPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCB0IGluIGEpZVt3UGEodCldPWFbdF07cmV0dXJuIGV9ZnVuY3Rpb24gZVplKGEsZSx0PSEwKXtyZXR1cm4gZS5hbHRLZXkmJihhPSJBbHQtIithKSxlLmN0cmxLZXkmJihhPSJDdHJsLSIrYSksZS5tZXRhS2V5JiYoYT0iTWV0YS0iK2EpLHQmJmUuc2hpZnRLZXkmJihhPSJTaGlmdC0iK2EpLGF9ZnVuY3Rpb24gdFplKGEpe3JldHVybiBuZXcgYXIoe3Byb3BzOntoYW5kbGVLZXlEb3duOllhZShhKX19KX1mdW5jdGlvbiBZYWUoYSl7bGV0IGU9TVBhKGEpO3JldHVybiBmdW5jdGlvbih0LHIpe2xldCBpPXduYShyKSxvLG49ZVtlWmUoaSxyKV07aWYobiYmbih0LnN0YXRlLHQuZGlzcGF0Y2gsdCkpcmV0dXJuITA7aWYoaS5sZW5ndGg9PTEmJmkhPSIgIil7aWYoci5zaGlmdEtleSl7bGV0IGw9ZVtlWmUoaSxyLCExKV07aWYobCYmbCh0LnN0YXRlLHQuZGlzcGF0Y2gsdCkpcmV0dXJuITB9aWYoKHIuYWx0S2V5fHxyLm1ldGFLZXl8fHIuY3RybEtleSkmJiEoeVBhJiZyLmN0cmxLZXkmJnIuYWx0S2V5KSYmKG89eWNbci5rZXlDb2RlXSkmJm8hPWkpe2xldCBsPWVbZVplKG8scildO2lmKGwmJmwodC5zdGF0ZSx0LmRpc3BhdGNoLHQpKXJldHVybiEwfX1yZXR1cm4hMX19dmFyIHhQYSx5UGEsYVplPWYoKCk9PntNbmEoKTttYygpO3hQYT10eXBlb2YgbmF2aWdhdG9yPCJ1IiYmL01hY3xpUChob25lfFtvYV1kKS8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHlQYT10eXBlb2YgbmF2aWdhdG9yPCJ1IiYmL1dpbi8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pO3Mod1BhLCJub3JtYWxpemVLZXlOYW1lIik7cyhNUGEsIm5vcm1hbGl6ZSIpO3MoZVplLCJtb2RpZmllcnMiKTtzKHRaZSwia2V5bWFwIik7cyhZYWUsImtleWRvd25IYW5kbGVyIil9KTt2YXIga25hPWYoKCk9PnthWmUoKX0pO3ZhciBTbmE9ZigoKT0+e3A0KCl9KTt2YXIgem5hPWYoKCk9PntoNCgpfSk7ZnVuY3Rpb24gQ25hKGEsZSl7bGV0eyRjdXJzb3I6dH09YS5zZWxlY3Rpb247cmV0dXJuIXR8fChlPyFlLmVuZE9mVGV4dGJsb2NrKCJiYWNrd2FyZCIsYSk6dC5wYXJlbnRPZmZzZXQ+MCk/bnVsbDp0fWZ1bmN0aW9uIF9uYShhLGUsdCl7bGV0IHI9ZS5ub2RlQmVmb3JlLGk9cixvPWUucG9zLTE7Zm9yKDshaS5pc1RleHRibG9jaztvLS0pe2lmKGkudHlwZS5zcGVjLmlzb2xhdGluZylyZXR1cm4hMTtsZXQgcD1pLmxhc3RDaGlsZDtpZighcClyZXR1cm4hMTtpPXB9bGV0IG49ZS5ub2RlQWZ0ZXIsbD1uLGQ9ZS5wb3MrMTtmb3IoOyFsLmlzVGV4dGJsb2NrO2QrKyl7aWYobC50eXBlLnNwZWMuaXNvbGF0aW5nKXJldHVybiExO2xldCBwPWwuZmlyc3RDaGlsZDtpZighcClyZXR1cm4hMTtsPXB9bGV0IGM9Ym0oYS5kb2MsbyxkLHN0LmVtcHR5KTtpZighY3x8Yy5mcm9tIT1vfHxjIGluc3RhbmNlb2YgWnMmJmMuc2xpY2Uuc2l6ZT49ZC1vKXJldHVybiExO2lmKHQpe2xldCBwPWEudHIuc3RlcChjKTtwLnNldFNlbGVjdGlvbihOdC5jcmVhdGUocC5kb2MsbykpLHQocC5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH1mdW5jdGlvbiBfbShhLGUsdD0hMSl7Zm9yKGxldCByPWE7cjtyPWU9PSJzdGFydCI/ci5maXJzdENoaWxkOnIubGFzdENoaWxkKXtpZihyLmlzVGV4dGJsb2NrKXJldHVybiEwO2lmKHQmJnIuY2hpbGRDb3VudCE9MSlyZXR1cm4hMX1yZXR1cm4hMX1mdW5jdGlvbiByWmUoYSl7aWYoIWEucGFyZW50LnR5cGUuc3BlYy5pc29sYXRpbmcpZm9yKGxldCBlPWEuZGVwdGgtMTtlPj0wO2UtLSl7aWYoYS5pbmRleChlKT4wKXJldHVybiBhLmRvYy5yZXNvbHZlKGEuYmVmb3JlKGUrMSkpO2lmKGEubm9kZShlKS50eXBlLnNwZWMuaXNvbGF0aW5nKWJyZWFrfXJldHVybiBudWxsfWZ1bmN0aW9uIFRuYShhLGUpe2xldHskY3Vyc29yOnR9PWEuc2VsZWN0aW9uO3JldHVybiF0fHwoZT8hZS5lbmRPZlRleHRibG9jaygiZm9yd2FyZCIsYSk6dC5wYXJlbnRPZmZzZXQ8dC5wYXJlbnQuY29udGVudC5zaXplKT9udWxsOnR9ZnVuY3Rpb24gc1plKGEpe2lmKCFhLnBhcmVudC50eXBlLnNwZWMuaXNvbGF0aW5nKWZvcihsZXQgZT1hLmRlcHRoLTE7ZT49MDtlLS0pe2xldCB0PWEubm9kZShlKTtpZihhLmluZGV4KGUpKzE8dC5jaGlsZENvdW50KXJldHVybiBhLmRvYy5yZXNvbHZlKGEuYWZ0ZXIoZSsxKSk7aWYodC50eXBlLnNwZWMuaXNvbGF0aW5nKWJyZWFrfXJldHVybiBudWxsfWZ1bmN0aW9uIGlaZShhKXtmb3IobGV0IGU9MDtlPGEuZWRnZUNvdW50O2UrKyl7bGV0e3R5cGU6dH09YS5lZGdlKGUpO2lmKHQuaXNUZXh0YmxvY2smJiF0Lmhhc1JlcXVpcmVkQXR0cnMoKSlyZXR1cm4gdH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBMbmEoYSl7cmV0dXJuKGUsdCk9PntsZXR7JGZyb206ciwkdG86aX09ZS5zZWxlY3Rpb247aWYoZS5zZWxlY3Rpb24gaW5zdGFuY2VvZiBrdCYmZS5zZWxlY3Rpb24ubm9kZS5pc0Jsb2NrKXJldHVybiFyLnBhcmVudE9mZnNldHx8IU5vKGUuZG9jLHIucG9zKT8hMToodCYmdChlLnRyLnNwbGl0KHIucG9zKS5zY3JvbGxJbnRvVmlldygpKSwhMCk7aWYoIXIuZGVwdGgpcmV0dXJuITE7bGV0IG89W10sbixsLGQ9ITEsYz0hMTtmb3IobGV0IHY9ci5kZXB0aDs7di0tKWlmKHIubm9kZSh2KS5pc0Jsb2NrKXtkPXIuZW5kKHYpPT1yLnBvcysoci5kZXB0aC12KSxjPXIuc3RhcnQodik9PXIucG9zLShyLmRlcHRoLXYpLGw9aVplKHIubm9kZSh2LTEpLmNvbnRlbnRNYXRjaEF0KHIuaW5kZXhBZnRlcih2LTEpKSk7bGV0IGI9YSYmYShpLnBhcmVudCxkLHIpO28udW5zaGlmdChifHwoZCYmbD97dHlwZTpsfTpudWxsKSksbj12O2JyZWFrfWVsc2V7aWYodj09MSlyZXR1cm4hMTtvLnVuc2hpZnQobnVsbCl9bGV0IHA9ZS50cjsoZS5zZWxlY3Rpb24gaW5zdGFuY2VvZiBOdHx8ZS5zZWxlY3Rpb24gaW5zdGFuY2VvZiBJaSkmJnAuZGVsZXRlU2VsZWN0aW9uKCk7bGV0IHU9cC5tYXBwaW5nLm1hcChyLnBvcyksbT1ObyhwLmRvYyx1LG8ubGVuZ3RoLG8pO2lmKG18fChvWzBdPWw/e3R5cGU6bH06bnVsbCxtPU5vKHAuZG9jLHUsby5sZW5ndGgsbykpLCFtKXJldHVybiExO2lmKHAuc3BsaXQodSxvLmxlbmd0aCxvKSwhZCYmYyYmci5ub2RlKG4pLnR5cGUhPWwpe2xldCB2PXAubWFwcGluZy5tYXAoci5iZWZvcmUobikpLHg9cC5kb2MucmVzb2x2ZSh2KTtsJiZyLm5vZGUobi0xKS5jYW5SZXBsYWNlV2l0aCh4LmluZGV4KCkseC5pbmRleCgpKzEsbCkmJnAuc2V0Tm9kZU1hcmt1cChwLm1hcHBpbmcubWFwKHIuYmVmb3JlKG4pKSxsKX1yZXR1cm4gdCYmdChwLnNjcm9sbEludG9WaWV3KCkpLCEwfX1mdW5jdGlvbiBTUGEoYSxlLHQpe2xldCByPWUubm9kZUJlZm9yZSxpPWUubm9kZUFmdGVyLG89ZS5pbmRleCgpO3JldHVybiFyfHwhaXx8IXIudHlwZS5jb21wYXRpYmxlQ29udGVudChpLnR5cGUpPyExOiFyLmNvbnRlbnQuc2l6ZSYmZS5wYXJlbnQuY2FuUmVwbGFjZShvLTEsbyk/KHQmJnQoYS50ci5kZWxldGUoZS5wb3Mtci5ub2RlU2l6ZSxlLnBvcykuc2Nyb2xsSW50b1ZpZXcoKSksITApOiFlLnBhcmVudC5jYW5SZXBsYWNlKG8sbysxKXx8IShpLmlzVGV4dGJsb2NrfHxzbihhLmRvYyxlLnBvcykpPyExOih0JiZ0KGEudHIuam9pbihlLnBvcykuc2Nyb2xsSW50b1ZpZXcoKSksITApfWZ1bmN0aW9uIERuYShhLGUsdCxyKXtsZXQgaT1lLm5vZGVCZWZvcmUsbz1lLm5vZGVBZnRlcixuLGwsZD1pLnR5cGUuc3BlYy5pc29sYXRpbmd8fG8udHlwZS5zcGVjLmlzb2xhdGluZztpZighZCYmU1BhKGEsZSx0KSlyZXR1cm4hMDtsZXQgYz0hZCYmZS5wYXJlbnQuY2FuUmVwbGFjZShlLmluZGV4KCksZS5pbmRleCgpKzEpO2lmKGMmJihuPShsPWkuY29udGVudE1hdGNoQXQoaS5jaGlsZENvdW50KSkuZmluZFdyYXBwaW5nKG8udHlwZSkpJiZsLm1hdGNoVHlwZShuWzBdfHxvLnR5cGUpLnZhbGlkRW5kKXtpZih0KXtsZXQgdj1lLnBvcytvLm5vZGVTaXplLHg9amUuZW1wdHk7Zm9yKGxldCB5PW4ubGVuZ3RoLTE7eT49MDt5LS0peD1qZS5mcm9tKG5beV0uY3JlYXRlKG51bGwseCkpO3g9amUuZnJvbShpLmNvcHkoeCkpO2xldCBiPWEudHIuc3RlcChuZXcgdHMoZS5wb3MtMSx2LGUucG9zLHYsbmV3IHN0KHgsMSwwKSxuLmxlbmd0aCwhMCkpLGc9Yi5kb2MucmVzb2x2ZSh2KzIqbi5sZW5ndGgpO2cubm9kZUFmdGVyJiZnLm5vZGVBZnRlci50eXBlPT1pLnR5cGUmJnNuKGIuZG9jLGcucG9zKSYmYi5qb2luKGcucG9zKSx0KGIuc2Nyb2xsSW50b1ZpZXcoKSl9cmV0dXJuITB9bGV0IHA9by50eXBlLnNwZWMuaXNvbGF0aW5nfHxyPjAmJmQ/bnVsbDpFdC5maW5kRnJvbShlLDEpLHU9cCYmcC4kZnJvbS5ibG9ja1JhbmdlKHAuJHRvKSxtPXUmJlkyKHUpO2lmKG0hPW51bGwmJm0+PWUuZGVwdGgpcmV0dXJuIHQmJnQoYS50ci5saWZ0KHUsbSkuc2Nyb2xsSW50b1ZpZXcoKSksITA7aWYoYyYmX20obywic3RhcnQiLCEwKSYmX20oaSwiZW5kIikpe2xldCB2PWkseD1bXTtmb3IoO3gucHVzaCh2KSwhdi5pc1RleHRibG9jazspdj12Lmxhc3RDaGlsZDtsZXQgYj1vLGc9MTtmb3IoOyFiLmlzVGV4dGJsb2NrO2I9Yi5maXJzdENoaWxkKWcrKztpZih2LmNhblJlcGxhY2Uodi5jaGlsZENvdW50LHYuY2hpbGRDb3VudCxiLmNvbnRlbnQpKXtpZih0KXtsZXQgeT1qZS5lbXB0eTtmb3IobGV0IEM9eC5sZW5ndGgtMTtDPj0wO0MtLSl5PWplLmZyb20oeFtDXS5jb3B5KHkpKTtsZXQgaz1hLnRyLnN0ZXAobmV3IHRzKGUucG9zLXgubGVuZ3RoLGUucG9zK28ubm9kZVNpemUsZS5wb3MrZyxlLnBvcytvLm5vZGVTaXplLWcsbmV3IHN0KHkseC5sZW5ndGgsMCksMCwhMCkpO3Qoay5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH19cmV0dXJuITF9ZnVuY3Rpb24gQW5hKGEpe3JldHVybiBmdW5jdGlvbihlLHQpe2xldCByPWUuc2VsZWN0aW9uLGk9YTwwP3IuJGZyb206ci4kdG8sbz1pLmRlcHRoO2Zvcig7aS5ub2RlKG8pLmlzSW5saW5lOyl7aWYoIW8pcmV0dXJuITE7by0tfXJldHVybiBpLm5vZGUobykuaXNUZXh0YmxvY2s/KHQmJnQoZS50ci5zZXRTZWxlY3Rpb24oTnQuY3JlYXRlKGUuZG9jLGE8MD9pLnN0YXJ0KG8pOmkuZW5kKG8pKSkpLCEwKTohMX19ZnVuY3Rpb24gbVplKGEsZT1udWxsKXtyZXR1cm4gZnVuY3Rpb24odCxyKXtsZXR7JGZyb206aSwkdG86b309dC5zZWxlY3Rpb24sbj1pLmJsb2NrUmFuZ2UobyksbD1uJiZCZihuLGEsZSk7cmV0dXJuIGw/KHImJnIodC50ci53cmFwKG4sbCkuc2Nyb2xsSW50b1ZpZXcoKSksITApOiExfX1mdW5jdGlvbiBvcmUoYSxlPW51bGwpe3JldHVybiBmdW5jdGlvbih0LHIpe2xldCBpPSExO2ZvcihsZXQgbz0wO288dC5zZWxlY3Rpb24ucmFuZ2VzLmxlbmd0aCYmIWk7bysrKXtsZXR7JGZyb206e3BvczpufSwkdG86e3BvczpsfX09dC5zZWxlY3Rpb24ucmFuZ2VzW29dO3QuZG9jLm5vZGVzQmV0d2VlbihuLGwsKGQsYyk9PntpZihpKXJldHVybiExO2lmKCEoIWQuaXNUZXh0YmxvY2t8fGQuaGFzTWFya3VwKGEsZSkpKWlmKGQudHlwZT09YSlpPSEwO2Vsc2V7bGV0IHA9dC5kb2MucmVzb2x2ZShjKSx1PXAuaW5kZXgoKTtpPXAucGFyZW50LmNhblJlcGxhY2VXaXRoKHUsdSsxLGEpfX0pfWlmKCFpKXJldHVybiExO2lmKHIpe2xldCBvPXQudHI7Zm9yKGxldCBuPTA7bjx0LnNlbGVjdGlvbi5yYW5nZXMubGVuZ3RoO24rKyl7bGV0eyRmcm9tOntwb3M6bH0sJHRvOntwb3M6ZH19PXQuc2VsZWN0aW9uLnJhbmdlc1tuXTtvLnNldEJsb2NrVHlwZShsLGQsYSxlKX1yKG8uc2Nyb2xsSW50b1ZpZXcoKSl9cmV0dXJuITB9fWZ1bmN0aW9uIHpQYShhLGUsdCxyKXtmb3IobGV0IGk9MDtpPGUubGVuZ3RoO2krKyl7bGV0eyRmcm9tOm8sJHRvOm59PWVbaV0sbD1vLmRlcHRoPT0wP2EuaW5saW5lQ29udGVudCYmYS50eXBlLmFsbG93c01hcmtUeXBlKHQpOiExO2lmKGEubm9kZXNCZXR3ZWVuKG8ucG9zLG4ucG9zLChkLGMpPT57aWYobHx8IXImJmQuaXNBdG9tJiZkLmlzSW5saW5lJiZjPj1vLnBvcyYmYytkLm5vZGVTaXplPD1uLnBvcylyZXR1cm4hMTtsPWQuaW5saW5lQ29udGVudCYmZC50eXBlLmFsbG93c01hcmtUeXBlKHQpfSksbClyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBDUGEoYSl7bGV0IGU9W107Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0Kyspe2xldHskZnJvbTpyLCR0bzppfT1hW3RdO3IuZG9jLm5vZGVzQmV0d2VlbihyLnBvcyxpLnBvcywobyxuKT0+e2lmKG8uaXNBdG9tJiZvLmNvbnRlbnQuc2l6ZSYmby5pc0lubGluZSYmbj49ci5wb3MmJm4rby5ub2RlU2l6ZTw9aS5wb3MpcmV0dXJuIG4rMT5yLnBvcyYmZS5wdXNoKG5ldyBWZihyLHIuZG9jLnJlc29sdmUobisxKSkpLHI9ci5kb2MucmVzb2x2ZShuKzErby5jb250ZW50LnNpemUpLCExfSksci5wb3M8aS5wb3MmJmUucHVzaChuZXcgVmYocixpKSl9cmV0dXJuIGV9ZnVuY3Rpb24gX1BhKGEsZT1udWxsLHQpe2xldCByPSh0JiZ0LnJlbW92ZVdoZW5QcmVzZW50KSE9PSExLGk9KHQmJnQuZW50ZXJJbmxpbmVBdG9tcykhPT0hMSxvPSEodCYmdC5pbmNsdWRlV2hpdGVzcGFjZSk7cmV0dXJuIGZ1bmN0aW9uKG4sbCl7bGV0e2VtcHR5OmQsJGN1cnNvcjpjLHJhbmdlczpwfT1uLnNlbGVjdGlvbjtpZihkJiYhY3x8IXpQYShuLmRvYyxwLGEsaSkpcmV0dXJuITE7aWYobClpZihjKWEuaXNJblNldChuLnN0b3JlZE1hcmtzfHxjLm1hcmtzKCkpP2wobi50ci5yZW1vdmVTdG9yZWRNYXJrKGEpKTpsKG4udHIuYWRkU3RvcmVkTWFyayhhLmNyZWF0ZShlKSkpO2Vsc2V7bGV0IHUsbT1uLnRyO2l8fChwPUNQYShwKSkscj91PSFwLnNvbWUodj0+bi5kb2MucmFuZ2VIYXNNYXJrKHYuJGZyb20ucG9zLHYuJHRvLnBvcyxhKSk6dT0hcC5ldmVyeSh2PT57bGV0IHg9ITE7cmV0dXJuIG0uZG9jLm5vZGVzQmV0d2Vlbih2LiRmcm9tLnBvcyx2LiR0by5wb3MsKGIsZyx5KT0+e2lmKHgpcmV0dXJuITE7eD0hYS5pc0luU2V0KGIubWFya3MpJiYhIXkmJnkudHlwZS5hbGxvd3NNYXJrVHlwZShhKSYmIShiLmlzVGV4dCYmL15ccyokLy50ZXN0KGIudGV4dEJldHdlZW4oTWF0aC5tYXgoMCx2LiRmcm9tLnBvcy1nKSxNYXRoLm1pbihiLm5vZGVTaXplLHYuJHRvLnBvcy1nKSkpKX0pLCF4fSk7Zm9yKGxldCB2PTA7djxwLmxlbmd0aDt2Kyspe2xldHskZnJvbTp4LCR0bzpifT1wW3ZdO2lmKCF1KW0ucmVtb3ZlTWFyayh4LnBvcyxiLnBvcyxhKTtlbHNle2xldCBnPXgucG9zLHk9Yi5wb3Msaz14Lm5vZGVBZnRlcixDPWIubm9kZUJlZm9yZSxOPW8mJmsmJmsuaXNUZXh0Py9eXHMqLy5leGVjKGsudGV4dClbMF0ubGVuZ3RoOjAsXz1vJiZDJiZDLmlzVGV4dD8vXHMqJC8uZXhlYyhDLnRleHQpWzBdLmxlbmd0aDowO2crTjx5JiYoZys9Tix5LT1fKSxtLmFkZE1hcmsoZyx5LGEuY3JlYXRlKGUpKX19bChtLnNjcm9sbEludG9WaWV3KCkpfXJldHVybiEwfX1mdW5jdGlvbiBUUGEoYSxlKXtyZXR1cm4gdD0+e2lmKCF0LmlzR2VuZXJpYylyZXR1cm4gYSh0KTtsZXQgcj1bXTtmb3IobGV0IG89MDtvPHQubWFwcGluZy5tYXBzLmxlbmd0aDtvKyspe2xldCBuPXQubWFwcGluZy5tYXBzW29dO2ZvcihsZXQgbD0wO2w8ci5sZW5ndGg7bCsrKXJbbF09bi5tYXAocltsXSk7bi5mb3JFYWNoKChsLGQsYyxwKT0+ci5wdXNoKGMscCkpfWxldCBpPVtdO2ZvcihsZXQgbz0wO288ci5sZW5ndGg7bys9Mil7bGV0IG49cltvXSxsPXJbbysxXSxkPXQuZG9jLnJlc29sdmUobiksYz1kLnNoYXJlZERlcHRoKGwpLHA9ZC5ub2RlKGMpO2ZvcihsZXQgdT1kLmluZGV4QWZ0ZXIoYyksbT1kLmFmdGVyKGMrMSk7bTw9bDsrK3Upe2xldCB2PXAubWF5YmVDaGlsZCh1KTtpZighdilicmVhaztpZih1JiZpLmluZGV4T2YobSk9PS0xKXtsZXQgeD1wLmNoaWxkKHUtMSk7eC50eXBlPT12LnR5cGUmJmUoeCx2KSYmaS5wdXNoKG0pfW0rPXYubm9kZVNpemV9fWkuc29ydCgobyxuKT0+by1uKTtmb3IobGV0IG89aS5sZW5ndGgtMTtvPj0wO28tLSlzbih0LmRvYyxpW29dKSYmdC5qb2luKGlbb10pO2EodCl9fWZ1bmN0aW9uIExQYShhLGUpe2xldCB0PUFycmF5LmlzQXJyYXkoZSk/cj0+ZS5pbmRleE9mKHIudHlwZS5uYW1lKT4tMTplO3JldHVybihyLGksbyk9PmEocixpJiZUUGEoaSx0KSxvKX1mdW5jdGlvbiBLYWUoLi4uYSl7cmV0dXJuIGZ1bmN0aW9uKGUsdCxyKXtmb3IobGV0IGk9MDtpPGEubGVuZ3RoO2krKylpZihhW2ldKGUsdCxyKSlyZXR1cm4hMDtyZXR1cm4hMX19dmFyIG9XLFphZSxjWmUsZFplLFhhZSxRYWUsSmFlLHVaZSxwWmUsZlplLGVyZSx0cmUsYXJlLHJyZSxvWmUsa1BhLGhaZSwkbmEsc3JlLGlyZSxuWmUsUG5hLFgyLGxaZSwkUGEsRFBhLEVuYT1mKCgpPT57aDQoKTtwNCgpO21jKCk7b1c9cygoYSxlKT0+YS5zZWxlY3Rpb24uZW1wdHk/ITE6KGUmJmUoYS50ci5kZWxldGVTZWxlY3Rpb24oKS5zY3JvbGxJbnRvVmlldygpKSwhMCksImRlbGV0ZVNlbGVjdGlvbiIpO3MoQ25hLCJhdEJsb2NrU3RhcnQiKTtaYWU9cygoYSxlLHQpPT57bGV0IHI9Q25hKGEsdCk7aWYoIXIpcmV0dXJuITE7bGV0IGk9clplKHIpO2lmKCFpKXtsZXQgbj1yLmJsb2NrUmFuZ2UoKSxsPW4mJlkyKG4pO3JldHVybiBsPT1udWxsPyExOihlJiZlKGEudHIubGlmdChuLGwpLnNjcm9sbEludG9WaWV3KCkpLCEwKX1sZXQgbz1pLm5vZGVCZWZvcmU7aWYoRG5hKGEsaSxlLC0xKSlyZXR1cm4hMDtpZihyLnBhcmVudC5jb250ZW50LnNpemU9PTAmJihfbShvLCJlbmQiKXx8a3QuaXNTZWxlY3RhYmxlKG8pKSlmb3IobGV0IG49ci5kZXB0aDs7bi0tKXtsZXQgbD1ibShhLmRvYyxyLmJlZm9yZShuKSxyLmFmdGVyKG4pLHN0LmVtcHR5KTtpZihsJiZsLnNsaWNlLnNpemU8bC50by1sLmZyb20pe2lmKGUpe2xldCBkPWEudHIuc3RlcChsKTtkLnNldFNlbGVjdGlvbihfbShvLCJlbmQiKT9FdC5maW5kRnJvbShkLmRvYy5yZXNvbHZlKGQubWFwcGluZy5tYXAoaS5wb3MsLTEpKSwtMSk6a3QuY3JlYXRlKGQuZG9jLGkucG9zLW8ubm9kZVNpemUpKSxlKGQuc2Nyb2xsSW50b1ZpZXcoKSl9cmV0dXJuITB9aWYobj09MXx8ci5ub2RlKG4tMSkuY2hpbGRDb3VudD4xKWJyZWFrfXJldHVybiBvLmlzQXRvbSYmaS5kZXB0aD09ci5kZXB0aC0xPyhlJiZlKGEudHIuZGVsZXRlKGkucG9zLW8ubm9kZVNpemUsaS5wb3MpLnNjcm9sbEludG9WaWV3KCkpLCEwKTohMX0sImpvaW5CYWNrd2FyZCIpLGNaZT1zKChhLGUsdCk9PntsZXQgcj1DbmEoYSx0KTtpZighcilyZXR1cm4hMTtsZXQgaT1yWmUocik7cmV0dXJuIGk/X25hKGEsaSxlKTohMX0sImpvaW5UZXh0YmxvY2tCYWNrd2FyZCIpLGRaZT1zKChhLGUsdCk9PntsZXQgcj1UbmEoYSx0KTtpZighcilyZXR1cm4hMTtsZXQgaT1zWmUocik7cmV0dXJuIGk/X25hKGEsaSxlKTohMX0sImpvaW5UZXh0YmxvY2tGb3J3YXJkIik7cyhfbmEsImpvaW5UZXh0YmxvY2tzQXJvdW5kIik7cyhfbSwidGV4dGJsb2NrQXQiKTtYYWU9cygoYSxlLHQpPT57bGV0eyRoZWFkOnIsZW1wdHk6aX09YS5zZWxlY3Rpb24sbz1yO2lmKCFpKXJldHVybiExO2lmKHIucGFyZW50LmlzVGV4dGJsb2NrKXtpZih0PyF0LmVuZE9mVGV4dGJsb2NrKCJiYWNrd2FyZCIsYSk6ci5wYXJlbnRPZmZzZXQ+MClyZXR1cm4hMTtvPXJaZShyKX1sZXQgbj1vJiZvLm5vZGVCZWZvcmU7cmV0dXJuIW58fCFrdC5pc1NlbGVjdGFibGUobik/ITE6KGUmJmUoYS50ci5zZXRTZWxlY3Rpb24oa3QuY3JlYXRlKGEuZG9jLG8ucG9zLW4ubm9kZVNpemUpKS5zY3JvbGxJbnRvVmlldygpKSwhMCl9LCJzZWxlY3ROb2RlQmFja3dhcmQiKTtzKHJaZSwiZmluZEN1dEJlZm9yZSIpO3MoVG5hLCJhdEJsb2NrRW5kIik7UWFlPXMoKGEsZSx0KT0+e2xldCByPVRuYShhLHQpO2lmKCFyKXJldHVybiExO2xldCBpPXNaZShyKTtpZighaSlyZXR1cm4hMTtsZXQgbz1pLm5vZGVBZnRlcjtpZihEbmEoYSxpLGUsMSkpcmV0dXJuITA7aWYoci5wYXJlbnQuY29udGVudC5zaXplPT0wJiYoX20obywic3RhcnQiKXx8a3QuaXNTZWxlY3RhYmxlKG8pKSl7bGV0IG49Ym0oYS5kb2Msci5iZWZvcmUoKSxyLmFmdGVyKCksc3QuZW1wdHkpO2lmKG4mJm4uc2xpY2Uuc2l6ZTxuLnRvLW4uZnJvbSl7aWYoZSl7bGV0IGw9YS50ci5zdGVwKG4pO2wuc2V0U2VsZWN0aW9uKF9tKG8sInN0YXJ0Iik/RXQuZmluZEZyb20obC5kb2MucmVzb2x2ZShsLm1hcHBpbmcubWFwKGkucG9zKSksMSk6a3QuY3JlYXRlKGwuZG9jLGwubWFwcGluZy5tYXAoaS5wb3MpKSksZShsLnNjcm9sbEludG9WaWV3KCkpfXJldHVybiEwfX1yZXR1cm4gby5pc0F0b20mJmkuZGVwdGg9PXIuZGVwdGgtMT8oZSYmZShhLnRyLmRlbGV0ZShpLnBvcyxpLnBvcytvLm5vZGVTaXplKS5zY3JvbGxJbnRvVmlldygpKSwhMCk6ITF9LCJqb2luRm9yd2FyZCIpLEphZT1zKChhLGUsdCk9PntsZXR7JGhlYWQ6cixlbXB0eTppfT1hLnNlbGVjdGlvbixvPXI7aWYoIWkpcmV0dXJuITE7aWYoci5wYXJlbnQuaXNUZXh0YmxvY2spe2lmKHQ/IXQuZW5kT2ZUZXh0YmxvY2soImZvcndhcmQiLGEpOnIucGFyZW50T2Zmc2V0PHIucGFyZW50LmNvbnRlbnQuc2l6ZSlyZXR1cm4hMTtvPXNaZShyKX1sZXQgbj1vJiZvLm5vZGVBZnRlcjtyZXR1cm4hbnx8IWt0LmlzU2VsZWN0YWJsZShuKT8hMTooZSYmZShhLnRyLnNldFNlbGVjdGlvbihrdC5jcmVhdGUoYS5kb2Msby5wb3MpKS5zY3JvbGxJbnRvVmlldygpKSwhMCl9LCJzZWxlY3ROb2RlRm9yd2FyZCIpO3Moc1plLCJmaW5kQ3V0QWZ0ZXIiKTt1WmU9cygoYSxlKT0+e2xldCB0PWEuc2VsZWN0aW9uLHI9dCBpbnN0YW5jZW9mIGt0LGk7aWYocil7aWYodC5ub2RlLmlzVGV4dGJsb2NrfHwhc24oYS5kb2MsdC5mcm9tKSlyZXR1cm4hMTtpPXQuZnJvbX1lbHNlIGlmKGk9SGYoYS5kb2MsdC5mcm9tLC0xKSxpPT1udWxsKXJldHVybiExO2lmKGUpe2xldCBvPWEudHIuam9pbihpKTtyJiZvLnNldFNlbGVjdGlvbihrdC5jcmVhdGUoby5kb2MsaS1hLmRvYy5yZXNvbHZlKGkpLm5vZGVCZWZvcmUubm9kZVNpemUpKSxlKG8uc2Nyb2xsSW50b1ZpZXcoKSl9cmV0dXJuITB9LCJqb2luVXAiKSxwWmU9cygoYSxlKT0+e2xldCB0PWEuc2VsZWN0aW9uLHI7aWYodCBpbnN0YW5jZW9mIGt0KXtpZih0Lm5vZGUuaXNUZXh0YmxvY2t8fCFzbihhLmRvYyx0LnRvKSlyZXR1cm4hMTtyPXQudG99ZWxzZSBpZihyPUhmKGEuZG9jLHQudG8sMSkscj09bnVsbClyZXR1cm4hMTtyZXR1cm4gZSYmZShhLnRyLmpvaW4ocikuc2Nyb2xsSW50b1ZpZXcoKSksITB9LCJqb2luRG93biIpLGZaZT1zKChhLGUpPT57bGV0eyRmcm9tOnQsJHRvOnJ9PWEuc2VsZWN0aW9uLGk9dC5ibG9ja1JhbmdlKHIpLG89aSYmWTIoaSk7cmV0dXJuIG89PW51bGw/ITE6KGUmJmUoYS50ci5saWZ0KGksbykuc2Nyb2xsSW50b1ZpZXcoKSksITApfSwibGlmdCIpLGVyZT1zKChhLGUpPT57bGV0eyRoZWFkOnQsJGFuY2hvcjpyfT1hLnNlbGVjdGlvbjtyZXR1cm4hdC5wYXJlbnQudHlwZS5zcGVjLmNvZGV8fCF0LnNhbWVQYXJlbnQocik/ITE6KGUmJmUoYS50ci5pbnNlcnRUZXh0KGAKYCkuc2Nyb2xsSW50b1ZpZXcoKSksITApfSwibmV3bGluZUluQ29kZSIpO3MoaVplLCJkZWZhdWx0QmxvY2tBdCIpO3RyZT1zKChhLGUpPT57bGV0eyRoZWFkOnQsJGFuY2hvcjpyfT1hLnNlbGVjdGlvbjtpZighdC5wYXJlbnQudHlwZS5zcGVjLmNvZGV8fCF0LnNhbWVQYXJlbnQocikpcmV0dXJuITE7bGV0IGk9dC5ub2RlKC0xKSxvPXQuaW5kZXhBZnRlcigtMSksbj1pWmUoaS5jb250ZW50TWF0Y2hBdChvKSk7aWYoIW58fCFpLmNhblJlcGxhY2VXaXRoKG8sbyxuKSlyZXR1cm4hMTtpZihlKXtsZXQgbD10LmFmdGVyKCksZD1hLnRyLnJlcGxhY2VXaXRoKGwsbCxuLmNyZWF0ZUFuZEZpbGwoKSk7ZC5zZXRTZWxlY3Rpb24oRXQubmVhcihkLmRvYy5yZXNvbHZlKGwpLDEpKSxlKGQuc2Nyb2xsSW50b1ZpZXcoKSl9cmV0dXJuITB9LCJleGl0Q29kZSIpLGFyZT1zKChhLGUpPT57bGV0IHQ9YS5zZWxlY3Rpb24seyRmcm9tOnIsJHRvOml9PXQ7aWYodCBpbnN0YW5jZW9mIElpfHxyLnBhcmVudC5pbmxpbmVDb250ZW50fHxpLnBhcmVudC5pbmxpbmVDb250ZW50KXJldHVybiExO2xldCBvPWlaZShpLnBhcmVudC5jb250ZW50TWF0Y2hBdChpLmluZGV4QWZ0ZXIoKSkpO2lmKCFvfHwhby5pc1RleHRibG9jaylyZXR1cm4hMTtpZihlKXtsZXQgbj0oIXIucGFyZW50T2Zmc2V0JiZpLmluZGV4KCk8aS5wYXJlbnQuY2hpbGRDb3VudD9yOmkpLnBvcyxsPWEudHIuaW5zZXJ0KG4sby5jcmVhdGVBbmRGaWxsKCkpO2wuc2V0U2VsZWN0aW9uKE50LmNyZWF0ZShsLmRvYyxuKzEpKSxlKGwuc2Nyb2xsSW50b1ZpZXcoKSl9cmV0dXJuITB9LCJjcmVhdGVQYXJhZ3JhcGhOZWFyIikscnJlPXMoKGEsZSk9PntsZXR7JGN1cnNvcjp0fT1hLnNlbGVjdGlvbjtpZighdHx8dC5wYXJlbnQuY29udGVudC5zaXplKXJldHVybiExO2lmKHQuZGVwdGg+MSYmdC5hZnRlcigpIT10LmVuZCgtMSkpe2xldCBvPXQuYmVmb3JlKCk7aWYoTm8oYS5kb2MsbykpcmV0dXJuIGUmJmUoYS50ci5zcGxpdChvKS5zY3JvbGxJbnRvVmlldygpKSwhMH1sZXQgcj10LmJsb2NrUmFuZ2UoKSxpPXImJlkyKHIpO3JldHVybiBpPT1udWxsPyExOihlJiZlKGEudHIubGlmdChyLGkpLnNjcm9sbEludG9WaWV3KCkpLCEwKX0sImxpZnRFbXB0eUJsb2NrIik7cyhMbmEsInNwbGl0QmxvY2tBcyIpO29aZT1MbmEoKSxrUGE9cygoYSxlKT0+b1plKGEsZSYmKHQ9PntsZXQgcj1hLnN0b3JlZE1hcmtzfHxhLnNlbGVjdGlvbi4kdG8ucGFyZW50T2Zmc2V0JiZhLnNlbGVjdGlvbi4kZnJvbS5tYXJrcygpO3ImJnQuZW5zdXJlTWFya3MociksZSh0KX0pKSwic3BsaXRCbG9ja0tlZXBNYXJrcyIpLGhaZT1zKChhLGUpPT57bGV0eyRmcm9tOnQsdG86cn09YS5zZWxlY3Rpb24saSxvPXQuc2hhcmVkRGVwdGgocik7cmV0dXJuIG89PTA/ITE6KGk9dC5iZWZvcmUobyksZSYmZShhLnRyLnNldFNlbGVjdGlvbihrdC5jcmVhdGUoYS5kb2MsaSkpKSwhMCl9LCJzZWxlY3RQYXJlbnROb2RlIiksJG5hPXMoKGEsZSk9PihlJiZlKGEudHIuc2V0U2VsZWN0aW9uKG5ldyBJaShhLmRvYykpKSwhMCksInNlbGVjdEFsbCIpO3MoU1BhLCJqb2luTWF5YmVDbGVhciIpO3MoRG5hLCJkZWxldGVCYXJyaWVyIik7cyhBbmEsInNlbGVjdFRleHRibG9ja1NpZGUiKTtzcmU9QW5hKC0xKSxpcmU9QW5hKDEpO3MobVplLCJ3cmFwSW4iKTtzKG9yZSwic2V0QmxvY2tUeXBlIik7cyh6UGEsIm1hcmtBcHBsaWVzIik7cyhDUGEsInJlbW92ZUlubGluZUF0b21zIik7cyhfUGEsInRvZ2dsZU1hcmsiKTtzKFRQYSwid3JhcERpc3BhdGNoRm9ySm9pbiIpO3MoTFBhLCJhdXRvSm9pbiIpO3MoS2FlLCJjaGFpbkNvbW1hbmRzIik7blplPUthZShvVyxaYWUsWGFlKSxQbmE9S2FlKG9XLFFhZSxKYWUpLFgyPXtFbnRlcjpLYWUoZXJlLGFyZSxycmUsb1plKSwiTW9kLUVudGVyIjp0cmUsQmFja3NwYWNlOm5aZSwiTW9kLUJhY2tzcGFjZSI6blplLCJTaGlmdC1CYWNrc3BhY2UiOm5aZSxEZWxldGU6UG5hLCJNb2QtRGVsZXRlIjpQbmEsIk1vZC1hIjokbmF9LGxaZT17IkN0cmwtaCI6WDIuQmFja3NwYWNlLCJBbHQtQmFja3NwYWNlIjpYMlsiTW9kLUJhY2tzcGFjZSJdLCJDdHJsLWQiOlgyLkRlbGV0ZSwiQ3RybC1BbHQtQmFja3NwYWNlIjpYMlsiTW9kLURlbGV0ZSJdLCJBbHQtRGVsZXRlIjpYMlsiTW9kLURlbGV0ZSJdLCJBbHQtZCI6WDJbIk1vZC1EZWxldGUiXSwiQ3RybC1hIjpzcmUsIkN0cmwtZSI6aXJlfTtmb3IobGV0IGEgaW4gWDIpbFplW2FdPVgyW2FdOyRQYT10eXBlb2YgbmF2aWdhdG9yPCJ1Ij8vTWFjfGlQKGhvbmV8W29hXWQpLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSk6dHlwZW9mIG9zPCJ1IiYmb3MucGxhdGZvcm0/b3MucGxhdGZvcm0oKT09ImRhcndpbiI6ITEsRFBhPSRQYT9sWmU6WDJ9KTt2YXIgSW5hPWYoKCk9PntFbmEoKX0pO2Z1bmN0aW9uIGdaZShhLGUpe2xldCB0PXt9O2ZvcihsZXQgciBpbiBhKXRbcl09YVtyXTtmb3IobGV0IHIgaW4gZSl0W3JdPWVbcl07cmV0dXJuIHR9ZnVuY3Rpb24gSVBhKGEsZSx0KXtyZXR1cm4gYS5hcHBlbmQoe29yZGVyZWRfbGlzdDpnWmUoTm5hLHtjb250ZW50OiJsaXN0X2l0ZW0rIixncm91cDp0fSksYnVsbGV0X2xpc3Q6Z1plKFJuYSx7Y29udGVudDoibGlzdF9pdGVtKyIsZ3JvdXA6dH0pLGxpc3RfaXRlbTpnWmUoT25hLHtjb250ZW50OmV9KX0pfWZ1bmN0aW9uIGJaZShhLGU9bnVsbCl7cmV0dXJuIGZ1bmN0aW9uKHQscil7bGV0eyRmcm9tOmksJHRvOm99PXQuc2VsZWN0aW9uLG49aS5ibG9ja1JhbmdlKG8pO2lmKCFuKXJldHVybiExO2xldCBsPXI/dC50cjpudWxsO3JldHVybiBGbmEobCxuLGEsZSk/KHImJnIobC5zY3JvbGxJbnRvVmlldygpKSwhMCk6ITF9fWZ1bmN0aW9uIEZuYShhLGUsdCxyPW51bGwpe2xldCBpPSExLG89ZSxuPWUuJGZyb20uZG9jO2lmKGUuZGVwdGg+PTImJmUuJGZyb20ubm9kZShlLmRlcHRoLTEpLnR5cGUuY29tcGF0aWJsZUNvbnRlbnQodCkmJmUuc3RhcnRJbmRleD09MCl7aWYoZS4kZnJvbS5pbmRleChlLmRlcHRoLTEpPT0wKXJldHVybiExO2xldCBkPW4ucmVzb2x2ZShlLnN0YXJ0LTIpO289bmV3IHU0KGQsZCxlLmRlcHRoKSxlLmVuZEluZGV4PGUucGFyZW50LmNoaWxkQ291bnQmJihlPW5ldyB1NChlLiRmcm9tLG4ucmVzb2x2ZShlLiR0by5lbmQoZS5kZXB0aCkpLGUuZGVwdGgpKSxpPSEwfWxldCBsPUJmKG8sdCxyLGUpO3JldHVybiBsPyhhJiZOUGEoYSxlLGwsaSx0KSwhMCk6ITF9ZnVuY3Rpb24gTlBhKGEsZSx0LHIsaSl7bGV0IG89amUuZW1wdHk7Zm9yKGxldCBwPXQubGVuZ3RoLTE7cD49MDtwLS0pbz1qZS5mcm9tKHRbcF0udHlwZS5jcmVhdGUodFtwXS5hdHRycyxvKSk7YS5zdGVwKG5ldyB0cyhlLnN0YXJ0LShyPzI6MCksZS5lbmQsZS5zdGFydCxlLmVuZCxuZXcgc3QobywwLDApLHQubGVuZ3RoLCEwKSk7bGV0IG49MDtmb3IobGV0IHA9MDtwPHQubGVuZ3RoO3ArKyl0W3BdLnR5cGU9PWkmJihuPXArMSk7bGV0IGw9dC5sZW5ndGgtbixkPWUuc3RhcnQrdC5sZW5ndGgtKHI/MjowKSxjPWUucGFyZW50O2ZvcihsZXQgcD1lLnN0YXJ0SW5kZXgsdT1lLmVuZEluZGV4LG09ITA7cDx1O3ArKyxtPSExKSFtJiZObyhhLmRvYyxkLGwpJiYoYS5zcGxpdChkLGwpLGQrPTIqbCksZCs9Yy5jaGlsZChwKS5ub2RlU2l6ZTtyZXR1cm4gYX1mdW5jdGlvbiBCbmEoYSxlKXtyZXR1cm4gZnVuY3Rpb24odCxyKXtsZXR7JGZyb206aSwkdG86byxub2RlOm59PXQuc2VsZWN0aW9uO2lmKG4mJm4uaXNCbG9ja3x8aS5kZXB0aDwyfHwhaS5zYW1lUGFyZW50KG8pKXJldHVybiExO2xldCBsPWkubm9kZSgtMSk7aWYobC50eXBlIT1hKXJldHVybiExO2lmKGkucGFyZW50LmNvbnRlbnQuc2l6ZT09MCYmaS5ub2RlKC0xKS5jaGlsZENvdW50PT1pLmluZGV4QWZ0ZXIoLTEpKXtpZihpLmRlcHRoPT0zfHxpLm5vZGUoLTMpLnR5cGUhPWF8fGkuaW5kZXgoLTIpIT1pLm5vZGUoLTIpLmNoaWxkQ291bnQtMSlyZXR1cm4hMTtpZihyKXtsZXQgdT1qZS5lbXB0eSxtPWkuaW5kZXgoLTEpPzE6aS5pbmRleCgtMik/MjozO2ZvcihsZXQgeT1pLmRlcHRoLW07eT49aS5kZXB0aC0zO3ktLSl1PWplLmZyb20oaS5ub2RlKHkpLmNvcHkodSkpO2xldCB2PWkuaW5kZXhBZnRlcigtMSk8aS5ub2RlKC0yKS5jaGlsZENvdW50PzE6aS5pbmRleEFmdGVyKC0yKTxpLm5vZGUoLTMpLmNoaWxkQ291bnQ/MjozO3U9dS5hcHBlbmQoamUuZnJvbShhLmNyZWF0ZUFuZEZpbGwoKSkpO2xldCB4PWkuYmVmb3JlKGkuZGVwdGgtKG0tMSkpLGI9dC50ci5yZXBsYWNlKHgsaS5hZnRlcigtdiksbmV3IHN0KHUsNC1tLDApKSxnPS0xO2IuZG9jLm5vZGVzQmV0d2Vlbih4LGIuZG9jLmNvbnRlbnQuc2l6ZSwoeSxrKT0+e2lmKGc+LTEpcmV0dXJuITE7eS5pc1RleHRibG9jayYmeS5jb250ZW50LnNpemU9PTAmJihnPWsrMSl9KSxnPi0xJiZiLnNldFNlbGVjdGlvbihFdC5uZWFyKGIuZG9jLnJlc29sdmUoZykpKSxyKGIuc2Nyb2xsSW50b1ZpZXcoKSl9cmV0dXJuITB9bGV0IGQ9by5wb3M9PWkuZW5kKCk/bC5jb250ZW50TWF0Y2hBdCgwKS5kZWZhdWx0VHlwZTpudWxsLGM9dC50ci5kZWxldGUoaS5wb3Msby5wb3MpLHA9ZD9bZT97dHlwZTphLGF0dHJzOmV9Om51bGwse3R5cGU6ZH1dOnZvaWQgMDtyZXR1cm4gTm8oYy5kb2MsaS5wb3MsMixwKT8ociYmcihjLnNwbGl0KGkucG9zLDIscCkuc2Nyb2xsSW50b1ZpZXcoKSksITApOiExfX1mdW5jdGlvbiBSUGEoYSxlKXtsZXQgdD1CbmEoYSxlKTtyZXR1cm4ocixpKT0+dChyLGkmJihvPT57bGV0IG49ci5zdG9yZWRNYXJrc3x8ci5zZWxlY3Rpb24uJHRvLnBhcmVudE9mZnNldCYmci5zZWxlY3Rpb24uJGZyb20ubWFya3MoKTtuJiZvLmVuc3VyZU1hcmtzKG4pLGkobyl9KSl9ZnVuY3Rpb24gdlplKGEpe3JldHVybiBmdW5jdGlvbihlLHQpe2xldHskZnJvbTpyLCR0bzppfT1lLnNlbGVjdGlvbixvPXIuYmxvY2tSYW5nZShpLG49Pm4uY2hpbGRDb3VudD4wJiZuLmZpcnN0Q2hpbGQudHlwZT09YSk7cmV0dXJuIG8/dD9yLm5vZGUoby5kZXB0aC0xKS50eXBlPT1hP09QYShlLHQsYSxvKTpGUGEoZSx0LG8pOiEwOiExfX1mdW5jdGlvbiBPUGEoYSxlLHQscil7bGV0IGk9YS50cixvPXIuZW5kLG49ci4kdG8uZW5kKHIuZGVwdGgpO288biYmKGkuc3RlcChuZXcgdHMoby0xLG4sbyxuLG5ldyBzdChqZS5mcm9tKHQuY3JlYXRlKG51bGwsci5wYXJlbnQuY29weSgpKSksMSwwKSwxLCEwKSkscj1uZXcgdTQoaS5kb2MucmVzb2x2ZShyLiRmcm9tLnBvcyksaS5kb2MucmVzb2x2ZShuKSxyLmRlcHRoKSk7bGV0IGw9WTIocik7aWYobD09bnVsbClyZXR1cm4hMTtpLmxpZnQocixsKTtsZXQgZD1pLmRvYy5yZXNvbHZlKGkubWFwcGluZy5tYXAobywtMSktMSk7cmV0dXJuIHNuKGkuZG9jLGQucG9zKSYmZC5ub2RlQmVmb3JlLnR5cGU9PWQubm9kZUFmdGVyLnR5cGUmJmkuam9pbihkLnBvcyksZShpLnNjcm9sbEludG9WaWV3KCkpLCEwfWZ1bmN0aW9uIEZQYShhLGUsdCl7bGV0IHI9YS50cixpPXQucGFyZW50O2ZvcihsZXQgdj10LmVuZCx4PXQuZW5kSW5kZXgtMSxiPXQuc3RhcnRJbmRleDt4PmI7eC0tKXYtPWkuY2hpbGQoeCkubm9kZVNpemUsci5kZWxldGUodi0xLHYrMSk7bGV0IG89ci5kb2MucmVzb2x2ZSh0LnN0YXJ0KSxuPW8ubm9kZUFmdGVyO2lmKHIubWFwcGluZy5tYXAodC5lbmQpIT10LnN0YXJ0K28ubm9kZUFmdGVyLm5vZGVTaXplKXJldHVybiExO2xldCBsPXQuc3RhcnRJbmRleD09MCxkPXQuZW5kSW5kZXg9PWkuY2hpbGRDb3VudCxjPW8ubm9kZSgtMSkscD1vLmluZGV4KC0xKTtpZighYy5jYW5SZXBsYWNlKHArKGw/MDoxKSxwKzEsbi5jb250ZW50LmFwcGVuZChkP2plLmVtcHR5OmplLmZyb20oaSkpKSlyZXR1cm4hMTtsZXQgdT1vLnBvcyxtPXUrbi5ub2RlU2l6ZTtyZXR1cm4gci5zdGVwKG5ldyB0cyh1LShsPzE6MCksbSsoZD8xOjApLHUrMSxtLTEsbmV3IHN0KChsP2plLmVtcHR5OmplLmZyb20oaS5jb3B5KGplLmVtcHR5KSkpLmFwcGVuZChkP2plLmVtcHR5OmplLmZyb20oaS5jb3B5KGplLmVtcHR5KSkpLGw/MDoxLGQ/MDoxKSxsPzA6MSkpLGUoci5zY3JvbGxJbnRvVmlldygpKSwhMH1mdW5jdGlvbiB4WmUoYSl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7bGV0eyRmcm9tOnIsJHRvOml9PWUuc2VsZWN0aW9uLG89ci5ibG9ja1JhbmdlKGksYz0+Yy5jaGlsZENvdW50PjAmJmMuZmlyc3RDaGlsZC50eXBlPT1hKTtpZighbylyZXR1cm4hMTtsZXQgbj1vLnN0YXJ0SW5kZXg7aWYobj09MClyZXR1cm4hMTtsZXQgbD1vLnBhcmVudCxkPWwuY2hpbGQobi0xKTtpZihkLnR5cGUhPWEpcmV0dXJuITE7aWYodCl7bGV0IGM9ZC5sYXN0Q2hpbGQmJmQubGFzdENoaWxkLnR5cGU9PWwudHlwZSxwPWplLmZyb20oYz9hLmNyZWF0ZSgpOm51bGwpLHU9bmV3IHN0KGplLmZyb20oYS5jcmVhdGUobnVsbCxqZS5mcm9tKGwudHlwZS5jcmVhdGUobnVsbCxwKSkpKSxjPzM6MSwwKSxtPW8uc3RhcnQsdj1vLmVuZDt0KGUudHIuc3RlcChuZXcgdHMobS0oYz8zOjEpLHYsbSx2LHUsMSwhMCkpLnNjcm9sbEludG9WaWV3KCkpfXJldHVybiEwfX12YXIgQVBhLFBQYSxFUGEsTm5hLFJuYSxPbmEsSG5hPWYoKCk9PntoNCgpO3A0KCk7bWMoKTtBUGE9WyJvbCIsMF0sUFBhPVsidWwiLDBdLEVQYT1bImxpIiwwXSxObmE9e2F0dHJzOntvcmRlcjp7ZGVmYXVsdDoxLHZhbGlkYXRlOiJudW1iZXIifX0scGFyc2VET006W3t0YWc6Im9sIixnZXRBdHRycyhhKXtyZXR1cm57b3JkZXI6YS5oYXNBdHRyaWJ1dGUoInN0YXJ0Iik/K2EuZ2V0QXR0cmlidXRlKCJzdGFydCIpOjF9fX1dLHRvRE9NKGEpe3JldHVybiBhLmF0dHJzLm9yZGVyPT0xP0FQYTpbIm9sIix7c3RhcnQ6YS5hdHRycy5vcmRlcn0sMF19fSxSbmE9e3BhcnNlRE9NOlt7dGFnOiJ1bCJ9XSx0b0RPTSgpe3JldHVybiBQUGF9fSxPbmE9e3BhcnNlRE9NOlt7dGFnOiJsaSJ9XSx0b0RPTSgpe3JldHVybiBFUGF9LGRlZmluaW5nOiEwfTtzKGdaZSwiYWRkIik7cyhJUGEsImFkZExpc3ROb2RlcyIpO3MoYlplLCJ3cmFwSW5MaXN0Iik7cyhGbmEsIndyYXBSYW5nZUluTGlzdCIpO3MoTlBhLCJkb1dyYXBJbkxpc3QiKTtzKEJuYSwic3BsaXRMaXN0SXRlbSIpO3MoUlBhLCJzcGxpdExpc3RJdGVtS2VlcE1hcmtzIik7cyh2WmUsImxpZnRMaXN0SXRlbSIpO3MoT1BhLCJsaWZ0VG9PdXRlckxpc3QiKTtzKEZQYSwibGlmdE91dE9mTGlzdCIpO3MoeFplLCJzaW5rTGlzdEl0ZW0iKX0pO3ZhciBxbmE9ZigoKT0+e0huYSgpfSk7dmFyIHYxYT17fTtsdCh2MWEse0NvbW1hbmRNYW5hZ2VyOigpPT53NCxFZGl0b3I6KCk9PmtyZSxFeHRlbnNpb246KCk9PndyLElucHV0UnVsZTooKT0+d2MsTWFyazooKT0+bmksTm9kZTooKT0+b3IsTm9kZVBvczooKT0+Z1csTm9kZVZpZXc6KCk9PlNyZSxQYXN0ZVJ1bGU6KCk9PlFmLFRyYWNrZXI6KCk9PnpyZSxjYWxsT3JSZXR1cm46KCk9Pmp0LGNhbkluc2VydE5vZGU6KCk9PkRyZSxjb21iaW5lVHJhbnNhY3Rpb25TdGVwczooKT0+Q3JlLGNyZWF0ZUNoYWluYWJsZVN0YXRlOigpPT5UbSxjcmVhdGVEb2N1bWVudDooKT0+cFcsY3JlYXRlTm9kZUZyb21Db250ZW50OigpPT50NSxjcmVhdGVTdHlsZVRhZzooKT0+RlplLGRlZmF1bHRCbG9ja0F0OigpPT5QWmUsZGVsZXRlUHJvcHM6KCk9PnhyZSxlbGVtZW50RnJvbVN0cmluZzooKT0+ZTUsZXNjYXBlRm9yUmVnRXg6KCk9PmgxYSxleHRlbnNpb25zOigpPT5mMWEsZmluZENoaWxkcmVuOigpPT5zMWEsZmluZENoaWxkcmVuSW5SYW5nZTooKT0+X3JlLGZpbmREdXBsaWNhdGVzOigpPT4kWmUsZmluZFBhcmVudE5vZGU6KCk9PkltLGZpbmRQYXJlbnROb2RlQ2xvc2VzdFRvUG9zOigpPT5FWmUsZnJvbVN0cmluZzooKT0+elplLGdlbmVyYXRlSFRNTDooKT0+aTFhLGdlbmVyYXRlSlNPTjooKT0+bzFhLGdlbmVyYXRlVGV4dDooKT0+bjFhLGdldEF0dHJpYnV0ZXM6KCk9PmJXLGdldEF0dHJpYnV0ZXNGcm9tRXh0ZW5zaW9uczooKT0+ZHJlLGdldENoYW5nZWRSYW5nZXM6KCk9PlRyZSxnZXREZWJ1Z0pTT046KCk9PlJaZSxnZXRFeHRlbnNpb25GaWVsZDooKT0+cHQsZ2V0SFRNTEZyb21GcmFnbWVudDooKT0+JG0sZ2V0TWFya0F0dHJpYnV0ZXM6KCk9PnlyZSxnZXRNYXJrUmFuZ2U6KCk9PnVXLGdldE1hcmtUeXBlOigpPT5RMixnZXRNYXJrc0JldHdlZW46KCk9PlJtLGdldE5vZGVBdFBvc2l0aW9uOigpPT5sMWEsZ2V0Tm9kZUF0dHJpYnV0ZXM6KCk9PklaZSxnZXROb2RlVHlwZTooKT0+eHMsZ2V0UmVuZGVyZWRBdHRyaWJ1dGVzOigpPT5uVyxnZXRTY2hlbWE6KCk9PmZXLGdldFNjaGVtYUJ5UmVzb2x2ZWRFeHRlbnNpb25zOigpPT5mcmUsZ2V0U2NoZW1hVHlwZUJ5TmFtZTooKT0+bFcsZ2V0U2NoZW1hVHlwZU5hbWVCeU5hbWU6KCk9PkVtLGdldFNwbGl0dGVkQXR0cmlidXRlczooKT0+Tm0sZ2V0VGV4dDooKT0+d3JlLGdldFRleHRCZXR3ZWVuOigpPT5tcmUsZ2V0VGV4dENvbnRlbnRGcm9tTm9kZXM6KCk9PkNaZSxnZXRUZXh0U2VyaWFsaXplcnNGcm9tU2NoZW1hOigpPT5kVyxpbmplY3RFeHRlbnNpb25BdHRyaWJ1dGVzVG9QYXJzZVJ1bGU6KCk9PnByZSxpbnB1dFJ1bGVzUGx1Z2luOigpPT5fWmUsaXNBY3RpdmU6KCk9Pk9aZSxpc0F0RW5kT2ZOb2RlOigpPT5jMWEsaXNBdFN0YXJ0T2ZOb2RlOigpPT5kMWEsaXNFbXB0eU9iamVjdDooKT0+U1plLGlzRXh0ZW5zaW9uUnVsZXNFbmFibGVkOigpPT5ocmUsaXNGdW5jdGlvbjooKT0+dXJlLGlzTGlzdDooKT0+TXJlLGlzTWFjT1M6KCk9PnZyZSxpc01hcmtBY3RpdmU6KCk9PmhXLGlzTm9kZUFjdGl2ZTooKT0+YTUsaXNOb2RlRW1wdHk6KCk9Pm1XLGlzTm9kZVNlbGVjdGlvbjooKT0+THJlLGlzTnVtYmVyOigpPT5UWmUsaXNQbGFpbk9iamVjdDooKT0+RG0saXNSZWdFeHA6KCk9PmNXLGlzU2FmYXJpOigpPT5EWmUsaXNTdHJpbmc6KCk9Pm0xYSxpc1RleHRTZWxlY3Rpb246KCk9PmdyZSxpc2lPUzooKT0+SmYsbWFya0lucHV0UnVsZTooKT0+Qm4sbWFya1Bhc3RlUnVsZTooKT0+T28sbWVyZ2VBdHRyaWJ1dGVzOigpPT56YSxtZXJnZURlZXA6KCk9PkFtLG1pbk1heDooKT0+TzEsbm9kZUlucHV0UnVsZTooKT0+JHJlLG5vZGVQYXN0ZVJ1bGU6KCk9PmcxYSxvYmplY3RJbmNsdWRlczooKT0+UG0scGFzdGVSdWxlc1BsdWdpbjooKT0+TFplLHBvc1RvRE9NUmVjdDooKT0+dTFhLHJlbW92ZUR1cGxpY2F0ZXM6KCk9Pk5aZSxyZXNvbHZlRm9jdXNQb3NpdGlvbjooKT0+YnJlLHJld3JpdGVVbmtub3duQ29udGVudDooKT0+cDFhLHNlbGVjdGlvblRvSW5zZXJ0aW9uRW5kOigpPT5BWmUsc3BsaXRFeHRlbnNpb25zOigpPT5MbSx0ZXh0SW5wdXRSdWxlOigpPT5tcix0ZXh0UGFzdGVSdWxlOigpPT5iMWEsdGV4dGJsb2NrVHlwZUlucHV0UnVsZTooKT0+cjUsd3JhcHBpbmdJbnB1dFJ1bGU6KCk9PkoyfSk7ZnVuY3Rpb24gVG0oYSl7bGV0e3N0YXRlOmUsdHJhbnNhY3Rpb246dH09YSx7c2VsZWN0aW9uOnJ9PXQse2RvYzppfT10LHtzdG9yZWRNYXJrczpvfT10O3JldHVybnsuLi5lLGFwcGx5OmUuYXBwbHkuYmluZChlKSxhcHBseVRyYW5zYWN0aW9uOmUuYXBwbHlUcmFuc2FjdGlvbi5iaW5kKGUpLHBsdWdpbnM6ZS5wbHVnaW5zLHNjaGVtYTplLnNjaGVtYSxyZWNvbmZpZ3VyZTplLnJlY29uZmlndXJlLmJpbmQoZSksdG9KU09OOmUudG9KU09OLmJpbmQoZSksZ2V0IHN0b3JlZE1hcmtzKCl7cmV0dXJuIG99LGdldCBzZWxlY3Rpb24oKXtyZXR1cm4gcn0sZ2V0IGRvYygpe3JldHVybiBpfSxnZXQgdHIoKXtyZXR1cm4gcj10LnNlbGVjdGlvbixpPXQuZG9jLG89dC5zdG9yZWRNYXJrcyx0fX19ZnVuY3Rpb24gcHQoYSxlLHQpe3JldHVybiBhLmNvbmZpZ1tlXT09PXZvaWQgMCYmYS5wYXJlbnQ/cHQoYS5wYXJlbnQsZSx0KTp0eXBlb2YgYS5jb25maWdbZV09PSJmdW5jdGlvbiI/YS5jb25maWdbZV0uYmluZCh7Li4udCxwYXJlbnQ6YS5wYXJlbnQ/cHQoYS5wYXJlbnQsZSx0KTpudWxsfSk6YS5jb25maWdbZV19ZnVuY3Rpb24gTG0oYSl7bGV0IGU9YS5maWx0ZXIoaT0+aS50eXBlPT09ImV4dGVuc2lvbiIpLHQ9YS5maWx0ZXIoaT0+aS50eXBlPT09Im5vZGUiKSxyPWEuZmlsdGVyKGk9PmkudHlwZT09PSJtYXJrIik7cmV0dXJue2Jhc2VFeHRlbnNpb25zOmUsbm9kZUV4dGVuc2lvbnM6dCxtYXJrRXh0ZW5zaW9uczpyfX1mdW5jdGlvbiBkcmUoYSl7bGV0IGU9W10se25vZGVFeHRlbnNpb25zOnQsbWFya0V4dGVuc2lvbnM6cn09TG0oYSksaT1bLi4udCwuLi5yXSxvPXtkZWZhdWx0Om51bGwscmVuZGVyZWQ6ITAscmVuZGVySFRNTDpudWxsLHBhcnNlSFRNTDpudWxsLGtlZXBPblNwbGl0OiEwLGlzUmVxdWlyZWQ6ITF9O3JldHVybiBhLmZvckVhY2gobj0+e2xldCBsPXtuYW1lOm4ubmFtZSxvcHRpb25zOm4ub3B0aW9ucyxzdG9yYWdlOm4uc3RvcmFnZSxleHRlbnNpb25zOml9LGQ9cHQobiwiYWRkR2xvYmFsQXR0cmlidXRlcyIsbCk7aWYoIWQpcmV0dXJuO2QoKS5mb3JFYWNoKHA9PntwLnR5cGVzLmZvckVhY2godT0+e09iamVjdC5lbnRyaWVzKHAuYXR0cmlidXRlcykuZm9yRWFjaCgoW20sdl0pPT57ZS5wdXNoKHt0eXBlOnUsbmFtZTptLGF0dHJpYnV0ZTp7Li4ubywuLi52fX0pfSl9KX0pfSksaS5mb3JFYWNoKG49PntsZXQgbD17bmFtZTpuLm5hbWUsb3B0aW9uczpuLm9wdGlvbnMsc3RvcmFnZTpuLnN0b3JhZ2V9LGQ9cHQobiwiYWRkQXR0cmlidXRlcyIsbCk7aWYoIWQpcmV0dXJuO2xldCBjPWQoKTtPYmplY3QuZW50cmllcyhjKS5mb3JFYWNoKChbcCx1XSk9PntsZXQgbT17Li4ubywuLi51fTt0eXBlb2YgbT8uZGVmYXVsdD09ImZ1bmN0aW9uIiYmKG0uZGVmYXVsdD1tLmRlZmF1bHQoKSksbT8uaXNSZXF1aXJlZCYmbT8uZGVmYXVsdD09PXZvaWQgMCYmZGVsZXRlIG0uZGVmYXVsdCxlLnB1c2goe3R5cGU6bi5uYW1lLG5hbWU6cCxhdHRyaWJ1dGU6bX0pfSl9KSxlfWZ1bmN0aW9uIHhzKGEsZSl7aWYodHlwZW9mIGE9PSJzdHJpbmciKXtpZighZS5ub2Rlc1thXSl0aHJvdyBFcnJvcihgVGhlcmUgaXMgbm8gbm9kZSB0eXBlIG5hbWVkICcke2F9Jy4gTWF5YmUgeW91IGZvcmdvdCB0byBhZGQgdGhlIGV4dGVuc2lvbj9gKTtyZXR1cm4gZS5ub2Rlc1thXX1yZXR1cm4gYX1mdW5jdGlvbiB6YSguLi5hKXtyZXR1cm4gYS5maWx0ZXIoZT0+ISFlKS5yZWR1Y2UoKGUsdCk9PntsZXQgcj17Li4uZX07cmV0dXJuIE9iamVjdC5lbnRyaWVzKHQpLmZvckVhY2goKFtpLG9dKT0+e2lmKCFyW2ldKXtyW2ldPW87cmV0dXJufWlmKGk9PT0iY2xhc3MiKXtsZXQgbD1vP1N0cmluZyhvKS5zcGxpdCgiICIpOltdLGQ9cltpXT9yW2ldLnNwbGl0KCIgIik6W10sYz1sLmZpbHRlcihwPT4hZC5pbmNsdWRlcyhwKSk7cltpXT1bLi4uZCwuLi5jXS5qb2luKCIgIil9ZWxzZSBpZihpPT09InN0eWxlIil7bGV0IGw9bz9vLnNwbGl0KCI7IikubWFwKHA9PnAudHJpbSgpKS5maWx0ZXIoQm9vbGVhbik6W10sZD1yW2ldP3JbaV0uc3BsaXQoIjsiKS5tYXAocD0+cC50cmltKCkpLmZpbHRlcihCb29sZWFuKTpbXSxjPW5ldyBNYXA7ZC5mb3JFYWNoKHA9PntsZXRbdSxtXT1wLnNwbGl0KCI6IikubWFwKHY9PnYudHJpbSgpKTtjLnNldCh1LG0pfSksbC5mb3JFYWNoKHA9PntsZXRbdSxtXT1wLnNwbGl0KCI6IikubWFwKHY9PnYudHJpbSgpKTtjLnNldCh1LG0pfSkscltpXT1BcnJheS5mcm9tKGMuZW50cmllcygpKS5tYXAoKFtwLHVdKT0+YCR7cH06ICR7dX1gKS5qb2luKCI7ICIpfWVsc2UgcltpXT1vfSkscn0se30pfWZ1bmN0aW9uIG5XKGEsZSl7cmV0dXJuIGUuZmlsdGVyKHQ9PnQudHlwZT09PWEudHlwZS5uYW1lKS5maWx0ZXIodD0+dC5hdHRyaWJ1dGUucmVuZGVyZWQpLm1hcCh0PT50LmF0dHJpYnV0ZS5yZW5kZXJIVE1MP3QuYXR0cmlidXRlLnJlbmRlckhUTUwoYS5hdHRycyl8fHt9OntbdC5uYW1lXTphLmF0dHJzW3QubmFtZV19KS5yZWR1Y2UoKHQscik9PnphKHQscikse30pfWZ1bmN0aW9uIHVyZShhKXtyZXR1cm4gdHlwZW9mIGE9PSJmdW5jdGlvbiJ9ZnVuY3Rpb24ganQoYSxlPXZvaWQgMCwuLi50KXtyZXR1cm4gdXJlKGEpP2U/YS5iaW5kKGUpKC4uLnQpOmEoLi4udCk6YX1mdW5jdGlvbiBTWmUoYT17fSl7cmV0dXJuIE9iamVjdC5rZXlzKGEpLmxlbmd0aD09PTAmJmEuY29uc3RydWN0b3I9PT1PYmplY3R9ZnVuY3Rpb24gelplKGEpe3JldHVybiB0eXBlb2YgYSE9InN0cmluZyI/YTphLm1hdGNoKC9eWystXT8oPzpcZCpcLik/XGQrJC8pP051bWJlcihhKTphPT09InRydWUiPyEwOmE9PT0iZmFsc2UiPyExOmF9ZnVuY3Rpb24gcHJlKGEsZSl7cmV0dXJuInN0eWxlImluIGE/YTp7Li4uYSxnZXRBdHRyczpzKHQ9PntsZXQgcj1hLmdldEF0dHJzP2EuZ2V0QXR0cnModCk6YS5hdHRycztpZihyPT09ITEpcmV0dXJuITE7bGV0IGk9ZS5yZWR1Y2UoKG8sbik9PntsZXQgbD1uLmF0dHJpYnV0ZS5wYXJzZUhUTUw/bi5hdHRyaWJ1dGUucGFyc2VIVE1MKHQpOnpaZSh0LmdldEF0dHJpYnV0ZShuLm5hbWUpKTtyZXR1cm4gbD09bnVsbD9vOnsuLi5vLFtuLm5hbWVdOmx9fSx7fSk7cmV0dXJuey4uLnIsLi4uaX19LCJnZXRBdHRycyIpfX1mdW5jdGlvbiBWbmEoYSl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhhKS5maWx0ZXIoKFtlLHRdKT0+ZT09PSJhdHRycyImJlNaZSh0KT8hMTp0IT1udWxsKSl9ZnVuY3Rpb24gZnJlKGEsZSl7dmFyIHQ7bGV0IHI9ZHJlKGEpLHtub2RlRXh0ZW5zaW9uczppLG1hcmtFeHRlbnNpb25zOm99PUxtKGEpLG49KHQ9aS5maW5kKGM9PnB0KGMsInRvcE5vZGUiKSkpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5uYW1lLGw9T2JqZWN0LmZyb21FbnRyaWVzKGkubWFwKGM9PntsZXQgcD1yLmZpbHRlcih5PT55LnR5cGU9PT1jLm5hbWUpLHU9e25hbWU6Yy5uYW1lLG9wdGlvbnM6Yy5vcHRpb25zLHN0b3JhZ2U6Yy5zdG9yYWdlLGVkaXRvcjplfSxtPWEucmVkdWNlKCh5LGspPT57bGV0IEM9cHQoaywiZXh0ZW5kTm9kZVNjaGVtYSIsdSk7cmV0dXJuey4uLnksLi4uQz9DKGMpOnt9fX0se30pLHY9Vm5hKHsuLi5tLGNvbnRlbnQ6anQocHQoYywiY29udGVudCIsdSkpLG1hcmtzOmp0KHB0KGMsIm1hcmtzIix1KSksZ3JvdXA6anQocHQoYywiZ3JvdXAiLHUpKSxpbmxpbmU6anQocHQoYywiaW5saW5lIix1KSksYXRvbTpqdChwdChjLCJhdG9tIix1KSksc2VsZWN0YWJsZTpqdChwdChjLCJzZWxlY3RhYmxlIix1KSksZHJhZ2dhYmxlOmp0KHB0KGMsImRyYWdnYWJsZSIsdSkpLGNvZGU6anQocHQoYywiY29kZSIsdSkpLHdoaXRlc3BhY2U6anQocHQoYywid2hpdGVzcGFjZSIsdSkpLGxpbmVicmVha1JlcGxhY2VtZW50Omp0KHB0KGMsImxpbmVicmVha1JlcGxhY2VtZW50Iix1KSksZGVmaW5pbmc6anQocHQoYywiZGVmaW5pbmciLHUpKSxpc29sYXRpbmc6anQocHQoYywiaXNvbGF0aW5nIix1KSksYXR0cnM6T2JqZWN0LmZyb21FbnRyaWVzKHAubWFwKHk9Pnt2YXIgaztyZXR1cm5beS5uYW1lLHtkZWZhdWx0OihrPXk/LmF0dHJpYnV0ZSk9PT1udWxsfHxrPT09dm9pZCAwP3ZvaWQgMDprLmRlZmF1bHR9XX0pKX0pLHg9anQocHQoYywicGFyc2VIVE1MIix1KSk7eCYmKHYucGFyc2VET009eC5tYXAoeT0+cHJlKHkscCkpKTtsZXQgYj1wdChjLCJyZW5kZXJIVE1MIix1KTtiJiYodi50b0RPTT15PT5iKHtub2RlOnksSFRNTEF0dHJpYnV0ZXM6blcoeSxwKX0pKTtsZXQgZz1wdChjLCJyZW5kZXJUZXh0Iix1KTtyZXR1cm4gZyYmKHYudG9UZXh0PWcpLFtjLm5hbWUsdl19KSksZD1PYmplY3QuZnJvbUVudHJpZXMoby5tYXAoYz0+e2xldCBwPXIuZmlsdGVyKGc9PmcudHlwZT09PWMubmFtZSksdT17bmFtZTpjLm5hbWUsb3B0aW9uczpjLm9wdGlvbnMsc3RvcmFnZTpjLnN0b3JhZ2UsZWRpdG9yOmV9LG09YS5yZWR1Y2UoKGcseSk9PntsZXQgaz1wdCh5LCJleHRlbmRNYXJrU2NoZW1hIix1KTtyZXR1cm57Li4uZywuLi5rP2soYyk6e319fSx7fSksdj1WbmEoey4uLm0saW5jbHVzaXZlOmp0KHB0KGMsImluY2x1c2l2ZSIsdSkpLGV4Y2x1ZGVzOmp0KHB0KGMsImV4Y2x1ZGVzIix1KSksZ3JvdXA6anQocHQoYywiZ3JvdXAiLHUpKSxzcGFubmluZzpqdChwdChjLCJzcGFubmluZyIsdSkpLGNvZGU6anQocHQoYywiY29kZSIsdSkpLGF0dHJzOk9iamVjdC5mcm9tRW50cmllcyhwLm1hcChnPT57dmFyIHk7cmV0dXJuW2cubmFtZSx7ZGVmYXVsdDooeT1nPy5hdHRyaWJ1dGUpPT09bnVsbHx8eT09PXZvaWQgMD92b2lkIDA6eS5kZWZhdWx0fV19KSl9KSx4PWp0KHB0KGMsInBhcnNlSFRNTCIsdSkpO3gmJih2LnBhcnNlRE9NPXgubWFwKGc9PnByZShnLHApKSk7bGV0IGI9cHQoYywicmVuZGVySFRNTCIsdSk7cmV0dXJuIGImJih2LnRvRE9NPWc9PmIoe21hcms6ZyxIVE1MQXR0cmlidXRlczpuVyhnLHApfSkpLFtjLm5hbWUsdl19KSk7cmV0dXJuIG5ldyBwbSh7dG9wTm9kZTpuLG5vZGVzOmwsbWFya3M6ZH0pfWZ1bmN0aW9uIGxXKGEsZSl7cmV0dXJuIGUubm9kZXNbYV18fGUubWFya3NbYV18fG51bGx9ZnVuY3Rpb24gaHJlKGEsZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZS5zb21lKHQ9Pih0eXBlb2YgdD09InN0cmluZyI/dDp0Lm5hbWUpPT09YS5uYW1lKTplfWZ1bmN0aW9uICRtKGEsZSl7bGV0IHQ9VzIuZnJvbVNjaGVtYShlKS5zZXJpYWxpemVGcmFnbWVudChhKSxpPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgpLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBpLmFwcGVuZENoaWxkKHQpLGkuaW5uZXJIVE1MfWZ1bmN0aW9uIGNXKGEpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSk9PT0iW29iamVjdCBSZWdFeHBdIn1mdW5jdGlvbiBucmUoYSl7dmFyIGU7bGV0e2VkaXRvcjp0LGZyb206cix0bzppLHRleHQ6byxydWxlczpuLHBsdWdpbjpsfT1hLHt2aWV3OmR9PXQ7aWYoZC5jb21wb3NpbmcpcmV0dXJuITE7bGV0IGM9ZC5zdGF0ZS5kb2MucmVzb2x2ZShyKTtpZihjLnBhcmVudC50eXBlLnNwZWMuY29kZXx8ISgoZT1jLm5vZGVCZWZvcmV8fGMubm9kZUFmdGVyKT09PW51bGx8fGU9PT12b2lkIDApJiZlLm1hcmtzLmZpbmQobT0+bS50eXBlLnNwZWMuY29kZSkpcmV0dXJuITE7bGV0IHA9ITEsdT1DWmUoYykrbztyZXR1cm4gbi5mb3JFYWNoKG09PntpZihwKXJldHVybjtsZXQgdj1CUGEodSxtLmZpbmQpO2lmKCF2KXJldHVybjtsZXQgeD1kLnN0YXRlLnRyLGI9VG0oe3N0YXRlOmQuc3RhdGUsdHJhbnNhY3Rpb246eH0pLGc9e2Zyb206ci0odlswXS5sZW5ndGgtby5sZW5ndGgpLHRvOml9LHtjb21tYW5kczp5LGNoYWluOmssY2FuOkN9PW5ldyB3NCh7ZWRpdG9yOnQsc3RhdGU6Yn0pO20uaGFuZGxlcih7c3RhdGU6YixyYW5nZTpnLG1hdGNoOnYsY29tbWFuZHM6eSxjaGFpbjprLGNhbjpDfSk9PT1udWxsfHwheC5zdGVwcy5sZW5ndGh8fCh4LnNldE1ldGEobCx7dHJhbnNmb3JtOngsZnJvbTpyLHRvOmksdGV4dDpvfSksZC5kaXNwYXRjaCh4KSxwPSEwKX0pLHB9ZnVuY3Rpb24gX1plKGEpe2xldHtlZGl0b3I6ZSxydWxlczp0fT1hLHI9bmV3IGFyKHtzdGF0ZTp7aW5pdCgpe3JldHVybiBudWxsfSxhcHBseShpLG8sbil7bGV0IGw9aS5nZXRNZXRhKHIpO2lmKGwpcmV0dXJuIGw7bGV0IGQ9aS5nZXRNZXRhKCJhcHBseUlucHV0UnVsZXMiKTtyZXR1cm4gZCYmc2V0VGltZW91dCgoKT0+e2xldHt0ZXh0OnB9PWQ7dHlwZW9mIHA9PSJzdHJpbmciP3A9cDpwPSRtKGplLmZyb20ocCksbi5zY2hlbWEpO2xldHtmcm9tOnV9PWQsbT11K3AubGVuZ3RoO25yZSh7ZWRpdG9yOmUsZnJvbTp1LHRvOm0sdGV4dDpwLHJ1bGVzOnQscGx1Z2luOnJ9KX0pLGkuc2VsZWN0aW9uU2V0fHxpLmRvY0NoYW5nZWQ/bnVsbDpvfX0scHJvcHM6e2hhbmRsZVRleHRJbnB1dChpLG8sbixsKXtyZXR1cm4gbnJlKHtlZGl0b3I6ZSxmcm9tOm8sdG86bix0ZXh0OmwscnVsZXM6dCxwbHVnaW46cn0pfSxoYW5kbGVET01FdmVudHM6e2NvbXBvc2l0aW9uZW5kOnMoaT0+KHNldFRpbWVvdXQoKCk9PntsZXR7JGN1cnNvcjpvfT1pLnN0YXRlLnNlbGVjdGlvbjtvJiZucmUoe2VkaXRvcjplLGZyb206by5wb3MsdG86by5wb3MsdGV4dDoiIixydWxlczp0LHBsdWdpbjpyfSl9KSwhMSksImNvbXBvc2l0aW9uZW5kIil9LGhhbmRsZUtleURvd24oaSxvKXtpZihvLmtleSE9PSJFbnRlciIpcmV0dXJuITE7bGV0eyRjdXJzb3I6bn09aS5zdGF0ZS5zZWxlY3Rpb247cmV0dXJuIG4/bnJlKHtlZGl0b3I6ZSxmcm9tOm4ucG9zLHRvOm4ucG9zLHRleHQ6YApgLHJ1bGVzOnQscGx1Z2luOnJ9KTohMX19LGlzSW5wdXRSdWxlczohMH0pO3JldHVybiByfWZ1bmN0aW9uIEhQYShhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpLnNsaWNlKDgsLTEpfWZ1bmN0aW9uIERtKGEpe3JldHVybiBIUGEoYSkhPT0iT2JqZWN0Ij8hMTphLmNvbnN0cnVjdG9yPT09T2JqZWN0JiZPYmplY3QuZ2V0UHJvdG90eXBlT2YoYSk9PT1PYmplY3QucHJvdG90eXBlfWZ1bmN0aW9uIEFtKGEsZSl7bGV0IHQ9ey4uLmF9O3JldHVybiBEbShhKSYmRG0oZSkmJk9iamVjdC5rZXlzKGUpLmZvckVhY2gocj0+e0RtKGVbcl0pJiZEbShhW3JdKT90W3JdPUFtKGFbcl0sZVtyXSk6dFtyXT1lW3JdfSksdH1mdW5jdGlvbiBUWmUoYSl7cmV0dXJuIHR5cGVvZiBhPT0ibnVtYmVyIn1mdW5jdGlvbiBWUGEoYSl7bGV0e2VkaXRvcjplLHN0YXRlOnQsZnJvbTpyLHRvOmkscnVsZTpvLHBhc3RlRXZlbnQ6bixkcm9wRXZlbnQ6bH09YSx7Y29tbWFuZHM6ZCxjaGFpbjpjLGNhbjpwfT1uZXcgdzQoe2VkaXRvcjplLHN0YXRlOnR9KSx1PVtdO3JldHVybiB0LmRvYy5ub2Rlc0JldHdlZW4ocixpLCh2LHgpPT57aWYoIXYuaXNUZXh0YmxvY2t8fHYudHlwZS5zcGVjLmNvZGUpcmV0dXJuO2xldCBiPU1hdGgubWF4KHIseCksZz1NYXRoLm1pbihpLHgrdi5jb250ZW50LnNpemUpLHk9di50ZXh0QmV0d2VlbihiLXgsZy14LHZvaWQgMCwiXHVGRkZDIik7cVBhKHksby5maW5kLG4pLmZvckVhY2goQz0+e2lmKEMuaW5kZXg9PT12b2lkIDApcmV0dXJuO2xldCBOPWIrQy5pbmRleCsxLF89TitDWzBdLmxlbmd0aCx6PXtmcm9tOnQudHIubWFwcGluZy5tYXAoTiksdG86dC50ci5tYXBwaW5nLm1hcChfKX0sTz1vLmhhbmRsZXIoe3N0YXRlOnQscmFuZ2U6eixtYXRjaDpDLGNvbW1hbmRzOmQsY2hhaW46YyxjYW46cCxwYXN0ZUV2ZW50Om4sZHJvcEV2ZW50Omx9KTt1LnB1c2goTyl9KX0pLHUuZXZlcnkodj0+diE9PW51bGwpfWZ1bmN0aW9uIExaZShhKXtsZXR7ZWRpdG9yOmUscnVsZXM6dH09YSxyPW51bGwsaT0hMSxvPSExLG49dHlwZW9mIENsaXBib2FyZEV2ZW50PCJ1Ij9uZXcgQ2xpcGJvYXJkRXZlbnQoInBhc3RlIik6bnVsbCxsO3RyeXtsPXR5cGVvZiBEcmFnRXZlbnQ8InUiP25ldyBEcmFnRXZlbnQoImRyb3AiKTpudWxsfWNhdGNoe2w9bnVsbH1sZXQgZD1zKCh7c3RhdGU6cCxmcm9tOnUsdG86bSxydWxlOnYscGFzdGVFdnQ6eH0pPT57bGV0IGI9cC50cixnPVRtKHtzdGF0ZTpwLHRyYW5zYWN0aW9uOmJ9KTtpZighKCFWUGEoe2VkaXRvcjplLHN0YXRlOmcsZnJvbTpNYXRoLm1heCh1LTEsMCksdG86bS5iLTEscnVsZTp2LHBhc3RlRXZlbnQ6eCxkcm9wRXZlbnQ6bH0pfHwhYi5zdGVwcy5sZW5ndGgpKXt0cnl7bD10eXBlb2YgRHJhZ0V2ZW50PCJ1Ij9uZXcgRHJhZ0V2ZW50KCJkcm9wIik6bnVsbH1jYXRjaHtsPW51bGx9cmV0dXJuIG49dHlwZW9mIENsaXBib2FyZEV2ZW50PCJ1Ij9uZXcgQ2xpcGJvYXJkRXZlbnQoInBhc3RlIik6bnVsbCxifX0sInByb2Nlc3NFdmVudCIpO3JldHVybiB0Lm1hcChwPT5uZXcgYXIoe3ZpZXcodSl7bGV0IG09cyh4PT57dmFyIGI7cj0hKChiPXUuZG9tLnBhcmVudEVsZW1lbnQpPT09bnVsbHx8Yj09PXZvaWQgMCkmJmIuY29udGFpbnMoeC50YXJnZXQpP3UuZG9tLnBhcmVudEVsZW1lbnQ6bnVsbCxyJiYobHJlPWUpfSwiaGFuZGxlRHJhZ3N0YXJ0Iiksdj1zKCgpPT57bHJlJiYobHJlPW51bGwpfSwiaGFuZGxlRHJhZ2VuZCIpO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ3N0YXJ0IixtKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2VuZCIsdikse2Rlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZHJhZ3N0YXJ0IixtKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZHJhZ2VuZCIsdil9fX0scHJvcHM6e2hhbmRsZURPTUV2ZW50czp7ZHJvcDpzKCh1LG0pPT57aWYobz1yPT09dS5kb20ucGFyZW50RWxlbWVudCxsPW0sIW8pe2xldCB2PWxyZTt2Py5pc0VkaXRhYmxlJiZzZXRUaW1lb3V0KCgpPT57bGV0IHg9di5zdGF0ZS5zZWxlY3Rpb247eCYmdi5jb21tYW5kcy5kZWxldGVSYW5nZSh7ZnJvbTp4LmZyb20sdG86eC50b30pfSwxMCl9cmV0dXJuITF9LCJkcm9wIikscGFzdGU6cygodSxtKT0+e3ZhciB2O2xldCB4PSh2PW0uY2xpcGJvYXJkRGF0YSk9PT1udWxsfHx2PT09dm9pZCAwP3ZvaWQgMDp2LmdldERhdGEoInRleHQvaHRtbCIpO3JldHVybiBuPW0saT0hIXg/LmluY2x1ZGVzKCJkYXRhLXBtLXNsaWNlIiksITF9LCJwYXN0ZSIpfX0sYXBwZW5kVHJhbnNhY3Rpb246cygodSxtLHYpPT57bGV0IHg9dVswXSxiPXguZ2V0TWV0YSgidWlFdmVudCIpPT09InBhc3RlIiYmIWksZz14LmdldE1ldGEoInVpRXZlbnQiKT09PSJkcm9wIiYmIW8seT14LmdldE1ldGEoImFwcGx5UGFzdGVSdWxlcyIpLGs9ISF5O2lmKCFiJiYhZyYmIWspcmV0dXJuO2lmKGspe2xldHt0ZXh0Ol99PXk7dHlwZW9mIF89PSJzdHJpbmciP189XzpfPSRtKGplLmZyb20oXyksdi5zY2hlbWEpO2xldHtmcm9tOnp9PXksTz16K18ubGVuZ3RoLFQ9alBhKF8pO3JldHVybiBkKHtydWxlOnAsc3RhdGU6dixmcm9tOnosdG86e2I6T30scGFzdGVFdnQ6VH0pfWxldCBDPW0uZG9jLmNvbnRlbnQuZmluZERpZmZTdGFydCh2LmRvYy5jb250ZW50KSxOPW0uZG9jLmNvbnRlbnQuZmluZERpZmZFbmQodi5kb2MuY29udGVudCk7aWYoISghVFplKEMpfHwhTnx8Qz09PU4uYikpcmV0dXJuIGQoe3J1bGU6cCxzdGF0ZTp2LGZyb206Qyx0bzpOLHBhc3RlRXZ0Om59KX0sImFwcGVuZFRyYW5zYWN0aW9uIil9KSl9ZnVuY3Rpb24gJFplKGEpe2xldCBlPWEuZmlsdGVyKCh0LHIpPT5hLmluZGV4T2YodCkhPT1yKTtyZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KGUpKX1mdW5jdGlvbiBtcmUoYSxlLHQpe2xldHtmcm9tOnIsdG86aX09ZSx7YmxvY2tTZXBhcmF0b3I6bz1gCgpgLHRleHRTZXJpYWxpemVyczpuPXt9fT10fHx7fSxsPSIiO3JldHVybiBhLm5vZGVzQmV0d2VlbihyLGksKGQsYyxwLHUpPT57dmFyIG07ZC5pc0Jsb2NrJiZjPnImJihsKz1vKTtsZXQgdj1uPy5bZC50eXBlLm5hbWVdO2lmKHYpcmV0dXJuIHAmJihsKz12KHtub2RlOmQscG9zOmMscGFyZW50OnAsaW5kZXg6dSxyYW5nZTplfSkpLCExO2QuaXNUZXh0JiYobCs9KG09ZD8udGV4dCk9PT1udWxsfHxtPT09dm9pZCAwP3ZvaWQgMDptLnNsaWNlKE1hdGgubWF4KHIsYyktYyxpLWMpKX0pLGx9ZnVuY3Rpb24gZFcoYSl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhhLm5vZGVzKS5maWx0ZXIoKFssZV0pPT5lLnNwZWMudG9UZXh0KS5tYXAoKFtlLHRdKT0+W2UsdC5zcGVjLnRvVGV4dF0pKX1mdW5jdGlvbiBQbShhLGUsdD17c3RyaWN0OiEwfSl7bGV0IHI9T2JqZWN0LmtleXMoZSk7cmV0dXJuIHIubGVuZ3RoP3IuZXZlcnkoaT0+dC5zdHJpY3Q/ZVtpXT09PWFbaV06Y1coZVtpXSk/ZVtpXS50ZXN0KGFbaV0pOmVbaV09PT1hW2ldKTohMH1mdW5jdGlvbiBVbmEoYSxlLHQ9e30pe3JldHVybiBhLmZpbmQocj0+ci50eXBlPT09ZSYmUG0oT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5rZXlzKHQpLm1hcChpPT5baSxyLmF0dHJzW2ldXSkpLHQpKX1mdW5jdGlvbiBXbmEoYSxlLHQ9e30pe3JldHVybiEhVW5hKGEsZSx0KX1mdW5jdGlvbiB1VyhhLGUsdCl7dmFyIHI7aWYoIWF8fCFlKXJldHVybjtsZXQgaT1hLnBhcmVudC5jaGlsZEFmdGVyKGEucGFyZW50T2Zmc2V0KTtpZigoIWkubm9kZXx8IWkubm9kZS5tYXJrcy5zb21lKHA9PnAudHlwZT09PWUpKSYmKGk9YS5wYXJlbnQuY2hpbGRCZWZvcmUoYS5wYXJlbnRPZmZzZXQpKSwhaS5ub2RlfHwhaS5ub2RlLm1hcmtzLnNvbWUocD0+cC50eXBlPT09ZSl8fCh0PXR8fCgocj1pLm5vZGUubWFya3NbMF0pPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci5hdHRycyksIVVuYShbLi4uaS5ub2RlLm1hcmtzXSxlLHQpKSlyZXR1cm47bGV0IG49aS5pbmRleCxsPWEuc3RhcnQoKStpLm9mZnNldCxkPW4rMSxjPWwraS5ub2RlLm5vZGVTaXplO2Zvcig7bj4wJiZXbmEoWy4uLmEucGFyZW50LmNoaWxkKG4tMSkubWFya3NdLGUsdCk7KW4tPTEsbC09YS5wYXJlbnQuY2hpbGQobikubm9kZVNpemU7Zm9yKDtkPGEucGFyZW50LmNoaWxkQ291bnQmJlduYShbLi4uYS5wYXJlbnQuY2hpbGQoZCkubWFya3NdLGUsdCk7KWMrPWEucGFyZW50LmNoaWxkKGQpLm5vZGVTaXplLGQrPTE7cmV0dXJue2Zyb206bCx0bzpjfX1mdW5jdGlvbiBRMihhLGUpe2lmKHR5cGVvZiBhPT0ic3RyaW5nIil7aWYoIWUubWFya3NbYV0pdGhyb3cgRXJyb3IoYFRoZXJlIGlzIG5vIG1hcmsgdHlwZSBuYW1lZCAnJHthfScuIE1heWJlIHlvdSBmb3Jnb3QgdG8gYWRkIHRoZSBleHRlbnNpb24/YCk7cmV0dXJuIGUubWFya3NbYV19cmV0dXJuIGF9ZnVuY3Rpb24gZ3JlKGEpe3JldHVybiBhIGluc3RhbmNlb2YgTnR9ZnVuY3Rpb24gTzEoYT0wLGU9MCx0PTApe3JldHVybiBNYXRoLm1pbihNYXRoLm1heChhLGUpLHQpfWZ1bmN0aW9uIGJyZShhLGU9bnVsbCl7aWYoIWUpcmV0dXJuIG51bGw7bGV0IHQ9RXQuYXRTdGFydChhKSxyPUV0LmF0RW5kKGEpO2lmKGU9PT0ic3RhcnQifHxlPT09ITApcmV0dXJuIHQ7aWYoZT09PSJlbmQiKXJldHVybiByO2xldCBpPXQuZnJvbSxvPXIudG87cmV0dXJuIGU9PT0iYWxsIj9OdC5jcmVhdGUoYSxPMSgwLGksbyksTzEoYS5jb250ZW50LnNpemUsaSxvKSk6TnQuY3JlYXRlKGEsTzEoZSxpLG8pLE8xKGUsaSxvKSl9ZnVuY3Rpb24gd1plKCl7cmV0dXJuIG5hdmlnYXRvci5wbGF0Zm9ybT09PSJBbmRyb2lkInx8L2FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfWZ1bmN0aW9uIEpmKCl7cmV0dXJuWyJpUGFkIFNpbXVsYXRvciIsImlQaG9uZSBTaW11bGF0b3IiLCJpUG9kIFNpbXVsYXRvciIsImlQYWQiLCJpUGhvbmUiLCJpUG9kIl0uaW5jbHVkZXMobmF2aWdhdG9yLnBsYXRmb3JtKXx8bmF2aWdhdG9yLnVzZXJBZ2VudC5pbmNsdWRlcygiTWFjIikmJiJvbnRvdWNoZW5kImluIGRvY3VtZW50fWZ1bmN0aW9uIERaZSgpe3JldHVybiB0eXBlb2YgbmF2aWdhdG9yPCJ1Ij8vXigoPyFjaHJvbWV8YW5kcm9pZCkuKSpzYWZhcmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpOiExfWZ1bmN0aW9uIGU1KGEpe2xldCBlPWA8Ym9keT4ke2F9PC9ib2R5PmAsdD1uZXcgd2luZG93LkRPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhlLCJ0ZXh0L2h0bWwiKS5ib2R5O3JldHVybiBHbmEodCl9ZnVuY3Rpb24gdDUoYSxlLHQpe2lmKGEgaW5zdGFuY2VvZiBLaXx8YSBpbnN0YW5jZW9mIGplKXJldHVybiBhO3Q9e3NsaWNlOiEwLHBhcnNlT3B0aW9uczp7fSwuLi50fTtsZXQgcj10eXBlb2YgYT09Im9iamVjdCImJmEhPT1udWxsLGk9dHlwZW9mIGE9PSJzdHJpbmciO2lmKHIpdHJ5e2lmKEFycmF5LmlzQXJyYXkoYSkmJmEubGVuZ3RoPjApcmV0dXJuIGplLmZyb21BcnJheShhLm1hcChsPT5lLm5vZGVGcm9tSlNPTihsKSkpO2xldCBuPWUubm9kZUZyb21KU09OKGEpO3JldHVybiB0LmVycm9yT25JbnZhbGlkQ29udGVudCYmbi5jaGVjaygpLG59Y2F0Y2gobyl7aWYodC5lcnJvck9uSW52YWxpZENvbnRlbnQpdGhyb3cgbmV3IEVycm9yKCJbdGlwdGFwIGVycm9yXTogSW52YWxpZCBKU09OIGNvbnRlbnQiLHtjYXVzZTpvfSk7cmV0dXJuIGNvbnNvbGUud2FybigiW3RpcHRhcCB3YXJuXTogSW52YWxpZCBjb250ZW50LiIsIlBhc3NlZCB2YWx1ZToiLGEsIkVycm9yOiIsbyksdDUoIiIsZSx0KX1pZihpKXtpZih0LmVycm9yT25JbnZhbGlkQ29udGVudCl7bGV0IG49ITEsbD0iIixkPW5ldyBwbSh7dG9wTm9kZTplLnNwZWMudG9wTm9kZSxtYXJrczplLnNwZWMubWFya3Msbm9kZXM6ZS5zcGVjLm5vZGVzLmFwcGVuZCh7X190aXB0YXBfX3ByaXZhdGVfX3Vua25vd25fX2NhdGNoX19hbGxfX25vZGU6e2NvbnRlbnQ6ImlubGluZSoiLGdyb3VwOiJibG9jayIscGFyc2VET006W3t0YWc6IioiLGdldEF0dHJzOnMoYz0+KG49ITAsbD10eXBlb2YgYz09InN0cmluZyI/YzpjLm91dGVySFRNTCxudWxsKSwiZ2V0QXR0cnMiKX1dfX0pfSk7aWYodC5zbGljZT9OMS5mcm9tU2NoZW1hKGQpLnBhcnNlU2xpY2UoZTUoYSksdC5wYXJzZU9wdGlvbnMpOk4xLmZyb21TY2hlbWEoZCkucGFyc2UoZTUoYSksdC5wYXJzZU9wdGlvbnMpLHQuZXJyb3JPbkludmFsaWRDb250ZW50JiZuKXRocm93IG5ldyBFcnJvcigiW3RpcHRhcCBlcnJvcl06IEludmFsaWQgSFRNTCBjb250ZW50Iix7Y2F1c2U6bmV3IEVycm9yKGBJbnZhbGlkIGVsZW1lbnQgZm91bmQ6ICR7bH1gKX0pfWxldCBvPU4xLmZyb21TY2hlbWEoZSk7cmV0dXJuIHQuc2xpY2U/by5wYXJzZVNsaWNlKGU1KGEpLHQucGFyc2VPcHRpb25zKS5jb250ZW50Om8ucGFyc2UoZTUoYSksdC5wYXJzZU9wdGlvbnMpfXJldHVybiB0NSgiIixlLHQpfWZ1bmN0aW9uIEFaZShhLGUsdCl7bGV0IHI9YS5zdGVwcy5sZW5ndGgtMTtpZihyPGUpcmV0dXJuO2xldCBpPWEuc3RlcHNbcl07aWYoIShpIGluc3RhbmNlb2YgWnN8fGkgaW5zdGFuY2VvZiB0cykpcmV0dXJuO2xldCBvPWEubWFwcGluZy5tYXBzW3JdLG49MDtvLmZvckVhY2goKGwsZCxjLHApPT57bj09PTAmJihuPXApfSksYS5zZXRTZWxlY3Rpb24oRXQubmVhcihhLmRvYy5yZXNvbHZlKG4pLHQpKX1mdW5jdGlvbiB2cmUoKXtyZXR1cm4gdHlwZW9mIG5hdmlnYXRvcjwidSI/L01hYy8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pOiExfWZ1bmN0aW9uIHZFYShhKXtsZXQgZT1hLnNwbGl0KC8tKD8hJCkvKSx0PWVbZS5sZW5ndGgtMV07dD09PSJTcGFjZSImJih0PSIgIik7bGV0IHIsaSxvLG47Zm9yKGxldCBsPTA7bDxlLmxlbmd0aC0xO2wrPTEpe2xldCBkPWVbbF07aWYoL14oY21kfG1ldGF8bSkkL2kudGVzdChkKSluPSEwO2Vsc2UgaWYoL15hKGx0KT8kL2kudGVzdChkKSlyPSEwO2Vsc2UgaWYoL14oY3xjdHJsfGNvbnRyb2wpJC9pLnRlc3QoZCkpaT0hMDtlbHNlIGlmKC9ecyhoaWZ0KT8kL2kudGVzdChkKSlvPSEwO2Vsc2UgaWYoL15tb2QkL2kudGVzdChkKSlKZigpfHx2cmUoKT9uPSEwOmk9ITA7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCBtb2RpZmllciBuYW1lOiAke2R9YCl9cmV0dXJuIHImJih0PWBBbHQtJHt0fWApLGkmJih0PWBDdHJsLSR7dH1gKSxuJiYodD1gTWV0YS0ke3R9YCksbyYmKHQ9YFNoaWZ0LSR7dH1gKSx0fWZ1bmN0aW9uIGE1KGEsZSx0PXt9KXtsZXR7ZnJvbTpyLHRvOmksZW1wdHk6b309YS5zZWxlY3Rpb24sbj1lP3hzKGUsYS5zY2hlbWEpOm51bGwsbD1bXTthLmRvYy5ub2Rlc0JldHdlZW4ocixpLCh1LG0pPT57aWYodS5pc1RleHQpcmV0dXJuO2xldCB2PU1hdGgubWF4KHIsbSkseD1NYXRoLm1pbihpLG0rdS5ub2RlU2l6ZSk7bC5wdXNoKHtub2RlOnUsZnJvbTp2LHRvOnh9KX0pO2xldCBkPWktcixjPWwuZmlsdGVyKHU9Pm4/bi5uYW1lPT09dS5ub2RlLnR5cGUubmFtZTohMCkuZmlsdGVyKHU9PlBtKHUubm9kZS5hdHRycyx0LHtzdHJpY3Q6ITF9KSk7cmV0dXJuIG8/ISFjLmxlbmd0aDpjLnJlZHVjZSgodSxtKT0+dSttLnRvLW0uZnJvbSwwKT49ZH1mdW5jdGlvbiBFbShhLGUpe3JldHVybiBlLm5vZGVzW2FdPyJub2RlIjplLm1hcmtzW2FdPyJtYXJrIjpudWxsfWZ1bmN0aW9uIHhyZShhLGUpe2xldCB0PXR5cGVvZiBlPT0ic3RyaW5nIj9bZV06ZTtyZXR1cm4gT2JqZWN0LmtleXMoYSkucmVkdWNlKChyLGkpPT4odC5pbmNsdWRlcyhpKXx8KHJbaV09YVtpXSkscikse30pfWZ1bmN0aW9uIHBXKGEsZSx0PXt9LHI9e30pe3JldHVybiB0NShhLGUse3NsaWNlOiExLHBhcnNlT3B0aW9uczp0LGVycm9yT25JbnZhbGlkQ29udGVudDpyLmVycm9yT25JbnZhbGlkQ29udGVudH0pfWZ1bmN0aW9uIHlyZShhLGUpe2xldCB0PVEyKGUsYS5zY2hlbWEpLHtmcm9tOnIsdG86aSxlbXB0eTpvfT1hLnNlbGVjdGlvbixuPVtdO28/KGEuc3RvcmVkTWFya3MmJm4ucHVzaCguLi5hLnN0b3JlZE1hcmtzKSxuLnB1c2goLi4uYS5zZWxlY3Rpb24uJGhlYWQubWFya3MoKSkpOmEuZG9jLm5vZGVzQmV0d2VlbihyLGksZD0+e24ucHVzaCguLi5kLm1hcmtzKX0pO2xldCBsPW4uZmluZChkPT5kLnR5cGUubmFtZT09PXQubmFtZSk7cmV0dXJuIGw/ey4uLmwuYXR0cnN9Ont9fWZ1bmN0aW9uIENyZShhLGUpe2xldCB0PW5ldyBGZihhKTtyZXR1cm4gZS5mb3JFYWNoKHI9PntyLnN0ZXBzLmZvckVhY2goaT0+e3Quc3RlcChpKX0pfSksdH1mdW5jdGlvbiBQWmUoYSl7Zm9yKGxldCBlPTA7ZTxhLmVkZ2VDb3VudDtlKz0xKXtsZXR7dHlwZTp0fT1hLmVkZ2UoZSk7aWYodC5pc1RleHRibG9jayYmIXQuaGFzUmVxdWlyZWRBdHRycygpKXJldHVybiB0fXJldHVybiBudWxsfWZ1bmN0aW9uIHMxYShhLGUpe2xldCB0PVtdO3JldHVybiBhLmRlc2NlbmRhbnRzKChyLGkpPT57ZShyKSYmdC5wdXNoKHtub2RlOnIscG9zOml9KX0pLHR9ZnVuY3Rpb24gX3JlKGEsZSx0KXtsZXQgcj1bXTtyZXR1cm4gYS5ub2Rlc0JldHdlZW4oZS5mcm9tLGUudG8sKGksbyk9Pnt0KGkpJiZyLnB1c2goe25vZGU6aSxwb3M6b30pfSkscn1mdW5jdGlvbiBFWmUoYSxlKXtmb3IobGV0IHQ9YS5kZXB0aDt0PjA7dC09MSl7bGV0IHI9YS5ub2RlKHQpO2lmKGUocikpcmV0dXJue3Bvczp0PjA/YS5iZWZvcmUodCk6MCxzdGFydDphLnN0YXJ0KHQpLGRlcHRoOnQsbm9kZTpyfX19ZnVuY3Rpb24gSW0oYSl7cmV0dXJuIGU9PkVaZShlLiRmcm9tLGEpfWZ1bmN0aW9uIGZXKGEsZSl7bGV0IHQ9Y3JlLnJlc29sdmUoYSk7cmV0dXJuIGZyZSh0LGUpfWZ1bmN0aW9uIGkxYShhLGUpe2xldCB0PWZXKGUpLHI9S2kuZnJvbUpTT04odCxhKTtyZXR1cm4gJG0oci5jb250ZW50LHQpfWZ1bmN0aW9uIG8xYShhLGUpe2xldCB0PWZXKGUpLHI9ZTUoYSk7cmV0dXJuIE4xLmZyb21TY2hlbWEodCkucGFyc2UocikudG9KU09OKCl9ZnVuY3Rpb24gd3JlKGEsZSl7bGV0IHQ9e2Zyb206MCx0bzphLmNvbnRlbnQuc2l6ZX07cmV0dXJuIG1yZShhLHQsZSl9ZnVuY3Rpb24gbjFhKGEsZSx0KXtsZXR7YmxvY2tTZXBhcmF0b3I6cj1gCgpgLHRleHRTZXJpYWxpemVyczppPXt9fT10fHx7fSxvPWZXKGUpLG49S2kuZnJvbUpTT04obyxhKTtyZXR1cm4gd3JlKG4se2Jsb2NrU2VwYXJhdG9yOnIsdGV4dFNlcmlhbGl6ZXJzOnsuLi5kVyhvKSwuLi5pfX0pfWZ1bmN0aW9uIElaZShhLGUpe2xldCB0PXhzKGUsYS5zY2hlbWEpLHtmcm9tOnIsdG86aX09YS5zZWxlY3Rpb24sbz1bXTthLmRvYy5ub2Rlc0JldHdlZW4ocixpLGw9PntvLnB1c2gobCl9KTtsZXQgbj1vLnJldmVyc2UoKS5maW5kKGw9PmwudHlwZS5uYW1lPT09dC5uYW1lKTtyZXR1cm4gbj97Li4ubi5hdHRyc306e319ZnVuY3Rpb24gYlcoYSxlKXtsZXQgdD1FbSh0eXBlb2YgZT09InN0cmluZyI/ZTplLm5hbWUsYS5zY2hlbWEpO3JldHVybiB0PT09Im5vZGUiP0laZShhLGUpOnQ9PT0ibWFyayI/eXJlKGEsZSk6e319ZnVuY3Rpb24gTlplKGEsZT1KU09OLnN0cmluZ2lmeSl7bGV0IHQ9e307cmV0dXJuIGEuZmlsdGVyKHI9PntsZXQgaT1lKHIpO3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxpKT8hMTp0W2ldPSEwfSl9ZnVuY3Rpb24gUEVhKGEpe2xldCBlPU5aZShhKTtyZXR1cm4gZS5sZW5ndGg9PT0xP2U6ZS5maWx0ZXIoKHQscik9PiFlLmZpbHRlcigobyxuKT0+biE9PXIpLnNvbWUobz0+dC5vbGRSYW5nZS5mcm9tPj1vLm9sZFJhbmdlLmZyb20mJnQub2xkUmFuZ2UudG88PW8ub2xkUmFuZ2UudG8mJnQubmV3UmFuZ2UuZnJvbT49by5uZXdSYW5nZS5mcm9tJiZ0Lm5ld1JhbmdlLnRvPD1vLm5ld1JhbmdlLnRvKSl9ZnVuY3Rpb24gVHJlKGEpe2xldHttYXBwaW5nOmUsc3RlcHM6dH09YSxyPVtdO3JldHVybiBlLm1hcHMuZm9yRWFjaCgoaSxvKT0+e2xldCBuPVtdO2lmKGkucmFuZ2VzLmxlbmd0aClpLmZvckVhY2goKGwsZCk9PntuLnB1c2goe2Zyb206bCx0bzpkfSl9KTtlbHNle2xldHtmcm9tOmwsdG86ZH09dFtvXTtpZihsPT09dm9pZCAwfHxkPT09dm9pZCAwKXJldHVybjtuLnB1c2goe2Zyb206bCx0bzpkfSl9bi5mb3JFYWNoKCh7ZnJvbTpsLHRvOmR9KT0+e2xldCBjPWUuc2xpY2UobykubWFwKGwsLTEpLHA9ZS5zbGljZShvKS5tYXAoZCksdT1lLmludmVydCgpLm1hcChjLC0xKSxtPWUuaW52ZXJ0KCkubWFwKHApO3IucHVzaCh7b2xkUmFuZ2U6e2Zyb206dSx0bzptfSxuZXdSYW5nZTp7ZnJvbTpjLHRvOnB9fSl9KX0pLFBFYShyKX1mdW5jdGlvbiBSWmUoYSxlPTApe2xldCByPWEudHlwZT09PWEudHlwZS5zY2hlbWEudG9wTm9kZVR5cGU/MDoxLGk9ZSxvPWkrYS5ub2RlU2l6ZSxuPWEubWFya3MubWFwKGM9PntsZXQgcD17dHlwZTpjLnR5cGUubmFtZX07cmV0dXJuIE9iamVjdC5rZXlzKGMuYXR0cnMpLmxlbmd0aCYmKHAuYXR0cnM9ey4uLmMuYXR0cnN9KSxwfSksbD17Li4uYS5hdHRyc30sZD17dHlwZTphLnR5cGUubmFtZSxmcm9tOmksdG86b307cmV0dXJuIE9iamVjdC5rZXlzKGwpLmxlbmd0aCYmKGQuYXR0cnM9bCksbi5sZW5ndGgmJihkLm1hcmtzPW4pLGEuY29udGVudC5jaGlsZENvdW50JiYoZC5jb250ZW50PVtdLGEuZm9yRWFjaCgoYyxwKT0+e3ZhciB1Oyh1PWQuY29udGVudCk9PT1udWxsfHx1PT09dm9pZCAwfHx1LnB1c2goUlplKGMsZStwK3IpKX0pKSxhLnRleHQmJihkLnRleHQ9YS50ZXh0KSxkfWZ1bmN0aW9uIFJtKGEsZSx0KXtsZXQgcj1bXTtyZXR1cm4gYT09PWU/dC5yZXNvbHZlKGEpLm1hcmtzKCkuZm9yRWFjaChpPT57bGV0IG89dC5yZXNvbHZlKGEpLG49dVcobyxpLnR5cGUpO24mJnIucHVzaCh7bWFyazppLC4uLm59KX0pOnQubm9kZXNCZXR3ZWVuKGEsZSwoaSxvKT0+eyFpfHxpPy5ub2RlU2l6ZT09PXZvaWQgMHx8ci5wdXNoKC4uLmkubWFya3MubWFwKG49Pih7ZnJvbTpvLHRvOm8raS5ub2RlU2l6ZSxtYXJrOm59KSkpfSkscn1mdW5jdGlvbiBObShhLGUsdCl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyh0KS5maWx0ZXIoKFtyXSk9PntsZXQgaT1hLmZpbmQobz0+by50eXBlPT09ZSYmby5uYW1lPT09cik7cmV0dXJuIGk/aS5hdHRyaWJ1dGUua2VlcE9uU3BsaXQ6ITF9KSl9ZnVuY3Rpb24gaFcoYSxlLHQ9e30pe2xldHtlbXB0eTpyLHJhbmdlczppfT1hLnNlbGVjdGlvbixvPWU/UTIoZSxhLnNjaGVtYSk6bnVsbDtpZihyKXJldHVybiEhKGEuc3RvcmVkTWFya3N8fGEuc2VsZWN0aW9uLiRmcm9tLm1hcmtzKCkpLmZpbHRlcih1PT5vP28ubmFtZT09PXUudHlwZS5uYW1lOiEwKS5maW5kKHU9PlBtKHUuYXR0cnMsdCx7c3RyaWN0OiExfSkpO2xldCBuPTAsbD1bXTtpZihpLmZvckVhY2goKHskZnJvbTp1LCR0bzptfSk9PntsZXQgdj11LnBvcyx4PW0ucG9zO2EuZG9jLm5vZGVzQmV0d2Vlbih2LHgsKGIsZyk9PntpZighYi5pc1RleHQmJiFiLm1hcmtzLmxlbmd0aClyZXR1cm47bGV0IHk9TWF0aC5tYXgodixnKSxrPU1hdGgubWluKHgsZytiLm5vZGVTaXplKSxDPWsteTtuKz1DLGwucHVzaCguLi5iLm1hcmtzLm1hcChOPT4oe21hcms6Tixmcm9tOnksdG86a30pKSl9KX0pLG49PT0wKXJldHVybiExO2xldCBkPWwuZmlsdGVyKHU9Pm8/by5uYW1lPT09dS5tYXJrLnR5cGUubmFtZTohMCkuZmlsdGVyKHU9PlBtKHUubWFyay5hdHRycyx0LHtzdHJpY3Q6ITF9KSkucmVkdWNlKCh1LG0pPT51K20udG8tbS5mcm9tLDApLGM9bC5maWx0ZXIodT0+bz91Lm1hcmsudHlwZSE9PW8mJnUubWFyay50eXBlLmV4Y2x1ZGVzKG8pOiEwKS5yZWR1Y2UoKHUsbSk9PnUrbS50by1tLmZyb20sMCk7cmV0dXJuKGQ+MD9kK2M6ZCk+PW59ZnVuY3Rpb24gT1plKGEsZSx0PXt9KXtpZighZSlyZXR1cm4gYTUoYSxudWxsLHQpfHxoVyhhLG51bGwsdCk7bGV0IHI9RW0oZSxhLnNjaGVtYSk7cmV0dXJuIHI9PT0ibm9kZSI/YTUoYSxlLHQpOnI9PT0ibWFyayI/aFcoYSxlLHQpOiExfWZ1bmN0aW9uIE1yZShhLGUpe2xldHtub2RlRXh0ZW5zaW9uczp0fT1MbShlKSxyPXQuZmluZChuPT5uLm5hbWU9PT1hKTtpZighcilyZXR1cm4hMTtsZXQgaT17bmFtZTpyLm5hbWUsb3B0aW9uczpyLm9wdGlvbnMsc3RvcmFnZTpyLnN0b3JhZ2V9LG89anQocHQociwiZ3JvdXAiLGkpKTtyZXR1cm4gdHlwZW9mIG8hPSJzdHJpbmciPyExOm8uc3BsaXQoIiAiKS5pbmNsdWRlcygibGlzdCIpfWZ1bmN0aW9uIG1XKGEse2NoZWNrQ2hpbGRyZW46ZT0hMCxpZ25vcmVXaGl0ZXNwYWNlOnQ9ITF9PXt9KXt2YXIgcjtpZih0KXtpZihhLnR5cGUubmFtZT09PSJoYXJkQnJlYWsiKXJldHVybiEwO2lmKGEuaXNUZXh0KXJldHVybi9eXHMqJC9tLnRlc3QoKHI9YS50ZXh0KSE9PW51bGwmJnIhPT12b2lkIDA/cjoiIil9aWYoYS5pc1RleHQpcmV0dXJuIWEudGV4dDtpZihhLmlzQXRvbXx8YS5pc0xlYWYpcmV0dXJuITE7aWYoYS5jb250ZW50LmNoaWxkQ291bnQ9PT0wKXJldHVybiEwO2lmKGUpe2xldCBpPSEwO3JldHVybiBhLmNvbnRlbnQuZm9yRWFjaChvPT57aSE9PSExJiYobVcobyx7aWdub3JlV2hpdGVzcGFjZTp0LGNoZWNrQ2hpbGRyZW46ZX0pfHwoaT0hMSkpfSksaX1yZXR1cm4hMX1mdW5jdGlvbiBMcmUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBrdH1mdW5jdGlvbiB1MWEoYSxlLHQpe2xldCBpPWEuc3RhdGUuZG9jLmNvbnRlbnQuc2l6ZSxvPU8xKGUsMCxpKSxuPU8xKHQsMCxpKSxsPWEuY29vcmRzQXRQb3MobyksZD1hLmNvb3Jkc0F0UG9zKG4sLTEpLGM9TWF0aC5taW4obC50b3AsZC50b3ApLHA9TWF0aC5tYXgobC5ib3R0b20sZC5ib3R0b20pLHU9TWF0aC5taW4obC5sZWZ0LGQubGVmdCksbT1NYXRoLm1heChsLnJpZ2h0LGQucmlnaHQpLHY9bS11LHg9cC1jLHk9e3RvcDpjLGJvdHRvbTpwLGxlZnQ6dSxyaWdodDptLHdpZHRoOnYsaGVpZ2h0OngseDp1LHk6Y307cmV0dXJuey4uLnksdG9KU09OOnMoKCk9PnksInRvSlNPTiIpfX1mdW5jdGlvbiBZbmEoe2pzb246YSx2YWxpZE1hcmtzOmUsdmFsaWROb2Rlczp0LG9wdGlvbnM6cixyZXdyaXR0ZW5Db250ZW50Omk9W119KXtyZXR1cm4gYS5tYXJrcyYmQXJyYXkuaXNBcnJheShhLm1hcmtzKSYmKGEubWFya3M9YS5tYXJrcy5maWx0ZXIobz0+e2xldCBuPXR5cGVvZiBvPT0ic3RyaW5nIj9vOm8udHlwZTtyZXR1cm4gZS5oYXMobik/ITA6KGkucHVzaCh7b3JpZ2luYWw6SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvKSksdW5zdXBwb3J0ZWQ6bn0pLCExKX0pKSxhLmNvbnRlbnQmJkFycmF5LmlzQXJyYXkoYS5jb250ZW50KSYmKGEuY29udGVudD1hLmNvbnRlbnQubWFwKG89PlluYSh7anNvbjpvLHZhbGlkTWFya3M6ZSx2YWxpZE5vZGVzOnQsb3B0aW9uczpyLHJld3JpdHRlbkNvbnRlbnQ6aX0pLmpzb24pLmZpbHRlcihvPT5vIT1udWxsKSksYS50eXBlJiYhdC5oYXMoYS50eXBlKT8oaS5wdXNoKHtvcmlnaW5hbDpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGEpKSx1bnN1cHBvcnRlZDphLnR5cGV9KSxhLmNvbnRlbnQmJkFycmF5LmlzQXJyYXkoYS5jb250ZW50KSYmcj8uZmFsbGJhY2tUb1BhcmFncmFwaCE9PSExPyhhLnR5cGU9InBhcmFncmFwaCIse2pzb246YSxyZXdyaXR0ZW5Db250ZW50Oml9KTp7anNvbjpudWxsLHJld3JpdHRlbkNvbnRlbnQ6aX0pOntqc29uOmEscmV3cml0dGVuQ29udGVudDppfX1mdW5jdGlvbiBwMWEoYSxlLHQpe3JldHVybiBZbmEoe2pzb246YSx2YWxpZE5vZGVzOm5ldyBTZXQoT2JqZWN0LmtleXMoZS5ub2RlcykpLHZhbGlkTWFya3M6bmV3IFNldChPYmplY3Qua2V5cyhlLm1hcmtzKSksb3B0aW9uczp0fSl9ZnVuY3Rpb24gRUVhKGEsZSx0KXt2YXIgcjtsZXR7c2VsZWN0aW9uOml9PWUsbz1udWxsO2lmKGdyZShpKSYmKG89aS4kY3Vyc29yKSxvKXtsZXQgbD0ocj1hLnN0b3JlZE1hcmtzKSE9PW51bGwmJnIhPT12b2lkIDA/cjpvLm1hcmtzKCk7cmV0dXJuISF0LmlzSW5TZXQobCl8fCFsLnNvbWUoZD0+ZC50eXBlLmV4Y2x1ZGVzKHQpKX1sZXR7cmFuZ2VzOm59PWk7cmV0dXJuIG4uc29tZSgoeyRmcm9tOmwsJHRvOmR9KT0+e2xldCBjPWwuZGVwdGg9PT0wP2EuZG9jLmlubGluZUNvbnRlbnQmJmEuZG9jLnR5cGUuYWxsb3dzTWFya1R5cGUodCk6ITE7cmV0dXJuIGEuZG9jLm5vZGVzQmV0d2VlbihsLnBvcyxkLnBvcywocCx1LG0pPT57aWYoYylyZXR1cm4hMTtpZihwLmlzSW5saW5lKXtsZXQgdj0hbXx8bS50eXBlLmFsbG93c01hcmtUeXBlKHQpLHg9ISF0LmlzSW5TZXQocC5tYXJrcyl8fCFwLm1hcmtzLnNvbWUoYj0+Yi50eXBlLmV4Y2x1ZGVzKHQpKTtjPXYmJnh9cmV0dXJuIWN9KSxjfSl9ZnVuY3Rpb24gS25hKGEsZSl7bGV0IHQ9YS5zdG9yZWRNYXJrc3x8YS5zZWxlY3Rpb24uJHRvLnBhcmVudE9mZnNldCYmYS5zZWxlY3Rpb24uJGZyb20ubWFya3MoKTtpZih0KXtsZXQgcj10LmZpbHRlcihpPT5lPy5pbmNsdWRlcyhpLnR5cGUubmFtZSkpO2EudHIuZW5zdXJlTWFya3Mocil9fWZ1bmN0aW9uIEZaZShhLGUsdCl7bGV0IHI9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihgc3R5bGVbZGF0YS10aXB0YXAtc3R5bGUke3Q/YC0ke3R9YDoiIn1dYCk7aWYociE9PW51bGwpcmV0dXJuIHI7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtyZXR1cm4gZSYmaS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixlKSxpLnNldEF0dHJpYnV0ZShgZGF0YS10aXB0YXAtc3R5bGUke3Q/YC0ke3R9YDoiIn1gLCIiKSxpLmlubmVySFRNTD1hLGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQoaSksaX1mdW5jdGlvbiBCbihhKXtyZXR1cm4gbmV3IHdjKHtmaW5kOmEuZmluZCxoYW5kbGVyOnMoKHtzdGF0ZTplLHJhbmdlOnQsbWF0Y2g6cn0pPT57bGV0IGk9anQoYS5nZXRBdHRyaWJ1dGVzLHZvaWQgMCxyKTtpZihpPT09ITF8fGk9PT1udWxsKXJldHVybiBudWxsO2xldHt0cjpvfT1lLG49cltyLmxlbmd0aC0xXSxsPXJbMF07aWYobil7bGV0IGQ9bC5zZWFyY2goL1xTLyksYz10LmZyb20rbC5pbmRleE9mKG4pLHA9YytuLmxlbmd0aDtpZihSbSh0LmZyb20sdC50byxlLmRvYykuZmlsdGVyKHY9PnYubWFyay50eXBlLmV4Y2x1ZGVkLmZpbmQoYj0+Yj09PWEudHlwZSYmYiE9PXYubWFyay50eXBlKSkuZmlsdGVyKHY9PnYudG8+YykubGVuZ3RoKXJldHVybiBudWxsO3A8dC50byYmby5kZWxldGUocCx0LnRvKSxjPnQuZnJvbSYmby5kZWxldGUodC5mcm9tK2QsYyk7bGV0IG09dC5mcm9tK2Qrbi5sZW5ndGg7by5hZGRNYXJrKHQuZnJvbStkLG0sYS50eXBlLmNyZWF0ZShpfHx7fSkpLG8ucmVtb3ZlU3RvcmVkTWFyayhhLnR5cGUpfX0sImhhbmRsZXIiKX0pfWZ1bmN0aW9uICRyZShhKXtyZXR1cm4gbmV3IHdjKHtmaW5kOmEuZmluZCxoYW5kbGVyOnMoKHtzdGF0ZTplLHJhbmdlOnQsbWF0Y2g6cn0pPT57bGV0IGk9anQoYS5nZXRBdHRyaWJ1dGVzLHZvaWQgMCxyKXx8e30se3RyOm99PWUsbj10LmZyb20sbD10LnRvLGQ9YS50eXBlLmNyZWF0ZShpKTtpZihyWzFdKXtsZXQgYz1yWzBdLmxhc3RJbmRleE9mKHJbMV0pLHA9bitjO3A+bD9wPWw6bD1wK3JbMV0ubGVuZ3RoO2xldCB1PXJbMF1bclswXS5sZW5ndGgtMV07by5pbnNlcnRUZXh0KHUsbityWzBdLmxlbmd0aC0xKSxvLnJlcGxhY2VXaXRoKHAsbCxkKX1lbHNlIGlmKHJbMF0pe2xldCBjPWEudHlwZS5pc0lubGluZT9uOm4tMTtvLmluc2VydChjLGEudHlwZS5jcmVhdGUoaSkpLmRlbGV0ZShvLm1hcHBpbmcubWFwKG4pLG8ubWFwcGluZy5tYXAobCkpfW8uc2Nyb2xsSW50b1ZpZXcoKX0sImhhbmRsZXIiKX0pfWZ1bmN0aW9uIHI1KGEpe3JldHVybiBuZXcgd2Moe2ZpbmQ6YS5maW5kLGhhbmRsZXI6cygoe3N0YXRlOmUscmFuZ2U6dCxtYXRjaDpyfSk9PntsZXQgaT1lLmRvYy5yZXNvbHZlKHQuZnJvbSksbz1qdChhLmdldEF0dHJpYnV0ZXMsdm9pZCAwLHIpfHx7fTtpZighaS5ub2RlKC0xKS5jYW5SZXBsYWNlV2l0aChpLmluZGV4KC0xKSxpLmluZGV4QWZ0ZXIoLTEpLGEudHlwZSkpcmV0dXJuIG51bGw7ZS50ci5kZWxldGUodC5mcm9tLHQudG8pLnNldEJsb2NrVHlwZSh0LmZyb20sdC5mcm9tLGEudHlwZSxvKX0sImhhbmRsZXIiKX0pfWZ1bmN0aW9uIG1yKGEpe3JldHVybiBuZXcgd2Moe2ZpbmQ6YS5maW5kLGhhbmRsZXI6cygoe3N0YXRlOmUscmFuZ2U6dCxtYXRjaDpyfSk9PntsZXQgaT1hLnJlcGxhY2Usbz10LmZyb20sbj10LnRvO2lmKHJbMV0pe2xldCBsPXJbMF0ubGFzdEluZGV4T2YoclsxXSk7aSs9clswXS5zbGljZShsK3JbMV0ubGVuZ3RoKSxvKz1sO2xldCBkPW8tbjtkPjAmJihpPXJbMF0uc2xpY2UobC1kLGwpK2ksbz1uKX1lLnRyLmluc2VydFRleHQoaSxvLG4pfSwiaGFuZGxlciIpfSl9ZnVuY3Rpb24gSjIoYSl7cmV0dXJuIG5ldyB3Yyh7ZmluZDphLmZpbmQsaGFuZGxlcjpzKCh7c3RhdGU6ZSxyYW5nZTp0LG1hdGNoOnIsY2hhaW46aX0pPT57bGV0IG89anQoYS5nZXRBdHRyaWJ1dGVzLHZvaWQgMCxyKXx8e30sbj1lLnRyLmRlbGV0ZSh0LmZyb20sdC50byksZD1uLmRvYy5yZXNvbHZlKHQuZnJvbSkuYmxvY2tSYW5nZSgpLGM9ZCYmQmYoZCxhLnR5cGUsbyk7aWYoIWMpcmV0dXJuIG51bGw7aWYobi53cmFwKGQsYyksYS5rZWVwTWFya3MmJmEuZWRpdG9yKXtsZXR7c2VsZWN0aW9uOnUsc3RvcmVkTWFya3M6bX09ZSx7c3BsaXR0YWJsZU1hcmtzOnZ9PWEuZWRpdG9yLmV4dGVuc2lvbk1hbmFnZXIseD1tfHx1LiR0by5wYXJlbnRPZmZzZXQmJnUuJGZyb20ubWFya3MoKTtpZih4KXtsZXQgYj14LmZpbHRlcihnPT52LmluY2x1ZGVzKGcudHlwZS5uYW1lKSk7bi5lbnN1cmVNYXJrcyhiKX19aWYoYS5rZWVwQXR0cmlidXRlcyl7bGV0IHU9YS50eXBlLm5hbWU9PT0iYnVsbGV0TGlzdCJ8fGEudHlwZS5uYW1lPT09Im9yZGVyZWRMaXN0Ij8ibGlzdEl0ZW0iOiJ0YXNrTGlzdCI7aSgpLnVwZGF0ZUF0dHJpYnV0ZXModSxvKS5ydW4oKX1sZXQgcD1uLmRvYy5yZXNvbHZlKHQuZnJvbS0xKS5ub2RlQmVmb3JlO3AmJnAudHlwZT09PWEudHlwZSYmc24obi5kb2MsdC5mcm9tLTEpJiYoIWEuam9pblByZWRpY2F0ZXx8YS5qb2luUHJlZGljYXRlKHIscCkpJiZuLmpvaW4odC5mcm9tLTEpfSwiaGFuZGxlciIpfSl9ZnVuY3Rpb24gT28oYSl7cmV0dXJuIG5ldyBRZih7ZmluZDphLmZpbmQsaGFuZGxlcjpzKCh7c3RhdGU6ZSxyYW5nZTp0LG1hdGNoOnIscGFzdGVFdmVudDppfSk9PntsZXQgbz1qdChhLmdldEF0dHJpYnV0ZXMsdm9pZCAwLHIsaSk7aWYobz09PSExfHxvPT09bnVsbClyZXR1cm4gbnVsbDtsZXR7dHI6bn09ZSxsPXJbci5sZW5ndGgtMV0sZD1yWzBdLGM9dC50bztpZihsKXtsZXQgcD1kLnNlYXJjaCgvXFMvKSx1PXQuZnJvbStkLmluZGV4T2YobCksbT11K2wubGVuZ3RoO2lmKFJtKHQuZnJvbSx0LnRvLGUuZG9jKS5maWx0ZXIoeD0+eC5tYXJrLnR5cGUuZXhjbHVkZWQuZmluZChnPT5nPT09YS50eXBlJiZnIT09eC5tYXJrLnR5cGUpKS5maWx0ZXIoeD0+eC50bz51KS5sZW5ndGgpcmV0dXJuIG51bGw7bTx0LnRvJiZuLmRlbGV0ZShtLHQudG8pLHU+dC5mcm9tJiZuLmRlbGV0ZSh0LmZyb20rcCx1KSxjPXQuZnJvbStwK2wubGVuZ3RoLG4uYWRkTWFyayh0LmZyb20rcCxjLGEudHlwZS5jcmVhdGUob3x8e30pKSxuLnJlbW92ZVN0b3JlZE1hcmsoYS50eXBlKX19LCJoYW5kbGVyIil9KX1mdW5jdGlvbiBEcmUoYSxlKXtsZXR7c2VsZWN0aW9uOnR9PWEseyRmcm9tOnJ9PXQ7aWYodCBpbnN0YW5jZW9mIGt0KXtsZXQgbz1yLmluZGV4KCk7cmV0dXJuIHIucGFyZW50LmNhblJlcGxhY2VXaXRoKG8sbysxLGUpfWxldCBpPXIuZGVwdGg7Zm9yKDtpPj0wOyl7bGV0IG89ci5pbmRleChpKTtpZihyLm5vZGUoaSkuY29udGVudE1hdGNoQXQobykubWF0Y2hUeXBlKGUpKXJldHVybiEwO2ktPTF9cmV0dXJuITF9ZnVuY3Rpb24gaDFhKGEpe3JldHVybiBhLnJlcGxhY2UoL1stL1xcXiQqKz8uKCl8W1xde31dL2csIlxcJCYiKX1mdW5jdGlvbiBtMWEoYSl7cmV0dXJuIHR5cGVvZiBhPT0ic3RyaW5nIn1mdW5jdGlvbiBnMWEoYSl7cmV0dXJuIG5ldyBRZih7ZmluZDphLmZpbmQsaGFuZGxlcih7bWF0Y2g6ZSxjaGFpbjp0LHJhbmdlOnIscGFzdGVFdmVudDppfSl7bGV0IG89anQoYS5nZXRBdHRyaWJ1dGVzLHZvaWQgMCxlLGkpLG49anQoYS5nZXRDb250ZW50LHZvaWQgMCxvKTtpZihvPT09ITF8fG89PT1udWxsKXJldHVybiBudWxsO2xldCBsPXt0eXBlOmEudHlwZS5uYW1lLGF0dHJzOm99O24mJihsLmNvbnRlbnQ9biksZS5pbnB1dCYmdCgpLmRlbGV0ZVJhbmdlKHIpLmluc2VydENvbnRlbnRBdChyLmZyb20sbCl9fSl9ZnVuY3Rpb24gYjFhKGEpe3JldHVybiBuZXcgUWYoe2ZpbmQ6YS5maW5kLGhhbmRsZXI6cygoe3N0YXRlOmUscmFuZ2U6dCxtYXRjaDpyfSk9PntsZXQgaT1hLnJlcGxhY2Usbz10LmZyb20sbj10LnRvO2lmKHJbMV0pe2xldCBsPXJbMF0ubGFzdEluZGV4T2YoclsxXSk7aSs9clswXS5zbGljZShsK3JbMV0ubGVuZ3RoKSxvKz1sO2xldCBkPW8tbjtkPjAmJihpPXJbMF0uc2xpY2UobC1kLGwpK2ksbz1uKX1lLnRyLmluc2VydFRleHQoaSxvLG4pfSwiaGFuZGxlciIpfSl9dmFyIHc0LHlaZSxDWmUsd2MsQlBhLG5pLFFmLHFQYSxscmUsalBhLGNyZSx3cixqbmEsVVBhLFdQYSxHUGEsWVBhLEtQYSxaUGEsWFBhLFFQYSxKUGEsZUVhLHRFYSxhRWEsckVhLHNFYSxpRWEsb0VhLG5FYSxHbmEsbEVhLGNFYSxkRWEsdUVhLHBFYSxmRWEsaEVhLG1FYSxnRWEsYkVhLHhFYSx5RWEsd0VhLE1FYSxrRWEsU0VhLHpFYSxDRWEsX0VhLFRFYSxMRWEsJEVhLERFYSxBRWEsbDFhLGMxYSxkMWEsSUVhLE5FYSxSRWEsT0VhLEZFYSxCRWEsSEVhLHFFYSxNWmUsa1plLFZFYSxqRWEsVUVhLFdFYSxHRWEsWUVhLEtFYSxaRWEsWEVhLFFFYSxKRWEsWm5hLFhuYSxRbmEsSm5hLGUxYSx0MWEsYTFhLHIxYSxmMWEsZ1csZUlhLGtyZSxvcixTcmUsenJlLGdyPWYoKCk9PntaVSgpO3luYSgpO2tuYSgpO1NuYSgpO3puYSgpO0luYSgpO3FuYSgpO3MoVG0sImNyZWF0ZUNoYWluYWJsZVN0YXRlIik7dzQ9Y2xhc3N7c3RhdGlje3ModGhpcywiQ29tbWFuZE1hbmFnZXIiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmVkaXRvcj1lLmVkaXRvcix0aGlzLnJhd0NvbW1hbmRzPXRoaXMuZWRpdG9yLmV4dGVuc2lvbk1hbmFnZXIuY29tbWFuZHMsdGhpcy5jdXN0b21TdGF0ZT1lLnN0YXRlfWdldCBoYXNDdXN0b21TdGF0ZSgpe3JldHVybiEhdGhpcy5jdXN0b21TdGF0ZX1nZXQgc3RhdGUoKXtyZXR1cm4gdGhpcy5jdXN0b21TdGF0ZXx8dGhpcy5lZGl0b3Iuc3RhdGV9Z2V0IGNvbW1hbmRzKCl7bGV0e3Jhd0NvbW1hbmRzOmUsZWRpdG9yOnQsc3RhdGU6cn09dGhpcyx7dmlldzppfT10LHt0cjpvfT1yLG49dGhpcy5idWlsZFByb3BzKG8pO3JldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoZSkubWFwKChbbCxkXSk9PltsLHMoKC4uLnApPT57bGV0IHU9ZCguLi5wKShuKTtyZXR1cm4hby5nZXRNZXRhKCJwcmV2ZW50RGlzcGF0Y2giKSYmIXRoaXMuaGFzQ3VzdG9tU3RhdGUmJmkuZGlzcGF0Y2gobyksdX0sIm1ldGhvZCIpXSkpfWdldCBjaGFpbigpe3JldHVybigpPT50aGlzLmNyZWF0ZUNoYWluKCl9Z2V0IGNhbigpe3JldHVybigpPT50aGlzLmNyZWF0ZUNhbigpfWNyZWF0ZUNoYWluKGUsdD0hMCl7bGV0e3Jhd0NvbW1hbmRzOnIsZWRpdG9yOmksc3RhdGU6b309dGhpcyx7dmlldzpufT1pLGw9W10sZD0hIWUsYz1lfHxvLnRyLHA9cygoKT0+KCFkJiZ0JiYhYy5nZXRNZXRhKCJwcmV2ZW50RGlzcGF0Y2giKSYmIXRoaXMuaGFzQ3VzdG9tU3RhdGUmJm4uZGlzcGF0Y2goYyksbC5ldmVyeShtPT5tPT09ITApKSwicnVuIiksdT17Li4uT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHIpLm1hcCgoW20sdl0pPT5bbSxzKCguLi5iKT0+e2xldCBnPXRoaXMuYnVpbGRQcm9wcyhjLHQpLHk9diguLi5iKShnKTtyZXR1cm4gbC5wdXNoKHkpLHV9LCJjaGFpbmVkQ29tbWFuZCIpXSkpLHJ1bjpwfTtyZXR1cm4gdX1jcmVhdGVDYW4oZSl7bGV0e3Jhd0NvbW1hbmRzOnQsc3RhdGU6cn09dGhpcyxpPSExLG89ZXx8ci50cixuPXRoaXMuYnVpbGRQcm9wcyhvLGkpO3JldHVybnsuLi5PYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXModCkubWFwKChbZCxjXSk9PltkLCguLi5wKT0+YyguLi5wKSh7Li4ubixkaXNwYXRjaDp2b2lkIDB9KV0pKSxjaGFpbjpzKCgpPT50aGlzLmNyZWF0ZUNoYWluKG8saSksImNoYWluIil9fWJ1aWxkUHJvcHMoZSx0PSEwKXtsZXR7cmF3Q29tbWFuZHM6cixlZGl0b3I6aSxzdGF0ZTpvfT10aGlzLHt2aWV3Om59PWksbD17dHI6ZSxlZGl0b3I6aSx2aWV3Om4sc3RhdGU6VG0oe3N0YXRlOm8sdHJhbnNhY3Rpb246ZX0pLGRpc3BhdGNoOnQ/KCk9Pnt9OnZvaWQgMCxjaGFpbjpzKCgpPT50aGlzLmNyZWF0ZUNoYWluKGUsdCksImNoYWluIiksY2FuOnMoKCk9PnRoaXMuY3JlYXRlQ2FuKGUpLCJjYW4iKSxnZXQgY29tbWFuZHMoKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHIpLm1hcCgoW2QsY10pPT5bZCwoLi4ucCk9PmMoLi4ucCkobCldKSl9fTtyZXR1cm4gbH19LHlaZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJFdmVudEVtaXR0ZXIiKX1jb25zdHJ1Y3Rvcigpe3RoaXMuY2FsbGJhY2tzPXt9fW9uKGUsdCl7cmV0dXJuIHRoaXMuY2FsbGJhY2tzW2VdfHwodGhpcy5jYWxsYmFja3NbZV09W10pLHRoaXMuY2FsbGJhY2tzW2VdLnB1c2godCksdGhpc31lbWl0KGUsLi4udCl7bGV0IHI9dGhpcy5jYWxsYmFja3NbZV07cmV0dXJuIHImJnIuZm9yRWFjaChpPT5pLmFwcGx5KHRoaXMsdCkpLHRoaXN9b2ZmKGUsdCl7bGV0IHI9dGhpcy5jYWxsYmFja3NbZV07cmV0dXJuIHImJih0P3RoaXMuY2FsbGJhY2tzW2VdPXIuZmlsdGVyKGk9PmkhPT10KTpkZWxldGUgdGhpcy5jYWxsYmFja3NbZV0pLHRoaXN9b25jZShlLHQpe2xldCByPXMoKC4uLmkpPT57dGhpcy5vZmYoZSxyKSx0LmFwcGx5KHRoaXMsaSl9LCJvbmNlRm4iKTtyZXR1cm4gdGhpcy5vbihlLHIpfXJlbW92ZUFsbExpc3RlbmVycygpe3RoaXMuY2FsbGJhY2tzPXt9fX07cyhwdCwiZ2V0RXh0ZW5zaW9uRmllbGQiKTtzKExtLCJzcGxpdEV4dGVuc2lvbnMiKTtzKGRyZSwiZ2V0QXR0cmlidXRlc0Zyb21FeHRlbnNpb25zIik7cyh4cywiZ2V0Tm9kZVR5cGUiKTtzKHphLCJtZXJnZUF0dHJpYnV0ZXMiKTtzKG5XLCJnZXRSZW5kZXJlZEF0dHJpYnV0ZXMiKTtzKHVyZSwiaXNGdW5jdGlvbiIpO3MoanQsImNhbGxPclJldHVybiIpO3MoU1plLCJpc0VtcHR5T2JqZWN0Iik7cyh6WmUsImZyb21TdHJpbmciKTtzKHByZSwiaW5qZWN0RXh0ZW5zaW9uQXR0cmlidXRlc1RvUGFyc2VSdWxlIik7cyhWbmEsImNsZWFuVXBTY2hlbWFJdGVtIik7cyhmcmUsImdldFNjaGVtYUJ5UmVzb2x2ZWRFeHRlbnNpb25zIik7cyhsVywiZ2V0U2NoZW1hVHlwZUJ5TmFtZSIpO3MoaHJlLCJpc0V4dGVuc2lvblJ1bGVzRW5hYmxlZCIpO3MoJG0sImdldEhUTUxGcm9tRnJhZ21lbnQiKTtDWmU9cygoYSxlPTUwMCk9PntsZXQgdD0iIixyPWEucGFyZW50T2Zmc2V0O3JldHVybiBhLnBhcmVudC5ub2Rlc0JldHdlZW4oTWF0aC5tYXgoMCxyLWUpLHIsKGksbyxuLGwpPT57dmFyIGQsYztsZXQgcD0oKGM9KGQ9aS50eXBlLnNwZWMpLnRvVGV4dCk9PT1udWxsfHxjPT09dm9pZCAwP3ZvaWQgMDpjLmNhbGwoZCx7bm9kZTppLHBvczpvLHBhcmVudDpuLGluZGV4Omx9KSl8fGkudGV4dENvbnRlbnR8fCIlbGVhZiUiO3QrPWkuaXNBdG9tJiYhaS5pc1RleHQ/cDpwLnNsaWNlKDAsTWF0aC5tYXgoMCxyLW8pKX0pLHR9LCJnZXRUZXh0Q29udGVudEZyb21Ob2RlcyIpO3MoY1csImlzUmVnRXhwIik7d2M9Y2xhc3N7c3RhdGlje3ModGhpcywiSW5wdXRSdWxlIil9Y29uc3RydWN0b3IoZSl7dGhpcy5maW5kPWUuZmluZCx0aGlzLmhhbmRsZXI9ZS5oYW5kbGVyfX0sQlBhPXMoKGEsZSk9PntpZihjVyhlKSlyZXR1cm4gZS5leGVjKGEpO2xldCB0PWUoYSk7aWYoIXQpcmV0dXJuIG51bGw7bGV0IHI9W3QudGV4dF07cmV0dXJuIHIuaW5kZXg9dC5pbmRleCxyLmlucHV0PWEsci5kYXRhPXQuZGF0YSx0LnJlcGxhY2VXaXRoJiYodC50ZXh0LmluY2x1ZGVzKHQucmVwbGFjZVdpdGgpfHxjb25zb2xlLndhcm4oJ1t0aXB0YXAgd2Fybl06ICJpbnB1dFJ1bGVNYXRjaC5yZXBsYWNlV2l0aCIgbXVzdCBiZSBwYXJ0IG9mICJpbnB1dFJ1bGVNYXRjaC50ZXh0Ii4nKSxyLnB1c2godC5yZXBsYWNlV2l0aCkpLHJ9LCJpbnB1dFJ1bGVNYXRjaGVySGFuZGxlciIpO3MobnJlLCJydW4kMSIpO3MoX1plLCJpbnB1dFJ1bGVzUGx1Z2luIik7cyhIUGEsImdldFR5cGUiKTtzKERtLCJpc1BsYWluT2JqZWN0Iik7cyhBbSwibWVyZ2VEZWVwIik7bmk9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJNYXJrIil9Y29uc3RydWN0b3IoZT17fSl7dGhpcy50eXBlPSJtYXJrIix0aGlzLm5hbWU9Im1hcmsiLHRoaXMucGFyZW50PW51bGwsdGhpcy5jaGlsZD1udWxsLHRoaXMuY29uZmlnPXtuYW1lOnRoaXMubmFtZSxkZWZhdWx0T3B0aW9uczp7fX0sdGhpcy5jb25maWc9ey4uLnRoaXMuY29uZmlnLC4uLmV9LHRoaXMubmFtZT10aGlzLmNvbmZpZy5uYW1lLGUuZGVmYXVsdE9wdGlvbnMmJk9iamVjdC5rZXlzKGUuZGVmYXVsdE9wdGlvbnMpLmxlbmd0aD4wJiZjb25zb2xlLndhcm4oYFt0aXB0YXAgd2Fybl06IEJSRUFLSU5HIENIQU5HRTogImRlZmF1bHRPcHRpb25zIiBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlICJhZGRPcHRpb25zIiBpbnN0ZWFkLiBGb3VuZCBpbiBleHRlbnNpb246ICIke3RoaXMubmFtZX0iLmApLHRoaXMub3B0aW9ucz10aGlzLmNvbmZpZy5kZWZhdWx0T3B0aW9ucyx0aGlzLmNvbmZpZy5hZGRPcHRpb25zJiYodGhpcy5vcHRpb25zPWp0KHB0KHRoaXMsImFkZE9wdGlvbnMiLHtuYW1lOnRoaXMubmFtZX0pKSksdGhpcy5zdG9yYWdlPWp0KHB0KHRoaXMsImFkZFN0b3JhZ2UiLHtuYW1lOnRoaXMubmFtZSxvcHRpb25zOnRoaXMub3B0aW9uc30pKXx8e319c3RhdGljIGNyZWF0ZShlPXt9KXtyZXR1cm4gbmV3IGEoZSl9Y29uZmlndXJlKGU9e30pe2xldCB0PXRoaXMuZXh0ZW5kKHsuLi50aGlzLmNvbmZpZyxhZGRPcHRpb25zOnMoKCk9PkFtKHRoaXMub3B0aW9ucyxlKSwiYWRkT3B0aW9ucyIpfSk7cmV0dXJuIHQubmFtZT10aGlzLm5hbWUsdC5wYXJlbnQ9dGhpcy5wYXJlbnQsdH1leHRlbmQoZT17fSl7bGV0IHQ9bmV3IGEoZSk7cmV0dXJuIHQucGFyZW50PXRoaXMsdGhpcy5jaGlsZD10LHQubmFtZT1lLm5hbWU/ZS5uYW1lOnQucGFyZW50Lm5hbWUsZS5kZWZhdWx0T3B0aW9ucyYmT2JqZWN0LmtleXMoZS5kZWZhdWx0T3B0aW9ucykubGVuZ3RoPjAmJmNvbnNvbGUud2FybihgW3RpcHRhcCB3YXJuXTogQlJFQUtJTkcgQ0hBTkdFOiAiZGVmYXVsdE9wdGlvbnMiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgImFkZE9wdGlvbnMiIGluc3RlYWQuIEZvdW5kIGluIGV4dGVuc2lvbjogIiR7dC5uYW1lfSIuYCksdC5vcHRpb25zPWp0KHB0KHQsImFkZE9wdGlvbnMiLHtuYW1lOnQubmFtZX0pKSx0LnN0b3JhZ2U9anQocHQodCwiYWRkU3RvcmFnZSIse25hbWU6dC5uYW1lLG9wdGlvbnM6dC5vcHRpb25zfSkpLHR9c3RhdGljIGhhbmRsZUV4aXQoe2VkaXRvcjplLG1hcms6dH0pe2xldHt0cjpyfT1lLnN0YXRlLGk9ZS5zdGF0ZS5zZWxlY3Rpb24uJGZyb207aWYoaS5wb3M9PT1pLmVuZCgpKXtsZXQgbj1pLm1hcmtzKCk7aWYoISEhbi5maW5kKGM9PmM/LnR5cGUubmFtZT09PXQubmFtZSkpcmV0dXJuITE7bGV0IGQ9bi5maW5kKGM9PmM/LnR5cGUubmFtZT09PXQubmFtZSk7cmV0dXJuIGQmJnIucmVtb3ZlU3RvcmVkTWFyayhkKSxyLmluc2VydFRleHQoIiAiLGkucG9zKSxlLnZpZXcuZGlzcGF0Y2gociksITB9cmV0dXJuITF9fTtzKFRaZSwiaXNOdW1iZXIiKTtRZj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJQYXN0ZVJ1bGUiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmZpbmQ9ZS5maW5kLHRoaXMuaGFuZGxlcj1lLmhhbmRsZXJ9fSxxUGE9cygoYSxlLHQpPT57aWYoY1coZSkpcmV0dXJuWy4uLmEubWF0Y2hBbGwoZSldO2xldCByPWUoYSx0KTtyZXR1cm4gcj9yLm1hcChpPT57bGV0IG89W2kudGV4dF07cmV0dXJuIG8uaW5kZXg9aS5pbmRleCxvLmlucHV0PWEsby5kYXRhPWkuZGF0YSxpLnJlcGxhY2VXaXRoJiYoaS50ZXh0LmluY2x1ZGVzKGkucmVwbGFjZVdpdGgpfHxjb25zb2xlLndhcm4oJ1t0aXB0YXAgd2Fybl06ICJwYXN0ZVJ1bGVNYXRjaC5yZXBsYWNlV2l0aCIgbXVzdCBiZSBwYXJ0IG9mICJwYXN0ZVJ1bGVNYXRjaC50ZXh0Ii4nKSxvLnB1c2goaS5yZXBsYWNlV2l0aCkpLG99KTpbXX0sInBhc3RlUnVsZU1hdGNoZXJIYW5kbGVyIik7cyhWUGEsInJ1biIpO2xyZT1udWxsLGpQYT1zKGE9Pnt2YXIgZTtsZXQgdD1uZXcgQ2xpcGJvYXJkRXZlbnQoInBhc3RlIix7Y2xpcGJvYXJkRGF0YTpuZXcgRGF0YVRyYW5zZmVyfSk7cmV0dXJuKGU9dC5jbGlwYm9hcmREYXRhKT09PW51bGx8fGU9PT12b2lkIDB8fGUuc2V0RGF0YSgidGV4dC9odG1sIixhKSx0fSwiY3JlYXRlQ2xpcGJvYXJkUGFzdGVFdmVudCIpO3MoTFplLCJwYXN0ZVJ1bGVzUGx1Z2luIik7cygkWmUsImZpbmREdXBsaWNhdGVzIik7Y3JlPWNsYXNzIGF7c3RhdGlje3ModGhpcywiRXh0ZW5zaW9uTWFuYWdlciIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5zcGxpdHRhYmxlTWFya3M9W10sdGhpcy5lZGl0b3I9dCx0aGlzLmV4dGVuc2lvbnM9YS5yZXNvbHZlKGUpLHRoaXMuc2NoZW1hPWZyZSh0aGlzLmV4dGVuc2lvbnMsdCksdGhpcy5zZXR1cEV4dGVuc2lvbnMoKX1zdGF0aWMgcmVzb2x2ZShlKXtsZXQgdD1hLnNvcnQoYS5mbGF0dGVuKGUpKSxyPSRaZSh0Lm1hcChpPT5pLm5hbWUpKTtyZXR1cm4gci5sZW5ndGgmJmNvbnNvbGUud2FybihgW3RpcHRhcCB3YXJuXTogRHVwbGljYXRlIGV4dGVuc2lvbiBuYW1lcyBmb3VuZDogWyR7ci5tYXAoaT0+YCcke2l9J2ApLmpvaW4oIiwgIil9XS4gVGhpcyBjYW4gbGVhZCB0byBpc3N1ZXMuYCksdH1zdGF0aWMgZmxhdHRlbihlKXtyZXR1cm4gZS5tYXAodD0+e2xldCByPXtuYW1lOnQubmFtZSxvcHRpb25zOnQub3B0aW9ucyxzdG9yYWdlOnQuc3RvcmFnZX0saT1wdCh0LCJhZGRFeHRlbnNpb25zIixyKTtyZXR1cm4gaT9bdCwuLi50aGlzLmZsYXR0ZW4oaSgpKV06dH0pLmZsYXQoMTApfXN0YXRpYyBzb3J0KGUpe3JldHVybiBlLnNvcnQoKHIsaSk9PntsZXQgbz1wdChyLCJwcmlvcml0eSIpfHwxMDAsbj1wdChpLCJwcmlvcml0eSIpfHwxMDA7cmV0dXJuIG8+bj8tMTpvPG4/MTowfSl9Z2V0IGNvbW1hbmRzKCl7cmV0dXJuIHRoaXMuZXh0ZW5zaW9ucy5yZWR1Y2UoKGUsdCk9PntsZXQgcj17bmFtZTp0Lm5hbWUsb3B0aW9uczp0Lm9wdGlvbnMsc3RvcmFnZTp0LnN0b3JhZ2UsZWRpdG9yOnRoaXMuZWRpdG9yLHR5cGU6bFcodC5uYW1lLHRoaXMuc2NoZW1hKX0saT1wdCh0LCJhZGRDb21tYW5kcyIscik7cmV0dXJuIGk/ey4uLmUsLi4uaSgpfTplfSx7fSl9Z2V0IHBsdWdpbnMoKXtsZXR7ZWRpdG9yOmV9PXRoaXMsdD1hLnNvcnQoWy4uLnRoaXMuZXh0ZW5zaW9uc10ucmV2ZXJzZSgpKSxyPVtdLGk9W10sbz10Lm1hcChuPT57bGV0IGw9e25hbWU6bi5uYW1lLG9wdGlvbnM6bi5vcHRpb25zLHN0b3JhZ2U6bi5zdG9yYWdlLGVkaXRvcjplLHR5cGU6bFcobi5uYW1lLHRoaXMuc2NoZW1hKX0sZD1bXSxjPXB0KG4sImFkZEtleWJvYXJkU2hvcnRjdXRzIixsKSxwPXt9O2lmKG4udHlwZT09PSJtYXJrIiYmcHQobiwiZXhpdGFibGUiLGwpJiYocC5BcnJvd1JpZ2h0PSgpPT5uaS5oYW5kbGVFeGl0KHtlZGl0b3I6ZSxtYXJrOm59KSksYyl7bGV0IGI9T2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGMoKSkubWFwKChbZyx5XSk9PltnLCgpPT55KHtlZGl0b3I6ZX0pXSkpO3A9ey4uLnAsLi4uYn19bGV0IHU9dFplKHApO2QucHVzaCh1KTtsZXQgbT1wdChuLCJhZGRJbnB1dFJ1bGVzIixsKTtocmUobixlLm9wdGlvbnMuZW5hYmxlSW5wdXRSdWxlcykmJm0mJnIucHVzaCguLi5tKCkpO2xldCB2PXB0KG4sImFkZFBhc3RlUnVsZXMiLGwpO2hyZShuLGUub3B0aW9ucy5lbmFibGVQYXN0ZVJ1bGVzKSYmdiYmaS5wdXNoKC4uLnYoKSk7bGV0IHg9cHQobiwiYWRkUHJvc2VNaXJyb3JQbHVnaW5zIixsKTtpZih4KXtsZXQgYj14KCk7ZC5wdXNoKC4uLmIpfXJldHVybiBkfSkuZmxhdCgpO3JldHVybltfWmUoe2VkaXRvcjplLHJ1bGVzOnJ9KSwuLi5MWmUoe2VkaXRvcjplLHJ1bGVzOml9KSwuLi5vXX1nZXQgYXR0cmlidXRlcygpe3JldHVybiBkcmUodGhpcy5leHRlbnNpb25zKX1nZXQgbm9kZVZpZXdzKCl7bGV0e2VkaXRvcjplfT10aGlzLHtub2RlRXh0ZW5zaW9uczp0fT1MbSh0aGlzLmV4dGVuc2lvbnMpO3JldHVybiBPYmplY3QuZnJvbUVudHJpZXModC5maWx0ZXIocj0+ISFwdChyLCJhZGROb2RlVmlldyIpKS5tYXAocj0+e2xldCBpPXRoaXMuYXR0cmlidXRlcy5maWx0ZXIoZD0+ZC50eXBlPT09ci5uYW1lKSxvPXtuYW1lOnIubmFtZSxvcHRpb25zOnIub3B0aW9ucyxzdG9yYWdlOnIuc3RvcmFnZSxlZGl0b3I6ZSx0eXBlOnhzKHIubmFtZSx0aGlzLnNjaGVtYSl9LG49cHQociwiYWRkTm9kZVZpZXciLG8pO2lmKCFuKXJldHVybltdO2xldCBsPXMoKGQsYyxwLHUsbSk9PntsZXQgdj1uVyhkLGkpO3JldHVybiBuKCkoe25vZGU6ZCx2aWV3OmMsZ2V0UG9zOnAsZGVjb3JhdGlvbnM6dSxpbm5lckRlY29yYXRpb25zOm0sZWRpdG9yOmUsZXh0ZW5zaW9uOnIsSFRNTEF0dHJpYnV0ZXM6dn0pfSwibm9kZXZpZXciKTtyZXR1cm5bci5uYW1lLGxdfSkpfXNldHVwRXh0ZW5zaW9ucygpe3RoaXMuZXh0ZW5zaW9ucy5mb3JFYWNoKGU9Pnt2YXIgdDt0aGlzLmVkaXRvci5leHRlbnNpb25TdG9yYWdlW2UubmFtZV09ZS5zdG9yYWdlO2xldCByPXtuYW1lOmUubmFtZSxvcHRpb25zOmUub3B0aW9ucyxzdG9yYWdlOmUuc3RvcmFnZSxlZGl0b3I6dGhpcy5lZGl0b3IsdHlwZTpsVyhlLm5hbWUsdGhpcy5zY2hlbWEpfTtlLnR5cGU9PT0ibWFyayImJighKCh0PWp0KHB0KGUsImtlZXBPblNwbGl0IixyKSkpIT09bnVsbCYmdCE9PXZvaWQgMCl8fHQpJiZ0aGlzLnNwbGl0dGFibGVNYXJrcy5wdXNoKGUubmFtZSk7bGV0IGk9cHQoZSwib25CZWZvcmVDcmVhdGUiLHIpLG89cHQoZSwib25DcmVhdGUiLHIpLG49cHQoZSwib25VcGRhdGUiLHIpLGw9cHQoZSwib25TZWxlY3Rpb25VcGRhdGUiLHIpLGQ9cHQoZSwib25UcmFuc2FjdGlvbiIsciksYz1wdChlLCJvbkZvY3VzIixyKSxwPXB0KGUsIm9uQmx1ciIsciksdT1wdChlLCJvbkRlc3Ryb3kiLHIpO2kmJnRoaXMuZWRpdG9yLm9uKCJiZWZvcmVDcmVhdGUiLGkpLG8mJnRoaXMuZWRpdG9yLm9uKCJjcmVhdGUiLG8pLG4mJnRoaXMuZWRpdG9yLm9uKCJ1cGRhdGUiLG4pLGwmJnRoaXMuZWRpdG9yLm9uKCJzZWxlY3Rpb25VcGRhdGUiLGwpLGQmJnRoaXMuZWRpdG9yLm9uKCJ0cmFuc2FjdGlvbiIsZCksYyYmdGhpcy5lZGl0b3Iub24oImZvY3VzIixjKSxwJiZ0aGlzLmVkaXRvci5vbigiYmx1ciIscCksdSYmdGhpcy5lZGl0b3Iub24oImRlc3Ryb3kiLHUpfSl9fSx3cj1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkV4dGVuc2lvbiIpfWNvbnN0cnVjdG9yKGU9e30pe3RoaXMudHlwZT0iZXh0ZW5zaW9uIix0aGlzLm5hbWU9ImV4dGVuc2lvbiIsdGhpcy5wYXJlbnQ9bnVsbCx0aGlzLmNoaWxkPW51bGwsdGhpcy5jb25maWc9e25hbWU6dGhpcy5uYW1lLGRlZmF1bHRPcHRpb25zOnt9fSx0aGlzLmNvbmZpZz17Li4udGhpcy5jb25maWcsLi4uZX0sdGhpcy5uYW1lPXRoaXMuY29uZmlnLm5hbWUsZS5kZWZhdWx0T3B0aW9ucyYmT2JqZWN0LmtleXMoZS5kZWZhdWx0T3B0aW9ucykubGVuZ3RoPjAmJmNvbnNvbGUud2FybihgW3RpcHRhcCB3YXJuXTogQlJFQUtJTkcgQ0hBTkdFOiAiZGVmYXVsdE9wdGlvbnMiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgImFkZE9wdGlvbnMiIGluc3RlYWQuIEZvdW5kIGluIGV4dGVuc2lvbjogIiR7dGhpcy5uYW1lfSIuYCksdGhpcy5vcHRpb25zPXRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLHRoaXMuY29uZmlnLmFkZE9wdGlvbnMmJih0aGlzLm9wdGlvbnM9anQocHQodGhpcywiYWRkT3B0aW9ucyIse25hbWU6dGhpcy5uYW1lfSkpKSx0aGlzLnN0b3JhZ2U9anQocHQodGhpcywiYWRkU3RvcmFnZSIse25hbWU6dGhpcy5uYW1lLG9wdGlvbnM6dGhpcy5vcHRpb25zfSkpfHx7fX1zdGF0aWMgY3JlYXRlKGU9e30pe3JldHVybiBuZXcgYShlKX1jb25maWd1cmUoZT17fSl7bGV0IHQ9dGhpcy5leHRlbmQoey4uLnRoaXMuY29uZmlnLGFkZE9wdGlvbnM6cygoKT0+QW0odGhpcy5vcHRpb25zLGUpLCJhZGRPcHRpb25zIil9KTtyZXR1cm4gdC5uYW1lPXRoaXMubmFtZSx0LnBhcmVudD10aGlzLnBhcmVudCx0fWV4dGVuZChlPXt9KXtsZXQgdD1uZXcgYSh7Li4udGhpcy5jb25maWcsLi4uZX0pO3JldHVybiB0LnBhcmVudD10aGlzLHRoaXMuY2hpbGQ9dCx0Lm5hbWU9ZS5uYW1lP2UubmFtZTp0LnBhcmVudC5uYW1lLGUuZGVmYXVsdE9wdGlvbnMmJk9iamVjdC5rZXlzKGUuZGVmYXVsdE9wdGlvbnMpLmxlbmd0aD4wJiZjb25zb2xlLndhcm4oYFt0aXB0YXAgd2Fybl06IEJSRUFLSU5HIENIQU5HRTogImRlZmF1bHRPcHRpb25zIiBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlICJhZGRPcHRpb25zIiBpbnN0ZWFkLiBGb3VuZCBpbiBleHRlbnNpb246ICIke3QubmFtZX0iLmApLHQub3B0aW9ucz1qdChwdCh0LCJhZGRPcHRpb25zIix7bmFtZTp0Lm5hbWV9KSksdC5zdG9yYWdlPWp0KHB0KHQsImFkZFN0b3JhZ2UiLHtuYW1lOnQubmFtZSxvcHRpb25zOnQub3B0aW9uc30pKSx0fX07cyhtcmUsImdldFRleHRCZXR3ZWVuIik7cyhkVywiZ2V0VGV4dFNlcmlhbGl6ZXJzRnJvbVNjaGVtYSIpO2puYT13ci5jcmVhdGUoe25hbWU6ImNsaXBib2FyZFRleHRTZXJpYWxpemVyIixhZGRPcHRpb25zKCl7cmV0dXJue2Jsb2NrU2VwYXJhdG9yOnZvaWQgMH19LGFkZFByb3NlTWlycm9yUGx1Z2lucygpe3JldHVybltuZXcgYXIoe2tleTpuZXcgYnMoImNsaXBib2FyZFRleHRTZXJpYWxpemVyIikscHJvcHM6e2NsaXBib2FyZFRleHRTZXJpYWxpemVyOnMoKCk9PntsZXR7ZWRpdG9yOmF9PXRoaXMse3N0YXRlOmUsc2NoZW1hOnR9PWEse2RvYzpyLHNlbGVjdGlvbjppfT1lLHtyYW5nZXM6b309aSxuPU1hdGgubWluKC4uLm8ubWFwKHA9PnAuJGZyb20ucG9zKSksbD1NYXRoLm1heCguLi5vLm1hcChwPT5wLiR0by5wb3MpKSxkPWRXKHQpO3JldHVybiBtcmUocix7ZnJvbTpuLHRvOmx9LHsuLi50aGlzLm9wdGlvbnMuYmxvY2tTZXBhcmF0b3IhPT12b2lkIDA/e2Jsb2NrU2VwYXJhdG9yOnRoaXMub3B0aW9ucy5ibG9ja1NlcGFyYXRvcn06e30sdGV4dFNlcmlhbGl6ZXJzOmR9KX0sImNsaXBib2FyZFRleHRTZXJpYWxpemVyIil9fSldfX0pLFVQYT1zKCgpPT4oe2VkaXRvcjphLHZpZXc6ZX0pPT4ocmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dmFyIHQ7YS5pc0Rlc3Ryb3llZHx8KGUuZG9tLmJsdXIoKSwodD13aW5kb3c/LmdldFNlbGVjdGlvbigpKT09PW51bGx8fHQ9PT12b2lkIDB8fHQucmVtb3ZlQWxsUmFuZ2VzKCkpfSksITApLCJibHVyIiksV1BhPXMoKGE9ITEpPT4oe2NvbW1hbmRzOmV9KT0+ZS5zZXRDb250ZW50KCIiLGEpLCJjbGVhckNvbnRlbnQiKSxHUGE9cygoKT0+KHtzdGF0ZTphLHRyOmUsZGlzcGF0Y2g6dH0pPT57bGV0e3NlbGVjdGlvbjpyfT1lLHtyYW5nZXM6aX09cjtyZXR1cm4gdCYmaS5mb3JFYWNoKCh7JGZyb206bywkdG86bn0pPT57YS5kb2Mubm9kZXNCZXR3ZWVuKG8ucG9zLG4ucG9zLChsLGQpPT57aWYobC50eXBlLmlzVGV4dClyZXR1cm47bGV0e2RvYzpjLG1hcHBpbmc6cH09ZSx1PWMucmVzb2x2ZShwLm1hcChkKSksbT1jLnJlc29sdmUocC5tYXAoZCtsLm5vZGVTaXplKSksdj11LmJsb2NrUmFuZ2UobSk7aWYoIXYpcmV0dXJuO2xldCB4PVkyKHYpO2lmKGwudHlwZS5pc1RleHRibG9jayl7bGV0e2RlZmF1bHRUeXBlOmJ9PXUucGFyZW50LmNvbnRlbnRNYXRjaEF0KHUuaW5kZXgoKSk7ZS5zZXROb2RlTWFya3VwKHYuc3RhcnQsYil9KHh8fHg9PT0wKSYmZS5saWZ0KHYseCl9KX0pLCEwfSwiY2xlYXJOb2RlcyIpLFlQYT1zKGE9PmU9PmEoZSksImNvbW1hbmQiKSxLUGE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+YXJlKGEsZSksImNyZWF0ZVBhcmFncmFwaE5lYXIiKSxaUGE9cygoYSxlKT0+KHtlZGl0b3I6dCx0cjpyfSk9PntsZXR7c3RhdGU6aX09dCxvPWkuZG9jLnNsaWNlKGEuZnJvbSxhLnRvKTtyLmRlbGV0ZVJhbmdlKGEuZnJvbSxhLnRvKTtsZXQgbj1yLm1hcHBpbmcubWFwKGUpO3JldHVybiByLmluc2VydChuLG8uY29udGVudCksci5zZXRTZWxlY3Rpb24obmV3IE50KHIuZG9jLnJlc29sdmUoTWF0aC5tYXgobi0xLDApKSkpLCEwfSwiY3V0IiksWFBhPXMoKCk9Pih7dHI6YSxkaXNwYXRjaDplfSk9PntsZXR7c2VsZWN0aW9uOnR9PWEscj10LiRhbmNob3Iubm9kZSgpO2lmKHIuY29udGVudC5zaXplPjApcmV0dXJuITE7bGV0IGk9YS5zZWxlY3Rpb24uJGFuY2hvcjtmb3IobGV0IG89aS5kZXB0aDtvPjA7by09MSlpZihpLm5vZGUobykudHlwZT09PXIudHlwZSl7aWYoZSl7bGV0IGw9aS5iZWZvcmUobyksZD1pLmFmdGVyKG8pO2EuZGVsZXRlKGwsZCkuc2Nyb2xsSW50b1ZpZXcoKX1yZXR1cm4hMH1yZXR1cm4hMX0sImRlbGV0ZUN1cnJlbnROb2RlIiksUVBhPXMoYT0+KHt0cjplLHN0YXRlOnQsZGlzcGF0Y2g6cn0pPT57bGV0IGk9eHMoYSx0LnNjaGVtYSksbz1lLnNlbGVjdGlvbi4kYW5jaG9yO2ZvcihsZXQgbj1vLmRlcHRoO24+MDtuLT0xKWlmKG8ubm9kZShuKS50eXBlPT09aSl7aWYocil7bGV0IGQ9by5iZWZvcmUobiksYz1vLmFmdGVyKG4pO2UuZGVsZXRlKGQsYykuc2Nyb2xsSW50b1ZpZXcoKX1yZXR1cm4hMH1yZXR1cm4hMX0sImRlbGV0ZU5vZGUiKSxKUGE9cyhhPT4oe3RyOmUsZGlzcGF0Y2g6dH0pPT57bGV0e2Zyb206cix0bzppfT1hO3JldHVybiB0JiZlLmRlbGV0ZShyLGkpLCEwfSwiZGVsZXRlUmFuZ2UiKSxlRWE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+b1coYSxlKSwiZGVsZXRlU2VsZWN0aW9uIiksdEVhPXMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLmtleWJvYXJkU2hvcnRjdXQoIkVudGVyIiksImVudGVyIiksYUVhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PnRyZShhLGUpLCJleGl0Q29kZSIpO3MoUG0sIm9iamVjdEluY2x1ZGVzIik7cyhVbmEsImZpbmRNYXJrSW5TZXQiKTtzKFduYSwiaXNNYXJrSW5TZXQiKTtzKHVXLCJnZXRNYXJrUmFuZ2UiKTtzKFEyLCJnZXRNYXJrVHlwZSIpO3JFYT1zKChhLGU9e30pPT4oe3RyOnQsc3RhdGU6cixkaXNwYXRjaDppfSk9PntsZXQgbz1RMihhLHIuc2NoZW1hKSx7ZG9jOm4sc2VsZWN0aW9uOmx9PXQseyRmcm9tOmQsZnJvbTpjLHRvOnB9PWw7aWYoaSl7bGV0IHU9dVcoZCxvLGUpO2lmKHUmJnUuZnJvbTw9YyYmdS50bz49cCl7bGV0IG09TnQuY3JlYXRlKG4sdS5mcm9tLHUudG8pO3Quc2V0U2VsZWN0aW9uKG0pfX1yZXR1cm4hMH0sImV4dGVuZE1hcmtSYW5nZSIpLHNFYT1zKGE9PmU9PntsZXQgdD10eXBlb2YgYT09ImZ1bmN0aW9uIj9hKGUpOmE7Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKz0xKWlmKHRbcl0oZSkpcmV0dXJuITA7cmV0dXJuITF9LCJmaXJzdCIpO3MoZ3JlLCJpc1RleHRTZWxlY3Rpb24iKTtzKE8xLCJtaW5NYXgiKTtzKGJyZSwicmVzb2x2ZUZvY3VzUG9zaXRpb24iKTtzKHdaZSwiaXNBbmRyb2lkIik7cyhKZiwiaXNpT1MiKTtzKERaZSwiaXNTYWZhcmkiKTtpRWE9cygoYT1udWxsLGU9e30pPT4oe2VkaXRvcjp0LHZpZXc6cix0cjppLGRpc3BhdGNoOm99KT0+e2U9e3Njcm9sbEludG9WaWV3OiEwLC4uLmV9O2xldCBuPXMoKCk9PnsoSmYoKXx8d1plKCkpJiZyLmRvbS5mb2N1cygpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3QuaXNEZXN0cm95ZWR8fChyLmZvY3VzKCksRFplKCkmJiFKZigpJiYhd1plKCkmJnIuZG9tLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSkpfSl9LCJkZWxheWVkRm9jdXMiKTtpZihyLmhhc0ZvY3VzKCkmJmE9PT1udWxsfHxhPT09ITEpcmV0dXJuITA7aWYobyYmYT09PW51bGwmJiFncmUodC5zdGF0ZS5zZWxlY3Rpb24pKXJldHVybiBuKCksITA7bGV0IGw9YnJlKGkuZG9jLGEpfHx0LnN0YXRlLnNlbGVjdGlvbixkPXQuc3RhdGUuc2VsZWN0aW9uLmVxKGwpO3JldHVybiBvJiYoZHx8aS5zZXRTZWxlY3Rpb24obCksZCYmaS5zdG9yZWRNYXJrcyYmaS5zZXRTdG9yZWRNYXJrcyhpLnN0b3JlZE1hcmtzKSxuKCkpLCEwfSwiZm9jdXMiKSxvRWE9cygoYSxlKT0+dD0+YS5ldmVyeSgocixpKT0+ZShyLHsuLi50LGluZGV4Oml9KSksImZvckVhY2giKSxuRWE9cygoYSxlKT0+KHt0cjp0LGNvbW1hbmRzOnJ9KT0+ci5pbnNlcnRDb250ZW50QXQoe2Zyb206dC5zZWxlY3Rpb24uZnJvbSx0bzp0LnNlbGVjdGlvbi50b30sYSxlKSwiaW5zZXJ0Q29udGVudCIpLEduYT1zKGE9PntsZXQgZT1hLmNoaWxkTm9kZXM7Zm9yKGxldCB0PWUubGVuZ3RoLTE7dD49MDt0LT0xKXtsZXQgcj1lW3RdO3Iubm9kZVR5cGU9PT0zJiZyLm5vZGVWYWx1ZSYmL14oXG5cc1xzfFxuKSQvLnRlc3Qoci5ub2RlVmFsdWUpP2EucmVtb3ZlQ2hpbGQocik6ci5ub2RlVHlwZT09PTEmJkduYShyKX1yZXR1cm4gYX0sInJlbW92ZVdoaXRlc3BhY2VzIik7cyhlNSwiZWxlbWVudEZyb21TdHJpbmciKTtzKHQ1LCJjcmVhdGVOb2RlRnJvbUNvbnRlbnQiKTtzKEFaZSwic2VsZWN0aW9uVG9JbnNlcnRpb25FbmQiKTtsRWE9cyhhPT4hKCJ0eXBlImluIGEpLCJpc0ZyYWdtZW50IiksY0VhPXMoKGEsZSx0KT0+KHt0cjpyLGRpc3BhdGNoOmksZWRpdG9yOm99KT0+e3ZhciBuO2lmKGkpe3Q9e3BhcnNlT3B0aW9uczpvLm9wdGlvbnMucGFyc2VPcHRpb25zLHVwZGF0ZVNlbGVjdGlvbjohMCxhcHBseUlucHV0UnVsZXM6ITEsYXBwbHlQYXN0ZVJ1bGVzOiExLC4uLnR9O2xldCBsLGQ9cyhnPT57by5lbWl0KCJjb250ZW50RXJyb3IiLHtlZGl0b3I6byxlcnJvcjpnLGRpc2FibGVDb2xsYWJvcmF0aW9uOnMoKCk9PntvLnN0b3JhZ2UuY29sbGFib3JhdGlvbiYmKG8uc3RvcmFnZS5jb2xsYWJvcmF0aW9uLmlzRGlzYWJsZWQ9ITApfSwiZGlzYWJsZUNvbGxhYm9yYXRpb24iKX0pfSwiZW1pdENvbnRlbnRFcnJvciIpLGM9e3ByZXNlcnZlV2hpdGVzcGFjZToiZnVsbCIsLi4udC5wYXJzZU9wdGlvbnN9O2lmKCF0LmVycm9yT25JbnZhbGlkQ29udGVudCYmIW8ub3B0aW9ucy5lbmFibGVDb250ZW50Q2hlY2smJm8ub3B0aW9ucy5lbWl0Q29udGVudEVycm9yKXRyeXt0NShlLG8uc2NoZW1hLHtwYXJzZU9wdGlvbnM6YyxlcnJvck9uSW52YWxpZENvbnRlbnQ6ITB9KX1jYXRjaChnKXtkKGcpfXRyeXtsPXQ1KGUsby5zY2hlbWEse3BhcnNlT3B0aW9uczpjLGVycm9yT25JbnZhbGlkQ29udGVudDoobj10LmVycm9yT25JbnZhbGlkQ29udGVudCkhPT1udWxsJiZuIT09dm9pZCAwP246by5vcHRpb25zLmVuYWJsZUNvbnRlbnRDaGVja30pfWNhdGNoKGcpe3JldHVybiBkKGcpLCExfWxldHtmcm9tOnAsdG86dX09dHlwZW9mIGE9PSJudW1iZXIiP3tmcm9tOmEsdG86YX06e2Zyb206YS5mcm9tLHRvOmEudG99LG09ITAsdj0hMDtpZigobEVhKGwpP2w6W2xdKS5mb3JFYWNoKGc9PntnLmNoZWNrKCksbT1tP2cuaXNUZXh0JiZnLm1hcmtzLmxlbmd0aD09PTA6ITEsdj12P2cuaXNCbG9jazohMX0pLHA9PT11JiZ2KXtsZXR7cGFyZW50Omd9PXIuZG9jLnJlc29sdmUocCk7Zy5pc1RleHRibG9jayYmIWcudHlwZS5zcGVjLmNvZGUmJiFnLmNoaWxkQ291bnQmJihwLT0xLHUrPTEpfWxldCBiO2lmKG0pe2lmKEFycmF5LmlzQXJyYXkoZSkpYj1lLm1hcChnPT5nLnRleHR8fCIiKS5qb2luKCIiKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBqZSl7bGV0IGc9IiI7ZS5mb3JFYWNoKHk9Pnt5LnRleHQmJihnKz15LnRleHQpfSksYj1nfWVsc2UgdHlwZW9mIGU9PSJvYmplY3QiJiZlJiZlLnRleHQ/Yj1lLnRleHQ6Yj1lO3IuaW5zZXJ0VGV4dChiLHAsdSl9ZWxzZSBiPWwsci5yZXBsYWNlV2l0aChwLHUsYik7dC51cGRhdGVTZWxlY3Rpb24mJkFaZShyLHIuc3RlcHMubGVuZ3RoLTEsLTEpLHQuYXBwbHlJbnB1dFJ1bGVzJiZyLnNldE1ldGEoImFwcGx5SW5wdXRSdWxlcyIse2Zyb206cCx0ZXh0OmJ9KSx0LmFwcGx5UGFzdGVSdWxlcyYmci5zZXRNZXRhKCJhcHBseVBhc3RlUnVsZXMiLHtmcm9tOnAsdGV4dDpifSl9cmV0dXJuITB9LCJpbnNlcnRDb250ZW50QXQiKSxkRWE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+dVplKGEsZSksImpvaW5VcCIpLHVFYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5wWmUoYSxlKSwiam9pbkRvd24iKSxwRWE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+WmFlKGEsZSksImpvaW5CYWNrd2FyZCIpLGZFYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5RYWUoYSxlKSwiam9pbkZvcndhcmQiKSxoRWE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmUsdHI6dH0pPT57dHJ5e2xldCByPUhmKGEuZG9jLGEuc2VsZWN0aW9uLiRmcm9tLnBvcywtMSk7cmV0dXJuIHI9PW51bGw/ITE6KHQuam9pbihyLDIpLGUmJmUodCksITApfWNhdGNoe3JldHVybiExfX0sImpvaW5JdGVtQmFja3dhcmQiKSxtRWE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmUsdHI6dH0pPT57dHJ5e2xldCByPUhmKGEuZG9jLGEuc2VsZWN0aW9uLiRmcm9tLnBvcywxKTtyZXR1cm4gcj09bnVsbD8hMToodC5qb2luKHIsMiksZSYmZSh0KSwhMCl9Y2F0Y2h7cmV0dXJuITF9fSwiam9pbkl0ZW1Gb3J3YXJkIiksZ0VhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PmNaZShhLGUpLCJqb2luVGV4dGJsb2NrQmFja3dhcmQiKSxiRWE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+ZFplKGEsZSksImpvaW5UZXh0YmxvY2tGb3J3YXJkIik7cyh2cmUsImlzTWFjT1MiKTtzKHZFYSwibm9ybWFsaXplS2V5TmFtZSIpO3hFYT1zKGE9Pih7ZWRpdG9yOmUsdmlldzp0LHRyOnIsZGlzcGF0Y2g6aX0pPT57bGV0IG89dkVhKGEpLnNwbGl0KC8tKD8hJCkvKSxuPW8uZmluZChjPT4hWyJBbHQiLCJDdHJsIiwiTWV0YSIsIlNoaWZ0Il0uaW5jbHVkZXMoYykpLGw9bmV3IEtleWJvYXJkRXZlbnQoImtleWRvd24iLHtrZXk6bj09PSJTcGFjZSI/IiAiOm4sYWx0S2V5Om8uaW5jbHVkZXMoIkFsdCIpLGN0cmxLZXk6by5pbmNsdWRlcygiQ3RybCIpLG1ldGFLZXk6by5pbmNsdWRlcygiTWV0YSIpLHNoaWZ0S2V5Om8uaW5jbHVkZXMoIlNoaWZ0IiksYnViYmxlczohMCxjYW5jZWxhYmxlOiEwfSksZD1lLmNhcHR1cmVUcmFuc2FjdGlvbigoKT0+e3Quc29tZVByb3AoImhhbmRsZUtleURvd24iLGM9PmModCxsKSl9KTtyZXR1cm4gZD8uc3RlcHMuZm9yRWFjaChjPT57bGV0IHA9Yy5tYXAoci5tYXBwaW5nKTtwJiZpJiZyLm1heWJlU3RlcChwKX0pLCEwfSwia2V5Ym9hcmRTaG9ydGN1dCIpO3MoYTUsImlzTm9kZUFjdGl2ZSIpO3lFYT1zKChhLGU9e30pPT4oe3N0YXRlOnQsZGlzcGF0Y2g6cn0pPT57bGV0IGk9eHMoYSx0LnNjaGVtYSk7cmV0dXJuIGE1KHQsaSxlKT9mWmUodCxyKTohMX0sImxpZnQiKSx3RWE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+cnJlKGEsZSksImxpZnRFbXB0eUJsb2NrIiksTUVhPXMoYT0+KHtzdGF0ZTplLGRpc3BhdGNoOnR9KT0+e2xldCByPXhzKGEsZS5zY2hlbWEpO3JldHVybiB2WmUocikoZSx0KX0sImxpZnRMaXN0SXRlbSIpLGtFYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5lcmUoYSxlKSwibmV3bGluZUluQ29kZSIpO3MoRW0sImdldFNjaGVtYVR5cGVOYW1lQnlOYW1lIik7cyh4cmUsImRlbGV0ZVByb3BzIik7U0VhPXMoKGEsZSk9Pih7dHI6dCxzdGF0ZTpyLGRpc3BhdGNoOml9KT0+e2xldCBvPW51bGwsbj1udWxsLGw9RW0odHlwZW9mIGE9PSJzdHJpbmciP2E6YS5uYW1lLHIuc2NoZW1hKTtyZXR1cm4gbD8obD09PSJub2RlIiYmKG89eHMoYSxyLnNjaGVtYSkpLGw9PT0ibWFyayImJihuPVEyKGEsci5zY2hlbWEpKSxpJiZ0LnNlbGVjdGlvbi5yYW5nZXMuZm9yRWFjaChkPT57ci5kb2Mubm9kZXNCZXR3ZWVuKGQuJGZyb20ucG9zLGQuJHRvLnBvcywoYyxwKT0+e28mJm89PT1jLnR5cGUmJnQuc2V0Tm9kZU1hcmt1cChwLHZvaWQgMCx4cmUoYy5hdHRycyxlKSksbiYmYy5tYXJrcy5sZW5ndGgmJmMubWFya3MuZm9yRWFjaCh1PT57bj09PXUudHlwZSYmdC5hZGRNYXJrKHAscCtjLm5vZGVTaXplLG4uY3JlYXRlKHhyZSh1LmF0dHJzLGUpKSl9KX0pfSksITApOiExfSwicmVzZXRBdHRyaWJ1dGVzIiksekVhPXMoKCk9Pih7dHI6YSxkaXNwYXRjaDplfSk9PihlJiZhLnNjcm9sbEludG9WaWV3KCksITApLCJzY3JvbGxJbnRvVmlldyIpLENFYT1zKCgpPT4oe3RyOmEsZGlzcGF0Y2g6ZX0pPT57aWYoZSl7bGV0IHQ9bmV3IElpKGEuZG9jKTthLnNldFNlbGVjdGlvbih0KX1yZXR1cm4hMH0sInNlbGVjdEFsbCIpLF9FYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5YYWUoYSxlKSwic2VsZWN0Tm9kZUJhY2t3YXJkIiksVEVhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PkphZShhLGUpLCJzZWxlY3ROb2RlRm9yd2FyZCIpLExFYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5oWmUoYSxlKSwic2VsZWN0UGFyZW50Tm9kZSIpLCRFYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5pcmUoYSxlKSwic2VsZWN0VGV4dGJsb2NrRW5kIiksREVhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PnNyZShhLGUpLCJzZWxlY3RUZXh0YmxvY2tTdGFydCIpO3MocFcsImNyZWF0ZURvY3VtZW50Iik7QUVhPXMoKGEsZT0hMSx0PXt9LHI9e30pPT4oe2VkaXRvcjppLHRyOm8sZGlzcGF0Y2g6bixjb21tYW5kczpsfSk9Pnt2YXIgZCxjO2xldHtkb2M6cH09bztpZih0LnByZXNlcnZlV2hpdGVzcGFjZSE9PSJmdWxsIil7bGV0IHU9cFcoYSxpLnNjaGVtYSx0LHtlcnJvck9uSW52YWxpZENvbnRlbnQ6KGQ9ci5lcnJvck9uSW52YWxpZENvbnRlbnQpIT09bnVsbCYmZCE9PXZvaWQgMD9kOmkub3B0aW9ucy5lbmFibGVDb250ZW50Q2hlY2t9KTtyZXR1cm4gbiYmby5yZXBsYWNlV2l0aCgwLHAuY29udGVudC5zaXplLHUpLnNldE1ldGEoInByZXZlbnRVcGRhdGUiLCFlKSwhMH1yZXR1cm4gbiYmby5zZXRNZXRhKCJwcmV2ZW50VXBkYXRlIiwhZSksbC5pbnNlcnRDb250ZW50QXQoe2Zyb206MCx0bzpwLmNvbnRlbnQuc2l6ZX0sYSx7cGFyc2VPcHRpb25zOnQsZXJyb3JPbkludmFsaWRDb250ZW50OihjPXIuZXJyb3JPbkludmFsaWRDb250ZW50KSE9PW51bGwmJmMhPT12b2lkIDA/YzppLm9wdGlvbnMuZW5hYmxlQ29udGVudENoZWNrfSl9LCJzZXRDb250ZW50Iik7cyh5cmUsImdldE1hcmtBdHRyaWJ1dGVzIik7cyhDcmUsImNvbWJpbmVUcmFuc2FjdGlvblN0ZXBzIik7cyhQWmUsImRlZmF1bHRCbG9ja0F0Iik7cyhzMWEsImZpbmRDaGlsZHJlbiIpO3MoX3JlLCJmaW5kQ2hpbGRyZW5JblJhbmdlIik7cyhFWmUsImZpbmRQYXJlbnROb2RlQ2xvc2VzdFRvUG9zIik7cyhJbSwiZmluZFBhcmVudE5vZGUiKTtzKGZXLCJnZXRTY2hlbWEiKTtzKGkxYSwiZ2VuZXJhdGVIVE1MIik7cyhvMWEsImdlbmVyYXRlSlNPTiIpO3Mod3JlLCJnZXRUZXh0Iik7cyhuMWEsImdlbmVyYXRlVGV4dCIpO3MoSVplLCJnZXROb2RlQXR0cmlidXRlcyIpO3MoYlcsImdldEF0dHJpYnV0ZXMiKTtzKE5aZSwicmVtb3ZlRHVwbGljYXRlcyIpO3MoUEVhLCJzaW1wbGlmeUNoYW5nZWRSYW5nZXMiKTtzKFRyZSwiZ2V0Q2hhbmdlZFJhbmdlcyIpO3MoUlplLCJnZXREZWJ1Z0pTT04iKTtzKFJtLCJnZXRNYXJrc0JldHdlZW4iKTtsMWE9cygoYSxlLHQscj0yMCk9PntsZXQgaT1hLmRvYy5yZXNvbHZlKHQpLG89cixuPW51bGw7Zm9yKDtvPjAmJm49PT1udWxsOyl7bGV0IGw9aS5ub2RlKG8pO2w/LnR5cGUubmFtZT09PWU/bj1sOm8tPTF9cmV0dXJuW24sb119LCJnZXROb2RlQXRQb3NpdGlvbiIpO3MoTm0sImdldFNwbGl0dGVkQXR0cmlidXRlcyIpO3MoaFcsImlzTWFya0FjdGl2ZSIpO3MoT1plLCJpc0FjdGl2ZSIpO2MxYT1zKChhLGUpPT57bGV0eyRmcm9tOnQsJHRvOnIsJGFuY2hvcjppfT1hLnNlbGVjdGlvbjtpZihlKXtsZXQgbz1JbShsPT5sLnR5cGUubmFtZT09PWUpKGEuc2VsZWN0aW9uKTtpZighbylyZXR1cm4hMTtsZXQgbj1hLmRvYy5yZXNvbHZlKG8ucG9zKzEpO3JldHVybiBpLnBvcysxPT09bi5lbmQoKX1yZXR1cm4hKHIucGFyZW50T2Zmc2V0PHIucGFyZW50Lm5vZGVTaXplLTJ8fHQucG9zIT09ci5wb3MpfSwiaXNBdEVuZE9mTm9kZSIpLGQxYT1zKGE9PntsZXR7JGZyb206ZSwkdG86dH09YS5zZWxlY3Rpb247cmV0dXJuIShlLnBhcmVudE9mZnNldD4wfHxlLnBvcyE9PXQucG9zKX0sImlzQXRTdGFydE9mTm9kZSIpO3MoTXJlLCJpc0xpc3QiKTtzKG1XLCJpc05vZGVFbXB0eSIpO3MoTHJlLCJpc05vZGVTZWxlY3Rpb24iKTtzKHUxYSwicG9zVG9ET01SZWN0Iik7cyhZbmEsInJld3JpdGVVbmtub3duQ29udGVudElubmVyIik7cyhwMWEsInJld3JpdGVVbmtub3duQ29udGVudCIpO3MoRUVhLCJjYW5TZXRNYXJrIik7SUVhPXMoKGEsZT17fSk9Pih7dHI6dCxzdGF0ZTpyLGRpc3BhdGNoOml9KT0+e2xldHtzZWxlY3Rpb246b309dCx7ZW1wdHk6bixyYW5nZXM6bH09byxkPVEyKGEsci5zY2hlbWEpO2lmKGkpaWYobil7bGV0IGM9eXJlKHIsZCk7dC5hZGRTdG9yZWRNYXJrKGQuY3JlYXRlKHsuLi5jLC4uLmV9KSl9ZWxzZSBsLmZvckVhY2goYz0+e2xldCBwPWMuJGZyb20ucG9zLHU9Yy4kdG8ucG9zO3IuZG9jLm5vZGVzQmV0d2VlbihwLHUsKG0sdik9PntsZXQgeD1NYXRoLm1heCh2LHApLGI9TWF0aC5taW4odittLm5vZGVTaXplLHUpO20ubWFya3MuZmluZCh5PT55LnR5cGU9PT1kKT9tLm1hcmtzLmZvckVhY2goeT0+e2Q9PT15LnR5cGUmJnQuYWRkTWFyayh4LGIsZC5jcmVhdGUoey4uLnkuYXR0cnMsLi4uZX0pKX0pOnQuYWRkTWFyayh4LGIsZC5jcmVhdGUoZSkpfSl9KTtyZXR1cm4gRUVhKHIsdCxkKX0sInNldE1hcmsiKSxORWE9cygoYSxlKT0+KHt0cjp0fSk9Pih0LnNldE1ldGEoYSxlKSwhMCksInNldE1ldGEiKSxSRWE9cygoYSxlPXt9KT0+KHtzdGF0ZTp0LGRpc3BhdGNoOnIsY2hhaW46aX0pPT57bGV0IG89eHMoYSx0LnNjaGVtYSksbjtyZXR1cm4gdC5zZWxlY3Rpb24uJGFuY2hvci5zYW1lUGFyZW50KHQuc2VsZWN0aW9uLiRoZWFkKSYmKG49dC5zZWxlY3Rpb24uJGFuY2hvci5wYXJlbnQuYXR0cnMpLG8uaXNUZXh0YmxvY2s/aSgpLmNvbW1hbmQoKHtjb21tYW5kczpsfSk9Pm9yZShvLHsuLi5uLC4uLmV9KSh0KT8hMDpsLmNsZWFyTm9kZXMoKSkuY29tbWFuZCgoe3N0YXRlOmx9KT0+b3JlKG8sey4uLm4sLi4uZX0pKGwscikpLnJ1bigpOihjb25zb2xlLndhcm4oJ1t0aXB0YXAgd2Fybl06IEN1cnJlbnRseSAic2V0Tm9kZSgpIiBvbmx5IHN1cHBvcnRzIHRleHQgYmxvY2sgbm9kZXMuJyksITEpfSwic2V0Tm9kZSIpLE9FYT1zKGE9Pih7dHI6ZSxkaXNwYXRjaDp0fSk9PntpZih0KXtsZXR7ZG9jOnJ9PWUsaT1PMShhLDAsci5jb250ZW50LnNpemUpLG89a3QuY3JlYXRlKHIsaSk7ZS5zZXRTZWxlY3Rpb24obyl9cmV0dXJuITB9LCJzZXROb2RlU2VsZWN0aW9uIiksRkVhPXMoYT0+KHt0cjplLGRpc3BhdGNoOnR9KT0+e2lmKHQpe2xldHtkb2M6cn09ZSx7ZnJvbTppLHRvOm99PXR5cGVvZiBhPT0ibnVtYmVyIj97ZnJvbTphLHRvOmF9OmEsbj1OdC5hdFN0YXJ0KHIpLmZyb20sbD1OdC5hdEVuZChyKS50byxkPU8xKGksbixsKSxjPU8xKG8sbixsKSxwPU50LmNyZWF0ZShyLGQsYyk7ZS5zZXRTZWxlY3Rpb24ocCl9cmV0dXJuITB9LCJzZXRUZXh0U2VsZWN0aW9uIiksQkVhPXMoYT0+KHtzdGF0ZTplLGRpc3BhdGNoOnR9KT0+e2xldCByPXhzKGEsZS5zY2hlbWEpO3JldHVybiB4WmUocikoZSx0KX0sInNpbmtMaXN0SXRlbSIpO3MoS25hLCJlbnN1cmVNYXJrcyIpO0hFYT1zKCh7a2VlcE1hcmtzOmE9ITB9PXt9KT0+KHt0cjplLHN0YXRlOnQsZGlzcGF0Y2g6cixlZGl0b3I6aX0pPT57bGV0e3NlbGVjdGlvbjpvLGRvYzpufT1lLHskZnJvbTpsLCR0bzpkfT1vLGM9aS5leHRlbnNpb25NYW5hZ2VyLmF0dHJpYnV0ZXMscD1ObShjLGwubm9kZSgpLnR5cGUubmFtZSxsLm5vZGUoKS5hdHRycyk7aWYobyBpbnN0YW5jZW9mIGt0JiZvLm5vZGUuaXNCbG9jaylyZXR1cm4hbC5wYXJlbnRPZmZzZXR8fCFObyhuLGwucG9zKT8hMToociYmKGEmJktuYSh0LGkuZXh0ZW5zaW9uTWFuYWdlci5zcGxpdHRhYmxlTWFya3MpLGUuc3BsaXQobC5wb3MpLnNjcm9sbEludG9WaWV3KCkpLCEwKTtpZighbC5wYXJlbnQuaXNCbG9jaylyZXR1cm4hMTtsZXQgdT1kLnBhcmVudE9mZnNldD09PWQucGFyZW50LmNvbnRlbnQuc2l6ZSxtPWwuZGVwdGg9PT0wP3ZvaWQgMDpQWmUobC5ub2RlKC0xKS5jb250ZW50TWF0Y2hBdChsLmluZGV4QWZ0ZXIoLTEpKSksdj11JiZtP1t7dHlwZTptLGF0dHJzOnB9XTp2b2lkIDAseD1ObyhlLmRvYyxlLm1hcHBpbmcubWFwKGwucG9zKSwxLHYpO2lmKCF2JiYheCYmTm8oZS5kb2MsZS5tYXBwaW5nLm1hcChsLnBvcyksMSxtP1t7dHlwZTptfV06dm9pZCAwKSYmKHg9ITAsdj1tP1t7dHlwZTptLGF0dHJzOnB9XTp2b2lkIDApLHIpe2lmKHgmJihvIGluc3RhbmNlb2YgTnQmJmUuZGVsZXRlU2VsZWN0aW9uKCksZS5zcGxpdChlLm1hcHBpbmcubWFwKGwucG9zKSwxLHYpLG0mJiF1JiYhbC5wYXJlbnRPZmZzZXQmJmwucGFyZW50LnR5cGUhPT1tKSl7bGV0IGI9ZS5tYXBwaW5nLm1hcChsLmJlZm9yZSgpKSxnPWUuZG9jLnJlc29sdmUoYik7bC5ub2RlKC0xKS5jYW5SZXBsYWNlV2l0aChnLmluZGV4KCksZy5pbmRleCgpKzEsbSkmJmUuc2V0Tm9kZU1hcmt1cChlLm1hcHBpbmcubWFwKGwuYmVmb3JlKCkpLG0pfWEmJktuYSh0LGkuZXh0ZW5zaW9uTWFuYWdlci5zcGxpdHRhYmxlTWFya3MpLGUuc2Nyb2xsSW50b1ZpZXcoKX1yZXR1cm4geH0sInNwbGl0QmxvY2siKSxxRWE9cygoYSxlPXt9KT0+KHt0cjp0LHN0YXRlOnIsZGlzcGF0Y2g6aSxlZGl0b3I6b30pPT57dmFyIG47bGV0IGw9eHMoYSxyLnNjaGVtYSkseyRmcm9tOmQsJHRvOmN9PXIuc2VsZWN0aW9uLHA9ci5zZWxlY3Rpb24ubm9kZTtpZihwJiZwLmlzQmxvY2t8fGQuZGVwdGg8Mnx8IWQuc2FtZVBhcmVudChjKSlyZXR1cm4hMTtsZXQgdT1kLm5vZGUoLTEpO2lmKHUudHlwZSE9PWwpcmV0dXJuITE7bGV0IG09by5leHRlbnNpb25NYW5hZ2VyLmF0dHJpYnV0ZXM7aWYoZC5wYXJlbnQuY29udGVudC5zaXplPT09MCYmZC5ub2RlKC0xKS5jaGlsZENvdW50PT09ZC5pbmRleEFmdGVyKC0xKSl7aWYoZC5kZXB0aD09PTJ8fGQubm9kZSgtMykudHlwZSE9PWx8fGQuaW5kZXgoLTIpIT09ZC5ub2RlKC0yKS5jaGlsZENvdW50LTEpcmV0dXJuITE7aWYoaSl7bGV0IHk9amUuZW1wdHksaz1kLmluZGV4KC0xKT8xOmQuaW5kZXgoLTIpPzI6Mztmb3IobGV0IFQ9ZC5kZXB0aC1rO1Q+PWQuZGVwdGgtMztULT0xKXk9amUuZnJvbShkLm5vZGUoVCkuY29weSh5KSk7bGV0IEM9ZC5pbmRleEFmdGVyKC0xKTxkLm5vZGUoLTIpLmNoaWxkQ291bnQ/MTpkLmluZGV4QWZ0ZXIoLTIpPGQubm9kZSgtMykuY2hpbGRDb3VudD8yOjMsTj17Li4uTm0obSxkLm5vZGUoKS50eXBlLm5hbWUsZC5ub2RlKCkuYXR0cnMpLC4uLmV9LF89KChuPWwuY29udGVudE1hdGNoLmRlZmF1bHRUeXBlKT09PW51bGx8fG49PT12b2lkIDA/dm9pZCAwOm4uY3JlYXRlQW5kRmlsbChOKSl8fHZvaWQgMDt5PXkuYXBwZW5kKGplLmZyb20obC5jcmVhdGVBbmRGaWxsKG51bGwsXyl8fHZvaWQgMCkpO2xldCB6PWQuYmVmb3JlKGQuZGVwdGgtKGstMSkpO3QucmVwbGFjZSh6LGQuYWZ0ZXIoLUMpLG5ldyBzdCh5LDQtaywwKSk7bGV0IE89LTE7dC5kb2Mubm9kZXNCZXR3ZWVuKHosdC5kb2MuY29udGVudC5zaXplLChULFApPT57aWYoTz4tMSlyZXR1cm4hMTtULmlzVGV4dGJsb2NrJiZULmNvbnRlbnQuc2l6ZT09PTAmJihPPVArMSl9KSxPPi0xJiZ0LnNldFNlbGVjdGlvbihOdC5uZWFyKHQuZG9jLnJlc29sdmUoTykpKSx0LnNjcm9sbEludG9WaWV3KCl9cmV0dXJuITB9bGV0IHY9Yy5wb3M9PT1kLmVuZCgpP3UuY29udGVudE1hdGNoQXQoMCkuZGVmYXVsdFR5cGU6bnVsbCx4PXsuLi5ObShtLHUudHlwZS5uYW1lLHUuYXR0cnMpLC4uLmV9LGI9ey4uLk5tKG0sZC5ub2RlKCkudHlwZS5uYW1lLGQubm9kZSgpLmF0dHJzKSwuLi5lfTt0LmRlbGV0ZShkLnBvcyxjLnBvcyk7bGV0IGc9dj9be3R5cGU6bCxhdHRyczp4fSx7dHlwZTp2LGF0dHJzOmJ9XTpbe3R5cGU6bCxhdHRyczp4fV07aWYoIU5vKHQuZG9jLGQucG9zLDIpKXJldHVybiExO2lmKGkpe2xldHtzZWxlY3Rpb246eSxzdG9yZWRNYXJrczprfT1yLHtzcGxpdHRhYmxlTWFya3M6Q309by5leHRlbnNpb25NYW5hZ2VyLE49a3x8eS4kdG8ucGFyZW50T2Zmc2V0JiZ5LiRmcm9tLm1hcmtzKCk7aWYodC5zcGxpdChkLnBvcywyLGcpLnNjcm9sbEludG9WaWV3KCksIU58fCFpKXJldHVybiEwO2xldCBfPU4uZmlsdGVyKHo9PkMuaW5jbHVkZXMoei50eXBlLm5hbWUpKTt0LmVuc3VyZU1hcmtzKF8pfXJldHVybiEwfSwic3BsaXRMaXN0SXRlbSIpLE1aZT1zKChhLGUpPT57bGV0IHQ9SW0obj0+bi50eXBlPT09ZSkoYS5zZWxlY3Rpb24pO2lmKCF0KXJldHVybiEwO2xldCByPWEuZG9jLnJlc29sdmUoTWF0aC5tYXgoMCx0LnBvcy0xKSkuYmVmb3JlKHQuZGVwdGgpO2lmKHI9PT12b2lkIDApcmV0dXJuITA7bGV0IGk9YS5kb2Mubm9kZUF0KHIpO3JldHVybiB0Lm5vZGUudHlwZT09PWk/LnR5cGUmJnNuKGEuZG9jLHQucG9zKSYmYS5qb2luKHQucG9zKSwhMH0sImpvaW5MaXN0QmFja3dhcmRzIiksa1plPXMoKGEsZSk9PntsZXQgdD1JbShuPT5uLnR5cGU9PT1lKShhLnNlbGVjdGlvbik7aWYoIXQpcmV0dXJuITA7bGV0IHI9YS5kb2MucmVzb2x2ZSh0LnN0YXJ0KS5hZnRlcih0LmRlcHRoKTtpZihyPT09dm9pZCAwKXJldHVybiEwO2xldCBpPWEuZG9jLm5vZGVBdChyKTtyZXR1cm4gdC5ub2RlLnR5cGU9PT1pPy50eXBlJiZzbihhLmRvYyxyKSYmYS5qb2luKHIpLCEwfSwiam9pbkxpc3RGb3J3YXJkcyIpLFZFYT1zKChhLGUsdCxyPXt9KT0+KHtlZGl0b3I6aSx0cjpvLHN0YXRlOm4sZGlzcGF0Y2g6bCxjaGFpbjpkLGNvbW1hbmRzOmMsY2FuOnB9KT0+e2xldHtleHRlbnNpb25zOnUsc3BsaXR0YWJsZU1hcmtzOm19PWkuZXh0ZW5zaW9uTWFuYWdlcix2PXhzKGEsbi5zY2hlbWEpLHg9eHMoZSxuLnNjaGVtYSkse3NlbGVjdGlvbjpiLHN0b3JlZE1hcmtzOmd9PW4seyRmcm9tOnksJHRvOmt9PWIsQz15LmJsb2NrUmFuZ2UoayksTj1nfHxiLiR0by5wYXJlbnRPZmZzZXQmJmIuJGZyb20ubWFya3MoKTtpZighQylyZXR1cm4hMTtsZXQgXz1JbSh6PT5NcmUoei50eXBlLm5hbWUsdSkpKGIpO2lmKEMuZGVwdGg+PTEmJl8mJkMuZGVwdGgtXy5kZXB0aDw9MSl7aWYoXy5ub2RlLnR5cGU9PT12KXJldHVybiBjLmxpZnRMaXN0SXRlbSh4KTtpZihNcmUoXy5ub2RlLnR5cGUubmFtZSx1KSYmdi52YWxpZENvbnRlbnQoXy5ub2RlLmNvbnRlbnQpJiZsKXJldHVybiBkKCkuY29tbWFuZCgoKT0+KG8uc2V0Tm9kZU1hcmt1cChfLnBvcyx2KSwhMCkpLmNvbW1hbmQoKCk9Pk1aZShvLHYpKS5jb21tYW5kKCgpPT5rWmUobyx2KSkucnVuKCl9cmV0dXJuIXR8fCFOfHwhbD9kKCkuY29tbWFuZCgoKT0+cCgpLndyYXBJbkxpc3QodixyKT8hMDpjLmNsZWFyTm9kZXMoKSkud3JhcEluTGlzdCh2LHIpLmNvbW1hbmQoKCk9Pk1aZShvLHYpKS5jb21tYW5kKCgpPT5rWmUobyx2KSkucnVuKCk6ZCgpLmNvbW1hbmQoKCk9PntsZXQgej1wKCkud3JhcEluTGlzdCh2LHIpLE89Ti5maWx0ZXIoVD0+bS5pbmNsdWRlcyhULnR5cGUubmFtZSkpO3JldHVybiBvLmVuc3VyZU1hcmtzKE8pLHo/ITA6Yy5jbGVhck5vZGVzKCl9KS53cmFwSW5MaXN0KHYscikuY29tbWFuZCgoKT0+TVplKG8sdikpLmNvbW1hbmQoKCk9PmtaZShvLHYpKS5ydW4oKX0sInRvZ2dsZUxpc3QiKSxqRWE9cygoYSxlPXt9LHQ9e30pPT4oe3N0YXRlOnIsY29tbWFuZHM6aX0pPT57bGV0e2V4dGVuZEVtcHR5TWFya1JhbmdlOm89ITF9PXQsbj1RMihhLHIuc2NoZW1hKTtyZXR1cm4gaFcocixuLGUpP2kudW5zZXRNYXJrKG4se2V4dGVuZEVtcHR5TWFya1JhbmdlOm99KTppLnNldE1hcmsobixlKX0sInRvZ2dsZU1hcmsiKSxVRWE9cygoYSxlLHQ9e30pPT4oe3N0YXRlOnIsY29tbWFuZHM6aX0pPT57bGV0IG89eHMoYSxyLnNjaGVtYSksbj14cyhlLHIuc2NoZW1hKSxsPWE1KHIsbyx0KSxkO3JldHVybiByLnNlbGVjdGlvbi4kYW5jaG9yLnNhbWVQYXJlbnQoci5zZWxlY3Rpb24uJGhlYWQpJiYoZD1yLnNlbGVjdGlvbi4kYW5jaG9yLnBhcmVudC5hdHRycyksbD9pLnNldE5vZGUobixkKTppLnNldE5vZGUobyx7Li4uZCwuLi50fSl9LCJ0b2dnbGVOb2RlIiksV0VhPXMoKGEsZT17fSk9Pih7c3RhdGU6dCxjb21tYW5kczpyfSk9PntsZXQgaT14cyhhLHQuc2NoZW1hKTtyZXR1cm4gYTUodCxpLGUpP3IubGlmdChpKTpyLndyYXBJbihpLGUpfSwidG9nZ2xlV3JhcCIpLEdFYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT57bGV0IHQ9YS5wbHVnaW5zO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cis9MSl7bGV0IGk9dFtyXSxvO2lmKGkuc3BlYy5pc0lucHV0UnVsZXMmJihvPWkuZ2V0U3RhdGUoYSkpKXtpZihlKXtsZXQgbj1hLnRyLGw9by50cmFuc2Zvcm07Zm9yKGxldCBkPWwuc3RlcHMubGVuZ3RoLTE7ZD49MDtkLT0xKW4uc3RlcChsLnN0ZXBzW2RdLmludmVydChsLmRvY3NbZF0pKTtpZihvLnRleHQpe2xldCBkPW4uZG9jLnJlc29sdmUoby5mcm9tKS5tYXJrcygpO24ucmVwbGFjZVdpdGgoby5mcm9tLG8udG8sYS5zY2hlbWEudGV4dChvLnRleHQsZCkpfWVsc2Ugbi5kZWxldGUoby5mcm9tLG8udG8pfXJldHVybiEwfX1yZXR1cm4hMX0sInVuZG9JbnB1dFJ1bGUiKSxZRWE9cygoKT0+KHt0cjphLGRpc3BhdGNoOmV9KT0+e2xldHtzZWxlY3Rpb246dH09YSx7ZW1wdHk6cixyYW5nZXM6aX09dDtyZXR1cm4gcnx8ZSYmaS5mb3JFYWNoKG89PnthLnJlbW92ZU1hcmsoby4kZnJvbS5wb3Msby4kdG8ucG9zKX0pLCEwfSwidW5zZXRBbGxNYXJrcyIpLEtFYT1zKChhLGU9e30pPT4oe3RyOnQsc3RhdGU6cixkaXNwYXRjaDppfSk9Pnt2YXIgbztsZXR7ZXh0ZW5kRW1wdHlNYXJrUmFuZ2U6bj0hMX09ZSx7c2VsZWN0aW9uOmx9PXQsZD1RMihhLHIuc2NoZW1hKSx7JGZyb206YyxlbXB0eTpwLHJhbmdlczp1fT1sO2lmKCFpKXJldHVybiEwO2lmKHAmJm4pe2xldHtmcm9tOm0sdG86dn09bCx4PShvPWMubWFya3MoKS5maW5kKGc9PmcudHlwZT09PWQpKT09PW51bGx8fG89PT12b2lkIDA/dm9pZCAwOm8uYXR0cnMsYj11VyhjLGQseCk7YiYmKG09Yi5mcm9tLHY9Yi50byksdC5yZW1vdmVNYXJrKG0sdixkKX1lbHNlIHUuZm9yRWFjaChtPT57dC5yZW1vdmVNYXJrKG0uJGZyb20ucG9zLG0uJHRvLnBvcyxkKX0pO3JldHVybiB0LnJlbW92ZVN0b3JlZE1hcmsoZCksITB9LCJ1bnNldE1hcmsiKSxaRWE9cygoYSxlPXt9KT0+KHt0cjp0LHN0YXRlOnIsZGlzcGF0Y2g6aX0pPT57bGV0IG89bnVsbCxuPW51bGwsbD1FbSh0eXBlb2YgYT09InN0cmluZyI/YTphLm5hbWUsci5zY2hlbWEpO3JldHVybiBsPyhsPT09Im5vZGUiJiYobz14cyhhLHIuc2NoZW1hKSksbD09PSJtYXJrIiYmKG49UTIoYSxyLnNjaGVtYSkpLGkmJnQuc2VsZWN0aW9uLnJhbmdlcy5mb3JFYWNoKGQ9PntsZXQgYz1kLiRmcm9tLnBvcyxwPWQuJHRvLnBvcyx1LG0sdix4O3Quc2VsZWN0aW9uLmVtcHR5P3IuZG9jLm5vZGVzQmV0d2VlbihjLHAsKGIsZyk9PntvJiZvPT09Yi50eXBlJiYodj1NYXRoLm1heChnLGMpLHg9TWF0aC5taW4oZytiLm5vZGVTaXplLHApLHU9ZyxtPWIpfSk6ci5kb2Mubm9kZXNCZXR3ZWVuKGMscCwoYixnKT0+e2c8YyYmbyYmbz09PWIudHlwZSYmKHY9TWF0aC5tYXgoZyxjKSx4PU1hdGgubWluKGcrYi5ub2RlU2l6ZSxwKSx1PWcsbT1iKSxnPj1jJiZnPD1wJiYobyYmbz09PWIudHlwZSYmdC5zZXROb2RlTWFya3VwKGcsdm9pZCAwLHsuLi5iLmF0dHJzLC4uLmV9KSxuJiZiLm1hcmtzLmxlbmd0aCYmYi5tYXJrcy5mb3JFYWNoKHk9PntpZihuPT09eS50eXBlKXtsZXQgaz1NYXRoLm1heChnLGMpLEM9TWF0aC5taW4oZytiLm5vZGVTaXplLHApO3QuYWRkTWFyayhrLEMsbi5jcmVhdGUoey4uLnkuYXR0cnMsLi4uZX0pKX19KSl9KSxtJiYodSE9PXZvaWQgMCYmdC5zZXROb2RlTWFya3VwKHUsdm9pZCAwLHsuLi5tLmF0dHJzLC4uLmV9KSxuJiZtLm1hcmtzLmxlbmd0aCYmbS5tYXJrcy5mb3JFYWNoKGI9PntuPT09Yi50eXBlJiZ0LmFkZE1hcmsodix4LG4uY3JlYXRlKHsuLi5iLmF0dHJzLC4uLmV9KSl9KSl9KSwhMCk6ITF9LCJ1cGRhdGVBdHRyaWJ1dGVzIiksWEVhPXMoKGEsZT17fSk9Pih7c3RhdGU6dCxkaXNwYXRjaDpyfSk9PntsZXQgaT14cyhhLHQuc2NoZW1hKTtyZXR1cm4gbVplKGksZSkodCxyKX0sIndyYXBJbiIpLFFFYT1zKChhLGU9e30pPT4oe3N0YXRlOnQsZGlzcGF0Y2g6cn0pPT57bGV0IGk9eHMoYSx0LnNjaGVtYSk7cmV0dXJuIGJaZShpLGUpKHQscil9LCJ3cmFwSW5MaXN0IiksSkVhPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLGJsdXI6VVBhLGNsZWFyQ29udGVudDpXUGEsY2xlYXJOb2RlczpHUGEsY29tbWFuZDpZUGEsY3JlYXRlUGFyYWdyYXBoTmVhcjpLUGEsY3V0OlpQYSxkZWxldGVDdXJyZW50Tm9kZTpYUGEsZGVsZXRlTm9kZTpRUGEsZGVsZXRlUmFuZ2U6SlBhLGRlbGV0ZVNlbGVjdGlvbjplRWEsZW50ZXI6dEVhLGV4aXRDb2RlOmFFYSxleHRlbmRNYXJrUmFuZ2U6ckVhLGZpcnN0OnNFYSxmb2N1czppRWEsZm9yRWFjaDpvRWEsaW5zZXJ0Q29udGVudDpuRWEsaW5zZXJ0Q29udGVudEF0OmNFYSxqb2luQmFja3dhcmQ6cEVhLGpvaW5Eb3duOnVFYSxqb2luRm9yd2FyZDpmRWEsam9pbkl0ZW1CYWNrd2FyZDpoRWEsam9pbkl0ZW1Gb3J3YXJkOm1FYSxqb2luVGV4dGJsb2NrQmFja3dhcmQ6Z0VhLGpvaW5UZXh0YmxvY2tGb3J3YXJkOmJFYSxqb2luVXA6ZEVhLGtleWJvYXJkU2hvcnRjdXQ6eEVhLGxpZnQ6eUVhLGxpZnRFbXB0eUJsb2NrOndFYSxsaWZ0TGlzdEl0ZW06TUVhLG5ld2xpbmVJbkNvZGU6a0VhLHJlc2V0QXR0cmlidXRlczpTRWEsc2Nyb2xsSW50b1ZpZXc6ekVhLHNlbGVjdEFsbDpDRWEsc2VsZWN0Tm9kZUJhY2t3YXJkOl9FYSxzZWxlY3ROb2RlRm9yd2FyZDpURWEsc2VsZWN0UGFyZW50Tm9kZTpMRWEsc2VsZWN0VGV4dGJsb2NrRW5kOiRFYSxzZWxlY3RUZXh0YmxvY2tTdGFydDpERWEsc2V0Q29udGVudDpBRWEsc2V0TWFyazpJRWEsc2V0TWV0YTpORWEsc2V0Tm9kZTpSRWEsc2V0Tm9kZVNlbGVjdGlvbjpPRWEsc2V0VGV4dFNlbGVjdGlvbjpGRWEsc2lua0xpc3RJdGVtOkJFYSxzcGxpdEJsb2NrOkhFYSxzcGxpdExpc3RJdGVtOnFFYSx0b2dnbGVMaXN0OlZFYSx0b2dnbGVNYXJrOmpFYSx0b2dnbGVOb2RlOlVFYSx0b2dnbGVXcmFwOldFYSx1bmRvSW5wdXRSdWxlOkdFYSx1bnNldEFsbE1hcmtzOllFYSx1bnNldE1hcms6S0VhLHVwZGF0ZUF0dHJpYnV0ZXM6WkVhLHdyYXBJbjpYRWEsd3JhcEluTGlzdDpRRWF9KSxabmE9d3IuY3JlYXRlKHtuYW1lOiJjb21tYW5kcyIsYWRkQ29tbWFuZHMoKXtyZXR1cm57Li4uSkVhfX19KSxYbmE9d3IuY3JlYXRlKHtuYW1lOiJkcm9wIixhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtyZXR1cm5bbmV3IGFyKHtrZXk6bmV3IGJzKCJ0aXB0YXBEcm9wIikscHJvcHM6e2hhbmRsZURyb3A6cygoYSxlLHQscik9Pnt0aGlzLmVkaXRvci5lbWl0KCJkcm9wIix7ZWRpdG9yOnRoaXMuZWRpdG9yLGV2ZW50OmUsc2xpY2U6dCxtb3ZlZDpyfSl9LCJoYW5kbGVEcm9wIil9fSldfX0pLFFuYT13ci5jcmVhdGUoe25hbWU6ImVkaXRhYmxlIixhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtyZXR1cm5bbmV3IGFyKHtrZXk6bmV3IGJzKCJlZGl0YWJsZSIpLHByb3BzOntlZGl0YWJsZTpzKCgpPT50aGlzLmVkaXRvci5vcHRpb25zLmVkaXRhYmxlLCJlZGl0YWJsZSIpfX0pXX19KSxKbmE9bmV3IGJzKCJmb2N1c0V2ZW50cyIpLGUxYT13ci5jcmVhdGUoe25hbWU6ImZvY3VzRXZlbnRzIixhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtsZXR7ZWRpdG9yOmF9PXRoaXM7cmV0dXJuW25ldyBhcih7a2V5OkpuYSxwcm9wczp7aGFuZGxlRE9NRXZlbnRzOntmb2N1czpzKChlLHQpPT57YS5pc0ZvY3VzZWQ9ITA7bGV0IHI9YS5zdGF0ZS50ci5zZXRNZXRhKCJmb2N1cyIse2V2ZW50OnR9KS5zZXRNZXRhKCJhZGRUb0hpc3RvcnkiLCExKTtyZXR1cm4gZS5kaXNwYXRjaChyKSwhMX0sImZvY3VzIiksYmx1cjpzKChlLHQpPT57YS5pc0ZvY3VzZWQ9ITE7bGV0IHI9YS5zdGF0ZS50ci5zZXRNZXRhKCJibHVyIix7ZXZlbnQ6dH0pLnNldE1ldGEoImFkZFRvSGlzdG9yeSIsITEpO3JldHVybiBlLmRpc3BhdGNoKHIpLCExfSwiYmx1ciIpfX19KV19fSksdDFhPXdyLmNyZWF0ZSh7bmFtZToia2V5bWFwIixhZGRLZXlib2FyZFNob3J0Y3V0cygpe2xldCBhPXMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLmZpcnN0KCh7Y29tbWFuZHM6bn0pPT5bKCk9Pm4udW5kb0lucHV0UnVsZSgpLCgpPT5uLmNvbW1hbmQoKHt0cjpsfSk9PntsZXR7c2VsZWN0aW9uOmQsZG9jOmN9PWwse2VtcHR5OnAsJGFuY2hvcjp1fT1kLHtwb3M6bSxwYXJlbnQ6dn09dSx4PXUucGFyZW50LmlzVGV4dGJsb2NrJiZtPjA/bC5kb2MucmVzb2x2ZShtLTEpOnUsYj14LnBhcmVudC50eXBlLnNwZWMuaXNvbGF0aW5nLGc9dS5wb3MtdS5wYXJlbnRPZmZzZXQseT1iJiZ4LnBhcmVudC5jaGlsZENvdW50PT09MT9nPT09dS5wb3M6RXQuYXRTdGFydChjKS5mcm9tPT09bTtyZXR1cm4hcHx8IXYudHlwZS5pc1RleHRibG9ja3x8di50ZXh0Q29udGVudC5sZW5ndGh8fCF5fHx5JiZ1LnBhcmVudC50eXBlLm5hbWU9PT0icGFyYWdyYXBoIj8hMTpuLmNsZWFyTm9kZXMoKX0pLCgpPT5uLmRlbGV0ZVNlbGVjdGlvbigpLCgpPT5uLmpvaW5CYWNrd2FyZCgpLCgpPT5uLnNlbGVjdE5vZGVCYWNrd2FyZCgpXSksImhhbmRsZUJhY2tzcGFjZSIpLGU9cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuZmlyc3QoKHtjb21tYW5kczpufSk9PlsoKT0+bi5kZWxldGVTZWxlY3Rpb24oKSwoKT0+bi5kZWxldGVDdXJyZW50Tm9kZSgpLCgpPT5uLmpvaW5Gb3J3YXJkKCksKCk9Pm4uc2VsZWN0Tm9kZUZvcndhcmQoKV0pLCJoYW5kbGVEZWxldGUiKSxyPXtFbnRlcjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5maXJzdCgoe2NvbW1hbmRzOm59KT0+WygpPT5uLm5ld2xpbmVJbkNvZGUoKSwoKT0+bi5jcmVhdGVQYXJhZ3JhcGhOZWFyKCksKCk9Pm4ubGlmdEVtcHR5QmxvY2soKSwoKT0+bi5zcGxpdEJsb2NrKCldKSwiaGFuZGxlRW50ZXIiKSwiTW9kLUVudGVyIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5leGl0Q29kZSgpLCJNb2QtRW50ZXIiKSxCYWNrc3BhY2U6YSwiTW9kLUJhY2tzcGFjZSI6YSwiU2hpZnQtQmFja3NwYWNlIjphLERlbGV0ZTplLCJNb2QtRGVsZXRlIjplLCJNb2QtYSI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuc2VsZWN0QWxsKCksIk1vZC1hIil9LGk9ey4uLnJ9LG89ey4uLnIsIkN0cmwtaCI6YSwiQWx0LUJhY2tzcGFjZSI6YSwiQ3RybC1kIjplLCJDdHJsLUFsdC1CYWNrc3BhY2UiOmUsIkFsdC1EZWxldGUiOmUsIkFsdC1kIjplLCJDdHJsLWEiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnNlbGVjdFRleHRibG9ja1N0YXJ0KCksIkN0cmwtYSIpLCJDdHJsLWUiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnNlbGVjdFRleHRibG9ja0VuZCgpLCJDdHJsLWUiKX07cmV0dXJuIEpmKCl8fHZyZSgpP286aX0sYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCl7cmV0dXJuW25ldyBhcih7a2V5Om5ldyBicygiY2xlYXJEb2N1bWVudCIpLGFwcGVuZFRyYW5zYWN0aW9uOnMoKGEsZSx0KT0+e2lmKGEuc29tZShiPT5iLmdldE1ldGEoImNvbXBvc2l0aW9uIikpKXJldHVybjtsZXQgcj1hLnNvbWUoYj0+Yi5kb2NDaGFuZ2VkKSYmIWUuZG9jLmVxKHQuZG9jKSxpPWEuc29tZShiPT5iLmdldE1ldGEoInByZXZlbnRDbGVhckRvY3VtZW50IikpO2lmKCFyfHxpKXJldHVybjtsZXR7ZW1wdHk6byxmcm9tOm4sdG86bH09ZS5zZWxlY3Rpb24sZD1FdC5hdFN0YXJ0KGUuZG9jKS5mcm9tLGM9RXQuYXRFbmQoZS5kb2MpLnRvO2lmKG98fCEobj09PWQmJmw9PT1jKXx8IW1XKHQuZG9jKSlyZXR1cm47bGV0IG09dC50cix2PVRtKHtzdGF0ZTp0LHRyYW5zYWN0aW9uOm19KSx7Y29tbWFuZHM6eH09bmV3IHc0KHtlZGl0b3I6dGhpcy5lZGl0b3Isc3RhdGU6dn0pO2lmKHguY2xlYXJOb2RlcygpLCEhbS5zdGVwcy5sZW5ndGgpcmV0dXJuIG19LCJhcHBlbmRUcmFuc2FjdGlvbiIpfSldfX0pLGExYT13ci5jcmVhdGUoe25hbWU6InBhc3RlIixhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtyZXR1cm5bbmV3IGFyKHtrZXk6bmV3IGJzKCJ0aXB0YXBQYXN0ZSIpLHByb3BzOntoYW5kbGVQYXN0ZTpzKChhLGUsdCk9Pnt0aGlzLmVkaXRvci5lbWl0KCJwYXN0ZSIse2VkaXRvcjp0aGlzLmVkaXRvcixldmVudDplLHNsaWNlOnR9KX0sImhhbmRsZVBhc3RlIil9fSldfX0pLHIxYT13ci5jcmVhdGUoe25hbWU6InRhYmluZGV4IixhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtyZXR1cm5bbmV3IGFyKHtrZXk6bmV3IGJzKCJ0YWJpbmRleCIpLHByb3BzOnthdHRyaWJ1dGVzOnMoKCk9PnRoaXMuZWRpdG9yLmlzRWRpdGFibGU/e3RhYmluZGV4OiIwIn06e30sImF0dHJpYnV0ZXMiKX19KV19fSksZjFhPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLENsaXBib2FyZFRleHRTZXJpYWxpemVyOmpuYSxDb21tYW5kczpabmEsRHJvcDpYbmEsRWRpdGFibGU6UW5hLEZvY3VzRXZlbnRzOmUxYSxLZXltYXA6dDFhLFBhc3RlOmExYSxUYWJpbmRleDpyMWEsZm9jdXNFdmVudHNQbHVnaW5LZXk6Sm5hfSksZ1c9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJOb2RlUG9zIil9Z2V0IG5hbWUoKXtyZXR1cm4gdGhpcy5ub2RlLnR5cGUubmFtZX1jb25zdHJ1Y3RvcihlLHQscj0hMSxpPW51bGwpe3RoaXMuY3VycmVudE5vZGU9bnVsbCx0aGlzLmFjdHVhbERlcHRoPW51bGwsdGhpcy5pc0Jsb2NrPXIsdGhpcy5yZXNvbHZlZFBvcz1lLHRoaXMuZWRpdG9yPXQsdGhpcy5jdXJyZW50Tm9kZT1pfWdldCBub2RlKCl7cmV0dXJuIHRoaXMuY3VycmVudE5vZGV8fHRoaXMucmVzb2x2ZWRQb3Mubm9kZSgpfWdldCBlbGVtZW50KCl7cmV0dXJuIHRoaXMuZWRpdG9yLnZpZXcuZG9tQXRQb3ModGhpcy5wb3MpLm5vZGV9Z2V0IGRlcHRoKCl7dmFyIGU7cmV0dXJuKGU9dGhpcy5hY3R1YWxEZXB0aCkhPT1udWxsJiZlIT09dm9pZCAwP2U6dGhpcy5yZXNvbHZlZFBvcy5kZXB0aH1nZXQgcG9zKCl7cmV0dXJuIHRoaXMucmVzb2x2ZWRQb3MucG9zfWdldCBjb250ZW50KCl7cmV0dXJuIHRoaXMubm9kZS5jb250ZW50fXNldCBjb250ZW50KGUpe2xldCB0PXRoaXMuZnJvbSxyPXRoaXMudG87aWYodGhpcy5pc0Jsb2NrKXtpZih0aGlzLmNvbnRlbnQuc2l6ZT09PTApe2NvbnNvbGUuZXJyb3IoYFlvdSBjYW5cdTIwMTl0IHNldCBjb250ZW50IG9uIGEgYmxvY2sgbm9kZS4gVHJpZWQgdG8gc2V0IGNvbnRlbnQgb24gJHt0aGlzLm5hbWV9IGF0ICR7dGhpcy5wb3N9YCk7cmV0dXJufXQ9dGhpcy5mcm9tKzEscj10aGlzLnRvLTF9dGhpcy5lZGl0b3IuY29tbWFuZHMuaW5zZXJ0Q29udGVudEF0KHtmcm9tOnQsdG86cn0sZSl9Z2V0IGF0dHJpYnV0ZXMoKXtyZXR1cm4gdGhpcy5ub2RlLmF0dHJzfWdldCB0ZXh0Q29udGVudCgpe3JldHVybiB0aGlzLm5vZGUudGV4dENvbnRlbnR9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5ub2RlLm5vZGVTaXplfWdldCBmcm9tKCl7cmV0dXJuIHRoaXMuaXNCbG9jaz90aGlzLnBvczp0aGlzLnJlc29sdmVkUG9zLnN0YXJ0KHRoaXMucmVzb2x2ZWRQb3MuZGVwdGgpfWdldCByYW5nZSgpe3JldHVybntmcm9tOnRoaXMuZnJvbSx0bzp0aGlzLnRvfX1nZXQgdG8oKXtyZXR1cm4gdGhpcy5pc0Jsb2NrP3RoaXMucG9zK3RoaXMuc2l6ZTp0aGlzLnJlc29sdmVkUG9zLmVuZCh0aGlzLnJlc29sdmVkUG9zLmRlcHRoKSsodGhpcy5ub2RlLmlzVGV4dD8wOjEpfWdldCBwYXJlbnQoKXtpZih0aGlzLmRlcHRoPT09MClyZXR1cm4gbnVsbDtsZXQgZT10aGlzLnJlc29sdmVkUG9zLnN0YXJ0KHRoaXMucmVzb2x2ZWRQb3MuZGVwdGgtMSksdD10aGlzLnJlc29sdmVkUG9zLmRvYy5yZXNvbHZlKGUpO3JldHVybiBuZXcgYSh0LHRoaXMuZWRpdG9yKX1nZXQgYmVmb3JlKCl7bGV0IGU9dGhpcy5yZXNvbHZlZFBvcy5kb2MucmVzb2x2ZSh0aGlzLmZyb20tKHRoaXMuaXNCbG9jaz8xOjIpKTtyZXR1cm4gZS5kZXB0aCE9PXRoaXMuZGVwdGgmJihlPXRoaXMucmVzb2x2ZWRQb3MuZG9jLnJlc29sdmUodGhpcy5mcm9tLTMpKSxuZXcgYShlLHRoaXMuZWRpdG9yKX1nZXQgYWZ0ZXIoKXtsZXQgZT10aGlzLnJlc29sdmVkUG9zLmRvYy5yZXNvbHZlKHRoaXMudG8rKHRoaXMuaXNCbG9jaz8yOjEpKTtyZXR1cm4gZS5kZXB0aCE9PXRoaXMuZGVwdGgmJihlPXRoaXMucmVzb2x2ZWRQb3MuZG9jLnJlc29sdmUodGhpcy50byszKSksbmV3IGEoZSx0aGlzLmVkaXRvcil9Z2V0IGNoaWxkcmVuKCl7bGV0IGU9W107cmV0dXJuIHRoaXMubm9kZS5jb250ZW50LmZvckVhY2goKHQscik9PntsZXQgaT10LmlzQmxvY2smJiF0LmlzVGV4dGJsb2NrLG89dC5pc0F0b20mJiF0LmlzVGV4dCxuPXRoaXMucG9zK3IrKG8/MDoxKTtpZihuPDB8fG4+dGhpcy5yZXNvbHZlZFBvcy5kb2Mubm9kZVNpemUtMilyZXR1cm47bGV0IGw9dGhpcy5yZXNvbHZlZFBvcy5kb2MucmVzb2x2ZShuKTtpZighaSYmbC5kZXB0aDw9dGhpcy5kZXB0aClyZXR1cm47bGV0IGQ9bmV3IGEobCx0aGlzLmVkaXRvcixpLGk/dDpudWxsKTtpJiYoZC5hY3R1YWxEZXB0aD10aGlzLmRlcHRoKzEpLGUucHVzaChuZXcgYShsLHRoaXMuZWRpdG9yLGksaT90Om51bGwpKX0pLGV9Z2V0IGZpcnN0Q2hpbGQoKXtyZXR1cm4gdGhpcy5jaGlsZHJlblswXXx8bnVsbH1nZXQgbGFzdENoaWxkKCl7bGV0IGU9dGhpcy5jaGlsZHJlbjtyZXR1cm4gZVtlLmxlbmd0aC0xXXx8bnVsbH1jbG9zZXN0KGUsdD17fSl7bGV0IHI9bnVsbCxpPXRoaXMucGFyZW50O2Zvcig7aSYmIXI7KXtpZihpLm5vZGUudHlwZS5uYW1lPT09ZSlpZihPYmplY3Qua2V5cyh0KS5sZW5ndGg+MCl7bGV0IG89aS5ub2RlLmF0dHJzLG49T2JqZWN0LmtleXModCk7Zm9yKGxldCBsPTA7bDxuLmxlbmd0aDtsKz0xKXtsZXQgZD1uW2xdO2lmKG9bZF0hPT10W2RdKWJyZWFrfX1lbHNlIHI9aTtpPWkucGFyZW50fXJldHVybiByfXF1ZXJ5U2VsZWN0b3IoZSx0PXt9KXtyZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yQWxsKGUsdCwhMClbMF18fG51bGx9cXVlcnlTZWxlY3RvckFsbChlLHQ9e30scj0hMSl7bGV0IGk9W107aWYoIXRoaXMuY2hpbGRyZW58fHRoaXMuY2hpbGRyZW4ubGVuZ3RoPT09MClyZXR1cm4gaTtsZXQgbz1PYmplY3Qua2V5cyh0KTtyZXR1cm4gdGhpcy5jaGlsZHJlbi5mb3JFYWNoKG49PntyJiZpLmxlbmd0aD4wfHwobi5ub2RlLnR5cGUubmFtZT09PWUmJm8uZXZlcnkoZD0+dFtkXT09PW4ubm9kZS5hdHRyc1tkXSkmJmkucHVzaChuKSwhKHImJmkubGVuZ3RoPjApJiYoaT1pLmNvbmNhdChuLnF1ZXJ5U2VsZWN0b3JBbGwoZSx0LHIpKSkpfSksaX1zZXRBdHRyaWJ1dGUoZSl7bGV0e3RyOnR9PXRoaXMuZWRpdG9yLnN0YXRlO3Quc2V0Tm9kZU1hcmt1cCh0aGlzLmZyb20sdm9pZCAwLHsuLi50aGlzLm5vZGUuYXR0cnMsLi4uZX0pLHRoaXMuZWRpdG9yLnZpZXcuZGlzcGF0Y2godCl9fSxlSWE9YC5Qcm9zZU1pcnJvciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgouUHJvc2VNaXJyb3IgewogIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgd2hpdGUtc3BhY2U6IGJyZWFrLXNwYWNlczsKICAtd2Via2l0LWZvbnQtdmFyaWFudC1saWdhdHVyZXM6IG5vbmU7CiAgZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9uZTsKICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICJsaWdhIiAwOyAvKiB0aGUgYWJvdmUgZG9lc24ndCBzZWVtIHRvIHdvcmsgaW4gRWRnZSAqLwp9CgouUHJvc2VNaXJyb3IgW2NvbnRlbnRlZGl0YWJsZT0iZmFsc2UiXSB7CiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsKfQoKLlByb3NlTWlycm9yIFtjb250ZW50ZWRpdGFibGU9ImZhbHNlIl0gW2NvbnRlbnRlZGl0YWJsZT0idHJ1ZSJdIHsKICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7Cn0KCi5Qcm9zZU1pcnJvciBwcmUgewogIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKfQoKaW1nLlByb3NlTWlycm9yLXNlcGFyYXRvciB7CiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7CiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgd2lkdGg6IDAgIWltcG9ydGFudDsKICBoZWlnaHQ6IDAgIWltcG9ydGFudDsKfQoKLlByb3NlTWlycm9yLWdhcGN1cnNvciB7CiAgZGlzcGxheTogbm9uZTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbWFyZ2luOiAwOwp9CgouUHJvc2VNaXJyb3ItZ2FwY3Vyc29yOmFmdGVyIHsKICBjb250ZW50OiAiIjsKICBkaXNwbGF5OiBibG9jazsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAtMnB4OwogIHdpZHRoOiAyMHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCBibGFjazsKICBhbmltYXRpb246IFByb3NlTWlycm9yLWN1cnNvci1ibGluayAxLjFzIHN0ZXBzKDIsIHN0YXJ0KSBpbmZpbml0ZTsKfQoKQGtleWZyYW1lcyBQcm9zZU1pcnJvci1jdXJzb3ItYmxpbmsgewogIHRvIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICB9Cn0KCi5Qcm9zZU1pcnJvci1oaWRlc2VsZWN0aW9uICo6OnNlbGVjdGlvbiB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Cn0KCi5Qcm9zZU1pcnJvci1oaWRlc2VsZWN0aW9uICo6Oi1tb3otc2VsZWN0aW9uIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKfQoKLlByb3NlTWlycm9yLWhpZGVzZWxlY3Rpb24gKiB7CiAgY2FyZXQtY29sb3I6IHRyYW5zcGFyZW50Owp9CgouUHJvc2VNaXJyb3ItZm9jdXNlZCAuUHJvc2VNaXJyb3ItZ2FwY3Vyc29yIHsKICBkaXNwbGF5OiBibG9jazsKfQoKLnRpcHB5LWJveFtkYXRhLWFuaW1hdGlvbj1mYWRlXVtkYXRhLXN0YXRlPWhpZGRlbl0gewogIG9wYWNpdHk6IDAKfWA7cyhGWmUsImNyZWF0ZVN0eWxlVGFnIik7a3JlPWNsYXNzIGV4dGVuZHMgeVple3N0YXRpY3tzKHRoaXMsIkVkaXRvciIpfWNvbnN0cnVjdG9yKGU9e30pe3N1cGVyKCksdGhpcy5pc0ZvY3VzZWQ9ITEsdGhpcy5pc0luaXRpYWxpemVkPSExLHRoaXMuZXh0ZW5zaW9uU3RvcmFnZT17fSx0aGlzLm9wdGlvbnM9e2VsZW1lbnQ6ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksY29udGVudDoiIixpbmplY3RDU1M6ITAsaW5qZWN0Tm9uY2U6dm9pZCAwLGV4dGVuc2lvbnM6W10sYXV0b2ZvY3VzOiExLGVkaXRhYmxlOiEwLGVkaXRvclByb3BzOnt9LHBhcnNlT3B0aW9uczp7fSxjb3JlRXh0ZW5zaW9uT3B0aW9uczp7fSxlbmFibGVJbnB1dFJ1bGVzOiEwLGVuYWJsZVBhc3RlUnVsZXM6ITAsZW5hYmxlQ29yZUV4dGVuc2lvbnM6ITAsZW5hYmxlQ29udGVudENoZWNrOiExLGVtaXRDb250ZW50RXJyb3I6ITEsb25CZWZvcmVDcmVhdGU6cygoKT0+bnVsbCwib25CZWZvcmVDcmVhdGUiKSxvbkNyZWF0ZTpzKCgpPT5udWxsLCJvbkNyZWF0ZSIpLG9uVXBkYXRlOnMoKCk9Pm51bGwsIm9uVXBkYXRlIiksb25TZWxlY3Rpb25VcGRhdGU6cygoKT0+bnVsbCwib25TZWxlY3Rpb25VcGRhdGUiKSxvblRyYW5zYWN0aW9uOnMoKCk9Pm51bGwsIm9uVHJhbnNhY3Rpb24iKSxvbkZvY3VzOnMoKCk9Pm51bGwsIm9uRm9jdXMiKSxvbkJsdXI6cygoKT0+bnVsbCwib25CbHVyIiksb25EZXN0cm95OnMoKCk9Pm51bGwsIm9uRGVzdHJveSIpLG9uQ29udGVudEVycm9yOnMoKHtlcnJvcjp0fSk9Pnt0aHJvdyB0fSwib25Db250ZW50RXJyb3IiKSxvblBhc3RlOnMoKCk9Pm51bGwsIm9uUGFzdGUiKSxvbkRyb3A6cygoKT0+bnVsbCwib25Ecm9wIil9LHRoaXMuaXNDYXB0dXJpbmdUcmFuc2FjdGlvbj0hMSx0aGlzLmNhcHR1cmVkVHJhbnNhY3Rpb249bnVsbCx0aGlzLnNldE9wdGlvbnMoZSksdGhpcy5jcmVhdGVFeHRlbnNpb25NYW5hZ2VyKCksdGhpcy5jcmVhdGVDb21tYW5kTWFuYWdlcigpLHRoaXMuY3JlYXRlU2NoZW1hKCksdGhpcy5vbigiYmVmb3JlQ3JlYXRlIix0aGlzLm9wdGlvbnMub25CZWZvcmVDcmVhdGUpLHRoaXMuZW1pdCgiYmVmb3JlQ3JlYXRlIix7ZWRpdG9yOnRoaXN9KSx0aGlzLm9uKCJjb250ZW50RXJyb3IiLHRoaXMub3B0aW9ucy5vbkNvbnRlbnRFcnJvciksdGhpcy5jcmVhdGVWaWV3KCksdGhpcy5pbmplY3RDU1MoKSx0aGlzLm9uKCJjcmVhdGUiLHRoaXMub3B0aW9ucy5vbkNyZWF0ZSksdGhpcy5vbigidXBkYXRlIix0aGlzLm9wdGlvbnMub25VcGRhdGUpLHRoaXMub24oInNlbGVjdGlvblVwZGF0ZSIsdGhpcy5vcHRpb25zLm9uU2VsZWN0aW9uVXBkYXRlKSx0aGlzLm9uKCJ0cmFuc2FjdGlvbiIsdGhpcy5vcHRpb25zLm9uVHJhbnNhY3Rpb24pLHRoaXMub24oImZvY3VzIix0aGlzLm9wdGlvbnMub25Gb2N1cyksdGhpcy5vbigiYmx1ciIsdGhpcy5vcHRpb25zLm9uQmx1ciksdGhpcy5vbigiZGVzdHJveSIsdGhpcy5vcHRpb25zLm9uRGVzdHJveSksdGhpcy5vbigiZHJvcCIsKHtldmVudDp0LHNsaWNlOnIsbW92ZWQ6aX0pPT50aGlzLm9wdGlvbnMub25Ecm9wKHQscixpKSksdGhpcy5vbigicGFzdGUiLCh7ZXZlbnQ6dCxzbGljZTpyfSk9PnRoaXMub3B0aW9ucy5vblBhc3RlKHQscikpLHdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dGhpcy5pc0Rlc3Ryb3llZHx8KHRoaXMuY29tbWFuZHMuZm9jdXModGhpcy5vcHRpb25zLmF1dG9mb2N1cyksdGhpcy5lbWl0KCJjcmVhdGUiLHtlZGl0b3I6dGhpc30pLHRoaXMuaXNJbml0aWFsaXplZD0hMCl9LDApfWdldCBzdG9yYWdlKCl7cmV0dXJuIHRoaXMuZXh0ZW5zaW9uU3RvcmFnZX1nZXQgY29tbWFuZHMoKXtyZXR1cm4gdGhpcy5jb21tYW5kTWFuYWdlci5jb21tYW5kc31jaGFpbigpe3JldHVybiB0aGlzLmNvbW1hbmRNYW5hZ2VyLmNoYWluKCl9Y2FuKCl7cmV0dXJuIHRoaXMuY29tbWFuZE1hbmFnZXIuY2FuKCl9aW5qZWN0Q1NTKCl7dGhpcy5vcHRpb25zLmluamVjdENTUyYmZG9jdW1lbnQmJih0aGlzLmNzcz1GWmUoZUlhLHRoaXMub3B0aW9ucy5pbmplY3ROb25jZSkpfXNldE9wdGlvbnMoZT17fSl7dGhpcy5vcHRpb25zPXsuLi50aGlzLm9wdGlvbnMsLi4uZX0sISghdGhpcy52aWV3fHwhdGhpcy5zdGF0ZXx8dGhpcy5pc0Rlc3Ryb3llZCkmJih0aGlzLm9wdGlvbnMuZWRpdG9yUHJvcHMmJnRoaXMudmlldy5zZXRQcm9wcyh0aGlzLm9wdGlvbnMuZWRpdG9yUHJvcHMpLHRoaXMudmlldy51cGRhdGVTdGF0ZSh0aGlzLnN0YXRlKSl9c2V0RWRpdGFibGUoZSx0PSEwKXt0aGlzLnNldE9wdGlvbnMoe2VkaXRhYmxlOmV9KSx0JiZ0aGlzLmVtaXQoInVwZGF0ZSIse2VkaXRvcjp0aGlzLHRyYW5zYWN0aW9uOnRoaXMuc3RhdGUudHJ9KX1nZXQgaXNFZGl0YWJsZSgpe3JldHVybiB0aGlzLm9wdGlvbnMuZWRpdGFibGUmJnRoaXMudmlldyYmdGhpcy52aWV3LmVkaXRhYmxlfWdldCBzdGF0ZSgpe3JldHVybiB0aGlzLnZpZXcuc3RhdGV9cmVnaXN0ZXJQbHVnaW4oZSx0KXtsZXQgcj11cmUodCk/dChlLFsuLi50aGlzLnN0YXRlLnBsdWdpbnNdKTpbLi4udGhpcy5zdGF0ZS5wbHVnaW5zLGVdLGk9dGhpcy5zdGF0ZS5yZWNvbmZpZ3VyZSh7cGx1Z2luczpyfSk7cmV0dXJuIHRoaXMudmlldy51cGRhdGVTdGF0ZShpKSxpfXVucmVnaXN0ZXJQbHVnaW4oZSl7aWYodGhpcy5pc0Rlc3Ryb3llZClyZXR1cm47bGV0IHQ9dGhpcy5zdGF0ZS5wbHVnaW5zLHI9dDtpZihbXS5jb25jYXQoZSkuZm9yRWFjaChvPT57bGV0IG49dHlwZW9mIG89PSJzdHJpbmciP2Ake299JGA6by5rZXk7cj1yLmZpbHRlcihsPT4hbC5rZXkuc3RhcnRzV2l0aChuKSl9KSx0Lmxlbmd0aD09PXIubGVuZ3RoKXJldHVybjtsZXQgaT10aGlzLnN0YXRlLnJlY29uZmlndXJlKHtwbHVnaW5zOnJ9KTtyZXR1cm4gdGhpcy52aWV3LnVwZGF0ZVN0YXRlKGkpLGl9Y3JlYXRlRXh0ZW5zaW9uTWFuYWdlcigpe3ZhciBlLHQ7bGV0IGk9Wy4uLnRoaXMub3B0aW9ucy5lbmFibGVDb3JlRXh0ZW5zaW9ucz9bUW5hLGpuYS5jb25maWd1cmUoe2Jsb2NrU2VwYXJhdG9yOih0PShlPXRoaXMub3B0aW9ucy5jb3JlRXh0ZW5zaW9uT3B0aW9ucyk9PT1udWxsfHxlPT09dm9pZCAwP3ZvaWQgMDplLmNsaXBib2FyZFRleHRTZXJpYWxpemVyKT09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQuYmxvY2tTZXBhcmF0b3J9KSxabmEsZTFhLHQxYSxyMWEsWG5hLGExYV0uZmlsdGVyKG89PnR5cGVvZiB0aGlzLm9wdGlvbnMuZW5hYmxlQ29yZUV4dGVuc2lvbnM9PSJvYmplY3QiP3RoaXMub3B0aW9ucy5lbmFibGVDb3JlRXh0ZW5zaW9uc1tvLm5hbWVdIT09ITE6ITApOltdLC4uLnRoaXMub3B0aW9ucy5leHRlbnNpb25zXS5maWx0ZXIobz0+WyJleHRlbnNpb24iLCJub2RlIiwibWFyayJdLmluY2x1ZGVzKG8/LnR5cGUpKTt0aGlzLmV4dGVuc2lvbk1hbmFnZXI9bmV3IGNyZShpLHRoaXMpfWNyZWF0ZUNvbW1hbmRNYW5hZ2VyKCl7dGhpcy5jb21tYW5kTWFuYWdlcj1uZXcgdzQoe2VkaXRvcjp0aGlzfSl9Y3JlYXRlU2NoZW1hKCl7dGhpcy5zY2hlbWE9dGhpcy5leHRlbnNpb25NYW5hZ2VyLnNjaGVtYX1jcmVhdGVWaWV3KCl7dmFyIGU7bGV0IHQ7dHJ5e3Q9cFcodGhpcy5vcHRpb25zLmNvbnRlbnQsdGhpcy5zY2hlbWEsdGhpcy5vcHRpb25zLnBhcnNlT3B0aW9ucyx7ZXJyb3JPbkludmFsaWRDb250ZW50OnRoaXMub3B0aW9ucy5lbmFibGVDb250ZW50Q2hlY2t9KX1jYXRjaChuKXtpZighKG4gaW5zdGFuY2VvZiBFcnJvcil8fCFbIlt0aXB0YXAgZXJyb3JdOiBJbnZhbGlkIEpTT04gY29udGVudCIsIlt0aXB0YXAgZXJyb3JdOiBJbnZhbGlkIEhUTUwgY29udGVudCJdLmluY2x1ZGVzKG4ubWVzc2FnZSkpdGhyb3cgbjt0aGlzLmVtaXQoImNvbnRlbnRFcnJvciIse2VkaXRvcjp0aGlzLGVycm9yOm4sZGlzYWJsZUNvbGxhYm9yYXRpb246cygoKT0+e3RoaXMuc3RvcmFnZS5jb2xsYWJvcmF0aW9uJiYodGhpcy5zdG9yYWdlLmNvbGxhYm9yYXRpb24uaXNEaXNhYmxlZD0hMCksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM9dGhpcy5vcHRpb25zLmV4dGVuc2lvbnMuZmlsdGVyKGw9PmwubmFtZSE9PSJjb2xsYWJvcmF0aW9uIiksdGhpcy5jcmVhdGVFeHRlbnNpb25NYW5hZ2VyKCl9LCJkaXNhYmxlQ29sbGFib3JhdGlvbiIpfSksdD1wVyh0aGlzLm9wdGlvbnMuY29udGVudCx0aGlzLnNjaGVtYSx0aGlzLm9wdGlvbnMucGFyc2VPcHRpb25zLHtlcnJvck9uSW52YWxpZENvbnRlbnQ6ITF9KX1sZXQgcj1icmUodCx0aGlzLm9wdGlvbnMuYXV0b2ZvY3VzKTt0aGlzLnZpZXc9bmV3IENtKHRoaXMub3B0aW9ucy5lbGVtZW50LHsuLi50aGlzLm9wdGlvbnMuZWRpdG9yUHJvcHMsYXR0cmlidXRlczp7cm9sZToidGV4dGJveCIsLi4uKGU9dGhpcy5vcHRpb25zLmVkaXRvclByb3BzKT09PW51bGx8fGU9PT12b2lkIDA/dm9pZCAwOmUuYXR0cmlidXRlc30sZGlzcGF0Y2hUcmFuc2FjdGlvbjp0aGlzLmRpc3BhdGNoVHJhbnNhY3Rpb24uYmluZCh0aGlzKSxzdGF0ZTpLVS5jcmVhdGUoe2RvYzp0LHNlbGVjdGlvbjpyfHx2b2lkIDB9KX0pO2xldCBpPXRoaXMuc3RhdGUucmVjb25maWd1cmUoe3BsdWdpbnM6dGhpcy5leHRlbnNpb25NYW5hZ2VyLnBsdWdpbnN9KTt0aGlzLnZpZXcudXBkYXRlU3RhdGUoaSksdGhpcy5jcmVhdGVOb2RlVmlld3MoKSx0aGlzLnByZXBlbmRDbGFzcygpO2xldCBvPXRoaXMudmlldy5kb207by5lZGl0b3I9dGhpc31jcmVhdGVOb2RlVmlld3MoKXt0aGlzLnZpZXcuaXNEZXN0cm95ZWR8fHRoaXMudmlldy5zZXRQcm9wcyh7bm9kZVZpZXdzOnRoaXMuZXh0ZW5zaW9uTWFuYWdlci5ub2RlVmlld3N9KX1wcmVwZW5kQ2xhc3MoKXt0aGlzLnZpZXcuZG9tLmNsYXNzTmFtZT1gdGlwdGFwICR7dGhpcy52aWV3LmRvbS5jbGFzc05hbWV9YH1jYXB0dXJlVHJhbnNhY3Rpb24oZSl7dGhpcy5pc0NhcHR1cmluZ1RyYW5zYWN0aW9uPSEwLGUoKSx0aGlzLmlzQ2FwdHVyaW5nVHJhbnNhY3Rpb249ITE7bGV0IHQ9dGhpcy5jYXB0dXJlZFRyYW5zYWN0aW9uO3JldHVybiB0aGlzLmNhcHR1cmVkVHJhbnNhY3Rpb249bnVsbCx0fWRpc3BhdGNoVHJhbnNhY3Rpb24oZSl7aWYodGhpcy52aWV3LmlzRGVzdHJveWVkKXJldHVybjtpZih0aGlzLmlzQ2FwdHVyaW5nVHJhbnNhY3Rpb24pe2lmKCF0aGlzLmNhcHR1cmVkVHJhbnNhY3Rpb24pe3RoaXMuY2FwdHVyZWRUcmFuc2FjdGlvbj1lO3JldHVybn1lLnN0ZXBzLmZvckVhY2gobj0+e3ZhciBsO3JldHVybihsPXRoaXMuY2FwdHVyZWRUcmFuc2FjdGlvbik9PT1udWxsfHxsPT09dm9pZCAwP3ZvaWQgMDpsLnN0ZXAobil9KTtyZXR1cm59bGV0IHQ9dGhpcy5zdGF0ZS5hcHBseShlKSxyPSF0aGlzLnN0YXRlLnNlbGVjdGlvbi5lcSh0LnNlbGVjdGlvbik7dGhpcy5lbWl0KCJiZWZvcmVUcmFuc2FjdGlvbiIse2VkaXRvcjp0aGlzLHRyYW5zYWN0aW9uOmUsbmV4dFN0YXRlOnR9KSx0aGlzLnZpZXcudXBkYXRlU3RhdGUodCksdGhpcy5lbWl0KCJ0cmFuc2FjdGlvbiIse2VkaXRvcjp0aGlzLHRyYW5zYWN0aW9uOmV9KSxyJiZ0aGlzLmVtaXQoInNlbGVjdGlvblVwZGF0ZSIse2VkaXRvcjp0aGlzLHRyYW5zYWN0aW9uOmV9KTtsZXQgaT1lLmdldE1ldGEoImZvY3VzIiksbz1lLmdldE1ldGEoImJsdXIiKTtpJiZ0aGlzLmVtaXQoImZvY3VzIix7ZWRpdG9yOnRoaXMsZXZlbnQ6aS5ldmVudCx0cmFuc2FjdGlvbjplfSksbyYmdGhpcy5lbWl0KCJibHVyIix7ZWRpdG9yOnRoaXMsZXZlbnQ6by5ldmVudCx0cmFuc2FjdGlvbjplfSksISghZS5kb2NDaGFuZ2VkfHxlLmdldE1ldGEoInByZXZlbnRVcGRhdGUiKSkmJnRoaXMuZW1pdCgidXBkYXRlIix7ZWRpdG9yOnRoaXMsdHJhbnNhY3Rpb246ZX0pfWdldEF0dHJpYnV0ZXMoZSl7cmV0dXJuIGJXKHRoaXMuc3RhdGUsZSl9aXNBY3RpdmUoZSx0KXtsZXQgcj10eXBlb2YgZT09InN0cmluZyI/ZTpudWxsLGk9dHlwZW9mIGU9PSJzdHJpbmciP3Q6ZTtyZXR1cm4gT1plKHRoaXMuc3RhdGUscixpKX1nZXRKU09OKCl7cmV0dXJuIHRoaXMuc3RhdGUuZG9jLnRvSlNPTigpfWdldEhUTUwoKXtyZXR1cm4gJG0odGhpcy5zdGF0ZS5kb2MuY29udGVudCx0aGlzLnNjaGVtYSl9Z2V0VGV4dChlKXtsZXR7YmxvY2tTZXBhcmF0b3I6dD1gCgpgLHRleHRTZXJpYWxpemVyczpyPXt9fT1lfHx7fTtyZXR1cm4gd3JlKHRoaXMuc3RhdGUuZG9jLHtibG9ja1NlcGFyYXRvcjp0LHRleHRTZXJpYWxpemVyczp7Li4uZFcodGhpcy5zY2hlbWEpLC4uLnJ9fSl9Z2V0IGlzRW1wdHkoKXtyZXR1cm4gbVcodGhpcy5zdGF0ZS5kb2MpfWdldENoYXJhY3RlckNvdW50KCl7cmV0dXJuIGNvbnNvbGUud2FybignW3RpcHRhcCB3YXJuXTogImVkaXRvci5nZXRDaGFyYWN0ZXJDb3VudCgpIiBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlICJlZGl0b3Iuc3RvcmFnZS5jaGFyYWN0ZXJDb3VudC5jaGFyYWN0ZXJzKCkiIGluc3RlYWQuJyksdGhpcy5zdGF0ZS5kb2MuY29udGVudC5zaXplLTJ9ZGVzdHJveSgpe2lmKHRoaXMuZW1pdCgiZGVzdHJveSIpLHRoaXMudmlldyl7bGV0IGU9dGhpcy52aWV3LmRvbTtlJiZlLmVkaXRvciYmZGVsZXRlIGUuZWRpdG9yLHRoaXMudmlldy5kZXN0cm95KCl9dGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKX1nZXQgaXNEZXN0cm95ZWQoKXt2YXIgZTtyZXR1cm4hKCEoKGU9dGhpcy52aWV3KT09PW51bGx8fGU9PT12b2lkIDApJiZlLmRvY1ZpZXcpfSRub2RlKGUsdCl7dmFyIHI7cmV0dXJuKChyPXRoaXMuJGRvYyk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLnF1ZXJ5U2VsZWN0b3IoZSx0KSl8fG51bGx9JG5vZGVzKGUsdCl7dmFyIHI7cmV0dXJuKChyPXRoaXMuJGRvYyk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLnF1ZXJ5U2VsZWN0b3JBbGwoZSx0KSl8fG51bGx9JHBvcyhlKXtsZXQgdD10aGlzLnN0YXRlLmRvYy5yZXNvbHZlKGUpO3JldHVybiBuZXcgZ1codCx0aGlzKX1nZXQgJGRvYygpe3JldHVybiB0aGlzLiRwb3MoMCl9fTtzKEJuLCJtYXJrSW5wdXRSdWxlIik7cygkcmUsIm5vZGVJbnB1dFJ1bGUiKTtzKHI1LCJ0ZXh0YmxvY2tUeXBlSW5wdXRSdWxlIik7cyhtciwidGV4dElucHV0UnVsZSIpO3MoSjIsIndyYXBwaW5nSW5wdXRSdWxlIik7b3I9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJOb2RlIil9Y29uc3RydWN0b3IoZT17fSl7dGhpcy50eXBlPSJub2RlIix0aGlzLm5hbWU9Im5vZGUiLHRoaXMucGFyZW50PW51bGwsdGhpcy5jaGlsZD1udWxsLHRoaXMuY29uZmlnPXtuYW1lOnRoaXMubmFtZSxkZWZhdWx0T3B0aW9uczp7fX0sdGhpcy5jb25maWc9ey4uLnRoaXMuY29uZmlnLC4uLmV9LHRoaXMubmFtZT10aGlzLmNvbmZpZy5uYW1lLGUuZGVmYXVsdE9wdGlvbnMmJk9iamVjdC5rZXlzKGUuZGVmYXVsdE9wdGlvbnMpLmxlbmd0aD4wJiZjb25zb2xlLndhcm4oYFt0aXB0YXAgd2Fybl06IEJSRUFLSU5HIENIQU5HRTogImRlZmF1bHRPcHRpb25zIiBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlICJhZGRPcHRpb25zIiBpbnN0ZWFkLiBGb3VuZCBpbiBleHRlbnNpb246ICIke3RoaXMubmFtZX0iLmApLHRoaXMub3B0aW9ucz10aGlzLmNvbmZpZy5kZWZhdWx0T3B0aW9ucyx0aGlzLmNvbmZpZy5hZGRPcHRpb25zJiYodGhpcy5vcHRpb25zPWp0KHB0KHRoaXMsImFkZE9wdGlvbnMiLHtuYW1lOnRoaXMubmFtZX0pKSksdGhpcy5zdG9yYWdlPWp0KHB0KHRoaXMsImFkZFN0b3JhZ2UiLHtuYW1lOnRoaXMubmFtZSxvcHRpb25zOnRoaXMub3B0aW9uc30pKXx8e319c3RhdGljIGNyZWF0ZShlPXt9KXtyZXR1cm4gbmV3IGEoZSl9Y29uZmlndXJlKGU9e30pe2xldCB0PXRoaXMuZXh0ZW5kKHsuLi50aGlzLmNvbmZpZyxhZGRPcHRpb25zOnMoKCk9PkFtKHRoaXMub3B0aW9ucyxlKSwiYWRkT3B0aW9ucyIpfSk7cmV0dXJuIHQubmFtZT10aGlzLm5hbWUsdC5wYXJlbnQ9dGhpcy5wYXJlbnQsdH1leHRlbmQoZT17fSl7bGV0IHQ9bmV3IGEoZSk7cmV0dXJuIHQucGFyZW50PXRoaXMsdGhpcy5jaGlsZD10LHQubmFtZT1lLm5hbWU/ZS5uYW1lOnQucGFyZW50Lm5hbWUsZS5kZWZhdWx0T3B0aW9ucyYmT2JqZWN0LmtleXMoZS5kZWZhdWx0T3B0aW9ucykubGVuZ3RoPjAmJmNvbnNvbGUud2FybihgW3RpcHRhcCB3YXJuXTogQlJFQUtJTkcgQ0hBTkdFOiAiZGVmYXVsdE9wdGlvbnMiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgImFkZE9wdGlvbnMiIGluc3RlYWQuIEZvdW5kIGluIGV4dGVuc2lvbjogIiR7dC5uYW1lfSIuYCksdC5vcHRpb25zPWp0KHB0KHQsImFkZE9wdGlvbnMiLHtuYW1lOnQubmFtZX0pKSx0LnN0b3JhZ2U9anQocHQodCwiYWRkU3RvcmFnZSIse25hbWU6dC5uYW1lLG9wdGlvbnM6dC5vcHRpb25zfSkpLHR9fSxTcmU9Y2xhc3N7c3RhdGlje3ModGhpcywiTm9kZVZpZXciKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5pc0RyYWdnaW5nPSExLHRoaXMuY29tcG9uZW50PWUsdGhpcy5lZGl0b3I9dC5lZGl0b3IsdGhpcy5vcHRpb25zPXtzdG9wRXZlbnQ6bnVsbCxpZ25vcmVNdXRhdGlvbjpudWxsLC4uLnJ9LHRoaXMuZXh0ZW5zaW9uPXQuZXh0ZW5zaW9uLHRoaXMubm9kZT10Lm5vZGUsdGhpcy5kZWNvcmF0aW9ucz10LmRlY29yYXRpb25zLHRoaXMuaW5uZXJEZWNvcmF0aW9ucz10LmlubmVyRGVjb3JhdGlvbnMsdGhpcy52aWV3PXQudmlldyx0aGlzLkhUTUxBdHRyaWJ1dGVzPXQuSFRNTEF0dHJpYnV0ZXMsdGhpcy5nZXRQb3M9dC5nZXRQb3MsdGhpcy5tb3VudCgpfW1vdW50KCl7fWdldCBkb20oKXtyZXR1cm4gdGhpcy5lZGl0b3Iudmlldy5kb219Z2V0IGNvbnRlbnRET00oKXtyZXR1cm4gbnVsbH1vbkRyYWdTdGFydChlKXt2YXIgdCxyLGksbyxuLGwsZDtsZXR7dmlldzpjfT10aGlzLmVkaXRvcixwPWUudGFyZ2V0LHU9cC5ub2RlVHlwZT09PTM/KHQ9cC5wYXJlbnRFbGVtZW50KT09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQuY2xvc2VzdCgiW2RhdGEtZHJhZy1oYW5kbGVdIik6cC5jbG9zZXN0KCJbZGF0YS1kcmFnLWhhbmRsZV0iKTtpZighdGhpcy5kb218fCEoKHI9dGhpcy5jb250ZW50RE9NKT09PW51bGx8fHI9PT12b2lkIDApJiZyLmNvbnRhaW5zKHApfHwhdSlyZXR1cm47bGV0IG09MCx2PTA7aWYodGhpcy5kb20hPT11KXtsZXQgaz10aGlzLmRvbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxDPXUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksTj0oaT1lLm9mZnNldFgpIT09bnVsbCYmaSE9PXZvaWQgMD9pOihvPWUubmF0aXZlRXZlbnQpPT09bnVsbHx8bz09PXZvaWQgMD92b2lkIDA6by5vZmZzZXRYLF89KG49ZS5vZmZzZXRZKSE9PW51bGwmJm4hPT12b2lkIDA/bjoobD1lLm5hdGl2ZUV2ZW50KT09PW51bGx8fGw9PT12b2lkIDA/dm9pZCAwOmwub2Zmc2V0WTttPUMueC1rLngrTix2PUMueS1rLnkrX31sZXQgeD10aGlzLmRvbS5jbG9uZU5vZGUoITApOyhkPWUuZGF0YVRyYW5zZmVyKT09PW51bGx8fGQ9PT12b2lkIDB8fGQuc2V0RHJhZ0ltYWdlKHgsbSx2KTtsZXQgYj10aGlzLmdldFBvcygpO2lmKHR5cGVvZiBiIT0ibnVtYmVyIilyZXR1cm47bGV0IGc9a3QuY3JlYXRlKGMuc3RhdGUuZG9jLGIpLHk9Yy5zdGF0ZS50ci5zZXRTZWxlY3Rpb24oZyk7Yy5kaXNwYXRjaCh5KX1zdG9wRXZlbnQoZSl7dmFyIHQ7aWYoIXRoaXMuZG9tKXJldHVybiExO2lmKHR5cGVvZiB0aGlzLm9wdGlvbnMuc3RvcEV2ZW50PT0iZnVuY3Rpb24iKXJldHVybiB0aGlzLm9wdGlvbnMuc3RvcEV2ZW50KHtldmVudDplfSk7bGV0IHI9ZS50YXJnZXQ7aWYoISh0aGlzLmRvbS5jb250YWlucyhyKSYmISghKCh0PXRoaXMuY29udGVudERPTSk9PT1udWxsfHx0PT09dm9pZCAwKSYmdC5jb250YWlucyhyKSkpKXJldHVybiExO2xldCBvPWUudHlwZS5zdGFydHNXaXRoKCJkcmFnIiksbj1lLnR5cGU9PT0iZHJvcCI7aWYoKFsiSU5QVVQiLCJCVVRUT04iLCJTRUxFQ1QiLCJURVhUQVJFQSJdLmluY2x1ZGVzKHIudGFnTmFtZSl8fHIuaXNDb250ZW50RWRpdGFibGUpJiYhbiYmIW8pcmV0dXJuITA7bGV0e2lzRWRpdGFibGU6ZH09dGhpcy5lZGl0b3Ise2lzRHJhZ2dpbmc6Y309dGhpcyxwPSEhdGhpcy5ub2RlLnR5cGUuc3BlYy5kcmFnZ2FibGUsdT1rdC5pc1NlbGVjdGFibGUodGhpcy5ub2RlKSxtPWUudHlwZT09PSJjb3B5Iix2PWUudHlwZT09PSJwYXN0ZSIseD1lLnR5cGU9PT0iY3V0IixiPWUudHlwZT09PSJtb3VzZWRvd24iO2lmKCFwJiZ1JiZvJiZlLnRhcmdldD09PXRoaXMuZG9tJiZlLnByZXZlbnREZWZhdWx0KCkscCYmbyYmIWMmJmUudGFyZ2V0PT09dGhpcy5kb20pcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSwhMTtpZihwJiZkJiYhYyYmYil7bGV0IGc9ci5jbG9zZXN0KCJbZGF0YS1kcmFnLWhhbmRsZV0iKTtnJiYodGhpcy5kb209PT1nfHx0aGlzLmRvbS5jb250YWlucyhnKSkmJih0aGlzLmlzRHJhZ2dpbmc9ITAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2VuZCIsKCk9Pnt0aGlzLmlzRHJhZ2dpbmc9ITF9LHtvbmNlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsKCk9Pnt0aGlzLmlzRHJhZ2dpbmc9ITF9LHtvbmNlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsKCk9Pnt0aGlzLmlzRHJhZ2dpbmc9ITF9LHtvbmNlOiEwfSkpfXJldHVybiEoY3x8bnx8bXx8dnx8eHx8YiYmdSl9aWdub3JlTXV0YXRpb24oZSl7cmV0dXJuIXRoaXMuZG9tfHwhdGhpcy5jb250ZW50RE9NPyEwOnR5cGVvZiB0aGlzLm9wdGlvbnMuaWdub3JlTXV0YXRpb249PSJmdW5jdGlvbiI/dGhpcy5vcHRpb25zLmlnbm9yZU11dGF0aW9uKHttdXRhdGlvbjplfSk6dGhpcy5ub2RlLmlzTGVhZnx8dGhpcy5ub2RlLmlzQXRvbT8hMDplLnR5cGU9PT0ic2VsZWN0aW9uInx8dGhpcy5kb20uY29udGFpbnMoZS50YXJnZXQpJiZlLnR5cGU9PT0iY2hpbGRMaXN0IiYmKEpmKCl8fHdaZSgpKSYmdGhpcy5lZGl0b3IuaXNGb2N1c2VkJiZbLi4uQXJyYXkuZnJvbShlLmFkZGVkTm9kZXMpLC4uLkFycmF5LmZyb20oZS5yZW1vdmVkTm9kZXMpXS5ldmVyeShyPT5yLmlzQ29udGVudEVkaXRhYmxlKT8hMTp0aGlzLmNvbnRlbnRET009PT1lLnRhcmdldCYmZS50eXBlPT09ImF0dHJpYnV0ZXMiPyEwOiF0aGlzLmNvbnRlbnRET00uY29udGFpbnMoZS50YXJnZXQpfXVwZGF0ZUF0dHJpYnV0ZXMoZSl7dGhpcy5lZGl0b3IuY29tbWFuZHMuY29tbWFuZCgoe3RyOnR9KT0+e2xldCByPXRoaXMuZ2V0UG9zKCk7cmV0dXJuIHR5cGVvZiByIT0ibnVtYmVyIj8hMToodC5zZXROb2RlTWFya3VwKHIsdm9pZCAwLHsuLi50aGlzLm5vZGUuYXR0cnMsLi4uZX0pLCEwKX0pfWRlbGV0ZU5vZGUoKXtsZXQgZT10aGlzLmdldFBvcygpO2lmKHR5cGVvZiBlIT0ibnVtYmVyIilyZXR1cm47bGV0IHQ9ZSt0aGlzLm5vZGUubm9kZVNpemU7dGhpcy5lZGl0b3IuY29tbWFuZHMuZGVsZXRlUmFuZ2Uoe2Zyb206ZSx0bzp0fSl9fTtzKE9vLCJtYXJrUGFzdGVSdWxlIik7cyhEcmUsImNhbkluc2VydE5vZGUiKTtzKGgxYSwiZXNjYXBlRm9yUmVnRXgiKTtzKG0xYSwiaXNTdHJpbmciKTtzKGcxYSwibm9kZVBhc3RlUnVsZSIpO3MoYjFhLCJ0ZXh0UGFzdGVSdWxlIik7enJlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRyYWNrZXIiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLnRyYW5zYWN0aW9uPWUsdGhpcy5jdXJyZW50U3RlcD10aGlzLnRyYW5zYWN0aW9uLnN0ZXBzLmxlbmd0aH1tYXAoZSl7bGV0IHQ9ITE7cmV0dXJue3Bvc2l0aW9uOnRoaXMudHJhbnNhY3Rpb24uc3RlcHMuc2xpY2UodGhpcy5jdXJyZW50U3RlcCkucmVkdWNlKChpLG8pPT57bGV0IG49by5nZXRNYXAoKS5tYXBSZXN1bHQoaSk7cmV0dXJuIG4uZGVsZXRlZCYmKHQ9ITApLG4ucG9zfSxlKSxkZWxldGVkOnR9fX19KTt2YXIgeDFhLEFyZSx5MWE9ZigoKT0+e2dyKCk7eDFhPS9eXHMqPlxzJC8sQXJlPW9yLmNyZWF0ZSh7bmFtZToiYmxvY2txdW90ZSIsYWRkT3B0aW9ucygpe3JldHVybntIVE1MQXR0cmlidXRlczp7fX19LGNvbnRlbnQ6ImJsb2NrKyIsZ3JvdXA6ImJsb2NrIixkZWZpbmluZzohMCxwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoiYmxvY2txdW90ZSJ9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe3JldHVyblsiYmxvY2txdW90ZSIsemEodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGEpLDBdfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRCbG9ja3F1b3RlOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLndyYXBJbih0aGlzLm5hbWUpLCJzZXRCbG9ja3F1b3RlIiksdG9nZ2xlQmxvY2txdW90ZTpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+YS50b2dnbGVXcmFwKHRoaXMubmFtZSksInRvZ2dsZUJsb2NrcXVvdGUiKSx1bnNldEJsb2NrcXVvdGU6cygoKT0+KHtjb21tYW5kczphfSk9PmEubGlmdCh0aGlzLm5hbWUpLCJ1bnNldEJsb2NrcXVvdGUiKX19LGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7cmV0dXJueyJNb2QtU2hpZnQtYiI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlQmxvY2txdW90ZSgpLCJNb2QtU2hpZnQtYiIpfX0sYWRkSW5wdXRSdWxlcygpe3JldHVybltKMih7ZmluZDp4MWEsdHlwZTp0aGlzLnR5cGV9KV19fSl9KTt2YXIgdzFhLE0xYSxrMWEsUzFhLFByZSx6MWE9ZigoKT0+e2dyKCk7dzFhPS8oPzpefFxzKShcKlwqKD8hXHMrXCpcKikoKD86W14qXSspKVwqXCooPyFccytcKlwqKSkkLyxNMWE9Lyg/Ol58XHMpKFwqXCooPyFccytcKlwqKSgoPzpbXipdKykpXCpcKig/IVxzK1wqXCopKS9nLGsxYT0vKD86XnxccykoX18oPyFccytfXykoKD86W15fXSspKV9fKD8hXHMrX18pKSQvLFMxYT0vKD86XnxccykoX18oPyFccytfXykoKD86W15fXSspKV9fKD8hXHMrX18pKS9nLFByZT1uaS5jcmVhdGUoe25hbWU6ImJvbGQiLGFkZE9wdGlvbnMoKXtyZXR1cm57SFRNTEF0dHJpYnV0ZXM6e319fSxwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoic3Ryb25nIn0se3RhZzoiYiIsZ2V0QXR0cnM6cyhhPT5hLnN0eWxlLmZvbnRXZWlnaHQhPT0ibm9ybWFsIiYmbnVsbCwiZ2V0QXR0cnMiKX0se3N0eWxlOiJmb250LXdlaWdodD00MDAiLGNsZWFyTWFyazpzKGE9PmEudHlwZS5uYW1lPT09dGhpcy5uYW1lLCJjbGVhck1hcmsiKX0se3N0eWxlOiJmb250LXdlaWdodCIsZ2V0QXR0cnM6cyhhPT4vXihib2xkKGVyKT98WzUtOV1cZHsyLH0pJC8udGVzdChhKSYmbnVsbCwiZ2V0QXR0cnMiKX1dfSxyZW5kZXJIVE1MKHtIVE1MQXR0cmlidXRlczphfSl7cmV0dXJuWyJzdHJvbmciLHphKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKSwwXX0sYWRkQ29tbWFuZHMoKXtyZXR1cm57c2V0Qm9sZDpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+YS5zZXRNYXJrKHRoaXMubmFtZSksInNldEJvbGQiKSx0b2dnbGVCb2xkOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnRvZ2dsZU1hcmsodGhpcy5uYW1lKSwidG9nZ2xlQm9sZCIpLHVuc2V0Qm9sZDpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+YS51bnNldE1hcmsodGhpcy5uYW1lKSwidW5zZXRCb2xkIil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLWIiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZUJvbGQoKSwiTW9kLWIiKSwiTW9kLUIiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZUJvbGQoKSwiTW9kLUIiKX19LGFkZElucHV0UnVsZXMoKXtyZXR1cm5bQm4oe2ZpbmQ6dzFhLHR5cGU6dGhpcy50eXBlfSksQm4oe2ZpbmQ6azFhLHR5cGU6dGhpcy50eXBlfSldfSxhZGRQYXN0ZVJ1bGVzKCl7cmV0dXJuW09vKHtmaW5kOk0xYSx0eXBlOnRoaXMudHlwZX0pLE9vKHtmaW5kOlMxYSx0eXBlOnRoaXMudHlwZX0pXX19KX0pO3ZhciB0SWEsQzFhLEJaZSxFcmUsXzFhPWYoKCk9PntncigpO3RJYT0ibGlzdEl0ZW0iLEMxYT0idGV4dFN0eWxlIixCWmU9L15ccyooWy0rKl0pXHMkLyxFcmU9b3IuY3JlYXRlKHtuYW1lOiJidWxsZXRMaXN0IixhZGRPcHRpb25zKCl7cmV0dXJue2l0ZW1UeXBlTmFtZToibGlzdEl0ZW0iLEhUTUxBdHRyaWJ1dGVzOnt9LGtlZXBNYXJrczohMSxrZWVwQXR0cmlidXRlczohMX19LGdyb3VwOiJibG9jayBsaXN0Iixjb250ZW50KCl7cmV0dXJuYCR7dGhpcy5vcHRpb25zLml0ZW1UeXBlTmFtZX0rYH0scGFyc2VIVE1MKCl7cmV0dXJuW3t0YWc6InVsIn1dfSxyZW5kZXJIVE1MKHtIVE1MQXR0cmlidXRlczphfSl7cmV0dXJuWyJ1bCIsemEodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGEpLDBdfSxhZGRDb21tYW5kcygpe3JldHVybnt0b2dnbGVCdWxsZXRMaXN0OnMoKCk9Pih7Y29tbWFuZHM6YSxjaGFpbjplfSk9PnRoaXMub3B0aW9ucy5rZWVwQXR0cmlidXRlcz9lKCkudG9nZ2xlTGlzdCh0aGlzLm5hbWUsdGhpcy5vcHRpb25zLml0ZW1UeXBlTmFtZSx0aGlzLm9wdGlvbnMua2VlcE1hcmtzKS51cGRhdGVBdHRyaWJ1dGVzKHRJYSx0aGlzLmVkaXRvci5nZXRBdHRyaWJ1dGVzKEMxYSkpLnJ1bigpOmEudG9nZ2xlTGlzdCh0aGlzLm5hbWUsdGhpcy5vcHRpb25zLml0ZW1UeXBlTmFtZSx0aGlzLm9wdGlvbnMua2VlcE1hcmtzKSwidG9nZ2xlQnVsbGV0TGlzdCIpfX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC1TaGlmdC04IjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVCdWxsZXRMaXN0KCksIk1vZC1TaGlmdC04Iil9fSxhZGRJbnB1dFJ1bGVzKCl7bGV0IGE9SjIoe2ZpbmQ6QlplLHR5cGU6dGhpcy50eXBlfSk7cmV0dXJuKHRoaXMub3B0aW9ucy5rZWVwTWFya3N8fHRoaXMub3B0aW9ucy5rZWVwQXR0cmlidXRlcykmJihhPUoyKHtmaW5kOkJaZSx0eXBlOnRoaXMudHlwZSxrZWVwTWFya3M6dGhpcy5vcHRpb25zLmtlZXBNYXJrcyxrZWVwQXR0cmlidXRlczp0aGlzLm9wdGlvbnMua2VlcEF0dHJpYnV0ZXMsZ2V0QXR0cmlidXRlczpzKCgpPT50aGlzLmVkaXRvci5nZXRBdHRyaWJ1dGVzKEMxYSksImdldEF0dHJpYnV0ZXMiKSxlZGl0b3I6dGhpcy5lZGl0b3J9KSksW2FdfX0pfSk7dmFyIFQxYSxMMWEsSXJlLCQxYT1mKCgpPT57Z3IoKTtUMWE9LyhefFteYF0pYChbXmBdKylgKD8hYCkvLEwxYT0vKF58W15gXSlgKFteYF0rKWAoPyFgKS9nLElyZT1uaS5jcmVhdGUoe25hbWU6ImNvZGUiLGFkZE9wdGlvbnMoKXtyZXR1cm57SFRNTEF0dHJpYnV0ZXM6e319fSxleGNsdWRlczoiXyIsY29kZTohMCxleGl0YWJsZTohMCxwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoiY29kZSJ9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe3JldHVyblsiY29kZSIsemEodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGEpLDBdfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRDb2RlOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnNldE1hcmsodGhpcy5uYW1lKSwic2V0Q29kZSIpLHRvZ2dsZUNvZGU6cygoKT0+KHtjb21tYW5kczphfSk9PmEudG9nZ2xlTWFyayh0aGlzLm5hbWUpLCJ0b2dnbGVDb2RlIiksdW5zZXRDb2RlOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnVuc2V0TWFyayh0aGlzLm5hbWUpLCJ1bnNldENvZGUiKX19LGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7cmV0dXJueyJNb2QtZSI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlQ29kZSgpLCJNb2QtZSIpfX0sYWRkSW5wdXRSdWxlcygpe3JldHVybltCbih7ZmluZDpUMWEsdHlwZTp0aGlzLnR5cGV9KV19LGFkZFBhc3RlUnVsZXMoKXtyZXR1cm5bT28oe2ZpbmQ6TDFhLHR5cGU6dGhpcy50eXBlfSldfX0pfSk7dmFyIEQxYSxBMWEsTnJlLFAxYT1mKCgpPT57Z3IoKTtaVSgpO0QxYT0vXmBgYChbYS16XSspP1tcc1xuXSQvLEExYT0vXn5+fihbYS16XSspP1tcc1xuXSQvLE5yZT1vci5jcmVhdGUoe25hbWU6ImNvZGVCbG9jayIsYWRkT3B0aW9ucygpe3JldHVybntsYW5ndWFnZUNsYXNzUHJlZml4OiJsYW5ndWFnZS0iLGV4aXRPblRyaXBsZUVudGVyOiEwLGV4aXRPbkFycm93RG93bjohMCxkZWZhdWx0TGFuZ3VhZ2U6bnVsbCxIVE1MQXR0cmlidXRlczp7fX19LGNvbnRlbnQ6InRleHQqIixtYXJrczoiIixncm91cDoiYmxvY2siLGNvZGU6ITAsZGVmaW5pbmc6ITAsYWRkQXR0cmlidXRlcygpe3JldHVybntsYW5ndWFnZTp7ZGVmYXVsdDp0aGlzLm9wdGlvbnMuZGVmYXVsdExhbmd1YWdlLHBhcnNlSFRNTDpzKGE9Pnt2YXIgZTtsZXR7bGFuZ3VhZ2VDbGFzc1ByZWZpeDp0fT10aGlzLm9wdGlvbnMsbz1bLi4uKChlPWEuZmlyc3RFbGVtZW50Q2hpbGQpPT09bnVsbHx8ZT09PXZvaWQgMD92b2lkIDA6ZS5jbGFzc0xpc3QpfHxbXV0uZmlsdGVyKG49Pm4uc3RhcnRzV2l0aCh0KSkubWFwKG49Pm4ucmVwbGFjZSh0LCIiKSlbMF07cmV0dXJuIG98fG51bGx9LCJwYXJzZUhUTUwiKSxyZW5kZXJlZDohMX19fSxwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoicHJlIixwcmVzZXJ2ZVdoaXRlc3BhY2U6ImZ1bGwifV19LHJlbmRlckhUTUwoe25vZGU6YSxIVE1MQXR0cmlidXRlczplfSl7cmV0dXJuWyJwcmUiLHphKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxlKSxbImNvZGUiLHtjbGFzczphLmF0dHJzLmxhbmd1YWdlP3RoaXMub3B0aW9ucy5sYW5ndWFnZUNsYXNzUHJlZml4K2EuYXR0cnMubGFuZ3VhZ2U6bnVsbH0sMF1dfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRDb2RlQmxvY2s6cyhhPT4oe2NvbW1hbmRzOmV9KT0+ZS5zZXROb2RlKHRoaXMubmFtZSxhKSwic2V0Q29kZUJsb2NrIiksdG9nZ2xlQ29kZUJsb2NrOnMoYT0+KHtjb21tYW5kczplfSk9PmUudG9nZ2xlTm9kZSh0aGlzLm5hbWUsInBhcmFncmFwaCIsYSksInRvZ2dsZUNvZGVCbG9jayIpfX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC1BbHQtYyI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlQ29kZUJsb2NrKCksIk1vZC1BbHQtYyIpLEJhY2tzcGFjZTpzKCgpPT57bGV0e2VtcHR5OmEsJGFuY2hvcjplfT10aGlzLmVkaXRvci5zdGF0ZS5zZWxlY3Rpb24sdD1lLnBvcz09PTE7cmV0dXJuIWF8fGUucGFyZW50LnR5cGUubmFtZSE9PXRoaXMubmFtZT8hMTp0fHwhZS5wYXJlbnQudGV4dENvbnRlbnQubGVuZ3RoP3RoaXMuZWRpdG9yLmNvbW1hbmRzLmNsZWFyTm9kZXMoKTohMX0sIkJhY2tzcGFjZSIpLEVudGVyOnMoKHtlZGl0b3I6YX0pPT57aWYoIXRoaXMub3B0aW9ucy5leGl0T25UcmlwbGVFbnRlcilyZXR1cm4hMTtsZXR7c3RhdGU6ZX09YSx7c2VsZWN0aW9uOnR9PWUseyRmcm9tOnIsZW1wdHk6aX09dDtpZighaXx8ci5wYXJlbnQudHlwZSE9PXRoaXMudHlwZSlyZXR1cm4hMTtsZXQgbz1yLnBhcmVudE9mZnNldD09PXIucGFyZW50Lm5vZGVTaXplLTIsbj1yLnBhcmVudC50ZXh0Q29udGVudC5lbmRzV2l0aChgCgpgKTtyZXR1cm4hb3x8IW4/ITE6YS5jaGFpbigpLmNvbW1hbmQoKHt0cjpsfSk9PihsLmRlbGV0ZShyLnBvcy0yLHIucG9zKSwhMCkpLmV4aXRDb2RlKCkucnVuKCl9LCJFbnRlciIpLEFycm93RG93bjpzKCh7ZWRpdG9yOmF9KT0+e2lmKCF0aGlzLm9wdGlvbnMuZXhpdE9uQXJyb3dEb3duKXJldHVybiExO2xldHtzdGF0ZTplfT1hLHtzZWxlY3Rpb246dCxkb2M6cn09ZSx7JGZyb206aSxlbXB0eTpvfT10O2lmKCFvfHxpLnBhcmVudC50eXBlIT09dGhpcy50eXBlfHwhKGkucGFyZW50T2Zmc2V0PT09aS5wYXJlbnQubm9kZVNpemUtMikpcmV0dXJuITE7bGV0IGw9aS5hZnRlcigpO3JldHVybiBsPT09dm9pZCAwPyExOnIubm9kZUF0KGwpP2EuY29tbWFuZHMuY29tbWFuZCgoe3RyOmN9KT0+KGMuc2V0U2VsZWN0aW9uKEV0Lm5lYXIoci5yZXNvbHZlKGwpKSksITApKTphLmNvbW1hbmRzLmV4aXRDb2RlKCl9LCJBcnJvd0Rvd24iKX19LGFkZElucHV0UnVsZXMoKXtyZXR1cm5bcjUoe2ZpbmQ6RDFhLHR5cGU6dGhpcy50eXBlLGdldEF0dHJpYnV0ZXM6cyhhPT4oe2xhbmd1YWdlOmFbMV19KSwiZ2V0QXR0cmlidXRlcyIpfSkscjUoe2ZpbmQ6QTFhLHR5cGU6dGhpcy50eXBlLGdldEF0dHJpYnV0ZXM6cyhhPT4oe2xhbmd1YWdlOmFbMV19KSwiZ2V0QXR0cmlidXRlcyIpfSldfSxhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtyZXR1cm5bbmV3IGFyKHtrZXk6bmV3IGJzKCJjb2RlQmxvY2tWU0NvZGVIYW5kbGVyIikscHJvcHM6e2hhbmRsZVBhc3RlOnMoKGEsZSk9PntpZighZS5jbGlwYm9hcmREYXRhfHx0aGlzLmVkaXRvci5pc0FjdGl2ZSh0aGlzLnR5cGUubmFtZSkpcmV0dXJuITE7bGV0IHQ9ZS5jbGlwYm9hcmREYXRhLmdldERhdGEoInRleHQvcGxhaW4iKSxyPWUuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCJ2c2NvZGUtZWRpdG9yLWRhdGEiKSxpPXI/SlNPTi5wYXJzZShyKTp2b2lkIDAsbz1pPy5tb2RlO2lmKCF0fHwhbylyZXR1cm4hMTtsZXR7dHI6bixzY2hlbWE6bH09YS5zdGF0ZSxkPWwudGV4dCh0LnJlcGxhY2UoL1xyXG4/L2csYApgKSk7cmV0dXJuIG4ucmVwbGFjZVNlbGVjdGlvbldpdGgodGhpcy50eXBlLmNyZWF0ZSh7bGFuZ3VhZ2U6b30sZCkpLG4uc2VsZWN0aW9uLiRmcm9tLnBhcmVudC50eXBlIT09dGhpcy50eXBlJiZuLnNldFNlbGVjdGlvbihOdC5uZWFyKG4uZG9jLnJlc29sdmUoTWF0aC5tYXgoMCxuLnNlbGVjdGlvbi5mcm9tLTIpKSkpLG4uc2V0TWV0YSgicGFzdGUiLCEwKSxhLmRpc3BhdGNoKG4pLCEwfSwiaGFuZGxlUGFzdGUiKX19KV19fSl9KTt2YXIgUnJlLEUxYT1mKCgpPT57Z3IoKTtScmU9b3IuY3JlYXRlKHtuYW1lOiJkb2MiLHRvcE5vZGU6ITAsY29udGVudDoiYmxvY2srIn0pfSk7ZnVuY3Rpb24gcVplKGE9e30pe3JldHVybiBuZXcgYXIoe3ZpZXcoZSl7cmV0dXJuIG5ldyBIWmUoZSxhKX19KX12YXIgSFplLEkxYT1mKCgpPT57bWMoKTtoNCgpO3MocVplLCJkcm9wQ3Vyc29yIik7SFplPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRyb3BDdXJzb3JWaWV3Iil9Y29uc3RydWN0b3IoZSx0KXt2YXIgcjt0aGlzLmVkaXRvclZpZXc9ZSx0aGlzLmN1cnNvclBvcz1udWxsLHRoaXMuZWxlbWVudD1udWxsLHRoaXMudGltZW91dD0tMSx0aGlzLndpZHRoPShyPXQud2lkdGgpIT09bnVsbCYmciE9PXZvaWQgMD9yOjEsdGhpcy5jb2xvcj10LmNvbG9yPT09ITE/dm9pZCAwOnQuY29sb3J8fCJibGFjayIsdGhpcy5jbGFzcz10LmNsYXNzLHRoaXMuaGFuZGxlcnM9WyJkcmFnb3ZlciIsImRyYWdlbmQiLCJkcm9wIiwiZHJhZ2xlYXZlIl0ubWFwKGk9PntsZXQgbz1zKG49Pnt0aGlzW2ldKG4pfSwiaGFuZGxlciIpO3JldHVybiBlLmRvbS5hZGRFdmVudExpc3RlbmVyKGksbykse25hbWU6aSxoYW5kbGVyOm99fSl9ZGVzdHJveSgpe3RoaXMuaGFuZGxlcnMuZm9yRWFjaCgoe25hbWU6ZSxoYW5kbGVyOnR9KT0+dGhpcy5lZGl0b3JWaWV3LmRvbS5yZW1vdmVFdmVudExpc3RlbmVyKGUsdCkpfXVwZGF0ZShlLHQpe3RoaXMuY3Vyc29yUG9zIT1udWxsJiZ0LmRvYyE9ZS5zdGF0ZS5kb2MmJih0aGlzLmN1cnNvclBvcz5lLnN0YXRlLmRvYy5jb250ZW50LnNpemU/dGhpcy5zZXRDdXJzb3IobnVsbCk6dGhpcy51cGRhdGVPdmVybGF5KCkpfXNldEN1cnNvcihlKXtlIT10aGlzLmN1cnNvclBvcyYmKHRoaXMuY3Vyc29yUG9zPWUsZT09bnVsbD8odGhpcy5lbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50KSx0aGlzLmVsZW1lbnQ9bnVsbCk6dGhpcy51cGRhdGVPdmVybGF5KCkpfXVwZGF0ZU92ZXJsYXkoKXtsZXQgZT10aGlzLmVkaXRvclZpZXcuc3RhdGUuZG9jLnJlc29sdmUodGhpcy5jdXJzb3JQb3MpLHQ9IWUucGFyZW50LmlubGluZUNvbnRlbnQscixpPXRoaXMuZWRpdG9yVmlldy5kb20sbz1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49by53aWR0aC9pLm9mZnNldFdpZHRoLGw9by5oZWlnaHQvaS5vZmZzZXRIZWlnaHQ7aWYodCl7bGV0IHU9ZS5ub2RlQmVmb3JlLG09ZS5ub2RlQWZ0ZXI7aWYodXx8bSl7bGV0IHY9dGhpcy5lZGl0b3JWaWV3Lm5vZGVET00odGhpcy5jdXJzb3JQb3MtKHU/dS5ub2RlU2l6ZTowKSk7aWYodil7bGV0IHg9di5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxiPXU/eC5ib3R0b206eC50b3A7dSYmbSYmKGI9KGIrdGhpcy5lZGl0b3JWaWV3Lm5vZGVET00odGhpcy5jdXJzb3JQb3MpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCkvMik7bGV0IGc9dGhpcy53aWR0aC8yKmw7cj17bGVmdDp4LmxlZnQscmlnaHQ6eC5yaWdodCx0b3A6Yi1nLGJvdHRvbTpiK2d9fX19aWYoIXIpe2xldCB1PXRoaXMuZWRpdG9yVmlldy5jb29yZHNBdFBvcyh0aGlzLmN1cnNvclBvcyksbT10aGlzLndpZHRoLzIqbjtyPXtsZWZ0OnUubGVmdC1tLHJpZ2h0OnUubGVmdCttLHRvcDp1LnRvcCxib3R0b206dS5ib3R0b219fWxldCBkPXRoaXMuZWRpdG9yVmlldy5kb20ub2Zmc2V0UGFyZW50O3RoaXMuZWxlbWVudHx8KHRoaXMuZWxlbWVudD1kLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSx0aGlzLmNsYXNzJiYodGhpcy5lbGVtZW50LmNsYXNzTmFtZT10aGlzLmNsYXNzKSx0aGlzLmVsZW1lbnQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiA1MDsgcG9pbnRlci1ldmVudHM6IG5vbmU7Iix0aGlzLmNvbG9yJiYodGhpcy5lbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvcj10aGlzLmNvbG9yKSksdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoInByb3NlbWlycm9yLWRyb3BjdXJzb3ItYmxvY2siLHQpLHRoaXMuZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJwcm9zZW1pcnJvci1kcm9wY3Vyc29yLWlubGluZSIsIXQpO2xldCBjLHA7aWYoIWR8fGQ9PWRvY3VtZW50LmJvZHkmJmdldENvbXB1dGVkU3R5bGUoZCkucG9zaXRpb249PSJzdGF0aWMiKWM9LXBhZ2VYT2Zmc2V0LHA9LXBhZ2VZT2Zmc2V0O2Vsc2V7bGV0IHU9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxtPXUud2lkdGgvZC5vZmZzZXRXaWR0aCx2PXUuaGVpZ2h0L2Qub2Zmc2V0SGVpZ2h0O2M9dS5sZWZ0LWQuc2Nyb2xsTGVmdCptLHA9dS50b3AtZC5zY3JvbGxUb3Aqdn10aGlzLmVsZW1lbnQuc3R5bGUubGVmdD0oci5sZWZ0LWMpL24rInB4Iix0aGlzLmVsZW1lbnQuc3R5bGUudG9wPShyLnRvcC1wKS9sKyJweCIsdGhpcy5lbGVtZW50LnN0eWxlLndpZHRoPShyLnJpZ2h0LXIubGVmdCkvbisicHgiLHRoaXMuZWxlbWVudC5zdHlsZS5oZWlnaHQ9KHIuYm90dG9tLXIudG9wKS9sKyJweCJ9c2NoZWR1bGVSZW1vdmFsKGUpe2NsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpLHRoaXMudGltZW91dD1zZXRUaW1lb3V0KCgpPT50aGlzLnNldEN1cnNvcihudWxsKSxlKX1kcmFnb3ZlcihlKXtpZighdGhpcy5lZGl0b3JWaWV3LmVkaXRhYmxlKXJldHVybjtsZXQgdD10aGlzLmVkaXRvclZpZXcucG9zQXRDb29yZHMoe2xlZnQ6ZS5jbGllbnRYLHRvcDplLmNsaWVudFl9KSxyPXQmJnQuaW5zaWRlPj0wJiZ0aGlzLmVkaXRvclZpZXcuc3RhdGUuZG9jLm5vZGVBdCh0Lmluc2lkZSksaT1yJiZyLnR5cGUuc3BlYy5kaXNhYmxlRHJvcEN1cnNvcixvPXR5cGVvZiBpPT0iZnVuY3Rpb24iP2kodGhpcy5lZGl0b3JWaWV3LHQsZSk6aTtpZih0JiYhbyl7bGV0IG49dC5wb3M7aWYodGhpcy5lZGl0b3JWaWV3LmRyYWdnaW5nJiZ0aGlzLmVkaXRvclZpZXcuZHJhZ2dpbmcuc2xpY2Upe2xldCBsPUdVKHRoaXMuZWRpdG9yVmlldy5zdGF0ZS5kb2Msbix0aGlzLmVkaXRvclZpZXcuZHJhZ2dpbmcuc2xpY2UpO2whPW51bGwmJihuPWwpfXRoaXMuc2V0Q3Vyc29yKG4pLHRoaXMuc2NoZWR1bGVSZW1vdmFsKDVlMyl9fWRyYWdlbmQoKXt0aGlzLnNjaGVkdWxlUmVtb3ZhbCgyMCl9ZHJvcCgpe3RoaXMuc2NoZWR1bGVSZW1vdmFsKDIwKX1kcmFnbGVhdmUoZSl7dGhpcy5lZGl0b3JWaWV3LmRvbS5jb250YWlucyhlLnJlbGF0ZWRUYXJnZXQpfHx0aGlzLnNldEN1cnNvcihudWxsKX19fSk7dmFyIE4xYT1mKCgpPT57STFhKCl9KTt2YXIgT3JlLFIxYT1mKCgpPT57Z3IoKTtOMWEoKTtPcmU9d3IuY3JlYXRlKHtuYW1lOiJkcm9wQ3Vyc29yIixhZGRPcHRpb25zKCl7cmV0dXJue2NvbG9yOiJjdXJyZW50Q29sb3IiLHdpZHRoOjEsY2xhc3M6dm9pZCAwfX0sYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCl7cmV0dXJuW3FaZSh0aGlzLm9wdGlvbnMpXX19KX0pO2Z1bmN0aW9uIE8xYShhKXtyZXR1cm4gYS5pc0F0b218fGEuc3BlYy5pc29sYXRpbmd8fGEuc3BlYy5jcmVhdGVHYXBDdXJzb3J9ZnVuY3Rpb24gYUlhKGEpe2ZvcihsZXQgZT1hLmRlcHRoO2U+PTA7ZS0tKXtsZXQgdD1hLmluZGV4KGUpLHI9YS5ub2RlKGUpO2lmKHQ9PTApe2lmKHIudHlwZS5zcGVjLmlzb2xhdGluZylyZXR1cm4hMDtjb250aW51ZX1mb3IobGV0IGk9ci5jaGlsZCh0LTEpOztpPWkubGFzdENoaWxkKXtpZihpLmNoaWxkQ291bnQ9PTAmJiFpLmlubGluZUNvbnRlbnR8fE8xYShpLnR5cGUpKXJldHVybiEwO2lmKGkuaW5saW5lQ29udGVudClyZXR1cm4hMX19cmV0dXJuITB9ZnVuY3Rpb24gcklhKGEpe2ZvcihsZXQgZT1hLmRlcHRoO2U+PTA7ZS0tKXtsZXQgdD1hLmluZGV4QWZ0ZXIoZSkscj1hLm5vZGUoZSk7aWYodD09ci5jaGlsZENvdW50KXtpZihyLnR5cGUuc3BlYy5pc29sYXRpbmcpcmV0dXJuITA7Y29udGludWV9Zm9yKGxldCBpPXIuY2hpbGQodCk7O2k9aS5maXJzdENoaWxkKXtpZihpLmNoaWxkQ291bnQ9PTAmJiFpLmlubGluZUNvbnRlbnR8fE8xYShpLnR5cGUpKXJldHVybiEwO2lmKGkuaW5saW5lQ29udGVudClyZXR1cm4hMX19cmV0dXJuITB9ZnVuY3Rpb24galplKCl7cmV0dXJuIG5ldyBhcih7cHJvcHM6e2RlY29yYXRpb25zOm5JYSxjcmVhdGVTZWxlY3Rpb25CZXR3ZWVuKGEsZSx0KXtyZXR1cm4gZS5wb3M9PXQucG9zJiZsaS52YWxpZCh0KT9uZXcgbGkodCk6bnVsbH0saGFuZGxlQ2xpY2s6aUlhLGhhbmRsZUtleURvd246c0lhLGhhbmRsZURPTUV2ZW50czp7YmVmb3JlaW5wdXQ6b0lhfX19KX1mdW5jdGlvbiBGcmUoYSxlKXtsZXQgdD1hPT0idmVydCI/ZT4wPyJkb3duIjoidXAiOmU+MD8icmlnaHQiOiJsZWZ0IjtyZXR1cm4gZnVuY3Rpb24ocixpLG8pe2xldCBuPXIuc2VsZWN0aW9uLGw9ZT4wP24uJHRvOm4uJGZyb20sZD1uLmVtcHR5O2lmKG4gaW5zdGFuY2VvZiBOdCl7aWYoIW8uZW5kT2ZUZXh0YmxvY2sodCl8fGwuZGVwdGg9PTApcmV0dXJuITE7ZD0hMSxsPXIuZG9jLnJlc29sdmUoZT4wP2wuYWZ0ZXIoKTpsLmJlZm9yZSgpKX1sZXQgYz1saS5maW5kR2FwQ3Vyc29yRnJvbShsLGUsZCk7cmV0dXJuIGM/KGkmJmkoci50ci5zZXRTZWxlY3Rpb24obmV3IGxpKGMpKSksITApOiExfX1mdW5jdGlvbiBpSWEoYSxlLHQpe2lmKCFhfHwhYS5lZGl0YWJsZSlyZXR1cm4hMTtsZXQgcj1hLnN0YXRlLmRvYy5yZXNvbHZlKGUpO2lmKCFsaS52YWxpZChyKSlyZXR1cm4hMTtsZXQgaT1hLnBvc0F0Q29vcmRzKHtsZWZ0OnQuY2xpZW50WCx0b3A6dC5jbGllbnRZfSk7cmV0dXJuIGkmJmkuaW5zaWRlPi0xJiZrdC5pc1NlbGVjdGFibGUoYS5zdGF0ZS5kb2Mubm9kZUF0KGkuaW5zaWRlKSk/ITE6KGEuZGlzcGF0Y2goYS5zdGF0ZS50ci5zZXRTZWxlY3Rpb24obmV3IGxpKHIpKSksITApfWZ1bmN0aW9uIG9JYShhLGUpe2lmKGUuaW5wdXRUeXBlIT0iaW5zZXJ0Q29tcG9zaXRpb25UZXh0Inx8IShhLnN0YXRlLnNlbGVjdGlvbiBpbnN0YW5jZW9mIGxpKSlyZXR1cm4hMTtsZXR7JGZyb206dH09YS5zdGF0ZS5zZWxlY3Rpb24scj10LnBhcmVudC5jb250ZW50TWF0Y2hBdCh0LmluZGV4KCkpLmZpbmRXcmFwcGluZyhhLnN0YXRlLnNjaGVtYS5ub2Rlcy50ZXh0KTtpZighcilyZXR1cm4hMTtsZXQgaT1qZS5lbXB0eTtmb3IobGV0IG49ci5sZW5ndGgtMTtuPj0wO24tLSlpPWplLmZyb20ocltuXS5jcmVhdGVBbmRGaWxsKG51bGwsaSkpO2xldCBvPWEuc3RhdGUudHIucmVwbGFjZSh0LnBvcyx0LnBvcyxuZXcgc3QoaSwwLDApKTtyZXR1cm4gby5zZXRTZWxlY3Rpb24oTnQubmVhcihvLmRvYy5yZXNvbHZlKHQucG9zKzEpKSksYS5kaXNwYXRjaChvKSwhMX1mdW5jdGlvbiBuSWEoYSl7aWYoIShhLnNlbGVjdGlvbiBpbnN0YW5jZW9mIGxpKSlyZXR1cm4gbnVsbDtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gZS5jbGFzc05hbWU9IlByb3NlTWlycm9yLWdhcGN1cnNvciIsUWkuY3JlYXRlKGEuZG9jLFtSMS53aWRnZXQoYS5zZWxlY3Rpb24uaGVhZCxlLHtrZXk6ImdhcGN1cnNvciJ9KV0pfXZhciBsaSxWWmUsc0lhLEYxYT1mKCgpPT57YVplKCk7bWMoKTtwNCgpO0pLZSgpO2xpPWNsYXNzIGEgZXh0ZW5kcyBFdHtzdGF0aWN7cyh0aGlzLCJHYXBDdXJzb3IiKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihlLGUpfW1hcChlLHQpe2xldCByPWUucmVzb2x2ZSh0Lm1hcCh0aGlzLmhlYWQpKTtyZXR1cm4gYS52YWxpZChyKT9uZXcgYShyKTpFdC5uZWFyKHIpfWNvbnRlbnQoKXtyZXR1cm4gc3QuZW1wdHl9ZXEoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBhJiZlLmhlYWQ9PXRoaXMuaGVhZH10b0pTT04oKXtyZXR1cm57dHlwZToiZ2FwY3Vyc29yIixwb3M6dGhpcy5oZWFkfX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZih0eXBlb2YgdC5wb3MhPSJudW1iZXIiKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIGlucHV0IGZvciBHYXBDdXJzb3IuZnJvbUpTT04iKTtyZXR1cm4gbmV3IGEoZS5yZXNvbHZlKHQucG9zKSl9Z2V0Qm9va21hcmsoKXtyZXR1cm4gbmV3IFZaZSh0aGlzLmFuY2hvcil9c3RhdGljIHZhbGlkKGUpe2xldCB0PWUucGFyZW50O2lmKHQuaW5saW5lQ29udGVudHx8IWFJYShlKXx8IXJJYShlKSlyZXR1cm4hMTtsZXQgcj10LnR5cGUuc3BlYy5hbGxvd0dhcEN1cnNvcjtpZihyIT1udWxsKXJldHVybiByO2xldCBpPXQuY29udGVudE1hdGNoQXQoZS5pbmRleCgpKS5kZWZhdWx0VHlwZTtyZXR1cm4gaSYmaS5pc1RleHRibG9ja31zdGF0aWMgZmluZEdhcEN1cnNvckZyb20oZSx0LHI9ITEpe2U6Zm9yKDs7KXtpZighciYmYS52YWxpZChlKSlyZXR1cm4gZTtsZXQgaT1lLnBvcyxvPW51bGw7Zm9yKGxldCBuPWUuZGVwdGg7O24tLSl7bGV0IGw9ZS5ub2RlKG4pO2lmKHQ+MD9lLmluZGV4QWZ0ZXIobik8bC5jaGlsZENvdW50OmUuaW5kZXgobik+MCl7bz1sLmNoaWxkKHQ+MD9lLmluZGV4QWZ0ZXIobik6ZS5pbmRleChuKS0xKTticmVha31lbHNlIGlmKG49PTApcmV0dXJuIG51bGw7aSs9dDtsZXQgZD1lLmRvYy5yZXNvbHZlKGkpO2lmKGEudmFsaWQoZCkpcmV0dXJuIGR9Zm9yKDs7KXtsZXQgbj10PjA/by5maXJzdENoaWxkOm8ubGFzdENoaWxkO2lmKCFuKXtpZihvLmlzQXRvbSYmIW8uaXNUZXh0JiYha3QuaXNTZWxlY3RhYmxlKG8pKXtlPWUuZG9jLnJlc29sdmUoaStvLm5vZGVTaXplKnQpLHI9ITE7Y29udGludWUgZX1icmVha31vPW4saSs9dDtsZXQgbD1lLmRvYy5yZXNvbHZlKGkpO2lmKGEudmFsaWQobCkpcmV0dXJuIGx9cmV0dXJuIG51bGx9fX07bGkucHJvdG90eXBlLnZpc2libGU9ITEsbGkuZmluZEZyb209bGkuZmluZEdhcEN1cnNvckZyb20sRXQuanNvbklEKCJnYXBjdXJzb3IiLGxpKTtWWmU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJHYXBCb29rbWFyayIpfWNvbnN0cnVjdG9yKGUpe3RoaXMucG9zPWV9bWFwKGUpe3JldHVybiBuZXcgYShlLm1hcCh0aGlzLnBvcykpfXJlc29sdmUoZSl7bGV0IHQ9ZS5yZXNvbHZlKHRoaXMucG9zKTtyZXR1cm4gbGkudmFsaWQodCk/bmV3IGxpKHQpOkV0Lm5lYXIodCl9fTtzKE8xYSwibmVlZHNHYXAiKTtzKGFJYSwiY2xvc2VkQmVmb3JlIik7cyhySWEsImNsb3NlZEFmdGVyIik7cyhqWmUsImdhcEN1cnNvciIpO3NJYT1ZYWUoe0Fycm93TGVmdDpGcmUoImhvcml6IiwtMSksQXJyb3dSaWdodDpGcmUoImhvcml6IiwxKSxBcnJvd1VwOkZyZSgidmVydCIsLTEpLEFycm93RG93bjpGcmUoInZlcnQiLDEpfSk7cyhGcmUsImFycm93Iik7cyhpSWEsImhhbmRsZUNsaWNrIik7cyhvSWEsImJlZm9yZWlucHV0Iik7cyhuSWEsImRyYXdHYXBDdXJzb3IiKX0pO3ZhciBCMWE9ZigoKT0+e0YxYSgpfSk7dmFyIEJyZSxIMWE9ZigoKT0+e2dyKCk7QjFhKCk7QnJlPXdyLmNyZWF0ZSh7bmFtZToiZ2FwQ3Vyc29yIixhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtyZXR1cm5balplKCldfSxleHRlbmROb2RlU2NoZW1hKGEpe3ZhciBlO2xldCB0PXtuYW1lOmEubmFtZSxvcHRpb25zOmEub3B0aW9ucyxzdG9yYWdlOmEuc3RvcmFnZX07cmV0dXJue2FsbG93R2FwQ3Vyc29yOihlPWp0KHB0KGEsImFsbG93R2FwQ3Vyc29yIix0KSkpIT09bnVsbCYmZSE9PXZvaWQgMD9lOm51bGx9fX0pfSk7dmFyIEhyZSxxMWE9ZigoKT0+e2dyKCk7SHJlPW9yLmNyZWF0ZSh7bmFtZToiaGFyZEJyZWFrIixhZGRPcHRpb25zKCl7cmV0dXJue2tlZXBNYXJrczohMCxIVE1MQXR0cmlidXRlczp7fX19LGlubGluZTohMCxncm91cDoiaW5saW5lIixzZWxlY3RhYmxlOiExLGxpbmVicmVha1JlcGxhY2VtZW50OiEwLHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJiciJ9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe3JldHVyblsiYnIiLHphKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKV19LHJlbmRlclRleHQoKXtyZXR1cm5gCmB9LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldEhhcmRCcmVhazpzKCgpPT4oe2NvbW1hbmRzOmEsY2hhaW46ZSxzdGF0ZTp0LGVkaXRvcjpyfSk9PmEuZmlyc3QoWygpPT5hLmV4aXRDb2RlKCksKCk9PmEuY29tbWFuZCgoKT0+e2xldHtzZWxlY3Rpb246aSxzdG9yZWRNYXJrczpvfT10O2lmKGkuJGZyb20ucGFyZW50LnR5cGUuc3BlYy5pc29sYXRpbmcpcmV0dXJuITE7bGV0e2tlZXBNYXJrczpufT10aGlzLm9wdGlvbnMse3NwbGl0dGFibGVNYXJrczpsfT1yLmV4dGVuc2lvbk1hbmFnZXIsZD1vfHxpLiR0by5wYXJlbnRPZmZzZXQmJmkuJGZyb20ubWFya3MoKTtyZXR1cm4gZSgpLmluc2VydENvbnRlbnQoe3R5cGU6dGhpcy5uYW1lfSkuY29tbWFuZCgoe3RyOmMsZGlzcGF0Y2g6cH0pPT57aWYocCYmZCYmbil7bGV0IHU9ZC5maWx0ZXIobT0+bC5pbmNsdWRlcyhtLnR5cGUubmFtZSkpO2MuZW5zdXJlTWFya3ModSl9cmV0dXJuITB9KS5ydW4oKX0pXSksInNldEhhcmRCcmVhayIpfX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC1FbnRlciI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuc2V0SGFyZEJyZWFrKCksIk1vZC1FbnRlciIpLCJTaGlmdC1FbnRlciI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuc2V0SGFyZEJyZWFrKCksIlNoaWZ0LUVudGVyIil9fX0pfSk7dmFyIHFyZSxWMWE9ZigoKT0+e2dyKCk7cXJlPW9yLmNyZWF0ZSh7bmFtZToiaGVhZGluZyIsYWRkT3B0aW9ucygpe3JldHVybntsZXZlbHM6WzEsMiwzLDQsNSw2XSxIVE1MQXR0cmlidXRlczp7fX19LGNvbnRlbnQ6ImlubGluZSoiLGdyb3VwOiJibG9jayIsZGVmaW5pbmc6ITAsYWRkQXR0cmlidXRlcygpe3JldHVybntsZXZlbDp7ZGVmYXVsdDoxLHJlbmRlcmVkOiExfX19LHBhcnNlSFRNTCgpe3JldHVybiB0aGlzLm9wdGlvbnMubGV2ZWxzLm1hcChhPT4oe3RhZzpgaCR7YX1gLGF0dHJzOntsZXZlbDphfX0pKX0scmVuZGVySFRNTCh7bm9kZTphLEhUTUxBdHRyaWJ1dGVzOmV9KXtyZXR1cm5bYGgke3RoaXMub3B0aW9ucy5sZXZlbHMuaW5jbHVkZXMoYS5hdHRycy5sZXZlbCk/YS5hdHRycy5sZXZlbDp0aGlzLm9wdGlvbnMubGV2ZWxzWzBdfWAsemEodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGUpLDBdfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRIZWFkaW5nOnMoYT0+KHtjb21tYW5kczplfSk9PnRoaXMub3B0aW9ucy5sZXZlbHMuaW5jbHVkZXMoYS5sZXZlbCk/ZS5zZXROb2RlKHRoaXMubmFtZSxhKTohMSwic2V0SGVhZGluZyIpLHRvZ2dsZUhlYWRpbmc6cyhhPT4oe2NvbW1hbmRzOmV9KT0+dGhpcy5vcHRpb25zLmxldmVscy5pbmNsdWRlcyhhLmxldmVsKT9lLnRvZ2dsZU5vZGUodGhpcy5uYW1lLCJwYXJhZ3JhcGgiLGEpOiExLCJ0b2dnbGVIZWFkaW5nIil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybiB0aGlzLm9wdGlvbnMubGV2ZWxzLnJlZHVjZSgoYSxlKT0+KHsuLi5hLFtgTW9kLUFsdC0ke2V9YF06KCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZUhlYWRpbmcoe2xldmVsOmV9KX0pLHt9KX0sYWRkSW5wdXRSdWxlcygpe3JldHVybiB0aGlzLm9wdGlvbnMubGV2ZWxzLm1hcChhPT5yNSh7ZmluZDpuZXcgUmVnRXhwKGBeKCN7JHtNYXRoLm1pbiguLi50aGlzLm9wdGlvbnMubGV2ZWxzKX0sJHthfX0pXFxzJGApLHR5cGU6dGhpcy50eXBlLGdldEF0dHJpYnV0ZXM6e2xldmVsOmF9fSkpfX0pfSk7dmFyIFZyZSxjaSxqMWEsbElhLFVaZSxVMWE9ZigoKT0+e1ZyZT0yMDAsY2k9cyhmdW5jdGlvbigpe30sIlJvcGVTZXF1ZW5jZSIpO2NpLnByb3RvdHlwZS5hcHBlbmQ9cyhmdW5jdGlvbihlKXtyZXR1cm4gZS5sZW5ndGg/KGU9Y2kuZnJvbShlKSwhdGhpcy5sZW5ndGgmJmV8fGUubGVuZ3RoPFZyZSYmdGhpcy5sZWFmQXBwZW5kKGUpfHx0aGlzLmxlbmd0aDxWcmUmJmUubGVhZlByZXBlbmQodGhpcyl8fHRoaXMuYXBwZW5kSW5uZXIoZSkpOnRoaXN9LCJhcHBlbmQiKSxjaS5wcm90b3R5cGUucHJlcGVuZD1zKGZ1bmN0aW9uKGUpe3JldHVybiBlLmxlbmd0aD9jaS5mcm9tKGUpLmFwcGVuZCh0aGlzKTp0aGlzfSwicHJlcGVuZCIpLGNpLnByb3RvdHlwZS5hcHBlbmRJbm5lcj1zKGZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbElhKHRoaXMsZSl9LCJhcHBlbmRJbm5lciIpLGNpLnByb3RvdHlwZS5zbGljZT1zKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT12b2lkIDAmJihlPTApLHQ9PT12b2lkIDAmJih0PXRoaXMubGVuZ3RoKSxlPj10P2NpLmVtcHR5OnRoaXMuc2xpY2VJbm5lcihNYXRoLm1heCgwLGUpLE1hdGgubWluKHRoaXMubGVuZ3RoLHQpKX0sInNsaWNlIiksY2kucHJvdG90eXBlLmdldD1zKGZ1bmN0aW9uKGUpe2lmKCEoZTwwfHxlPj10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXMuZ2V0SW5uZXIoZSl9LCJnZXQiKSxjaS5wcm90b3R5cGUuZm9yRWFjaD1zKGZ1bmN0aW9uKGUsdCxyKXt0PT09dm9pZCAwJiYodD0wKSxyPT09dm9pZCAwJiYocj10aGlzLmxlbmd0aCksdDw9cj90aGlzLmZvckVhY2hJbm5lcihlLHQsciwwKTp0aGlzLmZvckVhY2hJbnZlcnRlZElubmVyKGUsdCxyLDApfSwiZm9yRWFjaCIpLGNpLnByb3RvdHlwZS5tYXA9cyhmdW5jdGlvbihlLHQscil7dD09PXZvaWQgMCYmKHQ9MCkscj09PXZvaWQgMCYmKHI9dGhpcy5sZW5ndGgpO3ZhciBpPVtdO3JldHVybiB0aGlzLmZvckVhY2goZnVuY3Rpb24obyxuKXtyZXR1cm4gaS5wdXNoKGUobyxuKSl9LHQsciksaX0sIm1hcCIpLGNpLmZyb209cyhmdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIGNpP2U6ZSYmZS5sZW5ndGg/bmV3IGoxYShlKTpjaS5lbXB0eX0sImZyb20iKTtqMWE9KGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGUocil7YS5jYWxsKHRoaXMpLHRoaXMudmFsdWVzPXJ9cyhlLCJMZWFmIiksYSYmKGUuX19wcm90b19fPWEpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoYSYmYS5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWU7dmFyIHQ9e2xlbmd0aDp7Y29uZmlndXJhYmxlOiEwfSxkZXB0aDp7Y29uZmlndXJhYmxlOiEwfX07cmV0dXJuIGUucHJvdG90eXBlLmZsYXR0ZW49cyhmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc30sImZsYXR0ZW4iKSxlLnByb3RvdHlwZS5zbGljZUlubmVyPXMoZnVuY3Rpb24oaSxvKXtyZXR1cm4gaT09MCYmbz09dGhpcy5sZW5ndGg/dGhpczpuZXcgZSh0aGlzLnZhbHVlcy5zbGljZShpLG8pKX0sInNsaWNlSW5uZXIiKSxlLnByb3RvdHlwZS5nZXRJbm5lcj1zKGZ1bmN0aW9uKGkpe3JldHVybiB0aGlzLnZhbHVlc1tpXX0sImdldElubmVyIiksZS5wcm90b3R5cGUuZm9yRWFjaElubmVyPXMoZnVuY3Rpb24oaSxvLG4sbCl7Zm9yKHZhciBkPW87ZDxuO2QrKylpZihpKHRoaXMudmFsdWVzW2RdLGwrZCk9PT0hMSlyZXR1cm4hMX0sImZvckVhY2hJbm5lciIpLGUucHJvdG90eXBlLmZvckVhY2hJbnZlcnRlZElubmVyPXMoZnVuY3Rpb24oaSxvLG4sbCl7Zm9yKHZhciBkPW8tMTtkPj1uO2QtLSlpZihpKHRoaXMudmFsdWVzW2RdLGwrZCk9PT0hMSlyZXR1cm4hMX0sImZvckVhY2hJbnZlcnRlZElubmVyIiksZS5wcm90b3R5cGUubGVhZkFwcGVuZD1zKGZ1bmN0aW9uKGkpe2lmKHRoaXMubGVuZ3RoK2kubGVuZ3RoPD1WcmUpcmV0dXJuIG5ldyBlKHRoaXMudmFsdWVzLmNvbmNhdChpLmZsYXR0ZW4oKSkpfSwibGVhZkFwcGVuZCIpLGUucHJvdG90eXBlLmxlYWZQcmVwZW5kPXMoZnVuY3Rpb24oaSl7aWYodGhpcy5sZW5ndGgraS5sZW5ndGg8PVZyZSlyZXR1cm4gbmV3IGUoaS5mbGF0dGVuKCkuY29uY2F0KHRoaXMudmFsdWVzKSl9LCJsZWFmUHJlcGVuZCIpLHQubGVuZ3RoLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlcy5sZW5ndGh9LHQuZGVwdGguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIDB9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHQpLGV9KShjaSk7Y2kuZW1wdHk9bmV3IGoxYShbXSk7bElhPShmdW5jdGlvbihhKXtmdW5jdGlvbiBlKHQscil7YS5jYWxsKHRoaXMpLHRoaXMubGVmdD10LHRoaXMucmlnaHQ9cix0aGlzLmxlbmd0aD10Lmxlbmd0aCtyLmxlbmd0aCx0aGlzLmRlcHRoPU1hdGgubWF4KHQuZGVwdGgsci5kZXB0aCkrMX1yZXR1cm4gcyhlLCJBcHBlbmQiKSxhJiYoZS5fX3Byb3RvX189YSksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShhJiZhLnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5mbGF0dGVuPXMoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZWZ0LmZsYXR0ZW4oKS5jb25jYXQodGhpcy5yaWdodC5mbGF0dGVuKCkpfSwiZmxhdHRlbiIpLGUucHJvdG90eXBlLmdldElubmVyPXMoZnVuY3Rpb24ocil7cmV0dXJuIHI8dGhpcy5sZWZ0Lmxlbmd0aD90aGlzLmxlZnQuZ2V0KHIpOnRoaXMucmlnaHQuZ2V0KHItdGhpcy5sZWZ0Lmxlbmd0aCl9LCJnZXRJbm5lciIpLGUucHJvdG90eXBlLmZvckVhY2hJbm5lcj1zKGZ1bmN0aW9uKHIsaSxvLG4pe3ZhciBsPXRoaXMubGVmdC5sZW5ndGg7aWYoaTxsJiZ0aGlzLmxlZnQuZm9yRWFjaElubmVyKHIsaSxNYXRoLm1pbihvLGwpLG4pPT09ITF8fG8+bCYmdGhpcy5yaWdodC5mb3JFYWNoSW5uZXIocixNYXRoLm1heChpLWwsMCksTWF0aC5taW4odGhpcy5sZW5ndGgsbyktbCxuK2wpPT09ITEpcmV0dXJuITF9LCJmb3JFYWNoSW5uZXIiKSxlLnByb3RvdHlwZS5mb3JFYWNoSW52ZXJ0ZWRJbm5lcj1zKGZ1bmN0aW9uKHIsaSxvLG4pe3ZhciBsPXRoaXMubGVmdC5sZW5ndGg7aWYoaT5sJiZ0aGlzLnJpZ2h0LmZvckVhY2hJbnZlcnRlZElubmVyKHIsaS1sLE1hdGgubWF4KG8sbCktbCxuK2wpPT09ITF8fG88bCYmdGhpcy5sZWZ0LmZvckVhY2hJbnZlcnRlZElubmVyKHIsTWF0aC5taW4oaSxsKSxvLG4pPT09ITEpcmV0dXJuITF9LCJmb3JFYWNoSW52ZXJ0ZWRJbm5lciIpLGUucHJvdG90eXBlLnNsaWNlSW5uZXI9cyhmdW5jdGlvbihyLGkpe2lmKHI9PTAmJmk9PXRoaXMubGVuZ3RoKXJldHVybiB0aGlzO3ZhciBvPXRoaXMubGVmdC5sZW5ndGg7cmV0dXJuIGk8PW8/dGhpcy5sZWZ0LnNsaWNlKHIsaSk6cj49bz90aGlzLnJpZ2h0LnNsaWNlKHItbyxpLW8pOnRoaXMubGVmdC5zbGljZShyLG8pLmFwcGVuZCh0aGlzLnJpZ2h0LnNsaWNlKDAsaS1vKSl9LCJzbGljZUlubmVyIiksZS5wcm90b3R5cGUubGVhZkFwcGVuZD1zKGZ1bmN0aW9uKHIpe3ZhciBpPXRoaXMucmlnaHQubGVhZkFwcGVuZChyKTtpZihpKXJldHVybiBuZXcgZSh0aGlzLmxlZnQsaSl9LCJsZWFmQXBwZW5kIiksZS5wcm90b3R5cGUubGVhZlByZXBlbmQ9cyhmdW5jdGlvbihyKXt2YXIgaT10aGlzLmxlZnQubGVhZlByZXBlbmQocik7aWYoaSlyZXR1cm4gbmV3IGUoaSx0aGlzLnJpZ2h0KX0sImxlYWZQcmVwZW5kIiksZS5wcm90b3R5cGUuYXBwZW5kSW5uZXI9cyhmdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5sZWZ0LmRlcHRoPj1NYXRoLm1heCh0aGlzLnJpZ2h0LmRlcHRoLHIuZGVwdGgpKzE/bmV3IGUodGhpcy5sZWZ0LG5ldyBlKHRoaXMucmlnaHQscikpOm5ldyBlKHRoaXMscil9LCJhcHBlbmRJbm5lciIpLGV9KShjaSksVVplPWNpfSk7ZnVuY3Rpb24gZElhKGEsZSl7bGV0IHQ7cmV0dXJuIGEuZm9yRWFjaCgocixpKT0+e2lmKHIuc2VsZWN0aW9uJiZlLS09PTApcmV0dXJuIHQ9aSwhMX0pLGEuc2xpY2UodCl9ZnVuY3Rpb24gcElhKGEsZSx0LHIpe2xldCBpPXQuZ2V0TWV0YShhbCksbztpZihpKXJldHVybiBpLmhpc3RvcnlTdGF0ZTt0LmdldE1ldGEoWTFhKSYmKGE9bmV3IHRsKGEuZG9uZSxhLnVuZG9uZSxudWxsLDAsLTEpKTtsZXQgbj10LmdldE1ldGEoImFwcGVuZGVkVHJhbnNhY3Rpb24iKTtpZih0LnN0ZXBzLmxlbmd0aD09MClyZXR1cm4gYTtpZihuJiZuLmdldE1ldGEoYWwpKXJldHVybiBuLmdldE1ldGEoYWwpLnJlZG8/bmV3IHRsKGEuZG9uZS5hZGRUcmFuc2Zvcm0odCx2b2lkIDAscixqcmUoZSkpLGEudW5kb25lLFcxYSh0Lm1hcHBpbmcubWFwcyksYS5wcmV2VGltZSxhLnByZXZDb21wb3NpdGlvbik6bmV3IHRsKGEuZG9uZSxhLnVuZG9uZS5hZGRUcmFuc2Zvcm0odCx2b2lkIDAscixqcmUoZSkpLG51bGwsYS5wcmV2VGltZSxhLnByZXZDb21wb3NpdGlvbik7aWYodC5nZXRNZXRhKCJhZGRUb0hpc3RvcnkiKSE9PSExJiYhKG4mJm4uZ2V0TWV0YSgiYWRkVG9IaXN0b3J5Iik9PT0hMSkpe2xldCBsPXQuZ2V0TWV0YSgiY29tcG9zaXRpb24iKSxkPWEucHJldlRpbWU9PTB8fCFuJiZhLnByZXZDb21wb3NpdGlvbiE9bCYmKGEucHJldlRpbWU8KHQudGltZXx8MCktci5uZXdHcm91cERlbGF5fHwhZklhKHQsYS5wcmV2UmFuZ2VzKSksYz1uP1daZShhLnByZXZSYW5nZXMsdC5tYXBwaW5nKTpXMWEodC5tYXBwaW5nLm1hcHMpO3JldHVybiBuZXcgdGwoYS5kb25lLmFkZFRyYW5zZm9ybSh0LGQ/ZS5zZWxlY3Rpb24uZ2V0Qm9va21hcmsoKTp2b2lkIDAscixqcmUoZSkpLHM1LmVtcHR5LGMsdC50aW1lLGw/P2EucHJldkNvbXBvc2l0aW9uKX1lbHNlIHJldHVybihvPXQuZ2V0TWV0YSgicmViYXNlZCIpKT9uZXcgdGwoYS5kb25lLnJlYmFzZWQodCxvKSxhLnVuZG9uZS5yZWJhc2VkKHQsbyksV1plKGEucHJldlJhbmdlcyx0Lm1hcHBpbmcpLGEucHJldlRpbWUsYS5wcmV2Q29tcG9zaXRpb24pOm5ldyB0bChhLmRvbmUuYWRkTWFwcyh0Lm1hcHBpbmcubWFwcyksYS51bmRvbmUuYWRkTWFwcyh0Lm1hcHBpbmcubWFwcyksV1plKGEucHJldlJhbmdlcyx0Lm1hcHBpbmcpLGEucHJldlRpbWUsYS5wcmV2Q29tcG9zaXRpb24pfWZ1bmN0aW9uIGZJYShhLGUpe2lmKCFlKXJldHVybiExO2lmKCFhLmRvY0NoYW5nZWQpcmV0dXJuITA7bGV0IHQ9ITE7cmV0dXJuIGEubWFwcGluZy5tYXBzWzBdLmZvckVhY2goKHIsaSk9Pntmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rPTIpcjw9ZVtvKzFdJiZpPj1lW29dJiYodD0hMCl9KSx0fWZ1bmN0aW9uIFcxYShhKXtsZXQgZT1bXTtmb3IobGV0IHQ9YS5sZW5ndGgtMTt0Pj0wJiZlLmxlbmd0aD09MDt0LS0pYVt0XS5mb3JFYWNoKChyLGksbyxuKT0+ZS5wdXNoKG8sbikpO3JldHVybiBlfWZ1bmN0aW9uIFdaZShhLGUpe2lmKCFhKXJldHVybiBudWxsO2xldCB0PVtdO2ZvcihsZXQgcj0wO3I8YS5sZW5ndGg7cis9Mil7bGV0IGk9ZS5tYXAoYVtyXSwxKSxvPWUubWFwKGFbcisxXSwtMSk7aTw9byYmdC5wdXNoKGksbyl9cmV0dXJuIHR9ZnVuY3Rpb24gaElhKGEsZSx0KXtsZXQgcj1qcmUoZSksaT1hbC5nZXQoZSkuc3BlYy5jb25maWcsbz0odD9hLnVuZG9uZTphLmRvbmUpLnBvcEV2ZW50KGUscik7aWYoIW8pcmV0dXJuIG51bGw7bGV0IG49by5zZWxlY3Rpb24ucmVzb2x2ZShvLnRyYW5zZm9ybS5kb2MpLGw9KHQ/YS5kb25lOmEudW5kb25lKS5hZGRUcmFuc2Zvcm0oby50cmFuc2Zvcm0sZS5zZWxlY3Rpb24uZ2V0Qm9va21hcmsoKSxpLHIpLGQ9bmV3IHRsKHQ/bDpvLnJlbWFpbmluZyx0P28ucmVtYWluaW5nOmwsbnVsbCwwLC0xKTtyZXR1cm4gby50cmFuc2Zvcm0uc2V0U2VsZWN0aW9uKG4pLnNldE1ldGEoYWwse3JlZG86dCxoaXN0b3J5U3RhdGU6ZH0pfWZ1bmN0aW9uIGpyZShhKXtsZXQgZT1hLnBsdWdpbnM7aWYoRzFhIT1lKXtHWmU9ITEsRzFhPWU7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspaWYoZVt0XS5zcGVjLmhpc3RvcnlQcmVzZXJ2ZUl0ZW1zKXtHWmU9ITA7YnJlYWt9fXJldHVybiBHWmV9ZnVuY3Rpb24gbUlhKGEpe3JldHVybiBhLnNldE1ldGEoWTFhLCEwKX1mdW5jdGlvbiBZWmUoYT17fSl7cmV0dXJuIGE9e2RlcHRoOmEuZGVwdGh8fDEwMCxuZXdHcm91cERlbGF5OmEubmV3R3JvdXBEZWxheXx8NTAwfSxuZXcgYXIoe2tleTphbCxzdGF0ZTp7aW5pdCgpe3JldHVybiBuZXcgdGwoczUuZW1wdHksczUuZW1wdHksbnVsbCwwLC0xKX0sYXBwbHkoZSx0LHIpe3JldHVybiBwSWEodCxyLGUsYSl9fSxjb25maWc6YSxwcm9wczp7aGFuZGxlRE9NRXZlbnRzOntiZWZvcmVpbnB1dChlLHQpe2xldCByPXQuaW5wdXRUeXBlLGk9cj09Imhpc3RvcnlVbmRvIj9XcmU6cj09Imhpc3RvcnlSZWRvIj9HcmU6bnVsbDtyZXR1cm4haXx8IWUuZWRpdGFibGU/ITE6KHQucHJldmVudERlZmF1bHQoKSxpKGUuc3RhdGUsZS5kaXNwYXRjaCkpfX19fSl9ZnVuY3Rpb24gVXJlKGEsZSl7cmV0dXJuKHQscik9PntsZXQgaT1hbC5nZXRTdGF0ZSh0KTtpZighaXx8KGE/aS51bmRvbmU6aS5kb25lKS5ldmVudENvdW50PT0wKXJldHVybiExO2lmKHIpe2xldCBvPWhJYShpLHQsYSk7byYmcihlP28uc2Nyb2xsSW50b1ZpZXcoKTpvKX1yZXR1cm4hMH19ZnVuY3Rpb24gdklhKGEpe2xldCBlPWFsLmdldFN0YXRlKGEpO3JldHVybiBlP2UuZG9uZS5ldmVudENvdW50OjB9ZnVuY3Rpb24geElhKGEpe2xldCBlPWFsLmdldFN0YXRlKGEpO3JldHVybiBlP2UudW5kb25lLmV2ZW50Q291bnQ6MH1mdW5jdGlvbiB5SWEoYSl7cmV0dXJuIGEuZ2V0TWV0YShhbCkhPW51bGx9dmFyIGNJYSxzNSxlbCx0bCx1SWEsR1plLEcxYSxhbCxZMWEsV3JlLEdyZSxnSWEsYklhLEsxYT1mKCgpPT57VTFhKCk7aDQoKTttYygpO2NJYT01MDAsczU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJCcmFuY2giKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuaXRlbXM9ZSx0aGlzLmV2ZW50Q291bnQ9dH1wb3BFdmVudChlLHQpe2lmKHRoaXMuZXZlbnRDb3VudD09MClyZXR1cm4gbnVsbDtsZXQgcj10aGlzLml0ZW1zLmxlbmd0aDtmb3IoOztyLS0paWYodGhpcy5pdGVtcy5nZXQoci0xKS5zZWxlY3Rpb24pey0tcjticmVha31sZXQgaSxvO3QmJihpPXRoaXMucmVtYXBwaW5nKHIsdGhpcy5pdGVtcy5sZW5ndGgpLG89aS5tYXBzLmxlbmd0aCk7bGV0IG49ZS50cixsLGQsYz1bXSxwPVtdO3JldHVybiB0aGlzLml0ZW1zLmZvckVhY2goKHUsbSk9PntpZighdS5zdGVwKXtpfHwoaT10aGlzLnJlbWFwcGluZyhyLG0rMSksbz1pLm1hcHMubGVuZ3RoKSxvLS0scC5wdXNoKHUpO3JldHVybn1pZihpKXtwLnB1c2gobmV3IGVsKHUubWFwKSk7bGV0IHY9dS5zdGVwLm1hcChpLnNsaWNlKG8pKSx4O3YmJm4ubWF5YmVTdGVwKHYpLmRvYyYmKHg9bi5tYXBwaW5nLm1hcHNbbi5tYXBwaW5nLm1hcHMubGVuZ3RoLTFdLGMucHVzaChuZXcgZWwoeCx2b2lkIDAsdm9pZCAwLGMubGVuZ3RoK3AubGVuZ3RoKSkpLG8tLSx4JiZpLmFwcGVuZE1hcCh4LG8pfWVsc2Ugbi5tYXliZVN0ZXAodS5zdGVwKTtpZih1LnNlbGVjdGlvbilyZXR1cm4gbD1pP3Uuc2VsZWN0aW9uLm1hcChpLnNsaWNlKG8pKTp1LnNlbGVjdGlvbixkPW5ldyBhKHRoaXMuaXRlbXMuc2xpY2UoMCxyKS5hcHBlbmQocC5yZXZlcnNlKCkuY29uY2F0KGMpKSx0aGlzLmV2ZW50Q291bnQtMSksITF9LHRoaXMuaXRlbXMubGVuZ3RoLDApLHtyZW1haW5pbmc6ZCx0cmFuc2Zvcm06bixzZWxlY3Rpb246bH19YWRkVHJhbnNmb3JtKGUsdCxyLGkpe2xldCBvPVtdLG49dGhpcy5ldmVudENvdW50LGw9dGhpcy5pdGVtcyxkPSFpJiZsLmxlbmd0aD9sLmdldChsLmxlbmd0aC0xKTpudWxsO2ZvcihsZXQgcD0wO3A8ZS5zdGVwcy5sZW5ndGg7cCsrKXtsZXQgdT1lLnN0ZXBzW3BdLmludmVydChlLmRvY3NbcF0pLG09bmV3IGVsKGUubWFwcGluZy5tYXBzW3BdLHUsdCksdjsodj1kJiZkLm1lcmdlKG0pKSYmKG09dixwP28ucG9wKCk6bD1sLnNsaWNlKDAsbC5sZW5ndGgtMSkpLG8ucHVzaChtKSx0JiYobisrLHQ9dm9pZCAwKSxpfHwoZD1tKX1sZXQgYz1uLXIuZGVwdGg7cmV0dXJuIGM+dUlhJiYobD1kSWEobCxjKSxuLT1jKSxuZXcgYShsLmFwcGVuZChvKSxuKX1yZW1hcHBpbmcoZSx0KXtsZXQgcj1uZXcgZ207cmV0dXJuIHRoaXMuaXRlbXMuZm9yRWFjaCgoaSxvKT0+e2xldCBuPWkubWlycm9yT2Zmc2V0IT1udWxsJiZvLWkubWlycm9yT2Zmc2V0Pj1lP3IubWFwcy5sZW5ndGgtaS5taXJyb3JPZmZzZXQ6dm9pZCAwO3IuYXBwZW5kTWFwKGkubWFwLG4pfSxlLHQpLHJ9YWRkTWFwcyhlKXtyZXR1cm4gdGhpcy5ldmVudENvdW50PT0wP3RoaXM6bmV3IGEodGhpcy5pdGVtcy5hcHBlbmQoZS5tYXAodD0+bmV3IGVsKHQpKSksdGhpcy5ldmVudENvdW50KX1yZWJhc2VkKGUsdCl7aWYoIXRoaXMuZXZlbnRDb3VudClyZXR1cm4gdGhpcztsZXQgcj1bXSxpPU1hdGgubWF4KDAsdGhpcy5pdGVtcy5sZW5ndGgtdCksbz1lLm1hcHBpbmcsbj1lLnN0ZXBzLmxlbmd0aCxsPXRoaXMuZXZlbnRDb3VudDt0aGlzLml0ZW1zLmZvckVhY2gobT0+e20uc2VsZWN0aW9uJiZsLS19LGkpO2xldCBkPXQ7dGhpcy5pdGVtcy5mb3JFYWNoKG09PntsZXQgdj1vLmdldE1pcnJvcigtLWQpO2lmKHY9PW51bGwpcmV0dXJuO249TWF0aC5taW4obix2KTtsZXQgeD1vLm1hcHNbdl07aWYobS5zdGVwKXtsZXQgYj1lLnN0ZXBzW3ZdLmludmVydChlLmRvY3Nbdl0pLGc9bS5zZWxlY3Rpb24mJm0uc2VsZWN0aW9uLm1hcChvLnNsaWNlKGQrMSx2KSk7ZyYmbCsrLHIucHVzaChuZXcgZWwoeCxiLGcpKX1lbHNlIHIucHVzaChuZXcgZWwoeCkpfSxpKTtsZXQgYz1bXTtmb3IobGV0IG09dDttPG47bSsrKWMucHVzaChuZXcgZWwoby5tYXBzW21dKSk7bGV0IHA9dGhpcy5pdGVtcy5zbGljZSgwLGkpLmFwcGVuZChjKS5hcHBlbmQociksdT1uZXcgYShwLGwpO3JldHVybiB1LmVtcHR5SXRlbUNvdW50KCk+Y0lhJiYodT11LmNvbXByZXNzKHRoaXMuaXRlbXMubGVuZ3RoLXIubGVuZ3RoKSksdX1lbXB0eUl0ZW1Db3VudCgpe2xldCBlPTA7cmV0dXJuIHRoaXMuaXRlbXMuZm9yRWFjaCh0PT57dC5zdGVwfHxlKyt9KSxlfWNvbXByZXNzKGU9dGhpcy5pdGVtcy5sZW5ndGgpe2xldCB0PXRoaXMucmVtYXBwaW5nKDAsZSkscj10Lm1hcHMubGVuZ3RoLGk9W10sbz0wO3JldHVybiB0aGlzLml0ZW1zLmZvckVhY2goKG4sbCk9PntpZihsPj1lKWkucHVzaChuKSxuLnNlbGVjdGlvbiYmbysrO2Vsc2UgaWYobi5zdGVwKXtsZXQgZD1uLnN0ZXAubWFwKHQuc2xpY2UocikpLGM9ZCYmZC5nZXRNYXAoKTtpZihyLS0sYyYmdC5hcHBlbmRNYXAoYyxyKSxkKXtsZXQgcD1uLnNlbGVjdGlvbiYmbi5zZWxlY3Rpb24ubWFwKHQuc2xpY2UocikpO3AmJm8rKztsZXQgdT1uZXcgZWwoYy5pbnZlcnQoKSxkLHApLG0sdj1pLmxlbmd0aC0xOyhtPWkubGVuZ3RoJiZpW3ZdLm1lcmdlKHUpKT9pW3ZdPW06aS5wdXNoKHUpfX1lbHNlIG4ubWFwJiZyLS19LHRoaXMuaXRlbXMubGVuZ3RoLDApLG5ldyBhKFVaZS5mcm9tKGkucmV2ZXJzZSgpKSxvKX19O3M1LmVtcHR5PW5ldyBzNShVWmUuZW1wdHksMCk7cyhkSWEsImN1dE9mZkV2ZW50cyIpO2VsPWNsYXNzIGF7c3RhdGlje3ModGhpcywiSXRlbSIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe3RoaXMubWFwPWUsdGhpcy5zdGVwPXQsdGhpcy5zZWxlY3Rpb249cix0aGlzLm1pcnJvck9mZnNldD1pfW1lcmdlKGUpe2lmKHRoaXMuc3RlcCYmZS5zdGVwJiYhZS5zZWxlY3Rpb24pe2xldCB0PWUuc3RlcC5tZXJnZSh0aGlzLnN0ZXApO2lmKHQpcmV0dXJuIG5ldyBhKHQuZ2V0TWFwKCkuaW52ZXJ0KCksdCx0aGlzLnNlbGVjdGlvbil9fX0sdGw9Y2xhc3N7c3RhdGlje3ModGhpcywiSGlzdG9yeVN0YXRlIil9Y29uc3RydWN0b3IoZSx0LHIsaSxvKXt0aGlzLmRvbmU9ZSx0aGlzLnVuZG9uZT10LHRoaXMucHJldlJhbmdlcz1yLHRoaXMucHJldlRpbWU9aSx0aGlzLnByZXZDb21wb3NpdGlvbj1vfX0sdUlhPTIwO3MocElhLCJhcHBseVRyYW5zYWN0aW9uIik7cyhmSWEsImlzQWRqYWNlbnRUbyIpO3MoVzFhLCJyYW5nZXNGb3IiKTtzKFdaZSwibWFwUmFuZ2VzIik7cyhoSWEsImhpc3RUcmFuc2FjdGlvbiIpO0daZT0hMSxHMWE9bnVsbDtzKGpyZSwibXVzdFByZXNlcnZlSXRlbXMiKTtzKG1JYSwiY2xvc2VIaXN0b3J5Iik7YWw9bmV3IGJzKCJoaXN0b3J5IiksWTFhPW5ldyBicygiY2xvc2VIaXN0b3J5Iik7cyhZWmUsImhpc3RvcnkiKTtzKFVyZSwiYnVpbGRDb21tYW5kIik7V3JlPVVyZSghMSwhMCksR3JlPVVyZSghMCwhMCksZ0lhPVVyZSghMSwhMSksYklhPVVyZSghMCwhMSk7cyh2SWEsInVuZG9EZXB0aCIpO3MoeElhLCJyZWRvRGVwdGgiKTtzKHlJYSwiaXNIaXN0b3J5VHJhbnNhY3Rpb24iKX0pO3ZhciBaMWE9ZigoKT0+e0sxYSgpfSk7dmFyIFlyZSxYMWE9ZigoKT0+e2dyKCk7WjFhKCk7WXJlPXdyLmNyZWF0ZSh7bmFtZToiaGlzdG9yeSIsYWRkT3B0aW9ucygpe3JldHVybntkZXB0aDoxMDAsbmV3R3JvdXBEZWxheTo1MDB9fSxhZGRDb21tYW5kcygpe3JldHVybnt1bmRvOnMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PldyZShhLGUpLCJ1bmRvIikscmVkbzpzKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5HcmUoYSxlKSwicmVkbyIpfX0sYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCl7cmV0dXJuW1laZSh0aGlzLm9wdGlvbnMpXX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC16IjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy51bmRvKCksIk1vZC16IiksIlNoaWZ0LU1vZC16IjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5yZWRvKCksIlNoaWZ0LU1vZC16IiksIk1vZC15IjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5yZWRvKCksIk1vZC15IiksIk1vZC1cdTA0NEYiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnVuZG8oKSwiTW9kLVx1MDQ0RiIpLCJTaGlmdC1Nb2QtXHUwNDRGIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5yZWRvKCksIlNoaWZ0LU1vZC1cdTA0NEYiKX19fSl9KTt2YXIgS3JlLFExYT1mKCgpPT57Z3IoKTtaVSgpO0tyZT1vci5jcmVhdGUoe25hbWU6Imhvcml6b250YWxSdWxlIixhZGRPcHRpb25zKCl7cmV0dXJue0hUTUxBdHRyaWJ1dGVzOnt9fX0sZ3JvdXA6ImJsb2NrIixwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoiaHIifV19LHJlbmRlckhUTUwoe0hUTUxBdHRyaWJ1dGVzOmF9KXtyZXR1cm5bImhyIix6YSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsYSldfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRIb3Jpem9udGFsUnVsZTpzKCgpPT4oe2NoYWluOmEsc3RhdGU6ZX0pPT57aWYoIURyZShlLGUuc2NoZW1hLm5vZGVzW3RoaXMubmFtZV0pKXJldHVybiExO2xldHtzZWxlY3Rpb246dH09ZSx7JGZyb206ciwkdG86aX09dCxvPWEoKTtyZXR1cm4gci5wYXJlbnRPZmZzZXQ9PT0wP28uaW5zZXJ0Q29udGVudEF0KHtmcm9tOk1hdGgubWF4KHIucG9zLTEsMCksdG86aS5wb3N9LHt0eXBlOnRoaXMubmFtZX0pOkxyZSh0KT9vLmluc2VydENvbnRlbnRBdChpLnBvcyx7dHlwZTp0aGlzLm5hbWV9KTpvLmluc2VydENvbnRlbnQoe3R5cGU6dGhpcy5uYW1lfSksby5jb21tYW5kKCh7dHI6bixkaXNwYXRjaDpsfSk9Pnt2YXIgZDtpZihsKXtsZXR7JHRvOmN9PW4uc2VsZWN0aW9uLHA9Yy5lbmQoKTtpZihjLm5vZGVBZnRlciljLm5vZGVBZnRlci5pc1RleHRibG9jaz9uLnNldFNlbGVjdGlvbihOdC5jcmVhdGUobi5kb2MsYy5wb3MrMSkpOmMubm9kZUFmdGVyLmlzQmxvY2s/bi5zZXRTZWxlY3Rpb24oa3QuY3JlYXRlKG4uZG9jLGMucG9zKSk6bi5zZXRTZWxlY3Rpb24oTnQuY3JlYXRlKG4uZG9jLGMucG9zKSk7ZWxzZXtsZXQgdT0oZD1jLnBhcmVudC50eXBlLmNvbnRlbnRNYXRjaC5kZWZhdWx0VHlwZSk9PT1udWxsfHxkPT09dm9pZCAwP3ZvaWQgMDpkLmNyZWF0ZSgpO3UmJihuLmluc2VydChwLHUpLG4uc2V0U2VsZWN0aW9uKE50LmNyZWF0ZShuLmRvYyxwKzEpKSl9bi5zY3JvbGxJbnRvVmlldygpfXJldHVybiEwfSkucnVuKCl9LCJzZXRIb3Jpem9udGFsUnVsZSIpfX0sYWRkSW5wdXRSdWxlcygpe3JldHVyblskcmUoe2ZpbmQ6L14oPzotLS184oCULXxfX19cc3xcKlwqXCpccykkLyx0eXBlOnRoaXMudHlwZX0pXX19KX0pO3ZhciBKMWEsZTJhLHQyYSxhMmEsWnJlLHIyYT1mKCgpPT57Z3IoKTtKMWE9Lyg/Ol58XHMpKFwqKD8hXHMrXCopKCg/OlteKl0rKSlcKig/IVxzK1wqKSkkLyxlMmE9Lyg/Ol58XHMpKFwqKD8hXHMrXCopKCg/OlteKl0rKSlcKig/IVxzK1wqKSkvZyx0MmE9Lyg/Ol58XHMpKF8oPyFccytfKSgoPzpbXl9dKykpXyg/IVxzK18pKSQvLGEyYT0vKD86XnxccykoXyg/IVxzK18pKCg/OlteX10rKSlfKD8hXHMrXykpL2csWnJlPW5pLmNyZWF0ZSh7bmFtZToiaXRhbGljIixhZGRPcHRpb25zKCl7cmV0dXJue0hUTUxBdHRyaWJ1dGVzOnt9fX0scGFyc2VIVE1MKCl7cmV0dXJuW3t0YWc6ImVtIn0se3RhZzoiaSIsZ2V0QXR0cnM6cyhhPT5hLnN0eWxlLmZvbnRTdHlsZSE9PSJub3JtYWwiJiZudWxsLCJnZXRBdHRycyIpfSx7c3R5bGU6ImZvbnQtc3R5bGU9bm9ybWFsIixjbGVhck1hcms6cyhhPT5hLnR5cGUubmFtZT09PXRoaXMubmFtZSwiY2xlYXJNYXJrIil9LHtzdHlsZToiZm9udC1zdHlsZT1pdGFsaWMifV19LHJlbmRlckhUTUwoe0hUTUxBdHRyaWJ1dGVzOmF9KXtyZXR1cm5bImVtIix6YSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsYSksMF19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldEl0YWxpYzpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+YS5zZXRNYXJrKHRoaXMubmFtZSksInNldEl0YWxpYyIpLHRvZ2dsZUl0YWxpYzpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+YS50b2dnbGVNYXJrKHRoaXMubmFtZSksInRvZ2dsZUl0YWxpYyIpLHVuc2V0SXRhbGljOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnVuc2V0TWFyayh0aGlzLm5hbWUpLCJ1bnNldEl0YWxpYyIpfX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC1pIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVJdGFsaWMoKSwiTW9kLWkiKSwiTW9kLUkiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZUl0YWxpYygpLCJNb2QtSSIpfX0sYWRkSW5wdXRSdWxlcygpe3JldHVybltCbih7ZmluZDpKMWEsdHlwZTp0aGlzLnR5cGV9KSxCbih7ZmluZDp0MmEsdHlwZTp0aGlzLnR5cGV9KV19LGFkZFBhc3RlUnVsZXMoKXtyZXR1cm5bT28oe2ZpbmQ6ZTJhLHR5cGU6dGhpcy50eXBlfSksT28oe2ZpbmQ6YTJhLHR5cGU6dGhpcy50eXBlfSldfX0pfSk7dmFyIFhyZSxzMmE9ZigoKT0+e2dyKCk7WHJlPW9yLmNyZWF0ZSh7bmFtZToibGlzdEl0ZW0iLGFkZE9wdGlvbnMoKXtyZXR1cm57SFRNTEF0dHJpYnV0ZXM6e30sYnVsbGV0TGlzdFR5cGVOYW1lOiJidWxsZXRMaXN0IixvcmRlcmVkTGlzdFR5cGVOYW1lOiJvcmRlcmVkTGlzdCJ9fSxjb250ZW50OiJwYXJhZ3JhcGggYmxvY2sqIixkZWZpbmluZzohMCxwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoibGkifV19LHJlbmRlckhUTUwoe0hUTUxBdHRyaWJ1dGVzOmF9KXtyZXR1cm5bImxpIix6YSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsYSksMF19LGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7cmV0dXJue0VudGVyOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnNwbGl0TGlzdEl0ZW0odGhpcy5uYW1lKSwiRW50ZXIiKSxUYWI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuc2lua0xpc3RJdGVtKHRoaXMubmFtZSksIlRhYiIpLCJTaGlmdC1UYWIiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLmxpZnRMaXN0SXRlbSh0aGlzLm5hbWUpLCJTaGlmdC1UYWIiKX19fSl9KTt2YXIgd0lhLGkyYSxLWmUsUXJlLG8yYT1mKCgpPT57Z3IoKTt3SWE9Imxpc3RJdGVtIixpMmE9InRleHRTdHlsZSIsS1plPS9eKFxkKylcLlxzJC8sUXJlPW9yLmNyZWF0ZSh7bmFtZToib3JkZXJlZExpc3QiLGFkZE9wdGlvbnMoKXtyZXR1cm57aXRlbVR5cGVOYW1lOiJsaXN0SXRlbSIsSFRNTEF0dHJpYnV0ZXM6e30sa2VlcE1hcmtzOiExLGtlZXBBdHRyaWJ1dGVzOiExfX0sZ3JvdXA6ImJsb2NrIGxpc3QiLGNvbnRlbnQoKXtyZXR1cm5gJHt0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lfStgfSxhZGRBdHRyaWJ1dGVzKCl7cmV0dXJue3N0YXJ0OntkZWZhdWx0OjEscGFyc2VIVE1MOnMoYT0+YS5oYXNBdHRyaWJ1dGUoInN0YXJ0Iik/cGFyc2VJbnQoYS5nZXRBdHRyaWJ1dGUoInN0YXJ0Iil8fCIiLDEwKToxLCJwYXJzZUhUTUwiKX0sdHlwZTp7ZGVmYXVsdDpudWxsLHBhcnNlSFRNTDpzKGE9PmEuZ2V0QXR0cmlidXRlKCJ0eXBlIiksInBhcnNlSFRNTCIpfX19LHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJvbCJ9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe2xldHtzdGFydDplLC4uLnR9PWE7cmV0dXJuIGU9PT0xP1sib2wiLHphKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyx0KSwwXTpbIm9sIix6YSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsYSksMF19LGFkZENvbW1hbmRzKCl7cmV0dXJue3RvZ2dsZU9yZGVyZWRMaXN0OnMoKCk9Pih7Y29tbWFuZHM6YSxjaGFpbjplfSk9PnRoaXMub3B0aW9ucy5rZWVwQXR0cmlidXRlcz9lKCkudG9nZ2xlTGlzdCh0aGlzLm5hbWUsdGhpcy5vcHRpb25zLml0ZW1UeXBlTmFtZSx0aGlzLm9wdGlvbnMua2VlcE1hcmtzKS51cGRhdGVBdHRyaWJ1dGVzKHdJYSx0aGlzLmVkaXRvci5nZXRBdHRyaWJ1dGVzKGkyYSkpLnJ1bigpOmEudG9nZ2xlTGlzdCh0aGlzLm5hbWUsdGhpcy5vcHRpb25zLml0ZW1UeXBlTmFtZSx0aGlzLm9wdGlvbnMua2VlcE1hcmtzKSwidG9nZ2xlT3JkZXJlZExpc3QiKX19LGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7cmV0dXJueyJNb2QtU2hpZnQtNyI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlT3JkZXJlZExpc3QoKSwiTW9kLVNoaWZ0LTciKX19LGFkZElucHV0UnVsZXMoKXtsZXQgYT1KMih7ZmluZDpLWmUsdHlwZTp0aGlzLnR5cGUsZ2V0QXR0cmlidXRlczpzKGU9Pih7c3RhcnQ6K2VbMV19KSwiZ2V0QXR0cmlidXRlcyIpLGpvaW5QcmVkaWNhdGU6cygoZSx0KT0+dC5jaGlsZENvdW50K3QuYXR0cnMuc3RhcnQ9PT0rZVsxXSwiam9pblByZWRpY2F0ZSIpfSk7cmV0dXJuKHRoaXMub3B0aW9ucy5rZWVwTWFya3N8fHRoaXMub3B0aW9ucy5rZWVwQXR0cmlidXRlcykmJihhPUoyKHtmaW5kOktaZSx0eXBlOnRoaXMudHlwZSxrZWVwTWFya3M6dGhpcy5vcHRpb25zLmtlZXBNYXJrcyxrZWVwQXR0cmlidXRlczp0aGlzLm9wdGlvbnMua2VlcEF0dHJpYnV0ZXMsZ2V0QXR0cmlidXRlczpzKGU9Pih7c3RhcnQ6K2VbMV0sLi4udGhpcy5lZGl0b3IuZ2V0QXR0cmlidXRlcyhpMmEpfSksImdldEF0dHJpYnV0ZXMiKSxqb2luUHJlZGljYXRlOnMoKGUsdCk9PnQuY2hpbGRDb3VudCt0LmF0dHJzLnN0YXJ0PT09K2VbMV0sImpvaW5QcmVkaWNhdGUiKSxlZGl0b3I6dGhpcy5lZGl0b3J9KSksW2FdfX0pfSk7dmFyIEpyZSxuMmE9ZigoKT0+e2dyKCk7SnJlPW9yLmNyZWF0ZSh7bmFtZToicGFyYWdyYXBoIixwcmlvcml0eToxZTMsYWRkT3B0aW9ucygpe3JldHVybntIVE1MQXR0cmlidXRlczp7fX19LGdyb3VwOiJibG9jayIsY29udGVudDoiaW5saW5lKiIscGFyc2VIVE1MKCl7cmV0dXJuW3t0YWc6InAifV19LHJlbmRlckhUTUwoe0hUTUxBdHRyaWJ1dGVzOmF9KXtyZXR1cm5bInAiLHphKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKSwwXX0sYWRkQ29tbWFuZHMoKXtyZXR1cm57c2V0UGFyYWdyYXBoOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnNldE5vZGUodGhpcy5uYW1lKSwic2V0UGFyYWdyYXBoIil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLUFsdC0wIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZXRQYXJhZ3JhcGgoKSwiTW9kLUFsdC0wIil9fX0pfSk7dmFyIGwyYSxjMmEsZXNlLGQyYT1mKCgpPT57Z3IoKTtsMmE9Lyg/Ol58XHMpKH5+KD8hXHMrfn4pKCg/Oltefl0rKSl+fig/IVxzK35+KSkkLyxjMmE9Lyg/Ol58XHMpKH5+KD8hXHMrfn4pKCg/Oltefl0rKSl+fig/IVxzK35+KSkvZyxlc2U9bmkuY3JlYXRlKHtuYW1lOiJzdHJpa2UiLGFkZE9wdGlvbnMoKXtyZXR1cm57SFRNTEF0dHJpYnV0ZXM6e319fSxwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoicyJ9LHt0YWc6ImRlbCJ9LHt0YWc6InN0cmlrZSJ9LHtzdHlsZToidGV4dC1kZWNvcmF0aW9uIixjb25zdW1pbmc6ITEsZ2V0QXR0cnM6cyhhPT5hLmluY2x1ZGVzKCJsaW5lLXRocm91Z2giKT97fTohMSwiZ2V0QXR0cnMiKX1dfSxyZW5kZXJIVE1MKHtIVE1MQXR0cmlidXRlczphfSl7cmV0dXJuWyJzIix6YSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsYSksMF19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldFN0cmlrZTpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+YS5zZXRNYXJrKHRoaXMubmFtZSksInNldFN0cmlrZSIpLHRvZ2dsZVN0cmlrZTpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+YS50b2dnbGVNYXJrKHRoaXMubmFtZSksInRvZ2dsZVN0cmlrZSIpLHVuc2V0U3RyaWtlOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnVuc2V0TWFyayh0aGlzLm5hbWUpLCJ1bnNldFN0cmlrZSIpfX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC1TaGlmdC1zIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVTdHJpa2UoKSwiTW9kLVNoaWZ0LXMiKX19LGFkZElucHV0UnVsZXMoKXtyZXR1cm5bQm4oe2ZpbmQ6bDJhLHR5cGU6dGhpcy50eXBlfSldfSxhZGRQYXN0ZVJ1bGVzKCl7cmV0dXJuW09vKHtmaW5kOmMyYSx0eXBlOnRoaXMudHlwZX0pXX19KX0pO3ZhciB0c2UsdTJhPWYoKCk9PntncigpO3RzZT1vci5jcmVhdGUoe25hbWU6InRleHQiLGdyb3VwOiJpbmxpbmUifSl9KTt2YXIgcDJhPXt9O2x0KHAyYSx7U3RhcnRlcktpdDooKT0+WlplLGRlZmF1bHQ6KCk9PlpaZX0pO3ZhciBaWmUsZjJhPWYoKCk9PntncigpO3kxYSgpO3oxYSgpO18xYSgpOyQxYSgpO1AxYSgpO0UxYSgpO1IxYSgpO0gxYSgpO3ExYSgpO1YxYSgpO1gxYSgpO1ExYSgpO3IyYSgpO3MyYSgpO28yYSgpO24yYSgpO2QyYSgpO3UyYSgpO1paZT13ci5jcmVhdGUoe25hbWU6InN0YXJ0ZXJLaXQiLGFkZEV4dGVuc2lvbnMoKXtsZXQgYT1bXTtyZXR1cm4gdGhpcy5vcHRpb25zLmJvbGQhPT0hMSYmYS5wdXNoKFByZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmJvbGQpKSx0aGlzLm9wdGlvbnMuYmxvY2txdW90ZSE9PSExJiZhLnB1c2goQXJlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuYmxvY2txdW90ZSkpLHRoaXMub3B0aW9ucy5idWxsZXRMaXN0IT09ITEmJmEucHVzaChFcmUuY29uZmlndXJlKHRoaXMub3B0aW9ucy5idWxsZXRMaXN0KSksdGhpcy5vcHRpb25zLmNvZGUhPT0hMSYmYS5wdXNoKElyZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmNvZGUpKSx0aGlzLm9wdGlvbnMuY29kZUJsb2NrIT09ITEmJmEucHVzaChOcmUuY29uZmlndXJlKHRoaXMub3B0aW9ucy5jb2RlQmxvY2spKSx0aGlzLm9wdGlvbnMuZG9jdW1lbnQhPT0hMSYmYS5wdXNoKFJyZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmRvY3VtZW50KSksdGhpcy5vcHRpb25zLmRyb3BjdXJzb3IhPT0hMSYmYS5wdXNoKE9yZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmRyb3BjdXJzb3IpKSx0aGlzLm9wdGlvbnMuZ2FwY3Vyc29yIT09ITEmJmEucHVzaChCcmUuY29uZmlndXJlKHRoaXMub3B0aW9ucy5nYXBjdXJzb3IpKSx0aGlzLm9wdGlvbnMuaGFyZEJyZWFrIT09ITEmJmEucHVzaChIcmUuY29uZmlndXJlKHRoaXMub3B0aW9ucy5oYXJkQnJlYWspKSx0aGlzLm9wdGlvbnMuaGVhZGluZyE9PSExJiZhLnB1c2gocXJlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuaGVhZGluZykpLHRoaXMub3B0aW9ucy5oaXN0b3J5IT09ITEmJmEucHVzaChZcmUuY29uZmlndXJlKHRoaXMub3B0aW9ucy5oaXN0b3J5KSksdGhpcy5vcHRpb25zLmhvcml6b250YWxSdWxlIT09ITEmJmEucHVzaChLcmUuY29uZmlndXJlKHRoaXMub3B0aW9ucy5ob3Jpem9udGFsUnVsZSkpLHRoaXMub3B0aW9ucy5pdGFsaWMhPT0hMSYmYS5wdXNoKFpyZS5jb25maWd1cmUodGhpcy5vcHRpb25zLml0YWxpYykpLHRoaXMub3B0aW9ucy5saXN0SXRlbSE9PSExJiZhLnB1c2goWHJlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMubGlzdEl0ZW0pKSx0aGlzLm9wdGlvbnMub3JkZXJlZExpc3QhPT0hMSYmYS5wdXNoKFFyZS5jb25maWd1cmUodGhpcy5vcHRpb25zLm9yZGVyZWRMaXN0KSksdGhpcy5vcHRpb25zLnBhcmFncmFwaCE9PSExJiZhLnB1c2goSnJlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMucGFyYWdyYXBoKSksdGhpcy5vcHRpb25zLnN0cmlrZSE9PSExJiZhLnB1c2goZXNlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuc3RyaWtlKSksdGhpcy5vcHRpb25zLnRleHQhPT0hMSYmYS5wdXNoKHRzZS5jb25maWd1cmUodGhpcy5vcHRpb25zLnRleHQpKSxhfX0pfSk7dmFyIGgyYT17fTtsdChoMmEse1VuZGVybGluZTooKT0+WFplLGRlZmF1bHQ6KCk9PlhaZX0pO3ZhciBYWmUsbTJhPWYoKCk9PntncigpO1haZT1uaS5jcmVhdGUoe25hbWU6InVuZGVybGluZSIsYWRkT3B0aW9ucygpe3JldHVybntIVE1MQXR0cmlidXRlczp7fX19LHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJ1In0se3N0eWxlOiJ0ZXh0LWRlY29yYXRpb24iLGNvbnN1bWluZzohMSxnZXRBdHRyczpzKGE9PmEuaW5jbHVkZXMoInVuZGVybGluZSIpP3t9OiExLCJnZXRBdHRycyIpfV19LHJlbmRlckhUTUwoe0hUTUxBdHRyaWJ1dGVzOmF9KXtyZXR1cm5bInUiLHphKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKSwwXX0sYWRkQ29tbWFuZHMoKXtyZXR1cm57c2V0VW5kZXJsaW5lOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnNldE1hcmsodGhpcy5uYW1lKSwic2V0VW5kZXJsaW5lIiksdG9nZ2xlVW5kZXJsaW5lOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnRvZ2dsZU1hcmsodGhpcy5uYW1lKSwidG9nZ2xlVW5kZXJsaW5lIiksdW5zZXRVbmRlcmxpbmU6cygoKT0+KHtjb21tYW5kczphfSk9PmEudW5zZXRNYXJrKHRoaXMubmFtZSksInVuc2V0VW5kZXJsaW5lIil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLXUiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZVVuZGVybGluZSgpLCJNb2QtdSIpLCJNb2QtVSI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlVW5kZXJsaW5lKCksIk1vZC1VIil9fX0pfSk7dmFyIGcyYT17fTtsdChnMmEse1RleHRBbGlnbjooKT0+UVplLGRlZmF1bHQ6KCk9PlFaZX0pO3ZhciBRWmUsYjJhPWYoKCk9PntncigpO1FaZT13ci5jcmVhdGUoe25hbWU6InRleHRBbGlnbiIsYWRkT3B0aW9ucygpe3JldHVybnt0eXBlczpbXSxhbGlnbm1lbnRzOlsibGVmdCIsImNlbnRlciIsInJpZ2h0IiwianVzdGlmeSJdLGRlZmF1bHRBbGlnbm1lbnQ6bnVsbH19LGFkZEdsb2JhbEF0dHJpYnV0ZXMoKXtyZXR1cm5be3R5cGVzOnRoaXMub3B0aW9ucy50eXBlcyxhdHRyaWJ1dGVzOnt0ZXh0QWxpZ246e2RlZmF1bHQ6dGhpcy5vcHRpb25zLmRlZmF1bHRBbGlnbm1lbnQscGFyc2VIVE1MOnMoYT0+e2xldCBlPWEuc3R5bGUudGV4dEFsaWduO3JldHVybiB0aGlzLm9wdGlvbnMuYWxpZ25tZW50cy5pbmNsdWRlcyhlKT9lOnRoaXMub3B0aW9ucy5kZWZhdWx0QWxpZ25tZW50fSwicGFyc2VIVE1MIikscmVuZGVySFRNTDpzKGE9PmEudGV4dEFsaWduP3tzdHlsZTpgdGV4dC1hbGlnbjogJHthLnRleHRBbGlnbn1gfTp7fSwicmVuZGVySFRNTCIpfX19XX0sYWRkQ29tbWFuZHMoKXtyZXR1cm57c2V0VGV4dEFsaWduOnMoYT0+KHtjb21tYW5kczplfSk9PnRoaXMub3B0aW9ucy5hbGlnbm1lbnRzLmluY2x1ZGVzKGEpP3RoaXMub3B0aW9ucy50eXBlcy5tYXAodD0+ZS51cGRhdGVBdHRyaWJ1dGVzKHQse3RleHRBbGlnbjphfSkpLmV2ZXJ5KHQ9PnQpOiExLCJzZXRUZXh0QWxpZ24iKSx1bnNldFRleHRBbGlnbjpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+dGhpcy5vcHRpb25zLnR5cGVzLm1hcChlPT5hLnJlc2V0QXR0cmlidXRlcyhlLCJ0ZXh0QWxpZ24iKSkuZXZlcnkoZT0+ZSksInVuc2V0VGV4dEFsaWduIiksdG9nZ2xlVGV4dEFsaWduOnMoYT0+KHtlZGl0b3I6ZSxjb21tYW5kczp0fSk9PnRoaXMub3B0aW9ucy5hbGlnbm1lbnRzLmluY2x1ZGVzKGEpP2UuaXNBY3RpdmUoe3RleHRBbGlnbjphfSk/dC51bnNldFRleHRBbGlnbigpOnQuc2V0VGV4dEFsaWduKGEpOiExLCJ0b2dnbGVUZXh0QWxpZ24iKX19LGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7cmV0dXJueyJNb2QtU2hpZnQtbCI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuc2V0VGV4dEFsaWduKCJsZWZ0IiksIk1vZC1TaGlmdC1sIiksIk1vZC1TaGlmdC1lIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZXRUZXh0QWxpZ24oImNlbnRlciIpLCJNb2QtU2hpZnQtZSIpLCJNb2QtU2hpZnQtciI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuc2V0VGV4dEFsaWduKCJyaWdodCIpLCJNb2QtU2hpZnQtciIpLCJNb2QtU2hpZnQtaiI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuc2V0VGV4dEFsaWduKCJqdXN0aWZ5IiksIk1vZC1TaGlmdC1qIil9fX0pfSk7ZnVuY3Rpb24gQ0lhKGEsZSl7cmV0dXJuIGEgaW4gZXx8KGVbYV09W10pLGVbYV19ZnVuY3Rpb24gaTUoYSxlLHQpe2VbSlplXSYmKGVbdlddPSEwLGVbeFddPSEwKSxlW2VYZV0mJihlW3ZXXT0hMCxlW3RYZV09ITApLGVbdlddJiYoZVt4V109ITApLGVbdFhlXSYmKGVbeFddPSEwKSxlW3hXXSYmKGVbYVhlXT0hMCksZVt2MmFdJiYoZVthWGVdPSEwKTtmb3IobGV0IHIgaW4gZSl7bGV0IGk9Q0lhKHIsdCk7aS5pbmRleE9mKGEpPDAmJmkucHVzaChhKX19ZnVuY3Rpb24gX0lhKGEsZSl7bGV0IHQ9e307Zm9yKGxldCByIGluIGUpZVtyXS5pbmRleE9mKGEpPj0wJiYodFtyXT0hMCk7cmV0dXJuIHR9ZnVuY3Rpb24gSmkoYT1udWxsKXt0aGlzLmo9e30sdGhpcy5qcj1bXSx0aGlzLmpkPW51bGwsdGhpcy50PWF9ZnVuY3Rpb24gQUlhKGE9W10pe2xldCBlPXt9O0ppLmdyb3Vwcz1lO2xldCB0PW5ldyBKaTtBc2U9PW51bGwmJihBc2U9VDJhKE1JYSkpLFBzZT09bnVsbCYmKFBzZT1UMmEoa0lhKSksS2UodCwiJyIsdnNlKSxLZSh0LCJ7Iix3VyksS2UodCwifSIsTVcpLEtlKHQsIlsiLHJzZSksS2UodCwiXSIsc3NlKSxLZSh0LCIoIixpc2UpLEtlKHQsIikiLG9zZSksS2UodCwiPCIsbnNlKSxLZSh0LCI+Iixsc2UpLEtlKHQsIlx1RkYwOCIsY3NlKSxLZSh0LCJcdUZGMDkiLGRzZSksS2UodCwiXHUzMDBDIix1c2UpLEtlKHQsIlx1MzAwRCIscHNlKSxLZSh0LCJcdTMwMEUiLGZzZSksS2UodCwiXHUzMDBGIixoc2UpLEtlKHQsIlx1RkYxQyIsbXNlKSxLZSh0LCJcdUZGMUUiLGdzZSksS2UodCwiJiIsYnNlKSxLZSh0LCIqIix4c2UpLEtlKHQsIkAiLE00KSxLZSh0LCJgIix3c2UpLEtlKHQsIl4iLE1zZSksS2UodCwiOiIsazQpLEtlKHQsIiwiLGRYZSksS2UodCwiJCIsa3NlKSxLZSh0LCIuIixybCksS2UodCwiPSIsU3NlKSxLZSh0LCIhIix1WGUpLEtlKHQsIi0iLEhuKSxLZSh0LCIlIixrVyksS2UodCwifCIsenNlKSxLZSh0LCIrIixDc2UpLEtlKHQsIiMiLF9zZSksS2UodCwiPyIsU1cpLEtlKHQsJyInLHBYZSksS2UodCwiLyIsc2wpLEtlKHQsIjsiLGZYZSksS2UodCwifiIselcpLEtlKHQsIl8iLFRzZSksS2UodCwiXFwiLHlzZSksS2UodCwiXHUzMEZCIixNMmEpO2xldCByPUhyKHQsb2wsblhlLHtbSlplXTohMH0pO0hyKHIsb2wscik7bGV0IGk9SHIocixpbCx5MmEse1t2V106ITB9KSxvPUhyKHIsRm0sdzJhLHtbeFddOiEwfSksbj1Icih0LGlsLE1jLHtbZVhlXTohMH0pO0hyKG4sb2wsaSksSHIobixpbCxuKSxIcihpLG9sLGkpLEhyKGksaWwsaSk7bGV0IGw9SHIodCxGbSxzWGUse1t0WGVdOiEwfSk7SHIobCxpbCksSHIobCxvbCxvKSxIcihsLEZtLGwpLEhyKG8sb2wsbyksSHIobyxpbCksSHIobyxGbSxvKTtsZXQgZD1LZSh0LGhYZSxjWGUse1tyWGVdOiEwfSksYz1LZSh0LHoyYSxsWGUse1tyWGVdOiEwfSkscD1Icih0LERzZSxsWGUse1tyWGVdOiEwfSk7S2UodCxtWGUscCksS2UoYyxoWGUsZCksS2UoYyxtWGUscCksSHIoYyxEc2UscCksS2UocCx6MmEpLEtlKHAsaFhlKSxIcihwLERzZSxwKSxLZShwLG1YZSxwKTtsZXQgdT1Icih0LCRzZSxrMmEse1t2MmFdOiEwfSk7S2UodSwiIyIpLEhyKHUsJHNlLHUpLEtlKHUsJElhLHUpO2xldCBtPUtlKHUsRElhKTtLZShtLCIjIiksSHIobSwkc2UsdSk7bGV0IHY9W1tpbCxuXSxbb2wsaV1dLHg9W1tpbCxudWxsXSxbRm0sbF0sW29sLG9dXTtmb3IobGV0IGI9MDtiPEFzZS5sZW5ndGg7YisrKVM0KHQsQXNlW2JdLGlYZSxNYyx2KTtmb3IobGV0IGI9MDtiPFBzZS5sZW5ndGg7YisrKVM0KHQsUHNlW2JdLG9YZSxzWGUseCk7aTUoaVhlLHt0bGQ6ITAsYXNjaWk6ITB9LGUpLGk1KG9YZSx7dXRsZDohMCxhbHBoYTohMH0sZSksUzQodCwiZmlsZSIsYXNlLE1jLHYpLFM0KHQsIm1haWx0byIsYXNlLE1jLHYpLFM0KHQsImh0dHAiLE9tLE1jLHYpLFM0KHQsImh0dHBzIixPbSxNYyx2KSxTNCh0LCJmdHAiLE9tLE1jLHYpLFM0KHQsImZ0cHMiLE9tLE1jLHYpLGk1KGFzZSx7c2NoZW1lOiEwLGFzY2lpOiEwfSxlKSxpNShPbSx7c2xhc2hzY2hlbWU6ITAsYXNjaWk6ITB9LGUpLGE9YS5zb3J0KChiLGcpPT5iWzBdPmdbMF0/MTotMSk7Zm9yKGxldCBiPTA7YjxhLmxlbmd0aDtiKyspe2xldCBnPWFbYl1bMF0saz1hW2JdWzFdP3tbU0lhXTohMH06e1t6SWFdOiEwfTtnLmluZGV4T2YoIi0iKT49MD9rW2FYZV09ITA6aWwudGVzdChnKT9vbC50ZXN0KGcpP2tbdlddPSEwOmtbZVhlXT0hMDprW0paZV09ITAseDJhKHQsZyxnLGspfXJldHVybiB4MmEodCwibG9jYWxob3N0Iix5Vyx7YXNjaWk6ITB9KSx0LmpkPW5ldyBKaShMc2UpLHtzdGFydDp0LHRva2VuczpPYmplY3QuYXNzaWduKHtncm91cHM6ZX0sUzJhKX19ZnVuY3Rpb24gQzJhKGEsZSl7bGV0IHQ9XzJhKGUucmVwbGFjZSgvW0EtWl0vZyxsPT5sLnRvTG93ZXJDYXNlKCkpKSxyPXQubGVuZ3RoLGk9W10sbz0wLG49MDtmb3IoO248cjspe2xldCBsPWEsZD1udWxsLGM9MCxwPW51bGwsdT0tMSxtPS0xO2Zvcig7bjxyJiYoZD1sLmdvKHRbbl0pKTspbD1kLGwuYWNjZXB0cygpPyh1PTAsbT0wLHA9bCk6dT49MCYmKHUrPXRbbl0ubGVuZ3RoLG0rKyksYys9dFtuXS5sZW5ndGgsbys9dFtuXS5sZW5ndGgsbisrO28tPXUsbi09bSxjLT11LGkucHVzaCh7dDpwLnQsdjplLnNsaWNlKG8tYyxvKSxzOm8tYyxlOm99KX1yZXR1cm4gaX1mdW5jdGlvbiBfMmEoYSl7bGV0IGU9W10sdD1hLmxlbmd0aCxyPTA7Zm9yKDtyPHQ7KXtsZXQgaT1hLmNoYXJDb2RlQXQociksbyxuPWk8NTUyOTZ8fGk+NTYzMTl8fHIrMT09PXR8fChvPWEuY2hhckNvZGVBdChyKzEpKTw1NjMyMHx8bz41NzM0Mz9hW3JdOmEuc2xpY2UocixyKzIpO2UucHVzaChuKSxyKz1uLmxlbmd0aH1yZXR1cm4gZX1mdW5jdGlvbiBTNChhLGUsdCxyLGkpe2xldCBvLG49ZS5sZW5ndGg7Zm9yKGxldCBsPTA7bDxuLTE7bCsrKXtsZXQgZD1lW2xdO2EualtkXT9vPWEualtkXToobz1uZXcgSmkociksby5qcj1pLnNsaWNlKCksYS5qW2RdPW8pLGE9b31yZXR1cm4gbz1uZXcgSmkodCksby5qcj1pLnNsaWNlKCksYS5qW2Vbbi0xXV09byxvfWZ1bmN0aW9uIFQyYShhKXtsZXQgZT1bXSx0PVtdLHI9MCxpPSIwMTIzNDU2Nzg5Ijtmb3IoO3I8YS5sZW5ndGg7KXtsZXQgbz0wO2Zvcig7aS5pbmRleE9mKGFbcitvXSk+PTA7KW8rKztpZihvPjApe2UucHVzaCh0LmpvaW4oIiIpKTtmb3IobGV0IG49cGFyc2VJbnQoYS5zdWJzdHJpbmcocixyK28pLDEwKTtuPjA7bi0tKXQucG9wKCk7cis9b31lbHNlIHQucHVzaChhW3JdKSxyKyt9cmV0dXJuIGV9ZnVuY3Rpb24gQ1coYSxlPW51bGwpe2xldCB0PU9iamVjdC5hc3NpZ24oe30sQm0pO2EmJih0PU9iamVjdC5hc3NpZ24odCxhIGluc3RhbmNlb2YgQ1c/YS5vOmEpKTtsZXQgcj10Lmlnbm9yZVRhZ3MsaT1bXTtmb3IobGV0IG89MDtvPHIubGVuZ3RoO28rKylpLnB1c2gocltvXS50b1VwcGVyQ2FzZSgpKTt0aGlzLm89dCxlJiYodGhpcy5kZWZhdWx0UmVuZGVyPWUpLHRoaXMuaWdub3JlVGFncz1pfWZ1bmN0aW9uIEwyYShhKXtyZXR1cm4gYX1mdW5jdGlvbiBfVyhhLGUpe3RoaXMudD0idG9rZW4iLHRoaXMudj1hLHRoaXMudGs9ZX1mdW5jdGlvbiBIbShhLGUpe2NsYXNzIHQgZXh0ZW5kcyBfV3tzdGF0aWN7cyh0aGlzLCJUb2tlbiIpfWNvbnN0cnVjdG9yKGksbyl7c3VwZXIoaSxvKSx0aGlzLnQ9YX19Zm9yKGxldCByIGluIGUpdC5wcm90b3R5cGVbcl09ZVtyXTtyZXR1cm4gdC50PWEsdH1mdW5jdGlvbiBFSWEoe2dyb3VwczphfSl7bGV0IGU9YS5kb21haW4uY29uY2F0KFtic2UseHNlLE00LHlzZSx3c2UsTXNlLGtzZSxTc2UsSG4sblhlLGtXLHpzZSxDc2UsX3NlLHNsLExzZSx6VyxUc2VdKSx0PVt2c2UsazQsZFhlLHJsLHVYZSxrVyxTVyxwWGUsZlhlLG5zZSxsc2Usd1csTVcsc3NlLHJzZSxpc2Usb3NlLGNzZSxkc2UsdXNlLHBzZSxmc2UsaHNlLG1zZSxnc2VdLHI9W2JzZSx2c2UseHNlLHlzZSx3c2UsTXNlLGtzZSxTc2UsSG4sd1csTVcsa1csenNlLENzZSxfc2UsU1csc2wsTHNlLHpXLFRzZV0saT1xbigpLG89S2UoaSx6Vyk7YWEobyxyLG8pLGFhKG8sYS5kb21haW4sbyk7bGV0IG49cW4oKSxsPXFuKCksZD1xbigpO2FhKGksYS5kb21haW4sbiksYWEoaSxhLnNjaGVtZSxsKSxhYShpLGEuc2xhc2hzY2hlbWUsZCksYWEobixyLG8pLGFhKG4sYS5kb21haW4sbik7bGV0IGM9S2UobixNNCk7S2UobyxNNCxjKSxLZShsLE00LGMpLEtlKGQsTTQsYyk7bGV0IHA9S2UobyxybCk7YWEocCxyLG8pLGFhKHAsYS5kb21haW4sbyk7bGV0IHU9cW4oKTthYShjLGEuZG9tYWluLHUpLGFhKHUsYS5kb21haW4sdSk7bGV0IG09S2UodSxybCk7YWEobSxhLmRvbWFpbix1KTtsZXQgdj1xbihnWGUpO2FhKG0sYS50bGQsdiksYWEobSxhLnV0bGQsdiksS2UoYyx5Vyx2KTtsZXQgeD1LZSh1LEhuKTtLZSh4LEhuLHgpLGFhKHgsYS5kb21haW4sdSksYWEodixhLmRvbWFpbix1KSxLZSh2LHJsLG0pLEtlKHYsSG4seCk7bGV0IGI9S2UodixrNCk7YWEoYixhLm51bWVyaWMsZ1hlKTtsZXQgZz1LZShuLEhuKSx5PUtlKG4scmwpO0tlKGcsSG4sZyksYWEoZyxhLmRvbWFpbixuKSxhYSh5LHIsbyksYWEoeSxhLmRvbWFpbixuKTtsZXQgaz1xbihUVyk7YWEoeSxhLnRsZCxrKSxhYSh5LGEudXRsZCxrKSxhYShrLGEuZG9tYWluLG4pLGFhKGsscixvKSxLZShrLHJsLHkpLEtlKGssSG4sZyksS2UoayxNNCxjKTtsZXQgQz1LZShrLGs0KSxOPXFuKFRXKTthYShDLGEubnVtZXJpYyxOKTtsZXQgXz1xbihUVyksej1xbigpO2FhKF8sZSxfKSxhYShfLHQseiksYWEoeixlLF8pLGFhKHosdCx6KSxLZShrLHNsLF8pLEtlKE4sc2wsXyk7bGV0IE89S2UobCxrNCksVD1LZShkLGs0KSxQPUtlKFQsc2wpLEI9S2UoUCxzbCk7YWEobCxhLmRvbWFpbixuKSxLZShsLHJsLHkpLEtlKGwsSG4sZyksYWEoZCxhLmRvbWFpbixuKSxLZShkLHJsLHkpLEtlKGQsSG4sZyksYWEoTyxhLmRvbWFpbixfKSxLZShPLHNsLF8pLEtlKE8sU1csXyksYWEoQixhLmRvbWFpbixfKSxhYShCLGUsXyksS2UoQixzbCxfKTtsZXQgTT1bW3dXLE1XXSxbcnNlLHNzZV0sW2lzZSxvc2VdLFtuc2UsbHNlXSxbY3NlLGRzZV0sW3VzZSxwc2VdLFtmc2UsaHNlXSxbbXNlLGdzZV1dO2ZvcihsZXQgUz0wO1M8TS5sZW5ndGg7UysrKXtsZXRbRSxBXT1NW1NdLEY9S2UoXyxFKTtLZSh6LEUsRiksS2UoRixBLF8pO2xldCBXPXFuKFRXKTthYShGLGUsVyk7bGV0IGo9cW4oKTthYShGLHQpLGFhKFcsZSxXKSxhYShXLHQsaiksYWEoaixlLFcpLGFhKGosdCxqKSxLZShXLEEsXyksS2UoaixBLF8pfXJldHVybiBLZShpLHlXLGspLEtlKGksY1hlLCQyYSkse3N0YXJ0OmksdG9rZW5zOlMyYX19ZnVuY3Rpb24gSUlhKGEsZSx0KXtsZXQgcj10Lmxlbmd0aCxpPTAsbz1bXSxuPVtdO2Zvcig7aTxyOyl7bGV0IGw9YSxkPW51bGwsYz1udWxsLHA9MCx1PW51bGwsbT0tMTtmb3IoO2k8ciYmIShkPWwuZ28odFtpXS50KSk7KW4ucHVzaCh0W2krK10pO2Zvcig7aTxyJiYoYz1kfHxsLmdvKHRbaV0udCkpOylkPW51bGwsbD1jLGwuYWNjZXB0cygpPyhtPTAsdT1sKTptPj0wJiZtKyssaSsrLHArKztpZihtPDApaS09cCxpPHImJihuLnB1c2godFtpXSksaSsrKTtlbHNle24ubGVuZ3RoPjAmJihvLnB1c2godlhlKGJYZSxlLG4pKSxuPVtdKSxpLT1tLHAtPW07bGV0IHY9dS50LHg9dC5zbGljZShpLXAsaSk7by5wdXNoKHZYZSh2LGUseCkpfX1yZXR1cm4gbi5sZW5ndGg+MCYmby5wdXNoKHZYZShiWGUsZSxuKSksb31mdW5jdGlvbiB2WGUoYSxlLHQpe2xldCByPXRbMF0ucyxpPXRbdC5sZW5ndGgtMV0uZSxvPWUuc2xpY2UocixpKTtyZXR1cm4gbmV3IGEobyx0KX1mdW5jdGlvbiB5WGUoKXtyZXR1cm4gSmkuZ3JvdXBzPXt9LENhLnNjYW5uZXI9bnVsbCxDYS5wYXJzZXI9bnVsbCxDYS50b2tlblF1ZXVlPVtdLENhLnBsdWdpblF1ZXVlPVtdLENhLmN1c3RvbVNjaGVtZXM9W10sQ2EuaW5pdGlhbGl6ZWQ9ITEsQ2F9ZnVuY3Rpb24gTklhKGEsZSl7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IEVycm9yKGBsaW5raWZ5anM6IEludmFsaWQgdG9rZW4gcGx1Z2luICR7ZX0gKGV4cGVjdHMgZnVuY3Rpb24pYCk7Zm9yKGxldCB0PTA7dDxDYS50b2tlblF1ZXVlLmxlbmd0aDt0KyspaWYoYT09PUNhLnRva2VuUXVldWVbdF1bMF0pe0xXKGBsaW5raWZ5anM6IHRva2VuIHBsdWdpbiAiJHthfSIgYWxyZWFkeSByZWdpc3RlcmVkIC0gd2lsbCBiZSBvdmVyd3JpdHRlbmApLENhLnRva2VuUXVldWVbdF09W2EsZV07cmV0dXJufUNhLnRva2VuUXVldWUucHVzaChbYSxlXSksQ2EuaW5pdGlhbGl6ZWQmJkxXKGBsaW5raWZ5anM6IGFscmVhZHkgaW5pdGlhbGl6ZWQgLSB3aWxsIG5vdCByZWdpc3RlciB0b2tlbiBwbHVnaW4gIiR7YX0iICR7eFhlfWApfWZ1bmN0aW9uIFJJYShhLGUpe2lmKHR5cGVvZiBlIT0iZnVuY3Rpb24iKXRocm93IG5ldyBFcnJvcihgbGlua2lmeWpzOiBJbnZhbGlkIHBsdWdpbiAke2V9IChleHBlY3RzIGZ1bmN0aW9uKWApO2ZvcihsZXQgdD0wO3Q8Q2EucGx1Z2luUXVldWUubGVuZ3RoO3QrKylpZihhPT09Q2EucGx1Z2luUXVldWVbdF1bMF0pe0xXKGBsaW5raWZ5anM6IHBsdWdpbiAiJHthfSIgYWxyZWFkeSByZWdpc3RlcmVkIC0gd2lsbCBiZSBvdmVyd3JpdHRlbmApLENhLnBsdWdpblF1ZXVlW3RdPVthLGVdO3JldHVybn1DYS5wbHVnaW5RdWV1ZS5wdXNoKFthLGVdKSxDYS5pbml0aWFsaXplZCYmTFcoYGxpbmtpZnlqczogYWxyZWFkeSBpbml0aWFsaXplZCAtIHdpbGwgbm90IHJlZ2lzdGVyIHBsdWdpbiAiJHthfSIgJHt4WGV9YCl9ZnVuY3Rpb24gRXNlKGEsZT0hMSl7aWYoQ2EuaW5pdGlhbGl6ZWQmJkxXKGBsaW5raWZ5anM6IGFscmVhZHkgaW5pdGlhbGl6ZWQgLSB3aWxsIG5vdCByZWdpc3RlciBjdXN0b20gc2NoZW1lICIke2F9IiAke3hYZX1gKSwhL15bMC05YS16XSsoLVswLTlhLXpdKykqJC8udGVzdChhKSl0aHJvdyBuZXcgRXJyb3IoYGxpbmtpZnlqczogaW5jb3JyZWN0IHNjaGVtZSBmb3JtYXQuCjEuIE11c3Qgb25seSBjb250YWluIGRpZ2l0cywgbG93ZXJjYXNlIEFTQ0lJIGxldHRlcnMgb3IgIi0iCjIuIENhbm5vdCBzdGFydCBvciBlbmQgd2l0aCAiLSIKMy4gIi0iIGNhbm5vdCByZXBlYXRgKTtDYS5jdXN0b21TY2hlbWVzLnB1c2goW2EsZV0pfWZ1bmN0aW9uIEEyYSgpe0NhLnNjYW5uZXI9QUlhKENhLmN1c3RvbVNjaGVtZXMpO2ZvcihsZXQgYT0wO2E8Q2EudG9rZW5RdWV1ZS5sZW5ndGg7YSsrKUNhLnRva2VuUXVldWVbYV1bMV0oe3NjYW5uZXI6Q2Euc2Nhbm5lcn0pO0NhLnBhcnNlcj1FSWEoQ2Euc2Nhbm5lci50b2tlbnMpO2ZvcihsZXQgYT0wO2E8Q2EucGx1Z2luUXVldWUubGVuZ3RoO2ErKylDYS5wbHVnaW5RdWV1ZVthXVsxXSh7c2Nhbm5lcjpDYS5zY2FubmVyLHBhcnNlcjpDYS5wYXJzZXJ9KTtyZXR1cm4gQ2EuaW5pdGlhbGl6ZWQ9ITAsQ2F9ZnVuY3Rpb24gcW0oYSl7cmV0dXJuIENhLmluaXRpYWxpemVkfHxBMmEoKSxJSWEoQ2EucGFyc2VyLnN0YXJ0LGEsQzJhKENhLnNjYW5uZXIuc3RhcnQsYSkpfWZ1bmN0aW9uIElzZShhLGU9bnVsbCx0PW51bGwpe2lmKGUmJnR5cGVvZiBlPT0ib2JqZWN0Iil7aWYodCl0aHJvdyBFcnJvcihgbGlua2lmeWpzOiBJbnZhbGlkIGxpbmsgdHlwZSAke2V9OyBtdXN0IGJlIGEgc3RyaW5nYCk7dD1lLGU9bnVsbH1sZXQgcj1uZXcgQ1codCksaT1xbShhKSxvPVtdO2ZvcihsZXQgbj0wO248aS5sZW5ndGg7bisrKXtsZXQgbD1pW25dO2wuaXNMaW5rJiYoIWV8fGwudD09PWUpJiZyLmNoZWNrKGwpJiZvLnB1c2gobC50b0Zvcm1hdHRlZE9iamVjdChyKSl9cmV0dXJuIG99ZnVuY3Rpb24gT0lhKGEsZT1udWxsKXtsZXQgdD1xbShhKTtyZXR1cm4gdC5sZW5ndGg9PT0xJiZ0WzBdLmlzTGluayYmKCFlfHx0WzBdLnQ9PT1lKX12YXIgTUlhLGtJYSxKWmUsZVhlLHRYZSx2Vyx4VyxhWGUsdjJhLFNJYSx6SWEsclhlLGFhLEhyLHgyYSxLZSxNYyxzWGUseTJhLHcyYSx5VyxpWGUsb1hlLGFzZSxPbSxuWGUsbFhlLGNYZSx3VyxNVyxyc2Usc3NlLGlzZSxvc2UsbnNlLGxzZSxjc2UsZHNlLHVzZSxwc2UsZnNlLGhzZSxtc2UsZ3NlLGJzZSx2c2UseHNlLE00LHlzZSx3c2UsTXNlLGs0LGRYZSxrc2UscmwsU3NlLHVYZSxIbixrVyx6c2UsQ3NlLF9zZSxTVyxwWGUsTTJhLGZYZSxzbCx6VyxUc2UsazJhLExzZSxTMmEsaWwsRm0sJHNlLFRJYSxvbCxEc2UsTElhLHoyYSxoWGUsJElhLERJYSxtWGUsQXNlLFBzZSxCbSxQSWEsZ1hlLGJYZSwkMmEsVFcsRDJhLHFuLExXLHhYZSxDYSxQMmE9ZigoKT0+e01JYT0iYWFhMXJwM2JiMG90dDN2aWU0YzFsZTJvZ2FkbzV1ZGhhYmk3YzBhZGVteTVjZW50dXJlNm91bnRhbnQwczlvMXRvcjRkMHMxdWx0NGUwZzFybzJ0bmE0ZjBsMXJpY2E1ZzBha2hhbjVlbmN5NWkwZzFyYnVzM2ZvcmNlNXRlbDVrZG4zbDBpYmFiYTRwYXk0bGZpbmFuejZzdGF0ZTV5MnNhY2UzdG9tNW0wYXpvbjRlcmljYW5leHByZXNzN2ZhbWlseTExeDJmYW0zaWNhM3N0ZXJkYW04bmFseXRpY3M3ZHJvaWQ1cXVhbjR6Mm8wbDJwYXJ0bWVudHM4cDBsZTRxMHVhcmVsbGU4cjBhYjFtY280Y2hpM215MnBhMnQwZTNzMGRhMmlhMnNvY2lhdGVzOXQwaGxldGE1dG9ybmV5N3UwY3Rpb241ZGkwYmxlM28zc3Bvc3Q1dGhvcjNvMHM0dzBzMngwYTJ6MHVyZTViYTBieTJpZHUzbmFtZXg0ZDFrMnIwY2Vsb25hNWxheWNhcmQ0czVlZm9vdDVnYWluczZzZWJhbGw1a2V0YmFsbDh1aGF1czV5ZXJuNWIwYzF0MXZhM2NnMW4yZDFlMGF0czJ1dHk0ZXIycmxpbjRzdDBidXk1dDJmMWcxaDBhcnRpNWkwYmxlM2Qxa2UybmcwbzNvMXoyajFsYWNrMGZyaWRheTlvY2tidXN0ZXI4ZzFvbWJlcmc3dWUzbTBzMXcybjBwcGFyaWJhczlvMGF0czNlaHJpbmdlcjhmYTJtMW5kMm8wazBpbmc1c2NoMnRpazJvbjR0MXV0aXF1ZTZ4MnIwYWRlc2NvNmlkZ2VzdG9uZTlvYWR3YXk1a2VyM3RoZXI1dXNzZWxzN3MxdDF1aWxkMGVyczZzaW5lc3M2eTF6ejN2MXcxeTF6MGgzY2EwYjFmZTJsMGwxdmlua2xlaW45bTBlcmEzcDJub24zcGV0b3duNWl0YWwwb25lOHIwYXZhbjRkczJlMGVyMHM0czJzYTFlMWgxaW5vNHQwZXJpbmc1aG9saWM3YmExbjFyZTNjMWQxZW50ZXI0bzFybjNmMGExZDJnMWgwYW5lbDJuZWw0cml0eTRzZTJ0MmVhcDNpbnRhaTVyaXN0bWFzNm9tZTR1cmNoNWkwcHJpYW5pNnJjbGU0c2NvM3RhZGVsNGkwYzJ5M2sxbDBhaW1zNGVhbmluZzZpY2sybmljMXF1ZTZvdGhpbmc1dWQzdWIwbWVkNm0xbjFvMGFjaDNkZXMzZmZlZTRsbGVnZTRvZ25lNW0wbWJhbms0dW5pdHk2cGFueTJyZTN1dGVyNXNlYzRuZG9zM3N0cnVjdGlvbjh1bHRpbmc3dGFjdDNyYWN0b3JzOW9raW5nNGwxcDJyc2ljYTV1bnRyeTRwb24wczRyc2VzNnBhMnIwZWRpdDBjYXJkNHVuaW9uOWlja2V0NW93bjNzMXVpc2UwczZ1MGlzaW5lbGxhOXYxdzF4MXkwbXJ1M291M3oyZGFkMW5jZTN0YTFlMWluZzNzdW40eTJjbGszZHMyZTBhbDBlcjJzM2dyZWU0bGl2ZXJ5NWwxb2l0dGU1dGEzbW9jcmF0Nm50YWwyaXN0NXNpMGduNHYyaGwyaWFtb25kczZldDJnaXRhbDVyZWN0MG9yeTdzY291bnQzdmVyNWgyeTJqMWsxbTFucDJvMGNzMXRvcjRnMW1haW5zNXQxd25sb2FkN3JpdmU0dHYydWJhaTNubG9wNHBvbnQ0cmJhbjV2YWcycjJ6MmVhcnRoM3QyYzBvMmRla2EzdTBjYXRpb244ZTFnMW1haWwzZXJjazVuZXJneTRnaW5lZXIwaW5nOXRlcnByaXNlczEwcHNvbjRxdWlwbWVudDhyMGljc3NvbjZuaTNzMHExdGF0ZTV0MXUwcm92aXNpb244czJ2ZW50czV4Y2hhbmdlNnBlcnQzb3NlZDRyZXNzNXRyYXNwYWNlMTBmYWdlMmlsMXJ3aW5kczZ0aDNtaWx5NG4wczJybTBlcnM1c2hpb240dDNlZGV4M2VkYmFjazZycmFyaTNlcm82aTBkZWxpdHk1bzJsbTJuYWwxbmNlMWlhbDdyZTBzdG9uZTZtZGFsZTZzaDBpbmc1dDBuZXNzNmoxazFsaWNrcjNnaHRzNHIyb3Jpc3Q0d2VyczV5Mm0xbzBvMGQxdGJhbGw2cmQxZXgyc2FsZTR1bTN1bmRhdGlvbjh4MnIwZWUxc2VuaXVzN2wxb2dhbnM0bnRpZXI3dHIydWppdHN1NW4wZDJybml0dXJlN3Rib2w1eWkzZ2EwbDBsZXJ5M28xdXA0bWUwczNwMXJkZW40eTJiMGl6M2QwbjJlMGExbnQwaW5nNW9yZ2U1ZjFnMGVlM2gxaTBmdDBzM3ZlczJpbmc1bDBhc3MzZTFvYmFsMm80bTBhaWwzYmgybzF4Mm4xb2RhZGR5NWxkMHBvaW50NmYybzBkeWVhcjVnMGxlNHAxdDF2MnAxcTFyMGFpbmdlcjVwaGljczV0aXM0ZWVuM2lwZTNvY2VyeTR1cDRzMXQxdTBjY2kzZ2UyaWRlMnRhcnM1cnUzdzF5MmhhaXIybWJ1cmc1bmdvdXQ1dXMzYm8yZGZjMGJhbms3ZWFsdGgwY2FyZThscDFzaW5raTZyZTFtZXM1aXBob3A0c2FtaXRzdTd0YWNoaTV2MmswdDJtMW4xb2NrZXk0bGRpbmdzNWlkYXk1bWVkZXBvdDVnb29kczVzMGVuc2U3bmRhM3JzZTNzcGl0YWw1dDBpbmc1dDBlbHMzbWFpbDV1c2UzdzJyMXNiYzN0MXUwZ2hlczV5YXR0M3VuZGFpN2libTJjYmMyZTF1MmQxZTBlZTNmbTJrYW5vNGwxbTBhbWF0NGRiMm1vMGJpbGllbjluMGMxZHVzdHJpZXM4ZmluaXRpNW8yZzFrMXN0aXR1dGU2dXJhbmNlNGU0dDBlcm5hdGlvbmFsMTB1aXQ0dmVzdG1lbnRzMTBvMXBpcmFuZ2E3cTFyMGlzaDRzMG1haWxpNXQwYW5idWw3dDBhdTJ2M2phZ3VhcjR2YTNjYjJlMGVwMnR6dDN3ZWxyeTZpbzJsbDJtMHAybmoybzBiczF1cmc0dDF5MnAwbW9yZ2FuNnJzM3VlZ29zNG5pcGVyN2thdWZlbjVkZGkzZTBycnlob3RlbHM2cHJvcGVydGllczE0ZmgyZzFoMWkwYTFkczJtMW5kbGU0dGNoZW41d2kzbTFuMW9lbG4zbWF0c3U1c2hlcjVwMG1nMm4ycjBkMWVkM3Vva2dyb3VwOHcxeTBvdG80ejJsYTBjYWl4YTVtYm9yZ2hpbmk4ZXIzbmQwcm92ZXI2eGVzczVzYWxsZTV0MGlubzNyb2JlNXcweWVyNWIxYzFkczJlYXNlM2NsZXJjNWZyYWs0Z2FsMm8yeHVzNGdidDNpMGRsMmZlMGluc3VyYW5jZTlzdHlsZTdnaHRpbmc2a2UybGx5M21pdGVkNG8ybmNvbG40azJ2ZTFpbmc1azFsYzFwMm9hbjBzM2NrZXIzdXMzbDFuZG9uNHR0ZTFvM3ZlM3BsMGZpbmFuY2lhbDExcjFzMXQwZDBhM3UwbmRiZWNrNnhlMXVyeTV2MXkybWEwZHJpZDRpZjFzb240a2V1cDRuMGFnZW1lbnQ3Z28zcDFya2V0MGluZzNzNHJpb3R0NXNoYWxsczd0dGVsNWJhMmMwa2luc2V5N2QxZTBkMGlhM2V0Mmxib3VybmU3bWUxb3JpYWw2bjB1MnJja21zZDdnMWgxaWFtaTNjcm9zb2Z0N2wxbmkxdDJ0MHN1YmlzaGk5azFsMGIxczJtMGEybjFvMGJpMGxlNGRhMmUxaTFtMW5hc2gzZXkyc3RlcjVybW9uM3RnYWdlNnNjb3c0dG8wcmN5Y2xlczl2MGllNHAxcTFyMXMwZDJ0MG4xcjJ1MHNldW0zaWM0djF3MXgxeTF6Mm5hMGIxZ295YTRtZTJ2eTNiYTJjMWUwYzF0MGJhbms0ZmxpeDR3b3JrNXVzdGFyNXcwczJ4dDBkaXJlY3Q3dXM0ZjBsMmcwbzJoazJpMGNvMmtlMW9uM25qYTNzc2FuMXk1bDFvMGtpYTNydG9uNHcwcnV6M3R2NHAxcjBhMXcydHQydTF5YzJ6Mm9iaTFzZXJ2ZXI3ZmZpY2U1a2luYXdhNmxheWFuMGdyb3VwOWxvM20wZWdhNG5lMWcxbDBpbmU1b28ycGVuM3JhY2xlM25nZTRnMGFuaWM1aWdpbnM2c2FrYTR0c3VrYTR0MnZoM3BhMGdlMm5hc29uaWM3cmlzMnMxdG5lcnM0czF5M3kyY2N3M2UwdDJmMGl6ZXI1ZzFoMGFybWFjeTZkMWlsaXBzNW9uZTJ0bzBncmFwaHk2czR5c2lvNWljczF0ZXQydXJlczZkMW4wZzFrMm9uZWVyNXp6YTRrMWwwYWNlMnkwc3RhdGlvbjl1bWJpbmc1czNtMW4wYzJvaGwya2VyM2xpdGllNXJuMnN0M3IwYXhpM2VzczNpbWUzbzBkMHVjdGlvbnM4ZjFncmVzc2l2ZThtbzJwZXJ0aWVzM3k1dGVjdGlvbjh1MGRlbnRpYWw5czF0MXViMncwYzJ5MnFhMXBvbjN1ZWJlYzNzdDVyYWNpbmc0ZGlvNGUwYWQxbGVzdGF0ZTZ0b3IyeTRjaXBlczVkMHN0b25lNXVtYnJlbGxhOWhhYjNpc2UwbjN0MmxpYW5jZTZuMHQwYWxzNXBhaXIzb3J0M3VibGljYW44c3QwYXVyYW50OHZpZXcwczV4cm90aDZpY2gwYXJkbGk2b2gzbDFvMXAybzBja3MzZGVvM2dlcnM0b20zczB2cDN1MGdieTNocjJuMncwZTJ5dWt5dTZzYTBhcmxhbmQ2ZmUwdHk0a3VyYTRsZTFvbjNtc2NsdWI0dW5nNW5kdmlrMGNvcm9tYW50MTJvZmk0cDFybDJzMXZlMnhvM2IwaTFzMmMwYjFoYWVmZmxlcjdtaWR0NG9sYXJzaGlwczhvbDN1bGUzd2FyejVpZW5jZTVvdDNkMWUwYXJjaDN0MmN1cmUxaXR5NmVrMmxlY3Q0bmVyM3J2aWNlczZ2ZW4zdzF4MHkzZnIyZzFoMGFuZ3JpbGE2cnAzZWxsM2lhMWtzaGE1b2VzMnAwcGluZzV1amkzdzNpMGxrMm5hMWdsZXM1dGUzajFrMGkwbjJ5MHBlNGwwaW5nNG0wYXJ0M2lsZTRuMGNmM28wY2NlcjNpYWw0ZnRiYW5rNHdhcmU2aHUybGFyMnV0aW9uczduZzF5MnkycGEwY2Uzb3J0MnQzcjBsMnMxdDBhZGEycGxlczRyMXRlYmFuazRmYXJtN2MwZ3JvdXA2b2NraG9sbTZyYWdlM2UzcmVhbTR1ZGlvMnkzeWxlNHUwY2tzM3BwbGllczN5Mm9ydDVyZjFnZXJ5NXp1a2k1djF3YXRjaDRpc3M0eDF5MGRuZXk0c3RlbXM2ejJ0YWIxaXBlaTRsazJvYmFvNHJnZXQ0dGFtb3RvcnM2cjJ0b280eDBpM2MwaTJkMGsyZWFtMmNoMG5vbG9neThsMW1hc2VrNW5uaXM0dmEzZjFnMWgwZDFlYXRlcjJyZTZpYWEyY2tldHM1ZW5kYTRwczJyZXMyb2w0ajBtYXh4NHgyazBtYXh4NWwxbTBhbGw0bjFvMGRheTNreW8zb2xzM3AxcmF5M3NoaWJhNXRhbDN1cnMzd24yeW90YTNzM3IwYWRlMWluZzRpbmluZzV2ZWwwZXJzMGluc3VyYW5jZTE2dXN0M3YydDF1YmUyaTFuZXMzc2h1NHYwczJ3MXoydWExYmFuazNzMmcxazFuaWNvbTN2ZXJzaXR5OG8yb2wycHMyczF5MXoydmEwY2F0aW9uczduYTFndWFyZDdjMWUwZ2FzM250dXJlczZyaXNpZ241bVx4RjZnZW5zYmVyYXRlcjJ1bmcxNHNpY2hlcnVuZzEwdDJnMWkwYWplczRkZW8zZzFraW5nNGxsYXM0bjFwMXJnaW40c2ExaW9uNHZhMW8zbGFhbmRlcmVuOW4xb2RrYTNsdm8zdGUxaW5nM28yeWFnZTV1MndhbGVzMm1hcnQ0dGVyNG5nMGdvdTV0Y2gwZXM2ZWF0aGVyMGNoYW5uZWwxMmJjYW0zZXIyc2l0ZTVkMGRpbmc1aWJvMnIzZjFob3N3aG82aWVuMmtpMmxsaWFtaGlsbDluMGRvd3M0ZTFuZXJzNm1lMm9sdGVyc2tsdXdlcjExb2RzaWRlNnJrMHMybGQzdzJzMXRjMWYzeGJveDNlcm94NGlodWFuNG4yeHgyeXozeWFjaHRzNGhvbzNtYXh1bjVuZGV4NWUxb2RvYmFzaGk3Z2Eya29oYW1hNnUwdHViZTZ0MXVuM3phMHBwb3M0cmEzZXJvM2lwMm0xb25lM3VlcmljaDZ3MiIsa0lhPSJcdTAzQjVcdTAzQkIxXHUwM0M1Mlx1MDQzMVx1MDQzMzFcdTA0MzVcdTA0M0IzXHUwNDM0XHUwNDM1XHUwNDQyXHUwNDM4NFx1MDQzNVx1MDQ0RTJcdTA0M0FcdTA0MzBcdTA0NDJcdTA0M0VcdTA0M0JcdTA0MzhcdTA0M0E2XHUwNDNFXHUwNDNDM1x1MDQzQ1x1MDQzQVx1MDQzNDJcdTA0M0VcdTA0M0QxXHUwNDQxXHUwNDNBXHUwNDMyXHUwNDMwNlx1MDQzRVx1MDQzRFx1MDQzQlx1MDQzMFx1MDQzOVx1MDQzRDVcdTA0NDBcdTA0MzMzXHUwNDQwXHUwNDQzXHUwNDQxMlx1MDQ0NDJcdTA0NDFcdTA0MzBcdTA0MzlcdTA0NDIzXHUwNDQwXHUwNDMxM1x1MDQ0M1x1MDQzQVx1MDQ0MDNcdTA0OUJcdTA0MzBcdTA0MzczXHUwNTcwXHUwNTYxXHUwNTc1M1x1MDVEOVx1MDVFOVx1MDVFOFx1MDVEMFx1MDVEQzVcdTA1RTdcdTA1RDVcdTA1REQzXHUwNjI3XHUwNjI4XHUwNjQ4XHUwNjM4XHUwNjI4XHUwNjRBNVx1MDYzMVx1MDYyN1x1MDY0NVx1MDY0M1x1MDY0ODVcdTA2NDRcdTA2MjdcdTA2MzFcdTA2MkZcdTA2NDY0XHUwNjI4XHUwNjJEXHUwNjMxXHUwNjRBXHUwNjQ2NVx1MDYyQ1x1MDYzMlx1MDYyN1x1MDYyNlx1MDYzMTVcdTA2MzNcdTA2MzlcdTA2NDhcdTA2MkZcdTA2NEFcdTA2Mjk2XHUwNjM5XHUwNjQ0XHUwNjRBXHUwNjI3XHUwNjQ2NVx1MDY0NVx1MDYzQVx1MDYzMVx1MDYyODVcdTA2NDVcdTA2MjdcdTA2MzFcdTA2MjdcdTA2MkE1XHUwNkNDXHUwNjMxXHUwNjI3XHUwNjQ2NVx1MDYyOFx1MDYyN1x1MDYzMVx1MDYyQTJcdTA2MzJcdTA2MjdcdTA2MzE0XHUwNjRBXHUwNjJBXHUwNjQzM1x1MDZCRVx1MDYyN1x1MDYzMVx1MDYyQTVcdTA2MkFcdTA2NDhcdTA2NDZcdTA2MzM0XHUwNjMzXHUwNjQ4XHUwNjJGXHUwNjI3XHUwNjQ2M1x1MDYzMVx1MDY0QVx1MDYyOTVcdTA2MzRcdTA2MjhcdTA2NDNcdTA2Mjk0XHUwNjM5XHUwNjMxXHUwNjI3XHUwNjQyMlx1MDYyODJcdTA2NDVcdTA2MjdcdTA2NDY0XHUwNjQxXHUwNjQ0XHUwNjMzXHUwNjM3XHUwNjRBXHUwNjQ2Nlx1MDY0Mlx1MDYzN1x1MDYzMTNcdTA2NDNcdTA2MjdcdTA2MkJcdTA2NDhcdTA2NDRcdTA2NEFcdTA2NDM2XHUwNjQ4XHUwNjQ1M1x1MDY0NVx1MDYzNVx1MDYzMTJcdTA2NDRcdTA2NEFcdTA2MzNcdTA2NEFcdTA2Mjc1XHUwNjQ4XHUwNjMxXHUwNjRBXHUwNjJBXHUwNjI3XHUwNjQ2XHUwNjRBXHUwNjI3N1x1MDY0Mlx1MDYzOTRcdTA2NDdcdTA2NDVcdTA2MzFcdTA2MjdcdTA2NDc1XHUwNjdFXHUwNjI3XHUwNkE5XHUwNjMzXHUwNjJBXHUwNjI3XHUwNjQ2N1x1MDY4MFx1MDYyN1x1MDYzMVx1MDYyQTRcdTA5MTVcdTA5NDlcdTA5MkUzXHUwOTI4XHUwOTQ3XHUwOTFGM1x1MDkyRFx1MDkzRVx1MDkzMFx1MDkyNDBcdTA5MkVcdTA5NEQzXHUwOTRCXHUwOTI0NVx1MDkzOFx1MDkwMlx1MDkxN1x1MDkyMFx1MDkyODVcdTA5QUNcdTA5QkVcdTA5ODJcdTA5QjJcdTA5QkU1XHUwOUFEXHUwOUJFXHUwOUIwXHUwOUE0Mlx1MDlGMFx1MDlBNDRcdTBBMkRcdTBBM0VcdTBBMzBcdTBBMjQ0XHUwQUFEXHUwQUJFXHUwQUIwXHUwQUE0NFx1MEIyRFx1MEIzRVx1MEIzMFx1MEIyNDRcdTBCODdcdTBCQThcdTBCQ0RcdTBCQTRcdTBCQkZcdTBCQUZcdTBCQkU2XHUwQkIyXHUwQjk5XHUwQkNEXHUwQjk1XHUwQkM4Nlx1MEI5QVx1MEJCRlx1MEI5OVx1MEJDRFx1MEI5NVx1MEJBQVx1MEJDRFx1MEJBQVx1MEJDMlx1MEJCMFx1MEJDRDExXHUwQzJEXHUwQzNFXHUwQzMwXHUwQzI0XHUwQzRENVx1MENBRFx1MENCRVx1MENCMFx1MENBNDRcdTBEMkRcdTBEM0VcdTBEMzBcdTBEMjRcdTBEMDI1XHUwREJEXHUwRDgyXHUwRDlBXHUwRENGNFx1MEUwNFx1MEUyRFx1MEUyMTNcdTBFNDRcdTBFMTdcdTBFMjIzXHUwRUE1XHUwRUIyXHUwRUE3M1x1MTBEMlx1MTBENDJcdTMwN0ZcdTMwOTNcdTMwNkEzXHUzMEEyXHUzMERFXHUzMEJFXHUzMEYzNFx1MzBBRlx1MzBFOVx1MzBBNlx1MzBDOTRcdTMwQjBcdTMwRkNcdTMwQjBcdTMwRUI0XHUzMEIzXHUzMEUwMlx1MzBCOVx1MzBDOFx1MzBBMjNcdTMwQkJcdTMwRkNcdTMwRUIzXHUzMEQ1XHUzMEExXHUzMEMzXHUzMEI3XHUzMEU3XHUzMEYzNlx1MzBERFx1MzBBNFx1MzBGM1x1MzBDODRcdTRFMTZcdTc1NEMyXHU0RTJEXHU0RkUxMVx1NTZGRDFcdTU3MEIxXHU2NTg3XHU3RjUxM1x1NEU5QVx1OUE2Q1x1OTAwQTNcdTRGMDFcdTRFMUEyXHU0RjVCXHU1QzcxMlx1NEZFMVx1NjA2RjJcdTUwNjVcdTVFQjcyXHU1MTZCXHU1MzY2Mlx1NTE2Q1x1NTNGODFcdTc2Q0EyXHU1M0YwXHU2RTdFMVx1NzA2MzJcdTU1NDZcdTU3Q0UxXHU1RTk3MVx1NjgwNzJcdTU2MDlcdTkxQ0MwXHU1OTI3XHU5MTUyXHU1RTk3NVx1NTcyOFx1N0VCRjJcdTU5MjdcdTYyRkYyXHU1OTI5XHU0RTNCXHU2NTU5M1x1NUEzMVx1NEU1MDJcdTVCQjZcdTk2RkIyXHU1RTdGXHU0RTFDMlx1NUZBRVx1NTM1QTJcdTYxNDhcdTU1ODQyXHU2MjExXHU3MjMxXHU0RjYwM1x1NjI0Qlx1NjczQTJcdTYyREJcdTgwNTgyXHU2NTNGXHU1MkExMVx1NUU5QzJcdTY1QjBcdTUyQTBcdTU3NjEyXHU5NUZCMlx1NjVGNlx1NUMxQTJcdTY2RjhcdTdDNEQyXHU2NzNBXHU2Nzg0Mlx1NkRFMVx1OUE2Q1x1OTUyMTNcdTZFMzhcdTYyMEYyXHU2RkIzXHU5NTgwMlx1NzBCOVx1NzcwQjJcdTc5RkJcdTUyQTgyXHU3RUM0XHU3RUM3XHU2NzNBXHU2Nzg0NFx1N0Y1MVx1NTc0MDFcdTVFOTcxXHU3QUQ5MVx1N0VEQzJcdTgwNTRcdTkwMUEyXHU4QzM3XHU2QjRDMlx1OEQyRFx1NzI2OTJcdTkwMUFcdThDQTkyXHU5NkM2XHU1NkUyMlx1OTZGQlx1OEEwQVx1NzZDOFx1NzlEMTRcdTk4REVcdTUyMjlcdTZENjYzXHU5OERGXHU1NEMxMlx1OTkxMFx1NTM4NTJcdTk5OTlcdTY4M0NcdTkxQ0NcdTYyQzkzXHU2RTJGMlx1QjJGN1x1QjEzNzFcdUNFRjQyXHVDMEJDXHVDMTMxMlx1RDU1Q1x1QUQ2RDIiLEpaZT0ibnVtZXJpYyIsZVhlPSJhc2NpaSIsdFhlPSJhbHBoYSIsdlc9ImFzY2lpbnVtZXJpYyIseFc9ImFscGhhbnVtZXJpYyIsYVhlPSJkb21haW4iLHYyYT0iZW1vamkiLFNJYT0ic2NoZW1lIix6SWE9InNsYXNoc2NoZW1lIixyWGU9IndoaXRlc3BhY2UiO3MoQ0lhLCJyZWdpc3Rlckdyb3VwIik7cyhpNSwiYWRkVG9Hcm91cHMiKTtzKF9JYSwiZmxhZ3NGb3JUb2tlbiIpO3MoSmksIlN0YXRlIiksSmkuZ3JvdXBzPXt9LEppLnByb3RvdHlwZT17YWNjZXB0cygpe3JldHVybiEhdGhpcy50fSxnbyhhKXtsZXQgZT10aGlzLHQ9ZS5qW2FdO2lmKHQpcmV0dXJuIHQ7Zm9yKGxldCByPTA7cjxlLmpyLmxlbmd0aDtyKyspe2xldCBpPWUuanJbcl1bMF0sbz1lLmpyW3JdWzFdO2lmKG8mJmkudGVzdChhKSlyZXR1cm4gb31yZXR1cm4gZS5qZH0saGFzKGEsZT0hMSl7cmV0dXJuIGU/YSBpbiB0aGlzLmo6ISF0aGlzLmdvKGEpfSx0YShhLGUsdCxyKXtmb3IobGV0IGk9MDtpPGEubGVuZ3RoO2krKyl0aGlzLnR0KGFbaV0sZSx0LHIpfSx0cihhLGUsdCxyKXtyPXJ8fEppLmdyb3VwcztsZXQgaTtyZXR1cm4gZSYmZS5qP2k9ZTooaT1uZXcgSmkoZSksdCYmciYmaTUoZSx0LHIpKSx0aGlzLmpyLnB1c2goW2EsaV0pLGl9LHRzKGEsZSx0LHIpe2xldCBpPXRoaXMsbz1hLmxlbmd0aDtpZighbylyZXR1cm4gaTtmb3IobGV0IG49MDtuPG8tMTtuKyspaT1pLnR0KGFbbl0pO3JldHVybiBpLnR0KGFbby0xXSxlLHQscil9LHR0KGEsZSx0LHIpe3I9cnx8SmkuZ3JvdXBzO2xldCBpPXRoaXM7aWYoZSYmZS5qKXJldHVybiBpLmpbYV09ZSxlO2xldCBvPWUsbixsPWkuZ28oYSk7aWYobD8obj1uZXcgSmksT2JqZWN0LmFzc2lnbihuLmosbC5qKSxuLmpyLnB1c2guYXBwbHkobi5qcixsLmpyKSxuLmpkPWwuamQsbi50PWwudCk6bj1uZXcgSmksbyl7aWYocilpZihuLnQmJnR5cGVvZiBuLnQ9PSJzdHJpbmciKXtsZXQgZD1PYmplY3QuYXNzaWduKF9JYShuLnQsciksdCk7aTUobyxkLHIpfWVsc2UgdCYmaTUobyx0LHIpO24udD1vfXJldHVybiBpLmpbYV09bixufX07YWE9cygoYSxlLHQscixpKT0+YS50YShlLHQscixpKSwidGEiKSxIcj1zKChhLGUsdCxyLGkpPT5hLnRyKGUsdCxyLGkpLCJ0ciIpLHgyYT1zKChhLGUsdCxyLGkpPT5hLnRzKGUsdCxyLGkpLCJ0cyIpLEtlPXMoKGEsZSx0LHIsaSk9PmEudHQoZSx0LHIsaSksInR0IiksTWM9IldPUkQiLHNYZT0iVVdPUkQiLHkyYT0iQVNDSUlOVU1FUklDQUwiLHcyYT0iQUxQSEFOVU1FUklDQUwiLHlXPSJMT0NBTEhPU1QiLGlYZT0iVExEIixvWGU9IlVUTEQiLGFzZT0iU0NIRU1FIixPbT0iU0xBU0hfU0NIRU1FIixuWGU9Ik5VTSIsbFhlPSJXUyIsY1hlPSJOTCIsd1c9Ik9QRU5CUkFDRSIsTVc9IkNMT1NFQlJBQ0UiLHJzZT0iT1BFTkJSQUNLRVQiLHNzZT0iQ0xPU0VCUkFDS0VUIixpc2U9Ik9QRU5QQVJFTiIsb3NlPSJDTE9TRVBBUkVOIixuc2U9Ik9QRU5BTkdMRUJSQUNLRVQiLGxzZT0iQ0xPU0VBTkdMRUJSQUNLRVQiLGNzZT0iRlVMTFdJRFRITEVGVFBBUkVOIixkc2U9IkZVTExXSURUSFJJR0hUUEFSRU4iLHVzZT0iTEVGVENPUk5FUkJSQUNLRVQiLHBzZT0iUklHSFRDT1JORVJCUkFDS0VUIixmc2U9IkxFRlRXSElURUNPUk5FUkJSQUNLRVQiLGhzZT0iUklHSFRXSElURUNPUk5FUkJSQUNLRVQiLG1zZT0iRlVMTFdJRFRITEVTU1RIQU4iLGdzZT0iRlVMTFdJRFRIR1JFQVRFUlRIQU4iLGJzZT0iQU1QRVJTQU5EIix2c2U9IkFQT1NUUk9QSEUiLHhzZT0iQVNURVJJU0siLE00PSJBVCIseXNlPSJCQUNLU0xBU0giLHdzZT0iQkFDS1RJQ0siLE1zZT0iQ0FSRVQiLGs0PSJDT0xPTiIsZFhlPSJDT01NQSIsa3NlPSJET0xMQVIiLHJsPSJET1QiLFNzZT0iRVFVQUxTIix1WGU9IkVYQ0xBTUFUSU9OIixIbj0iSFlQSEVOIixrVz0iUEVSQ0VOVCIsenNlPSJQSVBFIixDc2U9IlBMVVMiLF9zZT0iUE9VTkQiLFNXPSJRVUVSWSIscFhlPSJRVU9URSIsTTJhPSJGVUxMV0lEVEhNSURETEVET1QiLGZYZT0iU0VNSSIsc2w9IlNMQVNIIix6Vz0iVElMREUiLFRzZT0iVU5ERVJTQ09SRSIsazJhPSJFTU9KSSIsTHNlPSJTWU0iLFMyYT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxBTFBIQU5VTUVSSUNBTDp3MmEsQU1QRVJTQU5EOmJzZSxBUE9TVFJPUEhFOnZzZSxBU0NJSU5VTUVSSUNBTDp5MmEsQVNURVJJU0s6eHNlLEFUOk00LEJBQ0tTTEFTSDp5c2UsQkFDS1RJQ0s6d3NlLENBUkVUOk1zZSxDTE9TRUFOR0xFQlJBQ0tFVDpsc2UsQ0xPU0VCUkFDRTpNVyxDTE9TRUJSQUNLRVQ6c3NlLENMT1NFUEFSRU46b3NlLENPTE9OOms0LENPTU1BOmRYZSxET0xMQVI6a3NlLERPVDpybCxFTU9KSTprMmEsRVFVQUxTOlNzZSxFWENMQU1BVElPTjp1WGUsRlVMTFdJRFRIR1JFQVRFUlRIQU46Z3NlLEZVTExXSURUSExFRlRQQVJFTjpjc2UsRlVMTFdJRFRITEVTU1RIQU46bXNlLEZVTExXSURUSE1JRERMRURPVDpNMmEsRlVMTFdJRFRIUklHSFRQQVJFTjpkc2UsSFlQSEVOOkhuLExFRlRDT1JORVJCUkFDS0VUOnVzZSxMRUZUV0hJVEVDT1JORVJCUkFDS0VUOmZzZSxMT0NBTEhPU1Q6eVcsTkw6Y1hlLE5VTTpuWGUsT1BFTkFOR0xFQlJBQ0tFVDpuc2UsT1BFTkJSQUNFOndXLE9QRU5CUkFDS0VUOnJzZSxPUEVOUEFSRU46aXNlLFBFUkNFTlQ6a1csUElQRTp6c2UsUExVUzpDc2UsUE9VTkQ6X3NlLFFVRVJZOlNXLFFVT1RFOnBYZSxSSUdIVENPUk5FUkJSQUNLRVQ6cHNlLFJJR0hUV0hJVEVDT1JORVJCUkFDS0VUOmhzZSxTQ0hFTUU6YXNlLFNFTUk6ZlhlLFNMQVNIOnNsLFNMQVNIX1NDSEVNRTpPbSxTWU06THNlLFRJTERFOnpXLFRMRDppWGUsVU5ERVJTQ09SRTpUc2UsVVRMRDpvWGUsVVdPUkQ6c1hlLFdPUkQ6TWMsV1M6bFhlfSksaWw9L1thLXpdLyxGbT0vXHB7TH0vdSwkc2U9L1xwe0Vtb2ppfS91LFRJYT0vXHVmZTBmLyxvbD0vXGQvLERzZT0vXHMvLExJYT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxBU0NJSV9MRVRURVI6aWwsRElHSVQ6b2wsRU1PSkk6JHNlLEVNT0pJX1ZBUklBVElPTjpUSWEsTEVUVEVSOkZtLFNQQUNFOkRzZX0pLHoyYT0iXHIiLGhYZT1gCmAsJElhPSJcdUZFMEYiLERJYT0iXHUyMDBEIixtWGU9Ilx1RkZGQyIsQXNlPW51bGwsUHNlPW51bGw7cyhBSWEsImluaXQkMiIpO3MoQzJhLCJydW4kMSIpO3MoXzJhLCJzdHJpbmdUb0FycmF5Iik7cyhTNCwiZmFzdHRzIik7cyhUMmEsImRlY29kZVRsZHMiKTtCbT17ZGVmYXVsdFByb3RvY29sOiJodHRwIixldmVudHM6bnVsbCxmb3JtYXQ6TDJhLGZvcm1hdEhyZWY6TDJhLG5sMmJyOiExLHRhZ05hbWU6ImEiLHRhcmdldDpudWxsLHJlbDpudWxsLHZhbGlkYXRlOiEwLHRydW5jYXRlOjEvMCxjbGFzc05hbWU6bnVsbCxhdHRyaWJ1dGVzOm51bGwsaWdub3JlVGFnczpbXSxyZW5kZXI6bnVsbH07cyhDVywiT3B0aW9ucyIpLENXLnByb3RvdHlwZT17bzpCbSxpZ25vcmVUYWdzOltdLGRlZmF1bHRSZW5kZXIoYSl7cmV0dXJuIGF9LGNoZWNrKGEpe3JldHVybiB0aGlzLmdldCgidmFsaWRhdGUiLGEudG9TdHJpbmcoKSxhKX0sZ2V0KGEsZSx0KXtsZXQgcj1lIT1udWxsLGk9dGhpcy5vW2FdO3JldHVybiBpJiYodHlwZW9mIGk9PSJvYmplY3QiPyhpPXQudCBpbiBpP2lbdC50XTpCbVthXSx0eXBlb2YgaT09ImZ1bmN0aW9uIiYmciYmKGk9aShlLHQpKSk6dHlwZW9mIGk9PSJmdW5jdGlvbiImJnImJihpPWkoZSx0LnQsdCkpLGkpfSxnZXRPYmooYSxlLHQpe2xldCByPXRoaXMub1thXTtyZXR1cm4gdHlwZW9mIHI9PSJmdW5jdGlvbiImJmUhPW51bGwmJihyPXIoZSx0LnQsdCkpLHJ9LHJlbmRlcihhKXtsZXQgZT1hLnJlbmRlcih0aGlzKTtyZXR1cm4odGhpcy5nZXQoInJlbmRlciIsbnVsbCxhKXx8dGhpcy5kZWZhdWx0UmVuZGVyKShlLGEudCxhKX19O3MoTDJhLCJub29wIik7UElhPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLE9wdGlvbnM6Q1csZGVmYXVsdHM6Qm19KTtzKF9XLCJNdWx0aVRva2VuIiksX1cucHJvdG90eXBlPXtpc0xpbms6ITEsdG9TdHJpbmcoKXtyZXR1cm4gdGhpcy52fSx0b0hyZWYoYSl7cmV0dXJuIHRoaXMudG9TdHJpbmcoKX0sdG9Gb3JtYXR0ZWRTdHJpbmcoYSl7bGV0IGU9dGhpcy50b1N0cmluZygpLHQ9YS5nZXQoInRydW5jYXRlIixlLHRoaXMpLHI9YS5nZXQoImZvcm1hdCIsZSx0aGlzKTtyZXR1cm4gdCYmci5sZW5ndGg+dD9yLnN1YnN0cmluZygwLHQpKyJcdTIwMjYiOnJ9LHRvRm9ybWF0dGVkSHJlZihhKXtyZXR1cm4gYS5nZXQoImZvcm1hdEhyZWYiLHRoaXMudG9IcmVmKGEuZ2V0KCJkZWZhdWx0UHJvdG9jb2wiKSksdGhpcyl9LHN0YXJ0SW5kZXgoKXtyZXR1cm4gdGhpcy50a1swXS5zfSxlbmRJbmRleCgpe3JldHVybiB0aGlzLnRrW3RoaXMudGsubGVuZ3RoLTFdLmV9LHRvT2JqZWN0KGE9Qm0uZGVmYXVsdFByb3RvY29sKXtyZXR1cm57dHlwZTp0aGlzLnQsdmFsdWU6dGhpcy50b1N0cmluZygpLGlzTGluazp0aGlzLmlzTGluayxocmVmOnRoaXMudG9IcmVmKGEpLHN0YXJ0OnRoaXMuc3RhcnRJbmRleCgpLGVuZDp0aGlzLmVuZEluZGV4KCl9fSx0b0Zvcm1hdHRlZE9iamVjdChhKXtyZXR1cm57dHlwZTp0aGlzLnQsdmFsdWU6dGhpcy50b0Zvcm1hdHRlZFN0cmluZyhhKSxpc0xpbms6dGhpcy5pc0xpbmssaHJlZjp0aGlzLnRvRm9ybWF0dGVkSHJlZihhKSxzdGFydDp0aGlzLnN0YXJ0SW5kZXgoKSxlbmQ6dGhpcy5lbmRJbmRleCgpfX0sdmFsaWRhdGUoYSl7cmV0dXJuIGEuZ2V0KCJ2YWxpZGF0ZSIsdGhpcy50b1N0cmluZygpLHRoaXMpfSxyZW5kZXIoYSl7bGV0IGU9dGhpcyx0PXRoaXMudG9IcmVmKGEuZ2V0KCJkZWZhdWx0UHJvdG9jb2wiKSkscj1hLmdldCgiZm9ybWF0SHJlZiIsdCx0aGlzKSxpPWEuZ2V0KCJ0YWdOYW1lIix0LGUpLG89dGhpcy50b0Zvcm1hdHRlZFN0cmluZyhhKSxuPXt9LGw9YS5nZXQoImNsYXNzTmFtZSIsdCxlKSxkPWEuZ2V0KCJ0YXJnZXQiLHQsZSksYz1hLmdldCgicmVsIix0LGUpLHA9YS5nZXRPYmooImF0dHJpYnV0ZXMiLHQsZSksdT1hLmdldE9iaigiZXZlbnRzIix0LGUpO3JldHVybiBuLmhyZWY9cixsJiYobi5jbGFzcz1sKSxkJiYobi50YXJnZXQ9ZCksYyYmKG4ucmVsPWMpLHAmJk9iamVjdC5hc3NpZ24obixwKSx7dGFnTmFtZTppLGF0dHJpYnV0ZXM6bixjb250ZW50Om8sZXZlbnRMaXN0ZW5lcnM6dX19fTtzKEhtLCJjcmVhdGVUb2tlbkNsYXNzIik7Z1hlPUhtKCJlbWFpbCIse2lzTGluazohMCx0b0hyZWYoKXtyZXR1cm4ibWFpbHRvOiIrdGhpcy50b1N0cmluZygpfX0pLGJYZT1IbSgidGV4dCIpLCQyYT1IbSgibmwiKSxUVz1IbSgidXJsIix7aXNMaW5rOiEwLHRvSHJlZihhPUJtLmRlZmF1bHRQcm90b2NvbCl7cmV0dXJuIHRoaXMuaGFzUHJvdG9jb2woKT90aGlzLnY6YCR7YX06Ly8ke3RoaXMudn1gfSxoYXNQcm90b2NvbCgpe2xldCBhPXRoaXMudGs7cmV0dXJuIGEubGVuZ3RoPj0yJiZhWzBdLnQhPT15VyYmYVsxXS50PT09azR9fSksRDJhPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLEJhc2U6X1csRW1haWw6Z1hlLE11bHRpVG9rZW46X1csTmw6JDJhLFRleHQ6YlhlLFVybDpUVyxjcmVhdGVUb2tlbkNsYXNzOkhtfSkscW49cyhhPT5uZXcgSmkoYSksIm1ha2VTdGF0ZSIpO3MoRUlhLCJpbml0JDEiKTtzKElJYSwicnVuIik7cyh2WGUsImluaXRNdWx0aVRva2VuIik7TFc9dHlwZW9mIGNvbnNvbGU8InUiJiZjb25zb2xlJiZjb25zb2xlLndhcm58fCgoKT0+e30pLHhYZT0idW50aWwgbWFudWFsIGNhbGwgb2YgbGlua2lmeS5pbml0KCkuIFJlZ2lzdGVyIGFsbCBzY2hlbWVzIGFuZCBwbHVnaW5zIGJlZm9yZSBpbnZva2luZyBsaW5raWZ5IHRoZSBmaXJzdCB0aW1lLiIsQ2E9e3NjYW5uZXI6bnVsbCxwYXJzZXI6bnVsbCx0b2tlblF1ZXVlOltdLHBsdWdpblF1ZXVlOltdLGN1c3RvbVNjaGVtZXM6W10saW5pdGlhbGl6ZWQ6ITF9O3MoeVhlLCJyZXNldCIpO3MoTklhLCJyZWdpc3RlclRva2VuUGx1Z2luIik7cyhSSWEsInJlZ2lzdGVyUGx1Z2luIik7cyhFc2UsInJlZ2lzdGVyQ3VzdG9tUHJvdG9jb2wiKTtzKEEyYSwiaW5pdCIpO3MocW0sInRva2VuaXplIikscW0uc2Nhbj1DMmE7cyhJc2UsImZpbmQiKTtzKE9JYSwidGVzdCIpfSk7dmFyIEkyYT17fTtsdChJMmEse0xpbms6KCk9Pk1YZSxkZWZhdWx0OigpPT5NWGUsaXNBbGxvd2VkVXJpOigpPT5rYyxwYXN0ZVJlZ2V4OigpPT5FMmF9KTtmdW5jdGlvbiBxSWEoYSl7cmV0dXJuIGEubGVuZ3RoPT09MT9hWzBdLmlzTGluazphLmxlbmd0aD09PTMmJmFbMV0uaXNMaW5rP1siKCkiLCJbXSJdLmluY2x1ZGVzKGFbMF0udmFsdWUrYVsyXS52YWx1ZSk6ITF9ZnVuY3Rpb24gVklhKGEpe3JldHVybiBuZXcgYXIoe2tleTpuZXcgYnMoImF1dG9saW5rIiksYXBwZW5kVHJhbnNhY3Rpb246cygoZSx0LHIpPT57bGV0IGk9ZS5zb21lKGM9PmMuZG9jQ2hhbmdlZCkmJiF0LmRvYy5lcShyLmRvYyksbz1lLnNvbWUoYz0+Yy5nZXRNZXRhKCJwcmV2ZW50QXV0b2xpbmsiKSk7aWYoIWl8fG8pcmV0dXJuO2xldHt0cjpufT1yLGw9Q3JlKHQuZG9jLFsuLi5lXSk7aWYoVHJlKGwpLmZvckVhY2goKHtuZXdSYW5nZTpjfSk9PntsZXQgcD1fcmUoci5kb2MsYyx2PT52LmlzVGV4dGJsb2NrKSx1LG07aWYocC5sZW5ndGg+MSl1PXBbMF0sbT1yLmRvYy50ZXh0QmV0d2Vlbih1LnBvcyx1LnBvcyt1Lm5vZGUubm9kZVNpemUsdm9pZCAwLCIgIik7ZWxzZSBpZihwLmxlbmd0aCl7bGV0IHY9ci5kb2MudGV4dEJldHdlZW4oYy5mcm9tLGMudG8sIiAiLCIgIik7aWYoIUJJYS50ZXN0KHYpKXJldHVybjt1PXBbMF0sbT1yLmRvYy50ZXh0QmV0d2Vlbih1LnBvcyxjLnRvLHZvaWQgMCwiICIpfWlmKHUmJm0pe2xldCB2PW0uc3BsaXQoRklhKS5maWx0ZXIoQm9vbGVhbik7aWYodi5sZW5ndGg8PTApcmV0dXJuITE7bGV0IHg9dlt2Lmxlbmd0aC0xXSxiPXUucG9zK20ubGFzdEluZGV4T2YoeCk7aWYoIXgpcmV0dXJuITE7bGV0IGc9cW0oeCkubWFwKHk9PnkudG9PYmplY3QoYS5kZWZhdWx0UHJvdG9jb2wpKTtpZighcUlhKGcpKXJldHVybiExO2cuZmlsdGVyKHk9PnkuaXNMaW5rKS5tYXAoeT0+KHsuLi55LGZyb206Yit5LnN0YXJ0KzEsdG86Yit5LmVuZCsxfSkpLmZpbHRlcih5PT5yLnNjaGVtYS5tYXJrcy5jb2RlPyFyLmRvYy5yYW5nZUhhc01hcmsoeS5mcm9tLHkudG8sci5zY2hlbWEubWFya3MuY29kZSk6ITApLmZpbHRlcih5PT5hLnZhbGlkYXRlKHkudmFsdWUpKS5maWx0ZXIoeT0+YS5zaG91bGRBdXRvTGluayh5LnZhbHVlKSkuZm9yRWFjaCh5PT57Um0oeS5mcm9tLHkudG8sci5kb2MpLnNvbWUoaz0+ay5tYXJrLnR5cGU9PT1hLnR5cGUpfHxuLmFkZE1hcmsoeS5mcm9tLHkudG8sYS50eXBlLmNyZWF0ZSh7aHJlZjp5LmhyZWZ9KSl9KX19KSwhIW4uc3RlcHMubGVuZ3RoKXJldHVybiBufSwiYXBwZW5kVHJhbnNhY3Rpb24iKX0pfWZ1bmN0aW9uIGpJYShhKXtyZXR1cm4gbmV3IGFyKHtrZXk6bmV3IGJzKCJoYW5kbGVDbGlja0xpbmsiKSxwcm9wczp7aGFuZGxlQ2xpY2s6cygoZSx0LHIpPT57dmFyIGksbztpZihyLmJ1dHRvbiE9PTB8fCFlLmVkaXRhYmxlKXJldHVybiExO2xldCBuPXIudGFyZ2V0LGw9W107Zm9yKDtuLm5vZGVOYW1lIT09IkRJViI7KWwucHVzaChuKSxuPW4ucGFyZW50Tm9kZTtpZighbC5maW5kKG09Pm0ubm9kZU5hbWU9PT0iQSIpKXJldHVybiExO2xldCBkPWJXKGUuc3RhdGUsYS50eXBlLm5hbWUpLGM9ci50YXJnZXQscD0oaT1jPy5ocmVmKSE9PW51bGwmJmkhPT12b2lkIDA/aTpkLmhyZWYsdT0obz1jPy50YXJnZXQpIT09bnVsbCYmbyE9PXZvaWQgMD9vOmQudGFyZ2V0O3JldHVybiBjJiZwPyh3aW5kb3cub3BlbihwLHUpLCEwKTohMX0sImhhbmRsZUNsaWNrIil9fSl9ZnVuY3Rpb24gVUlhKGEpe3JldHVybiBuZXcgYXIoe2tleTpuZXcgYnMoImhhbmRsZVBhc3RlTGluayIpLHByb3BzOntoYW5kbGVQYXN0ZTpzKChlLHQscik9PntsZXR7c3RhdGU6aX09ZSx7c2VsZWN0aW9uOm99PWkse2VtcHR5Om59PW87aWYobilyZXR1cm4hMTtsZXQgbD0iIjtyLmNvbnRlbnQuZm9yRWFjaChjPT57bCs9Yy50ZXh0Q29udGVudH0pO2xldCBkPUlzZShsLHtkZWZhdWx0UHJvdG9jb2w6YS5kZWZhdWx0UHJvdG9jb2x9KS5maW5kKGM9PmMuaXNMaW5rJiZjLnZhbHVlPT09bCk7cmV0dXJuIWx8fCFkPyExOmEuZWRpdG9yLmNvbW1hbmRzLnNldE1hcmsoYS50eXBlLHtocmVmOmQuaHJlZn0pfSwiaGFuZGxlUGFzdGUiKX19KX1mdW5jdGlvbiBrYyhhLGUpe2xldCB0PVsiaHR0cCIsImh0dHBzIiwiZnRwIiwiZnRwcyIsIm1haWx0byIsInRlbCIsImNhbGx0byIsInNtcyIsImNpZCIsInhtcHAiXTtyZXR1cm4gZSYmZS5mb3JFYWNoKHI9PntsZXQgaT10eXBlb2Ygcj09InN0cmluZyI/cjpyLnNjaGVtZTtpJiZ0LnB1c2goaSl9KSwhYXx8YS5yZXBsYWNlKEhJYSwiIikubWF0Y2gobmV3IFJlZ0V4cChgXig/Oig/OiR7dC5qb2luKCJ8Iil9KTp8W15hLXpdfFthLXowLTkrLi1dKyg/OlteYS16Ky4tOl18JCkpYCwiaSIpKX12YXIgd1hlLEZJYSxCSWEsSElhLEUyYSxNWGUsTjJhPWYoKCk9PntncigpO1AyYSgpO1pVKCk7d1hlPSJbXDAtIFx4QTBcdTE2ODBcdTE4MEVcdTIwMDAtXHUyMDI5XHUyMDVGXHUzMDAwXSIsRklhPW5ldyBSZWdFeHAod1hlKSxCSWE9bmV3IFJlZ0V4cChgJHt3WGV9JGApLEhJYT1uZXcgUmVnRXhwKHdYZSwiZyIpO3MocUlhLCJpc1ZhbGlkTGlua1N0cnVjdHVyZSIpO3MoVklhLCJhdXRvbGluayIpO3MoaklhLCJjbGlja0hhbmRsZXIiKTtzKFVJYSwicGFzdGVIYW5kbGVyIik7RTJhPS9odHRwcz86XC9cLyg/Ond3d1wuKT9bLWEtekEtWjAtOUA6JS5fK34jPV17MSwyNTZ9XC5bYS16QS1aXXsyLH1cYig/OlstYS16QS1aMC05QDolLl8rfiM9PyEmL10qKSg/OlstYS16QS1aMC05QDolLl8rfiM9PyEmL10qKS9naTtzKGtjLCJpc0FsbG93ZWRVcmkiKTtNWGU9bmkuY3JlYXRlKHtuYW1lOiJsaW5rIixwcmlvcml0eToxZTMsa2VlcE9uU3BsaXQ6ITEsZXhpdGFibGU6ITAsb25DcmVhdGUoKXt0aGlzLm9wdGlvbnMudmFsaWRhdGUmJiF0aGlzLm9wdGlvbnMuc2hvdWxkQXV0b0xpbmsmJih0aGlzLm9wdGlvbnMuc2hvdWxkQXV0b0xpbms9dGhpcy5vcHRpb25zLnZhbGlkYXRlLGNvbnNvbGUud2FybigiVGhlIGB2YWxpZGF0ZWAgb3B0aW9uIGlzIGRlcHJlY2F0ZWQuIFJlbmFtZSB0byB0aGUgYHNob3VsZEF1dG9MaW5rYCBvcHRpb24gaW5zdGVhZC4iKSksdGhpcy5vcHRpb25zLnByb3RvY29scy5mb3JFYWNoKGE9PntpZih0eXBlb2YgYT09InN0cmluZyIpe0VzZShhKTtyZXR1cm59RXNlKGEuc2NoZW1lLGEub3B0aW9uYWxTbGFzaGVzKX0pfSxvbkRlc3Ryb3koKXt5WGUoKX0saW5jbHVzaXZlKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5hdXRvbGlua30sYWRkT3B0aW9ucygpe3JldHVybntvcGVuT25DbGljazohMCxsaW5rT25QYXN0ZTohMCxhdXRvbGluazohMCxwcm90b2NvbHM6W10sZGVmYXVsdFByb3RvY29sOiJodHRwIixIVE1MQXR0cmlidXRlczp7dGFyZ2V0OiJfYmxhbmsiLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciBub2ZvbGxvdyIsY2xhc3M6bnVsbH0saXNBbGxvd2VkVXJpOnMoKGEsZSk9PiEha2MoYSxlLnByb3RvY29scyksImlzQWxsb3dlZFVyaSIpLHZhbGlkYXRlOnMoYT0+ISFhLCJ2YWxpZGF0ZSIpLHNob3VsZEF1dG9MaW5rOnMoYT0+ISFhLCJzaG91bGRBdXRvTGluayIpfX0sYWRkQXR0cmlidXRlcygpe3JldHVybntocmVmOntkZWZhdWx0Om51bGwscGFyc2VIVE1MKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSgiaHJlZiIpfX0sdGFyZ2V0OntkZWZhdWx0OnRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcy50YXJnZXR9LHJlbDp7ZGVmYXVsdDp0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMucmVsfSxjbGFzczp7ZGVmYXVsdDp0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMuY2xhc3N9fX0scGFyc2VIVE1MKCl7cmV0dXJuW3t0YWc6ImFbaHJlZl0iLGdldEF0dHJzOnMoYT0+e2xldCBlPWEuZ2V0QXR0cmlidXRlKCJocmVmIik7cmV0dXJuIWV8fCF0aGlzLm9wdGlvbnMuaXNBbGxvd2VkVXJpKGUse2RlZmF1bHRWYWxpZGF0ZTpzKHQ9PiEha2ModCx0aGlzLm9wdGlvbnMucHJvdG9jb2xzKSwiZGVmYXVsdFZhbGlkYXRlIikscHJvdG9jb2xzOnRoaXMub3B0aW9ucy5wcm90b2NvbHMsZGVmYXVsdFByb3RvY29sOnRoaXMub3B0aW9ucy5kZWZhdWx0UHJvdG9jb2x9KT8hMTpudWxsfSwiZ2V0QXR0cnMiKX1dfSxyZW5kZXJIVE1MKHtIVE1MQXR0cmlidXRlczphfSl7cmV0dXJuIHRoaXMub3B0aW9ucy5pc0FsbG93ZWRVcmkoYS5ocmVmLHtkZWZhdWx0VmFsaWRhdGU6cyhlPT4hIWtjKGUsdGhpcy5vcHRpb25zLnByb3RvY29scyksImRlZmF1bHRWYWxpZGF0ZSIpLHByb3RvY29sczp0aGlzLm9wdGlvbnMucHJvdG9jb2xzLGRlZmF1bHRQcm90b2NvbDp0aGlzLm9wdGlvbnMuZGVmYXVsdFByb3RvY29sfSk/WyJhIix6YSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsYSksMF06WyJhIix6YSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsey4uLmEsaHJlZjoiIn0pLDBdfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRMaW5rOnMoYT0+KHtjaGFpbjplfSk9PntsZXR7aHJlZjp0fT1hO3JldHVybiB0aGlzLm9wdGlvbnMuaXNBbGxvd2VkVXJpKHQse2RlZmF1bHRWYWxpZGF0ZTpzKHI9PiEha2Mocix0aGlzLm9wdGlvbnMucHJvdG9jb2xzKSwiZGVmYXVsdFZhbGlkYXRlIikscHJvdG9jb2xzOnRoaXMub3B0aW9ucy5wcm90b2NvbHMsZGVmYXVsdFByb3RvY29sOnRoaXMub3B0aW9ucy5kZWZhdWx0UHJvdG9jb2x9KT9lKCkuc2V0TWFyayh0aGlzLm5hbWUsYSkuc2V0TWV0YSgicHJldmVudEF1dG9saW5rIiwhMCkucnVuKCk6ITF9LCJzZXRMaW5rIiksdG9nZ2xlTGluazpzKGE9Pih7Y2hhaW46ZX0pPT57bGV0e2hyZWY6dH09YTtyZXR1cm4gdGhpcy5vcHRpb25zLmlzQWxsb3dlZFVyaSh0LHtkZWZhdWx0VmFsaWRhdGU6cyhyPT4hIWtjKHIsdGhpcy5vcHRpb25zLnByb3RvY29scyksImRlZmF1bHRWYWxpZGF0ZSIpLHByb3RvY29sczp0aGlzLm9wdGlvbnMucHJvdG9jb2xzLGRlZmF1bHRQcm90b2NvbDp0aGlzLm9wdGlvbnMuZGVmYXVsdFByb3RvY29sfSk/ZSgpLnRvZ2dsZU1hcmsodGhpcy5uYW1lLGEse2V4dGVuZEVtcHR5TWFya1JhbmdlOiEwfSkuc2V0TWV0YSgicHJldmVudEF1dG9saW5rIiwhMCkucnVuKCk6ITF9LCJ0b2dnbGVMaW5rIiksdW5zZXRMaW5rOnMoKCk9Pih7Y2hhaW46YX0pPT5hKCkudW5zZXRNYXJrKHRoaXMubmFtZSx7ZXh0ZW5kRW1wdHlNYXJrUmFuZ2U6ITB9KS5zZXRNZXRhKCJwcmV2ZW50QXV0b2xpbmsiLCEwKS5ydW4oKSwidW5zZXRMaW5rIil9fSxhZGRQYXN0ZVJ1bGVzKCl7cmV0dXJuW09vKHtmaW5kOnMoYT0+e2xldCBlPVtdO2lmKGEpe2xldHtwcm90b2NvbHM6dCxkZWZhdWx0UHJvdG9jb2w6cn09dGhpcy5vcHRpb25zLGk9SXNlKGEpLmZpbHRlcihvPT5vLmlzTGluayYmdGhpcy5vcHRpb25zLmlzQWxsb3dlZFVyaShvLnZhbHVlLHtkZWZhdWx0VmFsaWRhdGU6cyhuPT4hIWtjKG4sdCksImRlZmF1bHRWYWxpZGF0ZSIpLHByb3RvY29sczp0LGRlZmF1bHRQcm90b2NvbDpyfSkpO2kubGVuZ3RoJiZpLmZvckVhY2gobz0+ZS5wdXNoKHt0ZXh0Om8udmFsdWUsZGF0YTp7aHJlZjpvLmhyZWZ9LGluZGV4Om8uc3RhcnR9KSl9cmV0dXJuIGV9LCJmaW5kIiksdHlwZTp0aGlzLnR5cGUsZ2V0QXR0cmlidXRlczpzKGE9Pnt2YXIgZTtyZXR1cm57aHJlZjooZT1hLmRhdGEpPT09bnVsbHx8ZT09PXZvaWQgMD92b2lkIDA6ZS5ocmVmfX0sImdldEF0dHJpYnV0ZXMiKX0pXX0sYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCl7bGV0IGE9W10se3Byb3RvY29sczplLGRlZmF1bHRQcm90b2NvbDp0fT10aGlzLm9wdGlvbnM7cmV0dXJuIHRoaXMub3B0aW9ucy5hdXRvbGluayYmYS5wdXNoKFZJYSh7dHlwZTp0aGlzLnR5cGUsZGVmYXVsdFByb3RvY29sOnRoaXMub3B0aW9ucy5kZWZhdWx0UHJvdG9jb2wsdmFsaWRhdGU6cyhyPT50aGlzLm9wdGlvbnMuaXNBbGxvd2VkVXJpKHIse2RlZmF1bHRWYWxpZGF0ZTpzKGk9PiEha2MoaSxlKSwiZGVmYXVsdFZhbGlkYXRlIikscHJvdG9jb2xzOmUsZGVmYXVsdFByb3RvY29sOnR9KSwidmFsaWRhdGUiKSxzaG91bGRBdXRvTGluazp0aGlzLm9wdGlvbnMuc2hvdWxkQXV0b0xpbmt9KSksdGhpcy5vcHRpb25zLm9wZW5PbkNsaWNrPT09ITAmJmEucHVzaChqSWEoe3R5cGU6dGhpcy50eXBlfSkpLHRoaXMub3B0aW9ucy5saW5rT25QYXN0ZSYmYS5wdXNoKFVJYSh7ZWRpdG9yOnRoaXMuZWRpdG9yLGRlZmF1bHRQcm90b2NvbDp0aGlzLm9wdGlvbnMuZGVmYXVsdFByb3RvY29sLHR5cGU6dGhpcy50eXBlfSkpLGF9fSl9KTt2YXIgUjJhPXt9O2x0KFIyYSx7VHlwb2dyYXBoeTooKT0+VVhlLGNsb3NlRG91YmxlUXVvdGU6KCk9PkNYZSxjbG9zZVNpbmdsZVF1b3RlOigpPT5UWGUsY29weXJpZ2h0OigpPT5EWGUsZGVmYXVsdDooKT0+VVhlLGVsbGlwc2lzOigpPT5TWGUsZW1EYXNoOigpPT5rWGUsbGFxdW86KCk9Pk9YZSxsZWZ0QXJyb3c6KCk9PkxYZSxtdWx0aXBsaWNhdGlvbjooKT0+QlhlLG5vdEVxdWFsOigpPT5SWGUsb25lSGFsZjooKT0+SVhlLG9uZVF1YXJ0ZXI6KCk9PlZYZSxvcGVuRG91YmxlUXVvdGU6KCk9PnpYZSxvcGVuU2luZ2xlUXVvdGU6KCk9Pl9YZSxwbHVzTWludXM6KCk9Pk5YZSxyYXF1bzooKT0+RlhlLHJlZ2lzdGVyZWRUcmFkZW1hcms6KCk9PkVYZSxyaWdodEFycm93OigpPT4kWGUsc2VydmljZW1hcms6KCk9PlBYZSxzdXBlcnNjcmlwdFRocmVlOigpPT5xWGUsc3VwZXJzY3JpcHRUd286KCk9PkhYZSx0aHJlZVF1YXJ0ZXJzOigpPT5qWGUsdHJhZGVtYXJrOigpPT5BWGV9KTt2YXIga1hlLFNYZSx6WGUsQ1hlLF9YZSxUWGUsTFhlLCRYZSxEWGUsQVhlLFBYZSxFWGUsSVhlLE5YZSxSWGUsT1hlLEZYZSxCWGUsSFhlLHFYZSxWWGUsalhlLFVYZSxPMmE9ZigoKT0+e2dyKCk7a1hlPXMoYT0+bXIoe2ZpbmQ6Ly0tJC8scmVwbGFjZTphPz8iXHUyMDE0In0pLCJlbURhc2giKSxTWGU9cyhhPT5tcih7ZmluZDovXC5cLlwuJC8scmVwbGFjZTphPz8iXHUyMDI2In0pLCJlbGxpcHNpcyIpLHpYZT1zKGE9Pm1yKHtmaW5kOi8oPzpefFtcc3tbKDwnIlx1MjAxOFx1MjAxQ10pKCIpJC8scmVwbGFjZTphPz8iXHUyMDFDIn0pLCJvcGVuRG91YmxlUXVvdGUiKSxDWGU9cyhhPT5tcih7ZmluZDovIiQvLHJlcGxhY2U6YT8/Ilx1MjAxRCJ9KSwiY2xvc2VEb3VibGVRdW90ZSIpLF9YZT1zKGE9Pm1yKHtmaW5kOi8oPzpefFtcc3tbKDwnIlx1MjAxOFx1MjAxQ10pKCcpJC8scmVwbGFjZTphPz8iXHUyMDE4In0pLCJvcGVuU2luZ2xlUXVvdGUiKSxUWGU9cyhhPT5tcih7ZmluZDovJyQvLHJlcGxhY2U6YT8/Ilx1MjAxOSJ9KSwiY2xvc2VTaW5nbGVRdW90ZSIpLExYZT1zKGE9Pm1yKHtmaW5kOi88LSQvLHJlcGxhY2U6YT8/Ilx1MjE5MCJ9KSwibGVmdEFycm93IiksJFhlPXMoYT0+bXIoe2ZpbmQ6Ly0+JC8scmVwbGFjZTphPz8iXHUyMTkyIn0pLCJyaWdodEFycm93IiksRFhlPXMoYT0+bXIoe2ZpbmQ6L1woY1wpJC8scmVwbGFjZTphPz8iXHhBOSJ9KSwiY29weXJpZ2h0IiksQVhlPXMoYT0+bXIoe2ZpbmQ6L1wodG1cKSQvLHJlcGxhY2U6YT8/Ilx1MjEyMiJ9KSwidHJhZGVtYXJrIiksUFhlPXMoYT0+bXIoe2ZpbmQ6L1woc21cKSQvLHJlcGxhY2U6YT8/Ilx1MjEyMCJ9KSwic2VydmljZW1hcmsiKSxFWGU9cyhhPT5tcih7ZmluZDovXChyXCkkLyxyZXBsYWNlOmE/PyJceEFFIn0pLCJyZWdpc3RlcmVkVHJhZGVtYXJrIiksSVhlPXMoYT0+bXIoe2ZpbmQ6Lyg/Ol58XHMpKDFcLzIpXHMkLyxyZXBsYWNlOmE/PyJceEJEIn0pLCJvbmVIYWxmIiksTlhlPXMoYT0+bXIoe2ZpbmQ6L1wrXC8tJC8scmVwbGFjZTphPz8iXHhCMSJ9KSwicGx1c01pbnVzIiksUlhlPXMoYT0+bXIoe2ZpbmQ6LyE9JC8scmVwbGFjZTphPz8iXHUyMjYwIn0pLCJub3RFcXVhbCIpLE9YZT1zKGE9Pm1yKHtmaW5kOi88PCQvLHJlcGxhY2U6YT8/Ilx4QUIifSksImxhcXVvIiksRlhlPXMoYT0+bXIoe2ZpbmQ6Lz4+JC8scmVwbGFjZTphPz8iXHhCQiJ9KSwicmFxdW8iKSxCWGU9cyhhPT5tcih7ZmluZDovXGQrXHM/KFsqeF0pXHM/XGQrJC8scmVwbGFjZTphPz8iXHhENyJ9KSwibXVsdGlwbGljYXRpb24iKSxIWGU9cyhhPT5tcih7ZmluZDovXF4yJC8scmVwbGFjZTphPz8iXHhCMiJ9KSwic3VwZXJzY3JpcHRUd28iKSxxWGU9cyhhPT5tcih7ZmluZDovXF4zJC8scmVwbGFjZTphPz8iXHhCMyJ9KSwic3VwZXJzY3JpcHRUaHJlZSIpLFZYZT1zKGE9Pm1yKHtmaW5kOi8oPzpefFxzKSgxXC80KVxzJC8scmVwbGFjZTphPz8iXHhCQyJ9KSwib25lUXVhcnRlciIpLGpYZT1zKGE9Pm1yKHtmaW5kOi8oPzpefFxzKSgzXC80KVxzJC8scmVwbGFjZTphPz8iXHhCRSJ9KSwidGhyZWVRdWFydGVycyIpLFVYZT13ci5jcmVhdGUoe25hbWU6InR5cG9ncmFwaHkiLGFkZE9wdGlvbnMoKXtyZXR1cm57Y2xvc2VEb3VibGVRdW90ZToiXHUyMDFEIixjbG9zZVNpbmdsZVF1b3RlOiJcdTIwMTkiLGNvcHlyaWdodDoiXHhBOSIsZWxsaXBzaXM6Ilx1MjAyNiIsZW1EYXNoOiJcdTIwMTQiLGxhcXVvOiJceEFCIixsZWZ0QXJyb3c6Ilx1MjE5MCIsbXVsdGlwbGljYXRpb246Ilx4RDciLG5vdEVxdWFsOiJcdTIyNjAiLG9uZUhhbGY6Ilx4QkQiLG9uZVF1YXJ0ZXI6Ilx4QkMiLG9wZW5Eb3VibGVRdW90ZToiXHUyMDFDIixvcGVuU2luZ2xlUXVvdGU6Ilx1MjAxOCIscGx1c01pbnVzOiJceEIxIixyYXF1bzoiXHhCQiIscmVnaXN0ZXJlZFRyYWRlbWFyazoiXHhBRSIscmlnaHRBcnJvdzoiXHUyMTkyIixzZXJ2aWNlbWFyazoiXHUyMTIwIixzdXBlcnNjcmlwdFRocmVlOiJceEIzIixzdXBlcnNjcmlwdFR3bzoiXHhCMiIsdGhyZWVRdWFydGVyczoiXHhCRSIsdHJhZGVtYXJrOiJcdTIxMjIifX0sYWRkSW5wdXRSdWxlcygpe2xldCBhPVtdO3JldHVybiB0aGlzLm9wdGlvbnMuZW1EYXNoIT09ITEmJmEucHVzaChrWGUodGhpcy5vcHRpb25zLmVtRGFzaCkpLHRoaXMub3B0aW9ucy5lbGxpcHNpcyE9PSExJiZhLnB1c2goU1hlKHRoaXMub3B0aW9ucy5lbGxpcHNpcykpLHRoaXMub3B0aW9ucy5vcGVuRG91YmxlUXVvdGUhPT0hMSYmYS5wdXNoKHpYZSh0aGlzLm9wdGlvbnMub3BlbkRvdWJsZVF1b3RlKSksdGhpcy5vcHRpb25zLmNsb3NlRG91YmxlUXVvdGUhPT0hMSYmYS5wdXNoKENYZSh0aGlzLm9wdGlvbnMuY2xvc2VEb3VibGVRdW90ZSkpLHRoaXMub3B0aW9ucy5vcGVuU2luZ2xlUXVvdGUhPT0hMSYmYS5wdXNoKF9YZSh0aGlzLm9wdGlvbnMub3BlblNpbmdsZVF1b3RlKSksdGhpcy5vcHRpb25zLmNsb3NlU2luZ2xlUXVvdGUhPT0hMSYmYS5wdXNoKFRYZSh0aGlzLm9wdGlvbnMuY2xvc2VTaW5nbGVRdW90ZSkpLHRoaXMub3B0aW9ucy5sZWZ0QXJyb3chPT0hMSYmYS5wdXNoKExYZSh0aGlzLm9wdGlvbnMubGVmdEFycm93KSksdGhpcy5vcHRpb25zLnJpZ2h0QXJyb3chPT0hMSYmYS5wdXNoKCRYZSh0aGlzLm9wdGlvbnMucmlnaHRBcnJvdykpLHRoaXMub3B0aW9ucy5jb3B5cmlnaHQhPT0hMSYmYS5wdXNoKERYZSh0aGlzLm9wdGlvbnMuY29weXJpZ2h0KSksdGhpcy5vcHRpb25zLnRyYWRlbWFyayE9PSExJiZhLnB1c2goQVhlKHRoaXMub3B0aW9ucy50cmFkZW1hcmspKSx0aGlzLm9wdGlvbnMuc2VydmljZW1hcmshPT0hMSYmYS5wdXNoKFBYZSh0aGlzLm9wdGlvbnMuc2VydmljZW1hcmspKSx0aGlzLm9wdGlvbnMucmVnaXN0ZXJlZFRyYWRlbWFyayE9PSExJiZhLnB1c2goRVhlKHRoaXMub3B0aW9ucy5yZWdpc3RlcmVkVHJhZGVtYXJrKSksdGhpcy5vcHRpb25zLm9uZUhhbGYhPT0hMSYmYS5wdXNoKElYZSh0aGlzLm9wdGlvbnMub25lSGFsZikpLHRoaXMub3B0aW9ucy5wbHVzTWludXMhPT0hMSYmYS5wdXNoKE5YZSh0aGlzLm9wdGlvbnMucGx1c01pbnVzKSksdGhpcy5vcHRpb25zLm5vdEVxdWFsIT09ITEmJmEucHVzaChSWGUodGhpcy5vcHRpb25zLm5vdEVxdWFsKSksdGhpcy5vcHRpb25zLmxhcXVvIT09ITEmJmEucHVzaChPWGUodGhpcy5vcHRpb25zLmxhcXVvKSksdGhpcy5vcHRpb25zLnJhcXVvIT09ITEmJmEucHVzaChGWGUodGhpcy5vcHRpb25zLnJhcXVvKSksdGhpcy5vcHRpb25zLm11bHRpcGxpY2F0aW9uIT09ITEmJmEucHVzaChCWGUodGhpcy5vcHRpb25zLm11bHRpcGxpY2F0aW9uKSksdGhpcy5vcHRpb25zLnN1cGVyc2NyaXB0VHdvIT09ITEmJmEucHVzaChIWGUodGhpcy5vcHRpb25zLnN1cGVyc2NyaXB0VHdvKSksdGhpcy5vcHRpb25zLnN1cGVyc2NyaXB0VGhyZWUhPT0hMSYmYS5wdXNoKHFYZSh0aGlzLm9wdGlvbnMuc3VwZXJzY3JpcHRUaHJlZSkpLHRoaXMub3B0aW9ucy5vbmVRdWFydGVyIT09ITEmJmEucHVzaChWWGUodGhpcy5vcHRpb25zLm9uZVF1YXJ0ZXIpKSx0aGlzLm9wdGlvbnMudGhyZWVRdWFydGVycyE9PSExJiZhLnB1c2goalhlKHRoaXMub3B0aW9ucy50aHJlZVF1YXJ0ZXJzKSksYX19KX0pO3ZhciBGMSxCMSxXWGU9ZigoKT0+e0YxPXt4dGVybToiNS4zLjAiLHh0ZXJtQWRkb25GaXQ6IjAuOC4wIix4dGVybUFkZG9uU2VhcmNoOiIwLjEzLjAiLGhpZ2hsaWdodEpzOiIxMS4xMS4xIixlY2hhcnRzOiI1LjYuMCIsbGlnaHR3ZWlnaHRDaGFydHM6IjUuMS4wIix0aXB0YXA6IjIuMjcuMiIsZm9udGF3ZXNvbWU6IjcuMi4wIn0sQjE9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0ifSk7dmFyIE9zLEYyYT1mKCgpPT57V1hlKCk7T3M9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJEZWVzU2VydmljZUxpYkxvYWRlciIpfXN0YXRpYyBpbnN0YW5jZTt4dGVybUxpYj1udWxsO3h0ZXJtRml0QWRkb25MaWI9bnVsbDt4dGVybVNlYXJjaEFkZG9uTGliPW51bGw7aGlnaGxpZ2h0SnNMaWI9bnVsbDtsaWdodHdlaWdodENoYXJ0c0xpYj1udWxsO2VjaGFydHNMaWI9bnVsbDt0aXB0YXBMaWI9bnVsbDt4dGVybUxvYWRpbmdQcm9taXNlPW51bGw7eHRlcm1GaXRBZGRvbkxvYWRpbmdQcm9taXNlPW51bGw7eHRlcm1TZWFyY2hBZGRvbkxvYWRpbmdQcm9taXNlPW51bGw7aGlnaGxpZ2h0SnNMb2FkaW5nUHJvbWlzZT1udWxsO2xpZ2h0d2VpZ2h0Q2hhcnRzTG9hZGluZ1Byb21pc2U9bnVsbDtlY2hhcnRzTG9hZGluZ1Byb21pc2U9bnVsbDt0aXB0YXBMb2FkaW5nUHJvbWlzZT1udWxsO2NvbnN0cnVjdG9yKCl7fXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBhLmluc3RhbmNlfHwoYS5pbnN0YW5jZT1uZXcgYSksYS5pbnN0YW5jZX1hc3luYyBsb2FkWHRlcm0oKXtyZXR1cm4gdGhpcy54dGVybUxpYj90aGlzLnh0ZXJtTGliOnRoaXMueHRlcm1Mb2FkaW5nUHJvbWlzZT90aGlzLnh0ZXJtTG9hZGluZ1Byb21pc2U6KHRoaXMueHRlcm1Mb2FkaW5nUHJvbWlzZT0oYXN5bmMoKT0+e2xldCB0PWF3YWl0IGltcG9ydChgJHtCMX0veHRlcm1AJHtGMS54dGVybX0vK2VzbWApO3JldHVybiBhd2FpdCB0aGlzLmluamVjdFh0ZXJtU3R5bGVzKCksdGhpcy54dGVybUxpYj17VGVybWluYWw6dC5UZXJtaW5hbH0sdGhpcy54dGVybUxpYn0pKCksdGhpcy54dGVybUxvYWRpbmdQcm9taXNlKX1hc3luYyBsb2FkWHRlcm1GaXRBZGRvbigpe3JldHVybiB0aGlzLnh0ZXJtRml0QWRkb25MaWI/dGhpcy54dGVybUZpdEFkZG9uTGliOnRoaXMueHRlcm1GaXRBZGRvbkxvYWRpbmdQcm9taXNlP3RoaXMueHRlcm1GaXRBZGRvbkxvYWRpbmdQcm9taXNlOih0aGlzLnh0ZXJtRml0QWRkb25Mb2FkaW5nUHJvbWlzZT0oYXN5bmMoKT0+e2xldCB0PWF3YWl0IGltcG9ydChgJHtCMX0veHRlcm0tYWRkb24tZml0QCR7RjEueHRlcm1BZGRvbkZpdH0vK2VzbWApO3JldHVybiB0aGlzLnh0ZXJtRml0QWRkb25MaWI9e0ZpdEFkZG9uOnQuRml0QWRkb259LHRoaXMueHRlcm1GaXRBZGRvbkxpYn0pKCksdGhpcy54dGVybUZpdEFkZG9uTG9hZGluZ1Byb21pc2UpfWFzeW5jIGxvYWRYdGVybVNlYXJjaEFkZG9uKCl7cmV0dXJuIHRoaXMueHRlcm1TZWFyY2hBZGRvbkxpYj90aGlzLnh0ZXJtU2VhcmNoQWRkb25MaWI6dGhpcy54dGVybVNlYXJjaEFkZG9uTG9hZGluZ1Byb21pc2U/dGhpcy54dGVybVNlYXJjaEFkZG9uTG9hZGluZ1Byb21pc2U6KHRoaXMueHRlcm1TZWFyY2hBZGRvbkxvYWRpbmdQcm9taXNlPShhc3luYygpPT57bGV0IHQ9YXdhaXQgaW1wb3J0KGAke0IxfS94dGVybS1hZGRvbi1zZWFyY2hAJHtGMS54dGVybUFkZG9uU2VhcmNofS8rZXNtYCk7cmV0dXJuIHRoaXMueHRlcm1TZWFyY2hBZGRvbkxpYj17U2VhcmNoQWRkb246dC5TZWFyY2hBZGRvbn0sdGhpcy54dGVybVNlYXJjaEFkZG9uTGlifSkoKSx0aGlzLnh0ZXJtU2VhcmNoQWRkb25Mb2FkaW5nUHJvbWlzZSl9YXN5bmMgaW5qZWN0WHRlcm1TdHlsZXMoKXtsZXQgZT0ieHRlcm0tY2RuLXN0eWxlcyI7aWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZSkpcmV0dXJuO2xldCB0PWAke0IxfS94dGVybUAke0YxLnh0ZXJtfS9jc3MveHRlcm0uY3NzYCxpPWF3YWl0KGF3YWl0IGZldGNoKHQpKS50ZXh0KCksbz1gCi8qIEZpeCB4dGVybS5qcyBXaWR0aENhY2hlIG1lYXN1cmVtZW50IGNvbnRhaW5lciBjYXVzaW5nIGhvcml6b250YWwgc2Nyb2xsYmFyICovCi8qIHh0ZXJtIGNyZWF0ZXMgdGhpcyBvbiBkb2N1bWVudC5ib2R5IC0gbW92ZSBpdCBvZmYtc2NyZWVuIGhvcml6b250YWxseSB0b28gKi8KYm9keSA+IGRpdltzdHlsZSo9InRvcDogLTUwMDAwcHgiXVtzdHlsZSo9IndpZHRoOiA1MDAwMHB4Il0gewogIGxlZnQ6IC01MDAwMHB4ICFpbXBvcnRhbnQ7Cn0KYCxuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7bi5pZD1lLG4udGV4dENvbnRlbnQ9aStvLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobil9YXN5bmMgbG9hZEhpZ2hsaWdodEpzKCl7cmV0dXJuIHRoaXMuaGlnaGxpZ2h0SnNMaWI/dGhpcy5oaWdobGlnaHRKc0xpYjp0aGlzLmhpZ2hsaWdodEpzTG9hZGluZ1Byb21pc2U/dGhpcy5oaWdobGlnaHRKc0xvYWRpbmdQcm9taXNlOih0aGlzLmhpZ2hsaWdodEpzTG9hZGluZ1Byb21pc2U9KGFzeW5jKCk9PntsZXQgdD1hd2FpdCBpbXBvcnQoYCR7QjF9L2hpZ2hsaWdodC5qc0Ake0YxLmhpZ2hsaWdodEpzfS8rZXNtYCk7cmV0dXJuIHRoaXMuaGlnaGxpZ2h0SnNMaWI9dC5kZWZhdWx0LHRoaXMuaGlnaGxpZ2h0SnNMaWJ9KSgpLHRoaXMuaGlnaGxpZ2h0SnNMb2FkaW5nUHJvbWlzZSl9YXN5bmMgbG9hZExpZ2h0d2VpZ2h0Q2hhcnRzKCl7cmV0dXJuIHRoaXMubGlnaHR3ZWlnaHRDaGFydHNMaWI/dGhpcy5saWdodHdlaWdodENoYXJ0c0xpYjp0aGlzLmxpZ2h0d2VpZ2h0Q2hhcnRzTG9hZGluZ1Byb21pc2U/dGhpcy5saWdodHdlaWdodENoYXJ0c0xvYWRpbmdQcm9taXNlOih0aGlzLmxpZ2h0d2VpZ2h0Q2hhcnRzTG9hZGluZ1Byb21pc2U9KGFzeW5jKCk9PntsZXQgdD1hd2FpdCBpbXBvcnQoYCR7QjF9L2xpZ2h0d2VpZ2h0LWNoYXJ0c0Ake0YxLmxpZ2h0d2VpZ2h0Q2hhcnRzfS8rZXNtYCk7cmV0dXJuIHRoaXMubGlnaHR3ZWlnaHRDaGFydHNMaWI9e2NyZWF0ZUNoYXJ0OnQuY3JlYXRlQ2hhcnQsQXJlYVNlcmllczp0LkFyZWFTZXJpZXMsTGluZVNlcmllczp0LkxpbmVTZXJpZXMsQ29sb3JUeXBlOnQuQ29sb3JUeXBlLExpbmVUeXBlOnQuTGluZVR5cGUsQ3Jvc3NoYWlyTW9kZTp0LkNyb3NzaGFpck1vZGV9LHRoaXMubGlnaHR3ZWlnaHRDaGFydHNMaWJ9KSgpLHRoaXMubGlnaHR3ZWlnaHRDaGFydHNMb2FkaW5nUHJvbWlzZSl9YXN5bmMgbG9hZEVjaGFydHMoKXtyZXR1cm4gdGhpcy5lY2hhcnRzTGliP3RoaXMuZWNoYXJ0c0xpYjp0aGlzLmVjaGFydHNMb2FkaW5nUHJvbWlzZT90aGlzLmVjaGFydHNMb2FkaW5nUHJvbWlzZToodGhpcy5lY2hhcnRzTG9hZGluZ1Byb21pc2U9KGFzeW5jKCk9PntsZXQgdD1hd2FpdCBpbXBvcnQoYCR7QjF9L2VjaGFydHNAJHtGMS5lY2hhcnRzfS9kaXN0L2VjaGFydHMuZXNtLm1pbi5qc2ApO3JldHVybiB0aGlzLmVjaGFydHNMaWI9e2luaXQ6dC5pbml0LGRpc3Bvc2U6dC5kaXNwb3NlLGdldEluc3RhbmNlQnlEb206dC5nZXRJbnN0YW5jZUJ5RG9tfSx0aGlzLmVjaGFydHNMaWJ9KSgpLHRoaXMuZWNoYXJ0c0xvYWRpbmdQcm9taXNlKX1hc3luYyBsb2FkVGlwdGFwKCl7cmV0dXJuIHRoaXMudGlwdGFwTGliP3RoaXMudGlwdGFwTGliOnRoaXMudGlwdGFwTG9hZGluZ1Byb21pc2U/dGhpcy50aXB0YXBMb2FkaW5nUHJvbWlzZToodGhpcy50aXB0YXBMb2FkaW5nUHJvbWlzZT0oYXN5bmMoKT0+e2xldFtlLHQscixpLG8sbl09YXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihncigpLHYxYSkpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihmMmEoKSxwMmEpKSxQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4obTJhKCksaDJhKSksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGIyYSgpLGcyYSkpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihOMmEoKSxJMmEpKSxQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oTzJhKCksUjJhKSldKTtyZXR1cm4gdGhpcy50aXB0YXBMaWI9e0VkaXRvcjplLkVkaXRvcixTdGFydGVyS2l0OnQuZGVmYXVsdHx8dC5TdGFydGVyS2l0LFVuZGVybGluZTpyLmRlZmF1bHR8fHIuVW5kZXJsaW5lLFRleHRBbGlnbjppLmRlZmF1bHR8fGkuVGV4dEFsaWduLExpbms6by5kZWZhdWx0fHxvLkxpbmssVHlwb2dyYXBoeTpuLmRlZmF1bHR8fG4uVHlwb2dyYXBoeX0sdGhpcy50aXB0YXBMaWJ9KSgpLHRoaXMudGlwdGFwTG9hZGluZ1Byb21pc2UpfWFzeW5jIHByZWxvYWRBbGwoKXthd2FpdCBQcm9taXNlLmFsbChbdGhpcy5sb2FkWHRlcm0oKSx0aGlzLmxvYWRYdGVybUZpdEFkZG9uKCksdGhpcy5sb2FkWHRlcm1TZWFyY2hBZGRvbigpLHRoaXMubG9hZEhpZ2hsaWdodEpzKCksdGhpcy5sb2FkTGlnaHR3ZWlnaHRDaGFydHMoKSx0aGlzLmxvYWRFY2hhcnRzKCksdGhpcy5sb2FkVGlwdGFwKCldKX1pc0xvYWRlZChlKXtzd2l0Y2goZSl7Y2FzZSJ4dGVybSI6cmV0dXJuIHRoaXMueHRlcm1MaWIhPT1udWxsO2Nhc2UieHRlcm1GaXRBZGRvbiI6cmV0dXJuIHRoaXMueHRlcm1GaXRBZGRvbkxpYiE9PW51bGw7Y2FzZSJ4dGVybVNlYXJjaEFkZG9uIjpyZXR1cm4gdGhpcy54dGVybVNlYXJjaEFkZG9uTGliIT09bnVsbDtjYXNlImhpZ2hsaWdodEpzIjpyZXR1cm4gdGhpcy5oaWdobGlnaHRKc0xpYiE9PW51bGw7Y2FzZSJsaWdodHdlaWdodENoYXJ0cyI6cmV0dXJuIHRoaXMubGlnaHR3ZWlnaHRDaGFydHNMaWIhPT1udWxsO2Nhc2UiZWNoYXJ0cyI6cmV0dXJuIHRoaXMuZWNoYXJ0c0xpYiE9PW51bGw7Y2FzZSJ0aXB0YXAiOnJldHVybiB0aGlzLnRpcHRhcExpYiE9PW51bGw7ZGVmYXVsdDpyZXR1cm4hMX19fX0pO3ZhciBTYz1mKCgpPT57RjJhKCk7V1hlKCl9KTt2YXIgJFcsQjJhPWYoKCk9PntybigpO2xlKCk7VTIoKTttcygpO3phZSgpO1NjKCk7JFc9Y2xhc3MgZXh0ZW5kcyBocntzdGF0aWN7cyh0aGlzLCJDb2RlQmxvY2tIYW5kbGVyIil9dHlwZT0iY29kZSI7aGlnaGxpZ2h0VGltZXI9bnVsbDtoaWdobGlnaHRKcz1udWxsO3JlbmRlcihlLHQpe2xldCByPWUubWV0YWRhdGE/Lmxhbmd1YWdlfHwidHlwZXNjcmlwdCIsaT1lLmNvbnRlbnR8fCIiLG89aS5zcGxpdChgCmApLmxlbmd0aCxuPSIiO2ZvcihsZXQgZD0xO2Q8PW87ZCsrKW4rPWA8ZGl2IGNsYXNzPSJsaW5lLW51bWJlciI+JHtkfTwvZGl2PmA7bGV0IGw9RVUubWFwKGQ9PntsZXQgYz1kLnRvTG93ZXJDYXNlKCk7cmV0dXJuYDxvcHRpb24gdmFsdWU9IiR7Y30iICR7Yz09PXI/InNlbGVjdGVkIjoiIn0+JHtkfTwvb3B0aW9uPmB9KS5qb2luKCIiKTtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9ImNvZGUtYmxvY2stY29udGFpbmVyJHt0PyIgc2VsZWN0ZWQiOiIifSIgZGF0YS1sYW5ndWFnZT0iJHtyfSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1oZWFkZXIiPgogICAgICAgICAgPHNlbGVjdCBjbGFzcz0ibGFuZ3VhZ2Utc2VsZWN0b3IiIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iPgogICAgICAgICAgICAke2x9CiAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNvcHktYnV0dG9uIiB0aXRsZT0iQ29weSBjb2RlIj4KICAgICAgICAgICAgPHN2ZyBjbGFzcz0iY29weS1pY29uIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMCA2Ljc1QzAgNS43ODQuNzg0IDUgMS43NSA1aDEuNWEuNzUuNzUgMCAwMTAgMS41aC0xLjVhLjI1LjI1IDAgMDAtLjI1LjI1djcuNWMwIC4xMzguMTEyLjI1LjI1LjI1aDcuNWEuMjUuMjUgMCAwMC4yNS0uMjV2LTEuNWEuNzUuNzUgMCAwMTEuNSAwdjEuNUExLjc1IDEuNzUgMCAwMTkuMjUgMTZoLTcuNUExLjc1IDEuNzUgMCAwMTAgMTQuMjV2LTcuNXoiPjwvcGF0aD4KICAgICAgICAgICAgICA8cGF0aCBkPSJNNSAxLjc1QzUgLjc4NCA1Ljc4NCAwIDYuNzUgMGg3LjVDMTUuMjE2IDAgMTYgLjc4NCAxNiAxLjc1djcuNUExLjc1IDEuNzUgMCAwMTE0LjI1IDExaC03LjVBMS43NSAxLjc1IDAgMDE1IDkuMjV2LTcuNXptMS43NS0uMjVhLjI1LjI1IDAgMDAtLjI1LjI1djcuNWMwIC4xMzguMTEyLjI1LjI1LjI1aDcuNWEuMjUuMjUgMCAwMC4yNS0uMjV2LTcuNWEuMjUuMjUgMCAwMC0uMjUtLjI1aC03LjV6Ij48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29weS10ZXh0Ij5Db3B5PC9zcGFuPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1ib2R5Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmUtbnVtYmVycyI+JHtufTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1jb250ZW50Ij4KICAgICAgICAgICAgPHByZSBjbGFzcz0iY29kZS1wcmUiPjxjb2RlIGNsYXNzPSJjb2RlLWVkaXRvciIgCiAgICAgICAgICAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgICAgICAgICAgZGF0YS1ibG9jay10eXBlPSIke2UudHlwZX0iCiAgICAgICAgICAgICAgICAgc3BlbGxjaGVjaz0iZmFsc2UiPiR7dGhpcy5lc2NhcGVIdG1sKGkpfTwvY29kZT48L3ByZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9c2V0dXAoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIiksbz1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWJsb2NrLWNvbnRhaW5lciIpLG49ZS5xdWVyeVNlbGVjdG9yKCIuY29weS1idXR0b24iKSxsPWUucXVlcnlTZWxlY3RvcigiLmxhbmd1YWdlLXNlbGVjdG9yIik7aWYoIWl8fCFvKXJldHVybjtsJiZsLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsYz0+e2xldCBwPWMudGFyZ2V0LnZhbHVlO3QubWV0YWRhdGE9ey4uLnQubWV0YWRhdGEsbGFuZ3VhZ2U6cH0sby5zZXRBdHRyaWJ1dGUoImRhdGEtbGFuZ3VhZ2UiLHApLHQuY29udGVudCYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWkmJnRoaXMuYXBwbHlIaWdobGlnaHRpbmcoZSx0KSxyLm9uSW5wdXQmJnIub25JbnB1dChuZXcgSW5wdXRFdmVudCgiaW5wdXQiKSl9KSxuJiZuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixhc3luYygpPT57bGV0IGM9aS50ZXh0Q29udGVudHx8IiI7dHJ5e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGMpO2xldCBwPW4ucXVlcnlTZWxlY3RvcigiLmNvcHktdGV4dCIpLHU9cC50ZXh0Q29udGVudDtwLnRleHRDb250ZW50PSJDb3BpZWQhIixuLmNsYXNzTGlzdC5hZGQoImNvcGllZCIpLHNldFRpbWVvdXQoKCk9PntwLnRleHRDb250ZW50PXUsbi5jbGFzc0xpc3QucmVtb3ZlKCJjb3BpZWQiKX0sMmUzKX1jYXRjaChwKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY29weToiLHApO2xldCB1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7dS52YWx1ZT1jLHUuc3R5bGUucG9zaXRpb249ImZpeGVkIix1LnN0eWxlLm9wYWNpdHk9IjAiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodSksdS5zZWxlY3QoKTt0cnl7ZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKTtsZXQgbT1uLnF1ZXJ5U2VsZWN0b3IoIi5jb3B5LXRleHQiKSx2PW0udGV4dENvbnRlbnQ7bS50ZXh0Q29udGVudD0iQ29waWVkISIsbi5jbGFzc0xpc3QuYWRkKCJjb3BpZWQiKSxzZXRUaW1lb3V0KCgpPT57bS50ZXh0Q29udGVudD12LG4uY2xhc3NMaXN0LnJlbW92ZSgiY29waWVkIil9LDJlMyl9Y2F0Y2gobSl7Y29uc29sZS5lcnJvcigiRmFsbGJhY2sgY29weSBmYWlsZWQ6IixtKX1kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHUpfX0pO2xldCBkPSExO2kuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57ZD0hMCxvLmNsYXNzTGlzdC5hZGQoImVkaXRpbmciKTtsZXQgYz1pLnRleHRDb250ZW50fHwiIjtpLnRleHRDb250ZW50PWMscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57bGV0IHA9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSx1PXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpLmZpcnN0Q2hpbGQmJihwLnNldFN0YXJ0KGkuZmlyc3RDaGlsZCwwKSxwLmNvbGxhcHNlKCEwKSx1Py5yZW1vdmVBbGxSYW5nZXMoKSx1Py5hZGRSYW5nZShwKSl9KSxyLm9uRm9jdXMoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PntkPSExLG8uY2xhc3NMaXN0LnJlbW92ZSgiZWRpdGluZyIpLHRoaXMuYXBwbHlIaWdobGlnaHRpbmcoZSx0KSxyLm9uQmx1cigpfSksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsYz0+e3Iub25JbnB1dChjKSx0aGlzLnVwZGF0ZUxpbmVOdW1iZXJzKGUpLGNsZWFyVGltZW91dCh0aGlzLmhpZ2hsaWdodFRpbWVyKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYz0+e2lmKGMua2V5PT09IlRhYiIpe2MucHJldmVudERlZmF1bHQoKTtsZXQgcD13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYocCYmcC5yYW5nZUNvdW50PjApe2xldCB1PXAuZ2V0UmFuZ2VBdCgwKSxtPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgICIpO3UuaW5zZXJ0Tm9kZShtKSx1LnNldFN0YXJ0QWZ0ZXIobSksdS5zZXRFbmRBZnRlcihtKSxwLnJlbW92ZUFsbFJhbmdlcygpLHAuYWRkUmFuZ2UodSksci5vbklucHV0KG5ldyBJbnB1dEV2ZW50KCJpbnB1dCIpKSx0aGlzLnVwZGF0ZUxpbmVOdW1iZXJzKGUpfXJldHVybn1pZihbIkFycm93TGVmdCIsIkFycm93UmlnaHQiLCJBcnJvd1VwIiwiQXJyb3dEb3duIl0uaW5jbHVkZXMoYy5rZXkpKXtsZXQgcD10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpLHU9aS50ZXh0Q29udGVudD8ubGVuZ3RofHwwO2lmKGMua2V5PT09IkFycm93TGVmdCImJnA9PT0wfHxjLmtleT09PSJBcnJvd1JpZ2h0IiYmcD09PXUpe3Iub25LZXlEb3duKGMpO3JldHVybn1pZihjLmtleT09PSJBcnJvd1VwInx8Yy5rZXk9PT0iQXJyb3dEb3duIil7bGV0IG09KGkudGV4dENvbnRlbnR8fCIiKS5zcGxpdChgCmApLHY9dGhpcy5nZXRDdXJyZW50TGluZUluZGV4KGkpO2lmKGMua2V5PT09IkFycm93VXAiJiZ2PT09MHx8Yy5rZXk9PT0iQXJyb3dEb3duIiYmdj09PW0ubGVuZ3RoLTEpe3Iub25LZXlEb3duKGMpO3JldHVybn19fXIub25LZXlEb3duKGMpfSksaS5hZGRFdmVudExpc3RlbmVyKCJwYXN0ZSIsYz0+e2MucHJldmVudERlZmF1bHQoKTtsZXQgcD1jLmNsaXBib2FyZERhdGE/LmdldERhdGEoInRleHQvcGxhaW4iKTtpZihwKXtsZXQgdT13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYodSYmdS5yYW5nZUNvdW50PjApe2xldCBtPXUuZ2V0UmFuZ2VBdCgwKTttLmRlbGV0ZUNvbnRlbnRzKCk7bGV0IHY9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUocCk7bS5pbnNlcnROb2RlKHYpLG0uc2V0U3RhcnRBZnRlcih2KSxtLnNldEVuZEFmdGVyKHYpLHUucmVtb3ZlQWxsUmFuZ2VzKCksdS5hZGRSYW5nZShtKSxyLm9uSW5wdXQobmV3IElucHV0RXZlbnQoImlucHV0IikpLHRoaXMudXBkYXRlTGluZU51bWJlcnMoZSl9fX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9PnIub25Db21wb3NpdGlvblN0YXJ0KCkpLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLCgpPT5yLm9uQ29tcG9zaXRpb25FbmQoKSksdC5jb250ZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09aSYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5hcHBseUhpZ2hsaWdodGluZyhlLHQpfSl9dXBkYXRlTGluZU51bWJlcnMoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKSxyPWUucXVlcnlTZWxlY3RvcigiLmxpbmUtbnVtYmVycyIpO2lmKCF0fHwhcilyZXR1cm47bGV0IG49KHQudGV4dENvbnRlbnR8fCIiKS5zcGxpdChgCmApLmxlbmd0aHx8MSxsPSIiO2ZvcihsZXQgZD0xO2Q8PW47ZCsrKWwrPWA8ZGl2IGNsYXNzPSJsaW5lLW51bWJlciI+JHtkfTwvZGl2PmA7ci5pbm5lckhUTUw9bH1nZXRDdXJyZW50TGluZUluZGV4KGUpe2xldCB0PXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighdHx8dC5yYW5nZUNvdW50PT09MClyZXR1cm4gMDtsZXQgcj10LmdldFJhbmdlQXQoMCksaT1yLmNsb25lUmFuZ2UoKTtyZXR1cm4gaS5zZWxlY3ROb2RlQ29udGVudHMoZSksaS5zZXRFbmQoci5zdGFydENvbnRhaW5lcixyLnN0YXJ0T2Zmc2V0KSxpLnRvU3RyaW5nKCkuc3BsaXQoYApgKS5sZW5ndGgtMX1hc3luYyBhcHBseUhpZ2hsaWdodGluZyhlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik7aWYoIXIpcmV0dXJuO3RoaXMuaGlnaGxpZ2h0SnN8fCh0aGlzLmhpZ2hsaWdodEpzPWF3YWl0IE9zLmdldEluc3RhbmNlKCkubG9hZEhpZ2hsaWdodEpzKCkpO2xldCBpPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSksbz1yLnRleHRDb250ZW50fHwiIixuPXQubWV0YWRhdGE/Lmxhbmd1YWdlfHwidHlwZXNjcmlwdCI7dHJ5e2xldCBsPXRoaXMuaGlnaGxpZ2h0SnMuaGlnaGxpZ2h0KG8se2xhbmd1YWdlOm4saWdub3JlSWxsZWdhbHM6ITB9KTtsLnZhbHVlJiYoci5pbm5lckhUTUw9bC52YWx1ZSxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ciYmaSE9PW51bGwmJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3J0LnNldEN1cnNvclBvc2l0aW9uKHIsaSl9KSl9Y2F0Y2gobCl7Y29uc29sZS53YXJuKCJTeW50YXggaGlnaGxpZ2h0aW5nIGZhaWxlZDoiLGwpfX1lc2NhcGVIdG1sKGUpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LnRleHRDb250ZW50PWUsdC5pbm5lckhUTUx9Z2V0Q29udGVudChlKXtyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKT8udGV4dENvbnRlbnR8fCIifXNldENvbnRlbnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpO2lmKHImJihyLnRleHRDb250ZW50PXQsdGhpcy51cGRhdGVMaW5lTnVtYmVycyhlKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09cikpe2xldCBpPXtpZDpyLmRhdGFzZXQuYmxvY2tJZHx8IiIsdHlwZToiY29kZSIsY29udGVudDp0LG1ldGFkYXRhOntsYW5ndWFnZTplLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtbGFuZ3VhZ2UiKXx8InR5cGVzY3JpcHQifX07dGhpcy5hcHBseUhpZ2hsaWdodGluZyhlLGkpfX1nZXRDdXJzb3JQb3NpdGlvbihlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpO2lmKCF0KXJldHVybiBudWxsO2xldCByPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighcnx8ci5yYW5nZUNvdW50PT09MClyZXR1cm4gbnVsbDtsZXQgaT1yLmdldFJhbmdlQXQoMCk7aWYoIXQuY29udGFpbnMoaS5zdGFydENvbnRhaW5lcikpcmV0dXJuIG51bGw7bGV0IG89ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gby5zZWxlY3ROb2RlQ29udGVudHModCksby5zZXRFbmQoaS5zdGFydENvbnRhaW5lcixpLnN0YXJ0T2Zmc2V0KSxvLnRvU3RyaW5nKCkubGVuZ3RofXNldEN1cnNvclRvU3RhcnQoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTt0JiZydC5zZXRDdXJzb3JQb3NpdGlvbih0LDApfXNldEN1cnNvclRvRW5kKGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik7aWYodCl7bGV0IHI9dC50ZXh0Q29udGVudD8ubGVuZ3RofHwwO3J0LnNldEN1cnNvclBvc2l0aW9uKHQscil9fWZvY3VzKGUpe2UucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik/LmZvY3VzKCl9Zm9jdXNXaXRoQ3Vyc29yKGUsdD0iZW5kIil7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTtyJiYoci5mb2N1cygpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3Q9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydChlKTp0PT09ImVuZCI/dGhpcy5zZXRDdXJzb3JUb0VuZChlKTp0eXBlb2YgdD09Im51bWJlciImJnJ0LnNldEN1cnNvclBvc2l0aW9uKHIsdCl9KSl9Z2V0U3BsaXRDb250ZW50KGUpe2xldCB0PXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7aWYodD09PW51bGwpcmV0dXJuIG51bGw7bGV0IHI9dGhpcy5nZXRDb250ZW50KGUpO3JldHVybntiZWZvcmU6ci5zdWJzdHJpbmcoMCx0KSxhZnRlcjpyLnN1YnN0cmluZyh0KX19Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBDb2RlIEJsb2NrIENvbnRhaW5lciAtIE1pbmltYWxpc3Qgc2hhZGNuIHN0eWxlICovCiAgICAgIC5jb2RlLWJsb2NrLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMTJweCAwOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtYmxvY2stY29udGFpbmVyLnNlbGVjdGVkIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtYmxvY2stY29udGFpbmVyLmVkaXRpbmcgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogSGVhZGVyIC0gU2ltcGxpZmllZCAqLwogICAgICAuY29kZS1oZWFkZXIgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQogICAgICAKICAgICAgLmxhbmd1YWdlLXNlbGVjdG9yIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5sYW5ndWFnZS1zZWxlY3Rvcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5sYW5ndWFnZS1zZWxlY3Rvcjpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIENvcHkgQnV0dG9uIC0gTWluaW1hbCAqLwogICAgICAuY29weS1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb3B5LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb3B5LWJ1dHRvbjphY3RpdmUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb3B5LWJ1dHRvbi5jb3BpZWQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA1OTY2OSIsIiMxMGI5ODEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb3B5LWljb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktYnV0dG9uOmhvdmVyIC5jb3B5LWljb24gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb3B5LXRleHQgewogICAgICAgIG1pbi13aWR0aDogNDBweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIENvZGUgQm9keSAqLwogICAgICAuY29kZS1ib2R5IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIExpbmUgTnVtYmVycyAtIFN1YnRsZSAqLwogICAgICAubGluZS1udW1iZXJzIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDA7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgbWluLXdpZHRoOiA0MHB4OwogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmxpbmUtbnVtYmVyIHsKICAgICAgICBwYWRkaW5nOiAwIDEycHggMCA4cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzRiNTU2MyIpfTsKICAgICAgICBmb250LWZhbWlseTogJHtNZn07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgfQogICAgICAKICAgICAgLyogQ29kZSBDb250ZW50ICovCiAgICAgIC5jb2RlLWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLXByZSB7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBmb250LWZhbWlseTogJHtNZn07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBtaW4taGVpZ2h0OiA2MHB4OwogICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgICB9CiAgICAgIAogICAgICAvKiBQbGFjZWhvbGRlciAqLwogICAgICAuY29kZS1lZGl0b3I6ZW1wdHk6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogIi8vIFR5cGUgb3IgcGFzdGUgY29kZSBoZXJlLi4uIjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNGI1NTYzIil9OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICAgIAogICAgICAvKiBXaGVuIGVkaXRpbmcgKGZvY3VzZWQpLCBzaG93IGdyZXkgdGV4dCB3aXRob3V0IGhpZ2hsaWdodGluZyAqLwogICAgICAuY29kZS1ibG9jay1jb250YWluZXIuZWRpdGluZyAuY29kZS1lZGl0b3IgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX0gIWltcG9ydGFudDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtYmxvY2stY29udGFpbmVyLmVkaXRpbmcgLmNvZGUtZWRpdG9yICogewogICAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFN5bnRheCBIaWdobGlnaHRpbmcgLSBNdXRlZCBjb2xvcnMgKi8KICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWtleXdvcmQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXN0cmluZyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDU5NjY5IiwiIzEwYjk4MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLW51bWJlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjN2MzYWVkIiwiI2E3OGJmYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWZ1bmN0aW9uIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtY29tbWVudCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNmI3MjgwIiwiIzZiNzI4MCIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy12YXJpYWJsZSwKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWF0dHIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2VhNTgwYyIsIiNmYjkyM2MiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1jbGFzcywKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXRpdGxlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1wYXJhbXMgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1idWlsdF9pbiB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjN2MzYWVkIiwiI2E3OGJmYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWxpdGVyYWwgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzdjM2FlZCIsIiNhNzhiZmEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1tZXRhIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtcHVuY3R1YXRpb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzM3NDE1MSIsIiNkMWQ1ZGIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy10YWcgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1hdHRyaWJ1dGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1zZWxlY3Rvci10YWcgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1zZWxlY3Rvci1jbGFzcyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXNlbGVjdG9yLWlkIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3YzNhZWQiLCIjYTc4YmZhIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBTZWxlY3Rpb24gKi8KICAgICAgLmNvZGUtZWRpdG9yOjpzZWxlY3Rpb24sCiAgICAgIC5jb2RlLWVkaXRvciAqOjpzZWxlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDk5LCAxMDIsIDI0MSwgMC4yKSIsInJnYmEoOTksIDEwMiwgMjQxLCAwLjMpIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBTY3JvbGxiYXIgc3R5bGluZyAtIE1pbmltYWwgKi8KICAgICAgLmNvZGUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIGhlaWdodDogNnB4OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2QxZDVkYiIsIiM0YjU1NjMiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICBgfX19KTt2YXIgRFcsSDJhPWYoKCk9PntybigpO2xlKCk7aGMoKTtVMigpO0RXPWNsYXNzIGV4dGVuZHMgaHJ7c3RhdGlje3ModGhpcywiTGlzdEJsb2NrSGFuZGxlciIpfXR5cGU9Imxpc3QiO2xhc3RLbm93bkN1cnNvclBvc2l0aW9uPTA7bGFzdFNlbGVjdGVkVGV4dD0iIjtzZWxlY3Rpb25IYW5kbGVyPW51bGw7cmVuZGVyKGUsdCl7bGV0IHI9dD8iIHNlbGVjdGVkIjoiIixvPShlLm1ldGFkYXRhPy5saXN0VHlwZXx8InVub3JkZXJlZCIpPT09Im9yZGVyZWQiPyJvbCI6InVsIixuPXRoaXMucmVuZGVyTGlzdENvbnRlbnQoZS5jb250ZW50LGUubWV0YWRhdGEpO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayBsaXN0JHtyfSIKICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICBkYXRhLWJsb2NrLXR5cGU9IiR7ZS50eXBlfSIKICAgICAgPiR7bn08L2Rpdj4KICAgIGB9cmVuZGVyTGlzdENvbnRlbnQoZSx0KXtpZighZSlyZXR1cm4iPHVsPjxsaT48L2xpPjwvdWw+IjtsZXQgaT0odD8ubGlzdFR5cGV8fCJ1bm9yZGVyZWQiKT09PSJvcmRlcmVkIj8ib2wiOiJ1bCIsbz1lLnNwbGl0KGAKYCkuZmlsdGVyKGw9PmwudHJpbSgpKTtpZihvLmxlbmd0aD09PTApcmV0dXJuYDwke2l9PjxsaT48L2xpPjwvJHtpfT5gO2xldCBuPW8ubWFwKGw9PmA8bGk+JHtsfTwvbGk+YCkuam9pbigiIik7cmV0dXJuYDwke2l9PiR7bn08LyR7aX0+YH1zZXR1cChlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2subGlzdCIpO2lmKCFpKXtjb25zb2xlLmVycm9yKCJMaXN0QmxvY2tIYW5kbGVyLnNldHVwOiBObyBsaXN0IGJsb2NrIGVsZW1lbnQgZm91bmQiKTtyZXR1cm59dC5jb250ZW50JiYhaS5pbm5lckhUTUwmJihpLmlubmVySFRNTD10aGlzLnJlbmRlckxpc3RDb250ZW50KHQuY29udGVudCx0Lm1ldGFkYXRhKSksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsbz0+e3Iub25JbnB1dChvKTtsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbz0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7aWYobiE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pLG8ua2V5PT09IkVudGVyIiYmIW8uc2hpZnRLZXkpe2xldCBsPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihsJiZsLnJhbmdlQ291bnQ+MCl7bGV0IGM9bC5nZXRSYW5nZUF0KDApLnN0YXJ0Q29udGFpbmVyLnBhcmVudEVsZW1lbnQ/LmNsb3Nlc3QoImxpIik7aWYoYyYmYy50ZXh0Q29udGVudD09PSIiKXtvLnByZXZlbnREZWZhdWx0KCksci5vbktleURvd24obyk7cmV0dXJufX19ci5vbktleURvd24obyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+e3Iub25Gb2N1cygpfSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e3Iub25CbHVyKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uc3RhcnQiLCgpPT57ci5vbkNvbXBvc2l0aW9uU3RhcnQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLCgpPT57ci5vbkNvbXBvc2l0aW9uRW5kKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKSxyLm9uTW91c2VVcD8uKG8pfSksaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbz0+e3NldFRpbWVvdXQoKCk9PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKX0sMCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixvPT57bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249bil9KSx0aGlzLnNldHVwU2VsZWN0aW9uSGFuZGxlcihlLGksdCl9c2V0dXBTZWxlY3Rpb25IYW5kbGVyKGUsdCxyKXtsZXQgaT1zKCgpPT57bGV0IG49d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFufHxuLnJhbmdlQ291bnQ9PT0wKXJldHVybjtsZXQgbD1uLnRvU3RyaW5nKCk7aWYobC5sZW5ndGg9PT0wKXt0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6IiIsYmxvY2tJZDpyLmlkLGhhc1NlbGVjdGlvbjohMX0pKTtyZXR1cm59bGV0IGQ9dC5nZXRSb290Tm9kZSgpLmhvc3QscD1kPy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCx1PWQ/LnNoYWRvd1Jvb3QsbT1bXTtwJiZtLnB1c2gocCksdSYmbS5wdXNoKHUpO2xldCB2PXJ0LmdldFNlbGVjdGlvbkluZm8oLi4ubSk7aWYoIXYpcmV0dXJuO2xldCB4PXJ0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHQsdi5zdGFydENvbnRhaW5lciksYj1ydC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTSh0LHYuZW5kQ29udGFpbmVyKTtpZih4fHxiKXtpZihsIT09dGhpcy5sYXN0U2VsZWN0ZWRUZXh0KXt0aGlzLmxhc3RTZWxlY3RlZFRleHQ9bDtsZXQgZz1ydC5jcmVhdGVSYW5nZUZyb21JbmZvKHYpLHk9Zy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDpsLnRyaW0oKSxibG9ja0lkOnIuaWQscmFuZ2U6ZyxyZWN0OnksaGFzU2VsZWN0aW9uOiEwfSl9fWVsc2UgdGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OiIiLGJsb2NrSWQ6ci5pZCxoYXNTZWxlY3Rpb246ITF9KSl9LCJjaGVja1NlbGVjdGlvbiIpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsaSksdGhpcy5zZWxlY3Rpb25IYW5kbGVyPWk7bGV0IG89dC5nZXRSb290Tm9kZSgpLmhvc3Q7aWYobyl7bGV0IG49by5kaXNjb25uZWN0ZWRDYWxsYmFjayxsPXRoaXM7by5kaXNjb25uZWN0ZWRDYWxsYmFjaz1hc3luYyBmdW5jdGlvbigpe2wuc2VsZWN0aW9uSGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsbC5zZWxlY3Rpb25IYW5kbGVyKSxsLnNlbGVjdGlvbkhhbmRsZXI9bnVsbCksbiYmYXdhaXQgbi5jYWxsKG8pfX19ZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHQpe2xldCByPW5ldyBDdXN0b21FdmVudCgiYmxvY2stdGV4dC1zZWxlY3RlZCIse2RldGFpbDp0LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KTtlLmRpc3BhdGNoRXZlbnQocil9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBMaXN0IHNwZWNpZmljIHN0eWxlcyAqLwogICAgICAuYmxvY2subGlzdCB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQogICAgICAKICAgICAgLmJsb2NrLmxpc3QgdWwsCiAgICAgIC5ibG9jay5saXN0IG9sIHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICAuYmxvY2subGlzdCBsaSB7CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICB9CiAgICAgIAogICAgICAuYmxvY2subGlzdCBsaTpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CiAgICBgfWdldFBsYWNlaG9sZGVyKCl7cmV0dXJuIiJ9Z2V0Q3Vyc29yUG9zaXRpb24oZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7aWYoIXIpcmV0dXJuIG51bGw7bGV0IG49dD8uY29tcG9uZW50Py5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxsPXQ/LnNoYWRvd1Jvb3QsZD1bXTtuJiZkLnB1c2gobiksbCYmZC5wdXNoKGwpO2xldCBjPXJ0LmdldFNlbGVjdGlvbkluZm8oLi4uZCk7aWYoIWN8fCFydC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLGMuc3RhcnRDb250YWluZXIpKXJldHVybiBudWxsO2xldCBwPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHAuc2VsZWN0Tm9kZUNvbnRlbnRzKHIpLHAuc2V0RW5kKGMuc3RhcnRDb250YWluZXIsYy5zdGFydE9mZnNldCkscC50b1N0cmluZygpLmxlbmd0aH1nZXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2subGlzdCIpO2lmKCFyKXJldHVybiIiO2xldCBpPXIucXVlcnlTZWxlY3RvckFsbCgibGkiKTtyZXR1cm4gQXJyYXkuZnJvbShpKS5tYXAobj0+bi50ZXh0Q29udGVudHx8IiIpLmpvaW4oYApgKX1zZXRDb250ZW50KGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7aWYoIWkpcmV0dXJuO2xldCBvPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pLGw9aS5xdWVyeVNlbGVjdG9yKCJ1bCwgb2wiKT8udGFnTmFtZT09PSJPTCI7aS5pbm5lckhUTUw9dGhpcy5yZW5kZXJMaXN0Q29udGVudCh0LHtsaXN0VHlwZTpsPyJvcmRlcmVkIjoidW5vcmRlcmVkIn0pLG8mJmkuZm9jdXMoKX1zZXRDdXJzb3JUb1N0YXJ0KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2subGlzdCIpO2lmKCFyKXJldHVybjtsZXQgaT1yLnF1ZXJ5U2VsZWN0b3IoImxpIik7aWYoaSl7bGV0IG89dGhpcy5nZXRGaXJzdFRleHROb2RlKGkpO2lmKG8pe2xldCBuPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksbD13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7bi5zZXRTdGFydChvLDApLG4uc2V0RW5kKG8sMCksbD8ucmVtb3ZlQWxsUmFuZ2VzKCksbD8uYWRkUmFuZ2Uobil9fX1zZXRDdXJzb3JUb0VuZChlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKTtpZighcilyZXR1cm47bGV0IGk9ci5xdWVyeVNlbGVjdG9yKCJsaTpsYXN0LWNoaWxkIik7aWYoaSl7bGV0IG89dGhpcy5nZXRMYXN0VGV4dE5vZGUoaSk7aWYobyl7bGV0IG49ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxsPXdpbmRvdy5nZXRTZWxlY3Rpb24oKSxkPW8udGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtuLnNldFN0YXJ0KG8sZCksbi5zZXRFbmQobyxkKSxsPy5yZW1vdmVBbGxSYW5nZXMoKSxsPy5hZGRSYW5nZShuKX19fWdldEZpcnN0VGV4dE5vZGUoZSl7aWYoZS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXJldHVybiBlO2ZvcihsZXQgdD0wO3Q8ZS5jaGlsZE5vZGVzLmxlbmd0aDt0Kyspe2xldCByPXRoaXMuZ2V0Rmlyc3RUZXh0Tm9kZShlLmNoaWxkTm9kZXNbdF0pO2lmKHIpcmV0dXJuIHJ9cmV0dXJuIG51bGx9Z2V0TGFzdFRleHROb2RlKGUpe2lmKGUubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSlyZXR1cm4gZTtmb3IobGV0IHQ9ZS5jaGlsZE5vZGVzLmxlbmd0aC0xO3Q+PTA7dC0tKXtsZXQgcj10aGlzLmdldExhc3RUZXh0Tm9kZShlLmNoaWxkTm9kZXNbdF0pO2lmKHIpcmV0dXJuIHJ9cmV0dXJuIG51bGx9Zm9jdXMoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7ciYmKHIuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8ci5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSxyLmZvY3VzKCksZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXImJmUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudCE9PXImJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntyLmZvY3VzKCl9KSl9Zm9jdXNXaXRoQ3Vyc29yKGUsdD0iZW5kIixyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7aWYoIWkpcmV0dXJuO2kuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8aS5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSxpLmZvY3VzKCk7bGV0IG89cygoKT0+e3Q9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydChlLHIpOnQ9PT0iZW5kIj90aGlzLnNldEN1cnNvclRvRW5kKGUscik6dHlwZW9mIHQ9PSJudW1iZXIiJiZ0aGlzLnNldEN1cnNvclRvRW5kKGUscil9LCJzZXRDdXJzb3IiKTtkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aT9vKCk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+eyhkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aSkmJm8oKX0pfWdldFNwbGl0Q29udGVudChlLHQpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0IiksbnVsbH19fSk7dmFyIEFXLHEyYT1mKCgpPT57cm4oKTtsZSgpO0FXPWNsYXNzIGV4dGVuZHMgaHJ7c3RhdGlje3ModGhpcywiSW1hZ2VCbG9ja0hhbmRsZXIiKX10eXBlPSJpbWFnZSI7cmVuZGVyKGUsdCl7bGV0IHI9ZS5tZXRhZGF0YT8udXJsLGk9ZS5jb250ZW50fHwiSW1hZ2UiLG89ZS5tZXRhZGF0YT8ubG9hZGluZztyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9ImltYWdlLWJsb2NrLWNvbnRhaW5lciR7dD8iIHNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgICAgZGF0YS1oYXMtaW1hZ2U9IiR7ISFyfSIKICAgICAgICAgICB0YWJpbmRleD0iMCI+CiAgICAgICAgJHtvP3RoaXMucmVuZGVyTG9hZGluZygpOnI/dGhpcy5yZW5kZXJJbWFnZShyLGkpOnRoaXMucmVuZGVyUGxhY2Vob2xkZXIoKX0KICAgICAgICA8aW5wdXQgdHlwZT0iZmlsZSIgCiAgICAgICAgICAgICAgIGNsYXNzPSJpbWFnZS1maWxlLWlucHV0IiAKICAgICAgICAgICAgICAgYWNjZXB0PSJpbWFnZS8qIiAKICAgICAgICAgICAgICAgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiAvPgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyUGxhY2Vob2xkZXIoKXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9ImltYWdlLXVwbG9hZC1wbGFjZWhvbGRlciIgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiPgogICAgICAgIDxkaXYgY2xhc3M9InVwbG9hZC1pY29uIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7Ij4KICAgICAgICAgIDxzdmcgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+CiAgICAgICAgICAgIDxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiIHJ5PSIyIi8+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjguNSIgY3k9IjguNSIgcj0iMS41Ii8+CiAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjIxIDE1IDE2IDEwIDUgMjEiLz4KICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InVwbG9hZC10ZXh0IiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7Ij5DbGljayB0byB1cGxvYWQgYW4gaW1hZ2U8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ1cGxvYWQtaGludCIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBub25lOyI+b3IgZHJhZyBhbmQgZHJvcDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVySW1hZ2UoZSx0KXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9ImltYWdlLWNvbnRhaW5lciI+CiAgICAgICAgPGltZyBzcmM9IiR7ZX0iIGFsdD0iJHt0aGlzLmVzY2FwZUh0bWwodCl9IiAvPgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyTG9hZGluZygpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iaW1hZ2UtbG9hZGluZyI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1zcGlubmVyIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXRleHQiPlVwbG9hZGluZyBpbWFnZS4uLjwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9c2V0dXAoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmltYWdlLWJsb2NrLWNvbnRhaW5lciIpLG89ZS5xdWVyeVNlbGVjdG9yKCIuaW1hZ2UtZmlsZS1pbnB1dCIpO2lmKCFpKXtjb25zb2xlLmVycm9yKCJJbWFnZUJsb2NrSGFuZGxlcjogQ291bGQgbm90IGZpbmQgY29udGFpbmVyIik7cmV0dXJufWlmKCFvKXtjb25zb2xlLmVycm9yKCJJbWFnZUJsb2NrSGFuZGxlcjogQ291bGQgbm90IGZpbmQgZmlsZSBpbnB1dCIpO3JldHVybn1sZXQgbj1pLnF1ZXJ5U2VsZWN0b3IoIi5pbWFnZS11cGxvYWQtcGxhY2Vob2xkZXIiKTtuJiZuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixsPT57bC5wcmV2ZW50RGVmYXVsdCgpLGwuc3RvcFByb3BhZ2F0aW9uKCksY29uc29sZS5sb2coIkltYWdlQmxvY2tIYW5kbGVyOiBQbGFjZWhvbGRlciBjbGlja2VkLCBvcGVuaW5nIGZpbGUgc2VsZWN0b3IiKSxvLmNsaWNrKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3Iub25Gb2N1cygpfSksby5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGFzeW5jIGw9PntsZXQgYz1sLnRhcmdldC5maWxlcz8uWzBdO2MmJihjb25zb2xlLmxvZygiSW1hZ2VCbG9ja0hhbmRsZXI6IEZpbGUgc2VsZWN0ZWQ6IixjLm5hbWUpLGF3YWl0IHRoaXMuaGFuZGxlRmlsZVVwbG9hZChjLHQscikpfSksaS5hZGRFdmVudExpc3RlbmVyKCJkcmFnb3ZlciIsbD0+e2wucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLHQubWV0YWRhdGE/LnVybHx8aS5jbGFzc0xpc3QuYWRkKCJkcmFnLW92ZXIiKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2xlYXZlIixsPT57bC5wcmV2ZW50RGVmYXVsdCgpLGwuc3RvcFByb3BhZ2F0aW9uKCksaS5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsYXN5bmMgbD0+e2wucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLGkuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyIik7bGV0IGQ9bC5kYXRhVHJhbnNmZXI/LmZpbGVzWzBdO2QmJmQudHlwZS5zdGFydHNXaXRoKCJpbWFnZS8iKSYmIXQubWV0YWRhdGE/LnVybCYmYXdhaXQgdGhpcy5oYW5kbGVGaWxlVXBsb2FkKGQsdCxyKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5yLm9uRm9jdXMoKSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+ci5vbkJsdXIoKSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixsPT57aWYoKGwua2V5PT09IkRlbGV0ZSJ8fGwua2V5PT09IkJhY2tzcGFjZSIpJiZ0Lm1ldGFkYXRhPy51cmwpe3QubWV0YWRhdGEudXJsPXZvaWQgMCx0Lm1ldGFkYXRhLmxvYWRpbmc9ITEsdC5jb250ZW50PSIiLHIub25JbnB1dChuZXcgSW5wdXRFdmVudCgiaW5wdXQiKSk7cmV0dXJufXIub25LZXlEb3duKGwpfSl9YXN5bmMgaGFuZGxlRmlsZVVwbG9hZChlLHQscil7aWYoY29uc29sZS5sb2coIkltYWdlQmxvY2tIYW5kbGVyOiBTdGFydGluZyBmaWxlIHVwbG9hZCIse2ZpbGVOYW1lOmUubmFtZSxmaWxlU2l6ZTplLnNpemUsYmxvY2tJZDp0LmlkfSksIWUudHlwZS5zdGFydHNXaXRoKCJpbWFnZS8iKSl7Y29uc29sZS5lcnJvcigiSW52YWxpZCBmaWxlIHR5cGU6IixlLnR5cGUpO3JldHVybn1sZXQgaT0xMCoxMDI0KjEwMjQ7aWYoZS5zaXplPmkpe2NvbnNvbGUuZXJyb3IoIkZpbGUgdG9vIGxhcmdlLiBNYXhpbXVtIHNpemUgaXMgMTBNQiIpO3JldHVybn10Lm1ldGFkYXRhfHwodC5tZXRhZGF0YT17fSksdC5tZXRhZGF0YS5sb2FkaW5nPSEwLHQubWV0YWRhdGEuZmlsZU5hbWU9ZS5uYW1lLHQubWV0YWRhdGEuZmlsZVNpemU9ZS5zaXplLHQubWV0YWRhdGEubWltZVR5cGU9ZS50eXBlLGNvbnNvbGUubG9nKCJJbWFnZUJsb2NrSGFuZGxlcjogU2V0IGxvYWRpbmcgc3RhdGUsIHJlcXVlc3RpbmcgdXBkYXRlIiksci5vblJlcXVlc3RVcGRhdGU/LigpO3RyeXtsZXQgbz1hd2FpdCB0aGlzLmZpbGVUb0RhdGFVcmwoZSk7dC5tZXRhZGF0YS51cmw9byx0Lm1ldGFkYXRhLmxvYWRpbmc9ITE7bGV0IG49ZS5uYW1lLnJlcGxhY2UoL1wuW14vLl0rJC8sIiIpO3QuY29udGVudD1uLGNvbnNvbGUubG9nKCJJbWFnZUJsb2NrSGFuZGxlcjogVXBsb2FkIGNvbXBsZXRlLCByZXF1ZXN0aW5nIHVwZGF0ZSIse2hhc1VybDohIXQubWV0YWRhdGEudXJsLHVybExlbmd0aDpvLmxlbmd0aCxhbHRUZXh0OnQuY29udGVudH0pLHIub25SZXF1ZXN0VXBkYXRlPy4oKX1jYXRjaChvKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gdXBsb2FkIGltYWdlOiIsbyksdC5tZXRhZGF0YS5sb2FkaW5nPSExLHIub25SZXF1ZXN0VXBkYXRlPy4oKX19ZmlsZVRvRGF0YVVybChlKXtyZXR1cm4gbmV3IFByb21pc2UoKHQscik9PntsZXQgaT1uZXcgRmlsZVJlYWRlcjtpLm9ubG9hZD1vPT57bGV0IG49by50YXJnZXQ/LnJlc3VsdDt0eXBlb2Ygbj09InN0cmluZyI/dChuKTpyKG5ldyBFcnJvcigiRmFpbGVkIHRvIHJlYWQgZmlsZSIpKX0saS5vbmVycm9yPXIsaS5yZWFkQXNEYXRhVVJMKGUpfSl9ZXNjYXBlSHRtbChlKXtsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC50ZXh0Q29udGVudD1lLHQuaW5uZXJIVE1MfWdldENvbnRlbnQoZSl7cmV0dXJuIHRoaXMuZ2V0QmxvY2tGcm9tRWxlbWVudChlKT8uY29udGVudHx8IiJ9c2V0Q29udGVudChlLHQpe2xldCByPXRoaXMuZ2V0QmxvY2tGcm9tRWxlbWVudChlKTtyJiYoci5jb250ZW50PXQpfWdldEJsb2NrRnJvbUVsZW1lbnQoZSl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuaW1hZ2UtYmxvY2stY29udGFpbmVyIik/LmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpO3JldHVybiByP3tpZDpyLHR5cGU6ImltYWdlIixjb250ZW50OiIiLG1ldGFkYXRhOnt9fTpudWxsfWdldEN1cnNvclBvc2l0aW9uKGUpe3JldHVybiBudWxsfXNldEN1cnNvclRvU3RhcnQoZSl7dGhpcy5mb2N1cyhlKX1zZXRDdXJzb3JUb0VuZChlKXt0aGlzLmZvY3VzKGUpfWZvY3VzKGUpe2UucXVlcnlTZWxlY3RvcigiLmltYWdlLWJsb2NrLWNvbnRhaW5lciIpPy5mb2N1cygpfWZvY3VzV2l0aEN1cnNvcihlLHQ9ImVuZCIpe3RoaXMuZm9jdXMoZSl9Z2V0U3BsaXRDb250ZW50KGUpe3JldHVybiBudWxsfWdldFN0eWxlcygpe3JldHVybmAKICAgICAgLyogSW1hZ2UgQmxvY2sgQ29udGFpbmVyICovCiAgICAgIC5pbWFnZS1ibG9jay1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IDEycHggMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQogICAgICAKICAgICAgLmltYWdlLWJsb2NrLWNvbnRhaW5lci5zZWxlY3RlZCB7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCIjNjM2NmYxIiwiIzgxOGNmOCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogVXBsb2FkIFBsYWNlaG9sZGVyICovCiAgICAgIC5pbWFnZS11cGxvYWQtcGxhY2Vob2xkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICBib3JkZXI6IDJweCBkYXNoZWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KICAgICAgCiAgICAgIC5pbWFnZS1ibG9jay1jb250YWluZXI6aG92ZXIgLmltYWdlLXVwbG9hZC1wbGFjZWhvbGRlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMTExODI3Iil9OwogICAgICB9CiAgICAgIAogICAgICAuaW1hZ2UtYmxvY2stY29udGFpbmVyLmRyYWctb3ZlciAuaW1hZ2UtdXBsb2FkLXBsYWNlaG9sZGVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjNjM2NmYxIiwiIzgxOGNmOCIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VmZjZmZiIsIiMxZTFiNGIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC51cGxvYWQtaWNvbiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNGI1NTYzIil9OwogICAgICB9CiAgICAgIAogICAgICAudXBsb2FkLXRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CiAgICAgIAogICAgICAudXBsb2FkLWhpbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBJbWFnZSBDb250YWluZXIgKi8KICAgICAgLmltYWdlLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzExMTgyNyIpfTsKICAgICAgfQogICAgICAKICAgICAgLmltYWdlLWNvbnRhaW5lciBpbWcgewogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB9CiAgICAgIAogICAgICAvKiBMb2FkaW5nIFN0YXRlICovCiAgICAgIC5pbWFnZS1sb2FkaW5nIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICB9CiAgICAgIAogICAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7aC5iZFRoZW1lKCIjNjM2NmYxIiwiIzgxOGNmOCIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlOwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KICAgICAgCiAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgIH0KICAgICAgCiAgICAgIC5sb2FkaW5nLXRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBGaWxlIGlucHV0IGhpZGRlbiAqLwogICAgICAuaW1hZ2UtZmlsZS1pbnB1dCB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CiAgICBgfX19KTt2YXIgUFcsVjJhPWYoKCk9PntybigpO2xlKCk7UFc9Y2xhc3MgZXh0ZW5kcyBocntzdGF0aWN7cyh0aGlzLCJZb3VUdWJlQmxvY2tIYW5kbGVyIil9dHlwZT0ieW91dHViZSI7cmVuZGVyKGUsdCl7bGV0IHI9ZS5tZXRhZGF0YT8udmlkZW9JZCxpPWUubWV0YWRhdGE/LnVybHx8IiI7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJ5b3V0dWJlLWJsb2NrLWNvbnRhaW5lciR7dD8iIHNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgICAgZGF0YS1oYXMtdmlkZW89IiR7ISFyfSI+CiAgICAgICAgJHtyP3RoaXMucmVuZGVyVmlkZW8ocik6dGhpcy5yZW5kZXJQbGFjZWhvbGRlcihpKX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclBsYWNlaG9sZGVyKGUpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0ieW91dHViZS1wbGFjZWhvbGRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0icGxhY2Vob2xkZXItaWNvbiI+CiAgICAgICAgICA8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTkuNjE1IDMuMTg0Yy0zLjYwNC0uMjQ2LTExLjYzMS0uMjQ1LTE1LjIzIDAtMy44OTcuMjY2LTQuMzU2IDIuNjItNC4zODUgOC44MTYuMDI5IDYuMTg1LjQ4NCA4LjU0OSA0LjM4NSA4LjgxNiAzLjYuMjQ1IDExLjYyNi4yNDYgMTUuMjMgMCAzLjg5Ny0uMjY2IDQuMzU2LTIuNjIgNC4zODUtOC44MTYtLjAyOS02LjE4NS0uNDg0LTguNTQ5LTQuMzg1LTguODE2em0tMTAuNjE1IDEyLjgxNnYtOGw4IDMuOTkzLTggNC4wMDd6Ii8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGFjZWhvbGRlci10ZXh0Ij5FbnRlciBZb3VUdWJlIFVSTDwvZGl2PgogICAgICAgIDxpbnB1dCB0eXBlPSJ1cmwiIAogICAgICAgICAgICAgICBjbGFzcz0ieW91dHViZS11cmwtaW5wdXQiIAogICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iaHR0cHM6Ly95b3V0dWJlLmNvbS93YXRjaD92PS4uLiIgCiAgICAgICAgICAgICAgIHZhbHVlPSIke3RoaXMuZXNjYXBlSHRtbChlKX0iIC8+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0ieW91dHViZS1lbWJlZC1idG4iPkVtYmVkIFZpZGVvPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJWaWRlbyhlKXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9InlvdXR1YmUtY29udGFpbmVyIj4KICAgICAgICA8aWZyYW1lIAogICAgICAgICAgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke2V9IgogICAgICAgICAgZnJhbWVib3JkZXI9IjAiCiAgICAgICAgICBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZSIKICAgICAgICAgIGFsbG93ZnVsbHNjcmVlbgogICAgICAgID48L2lmcmFtZT4KICAgICAgPC9kaXY+CiAgICBgfXNldHVwKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi55b3V0dWJlLWJsb2NrLWNvbnRhaW5lciIpO2lmKCFpKXJldHVybjtpZih0Lm1ldGFkYXRhPy52aWRlb0lkKXtpLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCIwIiksaS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PnIub25Gb2N1cygpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5yLm9uQmx1cigpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGw9PnsobC5rZXk9PT0iRGVsZXRlInx8bC5rZXk9PT0iQmFja3NwYWNlIikmJmwucHJldmVudERlZmF1bHQoKSxyLm9uS2V5RG93bihsKX0pO3JldHVybn1sZXQgbz1lLnF1ZXJ5U2VsZWN0b3IoIi55b3V0dWJlLXVybC1pbnB1dCIpLG49ZS5xdWVyeVNlbGVjdG9yKCIueW91dHViZS1lbWJlZC1idG4iKTshb3x8IW58fChvLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+ci5vbkZvY3VzKCkpLG8uYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PnIub25CbHVyKCkpLG4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dGhpcy5lbWJlZFZpZGVvKG8udmFsdWUsdCxyKX0pLG8uYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbD0+e2wua2V5PT09IkVudGVyIj8obC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZW1iZWRWaWRlbyhvLnZhbHVlLHQscikpOmwua2V5PT09IkVzY2FwZSImJihsLnByZXZlbnREZWZhdWx0KCksby5ibHVyKCkpfSksby5hZGRFdmVudExpc3RlbmVyKCJwYXN0ZSIsbD0+e3NldFRpbWVvdXQoKCk9PntsZXQgZD1vLnZhbHVlO3RoaXMuZXh0cmFjdFlvdVR1YmVWaWRlb0lkKGQpJiZ0aGlzLmVtYmVkVmlkZW8oZCx0LHIpfSwwKX0pLG8uYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCgpPT57dC5tZXRhZGF0YXx8KHQubWV0YWRhdGE9e30pLHQubWV0YWRhdGEudXJsPW8udmFsdWV9KSl9ZW1iZWRWaWRlbyhlLHQscil7bGV0IGk9dGhpcy5leHRyYWN0WW91VHViZVZpZGVvSWQoZSk7aWYoIWkpe2NvbnNvbGUuZXJyb3IoIkludmFsaWQgWW91VHViZSBVUkwiKTtyZXR1cm59dC5tZXRhZGF0YXx8KHQubWV0YWRhdGE9e30pLHQubWV0YWRhdGEudmlkZW9JZD1pLHQubWV0YWRhdGEudXJsPWUsdC5jb250ZW50PWBZb3VUdWJlIFZpZGVvOiAke2l9YCxyLm9uUmVxdWVzdFVwZGF0ZT8uKCl9ZXh0cmFjdFlvdVR1YmVWaWRlb0lkKGUpe2xldCB0PVsvKD86eW91dHViZVwuY29tXC8oPzpbXlwvXStcLy4rXC98KD86dnxlKD86bWJlZCk/KVwvfC4qWz8mXXY9KXx5b3V0dVwuYmVcLykoW14iJj9cLyBdezExfSkvLC95b3V0dWJlXC5jb21cL2VtYmVkXC8oW14iJj9cLyBdezExfSkvLC95b3V0dWJlXC5jb21cL3dhdGNoXD92PShbXiImP1wvIF17MTF9KS8sL3lvdXR1XC5iZVwvKFteIiY/XC8gXXsxMX0pL107Zm9yKGxldCByIG9mIHQpe2xldCBpPWUubWF0Y2gocik7aWYoaSlyZXR1cm4gaVsxXX1yZXR1cm4gbnVsbH1lc2NhcGVIdG1sKGUpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LnRleHRDb250ZW50PWUsdC5pbm5lckhUTUx9Z2V0Q29udGVudChlKXtyZXR1cm4gdGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KGUpPy5jb250ZW50fHwiIn1zZXRDb250ZW50KGUsdCl7bGV0IHI9dGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KGUpO3ImJihyLmNvbnRlbnQ9dCl9Z2V0QmxvY2tGcm9tRWxlbWVudChlKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi55b3V0dWJlLWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKTtyZXR1cm4gcj97aWQ6cix0eXBlOiJ5b3V0dWJlIixjb250ZW50OiIiLG1ldGFkYXRhOnt9fTpudWxsfWdldEN1cnNvclBvc2l0aW9uKGUpe3JldHVybiBudWxsfXNldEN1cnNvclRvU3RhcnQoZSl7dGhpcy5mb2N1cyhlKX1zZXRDdXJzb3JUb0VuZChlKXt0aGlzLmZvY3VzKGUpfWZvY3VzKGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLnlvdXR1YmUtYmxvY2stY29udGFpbmVyIikscj1lLnF1ZXJ5U2VsZWN0b3IoIi55b3V0dWJlLXVybC1pbnB1dCIpO3I/ci5mb2N1cygpOnQmJnQuZm9jdXMoKX1mb2N1c1dpdGhDdXJzb3IoZSx0PSJlbmQiKXt0aGlzLmZvY3VzKGUpfWdldFNwbGl0Q29udGVudChlKXtyZXR1cm4gbnVsbH1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIFlvdVR1YmUgQmxvY2sgQ29udGFpbmVyICovCiAgICAgIC55b3V0dWJlLWJsb2NrLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMTJweCAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC55b3V0dWJlLWJsb2NrLWNvbnRhaW5lci5zZWxlY3RlZCB7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCIjNjM2NmYxIiwiIzgxOGNmOCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogWW91VHViZSBQbGFjZWhvbGRlciAqLwogICAgICAueW91dHViZS1wbGFjZWhvbGRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMzJweCAyNHB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQogICAgICAKICAgICAgLnBsYWNlaG9sZGVyLWljb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICB9CiAgICAgIAogICAgICAucGxhY2Vob2xkZXItdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtdXJsLWlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDQwMHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTExODI3Iil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIHNhbnMtc2VyaWY7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtdXJsLWlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxZjI5MzciKX07CiAgICAgIH0KICAgICAgCiAgICAgIC55b3V0dWJlLXVybC1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM0YjU1NjMiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC55b3V0dWJlLWVtYmVkLWJ0biB7CiAgICAgICAgcGFkZGluZzogNnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxMTE4MjciKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIHNhbnMtc2VyaWY7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC55b3V0dWJlLWVtYmVkLWJ0bjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICB9CiAgICAgIAogICAgICAueW91dHViZS1lbWJlZC1idG46YWN0aXZlIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpOwogICAgICB9CiAgICAgIAogICAgICAvKiBZb3VUdWJlIENvbnRhaW5lciAqLwogICAgICAueW91dHViZS1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvKiAxNjo5IGFzcGVjdCByYXRpbyAqLwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMDAwMDAwIiwiIzAwMDAwMCIpfTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtY29udGFpbmVyIGlmcmFtZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3JkZXI6IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICB9CiAgICBgfX19KTt2YXIgRVcsajJhPWYoKCk9PntybigpO2xlKCk7RVc9Y2xhc3MgZXh0ZW5kcyBocntzdGF0aWN7cyh0aGlzLCJBdHRhY2htZW50QmxvY2tIYW5kbGVyIil9dHlwZT0iYXR0YWNobWVudCI7cmVuZGVyKGUsdCl7bGV0IHI9ZS5tZXRhZGF0YT8uZmlsZXN8fFtdO3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iYXR0YWNobWVudC1ibG9jay1jb250YWluZXIke3Q/IiBzZWxlY3RlZCI6IiJ9IiAKICAgICAgICAgICBkYXRhLWJsb2NrLWlkPSIke2UuaWR9IgogICAgICAgICAgIHRhYmluZGV4PSIwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LWljb24iPlx1ezFGNENFfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iYXR0YWNobWVudC10aXRsZSI+RmlsZSBBdHRhY2htZW50czwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImF0dGFjaG1lbnQtbGlzdCI+CiAgICAgICAgICAke3IubGVuZ3RoPjA/dGhpcy5yZW5kZXJGaWxlcyhyKTp0aGlzLnJlbmRlclBsYWNlaG9sZGVyKCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGlucHV0IHR5cGU9ImZpbGUiIAogICAgICAgICAgICAgICBjbGFzcz0iYXR0YWNobWVudC1maWxlLWlucHV0IiAKICAgICAgICAgICAgICAgbXVsdGlwbGUgCiAgICAgICAgICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgLz4KICAgICAgICAke3IubGVuZ3RoPjA/JzxidXR0b24gY2xhc3M9ImFkZC1tb3JlLWZpbGVzIj5BZGQgTW9yZSBGaWxlczwvYnV0dG9uPic6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJQbGFjZWhvbGRlcigpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iYXR0YWNobWVudC1wbGFjZWhvbGRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0icGxhY2Vob2xkZXItdGV4dCI+Q2xpY2sgdG8gYWRkIGZpbGVzPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icGxhY2Vob2xkZXItaGludCI+b3IgZHJhZyBhbmQgZHJvcDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRmlsZXMoZSl7cmV0dXJuIGUubWFwKHQ9PmAKICAgICAgPGRpdiBjbGFzcz0iYXR0YWNobWVudC1pdGVtIiBkYXRhLWZpbGUtaWQ9IiR7dC5pZH0iPgogICAgICAgIDxkaXYgY2xhc3M9ImZpbGUtaWNvbiI+JHt0aGlzLmdldEZpbGVJY29uKHQudHlwZSl9PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1pbmZvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZpbGUtbmFtZSI+JHt0aGlzLmVzY2FwZUh0bWwodC5uYW1lKX08L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZpbGUtc2l6ZSI+JHt0aGlzLmZvcm1hdEZpbGVTaXplKHQuc2l6ZSl9PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0icmVtb3ZlLWZpbGUiIGRhdGEtZmlsZS1pZD0iJHt0LmlkfSI+XHhENzwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIGApLmpvaW4oIiIpfXNldHVwKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5hdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lciIpLG89ZS5xdWVyeVNlbGVjdG9yKCIuYXR0YWNobWVudC1maWxlLWlucHV0Iik7aWYoIWl8fCFvKXtjb25zb2xlLmVycm9yKCJBdHRhY2htZW50QmxvY2tIYW5kbGVyOiBDb3VsZCBub3QgZmluZCByZXF1aXJlZCBlbGVtZW50cyIpO3JldHVybn10Lm1ldGFkYXRhfHwodC5tZXRhZGF0YT17fSksdC5tZXRhZGF0YS5maWxlc3x8KHQubWV0YWRhdGEuZmlsZXM9W10pO2xldCBuPWkucXVlcnlTZWxlY3RvcigiLmF0dGFjaG1lbnQtcGxhY2Vob2xkZXIiKTtuJiZuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixkPT57ZC5wcmV2ZW50RGVmYXVsdCgpLGQuc3RvcFByb3BhZ2F0aW9uKCksby5jbGljaygpfSk7bGV0IGw9aS5xdWVyeVNlbGVjdG9yKCIuYWRkLW1vcmUtZmlsZXMiKTtsJiZsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixkPT57ZC5wcmV2ZW50RGVmYXVsdCgpLGQuc3RvcFByb3BhZ2F0aW9uKCksby5jbGljaygpfSksby5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGFzeW5jIGQ9PntsZXQgYz1kLnRhcmdldCxwPWMuZmlsZXM7cCYmcC5sZW5ndGg+MCYmKGF3YWl0IHRoaXMuaGFuZGxlRmlsZUF0dGFjaG1lbnRzKHAsdCxyKSxjLnZhbHVlPSIiKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGQ9PntsZXQgYz1kLnRhcmdldDtpZihjLmNsYXNzTGlzdC5jb250YWlucygicmVtb3ZlLWZpbGUiKSl7ZC5wcmV2ZW50RGVmYXVsdCgpLGQuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IHA9Yy5nZXRBdHRyaWJ1dGUoImRhdGEtZmlsZS1pZCIpO3AmJnRoaXMucmVtb3ZlRmlsZShwLHQscil9fSksaS5hZGRFdmVudExpc3RlbmVyKCJkcmFnb3ZlciIsZD0+e2QucHJldmVudERlZmF1bHQoKSxkLnN0b3BQcm9wYWdhdGlvbigpLGkuY2xhc3NMaXN0LmFkZCgiZHJhZy1vdmVyIil9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdsZWF2ZSIsZD0+e2QucHJldmVudERlZmF1bHQoKSxkLnN0b3BQcm9wYWdhdGlvbigpLGkuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyIil9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLGFzeW5jIGQ9PntkLnByZXZlbnREZWZhdWx0KCksZC5zdG9wUHJvcGFnYXRpb24oKSxpLmNsYXNzTGlzdC5yZW1vdmUoImRyYWctb3ZlciIpO2xldCBjPWQuZGF0YVRyYW5zZmVyPy5maWxlcztjJiZjLmxlbmd0aD4wJiZhd2FpdCB0aGlzLmhhbmRsZUZpbGVBdHRhY2htZW50cyhjLHQscil9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+ci5vbkZvY3VzKCkpLGkuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PnIub25CbHVyKCkpLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZD0+e2lmKChkLmtleT09PSJEZWxldGUifHxkLmtleT09PSJCYWNrc3BhY2UiKSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWkmJnQubWV0YWRhdGE/LmZpbGVzPy5sZW5ndGg+MCl7ZC5wcmV2ZW50RGVmYXVsdCgpLHQubWV0YWRhdGEuZmlsZXM9W10sci5vblJlcXVlc3RVcGRhdGU/LigpO3JldHVybn1yLm9uS2V5RG93bihkKX0pfWFzeW5jIGhhbmRsZUZpbGVBdHRhY2htZW50cyhlLHQscil7dC5tZXRhZGF0YXx8KHQubWV0YWRhdGE9e30pLHQubWV0YWRhdGEuZmlsZXN8fCh0Lm1ldGFkYXRhLmZpbGVzPVtdKTtmb3IobGV0IGkgb2YgQXJyYXkuZnJvbShlKSl0cnl7bGV0IG89YXdhaXQgdGhpcy5maWxlVG9EYXRhVXJsKGkpLG49e2lkOnRoaXMuZ2VuZXJhdGVJZCgpLG5hbWU6aS5uYW1lLHNpemU6aS5zaXplLHR5cGU6aS50eXBlLGRhdGE6b307dC5tZXRhZGF0YS5maWxlcy5wdXNoKG4pfWNhdGNoKG8pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBhdHRhY2ggZmlsZToiLGkubmFtZSxvKX10LmNvbnRlbnQ9YCR7dC5tZXRhZGF0YS5maWxlcy5sZW5ndGh9IGZpbGUke3QubWV0YWRhdGEuZmlsZXMubGVuZ3RoIT09MT8icyI6IiJ9IGF0dGFjaGVkYCxyLm9uUmVxdWVzdFVwZGF0ZT8uKCl9cmVtb3ZlRmlsZShlLHQscil7dC5tZXRhZGF0YT8uZmlsZXMmJih0Lm1ldGFkYXRhLmZpbGVzPXQubWV0YWRhdGEuZmlsZXMuZmlsdGVyKGk9PmkuaWQhPT1lKSx0LmNvbnRlbnQ9dC5tZXRhZGF0YS5maWxlcy5sZW5ndGg+MD9gJHt0Lm1ldGFkYXRhLmZpbGVzLmxlbmd0aH0gZmlsZSR7dC5tZXRhZGF0YS5maWxlcy5sZW5ndGghPT0xPyJzIjoiIn0gYXR0YWNoZWRgOiIiLHIub25SZXF1ZXN0VXBkYXRlPy4oKSl9ZmlsZVRvRGF0YVVybChlKXtyZXR1cm4gbmV3IFByb21pc2UoKHQscik9PntsZXQgaT1uZXcgRmlsZVJlYWRlcjtpLm9ubG9hZD1vPT57bGV0IG49by50YXJnZXQ/LnJlc3VsdDt0eXBlb2Ygbj09InN0cmluZyI/dChuKTpyKG5ldyBFcnJvcigiRmFpbGVkIHRvIHJlYWQgZmlsZSIpKX0saS5vbmVycm9yPXIsaS5yZWFkQXNEYXRhVVJMKGUpfSl9Z2V0RmlsZUljb24oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiaW1hZ2UvIik/Ilx1ezFGNUJDfVx1RkUwRiI6ZS5zdGFydHNXaXRoKCJ2aWRlby8iKT8iXHV7MUYzQTV9IjplLnN0YXJ0c1dpdGgoImF1ZGlvLyIpPyJcdXsxRjNCNX0iOmUuaW5jbHVkZXMoInBkZiIpPyJcdXsxRjRDNH0iOmUuaW5jbHVkZXMoInppcCIpfHxlLmluY2x1ZGVzKCJyYXIiKXx8ZS5pbmNsdWRlcygidGFyIik/Ilx1ezFGNUM0fVx1RkUwRiI6ZS5pbmNsdWRlcygic2hlZXQiKT8iXHV7MUY0Q0F9IjplLmluY2x1ZGVzKCJkb2N1bWVudCIpfHxlLmluY2x1ZGVzKCJtc3dvcmQiKT8iXHV7MUY0RER9IjplLmluY2x1ZGVzKCJwcmVzZW50YXRpb24iKT8iXHV7MUY0Q0J9IjplLmluY2x1ZGVzKCJ0ZXh0Iik/Ilx1ezFGNEMzfSI6Ilx1ezFGNEMxfSJ9Zm9ybWF0RmlsZVNpemUoZSl7aWYoZT09PTApcmV0dXJuIjAgQnl0ZXMiO2xldCB0PTEwMjQscj1bIkJ5dGVzIiwiS0IiLCJNQiIsIkdCIl0saT1NYXRoLmZsb29yKE1hdGgubG9nKGUpL01hdGgubG9nKHQpKTtyZXR1cm4gcGFyc2VGbG9hdCgoZS9NYXRoLnBvdyh0LGkpKS50b0ZpeGVkKDIpKSsiICIrcltpXX1nZW5lcmF0ZUlkKCl7cmV0dXJuYGZpbGUtJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLDkpfWB9ZXNjYXBlSHRtbChlKXtsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC50ZXh0Q29udGVudD1lLHQuaW5uZXJIVE1MfWdldENvbnRlbnQoZSl7cmV0dXJuIHRoaXMuZ2V0QmxvY2tGcm9tRWxlbWVudChlKT8uY29udGVudHx8IiJ9c2V0Q29udGVudChlLHQpe2xldCByPXRoaXMuZ2V0QmxvY2tGcm9tRWxlbWVudChlKTtyJiYoci5jb250ZW50PXQpfWdldEJsb2NrRnJvbUVsZW1lbnQoZSl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYXR0YWNobWVudC1ibG9jay1jb250YWluZXIiKT8uZ2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIik7cmV0dXJuIHI/e2lkOnIsdHlwZToiYXR0YWNobWVudCIsY29udGVudDoiIixtZXRhZGF0YTp7fX06bnVsbH1nZXRDdXJzb3JQb3NpdGlvbihlKXtyZXR1cm4gbnVsbH1zZXRDdXJzb3JUb1N0YXJ0KGUpe3RoaXMuZm9jdXMoZSl9c2V0Q3Vyc29yVG9FbmQoZSl7dGhpcy5mb2N1cyhlKX1mb2N1cyhlKXtlLnF1ZXJ5U2VsZWN0b3IoIi5hdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lciIpPy5mb2N1cygpfWZvY3VzV2l0aEN1cnNvcihlLHQ9ImVuZCIpe3RoaXMuZm9jdXMoZSl9Z2V0U3BsaXRDb250ZW50KGUpe3JldHVybiBudWxsfWdldFN0eWxlcygpe3JldHVybmAKICAgICAgLyogQXR0YWNobWVudCBCbG9jayBDb250YWluZXIgKi8KICAgICAgLmF0dGFjaG1lbnQtYmxvY2stY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAxMnB4IDA7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTExODI3Iil9OwogICAgICB9CiAgICAgIAogICAgICAuYXR0YWNobWVudC1ibG9jay1jb250YWluZXIuc2VsZWN0ZWQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAuYXR0YWNobWVudC1ibG9jay1jb250YWluZXIuZHJhZy1vdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzYzNjZmMSIsIiM4MThjZjgiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEhlYWRlciAqLwogICAgICAuYXR0YWNobWVudC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMwYTBhMGEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5hdHRhY2htZW50LWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KICAgICAgCiAgICAgIC5hdHRhY2htZW50LXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBGaWxlIExpc3QgKi8KICAgICAgLmF0dGFjaG1lbnQtbGlzdCB7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CiAgICAgIAogICAgICAvKiBQbGFjZWhvbGRlciAqLwogICAgICAuYXR0YWNobWVudC1wbGFjZWhvbGRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KICAgICAgCiAgICAgIC5hdHRhY2htZW50LXBsYWNlaG9sZGVyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5wbGFjZWhvbGRlci10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5wbGFjZWhvbGRlci1oaW50IHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogRmlsZSBJdGVtcyAqLwogICAgICAuYXR0YWNobWVudC1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAuYXR0YWNobWVudC1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2YzZjRmNiIsIiMzNzQxNTEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5maWxlLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQogICAgICAKICAgICAgLmZpbGUtaW5mbyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5maWxlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CiAgICAgIAogICAgICAuZmlsZS1zaXplIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5yZW1vdmUtZmlsZSB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgd2lkdGg6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfTsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5yZW1vdmUtZmlsZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCIjOTkxYjFiIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNmY2E1YTUiLCIjZGMyNjI2Iil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmY2E1YTUiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEFkZCBNb3JlIEZpbGVzIEJ1dHRvbiAqLwogICAgICAuYWRkLW1vcmUtZmlsZXMgewogICAgICAgIG1hcmdpbjogOHB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIHNhbnMtc2VyaWY7CiAgICAgIH0KICAgICAgCiAgICAgIC5hZGQtbW9yZS1maWxlczpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNGI1NTYzIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBIaWRkZW4gZmlsZSBpbnB1dCAqLwogICAgICAuYXR0YWNobWVudC1maWxlLWlucHV0IHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgIGB9fX0pO3ZhciBJVyxVMmE9ZigoKT0+e3JuKCk7bGUoKTtJVz1jbGFzcyBleHRlbmRzIGhye3N0YXRpY3tzKHRoaXMsIkRpdmlkZXJCbG9ja0hhbmRsZXIiKX10eXBlPSJkaXZpZGVyIjtyZW5kZXIoZSx0KXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9ImJsb2NrIGRpdmlkZXIke3Q/IiBzZWxlY3RlZCI6IiJ9IiBkYXRhLWJsb2NrLWlkPSIke2UuaWR9IiBkYXRhLWJsb2NrLXR5cGU9IiR7ZS50eXBlfSIgdGFiaW5kZXg9IjAiPgogICAgICAgIDxocj4KICAgICAgPC9kaXY+CiAgICBgfXNldHVwKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5kaXZpZGVyIik7aSYmKGkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG89PntvLnN0b3BQcm9wYWdhdGlvbigpLGkuZm9jdXMoKSxyLm9uRm9jdXM/LigpfSksaS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PntyLm9uRm9jdXM/LigpfSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e3Iub25CbHVyPy4oKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbz0+eyhvLmtleT09PSJCYWNrc3BhY2UifHxvLmtleT09PSJEZWxldGUiKSYmby5wcmV2ZW50RGVmYXVsdCgpLHIub25LZXlEb3duPy4obyl9KSl9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAuYmxvY2suZGl2aWRlciB7CiAgICAgICAgcGFkZGluZzogOHB4IDA7CiAgICAgICAgbWFyZ2luOiAxNnB4IDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5ibG9jay5kaXZpZGVyOmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAuYmxvY2suZGl2aWRlci5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMTAyLCAyMDQsIDAuMDUpIiwicmdiYSg3NywgMTQ4LCAyNTUsIDAuMDgpIil9OwogICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAke2guYmRUaGVtZSgicmdiYSgwLCAxMDIsIDIwNCwgMC4yKSIsInJnYmEoNzcsIDE0OCwgMjU1LCAwLjIpIil9OwogICAgICB9CgogICAgICAuYmxvY2suZGl2aWRlciBociB7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2UwZTBlMCIsIiMzMzMiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICBgfX19KTt2YXIgTlcsVzJhPWYoKCk9PntybigpO2xlKCk7Tlc9Y2xhc3MgZXh0ZW5kcyBocntzdGF0aWN7cyh0aGlzLCJNYXJrZG93bkJsb2NrSGFuZGxlciIpfXR5cGU9Im1hcmtkb3duIjtyZW5kZXIoZSx0KXtsZXQgcj1lLm1ldGFkYXRhPy5pc0VkaXRNb2RlPz8hMCxpPWUuY29udGVudHx8IiI7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJtYXJrZG93bi1ibG9jay1jb250YWluZXIke3Q/IiBzZWxlY3RlZCI6IiJ9IiAKICAgICAgICAgICBkYXRhLWJsb2NrLWlkPSIke2UuaWR9IgogICAgICAgICAgIGRhdGEtZWRpdC1tb2RlPSIke3J9Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJtYXJrZG93bi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24taWNvbiI+TVx1MjE5MzwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tdGl0bGUiPk1hcmtkb3duPC9kaXY+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJtYXJrZG93bi10b2dnbGUtbW9kZSIgdGl0bGU9IiR7cj8iUHJldmlldyI6IkVkaXQifSI+CiAgICAgICAgICAgICR7cj8iXHV7MUY0NDF9XHVGRTBGIjoiXHUyNzBGXHVGRTBGIn0KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWNvbnRlbnQiPgogICAgICAgICAgJHtyP3RoaXMucmVuZGVyRWRpdG9yKGkpOnRoaXMucmVuZGVyUHJldmlldyhpKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckVkaXRvcihlKXtyZXR1cm5gCiAgICAgIDx0ZXh0YXJlYSBjbGFzcz0ibWFya2Rvd24tZWRpdG9yIiAKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJFbnRlciBtYXJrZG93biBjb250ZW50Li4uIgogICAgICAgICAgICAgICAgc3BlbGxjaGVjaz0iZmFsc2UiPiR7dGhpcy5lc2NhcGVIdG1sKGUpfTwvdGV4dGFyZWE+CiAgICBgfXJlbmRlclByZXZpZXcoZSl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJtYXJrZG93bi1wcmV2aWV3Ij4KICAgICAgICAke3RoaXMucGFyc2VNYXJrZG93bihlKXx8JzxkaXYgY2xhc3M9InByZXZpZXctZW1wdHkiPk5vIGNvbnRlbnQgdG8gcHJldmlldzwvZGl2Pid9CiAgICAgIDwvZGl2PgogICAgYH1zZXR1cChlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tYmxvY2stY29udGFpbmVyIiksbz1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi10b2dnbGUtbW9kZSIpO2lmKCFpfHwhbyl7Y29uc29sZS5lcnJvcigiTWFya2Rvd25CbG9ja0hhbmRsZXI6IENvdWxkIG5vdCBmaW5kIHJlcXVpcmVkIGVsZW1lbnRzIik7cmV0dXJufXQubWV0YWRhdGF8fCh0Lm1ldGFkYXRhPXt9KSx0Lm1ldGFkYXRhLmlzRWRpdE1vZGU9PT12b2lkIDAmJih0Lm1ldGFkYXRhLmlzRWRpdE1vZGU9ITApLG8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG49PntpZihuLnByZXZlbnREZWZhdWx0KCksbi5zdG9wUHJvcGFnYXRpb24oKSx0Lm1ldGFkYXRhLmlzRWRpdE1vZGUpe2xldCBsPWkucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO2wmJih0LmNvbnRlbnQ9bC52YWx1ZSl9dC5tZXRhZGF0YS5pc0VkaXRNb2RlPSF0Lm1ldGFkYXRhLmlzRWRpdE1vZGUsci5vblJlcXVlc3RVcGRhdGU/LigpfSksdC5tZXRhZGF0YS5pc0VkaXRNb2RlP3RoaXMuc2V0dXBFZGl0b3IoZSx0LHIpOnRoaXMuc2V0dXBQcmV2aWV3KGUsdCxyKX1zZXR1cEVkaXRvcihlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7aSYmKGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5yLm9uRm9jdXMoKSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+ci5vbkJsdXIoKSksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9Pnt0LmNvbnRlbnQ9aS52YWx1ZX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbz0+e2lmKG8ua2V5PT09IlRhYiIpe28ucHJldmVudERlZmF1bHQoKTtsZXQgbj1pLnNlbGVjdGlvblN0YXJ0LGw9aS5zZWxlY3Rpb25FbmQsZD1pLnZhbHVlO2lmKG8uc2hpZnRLZXkpe2xldCB1PWQuc3Vic3RyaW5nKDAsbikubGFzdEluZGV4T2YoYApgKSsxLG09ZC5zdWJzdHJpbmcodSxuKTttLnN0YXJ0c1dpdGgoIiAgIikmJihpLnZhbHVlPWQuc3Vic3RyaW5nKDAsdSkrbS5zdWJzdHJpbmcoMikrZC5zdWJzdHJpbmcobiksaS5zZWxlY3Rpb25TdGFydD1pLnNlbGVjdGlvbkVuZD1uLTIpfWVsc2UgaS52YWx1ZT1kLnN1YnN0cmluZygwLG4pKyIgICIrZC5zdWJzdHJpbmcobCksaS5zZWxlY3Rpb25TdGFydD1pLnNlbGVjdGlvbkVuZD1uKzI7dC5jb250ZW50PWkudmFsdWU7cmV0dXJufWlmKChvLmN0cmxLZXl8fG8ubWV0YUtleSkmJm8ua2V5PT09ImIiKXtvLnByZXZlbnREZWZhdWx0KCksdGhpcy53cmFwU2VsZWN0aW9uKGksIioqIiwiKioiKSx0LmNvbnRlbnQ9aS52YWx1ZTtyZXR1cm59aWYoKG8uY3RybEtleXx8by5tZXRhS2V5KSYmby5rZXk9PT0iaSIpe28ucHJldmVudERlZmF1bHQoKSx0aGlzLndyYXBTZWxlY3Rpb24oaSwiXyIsIl8iKSx0LmNvbnRlbnQ9aS52YWx1ZTtyZXR1cm59aWYoKG8uY3RybEtleXx8by5tZXRhS2V5KSYmby5rZXk9PT0iayIpe28ucHJldmVudERlZmF1bHQoKSx0aGlzLmluc2VydExpbmsoaSksdC5jb250ZW50PWkudmFsdWU7cmV0dXJufXIub25LZXlEb3duKG8pfSksdGhpcy5hdXRvUmVzaXplKGkpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCgpPT50aGlzLmF1dG9SZXNpemUoaSkpKX1zZXR1cFByZXZpZXcoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWJsb2NrLWNvbnRhaW5lciIpLG89ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tcHJldmlldyIpOyFpfHwhb3x8KG8uc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIjAiKSxvLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+ci5vbkZvY3VzKCkpLG8uYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PnIub25CbHVyKCkpLG8uYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbj0+e2lmKG4ua2V5PT09IkVudGVyIiYmIW4uc2hpZnRLZXkpe24ucHJldmVudERlZmF1bHQoKSx0Lm1ldGFkYXRhLmlzRWRpdE1vZGU9ITAsci5vblJlcXVlc3RVcGRhdGU/LigpO3JldHVybn1yLm9uS2V5RG93bihuKX0pKX13cmFwU2VsZWN0aW9uKGUsdCxyKXtsZXQgaT1lLnNlbGVjdGlvblN0YXJ0LG89ZS5zZWxlY3Rpb25FbmQsbj1lLnZhbHVlLnN1YnN0cmluZyhpLG8pLGw9dCsobnx8InRleHQiKStyO2UudmFsdWU9ZS52YWx1ZS5zdWJzdHJpbmcoMCxpKStsK2UudmFsdWUuc3Vic3RyaW5nKG8pLG4/KGUuc2VsZWN0aW9uU3RhcnQ9aSxlLnNlbGVjdGlvbkVuZD1pK2wubGVuZ3RoKTooZS5zZWxlY3Rpb25TdGFydD1pK3QubGVuZ3RoLGUuc2VsZWN0aW9uRW5kPWkrdC5sZW5ndGgrNCksZS5mb2N1cygpfWluc2VydExpbmsoZSl7bGV0IHQ9ZS5zZWxlY3Rpb25TdGFydCxyPWUuc2VsZWN0aW9uRW5kLG89ZS52YWx1ZS5zdWJzdHJpbmcodCxyKXx8ImxpbmsgdGV4dCIsbj1gWyR7b31dKHVybClgO2UudmFsdWU9ZS52YWx1ZS5zdWJzdHJpbmcoMCx0KStuK2UudmFsdWUuc3Vic3RyaW5nKHIpLGUuc2VsZWN0aW9uU3RhcnQ9dCtvLmxlbmd0aCszLGUuc2VsZWN0aW9uRW5kPXQrby5sZW5ndGgrNixlLmZvY3VzKCl9YXV0b1Jlc2l6ZShlKXtlLnN0eWxlLmhlaWdodD0iYXV0byIsZS5zdHlsZS5oZWlnaHQ9ZS5zY3JvbGxIZWlnaHQrInB4In1wYXJzZU1hcmtkb3duKGUpe2xldCB0PXRoaXMuZXNjYXBlSHRtbChlKTtyZXR1cm4gdD10LnJlcGxhY2UoL14jIyMgKC4rKSQvZ20sIjxoMz4kMTwvaDM+IiksdD10LnJlcGxhY2UoL14jIyAoLispJC9nbSwiPGgyPiQxPC9oMj4iKSx0PXQucmVwbGFjZSgvXiMgKC4rKSQvZ20sIjxoMT4kMTwvaDE+IiksdD10LnJlcGxhY2UoL1wqXCooLis/KVwqXCovZywiPHN0cm9uZz4kMTwvc3Ryb25nPiIpLHQ9dC5yZXBsYWNlKC9fXyguKz8pX18vZywiPHN0cm9uZz4kMTwvc3Ryb25nPiIpLHQ9dC5yZXBsYWNlKC9cKiguKz8pXCovZywiPGVtPiQxPC9lbT4iKSx0PXQucmVwbGFjZSgvXyguKz8pXy9nLCI8ZW0+JDE8L2VtPiIpLHQ9dC5yZXBsYWNlKC9gYGAoW1xzXFNdKj8pYGBgL2csIjxwcmU+PGNvZGU+JDE8L2NvZGU+PC9wcmU+IiksdD10LnJlcGxhY2UoL2AoLis/KWAvZywiPGNvZGU+JDE8L2NvZGU+IiksdD10LnJlcGxhY2UoL1xbKFteXF1dKylcXVwoKFteKV0rKVwpL2csJzxhIGhyZWY9IiQyIj4kMTwvYT4nKSx0PXQucmVwbGFjZSgvXlwqICguKykkL2dtLCI8bGk+JDE8L2xpPiIpLHQ9dC5yZXBsYWNlKC9eLSAoLispJC9nbSwiPGxpPiQxPC9saT4iKSx0PXQucmVwbGFjZSgvXlxkK1wuICguKykkL2dtLCI8bGk+JDE8L2xpPiIpLHQ9dC5yZXBsYWNlKC8oPGxpPi4qPFwvbGk+XG4/KSsvZyxyPT4iPHVsPiIrcisiPC91bD4iKSx0PXQucmVwbGFjZSgvXG5cbi9nLCI8L3A+PHA+IiksdD0iPHA+Iit0KyI8L3A+Iix0PXQucmVwbGFjZSgvPHA+PFwvcD4vZywiIiksdD10LnJlcGxhY2UoLzxwPig8aFsxLTNdPikvZywiJDEiKSx0PXQucmVwbGFjZSgvKDxcL2hbMS0zXT4pPFwvcD4vZywiJDEiKSx0PXQucmVwbGFjZSgvPHA+KDx1bD4pL2csIiQxIiksdD10LnJlcGxhY2UoLyg8XC91bD4pPFwvcD4vZywiJDEiKSx0PXQucmVwbGFjZSgvPHA+KDxwcmU+KS9nLCIkMSIpLHQ9dC5yZXBsYWNlKC8oPFwvcHJlPik8XC9wPi9nLCIkMSIpLHR9ZXNjYXBlSHRtbChlKXtsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC50ZXh0Q29udGVudD1lLHQuaW5uZXJIVE1MfWdldENvbnRlbnQoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7aWYodClyZXR1cm4gdC52YWx1ZTtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1ibG9jay1jb250YWluZXIiKT8uZ2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIik7cmV0dXJuIiJ9c2V0Q29udGVudChlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO3ImJihyLnZhbHVlPXQsdGhpcy5hdXRvUmVzaXplKHIpKX1nZXRDdXJzb3JQb3NpdGlvbihlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTtyZXR1cm4gdD90LnNlbGVjdGlvblN0YXJ0Om51bGx9c2V0Q3Vyc29yVG9TdGFydChlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTt0Pyh0LnNlbGVjdGlvblN0YXJ0PXQuc2VsZWN0aW9uRW5kPTAsdC5mb2N1cygpKTp0aGlzLmZvY3VzKGUpfXNldEN1cnNvclRvRW5kKGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO2lmKHQpe2xldCByPXQudmFsdWUubGVuZ3RoO3Quc2VsZWN0aW9uU3RhcnQ9dC5zZWxlY3Rpb25FbmQ9cix0LmZvY3VzKCl9ZWxzZSB0aGlzLmZvY3VzKGUpfWZvY3VzKGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO3Q/dC5mb2N1cygpOmUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLXByZXZpZXciKT8uZm9jdXMoKX1mb2N1c1dpdGhDdXJzb3IoZSx0PSJlbmQiKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTtyP3Q9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydChlKTp0PT09ImVuZCI/dGhpcy5zZXRDdXJzb3JUb0VuZChlKTp0eXBlb2YgdD09Im51bWJlciImJihyLnNlbGVjdGlvblN0YXJ0PXIuc2VsZWN0aW9uRW5kPXQsci5mb2N1cygpKTp0aGlzLmZvY3VzKGUpfWdldFNwbGl0Q29udGVudChlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTtpZighdClyZXR1cm4gbnVsbDtsZXQgcj10LnNlbGVjdGlvblN0YXJ0O3JldHVybntiZWZvcmU6dC52YWx1ZS5zdWJzdHJpbmcoMCxyKSxhZnRlcjp0LnZhbHVlLnN1YnN0cmluZyhyKX19Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBNYXJrZG93biBCbG9jayBDb250YWluZXIgKi8KICAgICAgLm1hcmtkb3duLWJsb2NrLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMTJweCAwOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxMTE4MjciKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1ibG9jay1jb250YWluZXIuc2VsZWN0ZWQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBIZWFkZXIgKi8KICAgICAgLm1hcmtkb3duLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMGEwYTBhIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24taWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tdGl0bGUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXRvZ2dsZS1tb2RlIHsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXRvZ2dsZS1tb2RlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2YzZjRmNiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2QxZDVkYiIsIiM0YjU1NjMiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIENvbnRlbnQgKi8KICAgICAgLm1hcmtkb3duLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDsKICAgICAgfQogICAgICAKICAgICAgLyogRWRpdG9yICovCiAgICAgIC5tYXJrZG93bi1lZGl0b3IgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgcmVzaXplOiBub25lOwogICAgICAgIGZvbnQtZmFtaWx5OiAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFmMjkzNyIsIiNmM2Y0ZjYiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLWVkaXRvcjo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFByZXZpZXcgKi8KICAgICAgLm1hcmtkb3duLXByZXZpZXcgewogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgbWluLWhlaWdodDogOTZweDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFmMjkzNyIsIiNmM2Y0ZjYiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5wcmV2aWV3LWVtcHR5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQogICAgICAKICAgICAgLyogTWFya2Rvd24gcHJldmlldyBzdHlsZXMgKi8KICAgICAgLm1hcmtkb3duLXByZXZpZXcgaDEgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG1hcmdpbjogMTZweCAwIDhweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IGgyIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW46IDE0cHggMCA2cHggMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBoMyB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbWFyZ2luOiAxMnB4IDAgNHB4IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgcCB7CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgdWwsCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IG9sIHsKICAgICAgICBtYXJnaW46IDhweCAwOwogICAgICAgIHBhZGRpbmctbGVmdDogMjRweDsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgbGkgewogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IGNvZGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzFmMjkzNyIpfTsKICAgICAgICBwYWRkaW5nOiAycHggNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBmb250LWZhbWlseTogJ01vbmFjbycsICdDb25zb2xhcycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDAuOWVtOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBwcmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzFmMjkzNyIpfTsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIG1hcmdpbjogOHB4IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IHByZSBjb2RlIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBzdHJvbmcgewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgZW0gewogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgYSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IGE6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBibG9ja3F1b3RlIHsKICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICB9CiAgICBgfX19KTt2YXIgUlcsRzJhPWYoKCk9PntybigpO2xlKCk7Ulc9Y2xhc3MgZXh0ZW5kcyBocntzdGF0aWN7cyh0aGlzLCJIdG1sQmxvY2tIYW5kbGVyIil9dHlwZT0iaHRtbCI7cmVuZGVyKGUsdCl7bGV0IHI9ZS5tZXRhZGF0YT8uaXNFZGl0TW9kZT8/ITAsaT1lLmNvbnRlbnR8fCIiO3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iaHRtbC1ibG9jay1jb250YWluZXIke3Q/IiBzZWxlY3RlZCI6IiJ9IiAKICAgICAgICAgICBkYXRhLWJsb2NrLWlkPSIke2UuaWR9IgogICAgICAgICAgIGRhdGEtZWRpdC1tb2RlPSIke3J9Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJodG1sLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJodG1sLWljb24iPiZsdDsvJmd0OzwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaHRtbC10aXRsZSI+SFRNTDwvZGl2PgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaHRtbC10b2dnbGUtbW9kZSIgdGl0bGU9IiR7cj8iUHJldmlldyI6IkVkaXQifSI+CiAgICAgICAgICAgICR7cj8iXHV7MUY0NDF9XHVGRTBGIjoiXHUyNzBGXHVGRTBGIn0KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Imh0bWwtY29udGVudCI+CiAgICAgICAgICAke3I/dGhpcy5yZW5kZXJFZGl0b3IoaSk6dGhpcy5yZW5kZXJQcmV2aWV3KGkpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRWRpdG9yKGUpe3JldHVybmAKICAgICAgPHRleHRhcmVhIGNsYXNzPSJodG1sLWVkaXRvciIgCiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iRW50ZXIgSFRNTCBjb250ZW50Li4uIgogICAgICAgICAgICAgICAgc3BlbGxjaGVjaz0iZmFsc2UiPiR7dGhpcy5lc2NhcGVIdG1sKGUpfTwvdGV4dGFyZWE+CiAgICBgfXJlbmRlclByZXZpZXcoZSl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJodG1sLXByZXZpZXciPgogICAgICAgICR7ZXx8JzxkaXYgY2xhc3M9InByZXZpZXctZW1wdHkiPk5vIGNvbnRlbnQgdG8gcHJldmlldzwvZGl2Pid9CiAgICAgIDwvZGl2PgogICAgYH1zZXR1cChlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1ibG9jay1jb250YWluZXIiKSxvPWUucXVlcnlTZWxlY3RvcigiLmh0bWwtdG9nZ2xlLW1vZGUiKTtpZighaXx8IW8pe2NvbnNvbGUuZXJyb3IoIkh0bWxCbG9ja0hhbmRsZXI6IENvdWxkIG5vdCBmaW5kIHJlcXVpcmVkIGVsZW1lbnRzIik7cmV0dXJufXQubWV0YWRhdGF8fCh0Lm1ldGFkYXRhPXt9KSx0Lm1ldGFkYXRhLmlzRWRpdE1vZGU9PT12b2lkIDAmJih0Lm1ldGFkYXRhLmlzRWRpdE1vZGU9ITApLG8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG49PntpZihuLnByZXZlbnREZWZhdWx0KCksbi5zdG9wUHJvcGFnYXRpb24oKSx0Lm1ldGFkYXRhLmlzRWRpdE1vZGUpe2xldCBsPWkucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7bCYmKHQuY29udGVudD1sLnZhbHVlKX10Lm1ldGFkYXRhLmlzRWRpdE1vZGU9IXQubWV0YWRhdGEuaXNFZGl0TW9kZSxyLm9uUmVxdWVzdFVwZGF0ZT8uKCl9KSx0Lm1ldGFkYXRhLmlzRWRpdE1vZGU/dGhpcy5zZXR1cEVkaXRvcihlLHQscik6dGhpcy5zZXR1cFByZXZpZXcoZSx0LHIpfXNldHVwRWRpdG9yKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO2kmJihpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+ci5vbkZvY3VzKCkpLGkuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PnIub25CbHVyKCkpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCgpPT57dC5jb250ZW50PWkudmFsdWUsdGhpcy52YWxpZGF0ZUh0bWwoaS52YWx1ZSl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG89PntpZihvLmtleT09PSJUYWIiKXtvLnByZXZlbnREZWZhdWx0KCk7bGV0IG49aS5zZWxlY3Rpb25TdGFydCxsPWkuc2VsZWN0aW9uRW5kLGQ9aS52YWx1ZTtpZihvLnNoaWZ0S2V5KXtsZXQgdT1kLnN1YnN0cmluZygwLG4pLmxhc3RJbmRleE9mKGAKYCkrMSxtPWQuc3Vic3RyaW5nKHUsbik7bS5zdGFydHNXaXRoKCIgICIpJiYoaS52YWx1ZT1kLnN1YnN0cmluZygwLHUpK20uc3Vic3RyaW5nKDIpK2Quc3Vic3RyaW5nKG4pLGkuc2VsZWN0aW9uU3RhcnQ9aS5zZWxlY3Rpb25FbmQ9bi0yKX1lbHNlIGkudmFsdWU9ZC5zdWJzdHJpbmcoMCxuKSsiICAiK2Quc3Vic3RyaW5nKGwpLGkuc2VsZWN0aW9uU3RhcnQ9aS5zZWxlY3Rpb25FbmQ9bisyO3QuY29udGVudD1pLnZhbHVlO3JldHVybn1pZigoby5jdHJsS2V5fHxvLm1ldGFLZXkpJiZvLmtleT09PSIvIil7by5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuYXV0b0Nsb3NlVGFnKGkpLHQuY29udGVudD1pLnZhbHVlO3JldHVybn1yLm9uS2V5RG93bihvKX0pLHRoaXMuYXV0b1Jlc2l6ZShpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKT0+dGhpcy5hdXRvUmVzaXplKGkpKSl9c2V0dXBQcmV2aWV3KGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWJsb2NrLWNvbnRhaW5lciIpLG89ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1wcmV2aWV3Iik7IWl8fCFvfHwoby5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLG8uYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5yLm9uRm9jdXMoKSksby5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+ci5vbkJsdXIoKSksby5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixuPT57aWYobi5rZXk9PT0iRW50ZXIiJiYhbi5zaGlmdEtleSl7bi5wcmV2ZW50RGVmYXVsdCgpLHQubWV0YWRhdGEuaXNFZGl0TW9kZT0hMCxyLm9uUmVxdWVzdFVwZGF0ZT8uKCk7cmV0dXJufXIub25LZXlEb3duKG4pfSksdGhpcy5zYW5kYm94Q29udGVudChvKSl9YXV0b0Nsb3NlVGFnKGUpe2xldCB0PWUuc2VsZWN0aW9uU3RhcnQscj1lLnZhbHVlLGk9dDtmb3IoO2k+MCYmcltpLTFdIT09IjwiOylpLS07aWYoaT4wKXtsZXQgbj1yLnN1YnN0cmluZyhpLHQpLm1hdGNoKC9eKFx3KykvKTtpZihuKXtsZXQgZD1gPC8ke25bMV19PmA7ZS52YWx1ZT1yLnN1YnN0cmluZygwLHQpKyI+IitkK3Iuc3Vic3RyaW5nKHQpLGUuc2VsZWN0aW9uU3RhcnQ9ZS5zZWxlY3Rpb25FbmQ9dCsxfX19YXV0b1Jlc2l6ZShlKXtlLnN0eWxlLmhlaWdodD0iYXV0byIsZS5zdHlsZS5oZWlnaHQ9ZS5zY3JvbGxIZWlnaHQrInB4In12YWxpZGF0ZUh0bWwoZSl7bGV0IHQ9W10scj0vPFwvPyhbYS16QS1aXVthLXpBLVowLTldKilcYltePl0qPi9nLGk7Zm9yKDsoaT1yLmV4ZWMoZSkpIT09bnVsbDspe2xldCBvPWlbMF0uc3RhcnRzV2l0aCgiPC8iKSxuPWlbMV0udG9Mb3dlckNhc2UoKTtpZihvKXtpZih0Lmxlbmd0aD09PTB8fHRbdC5sZW5ndGgtMV0hPT1uKXJldHVybiBjb25zb2xlLndhcm4oYE1pc21hdGNoZWQgY2xvc2luZyB0YWc6ICR7bn1gKSwhMTt0LnBvcCgpfWVsc2UgaVswXS5lbmRzV2l0aCgiLz4iKXx8dC5wdXNoKG4pfXJldHVybiB0Lmxlbmd0aD4wPyhjb25zb2xlLndhcm4oYFVuY2xvc2VkIHRhZ3M6ICR7dC5qb2luKCIsICIpfWApLCExKTohMH1zYW5kYm94Q29udGVudChlKXtlLnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdCIpLmZvckVhY2gobz0+by5yZW1vdmUoKSksZS5xdWVyeVNlbGVjdG9yQWxsKCIqIikuZm9yRWFjaChvPT57QXJyYXkuZnJvbShvLmF0dHJpYnV0ZXMpLmZvckVhY2gobj0+e24ubmFtZS5zdGFydHNXaXRoKCJvbiIpJiZvLnJlbW92ZUF0dHJpYnV0ZShuLm5hbWUpfSl9KSxlLnF1ZXJ5U2VsZWN0b3JBbGwoImZvcm0iKS5mb3JFYWNoKG89PntvLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsbj0+e24ucHJldmVudERlZmF1bHQoKSxuLnN0b3BQcm9wYWdhdGlvbigpfSl9KX1lc2NhcGVIdG1sKGUpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LnRleHRDb250ZW50PWUsdC5pbm5lckhUTUx9Z2V0Q29udGVudChlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO2lmKHQpcmV0dXJuIHQudmFsdWU7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1ibG9jay1jb250YWluZXIiKT8uZ2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIik7cmV0dXJuIiJ9c2V0Q29udGVudChlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7ciYmKHIudmFsdWU9dCx0aGlzLmF1dG9SZXNpemUocikpfWdldEN1cnNvclBvc2l0aW9uKGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7cmV0dXJuIHQ/dC5zZWxlY3Rpb25TdGFydDpudWxsfXNldEN1cnNvclRvU3RhcnQoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTt0Pyh0LnNlbGVjdGlvblN0YXJ0PXQuc2VsZWN0aW9uRW5kPTAsdC5mb2N1cygpKTp0aGlzLmZvY3VzKGUpfXNldEN1cnNvclRvRW5kKGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7aWYodCl7bGV0IHI9dC52YWx1ZS5sZW5ndGg7dC5zZWxlY3Rpb25TdGFydD10LnNlbGVjdGlvbkVuZD1yLHQuZm9jdXMoKX1lbHNlIHRoaXMuZm9jdXMoZSl9Zm9jdXMoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTt0P3QuZm9jdXMoKTplLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLXByZXZpZXciKT8uZm9jdXMoKX1mb2N1c1dpdGhDdXJzb3IoZSx0PSJlbmQiKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO3I/dD09PSJzdGFydCI/dGhpcy5zZXRDdXJzb3JUb1N0YXJ0KGUpOnQ9PT0iZW5kIj90aGlzLnNldEN1cnNvclRvRW5kKGUpOnR5cGVvZiB0PT0ibnVtYmVyIiYmKHIuc2VsZWN0aW9uU3RhcnQ9ci5zZWxlY3Rpb25FbmQ9dCxyLmZvY3VzKCkpOnRoaXMuZm9jdXMoZSl9Z2V0U3BsaXRDb250ZW50KGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7aWYoIXQpcmV0dXJuIG51bGw7bGV0IHI9dC5zZWxlY3Rpb25TdGFydDtyZXR1cm57YmVmb3JlOnQudmFsdWUuc3Vic3RyaW5nKDAsciksYWZ0ZXI6dC52YWx1ZS5zdWJzdHJpbmcocil9fWdldFN0eWxlcygpe3JldHVybmAKICAgICAgLyogSFRNTCBCbG9jayBDb250YWluZXIgKi8KICAgICAgLmh0bWwtYmxvY2stY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAxMnB4IDA7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzExMTgyNyIpfTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtYmxvY2stY29udGFpbmVyLnNlbGVjdGVkIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogSGVhZGVyICovCiAgICAgIC5odG1sLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMGEwYTBhIil9OwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdNb25hY28nLCAnQ29uc29sYXMnLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXRpdGxlIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXRvZ2dsZS1tb2RlIHsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtdG9nZ2xlLW1vZGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzFmMjkzNyIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDFkNWRiIiwiIzRiNTU2MyIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogQ29udGVudCAqLwogICAgICAuaHRtbC1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEVkaXRvciAqLwogICAgICAuaHRtbC1lZGl0b3IgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgcmVzaXplOiBub25lOwogICAgICAgIGZvbnQtZmFtaWx5OiAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFmMjkzNyIsIiNmM2Y0ZjYiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtZWRpdG9yOjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogUHJldmlldyAqLwogICAgICAuaHRtbC1wcmV2aWV3IHsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDk2cHg7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxZjI5MzciLCIjZjNmNGY2Iil9OwogICAgICB9CiAgICAgIAogICAgICAucHJldmlldy1lbXB0eSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFNhbmRib3hlZCBIVE1MIHByZXZpZXcgc3R5bGVzICovCiAgICAgIC5odG1sLXByZXZpZXcgKiB7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1wcmV2aWV3IGltZyB7CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1wcmV2aWV3IGEgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1wcmV2aWV3IGE6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1wcmV2aWV3IHRhYmxlIHsKICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1hcmdpbjogOHB4IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgdGgsCiAgICAgIC5odG1sLXByZXZpZXcgdGQgewogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyB0aCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgcHJlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2YzZjRmNiIsIiMxZjI5MzciKX07CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICBtYXJnaW46IDhweCAwOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1wcmV2aWV3IGNvZGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzFmMjkzNyIpfTsKICAgICAgICBwYWRkaW5nOiAycHggNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBmb250LWZhbWlseTogJ01vbmFjbycsICdDb25zb2xhcycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDAuOWVtOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1wcmV2aWV3IHByZSBjb2RlIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CiAgICBgfX19KTt2YXIgR1hlPWYoKCk9PntybigpO3VpYSgpO3BpYSgpO2ZpYSgpO2hpYSgpO21pYSgpO0IyYSgpO0gyYSgpO3EyYSgpO1YyYSgpO2oyYSgpO1UyYSgpO1cyYSgpO0cyYSgpfSk7ZnVuY3Rpb24gWTJhKCl7amEucmVnaXN0ZXIoImRpdmlkZXIiLG5ldyBJVyksamEucmVnaXN0ZXIoInBhcmFncmFwaCIsbmV3IE5VKSxqYS5yZWdpc3RlcigiaGVhZGluZy0xIixuZXcgRWYoImhlYWRpbmctMSIpKSxqYS5yZWdpc3RlcigiaGVhZGluZy0yIixuZXcgRWYoImhlYWRpbmctMiIpKSxqYS5yZWdpc3RlcigiaGVhZGluZy0zIixuZXcgRWYoImhlYWRpbmctMyIpKSxqYS5yZWdpc3RlcigicXVvdGUiLG5ldyBSVSksamEucmVnaXN0ZXIoImNvZGUiLG5ldyAkVyksamEucmVnaXN0ZXIoImxpc3QiLG5ldyBEVyksamEucmVnaXN0ZXIoImltYWdlIixuZXcgQVcpLGphLnJlZ2lzdGVyKCJ5b3V0dWJlIixuZXcgUFcpLGphLnJlZ2lzdGVyKCJhdHRhY2htZW50IixuZXcgRVcpLGphLnJlZ2lzdGVyKCJtYXJrZG93biIsbmV3IE5XKSxqYS5yZWdpc3RlcigiaHRtbCIsbmV3IFJXKX12YXIgWVhlPWYoKCk9PntHWGUoKTtzKFkyYSwicmVnaXN0ZXJBbGxCbG9ja0hhbmRsZXJzIiksWTJhKCl9KTt2YXIgT1csS1hlPWYoKCk9PntsZSgpO2NjKCk7SW8oKTtBZigpO3phZSgpO09XPWNsYXNze3N0YXRpY3tzKHRoaXMsIld5c2l3eWdNb2RhbE1hbmFnZXIiKX1zdGF0aWMgYXN5bmMgc2hvd0xhbmd1YWdlU2VsZWN0aW9uTW9kYWwoKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+e2xldCB0PW51bGw7TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiU2VsZWN0IFByb2dyYW1taW5nIExhbmd1YWdlIixjb250ZW50OndgCiAgICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIC5sYW5ndWFnZS1jb250YWluZXIgewogICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7CiAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICAgICAgfQogICAgICAgICAgICAubGFuZ3VhZ2UtZ3JpZCB7CiAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMjBweCwgMWZyKSk7CiAgICAgICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmxhbmd1YWdlLWJ1dHRvbiB7CiAgICAgICAgICAgICAgcGFkZGluZzogMTJweCA4cHg7CiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmxhbmd1YWdlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNGI1NTYzIil9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5sYW5ndWFnZS1idXR0b24uc2VsZWN0ZWQgewogICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzM3NDE1MSIpfTsKICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICAgICAgICB9CiAgICAgICAgICA8L3N0eWxlPgogICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtZ3JpZCI+CiAgICAgICAgICAgICAgJHt0aGlzLmdldExhbmd1YWdlcygpLm1hcChyPT53YAogICAgICAgICAgICAgICAgPGRpdiAKICAgICAgICAgICAgICAgICAgY2xhc3M9Imxhbmd1YWdlLWJ1dHRvbiAke3Q9PT1yLnRvTG93ZXJDYXNlKCk/InNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgICAgICAgICBAY2xpY2s9IiR7KCk9Pnt0PXIudG9Mb3dlckNhc2UoKTtsZXQgaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkZWVzLW1vZGFsIik7aSYmdHlwZW9mIGkuZGVzdHJveT09ImZ1bmN0aW9uIiYmaS5kZXN0cm95KCksZSh0KX19Ij4KICAgICAgICAgICAgICAgICAgJHtyfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNhbmNlbCIsYWN0aW9uOnMoYXN5bmMgcj0+e3IuZGVzdHJveSgpLGUobnVsbCl9LCJhY3Rpb24iKX1dfSl9KX1zdGF0aWMgYXN5bmMgc2hvd0Jsb2NrU2V0dGluZ3NNb2RhbChlLHQpe2xldCByPXdgCiAgICAgIDxzdHlsZT4KICAgICAgICAuc2V0dGluZ3MtY29udGFpbmVyIHsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgfQogICAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIC5zZXR0aW5ncy1zZWN0aW9uOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CiAgICAgICAgLnNldHRpbmdzLWxhYmVsIHsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgfQogICAgICAgIC5ibG9jay10eXBlLWdyaWQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE2MHB4LCAxZnIpKTsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgIH0KICAgICAgICAuYmxvY2stdHlwZS1idXR0b24gewogICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgICAgfQogICAgICAgIC5ibG9jay10eXBlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDFkNWRiIiwiIzRiNTU2MyIpfTsKICAgICAgICB9CiAgICAgICAgLmJsb2NrLXR5cGUtYnV0dG9uLnNlbGVjdGVkIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzM3NDE1MSIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICB9CiAgICAgICAgLmJsb2NrLXR5cGUtaWNvbiB7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLWNvbnRhaW5lciI+CiAgICAgICAgJHt0aGlzLmdldEJsb2NrVHlwZVNlbGVjdG9yKGUsdCl9CiAgICAgICAgJHtlLnR5cGU9PT0iY29kZSI/dGhpcy5nZXRDb2RlQmxvY2tTZXR0aW5ncyhlLHQpOiIifQogICAgICA8L2Rpdj4KICAgIGA7TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiQmxvY2sgU2V0dGluZ3MiLGNvbnRlbnQ6cixtZW51T3B0aW9uczpbe25hbWU6IkRvbmUiLGFjdGlvbjpzKGFzeW5jIGk9PntpLmRlc3Ryb3koKX0sImFjdGlvbiIpfV19KX1zdGF0aWMgZ2V0Q29kZUJsb2NrU2V0dGluZ3MoZSx0KXtsZXQgcj1lLm1ldGFkYXRhPy5sYW5ndWFnZXx8ImphdmFzY3JpcHQiO3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgLmxhbmd1YWdlLWdyaWQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDEwMHB4LCAxZnIpKTsKICAgICAgICAgIGdhcDogNnB4OwogICAgICAgIH0KICAgICAgICAubGFuZ3VhZ2UtYnV0dG9uIHsKICAgICAgICAgIHBhZGRpbmc6IDhweCA0cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgICB9CiAgICAgICAgLmxhbmd1YWdlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDFkNWRiIiwiIzRiNTU2MyIpfTsKICAgICAgICB9CiAgICAgICAgLmxhbmd1YWdlLWJ1dHRvbi5zZWxlY3RlZCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2YzZjRmNiIsIiMzNzQxNTEiKX07CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+UHJvZ3JhbW1pbmcgTGFuZ3VhZ2U8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1ncmlkIj4KICAgICAgICAgICR7dGhpcy5nZXRMYW5ndWFnZXMoKS5tYXAoaT0+d2AKICAgICAgICAgICAgPGRpdiAKICAgICAgICAgICAgICBjbGFzcz0ibGFuZ3VhZ2UtYnV0dG9uICR7cj09PWkudG9Mb3dlckNhc2UoKT8ic2VsZWN0ZWQiOiIifSIgCiAgICAgICAgICAgICAgQGNsaWNrPSIkeygpPT57ZS5tZXRhZGF0YXx8KGUubWV0YWRhdGE9e30pLGUubWV0YWRhdGEubGFuZ3VhZ2U9aS50b0xvd2VyQ2FzZSgpLHQoZSk7bGV0IG89ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGVlcy1tb2RhbCIpO28mJnR5cGVvZiBvLmRlc3Ryb3k9PSJmdW5jdGlvbiImJm8uZGVzdHJveSgpfX0iCiAgICAgICAgICAgICAgZGF0YS1sYW5nPSIke2l9IgogICAgICAgICAgICA+JHtpfTwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1zdGF0aWMgZ2V0TGFuZ3VhZ2VzKCl7cmV0dXJuWy4uLkVVXX1zdGF0aWMgZ2V0QmxvY2tUeXBlU2VsZWN0b3IoZSx0KXtsZXQgcj1lcy5nZXRTbGFzaE1lbnVJdGVtcygpLmZpbHRlcihpPT5pLnR5cGUhPT0iZGl2aWRlciIpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+QmxvY2sgVHlwZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJsb2NrLXR5cGUtZ3JpZCI+CiAgICAgICAgICAke3IubWFwKGk9PndgCiAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgY2xhc3M9ImJsb2NrLXR5cGUtYnV0dG9uICR7ZS50eXBlPT09aS50eXBlPyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0iJHthc3luYyBvPT57bGV0IG49by5jdXJyZW50VGFyZ2V0LGw9ZS50eXBlO2lmKGUudHlwZT1pLnR5cGUsbD09PSJjb2RlIiYmZS50eXBlIT09ImNvZGUiKWRlbGV0ZSBlLm1ldGFkYXRhPy5sYW5ndWFnZTtlbHNlIGlmKGw9PT0ibGlzdCImJmUudHlwZSE9PSJsaXN0IilkZWxldGUgZS5tZXRhZGF0YT8ubGlzdFR5cGU7ZWxzZSBpZihlLnR5cGU9PT0ibGlzdCImJiFlLm1ldGFkYXRhPy5saXN0VHlwZSllLm1ldGFkYXRhPXtsaXN0VHlwZToiYnVsbGV0In07ZWxzZSBpZihlLnR5cGU9PT0iY29kZSImJiFlLm1ldGFkYXRhPy5sYW5ndWFnZSl7bGV0IGM9YXdhaXQgdGhpcy5zaG93TGFuZ3VhZ2VTZWxlY3Rpb25Nb2RhbCgpO2lmKGMpZS5tZXRhZGF0YT17bGFuZ3VhZ2U6Y307ZWxzZXtlLnR5cGU9bDtyZXR1cm59fXQoZSk7bGV0IGQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGVlcy1tb2RhbCIpO2QmJnR5cGVvZiBkLmRlc3Ryb3k9PSJmdW5jdGlvbiImJmQuZGVzdHJveSgpfX0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmxvY2stdHlwZS1pY29uIj4ke2kuaWNvbn08L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4+JHtpLmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfX19KTt2YXIgRlcsSzJhPWYoKCk9PntJbygpO2NtKCk7QWYoKTtoYygpO3RLZSgpO0tYZSgpO0ZXPWNsYXNze3N0YXRpY3tzKHRoaXMsIld5c2l3eWdJbnB1dEhhbmRsZXIiKX1jb21wb25lbnQ7c2F2ZVRpbWVvdXQ9bnVsbDtjb25zdHJ1Y3RvcihlKXt0aGlzLmNvbXBvbmVudD1lfWhhbmRsZUJsb2NrSW5wdXQoZSx0KXtpZih0aGlzLmNvbXBvbmVudC5pc0NvbXBvc2luZylyZXR1cm47bGV0IHI9ZS50YXJnZXQsaT1yLnRleHRDb250ZW50fHwiIixvPXRoaXMuZGV0ZWN0QmxvY2tUeXBlSW50ZW50KGkpO2lmKG8mJm8udHlwZSE9PXQudHlwZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGFuZGxlQmxvY2tUcmFuc2Zvcm1hdGlvbih0LG8scik7cmV0dXJufXRoaXMuaGFuZGxlU2xhc2hDb21tYW5kKGksciksdGhpcy5zY2hlZHVsZUF1dG9TYXZlKCl9dXBkYXRlQmxvY2tDb250ZW50KGUsdCl7bGV0IGk9dC5jbG9zZXN0KCIuYmxvY2std3JhcHBlciIpPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihpKXtsZXQgbz1pLmdldENvbnRlbnQoKTtpZihlLmNvbnRlbnQhPT1vJiYoZS5jb250ZW50PW8pLGUudHlwZT09PSJsaXN0Iil7bGV0IG49dC5xdWVyeVNlbGVjdG9yKCJvbCwgdWwiKTtuJiYoZS5tZXRhZGF0YT17bGlzdFR5cGU6bi50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT0ib2wiPyJvcmRlcmVkIjoiYnVsbGV0In0pfX1lbHNlIGlmKGUudHlwZT09PSJsaXN0Iil7bGV0IG89dC5xdWVyeVNlbGVjdG9yQWxsKCJsaSIpO2UuY29udGVudD1BcnJheS5mcm9tKG8pLm1hcChsPT5sLmlubmVySFRNTHx8IiIpLmpvaW4oYApgKTtsZXQgbj10LnF1ZXJ5U2VsZWN0b3IoIm9sLCB1bCIpO24mJihlLm1ldGFkYXRhPXtsaXN0VHlwZTpuLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PSJvbCI/Im9yZGVyZWQiOiJidWxsZXQifSl9ZWxzZSBlLnR5cGU9PT0iY29kZSI/ZS5jb250ZW50PXQudGV4dENvbnRlbnR8fCIiOmUuY29udGVudD10LmlubmVySFRNTHx8IiJ9ZGV0ZWN0QmxvY2tUeXBlSW50ZW50KGUpe2xldCB0PWVzLmNoZWNrSGVhZGluZ1Nob3J0Y3V0KGUpO2lmKHQpcmV0dXJuIHQ7bGV0IHI9ZXMuY2hlY2tMaXN0U2hvcnRjdXQoZSk7cmV0dXJuIHJ8fChlcy5jaGVja1F1b3RlU2hvcnRjdXQoZSk/e3R5cGU6InF1b3RlIn06ZXMuY2hlY2tDb2RlU2hvcnRjdXQoZSk/e3R5cGU6ImNvZGUifTplcy5jaGVja0RpdmlkZXJTaG9ydGN1dChlKT97dHlwZToiZGl2aWRlciJ9Om51bGwpfWFzeW5jIGhhbmRsZUJsb2NrVHJhbnNmb3JtYXRpb24oZSx0LHIpe2xldCBpPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucztpZih0LnR5cGU9PT0ibGlzdCIpe2UudHlwZT0ibGlzdCIsZS5jb250ZW50PSIiLGUubWV0YWRhdGE9e2xpc3RUeXBlOnQubGlzdFR5cGV9O2xldCBvPXQubGlzdFR5cGU9PT0ib3JkZXJlZCI/Im9sIjoidWwiO3IuaW5uZXJIVE1MPWA8JHtvfT48bGk+PC9saT48LyR7b30+YCx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYmJnRoaXMuY29tcG9uZW50LnVwZGF0ZUJsb2NrRWxlbWVudChlLmlkKSxzZXRUaW1lb3V0KCgpPT57c2kuZm9jdXNMaXN0SXRlbShyKX0sMCl9ZWxzZSBpZih0LnR5cGU9PT0iZGl2aWRlciIpe2UudHlwZT0iZGl2aWRlciIsZS5jb250ZW50PSIgIix0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmNvbXBvbmVudC51cGRhdGVCbG9ja0VsZW1lbnQoZS5pZCk7bGV0IG89aS5jcmVhdGVCbG9jaygpO2kuaW5zZXJ0QmxvY2tBZnRlcihlLG8pLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCl9ZWxzZSBpZih0LnR5cGU9PT0iY29kZSIpe2xldCBvPWF3YWl0IE9XLnNob3dMYW5ndWFnZVNlbGVjdGlvbk1vZGFsKCk7byYmKGUudHlwZT0iY29kZSIsZS5jb250ZW50PSIiLGUubWV0YWRhdGE9e2xhbmd1YWdlOm99LHIudGV4dENvbnRlbnQ9IiIsdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmNvbXBvbmVudC51cGRhdGVCbG9ja0VsZW1lbnQoZS5pZCksc2V0VGltZW91dChhc3luYygpPT57YXdhaXQgaS5mb2N1c0Jsb2NrKGUuaWQsInN0YXJ0Iil9LDUwKSl9ZWxzZSBlLnR5cGU9dC50eXBlLGUuY29udGVudD0iIixyLnRleHRDb250ZW50PSIiLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5jb21wb25lbnQudXBkYXRlQmxvY2tFbGVtZW50KGUuaWQpLHNldFRpbWVvdXQoYXN5bmMoKT0+e2F3YWl0IGkuZm9jdXNCbG9jayhlLmlkLCJzdGFydCIpfSw1MCl9aGFuZGxlU2xhc2hDb21tYW5kKGUsdCl7bGV0IHI9dGhpcy5jb21wb25lbnQuc2xhc2hNZW51LGk9ciYmci52aXNpYmxlO2lmKGU9PT0iLyJ8fGUuc3RhcnRzV2l0aCgiLyIpJiZpKXtpZighaSYmZT09PSIvIil7bGV0IG89dGhpcy5nZXRDYXJldENvb3JkaW5hdGVzKHQpO3Iuc2hvdyh7eDpvLmxlZnQseTpvLmJvdHRvbSs0fSxuPT57dGhpcy5jb21wb25lbnQuaW5zZXJ0QmxvY2sobil9KSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09dCYmdC5mb2N1cygpfSl9ciYmci51cGRhdGVGaWx0ZXIoZS5zbGljZSgxKSl9ZWxzZSBlLnN0YXJ0c1dpdGgoIi8iKXx8dGhpcy5jb21wb25lbnQuY2xvc2VTbGFzaE1lbnUoKX1nZXRDYXJldENvb3JkaW5hdGVzKGUpe2xldCB0PXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZih0JiZ0LnJhbmdlQ291bnQ+MCl7bGV0IGk9dC5nZXRSYW5nZUF0KDApLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGkud2lkdGg+MHx8aS5oZWlnaHQ+MClyZXR1cm4gaX1yZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1zY2hlZHVsZUF1dG9TYXZlKCl7dGhpcy5zYXZlVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuc2F2ZVRpbWVvdXQpLCEodGhpcy5jb21wb25lbnQuc2xhc2hNZW51JiZ0aGlzLmNvbXBvbmVudC5zbGFzaE1lbnUudmlzaWJsZSkmJih0aGlzLnNhdmVUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLnN5bmNBbGxCbG9ja0NvbnRlbnQoKSx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpfSwyZTMpKX1zeW5jQWxsQmxvY2tDb250ZW50KCl7dGhpcy5jb21wb25lbnQuYmxvY2tzLmZvckVhY2goZT0+e2xldCByPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke2UuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYociYmci5nZXRDb250ZW50KXtsZXQgaT1yLmdldENvbnRlbnQoKTtlLmNvbnRlbnQhPT1pJiYoZS5jb250ZW50PWkpfX0pfWRlc3Ryb3koKXt0aGlzLnNhdmVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5zYXZlVGltZW91dCl9fX0pO3ZhciBCVyxaMmE9ZigoKT0+e0lvKCk7Y20oKTtVMigpO0JXPWNsYXNze3N0YXRpY3tzKHRoaXMsIld5c2l3eWdLZXlib2FyZEhhbmRsZXIiKX1jb21wb25lbnQ7Y29uc3RydWN0b3IoZSl7dGhpcy5jb21wb25lbnQ9ZX1hc3luYyBoYW5kbGVCbG9ja0tleURvd24oZSx0KXtpZih0aGlzLmNvbXBvbmVudC5zbGFzaE1lbnUudmlzaWJsZSYmdGhpcy5pc1NsYXNoTWVudUtleShlLmtleSkpe3RoaXMuY29tcG9uZW50LmhhbmRsZVNsYXNoTWVudUtleWJvYXJkKGUpO3JldHVybn1pZighdGhpcy5oYW5kbGVGb3JtYXR0aW5nU2hvcnRjdXRzKGUpKXN3aXRjaChlLmtleSl7Y2FzZSJUYWIiOnRoaXMuaGFuZGxlVGFiKGUsdCk7YnJlYWs7Y2FzZSJFbnRlciI6YXdhaXQgdGhpcy5oYW5kbGVFbnRlcihlLHQpO2JyZWFrO2Nhc2UiQmFja3NwYWNlIjphd2FpdCB0aGlzLmhhbmRsZUJhY2tzcGFjZShlLHQpO2JyZWFrO2Nhc2UiRGVsZXRlIjphd2FpdCB0aGlzLmhhbmRsZURlbGV0ZShlLHQpO2JyZWFrO2Nhc2UiQXJyb3dVcCI6YXdhaXQgdGhpcy5oYW5kbGVBcnJvd1VwKGUsdCk7YnJlYWs7Y2FzZSJBcnJvd0Rvd24iOmF3YWl0IHRoaXMuaGFuZGxlQXJyb3dEb3duKGUsdCk7YnJlYWs7Y2FzZSJBcnJvd0xlZnQiOmF3YWl0IHRoaXMuaGFuZGxlQXJyb3dMZWZ0KGUsdCk7YnJlYWs7Y2FzZSJBcnJvd1JpZ2h0Ijphd2FpdCB0aGlzLmhhbmRsZUFycm93UmlnaHQoZSx0KTticmVha319aXNTbGFzaE1lbnVLZXkoZSl7cmV0dXJuWyJBcnJvd0Rvd24iLCJBcnJvd1VwIiwiRW50ZXIiLCJFc2NhcGUiXS5pbmNsdWRlcyhlKX1oYW5kbGVGb3JtYXR0aW5nU2hvcnRjdXRzKGUpe2lmKCEoZS5tZXRhS2V5fHxlLmN0cmxLZXkpKXJldHVybiExO3N3aXRjaChlLmtleS50b0xvd2VyQ2FzZSgpKXtjYXNlImIiOnJldHVybiBlLnByZXZlbnREZWZhdWx0KCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+dGhpcy5jb21wb25lbnQuYXBwbHlGb3JtYXQoImJvbGQiKSksITA7Y2FzZSJpIjpyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnRoaXMuY29tcG9uZW50LmFwcGx5Rm9ybWF0KCJpdGFsaWMiKSksITA7Y2FzZSJ1IjpyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnRoaXMuY29tcG9uZW50LmFwcGx5Rm9ybWF0KCJ1bmRlcmxpbmUiKSksITA7Y2FzZSJrIjpyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnRoaXMuY29tcG9uZW50LmFwcGx5Rm9ybWF0KCJsaW5rIikpLCEwfXJldHVybiExfWhhbmRsZVRhYihlLHQpe3QudHlwZSE9PSJjb2RlIiYmdC50eXBlPT09Imxpc3QiJiZlLnByZXZlbnREZWZhdWx0KCl9YXN5bmMgaGFuZGxlRW50ZXIoZSx0KXtsZXQgcj10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnM7aWYoWyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKHQudHlwZSkpe2UucHJldmVudERlZmF1bHQoKTtsZXQgbz1yLmNyZWF0ZUJsb2NrKCk7YXdhaXQgci5pbnNlcnRCbG9ja0FmdGVyKHQsbyk7cmV0dXJufWlmKHQudHlwZT09PSJjb2RlIil7aWYoZS5zaGlmdEtleSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBvPXIuY3JlYXRlQmxvY2soKTthd2FpdCByLmluc2VydEJsb2NrQWZ0ZXIodCxvKX1yZXR1cm59aWYoIWUuc2hpZnRLZXkpaWYodC50eXBlPT09Imxpc3QiKWF3YWl0IHRoaXMuaGFuZGxlRW50ZXJJbkxpc3QoZSx0KTtlbHNle2UucHJldmVudERlZmF1bHQoKTtsZXQgbj10aGlzLmNvbXBvbmVudC5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0LmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKG4mJm4uZ2V0U3BsaXRDb250ZW50KXtsZXQgbD1uLmdldFNwbGl0Q29udGVudCgpO2lmKGwpe24uc2V0Q29udGVudChsLmJlZm9yZSksdC5jb250ZW50PWwuYmVmb3JlO2xldCBkPXIuY3JlYXRlQmxvY2soInBhcmFncmFwaCIsbC5hZnRlcik7YXdhaXQgci5pbnNlcnRCbG9ja0FmdGVyKHQsZCksdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKX1lbHNle2xldCBkPXIuY3JlYXRlQmxvY2soKTthd2FpdCByLmluc2VydEJsb2NrQWZ0ZXIodCxkKX19ZWxzZXtsZXQgbD1yLmNyZWF0ZUJsb2NrKCk7YXdhaXQgci5pbnNlcnRCbG9ja0FmdGVyKHQsbCl9fX1hc3luYyBoYW5kbGVFbnRlckluTGlzdChlLHQpe2xldCByPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihyJiZyLnJhbmdlQ291bnQ+MCl7bGV0IG89ci5nZXRSYW5nZUF0KDApLnN0YXJ0Q29udGFpbmVyLnBhcmVudEVsZW1lbnQ/LmNsb3Nlc3QoImxpIik7aWYobyYmby50ZXh0Q29udGVudD09PSIiKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IG49dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLGw9bi5jcmVhdGVCbG9jaygpO2F3YWl0IG4uaW5zZXJ0QmxvY2tBZnRlcih0LGwpfX19YXN5bmMgaGFuZGxlQmFja3NwYWNlKGUsdCl7bGV0IHI9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zO2lmKFsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyh0LnR5cGUpKXtpZihlLnByZXZlbnREZWZhdWx0KCksdGhpcy5jb21wb25lbnQuYmxvY2tzLmxlbmd0aD09PTEpe3RoaXMuY29tcG9uZW50LnNhdmVUb0hpc3RvcnkoITEpLHIucmVtb3ZlQmxvY2sodC5pZCk7bGV0IHg9ci5jcmVhdGVCbG9jaygicGFyYWdyYXBoIiwiIik7dGhpcy5jb21wb25lbnQuYmxvY2tzPVt4XSx0aGlzLmNvbXBvbmVudC5yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCksYXdhaXQgci5mb2N1c0Jsb2NrKHguaWQsInN0YXJ0IiksdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKTtyZXR1cm59dGhpcy5jb21wb25lbnQuc2F2ZVRvSGlzdG9yeSghMSk7bGV0IG09ci5nZXRQcmV2aW91c0Jsb2NrKHQuaWQpLHY9ci5nZXROZXh0QmxvY2sodC5pZCk7ci5yZW1vdmVCbG9jayh0LmlkKSxtJiZtLnR5cGUhPT0iZGl2aWRlciImJm0udHlwZSE9PSJpbWFnZSI/YXdhaXQgci5mb2N1c0Jsb2NrKG0uaWQsImVuZCIpOnYmJnYudHlwZSE9PSJkaXZpZGVyIiYmdi50eXBlIT09ImltYWdlIj9hd2FpdCByLmZvY3VzQmxvY2sodi5pZCwic3RhcnQiKTptP2F3YWl0IHIuZm9jdXNCbG9jayhtLmlkKTp2JiZhd2FpdCByLmZvY3VzQmxvY2sodi5pZCk7cmV0dXJufWxldCBuPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoIW58fCFuLnNoYWRvd1Jvb3QpcmV0dXJuO2xldCBsPXQudHlwZT09PSJjb2RlIj9uLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik6bi5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFsKXJldHVybjtsZXQgZD1uLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpLGM9W107ZD8uc2hhZG93Um9vdCYmYy5wdXNoKGQuc2hhZG93Um9vdCksYy5wdXNoKG4uc2hhZG93Um9vdCk7bGV0IHA9cnQuZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQobCwuLi5jKSx1PW4uZ2V0Q29udGVudD9uLmdldENvbnRlbnQoKTpsLnRleHRDb250ZW50O2lmKHA9PT0wKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IG09ci5nZXRQcmV2aW91c0Jsb2NrKHQuaWQpO2lmKG0pe2lmKFsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyhtLnR5cGUpKXthd2FpdCByLmZvY3VzQmxvY2sobS5pZCk7cmV0dXJufWlmKHRoaXMuY29tcG9uZW50LnNhdmVUb0hpc3RvcnkoITEpLG0udHlwZT09PSJjb2RlIiYmdC50eXBlIT09ImNvZGUiKXt0LmNvbnRlbnQ9PT0iIiYmKHIucmVtb3ZlQmxvY2sodC5pZCksYXdhaXQgci5mb2N1c0Jsb2NrKG0uaWQsImVuZCIpKTtyZXR1cm59aWYodC50eXBlPT09ImNvZGUiJiZtLnR5cGUhPT0iY29kZSIpe2xldCBOPW4uZ2V0Q29udGVudD9uLmdldENvbnRlbnQoKTp0LmNvbnRlbnQ7KE49PT0iInx8Ti50cmltKCk9PT0iIikmJihyLnJlbW92ZUJsb2NrKHQuaWQpLGF3YWl0IHIuZm9jdXNCbG9jayhtLmlkLCJlbmQiKSk7cmV0dXJufWxldCBiPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke20uaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIiksZz1iPy5nZXRDb250ZW50KCl8fG0uY29udGVudHx8IiIseT1uLmdldENvbnRlbnQoKXx8dC5jb250ZW50fHwiIixrPSIiO20udHlwZT09PSJjb2RlIiYmdC50eXBlPT09ImNvZGUifHxtLnR5cGU9PT0ibGlzdCImJnQudHlwZT09PSJsaXN0Ij9rPWcrKGcmJnk/YApgOiIiKSt5Oms9ZysoZyYmeT8iICI6IiIpK3k7bGV0IEM9Zy5sZW5ndGg7ci51cGRhdGVCbG9ja0NvbnRlbnQobS5pZCxrKSxiJiZiLnNldENvbnRlbnQoayksci5yZW1vdmVCbG9jayh0LmlkKSxhd2FpdCByLmZvY3VzQmxvY2sobS5pZCxDKX19ZWxzZSBpZih0aGlzLmNvbXBvbmVudC5ibG9ja3MubGVuZ3RoPjEpe2xldCBtPW4uZ2V0Q29udGVudD9uLmdldENvbnRlbnQoKTp0LmNvbnRlbnQ7aWYobT09PSIifHxtLnRyaW0oKT09PSIiKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IHY9ci5nZXRQcmV2aW91c0Jsb2NrKHQuaWQpO3YmJihyLnJlbW92ZUJsb2NrKHQuaWQpLHYudHlwZSE9PSJkaXZpZGVyIiYmYXdhaXQgci5mb2N1c0Jsb2NrKHYuaWQsImVuZCIpKX19fWFzeW5jIGhhbmRsZURlbGV0ZShlLHQpe2xldCByPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucztpZihbImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXModC50eXBlKSl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY29tcG9uZW50LmJsb2Nrcy5sZW5ndGg9PT0xKXt0aGlzLmNvbXBvbmVudC5zYXZlVG9IaXN0b3J5KCExKSxyLnJlbW92ZUJsb2NrKHQuaWQpO2xldCBiPXIuY3JlYXRlQmxvY2soInBhcmFncmFwaCIsIiIpO3RoaXMuY29tcG9uZW50LmJsb2Nrcz1bYl0sdGhpcy5jb21wb25lbnQucmVuZGVyQmxvY2tzUHJvZ3JhbW1hdGljYWxseSgpLGF3YWl0IHIuZm9jdXNCbG9jayhiLmlkLCJzdGFydCIpLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCk7cmV0dXJufXRoaXMuY29tcG9uZW50LnNhdmVUb0hpc3RvcnkoITEpO2xldCBtPXIuZ2V0UHJldmlvdXNCbG9jayh0LmlkKSx2PXIuZ2V0TmV4dEJsb2NrKHQuaWQpO3IucmVtb3ZlQmxvY2sodC5pZCk7bGV0IHg9WyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdO3YmJiF4LmluY2x1ZGVzKHYudHlwZSk/YXdhaXQgci5mb2N1c0Jsb2NrKHYuaWQsInN0YXJ0Iik6bSYmIXguaW5jbHVkZXMobS50eXBlKT9hd2FpdCByLmZvY3VzQmxvY2sobS5pZCwiZW5kIik6dj9hd2FpdCByLmZvY3VzQmxvY2sodi5pZCk6bSYmYXdhaXQgci5mb2N1c0Jsb2NrKG0uaWQpO3JldHVybn1sZXQgbj10aGlzLmNvbXBvbmVudC5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0LmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKCFufHwhbi5zaGFkb3dSb290KXJldHVybjtsZXQgbD10LnR5cGU9PT0iY29kZSI/bi5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpOm4uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighbClyZXR1cm47bGV0IGQ9bi5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKSxjPVtdO2Q/LnNoYWRvd1Jvb3QmJmMucHVzaChkLnNoYWRvd1Jvb3QpLGMucHVzaChuLnNoYWRvd1Jvb3QpO2xldCBwPXJ0LmdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KGwsLi4uYyksdT1sLnRleHRDb250ZW50Py5sZW5ndGh8fDA7aWYocD09PXUpe2xldCBtPXIuZ2V0TmV4dEJsb2NrKHQuaWQpO2lmKG0mJlsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyhtLnR5cGUpKXtlLnByZXZlbnREZWZhdWx0KCksYXdhaXQgci5mb2N1c0Jsb2NrKG0uaWQpO3JldHVybn19fWFzeW5jIGhhbmRsZUFycm93VXAoZSx0KXtsZXQgcj1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07aWYoci5pbmNsdWRlcyh0LnR5cGUpKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IHA9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLHU9cC5nZXRQcmV2aW91c0Jsb2NrKHQuaWQpO3UmJmF3YWl0IHAuZm9jdXNCbG9jayh1LmlkLHIuaW5jbHVkZXModS50eXBlKT92b2lkIDA6ImVuZCIpO3JldHVybn1sZXQgbz10aGlzLmNvbXBvbmVudC5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0LmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKCFvfHwhby5zaGFkb3dSb290KXJldHVybjtsZXQgbj10LnR5cGU9PT0iY29kZSI/by5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpOm8uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighbilyZXR1cm47bGV0IGw9by5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKSxkPVtdO2w/LnNoYWRvd1Jvb3QmJmQucHVzaChsLnNoYWRvd1Jvb3QpLGQucHVzaChvLnNoYWRvd1Jvb3QpO2xldCBjPXJ0LmdldFNlbGVjdGlvbkluZm8oLi4uZCk7aWYoISghY3x8IWMuY29sbGFwc2VkKSYmdGhpcy5pc09uRmlyc3RMaW5lKGMsbiwuLi5kKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBwPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucyx1PXAuZ2V0UHJldmlvdXNCbG9jayh0LmlkKTtpZih1KXtsZXQgbT1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07YXdhaXQgcC5mb2N1c0Jsb2NrKHUuaWQsbS5pbmNsdWRlcyh1LnR5cGUpP3ZvaWQgMDoiZW5kIil9fX1hc3luYyBoYW5kbGVBcnJvd0Rvd24oZSx0KXtpZihbImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXModC50eXBlKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBwPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucyx1PXAuZ2V0TmV4dEJsb2NrKHQuaWQpO2lmKHUpe2xldCBtPVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCBwLmZvY3VzQmxvY2sodS5pZCxtLmluY2x1ZGVzKHUudHlwZSk/dm9pZCAwOiJzdGFydCIpfXJldHVybn1sZXQgbz10aGlzLmNvbXBvbmVudC5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0LmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKCFvfHwhby5zaGFkb3dSb290KXJldHVybjtsZXQgbj10LnR5cGU9PT0iY29kZSI/by5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpOm8uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighbilyZXR1cm47bGV0IGw9by5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKSxkPVtdO2w/LnNoYWRvd1Jvb3QmJmQucHVzaChsLnNoYWRvd1Jvb3QpLGQucHVzaChvLnNoYWRvd1Jvb3QpO2xldCBjPXJ0LmdldFNlbGVjdGlvbkluZm8oLi4uZCk7aWYoISghY3x8IWMuY29sbGFwc2VkKSYmdGhpcy5pc09uTGFzdExpbmUoYyxuLC4uLmQpKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IHA9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLHU9cC5nZXROZXh0QmxvY2sodC5pZCk7aWYodSl7bGV0IG09WyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdO2F3YWl0IHAuZm9jdXNCbG9jayh1LmlkLG0uaW5jbHVkZXModS50eXBlKT92b2lkIDA6InN0YXJ0Iil9fX1nZXRMYXN0VGV4dE5vZGUoZSl7aWYoZS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXJldHVybiBlO2ZvcihsZXQgdD1lLmNoaWxkTm9kZXMubGVuZ3RoLTE7dD49MDt0LS0pe2xldCByPXRoaXMuZ2V0TGFzdFRleHROb2RlKGUuY2hpbGROb2Rlc1t0XSk7aWYocilyZXR1cm4gcn1yZXR1cm4gbnVsbH1hc3luYyBoYW5kbGVBcnJvd0xlZnQoZSx0KXtpZihbImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXModC50eXBlKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCB1PXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucyxtPXUuZ2V0UHJldmlvdXNCbG9jayh0LmlkKTtpZihtKXtsZXQgdj1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07YXdhaXQgdS5mb2N1c0Jsb2NrKG0uaWQsdi5pbmNsdWRlcyhtLnR5cGUpP3ZvaWQgMDoiZW5kIil9cmV0dXJufWxldCBvPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoIW98fCFvLnNoYWRvd1Jvb3QpcmV0dXJuO2xldCBuPXQudHlwZT09PSJjb2RlIj9vLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik6by5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFuKXJldHVybjtsZXQgbD1vLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpLGQ9W107bD8uc2hhZG93Um9vdCYmZC5wdXNoKGwuc2hhZG93Um9vdCksZC5wdXNoKG8uc2hhZG93Um9vdCk7bGV0IGM9cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi5kKTtpZighY3x8IWMuY29sbGFwc2VkKXJldHVybjtpZihydC5nZXRDdXJzb3JQb3NpdGlvbkluRWxlbWVudChuLC4uLmQpPT09MCl7bGV0IHU9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLG09dS5nZXRQcmV2aW91c0Jsb2NrKHQuaWQpO2lmKG0pe2UucHJldmVudERlZmF1bHQoKTtsZXQgeD1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXMobS50eXBlKT92b2lkIDA6ImVuZCI7YXdhaXQgdS5mb2N1c0Jsb2NrKG0uaWQseCl9fX1hc3luYyBoYW5kbGVBcnJvd1JpZ2h0KGUsdCl7aWYoWyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKHQudHlwZSkpe2UucHJldmVudERlZmF1bHQoKTtsZXQgbT10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsdj1tLmdldE5leHRCbG9jayh0LmlkKTtpZih2KXtsZXQgeD1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07YXdhaXQgbS5mb2N1c0Jsb2NrKHYuaWQseC5pbmNsdWRlcyh2LnR5cGUpP3ZvaWQgMDoic3RhcnQiKX1yZXR1cm59bGV0IG89dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7dC5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZighb3x8IW8uc2hhZG93Um9vdClyZXR1cm47bGV0IG49dC50eXBlPT09ImNvZGUiP28uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTpvLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIW4pcmV0dXJuO2xldCBsPW8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIiksZD1bXTtsPy5zaGFkb3dSb290JiZkLnB1c2gobC5zaGFkb3dSb290KSxkLnB1c2goby5zaGFkb3dSb290KTtsZXQgYz1ydC5nZXRTZWxlY3Rpb25JbmZvKC4uLmQpO2lmKCFjfHwhYy5jb2xsYXBzZWQpcmV0dXJuO2xldCBwPXJ0LmdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KG4sLi4uZCksdT1uLnRleHRDb250ZW50Py5sZW5ndGh8fDA7aWYocD09PXUpe2xldCBtPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucyx2PW0uZ2V0TmV4dEJsb2NrKHQuaWQpO2lmKHYpe2UucHJldmVudERlZmF1bHQoKTtsZXQgeD1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07YXdhaXQgbS5mb2N1c0Jsb2NrKHYuaWQseC5pbmNsdWRlcyh2LnR5cGUpP3ZvaWQgMDoic3RhcnQiKX19fWlzT25GaXJzdExpbmUoZSx0LC4uLnIpe3RyeXtsZXQgaT1ydC5jcmVhdGVSYW5nZUZyb21JbmZvKGUpLG89aS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPWkuY29tbW9uQW5jZXN0b3JDb250YWluZXI7bi5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYobj1uLnBhcmVudEVsZW1lbnQpO2xldCBsPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZD1vLnRvcC1sLnRvcDw1O3JldHVybiBuLnRleHRDb250ZW50JiYhbi50ZXh0Q29udGVudC5pbmNsdWRlcyhgCmApP3J0LmdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KG4sLi4ucik9PT0wOmR9Y2F0Y2goaSl7cmV0dXJuIGNvbnNvbGUud2FybigiRXJyb3IgY2hlY2tpbmcgZmlyc3QgbGluZToiLGkpLGUuc3RhcnRPZmZzZXQ9PT0wfX1pc09uTGFzdExpbmUoZSx0LC4uLnIpe3RyeXtsZXQgaT1ydC5jcmVhdGVSYW5nZUZyb21JbmZvKGUpLG89aS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPWkuY29tbW9uQW5jZXN0b3JDb250YWluZXI7bi5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYobj1uLnBhcmVudEVsZW1lbnQpO2xldCBkPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tLW8uYm90dG9tPDU7aWYobi50ZXh0Q29udGVudCYmIW4udGV4dENvbnRlbnQuaW5jbHVkZXMoYApgKSl7bGV0IGM9dC50ZXh0Q29udGVudD8ubGVuZ3RofHwwO3JldHVybiBydC5nZXRDdXJzb3JQb3NpdGlvbkluRWxlbWVudCh0LC4uLnIpPT09Y31yZXR1cm4gZH1jYXRjaChpKXtjb25zb2xlLndhcm4oIkVycm9yIGNoZWNraW5nIGxhc3QgbGluZToiLGkpO2xldCBvPXQudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtyZXR1cm4gcnQuZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQodCwuLi5yKT09PW99fX19KTt2YXIgSFcsWDJhPWYoKCk9PntJbygpO2NtKCk7SFc9Y2xhc3N7c3RhdGlje3ModGhpcywiV3lzaXd5Z0RyYWdEcm9wSGFuZGxlciIpfWNvbXBvbmVudDtkcmFnZ2VkQmxvY2tJZD1udWxsO2RyYWdPdmVyQmxvY2tJZD1udWxsO2RyYWdPdmVyUG9zaXRpb249bnVsbDtkcm9wSW5kaWNhdG9yPW51bGw7aW5pdGlhbE1vdXNlWT0wO2luaXRpYWxCbG9ja1k9MDtkcmFnZ2VkQmxvY2tFbGVtZW50PW51bGw7ZHJhZ2dlZEJsb2NrSGVpZ2h0PTA7ZHJhZ2dlZEJsb2NrQ29udGVudEhlaWdodD0wO2RyYWdnZWRCbG9ja01hcmdpblRvcD0wO2xhc3RVcGRhdGVUaW1lPTA7dXBkYXRlVGhyb3R0bGU9ODA7Y29uc3RydWN0b3IoZSl7dGhpcy5jb21wb25lbnQ9ZX1nZXQgZHJhZ1N0YXRlKCl7cmV0dXJue2RyYWdnZWRCbG9ja0lkOnRoaXMuZHJhZ2dlZEJsb2NrSWQsZHJhZ092ZXJCbG9ja0lkOnRoaXMuZHJhZ092ZXJCbG9ja0lkLGRyYWdPdmVyUG9zaXRpb246dGhpcy5kcmFnT3ZlclBvc2l0aW9ufX1oYW5kbGVEcmFnU3RhcnQoZSx0KXtpZighZS5kYXRhVHJhbnNmZXIpcmV0dXJuO3RoaXMuZHJhZ2dlZEJsb2NrSWQ9dC5pZCxlLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkPSJtb3ZlIixlLmRhdGFUcmFuc2Zlci5zZXREYXRhKCJ0ZXh0L3BsYWluIix0LmlkKTtsZXQgcj1uZXcgSW1hZ2U7aWYoci5zcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFVRUJBQUFBQ3dBQUFBQUFRQUJBQUFDQWtRQkFEcz0iLGUuZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZShyLDAsMCksdGhpcy5pbml0aWFsTW91c2VZPWUuY2xpZW50WSx0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQ9dGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0LmlkfSJdYCksdGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50KXtsZXQgaT10aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5pbml0aWFsQmxvY2tZPWkudG9wO2xldCBvPXRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZihvKXtsZXQgbj1vLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGw9d2luZG93LmdldENvbXB1dGVkU3R5bGUobyk7dGhpcy5kcmFnZ2VkQmxvY2tNYXJnaW5Ub3A9cGFyc2VJbnQobC5tYXJnaW5Ub3ApfHwwLHRoaXMuZHJhZ2dlZEJsb2NrQ29udGVudEhlaWdodD1uLmhlaWdodH10aGlzLmRyYWdnZWRCbG9ja0hlaWdodD1pLmhlaWdodCxjb25zb2xlLmxvZygiRHJhZyBtZWFzdXJlbWVudHM6Iix7d3JhcHBlckhlaWdodDppLmhlaWdodCxtYXJnaW5Ub3A6dGhpcy5kcmFnZ2VkQmxvY2tNYXJnaW5Ub3AsZHJvcEluZGljYXRvckhlaWdodDp0aGlzLmRyYWdnZWRCbG9ja0hlaWdodCxjb250ZW50SGVpZ2h0OnRoaXMuZHJhZ2dlZEJsb2NrQ29udGVudEhlaWdodCxibG9ja0lkOnQuaWR9KSx0aGlzLmNyZWF0ZURyb3BJbmRpY2F0b3IoKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJkcmFnb3ZlciIsdGhpcy5oYW5kbGVHbG9iYWxEcmFnT3ZlciksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2VuZCIsdGhpcy5oYW5kbGVHbG9iYWxEcmFnRW5kKX10aGlzLmNvbXBvbmVudC5kcmFnZ2VkQmxvY2tJZD10aGlzLmRyYWdnZWRCbG9ja0lkLHNldFRpbWVvdXQoKCk9Pnt0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQmJnRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYmJnRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKX0sMTApfWhhbmRsZURyYWdFbmQoKXt0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3JBbGwoIi5ibG9jay13cmFwcGVyIikuZm9yRWFjaCh0PT57dC5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIsIm1vdmUtdXAiLCJtb3ZlLWRvd24iKSx0LnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLWRyYWctb2Zmc2V0IiksdC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgidHJhbnNmb3JtIil9KSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksdGhpcy5kcmFnZ2VkQmxvY2tJZD1udWxsLHRoaXMuZHJhZ092ZXJCbG9ja0lkPW51bGwsdGhpcy5kcmFnT3ZlclBvc2l0aW9uPW51bGwsdGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50PW51bGwsdGhpcy5kcmFnZ2VkQmxvY2tIZWlnaHQ9MCx0aGlzLmRyYWdnZWRCbG9ja0NvbnRlbnRIZWlnaHQ9MCx0aGlzLmRyYWdnZWRCbG9ja01hcmdpblRvcD0wLHRoaXMuaW5pdGlhbEJsb2NrWT0wLHRoaXMuY29tcG9uZW50LmRyYWdnZWRCbG9ja0lkPW51bGwsdGhpcy5jb21wb25lbnQuZHJhZ092ZXJCbG9ja0lkPW51bGwsdGhpcy5jb21wb25lbnQuZHJhZ092ZXJQb3NpdGlvbj1udWxsfWhhbmRsZURyYWdPdmVyKGUsdCl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCFlLmRhdGFUcmFuc2Zlcnx8IXRoaXMuZHJhZ2dlZEJsb2NrSWR8fHRoaXMuZHJhZ2dlZEJsb2NrSWQ9PT10LmlkKXJldHVybjtlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PSJtb3ZlIjtsZXQgcj1lLmN1cnJlbnRUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT1yLnRvcCtyLmhlaWdodC8yO3RoaXMuZHJhZ092ZXJCbG9ja0lkPXQuaWQsdGhpcy5kcmFnT3ZlclBvc2l0aW9uPWUuY2xpZW50WTxpPyJiZWZvcmUiOiJhZnRlciIsdGhpcy5jb21wb25lbnQuZHJhZ092ZXJCbG9ja0lkPXRoaXMuZHJhZ092ZXJCbG9ja0lkLHRoaXMuY29tcG9uZW50LmRyYWdPdmVyUG9zaXRpb249dGhpcy5kcmFnT3ZlclBvc2l0aW9ufWhhbmRsZURyYWdMZWF2ZShlKXt0aGlzLmRyYWdPdmVyQmxvY2tJZD09PWUuaWQmJih0aGlzLmRyYWdPdmVyQmxvY2tJZD1udWxsLHRoaXMuZHJhZ092ZXJQb3NpdGlvbj1udWxsLHRoaXMuY29tcG9uZW50LmRyYWdPdmVyQmxvY2tJZD1udWxsLHRoaXMuY29tcG9uZW50LmRyYWdPdmVyUG9zaXRpb249bnVsbCl9aGFuZGxlRHJvcChlLHQpe2UucHJldmVudERlZmF1bHQoKSwhKCF0aGlzLmRyYWdnZWRCbG9ja0lkfHx0aGlzLmRyYWdnZWRCbG9ja0lkPT09dC5pZCkmJnRoaXMuY29tcG9uZW50LmhhbmRsZURyb3AoZSx0KX1pc0RyYWdnaW5nKGUpe3JldHVybiB0aGlzLmRyYWdnZWRCbG9ja0lkPT09ZX1pc0RyYWdPdmVyKGUpe3JldHVybiB0aGlzLmRyYWdPdmVyQmxvY2tJZD09PWV9Z2V0RHJhZ092ZXJDbGFzc2VzKGUpe3JldHVybiB0aGlzLmlzRHJhZ092ZXIoZSk/dGhpcy5kcmFnT3ZlclBvc2l0aW9uPT09ImJlZm9yZSI/ImRyYWctb3Zlci1iZWZvcmUiOiJkcmFnLW92ZXItYWZ0ZXIiOiIifWNyZWF0ZURyb3BJbmRpY2F0b3IoKXt0aGlzLmRyb3BJbmRpY2F0b3I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5kcm9wSW5kaWNhdG9yLmNsYXNzTmFtZT0iZHJvcC1pbmRpY2F0b3IiLHRoaXMuZHJvcEluZGljYXRvci5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLmFwcGVuZENoaWxkKHRoaXMuZHJvcEluZGljYXRvcil9aGFuZGxlR2xvYmFsRHJhZ092ZXI9cyhlPT57aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCF0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQpcmV0dXJuO2xldCB0PWUuY2xpZW50WS10aGlzLmluaXRpYWxNb3VzZVk7dGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50LnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlWSgke3R9cHgpYDtsZXQgcj1EYXRlLm5vdygpO3ItdGhpcy5sYXN0VXBkYXRlVGltZTx0aGlzLnVwZGF0ZVRocm90dGxlfHwodGhpcy5sYXN0VXBkYXRlVGltZT1yLHRoaXMudXBkYXRlQmxvY2tQb3NpdGlvbnMoZS5jbGllbnRZKSl9LCJoYW5kbGVHbG9iYWxEcmFnT3ZlciIpO3VwZGF0ZUJsb2NrUG9zaXRpb25zKGUpe2xldCB0PUFycmF5LmZyb20odGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yQWxsKCIuYmxvY2std3JhcHBlciIpKSxyPXQuZmluZEluZGV4KG89Pm8uZ2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIik9PT10aGlzLmRyYWdnZWRCbG9ja0lkKTtpZihyPT09LTEpcmV0dXJuO3QuZm9yRWFjaChvPT57by5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKSE9PXRoaXMuZHJhZ2dlZEJsb2NrSWQmJihvLmNsYXNzTGlzdC5yZW1vdmUoIm1vdmUtdXAiLCJtb3ZlLWRvd24iKSxvLnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLWRyYWctb2Zmc2V0IikpfSk7bGV0IGk9dC5sZW5ndGg7Zm9yKGxldCBvPTA7bzx0Lmxlbmd0aDtvKyspe2lmKG89PT1yKWNvbnRpbnVlO2xldCBsPXRbb10uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZD1sLnRvcDtpZihlPGQrbC5oZWlnaHQqLjUpe2k9bzticmVha319Zm9yKGxldCBvPTA7bzx0Lmxlbmd0aDtvKyspe2lmKG89PT1yKWNvbnRpbnVlO2xldCBuPXRbb107cjxpP28+ciYmbzxpJiYobi5jbGFzc0xpc3QuYWRkKCJtb3ZlLXVwIiksbi5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1kcmFnLW9mZnNldCIsYCR7dGhpcy5kcmFnZ2VkQmxvY2tIZWlnaHR9cHhgKSk6cj5pJiZvPj1pJiZvPHImJihuLmNsYXNzTGlzdC5hZGQoIm1vdmUtZG93biIpLG4uc3R5bGUuc2V0UHJvcGVydHkoIi0tZHJhZy1vZmZzZXQiLGAke3RoaXMuZHJhZ2dlZEJsb2NrSGVpZ2h0fXB4YCkpfXRoaXMudXBkYXRlRHJvcEluZGljYXRvcih0LGkscil9dXBkYXRlRHJvcEluZGljYXRvcihlLHQscil7aWYoIXRoaXMuZHJvcEluZGljYXRvcnx8IXRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudClyZXR1cm47dGhpcy5kcm9wSW5kaWNhdG9yLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjtsZXQgaT10aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89MCxuPVtdO2ZvcihsZXQgYz0wO2M8ZS5sZW5ndGg7YysrKXtpZihjPT09ciljb250aW51ZTtsZXQgcD1lW2NdLHU9cC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxtPXUudG9wLWkudG9wLHY9dS5ib3R0b20taS50b3AseD13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShwKS50cmFuc2Zvcm07aWYoeCYmeCE9PSJub25lIil7bGV0IGc9bmV3IERPTU1hdHJpeCh4KS5tNDI7bSs9Zyx2Kz1nfW4ucHVzaCh7aW5kZXg6Yyx0b3A6bSxib3R0b206dn0pfW4uc29ydCgoYyxwKT0+Yy50b3AtcC50b3ApO2xldCBsPXQ7dD5yJiZsLS07bGV0IGQ9MTY7aWYodGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50KXtsZXQgYz10aGlzLmNvbXBvbmVudC5ibG9ja3MuZmluZChwPT5wLmlkPT09dGhpcy5kcmFnZ2VkQmxvY2tJZCk7aWYoYyl7bGV0IHA9Yy50eXBlO3A9PT0iaGVhZGluZy0xInx8cD09PSJoZWFkaW5nLTIifHxwPT09ImhlYWRpbmctMyI/ZD0yNDoocD09PSJjb2RlInx8cD09PSJxdW90ZSIpJiYoZD0yMCl9fWlmKGw9PT0wKW89MDtlbHNlIGlmKGw+PW4ubGVuZ3RoKXtsZXQgYz1uW24ubGVuZ3RoLTFdO2MmJihvPWMuYm90dG9tLG8rPWQpfWVsc2V7bGV0IGM9bltsLTFdO2MmJihvPWMuYm90dG9tLG8rPWQpfXRoaXMuZHJvcEluZGljYXRvci5zdHlsZS5oZWlnaHQ9YCR7dGhpcy5kcmFnZ2VkQmxvY2tIZWlnaHR9cHhgLHRoaXMuZHJvcEluZGljYXRvci5zdHlsZS50b3A9YCR7TWF0aC5tYXgoMCxvKX1weGAsY29uc29sZS5sb2coIkRyb3AgaW5kaWNhdG9yIHVwZGF0ZToiLHt0YXJnZXRJbmRleDp0LGFkanVzdGVkVGFyZ2V0SW5kZXg6bCxkcmFnZ2VkSW5kZXg6cix0b3BQb3NpdGlvbjpvLGhlaWdodDp0aGlzLmRyYWdnZWRCbG9ja0hlaWdodCxibG9ja01hcmdpbjpkLHZpc3VhbEJsb2NrczpuLm1hcChjPT4oe2luZGV4OmMuaW5kZXgsdG9wOmMudG9wLGJvdHRvbTpjLmJvdHRvbX0pKX0pfWhhbmRsZUdsb2JhbERyYWdFbmQ9cygoKT0+e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIix0aGlzLmhhbmRsZUdsb2JhbERyYWdPdmVyKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJkcmFnZW5kIix0aGlzLmhhbmRsZUdsb2JhbERyYWdFbmQpLHRoaXMuZHJvcEluZGljYXRvciYmKHRoaXMuZHJvcEluZGljYXRvci5yZW1vdmUoKSx0aGlzLmRyb3BJbmRpY2F0b3I9bnVsbCksdGhpcy5kcmFnZ2VkQmxvY2tJZD9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLnBlcmZvcm1Ecm9wKCksdGhpcy5oYW5kbGVEcmFnRW5kKCl9KTp0aGlzLmhhbmRsZURyYWdFbmQoKX0sImhhbmRsZUdsb2JhbERyYWdFbmQiKTtwZXJmb3JtRHJvcCgpe2lmKCF0aGlzLmRyYWdnZWRCbG9ja0lkKXJldHVybjtsZXQgZT1BcnJheS5mcm9tKHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYucXVlcnlTZWxlY3RvckFsbCgiLmJsb2NrLXdyYXBwZXIiKSk7aWYoIWUuZmluZChwPT5wLmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpPT09dGhpcy5kcmFnZ2VkQmxvY2tJZCkpcmV0dXJuO2xldCByPWUubWFwKHA9PntsZXQgdT1wLmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpLG09cC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx2PW0udG9wK20uaGVpZ2h0LzI7cmV0dXJue2lkOnUsY2VudGVyWTp2LGVsZW1lbnQ6cH19KTtyLnNvcnQoKHAsdSk9PnAuY2VudGVyWS11LmNlbnRlclkpO2xldCBpPXIubWFwKHA9PnAuaWQpLmZpbHRlcihwPT5wIT09bnVsbCksbz1bLi4udGhpcy5jb21wb25lbnQuYmxvY2tzXSxuPW8uZmluZChwPT5wLmlkPT09dGhpcy5kcmFnZ2VkQmxvY2tJZCk7aWYoIW4pcmV0dXJuO2xldCBsPW8ubWFwKHA9PnAuaWQpO2lmKCEhaS5ldmVyeSgocCx1KT0+cD09PWxbdV0pKXJldHVybjtsZXQgYz1pLm1hcChwPT5vLmZpbmQodT0+dS5pZD09PXApKS5maWx0ZXIoQm9vbGVhbik7dGhpcy5jb21wb25lbnQuYmxvY2tzPWMsdGhpcy5jb21wb25lbnQucmVuZGVyQmxvY2tzUHJvZ3JhbW1hdGljYWxseSgpLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCksc2V0VGltZW91dCgoKT0+e24udHlwZSE9PSJkaXZpZGVyIiYmdGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLmZvY3VzQmxvY2sobi5pZCl9LDEwMCl9fX0pO3ZhciBxVyxRMmE9ZigoKT0+e0lvKCk7cVc9Y2xhc3N7c3RhdGlje3ModGhpcywiV3lzaXd5Z0hpc3RvcnkiKX1oaXN0b3J5PVtdO2N1cnJlbnRJbmRleD0tMTttYXhIaXN0b3J5U2l6ZT01MDtsYXN0U2F2ZVRpbWU9MDtzYXZlRGVib3VuY2VNcz01MDA7Y29uc3RydWN0b3IoKXt0aGlzLmhpc3Rvcnk9W10sdGhpcy5jdXJyZW50SW5kZXg9LTF9c2F2ZVN0YXRlKGUsdCxyKXtsZXQgaT1EYXRlLm5vdygpO2lmKGktdGhpcy5sYXN0U2F2ZVRpbWU8dGhpcy5zYXZlRGVib3VuY2VNcyYmdGhpcy5jdXJyZW50SW5kZXg+PTApe3RoaXMuaGlzdG9yeVt0aGlzLmN1cnJlbnRJbmRleF09e2Jsb2Nrczp0aGlzLmNsb25lQmxvY2tzKGUpLHNlbGVjdGVkQmxvY2tJZDp0LGN1cnNvclBvc2l0aW9uOnI/ey4uLnJ9OnZvaWQgMCx0aW1lc3RhbXA6aX07cmV0dXJufXRoaXMuY3VycmVudEluZGV4PHRoaXMuaGlzdG9yeS5sZW5ndGgtMSYmKHRoaXMuaGlzdG9yeT10aGlzLmhpc3Rvcnkuc2xpY2UoMCx0aGlzLmN1cnJlbnRJbmRleCsxKSk7bGV0IG89e2Jsb2Nrczp0aGlzLmNsb25lQmxvY2tzKGUpLHNlbGVjdGVkQmxvY2tJZDp0LGN1cnNvclBvc2l0aW9uOnI/ey4uLnJ9OnZvaWQgMCx0aW1lc3RhbXA6aX07dGhpcy5oaXN0b3J5LnB1c2gobyksdGhpcy5jdXJyZW50SW5kZXgrKyx0aGlzLmhpc3RvcnkubGVuZ3RoPnRoaXMubWF4SGlzdG9yeVNpemUmJih0aGlzLmhpc3Rvcnkuc2hpZnQoKSx0aGlzLmN1cnJlbnRJbmRleC0tKSx0aGlzLmxhc3RTYXZlVGltZT1pfXNhdmVDaGVja3BvaW50KGUsdCxyKXt0aGlzLmxhc3RTYXZlVGltZT0wLHRoaXMuc2F2ZVN0YXRlKGUsdCxyKX11bmRvKCl7cmV0dXJuIHRoaXMuY2FuVW5kbygpPyh0aGlzLmN1cnJlbnRJbmRleC0tLHRoaXMuY2xvbmVTdGF0ZSh0aGlzLmhpc3RvcnlbdGhpcy5jdXJyZW50SW5kZXhdKSk6bnVsbH1yZWRvKCl7cmV0dXJuIHRoaXMuY2FuUmVkbygpPyh0aGlzLmN1cnJlbnRJbmRleCsrLHRoaXMuY2xvbmVTdGF0ZSh0aGlzLmhpc3RvcnlbdGhpcy5jdXJyZW50SW5kZXhdKSk6bnVsbH1jYW5VbmRvKCl7cmV0dXJuIHRoaXMuY3VycmVudEluZGV4PjB9Y2FuUmVkbygpe3JldHVybiB0aGlzLmN1cnJlbnRJbmRleDx0aGlzLmhpc3RvcnkubGVuZ3RoLTF9Z2V0Q3VycmVudFN0YXRlKCl7cmV0dXJuIHRoaXMuY3VycmVudEluZGV4Pj0wJiZ0aGlzLmN1cnJlbnRJbmRleDx0aGlzLmhpc3RvcnkubGVuZ3RoP3RoaXMuY2xvbmVTdGF0ZSh0aGlzLmhpc3RvcnlbdGhpcy5jdXJyZW50SW5kZXhdKTpudWxsfWNsZWFyKCl7dGhpcy5oaXN0b3J5PVtdLHRoaXMuY3VycmVudEluZGV4PS0xLHRoaXMubGFzdFNhdmVUaW1lPTB9Y2xvbmVCbG9ja3MoZSl7cmV0dXJuIGUubWFwKHQ9Pih7Li4udCxtZXRhZGF0YTp0Lm1ldGFkYXRhP3suLi50Lm1ldGFkYXRhfTp2b2lkIDB9KSl9Y2xvbmVTdGF0ZShlKXtyZXR1cm57YmxvY2tzOnRoaXMuY2xvbmVCbG9ja3MoZS5ibG9ja3MpLHNlbGVjdGVkQmxvY2tJZDplLnNlbGVjdGVkQmxvY2tJZCxjdXJzb3JQb3NpdGlvbjplLmN1cnNvclBvc2l0aW9uP3suLi5lLmN1cnNvclBvc2l0aW9ufTp2b2lkIDAsdGltZXN0YW1wOmUudGltZXN0YW1wfX1nZXRIaXN0b3J5SW5mbygpe3JldHVybntzaXplOnRoaXMuaGlzdG9yeS5sZW5ndGgsY3VycmVudEluZGV4OnRoaXMuY3VycmVudEluZGV4LGNhblVuZG86dGhpcy5jYW5VbmRvKCksY2FuUmVkbzp0aGlzLmNhblJlZG8oKX19fX0pO3ZhciBWVyx6YyxKMmEsZWxhPWYoKCk9PntsZSgpO0lvKCk7aGMoKTtVMigpO0dYZSgpO1lYZSgpO0FmKCk7WHIoKTtRZSgpO1ZXPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx6Yz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sSjJhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy13eXNpd3lnLWJsb2NrIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXeXNpd3lnQmxvY2siKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgaz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOkJvb2xlYW59KV0sdT1bJCh7dHlwZTpPYmplY3R9KV0seD1bJCh7dHlwZTpPYmplY3R9KV0sVlcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJibG9jayIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iYmxvY2siaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5ibG9jaywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmJsb2NrPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSxWVyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzU2VsZWN0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImlzU2VsZWN0ZWQiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5pc1NlbGVjdGVkLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuaXNTZWxlY3RlZD1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGMscCksVlcodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoYW5kbGVycyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iaGFuZGxlcnMiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5oYW5kbGVycywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmhhbmRsZXJzPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSxWVyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Ind5c2l3eWdDb21wb25lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+Ind5c2l3eWdDb21wb25lbnQiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy53eXNpd3lnQ29tcG9uZW50LCJnZXQiKSxzZXQ6cygoQyxOKT0+e0Mud3lzaXd5Z0NvbXBvbmVudD1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGIsZyksVlcobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6a30sbnVsbCx0KSx5PXI9ZS52YWx1ZSxrJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5fc2VsZWN0aW9uSGFuZGxlciYmZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIix0aGlzLl9zZWxlY3Rpb25IYW5kbGVyKX0jZT16Yyh0aGlzLG4sdm9pZCAwKTtnZXQgYmxvY2soKXtyZXR1cm4gdGhpcy4jZX1zZXQgYmxvY2soayl7dGhpcy4jZT1rfSN0PSh6Yyh0aGlzLGwpLHpjKHRoaXMsYywhMSkpO2dldCBpc1NlbGVjdGVkKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGlzU2VsZWN0ZWQoayl7dGhpcy4jdD1rfSNhPSh6Yyh0aGlzLHApLHpjKHRoaXMsbSx2b2lkIDApKTtnZXQgaGFuZGxlcnMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgaGFuZGxlcnMoayl7dGhpcy4jYT1rfSNyPSh6Yyh0aGlzLHYpLHpjKHRoaXMsYix2b2lkIDApKTtnZXQgd3lzaXd5Z0NvbXBvbmVudCgpe3JldHVybiB0aGlzLiNyfXNldCB3eXNpd3lnQ29tcG9uZW50KGspe3RoaXMuI3I9a31ibG9ja0VsZW1lbnQ9KHpjKHRoaXMsZyksbnVsbCk7Y29udGVudEluaXRpYWxpemVkPSExO2xhc3RLbm93bkN1cnNvclBvc2l0aW9uPTA7bGFzdFNlbGVjdGVkVGV4dD0iIjtoYW5kbGVyU3R5bGVzSW5qZWN0ZWQ9ITE7c3RhdGljIE5PTl9FRElUQUJMRV9UWVBFUz1bImltYWdlIiwiZGl2aWRlciIsInlvdXR1YmUiXTtpbmplY3RIYW5kbGVyU3R5bGVzKCl7aWYodGhpcy5oYW5kbGVyU3R5bGVzSW5qZWN0ZWQpcmV0dXJuO3RoaXMuaGFuZGxlclN0eWxlc0luamVjdGVkPSEwO2xldCBrPSIiLEM9amEuZ2V0QWxsVHlwZXMoKTtmb3IobGV0IE4gb2YgQyl7bGV0IF89amEuZ2V0SGFuZGxlcihOKTtfJiYoays9Xy5nZXRTdHlsZXMoKSl9aWYoayl7bGV0IE49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtOLnRleHRDb250ZW50PWssdGhpcy5zaGFkb3dSb290Py5hcHBlbmRDaGlsZChOKX19c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmJsb2NrIHsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgICBtaW4taGVpZ2h0OiAxLjZlbTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDAwMDAwIiwiI2UwZTBlMCIpfTsKICAgICAgfQoKICAgICAgLmJsb2NrOmVtcHR5Om5vdCg6Zm9jdXMpOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1wbGFjZWhvbGRlcik7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOTk5IiwiIzY2NiIpfTsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIEJsb2NrLXNwZWNpZmljIHN0eWxlcyBtb3ZlZCB0byBoYW5kbGVycyAqLwoKCiAgICAgIC8qIEZvcm1hdHRpbmcgc3R5bGVzICovCiAgICAgIC5ibG9jayA6aXMoYiwgc3Ryb25nKSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAuYmxvY2sgOmlzKGksIGVtKSB7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CgogICAgICAuYmxvY2sgdSB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5ibG9jayBzIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsKICAgICAgfQoKICAgICAgLmJsb2NrIGNvZGUgewogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMC45ZW07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNikiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZDE0IiwiI2ZmNmI2YiIpfTsKICAgICAgfQoKICAgICAgLmJsb2NrIGEgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwNjZjYyIsIiM0ZDk0ZmYiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5ibG9jayBhOmhvdmVyIHsKICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAke2guYmRUaGVtZSgiIzAwNjZjYyIsIiM0ZDk0ZmYiKX07CiAgICAgIH0KCiAgICAgIC8qIENvZGUgYmxvY2sgY29udGFpbmVyIGFuZCBsYW5ndWFnZSBzdHlsZXMgbW92ZWQgdG8gaGFuZGxlciAqLwoKICAgICAgLyogU2VsZWN0aW9uIHN0eWxlcyAqLwogICAgICAuYmxvY2sgOjpzZWxlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDEwMiwgMjA0LCAwLjMpIiwicmdiYSg3NywgMTQ4LCAyNTUsIDAuMykiKX07CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgIH0KCgogICAgICAvKiBTdHJpa2UgdGhyb3VnaCAqLwogICAgICAuYmxvY2sgOmlzKHMsIHN0cmlrZSkgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKCiAgICAgIC8qIEJsb2NrIG1hcmdpbiBhZGp1c3RtZW50cyBiYXNlZCBvbiB0eXBlICovCiAgICAgIDpob3N0LWNvbnRleHQoLmJsb2NrLXdyYXBwZXI6Zmlyc3QtY2hpbGQpIC5ibG9jayB7CiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICA6aG9zdC1jb250ZXh0KC5ibG9jay13cmFwcGVyOmxhc3QtY2hpbGQpIC5ibG9jayB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogU2VsZWN0ZWQgc3RhdGUgKi8KICAgICAgLmJsb2NrLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAxMDIsIDIwNCwgMC4wNSkiLCJyZ2JhKDc3LCAxNDgsIDI1NSwgMC4wOCkiKX07CiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDEwMiwgMjA0LCAwLjIpIiwicmdiYSg3NywgMTQ4LCAyNTUsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4OwogICAgICAgIG1hcmdpbi1yaWdodDogLThweDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7CiAgICAgIH0KCgoKCiAgICBgXTtzaG91bGRVcGRhdGUoayl7aWYoay5oYXMoImlzU2VsZWN0ZWQiKSYmdGhpcy5ibG9jayl7bGV0IEM9bnVsbCxfPWAuYmxvY2suJHt0aGlzLmJsb2NrLnR5cGV9YDtyZXR1cm4gQz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoXyksQyYmKHRoaXMuaXNTZWxlY3RlZD9DLmNsYXNzTGlzdC5hZGQoInNlbGVjdGVkIik6Qy5jbGFzc0xpc3QucmVtb3ZlKCJzZWxlY3RlZCIpKSwhMX1pZihrLmhhcygiYmxvY2siKSYmdGhpcy5ibG9jayl7bGV0IEM9ay5nZXQoImJsb2NrIik7aWYoQyYmQy5pZCYmQy50eXBlJiZDLmlkPT09dGhpcy5ibG9jay5pZCYmQy50eXBlPT09dGhpcy5ibG9jay50eXBlKXJldHVybiExfXJldHVybiF0aGlzLmJsb2NrRWxlbWVudHx8dGhpcy5ibG9jaz8udHlwZSE9PXRoaXMuYmxvY2tFbGVtZW50LmRhdGFzZXQuYmxvY2tUeXBlfWZpcnN0VXBkYXRlZCgpe3RoaXMuY29udGVudEluaXRpYWxpemVkPSEwLHRoaXMuaW5qZWN0SGFuZGxlclN0eWxlcygpO2xldCBrPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIik7aWYoayYmdGhpcy5ibG9jayYmKGsuaW5uZXJIVE1MPXRoaXMucmVuZGVyQmxvY2tDb250ZW50KCkpLHRoaXMuYmxvY2spe2xldCBOPWphLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihOKXtsZXQgXz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpO18mJk4uc2V0dXAoXyx0aGlzLmJsb2NrLHRoaXMuaGFuZGxlcnMpO3JldHVybn19bGV0IEM9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZihDKXtDLnNldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIsdGhpcy5ibG9jay5pZCksQy5zZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2stdHlwZSIsdGhpcy5ibG9jay50eXBlKSxDLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixfPT57dGhpcy5oYW5kbGVycz8ub25JbnB1dD8uKF8pO2xldCB6PXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oQyk7eiE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPXopfSksQy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixfPT57bGV0IHo9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihDKTt6IT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249eiksdGhpcy5oYW5kbGVycz8ub25LZXlEb3duPy4oXyl9KSxDLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+e3RoaXMuaGFuZGxlcnM/Lm9uRm9jdXM/LigpfSksQy5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e3RoaXMuaGFuZGxlcnM/Lm9uQmx1cj8uKCl9KSxDLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uc3RhcnQiLCgpPT57dGhpcy5oYW5kbGVycz8ub25Db21wb3NpdGlvblN0YXJ0Py4oKX0pLEMuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLCgpPT57dGhpcy5oYW5kbGVycz8ub25Db21wb3NpdGlvbkVuZD8uKCl9KSxDLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLF89PntsZXQgej10aGlzLmdldEN1cnNvclBvc2l0aW9uKEMpO3ohPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj16KSx0aGlzLmhhbmRsZXJzPy5vbk1vdXNlVXA/LihfKX0pLEMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57c2V0VGltZW91dCgoKT0+e2xldCBfPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oQyk7XyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPV8pfSwwKX0pO2xldCBOPXMoKCk9PntsZXQgXz13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIV98fF8ucmFuZ2VDb3VudD09PTApcmV0dXJuO2xldCB6PV8udG9TdHJpbmcoKTtpZih6Lmxlbmd0aD09PTApe3RoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOnt0ZXh0OiIiLGJsb2NrSWQ6dGhpcy5ibG9jay5pZCxoYXNTZWxlY3Rpb246ITF9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSkpO3JldHVybn1sZXQgTz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFPKXJldHVybjtsZXQgUD10aGlzLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LEI9W107UCYmQi5wdXNoKFApLHRoaXMuc2hhZG93Um9vdCYmQi5wdXNoKHRoaXMuc2hhZG93Um9vdCk7bGV0IE09cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi5CKTtpZighTSlyZXR1cm47bGV0IFM9cnQuY29udGFpbnNBY3Jvc3NTaGFkb3dET00oTyxNLnN0YXJ0Q29udGFpbmVyKSxFPXJ0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKE8sTS5lbmRDb250YWluZXIpO2lmKFN8fEUpe2lmKHohPT10aGlzLmxhc3RTZWxlY3RlZFRleHQpe3RoaXMubGFzdFNlbGVjdGVkVGV4dD16O2xldCBBPXJ0LmNyZWF0ZVJhbmdlRnJvbUluZm8oTSksRj1BLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImJsb2NrLXRleHQtc2VsZWN0ZWQiLHtkZXRhaWw6e3RleHQ6ei50cmltKCksYmxvY2tJZDp0aGlzLmJsb2NrLmlkLHJhbmdlOkEscmVjdDpGLGhhc1NlbGVjdGlvbjohMH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX19ZWxzZSB0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYmxvY2stdGV4dC1zZWxlY3RlZCIse2RldGFpbDp7dGV4dDoiIixibG9ja0lkOnRoaXMuYmxvY2suaWQsaGFzU2VsZWN0aW9uOiExfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX0sImNoZWNrU2VsZWN0aW9uIik7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixOKSx0aGlzLl9zZWxlY3Rpb25IYW5kbGVyPU4sQy5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsKCk9PntsZXQgXz10aGlzLmdldEN1cnNvclBvc2l0aW9uKEMpO18hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1fKX0pLHRoaXMuYmxvY2suY29udGVudCYmKEMuaW5uZXJIVE1MPXRoaXMuYmxvY2suY29udGVudCl9dGhpcy5ibG9ja0VsZW1lbnQ9Q31yZW5kZXIoKXtyZXR1cm4gdGhpcy5ibG9jaz9XbGA8ZGl2IGNsYXNzPSJ3eXNpd3lnLWJsb2NrLWNvbnRhaW5lciI+PC9kaXY+YDpXbGBgfXJlbmRlckJsb2NrQ29udGVudCgpe2lmKCF0aGlzLmJsb2NrKXJldHVybiIiO2xldCBrPWphLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihrKXJldHVybiBrLnJlbmRlcih0aGlzLmJsb2NrLHRoaXMuaXNTZWxlY3RlZCk7bGV0IEM9dGhpcy5pc1NlbGVjdGVkPyIgc2VsZWN0ZWQiOiIiO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayAke3RoaXMuYmxvY2sudHlwZX0ke0N9IgogICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgPjwvZGl2PgogICAgYH1mb2N1cygpe2xldCBrPWphLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihrJiZrLmZvY3VzKXtsZXQgTj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpLF89e3NoYWRvd1Jvb3Q6dGhpcy5zaGFkb3dSb290LGNvbXBvbmVudDp0aGlzfTtyZXR1cm4gay5mb2N1cyhOLF8pfWlmKHRoaXMuYmxvY2smJnkuTk9OX0VESVRBQkxFX1RZUEVTLmluY2x1ZGVzKHRoaXMuYmxvY2sudHlwZSkpe2xldCBOPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLmJsb2NrLiR7dGhpcy5ibG9jay50eXBlfWApO04mJk4uZm9jdXMoKTtyZXR1cm59bGV0IEM9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtDJiYoQy5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxDLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLEMuZm9jdXMoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09QyYmdGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50IT09QyYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e0MuZm9jdXMoKX0pKX1mb2N1c1dpdGhDdXJzb3Ioaz0iZW5kIil7bGV0IEM9amEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKEMmJkMuZm9jdXNXaXRoQ3Vyc29yKXtsZXQgej10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpLE89e3NoYWRvd1Jvb3Q6dGhpcy5zaGFkb3dSb290LGNvbXBvbmVudDp0aGlzfTtyZXR1cm4gQy5mb2N1c1dpdGhDdXJzb3IoeixrLE8pfWlmKHRoaXMuYmxvY2smJnkuTk9OX0VESVRBQkxFX1RZUEVTLmluY2x1ZGVzKHRoaXMuYmxvY2sudHlwZSkpe3RoaXMuZm9jdXMoKTtyZXR1cm59bGV0IE49dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighTilyZXR1cm47Ti5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxOLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLE4uZm9jdXMoKTtsZXQgXz1zKCgpPT57az09PSJzdGFydCI/dGhpcy5zZXRDdXJzb3JUb1N0YXJ0KCk6az09PSJlbmQiP3RoaXMuc2V0Q3Vyc29yVG9FbmQoKTp0eXBlb2Ygaz09Im51bWJlciImJnJ0LnNldEN1cnNvclBvc2l0aW9uKE4sayl9LCJzZXRDdXJzb3IiKTtkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09Tnx8dGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09Tj9fKCk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+eyhkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09Tnx8dGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09TikmJl8oKX0pfWdldEN1cnNvclBvc2l0aW9uKGspe2xldCBDPWphLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihDJiZDLmdldEN1cnNvclBvc2l0aW9uKXtsZXQgQj17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBDLmdldEN1cnNvclBvc2l0aW9uKGssQil9bGV0IF89dGhpcy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCx6PVtdO18mJnoucHVzaChfKSx0aGlzLnNoYWRvd1Jvb3QmJnoucHVzaCh0aGlzLnNoYWRvd1Jvb3QpO2xldCBPPXJ0LmdldFNlbGVjdGlvbkluZm8oLi4ueik7aWYoY29uc29sZS5sb2coImdldEN1cnNvclBvc2l0aW9uOiBTZWxlY3Rpb24gaW5mbyBmcm9tIHNoYWRvdyBET01zOiIse3NlbGVjdGlvbkluZm86TyxzaGFkb3dSb290c0NvdW50OnoubGVuZ3RofSksIU8pcmV0dXJuIGNvbnNvbGUubG9nKCJnZXRDdXJzb3JQb3NpdGlvbjogTm8gc2VsZWN0aW9uIGZvdW5kIiksbnVsbDtpZihjb25zb2xlLmxvZygiZ2V0Q3Vyc29yUG9zaXRpb246IFJhbmdlIGluZm86Iix7c3RhcnRDb250YWluZXI6Ty5zdGFydENvbnRhaW5lcixzdGFydE9mZnNldDpPLnN0YXJ0T2Zmc2V0LGNvbGxhcHNlZDpPLmNvbGxhcHNlZCxzdGFydENvbnRhaW5lclRleHQ6Ty5zdGFydENvbnRhaW5lci50ZXh0Q29udGVudH0pLCFrLmNvbnRhaW5zKE8uc3RhcnRDb250YWluZXIpKXJldHVybiBjb25zb2xlLmxvZygiZ2V0Q3Vyc29yUG9zaXRpb246IFJhbmdlIG5vdCBpbiBlbGVtZW50IiksbnVsbDtsZXQgVD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO1Quc2VsZWN0Tm9kZUNvbnRlbnRzKGspLFQuc2V0RW5kKE8uc3RhcnRDb250YWluZXIsTy5zdGFydE9mZnNldCk7bGV0IFA9VC50b1N0cmluZygpLmxlbmd0aDtyZXR1cm4gY29uc29sZS5sb2coImdldEN1cnNvclBvc2l0aW9uOiBDYWxjdWxhdGVkIHBvc2l0aW9uOiIse3Bvc2l0aW9uOlAscHJlQ2FyZXRUZXh0OlQudG9TdHJpbmcoKSxlbGVtZW50VGV4dDprLnRleHRDb250ZW50LGVsZW1lbnRUZXh0TGVuZ3RoOmsudGV4dENvbnRlbnQ/Lmxlbmd0aH0pLFB9Z2V0Q29udGVudCgpe2xldCBrPWphLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihrJiZrLmdldENvbnRlbnQpe2xldCBfPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksej17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBrLmdldENvbnRlbnQoXyx6KX1sZXQgQz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFDKXJldHVybiIiO2xldCBOPUMuaW5uZXJIVE1MfHwiIjtyZXR1cm4gY29uc29sZS5sb2coIkdldHRpbmcgY29udGVudCBmcm9tIGJsb2NrOiIsTiksTn1zZXRDb250ZW50KGspe2xldCBDPWphLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihDJiZDLnNldENvbnRlbnQpe2xldCB6PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksTz17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBDLnNldENvbnRlbnQoeixrLE8pfWxldCBOPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIU4pcmV0dXJuO2xldCBfPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1OfHx0aGlzLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1OO04uaW5uZXJIVE1MPWssXyYmTi5mb2N1cygpfXNldEN1cnNvclRvU3RhcnQoKXtsZXQgaz1qYS5nZXRIYW5kbGVyKHRoaXMuYmxvY2sudHlwZSk7aWYoayYmay5zZXRDdXJzb3JUb1N0YXJ0KXtsZXQgTj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpLF89e3NoYWRvd1Jvb3Q6dGhpcy5zaGFkb3dSb290LGNvbXBvbmVudDp0aGlzfTtyZXR1cm4gay5zZXRDdXJzb3JUb1N0YXJ0KE4sXyl9bGV0IEM9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtDJiZzaS5zZXRDdXJzb3JUb1N0YXJ0KEMpfXNldEN1cnNvclRvRW5kKCl7bGV0IGs9amEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKGsmJmsuc2V0Q3Vyc29yVG9FbmQpe2xldCBOPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksXz17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBrLnNldEN1cnNvclRvRW5kKE4sXyl9bGV0IEM9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtDJiZzaS5zZXRDdXJzb3JUb0VuZChDKX1nZXRDb250ZXh0TWVudUl0ZW1zKCl7aWYoIXRoaXMuYmxvY2t8fHRoaXMuYmxvY2sudHlwZT09PSJkaXZpZGVyIilyZXR1cm5bXTtsZXQgaz1lcy5nZXRTbGFzaE1lbnVJdGVtcygpLEM9dGhpcy5ibG9jay50eXBlLE49dGhpcy53eXNpd3lnQ29tcG9uZW50LF89dGhpcy5ibG9jay5pZCxPPVt7bmFtZToiQ2hhbmdlIFR5cGUiLGljb25OYW1lOiJ0eXBlIixzdWJtZW51OmsuZmlsdGVyKFQ9PlQudHlwZSE9PUMmJlQudHlwZSE9PSJkaXZpZGVyIikubWFwKFQ9Pih7bmFtZTpULmxhYmVsLGljb25OYW1lOlQuaWNvbi5yZXBsYWNlKCJsdWNpZGU6IiwiIiksYWN0aW9uOnMoYXN5bmMoKT0+e2lmKE4mJk4uYmxvY2tPcGVyYXRpb25zKXtsZXQgUD1OLmJsb2Nrcy5maW5kKEI9PkIuaWQ9PT1fKTtQJiYoUC50eXBlPVQudHlwZSxQLmNvbnRlbnQ9UC5jb250ZW50fHwiIixULnR5cGU9PT0iY29kZSI/UC5tZXRhZGF0YT17bGFuZ3VhZ2U6InR5cGVzY3JpcHQifTpULnR5cGU9PT0ibGlzdCI/UC5tZXRhZGF0YT17bGlzdFR5cGU6ImJ1bGxldCJ9OlQudHlwZT09PSJpbWFnZSI/KFAuY29udGVudD0iIixQLm1ldGFkYXRhPXt1cmw6IiIsbG9hZGluZzohMX0pOlQudHlwZT09PSJ5b3V0dWJlIj8oUC5jb250ZW50PSIiLFAubWV0YWRhdGE9e3ZpZGVvSWQ6IiIsdXJsOiIifSk6VC50eXBlPT09Im1hcmtkb3duIj9QLm1ldGFkYXRhPXtzaG93UHJldmlldzohMX06VC50eXBlPT09Imh0bWwiP1AubWV0YWRhdGE9e3Nob3dQcmV2aWV3OiExfTpULnR5cGU9PT0iYXR0YWNobWVudCImJihQLmNvbnRlbnQ9IiIsUC5tZXRhZGF0YT17ZmlsZXM6W119KSxOLnVwZGF0ZUJsb2NrRWxlbWVudChfKSxOLnVwZGF0ZVZhbHVlKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Ti5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayhfKX0pKX19LCJhY3Rpb24iKX0pKX1dO3JldHVyblsiaW1hZ2UiLCJkaXZpZGVyIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyh0aGlzLmJsb2NrLnR5cGUpfHxPLnB1c2goe2RpdmlkZXI6ITB9LHtuYW1lOiJDdXQiLGljb25OYW1lOiJzY2lzc29ycyIsc2hvcnRjdXQ6IkNtZCtYIixhY3Rpb246cyhhc3luYygpPT57ZG9jdW1lbnQuZXhlY0NvbW1hbmQoImN1dCIpfSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IixpY29uTmFtZToiY29weSIsc2hvcnRjdXQ6IkNtZCtDIixhY3Rpb246cyhhc3luYygpPT57ZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKX0sImFjdGlvbiIpfSx7bmFtZToiUGFzdGUiLGljb25OYW1lOiJjbGlwYm9hcmQiLHNob3J0Y3V0OiJDbWQrViIsYWN0aW9uOnMoYXN5bmMoKT0+e2RvY3VtZW50LmV4ZWNDb21tYW5kKCJwYXN0ZSIpfSwiYWN0aW9uIil9KSxPLnB1c2goe2RpdmlkZXI6ITB9LHtuYW1lOiJEZWxldGUgQmxvY2siLGljb25OYW1lOiJ0cmFzaDIiLGFjdGlvbjpzKGFzeW5jKCk9PntOJiZOLmJsb2NrT3BlcmF0aW9ucyYmTi5ibG9ja09wZXJhdGlvbnMuZGVsZXRlQmxvY2soXyl9LCJhY3Rpb24iKX0pLE99Z2V0U3BsaXRDb250ZW50KCl7Y29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU3RhcnRpbmcuLi4iKTtsZXQgaz1qYS5nZXRIYW5kbGVyKHRoaXMuYmxvY2sudHlwZSk7aWYoY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogQ2hlY2tpbmcgZm9yIGhhbmRsZXIiLHtibG9ja1R5cGU6dGhpcy5ibG9jay50eXBlLGhhc0hhbmRsZXI6ISFrLGhhc1NwbGl0TWV0aG9kOiEhKGsmJmsuZ2V0U3BsaXRDb250ZW50KX0pLGsmJmsuZ2V0U3BsaXRDb250ZW50KXtsZXQgVz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpO2NvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IEZvdW5kIGNvbnRhaW5lciIse2NvbnRhaW5lcjohIVcsY29udGFpbmVySFRNTDpXPy5pbm5lckhUTUw/LnN1YnN0cmluZygwLDEwMCl9KTtsZXQgaj17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBrLmdldFNwbGl0Q29udGVudChXLGopfWxldCBDPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIUMpcmV0dXJuIGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IE5vIGVkaXRhYmxlIGVsZW1lbnQgZm91bmQiKSxudWxsO2NvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IEVsZW1lbnQgaW5mbzoiLHtibG9ja1R5cGU6dGhpcy5ibG9jay50eXBlLGlubmVySFRNTDpDLmlubmVySFRNTCx0ZXh0Q29udGVudDpDLnRleHRDb250ZW50LHRleHRMZW5ndGg6Qy50ZXh0Q29udGVudD8ubGVuZ3RofSk7bGV0IF89dGhpcy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCx6PVtdO18mJnoucHVzaChfKSx0aGlzLnNoYWRvd1Jvb3QmJnoucHVzaCh0aGlzLnNoYWRvd1Jvb3QpO2xldCBPPXJ0LmdldFNlbGVjdGlvbkluZm8oLi4ueik7aWYoY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU2VsZWN0aW9uIGluZm8gZnJvbSBzaGFkb3cgRE9NczoiLHtzZWxlY3Rpb25JbmZvOk8sc2hhZG93Um9vdHNDb3VudDp6Lmxlbmd0aH0pLCFPKXtpZihjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBObyBzZWxlY3Rpb24sIHVzaW5nIGxhc3Qga25vd24gcG9zaXRpb246Iix0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uKSx0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uIT09bnVsbCl7bGV0IFc9Qy50ZXh0Q29udGVudHx8IiIsaj1NYXRoLm1pbih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uLFcubGVuZ3RoKTtyZXR1cm4gY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU3BsaXR0aW5nIHdpdGggbGFzdCBrbm93biBwb3NpdGlvbjoiLHtwb3M6aixmdWxsVGV4dExlbmd0aDpXLmxlbmd0aCxiZWZvcmU6Vy5zdWJzdHJpbmcoMCxqKSxhZnRlcjpXLnN1YnN0cmluZyhqKX0pLHtiZWZvcmU6Vy5zdWJzdHJpbmcoMCxqKSxhZnRlcjpXLnN1YnN0cmluZyhqKX19cmV0dXJuIG51bGx9aWYoY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU2VsZWN0aW9uIHJhbmdlOiIse3N0YXJ0Q29udGFpbmVyOk8uc3RhcnRDb250YWluZXIsc3RhcnRPZmZzZXQ6Ty5zdGFydE9mZnNldCxzdGFydENvbnRhaW5lckluRWxlbWVudDpDLmNvbnRhaW5zKE8uc3RhcnRDb250YWluZXIpfSksIXJ0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKEMsTy5zdGFydENvbnRhaW5lcikpe2lmKGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IFNlbGVjdGlvbiBub3QgaW4gdGhpcyBibG9jaywgdXNpbmcgbGFzdCBrbm93biBwb3NpdGlvbjoiLHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24pLHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24hPT1udWxsKXtsZXQgVz1DLnRleHRDb250ZW50fHwiIixqPU1hdGgubWluKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24sVy5sZW5ndGgpO3JldHVybntiZWZvcmU6Vy5zdWJzdHJpbmcoMCxqKSxhZnRlcjpXLnN1YnN0cmluZyhqKX19cmV0dXJuIG51bGx9bGV0IFQ9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihDKTtpZihjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBDdXJzb3IgcG9zaXRpb24gZm9yIEhUTUwgc3BsaXQ6IixUKSxUPT09bnVsbHx8VD09PTApcmV0dXJuIGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IEN1cnNvciBhdCBzdGFydCBvciBudWxsLCBtb3ZpbmcgYWxsIGNvbnRlbnQiKSx7YmVmb3JlOiIiLGFmdGVyOkMuaW5uZXJIVE1MfTtsZXQgUD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLEI9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtQLnNldFN0YXJ0KEMsMCksUC5zZXRFbmQoTy5zdGFydENvbnRhaW5lcixPLnN0YXJ0T2Zmc2V0KSxCLnNldFN0YXJ0KE8uc3RhcnRDb250YWluZXIsTy5zdGFydE9mZnNldCksQi5zZXRFbmQoQyxDLmNoaWxkTm9kZXMubGVuZ3RoKTtsZXQgTT1QLmNsb25lQ29udGVudHMoKSxTPUIuY2xvbmVDb250ZW50cygpLEU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7RS5hcHBlbmRDaGlsZChNKTtsZXQgQT1FLmlubmVySFRNTDtFLmlubmVySFRNTD0iIixFLmFwcGVuZENoaWxkKFMpO2xldCBGPUUuaW5uZXJIVE1MO3JldHVybiBjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBGaW5hbCBzcGxpdCByZXN1bHQ6Iix7Y3Vyc29yUG9zOlQsYmVmb3JlSHRtbDpBLGJlZm9yZUxlbmd0aDpBLmxlbmd0aCxiZWZvcmVIdG1sUHJldmlldzpBLnN1YnN0cmluZygwLDEwMCkrKEEubGVuZ3RoPjEwMD8iLi4uIjoiIiksYWZ0ZXJIdG1sOkYsYWZ0ZXJMZW5ndGg6Ri5sZW5ndGgsYWZ0ZXJIdG1sUHJldmlldzpGLnN1YnN0cmluZygwLDEwMCkrKEYubGVuZ3RoPjEwMD8iLi4uIjoiIil9KSx7YmVmb3JlOkEsYWZ0ZXI6Rn19c3RhdGlje3pjKHIsdCl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciBaWGU9ZigoKT0+e05zZSgpO0lvKCk7Y20oKTt6YWUoKTtkaWEoKTtlS2UoKTtBZigpO1hZZSgpO1UyKCk7aGMoKTt0S2UoKTtZWGUoKTtLMmEoKTtaMmEoKTtYMmEoKTtLWGUoKTtRMmEoKTtaWWUoKTtRWWUoKTtlbGEoKX0pO3ZhciB6NCxlbyxqVyxOc2U9ZigoKT0+e1NyKCk7Y2lhKCk7Y2MoKTtsZSgpO1pYZSgpO1FlKCk7ejQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGVvPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxqVz0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtd3lzaXd5ZyIpXSxlLHQ9W10scixpPU10LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxQPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRXeXNpd3lnIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IE09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bSygpXSx4PVtLKCldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLHo0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InZhbHVlImluIFMsImhhcyIpLGdldDpzKFM9PlMudmFsdWUsImdldCIpLHNldDpzKChTLEUpPT57Uy52YWx1ZT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksejQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvdXRwdXRGb3JtYXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+Im91dHB1dEZvcm1hdCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLm91dHB1dEZvcm1hdCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLm91dHB1dEZvcm1hdD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGMscCksejQodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJibG9ja3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImJsb2NrcyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmJsb2NrcywiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLmJsb2Nrcz1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksejQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkcmFnZ2VkQmxvY2tJZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iZHJhZ2dlZEJsb2NrSWQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5kcmFnZ2VkQmxvY2tJZCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLmRyYWdnZWRCbG9ja0lkPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixnKSx6NCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdPdmVyQmxvY2tJZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iZHJhZ092ZXJCbG9ja0lkImluIFMsImhhcyIpLGdldDpzKFM9PlMuZHJhZ092ZXJCbG9ja0lkLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MuZHJhZ092ZXJCbG9ja0lkPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSx6NCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdPdmVyUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImRyYWdPdmVyUG9zaXRpb24iaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5kcmFnT3ZlclBvc2l0aW9uLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MuZHJhZ092ZXJQb3NpdGlvbj1FfSwic2V0Iil9LG1ldGFkYXRhOk19LF8seiksejQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InNlbGVjdGVkVGV4dCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnNlbGVjdGVkVGV4dCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnNlbGVjdGVkVGV4dD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsUCksejQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1saWE7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCIsIldvcmtzcGFjZSJdOyNlPWVvKHRoaXMsbiwiIik7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKE0pe3RoaXMuI2U9TX0jdD0oZW8odGhpcyxsKSxlbyh0aGlzLGMsImh0bWwiKSk7Z2V0IG91dHB1dEZvcm1hdCgpe3JldHVybiB0aGlzLiN0fXNldCBvdXRwdXRGb3JtYXQoTSl7dGhpcy4jdD1NfSNhPShlbyh0aGlzLHApLGVvKHRoaXMsbSxbe2lkOmVzLmdlbmVyYXRlQmxvY2tJZCgpLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiIn1dKSk7Z2V0IGJsb2Nrcygpe3JldHVybiB0aGlzLiNhfXNldCBibG9ja3MoTSl7dGhpcy4jYT1NfXNlbGVjdGVkQmxvY2tJZD0oZW8odGhpcyx2KSxudWxsKTtzbGFzaE1lbnU9TWFlLmdldEluc3RhbmNlKCk7I3I9ZW8odGhpcyxiLG51bGwpO2dldCBkcmFnZ2VkQmxvY2tJZCgpe3JldHVybiB0aGlzLiNyfXNldCBkcmFnZ2VkQmxvY2tJZChNKXt0aGlzLiNyPU19I3M9KGVvKHRoaXMsZyksZW8odGhpcyxrLG51bGwpKTtnZXQgZHJhZ092ZXJCbG9ja0lkKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGRyYWdPdmVyQmxvY2tJZChNKXt0aGlzLiNzPU19I2k9KGVvKHRoaXMsQyksZW8odGhpcyxfLG51bGwpKTtnZXQgZHJhZ092ZXJQb3NpdGlvbigpe3JldHVybiB0aGlzLiNpfXNldCBkcmFnT3ZlclBvc2l0aW9uKE0pe3RoaXMuI2k9TX1mb3JtYXR0aW5nTWVudT0oZW8odGhpcyx6KSxTYWUuZ2V0SW5zdGFuY2UoKSk7I289ZW8odGhpcyxULCIiKTtnZXQgc2VsZWN0ZWRUZXh0KCl7cmV0dXJuIHRoaXMuI299c2V0IHNlbGVjdGVkVGV4dChNKXt0aGlzLiNvPU19ZWRpdG9yQ29udGVudFJlZj1lbyh0aGlzLFApO2lzQ29tcG9zaW5nPSExO2Jsb2NrT3BlcmF0aW9ucztpbnB1dEhhbmRsZXI7a2V5Ym9hcmRIYW5kbGVyO2RyYWdEcm9wSGFuZGxlcjtoaXN0b3J5O3N0YXRpYyBzdHlsZXM9W1BlLC4uLk10LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLEpZZV07Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuYmxvY2tPcGVyYXRpb25zPW5ldyBJVSh0aGlzKSx0aGlzLmlucHV0SGFuZGxlcj1uZXcgRlcodGhpcyksdGhpcy5rZXlib2FyZEhhbmRsZXI9bmV3IEJXKHRoaXMpLHRoaXMuZHJhZ0Ryb3BIYW5kbGVyPW5ldyBIVyh0aGlzKSx0aGlzLmhpc3Rvcnk9bmV3IHFXfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5pbnB1dEhhbmRsZXI/LmRlc3Ryb3koKSx0aGlzLmJsdXJUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuYmx1clRpbWVvdXQpLHRoaXMuYmx1clRpbWVvdXQ9bnVsbCl9YXN5bmMgZmlyc3RVcGRhdGVkKCl7aWYodGhpcy52YWx1ZSYmdGhpcy52YWx1ZS50cmltKCkubGVuZ3RoPjApe2xldCBNPXRoaXMub3V0cHV0Rm9ybWF0PT09Imh0bWwiP0luLnBhcnNlSHRtbFRvQmxvY2tzKHRoaXMudmFsdWUpOkluLnBhcnNlTWFya2Rvd25Ub0Jsb2Nrcyh0aGlzLnZhbHVlKTtNLmxlbmd0aD4wJiYodGhpcy5ibG9ja3M9TSl9dGhpcy51cGRhdGVWYWx1ZSgpLHRoaXMuZWRpdG9yQ29udGVudFJlZj10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmVkaXRvci1jb250ZW50IiksdGhpcy5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmVkaXRvckNvbnRlbnRSZWYuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLE09PnRoaXMuaGFuZGxlRWRpdG9yQ2xpY2soTSkpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2stdGV4dC1zZWxlY3RlZCIsKE09PntpZighdGhpcy5zbGFzaE1lbnUudmlzaWJsZSYmTS5kZXRhaWwuaGFzU2VsZWN0aW9uJiZNLmRldGFpbC50ZXh0Lmxlbmd0aD4wJiYodGhpcy5zZWxlY3RlZFRleHQ9TS5kZXRhaWwudGV4dCxNLmRldGFpbC5yZWN0KSl7bGV0IFM9e3g6TS5kZXRhaWwucmVjdC5sZWZ0K00uZGV0YWlsLnJlY3Qud2lkdGgvMix5Ok1hdGgubWF4KDQ1LE0uZGV0YWlsLnJlY3QudG9wLTQ1KX07dGhpcy5mb3JtYXR0aW5nTWVudS5zaG93KFMsYXN5bmMgRT0+YXdhaXQgdGhpcy5hcHBseUZvcm1hdChFKSl9fSkpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsTT0+e2xldCBTPXRoaXMuZm9ybWF0dGluZ01lbnUuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmZvcm1hdHRpbmctbWVudSIpO2lmKFMmJlMuY29udGFpbnMoTS50YXJnZXQpKXJldHVybjtsZXQgRT13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7RSYmRS50b1N0cmluZygpLnRyaW0oKS5sZW5ndGg+MHx8dGhpcy5mb3JtYXR0aW5nTWVudS52aXNpYmxlJiZ0aGlzLmhpZGVGb3JtYXR0aW5nTWVudSgpfSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixNPT57bGV0IFM9TS50YXJnZXQ7IXRoaXMuY29udGFpbnMoUykmJiF0aGlzLnNoYWRvd1Jvb3Q/LmNvbnRhaW5zKFMpfHwoKE0ubWV0YUtleXx8TS5jdHJsS2V5KSYmIU0uc2hpZnRLZXkmJk0ua2V5PT09InoiPyhNLnByZXZlbnREZWZhdWx0KCksdGhpcy51bmRvKCkpOihNLm1ldGFLZXl8fE0uY3RybEtleSkmJk0uc2hpZnRLZXkmJk0ua2V5PT09InoiJiYoTS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMucmVkbygpKSl9KSx0aGlzLmhpc3Rvcnkuc2F2ZVN0YXRlKHRoaXMuYmxvY2tzLHRoaXMuc2VsZWN0ZWRCbG9ja0lkKSx0aGlzLnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKX1yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCl7dGhpcy5lZGl0b3JDb250ZW50UmVmJiYodGhpcy5lZGl0b3JDb250ZW50UmVmLmlubmVySFRNTD0iIix0aGlzLmJsb2Nrcy5mb3JFYWNoKE09PntsZXQgUz10aGlzLmNyZWF0ZUJsb2NrRWxlbWVudChNKTt0aGlzLmVkaXRvckNvbnRlbnRSZWYuYXBwZW5kQ2hpbGQoUyl9KSl9Y3JlYXRlQmxvY2tFbGVtZW50KE0pe2xldCBTPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKFMuY2xhc3NOYW1lPSJibG9jay13cmFwcGVyIixTLnNldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIsTS5pZCksTS50eXBlIT09ImRpdmlkZXIiKXtsZXQgQT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtBLmNsYXNzTmFtZT0iZHJhZy1oYW5kbGUiLEEuZHJhZ2dhYmxlPSEwLEEuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ3N0YXJ0IixGPT50aGlzLmRyYWdEcm9wSGFuZGxlci5oYW5kbGVEcmFnU3RhcnQoRixNKSksUy5hcHBlbmRDaGlsZChBKX1sZXQgRT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkZWVzLXd5c2l3eWctYmxvY2siKTtyZXR1cm4gRS5ibG9jaz1NLEUuaXNTZWxlY3RlZD10aGlzLnNlbGVjdGVkQmxvY2tJZD09PU0uaWQsRS53eXNpd3lnQ29tcG9uZW50PXRoaXMsRS5oYW5kbGVycz17b25JbnB1dDpzKEE9PnRoaXMuaW5wdXRIYW5kbGVyLmhhbmRsZUJsb2NrSW5wdXQoQSxNKSwib25JbnB1dCIpLG9uS2V5RG93bjpzKEE9PnRoaXMua2V5Ym9hcmRIYW5kbGVyLmhhbmRsZUJsb2NrS2V5RG93bihBLE0pLCJvbktleURvd24iKSxvbkZvY3VzOnMoKCk9PnRoaXMuaGFuZGxlQmxvY2tGb2N1cyhNKSwib25Gb2N1cyIpLG9uQmx1cjpzKCgpPT50aGlzLmhhbmRsZUJsb2NrQmx1cihNKSwib25CbHVyIiksb25Db21wb3NpdGlvblN0YXJ0OnMoKCk9PnRoaXMuaXNDb21wb3Npbmc9ITAsIm9uQ29tcG9zaXRpb25TdGFydCIpLG9uQ29tcG9zaXRpb25FbmQ6cygoKT0+dGhpcy5pc0NvbXBvc2luZz0hMSwib25Db21wb3NpdGlvbkVuZCIpLG9uTW91c2VVcDpzKEE9PnRoaXMuaGFuZGxlVGV4dFNlbGVjdGlvbihBKSwib25Nb3VzZVVwIiksb25SZXF1ZXN0VXBkYXRlOnMoKCk9PnRoaXMudXBkYXRlQmxvY2tFbGVtZW50KE0uaWQpLCJvblJlcXVlc3RVcGRhdGUiKX0sUy5hcHBlbmRDaGlsZChFKSxTLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIixBPT50aGlzLmRyYWdEcm9wSGFuZGxlci5oYW5kbGVEcmFnT3ZlcihBLE0pKSxTLmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLEE9PnRoaXMuZHJhZ0Ryb3BIYW5kbGVyLmhhbmRsZURyb3AoQSxNKSksUy5hZGRFdmVudExpc3RlbmVyKCJkcmFnbGVhdmUiLCgpPT50aGlzLmRyYWdEcm9wSGFuZGxlci5oYW5kbGVEcmFnTGVhdmUoTSkpLFN9dXBkYXRlQmxvY2tFbGVtZW50KE0pe2xldCBTPXRoaXMuYmxvY2tzLmZpbmQoRj0+Ri5pZD09PU0pO2lmKCFTKXJldHVybjtsZXQgRT10aGlzLmVkaXRvckNvbnRlbnRSZWYucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7TX0iXWApO2lmKCFFKXJldHVybjtsZXQgQT10aGlzLmNyZWF0ZUJsb2NrRWxlbWVudChTKTtFLnJlcGxhY2VXaXRoKEEpfXJlbmRlcigpe3JldHVybiBXbGAKICAgICAgPGRlZXMtbGFiZWwKICAgICAgICAubGFiZWw9IiR7dGhpcy5sYWJlbH0iCiAgICAgICAgLmluZm9UZXh0PSIke3RoaXMuaW5mb1RleHR9IgogICAgICAgIC5yZXF1aXJlZD0iJHt0aGlzLnJlcXVpcmVkfSIKICAgICAgPjwvZGVlcy1sYWJlbD4KICAgICAgPGRpdiBjbGFzcz0id3lzaXd5Zy1jb250YWluZXIiPgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJlZGl0b3ItY29udGVudCAke3RoaXMuZHJhZ2dlZEJsb2NrSWQ/ImRyYWdnaW5nIjoiIn0iCiAgICAgICAgICBpZD0iZWRpdG9yLWNvbnRlbnQiCiAgICAgICAgPgogICAgICAgICAgPCEtLSBCbG9ja3Mgd2lsbCBiZSByZW5kZXJlZCBwcm9ncmFtbWF0aWNhbGx5IC0tPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICBgfWhhbmRsZVNsYXNoTWVudUtleWJvYXJkKE0pe3N3aXRjaChNLmtleSl7Y2FzZSJBcnJvd0Rvd24iOk0ucHJldmVudERlZmF1bHQoKSx0aGlzLnNsYXNoTWVudS5uYXZpZ2F0ZSgiZG93biIpO2JyZWFrO2Nhc2UiQXJyb3dVcCI6TS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2xhc2hNZW51Lm5hdmlnYXRlKCJ1cCIpO2JyZWFrO2Nhc2UiRW50ZXIiOk0ucHJldmVudERlZmF1bHQoKSx0aGlzLnNsYXNoTWVudS5zZWxlY3RDdXJyZW50KCk7YnJlYWs7Y2FzZSJFc2NhcGUiOk0ucHJldmVudERlZmF1bHQoKSx0aGlzLmNsb3NlU2xhc2hNZW51KCEwKTticmVha319Y2xvc2VTbGFzaE1lbnUoTT0hMSl7aWYoTSYmdGhpcy5zZWxlY3RlZEJsb2NrSWQpe2xldCBTPXRoaXMuYmxvY2tzLmZpbmQoRT0+RS5pZD09PXRoaXMuc2VsZWN0ZWRCbG9ja0lkKTtpZihTKXtsZXQgQT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7Uy5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihBKXtsZXQgRj1BLmdldENvbnRlbnQoKTtpZihGLnN0YXJ0c1dpdGgoIi8iKSl7bGV0IFc9Ri5yZXBsYWNlKC9eXC9bXlxzXSpccyovLCIiKS50cmltKCk7QS5zZXRDb250ZW50KFcpLFMuY29udGVudD1XLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e0EuZm9jdXNXaXRoQ3Vyc29yKDApfSl9fX19dGhpcy5zbGFzaE1lbnUuaGlkZSgpfWhhbmRsZUJsb2NrRm9jdXMoTSl7dGhpcy5ibHVyVGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLmJsdXJUaW1lb3V0KSx0aGlzLmJsdXJUaW1lb3V0PW51bGwpO2xldCBTPXRoaXMuc2VsZWN0ZWRCbG9ja0lkO2lmKHRoaXMuc2VsZWN0ZWRCbG9ja0lkPU0uaWQsUyE9PU0uaWQpe2lmKFMpe2xldCBXPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7U30iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtXJiYoVy5pc1NlbGVjdGVkPSExKX1sZXQgQT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke00uaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7QSYmKEEuaXNTZWxlY3RlZD0hMCl9fWJsdXJUaW1lb3V0PW51bGw7aGFuZGxlQmxvY2tCbHVyKE0pe2lmKHRoaXMuYmx1clRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLmJsdXJUaW1lb3V0KSx0aGlzLnNsYXNoTWVudS52aXNpYmxlKXJldHVybjtsZXQgRT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke00uaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoRSYmRS5nZXRDb250ZW50KXtsZXQgQT1FLmdldENvbnRlbnQoKTtNLmNvbnRlbnQhPT1BJiYoTS5jb250ZW50PUEpfXRoaXMuYmx1clRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD8uY2xhc3NMaXN0LmNvbnRhaW5zKCJibG9jayIpfHx0aGlzLnVwZGF0ZVZhbHVlKCl9LDEwMCl9aGFuZGxlRWRpdG9yQ2xpY2soTSl7bGV0IFM9TS50YXJnZXQ7aWYodGhpcy5zbGFzaE1lbnUudmlzaWJsZSYmdGhpcy5jbG9zZVNsYXNoTWVudSghMCksUy5jbGFzc0xpc3QuY29udGFpbnMoImVkaXRvci1jb250ZW50Iikpe2xldCBFPXRoaXMuYmxvY2tzW3RoaXMuYmxvY2tzLmxlbmd0aC0xXTt0aGlzLmJsb2NrT3BlcmF0aW9ucy5mb2N1c0Jsb2NrKEUuaWQsRS50eXBlPT09ImRpdmlkZXIifHxFLnR5cGU9PT0iaW1hZ2UiP3ZvaWQgMDoiZW5kIil9fWNyZWF0ZU5ld0Jsb2NrKE09InBhcmFncmFwaCIsUz0iIixFKXtyZXR1cm57aWQ6ZXMuZ2VuZXJhdGVCbG9ja0lkKCksdHlwZTpNLGNvbnRlbnQ6UywuLi5FJiZ7bWV0YWRhdGE6RX19fWFzeW5jIGluc2VydEJsb2NrQWZ0ZXIoTSxTLEU9ITApe2xldCBBPXRoaXMuYmxvY2tzLmZpbmRJbmRleChXPT5XLmlkPT09TS5pZCk7dGhpcy5ibG9ja3M9Wy4uLnRoaXMuYmxvY2tzLnNsaWNlKDAsQSsxKSxTLC4uLnRoaXMuYmxvY2tzLnNsaWNlKEErMSldO2xldCBGPXRoaXMuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtNLmlkfSJdYCk7aWYoRil7bGV0IFc9dGhpcy5jcmVhdGVCbG9ja0VsZW1lbnQoUyk7Ri5pbnNlcnRBZGphY2VudEVsZW1lbnQoImFmdGVyZW5kIixXKX10aGlzLnVwZGF0ZVZhbHVlKCksRSYmUy50eXBlIT09ImRpdmlkZXIiJiYoYXdhaXQgbmV3IFByb21pc2UoVz0+c2V0VGltZW91dChXLDApKSxhd2FpdCB0aGlzLmJsb2NrT3BlcmF0aW9ucy5mb2N1c0Jsb2NrKFMuaWQsInN0YXJ0IikpfWFzeW5jIGluc2VydEJsb2NrKE0pe2xldCBTPXRoaXMuYmxvY2tzLmZpbmQoRj0+Ri5pZD09PXRoaXMuc2VsZWN0ZWRCbG9ja0lkKTtpZighUyl7dGhpcy5jbG9zZVNsYXNoTWVudSgpO3JldHVybn1sZXQgQT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7Uy5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihBKXtsZXQgRj1BLmdldENvbnRlbnQoKTtpZihGLnN0YXJ0c1dpdGgoIi8iKSl7bGV0IFc9Ri5yZXBsYWNlKC9eXC9bXlxzXSpccyovLCIiKS50cmltKCk7QS5zZXRDb250ZW50KFcpLFMuY29udGVudD1XfX1pZih0aGlzLmNsb3NlU2xhc2hNZW51KCExKSxNPT09ImNvZGUiJiYoUy5tZXRhZGF0YT17bGFuZ3VhZ2U6InR5cGVzY3JpcHQifSksUy50eXBlPU0sUy5jb250ZW50PVMuY29udGVudHx8IiIsTT09PSJkaXZpZGVyIil7Uy5jb250ZW50PSIgIjtsZXQgRj10aGlzLmNyZWF0ZU5ld0Jsb2NrKCk7dGhpcy5pbnNlcnRCbG9ja0FmdGVyKFMsRil9ZWxzZSBNPT09Imxpc3QiPyhTLm1ldGFkYXRhPXtsaXN0VHlwZToiYnVsbGV0In0sUy5jb250ZW50PSIiKTpNPT09ImltYWdlIj8oUy5jb250ZW50PSIiLFMubWV0YWRhdGE9e3VybDoiIixsb2FkaW5nOiExfSk6TT09PSJ5b3V0dWJlIj8oUy5jb250ZW50PSIiLFMubWV0YWRhdGE9e3ZpZGVvSWQ6IiIsdXJsOiIifSk6TT09PSJtYXJrZG93biI/Uy5tZXRhZGF0YT17c2hvd1ByZXZpZXc6ITF9Ok09PT0iaHRtbCI/Uy5tZXRhZGF0YT17c2hvd1ByZXZpZXc6ITF9Ok09PT0iYXR0YWNobWVudCI/KFMuY29udGVudD0iIixTLm1ldGFkYXRhPXtmaWxlczpbXX0pOlMuY29udGVudD1TLmNvbnRlbnR8fCIiO3RoaXMudXBkYXRlQmxvY2tFbGVtZW50KFMuaWQpLHRoaXMudXBkYXRlVmFsdWUoKSxhd2FpdCBuZXcgUHJvbWlzZShGPT5zZXRUaW1lb3V0KEYsMCkpLE09PT0ibGlzdCI/KHRoaXMuYmxvY2tPcGVyYXRpb25zLmZvY3VzQmxvY2soUy5pZCwic3RhcnQiKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntsZXQgVz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke1MuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7VyYmVy5mb2N1c0xpc3RJdGVtKCl9KSk6TSE9PSJkaXZpZGVyIiYmTSE9PSJpbWFnZSImJk0hPT0ieW91dHViZSImJk0hPT0ibWFya2Rvd24iJiZNIT09Imh0bWwiJiZNIT09ImF0dGFjaG1lbnQiP3RoaXMuYmxvY2tPcGVyYXRpb25zLmZvY3VzQmxvY2soUy5pZCwic3RhcnQiKTooTT09PSJpbWFnZSJ8fE09PT0ieW91dHViZSJ8fE09PT0ibWFya2Rvd24ifHxNPT09Imh0bWwifHxNPT09ImF0dGFjaG1lbnQiKSYmdGhpcy5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayhTLmlkKX11cGRhdGVWYWx1ZSgpe3RoaXMub3V0cHV0Rm9ybWF0PT09Imh0bWwiP3RoaXMudmFsdWU9SW4uZ2V0SHRtbE91dHB1dCh0aGlzLmJsb2Nrcyk6dGhpcy52YWx1ZT1Jbi5nZXRNYXJrZG93bk91dHB1dCh0aGlzLmJsb2NrcyksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcy52YWx1ZSksdGhpcy5zYXZlVG9IaXN0b3J5KCEwKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKE0pe3RoaXMudmFsdWU9TSx0aGlzLm91dHB1dEZvcm1hdD09PSJodG1sIj90aGlzLmJsb2Nrcz1Jbi5wYXJzZUh0bWxUb0Jsb2NrcyhNKTp0aGlzLmJsb2Nrcz1Jbi5wYXJzZU1hcmtkb3duVG9CbG9ja3MoTSksdGhpcy5ibG9ja3MubGVuZ3RoPT09MCYmKHRoaXMuYmxvY2tzPVt7aWQ6ZXMuZ2VuZXJhdGVCbG9ja0lkKCksdHlwZToicGFyYWdyYXBoIixjb250ZW50OiIifV0pLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMudmFsdWUpLHRoaXMuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCl9ZXhwb3J0QmxvY2tzKCl7cmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5ibG9ja3MpKX1pbXBvcnRCbG9ja3MoTSl7dGhpcy5ibG9ja3M9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShNKSksdGhpcy51cGRhdGVWYWx1ZSgpLHRoaXMuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCl9ZXhwb3J0QXNIdG1sKCl7cmV0dXJuIEluLmdldEh0bWxPdXRwdXQodGhpcy5ibG9ja3MpfWV4cG9ydEFzTWFya2Rvd24oKXtyZXR1cm4gSW4uZ2V0TWFya2Rvd25PdXRwdXQodGhpcy5ibG9ja3MpfWV4cG9ydFN0YXRlKCl7cmV0dXJue2Jsb2Nrczp0aGlzLmV4cG9ydEJsb2NrcygpLG91dHB1dEZvcm1hdDp0aGlzLm91dHB1dEZvcm1hdH19aW1wb3J0U3RhdGUoTSl7TS5vdXRwdXRGb3JtYXQmJih0aGlzLm91dHB1dEZvcm1hdD1NLm91dHB1dEZvcm1hdCksdGhpcy5pbXBvcnRCbG9ja3MoTS5ibG9ja3MpfWhhbmRsZURyYWdFbmQoKXtpZih0aGlzLmRyYWdnZWRCbG9ja0lkKXtsZXQgUz10aGlzLmVkaXRvckNvbnRlbnRSZWYucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7dGhpcy5kcmFnZ2VkQmxvY2tJZH0iXWApO1MmJlMuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciKX10aGlzLmVkaXRvckNvbnRlbnRSZWYucXVlcnlTZWxlY3RvckFsbCgiLmJsb2NrLXdyYXBwZXIiKS5mb3JFYWNoKFM9PntTLmNsYXNzTGlzdC5yZW1vdmUoImRyYWctb3Zlci1iZWZvcmUiLCJkcmFnLW92ZXItYWZ0ZXIiKX0pLHRoaXMuZWRpdG9yQ29udGVudFJlZi5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpLHRoaXMuZHJhZ2dlZEJsb2NrSWQ9bnVsbCx0aGlzLmRyYWdPdmVyQmxvY2tJZD1udWxsLHRoaXMuZHJhZ092ZXJQb3NpdGlvbj1udWxsfWhhbmRsZURyb3AoTSxTKXtpZihNLnByZXZlbnREZWZhdWx0KCksIXRoaXMuZHJhZ2dlZEJsb2NrSWR8fHRoaXMuZHJhZ2dlZEJsb2NrSWQ9PT1TLmlkKXJldHVybjtsZXQgRT10aGlzLmJsb2Nrcy5maW5kSW5kZXgoaj0+ai5pZD09PXRoaXMuZHJhZ2dlZEJsb2NrSWQpLEE9dGhpcy5ibG9ja3MuZmluZEluZGV4KGo9PmouaWQ9PT1TLmlkKTtpZihFPT09LTF8fEE9PT0tMSlyZXR1cm47bGV0W0ZdPXRoaXMuYmxvY2tzLnNwbGljZShFLDEpLFc9QTt0aGlzLmRyYWdPdmVyUG9zaXRpb249PT0iYWZ0ZXIiP1c9RTxBP0E6QSsxOlc9RTxBP0EtMTpBLHRoaXMuYmxvY2tzLnNwbGljZShXLDAsRiksdGhpcy5yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCksdGhpcy51cGRhdGVWYWx1ZSgpLHRoaXMuaGFuZGxlRHJhZ0VuZCgpLHNldFRpbWVvdXQoKCk9PntsZXQgaj10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7Ri5pZH0iXSAuYmxvY2tgKTtqJiZGLnR5cGUhPT0iZGl2aWRlciImJmouZm9jdXMoKX0sMTAwKX1oYW5kbGVUZXh0U2VsZWN0aW9uKE0pe3RoaXMuc2xhc2hNZW51LnZpc2libGV9dXBkYXRlRm9ybWF0dGluZ01lbnVQb3NpdGlvbigpe2xldCBNPVtdO3RoaXMuc2hhZG93Um9vdCYmTS5wdXNoKHRoaXMuc2hhZG93Um9vdCksdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIuYmxvY2std3JhcHBlciIpPy5mb3JFYWNoKEE9PntsZXQgRj1BLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO0Y/LnNoYWRvd1Jvb3QmJk0ucHVzaChGLnNoYWRvd1Jvb3QpfSk7bGV0IEU9ZmMuZ2V0U2VsZWN0aW9uQ29vcmRpbmF0ZXMoLi4uTSk7RSYmdGhpcy5mb3JtYXR0aW5nTWVudS5zaG93KHt4OkUueCx5OkUueX0sYXN5bmMgQT0+YXdhaXQgdGhpcy5hcHBseUZvcm1hdChBKSl9aGlkZUZvcm1hdHRpbmdNZW51KCl7dGhpcy5mb3JtYXR0aW5nTWVudS5oaWRlKCksdGhpcy5zZWxlY3RlZFRleHQ9IiJ9YXN5bmMgYXBwbHlGb3JtYXQoTSl7bGV0IFM9W107dGhpcy5zaGFkb3dSb290JiZTLnB1c2godGhpcy5zaGFkb3dSb290KSx0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoIi5ibG9jay13cmFwcGVyIik/LmZvckVhY2goaGU9PntsZXQgUj1oZS5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtSPy5zaGFkb3dSb290JiZTLnB1c2goUi5zaGFkb3dSb290KX0pO2xldCBBPXJ0LmdldFNlbGVjdGlvbkluZm8oLi4uUyk7aWYoIUEpcmV0dXJuO2xldCBGLFcsaj10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgiLmJsb2NrLXdyYXBwZXIiKTtmb3IobGV0IGhlPTA7aGU8ai5sZW5ndGg7aGUrKyl7bGV0IFI9altoZV0sVT1SLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKFU/LnNoYWRvd1Jvb3Qpe2xldCBtZT1VLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYobWUmJihtZS5jb250YWlucyhBLnN0YXJ0Q29udGFpbmVyKXx8bWUuY29udGFpbnMoQS5lbmRDb250YWluZXIpKSl7bGV0IEk9Ui5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKTtGPXRoaXMuYmxvY2tzLmZpbmQocT0+cS5pZD09PUkpLFc9VTticmVha319fWlmKCFGfHwhVylyZXR1cm47bGV0IEc9cnQuY3JlYXRlUmFuZ2VGcm9tSW5mbyhBKTtpZihNPT09ImxpbmsiKXtsZXQgaGU9YXdhaXQgdGhpcy5zaG93TGlua0RpYWxvZygpO2lmKCFoZSl7Vy5mb2N1cygpO3JldHVybn1mYy5hcHBseUZvcm1hdChNLGhlLEcsUyl9ZWxzZSBmYy5hcHBseUZvcm1hdChNLHZvaWQgMCxHLFMpO2F3YWl0IG5ldyBQcm9taXNlKGhlPT5zZXRUaW1lb3V0KGhlLDEwKSksRi5jb250ZW50PVcuZ2V0Q29udGVudCgpLHRoaXMudXBkYXRlVmFsdWUoKSxXLmZvY3VzKCksTT09PSJsaW5rIj90aGlzLmhpZGVGb3JtYXR0aW5nTWVudSgpOnRoaXMuc2VsZWN0ZWRUZXh0PSIifWFzeW5jIHNob3dMaW5rRGlhbG9nKCl7cmV0dXJuIG5ldyBQcm9taXNlKE09PntsZXQgUz1udWxsO01hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkFkZCBMaW5rIixjb250ZW50OldsYAogICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAubGluay1pbnB1dCB7CiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1saW5lLWJyaWdodCk7CiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaW5wdXQpOwogICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQpOwogICAgICAgICAgICAgIG1hcmdpbjogMTZweCAwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5saW5rLWlucHV0OmZvY3VzIHsKICAgICAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZGVlcy1jb2xvci1wcmltYXJ5KTsKICAgICAgICAgICAgfQogICAgICAgICAgPC9zdHlsZT4KICAgICAgICAgIDxpbnB1dCAKICAgICAgICAgICAgY2xhc3M9ImxpbmstaW5wdXQiIAogICAgICAgICAgICB0eXBlPSJ1cmwiIAogICAgICAgICAgICBwbGFjZWhvbGRlcj0iaHR0cHM6Ly9leGFtcGxlLmNvbSIgCiAgICAgICAgICAgIEBrZXlkb3duPSIke0U9PntpZihFLmtleT09PSJFbnRlciIpe2xldCBBPUUudGFyZ2V0O1M9QS52YWx1ZTtsZXQgRj1BLmNsb3Nlc3QoImRlZXMtbW9kYWwiKTtpZihGKXtsZXQgVz1GLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ib3R0b21CdXR0b246bGFzdC1jaGlsZCIpO1cmJlcuY2xpY2soKX19fX0iCiAgICAgICAgICAgIEBpbnB1dD0iJHtFPT57Uz1FLnRhcmdldC52YWx1ZX19IgogICAgICAgICAgLz4KICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyBFPT57RS5kZXN0cm95KCksTShudWxsKX0sImFjdGlvbiIpfSx7bmFtZToiQWRkIExpbmsiLGFjdGlvbjpzKGFzeW5jIEU9PntFLmRlc3Ryb3koKSxNKFMpfSwiYWN0aW9uIil9XX0pLHNldFRpbWVvdXQoKCk9PntsZXQgRT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkZWVzLW1vZGFsIC5saW5rLWlucHV0Iik7RSYmRS5mb2N1cygpfSwxMDApfSl9dW5kbygpe2xldCBNPXRoaXMuaGlzdG9yeS51bmRvKCk7TSYmdGhpcy5yZXN0b3JlU3RhdGUoTSl9cmVkbygpe2xldCBNPXRoaXMuaGlzdG9yeS5yZWRvKCk7TSYmdGhpcy5yZXN0b3JlU3RhdGUoTSl9cmVzdG9yZVN0YXRlKE0pe3RoaXMuYmxvY2tzPU0uYmxvY2tzLHRoaXMuc2VsZWN0ZWRCbG9ja0lkPU0uc2VsZWN0ZWRCbG9ja0lkLHRoaXMucmVuZGVyQmxvY2tzUHJvZ3JhbW1hdGljYWxseSgpLE0uY3Vyc29yUG9zaXRpb24/c2V0VGltZW91dCgoKT0+e2xldCBFPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7TS5jdXJzb3JQb3NpdGlvbi5ibG9ja0lkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO0UmJkUuZm9jdXNXaXRoQ3Vyc29yKE0uY3Vyc29yUG9zaXRpb24ub2Zmc2V0KX0sNTApOk0uc2VsZWN0ZWRCbG9ja0lkJiZzZXRUaW1lb3V0KCgpPT57dGhpcy5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayhNLnNlbGVjdGVkQmxvY2tJZCl9LDUwKSx0aGlzLnVwZGF0ZVZhbHVlKCl9c2F2ZVRvSGlzdG9yeShNPSEwKXtsZXQgUztpZih0aGlzLnNlbGVjdGVkQmxvY2tJZCl7bGV0IEE9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0aGlzLnNlbGVjdGVkQmxvY2tJZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihBJiZ0eXBlb2YgQS5nZXRDdXJzb3JQb3NpdGlvbj09ImZ1bmN0aW9uIil7bGV0IEY9QS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZihGKXtsZXQgVz1BLmdldEN1cnNvclBvc2l0aW9uKEYpO1chPT1udWxsJiYoUz17YmxvY2tJZDp0aGlzLnNlbGVjdGVkQmxvY2tJZCxvZmZzZXQ6V30pfX19TT90aGlzLmhpc3Rvcnkuc2F2ZVN0YXRlKHRoaXMuYmxvY2tzLHRoaXMuc2VsZWN0ZWRCbG9ja0lkLFMpOnRoaXMuaGlzdG9yeS5zYXZlQ2hlY2twb2ludCh0aGlzLmJsb2Nrcyx0aGlzLnNlbGVjdGVkQmxvY2tJZCxTKX1zdGF0aWN7ZW8ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIHRsYSxhbGE9ZigoKT0+e2xlKCk7TmEoKTtSc2UoKTtZcygpO3RsYT1zKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICAke1hgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWwgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAub3V0cHV0LXByZXZpZXcgewogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjNmNGY2OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgY29sb3I6ICMzNzQxNTE7CiAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDsKICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAgIC5vdXRwdXQtcHJldmlldyB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyYzJjMmM7CiAgICAgICAgICAgIGNvbG9yOiAjZTRlNGU3OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjEuIEJhc2ljIFJpY2ggVGV4dCBFZGl0b3IifSAuc3VidGl0bGU9JHsiQSBmdWxsLWZlYXR1cmVkIHJpY2ggdGV4dCBlZGl0b3Igd2l0aCBmb3JtYXR0aW5nIHRvb2xiYXIifT4KICAgICAgICA8ZGVlcy1pbnB1dC1yaWNodGV4dCAKICAgICAgICAgIC5sYWJlbD0keyJBcnRpY2xlIENvbnRlbnQifSAKICAgICAgICAgIC52YWx1ZT0keyc8aDE+V2VsY29tZSB0byB0aGUgUmljaCBUZXh0IEVkaXRvciE8L2gxPjxwPlRoaXMgaXMgYSBmZWF0dXJlLXJpY2ggZWRpdG9yIGJ1aWx0IHdpdGggVGlwVGFwLiBZb3UgY2FuOjwvcD48dWw+PGxpPjxzdHJvbmc+Rm9ybWF0IHRleHQ8L3N0cm9uZz4gd2l0aCA8ZW0+dmFyaW91czwvZW0+IDx1PnN0eWxlczwvdT48L2xpPjxsaT5DcmVhdGUgZGlmZmVyZW50IGhlYWRpbmcgbGV2ZWxzPC9saT48bGk+QWRkIDxhIGhyZWY9Imh0dHBzOi8vZXhhbXBsZS5jb20iPmxpbmtzPC9hPiB0byBleHRlcm5hbCByZXNvdXJjZXM8L2xpPjxsaT5Xcml0ZSA8Y29kZT5pbmxpbmUgY29kZTwvY29kZT4gb3IgY29kZSBibG9ja3M8L2xpPjwvdWw+PGJsb2NrcXVvdGU+PHA+VXNlIHRoZSB0b29sYmFyIGFib3ZlIHRvIGV4cGxvcmUgYWxsIHRoZSBmb3JtYXR0aW5nIG9wdGlvbnMgYXZhaWxhYmxlITwvcD48L2Jsb2NrcXVvdGU+PHA+U3RhcnQgdHlwaW5nIHRvIHNlZSB0aGUgbWFnaWMgaGFwcGVuLi4uPC9wPid9CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiVXNlIHRoZSB0b29sYmFyIHRvIGZvcm1hdCB5b3VyIGNvbnRlbnQgd2l0aCBoZWFkaW5ncywgbGlzdHMsIGxpbmtzLCBhbmQgbW9yZSJ9CiAgICAgICAgICAuc2hvd1dvcmRDb3VudD0keyEwfQogICAgICAgID48L2RlZXMtaW5wdXQtcmljaHRleHQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIyLiBXaXRoIFBsYWNlaG9sZGVyIn0gLnN1YnRpdGxlPSR7IkVtcHR5IGVkaXRvciB3aXRoIHBsYWNlaG9sZGVyIHRleHQifT4KICAgICAgICA8ZGVlcy1pbnB1dC1yaWNodGV4dCAKICAgICAgICAgIC5sYWJlbD0keyJCbG9nIFBvc3QifSAKICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJTdGFydCB3cml0aW5nIHlvdXIgYmxvZyBwb3N0IGhlcmUuLi4ifQogICAgICAgICAgLnNob3dXb3JkQ291bnQ9JHshMH0KICAgICAgICA+PC9kZWVzLWlucHV0LXJpY2h0ZXh0PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMy4gRGlmZmVyZW50IEhlaWdodHMifSAuc3VidGl0bGU9JHsiRWRpdG9ycyB3aXRoIGRpZmZlcmVudCBtaW5pbXVtIGhlaWdodHMgZm9yIHZhcmlvdXMgdXNlIGNhc2VzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgICAgPGRlZXMtaW5wdXQtcmljaHRleHQgCiAgICAgICAgICAgIC5sYWJlbD0keyJTaG9ydCBOb3RlIn0gCiAgICAgICAgICAgIC5taW5IZWlnaHQ9JHsxNTB9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJRdWljayBub3RlLi4uIn0KICAgICAgICAgICAgLnNob3dXb3JkQ291bnQ9JHshMX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmljaHRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXJpY2h0ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiRXh0ZW5kZWQgQ29udGVudCJ9IAogICAgICAgICAgICAubWluSGVpZ2h0PSR7MzAwfQogICAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiV3JpdGUgeW91ciBleHRlbmRlZCBjb250ZW50IGhlcmUuLi4ifQogICAgICAgICAgICAuc2hvd1dvcmRDb3VudD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yaWNodGV4dD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjQuIENvZGUgRXhhbXBsZXMifSAuc3VidGl0bGU9JHsiRWRpdG9yIHByZS1maWxsZWQgd2l0aCBjb2RlIGV4YW1wbGVzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtcmljaHRleHQgCiAgICAgICAgICAubGFiZWw9JHsiVGVjaG5pY2FsIERvY3VtZW50YXRpb24ifSAKICAgICAgICAgIC52YWx1ZT0keyc8aDI+SW5zdGFsbGF0aW9uIEd1aWRlPC9oMj48cD5UbyBpbnN0YWxsIHRoZSBwYWNrYWdlLCBydW4gdGhlIGZvbGxvd2luZyBjb21tYW5kOjwvcD48cHJlPjxjb2RlPm5wbSBpbnN0YWxsIEBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZzwvY29kZT48L3ByZT48cD5UaGVuIGltcG9ydCB0aGUgY29tcG9uZW50IGluIHlvdXIgVHlwZVNjcmlwdCBmaWxlOjwvcD48cHJlPjxjb2RlPmltcG9ydCB7IERlZXNJbnB1dFJpY2h0ZXh0IH0gZnJvbSAiQGRlc2lnbi5lc3RhdGUvZGVlcy1jYXRhbG9nIjs8L2NvZGU+PC9wcmU+PHA+WW91IGNhbiBub3cgdXNlIHRoZSA8Y29kZT4mbHQ7ZGVlcy1pbnB1dC1yaWNodGV4dCZndDs8L2NvZGU+IGVsZW1lbnQgaW4geW91ciB0ZW1wbGF0ZXMuPC9wPid9CiAgICAgICAgICAubWluSGVpZ2h0PSR7MjUwfQogICAgICAgICAgLnNob3dXb3JkQ291bnQ9JHshMH0KICAgICAgICA+PC9kZWVzLWlucHV0LXJpY2h0ZXh0PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNS4gRGlzYWJsZWQgU3RhdGUifSAuc3VidGl0bGU9JHsiUmVhZC1vbmx5IHJpY2ggdGV4dCBjb250ZW50In0+CiAgICAgICAgPGRlZXMtaW5wdXQtcmljaHRleHQgCiAgICAgICAgICAubGFiZWw9JHsiUHVibGlzaGVkIEFydGljbGUgKFJlYWQgT25seSkifSAKICAgICAgICAgIC52YWx1ZT0keyc8aDI+VGhlIEZ1dHVyZSBvZiBXZWIgQ29tcG9uZW50czwvaDI+PHA+V2ViIENvbXBvbmVudHMgaGF2ZSByZXZvbHV0aW9uaXplZCBob3cgd2UgYnVpbGQgbW9kZXJuIHdlYiBhcHBsaWNhdGlvbnMuLi48L3A+PGJsb2NrcXVvdGU+PHA+IlRoZSBmdXR1cmUgb2Ygd2ViIGRldmVsb3BtZW50IGxpZXMgaW4gcmV1c2FibGUsIGVuY2Fwc3VsYXRlZCBjb21wb25lbnRzLiI8L3A+PC9ibG9ja3F1b3RlPid9CiAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgIC5zaG93V29yZENvdW50PSR7ITB9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1yaWNodGV4dD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjYuIEludGVyYWN0aXZlIERlbW8ifSAuc3VidGl0bGU9JHsiVHlwZSBpbiB0aGUgZWRpdG9yIGJlbG93IGFuZCBzZWUgdGhlIEhUTUwgb3V0cHV0In0+CiAgICAgICAgPGRlZXMtaW5wdXQtcmljaHRleHQgCiAgICAgICAgICBpZD0iaW50ZXJhY3RpdmUtZWRpdG9yIgogICAgICAgICAgLmxhYmVsPSR7IlRyeSBpdCB5b3Vyc2VsZiJ9IAogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IlR5cGUgc29tZXRoaW5nIGhlcmUuLi4ifQogICAgICAgICAgLnNob3dXb3JkQ291bnQ9JHshMH0KICAgICAgICAgIEBjaGFuZ2U9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI291dHB1dC1wcmV2aWV3Iik7ZSYmKGUudGV4dENvbnRlbnQ9YS5kZXRhaWwudmFsdWUpfX0KICAgICAgICA+PC9kZWVzLWlucHV0LXJpY2h0ZXh0PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1wcmV2aWV3IiBpZD0ib3V0cHV0LXByZXZpZXciPgogICAgICAgICAgPGVtPkhUTUwgb3V0cHV0IHdpbGwgYXBwZWFyIGhlcmUuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgcmxhLHNsYT1mKCgpPT57bGUoKTtTcigpO1FlKCk7cmxhPVtQZSwuLi5NdC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZvbnQtZmFtaWx5OiBJbnRlciwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5pbnB1dC13cmFwcGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5sYWJlbCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZTpob3Zlcjo6cGFydChvdXRlcikgewogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3Ryb25nKTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlLmZvY3VzZWQ6OnBhcnQob3V0ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUgLyAwLjA1KSIsImhzbCgwIDAlIDk4JSAvIDAuMDUpIil9OwogICAgICB9CgogICAgICAuZWRpdG9yLXRvb2xiYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24uYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbjpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWRpdmlkZXIgewogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIG1hcmdpbjogMCA0cHg7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGluc2V0OiAwOwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgbWluLWhlaWdodDogMTAwJTsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHAgewogICAgICAgIG1hcmdpbjogMC41ZW0gMDsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBwOmZpcnN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHA6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBoMSB7CiAgICAgICAgZm9udC1zaXplOiAyZW07CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgbWFyZ2luOiAxZW0gMCAwLjVlbSAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgaDIgewogICAgICAgIGZvbnQtc2l6ZTogMS41ZW07CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgbWFyZ2luOiAxZW0gMCAwLjVlbSAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgaDMgewogICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtOwogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgIG1hcmdpbjogMWVtIDAgMC41ZW0gMDsKICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHVsLAogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIG9sIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNWVtOwogICAgICAgIG1hcmdpbjogMC41ZW0gMDsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBsaSB7CiAgICAgICAgbWFyZ2luOiAwLjI1ZW0gMDsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBibG9ja3F1b3RlIHsKICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIG1hcmdpbjogMWVtIDA7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIGNvZGUgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctdGVydGlhcnkpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBwYWRkaW5nOiAwLjJlbSAwLjRlbTsKICAgICAgICBmb250LWZhbWlseTogJ0ludGVsIE9uZSBNb25vJywgJ0ZpcmEgQ29kZScsICdTRiBNb25vJywgTW9uYWNvLCAnQ2FzY2FkaWEgQ29kZScsICdSb2JvdG8gTW9ubycsIENvbnNvbGFzLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAwLjllbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHByZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDMuOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk4JSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogMWVtOwogICAgICAgIG1hcmdpbjogMWVtIDA7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBwcmUgY29kZSB7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgYSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgYTpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNDEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDY5LjglKSIpfTsKICAgICAgfQoKICAgICAgLmVkaXRvci1mb290ZXIgewogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLndvcmQtY291bnQgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICB9CgogICAgICAubGluay1pbnB1dC5zaG93IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQgaW5wdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQgaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSAvIDAuMDUpIiwiaHNsKDAgMCUgOTglIC8gMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0LWJ1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICB9CgogICAgICAubGluay1pbnB1dC1idXR0b25zIGJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAubGluay1pbnB1dC1idXR0b25zIGJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQtYnV0dG9ucyBidXR0b24ucHJpbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0LWJ1dHRvbnMgYnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTMuOSUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5My45JSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIGRlZXMtdGlsZSB7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC50b29sYmFyLWJ1dHRvbiwKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLmVkaXRvci1jb250ZW50IHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgYF19KTt2YXIgaWxhLG9sYT1mKCgpPT57bGUoKTtpbGE9cyhhPT53YAogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgICAgJHthLmxhYmVsP3dgPGxhYmVsIGNsYXNzPSJsYWJlbCI+JHthLmxhYmVsfTwvbGFiZWw+YDoiIn0KICAgICAgICAgIDxkZWVzLXRpbGUgY2xhc3M9IiR7YS5lZGl0b3I/LmlzRm9jdXNlZD8iZm9jdXNlZCI6IiJ9IiBzdHlsZT0iLS1taW4taGVpZ2h0OiAke2EubWluSGVpZ2h0fXB4Ij4KICAgICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJlZGl0b3ItdG9vbGJhciI+CiAgICAgICAgICAgICAgJHthLnJlbmRlclRvb2xiYXIoKX0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5rLWlucHV0ICR7YS5zaG93TGlua0lucHV0PyJzaG93IjoiIn0iPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InVybCIgcGxhY2Vob2xkZXI9IkVudGVyIFVSTC4uLiIgQGtleWRvd249JHthLmhhbmRsZUxpbmtJbnB1dEtleWRvd259IC8+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5rLWlucHV0LWJ1dHRvbnMiPgogICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJwcmltYXJ5IiBAY2xpY2s9JHthLnNhdmVMaW5rfT5TYXZlPC9idXR0b24+CiAgICAgICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSR7YS5yZW1vdmVMaW5rfT5SZW1vdmU8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHthLmhpZGVMaW5rSW5wdXR9PkNhbmNlbDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3ItY29udGVudCI+PC9kaXY+CiAgICAgICAgICAgICR7YS5zaG93V29yZENvdW50P3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iZWRpdG9yLWZvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IndvcmQtY291bnQiPiR7YS53b3JkQ291bnR9IHdvcmQke2Eud29yZENvdW50IT09MT8icyI6IiJ9PC9zcGFuPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgICAgICR7YS5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICAgIDwvZGl2PgogICAgICBgLCJyZW5kZXJSaWNodGV4dCIpfSk7dmFyIG81LG9uLE9zZSxSc2U9ZigoKT0+e1NyKCk7YWxhKCk7c2xhKCk7b2xhKCk7dmEoKTtsZSgpO1NjKCk7UXIoKTtvNT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sb249ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LE9zZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtcmljaHRleHQiKV0sZSx0PVtdLHIsaT1NdCxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXTt2YXIgTz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0UmljaHRleHQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOk51bWJlcn0pXSx5PVtLKCldLE49W0soKV0sbzUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4idmFsdWUiaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC52YWx1ZSwiZ2V0Iiksc2V0OnMoKFAsQik9PntQLnZhbHVlPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbixsKSxvNSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFA9PiJwbGFjZWhvbGRlciJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLnBsYWNlaG9sZGVyLCJnZXQiKSxzZXQ6cygoUCxCKT0+e1AucGxhY2Vob2xkZXI9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxjLHApLG81KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1dvcmRDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4ic2hvd1dvcmRDb3VudCJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLnNob3dXb3JkQ291bnQsImdldCIpLHNldDpzKChQLEIpPT57UC5zaG93V29yZENvdW50PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbSx2KSxvNSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pbkhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4ibWluSGVpZ2h0ImluIFAsImhhcyIpLGdldDpzKFA9PlAubWluSGVpZ2h0LCJnZXQiKSxzZXQ6cygoUCxCKT0+e1AubWluSGVpZ2h0PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYixnKSxvNSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dMaW5rSW5wdXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+InNob3dMaW5rSW5wdXQiaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC5zaG93TGlua0lucHV0LCJnZXQiKSxzZXQ6cygoUCxCKT0+e1Auc2hvd0xpbmtJbnB1dD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGssQyksbzUodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3b3JkQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+IndvcmRDb3VudCJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLndvcmRDb3VudCwiZ2V0Iiksc2V0OnMoKFAsQik9PntQLndvcmRDb3VudD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LF8seiksbzUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6VH0sbnVsbCx0KSxPPXI9ZS52YWx1ZSxUJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlR9KX1zdGF0aWMgZGVtbz10bGE7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPW9uKHRoaXMsbiwiIik7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKFQpe3RoaXMuI2U9VH0jdD0ob24odGhpcyxsKSxvbih0aGlzLGMsIiIpKTtnZXQgcGxhY2Vob2xkZXIoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcGxhY2Vob2xkZXIoVCl7dGhpcy4jdD1UfSNhPShvbih0aGlzLHApLG9uKHRoaXMsbSwhMCkpO2dldCBzaG93V29yZENvdW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNob3dXb3JkQ291bnQoVCl7dGhpcy4jYT1UfSNyPShvbih0aGlzLHYpLG9uKHRoaXMsYiwyMDApKTtnZXQgbWluSGVpZ2h0KCl7cmV0dXJuIHRoaXMuI3J9c2V0IG1pbkhlaWdodChUKXt0aGlzLiNyPVR9I3M9KG9uKHRoaXMsZyksb24odGhpcyxrLCExKSk7Z2V0IHNob3dMaW5rSW5wdXQoKXtyZXR1cm4gdGhpcy4jc31zZXQgc2hvd0xpbmtJbnB1dChUKXt0aGlzLiNzPVR9I2k9KG9uKHRoaXMsQyksb24odGhpcyxfLDApKTtnZXQgd29yZENvdW50KCl7cmV0dXJuIHRoaXMuI2l9c2V0IHdvcmRDb3VudChUKXt0aGlzLiNpPVR9ZWRpdG9yRWxlbWVudD1vbih0aGlzLHopO2xpbmtJbnB1dEVsZW1lbnQ7dGlwdGFwQnVuZGxlPW51bGw7ZWRpdG9yO3N0YXRpYyBzdHlsZXM9cmxhO3JlbmRlcigpe3JldHVybiBpbGEodGhpcyl9cmVuZGVyVG9vbGJhcigpe2xldCBUPXRoaXMuZ2V0VG9vbGJhckJ1dHRvbnMoKTtyZXR1cm4gd2AKICAgICAgJHtULm1hcChQPT5QLmlzRGl2aWRlcj93YDxkaXYgY2xhc3M9InRvb2xiYXItZGl2aWRlciI+PC9kaXY+YDp3YAogICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24gJHtQLmlzQWN0aXZlPy4oKT8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgIEBjbGljaz0ke1AuYWN0aW9ufQogICAgICAgICAgICB0aXRsZT0ke1AudGl0bGV9CiAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR8fCF0aGlzLmVkaXRvcn0KICAgICAgICAgID4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke1AuaWNvbn0+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICBgKX0KICAgIGB9Z2V0VG9vbGJhckJ1dHRvbnMoKXtyZXR1cm4gdGhpcy5lZGl0b3I/W3tuYW1lOiJib2xkIixpY29uOiJsdWNpZGU6Ym9sZCIsdGl0bGU6IkJvbGQgKEN0cmwrQikiLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlQm9sZCgpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTpzKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgiYm9sZCIpLCJpc0FjdGl2ZSIpfSx7bmFtZToiaXRhbGljIixpY29uOiJsdWNpZGU6aXRhbGljIix0aXRsZToiSXRhbGljIChDdHJsK0kpIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUl0YWxpYygpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTpzKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgiaXRhbGljIiksImlzQWN0aXZlIil9LHtuYW1lOiJ1bmRlcmxpbmUiLGljb246Imx1Y2lkZTp1bmRlcmxpbmUiLHRpdGxlOiJVbmRlcmxpbmUgKEN0cmwrVSkiLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlVW5kZXJsaW5lKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJ1bmRlcmxpbmUiKSwiaXNBY3RpdmUiKX0se25hbWU6InN0cmlrZSIsaWNvbjoibHVjaWRlOnN0cmlrZXRocm91Z2giLHRpdGxlOiJTdHJpa2V0aHJvdWdoIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZVN0cmlrZSgpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTpzKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgic3RyaWtlIiksImlzQWN0aXZlIil9LHtuYW1lOiJkaXZpZGVyMSIsdGl0bGU6IiIsaXNEaXZpZGVyOiEwfSx7bmFtZToiaDEiLGljb246Imx1Y2lkZTpoZWFkaW5nMSIsdGl0bGU6IkhlYWRpbmcgMSIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVIZWFkaW5nKHtsZXZlbDoxfSkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJoZWFkaW5nIix7bGV2ZWw6MX0pLCJpc0FjdGl2ZSIpfSx7bmFtZToiaDIiLGljb246Imx1Y2lkZTpoZWFkaW5nMiIsdGl0bGU6IkhlYWRpbmcgMiIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVIZWFkaW5nKHtsZXZlbDoyfSkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJoZWFkaW5nIix7bGV2ZWw6Mn0pLCJpc0FjdGl2ZSIpfSx7bmFtZToiaDMiLGljb246Imx1Y2lkZTpoZWFkaW5nMyIsdGl0bGU6IkhlYWRpbmcgMyIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVIZWFkaW5nKHtsZXZlbDozfSkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJoZWFkaW5nIix7bGV2ZWw6M30pLCJpc0FjdGl2ZSIpfSx7bmFtZToiZGl2aWRlcjIiLHRpdGxlOiIiLGlzRGl2aWRlcjohMH0se25hbWU6ImJ1bGxldExpc3QiLGljb246Imx1Y2lkZTpsaXN0Iix0aXRsZToiQnVsbGV0IExpc3QiLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlQnVsbGV0TGlzdCgpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTpzKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgiYnVsbGV0TGlzdCIpLCJpc0FjdGl2ZSIpfSx7bmFtZToib3JkZXJlZExpc3QiLGljb246Imx1Y2lkZTpsaXN0T3JkZXJlZCIsdGl0bGU6Ik51bWJlcmVkIExpc3QiLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlT3JkZXJlZExpc3QoKS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoIm9yZGVyZWRMaXN0IiksImlzQWN0aXZlIil9LHtuYW1lOiJibG9ja3F1b3RlIixpY29uOiJsdWNpZGU6cXVvdGUiLHRpdGxlOiJRdW90ZSIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVCbG9ja3F1b3RlKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJibG9ja3F1b3RlIiksImlzQWN0aXZlIil9LHtuYW1lOiJjb2RlIixpY29uOiJsdWNpZGU6Y29kZSIsdGl0bGU6IkNvZGUiLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlQ29kZSgpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTpzKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgiY29kZSIpLCJpc0FjdGl2ZSIpfSx7bmFtZToiY29kZUJsb2NrIixpY29uOiJsdWNpZGU6ZmlsZUNvZGUiLHRpdGxlOiJDb2RlIEJsb2NrIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUNvZGVCbG9jaygpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTpzKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgiY29kZUJsb2NrIiksImlzQWN0aXZlIil9LHtuYW1lOiJkaXZpZGVyMyIsdGl0bGU6IiIsaXNEaXZpZGVyOiEwfSx7bmFtZToibGluayIsaWNvbjoibHVjaWRlOmxpbmsiLHRpdGxlOiJBZGQgTGluayIsYWN0aW9uOnMoKCk9PnRoaXMudG9nZ2xlTGluaygpLCJhY3Rpb24iKSxpc0FjdGl2ZTpzKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgibGluayIpLCJpc0FjdGl2ZSIpfSx7bmFtZToiYWxpZ25MZWZ0IixpY29uOiJsdWNpZGU6YWxpZ25MZWZ0Iix0aXRsZToiQWxpZ24gTGVmdCIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5zZXRUZXh0QWxpZ24oImxlZnQiKS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoe3RleHRBbGlnbjoibGVmdCJ9KSwiaXNBY3RpdmUiKX0se25hbWU6ImFsaWduQ2VudGVyIixpY29uOiJsdWNpZGU6YWxpZ25DZW50ZXIiLHRpdGxlOiJBbGlnbiBDZW50ZXIiLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkuc2V0VGV4dEFsaWduKCJjZW50ZXIiKS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoe3RleHRBbGlnbjoiY2VudGVyIn0pLCJpc0FjdGl2ZSIpfSx7bmFtZToiYWxpZ25SaWdodCIsaWNvbjoibHVjaWRlOmFsaWduUmlnaHQiLHRpdGxlOiJBbGlnbiBSaWdodCIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5zZXRUZXh0QWxpZ24oInJpZ2h0IikucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKHt0ZXh0QWxpZ246InJpZ2h0In0pLCJpc0FjdGl2ZSIpfSx7bmFtZToiZGl2aWRlcjQiLHRpdGxlOiIiLGlzRGl2aWRlcjohMH0se25hbWU6InVuZG8iLGljb246Imx1Y2lkZTp1bmRvIix0aXRsZToiVW5kbyAoQ3RybCtaKSIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS51bmRvKCkucnVuKCksImFjdGlvbiIpfSx7bmFtZToicmVkbyIsaWNvbjoibHVjaWRlOnJlZG8iLHRpdGxlOiJSZWRvIChDdHJsK1kpIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnJlZG8oKS5ydW4oKSwiYWN0aW9uIil9XTpbXX1hc3luYyBmaXJzdFVwZGF0ZWQoKXthd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMudGlwdGFwQnVuZGxlPWF3YWl0IE9zLmdldEluc3RhbmNlKCkubG9hZFRpcHRhcCgpLHRoaXMuZWRpdG9yRWxlbWVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmVkaXRvci1jb250ZW50IiksdGhpcy5saW5rSW5wdXRFbGVtZW50PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIubGluay1pbnB1dCBpbnB1dCIpLHRoaXMuaW5pdGlhbGl6ZUVkaXRvcigpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWluaXRpYWxpemVFZGl0b3IoKXtpZih0aGlzLmRpc2FibGVkfHwhdGhpcy50aXB0YXBCdW5kbGUpcmV0dXJuO2xldHtFZGl0b3I6VCxTdGFydGVyS2l0OlAsVW5kZXJsaW5lOkIsVGV4dEFsaWduOk0sTGluazpTLFR5cG9ncmFwaHk6RX09dGhpcy50aXB0YXBCdW5kbGU7dGhpcy5lZGl0b3I9bmV3IFQoe2VsZW1lbnQ6dGhpcy5lZGl0b3JFbGVtZW50LGV4dGVuc2lvbnM6W1AuY29uZmlndXJlKHtoZWFkaW5nOntsZXZlbHM6WzEsMiwzXX19KSxCLmNvbmZpZ3VyZSh7fSksTS5jb25maWd1cmUoe3R5cGVzOlsiaGVhZGluZyIsInBhcmFncmFwaCJdfSksUy5jb25maWd1cmUoe29wZW5PbkNsaWNrOiExLEhUTUxBdHRyaWJ1dGVzOntjbGFzczoiZWRpdG9yLWxpbmsifX0pLEUuY29uZmlndXJlKHt9KV0sY29udGVudDp0aGlzLnZhbHVlfHwodGhpcy5wbGFjZWhvbGRlcj9gPHA+JHt0aGlzLnBsYWNlaG9sZGVyfTwvcD5gOiIiKSxvblVwZGF0ZTpzKCh7ZWRpdG9yOkF9KT0+e3RoaXMudmFsdWU9QS5nZXRIVE1MKCksdGhpcy51cGRhdGVXb3JkQ291bnQoKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzLnZhbHVlKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpbnB1dCIse2RldGFpbDp7dmFsdWU6dGhpcy52YWx1ZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjaGFuZ2UiLHtkZXRhaWw6e3ZhbHVlOnRoaXMudmFsdWV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9LCJvblVwZGF0ZSIpLG9uU2VsZWN0aW9uVXBkYXRlOnMoKCk9Pnt0aGlzLnJlcXVlc3RVcGRhdGUoKX0sIm9uU2VsZWN0aW9uVXBkYXRlIiksb25Gb2N1czpzKCgpPT57dGhpcy5yZXF1ZXN0VXBkYXRlKCl9LCJvbkZvY3VzIiksb25CbHVyOnMoKCk9Pnt0aGlzLnJlcXVlc3RVcGRhdGUoKX0sIm9uQmx1ciIpfSksdGhpcy51cGRhdGVXb3JkQ291bnQoKX11cGRhdGVXb3JkQ291bnQoKXtpZighdGhpcy5lZGl0b3IpcmV0dXJuO2xldCBUPXRoaXMuZWRpdG9yLmdldFRleHQoKTt0aGlzLndvcmRDb3VudD1ULnRyaW0oKT9ULnRyaW0oKS5zcGxpdCgvXHMrLykubGVuZ3RoOjB9dG9nZ2xlTGluaygpe2lmKHRoaXMuZWRpdG9yKWlmKHRoaXMuZWRpdG9yLmlzQWN0aXZlKCJsaW5rIikpe2xldCBUPXRoaXMuZWRpdG9yLmdldEF0dHJpYnV0ZXMoImxpbmsiKS5ocmVmO3RoaXMuc2hvd0xpbmtJbnB1dD0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLmxpbmtJbnB1dEVsZW1lbnQmJih0aGlzLmxpbmtJbnB1dEVsZW1lbnQudmFsdWU9VHx8IiIsdGhpcy5saW5rSW5wdXRFbGVtZW50LmZvY3VzKCksdGhpcy5saW5rSW5wdXRFbGVtZW50LnNlbGVjdCgpKX0pfWVsc2UgdGhpcy5zaG93TGlua0lucHV0PSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMubGlua0lucHV0RWxlbWVudCYmKHRoaXMubGlua0lucHV0RWxlbWVudC52YWx1ZT0iIix0aGlzLmxpbmtJbnB1dEVsZW1lbnQuZm9jdXMoKSl9KX1zYXZlTGluaygpe2lmKCF0aGlzLmVkaXRvcnx8IXRoaXMubGlua0lucHV0RWxlbWVudClyZXR1cm47bGV0IFQ9dGhpcy5saW5rSW5wdXRFbGVtZW50LnZhbHVlO1QmJnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5zZXRMaW5rKHtocmVmOlR9KS5ydW4oKSx0aGlzLmhpZGVMaW5rSW5wdXQoKX1yZW1vdmVMaW5rKCl7dGhpcy5lZGl0b3ImJih0aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudW5zZXRMaW5rKCkucnVuKCksdGhpcy5oaWRlTGlua0lucHV0KCkpfWhpZGVMaW5rSW5wdXQoKXt0aGlzLnNob3dMaW5rSW5wdXQ9ITEsdGhpcy5lZGl0b3I/LmNvbW1hbmRzLmZvY3VzKCl9aGFuZGxlTGlua0lucHV0S2V5ZG93bihUKXtULmtleT09PSJFbnRlciI/KFQucHJldmVudERlZmF1bHQoKSx0aGlzLnNhdmVMaW5rKCkpOlQua2V5PT09IkVzY2FwZSImJihULnByZXZlbnREZWZhdWx0KCksdGhpcy5oaWRlTGlua0lucHV0KCkpfXNldFZhbHVlKFQpe3RoaXMudmFsdWU9VCx0aGlzLmVkaXRvciYmVCE9PXRoaXMuZWRpdG9yLmdldEhUTUwoKSYmdGhpcy5lZGl0b3IuY29tbWFuZHMuc2V0Q29udGVudChUKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfWNsZWFyKCl7dGhpcy5zZXRWYWx1ZSgiIil9Zm9jdXMoKXt0aGlzLmVkaXRvcj8uY29tbWFuZHMuZm9jdXMoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5lZGl0b3ImJnRoaXMuZWRpdG9yLmRlc3Ryb3koKX1zdGF0aWN7b24ocix0KX19O3JldHVybiBPPXJ9KSgpfSk7dmFyIG5sYSxsbGE9ZigoKT0+e1hYZSgpO1dzKCk7bGUoKTtOYSgpO25sYT1zKCgpPT53YAogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW9XcmFwcGVyIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDUlKSIpfTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDsKICAgICAgfQogICAgICAuZGVtby10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQogICAgICAuZGVtby1kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgLnRoZW1lLXRvZ2dsZSB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMTZweDsKICAgICAgICByaWdodDogMTZweDsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtb1dyYXBwZXIiPgogICAgPGRlZXMtYnV0dG9uIGNsYXNzPSJ0aGVtZS10b2dnbGUiIEBjbGljaz0keygpPT57ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QudG9nZ2xlKCJicmlnaHQiKSxkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoImRhcmsiKX19PlRvZ2dsZSBUaGVtZTwvZGVlcy1idXR0b24+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkJhc2ljIFRhYmxlIHdpdGggQWN0aW9uczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkEgc3RhbmRhcmQgdGFibGUgd2l0aCByb3cgYWN0aW9ucywgZWRpdGFibGUgY2VsbHMsIGFuZCBjb250ZXh0IG1lbnUgc3VwcG9ydC4gRG91YmxlLWNsaWNrIGFueSBjZWxsIHRvIGVkaXQuIFRhYiBtb3ZlcyB0byB0aGUgbmV4dCBlZGl0YWJsZSBjZWxsLCBFbnRlciB0byB0aGUgcm93IGJlbG93LCBFc2MgY2FuY2Vscy48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJDdXJyZW50IEFjY291bnQgU3RhdGVtZW50IgogICAgICAgICAgaGVhZGluZzI9IkJ1bnEgLSBQYXltZW50IEFjY291bnQgMiAtIEFwcmlsIDIwMjEiCiAgICAgICAgICAuY29sdW1ucz0ke1t7a2V5OiJkYXRlIixoZWFkZXI6IkRhdGUiLHNvcnRhYmxlOiEwLGVkaXRhYmxlOiEwLGVkaXRvcjoiZGF0ZSJ9LHtrZXk6ImFtb3VudCIsaGVhZGVyOiJBbW91bnQiLGVkaXRhYmxlOiEwLGVkaXRvcjoidGV4dCJ9LHtrZXk6ImNhdGVnb3J5IixoZWFkZXI6IkNhdGVnb3J5IixlZGl0YWJsZTohMCxlZGl0b3I6ImRyb3Bkb3duIixlZGl0b3JPcHRpb25zOntvcHRpb25zOlt7b3B0aW9uOiJPZmZpY2UgU3VwcGxpZXMiLGtleToib2ZmaWNlIn0se29wdGlvbjoiSGFyZHdhcmUiLGtleToiaGFyZHdhcmUifSx7b3B0aW9uOiJTb2Z0d2FyZSIsa2V5OiJzb2Z0d2FyZSJ9LHtvcHRpb246IlRyYXZlbCIsa2V5OiJ0cmF2ZWwifV19fSx7a2V5OiJkZXNjcmlwdGlvbiIsaGVhZGVyOiJEZXNjcmlwdGlvbiIsZWRpdGFibGU6ITB9LHtrZXk6InJlY29uY2lsZWQiLGhlYWRlcjoiT0siLGVkaXRhYmxlOiEwLGVkaXRvcjoiY2hlY2tib3gifV19CiAgICAgICAgICBAY2VsbEVkaXQ9JHthPT5jb25zb2xlLmxvZygiY2VsbEVkaXQiLGEuZGV0YWlsKX0KICAgICAgICAgIC5kYXRhPSR7W3tkYXRlOiIyMDIxLTA0LTAxIixhbW91bnQ6IjI0NjQuNjUgXHUyMEFDIixjYXRlZ29yeToib2ZmaWNlIixkZXNjcmlwdGlvbjoiUHJpbnRpbmcgUGFwZXIgLSBTVEFQTEVTIEJSRU1FTiIscmVjb25jaWxlZDohMH0se2RhdGU6IjIwMjEtMDQtMDIiLGFtb3VudDoiMTY1LjY1IFx1MjBBQyIsY2F0ZWdvcnk6ImhhcmR3YXJlIixkZXNjcmlwdGlvbjoiTG9naXRlY2ggTW91c2UgLSBsb2dpLmNvbSBPbmxpbmVTaG9wIixyZWNvbmNpbGVkOiExfSx7ZGF0ZToiMjAyMS0wNC0wMyIsYW1vdW50OiIyOTk5LDAwIFx1MjBBQyIsY2F0ZWdvcnk6ImhhcmR3YXJlIixkZXNjcmlwdGlvbjoiTWFjYm9vayBQcm8gMTZpbmNoIC0gQXBwbGUuZGUgT25saW5lU2hvcCIscmVjb25jaWxlZDohMX0se2RhdGU6IjIwMjEtMDQtMDEiLGFtb3VudDoiMjQ2NC42NSBcdTIwQUMiLGNhdGVnb3J5OiJvZmZpY2UiLGRlc2NyaXB0aW9uOiJPZmZpY2UtU3VwcGxpZXMgLSBTVEFQTEVTIEJSRU1FTiIscmVjb25jaWxlZDohMH0se2RhdGU6IjIwMjEtMDQtMDEiLGFtb3VudDoiMjQ2NC42NSBcdTIwQUMiLGNhdGVnb3J5OiJvZmZpY2UiLGRlc2NyaXB0aW9uOiJPZmZpY2UtU3VwcGxpZXMgLSBTVEFQTEVTIEJSRU1FTiIscmVjb25jaWxlZDohMH1dfQogICAgICAgICAgZGF0YU5hbWU9InRyYW5zYWN0aW9ucyIKICAgICAgICAgIC5kYXRhQWN0aW9ucz0iJHtbe25hbWU6InVwbG9hZCIsaWNvbk5hbWU6ImJlbGwiLHVzZVRhYmxlQmVoYXZpb3VyOiJ1cGxvYWQiLHR5cGU6WyJpblJvdyJdLGFjdGlvbkZ1bmM6cyhhc3luYyBhPT57YWxlcnQoYS5pdGVtLmFtb3VudCl9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJ2aXNpYmlsaXR5IixpY29uTmFtZToiY29weSIsdHlwZTpbImluUm93Il0sdXNlVGFibGVCZWhhdmlvdXI6InByZXZpZXciLGFjdGlvbkZ1bmM6cyhhc3luYyBhPT57fSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiY3JlYXRlIG5ldyIsaWNvbk5hbWU6Imluc3RhZ3JhbSIsdHlwZTpbImhlYWRlciJdLHVzZVRhYmxlQmVoYXZpb3VyOiJwcmV2aWV3IixhY3Rpb25GdW5jOnMoYXN5bmMgYT0+e30sImFjdGlvbkZ1bmMiKX0se25hbWU6InRvIGdhbGxlcnkiLGljb25OYW1lOiJtZXNzYWdlIix0eXBlOlsiZm9vdGVyIl0sdXNlVGFibGVCZWhhdmlvdXI6InByZXZpZXciLGFjdGlvbkZ1bmM6cyhhc3luYyBhPT57fSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiY29weSIsaWNvbk5hbWU6ImNvcHlTb2xpZCIsdHlwZTpbImNvbnRleHRtZW51IiwiaW5Sb3ciXSxhY3Rpb246cyhhc3luYygpPT5udWxsLCJhY3Rpb24iKX0se25hbWU6ImVkaXQgKGZyb20gZGVtbykiLGljb25OYW1lOiJwZW5Ub1NxdWFyZSIsdHlwZTpbImNvbnRleHRtZW51Il0sYWN0aW9uOnMoYXN5bmMoKT0+bnVsbCwiYWN0aW9uIil9LHtuYW1lOiJwYXN0ZSIsaWNvbk5hbWU6InBhc3RlU29saWQiLHR5cGU6WyJjb250ZXh0bWVudSJdLGFjdGlvbjpzKGFzeW5jKCk9Pm51bGwsImFjdGlvbiIpfSx7bmFtZToicHJldmlldyIsdHlwZTpbImRvdWJsZUNsaWNrIiwiY29udGV4dG1lbnUiXSxpY29uTmFtZToiZXllIixhY3Rpb25GdW5jOnMoYXN5bmMgYT0+KGFsZXJ0KGEuaXRlbS5hbW91bnQpLG51bGwpLCJhY3Rpb25GdW5jIil9XX0iCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+VGFibGUgd2l0aCBWZXJ0aWNhbCBMaW5lczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkVuaGFuY2VkIGNvbHVtbiBzZXBhcmF0aW9uIGZvciBiZXR0ZXIgZGF0YSB0cmFja2luZy48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJQcm9kdWN0IEludmVudG9yeSIKICAgICAgICAgIGhlYWRpbmcyPSJDdXJyZW50IHN0b2NrIGxldmVscyBhY3Jvc3Mgd2FyZWhvdXNlcyIKICAgICAgICAgIC5zaG93VmVydGljYWxMaW5lcz0keyEwfQogICAgICAgICAgLmRhdGE9JHtbe3Byb2R1Y3Q6J01hY0Jvb2sgUHJvIDE2Iicsd2FyZWhvdXNlX2E6IjQ1Iix3YXJlaG91c2VfYjoiMzIiLHdhcmVob3VzZV9jOiIyOCIsdG90YWw6IjEwNSIsc3RhdHVzOiJcdTI3MTMgSW4gU3RvY2sifSx7cHJvZHVjdDoiaVBob25lIDE1IFBybyIsd2FyZWhvdXNlX2E6IjEyMCIsd2FyZWhvdXNlX2I6Ijg5Iix3YXJlaG91c2VfYzoiMTU2Iix0b3RhbDoiMzY1IixzdGF0dXM6Ilx1MjcxMyBJbiBTdG9jayJ9LHtwcm9kdWN0OiJBaXJQb2RzIFBybyIsd2FyZWhvdXNlX2E6IjAiLHdhcmVob3VzZV9iOiIxMiIsd2FyZWhvdXNlX2M6IjUiLHRvdGFsOiIxNyIsc3RhdHVzOiJcdTI2QTAgTG93IFN0b2NrIn0se3Byb2R1Y3Q6ImlQYWQgQWlyIix3YXJlaG91c2VfYToiMjMiLHdhcmVob3VzZV9iOiI0NSIsd2FyZWhvdXNlX2M6IjY3Iix0b3RhbDoiMTM1IixzdGF0dXM6Ilx1MjcxMyBJbiBTdG9jayJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJwcm9kdWN0cyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5UYWJsZSB3aXRoIEZ1bGwgR3JpZDwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkNvbXBsZXRlIGdyaWQgbGluZXMgZm9yIG1heGltdW0gcmVhZGFiaWxpdHkgYW5kIHN0cnVjdHVyZS48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJTZXJ2ZXIgTW9uaXRvcmluZyBEYXNoYm9hcmQiCiAgICAgICAgICBoZWFkaW5nMj0iUmVhbC10aW1lIG1ldHJpY3MgYWNyb3NzIHJlZ2lvbnMiCiAgICAgICAgICAuc2hvd0dyaWQ9JHshMH0KICAgICAgICAgIC5kYXRhPSR7W3tzZXJ2ZXI6IkFQSS0xIixyZWdpb246IlVTLUVhc3QiLGNwdToiNDUlIixtZW1vcnk6IjYyJSIsZGlzazoiNzglIixsYXRlbmN5OiIxMm1zIix1cHRpbWU6Ijk5LjklIixzdGF0dXM6Ilx1ezFGN0UyfSBIZWFsdGh5In0se3NlcnZlcjoiQVBJLTIiLHJlZ2lvbjoiRVUtV2VzdCIsY3B1OiIzOCUiLG1lbW9yeToiNTUlIixkaXNrOiI0NSUiLGxhdGVuY3k6IjI1bXMiLHVwdGltZToiOTkuOCUiLHN0YXR1czoiXHV7MUY3RTJ9IEhlYWx0aHkifSx7c2VydmVyOiJEQi1NYXN0ZXIiLHJlZ2lvbjoiVVMtRWFzdCIsY3B1OiI3MiUiLG1lbW9yeToiODElIixkaXNrOiI5MiUiLGxhdGVuY3k6IjhtcyIsdXB0aW1lOiIxMDAlIixzdGF0dXM6Ilx1ezFGN0UxfSBXYXJuaW5nIn0se3NlcnZlcjoiREItUmVwbGljYSIscmVnaW9uOiJFVS1XZXN0IixjcHU6IjIzJSIsbWVtb3J5OiIzNCUiLGRpc2s6IjQ1JSIsbGF0ZW5jeToiMTVtcyIsdXB0aW1lOiI5OS43JSIsc3RhdHVzOiJcdXsxRjdFMn0gSGVhbHRoeSJ9LHtzZXJ2ZXI6IkNhY2hlLTEiLHJlZ2lvbjoiQVAtU291dGgiLGNwdToiODklIixtZW1vcnk6IjkyJSIsZGlzazoiMTIlIixsYXRlbmN5OiIxMjBtcyIsdXB0aW1lOiI5OC41JSIsc3RhdHVzOiJcdXsxRjUzNH0gQ3JpdGljYWwifV19CiAgICAgICAgICBkYXRhTmFtZT0ic2VydmVycyIKICAgICAgICAgIC5kYXRhQWN0aW9ucz0iJHtbe25hbWU6IlNTSCBDb25uZWN0IixpY29uTmFtZToibHVjaWRlOnRlcm1pbmFsIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOnMoYXN5bmMgYT0+e2NvbnNvbGUubG9nKCJDb25uZWN0aW5nIHRvOiIsYS5pdGVtLnNlcnZlcil9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJWaWV3IExvZ3MiLGljb25OYW1lOiJsdWNpZGU6ZmlsZS10ZXh0Iix0eXBlOlsiaW5Sb3ciLCJjb250ZXh0bWVudSJdLGFjdGlvbkZ1bmM6cyhhc3luYyBhPT57Y29uc29sZS5sb2coIlZpZXdpbmcgbG9ncyBmb3I6IixhLml0ZW0uc2VydmVyKX0sImFjdGlvbkZ1bmMiKX0se25hbWU6IlJlc3RhcnQgU2VydmVyIixpY29uTmFtZToibHVjaWRlOnJlZnJlc2gtY3ciLHR5cGU6WyJjb250ZXh0bWVudSJdLGFjdGlvbkZ1bmM6cyhhc3luYyBhPT57Y29uc29sZS5sb2coIlJlc3RhcnRpbmc6IixhLml0ZW0uc2VydmVyKX0sImFjdGlvbkZ1bmMiKX1dfSIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5UYWJsZSB3aXRoIEhvcml6b250YWwgTGluZXMgT25seTwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkVtcGhhc2lzIG9uIHJvdyBzZXBhcmF0aW9uIHdpdGhvdXQgY29sdW1uIGRpdmlkZXJzLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlNhbGVzIFBlcmZvcm1hbmNlIgogICAgICAgICAgaGVhZGluZzI9IlRvcCBwZXJmb3JtZXJzIHRoaXMgcXVhcnRlciIKICAgICAgICAgIC5zaG93SG9yaXpvbnRhbExpbmVzPSR7ITB9CiAgICAgICAgICAuc2hvd1ZlcnRpY2FsTGluZXM9JHshMX0KICAgICAgICAgIC5kYXRhPSR7W3tzYWxlc3BlcnNvbjoiRW1pbHkgSm9obnNvbiIscmVnaW9uOiJOb3J0aCBBbWVyaWNhIixkZWFsc19jbG9zZWQ6IjQyIixyZXZlbnVlOiIkMS4yTSIscXVvdGFfYWNoaWV2ZW1lbnQ6IjEyOCUiLHJhdGluZzoiXHUyQjUwXHUyQjUwXHUyQjUwXHUyQjUwXHUyQjUwIn0se3NhbGVzcGVyc29uOiJNaWNoYWVsIENoZW4iLHJlZ2lvbjoiQXNpYSBQYWNpZmljIixkZWFsc19jbG9zZWQ6IjM4IixyZXZlbnVlOiIkOTgwSyIscXVvdGFfYWNoaWV2ZW1lbnQ6IjExNSUiLHJhdGluZzoiXHUyQjUwXHUyQjUwXHUyQjUwXHUyQjUwXHUyQjUwIn0se3NhbGVzcGVyc29uOiJTYXJhaCBXaWxsaWFtcyIscmVnaW9uOiJFdXJvcGUiLGRlYWxzX2Nsb3NlZDoiMzUiLHJldmVudWU6IiQ4NzVLIixxdW90YV9hY2hpZXZlbWVudDoiMTA4JSIscmF0aW5nOiJcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTAifSx7c2FsZXNwZXJzb246IkRhdmlkIEdhcmNpYSIscmVnaW9uOiJMYXRpbiBBbWVyaWNhIixkZWFsc19jbG9zZWQ6IjMxIixyZXZlbnVlOiIkNzUwSyIscXVvdGFfYWNoaWV2ZW1lbnQ6Ijk1JSIscmF0aW5nOiJcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTAifV19CiAgICAgICAgICBkYXRhTmFtZT0ic2FsZXMgcmVwcyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5TaW1wbGUgVGFibGUgKE5vIEdyaWQpPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+Q2xlYW4sIG1pbmltYWwgZGVzaWduIHdpdGhvdXQgZ3JpZCBsaW5lcy4gU2V0IHNob3dHcmlkIHRvIGZhbHNlIHRvIGRpc2FibGUgdGhlIGRlZmF1bHQgZ3JpZC48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJUZWFtIE1lbWJlcnMiCiAgICAgICAgICBoZWFkaW5nMj0iRW5naW5lZXJpbmcgRGVwYXJ0bWVudCIKICAgICAgICAgIC5zaG93R3JpZD0keyExfQogICAgICAgICAgLmRhdGE9JHtbe25hbWU6IkFsaWNlIEpvaG5zb24iLHJvbGU6IkxlYWQgRW5naW5lZXIiLGVtYWlsOiJhbGljZUBjb21wYW55LmNvbSIsbG9jYXRpb246IlNhbiBGcmFuY2lzY28iLGpvaW5lZDoiMjAyMC0wMy0xNSJ9LHtuYW1lOiJCb2IgU21pdGgiLHJvbGU6IlNlbmlvciBEZXZlbG9wZXIiLGVtYWlsOiJib2JAY29tcGFueS5jb20iLGxvY2F0aW9uOiJOZXcgWW9yayIsam9pbmVkOiIyMDE5LTA3LTIyIn0se25hbWU6IkNoYXJsaWUgRGF2aXMiLHJvbGU6IkRldk9wcyBFbmdpbmVlciIsZW1haWw6ImNoYXJsaWVAY29tcGFueS5jb20iLGxvY2F0aW9uOiJMb25kb24iLGpvaW5lZDoiMjAyMS0wMS0xMCJ9LHtuYW1lOiJEaWFuYSBNYXJ0aW5leiIscm9sZToiRnJvbnRlbmQgRGV2ZWxvcGVyIixlbWFpbDoiZGlhbmFAY29tcGFueS5jb20iLGxvY2F0aW9uOiJCYXJjZWxvbmEiLGpvaW5lZDoiMjAyMi0wNS0xOCJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJ0ZWFtIG1lbWJlcnMiCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+VGFibGUgd2l0aCBDdXN0b20gRGlzcGxheSBGdW5jdGlvbjwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPlRyYW5zZm9ybSBkYXRhIGZvciBkaXNwbGF5IHVzaW5nIGN1c3RvbSBmb3JtYXR0aW5nLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlNhbGVzIFJlcG9ydCIKICAgICAgICAgIGhlYWRpbmcyPSJRNCAyMDIzIFBlcmZvcm1hbmNlIgogICAgICAgICAgLmRhdGE9JHtbe3Byb2R1Y3Q6IkVudGVycHJpc2UgTGljZW5zZSIsdW5pdHM6NDUscmV2ZW51ZToyMjVlMyxncm93dGg6LjIzLGZvcmVjYXN0OjI4ZTR9LHtwcm9kdWN0OiJQcm9mZXNzaW9uYWwgTGljZW5zZSIsdW5pdHM6MTI4LHJldmVudWU6MTI4ZTMsZ3Jvd3RoOi4xNSxmb3JlY2FzdDoxNDdlM30se3Byb2R1Y3Q6IlN0YXJ0ZXIgTGljZW5zZSIsdW5pdHM6MzQyLHJldmVudWU6Njg0MDAsZ3Jvd3RoOi40Mixmb3JlY2FzdDo5N2UzfV19CiAgICAgICAgICAuZGlzcGxheUZ1bmN0aW9uPSR7YT0+KHtQcm9kdWN0OmEucHJvZHVjdCwiVW5pdHMgU29sZCI6YS51bml0cy50b0xvY2FsZVN0cmluZygpLFJldmVudWU6IiQiK2EucmV2ZW51ZS50b0xvY2FsZVN0cmluZygpLEdyb3d0aDooYS5ncm93dGgqMTAwKS50b0ZpeGVkKDEpKyIlIiwiUTEgMjAyNCBGb3JlY2FzdCI6IiQiK2EuZm9yZWNhc3QudG9Mb2NhbGVTdHJpbmcoKX0pfQogICAgICAgICAgZGF0YU5hbWU9InByb2R1Y3RzIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkVtcHR5IFRhYmxlIFN0YXRlPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+SG93IHRoZSB0YWJsZSBsb29rcyB3aGVuIG5vIGRhdGEgaXMgYXZhaWxhYmxlLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9Ik5vIERhdGEgQXZhaWxhYmxlIgogICAgICAgICAgaGVhZGluZzI9IlRoaXMgdGFibGUgaXMgY3VycmVudGx5IGVtcHR5IgogICAgICAgICAgLmRhdGE9JHtbXX0KICAgICAgICAgIGRhdGFOYW1lPSJpdGVtcyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5TY2hlbWEtRmlyc3QgQ29sdW1ucyAoTmV3KTwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkRlZmluZXMgY29sdW1ucyBleHBsaWNpdGx5IGFuZCByZW5kZXJzIHZpYSBzY2hlbWEuIE5vIGRpc3BsYXlGdW5jdGlvbiBuZWVkZWQuPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iVXNlcnMgKFNjaGVtYS1GaXJzdCkiCiAgICAgICAgICBoZWFkaW5nMj0iQ29sdW1ucyBkZWZpbmUgcmVuZGVyaW5nIGFuZCBvcmRlciIKICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6Im5hbWUiLGhlYWRlcjoiTmFtZSIsc29ydGFibGU6ITB9LHtrZXk6ImVtYWlsIixoZWFkZXI6IkVtYWlsIixyZW5kZXJlcjpzKGE9PndgPGRlZXMtYmFkZ2U+JHthfTwvZGVlcy1iYWRnZT5gLCJyZW5kZXJlciIpfSx7a2V5OiJqb2luZWRBdCIsaGVhZGVyOiJKb2luZWQiLHJlbmRlcmVyOnMoYT0+bmV3IERhdGUoYSkudG9Mb2NhbGVEYXRlU3RyaW5nKCksInJlbmRlcmVyIil9XX0KICAgICAgICAgIC5kYXRhPSR7W3tuYW1lOiJBbGljZSIsZW1haWw6ImFsaWNlQGV4YW1wbGUuY29tIixqb2luZWRBdDoiMjAyMi0wOC0wMSJ9LHtuYW1lOiJCb2IiLGVtYWlsOiJib2JAZXhhbXBsZS5jb20iLGpvaW5lZEF0OiIyMDIxLTEyLTExIn0se25hbWU6IkNhcm9sIixlbWFpbDoiY2Fyb2xAZXhhbXBsZS5jb20iLGpvaW5lZEF0OiIyMDIzLTAzLTIyIn1dfQogICAgICAgICAgZGF0YU5hbWU9InVzZXJzIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlBhcnRpYWwgU2NoZW1hICsgQXVnbWVudCAoTmV3KTwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPlByb3ZpZGVzIG9ubHkgdGhlIGltcG9ydGFudCBjb2x1bW5zOyB0aGUgcmVzdCBhcmUgbWVyZ2VkIGluIGZyb20gZGlzcGxheUZ1bmN0aW9uLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlVzZXJzIChQYXJ0aWFsICsgQXVnbWVudCkiCiAgICAgICAgICBoZWFkaW5nMj0iTWlzc2luZyBjb2x1bW5zIGFyZSBkZXJpdmVkIgogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToibmFtZSIsaGVhZGVyOiJOYW1lIixzb3J0YWJsZTohMH1dfQogICAgICAgICAgLmRpc3BsYXlGdW5jdGlvbj0ke2E9Pih7bmFtZTphLm5hbWUsZW1haWw6YS5lbWFpbCxyb2xlOmEucm9sZX0pfQogICAgICAgICAgLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uPSR7ITB9CiAgICAgICAgICAuZGF0YT0ke1t7bmFtZToiRXJpbiIsZW1haWw6ImVyaW5AZXhhbXBsZS5jb20iLHJvbGU6IkFkbWluIn0se25hbWU6IkZpbm4iLGVtYWlsOiJmaW5uQGV4YW1wbGUuY29tIixyb2xlOiJVc2VyIn0se25hbWU6IkdpbmEiLGVtYWlsOiJnaW5hQGV4YW1wbGUuY29tIixyb2xlOiJVc2VyIn1dfQogICAgICAgICAgZGF0YU5hbWU9InVzZXJzIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIiAKICAgICAgICAgICBAc2VsZWN0aW9uQ2hhbmdlPSR7YT0+e2NvbnNvbGUubG9nKCJTZWxlY3Rpb24gY2hhbmdlZCIsYS5kZXRhaWwpfX0KICAgICAgICAgICBAc2VhcmNoLWNoYW5nZWQ9JHthPT57bGV0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhYmxlRmlsdGVyU2VsZWN0RGVtbyIpO2UmJmUuc2V0RmlsdGVyVGV4dChhLmRldGFpbC52YWx1ZSl9fQogICAgICAgICAgIEBzZWFyY2gtc3VibWl0PSR7YT0+e2xldCBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YWJsZUZpbHRlclNlbGVjdERlbW8iKTtlJiZlLnNldEZpbHRlclRleHQoYS5kZXRhaWwudmFsdWUpfX0KICAgICAgPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+RmlsdGVyaW5nICsgTXVsdGktU2VsZWN0aW9uIChOZXcpPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+VXNlIHRoZSBzZWFyY2ggYmFyIHRvIGZpbHRlciByb3dzOyB0b2dnbGUgc2VsZWN0aW9uIHZpYSBjaGVja2JveGVzLiBDbGljayBoZWFkZXJzIHRvIHNvcnQuPC9wPgogICAgICAgIDxkZWVzLXNlYXJjaGJhcj48L2RlZXMtc2VhcmNoYmFyPgogICAgICAgIDxkaXYgc3R5bGU9ImhlaWdodDogMTJweCI+PC9kaXY+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGlkPSJ0YWJsZUZpbHRlclNlbGVjdERlbW8iCiAgICAgICAgICBoZWFkaW5nMT0iSW52ZW50b3J5IChGaWx0ZXIgKyBTZWxlY3QpIgogICAgICAgICAgaGVhZGluZzI9IlRyeSB0eXBpbmcgdG8gZmlsdGVyIGFuZCBzZWxlY3RpbmcgbXVsdGlwbGUgcm93cyIKICAgICAgICAgIC5zZWxlY3Rpb25Nb2RlPSR7Im11bHRpIn0KICAgICAgICAgIC5yb3dLZXk9JHsic2t1In0KICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6InNrdSIsaGVhZGVyOiJTS1UiLHNvcnRhYmxlOiEwfSx7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUiLHNvcnRhYmxlOiEwfSx7a2V5OiJzdG9jayIsaGVhZGVyOiJTdG9jayIsc29ydGFibGU6ITB9XX0KICAgICAgICAgIC5kYXRhPSR7W3tza3U6IkEtMTAwIixuYW1lOiJVU0ItQyBDYWJsZSIsc3RvY2s6MTIwfSx7c2t1OiJBLTEwMSIsbmFtZToiV2lyZWxlc3MgTW91c2UiLHN0b2NrOjU1fSx7c2t1OiJBLTEwMiIsbmFtZToiTGFwdG9wIFN0YW5kIixzdG9jazoxOH0se3NrdToiQi0yMDAiLG5hbWU6IktleWJvYXJkIChJU08pIixzdG9jazo4OX0se3NrdToiQi0yMDEiLG5hbWU6IkhETUkgQWRhcHRlciIsc3RvY2s6MH0se3NrdToiQy0zMDAiLG5hbWU6IldlYmNhbSAxMDgwcCIsc3RvY2s6NDJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJpdGVtcyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5Db2x1bW4gRmlsdGVycyArIFN0aWNreSBIZWFkZXIgKE5ldyk8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5QZXItY29sdW1uIHF1aWNrIGZpbHRlcnMgYW5kIHN0aWNreSBoZWFkZXIgd2l0aCBpbnRlcm5hbCBzY3JvbGwuIFRyeSBmaWx0ZXJpbmcgdGhlIE5hbWUgY29sdW1uLiBVc2VzIC0tdGFibGUtbWF4LWhlaWdodCB2YXIuPC9wPgogICAgICAgIDxzdHlsZT4KICAgICAgICAgIGRlZXMtdGFibGVbZml4ZWQtaGVpZ2h0XSB7IC0tdGFibGUtbWF4LWhlaWdodDogMjIwcHg7IH0KICAgICAgICA8L3N0eWxlPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iRW1wbG95ZWVzIgogICAgICAgICAgaGVhZGluZzI9IlF1aWNrIGZpbHRlciBwZXIgY29sdW1uICsgc3RpY2t5IGhlYWRlciIKICAgICAgICAgIC5zaG93Q29sdW1uRmlsdGVycz0keyEwfQogICAgICAgICAgLmZpeGVkSGVpZ2h0PSR7ITB9CiAgICAgICAgICAuY29sdW1ucz0ke1t7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUiLHNvcnRhYmxlOiEwfSx7a2V5OiJlbWFpbCIsaGVhZGVyOiJFbWFpbCIsc29ydGFibGU6ITB9LHtrZXk6ImRlcGFydG1lbnQiLGhlYWRlcjoiRGVwYXJ0bWVudCIsc29ydGFibGU6ITB9XX0KICAgICAgICAgIC5kYXRhPSR7W3tuYW1lOiJBbGljZSBKb2huc29uIixlbWFpbDoiYWxpY2VAY29ycC5jb20iLGRlcGFydG1lbnQ6IkVuZ2luZWVyaW5nIn0se25hbWU6IkJvYiBTbWl0aCIsZW1haWw6ImJvYkBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiU2FsZXMifSx7bmFtZToiQ2hhcmxpZSBEYXZpcyIsZW1haWw6ImNoYXJsaWVAY29ycC5jb20iLGRlcGFydG1lbnQ6IkhSIn0se25hbWU6IkRpYW5hIE1hcnRpbmV6IixlbWFpbDoiZGlhbmFAY29ycC5jb20iLGRlcGFydG1lbnQ6IkVuZ2luZWVyaW5nIn0se25hbWU6IkV0aGFuIEJyb3duIixlbWFpbDoiZXRoYW5AY29ycC5jb20iLGRlcGFydG1lbnQ6IkZpbmFuY2UifSx7bmFtZToiRmlvbmEgQ2xhcmsiLGVtYWlsOiJmaW9uYUBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiU2FsZXMifSx7bmFtZToiR3JhY2UgTGVlIixlbWFpbDoiZ3JhY2VAY29ycC5jb20iLGRlcGFydG1lbnQ6IkVuZ2luZWVyaW5nIn0se25hbWU6IkhlbnJ5IFdpbHNvbiIsZW1haWw6ImhlbnJ5QGNvcnAuY29tIixkZXBhcnRtZW50OiJNYXJrZXRpbmcifSx7bmFtZToiSXJlbmUgV2Fsa2VyIixlbWFpbDoiaXJlbmVAY29ycC5jb20iLGRlcGFydG1lbnQ6IkZpbmFuY2UifSx7bmFtZToiSmFjayBUdXJuZXIiLGVtYWlsOiJqYWNrQGNvcnAuY29tIixkZXBhcnRtZW50OiJTdXBwb3J0In1dfQogICAgICAgICAgZGF0YU5hbWU9ImVtcGxveWVlcyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiIKICAgICAgICBAc2VhcmNoUmVxdWVzdD0ke2FzeW5jIGE9PntsZXR7cXVlcnk6ZX09YS5kZXRhaWx8fHtxdWVyeToiIn0sdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VydmVyU2VhcmNoRGVtbyIpLHI9W3tpZDoxLG5hbWU6IkFsaWNlIixjaXR5OiJCZXJsaW4iLHRpdGxlOiJFbmdpbmVlciJ9LHtpZDoyLG5hbWU6IkJvYiIsY2l0eToiUGFyaXMiLHRpdGxlOiJEZXNpZ25lciJ9LHtpZDozLG5hbWU6IkNoYXJsaWUiLGNpdHk6IkxvbmRvbiIsdGl0bGU6Ik1hbmFnZXIifSx7aWQ6NCxuYW1lOiJEaWFuYSIsY2l0eToiTWFkcmlkIix0aXRsZToiRW5naW5lZXIifSx7aWQ6NSxuYW1lOiJFdGhhbiIsY2l0eToiUm9tZSIsdGl0bGU6IlN1cHBvcnQifV07YXdhaXQgbmV3IFByb21pc2Uobj0+c2V0VGltZW91dChuLDMwMCkpO2xldCBpPVN0cmluZyhlfHwiIikudG9Mb3dlckNhc2UoKSxvPWk/ci5maWx0ZXIobj0+T2JqZWN0LnZhbHVlcyhuKS5zb21lKGw9PlN0cmluZyhsKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGkpKSk6cjt0LmRhdGE9b319CiAgICAgID4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlNlcnZlciBTZWFyY2ggKE5ldyk8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5TZWxlY3QgU2VydmVyIG1vZGUsIHR5cGUgYSBxdWVyeSwgYW5kIHdhdGNoIHRoZSB0YWJsZSBmZXRjaCBzaW11bGF0ZWQgcmVzdWx0cy48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGlkPSJzZXJ2ZXJTZWFyY2hEZW1vIgogICAgICAgICAgaGVhZGluZzE9IlBlb3BsZSAoU2VydmVyIFNlYXJjaCkiCiAgICAgICAgICBoZWFkaW5nMj0iQ2xpY2sgU2VhcmNoLCBjaG9vc2UgU2VydmVyIG1vZGUsIGFuZCB0eXBlIgogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToibmFtZSIsaGVhZGVyOiJOYW1lIn0se2tleToiY2l0eSIsaGVhZGVyOiJDaXR5In0se2tleToidGl0bGUiLGhlYWRlcjoiVGl0bGUifV19CiAgICAgICAgICAuZGF0YT0ke1t7aWQ6MSxuYW1lOiJBbGljZSIsY2l0eToiQmVybGluIix0aXRsZToiRW5naW5lZXIifSx7aWQ6MixuYW1lOiJCb2IiLGNpdHk6IlBhcmlzIix0aXRsZToiRGVzaWduZXIifSx7aWQ6MyxuYW1lOiJDaGFybGllIixjaXR5OiJMb25kb24iLHRpdGxlOiJNYW5hZ2VyIn0se2lkOjQsbmFtZToiRGlhbmEiLGNpdHk6Ik1hZHJpZCIsdGl0bGU6IkVuZ2luZWVyIn0se2lkOjUsbmFtZToiRXRoYW4iLGNpdHk6IlJvbWUiLHRpdGxlOiJTdXBwb3J0In1dfQogICAgICAgICAgZGF0YU5hbWU9InBlb3BsZSIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5NdWx0aS1Db2x1bW4gU29ydDwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ2xpY2sgYW55IGNvbHVtbiBoZWFkZXIgZm9yIGEgc2luZ2xlLWNvbHVtbiBzb3J0LiBIb2xkIFNoaWZ0IHdoaWxlIGNsaWNraW5nIHRvIGFkZCB0aGUKICAgICAgICAgIGNvbHVtbiB0byBhIG11bHRpLXNvcnQgY2FzY2FkZSAob3IgY3ljbGUgaXRzIGRpcmVjdGlvbikuIFJpZ2h0LWNsaWNrIGFueSBzb3J0YWJsZSBoZWFkZXIKICAgICAgICAgIHRvIG9wZW4gYSBtZW51IHdoZXJlIHlvdSBjYW4gcGluIGEgY29sdW1uIHRvIGEgc3BlY2lmaWMgcHJpb3JpdHkgc2xvdCwgcmVtb3ZlIGl0LCBvcgogICAgICAgICAgY2xlYXIgdGhlIGNhc2NhZGUuCiAgICAgICAgPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iUGVvcGxlIERpcmVjdG9yeSIKICAgICAgICAgIGhlYWRpbmcyPSJQcmUtc2VlZGVkIHdpdGggZGVwYXJ0bWVudCDilrIgMSwgbmFtZSDilrIgMiIKICAgICAgICAgIC5zb3J0Qnk9JHtbe2tleToiZGVwYXJ0bWVudCIsZGlyOiJhc2MifSx7a2V5OiJuYW1lIixkaXI6ImFzYyJ9XX0KICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6ImRlcGFydG1lbnQiLGhlYWRlcjoiRGVwYXJ0bWVudCIsc29ydGFibGU6ITB9LHtrZXk6Im5hbWUiLGhlYWRlcjoiTmFtZSIsc29ydGFibGU6ITB9LHtrZXk6InJvbGUiLGhlYWRlcjoiUm9sZSIsc29ydGFibGU6ITB9LHtrZXk6ImNyZWF0ZWRBdCIsaGVhZGVyOiJDcmVhdGVkIixzb3J0YWJsZTohMH0se2tleToibG9jYXRpb24iLGhlYWRlcjoiTG9jYXRpb24iLHNvcnRhYmxlOiEwfSx7a2V5OiJzdGF0dXMiLGhlYWRlcjoiU3RhdHVzIixzb3J0YWJsZTohMH1dfQogICAgICAgICAgLmRhdGE9JHtbe2RlcGFydG1lbnQ6IlImRCIsbmFtZToiQWxpY2UgSm9obnNvbiIscm9sZToiRW5naW5lZXIiLGNyZWF0ZWRBdDoiMjAyMy0wMS0xMiIsbG9jYXRpb246IkJlcmxpbiIsc3RhdHVzOiJBY3RpdmUifSx7ZGVwYXJ0bWVudDoiUiZEIixuYW1lOiJEaWFuYSBNYXJ0aW5leiIscm9sZToiRW5naW5lZXIiLGNyZWF0ZWRBdDoiMjAyMC0wNi0zMCIsbG9jYXRpb246Ik1hZHJpZCIsc3RhdHVzOiJBY3RpdmUifSx7ZGVwYXJ0bWVudDoiUiZEIixuYW1lOiJNYXJrIExlZSIscm9sZToiRW5naW5lZXIiLGNyZWF0ZWRBdDoiMjAyNC0wMy0wNCIsbG9jYXRpb246IkJlcmxpbiIsc3RhdHVzOiJBY3RpdmUifSx7ZGVwYXJ0bWVudDoiRGVzaWduIixuYW1lOiJCb2IgU21pdGgiLHJvbGU6IkRlc2lnbmVyIixjcmVhdGVkQXQ6IjIwMjItMTEtMDUiLGxvY2F0aW9uOiJQYXJpcyIsc3RhdHVzOiJBY3RpdmUifSx7ZGVwYXJ0bWVudDoiRGVzaWduIixuYW1lOiJTYXJhIEtpbSIscm9sZToiRGVzaWduZXIiLGNyZWF0ZWRBdDoiMjAyMS0wOC0xOSIsbG9jYXRpb246IlBhcmlzIixzdGF0dXM6Ik9uIExlYXZlIn0se2RlcGFydG1lbnQ6Ik9wcyIsbmFtZToiQ2hhcmxpZSBEYXZpcyIscm9sZToiTWFuYWdlciIsY3JlYXRlZEF0OiIyMDIxLTA0LTIxIixsb2NhdGlvbjoiTG9uZG9uIixzdGF0dXM6Ik9uIExlYXZlIn0se2RlcGFydG1lbnQ6Ik9wcyIsbmFtZToiSGVsZW5hIFZvc3MiLHJvbGU6IlNSRSIsY3JlYXRlZEF0OiIyMDIzLTA3LTIyIixsb2NhdGlvbjoiTG9uZG9uIixzdGF0dXM6IkFjdGl2ZSJ9LHtkZXBhcnRtZW50OiJRQSIsbmFtZToiRmlvbmEgQ2xhcmsiLHJvbGU6IlFBIixjcmVhdGVkQXQ6IjIwMjItMDMtMTQiLGxvY2F0aW9uOiJWaWVubmEiLHN0YXR1czoiQWN0aXZlIn0se2RlcGFydG1lbnQ6IlFBIixuYW1lOiJUb21ceEUxcyBSaXZlcmEiLHJvbGU6IlFBIixjcmVhdGVkQXQ6IjIwMjQtMDEtMDkiLGxvY2F0aW9uOiJNYWRyaWQiLHN0YXR1czoiQWN0aXZlIn0se2RlcGFydG1lbnQ6IkNTIixuYW1lOiJFdGhhbiBCcm93biIscm9sZToiU3VwcG9ydCIsY3JlYXRlZEF0OiIyMDE5LTA5LTE4Iixsb2NhdGlvbjoiUm9tZSIsc3RhdHVzOiJJbmFjdGl2ZSJ9XX0KICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5XaWRlIFByb3BlcnRpZXMgKyBNYW55IEFjdGlvbnM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5BIHRhYmxlIHdpdGggbWFueSBjb2x1bW5zIGFuZCByaWNoIGFjdGlvbnMgdG8gc3RyZXNzIHRlc3QgbGF5b3V0IGFuZCBzdGlja3kgQWN0aW9ucy48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJQZW9wbGUgRGlyZWN0b3J5IgogICAgICAgICAgaGVhZGluZzI9Ik1hbnkgcHJvcGVydGllcyBhbmQgYWN0aW9ucyIKICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6ImlkIixoZWFkZXI6IklEIixzb3J0YWJsZTohMH0se2tleToibmFtZSIsaGVhZGVyOiJOYW1lIixzb3J0YWJsZTohMH0se2tleToicm9sZSIsaGVhZGVyOiJSb2xlIixzb3J0YWJsZTohMH0se2tleToiZGVwYXJ0bWVudCIsaGVhZGVyOiJEZXBhcnRtZW50Iixzb3J0YWJsZTohMH0se2tleToiZW1haWwiLGhlYWRlcjoiRW1haWwifSx7a2V5OiJwaG9uZSIsaGVhZGVyOiJQaG9uZSJ9LHtrZXk6ImxvY2F0aW9uIixoZWFkZXI6IkxvY2F0aW9uIixzb3J0YWJsZTohMH0se2tleToic3RhdHVzIixoZWFkZXI6IlN0YXR1cyIsc29ydGFibGU6ITB9LHtrZXk6ImNyZWF0ZWRBdCIsaGVhZGVyOiJDcmVhdGVkIixzb3J0YWJsZTohMH0se2tleToidXBkYXRlZEF0IixoZWFkZXI6IlVwZGF0ZWQiLHNvcnRhYmxlOiEwfSx7a2V5OiJsYXN0TG9naW4iLGhlYWRlcjoiTGFzdCBMb2dpbiIsc29ydGFibGU6ITB9LHtrZXk6InByb2plY3RzIixoZWFkZXI6IlByb2plY3RzIn0se2tleToidGFncyIsaGVhZGVyOiJUYWdzIn0se2tleToibm90ZXMiLGhlYWRlcjoiTm90ZXMifV19CiAgICAgICAgICAuZGF0YT0ke1t7aWQ6MSxuYW1lOiJBbGljZSBKb2huc29uIixyb2xlOiJFbmdpbmVlciIsZGVwYXJ0bWVudDoiUiZEIixlbWFpbDoiYWxpY2VAY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTEiLGxvY2F0aW9uOiJCZXJsaW4iLHN0YXR1czoiQWN0aXZlIixjcmVhdGVkQXQ6IjIwMjMtMDEtMTIiLHVwZGF0ZWRBdDoiMjAyNC0wNS0wMyIsbGFzdExvZ2luOiIyMDI0LTEwLTAxIixwcm9qZWN0czo1LHRhZ3M6InR5cGVzY3JpcHQsIHVpIixub3RlczoiTWVudG9yIn0se2lkOjIsbmFtZToiQm9iIFNtaXRoIixyb2xlOiJEZXNpZ25lciIsZGVwYXJ0bWVudDoiRGVzaWduIixlbWFpbDoiYm9iQGNvcnAuY29tIixwaG9uZToiKzEgMjAyIDU1NSAwMTEyIixsb2NhdGlvbjoiUGFyaXMiLHN0YXR1czoiQWN0aXZlIixjcmVhdGVkQXQ6IjIwMjItMTEtMDUiLHVwZGF0ZWRBdDoiMjAyNC0wNC0xMCIsbGFzdExvZ2luOiIyMDI0LTA5LTI4Iixwcm9qZWN0czo4LHRhZ3M6ImZpZ21hLCBicmFuZCIsbm90ZXM6IlBhcnQtdGltZSJ9LHtpZDozLG5hbWU6IkNoYXJsaWUgRGF2aXMiLHJvbGU6Ik1hbmFnZXIiLGRlcGFydG1lbnQ6Ik9wcyIsZW1haWw6ImNoYXJsaWVAY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTMiLGxvY2F0aW9uOiJMb25kb24iLHN0YXR1czoiT24gTGVhdmUiLGNyZWF0ZWRBdDoiMjAyMS0wNC0yMSIsdXBkYXRlZEF0OiIyMDI0LTAyLTE1IixsYXN0TG9naW46IjIwMjQtMDgtMTIiLHByb2plY3RzOjMsdGFnczoic3JlLCBsZWFkZXJzaGlwIixub3RlczoiIn0se2lkOjQsbmFtZToiRGlhbmEgTWFydGluZXoiLHJvbGU6IkVuZ2luZWVyIixkZXBhcnRtZW50OiJQbGF0Zm9ybSIsZW1haWw6ImRpYW5hQGNvcnAuY29tIixwaG9uZToiKzEgMjAyIDU1NSAwMTE0Iixsb2NhdGlvbjoiTWFkcmlkIixzdGF0dXM6IkFjdGl2ZSIsY3JlYXRlZEF0OiIyMDIwLTA2LTMwIix1cGRhdGVkQXQ6IjIwMjQtMDYtMjUiLGxhc3RMb2dpbjoiMjAyNC0xMC0wMiIscHJvamVjdHM6Nix0YWdzOiJub2RlLCBhcGkiLG5vdGVzOiJPbi1jYWxsIn0se2lkOjUsbmFtZToiRXRoYW4gQnJvd24iLHJvbGU6IlN1cHBvcnQiLGRlcGFydG1lbnQ6IkNTIixlbWFpbDoiZXRoYW5AY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTUiLGxvY2F0aW9uOiJSb21lIixzdGF0dXM6IkluYWN0aXZlIixjcmVhdGVkQXQ6IjIwMTktMDktMTgiLHVwZGF0ZWRBdDoiMjAyNC0wMy0wOSIsbGFzdExvZ2luOiIyMDI0LTA2LTE5Iixwcm9qZWN0czoyLHRhZ3M6InplbmRlc2siLG5vdGVzOiJSZWhpcmUifSx7aWQ6NixuYW1lOiJGaW9uYSBDbGFyayIscm9sZToiUUEiLGRlcGFydG1lbnQ6IlFBIixlbWFpbDoiZmlvbmFAY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTYiLGxvY2F0aW9uOiJWaWVubmEiLHN0YXR1czoiQWN0aXZlIixjcmVhdGVkQXQ6IjIwMjItMDMtMTQiLHVwZGF0ZWRBdDoiMjAyNC0wMy0wMSIsbGFzdExvZ2luOiIyMDI0LTA5LTA3Iixwcm9qZWN0czo3LHRhZ3M6InBsYXl3cmlnaHQiLG5vdGVzOiIifV19CiAgICAgICAgICAuZGF0YUFjdGlvbnM9JHtbe25hbWU6IlZpZXciLGljb25OYW1lOiJsdWNpZGU6ZXllIix0eXBlOlsiaW5Sb3ciLCJjb250ZXh0bWVudSJdLGFjdGlvbkZ1bmM6cyhhc3luYyh7aXRlbTphfSk9Pntjb25zb2xlLmxvZygidmlldyIsYSl9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJFZGl0IixpY29uTmFtZToibHVjaWRlOmVkaXQiLHR5cGU6WyJpblJvdyIsImNvbnRleHRtZW51Il0sYWN0aW9uRnVuYzpzKGFzeW5jKHtpdGVtOmF9KT0+e2NvbnNvbGUubG9nKCJlZGl0IixhKX0sImFjdGlvbkZ1bmMiKX0se25hbWU6IkRlbGV0ZSIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaCIsdHlwZTpbImluUm93IiwiY29udGV4dG1lbnUiXSxhY3Rpb25GdW5jOnMoYXN5bmMoe2l0ZW06YX0pPT57Y29uc29sZS5sb2coImRlbGV0ZSIsYSl9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJNZXNzYWdlIixpY29uTmFtZToibHVjaWRlOm1lc3NhZ2Utc3F1YXJlIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOnMoYXN5bmMoe2l0ZW06YX0pPT57Y29uc29sZS5sb2coIm1lc3NhZ2UiLGEpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiSGlzdG9yeSIsaWNvbk5hbWU6Imx1Y2lkZTpjbG9jayIsdHlwZTpbImluUm93Il0sYWN0aW9uRnVuYzpzKGFzeW5jKHtpdGVtOmF9KT0+e2NvbnNvbGUubG9nKCJoaXN0b3J5IixhKX0sImFjdGlvbkZ1bmMiKX0se25hbWU6IkFkZCBOZXciLGljb25OYW1lOiJsdWNpZGU6cGx1cyIsdHlwZTpbImhlYWRlciJdLGFjdGlvbkZ1bmM6cyhhc3luYyh7dGFibGU6YX0pPT57Y29uc29sZS5sb2coImFkZCIpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiRXhwb3J0IENTViIsaWNvbk5hbWU6Imx1Y2lkZTpkb3dubG9hZCIsdHlwZTpbImhlYWRlciJdLGFjdGlvbkZ1bmM6cyhhc3luYyh7dGFibGU6YX0pPT57Y29uc29sZS5sb2coImV4cG9ydCIpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiQnVsayBEZWxldGUiLGljb25OYW1lOiJsdWNpZGU6dHJhc2gtMiIsdHlwZTpbImZvb3RlciJdLGFjdGlvbkZ1bmM6cyhhc3luYyh7dGFibGU6YX0pPT57Y29uc29sZS5sb2coImJ1bGsgZGVsZXRlIil9LCJhY3Rpb25GdW5jIil9XX0KICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5TY3JvbGxhYmxlIFNtYWxsIEhlaWdodDwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPlNhbWUgYXMgYWJvdmUsIGJ1dCB3aXRoIG1hbnkgaXRlbXMgYW5kIGEgc21hbGwgZml4ZWQgaGVpZ2h0IHRvIGZvcmNlIHZlcnRpY2FsIHNjcm9sbGluZyBpbnNpZGUgdGhlIHRhYmxlLiBBY3Rpb25zIHJlbWFpbiB2aXNpYmxlIG9uIHRoZSByaWdodDsgaG9yaXpvbnRhbCBzY3JvbGwgYXBwZWFycyBpZiBuZWVkZWQuPC9wPgogICAgICAgIDxzdHlsZT4KICAgICAgICAgICNzY3JvbGxTbWFsbEhlaWdodCB7IC0tdGFibGUtbWF4LWhlaWdodDogMjQwcHg7IH0KICAgICAgICA8L3N0eWxlPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBpZD0ic2Nyb2xsU21hbGxIZWlnaHQiCiAgICAgICAgICAuZml4ZWRIZWlnaHQ9JHshMH0KICAgICAgICAgIC52aXJ0dWFsaXplZD0keyEwfQogICAgICAgICAgaGVhZGluZzE9IlBlb3BsZSBEaXJlY3RvcnkgKFNjcm9sbGFibGUsIFZpcnR1YWxpemVkKSIKICAgICAgICAgIGhlYWRpbmcyPSJGb3JjZWQgc2Nyb2xsaW5nIHdpdGggbWFueSBpdGVtcyIKICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6ImlkIixoZWFkZXI6IklEIixzb3J0YWJsZTohMH0se2tleToibmFtZSIsaGVhZGVyOiJOYW1lIixzb3J0YWJsZTohMH0se2tleToicm9sZSIsaGVhZGVyOiJSb2xlIixzb3J0YWJsZTohMH0se2tleToiZGVwYXJ0bWVudCIsaGVhZGVyOiJEZXBhcnRtZW50Iixzb3J0YWJsZTohMH0se2tleToiZW1haWwiLGhlYWRlcjoiRW1haWwifSx7a2V5OiJwaG9uZSIsaGVhZGVyOiJQaG9uZSJ9LHtrZXk6ImxvY2F0aW9uIixoZWFkZXI6IkxvY2F0aW9uIixzb3J0YWJsZTohMH0se2tleToic3RhdHVzIixoZWFkZXI6IlN0YXR1cyIsc29ydGFibGU6ITB9LHtrZXk6ImNyZWF0ZWRBdCIsaGVhZGVyOiJDcmVhdGVkIixzb3J0YWJsZTohMH0se2tleToidXBkYXRlZEF0IixoZWFkZXI6IlVwZGF0ZWQiLHNvcnRhYmxlOiEwfSx7a2V5OiJsYXN0TG9naW4iLGhlYWRlcjoiTGFzdCBMb2dpbiIsc29ydGFibGU6ITB9LHtrZXk6InByb2plY3RzIixoZWFkZXI6IlByb2plY3RzIn0se2tleToidGFncyIsaGVhZGVyOiJUYWdzIn0se2tleToibm90ZXMiLGhlYWRlcjoiTm90ZXMifV19CiAgICAgICAgICAuZGF0YT0ke0FycmF5LmZyb20oe2xlbmd0aDoxMDB9LChhLGUpPT4oe2lkOmUrMSxuYW1lOmBVc2VyICR7ZSsxfWAscm9sZTpbIkVuZ2luZWVyIiwiRGVzaWduZXIiLCJNYW5hZ2VyIiwiUUEiLCJTdXBwb3J0Il1bZSU1XSxkZXBhcnRtZW50OlsiUiZEIiwiRGVzaWduIiwiT3BzIiwiUUEiLCJDUyJdW2UlNV0sZW1haWw6YHVzZXIke2UrMX1AY29ycC5jb21gLHBob25lOmArMSAyMDIgNTU1ICR7U3RyaW5nKDFlMytlKS5zbGljZSgtNCl9YCxsb2NhdGlvbjpbIkJlcmxpbiIsIlBhcmlzIiwiTG9uZG9uIiwiTWFkcmlkIiwiUm9tZSJdW2UlNV0sc3RhdHVzOlsiQWN0aXZlIiwiSW5hY3RpdmUiLCJPbiBMZWF2ZSJdW2UlM10sY3JlYXRlZEF0OmAyMDIzLSR7U3RyaW5nKGUlMTIrMSkucGFkU3RhcnQoMiwiMCIpfS0ke1N0cmluZyhlJTI4KzEpLnBhZFN0YXJ0KDIsIjAiKX1gLHVwZGF0ZWRBdDpgMjAyNC0ke1N0cmluZygoZSszKSUxMisxKS5wYWRTdGFydCgyLCIwIil9LSR7U3RyaW5nKChlKzcpJTI4KzEpLnBhZFN0YXJ0KDIsIjAiKX1gLGxhc3RMb2dpbjpgMjAyNC0ke1N0cmluZygoZSs2KSUxMisxKS5wYWRTdGFydCgyLCIwIil9LSR7U3RyaW5nKChlKzEwKSUyOCsxKS5wYWRTdGFydCgyLCIwIil9YCxwcm9qZWN0czplJTEyLHRhZ3M6ZSUyPyJ0eXBlc2NyaXB0IjoiZGVzaWduIixub3RlczplJTM/IiI6Ik5vdGUifSkpfQogICAgICAgICAgLmRhdGFBY3Rpb25zPSR7W3tuYW1lOiJWaWV3IixpY29uTmFtZToibHVjaWRlOmV5ZSIsdHlwZTpbImluUm93Il0sYWN0aW9uRnVuYzpzKGFzeW5jKHtpdGVtOmF9KT0+e30sImFjdGlvbkZ1bmMiKX0se25hbWU6IkVkaXQiLGljb25OYW1lOiJsdWNpZGU6ZWRpdCIsdHlwZTpbImluUm93Il0sYWN0aW9uRnVuYzpzKGFzeW5jKHtpdGVtOmF9KT0+e30sImFjdGlvbkZ1bmMiKX0se25hbWU6IkRlbGV0ZSIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaCIsdHlwZTpbImluUm93Il0sYWN0aW9uRnVuYzpzKGFzeW5jKHtpdGVtOmF9KT0+e30sImFjdGlvbkZ1bmMiKX1dfQogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiI2RlbW9MaXZlRmxhc2giKTtpZighZSlyZXR1cm47ZS5fX2xpdmVGbGFzaFRpbWVySWQmJndpbmRvdy5jbGVhckludGVydmFsKGUuX19saXZlRmxhc2hUaW1lcklkKTtsZXQgdD1zKCgpPT57aWYoIUFycmF5LmlzQXJyYXkoZS5kYXRhKXx8ZS5kYXRhLmxlbmd0aD09PTApcmV0dXJuO2xldCByPWUuZGF0YS5tYXAobz0+KHsuLi5vfSkpLGk9MStNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMyk7Zm9yKGxldCBvPTA7bzxpO28rKyl7bGV0IG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKnIubGVuZ3RoKSxsPSsoKE1hdGgucmFuZG9tKCkqMi0xKSozKS50b0ZpeGVkKDIpLGQ9TWF0aC5tYXgoMSwrKHJbbl0ucHJpY2UrbCkudG9GaXhlZCgyKSk7cltuXT17Li4ucltuXSxwcmljZTpkLGNoYW5nZTpsLHVwZGF0ZWRBdDpuZXcgRGF0ZSgpLnRvTG9jYWxlVGltZVN0cmluZygpfX1lLmRhdGE9cn0sInRpY2siKTtlLl9fbGl2ZUZsYXNoVGltZXJJZD13aW5kb3cuc2V0SW50ZXJ2YWwodCwxNTAwKX19PgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkxpdmUgVXBkYXRlcyB3aXRoIEZsYXNoIEhpZ2hsaWdodGluZzwvaDI+CiAgICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgIE9wdC1pbiBjZWxsLWZsYXNoIHZpYSA8Y29kZT5oaWdobGlnaHQtdXBkYXRlcz0iZmxhc2giPC9jb2RlPi4gVGhlIHRpY2tlciBiZWxvdyBtdXRhdGVzCiAgICAgICAgICAgIHJhbmRvbSByb3dzIGV2ZXJ5IDEuNXMgYW5kIHJlYXNzaWducyA8Y29kZT4uZGF0YTwvY29kZT4uIFVwZGF0ZWQgY2VsbHMgYnJpZWZseSBmbGFzaAogICAgICAgICAgICBhbWJlciBhbmQgZmFkZSBvdXQuIFJlcXVpcmVzIDxjb2RlPnJvd0tleTwvY29kZT4gKGhlcmUgPGNvZGU+InN5bWJvbCI8L2NvZGU+KS4gSG9ub3JzCiAgICAgICAgICAgIDxjb2RlPnByZWZlcnMtcmVkdWNlZC1tb3Rpb248L2NvZGU+LiBSb3cgc2VsZWN0aW9uIHBlcnNpc3RzIGFjcm9zcyB1cGRhdGVzIOKAlCBjbGljayBhCiAgICAgICAgICAgIHJvdywgdGhlbiB3YXRjaCBpdCBzdGF5IHNlbGVjdGVkIGFzIHRoZSBkYXRhIGNodXJucy4KICAgICAgICAgIDwvcD4KICAgICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICAgIGlkPSJkZW1vTGl2ZUZsYXNoIgogICAgICAgICAgICAucm93S2V5PSR7InN5bWJvbCJ9CiAgICAgICAgICAgIGhpZ2hsaWdodC11cGRhdGVzPSJmbGFzaCIKICAgICAgICAgICAgLnNlbGVjdGlvbk1vZGU9JHsibXVsdGkifQogICAgICAgICAgICBoZWFkaW5nMT0iTGl2ZSBNYXJrZXQgRmVlZCIKICAgICAgICAgICAgaGVhZGluZzI9IkZsYXNoaW5nIGNlbGxzIGluZGljYXRlIHVwZGF0ZWQgdmFsdWVzIgogICAgICAgICAgICAuY29sdW1ucz0ke1t7a2V5OiJzeW1ib2wiLGhlYWRlcjoiU3ltYm9sIixzb3J0YWJsZTohMH0se2tleToicHJpY2UiLGhlYWRlcjoiUHJpY2UiLHNvcnRhYmxlOiEwfSx7a2V5OiJjaGFuZ2UiLGhlYWRlcjoiXHUwMzk0Iixzb3J0YWJsZTohMH0se2tleToidXBkYXRlZEF0IixoZWFkZXI6IlVwZGF0ZWQifV19CiAgICAgICAgICAgIC5kYXRhPSR7W3tzeW1ib2w6IkFBUEwiLHByaWNlOjE4Mi41MixjaGFuZ2U6MCx1cGRhdGVkQXQ6Ilx1MjAxNCJ9LHtzeW1ib2w6Ik1TRlQiLHByaWNlOjQxNC4xOCxjaGFuZ2U6MCx1cGRhdGVkQXQ6Ilx1MjAxNCJ9LHtzeW1ib2w6IkdPT0ciLHByaWNlOjE2OC43NCxjaGFuZ2U6MCx1cGRhdGVkQXQ6Ilx1MjAxNCJ9LHtzeW1ib2w6IkFNWk4iLHByaWNlOjE4Ni4xMyxjaGFuZ2U6MCx1cGRhdGVkQXQ6Ilx1MjAxNCJ9LHtzeW1ib2w6IlRTTEEiLHByaWNlOjI0OC41LGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In0se3N5bWJvbDoiTlZEQSIscHJpY2U6ODc3LjM1LGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In0se3N5bWJvbDoiTUVUQSIscHJpY2U6NDkyLjk2LGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In0se3N5bWJvbDoiTkZMWCIscHJpY2U6NjA1Ljg4LGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In0se3N5bWJvbDoiQU1EIixwcmljZToxNjUuMjQsY2hhbmdlOjAsdXBkYXRlZEF0OiJcdTIwMTQifSx7c3ltYm9sOiJJTlRDIixwcmljZTo0Mi4xNSxjaGFuZ2U6MCx1cGRhdGVkQXQ6Ilx1MjAxNCJ9XX0KICAgICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIGNsYSxkbGE9ZigoKT0+e2xlKCk7bXMoKTtRZSgpO2NsYT1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgfQoKICAgICAgLmhlYWRpbmdDb250YWluZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIHsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgfQoKICAgICAgLmhlYWRpbmcxIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nMiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nU2VwYXJhdGlvbiB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLmhlYWRlckFjdGlvbnMgewogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQogICAgICAKICAgICAgLmhlYWRlckFjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5oZWFkZXJBY3Rpb246aG92ZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICB9CgogICAgICAuaGVhZGVyQWN0aW9uIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAuc2VhcmNoR3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLWdhcDogMTZweDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBtYXgtY29udGVudDsKICAgICAgICBwYWRkaW5nOiAxNnB4IDI0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1zZWNvbmRhcnkpOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsKICAgICAgICAuc2VhcmNoR3JpZCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qIGxldCBzZWFyY2ggbW9kZSBzaXplIHRvIGNvbnRlbnQgKG5vIGZvcmNlZCB3aWR0aCkgKi8KCiAgICAgIC5zZWFyY2hHcmlkLmhpZGRlbiB7CiAgICAgICAgaGVpZ2h0OiAwcHg7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBhZGRpbmc6IDBweCAyNHB4OwogICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDBweDsKICAgICAgfQoKICAgICAgLyogRGVmYXVsdCBtb2RlIChNb2RlIEIsIHBhZ2Ugc3RpY2t5KTogaG9yaXpvbnRhbCBzY3JvbGwgbGl2ZXMgb24KICAgICAgICAgLnRhYmxlU2Nyb2xsIChzbyB3aWRlIHRhYmxlcyBkb24ndCBnZXQgY2xpcHBlZCBieSBhbiBhbmNlc3RvcgogICAgICAgICBvdmVyZmxvdzpoaWRkZW4gc3VjaCBhcyBkZWVzLXRpbGUpLiBWZXJ0aWNhbCBzdGlja3kgaXMgaGFuZGxlZCBieQogICAgICAgICBhIEpTLW1hbmFnZWQgZmxvYXRpbmcgaGVhZGVyICguZmxvYXRpbmdIZWFkZXIsIHBvc2l0aW9uOmZpeGVkKSwKICAgICAgICAgd2hpY2ggaXMgdW5hZmZlY3RlZCBieSBhbmNlc3RvciBvdmVyZmxvdy4gKi8KICAgICAgLnRhYmxlU2Nyb2xsIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlOwogICAgICAgIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTsKICAgICAgfQogICAgICAvKiBNb2RlIEEsIGludGVybmFsIHNjcm9sbDogb3B0LWluIHZpYSBmaXhlZC1oZWlnaHQgYXR0cmlidXRlLgogICAgICAgICBUaGUgdGFibGUgc2Nyb2xscyBpbnNpZGUgaXRzIG93biBib3ggYW5kIHRoZSBoZWFkZXIgc3RpY2tzIHZpYSBwbGFpbiBDU1Mgc3RpY2t5LiAqLwogICAgICA6aG9zdChbZml4ZWQtaGVpZ2h0XSkgLnRhYmxlU2Nyb2xsIHsKICAgICAgICBtYXgtaGVpZ2h0OiB2YXIoLS10YWJsZS1tYXgtaGVpZ2h0LCAzNjBweCk7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlIGJvdGgtZWRnZXM7CiAgICAgIH0KICAgICAgOmhvc3QoW2ZpeGVkLWhlaWdodF0pIC50YWJsZVNjcm9sbDo6LXdlYmtpdC1zY3JvbGxiYXI6aG9yaXpvbnRhbCB7CiAgICAgICAgaGVpZ2h0OiAwcHg7CiAgICAgIH0KCiAgICAgIC8qIEZsb2F0aW5nIGhlYWRlciBvdmVybGF5IChNb2RlIEIpLiBQb3NpdGlvbiBpcyBtYW5hZ2VkIGJ5IEpTIHNvIGl0CiAgICAgICAgIGVzY2FwZXMgYW55IGFuY2VzdG9yIG92ZXJmbG93OmhpZGRlbiAocG9zaXRpb246Zml4ZWQgaXMgbm90IGNsaXBwZWQKICAgICAgICAgYnkgb3ZlcmZsb3cgYW5jZXN0b3JzKS4gKi8KICAgICAgLmZsb2F0aW5nSGVhZGVyIHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgei1pbmRleDogMTAwOwogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICAgIC5mbG9hdGluZ0hlYWRlci5hY3RpdmUgewogICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICAgIH0KICAgICAgLmZsb2F0aW5nSGVhZGVyIHRhYmxlIHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KICAgICAgLmZsb2F0aW5nSGVhZGVyIHRoIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgfQoKICAgICAgdGFibGUgewogICAgICAgIC8qIGFsbG93IHRhYmxlIHRvIGdyb3cgd2lkZXIgdGhhbiBjb250YWluZXIgc28gYWN0aW9ucyBjb2x1bW4gY2FuIHN0aWNrICovCiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50OwogICAgICAgIG1pbi13aWR0aDogMTAwJTsKICAgICAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsKICAgICAgICBib3JkZXItc3BhY2luZzogMDsKICAgICAgfQogICAgICAKICAgICAgLm5vRGF0YVNldCB7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgfQogICAgICAKICAgICAgdGhlYWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgIH0KICAgICAgLyogdGggbmVlZHMgaXRzIG93biBiYWNrZ3JvdW5kIHNvIHN0aWNreSBjZWxscyBwYWludCBvdmVyIHNjcm9sbGVkIHJvd3MKICAgICAgICAgKGJyb3dzZXJzIGRvbid0IHBhaW50IHRoZSA8dGhlYWQ+IGJveCBiZWhpbmQgYSBzdGlja3kgPHRoPikuICovCiAgICAgIHRoIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICB9CiAgICAgIC8qIE1vZGUgQSDigJQgaW50ZXJuYWwgc2Nyb2xsIHN0aWNreSAqLwogICAgICA6aG9zdChbZml4ZWQtaGVpZ2h0XSkgdGhlYWQgdGggewogICAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHotaW5kZXg6IDI7CiAgICAgIH0KICAgICAgOmhvc3QoW2ZpeGVkLWhlaWdodF0pIHRoZWFkIHRyLmZpbHRlcnNSb3cgdGggewogICAgICAgIHRvcDogMzZweDsgLyogbWF0Y2hlcyB0aCB7IGhlaWdodDogMzZweCB9IGJlbG93ICovCiAgICAgIH0KICAgICAgCiAgICAgIHRib2R5IHRyIHsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CiAgICAgIAogICAgICAvKiBEZWZhdWx0IGhvcml6b250YWwgbGluZXMgKGJvdHRvbSBib3JkZXIgb25seSkgKi8KICAgICAgdGJvZHkgdHIgewogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgfQogICAgICAKICAgICAgdGJvZHkgdHI6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLyogRnVsbCBob3Jpem9udGFsIGxpbmVzIHdoZW4gZW5hYmxlZCAqLwogICAgICA6aG9zdChbc2hvdy1ob3Jpem9udGFsLWxpbmVzXSkgdGJvZHkgdHIgewogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtzaG93LWhvcml6b250YWwtbGluZXNdKSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW3Nob3ctaG9yaXpvbnRhbC1saW5lc10pIHRib2R5IHRyOmxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgfQogICAgICAKICAgICAgdGJvZHkgdHI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjA2KSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBDb2x1bW4gaG92ZXIgZWZmZWN0IGZvciBiZXR0ZXIgdHJhY2VhYmlsaXR5ICovCiAgICAgIHRkIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KICAgICAgCiAgICAgIHRkOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4wNCkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA1KSIpfTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTsKICAgICAgICB6LWluZGV4OiAtMTsKICAgICAgfQogICAgICAKICAgICAgdGQ6aG92ZXI6OmFmdGVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CiAgICAgIAogICAgICAvKiBHcmlkIG1vZGUgLSBzaG93cyBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsIGxpbmVzICovCiAgICAgIDpob3N0KFtzaG93LWdyaWRdKSB0aCB7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW3Nob3ctZ3JpZF0pIHRkIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgICBib3JkZXItdG9wOiBub25lOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbc2hvdy1ncmlkXSkgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQgewogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIFJlbW92ZSBlZGdlIGJvcmRlcnMgdGhhdCB3b3VsZCBkb3VibGUgd2l0aCB0aWxlIGZyYW1lICovCiAgICAgIDpob3N0KFtzaG93LWdyaWRdKSB0aDpsYXN0LWNoaWxkLAogICAgICA6aG9zdChbc2hvdy1ncmlkXSkgdGQ6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOwogICAgICB9CiAgICAgIDpob3N0KFtzaG93LWdyaWRdKSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAvKiBTdGlja3kgQWN0aW9ucyBjb2x1bW4gKHJpZ2h0IHBpbm5lZCkgKi8KICAgICAgdGhlYWQgdGguYWN0aW9uc0NvbCwKICAgICAgdGJvZHkgdGQuYWN0aW9uc0NvbCB7CiAgICAgICAgcG9zaXRpb246IHN0aWNreTsKICAgICAgICByaWdodDogMDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICB9CiAgICAgIHRoZWFkIHRoLmFjdGlvbnNDb2wgeyB6LWluZGV4OiAzOyB9CiAgICAgIHRib2R5IHRkLmFjdGlvbnNDb2wgewogICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgYm94LXNoYWRvdzogLTFweCAwIDAgMCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgfQogICAgICAKICAgICAgdGJvZHkgdHIuc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xMikiKX07CiAgICAgIH0KCiAgICAgIHRib2R5IHRyLmhhc0F0dGFjaG1lbnQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUgLyAwLjEpIiwiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgdGggewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICB0aFtyb2xlPSdjb2x1bW5oZWFkZXInXTpob3ZlciB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgdGggLnNvcnRBcnJvdyB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICB9CgogICAgICB0aCAuc29ydEJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDsKICAgICAgICBwYWRkaW5nOiAxcHggNXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDMwJSkiLCJoc2woMjE3LjIgOTEuMiUgNzUlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xMikiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjE4KSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbc2hvdy12ZXJ0aWNhbC1saW5lc10pIHRoIHsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgfQogICAgICAKICAgICAgdGQgewogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtzaG93LXZlcnRpY2FsLWxpbmVzXSkgdGQgewogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CiAgICAgIAogICAgICB0aDpmaXJzdC1jaGlsZCwKICAgICAgdGQ6Zmlyc3QtY2hpbGQgewogICAgICAgIHBhZGRpbmctbGVmdDogMTZweDsKICAgICAgfQogICAgICAKICAgICAgdGg6bGFzdC1jaGlsZCwKICAgICAgdGQ6bGFzdC1jaGlsZCB7CiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW3Nob3ctdmVydGljYWwtbGluZXNdKSB0aDpsYXN0LWNoaWxkLAogICAgICA6aG9zdChbc2hvdy12ZXJ0aWNhbC1saW5lc10pIHRkOmxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsKICAgICAgfQoKICAgICAgLyogRGVmYXVsdCBib3R0b20gYm9yZGVyIG9uIGxhc3Qgcm93IHJlbW92ZWQg4oCUIHRpbGUgZnJhbWUgaGFuZGxlcyBpdCAqLwogICAgICA6aG9zdCg6bm90KFtzaG93LWhvcml6b250YWwtbGluZXNdKSkgdGJvZHkgdHI6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLmlubmVyQ2VsbENvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgIH0KCiAgICAgIC8qIC0tLS0gQ2VsbCBmbGFzaCBoaWdobGlnaHRpbmcgKG9wdC1pbiB2aWEgaGlnaGxpZ2h0LXVwZGF0ZXM9ImZsYXNoIikgLS0tLQogICAgICAgICBCbG9vbWJlcmcvVHJhZGluZ1ZpZXctc3R5bGU6IHRoZSB0ZXh0IGl0c2VsZiBicmllZmx5IHRha2VzIGFuIGFjY2VudAogICAgICAgICBjb2xvciB0aGVuIGZhZGVzIGJhY2sgdG8gdGhlIGRlZmF1bHQuIE5vIGJhY2tncm91bmQgdGludCwgbm8gbGF5b3V0CiAgICAgICAgIHNoaWZ0LCBubyB3ZWlnaHQgY2hhbmdlLiBSZWFkYWJsZSwgbW9kZXJuLCBzdWJ0bGUuCiAgICAgICAgIENvbnN1bWVycyBjYW4gb3ZlcnJpZGUgcGVyIGluc3RhbmNlOgogICAgICAgICAgIGRlZXMtdGFibGUjbXlUYWJsZSB7IC0tZGVlcy10YWJsZS1mbGFzaC1jb2xvcjogaHNsKDE0MiA3NiUgNDAlKTsgfQogICAgICAqLwogICAgICA6aG9zdCB7CiAgICAgICAgLS1kZWVzLXRhYmxlLWZsYXNoLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDMyIDk1JSA0NCUpIiwiaHNsKDQ1IDkzJSA2MiUpIil9OwogICAgICAgIC0tZGVlcy10YWJsZS1mbGFzaC1lYXNpbmc6IGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTsKICAgICAgfQoKICAgICAgLmlubmVyQ2VsbENvbnRhaW5lci5mbGFzaGluZyB7CiAgICAgICAgYW5pbWF0aW9uOiBkZWVzLXRhYmxlLWNlbGwtZmxhc2gKICAgICAgICAgICAgICAgICAgIHZhcigtLWRlZXMtdGFibGUtZmxhc2gtZHVyYXRpb24sIDkwMG1zKQogICAgICAgICAgICAgICAgICAgdmFyKC0tZGVlcy10YWJsZS1mbGFzaC1lYXNpbmcpOwogICAgICB9CgogICAgICAvKiBIb2xkIHRoZSBhY2NlbnQgY29sb3IgYnJpZWZseSwgdGhlbiBmYWRlIGJhY2sgdG8gdGhlIHRoZW1lJ3MgZGVmYXVsdAogICAgICAgICB0ZXh0IGNvbG9yLiBJbmhlcml0cyB0byBjaGlsZCB0ZXh0IGFuZCB0byBTVkcgaWNvbnMgdGhhdCB1c2UKICAgICAgICAgY3VycmVudENvbG9yLiBDZWxscyB3aXRoIGV4cGxpY2l0IGNvbG9yIG92ZXJyaWRlcyBpbiByZW5kZXJlcnMgYXJlCiAgICAgICAgIGludGVudGlvbmFsbHkgdW5hZmZlY3RlZC4gKi8KICAgICAgQGtleWZyYW1lcyBkZWVzLXRhYmxlLWNlbGwtZmxhc2ggewogICAgICAgIDAlLAogICAgICAgIDM1JSB7IGNvbG9yOiB2YXIoLS1kZWVzLXRhYmxlLWZsYXNoLWNvbG9yKTsgfQogICAgICAgIDEwMCUgeyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOyB9CiAgICAgIH0KCiAgICAgIC8qIEJvcmRlci9iYWNrZ3JvdW5kIGZsYXNoIHZhcmlhbnQgZm9yIGNlbGxzIHdpdGggc3R5bGVkIGNvbnRlbnQKICAgICAgICAgKGJhZGdlcywgaWNvbnMsIGN1c3RvbSBjb21wb25lbnRzKSB3aGVyZSBhIHRleHQtY29sb3IgYW5pbWF0aW9uCiAgICAgICAgIHdvdWxkIGJlIGludmlzaWJsZS4gQWN0aXZhdGVkIHZpYSBmbGFzaEJvcmRlciBvbiBDb2x1bW4uICovCiAgICAgIC5pbm5lckNlbGxDb250YWluZXIuZmxhc2hpbmctYm9yZGVyIHsKICAgICAgICBhbmltYXRpb246IGRlZXMtdGFibGUtY2VsbC1mbGFzaC1ib3JkZXIKICAgICAgICAgICAgICAgICAgIHZhcigtLWRlZXMtdGFibGUtZmxhc2gtZHVyYXRpb24sIDkwMG1zKQogICAgICAgICAgICAgICAgICAgdmFyKC0tZGVlcy10YWJsZS1mbGFzaC1lYXNpbmcpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBkZWVzLXRhYmxlLWNlbGwtZmxhc2gtYm9yZGVyIHsKICAgICAgICAwJSwKICAgICAgICAzNSUgewogICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggdmFyKC0tZGVlcy10YWJsZS1mbGFzaC1jb2xvcik7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDQ1IDkzJSA2MiUgLyAwLjEwKSIsImhzbCg0NSA5MyUgNjIlIC8gMC4wOCkiKX07CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggdHJhbnNwYXJlbnQ7CiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgICAgICAgLmlubmVyQ2VsbENvbnRhaW5lci5mbGFzaGluZyB7CiAgICAgICAgICBhbmltYXRpb246IG5vbmU7CiAgICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy10YWJsZS1mbGFzaC1jb2xvcik7CiAgICAgICAgfQogICAgICAgIC5pbm5lckNlbGxDb250YWluZXIuZmxhc2hpbmctYm9yZGVyIHsKICAgICAgICAgIGFuaW1hdGlvbjogbm9uZTsKICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEuNXB4IHZhcigtLWRlZXMtdGFibGUtZmxhc2gtY29sb3IpOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCg0NSA5MyUgNjIlIC8gMC4xMCkiLCJoc2woNDUgOTMlIDYyJSAvIDAuMDgpIil9OwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyogRGV2LXRpbWUgd2FybmluZyBiYW5uZXIgc2hvd24gd2hlbiBoaWdobGlnaHQtdXBkYXRlcz0iZmxhc2giIGJ1dAogICAgICAgICByb3dLZXkgaXMgbWlzc2luZy4gQ29uc3VtZXJzIHNob3VsZCBuZXZlciBzaGlwIHRoaXMgdG8gcHJvZHVjdGlvbi4gKi8KICAgICAgLmZsYXNoQ29uZmlnV2FybmluZyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbjogOHB4IDE2cHggMDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMzggOTIlIDUwJSkiLCJoc2woNDggOTYlIDYzJSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCg0OCA5NiUgODklIC8gMC42KSIsImhzbCg0OCA5NiUgMzAlIC8gMC4xNSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMzIgODElIDI5JSkiLCJoc2woNDggOTYlIDgwJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB9CiAgICAgIC5mbGFzaENvbmZpZ1dhcm5pbmcgZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgZmxleDogMCAwIGF1dG87CiAgICAgIH0KICAgICAgLmZsYXNoQ29uZmlnV2FybmluZyBjb2RlIHsKICAgICAgICBwYWRkaW5nOiAxcHggNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSAvIDAuNikiLCJoc2woMCAwJSAwJSAvIDAuMykiKX07CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgfQoKICAgICAgLyogRWRpdGFibGUgY2VsbCBhZmZvcmRhbmNlcyAqLwogICAgICB0ZC5lZGl0YWJsZSB7CiAgICAgICAgY3Vyc29yOiB0ZXh0OwogICAgICB9CiAgICAgIHRkLmZvY3VzZWQgewogICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC42KSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuNikiKX07CiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7CiAgICAgIH0KICAgICAgdGQuZWRpdGluZ0NlbGwgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjYpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC42KSIpfTsKICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsKICAgICAgfQogICAgICB0ZC5lZGl0aW5nQ2VsbCAuaW5uZXJDZWxsQ29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgICAgIH0KICAgICAgdGQuZWRpdGluZ0NlbGwgZGVlcy1pbnB1dC10ZXh0LAogICAgICB0ZC5lZGl0aW5nQ2VsbCBkZWVzLWlucHV0LWNoZWNrYm94LAogICAgICB0ZC5lZGl0aW5nQ2VsbCBkZWVzLWlucHV0LWRyb3Bkb3duLAogICAgICB0ZC5lZGl0aW5nQ2VsbCBkZWVzLWlucHV0LWRhdGVwaWNrZXIsCiAgICAgIHRkLmVkaXRpbmdDZWxsIGRlZXMtaW5wdXQtdGFncyB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC8qIGZpbHRlciByb3cgKi8KICAgICAgdGhlYWQgdHIuZmlsdGVyc1JvdyB0aCB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHggMTJweCAxMnB4OwogICAgICB9CiAgICAgIHRoZWFkIHRyLmZpbHRlcnNSb3cgdGggaW5wdXRbdHlwZT0ndGV4dCddIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIHBhZGRpbmc6IDZweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQogICAgICAuYWN0aW9uc0NvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CiAgICAgIAogICAgICAuYWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgwIDAlIDExLjglKSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmFjdGlvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgfQoKICAgICAgLmZvb3RlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGFibGVTdGF0aXN0aWNzIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuZm9vdGVyQWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmZvb3RlckFjdGlvbnMgLmZvb3RlckFjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmZvb3RlckFjdGlvbnMgLmZvb3RlckFjdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgIH0KCiAgICAgIC5mb290ZXJBY3Rpb25zIC5mb290ZXJBY3Rpb24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KICBgXX0pO3ZhciBRWGU9ZigoKT0+e240KCl9KTt2YXIgSlhlPWYoKCk9PntZdGUoKX0pO3ZhciBlUWU9ZigoKT0+e2NhZSgpO0lZZSgpfSk7dmFyIHRRZT1mKCgpPT57WVllKCl9KTtmdW5jdGlvbiBhUWUoYSxlKXtpZighZXx8ZS5sZW5ndGg9PT0wKXJldHVybltdO2xldCB0PWEoZVswXSk7cmV0dXJuIE9iamVjdC5rZXlzKHQpLm1hcChpPT4oe2tleTppLGhlYWRlcjppLHZhbHVlOnMobz0+YShvKVtpXSwidmFsdWUiKX0pKX1mdW5jdGlvbiB1bGEoYSxlLHQscil7bGV0IGk9KGF8fFtdKS5zbGljZSgpO2lmKCFlKXJldHVybiBpO2xldCBvPWFRZSh0LHIpLG49bmV3IFNldChpLm1hcChsPT5TdHJpbmcobC5rZXkpKSk7Zm9yKGxldCBsIG9mIG8pbi5oYXMoU3RyaW5nKGwua2V5KSl8fGkucHVzaChsKTtyZXR1cm4gaX1mdW5jdGlvbiBDNChhLGUsdCl7cmV0dXJuIGUudmFsdWU/ZS52YWx1ZShhKTphW2Uua2V5XX1mdW5jdGlvbiBXSWEoYSxlKXtpZihhPT1udWxsJiZlPT1udWxsKXJldHVybiAwO2lmKGE9PW51bGwpcmV0dXJuLTE7aWYoZT09bnVsbClyZXR1cm4gMTtpZih0eXBlb2YgYT09Im51bWJlciImJnR5cGVvZiBlPT0ibnVtYmVyIilyZXR1cm4gYTxlPy0xOmE+ZT8xOjA7bGV0IHQ9U3RyaW5nKGEpLnRvTG93ZXJDYXNlKCkscj1TdHJpbmcoZSkudG9Mb3dlckNhc2UoKTtyZXR1cm4gdDxyPy0xOnQ+cj8xOjB9ZnVuY3Rpb24gcGxhKGEsZSx0LHIsaSxvPSJ0YWJsZSIsbil7bGV0IGw9YS5zbGljZSgpLGQ9KHJ8fCIiKS50cmltKCkudG9Mb3dlckNhc2UoKSxjPWl8fHt9LHA9T2JqZWN0LmtleXMoYykuZmlsdGVyKG09PihjW21dPz8iIikudHJpbSgpLmxlbmd0aD4wKTtpZigoZHx8cC5sZW5ndGg+MCkmJihsPWwuZmlsdGVyKG09Pntmb3IobGV0IHYgb2YgcClpZihvPT09ImRhdGEiKXtsZXQgeD1tW3ZdLGI9U3RyaW5nKHg/PyIiKS50b0xvd2VyQ2FzZSgpLGc9U3RyaW5nKGNbdl0pLnRvTG93ZXJDYXNlKCk7aWYoIWIuaW5jbHVkZXMoZykpcmV0dXJuITF9ZWxzZXtsZXQgeD1lLmZpbmQoaz0+U3RyaW5nKGsua2V5KT09PXYpO2lmKCF4fHx4LmhpZGRlbnx8eC5maWx0ZXJhYmxlPT09ITEpY29udGludWU7bGV0IGI9QzQobSx4KSxnPVN0cmluZyhiPz8iIikudG9Mb3dlckNhc2UoKSx5PVN0cmluZyhjW3ZdKS50b0xvd2VyQ2FzZSgpO2lmKCFnLmluY2x1ZGVzKHkpKXJldHVybiExfWlmKGQpe2lmKG4pcmV0dXJuISFuKG0pO2xldCB2PSExO2lmKG89PT0iZGF0YSIpe2ZvcihsZXQgeCBvZiBPYmplY3QudmFsdWVzKG0pKWlmKFN0cmluZyh4Pz8iIikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhkKSl7dj0hMDticmVha319ZWxzZSBmb3IobGV0IHggb2YgZSl7aWYoeC5oaWRkZW4pY29udGludWU7bGV0IGI9QzQobSx4KTtpZihTdHJpbmcoYj8/IiIpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZCkpe3Y9ITA7YnJlYWt9fWlmKCF2KXJldHVybiExfXJldHVybiEwfSkpLCF0fHx0Lmxlbmd0aD09PTApcmV0dXJuIGw7bGV0IHU9dC5tYXAobT0+KHtkZXNjOm0sY29sOmUuZmluZCh2PT5TdHJpbmcodi5rZXkpPT09bS5rZXkpfSkpLmZpbHRlcihtPT4hIW0uY29sKTtyZXR1cm4gdS5sZW5ndGg9PT0wfHxsLnNvcnQoKG0sdik9Pntmb3IobGV0e2Rlc2M6eCxjb2w6Yn1vZiB1KXtsZXQgZz1XSWEoQzQobSxiKSxDNCh2LGIpKTtpZihnIT09MClyZXR1cm4geC5kaXI9PT0iYXNjIj9nOi1nfXJldHVybiAwfSksbH12YXIgZmxhPWYoKCk9PntzKGFRZSwiY29tcHV0ZUNvbHVtbnNGcm9tRGlzcGxheUZ1bmN0aW9uIik7cyh1bGEsImNvbXB1dGVFZmZlY3RpdmVDb2x1bW5zIik7cyhDNCwiZ2V0Q2VsbFZhbHVlIik7cyhXSWEsImNvbXBhcmVDZWxsVmFsdWVzIik7cyhwbGEsImdldFZpZXdEYXRhIil9KTtmdW5jdGlvbiBGc2UoYSl7cmV0dXJuIGEuc3RhcnRzV2l0aCgnIicpJiZhLmVuZHNXaXRoKCciJyl8fGEuc3RhcnRzV2l0aCgiJyIpJiZhLmVuZHNXaXRoKCInIik/YS5zbGljZSgxLC0xKTphfWZ1bmN0aW9uIEdJYShhKXtyZXR1cm4gYS5zcGxpdCgvXHMrT1JccysvaSkubWFwKGU9PmUudHJpbSgpKS5maWx0ZXIoQm9vbGVhbil9ZnVuY3Rpb24gWUlhKGEpe3JldHVybiBhLnNwbGl0KC9ccytBTkRccysvaSkubWFwKGU9PmUudHJpbSgpKS5maWx0ZXIoQm9vbGVhbil9ZnVuY3Rpb24gS0lhKGEpe2lmKCFhKXJldHVybiBudWxsO2xldCBlPSExLHQ9YS5tYXRjaCgvXlxzKihOT1Rccyt8LSlccyooLiopJC9pKTt0JiYoZT0hMCxhPXRbMl0pO2xldCByPWEubWF0Y2goL14oW146XHNdKylccyo6XHMqXFsoLio/KVxzK1RPXHMrKC4qPylcXSQvaSk7aWYocilyZXR1cm57ZmllbGQ6clsxXSxuZWdhdGU6ZSxyYW5nZTp7bG93ZXI6RnNlKHJbMl0pLnRvTG93ZXJDYXNlKCksdXBwZXI6RnNlKHJbM10pLnRvTG93ZXJDYXNlKCksaW5jbHVzaXZlOiEwfX07bGV0IGk9YS5tYXRjaCgvXihbXjpcc10rKVxzKjpccyooIlteIl0qInwnW14nXSonfFteIidcc10rKSQvKTtyZXR1cm4gaT97ZmllbGQ6aVsxXSx2YWx1ZTpGc2UoaVsyXSkudG9Mb3dlckNhc2UoKSxuZWdhdGU6ZX06YS5sZW5ndGg+MD97dmFsdWU6RnNlKGEpLnRvTG93ZXJDYXNlKCksbmVnYXRlOmV9Om51bGx9ZnVuY3Rpb24gWklhKGEpe2lmKCFhKXJldHVybiBudWxsO2xldCBlPUdJYShhKS5tYXAodD0+KHt0ZXJtczpZSWEodCkubWFwKEtJYSkuZmlsdGVyKGk9PiEhaSYmISFpLnZhbHVlKX0pKS5maWx0ZXIodD0+dC50ZXJtcy5sZW5ndGg+MCk7cmV0dXJuIGUubGVuZ3RoPT09MD9udWxsOntjbGF1c2VzOmV9fWZ1bmN0aW9uIGhsYShhLGUsdCl7bGV0IHI9WklhKGEpO2lmKCFyKXJldHVybiBudWxsO2xldCBpPW5ldyBNYXAodC5tYXAoZD0+W1N0cmluZyhkLmtleSksZF0pKSxvPXMoKGQsYyk9PmQ8Yz8tMTpkPmM/MTowLCJjbXAiKSxuPXMoZD0+e2xldCBjPVN0cmluZyhkPz8iIikudG9Mb3dlckNhc2UoKSxwPU51bWJlcihjKSx1PURhdGUucGFyc2UoYyk7cmV0dXJuIU51bWJlci5pc05hTihwKSYmYy50cmltKCkhPT0iIj97dDoibiIsdjpwfTpOdW1iZXIuaXNOYU4odSk/e3Q6InMiLHY6Y306e3Q6ImQiLHY6dX19LCJjb2VyY2UiKSxsPXMoKGQsYyxwKT0+e2xldCB1PW4oZCksbT1uKGMpLHY9bihwKTtpZih1LnQ9PT0icyImJm0udD09PSJzIiYmdi50PT09InMiKXtsZXQgYj11LnY7cmV0dXJuIG8oYixtLnYpPj0wJiZvKGIsdi52KTw9MH1pZih1LnQ9PT0ibiImJm0udD09PSJuIiYmdi50PT09Im4iKXtsZXQgYj11LnY7cmV0dXJuIGI+PW0udiYmYjw9di52fWlmKHUudD09PSJkIiYmbS50PT09ImQiJiZ2LnQ9PT0iZCIpe2xldCBiPXUudjtyZXR1cm4gYj49bS52JiZiPD12LnZ9bGV0IHg9U3RyaW5nKGQ/PyIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiBvKHgsYyk+PTAmJm8oeCxwKTw9MH0sImluUmFuZ2UiKTtyZXR1cm4gZD0+e2ZvcihsZXQgYyBvZiByLmNsYXVzZXMpe2xldCBwPSEwO2ZvcihsZXQgdSBvZiBjLnRlcm1zKXtsZXQgbT0hMTtpZih1LnJhbmdlJiZ1LmZpZWxkKWlmKGU9PT0iZGF0YSIpbT1sKGRbdS5maWVsZF0sdS5yYW5nZS5sb3dlcix1LnJhbmdlLnVwcGVyKTtlbHNle2xldCB2PWkuZ2V0KHUuZmllbGQpO2lmKCF2fHx2LmhpZGRlbiltPSExO2Vsc2V7bGV0IHg9di52YWx1ZT92LnZhbHVlKGQpOmRbdi5rZXldO209bCh4LHUucmFuZ2UubG93ZXIsdS5yYW5nZS51cHBlcil9fWVsc2UgaWYodS5maWVsZCYmdS52YWx1ZSE9bnVsbClpZihlPT09ImRhdGEiKW09U3RyaW5nKGRbdS5maWVsZF0/PyIiKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHUudmFsdWUpO2Vsc2V7bGV0IHY9aS5nZXQodS5maWVsZCk7aWYoIXZ8fHYuaGlkZGVuPT09ITApbT0hMTtlbHNle2xldCB4PXYudmFsdWU/di52YWx1ZShkKTpkW3Yua2V5XTttPVN0cmluZyh4Pz8iIikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh1LnZhbHVlKX19ZWxzZSB1LnZhbHVlIT1udWxsJiYoZT09PSJkYXRhIj9tPU9iamVjdC52YWx1ZXMoZCkuc29tZSh2PT5TdHJpbmcodj8/IiIpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModS52YWx1ZSkpOm09dC5zb21lKHY9PntpZih2LmhpZGRlbilyZXR1cm4hMTtsZXQgeD12LnZhbHVlP3YudmFsdWUoZCk6ZFt2LmtleV07cmV0dXJuIFN0cmluZyh4Pz8iIikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh1LnZhbHVlKX0pKTtpZih1Lm5lZ2F0ZSYmKG09IW0pLCFtKXtwPSExO2JyZWFrfX1pZihwKXJldHVybiEwfXJldHVybiExfX12YXIgbWxhPWYoKCk9PntzKEZzZSwic3RyaXBRdW90ZXMiKTtzKEdJYSwic3BsaXRCeU9yIik7cyhZSWEsInNwbGl0QnlBbmQiKTtzKEtJYSwicGFyc2VUZXJtIik7cyhaSWEsInBhcnNlTHVjZW5lIik7cyhobGEsImNvbXBpbGVMdWNlbmVQcmVkaWNhdGUiKX0pO2Z1bmN0aW9uIFhJYShhKXtsZXQgZT1bInRoIiwic3QiLCJuZCIsInJkIl0sdD1hJTEwMDtyZXR1cm4gYSsoZVsodC0yMCklMTBdfHxlW3RdfHxlWzBdKX12YXIgZmEsaXQsQnNlLFhYZT1mKCgpPT57V3MoKTtsbGEoKTtsZSgpO1hyKCk7Y2MoKTtlYSgpO3ZhKCk7ZGxhKCk7UVhlKCk7SlhlKCk7ZVFlKCk7dGFlKCk7dFFlKCk7ZmxhKCk7bWxhKCk7UWUoKTtRcigpO2ZhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxpdD1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH07cyhYSWEsIm9yZGluYWxMYWJlbCIpO0JzZT0oKCk9PntsZXQgYT1baWUoImRlZXMtdGFibGUiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXSxCLE09W10sUz1bXSxFLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sUSxKPVtdLFo9W10sZ2UsYWU9W10scmU9W10seWUsVj1bXSxIPVtdLG9lLHNlPVtdLHRlPVtdLHplLE9lPVtdLHFlPVtdLGR0LCRlPVtdLENlPVtdLE1lLGRlPVtdLHZlPVtdLEFlLFplPVtdLG50PVtdLHp0LFRlPVtdLHdlPVtdLFJlLGZlPVtdLGJlPVtdLEVlLGZ0PVtdLG10PVtdLEl0LFhhPVtdLEphPVtdLHdzLFVlPVtdLHV0PVtdLFFhLE1yPVtdLCRyPVtdLFZyLERyPVtdLHhvPVtdLHlvLExlPVtdLFNlPVtdLEJlLGlhPVtdLE1zPVtdLGhsLHhlPVtdLG5lPVtdLF9lLFdlPVtdLFN0PVtdLGtzLGpyPVtdLEhpPVtdLFFuLHMyPVtdLG1sPVtdLEpuLFk0PVtdLHg3PVtdLHk3LHc3PVtdLE03PVtdLGs3LFM3PVtdLHo3PVtdO3ZhciBDNz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1RhYmxlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpBcnJheX0pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOlN0cmluZ30pXSxOPVskKHt0eXBlOkJvb2xlYW59KV0sTz1bJCh7dHlwZTpCb29sZWFufSldLEI9WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sRT1bJCh7dHlwZTpCb29sZWFufSldLFc9WyQoe3R5cGU6QXJyYXl9KV0saGU9WyQoe2F0dHJpYnV0ZTohMX0pXSxtZT1bJCh7YXR0cmlidXRlOiExfSldLGNlPVskKHt0eXBlOkJvb2xlYW59KV0sUT1bJCh7YXR0cmlidXRlOiExfSldLGdlPVskKHthdHRyaWJ1dGU6ITF9KV0seWU9WyQoe3R5cGU6T2JqZWN0fSldLG9lPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMCxhdHRyaWJ1dGU6InNob3ctdmVydGljYWwtbGluZXMifSldLHplPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMCxhdHRyaWJ1dGU6InNob3ctaG9yaXpvbnRhbC1saW5lcyJ9KV0sZHQ9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwLGF0dHJpYnV0ZToic2hvdy1ncmlkIn0pXSxNZT1bJCh7YXR0cmlidXRlOiExfSldLEFlPVskKHt0eXBlOlN0cmluZ30pXSx6dD1bJCh7YXR0cmlidXRlOiExfSldLFJlPVskKHt0eXBlOkJvb2xlYW4sYXR0cmlidXRlOiJzaG93LWNvbHVtbi1maWx0ZXJzIn0pXSxFZT1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITAsYXR0cmlidXRlOiJzaG93LXNlbGVjdGlvbi1jaGVja2JveCJ9KV0sSXQ9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwLGF0dHJpYnV0ZToidmlydHVhbGl6ZWQifSldLHdzPVskKHt0eXBlOk51bWJlcixhdHRyaWJ1dGU6InZpcnR1YWwtb3ZlcnNjYW4ifSldLFFhPVskKHt0eXBlOlN0cmluZyxhdHRyaWJ1dGU6ImhpZ2hsaWdodC11cGRhdGVzIn0pXSxWcj1bJCh7dHlwZTpOdW1iZXIsYXR0cmlidXRlOiJoaWdobGlnaHQtZHVyYXRpb24ifSldLHlvPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMCxhdHRyaWJ1dGU6ImZpeGVkLWhlaWdodCJ9KV0sQmU9WyQoe3R5cGU6U3RyaW5nfSldLGhsPVskKHt0eXBlOlN0cmluZ30pXSxfZT1bJCh7YXR0cmlidXRlOiExfSldLGtzPVtLKCldLFFuPVtLKCldLEpuPVtLKCldLHk3PVtLKCldLGs3PVtLKCldLGZhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGVhZGluZzEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImhlYWRpbmcxImluIEwsImhhcyIpLGdldDpzKEw9PkwuaGVhZGluZzEsImdldCIpLHNldDpzKChMLGVlKT0+e0wuaGVhZGluZzE9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sbixsKSxmYSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlYWRpbmcyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJoZWFkaW5nMiJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmhlYWRpbmcyLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmhlYWRpbmcyPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGMscCksZmEodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJkYXRhImluIEwsImhhcyIpLGdldDpzKEw9PkwuZGF0YSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5kYXRhPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LG0sdiksZmEodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJrZXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImtleSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmtleSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5rZXk9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sYixnKSxmYSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJsYWJlbCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmxhYmVsLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmxhYmVsPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGssQyksZmEodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXNhYmxlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iZGlzYWJsZWQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5kaXNhYmxlZCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5kaXNhYmxlZD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxfLHopLGZhKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVxdWlyZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InJlcXVpcmVkImluIEwsImhhcyIpLGdldDpzKEw9PkwucmVxdWlyZWQsImdldCIpLHNldDpzKChMLGVlKT0+e0wucmVxdWlyZWQ9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sVCxQKSxmYSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGFOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJkYXRhTmFtZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmRhdGFOYW1lLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmRhdGFOYW1lPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LE0sUyksZmEodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWFyY2hhYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzZWFyY2hhYmxlImluIEwsImhhcyIpLGdldDpzKEw9Pkwuc2VhcmNoYWJsZSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zZWFyY2hhYmxlPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LEEsRiksZmEodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhQWN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iZGF0YUFjdGlvbnMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5kYXRhQWN0aW9ucywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5kYXRhQWN0aW9ucz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxqLEcpLGZhKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbHVtbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImNvbHVtbnMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5jb2x1bW5zLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmNvbHVtbnM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sUixVKSxmYSh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3dLZXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InJvd0tleSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnJvd0tleSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5yb3dLZXk9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sSSxxKSxmYSh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iYXVnbWVudEZyb21EaXNwbGF5RnVuY3Rpb24iaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbiwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbj1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSx1ZSxZKSxmYSh0aGlzLG51bGwsUSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpc3BsYXlGdW5jdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iZGlzcGxheUZ1bmN0aW9uImluIEwsImhhcyIpLGdldDpzKEw9PkwuZGlzcGxheUZ1bmN0aW9uLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmRpc3BsYXlGdW5jdGlvbj1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxKLFopLGZhKHRoaXMsbnVsbCxnZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJldmVyc2VEaXNwbGF5RnVuY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InJldmVyc2VEaXNwbGF5RnVuY3Rpb24iaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5yZXZlcnNlRGlzcGxheUZ1bmN0aW9uLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnJldmVyc2VEaXNwbGF5RnVuY3Rpb249ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sYWUscmUpLGZhKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkRGF0YVJvdyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2VsZWN0ZWREYXRhUm93ImluIEwsImhhcyIpLGdldDpzKEw9Pkwuc2VsZWN0ZWREYXRhUm93LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNlbGVjdGVkRGF0YVJvdz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxWLEgpLGZhKHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dWZXJ0aWNhbExpbmVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzaG93VmVydGljYWxMaW5lcyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNob3dWZXJ0aWNhbExpbmVzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNob3dWZXJ0aWNhbExpbmVzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LHNlLHRlKSxmYSh0aGlzLG51bGwsemUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93SG9yaXpvbnRhbExpbmVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzaG93SG9yaXpvbnRhbExpbmVzImluIEwsImhhcyIpLGdldDpzKEw9Pkwuc2hvd0hvcml6b250YWxMaW5lcywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zaG93SG9yaXpvbnRhbExpbmVzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LE9lLHFlKSxmYSh0aGlzLG51bGwsZHQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93R3JpZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2hvd0dyaWQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zaG93R3JpZCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zaG93R3JpZD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSwkZSxDZSksZmEodGhpcyxudWxsLE1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic29ydEJ5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzb3J0QnkiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zb3J0QnksImdldCIpLHNldDpzKChMLGVlKT0+e0wuc29ydEJ5PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGRlLHZlKSxmYSh0aGlzLG51bGwsQWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXJUZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJmaWx0ZXJUZXh0ImluIEwsImhhcyIpLGdldDpzKEw9PkwuZmlsdGVyVGV4dCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5maWx0ZXJUZXh0PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFplLG50KSxmYSh0aGlzLG51bGwsenQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2x1bW5GaWx0ZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJjb2x1bW5GaWx0ZXJzImluIEwsImhhcyIpLGdldDpzKEw9PkwuY29sdW1uRmlsdGVycywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5jb2x1bW5GaWx0ZXJzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFRlLHdlKSxmYSh0aGlzLG51bGwsUmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93Q29sdW1uRmlsdGVycyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2hvd0NvbHVtbkZpbHRlcnMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zaG93Q29sdW1uRmlsdGVycywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zaG93Q29sdW1uRmlsdGVycz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxmZSxiZSksZmEodGhpcyxudWxsLEVlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1NlbGVjdGlvbkNoZWNrYm94IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzaG93U2VsZWN0aW9uQ2hlY2tib3giaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zaG93U2VsZWN0aW9uQ2hlY2tib3gsImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2hvd1NlbGVjdGlvbkNoZWNrYm94PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGZ0LG10KSxmYSh0aGlzLG51bGwsSXQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aXJ0dWFsaXplZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4idmlydHVhbGl6ZWQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC52aXJ0dWFsaXplZCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC52aXJ0dWFsaXplZD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxYYSxKYSksZmEodGhpcyxudWxsLHdzLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmlydHVhbE92ZXJzY2FuIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJ2aXJ0dWFsT3ZlcnNjYW4iaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC52aXJ0dWFsT3ZlcnNjYW4sImdldCIpLHNldDpzKChMLGVlKT0+e0wudmlydHVhbE92ZXJzY2FuPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFVlLHV0KSxmYSh0aGlzLG51bGwsUWEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoaWdobGlnaHRVcGRhdGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJoaWdobGlnaHRVcGRhdGVzImluIEwsImhhcyIpLGdldDpzKEw9PkwuaGlnaGxpZ2h0VXBkYXRlcywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5oaWdobGlnaHRVcGRhdGVzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LE1yLCRyKSxmYSh0aGlzLG51bGwsVnIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoaWdobGlnaHREdXJhdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iaGlnaGxpZ2h0RHVyYXRpb24iaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5oaWdobGlnaHREdXJhdGlvbiwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5oaWdobGlnaHREdXJhdGlvbj1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxEcix4byksZmEodGhpcyxudWxsLHlvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZml4ZWRIZWlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImZpeGVkSGVpZ2h0ImluIEwsImhhcyIpLGdldDpzKEw9PkwuZml4ZWRIZWlnaHQsImdldCIpLHNldDpzKChMLGVlKT0+e0wuZml4ZWRIZWlnaHQ9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sTGUsU2UpLGZhKHRoaXMsbnVsbCxCZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlYXJjaE1vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNlYXJjaE1vZGUiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zZWFyY2hNb2RlLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNlYXJjaE1vZGU9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0saWEsTXMpLGZhKHRoaXMsbnVsbCxobCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGlvbk1vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNlbGVjdGlvbk1vZGUiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zZWxlY3Rpb25Nb2RlLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNlbGVjdGlvbk1vZGU9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0seGUsbmUpLGZhKHRoaXMsbnVsbCxfZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkSWRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzZWxlY3RlZElkcyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlbGVjdGVkSWRzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNlbGVjdGVkSWRzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFdlLFN0KSxmYSh0aGlzLG51bGwsa3Mse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJfX2ZvY3VzZWRDZWxsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJfX2ZvY3VzZWRDZWxsImluIEwsImhhcyIpLGdldDpzKEw9PkwuX19mb2N1c2VkQ2VsbCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5fX2ZvY3VzZWRDZWxsPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGpyLEhpKSxmYSh0aGlzLG51bGwsUW4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJfX2VkaXRpbmdDZWxsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJfX2VkaXRpbmdDZWxsImluIEwsImhhcyIpLGdldDpzKEw9PkwuX19lZGl0aW5nQ2VsbCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5fX2VkaXRpbmdDZWxsPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LHMyLG1sKSxmYSh0aGlzLG51bGwsSm4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJfX2Zsb2F0aW5nQWN0aXZlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJfX2Zsb2F0aW5nQWN0aXZlImluIEwsImhhcyIpLGdldDpzKEw9PkwuX19mbG9hdGluZ0FjdGl2ZSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5fX2Zsb2F0aW5nQWN0aXZlPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFk0LHg3KSxmYSh0aGlzLG51bGwseTcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJfX2ZsYXNoaW5nQ2VsbHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Il9fZmxhc2hpbmdDZWxscyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLl9fZmxhc2hpbmdDZWxscywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5fX2ZsYXNoaW5nQ2VsbHM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sdzcsTTcpLGZhKHRoaXMsbnVsbCxrNyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Il9fdmlydHVhbFJhbmdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJfX3ZpcnR1YWxSYW5nZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLl9fdmlydHVhbFJhbmdlLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLl9fdmlydHVhbFJhbmdlPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFM3LHo3KSxmYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpEfSxudWxsLHQpLEM3PXI9ZS52YWx1ZSxEJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkR9KX1zdGF0aWMgZGVtbz1ubGE7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXRhIFZpZXciXTsjZT1pdCh0aGlzLG4sImhlYWRpbmcgMSIpO2dldCBoZWFkaW5nMSgpe3JldHVybiB0aGlzLiNlfXNldCBoZWFkaW5nMShEKXt0aGlzLiNlPUR9I3Q9KGl0KHRoaXMsbCksaXQodGhpcyxjLCJoZWFkaW5nIDIiKSk7Z2V0IGhlYWRpbmcyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGhlYWRpbmcyKEQpe3RoaXMuI3Q9RH0jYT0oaXQodGhpcyxwKSxpdCh0aGlzLG0sW10pKTtnZXQgZGF0YSgpe3JldHVybiB0aGlzLiNhfXNldCBkYXRhKEQpe3RoaXMuI2E9RH0jcj0oaXQodGhpcyx2KSxpdCh0aGlzLGIsdm9pZCAwKSk7Z2V0IGtleSgpe3JldHVybiB0aGlzLiNyfXNldCBrZXkoRCl7dGhpcy4jcj1EfSNzPShpdCh0aGlzLGcpLGl0KHRoaXMsayx2b2lkIDApKTtnZXQgbGFiZWwoKXtyZXR1cm4gdGhpcy4jc31zZXQgbGFiZWwoRCl7dGhpcy4jcz1EfSNpPShpdCh0aGlzLEMpLGl0KHRoaXMsXywhMSkpO2dldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLiNpfXNldCBkaXNhYmxlZChEKXt0aGlzLiNpPUR9I289KGl0KHRoaXMseiksaXQodGhpcyxULCExKSk7Z2V0IHJlcXVpcmVkKCl7cmV0dXJuIHRoaXMuI299c2V0IHJlcXVpcmVkKEQpe3RoaXMuI289RH1nZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy5kYXRhfXNldCB2YWx1ZShEKXt9Y2hhbmdlU3ViamVjdD0oaXQodGhpcyxQKSxuZXcgSHQuc21hcnRyeC5yeGpzLlN1YmplY3QpOyNuPWl0KHRoaXMsTSx2b2lkIDApO2dldCBkYXRhTmFtZSgpe3JldHVybiB0aGlzLiNufXNldCBkYXRhTmFtZShEKXt0aGlzLiNuPUR9I2w9KGl0KHRoaXMsUyksaXQodGhpcyxBLCEwKSk7Z2V0IHNlYXJjaGFibGUoKXtyZXR1cm4gdGhpcy4jbH1zZXQgc2VhcmNoYWJsZShEKXt0aGlzLiNsPUR9I2M9KGl0KHRoaXMsRiksaXQodGhpcyxqLFtdKSk7Z2V0IGRhdGFBY3Rpb25zKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGRhdGFBY3Rpb25zKEQpe3RoaXMuI2M9RH0jZD0oaXQodGhpcyxHKSxpdCh0aGlzLFIsW10pKTtnZXQgY29sdW1ucygpe3JldHVybiB0aGlzLiNkfXNldCBjb2x1bW5zKEQpe3RoaXMuI2Q9RH0jdT0oaXQodGhpcyxVKSxpdCh0aGlzLEksdm9pZCAwKSk7Z2V0IHJvd0tleSgpe3JldHVybiB0aGlzLiN1fXNldCByb3dLZXkoRCl7dGhpcy4jdT1EfSNwPShpdCh0aGlzLHEpLGl0KHRoaXMsdWUsITEpKTtnZXQgYXVnbWVudEZyb21EaXNwbGF5RnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4jcH1zZXQgYXVnbWVudEZyb21EaXNwbGF5RnVuY3Rpb24oRCl7dGhpcy4jcD1EfSNmPShpdCh0aGlzLFkpLGl0KHRoaXMsSixEPT5EKSk7Z2V0IGRpc3BsYXlGdW5jdGlvbigpe3JldHVybiB0aGlzLiNmfXNldCBkaXNwbGF5RnVuY3Rpb24oRCl7dGhpcy4jZj1EfSNoPShpdCh0aGlzLFopLGl0KHRoaXMsYWUsRD0+RCkpO2dldCByZXZlcnNlRGlzcGxheUZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuI2h9c2V0IHJldmVyc2VEaXNwbGF5RnVuY3Rpb24oRCl7dGhpcy4jaD1EfSNtPShpdCh0aGlzLHJlKSxpdCh0aGlzLFYsdm9pZCAwKSk7Z2V0IHNlbGVjdGVkRGF0YVJvdygpe3JldHVybiB0aGlzLiNtfXNldCBzZWxlY3RlZERhdGFSb3coRCl7dGhpcy4jbT1EfSNnPShpdCh0aGlzLEgpLGl0KHRoaXMsc2UsITEpKTtnZXQgc2hvd1ZlcnRpY2FsTGluZXMoKXtyZXR1cm4gdGhpcy4jZ31zZXQgc2hvd1ZlcnRpY2FsTGluZXMoRCl7dGhpcy4jZz1EfSNiPShpdCh0aGlzLHRlKSxpdCh0aGlzLE9lLCExKSk7Z2V0IHNob3dIb3Jpem9udGFsTGluZXMoKXtyZXR1cm4gdGhpcy4jYn1zZXQgc2hvd0hvcml6b250YWxMaW5lcyhEKXt0aGlzLiNiPUR9I3Y9KGl0KHRoaXMscWUpLGl0KHRoaXMsJGUsITApKTtnZXQgc2hvd0dyaWQoKXtyZXR1cm4gdGhpcy4jdn1zZXQgc2hvd0dyaWQoRCl7dGhpcy4jdj1EfWZpbGVzPShpdCh0aGlzLENlKSxbXSk7ZmlsZVdlYWtNYXA9bmV3IFdlYWtNYXA7ZGF0YUNoYW5nZVN1YmplY3Q9bmV3IEh0LnNtYXJ0cngucnhqcy5TdWJqZWN0OyN4PWl0KHRoaXMsZGUsW10pO2dldCBzb3J0QnkoKXtyZXR1cm4gdGhpcy4jeH1zZXQgc29ydEJ5KEQpe3RoaXMuI3g9RH0jeT0oaXQodGhpcyx2ZSksaXQodGhpcyxaZSwiIikpO2dldCBmaWx0ZXJUZXh0KCl7cmV0dXJuIHRoaXMuI3l9c2V0IGZpbHRlclRleHQoRCl7dGhpcy4jeT1EfSN3PShpdCh0aGlzLG50KSxpdCh0aGlzLFRlLHt9KSk7Z2V0IGNvbHVtbkZpbHRlcnMoKXtyZXR1cm4gdGhpcy4jd31zZXQgY29sdW1uRmlsdGVycyhEKXt0aGlzLiN3PUR9I009KGl0KHRoaXMsd2UpLGl0KHRoaXMsZmUsITEpKTtnZXQgc2hvd0NvbHVtbkZpbHRlcnMoKXtyZXR1cm4gdGhpcy4jTX1zZXQgc2hvd0NvbHVtbkZpbHRlcnMoRCl7dGhpcy4jTT1EfSNrPShpdCh0aGlzLGJlKSxpdCh0aGlzLGZ0LCExKSk7Z2V0IHNob3dTZWxlY3Rpb25DaGVja2JveCgpe3JldHVybiB0aGlzLiNrfXNldCBzaG93U2VsZWN0aW9uQ2hlY2tib3goRCl7dGhpcy4jaz1EfSNTPShpdCh0aGlzLG10KSxpdCh0aGlzLFhhLCExKSk7Z2V0IHZpcnR1YWxpemVkKCl7cmV0dXJuIHRoaXMuI1N9c2V0IHZpcnR1YWxpemVkKEQpe3RoaXMuI1M9RH0jej0oaXQodGhpcyxKYSksaXQodGhpcyxVZSw4KSk7Z2V0IHZpcnR1YWxPdmVyc2Nhbigpe3JldHVybiB0aGlzLiN6fXNldCB2aXJ0dWFsT3ZlcnNjYW4oRCl7dGhpcy4jej1EfSNDPShpdCh0aGlzLHV0KSxpdCh0aGlzLE1yLCJub25lIikpO2dldCBoaWdobGlnaHRVcGRhdGVzKCl7cmV0dXJuIHRoaXMuI0N9c2V0IGhpZ2hsaWdodFVwZGF0ZXMoRCl7dGhpcy4jQz1EfSNfPShpdCh0aGlzLCRyKSxpdCh0aGlzLERyLDkwMCkpO2dldCBoaWdobGlnaHREdXJhdGlvbigpe3JldHVybiB0aGlzLiNffXNldCBoaWdobGlnaHREdXJhdGlvbihEKXt0aGlzLiNfPUR9I1Q9KGl0KHRoaXMseG8pLGl0KHRoaXMsTGUsITEpKTtnZXQgZml4ZWRIZWlnaHQoKXtyZXR1cm4gdGhpcy4jVH1zZXQgZml4ZWRIZWlnaHQoRCl7dGhpcy4jVD1EfSNMPShpdCh0aGlzLFNlKSxpdCh0aGlzLGlhLCJ0YWJsZSIpKTtnZXQgc2VhcmNoTW9kZSgpe3JldHVybiB0aGlzLiNMfXNldCBzZWFyY2hNb2RlKEQpe3RoaXMuI0w9RH1fX3NlYXJjaFRleHRTdWI9aXQodGhpcyxNcyk7X19zZWFyY2hNb2RlU3ViOyMkPWl0KHRoaXMseGUsIm5vbmUiKTtnZXQgc2VsZWN0aW9uTW9kZSgpe3JldHVybiB0aGlzLiMkfXNldCBzZWxlY3Rpb25Nb2RlKEQpe3RoaXMuIyQ9RH0jRD0oaXQodGhpcyxuZSksaXQodGhpcyxXZSxuZXcgU2V0KSk7Z2V0IHNlbGVjdGVkSWRzKCl7cmV0dXJuIHRoaXMuI0R9c2V0IHNlbGVjdGVkSWRzKEQpe3RoaXMuI0Q9RH1fcm93SWRNYXA9KGl0KHRoaXMsU3QpLG5ldyBXZWFrTWFwKTtfcm93SWRDb3VudGVyPTA7X19zZWxlY3Rpb25BbmNob3JJZDsjQT1pdCh0aGlzLGpyLHZvaWQgMCk7Z2V0IF9fZm9jdXNlZENlbGwoKXtyZXR1cm4gdGhpcy4jQX1zZXQgX19mb2N1c2VkQ2VsbChEKXt0aGlzLiNBPUR9I1A9KGl0KHRoaXMsSGkpLGl0KHRoaXMsczIsdm9pZCAwKSk7Z2V0IF9fZWRpdGluZ0NlbGwoKXtyZXR1cm4gdGhpcy4jUH1zZXQgX19lZGl0aW5nQ2VsbChEKXt0aGlzLiNQPUR9I0U9KGl0KHRoaXMsbWwpLGl0KHRoaXMsWTQsITEpKTtnZXQgX19mbG9hdGluZ0FjdGl2ZSgpe3JldHVybiB0aGlzLiNFfXNldCBfX2Zsb2F0aW5nQWN0aXZlKEQpe3RoaXMuI0U9RH0jST0oaXQodGhpcyx4NyksaXQodGhpcyx3NyxuZXcgTWFwKSk7Z2V0IF9fZmxhc2hpbmdDZWxscygpe3JldHVybiB0aGlzLiNJfXNldCBfX2ZsYXNoaW5nQ2VsbHMoRCl7dGhpcy4jST1EfV9fcHJldlNuYXBzaG90PWl0KHRoaXMsTTcpO19fZmxhc2hDbGVhclRpbWVyO19fZmxhc2hUaWNrPTA7X19mbGFzaFdhcm5lZE5vUm93S2V5PSExO19fbWVtb0VmZmVjdGl2ZUNvbHM7X19tZW1vVmlld0RhdGE7X19jb2x1bW5zU2l6ZWRGb3I7X19yb3dIZWlnaHQ9MzY7X19yb3dIZWlnaHRNZWFzdXJlZD0hMTsjTj1pdCh0aGlzLFM3LHtzdGFydDowLGVuZDowfSk7Z2V0IF9fdmlydHVhbFJhbmdlKCl7cmV0dXJuIHRoaXMuI059c2V0IF9fdmlydHVhbFJhbmdlKEQpe3RoaXMuI049RH1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5oYXNBdHRyaWJ1dGUoInRhYmluZGV4Iil8fHRoaXMuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIjAiKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX19oYW5kbGVIb3N0S2V5ZG93bil9X19oYW5kbGVIb3N0S2V5ZG93bj0oaXQodGhpcyx6NyksRD0+e2xldCBMPUQuY29tcG9zZWRQYXRoPy4oKXx8W10sZWU9ITE7Zm9yKGxldCBJZSBvZiBMKXtsZXQgR2U9SWU/LnRhZ05hbWU7aWYoR2U9PT0iSU5QVVQifHxHZT09PSJURVhUQVJFQSJ8fEllPy5pc0NvbnRlbnRFZGl0YWJsZSl7ZWU9ITA7YnJlYWt9fWlmKChELm1ldGFLZXl8fEQuY3RybEtleSkmJihELmtleT09PSJjInx8RC5rZXk9PT0iQyIpKXtpZihlZSlyZXR1cm47bGV0IEllPVtdO2lmKHRoaXMuc2VsZWN0ZWRJZHMuc2l6ZT4wKWZvcihsZXQgR2Ugb2YgdGhpcy5kYXRhKXRoaXMuc2VsZWN0ZWRJZHMuaGFzKHRoaXMuZ2V0Um93SWQoR2UpKSYmSWUucHVzaChHZSk7ZWxzZSB0aGlzLnNlbGVjdGVkRGF0YVJvdyYmSWUucHVzaCh0aGlzLnNlbGVjdGVkRGF0YVJvdyk7aWYoSWUubGVuZ3RoPT09MClyZXR1cm47RC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX193cml0ZVJvd3NBc0pzb24oSWUpO3JldHVybn1pZighKGVlfHx0aGlzLl9fZWRpdGluZ0NlbGwpKXN3aXRjaChELmtleSl7Y2FzZSJBcnJvd0xlZnQiOkQucHJldmVudERlZmF1bHQoKSx0aGlzLm1vdmVGb2N1c2VkQ2VsbCgtMSwwLCExKTtyZXR1cm47Y2FzZSJBcnJvd1JpZ2h0IjpELnByZXZlbnREZWZhdWx0KCksdGhpcy5tb3ZlRm9jdXNlZENlbGwoMSwwLCExKTtyZXR1cm47Y2FzZSJBcnJvd1VwIjpELnByZXZlbnREZWZhdWx0KCksdGhpcy5tb3ZlRm9jdXNlZENlbGwoMCwtMSwhMSk7cmV0dXJuO2Nhc2UiQXJyb3dEb3duIjpELnByZXZlbnREZWZhdWx0KCksdGhpcy5tb3ZlRm9jdXNlZENlbGwoMCwxLCExKTtyZXR1cm47Y2FzZSJFbnRlciI6Y2FzZSJGMiI6e2lmKCF0aGlzLl9fZm9jdXNlZENlbGwpcmV0dXJuO2xldCBHZT0odGhpcy5fbGFzdFZpZXdEYXRhPz9bXSkuZmluZCh4dD0+dGhpcy5nZXRSb3dJZCh4dCk9PT10aGlzLl9fZm9jdXNlZENlbGwucm93SWQpO2lmKCFHZSlyZXR1cm47bGV0IGF0PXRoaXMuX19nZXRFZmZlY3RpdmVDb2x1bW5zKCkuZmluZCh4dD0+U3RyaW5nKHh0LmtleSk9PT10aGlzLl9fZm9jdXNlZENlbGwuY29sS2V5KTtpZighYXR8fCF0aGlzLl9faXNDb2x1bW5FZGl0YWJsZShhdCkpcmV0dXJuO0QucHJldmVudERlZmF1bHQoKSx0aGlzLnN0YXJ0RWRpdGluZyhHZSxhdCk7cmV0dXJufWNhc2UiRXNjYXBlIjp0aGlzLl9fZm9jdXNlZENlbGwmJih0aGlzLl9fZm9jdXNlZENlbGw9dm9pZCAwLHRoaXMucmVxdWVzdFVwZGF0ZSgpKTtyZXR1cm47ZGVmYXVsdDpyZXR1cm59fSk7Y29weVNlbGVjdGlvbkFzSnNvbihEKXtsZXQgTD1bXTtpZih0aGlzLnNlbGVjdGVkSWRzLnNpemU+MClmb3IobGV0IGVlIG9mIHRoaXMuZGF0YSl0aGlzLnNlbGVjdGVkSWRzLmhhcyh0aGlzLmdldFJvd0lkKGVlKSkmJkwucHVzaChlZSk7ZWxzZSBEP0wucHVzaChEKTp0aGlzLnNlbGVjdGVkRGF0YVJvdyYmTC5wdXNoKHRoaXMuc2VsZWN0ZWREYXRhUm93KTtMLmxlbmd0aCE9PTAmJnRoaXMuX193cml0ZVJvd3NBc0pzb24oTCl9X193cml0ZVJvd3NBc0pzb24oRCl7dHJ5e2xldCBMPUpTT04uc3RyaW5naWZ5KEQsbnVsbCwyKTtuYXZpZ2F0b3IuY2xpcGJvYXJkPy53cml0ZVRleHQoTCl9Y2F0Y2h7fX1zdGF0aWMgc3R5bGVzPWNsYTtfX2dldERpc3BsYXlGdW5jdGlvblNoYXBlS2V5KCl7aWYoIXRoaXMuZGF0YXx8dGhpcy5kYXRhLmxlbmd0aD09PTApcmV0dXJuIiI7bGV0IEQ9dGhpcy5kaXNwbGF5RnVuY3Rpb24odGhpcy5kYXRhWzBdKT8/e307cmV0dXJuIE9iamVjdC5rZXlzKEQpLmpvaW4oIlwwIil9X19nZXRFZmZlY3RpdmVDb2x1bW5zKCl7bGV0IEQ9QXJyYXkuaXNBcnJheSh0aGlzLmNvbHVtbnMpJiZ0aGlzLmNvbHVtbnMubGVuZ3RoPjAsTD0hRHx8dGhpcy5hdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbj90aGlzLl9fZ2V0RGlzcGxheUZ1bmN0aW9uU2hhcGVLZXkoKToiIixlZT10aGlzLl9fbWVtb0VmZmVjdGl2ZUNvbHM7aWYoZWUmJmVlLmNvbHVtbnM9PT10aGlzLmNvbHVtbnMmJmVlLmF1Z21lbnQ9PT10aGlzLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uJiZlZS5kaXNwbGF5RnVuY3Rpb249PT10aGlzLmRpc3BsYXlGdW5jdGlvbiYmZWUuZGlzcGxheVNoYXBlS2V5PT09TClyZXR1cm4gZWUub3V0O2xldCBEZT1EP3VsYSh0aGlzLmNvbHVtbnMsdGhpcy5hdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbix0aGlzLmRpc3BsYXlGdW5jdGlvbix0aGlzLmRhdGEpOmFRZSh0aGlzLmRpc3BsYXlGdW5jdGlvbix0aGlzLmRhdGEpO3JldHVybiB0aGlzLl9fbWVtb0VmZmVjdGl2ZUNvbHM9e2NvbHVtbnM6dGhpcy5jb2x1bW5zLGF1Z21lbnQ6dGhpcy5hdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbixkaXNwbGF5RnVuY3Rpb246dGhpcy5kaXNwbGF5RnVuY3Rpb24sZGlzcGxheVNoYXBlS2V5Okwsb3V0OkRlfSxEZX1fX2dldFZpZXdEYXRhKEQpe2xldCBMPXRoaXMuc2VhcmNoTW9kZT09PSJkYXRhIj8iZGF0YSI6InRhYmxlIixlZT10aGlzLl9fbWVtb1ZpZXdEYXRhO2lmKGVlJiZlZS5kYXRhPT09dGhpcy5kYXRhJiZlZS5zb3J0Qnk9PT10aGlzLnNvcnRCeSYmZWUuZmlsdGVyVGV4dD09PXRoaXMuZmlsdGVyVGV4dCYmZWUuY29sdW1uRmlsdGVycz09PXRoaXMuY29sdW1uRmlsdGVycyYmZWUuc2VhcmNoTW9kZT09PUwmJmVlLmVmZmVjdGl2ZUNvbHVtbnM9PT1EKXJldHVybiBlZS5vdXQ7bGV0IERlPWhsYSh0aGlzLmZpbHRlclRleHQsTCxEKSxJZT1wbGEodGhpcy5kYXRhLEQsdGhpcy5zb3J0QnksdGhpcy5maWx0ZXJUZXh0LHRoaXMuY29sdW1uRmlsdGVycyxMLERlfHx2b2lkIDApO3JldHVybiB0aGlzLl9fbWVtb1ZpZXdEYXRhPXtkYXRhOnRoaXMuZGF0YSxzb3J0Qnk6dGhpcy5zb3J0QnksZmlsdGVyVGV4dDp0aGlzLmZpbHRlclRleHQsY29sdW1uRmlsdGVyczp0aGlzLmNvbHVtbkZpbHRlcnMsc2VhcmNoTW9kZTpMLGVmZmVjdGl2ZUNvbHVtbnM6RCxvdXQ6SWV9LEllfXJlbmRlcigpe2xldCBEPXRoaXMuX19nZXRFZmZlY3RpdmVDb2x1bW5zKCksTD10aGlzLl9fZ2V0Vmlld0RhdGEoRCksZWU9dGhpcy5nZXRBY3Rpb25zRm9yVHlwZSgiaGVhZGVyIiksRGU9dGhpcy5nZXRBY3Rpb25zRm9yVHlwZSgiZm9vdGVyIiksSWU9dGhpcy5nZXRBY3Rpb25zRm9yVHlwZSgiaW5Sb3ciKTt0aGlzLl9sYXN0Vmlld0RhdGE9TDtsZXQgR2U9dGhpcy52aXJ0dWFsaXplZCYmTC5sZW5ndGg+MCx0dD1MLGF0PTAseHQ9MCxnYT0wO2lmKEdlKXtsZXQgd3Q9dGhpcy5fX3ZpcnR1YWxSYW5nZSxucz1NYXRoLm1heCgwLHd0LnN0YXJ0KSx3bz1NYXRoLm1pbihMLmxlbmd0aCx3dC5lbmR8fDApLFVyPXdvPjA/d286TWF0aC5taW4oTC5sZW5ndGgsdGhpcy52aXJ0dWFsT3ZlcnNjYW4qMisxNik7YXQ9bnMsdHQ9TC5zbGljZShucyxVcikseHQ9bnMqdGhpcy5fX3Jvd0hlaWdodCxnYT1NYXRoLm1heCgwLEwubGVuZ3RoLVVyKSp0aGlzLl9fcm93SGVpZ2h0fXJldHVybiB3YAogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmdDb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nIGhlYWRpbmcxIj4ke3RoaXMubGFiZWx8fHRoaXMuaGVhZGluZzF9PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmcgaGVhZGluZzIiPiR7dGhpcy5oZWFkaW5nMn08L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyQWN0aW9ucyI+CiAgICAgICAgICAgICR7ZWUubWFwKHd0PT53YDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJoZWFkZXJBY3Rpb24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e3d0LmFjdGlvbkZ1bmMoe2l0ZW06dGhpcy5zZWxlY3RlZERhdGFSb3csdGFibGU6dGhpc30pfX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke3d0Lmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvblNpemU9JHsxNH0gLmljb249JHt3dC5pY29uTmFtZX0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICAke3d0Lm5hbWV9YDp3dC5uYW1lfQogICAgICAgICAgICAgIDwvZGl2PmApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZ1NlcGFyYXRpb24iPjwvZGl2PgogICAgICAgICR7dGhpcy5oaWdobGlnaHRVcGRhdGVzPT09ImZsYXNoIiYmIXRoaXMucm93S2V5P3dgPGRpdiBjbGFzcz0iZmxhc2hDb25maWdXYXJuaW5nIiByb2xlPSJhbGVydCI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6dHJpYW5nbGVBbGVydCJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICAgICAgPGNvZGU+aGlnaGxpZ2h0LXVwZGF0ZXM9ImZsYXNoIjwvY29kZT4gcmVxdWlyZXMKICAgICAgICAgICAgICAgIDxjb2RlPnJvd0tleTwvY29kZT4gdG8gYmUgc2V0LiBGbGFzaCBpcyBkaXNhYmxlZC4KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PmA6d2BgfQogICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaEdyaWQgaGlkZGVuIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7Imx1Y2VuZSBzeW50YXggc2VhcmNoIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7YAogICAgICAgICAgICAgIFlvdSBjYW4gdXNlIHRoZSBsdWNlbmUgc3ludGF4IHRvIHNlYXJjaCBmb3IgZGF0YSwgZS5nLjoKCiAgICAgICAgICAgICAgXGBcYFxgCiAgICAgICAgICAgICAgbmFtZTogImpvaG4iIEFORCBhZ2U6IDE4CiAgICAgICAgICAgICAgXGBcYFxgCgogICAgICAgICAgICBgfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7InNlYXJjaCBtb2RlIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbInRhYmxlIiwiZGF0YSIsInNlcnZlciJdfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsidGFibGUifQogICAgICAgICAgICAuaW5mb1RleHQ9JHtgCiAgICAgICAgICAgICAgVGhlcmUgYXJlIHRocmVlIGJhc2ljIG1vZGVzOgoKICAgICAgICAgICAgICAqIHRhYmxlOiBvbmx5IHNlYXJjaGVzIGRhdGEgYWxyZWFkeSBpbiB0aGUgdGFibGUKICAgICAgICAgICAgICAqIGRhdGE6IHNlYXJjaGVzIG9yaWdpbmFsIGRhdGEsIGlnbm9yaW5nIHRhYmxlIHRyYW5zZm9ybXMKICAgICAgICAgICAgICAqIHNlcnZlcjogc2VhcmNoZXMgZGF0YSBvbiB0aGUgc2VydmVyCgogICAgICAgICAgICBgfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSB0aGUgYWN0dWFsIHRhYmxlIC0tPgogICAgICAgIDxzdHlsZT48L3N0eWxlPgogICAgICAgICR7dGhpcy5kYXRhLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGVTY3JvbGwiPgogICAgICAgICAgICAgIDx0YWJsZT4KICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgJHt0aGlzLnJlbmRlckhlYWRlclJvd3MoRCl9CiAgICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgICAgPHRib2R5CiAgICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuX19vblRib2R5Q2xpY2t9CiAgICAgICAgICAgICAgICAgIEBkYmxjbGljaz0ke3RoaXMuX19vblRib2R5RGJsY2xpY2t9CiAgICAgICAgICAgICAgICAgIEBtb3VzZWRvd249JHt0aGlzLl9fb25UYm9keU1vdXNlZG93bn0KICAgICAgICAgICAgICAgICAgQGNvbnRleHRtZW51PSR7dGhpcy5fX29uVGJvZHlDb250ZXh0bWVudX0KICAgICAgICAgICAgICAgICAgQGRyYWdlbnRlcj0ke3RoaXMuX19vblRib2R5RHJhZ2VudGVyfQogICAgICAgICAgICAgICAgICBAZHJhZ2xlYXZlPSR7dGhpcy5fX29uVGJvZHlEcmFnbGVhdmV9CiAgICAgICAgICAgICAgICAgIEBkcmFnb3Zlcj0ke3RoaXMuX19vblRib2R5RHJhZ292ZXJ9CiAgICAgICAgICAgICAgICAgIEBkcm9wPSR7dGhpcy5fX29uVGJvZHlEcm9wfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAke0dlJiZ4dD4wP3dgPHRyIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iaGVpZ2h0OiR7eHR9cHgiPjx0ZD48L3RkPjwvdHI+YDp3YGB9CiAgICAgICAgICAgICAgICAgICR7Sm8ucmVwZWF0KHR0LHd0PT50aGlzLmdldFJvd0lkKHd0KSwod3QsbnMpPT57bGV0IHdvPWF0K25zLFVyPXRoaXMuZ2V0Um93SWQod3QpLEhvPXRoaXMuX19mbGFzaGluZ0NlbGxzLmdldChVcik7cmV0dXJuIHdgCiAgICAgICAgICAgICAgICAgICAgICA8dHIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1yb3ctaWR4PSR7d299CiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSIke3d0PT09dGhpcy5zZWxlY3RlZERhdGFSb3d8fHRoaXMuaXNSb3dTZWxlY3RlZCh3dCk/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5zaG93U2VsZWN0aW9uQ2hlY2tib3g/d2A8dGQgc3R5bGU9IndpZHRoOjQycHg7IHRleHQtYWxpZ246Y2VudGVyOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5pc1Jvd1NlbGVjdGVkKHd0KX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbmV3VmFsdWU9JHtRdD0+e1F0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuc2V0Um93U2VsZWN0ZWQod3QsUXQuZGV0YWlsPT09ITApfX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+YDp3YGB9CiAgICAgICAgICAgICAgICAgICAgICAgICR7RC5maWx0ZXIoUXQ9PiFRdC5oaWRkZW4pLm1hcCgoUXQsaTIpPT57bGV0IHFpPUM0KHd0LFF0LHRoaXMuZGlzcGxheUZ1bmN0aW9uKSxnaT1RdC5yZW5kZXJlcj9RdC5yZW5kZXJlcihxaSx3dCx7cm93SW5kZXg6d28sY29sSW5kZXg6aTIsY29sdW1uOlF0fSk6cWksZTE9U3RyaW5nKFF0LmtleSksR2hhPSEhKFF0LmVkaXRhYmxlfHxRdC5lZGl0b3IpLFloYT10aGlzLl9fZm9jdXNlZENlbGw/LnJvd0lkPT09VXImJnRoaXMuX19mb2N1c2VkQ2VsbD8uY29sS2V5PT09ZTEsSGllPXRoaXMuX19lZGl0aW5nQ2VsbD8ucm93SWQ9PT1VciYmdGhpcy5fX2VkaXRpbmdDZWxsPy5jb2xLZXk9PT1lMSxXdHQ9SG8/LmdldChlMSkscWllPVd0dCE9PXZvaWQgMCxLaGE9cWllJiYhIVF0LmZsYXNoQm9yZGVyLFpoYT1bR2hhPyJlZGl0YWJsZSI6IiIsWWhhJiYhSGllPyJmb2N1c2VkIjoiIixIaWU/ImVkaXRpbmdDZWxsIjoiIl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKSxHdHQ9d2A8ZGl2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSR7cWllP0toYT8iaW5uZXJDZWxsQ29udGFpbmVyIGZsYXNoaW5nLWJvcmRlciI6ImlubmVyQ2VsbENvbnRhaW5lciBmbGFzaGluZyI6ImlubmVyQ2VsbENvbnRhaW5lciJ9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7SGllP3RoaXMucmVuZGVyQ2VsbEVkaXRvcih3dCxRdCk6Z2l9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5gO3JldHVybiB3YAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ke1poYX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWNvbC1rZXk9JHtlMX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cWllP0pvLmtleWVkKGAke1VyfToke2UxfToke1d0dH1gLEd0dCk6R3R0fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYH0pfQogICAgICAgICAgICAgICAgICAgICAgICAkeygoKT0+e2lmKEllLmxlbmd0aD4wKXJldHVybiB3YAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImFjdGlvbnNDb2wiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnNDb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtJZS5tYXAoUXQ9PndgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFjdGlvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT5RdC5hY3Rpb25GdW5jKHtpdGVtOnd0LHRhYmxlOnRoaXN9KX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke1F0Lmljb25OYW1lP3dgIDxkZWVzLWljb24gLmljb249JHtRdC5pY29uTmFtZX0+PC9kZWVzLWljb24+IGA6UXQubmFtZX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfSkoKX0KICAgICAgICAgICAgICAgICAgICAgIDwvdHI+YH0pfQogICAgICAgICAgICAgICAgICAke0dlJiZnYT4wP3dgPHRyIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iaGVpZ2h0OiR7Z2F9cHgiPjx0ZD48L3RkPjwvdHI+YDp3YGB9CiAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxvYXRpbmdIZWFkZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICAgICR7dGhpcy5fX2Zsb2F0aW5nQWN0aXZlP3dgPHRhYmxlPgogICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVySGVhZGVyUm93cyhEKX0KICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5gOndgYH0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDp3YCA8ZGl2IGNsYXNzPSJub0RhdGFTZXQiPk5vIGRhdGEgc2V0ITwvZGl2PiBgfQogICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iZm9vdGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlU3RhdGlzdGljcyI+CiAgICAgICAgICAgICR7dGhpcy5kYXRhLmxlbmd0aH0gJHt0aGlzLmRhdGFOYW1lfHwiZGF0YSByb3dzIn0gKHRvdGFsKSB8CiAgICAgICAgICAgICR7dGhpcy5zZWxlY3RlZERhdGFSb3c/YCMgJHt0aGlzLmRhdGEuaW5kZXhPZih0aGlzLnNlbGVjdGVkRGF0YVJvdykrMX1gOiJObyJ9CiAgICAgICAgICAgIHNlbGVjdGVkCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3RlckFjdGlvbnMiPgogICAgICAgICAgICAke0RlLm1hcCh3dD0+d2A8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0iZm9vdGVyQWN0aW9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9Pnt3dC5hY3Rpb25GdW5jKHtpdGVtOnRoaXMuc2VsZWN0ZWREYXRhUm93LHRhYmxlOnRoaXN9KX19CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHt3dC5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb25TaXplPSR7MTR9IC5pY29uPSR7d3QuaWNvbk5hbWV9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgICAgJHt3dC5uYW1lfWA6d3QubmFtZX0KICAgICAgICAgICAgICA8L2Rpdj5gKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9cmVuZGVySGVhZGVyUm93cyhEKXtyZXR1cm4gd2AKICAgICAgPHRyPgogICAgICAgICR7dGhpcy5zaG93U2VsZWN0aW9uQ2hlY2tib3g/d2AKICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjQycHg7IHRleHQtYWxpZ246Y2VudGVyOyI+CiAgICAgICAgICAgICAgICAke3RoaXMuc2VsZWN0aW9uTW9kZT09PSJtdWx0aSI/d2AKICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuYXJlQWxsVmlzaWJsZVNlbGVjdGVkKCl9CiAgICAgICAgICAgICAgICAgICAgICAgIC5pbmRldGVybWluYXRlPSR7dGhpcy5pc1Zpc2libGVTZWxlY3Rpb25JbmRldGVybWluYXRlKCl9CiAgICAgICAgICAgICAgICAgICAgICAgIEBuZXdWYWx1ZT0ke0w9PntMLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuc2V0U2VsZWN0VmlzaWJsZShMLmRldGFpbD09PSEwKX19CiAgICAgICAgICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgICAgICAgICAgIGA6d2BgfQogICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgIGA6d2BgfQogICAgICAgICR7RC5maWx0ZXIoTD0+IUwuaGlkZGVuKS5tYXAoTD0+e2xldCBlZT1MLnNvcnRhYmxlIT09ITEsRGU9dGhpcy5nZXRBcmlhU29ydChMKTtyZXR1cm4gd2AKICAgICAgICAgICAgICA8dGgKICAgICAgICAgICAgICAgIHJvbGU9ImNvbHVtbmhlYWRlciIKICAgICAgICAgICAgICAgIGFyaWEtc29ydD0ke0RlfQogICAgICAgICAgICAgICAgc3R5bGU9IiR7ZWU/ImN1cnNvcjogcG9pbnRlcjsiOiIifSIKICAgICAgICAgICAgICAgIEBjbGljaz0ke0llPT5lZT90aGlzLmhhbmRsZUhlYWRlckNsaWNrKEllLEwsRCk6bnVsbH0KICAgICAgICAgICAgICAgIEBjb250ZXh0bWVudT0ke0llPT5lZT90aGlzLm9wZW5IZWFkZXJDb250ZXh0TWVudShJZSxMLEQpOm51bGx9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHtMLmhlYWRlcj8/TC5rZXl9CiAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVyU29ydEluZGljYXRvcihMKX0KICAgICAgICAgICAgICA8L3RoPmB9KX0KICAgICAgICAke3RoaXMuZGF0YUFjdGlvbnMmJnRoaXMuZGF0YUFjdGlvbnMubGVuZ3RoPjA/d2A8dGggY2xhc3M9ImFjdGlvbnNDb2wiPkFjdGlvbnM8L3RoPmA6d2BgfQogICAgICA8L3RyPgogICAgICAke3RoaXMuc2hvd0NvbHVtbkZpbHRlcnM/d2A8dHIgY2xhc3M9ImZpbHRlcnNSb3ciPgogICAgICAgICAgICAke3RoaXMuc2hvd1NlbGVjdGlvbkNoZWNrYm94P3dgPHRoIHN0eWxlPSJ3aWR0aDo0MnB4OyI+PC90aD5gOndgYH0KICAgICAgICAgICAgJHtELmZpbHRlcihMPT4hTC5oaWRkZW4pLm1hcChMPT57bGV0IGVlPVN0cmluZyhMLmtleSk7cmV0dXJuIEwuZmlsdGVyYWJsZT09PSExP3dgPHRoPjwvdGg+YDp3YDx0aD4KICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJGaWx0ZXIuLi4iIGRhdGEtY29sLWtleT0ke2VlfSAudmFsdWU9JHt0aGlzLmNvbHVtbkZpbHRlcnNbZWVdfHwiIn0KICAgICAgICAgICAgICAgICAgICBAaW5wdXQ9JHtEZT0+dGhpcy5zZXRDb2x1bW5GaWx0ZXIoZWUsRGUudGFyZ2V0LnZhbHVlKX0gLz4KICAgICAgICAgICAgICAgIDwvdGg+YH0pfQogICAgICAgICAgICAke3RoaXMuZGF0YUFjdGlvbnMmJnRoaXMuZGF0YUFjdGlvbnMubGVuZ3RoPjA/d2A8dGg+PC90aD5gOndgYH0KICAgICAgICAgIDwvdHI+YDp3YGB9CiAgICBgfV9fZmxvYXRpbmdSZXNpemVPYnNlcnZlcjtfX2Zsb2F0aW5nU2Nyb2xsSGFuZGxlcjtfX3Njcm9sbEFuY2VzdG9ycz1bXTtnZXQgX19mbG9hdGluZ0hlYWRlckVsKCl7cmV0dXJuIHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmZsb2F0aW5nSGVhZGVyIik/P251bGx9Z2V0IF9fcmVhbFRhYmxlRWwoKXtyZXR1cm4gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudGFibGVTY3JvbGwgPiB0YWJsZSIpPz9udWxsfWdldCBfX2Zsb2F0aW5nVGFibGVFbCgpe3JldHVybiB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5mbG9hdGluZ0hlYWRlciA+IHRhYmxlIik/P251bGx9X19jb2xsZWN0U2Nyb2xsQW5jZXN0b3JzKCl7bGV0IEQ9W10sTD10aGlzLGVlPXMoRGU9PkRlPT09ImF1dG8ifHxEZT09PSJzY3JvbGwifHxEZT09PSJvdmVybGF5Iiwic2Nyb2xsaXNoIik7Zm9yKDtMOyl7aWYoTCBpbnN0YW5jZW9mIEVsZW1lbnQpe2xldCBJZT1nZXRDb21wdXRlZFN0eWxlKEwpLEdlPWVlKEllLm92ZXJmbG93WSksdHQ9ZWUoSWUub3ZlcmZsb3dYKTsoR2V8fHR0KSYmRC5wdXNoKHt0YXJnZXQ6TCxzY3JvbGxzWTpHZSxzY3JvbGxzWDp0dH0pfWxldCBEZT1MLmFzc2lnbmVkU2xvdD9MLmFzc2lnbmVkU2xvdDpMLnBhcmVudE5vZGU7RGU/TD1EZTpMLmhvc3Q/TD1MLmhvc3Q6TD1udWxsfXJldHVybiBELnB1c2goe3RhcmdldDp3aW5kb3csc2Nyb2xsc1k6ITAsc2Nyb2xsc1g6ITB9KSxEfV9fZ2V0U3RpY2tDb250ZXh0KCl7bGV0IEQ9MCxMPTAsZWU9d2luZG93LmlubmVyV2lkdGg7Zm9yKGxldCBEZSBvZiB0aGlzLl9fc2Nyb2xsQW5jZXN0b3JzKXtpZihEZS50YXJnZXQ9PT13aW5kb3cpY29udGludWU7bGV0IEllPURlLnRhcmdldCxHZT1JZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0dD1nZXRDb21wdXRlZFN0eWxlKEllKTtpZihEZS5zY3JvbGxzWSl7bGV0IGF0PXBhcnNlRmxvYXQodHQuYm9yZGVyVG9wV2lkdGgpfHwwO0Q9TWF0aC5tYXgoRCxHZS50b3ArYXQpfWlmKERlLnNjcm9sbHNYKXtsZXQgYXQ9cGFyc2VGbG9hdCh0dC5ib3JkZXJMZWZ0V2lkdGgpfHwwLHh0PXBhcnNlRmxvYXQodHQuYm9yZGVyUmlnaHRXaWR0aCl8fDA7TD1NYXRoLm1heChMLEdlLmxlZnQrYXQpLGVlPU1hdGgubWluKGVlLEdlLnJpZ2h0LXh0KX19cmV0dXJue3RvcDpELGxlZnQ6TCxyaWdodDplZX19c2V0dXBGbG9hdGluZ0hlYWRlcigpe2lmKHRoaXMudGVhcmRvd25GbG9hdGluZ0hlYWRlcigpLHRoaXMuZml4ZWRIZWlnaHQmJiF0aGlzLnZpcnR1YWxpemVkKXJldHVybjtsZXQgRD10aGlzLl9fcmVhbFRhYmxlRWw7aWYoIUQpcmV0dXJuO3RoaXMuX19zY3JvbGxBbmNlc3RvcnM9dGhpcy5fX2NvbGxlY3RTY3JvbGxBbmNlc3RvcnMoKTtsZXQgTD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWJsZVNjcm9sbCIpO0wmJnRoaXMuX19zY3JvbGxBbmNlc3RvcnMudW5zaGlmdCh7dGFyZ2V0Okwsc2Nyb2xsc1k6dGhpcy5maXhlZEhlaWdodCxzY3JvbGxzWDohMH0pLHRoaXMuX19mbG9hdGluZ1Jlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuZml4ZWRIZWlnaHR8fHRoaXMuX19zeW5jRmxvYXRpbmdIZWFkZXIoKSx0aGlzLnZpcnR1YWxpemVkJiZ0aGlzLl9fY29tcHV0ZVZpcnR1YWxSYW5nZSgpfSksdGhpcy5fX2Zsb2F0aW5nUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShEKSx0aGlzLl9fZmxvYXRpbmdTY3JvbGxIYW5kbGVyPSgpPT57dGhpcy5maXhlZEhlaWdodHx8dGhpcy5fX3N5bmNGbG9hdGluZ0hlYWRlcigpLHRoaXMudmlydHVhbGl6ZWQmJnRoaXMuX19jb21wdXRlVmlydHVhbFJhbmdlKCl9O2ZvcihsZXQgZWUgb2YgdGhpcy5fX3Njcm9sbEFuY2VzdG9ycyllZS50YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9fZmxvYXRpbmdTY3JvbGxIYW5kbGVyLHtwYXNzaXZlOiEwfSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fX2Zsb2F0aW5nU2Nyb2xsSGFuZGxlcix7cGFzc2l2ZTohMH0pLHRoaXMuZml4ZWRIZWlnaHR8fHRoaXMuX19zeW5jRmxvYXRpbmdIZWFkZXIoKSx0aGlzLnZpcnR1YWxpemVkJiZ0aGlzLl9fY29tcHV0ZVZpcnR1YWxSYW5nZSgpfXRlYXJkb3duRmxvYXRpbmdIZWFkZXIoKXtpZih0aGlzLl9fZmxvYXRpbmdSZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMuX19mbG9hdGluZ1Jlc2l6ZU9ic2VydmVyPXZvaWQgMCx0aGlzLl9fZmxvYXRpbmdTY3JvbGxIYW5kbGVyKXtmb3IobGV0IEwgb2YgdGhpcy5fX3Njcm9sbEFuY2VzdG9ycylMLnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX19mbG9hdGluZ1Njcm9sbEhhbmRsZXIpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX19mbG9hdGluZ1Njcm9sbEhhbmRsZXIpLHRoaXMuX19mbG9hdGluZ1Njcm9sbEhhbmRsZXI9dm9pZCAwfXRoaXMuX19zY3JvbGxBbmNlc3RvcnM9W10sdGhpcy5fX2Zsb2F0aW5nQWN0aXZlPSExO2xldCBEPXRoaXMuX19mbG9hdGluZ0hlYWRlckVsO0QmJkQuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIil9X190cmFuc2ZlckZvY3VzVG9SZWFsSGVhZGVyKCl7bGV0IEQ9dGhpcy5fX2Zsb2F0aW5nSGVhZGVyRWw7aWYoIUQpcmV0dXJuO2xldCBMPXRoaXMuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudDtpZighTHx8IUQuY29udGFpbnMoTCkpcmV0dXJuO2xldCBlZT1MLmdldEF0dHJpYnV0ZSgiZGF0YS1jb2wta2V5Iik7aWYoIWVlKXJldHVybjtsZXQgRGU9TCxJZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYC50YWJsZVNjcm9sbCA+IHRhYmxlID4gdGhlYWQgaW5wdXRbZGF0YS1jb2wta2V5PSIke0NTUy5lc2NhcGUoZWUpfSJdYCk7aWYoIUllfHxJZT09PURlKXJldHVybjtsZXQgR2U9RGUuc2VsZWN0aW9uU3RhcnQsdHQ9RGUuc2VsZWN0aW9uRW5kLGF0PURlLnNlbGVjdGlvbkRpcmVjdGlvbjtJZS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pO3RyeXtHZSE9bnVsbCYmdHQhPW51bGwmJkllLnNldFNlbGVjdGlvblJhbmdlKEdlLHR0LGF0fHx2b2lkIDApfWNhdGNoe319X190cmFuc2ZlckZvY3VzVG9GbG9hdGluZ0hlYWRlcigpe2xldCBEPXRoaXMuX19mbG9hdGluZ0hlYWRlckVsO2lmKCFEfHwhdGhpcy5fX2Zsb2F0aW5nQWN0aXZlKXJldHVybjtsZXQgTD10aGlzLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ7aWYoIUwpcmV0dXJuO2xldCBlZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWJsZVNjcm9sbCA+IHRhYmxlID4gdGhlYWQiKTtpZighZWV8fCFlZS5jb250YWlucyhMKSlyZXR1cm47bGV0IERlPUwuZ2V0QXR0cmlidXRlKCJkYXRhLWNvbC1rZXkiKTtpZighRGUpcmV0dXJuO2xldCBJZT1MLEdlPUQucXVlcnlTZWxlY3RvcihgaW5wdXRbZGF0YS1jb2wta2V5PSIke0NTUy5lc2NhcGUoRGUpfSJdYCk7aWYoIUdlfHxHZT09PUllKXJldHVybjtsZXQgdHQ9SWUuc2VsZWN0aW9uU3RhcnQsYXQ9SWUuc2VsZWN0aW9uRW5kLHh0PUllLnNlbGVjdGlvbkRpcmVjdGlvbjtHZS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pO3RyeXt0dCE9bnVsbCYmYXQhPW51bGwmJkdlLnNldFNlbGVjdGlvblJhbmdlKHR0LGF0LHh0fHx2b2lkIDApfWNhdGNoe319X19jb21wdXRlVmlydHVhbFJhbmdlKCl7aWYoIXRoaXMudmlydHVhbGl6ZWQpcmV0dXJuO2xldCBMPSh0aGlzLl9sYXN0Vmlld0RhdGE/P1tdKS5sZW5ndGg7aWYoTD09PTApeyh0aGlzLl9fdmlydHVhbFJhbmdlLnN0YXJ0IT09MHx8dGhpcy5fX3ZpcnR1YWxSYW5nZS5lbmQhPT0wKSYmKHRoaXMuX192aXJ0dWFsUmFuZ2U9e3N0YXJ0OjAsZW5kOjB9KTtyZXR1cm59bGV0IGVlPXRoaXMuX19yZWFsVGFibGVFbDtpZighZWUpcmV0dXJuO2xldCBEZT1lZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxJZT0wLEdlPXdpbmRvdy5pbm5lckhlaWdodDtmb3IobGV0IFF0IG9mIHRoaXMuX19zY3JvbGxBbmNlc3RvcnMpe2lmKFF0LnRhcmdldD09PXdpbmRvd3x8IVF0LnNjcm9sbHNZKWNvbnRpbnVlO2xldCBpMj1RdC50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscWk9Z2V0Q29tcHV0ZWRTdHlsZShRdC50YXJnZXQpLGdpPXBhcnNlRmxvYXQocWkuYm9yZGVyVG9wV2lkdGgpfHwwLGUxPXBhcnNlRmxvYXQocWkuYm9yZGVyQm90dG9tV2lkdGgpfHwwO0llPU1hdGgubWF4KEllLGkyLnRvcCtnaSksR2U9TWF0aC5taW4oR2UsaTIuYm90dG9tLWUxKX1sZXQgdHQ9TWF0aC5tYXgoMSx0aGlzLl9fcm93SGVpZ2h0KSxhdD1lZS50SGVhZD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0Pz8wLHh0PURlLnRvcCthdCxnYT1NYXRoLm1heCgwLEllLXh0KSx3dD1NYXRoLm1heCgwLEdlLU1hdGgubWF4KEllLHh0KSksbnM9TWF0aC5mbG9vcihnYS90dCksd289TWF0aC5jZWlsKHd0L3R0KSsxLFVyPU1hdGgubWF4KDAsbnMtdGhpcy52aXJ0dWFsT3ZlcnNjYW4pLEhvPU1hdGgubWluKEwsbnMrd28rdGhpcy52aXJ0dWFsT3ZlcnNjYW4pOyhVciE9PXRoaXMuX192aXJ0dWFsUmFuZ2Uuc3RhcnR8fEhvIT09dGhpcy5fX3ZpcnR1YWxSYW5nZS5lbmQpJiYodGhpcy5fX3ZpcnR1YWxSYW5nZT17c3RhcnQ6VXIsZW5kOkhvfSl9X19tZWFzdXJlUm93SGVpZ2h0KCl7aWYoIXRoaXMudmlydHVhbGl6ZWR8fHRoaXMuX19yb3dIZWlnaHRNZWFzdXJlZClyZXR1cm47bGV0IEQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJ0Ym9keSIpO2lmKCFEKXJldHVybjtsZXQgTD1BcnJheS5mcm9tKEQucm93cykuZmluZChEZT0+RGUuaGFzQXR0cmlidXRlKCJkYXRhLXJvdy1pZHgiKSk7aWYoIUwpcmV0dXJuO2xldCBlZT1MLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtlZT4wJiYodGhpcy5fX3Jvd0hlaWdodD1lZSx0aGlzLl9fcm93SGVpZ2h0TWVhc3VyZWQ9ITApfV9fc3luY0Zsb2F0aW5nSGVhZGVyKCl7bGV0IEQ9dGhpcy5fX2Zsb2F0aW5nSGVhZGVyRWwsTD10aGlzLl9fcmVhbFRhYmxlRWw7aWYoIUR8fCFMKXJldHVybjtsZXQgZWU9TC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxEZT10aGlzLl9fZ2V0U3RpY2tDb250ZXh0KCksSWU9TC50SGVhZD8ucm93cyxHZT0wO2lmKEllKWZvcihsZXQgUXQ9MDtRdDxJZS5sZW5ndGg7UXQrKylHZSs9SWVbUXRdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtsZXQgdHQ9ZWUuYm90dG9tLURlLnRvcCxhdD1lZS50b3A8RGUudG9wJiZ0dD4wO2lmKGF0IT09dGhpcy5fX2Zsb2F0aW5nQWN0aXZlKXtpZihhdHx8dGhpcy5fX3RyYW5zZmVyRm9jdXNUb1JlYWxIZWFkZXIoKSx0aGlzLl9fZmxvYXRpbmdBY3RpdmU9YXQsRC5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLGF0KSwhYXQpe0Quc3R5bGUuaGVpZ2h0PSIiO2xldCBRdD10aGlzLl9fZmxvYXRpbmdUYWJsZUVsO1F0JiYoUXQuc3R5bGUudHJhbnNmb3JtPSIiKX1pZihhdCl7dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57dGhpcy5fX3N5bmNGbG9hdGluZ0hlYWRlcigpLHRoaXMuX190cmFuc2ZlckZvY3VzVG9GbG9hdGluZ0hlYWRlcigpfSk7cmV0dXJufX1pZighYXQpcmV0dXJuO2xldCB4dD10aGlzLl9fZmxvYXRpbmdUYWJsZUVsO2lmKCF4dClyZXR1cm47eHQuc3R5bGUudGFibGVMYXlvdXQ9TC5zdHlsZS50YWJsZUxheW91dHx8ImF1dG8iO2xldCBnYT14dC50SGVhZD8ucm93cztpZihJZSYmZ2EpZm9yKGxldCBRdD0wO1F0PEllLmxlbmd0aCYmUXQ8Z2EubGVuZ3RoO1F0Kyspe2xldCBpMj1JZVtRdF0uY2VsbHMscWk9Z2FbUXRdLmNlbGxzO2ZvcihsZXQgZ2k9MDtnaTxpMi5sZW5ndGgmJmdpPHFpLmxlbmd0aDtnaSsrKXtsZXQgZTE9aTJbZ2ldLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO3FpW2dpXS5zdHlsZS53aWR0aD1gJHtlMX1weGAscWlbZ2ldLnN0eWxlLm1pbldpZHRoPWAke2UxfXB4YCxxaVtnaV0uc3R5bGUubWF4V2lkdGg9YCR7ZTF9cHhgfX1sZXQgd3Q9TWF0aC5tYXgoZWUubGVmdCxEZS5sZWZ0KSxucz1NYXRoLm1pbihlZS5yaWdodCxEZS5yaWdodCksd289TWF0aC5tYXgoMCxucy13dCk7RC5zdHlsZS50b3A9YCR7RGUudG9wfXB4YCxELnN0eWxlLmxlZnQ9YCR7d3R9cHhgLEQuc3R5bGUud2lkdGg9YCR7d299cHhgO2xldCBVcj1NYXRoLm1pbihHZSx0dCksSG89R2UtVXI7RC5zdHlsZS5oZWlnaHQ9YCR7VXJ9cHhgLHh0LnN0eWxlLndpZHRoPWAke2VlLndpZHRofXB4YCx4dC5zdHlsZS5tYXJnaW5MZWZ0PWAke2VlLmxlZnQtd3R9cHhgLHh0LnN0eWxlLnRyYW5zZm9ybT1Ibz4wP2B0cmFuc2xhdGVZKC0ke0hvfXB4KWA6IiJ9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMudGVhcmRvd25GbG9hdGluZ0hlYWRlcigpLHRoaXMuX19mbGFzaENsZWFyVGltZXImJihjbGVhclRpbWVvdXQodGhpcy5fX2ZsYXNoQ2xlYXJUaW1lciksdGhpcy5fX2ZsYXNoQ2xlYXJUaW1lcj12b2lkIDApfWFzeW5jIGZpcnN0VXBkYXRlZCgpe313aWxsVXBkYXRlKEQpe2lmKEQuaGFzKCJkYXRhIikmJnRoaXMuc2VsZWN0ZWREYXRhUm93JiZ0aGlzLnJvd0tleSl7bGV0IGdhPXRoaXMuZ2V0Um93SWQodGhpcy5zZWxlY3RlZERhdGFSb3cpLHd0O2ZvcihsZXQgbnMgb2YgdGhpcy5kYXRhKWlmKHRoaXMuZ2V0Um93SWQobnMpPT09Z2Epe3d0PW5zO2JyZWFrfXd0P3d0IT09dGhpcy5zZWxlY3RlZERhdGFSb3cmJih0aGlzLnNlbGVjdGVkRGF0YVJvdz13dCk6dGhpcy5zZWxlY3RlZERhdGFSb3c9dm9pZCAwfWlmKHRoaXMuaGlnaGxpZ2h0VXBkYXRlcyE9PSJmbGFzaCIpeyh0aGlzLl9fcHJldlNuYXBzaG90fHx0aGlzLl9fZmxhc2hpbmdDZWxscy5zaXplPjApJiYodGhpcy5fX3ByZXZTbmFwc2hvdD12b2lkIDAsdGhpcy5fX2ZsYXNoaW5nQ2VsbHMuc2l6ZT4wJiYodGhpcy5fX2ZsYXNoaW5nQ2VsbHM9bmV3IE1hcCksdGhpcy5fX2ZsYXNoQ2xlYXJUaW1lciYmKGNsZWFyVGltZW91dCh0aGlzLl9fZmxhc2hDbGVhclRpbWVyKSx0aGlzLl9fZmxhc2hDbGVhclRpbWVyPXZvaWQgMCkpO3JldHVybn1pZighdGhpcy5yb3dLZXkpe3RoaXMuX19mbGFzaFdhcm5lZE5vUm93S2V5fHwodGhpcy5fX2ZsYXNoV2FybmVkTm9Sb3dLZXk9ITAsY29uc29sZS53YXJuKCdbZGVlcy10YWJsZV0gaGlnaGxpZ2h0VXBkYXRlcz0iZmxhc2giIHJlcXVpcmVzIGByb3dLZXlgIHRvIGJlIHNldC4gRmxhc2ggaXMgZGlzYWJsZWQuIFNldCB0aGUgcm93S2V5IHByb3BlcnR5L2F0dHJpYnV0ZSB0byBhIHN0YWJsZSBpZGVudGlmaWVyIG9uIHlvdXIgcm93IGRhdGEgKGUuZy4gYHJvd0tleT0iaWQiYCkuJykpO3JldHVybn1pZighRC5oYXMoImRhdGEiKSlyZXR1cm47bGV0IGVlPXRoaXMuX19nZXRFZmZlY3RpdmVDb2x1bW5zKCkuZmlsdGVyKGdhPT4hZ2EuaGlkZGVuKSxEZT1uZXcgTWFwKGVlLm1hcChnYT0+W1N0cmluZyhnYS5rZXkpLGdhXSkpLEllPW5ldyBNYXAsR2U9bmV3IE1hcDtmb3IobGV0IGdhIG9mIHRoaXMuZGF0YSl7bGV0IHd0PXRoaXMuZ2V0Um93SWQoZ2EpLG5zPW5ldyBNYXA7Zm9yKGxldCBVciBvZiBlZSlucy5zZXQoU3RyaW5nKFVyLmtleSksQzQoZ2EsVXIsdGhpcy5kaXNwbGF5RnVuY3Rpb24pKTtJZS5zZXQod3QsbnMpO2xldCB3bz10aGlzLl9fcHJldlNuYXBzaG90Py5nZXQod3QpO2lmKHdvKWZvcihsZXRbVXIsSG9db2YgbnMpe2xldCBRdD13by5nZXQoVXIpLGkyPURlLmdldChVcikscWk7aWYoaTI/LmZsYXNoQ29tcGFyZT9xaT1pMi5mbGFzaENvbXBhcmUoUXQsSG8pOkhvIT1udWxsJiZ0eXBlb2YgSG89PSJvYmplY3QiP3FpPSExOnFpPVF0IT09SG8scWkpe2lmKHRoaXMuX19lZGl0aW5nQ2VsbCYmdGhpcy5fX2VkaXRpbmdDZWxsLnJvd0lkPT09d3QmJnRoaXMuX19lZGl0aW5nQ2VsbC5jb2xLZXk9PT1Vciljb250aW51ZTtsZXQgZ2k9R2UuZ2V0KHd0KTtnaXx8KGdpPW5ldyBTZXQsR2Uuc2V0KHd0LGdpKSksZ2kuYWRkKFVyKX19fWxldCB0dD0hIXRoaXMuX19wcmV2U25hcHNob3Q7aWYodGhpcy5fX3ByZXZTbmFwc2hvdD1JZSwhdHR8fEdlLnNpemU9PT0wKXJldHVybjtsZXQgYXQ9Kyt0aGlzLl9fZmxhc2hUaWNrLHh0PW5ldyBNYXAodGhpcy5fX2ZsYXNoaW5nQ2VsbHMpO2ZvcihsZXRbZ2Esd3Rdb2YgR2Upe2xldCBucz1uZXcgTWFwKHh0LmdldChnYSk/P1tdKTtmb3IobGV0IHdvIG9mIHd0KW5zLnNldCh3byxhdCk7eHQuc2V0KGdhLG5zKX10aGlzLl9fZmxhc2hpbmdDZWxscz14dCx0aGlzLl9fZmxhc2hDbGVhclRpbWVyJiZjbGVhclRpbWVvdXQodGhpcy5fX2ZsYXNoQ2xlYXJUaW1lciksdGhpcy5fX2ZsYXNoQ2xlYXJUaW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy5fX2ZsYXNoaW5nQ2VsbHM9bmV3IE1hcCx0aGlzLl9fZmxhc2hDbGVhclRpbWVyPXZvaWQgMH0sTWF0aC5tYXgoMCx0aGlzLmhpZ2hsaWdodER1cmF0aW9uKSl9YXN5bmMgdXBkYXRlZChEKXtzdXBlci51cGRhdGVkKEQpO2xldCBMPXRoaXMuX19nZXRFZmZlY3RpdmVDb2x1bW5zKCksZWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJ0YWJsZSIpPz9udWxsLERlPXRoaXMuZ2V0QWN0aW9uc0ZvclR5cGUoImluUm93IikubGVuZ3RoO0QuaGFzKCJoaWdobGlnaHREdXJhdGlvbiIpJiZ0aGlzLnN0eWxlLnNldFByb3BlcnR5KCItLWRlZXMtdGFibGUtZmxhc2gtZHVyYXRpb24iLGAke3RoaXMuaGlnaGxpZ2h0RHVyYXRpb259bXNgKTtsZXQgSWU9ISFlZSYmKCF0aGlzLl9fY29sdW1uc1NpemVkRm9yfHx0aGlzLl9fY29sdW1uc1NpemVkRm9yLmVmZmVjdGl2ZUNvbHVtbnMhPT1MfHx0aGlzLl9fY29sdW1uc1NpemVkRm9yLnNob3dTZWxlY3Rpb25DaGVja2JveCE9PXRoaXMuc2hvd1NlbGVjdGlvbkNoZWNrYm94fHx0aGlzLl9fY29sdW1uc1NpemVkRm9yLmluUm93QWN0aW9uQ291bnQhPT1EZXx8dGhpcy5fX2NvbHVtbnNTaXplZEZvci50YWJsZSE9PWVlKTtlZSYmSWUmJih0aGlzLl9fY29sdW1uc1NpemVkRm9yPXtlZmZlY3RpdmVDb2x1bW5zOkwsc2hvd1NlbGVjdGlvbkNoZWNrYm94OnRoaXMuc2hvd1NlbGVjdGlvbkNoZWNrYm94LGluUm93QWN0aW9uQ291bnQ6RGUsdGFibGU6ZWV9LHRoaXMuZGV0ZXJtaW5lQ29sdW1uV2lkdGhzKCksdGhpcy5fX3Jvd0hlaWdodE1lYXN1cmVkPSExKSx0aGlzLnZpcnR1YWxpemVkJiYodGhpcy5fX21lYXN1cmVSb3dIZWlnaHQoKSx0aGlzLl9fY29tcHV0ZVZpcnR1YWxSYW5nZSgpKSwoRC5oYXMoImZpeGVkSGVpZ2h0Iil8fEQuaGFzKCJ2aXJ0dWFsaXplZCIpfHxELmhhcygiZGF0YSIpfHxELmhhcygiY29sdW1ucyIpfHwhdGhpcy5fX2Zsb2F0aW5nU2Nyb2xsSGFuZGxlcikmJigoIXRoaXMuZml4ZWRIZWlnaHR8fHRoaXMudmlydHVhbGl6ZWQpJiZ0aGlzLmRhdGEubGVuZ3RoPjA/dGhpcy5zZXR1cEZsb2F0aW5nSGVhZGVyKCk6dGhpcy50ZWFyZG93bkZsb2F0aW5nSGVhZGVyKCkpLCF0aGlzLmZpeGVkSGVpZ2h0JiZ0aGlzLmRhdGEubGVuZ3RoPjAmJih0aGlzLl9fZmxvYXRpbmdBY3RpdmV8fEllKSYmdGhpcy5fX3N5bmNGbG9hdGluZ0hlYWRlcigpLHRoaXMuc2VhcmNoYWJsZSYmKHRoaXMuZGF0YUFjdGlvbnMuZmluZCh0dD0+dHQudHlwZT8uaW5jbHVkZXMoImhlYWRlciIpJiZ0dC5uYW1lPT09IlNlYXJjaCIpfHwodGhpcy5kYXRhQWN0aW9ucy51bnNoaWZ0KHtuYW1lOiJTZWFyY2giLGljb25OYW1lOiJsdWNpZGU6U2VhcmNoIix0eXBlOlsiaGVhZGVyIl0sYWN0aW9uRnVuYzpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygib3BlbiBzZWFyY2giKSx0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnNlYXJjaEdyaWQiKS5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iKX0sImFjdGlvbkZ1bmMiKX0pLGNvbnNvbGUubG9nKHRoaXMuZGF0YUFjdGlvbnMpLHRoaXMucmVxdWVzdFVwZGF0ZSgpKSx0aGlzLndpcmVTZWFyY2hJbnB1dHMoKSl9X19kZWJvdW5jZVRpbWVyO2RlYm91bmNlUnVuKEQsTD0yMDApe3RoaXMuX19kZWJvdW5jZVRpbWVyJiZjbGVhclRpbWVvdXQodGhpcy5fX2RlYm91bmNlVGltZXIpLHRoaXMuX19kZWJvdW5jZVRpbWVyPXNldFRpbWVvdXQoRCxMKX13aXJlU2VhcmNoSW5wdXRzKCl7bGV0IEQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuc2VhcmNoR3JpZCBkZWVzLWlucHV0LXRleHQiKSxMPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnNlYXJjaEdyaWQgZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZSIpO0QmJiF0aGlzLl9fc2VhcmNoVGV4dFN1YiYmKHRoaXMuX19zZWFyY2hUZXh0U3ViPUQuY2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoZWU9PntsZXQgRGU9ZWU/LnZhbHVlPz8iIjt0aGlzLmRlYm91bmNlUnVuKCgpPT57dGhpcy5zZWFyY2hNb2RlPT09InNlcnZlciI/dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VhcmNoUmVxdWVzdCIse2RldGFpbDp7cXVlcnk6RGUsbW9kZToic2VydmVyIn0sYnViYmxlczohMH0pKTp0aGlzLnNldEZpbHRlclRleHQoRGUpfSl9KSksTCYmIXRoaXMuX19zZWFyY2hNb2RlU3ViJiYodGhpcy5fX3NlYXJjaE1vZGVTdWI9TC5jaGFuZ2VTdWJqZWN0LnN1YnNjcmliZShlZT0+e2xldCBEZT1lZT8uc2VsZWN0ZWRPcHRpb258fGVlPy52YWx1ZXx8InRhYmxlIjtpZihEZT09PSJ0YWJsZSJ8fERlPT09ImRhdGEifHxEZT09PSJzZXJ2ZXIiKXt0aGlzLnNlYXJjaE1vZGU9RGU7bGV0IEllPUQ/LnZhbHVlPz8iIjt0aGlzLmRlYm91bmNlUnVuKCgpPT57dGhpcy5zZWFyY2hNb2RlPT09InNlcnZlciI/dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VhcmNoUmVxdWVzdCIse2RldGFpbDp7cXVlcnk6SWUsbW9kZToic2VydmVyIn0sYnViYmxlczohMH0pKTp0aGlzLnNldEZpbHRlclRleHQoSWUpfSl9fSkpfWFzeW5jIGRldGVybWluZUNvbHVtbldpZHRocygpe2F3YWl0KGF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlKS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApO2xldCBMPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJ0YWJsZSIpO2lmKCFMKXJldHVybjtsZXQgZWU9TC5yb3dzWzBdLmNlbGxzLERlPXMoYXN5bmMoSWUsR2U9ITEpPT57bGV0IHR0PWN0LmRlZmVyKCksYXQ9ZWVbSWVdLHh0PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGF0KS53aWR0aDtpZihhdC50ZXh0Q29udGVudC5pbmNsdWRlcygiQWN0aW9ucyIpKXtsZXQgZ2E9dGhpcy5kYXRhQWN0aW9ucy5maWx0ZXIod3Q9Pnd0LnR5cGU/LmluY2x1ZGVzKCJpblJvdyIpKS5sZW5ndGgqMzY7YXQuc3R5bGUud2lkdGg9YCR7TWF0aC5tYXgoZ2EsNjgpfXB4YH1lbHNlIGF0LnN0eWxlLndpZHRoPXh0O0dlJiYocmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dHQucmVzb2x2ZSgpfSksYXdhaXQgdHQucHJvbWlzZSl9LCJoYW5kbGVDb2x1bW5CeUluZGV4Iik7ZWVbZWUubGVuZ3RoLTFdLnRleHRDb250ZW50LmluY2x1ZGVzKCJBY3Rpb25zIikmJmF3YWl0IERlKGVlLmxlbmd0aC0xLCEwKTtmb3IobGV0IEllPTA7SWU8ZWUubGVuZ3RoO0llKyspZWVbSWVdLnRleHRDb250ZW50LmluY2x1ZGVzKCJBY3Rpb25zIil8fGF3YWl0IERlKEllKTtMLnN0eWxlLnRhYmxlTGF5b3V0PSJmaXhlZCJ9Z2V0U29ydERlc2NyaXB0b3IoRCl7cmV0dXJuIHRoaXMuc29ydEJ5LmZpbmQoTD0+TC5rZXk9PT1EKX1nZXRTb3J0UHJpb3JpdHkoRCl7cmV0dXJuIHRoaXMuc29ydEJ5LmZpbmRJbmRleChMPT5MLmtleT09PUQpfXNldFNvcnQoRCxMKXt0aGlzLnNvcnRCeT1be2tleTpELGRpcjpMfV0sdGhpcy5lbWl0U29ydENoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWFkZFNvcnRBdChELEwsZWUpe2xldCBEZT10aGlzLnNvcnRCeS5maWx0ZXIoR2U9PkdlLmtleSE9PUQpLEllPU1hdGgubWF4KDAsTWF0aC5taW4oTCxEZS5sZW5ndGgpKTtEZS5zcGxpY2UoSWUsMCx7a2V5OkQsZGlyOmVlfSksdGhpcy5zb3J0Qnk9RGUsdGhpcy5lbWl0U29ydENoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWFwcGVuZFNvcnQoRCxMKXtsZXQgZWU9dGhpcy5zb3J0QnkuZmlsdGVyKERlPT5EZS5rZXkhPT1EKTtlZS5wdXNoKHtrZXk6RCxkaXI6TH0pLHRoaXMuc29ydEJ5PWVlLHRoaXMuZW1pdFNvcnRDaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1yZW1vdmVTb3J0KEQpe3RoaXMuc29ydEJ5LnNvbWUoTD0+TC5rZXk9PT1EKSYmKHRoaXMuc29ydEJ5PXRoaXMuc29ydEJ5LmZpbHRlcihMPT5MLmtleSE9PUQpLHRoaXMuZW1pdFNvcnRDaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSl9Y2xlYXJTb3J0cygpe3RoaXMuc29ydEJ5Lmxlbmd0aCE9PTAmJih0aGlzLnNvcnRCeT1bXSx0aGlzLmVtaXRTb3J0Q2hhbmdlKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCkpfWVtaXRTb3J0Q2hhbmdlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic29ydENoYW5nZSIse2RldGFpbDp7c29ydEJ5OnRoaXMuc29ydEJ5Lm1hcChEPT4oey4uLkR9KSl9LGJ1YmJsZXM6ITB9KSl9YXN5bmMgaGFuZGxlSGVhZGVyQ2xpY2soRCxMLGVlKXtpZihELnNoaWZ0S2V5KXt0aGlzLmhhbmRsZUhlYWRlclNoaWZ0Q2xpY2soTCk7cmV0dXJufWF3YWl0IHRoaXMuY29uZmlybVJlcGxhY2VDYXNjYWRlKEwpJiZ0aGlzLmN5Y2xlU2luZ2xlU29ydChMKX1jeWNsZVNpbmdsZVNvcnQoRCl7bGV0IEw9U3RyaW5nKEQua2V5KSxlZT10aGlzLnNvcnRCeS5sZW5ndGg9PT0xJiZ0aGlzLnNvcnRCeVswXS5rZXk9PT1MP3RoaXMuc29ydEJ5WzBdLmRpcjpudWxsO2VlPT09ImFzYyI/dGhpcy5zZXRTb3J0KEwsImRlc2MiKTplZT09PSJkZXNjIj90aGlzLmNsZWFyU29ydHMoKTp0aGlzLnNldFNvcnQoTCwiYXNjIil9aGFuZGxlSGVhZGVyU2hpZnRDbGljayhEKXtsZXQgTD1TdHJpbmcoRC5rZXkpLGVlPXRoaXMuZ2V0U29ydERlc2NyaXB0b3IoTCk7ZWU/ZWUuZGlyPT09ImFzYyI/KHRoaXMuc29ydEJ5PXRoaXMuc29ydEJ5Lm1hcChEZT0+RGUua2V5PT09TD97a2V5OkwsZGlyOiJkZXNjIn06RGUpLHRoaXMuZW1pdFNvcnRDaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSk6dGhpcy5yZW1vdmVTb3J0KEwpOnRoaXMuYXBwZW5kU29ydChMLCJhc2MiKX1jb25maXJtUmVwbGFjZUNhc2NhZGUoRCl7cmV0dXJuIHRoaXMuc29ydEJ5Lmxlbmd0aDw9MT9Qcm9taXNlLnJlc29sdmUoITApOm5ldyBQcm9taXNlKEw9PntsZXQgZWU9ITEsRGU9cyhHZT0+e2VlfHwoZWU9ITAsTChHZSkpfSwic2V0dGxlIiksSWU9dGhpcy5zb3J0QnkubWFwKChHZSx0dCk9PntsZXQgeHQ9dGhpcy5fbG9va3VwQ29sdW1uQnlLZXk/LihHZS5rZXkpPy5oZWFkZXI/P0dlLmtleTtyZXR1cm4gd2A8bGk+JHt0dCsxfS4gJHt4dH0gJHtHZS5kaXI9PT0iYXNjIj8iXHUyNUIyIjoiXHUyNUJDIn08L2xpPmB9KTtNYS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJSZXBsYWNlIG11bHRpLWNvbHVtbiBzb3J0PyIsd2lkdGg6InNtYWxsIixzaG93Q2xvc2VCdXR0b246ITAsY29udGVudDp3YAogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzcHg7IGxpbmUtaGVpZ2h0OjEuNTU7Ij4KICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbjowIDAgOHB4OyI+CiAgICAgICAgICAgICAgWW91IGN1cnJlbnRseSBoYXZlIGEgJHt0aGlzLnNvcnRCeS5sZW5ndGh9LWNvbHVtbiBzb3J0IGFjdGl2ZToKICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbjowIDAgMTJweDsgcGFkZGluZy1sZWZ0OjE4cHg7Ij4ke0llfTwvdWw+CiAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW46MDsiPgogICAgICAgICAgICAgIENvbnRpbnVpbmcgd2lsbCBkaXNjYXJkIHRoZSBjYXNjYWRlIGFuZCByZXBsYWNlIGl0IHdpdGggYSBzaW5nbGUgc29ydCBvbgogICAgICAgICAgICAgIDxzdHJvbmc+JHtELmhlYWRlcj8/U3RyaW5nKEQua2V5KX08L3N0cm9uZz4uCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGljb25OYW1lOiJsdWNpZGU6eCIsYWN0aW9uOnMoYXN5bmMgR2U9PihEZSghMSksYXdhaXQgR2UuZGVzdHJveSgpLG51bGwpLCJhY3Rpb24iKX0se25hbWU6IlJlcGxhY2UiLGljb25OYW1lOiJsdWNpZGU6Y2hlY2siLGFjdGlvbjpzKGFzeW5jIEdlPT4oRGUoITApLGF3YWl0IEdlLmRlc3Ryb3koKSxudWxsKSwiYWN0aW9uIil9XX0pfSl9X2xvb2t1cENvbHVtbkJ5S2V5KEQpe3JldHVybiB0aGlzLl9fZ2V0RWZmZWN0aXZlQ29sdW1ucygpLmZpbmQoZWU9PlN0cmluZyhlZS5rZXkpPT09RCl9b3BlbkhlYWRlckNvbnRleHRNZW51KEQsTCxlZSl7bGV0IERlPXRoaXMuYnVpbGRIZWFkZXJNZW51SXRlbXMoTCxlZSk7dGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoRCxEZSl9YnVpbGRIZWFkZXJNZW51SXRlbXMoRCxMKXtsZXQgZWU9U3RyaW5nKEQua2V5KSxEZT10aGlzLmdldFNvcnREZXNjcmlwdG9yKGVlKSxJZT10aGlzLnNvcnRCeS5sZW5ndGgsR2U9TC5maWx0ZXIoeHQ9Pnh0LnNvcnRhYmxlIT09ITEpLmxlbmd0aCx0dD1NYXRoLm1pbihNYXRoLm1heChJZSsoRGU/MDoxKSwxKSxNYXRoLm1heChHZSwxKSksYXQ9W107YXQucHVzaCh7bmFtZToiU29ydCBBc2NlbmRpbmciLGljb25OYW1lOkllPT09MSYmRGU/LmRpcj09PSJhc2MiPyJsdWNpZGU6Y2hlY2siOiJsdWNpZGU6YXJyb3dVcCIsYWN0aW9uOnMoYXN5bmMoKT0+KGF3YWl0IHRoaXMuY29uZmlybVJlcGxhY2VDYXNjYWRlKEQpJiZ0aGlzLnNldFNvcnQoZWUsImFzYyIpLG51bGwpLCJhY3Rpb24iKX0pLGF0LnB1c2goe25hbWU6IlNvcnQgRGVzY2VuZGluZyIsaWNvbk5hbWU6SWU9PT0xJiZEZT8uZGlyPT09ImRlc2MiPyJsdWNpZGU6Y2hlY2siOiJsdWNpZGU6YXJyb3dEb3duIixhY3Rpb246cyhhc3luYygpPT4oYXdhaXQgdGhpcy5jb25maXJtUmVwbGFjZUNhc2NhZGUoRCkmJnRoaXMuc2V0U29ydChlZSwiZGVzYyIpLG51bGwpLCJhY3Rpb24iKX0pLGF0LnB1c2goe2RpdmlkZXI6ITB9KTtmb3IobGV0IHh0PTE7eHQ8PXR0O3h0Kyspe2xldCBnYT1YSWEoeHQpLHd0PURlJiZ0aGlzLmdldFNvcnRQcmlvcml0eShlZSk9PT14dC0xO2F0LnB1c2goe25hbWU6YFNldCBhcyAke2dhfSBzb3J0YCxpY29uTmFtZTp3dD8ibHVjaWRlOmNoZWNrIjoibHVjaWRlOmxpc3RPcmRlcmVkIixzdWJtZW51Olt7bmFtZToiQXNjZW5kaW5nIixpY29uTmFtZToibHVjaWRlOmFycm93VXAiLGFjdGlvbjpzKGFzeW5jKCk9Pih0aGlzLmFkZFNvcnRBdChlZSx4dC0xLCJhc2MiKSxudWxsKSwiYWN0aW9uIil9LHtuYW1lOiJEZXNjZW5kaW5nIixpY29uTmFtZToibHVjaWRlOmFycm93RG93biIsYWN0aW9uOnMoYXN5bmMoKT0+KHRoaXMuYWRkU29ydEF0KGVlLHh0LTEsImRlc2MiKSxudWxsKSwiYWN0aW9uIil9XX0pfXJldHVybiBhdC5wdXNoKHtkaXZpZGVyOiEwfSksYXQucHVzaCh7bmFtZToiQXBwZW5kIHRvIHNvcnQiLGljb25OYW1lOiJsdWNpZGU6cGx1cyIsc3VibWVudTpbe25hbWU6IkFzY2VuZGluZyIsaWNvbk5hbWU6Imx1Y2lkZTphcnJvd1VwIixhY3Rpb246cyhhc3luYygpPT4odGhpcy5hcHBlbmRTb3J0KGVlLCJhc2MiKSxudWxsKSwiYWN0aW9uIil9LHtuYW1lOiJEZXNjZW5kaW5nIixpY29uTmFtZToibHVjaWRlOmFycm93RG93biIsYWN0aW9uOnMoYXN5bmMoKT0+KHRoaXMuYXBwZW5kU29ydChlZSwiZGVzYyIpLG51bGwpLCJhY3Rpb24iKX1dfSksRGUmJihhdC5wdXNoKHtkaXZpZGVyOiEwfSksYXQucHVzaCh7bmFtZToiUmVtb3ZlIGZyb20gc29ydCIsaWNvbk5hbWU6Imx1Y2lkZTptaW51cyIsYWN0aW9uOnMoYXN5bmMoKT0+KHRoaXMucmVtb3ZlU29ydChlZSksbnVsbCksImFjdGlvbiIpfSkpLEllPjAmJihEZXx8YXQucHVzaCh7ZGl2aWRlcjohMH0pLGF0LnB1c2goe25hbWU6IkNsZWFyIGFsbCBzb3J0cyIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaCIsYWN0aW9uOnMoYXN5bmMoKT0+KHRoaXMuY2xlYXJTb3J0cygpLG51bGwpLCJhY3Rpb24iKX0pKSxhdC5wdXNoKHtkaXZpZGVyOiEwfSksYXQucHVzaCh7bmFtZTp0aGlzLnNob3dDb2x1bW5GaWx0ZXJzPyJIaWRlIGNvbHVtbiBmaWx0ZXJzIjoiU2hvdyBjb2x1bW4gZmlsdGVycyIsaWNvbk5hbWU6dGhpcy5zaG93Q29sdW1uRmlsdGVycz8ibHVjaWRlOmZpbHRlclgiOiJsdWNpZGU6ZmlsdGVyIixhY3Rpb246cyhhc3luYygpPT4odGhpcy5zaG93Q29sdW1uRmlsdGVycz0hdGhpcy5zaG93Q29sdW1uRmlsdGVycyx0aGlzLnJlcXVlc3RVcGRhdGUoKSxudWxsKSwiYWN0aW9uIil9KSxhdH1nZXRBcmlhU29ydChEKXtsZXQgTD10aGlzLnNvcnRCeVswXTtyZXR1cm4hTHx8TC5rZXkhPT1TdHJpbmcoRC5rZXkpPyJub25lIjpMLmRpcj09PSJhc2MiPyJhc2NlbmRpbmciOiJkZXNjZW5kaW5nIn1yZW5kZXJTb3J0SW5kaWNhdG9yKEQpe2xldCBMPXRoaXMuZ2V0U29ydFByaW9yaXR5KFN0cmluZyhELmtleSkpO2lmKEw8MClyZXR1cm4gd2BgO2xldCBEZT10aGlzLnNvcnRCeVtMXS5kaXI9PT0iYXNjIj8iXHUyNUIyIjoiXHUyNUJDIjtyZXR1cm4gdGhpcy5zb3J0QnkubGVuZ3RoPT09MT93YDxzcGFuIGNsYXNzPSJzb3J0QXJyb3ciPiR7RGV9PC9zcGFuPmA6d2A8c3BhbiBjbGFzcz0ic29ydEFycm93Ij4ke0RlfTwvc3Bhbj48c3BhbiBjbGFzcz0ic29ydEJhZGdlIj4ke0wrMX08L3NwYW4+YH1zZXRGaWx0ZXJUZXh0KEQpe2xldCBMPXRoaXMuZmlsdGVyVGV4dDt0aGlzLmZpbHRlclRleHQ9RD8/IiIsTCE9PXRoaXMuZmlsdGVyVGV4dCYmKHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZpbHRlckNoYW5nZSIse2RldGFpbDp7dGV4dDp0aGlzLmZpbHRlclRleHQsY29sdW1uczp7Li4udGhpcy5jb2x1bW5GaWx0ZXJzfX0sYnViYmxlczohMH0pKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSl9c2V0Q29sdW1uRmlsdGVyKEQsTCl7dGhpcy5jb2x1bW5GaWx0ZXJzPXsuLi50aGlzLmNvbHVtbkZpbHRlcnMsW0RdOkx9LHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZpbHRlckNoYW5nZSIse2RldGFpbDp7dGV4dDp0aGlzLmZpbHRlclRleHQsY29sdW1uczp7Li4udGhpcy5jb2x1bW5GaWx0ZXJzfX0sYnViYmxlczohMH0pKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1nZXRSb3dJZChEKXtpZih0aGlzLnJvd0tleSlyZXR1cm4gdHlwZW9mIHRoaXMucm93S2V5PT0iZnVuY3Rpb24iP3RoaXMucm93S2V5KEQpOlN0cmluZyhEW3RoaXMucm93S2V5XSk7bGV0IEw9RDtyZXR1cm4gdGhpcy5fcm93SWRNYXAuaGFzKEwpfHx0aGlzLl9yb3dJZE1hcC5zZXQoTCxTdHJpbmcoKyt0aGlzLl9yb3dJZENvdW50ZXIpKSx0aGlzLl9yb3dJZE1hcC5nZXQoTCl9aXNSb3dTZWxlY3RlZChEKXtyZXR1cm4gdGhpcy5zZWxlY3RlZElkcy5oYXModGhpcy5nZXRSb3dJZChEKSl9dG9nZ2xlUm93U2VsZWN0ZWQoRCl7bGV0IEw9dGhpcy5nZXRSb3dJZChEKTt0aGlzLnNlbGVjdGlvbk1vZGU9PT0ic2luZ2xlIj8odGhpcy5zZWxlY3RlZElkcy5jbGVhcigpLHRoaXMuc2VsZWN0ZWRJZHMuYWRkKEwpKTp0aGlzLnNlbGVjdGlvbk1vZGU9PT0ibXVsdGkiJiYodGhpcy5zZWxlY3RlZElkcy5oYXMoTCk/dGhpcy5zZWxlY3RlZElkcy5kZWxldGUoTCk6dGhpcy5zZWxlY3RlZElkcy5hZGQoTCkpLHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfV9fcmVzb2x2ZVJvdyhEKXtsZXQgTD1ELmNvbXBvc2VkUGF0aD8uKCl8fFtdLGVlPW51bGw7Zm9yKGxldCB0dCBvZiBMKXtsZXQgYXQ9dHQ7aWYoYXQ/LnRhZ05hbWU9PT0iVFIiJiZhdC5oYXNBdHRyaWJ1dGUoImRhdGEtcm93LWlkeCIpKXtlZT1hdDticmVha319aWYoIWVlKXJldHVybiBudWxsO2xldCBEZT1OdW1iZXIoZWUuZ2V0QXR0cmlidXRlKCJkYXRhLXJvdy1pZHgiKSksR2U9KHRoaXMuX2xhc3RWaWV3RGF0YT8/W10pW0RlXTtyZXR1cm4gR2U/e2l0ZW06R2Uscm93SWR4OkRlfTpudWxsfV9fcmVzb2x2ZUNlbGwoRCl7bGV0IEw9dGhpcy5fX3Jlc29sdmVSb3coRCk7aWYoIUwpcmV0dXJuIG51bGw7bGV0IGVlPUQuY29tcG9zZWRQYXRoPy4oKXx8W10sRGU9bnVsbDtmb3IobGV0IGF0IG9mIGVlKXtsZXQgeHQ9YXQ7aWYoeHQ/LnRhZ05hbWU9PT0iVEQiJiZ4dC5oYXNBdHRyaWJ1dGUoImRhdGEtY29sLWtleSIpKXtEZT14dDticmVha319aWYoIURlKXJldHVybiBudWxsO2xldCBJZT1EZS5nZXRBdHRyaWJ1dGUoImRhdGEtY29sLWtleSIpLHR0PXRoaXMuX19nZXRFZmZlY3RpdmVDb2x1bW5zKCkuZmluZChhdD0+U3RyaW5nKGF0LmtleSk9PT1JZSk7cmV0dXJuIHR0P3tpdGVtOkwuaXRlbSxyb3dJZHg6TC5yb3dJZHgsY29sOnR0fTpudWxsfV9faXNJbkFjdGlvbnNDb2woRCl7bGV0IEw9RC5jb21wb3NlZFBhdGg/LigpfHxbXTtmb3IobGV0IGVlIG9mIEwpaWYoZWU/LmNsYXNzTGlzdD8uY29udGFpbnMoImFjdGlvbnNDb2wiKSlyZXR1cm4hMDtyZXR1cm4hMX1fX2lzSW5FZGl0b3IoRCl7bGV0IEw9RC5jb21wb3NlZFBhdGg/LigpfHxbXTtmb3IobGV0IGVlIG9mIEwpe2xldCBEZT1lZSxJZT1EZT8udGFnTmFtZTtpZihJZT09PSJJTlBVVCJ8fEllPT09IlRFWFRBUkVBInx8RGU/LmlzQ29udGVudEVkaXRhYmxlfHxJZSYmSWUuc3RhcnRzV2l0aCgiREVFUy1JTlBVVC0iKSlyZXR1cm4hMH1yZXR1cm4hMX1fX29uVGJvZHlDbGljaz1zKEQ9PntpZih0aGlzLl9faXNJbkVkaXRvcihEKXx8dGhpcy5fX2lzSW5BY3Rpb25zQ29sKEQpKXJldHVybjtsZXQgTD10aGlzLl9fcmVzb2x2ZUNlbGwoRCk7aWYoIUwpcmV0dXJuO2xldCBlZT10aGlzLl9sYXN0Vmlld0RhdGE/P1tdOyhMLmNvbC5lZGl0YWJsZXx8TC5jb2wuZWRpdG9yKSYmKHRoaXMuX19mb2N1c2VkQ2VsbD17cm93SWQ6dGhpcy5nZXRSb3dJZChMLml0ZW0pLGNvbEtleTpTdHJpbmcoTC5jb2wua2V5KX0pLHRoaXMuaGFuZGxlUm93Q2xpY2soRCxMLml0ZW0sTC5yb3dJZHgsZWUpfSwiX19vblRib2R5Q2xpY2siKTtfX29uVGJvZHlEYmxjbGljaz1zKEQ9PntpZih0aGlzLl9faXNJbkVkaXRvcihEKXx8dGhpcy5fX2lzSW5BY3Rpb25zQ29sKEQpKXJldHVybjtsZXQgTD10aGlzLl9fcmVzb2x2ZUNlbGwoRCk7aWYoIUwpcmV0dXJuO2lmKCEhKEwuY29sLmVkaXRhYmxlfHxMLmNvbC5lZGl0b3IpKXtELnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuc3RhcnRFZGl0aW5nKEwuaXRlbSxMLmNvbCk7cmV0dXJufWxldCBEZT10aGlzLmRhdGFBY3Rpb25zLmZpbmQoSWU9PkllLnR5cGU/LmluY2x1ZGVzKCJkb3VibGVDbGljayIpKTtEZSYmRGUuYWN0aW9uRnVuYyh7aXRlbTpMLml0ZW0sdGFibGU6dGhpc30pfSwiX19vblRib2R5RGJsY2xpY2siKTtfX29uVGJvZHlNb3VzZWRvd249cyhEPT57RC5zaGlmdEtleSYmdGhpcy5zZWxlY3Rpb25Nb2RlIT09InNpbmdsZSImJkQucHJldmVudERlZmF1bHQoKX0sIl9fb25UYm9keU1vdXNlZG93biIpO19fb25UYm9keUNvbnRleHRtZW51PXMoRD0+e2lmKHRoaXMuX19pc0luQWN0aW9uc0NvbChEKSlyZXR1cm47bGV0IEw9dGhpcy5fX3Jlc29sdmVSb3coRCk7aWYoIUwpcmV0dXJuO2xldCBlZT1MLml0ZW07dGhpcy5pc1Jvd1NlbGVjdGVkKGVlKXx8KHRoaXMuc2VsZWN0ZWREYXRhUm93PWVlLHRoaXMuc2VsZWN0ZWRJZHMuY2xlYXIoKSx0aGlzLnNlbGVjdGVkSWRzLmFkZCh0aGlzLmdldFJvd0lkKGVlKSksdGhpcy5fX3NlbGVjdGlvbkFuY2hvcklkPXRoaXMuZ2V0Um93SWQoZWUpLHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpKTtsZXQgRGU9dGhpcy5nZXRBY3Rpb25zRm9yVHlwZSgiY29udGV4dG1lbnUiKS5tYXAoR2U9Pih7bmFtZTpHZS5uYW1lLGljb25OYW1lOkdlLmljb25OYW1lLGFjdGlvbjpzKGFzeW5jKCk9Pihhd2FpdCBHZS5hY3Rpb25GdW5jKHtpdGVtOmVlLHRhYmxlOnRoaXN9KSxudWxsKSwiYWN0aW9uIil9KSksSWU9W3tuYW1lOnRoaXMuc2VsZWN0ZWRJZHMuc2l6ZT4xP2BDb3B5ICR7dGhpcy5zZWxlY3RlZElkcy5zaXplfSByb3dzIGFzIEpTT05gOiJDb3B5IHJvdyBhcyBKU09OIixpY29uTmFtZToibHVjaWRlOkNvcHkiLGFjdGlvbjpzKGFzeW5jKCk9Pih0aGlzLmNvcHlTZWxlY3Rpb25Bc0pzb24oZWUpLG51bGwpLCJhY3Rpb24iKX1dO3RhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKEQsWy4uLkRlLC4uLkllXSl9LCJfX29uVGJvZHlDb250ZXh0bWVudSIpO19fb25UYm9keURyYWdlbnRlcj1zKEQ9PntpZihELnByZXZlbnREZWZhdWx0KCksRC5zdG9wUHJvcGFnYXRpb24oKSwhdGhpcy5fX3Jlc29sdmVSb3coRCkpcmV0dXJuO2xldCBlZT0oRC5jb21wb3NlZFBhdGg/LigpfHxbXSkuZmluZChEZT0+RGU/LnRhZ05hbWU9PT0iVFIiKTtlZSYmc2V0VGltZW91dCgoKT0+ZWUuY2xhc3NMaXN0LmFkZCgiaGFzQXR0YWNobWVudCIpLDApfSwiX19vblRib2R5RHJhZ2VudGVyIik7X19vblRib2R5RHJhZ2xlYXZlPXMoRD0+e0QucHJldmVudERlZmF1bHQoKSxELnN0b3BQcm9wYWdhdGlvbigpO2xldCBMPShELmNvbXBvc2VkUGF0aD8uKCl8fFtdKS5maW5kKGVlPT5lZT8udGFnTmFtZT09PSJUUiIpO0wmJkwuY2xhc3NMaXN0LnJlbW92ZSgiaGFzQXR0YWNobWVudCIpfSwiX19vblRib2R5RHJhZ2xlYXZlIik7X19vblRib2R5RHJhZ292ZXI9cyhEPT57RC5wcmV2ZW50RGVmYXVsdCgpfSwiX19vblRib2R5RHJhZ292ZXIiKTtfX29uVGJvZHlEcm9wPXMoYXN5bmMgRD0+e0QucHJldmVudERlZmF1bHQoKTtsZXQgTD10aGlzLl9fcmVzb2x2ZVJvdyhEKTtpZighTClyZXR1cm47bGV0IGVlPUwuaXRlbSxEZT1bXTtmb3IobGV0IEdlIG9mIEFycmF5LmZyb20oRC5kYXRhVHJhbnNmZXIuZmlsZXMpKXRoaXMuZmlsZXMucHVzaChHZSksRGUucHVzaChHZSksdGhpcy5yZXF1ZXN0VXBkYXRlKCk7bGV0IEllPXRoaXMuZmlsZVdlYWtNYXAuZ2V0KGVlKTtJZT9JZS5wdXNoKC4uLkRlKTp0aGlzLmZpbGVXZWFrTWFwLnNldChlZSxEZSl9LCJfX29uVGJvZHlEcm9wIik7aGFuZGxlUm93Q2xpY2soRCxMLGVlLERlKXtsZXQgSWU9dGhpcy5nZXRSb3dJZChMKTtpZih0aGlzLnNlbGVjdGlvbk1vZGU9PT0ic2luZ2xlIil7dGhpcy5zZWxlY3RlZERhdGFSb3c9TCx0aGlzLnNlbGVjdGVkSWRzLmNsZWFyKCksdGhpcy5zZWxlY3RlZElkcy5hZGQoSWUpLHRoaXMuX19zZWxlY3Rpb25BbmNob3JJZD1JZSx0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKTtyZXR1cm59bGV0IEdlPUQubWV0YUtleXx8RC5jdHJsS2V5O2lmKEQuc2hpZnRLZXkmJnRoaXMuX19zZWxlY3Rpb25BbmNob3JJZCE9PXZvaWQgMCl7d2luZG93LmdldFNlbGVjdGlvbj8uKCk/LnJlbW92ZUFsbFJhbmdlcygpO2xldCBhdD1EZS5maW5kSW5kZXgoeHQ9PnRoaXMuZ2V0Um93SWQoeHQpPT09dGhpcy5fX3NlbGVjdGlvbkFuY2hvcklkKTtpZihhdD49MCl7bGV0W3h0LGdhXT1hdDw9ZWU/W2F0LGVlXTpbZWUsYXRdO3RoaXMuc2VsZWN0ZWRJZHMuY2xlYXIoKTtmb3IobGV0IHd0PXh0O3d0PD1nYTt3dCsrKXRoaXMuc2VsZWN0ZWRJZHMuYWRkKHRoaXMuZ2V0Um93SWQoRGVbd3RdKSl9ZWxzZSB0aGlzLnNlbGVjdGVkSWRzLmNsZWFyKCksdGhpcy5zZWxlY3RlZElkcy5hZGQoSWUpLHRoaXMuX19zZWxlY3Rpb25BbmNob3JJZD1JZTt0aGlzLnNlbGVjdGVkRGF0YVJvdz1MfWVsc2UgaWYoR2Upe2lmKHRoaXMuc2VsZWN0ZWRJZHMuaGFzKEllKSl7aWYodGhpcy5zZWxlY3RlZElkcy5kZWxldGUoSWUpLHRoaXMuc2VsZWN0ZWREYXRhUm93PT09TCl7bGV0IHh0PURlLmZpbmQoZ2E9PnRoaXMuc2VsZWN0ZWRJZHMuaGFzKHRoaXMuZ2V0Um93SWQoZ2EpKSk7dGhpcy5zZWxlY3RlZERhdGFSb3c9eHR9fWVsc2UgdGhpcy5zZWxlY3RlZElkcy5hZGQoSWUpLHRoaXMuc2VsZWN0ZWREYXRhUm93PUw7dGhpcy5fX3NlbGVjdGlvbkFuY2hvcklkPUllfWVsc2UgdGhpcy5zZWxlY3RlZERhdGFSb3c9TCx0aGlzLnNlbGVjdGVkSWRzLmNsZWFyKCksdGhpcy5zZWxlY3RlZElkcy5hZGQoSWUpLHRoaXMuX19zZWxlY3Rpb25BbmNob3JJZD1JZTt0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1zZXRSb3dTZWxlY3RlZChELEwpe2xldCBlZT10aGlzLmdldFJvd0lkKEQpO3RoaXMuc2VsZWN0aW9uTW9kZT09PSJzaW5nbGUiPyh0aGlzLnNlbGVjdGVkSWRzLmNsZWFyKCksTCYmdGhpcy5zZWxlY3RlZElkcy5hZGQoZWUpKTp0aGlzLnNlbGVjdGlvbk1vZGU9PT0ibXVsdGkiJiYoTD90aGlzLnNlbGVjdGVkSWRzLmFkZChlZSk6dGhpcy5zZWxlY3RlZElkcy5kZWxldGUoZWUpKSx0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1hcmVBbGxWaXNpYmxlU2VsZWN0ZWQoKXtsZXQgRD10aGlzLl9sYXN0Vmlld0RhdGF8fFtdO2lmKEQubGVuZ3RoPT09MClyZXR1cm4hMTtmb3IobGV0IEwgb2YgRClpZighdGhpcy5zZWxlY3RlZElkcy5oYXModGhpcy5nZXRSb3dJZChMKSkpcmV0dXJuITE7cmV0dXJuITB9aXNWaXNpYmxlU2VsZWN0aW9uSW5kZXRlcm1pbmF0ZSgpe2xldCBEPXRoaXMuX2xhc3RWaWV3RGF0YXx8W107aWYoRC5sZW5ndGg9PT0wKXJldHVybiExO2xldCBMPTA7Zm9yKGxldCBlZSBvZiBEKXRoaXMuc2VsZWN0ZWRJZHMuaGFzKHRoaXMuZ2V0Um93SWQoZWUpKSYmTCsrO3JldHVybiBMPjAmJkw8RC5sZW5ndGh9c2V0U2VsZWN0VmlzaWJsZShEKXtsZXQgTD10aGlzLl9sYXN0Vmlld0RhdGF8fFtdO2lmKEQpZm9yKGxldCBlZSBvZiBMKXRoaXMuc2VsZWN0ZWRJZHMuYWRkKHRoaXMuZ2V0Um93SWQoZWUpKTtlbHNlIGZvcihsZXQgZWUgb2YgTCl0aGlzLnNlbGVjdGVkSWRzLmRlbGV0ZSh0aGlzLmdldFJvd0lkKGVlKSk7dGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCl9ZW1pdFNlbGVjdGlvbkNoYW5nZSgpe2xldCBEPUFycmF5LmZyb20odGhpcy5zZWxlY3RlZElkcyksTD10aGlzLmRhdGEuZmlsdGVyKGVlPT50aGlzLnNlbGVjdGVkSWRzLmhhcyh0aGlzLmdldFJvd0lkKGVlKSkpO3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlbGVjdGlvbkNoYW5nZSIse2RldGFpbDp7c2VsZWN0ZWRJZHM6RCxzZWxlY3RlZFJvd3M6TH0sYnViYmxlczohMH0pKX1nZXRBY3Rpb25zRm9yVHlwZShEKXtsZXQgTD1bXTtmb3IobGV0IGVlIG9mIHRoaXMuZGF0YUFjdGlvbnMpZWUudHlwZT8uaW5jbHVkZXMoRCkmJkwucHVzaChlZSk7cmV0dXJuIEx9X19pc0NvbHVtbkVkaXRhYmxlKEQpe3JldHVybiEhKEQuZWRpdGFibGV8fEQuZWRpdG9yKX1fX2VkaXRhYmxlQ29sdW1ucyhEKXtyZXR1cm4gRC5maWx0ZXIoTD0+IUwuaGlkZGVuJiZ0aGlzLl9faXNDb2x1bW5FZGl0YWJsZShMKSl9c3RhcnRFZGl0aW5nKEQsTCl7aWYoIXRoaXMuX19pc0NvbHVtbkVkaXRhYmxlKEwpKXJldHVybjtsZXQgZWU9dGhpcy5nZXRSb3dJZChEKSxEZT1TdHJpbmcoTC5rZXkpO3RoaXMuX19mb2N1c2VkQ2VsbD17cm93SWQ6ZWUsY29sS2V5OkRlfSx0aGlzLl9fZWRpdGluZ0NlbGw9e3Jvd0lkOmVlLGNvbEtleTpEZX0sdGhpcy5yZXF1ZXN0VXBkYXRlKCksdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57bGV0IEllPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmVkaXRpbmdDZWxsIGRlZXMtaW5wdXQtdGV4dCwgLmVkaXRpbmdDZWxsIGRlZXMtaW5wdXQtY2hlY2tib3gsIC5lZGl0aW5nQ2VsbCBkZWVzLWlucHV0LWRyb3Bkb3duLCAuZWRpdGluZ0NlbGwgZGVlcy1pbnB1dC1kYXRlcGlja2VyLCAuZWRpdGluZ0NlbGwgZGVlcy1pbnB1dC10YWdzIik7SWU/LmZvY3VzPy4oKSxJZT8udGFnTmFtZT09PSJERUVTLUlOUFVULURST1BET1dOIiYmSWUudXBkYXRlQ29tcGxldGU/LnRoZW4oKCk9PkllLnRvZ2dsZVNlbGVjdGlvbkJveD8uKCkpfSl9Y2FuY2VsQ2VsbEVkaXQoKXt0aGlzLl9fZWRpdGluZ0NlbGw9dm9pZCAwLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWNvbW1pdENlbGxFZGl0KEQsTCxlZSl7bGV0IERlPVN0cmluZyhMLmtleSksSWU9RFtMLmtleV0sR2U9TC5wYXJzZT9MLnBhcnNlKGVlLEQpOmVlO2lmKEwudmFsaWRhdGUpe2xldCB0dD1MLnZhbGlkYXRlKEdlLEQpO2lmKHR5cGVvZiB0dD09InN0cmluZyIpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNlbGxFZGl0RXJyb3IiLHtkZXRhaWw6e3JvdzpELGtleTpEZSx2YWx1ZTpHZSxtZXNzYWdlOnR0fSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpO3JldHVybn19R2UhPT1JZSYmKERbTC5rZXldPUdlLHRoaXMuX19yZWNvcmRDZWxsSW5TbmFwc2hvdChELEwpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNlbGxFZGl0Iix7ZGV0YWlsOntyb3c6RCxrZXk6RGUsb2xkVmFsdWU6SWUsbmV3VmFsdWU6R2V9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpLHRoaXMuX19lZGl0aW5nQ2VsbD12b2lkIDAsdGhpcy5yZXF1ZXN0VXBkYXRlKCl9X19yZWNvcmRDZWxsSW5TbmFwc2hvdChELEwpe2lmKHRoaXMuaGlnaGxpZ2h0VXBkYXRlcyE9PSJmbGFzaCJ8fCF0aGlzLl9fcHJldlNuYXBzaG90fHwhdGhpcy5yb3dLZXkpcmV0dXJuO2xldCBlZT10aGlzLmdldFJvd0lkKEQpLERlPXRoaXMuX19wcmV2U25hcHNob3QuZ2V0KGVlKTtEZXx8KERlPW5ldyBNYXAsdGhpcy5fX3ByZXZTbmFwc2hvdC5zZXQoZWUsRGUpKSxEZS5zZXQoU3RyaW5nKEwua2V5KSxDNChELEwsdGhpcy5kaXNwbGF5RnVuY3Rpb24pKX1yZW5kZXJDZWxsRWRpdG9yKEQsTCl7bGV0IGVlPURbTC5rZXldLERlPUwuZm9ybWF0P0wuZm9ybWF0KGVlLEQpOmVlLEllPUwuZWRpdG9yPz8idGV4dCIsR2U9cyh0dD0+dGhpcy5jb21taXRDZWxsRWRpdChELEwsdHQudmFsdWUpLCJvblRleHRDb21taXQiKTtzd2l0Y2goSWUpe2Nhc2UiY2hlY2tib3giOnJldHVybiB3YDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAudmFsdWU9JHshIURlfQogICAgICAgICAgQG5ld1ZhbHVlPSR7dHQ9Pnt0dC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmNvbW1pdENlbGxFZGl0KEQsTCx0dC5kZXRhaWwpfX0KICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PmA7Y2FzZSJkcm9wZG93biI6e2xldCB0dD1MLmVkaXRvck9wdGlvbnM/Lm9wdGlvbnM/P1tdLGF0PXR0LmZpbmQoeHQ9Pnh0PT1udWxsPyExOnR5cGVvZiB4dD09InN0cmluZyI/eHQ9PT1lZTp4dC5rZXk9PT1lZXx8eHQub3B0aW9uPT09ZWUpPz9udWxsO3JldHVybiB3YDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAudmludGVncmF0ZWQ9JHshMH0KICAgICAgICAgIC5vcHRpb25zPSR7dHR9CiAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHthdH0KICAgICAgICAgIEBzZWxlY3RlZE9wdGlvbj0ke3h0PT57eHQuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IGdhPXh0LmRldGFpbCx3dD1nYT8ub3B0aW9uPz9nYT8ua2V5Pz9nYTt0aGlzLmNvbW1pdENlbGxFZGl0KEQsTCx3dCl9fQogICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+YH1jYXNlImRhdGUiOnJldHVybiB3YDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIC52YWx1ZT0ke0RlfQogICAgICAgICAgQGZvY3Vzb3V0PSR7dHQ9PkdlKHR0LnRhcmdldCl9CiAgICAgICAgICBAa2V5ZG93bj0ke3R0PT50aGlzLl9faGFuZGxlRWRpdG9yS2V5KHR0LEQsTCl9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPmA7Y2FzZSJ0YWdzIjpyZXR1cm4gd2A8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAudmFsdWU9JHtEZT8/W119CiAgICAgICAgICBAZm9jdXNvdXQ9JHt0dD0+R2UodHQudGFyZ2V0KX0KICAgICAgICAgIEBrZXlkb3duPSR7dHQ9PnRoaXMuX19oYW5kbGVFZGl0b3JLZXkodHQsRCxMKX0KICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+YDtkZWZhdWx0OnJldHVybiB3YDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgIC52aW50ZWdyYXRlZD0keyEwfQogICAgICAgICAgLnZhbHVlPSR7RGU9PW51bGw/IiI6U3RyaW5nKERlKX0KICAgICAgICAgIEBmb2N1c291dD0ke3R0PT5HZSh0dC50YXJnZXQpfQogICAgICAgICAgQGtleWRvd249JHt0dD0+dGhpcy5fX2hhbmRsZUVkaXRvcktleSh0dCxELEwpfQogICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD5gfX1fX2hhbmRsZUVkaXRvcktleShELEwsZWUpe2lmKEQua2V5PT09IkVzY2FwZSIpRC5wcmV2ZW50RGVmYXVsdCgpLEQuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5jYW5jZWxDZWxsRWRpdCgpLHRoaXMuZm9jdXMoKTtlbHNlIGlmKEQua2V5PT09IkVudGVyIil7RC5wcmV2ZW50RGVmYXVsdCgpLEQuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IERlPUQudGFyZ2V0O3RoaXMuY29tbWl0Q2VsbEVkaXQoTCxlZSxEZS52YWx1ZSksdGhpcy5tb3ZlRm9jdXNlZENlbGwoMCwxLCEwKX1lbHNlIGlmKEQua2V5PT09IlRhYiIpe0QucHJldmVudERlZmF1bHQoKSxELnN0b3BQcm9wYWdhdGlvbigpO2xldCBEZT1ELnRhcmdldDt0aGlzLmNvbW1pdENlbGxFZGl0KEwsZWUsRGUudmFsdWUpLHRoaXMubW92ZUZvY3VzZWRDZWxsKEQuc2hpZnRLZXk/LTE6MSwwLCEwKX19bW92ZUZvY3VzZWRDZWxsKEQsTCxlZSl7bGV0IERlPXRoaXMuX2xhc3RWaWV3RGF0YT8/W107aWYoRGUubGVuZ3RoPT09MClyZXR1cm47bGV0IEllPXRoaXMuX19nZXRFZmZlY3RpdmVDb2x1bW5zKCksR2U9dGhpcy5fX2VkaXRhYmxlQ29sdW1ucyhJZSk7aWYoR2UubGVuZ3RoPT09MClyZXR1cm47bGV0IHR0PTAsYXQ9MDtpZih0aGlzLl9fZm9jdXNlZENlbGwmJih0dD1EZS5maW5kSW5kZXgod3Q9PnRoaXMuZ2V0Um93SWQod3QpPT09dGhpcy5fX2ZvY3VzZWRDZWxsLnJvd0lkKSxhdD1HZS5maW5kSW5kZXgod3Q9PlN0cmluZyh3dC5rZXkpPT09dGhpcy5fX2ZvY3VzZWRDZWxsLmNvbEtleSksdHQ8MCYmKHR0PTApLGF0PDAmJihhdD0wKSksRCE9PTApe2ZvcihhdCs9RDthdD49R2UubGVuZ3RoOylhdC09R2UubGVuZ3RoLHR0Kz0xO2Zvcig7YXQ8MDspYXQrPUdlLmxlbmd0aCx0dC09MX1pZihMIT09MCYmKHR0Kz1MKSx0dDwwfHx0dD49RGUubGVuZ3RoKXt0aGlzLmNhbmNlbENlbGxFZGl0KCk7cmV0dXJufWxldCB4dD1EZVt0dF0sZ2E9R2VbYXRdO3RoaXMuX19mb2N1c2VkQ2VsbD17cm93SWQ6dGhpcy5nZXRSb3dJZCh4dCksY29sS2V5OlN0cmluZyhnYS5rZXkpfSxlZT90aGlzLnN0YXJ0RWRpdGluZyh4dCxnYSk6dGhpcy5yZXF1ZXN0VXBkYXRlKCl9c3RhdGlje2l0KHIsdCl9fTtyZXR1cm4gQzc9cn0pKCl9KTt2YXIgclFlPWYoKCk9PntYWGUoKX0pO3ZhciBnbGEsYmxhPWYoKCk9PntsZSgpO05hKCk7Z2xhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgJHtYYAogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CiAgICAgIAogICAgICAuZm9ybS1vdXRwdXQgewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgfQogICAgICAKICAgICAgLnN0YXR1cy1tZXNzYWdlIHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQogICAgICAKICAgICAgLnN0YXR1cy1tZXNzYWdlLnN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjEpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlIC8gMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3MC42JSAzNS4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNjUuMyUpIil9OwogICAgICB9CiAgICAgIAogICAgICAuc3RhdHVzLW1lc3NhZ2UuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSAvIDAuMSkiLCJoc2woMCA3Mi4yJSA1MC42JSAvIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA0MC42JSkiLCJoc2woMCA3Mi4yJSA2MC42JSkiKX07CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KICAKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKSx0PWEucXVlcnlTZWxlY3RvcigiLmZvcm0tb3V0cHV0Iik7ZSYmdCYmKGUuYWRkRXZlbnRMaXN0ZW5lcigiZm9ybURhdGEiLChhc3luYyBpPT57bGV0IG89aS5kZXRhaWwuZGF0YTtjb25zb2xlLmxvZygiRm9ybSBzdWJtaXR0ZWQgd2l0aCBkYXRhOiIsbyksZS5zZXRTdGF0dXMoInBlbmRpbmciLCJQcm9jZXNzaW5nIHlvdXIgcmVnaXN0cmF0aW9uLi4uIiksdC5pbm5lckhUTUw9YDxzdHJvbmc+U3VibWl0dGVkIERhdGE6PC9zdHJvbmc+CiR7SlNPTi5zdHJpbmdpZnkobyxudWxsLDIpfWAsYXdhaXQgQXQucGx1Z2lucy5zbWFydGRlbGF5LmRlbGF5Rm9yKDJlMyksZS5zZXRTdGF0dXMoInN1Y2Nlc3MiLCJSZWdpc3RyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseSEiKSxhd2FpdCBBdC5wbHVnaW5zLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMmUzKSxlLnJlc2V0KCksdC5pbm5lckhUTUw9IjxlbT5Gb3JtIGhhcyBiZWVuIHJlc2V0PC9lbT4ifSkpLGUucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC10ZXh0LCBkZWVzLWlucHV0LWRyb3Bkb3duLCBkZWVzLWlucHV0LWNoZWNrYm94IikuZm9yRWFjaChpPT57aS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2VTdWJqZWN0IiwoKT0+e2NvbnNvbGUubG9nKCJGaWVsZCBjaGFuZ2VkOiIsaS5nZXRBdHRyaWJ1dGUoImtleSIpKX0pfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC5oZWFkaW5nPSJDb21wbGV0ZSBGb3JtIEV4YW1wbGUiIC5kZXNjcmlwdGlvbj0iQSBjb21wcmVoZW5zaXZlIGZvcm0gd2l0aCB2YXJpb3VzIGlucHV0IHR5cGVzLCB2YWxpZGF0aW9uLCBhbmQgZm9ybSBzdWJtaXNzaW9uIGhhbmRsaW5nIj4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9IAogICAgICAgICAgICBrZXk9ImZpcnN0TmFtZSIgCiAgICAgICAgICAgIGxhYmVsPSJGaXJzdCBOYW1lIgogICAgICAgICAgICAuaW5mb1RleHQ9JHsiWW91ciBnaXZlbiBuYW1lIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9IAogICAgICAgICAgICBrZXk9Imxhc3ROYW1lIiAKICAgICAgICAgICAgbGFiZWw9Ikxhc3QgTmFtZSIKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9IAogICAgICAgICAgICBrZXk9ImVtYWlsIiAKICAgICAgICAgICAgbGFiZWw9IkVtYWlsIEFkZHJlc3MiCiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJXZSB3aWxsIHVzZSB0aGlzIHRvIGNvbnRhY3QgeW91In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIGtleT0iY291bnRyeSIKICAgICAgICAgICAgLmxhYmVsPSR7IkNvdW50cnkifQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJVbml0ZWQgU3RhdGVzIixrZXk6InVzIn0se29wdGlvbjoiQ2FuYWRhIixrZXk6ImNhIn0se29wdGlvbjoiR2VybWFueSIsa2V5OiJkZSJ9LHtvcHRpb246IkZyYW5jZSIsa2V5OiJmciJ9LHtvcHRpb246IlVuaXRlZCBLaW5nZG9tIixrZXk6InVrIn1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAga2V5PSJwYXNzd29yZCIKICAgICAgICAgICAgbGFiZWw9IlBhc3N3b3JkIgogICAgICAgICAgICBpc1Bhc3N3b3JkQm9vbAogICAgICAgICAgICAuaW5mb1RleHQ9JHsiTWluaW11bSA4IGNoYXJhY3RlcnMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAga2V5PSJ0ZXJtcyIKICAgICAgICAgICAgbGFiZWw9IkkgYWdyZWUgdG8gdGhlIFRlcm1zIGFuZCBDb25kaXRpb25zIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAga2V5PSJuZXdzbGV0dGVyIgogICAgICAgICAgICBsYWJlbD0iU2VuZCBtZSBwcm9tb3Rpb25hbCBlbWFpbHMiCiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+Q3JlYXRlIEFjY291bnQ8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1vdXRwdXQiPgogICAgICAgICAgPGVtPlN1Ym1pdCB0aGUgZm9ybSB0byBzZWUgdGhlIGNvbGxlY3RlZCBkYXRhLi4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKTtlJiYoY29uc29sZS5sb2coIkhvcml6b250YWwgZm9ybSBsYXlvdXQgYWN0aXZlIiksZS5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsKHI9PntsZXQgaT1yLmRldGFpbC5kYXRhO2NvbnNvbGUubG9nKCJGaWx0ZXIgYXBwbGllZDoiLGkpO2xldCBvPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxMDApKzE7Y29uc29sZS5sb2coYEZvdW5kICR7b30gcmVzdWx0cyB3aXRoIGZpbHRlcnM6YCxpKX0pKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltrZXldIikuZm9yRWFjaChyPT57ci5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2VTdWJqZWN0Iixhc3luYygpPT57bGV0IGk9YXdhaXQgZS5jb2xsZWN0Rm9ybURhdGEoKTtjb25zb2xlLmxvZygiTGl2ZSBmaWx0ZXIgdXBkYXRlOiIsaSl9KX0pKX19PgogICAgICA8ZGVlcy1wYW5lbCAuaGVhZGluZz0iSG9yaXpvbnRhbCBGb3JtIExheW91dCIgLmRlc2NyaXB0aW9uPSJDb21wYWN0IGZvcm0gd2l0aCBpbnB1dHMgYXJyYW5nZWQgaG9yaXpvbnRhbGx5IC0gcGVyZmVjdCBmb3IgZmlsdGVycyBhbmQgcXVpY2sgZm9ybXMiPgogICAgICAgIDxkZWVzLWZvcm0gaG9yaXpvbnRhbC1sYXlvdXQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICBrZXk9InNlYXJjaCIgCiAgICAgICAgICAgIGxhYmVsPSJTZWFyY2giCiAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJFbnRlciBrZXl3b3Jkcy4uLiIKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAga2V5PSJjYXRlZ29yeSIKICAgICAgICAgICAgLmxhYmVsPSR7IkNhdGVnb3J5In0KICAgICAgICAgICAgLmVuYWJsZVNlYXJjaD0keyExfQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJBbGwiLGtleToiYWxsIn0se29wdGlvbjoiUHJvZHVjdHMiLGtleToicHJvZHVjdHMifSx7b3B0aW9uOiJTZXJ2aWNlcyIsa2V5OiJzZXJ2aWNlcyJ9LHtvcHRpb246IlN1cHBvcnQiLGtleToic3VwcG9ydCJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIGtleT0ic29ydCIKICAgICAgICAgICAgLmxhYmVsPSR7IlNvcnQgQnkifQogICAgICAgICAgICAuZW5hYmxlU2VhcmNoPSR7ITF9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246Ik5ld2VzdCIsa2V5OiJuZXdlc3QifSx7b3B0aW9uOiJQb3B1bGFyIixrZXk6InBvcHVsYXIifSx7b3B0aW9uOiJQcmljZTogTG93IHRvIEhpZ2giLGtleToicHJpY2VfYXNjIn0se29wdGlvbjoiUHJpY2U6IEhpZ2ggdG8gTG93IixrZXk6InByaWNlX2Rlc2MifV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICBrZXk9ImluU3RvY2siCiAgICAgICAgICAgIGxhYmVsPSJJbiBTdG9jayBPbmx5IgogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiZGVlcy1mb3JtIiksdD1hLnF1ZXJ5U2VsZWN0b3IoIiNzdGF0dXMtZGlzcGxheSIpO2lmKGUpe2UuYWRkRXZlbnRMaXN0ZW5lcigiZm9ybURhdGEiLChhc3luYyBpPT57bGV0IG89aS5kZXRhaWwuZGF0YTtjb25zb2xlLmxvZygiQWR2YW5jZWQgZm9ybSBkYXRhOiIsbyksZS5zZXRTdGF0dXMoInBlbmRpbmciLCJWYWxpZGF0aW5nIHlvdXIgaW5mb3JtYXRpb24uLi4iKSxhd2FpdCBBdC5wbHVnaW5zLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMTUwMCksby5pYmFuJiZvLmliYW4ubGVuZ3RoPjE1PyhlLnNldFN0YXR1cygic3VjY2VzcyIsIkFwcGxpY2F0aW9uIHN1Ym1pdHRlZCBzdWNjZXNzZnVsbHkhIiksdCYmKHQuY2xhc3NOYW1lPSJzdGF0dXMtbWVzc2FnZSBzdWNjZXNzIix0LnRleHRDb250ZW50PSJcdTI3MTMgWW91ciBhcHBsaWNhdGlvbiBoYXMgYmVlbiBzdWJtaXR0ZWQuIFdlIHdpbGwgY29udGFjdCB5b3Ugc29vbi4iKSk6KGUuc2V0U3RhdHVzKCJlcnJvciIsIlBsZWFzZSBjaGVjayB5b3VyIElCQU4iKSx0JiYodC5jbGFzc05hbWU9InN0YXR1cy1tZXNzYWdlIGVycm9yIix0LnRleHRDb250ZW50PSJcdTI3MTcgSW52YWxpZCBJQkFOIGZvcm1hdC4gUGxlYXNlIGNoZWNrIGFuZCB0cnkgYWdhaW4uIikpLGNvbnNvbGUubG9nKCJGb3JtIGRhdGEgbG9nZ2VkOiIsbyl9KSk7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWZpbGV1cGxvYWQiKTtyJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsaT0+e2xldCBvPWkuZGV0YWlsPy5maWxlc3x8W107Y29uc29sZS5sb2coYCR7by5sZW5ndGh9IGZpbGUocykgc2VsZWN0ZWQgZm9yIHVwbG9hZGApfSl9fX0+CiAgICAgIDxkZWVzLXBhbmVsIC5oZWFkaW5nPSJBZHZhbmNlZCBGb3JtIEZlYXR1cmVzIiAuZGVzY3JpcHRpb249IkZvcm0gd2l0aCBzcGVjaWFsaXplZCBpbnB1dCB0eXBlcyBhbmQgY29tcGxleCB2YWxpZGF0aW9uIj4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtaWJhbiAKICAgICAgICAgICAga2V5PSJpYmFuIgogICAgICAgICAgICBsYWJlbD0iSUJBTiIKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWliYW4+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXBob25lCiAgICAgICAgICAgIGtleT0icGhvbmUiCiAgICAgICAgICAgIGxhYmVsPSJQaG9uZSBOdW1iZXIiCiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1waG9uZT4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAga2V5PSJwcmVmZXJlbmNlcyIKICAgICAgICAgICAgLmxhYmVsPSR7Ik5vdGlmaWNhdGlvbiBQcmVmZXJlbmNlcyJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJFbWFpbCIsIlNNUyIsIlB1c2giLCJJbi1BcHAiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkVtYWlsIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpc2VsZWN0CiAgICAgICAgICAgIGtleT0iaW50ZXJlc3RzIgogICAgICAgICAgICAubGFiZWw9JHsiQXJlYXMgb2YgSW50ZXJlc3QifQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJUZWNobm9sb2d5IixrZXk6InRlY2gifSx7b3B0aW9uOiJEZXNpZ24iLGtleToiZGVzaWduIn0se29wdGlvbjoiQnVzaW5lc3MiLGtleToiYnVzaW5lc3MifSx7b3B0aW9uOiJNYXJrZXRpbmciLGtleToibWFya2V0aW5nIn0se29wdGlvbjoiU2FsZXMiLGtleToic2FsZXMifV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpc2VsZWN0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1maWxldXBsb2FkCiAgICAgICAgICAgIGtleT0iZG9jdW1lbnRzIgogICAgICAgICAgICAubGFiZWw9JHsiVXBsb2FkIERvY3VtZW50cyJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJQREYsIERPQywgb3IgRE9DWCBmaWxlcyB1cCB0byAxME1CIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZmlsZXVwbG9hZD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+U3VibWl0IEFwcGxpY2F0aW9uPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgIAogICAgICAgIDxkaXYgaWQ9InN0YXR1cy1kaXNwbGF5Ij48L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIHZsYSxzUWUseGxhLHlsYSxpbT1mKCgpPT57bGUoKTtlYSgpO1l0ZSgpO0xZZSgpO3RhZSgpO240KCk7RVllKCk7aWFlKCk7Y2FlKCk7UlllKCk7SFllKCk7cVllKCk7VlllKCk7VVllKCk7R1llKCk7WVllKCk7S1llKCk7TnNlKCk7UnNlKCk7VGYoKTtyUWUoKTtibGEoKTt2bGE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHNRZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0seGxhPVtHdGUsUXRlLGVhZSxsYWUsZGFlLGhhZSxtYWUsYmFlLHJhZSxzYWUsYWFlLHZhZSx4YWUseWFlLHdhZSxqVyxPc2UsQnNlXSx5bGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWZvcm0iKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0Zvcm0iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMCxhdHRyaWJ1dGU6Imhvcml6b250YWwtbGF5b3V0In0pXSx2bGEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJob3Jpem9udGFsTGF5b3V0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJob3Jpem9udGFsTGF5b3V0ImluIHAsImhhcyIpLGdldDpzKHA9PnAuaG9yaXpvbnRhbExheW91dCwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmhvcml6b250YWxMYXlvdXQ9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLHZsYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPWdsYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkZvcm0iXTtuYW1lPSJteWZvcm0iO2NoYW5nZVN1YmplY3Q9bmV3IEh0LnNtYXJ0cngucnhqcy5TdWJqZWN0O3JlYWR5RGVmZXJyZWQ9SHQuc21hcnRwcm9taXNlLmRlZmVyKCk7I2U9c1FlKHRoaXMsbiwhMSk7Z2V0IGhvcml6b250YWxMYXlvdXQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaG9yaXpvbnRhbExheW91dChjKXt0aGlzLiNlPWN9c3RhdGljIHN0eWxlcz1bWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtob3Jpem9udGFsLWxheW91dF0pIHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8c2xvdD48L3Nsb3Q+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2xldCBjPXRoaXMuZ2V0Rm9ybUVsZW1lbnRzKCk7dGhpcy51cGRhdGVSZXF1aXJlZFN0YXR1cygpLHRoaXMudXBkYXRlQ2hpbGRyZW5MYXlvdXRNb2RlKCk7Zm9yKGxldCBwIG9mIGMpcC5jaGFuZ2VTdWJqZWN0LnN1YnNjcmliZShhc3luYygpPT57bGV0IHU9YXdhaXQgdGhpcy5jb2xsZWN0Rm9ybURhdGEoKTt0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh1KSxjb25zb2xlLmxvZyh1KSx0aGlzLnVwZGF0ZVJlcXVpcmVkU3RhdHVzKCl9KTthd2FpdCB0aGlzLmFkZEJlaGF2aW91cnMoKSx0aGlzLnJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpfWdldEZvcm1FbGVtZW50cygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbCgiKiIpKS5maWx0ZXIoYz0+eGxhLmluY2x1ZGVzKGMuY29uc3RydWN0b3IpKX1nZXRTdWJtaXRCdXR0b24oKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoIioiKSkuZmluZChjPT5jIGluc3RhbmNlb2Ygb2FlKX1hc3luYyB1cGRhdGVSZXF1aXJlZFN0YXR1cygpe2NvbnNvbGUubG9nKCJjaGVja2luZyB0aGUgcmVxdWlyZWQgc3RhdHVzLiIpO2xldCBjPSEwO2ZvcihsZXQgdSBvZiB0aGlzLmdldEZvcm1FbGVtZW50cygpKXUucmVxdWlyZWQmJiF1LnZhbHVlJiYoYz0hMSk7bGV0IHA9dGhpcy5nZXRTdWJtaXRCdXR0b24oKTtwJiYocC5kaXNhYmxlZD0hYyl9YXN5bmMgY29sbGVjdEZvcm1EYXRhKCl7bGV0IGM9dGhpcy5nZXRGb3JtRWxlbWVudHMoKSxwPXt9O2ZvcihsZXQgdSBvZiBjKXtpZighdS5rZXkpe2NvbnNvbGUubG9nKGBmb3JtIGVsZW1lbnQgd2l0aCBsYWJlbCAiJHt1LmxhYmVsfSIgaGFzIG5vIGtleS4gc2tpcHBpbmcuYCk7Y29udGludWV9cFt1LmtleV09dS52YWx1ZX1yZXR1cm4gcH1hc3luYyBnYXRoZXJBbmREaXNwYXRjaCgpe2xldCBjPWF3YWl0IHRoaXMuY29sbGVjdEZvcm1EYXRhKCkscD1uZXcgQ3VzdG9tRXZlbnQoImZvcm1EYXRhIix7ZGV0YWlsOntkYXRhOmN9LGJ1YmJsZXM6ITB9KTt0aGlzLmRpc3BhdGNoRXZlbnQocCksY29uc29sZS5sb2coImRpc3BhdGNoZWQgZGF0YToiKSxjb25zb2xlLmxvZyhjKX1zZXRTdGF0dXMoYyxwKXtsZXQgdT10aGlzLmdldEZvcm1FbGVtZW50cygpLG09dGhpcy5nZXRTdWJtaXRCdXR0b24oKTtpZihtKXtzd2l0Y2goYyl7Y2FzZSJub3JtYWwiOm0uZGlzYWJsZWQ9ITEsbS5zdGF0dXM9Im5vcm1hbCI7Zm9yKGxldCB2IG9mIHUpdi5kaXNhYmxlZD0hMTticmVhaztjYXNlInBlbmRpbmciOm0uZGlzYWJsZWQ9ITAsbS5zdGF0dXM9InBlbmRpbmciO2ZvcihsZXQgdiBvZiB1KXYuZGlzYWJsZWQ9ITA7YnJlYWs7Y2FzZSJzdWNjZXNzIjptLmRpc2FibGVkPSEwLG0uc3RhdHVzPSJzdWNjZXNzIjtmb3IobGV0IHYgb2YgdSl2LmRpc2FibGVkPSEwO2JyZWFrO2Nhc2UiZXJyb3IiOm0uZGlzYWJsZWQ9ITAsbS5zdGF0dXM9ImVycm9yIjtmb3IobGV0IHYgb2YgdSl2LmRpc2FibGVkPSEwO2JyZWFrfW0udGV4dD1wfX1yZXNldCgpe2xldCBjPXRoaXMuZ2V0Rm9ybUVsZW1lbnRzKCk7Zm9yKGxldCBwIG9mIGMpcC52YWx1ZT1udWxsO3RoaXMuc2V0U3RhdHVzKCJub3JtYWwiLCJTdWJtaXQiKX1hc3luYyBhZGRCZWhhdmlvdXJzKCl7dGhpcy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixjPT57bGV0IHA9Yy50YXJnZXQ7aWYoeGxhLmluY2x1ZGVzKHAuY29uc3RydWN0b3IpJiZjLmtleT09PSJFbnRlciIpe2xldCB1PXRoaXMuZ2V0Rm9ybUVsZW1lbnRzKCksbT11LmluZGV4T2YocCk7bTx1Lmxlbmd0aC0xP3VbbSsxXS5mb2N1cygpOihwLmJsdXIoKSx0aGlzLmdldFN1Ym1pdEJ1dHRvbigpPy5mb2N1cygpKX19KX11cGRhdGVDaGlsZHJlbkxheW91dE1vZGUoKXtsZXQgYz10aGlzLmdldEZvcm1FbGVtZW50cygpO2ZvcihsZXQgcCBvZiBjKSJsYXlvdXRNb2RlImluIHAmJihwLmxheW91dE1vZGU9ImF1dG8iKX11cGRhdGVkKGMpe3N1cGVyLnVwZGF0ZWQoYyksYy5oYXMoImhvcml6b250YWxMYXlvdXQiKSYmdGhpcy51cGRhdGVDaGlsZHJlbkxheW91dE1vZGUoKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksc1FlKHRoaXMsbCl9c3RhdGlje3NRZShyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgd2xhLE1sYT1mKCgpPT57bGUoKTtOYSgpO1lzKCk7aW0oKTtUZigpO240KCk7dmEoKTt3bGE9cygoKT0+d2AKICA8c3R5bGU+CiAgICAke1hgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5idXR0b24tZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIAogICAgICAudmVydGljYWwtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXgtd2lkdGg6IDMwMHB4OwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbC1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLW91dHB1dCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmljb24tcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIG1hcmdpbjogOHB4IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLXNuaXBwZXQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KICAKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2godD0+e3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9PntsZXQgcj10LmdldEF0dHJpYnV0ZSgidHlwZSIpfHwiZGVmYXVsdCI7Y29uc29sZS5sb2coYEJ1dHRvbiB2YXJpYW50IGNsaWNrZWQ6ICR7cn1gKX0pfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjEuIEJ1dHRvbiBWYXJpYW50cyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgdmlzdWFsIHN0eWxlcyBmb3IgdmFyaW91cyB1c2UgY2FzZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlZmF1bHQiPkRlZmF1bHQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9InNlY29uZGFyeSI+U2Vjb25kYXJ5PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkZXN0cnVjdGl2ZSI+RGVzdHJ1Y3RpdmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Im91dGxpbmUiPk91dGxpbmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0Ij5HaG9zdDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ibGluayI+TGluayBCdXR0b248L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PnthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaCh0PT57dC5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2xldCByPXQuZ2V0QXR0cmlidXRlKCJzaXplIil8fCJkZWZhdWx0Ijtjb25zb2xlLmxvZyhgQnV0dG9uIHNpemU6ICR7cn1gKX0pfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjIuIEJ1dHRvbiBTaXplcyJ9IC5zdWJ0aXRsZT0keyJNdWx0aXBsZSBzaXplcyBmb3IgZGlmZmVyZW50IGNvbnRleHRzIGFuZCB1c2UgY2FzZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9InNtIj5TbWFsbCBCdXR0b248L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9ImRlZmF1bHQiPkRlZmF1bHQgU2l6ZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0ibGciPkxhcmdlIEJ1dHRvbjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0ib3V0bGluZSIgLnRleHQ9JHsiXHV7MUY2ODB9In0+PC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiIHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0ic20iIHR5cGU9InNlY29uZGFyeSI+U21hbGwgU2Vjb25kYXJ5PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJkZWZhdWx0IiB0eXBlPSJkZXN0cnVjdGl2ZSI+RGVmYXVsdCBEZXN0cnVjdGl2ZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0ibGciIHR5cGU9Im91dGxpbmUiPkxhcmdlIE91dGxpbmU8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PnthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaCh0PT57dC5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2xldCByPXQucXVlcnlTZWxlY3RvcigiZGVlcy1pY29uIik7aWYocil7bGV0IGk9ci5nZXRBdHRyaWJ1dGUoImljb25GQSIpfHwidW5rbm93biI7Y29uc29sZS5sb2coYEljb24gYnV0dG9uIGNsaWNrZWQ6ICR7aX1gKX19KX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIzLiBCdXR0b25zIHdpdGggSWNvbnMifSAuc3VidGl0bGU9JHsiQ29tYmluaW5nIGljb25zIHdpdGggdGV4dCBmb3IgZW5oYW5jZWQgdmlzdWFsIGNvbW11bmljYXRpb24ifT4KICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLXJvdyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iZmE6cGx1cyI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIEFkZCBJdGVtCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTp0cmFzaCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIERlbGV0ZQogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJvdXRsaW5lIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RG93bmxvYWQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICBEb3dubG9hZAogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1yb3ciPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9InNlY29uZGFyeSIgc2l6ZT0ic20iPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOmdlYXIiPjwvZGVlcy1pY29uPgogICAgICAgICAgICBTZXR0aW5ncwogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJnaG9zdCI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iZmE6Y2FyZXRMZWZ0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgQmFjawogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJnaG9zdCI+CiAgICAgICAgICAgIE5leHQKICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTpjYXJldFJpZ2h0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9Imljb24tcm93Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJkZWZhdWx0Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTpwbHVzIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0ic2Vjb25kYXJ5Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTpnZWFyIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0ib3V0bGluZSI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlNlYXJjaCI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9Imljb24iIHR5cGU9Imdob3N0Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6TW9yZVZlcnRpY2FsIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0iZGVzdHJ1Y3RpdmUiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOnRyYXNoIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2godD0+e3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9PntsZXQgcj10LmdldEF0dHJpYnV0ZSgiaWNvbiIpfHwibm9uZSIsaT10LmdldEF0dHJpYnV0ZSgiaWNvblBvc2l0aW9uIil8fCJsZWZ0Ijtjb25zb2xlLmxvZyhgSWNvbiBwcm9wZXJ0eSBidXR0b246IGljb249JHtyfSwgcG9zaXRpb249JHtpfWApfSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNC4gSWNvbnMgdmlhIFByb3BlcnR5In0gLnN1YnRpdGxlPSR7IlNpbXBsaWZpZWQgaWNvbiBzeW50YXggdXNpbmcgdGhlIGljb24gcHJvcGVydHkifT4KICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLXJvdyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gaWNvbj0iZmE6cGx1cyI+QWRkIEl0ZW08L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIiBpY29uPSJmYTp0cmFzaCI+RGVsZXRlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJvdXRsaW5lIiBpY29uPSJsdWNpZGU6RG93bmxvYWQiPkRvd25sb2FkPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1yb3ciPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9InNlY29uZGFyeSIgc2l6ZT0ic20iIGljb249ImZhOmdlYXIiPlNldHRpbmdzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJnaG9zdCIgaWNvbj0iZmE6Y2FyZXRMZWZ0Ij5CYWNrPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJnaG9zdCIgaWNvbj0iZmE6Y2FyZXRSaWdodCIgaWNvblBvc2l0aW9uPSJyaWdodCI+TmV4dDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9Imljb24tcm93Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJkZWZhdWx0IiBpY29uPSJmYTpwbHVzIj48L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9Imljb24iIHR5cGU9InNlY29uZGFyeSIgaWNvbj0ibHVjaWRlOlNldHRpbmdzIj48L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9Imljb24iIHR5cGU9Im91dGxpbmUiIGljb249Imx1Y2lkZTpTZWFyY2giPjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0iZ2hvc3QiIGljb249Imx1Y2lkZTpNb3JlVmVydGljYWwiPjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0iZGVzdHJ1Y3RpdmUiIGljb249ImZhOnRyYXNoIj48L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLXNuaXBwZXQiPgogICAgICAgICAgICAmbHQ7ZGVlcy1idXR0b24gaWNvbj0iZmE6cGx1cyImZ3Q7QWRkIEl0ZW0mbHQ7L2RlZXMtYnV0dG9uJmd0Ozxicj4KICAgICAgICAgICAgJmx0O2RlZXMtYnV0dG9uIGljb249ImZhOmNhcmV0UmlnaHQiIGljb25Qb3NpdGlvbj0icmlnaHQiJmd0O05leHQmbHQ7L2RlZXMtYnV0dG9uJmd0OwogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWJ1dHRvbltzdGF0dXM9InBlbmRpbmciXScpLHQ9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWJ1dHRvbltzdGF0dXM9InN1Y2Nlc3MiXScpLHI9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWJ1dHRvbltzdGF0dXM9ImVycm9yIl0nKTtlJiZzZXRUaW1lb3V0KCgpPT57Y29uc29sZS5sb2coIlBlbmRpbmcgYnV0dG9uIGlzIHNob3dpbmcgbG9hZGluZyBzdGF0ZSIpfSwxZTMpLHQmJnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9Pntjb25zb2xlLmxvZygiU3VjY2VzcyBzdGF0ZSBidXR0b24gY2xpY2tlZCIpfSksciYmci5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2NvbnNvbGUubG9nKCJFcnJvciBzdGF0ZSBidXR0b24gY2xpY2tlZCIpfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjUuIEJ1dHRvbiBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHN0YXRlcyB0byBpbmRpY2F0ZSBidXR0b24gc3RhdHVzIGFuZCBsb2FkaW5nIGNvbmRpdGlvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHN0YXR1cz0ibm9ybWFsIj5Ob3JtYWw8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHN0YXR1cz0icGVuZGluZyI+UHJvY2Vzc2luZy4uLjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc3RhdHVzPSJzdWNjZXNzIj5TdWNjZXNzITwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc3RhdHVzPSJlcnJvciI+RXJyb3IhPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBkaXNhYmxlZD5EaXNhYmxlZDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyb3VwIiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9InNlY29uZGFyeSIgc3RhdHVzPSJwZW5kaW5nIiBzaXplPSJzbSI+U21hbGwgTG9hZGluZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ib3V0bGluZSIgc3RhdHVzPSJwZW5kaW5nIj5EZWZhdWx0IExvYWRpbmc8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIiBzdGF0dXM9InBlbmRpbmciIHNpemU9ImxnIj5MYXJnZSBMb2FkaW5nPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCIjY2xpY2stb3V0cHV0IiksdD1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtYnV0dG9uOmZpcnN0LW9mLXR5cGUiKSxyPWEucXVlcnlTZWxlY3RvcignZGVlcy1idXR0b25bdHlwZT0ic2Vjb25kYXJ5Il0nKSxpPWEucXVlcnlTZWxlY3RvcignZGVlcy1idXR0b25bdHlwZT0iZGVzdHJ1Y3RpdmUiXScpO3QmJmUmJnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9PntlLnRleHRDb250ZW50PWBDbGlja2VkOiBEZWZhdWx0IGJ1dHRvbiBhdCAke25ldyBEYXRlKCkudG9Mb2NhbGVUaW1lU3RyaW5nKCl9YH0pLHImJmUmJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsbz0+e2UudGV4dENvbnRlbnQ9YENsaWNrZWQ6IFNlY29uZGFyeSBidXR0b24gd2l0aCBkYXRhOiAke28uZGV0YWlsLmRhdGF9YH0pLGkmJmUmJmkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsYXN5bmMoKT0+e2UudGV4dENvbnRlbnQ9IlByb2Nlc3NpbmcuLi4iLGF3YWl0IEF0LnBsdWdpbnMuc21hcnRkZWxheS5kZWxheUZvcigyZTMpLGUudGV4dENvbnRlbnQ9IkFjdGlvbiBjb21wbGV0ZWQhIn0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI2LiBFdmVudCBIYW5kbGluZyJ9IC5zdWJ0aXRsZT0keyJJbnRlcmFjdGl2ZSBleGFtcGxlcyB3aXRoIGNsaWNrIGV2ZW50IGhhbmRsaW5nIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5DbGljayBNZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5IiAuZXZlbnREZXRhaWxEYXRhPSR7ImN1c3RvbS1kYXRhLTEyMyJ9PgogICAgICAgICAgICBDbGljayB3aXRoIERhdGEKICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiPkFzeW5jIEFjdGlvbjwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0iY2xpY2stb3V0cHV0IiBjbGFzcz0iZGVtby1vdXRwdXQiPgogICAgICAgICAgPGVtPkNsaWNrIGEgYnV0dG9uIHRvIHNlZSB0aGUgcmVzdWx0Li4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKSx0PWEucXVlcnlTZWxlY3RvcigiI2Zvcm0tb3V0cHV0Iik7ZSYmdCYmZS5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsbz0+e3QuaW5uZXJIVE1MPSI8c3Ryb25nPkZvcm0gc3VibWl0dGVkIHdpdGggZGF0YTo8L3N0cm9uZz48YnI+IitKU09OLnN0cmluZ2lmeShvLmRldGFpbC5kYXRhLG51bGwsMil9KTtsZXQgcj1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtYnV0dG9uW3R5cGU9InNlY29uZGFyeSJdJyksaT1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtYnV0dG9uW3R5cGU9Imdob3N0Il0nKTtyJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57Y29uc29sZS5sb2coIlNhdmUgRHJhZnQgY2xpY2tlZCIpfSksaSYmaS5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2NvbnNvbGUubG9nKCJDYW5jZWwgY2xpY2tlZCIpfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjcuIEZvcm0gSW50ZWdyYXRpb24ifSAuc3VidGl0bGU9JHsiQnV0dG9ucyB3b3JraW5nIHdpdGhpbiBmb3JtcyB3aXRoIGF1dG9tYXRpYyBzcGFjaW5nIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgbGFiZWw9Ik5hbWUiIGtleT0ibmFtZSIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGxhYmVsPSJFbWFpbCIga2V5PSJlbWFpbCIgdHlwZT0iZW1haWwiIHJlcXVpcmVkPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBsYWJlbD0iTWVzc2FnZSIga2V5PSJtZXNzYWdlIiBpc011bHRpbGluZT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9InNlY29uZGFyeSI+U2F2ZSBEcmFmdDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZ2hvc3QiPkNhbmNlbDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdD5TdWJtaXQgRm9ybTwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICAKICAgICAgICA8ZGl2IGlkPSJmb3JtLW91dHB1dCIgY2xhc3M9ImRlbW8tb3V0cHV0IiBzdHlsZT0id2hpdGUtc3BhY2U6IHByZS13cmFwOyI+CiAgICAgICAgICA8ZW0+U3VibWl0IHRoZSBmb3JtIHRvIHNlZSB0aGUgZGF0YS4uLjwvZW0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKHQ9PntsZXQgcj10LmdldEF0dHJpYnV0ZSgidHlwZSIpO3ImJmNvbnNvbGUubG9nKGBMZWdhY3kgdHlwZSAiJHtyfSIgaXMgc3VwcG9ydGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5YCl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiOC4gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSJ9IC5zdWJ0aXRsZT0keyJPbGQgYnV0dG9uIHR5cGVzIGFyZSBhdXRvbWF0aWNhbGx5IG1hcHBlZCB0byBuZXcgdmFyaWFudHMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Im5vcm1hbCI+Tm9ybWFsIOKGkiBEZWZhdWx0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJoaWdobGlnaHRlZCI+SGlnaGxpZ2h0ZWQg4oaSIERlc3RydWN0aXZlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkaXNjcmVldCI+RGlzY3JlZXQg4oaSIE91dGxpbmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImJpZyI+QmlnIOKGkiBMYXJnZSBTaXplPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsiPgogICAgICAgICAgVGhlc2UgbGVnYWN5IHR5cGUgdmFsdWVzIGFyZSBtYWludGFpbmVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGJ1dCB3ZSByZWNvbW1lbmQgdXNpbmcgdGhlIG5ldyB2YXJpYW50IHN5c3RlbS4KICAgICAgICA8L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvckFsbCgiLnZlcnRpY2FsLWdyb3VwIilbMF0sdD1hLnF1ZXJ5U2VsZWN0b3JBbGwoIi52ZXJ0aWNhbC1ncm91cCIpWzFdO2UmJmUucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKChpLG8pPT57aS5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2xldCBuPVsiU2F2ZSBDaGFuZ2VzIiwiRGlzY2FyZCIsIkhlbHAiXVtvXTtjb25zb2xlLmxvZyhgQWN0aW9uIGdyb3VwOiAke259IGNsaWNrZWRgKX0pfSksdCYmdC5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goKGksbyk9PntpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57bGV0IG49WyJEZWxldGUgQWNjb3VudCIsIkFyY2hpdmUgRGF0YSIsIk5vdCBBdmFpbGFibGUiXVtvXTtvIT09MiYmY29uc29sZS5sb2coYERhbmdlciB6b25lOiAke259IGNsaWNrZWRgKX0pfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjkuIEFkdmFuY2VkIEV4YW1wbGVzIn0gLnN1YnRpdGxlPSR7IkNvbXBsZXggYnV0dG9uIGNvbmZpZ3VyYXRpb25zIGFuZCByZWFsLXdvcmxkIHVzZSBjYXNlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9Imhvcml6b250YWwtZ3JvdXAiPgogICAgICAgICAgPGRpdiBjbGFzcz0idmVydGljYWwtZ3JvdXAiPgogICAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbjogMCAwIDhweCAwOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7Ij5BY3Rpb24gR3JvdXA8L2g0PgogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVmYXVsdCIgc2l6ZT0ic20iPgogICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlNhdmUiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIFNhdmUgQ2hhbmdlcwogICAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5IiBzaXplPSJzbSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6VW5kbzIiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIERpc2NhcmQKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0IiBzaXplPSJzbSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6SGVscENpcmNsZSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgSGVscAogICAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0idmVydGljYWwtZ3JvdXAiPgogICAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbjogMCAwIDhweCAwOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7Ij5EYW5nZXIgWm9uZTwvaDQ+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkZXN0cnVjdGl2ZSIgc2l6ZT0ic20iPgogICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iZmE6dHJhc2giPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIERlbGV0ZSBBY2NvdW50CiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJvdXRsaW5lIiBzaXplPSJzbSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6QXJjaGl2ZSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgQXJjaGl2ZSBEYXRhCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJnaG9zdCIgc2l6ZT0ic20iIGRpc2FibGVkPgogICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkJhbiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgTm90IEF2YWlsYWJsZQogICAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMjRweDsiPgogICAgICAgICAgPGg0IHN0eWxlPSJtYXJnaW46IDAgMCA4cHggMDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOyI+Q29kZSBFeGFtcGxlOjwvaDQ+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLXNuaXBwZXQiPgogICAgICAgICAgICAmbHQ7ZGVlcy1idXR0b24gdHlwZT0iZGVmYXVsdCIgc2l6ZT0ic20iIGljb249Imx1Y2lkZTpTYXZlIiBAY2xpY2tlZD0iXCR7aGFuZGxlQ2xpY2t9IiZndDs8YnI+CiAgICAgICAgICAgICZuYnNwOyZuYnNwO1NhdmUgQ2hhbmdlczxicj4KICAgICAgICAgICAgJmx0Oy9kZWVzLWJ1dHRvbiZndDsKICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgSDEsYXMsa2xhLGtmPWYoKCk9PntsZSgpO2VhKCk7TWxhKCk7UWUoKTtIMT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sYXM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGtsYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYnV0dG9uIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W107dmFyIGhlPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQnV0dG9uIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7cmVmbGVjdDohMCxoYXNDaGFuZ2VkKCl7cmV0dXJuITB9fSldLGQ9WyQoKV0sdT1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9WyQoe3R5cGU6U3RyaW5nfSldLE49WyQoe3R5cGU6U3RyaW5nfSldLE89WyQoe3R5cGU6U3RyaW5nfSldLEI9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLEU9WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sVz1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxIMSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InRleHQiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS50ZXh0LCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnRleHQ9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sbixsKSxIMSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV2ZW50RGV0YWlsRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iZXZlbnREZXRhaWxEYXRhImluIFUsImhhcyIpLGdldDpzKFU9PlUuZXZlbnREZXRhaWxEYXRhLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmV2ZW50RGV0YWlsRGF0YT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxjLHApLEgxKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlzYWJsZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImRpc2FibGVkImluIFUsImhhcyIpLGdldDpzKFU9PlUuZGlzYWJsZWQsImdldCIpLHNldDpzKChVLG1lKT0+e1UuZGlzYWJsZWQ9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sbSx2KSxIMSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzSGlkZGVuIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJpc0hpZGRlbiJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmlzSGlkZGVuLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmlzSGlkZGVuPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGIsZyksSDEodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0eXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJ0eXBlImluIFUsImhhcyIpLGdldDpzKFU9PlUudHlwZSwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS50eXBlPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGssQyksSDEodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJzaXplImluIFUsImhhcyIpLGdldDpzKFU9PlUuc2l6ZSwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5zaXplPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LF8seiksSDEodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InN0YXR1cyJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnN0YXR1cywiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5zdGF0dXM9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sVCxQKSxIMSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imluc2lkZUZvcm0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+Imluc2lkZUZvcm0iaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5pbnNpZGVGb3JtLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmluc2lkZUZvcm09bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sTSxTKSxIMSh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+Imljb24iaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5pY29uLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmljb249bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sQSxGKSxIMSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb25Qb3NpdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iaWNvblBvc2l0aW9uImluIFUsImhhcyIpLGdldDpzKFU9PlUuaWNvblBvc2l0aW9uLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmljb25Qb3NpdGlvbj1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxqLEcpLEgxKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlJ9LG51bGwsdCksaGU9cj1lLnZhbHVlLFImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Un0pfXN0YXRpYyBkZW1vPXdsYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkJ1dHRvbiJdOyNlPWFzKHRoaXMsbix2b2lkIDApO2dldCB0ZXh0KCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRleHQoUil7dGhpcy4jZT1SfSN0PShhcyh0aGlzLGwpLGFzKHRoaXMsYyx2b2lkIDApKTtnZXQgZXZlbnREZXRhaWxEYXRhKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGV2ZW50RGV0YWlsRGF0YShSKXt0aGlzLiN0PVJ9I2E9KGFzKHRoaXMscCksYXModGhpcyxtLCExKSk7Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGRpc2FibGVkKFIpe3RoaXMuI2E9Un0jcj0oYXModGhpcyx2KSxhcyh0aGlzLGIsITEpKTtnZXQgaXNIaWRkZW4oKXtyZXR1cm4gdGhpcy4jcn1zZXQgaXNIaWRkZW4oUil7dGhpcy4jcj1SfSNzPShhcyh0aGlzLGcpLGFzKHRoaXMsaywiZGVmYXVsdCIpKTtnZXQgdHlwZSgpe3JldHVybiB0aGlzLiNzfXNldCB0eXBlKFIpe3RoaXMuI3M9Un0jaT0oYXModGhpcyxDKSxhcyh0aGlzLF8sImRlZmF1bHQiKSk7Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy4jaX1zZXQgc2l6ZShSKXt0aGlzLiNpPVJ9I289KGFzKHRoaXMseiksYXModGhpcyxULCJub3JtYWwiKSk7Z2V0IHN0YXR1cygpe3JldHVybiB0aGlzLiNvfXNldCBzdGF0dXMoUil7dGhpcy4jbz1SfSNuPShhcyh0aGlzLFApLGFzKHRoaXMsTSwhMSkpO2dldCBpbnNpZGVGb3JtKCl7cmV0dXJuIHRoaXMuI259c2V0IGluc2lkZUZvcm0oUil7dGhpcy4jbj1SfSNsPShhcyh0aGlzLFMpLGFzKHRoaXMsQSx2b2lkIDApKTtnZXQgaWNvbigpe3JldHVybiB0aGlzLiNsfXNldCBpY29uKFIpe3RoaXMuI2w9Un0jYz0oYXModGhpcyxGKSxhcyh0aGlzLGosImxlZnQiKSk7Z2V0IGljb25Qb3NpdGlvbigpe3JldHVybiB0aGlzLiNjfXNldCBpY29uUG9zaXRpb24oUil7dGhpcy4jYz1SfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxhcyh0aGlzLEcpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSwhdGhpcy5pbnNpZGVGb3JtJiZ0aGlzLmNsb3Nlc3QoImRlZXMtZm9ybSIpJiYodGhpcy5pbnNpZGVGb3JtPSEwKX1zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICB9CiAgICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogRm9ybSBzcGFjaW5nIHN0eWxlcyAqLwogICAgICA6aG9zdChbaW5zaWRlLWZvcm1dKSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW2luc2lkZS1mb3JtXTpsYXN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1mb3JtW2hvcml6b250YWwtbGF5b3V0XSA6aG9zdChbaW5zaWRlLWZvcm1dKSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIG1hcmdpbi1yaWdodDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLWZvcm1baG9yaXpvbnRhbC1sYXlvdXRdIDpob3N0KFtpbnNpZGUtZm9ybV06bGFzdC1jaGlsZCkgewogICAgICAgIG1hcmdpbi1yaWdodDogMDsKICAgICAgfQoKICAgICAgLmJ1dHRvbiB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLyogU2l6ZSB2YXJpYW50cyAqLwogICAgICAuYnV0dG9uLnNpemUtZGVmYXVsdCB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2l6ZS1zbSB7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2l6ZS1sZyB7CiAgICAgICAgaGVpZ2h0OiA0NHB4OwogICAgICAgIHBhZGRpbmc6IDAgMjRweDsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2l6ZS1pY29uIHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgd2lkdGg6IDM2cHg7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLyogRGVmYXVsdCB2YXJpYW50ICovCiAgICAgIC5idXR0b24uZGVmYXVsdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxNSAyMC4yJSAxMS44JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpOwogICAgICB9CgogICAgICAuYnV0dG9uLmRlZmF1bHQ6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDEwLjIlKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgODUlKSIsImhzbCgyMTUgMjAuMiUgMjAlKSIpfTsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5kZWZhdWx0OmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE1IDIwLjIlIDklKSIpfTsKICAgICAgfQoKICAgICAgLyogRGVzdHJ1Y3RpdmUgdmFyaWFudCAqLwogICAgICAuYnV0dG9uLmRlc3RydWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiBoc2woMCA4NC4yJSA2MC4yJSk7CiAgICAgICAgY29sb3I6IGhzbCgwIDAlIDk4JSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5idXR0b24uZGVzdHJ1Y3RpdmU6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6IGhzbCgwIDg0LjIlIDU2LjIlKTsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5kZXN0cnVjdGl2ZTphY3RpdmU6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6IGhzbCgwIDg0LjIlIDUyLjIlKTsKICAgICAgfQoKICAgICAgLyogT3V0bGluZSB2YXJpYW50ICovCiAgICAgIC5idXR0b24ub3V0bGluZSB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMjEuOCUpIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLm91dGxpbmU6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgODUlKSIsImhzbCgyMTUgMjAuMiUgMjYuOCUpIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLm91dGxpbmU6YWN0aXZlOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMTMuOCUpIil9OwogICAgICB9CgogICAgICAvKiBTZWNvbmRhcnkgdmFyaWFudCAqLwogICAgICAuYnV0dG9uLnNlY29uZGFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMTMuOCUpIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLnNlY29uZGFyeTphY3RpdmU6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgODUlKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICB9CgogICAgICAvKiBHaG9zdCB2YXJpYW50ICovCiAgICAgIC5idXR0b24uZ2hvc3QgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5idXR0b24uZ2hvc3Q6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5naG9zdDphY3RpdmU6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxMy44JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIExpbmsgdmFyaWFudCAqLwogICAgICAuYnV0dG9uLmxpbmsgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC5idXR0b24ubGluazpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBjdXJyZW50Q29sb3I7CiAgICAgIH0KCiAgICAgIC8qIFN0YXR1cyBzdGF0ZXMgKi8KICAgICAgLmJ1dHRvbi5wZW5kaW5nLAogICAgICAuYnV0dG9uLnN1Y2Nlc3MsCiAgICAgIC5idXR0b24uZXJyb3IgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHBhZGRpbmctbGVmdDogMzZweDsgLyogU3BhY2UgZm9yIHNwaW5uZXIgKi8KICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi5zaXplLXNtLnBlbmRpbmcsCiAgICAgIC5idXR0b24uc2l6ZS1zbS5zdWNjZXNzLAogICAgICAuYnV0dG9uLnNpemUtc20uZXJyb3IgewogICAgICAgIHBhZGRpbmctbGVmdDogMzJweDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi5zaXplLWxnLnBlbmRpbmcsCiAgICAgIC5idXR0b24uc2l6ZS1sZy5zdWNjZXNzLAogICAgICAuYnV0dG9uLnNpemUtbGcuZXJyb3IgewogICAgICAgIHBhZGRpbmctbGVmdDogNDRweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5wZW5kaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSAvIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5idXR0b24uc3VjY2VzcyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuYnV0dG9uLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUpIiwiaHNsKDAgNjIuOCUgNzAuNiUgLyAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCA2Mi44JSA3MC42JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC8qIERpc2FibGVkIHN0YXRlICovCiAgICAgIC5idXR0b24uZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAvKiBIaWRkZW4gc3RhdGUgKi8KICAgICAgLmJ1dHRvbi5oaWRkZW4gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIEZvY3VzIHN0YXRlICovCiAgICAgIC5idXR0b246Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4OwogICAgICB9CgogICAgICAvKiBMb2FkaW5nIHNwaW5uZXIgKi8KICAgICAgZGVlcy1zcGlubmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMTBweDsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5idXR0b24uc2l6ZS1zbSBkZWVzLXNwaW5uZXIgewogICAgICAgIGxlZnQ6IDhweDsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5idXR0b24uc2l6ZS1sZyBkZWVzLXNwaW5uZXIgewogICAgICAgIGxlZnQ6IDE0cHg7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICB9CiAgICAgIAogICAgICAvKiBJY29uIHNpemluZyB3aXRoaW4gYnV0dG9ucyAqLwogICAgICAuYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CiAgICAgIAogICAgICAuYnV0dG9uLnNpemUtc20gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5idXR0b24uc2l6ZS1sZyBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgfQoKICAgICAgLyogVGV4dCBhbGlnbm1lbnQgKi8KICAgICAgLnRleHRib3ggewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgIGBdO2V4dHJhY3RMaWdodERvbSgpe2xldCBSPXRoaXMucXVlcnlTZWxlY3RvcigiZGVlcy1pY29uIiksVT1BcnJheS5mcm9tKHRoaXMuY2hpbGROb2RlcykuZmlsdGVyKG1lPT5tZS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKS5tYXAobWU9Pm1lLnRleHRDb250ZW50Py50cmltKCkpLmZpbHRlcihCb29sZWFuKS5qb2luKCIgIik7aWYoVSYmIXRoaXMudGV4dCYmKHRoaXMudGV4dD1VKSxSKXtsZXQgbWU9Ui5pY29ufHxSLmdldEF0dHJpYnV0ZSgiaWNvbiIpfHwoUi5pY29uRkE/YGZhOiR7Ui5pY29uRkF9YDpudWxsKTtpZihtZSl7bGV0IEk9QXJyYXkuZnJvbSh0aGlzLmNoaWxkTm9kZXMpLHE9SS5pbmRleE9mKFIpLGNlPUkuZmlsdGVyKHVlPT51ZS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiZ1ZS50ZXh0Q29udGVudD8udHJpbSgpKTtpZihjZS5sZW5ndGg+MCl7bGV0IHVlPUkuaW5kZXhPZihjZVswXSk7dGhpcy5pY29uUG9zaXRpb249cTx1ZT8ibGVmdCI6InJpZ2h0In10aGlzLmljb249bWV9Ui5yZW1vdmUoKX10aGlzLmlubmVySFRNTD0iIn1yZW5kZXIoKXtsZXQgVT17bm9ybWFsOiJkZWZhdWx0IixoaWdobGlnaHRlZDoiZGVzdHJ1Y3RpdmUiLGRpc2NyZWV0OiJvdXRsaW5lIixiaWc6ImRlZmF1bHQifVt0aGlzLnR5cGVdfHx0aGlzLnR5cGUsbWU9dGhpcy50eXBlPT09ImJpZyI/ImxnIjp0aGlzLnNpemUsST10aGlzLmljb25Qb3NpdGlvbj09PSJsZWZ0IiYmdGhpcy5pY29uP3dgPGRlZXMtaWNvbiAuaWNvbj0ke3RoaXMuaWNvbn0+PC9kZWVzLWljb24+YDoiIixxPXRoaXMuaWNvblBvc2l0aW9uPT09InJpZ2h0IiYmdGhpcy5pY29uP3dgPGRlZXMtaWNvbiAuaWNvbj0ke3RoaXMuaWNvbn0+PC9kZWVzLWljb24+YDoiIixjZT1tZT09PSJpY29uIiYmdGhpcy5pY29uO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImJ1dHRvbiAke3RoaXMuaXNIaWRkZW4/ImhpZGRlbiI6IiJ9ICR7VX0gc2l6ZS0ke21lfSAke3RoaXMuc3RhdHVzfSAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgQGNsaWNrPSIke3RoaXMuZGlzcGF0Y2hDbGlja30iCiAgICAgID4KICAgICAgICAke3RoaXMuc3RhdHVzPT09Im5vcm1hbCI/d2BgOndgCiAgICAgICAgICA8ZGVlcy1zcGlubmVyCiAgICAgICAgICAgIC5ibnc9JHshMH0KICAgICAgICAgICAgc3RhdHVzPSIke3RoaXMuc3RhdHVzfSIKICAgICAgICAgICAgc2l6ZT0iJHttZT09PSJzbSI/MTQ6bWU9PT0ibGciPzE4OjE2fSIKICAgICAgICAgID48L2RlZXMtc3Bpbm5lcj4KICAgICAgICBgfQogICAgICAgICR7SX0KICAgICAgICAke2NlPyIiOndgPGRpdiBjbGFzcz0idGV4dGJveCI+JHt0aGlzLnRleHR8fCJCdXR0b24ifTwvZGl2PmB9CiAgICAgICAgJHtxfQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZGlzcGF0Y2hDbGljaygpe3RoaXMuZGlzYWJsZWR8fHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNsaWNrZWQiLHtkZXRhaWw6e2RhdGE6dGhpcy5ldmVudERldGFpbERhdGF9LGJ1YmJsZXM6ITB9KSl9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5leHRyYWN0TGlnaHREb20oKX1zdGF0aWN7YXMocix0KX19O3JldHVybiBoZT1yfSkoKX0pO3ZhciBfNCx0byxTbGEsSHNlPWYoKCk9Pntyc2EoKTtXcygpO21zKCk7bGUoKTt2YSgpO1hyKCk7a2YoKTtRZSgpO1FyKCk7XzQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHRvPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxTbGE9KCgpPT57bGV0IGE9W0hKKCksaWUoImRlZXMtc3RhdHNncmlkIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W107dmFyIEI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTdGF0c0dyaWQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6TnVtYmVyfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6QXJyYXl9KV0seT1bSygpXSxOPVtLKCldLE89W0soKV0sXzQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aWxlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGlsZXMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50aWxlcywiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnRpbGVzPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbixsKSxfNCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pblRpbGVXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ibWluVGlsZVdpZHRoImluIFMsImhhcyIpLGdldDpzKFM9PlMubWluVGlsZVdpZHRoLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MubWluVGlsZVdpZHRoPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxfNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImdhcCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iZ2FwImluIFMsImhhcyIpLGdldDpzKFM9PlMuZ2FwLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MuZ2FwPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbSx2KSxfNCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImdyaWRBY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJncmlkQWN0aW9ucyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmdyaWRBY3Rpb25zLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MuZ3JpZEFjdGlvbnM9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLF80KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGV4dE1lbnVWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjb250ZXh0TWVudVZpc2libGUiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5jb250ZXh0TWVudVZpc2libGUsImdldCIpLHNldDpzKChTLEUpPT57Uy5jb250ZXh0TWVudVZpc2libGU9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxrLEMpLF80KHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGV4dE1lbnVQb3NpdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iY29udGV4dE1lbnVQb3NpdGlvbiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmNvbnRleHRNZW51UG9zaXRpb24sImdldCIpLHNldDpzKChTLEUpPT57Uy5jb250ZXh0TWVudVBvc2l0aW9uPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sXyx6KSxfNCh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRleHRNZW51QWN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iY29udGV4dE1lbnVBY3Rpb25zImluIFMsImhhcyIpLGdldDpzKFM9PlMuY29udGV4dE1lbnVBY3Rpb25zLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MuY29udGV4dE1lbnVBY3Rpb25zPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sVCxQKSxfNChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpNfSxudWxsLHQpLEI9cj1lLnZhbHVlLE0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6TX0pfXN0YXRpYyBkZW1vPWFzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhdGEgVmlldyJdOyNlPXRvKHRoaXMsbixbXSk7Z2V0IHRpbGVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRpbGVzKE0pe3RoaXMuI2U9TX0jdD0odG8odGhpcyxsKSx0byh0aGlzLGMsMjUwKSk7Z2V0IG1pblRpbGVXaWR0aCgpe3JldHVybiB0aGlzLiN0fXNldCBtaW5UaWxlV2lkdGgoTSl7dGhpcy4jdD1NfSNhPSh0byh0aGlzLHApLHRvKHRoaXMsbSwxNikpO2dldCBnYXAoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZ2FwKE0pe3RoaXMuI2E9TX0jcj0odG8odGhpcyx2KSx0byh0aGlzLGIsW10pKTtnZXQgZ3JpZEFjdGlvbnMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgZ3JpZEFjdGlvbnMoTSl7dGhpcy4jcj1NfSNzPSh0byh0aGlzLGcpLHRvKHRoaXMsaywhMSkpO2dldCBjb250ZXh0TWVudVZpc2libGUoKXtyZXR1cm4gdGhpcy4jc31zZXQgY29udGV4dE1lbnVWaXNpYmxlKE0pe3RoaXMuI3M9TX0jaT0odG8odGhpcyxDKSx0byh0aGlzLF8se3g6MCx5OjB9KSk7Z2V0IGNvbnRleHRNZW51UG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jaX1zZXQgY29udGV4dE1lbnVQb3NpdGlvbihNKXt0aGlzLiNpPU19I289KHRvKHRoaXMseiksdG8odGhpcyxULFtdKSk7Z2V0IGNvbnRleHRNZW51QWN0aW9ucygpe3JldHVybiB0aGlzLiNvfXNldCBjb250ZXh0TWVudUFjdGlvbnMoTSl7dGhpcy4jbz1NfXN0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICB9CgogICAgICAvKiBDU1MgVmFyaWFibGVzIGZvciBjb25zaXN0ZW50IHNwYWNpbmcgYW5kIHNpemluZyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgLS1ncmlkLWdhcDogMTJweDsKICAgICAgICAtLXRpbGUtcGFkZGluZzogMTZweDsKICAgICAgICAtLWhlYWRlci1zcGFjaW5nOiAxMnB4OwogICAgICAgIC0tY29udGVudC1taW4taGVpZ2h0OiA0MHB4OwogICAgICAgIC0tdmFsdWUtZm9udC1zaXplOiAyNnB4OwogICAgICAgIC0tdW5pdC1mb250LXNpemU6IDE0cHg7CiAgICAgICAgLS1sYWJlbC1mb250LXNpemU6IDEycHg7CiAgICAgICAgLS10aXRsZS1mb250LXNpemU6IDEzcHg7CiAgICAgICAgLS1kZXNjcmlwdGlvbi1zcGFjaW5nOiA4cHg7CiAgICAgICAgLS1ib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgLS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1czsKICAgICAgfQoKICAgICAgLyogR3JpZCBMYXlvdXQgKi8KICAgICAgLmdyaWQtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ3JpZC1nYXApICogMS41KTsKICAgICAgICBtaW4taGVpZ2h0OiA0MHB4OwogICAgICB9CgogICAgICAuZ3JpZC10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLmdyaWQtYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLmdyaWQtYWN0aW9ucyBkZWVzLWJ1dHRvbiB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1sYWJlbC1mb250LXNpemUpOwogICAgICB9CgogICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KCR7b2EoMjUwKX1weCwgMWZyKSk7CiAgICAgICAgZ2FwOiAke29hKDE2KX1weDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLyogVGlsZSBCYXNlIFN0eWxlcyDigJQgZnJhbWUgcHJvdmlkZWQgYnkgZGVlcy10aWxlLCBob3ZlciB2aWEgOjpwYXJ0ICovCiAgICAgIC5zdGF0cy10aWxlOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24pIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zdGF0cy10aWxlOmhvdmVyOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICB9CgogICAgICAuc3RhdHMtdGlsZS5jbGlja2FibGUgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLnN0YXRzLXRpbGUuY2xpY2thYmxlOmhvdmVyOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCAke2guYmRUaGVtZSgicmdiYSgwLDAsMCwwLjAzKSIsInJnYmEoMCwwLDAsMC4xNSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFRpbGUgSGVhZGVyIOKAlCBzbG90dGVkIGludG8gZGVlcy10aWxlIGhlYWRlciAqLwogICAgICAudGlsZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRpbGUtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGl0bGUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBsaW5lLWhlaWdodDogMS4yOwogICAgICB9CgogICAgICAudGlsZS1pY29uIHsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAvKiBUaWxlIENvbnRlbnQg4oCUIHNsb3R0ZWQgaW50byBkZWVzLXRpbGUgY29udGVudCBhcmVhICovCiAgICAgIC50aWxlLWNvbnRlbnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWNvbnRlbnQtbWluLWhlaWdodCk7CiAgICAgIH0KCiAgICAgIC50aWxlLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXZhbHVlLWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICB9CgogICAgICAudGlsZS11bml0IHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXVuaXQtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAudGlsZS1kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1sYWJlbC1mb250LXNpemUpOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgIH0KCiAgICAgIC8qIEdhdWdlIFN0eWxlcyAqLwogICAgICAuZ2F1Z2Utd3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuZ2F1Z2UtY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTIwcHg7CiAgICAgICAgaGVpZ2h0OiA3MHB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW4tdG9wOiAtOHB4OwogICAgICB9CgogICAgICAuZ2F1Z2Utc3ZnIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5nYXVnZS1iYWNrZ3JvdW5kIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICAgIHN0cm9rZTogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiA2OwogICAgICB9CgogICAgICAuZ2F1Z2UtZmlsbCB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2Utd2lkdGg6IDY7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IDAuNnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLmdhdWdlLXRleHQgewogICAgICAgIGZpbGw6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS12YWx1ZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC1hbmNob3I6IG1pZGRsZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KICAgICAgCiAgICAgIC5nYXVnZS11bml0IHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXVuaXQtZm9udC1zaXplKTsKICAgICAgICBmaWxsOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICB9CgogICAgICAvKiBQZXJjZW50YWdlIFN0eWxlcyAqLwogICAgICAucGVyY2VudGFnZS13cmFwcGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5wZXJjZW50YWdlLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXZhbHVlLWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLnBlcmNlbnRhZ2UtYmFyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOwogICAgICB9CgogICAgICAucGVyY2VudGFnZS1maWxsIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAvKiBNdWx0aSBQZXJjZW50YWdlIFN0eWxlcyAqLwogICAgICAubXVsdGktcGVyY2VudGFnZS13cmFwcGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLm11bHRpLXBlcmNlbnRhZ2UtaXRlbXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWFyZ2luLXRvcDogYXV0bzsKICAgICAgfQoKICAgICAgLm11bHRpLXBlcmNlbnRhZ2UtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgfQoKICAgICAgLm11bHRpLXBlcmNlbnRhZ2UtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLm11bHRpLXBlcmNlbnRhZ2UtYmFyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLm11bHRpLXBlcmNlbnRhZ2UtZmlsbCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgfQoKICAgICAgLyogQ1BVIENvcmVzIFN0eWxlcyAqLwogICAgICAuY3B1LWNvcmVzLXdyYXBwZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZXMtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CgogICAgICAuY3B1LWNvcmVzLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXZhbHVlLWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICB9CgogICAgICAuY3B1LWNvcmVzLXVuaXQgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdW5pdC1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZXMtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbGFiZWwtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICB9CgogICAgICAuY3B1LWNvcmVzLWJhcnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogICAgICAgIGdhcDogM3B4OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogNjBweDsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgfQoKICAgICAgLmNwdS1jb3Jlcy1iYXJzLmNlbnRlcmVkIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmNwdS1jb3JlLWJhci1jb250YWluZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiA2cHg7CiAgICAgICAgbWF4LXdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmNwdS1jb3JlLWJhci13cmFwcGVyIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBtaW4taGVpZ2h0OiA0MHB4OwogICAgICB9CgogICAgICAuY3B1LWNvcmUtYmFyLWZpbGwgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweCAycHggMCAwOwogICAgICB9CgogICAgICAuY3B1LWNvcmUtYmFyLWZpbGwubG93IHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjY2VudC1zdWNjZXNzKTsKICAgICAgfQoKICAgICAgLmNwdS1jb3JlLWJhci1maWxsLm1lZGl1bSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtd2FybmluZyk7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZS1iYXItZmlsbC5oaWdoIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjY2VudC1lcnJvcik7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiA5cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLyogUGFydGl0aW9uIFN0eWxlcyAqLwogICAgICAucGFydGl0aW9uLXdyYXBwZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAucGFydGl0aW9uLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tcGVyY2VudGFnZSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS12YWx1ZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS4xOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1iYXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucGFydGl0aW9uLWJhci1maWxsIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAucGFydGl0aW9uLWJhci1maWxsLndhcm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LXdhcm5pbmcpOwogICAgICB9CgogICAgICAucGFydGl0aW9uLWJhci1maWxsLmNyaXRpY2FsIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjY2VudC1lcnJvcik7CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tc3RhdHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLXRvcDogYXV0bzsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1zdGF0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tc3RhdC1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtOwogICAgICB9CgogICAgICAucGFydGl0aW9uLXN0YXQtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tbWV0YSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1maWxlc3lzdGVtIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tbW91bnRwb2ludCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICB9CgogICAgICAvKiBEaXNrIFN0eWxlcyAqLwogICAgICAuZGlzay13cmFwcGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleDogMTsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmRpc2stY2FwYWNpdHkgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KCiAgICAgIC5kaXNrLW1vZGVsIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAuZGlzay10eXBlLWJhZGdlIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLmRpc2stbWV0cmljcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi10b3A6IGF1dG87CiAgICAgIH0KCiAgICAgIC5kaXNrLWlvcHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5kaXNrLWlvcHMtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5kaXNrLWlvcHMtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgIH0KCiAgICAgIC5kaXNrLWlvcHMtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuZGlzay1oZWFsdGgtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICB9CgogICAgICAuZGlzay1oZWFsdGgtYmFyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLWZpbGwgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICB9CgogICAgICAuZGlzay1oZWFsdGgtZmlsbC5nb29kIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiKX07CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1maWxsLndhcm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woNDUuNCA5My40JSA0Ny41JSkiLCJoc2woNDUuNCA5My40JSA0Ny41JSkiKX07CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1maWxsLmNyaXRpY2FsIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUpIiwiaHNsKDAgODQuMiUgNjAuMiUpIil9OwogICAgICB9CgogICAgICAvKiBUcmVuZCBTdHlsZXMgKi8KICAgICAgLnRyZW5kLWNvbnRhaW5lciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC50cmVuZC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAudHJlbmQtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KCiAgICAgIC50cmVuZC11bml0IHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXVuaXQtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAudHJlbmQtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbGFiZWwtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICB9CgogICAgICAudHJlbmQtZ3JhcGggewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luLXRvcDogYXV0bzsKICAgICAgfQoKICAgICAgLnRyZW5kLXN2ZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAudHJlbmQtbGluZSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxLjU7CiAgICAgICAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDsKICAgICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7CiAgICAgIH0KCiAgICAgIC50cmVuZC1hcmVhIHsKICAgICAgICBmaWxsOiAke2guYmRUaGVtZSgicmdiYSgxNTAsIDE1MCwgMTUwLCAwLjA4KSIsInJnYmEoMTAwLCAxMDAsIDEwMCwgMC4wOCkiKX07CiAgICAgIH0KCiAgICAgIC8qIFRleHQgVmFsdWUgU3R5bGVzICovCiAgICAgIC50ZXh0LXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXZhbHVlLWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICB9CgogICAgICAvKiBDb250ZXh0IE1lbnUgKi8KICAgICAgZGVlcy1jb250ZXh0bWVudSB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgIH0KICAgIGAsaC5jc3NGb3JUYWJsZXQoWGAKICAgICAgLnN0YXRzLWdyaWQgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7CiAgICAgIH0KICAgIGAsciksaC5jc3NGb3JQaGFibGV0KFhgCiAgICAgIDpob3N0IHsKICAgICAgICAtLXRpbGUtcGFkZGluZzogMTJweDsKICAgICAgICAtLXZhbHVlLWZvbnQtc2l6ZTogMjJweDsKICAgICAgICAtLXRpdGxlLWZvbnQtc2l6ZTogMTJweDsKICAgICAgICAtLWdyaWQtZ2FwOiA4cHg7CiAgICAgIH0KICAgICAgLnN0YXRzLWdyaWQgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CiAgICAgIC5zdGF0cy10aWxlIHsKICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAxICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgIGAsciksaC5jc3NGb3JQaG9uZShYYAogICAgICA6aG9zdCB7CiAgICAgICAgLS10aWxlLXBhZGRpbmc6IDEwcHg7CiAgICAgICAgLS12YWx1ZS1mb250LXNpemU6IDIwcHg7CiAgICAgICAgLS1oZWFkZXItc3BhY2luZzogOHB4OwogICAgICB9CiAgICAgIC5zdGF0cy1ncmlkIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQogICAgYCxyKV07Y29uc3RydWN0b3IoKXtzdXBlcigpLHRvKHRoaXMsUCl9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5ncmlkQWN0aW9ucy5sZW5ndGg+MD93YAogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtdGl0bGUiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1hY3Rpb25zIj4KICAgICAgICAgICAgJHt0aGlzLmdyaWRBY3Rpb25zLm1hcChNPT53YAogICAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiAKICAgICAgICAgICAgICAgIEBjbGlja2VkPSR7KCk9PnRoaXMuaGFuZGxlR3JpZEFjdGlvbihNKX0KICAgICAgICAgICAgICAgIHR5cGU9Im91dGxpbmUiCiAgICAgICAgICAgICAgICBzaXplPSJzbSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke00uaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSR7TS5pY29uTmFtZX0gc2l6ZT0ic21hbGwiPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgICAke00ubmFtZX0KICAgICAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICBgKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgICAKICAgICAgPGRpdiBjbGFzcz0ic3RhdHMtZ3JpZCIgc3R5bGU9ImdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoJHt0aGlzLm1pblRpbGVXaWR0aH1weCwgMWZyKSk7IGdhcDogJHt0aGlzLmdhcH1weDsiPgogICAgICAgICR7dGhpcy50aWxlcy5tYXAoTT0+dGhpcy5yZW5kZXJUaWxlKE0pKX0KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuY29udGV4dE1lbnVWaXNpYmxlP3dgCiAgICAgICAgPGRlZXMtY29udGV4dG1lbnUKICAgICAgICAgIC54PSR7dGhpcy5jb250ZXh0TWVudVBvc2l0aW9uLnh9CiAgICAgICAgICAueT0ke3RoaXMuY29udGV4dE1lbnVQb3NpdGlvbi55fQogICAgICAgICAgLm1lbnVJdGVtcz0ke3RoaXMuY29udGV4dE1lbnVBY3Rpb25zfQogICAgICAgICAgQGNsaWNrZWQ9JHsoKT0+dGhpcy5jb250ZXh0TWVudVZpc2libGU9ITF9CiAgICAgICAgPjwvZGVlcy1jb250ZXh0bWVudT4KICAgICAgYDoiIn0KICAgIGB9cmVuZGVyVGlsZShNKXtsZXQgUz1NLmFjdGlvbnMmJk0uYWN0aW9ucy5sZW5ndGg+MCxFPVMmJk0uYWN0aW9ucy5sZW5ndGg9PT0xLEE9TS5jb2x1bW5TcGFuJiZNLmNvbHVtblNwYW4+MT9NLmNvbHVtblNwYW46dm9pZCAwO3JldHVybiB3YAogICAgICA8ZGVlcy10aWxlCiAgICAgICAgY2xhc3M9InN0YXRzLXRpbGUgJHtFPyJjbGlja2FibGUiOiIifSIKICAgICAgICBzdHlsZT0iJHtBP2BncmlkLWNvbHVtbjogc3BhbiAke0F9YDoiIn0iCiAgICAgICAgQGNsaWNrPSR7RT8oKT0+dGhpcy5oYW5kbGVUaWxlQWN0aW9uKE0uYWN0aW9uc1swXSxNKTp2b2lkIDB9CiAgICAgICAgQGNvbnRleHRtZW51PSR7Uz9GPT50aGlzLnNob3dDb250ZXh0TWVudShGLE0pOnZvaWQgMH0KICAgICAgPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0idGlsZS1oZWFkZXIiPgogICAgICAgICAgPGgzIGNsYXNzPSJ0aWxlLXRpdGxlIj4ke00udGl0bGV9PC9oMz4KICAgICAgICAgICR7TS5pY29uP3dgCiAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9InRpbGUtaWNvbiIgLmljb249JHtNLmljb259IHNpemU9InNtYWxsIj48L2RlZXMtaWNvbj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtY29udGVudCI+CiAgICAgICAgICAke3RoaXMucmVuZGVyVGlsZUNvbnRlbnQoTSl9CiAgICAgICAgPC9kaXY+CgogICAgICAgICR7TS5kZXNjcmlwdGlvbiYmTS50eXBlIT09InRyZW5kIj93YAogICAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJ0aWxlLWRlc2NyaXB0aW9uIj4ke00uZGVzY3JpcHRpb259PC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfXJlbmRlclRpbGVDb250ZW50KE0pe3N3aXRjaChNLnR5cGUpe2Nhc2UibnVtYmVyIjpyZXR1cm4gd2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtdmFsdWUiIHN0eWxlPSIke00uY29sb3I/YGNvbG9yOiAke00uY29sb3J9YDoiIn0iPgogICAgICAgICAgICA8c3Bhbj4ke00udmFsdWV9PC9zcGFuPgogICAgICAgICAgICAke00udW5pdD93YDxzcGFuIGNsYXNzPSJ0aWxlLXVuaXQiPiR7TS51bml0fTwvc3Bhbj5gOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDtjYXNlImdhdWdlIjpyZXR1cm4gdGhpcy5yZW5kZXJHYXVnZShNKTtjYXNlInBlcmNlbnRhZ2UiOnJldHVybiB0aGlzLnJlbmRlclBlcmNlbnRhZ2UoTSk7Y2FzZSJ0cmVuZCI6cmV0dXJuIHRoaXMucmVuZGVyVHJlbmQoTSk7Y2FzZSJtdWx0aVBlcmNlbnRhZ2UiOnJldHVybiB0aGlzLnJlbmRlck11bHRpUGVyY2VudGFnZShNKTtjYXNlImNwdUNvcmVzIjpyZXR1cm4gdGhpcy5yZW5kZXJDcHVDb3JlcyhNKTtjYXNlInBhcnRpdGlvbiI6cmV0dXJuIHRoaXMucmVuZGVyUGFydGl0aW9uKE0pO2Nhc2UiZGlzayI6cmV0dXJuIHRoaXMucmVuZGVyRGlzayhNKTtjYXNlInRleHQiOnJldHVybiB3YAogICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC12YWx1ZSIgc3R5bGU9IiR7TS5jb2xvcj9gY29sb3I6ICR7TS5jb2xvcn1gOiIifSI+CiAgICAgICAgICAgICR7TS52YWx1ZX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA7ZGVmYXVsdDpyZXR1cm4gd2A8ZGl2IGNsYXNzPSJ0aWxlLXZhbHVlIj4ke00udmFsdWV9PC9kaXY+YH19cmVuZGVyR2F1Z2UoTSl7bGV0IFM9dHlwZW9mIE0udmFsdWU9PSJudW1iZXIiP00udmFsdWU6cGFyc2VGbG9hdChNLnZhbHVlKSxFPU0uZ2F1Z2VPcHRpb25zfHx7bWluOjAsbWF4OjEwMH0sQT0oUy1FLm1pbikvKEUubWF4LUUubWluKSoxMDAsRj0xMjAsVz03MCxHPTYvMisyLGhlPTQwLFI9Ri8yLFU9Vy1HLG1lPVItaGUsST1VLHE9UitoZSx1ZT1gTSAke21lfSAke0l9IEEgJHtoZX0gJHtoZX0gMCAwIDEgJHtxfSAke1V9YCxZPU1hdGguUEkqaGUsUT1ZLVkqQS8xMDAsSj1NLmNvbG9yfHxoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjguOCUpIiwiaHNsKDIxMCA0MCUgNzglKSIpO2lmKEUudGhyZXNob2xkcyl7bGV0IFo9Wy4uLkUudGhyZXNob2xkc10uc29ydCgoZ2UsYWUpPT5hZS52YWx1ZS1nZS52YWx1ZSk7Zm9yKGxldCBnZSBvZiBaKWlmKFM+PWdlLnZhbHVlKXtKPWdlLmNvbG9yO2JyZWFrfX1yZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZ2F1Z2Utd3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2F1Z2UtY29udGFpbmVyIj4KICAgICAgICAgIDxzdmcgY2xhc3M9ImdhdWdlLXN2ZyIgdmlld0JveD0iMCAwICR7Rn0gJHtXfSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+CiAgICAgICAgICAgIDwhLS0gQmFja2dyb3VuZCBhcmMgLS0+CiAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgY2xhc3M9ImdhdWdlLWJhY2tncm91bmQiCiAgICAgICAgICAgICAgZD0iJHt1ZX0iCiAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwhLS0gRmlsbGVkIGFyYyAtLT4KICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICBjbGFzcz0iZ2F1Z2UtZmlsbCIKICAgICAgICAgICAgICBkPSIke3VlfSIKICAgICAgICAgICAgICBzdHJva2U9IiR7Sn0iCiAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheT0iJHtZfSIKICAgICAgICAgICAgICBzdHJva2UtZGFzaG9mZnNldD0iJHtRfSIKICAgICAgICAgICAgLz4KICAgICAgICAgICAgPCEtLSBWYWx1ZSB0ZXh0IC0tPgogICAgICAgICAgICA8dGV4dCBjbGFzcz0iZ2F1Z2UtdGV4dCIgeD0iJHtSfSIgeT0iJHtVLTh9IiBkb21pbmFudC1iYXNlbGluZT0ibWlkZGxlIj4KICAgICAgICAgICAgICA8dHNwYW4+JHtTfTwvdHNwYW4+JHtNLnVuaXQ/d2A8dHNwYW4gY2xhc3M9ImdhdWdlLXVuaXQiIGR4PSIyIiBkeT0iMCI+JHtNLnVuaXR9PC90c3Bhbj5gOiIifQogICAgICAgICAgICA8L3RleHQ+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclBlcmNlbnRhZ2UoTSl7bGV0IFM9dHlwZW9mIE0udmFsdWU9PSJudW1iZXIiP00udmFsdWU6cGFyc2VGbG9hdChNLnZhbHVlKSxFPU1hdGgubWluKDEwMCxNYXRoLm1heCgwLFMpKTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0icGVyY2VudGFnZS13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwZXJjZW50YWdlLXZhbHVlIj4ke0V9JTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBlcmNlbnRhZ2UtYmFyIj4KICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgIGNsYXNzPSJwZXJjZW50YWdlLWZpbGwiIAogICAgICAgICAgICBzdHlsZT0id2lkdGg6ICR7RX0lOyAke00uY29sb3I/YGJhY2tncm91bmQ6ICR7TS5jb2xvcn1gOiIifSIKICAgICAgICAgID48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclRyZW5kKE0pe2lmKCFNLnRyZW5kRGF0YXx8TS50cmVuZERhdGEubGVuZ3RoPDIpcmV0dXJuIHdgPGRpdiBjbGFzcz0idGlsZS12YWx1ZSI+JHtNLnZhbHVlfTwvZGl2PmA7bGV0IFM9TS50cmVuZERhdGEsRT1NYXRoLm1heCguLi5TKSxBPU1hdGgubWluKC4uLlMpLEY9RS1BfHwxLFc9MzAwLGo9MzIsRz0yLGhlPVMubWFwKChVLG1lKT0+e2xldCBJPW1lLyhTLmxlbmd0aC0xKSpXLHE9Rysoai0yKkcpLShVLUEpL0YqKGotMipHKTtyZXR1cm5gJHtJfSwke3F9YH0pLmpvaW4oIiAiKSxSPWAwLCR7an0gJHtoZX0gJHtXfSwke2p9YDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0idHJlbmQtY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0cmVuZC1oZWFkZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InRyZW5kLXZhbHVlIj4ke00udmFsdWV9PC9zcGFuPgogICAgICAgICAgJHtNLnVuaXQ/d2A8c3BhbiBjbGFzcz0idHJlbmQtdW5pdCI+JHtNLnVuaXR9PC9zcGFuPmA6IiJ9CiAgICAgICAgICAke00uZGVzY3JpcHRpb24/d2A8c3BhbiBjbGFzcz0idHJlbmQtbGFiZWwiPiR7TS5kZXNjcmlwdGlvbn08L3NwYW4+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0cmVuZC1ncmFwaCI+CiAgICAgICAgICA8c3ZnIGNsYXNzPSJ0cmVuZC1zdmciIHZpZXdCb3g9IjAgMCAke1d9ICR7an0iIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgogICAgICAgICAgICA8cG9seWdvbiBjbGFzcz0idHJlbmQtYXJlYSIgcG9pbnRzPSIke1J9IiAvPgogICAgICAgICAgICA8cG9seWxpbmUgY2xhc3M9InRyZW5kLWxpbmUiIHBvaW50cz0iJHtoZX0iIC8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck11bHRpUGVyY2VudGFnZShNKXtpZighTS5wZXJjZW50YWdlc3x8TS5wZXJjZW50YWdlcy5sZW5ndGg9PT0wKXJldHVybiB3YDxkaXYgY2xhc3M9InRpbGUtdmFsdWUiPiR7TS52YWx1ZX08L2Rpdj5gO2xldCBTPU0ucGVyY2VudGFnZXMuc2xpY2UoMCwzKTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibXVsdGktcGVyY2VudGFnZS13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLWl0ZW1zIj4KICAgICAgICAgICR7Uy5tYXAoRT0+e2xldCBBPU1hdGgubWluKDEwMCxNYXRoLm1heCgwLEUudmFsdWUpKTtyZXR1cm4gd2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLWl0ZW0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXVsdGktcGVyY2VudGFnZS1oZWFkZXIiPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibXVsdGktcGVyY2VudGFnZS1sYWJlbCI+JHtFLmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im11bHRpLXBlcmNlbnRhZ2UtdmFsdWUiPiR7QX0lPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLWJhciI+CiAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICBjbGFzcz0ibXVsdGktcGVyY2VudGFnZS1maWxsIgogICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogJHtBfSU7ICR7RS5jb2xvcj9gYmFja2dyb3VuZDogJHtFLmNvbG9yfWA6IiJ9IgogICAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0pfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQ3B1Q29yZXMoTSl7aWYoIU0uY29yZXNEYXRhfHxNLmNvcmVzRGF0YS5sZW5ndGg9PT0wKXJldHVybiB3YDxkaXYgY2xhc3M9InRpbGUtdmFsdWUiPiR7TS52YWx1ZX08L2Rpdj5gO2xldCBTPU0uY29yZXNEYXRhLEU9TWF0aC5yb3VuZChTLnJlZHVjZSgoaGUsUik9PmhlK1IudXNhZ2UsMCkvUy5sZW5ndGgpLEE9cyhoZT0+aGU8NTA/ImxvdyI6aGU8ODA/Im1lZGl1bSI6ImhpZ2giLCJnZXRDb2xvckNsYXNzIiksRj1TLmxlbmd0aCoyNCsoUy5sZW5ndGgtMSkqMyxXPU0uY29sdW1uU3Bhbnx8MSxqPXRoaXMubWluVGlsZVdpZHRoKlcrKFctMSkqdGhpcy5nYXAtMzIsRz1GPGoqLjY2NjtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY3B1LWNvcmVzLXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNwdS1jb3Jlcy1oZWFkZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdS1jb3Jlcy12YWx1ZSI+JHtFfTwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHUtY29yZXMtdW5pdCI+JTwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHUtY29yZXMtbGFiZWwiPiR7Uy5sZW5ndGh9IGNvcmVzPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNwdS1jb3Jlcy1iYXJzICR7Rz8iY2VudGVyZWQiOiIifSI+CiAgICAgICAgICAke1MubWFwKGhlPT57bGV0IFI9TWF0aC5taW4oMTAwLE1hdGgubWF4KDAsaGUudXNhZ2UpKSxVPUEoUik7cmV0dXJuIHdgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3B1LWNvcmUtYmFyLWNvbnRhaW5lciIgdGl0bGU9IkNvcmUgJHtoZS5sYWJlbHx8aGUuaWR9OiAke1J9JSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHUtY29yZS1iYXItd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY3B1LWNvcmUtYmFyLWZpbGwgJHtVfSIKICAgICAgICAgICAgICAgICAgICBzdHlsZT0iaGVpZ2h0OiAke1J9JSIKICAgICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAke1MubGVuZ3RoPD0xNj93YAogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B1LWNvcmUtbGFiZWwiPiR7aGUubGFiZWx8fGhlLmlkfTwvc3Bhbj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9KX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWZvcm1hdEJ5dGVzKE0pe2lmKE09PT0wKXJldHVybiIwIEIiO2xldCBTPTEwMjQsRT1bIkIiLCJLQiIsIk1CIiwiR0IiLCJUQiIsIlBCIl0sQT1NYXRoLmZsb29yKE1hdGgubG9nKE0pL01hdGgubG9nKFMpKTtyZXR1cm4gcGFyc2VGbG9hdCgoTS9NYXRoLnBvdyhTLEEpKS50b0ZpeGVkKDEpKSsiICIrRVtBXX1yZW5kZXJQYXJ0aXRpb24oTSl7aWYoIU0ucGFydGl0aW9uRGF0YSlyZXR1cm4gd2A8ZGl2IGNsYXNzPSJ0aWxlLXZhbHVlIj4ke00udmFsdWV9PC9kaXY+YDtsZXR7dXNlZDpTLHRvdGFsOkUsZmlsZXN5c3RlbTpBLG1vdW50UG9pbnQ6Rn09TS5wYXJ0aXRpb25EYXRhLFc9TWF0aC5taW4oMTAwLE1hdGgubWF4KDAsUy9FKjEwMCkpLGo9RS1TLEc9cygoKT0+Vz49OTA/ImNyaXRpY2FsIjpXPj03NT8id2FybmluZyI6IiIsImdldENvbG9yQ2xhc3MiKTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InBhcnRpdGlvbi1oZWFkZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InBhcnRpdGlvbi1wZXJjZW50YWdlIj4ke01hdGgucm91bmQoVyl9JTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwYXJ0aXRpb24tYmFyIj4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9InBhcnRpdGlvbi1iYXItZmlsbCAke0coKX0iCiAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogJHtXfSUiCiAgICAgICAgICA+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLXN0YXRzIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBhcnRpdGlvbi1zdGF0Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBhcnRpdGlvbi1zdGF0LWxhYmVsIj5Vc2VkPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXN0YXQtdmFsdWUiPiR7dGhpcy5mb3JtYXRCeXRlcyhTKX08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBhcnRpdGlvbi1zdGF0Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBhcnRpdGlvbi1zdGF0LWxhYmVsIj5GcmVlPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXN0YXQtdmFsdWUiPiR7dGhpcy5mb3JtYXRCeXRlcyhqKX08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwYXJ0aXRpb24tbWV0YSI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLWZpbGVzeXN0ZW0iPiR7QX08L3NwYW4+CiAgICAgICAgICAke0Y/d2A8c3BhbiBjbGFzcz0icGFydGl0aW9uLW1vdW50cG9pbnQiPiR7Rn08L3NwYW4+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckRpc2soTSl7aWYoIU0uZGlza0RhdGEpcmV0dXJuIHdgPGRpdiBjbGFzcz0idGlsZS12YWx1ZSI+JHtNLnZhbHVlfTwvZGl2PmA7bGV0e2NhcGFjaXR5OlMsbW9kZWw6RSx0eXBlOkEsaW9wczpGLGhlYWx0aDpXfT1NLmRpc2tEYXRhLGo9cyhHPT5HPj03MD8iZ29vZCI6Rz49MzA/Indhcm5pbmciOiJjcml0aWNhbCIsImdldEhlYWx0aENsYXNzIik7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRpc2std3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1jYXBhY2l0eSI+JHt0aGlzLmZvcm1hdEJ5dGVzKFMpfTwvZGl2PgogICAgICAgICR7RXx8QT93YAogICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1tb2RlbCI+CiAgICAgICAgICAgICR7RT93YDxzcGFuPiR7RX08L3NwYW4+YDoiIn0KICAgICAgICAgICAgJHtBP3dgPHNwYW4gY2xhc3M9ImRpc2stdHlwZS1iYWRnZSI+JHtBfTwvc3Bhbj5gOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLW1ldHJpY3MiPgogICAgICAgICAgJHtGP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpc2staW9wcyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1pb3BzLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpc2staW9wcy1sYWJlbCI+UmVhZDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaXNrLWlvcHMtdmFsdWUiPiR7Ri5yZWFkLnRvTG9jYWxlU3RyaW5nKCl9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpc2staW9wcy1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaXNrLWlvcHMtbGFiZWwiPldyaXRlPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpc2staW9wcy12YWx1ZSI+JHtGLndyaXRlLnRvTG9jYWxlU3RyaW5nKCl9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke1chPT12b2lkIDA/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1oZWFsdGgiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpc2staGVhbHRoLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGlzay1oZWFsdGgtbGFiZWwiPkhlYWx0aDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaXNrLWhlYWx0aC12YWx1ZSI+JHtXfSU8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1oZWFsdGgtYmFyIj4KICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9ImRpc2staGVhbHRoLWZpbGwgJHtqKFcpfSIKICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAke1d9JSIKICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgaGFuZGxlR3JpZEFjdGlvbihNKXtNLmFjdGlvbiYmYXdhaXQgTS5hY3Rpb24oKX1hc3luYyBoYW5kbGVUaWxlQWN0aW9uKE0sUyl7TS5hY3Rpb24mJmF3YWl0IE0uYWN0aW9uKCl9c2hvd0NvbnRleHRNZW51KE0sUyl7aWYoIVMuYWN0aW9uc3x8Uy5hY3Rpb25zLmxlbmd0aD09PTApcmV0dXJuO00ucHJldmVudERlZmF1bHQoKSx0aGlzLmNvbnRleHRNZW51UG9zaXRpb249e3g6TS5jbGllbnRYLHk6TS5jbGllbnRZfSx0aGlzLmNvbnRleHRNZW51QWN0aW9ucz1TLmFjdGlvbnMsdGhpcy5jb250ZXh0TWVudVZpc2libGU9ITA7bGV0IEU9cygoKT0+e3RoaXMuY29udGV4dE1lbnVWaXNpYmxlPSExLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixFKX0sImNsb3NlSGFuZGxlciIpO3NldFRpbWVvdXQoKCk9Pntkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsRSl9LDEwMCl9c3RhdGlje3RvKHIsdCl9fTtyZXR1cm4gQj1yfSkoKX0pO3ZhciBuNSxubCxoS2ksbUtpLGdLaSxiS2ksemxhLENsYT1mKCgpPT57bGUoKTtOYSgpO0hzZSgpO241PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxubD1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0saEtpPSgoKT0+e2xldCBhPVtpZSgiZGVtby1kYXNoYm9hcmQtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZW1vRGFzaGJvYXJkVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sbjUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3RpdmF0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+ImFjdGl2YXRlZCJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLmFjdGl2YXRlZCwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmFjdGl2YXRlZD11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksbjUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KSxubChyLHQpfSNlPW5sKHRoaXMsbiwhMSk7Z2V0IGFjdGl2YXRlZCgpe3JldHVybiB0aGlzLiNlfXNldCBhY3RpdmF0ZWQoYyl7dGhpcy4jZT1jfWN0eD1ubCh0aGlzLGwpO3N0YXRzVGlsZXM9W3tpZDoidXNlcnMiLHRpdGxlOiJBY3RpdmUgVXNlcnMiLHZhbHVlOjEyMzQsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6dXNlcnMiLGRlc2NyaXB0aW9uOiJPbmxpbmUgbm93Iixjb2xvcjoiIzIyYzU1ZSJ9LHtpZDoiYXBpLWNhbGxzIix0aXRsZToiQVBJIENhbGxzIix2YWx1ZTo0NTIwMCx0eXBlOiJ0cmVuZCIsaWNvbjoibHVjaWRlOmFjdGl2aXR5IixkZXNjcmlwdGlvbjoiKzEyJSBmcm9tIGxhc3QgaG91ciIsY29sb3I6IiMzYjgyZjYiLHRyZW5kRGF0YTpbMzJlMywzNWUzLDM4ZTMsNDFlMywzOWUzLDQyZTMsNDUyMDBdfSx7aWQ6ImhlYWx0aCIsdGl0bGU6IlN5c3RlbSBIZWFsdGgiLHZhbHVlOjk5LjksdW5pdDoiJSIsdHlwZToiZ2F1Z2UiLGljb246Imx1Y2lkZTpoZWFydC1wdWxzZSIsZGVzY3JpcHRpb246IkFsbCBzeXN0ZW1zIG9wZXJhdGlvbmFsIixjb2xvcjoiIzEwYjk4MSIsZ2F1Z2VPcHRpb25zOnttaW46MCxtYXg6MTAwLHRocmVzaG9sZHM6W3t2YWx1ZTo4MCxjb2xvcjoiI2VmNDQ0NCJ9LHt2YWx1ZTo5NSxjb2xvcjoiI2Y1OWUwYiJ9LHt2YWx1ZToxMDAsY29sb3I6IiMxMGI5ODEifV19fSx7aWQ6InJlc3BvbnNlIix0aXRsZToiQXZnIFJlc3BvbnNlIix2YWx1ZToxMjcsdW5pdDoibXMiLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnRpbWVyIixkZXNjcmlwdGlvbjoiLTE1bXMgZnJvbSB5ZXN0ZXJkYXkiLGNvbG9yOiIjOGI1Y2Y2In0se2lkOiJyZXNvdXJjZXMiLHRpdGxlOiJSZXNvdXJjZSBVc2FnZSIsdmFsdWU6IiIsdHlwZToibXVsdGlQZXJjZW50YWdlIixpY29uOiJsdWNpZGU6c2VydmVyIixwZXJjZW50YWdlczpbe2xhYmVsOiJDUFUiLHZhbHVlOjY3LGNvbG9yOiIjM2I4MmY2In0se2xhYmVsOiJNZW1vcnkiLHZhbHVlOjg0LGNvbG9yOiIjOGI1Y2Y2In0se2xhYmVsOiJEaXNrIix2YWx1ZTo0NSxjb2xvcjoiIzEwYjk4MSJ9XX0se2lkOiJyZXF1ZXN0cyIsdGl0bGU6IlJlcXVlc3RzL3NlYyIsdmFsdWU6MTg1MCx0eXBlOiJ0cmVuZCIsaWNvbjoibHVjaWRlOnphcCIsZGVzY3JpcHRpb246IkN1cnJlbnQgdGhyb3VnaHB1dCIsY29sb3I6IiMwNmI2ZDQiLHRyZW5kRGF0YTpbMTIwMCwxNDAwLDEzNTAsMTYwMCwxNzUwLDE2ODAsMTg1MF19XTtvbkFjdGl2YXRlKGMpe3RoaXMuY3R4PWMsdGhpcy5hY3RpdmF0ZWQ9ITAsY29uc29sZS5sb2coIkRhc2hib2FyZCBhY3RpdmF0ZWQgd2l0aCBjb250ZXh0OiIsYyksYy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJEYXNoYm9hcmQiLGdyb3Vwczpbe25hbWU6IlF1aWNrIEFjY2VzcyIsaWNvbk5hbWU6Imx1Y2lkZTp6YXAiLGl0ZW1zOlt7a2V5OiJPdmVydmlldyIsaWNvbk5hbWU6ImxheW91dERhc2hib2FyZCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJPdmVydmlldyIpLCJhY3Rpb24iKX0se2tleToiUmVjZW50IixpY29uTmFtZToiY2xvY2siLGJhZGdlOjUsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJSZWNlbnQiKSwiYWN0aW9uIil9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6ImFjdGlvbiIsa2V5OiJSZWZyZXNoIERhdGEiLGljb25OYW1lOiJsdWNpZGU6cmVmcmVzaEN3IixhY3Rpb246cygoKT0+YWxlcnQoIlJlZnJlc2hpbmcgZGFzaGJvYXJkIGRhdGEuLi4iKSwiYWN0aW9uIil9XX0se25hbWU6IkZpbHRlcnMiLGljb25OYW1lOiJsdWNpZGU6ZmlsdGVyIixpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6IlRpbWUgUmFuZ2UifSx7dHlwZToiZmlsdGVyIixrZXk6IkxpdmUgVXBkYXRlcyIsaWNvbk5hbWU6Imx1Y2lkZTpyYWRpbyIsYWN0aXZlOiEwLG9uVG9nZ2xlOnMocD0+Y29uc29sZS5sb2coIkxpdmUgdXBkYXRlczoiLHApLCJvblRvZ2dsZSIpfSx7dHlwZToiZmlsdGVyIixrZXk6IlNob3cgQXJjaGl2ZWQiLGljb25OYW1lOiJsdWNpZGU6YXJjaGl2ZSIsYWN0aXZlOiExLG9uVG9nZ2xlOnMocD0+Y29uc29sZS5sb2coIlNob3cgYXJjaGl2ZWQ6IixwKSwib25Ub2dnbGUiKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToibXVsdGlGaWx0ZXIiLGtleToiRGF0YSBTb3VyY2VzIixpY29uTmFtZToibHVjaWRlOmRhdGFiYXNlIixvcHRpb25zOlt7a2V5OiJhcGkiLGxhYmVsOiJBUEkgU2VydmVyIixjaGVja2VkOiEwLGljb25OYW1lOiJsdWNpZGU6c2VydmVyIn0se2tleToid2ViIixsYWJlbDoiV2ViIFRyYWZmaWMiLGNoZWNrZWQ6ITAsaWNvbk5hbWU6Imx1Y2lkZTpnbG9iZSJ9LHtrZXk6Im1vYmlsZSIsbGFiZWw6Ik1vYmlsZSBBcHAiLGNoZWNrZWQ6ITEsaWNvbk5hbWU6Imx1Y2lkZTpzbWFydHBob25lIn1dLG9uQ2hhbmdlOnMocD0+Y29uc29sZS5sb2coIkRhdGEgc291cmNlczoiLHApLCJvbkNoYW5nZSIpfV19LHtuYW1lOiJBbmFseXRpY3MiLGljb25OYW1lOiJsdWNpZGU6YmFyQ2hhcnQzIixpdGVtczpbe2tleToiTWV0cmljcyIsaWNvbk5hbWU6ImFjdGl2aXR5IixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIk1ldHJpY3MiKSwiYWN0aW9uIil9LHtrZXk6IlJlcG9ydHMiLGljb25OYW1lOiJmaWxlVGV4dCIsYmFkZ2U6Im5ldyIsYmFkZ2VWYXJpYW50OiJzdWNjZXNzIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlJlcG9ydHMiKSwiYWN0aW9uIil9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6ImxpbmsiLGtleToiQW5hbHl0aWNzIERvY3MiLGljb25OYW1lOiJsdWNpZGU6ZXh0ZXJuYWxMaW5rIixocmVmOiJodHRwczovL2RvY3MuZXhhbXBsZS5jb20vYW5hbHl0aWNzIn1dfV19KSxjLmFwcHVpLnNldENvbnRlbnRUYWJzKFt7a2V5OiJPdmVydmlldyIsaWNvbk5hbWU6Imx1Y2lkZTpsYXlvdXREYXNoYm9hcmQiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiT3ZlcnZpZXcgdGFiIiksImFjdGlvbiIpfSx7a2V5OiJBbmFseXRpY3MiLGljb25OYW1lOiJsdWNpZGU6YmFyQ2hhcnQiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiQW5hbHl0aWNzIHRhYiIpLCJhY3Rpb24iKX0se2tleToiUmVwb3J0cyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlVGV4dCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJSZXBvcnRzIHRhYiIpLCJhY3Rpb24iKX1dKX1vbkRlYWN0aXZhdGUoKXt0aGlzLmFjdGl2YXRlZD0hMSxjb25zb2xlLmxvZygiRGFzaGJvYXJkIGRlYWN0aXZhdGVkIil9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICBjb2xvcjogI2EzYTNhMzsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7CiAgICAgICAgfQogICAgICAgIGgxIHsgY29sb3I6ICNmYWZhZmE7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMjRweDsgbWFyZ2luLWJvdHRvbTogOHB4OyB9CiAgICAgICAgcCB7IGNvbG9yOiAjNzM3MzczOyBtYXJnaW4tYm90dG9tOiAzMnB4OyB9CiAgICAgICAgZGVlcy1zdGF0c2dyaWQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsKICAgICAgICB9CgogICAgICAgIC5jdHgtYWN0aW9ucyB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wMik7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIH0KICAgICAgICAuY3R4LWFjdGlvbnMgaDIgeyBjb2xvcjogI2ZhZmFmYTsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNjAwOyBtYXJnaW4tYm90dG9tOiAxNnB4OyB9CiAgICAgICAgLmJ1dHRvbi1ncmlkIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICB9CiAgICAgICAgLmN0eC1idG4gewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMSk7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKTsKICAgICAgICAgIGNvbG9yOiAjNjBhNWZhOwogICAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICB9CiAgICAgICAgLmN0eC1idG46aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMik7CiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjUpOwogICAgICAgIH0KICAgICAgICAuY3R4LWJ0bi5kYW5nZXIgewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4zKTsKICAgICAgICAgIGNvbG9yOiAjZjg3MTcxOwogICAgICAgIH0KICAgICAgICAuY3R4LWJ0bi5kYW5nZXI6aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4yKTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC41KTsKICAgICAgICB9CiAgICAgICAgLmN0eC1idG4uc3VjY2VzcyB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjEpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjMpOwogICAgICAgICAgY29sb3I6ICM0YWRlODA7CiAgICAgICAgfQogICAgICAgIC5jdHgtYnRuLnN1Y2Nlc3M6aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4yKTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMTk3LCA5NCwgMC41KTsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxoMT5EYXNoYm9hcmQ8L2gxPgogICAgICA8cD5XZWxjb21lIGJhY2shIEhlcmUncyBhbiBvdmVydmlldyBvZiB5b3VyIHN5c3RlbS48L3A+CiAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgIC50aWxlcz0ke3RoaXMuc3RhdHNUaWxlc30KICAgICAgICBAdGlsZS1hY3Rpb249JHtjPT5jb25zb2xlLmxvZygiVGlsZSBhY3Rpb246IixjLmRldGFpbCl9CiAgICAgID48L2RlZXMtc3RhdHNncmlkPgoKICAgICAgPGRpdiBjbGFzcz0iY3R4LWFjdGlvbnMiPgogICAgICAgIDxoMj5Db250ZXh0IEFjdGlvbnMgKGN0eC5hcHB1aSk8L2gyPgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0TWFpbk1lbnVWaXNpYmxlKCExKX0+SGlkZSBNYWluIE1lbnU8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4gc3VjY2VzcyIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRNYWluTWVudVZpc2libGUoITApfT5TaG93IE1haW4gTWVudTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRTZWNvbmRhcnlNZW51VmlzaWJsZSghMSl9PkhpZGUgU2Vjb25kYXJ5IE1lbnU8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4gc3VjY2VzcyIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRTZWNvbmRhcnlNZW51VmlzaWJsZSghMCl9PlNob3cgU2Vjb25kYXJ5IE1lbnU8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0Q29udGVudFRhYnNWaXNpYmxlKCExKX0+SGlkZSBDb250ZW50IFRhYnM8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4gc3VjY2VzcyIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRDb250ZW50VGFic1Zpc2libGUoITApfT5TaG93IENvbnRlbnQgVGFiczwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRNYWluTWVudUNvbGxhcHNlZCghMCl9PkNvbGxhcHNlIE1haW4gTWVudTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biBzdWNjZXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldE1haW5NZW51Q29sbGFwc2VkKCExKX0+RXhwYW5kIE1haW4gTWVudTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRCcmVhZGNydW1icyhbIkRhc2hib2FyZCIsIk92ZXJ2aWV3IiwiU3RhdHMiXSl9PlNldCBCcmVhZGNydW1iczwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5uYXZpZ2F0ZVRvVmlldygicHJvamVjdHMiKX0+R28gdG8gUHJvamVjdHM8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkubmF2aWdhdGVUb1ZpZXcoInNldHRpbmdzIix7c2VjdGlvbjoic2VjdXJpdHkifSl9PkdvIHRvIFNldHRpbmdzL1NlY3VyaXR5PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLmFjdGl2aXR5TG9nLmFkZCh7dHlwZToiY3VzdG9tIix1c2VyOiJEZW1vIFVzZXIiLG1lc3NhZ2U6IkJ1dHRvbiBjbGlja2VkIGZyb20gY3R4ISIsaWNvbk5hbWU6Imx1Y2lkZTptb3VzZS1wb2ludGVyLWNsaWNrIn0pfT5BZGQgQWN0aXZpdHkgRW50cnk8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0TWFpbk1lbnVCYWRnZSgidGFza3MiLDk5KX0+U2V0IFRhc2tzIEJhZGdlIHRvIDk5PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIGRhbmdlciIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5jbGVhck1haW5NZW51QmFkZ2UoInRhc2tzIil9PkNsZWFyIFRhc2tzIEJhZGdlPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldENvbnRlbnRUYWJzQXV0b0hpZGUoITAsMSl9PkF1dG8taGlkZSBUYWJzICjiiaQxKTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biBkYW5nZXIiIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0Q29udGVudFRhYnNBdXRvSGlkZSghMSl9PkRpc2FibGUgQXV0by1oaWRlPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIHN1Y2Nlc3MiIEBjbGljaz0keygpPT50aGlzLmFkZENsb3NlYWJsZVRhYigpfT5BZGQgQ2xvc2VhYmxlIFRhYjwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9dGFiQ291bnRlcj0wO2FkZENsb3NlYWJsZVRhYigpe2lmKCF0aGlzLmN0eClyZXR1cm47dGhpcy50YWJDb3VudGVyKys7bGV0IGM9YFRhYiAke3RoaXMudGFiQ291bnRlcn1gO3RoaXMuY3R4LmFwcHVpLmFkZENvbnRlbnRUYWIoe2tleTpjLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKGBTZWxlY3RlZCAke2N9YCksImFjdGlvbiIpLGNsb3NlYWJsZTohMCxvbkNsb3NlOnMoKCk9Pnt0aGlzLmN0eD8uYXBwdWkucmVtb3ZlQ29udGVudFRhYihjKX0sIm9uQ2xvc2UiKX0pfX07cmV0dXJuIGQ9cn0pKCksbUtpPSgoKT0+e2xldCBhPVtpZSgiZGVtby1zZXR0aW5ncy12aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlbW9TZXR0aW5nc1ZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVtLKCldLGQ9W0soKV0sbjUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWN0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJzZWN0aW9uImluIHYsImhhcyIpLGdldDpzKHY9PnYuc2VjdGlvbiwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnNlY3Rpb249eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLG41KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGFzQ2hhbmdlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iaGFzQ2hhbmdlcyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52Lmhhc0NoYW5nZXMsImdldCIpLHNldDpzKCh2LHgpPT57di5oYXNDaGFuZ2VzPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxuNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pLG5sKHIsdCl9I2U9bmwodGhpcyxuLCJnZW5lcmFsIik7Z2V0IHNlY3Rpb24oKXtyZXR1cm4gdGhpcy4jZX1zZXQgc2VjdGlvbihtKXt0aGlzLiNlPW19I3Q9KG5sKHRoaXMsbCksbmwodGhpcyxjLCExKSk7Z2V0IGhhc0NoYW5nZXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaGFzQ2hhbmdlcyhtKXt0aGlzLiN0PW19YXBwdWk9bmwodGhpcyxwKTtvbkFjdGl2YXRlKG0pe3RoaXMuYXBwdWk9bS5hcHB1aSxjb25zb2xlLmxvZygiU2V0dGluZ3MgYWN0aXZhdGVkIHdpdGggcGFyYW1zOiIsbS5wYXJhbXMpLG0ucGFyYW1zPy5zZWN0aW9uJiYodGhpcy5zZWN0aW9uPW0ucGFyYW1zLnNlY3Rpb24pLG0uYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiU2V0dGluZ3MiLGdyb3Vwczpbe25hbWU6IkFjY291bnQiLGljb25OYW1lOiJsdWNpZGU6dXNlciIsaXRlbXM6W3trZXk6ImdlbmVyYWwiLGljb25OYW1lOiJzZXR0aW5ncyIsYWN0aW9uOnMoKCk9PnRoaXMuc2hvd1NlY3Rpb24oImdlbmVyYWwiKSwiYWN0aW9uIil9LHtrZXk6InByb2ZpbGUiLGljb25OYW1lOiJ1c2VyIixhY3Rpb246cygoKT0+dGhpcy5zaG93U2VjdGlvbigicHJvZmlsZSIpLCJhY3Rpb24iKX0se2tleToic2VjdXJpdHkiLGljb25OYW1lOiJzaGllbGQiLGFjdGlvbjpzKCgpPT50aGlzLnNob3dTZWN0aW9uKCJzZWN1cml0eSIpLCJhY3Rpb24iKX1dfSx7bmFtZToiUHJlZmVyZW5jZXMiLGljb25OYW1lOiJsdWNpZGU6c2xpZGVycyIsaXRlbXM6W3trZXk6Im5vdGlmaWNhdGlvbnMiLGljb25OYW1lOiJiZWxsIixiYWRnZTozLGFjdGlvbjpzKCgpPT50aGlzLnNob3dTZWN0aW9uKCJub3RpZmljYXRpb25zIiksImFjdGlvbiIpfSx7a2V5OiJhcHBlYXJhbmNlIixpY29uTmFtZToicGFsZXR0ZSIsYWN0aW9uOnMoKCk9PnRoaXMuc2hvd1NlY3Rpb24oImFwcGVhcmFuY2UiKSwiYWN0aW9uIil9XX1dfSksbS5hcHB1aS5zZXRTZWNvbmRhcnlNZW51U2VsZWN0aW9uKHRoaXMuc2VjdGlvbiksbS5hcHB1aS5zZXRDb250ZW50VGFicyhbXSl9b25EZWFjdGl2YXRlKCl7Y29uc29sZS5sb2coIlNldHRpbmdzIGRlYWN0aXZhdGVkIiksdGhpcy5oYXNDaGFuZ2VzPSExfWNhbkRlYWN0aXZhdGUoKXtyZXR1cm4gdGhpcy5oYXNDaGFuZ2VzPyJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMuIExlYXZlIGFueXdheT8iOiEwfXNob3dTZWN0aW9uKG0pe3RoaXMuc2VjdGlvbj1tLHRoaXMuYXBwdWk/LnNldFNlY29uZGFyeU1lbnVTZWxlY3Rpb24obSl9c2ltdWxhdGVDaGFuZ2UoKXt0aGlzLmhhc0NoYW5nZXM9ITB9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICBjb2xvcjogI2EzYTNhMzsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7CiAgICAgICAgfQogICAgICAgIGgxIHsgY29sb3I6ICNmYWZhZmE7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMjRweDsgbWFyZ2luLWJvdHRvbTogOHB4OyB9CiAgICAgICAgcCB7IGNvbG9yOiAjNzM3MzczOyBtYXJnaW4tYm90dG9tOiAyNHB4OyB9CiAgICAgICAgLnNlY3Rpb24tbmFtZSB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDUpOwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEpOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICAgIGNvbG9yOiAjZmFmYWZhOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICB9CiAgICAgICAgLmFjdGlvbnMgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICB9CiAgICAgICAgYnV0dG9uIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICMzYjgyZjY7CiAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgICAgYnV0dG9uOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICMyNTYzZWI7CiAgICAgICAgfQogICAgICAgIC53YXJuaW5nIHsKICAgICAgICAgIGNvbG9yOiAjZmJiZjI0OwogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxoMT5TZXR0aW5nczwvaDE+CiAgICAgIDxwPk1hbmFnZSB5b3VyIGFjY291bnQgYW5kIGFwcGxpY2F0aW9uIHByZWZlcmVuY2VzLjwvcD4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1uYW1lIj4KICAgICAgICBDdXJyZW50IHNlY3Rpb246IDxzdHJvbmc+JHt0aGlzLnNlY3Rpb259PC9zdHJvbmc+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj4KICAgICAgICA8YnV0dG9uIEBjbGljaz0keygpPT50aGlzLnNpbXVsYXRlQ2hhbmdlKCl9Pk1ha2UgQ2hhbmdlczwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgJHt0aGlzLmhhc0NoYW5nZXM/d2A8cCBjbGFzcz0id2FybmluZyI+WW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzLiBOYXZpZ2F0aW9uIHdpbGwgcHJvbXB0IGZvciBjb25maXJtYXRpb24uPC9wPmA6IiJ9CiAgICBgfX07cmV0dXJuIHU9cn0pKCksZ0tpPSgoKT0+e2xldCBhPVtpZSgiZGVtby1wcm9qZWN0cy12aWV3IildLGUsdD1bXSxyLGk9cGU7dmFyIG89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlbW9Qcm9qZWN0c1ZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pLG5sKHIsdCl9b25BY3RpdmF0ZShuKXtuLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IlByb2plY3RzIixncm91cHM6W3tuYW1lOiJNeSBQcm9qZWN0cyIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXIiLGl0ZW1zOlt7a2V5OiJBY3RpdmUiLGljb25OYW1lOiJmb2xkZXIiLGJhZGdlOjMsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJBY3RpdmUiKSwiYWN0aW9uIil9LHtrZXk6IkFyY2hpdmVkIixpY29uTmFtZToiYXJjaGl2ZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJBcmNoaXZlZCIpLCJhY3Rpb24iKX0se2tleToiU2hhcmVkIixpY29uTmFtZToidXNlcnMiLGJhZGdlOjIsYmFkZ2VWYXJpYW50OiJ3YXJuaW5nIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlNoYXJlZCIpLCJhY3Rpb24iKX1dfSx7bmFtZToiUXVpY2sgQWN0aW9ucyIsaWNvbk5hbWU6Imx1Y2lkZTp6YXAiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6Ik5ldyBQcm9qZWN0IixpY29uTmFtZToibHVjaWRlOmZvbGRlclBsdXMiLGFjdGlvbjpzKCgpPT5hbGVydCgiQ3JlYXRlIG5ldyBwcm9qZWN0IiksImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIixrZXk6IkltcG9ydCIsaWNvbk5hbWU6Imx1Y2lkZTpkb3dubG9hZCIsYWN0aW9uOnMoKCk9PmFsZXJ0KCJJbXBvcnQgcHJvamVjdCIpLCJhY3Rpb24iKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToibGluayIsa2V5OiJUZW1wbGF0ZXMiLGljb25OYW1lOiJsdWNpZGU6bGF5b3V0VGVtcGxhdGUiLGhyZWY6Imh0dHBzOi8vdGVtcGxhdGVzLmV4YW1wbGUuY29tIn1dfV19KSxuLmFwcHVpLnNldENvbnRlbnRUYWJzKFt7a2V5OiJHcmlkIixpY29uTmFtZToibHVjaWRlOmdyaWQiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiR3JpZCB2aWV3IiksImFjdGlvbiIpfSx7a2V5OiJMaXN0IixpY29uTmFtZToibHVjaWRlOmxpc3QiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiTGlzdCB2aWV3IiksImFjdGlvbiIpfSx7a2V5OiJCb2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTprYW5iYW4iLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiQm9hcmQgdmlldyIpLCJhY3Rpb24iKX1dKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgIGNvbG9yOiAjYTNhM2EzOwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjsKICAgICAgICB9CiAgICAgICAgaDEgeyBjb2xvcjogI2ZhZmFmYTsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyNHB4OyBtYXJnaW4tYm90dG9tOiAyNHB4OyB9CiAgICAgICAgLnByb2plY3RzIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KICAgICAgICAucHJvamVjdCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDMpOwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA4KTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yczsKICAgICAgICB9CiAgICAgICAgLnByb2plY3Q6aG92ZXIgewogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7CiAgICAgICAgfQogICAgICAgIC5wcm9qZWN0IGgzIHsgY29sb3I6ICNmYWZhZmE7IG1hcmdpbjogMCAwIDhweCAwOyBmb250LXNpemU6IDE2cHg7IH0KICAgICAgICAucHJvamVjdCBwIHsgY29sb3I6ICM3MzczNzM7IG1hcmdpbjogMDsgZm9udC1zaXplOiAxM3B4OyB9CiAgICAgICAgLmJhZGdlIHsKICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICAgIGJhY2tncm91bmQ6ICMxNDUzMmQ7CiAgICAgICAgICBjb2xvcjogIzRhZGU4MDsKICAgICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA5cHg7CiAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGgxPlByb2plY3RzPC9oMT4KICAgICAgPGRpdiBjbGFzcz0icHJvamVjdHMiPgogICAgICAgIDxkaXYgY2xhc3M9InByb2plY3QiPgogICAgICAgICAgPGgzPkZyb250ZW5kIEFwcCA8c3BhbiBjbGFzcz0iYmFkZ2UiPkFjdGl2ZTwvc3Bhbj48L2gzPgogICAgICAgICAgPHA+UmVhY3QtYmFzZWQgZGFzaGJvYXJkIGFwcGxpY2F0aW9uPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2plY3QiPgogICAgICAgICAgPGgzPkFQSSBTZXJ2ZXIgPHNwYW4gY2xhc3M9ImJhZGdlIj5BY3RpdmU8L3NwYW4+PC9oMz4KICAgICAgICAgIDxwPk5vZGUuanMgUkVTVCBBUEkgYmFja2VuZDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9qZWN0Ij4KICAgICAgICAgIDxoMz5Nb2JpbGUgQXBwIDxzcGFuIGNsYXNzPSJiYWRnZSI+QWN0aXZlPC9zcGFuPjwvaDM+CiAgICAgICAgICA8cD5SZWFjdCBOYXRpdmUgaU9TL0FuZHJvaWQgYXBwPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2plY3QiPgogICAgICAgICAgPGgzPkRvY3VtZW50YXRpb248L2gzPgogICAgICAgICAgPHA+VGVjaG5pY2FsIGRvY3VtZW50YXRpb24gc2l0ZTwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfX07cmV0dXJuIG89cn0pKCksYktpPSgoKT0+e2xldCBhPVtpZSgiZGVtby10YXNrcy12aWV3IildLGUsdD1bXSxyLGk9cGU7dmFyIG89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlbW9UYXNrc1ZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pLG5sKHIsdCl9b25BY3RpdmF0ZShuKXtuLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IlRhc2tzIixncm91cHM6W3tuYW1lOiJWaWV3cyIsaWNvbk5hbWU6Imx1Y2lkZTpleWUiLGl0ZW1zOlt7a2V5OiJBbGwgVGFza3MiLGljb25OYW1lOiJsaXN0IixiYWRnZToxMixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkFsbCIpLCJhY3Rpb24iKX0se2tleToiVG9kYXkiLGljb25OYW1lOiJjYWxlbmRhciIsYmFkZ2U6MyxhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlRvZGF5IiksImFjdGlvbiIpfSx7a2V5OiJVcGNvbWluZyIsaWNvbk5hbWU6ImNsb2NrIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlVwY29taW5nIiksImFjdGlvbiIpfSx7a2V5OiJDb21wbGV0ZWQiLGljb25OYW1lOiJjaGVja0NpcmNsZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJDb21wbGV0ZWQiKSwiYWN0aW9uIil9XX0se25hbWU6IkZpbHRlcnMiLGljb25OYW1lOiJsdWNpZGU6ZmlsdGVyIixpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6IlByaW9yaXR5In0se3R5cGU6Im11bHRpRmlsdGVyIixrZXk6IlByaW9yaXR5IixpY29uTmFtZToibHVjaWRlOmZsYWciLG9wdGlvbnM6W3trZXk6ImhpZ2giLGxhYmVsOiJIaWdoIixjaGVja2VkOiEwLGljb25OYW1lOiJsdWNpZGU6YWxlcnRDaXJjbGUifSx7a2V5OiJtZWRpdW0iLGxhYmVsOiJNZWRpdW0iLGNoZWNrZWQ6ITAsaWNvbk5hbWU6Imx1Y2lkZTptaW51c0NpcmNsZSJ9LHtrZXk6ImxvdyIsbGFiZWw6IkxvdyIsY2hlY2tlZDohMSxpY29uTmFtZToibHVjaWRlOmNpcmNsZSJ9XSxvbkNoYW5nZTpzKGw9PmNvbnNvbGUubG9nKCJQcmlvcml0eSBmaWx0ZXI6IixsKSwib25DaGFuZ2UiKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToiaGVhZGVyIixsYWJlbDoiT3B0aW9ucyJ9LHt0eXBlOiJmaWx0ZXIiLGtleToiU2hvdyBTdWJ0YXNrcyIsaWNvbk5hbWU6Imx1Y2lkZTpsaXN0VHJlZSIsYWN0aXZlOiEwLG9uVG9nZ2xlOnMobD0+Y29uc29sZS5sb2coIlNob3cgc3VidGFza3M6IixsKSwib25Ub2dnbGUiKX0se3R5cGU6ImZpbHRlciIsa2V5OiJTaG93IENvbXBsZXRlZCIsaWNvbk5hbWU6Imx1Y2lkZTpjaGVja1NxdWFyZSIsYWN0aXZlOiExLG9uVG9nZ2xlOnMobD0+Y29uc29sZS5sb2coIlNob3cgY29tcGxldGVkOiIsbCksIm9uVG9nZ2xlIil9XX0se25hbWU6IkFjdGlvbnMiLGljb25OYW1lOiJsdWNpZGU6emFwIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJBZGQgVGFzayIsaWNvbk5hbWU6Imx1Y2lkZTpwbHVzIixhY3Rpb246cygoKT0+YWxlcnQoIkFkZCBuZXcgdGFzayIpLCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJJbXBvcnQgVGFza3MiLGljb25OYW1lOiJsdWNpZGU6dXBsb2FkIixhY3Rpb246cygoKT0+YWxlcnQoIkltcG9ydCB0YXNrcyIpLCJhY3Rpb24iKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToiYWN0aW9uIixrZXk6IkNsZWFyIENvbXBsZXRlZCIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLHZhcmlhbnQ6ImRhbmdlciIsY29uZmlybU1lc3NhZ2U6IkRlbGV0ZSBhbGwgY29tcGxldGVkIHRhc2tzPyIsYWN0aW9uOnMoKCk9PmFsZXJ0KCJDbGVhcmVkIGNvbXBsZXRlZCB0YXNrcyIpLCJhY3Rpb24iKX1dfV19KSxuLmFwcHVpLnNldENvbnRlbnRUYWJzKFt7a2V5OiJMaXN0IixpY29uTmFtZToibHVjaWRlOmxpc3QiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiTGlzdCIpLCJhY3Rpb24iKX0se2tleToiQ2FsZW5kYXIiLGljb25OYW1lOiJsdWNpZGU6Y2FsZW5kYXIiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiQ2FsZW5kYXIiKSwiYWN0aW9uIil9XSl9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICBjb2xvcjogI2EzYTNhMzsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7CiAgICAgICAgfQogICAgICAgIGgxIHsgY29sb3I6ICNmYWZhZmE7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMjRweDsgbWFyZ2luLWJvdHRvbTogMjRweDsgfQogICAgICAgIC50YXNrLWxpc3QgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICB9CiAgICAgICAgLnRhc2sgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDMpOwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA4KTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICB9CiAgICAgICAgLmNoZWNrYm94IHsKICAgICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzUyNTI1MjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CiAgICAgICAgLnRhc2stdGV4dCB7IGNvbG9yOiAjZmFmYWZhOyBmbGV4OiAxOyB9CiAgICAgICAgLmR1ZS1kYXRlIHsgY29sb3I6ICM3MzczNzM7IGZvbnQtc2l6ZTogMTJweDsgfQogICAgICAgIC5wcmlvcml0eSB7CiAgICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIH0KICAgICAgICAucHJpb3JpdHkuaGlnaCB7IGJhY2tncm91bmQ6ICM0NTBhMGE7IGNvbG9yOiAjZjg3MTcxOyB9CiAgICAgICAgLnByaW9yaXR5Lm1lZGl1bSB7IGJhY2tncm91bmQ6ICM0NTFhMDM7IGNvbG9yOiAjZmJiZjI0OyB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxoMT5UYXNrczwvaDE+CiAgICAgIDxkaXYgY2xhc3M9InRhc2stbGlzdCI+CiAgICAgICAgPGRpdiBjbGFzcz0idGFzayI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGVja2JveCI+PC9kaXY+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idGFzay10ZXh0Ij5SZXZpZXcgcHVsbCByZXF1ZXN0ICM0Mjwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJkdWUtZGF0ZSI+VG9kYXk8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpb3JpdHkgaGlnaCI+SGlnaDwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YXNrIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrYm94Ij48L2Rpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YXNrLXRleHQiPlVwZGF0ZSBkb2N1bWVudGF0aW9uPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImR1ZS1kYXRlIj5Ub21vcnJvdzwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmlvcml0eSBtZWRpdW0iPk1lZGl1bTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YXNrIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrYm94Ij48L2Rpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YXNrLXRleHQiPldyaXRlIHVuaXQgdGVzdHM8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZHVlLWRhdGUiPkRlYyAyMDwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfX07cmV0dXJuIG89cn0pKCksemxhPXMoKCk9PntsZXQgYT17YnJhbmRpbmc6e2xvZ29JY29uOiJsdWNpZGU6Ym94Iixsb2dvVGV4dDoiQWNtZSBBcHAifSxhcHBCYXI6e21lbnVJdGVtczpbe25hbWU6IkZpbGUiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiTmV3IFByb2plY3QiLHNob3J0Y3V0OiJDbWQrTiIsaWNvbk5hbWU6ImZpbGVQbHVzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiTmV3IiksImFjdGlvbiIpfSx7bmFtZToiT3Blbi4uLiIsc2hvcnRjdXQ6IkNtZCtPIixpY29uTmFtZToiZm9sZGVyT3BlbiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4iKSwiYWN0aW9uIil9LHtuYW1lOiJSZWNlbnQgUHJvamVjdHMiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToibXktYXBwIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiBteS1hcHAiKSwiYWN0aW9uIil9LHtuYW1lOiJjb21wb25lbnQtbGliIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiBjb21wb25lbnQtbGliIiksImFjdGlvbiIpfV19LHtkaXZpZGVyOiEwfSx7bmFtZToiU2F2ZSBBbGwiLHNob3J0Y3V0OiJDbWQrUyIsaWNvbk5hbWU6InNhdmUiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTYXZlIiksImFjdGlvbiIpfV19LHtuYW1lOiJFZGl0IixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IlVuZG8iLHNob3J0Y3V0OiJDbWQrWiIsaWNvbk5hbWU6InVuZG8iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJVbmRvIiksImFjdGlvbiIpfSx7bmFtZToiUmVkbyIsc2hvcnRjdXQ6IkNtZCtTaGlmdCtaIixpY29uTmFtZToicmVkbyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlJlZG8iKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiQ3V0IixzaG9ydGN1dDoiQ21kK1giLGljb25OYW1lOiJzY2lzc29ycyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkN1dCIpLCJhY3Rpb24iKX0se25hbWU6IkNvcHkiLHNob3J0Y3V0OiJDbWQrQyIsaWNvbk5hbWU6ImNvcHkiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJDb3B5IiksImFjdGlvbiIpfSx7bmFtZToiUGFzdGUiLHNob3J0Y3V0OiJDbWQrViIsaWNvbk5hbWU6ImNsaXBib2FyZCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlBhc3RlIiksImFjdGlvbiIpfV19LHtuYW1lOiJWaWV3IixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IlRvZ2dsZSBTaWRlYmFyIixzaG9ydGN1dDoiQ21kK0IiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJUb2dnbGUgc2lkZWJhciIpLCJhY3Rpb24iKX0se25hbWU6IlRvZ2dsZSBBY3Rpdml0eSBMb2ciLHNob3J0Y3V0OiJDbWQrU2hpZnQrQSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlRvZ2dsZSBhY3Rpdml0eSIpLCJhY3Rpb24iKX1dfSx7bmFtZToiSGVscCIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJEb2N1bWVudGF0aW9uIixpY29uTmFtZToiYm9vayIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkRvY3MiKSwiYWN0aW9uIil9LHtuYW1lOiJLZXlib2FyZCBTaG9ydGN1dHMiLGljb25OYW1lOiJrZXlib2FyZCIsc2hvcnRjdXQ6IkNtZCsvIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiU2hvcnRjdXRzIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkFib3V0IixpY29uTmFtZToiaW5mbyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkFib3V0IiksImFjdGlvbiIpfV19XSxicmVhZGNydW1iczoiRGFzaGJvYXJkIixzaG93V2luZG93Q29udHJvbHM6ITAsc2hvd1NlYXJjaDohMCx1c2VyOntuYW1lOiJKYW5lIFNtaXRoIixlbWFpbDoiamFuZS5zbWl0aEBleGFtcGxlLmNvbSIsc3RhdHVzOiJvbmxpbmUifSxwcm9maWxlTWVudUl0ZW1zOlt7bmFtZToiUHJvZmlsZSIsaWNvbk5hbWU6InVzZXIiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJQcm9maWxlIiksImFjdGlvbiIpfSx7bmFtZToiQWNjb3VudCBTZXR0aW5ncyIsaWNvbk5hbWU6InNldHRpbmdzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiU2V0dGluZ3MiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiSGVscCAmIFN1cHBvcnQiLGljb25OYW1lOiJoZWxwQ2lyY2xlIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiSGVscCIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTaWduIE91dCIsaWNvbk5hbWU6ImxvZ091dCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNpZ24gb3V0IiksImFjdGlvbiIpfV19LHZpZXdzOlt7aWQ6ImRhc2hib2FyZCIsbmFtZToiRGFzaGJvYXJkIixpY29uTmFtZToibHVjaWRlOmhvbWUiLGNvbnRlbnQ6ImRlbW8tZGFzaGJvYXJkLXZpZXciLHJvdXRlOiJkYXNoYm9hcmQifSx7aWQ6InByb2plY3RzIixuYW1lOiJQcm9qZWN0cyIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXIiLGNvbnRlbnQ6ImRlbW8tcHJvamVjdHMtdmlldyIscm91dGU6InByb2plY3RzIixiYWRnZTozfSx7aWQ6InRhc2tzIixuYW1lOiJUYXNrcyIsaWNvbk5hbWU6Imx1Y2lkZTpjaGVja1NxdWFyZSIsY29udGVudDoiZGVtby10YXNrcy12aWV3Iixyb3V0ZToidGFza3MiLGJhZGdlOjEyfSx7aWQ6InNldHRpbmdzIixuYW1lOiJTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpzZXR0aW5ncyIsY29udGVudDoiZGVtby1zZXR0aW5ncy12aWV3Iixyb3V0ZToic2V0dGluZ3MvOnNlY3Rpb24/In1dLG1haW5NZW51OntzZWN0aW9uczpbe25hbWU6Ik1haW4iLHZpZXdzOlsiZGFzaGJvYXJkIl19LHtuYW1lOiJXb3Jrc3BhY2UiLHZpZXdzOlsicHJvamVjdHMiLCJ0YXNrcyJdfV0sYm90dG9tSXRlbXM6WyJzZXR0aW5ncyJdfSxkZWZhdWx0VmlldzoiZGFzaGJvYXJkIixib3R0b21CYXI6e3Zpc2libGU6ITAsd2lkZ2V0czpbe2lkOiJzdGF0dXMiLGljb25OYW1lOiJsdWNpZGU6YWN0aXZpdHkiLGxhYmVsOiJTeXN0ZW0gT25saW5lIixzdGF0dXM6InN1Y2Nlc3MiLHRvb2x0aXA6IkFsbCBzeXN0ZW1zIG9wZXJhdGlvbmFsIixvbkNsaWNrOnMoKCk9PmNvbnNvbGUubG9nKCJTdGF0dXMgY2xpY2tlZCIpLCJvbkNsaWNrIil9LHtpZDoibm90aWZpY2F0aW9ucyIsaWNvbk5hbWU6Imx1Y2lkZTpiZWxsIixsYWJlbDoiMyBub3RpZmljYXRpb25zIixzdGF0dXM6Indhcm5pbmciLHRvb2x0aXA6IllvdSBoYXZlIHVucmVhZCBub3RpZmljYXRpb25zIixvbkNsaWNrOnMoKCk9PmNvbnNvbGUubG9nKCJOb3RpZmljYXRpb25zIGNsaWNrZWQiKSwib25DbGljayIpfSx7aWQ6InZlcnNpb24iLGljb25OYW1lOiJsdWNpZGU6Z2l0QnJhbmNoIixsYWJlbDoidjEuMi4zIixwb3NpdGlvbjoicmlnaHQiLHRvb2x0aXA6IkN1cnJlbnQgdmVyc2lvbiJ9XSxhY3Rpb25zOlt7aWQ6InRlcm1pbmFsIixpY29uTmFtZToibHVjaWRlOnRlcm1pbmFsIix0b29sdGlwOiJPcGVuIFRlcm1pbmFsIixwb3NpdGlvbjoicmlnaHQiLG9uQ2xpY2s6cygoKT0+Y29uc29sZS5sb2coIlRlcm1pbmFsIGNsaWNrZWQiKSwib25DbGljayIpfV19LG9uVmlld0NoYW5nZTpzKChyLGkpPT57Y29uc29sZS5sb2coYFZpZXcgY2hhbmdlZCB0bzogJHtyfSAoJHtpLm5hbWV9KWApfSwib25WaWV3Q2hhbmdlIiksb25TZWFyY2g6cyhyPT57Y29uc29sZS5sb2coIlNlYXJjaCBxdWVyeToiLHIpfSwib25TZWFyY2giKX0sZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlLmNsYXNzTmFtZT0iZGVtby1jb250YWluZXIiLGUuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IjtsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkZWVzLWFwcHVpIik7cmV0dXJuIGUuYXBwZW5kQ2hpbGQodCksc2V0VGltZW91dChhc3luYygpPT57YXdhaXQgdC51cGRhdGVDb21wbGV0ZSx0LmNvbmZpZ3VyZShhKSxzZXRUaW1lb3V0KCgpPT57dC5hY3Rpdml0eUxvZy5hZGRNYW55KFt7dHlwZToibG9naW4iLHVzZXI6IkphbmUgU21pdGgiLG1lc3NhZ2U6ImxvZ2dlZCBpbiBmcm9tIENocm9tZSBvbiBtYWNPUyJ9LHt0eXBlOiJjcmVhdGUiLHVzZXI6IkphbmUgU21pdGgiLG1lc3NhZ2U6J2NyZWF0ZWQgcHJvamVjdCAiRnJvbnRlbmQgQXBwIid9LHt0eXBlOiJ1cGRhdGUiLHVzZXI6IkpvaG4gRG9lIixtZXNzYWdlOiJ1cGRhdGVkIEFQSSBkb2N1bWVudGF0aW9uIn0se3R5cGU6InZpZXciLHVzZXI6IkphbmUgU21pdGgiLG1lc3NhZ2U6InZpZXdlZCBkYXNoYm9hcmQgYW5hbHl0aWNzIn0se3R5cGU6ImRlbGV0ZSIsdXNlcjoiQWRtaW4iLG1lc3NhZ2U6InJlbW92ZWQgZGVwcmVjYXRlZCBlbmRwb2ludCJ9LHt0eXBlOiJjdXN0b20iLHVzZXI6IlN5c3RlbSIsbWVzc2FnZToic2NoZWR1bGVkIGJhY2t1cCBjb21wbGV0ZWQiLGljb25OYW1lOiJsdWNpZGU6ZGF0YWJhc2UifV0pfSw1MDApLHQudmlld0NoYW5nZWQkLnN1YnNjcmliZShyPT57Y29uc29sZS5sb2coIlZpZXcgY2hhbmdlZCBldmVudDoiLHIpLHQuc2V0QnJlYWRjcnVtYnMoci52aWV3Lm5hbWUpfSksdC52aWV3TGlmZWN5Y2xlJC5zdWJzY3JpYmUocj0+e2NvbnNvbGUubG9nKCJMaWZlY3ljbGUgZXZlbnQ6IixyLnR5cGUsci52aWV3SWQpfSksc2V0VGltZW91dCgoKT0+e3Quc2V0TWFpbk1lbnVCYWRnZSgidGFza3MiLDE1KSx0LmFjdGl2aXR5TG9nLmFkZCh7dHlwZToidXBkYXRlIix1c2VyOiJTeXN0ZW0iLG1lc3NhZ2U6Im5ldyB0YXNrcyBhZGRlZCJ9KX0sNWUzKX0sMCksd2AKICAgIDxkZWVzLWRlbW93cmFwcGVyPgogICAgICAke2V9CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYH0sImRlbW9GdW5jIil9KTt2YXIgVVcsaVFlPWYoKCk9PntsZSgpO1VXPWNsYXNze3N0YXRpY3tzKHRoaXMsIlZpZXdSZWdpc3RyeSIpfXZpZXdzPW5ldyBNYXA7aW5zdGFuY2VzPW5ldyBNYXA7Y3VycmVudFZpZXdJZD1udWxsO2FwcHVpPW51bGw7c2V0QXBwdWlSZWYoZSl7dGhpcy5hcHB1aT1lfXJlZ2lzdGVyKGUpe3RoaXMudmlld3MuaGFzKGUuaWQpJiZjb25zb2xlLndhcm4oYFZpZXcgd2l0aCBpZCAiJHtlLmlkfSIgYWxyZWFkeSByZWdpc3RlcmVkLiBPdmVyd3JpdGluZy5gKSx0aGlzLnZpZXdzLnNldChlLmlkLGUpfXJlZ2lzdGVyQWxsKGUpe2UuZm9yRWFjaCh0PT50aGlzLnJlZ2lzdGVyKHQpKX1nZXQoZSl7cmV0dXJuIHRoaXMudmlld3MuZ2V0KGUpfWdldFZpZXdJZHMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnZpZXdzLmtleXMoKSl9Z2V0QWxsKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy52aWV3cy52YWx1ZXMoKSl9Z2V0Um91dGUoZSl7bGV0IHQ9dGhpcy52aWV3cy5nZXQoZSk7cmV0dXJuIHQ/LnJvdXRlfHx0Py5pZHx8IiJ9ZmluZEJ5Um91dGUoZSl7Zm9yKGxldCB0IG9mIHRoaXMudmlld3MudmFsdWVzKCkpe2xldCByPXQucm91dGV8fHQuaWQsaT10aGlzLm1hdGNoUm91dGUocixlKTtpZihpIT09bnVsbClyZXR1cm57dmlldzp0LHBhcmFtczppfX19bWF0Y2hSb3V0ZShlLHQpe2xldCByPWUuc3BsaXQoIi8iKSxpPXQuc3BsaXQoIi8iKTtpZihyLmxlbmd0aD4wJiZyW3IubGVuZ3RoLTFdLmVuZHNXaXRoKCI/Iikpe2lmKGkubGVuZ3RoPHIubGVuZ3RoLTF8fGkubGVuZ3RoPnIubGVuZ3RoKXJldHVybiBudWxsfWVsc2UgaWYoci5sZW5ndGghPT1pLmxlbmd0aClyZXR1cm4gbnVsbDtsZXQgbj17fTtmb3IobGV0IGw9MDtsPHIubGVuZ3RoO2wrKyl7bGV0IGQ9cltsXSxjPWQuZW5kc1dpdGgoIj8iKTtpZihjJiYoZD1kLnNsaWNlKDAsLTEpKSxkLnN0YXJ0c1dpdGgoIjoiKSl7bGV0IHA9ZC5zbGljZSgxKTtpZihpW2xdIT09dm9pZCAwKW5bcF09aVtsXTtlbHNlIGlmKCFjKXJldHVybiBudWxsfWVsc2UgaWYoaVtsXSE9PWQpcmV0dXJuIG51bGx9cmV0dXJuIG59YXN5bmMgY2FuTGVhdmVDdXJyZW50Vmlldygpe2lmKCF0aGlzLmN1cnJlbnRWaWV3SWQpcmV0dXJuITA7bGV0IGU9dGhpcy5pbnN0YW5jZXMuZ2V0KHRoaXMuY3VycmVudFZpZXdJZCk7aWYoIWUpcmV0dXJuITA7bGV0IHQ9ZTtyZXR1cm4gdHlwZW9mIHQuY2FuRGVhY3RpdmF0ZT09ImZ1bmN0aW9uIj9hd2FpdCB0LmNhbkRlYWN0aXZhdGUoKTohMH1hc3luYyBhY3RpdmF0ZVZpZXcoZSx0LHIpe2xldCBpPXRoaXMudmlld3MuZ2V0KGUpO2lmKCFpKXJldHVybiBjb25zb2xlLmVycm9yKGBWaWV3ICIke2V9IiBub3QgZm91bmQgaW4gcmVnaXN0cnlgKSxudWxsO2xldCBvPWkuY2FjaGUhPT0hMTt0aGlzLmN1cnJlbnRWaWV3SWQmJnRoaXMuY3VycmVudFZpZXdJZCE9PWUmJmF3YWl0IHRoaXMuZGVhY3RpdmF0ZVZpZXcodGhpcy5jdXJyZW50Vmlld0lkKTtsZXQgbj1vP3RoaXMuaW5zdGFuY2VzLmdldChlKTp2b2lkIDA7aWYobiluLnN0eWxlLmRpc3BsYXk9IiI7ZWxzZXtpZihuPWF3YWl0IHRoaXMuY3JlYXRlVmlld0VsZW1lbnQoaSksIW4pcmV0dXJuIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBjcmVhdGUgZWxlbWVudCBmb3IgdmlldyAiJHtlfSJgKSxudWxsO3QuYXBwZW5kQ2hpbGQobiksbyYmdGhpcy5pbnN0YW5jZXMuc2V0KGUsbil9cmV0dXJuIHRoaXMuY3VycmVudFZpZXdJZD1lLGF3YWl0IHRoaXMuY2FsbE9uQWN0aXZhdGUobixlLHIpLG59YXN5bmMgZGVhY3RpdmF0ZVZpZXcoZSl7bGV0IHQ9dGhpcy5pbnN0YW5jZXMuZ2V0KGUpO2lmKCF0KXJldHVybjtsZXQgcj10O3R5cGVvZiByLm9uRGVhY3RpdmF0ZT09ImZ1bmN0aW9uIiYmYXdhaXQgci5vbkRlYWN0aXZhdGUoKSx0LnN0eWxlLmRpc3BsYXk9Im5vbmUifWFzeW5jIGNyZWF0ZVZpZXdFbGVtZW50KGUpe2xldCB0PWUuY29udGVudDtpZih0eXBlb2YgdD09ImZ1bmN0aW9uIiYmISh0LnByb3RvdHlwZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSYmdC5jb25zdHJ1Y3Rvci5uYW1lPT09IkFzeW5jRnVuY3Rpb24iKXRyeXt0PWF3YWl0IHQoKX1jYXRjaChpKXtyZXR1cm4gY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGxvYWQgYXN5bmMgY29udGVudCBmb3IgdmlldyAiJHtlLmlkfSI6YCxpKSxudWxsfWxldCByO2lmKHR5cGVvZiB0PT0ic3RyaW5nIilyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCk7ZWxzZSBpZih0eXBlb2YgdD09ImZ1bmN0aW9uIilpZih0LnByb3RvdHlwZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KXI9bmV3IHQ7ZWxzZXtsZXQgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpLmNsYXNzTmFtZT0idmlldy1jb250ZW50LXdyYXBwZXIiLGkuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTogY29udGVudHM7IjtsZXQgbz10KCk7WmMobyxpKSxyPWl9ZWxzZSByZXR1cm4gY29uc29sZS5lcnJvcihgSW52YWxpZCBjb250ZW50IHR5cGUgZm9yIHZpZXcgIiR7ZS5pZH0iYCksbnVsbDtyZXR1cm4gci5kYXRhc2V0LnZpZXdJZD1lLmlkLHJ9YXN5bmMgY2FsbE9uQWN0aXZhdGUoZSx0LHIpe2xldCBpPWU7aWYodHlwZW9mIGkub25BY3RpdmF0ZT09ImZ1bmN0aW9uIil7bGV0IG89e2FwcHVpOnRoaXMuYXBwdWksdmlld0lkOnQscGFyYW1zOnJ9O2F3YWl0IGkub25BY3RpdmF0ZShvKX19cmVuZGVyVmlldyhlLHQpe2xldCByPXRoaXMudmlld3MuZ2V0KGUpO2lmKCFyKXJldHVybiBjb25zb2xlLmVycm9yKGBWaWV3ICIke2V9IiBub3QgZm91bmQgaW4gcmVnaXN0cnlgKSxudWxsO3QuaW5uZXJIVE1MPSIiO2xldCBpLG89ci5jb250ZW50O2lmKHR5cGVvZiBvPT0ic3RyaW5nIilpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobyk7ZWxzZSBpZih0eXBlb2Ygbz09ImZ1bmN0aW9uIilpZihvLnByb3RvdHlwZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KWk9bmV3IG87ZWxzZXtsZXQgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtuLmNsYXNzTmFtZT0idmlldy1jb250ZW50LXdyYXBwZXIiLG4uc3R5bGUuY3NzVGV4dD0iZGlzcGxheTogY29udGVudHM7IjtsZXQgbD1vKCk7WmMobCxuKSxpPW59ZWxzZSByZXR1cm4gY29uc29sZS5lcnJvcihgSW52YWxpZCBjb250ZW50IHR5cGUgZm9yIHZpZXcgIiR7ZX0iYCksbnVsbDtyZXR1cm4gdC5hcHBlbmRDaGlsZChpKSx0aGlzLmluc3RhbmNlcy5zZXQoZSxpKSx0aGlzLmN1cnJlbnRWaWV3SWQ9ZSxpfWdldEN1cnJlbnRWaWV3SWQoKXtyZXR1cm4gdGhpcy5jdXJyZW50Vmlld0lkfWdldEluc3RhbmNlKGUpe3JldHVybiB0aGlzLmluc3RhbmNlcy5nZXQoZSl9Y2xlYXJJbnN0YW5jZShlKXtsZXQgdD10aGlzLmluc3RhbmNlcy5nZXQoZSk7dCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksdGhpcy5pbnN0YW5jZXMuZGVsZXRlKGUpLHRoaXMuY3VycmVudFZpZXdJZD09PWUmJih0aGlzLmN1cnJlbnRWaWV3SWQ9bnVsbCl9Y2xlYXJJbnN0YW5jZXMoKXtmb3IobGV0W2UsdF1vZiB0aGlzLmluc3RhbmNlcyl0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KTt0aGlzLmluc3RhbmNlcy5jbGVhcigpLHRoaXMuY3VycmVudFZpZXdJZD1udWxsfXVucmVnaXN0ZXIoZSl7cmV0dXJuIHRoaXMuY2xlYXJJbnN0YW5jZShlKSx0aGlzLnZpZXdzLmRlbGV0ZShlKX1jbGVhcigpe3RoaXMudmlld3MuY2xlYXIoKSx0aGlzLmNsZWFySW5zdGFuY2VzKCl9aGFzKGUpe3JldHVybiB0aGlzLnZpZXdzLmhhcyhlKX1nZXQgc2l6ZSgpe3JldHVybiB0aGlzLnZpZXdzLnNpemV9fX0pO3ZhciBfbGEsVGxhPWYoKCk9PntsZSgpO19sYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLW1haW5tZW51LWNvbnRhaW5lciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgYmFja2dyb3VuZDogIzFhMWExYTsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgfQogICAgLmRlbW8tbWFpbm1lbnUtY29udGFpbmVyIC5zcGFjZXIgewogICAgICBmbGV4OiAxOwogICAgICBiYWNrZ3JvdW5kOiAjMGYwZjBmOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1tYWlubWVudS1jb250YWluZXIiPgogICAgPGRlZXMtYXBwdWktbWFpbm1lbnUKICAgICAgLmxvZ29JY29uPSR7Imx1Y2lkZTpib3gifQogICAgICAubG9nb1RleHQ9JHsiQWNtZSBBcHAifQogICAgICAubWVudUdyb3Vwcz0ke1t7dGFiczpbe2tleToiRGFzaGJvYXJkIixpY29uTmFtZToibHVjaWRlOmhvbWUiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiRGFzaGJvYXJkIiksImFjdGlvbiIpfSx7a2V5OiJJbmJveCIsaWNvbk5hbWU6Imx1Y2lkZTppbmJveCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJJbmJveCIpLCJhY3Rpb24iKX1dfSx7bmFtZToiV29ya3NwYWNlIix0YWJzOlt7a2V5OiJQcm9qZWN0cyIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXIiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiUHJvamVjdHMiKSwiYWN0aW9uIil9LHtrZXk6IlRhc2tzIixpY29uTmFtZToibHVjaWRlOmNoZWNrU3F1YXJlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlRhc2tzIiksImFjdGlvbiIpfSx7a2V5OiJEb2N1bWVudHMiLGljb25OYW1lOiJsdWNpZGU6ZmlsZVRleHQiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiRG9jdW1lbnRzIiksImFjdGlvbiIpfV19LHtuYW1lOiJBbmFseXRpY3MiLHRhYnM6W3trZXk6IlJlcG9ydHMiLGljb25OYW1lOiJsdWNpZGU6YmFyQ2hhcnQzIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlJlcG9ydHMiKSwiYWN0aW9uIil9LHtrZXk6Ikluc2lnaHRzIixpY29uTmFtZToibHVjaWRlOmxpZ2h0YnVsYiIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJJbnNpZ2h0cyIpLCJhY3Rpb24iKX1dfV19CiAgICAgIC5ib3R0b21UYWJzPSR7W3trZXk6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlNldHRpbmdzIiksImFjdGlvbiIpfSx7a2V5OiJIZWxwIixpY29uTmFtZToibHVjaWRlOmhlbHBDaXJjbGUiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiSGVscCIpLCJhY3Rpb24iKX1dfQogICAgPjwvZGVlcy1hcHB1aS1tYWlubWVudT4KICAgIDxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgVDQsYW8sTGxhLG9RZT1mKCgpPT57V3MoKTtyNCgpO0dpKCk7bGUoKTtYcigpO1RsYSgpO1FlKCk7VDQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGFvPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxMbGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWFwcHVpLW1haW5tZW51IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W107dmFyIEI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNBcHB1aU1haW5tZW51Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IE09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpBcnJheX0pXSx4PVskKHt0eXBlOkFycmF5fSldLHk9WyQoe3R5cGU6QXJyYXl9KV0sTj1bJCgpXSxPPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxUNCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvZ29JY29uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJsb2dvSWNvbiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmxvZ29JY29uLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MubG9nb0ljb249RX0sInNldCIpfSxtZXRhZGF0YTpNfSxuLGwpLFQ0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9nb1RleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImxvZ29UZXh0ImluIFMsImhhcyIpLGdldDpzKFM9PlMubG9nb1RleHQsImdldCIpLHNldDpzKChTLEUpPT57Uy5sb2dvVGV4dD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGMscCksVDQodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51R3JvdXBzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJtZW51R3JvdXBzImluIFMsImhhcyIpLGdldDpzKFM9PlMubWVudUdyb3VwcywiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLm1lbnVHcm91cHM9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxtLHYpLFQ0KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYm90dG9tVGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iYm90dG9tVGFicyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmJvdHRvbVRhYnMsImdldCIpLHNldDpzKChTLEUpPT57Uy5ib3R0b21UYWJzPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixnKSxUNCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InRhYnMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50YWJzLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MudGFicz1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGssQyksVDQodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic2VsZWN0ZWRUYWIiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zZWxlY3RlZFRhYiwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnNlbGVjdGVkVGFiPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sXyx6KSxUNCh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbGxhcHNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iY29sbGFwc2VkImluIFMsImhhcyIpLGdldDpzKFM9PlMuY29sbGFwc2VkLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MuY29sbGFwc2VkPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sVCxQKSxUNChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpNfSxudWxsLHQpLEI9cj1lLnZhbHVlLE0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6TX0pfXN0YXRpYyBkZW1vPV9sYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPWFvKHRoaXMsbiwiIik7Z2V0IGxvZ29JY29uKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGxvZ29JY29uKE0pe3RoaXMuI2U9TX0jdD0oYW8odGhpcyxsKSxhbyh0aGlzLGMsIiIpKTtnZXQgbG9nb1RleHQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbG9nb1RleHQoTSl7dGhpcy4jdD1NfSNhPShhbyh0aGlzLHApLGFvKHRoaXMsbSxbXSkpO2dldCBtZW51R3JvdXBzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IG1lbnVHcm91cHMoTSl7dGhpcy4jYT1NfSNyPShhbyh0aGlzLHYpLGFvKHRoaXMsYixbXSkpO2dldCBib3R0b21UYWJzKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGJvdHRvbVRhYnMoTSl7dGhpcy4jcj1NfSNzPShhbyh0aGlzLGcpLGFvKHRoaXMsayxbXSkpO2dldCB0YWJzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHRhYnMoTSl7dGhpcy4jcz1NfSNpPShhbyh0aGlzLEMpLGFvKHRoaXMsXyx2b2lkIDApKTtnZXQgc2VsZWN0ZWRUYWIoKXtyZXR1cm4gdGhpcy4jaX1zZXQgc2VsZWN0ZWRUYWIoTSl7dGhpcy4jaT1NfSNvPShhbyh0aGlzLHopLGFvKHRoaXMsVCwhMSkpO2dldCBjb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jb31zZXQgY29sbGFwc2VkKE0pe3RoaXMuI289TX1zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIC0tbWVudS13aWR0aC1leHBhbmRlZDogMjAwcHg7CiAgICAgICAgLS1tZW51LXdpZHRoLWNvbGxhcHNlZDogNTZweDsKICAgICAgICAtLXRvb2x0aXAtYmc6IHZhcigtLWRlZXMtY29sb3ItdG9vbHRpcC1iZyk7CiAgICAgICAgLS10b29sdGlwLWZnOiB2YXIoLS1kZWVzLWNvbG9yLXRvb2x0aXAtZmcpOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5tYWluQ29udGFpbmVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgei1pbmRleDogJHtQcy5maXhlZC5hcHBCYXJ9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IHZhcigtLW1lbnUtd2lkdGgtZXhwYW5kZWQpOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXNlY29uZGFyeSk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIHNhbnMtc2VyaWY7CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgZWFzZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tYWluQ29udGFpbmVyIHsKICAgICAgICB3aWR0aDogdmFyKC0tbWVudS13aWR0aC1jb2xsYXBzZWQpOwogICAgICB9CgogICAgICAvKiBGbG9hdGluZyBjb2xsYXBzZSB0b2dnbGUgYnV0dG9uICovCiAgICAgIC5jb2xsYXBzZS10b2dnbGUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogLTEycHg7CiAgICAgICAgdG9wOiAyNHB4OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3Ryb25nKTsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC5jb2xsYXBzZS10b2dnbGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctdGVydGlhcnkpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIDpob3N0KDpob3ZlcikgLmNvbGxhcHNlLXRvZ2dsZSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLmNvbGxhcHNlLXRvZ2dsZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLyogTG9nbyBTZWN0aW9uICovCiAgICAgIC5sb2dvU2VjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgcGFkZGluZzogMCAxNHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5sb2dvU2VjdGlvbiAubG9nb0ljb24gewogICAgICAgIGZvbnQtc2l6ZTogMjJweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAubG9nb1NlY3Rpb24gLmxvZ29UZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB3aWR0aCAwLjI1cyBlYXNlOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmxvZ29TZWN0aW9uIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGdhcDogMDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5sb2dvU2VjdGlvbiAubG9nb1RleHQgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIE1pZGRsZSBTZWN0aW9uIChzY3JvbGxhYmxlKSAqLwogICAgICAubWVudVNlY3Rpb24gewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5tZW51U2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3Itc2Nyb2xsYmFyLXRodW1iKTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC5tZW51U2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWhvdmVyKTsKICAgICAgfQoKICAgICAgLyogTWVudSBHcm91cCAqLwogICAgICAubWVudUdyb3VwIHsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5tZW51R3JvdXA6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLmdyb3VwSGVhZGVyIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweCA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBtYXgtaGVpZ2h0IDAuMjVzIGVhc2U7CiAgICAgICAgbWF4LWhlaWdodDogMzBweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5ncm91cEhlYWRlciB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBtYXgtaGVpZ2h0OiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAuZ3JvdXBUYWJzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudUdyb3VwIHsKICAgICAgICBwYWRkaW5nOiAwIDRweDsKICAgICAgfQoKICAgICAgLyogVGFiIEl0ZW0gKi8KICAgICAgLnRhYiB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAudGFiOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNjI2MjYiLCIjZTVlNWU1Iil9OwogICAgICB9CgogICAgICAudGFiOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1hY3RpdmUpOwogICAgICB9CgogICAgICAudGFiLnNlbGVjdGVkVGFiIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjdGl2ZSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnRhYi5zZWxlY3RlZFRhYjo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgd2lkdGg6IDNweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwOwogICAgICB9CgogICAgICAudGFiIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIG9wYWNpdHk6IDAuODU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC50YWIuc2VsZWN0ZWRUYWIgZGVlcy1pY29uIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAudGFiIC50YWJMYWJlbCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHdpZHRoIDAuMjVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC8qIENvbGxhcHNlZCB0YWIgc3R5bGVzICovCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAudGFiIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgIGdhcDogMDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC50YWIgLnRhYkxhYmVsIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC50YWIuc2VsZWN0ZWRUYWI6OmJlZm9yZSB7CiAgICAgICAgbGVmdDogLTRweDsKICAgICAgfQoKICAgICAgLyogVG9vbHRpcCBmb3IgY29sbGFwc2VkIHN0YXRlICovCiAgICAgIC50YWItdG9vbHRpcCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDEwMCU7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRvb2x0aXAtYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS10b29sdGlwLWZnKTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpOwogICAgICB9CgogICAgICAudGFiLXRvb2x0aXA6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IC00cHg7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tdG9vbHRpcC1iZyk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAudGFiOmhvdmVyIC50YWItdG9vbHRpcCB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxczsKICAgICAgfQoKICAgICAgLyogQmFkZ2Ugc3R5bGVzICovCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBtaW4td2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIHBhZGRpbmc6IDAgNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDlweDsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgfQoKICAgICAgLmJhZGdlLmRlZmF1bHQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2UtZGVmYXVsdC1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2UtZGVmYXVsdC1mZyk7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5zdWNjZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLXN1Y2Nlc3MtYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLXN1Y2Nlc3MtZmcpOwogICAgICB9CgogICAgICAuYmFkZ2Uud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS13YXJuaW5nLWJnKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS13YXJuaW5nLWZnKTsKICAgICAgfQoKICAgICAgLmJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLWVycm9yLWJnKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS1lcnJvci1mZyk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAuYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIEJvdHRvbSBTZWN0aW9uICovCiAgICAgIC5ib3R0b21TZWN0aW9uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmJvdHRvbVNlY3Rpb24gewogICAgICAgIHBhZGRpbmc6IDhweCA0cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBNPXRoaXMuZ2V0QWxsVGFicygpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluQ29udGFpbmVyIiBAY29udGV4dG1lbnU9JHtTPT57dGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoUyxbe25hbWU6ImFwcCBzZXR0aW5ncyIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLGljb25OYW1lOiJnZWFyIn1dKX19PgogICAgICAgICR7dGhpcy5sb2dvSWNvbnx8dGhpcy5sb2dvVGV4dD93YAogICAgICAgICAgPGRpdiBjbGFzcz0ibG9nb1NlY3Rpb24iPgogICAgICAgICAgICAke3RoaXMubG9nb0ljb24/d2A8ZGVlcy1pY29uIGNsYXNzPSJsb2dvSWNvbiIgLmljb249IiR7dGhpcy5sb2dvSWNvbn0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICR7dGhpcy5sb2dvVGV4dD93YDxzcGFuIGNsYXNzPSJsb2dvVGV4dCI+JHt0aGlzLmxvZ29UZXh0fTwvc3Bhbj5gOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgPGRpdiBjbGFzcz0ibWVudVNlY3Rpb24iPgogICAgICAgICAgJHt0aGlzLm1lbnVHcm91cHMubGVuZ3RoPjA/dGhpcy5yZW5kZXJNZW51R3JvdXBzKCk6dGhpcy5yZW5kZXJMZWdhY3lUYWJzKCl9CiAgICAgICAgPC9kaXY+CgogICAgICAgICR7dGhpcy5ib3R0b21UYWJzLmxlbmd0aD4wP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b21TZWN0aW9uIj4KICAgICAgICAgICAgJHt0aGlzLmJvdHRvbVRhYnMubWFwKFM9PnRoaXMucmVuZGVyVGFiKFMpKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgICA8YnV0dG9uIGNsYXNzPSJjb2xsYXBzZS10b2dnbGUiIEBjbGljaz0iJHsoKT0+dGhpcy50b2dnbGVDb2xsYXBzZSgpfSI+CiAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHt0aGlzLmNvbGxhcHNlZD8ibHVjaWRlOmNoZXZyb25SaWdodCI6Imx1Y2lkZTpjaGV2cm9uTGVmdCJ9Ij48L2RlZXMtaWNvbj4KICAgICAgPC9idXR0b24+CiAgICBgfXJlbmRlck1lbnVHcm91cHMoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLm1lbnVHcm91cHMubWFwKE09PndgCiAgICAgICAgPGRpdiBjbGFzcz0ibWVudUdyb3VwIj4KICAgICAgICAgICR7TS5uYW1lP3dgPGRpdiBjbGFzcz0iZ3JvdXBIZWFkZXIiPiR7TS5uYW1lfTwvZGl2PmA6IiJ9CiAgICAgICAgICA8ZGl2IGNsYXNzPSJncm91cFRhYnMiPgogICAgICAgICAgICAke00uaXRlbXMubWFwKFM9PnRoaXMucmVuZGVyVGFiKFMpKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgKX0KICAgIGB9cmVuZGVyTGVnYWN5VGFicygpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtZW51R3JvdXAiPgogICAgICAgIDxkaXYgY2xhc3M9Imdyb3VwVGFicyI+CiAgICAgICAgICAke3RoaXMudGFicy5tYXAoTT0+dGhpcy5yZW5kZXJUYWIoTSkpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyVGFiKE0pe3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9InRhYiAke009PT10aGlzLnNlbGVjdGVkVGFiPyJzZWxlY3RlZFRhYiI6IiJ9IgogICAgICAgIEBjbGljaz0iJHsoKT0+e3RoaXMudXBkYXRlVGFiKE0pfX0iCiAgICAgID4KICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIke00uaWNvbk5hbWV8fCIifSI+PC9kZWVzLWljb24+CiAgICAgICAgPHNwYW4gY2xhc3M9InRhYkxhYmVsIj4ke00ua2V5fTwvc3Bhbj4KICAgICAgICAke00uYmFkZ2UhPT12b2lkIDA/d2AKICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSAke00uYmFkZ2VWYXJpYW50fHwiZGVmYXVsdCJ9Ij4ke00uYmFkZ2V9PC9zcGFuPgogICAgICAgIGA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9InRhYi10b29sdGlwIj4ke00ua2V5fTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICBgfWdldEFsbFRhYnMoKXtyZXR1cm4gdGhpcy5tZW51R3JvdXBzLmxlbmd0aD4wP1suLi50aGlzLm1lbnVHcm91cHMuZmxhdE1hcChTPT5TLml0ZW1zKSwuLi50aGlzLmJvdHRvbVRhYnNdOlsuLi50aGlzLnRhYnMsLi4udGhpcy5ib3R0b21UYWJzXX11cGRhdGVUYWIoTSl7dGhpcy5zZWxlY3RlZFRhYj1NLHRoaXMuc2VsZWN0ZWRUYWIuYWN0aW9uKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLXNlbGVjdCIse2RldGFpbDp7dGFiOk19LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Zmlyc3RVcGRhdGVkKCl7bGV0IE09dGhpcy5nZXRBbGxUYWJzKCk7TS5sZW5ndGg+MCYmdGhpcy51cGRhdGVUYWIoTVswXSl9dG9nZ2xlQ29sbGFwc2UoKXt0aGlzLmNvbGxhcHNlZD0hdGhpcy5jb2xsYXBzZWQsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29sbGFwc2UtY2hhbmdlIix7ZGV0YWlsOntjb2xsYXBzZWQ6dGhpcy5jb2xsYXBzZWR9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGFvKHRoaXMsUCl9c3RhdGlje2FvKHIsdCl9fTtyZXR1cm4gQj1yfSkoKX0pO3ZhciAkbGEsRGxhPWYoKCk9PntsZSgpOyRsYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLXNlY29uZGFyeW1lbnUtY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBiYWNrZ3JvdW5kOiAjMWExYTFhOwogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICB9CiAgICAuZGVtby1zZWNvbmRhcnltZW51LWNvbnRhaW5lciAuc3BhY2VyIHsKICAgICAgZmxleDogMTsKICAgICAgYmFja2dyb3VuZDogIzBmMGYwZjsKICAgICAgcGFkZGluZzogMjBweDsKICAgICAgY29sb3I6ICNhM2EzYTM7CiAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICB9CiAgICAuZGVtby1zZWNvbmRhcnltZW51LWNvbnRhaW5lciAuc3BhY2VyIGgzIHsKICAgICAgY29sb3I6ICNmYWZhZmE7CiAgICAgIG1hcmdpbi10b3A6IDA7CiAgICB9CiAgICAuZGVtby1zZWNvbmRhcnltZW51LWNvbnRhaW5lciAuc3BhY2VyIGNvZGUgewogICAgICBiYWNrZ3JvdW5kOiAjMjcyNzJhOwogICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIH0KICAgIC5kZW1vLXNlY29uZGFyeW1lbnUtY29udGFpbmVyIC5zcGFjZXIgdWwgewogICAgICBsaW5lLWhlaWdodDogMS44OwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1zZWNvbmRhcnltZW51LWNvbnRhaW5lciI+CiAgICA8ZGVlcy1hcHB1aS1zZWNvbmRhcnltZW51CiAgICAgIC5oZWFkaW5nPSR7IlByb2plY3RzIn0KICAgICAgLmdyb3Vwcz0ke1t7bmFtZToiTmF2aWdhdGlvbiIsaWNvbk5hbWU6Imx1Y2lkZTpjb21wYXNzIixpdGVtczpbe2tleToiRGFzaGJvYXJkIixpY29uTmFtZToibHVjaWRlOmxheW91dERhc2hib2FyZCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJEYXNoYm9hcmQgY2xpY2tlZCIpLCJhY3Rpb24iKSxiYWRnZTozLGJhZGdlVmFyaWFudDoid2FybmluZyJ9LHtrZXk6IlByb2plY3RzIixpY29uTmFtZToibHVjaWRlOmZvbGRlciIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJQcm9qZWN0cyBjbGlja2VkIiksImFjdGlvbiIpLGJhZGdlOiJuZXciLGJhZGdlVmFyaWFudDoic3VjY2VzcyJ9LHtrZXk6IkFuYWx5dGljcyIsaWNvbk5hbWU6Imx1Y2lkZTpiYXJDaGFydDIiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiQW5hbHl0aWNzIGNsaWNrZWQiKSwiYWN0aW9uIil9XX0se25hbWU6IkFjdGlvbnMiLGljb25OYW1lOiJsdWNpZGU6emFwIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJDcmVhdGUgTmV3IixpY29uTmFtZToibHVjaWRlOnBsdXMiLGFjdGlvbjpzKCgpPT5hbGVydCgiQ3JlYXRlIE5ldyBjbGlja2VkISIpLCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJJbXBvcnQgRGF0YSIsaWNvbk5hbWU6Imx1Y2lkZTp1cGxvYWQiLGFjdGlvbjpzKCgpPT5hbGVydCgiSW1wb3J0IERhdGEgY2xpY2tlZCEiKSwiYWN0aW9uIil9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6ImFjdGlvbiIsa2V5OiJEZWxldGUgQWxsIixpY29uTmFtZToibHVjaWRlOnRyYXNoMiIsdmFyaWFudDoiZGFuZ2VyIixjb25maXJtTWVzc2FnZToiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBhbGwgaXRlbXM/IixhY3Rpb246cygoKT0+YWxlcnQoIkRlbGV0ZWQhIiksImFjdGlvbiIpfV19LHtuYW1lOiJGaWx0ZXJzIixpY29uTmFtZToibHVjaWRlOmZpbHRlciIsaXRlbXM6W3t0eXBlOiJoZWFkZXIiLGxhYmVsOiJTdGF0dXMifSx7dHlwZToiZmlsdGVyIixrZXk6IlNob3cgQWN0aXZlIixpY29uTmFtZToibHVjaWRlOmNoZWNrQ2lyY2xlIixhY3RpdmU6ITAsb25Ub2dnbGU6cyhhPT5jb25zb2xlLmxvZygiU2hvdyBBY3RpdmU6IixhKSwib25Ub2dnbGUiKX0se3R5cGU6ImZpbHRlciIsa2V5OiJTaG93IEFyY2hpdmVkIixpY29uTmFtZToibHVjaWRlOmFyY2hpdmUiLGFjdGl2ZTohMSxvblRvZ2dsZTpzKGE9PmNvbnNvbGUubG9nKCJTaG93IEFyY2hpdmVkOiIsYSksIm9uVG9nZ2xlIil9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6Im11bHRpRmlsdGVyIixrZXk6IkNhdGVnb3JpZXMiLGljb25OYW1lOiJsdWNpZGU6dGFnIixjb2xsYXBzZWQ6ITEsb3B0aW9uczpbe2tleToiZnJvbnRlbmQiLGxhYmVsOiJGcm9udGVuZCIsY2hlY2tlZDohMCxpY29uTmFtZToibHVjaWRlOm1vbml0b3IifSx7a2V5OiJiYWNrZW5kIixsYWJlbDoiQmFja2VuZCIsY2hlY2tlZDohMCxpY29uTmFtZToibHVjaWRlOnNlcnZlciJ9LHtrZXk6ImRldm9wcyIsbGFiZWw6IkRldk9wcyIsY2hlY2tlZDohMSxpY29uTmFtZToibHVjaWRlOmNsb3VkIn0se2tleToiZGVzaWduIixsYWJlbDoiRGVzaWduIixjaGVja2VkOiExLGljb25OYW1lOiJsdWNpZGU6cGFsZXR0ZSJ9XSxvbkNoYW5nZTpzKGE9PmNvbnNvbGUubG9nKCJTZWxlY3RlZCBjYXRlZ29yaWVzOiIsYSksIm9uQ2hhbmdlIil9XX0se25hbWU6IlJlc291cmNlcyIsaWNvbk5hbWU6Imx1Y2lkZTpib29rT3BlbiIsY29sbGFwc2VkOiEwLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiRG9jdW1lbnRhdGlvbiJ9LHt0eXBlOiJsaW5rIixrZXk6IkFQSSBSZWZlcmVuY2UiLGljb25OYW1lOiJsdWNpZGU6ZmlsZVRleHQiLGhyZWY6Imh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL2RvY3MifSx7dHlwZToibGluayIsa2V5OiJVc2VyIEd1aWRlIixpY29uTmFtZToibHVjaWRlOmJvb2siLGhyZWY6Imh0dHBzOi8vZG9jcy5leGFtcGxlLmNvbS9ndWlkZSJ9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6ImhlYWRlciIsbGFiZWw6IlN1cHBvcnQifSx7dHlwZToibGluayIsa2V5OiJIZWxwIENlbnRlciIsaWNvbk5hbWU6Imx1Y2lkZTpoZWxwQ2lyY2xlIixocmVmOiIvaGVscCIsZXh0ZXJuYWw6ITF9LHt0eXBlOiJsaW5rIixrZXk6IkdpdEh1YiBJc3N1ZXMiLGljb25OYW1lOiJsdWNpZGU6Z2l0aHViIixocmVmOiJodHRwczovL2dpdGh1Yi5jb20vZXhhbXBsZS9pc3N1ZXMifV19XX0KICAgICAgQGl0ZW0tc2VsZWN0PSR7YT0+Y29uc29sZS5sb2coIlRhYiBzZWxlY3RlZDoiLGEuZGV0YWlsKX0KICAgICAgQGFjdGlvbi1jbGljaz0ke2E9PmNvbnNvbGUubG9nKCJBY3Rpb24gY2xpY2tlZDoiLGEuZGV0YWlsKX0KICAgICAgQGZpbHRlci10b2dnbGU9JHthPT5jb25zb2xlLmxvZygiRmlsdGVyIHRvZ2dsZWQ6IixhLmRldGFpbCl9CiAgICAgIEBtdWx0aWZpbHRlci1jaGFuZ2U9JHthPT5jb25zb2xlLmxvZygiTXVsdGktZmlsdGVyIGNoYW5nZWQ6IixhLmRldGFpbCl9CiAgICAgIEBsaW5rLWNsaWNrPSR7YT0+Y29uc29sZS5sb2coIkxpbmsgY2xpY2tlZDoiLGEuZGV0YWlsKX0KICAgID48L2RlZXMtYXBwdWktc2Vjb25kYXJ5bWVudT4KICAgIDxkaXYgY2xhc3M9InNwYWNlciI+CiAgICAgIDxoMz5TZWNvbmRhcnkgTWVudSBEZW1vPC9oMz4KICAgICAgPHA+VGhpcyBkZW1vIHNob3djYXNlcyBhbGwgOCBpdGVtIHR5cGVzOjwvcD4KICAgICAgPHVsPgogICAgICAgIDxsaT48Y29kZT50YWI8L2NvZGU+IC0gU2VsZWN0YWJsZSBpdGVtcyAoTmF2aWdhdGlvbiBncm91cCk8L2xpPgogICAgICAgIDxsaT48Y29kZT5hY3Rpb248L2NvZGU+IC0gQmx1ZSBhY3Rpb25zIChBY3Rpb25zIGdyb3VwKTwvbGk+CiAgICAgICAgPGxpPjxjb2RlPmFjdGlvbjwvY29kZT4gd2l0aCA8Y29kZT52YXJpYW50OiAnZGFuZ2VyJzwvY29kZT4gLSBSZWQgZGFuZ2VyIGFjdGlvbjwvbGk+CiAgICAgICAgPGxpPjxjb2RlPmZpbHRlcjwvY29kZT4gLSBDaGVja2JveCB0b2dnbGVzIChGaWx0ZXJzIGdyb3VwKTwvbGk+CiAgICAgICAgPGxpPjxjb2RlPm11bHRpRmlsdGVyPC9jb2RlPiAtIENvbGxhcHNpYmxlIG11bHRpLXNlbGVjdCAoQ2F0ZWdvcmllcyk8L2xpPgogICAgICAgIDxsaT48Y29kZT5kaXZpZGVyPC9jb2RlPiAtIFZpc3VhbCBzZXBhcmF0b3JzPC9saT4KICAgICAgICA8bGk+PGNvZGU+aGVhZGVyPC9jb2RlPiAtIFNlY3Rpb24gbGFiZWxzPC9saT4KICAgICAgICA8bGk+PGNvZGU+bGluazwvY29kZT4gLSBFeHRlcm5hbC9pbnRlcm5hbCBsaW5rcyAoUmVzb3VyY2VzIGdyb3VwKTwvbGk+CiAgICAgIDwvdWw+CiAgICAgIDxwPlRyeSB0aGUgY29sbGFwc2UgdG9nZ2xlIG9uIHRoZSBsZWZ0IGVkZ2UhPC9wPgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgQ2MsZGksQWxhLG5RZT1mKCgpPT57V3MoKTtyNCgpO1hyKCk7dmEoKTtsZSgpO0RsYSgpO1FlKCk7Q2M9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGRpPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxBbGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWFwcHVpLXNlY29uZGFyeW1lbnUiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXSxCLE09W10sUz1bXTt2YXIgRT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpU2Vjb25kYXJ5bWVudSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBBPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6QXJyYXl9KV0sdT1bJCh7dHlwZTpBcnJheX0pXSx4PVskKHt0eXBlOk9iamVjdH0pXSx5PVtLKCldLE49W0soKV0sTz1bSygpXSxCPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxDYyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+ImhlYWRpbmciaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5oZWFkaW5nLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YuaGVhZGluZz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LG4sbCksQ2ModGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJncm91cHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+Imdyb3VwcyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmdyb3VwcywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLmdyb3Vwcz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGMscCksQ2ModGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3Rpb25PcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJzZWxlY3Rpb25PcHRpb25zImluIEYsImhhcyIpLGdldDpzKEY9PkYuc2VsZWN0aW9uT3B0aW9ucywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnNlbGVjdGlvbk9wdGlvbnM9V30sInNldCIpfSxtZXRhZGF0YTpBfSxtLHYpLENjKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRJdGVtIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJzZWxlY3RlZEl0ZW0iaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5zZWxlY3RlZEl0ZW0sImdldCIpLHNldDpzKChGLFcpPT57Ri5zZWxlY3RlZEl0ZW09V30sInNldCIpfSxtZXRhZGF0YTpBfSxiLGcpLENjKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sbGFwc2VkR3JvdXBzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJjb2xsYXBzZWRHcm91cHMiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5jb2xsYXBzZWRHcm91cHMsImdldCIpLHNldDpzKChGLFcpPT57Ri5jb2xsYXBzZWRHcm91cHM9V30sInNldCIpfSxtZXRhZGF0YTpBfSxrLEMpLENjKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sbGFwc2VkTXVsdGlGaWx0ZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJjb2xsYXBzZWRNdWx0aUZpbHRlcnMiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5jb2xsYXBzZWRNdWx0aUZpbHRlcnMsImdldCIpLHNldDpzKChGLFcpPT57Ri5jb2xsYXBzZWRNdWx0aUZpbHRlcnM9V30sInNldCIpfSxtZXRhZGF0YTpBfSxfLHopLENjKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVuZGVyQ291bnRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4icmVuZGVyQ291bnRlciJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnJlbmRlckNvdW50ZXIsImdldCIpLHNldDpzKChGLFcpPT57Ri5yZW5kZXJDb3VudGVyPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sVCxQKSxDYyh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbGxhcHNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4iY29sbGFwc2VkImluIEYsImhhcyIpLGdldDpzKEY9PkYuY29sbGFwc2VkLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YuY29sbGFwc2VkPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sTSxTKSxDYyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpBfSxudWxsLHQpLEU9cj1lLnZhbHVlLEEmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6QX0pfXN0YXRpYyBkZW1vPSRsYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPWRpKHRoaXMsbiwiTWVudSIpO2dldCBoZWFkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcoQSl7dGhpcy4jZT1BfSN0PShkaSh0aGlzLGwpLGRpKHRoaXMsYyxbXSkpO2dldCBncm91cHMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZ3JvdXBzKEEpe3RoaXMuI3Q9QX0jYT0oZGkodGhpcyxwKSxkaSh0aGlzLG0sW10pKTtnZXQgc2VsZWN0aW9uT3B0aW9ucygpe3JldHVybiB0aGlzLiNhfXNldCBzZWxlY3Rpb25PcHRpb25zKEEpe3RoaXMuI2E9QX0jcj0oZGkodGhpcyx2KSxkaSh0aGlzLGIsbnVsbCkpO2dldCBzZWxlY3RlZEl0ZW0oKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2VsZWN0ZWRJdGVtKEEpe3RoaXMuI3I9QX0jcz0oZGkodGhpcyxnKSxkaSh0aGlzLGssbmV3IFNldCkpO2dldCBjb2xsYXBzZWRHcm91cHMoKXtyZXR1cm4gdGhpcy4jc31zZXQgY29sbGFwc2VkR3JvdXBzKEEpe3RoaXMuI3M9QX0jaT0oZGkodGhpcyxDKSxkaSh0aGlzLF8sbmV3IFNldCkpO2dldCBjb2xsYXBzZWRNdWx0aUZpbHRlcnMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgY29sbGFwc2VkTXVsdGlGaWx0ZXJzKEEpe3RoaXMuI2k9QX0jbz0oZGkodGhpcyx6KSxkaSh0aGlzLFQsMCkpO2dldCByZW5kZXJDb3VudGVyKCl7cmV0dXJuIHRoaXMuI299c2V0IHJlbmRlckNvdW50ZXIoQSl7dGhpcy4jbz1BfSNuPShkaSh0aGlzLFApLGRpKHRoaXMsTSwhMSkpO2dldCBjb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jbn1zZXQgY29sbGFwc2VkKEEpe3RoaXMuI249QX1zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIC0tc2lkZWJhci13aWR0aC1leHBhbmRlZDogMjQwcHg7CiAgICAgICAgLS1zaWRlYmFyLXdpZHRoLWNvbGxhcHNlZDogNTZweDsKICAgICAgICAtLXNpZGViYXItYmc6IHZhcigtLWRlZXMtY29sb3ItYmctc2Vjb25kYXJ5KTsKICAgICAgICAtLXNpZGViYXItZmc6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIC0tc2lkZWJhci1mZy1tdXRlZDogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICAtLXNpZGViYXItZmctYWN0aXZlOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgLS1zaWRlYmFyLWJvcmRlcjogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICAtLXNpZGViYXItaG92ZXI6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIC0tc2lkZWJhci1hY3RpdmU6IHZhcigtLWRlZXMtY29sb3ItYWN0aXZlKTsKICAgICAgICAtLXNpZGViYXItYWNjZW50OiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgLS10b29sdGlwLWJnOiB2YXIoLS1kZWVzLWNvbG9yLXRvb2x0aXAtYmcpOwogICAgICAgIC0tdG9vbHRpcC1mZzogdmFyKC0tZGVlcy1jb2xvci10b29sdGlwLWZnKTsKCiAgICAgICAgLyogQmFkZ2UgY29sb3JzICovCiAgICAgICAgLS1iYWRnZS1kZWZhdWx0LWJnOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLWRlZmF1bHQtYmcpOwogICAgICAgIC0tYmFkZ2UtZGVmYXVsdC1mZzogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS1kZWZhdWx0LWZnKTsKICAgICAgICAtLWJhZGdlLXN1Y2Nlc3MtYmc6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2Utc3VjY2Vzcy1iZyk7CiAgICAgICAgLS1iYWRnZS1zdWNjZXNzLWZnOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLXN1Y2Nlc3MtZmcpOwogICAgICAgIC0tYmFkZ2Utd2FybmluZy1iZzogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS13YXJuaW5nLWJnKTsKICAgICAgICAtLWJhZGdlLXdhcm5pbmctZmc6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2Utd2FybmluZy1mZyk7CiAgICAgICAgLS1iYWRnZS1lcnJvci1iZzogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS1lcnJvci1iZyk7CiAgICAgICAgLS1iYWRnZS1lcnJvci1mZzogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS1lcnJvci1mZyk7CgogICAgICAgIC8qIEFjdGlvbiBjb2xvcnMgKi8KICAgICAgICAtLWFjdGlvbi1wcmltYXJ5OiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiMzYjgyZjYiKX07CiAgICAgICAgLS1hY3Rpb24tcHJpbWFyeS1ob3ZlcjogJHtoLmJkVGhlbWUoIiMxZDRlZDgiLCIjNjBhNWZhIil9OwogICAgICAgIC0tYWN0aW9uLWRhbmdlcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIC0tYWN0aW9uLWRhbmdlci1ob3ZlcjogJHtoLmJkVGhlbWUoIiNiOTFjMWMiLCIjZjg3MTcxIil9OwoKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoLWV4cGFuZGVkKTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWJnKTsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1zaWRlYmFyLWJvcmRlcik7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBzYW5zLXNlcmlmOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGVhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSB7CiAgICAgICAgd2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgtY29sbGFwc2VkKTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC8qIEZsb2F0aW5nIGNvbGxhcHNlIHRvZ2dsZSBidXR0b24gKi8KICAgICAgLmNvbGxhcHNlLXRvZ2dsZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAtMTJweDsKICAgICAgICB0b3A6IDI0cHg7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLmNvbGxhcHNlLXRvZ2dsZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy10ZXJ0aWFyeSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgOmhvc3QoOmhvdmVyKSAuY29sbGFwc2UtdG9nZ2xlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuY29sbGFwc2UtdG9nZ2xlIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAvKiBIZWFkZXIgU2VjdGlvbiAqLwogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXNpZGViYXItYm9yZGVyKTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIC5oZWFkaW5nIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnLWFjdGl2ZSk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB3aWR0aCAwLjI1cyBlYXNlOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmhlYWRlciB7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAuaGVhZGVyIC5oZWFkaW5nIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC8qIFNjcm9sbGFibGUgTWVudSBTZWN0aW9uICovCiAgICAgIC5tZW51U2VjdGlvbiB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWIpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWItaG92ZXIpOwogICAgICB9CgogICAgICAvKiBNZW51IEdyb3VwICovCiAgICAgIC5tZW51R3JvdXAgewogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51R3JvdXAgewogICAgICAgIHBhZGRpbmc6IDAgNHB4OwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlLCBtYXgtaGVpZ2h0IDAuMjVzIGVhc2U7CiAgICAgICAgbWF4LWhlaWdodDogNDBweDsKICAgICAgfQoKICAgICAgLmdyb3VwSGVhZGVyOmhvdmVyIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgicmdiYSgxNDAsIDEyMCwgMTAwLCAwLjA2KSIsInJnYmEoMTgwLCAxNjAsIDE0MCwgMC4wOCkiKX07CiAgICAgICAgcGFkZGluZzogN3B4IDExcHg7CiAgICAgIH0KCiAgICAgIC5ncm91cEhlYWRlcjpub3QoLmNvbGxhcHNlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDE0MCwgMTIwLCAxMDAsIDAuMDYpIiwicmdiYSgxODAsIDE2MCwgMTQwLCAwLjA4KSIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgIH0KCiAgICAgIC5ncm91cEhlYWRlciAuZ3JvdXBUaXRsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtd2FybSk7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXIgLmdyb3VwVGl0bGUgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC13YXJtKTsKICAgICAgfQoKICAgICAgLmdyb3VwSGVhZGVyIC5jaGV2cm9uIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXdhcm0pOwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXIuY29sbGFwc2VkIC5jaGV2cm9uIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOwogICAgICB9CgogICAgICAvKiBIaWRlIGdyb3VwIGhlYWRlcnMgd2hlbiBob3Jpem9udGFsbHkgY29sbGFwc2VkICovCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAuZ3JvdXBIZWFkZXIgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgbWF4LWhlaWdodDogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLyogR3JvdXAgSXRlbXMgQ29udGFpbmVyICovCiAgICAgIC5ncm91cEl0ZW1zIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4yNXMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2UsIG1hcmdpbiAwLjI1cyBlYXNlOwogICAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIC5ncm91cEl0ZW1zLmNvbGxhcHNlZCB7CiAgICAgICAgbWF4LWhlaWdodDogMDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC8qIEFsd2F5cyBzaG93IGl0ZW1zIHdoZW4gaG9yaXpvbnRhbGx5IGNvbGxhcHNlZCAocmVnYXJkbGVzcyBvZiBncm91cCBjb2xsYXBzZSBzdGF0ZSkgKi8KICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5ncm91cEl0ZW1zIHsKICAgICAgICBtYXgtaGVpZ2h0OiBub25lOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC8qIE1lbnUgSXRlbSBCYXNlICovCiAgICAgIC5tZW51SXRlbSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgbWFyZ2luOiAycHggMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnKTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tc2lkZWJhci1mZy1hY3RpdmUpOwogICAgICB9CgogICAgICAubWVudUl0ZW06YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5kaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1hY3RpdmUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnLWFjdGl2ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLnNlbGVjdGVkOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICB3aWR0aDogM3B4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWFjY2VudCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5zZWxlY3RlZCBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbSAuaXRlbUxhYmVsIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgd2lkdGggMC4yNXMgZWFzZTsKICAgICAgfQoKICAgICAgLyogQWN0aW9uIEl0ZW0gU3R5bGVzICovCiAgICAgIC5tZW51SXRlbS5hY3Rpb24tcHJpbWFyeSB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGlvbi1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmFjdGlvbi1wcmltYXJ5OmhvdmVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aW9uLXByaW1hcnktaG92ZXIpOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDM3LCA5OSwgMjM1LCAwLjA4KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEyKSIpfTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmFjdGlvbi1wcmltYXJ5IGRlZXMtaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmFjdGlvbi1kYW5nZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpb24tZGFuZ2VyKTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmFjdGlvbi1kYW5nZXI6aG92ZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpb24tZGFuZ2VyLWhvdmVyKTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyMjAsIDM4LCAzOCwgMC4wOCkiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjEyKSIpfTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmFjdGlvbi1kYW5nZXIgZGVlcy1pY29uIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAvKiBGaWx0ZXIgSXRlbSBTdHlsZXMgKi8KICAgICAgLm1lbnVJdGVtLmZpbHRlciB7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICB9CgogICAgICAubWVudUl0ZW0uZmlsdGVyIC5maWx0ZXItY2hlY2tib3ggewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiI2Q0ZDRkNCIsIiM1MjUyNTIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmZpbHRlciAuZmlsdGVyLWNoZWNrYm94LmNoZWNrZWQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYWNjZW50KTsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXNpZGViYXItYWNjZW50KTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmZpbHRlciAuZmlsdGVyLWNoZWNrYm94IGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmZpbHRlci5hY3RpdmUgewogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC8qIE11bHRpLUZpbHRlciBDb250YWluZXIgKi8KICAgICAgLm11bHRpRmlsdGVyIHsKICAgICAgICBtYXJnaW46IDRweCAwOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNpZGViYXItYm9yZGVyKTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAyKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMikiKX07CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1oZWFkZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItaG92ZXIpOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItaGVhZGVyIC5tdWx0aUZpbHRlci10aXRsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1oZWFkZXIgLm11bHRpRmlsdGVyLXRpdGxlIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlciAubXVsdGlGaWx0ZXItY291bnQgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogdmFyKC0tc2lkZWJhci1mZy1tdXRlZCk7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmFkZ2UtZGVmYXVsdC1iZyk7CiAgICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1oZWFkZXIgLmNoZXZyb24gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlOwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnLW11dGVkKTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlci5jb2xsYXBzZWQgLmNoZXZyb24gewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb25zIHsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjI1cyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItb3B0aW9ucy5jb2xsYXBzZWQgewogICAgICAgIG1heC1oZWlnaHQ6IDA7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBib3JkZXItdG9wOiBub25lOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItb3B0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnKTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbiAub3B0aW9uLWNoZWNrYm94IHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHtoLmJkVGhlbWUoIiNkNGQ0ZDQiLCIjNTI1MjUyIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb24gLm9wdGlvbi1jaGVja2JveC5jaGVja2VkIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWFjY2VudCk7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zaWRlYmFyLWFjY2VudCk7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb24gLm9wdGlvbi1jaGVja2JveCBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItb3B0aW9uIGRlZXMtaWNvbi5vcHRpb24taWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKICAgICAgLyogRGl2aWRlciAqLwogICAgICAubWVudURpdmlkZXIgewogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYm9yZGVyKTsKICAgICAgICBtYXJnaW46IDhweCAxMnB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVEaXZpZGVyIHsKICAgICAgICBtYXJnaW46IDhweCA0cHg7CiAgICAgIH0KCiAgICAgIC8qIEhlYWRlci9MYWJlbCAqLwogICAgICAubWVudUhlYWRlciB7CiAgICAgICAgcGFkZGluZzogMTJweCAxMnB4IDRweCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnLW11dGVkKTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51SGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBMaW5rIEl0ZW0gKi8KICAgICAgLm1lbnVJdGVtLmxpbmsgLmV4dGVybmFsLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgIH0KCiAgICAgIC8qIENvbGxhcHNlZCBtZW51IGl0ZW0gc3R5bGVzICovCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudUl0ZW0gewogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBnYXA6IDA7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudUl0ZW0gLml0ZW1MYWJlbCB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudUl0ZW0uc2VsZWN0ZWQ6OmJlZm9yZSB7CiAgICAgICAgbGVmdDogLTRweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51SXRlbSAuZmlsdGVyLWNoZWNrYm94LAogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVJdGVtIC5leHRlcm5hbC1pY29uIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm11bHRpRmlsdGVyIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBUb29sdGlwIGZvciBjb2xsYXBzZWQgc3RhdGUgKi8KICAgICAgLml0ZW0tdG9vbHRpcCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDEwMCU7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRvb2x0aXAtYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS10b29sdGlwLWZnKTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpOwogICAgICB9CgogICAgICAuaXRlbS10b29sdGlwOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAtNHB4OwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLXRvb2x0aXAtYmcpOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVJdGVtOmhvdmVyIC5pdGVtLXRvb2x0aXAgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMXM7CiAgICAgIH0KCiAgICAgIC8qIEJhZGdlIFN0eWxlcyAqLwogICAgICAuYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgbWluLXdpZHRoOiAxOHB4OwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgICBwYWRkaW5nOiAwIDZweDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5kZWZhdWx0IHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWRnZS1kZWZhdWx0LWJnKTsKICAgICAgICBjb2xvcjogdmFyKC0tYmFkZ2UtZGVmYXVsdC1mZyk7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5zdWNjZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWRnZS1zdWNjZXNzLWJnKTsKICAgICAgICBjb2xvcjogdmFyKC0tYmFkZ2Utc3VjY2Vzcy1mZyk7CiAgICAgIH0KCiAgICAgIC5iYWRnZS53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWRnZS13YXJuaW5nLWJnKTsKICAgICAgICBjb2xvcjogdmFyKC0tYmFkZ2Utd2FybmluZy1mZyk7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmFkZ2UtZXJyb3ItYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1iYWRnZS1lcnJvci1mZyk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAuYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIExlZ2FjeSBvcHRpb25zIGNvbnRhaW5lciAqLwogICAgICAubGVnYWN5T3B0aW9ucyB7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgIH0KCiAgICAgIC8qIERpdmlkZXIgKGxlZ2FjeSkgKi8KICAgICAgLmRpdmlkZXIgewogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYm9yZGVyKTsKICAgICAgICBtYXJnaW46IDhweCAxMnB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWFkaW5nIj4ke3RoaXMuaGVhZGluZ308L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVudVNlY3Rpb24iPgogICAgICAgICAgJHt0aGlzLmdyb3Vwcy5sZW5ndGg+MD90aGlzLnJlbmRlckdyb3VwcygpOnRoaXMucmVuZGVyTGVnYWN5T3B0aW9ucygpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iY29sbGFwc2UtdG9nZ2xlIiBAY2xpY2s9IiR7KCk9PnRoaXMudG9nZ2xlQ29sbGFwc2UoKX0iPgogICAgICAgIDxkZWVzLWljb24gLmljb249IiR7dGhpcy5jb2xsYXBzZWQ/Imx1Y2lkZTpjaGV2cm9uUmlnaHQiOiJsdWNpZGU6Y2hldnJvbkxlZnQifSI+PC9kZWVzLWljb24+CiAgICAgIDwvYnV0dG9uPgogICAgYH1yZW5kZXJHcm91cHMoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLmdyb3Vwcy5tYXAoQT0+d2AKICAgICAgICA8ZGl2IGNsYXNzPSJtZW51R3JvdXAiPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0iZ3JvdXBIZWFkZXIgJHt0aGlzLmNvbGxhcHNlZEdyb3Vwcy5oYXMoQS5uYW1lKT8iY29sbGFwc2VkIjoiIn0iCiAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+dGhpcy50b2dnbGVHcm91cChBLm5hbWUpfSIKICAgICAgICAgID4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imdyb3VwVGl0bGUiPgogICAgICAgICAgICAgICR7QS5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7dGhpcy5ub3JtYWxpemVJY29uKEEuaWNvbk5hbWUpfSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgICAke0EubmFtZX0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJjaGV2cm9uIiAuaWNvbj0iJHsibHVjaWRlOmNoZXZyb25Eb3duIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJncm91cEl0ZW1zICR7dGhpcy5jb2xsYXBzZWRHcm91cHMuaGFzKEEubmFtZSk/ImNvbGxhcHNlZCI6IiJ9Ij4KICAgICAgICAgICAgJHtBLml0ZW1zLm1hcChGPT50aGlzLnJlbmRlckl0ZW0oRixBKSl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgYCl9CiAgICBgfXJlbmRlckl0ZW0oQSxGKXtpZigiaGlkZGVuImluIEEmJkEuaGlkZGVuKXJldHVybiB3YGA7c3dpdGNoKCJ0eXBlImluIEE/QS50eXBlOiJ0YWIiKXtjYXNlImFjdGlvbiI6cmV0dXJuIHRoaXMucmVuZGVyQWN0aW9uSXRlbShBKTtjYXNlImZpbHRlciI6cmV0dXJuIHRoaXMucmVuZGVyRmlsdGVySXRlbShBKTtjYXNlIm11bHRpRmlsdGVyIjpyZXR1cm4gdGhpcy5yZW5kZXJNdWx0aUZpbHRlckl0ZW0oQSk7Y2FzZSJkaXZpZGVyIjpyZXR1cm4gdGhpcy5yZW5kZXJEaXZpZGVyKCk7Y2FzZSJoZWFkZXIiOnJldHVybiB0aGlzLnJlbmRlckhlYWRlcihBKTtjYXNlImxpbmsiOnJldHVybiB0aGlzLnJlbmRlckxpbmtJdGVtKEEpO2RlZmF1bHQ6cmV0dXJuIHRoaXMucmVuZGVyVGFiSXRlbShBLEYpfX1yZW5kZXJUYWJJdGVtKEEsRil7bGV0IFc9dGhpcy5zZWxlY3RlZEl0ZW0/LmtleT09PUEua2V5LGo9QS5kaXNhYmxlZD09PSEwO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9Im1lbnVJdGVtICR7Vz8ic2VsZWN0ZWQiOiIifSAke2o/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgQGNsaWNrPSIkeygpPT4haiYmdGhpcy5zZWxlY3RUYWJJdGVtKEEsRil9IgogICAgICAgIEBjb250ZXh0bWVudT0iJHtHPT50aGlzLmhhbmRsZUNvbnRleHRNZW51KEcsQSl9IgogICAgICA+CiAgICAgICAgJHtBLmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvbj0iJHt0aGlzLm5vcm1hbGl6ZUljb24oQS5pY29uTmFtZSl9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtTGFiZWwiPiR7QS5rZXl9PC9zcGFuPgogICAgICAgICR7QS5iYWRnZSE9PXZvaWQgMD93YAogICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7QS5iYWRnZVZhcmlhbnR8fCJkZWZhdWx0In0iPiR7QS5iYWRnZX08L3NwYW4+CiAgICAgICAgYDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS10b29sdGlwIj4ke0Eua2V5fTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckFjdGlvbkl0ZW0oQSl7bGV0IEY9QS52YXJpYW50fHwicHJpbWFyeSIsVz1BLmRpc2FibGVkPT09ITA7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0ibWVudUl0ZW0gYWN0aW9uLSR7Rn0gJHtXPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgIEBjbGljaz0iJHsoKT0+IVcmJnRoaXMuaGFuZGxlQWN0aW9uQ2xpY2soQSl9IgogICAgICA+CiAgICAgICAgJHtBLmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvbj0iJHt0aGlzLm5vcm1hbGl6ZUljb24oQS5pY29uTmFtZSl9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtTGFiZWwiPiR7QS5rZXl9PC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXRvb2x0aXAiPiR7QS5rZXl9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRmlsdGVySXRlbShBKXtsZXQgRj1BLmRpc2FibGVkPT09ITA7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0ibWVudUl0ZW0gZmlsdGVyICR7QS5hY3RpdmU/ImFjdGl2ZSI6IiJ9ICR7Rj8iZGlzYWJsZWQiOiIifSIKICAgICAgICBAY2xpY2s9IiR7KCk9PiFGJiZ0aGlzLmhhbmRsZUZpbHRlclRvZ2dsZShBKX0iCiAgICAgID4KICAgICAgICAke0EuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihBLmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW1MYWJlbCI+JHtBLmtleX08L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsdGVyLWNoZWNrYm94ICR7QS5hY3RpdmU/ImNoZWNrZWQiOiIifSI+CiAgICAgICAgICAke0EuYWN0aXZlP3dgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOmNoZWNrIn0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdG9vbHRpcCI+JHtBLmtleX08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJNdWx0aUZpbHRlckl0ZW0oQSl7bGV0IEY9dGhpcy5jb2xsYXBzZWRNdWx0aUZpbHRlcnMuaGFzKEEua2V5KSxXPUEub3B0aW9ucy5maWx0ZXIoaj0+ai5jaGVja2VkKS5sZW5ndGg7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im11bHRpRmlsdGVyIj4KICAgICAgICA8ZGl2CiAgICAgICAgICBjbGFzcz0ibXVsdGlGaWx0ZXItaGVhZGVyICR7Rj8iY29sbGFwc2VkIjoiIn0iCiAgICAgICAgICBAY2xpY2s9IiR7KCk9PnRoaXMudG9nZ2xlTXVsdGlGaWx0ZXIoQS5rZXkpfSIKICAgICAgICA+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ibXVsdGlGaWx0ZXItdGl0bGUiPgogICAgICAgICAgICAke0EuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihBLmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICR7QS5rZXl9CiAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAke1c+MD93YDxzcGFuIGNsYXNzPSJtdWx0aUZpbHRlci1jb3VudCI+JHtXfTwvc3Bhbj5gOiIifQogICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iY2hldnJvbiIgLmljb249IiR7Imx1Y2lkZTpjaGV2cm9uRG93biJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtdWx0aUZpbHRlci1vcHRpb25zICR7Rj8iY29sbGFwc2VkIjoiIn0iPgogICAgICAgICAgJHtBLm9wdGlvbnMubWFwKGo9PndgCiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBjbGFzcz0ibXVsdGlGaWx0ZXItb3B0aW9uIgogICAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+dGhpcy5oYW5kbGVNdWx0aUZpbHRlck9wdGlvblRvZ2dsZShBLGoua2V5KX0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvcHRpb24tY2hlY2tib3ggJHtqLmNoZWNrZWQ/ImNoZWNrZWQiOiIifSI+CiAgICAgICAgICAgICAgICAke2ouY2hlY2tlZD93YDxkZWVzLWljb24gLmljb249IiR7Imx1Y2lkZTpjaGVjayJ9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICR7ai5pY29uTmFtZT93YDxkZWVzLWljb24gY2xhc3M9Im9wdGlvbi1pY29uIiAuaWNvbj0iJHt0aGlzLm5vcm1hbGl6ZUljb24oai5pY29uTmFtZSl9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgICAgICAgIDxzcGFuPiR7ai5sYWJlbH08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJEaXZpZGVyKCl7cmV0dXJuIHdgPGRpdiBjbGFzcz0ibWVudURpdmlkZXIiPjwvZGl2PmB9cmVuZGVySGVhZGVyKEEpe3JldHVybiB3YDxkaXYgY2xhc3M9Im1lbnVIZWFkZXIiPiR7QS5sYWJlbH08L2Rpdj5gfXJlbmRlckxpbmtJdGVtKEEpe2xldCBGPUEuZXh0ZXJuYWw/P0EuaHJlZi5zdGFydHNXaXRoKCJodHRwIiksVz1BLmRpc2FibGVkPT09ITA7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0ibWVudUl0ZW0gbGluayAke1c/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgQGNsaWNrPSIkeygpPT4hVyYmdGhpcy5oYW5kbGVMaW5rQ2xpY2soQSl9IgogICAgICA+CiAgICAgICAgJHtBLmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvbj0iJHt0aGlzLm5vcm1hbGl6ZUljb24oQS5pY29uTmFtZSl9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtTGFiZWwiPiR7QS5rZXl9PC9zcGFuPgogICAgICAgICR7Rj93YDxkZWVzLWljb24gY2xhc3M9ImV4dGVybmFsLWljb24iIC5pY29uPSIkeyJsdWNpZGU6ZXh0ZXJuYWxMaW5rIn0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdG9vbHRpcCI+JHtBLmtleX08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJMZWdhY3lPcHRpb25zKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImxlZ2FjeU9wdGlvbnMiPgogICAgICAgICR7dGhpcy5zZWxlY3Rpb25PcHRpb25zLm1hcChBPT57aWYoImRpdmlkZXIiaW4gQSYmQS5kaXZpZGVyKXJldHVybiB3YDxkaXYgY2xhc3M9ImRpdmlkZXIiPjwvZGl2PmA7bGV0IEY9QSxXPXtrZXk6Ri5rZXksaWNvbk5hbWU6Ri5pY29uTmFtZSxhY3Rpb246Ri5hY3Rpb24sYmFkZ2U6Ri5iYWRnZSxiYWRnZVZhcmlhbnQ6Ri5iYWRnZVZhcmlhbnR9O3JldHVybiB0aGlzLnJlbmRlclRhYkl0ZW0oVyl9KX0KICAgICAgPC9kaXY+CiAgICBgfW5vcm1hbGl6ZUljb24oQSl7cmV0dXJuIEEuc3RhcnRzV2l0aCgibHVjaWRlOiIpP0E6YGx1Y2lkZToke0F9YH10b2dnbGVHcm91cChBKXtsZXQgRj1uZXcgU2V0KHRoaXMuY29sbGFwc2VkR3JvdXBzKTtGLmhhcyhBKT9GLmRlbGV0ZShBKTpGLmFkZChBKSx0aGlzLmNvbGxhcHNlZEdyb3Vwcz1GfXRvZ2dsZU11bHRpRmlsdGVyKEEpe2xldCBGPW5ldyBTZXQodGhpcy5jb2xsYXBzZWRNdWx0aUZpbHRlcnMpO0YuaGFzKEEpP0YuZGVsZXRlKEEpOkYuYWRkKEEpLHRoaXMuY29sbGFwc2VkTXVsdGlGaWx0ZXJzPUZ9dG9nZ2xlQ29sbGFwc2UoKXt0aGlzLmNvbGxhcHNlZD0hdGhpcy5jb2xsYXBzZWQsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29sbGFwc2UtY2hhbmdlIix7ZGV0YWlsOntjb2xsYXBzZWQ6dGhpcy5jb2xsYXBzZWR9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9c2VsZWN0VGFiSXRlbShBLEYpe3RoaXMuc2VsZWN0ZWRJdGVtPUEsQS5hY3Rpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpdGVtLXNlbGVjdCIse2RldGFpbDp7aXRlbTpBLGdyb3VwOkZ9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9YXN5bmMgaGFuZGxlQWN0aW9uQ2xpY2soQSl7QS5jb25maXJtTWVzc2FnZSYmIXdpbmRvdy5jb25maXJtKEEuY29uZmlybU1lc3NhZ2UpfHwoYXdhaXQgQS5hY3Rpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhY3Rpb24tY2xpY2siLHtkZXRhaWw6e2l0ZW06QX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSl9aGFuZGxlRmlsdGVyVG9nZ2xlKEEpe2xldCBGPSFBLmFjdGl2ZTtBLmFjdGl2ZT1GLEEub25Ub2dnbGUoRiksdGhpcy5yZW5kZXJDb3VudGVyKyssdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZmlsdGVyLXRvZ2dsZSIse2RldGFpbDp7aXRlbTpBLGFjdGl2ZTpGfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZU11bHRpRmlsdGVyT3B0aW9uVG9nZ2xlKEEsRil7bGV0IFc9QS5vcHRpb25zLmZpbmQoRz0+Ry5rZXk9PT1GKTtXJiYoVy5jaGVja2VkPSFXLmNoZWNrZWQpO2xldCBqPUEub3B0aW9ucy5maWx0ZXIoRz0+Ry5jaGVja2VkKS5tYXAoRz0+Ry5rZXkpO0Eub25DaGFuZ2UoaiksdGhpcy5yZW5kZXJDb3VudGVyKyssdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibXVsdGlmaWx0ZXItY2hhbmdlIix7ZGV0YWlsOntpdGVtOkEsc2VsZWN0ZWRLZXlzOmp9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlTGlua0NsaWNrKEEpe0EuZXh0ZXJuYWw/P0EuaHJlZi5zdGFydHNXaXRoKCJodHRwIik/d2luZG93Lm9wZW4oQS5ocmVmLCJfYmxhbmsiLCJub29wZW5lcixub3JlZmVycmVyIik6d2luZG93LmxvY2F0aW9uLmhyZWY9QS5ocmVmLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxpbmstY2xpY2siLHtkZXRhaWw6e2l0ZW06QX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDb250ZXh0TWVudShBLEYpe3RhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKEEsW3tuYW1lOiJWaWV3IGRldGFpbHMiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxpY29uTmFtZToibHVjaWRlOmV5ZSJ9LHtuYW1lOiJFZGl0IixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksaWNvbk5hbWU6Imx1Y2lkZTpwZW5jaWwifV0pfWFzeW5jIGZpcnN0VXBkYXRlZChBKXtpZihhd2FpdCBzdXBlci5maXJzdFVwZGF0ZWQoQSksdGhpcy5ncm91cHMubGVuZ3RoPjApe2xldCBGPW5ldyBTZXQsVz1uZXcgU2V0O2lmKHRoaXMuZ3JvdXBzLmZvckVhY2goaj0+e2ouY29sbGFwc2VkJiZGLmFkZChqLm5hbWUpLGouaXRlbXMuZm9yRWFjaChHPT57aWYoInR5cGUiaW4gRyYmRy50eXBlPT09Im11bHRpRmlsdGVyIil7bGV0IGhlPUc7aGUuY29sbGFwc2VkJiZXLmFkZChoZS5rZXkpfX0pfSksdGhpcy5jb2xsYXBzZWRHcm91cHM9Rix0aGlzLmNvbGxhcHNlZE11bHRpRmlsdGVycz1XLCF0aGlzLnNlbGVjdGVkSXRlbSlmb3IobGV0IGogb2YgdGhpcy5ncm91cHMpZm9yKGxldCBHIG9mIGouaXRlbXMpe2xldCBoZT0idHlwZSJpbiBHP0cudHlwZToidGFiIjtpZihoZT09PSJ0YWIifHxoZT09PXZvaWQgMCl7bGV0IFI9RztpZighUi5kaXNhYmxlZCl7dGhpcy5zZWxlY3RUYWJJdGVtKFIsaik7cmV0dXJufX19fWVsc2UgaWYodGhpcy5zZWxlY3Rpb25PcHRpb25zLmxlbmd0aD4wKXtsZXQgRj10aGlzLnNlbGVjdGlvbk9wdGlvbnMuZmluZChXPT4hKCJkaXZpZGVyImluIFcpKTtpZihGJiYhdGhpcy5zZWxlY3RlZEl0ZW0pe2xldCBXPXtrZXk6Ri5rZXksaWNvbk5hbWU6Ri5pY29uTmFtZSxhY3Rpb246Ri5hY3Rpb259O3RoaXMuc2VsZWN0VGFiSXRlbShXKX19fWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxkaSh0aGlzLFMpfXN0YXRpY3tkaShyLHQpfX07cmV0dXJuIEU9cn0pKCl9KTt2YXIgbDUsVm4sYVppLHJaaSxQbGEsRWxhPWYoKCk9PntsZSgpO3I0KCk7bDU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFZuPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxhWmk9KCgpPT57bGV0IGE9W2llKCJkZW1vLWNsb3NlYWJsZS10YWJzIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlbW9DbG9zZWFibGVUYWJzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkPVtLKCldLGw1KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4idGFicyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnRhYnMsImdldCIpLHNldDpzKCh2LHgpPT57di50YWJzPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxsNSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYkNvdW50ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InRhYkNvdW50ZXIiaW4gdiwiaGFzIiksZ2V0OnModj0+di50YWJDb3VudGVyLCJnZXQiKSxzZXQ6cygodix4KT0+e3YudGFiQ291bnRlcj14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksbDUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX0jZT1Wbih0aGlzLG4sW3trZXk6Ik1haW4iLGljb25OYW1lOiJsdWNpZGU6aG9tZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJNYWluIGNsaWNrZWQiKSwiYWN0aW9uIil9XSk7Z2V0IHRhYnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGFicyhtKXt0aGlzLiNlPW19I3Q9KFZuKHRoaXMsbCksVm4odGhpcyxjLDApKTtnZXQgdGFiQ291bnRlcigpe3JldHVybiB0aGlzLiN0fXNldCB0YWJDb3VudGVyKG0pe3RoaXMuI3Q9bX1zdGF0aWMgc3R5bGVzPVtYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KICAgICAgLmluZm8gewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsMCwwLDAuMDIpIiwicmdiYSgyNTUsMjU1LDI1NSwwLjAyKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO2FkZFRhYigpe3RoaXMudGFiQ291bnRlcisrO2xldCBtPWBEb2N1bWVudCAke3RoaXMudGFiQ291bnRlcn1gO3RoaXMudGFicz1bLi4udGhpcy50YWJzLHtrZXk6bSxpY29uTmFtZToibHVjaWRlOmZpbGUiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZyhgJHttfSBjbGlja2VkYCksImFjdGlvbiIpLGNsb3NlYWJsZTohMCxvbkNsb3NlOnMoKCk9PnRoaXMucmVtb3ZlVGFiKG0pLCJvbkNsb3NlIil9XX1yZW1vdmVUYWIobSl7dGhpcy50YWJzPXRoaXMudGFicy5maWx0ZXIodj0+di5rZXkhPT1tKX1jbGVhckFsbCgpe3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWFwcHVpLXRhYnMiKT8uY2xlYXIoKSx0aGlzLnRhYnM9W10sdGhpcy50YWJDb3VudGVyPTB9cmVuZGVyKCl7bGV0IG09W3tpZDoiYWRkIixpY29uTmFtZToibHVjaWRlOnBsdXMiLGFjdGlvbjpzKCgpPT50aGlzLmFkZFRhYigpLCJhY3Rpb24iKSx0b29sdGlwOiJOZXcgVGFiIn0se2lkOiJjbGVhciIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLGFjdGlvbjpzKCgpPT50aGlzLmNsZWFyQWxsKCksImFjdGlvbiIpLHRvb2x0aXA6IkNsZWFyIEFsbCBUYWJzIn1dO3JldHVybiB3YAogICAgICA8ZGVlcy1hcHB1aS10YWJzCiAgICAgICAgLnRhYnM9JHt0aGlzLnRhYnN9CiAgICAgICAgLmFjdGlvbnNSaWdodD0ke219CiAgICAgICAgQHRhYi1jbG9zZT0ke3Y9PnRoaXMucmVtb3ZlVGFiKHYuZGV0YWlsLnRhYi5rZXkpfQogICAgICA+PC9kZWVzLWFwcHVpLXRhYnM+CiAgICAgIDxkaXYgY2xhc3M9ImluZm8iPgogICAgICAgIENsaWNrIHRoZSBYIGJ1dHRvbiBvbiB0YWJzIHRvIGNsb3NlIHRoZW0uIFVzZSB0aGUgKyBidXR0b24gdG8gYWRkIHRhYnMgYW5kIHRoZSB0cmFzaCBidXR0b24gdG8gY2xlYXIgYWxsLgogICAgICAgIDxicj5DdXJyZW50IHRhYnM6ICR7dGhpcy50YWJzLmxlbmd0aH0KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxWbih0aGlzLHApfXN0YXRpY3tWbihyLHQpfX07cmV0dXJuIHU9cn0pKCksclppPSgoKT0+e2xldCBhPVtpZSgiZGVtby1hdXRvaGlkZS10YWJzIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlbW9BdXRvSGlkZVRhYnMiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVtLKCldLGQ9W0soKV0sdT1bSygpXSxsNSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InRhYnMiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy50YWJzLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cudGFicz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksbDUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhdXRvSGlkZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iYXV0b0hpZGUiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5hdXRvSGlkZSwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmF1dG9IaWRlPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxsNSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRocmVzaG9sZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4idGhyZXNob2xkImluIGcsImhhcyIpLGdldDpzKGc9PmcudGhyZXNob2xkLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cudGhyZXNob2xkPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxsNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfSNlPVZuKHRoaXMsbixbe2tleToiVGFiIDEiLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJUYWIgMSIpLCJhY3Rpb24iKX0se2tleToiVGFiIDIiLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJUYWIgMiIpLCJhY3Rpb24iKX1dKTtnZXQgdGFicygpe3JldHVybiB0aGlzLiNlfXNldCB0YWJzKGIpe3RoaXMuI2U9Yn0jdD0oVm4odGhpcyxsKSxWbih0aGlzLGMsITApKTtnZXQgYXV0b0hpZGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYXV0b0hpZGUoYil7dGhpcy4jdD1ifSNhPShWbih0aGlzLHApLFZuKHRoaXMsbSwxKSk7Z2V0IHRocmVzaG9sZCgpe3JldHVybiB0aGlzLiNhfXNldCB0aHJlc2hvbGQoYil7dGhpcy4jYT1ifXN0YXRpYyBzdHlsZXM9W1hgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAudGFicy1jb250YWluZXIgewogICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7CiAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CiAgICAgIC50YWJzLWNvbnRhaW5lciBkZWVzLWFwcHVpLXRhYnMgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5wbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzcxNzE3YSIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CiAgICAgIC5jb250cm9scyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgfQogICAgICBidXR0b24gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KICAgICAgYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgfQogICAgICBidXR0b24uZGFuZ2VyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyMzksIDY4LCA2OCwgMC4xKSIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2Y4NzE3MSIpfTsKICAgICAgfQogICAgICBidXR0b24uZGFuZ2VyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgIH0KICAgICAgLmluZm8gewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsMCwwLDAuMDIpIiwicmdiYSgyNTUsMjU1LDI1NSwwLjAyKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3RhYkNvdW50ZXI9KFZuKHRoaXMsdiksMik7YWRkVGFiKCl7dGhpcy50YWJDb3VudGVyKyssdGhpcy50YWJzPVsuLi50aGlzLnRhYnMse2tleTpgVGFiICR7dGhpcy50YWJDb3VudGVyfWAsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coYFRhYiAke3RoaXMudGFiQ291bnRlcn1gKSwiYWN0aW9uIil9XX1yZW1vdmVMYXN0VGFiKCl7dGhpcy50YWJzLmxlbmd0aD4wJiYodGhpcy50YWJzPXRoaXMudGFicy5zbGljZSgwLC0xKSl9Y2xlYXJUYWJzKCl7dGhpcy50YWJzPVtdfXJlbmRlcigpe2xldCBiPXRoaXMuYXV0b0hpZGUmJnRoaXMudGFicy5sZW5ndGg8PXRoaXMudGhyZXNob2xkO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJ0YWJzLWNvbnRhaW5lciI+CiAgICAgICAgJHtiP3dgPHNwYW4gY2xhc3M9InBsYWNlaG9sZGVyIj5UYWJzIGhpZGRlbiAoJHt0aGlzLnRhYnMubGVuZ3RofSB0YWJzIOKJpCB0aHJlc2hvbGQgJHt0aGlzLnRocmVzaG9sZH0pPC9zcGFuPmA6d2A8ZGVlcy1hcHB1aS10YWJzCiAgICAgICAgICAgICAgLnRhYnM9JHt0aGlzLnRhYnN9CiAgICAgICAgICAgICAgLmF1dG9IaWRlPSR7dGhpcy5hdXRvSGlkZX0KICAgICAgICAgICAgICAuYXV0b0hpZGVUaHJlc2hvbGQ9JHt0aGlzLnRocmVzaG9sZH0KICAgICAgICAgICAgPjwvZGVlcy1hcHB1aS10YWJzPmB9CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHsoKT0+dGhpcy5hZGRUYWIoKX0+KyBBZGQgVGFiPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGFuZ2VyIiBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVMYXN0VGFiKCl9Pi0gUmVtb3ZlIFRhYjwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImRhbmdlciIgQGNsaWNrPSR7KCk9PnRoaXMuY2xlYXJUYWJzKCl9PkNsZWFyIEFsbDwvYnV0dG9uPgogICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9Pnt0aGlzLnRocmVzaG9sZD0wfX0+VGhyZXNob2xkOiAwPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHsoKT0+e3RoaXMudGhyZXNob2xkPTF9fT5UaHJlc2hvbGQ6IDE8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIEBjbGljaz0keygpPT57dGhpcy50aHJlc2hvbGQ9Mn19PlRocmVzaG9sZDogMjwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaW5mbyI+CiAgICAgICAgQXV0by1oaWRlOiAke3RoaXMuYXV0b0hpZGU/Ik9OIjoiT0ZGIn0gfCBUaHJlc2hvbGQ6ICR7dGhpcy50aHJlc2hvbGR9IHwgVGFiczogJHt0aGlzLnRhYnMubGVuZ3RofQogICAgICAgIDxicj5UYWJzIHdpbGwgaGlkZSB3aGVuIGNvdW50IOKJpCB0aHJlc2hvbGQuCiAgICAgIDwvZGl2PgogICAgYH1zdGF0aWN7Vm4ocix0KX19O3JldHVybiB4PXJ9KSgpLFBsYT1zKCgpPT57bGV0IGE9W3trZXk6IkhvbWUiLGljb25OYW1lOiJsdWNpZGU6aG9tZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJIb21lIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IkFuYWx5dGljcyBEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6bGluZUNoYXJ0IixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkFuYWx5dGljcyBjbGlja2VkIiksImFjdGlvbiIpfSx7a2V5OiJSZXBvcnRzIixpY29uTmFtZToibHVjaWRlOmZpbGVUZXh0IixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlJlcG9ydHMgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiVXNlciBTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpzZXR0aW5ncyIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyBjbGlja2VkIiksImFjdGlvbiIpfSx7a2V5OiJIZWxwIixpY29uTmFtZToibHVjaWRlOmhlbHBDaXJjbGUiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiSGVscCBjbGlja2VkIiksImFjdGlvbiIpfV0sZT1be2tleToiUHJvZmlsZSIsaWNvbk5hbWU6Imx1Y2lkZTp1c2VyIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlByb2ZpbGUgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiU2VjdXJpdHkiLGljb25OYW1lOiJsdWNpZGU6c2hpZWxkIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlNlY3VyaXR5IGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6Ik5vdGlmaWNhdGlvbnMiLGljb25OYW1lOiJsdWNpZGU6YmVsbCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJOb3RpZmljYXRpb25zIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IkludGVncmF0aW9ucyIsaWNvbk5hbWU6Imx1Y2lkZTpsaW5rIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkludGVncmF0aW9ucyBjbGlja2VkIiksImFjdGlvbiIpfSx7a2V5OiJBZHZhbmNlZCIsaWNvbk5hbWU6Imx1Y2lkZTpjb2RlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkFkdmFuY2VkIGNsaWNrZWQiKSwiYWN0aW9uIil9XSx0PVt7a2V5OiJBbGwiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiQWxsIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IkFjdGl2ZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJBY3RpdmUgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiQ29tcGxldGVkIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkNvbXBsZXRlZCBjbGlja2VkIiksImFjdGlvbiIpfSx7a2V5OiJBcmNoaXZlZCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJBcmNoaXZlZCBjbGlja2VkIiksImFjdGlvbiIpfV0scj1be2lkOiJiYWNrIixpY29uTmFtZToibHVjaWRlOmFycm93TGVmdCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJCYWNrIiksImFjdGlvbiIpLHRvb2x0aXA6IkdvIEJhY2sifV0saT1be2lkOiJhZGQiLGljb25OYW1lOiJsdWNpZGU6cGx1cyIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJBZGQgdGFiIiksImFjdGlvbiIpLHRvb2x0aXA6Ik5ldyBUYWIifSx7aWQ6InNlYXJjaCIsaWNvbk5hbWU6Imx1Y2lkZTpzZWFyY2giLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiU2VhcmNoIiksImFjdGlvbiIpLHRvb2x0aXA6IlNlYXJjaCBUYWJzIn0se2lkOiJkaXNhYmxlZCIsaWNvbk5hbWU6Imx1Y2lkZTpsb2NrIixhY3Rpb246cygoKT0+e30sImFjdGlvbiIpLHRvb2x0aXA6IkRpc2FibGVkIEFjdGlvbiIsZGlzYWJsZWQ6ITB9XSxvPXMobj0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07Ij4KICAgICAgJHtufQogICAgPC9kaXY+CiAgYCwiZGVtb0NvbnRlbnQiKTtyZXR1cm4gd2AKICAgIDxzdHlsZT4KICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMGEwYTBhIil9OwogICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICB9CgogICAgICAuc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudHdvLWNvbHVtbiB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwMHB4IDFmcjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0OwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Ib3Jpem9udGFsIFRhYnMgd2l0aCBBbmltYXRlZCBJbmRpY2F0b3I8L2Rpdj4KICAgICAgICA8ZGVlcy1hcHB1aS10YWJzIC50YWJzPSR7YX0+PC9kZWVzLWFwcHVpLXRhYnM+CiAgICAgICAgJHtvKCJTZWxlY3QgYSB0YWIgdG8gc2VlIHRoZSBzbW9vdGggc2xpZGluZyBhbmltYXRpb24gb2YgdGhlIGluZGljYXRvci4gVGhlIGluZGljYXRvciBhdXRvbWF0aWNhbGx5IGFkanVzdHMgaXRzIHdpZHRoIHRvIG1hdGNoIHRoZSB0YWIgY29udGVudCB3aXRoIG1pbmltYWwgcGFkZGluZy4iKX0KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5UYWJzIHdpdGggQWN0aW9uIEJ1dHRvbnM8L2Rpdj4KICAgICAgICA8ZGVlcy1hcHB1aS10YWJzCiAgICAgICAgICAudGFicz0ke2F9CiAgICAgICAgICAuYWN0aW9uc0xlZnQ9JHtyfQogICAgICAgICAgLmFjdGlvbnNSaWdodD0ke2l9CiAgICAgICAgPjwvZGVlcy1hcHB1aS10YWJzPgogICAgICAgICR7bygiQWN0aW9uIGJ1dHRvbnMgY2FuIGJlIHBsYWNlZCBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgdGFiIGJhci4gVGhleSByZW1haW4gZml4ZWQgd2hpbGUgdGFicyBzY3JvbGwuIFRoZSBsb2NrIGljb24gc2hvd3MgYSBkaXNhYmxlZCBhY3Rpb24uIil9CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Q2xvc2VhYmxlIFRhYnMgd2l0aCBBY3Rpb25zPC9kaXY+CiAgICAgICAgPGRlbW8tY2xvc2VhYmxlLXRhYnM+PC9kZW1vLWNsb3NlYWJsZS10YWJzPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkF1dG8taGlkZSBUYWJzPC9kaXY+CiAgICAgICAgPGRlbW8tYXV0b2hpZGUtdGFicz48L2RlbW8tYXV0b2hpZGUtdGFicz4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5WZXJ0aWNhbCBUYWJzIExheW91dDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InR3by1jb2x1bW4iPgogICAgICAgICAgPGRlZXMtYXBwdWktdGFicyAudGFiU3R5bGU9JHsidmVydGljYWwifSAudGFicz0ke2V9PjwvZGVlcy1hcHB1aS10YWJzPgogICAgICAgICAgJHtvKCJWZXJ0aWNhbCB0YWJzIHdvcmsgZ3JlYXQgZm9yIHNldHRpbmdzIHBhZ2VzIGFuZCBuYXZpZ2F0aW9uIG1lbnVzLiBUaGUgYW5pbWF0ZWQgaW5kaWNhdG9yIHNtb290aGx5IHRyYW5zaXRpb25zIGJldHdlZW4gc2VsZWN0aW9ucy4iKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5XaXRob3V0IEluZGljYXRvcjwvZGl2PgogICAgICAgIDxkZWVzLWFwcHVpLXRhYnMgLnNob3dUYWJJbmRpY2F0b3I9JHshMX0gLnRhYnM9JHt0fT48L2RlZXMtYXBwdWktdGFicz4KICAgICAgICAke28oIlRhYnMgY2FuIGFsc28gYmUgdXNlZCB3aXRob3V0IHRoZSBhbmltYXRlZCBpbmRpY2F0b3IgYnkgc2V0dGluZyBzaG93VGFiSW5kaWNhdG9yIHRvIGZhbHNlLiIpfQogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIHExLHJzLElsYSxsUWU9ZigoKT0+e3I0KCk7bGUoKTtlYSgpO0VsYSgpO1FlKCk7cTE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHJzPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxJbGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWFwcHVpLXRhYnMiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXSxCLE09W10sUz1bXSxFLEE9W10sRj1bXSxXLGo9W10sRz1bXTt2YXIgaGU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNBcHB1aVRhYnMiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgUj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6T2JqZWN0fSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sTj1bJCh7dHlwZTpOdW1iZXJ9KV0sTz1bJCh7dHlwZTpBcnJheX0pXSxCPVskKHt0eXBlOkFycmF5fSldLEU9W0soKV0sVz1bSygpXSxxMSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InRhYnMiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS50YWJzLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnRhYnM9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sbixsKSxxMSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkVGFiIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJzZWxlY3RlZFRhYiJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnNlbGVjdGVkVGFiLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnNlbGVjdGVkVGFiPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGMscCkscTEodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VGFiSW5kaWNhdG9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJzaG93VGFiSW5kaWNhdG9yImluIFUsImhhcyIpLGdldDpzKFU9PlUuc2hvd1RhYkluZGljYXRvciwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5zaG93VGFiSW5kaWNhdG9yPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LG0sdikscTEodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJTdHlsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4idGFiU3R5bGUiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS50YWJTdHlsZSwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS50YWJTdHlsZT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxiLGcpLHExKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXV0b0hpZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImF1dG9IaWRlImluIFUsImhhcyIpLGdldDpzKFU9PlUuYXV0b0hpZGUsImdldCIpLHNldDpzKChVLG1lKT0+e1UuYXV0b0hpZGU9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sayxDKSxxMSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9IaWRlVGhyZXNob2xkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJhdXRvSGlkZVRocmVzaG9sZCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmF1dG9IaWRlVGhyZXNob2xkLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmF1dG9IaWRlVGhyZXNob2xkPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LF8seikscTEodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25zTGVmdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iYWN0aW9uc0xlZnQiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5hY3Rpb25zTGVmdCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5hY3Rpb25zTGVmdD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxULFApLHExKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aW9uc1JpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJhY3Rpb25zUmlnaHQiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5hY3Rpb25zUmlnaHQsImdldCIpLHNldDpzKChVLG1lKT0+e1UuYWN0aW9uc1JpZ2h0PW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LE0sUykscTEodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjYW5TY3JvbGxMZWZ0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJjYW5TY3JvbGxMZWZ0ImluIFUsImhhcyIpLGdldDpzKFU9PlUuY2FuU2Nyb2xsTGVmdCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5jYW5TY3JvbGxMZWZ0PW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LEEsRikscTEodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjYW5TY3JvbGxSaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iY2FuU2Nyb2xsUmlnaHQiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5jYW5TY3JvbGxSaWdodCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5jYW5TY3JvbGxSaWdodD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxqLEcpLHExKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlJ9LG51bGwsdCksaGU9cj1lLnZhbHVlLFImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Un0pfXN0YXRpYyBkZW1vPVBsYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPXJzKHRoaXMsbixbXSk7Z2V0IHRhYnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGFicyhSKXt0aGlzLiNlPVJ9I3Q9KHJzKHRoaXMsbCkscnModGhpcyxjLG51bGwpKTtnZXQgc2VsZWN0ZWRUYWIoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VsZWN0ZWRUYWIoUil7dGhpcy4jdD1SfSNhPShycyh0aGlzLHApLHJzKHRoaXMsbSwhMCkpO2dldCBzaG93VGFiSW5kaWNhdG9yKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNob3dUYWJJbmRpY2F0b3IoUil7dGhpcy4jYT1SfSNyPShycyh0aGlzLHYpLHJzKHRoaXMsYiwiaG9yaXpvbnRhbCIpKTtnZXQgdGFiU3R5bGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdGFiU3R5bGUoUil7dGhpcy4jcj1SfSNzPShycyh0aGlzLGcpLHJzKHRoaXMsaywhMSkpO2dldCBhdXRvSGlkZSgpe3JldHVybiB0aGlzLiNzfXNldCBhdXRvSGlkZShSKXt0aGlzLiNzPVJ9I2k9KHJzKHRoaXMsQykscnModGhpcyxfLDApKTtnZXQgYXV0b0hpZGVUaHJlc2hvbGQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgYXV0b0hpZGVUaHJlc2hvbGQoUil7dGhpcy4jaT1SfSNvPShycyh0aGlzLHopLHJzKHRoaXMsVCxbXSkpO2dldCBhY3Rpb25zTGVmdCgpe3JldHVybiB0aGlzLiNvfXNldCBhY3Rpb25zTGVmdChSKXt0aGlzLiNvPVJ9I249KHJzKHRoaXMsUCkscnModGhpcyxNLFtdKSk7Z2V0IGFjdGlvbnNSaWdodCgpe3JldHVybiB0aGlzLiNufXNldCBhY3Rpb25zUmlnaHQoUil7dGhpcy4jbj1SfSNsPShycyh0aGlzLFMpLHJzKHRoaXMsQSwhMSkpO2dldCBjYW5TY3JvbGxMZWZ0KCl7cmV0dXJuIHRoaXMuI2x9c2V0IGNhblNjcm9sbExlZnQoUil7dGhpcy4jbD1SfSNjPShycyh0aGlzLEYpLHJzKHRoaXMsaiwhMSkpO2dldCBjYW5TY3JvbGxSaWdodCgpe3JldHVybiB0aGlzLiNjfXNldCBjYW5TY3JvbGxSaWdodChSKXt0aGlzLiNjPVJ9cmVzaXplT2JzZXJ2ZXI9KHJzKHRoaXMsRyksbnVsbCk7c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC50YWJzLXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC50YWJzLXdyYXBwZXIuaG9yaXpvbnRhbC13cmFwcGVyIHsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgICB9CgogICAgICAvKiBTY3JvbGwgZmFkZSBpbmRpY2F0b3JzICovCiAgICAgIC5zY3JvbGwtZmFkZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDFweDsKICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICB9CgogICAgICAuc2Nyb2xsLWZhZGUtbGVmdCB7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsCiAgICAgICAgICAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxNjE2MTYiKX0gMCUsCiAgICAgICAgICAke2guYmRUaGVtZSgicmdiYSgyNTUsMjU1LDI1NSwwKSIsInJnYmEoMjIsMjIsMjIsMCkiKX0gMTAwJSk7CiAgICAgIH0KCiAgICAgIC5zY3JvbGwtZmFkZS1yaWdodCB7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsCiAgICAgICAgICAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxNjE2MTYiKX0gMCUsCiAgICAgICAgICAke2guYmRUaGVtZSgicmdiYSgyNTUsMjU1LDI1NSwwKSIsInJnYmEoMjIsMjIsMjIsMCkiKX0gMTAwJSk7CiAgICAgIH0KCiAgICAgIC5zY3JvbGwtZmFkZS52aXNpYmxlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuc2Nyb2xsLWFyZWEgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIH0KCiAgICAgIC8qIFRhYiBhY3Rpb24gYnV0dG9ucyAqLwogICAgICAudGFiLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBwYWRkaW5nOiAwIDRweDsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb25zLmxlZnQgewogICAgICAgIHBhZGRpbmctbGVmdDogMTJweDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9ucy5yaWdodCB7CiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CgogICAgICAudGFiLWFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1hY3RpdmUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9uLWJ1dHRvbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItcHJlc3NlZCk7CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9uLWJ1dHRvbi5kaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC40OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9uLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9uLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgfQoKICAgICAgLnRhYnNDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC50YWJzQ29udGFpbmVyLmhvcml6b250YWwgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47CiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47CiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAvKiBTaG93IHNjcm9sbGJhciBvbiBob3ZlciAqLwogICAgICAudGFicy13cmFwcGVyOmhvdmVyIC50YWJzQ29udGFpbmVyLmhvcml6b250YWwsCiAgICAgIC5zY3JvbGwtYXJlYTpob3ZlciAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsIHsKICAgICAgICBzY3JvbGxiYXItY29sb3I6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsMCwwLDAuMikiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMikiKX0gdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC50YWJzQ29udGFpbmVyLmhvcml6b250YWw6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgfQoKICAgICAgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAudGFicy13cmFwcGVyOmhvdmVyIC50YWJzQ29udGFpbmVyLmhvcml6b250YWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLAogICAgICAuc2Nyb2xsLWFyZWE6aG92ZXIgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsMCwwLDAuMikiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMikiKX07CiAgICAgIH0KCiAgICAgIC50YWJzLXdyYXBwZXI6aG92ZXIgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIsCiAgICAgIC5zY3JvbGwtYXJlYTpob3ZlciAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4zNSkiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMzUpIil9OwogICAgICB9CgogICAgICAudGFic0NvbnRhaW5lci52ZXJ0aWNhbCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZ2FwOiAycHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctdGVydGlhcnkpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgfQoKICAgICAgLnRhYiB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB6LWluZGV4OiAyOwogICAgICB9CgogICAgICAuaG9yaXpvbnRhbCAudGFiIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmhvcml6b250YWwgLnRhYjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAtMnB4OwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KICAgICAgCiAgICAgIC5ob3Jpem9udGFsIC50YWIgLnRhYi1jb250ZW50IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAudmVydGljYWwgLnRhYiB7CiAgICAgICAgcGFkZGluZzogMTBweCAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWI6aG92ZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KICAgICAgCiAgICAgIC5ob3Jpem9udGFsIC50YWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbCAudGFiOmhvdmVyOjphZnRlciwKICAgICAgLmhvcml6b250YWwgLnRhYjpob3ZlciArIC50YWI6OmFmdGVyIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAudmVydGljYWwgLnRhYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMjQ0LCAyNDQsIDI0NSwgMC41KSIsInJnYmEoMzksIDM5LCA0MiwgMC41KSIpfTsKICAgICAgfQoKICAgICAgLmhvcml6b250YWwgLnRhYi5zZWxlY3RlZFRhYiB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQogICAgICAKICAgICAgLmhvcml6b250YWwgLnRhYi5zZWxlY3RlZFRhYjo6YWZ0ZXIsCiAgICAgIC5ob3Jpem9udGFsIC50YWIuc2VsZWN0ZWRUYWIgKyAudGFiOjphZnRlciB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQoKICAgICAgLnZlcnRpY2FsIC50YWIuc2VsZWN0ZWRUYWIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50YWIgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgIH0KCiAgICAgIC50YWJJbmRpY2F0b3IgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC50YWJJbmRpY2F0b3Iubm8tdHJhbnNpdGlvbiB7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYnMtd3JhcHBlciAudGFiSW5kaWNhdG9yIHsKICAgICAgICBoZWlnaHQ6IDNweDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtcHJpbWFyeSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7CiAgICAgICAgei1pbmRleDogMzsKICAgICAgfQoKICAgICAgLnZlcnRpY2FsLXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLnZlcnRpY2FsLXdyYXBwZXIgLnRhYkluZGljYXRvciB7CiAgICAgICAgbGVmdDogOHB4OwogICAgICAgIHJpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA4KTsKICAgICAgfQoKICAgICAgLyogQ2xvc2UgYnV0dG9uICovCiAgICAgIC50YWItY2xvc2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBtYXJnaW4tbGVmdDogOHB4OwogICAgICAgIG9wYWNpdHk6IDAuNDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzLCBiYWNrZ3JvdW5kIDAuMTVzOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAudGFiOmhvdmVyIC50YWItY2xvc2UgewogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKICAgICAgLnRhYi1jbG9zZTpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXByZXNzZWQpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWFjY2VudC1lcnJvcik7CiAgICAgIH0KCiAgICAgIC50YWIuc2VsZWN0ZWRUYWIgLnRhYi1jbG9zZSB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAudGFiLnNlbGVjdGVkVGFiOmhvdmVyIC50YWItY2xvc2UgewogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQoKICAgICAgLnRhYi5zZWxlY3RlZFRhYiAudGFiLWNsb3NlOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gdGhpcy5hdXRvSGlkZSYmdGhpcy50YWJzLmxlbmd0aDw9dGhpcy5hdXRvSGlkZVRocmVzaG9sZD93YGA6d2AKICAgICAgJHt0aGlzLnJlbmRlclRhYnNXcmFwcGVyKCl9CiAgICBgfXJlbmRlclRhYnNXcmFwcGVyKCl7bGV0IFI9dGhpcy50YWJTdHlsZT09PSJob3Jpem9udGFsIixVPVI/InRhYnMtd3JhcHBlciBob3Jpem9udGFsLXdyYXBwZXIiOiJ2ZXJ0aWNhbC13cmFwcGVyIixtZT1gdGFic0NvbnRhaW5lciAke3RoaXMudGFiU3R5bGV9YDtpZihSKXtsZXQgST10aGlzLmFjdGlvbnNMZWZ0JiZ0aGlzLmFjdGlvbnNMZWZ0Lmxlbmd0aD4wLHE9dGhpcy5hY3Rpb25zUmlnaHQmJnRoaXMuYWN0aW9uc1JpZ2h0Lmxlbmd0aD4wO3JldHVybiB3YAogICAgICAgIDxkaXYgY2xhc3M9IiR7VX0iPgogICAgICAgICAgJHtJP3RoaXMucmVuZGVyQWN0aW9ucyh0aGlzLmFjdGlvbnNMZWZ0LCJsZWZ0Iik6IiJ9CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzY3JvbGwtYXJlYSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNjcm9sbC1mYWRlIHNjcm9sbC1mYWRlLWxlZnQgJHt0aGlzLmNhblNjcm9sbExlZnQ/InZpc2libGUiOiIifSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IiR7bWV9IiBAc2Nyb2xsPSR7dGhpcy5oYW5kbGVTY3JvbGx9PgogICAgICAgICAgICAgICR7dGhpcy50YWJzLm1hcChjZT0+dGhpcy5yZW5kZXJUYWIoY2UsUikpfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2Nyb2xsLWZhZGUgc2Nyb2xsLWZhZGUtcmlnaHQgJHt0aGlzLmNhblNjcm9sbFJpZ2h0PyJ2aXNpYmxlIjoiIn0iPjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAke3E/dGhpcy5yZW5kZXJBY3Rpb25zKHRoaXMuYWN0aW9uc1JpZ2h0LCJyaWdodCIpOiIifQogICAgICAgICAgJHt0aGlzLnNob3dUYWJJbmRpY2F0b3I/d2A8ZGl2IGNsYXNzPSJ0YWJJbmRpY2F0b3IiPjwvZGl2PmA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIGB9cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9IiR7VX0iPgogICAgICAgIDxkaXYgY2xhc3M9IiR7bWV9Ij4KICAgICAgICAgICR7dGhpcy50YWJzLm1hcChJPT50aGlzLnJlbmRlclRhYihJLFIpKX0KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuc2hvd1RhYkluZGljYXRvcj93YDxkaXYgY2xhc3M9InRhYkluZGljYXRvciI+PC9kaXY+YDoiIn0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckFjdGlvbnMoUixVKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0idGFiLWFjdGlvbnMgJHtVfSI+CiAgICAgICAgJHtSLm1hcChtZT0+d2AKICAgICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9InRhYi1hY3Rpb24tYnV0dG9uICR7bWUuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgICAgIHRpdGxlPSIke21lLnRvb2x0aXB8fG1lLmlkfSIKICAgICAgICAgICAgQGNsaWNrPSR7KCk9PiFtZS5kaXNhYmxlZCYmbWUuYWN0aW9uKCl9CiAgICAgICAgICA+CiAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHttZS5pY29uTmFtZX0+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclRhYihSLFUpe2xldCBJPWB0YWIgJHtSPT09dGhpcy5zZWxlY3RlZFRhYj8ic2VsZWN0ZWRUYWIiOiIifWAscT1SLmNsb3NlYWJsZT93YAogICAgICA8c3BhbiBjbGFzcz0idGFiLWNsb3NlIiBAY2xpY2s9IiR7dWU9PnRoaXMuY2xvc2VUYWIodWUsUil9Ij4KICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp4In0gc3R5bGU9ImZvbnQtc2l6ZTogMTJweDsiPjwvZGVlcy1pY29uPgogICAgICA8L3NwYW4+CiAgICBgOiIiLGNlPVU/d2AKICAgICAgPHNwYW4gY2xhc3M9InRhYi1jb250ZW50Ij4KICAgICAgICAke3RoaXMucmVuZGVyVGFiSWNvbihSKX0KICAgICAgICAke1Iua2V5fQogICAgICA8L3NwYW4+CiAgICAgICR7cX0KICAgIGA6d2AKICAgICAgJHt0aGlzLnJlbmRlclRhYkljb24oUil9CiAgICAgICR7Ui5rZXl9CiAgICAgICR7cX0KICAgIGA7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iJHtJfSIKICAgICAgICBAY2xpY2s9IiR7KCk9PnRoaXMuc2VsZWN0VGFiKFIpfSIKICAgICAgPgogICAgICAgICR7Y2V9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJUYWJJY29uKFIpe3JldHVybiBSLmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvbj0ke1IuaWNvbk5hbWV9PjwvZGVlcy1pY29uPmA6IiJ9c2VsZWN0VGFiKFIpe3RoaXMuc2VsZWN0ZWRUYWI9UixSLmFjdGlvbigpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuc2Nyb2xsVGFiSW50b1ZpZXcoUil9KSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItc2VsZWN0Iix7ZGV0YWlsOnt0YWI6Un0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jbGVhcigpe3RoaXMudGFicz1bXSx0aGlzLnNlbGVjdGVkVGFiPW51bGx9Y2xvc2VUYWIoUixVKXtSLnN0b3BQcm9wYWdhdGlvbigpLFUub25DbG9zZSYmVS5vbkNsb3NlKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLWNsb3NlIix7ZGV0YWlsOnt0YWI6VX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1maXJzdFVwZGF0ZWQoKXt0aGlzLnNldHVwUmVzaXplT2JzZXJ2ZXIoKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLnVwZGF0ZVNjcm9sbFN0YXRlKCl9KX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5yZXNpemVPYnNlcnZlciYmKHRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9bnVsbCl9c2V0dXBSZXNpemVPYnNlcnZlcigpe2lmKHRoaXMudGFiU3R5bGUhPT0iaG9yaXpvbnRhbCIpcmV0dXJuO3RoaXMucmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKCgpPT57dGhpcy51cGRhdGVTY3JvbGxTdGF0ZSgpfSk7bGV0IFI9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudGFic0NvbnRhaW5lci5ob3Jpem9udGFsIik7UiYmdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKFIpfWhhbmRsZVNjcm9sbD1zKCgpPT57dGhpcy51cGRhdGVTY3JvbGxTdGF0ZSgpfSwiaGFuZGxlU2Nyb2xsIik7dXBkYXRlU2Nyb2xsU3RhdGUoKXtsZXQgUj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWJzQ29udGFpbmVyLmhvcml6b250YWwiKTtpZighUilyZXR1cm47bGV0IFU9Ui5zY3JvbGxMZWZ0LG1lPVIuc2Nyb2xsV2lkdGgsST1SLmNsaWVudFdpZHRoLHE9Mjt0aGlzLmNhblNjcm9sbExlZnQ9VT5xLHRoaXMuY2FuU2Nyb2xsUmlnaHQ9VTxtZS1JLXF9c2Nyb2xsVGFiSW50b1ZpZXcoUil7aWYodGhpcy50YWJTdHlsZSE9PSJob3Jpem9udGFsIilyZXR1cm47bGV0IFU9dGhpcy50YWJzLmluZGV4T2YoUik7aWYoVT09PS0xKXJldHVybjtsZXQgbWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudGFic0NvbnRhaW5lci5ob3Jpem9udGFsIiksST1tZT8ucXVlcnlTZWxlY3RvcihgLnRhYjpudGgtY2hpbGQoJHtVKzF9KWApO2lmKEkmJm1lKXtsZXQgcT1tZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxjZT1JLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NlLmxlZnQ+PXEubGVmdCYmY2UucmlnaHQ8PXEucmlnaHR8fEkuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiJzbW9vdGgiLGJsb2NrOiJuZWFyZXN0IixpbmxpbmU6Im5lYXJlc3QifSl9fWFzeW5jIHVwZGF0ZWQoUil7c3VwZXIudXBkYXRlZChSKSxSLmhhcygidGFicyIpJiYoIXRoaXMudGFic3x8dGhpcy50YWJzLmxlbmd0aD09PTA/dGhpcy5zZWxlY3RlZFRhYiE9PW51bGwmJih0aGlzLnNlbGVjdGVkVGFiPW51bGwsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLXNlbGVjdCIse2RldGFpbDp7dGFiOm51bGx9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSkpOnRoaXMuc2VsZWN0ZWRUYWImJiF0aGlzLnRhYnMuaW5jbHVkZXModGhpcy5zZWxlY3RlZFRhYik/dGhpcy5zZWxlY3RUYWIodGhpcy50YWJzWzBdKTp0aGlzLnNlbGVjdGVkVGFifHx0aGlzLnNlbGVjdFRhYih0aGlzLnRhYnNbMF0pKSwoUi5oYXMoInNlbGVjdGVkVGFiIil8fFIuaGFzKCJ0YWJzIikpJiYoYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSwhdGhpcy5pbmRpY2F0b3JJbml0aWFsaXplZCYmZG9jdW1lbnQuZm9udHMmJmF3YWl0IGRvY3VtZW50LmZvbnRzLnJlYWR5LHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMudXBkYXRlVGFiSW5kaWNhdG9yKCksdGhpcy51cGRhdGVTY3JvbGxTdGF0ZSgpfSkpfWluZGljYXRvckluaXRpYWxpemVkPSExO3VwZGF0ZVRhYkluZGljYXRvcigpe2lmKCF0aGlzLnNob3VsZFNob3dJbmRpY2F0b3IoKSlyZXR1cm47bGV0IFI9dGhpcy5nZXRTZWxlY3RlZFRhYkVsZW1lbnQoKTtpZighUilyZXR1cm47bGV0IFU9dGhpcy5nZXRJbmRpY2F0b3JFbGVtZW50KCk7VSYmKHRoaXMuaGFuZGxlSW5pdGlhbFRyYW5zaXRpb24oVSksdGhpcy50YWJTdHlsZT09PSJob3Jpem9udGFsIj90aGlzLnVwZGF0ZUhvcml6b250YWxJbmRpY2F0b3IoVSxSKTp0aGlzLnVwZGF0ZVZlcnRpY2FsSW5kaWNhdG9yKFUsUiksVS5zdHlsZS5vcGFjaXR5PSIxIil9c2hvdWxkU2hvd0luZGljYXRvcigpe3JldHVybiEhdGhpcy5zZWxlY3RlZFRhYiYmdGhpcy5zaG93VGFiSW5kaWNhdG9yJiZ0aGlzLnRhYnMuaW5jbHVkZXModGhpcy5zZWxlY3RlZFRhYil9Z2V0U2VsZWN0ZWRUYWJFbGVtZW50KCl7bGV0IFI9dGhpcy50YWJzLmluZGV4T2YodGhpcy5zZWxlY3RlZFRhYiksbWU9dGhpcy50YWJTdHlsZT09PSJob3Jpem9udGFsIj9gLnRhYnMtd3JhcHBlciAudGFic0NvbnRhaW5lciAudGFiOm50aC1jaGlsZCgke1IrMX0pYDpgLnZlcnRpY2FsLXdyYXBwZXIgLnRhYnNDb250YWluZXIgLnRhYjpudGgtY2hpbGQoJHtSKzF9KWA7cmV0dXJuIHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKG1lKX1nZXRJbmRpY2F0b3JFbGVtZW50KCl7cmV0dXJuIHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIudGFiSW5kaWNhdG9yIil9aGFuZGxlSW5pdGlhbFRyYW5zaXRpb24oUil7dGhpcy5pbmRpY2F0b3JJbml0aWFsaXplZHx8KFIuY2xhc3NMaXN0LmFkZCgibm8tdHJhbnNpdGlvbiIpLHRoaXMuaW5kaWNhdG9ySW5pdGlhbGl6ZWQ9ITAsc2V0VGltZW91dCgoKT0+e1IuY2xhc3NMaXN0LnJlbW92ZSgibm8tdHJhbnNpdGlvbiIpfSw1MCkpfXVwZGF0ZUhvcml6b250YWxJbmRpY2F0b3IoUixVKXtsZXQgbWU9VS5xdWVyeVNlbGVjdG9yKCIudGFiLWNvbnRlbnQiKTtpZighbWUpcmV0dXJuO2xldCBJPVIucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxxPW1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGNlPXEubGVmdC1JLmxlZnQsdWU9cS53aWR0aCs4LFk9Y2UtNDtSLnN0eWxlLndpZHRoPWAke3VlfXB4YCxSLnN0eWxlLmxlZnQ9YCR7WX1weGB9dXBkYXRlVmVydGljYWxJbmRpY2F0b3IoUixVKXtsZXQgbWU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi52ZXJ0aWNhbC13cmFwcGVyIC50YWJzQ29udGFpbmVyIik7bWUmJihSLnN0eWxlLnRvcD1gJHtVLm9mZnNldFRvcCttZS5vZmZzZXRUb3B9cHhgLFIuc3R5bGUuaGVpZ2h0PWAke1UuY2xpZW50SGVpZ2h0fXB4YCl9c3RhdGlje3JzKHIsdCl9fTtyZXR1cm4gaGU9cn0pKCl9KTt2YXIgTDQscm8sTmxhLGNRZT1mKCgpPT57cjQoKTtsZSgpO2VhKCk7bFFlKCk7UWUoKTtMND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scm89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LE5sYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXBwdWktbWFpbmNvbnRlbnQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXTt2YXIgQj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpTWFpbmNvbnRlbnQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6T2JqZWN0fSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpOdW1iZXJ9KV0sTj1bJCh7dHlwZTpBcnJheX0pXSxPPVskKHt0eXBlOkFycmF5fSldLEw0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFicyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRhYnMsImdldCIpLHNldDpzKChTLEUpPT57Uy50YWJzPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbixsKSxMNCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkVGFiIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzZWxlY3RlZFRhYiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnNlbGVjdGVkVGFiLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1Muc2VsZWN0ZWRUYWI9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxjLHApLEw0KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1RhYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InNob3dUYWJzImluIFMsImhhcyIpLGdldDpzKFM9PlMuc2hvd1RhYnMsImdldCIpLHNldDpzKChTLEUpPT57Uy5zaG93VGFicz1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksTDQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzQXV0b0hpZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InRhYnNBdXRvSGlkZSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRhYnNBdXRvSGlkZSwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnRhYnNBdXRvSGlkZT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGIsZyksTDQodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzQXV0b0hpZGVUaHJlc2hvbGQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InRhYnNBdXRvSGlkZVRocmVzaG9sZCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRhYnNBdXRvSGlkZVRocmVzaG9sZCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnRhYnNBdXRvSGlkZVRocmVzaG9sZD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGssQyksTDQodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJBY3Rpb25zTGVmdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFiQWN0aW9uc0xlZnQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50YWJBY3Rpb25zTGVmdCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnRhYkFjdGlvbnNMZWZ0PUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sXyx6KSxMNCh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYkFjdGlvbnNSaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFiQWN0aW9uc1JpZ2h0ImluIFMsImhhcyIpLGdldDpzKFM9PlMudGFiQWN0aW9uc1JpZ2h0LCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MudGFiQWN0aW9uc1JpZ2h0PUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sVCxQKSxMNChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpNfSxudWxsLHQpLEI9cj1lLnZhbHVlLE0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6TX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGVlcy1hcHB1aS1tYWluY29udGVudAogICAgICAudGFicz0ke1t7a2V5OiJPdmVydmlldyIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIk92ZXJ2aWV3IiksImFjdGlvbiIpfSx7a2V5OiJEZXRhaWxzIixpY29uTmFtZToibHVjaWRlOmZpbGUiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiRGV0YWlscyIpLCJhY3Rpb24iKX0se2tleToiU2V0dGluZ3MiLGljb25OYW1lOiJsdWNpZGU6c2V0dGluZ3MiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiU2V0dGluZ3MiKSwiYWN0aW9uIil9XX0KICAgID4KICAgICAgPGRpdiBzbG90PSJjb250ZW50IiBzdHlsZT0icGFkZGluZzogNDBweDsgY29sb3I6ICNjY2M7Ij4KICAgICAgICA8aDE+TWFpbiBDb250ZW50IEFyZWE8L2gxPgogICAgICAgIDxwPlRoaXMgaXMgd2hlcmUgeW91ciBhcHBsaWNhdGlvbiBjb250ZW50IGdvZXMuPC9wPgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy1hcHB1aS1tYWluY29udGVudD4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJBcHAgVUkiXTsjZT1ybyh0aGlzLG4sW3trZXk6Ilx1MjZBMFx1RkUwRiBQbGVhc2Ugc2V0IHRhYnMiLGFjdGlvbjpzKCgpPT5jb25zb2xlLndhcm4oIk5vIHRhYnMgY29uZmlndXJlZCBmb3IgbWFpbmNvbnRlbnQiKSwiYWN0aW9uIil9XSk7Z2V0IHRhYnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGFicyhNKXt0aGlzLiNlPU19I3Q9KHJvKHRoaXMsbCkscm8odGhpcyxjLG51bGwpKTtnZXQgc2VsZWN0ZWRUYWIoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VsZWN0ZWRUYWIoTSl7dGhpcy4jdD1NfSNhPShybyh0aGlzLHApLHJvKHRoaXMsbSwhMCkpO2dldCBzaG93VGFicygpe3JldHVybiB0aGlzLiNhfXNldCBzaG93VGFicyhNKXt0aGlzLiNhPU19I3I9KHJvKHRoaXMsdikscm8odGhpcyxiLCExKSk7Z2V0IHRhYnNBdXRvSGlkZSgpe3JldHVybiB0aGlzLiNyfXNldCB0YWJzQXV0b0hpZGUoTSl7dGhpcy4jcj1NfSNzPShybyh0aGlzLGcpLHJvKHRoaXMsaywwKSk7Z2V0IHRhYnNBdXRvSGlkZVRocmVzaG9sZCgpe3JldHVybiB0aGlzLiNzfXNldCB0YWJzQXV0b0hpZGVUaHJlc2hvbGQoTSl7dGhpcy4jcz1NfSNpPShybyh0aGlzLEMpLHJvKHRoaXMsXyxbXSkpO2dldCB0YWJBY3Rpb25zTGVmdCgpe3JldHVybiB0aGlzLiNpfXNldCB0YWJBY3Rpb25zTGVmdChNKXt0aGlzLiNpPU19I289KHJvKHRoaXMseikscm8odGhpcyxULFtdKSk7Z2V0IHRhYkFjdGlvbnNSaWdodCgpe3JldHVybiB0aGlzLiNvfXNldCB0YWJBY3Rpb25zUmlnaHQoTSl7dGhpcy4jbz1NfXN0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogY29udGVudHM7CiAgICAgIH0KCiAgICAgIC50b3BiYXIgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBncmlkLXRlbXBsYXRlLXJvd3MgMC4zcyBlYXNlOwogICAgICB9CgogICAgICAudG9wYmFyID4gKiB7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLmNvbnRlbnQtYXJlYSB7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICB9CgogICAgICA6aG9zdChbbm90YWJzXSkgLnRvcGJhciB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAwZnI7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BiYXIiPgogICAgICAgICAgPGRlZXMtYXBwdWktdGFicwogICAgICAgICAgICAudGFicz0ke3RoaXMudGFic30KICAgICAgICAgICAgLnNlbGVjdGVkVGFiPSR7dGhpcy5zZWxlY3RlZFRhYn0KICAgICAgICAgICAgLnNob3dUYWJJbmRpY2F0b3I9JHshMH0KICAgICAgICAgICAgLnRhYlN0eWxlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAuYXV0b0hpZGU9JHt0aGlzLnRhYnNBdXRvSGlkZX0KICAgICAgICAgICAgLmF1dG9IaWRlVGhyZXNob2xkPSR7dGhpcy50YWJzQXV0b0hpZGVUaHJlc2hvbGR9CiAgICAgICAgICAgIC5hY3Rpb25zTGVmdD0ke3RoaXMudGFiQWN0aW9uc0xlZnR9CiAgICAgICAgICAgIC5hY3Rpb25zUmlnaHQ9JHt0aGlzLnRhYkFjdGlvbnNSaWdodH0KICAgICAgICAgICAgQHRhYi1zZWxlY3Q9JHtNPT50aGlzLmhhbmRsZVRhYlNlbGVjdChNKX0KICAgICAgICAgICAgQHRhYi1jbG9zZT0ke009PnRoaXMuaGFuZGxlVGFiQ2xvc2UoTSl9CiAgICAgICAgICA+PC9kZWVzLWFwcHVpLXRhYnM+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudC1hcmVhIj4KICAgICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgICAgIDxzbG90IG5hbWU9ImNvbnRlbnQiPjwvc2xvdD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZVRhYlNlbGVjdChNKXt0aGlzLnNlbGVjdGVkVGFiPU0uZGV0YWlsLnRhYix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItc2VsZWN0Iix7ZGV0YWlsOk0uZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlVGFiQ2xvc2UoTSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLWNsb3NlIix7ZGV0YWlsOk0uZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9dXBkYXRlZChNKXtzdXBlci51cGRhdGVkKE0pLE0uaGFzKCJzaG93VGFicyIpJiYodGhpcy5zaG93VGFicz90aGlzLnJlbW92ZUF0dHJpYnV0ZSgibm90YWJzIik6dGhpcy5zZXRBdHRyaWJ1dGUoIm5vdGFicyIsIiIpKX1hc3luYyBmaXJzdFVwZGF0ZWQoTSl7YXdhaXQgc3VwZXIuZmlyc3RVcGRhdGVkKE0pLHRoaXMuc2hvd1RhYnN8fHRoaXMuc2V0QXR0cmlidXRlKCJub3RhYnMiLCIiKTtsZXQgUz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS10YWJzIik7UyYmYXdhaXQgUy51cGRhdGVDb21wbGV0ZX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykscm8odGhpcyxQKX1zdGF0aWN7cm8ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIGhhLG90LFJsYSxPbGE9ZigoKT0+e2xlKCk7ZWEoKTtyNCgpO0NsYSgpO1FlKCk7aVFlKCk7TVllKCk7U1llKCk7b1FlKCk7blFlKCk7Y1FlKCk7YlllKCk7aGE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LG90PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxSbGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWFwcHVpIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFEsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdLHllLFY9W10sSD1bXSxvZSxzZT1bXSx0ZT1bXSx6ZSxPZT1bXSxxZT1bXSxkdCwkZT1bXSxDZT1bXSxNZSxkZT1bXSx2ZT1bXSxBZSxaZT1bXSxudD1bXSx6dCxUZT1bXSx3ZT1bXSxSZSxmZT1bXSxiZT1bXSxFZSxmdD1bXSxtdD1bXSxJdCxYYT1bXSxKYT1bXSx3cyxVZT1bXSx1dD1bXSxRYSxNcj1bXSwkcj1bXSxWcixEcj1bXSx4bz1bXSx5byxMZT1bXSxTZT1bXSxCZSxpYT1bXSxNcz1bXSxobCx4ZT1bXSxuZT1bXSxfZSxXZT1bXSxTdD1bXSxrcyxqcj1bXSxIaT1bXSxRbixzMj1bXSxtbD1bXSxKbixZND1bXSx4Nz1bXSx5Nyx3Nz1bXSxNNz1bXSxrNyxTNz1bXSx6Nz1bXTt2YXIgQzc9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNBcHB1aSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBEPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9WyQoe3R5cGU6T2JqZWN0fSldLE49WyQoe3R5cGU6QXJyYXl9KV0sTz1bJCh7dHlwZTpCb29sZWFufSldLEI9WyQoe3R5cGU6U3RyaW5nfSldLEU9WyQoe3R5cGU6U3RyaW5nfSldLFc9WyQoe3R5cGU6QXJyYXl9KV0saGU9WyQoe3R5cGU6QXJyYXl9KV0sbWU9WyQoe3R5cGU6QXJyYXl9KV0sY2U9WyQoe3R5cGU6T2JqZWN0fSldLFE9WyQoe3R5cGU6U3RyaW5nfSldLGdlPVskKHt0eXBlOkFycmF5fSldLHllPVskKHt0eXBlOk9iamVjdH0pXSxvZT1bJCh7dHlwZTpCb29sZWFufSldLHplPVskKHt0eXBlOkJvb2xlYW59KV0sZHQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSxNZT1bJCh7dHlwZTpCb29sZWFufSldLEFlPVskKHt0eXBlOkJvb2xlYW59KV0senQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSxSZT1bJCh7dHlwZTpOdW1iZXJ9KV0sRWU9W0soKV0sSXQ9W0soKV0sd3M9WyQoe3R5cGU6QXJyYXl9KV0sUWE9WyQoe3R5cGU6T2JqZWN0fSldLFZyPVskKHt0eXBlOkFycmF5fSldLHlvPVskKHt0eXBlOkFycmF5fSldLEJlPVtLKCldLGhsPVtLKCldLF9lPVtLKCldLGtzPVtLKCldLFFuPVtLKCldLEpuPVtLKCldLHk3PVtLKCldLGs3PVtLKCldLGhhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwYmFyTWVudUl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhcHBiYXJNZW51SXRlbXMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hcHBiYXJNZW51SXRlbXMsImdldCIpLHNldDpzKChMLGVlKT0+e0wuYXBwYmFyTWVudUl0ZW1zPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LG4sbCksaGEodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJCcmVhZGNydW1icyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iYXBwYmFyQnJlYWRjcnVtYnMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hcHBiYXJCcmVhZGNydW1icywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hcHBiYXJCcmVhZGNydW1icz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxjLHApLGhhKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvciJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmFwcGJhckJyZWFkY3J1bWJTZXBhcmF0b3IsImdldCIpLHNldDpzKChMLGVlKT0+e0wuYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvcj1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxtLHYpLGhhKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhcHBiYXJTaG93V2luZG93Q29udHJvbHMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hcHBiYXJTaG93V2luZG93Q29udHJvbHMsImdldCIpLHNldDpzKChMLGVlKT0+e0wuYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGIsZyksaGEodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJVc2VyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhcHBiYXJVc2VyImluIEwsImhhcyIpLGdldDpzKEw9PkwuYXBwYmFyVXNlciwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hcHBiYXJVc2VyPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGssQyksaGEodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJQcm9maWxlTWVudUl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhcHBiYXJQcm9maWxlTWVudUl0ZW1zImluIEwsImhhcyIpLGdldDpzKEw9PkwuYXBwYmFyUHJvZmlsZU1lbnVJdGVtcywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hcHBiYXJQcm9maWxlTWVudUl0ZW1zPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LF8seiksaGEodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJTaG93U2VhcmNoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhcHBiYXJTaG93U2VhcmNoImluIEwsImhhcyIpLGdldDpzKEw9PkwuYXBwYmFyU2hvd1NlYXJjaCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hcHBiYXJTaG93U2VhcmNoPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFQsUCksaGEodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudUxvZ29JY29uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWlubWVudUxvZ29JY29uImluIEwsImhhcyIpLGdldDpzKEw9PkwubWFpbm1lbnVMb2dvSWNvbiwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5tYWlubWVudUxvZ29JY29uPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LE0sUyksaGEodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudUxvZ29UZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWlubWVudUxvZ29UZXh0ImluIEwsImhhcyIpLGdldDpzKEw9PkwubWFpbm1lbnVMb2dvVGV4dCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5tYWlubWVudUxvZ29UZXh0PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LEEsRiksaGEodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudUdyb3VwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbm1lbnVHcm91cHMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWlubWVudUdyb3VwcywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5tYWlubWVudUdyb3Vwcz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxqLEcpLGhhKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51Qm90dG9tVGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbm1lbnVCb3R0b21UYWJzImluIEwsImhhcyIpLGdldDpzKEw9PkwubWFpbm1lbnVCb3R0b21UYWJzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5tZW51Qm90dG9tVGFicz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxSLFUpLGhhKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51VGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbm1lbnVUYWJzImluIEwsImhhcyIpLGdldDpzKEw9PkwubWFpbm1lbnVUYWJzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5tZW51VGFicz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxJLHEpLGhhKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51U2VsZWN0ZWRUYWIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Im1haW5tZW51U2VsZWN0ZWRUYWIiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWlubWVudVNlbGVjdGVkVGFiLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5tZW51U2VsZWN0ZWRUYWI9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sdWUsWSksaGEodGhpcyxudWxsLFEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWNvbmRhcnltZW51SGVhZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2Vjb25kYXJ5bWVudUhlYWRpbmciaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zZWNvbmRhcnltZW51SGVhZGluZywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zZWNvbmRhcnltZW51SGVhZGluZz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxKLFopLGhhKHRoaXMsbnVsbCxnZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlY29uZGFyeW1lbnVHcm91cHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNlY29uZGFyeW1lbnVHcm91cHMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zZWNvbmRhcnltZW51R3JvdXBzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNlY29uZGFyeW1lbnVHcm91cHM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sYWUscmUpLGhhKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW0iaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW09ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sVixIKSxoYSh0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudUNvbGxhcHNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbm1lbnVDb2xsYXBzZWQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWlubWVudUNvbGxhcHNlZCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5tYWlubWVudUNvbGxhcHNlZD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxzZSx0ZSksaGEodGhpcyxudWxsLHplLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2Vjb25kYXJ5bWVudUNvbGxhcHNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2Vjb25kYXJ5bWVudUNvbGxhcHNlZCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlY29uZGFyeW1lbnVDb2xsYXBzZWQsImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2Vjb25kYXJ5bWVudUNvbGxhcHNlZD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxPZSxxZSksaGEodGhpcyxudWxsLGR0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWlubWVudVZpc2libGUiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWlubWVudVZpc2libGUsImdldCIpLHNldDpzKChMLGVlKT0+e0wubWFpbm1lbnVWaXNpYmxlPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LCRlLENlKSxoYSh0aGlzLG51bGwsTWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWNvbmRhcnltZW51VmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2Vjb25kYXJ5bWVudVZpc2libGUiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zZWNvbmRhcnltZW51VmlzaWJsZSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zZWNvbmRhcnltZW51VmlzaWJsZT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxkZSx2ZSksaGEodGhpcyxudWxsLEFlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbmNvbnRlbnRUYWJzVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbmNvbnRlbnRUYWJzVmlzaWJsZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5jb250ZW50VGFic1Zpc2libGUsImdldCIpLHNldDpzKChMLGVlKT0+e0wubWFpbmNvbnRlbnRUYWJzVmlzaWJsZT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxaZSxudCksaGEodGhpcyxudWxsLHp0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFRhYnNBdXRvSGlkZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iY29udGVudFRhYnNBdXRvSGlkZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmNvbnRlbnRUYWJzQXV0b0hpZGUsImdldCIpLHNldDpzKChMLGVlKT0+e0wuY29udGVudFRhYnNBdXRvSGlkZT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxUZSx3ZSksaGEodGhpcyxudWxsLFJlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmNvbnRlbnRUYWJzQXV0b0hpZGVUaHJlc2hvbGQsImdldCIpLHNldDpzKChMLGVlKT0+e0wuY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxmZSxiZSksaGEodGhpcyxudWxsLEVlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZpdHlMb2dWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhY3Rpdml0eUxvZ1Zpc2libGUiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hY3Rpdml0eUxvZ1Zpc2libGUsImdldCIpLHNldDpzKChMLGVlKT0+e0wuYWN0aXZpdHlMb2dWaXNpYmxlPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGZ0LG10KSxoYSh0aGlzLG51bGwsSXQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpdml0eUxvZ0NvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhY3Rpdml0eUxvZ0NvdW50ImluIEwsImhhcyIpLGdldDpzKEw9PkwuYWN0aXZpdHlMb2dDb3VudCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hY3Rpdml0eUxvZ0NvdW50PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFhhLEphKSxoYSh0aGlzLG51bGwsd3Mse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWluY29udGVudFRhYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Im1haW5jb250ZW50VGFicyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5jb250ZW50VGFicywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5tYWluY29udGVudFRhYnM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sVWUsdXQpLGhhKHRoaXMsbnVsbCxRYSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5jb250ZW50U2VsZWN0ZWRUYWIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Im1haW5jb250ZW50U2VsZWN0ZWRUYWIiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWluY29udGVudFNlbGVjdGVkVGFiLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sTXIsJHIpLGhhKHRoaXMsbnVsbCxWcix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRlbnRUYWJBY3Rpb25zTGVmdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iY29udGVudFRhYkFjdGlvbnNMZWZ0ImluIEwsImhhcyIpLGdldDpzKEw9PkwuY29udGVudFRhYkFjdGlvbnNMZWZ0LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmNvbnRlbnRUYWJBY3Rpb25zTGVmdD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxEcix4byksaGEodGhpcyxudWxsLHlvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFRhYkFjdGlvbnNSaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iY29udGVudFRhYkFjdGlvbnNSaWdodCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmNvbnRlbnRUYWJBY3Rpb25zUmlnaHQsImdldCIpLHNldDpzKChMLGVlKT0+e0wuY29udGVudFRhYkFjdGlvbnNSaWdodD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxMZSxTZSksaGEodGhpcyxudWxsLEJlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwYmFyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhcHBiYXIiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hcHBiYXIsImdldCIpLHNldDpzKChMLGVlKT0+e0wuYXBwYmFyPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGlhLE1zKSxoYSh0aGlzLG51bGwsaGwse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbm1lbnUiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWlubWVudSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5tYWlubWVudT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSx4ZSxuZSksaGEodGhpcyxudWxsLF9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2Vjb25kYXJ5bWVudSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2Vjb25kYXJ5bWVudSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlY29uZGFyeW1lbnUsImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2Vjb25kYXJ5bWVudT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxXZSxTdCksaGEodGhpcyxudWxsLGtzLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbmNvbnRlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Im1haW5jb250ZW50ImluIEwsImhhcyIpLGdldDpzKEw9PkwubWFpbmNvbnRlbnQsImdldCIpLHNldDpzKChMLGVlKT0+e0wubWFpbmNvbnRlbnQ9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sanIsSGkpLGhhKHRoaXMsbnVsbCxRbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2aXR5bG9nRWxlbWVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iYWN0aXZpdHlsb2dFbGVtZW50ImluIEwsImhhcyIpLGdldDpzKEw9PkwuYWN0aXZpdHlsb2dFbGVtZW50LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmFjdGl2aXR5bG9nRWxlbWVudD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxzMixtbCksaGEodGhpcyxudWxsLEpuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYm90dG9tYmFyRWxlbWVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iYm90dG9tYmFyRWxlbWVudCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmJvdHRvbWJhckVsZW1lbnQsImdldCIpLHNldDpzKChMLGVlKT0+e0wuYm90dG9tYmFyRWxlbWVudD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxZNCx4NyksaGEodGhpcyxudWxsLHk3LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYm90dG9tYmFyVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iYm90dG9tYmFyVmlzaWJsZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmJvdHRvbWJhclZpc2libGUsImdldCIpLHNldDpzKChMLGVlKT0+e0wuYm90dG9tYmFyVmlzaWJsZT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSx3NyxNNyksaGEodGhpcyxudWxsLGs3LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFZpZXciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImN1cnJlbnRWaWV3ImluIEwsImhhcyIpLGdldDpzKEw9PkwuY3VycmVudFZpZXcsImdldCIpLHNldDpzKChMLGVlKT0+e0wuY3VycmVudFZpZXc9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sUzcsejcpLGhhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkR9LG51bGwsdCksQzc9cj1lLnZhbHVlLEQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6RH0pfXN0YXRpYyBkZW1vPXpsYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdO3ZpZXdMaWZlY3ljbGUkPW5ldyBIdC5zbWFydHJ4LnJ4anMuU3ViamVjdDt2aWV3Q2hhbmdlZCQ9bmV3IEh0LnNtYXJ0cngucnhqcy5TdWJqZWN0OyNlPW90KHRoaXMsbixbXSk7Z2V0IGFwcGJhck1lbnVJdGVtcygpe3JldHVybiB0aGlzLiNlfXNldCBhcHBiYXJNZW51SXRlbXMoRCl7dGhpcy4jZT1EfSN0PShvdCh0aGlzLGwpLG90KHRoaXMsYywiIikpO2dldCBhcHBiYXJCcmVhZGNydW1icygpe3JldHVybiB0aGlzLiN0fXNldCBhcHBiYXJCcmVhZGNydW1icyhEKXt0aGlzLiN0PUR9I2E9KG90KHRoaXMscCksb3QodGhpcyxtLCIgPiAiKSk7Z2V0IGFwcGJhckJyZWFkY3J1bWJTZXBhcmF0b3IoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvcihEKXt0aGlzLiNhPUR9I3I9KG90KHRoaXMsdiksb3QodGhpcyxiLCEwKSk7Z2V0IGFwcGJhclNob3dXaW5kb3dDb250cm9scygpe3JldHVybiB0aGlzLiNyfXNldCBhcHBiYXJTaG93V2luZG93Q29udHJvbHMoRCl7dGhpcy4jcj1EfSNzPShvdCh0aGlzLGcpLG90KHRoaXMsayx2b2lkIDApKTtnZXQgYXBwYmFyVXNlcigpe3JldHVybiB0aGlzLiNzfXNldCBhcHBiYXJVc2VyKEQpe3RoaXMuI3M9RH0jaT0ob3QodGhpcyxDKSxvdCh0aGlzLF8sW10pKTtnZXQgYXBwYmFyUHJvZmlsZU1lbnVJdGVtcygpe3JldHVybiB0aGlzLiNpfXNldCBhcHBiYXJQcm9maWxlTWVudUl0ZW1zKEQpe3RoaXMuI2k9RH0jbz0ob3QodGhpcyx6KSxvdCh0aGlzLFQsITEpKTtnZXQgYXBwYmFyU2hvd1NlYXJjaCgpe3JldHVybiB0aGlzLiNvfXNldCBhcHBiYXJTaG93U2VhcmNoKEQpe3RoaXMuI289RH0jbj0ob3QodGhpcyxQKSxvdCh0aGlzLE0sIiIpKTtnZXQgbWFpbm1lbnVMb2dvSWNvbigpe3JldHVybiB0aGlzLiNufXNldCBtYWlubWVudUxvZ29JY29uKEQpe3RoaXMuI249RH0jbD0ob3QodGhpcyxTKSxvdCh0aGlzLEEsIiIpKTtnZXQgbWFpbm1lbnVMb2dvVGV4dCgpe3JldHVybiB0aGlzLiNsfXNldCBtYWlubWVudUxvZ29UZXh0KEQpe3RoaXMuI2w9RH0jYz0ob3QodGhpcyxGKSxvdCh0aGlzLGosW10pKTtnZXQgbWFpbm1lbnVHcm91cHMoKXtyZXR1cm4gdGhpcy4jY31zZXQgbWFpbm1lbnVHcm91cHMoRCl7dGhpcy4jYz1EfSNkPShvdCh0aGlzLEcpLG90KHRoaXMsUixbXSkpO2dldCBtYWlubWVudUJvdHRvbVRhYnMoKXtyZXR1cm4gdGhpcy4jZH1zZXQgbWFpbm1lbnVCb3R0b21UYWJzKEQpe3RoaXMuI2Q9RH0jdT0ob3QodGhpcyxVKSxvdCh0aGlzLEksW10pKTtnZXQgbWFpbm1lbnVUYWJzKCl7cmV0dXJuIHRoaXMuI3V9c2V0IG1haW5tZW51VGFicyhEKXt0aGlzLiN1PUR9I3A9KG90KHRoaXMscSksb3QodGhpcyx1ZSx2b2lkIDApKTtnZXQgbWFpbm1lbnVTZWxlY3RlZFRhYigpe3JldHVybiB0aGlzLiNwfXNldCBtYWlubWVudVNlbGVjdGVkVGFiKEQpe3RoaXMuI3A9RH0jZj0ob3QodGhpcyxZKSxvdCh0aGlzLEosIiIpKTtnZXQgc2Vjb25kYXJ5bWVudUhlYWRpbmcoKXtyZXR1cm4gdGhpcy4jZn1zZXQgc2Vjb25kYXJ5bWVudUhlYWRpbmcoRCl7dGhpcy4jZj1EfSNoPShvdCh0aGlzLFopLG90KHRoaXMsYWUsW10pKTtnZXQgc2Vjb25kYXJ5bWVudUdyb3Vwcygpe3JldHVybiB0aGlzLiNofXNldCBzZWNvbmRhcnltZW51R3JvdXBzKEQpe3RoaXMuI2g9RH0jbT0ob3QodGhpcyxyZSksb3QodGhpcyxWLHZvaWQgMCkpO2dldCBzZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtKCl7cmV0dXJuIHRoaXMuI219c2V0IHNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW0oRCl7dGhpcy4jbT1EfSNnPShvdCh0aGlzLEgpLG90KHRoaXMsc2UsITEpKTtnZXQgbWFpbm1lbnVDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jZ31zZXQgbWFpbm1lbnVDb2xsYXBzZWQoRCl7dGhpcy4jZz1EfSNiPShvdCh0aGlzLHRlKSxvdCh0aGlzLE9lLCExKSk7Z2V0IHNlY29uZGFyeW1lbnVDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jYn1zZXQgc2Vjb25kYXJ5bWVudUNvbGxhcHNlZChEKXt0aGlzLiNiPUR9I3Y9KG90KHRoaXMscWUpLG90KHRoaXMsJGUsITApKTtnZXQgbWFpbm1lbnVWaXNpYmxlKCl7cmV0dXJuIHRoaXMuI3Z9c2V0IG1haW5tZW51VmlzaWJsZShEKXt0aGlzLiN2PUR9I3g9KG90KHRoaXMsQ2UpLG90KHRoaXMsZGUsITApKTtnZXQgc2Vjb25kYXJ5bWVudVZpc2libGUoKXtyZXR1cm4gdGhpcy4jeH1zZXQgc2Vjb25kYXJ5bWVudVZpc2libGUoRCl7dGhpcy4jeD1EfSN5PShvdCh0aGlzLHZlKSxvdCh0aGlzLFplLCEwKSk7Z2V0IG1haW5jb250ZW50VGFic1Zpc2libGUoKXtyZXR1cm4gdGhpcy4jeX1zZXQgbWFpbmNvbnRlbnRUYWJzVmlzaWJsZShEKXt0aGlzLiN5PUR9I3c9KG90KHRoaXMsbnQpLG90KHRoaXMsVGUsITEpKTtnZXQgY29udGVudFRhYnNBdXRvSGlkZSgpe3JldHVybiB0aGlzLiN3fXNldCBjb250ZW50VGFic0F1dG9IaWRlKEQpe3RoaXMuI3c9RH0jTT0ob3QodGhpcyx3ZSksb3QodGhpcyxmZSwwKSk7Z2V0IGNvbnRlbnRUYWJzQXV0b0hpZGVUaHJlc2hvbGQoKXtyZXR1cm4gdGhpcy4jTX1zZXQgY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZChEKXt0aGlzLiNNPUR9I2s9KG90KHRoaXMsYmUpLG90KHRoaXMsZnQsITEpKTtnZXQgYWN0aXZpdHlMb2dWaXNpYmxlKCl7cmV0dXJuIHRoaXMuI2t9c2V0IGFjdGl2aXR5TG9nVmlzaWJsZShEKXt0aGlzLiNrPUR9I1M9KG90KHRoaXMsbXQpLG90KHRoaXMsWGEsMCkpO2dldCBhY3Rpdml0eUxvZ0NvdW50KCl7cmV0dXJuIHRoaXMuI1N9c2V0IGFjdGl2aXR5TG9nQ291bnQoRCl7dGhpcy4jUz1EfSN6PShvdCh0aGlzLEphKSxvdCh0aGlzLFVlLFtdKSk7Z2V0IG1haW5jb250ZW50VGFicygpe3JldHVybiB0aGlzLiN6fXNldCBtYWluY29udGVudFRhYnMoRCl7dGhpcy4jej1EfSNDPShvdCh0aGlzLHV0KSxvdCh0aGlzLE1yLHZvaWQgMCkpO2dldCBtYWluY29udGVudFNlbGVjdGVkVGFiKCl7cmV0dXJuIHRoaXMuI0N9c2V0IG1haW5jb250ZW50U2VsZWN0ZWRUYWIoRCl7dGhpcy4jQz1EfSNfPShvdCh0aGlzLCRyKSxvdCh0aGlzLERyLFtdKSk7Z2V0IGNvbnRlbnRUYWJBY3Rpb25zTGVmdCgpe3JldHVybiB0aGlzLiNffXNldCBjb250ZW50VGFiQWN0aW9uc0xlZnQoRCl7dGhpcy4jXz1EfSNUPShvdCh0aGlzLHhvKSxvdCh0aGlzLExlLFtdKSk7Z2V0IGNvbnRlbnRUYWJBY3Rpb25zUmlnaHQoKXtyZXR1cm4gdGhpcy4jVH1zZXQgY29udGVudFRhYkFjdGlvbnNSaWdodChEKXt0aGlzLiNUPUR9I0w9KG90KHRoaXMsU2UpLG90KHRoaXMsaWEsdm9pZCAwKSk7Z2V0IGFwcGJhcigpe3JldHVybiB0aGlzLiNMfXNldCBhcHBiYXIoRCl7dGhpcy4jTD1EfSMkPShvdCh0aGlzLE1zKSxvdCh0aGlzLHhlLHZvaWQgMCkpO2dldCBtYWlubWVudSgpe3JldHVybiB0aGlzLiMkfXNldCBtYWlubWVudShEKXt0aGlzLiMkPUR9I0Q9KG90KHRoaXMsbmUpLG90KHRoaXMsV2Usdm9pZCAwKSk7Z2V0IHNlY29uZGFyeW1lbnUoKXtyZXR1cm4gdGhpcy4jRH1zZXQgc2Vjb25kYXJ5bWVudShEKXt0aGlzLiNEPUR9I0E9KG90KHRoaXMsU3QpLG90KHRoaXMsanIsdm9pZCAwKSk7Z2V0IG1haW5jb250ZW50KCl7cmV0dXJuIHRoaXMuI0F9c2V0IG1haW5jb250ZW50KEQpe3RoaXMuI0E9RH0jUD0ob3QodGhpcyxIaSksb3QodGhpcyxzMix2b2lkIDApKTtnZXQgYWN0aXZpdHlsb2dFbGVtZW50KCl7cmV0dXJuIHRoaXMuI1B9c2V0IGFjdGl2aXR5bG9nRWxlbWVudChEKXt0aGlzLiNQPUR9I0U9KG90KHRoaXMsbWwpLG90KHRoaXMsWTQsdm9pZCAwKSk7Z2V0IGJvdHRvbWJhckVsZW1lbnQoKXtyZXR1cm4gdGhpcy4jRX1zZXQgYm90dG9tYmFyRWxlbWVudChEKXt0aGlzLiNFPUR9I0k9KG90KHRoaXMseDcpLG90KHRoaXMsdzcsITApKTtnZXQgYm90dG9tYmFyVmlzaWJsZSgpe3JldHVybiB0aGlzLiNJfXNldCBib3R0b21iYXJWaXNpYmxlKEQpe3RoaXMuI0k9RH0jTj0ob3QodGhpcyxNNyksb3QodGhpcyxTNyx2b2lkIDApKTtnZXQgY3VycmVudFZpZXcoKXtyZXR1cm4gdGhpcy4jTn1zZXQgY3VycmVudFZpZXcoRCl7dGhpcy4jTj1EfXZpZXdSZWdpc3RyeT0ob3QodGhpcyx6NyksbmV3IFVXKTtyb3V0ZXJDbGVhbnVwPW51bGw7c2VhcmNoQ2FsbGJhY2s9bnVsbDtzdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy10ZXJ0aWFyeSk7CiAgICAgIH0KICAgICAgLm1haW5ncmlkIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA0MHB4OwogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNDBweCAtIDI0cHgpOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgLyogZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIHNldCBkeW5hbWljYWxseSBpbiB0ZW1wbGF0ZSAqLwogICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyOwogICAgICAgIHRyYW5zaXRpb246IGdyaWQtdGVtcGxhdGUtY29sdW1ucyAwLjNzIGVhc2UsIGhlaWdodCAwLjNzIGVhc2U7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgOmhvc3QoW2JvdHRvbWJhci1oaWRkZW5dKSAubWFpbmdyaWQgewogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNDBweCk7CiAgICAgIH0KCiAgICAgIGRlZXMtYXBwdWktYm90dG9tYmFyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgei1pbmRleDogNDsKICAgICAgfQoKICAgICAgLyogWi1pbmRleCBsYXllcmluZyBmb3IgcHJvcGVyIHN0YWNraW5nICovCiAgICAgIC5tYWluZ3JpZCA+IGRlZXMtYXBwdWktbWFpbm1lbnUgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB6LWluZGV4OiAzOwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC5tYWluZ3JpZCA+IGRlZXMtYXBwdWktc2Vjb25kYXJ5bWVudSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDI7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1tYWluY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1hY3Rpdml0eWxvZyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTsKICAgICAgfQoKICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1hY3Rpdml0eWxvZy5oaWRkZW4gewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAubWFpbmdyaWQgPiBkZWVzLWFwcHVpLWFjdGl2aXR5bG9nLnZpc2libGUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgICB9CgogICAgICAvKiBWaWV3IGNvbnRhaW5lciBmb3IgZHluYW1pY2FsbHkgbG9hZGVkIHZpZXdzICovCiAgICAgIC52aWV3LWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogY29udGVudHM7CiAgICAgIH0KCiAgICAgIC52aWV3LWNvbnRhaW5lcjplbXB0eSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLWFwcHVpLWFwcGJhcgogICAgICAgIC5tZW51SXRlbXM9JHt0aGlzLmFwcGJhck1lbnVJdGVtc30KICAgICAgICAuYnJlYWRjcnVtYnM9JHt0aGlzLmFwcGJhckJyZWFkY3J1bWJzfQogICAgICAgIC5icmVhZGNydW1iU2VwYXJhdG9yPSR7dGhpcy5hcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yfQogICAgICAgIC5zaG93V2luZG93Q29udHJvbHM9JHt0aGlzLmFwcGJhclNob3dXaW5kb3dDb250cm9sc30KICAgICAgICAudXNlcj0ke3RoaXMuYXBwYmFyVXNlcn0KICAgICAgICAucHJvZmlsZU1lbnVJdGVtcz0ke3RoaXMuYXBwYmFyUHJvZmlsZU1lbnVJdGVtc30KICAgICAgICAuc2hvd1NlYXJjaD0ke3RoaXMuYXBwYmFyU2hvd1NlYXJjaH0KICAgICAgICAuc2hvd0FjdGl2aXR5TG9nVG9nZ2xlPSR7ITB9CiAgICAgICAgLmFjdGl2aXR5TG9nQ291bnQ9JHt0aGlzLmFjdGl2aXR5TG9nQ291bnR9CiAgICAgICAgLmFjdGl2aXR5TG9nQWN0aXZlPSR7dGhpcy5hY3Rpdml0eUxvZ1Zpc2libGV9CiAgICAgICAgQG1lbnUtc2VsZWN0PSR7RD0+dGhpcy5oYW5kbGVBcHBiYXJNZW51U2VsZWN0KEQpfQogICAgICAgIEBicmVhZGNydW1iLW5hdmlnYXRlPSR7RD0+dGhpcy5oYW5kbGVBcHBiYXJCcmVhZGNydW1iTmF2aWdhdGUoRCl9CiAgICAgICAgQHNlYXJjaC1jbGljaz0keygpPT50aGlzLmhhbmRsZUFwcGJhclNlYXJjaENsaWNrKCl9CiAgICAgICAgQHNlYXJjaC1xdWVyeT0ke0Q9PnRoaXMuaGFuZGxlQXBwYmFyU2VhcmNoUXVlcnkoRCl9CiAgICAgICAgQHVzZXItbWVudS1vcGVuPSR7KCk9PnRoaXMuaGFuZGxlQXBwYmFyVXNlck1lbnVPcGVuKCl9CiAgICAgICAgQHByb2ZpbGUtbWVudS1zZWxlY3Q9JHtEPT50aGlzLmhhbmRsZUFwcGJhclByb2ZpbGVNZW51U2VsZWN0KEQpfQogICAgICAgIEBhY3Rpdml0eS10b2dnbGU9JHsoKT0+dGhpcy50b2dnbGVBY3Rpdml0eUxvZygpfQogICAgICA+PC9kZWVzLWFwcHVpLWFwcGJhcj4KICAgICAgPGRpdiBjbGFzcz0ibWFpbmdyaWQiIHN0eWxlPSJncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byAxZnIgJHt0aGlzLmFjdGl2aXR5TG9nVmlzaWJsZT8iMjgwcHgiOiIwcHgifTsiPgogICAgICAgICR7dGhpcy5tYWlubWVudVZpc2libGU/d2AKICAgICAgICAgIDxkZWVzLWFwcHVpLW1haW5tZW51CiAgICAgICAgICAgIC5sb2dvSWNvbj0ke3RoaXMubWFpbm1lbnVMb2dvSWNvbn0KICAgICAgICAgICAgLmxvZ29UZXh0PSR7dGhpcy5tYWlubWVudUxvZ29UZXh0fQogICAgICAgICAgICAubWVudUdyb3Vwcz0ke3RoaXMubWFpbm1lbnVHcm91cHN9CiAgICAgICAgICAgIC5ib3R0b21UYWJzPSR7dGhpcy5tYWlubWVudUJvdHRvbVRhYnN9CiAgICAgICAgICAgIC50YWJzPSR7dGhpcy5tYWlubWVudVRhYnN9CiAgICAgICAgICAgIC5zZWxlY3RlZFRhYj0ke3RoaXMubWFpbm1lbnVTZWxlY3RlZFRhYn0KICAgICAgICAgICAgLmNvbGxhcHNlZD0ke3RoaXMubWFpbm1lbnVDb2xsYXBzZWR9CiAgICAgICAgICAgIEB0YWItc2VsZWN0PSR7RD0+dGhpcy5oYW5kbGVNYWlubWVudVRhYlNlbGVjdChEKX0KICAgICAgICAgICAgQGNvbGxhcHNlLWNoYW5nZT0ke0Q9PnRoaXMuaGFuZGxlTWFpbm1lbnVDb2xsYXBzZUNoYW5nZShEKX0KICAgICAgICAgID48L2RlZXMtYXBwdWktbWFpbm1lbnU+CiAgICAgICAgYDoiIn0KICAgICAgICAke3RoaXMuc2Vjb25kYXJ5bWVudVZpc2libGU/d2AKICAgICAgICAgIDxkZWVzLWFwcHVpLXNlY29uZGFyeW1lbnUKICAgICAgICAgICAgLmhlYWRpbmc9JHt0aGlzLnNlY29uZGFyeW1lbnVIZWFkaW5nfQogICAgICAgICAgICAuZ3JvdXBzPSR7dGhpcy5zZWNvbmRhcnltZW51R3JvdXBzfQogICAgICAgICAgICAuc2VsZWN0ZWRJdGVtPSR7dGhpcy5zZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtfQogICAgICAgICAgICAuY29sbGFwc2VkPSR7dGhpcy5zZWNvbmRhcnltZW51Q29sbGFwc2VkfQogICAgICAgICAgICBAaXRlbS1zZWxlY3Q9JHtEPT50aGlzLmhhbmRsZVNlY29uZGFyeW1lbnVJdGVtU2VsZWN0KEQpfQogICAgICAgICAgICBAY29sbGFwc2UtY2hhbmdlPSR7RD0+dGhpcy5oYW5kbGVTZWNvbmRhcnltZW51Q29sbGFwc2VDaGFuZ2UoRCl9CiAgICAgICAgICA+PC9kZWVzLWFwcHVpLXNlY29uZGFyeW1lbnU+CiAgICAgICAgYDoiIn0KICAgICAgICA8ZGVlcy1hcHB1aS1tYWluY29udGVudAogICAgICAgICAgLnRhYnM9JHt0aGlzLm1haW5jb250ZW50VGFic30KICAgICAgICAgIC5zZWxlY3RlZFRhYj0ke3RoaXMubWFpbmNvbnRlbnRTZWxlY3RlZFRhYn0KICAgICAgICAgIC5zaG93VGFicz0ke3RoaXMubWFpbmNvbnRlbnRUYWJzVmlzaWJsZX0KICAgICAgICAgIC50YWJzQXV0b0hpZGU9JHt0aGlzLmNvbnRlbnRUYWJzQXV0b0hpZGV9CiAgICAgICAgICAudGFic0F1dG9IaWRlVGhyZXNob2xkPSR7dGhpcy5jb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkfQogICAgICAgICAgLnRhYkFjdGlvbnNMZWZ0PSR7dGhpcy5jb250ZW50VGFiQWN0aW9uc0xlZnR9CiAgICAgICAgICAudGFiQWN0aW9uc1JpZ2h0PSR7dGhpcy5jb250ZW50VGFiQWN0aW9uc1JpZ2h0fQogICAgICAgICAgQHRhYi1zZWxlY3Q9JHtEPT50aGlzLmhhbmRsZUNvbnRlbnRUYWJTZWxlY3QoRCl9CiAgICAgICAgICBAdGFiLWNsb3NlPSR7RD0+dGhpcy5oYW5kbGVDb250ZW50VGFiQ2xvc2UoRCl9CiAgICAgICAgPgogICAgICAgICAgPGRpdiBjbGFzcz0idmlldy1jb250YWluZXIiPjwvZGl2PgogICAgICAgICAgPHNsb3QgbmFtZT0ibWFpbmNvbnRlbnQiPjwvc2xvdD4KICAgICAgICA8L2RlZXMtYXBwdWktbWFpbmNvbnRlbnQ+CiAgICAgICAgPGRlZXMtYXBwdWktYWN0aXZpdHlsb2cKICAgICAgICAgIGNsYXNzPSIke3RoaXMuYWN0aXZpdHlMb2dWaXNpYmxlPyJ2aXNpYmxlIjoiaGlkZGVuIn0iCiAgICAgICAgPjwvZGVlcy1hcHB1aS1hY3Rpdml0eWxvZz4KICAgICAgPC9kaXY+CiAgICAgICR7dGhpcy5ib3R0b21iYXJWaXNpYmxlP3dgCiAgICAgICAgPGRlZXMtYXBwdWktYm90dG9tYmFyPjwvZGVlcy1hcHB1aS1ib3R0b21iYXI+CiAgICAgIGA6IiJ9CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe3RoaXMuYXBwYmFyPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWFwcHVpLWFwcGJhciIpLHRoaXMubWFpbm1lbnU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktbWFpbm1lbnUiKSx0aGlzLnNlY29uZGFyeW1lbnU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktc2Vjb25kYXJ5bWVudSIpLHRoaXMubWFpbmNvbnRlbnQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktbWFpbmNvbnRlbnQiKSx0aGlzLmFjdGl2aXR5bG9nRWxlbWVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS1hY3Rpdml0eWxvZyIpLHRoaXMuYm90dG9tYmFyRWxlbWVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS1ib3R0b21iYXIiKSx0aGlzLmFjdGl2aXR5bG9nRWxlbWVudCYmdGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuZW50cmllcyQuc3Vic2NyaWJlKEQ9Pnt0aGlzLmFjdGl2aXR5TG9nQ291bnQ9RC5sZW5ndGh9KSx0aGlzLnZpZXdSZWdpc3RyeS5zZXRBcHB1aVJlZih0aGlzKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5yb3V0ZXJDbGVhbnVwJiYodGhpcy5yb3V0ZXJDbGVhbnVwKCksdGhpcy5yb3V0ZXJDbGVhbnVwPW51bGwpLHRoaXMudmlld0xpZmVjeWNsZSQuY29tcGxldGUoKSx0aGlzLnZpZXdDaGFuZ2VkJC5jb21wbGV0ZSgpfXNldEFwcEJhck1lbnVzKEQpe3RoaXMuYXBwYmFyTWVudUl0ZW1zPVsuLi5EXX11cGRhdGVBcHBCYXJNZW51KEQsTCl7dGhpcy5hcHBiYXJNZW51SXRlbXM9dGhpcy5hcHBiYXJNZW51SXRlbXMubWFwKGVlPT4ibmFtZSJpbiBlZSYmZWUubmFtZT09PUQ/ey4uLmVlLC4uLkx9OmVlKX1zZXRCcmVhZGNydW1icyhEKXtBcnJheS5pc0FycmF5KEQpP3RoaXMuYXBwYmFyQnJlYWRjcnVtYnM9RC5qb2luKHRoaXMuYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvcik6dGhpcy5hcHBiYXJCcmVhZGNydW1icz1EfXNldFVzZXIoRCl7dGhpcy5hcHBiYXJVc2VyPUR9c2V0UHJvZmlsZU1lbnVJdGVtcyhEKXt0aGlzLmFwcGJhclByb2ZpbGVNZW51SXRlbXM9Wy4uLkRdfXNldFNlYXJjaFZpc2libGUoRCl7dGhpcy5hcHBiYXJTaG93U2VhcmNoPUR9c2V0V2luZG93Q29udHJvbHNWaXNpYmxlKEQpe3RoaXMuYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzPUR9b25TZWFyY2goRCl7dGhpcy5zZWFyY2hDYWxsYmFjaz1EfXNldE1haW5NZW51KEQpe0QubG9nb0ljb24hPT12b2lkIDAmJih0aGlzLm1haW5tZW51TG9nb0ljb249RC5sb2dvSWNvbiksRC5sb2dvVGV4dCE9PXZvaWQgMCYmKHRoaXMubWFpbm1lbnVMb2dvVGV4dD1ELmxvZ29UZXh0KSxELmdyb3VwcyE9PXZvaWQgMCYmKHRoaXMubWFpbm1lbnVHcm91cHM9Wy4uLkQuZ3JvdXBzXSksRC5ib3R0b21UYWJzIT09dm9pZCAwJiYodGhpcy5tYWlubWVudUJvdHRvbVRhYnM9Wy4uLkQuYm90dG9tVGFic10pfXVwZGF0ZU1haW5NZW51R3JvdXAoRCxMKXt0aGlzLm1haW5tZW51R3JvdXBzPXRoaXMubWFpbm1lbnVHcm91cHMubWFwKGVlPT5lZS5uYW1lPT09RD97Li4uZWUsLi4uTH06ZWUpfWFkZE1haW5NZW51SXRlbShELEwpe3RoaXMubWFpbm1lbnVHcm91cHM9dGhpcy5tYWlubWVudUdyb3Vwcy5tYXAoZWU9PmVlLm5hbWU9PT1EP3suLi5lZSxpdGVtczpbLi4uZWUuaXRlbXN8fFtdLExdfTplZSl9cmVtb3ZlTWFpbk1lbnVJdGVtKEQsTCl7dGhpcy5tYWlubWVudUdyb3Vwcz10aGlzLm1haW5tZW51R3JvdXBzLm1hcChlZT0+ZWUubmFtZT09PUQ/ey4uLmVlLGl0ZW1zOihlZS5pdGVtc3x8W10pLmZpbHRlcihEZT0+RGUua2V5IT09TCl9OmVlKX1zZXRNYWluTWVudVNlbGVjdGlvbihEKXtmb3IobGV0IGVlIG9mIHRoaXMubWFpbm1lbnVHcm91cHMpe2xldCBEZT1lZS5pdGVtcz8uZmluZChJZT0+SWUua2V5PT09RCk7aWYoRGUpe3RoaXMubWFpbm1lbnVTZWxlY3RlZFRhYj1EZTtyZXR1cm59fWxldCBMPXRoaXMubWFpbm1lbnVCb3R0b21UYWJzLmZpbmQoZWU9PmVlLmtleT09PUQpO0wmJih0aGlzLm1haW5tZW51U2VsZWN0ZWRUYWI9TCl9c2V0TWFpbk1lbnVDb2xsYXBzZWQoRCl7dGhpcy5tYWlubWVudUNvbGxhcHNlZD1EfXNldE1haW5NZW51VmlzaWJsZShEKXt0aGlzLm1haW5tZW51VmlzaWJsZT1EfXNldFNlY29uZGFyeU1lbnVDb2xsYXBzZWQoRCl7dGhpcy5zZWNvbmRhcnltZW51Q29sbGFwc2VkPUR9c2V0U2Vjb25kYXJ5TWVudVZpc2libGUoRCl7dGhpcy5zZWNvbmRhcnltZW51VmlzaWJsZT1EfXNldENvbnRlbnRUYWJzVmlzaWJsZShEKXt0aGlzLm1haW5jb250ZW50VGFic1Zpc2libGU9RH1zZXRDb250ZW50VGFic0F1dG9IaWRlKEQsTD0wKXt0aGlzLmNvbnRlbnRUYWJzQXV0b0hpZGU9RCx0aGlzLmNvbnRlbnRUYWJzQXV0b0hpZGVUaHJlc2hvbGQ9TH1zZXRNYWluTWVudUJhZGdlKEQsTCl7dGhpcy5tYWlubWVudUdyb3Vwcz10aGlzLm1haW5tZW51R3JvdXBzLm1hcChlZT0+KHsuLi5lZSxpdGVtczooZWUuaXRlbXN8fFtdKS5tYXAoRGU9PkRlLmtleT09PUQ/ey4uLkRlLGJhZGdlOkx9OkRlKX0pKSx0aGlzLm1haW5tZW51Qm90dG9tVGFicz10aGlzLm1haW5tZW51Qm90dG9tVGFicy5tYXAoZWU9PmVlLmtleT09PUQ/ey4uLmVlLGJhZGdlOkx9OmVlKX1jbGVhck1haW5NZW51QmFkZ2UoRCl7dGhpcy5tYWlubWVudUdyb3Vwcz10aGlzLm1haW5tZW51R3JvdXBzLm1hcChMPT4oey4uLkwsaXRlbXM6KEwuaXRlbXN8fFtdKS5tYXAoZWU9PntpZihlZS5rZXk9PT1EKXtsZXR7YmFkZ2U6RGUsLi4uSWV9PWVlO3JldHVybiBJZX1yZXR1cm4gZWV9KX0pKSx0aGlzLm1haW5tZW51Qm90dG9tVGFicz10aGlzLm1haW5tZW51Qm90dG9tVGFicy5tYXAoTD0+e2lmKEwua2V5PT09RCl7bGV0e2JhZGdlOmVlLC4uLkRlfT1MO3JldHVybiBEZX1yZXR1cm4gTH0pfXNldFNlY29uZGFyeU1lbnUoRCl7RC5oZWFkaW5nIT09dm9pZCAwJiYodGhpcy5zZWNvbmRhcnltZW51SGVhZGluZz1ELmhlYWRpbmcpLHRoaXMuc2Vjb25kYXJ5bWVudUdyb3Vwcz1bLi4uRC5ncm91cHNdfXVwZGF0ZVNlY29uZGFyeU1lbnVHcm91cChELEwpe3RoaXMuc2Vjb25kYXJ5bWVudUdyb3Vwcz10aGlzLnNlY29uZGFyeW1lbnVHcm91cHMubWFwKGVlPT5lZS5uYW1lPT09RD97Li4uZWUsLi4uTH06ZWUpfWFkZFNlY29uZGFyeU1lbnVJdGVtKEQsTCl7dGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPXRoaXMuc2Vjb25kYXJ5bWVudUdyb3Vwcy5tYXAoZWU9PmVlLm5hbWU9PT1EP3suLi5lZSxpdGVtczpbLi4uZWUuaXRlbXMsTF19OmVlKX1zZXRTZWNvbmRhcnlNZW51U2VsZWN0aW9uKEQpe2ZvcihsZXQgTCBvZiB0aGlzLnNlY29uZGFyeW1lbnVHcm91cHMpe2xldCBlZT1MLml0ZW1zLmZpbmQoRGU9PiJrZXkiaW4gRGUmJkRlLmtleT09PUQpO2lmKGVlJiYoISgidHlwZSJpbiBlZSl8fGVlLnR5cGU9PT0idGFiInx8ZWUudHlwZT09PXZvaWQgMCkpe3RoaXMuc2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbT1lZTtyZXR1cm59fX1jbGVhclNlY29uZGFyeU1lbnUoKXt0aGlzLnNlY29uZGFyeW1lbnVIZWFkaW5nPSIiLHRoaXMuc2Vjb25kYXJ5bWVudUdyb3Vwcz1bXSx0aGlzLnNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW09dm9pZCAwfXNldENvbnRlbnRUYWJzKEQpe3RoaXMubWFpbmNvbnRlbnRUYWJzPVsuLi5EXSxELmxlbmd0aD4wJiYhdGhpcy5tYWluY29udGVudFNlbGVjdGVkVGFiJiYodGhpcy5tYWluY29udGVudFNlbGVjdGVkVGFiPURbMF0pfWFkZENvbnRlbnRUYWIoRCl7dGhpcy5tYWluY29udGVudFRhYnM9Wy4uLnRoaXMubWFpbmNvbnRlbnRUYWJzLERdfXJlbW92ZUNvbnRlbnRUYWIoRCl7dGhpcy5tYWluY29udGVudFRhYnM9dGhpcy5tYWluY29udGVudFRhYnMuZmlsdGVyKEw9Pkwua2V5IT09RCksdGhpcy5tYWluY29udGVudFNlbGVjdGVkVGFiPy5rZXk9PT1EJiYodGhpcy5tYWluY29udGVudFNlbGVjdGVkVGFiPXRoaXMubWFpbmNvbnRlbnRUYWJzWzBdKX1zZWxlY3RDb250ZW50VGFiKEQpe2xldCBMPXRoaXMubWFpbmNvbnRlbnRUYWJzLmZpbmQoZWU9PmVlLmtleT09PUQpO0wmJih0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9TCl9Z2V0U2VsZWN0ZWRDb250ZW50VGFiKCl7cmV0dXJuIHRoaXMubWFpbmNvbnRlbnRTZWxlY3RlZFRhYn1zZXRDb250ZW50VGFiQWN0aW9uc0xlZnQoRCl7dGhpcy5jb250ZW50VGFiQWN0aW9uc0xlZnQ9Wy4uLkRdfXNldENvbnRlbnRUYWJBY3Rpb25zUmlnaHQoRCl7dGhpcy5jb250ZW50VGFiQWN0aW9uc1JpZ2h0PVsuLi5EXX1nZXQgYWN0aXZpdHlMb2coKXtyZXR1cm4gdGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQ/e2FkZDpzKEQ9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50LmFkZChEKSwiYWRkIiksYWRkTWFueTpzKEQ9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50LmFkZE1hbnkoRCksImFkZE1hbnkiKSxjbGVhcjpzKCgpPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudC5jbGVhcigpLCJjbGVhciIpLGdldEVudHJpZXM6cygoKT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuZ2V0RW50cmllcygpLCJnZXRFbnRyaWVzIiksZmlsdGVyOnMoRD0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuZmlsdGVyKEQpLCJmaWx0ZXIiKSxzZWFyY2g6cyhEPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudC5zZWFyY2goRCksInNlYXJjaCIpfTp7YWRkOnMoRD0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQ/LmFkZChEKSl9LCJhZGQiKSxhZGRNYW55OnMoRD0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQ/LmFkZE1hbnkoRCkpfSwiYWRkTWFueSIpLGNsZWFyOnMoKCk9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50Py5jbGVhcigpKX0sImNsZWFyIiksZ2V0RW50cmllczpzKCgpPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudD8uZ2V0RW50cmllcygpfHxbXSwiZ2V0RW50cmllcyIpLGZpbHRlcjpzKEQ9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50Py5maWx0ZXIoRCl8fFtdLCJmaWx0ZXIiKSxzZWFyY2g6cyhEPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudD8uc2VhcmNoKEQpfHxbXSwic2VhcmNoIil9fXNldEFjdGl2aXR5TG9nVmlzaWJsZShEKXt0aGlzLmFjdGl2aXR5TG9nVmlzaWJsZT1EfXRvZ2dsZUFjdGl2aXR5TG9nKCl7dGhpcy5hY3Rpdml0eUxvZ1Zpc2libGU9IXRoaXMuYWN0aXZpdHlMb2dWaXNpYmxlfWdldEFjdGl2aXR5TG9nVmlzaWJsZSgpe3JldHVybiB0aGlzLmFjdGl2aXR5TG9nVmlzaWJsZX1nZXQgYm90dG9tQmFyKCl7cmV0dXJuIHRoaXMuYm90dG9tYmFyRWxlbWVudD97YWRkV2lkZ2V0OnMoRD0+dGhpcy5ib3R0b21iYXJFbGVtZW50LmFkZFdpZGdldChEKSwiYWRkV2lkZ2V0IiksdXBkYXRlV2lkZ2V0OnMoKEQsTCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudC51cGRhdGVXaWRnZXQoRCxMKSwidXBkYXRlV2lkZ2V0IikscmVtb3ZlV2lkZ2V0OnMoRD0+dGhpcy5ib3R0b21iYXJFbGVtZW50LnJlbW92ZVdpZGdldChEKSwicmVtb3ZlV2lkZ2V0IiksZ2V0V2lkZ2V0OnMoRD0+dGhpcy5ib3R0b21iYXJFbGVtZW50LmdldFdpZGdldChEKSwiZ2V0V2lkZ2V0IiksY2xlYXJXaWRnZXRzOnMoKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudC5jbGVhcldpZGdldHMoKSwiY2xlYXJXaWRnZXRzIiksYWRkQWN0aW9uOnMoRD0+dGhpcy5ib3R0b21iYXJFbGVtZW50LmFkZEFjdGlvbihEKSwiYWRkQWN0aW9uIikscmVtb3ZlQWN0aW9uOnMoRD0+dGhpcy5ib3R0b21iYXJFbGVtZW50LnJlbW92ZUFjdGlvbihEKSwicmVtb3ZlQWN0aW9uIiksY2xlYXJBY3Rpb25zOnMoKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudC5jbGVhckFjdGlvbnMoKSwiY2xlYXJBY3Rpb25zIil9OnthZGRXaWRnZXQ6cyhEPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LmFkZFdpZGdldChEKSl9LCJhZGRXaWRnZXQiKSx1cGRhdGVXaWRnZXQ6cygoRCxMKT0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50Py51cGRhdGVXaWRnZXQoRCxMKSl9LCJ1cGRhdGVXaWRnZXQiKSxyZW1vdmVXaWRnZXQ6cyhEPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LnJlbW92ZVdpZGdldChEKSl9LCJyZW1vdmVXaWRnZXQiKSxnZXRXaWRnZXQ6cyhEPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LmdldFdpZGdldChEKSwiZ2V0V2lkZ2V0IiksY2xlYXJXaWRnZXRzOnMoKCk9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8uY2xlYXJXaWRnZXRzKCkpfSwiY2xlYXJXaWRnZXRzIiksYWRkQWN0aW9uOnMoRD0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50Py5hZGRBY3Rpb24oRCkpfSwiYWRkQWN0aW9uIikscmVtb3ZlQWN0aW9uOnMoRD0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50Py5yZW1vdmVBY3Rpb24oRCkpfSwicmVtb3ZlQWN0aW9uIiksY2xlYXJBY3Rpb25zOnMoKCk9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8uY2xlYXJBY3Rpb25zKCkpfSwiY2xlYXJBY3Rpb25zIil9fXNldEJvdHRvbUJhclZpc2libGUoRCl7dGhpcy5ib3R0b21iYXJWaXNpYmxlPUQsRD90aGlzLnJlbW92ZUF0dHJpYnV0ZSgiYm90dG9tYmFyLWhpZGRlbiIpOnRoaXMuc2V0QXR0cmlidXRlKCJib3R0b21iYXItaGlkZGVuIiwiIil9Z2V0Qm90dG9tQmFyVmlzaWJsZSgpe3JldHVybiB0aGlzLmJvdHRvbWJhclZpc2libGV9YXN5bmMgbmF2aWdhdGVUb1ZpZXcoRCxMKXtsZXQgZWU9dGhpcy52aWV3UmVnaXN0cnkuZ2V0KEQpO2lmKCFlZSlyZXR1cm4gY29uc29sZS53YXJuKGBDYW5ub3QgbmF2aWdhdGUgdG8gdW5rbm93biB2aWV3OiAke0R9YCksITE7bGV0IERlPWF3YWl0IHRoaXMudmlld1JlZ2lzdHJ5LmNhbkxlYXZlQ3VycmVudFZpZXcoKTtpZihEZSE9PSEwKWlmKHR5cGVvZiBEZT09InN0cmluZyIpe2lmKCF3aW5kb3cuY29uZmlybShEZSkpcmV0dXJuITF9ZWxzZSByZXR1cm4hMTt0aGlzLnZpZXdMaWZlY3ljbGUkLm5leHQoe3R5cGU6ImxvYWRpbmciLHZpZXdJZDpEfSk7dHJ5e2F3YWl0IHRoaXMubG9hZFZpZXcoZWUsTCk7bGV0IEllPWVlLnJvdXRlfHxEO2lmKEwpZm9yKGxldFt0dCxhdF1vZiBPYmplY3QuZW50cmllcyhMKSlJZT1JZS5yZXBsYWNlKGA6JHt0dH1gLGF0KTtsZXQgR2U9YCMke0llfWA7cmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5oYXNoIT09R2UmJndpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7dmlld0lkOkR9LCIiLEdlKSwhMH1jYXRjaChJZSl7cmV0dXJuIHRoaXMudmlld0xpZmVjeWNsZSQubmV4dCh7dHlwZToibG9hZEVycm9yIix2aWV3SWQ6RCxlcnJvcjpJZX0pLCExfX1nZXRDdXJyZW50Vmlldygpe3JldHVybiB0aGlzLmN1cnJlbnRWaWV3fWdldFZpZXdSZWdpc3RyeSgpe3JldHVybiB0aGlzLnZpZXdSZWdpc3RyeX1jb25maWd1cmUoRCl7RC52aWV3cyYmKHRoaXMudmlld1JlZ2lzdHJ5LmNsZWFyKCksdGhpcy52aWV3UmVnaXN0cnkucmVnaXN0ZXJBbGwoRC52aWV3cykpLEQuYnJhbmRpbmcmJih0aGlzLm1haW5tZW51TG9nb0ljb249RC5icmFuZGluZy5sb2dvSWNvbnx8IiIsdGhpcy5tYWlubWVudUxvZ29UZXh0PUQuYnJhbmRpbmcubG9nb1RleHR8fCIiKSxELmFwcEJhciYmKHRoaXMuYXBwYmFyTWVudUl0ZW1zPUQuYXBwQmFyLm1lbnVJdGVtc3x8W10sdGhpcy5hcHBiYXJCcmVhZGNydW1icz1ELmFwcEJhci5icmVhZGNydW1ic3x8IiIsdGhpcy5hcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yPUQuYXBwQmFyLmJyZWFkY3J1bWJTZXBhcmF0b3J8fCIgPiAiLHRoaXMuYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzPUQuYXBwQmFyLnNob3dXaW5kb3dDb250cm9scz8/ITAsdGhpcy5hcHBiYXJTaG93U2VhcmNoPUQuYXBwQmFyLnNob3dTZWFyY2g/PyExLHRoaXMuYXBwYmFyVXNlcj1ELmFwcEJhci51c2VyLHRoaXMuYXBwYmFyUHJvZmlsZU1lbnVJdGVtcz1ELmFwcEJhci5wcm9maWxlTWVudUl0ZW1zfHxbXSksRC5tYWluTWVudSYmKEQubWFpbk1lbnUuc2VjdGlvbnM/dGhpcy5tYWlubWVudUdyb3Vwcz10aGlzLmJ1aWxkTWFpbk1lbnVGcm9tU2VjdGlvbnMoRCk6RC5tYWluTWVudS5ncm91cHMmJih0aGlzLm1haW5tZW51R3JvdXBzPUQubWFpbk1lbnUuZ3JvdXBzKSxELm1haW5NZW51LmxvZ29JY29uJiYodGhpcy5tYWlubWVudUxvZ29JY29uPUQubWFpbk1lbnUubG9nb0ljb24pLEQubWFpbk1lbnUubG9nb1RleHQmJih0aGlzLm1haW5tZW51TG9nb1RleHQ9RC5tYWluTWVudS5sb2dvVGV4dCksRC5tYWluTWVudS5ib3R0b21UYWJzP3RoaXMubWFpbm1lbnVCb3R0b21UYWJzPUQubWFpbk1lbnUuYm90dG9tVGFiczpELm1haW5NZW51LmJvdHRvbUl0ZW1zJiYodGhpcy5tYWlubWVudUJvdHRvbVRhYnM9dGhpcy5idWlsZEJvdHRvbVRhYnNGcm9tSXRlbXMoRC5tYWluTWVudS5ib3R0b21JdGVtcykpKSxELmJvdHRvbUJhciYmKHRoaXMuc2V0Qm90dG9tQmFyVmlzaWJsZShELmJvdHRvbUJhci52aXNpYmxlPz8hMCksRC5ib3R0b21CYXIud2lkZ2V0cyYmRC5ib3R0b21CYXIud2lkZ2V0cy5mb3JFYWNoKEw9Pnt0aGlzLmJvdHRvbUJhci5hZGRXaWRnZXQoTCl9KSxELmJvdHRvbUJhci5hY3Rpb25zJiZELmJvdHRvbUJhci5hY3Rpb25zLmZvckVhY2goTD0+e3RoaXMuYm90dG9tQmFyLmFkZEFjdGlvbihMKX0pKSx0aGlzLnNldHVwUm91dGVySW50ZWdyYXRpb24oRCksRC5vblZpZXdDaGFuZ2UmJnRoaXMudmlld0NoYW5nZWQkLnN1YnNjcmliZShMPT57RC5vblZpZXdDaGFuZ2UoTC52aWV3SWQsTC52aWV3KX0pLEQub25TZWFyY2gmJih0aGlzLnNlYXJjaENhbGxiYWNrPUQub25TZWFyY2gpLEQuZGVmYXVsdFZpZXcmJnRoaXMubmF2aWdhdGVUb1ZpZXcoRC5kZWZhdWx0Vmlldyl9c2V0dXBSb3V0ZXJJbnRlZ3JhdGlvbihEKXtsZXQgTD1zKCgpPT57bGV0IERlPXdpbmRvdy5sb2NhdGlvbi5oYXNoLnNsaWNlKDEpO2lmKCFEZSlyZXR1cm47bGV0IEllPXRoaXMudmlld1JlZ2lzdHJ5LmZpbmRCeVJvdXRlKERlKTtJZSYmdGhpcy5uYXZpZ2F0ZVRvVmlldyhJZS52aWV3LmlkLEllLnBhcmFtcyl9LCJoYW5kbGVIYXNoQ2hhbmdlIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLEwpLHRoaXMucm91dGVyQ2xlYW51cD0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixMKX07bGV0IGVlPXdpbmRvdy5sb2NhdGlvbi5oYXNoLnNsaWNlKDEpO2lmKGVlKXtsZXQgRGU9dGhpcy52aWV3UmVnaXN0cnkuZmluZEJ5Um91dGUoZWUpO0RlJiZzZXRUaW1lb3V0KCgpPT50aGlzLm5hdmlnYXRlVG9WaWV3KERlLnZpZXcuaWQsRGUucGFyYW1zKSwwKX19YnVpbGRNYWluTWVudUZyb21TZWN0aW9ucyhEKXtyZXR1cm4gRC5tYWluTWVudT8uc2VjdGlvbnM/RC5tYWluTWVudS5zZWN0aW9ucy5tYXAoTD0+KHtuYW1lOkwubmFtZXx8IiIsaXRlbXM6TC52aWV3cy5tYXAoZWU9PntsZXQgRGU9dGhpcy52aWV3UmVnaXN0cnkuZ2V0KGVlKTtyZXR1cm4gRGU/e2tleTpEZS5pZCxpY29uTmFtZTpEZS5pY29uTmFtZSxhY3Rpb246cygoKT0+dGhpcy5uYXZpZ2F0ZVRvVmlldyhlZSksImFjdGlvbiIpLGJhZGdlOkRlLmJhZGdlfTooY29uc29sZS53YXJuKGBWaWV3ICIke2VlfSIgbm90IGZvdW5kIGluIHJlZ2lzdHJ5YCksbnVsbCl9KS5maWx0ZXIoQm9vbGVhbil9KSk6W119YnVpbGRCb3R0b21UYWJzRnJvbUl0ZW1zKEQpe3JldHVybiBELm1hcChMPT57bGV0IGVlPXRoaXMudmlld1JlZ2lzdHJ5LmdldChMKTtyZXR1cm4gZWU/e2tleTplZS5pZCxpY29uTmFtZTplZS5pY29uTmFtZSxhY3Rpb246cygoKT0+dGhpcy5uYXZpZ2F0ZVRvVmlldyhMKSwiYWN0aW9uIil9Oihjb25zb2xlLndhcm4oYFZpZXcgIiR7TH0iIG5vdCBmb3VuZCBpbiByZWdpc3RyeWApLG51bGwpfSkuZmlsdGVyKEJvb2xlYW4pfWFzeW5jIGxvYWRWaWV3KEQsTCl7bGV0IGVlPXRoaXMuY3VycmVudFZpZXc7dGhpcy5jdXJyZW50Vmlldz1EO2xldCBEZT10aGlzLm1haW5jb250ZW50Py5xdWVyeVNlbGVjdG9yKCIudmlldy1jb250YWluZXIiKXx8dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudmlldy1jb250YWluZXIiKTtpZihEZSl7bGV0IEdlPWF3YWl0IHRoaXMudmlld1JlZ2lzdHJ5LmFjdGl2YXRlVmlldyhELmlkLERlLEwpO0dlJiZ0aGlzLnZpZXdMaWZlY3ljbGUkLm5leHQoe3R5cGU6ImFjdGl2YXRlZCIsdmlld0lkOkQuaWQsZWxlbWVudDpHZSxwYXJhbXM6TH0pfUQuc2Vjb25kYXJ5TWVudSYmKHRoaXMuc2Vjb25kYXJ5bWVudUdyb3Vwcz1ELnNlY29uZGFyeU1lbnUsdGhpcy5zZWNvbmRhcnltZW51SGVhZGluZz1ELm5hbWUpLEQuY29udGVudFRhYnMmJih0aGlzLm1haW5jb250ZW50VGFicz1ELmNvbnRlbnRUYWJzKSx0aGlzLnNldE1haW5NZW51U2VsZWN0aW9uKEQuaWQpO2xldCBJZT17dmlld0lkOkQuaWQsdmlldzpELHByZXZpb3VzVmlldzplZSxwYXJhbXM6TH07dGhpcy52aWV3Q2hhbmdlZCQubmV4dChJZSksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidmlldy1jaGFuZ2UiLHtkZXRhaWw6SWUsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBcHBiYXJNZW51U2VsZWN0KEQpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFwcGJhci1tZW51LXNlbGVjdCIse2RldGFpbDpELmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFwcGJhckJyZWFkY3J1bWJOYXZpZ2F0ZShEKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhcHBiYXItYnJlYWRjcnVtYi1uYXZpZ2F0ZSIse2RldGFpbDpELmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFwcGJhclNlYXJjaENsaWNrKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYXBwYmFyLXNlYXJjaC1jbGljayIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQXBwYmFyU2VhcmNoUXVlcnkoRCl7dGhpcy5zZWFyY2hDYWxsYmFjayYmdGhpcy5zZWFyY2hDYWxsYmFjayhELmRldGFpbC5xdWVyeSksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VhcmNoLXF1ZXJ5Iix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQXBwYmFyVXNlck1lbnVPcGVuKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYXBwYmFyLXVzZXItbWVudS1vcGVuIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBcHBiYXJQcm9maWxlTWVudVNlbGVjdChEKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhcHBiYXItcHJvZmlsZS1tZW51LXNlbGVjdCIse2RldGFpbDpELmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZU1haW5tZW51VGFiU2VsZWN0KEQpe3RoaXMubWFpbm1lbnVTZWxlY3RlZFRhYj1ELmRldGFpbC50YWIsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibWFpbm1lbnUtdGFiLXNlbGVjdCIse2RldGFpbDpELmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVNlY29uZGFyeW1lbnVJdGVtU2VsZWN0KEQpe3RoaXMuc2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbT1ELmRldGFpbC5pdGVtLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlY29uZGFyeW1lbnUtaXRlbS1zZWxlY3QiLHtkZXRhaWw6RC5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVNYWlubWVudUNvbGxhcHNlQ2hhbmdlKEQpe3RoaXMubWFpbm1lbnVDb2xsYXBzZWQ9RC5kZXRhaWwuY29sbGFwc2VkLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm1haW5tZW51LWNvbGxhcHNlLWNoYW5nZSIse2RldGFpbDpELmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVNlY29uZGFyeW1lbnVDb2xsYXBzZUNoYW5nZShEKXt0aGlzLnNlY29uZGFyeW1lbnVDb2xsYXBzZWQ9RC5kZXRhaWwuY29sbGFwc2VkLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlY29uZGFyeW1lbnUtY29sbGFwc2UtY2hhbmdlIix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ29udGVudFRhYlNlbGVjdChEKXt0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9RC5kZXRhaWwudGFiLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNvbnRlbnQtdGFiLXNlbGVjdCIse2RldGFpbDpELmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNvbnRlbnRUYWJDbG9zZShEKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb250ZW50LXRhYi1jbG9zZSIse2RldGFpbDpELmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXN0YXRpY3tvdChyLHQpfX07cmV0dXJuIEM3PXJ9KSgpfSk7dmFyIEZsYT1mKCgpPT57T2xhKCk7aVFlKCl9KTt2YXIgQmxhPWYoKCk9PntjUWUoKX0pO3ZhciBIbGE9ZigoKT0+e29RZSgpfSk7dmFyIHFsYT1mKCgpPT57blFlKCl9KTt2YXIgVmxhPWYoKCk9Pnt3WWUoKX0pO3ZhciBqbGE9ZigoKT0+e2xRZSgpfSk7dmFyIHFzZSxjNSxVbGEsV2xhPWYoKCk9PntXcygpO0dpKCk7bXMoKTtsZSgpO00xKCk7dmEoKTtRZSgpO3FzZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sYzU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFVsYT0oKCk9PntsZXQgYT1baWUoImRlZXMtbW9iaWxlbmF2aWdhdGlvbiIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzTW9iaWxlbmF2aWdhdGlvbiIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6QXJyYXl9KV0sdT1bSygpXSxxc2UodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoZWFkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJoZWFkaW5nImluIGcsImhhcyIpLGdldDpzKGc9PmcuaGVhZGluZywiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmhlYWRpbmc9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLHFzZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbnVJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ibWVudUl0ZW1zImluIGcsImhhcyIpLGdldDpzKGc9PmcubWVudUl0ZW1zLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cubWVudUl0ZW1zPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxxc2UodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb2JpbGVOYXZaSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+Im1vYmlsZU5hdlpJbmRleCJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLm1vYmlsZU5hdlpJbmRleCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLm1vYmlsZU5hdlpJbmRleD15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG0sdikscXNlKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW9Hcm91cHM9WyJBcHAgVUkiXTtzdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57eC5jcmVhdGVBbmRTaG93KFt7bmFtZToiRGFzaGJvYXJkIixpY29uTmFtZToibHVjaWRlOmxheW91dC1kYXNoYm9hcmQiLGFjdGlvbjpzKGFzeW5jIGI9Pihjb25zb2xlLmxvZygiTmF2aWdhdGUgdG8gZGFzaGJvYXJkIiksbnVsbCksImFjdGlvbiIpfSx7bmFtZToiUHJvZmlsZSIsaWNvbk5hbWU6Imx1Y2lkZTp1c2VyIixhY3Rpb246cyhhc3luYyBiPT4oY29uc29sZS5sb2coIk5hdmlnYXRlIHRvIHByb2ZpbGUiKSxudWxsKSwiYWN0aW9uIil9LHtuYW1lOiJTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpzZXR0aW5ncyIsYWN0aW9uOnMoYXN5bmMgYj0+KGNvbnNvbGUubG9nKCJOYXZpZ2F0ZSB0byBzZXR0aW5ncyIpLG51bGwpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJIZWxwIixpY29uTmFtZToibHVjaWRlOmhlbHAtY2lyY2xlIixhY3Rpb246cyhhc3luYyBiPT4oY29uc29sZS5sb2coIlNob3cgaGVscCIpLG51bGwpLCJhY3Rpb24iKX0se25hbWU6IlNpZ24gT3V0IixpY29uTmFtZToibHVjaWRlOmxvZy1vdXQiLGFjdGlvbjpzKGFzeW5jIGI9Pihjb25zb2xlLmxvZygiU2lnbiBvdXQiKSxudWxsKSwiYWN0aW9uIil9XSl9fT5PcGVuIE1vYmlsZSBOYXZpZ2F0aW9uPC9kZWVzLWJ1dHRvbj4KICBgLCJkZW1vIik7c3RhdGljIHNpbmdsZXRvblJlZjtzdGF0aWMgYXN5bmMgY3JlYXRlQW5kU2hvdyhiKXtyZXR1cm4gdGhpcy5zaW5nbGV0b25SZWZ8fCh0aGlzLnNpbmdsZXRvblJlZj1uZXcgeCxkb2N1bWVudC5ib2R5LmFwcGVuZCh0aGlzLnNpbmdsZXRvblJlZiksYXdhaXQgdGhpcy5zaW5nbGV0b25SZWYuaW5pdCgpKSx0aGlzLnNpbmdsZXRvblJlZi5tZW51SXRlbXM9Yixhd2FpdCB0aGlzLnNpbmdsZXRvblJlZi5yZWFkeURlZmVycmVkLnByb21pc2UsdGhpcy5zaW5nbGV0b25SZWYuc2hvdygpLHRoaXMuc2luZ2xldG9uUmVmfSNlPWM1KHRoaXMsbiwiTWVudSIpO2dldCBoZWFkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcoYil7dGhpcy4jZT1ifSN0PShjNSh0aGlzLGwpLGM1KHRoaXMsYyxbXSkpO2dldCBtZW51SXRlbXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbWVudUl0ZW1zKGIpe3RoaXMuI3Q9Yn0jYT0oYzUodGhpcyxwKSxjNSh0aGlzLG0sMWUzKSk7Z2V0IG1vYmlsZU5hdlpJbmRleCgpe3JldHVybiB0aGlzLiNhfXNldCBtb2JpbGVOYXZaSW5kZXgoYil7dGhpcy4jYT1ifXJlYWR5RGVmZXJyZWQ9KGM1KHRoaXMsdiksQXQucGx1Z2lucy5zbWFydHByb21pc2UuZGVmZXIoKSk7Y29uc3RydWN0b3IoKXtzdXBlcigpfWFzeW5jIGluaXQoKXthd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMucmVhZHlEZWZlcnJlZC5yZXNvbHZlKCl9c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgIH0KCiAgICAgIC5tYWluIHsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4KTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHJpZ2h0OiAwcHg7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgYm90dG9tOiAwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCItMjBweCAwIDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMSksIC0xMHB4IDAgMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4wNCkiLCItMjBweCAwIDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyksIC0xMHB4IDAgMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIH0KCiAgICAgIC5tYWluLnNob3cgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuaGVhZGluZyB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5tZW51LWNvbnRhaW5lciB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbSBkZWVzLWljb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtOmhvdmVyIGRlZXMtaWNvbiB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLXRleHQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS1kaXZpZGVyIHsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgbWFyZ2luOiA4cHggMTZweDsKICAgICAgfQoKICAgICAgLyogTW9iaWxlIHJlc3BvbnNpdmVuZXNzICovCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCkgewogICAgICAgIC5tYWluIHsKICAgICAgICAgIG1heC13aWR0aDogMTAwdnc7CiAgICAgICAgICB3aWR0aDogODV2dzsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8qIEFuaW1hdGlvbiBmb3IgbWVudSBpdGVtcyAqLwogICAgICBAa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7CiAgICAgICAgZnJvbSB7CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogICAgICAgIH0KICAgICAgICB0byB7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm1haW4uc2hvdyAubWVudUl0ZW0gewogICAgICAgIGFuaW1hdGlvbjogc2xpZGVJblJpZ2h0IDAuM3MgZWFzZS1vdXQgZm9yd2FyZHM7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWl0ZW0taW5kZXgsIDApICogMC4wNXMpOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgIH0KCiAgICAgIC8qIFNjcm9sbGJhciBzdHlsaW5nICovCiAgICAgIC5tZW51LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgIH0KCiAgICAgIC5tZW51LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAubWVudS1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAubWVudS1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2QxZDVkYiIsIiM1MjUyNWIiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgLm1haW4gewogICAgICAgICAgLS16LWluZGV4OiAke3RoaXMubW9iaWxlTmF2WkluZGV4fTsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9Im1haW4iPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8aDIgY2xhc3M9ImhlYWRpbmciPiR7dGhpcy5oZWFkaW5nfTwvaDI+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1jb250YWluZXIiPgogICAgICAgICAgJHt0aGlzLm1lbnVJdGVtcy5tYXAoKGIsZyk9PiJkaXZpZGVyImluIGImJmIuZGl2aWRlcj93YDxkaXYgY2xhc3M9Im1lbnVJdGVtLWRpdmlkZXIiPjwvZGl2PmA6d2AKICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0ibWVudUl0ZW0iCiAgICAgICAgICAgICAgICBzdHlsZT0iLS1pdGVtLWluZGV4OiAke2d9IgogICAgICAgICAgICAgICAgQGNsaWNrPSIkeygpPT57dGhpcy5oaWRlKCksYi5hY3Rpb24odGhpcyl9fSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke2IuaWNvbk5hbWU/d2AKICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke2IuaWNvbk5hbWV9IHNpemU9IjIwIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWVudUl0ZW0tdGV4dCI+JHtiLm5hbWV9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXdpbmRvd0xheWVyO2FzeW5jIHNob3coKXtsZXQgYj1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSxnPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIubWFpbiIpO3RoaXMud2luZG93TGF5ZXI/KGRvY3VtZW50LmJvZHkuYXBwZW5kKHRoaXMud2luZG93TGF5ZXIpLGF3YWl0IHRoaXMud2luZG93TGF5ZXIuc2hvdygpKToodGhpcy53aW5kb3dMYXllcj1hd2FpdCBHcy5jcmVhdGVBbmRTaG93KHtibHVyOiEwfSksdGhpcy53aW5kb3dMYXllci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0aGlzLmhpZGUoKX0pKSx0aGlzLm1vYmlsZU5hdlpJbmRleD1YdC5nZXROZXh0WkluZGV4KCksWHQucmVnaXN0ZXIodGhpcyx0aGlzLm1vYmlsZU5hdlpJbmRleCksYXdhaXQgYi5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDEwKSxnLmNsYXNzTGlzdC5hZGQoInNob3ciKX1hc3luYyBoaWRlKCl7bGV0IGI9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5tYWluIikuY2xhc3NMaXN0LnJlbW92ZSgic2hvdyIpLFh0LnVucmVnaXN0ZXIodGhpcyksdGhpcy53aW5kb3dMYXllciYmYXdhaXQgdGhpcy53aW5kb3dMYXllci5kZXN0cm95KCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLFh0LnVucmVnaXN0ZXIodGhpcyksdGhpcy53aW5kb3dMYXllciYmYXdhaXQgdGhpcy53aW5kb3dMYXllci5kZXN0cm95KCl9c3RhdGlje2M1KHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBHbGE9ZigoKT0+e1dsYSgpfSk7dmFyIFlsYT1mKCgpPT57RHJhKCk7TVllKCk7WnJhKCk7RmxhKCk7QmxhKCk7SGxhKCk7cWxhKCk7VmxhKCk7amxhKCk7R2xhKCl9KTt2YXIgS2xhPWYoKCk9PntrZigpfSk7dmFyIFpsYSxkUWUsWGxhLFFsYT1mKCgpPT57bGUoKTtabGE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGRRZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sWGxhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1idXR0b24tZXhpdCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQnV0dG9uRXhpdCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6TnVtYmVyfSldLFpsYSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+InNpemUiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5zaXplLCJnZXQiKSxzZXQ6cygocCx1KT0+e3Auc2l6ZT11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksWmxhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkZWVzLWJ1dHRvbi1leGl0PjwvZGVlcy1idXR0b24tZXhpdD4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJCdXR0b24iXTsjZT1kUWUodGhpcyxuLDI0KTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNlfXNldCBzaXplKGMpe3RoaXMuI2U9Y31zdHlsZXM9KGRRZSh0aGlzLGwpLFtoLmRlZmF1bHRTdHlsZXMsWGAKCiAgICBgXSk7cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICB3aWR0aDogJHt0aGlzLnNpemV9cHg7CiAgICAgICAgICBoZWlnaHQ6ICR7dGhpcy5zaXplfXB4OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RMaW5lIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWNvbmRMaW5lIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpY3tkUWUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIEpsYT1mKCgpPT57UWxhKCl9KTt2YXIgZWNhLHRjYT1mKCgpPT57bGUoKTtlY2E9cygoKT0+d2AKICAgIDxzdHlsZT4KICAgICAgJHtYYAogICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7CiAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tdGl0bGUgewogICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgfQoKICAgICAgICAuZGVtby1kZXNjcmlwdGlvbiB7CiAgICAgICAgICBjb2xvcjogIzk5OTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vQm94Ij4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkJhc2ljIEJ1dHRvbiBHcm91cHM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5CdXR0b24gZ3JvdXBzIHdpdGhvdXQgbGFiZWxzIGZvciBzaW1wbGUgZ3JvdXBpbmc8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgICAgPGRlZXMtYnV0dG9uPk9wdGlvbiAxPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5PcHRpb24gMjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+T3B0aW9uIDM8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkxhYmVsZWQgQnV0dG9uIEdyb3VwczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkJ1dHRvbiBncm91cHMgd2l0aCBkZXNjcmlwdGl2ZSBsYWJlbHM8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJWaWV3IE1vZGU6Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJoaWdobGlnaHRlZCI+R3JpZDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+TGlzdDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+Q2FyZHM8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPk11bHRpcGxlIEdyb3VwczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPk11bHRpcGxlIGJ1dHRvbiBncm91cHMgdXNlZCB0b2dldGhlcjwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBnYXA6IDE2cHg7IGZsZXgtd3JhcDogd3JhcDsiPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJEYXRhc2V0OiI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJoaWdobGlnaHRlZCI+U3lzdGVtPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPk5ldHdvcms8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+U2FsZXM8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJUaW1lIFJhbmdlOiI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj4xSDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJoaWdobGlnaHRlZCI+MjRIPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPjdEPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPjMwRDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkFjdGlvbnM6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlJlZnJlc2g8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+RXhwb3J0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlZlcnRpY2FsIEJ1dHRvbiBHcm91cHM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5CdXR0b24gZ3JvdXBzIHdpdGggdmVydGljYWwgbGF5b3V0PC9wPgogICAgICAgIAogICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGdhcDogMjRweDsiPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGRpcmVjdGlvbj0idmVydGljYWwiIGxhYmVsPSJOYXZpZ2F0aW9uOiI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5EYXNoYm9hcmQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iaGlnaGxpZ2h0ZWQiPkFuYWx5dGljczwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5SZXBvcnRzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlNldHRpbmdzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBkaXJlY3Rpb249InZlcnRpY2FsIj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkFkZCBJdGVtPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkVkaXQgSXRlbTwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5EZWxldGUgSXRlbTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5NaXhlZCBCdXR0b24gVHlwZXM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5EaWZmZXJlbnQgYnV0dG9uIHR5cGVzIHdpdGhpbiBncm91cHM8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJTdGF0dXM6Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJzdWNjZXNzIj5BY3RpdmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPlBlbmRpbmc8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRhbmdlciI+SW5hY3RpdmU8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciB1UWUsV1csYWNhLHJjYT1mKCgpPT57bGUoKTtlYSgpO3RjYSgpO1FlKCk7dVFlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxXVz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sYWNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1idXR0b24tZ3JvdXAiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0J1dHRvbkdyb3VwIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKCldLHVRZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJsYWJlbCJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmxhYmVsLCJnZXQiKSxzZXQ6cygodix4KT0+e3YubGFiZWw9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLHVRZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpcmVjdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iZGlyZWN0aW9uImluIHYsImhhcyIpLGdldDpzKHY9PnYuZGlyZWN0aW9uLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuZGlyZWN0aW9uPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSx1UWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1lY2E7c3RhdGljIGRlbW9Hcm91cHM9WyJCdXR0b24iXTsjZT1XVyh0aGlzLG4sIiIpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNlfXNldCBsYWJlbChtKXt0aGlzLiNlPW19I3Q9KFdXKHRoaXMsbCksV1codGhpcyxjLCJob3Jpem9udGFsIikpO2dldCBkaXJlY3Rpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgZGlyZWN0aW9uKG0pe3RoaXMuI3Q9bX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksV1codGhpcyxwKSx0ci5zZXR1cCgpfXN0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAuYnV0dG9uLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24tZ3JvdXAudmVydGljYWwgewogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICAgIH0KCiAgICAgIC5sYWJlbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjY2IiwiIzk5OSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuYnV0dG9uLWdyb3VwLnZlcnRpY2FsIC5sYWJlbCB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgOjpzbG90dGVkKCopIHsKICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCAke3RoaXMuZGlyZWN0aW9ufSI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPHNwYW4gY2xhc3M9ImxhYmVsIj4ke3RoaXMubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje1dXKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBzY2E9ZigoKT0+e3JjYSgpfSk7dmFyIGljYT1mKCgpPT57S2xhKCk7SmxhKCk7c2NhKCl9KTt2YXIgb2NhLG5jYT1mKCgpPT57bGUoKTtOYSgpO3BRZSgpO29jYT1zKCgpPT57bGV0IGE9e3N5c3RlbTp7bGFiZWw6IlN5c3RlbSBVc2FnZSAoJSkiLHNlcmllczpbe25hbWU6IkNQVSIsZGF0YTpbe3g6bmV3IERhdGUoRGF0ZS5ub3coKS0zZTUpLnRvSVNPU3RyaW5nKCkseToyNX0se3g6bmV3IERhdGUoRGF0ZS5ub3coKS0yNGU0KS50b0lTT1N0cmluZygpLHk6MzB9LHt4Om5ldyBEYXRlKERhdGUubm93KCktMThlNCkudG9JU09TdHJpbmcoKSx5OjI4fSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTEyZTQpLnRvSVNPU3RyaW5nKCkseTozNX0se3g6bmV3IERhdGUoRGF0ZS5ub3coKS02ZTQpLnRvSVNPU3RyaW5nKCkseTozMn0se3g6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLHk6Mzh9XX0se25hbWU6Ik1lbW9yeSIsZGF0YTpbe3g6bmV3IERhdGUoRGF0ZS5ub3coKS0zZTUpLnRvSVNPU3RyaW5nKCkseTo0NX0se3g6bmV3IERhdGUoRGF0ZS5ub3coKS0yNGU0KS50b0lTT1N0cmluZygpLHk6NDh9LHt4Om5ldyBEYXRlKERhdGUubm93KCktMThlNCkudG9JU09TdHJpbmcoKSx5OjQ2fSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTEyZTQpLnRvSVNPU3RyaW5nKCkseTo1Mn0se3g6bmV3IERhdGUoRGF0ZS5ub3coKS02ZTQpLnRvSVNPU3RyaW5nKCkseTo1MH0se3g6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLHk6NTV9XX1dfX0sZT17c3lzdGVtOnModD0+YCR7dH0lYCwic3lzdGVtIil9O3JldHVybiB3YAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2xldCByPXQucXVlcnlTZWxlY3RvcigiI21haW4tY2hhcnQiKSxpPXQucXVlcnlTZWxlY3RvcigiI2Nvbm5lY3Rpb25zLWNoYXJ0IiksbyxuLGw9InN5c3RlbSIsZD17c3lzdGVtOnMoQj0+YCR7Qn0lYCwic3lzdGVtIiksbmV0d29yazpzKEI9PmAke0J9IE1icHNgLCJuZXR3b3JrIiksc2FsZXM6cyhCPT5gJCR7Qi50b0xvY2FsZVN0cmluZygpfWAsInNhbGVzIil9LGM9MTIwKjFlMyxwPTFlMyx1PTVlMyxtPXtjcHU6MzAsbWVtb3J5OjUwLGRvd25sb2FkOjE1MCx1cGxvYWQ6MzAsY29ubmVjdGlvbnM6MTUwfSx2PXMoKEIsTSxTPXUpPT57bGV0IEU9W10sQT1EYXRlLm5vdygpLEY9TWF0aC5mbG9vcihjL1MpO2ZvcihsZXQgVz1GO1c+PTA7Vy0tKXtsZXQgaj1uZXcgRGF0ZShBLVcqUykudG9JU09TdHJpbmcoKSxHPUIrKE1hdGgucmFuZG9tKCktLjUpKk07RS5wdXNoKHt4OmoseTpNYXRoLnJvdW5kKEcpfSl9cmV0dXJuIEV9LCJnZW5lcmF0ZUluaXRpYWxEYXRhIikseD17c3lzdGVtOntsYWJlbDoiU3lzdGVtIFVzYWdlICglKSIsc2VyaWVzOlt7bmFtZToiQ1BVIixkYXRhOnYobS5jcHUsMTApfSx7bmFtZToiTWVtb3J5IixkYXRhOnYobS5tZW1vcnksOCl9XX0sbmV0d29yazp7bGFiZWw6Ik5ldHdvcmsgVHJhZmZpYyAoTWJwcykiLHNlcmllczpbe25hbWU6IkRvd25sb2FkIixkYXRhOnYobS5kb3dubG9hZCwzMCl9LHtuYW1lOiJVcGxvYWQiLGRhdGE6dihtLnVwbG9hZCwxMCl9XX0sc2FsZXM6e2xhYmVsOiJTYWxlcyBBbmFseXRpY3MiLHNlcmllczpbe25hbWU6IlJldmVudWUiLGRhdGE6W3t4OiIyMDI1LTAxLTAxIix5OjQ1ZTN9LHt4OiIyMDI1LTAxLTAyIix5OjUyZTN9LHt4OiIyMDI1LTAxLTAzIix5OjQ4ZTN9LHt4OiIyMDI1LTAxLTA0Iix5OjYxZTN9LHt4OiIyMDI1LTAxLTA1Iix5OjU4ZTN9LHt4OiIyMDI1LTAxLTA2Iix5OjY1ZTN9XX0se25hbWU6IlByb2ZpdCIsZGF0YTpbe3g6IjIwMjUtMDEtMDEiLHk6MTJlM30se3g6IjIwMjUtMDEtMDIiLHk6MTRlM30se3g6IjIwMjUtMDEtMDMiLHk6MTFlM30se3g6IjIwMjUtMDEtMDQiLHk6MThlM30se3g6IjIwMjUtMDEtMDUiLHk6MTZlM30se3g6IjIwMjUtMDEtMDYiLHk6MmU0fV19XX19LGI9cygoQixNLFMsRT01KT0+e2xldCBBPShNYXRoLnJhbmRvbSgpLS41KSpFKjIsRj1CK0Esaj0oKE0rUykvMi1GKSouMTtyZXR1cm4gRis9aixGPU1hdGgubWF4KE0sTWF0aC5taW4oUyxGKSksTWF0aC5yb3VuZChGKX0sImdldE5leHRWYWx1ZSIpLGc9RGF0ZS5ub3coKSx5PURhdGUubm93KCksaz1zKCgpPT57aWYoIXIpcmV0dXJuO2xldCBCPURhdGUubm93KCk7aWYoQi1nPj11KXtnPUI7bGV0IFM9bmV3IERhdGUoQikudG9JU09TdHJpbmcoKTtpZihsPT09InN5c3RlbSIpe20uY3B1PWIobS5jcHUsMjAsNTAsMyksbS5tZW1vcnk9YihtLm1lbW9yeSw0MCw3MCwyKTtsZXQgRT1yLmNoYXJ0U2VyaWVzLm1hcCgoQSxGKT0+KHtuYW1lOkEubmFtZSxkYXRhOlsuLi5BLmRhdGEsRj09PTA/e3g6Uyx5Om0uY3B1fTp7eDpTLHk6bS5tZW1vcnl9XX0pKTtyLnVwZGF0ZVNlcmllcyhFLCExKX1lbHNlIGlmKGw9PT0ibmV0d29yayIpe20uZG93bmxvYWQ9YihtLmRvd25sb2FkLDEwMCwyMDAsMTApLG0udXBsb2FkPWIobS51cGxvYWQsMjAsNTAsNSk7bGV0IEU9ci5jaGFydFNlcmllcy5tYXAoKEEsRik9Pih7bmFtZTpBLm5hbWUsZGF0YTpbLi4uQS5kYXRhLEY9PT0wP3t4OlMseTptLmRvd25sb2FkfTp7eDpTLHk6bS51cGxvYWR9XX0pKTtyLnVwZGF0ZVNlcmllcyhFLCExKX19fSwiYWRkUmVhbHRpbWVEYXRhIiksQz1zKCgpPT57aWYoIWkpcmV0dXJuO2xldCBCPURhdGUubm93KCksTT1uZXcgRGF0ZShCKS50b0lTT1N0cmluZygpLFM9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjIxKS0xMDttLmNvbm5lY3Rpb25zPU1hdGgubWF4KDUwLE1hdGgubWluKDMwMCxtLmNvbm5lY3Rpb25zK1MpKTtsZXQgRT1pLmNoYXJ0U2VyaWVzLEE9W3tuYW1lOkVbMF0/Lm5hbWV8fCJDb25uZWN0aW9ucyIsZGF0YTpbLi4uRVswXT8uZGF0YXx8W10se3g6TSx5Om0uY29ubmVjdGlvbnN9XX1dO2kudXBkYXRlU2VyaWVzKEEsITEpfSwidXBkYXRlQ29ubmVjdGlvbnMiKSxOPXMoQj0+e2w9QjtsZXQgTT14W0JdO3IubGFiZWw9TS5sYWJlbCxyLnNlcmllcz1NLnNlcmllcyxyLnlBeGlzRm9ybWF0dGVyPWRbQl0sQj09PSJzeXN0ZW0iPyhyLnlBeGlzU2NhbGluZz0icGVyY2VudGFnZSIsci55QXhpc01heD0xMDApOnIueUF4aXNTY2FsaW5nPSJkeW5hbWljIixnPURhdGUubm93KCktdX0sInN3aXRjaERhdGFzZXQiKSxfPXMoKCk9PnshbyYmKGw9PT0ic3lzdGVtInx8bD09PSJuZXR3b3JrIikmJihyLnJlYWx0aW1lTW9kZT0hMCxvPXdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+aygpLHUpKSxufHwoaS5yZWFsdGltZU1vZGU9ITAsbj13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9PkMoKSxwKSl9LCJzdGFydFJlYWx0aW1lIiksej1zKCgpPT57byYmKHdpbmRvdy5jbGVhckludGVydmFsKG8pLG89bnVsbCxyLnJlYWx0aW1lTW9kZT0hMSksbiYmKHdpbmRvdy5jbGVhckludGVydmFsKG4pLG49bnVsbCxpLnJlYWx0aW1lTW9kZT0hMSl9LCJzdG9wUmVhbHRpbWUiKSxPPXMoKCk9PntsPT09InN5c3RlbSI/KG0uY3B1PU1hdGgucmFuZG9tKCk+LjU/ODU6MjUsbS5tZW1vcnk9TWF0aC5yYW5kb20oKT4uNT84MDo0NSk6bD09PSJuZXR3b3JrIiYmKG0uZG93bmxvYWQ9TWF0aC5yYW5kb20oKT4uNT8yNTA6MTAwLG0udXBsb2FkPU1hdGgucmFuZG9tKCk+LjU/ODA6MjApLG0uY29ubmVjdGlvbnM9TWF0aC5yYW5kb20oKT4uNT8yODA6ODAsZz0wLHk9MH0sInJhbmRvbWl6ZURhdGEiKSxUPXMoKCk9Pnt0LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaChNPT57bGV0IFM9TS50ZXh0Py50cmltKCk7Uz09PSJTeXN0ZW0gVXNhZ2UiP00udHlwZT1sPT09InN5c3RlbSI/ImhpZ2hsaWdodGVkIjoibm9ybWFsIjpTPT09Ik5ldHdvcmsgVHJhZmZpYyI/TS50eXBlPWw9PT0ibmV0d29yayI/ImhpZ2hsaWdodGVkIjoibm9ybWFsIjpTPT09IlNhbGVzIERhdGEiJiYoTS50eXBlPWw9PT0ic2FsZXMiPyJoaWdobGlnaHRlZCI6Im5vcm1hbCIpfSl9LCJ1cGRhdGVCdXR0b25TdGF0ZXMiKTtpZih0LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaChCPT57bGV0IE09Qi50ZXh0Py50cmltKCk7TT09PSJTeXN0ZW0gVXNhZ2UiP0IuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57Tigic3lzdGVtIiksVCgpfSk6TT09PSJOZXR3b3JrIFRyYWZmaWMiP0IuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57TigibmV0d29yayIpLFQoKX0pOk09PT0iU2FsZXMgRGF0YSI/Qi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntOKCJzYWxlcyIpLFQoKX0pOk09PT0iU3RhcnQgTGl2ZSI/Qi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pl8oKSk6TT09PSJTdG9wIExpdmUiP0IuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT56KCkpOk09PT0iU3Bpa2UgVmFsdWVzIiYmQi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pk8oKSl9KSxyLnJvbGxpbmdXaW5kb3c9YyxyLnJlYWx0aW1lTW9kZT0hMSxyLnlBeGlzU2NhbGluZz0icGVyY2VudGFnZSIsci55QXhpc01heD0xMDAsci5hdXRvU2Nyb2xsSW50ZXJ2YWw9MWUzLHNldFRpbWVvdXQoKCk9PntyLnVwZGF0ZVRpbWVXaW5kb3coKX0sMTAwKSxpKXtsZXQgQj12KG0uY29ubmVjdGlvbnMsMzAscCk7aS5zZXJpZXM9W3tuYW1lOiJDb25uZWN0aW9ucyIsZGF0YTpCfV0saS5yb2xsaW5nV2luZG93PWMsaS5yZWFsdGltZU1vZGU9ITEsaS55QXhpc1NjYWxpbmc9ImZpeGVkIixpLnlBeGlzTWF4PTM1MCxpLmF1dG9TY3JvbGxJbnRlcnZhbD0xZTMsc2V0VGltZW91dCgoKT0+e2kudXBkYXRlVGltZVdpbmRvdygpfSwxMDApfX19PgogICAgICA8c3R5bGU+CiAgICAgICAgJHtYYAogICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udHJvbHMgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNoYXJ0LWNvbnRhaW5lciB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgbWluLWhlaWdodDogNDAwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5pbmZvIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vQm94Ij4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iRGF0YXNldDoiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIj5TeXN0ZW0gVXNhZ2U8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPk5ldHdvcmsgVHJhZmZpYzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U2FsZXMgRGF0YTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IlJlYWwtdGltZToiPgogICAgICAgICAgPGRlZXMtYnV0dG9uPlN0YXJ0IExpdmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPlN0b3AgTGl2ZTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkFjdGlvbnM6Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TcGlrZSBWYWx1ZXM8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIj4KICAgICAgICA8ZGVlcy1jaGFydC1hcmVhCiAgICAgICAgICBpZD0ibWFpbi1jaGFydCIKICAgICAgICAgIC5sYWJlbD0ke2Euc3lzdGVtLmxhYmVsfQogICAgICAgICAgLnNlcmllcz0ke2Euc3lzdGVtLnNlcmllc30KICAgICAgICAgIC55QXhpc0Zvcm1hdHRlcj0ke2Uuc3lzdGVtfQogICAgICAgID48L2RlZXMtY2hhcnQtYXJlYT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiIHN0eWxlPSJtYXJnaW4tdG9wOiAyMHB4OyI+CiAgICAgICAgPGRlZXMtY2hhcnQtYXJlYQogICAgICAgICAgaWQ9ImNvbm5lY3Rpb25zLWNoYXJ0IgogICAgICAgICAgLmxhYmVsPSR7IkFjdGl2ZSBDb25uZWN0aW9ucyJ9CiAgICAgICAgICAuc2VyaWVzPSR7W3tuYW1lOiJDb25uZWN0aW9ucyIsZGF0YTpbXX1dfQogICAgICAgICAgLnlBeGlzRm9ybWF0dGVyPSR7dD0+YCR7dH1gfQogICAgICAgID48L2RlZXMtY2hhcnQtYXJlYT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJpbmZvIj4KICAgICAgICBSZWFsLXRpbWUgbW9uaXRvcmluZyB3aXRoIDItbWludXRlIHJvbGxpbmcgd2luZG93IOKAoiAKICAgICAgICBVcGRhdGVzIGV2ZXJ5IHNlY29uZCB3aXRoIHNtb290aCB2YWx1ZSB0cmFuc2l0aW9ucyDigKIgCiAgICAgICAgQ2xpY2sgJ1NwaWtlIFZhbHVlcycgdG8gc2ltdWxhdGUgbG9hZCBzcGlrZXMKICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfSwiZGVtb0Z1bmMiKX0pO3ZhciBsY2EsY2NhPWYoKCk9PntsZSgpO1FlKCk7bGNhPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogNDAwcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgICAgZGVlcy10aWxlIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgLmNoYXJ0SGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDAgOHB4IDAgMTZweDsKICAgICAgfQogICAgICAuY2hhcnRMYWJlbCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KICAgICAgLmV4cGFuZEJ0biB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAyOHB4OwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CiAgICAgIC5leHBhbmRCdG46aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgfQogICAgICAuY2hhcnRDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBpbnNldDogMCAwIDRweCAwOwogICAgICB9CiAgICAgIC5zdGF0c0JhciB7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KICAgICAgLnN0YXRzU2VyaWVzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KICAgICAgLnN0YXRzU2VyaWVzICsgLnN0YXRzU2VyaWVzIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgfQogICAgICAuc3RhdHNDb2xvciB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KICAgICAgLnN0YXRzTmFtZSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIG1hcmdpbi1yaWdodDogNHB4OwogICAgICB9CiAgICAgIC5zdGF0c0l0ZW0gewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQogICAgICAuc3RhdHNJdGVtIHN0cm9uZyB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQogICAgICAubHctdG9vbHRpcCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHotaW5kZXg6IDEwMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZDsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpOwogICAgICAgIG1pbi13aWR0aDogMTQwcHg7CiAgICAgIH0KICAgIGBdfSk7dmFyIGRjYSx1Y2E9ZigoKT0+e2xlKCk7dmEoKTtkY2E9cyhhPT53YAogICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNoYXJ0SGVhZGVyIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNoYXJ0TGFiZWwiPiR7YS5sYWJlbH08L3NwYW4+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImV4cGFuZEJ0biIgQGNsaWNrPSR7KCk9PmEudG9nZ2xlRnVsbFBhZ2UoKX0gdGl0bGU9IiR7YS5pc0Z1bGxQYWdlPyJFeGl0IGZ1bGwgcGFnZSI6IkZ1bGwgcGFnZSJ9Ij4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7YS5pc0Z1bGxQYWdlPyJsdWNpZGU6TWluaW1pemUyIjoibHVjaWRlOk1heGltaXplMiJ9IC5pY29uU2l6ZT0kezE0fT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0Q29udGFpbmVyIj48L2Rpdj4KICAgICAgICAgICR7YS5zZXJpZXNTdGF0cy5sZW5ndGg+MD93YAogICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InN0YXRzQmFyIj4KICAgICAgICAgICAgICAke2Euc2VyaWVzU3RhdHMubWFwKGU9PndgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0c1NlcmllcyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0c0NvbG9yIiBzdHlsZT0iYmFja2dyb3VuZDoke2UuY29sb3J9Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0c05hbWUiPiR7ZS5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXRzSXRlbSI+bGF0ZXN0IDxzdHJvbmc+JHthLnlBeGlzRm9ybWF0dGVyKGUubGF0ZXN0KX08L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0c0l0ZW0iPm1pbiA8c3Ryb25nPiR7YS55QXhpc0Zvcm1hdHRlcihlLm1pbil9PC9zdHJvbmc+PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHNJdGVtIj5tYXggPHN0cm9uZz4ke2EueUF4aXNGb3JtYXR0ZXIoZS5tYXgpfTwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXRzSXRlbSI+YXZnIDxzdHJvbmc+JHthLnlBeGlzRm9ybWF0dGVyKGUuYXZnKX08L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGVlcy10aWxlPgogICAgICBgLCJyZW5kZXJDaGFydEFyZWEiKX0pO3ZhciBqbix6cixwY2EscFFlPWYoKCk9PntsZSgpO2VhKCk7bmNhKCk7Y2NhKCk7dWNhKCk7U2MoKTtRcigpO2puPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx6cj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0scGNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1jaGFydC1hcmVhIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdO3ZhciBtZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0NoYXJ0QXJlYSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBJPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVtLKCldLHg9WyQoKV0seT1bJCh7dHlwZTpBcnJheX0pXSxOPVskKHthdHRyaWJ1dGU6ITF9KV0sTz1bJCh7dHlwZTpOdW1iZXJ9KV0sQj1bJCh7dHlwZTpCb29sZWFufSldLEU9WyQoe3R5cGU6U3RyaW5nfSldLFc9WyQoe3R5cGU6TnVtYmVyfSldLGhlPVskKHt0eXBlOk51bWJlcn0pXSxqbih0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNoYXJ0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJjaGFydCJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmNoYXJ0LCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmNoYXJ0PWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LG4sbCksam4odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXJpZXNTdGF0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ic2VyaWVzU3RhdHMiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5zZXJpZXNTdGF0cywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5zZXJpZXNTdGF0cz1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxjLHApLGpuKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNGdWxsUGFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4iaXNGdWxsUGFnZSJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmlzRnVsbFBhZ2UsImdldCIpLHNldDpzKChxLGNlKT0+e3EuaXNGdWxsUGFnZT1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxtLHYpLGpuKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImxhYmVsImluIHEsImhhcyIpLGdldDpzKHE9PnEubGFiZWwsImdldCIpLHNldDpzKChxLGNlKT0+e3EubGFiZWw9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sYixnKSxqbih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcmllcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ic2VyaWVzImluIHEsImhhcyIpLGdldDpzKHE9PnEuc2VyaWVzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnNlcmllcz1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxrLEMpLGpuKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToieUF4aXNGb3JtYXR0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InlBeGlzRm9ybWF0dGVyImluIHEsImhhcyIpLGdldDpzKHE9PnEueUF4aXNGb3JtYXR0ZXIsImdldCIpLHNldDpzKChxLGNlKT0+e3EueUF4aXNGb3JtYXR0ZXI9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sXyx6KSxqbih0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJvbGxpbmdXaW5kb3ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InJvbGxpbmdXaW5kb3ciaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5yb2xsaW5nV2luZG93LCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnJvbGxpbmdXaW5kb3c9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sVCxQKSxqbih0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlYWx0aW1lTW9kZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4icmVhbHRpbWVNb2RlImluIHEsImhhcyIpLGdldDpzKHE9PnEucmVhbHRpbWVNb2RlLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnJlYWx0aW1lTW9kZT1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxNLFMpLGpuKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToieUF4aXNTY2FsaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJ5QXhpc1NjYWxpbmciaW4gcSwiaGFzIiksZ2V0OnMocT0+cS55QXhpc1NjYWxpbmcsImdldCIpLHNldDpzKChxLGNlKT0+e3EueUF4aXNTY2FsaW5nPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LEEsRiksam4odGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ5QXhpc01heCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ieUF4aXNNYXgiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS55QXhpc01heCwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS55QXhpc01heD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxqLEcpLGpuKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9TY3JvbGxJbnRlcnZhbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4iYXV0b1Njcm9sbEludGVydmFsImluIHEsImhhcyIpLGdldDpzKHE9PnEuYXV0b1Njcm9sbEludGVydmFsLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmF1dG9TY3JvbGxJbnRlcnZhbD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxSLFUpLGpuKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkl9LG51bGwsdCksbWU9cj1lLnZhbHVlLEkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6SX0pfXN0YXRpYyBkZW1vPW9jYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNoYXJ0Il07I2U9enIodGhpcyxuLG51bGwpO2dldCBjaGFydCgpe3JldHVybiB0aGlzLiNlfXNldCBjaGFydChJKXt0aGlzLiNlPUl9I3Q9KHpyKHRoaXMsbCksenIodGhpcyxjLFtdKSk7Z2V0IHNlcmllc1N0YXRzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlcmllc1N0YXRzKEkpe3RoaXMuI3Q9SX0jYT0oenIodGhpcyxwKSx6cih0aGlzLG0sITEpKTtnZXQgaXNGdWxsUGFnZSgpe3JldHVybiB0aGlzLiNhfXNldCBpc0Z1bGxQYWdlKEkpe3RoaXMuI2E9SX0jcj0oenIodGhpcyx2KSx6cih0aGlzLGIsIlVudGl0bGVkIENoYXJ0IikpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNyfXNldCBsYWJlbChJKXt0aGlzLiNyPUl9I3M9KHpyKHRoaXMsZyksenIodGhpcyxrLFtdKSk7Z2V0IHNlcmllcygpe3JldHVybiB0aGlzLiNzfXNldCBzZXJpZXMoSSl7dGhpcy4jcz1JfWdldCBjaGFydFNlcmllcygpe3JldHVybiB0aGlzLmludGVybmFsQ2hhcnREYXRhLmxlbmd0aD4wP3RoaXMuaW50ZXJuYWxDaGFydERhdGE6dGhpcy5zZXJpZXN9I2k9KHpyKHRoaXMsQyksenIodGhpcyxfLEk9PmAke0l9IE1icHNgKSk7Z2V0IHlBeGlzRm9ybWF0dGVyKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHlBeGlzRm9ybWF0dGVyKEkpe3RoaXMuI2k9SX0jbz0oenIodGhpcyx6KSx6cih0aGlzLFQsMCkpO2dldCByb2xsaW5nV2luZG93KCl7cmV0dXJuIHRoaXMuI299c2V0IHJvbGxpbmdXaW5kb3coSSl7dGhpcy4jbz1JfSNuPSh6cih0aGlzLFApLHpyKHRoaXMsTSwhMSkpO2dldCByZWFsdGltZU1vZGUoKXtyZXR1cm4gdGhpcy4jbn1zZXQgcmVhbHRpbWVNb2RlKEkpe3RoaXMuI249SX0jbD0oenIodGhpcyxTKSx6cih0aGlzLEEsImR5bmFtaWMiKSk7Z2V0IHlBeGlzU2NhbGluZygpe3JldHVybiB0aGlzLiNsfXNldCB5QXhpc1NjYWxpbmcoSSl7dGhpcy4jbD1JfSNjPSh6cih0aGlzLEYpLHpyKHRoaXMsaiwxMDApKTtnZXQgeUF4aXNNYXgoKXtyZXR1cm4gdGhpcy4jY31zZXQgeUF4aXNNYXgoSSl7dGhpcy4jYz1JfSNkPSh6cih0aGlzLEcpLHpyKHRoaXMsUiwxZTMpKTtnZXQgYXV0b1Njcm9sbEludGVydmFsKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGF1dG9TY3JvbGxJbnRlcnZhbChJKXt0aGlzLiNkPUl9aW50ZXJuYWxDaGFydERhdGE9KHpyKHRoaXMsVSksW10pO2F1dG9TY3JvbGxUaW1lcj1udWxsO2xjQnVuZGxlPW51bGw7c2VyaWVzQXBpcz1uZXcgTWFwO3ByaWNlTGluZXM9bmV3IE1hcDt0b29sdGlwRWw9bnVsbDtDSEFSVF9DT0xPUlM9e2Rhcms6WyJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDE3My40IDgwLjQlIDQwJSkiLCJoc2woMjgwLjMgODcuNCUgNjYuNyUpIiwiaHNsKDI0LjYgOTUlIDUzLjElKSJdLGxpZ2h0OlsiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMjgwLjMgNDcuNyUgNTAuMiUpIiwiaHNsKDIwLjUgOTAuMiUgNDguMiUpIl19O2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0ci5zZXR1cCgpLHRoaXMucmVnaXN0ZXJHYXJiYWdlRnVuY3Rpb24oYXN5bmMoKT0+e2lmKHRoaXMuc3RvcEF1dG9TY3JvbGwoKSx0aGlzLmNoYXJ0KXRyeXt0aGlzLmNoYXJ0LnJlbW92ZSgpLHRoaXMuY2hhcnQ9bnVsbCx0aGlzLnNlcmllc0FwaXMuY2xlYXIoKSx0aGlzLnByaWNlTGluZXMuY2xlYXIoKX1jYXRjaChJKXtjb25zb2xlLmVycm9yKCJFcnJvciBkZXN0cm95aW5nIGNoYXJ0OiIsSSl9fSl9c3RhdGljIHN0eWxlcz1sY2E7cmVuZGVyKCl7cmV0dXJuIGRjYSh0aGlzKX1jb252ZXJ0RGF0YVRvTEMoSSl7cmV0dXJuIEkubWFwKHE9PntsZXQgY2U9dHlwZW9mIHEueD09Im51bWJlciI/cS54Om5ldyBEYXRlKHEueCkuZ2V0VGltZSgpO3JldHVybnt0aW1lOk1hdGguZmxvb3IoY2UvMWUzKSx2YWx1ZTpxLnl9fSkuc29ydCgocSxjZSk9PnEudGltZS1jZS50aW1lKX1oc2xUb1JnYmEoSSxxKXtsZXQgY2U9SS5tYXRjaCgvaHNsXCgoW14pXSspXCkvKTtpZighY2UpcmV0dXJuIEk7bGV0IHVlPWNlWzFdLnRyaW0oKS5zcGxpdCgvXHMrLyk7aWYodWUubGVuZ3RoPDMpcmV0dXJuIEk7bGV0IFk9cGFyc2VGbG9hdCh1ZVswXSkvMzYwLFE9cGFyc2VGbG9hdCh1ZVsxXSkvMTAwLEo9cGFyc2VGbG9hdCh1ZVsyXSkvMTAwLFosZ2UsYWU7aWYoUT09PTApWj1nZT1hZT1KO2Vsc2V7bGV0IHJlPXMoKEgsb2Usc2UpPT4oc2U8MCYmKHNlKz0xKSxzZT4xJiYoc2UtPTEpLHNlPC4xNjY2NjY2NjY2NjY2NjY2Nj9IKyhvZS1IKSo2KnNlOnNlPC41P29lOnNlPC42NjY2NjY2NjY2NjY2NjY2P0grKG9lLUgpKiguNjY2NjY2NjY2NjY2NjY2Ni1zZSkqNjpIKSwiaHVlMnJnYiIpLHllPUo8LjU/SiooMStRKTpKK1EtSipRLFY9MipKLXllO1o9cmUoVix5ZSxZKzEvMyksZ2U9cmUoVix5ZSxZKSxhZT1yZShWLHllLFktMS8zKX1yZXR1cm5gcmdiYSgke01hdGgucm91bmQoWioyNTUpfSwgJHtNYXRoLnJvdW5kKGdlKjI1NSl9LCAke01hdGgucm91bmQoYWUqMjU1KX0sICR7cX0pYH1nZXRTZXJpZXNDb2xvcnMoSSl7cmV0dXJuIEk/dGhpcy5DSEFSVF9DT0xPUlMuZGFyazp0aGlzLkNIQVJUX0NPTE9SUy5saWdodH1hcHBseVRoZW1lKCl7aWYoIXRoaXMuY2hhcnR8fCF0aGlzLmxjQnVuZGxlKXJldHVybjtsZXQgST0hdGhpcy5nb0JyaWdodCxxPXRoaXMuZ2V0U2VyaWVzQ29sb3JzKEkpO3RoaXMuY2hhcnQuYXBwbHlPcHRpb25zKHtsYXlvdXQ6e2JhY2tncm91bmQ6e3R5cGU6dGhpcy5sY0J1bmRsZS5Db2xvclR5cGUuU29saWQsY29sb3I6InRyYW5zcGFyZW50In0sdGV4dENvbG9yOkk/ImhzbCgwIDAlIDYzLjklKSI6ImhzbCgwIDAlIDIwJSkiLGF0dHJpYnV0aW9uTG9nbzohMX0sZ3JpZDp7dmVydExpbmVzOntjb2xvcjpJPyJoc2woMCAwJSA4LjUlKSI6ImhzbCgwIDAlIDk1LjUlKSJ9LGhvcnpMaW5lczp7Y29sb3I6ST8iaHNsKDAgMCUgOC41JSkiOiJoc2woMCAwJSA5NS41JSkifX19KTtsZXQgY2U9MDtmb3IobGV0Wyx1ZV1vZiB0aGlzLnNlcmllc0FwaXMpe2xldCBZPXFbY2UlcS5sZW5ndGhdO3VlLmFwcGx5T3B0aW9ucyh7dG9wQ29sb3I6dGhpcy5oc2xUb1JnYmEoWSxJPy40Oi41KSxib3R0b21Db2xvcjp0aGlzLmhzbFRvUmdiYShZLDApLGxpbmVDb2xvcjpZfSksY2UrK319cmVjcmVhdGVTZXJpZXMoSSl7aWYoIXRoaXMuY2hhcnR8fCF0aGlzLmxjQnVuZGxlKXJldHVybjtsZXQgcT0hdGhpcy5nb0JyaWdodCxjZT10aGlzLmdldFNlcmllc0NvbG9ycyhxKTtmb3IobGV0Wyx1ZV1vZiB0aGlzLnNlcmllc0FwaXMpdGhpcy5jaGFydC5yZW1vdmVTZXJpZXModWUpO3RoaXMuc2VyaWVzQXBpcy5jbGVhcigpLHRoaXMucHJpY2VMaW5lcy5jbGVhcigpLEkuZm9yRWFjaCgodWUsWSk9PntsZXQgUT1jZVtZJWNlLmxlbmd0aF0sSj10aGlzLmNoYXJ0LmFkZFNlcmllcyh0aGlzLmxjQnVuZGxlLkFyZWFTZXJpZXMse3RvcENvbG9yOnRoaXMuaHNsVG9SZ2JhKFEscT8uNDouNSksYm90dG9tQ29sb3I6dGhpcy5oc2xUb1JnYmEoUSwwKSxsaW5lQ29sb3I6USxsaW5lV2lkdGg6MixsaW5lVHlwZTp0aGlzLmxjQnVuZGxlLkxpbmVUeXBlLkN1cnZlZCxsYXN0VmFsdWVWaXNpYmxlOiExLHByaWNlTGluZVZpc2libGU6ITEsY3Jvc3NoYWlyTWFya2VyVmlzaWJsZTohMCxjcm9zc2hhaXJNYXJrZXJSYWRpdXM6NH0pO0ouc2V0RGF0YSh0aGlzLmNvbnZlcnREYXRhVG9MQyh1ZS5kYXRhKSksdGhpcy51cGRhdGVQcmljZUxpbmVzKHVlLm5hbWV8fGBzZXJpZXMtJHtZfWAsSix1ZS5kYXRhLFEpLHRoaXMueUF4aXNTY2FsaW5nIT09ImR5bmFtaWMiJiZKLmFwcGx5T3B0aW9ucyh7YXV0b3NjYWxlSW5mb1Byb3ZpZGVyOnMoKCk9Pih7cHJpY2VSYW5nZTp7bWluVmFsdWU6MCxtYXhWYWx1ZTp0aGlzLnlBeGlzTWF4fX0pLCJhdXRvc2NhbGVJbmZvUHJvdmlkZXIiKX0pLHRoaXMuc2VyaWVzQXBpcy5zZXQodWUubmFtZXx8YHNlcmllcy0ke1l9YCxKKX0pLHRoaXMuY29tcHV0ZVN0YXRzKEkpfWNvbXB1dGVTdGF0cyhJKXtsZXQgcT0hdGhpcy5nb0JyaWdodCxjZT10aGlzLmdldFNlcmllc0NvbG9ycyhxKTt0aGlzLnNlcmllc1N0YXRzPUkubWFwKCh1ZSxZKT0+e2xldCBRPXVlLmRhdGEubWFwKHJlPT5yZS55KTtpZihRLmxlbmd0aD09PTApcmV0dXJue25hbWU6dWUubmFtZXx8YHNlcmllcy0ke1l9YCxsYXRlc3Q6MCxtaW46MCxtYXg6MCxhdmc6MCxjb2xvcjpjZVtZJWNlLmxlbmd0aF19O2xldCBKPVFbUS5sZW5ndGgtMV0sWj1NYXRoLm1pbiguLi5RKSxnZT1NYXRoLm1heCguLi5RKSxhZT1NYXRoLnJvdW5kKFEucmVkdWNlKChyZSx5ZSk9PnJlK3llLDApL1EubGVuZ3RoKjEwMCkvMTAwO3JldHVybntuYW1lOnVlLm5hbWV8fGBzZXJpZXMtJHtZfWAsbGF0ZXN0OkosbWluOlosbWF4OmdlLGF2ZzphZSxjb2xvcjpjZVtZJWNlLmxlbmd0aF19fSl9dXBkYXRlUHJpY2VMaW5lcyhJLHEsY2UsdWUpe2xldCBZPXRoaXMucHJpY2VMaW5lcy5nZXQoSSk7aWYoWSlmb3IobGV0IGFlIG9mIFkpcS5yZW1vdmVQcmljZUxpbmUoYWUpO2lmKGNlLmxlbmd0aD09PTApe3RoaXMucHJpY2VMaW5lcy5zZXQoSSxbXSk7cmV0dXJufWxldCBRPWNlLm1hcChhZT0+YWUueSksSj1RLnJlZHVjZSgoYWUscmUpPT5hZStyZSwwKS9RLmxlbmd0aCxaPU1hdGgubWF4KC4uLlEpLGdlPVtdO2dlLnB1c2gocS5jcmVhdGVQcmljZUxpbmUoe3ByaWNlOk1hdGgucm91bmQoSioxMDApLzEwMCxjb2xvcjp0aGlzLmhzbFRvUmdiYSh1ZSwuNSksbGluZVdpZHRoOjEsbGluZVN0eWxlOjIsYXhpc0xhYmVsVmlzaWJsZTohMCx0aXRsZToiYXZnIn0pKSxKPjAmJihaLUopL0o+LjEmJmdlLnB1c2gocS5jcmVhdGVQcmljZUxpbmUoe3ByaWNlOlosY29sb3I6dGhpcy5oc2xUb1JnYmEodWUsLjgpLGxpbmVXaWR0aDoxLGxpbmVTdHlsZToxLGF4aXNMYWJlbFZpc2libGU6ITAsdGl0bGU6Im1heCJ9KSksdGhpcy5wcmljZUxpbmVzLnNldChJLGdlKX1zZXR1cFRvb2x0aXAoKXt0aGlzLmNoYXJ0JiYodGhpcy50b29sdGlwRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy50b29sdGlwRWwuY2xhc3NOYW1lPSJsdy10b29sdGlwIix0aGlzLnRvb2x0aXBFbC5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNoYXJ0Q29udGFpbmVyIik/LmFwcGVuZENoaWxkKHRoaXMudG9vbHRpcEVsKSx0aGlzLmNoYXJ0LnN1YnNjcmliZUNyb3NzaGFpck1vdmUoST0+e2lmKCF0aGlzLnRvb2x0aXBFbClyZXR1cm47aWYoIUkucG9pbnR8fCFJLnRpbWV8fEkucG9pbnQueDwwfHxJLnBvaW50Lnk8MCl7dGhpcy50b29sdGlwRWwuc3R5bGUuZGlzcGxheT0ibm9uZSI7cmV0dXJufWxldCBxPSF0aGlzLmdvQnJpZ2h0LGNlPXE/ImhzbCgwIDAlIDklKSI6ImhzbCgwIDAlIDEwMCUpIix1ZT1xPyJoc2woMCAwJSA5NSUpIjoiaHNsKDAgMCUgOSUpIixZPXE/ImhzbCgwIDAlIDE0LjklKSI6ImhzbCgwIDAlIDg5LjglKSIsUT10aGlzLmdldFNlcmllc0NvbG9ycyhxKSxKPSIiLFo9MCxnZT0hMTtmb3IobGV0W3llLFZdb2YgdGhpcy5zZXJpZXNBcGlzKXtsZXQgSD1JLnNlcmllc0RhdGEuZ2V0KFYpO2lmKEgmJiJ2YWx1ZSJpbiBIJiZILnZhbHVlIT09dm9pZCAwKXtnZT0hMDtsZXQgb2U9UVtaJVEubGVuZ3RoXSxzZT10aGlzLnlBeGlzRm9ybWF0dGVyKEgudmFsdWUpO0orPWA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7bWFyZ2luOiR7Wj4wPyI2cHgiOiIwIn0gMDsiPgogICAgICAgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtiYWNrZ3JvdW5kOiR7b2V9O2JvcmRlci1yYWRpdXM6MnB4OyI+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6NTAwOyI+JHt5ZX06PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBzdHlsZT0ibWFyZ2luLWxlZnQ6YXV0bztmb250LXdlaWdodDo2MDA7Ij4ke3NlfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PmB9WisrfWlmKCFnZSl7dGhpcy50b29sdGlwRWwuc3R5bGUuZGlzcGxheT0ibm9uZSI7cmV0dXJufXRoaXMudG9vbHRpcEVsLmlubmVySFRNTD1KLE9iamVjdC5hc3NpZ24odGhpcy50b29sdGlwRWwuc3R5bGUse2Rpc3BsYXk6ImJsb2NrIixiYWNrZ3JvdW5kOmNlLGNvbG9yOnVlLGJvcmRlckNvbG9yOll9KTtsZXQgYWU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jaGFydENvbnRhaW5lciIpLmNsaWVudFdpZHRoLHJlPUkucG9pbnQueCsxNjtyZSsyMDA+YWUmJihyZT1JLnBvaW50LngtMjE2KSx0aGlzLnRvb2x0aXBFbC5zdHlsZS5sZWZ0PWAke3JlfXB4YCx0aGlzLnRvb2x0aXBFbC5zdHlsZS50b3A9YCR7SS5wb2ludC55LTE2fXB4YH0pKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXthd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSx0aGlzLmxjQnVuZGxlPWF3YWl0IE9zLmdldEluc3RhbmNlKCkubG9hZExpZ2h0d2VpZ2h0Q2hhcnRzKCksYXdhaXQgbmV3IFByb21pc2UoY2U9PnJlcXVlc3RBbmltYXRpb25GcmFtZShjZSkpO2xldCBJPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY2hhcnRDb250YWluZXIiKTtpZighSSlyZXR1cm47bGV0IHE9IXRoaXMuZ29CcmlnaHQ7dHJ5e3RoaXMuY2hhcnQ9dGhpcy5sY0J1bmRsZS5jcmVhdGVDaGFydChJLHthdXRvU2l6ZTohMCxsYXlvdXQ6e2JhY2tncm91bmQ6e3R5cGU6dGhpcy5sY0J1bmRsZS5Db2xvclR5cGUuU29saWQsY29sb3I6InRyYW5zcGFyZW50In0sdGV4dENvbG9yOnE/ImhzbCgwIDAlIDYzLjklKSI6ImhzbCgwIDAlIDIwJSkiLGZvbnRGYW1pbHk6Jy1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgc2Fucy1zZXJpZicsZm9udFNpemU6MTIsYXR0cmlidXRpb25Mb2dvOiExfSxncmlkOnt2ZXJ0TGluZXM6e2NvbG9yOnE/ImhzbCgwIDAlIDguNSUpIjoiaHNsKDAgMCUgOTUuNSUpIn0saG9yekxpbmVzOntjb2xvcjpxPyJoc2woMCAwJSA4LjUlKSI6ImhzbCgwIDAlIDk1LjUlKSJ9fSxyaWdodFByaWNlU2NhbGU6e2JvcmRlclZpc2libGU6ITEsc2NhbGVNYXJnaW5zOnt0b3A6LjEsYm90dG9tOi4xfX0sdGltZVNjYWxlOntib3JkZXJWaXNpYmxlOiExLHRpbWVWaXNpYmxlOiEwLHNlY29uZHNWaXNpYmxlOiEwfSxjcm9zc2hhaXI6e21vZGU6dGhpcy5sY0J1bmRsZS5Dcm9zc2hhaXJNb2RlLk1hZ25ldH0saGFuZGxlU2Nyb2xsOiExLGhhbmRsZVNjYWxlOiExfSk7bGV0IGNlPXRoaXMuc2VyaWVzLmxlbmd0aD4wP3RoaXMuc2VyaWVzOlt7bmFtZToiY3B1IixkYXRhOlt7eDoiMjAyNS0wMS0xNVQwMzowMDowMCIseToyNX0se3g6IjIwMjUtMDEtMTVUMDc6MDA6MDAiLHk6MzB9LHt4OiIyMDI1LTAxLTE1VDExOjAwOjAwIix5OjIwfSx7eDoiMjAyNS0wMS0xNVQxNTowMDowMCIseTozNX0se3g6IjIwMjUtMDEtMTVUMTk6MDA6MDAiLHk6MjV9XX0se25hbWU6Im1lbW9yeSIsZGF0YTpbe3g6IjIwMjUtMDEtMTVUMDM6MDA6MDAiLHk6MTB9LHt4OiIyMDI1LTAxLTE1VDA3OjAwOjAwIix5OjEyfSx7eDoiMjAyNS0wMS0xNVQxMTowMDowMCIseToxMH0se3g6IjIwMjUtMDEtMTVUMTU6MDA6MDAiLHk6MzB9LHt4OiIyMDI1LTAxLTE1VDE5OjAwOjAwIix5OjQwfV19XTt0aGlzLmludGVybmFsQ2hhcnREYXRhPWNlLHRoaXMucmVjcmVhdGVTZXJpZXMoY2UpLHRoaXMuc2V0dXBUb29sdGlwKCl9Y2F0Y2goY2Upe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBpbml0aWFsaXplIGNoYXJ0OiIsY2UpfX1hc3luYyB1cGRhdGVkKEkpe2lmKHN1cGVyLnVwZGF0ZWQoSSksSS5oYXMoImdvQnJpZ2h0IikmJnRoaXMuY2hhcnQmJnRoaXMuYXBwbHlUaGVtZSgpLEkuaGFzKCJzZXJpZXMiKSYmdGhpcy5jaGFydCYmdGhpcy5zZXJpZXMubGVuZ3RoPjAmJmF3YWl0IHRoaXMudXBkYXRlU2VyaWVzKHRoaXMuc2VyaWVzKSxJLmhhcygieUF4aXNGb3JtYXR0ZXIiKSYmdGhpcy5jaGFydCxJLmhhcygicmVhbHRpbWVNb2RlIikmJnRoaXMuY2hhcnQmJih0aGlzLnJlYWx0aW1lTW9kZSYmdGhpcy5yb2xsaW5nV2luZG93PjAmJnRoaXMuYXV0b1Njcm9sbEludGVydmFsPjA/dGhpcy5zdGFydEF1dG9TY3JvbGwoKTp0aGlzLnN0b3BBdXRvU2Nyb2xsKCkpLEkuaGFzKCJhdXRvU2Nyb2xsSW50ZXJ2YWwiKSYmdGhpcy5jaGFydCYmKHRoaXMuc3RvcEF1dG9TY3JvbGwoKSx0aGlzLnJlYWx0aW1lTW9kZSYmdGhpcy5yb2xsaW5nV2luZG93PjAmJnRoaXMuYXV0b1Njcm9sbEludGVydmFsPjAmJnRoaXMuc3RhcnRBdXRvU2Nyb2xsKCkpLChJLmhhcygieUF4aXNTY2FsaW5nIil8fEkuaGFzKCJ5QXhpc01heCIpKSYmdGhpcy5jaGFydClmb3IobGV0WyxxXW9mIHRoaXMuc2VyaWVzQXBpcyl0aGlzLnlBeGlzU2NhbGluZz09PSJkeW5hbWljIj9xLmFwcGx5T3B0aW9ucyh7YXV0b3NjYWxlSW5mb1Byb3ZpZGVyOnZvaWQgMH0pOnEuYXBwbHlPcHRpb25zKHthdXRvc2NhbGVJbmZvUHJvdmlkZXI6cygoKT0+KHtwcmljZVJhbmdlOnttaW5WYWx1ZTowLG1heFZhbHVlOnRoaXMueUF4aXNNYXh9fSksImF1dG9zY2FsZUluZm9Qcm92aWRlciIpfSl9YXN5bmMgdXBkYXRlU2VyaWVzKEkscT0hMCl7aWYodGhpcy5jaGFydCl0cnl7aWYodGhpcy5pbnRlcm5hbENoYXJ0RGF0YT1JLHRoaXMucm9sbGluZ1dpbmRvdz4wJiZ0aGlzLnJlYWx0aW1lTW9kZSl7bGV0IGNlPURhdGUubm93KCksdWU9Y2UtdGhpcy5yb2xsaW5nV2luZG93O2lmKEkubGVuZ3RoIT09dGhpcy5zZXJpZXNBcGlzLnNpemUpdGhpcy5yZWNyZWF0ZVNlcmllcyhJKTtlbHNle2xldCBZPXRoaXMuZ2V0U2VyaWVzQ29sb3JzKCF0aGlzLmdvQnJpZ2h0KTtJLmZvckVhY2goKFEsSik9PntsZXQgWj1RLm5hbWV8fGBzZXJpZXMtJHtKfWAsZ2U9dGhpcy5zZXJpZXNBcGlzLmdldChaKTtpZighZ2UpcmV0dXJuO2xldCBhZT1RLmRhdGEuZmlsdGVyKHJlPT4odHlwZW9mIHJlLng9PSJudW1iZXIiP3JlLng6bmV3IERhdGUocmUueCkuZ2V0VGltZSgpKT51ZSk7Z2Uuc2V0RGF0YSh0aGlzLmNvbnZlcnREYXRhVG9MQyhhZSkpLHRoaXMudXBkYXRlUHJpY2VMaW5lcyhaLGdlLGFlLFlbSiVZLmxlbmd0aF0pfSksdGhpcy5jb21wdXRlU3RhdHMoSSl9dHJ5e3RoaXMuY2hhcnQudGltZVNjYWxlKCkuc2V0VmlzaWJsZVJhbmdlKHtmcm9tOk1hdGguZmxvb3IodWUvMWUzKSx0bzpNYXRoLmZsb29yKGNlLzFlMyl9KX1jYXRjaHt9aWYodGhpcy55QXhpc1NjYWxpbmc9PT0iZHluYW1pYyIpe2xldCBZPUkuZmxhdE1hcChRPT5RLmRhdGEuZmlsdGVyKEo9Pih0eXBlb2YgSi54PT0ibnVtYmVyIj9KLng6bmV3IERhdGUoSi54KS5nZXRUaW1lKCkpPnVlKS5tYXAoSj0+Si55KSk7aWYoWS5sZW5ndGg+MCl7bGV0IFE9TWF0aC5jZWlsKE1hdGgubWF4KC4uLlkpKjEuMSk7Zm9yKGxldFssSl1vZiB0aGlzLnNlcmllc0FwaXMpSi5hcHBseU9wdGlvbnMoe2F1dG9zY2FsZUluZm9Qcm92aWRlcjpzKCgpPT4oe3ByaWNlUmFuZ2U6e21pblZhbHVlOjAsbWF4VmFsdWU6UX19KSwiYXV0b3NjYWxlSW5mb1Byb3ZpZGVyIil9KX19fWVsc2UgaWYoSS5sZW5ndGghPT10aGlzLnNlcmllc0FwaXMuc2l6ZSl0aGlzLnJlY3JlYXRlU2VyaWVzKEkpO2Vsc2V7bGV0IGNlPXRoaXMuZ2V0U2VyaWVzQ29sb3JzKCF0aGlzLmdvQnJpZ2h0KTtJLmZvckVhY2goKHVlLFkpPT57bGV0IFE9dWUubmFtZXx8YHNlcmllcy0ke1l9YCxKPXRoaXMuc2VyaWVzQXBpcy5nZXQoUSk7SiYmKEouc2V0RGF0YSh0aGlzLmNvbnZlcnREYXRhVG9MQyh1ZS5kYXRhKSksdGhpcy51cGRhdGVQcmljZUxpbmVzKFEsSix1ZS5kYXRhLGNlW1klY2UubGVuZ3RoXSkpfSksdGhpcy5jb21wdXRlU3RhdHMoSSl9fWNhdGNoKGNlKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gdXBkYXRlIGNoYXJ0IHNlcmllczoiLGNlKX19YXN5bmMgdXBkYXRlVGltZVdpbmRvdygpe2lmKCF0aGlzLmNoYXJ0fHx0aGlzLnJvbGxpbmdXaW5kb3c8PTApcmV0dXJuO2xldCBJPURhdGUubm93KCkscT1JLXRoaXMucm9sbGluZ1dpbmRvdzt0cnl7dGhpcy5jaGFydC50aW1lU2NhbGUoKS5zZXRWaXNpYmxlUmFuZ2Uoe2Zyb206TWF0aC5mbG9vcihxLzFlMyksdG86TWF0aC5mbG9vcihJLzFlMyl9KX1jYXRjaHt9fWFzeW5jIGFwcGVuZERhdGEoSSl7dGhpcy5jaGFydCYmSS5mb3JFYWNoKChxLGNlKT0+e2xldCB1ZT1xLm5hbWV8fGBzZXJpZXMtJHtjZX1gLFk9dGhpcy5zZXJpZXNBcGlzLmdldCh1ZSk7aWYoISghWXx8cS5kYXRhLmxlbmd0aD09PTApKWZvcihsZXQgUSBvZiBxLmRhdGEpe2xldCBKPXRoaXMuY29udmVydERhdGFUb0xDKFtRXSk7Si5sZW5ndGg+MCYmWS51cGRhdGUoSlswXSl9fSl9YXN5bmMgdXBkYXRlT3B0aW9ucyhJKXt0aGlzLmNoYXJ0JiZ0aGlzLmNoYXJ0LmFwcGx5T3B0aW9ucyhJKX1hc3luYyByZXNpemVDaGFydCgpe3RoaXMuY2hhcnQmJnRoaXMuY2hhcnQudGltZVNjYWxlKCkuZml0Q29udGVudCgpfWFzeW5jIGZvcmNlUmVzaXplKCl7YXdhaXQgdGhpcy5yZXNpemVDaGFydCgpfXRvZ2dsZUZ1bGxQYWdlKCl7dGhpcy5pc0Z1bGxQYWdlPSF0aGlzLmlzRnVsbFBhZ2UsdGhpcy5pc0Z1bGxQYWdlPyh0aGlzLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdGhpcy5zdHlsZS5pbnNldD0iMCIsdGhpcy5zdHlsZS56SW5kZXg9IjEwMDAwIix0aGlzLnN0eWxlLmhlaWdodD0iMTAwdmgiLHRoaXMuc3R5bGUucGFkZGluZz0iMCIsZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIik6KHRoaXMuc3R5bGUucG9zaXRpb249IiIsdGhpcy5zdHlsZS5pbnNldD0iIix0aGlzLnN0eWxlLnpJbmRleD0iIix0aGlzLnN0eWxlLmhlaWdodD0iIix0aGlzLnN0eWxlLnBhZGRpbmc9IiIsZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iIikscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5jaGFydD8udGltZVNjYWxlKCkuZml0Q29udGVudCgpfSl9c3RhcnRBdXRvU2Nyb2xsKCl7dGhpcy5hdXRvU2Nyb2xsVGltZXJ8fCh0aGlzLmF1dG9TY3JvbGxUaW1lcj13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9Pnt0aGlzLnVwZGF0ZVRpbWVXaW5kb3coKX0sdGhpcy5hdXRvU2Nyb2xsSW50ZXJ2YWwpKX1zdG9wQXV0b1Njcm9sbCgpe3RoaXMuYXV0b1Njcm9sbFRpbWVyJiYod2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5hdXRvU2Nyb2xsVGltZXIpLHRoaXMuYXV0b1Njcm9sbFRpbWVyPW51bGwpfXN0YXRpY3t6cihyLHQpfX07cmV0dXJuIG1lPXJ9KSgpfSk7dmFyIGZjYT1mKCgpPT57cFFlKCl9KTtmdW5jdGlvbiAkNChhKXtyZXR1cm4gYT9nY2EubGlnaHQ6Z2NhLmRhcmt9ZnVuY3Rpb24gRDQoYSxlKXtsZXQgdD1wYXJzZUludChhLnNsaWNlKDEsMyksMTYpLHI9cGFyc2VJbnQoYS5zbGljZSgzLDUpLDE2KSxpPXBhcnNlSW50KGEuc2xpY2UoNSw3KSwxNik7cmV0dXJuYHJnYmEoJHt0fSwgJHtyfSwgJHtpfSwgJHtlfSlgfWZ1bmN0aW9uIGJjYShhKXtsZXQgZT1hP2hjYTptY2E7cmV0dXJue2JhY2tncm91bmRDb2xvcjoidHJhbnNwYXJlbnQiLHRleHRTdHlsZTp7Y29sb3I6ZS50ZXh0U2Vjb25kYXJ5LGZvbnRGYW1pbHk6Jy1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgc2Fucy1zZXJpZicsZm9udFNpemU6MTJ9LHRvb2x0aXA6e2JhY2tncm91bmRDb2xvcjplLmJnUHJpbWFyeSxib3JkZXJDb2xvcjplLmJvcmRlckRlZmF1bHQsdGV4dFN0eWxlOntjb2xvcjplLnRleHRQcmltYXJ5LGZvbnRTaXplOjEyfSxjb25maW5lOiEwfSxsZWdlbmQ6e3RleHRTdHlsZTp7Y29sb3I6ZS50ZXh0U2Vjb25kYXJ5LGZvbnRTaXplOjEyfX19fWZ1bmN0aW9uIEE0KGEpe3JldHVybiBhP2hjYTptY2F9dmFyIGhjYSxtY2EsZ2NhLFZtPWYoKCk9PntRZSgpO2hjYT1lbi5jb2xvcnMubGlnaHQsbWNhPWVuLmNvbG9ycy5kYXJrLGdjYT17ZGFyazpbIiM2MGE1ZmEiLCIjMmRkNGJmIiwiI2E3OGJmYSIsIiNmYmJmMjQiLCIjMzRkMzk5IiwiI2ZiNzE4NSJdLGxpZ2h0OlsiIzNiODJmNiIsIiMxNGI4YTYiLCIjOGI1Y2Y2IiwiI2Y1OWUwYiIsIiMxMGI5ODEiLCIjZjQzZjVlIl19O3MoJDQsImdldEVjaGFydHNTZXJpZXNDb2xvcnMiKTtzKEQ0LCJoZXhUb1JnYmEiKTtzKGJjYSwiZ2V0RWNoYXJ0c1RoZW1lT3B0aW9ucyIpO3MoQTQsImdldFRoZW1lQ29sb3JzIil9KTt2YXIgUUlhLHZjYSxfYyxHVz1mKCgpPT57bGUoKTtlYSgpO1NjKCk7Vm0oKTtRcigpO1FJYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sdmNhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxfYz0oKCk9PntsZXQgYT1wZSxlLHQ9W10scj1bXTtyZXR1cm4gY2xhc3MgZXh0ZW5kcyBhe3N0YXRpY3tzKHRoaXMsIkRlZXNDaGFydEVjaGFydHNCYXNlIil9c3RhdGlje2xldCBvPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGFbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO2U9WyQoKV0sUUlhKHRoaXMsbnVsbCxlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobj0+ImxhYmVsImluIG4sImhhcyIpLGdldDpzKG49Pm4ubGFiZWwsImdldCIpLHNldDpzKChuLGwpPT57bi5sYWJlbD1sfSwic2V0Iil9LG1ldGFkYXRhOm99LHQsciksbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpvfSl9I2U9dmNhKHRoaXMsdCwiVW50aXRsZWQgQ2hhcnQiKTtnZXQgbGFiZWwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbGFiZWwobyl7dGhpcy4jZT1vfWNoYXJ0SW5zdGFuY2U9KHZjYSh0aGlzLHIpLG51bGwpO2VjaGFydHNCdW5kbGU9bnVsbDtyZXNpemVPYnNlcnZlcj1udWxsO2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0ci5zZXR1cCgpLHRoaXMucmVnaXN0ZXJHYXJiYWdlRnVuY3Rpb24oYXN5bmMoKT0+e2lmKHRoaXMucmVzaXplT2JzZXJ2ZXImJih0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPW51bGwpLHRoaXMuY2hhcnRJbnN0YW5jZSl0cnl7dGhpcy5jaGFydEluc3RhbmNlLmRpc3Bvc2UoKSx0aGlzLmNoYXJ0SW5zdGFuY2U9bnVsbH1jYXRjaChvKXtjb25zb2xlLmVycm9yKCJFcnJvciBkaXNwb3NpbmcgRUNoYXJ0cyBpbnN0YW5jZToiLG8pfX0pfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2hhcnRIZWFkZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNoYXJ0TGFiZWwiPiR7dGhpcy5sYWJlbH08L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnRDb250YWluZXIiPjwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UsdGhpcy5lY2hhcnRzQnVuZGxlPWF3YWl0IE9zLmdldEluc3RhbmNlKCkubG9hZEVjaGFydHMoKSxhd2FpdCBuZXcgUHJvbWlzZShuPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUobikpO2xldCBvPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY2hhcnRDb250YWluZXIiKTtpZihvKXRyeXt0aGlzLmNoYXJ0SW5zdGFuY2U9dGhpcy5lY2hhcnRzQnVuZGxlLmluaXQobyxudWxsLHtyZW5kZXJlcjoic3ZnIn0pLHRoaXMudXBkYXRlQ2hhcnQoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuY2hhcnRJbnN0YW5jZT8ucmVzaXplKCl9KSx0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUobyl9Y2F0Y2gobil7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGluaXRpYWxpemUgRUNoYXJ0czoiLG4pfX1hc3luYyB1cGRhdGVkKG8pe3N1cGVyLnVwZGF0ZWQobyksby5oYXMoImdvQnJpZ2h0IikmJnRoaXMuY2hhcnRJbnN0YW5jZSYmdGhpcy5hcHBseVRoZW1lKCl9dXBkYXRlQ2hhcnQoKXtpZighdGhpcy5jaGFydEluc3RhbmNlKXJldHVybjtsZXQgbz1iY2EodGhpcy5nb0JyaWdodCksbj10aGlzLmJ1aWxkT3B0aW9uKCksbD17Li4ubywuLi5uLHRleHRTdHlsZTp7Li4uby50ZXh0U3R5bGUsLi4ubi50ZXh0U3R5bGV8fHt9fSx0b29sdGlwOnsuLi5vLnRvb2x0aXAsLi4ubi50b29sdGlwfHx7fX0sbGVnZW5kOnsuLi5vLmxlZ2VuZCwuLi5uLmxlZ2VuZHx8e30sdGV4dFN0eWxlOnsuLi5vLmxlZ2VuZD8udGV4dFN0eWxlfHx7fSwuLi5uLmxlZ2VuZD8udGV4dFN0eWxlfHx7fX19fTt0aGlzLmNoYXJ0SW5zdGFuY2Uuc2V0T3B0aW9uKGwsITApfWFwcGx5VGhlbWUoKXt0aGlzLnVwZGF0ZUNoYXJ0KCl9YXN5bmMgZm9yY2VSZXNpemUoKXt0aGlzLmNoYXJ0SW5zdGFuY2U/LnJlc2l6ZSgpfX19KSgpfSk7dmFyIHhjYSx5Y2E9ZigoKT0+e2xlKCk7TmEoKTtmUWUoKTt4Y2E9cygoKT0+e2xldCBhPVsiL2FwaS91c2VycyIsIi9hcGkvb3JkZXJzIiwiL2FwaS9wcm9kdWN0cyIsIi9hcGkvYXV0aCIsIi9hcGkvc2VhcmNoIl0sZT1be25hbWU6IkdFVCIsZGF0YTpbMTI0MCw4OTAsNzIwLDIxMDAsNTYwXX0se25hbWU6IlBPU1QiLGRhdGE6WzMyMCw0NTAsMTgwLDg5MCw0MF19LHtuYW1lOiJQVVQiLGRhdGE6WzkwLDIxMCwxNTAsMzAsMTBdfV0sdD1bIlVTLUVhc3QiLCJVUy1XZXN0IiwiRVUiLCJBc2lhIiwiT3RoZXIiXSxyPVt7bmFtZToiUmVxdWVzdHMiLGRhdGE6WzQ1MDAsMzIwMCwyODAwLDE5MDAsNjAwXX1dO3JldHVybiB3YAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgaT0+e2xldCBvPWkucXVlcnlTZWxlY3RvcigiI3ZlcnQtY2hhcnQiKSxuPWkucXVlcnlTZWxlY3RvcigiI2hvcml6LWNoYXJ0IiksbD1pLnF1ZXJ5U2VsZWN0b3IoIiNzdGFjay1jaGFydCIpO2kucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKGM9PntjLnRleHQ/LnRyaW0oKT09PSJSYW5kb21pemUiJiZjLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e28uc2VyaWVzPWUubWFwKHU9Pih7Li4udSxkYXRhOnUuZGF0YS5tYXAobT0+TWF0aC5yb3VuZChtKiguNStNYXRoLnJhbmRvbSgpKSkpfSkpLG4uc2VyaWVzPXIubWFwKHU9Pih7Li4udSxkYXRhOnUuZGF0YS5tYXAobT0+TWF0aC5yb3VuZChtKiguNStNYXRoLnJhbmRvbSgpKSkpfSkpLGwuc2VyaWVzPWUubWFwKHU9Pih7Li4udSxkYXRhOnUuZGF0YS5tYXAobT0+TWF0aC5yb3VuZChtKiguNStNYXRoLnJhbmRvbSgpKSkpfSkpfSl9KX19PgogICAgICA8c3R5bGU+CiAgICAgICAgJHtYYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuY2hhcnRSb3cgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5jb250cm9scyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgfQogICAgICAgICAgLmluZm8gewogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICAgICAgfQogICAgICAgIGB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iQWN0aW9uczoiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+UmFuZG9taXplPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0Um93Ij4KICAgICAgICAgIDxkZWVzLWNoYXJ0LWJhcgogICAgICAgICAgICBpZD0idmVydC1jaGFydCIKICAgICAgICAgICAgLmxhYmVsPSR7IlJlcXVlc3RzIGJ5IEVuZHBvaW50In0KICAgICAgICAgICAgLmNhdGVnb3JpZXM9JHthfQogICAgICAgICAgICAuc2VyaWVzPSR7ZX0KICAgICAgICAgICAgLnZhbHVlRm9ybWF0dGVyPSR7aT0+YCR7aX0gcmVxYH0KICAgICAgICAgID48L2RlZXMtY2hhcnQtYmFyPgoKICAgICAgICAgIDxkZWVzLWNoYXJ0LWJhcgogICAgICAgICAgICBpZD0iaG9yaXotY2hhcnQiCiAgICAgICAgICAgIC5sYWJlbD0keyJUcmFmZmljIGJ5IFJlZ2lvbiJ9CiAgICAgICAgICAgIC5jYXRlZ29yaWVzPSR7dH0KICAgICAgICAgICAgLnNlcmllcz0ke3J9CiAgICAgICAgICAgIC5ob3Jpem9udGFsPSR7ITB9CiAgICAgICAgICAgIC52YWx1ZUZvcm1hdHRlcj0ke2k9PmAkeyhpLzFlMykudG9GaXhlZCgxKX1rYH0KICAgICAgICAgID48L2RlZXMtY2hhcnQtYmFyPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGVlcy1jaGFydC1iYXIKICAgICAgICAgIGlkPSJzdGFjay1jaGFydCIKICAgICAgICAgIC5sYWJlbD0keyJTdGFja2VkOiBSZXF1ZXN0cyBieSBFbmRwb2ludCJ9CiAgICAgICAgICAuY2F0ZWdvcmllcz0ke2F9CiAgICAgICAgICAuc2VyaWVzPSR7ZX0KICAgICAgICAgIC5zdGFja2VkPSR7ITB9CiAgICAgICAgICAudmFsdWVGb3JtYXR0ZXI9JHtpPT5gJHtpfSByZXFgfQogICAgICAgID48L2RlZXMtY2hhcnQtYmFyPgoKICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvIj4KICAgICAgICAgIEJhciBjaGFydCB3aXRoIHZlcnRpY2FsLCBob3Jpem9udGFsLCBhbmQgc3RhY2tlZCBtb2RlcyDigKIKICAgICAgICAgIENsaWNrICdSYW5kb21pemUnIHRvIHVwZGF0ZSBkYXRhIHdpdGggYW5pbWF0aW9uCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIFA0LFlXPWYoKCk9PntsZSgpO1FlKCk7UDQ9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgOmhvc3QgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIH0KICAgIGRlZXMtdGlsZSB7CiAgICAgIGhlaWdodDogMTAwJTsKICAgIH0KICAgIC5jaGFydEhlYWRlciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGhlaWdodDogMzJweDsKICAgICAgcGFkZGluZzogMCA4cHggMCAxNnB4OwogICAgfQogICAgLmNoYXJ0TGFiZWwgewogICAgICBmbGV4OiAxOwogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICB9CiAgICAuY2hhcnRDb250YWluZXIgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGluc2V0OiAwOwogICAgfQogIGBdfSk7dmFyIHdjYSxNY2E9ZigoKT0+e2xlKCk7WVcoKTt3Y2E9Wy4uLlA0LFhgYF19KTt2YXIga2NhLFNjYT1mKCgpPT57bGUoKTtrY2E9cyhhPT53YAogICAgPGRlZXMtdGlsZT4KICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJjaGFydEhlYWRlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNoYXJ0TGFiZWwiPiR7YS5sYWJlbH08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjaGFydENvbnRhaW5lciI+PC9kaXY+CiAgICA8L2RlZXMtdGlsZT4KICBgLCJyZW5kZXJDaGFydEJhciIpfSk7dmFyIGQ1LG5uLHpjYSxmUWU9ZigoKT0+e2xlKCk7R1coKTt5Y2EoKTtNY2EoKTtTY2EoKTtWbSgpO2Q1PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxubj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0semNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1jaGFydC1iYXIiKV0sZSx0PVtdLHIsaT1fYyxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXTt2YXIgTz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0NoYXJ0QmFyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOkFycmF5fSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpCb29sZWFufSldLE49WyQoe2F0dHJpYnV0ZTohMX0pXSxkNSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNhdGVnb3JpZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+ImNhdGVnb3JpZXMiaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC5jYXRlZ29yaWVzLCJnZXQiKSxzZXQ6cygoUCxCKT0+e1AuY2F0ZWdvcmllcz1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG4sbCksZDUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXJpZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+InNlcmllcyJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLnNlcmllcywiZ2V0Iiksc2V0OnMoKFAsQik9PntQLnNlcmllcz1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGMscCksZDUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJob3Jpem9udGFsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFA9PiJob3Jpem9udGFsImluIFAsImhhcyIpLGdldDpzKFA9PlAuaG9yaXpvbnRhbCwiZ2V0Iiksc2V0OnMoKFAsQik9PntQLmhvcml6b250YWw9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxtLHYpLGQ1KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhY2tlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4ic3RhY2tlZCJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLnN0YWNrZWQsImdldCIpLHNldDpzKChQLEIpPT57UC5zdGFja2VkPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYixnKSxkNSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dMZWdlbmQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+InNob3dMZWdlbmQiaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC5zaG93TGVnZW5kLCJnZXQiKSxzZXQ6cygoUCxCKT0+e1Auc2hvd0xlZ2VuZD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGssQyksZDUodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZUZvcm1hdHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4idmFsdWVGb3JtYXR0ZXIiaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC52YWx1ZUZvcm1hdHRlciwiZ2V0Iiksc2V0OnMoKFAsQik9PntQLnZhbHVlRm9ybWF0dGVyPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSxkNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPXhjYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNoYXJ0Il07I2U9bm4odGhpcyxuLFtdKTtnZXQgY2F0ZWdvcmllcygpe3JldHVybiB0aGlzLiNlfXNldCBjYXRlZ29yaWVzKFQpe3RoaXMuI2U9VH0jdD0obm4odGhpcyxsKSxubih0aGlzLGMsW10pKTtnZXQgc2VyaWVzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlcmllcyhUKXt0aGlzLiN0PVR9I2E9KG5uKHRoaXMscCksbm4odGhpcyxtLCExKSk7Z2V0IGhvcml6b250YWwoKXtyZXR1cm4gdGhpcy4jYX1zZXQgaG9yaXpvbnRhbChUKXt0aGlzLiNhPVR9I3I9KG5uKHRoaXMsdiksbm4odGhpcyxiLCExKSk7Z2V0IHN0YWNrZWQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc3RhY2tlZChUKXt0aGlzLiNyPVR9I3M9KG5uKHRoaXMsZyksbm4odGhpcyxrLCEwKSk7Z2V0IHNob3dMZWdlbmQoKXtyZXR1cm4gdGhpcy4jc31zZXQgc2hvd0xlZ2VuZChUKXt0aGlzLiNzPVR9I2k9KG5uKHRoaXMsQyksbm4odGhpcyxfLFQ9PmAke1R9YCkpO2dldCB2YWx1ZUZvcm1hdHRlcigpe3JldHVybiB0aGlzLiNpfXNldCB2YWx1ZUZvcm1hdHRlcihUKXt0aGlzLiNpPVR9c3RhdGljIHN0eWxlcz13Y2E7cmVuZGVyKCl7cmV0dXJuIGtjYSh0aGlzKX1hc3luYyB1cGRhdGVkKFQpe3N1cGVyLnVwZGF0ZWQoVCksdGhpcy5jaGFydEluc3RhbmNlJiYoVC5oYXMoImNhdGVnb3JpZXMiKXx8VC5oYXMoInNlcmllcyIpfHxULmhhcygiaG9yaXpvbnRhbCIpfHxULmhhcygic3RhY2tlZCIpfHxULmhhcygic2hvd0xlZ2VuZCIpKSYmdGhpcy51cGRhdGVDaGFydCgpfWJ1aWxkT3B0aW9uKCl7bGV0IFQ9QTQodGhpcy5nb0JyaWdodCksUD0kNCh0aGlzLmdvQnJpZ2h0KSxCPXRoaXMudmFsdWVGb3JtYXR0ZXIsTT17dHlwZToiY2F0ZWdvcnkiLGRhdGE6dGhpcy5jYXRlZ29yaWVzLGF4aXNMaW5lOntsaW5lU3R5bGU6e2NvbG9yOlQuYm9yZGVyU3Ryb25nfX0sYXhpc0xhYmVsOntjb2xvcjpULnRleHRNdXRlZH19LFM9e3R5cGU6InZhbHVlIixheGlzTGluZTp7c2hvdzohMX0sYXhpc0xhYmVsOntjb2xvcjpULnRleHRNdXRlZCxmb3JtYXR0ZXI6cyhHPT5CKEcpLCJmb3JtYXR0ZXIiKX0sc3BsaXRMaW5lOntsaW5lU3R5bGU6e2NvbG9yOlQuYm9yZGVyU3VidGxlfX19LEU9dGhpcy5nb0JyaWdodD8uMTU6LjI1LEE9dGhpcy5ob3Jpem9udGFsP1swLDQsNCwwXTpbNCw0LDAsMF0sRj1bMCwwLDAsMF0sVz1bXSxqPXRoaXMuc2VyaWVzLm1hcCgoRyxoZSk9PntsZXQgUj1HLmNvbG9yfHxQW2hlJVAubGVuZ3RoXTtyZXR1cm4gVy5wdXNoKHtuYW1lOkcubmFtZSxpdGVtU3R5bGU6e2NvbG9yOlJ9fSkse25hbWU6Ry5uYW1lLHR5cGU6ImJhciIsZGF0YTpHLmRhdGEsc3RhY2s6dGhpcy5zdGFja2VkPyJ0b3RhbCI6dm9pZCAwLGl0ZW1TdHlsZTp7Y29sb3I6RDQoUixFKSxib3JkZXJDb2xvcjpSLGJvcmRlcldpZHRoOjEsYm9yZGVyUmFkaXVzOnRoaXMuc3RhY2tlZD9GOkF9LGJhck1heFdpZHRoOjQwLGJhckdhcDoiMjAlIixlbXBoYXNpczp7aXRlbVN0eWxlOntjb2xvcjpENChSLEUrLjE1KSxib3JkZXJDb2xvcjpSLGJvcmRlcldpZHRoOjEuNX19fX0pO2lmKHRoaXMuc3RhY2tlZCYmai5sZW5ndGg+MCl7bGV0IEc9altqLmxlbmd0aC0xXTtHLml0ZW1TdHlsZS5ib3JkZXJSYWRpdXM9QX1yZXR1cm57dG9vbHRpcDp7dHJpZ2dlcjoiYXhpcyIsYXhpc1BvaW50ZXI6e3R5cGU6InNoYWRvdyJ9LGZvcm1hdHRlcjpzKEc9PntsZXQgaGU9QXJyYXkuaXNBcnJheShHKT9HOltHXSxSPWA8c3Ryb25nPiR7aGVbMF0uYXhpc1ZhbHVlTGFiZWx9PC9zdHJvbmc+PGJyLz5gO2ZvcihsZXQgVSBvZiBoZSl7bGV0IEk9YDxzcGFuIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tcmlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MTBweDt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2JhY2tncm91bmQtY29sb3I6JHtVLmJvcmRlckNvbG9yfHxVLmNvbG9yfTsiPjwvc3Bhbj5gO1IrPWAke0l9JHtVLnNlcmllc05hbWV9OiA8c3Ryb25nPiR7QihVLnZhbHVlKX08L3N0cm9uZz48YnIvPmB9cmV0dXJuIFJ9LCJmb3JtYXR0ZXIiKX0sbGVnZW5kOnRoaXMuc2hvd0xlZ2VuZCYmdGhpcy5zZXJpZXMubGVuZ3RoPjE/e2JvdHRvbTo4LGl0ZW1XaWR0aDoxMCxpdGVtSGVpZ2h0OjEwLGRhdGE6V306e3Nob3c6ITF9LGdyaWQ6e2xlZnQ6MTYscmlnaHQ6MTYsdG9wOjE2LGJvdHRvbTp0aGlzLnNob3dMZWdlbmQmJnRoaXMuc2VyaWVzLmxlbmd0aD4xPzQwOjE2LGNvbnRhaW5MYWJlbDohMH0seEF4aXM6dGhpcy5ob3Jpem9udGFsP1M6TSx5QXhpczp0aGlzLmhvcml6b250YWw/TTpTLHNlcmllczpqfX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksbm4odGhpcyx6KX1zdGF0aWN7bm4ocix0KX19O3JldHVybiBPPXJ9KSgpfSk7dmFyIENjYT1mKCgpPT57ZlFlKCl9KTt2YXIgX2NhLFRjYT1mKCgpPT57bGUoKTtOYSgpO2hRZSgpO19jYT1zKCgpPT57bGV0IGE9W3tuYW1lOiJEb2N1bWVudHMiLHZhbHVlOjQyfSx7bmFtZToiTWVkaWEiLHZhbHVlOjI4fSx7bmFtZToiQXBwbGljYXRpb25zIix2YWx1ZToxNX0se25hbWU6IlN5c3RlbSIsdmFsdWU6MTB9LHtuYW1lOiJPdGhlciIsdmFsdWU6NX1dLGU9W3tuYW1lOiJIZWFsdGh5Iix2YWx1ZToxNTZ9LHtuYW1lOiJXYXJuaW5nIix2YWx1ZToyM30se25hbWU6IkNyaXRpY2FsIix2YWx1ZTo4fSx7bmFtZToiVW5rbm93biIsdmFsdWU6M31dLHQ9W3tuYW1lOiJBUEkiLHZhbHVlOjQ1MjAwfSx7bmFtZToiU3RhdGljIEFzc2V0cyIsdmFsdWU6MjMxMDB9LHtuYW1lOiJXZWJTb2NrZXQiLHZhbHVlOjEyODAwfSx7bmFtZToiR3JhcGhRTCIsdmFsdWU6ODkwMH1dO3JldHVybiB3YAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgcj0+e2xldCBpPXIucXVlcnlTZWxlY3RvcigiI2Rpc2stY2hhcnQiKSxvPXIucXVlcnlTZWxlY3RvcigiI3N0YXR1cy1jaGFydCIpLG49ci5xdWVyeVNlbGVjdG9yKCIjdHJhZmZpYy1jaGFydCIpO3IucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKGQ9PntkLnRleHQ/LnRyaW0oKT09PSJSYW5kb21pemUiJiZkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2kuZGF0YT1hLm1hcChwPT4oey4uLnAsdmFsdWU6TWF0aC5yb3VuZChwLnZhbHVlKiguNStNYXRoLnJhbmRvbSgpKSl9KSksby5kYXRhPWUubWFwKHA9Pih7Li4ucCx2YWx1ZTpNYXRoLnJvdW5kKHAudmFsdWUqKC4zK01hdGgucmFuZG9tKCkqMS40KSl9KSksbi5kYXRhPXQubWFwKHA9Pih7Li4ucCx2YWx1ZTpNYXRoLnJvdW5kKHAudmFsdWUqKC41K01hdGgucmFuZG9tKCkpKX0pKX0pfSl9fT4KICAgICAgPHN0eWxlPgogICAgICAgICR7WGAKICAgICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgfQogICAgICAgICAgLmNoYXJ0Um93IHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuY29udHJvbHMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgIH0KICAgICAgICAgIC5pbmZvIHsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICAgIH0KICAgICAgICBgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vQm94Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkFjdGlvbnM6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlJhbmRvbWl6ZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydFJvdyI+CiAgICAgICAgICA8ZGVlcy1jaGFydC1kb251dAogICAgICAgICAgICBpZD0iZGlzay1jaGFydCIKICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2sgVXNhZ2UgKEdCKSJ9CiAgICAgICAgICAgIC5kYXRhPSR7YX0KICAgICAgICAgICAgLnZhbHVlRm9ybWF0dGVyPSR7cj0+YCR7cn0gR0JgfQogICAgICAgICAgPjwvZGVlcy1jaGFydC1kb251dD4KCiAgICAgICAgICA8ZGVlcy1jaGFydC1kb251dAogICAgICAgICAgICBpZD0ic3RhdHVzLWNoYXJ0IgogICAgICAgICAgICAubGFiZWw9JHsiU2VydmljZSBTdGF0dXMifQogICAgICAgICAgICAuZGF0YT0ke2V9CiAgICAgICAgICAgIC52YWx1ZUZvcm1hdHRlcj0ke3I9PmAke3J9IHNlcnZpY2VzYH0KICAgICAgICAgICAgLmlubmVyUmFkaXVzUGVyY2VudD0keyIwJSJ9CiAgICAgICAgICA+PC9kZWVzLWNoYXJ0LWRvbnV0PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGVlcy1jaGFydC1kb251dAogICAgICAgICAgaWQ9InRyYWZmaWMtY2hhcnQiCiAgICAgICAgICAubGFiZWw9JHsiVHJhZmZpYyBEaXN0cmlidXRpb24ifQogICAgICAgICAgLmRhdGE9JHt0fQogICAgICAgICAgLnZhbHVlRm9ybWF0dGVyPSR7cj0+YCR7KHIvMWUzKS50b0ZpeGVkKDEpfWsgcmVxYH0KICAgICAgICA+PC9kZWVzLWNoYXJ0LWRvbnV0PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvIj4KICAgICAgICAgIERvbnV0IGNoYXJ0IHdpdGggY29uZmlndXJhYmxlIGlubmVyIHJhZGl1cyAoc2V0IHRvIDAlIGZvciBmdWxsIHBpZSkg4oCiCiAgICAgICAgICBDbGljayAnUmFuZG9taXplJyB0byB1cGRhdGUgZGF0YSB3aXRoIGFuaW1hdGlvbgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfSwiZGVtb0Z1bmMiKX0pO3ZhciBMY2EsJGNhPWYoKCk9PntsZSgpO1lXKCk7TGNhPVsuLi5QNCxYYAogICAgOmhvc3QgewogICAgICBoZWlnaHQ6IDM2MHB4OwogICAgfQogICAgLmNoYXJ0Q29udGFpbmVyIHsKICAgICAgaW5zZXQ6IDEycHggMDsKICAgIH0KICBgXX0pO3ZhciBEY2EsQWNhPWYoKCk9PntsZSgpO0RjYT1zKGE9PndgCiAgICA8ZGVlcy10aWxlPgogICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNoYXJ0SGVhZGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2hhcnRMYWJlbCI+JHthLmxhYmVsfTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0Q29udGFpbmVyIj48L2Rpdj4KICAgIDwvZGVlcy10aWxlPgogIGAsInJlbmRlckNoYXJ0RG9udXQiKX0pO3ZhciBqbSxWMSxQY2EsaFFlPWYoKCk9PntsZSgpO0dXKCk7VGNhKCk7JGNhKCk7QWNhKCk7Vm0oKTtqbT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sVjE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFBjYT0oKCk9PntsZXQgYT1baWUoImRlZXMtY2hhcnQtZG9udXQiKV0sZSx0PVtdLHIsaT1fYyxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0NoYXJ0RG9udXQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSx1PVskKHt0eXBlOkJvb2xlYW59KV0seD1bJCh7dHlwZTpTdHJpbmd9KV0seT1bJCh7YXR0cmlidXRlOiExfSldLGptKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iZGF0YSJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmRhdGEsImdldCIpLHNldDpzKCh6LE8pPT57ei5kYXRhPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxqbSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dMZWdlbmQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNob3dMZWdlbmQiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5zaG93TGVnZW5kLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2hvd0xlZ2VuZD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCksam0odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93TGFiZWxzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzaG93TGFiZWxzImluIHosImhhcyIpLGdldDpzKHo9Pnouc2hvd0xhYmVscywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNob3dMYWJlbHM9T30sInNldCIpfSxtZXRhZGF0YTpffSxtLHYpLGptKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5uZXJSYWRpdXNQZXJjZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJpbm5lclJhZGl1c1BlcmNlbnQiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5pbm5lclJhZGl1c1BlcmNlbnQsImdldCIpLHNldDpzKCh6LE8pPT57ei5pbm5lclJhZGl1c1BlcmNlbnQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLGptKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWVGb3JtYXR0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InZhbHVlRm9ybWF0dGVyImluIHosImhhcyIpLGdldDpzKHo9PnoudmFsdWVGb3JtYXR0ZXIsImdldCIpLHNldDpzKCh6LE8pPT57ei52YWx1ZUZvcm1hdHRlcj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksam0obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz1fY2E7c3RhdGljIGRlbW9Hcm91cHM9WyJDaGFydCJdOyNlPVYxKHRoaXMsbixbXSk7Z2V0IGRhdGEoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGF0YShfKXt0aGlzLiNlPV99I3Q9KFYxKHRoaXMsbCksVjEodGhpcyxjLCEwKSk7Z2V0IHNob3dMZWdlbmQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2hvd0xlZ2VuZChfKXt0aGlzLiN0PV99I2E9KFYxKHRoaXMscCksVjEodGhpcyxtLCEwKSk7Z2V0IHNob3dMYWJlbHMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd0xhYmVscyhfKXt0aGlzLiNhPV99I3I9KFYxKHRoaXMsdiksVjEodGhpcyxiLCI1NSUiKSk7Z2V0IGlubmVyUmFkaXVzUGVyY2VudCgpe3JldHVybiB0aGlzLiNyfXNldCBpbm5lclJhZGl1c1BlcmNlbnQoXyl7dGhpcy4jcj1ffSNzPShWMSh0aGlzLGcpLFYxKHRoaXMsayxfPT5gJHtffWApKTtnZXQgdmFsdWVGb3JtYXR0ZXIoKXtyZXR1cm4gdGhpcy4jc31zZXQgdmFsdWVGb3JtYXR0ZXIoXyl7dGhpcy4jcz1ffXN0YXRpYyBzdHlsZXM9TGNhO3JlbmRlcigpe3JldHVybiBEY2EodGhpcyl9YXN5bmMgdXBkYXRlZChfKXtzdXBlci51cGRhdGVkKF8pLHRoaXMuY2hhcnRJbnN0YW5jZSYmKF8uaGFzKCJkYXRhIil8fF8uaGFzKCJzaG93TGVnZW5kIil8fF8uaGFzKCJzaG93TGFiZWxzIil8fF8uaGFzKCJpbm5lclJhZGl1c1BlcmNlbnQiKSkmJnRoaXMudXBkYXRlQ2hhcnQoKX1idWlsZE9wdGlvbigpe2xldCBfPUE0KHRoaXMuZ29CcmlnaHQpLHo9JDQodGhpcy5nb0JyaWdodCksTz10aGlzLmdvQnJpZ2h0Py4xNTouMixUPVtdLFA9dGhpcy5kYXRhLm1hcCgoTSxTKT0+e2xldCBFPU0uY29sb3J8fHpbUyV6Lmxlbmd0aF07cmV0dXJuIFQucHVzaCh7bmFtZTpNLm5hbWUsaXRlbVN0eWxlOntjb2xvcjpFfX0pLHtuYW1lOk0ubmFtZSx2YWx1ZTpNLnZhbHVlLGl0ZW1TdHlsZTp7Y29sb3I6RDQoRSxPKSxib3JkZXJDb2xvcjpFLGJvcmRlcldpZHRoOjF9LGVtcGhhc2lzOntpdGVtU3R5bGU6e2NvbG9yOkQ0KEUsTysuMTUpLGJvcmRlckNvbG9yOkUsYm9yZGVyV2lkdGg6MS41fX19fSksQj10aGlzLnZhbHVlRm9ybWF0dGVyO3JldHVybnt0b29sdGlwOnt0cmlnZ2VyOiJpdGVtIixmb3JtYXR0ZXI6cyhNPT5gJHtgPHNwYW4gc3R5bGU9ImRpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMHB4O3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7YmFja2dyb3VuZC1jb2xvcjoke00uZGF0YT8uaXRlbVN0eWxlPy5ib3JkZXJDb2xvcnx8TS5jb2xvcn07Ij48L3NwYW4+YH0ke00ubmFtZX06IDxzdHJvbmc+JHtCKE0udmFsdWUpfTwvc3Ryb25nPiAoJHtNLnBlcmNlbnR9JSlgLCJmb3JtYXR0ZXIiKX0sbGVnZW5kOnRoaXMuc2hvd0xlZ2VuZD97b3JpZW50OiJ2ZXJ0aWNhbCIscmlnaHQ6MTYsdG9wOiJjZW50ZXIiLGl0ZW1XaWR0aDoxMCxpdGVtSGVpZ2h0OjEwLGl0ZW1HYXA6MTIsZGF0YTpULGZvcm1hdHRlcjpzKE09PntsZXQgUz10aGlzLmRhdGEuZmluZChFPT5FLm5hbWU9PT1NKTtyZXR1cm4gUz9gJHtNfSAgJHtCKFMudmFsdWUpfWA6TX0sImZvcm1hdHRlciIpfTp7c2hvdzohMX0sc2VyaWVzOlt7dHlwZToicGllIixyYWRpdXM6W3RoaXMuaW5uZXJSYWRpdXNQZXJjZW50LCI4NSUiXSxjZW50ZXI6dGhpcy5zaG93TGVnZW5kP1siMzUlIiwiNTAlIl06WyI1MCUiLCI1MCUiXSxhdm9pZExhYmVsT3ZlcmxhcDohMCxwYWRBbmdsZToyLGl0ZW1TdHlsZTp7Ym9yZGVyUmFkaXVzOjR9LGxhYmVsOnRoaXMuc2hvd0xhYmVscz97c2hvdzohMCxmb3JtYXR0ZXI6IntifToge2R9JSIsZm9udFNpemU6MTEsY29sb3I6Xy50ZXh0U2Vjb25kYXJ5LHRleHRCb3JkZXJDb2xvcjoidHJhbnNwYXJlbnQifTp7c2hvdzohMX0sZGF0YTpQfV19fWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxWMSh0aGlzLEMpfXN0YXRpY3tWMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgRWNhPWYoKCk9PntoUWUoKX0pO3ZhciBJY2EsTmNhPWYoKCk9PntsZSgpO05hKCk7bVFlKCk7SWNhPXMoKCk9PntsZXQgYT1be3ZhbHVlOjYwLGNvbG9yOiJoc2woMTQyIDc2JSAzNiUpIn0se3ZhbHVlOjgwLGNvbG9yOiJoc2woMzggOTIlIDUwJSkifSx7dmFsdWU6MTAwLGNvbG9yOiJoc2woMCA3MiUgNTAlKSJ9XTtyZXR1cm4gd2AKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIiNjcHUtZ2F1Z2UiKSxyPWUucXVlcnlTZWxlY3RvcigiI21lbS1nYXVnZSIpLGk9ZS5xdWVyeVNlbGVjdG9yKCIjc2xhLWdhdWdlIiksbz1udWxsO2UucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKGw9PntsZXQgZD1sLnRleHQ/LnRyaW0oKTtkPT09IkFuaW1hdGUiP2wuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57b3x8KG89d2luZG93LnNldEludGVydmFsKCgpPT57dC52YWx1ZT1NYXRoLnJvdW5kKDMwK01hdGgucmFuZG9tKCkqNjApLHIudmFsdWU9TWF0aC5yb3VuZCg0MCtNYXRoLnJhbmRvbSgpKjUwKSxpLnZhbHVlPU1hdGgucm91bmQoKDk1K01hdGgucmFuZG9tKCkqNSkqMTAwKS8xMDB9LDJlMykpfSk6ZD09PSJTdG9wIj9sLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e28mJih3aW5kb3cuY2xlYXJJbnRlcnZhbChvKSxvPW51bGwpfSk6ZD09PSJTcGlrZSImJmwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dC52YWx1ZT05NSxyLnZhbHVlPTg4LGkudmFsdWU9OTYuNX0pfSl9fT4KICAgICAgPHN0eWxlPgogICAgICAgICR7WGAKICAgICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgfQogICAgICAgICAgLmdhdWdlUm93IHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsKICAgICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgfQogICAgICAgICAgLmNvbnRyb2xzIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuaW5mbyB7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgICB9CiAgICAgICAgYH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtb0JveCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJBY3Rpb25zOiI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5BbmltYXRlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlN0b3A8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+U3Bpa2U8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iZ2F1Z2VSb3ciPgogICAgICAgICAgPGRlZXMtY2hhcnQtZ2F1Z2UKICAgICAgICAgICAgaWQ9ImNwdS1nYXVnZSIKICAgICAgICAgICAgLmxhYmVsPSR7IkNQVSBVc2FnZSJ9CiAgICAgICAgICAgIC52YWx1ZT0kezQyfQogICAgICAgICAgICAudW5pdD0keyIlIn0KICAgICAgICAgICAgLnRocmVzaG9sZHM9JHthfQogICAgICAgICAgPjwvZGVlcy1jaGFydC1nYXVnZT4KCiAgICAgICAgICA8ZGVlcy1jaGFydC1nYXVnZQogICAgICAgICAgICBpZD0ibWVtLWdhdWdlIgogICAgICAgICAgICAubGFiZWw9JHsiTWVtb3J5IFVzYWdlIn0KICAgICAgICAgICAgLnZhbHVlPSR7Njd9CiAgICAgICAgICAgIC51bml0PSR7IiUifQogICAgICAgICAgICAudGhyZXNob2xkcz0ke2F9CiAgICAgICAgICA+PC9kZWVzLWNoYXJ0LWdhdWdlPgoKICAgICAgICAgIDxkZWVzLWNoYXJ0LWdhdWdlCiAgICAgICAgICAgIGlkPSJzbGEtZ2F1Z2UiCiAgICAgICAgICAgIC5sYWJlbD0keyJTTEEgVXB0aW1lIn0KICAgICAgICAgICAgLnZhbHVlPSR7OTkuOH0KICAgICAgICAgICAgLm1pbj0kezk1fQogICAgICAgICAgICAubWF4PSR7MTAwfQogICAgICAgICAgICAudW5pdD0keyIlIn0KICAgICAgICAgICAgLnNob3dUaWNrcz0keyEwfQogICAgICAgICAgPjwvZGVlcy1jaGFydC1nYXVnZT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaW5mbyI+CiAgICAgICAgICBHYXVnZSBjaGFydCB3aXRoIGFuaW1hdGVkIHZhbHVlIHRyYW5zaXRpb25zIGFuZCB0aHJlc2hvbGQgY29sb3Jpbmcg4oCiCiAgICAgICAgICBDbGljayAnQW5pbWF0ZScgZm9yIGxpdmUgdXBkYXRlcywgJ1NwaWtlJyB0byBzaW11bGF0ZSBoaWdoIGxvYWQKICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYH0sImRlbW9GdW5jIil9KTt2YXIgUmNhLE9jYT1mKCgpPT57bGUoKTtZVygpO1JjYT1bLi4uUDQsWGAKICAgIDpob3N0IHsKICAgICAgaGVpZ2h0OiAzMjBweDsKICAgIH0KICBgXX0pO3ZhciBGY2EsQmNhPWYoKCk9PntsZSgpO0ZjYT1zKGE9PndgCiAgICA8ZGVlcy10aWxlPgogICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNoYXJ0SGVhZGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2hhcnRMYWJlbCI+JHthLmxhYmVsfTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0Q29udGFpbmVyIj48L2Rpdj4KICAgIDwvZGVlcy10aWxlPgogIGAsInJlbmRlckNoYXJ0R2F1Z2UiKX0pO3ZhciB1NSxsbixIY2EsbVFlPWYoKCk9PntsZSgpO0dXKCk7TmNhKCk7T2NhKCk7QmNhKCk7Vm0oKTt1NT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sbG49ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEhjYT0oKCk9PntsZXQgYT1baWUoImRlZXMtY2hhcnQtZ2F1Z2UiKV0sZSx0PVtdLHIsaT1fYyxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXTt2YXIgTz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0NoYXJ0R2F1Z2UiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk51bWJlcn0pXSxkPVskKHt0eXBlOk51bWJlcn0pXSx1PVskKHt0eXBlOk51bWJlcn0pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOkFycmF5fSldLE49WyQoe3R5cGU6Qm9vbGVhbn0pXSx1NSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFA9PiJ2YWx1ZSJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLnZhbHVlLCJnZXQiKSxzZXQ6cygoUCxCKT0+e1AudmFsdWU9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxuLGwpLHU1KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFA9PiJtaW4iaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC5taW4sImdldCIpLHNldDpzKChQLEIpPT57UC5taW49Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxjLHApLHU1KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFA9PiJtYXgiaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC5tYXgsImdldCIpLHNldDpzKChQLEIpPT57UC5tYXg9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxtLHYpLHU1KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidW5pdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4idW5pdCJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLnVuaXQsImdldCIpLHNldDpzKChQLEIpPT57UC51bml0PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYixnKSx1NSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRocmVzaG9sZHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+InRocmVzaG9sZHMiaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC50aHJlc2hvbGRzLCJnZXQiKSxzZXQ6cygoUCxCKT0+e1AudGhyZXNob2xkcz1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGssQyksdTUodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VGlja3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+InNob3dUaWNrcyJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLnNob3dUaWNrcywiZ2V0Iiksc2V0OnMoKFAsQik9PntQLnNob3dUaWNrcz1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LF8seiksdTUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6VH0sbnVsbCx0KSxPPXI9ZS52YWx1ZSxUJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlR9KX1zdGF0aWMgZGVtbz1JY2E7c3RhdGljIGRlbW9Hcm91cHM9WyJDaGFydCJdOyNlPWxuKHRoaXMsbiwwKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoVCl7dGhpcy4jZT1UfSN0PShsbih0aGlzLGwpLGxuKHRoaXMsYywwKSk7Z2V0IG1pbigpe3JldHVybiB0aGlzLiN0fXNldCBtaW4oVCl7dGhpcy4jdD1UfSNhPShsbih0aGlzLHApLGxuKHRoaXMsbSwxMDApKTtnZXQgbWF4KCl7cmV0dXJuIHRoaXMuI2F9c2V0IG1heChUKXt0aGlzLiNhPVR9I3I9KGxuKHRoaXMsdiksbG4odGhpcyxiLCIlIikpO2dldCB1bml0KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHVuaXQoVCl7dGhpcy4jcj1UfSNzPShsbih0aGlzLGcpLGxuKHRoaXMsayxbXSkpO2dldCB0aHJlc2hvbGRzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHRocmVzaG9sZHMoVCl7dGhpcy4jcz1UfSNpPShsbih0aGlzLEMpLGxuKHRoaXMsXywhMCkpO2dldCBzaG93VGlja3MoKXtyZXR1cm4gdGhpcy4jaX1zZXQgc2hvd1RpY2tzKFQpe3RoaXMuI2k9VH1zdGF0aWMgc3R5bGVzPVJjYTtyZW5kZXIoKXtyZXR1cm4gRmNhKHRoaXMpfWFzeW5jIHVwZGF0ZWQoVCl7c3VwZXIudXBkYXRlZChUKSx0aGlzLmNoYXJ0SW5zdGFuY2UmJihULmhhcygidmFsdWUiKXx8VC5oYXMoIm1pbiIpfHxULmhhcygibWF4Iil8fFQuaGFzKCJ1bml0Iil8fFQuaGFzKCJ0aHJlc2hvbGRzIil8fFQuaGFzKCJzaG93VGlja3MiKSkmJnRoaXMudXBkYXRlQ2hhcnQoKX1idWlsZE9wdGlvbigpe2xldCBUPUE0KHRoaXMuZ29CcmlnaHQpLEI9JDQodGhpcy5nb0JyaWdodClbMF0sTTtpZih0aGlzLnRocmVzaG9sZHMubGVuZ3RoPjApe2xldCBTPVsuLi50aGlzLnRocmVzaG9sZHNdLnNvcnQoKEUsQSk9PkUudmFsdWUtQS52YWx1ZSk7TT1TLm1hcChFPT5bKEUudmFsdWUtdGhpcy5taW4pLyh0aGlzLm1heC10aGlzLm1pbiksRS5jb2xvcl0pLE1bTS5sZW5ndGgtMV1bMF08MSYmTS5wdXNoKFsxLFNbUy5sZW5ndGgtMV0uY29sb3JdKX1lbHNlIE09W1sxLEJdXTtyZXR1cm57c2VyaWVzOlt7dHlwZToiZ2F1Z2UiLG1pbjp0aGlzLm1pbixtYXg6dGhpcy5tYXgsc3RhcnRBbmdsZToyMjAsZW5kQW5nbGU6LTQwLHByb2dyZXNzOntzaG93OiEwLHdpZHRoOjE0LHJvdW5kQ2FwOiEwfSxwb2ludGVyOntzaG93OiEwLGxlbmd0aDoiNjAlIix3aWR0aDo1LGl0ZW1TdHlsZTp7Y29sb3I6ImF1dG8ifX0sYXhpc0xpbmU6e2xpbmVTdHlsZTp7d2lkdGg6MTQsY29sb3I6TSxvcGFjaXR5Oi4zfX0sYXhpc1RpY2s6e3Nob3c6dGhpcy5zaG93VGlja3MsZGlzdGFuY2U6LTIwLGxlbmd0aDo2LGxpbmVTdHlsZTp7Y29sb3I6VC5ib3JkZXJTdHJvbmcsd2lkdGg6MX19LHNwbGl0TGluZTp7c2hvdzp0aGlzLnNob3dUaWNrcyxkaXN0YW5jZTotMjQsbGVuZ3RoOjEwLGxpbmVTdHlsZTp7Y29sb3I6VC50ZXh0TXV0ZWQsd2lkdGg6Mn19LGF4aXNMYWJlbDp7c2hvdzp0aGlzLnNob3dUaWNrcyxkaXN0YW5jZTozMCxjb2xvcjpULnRleHRNdXRlZCxmb250U2l6ZToxMX0sZGV0YWlsOnt2YWx1ZUFuaW1hdGlvbjohMCxmb250U2l6ZToyOCxmb250V2VpZ2h0OjYwMCxvZmZzZXRDZW50ZXI6WzAsIjY1JSJdLGNvbG9yOlQudGV4dFByaW1hcnksZm9ybWF0dGVyOmB7dmFsdWV9JHt0aGlzLnVuaXR9YH0sdGl0bGU6e3Nob3c6ITF9LGRhdGE6W3t2YWx1ZTp0aGlzLnZhbHVlfV19XX19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGxuKHRoaXMseil9c3RhdGlje2xuKHIsdCl9fTtyZXR1cm4gTz1yfSkoKX0pO3ZhciBxY2E9ZigoKT0+e21RZSgpfSk7dmFyIFZjYSxqY2E9ZigoKT0+e2xlKCk7TmEoKTtWY2E9cygoKT0+d2AKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoIiNzdHJ1Y3R1cmVkLWxvZyIpLHQ9YS5xdWVyeVNlbGVjdG9yKCIjcmF3LWxvZyIpLHIsaSxvPVsiU2VydmVyIiwiRGF0YWJhc2UiLCJBUEkiLCJBdXRoIiwiQ2FjaGUiLCJRdWV1ZSIsIldlYlNvY2tldCIsIlNjaGVkdWxlciJdLG49e2RlYnVnOlsiTG9hZGluZyBtb2R1bGU6IHt7bW9kdWxlfX0iLCJDYWNoZSBoaXQgZm9yIGtleToge3trZXl9fSIsIlNRTCBxdWVyeSBleGVjdXRlZCBpbiB7e3RpbWV9fW1zIiwiUmVxdWVzdCBoZWFkZXJzOiB7e2hlYWRlcnN9fSIsIkVudmlyb25tZW50IHZhcmlhYmxlIGxvYWRlZDoge3t2YXJ9fSJdLGluZm86WyJSZXF1ZXN0IHJlY2VpdmVkOiB7e21ldGhvZH19IHt7cGF0aH19IiwiVXNlciB7e3VzZXJJZH19IGF1dGhlbnRpY2F0ZWQgc3VjY2Vzc2Z1bGx5IiwiUHJvY2Vzc2luZyBqb2Ige3tqb2JJZH19IGZyb20gcXVldWUiLCdTY2hlZHVsZWQgdGFzayAie3t0YXNrfX0iIHN0YXJ0ZWQnLCJXZWJTb2NrZXQgY29ubmVjdGlvbiBlc3RhYmxpc2hlZCBmcm9tIHt7aXB9fSJdLHdhcm46WyJTbG93IHF1ZXJ5IGRldGVjdGVkOiB7e3F1ZXJ5fX0gKHt7dGltZX19bXMpIiwiTWVtb3J5IHVzYWdlIGF0IHt7cGVyY2VudH19JSIsIlJhdGUgbGltaXQgYXBwcm9hY2hpbmcgZm9yIElQIHt7aXB9fSIsIkRlcHJlY2F0ZWQgQVBJIGVuZHBvaW50IGNhbGxlZDoge3tlbmRwb2ludH19IiwiQ2VydGlmaWNhdGUgZXhwaXJlcyBpbiB7e2RheXN9fSBkYXlzIl0sZXJyb3I6WyJEYXRhYmFzZSBjb25uZWN0aW9uIGxvc3Q6IHt7ZXJyb3J9fSIsIkZhaWxlZCB0byBwcm9jZXNzIHJlcXVlc3Q6IHt7ZXJyb3J9fSIsIkF1dGhlbnRpY2F0aW9uIGZhaWxlZCBmb3IgdXNlciB7e3VzZXJ9fSIsIkZpbGUgbm90IGZvdW5kOiB7e3BhdGh9fSIsIlNlcnZpY2UgdW5hdmFpbGFibGU6IHt7c2VydmljZX19Il0sc3VjY2VzczpbIlNlcnZlciBzdGFydGVkIHN1Y2Nlc3NmdWxseSBvbiBwb3J0IHt7cG9ydH19IiwiRGF0YWJhc2UgbWlncmF0aW9uIGNvbXBsZXRlZCIsIkJhY2t1cCBjb21wbGV0ZWQ6IHt7c2l6ZX19IE1CIiwiU1NMIGNlcnRpZmljYXRlIHJlbmV3ZWQiLCJIZWFsdGggY2hlY2sgcGFzc2VkOiBhbGwgc3lzdGVtcyBvcGVyYXRpb25hbCJdfSxsPVsiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ1LjEyM1pceDFCWzBtIFx4MUJbMzZtSU5GT1x4MUJbMG0gIFtuZ2lueF0gR0VUIC9hcGkvaGVhbHRoIDIwMCAtIDJtcyIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0NS40NTZaXHgxQlswbSBceDFCWzMzbVdBUk5ceDFCWzBtICBbcmVkaXNdIENvbm5lY3Rpb24gcG9vbCBydW5uaW5nIGxvdzogMy8xMCIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0NS43ODlaXHgxQlswbSBceDFCWzMxbUVSUk9SXHgxQlswbSBbbW9uZ29kYl0gUXVlcnkgdGltZW91dCBhZnRlciAzMDAwMG1zIiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ2LjAxMlpceDFCWzBtIFx4MUJbMzZtSU5GT1x4MUJbMG0gIFthcHBdIFByb2Nlc3NpbmcgYmF0Y2ggam9iICN7e2pvYklkfX0iLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDYuMzQ1Wlx4MUJbMG0gXHgxQlszMm1PS1x4MUJbMG0gICAgW2hlYWx0aF0gQWxsIHNlcnZpY2VzIGhlYWx0aHkiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDYuNjc4Wlx4MUJbMG0gXHgxQlszNm1JTkZPXHgxQlswbSAgW2thZmthXSBNZXNzYWdlIGNvbnN1bWVkIGZyb20gdG9waWM6IGV2ZW50cyIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0Ny4wMDFaXHgxQlswbSBceDFCWzM1bURFQlVHXHgxQlswbSBbZ3JwY10gUmVxdWVzdCByZWNlaXZlZDogR2V0VXNlcihpZD17e3VzZXJJZH19KSIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0Ny4yMzRaXHgxQlswbSBceDFCWzMxbUVSUk9SXHgxQlswbSBbYXV0aF0gVG9rZW4gdmFsaWRhdGlvbiBmYWlsZWQ6IGV4cGlyZWQiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDcuNTY3Wlx4MUJbMG0gXHgxQlszM21XQVJOXHgxQlswbSAgW3JhdGUtbGltaXRdIElQIHt7aXB9fSBhcHByb2FjaGluZyByYXRlIGxpbWl0IiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ3Ljg5MFpceDFCWzBtIFx4MUJbMzZtSU5GT1x4MUJbMG0gIFt3ZWJzb2NrZXRdIENsaWVudCBjb25uZWN0ZWQ6IHNlc3Npb249e3tzZXNzaW9ufX0iLGBceDFCWzMxbUVycm9yOiBDb25uZWN0aW9uIHJlZnVzZWRceDFCWzBtCiAgICBhdCBUY3BDb25uZWN0aW9uLmNvbm5lY3QgKC9hcHAvbm9kZV9tb2R1bGVzL3BnL2xpYi9jb25uZWN0aW9uLmpzOjEyOjE1KQogICAgYXQgUG9vbC5jb25uZWN0ICgvYXBwL25vZGVfbW9kdWxlcy9wZy9saWIvcG9vbC5qczo0NToyMykKICAgIGF0IGFzeW5jIERhdGFiYXNlU2VydmljZS5xdWVyeSAoL2FwcC9zcmMvZGIvc2VydmljZS50czo4OToxMilgXSxkPXMoKCk9PntsZXQgYj1bImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsInN1Y2Nlc3MiXSxnPVsuMiwuNSwuMTUsLjEsLjA1XSx5PU1hdGgucmFuZG9tKCksaz0wLEM9ImluZm8iO2ZvcihsZXQgVD0wO1Q8Zy5sZW5ndGg7VCsrKWlmKGsrPWdbVF0seTxrKXtDPWJbVF07YnJlYWt9bGV0IE49b1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqby5sZW5ndGgpXSxfPW5bQ10sTz1fW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpfLmxlbmd0aCldLnJlcGxhY2UoInt7bW9kdWxlfX0iLFsiZXhwcmVzcyIsIm1vbmdvb3NlIiwicmVkaXMiLCJzb2NrZXQuaW8iXVtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCldKS5yZXBsYWNlKCJ7e2tleX19IiwidXNlcjoiK01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxZTMpKS5yZXBsYWNlKCJ7e3RpbWV9fSIsU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo1MDApKzUwKSkucmVwbGFjZSgie3toZWFkZXJzfX0iLCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24sIEF1dGhvcml6YXRpb246IEJlYXJlciAuLi4iKS5yZXBsYWNlKCJ7e3Zhcn19IixbIk5PREVfRU5WIiwiREFUQUJBU0VfVVJMIiwiQVBJX0tFWSIsIlBPUlQiXVtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCldKS5yZXBsYWNlKCJ7e21ldGhvZH19IixbIkdFVCIsIlBPU1QiLCJQVVQiLCJERUxFVEUiXVtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCldKS5yZXBsYWNlKCJ7e3BhdGh9fSIsWyIvYXBpL3VzZXJzIiwiL2FwaS9hdXRoL2xvZ2luIiwiL2FwaS9wcm9kdWN0cyIsIi9oZWFsdGgiXVtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCldKS5yZXBsYWNlKCJ7e3VzZXJJZH19IixTdHJpbmcoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjFlNCkpKS5yZXBsYWNlKCJ7e2pvYklkfX0iLCJqb2JfIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwxMSkpLnJlcGxhY2UoInt7dGFza319IixbImNsZWFudXAiLCJiYWNrdXAiLCJyZXBvcnQtZ2VuZXJhdGlvbiIsImNhY2hlLXJlZnJlc2giXVtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCldKS5yZXBsYWNlKCJ7e2lwfX0iLGAxOTIuMTY4LjEuJHtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjU1KX1gKS5yZXBsYWNlKCJ7e3F1ZXJ5fX0iLCJTRUxFQ1QgKiBGUk9NIHVzZXJzIFdIRVJFIC4uLiIpLnJlcGxhY2UoInt7cGVyY2VudH19IixTdHJpbmcoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjMwKSs3MCkpLnJlcGxhY2UoInt7ZW5kcG9pbnR9fSIsIi9hcGkvdjEvbGVnYWN5IikucmVwbGFjZSgie3tkYXlzfX0iLFN0cmluZyhNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMzApKzEpKS5yZXBsYWNlKCJ7e2Vycm9yfX0iLFsiRUNPTk5SRUZVU0VEIiwiRVRJTUVET1VUIiwiRU5PVEZPVU5EIl1bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjMpXSkucmVwbGFjZSgie3t1c2VyfX0iLCJ1c2VyXyIrTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjFlMykpLnJlcGxhY2UoInt7c2VydmljZX19IixbIlJlZGlzIiwiTW9uZ29EQiIsIkVsYXN0aWNTZWFyY2giXVtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMyldKS5yZXBsYWNlKCJ7e3BvcnR9fSIsU3RyaW5nKDNlMytNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMTApKSkucmVwbGFjZSgie3tzaXplfX0iLFN0cmluZyhNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNTAwKSsxMDApKTtlLmFkZExvZyhDLE8sTil9LCJnZW5lcmF0ZVJhbmRvbUxvZyIpLGM9cygoKT0+e2xldCBiPWxbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmwubGVuZ3RoKV0sZz1uZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkseT1iLnJlcGxhY2UoLzIwMjQtMDEtMTVUMTA6MjM6XGR7Mn1cLlxkezN9Wi9nLGcpLnJlcGxhY2UoInt7am9iSWR9fSIsU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxZTQpKSkucmVwbGFjZSgie3t1c2VySWR9fSIsU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxZTQpKSkucmVwbGFjZSgie3tpcH19IixgMTkyLjE2OC4xLiR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjI1NSl9YCkucmVwbGFjZSgie3tzZXNzaW9ufX0iLE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDExKSk7dC53cml0ZWxuUmF3KHkpfSwiZ2VuZXJhdGVEb2NrZXJMb2ciKSxwPXMoKCk9PntpZighcil7bGV0IGI9cygoKT0+e2QoKTtsZXQgZz1NYXRoLnJhbmRvbSgpKjJlMys1MDA7cj13aW5kb3cuc2V0VGltZW91dCgoKT0+e3ImJmIoKX0sZyl9LCJzY2hlZHVsZU5leHQiKTtiKCl9fSwic3RhcnRTdHJ1Y3R1cmVkU2ltdWxhdGlvbiIpLHU9cygoKT0+e3ImJih3aW5kb3cuY2xlYXJUaW1lb3V0KHIpLHI9bnVsbCl9LCJzdG9wU3RydWN0dXJlZFNpbXVsYXRpb24iKSxtPXMoKCk9PntpZighaSl7bGV0IGI9cygoKT0+e2MoKTtsZXQgZz1NYXRoLnJhbmRvbSgpKjFlMysyMDA7aT13aW5kb3cuc2V0VGltZW91dCgoKT0+e2kmJmIoKX0sZyl9LCJzY2hlZHVsZU5leHQiKTtiKCl9fSwic3RhcnRSYXdTaW11bGF0aW9uIiksdj1zKCgpPT57aSYmKHdpbmRvdy5jbGVhclRpbWVvdXQoaSksaT1udWxsKX0sInN0b3BSYXdTaW11bGF0aW9uIik7YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goYj0+e3N3aXRjaChiLnRleHQ/LnRyaW0oKSl7Y2FzZSJBZGQgU3RydWN0dXJlZCBMb2ciOmIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5kKCkpO2JyZWFrO2Nhc2UiU3RhcnQgU3RydWN0dXJlZCI6Yi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnAoKSk7YnJlYWs7Y2FzZSJTdG9wIFN0cnVjdHVyZWQiOmIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT51KCkpO2JyZWFrO2Nhc2UiQWRkIERvY2tlciBMb2ciOmIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5jKCkpO2JyZWFrO2Nhc2UiU3RhcnQgRG9ja2VyIjpiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+bSgpKTticmVhaztjYXNlIlN0b3AgRG9ja2VyIjpiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+digpKTticmVha319KX19PgogICAgICA8c3R5bGU+CiAgICAgICAgJHtYYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgNSUpIil9OwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuc2VjdGlvbiB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgIH0KICAgICAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgICB9CiAgICAgICAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgICB9CiAgICAgICAgICAuY29udHJvbHMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgIH0KICAgICAgICBgfQogICAgICA8L3N0eWxlPgogICAgPGRpdiBjbGFzcz0iZGVtb0JveCI+CiAgICAgIDwhLS0gU3RydWN0dXJlZCBMb2dzIFNlY3Rpb24gLS0+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlN0cnVjdHVyZWQgTG9ncyAoSUxvZ0VudHJ5KTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgU3RydWN0dXJlZCBsb2cgZW50cmllcyB3aXRoIGxldmVsLCBtZXNzYWdlLCBhbmQgc291cmNlLiBTdXBwb3J0cyBzZWFyY2ggYW5kIGtleXdvcmQgaGlnaGxpZ2h0aW5nLgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5BZGQgU3RydWN0dXJlZCBMb2c8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPlN0YXJ0IFN0cnVjdHVyZWQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPlN0b3AgU3RydWN0dXJlZDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRlZXMtY2hhcnQtbG9nCiAgICAgICAgICBpZD0ic3RydWN0dXJlZC1sb2ciCiAgICAgICAgICAubGFiZWw9JHsiUHJvZHVjdGlvbiBTZXJ2ZXIgTG9ncyJ9CiAgICAgICAgICAuaGlnaGxpZ2h0S2V5d29yZHM9JHtbImVycm9yIiwiZmFpbGVkIiwidGltZW91dCJdfQogICAgICAgICAgLnNob3dNZXRyaWNzPSR7ITB9CiAgICAgICAgPjwvZGVlcy1jaGFydC1sb2c+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSBSYXcgTG9ncyBTZWN0aW9uIC0tPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5SYXcgTG9ncyAoRG9ja2VyL0NvbnRhaW5lciBTdHlsZSk8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIFJhdyBsb2cgb3V0cHV0IHdpdGggQU5TSSBlc2NhcGUgc2VxdWVuY2VzIGZvciByZWFsIERvY2tlci9jb250YWluZXIgbG9ncy4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24+QWRkIERvY2tlciBMb2c8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPlN0YXJ0IERvY2tlcjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RvcCBEb2NrZXI8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkZWVzLWNoYXJ0LWxvZwogICAgICAgICAgaWQ9InJhdy1sb2ciCiAgICAgICAgICAubGFiZWw9JHsiRG9ja2VyIENvbnRhaW5lciBMb2dzIn0KICAgICAgICAgIC5tb2RlPSR7InJhdyJ9CiAgICAgICAgICAuc2hvd01ldHJpY3M9JHshMX0KICAgICAgICA+PC9kZWVzLWNoYXJ0LWxvZz4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgLCJkZW1vRnVuYyIpfSk7dmFyIFVuLENyLFVjYSxXY2E9ZigoKT0+e2xlKCk7ZWEoKTtqY2EoKTtRZSgpO1NjKCk7UXIoKTtVbj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sQ3I9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFVjYT0oKCk9PntsZXQgYT1baWUoImRlZXMtY2hhcnQtbG9nIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdO3ZhciBtZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0NoYXJ0TG9nIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEk9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOkFycmF5fSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVskKHt0eXBlOk51bWJlcn0pXSxOPVskKHt0eXBlOkFycmF5fSldLE89WyQoe3R5cGU6Qm9vbGVhbn0pXSxCPVtLKCldLEU9W0soKV0sVz1bSygpXSxoZT1bSygpXSxVbih0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJsYWJlbCJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmxhYmVsLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmxhYmVsPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LG4sbCksVW4odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb2RlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJtb2RlImluIHEsImhhcyIpLGdldDpzKHE9PnEubW9kZSwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5tb2RlPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGMscCksVW4odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2dFbnRyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJsb2dFbnRyaWVzImluIHEsImhhcyIpLGdldDpzKHE9PnEubG9nRW50cmllcywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5sb2dFbnRyaWVzPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LG0sdiksVW4odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhdXRvU2Nyb2xsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJhdXRvU2Nyb2xsImluIHEsImhhcyIpLGdldDpzKHE9PnEuYXV0b1Njcm9sbCwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5hdXRvU2Nyb2xsPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGIsZyksVW4odGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhFbnRyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJtYXhFbnRyaWVzImluIHEsImhhcyIpLGdldDpzKHE9PnEubWF4RW50cmllcywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5tYXhFbnRyaWVzPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGssQyksVW4odGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoaWdobGlnaHRLZXl3b3JkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4iaGlnaGxpZ2h0S2V5d29yZHMiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5oaWdobGlnaHRLZXl3b3JkcywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5oaWdobGlnaHRLZXl3b3Jkcz1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxfLHopLFVuKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd01ldHJpY3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InNob3dNZXRyaWNzImluIHEsImhhcyIpLGdldDpzKHE9PnEuc2hvd01ldHJpY3MsImdldCIpLHNldDpzKChxLGNlKT0+e3Euc2hvd01ldHJpY3M9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sVCxQKSxVbih0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlYXJjaFF1ZXJ5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJzZWFyY2hRdWVyeSJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnNlYXJjaFF1ZXJ5LCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnNlYXJjaFF1ZXJ5PWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LE0sUyksVW4odGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXJNb2RlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJmaWx0ZXJNb2RlImluIHEsImhhcyIpLGdldDpzKHE9PnEuZmlsdGVyTW9kZSwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5maWx0ZXJNb2RlPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LEEsRiksVW4odGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZXRyaWNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJtZXRyaWNzImluIHEsImhhcyIpLGdldDpzKHE9PnEubWV0cmljcywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5tZXRyaWNzPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGosRyksVW4odGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGVybWluYWxSZWFkeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4idGVybWluYWxSZWFkeSJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnRlcm1pbmFsUmVhZHksImdldCIpLHNldDpzKChxLGNlKT0+e3EudGVybWluYWxSZWFkeT1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxSLFUpLFVuKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkl9LG51bGwsdCksbWU9cj1lLnZhbHVlLEkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6SX0pfXN0YXRpYyBkZW1vPVZjYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNoYXJ0IiwiV29ya3NwYWNlIl07I2U9Q3IodGhpcyxuLCJTZXJ2ZXIgTG9ncyIpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNlfXNldCBsYWJlbChJKXt0aGlzLiNlPUl9I3Q9KENyKHRoaXMsbCksQ3IodGhpcyxjLCJzdHJ1Y3R1cmVkIikpO2dldCBtb2RlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IG1vZGUoSSl7dGhpcy4jdD1JfSNhPShDcih0aGlzLHApLENyKHRoaXMsbSxbXSkpO2dldCBsb2dFbnRyaWVzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGxvZ0VudHJpZXMoSSl7dGhpcy4jYT1JfSNyPShDcih0aGlzLHYpLENyKHRoaXMsYiwhMCkpO2dldCBhdXRvU2Nyb2xsKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGF1dG9TY3JvbGwoSSl7dGhpcy4jcj1JfSNzPShDcih0aGlzLGcpLENyKHRoaXMsaywxZTQpKTtnZXQgbWF4RW50cmllcygpe3JldHVybiB0aGlzLiNzfXNldCBtYXhFbnRyaWVzKEkpe3RoaXMuI3M9SX0jaT0oQ3IodGhpcyxDKSxDcih0aGlzLF8sW10pKTtnZXQgaGlnaGxpZ2h0S2V5d29yZHMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgaGlnaGxpZ2h0S2V5d29yZHMoSSl7dGhpcy4jaT1JfSNvPShDcih0aGlzLHopLENyKHRoaXMsVCwhMCkpO2dldCBzaG93TWV0cmljcygpe3JldHVybiB0aGlzLiNvfXNldCBzaG93TWV0cmljcyhJKXt0aGlzLiNvPUl9I249KENyKHRoaXMsUCksQ3IodGhpcyxNLCIiKSk7Z2V0IHNlYXJjaFF1ZXJ5KCl7cmV0dXJuIHRoaXMuI259c2V0IHNlYXJjaFF1ZXJ5KEkpe3RoaXMuI249SX0jbD0oQ3IodGhpcyxTKSxDcih0aGlzLEEsITEpKTtnZXQgZmlsdGVyTW9kZSgpe3JldHVybiB0aGlzLiNsfXNldCBmaWx0ZXJNb2RlKEkpe3RoaXMuI2w9SX0jYz0oQ3IodGhpcyxGKSxDcih0aGlzLGose2RlYnVnOjAsaW5mbzowLHdhcm46MCxlcnJvcjowLHN1Y2Nlc3M6MCx0b3RhbDowLHJhdGU6MH0pKTtnZXQgbWV0cmljcygpe3JldHVybiB0aGlzLiNjfXNldCBtZXRyaWNzKEkpe3RoaXMuI2M9SX0jZD0oQ3IodGhpcyxHKSxDcih0aGlzLFIsITEpKTtnZXQgdGVybWluYWxSZWFkeSgpe3JldHVybiB0aGlzLiNkfXNldCB0ZXJtaW5hbFJlYWR5KEkpe3RoaXMuI2Q9SX1sb2dCdWZmZXI9KENyKHRoaXMsVSksW10pO3RyYWlsaW5nSGlkZGVuQ291bnQ9MDt0ZXJtaW5hbD1udWxsO2ZpdEFkZG9uPW51bGw7c2VhcmNoQWRkb249bnVsbDtyZXNpemVPYnNlcnZlcj1udWxsO3Rlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249bnVsbDtkb210b29sc0luc3RhbmNlPW51bGw7cmF0ZUJ1ZmZlcj1bXTtyYXRlSW50ZXJ2YWw9bnVsbDtzdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogNDAwcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICBkZWVzLXRpbGUgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuc2VhcmNoLWJveCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAxNTBweDsKICAgICAgICBtYXgtd2lkdGg6IDMwMHB4OwogICAgICB9CgogICAgICAuc2VhcmNoLWJveCBpbnB1dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtYm94IGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1ib3ggaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1uYXYgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtbmF2IGJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNHB4IDZweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICB9CgogICAgICAuc2VhcmNoLW5hdiBidXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5maWx0ZXItdG9nZ2xlIHsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmZpbHRlci10b2dnbGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5maWx0ZXItdG9nZ2xlLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCg0NSA5MyUgNDclKSIsImhzbCg0NSA5MyUgNDclKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woNDUgOTMlIDQ3JSkiLCJoc2woNDUgOTMlIDQ3JSkiKX07CiAgICAgICAgY29sb3I6IGhzbCgwIDAlIDklKTsKICAgICAgfQoKICAgICAgLmNvbnRyb2xzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNnB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICB9CgogICAgICAuY29udHJvbC1idXR0b24gewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7CiAgICAgIH0KCiAgICAgIC5jb250cm9sLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5jb250cm9sLWJ1dHRvbi5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBpbnNldDogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRhaW5lciAueHRlcm0gewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmxvYWRpbmctc3RhdGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLm1ldHJpY3MtYmFyIHsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLm1ldHJpYyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAubWV0cmljOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICB9CgogICAgICAubWV0cmljLmVycm9yOjpiZWZvcmUgewogICAgICAgIGJhY2tncm91bmQ6IGhzbCgwIDg0LjIlIDYwLjIlKTsKICAgICAgfQoKICAgICAgLm1ldHJpYy53YXJuOjpiZWZvcmUgewogICAgICAgIGJhY2tncm91bmQ6IGhzbCgyNSA5NSUgNTMlKTsKICAgICAgfQoKICAgICAgLm1ldHJpYy5pbmZvOjpiZWZvcmUgewogICAgICAgIGJhY2tncm91bmQ6IGhzbCgyMjIuMiA0Ny40JSA1MS4yJSk7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMuc3VjY2Vzczo6YmVmb3JlIHsKICAgICAgICBiYWNrZ3JvdW5kOiBoc2woMTQyLjEgNzYuMiUgMzYuMyUpOwogICAgICB9CgogICAgICAubWV0cmljLmRlYnVnOjpiZWZvcmUgewogICAgICAgIGJhY2tncm91bmQ6IGhzbCgwIDAlIDYzLjklKTsKICAgICAgfQoKICAgICAgLm1ldHJpYy5yYXRlIHsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLm1ldHJpYy5yYXRlOjpiZWZvcmUgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIGBdO2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0ci5zZXR1cCgpfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGVlcy10aWxlIC5oZWFkaW5nPSR7dGhpcy5sYWJlbH0+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPiR7dGhpcy5sYWJlbH08L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaC1ib3giPgogICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZWFyY2ggbG9ncy4uLiIKICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlYXJjaFF1ZXJ5fQogICAgICAgICAgICAgIEBpbnB1dD0ke0k9PnRoaXMuaGFuZGxlU2VhcmNoSW5wdXQoSSl9CiAgICAgICAgICAgICAgQGtleWRvd249JHtJPT50aGlzLmhhbmRsZVNlYXJjaEtleWRvd24oSSl9CiAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaC1uYXYiPgogICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9PnRoaXMuc2VhcmNoUHJldmlvdXMoKX0gdGl0bGU9IlByZXZpb3VzIG1hdGNoIj7ihpE8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIEBjbGljaz0keygpPT50aGlzLnNlYXJjaE5leHQoKX0gdGl0bGU9Ik5leHQgbWF0Y2giPuKGkzwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIGNsYXNzPSJmaWx0ZXItdG9nZ2xlICR7dGhpcy5maWx0ZXJNb2RlPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy50b2dnbGVGaWx0ZXJNb2RlKCl9CiAgICAgICAgICAgICAgdGl0bGU9IiR7dGhpcy5maWx0ZXJNb2RlPyJTd2l0Y2ggdG8gaGlnaGxpZ2h0IG1vZGUiOiJTd2l0Y2ggdG8gZmlsdGVyIG1vZGUifSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgICR7dGhpcy5maWx0ZXJNb2RlPyJGaWx0ZXIiOiJIaWdobGlnaHQifQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgY2xhc3M9ImNvbnRyb2wtYnV0dG9uICR7dGhpcy5hdXRvU2Nyb2xsPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy50b2dnbGVBdXRvU2Nyb2xsKCl9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICBBdXRvIFNjcm9sbAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY29udHJvbC1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmNsZWFyTG9ncygpfT4KICAgICAgICAgICAgICBDbGVhcgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1jb250YWluZXIiPgogICAgICAgICAgJHt0aGlzLnRlcm1pbmFsUmVhZHk/IiI6d2A8ZGl2IGNsYXNzPSJsb2FkaW5nLXN0YXRlIj5Mb2FkaW5nIHRlcm1pbmFsLi4uPC9kaXY+YH0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLnNob3dNZXRyaWNzP3dgCiAgICAgICAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJtZXRyaWNzLWJhciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljIGVycm9yIj5lcnJvcnM6ICR7dGhpcy5tZXRyaWNzLmVycm9yfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMgd2FybiI+d2FybnM6ICR7dGhpcy5tZXRyaWNzLndhcm59PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYyBpbmZvIj5pbmZvOiAke3RoaXMubWV0cmljcy5pbmZvfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMgc3VjY2VzcyI+c3VjY2VzczogJHt0aGlzLm1ldHJpY3Muc3VjY2Vzc308L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljIGRlYnVnIj5kZWJ1ZzogJHt0aGlzLm1ldHJpY3MuZGVidWd9PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYyByYXRlIj4ke3RoaXMubWV0cmljcy5yYXRlLnRvRml4ZWQoMSl9IGxvZ3Mvc2VjPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7aWYodGhpcy5kb210b29sc0luc3RhbmNlPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVRlcm1pbmFsKCksdGhpcy5sb2dFbnRyaWVzLmxlbmd0aD4wJiZ0aGlzLmxvZ0J1ZmZlci5sZW5ndGg9PT0wKXt0aGlzLmxvZ0J1ZmZlcj1bLi4udGhpcy5sb2dFbnRyaWVzXTtmb3IobGV0IEkgb2YgdGhpcy5sb2dFbnRyaWVzKXRoaXMudXBkYXRlTWV0cmljcyhJLmxldmVsKSx0aGlzLndyaXRlTG9nRW50cnkoSSl9ZWxzZSBpZih0aGlzLmxvZ0VudHJpZXMubGVuZ3RoPjAmJnRoaXMubG9nQnVmZmVyLmxlbmd0aD4wKXtsZXQgST1uZXcgU2V0KHRoaXMubG9nQnVmZmVyLm1hcChxPT5gJHtxLnRpbWVzdGFtcH18JHtxLm1lc3NhZ2V9YCkpO2ZvcihsZXQgcSBvZiB0aGlzLmxvZ0VudHJpZXMpSS5oYXMoYCR7cS50aW1lc3RhbXB9fCR7cS5tZXNzYWdlfWApfHwodGhpcy5sb2dCdWZmZXIucHVzaChxKSx0aGlzLnVwZGF0ZU1ldHJpY3MocS5sZXZlbCksdGhpcy53cml0ZUxvZ0VudHJ5KHEpKX19YXN5bmMgaW5pdGlhbGl6ZVRlcm1pbmFsKCl7bGV0IEk9T3MuZ2V0SW5zdGFuY2UoKSxbcSxjZSx1ZV09YXdhaXQgUHJvbWlzZS5hbGwoW0kubG9hZFh0ZXJtKCksSS5sb2FkWHRlcm1GaXRBZGRvbigpLEkubG9hZFh0ZXJtU2VhcmNoQWRkb24oKV0pO2F3YWl0IHRoaXMuaW5qZWN0WHRlcm1TdHlsZXNJbnRvU2hhZG93KCksdGhpcy50ZXJtaW5hbD1uZXcgcS5UZXJtaW5hbCh7Y3Vyc29yQmxpbms6ITEsZGlzYWJsZVN0ZGluOiEwLGZvbnRTaXplOjEyLGZvbnRGYW1pbHk6IidTRiBNb25vJywgJ01vbmFjbycsICdDb25zb2xhcycsICdMaWJlcmF0aW9uIE1vbm8nLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2UiLHRoZW1lOnRoaXMuZ2V0VGVybWluYWxUaGVtZSgpLHNjcm9sbGJhY2s6dGhpcy5tYXhFbnRyaWVzLGNvbnZlcnRFb2w6ITB9KSx0aGlzLmZpdEFkZG9uPW5ldyBjZS5GaXRBZGRvbix0aGlzLnNlYXJjaEFkZG9uPW5ldyB1ZS5TZWFyY2hBZGRvbix0aGlzLnRlcm1pbmFsLmxvYWRBZGRvbih0aGlzLmZpdEFkZG9uKSx0aGlzLnRlcm1pbmFsLmxvYWRBZGRvbih0aGlzLnNlYXJjaEFkZG9uKTtsZXQgWT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnRlcm1pbmFsLWNvbnRhaW5lciIpO3RoaXMudGVybWluYWwub3BlbihZKSxhd2FpdCBuZXcgUHJvbWlzZShRPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoUSkpLHRoaXMuZml0QWRkb24uZml0KCksdGhpcy5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9Pnt0aGlzLmZpdEFkZG9uPy5maXQoKX0pLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShZKSx0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249dGhpcy5kb210b29sc0luc3RhbmNlLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKCgpPT57dGhpcy50ZXJtaW5hbCYmKHRoaXMudGVybWluYWwub3B0aW9ucy50aGVtZT10aGlzLmdldFRlcm1pbmFsVGhlbWUoKSl9KSx0aGlzLnJhdGVJbnRlcnZhbD1zZXRJbnRlcnZhbCgoKT0+dGhpcy5jYWxjdWxhdGVSYXRlKCksMWUzKSx0aGlzLnRlcm1pbmFsUmVhZHk9ITA7Zm9yKGxldCBRIG9mIHRoaXMubG9nQnVmZmVyKXRoaXMud3JpdGVMb2dFbnRyeShRKX11cGRhdGVkKEkpe2lmKHN1cGVyLnVwZGF0ZWQoSSksSS5oYXMoImdvQnJpZ2h0IikmJnRoaXMudGVybWluYWwmJih0aGlzLnRlcm1pbmFsLm9wdGlvbnMudGhlbWU9dGhpcy5nZXRUZXJtaW5hbFRoZW1lKCkpLEkuaGFzKCJsb2dFbnRyaWVzIikmJnRoaXMudGVybWluYWxSZWFkeSYmdGhpcy5sb2dFbnRyaWVzLmxlbmd0aD4wKXtsZXQgcT1JLmdldCgibG9nRW50cmllcyIpfHxbXSxjZT10aGlzLmxvZ0VudHJpZXM7aWYocS5sZW5ndGg9PT1jZS5sZW5ndGgmJnEubGVuZ3RoPjAmJnFbcS5sZW5ndGgtMV0udGltZXN0YW1wPT09Y2VbY2UubGVuZ3RoLTFdLnRpbWVzdGFtcCYmcVtxLmxlbmd0aC0xXS5tZXNzYWdlPT09Y2VbY2UubGVuZ3RoLTFdLm1lc3NhZ2UpcmV0dXJuO2lmKGNlLmxlbmd0aD5xLmxlbmd0aCYmcS5sZW5ndGg+MCYmcVtxLmxlbmd0aC0xXS50aW1lc3RhbXA9PT1jZVtxLmxlbmd0aC0xXS50aW1lc3RhbXAmJnFbcS5sZW5ndGgtMV0ubWVzc2FnZT09PWNlW3EubGVuZ3RoLTFdLm1lc3NhZ2Upe2xldCB1ZT1jZS5zbGljZShxLmxlbmd0aCk7Zm9yKGxldCBZIG9mIHVlKXRoaXMubG9nQnVmZmVyLnB1c2goWSksdGhpcy51cGRhdGVNZXRyaWNzKFkubGV2ZWwpLHRoaXMubG9nQnVmZmVyLmxlbmd0aD50aGlzLm1heEVudHJpZXMmJnRoaXMubG9nQnVmZmVyLnNoaWZ0KCksKCF0aGlzLmZpbHRlck1vZGV8fCF0aGlzLnNlYXJjaFF1ZXJ5fHx0aGlzLmVudHJ5TWF0Y2hlc0ZpbHRlcihZKSkmJnRoaXMud3JpdGVMb2dFbnRyeShZKTtyZXR1cm59dGhpcy5sb2dCdWZmZXI9Wy4uLmNlXSx0aGlzLnJlUmVuZGVyRmlsdGVyZWRMb2dzKCl9fWdldFRlcm1pbmFsVGhlbWUoKXtyZXR1cm4hdGhpcy5nb0JyaWdodD97YmFja2dyb3VuZDoiIzBhMGEwYSIsZm9yZWdyb3VuZDoiI2UwZTBlMCIsY3Vyc29yOiIjZTBlMGUwIixzZWxlY3Rpb25CYWNrZ3JvdW5kOiIjNDA0MDQwIixibGFjazoiIzAwMDAwMCIscmVkOiIjZmY1NTU1IixncmVlbjoiIzUwZmE3YiIseWVsbG93OiIjZjFmYThjIixibHVlOiIjNjI3MmE0IixtYWdlbnRhOiIjZmY3OWM2IixjeWFuOiIjOGJlOWZkIix3aGl0ZToiI2Y4ZjhmMiIsYnJpZ2h0QmxhY2s6IiM2MjcyYTQiLGJyaWdodFJlZDoiI2ZmNmU2ZSIsYnJpZ2h0R3JlZW46IiM2OWZmOTQiLGJyaWdodFllbGxvdzoiI2ZmZmZhNSIsYnJpZ2h0Qmx1ZToiI2Q2YWNmZiIsYnJpZ2h0TWFnZW50YToiI2ZmOTJkZiIsYnJpZ2h0Q3lhbjoiI2E0ZmZmZiIsYnJpZ2h0V2hpdGU6IiNmZmZmZmYifTp7YmFja2dyb3VuZDoiI2ZmZmZmZiIsZm9yZWdyb3VuZDoiIzMzMzMzMyIsY3Vyc29yOiIjMzMzMzMzIixzZWxlY3Rpb25CYWNrZ3JvdW5kOiIjYWRkNmZmIixibGFjazoiIzAwMDAwMCIscmVkOiIjY2QzMTMxIixncmVlbjoiIzAwYmMwMCIseWVsbG93OiIjOTQ5ODAwIixibHVlOiIjMDQ1MWE1IixtYWdlbnRhOiIjYmMwNWJjIixjeWFuOiIjMDU5OGJjIix3aGl0ZToiIzU1NTU1NSIsYnJpZ2h0QmxhY2s6IiM2NjY2NjYiLGJyaWdodFJlZDoiI2NkMzEzMSIsYnJpZ2h0R3JlZW46IiMxNGNlMTQiLGJyaWdodFllbGxvdzoiI2I1YmEwMCIsYnJpZ2h0Qmx1ZToiIzA0NTFhNSIsYnJpZ2h0TWFnZW50YToiI2JjMDViYyIsYnJpZ2h0Q3lhbjoiIzA1OThiYyIsYnJpZ2h0V2hpdGU6IiNhNWE1YTUifX1hc3luYyBpbmplY3RYdGVybVN0eWxlc0ludG9TaGFkb3coKXtsZXQgST0ieHRlcm0tc2hhZG93LXN0eWxlcyI7aWYodGhpcy5zaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKEkpKXJldHVybjtsZXQgcT1gJHtCMX0veHRlcm1AJHtGMS54dGVybX0vY3NzL3h0ZXJtLmNzc2AsdWU9YXdhaXQoYXdhaXQgZmV0Y2gocSkpLnRleHQoKSxZPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7WS5pZD1JLFkudGV4dENvbnRlbnQ9dWUsdGhpcy5zaGFkb3dSb290LmFwcGVuZENoaWxkKFkpfWFkZExvZyhJLHEsY2Upe2xldCB1ZT17dGltZXN0YW1wOm5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxsZXZlbDpJLG1lc3NhZ2U6cSxzb3VyY2U6Y2V9O3RoaXMubG9nQnVmZmVyLnB1c2godWUpLHRoaXMubG9nQnVmZmVyLmxlbmd0aD50aGlzLm1heEVudHJpZXMmJnRoaXMubG9nQnVmZmVyLnNoaWZ0KCksIXRoaXMuZmlsdGVyTW9kZXx8IXRoaXMuc2VhcmNoUXVlcnk/dGhpcy53cml0ZUxvZ0VudHJ5KHVlKTp0aGlzLmVudHJ5TWF0Y2hlc0ZpbHRlcih1ZSk/KHRoaXMudHJhaWxpbmdIaWRkZW5Db3VudD0wLHRoaXMud3JpdGVMb2dFbnRyeSh1ZSkpOnRoaXMudXBkYXRlVHJhaWxpbmdQbGFjZWhvbGRlcigpLHRoaXMudXBkYXRlTWV0cmljcyh1ZS5sZXZlbCl9dXBkYXRlTG9nKEkpe2lmKEkpZm9yKGxldCBxIG9mIEkpdGhpcy5sb2dCdWZmZXIucHVzaChxKSx0aGlzLmxvZ0J1ZmZlci5sZW5ndGg+dGhpcy5tYXhFbnRyaWVzJiZ0aGlzLmxvZ0J1ZmZlci5zaGlmdCgpLCF0aGlzLmZpbHRlck1vZGV8fCF0aGlzLnNlYXJjaFF1ZXJ5P3RoaXMud3JpdGVMb2dFbnRyeShxKTp0aGlzLmVudHJ5TWF0Y2hlc0ZpbHRlcihxKT8odGhpcy50cmFpbGluZ0hpZGRlbkNvdW50PTAsdGhpcy53cml0ZUxvZ0VudHJ5KHEpKTp0aGlzLnVwZGF0ZVRyYWlsaW5nUGxhY2Vob2xkZXIoKSx0aGlzLnVwZGF0ZU1ldHJpY3MocS5sZXZlbCl9dXBkYXRlVHJhaWxpbmdQbGFjZWhvbGRlcigpe3RoaXMudGVybWluYWwmJih0aGlzLnRyYWlsaW5nSGlkZGVuQ291bnQ+MCYmdGhpcy50ZXJtaW5hbC53cml0ZSgiXHgxQlsxQVx4MUJbMktcciIpLHRoaXMudHJhaWxpbmdIaWRkZW5Db3VudCsrLHRoaXMud3JpdGVIaWRkZW5QbGFjZWhvbGRlcih0aGlzLnRyYWlsaW5nSGlkZGVuQ291bnQpLHRoaXMuYXV0b1Njcm9sbCYmdGhpcy50ZXJtaW5hbC5zY3JvbGxUb0JvdHRvbSgpKX1lbnRyeU1hdGNoZXNGaWx0ZXIoSSl7aWYoIXRoaXMuc2VhcmNoUXVlcnkpcmV0dXJuITA7bGV0IHE9dGhpcy5zZWFyY2hRdWVyeS50b0xvd2VyQ2FzZSgpO3JldHVybiBJLm1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxKXx8SS5sZXZlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHEpfHwoSS5zb3VyY2U/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocSk/PyExKX13cml0ZUxvZ0VudHJ5KEkpe2lmKCF0aGlzLnRlcm1pbmFsKXJldHVybjtsZXQgcT10aGlzLmZvcm1hdExvZ0VudHJ5KEkpO3RoaXMudGVybWluYWwud3JpdGVsbihxKSx0aGlzLmF1dG9TY3JvbGwmJnRoaXMudGVybWluYWwuc2Nyb2xsVG9Cb3R0b20oKX1mb3JtYXRMb2dFbnRyeShJKXtsZXQgcT10aGlzLmZvcm1hdFRpbWVzdGFtcChJLnRpbWVzdGFtcCksY2U9e2RlYnVnOiJceDFCWzkwbSIsaW5mbzoiXHgxQlszNm0iLHdhcm46Ilx4MUJbMzNtIixlcnJvcjoiXHgxQlszMW0iLHN1Y2Nlc3M6Ilx4MUJbMzJtIn0sdWU9Ilx4MUJbMG0iLFk9Ilx4MUJbMm0iLFE9YCR7Y2VbSS5sZXZlbF19WyR7SS5sZXZlbC50b1VwcGVyQ2FzZSgpLnBhZEVuZCg3KX1dJHt1ZX1gLEo9SS5zb3VyY2U/YCR7WX1bJHtJLnNvdXJjZX1dJHt1ZX0gYDoiIixaPXRoaXMuYXBwbHlIaWdobGlnaHRzKEkubWVzc2FnZSk7cmV0dXJuYCR7WX0ke3F9JHt1ZX0gJHtRfSAke0p9JHtafWB9Zm9ybWF0VGltZXN0YW1wKEkpe3JldHVybiBuZXcgRGF0ZShJKS50b0xvY2FsZVRpbWVTdHJpbmcoImVuLVVTIix7aG91cjEyOiExLGhvdXI6IjItZGlnaXQiLG1pbnV0ZToiMi1kaWdpdCIsc2Vjb25kOiIyLWRpZ2l0IixmcmFjdGlvbmFsU2Vjb25kRGlnaXRzOjN9KX1hcHBseUhpZ2hsaWdodHMoSSl7bGV0IHE9Wy4uLnRoaXMuaGlnaGxpZ2h0S2V5d29yZHNdO2lmKHRoaXMuZmlsdGVyTW9kZSYmdGhpcy5zZWFyY2hRdWVyeSYmcS5wdXNoKHRoaXMuc2VhcmNoUXVlcnkpLHEubGVuZ3RoPT09MClyZXR1cm4gSTtsZXQgY2U9STtmb3IobGV0IHVlIG9mIHEpe2xldCBZPXVlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLCJcXCQmIiksUT1uZXcgUmVnRXhwKGAoJHtZfSlgLCJnaSIpO2NlPWNlLnJlcGxhY2UoUSwiXHgxQls0M21ceDFCWzMwbSQxXHgxQlswbSIpfXJldHVybiBjZX13cml0ZVJhdyhJKXt0aGlzLnRlcm1pbmFsJiYodGhpcy50ZXJtaW5hbC53cml0ZShJKSx0aGlzLnJlY29yZExvZ0V2ZW50KCksdGhpcy5hdXRvU2Nyb2xsJiZ0aGlzLnRlcm1pbmFsLnNjcm9sbFRvQm90dG9tKCkpfXdyaXRlbG5SYXcoSSl7dGhpcy50ZXJtaW5hbCYmKHRoaXMudGVybWluYWwud3JpdGVsbihJKSx0aGlzLnJlY29yZExvZ0V2ZW50KCksdGhpcy5hdXRvU2Nyb2xsJiZ0aGlzLnRlcm1pbmFsLnNjcm9sbFRvQm90dG9tKCkpfWhhbmRsZVNlYXJjaElucHV0KEkpe2xldCBjZT1JLnRhcmdldC52YWx1ZSx1ZT10aGlzLnNlYXJjaFF1ZXJ5IT09Y2U7dGhpcy5zZWFyY2hRdWVyeT1jZSx0aGlzLmZpbHRlck1vZGUmJnVlP3RoaXMucmVSZW5kZXJGaWx0ZXJlZExvZ3MoKTp0aGlzLnNlYXJjaFF1ZXJ5JiZ0aGlzLnNlYXJjaEFkZG9uPy5maW5kTmV4dCh0aGlzLnNlYXJjaFF1ZXJ5KX1oYW5kbGVTZWFyY2hLZXlkb3duKEkpe0kua2V5PT09IkVudGVyIj9JLnNoaWZ0S2V5P3RoaXMuc2VhcmNoUHJldmlvdXMoKTp0aGlzLnNlYXJjaE5leHQoKTpJLmtleT09PSJFc2NhcGUiJiYodGhpcy5zZWFyY2hRdWVyeT0iIixJLnRhcmdldC52YWx1ZT0iIil9c2VhcmNoKEkpe3RoaXMuc2VhcmNoUXVlcnk9SSx0aGlzLnNlYXJjaEFkZG9uPy5maW5kTmV4dChJKX1zZWFyY2hOZXh0KCl7dGhpcy5zZWFyY2hRdWVyeSYmdGhpcy5zZWFyY2hBZGRvbj8uZmluZE5leHQodGhpcy5zZWFyY2hRdWVyeSl9c2VhcmNoUHJldmlvdXMoKXt0aGlzLnNlYXJjaFF1ZXJ5JiZ0aGlzLnNlYXJjaEFkZG9uPy5maW5kUHJldmlvdXModGhpcy5zZWFyY2hRdWVyeSl9dG9nZ2xlQXV0b1Njcm9sbCgpe3RoaXMuYXV0b1Njcm9sbD0hdGhpcy5hdXRvU2Nyb2xsLHRoaXMuYXV0b1Njcm9sbCYmdGhpcy50ZXJtaW5hbCYmdGhpcy50ZXJtaW5hbC5zY3JvbGxUb0JvdHRvbSgpfXRvZ2dsZUZpbHRlck1vZGUoKXt0aGlzLmZpbHRlck1vZGU9IXRoaXMuZmlsdGVyTW9kZSx0aGlzLnJlUmVuZGVyRmlsdGVyZWRMb2dzKCl9cmVSZW5kZXJGaWx0ZXJlZExvZ3MoKXtpZih0aGlzLnRlcm1pbmFsKXtpZih0aGlzLnRlcm1pbmFsLmNsZWFyKCksdGhpcy50cmFpbGluZ0hpZGRlbkNvdW50PTAsIXRoaXMuZmlsdGVyTW9kZXx8IXRoaXMuc2VhcmNoUXVlcnkpZm9yKGxldCBJIG9mIHRoaXMubG9nQnVmZmVyKXtsZXQgcT10aGlzLmZvcm1hdExvZ0VudHJ5KEkpO3RoaXMudGVybWluYWwud3JpdGVsbihxKX1lbHNle2xldCBJPTA7Zm9yKGxldCBxIG9mIHRoaXMubG9nQnVmZmVyKWlmKHRoaXMuZW50cnlNYXRjaGVzRmlsdGVyKHEpKXtJPjAmJih0aGlzLndyaXRlSGlkZGVuUGxhY2Vob2xkZXIoSSksST0wKTtsZXQgY2U9dGhpcy5mb3JtYXRMb2dFbnRyeShxKTt0aGlzLnRlcm1pbmFsLndyaXRlbG4oY2UpfWVsc2UgSSsrO0k+MCYmKHRoaXMud3JpdGVIaWRkZW5QbGFjZWhvbGRlcihJKSx0aGlzLnRyYWlsaW5nSGlkZGVuQ291bnQ9SSl9dGhpcy5hdXRvU2Nyb2xsJiZ0aGlzLnRlcm1pbmFsLnNjcm9sbFRvQm90dG9tKCl9fXdyaXRlSGlkZGVuUGxhY2Vob2xkZXIoSSl7bGV0IHE9Ilx4MUJbMm0iLGNlPSJceDFCWzBtIix1ZT1JPT09MT8iWzEgbG9nIGxpbmUgaGlkZGVuIGJ5IGZpbHRlciAuLi5dIjpgWyR7SX0gbG9nIGxpbmVzIGhpZGRlbiBieSBmaWx0ZXIgLi4uXWA7dGhpcy50ZXJtaW5hbD8ud3JpdGVsbihgJHtxfSR7dWV9JHtjZX1gKX1jbGVhckxvZ3MoKXt0aGlzLnRlcm1pbmFsPy5jbGVhcigpLHRoaXMubG9nQnVmZmVyPVtdLHRoaXMudHJhaWxpbmdIaWRkZW5Db3VudD0wLHRoaXMucmVzZXRNZXRyaWNzKCl9c2Nyb2xsVG9Cb3R0b20oKXt0aGlzLnRlcm1pbmFsPy5zY3JvbGxUb0JvdHRvbSgpfXVwZGF0ZU1ldHJpY3MoSSl7dGhpcy5tZXRyaWNzPXsuLi50aGlzLm1ldHJpY3MsW0ldOnRoaXMubWV0cmljc1tJXSsxLHRvdGFsOnRoaXMubWV0cmljcy50b3RhbCsxfSx0aGlzLnJlY29yZExvZ0V2ZW50KCl9cmVjb3JkTG9nRXZlbnQoKXt0aGlzLnJhdGVCdWZmZXIucHVzaChEYXRlLm5vdygpKX1jYWxjdWxhdGVSYXRlKCl7bGV0IEk9RGF0ZS5ub3coKTt0aGlzLnJhdGVCdWZmZXI9dGhpcy5yYXRlQnVmZmVyLmZpbHRlcihjZT0+SS1jZTwxZTQpO2xldCBxPXRoaXMucmF0ZUJ1ZmZlci5sZW5ndGgvMTA7cSE9PXRoaXMubWV0cmljcy5yYXRlJiYodGhpcy5tZXRyaWNzPXsuLi50aGlzLm1ldHJpY3MscmF0ZTpxfSl9cmVzZXRNZXRyaWNzKCl7dGhpcy5tZXRyaWNzPXtkZWJ1ZzowLGluZm86MCx3YXJuOjAsZXJyb3I6MCxzdWNjZXNzOjAsdG90YWw6MCxyYXRlOjB9LHRoaXMucmF0ZUJ1ZmZlcj1bXX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5yZXNpemVPYnNlcnZlciYmdGhpcy5yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uJiZ0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLnJhdGVJbnRlcnZhbCYmY2xlYXJJbnRlcnZhbCh0aGlzLnJhdGVJbnRlcnZhbCksdGhpcy50ZXJtaW5hbCYmdGhpcy50ZXJtaW5hbC5kaXNwb3NlKCl9c3RhdGlje0NyKHIsdCl9fTtyZXR1cm4gbWU9cn0pKCl9KTt2YXIgR2NhPWYoKCk9PntXY2EoKX0pO3ZhciBZY2EsS2NhPWYoKCk9PntsZSgpO05hKCk7Z1FlKCk7WWNhPXMoKCk9PntsZXQgYT1be25hbWU6IkxhdGVuY3kiLG1heDoxMDB9LHtuYW1lOiJUaHJvdWdocHV0IixtYXg6MTAwfSx7bmFtZToiQXZhaWxhYmlsaXR5IixtYXg6MTAwfSx7bmFtZToiRXJyb3IgUmF0ZSIsbWF4OjEwMH0se25hbWU6IlNhdHVyYXRpb24iLG1heDoxMDB9LHtuYW1lOiJTZWN1cml0eSIsbWF4OjEwMH1dLGU9W3tuYW1lOiJTZXJ2aWNlIEEiLHZhbHVlczpbODUsOTAsOTksMTIsNDUsNzhdfSx7bmFtZToiU2VydmljZSBCIix2YWx1ZXM6WzcwLDY1LDk1LDI4LDYwLDkwXX1dLHQ9W3tuYW1lOiJTcGVlZCIsbWF4OjEwfSx7bmFtZToiUmVsaWFiaWxpdHkiLG1heDoxMH0se25hbWU6IkNvbWZvcnQiLG1heDoxMH0se25hbWU6IlNhZmV0eSIsbWF4OjEwfSx7bmFtZToiQ29zdCIsbWF4OjEwfV0scj1be25hbWU6IlJhdGluZyIsdmFsdWVzOls4LjUsOS4yLDcsOS41LDZdfV07cmV0dXJuIHdgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBpPT57bGV0IG89aS5xdWVyeVNlbGVjdG9yKCIjY29tcGFyaXNvbi1jaGFydCIpLG49aS5xdWVyeVNlbGVjdG9yKCIjc2luZ2xlLWNoYXJ0Iik7aS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goZD0+e2QudGV4dD8udHJpbSgpPT09IlJhbmRvbWl6ZSImJmQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57by5zZXJpZXM9ZS5tYXAocD0+KHsuLi5wLHZhbHVlczpwLnZhbHVlcy5tYXAoKCk9Pk1hdGgucm91bmQoMjArTWF0aC5yYW5kb20oKSo4MCkpfSkpLG4uc2VyaWVzPXIubWFwKHA9Pih7Li4ucCx2YWx1ZXM6cC52YWx1ZXMubWFwKCgpPT5NYXRoLnJvdW5kKCgyK01hdGgucmFuZG9tKCkqOCkqMTApLzEwKX0pKX0pfSl9fT4KICAgICAgPHN0eWxlPgogICAgICAgICR7WGAKICAgICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgfQogICAgICAgICAgLmNoYXJ0Um93IHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuY29udHJvbHMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgIH0KICAgICAgICAgIC5pbmZvIHsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICAgIH0KICAgICAgICBgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vQm94Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkFjdGlvbnM6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlJhbmRvbWl6ZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydFJvdyI+CiAgICAgICAgICA8ZGVlcy1jaGFydC1yYWRhcgogICAgICAgICAgICBpZD0iY29tcGFyaXNvbi1jaGFydCIKICAgICAgICAgICAgLmxhYmVsPSR7IlNlcnZpY2UgSGVhbHRoIENvbXBhcmlzb24ifQogICAgICAgICAgICAuaW5kaWNhdG9ycz0ke2F9CiAgICAgICAgICAgIC5zZXJpZXM9JHtlfQogICAgICAgICAgPjwvZGVlcy1jaGFydC1yYWRhcj4KCiAgICAgICAgICA8ZGVlcy1jaGFydC1yYWRhcgogICAgICAgICAgICBpZD0ic2luZ2xlLWNoYXJ0IgogICAgICAgICAgICAubGFiZWw9JHsiUHJvZHVjdCBSYXRpbmcifQogICAgICAgICAgICAuaW5kaWNhdG9ycz0ke3R9CiAgICAgICAgICAgIC5zZXJpZXM9JHtyfQogICAgICAgICAgICAuZmlsbEFyZWE9JHshMH0KICAgICAgICAgID48L2RlZXMtY2hhcnQtcmFkYXI+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImluZm8iPgogICAgICAgICAgUmFkYXIgY2hhcnQgZm9yIG11bHRpLWRpbWVuc2lvbmFsIGNvbXBhcmlzb24g4oCiCiAgICAgICAgICBTdXBwb3J0cyBtdWx0aXBsZSBvdmVybGF5IHNlcmllcyBhbmQgY29uZmlndXJhYmxlIGZpbGwg4oCiCiAgICAgICAgICBDbGljayAnUmFuZG9taXplJyB0byB1cGRhdGUgZGF0YQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfSwiZGVtb0Z1bmMiKX0pO3ZhciBaY2EsWGNhPWYoKCk9PntsZSgpO1lXKCk7WmNhPVsuLi5QNCxYYGBdfSk7dmFyIFFjYSxKY2E9ZigoKT0+e2xlKCk7UWNhPXMoYT0+d2AKICAgIDxkZWVzLXRpbGU+CiAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2hhcnRIZWFkZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJjaGFydExhYmVsIj4ke2EubGFiZWx9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2hhcnRDb250YWluZXIiPjwvZGl2PgogICAgPC9kZWVzLXRpbGU+CiAgYCwicmVuZGVyQ2hhcnRSYWRhciIpfSk7dmFyIEtXLFRjLGUwYSxnUWU9ZigoKT0+e2xlKCk7R1coKTtLY2EoKTtYY2EoKTtKY2EoKTtWbSgpO0tXPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxUYz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sZTBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1jaGFydC1yYWRhciIpXSxlLHQ9W10scixpPV9jLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQ2hhcnRSYWRhciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBrPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpBcnJheX0pXSx1PVskKHt0eXBlOkJvb2xlYW59KV0seD1bJCh7dHlwZTpCb29sZWFufSldLEtXKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5kaWNhdG9ycyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iaW5kaWNhdG9ycyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmluZGljYXRvcnMsImdldCIpLHNldDpzKChDLE4pPT57Qy5pbmRpY2F0b3JzPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSxLVyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcmllcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ic2VyaWVzImluIEMsImhhcyIpLGdldDpzKEM9PkMuc2VyaWVzLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0Muc2VyaWVzPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSxLVyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dMZWdlbmQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InNob3dMZWdlbmQiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5zaG93TGVnZW5kLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0Muc2hvd0xlZ2VuZD1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG0sdiksS1codGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxsQXJlYSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iZmlsbEFyZWEiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5maWxsQXJlYSwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmZpbGxBcmVhPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSxLVyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfXN0YXRpYyBkZW1vPVljYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNoYXJ0Il07I2U9VGModGhpcyxuLFtdKTtnZXQgaW5kaWNhdG9ycygpe3JldHVybiB0aGlzLiNlfXNldCBpbmRpY2F0b3JzKGspe3RoaXMuI2U9a30jdD0oVGModGhpcyxsKSxUYyh0aGlzLGMsW10pKTtnZXQgc2VyaWVzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlcmllcyhrKXt0aGlzLiN0PWt9I2E9KFRjKHRoaXMscCksVGModGhpcyxtLCEwKSk7Z2V0IHNob3dMZWdlbmQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd0xlZ2VuZChrKXt0aGlzLiNhPWt9I3I9KFRjKHRoaXMsdiksVGModGhpcyxiLCEwKSk7Z2V0IGZpbGxBcmVhKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGZpbGxBcmVhKGspe3RoaXMuI3I9a31zdGF0aWMgc3R5bGVzPVpjYTtyZW5kZXIoKXtyZXR1cm4gUWNhKHRoaXMpfWFzeW5jIHVwZGF0ZWQoayl7c3VwZXIudXBkYXRlZChrKSx0aGlzLmNoYXJ0SW5zdGFuY2UmJihrLmhhcygiaW5kaWNhdG9ycyIpfHxrLmhhcygic2VyaWVzIil8fGsuaGFzKCJzaG93TGVnZW5kIil8fGsuaGFzKCJmaWxsQXJlYSIpKSYmdGhpcy51cGRhdGVDaGFydCgpfWJ1aWxkT3B0aW9uKCl7bGV0IGs9QTQodGhpcy5nb0JyaWdodCksQz0kNCh0aGlzLmdvQnJpZ2h0KSxOPXRoaXMuZ29CcmlnaHQ/LjE6LjE1LF89dGhpcy5zZXJpZXMubWFwKCh6LE8pPT57bGV0IFQ9ei5jb2xvcnx8Q1tPJUMubGVuZ3RoXTtyZXR1cm57bmFtZTp6Lm5hbWUsdmFsdWU6ei52YWx1ZXMsaXRlbVN0eWxlOntjb2xvcjpULGJvcmRlckNvbG9yOlQsYm9yZGVyV2lkdGg6MX0sbGluZVN0eWxlOntjb2xvcjpULHdpZHRoOjEuNX0sYXJlYVN0eWxlOnRoaXMuZmlsbEFyZWE/e2NvbG9yOkQ0KFQsTil9OnZvaWQgMCxzeW1ib2w6ImNpcmNsZSIsc3ltYm9sU2l6ZTo1fX0pO3JldHVybnt0b29sdGlwOnt0cmlnZ2VyOiJpdGVtIn0sbGVnZW5kOnRoaXMuc2hvd0xlZ2VuZCYmdGhpcy5zZXJpZXMubGVuZ3RoPjE/e2JvdHRvbTo4LGl0ZW1XaWR0aDoxMCxpdGVtSGVpZ2h0OjEwfTp7c2hvdzohMX0scmFkYXI6e2luZGljYXRvcjp0aGlzLmluZGljYXRvcnMubWFwKHo9Pih7bmFtZTp6Lm5hbWUsbWF4OnoubWF4fSkpLHNoYXBlOiJwb2x5Z29uIixzcGxpdE51bWJlcjo0LGF4aXNOYW1lOntjb2xvcjprLnRleHRTZWNvbmRhcnksZm9udFNpemU6MTF9LHNwbGl0QXJlYTp7YXJlYVN0eWxlOntjb2xvcjpbay5iZ1RlcnRpYXJ5LGsuYmdTZWNvbmRhcnldfX0sc3BsaXRMaW5lOntsaW5lU3R5bGU6e2NvbG9yOmsuYm9yZGVyRGVmYXVsdH19LGF4aXNMaW5lOntsaW5lU3R5bGU6e2NvbG9yOmsuYm9yZGVyRGVmYXVsdH19fSxzZXJpZXM6W3t0eXBlOiJyYWRhciIsZGF0YTpfLGVtcGhhc2lzOntsaW5lU3R5bGU6e3dpZHRoOjN9fX1dfX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksVGModGhpcyxnKX1zdGF0aWN7VGMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIHQwYT1mKCgpPT57Z1FlKCl9KTt2YXIgYTBhPWYoKCk9PntmY2EoKTtDY2EoKTtFY2EoKTtxY2EoKTtHY2EoKTt0MGEoKX0pO3ZhciByMGEsczBhPWYoKCk9PntsZSgpO3IwYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vV3JhcHBlciB7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMzJweDsKICAgIH0KICAgIAogICAgLnNlY3Rpb24gewogICAgICBtYXgtd2lkdGg6IDkwMHB4OwogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgfQogICAgCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW9XcmFwcGVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5UeXBlU2NyaXB0IENvZGUgRXhhbXBsZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BIGNvbXByZWhlbnNpdmUgVHlwZVNjcmlwdCBjb2RlIGV4YW1wbGUgd2l0aCB2YXJpb3VzIHN5bnRheCBoaWdobGlnaHRpbmcuPC9kaXY+CiAgICAgIDxkZWVzLWRhdGF2aWV3LWNvZGVib3ggcHJvZ2xhbmc9InR5cGVzY3JpcHQiPgppbnRlcmZhY2UgVXNlciB7CiAgaWQ6IG51bWJlcjsKICBuYW1lOiBzdHJpbmc7CiAgZW1haWw6IHN0cmluZzsKICBpc0FjdGl2ZTogYm9vbGVhbjsKfQoKY2xhc3MgVXNlclNlcnZpY2UgewogIHByaXZhdGUgdXNlcnM6IFVzZXJbXSA9IFtdOwogIAogIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpVXJsOiBzdHJpbmcpIHsKICAgIGNvbnNvbGUubG9nKCdVc2VyU2VydmljZSBpbml0aWFsaXplZCcpOwogIH0KICAKICBhc3luYyBnZXRVc2VycygpOiBQcm9taXNlPFVzZXJbXT4gewogICAgdHJ5IHsKICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0aGlzLmFwaVVybCk7CiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7CiAgICAgIHJldHVybiBkYXRhLnVzZXJzOwogICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGZldGNoIHVzZXJzOicsIGVycm9yKTsKICAgICAgcmV0dXJuIFtdOwogICAgfQogIH0KICAKICBhZGRVc2VyKHVzZXI6IFVzZXIpOiB2b2lkIHsKICAgIHRoaXMudXNlcnMucHVzaCh1c2VyKTsKICB9Cn0KCi8vIFVzYWdlIGV4YW1wbGUKY29uc3Qgc2VydmljZSA9IG5ldyBVc2VyU2VydmljZSgnaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdXNlcnMnKTsKY29uc3QgdXNlcnMgPSBhd2FpdCBzZXJ2aWNlLmdldFVzZXJzKCk7CmNvbnNvbGUubG9nKCdGb3VuZCB1c2VyczonLCB1c2Vycy5sZW5ndGgpOwogICAgICA8L2RlZXMtZGF0YXZpZXctY29kZWJveD4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SmF2YVNjcmlwdCBFeGFtcGxlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPk1vZGVybiBKYXZhU2NyaXB0IHdpdGggRVM2KyBmZWF0dXJlcy48L2Rpdj4KICAgICAgPGRlZXMtZGF0YXZpZXctY29kZWJveCBwcm9nbGFuZz0iamF2YXNjcmlwdCI+Ci8vIEFycmF5IG1hbmlwdWxhdGlvbiBleGFtcGxlcwpjb25zdCBudW1iZXJzID0gWzEsIDIsIDMsIDQsIDVdOwpjb25zdCBkb3VibGVkID0gbnVtYmVycy5tYXAobiA9PiBuICogMik7CmNvbnN0IGZpbHRlcmVkID0gbnVtYmVycy5maWx0ZXIobiA9PiBuID4gMyk7CgovLyBPYmplY3QgZGVzdHJ1Y3R1cmluZwpjb25zdCB1c2VyID0geyBuYW1lOiAnSm9obicsIGFnZTogMzAsIGNpdHk6ICdOZXcgWW9yaycgfTsKY29uc3QgeyBuYW1lLCBhZ2UgfSA9IHVzZXI7CgovLyBQcm9taXNlIGhhbmRsaW5nCmNvbnN0IGZldGNoRGF0YSA9IGFzeW5jICh1cmwpID0+IHsKICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCk7CiAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTsKfTsKCi8vIE1vZGVybiBzeW50YXgKY29uc3QgZ3JlZXQgPSAobmFtZSA9ICdXb3JsZCcpID0+IFxgSGVsbG8sIFwke25hbWV9IVxgOwpjb25zb2xlLmxvZyhncmVldCgnU2hhZENOJykpOwogICAgICA8L2RlZXMtZGF0YXZpZXctY29kZWJveD4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UHl0aG9uIEV4YW1wbGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+UHl0aG9uIGNvZGUgd2l0aCBjbGFzc2VzIGFuZCB0eXBlIGhpbnRzLjwvZGl2PgogICAgICA8ZGVlcy1kYXRhdmlldy1jb2RlYm94IHByb2dsYW5nPSJweXRob24iPgpmcm9tIHR5cGluZyBpbXBvcnQgTGlzdCwgT3B0aW9uYWwKaW1wb3J0IGFzeW5jaW8KCmNsYXNzIERhdGFQcm9jZXNzb3I6CiAgICAiIiJBIHNpbXBsZSBkYXRhIHByb2Nlc3NvciBjbGFzcyIiIgogICAgCiAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZTogc3RyKToKICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCiAgICAgICAgc2VsZi5kYXRhOiBMaXN0W2RpY3RdID0gW10KICAgIAogICAgYXN5bmMgZGVmIHByb2Nlc3NfZGF0YShzZWxmLCBpdGVtczogTGlzdFtkaWN0XSkgLT4gTGlzdFtkaWN0XToKICAgICAgICAiIiJQcm9jZXNzIGRhdGEgaXRlbXMgYXN5bmNocm9ub3VzbHkiIiIKICAgICAgICByZXN1bHRzID0gW10KICAgICAgICBmb3IgaXRlbSBpbiBpdGVtczoKICAgICAgICAgICAgIyBTaW11bGF0ZSBhc3luYyBwcm9jZXNzaW5nCiAgICAgICAgICAgIGF3YWl0IGFzeW5jaW8uc2xlZXAoMC4xKQogICAgICAgICAgICByZXN1bHRzLmFwcGVuZCh7CiAgICAgICAgICAgICAgICAnaWQnOiBpdGVtLmdldCgnaWQnKSwKICAgICAgICAgICAgICAgICdwcm9jZXNzZWQnOiBUcnVlLAogICAgICAgICAgICAgICAgJ3Byb2Nlc3Nvcic6IHNlbGYubmFtZQogICAgICAgICAgICB9KQogICAgICAgIHJldHVybiByZXN1bHRzCiAgICAKICAgIGRlZiBnZXRfc3VtbWFyeShzZWxmKSAtPiBkaWN0OgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICdwcm9jZXNzb3InOiBzZWxmLm5hbWUsCiAgICAgICAgICAgICdpdGVtc19wcm9jZXNzZWQnOiBsZW4oc2VsZi5kYXRhKQogICAgICAgIH0KCiMgVXNhZ2UKcHJvY2Vzc29yID0gRGF0YVByb2Nlc3NvcigiTWFpbiIpCmRhdGEgPSBhd2FpdCBwcm9jZXNzb3IucHJvY2Vzc19kYXRhKFt7J2lkJzogMX0sIHsnaWQnOiAyfV0pCiAgICAgIDwvZGVlcy1kYXRhdmlldy1jb2RlYm94PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5DU1MgRXhhbXBsZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5Nb2Rlcm4gQ1NTIHdpdGggY3VzdG9tIHByb3BlcnRpZXMgYW5kIGFuaW1hdGlvbnMuIE5vdGUgdGhlIHNob3J0ZXIgbGFuZ3VhZ2UgbGFiZWwuPC9kaXY+CiAgICAgIDxkZWVzLWRhdGF2aWV3LWNvZGVib3ggcHJvZ2xhbmc9ImNzcyI+Ci8qIE1vZGVybiBDU1Mgd2l0aCBjdXN0b20gcHJvcGVydGllcyAqLwo6cm9vdCB7CiAgLS1wcmltYXJ5LWNvbG9yOiAjM2I4MmY2OwogIC0tc2Vjb25kYXJ5LWNvbG9yOiAjMTBiOTgxOwogIC0tYmFja2dyb3VuZDogI2ZmZmZmZjsKICAtLXRleHQtY29sb3I6ICMwOTA5MGI7CiAgLS1ib3JkZXItcmFkaXVzOiA2cHg7Cn0KCi5jYXJkIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kKTsKICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpOwogIHBhZGRpbmc6IDI0cHg7CiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwp9CgouY2FyZDpob3ZlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMSk7Cn0KCkBrZXlmcmFtZXMgZmFkZUluIHsKICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9CiAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KfQogICAgICA8L2RlZXMtZGF0YXZpZXctY29kZWJveD4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SlNPTiBFeGFtcGxlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkpTT04gY29uZmlndXJhdGlvbiB3aXRoIHByb3BlciBmb3JtYXR0aW5nLjwvZGl2PgogICAgICA8ZGVlcy1kYXRhdmlldy1jb2RlYm94IHByb2dsYW5nPSJqc29uIj4KewogICJuYW1lIjogIkBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZyIsCiAgInZlcnNpb24iOiAiMS4xMC43IiwKICAiZGVzY3JpcHRpb24iOiAiQSBjb21wcmVoZW5zaXZlIGNhdGFsb2cgb2Ygd2ViIGNvbXBvbmVudHMiLAogICJtYWluIjogImRpc3RfdHNfd2ViL2luZGV4LmpzIiwKICAidHlwZSI6ICJtb2R1bGUiLAogICJzY3JpcHRzIjogewogICAgImJ1aWxkIjogInRzYnVpbGQgdHNmb2xkZXJzIC0tYWxsb3dpbXBsaWNpdGFueSAmJiB0c2J1bmRsZSBlbGVtZW50IC0tcHJvZHVjdGlvbiIsCiAgICAid2F0Y2giOiAidHN3YXRjaCBlbGVtZW50IiwKICAgICJ0ZXN0IjogInRzdGVzdCB0ZXN0LyAtLXdlYiAtLXZlcmJvc2UiCiAgfSwKICAiZGVwZW5kZW5jaWVzIjogewogICAgIkBkZXNpZ24uZXN0YXRlL2RlZXMtZWxlbWVudCI6ICJeMi4wLjQ1IiwKICAgICJoaWdobGlnaHQuanMiOiAiXjExLjkuMCIKICB9Cn0KICAgICAgPC9kZWVzLWRhdGF2aWV3LWNvZGVib3g+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBiUWUsWlcsaTBhLHZRZT1mKCgpPT57czBhKCk7bGUoKTttcygpO1FlKCk7UmgoKTtlYSgpO1hyKCk7U2MoKTtRcigpO2JRZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sWlc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGkwYT0oKCk9PntsZXQgYT1baWUoImRlZXMtZGF0YXZpZXctY29kZWJveCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzRGF0YXZpZXdDb2RlYm94Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLGJRZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByb2dMYW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJwcm9nTGFuZyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnByb2dMYW5nLCJnZXQiKSxzZXQ6cygodix4KT0+e3YucHJvZ0xhbmc9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLGJRZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvZGVUb0Rpc3BsYXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImNvZGVUb0Rpc3BsYXkiaW4gdiwiaGFzIiksZ2V0OnModj0+di5jb2RlVG9EaXNwbGF5LCJnZXQiKSxzZXQ6cygodix4KT0+e3YuY29kZVRvRGlzcGxheT14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksYlFlKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cjBhO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGF0YSBWaWV3IiwiV29ya3NwYWNlIl07I2U9WlcodGhpcyxuLCJ0eXBlc2NyaXB0Iik7Z2V0IHByb2dMYW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHByb2dMYW5nKG0pe3RoaXMuI2U9bX0jdD0oWlcodGhpcyxsKSxaVyh0aGlzLGMsIiIpKTtnZXQgY29kZVRvRGlzcGxheSgpe3JldHVybiB0aGlzLiN0fXNldCBjb2RlVG9EaXNwbGF5KG0pe3RoaXMuI3Q9bX1zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXNdO2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHt0ci5zdHlsZXN9CiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KICAgICAgICBkZWVzLXRpbGUgewogICAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICB9CgogICAgICAgIC5hcHBiYXIgewogICAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgfQoKICAgICAgICAuYXBwYmFyIC5maWxlTmFtZSB7CiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAuYm90dG9tQmFyIHsKICAgICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgfQoKICAgICAgICAuc3BhY2VzTGFiZWwgewogICAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAubGFuZ3VhZ2VMYWJlbCB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIpfTsKICAgICAgICAgIHBhZGRpbmc6IDBweCAxNnB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLmhsanMta2V5d29yZCB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZjg3MTcxIil9OwogICAgICAgIH0KCiAgICAgICAgLmNvZGVncmlkIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHggYXV0bzsKICAgICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIH0KCiAgICAgICAgLmxpbmVOdW1iZXJzIHsKICAgICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgICAgcGFkZGluZzogMjRweCAxNnB4IDBweCAwcHg7CiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIH0KCiAgICAgICAgLmxpbmVDb3VudGVyOmxhc3QtY2hpbGQgewogICAgICAgICAgb3BhY2l0eTogNTAlOwogICAgICAgIH0KCiAgICAgICAgcHJlIHsKICAgICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgICBtYXJnaW46IDBweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHggMjRweDsKICAgICAgICB9CgogICAgICAgIGNvZGUgewogICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICAgIHBhZGRpbmc6IDBweDsKICAgICAgICAgIG1hcmdpbjogMHB4OwogICAgICAgIH0KCiAgICAgICAgY29kZSwKICAgICAgICBjb2RlICosCiAgICAgICAgLmxpbmVOdW1iZXJzIHsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7CiAgICAgICAgICBmb250LWZhbWlseTogJHtNZn07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1zdHJpbmcgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDU5NjY5IiwiIzEwYjk4MSIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLWJ1aWx0X2luIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzhiNWNmNiIsIiNhNzhiZmEiKX07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1mdW5jdGlvbiB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtcGFyYW1zIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA4OTFiMiIsIiMwNmI2ZDQiKX07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1jb21tZW50IHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1udW1iZXIgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZWE1ODBjIiwiI2ZiOTIzYyIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLWxpdGVyYWwgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLWF0dHIgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOGI1Y2Y2IiwiI2E3OGJmYSIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLXZhcmlhYmxlIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGVlcy10aWxlCiAgICAgICAgQGNvbnRleHRtZW51PSIke209Pnt0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhtLFt7bmFtZToiQWJvdXQiLGljb25OYW1lOiJjaXJjbGVJbmZvIixhY3Rpb246cyhhc3luYygpPT5udWxsLCJhY3Rpb24iKX1dKX19IgogICAgICA+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJhcHBiYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZU5hbWUiPmluZGV4LnRzPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29kZWdyaWQiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibGluZU51bWJlcnMiPgogICAgICAgICAgICAkeygoKT0+e2xldCBtPTA7cmV0dXJuIHRoaXMuY29kZVRvRGlzcGxheS5zcGxpdChgCmApLm1hcCh2PT4obSsrLHdgPGRpdiBjbGFzcz0ibGluZUNvdW50ZXIiPiR7bX08L2Rpdj5gKSl9KSgpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8cHJlPjxjb2RlPjwvY29kZT48L3ByZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImJvdHRvbUJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjZXNMYWJlbCI+U3BhY2VzOiAyPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZUxhYmVsIj4ke3RoaXMucHJvZ0xhbmd9PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH1jb2RlVG9EaXNwbGF5U3RvcmU9KFpXKHRoaXMscCksIiIpO2hpZ2hsaWdodEpzPW51bGw7YXN5bmMgdXBkYXRlZChtKXtzdXBlci51cGRhdGVkKG0pLGNvbnNvbGUubG9nKCJoaWdobGlnaHRpbmcgbm93IiksY29uc29sZS5sb2codGhpcy5jaGlsZE5vZGVzKTtsZXQgdj1bXTt0aGlzLmNoaWxkTm9kZXMuZm9yRWFjaChnPT57Zy5ub2RlTmFtZT09PSIjdGV4dCImJnYucHVzaChnKX0pLHRoaXMuY29kZVRvRGlzcGxheSYmdGhpcy5jb2RlVG9EaXNwbGF5IT09dGhpcy5jb2RlVG9EaXNwbGF5U3RvcmUmJih0aGlzLmNvZGVUb0Rpc3BsYXlTdG9yZT1NMy5ub3JtYWxpemUodGhpcy5jb2RlVG9EaXNwbGF5KS50cmltU3RhcnQoKSksdlswXSYmdlswXS53aG9sZVRleHQmJiF0aGlzLmNvZGVUb0Rpc3BsYXkmJih0aGlzLmNvZGVUb0Rpc3BsYXlTdG9yZT1NMy5ub3JtYWxpemUodlswXS53aG9sZVRleHQpLnRyaW1TdGFydCgpLHRoaXMuY29kZVRvRGlzcGxheT10aGlzLmNvZGVUb0Rpc3BsYXlTdG9yZSksYXdhaXQgSHQuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLmhpZ2hsaWdodEpzfHwodGhpcy5oaWdobGlnaHRKcz1hd2FpdCBPcy5nZXRJbnN0YW5jZSgpLmxvYWRIaWdobGlnaHRKcygpKTtsZXQgeD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiY29kZSIpLGI9dGhpcy5oaWdobGlnaHRKcy5oaWdobGlnaHQodGhpcy5jb2RlVG9EaXNwbGF5U3RvcmUse2xhbmd1YWdlOnRoaXMucHJvZ0xhbmcsaWdub3JlSWxsZWdhbHM6ITB9KTt4LmlubmVySFRNTD1iLnZhbHVlfXN0YXRpY3taVyhyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgbzBhPWYoKCk9Pnt2UWUoKX0pO3ZhciBuMGEsbDBhPWYoKCk9PntsZSgpOyRuKCk7bjBhPXMoKCk9PndgIDxzdHlsZT4KICAgIC5kZW1vIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNWY1ZjUiLCIjMGEwYTBhIil9OwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgY29udGVudDogJyc7CiAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICB9CiAgICAKICAgIC5kZW1vLWdyaWQgewogICAgICBkaXNwbGF5OiBncmlkOwogICAgICBnYXA6IDI0cHg7CiAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQogICAgCiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAxNnB4OwogICAgfQogICAgCiAgICAuZGVtby10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsKICAgIH0KICAgIAogICAgLmRlbW8tbm90ZSB7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtbyI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLW5vdGUiPgogICAgICBSaWdodC1jbGljayBvbiBhbnkgZGV0YWlsIHJvdyB0byBjb3B5IHRoZSB2YWx1ZSwga2V5LCBvciBrZXk6dmFsdWUgY29tYmluYXRpb24KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZGVtby1ncmlkIj4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXRpdGxlIj5TZXJ2aWNlIEhlYWx0aCBTdGF0dXM8L2Rpdj4KICAgICAgICA8ZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3QKICAgICAgICAgIC5zdGF0dXNPYmplY3Q9JHt7aWQ6IjEiLG5hbWU6IkFQSSBHYXRld2F5IFNlcnZpY2UiLGxhc3RVcGRhdGVkOkRhdGUubm93KCksY29tYmluZWRTdGF0dXM6Im9rIixjb21iaW5lZFN0YXR1c1RleHQ6IkFsbCBzeXN0ZW1zIG9wZXJhdGlvbmFsIixkZXRhaWxzOlt7bmFtZToiUmVzcG9uc2UgVGltZSIsdmFsdWU6IjQ1bXMgKGF2ZykiLHN0YXR1czoib2siLHN0YXR1c1RleHQ6IldpdGhpbiBub3JtYWwgcmFuZ2UifSx7bmFtZToiVXB0aW1lIix2YWx1ZToiOTkuOTklICgzMCBkYXlzKSIsc3RhdHVzOiJvayIsc3RhdHVzVGV4dDoiRXhjZWxsZW50IHVwdGltZSJ9LHtuYW1lOiJBY3RpdmUgQ29ubmVjdGlvbnMiLHZhbHVlOiIxLDIzNCAvIDEwLDAwMCIsc3RhdHVzOiJvayIsc3RhdHVzVGV4dDoiTm9ybWFsIGxvYWQifSx7bmFtZToiU1NMIENlcnRpZmljYXRlIix2YWx1ZToiVmFsaWQgdW50aWwgMjAyNC0xMi0zMSIsc3RhdHVzOiJvayIsc3RhdHVzVGV4dDoiQ2VydGlmaWNhdGUgdmFsaWQifV19fQogICAgICAgID4KICAgICAgICA8L2RlZXMtZGF0YXZpZXctc3RhdHVzb2JqZWN0PgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby10aXRsZSI+RGF0YWJhc2UgQ2x1c3RlciBTdGF0dXM8L2Rpdj4KICAgICAgICA8ZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3QKICAgICAgICAgIC5zdGF0dXNPYmplY3Q9JHt7aWQ6IjIiLG5hbWU6IlBvc3RncmVTUUwgQ2x1c3RlciIsbGFzdFVwZGF0ZWQ6RGF0ZS5ub3coKS0zNmU1LGNvbWJpbmVkU3RhdHVzOiJwYXJ0bHlfb2siLGNvbWJpbmVkU3RhdHVzVGV4dDoiTWlub3IgaXNzdWVzIGRldGVjdGVkIixkZXRhaWxzOlt7bmFtZToiUHJpbWFyeSBOb2RlIix2YWx1ZToiZGItcHJpbWFyeS0wMSAoaGVhbHRoeSkiLHN0YXR1czoib2siLHN0YXR1c1RleHQ6Ik9wZXJhdGluZyBub3JtYWxseSJ9LHtuYW1lOiJSZXBsaWNhIExhZyIsdmFsdWU6IjIuNSBzZWNvbmRzIixzdGF0dXM6InBhcnRseV9vayIsc3RhdHVzVGV4dDoiU2xpZ2h0bHkgZWxldmF0ZWQifSx7bmFtZToiRGlzayBVc2FnZSIsdmFsdWU6Ijc4JSAoMzEyR0IgLyA0MDBHQikiLHN0YXR1czoicGFydGx5X29rIixzdGF0dXNUZXh0OiJBcHByb2FjaGluZyB0aHJlc2hvbGQifSx7bmFtZToiQ29ubmVjdGlvbiBQb29sIix2YWx1ZToiODkgLyAxMDAgY29ubmVjdGlvbnMiLHN0YXR1czoib2siLHN0YXR1c1RleHQ6IldpdGhpbiBsaW1pdHMifV19fQogICAgICAgID4KICAgICAgICA8L2RlZXMtZGF0YXZpZXctc3RhdHVzb2JqZWN0PgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby10aXRsZSI+QnVpbGQgUGlwZWxpbmUgU3RhdHVzPC9kaXY+CiAgICAgICAgPGRlZXMtZGF0YXZpZXctc3RhdHVzb2JqZWN0CiAgICAgICAgICAuc3RhdHVzT2JqZWN0PSR7e2lkOiIzIixuYW1lOiJDSS9DRCBQaXBlbGluZSIsbGFzdFVwZGF0ZWQ6RGF0ZS5ub3coKS04NjRlNSxjb21iaW5lZFN0YXR1czoibm90X29rIixjb21iaW5lZFN0YXR1c1RleHQ6IkJ1aWxkIGZhaWx1cmUiLGRldGFpbHM6W3tuYW1lOiJMYXN0IEJ1aWxkIix2YWx1ZToiQnVpbGQgIzEyMzQgLSBGYWlsZWQiLHN0YXR1czoibm90X29rIixzdGF0dXNUZXh0OiJUZXN0IGZhaWx1cmVzIn0se25hbWU6IkZhaWxlZCBUZXN0cyIsdmFsdWU6IjMgdGVzdHMgZmFpbGVkOiBhdXRoLnNwZWMudHMsIHVzZXIuc3BlYy50cywgYXBpLnNwZWMudHMiLHN0YXR1czoibm90X29rIixzdGF0dXNUZXh0OiJVbml0IHRlc3QgZmFpbHVyZXMifSx7bmFtZToiQ29kZSBDb3ZlcmFnZSIsdmFsdWU6IjgyLjUlICh0YXJnZXQ6IDg1JSkiLHN0YXR1czoicGFydGx5X29rIixzdGF0dXNUZXh0OiJCZWxvdyB0YXJnZXQifSx7bmFtZToiQnVpbGQgRHVyYXRpb24iLHZhbHVlOiIxMm0gMzRzIixzdGF0dXM6Im9rIixzdGF0dXNUZXh0OiJOb3JtYWwgZHVyYXRpb24ifV19fQogICAgICAgID4KICAgICAgICA8L2RlZXMtZGF0YXZpZXctc3RhdHVzb2JqZWN0PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PmAsImRlbW9GdW5jIil9KTt2YXIgYzBhLHhRZSxkMGEsdTBhPWYoKCk9PntMMSgpO1dzKCk7bDBhKCk7bGUoKTskbigpO1hyKCk7UWUoKTtRcigpO2MwYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0seFFlPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxkMGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWRhdGF2aWV3LXN0YXR1c29iamVjdCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzRGF0YXZpZXdTdGF0dXNvYmplY3QiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxjMGEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXNPYmplY3QiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+InN0YXR1c09iamVjdCJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLnN0YXR1c09iamVjdCwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnN0YXR1c09iamVjdD11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksYzBhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89bjBhO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGF0YSBWaWV3Il07I2U9eFFlKHRoaXMsbix2b2lkIDApO2dldCBzdGF0dXNPYmplY3QoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3RhdHVzT2JqZWN0KGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCBzYW5zLXNlcmlmOwogICAgICB9CgogICAgICBkZWVzLXRpbGUgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAuaGVhZGluZyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgIH0KCiAgICAgIGgxIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLnN0YXR1c2RvdCB7CiAgICAgICAgaGVpZ2h0OiAxMHB4OwogICAgICAgIHdpZHRoOiAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICAgIG1hcmdpbjogYXV0bzsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklIC8gMC4yKSIsImhzbCgwIDAlIDQ1LjElIC8gMC4yKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAuY29weU1haW4gewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5jb3B5TWFpbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5jb3B5TWFpbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5MSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7CiAgICAgIH0KCiAgICAgIC5zdGF0dXNkb3Qub2sgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSAvIDAuMikiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjIpIil9OwogICAgICB9CgogICAgICAuc3RhdHVzZG90Lm5vdF9vayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlKSIsImhzbCgwIDcyLjIlIDUwLjYlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlIC8gMC4yKSIsImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4yKSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1c2RvdC5wYXJ0bHlfb2sgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjUgOTUlIDUzJSkiLCJoc2woMjUgOTUlIDYzJSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7aC5iZFRoZW1lKCJoc2woMjUgOTUlIDUzJSAvIDAuMikiLCJoc2woMjUgOTUlIDYzJSAvIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5kZXRhaWwgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7CiAgICAgICAgY3Vyc29yOiBjb250ZXh0LW1lbnU7CiAgICAgIH0KCiAgICAgIC5kZXRhaWw6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmRldGFpbDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMDQpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wNikiKX07CiAgICAgIH0KCiAgICAgIC5kZXRhaWwgLnN0YXR1c2RvdCB7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZGV0YWlsIC5kZXRhaWxzVGV4dCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwgLmRldGFpbHNUZXh0IC5sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmRldGFpbCAuZGV0YWlsc1RleHQgLnZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdJbnRlbCBPbmUgTW9ubycsICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuYm90dG9tQmFyIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuYm90dG9tQmFyIC5zdGF0dXNMYWJlbCB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJoZWFkaW5nIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1c2RvdCAke3RoaXMuc3RhdHVzT2JqZWN0Py5jb21iaW5lZFN0YXR1c30iPjwvZGl2PgogICAgICAgICAgPGgxPiR7dGhpcy5zdGF0dXNPYmplY3Q/Lm5hbWV8fCJObyBzdGF0dXMgb2JqZWN0IGFzc2lnbmVkIn08L2gxPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29weU1haW4iIEBjbGljaz0ke3RoaXMuaGFuZGxlQ29weUFzSnNvbn0+Q29weSBKU09OPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnN0YXR1c09iamVjdD8uZGV0YWlscz8ubWFwKGM9PndgCiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBjbGFzcz0iZGV0YWlsIgogICAgICAgICAgICAgIEBjb250ZXh0bWVudT0ke3A9PntwLnByZXZlbnREZWZhdWx0KCksdGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMocCxbe25hbWU6IkNvcHkgVmFsdWUiLGljb25OYW1lOiJsdWNpZGU6Y29weSIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IHRoaXMuY29weVRvQ2xpcGJvYXJkKGMudmFsdWUsIlZhbHVlIil9LCJhY3Rpb24iKX0se25hbWU6IkNvcHkgS2V5IixpY29uTmFtZToibHVjaWRlOmtleSIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IHRoaXMuY29weVRvQ2xpcGJvYXJkKGMubmFtZSwiS2V5Iil9LCJhY3Rpb24iKX0se25hbWU6IkNvcHkgS2V5OlZhbHVlIixpY29uTmFtZToibHVjaWRlOmNvcHktcGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IHRoaXMuY29weVRvQ2xpcGJvYXJkKGAke2MubmFtZX06ICR7Yy52YWx1ZX1gLCJLZXk6VmFsdWUiKX0sImFjdGlvbiIpfV0pfX0KICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1c2RvdCAke2Muc3RhdHVzfSI+PC9kaXY+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbHNUZXh0Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCI+JHtjLm5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InZhbHVlIj4ke2MudmFsdWV9PC9zcGFuPgogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImJvdHRvbUJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXNMYWJlbCI+JHt0aGlzLnN0YXR1c09iamVjdD8ubGFzdFVwZGF0ZWQ/YExhc3QgdXBkYXRlZDogJHtuZXcgRGF0ZSh0aGlzLnN0YXR1c09iamVjdC5sYXN0VXBkYXRlZCkudG9Mb2NhbGVTdHJpbmcoKX1gOiIifTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7fWFzeW5jIGNvcHlUb0NsaXBib2FyZChjLHA9IlRleHQiKXt0cnl7YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoYyksY29uc29sZS5sb2coYCR7cH0gY29waWVkIHRvIGNsaXBib2FyZGApfWNhdGNoKHUpe2NvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBjb3B5ICR7cH06YCx1KX19YXN5bmMgaGFuZGxlQ29weUFzSnNvbigpe2lmKHRoaXMuc3RhdHVzT2JqZWN0KXRyeXthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChKU09OLnN0cmluZ2lmeSh0aGlzLnN0YXR1c09iamVjdCxudWxsLDIpKTtsZXQgYz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvcHlNYWluIikscD1jLnRleHRDb250ZW50O2MudGV4dENvbnRlbnQ9IkNvcGllZCEiO2xldCB1PSF0aGlzLmdvQnJpZ2h0O2Muc3R5bGUuYmFja2dyb3VuZD11PyJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjEpIjoiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlIC8gMC4xKSIsYy5zdHlsZS5ib3JkZXJDb2xvcj11PyJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIjoiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsYy5zdHlsZS5jb2xvcj11PyJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIjoiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsc2V0VGltZW91dCgoKT0+e2MudGV4dENvbnRlbnQ9cCxjLnN0eWxlLmJhY2tncm91bmQ9IiIsYy5zdHlsZS5ib3JkZXJDb2xvcj0iIixjLnN0eWxlLmNvbG9yPSIifSwxNTAwKX1jYXRjaChjKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY29weToiLGMpfX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykseFFlKHRoaXMsbCl9c3RhdGlje3hRZShyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgcDBhPWYoKCk9Pnt1MGEoKX0pO3ZhciBmMGE9ZigoKT0+e0hzZSgpfSk7dmFyIHlRZSxoMGEsbTBhPWYoKCk9PntsZSgpO3dRZSgpO3lRZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJNb2NrU3RvcmFnZURhdGFQcm92aWRlciIpfW9iamVjdHM9bmV3IE1hcDtjb25zdHJ1Y3Rvcigpe2xldCBlPW5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTt0aGlzLm9iamVjdHMuc2V0KCJkb2N1bWVudHMvcmVhZG1lLm1kIix7Y29udGVudDpidG9hKGAjIFdlbGNvbWUKClRoaXMgaXMgYSBkZW1vIFN0b3JhZ2UgYnJvd3Nlci4KYCksY29udGVudFR5cGU6InRleHQvbWFya2Rvd24iLHNpemU6NDIsbGFzdE1vZGlmaWVkOmV9KSx0aGlzLm9iamVjdHMuc2V0KCJkb2N1bWVudHMvY29uZmlnLmpzb24iLHtjb250ZW50OmJ0b2EoYHsKICAibmFtZSI6ICJkZW1vIiwKICAidmVyc2lvbiI6ICIxLjAuMCIKfWApLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi9qc29uIixzaXplOjQ4LGxhc3RNb2RpZmllZDplfSksdGhpcy5vYmplY3RzLnNldCgiZG9jdW1lbnRzL25vdGVzL3RvZG8udHh0Iix7Y29udGVudDpidG9hKGBCdXkgbWlsawpGaXggYnVnICM0MgpEZXBsb3kgdG8gcHJvZHVjdGlvbmApLGNvbnRlbnRUeXBlOiJ0ZXh0L3BsYWluIixzaXplOjQ1LGxhc3RNb2RpZmllZDplfSksdGhpcy5vYmplY3RzLnNldCgiaW1hZ2VzL2xvZ28ucG5nIix7Y29udGVudDpidG9hKCJmYWtlLXBuZy1kYXRhIiksY29udGVudFR5cGU6ImltYWdlL3BuZyIsc2l6ZToyNDUwMCxsYXN0TW9kaWZpZWQ6ZX0pLHRoaXMub2JqZWN0cy5zZXQoImltYWdlcy9iYW5uZXIuanBnIix7Y29udGVudDpidG9hKCJmYWtlLWpwZy1kYXRhIiksY29udGVudFR5cGU6ImltYWdlL2pwZWciLHNpemU6MTU2ZTMsbGFzdE1vZGlmaWVkOmV9KSx0aGlzLm9iamVjdHMuc2V0KCJzY3JpcHRzL2RlcGxveS5zaCIse2NvbnRlbnQ6YnRvYShgIyEvYmluL2Jhc2gKZWNobyAiRGVwbG95aW5nLi4uIgpgKSxjb250ZW50VHlwZToidGV4dC9wbGFpbiIsc2l6ZTozNCxsYXN0TW9kaWZpZWQ6ZX0pLHRoaXMub2JqZWN0cy5zZXQoImluZGV4Lmh0bWwiLHtjb250ZW50OmJ0b2EoYDwhRE9DVFlQRSBodG1sPgo8aHRtbD4KPGJvZHk+CiAgPGgxPkhlbGxvIFdvcmxkPC9oMT4KPC9ib2R5Pgo8L2h0bWw+YCksY29udGVudFR5cGU6InRleHQvaHRtbCIsc2l6ZTo3MixsYXN0TW9kaWZpZWQ6ZX0pLHRoaXMub2JqZWN0cy5zZXQoInN0eWxlcy5jc3MiLHtjb250ZW50OmJ0b2EoImJvZHkgeyBtYXJnaW46IDA7IGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyB9IiksY29udGVudFR5cGU6InRleHQvY3NzIixzaXplOjQ0LGxhc3RNb2RpZmllZDplfSl9YXN5bmMgbGlzdE9iamVjdHMoZSx0LHIpe2xldCBpPXR8fCIiLG89W10sbj1uZXcgU2V0O2ZvcihsZXRbbCxkXW9mIHRoaXMub2JqZWN0cyl7aWYoIWwuc3RhcnRzV2l0aChpKSljb250aW51ZTtsZXQgYz1sLnNsaWNlKGkubGVuZ3RoKTtpZihyKXtsZXQgcD1jLmluZGV4T2Yocik7cD49MD9uLmFkZChpK2Muc2xpY2UoMCxwKzEpKTpvLnB1c2goe2tleTpsLHNpemU6ZC5zaXplLGxhc3RNb2RpZmllZDpkLmxhc3RNb2RpZmllZH0pfWVsc2Ugby5wdXNoKHtrZXk6bCxzaXplOmQuc2l6ZSxsYXN0TW9kaWZpZWQ6ZC5sYXN0TW9kaWZpZWR9KX1yZXR1cm57b2JqZWN0czpvLHByZWZpeGVzOkFycmF5LmZyb20obikuc29ydCgpfX1hc3luYyBnZXRPYmplY3QoZSx0KXtsZXQgcj10aGlzLm9iamVjdHMuZ2V0KHQpO2lmKCFyKXRocm93IG5ldyBFcnJvcigiTm90IGZvdW5kIik7cmV0dXJuey4uLnJ9fWFzeW5jIHB1dE9iamVjdChlLHQscixpKXtyZXR1cm4gdGhpcy5vYmplY3RzLnNldCh0LHtjb250ZW50OnIsY29udGVudFR5cGU6aSxzaXplOmF0b2IocikubGVuZ3RoLGxhc3RNb2RpZmllZDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9KSwhMH1hc3luYyBkZWxldGVPYmplY3QoZSx0KXtyZXR1cm4gdGhpcy5vYmplY3RzLmRlbGV0ZSh0KX1hc3luYyBkZWxldGVQcmVmaXgoZSx0KXtmb3IobGV0IHIgb2YgdGhpcy5vYmplY3RzLmtleXMoKSlyLnN0YXJ0c1dpdGgodCkmJnRoaXMub2JqZWN0cy5kZWxldGUocik7cmV0dXJuITB9YXN5bmMgZ2V0T2JqZWN0VXJsKGUsdCl7bGV0IHI9dGhpcy5vYmplY3RzLmdldCh0KTtpZighcilyZXR1cm4iIjtsZXQgaT1uZXcgQmxvYihbVWludDhBcnJheS5mcm9tKGF0b2Ioci5jb250ZW50KSxvPT5vLmNoYXJDb2RlQXQoMCkpXSx7dHlwZTpyLmNvbnRlbnRUeXBlfSk7cmV0dXJuIFVSTC5jcmVhdGVPYmplY3RVUkwoaSl9YXN5bmMgbW92ZU9iamVjdChlLHQscil7bGV0IGk9dGhpcy5vYmplY3RzLmdldCh0KTtyZXR1cm4gaT8odGhpcy5vYmplY3RzLnNldChyLHsuLi5pLGxhc3RNb2RpZmllZDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9KSx0aGlzLm9iamVjdHMuZGVsZXRlKHQpLHtzdWNjZXNzOiEwfSk6e3N1Y2Nlc3M6ITEsZXJyb3I6IlNvdXJjZSBub3QgZm91bmQifX1hc3luYyBtb3ZlUHJlZml4KGUsdCxyKXtsZXQgaT0wLG89QXJyYXkuZnJvbSh0aGlzLm9iamVjdHMuZW50cmllcygpKS5maWx0ZXIoKFtuXSk9Pm4uc3RhcnRzV2l0aCh0KSk7Zm9yKGxldFtuLGxdb2Ygbyl7bGV0IGQ9cituLnNsaWNlKHQubGVuZ3RoKTt0aGlzLm9iamVjdHMuc2V0KGQsey4uLmwsbGFzdE1vZGlmaWVkOm5ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0pLHRoaXMub2JqZWN0cy5kZWxldGUobiksaSsrfXJldHVybntzdWNjZXNzOiEwLG1vdmVkQ291bnQ6aX19fSxoMGE9cygoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBoZWlnaHQ6IDYwMHB4OwogICAgICBwYWRkaW5nOiAxNnB4OwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtc3RvcmFnZS1icm93c2VyCiAgICAgIC5kYXRhUHJvdmlkZXI9JHtuZXcgeVFlfQogICAgICAuYnVja2V0TmFtZT0keyJkZW1vLWJ1Y2tldCJ9CiAgICA+PC9kZWVzLXN0b3JhZ2UtYnJvd3Nlcj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO2Z1bmN0aW9uIFVtKGEpe2lmKGE9PW51bGwpcmV0dXJuIi0iO2lmKGE9PT0wKXJldHVybiIwIEIiO2xldCBlPVsiQiIsIktCIiwiTUIiLCJHQiIsIlRCIl0sdD1hLHI9MDtmb3IoO3Q+PTEwMjQmJnI8ZS5sZW5ndGgtMTspdC89MTAyNCxyKys7cmV0dXJuYCR7dC50b0ZpeGVkKHI+MD8xOjApfSAke2Vbcl19YH1mdW5jdGlvbiBnMGEoYSl7cmV0dXJuIGE9PW51bGw/IiI6YT49MWU2P2AkeyhhLzFlNikudG9GaXhlZCgxKX1NYDphPj0xZTM/YCR7KGEvMWUzKS50b0ZpeGVkKDEpfUtgOmEudG9TdHJpbmcoKX1mdW5jdGlvbiBtYShhKXtsZXQgZT1hLnJlcGxhY2UoL1wvJC8sIiIpLnNwbGl0KCIvIik7cmV0dXJuIGVbZS5sZW5ndGgtMV18fGF9ZnVuY3Rpb24gV20oYSxlKXtyZXR1cm4gYS5lbmRzV2l0aCgiLyIpJiZlLnN0YXJ0c1dpdGgoYSk/e3ZhbGlkOiExLGVycm9yOiJDYW5ub3QgbW92ZSBhIGZvbGRlciBpbnRvIGl0c2VsZiJ9OmoxKGEpPT09ZT97dmFsaWQ6ITEsZXJyb3I6Ikl0ZW0gaXMgYWxyZWFkeSBpbiB0aGlzIGxvY2F0aW9uIn06e3ZhbGlkOiEwfX1mdW5jdGlvbiBqMShhKXtsZXQgZT1hLmVuZHNXaXRoKCIvIik/YS5zbGljZSgwLC0xKTphLHQ9ZS5sYXN0SW5kZXhPZigiLyIpO3JldHVybiB0Pj0wP2Uuc3Vic3RyaW5nKDAsdCsxKToiIn1mdW5jdGlvbiBFNChhKXtyZXR1cm57anNvbjoiYXBwbGljYXRpb24vanNvbiIsdHh0OiJ0ZXh0L3BsYWluIixodG1sOiJ0ZXh0L2h0bWwiLGNzczoidGV4dC9jc3MiLGpzOiJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0Iix0czoidGV4dC90eXBlc2NyaXB0IixtZDoidGV4dC9tYXJrZG93biIseG1sOiJhcHBsaWNhdGlvbi94bWwiLHlhbWw6InRleHQveWFtbCIseW1sOiJ0ZXh0L3lhbWwiLGNzdjoidGV4dC9jc3YifVthXXx8ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSJ9ZnVuY3Rpb24gR20oYSl7cmV0dXJue2pzb246YHsKICAKfWAsaHRtbDpgPCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICA8dGl0bGU+PC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KICAKPC9ib2R5Pgo8L2h0bWw+YCxtZDpgIyBUaXRsZQoKYCx0eHQ6IiJ9W2FdfHwiIn1mdW5jdGlvbiBwNShhKXtpZighYSlyZXR1cm5bXTtsZXQgZT1hLnNwbGl0KCIvIikuZmlsdGVyKGk9PmkpLHQ9W10scj0iIjtmb3IobGV0IGkgb2YgZSlyKz1pKyIvIix0LnB1c2gocik7cmV0dXJuIHR9dmFyIFhXPWYoKCk9PntzKFVtLCJmb3JtYXRTaXplIik7cyhnMGEsImZvcm1hdENvdW50Iik7cyhtYSwiZ2V0RmlsZU5hbWUiKTtzKFdtLCJ2YWxpZGF0ZU1vdmUiKTtzKGoxLCJnZXRQYXJlbnRQcmVmaXgiKTtzKEU0LCJnZXRDb250ZW50VHlwZSIpO3MoR20sImdldERlZmF1bHRDb250ZW50Iik7cyhwNSwiZ2V0UGF0aFNlZ21lbnRzIil9KTt2YXIgT2EsdnQsYjBhLE1RZT1mKCgpPT57bGUoKTtYcigpO1FlKCk7WFcoKTtPYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sdnQ9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGIwYT0oKCk9PntsZXQgYT1baWUoImRlZXMtc3RvcmFnZS1jb2x1bW5zIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFEsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdLHllLFY9W10sSD1bXSxvZSxzZT1bXSx0ZT1bXSx6ZSxPZT1bXSxxZT1bXSxkdCwkZT1bXSxDZT1bXSxNZSxkZT1bXSx2ZT1bXSxBZSxaZT1bXSxudD1bXSx6dCxUZT1bXSx3ZT1bXSxSZSxmZT1bXSxiZT1bXSxFZSxmdD1bXSxtdD1bXSxJdCxYYT1bXSxKYT1bXSx3cyxVZT1bXSx1dD1bXSxRYSxNcj1bXSwkcj1bXSxWcixEcj1bXSx4bz1bXSx5byxMZT1bXSxTZT1bXSxCZSxpYT1bXSxNcz1bXTt2YXIgaGw9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTdG9yYWdlQ29sdW1ucyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB4ZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOk51bWJlcn0pXSx5PVtLKCldLE49W0soKV0sTz1bSygpXSxCPVtLKCldLEU9W0soKV0sVz1bSygpXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxRPVtLKCldLGdlPVtLKCldLHllPVtLKCldLG9lPVtLKCldLHplPVtLKCldLGR0PVtLKCldLE1lPVtLKCldLEFlPVtLKCldLHp0PVtLKCldLFJlPVtLKCldLEVlPVtLKCldLEl0PVtLKCldLHdzPVtLKCldLFFhPVtLKCldLFZyPVtLKCldLHlvPVtLKCldLEJlPVtLKCldLE9hKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YVByb3ZpZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4iZGF0YVByb3ZpZGVyImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuZGF0YVByb3ZpZGVyLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuZGF0YVByb3ZpZGVyPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxuLGwpLE9hKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYnVja2V0TmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImJ1Y2tldE5hbWUiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5idWNrZXROYW1lLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuYnVja2V0TmFtZT1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sYyxwKSxPYSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJjdXJyZW50UHJlZml4ImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuY3VycmVudFByZWZpeCwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLmN1cnJlbnRQcmVmaXg9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LG0sdiksT2EodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWZyZXNoS2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4icmVmcmVzaEtleSJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnJlZnJlc2hLZXksImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5yZWZyZXNoS2V5PV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxiLGcpLE9hKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sdW1ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImNvbHVtbnMiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5jb2x1bW5zLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuY29sdW1ucz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sayxDKSxPYSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJsb2FkaW5nImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUubG9hZGluZywiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLmxvYWRpbmc9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LF8seiksT2EodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93Q3JlYXRlRGlhbG9nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4ic2hvd0NyZWF0ZURpYWxvZyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnNob3dDcmVhdGVEaWFsb2csImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5zaG93Q3JlYXRlRGlhbG9nPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxULFApLE9hKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JlYXRlRGlhbG9nVHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImNyZWF0ZURpYWxvZ1R5cGUiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5jcmVhdGVEaWFsb2dUeXBlLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuY3JlYXRlRGlhbG9nVHlwZT1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sTSxTKSxPYSh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNyZWF0ZURpYWxvZ1ByZWZpeCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImNyZWF0ZURpYWxvZ1ByZWZpeCJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLmNyZWF0ZURpYWxvZ1ByZWZpeCwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLmNyZWF0ZURpYWxvZ1ByZWZpeD1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sQSxGKSxPYSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNyZWF0ZURpYWxvZ05hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJjcmVhdGVEaWFsb2dOYW1lImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuY3JlYXRlRGlhbG9nTmFtZSwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLmNyZWF0ZURpYWxvZ05hbWU9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LGosRyksT2EodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ092ZXJDb2x1bW5JbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImRyYWdPdmVyQ29sdW1uSW5kZXgiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5kcmFnT3ZlckNvbHVtbkluZGV4LCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuZHJhZ092ZXJDb2x1bW5JbmRleD1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sUixVKSxPYSh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkcmFnT3ZlckZvbGRlclByZWZpeCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImRyYWdPdmVyRm9sZGVyUHJlZml4ImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuZHJhZ092ZXJGb2xkZXJQcmVmaXgsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5kcmFnT3ZlckZvbGRlclByZWZpeD1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sSSxxKSxPYSh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ1cGxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJ1cGxvYWRpbmciaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS51cGxvYWRpbmcsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS51cGxvYWRpbmc9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LHVlLFkpLE9hKHRoaXMsbnVsbCxRLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidXBsb2FkUHJvZ3Jlc3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJ1cGxvYWRQcm9ncmVzcyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnVwbG9hZFByb2dyZXNzLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUudXBsb2FkUHJvZ3Jlc3M9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LEosWiksT2EodGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd01vdmVEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJzaG93TW92ZURpYWxvZyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnNob3dNb3ZlRGlhbG9nLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuc2hvd01vdmVEaWFsb2c9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LGFlLHJlKSxPYSh0aGlzLG51bGwseWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlU291cmNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4ibW92ZVNvdXJjZSJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLm1vdmVTb3VyY2UsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5tb3ZlU291cmNlPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxWLEgpLE9hKHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVEZXN0aW5hdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+Im1vdmVEZXN0aW5hdGlvbiJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLm1vdmVEZXN0aW5hdGlvbiwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLm1vdmVEZXN0aW5hdGlvbj1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sc2UsdGUpLE9hKHRoaXMsbnVsbCx6ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVJblByb2dyZXNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4ibW92ZUluUHJvZ3Jlc3MiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5tb3ZlSW5Qcm9ncmVzcywiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLm1vdmVJblByb2dyZXNzPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxPZSxxZSksT2EodGhpcyxudWxsLGR0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZUVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4ibW92ZUVycm9yImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUubW92ZUVycm9yLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUubW92ZUVycm9yPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSwkZSxDZSksT2EodGhpcyxudWxsLE1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd01vdmVQaWNrZXJEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJzaG93TW92ZVBpY2tlckRpYWxvZyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnNob3dNb3ZlUGlja2VyRGlhbG9nLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuc2hvd01vdmVQaWNrZXJEaWFsb2c9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LGRlLHZlKSxPYSh0aGlzLG51bGwsQWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyU291cmNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4ibW92ZVBpY2tlclNvdXJjZSJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLm1vdmVQaWNrZXJTb3VyY2UsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5tb3ZlUGlja2VyU291cmNlPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxaZSxudCksT2EodGhpcyxudWxsLHp0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZVBpY2tlckN1cnJlbnRQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJtb3ZlUGlja2VyQ3VycmVudFByZWZpeCJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4LCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUubW92ZVBpY2tlckN1cnJlbnRQcmVmaXg9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LFRlLHdlKSxPYSh0aGlzLG51bGwsUmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyUHJlZml4ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJtb3ZlUGlja2VyUHJlZml4ZXMiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5tb3ZlUGlja2VyUHJlZml4ZXMsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5tb3ZlUGlja2VyUHJlZml4ZXM9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LGZlLGJlKSxPYSh0aGlzLG51bGwsRWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyTG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+Im1vdmVQaWNrZXJMb2FkaW5nImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUubW92ZVBpY2tlckxvYWRpbmcsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5tb3ZlUGlja2VyTG9hZGluZz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sZnQsbXQpLE9hKHRoaXMsbnVsbCxJdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dSZW5hbWVEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJzaG93UmVuYW1lRGlhbG9nImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuc2hvd1JlbmFtZURpYWxvZywiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLnNob3dSZW5hbWVEaWFsb2c9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LFhhLEphKSxPYSh0aGlzLG51bGwsd3Mse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5hbWVTb3VyY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJyZW5hbWVTb3VyY2UiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5yZW5hbWVTb3VyY2UsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5yZW5hbWVTb3VyY2U9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LFVlLHV0KSxPYSh0aGlzLG51bGwsUWEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5hbWVOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4icmVuYW1lTmFtZSJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnJlbmFtZU5hbWUsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5yZW5hbWVOYW1lPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxNciwkciksT2EodGhpcyxudWxsLFZyLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVuYW1lSW5Qcm9ncmVzcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+InJlbmFtZUluUHJvZ3Jlc3MiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5yZW5hbWVJblByb2dyZXNzLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUucmVuYW1lSW5Qcm9ncmVzcz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sRHIseG8pLE9hKHRoaXMsbnVsbCx5byx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmFtZUVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4icmVuYW1lRXJyb3IiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5yZW5hbWVFcnJvciwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLnJlbmFtZUVycm9yPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxMZSxTZSksT2EodGhpcyxudWxsLEJlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ2dlZEl0ZW0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJkcmFnZ2VkSXRlbSJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLmRyYWdnZWRJdGVtLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuZHJhZ2dlZEl0ZW09X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LGlhLE1zKSxPYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp4ZX0sbnVsbCx0KSxobD1yPWUudmFsdWUseGUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6eGV9KX0jZT12dCh0aGlzLG4sbnVsbCk7Z2V0IGRhdGFQcm92aWRlcigpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhUHJvdmlkZXIoeGUpe3RoaXMuI2U9eGV9I3Q9KHZ0KHRoaXMsbCksdnQodGhpcyxjLCIiKSk7Z2V0IGJ1Y2tldE5hbWUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYnVja2V0TmFtZSh4ZSl7dGhpcy4jdD14ZX0jYT0odnQodGhpcyxwKSx2dCh0aGlzLG0sIiIpKTtnZXQgY3VycmVudFByZWZpeCgpe3JldHVybiB0aGlzLiNhfXNldCBjdXJyZW50UHJlZml4KHhlKXt0aGlzLiNhPXhlfSNyPSh2dCh0aGlzLHYpLHZ0KHRoaXMsYiwwKSk7Z2V0IHJlZnJlc2hLZXkoKXtyZXR1cm4gdGhpcy4jcn1zZXQgcmVmcmVzaEtleSh4ZSl7dGhpcy4jcj14ZX0jcz0odnQodGhpcyxnKSx2dCh0aGlzLGssW10pKTtnZXQgY29sdW1ucygpe3JldHVybiB0aGlzLiNzfXNldCBjb2x1bW5zKHhlKXt0aGlzLiNzPXhlfSNpPSh2dCh0aGlzLEMpLHZ0KHRoaXMsXywhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGxvYWRpbmcoeGUpe3RoaXMuI2k9eGV9I289KHZ0KHRoaXMseiksdnQodGhpcyxULCExKSk7Z2V0IHNob3dDcmVhdGVEaWFsb2coKXtyZXR1cm4gdGhpcy4jb31zZXQgc2hvd0NyZWF0ZURpYWxvZyh4ZSl7dGhpcy4jbz14ZX0jbj0odnQodGhpcyxQKSx2dCh0aGlzLE0sImZvbGRlciIpKTtnZXQgY3JlYXRlRGlhbG9nVHlwZSgpe3JldHVybiB0aGlzLiNufXNldCBjcmVhdGVEaWFsb2dUeXBlKHhlKXt0aGlzLiNuPXhlfSNsPSh2dCh0aGlzLFMpLHZ0KHRoaXMsQSwiIikpO2dldCBjcmVhdGVEaWFsb2dQcmVmaXgoKXtyZXR1cm4gdGhpcy4jbH1zZXQgY3JlYXRlRGlhbG9nUHJlZml4KHhlKXt0aGlzLiNsPXhlfSNjPSh2dCh0aGlzLEYpLHZ0KHRoaXMsaiwiIikpO2dldCBjcmVhdGVEaWFsb2dOYW1lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGNyZWF0ZURpYWxvZ05hbWUoeGUpe3RoaXMuI2M9eGV9I2Q9KHZ0KHRoaXMsRyksdnQodGhpcyxSLC0xKSk7Z2V0IGRyYWdPdmVyQ29sdW1uSW5kZXgoKXtyZXR1cm4gdGhpcy4jZH1zZXQgZHJhZ092ZXJDb2x1bW5JbmRleCh4ZSl7dGhpcy4jZD14ZX0jdT0odnQodGhpcyxVKSx2dCh0aGlzLEksbnVsbCkpO2dldCBkcmFnT3ZlckZvbGRlclByZWZpeCgpe3JldHVybiB0aGlzLiN1fXNldCBkcmFnT3ZlckZvbGRlclByZWZpeCh4ZSl7dGhpcy4jdT14ZX0jcD0odnQodGhpcyxxKSx2dCh0aGlzLHVlLCExKSk7Z2V0IHVwbG9hZGluZygpe3JldHVybiB0aGlzLiNwfXNldCB1cGxvYWRpbmcoeGUpe3RoaXMuI3A9eGV9I2Y9KHZ0KHRoaXMsWSksdnQodGhpcyxKLG51bGwpKTtnZXQgdXBsb2FkUHJvZ3Jlc3MoKXtyZXR1cm4gdGhpcy4jZn1zZXQgdXBsb2FkUHJvZ3Jlc3MoeGUpe3RoaXMuI2Y9eGV9I2g9KHZ0KHRoaXMsWiksdnQodGhpcyxhZSwhMSkpO2dldCBzaG93TW92ZURpYWxvZygpe3JldHVybiB0aGlzLiNofXNldCBzaG93TW92ZURpYWxvZyh4ZSl7dGhpcy4jaD14ZX0jbT0odnQodGhpcyxyZSksdnQodGhpcyxWLG51bGwpKTtnZXQgbW92ZVNvdXJjZSgpe3JldHVybiB0aGlzLiNtfXNldCBtb3ZlU291cmNlKHhlKXt0aGlzLiNtPXhlfSNnPSh2dCh0aGlzLEgpLHZ0KHRoaXMsc2UsIiIpKTtnZXQgbW92ZURlc3RpbmF0aW9uKCl7cmV0dXJuIHRoaXMuI2d9c2V0IG1vdmVEZXN0aW5hdGlvbih4ZSl7dGhpcy4jZz14ZX0jYj0odnQodGhpcyx0ZSksdnQodGhpcyxPZSwhMSkpO2dldCBtb3ZlSW5Qcm9ncmVzcygpe3JldHVybiB0aGlzLiNifXNldCBtb3ZlSW5Qcm9ncmVzcyh4ZSl7dGhpcy4jYj14ZX0jdj0odnQodGhpcyxxZSksdnQodGhpcywkZSxudWxsKSk7Z2V0IG1vdmVFcnJvcigpe3JldHVybiB0aGlzLiN2fXNldCBtb3ZlRXJyb3IoeGUpe3RoaXMuI3Y9eGV9I3g9KHZ0KHRoaXMsQ2UpLHZ0KHRoaXMsZGUsITEpKTtnZXQgc2hvd01vdmVQaWNrZXJEaWFsb2coKXtyZXR1cm4gdGhpcy4jeH1zZXQgc2hvd01vdmVQaWNrZXJEaWFsb2coeGUpe3RoaXMuI3g9eGV9I3k9KHZ0KHRoaXMsdmUpLHZ0KHRoaXMsWmUsbnVsbCkpO2dldCBtb3ZlUGlja2VyU291cmNlKCl7cmV0dXJuIHRoaXMuI3l9c2V0IG1vdmVQaWNrZXJTb3VyY2UoeGUpe3RoaXMuI3k9eGV9I3c9KHZ0KHRoaXMsbnQpLHZ0KHRoaXMsVGUsIiIpKTtnZXQgbW92ZVBpY2tlckN1cnJlbnRQcmVmaXgoKXtyZXR1cm4gdGhpcy4jd31zZXQgbW92ZVBpY2tlckN1cnJlbnRQcmVmaXgoeGUpe3RoaXMuI3c9eGV9I009KHZ0KHRoaXMsd2UpLHZ0KHRoaXMsZmUsW10pKTtnZXQgbW92ZVBpY2tlclByZWZpeGVzKCl7cmV0dXJuIHRoaXMuI019c2V0IG1vdmVQaWNrZXJQcmVmaXhlcyh4ZSl7dGhpcy4jTT14ZX0jaz0odnQodGhpcyxiZSksdnQodGhpcyxmdCwhMSkpO2dldCBtb3ZlUGlja2VyTG9hZGluZygpe3JldHVybiB0aGlzLiNrfXNldCBtb3ZlUGlja2VyTG9hZGluZyh4ZSl7dGhpcy4jaz14ZX0jUz0odnQodGhpcyxtdCksdnQodGhpcyxYYSwhMSkpO2dldCBzaG93UmVuYW1lRGlhbG9nKCl7cmV0dXJuIHRoaXMuI1N9c2V0IHNob3dSZW5hbWVEaWFsb2coeGUpe3RoaXMuI1M9eGV9I3o9KHZ0KHRoaXMsSmEpLHZ0KHRoaXMsVWUsbnVsbCkpO2dldCByZW5hbWVTb3VyY2UoKXtyZXR1cm4gdGhpcy4jen1zZXQgcmVuYW1lU291cmNlKHhlKXt0aGlzLiN6PXhlfSNDPSh2dCh0aGlzLHV0KSx2dCh0aGlzLE1yLCIiKSk7Z2V0IHJlbmFtZU5hbWUoKXtyZXR1cm4gdGhpcy4jQ31zZXQgcmVuYW1lTmFtZSh4ZSl7dGhpcy4jQz14ZX0jXz0odnQodGhpcywkciksdnQodGhpcyxEciwhMSkpO2dldCByZW5hbWVJblByb2dyZXNzKCl7cmV0dXJuIHRoaXMuI199c2V0IHJlbmFtZUluUHJvZ3Jlc3MoeGUpe3RoaXMuI189eGV9I1Q9KHZ0KHRoaXMseG8pLHZ0KHRoaXMsTGUsbnVsbCkpO2dldCByZW5hbWVFcnJvcigpe3JldHVybiB0aGlzLiNUfXNldCByZW5hbWVFcnJvcih4ZSl7dGhpcy4jVD14ZX0jTD0odnQodGhpcyxTZSksdnQodGhpcyxpYSxudWxsKSk7Z2V0IGRyYWdnZWRJdGVtKCl7cmV0dXJuIHRoaXMuI0x9c2V0IGRyYWdnZWRJdGVtKHhlKXt0aGlzLiNMPXhlfXJlc2l6aW5nPSh2dCh0aGlzLE1zKSxudWxsKTtERUZBVUxUX0NPTFVNTl9XSURUSD0yNTA7TUlOX0NPTFVNTl9XSURUSD0xNTA7TUFYX0NPTFVNTl9XSURUSD01MDA7ZHJhZ0NvdW50ZXJzPW5ldyBNYXA7Zm9sZGVySG92ZXJUaW1lcj1udWxsO2ZpbGVJbnB1dEVsZW1lbnQ9bnVsbDtmb2xkZXJJbnB1dEVsZW1lbnQ9bnVsbDtzdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUGUsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmNvbHVtbnMtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBtaW4td2lkdGg6IG1heC1jb250ZW50OwogICAgICB9CgogICAgICAuY29sdW1uLXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuY29sdW1uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZSB7CiAgICAgICAgd2lkdGg6IDVweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGU6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDJweDsKICAgICAgICB3aWR0aDogMXB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMzMiKX07CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlOmhvdmVyOjphZnRlciwKICAgICAgLnJlc2l6ZS1oYW5kbGUuYWN0aXZlOjphZnRlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNDA0MDQwIil9OwogICAgICAgIHdpZHRoOiAycHg7CiAgICAgICAgbGVmdDogMXB4OwogICAgICB9CgogICAgICAuY29sdW1uLXdyYXBwZXI6bGFzdC1jaGlsZCAucmVzaXplLWhhbmRsZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLmNvbHVtbi1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM2NjYiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMikiLCJyZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzMzMyIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4taXRlbXMgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4taXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xczsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA0KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIC5jb2x1bW4taXRlbS5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFkNGVkOCIsIiNlMGUwZTAiKX07CiAgICAgIH0KCiAgICAgIC5jb2x1bW4taXRlbS5mb2xkZXIgewogICAgICAgIGNvbG9yOiAjZmJiZjI0OwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW0gLmljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtIC5uYW1lIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtIC5jaGV2cm9uIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzU1NSIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNjY2Iil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmxvYWRpbmcgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgIH0KCiAgICAgIC5jb2x1bW4uZHJhZy1vdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4wOCk7CiAgICAgICAgb3V0bGluZTogMnB4IGRhc2hlZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC40KTsKICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtLmZvbGRlci5kcmFnLXRhcmdldCB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMikgIWltcG9ydGFudDsKICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuNSk7CiAgICAgIH0KCiAgICAgIC51cGxvYWQtb3ZlcmxheSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB9CgogICAgICAudXBsb2FkLW92ZXJsYXkgLnVwbG9hZC10ZXh0IHsKICAgICAgICBjb2xvcjogI2UwZTBlMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIC51cGxvYWQtb3ZlcmxheSAudXBsb2FkLXByb2dyZXNzIHsKICAgICAgICBjb2xvcjogIzg4ODsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIH0KCiAgICAgIC5kcmFnLWhpbnQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDhweDsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjkpOwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgei1pbmRleDogNTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1vdmVybGF5IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgfQoKICAgICAgLmRpYWxvZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMWUxZTFlIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtaW4td2lkdGg6IDQwMHB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC41KTsKICAgICAgfQoKICAgICAgLmRpYWxvZy10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWxvY2F0aW9uIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctaW5wdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxNDE0MTQiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjMzMzIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmRpYWxvZy1pbnB1dDpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiI2UwZTBlMCIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1oaW50IHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzY2NiIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZGlhbG9nLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4tY2FuY2VsIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiM0NDQiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2FhYSIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4tY2FuY2VsOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4tY3JlYXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiM0MDQwNDAiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNyZWF0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNTA1MDUwIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jcmVhdGU6ZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAvKiBNb3ZlIGRpYWxvZyBzdHlsZXMgKi8KICAgICAgLm1vdmUtc3VtbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLm1vdmUtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5tb3ZlLWl0ZW06bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLm1vdmUtbGFiZWwgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM4ODgiKX07CiAgICAgICAgbWluLXdpZHRoOiA0MHB4OwogICAgICB9CgogICAgICAubW92ZS1wYXRoIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzZjNmNDYiLCIjZTBlMGUwIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgfQoKICAgICAgLm1vdmUtZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTUpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7CiAgICAgICAgY29sb3I6ICNmODcxNzE7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLyogTW92ZSBwaWNrZXIgZGlhbG9nIHN0eWxlcyAqLwogICAgICAubW92ZS1waWNrZXItZGlhbG9nIHsKICAgICAgICBtaW4td2lkdGg6IDQ1MHB4OwogICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OwogICAgICB9CgogICAgICAucGlja2VyLWJyZWFkY3J1bWIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMCwgMCwgMCwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgfQoKICAgICAgLnBpY2tlci1jcnVtYiB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnBpY2tlci1jcnVtYjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLnBpY2tlci1zZXBhcmF0b3IgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiM1NTUiKX07CiAgICAgIH0KCiAgICAgIC5waWNrZXItbGlzdCB7CiAgICAgICAgbWF4LWhlaWdodDogMjgwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMzMiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgbWluLWhlaWdodDogMTAwcHg7CiAgICAgIH0KCiAgICAgIC5waWNrZXItaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogI2ZiYmYyNDsKICAgICAgfQoKICAgICAgLnBpY2tlci1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIC5waWNrZXItaXRlbSAuaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAucGlja2VyLWl0ZW0gLm5hbWUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAucGlja2VyLWVtcHR5IHsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNjY2Iil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtLmRyYWdnaW5nIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4taXRlbS5kcm9wLXRhcmdldCB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpICFpbXBvcnRhbnQ7CiAgICAgICAgb3V0bGluZTogMXB4IGRhc2hlZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC41KTsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtLmRyb3AtaW52YWxpZCB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKSAhaW1wb3J0YW50OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KICAgIGBdO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCB0aGlzLmxvYWRJbml0aWFsQ29sdW1uKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuY2xlYXJGb2xkZXJIb3ZlcigpLHRoaXMuZHJhZ0NvdW50ZXJzLmNsZWFyKCksdGhpcy5maWxlSW5wdXRFbGVtZW50JiYodGhpcy5maWxlSW5wdXRFbGVtZW50LnJlbW92ZSgpLHRoaXMuZmlsZUlucHV0RWxlbWVudD1udWxsKSx0aGlzLmZvbGRlcklucHV0RWxlbWVudCYmKHRoaXMuZm9sZGVySW5wdXRFbGVtZW50LnJlbW92ZSgpLHRoaXMuZm9sZGVySW5wdXRFbGVtZW50PW51bGwpfXVwZGF0ZWQoeGUpe3hlLmhhcygiYnVja2V0TmFtZSIpfHx4ZS5oYXMoImN1cnJlbnRQcmVmaXgiKT90aGlzLmxvYWRJbml0aWFsQ29sdW1uKCk6eGUuaGFzKCJyZWZyZXNoS2V5IikmJnRoaXMucmVmcmVzaEFsbENvbHVtbnMoKX1hc3luYyBsb2FkSW5pdGlhbENvbHVtbigpe2lmKHRoaXMuZGF0YVByb3ZpZGVyKXt0aGlzLmxvYWRpbmc9ITA7dHJ5e2xldCB4ZT1wNSh0aGlzLmN1cnJlbnRQcmVmaXgpLG5lPVsiIiwuLi54ZV0sX2U9YXdhaXQgUHJvbWlzZS5hbGwobmUubWFwKFdlPT50aGlzLmRhdGFQcm92aWRlci5saXN0T2JqZWN0cyh0aGlzLmJ1Y2tldE5hbWUsV2UsIi8iKSkpO3RoaXMuY29sdW1ucz1fZS5tYXAoKFdlLFN0KT0+e2xldCBrcz1uZVtTdF0sanI9U3Q8eGUubGVuZ3RoP3hlW1N0XTpudWxsO3JldHVybntwcmVmaXg6a3Msb2JqZWN0czpXZS5vYmplY3RzLHByZWZpeGVzOldlLnByZWZpeGVzLHNlbGVjdGVkSXRlbTpqcix3aWR0aDp0aGlzLkRFRkFVTFRfQ09MVU1OX1dJRFRIfX0pLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5zY3JvbGxUb0VuZCgpKX1jYXRjaCh4ZSl7Y29uc29sZS5lcnJvcigiRXJyb3IgbG9hZGluZyBvYmplY3RzOiIseGUpLHRoaXMuY29sdW1ucz1bXX10aGlzLmxvYWRpbmc9ITF9fWFzeW5jIHJlZnJlc2hBbGxDb2x1bW5zKCl7aWYoIXRoaXMuZGF0YVByb3ZpZGVyKXJldHVybjtsZXQgeGU9YXdhaXQgUHJvbWlzZS5hbGwodGhpcy5jb2x1bW5zLm1hcChhc3luYyBuZT0+e3RyeXtsZXQgX2U9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubGlzdE9iamVjdHModGhpcy5idWNrZXROYW1lLG5lLnByZWZpeCwiLyIpO3JldHVybnsuLi5uZSxvYmplY3RzOl9lLm9iamVjdHMscHJlZml4ZXM6X2UucHJlZml4ZXN9fWNhdGNoe3JldHVybiBuZX19KSk7dGhpcy5jb2x1bW5zPXhlfWFzeW5jIHNlbGVjdEZvbGRlcih4ZSxuZSl7aWYodGhpcy5kYXRhUHJvdmlkZXIpe3RoaXMuY29sdW1ucz10aGlzLmNvbHVtbnMubWFwKChfZSxXZSk9PldlPT09eGU/ey4uLl9lLHNlbGVjdGVkSXRlbTpuZX06X2UpLHRoaXMuY29sdW1ucz10aGlzLmNvbHVtbnMuc2xpY2UoMCx4ZSsxKTt0cnl7bGV0IF9lPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmxpc3RPYmplY3RzKHRoaXMuYnVja2V0TmFtZSxuZSwiLyIpO3RoaXMuY29sdW1ucz1bLi4udGhpcy5jb2x1bW5zLHtwcmVmaXg6bmUsb2JqZWN0czpfZS5vYmplY3RzLHByZWZpeGVzOl9lLnByZWZpeGVzLHNlbGVjdGVkSXRlbTpudWxsLHdpZHRoOnRoaXMuREVGQVVMVF9DT0xVTU5fV0lEVEh9XSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuc2Nyb2xsVG9FbmQoKSl9Y2F0Y2goX2Upe2NvbnNvbGUuZXJyb3IoIkVycm9yIGxvYWRpbmcgZm9sZGVyOiIsX2UpfX19c2Nyb2xsVG9FbmQoKXt0aGlzLnNjcm9sbExlZnQ9dGhpcy5zY3JvbGxXaWR0aC10aGlzLmNsaWVudFdpZHRofXN0YXJ0UmVzaXplKHhlLG5lKXt4ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMucmVzaXppbmc9e2NvbHVtbkluZGV4Om5lLHN0YXJ0WDp4ZS5jbGllbnRYLHN0YXJ0V2lkdGg6dGhpcy5jb2x1bW5zW25lXS53aWR0aH0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmhhbmRsZVJlc2l6ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5zdG9wUmVzaXplKSxkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcj0iY29sLXJlc2l6ZSIsZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0PSJub25lIn1oYW5kbGVSZXNpemU9cyh4ZT0+e2lmKCF0aGlzLnJlc2l6aW5nKXJldHVybjtsZXQgbmU9eGUuY2xpZW50WC10aGlzLnJlc2l6aW5nLnN0YXJ0WCxfZT1NYXRoLm1pbih0aGlzLk1BWF9DT0xVTU5fV0lEVEgsTWF0aC5tYXgodGhpcy5NSU5fQ09MVU1OX1dJRFRILHRoaXMucmVzaXppbmcuc3RhcnRXaWR0aCtuZSkpO3RoaXMuY29sdW1ucz10aGlzLmNvbHVtbnMubWFwKChXZSxTdCk9PlN0PT09dGhpcy5yZXNpemluZy5jb2x1bW5JbmRleD97Li4uV2Usd2lkdGg6X2V9OldlKX0sImhhbmRsZVJlc2l6ZSIpO3N0b3BSZXNpemU9cygoKT0+e3RoaXMucmVzaXppbmc9bnVsbCxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlUmVzaXplKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLnN0b3BSZXNpemUpLGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yPSIiLGRvY3VtZW50LmJvZHkuc3R5bGUudXNlclNlbGVjdD0iIn0sInN0b3BSZXNpemUiKTtzZWxlY3RGaWxlKHhlLG5lKXt0aGlzLmNvbHVtbnM9dGhpcy5jb2x1bW5zLm1hcCgoX2UsV2UpPT5XZT09PXhlP3suLi5fZSxzZWxlY3RlZEl0ZW06bmV9Ol9lKSx0aGlzLmNvbHVtbnM9dGhpcy5jb2x1bW5zLnNsaWNlKDAseGUrMSksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5LXNlbGVjdGVkIix7ZGV0YWlsOntrZXk6bmV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Z2V0RmlsZUljb24oeGUpe2xldCBuZT14ZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpfHwiIjtyZXR1cm57anNvbjoiTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiIsdHh0OiJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6Iixwbmc6Ik01IDNoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJ6IixqcGc6Ik01IDNoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJ6IixqcGVnOiJNNSAzaDE0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yeiIsZ2lmOiJNNSAzaDE0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yeiIscGRmOiJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6In1bbmVdfHwiTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiJ9aGFuZGxlRm9sZGVyQ29udGV4dE1lbnUoeGUsbmUsX2Upe3RoaXMuZGF0YVByb3ZpZGVyJiYoeGUucHJldmVudERlZmF1bHQoKSx0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyh4ZSxbe25hbWU6Ik9wZW4iLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyT3BlbiIsYWN0aW9uOnMoYXN5bmMoKT0+e3RoaXMuc2VsZWN0Rm9sZGVyKG5lLF9lKX0sImFjdGlvbiIpfSx7bmFtZToiQ29weSBQYXRoIixpY29uTmFtZToibHVjaWRlOmNvcHkiLGFjdGlvbjpzKGFzeW5jKCk9Pnthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChfZSl9LCJhY3Rpb24iKX0se25hbWU6IlJlbmFtZSIsaWNvbk5hbWU6Imx1Y2lkZTpwZW5jaWwiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMub3BlblJlbmFtZURpYWxvZyhfZSwhMCksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6Ik1vdmUgdG8uLi4iLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVySW5wdXQiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMub3Blbk1vdmVQaWNrZXJEaWFsb2coX2UsITApLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJOZXcgRm9sZGVyIEluc2lkZSIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZvbGRlciIsX2UpLCJhY3Rpb24iKX0se25hbWU6Ik5ldyBGaWxlIEluc2lkZSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlUGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuQ3JlYXRlRGlhbG9nKCJmaWxlIixfZSksImFjdGlvbiIpfSx7bmFtZToiVXBsb2FkIEZpbGVzLi4uIixpY29uTmFtZToibHVjaWRlOmZpbGUiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMudHJpZ2dlckZpbGVVcGxvYWQoX2UsImZpbGVzIiksImFjdGlvbiIpfSx7bmFtZToiVXBsb2FkIEZvbGRlci4uLiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJVcCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy50cmlnZ2VyRmlsZVVwbG9hZChfZSwiZm9sZGVyIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkRlbGV0ZSBGb2xkZXIiLGljb25OYW1lOiJsdWNpZGU6dHJhc2gyIixhY3Rpb246cyhhc3luYygpPT57Y29uZmlybShgRGVsZXRlIGZvbGRlciAiJHttYShfZSl9IiBhbmQgYWxsIGl0cyBjb250ZW50cz9gKSYmYXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIuZGVsZXRlUHJlZml4KHRoaXMuYnVja2V0TmFtZSxfZSkmJih0aGlzLmNvbHVtbnM9dGhpcy5jb2x1bW5zLnNsaWNlKDAsbmUrMSksdGhpcy5jb2x1bW5zPXRoaXMuY29sdW1ucy5tYXAoKFN0LGtzKT0+a3M9PT1uZT97Li4uU3Qsc2VsZWN0ZWRJdGVtOm51bGx9OlN0KSxhd2FpdCB0aGlzLnJlZnJlc2hDb2x1bW5CeVByZWZpeCh0aGlzLmNvbHVtbnNbbmVdLnByZWZpeCkpfSwiYWN0aW9uIil9XSkpfWhhbmRsZUZpbGVDb250ZXh0TWVudSh4ZSxuZSxfZSl7dGhpcy5kYXRhUHJvdmlkZXImJih4ZS5wcmV2ZW50RGVmYXVsdCgpLHRhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKHhlLFt7bmFtZToiUHJldmlldyIsaWNvbk5hbWU6Imx1Y2lkZTpleWUiLGFjdGlvbjpzKGFzeW5jKCk9Pnt0aGlzLnNlbGVjdEZpbGUobmUsX2UpfSwiYWN0aW9uIil9LHtuYW1lOiJEb3dubG9hZCIsaWNvbk5hbWU6Imx1Y2lkZTpkb3dubG9hZCIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBXZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5nZXRPYmplY3RVcmwodGhpcy5idWNrZXROYW1lLF9lKSxTdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7U3QuaHJlZj1XZSxTdC5kb3dubG9hZD1tYShfZSksU3QuY2xpY2soKX0sImFjdGlvbiIpfSx7bmFtZToiQ29weSBQYXRoIixpY29uTmFtZToibHVjaWRlOmNvcHkiLGFjdGlvbjpzKGFzeW5jKCk9Pnthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChfZSl9LCJhY3Rpb24iKX0se25hbWU6IlJlbmFtZSIsaWNvbk5hbWU6Imx1Y2lkZTpwZW5jaWwiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMub3BlblJlbmFtZURpYWxvZyhfZSwhMSksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6Ik1vdmUgdG8uLi4iLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVySW5wdXQiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMub3Blbk1vdmVQaWNrZXJEaWFsb2coX2UsITEpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJEZWxldGUiLGljb25OYW1lOiJsdWNpZGU6dHJhc2gyIixhY3Rpb246cyhhc3luYygpPT57Y29uZmlybShgRGVsZXRlIGZpbGUgIiR7bWEoX2UpfSI/YCkmJmF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmRlbGV0ZU9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsX2UpJiZhd2FpdCB0aGlzLnJlZnJlc2hDb2x1bW5CeVByZWZpeCh0aGlzLmNvbHVtbnNbbmVdLnByZWZpeCl9LCJhY3Rpb24iKX1dKSl9aGFuZGxlRW1wdHlTcGFjZUNvbnRleHRNZW51KHhlLG5lKXtpZih4ZS50YXJnZXQhPT14ZS5jdXJyZW50VGFyZ2V0KXJldHVybjt4ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBfZT10aGlzLmNvbHVtbnNbbmVdLnByZWZpeDt0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyh4ZSxbe25hbWU6Ik5ldyBGb2xkZXIiLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyUGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuQ3JlYXRlRGlhbG9nKCJmb2xkZXIiLF9lKSwiYWN0aW9uIil9LHtuYW1lOiJOZXcgRmlsZSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlUGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuQ3JlYXRlRGlhbG9nKCJmaWxlIixfZSksImFjdGlvbiIpfSx7bmFtZToiVXBsb2FkIEZpbGVzLi4uIixpY29uTmFtZToibHVjaWRlOmZpbGUiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMudHJpZ2dlckZpbGVVcGxvYWQoX2UsImZpbGVzIiksImFjdGlvbiIpfSx7bmFtZToiVXBsb2FkIEZvbGRlci4uLiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJVcCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy50cmlnZ2VyRmlsZVVwbG9hZChfZSwiZm9sZGVyIiksImFjdGlvbiIpfV0pfW9wZW5DcmVhdGVEaWFsb2coeGUsbmUpe3RoaXMuY3JlYXRlRGlhbG9nVHlwZT14ZSx0aGlzLmNyZWF0ZURpYWxvZ1ByZWZpeD1uZSx0aGlzLmNyZWF0ZURpYWxvZ05hbWU9IiIsdGhpcy5zaG93Q3JlYXRlRGlhbG9nPSEwfWVuc3VyZUZpbGVJbnB1dHMoKXt0aGlzLmZpbGVJbnB1dEVsZW1lbnR8fCh0aGlzLmZpbGVJbnB1dEVsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSx0aGlzLmZpbGVJbnB1dEVsZW1lbnQudHlwZT0iZmlsZSIsdGhpcy5maWxlSW5wdXRFbGVtZW50Lm11bHRpcGxlPSEwLHRoaXMuZmlsZUlucHV0RWxlbWVudC5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQodGhpcy5maWxlSW5wdXRFbGVtZW50KSksdGhpcy5mb2xkZXJJbnB1dEVsZW1lbnR8fCh0aGlzLmZvbGRlcklucHV0RWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLHRoaXMuZm9sZGVySW5wdXRFbGVtZW50LnR5cGU9ImZpbGUiLHRoaXMuZm9sZGVySW5wdXRFbGVtZW50Lm11bHRpcGxlPSEwLHRoaXMuZm9sZGVySW5wdXRFbGVtZW50LndlYmtpdGRpcmVjdG9yeT0hMCx0aGlzLmZvbGRlcklucHV0RWxlbWVudC5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQodGhpcy5mb2xkZXJJbnB1dEVsZW1lbnQpKX10cmlnZ2VyRmlsZVVwbG9hZCh4ZSxuZSl7dGhpcy5lbnN1cmVGaWxlSW5wdXRzKCk7bGV0IF9lPW5lPT09ImZvbGRlciI/dGhpcy5mb2xkZXJJbnB1dEVsZW1lbnQ6dGhpcy5maWxlSW5wdXRFbGVtZW50O19lLnZhbHVlPSIiO2xldCBXZT1zKGFzeW5jKCk9PntfZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLFdlKSxfZS5maWxlcyYmX2UuZmlsZXMubGVuZ3RoPjAmJmF3YWl0IHRoaXMudXBsb2FkRmlsZXMoQXJyYXkuZnJvbShfZS5maWxlcykseGUpfSwiaGFuZGxlciIpO19lLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsV2UpLF9lLmNsaWNrKCl9YXN5bmMgdXBsb2FkRmlsZXMoeGUsbmUpe2lmKHRoaXMuZGF0YVByb3ZpZGVyKXt0aGlzLnVwbG9hZGluZz0hMCx0aGlzLnVwbG9hZFByb2dyZXNzPXtjdXJyZW50OjAsdG90YWw6eGUubGVuZ3RofTtmb3IobGV0IF9lPTA7X2U8eGUubGVuZ3RoO19lKyspe2xldCBXZT14ZVtfZV07dGhpcy51cGxvYWRQcm9ncmVzcz17Y3VycmVudDpfZSsxLHRvdGFsOnhlLmxlbmd0aH07dHJ5e2xldCBTdD1hd2FpdCB0aGlzLnJlYWRGaWxlQXNCYXNlNjQoV2UpLGtzPVdlLndlYmtpdFJlbGF0aXZlUGF0aHx8V2UubmFtZSxqcj1uZStrcyxIaT1XZS50eXBlfHxFNChXZS5uYW1lLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCl8fCIiKTthd2FpdCB0aGlzLmRhdGFQcm92aWRlci5wdXRPYmplY3QodGhpcy5idWNrZXROYW1lLGpyLFN0LEhpKX1jYXRjaChTdCl7Y29uc29sZS5lcnJvcihgRmFpbGVkIHRvIHVwbG9hZCAke1dlLm5hbWV9OmAsU3QpfX10aGlzLnVwbG9hZGluZz0hMSx0aGlzLnVwbG9hZFByb2dyZXNzPW51bGwsYXdhaXQgdGhpcy5yZWZyZXNoQ29sdW1uQnlQcmVmaXgobmUpfX1hc3luYyB1cGxvYWRGaWxlc1dpdGhQYXRocyh4ZSxuZSl7aWYodGhpcy5kYXRhUHJvdmlkZXIpe3RoaXMudXBsb2FkaW5nPSEwLHRoaXMudXBsb2FkUHJvZ3Jlc3M9e2N1cnJlbnQ6MCx0b3RhbDp4ZS5sZW5ndGh9O2ZvcihsZXQgX2U9MDtfZTx4ZS5sZW5ndGg7X2UrKyl7bGV0e2ZpbGU6V2UscmVsYXRpdmVQYXRoOlN0fT14ZVtfZV07dGhpcy51cGxvYWRQcm9ncmVzcz17Y3VycmVudDpfZSsxLHRvdGFsOnhlLmxlbmd0aH07dHJ5e2xldCBrcz1hd2FpdCB0aGlzLnJlYWRGaWxlQXNCYXNlNjQoV2UpLGpyPW5lK1N0LEhpPVdlLnR5cGV8fEU0KFdlLm5hbWUuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKXx8IiIpO2F3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLnB1dE9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsanIsa3MsSGkpfWNhdGNoKGtzKXtjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gdXBsb2FkICR7U3R9OmAsa3MpfX10aGlzLnVwbG9hZGluZz0hMSx0aGlzLnVwbG9hZFByb2dyZXNzPW51bGwsYXdhaXQgdGhpcy5yZWZyZXNoQ29sdW1uQnlQcmVmaXgobmUpfX1yZWFkRmlsZUFzQmFzZTY0KHhlKXtyZXR1cm4gbmV3IFByb21pc2UoKG5lLF9lKT0+e2xldCBXZT1uZXcgRmlsZVJlYWRlcjtXZS5vbmxvYWQ9KCk9PntsZXQgU3Q9V2UucmVzdWx0O25lKFN0LnNwbGl0KCIsIilbMV18fCIiKX0sV2Uub25lcnJvcj0oKT0+X2UoV2UuZXJyb3IpLFdlLnJlYWRBc0RhdGFVUkwoeGUpfSl9YXN5bmMgcmVmcmVzaENvbHVtbkJ5UHJlZml4KHhlKXtpZighdGhpcy5kYXRhUHJvdmlkZXIpcmV0dXJuO2xldCBuZT10aGlzLmNvbHVtbnMuZmluZEluZGV4KF9lPT5fZS5wcmVmaXg9PT14ZSk7aWYobmU9PT0tMSl7YXdhaXQgdGhpcy5yZWZyZXNoQWxsQ29sdW1ucygpO3JldHVybn10cnl7bGV0IF9lPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmxpc3RPYmplY3RzKHRoaXMuYnVja2V0TmFtZSx4ZSwiLyIpO3RoaXMuY29sdW1ucz10aGlzLmNvbHVtbnMubWFwKChXZSxTdCk9PlN0PT09bmU/ey4uLldlLG9iamVjdHM6X2Uub2JqZWN0cyxwcmVmaXhlczpfZS5wcmVmaXhlc306V2UpfWNhdGNoe2F3YWl0IHRoaXMucmVmcmVzaEFsbENvbHVtbnMoKX19aGFuZGxlQ29sdW1uRHJhZ0VudGVyKHhlLG5lKXt4ZS5wcmV2ZW50RGVmYXVsdCgpLHhlLnN0b3BQcm9wYWdhdGlvbigpO2xldCBfZT0odGhpcy5kcmFnQ291bnRlcnMuZ2V0KG5lKXx8MCkrMTt0aGlzLmRyYWdDb3VudGVycy5zZXQobmUsX2UpLHRoaXMuZHJhZ092ZXJDb2x1bW5JbmRleD1uZX1oYW5kbGVDb2x1bW5EcmFnT3Zlcih4ZSl7eGUucHJldmVudERlZmF1bHQoKSx4ZS5zdG9wUHJvcGFnYXRpb24oKSx4ZS5kYXRhVHJhbnNmZXImJih4ZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD10aGlzLmRyYWdnZWRJdGVtPyJtb3ZlIjoiY29weSIpfWhhbmRsZUNvbHVtbkRyYWdMZWF2ZSh4ZSxuZSl7eGUuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IF9lPSh0aGlzLmRyYWdDb3VudGVycy5nZXQobmUpfHwxKS0xO3RoaXMuZHJhZ0NvdW50ZXJzLnNldChuZSxfZSksX2U8PTAmJih0aGlzLmRyYWdDb3VudGVycy5kZWxldGUobmUpLHRoaXMuZHJhZ092ZXJDb2x1bW5JbmRleD09PW5lJiYodGhpcy5kcmFnT3ZlckNvbHVtbkluZGV4PS0xKSx0aGlzLmNsZWFyRm9sZGVySG92ZXIoKSl9YXN5bmMgaGFuZGxlQ29sdW1uRHJvcCh4ZSxuZSl7eGUucHJldmVudERlZmF1bHQoKSx4ZS5zdG9wUHJvcGFnYXRpb24oKTtsZXQgX2U9dGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD8/dGhpcy5jb2x1bW5zW25lXS5wcmVmaXg7aWYodGhpcy5kcmFnZ2VkSXRlbSl7dGhpcy5pbml0aWF0ZU1vdmUodGhpcy5kcmFnZ2VkSXRlbS5rZXksdGhpcy5kcmFnZ2VkSXRlbS5pc0ZvbGRlcixfZSksdGhpcy5kcmFnZ2VkSXRlbT1udWxsLHRoaXMuY2xlYXJGb2xkZXJIb3ZlcigpLHRoaXMuZHJhZ0NvdW50ZXJzLmNsZWFyKCksdGhpcy5kcmFnT3ZlckNvbHVtbkluZGV4PS0xO3JldHVybn10aGlzLmRyYWdDb3VudGVycy5jbGVhcigpLHRoaXMuZHJhZ092ZXJDb2x1bW5JbmRleD0tMTtsZXQgV2U9eGUuZGF0YVRyYW5zZmVyPy5pdGVtcztpZighV2V8fFdlLmxlbmd0aD09PTApcmV0dXJuO3RoaXMuY2xlYXJGb2xkZXJIb3ZlcigpO2xldCBTdD1bXSxrcz1zKGFzeW5jKGpyLEhpKT0+e2lmKGpyLmlzRmlsZSl7bGV0IFFuPWpyLHMyPWF3YWl0IG5ldyBQcm9taXNlKChtbCxKbik9PntRbi5maWxlKG1sLEpuKX0pO1N0LnB1c2goe2ZpbGU6czIscmVsYXRpdmVQYXRoOkhpK3MyLm5hbWV9KX1lbHNlIGlmKGpyLmlzRGlyZWN0b3J5KXtsZXQgczI9anIuY3JlYXRlUmVhZGVyKCksbWw9YXdhaXQgbmV3IFByb21pc2UoKEpuLFk0KT0+e3MyLnJlYWRFbnRyaWVzKEpuLFk0KX0pO2ZvcihsZXQgSm4gb2YgbWwpYXdhaXQga3MoSm4sSGkranIubmFtZSsiLyIpfX0sInByb2Nlc3NFbnRyeSIpO2ZvcihsZXQganI9MDtqcjxXZS5sZW5ndGg7anIrKyl7bGV0IEhpPVdlW2pyXTtpZihIaS5raW5kPT09ImZpbGUiKXtsZXQgUW49SGkud2Via2l0R2V0QXNFbnRyeSgpO1FuJiZhd2FpdCBrcyhRbiwiIil9fVN0Lmxlbmd0aD4wJiZhd2FpdCB0aGlzLnVwbG9hZEZpbGVzV2l0aFBhdGhzKFN0LF9lKX1oYW5kbGVGb2xkZXJEcmFnRW50ZXIoeGUsbmUpe3hlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY2xlYXJGb2xkZXJIb3ZlcigpLHRoaXMuZm9sZGVySG92ZXJUaW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD1uZX0sNTAwKX1oYW5kbGVGb2xkZXJEcmFnTGVhdmUoeGUsbmUpe3hlLnN0b3BQcm9wYWdhdGlvbigpO2xldCBfZT14ZS5jdXJyZW50VGFyZ2V0LFdlPXhlLnJlbGF0ZWRUYXJnZXQ7V2UmJl9lLmNvbnRhaW5zKFdlKXx8KHRoaXMuZHJhZ092ZXJGb2xkZXJQcmVmaXg9PT1uZSYmKHRoaXMuZHJhZ092ZXJGb2xkZXJQcmVmaXg9bnVsbCksdGhpcy5mb2xkZXJIb3ZlclRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMuZm9sZGVySG92ZXJUaW1lciksdGhpcy5mb2xkZXJIb3ZlclRpbWVyPW51bGwpKX1oYW5kbGVGb2xkZXJEcmFnT3Zlcih4ZSl7eGUucHJldmVudERlZmF1bHQoKSx4ZS5zdG9wUHJvcGFnYXRpb24oKSx4ZS5kYXRhVHJhbnNmZXImJih4ZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD10aGlzLmRyYWdnZWRJdGVtPyJtb3ZlIjoiY29weSIpfWNsZWFyRm9sZGVySG92ZXIoKXt0aGlzLmZvbGRlckhvdmVyVGltZXImJihjbGVhclRpbWVvdXQodGhpcy5mb2xkZXJIb3ZlclRpbWVyKSx0aGlzLmZvbGRlckhvdmVyVGltZXI9bnVsbCksdGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD1udWxsfWhhbmRsZUl0ZW1EcmFnU3RhcnQoeGUsbmUsX2Upe3RoaXMuZHJhZ2dlZEl0ZW09e2tleTpuZSxpc0ZvbGRlcjpfZX0seGUuZGF0YVRyYW5zZmVyPy5zZXREYXRhKCJ0ZXh0L3BsYWluIixuZSkseGUuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQ9ImNvcHlNb3ZlIix4ZS50YXJnZXQuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKX1oYW5kbGVJdGVtRHJhZ0VuZCh4ZSl7dGhpcy5kcmFnZ2VkSXRlbT1udWxsLHhlLnRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpfWFzeW5jIG9wZW5Nb3ZlUGlja2VyRGlhbG9nKHhlLG5lKXt0aGlzLm1vdmVQaWNrZXJTb3VyY2U9e2tleTp4ZSxpc0ZvbGRlcjpuZX0sdGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD0iIix0aGlzLnNob3dNb3ZlUGlja2VyRGlhbG9nPSEwLGF3YWl0IHRoaXMubG9hZE1vdmVQaWNrZXJQcmVmaXhlcygiIil9YXN5bmMgbmF2aWdhdGVNb3ZlUGlja2VyKHhlKXt0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4PXhlLGF3YWl0IHRoaXMubG9hZE1vdmVQaWNrZXJQcmVmaXhlcyh4ZSl9YXN5bmMgbG9hZE1vdmVQaWNrZXJQcmVmaXhlcyh4ZSl7aWYodGhpcy5kYXRhUHJvdmlkZXIpe3RoaXMubW92ZVBpY2tlckxvYWRpbmc9ITA7dHJ5e2xldCBuZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5saXN0T2JqZWN0cyh0aGlzLmJ1Y2tldE5hbWUseGUsIi8iKTt0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcz1uZS5wcmVmaXhlc31jYXRjaHt0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcz1bXX10aGlzLm1vdmVQaWNrZXJMb2FkaW5nPSExfX1zZWxlY3RNb3ZlRGVzdGluYXRpb24oeGUpe3RoaXMubW92ZVBpY2tlclNvdXJjZSYmKHRoaXMuY2xvc2VNb3ZlUGlja2VyRGlhbG9nKCksdGhpcy5pbml0aWF0ZU1vdmUodGhpcy5tb3ZlUGlja2VyU291cmNlLmtleSx0aGlzLm1vdmVQaWNrZXJTb3VyY2UuaXNGb2xkZXIseGUpKX1jbG9zZU1vdmVQaWNrZXJEaWFsb2coKXt0aGlzLnNob3dNb3ZlUGlja2VyRGlhbG9nPSExLHRoaXMubW92ZVBpY2tlclNvdXJjZT1udWxsLHRoaXMubW92ZVBpY2tlckN1cnJlbnRQcmVmaXg9IiIsdGhpcy5tb3ZlUGlja2VyUHJlZml4ZXM9W119aW5pdGlhdGVNb3ZlKHhlLG5lLF9lKXtsZXQgV2U9V20oeGUsX2UpO2lmKCFXZS52YWxpZCl7dGhpcy5tb3ZlU291cmNlPXtrZXk6eGUsaXNGb2xkZXI6bmV9LHRoaXMubW92ZURlc3RpbmF0aW9uPV9lLHRoaXMubW92ZUVycm9yPVdlLmVycm9yLHRoaXMuc2hvd01vdmVEaWFsb2c9ITA7cmV0dXJufXRoaXMubW92ZVNvdXJjZT17a2V5OnhlLGlzRm9sZGVyOm5lfSx0aGlzLm1vdmVEZXN0aW5hdGlvbj1fZSx0aGlzLm1vdmVFcnJvcj1udWxsLHRoaXMuc2hvd01vdmVEaWFsb2c9ITB9YXN5bmMgZXhlY3V0ZU1vdmUoKXtpZighKCF0aGlzLm1vdmVTb3VyY2V8fCF0aGlzLmRhdGFQcm92aWRlcikpe3RoaXMubW92ZUluUHJvZ3Jlc3M9ITA7dHJ5e2xldCB4ZT1tYSh0aGlzLm1vdmVTb3VyY2Uua2V5KSxuZT10aGlzLm1vdmVEZXN0aW5hdGlvbit4ZSsodGhpcy5tb3ZlU291cmNlLmlzRm9sZGVyPyIvIjoiIiksX2U7dGhpcy5tb3ZlU291cmNlLmlzRm9sZGVyP19lPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLm1vdmVQcmVmaXgodGhpcy5idWNrZXROYW1lLHRoaXMubW92ZVNvdXJjZS5rZXksbmUpOl9lPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLm1vdmVPYmplY3QodGhpcy5idWNrZXROYW1lLHRoaXMubW92ZVNvdXJjZS5rZXksbmUpLF9lLnN1Y2Nlc3M/KHRoaXMuY2xvc2VNb3ZlRGlhbG9nKCksYXdhaXQgdGhpcy5yZWZyZXNoQWxsQ29sdW1ucygpKTp0aGlzLm1vdmVFcnJvcj1fZS5lcnJvcnx8Ik1vdmUgb3BlcmF0aW9uIGZhaWxlZCJ9Y2F0Y2goeGUpe3RoaXMubW92ZUVycm9yPWBFcnJvcjogJHt4ZX1gfXRoaXMubW92ZUluUHJvZ3Jlc3M9ITF9fWNsb3NlTW92ZURpYWxvZygpe3RoaXMuc2hvd01vdmVEaWFsb2c9ITEsdGhpcy5tb3ZlU291cmNlPW51bGwsdGhpcy5tb3ZlRGVzdGluYXRpb249IiIsdGhpcy5tb3ZlRXJyb3I9bnVsbCx0aGlzLm1vdmVJblByb2dyZXNzPSExfW9wZW5SZW5hbWVEaWFsb2coeGUsbmUpe3RoaXMucmVuYW1lU291cmNlPXtrZXk6eGUsaXNGb2xkZXI6bmV9LHRoaXMucmVuYW1lTmFtZT1tYSh4ZSksdGhpcy5yZW5hbWVFcnJvcj1udWxsLHRoaXMuc2hvd1JlbmFtZURpYWxvZz0hMCx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PntsZXQgX2U9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIucmVuYW1lLWRpYWxvZy1pbnB1dCIpO2lmKF9lKWlmKF9lLmZvY3VzKCksbmUpX2Uuc2VsZWN0KCk7ZWxzZXtsZXQgV2U9dGhpcy5yZW5hbWVOYW1lLmxhc3RJbmRleE9mKCIuIik7V2U+MD9fZS5zZXRTZWxlY3Rpb25SYW5nZSgwLFdlKTpfZS5zZWxlY3QoKX19KX1hc3luYyBleGVjdXRlUmVuYW1lKCl7aWYoIXRoaXMucmVuYW1lU291cmNlfHwhdGhpcy5yZW5hbWVOYW1lLnRyaW0oKXx8IXRoaXMuZGF0YVByb3ZpZGVyKXJldHVybjtsZXQgeGU9dGhpcy5yZW5hbWVOYW1lLnRyaW0oKSxuZT1tYSh0aGlzLnJlbmFtZVNvdXJjZS5rZXkpO2lmKHhlPT09bmUpe3RoaXMucmVuYW1lRXJyb3I9Ik5hbWUgaXMgdGhlIHNhbWUgYXMgY3VycmVudCI7cmV0dXJufWlmKCF4ZSl7dGhpcy5yZW5hbWVFcnJvcj0iTmFtZSBjYW5ub3QgYmUgZW1wdHkiO3JldHVybn1pZih4ZS5pbmNsdWRlcygiLyIpKXt0aGlzLnJlbmFtZUVycm9yPSdOYW1lIGNhbm5vdCBjb250YWluICIvIic7cmV0dXJufXRoaXMucmVuYW1lSW5Qcm9ncmVzcz0hMCx0aGlzLnJlbmFtZUVycm9yPW51bGw7dHJ5e2xldCBXZT1qMSh0aGlzLnJlbmFtZVNvdXJjZS5rZXkpK3hlKyh0aGlzLnJlbmFtZVNvdXJjZS5pc0ZvbGRlcj8iLyI6IiIpLFN0O3RoaXMucmVuYW1lU291cmNlLmlzRm9sZGVyP1N0PWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLm1vdmVQcmVmaXgodGhpcy5idWNrZXROYW1lLHRoaXMucmVuYW1lU291cmNlLmtleSxXZSk6U3Q9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubW92ZU9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5yZW5hbWVTb3VyY2Uua2V5LFdlKSxTdC5zdWNjZXNzPyh0aGlzLmNsb3NlUmVuYW1lRGlhbG9nKCksYXdhaXQgdGhpcy5yZWZyZXNoQWxsQ29sdW1ucygpKTp0aGlzLnJlbmFtZUVycm9yPVN0LmVycm9yfHwiUmVuYW1lIGZhaWxlZCJ9Y2F0Y2goX2Upe3RoaXMucmVuYW1lRXJyb3I9YEVycm9yOiAke19lfWB9dGhpcy5yZW5hbWVJblByb2dyZXNzPSExfWNsb3NlUmVuYW1lRGlhbG9nKCl7dGhpcy5zaG93UmVuYW1lRGlhbG9nPSExLHRoaXMucmVuYW1lU291cmNlPW51bGwsdGhpcy5yZW5hbWVOYW1lPSIiLHRoaXMucmVuYW1lRXJyb3I9bnVsbCx0aGlzLnJlbmFtZUluUHJvZ3Jlc3M9ITF9cmVuZGVyUmVuYW1lRGlhbG9nKCl7aWYoIXRoaXMuc2hvd1JlbmFtZURpYWxvZ3x8IXRoaXMucmVuYW1lU291cmNlKXJldHVybiIiO2xldCB4ZT10aGlzLnJlbmFtZVNvdXJjZS5pc0ZvbGRlcjtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLW92ZXJsYXkiIEBjbGljaz0keygpPT50aGlzLmNsb3NlUmVuYW1lRGlhbG9nKCl9PgogICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZyIgQGNsaWNrPSR7X2U9Pl9lLnN0b3BQcm9wYWdhdGlvbigpfT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy10aXRsZSI+JHt4ZT8iUmVuYW1lIEZvbGRlciI6IlJlbmFtZSBGaWxlIn08L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1sb2NhdGlvbiI+CiAgICAgICAgICAgIExvY2F0aW9uOiAke3RoaXMuYnVja2V0TmFtZX0vJHtqMSh0aGlzLnJlbmFtZVNvdXJjZS5rZXkpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAke3RoaXMucmVuYW1lRXJyb3I/d2A8ZGl2IGNsYXNzPSJtb3ZlLWVycm9yIj4ke3RoaXMucmVuYW1lRXJyb3J9PC9kaXY+YDoiIn0KICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICBjbGFzcz0iZGlhbG9nLWlucHV0IHJlbmFtZS1kaWFsb2ctaW5wdXQiCiAgICAgICAgICAgIHBsYWNlaG9sZGVyPSR7eGU/ImZvbGRlci1uYW1lIjoiZmlsZW5hbWUuZXh0In0KICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5yZW5hbWVOYW1lfQogICAgICAgICAgICBAaW5wdXQ9JHtfZT0+e3RoaXMucmVuYW1lTmFtZT1fZS50YXJnZXQudmFsdWUsdGhpcy5yZW5hbWVFcnJvcj1udWxsfX0KICAgICAgICAgICAgQGtleWRvd249JHtfZT0+e19lLmtleT09PSJFbnRlciImJnRoaXMuZXhlY3V0ZVJlbmFtZSgpLF9lLmtleT09PSJFc2NhcGUiJiZ0aGlzLmNsb3NlUmVuYW1lRGlhbG9nKCl9fQogICAgICAgICAgLz4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1hY3Rpb25zIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNhbmNlbCIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZVJlbmFtZURpYWxvZygpfQogICAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMucmVuYW1lSW5Qcm9ncmVzc30+Q2FuY2VsPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuZXhlY3V0ZVJlbmFtZSgpfQogICAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMucmVuYW1lSW5Qcm9ncmVzc3x8IXRoaXMucmVuYW1lTmFtZS50cmltKCl9PgogICAgICAgICAgICAgICR7dGhpcy5yZW5hbWVJblByb2dyZXNzPyJSZW5hbWluZy4uLiI6IlJlbmFtZSJ9CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJNb3ZlRGlhbG9nKCl7aWYoIXRoaXMuc2hvd01vdmVEaWFsb2d8fCF0aGlzLm1vdmVTb3VyY2UpcmV0dXJuIiI7bGV0IHhlPW1hKHRoaXMubW92ZVNvdXJjZS5rZXkpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctb3ZlcmxheSIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VNb3ZlRGlhbG9nKCl9PgogICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZyIgQGNsaWNrPSR7bmU9Pm5lLnN0b3BQcm9wYWdhdGlvbigpfT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy10aXRsZSI+TW92ZSAke3RoaXMubW92ZVNvdXJjZS5pc0ZvbGRlcj8iRm9sZGVyIjoiRmlsZSJ9PC9kaXY+CgogICAgICAgICAgJHt0aGlzLm1vdmVFcnJvcj93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb3ZlLWVycm9yIj4ke3RoaXMubW92ZUVycm9yfTwvZGl2PgogICAgICAgICAgYDp3YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb3ZlLXN1bW1hcnkiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vdmUtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibW92ZS1sYWJlbCI+RnJvbTo8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibW92ZS1wYXRoIj4ke3RoaXMubW92ZVNvdXJjZS5rZXl9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vdmUtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibW92ZS1sYWJlbCI+VG86PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vdmUtcGF0aCI+JHt0aGlzLm1vdmVEZXN0aW5hdGlvbn0ke3hlfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfQoKICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1hY3Rpb25zIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNhbmNlbCIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZU1vdmVEaWFsb2coKX0KICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLm1vdmVJblByb2dyZXNzfT4KICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICR7dGhpcy5tb3ZlRXJyb3I/IiI6d2AKICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY3JlYXRlIgogICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuZXhlY3V0ZU1vdmUoKX0KICAgICAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMubW92ZUluUHJvZ3Jlc3N9PgogICAgICAgICAgICAgICAgJHt0aGlzLm1vdmVJblByb2dyZXNzPyJNb3ZpbmcuLi4iOiJNb3ZlIn0KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyTW92ZVBpY2tlckRpYWxvZygpe2lmKCF0aGlzLnNob3dNb3ZlUGlja2VyRGlhbG9nfHwhdGhpcy5tb3ZlUGlja2VyU291cmNlKXJldHVybiIiO2xldCB4ZT1tYSh0aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5KSxuZT1qMSh0aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5KTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLW92ZXJsYXkiIEBjbGljaz0keygpPT50aGlzLmNsb3NlTW92ZVBpY2tlckRpYWxvZygpfT4KICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2cgbW92ZS1waWNrZXItZGlhbG9nIiBAY2xpY2s9JHtfZT0+X2Uuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLXRpdGxlIj5Nb3ZlICIke3hlfSIgdG8uLi48L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWNrZXItYnJlYWRjcnVtYiI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwaWNrZXItY3J1bWIiIEBjbGljaz0keygpPT50aGlzLm5hdmlnYXRlTW92ZVBpY2tlcigiIil9PgogICAgICAgICAgICAgICR7dGhpcy5idWNrZXROYW1lfQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICR7cDUodGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeCkubWFwKF9lPT53YAogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwaWNrZXItc2VwYXJhdG9yIj4vPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwaWNrZXItY3J1bWIiIEBjbGljaz0keygpPT50aGlzLm5hdmlnYXRlTW92ZVBpY2tlcihfZSl9PgogICAgICAgICAgICAgICAgJHttYShfZSl9CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICBgKX0KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InBpY2tlci1saXN0Ij4KICAgICAgICAgICAgJHt0aGlzLm1vdmVQaWNrZXJMb2FkaW5nP3dgPGRpdiBjbGFzcz0icGlja2VyLWVtcHR5Ij5Mb2FkaW5nLi4uPC9kaXY+YDoiIn0KICAgICAgICAgICAgJHshdGhpcy5tb3ZlUGlja2VyTG9hZGluZyYmdGhpcy5tb3ZlUGlja2VyUHJlZml4ZXMuZmlsdGVyKF9lPT5fZSE9PXRoaXMubW92ZVBpY2tlclNvdXJjZS5rZXkpLmxlbmd0aD09PTA/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWNrZXItZW1wdHkiPk5vIHN1YmZvbGRlcnM8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgJHt0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcy5maWx0ZXIoX2U9Pl9lIT09dGhpcy5tb3ZlUGlja2VyU291cmNlLmtleSkubWFwKF9lPT53YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlja2VyLWl0ZW0iCiAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLm5hdmlnYXRlTW92ZVBpY2tlcihfZSl9CiAgICAgICAgICAgICAgICAgICAgIEBkYmxjbGljaz0keygpPT50aGlzLnNlbGVjdE1vdmVEZXN0aW5hdGlvbihfZSl9PgogICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg1bDIgM2g5YTIgMiAwIDAgMSAyIDJ6Ii8+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmFtZSI+JHttYShfZSl9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctYWN0aW9ucyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jYW5jZWwiIEBjbGljaz0keygpPT50aGlzLmNsb3NlTW92ZVBpY2tlckRpYWxvZygpfT4KICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2VsZWN0TW92ZURlc3RpbmF0aW9uKHRoaXMubW92ZVBpY2tlckN1cnJlbnRQcmVmaXgpfQogICAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMubW92ZVBpY2tlckN1cnJlbnRQcmVmaXg9PT1uZX0+CiAgICAgICAgICAgICAgTW92ZSBIZXJlCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBoYW5kbGVDcmVhdGUoKXtpZighdGhpcy5jcmVhdGVEaWFsb2dOYW1lLnRyaW0oKXx8IXRoaXMuZGF0YVByb3ZpZGVyKXJldHVybjtsZXQgeGU9dGhpcy5jcmVhdGVEaWFsb2dOYW1lLnRyaW0oKSxuZTt0aGlzLmNyZWF0ZURpYWxvZ1R5cGU9PT0iZm9sZGVyIj9uZT10aGlzLmNyZWF0ZURpYWxvZ1ByZWZpeCt4ZSsiLy5rZWVwIjpuZT10aGlzLmNyZWF0ZURpYWxvZ1ByZWZpeCt4ZTtsZXQgX2U9eGUuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKXx8IiIsV2U9dGhpcy5jcmVhdGVEaWFsb2dUeXBlPT09ImZpbGUiP0U0KF9lKToiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIixTdD10aGlzLmNyZWF0ZURpYWxvZ1R5cGU9PT0iZmlsZSI/R20oX2UpOiIiO2F3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLnB1dE9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsbmUsYnRvYShTdCksV2UpJiYodGhpcy5zaG93Q3JlYXRlRGlhbG9nPSExLGF3YWl0IHRoaXMucmVmcmVzaENvbHVtbkJ5UHJlZml4KHRoaXMuY3JlYXRlRGlhbG9nUHJlZml4KSl9cmVuZGVyQ3JlYXRlRGlhbG9nKCl7aWYoIXRoaXMuc2hvd0NyZWF0ZURpYWxvZylyZXR1cm4iIjtsZXQgeGU9dGhpcy5jcmVhdGVEaWFsb2dUeXBlPT09ImZvbGRlciIsbmU9eGU/IkNyZWF0ZSBOZXcgRm9sZGVyIjoiQ3JlYXRlIE5ldyBGaWxlIixfZT14ZT8iZm9sZGVyLW5hbWUgb3IgcGF0aC90by9mb2xkZXIiOiJmaWxlbmFtZS50eHQgb3IgcGF0aC90by9maWxlLnR4dCI7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1vdmVybGF5IiBAY2xpY2s9JHsoKT0+dGhpcy5zaG93Q3JlYXRlRGlhbG9nPSExfT4KICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ciIEBjbGljaz0ke1dlPT5XZS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctdGl0bGUiPiR7bmV9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctbG9jYXRpb24iPgogICAgICAgICAgICBMb2NhdGlvbjogJHt0aGlzLmJ1Y2tldE5hbWV9LyR7dGhpcy5jcmVhdGVEaWFsb2dQcmVmaXh9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICBjbGFzcz0iZGlhbG9nLWlucHV0IgogICAgICAgICAgICBwbGFjZWhvbGRlcj0ke19lfQogICAgICAgICAgICAudmFsdWU9JHt0aGlzLmNyZWF0ZURpYWxvZ05hbWV9CiAgICAgICAgICAgIEBpbnB1dD0ke1dlPT50aGlzLmNyZWF0ZURpYWxvZ05hbWU9V2UudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICBAa2V5ZG93bj0ke1dlPT5XZS5rZXk9PT0iRW50ZXIiJiZ0aGlzLmhhbmRsZUNyZWF0ZSgpfQogICAgICAgICAgLz4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1oaW50Ij4KICAgICAgICAgICAgVXNlICIvIiB0byBjcmVhdGUgbmVzdGVkICR7eGU/ImZvbGRlcnMiOiJwYXRoIn0gKGUuZy4sICR7eGU/InBhcmVudC9jaGlsZCI6ImZvbGRlci9maWxlLnR4dCJ9KQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctYWN0aW9ucyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jYW5jZWwiIEBjbGljaz0keygpPT50aGlzLnNob3dDcmVhdGVEaWFsb2c9ITF9PgogICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY3JlYXRlIgogICAgICAgICAgICAgID9kaXNhYmxlZD0keyF0aGlzLmNyZWF0ZURpYWxvZ05hbWUudHJpbSgpfQogICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNyZWF0ZSgpfQogICAgICAgICAgICA+CiAgICAgICAgICAgICAgQ3JlYXRlCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXIoKXtyZXR1cm4gdGhpcy5sb2FkaW5nJiZ0aGlzLmNvbHVtbnMubGVuZ3RoPT09MD93YDxkaXYgY2xhc3M9ImxvYWRpbmciPkxvYWRpbmcuLi48L2Rpdj5gOndgCiAgICAgIDxkaXYgY2xhc3M9ImNvbHVtbnMtY29udGFpbmVyIj4KICAgICAgICAke3RoaXMuY29sdW1ucy5tYXAoKHhlLG5lKT0+dGhpcy5yZW5kZXJDb2x1bW5XcmFwcGVyKHhlLG5lKSl9CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMucmVuZGVyQ3JlYXRlRGlhbG9nKCl9CiAgICAgICR7dGhpcy5yZW5kZXJNb3ZlRGlhbG9nKCl9CiAgICAgICR7dGhpcy5yZW5kZXJNb3ZlUGlja2VyRGlhbG9nKCl9CiAgICAgICR7dGhpcy5yZW5kZXJSZW5hbWVEaWFsb2coKX0KICAgIGB9cmVuZGVyQ29sdW1uV3JhcHBlcih4ZSxuZSl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImNvbHVtbi13cmFwcGVyIj4KICAgICAgICAke3RoaXMucmVuZGVyQ29sdW1uKHhlLG5lKX0KICAgICAgICA8ZGl2CiAgICAgICAgICBjbGFzcz0icmVzaXplLWhhbmRsZSAke3RoaXMucmVzaXppbmc/LmNvbHVtbkluZGV4PT09bmU/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgQG1vdXNlZG93bj0ke19lPT50aGlzLnN0YXJ0UmVzaXplKF9lLG5lKX0KICAgICAgICA+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJDb2x1bW4oeGUsbmUpe2xldCBfZT14ZS5wcmVmaXg/bWEoeGUucHJlZml4KTp0aGlzLmJ1Y2tldE5hbWU7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iY29sdW1uICR7dGhpcy5kcmFnT3ZlckNvbHVtbkluZGV4PT09bmU/ImRyYWctb3ZlciI6IiJ9IgogICAgICAgIHN0eWxlPSJ3aWR0aDogJHt4ZS53aWR0aH1weCIKICAgICAgICBAZHJhZ2VudGVyPSR7V2U9PnRoaXMuaGFuZGxlQ29sdW1uRHJhZ0VudGVyKFdlLG5lKX0KICAgICAgICBAZHJhZ292ZXI9JHtXZT0+dGhpcy5oYW5kbGVDb2x1bW5EcmFnT3ZlcihXZSl9CiAgICAgICAgQGRyYWdsZWF2ZT0ke1dlPT50aGlzLmhhbmRsZUNvbHVtbkRyYWdMZWF2ZShXZSxuZSl9CiAgICAgICAgQGRyb3A9JHtXZT0+dGhpcy5oYW5kbGVDb2x1bW5Ecm9wKFdlLG5lKX0KICAgICAgPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbHVtbi1oZWFkZXIiIHRpdGxlPSR7eGUucHJlZml4fHx0aGlzLmJ1Y2tldE5hbWV9PgogICAgICAgICAgJHtfZX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2x1bW4taXRlbXMiIEBjb250ZXh0bWVudT0ke1dlPT50aGlzLmhhbmRsZUVtcHR5U3BhY2VDb250ZXh0TWVudShXZSxuZSl9PgogICAgICAgICAgJHt4ZS5wcmVmaXhlcy5sZW5ndGg9PT0wJiZ4ZS5vYmplY3RzLmxlbmd0aD09PTA/d2A8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+RW1wdHkgZm9sZGVyPC9kaXY+YDoiIn0KICAgICAgICAgICR7eGUucHJlZml4ZXMubWFwKFdlPT53YAogICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJjb2x1bW4taXRlbSBmb2xkZXIgJHt4ZS5zZWxlY3RlZEl0ZW09PT1XZT8ic2VsZWN0ZWQiOiIifSAke3RoaXMuZHJhZ092ZXJGb2xkZXJQcmVmaXg9PT1XZT8iZHJhZy10YXJnZXQiOiIifSIKICAgICAgICAgICAgICAgIGRyYWdnYWJsZT0idHJ1ZSIKICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnNlbGVjdEZvbGRlcihuZSxXZSl9CiAgICAgICAgICAgICAgICBAY29udGV4dG1lbnU9JHtTdD0+dGhpcy5oYW5kbGVGb2xkZXJDb250ZXh0TWVudShTdCxuZSxXZSl9CiAgICAgICAgICAgICAgICBAZHJhZ3N0YXJ0PSR7U3Q9PnRoaXMuaGFuZGxlSXRlbURyYWdTdGFydChTdCxXZSwhMCl9CiAgICAgICAgICAgICAgICBAZHJhZ2VuZD0ke1N0PT50aGlzLmhhbmRsZUl0ZW1EcmFnRW5kKFN0KX0KICAgICAgICAgICAgICAgIEBkcmFnZW50ZXI9JHtTdD0+dGhpcy5oYW5kbGVGb2xkZXJEcmFnRW50ZXIoU3QsV2UpfQogICAgICAgICAgICAgICAgQGRyYWdvdmVyPSR7U3Q9PnRoaXMuaGFuZGxlRm9sZGVyRHJhZ092ZXIoU3QpfQogICAgICAgICAgICAgICAgQGRyYWdsZWF2ZT0ke1N0PT50aGlzLmhhbmRsZUZvbGRlckRyYWdMZWF2ZShTdCxXZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuYW1lIj4ke21hKFdlKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJjaGV2cm9uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI5IDE4IDE1IDEyIDkgNiI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgKX0KICAgICAgICAgICR7eGUub2JqZWN0cy5tYXAoV2U9PndgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9ImNvbHVtbi1pdGVtICR7eGUuc2VsZWN0ZWRJdGVtPT09V2Uua2V5PyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICAgICAgZHJhZ2dhYmxlPSJ0cnVlIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2VsZWN0RmlsZShuZSxXZS5rZXkpfQogICAgICAgICAgICAgICAgQGNvbnRleHRtZW51PSR7U3Q9PnRoaXMuaGFuZGxlRmlsZUNvbnRleHRNZW51KFN0LG5lLFdlLmtleSl9CiAgICAgICAgICAgICAgICBAZHJhZ3N0YXJ0PSR7U3Q9PnRoaXMuaGFuZGxlSXRlbURyYWdTdGFydChTdCxXZS5rZXksITEpfQogICAgICAgICAgICAgICAgQGRyYWdlbmQ9JHtTdD0+dGhpcy5oYW5kbGVJdGVtRHJhZ0VuZChTdCl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgPHBhdGggZD0iJHt0aGlzLmdldEZpbGVJY29uKFdlLmtleSl9IiAvPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmFtZSI+JHttYShXZS5rZXkpfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLmRyYWdPdmVyQ29sdW1uSW5kZXg9PT1uZT93YAogICAgICAgICAgPGRpdiBjbGFzcz0iZHJhZy1oaW50Ij4KICAgICAgICAgICAgJHt0aGlzLmRyYWdnZWRJdGVtP3RoaXMuZHJhZ092ZXJGb2xkZXJQcmVmaXg/YE1vdmUgdG8gJHttYSh0aGlzLmRyYWdPdmVyRm9sZGVyUHJlZml4KX1gOiJNb3ZlIGhlcmUiOnRoaXMuZHJhZ092ZXJGb2xkZXJQcmVmaXg/YERyb3AgdG8gdXBsb2FkIGludG8gJHttYSh0aGlzLmRyYWdPdmVyRm9sZGVyUHJlZml4KX1gOiJEcm9wIHRvIHVwbG9hZCBoZXJlIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgICAgJHt0aGlzLnVwbG9hZGluZz93YAogICAgICAgICAgPGRpdiBjbGFzcz0idXBsb2FkLW92ZXJsYXkiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1cGxvYWQtdGV4dCI+VXBsb2FkaW5nLi4uPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy51cGxvYWRQcm9ncmVzcz93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVwbG9hZC1wcm9ncmVzcyI+JHt0aGlzLnVwbG9hZFByb2dyZXNzLmN1cnJlbnR9IC8gJHt0aGlzLnVwbG9hZFByb2dyZXNzLnRvdGFsfSBmaWxlczwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpY3t2dChyLHQpfX07cmV0dXJuIGhsPXJ9KSgpfSk7dmFyIFlhLF90LHYwYSxrUWU9ZigoKT0+e2xlKCk7WHIoKTtRZSgpO1hXKCk7WWE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LF90PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx2MGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXN0b3JhZ2Uta2V5cyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxQPVtdLEIsTT1bXSxTPVtdLEUsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W10sY2UsdWU9W10sWT1bXSxRLEo9W10sWj1bXSxnZSxhZT1bXSxyZT1bXSx5ZSxWPVtdLEg9W10sb2Usc2U9W10sdGU9W10semUsT2U9W10scWU9W10sZHQsJGU9W10sQ2U9W10sTWUsZGU9W10sdmU9W10sQWUsWmU9W10sbnQ9W10senQsVGU9W10sd2U9W10sUmUsZmU9W10sYmU9W10sRWUsZnQ9W10sbXQ9W10sSXQsWGE9W10sSmE9W10sd3MsVWU9W10sdXQ9W10sUWEsTXI9W10sJHI9W10sVnIsRHI9W10seG89W107dmFyIHlvPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzU3RvcmFnZUtleXMiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTGU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0seD1bJCh7dHlwZTpOdW1iZXJ9KV0seT1bSygpXSxOPVtLKCldLE89W0soKV0sQj1bSygpXSxFPVtLKCldLFc9W0soKV0saGU9W0soKV0sbWU9W0soKV0sY2U9W0soKV0sUT1bSygpXSxnZT1bSygpXSx5ZT1bSygpXSxvZT1bSygpXSx6ZT1bSygpXSxkdD1bSygpXSxNZT1bSygpXSxBZT1bSygpXSx6dD1bSygpXSxSZT1bSygpXSxFZT1bSygpXSxJdD1bSygpXSx3cz1bSygpXSxRYT1bSygpXSxWcj1bSygpXSxZYSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGFQcm92aWRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+ImRhdGFQcm92aWRlciJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLmRhdGFQcm92aWRlciwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLmRhdGFQcm92aWRlcj1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sbixsKSxZYSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJ1Y2tldE5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJidWNrZXROYW1lImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UuYnVja2V0TmFtZSwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLmJ1Y2tldE5hbWU9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LGMscCksWWEodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50UHJlZml4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4iY3VycmVudFByZWZpeCJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLmN1cnJlbnRQcmVmaXgsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5jdXJyZW50UHJlZml4PUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxtLHYpLFlhKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVmcmVzaEtleSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+InJlZnJlc2hLZXkiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5yZWZyZXNoS2V5LCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UucmVmcmVzaEtleT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sYixnKSxZYSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFsbEtleXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJhbGxLZXlzImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UuYWxsS2V5cywiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLmFsbEtleXM9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LGssQyksWWEodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwcmVmaXhlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+InByZWZpeGVzImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UucHJlZml4ZXMsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5wcmVmaXhlcz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sXyx6KSxZYSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJsb2FkaW5nImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UubG9hZGluZywiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLmxvYWRpbmc9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LFQsUCksWWEodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZEtleSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+InNlbGVjdGVkS2V5ImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2Uuc2VsZWN0ZWRLZXksImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5zZWxlY3RlZEtleT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sTSxTKSxZYSh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbHRlclRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJmaWx0ZXJUZXh0ImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UuZmlsdGVyVGV4dCwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLmZpbHRlclRleHQ9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LEEsRiksWWEodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93Q3JlYXRlRGlhbG9nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ic2hvd0NyZWF0ZURpYWxvZyJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLnNob3dDcmVhdGVEaWFsb2csImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5zaG93Q3JlYXRlRGlhbG9nPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxqLEcpLFlhKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNyZWF0ZURpYWxvZ1R5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJjcmVhdGVEaWFsb2dUeXBlImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UuY3JlYXRlRGlhbG9nVHlwZSwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLmNyZWF0ZURpYWxvZ1R5cGU9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LFIsVSksWWEodGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JlYXRlRGlhbG9nUHJlZml4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4iY3JlYXRlRGlhbG9nUHJlZml4ImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UuY3JlYXRlRGlhbG9nUHJlZml4LCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UuY3JlYXRlRGlhbG9nUHJlZml4PUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxJLHEpLFlhKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNyZWF0ZURpYWxvZ05hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJjcmVhdGVEaWFsb2dOYW1lImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UuY3JlYXRlRGlhbG9nTmFtZSwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLmNyZWF0ZURpYWxvZ05hbWU9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LHVlLFkpLFlhKHRoaXMsbnVsbCxRLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd01vdmVEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJzaG93TW92ZURpYWxvZyJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLnNob3dNb3ZlRGlhbG9nLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2Uuc2hvd01vdmVEaWFsb2c9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LEosWiksWWEodGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZVNvdXJjZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+Im1vdmVTb3VyY2UiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5tb3ZlU291cmNlLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UubW92ZVNvdXJjZT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sYWUscmUpLFlhKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVEZXN0aW5hdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+Im1vdmVEZXN0aW5hdGlvbiJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLm1vdmVEZXN0aW5hdGlvbiwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLm1vdmVEZXN0aW5hdGlvbj1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sVixIKSxZYSh0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlSW5Qcm9ncmVzcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+Im1vdmVJblByb2dyZXNzImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UubW92ZUluUHJvZ3Jlc3MsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5tb3ZlSW5Qcm9ncmVzcz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sc2UsdGUpLFlhKHRoaXMsbnVsbCx6ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVFcnJvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+Im1vdmVFcnJvciJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLm1vdmVFcnJvciwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLm1vdmVFcnJvcj1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sT2UscWUpLFlhKHRoaXMsbnVsbCxkdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dNb3ZlUGlja2VyRGlhbG9nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ic2hvd01vdmVQaWNrZXJEaWFsb2ciaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5zaG93TW92ZVBpY2tlckRpYWxvZywiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLnNob3dNb3ZlUGlja2VyRGlhbG9nPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSwkZSxDZSksWWEodGhpcyxudWxsLE1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZVBpY2tlclNvdXJjZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+Im1vdmVQaWNrZXJTb3VyY2UiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5tb3ZlUGlja2VyU291cmNlLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UubW92ZVBpY2tlclNvdXJjZT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sZGUsdmUpLFlhKHRoaXMsbnVsbCxBZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVQaWNrZXJDdXJyZW50UHJlZml4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ibW92ZVBpY2tlckN1cnJlbnRQcmVmaXgiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5tb3ZlUGlja2VyQ3VycmVudFByZWZpeCwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4PUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxaZSxudCksWWEodGhpcyxudWxsLHp0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZVBpY2tlclByZWZpeGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ibW92ZVBpY2tlclByZWZpeGVzImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UubW92ZVBpY2tlclByZWZpeGVzLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UubW92ZVBpY2tlclByZWZpeGVzPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxUZSx3ZSksWWEodGhpcyxudWxsLFJlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZVBpY2tlckxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJtb3ZlUGlja2VyTG9hZGluZyJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLm1vdmVQaWNrZXJMb2FkaW5nLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UubW92ZVBpY2tlckxvYWRpbmc9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LGZlLGJlKSxZYSh0aGlzLG51bGwsRWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93UmVuYW1lRGlhbG9nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ic2hvd1JlbmFtZURpYWxvZyJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLnNob3dSZW5hbWVEaWFsb2csImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5zaG93UmVuYW1lRGlhbG9nPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxmdCxtdCksWWEodGhpcyxudWxsLEl0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVuYW1lU291cmNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4icmVuYW1lU291cmNlImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UucmVuYW1lU291cmNlLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UucmVuYW1lU291cmNlPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxYYSxKYSksWWEodGhpcyxudWxsLHdzLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVuYW1lTmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+InJlbmFtZU5hbWUiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5yZW5hbWVOYW1lLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UucmVuYW1lTmFtZT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sVWUsdXQpLFlhKHRoaXMsbnVsbCxRYSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmFtZUluUHJvZ3Jlc3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJyZW5hbWVJblByb2dyZXNzImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UucmVuYW1lSW5Qcm9ncmVzcywiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLnJlbmFtZUluUHJvZ3Jlc3M9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LE1yLCRyKSxZYSh0aGlzLG51bGwsVnIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5hbWVFcnJvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+InJlbmFtZUVycm9yImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UucmVuYW1lRXJyb3IsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5yZW5hbWVFcnJvcj1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sRHIseG8pLFlhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkxlfSxudWxsLHQpLHlvPXI9ZS52YWx1ZSxMZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpMZX0pfSNlPV90KHRoaXMsbixudWxsKTtnZXQgZGF0YVByb3ZpZGVyKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRhdGFQcm92aWRlcihMZSl7dGhpcy4jZT1MZX0jdD0oX3QodGhpcyxsKSxfdCh0aGlzLGMsIiIpKTtnZXQgYnVja2V0TmFtZSgpe3JldHVybiB0aGlzLiN0fXNldCBidWNrZXROYW1lKExlKXt0aGlzLiN0PUxlfSNhPShfdCh0aGlzLHApLF90KHRoaXMsbSwiIikpO2dldCBjdXJyZW50UHJlZml4KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGN1cnJlbnRQcmVmaXgoTGUpe3RoaXMuI2E9TGV9I3I9KF90KHRoaXMsdiksX3QodGhpcyxiLDApKTtnZXQgcmVmcmVzaEtleSgpe3JldHVybiB0aGlzLiNyfXNldCByZWZyZXNoS2V5KExlKXt0aGlzLiNyPUxlfSNzPShfdCh0aGlzLGcpLF90KHRoaXMsayxbXSkpO2dldCBhbGxLZXlzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGFsbEtleXMoTGUpe3RoaXMuI3M9TGV9I2k9KF90KHRoaXMsQyksX3QodGhpcyxfLFtdKSk7Z2V0IHByZWZpeGVzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHByZWZpeGVzKExlKXt0aGlzLiNpPUxlfSNvPShfdCh0aGlzLHopLF90KHRoaXMsVCwhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI299c2V0IGxvYWRpbmcoTGUpe3RoaXMuI289TGV9I249KF90KHRoaXMsUCksX3QodGhpcyxNLCIiKSk7Z2V0IHNlbGVjdGVkS2V5KCl7cmV0dXJuIHRoaXMuI259c2V0IHNlbGVjdGVkS2V5KExlKXt0aGlzLiNuPUxlfSNsPShfdCh0aGlzLFMpLF90KHRoaXMsQSwiIikpO2dldCBmaWx0ZXJUZXh0KCl7cmV0dXJuIHRoaXMuI2x9c2V0IGZpbHRlclRleHQoTGUpe3RoaXMuI2w9TGV9I2M9KF90KHRoaXMsRiksX3QodGhpcyxqLCExKSk7Z2V0IHNob3dDcmVhdGVEaWFsb2coKXtyZXR1cm4gdGhpcy4jY31zZXQgc2hvd0NyZWF0ZURpYWxvZyhMZSl7dGhpcy4jYz1MZX0jZD0oX3QodGhpcyxHKSxfdCh0aGlzLFIsImZvbGRlciIpKTtnZXQgY3JlYXRlRGlhbG9nVHlwZSgpe3JldHVybiB0aGlzLiNkfXNldCBjcmVhdGVEaWFsb2dUeXBlKExlKXt0aGlzLiNkPUxlfSN1PShfdCh0aGlzLFUpLF90KHRoaXMsSSwiIikpO2dldCBjcmVhdGVEaWFsb2dQcmVmaXgoKXtyZXR1cm4gdGhpcy4jdX1zZXQgY3JlYXRlRGlhbG9nUHJlZml4KExlKXt0aGlzLiN1PUxlfSNwPShfdCh0aGlzLHEpLF90KHRoaXMsdWUsIiIpKTtnZXQgY3JlYXRlRGlhbG9nTmFtZSgpe3JldHVybiB0aGlzLiNwfXNldCBjcmVhdGVEaWFsb2dOYW1lKExlKXt0aGlzLiNwPUxlfSNmPShfdCh0aGlzLFkpLF90KHRoaXMsSiwhMSkpO2dldCBzaG93TW92ZURpYWxvZygpe3JldHVybiB0aGlzLiNmfXNldCBzaG93TW92ZURpYWxvZyhMZSl7dGhpcy4jZj1MZX0jaD0oX3QodGhpcyxaKSxfdCh0aGlzLGFlLG51bGwpKTtnZXQgbW92ZVNvdXJjZSgpe3JldHVybiB0aGlzLiNofXNldCBtb3ZlU291cmNlKExlKXt0aGlzLiNoPUxlfSNtPShfdCh0aGlzLHJlKSxfdCh0aGlzLFYsIiIpKTtnZXQgbW92ZURlc3RpbmF0aW9uKCl7cmV0dXJuIHRoaXMuI219c2V0IG1vdmVEZXN0aW5hdGlvbihMZSl7dGhpcy4jbT1MZX0jZz0oX3QodGhpcyxIKSxfdCh0aGlzLHNlLCExKSk7Z2V0IG1vdmVJblByb2dyZXNzKCl7cmV0dXJuIHRoaXMuI2d9c2V0IG1vdmVJblByb2dyZXNzKExlKXt0aGlzLiNnPUxlfSNiPShfdCh0aGlzLHRlKSxfdCh0aGlzLE9lLG51bGwpKTtnZXQgbW92ZUVycm9yKCl7cmV0dXJuIHRoaXMuI2J9c2V0IG1vdmVFcnJvcihMZSl7dGhpcy4jYj1MZX0jdj0oX3QodGhpcyxxZSksX3QodGhpcywkZSwhMSkpO2dldCBzaG93TW92ZVBpY2tlckRpYWxvZygpe3JldHVybiB0aGlzLiN2fXNldCBzaG93TW92ZVBpY2tlckRpYWxvZyhMZSl7dGhpcy4jdj1MZX0jeD0oX3QodGhpcyxDZSksX3QodGhpcyxkZSxudWxsKSk7Z2V0IG1vdmVQaWNrZXJTb3VyY2UoKXtyZXR1cm4gdGhpcy4jeH1zZXQgbW92ZVBpY2tlclNvdXJjZShMZSl7dGhpcy4jeD1MZX0jeT0oX3QodGhpcyx2ZSksX3QodGhpcyxaZSwiIikpO2dldCBtb3ZlUGlja2VyQ3VycmVudFByZWZpeCgpe3JldHVybiB0aGlzLiN5fXNldCBtb3ZlUGlja2VyQ3VycmVudFByZWZpeChMZSl7dGhpcy4jeT1MZX0jdz0oX3QodGhpcyxudCksX3QodGhpcyxUZSxbXSkpO2dldCBtb3ZlUGlja2VyUHJlZml4ZXMoKXtyZXR1cm4gdGhpcy4jd31zZXQgbW92ZVBpY2tlclByZWZpeGVzKExlKXt0aGlzLiN3PUxlfSNNPShfdCh0aGlzLHdlKSxfdCh0aGlzLGZlLCExKSk7Z2V0IG1vdmVQaWNrZXJMb2FkaW5nKCl7cmV0dXJuIHRoaXMuI019c2V0IG1vdmVQaWNrZXJMb2FkaW5nKExlKXt0aGlzLiNNPUxlfSNrPShfdCh0aGlzLGJlKSxfdCh0aGlzLGZ0LCExKSk7Z2V0IHNob3dSZW5hbWVEaWFsb2coKXtyZXR1cm4gdGhpcy4ja31zZXQgc2hvd1JlbmFtZURpYWxvZyhMZSl7dGhpcy4jaz1MZX0jUz0oX3QodGhpcyxtdCksX3QodGhpcyxYYSxudWxsKSk7Z2V0IHJlbmFtZVNvdXJjZSgpe3JldHVybiB0aGlzLiNTfXNldCByZW5hbWVTb3VyY2UoTGUpe3RoaXMuI1M9TGV9I3o9KF90KHRoaXMsSmEpLF90KHRoaXMsVWUsIiIpKTtnZXQgcmVuYW1lTmFtZSgpe3JldHVybiB0aGlzLiN6fXNldCByZW5hbWVOYW1lKExlKXt0aGlzLiN6PUxlfSNDPShfdCh0aGlzLHV0KSxfdCh0aGlzLE1yLCExKSk7Z2V0IHJlbmFtZUluUHJvZ3Jlc3MoKXtyZXR1cm4gdGhpcy4jQ31zZXQgcmVuYW1lSW5Qcm9ncmVzcyhMZSl7dGhpcy4jQz1MZX0jXz0oX3QodGhpcywkciksX3QodGhpcyxEcixudWxsKSk7Z2V0IHJlbmFtZUVycm9yKCl7cmV0dXJuIHRoaXMuI199c2V0IHJlbmFtZUVycm9yKExlKXt0aGlzLiNfPUxlfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxQZSxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5rZXlzLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmZpbHRlci1iYXIgewogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzMzMyIpfTsKICAgICAgfQoKICAgICAgLmZpbHRlci1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNDQ0Iil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLmZpbHRlci1pbnB1dDpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzQwNDA0MCIpfTsKICAgICAgfQoKICAgICAgLmZpbHRlci1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgIH0KCiAgICAgIC5rZXlzLWxpc3QgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQoKICAgICAgdGFibGUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICAgIH0KCiAgICAgIHRoZWFkIHsKICAgICAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgICAgIHRvcDogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMxYTFhMWEiKX07CiAgICAgICAgei1pbmRleDogMTsKICAgICAgfQoKICAgICAgdGggewogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM2NjYiKX07CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzMzIil9OwogICAgICB9CgogICAgICB0ZCB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyYTJhM2UiKX07CiAgICAgIH0KCiAgICAgIHRyOmhvdmVyIHRkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAyKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMykiKX07CiAgICAgIH0KCiAgICAgIHRyLnNlbGVjdGVkIHRkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMDgpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSIpfTsKICAgICAgfQoKICAgICAgLmtleS1jZWxsIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAua2V5LWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmZvbGRlci1pY29uIHsKICAgICAgICBjb2xvcjogI2ZiYmYyNDsKICAgICAgfQoKICAgICAgLmtleS1uYW1lIHsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5zaXplLWNlbGwgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM4ODgiKX07CiAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBwYWRkaW5nOiAzMnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNjY2Iil9OwogICAgICB9CgogICAgICAuZGlhbG9nLW92ZXJsYXkgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICB9CgogICAgICAuZGlhbG9nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxZTFlMWUiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1pbi13aWR0aDogNDAwcHg7CiAgICAgICAgYm94LXNoYWRvdzogMCAyMHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjUpOwogICAgICB9CgogICAgICAuZGlhbG9nLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctbG9jYXRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE0MTQxNCIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzMzMiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZGlhbG9nLWlucHV0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjZTBlMGUwIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWhpbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNjY2Iil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4gewogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jYW5jZWwgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzQ0NCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYWFhIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jYW5jZWw6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jcmVhdGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzQwNDA0MCIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4tY3JlYXRlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiM1MDUwNTAiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNyZWF0ZTpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC8qIE1vdmUgZGlhbG9nIHN0eWxlcyAqLwogICAgICAubW92ZS1zdW1tYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMCwgMCwgMCwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAubW92ZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLm1vdmUtaXRlbTpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAubW92ZS1sYWJlbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgICBtaW4td2lkdGg6IDQwcHg7CiAgICAgIH0KCiAgICAgIC5tb3ZlLXBhdGggewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNmM2Y0NiIsIiNlMGUwZTAiKX07CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICB9CgogICAgICAubW92ZS1lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xNSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4zKTsKICAgICAgICBjb2xvcjogI2Y4NzE3MTsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAvKiBNb3ZlIHBpY2tlciBkaWFsb2cgc3R5bGVzICovCiAgICAgIC5tb3ZlLXBpY2tlci1kaWFsb2cgewogICAgICAgIG1pbi13aWR0aDogNDUwcHg7CiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7CiAgICAgIH0KCiAgICAgIC5waWNrZXItYnJlYWRjcnVtYiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAucGlja2VyLWNydW1iIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAucGlja2VyLWNydW1iOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAucGlja2VyLXNlcGFyYXRvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzU1NSIpfTsKICAgICAgfQoKICAgICAgLnBpY2tlci1saXN0IHsKICAgICAgICBtYXgtaGVpZ2h0OiAyODBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzMzMyIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBtaW4taGVpZ2h0OiAxMDBweDsKICAgICAgfQoKICAgICAgLnBpY2tlci1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAjZmJiZjI0OwogICAgICB9CgogICAgICAucGlja2VyLWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgLnBpY2tlci1pdGVtIC5pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5waWNrZXItaXRlbSAubmFtZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5waWNrZXItZW1wdHkgewogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CiAgICBgXTthc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgdGhpcy5sb2FkT2JqZWN0cygpfXVwZGF0ZWQoTGUpeyhMZS5oYXMoImJ1Y2tldE5hbWUiKXx8TGUuaGFzKCJjdXJyZW50UHJlZml4Iil8fExlLmhhcygicmVmcmVzaEtleSIpKSYmdGhpcy5sb2FkT2JqZWN0cygpfWFzeW5jIGxvYWRPYmplY3RzKCl7aWYodGhpcy5kYXRhUHJvdmlkZXIpe3RoaXMubG9hZGluZz0hMDt0cnl7bGV0IExlPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmxpc3RPYmplY3RzKHRoaXMuYnVja2V0TmFtZSx0aGlzLmN1cnJlbnRQcmVmaXgsIi8iKTt0aGlzLmFsbEtleXM9TGUub2JqZWN0cyx0aGlzLnByZWZpeGVzPUxlLnByZWZpeGVzfWNhdGNoKExlKXtjb25zb2xlLmVycm9yKCJFcnJvciBsb2FkaW5nIG9iamVjdHM6IixMZSksdGhpcy5hbGxLZXlzPVtdLHRoaXMucHJlZml4ZXM9W119dGhpcy5sb2FkaW5nPSExfX1oYW5kbGVGaWx0ZXJJbnB1dChMZSl7dGhpcy5maWx0ZXJUZXh0PUxlLnRhcmdldC52YWx1ZX1zZWxlY3RLZXkoTGUsU2Upe3RoaXMuc2VsZWN0ZWRLZXk9TGUsU2U/dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibmF2aWdhdGUiLHtkZXRhaWw6e3ByZWZpeDpMZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKTp0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJrZXktc2VsZWN0ZWQiLHtkZXRhaWw6e2tleTpMZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1nZXQgZmlsdGVyZWRJdGVtcygpe2xldCBMZT10aGlzLmZpbHRlclRleHQudG9Mb3dlckNhc2UoKSxTZT10aGlzLnByZWZpeGVzLmZpbHRlcihpYT0+IUxlfHxtYShpYSkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhMZSkpLm1hcChpYT0+KHtrZXk6aWEsaXNGb2xkZXI6ITAsc2l6ZTp2b2lkIDB9KSksQmU9dGhpcy5hbGxLZXlzLmZpbHRlcihpYT0+IUxlfHxtYShpYS5rZXkpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoTGUpKS5tYXAoaWE9Pih7a2V5OmlhLmtleSxpc0ZvbGRlcjohMSxzaXplOmlhLnNpemV9KSk7cmV0dXJuWy4uLlNlLC4uLkJlXX1oYW5kbGVJdGVtQ29udGV4dE1lbnUoTGUsU2UsQmUpe3RoaXMuZGF0YVByb3ZpZGVyJiYoTGUucHJldmVudERlZmF1bHQoKSxCZT90YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhMZSxbe25hbWU6Ik9wZW4iLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyT3BlbiIsYWN0aW9uOnMoYXN5bmMoKT0+e3RoaXMuc2VsZWN0S2V5KFNlLCEwKX0sImFjdGlvbiIpfSx7bmFtZToiQ29weSBQYXRoIixpY29uTmFtZToibHVjaWRlOmNvcHkiLGFjdGlvbjpzKGFzeW5jKCk9Pnthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChTZSl9LCJhY3Rpb24iKX0se25hbWU6IlJlbmFtZSIsaWNvbk5hbWU6Imx1Y2lkZTpwZW5jaWwiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMub3BlblJlbmFtZURpYWxvZyhTZSwhMCksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6Ik1vdmUgdG8uLi4iLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVySW5wdXQiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMub3Blbk1vdmVQaWNrZXJEaWFsb2coU2UsITApLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJOZXcgRm9sZGVyIEluc2lkZSIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZvbGRlciIsU2UpLCJhY3Rpb24iKX0se25hbWU6Ik5ldyBGaWxlIEluc2lkZSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlUGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuQ3JlYXRlRGlhbG9nKCJmaWxlIixTZSksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkRlbGV0ZSBGb2xkZXIiLGljb25OYW1lOiJsdWNpZGU6dHJhc2gyIixhY3Rpb246cyhhc3luYygpPT57Y29uZmlybShgRGVsZXRlIGZvbGRlciAiJHttYShTZSl9IiBhbmQgYWxsIGl0cyBjb250ZW50cz9gKSYmYXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIuZGVsZXRlUHJlZml4KHRoaXMuYnVja2V0TmFtZSxTZSkmJmF3YWl0IHRoaXMubG9hZE9iamVjdHMoKX0sImFjdGlvbiIpfV0pOnRhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKExlLFt7bmFtZToiUHJldmlldyIsaWNvbk5hbWU6Imx1Y2lkZTpleWUiLGFjdGlvbjpzKGFzeW5jKCk9Pnt0aGlzLnNlbGVjdEtleShTZSwhMSl9LCJhY3Rpb24iKX0se25hbWU6IkRvd25sb2FkIixpY29uTmFtZToibHVjaWRlOmRvd25sb2FkIixhY3Rpb246cyhhc3luYygpPT57bGV0IGlhPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmdldE9iamVjdFVybCh0aGlzLmJ1Y2tldE5hbWUsU2UpLE1zPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtNcy5ocmVmPWlhLE1zLmRvd25sb2FkPW1hKFNlKSxNcy5jbGljaygpfSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IFBhdGgiLGljb25OYW1lOiJsdWNpZGU6Y29weSIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KFNlKX0sImFjdGlvbiIpfSx7bmFtZToiUmVuYW1lIixpY29uTmFtZToibHVjaWRlOnBlbmNpbCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuUmVuYW1lRGlhbG9nKFNlLCExKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiTW92ZSB0by4uLiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJJbnB1dCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuTW92ZVBpY2tlckRpYWxvZyhTZSwhMSksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkRlbGV0ZSIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25maXJtKGBEZWxldGUgZmlsZSAiJHttYShTZSl9Ij9gKSYmYXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIuZGVsZXRlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSxTZSkmJmF3YWl0IHRoaXMubG9hZE9iamVjdHMoKX0sImFjdGlvbiIpfV0pKX1oYW5kbGVFbXB0eVNwYWNlQ29udGV4dE1lbnUoTGUpe0xlLnRhcmdldC5jbG9zZXN0KCJ0ciIpfHwoTGUucHJldmVudERlZmF1bHQoKSx0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhMZSxbe25hbWU6Ik5ldyBGb2xkZXIiLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyUGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuQ3JlYXRlRGlhbG9nKCJmb2xkZXIiLHRoaXMuY3VycmVudFByZWZpeCksImFjdGlvbiIpfSx7bmFtZToiTmV3IEZpbGUiLGljb25OYW1lOiJsdWNpZGU6ZmlsZVBsdXMiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMub3BlbkNyZWF0ZURpYWxvZygiZmlsZSIsdGhpcy5jdXJyZW50UHJlZml4KSwiYWN0aW9uIil9XSkpfW9wZW5DcmVhdGVEaWFsb2coTGUsU2Upe3RoaXMuY3JlYXRlRGlhbG9nVHlwZT1MZSx0aGlzLmNyZWF0ZURpYWxvZ1ByZWZpeD1TZSx0aGlzLmNyZWF0ZURpYWxvZ05hbWU9IiIsdGhpcy5zaG93Q3JlYXRlRGlhbG9nPSEwfWFzeW5jIGhhbmRsZUNyZWF0ZSgpe2lmKCF0aGlzLmNyZWF0ZURpYWxvZ05hbWUudHJpbSgpfHwhdGhpcy5kYXRhUHJvdmlkZXIpcmV0dXJuO2xldCBMZT10aGlzLmNyZWF0ZURpYWxvZ05hbWUudHJpbSgpLFNlO3RoaXMuY3JlYXRlRGlhbG9nVHlwZT09PSJmb2xkZXIiP1NlPXRoaXMuY3JlYXRlRGlhbG9nUHJlZml4K0xlKyIvLmtlZXAiOlNlPXRoaXMuY3JlYXRlRGlhbG9nUHJlZml4K0xlO2xldCBCZT1MZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpfHwiIixpYT10aGlzLmNyZWF0ZURpYWxvZ1R5cGU9PT0iZmlsZSI/RTQoQmUpOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLE1zPXRoaXMuY3JlYXRlRGlhbG9nVHlwZT09PSJmaWxlIj9HbShCZSk6IiI7YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIucHV0T2JqZWN0KHRoaXMuYnVja2V0TmFtZSxTZSxidG9hKE1zKSxpYSkmJih0aGlzLnNob3dDcmVhdGVEaWFsb2c9ITEsYXdhaXQgdGhpcy5sb2FkT2JqZWN0cygpKX1yZW5kZXJDcmVhdGVEaWFsb2coKXtpZighdGhpcy5zaG93Q3JlYXRlRGlhbG9nKXJldHVybiIiO2xldCBMZT10aGlzLmNyZWF0ZURpYWxvZ1R5cGU9PT0iZm9sZGVyIixTZT1MZT8iQ3JlYXRlIE5ldyBGb2xkZXIiOiJDcmVhdGUgTmV3IEZpbGUiLEJlPUxlPyJmb2xkZXItbmFtZSBvciBwYXRoL3RvL2ZvbGRlciI6ImZpbGVuYW1lLnR4dCBvciBwYXRoL3RvL2ZpbGUudHh0IjtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLW92ZXJsYXkiIEBjbGljaz0keygpPT50aGlzLnNob3dDcmVhdGVEaWFsb2c9ITF9PgogICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZyIgQGNsaWNrPSR7aWE9PmlhLnN0b3BQcm9wYWdhdGlvbigpfT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy10aXRsZSI+JHtTZX08L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1sb2NhdGlvbiI+CiAgICAgICAgICAgIExvY2F0aW9uOiAke3RoaXMuYnVja2V0TmFtZX0vJHt0aGlzLmNyZWF0ZURpYWxvZ1ByZWZpeH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgIGNsYXNzPSJkaWFsb2ctaW5wdXQiCiAgICAgICAgICAgIHBsYWNlaG9sZGVyPSR7QmV9CiAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuY3JlYXRlRGlhbG9nTmFtZX0KICAgICAgICAgICAgQGlucHV0PSR7aWE9PnRoaXMuY3JlYXRlRGlhbG9nTmFtZT1pYS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgIEBrZXlkb3duPSR7aWE9PmlhLmtleT09PSJFbnRlciImJnRoaXMuaGFuZGxlQ3JlYXRlKCl9CiAgICAgICAgICAvPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWhpbnQiPgogICAgICAgICAgICBVc2UgIi8iIHRvIGNyZWF0ZSBuZXN0ZWQgJHtMZT8iZm9sZGVycyI6InBhdGgifSAoZS5nLiwgJHtMZT8icGFyZW50L2NoaWxkIjoiZm9sZGVyL2ZpbGUudHh0In0pCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1hY3Rpb25zIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNhbmNlbCIgQGNsaWNrPSR7KCk9PnRoaXMuc2hvd0NyZWF0ZURpYWxvZz0hMX0+CiAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jcmVhdGUiCiAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7IXRoaXMuY3JlYXRlRGlhbG9nTmFtZS50cmltKCl9CiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlKCl9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICBDcmVhdGUKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIG9wZW5Nb3ZlUGlja2VyRGlhbG9nKExlLFNlKXt0aGlzLm1vdmVQaWNrZXJTb3VyY2U9e2tleTpMZSxpc0ZvbGRlcjpTZX0sdGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD0iIix0aGlzLnNob3dNb3ZlUGlja2VyRGlhbG9nPSEwLGF3YWl0IHRoaXMubG9hZE1vdmVQaWNrZXJQcmVmaXhlcygiIil9YXN5bmMgbmF2aWdhdGVNb3ZlUGlja2VyKExlKXt0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4PUxlLGF3YWl0IHRoaXMubG9hZE1vdmVQaWNrZXJQcmVmaXhlcyhMZSl9YXN5bmMgbG9hZE1vdmVQaWNrZXJQcmVmaXhlcyhMZSl7aWYodGhpcy5kYXRhUHJvdmlkZXIpe3RoaXMubW92ZVBpY2tlckxvYWRpbmc9ITA7dHJ5e2xldCBTZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5saXN0T2JqZWN0cyh0aGlzLmJ1Y2tldE5hbWUsTGUsIi8iKTt0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcz1TZS5wcmVmaXhlc31jYXRjaHt0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcz1bXX10aGlzLm1vdmVQaWNrZXJMb2FkaW5nPSExfX1zZWxlY3RNb3ZlRGVzdGluYXRpb24oTGUpe3RoaXMubW92ZVBpY2tlclNvdXJjZSYmKHRoaXMuY2xvc2VNb3ZlUGlja2VyRGlhbG9nKCksdGhpcy5pbml0aWF0ZU1vdmUodGhpcy5tb3ZlUGlja2VyU291cmNlLmtleSx0aGlzLm1vdmVQaWNrZXJTb3VyY2UuaXNGb2xkZXIsTGUpKX1jbG9zZU1vdmVQaWNrZXJEaWFsb2coKXt0aGlzLnNob3dNb3ZlUGlja2VyRGlhbG9nPSExLHRoaXMubW92ZVBpY2tlclNvdXJjZT1udWxsLHRoaXMubW92ZVBpY2tlckN1cnJlbnRQcmVmaXg9IiIsdGhpcy5tb3ZlUGlja2VyUHJlZml4ZXM9W119aW5pdGlhdGVNb3ZlKExlLFNlLEJlKXtsZXQgaWE9V20oTGUsQmUpO2lmKCFpYS52YWxpZCl7dGhpcy5tb3ZlU291cmNlPXtrZXk6TGUsaXNGb2xkZXI6U2V9LHRoaXMubW92ZURlc3RpbmF0aW9uPUJlLHRoaXMubW92ZUVycm9yPWlhLmVycm9yLHRoaXMuc2hvd01vdmVEaWFsb2c9ITA7cmV0dXJufXRoaXMubW92ZVNvdXJjZT17a2V5OkxlLGlzRm9sZGVyOlNlfSx0aGlzLm1vdmVEZXN0aW5hdGlvbj1CZSx0aGlzLm1vdmVFcnJvcj1udWxsLHRoaXMuc2hvd01vdmVEaWFsb2c9ITB9YXN5bmMgZXhlY3V0ZU1vdmUoKXtpZighKCF0aGlzLm1vdmVTb3VyY2V8fCF0aGlzLmRhdGFQcm92aWRlcikpe3RoaXMubW92ZUluUHJvZ3Jlc3M9ITA7dHJ5e2xldCBMZT1tYSh0aGlzLm1vdmVTb3VyY2Uua2V5KSxTZT10aGlzLm1vdmVEZXN0aW5hdGlvbitMZSxCZTt0aGlzLm1vdmVTb3VyY2UuaXNGb2xkZXI/QmU9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubW92ZVByZWZpeCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5tb3ZlU291cmNlLmtleSxTZSk6QmU9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubW92ZU9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5tb3ZlU291cmNlLmtleSxTZSksQmUuc3VjY2Vzcz8odGhpcy5jbG9zZU1vdmVEaWFsb2coKSxhd2FpdCB0aGlzLmxvYWRPYmplY3RzKCkpOnRoaXMubW92ZUVycm9yPUJlLmVycm9yfHwiTW92ZSBvcGVyYXRpb24gZmFpbGVkIn1jYXRjaChMZSl7dGhpcy5tb3ZlRXJyb3I9YEVycm9yOiAke0xlfWB9dGhpcy5tb3ZlSW5Qcm9ncmVzcz0hMX19Y2xvc2VNb3ZlRGlhbG9nKCl7dGhpcy5zaG93TW92ZURpYWxvZz0hMSx0aGlzLm1vdmVTb3VyY2U9bnVsbCx0aGlzLm1vdmVEZXN0aW5hdGlvbj0iIix0aGlzLm1vdmVFcnJvcj1udWxsLHRoaXMubW92ZUluUHJvZ3Jlc3M9ITF9b3BlblJlbmFtZURpYWxvZyhMZSxTZSl7dGhpcy5yZW5hbWVTb3VyY2U9e2tleTpMZSxpc0ZvbGRlcjpTZX0sdGhpcy5yZW5hbWVOYW1lPW1hKExlKSx0aGlzLnJlbmFtZUVycm9yPW51bGwsdGhpcy5zaG93UmVuYW1lRGlhbG9nPSEwLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+e2xldCBCZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5yZW5hbWUtZGlhbG9nLWlucHV0Iik7aWYoQmUpaWYoQmUuZm9jdXMoKSxTZSlCZS5zZWxlY3QoKTtlbHNle2xldCBpYT10aGlzLnJlbmFtZU5hbWUubGFzdEluZGV4T2YoIi4iKTtpYT4wP0JlLnNldFNlbGVjdGlvblJhbmdlKDAsaWEpOkJlLnNlbGVjdCgpfX0pfWFzeW5jIGV4ZWN1dGVSZW5hbWUoKXtpZighdGhpcy5yZW5hbWVTb3VyY2V8fCF0aGlzLnJlbmFtZU5hbWUudHJpbSgpfHwhdGhpcy5kYXRhUHJvdmlkZXIpcmV0dXJuO2xldCBMZT10aGlzLnJlbmFtZU5hbWUudHJpbSgpLFNlPW1hKHRoaXMucmVuYW1lU291cmNlLmtleSk7aWYoTGU9PT1TZSl7dGhpcy5yZW5hbWVFcnJvcj0iTmFtZSBpcyB0aGUgc2FtZSBhcyBjdXJyZW50IjtyZXR1cm59aWYoIUxlKXt0aGlzLnJlbmFtZUVycm9yPSJOYW1lIGNhbm5vdCBiZSBlbXB0eSI7cmV0dXJufWlmKExlLmluY2x1ZGVzKCIvIikpe3RoaXMucmVuYW1lRXJyb3I9J05hbWUgY2Fubm90IGNvbnRhaW4gIi8iJztyZXR1cm59dGhpcy5yZW5hbWVJblByb2dyZXNzPSEwLHRoaXMucmVuYW1lRXJyb3I9bnVsbDt0cnl7bGV0IGlhPWoxKHRoaXMucmVuYW1lU291cmNlLmtleSkrTGUrKHRoaXMucmVuYW1lU291cmNlLmlzRm9sZGVyPyIvIjoiIiksTXM7dGhpcy5yZW5hbWVTb3VyY2UuaXNGb2xkZXI/TXM9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubW92ZVByZWZpeCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5yZW5hbWVTb3VyY2Uua2V5LGlhKTpNcz1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5tb3ZlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSx0aGlzLnJlbmFtZVNvdXJjZS5rZXksaWEpLE1zLnN1Y2Nlc3M/KHRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKSxhd2FpdCB0aGlzLmxvYWRPYmplY3RzKCkpOnRoaXMucmVuYW1lRXJyb3I9TXMuZXJyb3J8fCJSZW5hbWUgZmFpbGVkIn1jYXRjaChCZSl7dGhpcy5yZW5hbWVFcnJvcj1gRXJyb3I6ICR7QmV9YH10aGlzLnJlbmFtZUluUHJvZ3Jlc3M9ITF9Y2xvc2VSZW5hbWVEaWFsb2coKXt0aGlzLnNob3dSZW5hbWVEaWFsb2c9ITEsdGhpcy5yZW5hbWVTb3VyY2U9bnVsbCx0aGlzLnJlbmFtZU5hbWU9IiIsdGhpcy5yZW5hbWVFcnJvcj1udWxsLHRoaXMucmVuYW1lSW5Qcm9ncmVzcz0hMX1yZW5kZXJSZW5hbWVEaWFsb2coKXtpZighdGhpcy5zaG93UmVuYW1lRGlhbG9nfHwhdGhpcy5yZW5hbWVTb3VyY2UpcmV0dXJuIiI7bGV0IExlPXRoaXMucmVuYW1lU291cmNlLmlzRm9sZGVyO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctb3ZlcmxheSIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIiBAY2xpY2s9JHtCZT0+QmUuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLXRpdGxlIj4ke0xlPyJSZW5hbWUgRm9sZGVyIjoiUmVuYW1lIEZpbGUifTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWxvY2F0aW9uIj4KICAgICAgICAgICAgTG9jYXRpb246ICR7dGhpcy5idWNrZXROYW1lfS8ke2oxKHRoaXMucmVuYW1lU291cmNlLmtleSl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7dGhpcy5yZW5hbWVFcnJvcj93YDxkaXYgY2xhc3M9Im1vdmUtZXJyb3IiPiR7dGhpcy5yZW5hbWVFcnJvcn08L2Rpdj5gOiIifQogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgIGNsYXNzPSJkaWFsb2ctaW5wdXQgcmVuYW1lLWRpYWxvZy1pbnB1dCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9JHtMZT8iZm9sZGVyLW5hbWUiOiJmaWxlbmFtZS5leHQifQogICAgICAgICAgICAudmFsdWU9JHt0aGlzLnJlbmFtZU5hbWV9CiAgICAgICAgICAgIEBpbnB1dD0ke0JlPT57dGhpcy5yZW5hbWVOYW1lPUJlLnRhcmdldC52YWx1ZSx0aGlzLnJlbmFtZUVycm9yPW51bGx9fQogICAgICAgICAgICBAa2V5ZG93bj0ke0JlPT57QmUua2V5PT09IkVudGVyIiYmdGhpcy5leGVjdXRlUmVuYW1lKCksQmUua2V5PT09IkVzY2FwZSImJnRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKX19CiAgICAgICAgICAvPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmNsb3NlUmVuYW1lRGlhbG9nKCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5yZW5hbWVJblByb2dyZXNzfT5DYW5jZWw8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5leGVjdXRlUmVuYW1lKCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5yZW5hbWVJblByb2dyZXNzfHwhdGhpcy5yZW5hbWVOYW1lLnRyaW0oKX0+CiAgICAgICAgICAgICAgJHt0aGlzLnJlbmFtZUluUHJvZ3Jlc3M/IlJlbmFtaW5nLi4uIjoiUmVuYW1lIn0KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck1vdmVEaWFsb2coKXtpZighdGhpcy5zaG93TW92ZURpYWxvZ3x8IXRoaXMubW92ZVNvdXJjZSlyZXR1cm4iIjtsZXQgTGU9bWEodGhpcy5tb3ZlU291cmNlLmtleSk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1vdmVybGF5IiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZU1vdmVEaWFsb2coKX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIiBAY2xpY2s9JHtTZT0+U2Uuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLXRpdGxlIj5Nb3ZlICR7dGhpcy5tb3ZlU291cmNlLmlzRm9sZGVyPyJGb2xkZXIiOiJGaWxlIn08L2Rpdj4KCiAgICAgICAgICAke3RoaXMubW92ZUVycm9yP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vdmUtZXJyb3IiPiR7dGhpcy5tb3ZlRXJyb3J9PC9kaXY+CiAgICAgICAgICBgOndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vdmUtc3VtbWFyeSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW92ZS1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtb3ZlLWxhYmVsIj5Gcm9tOjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtb3ZlLXBhdGgiPiR7dGhpcy5tb3ZlU291cmNlLmtleX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW92ZS1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtb3ZlLWxhYmVsIj5Ubzo8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibW92ZS1wYXRoIj4ke3RoaXMubW92ZURlc3RpbmF0aW9ufSR7TGV9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmNsb3NlTW92ZURpYWxvZygpfQogICAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMubW92ZUluUHJvZ3Jlc3N9PgogICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgJHt0aGlzLm1vdmVFcnJvcj8iIjp3YAogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5leGVjdXRlTW92ZSgpfQogICAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5tb3ZlSW5Qcm9ncmVzc30+CiAgICAgICAgICAgICAgICAke3RoaXMubW92ZUluUHJvZ3Jlc3M/Ik1vdmluZy4uLiI6Ik1vdmUifQogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICBgfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJNb3ZlUGlja2VyRGlhbG9nKCl7aWYoIXRoaXMuc2hvd01vdmVQaWNrZXJEaWFsb2d8fCF0aGlzLm1vdmVQaWNrZXJTb3VyY2UpcmV0dXJuIiI7bGV0IExlPW1hKHRoaXMubW92ZVBpY2tlclNvdXJjZS5rZXkpLFNlPWoxKHRoaXMubW92ZVBpY2tlclNvdXJjZS5rZXkpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctb3ZlcmxheSIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VNb3ZlUGlja2VyRGlhbG9nKCl9PgogICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZyBtb3ZlLXBpY2tlci1kaWFsb2ciIEBjbGljaz0ke0JlPT5CZS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctdGl0bGUiPk1vdmUgIiR7TGV9IiB0by4uLjwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InBpY2tlci1icmVhZGNydW1iIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBpY2tlci1jcnVtYiIgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVNb3ZlUGlja2VyKCIiKX0+CiAgICAgICAgICAgICAgJHt0aGlzLmJ1Y2tldE5hbWV9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgJHtwNSh0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4KS5tYXAoQmU9PndgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBpY2tlci1zZXBhcmF0b3IiPi88L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBpY2tlci1jcnVtYiIgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVNb3ZlUGlja2VyKEJlKX0+CiAgICAgICAgICAgICAgICAke21hKEJlKX0KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0icGlja2VyLWxpc3QiPgogICAgICAgICAgICAke3RoaXMubW92ZVBpY2tlckxvYWRpbmc/d2A8ZGl2IGNsYXNzPSJwaWNrZXItZW1wdHkiPkxvYWRpbmcuLi48L2Rpdj5gOiIifQogICAgICAgICAgICAkeyF0aGlzLm1vdmVQaWNrZXJMb2FkaW5nJiZ0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcy5maWx0ZXIoQmU9PkJlIT09dGhpcy5tb3ZlUGlja2VyU291cmNlLmtleSkubGVuZ3RoPT09MD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpY2tlci1lbXB0eSI+Tm8gc3ViZm9sZGVyczwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgICAke3RoaXMubW92ZVBpY2tlclByZWZpeGVzLmZpbHRlcihCZT0+QmUhPT10aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5KS5tYXAoQmU9PndgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWNrZXItaXRlbSIKICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVNb3ZlUGlja2VyKEJlKX0KICAgICAgICAgICAgICAgICAgICAgQGRibGNsaWNrPSR7KCk9PnRoaXMuc2VsZWN0TW92ZURlc3RpbmF0aW9uKEJlKX0+CiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Imljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiLz4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuYW1lIj4ke21hKEJlKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1hY3Rpb25zIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNhbmNlbCIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VNb3ZlUGlja2VyRGlhbG9nKCl9PgogICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RNb3ZlRGVzdGluYXRpb24odGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD09PVNlfT4KICAgICAgICAgICAgICBNb3ZlIEhlcmUKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJrZXlzLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsdGVyLWJhciI+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgY2xhc3M9ImZpbHRlci1pbnB1dCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkZpbHRlciBmaWxlcy4uLiIKICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5maWx0ZXJUZXh0fQogICAgICAgICAgICBAaW5wdXQ9JHt0aGlzLmhhbmRsZUZpbHRlcklucHV0fQogICAgICAgICAgLz4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ia2V5cy1saXN0IiBAY29udGV4dG1lbnU9JHtMZT0+dGhpcy5oYW5kbGVFbXB0eVNwYWNlQ29udGV4dE1lbnUoTGUpfT4KICAgICAgICAgICR7dGhpcy5sb2FkaW5nP3dgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPkxvYWRpbmcuLi48L2Rpdj5gOnRoaXMuZmlsdGVyZWRJdGVtcy5sZW5ndGg9PT0wP3dgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIG9iamVjdHMgZm91bmQ8L2Rpdj5gOndgCiAgICAgICAgICAgICAgICAgIDx0YWJsZT4KICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5OYW1lPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDogMTAwcHg7Ij5TaXplPC90aD4KICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICAgICAgICAke3RoaXMuZmlsdGVyZWRJdGVtcy5tYXAoTGU9PndgCiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iJHt0aGlzLnNlbGVjdGVkS2V5PT09TGUua2V5PyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2VsZWN0S2V5KExlLmtleSxMZS5pc0ZvbGRlcil9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY29udGV4dG1lbnU9JHtTZT0+dGhpcy5oYW5kbGVJdGVtQ29udGV4dE1lbnUoU2UsTGUua2V5LExlLmlzRm9sZGVyKX0KICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImtleS1jZWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0xlLmlzRm9sZGVyP3dgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ia2V5LWljb24gZm9sZGVyLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyeiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImtleS1pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ia2V5LW5hbWUiPiR7bWEoTGUua2V5KX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0ic2l6ZS1jZWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtMZS5pc0ZvbGRlcj8iLSI6VW0oTGUuc2l6ZSl9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICBgfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgJHt0aGlzLnJlbmRlckNyZWF0ZURpYWxvZygpfQogICAgICAke3RoaXMucmVuZGVyTW92ZURpYWxvZygpfQogICAgICAke3RoaXMucmVuZGVyTW92ZVBpY2tlckRpYWxvZygpfQogICAgICAke3RoaXMucmVuZGVyUmVuYW1lRGlhbG9nKCl9CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxfdCh0aGlzLHhvKX1zdGF0aWN7X3Qocix0KX19O3JldHVybiB5bz1yfSkoKX0pO3ZhciBGbyxycix4MGEsU1FlPWYoKCk9PntsZSgpO1FlKCk7WFcoKTtGbz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scnI9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHgwYT0oKCk9PntsZXQgYT1baWUoImRlZXMtc3RvcmFnZS1wcmV2aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdO3ZhciBRPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzU3RvcmFnZVByZXZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgSj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVtLKCldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEI9W0soKV0sRT1bSygpXSxXPVtLKCldLGhlPVtLKCldLG1lPVtLKCldLGNlPVtLKCldLEZvKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YVByb3ZpZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJkYXRhUHJvdmlkZXIiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5kYXRhUHJvdmlkZXIsImdldCIpLHNldDpzKChaLGdlKT0+e1ouZGF0YVByb3ZpZGVyPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LG4sbCksRm8odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJidWNrZXROYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJidWNrZXROYW1lImluIFosImhhcyIpLGdldDpzKFo9PlouYnVja2V0TmFtZSwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5idWNrZXROYW1lPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LGMscCksRm8odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvYmplY3RLZXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+Im9iamVjdEtleSJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLm9iamVjdEtleSwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5vYmplY3RLZXk9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sbSx2KSxGbyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImxvYWRpbmciaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5sb2FkaW5nLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmxvYWRpbmc9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sYixnKSxGbyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNhdmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ic2F2aW5nImluIFosImhhcyIpLGdldDpzKFo9Plouc2F2aW5nLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLnNhdmluZz1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxrLEMpLEZvKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4iY29udGVudCJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmNvbnRlbnQsImdldCIpLHNldDpzKChaLGdlKT0+e1ouY29udGVudD1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxfLHopLEZvKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3JpZ2luYWxUZXh0Q29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ib3JpZ2luYWxUZXh0Q29udGVudCJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLm9yaWdpbmFsVGV4dENvbnRlbnQsImdldCIpLHNldDpzKChaLGdlKT0+e1oub3JpZ2luYWxUZXh0Q29udGVudD1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxULFApLEZvKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGFzQ2hhbmdlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4iaGFzQ2hhbmdlcyJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmhhc0NoYW5nZXMsImdldCIpLHNldDpzKChaLGdlKT0+e1ouaGFzQ2hhbmdlcz1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxNLFMpLEZvKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZWRpdGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4iZWRpdGluZyJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmVkaXRpbmcsImdldCIpLHNldDpzKChaLGdlKT0+e1ouZWRpdGluZz1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxBLEYpLEZvKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImNvbnRlbnRUeXBlImluIFosImhhcyIpLGdldDpzKFo9PlouY29udGVudFR5cGUsImdldCIpLHNldDpzKChaLGdlKT0+e1ouY29udGVudFR5cGU9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0saixHKSxGbyh0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlU2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4iZmlsZVNpemUiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5maWxlU2l6ZSwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5maWxlU2l6ZT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxSLFUpLEZvKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imxhc3RNb2RpZmllZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ibGFzdE1vZGlmaWVkImluIFosImhhcyIpLGdldDpzKFo9PloubGFzdE1vZGlmaWVkLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmxhc3RNb2RpZmllZD1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxJLHEpLEZvKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJlcnJvciJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmVycm9yLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmVycm9yPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LHVlLFkpLEZvKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkp9LG51bGwsdCksUT1yPWUudmFsdWUsSiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpKfSl9I2U9cnIodGhpcyxuLG51bGwpO2dldCBkYXRhUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGF0YVByb3ZpZGVyKEope3RoaXMuI2U9Sn0jdD0ocnIodGhpcyxsKSxycih0aGlzLGMsIiIpKTtnZXQgYnVja2V0TmFtZSgpe3JldHVybiB0aGlzLiN0fXNldCBidWNrZXROYW1lKEope3RoaXMuI3Q9Sn0jYT0ocnIodGhpcyxwKSxycih0aGlzLG0sIiIpKTtnZXQgb2JqZWN0S2V5KCl7cmV0dXJuIHRoaXMuI2F9c2V0IG9iamVjdEtleShKKXt0aGlzLiNhPUp9I3I9KHJyKHRoaXMsdikscnIodGhpcyxiLCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbG9hZGluZyhKKXt0aGlzLiNyPUp9I3M9KHJyKHRoaXMsZykscnIodGhpcyxrLCExKSk7Z2V0IHNhdmluZygpe3JldHVybiB0aGlzLiNzfXNldCBzYXZpbmcoSil7dGhpcy4jcz1KfSNpPShycih0aGlzLEMpLHJyKHRoaXMsXywiIikpO2dldCBjb250ZW50KCl7cmV0dXJuIHRoaXMuI2l9c2V0IGNvbnRlbnQoSil7dGhpcy4jaT1KfSNvPShycih0aGlzLHopLHJyKHRoaXMsVCwiIikpO2dldCBvcmlnaW5hbFRleHRDb250ZW50KCl7cmV0dXJuIHRoaXMuI299c2V0IG9yaWdpbmFsVGV4dENvbnRlbnQoSil7dGhpcy4jbz1KfSNuPShycih0aGlzLFApLHJyKHRoaXMsTSwhMSkpO2dldCBoYXNDaGFuZ2VzKCl7cmV0dXJuIHRoaXMuI259c2V0IGhhc0NoYW5nZXMoSil7dGhpcy4jbj1KfSNsPShycih0aGlzLFMpLHJyKHRoaXMsQSwhMSkpO2dldCBlZGl0aW5nKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGVkaXRpbmcoSil7dGhpcy4jbD1KfSNjPShycih0aGlzLEYpLHJyKHRoaXMsaiwiIikpO2dldCBjb250ZW50VHlwZSgpe3JldHVybiB0aGlzLiNjfXNldCBjb250ZW50VHlwZShKKXt0aGlzLiNjPUp9I2Q9KHJyKHRoaXMsRykscnIodGhpcyxSLDApKTtnZXQgZmlsZVNpemUoKXtyZXR1cm4gdGhpcy4jZH1zZXQgZmlsZVNpemUoSil7dGhpcy4jZD1KfSN1PShycih0aGlzLFUpLHJyKHRoaXMsSSwiIikpO2dldCBsYXN0TW9kaWZpZWQoKXtyZXR1cm4gdGhpcy4jdX1zZXQgbGFzdE1vZGlmaWVkKEope3RoaXMuI3U9Sn0jcD0ocnIodGhpcyxxKSxycih0aGlzLHVlLCIiKSk7Z2V0IGVycm9yKCl7cmV0dXJuIHRoaXMuI3B9c2V0IGVycm9yKEope3RoaXMuI3A9Sn1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUGUsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLnByZXZpZXctY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAucHJldmlldy1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzMzMyIpfTsKICAgICAgfQoKICAgICAgLnByZXZpZXctdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LW1ldGEgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgfQoKICAgICAgLm1ldGEtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAucHJldmlldy1jb250ZW50IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWNvbnRlbnQgZGVlcy1wcmV2aWV3IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWNvbnRlbnQuY29kZS1lZGl0b3IgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByZXZpZXctY29udGVudC5jb2RlLWVkaXRvciBkZWVzLWlucHV0LWNvZGUgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLnByZXZpZXctYWN0aW9ucyB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzMzIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnRuIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzQwNDA0MCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzZjNmNDYiLCIjZTBlMGUwIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1czsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idG46aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDgpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idG4uZGFuZ2VyIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpOwogICAgICAgIGJvcmRlci1jb2xvcjogI2VmNDQ0NDsKICAgICAgICBjb2xvcjogI2Y4NzE3MTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idG4uZGFuZ2VyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5wcmltYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKTsKICAgICAgICBib3JkZXItY29sb3I6ICMzYjgyZjY7CiAgICAgICAgY29sb3I6ICM2MGE1ZmE7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnRuLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjQpOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5wcmltYXJ5OmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idG4uc2Vjb25kYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiM1NTUiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2FhYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idG4uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA2KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAudW5zYXZlZC1pbmRpY2F0b3IgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MSwgMTkxLCAzNiwgMC4xKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1MSwgMTkxLCAzNiwgMC4zKTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAjZmJiZjI0OwogICAgICB9CgogICAgICAudW5zYXZlZC1kb3QgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICNmYmJmMjQ7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSBzdmcgewogICAgICAgIHdpZHRoOiA0OHB4OwogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLmxvYWRpbmctc3RhdGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgfQoKICAgICAgLmVycm9yLXN0YXRlIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGNvbG9yOiAjZjg3MTcxOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgfQogICAgYF07dXBkYXRlZChKKXsoSi5oYXMoIm9iamVjdEtleSIpfHxKLmhhcygiYnVja2V0TmFtZSIpKSYmKHRoaXMub2JqZWN0S2V5P3RoaXMubG9hZE9iamVjdCgpOih0aGlzLmNvbnRlbnQ9IiIsdGhpcy5jb250ZW50VHlwZT0iIix0aGlzLmVycm9yPSIiLHRoaXMub3JpZ2luYWxUZXh0Q29udGVudD0iIix0aGlzLmhhc0NoYW5nZXM9ITEsdGhpcy5lZGl0aW5nPSExKSl9YXN5bmMgbG9hZE9iamVjdCgpe2lmKCEoIXRoaXMub2JqZWN0S2V5fHwhdGhpcy5idWNrZXROYW1lfHwhdGhpcy5kYXRhUHJvdmlkZXIpKXt0aGlzLmxvYWRpbmc9ITAsdGhpcy5lcnJvcj0iIix0aGlzLmhhc0NoYW5nZXM9ITEsdGhpcy5lZGl0aW5nPSExO3RyeXtsZXQgSj1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5nZXRPYmplY3QodGhpcy5idWNrZXROYW1lLHRoaXMub2JqZWN0S2V5KTtpZighSil7dGhpcy5lcnJvcj0iT2JqZWN0IG5vdCBmb3VuZCIsdGhpcy5sb2FkaW5nPSExO3JldHVybn10aGlzLmNvbnRlbnQ9Si5jb250ZW50fHwiIix0aGlzLmNvbnRlbnRUeXBlPUouY29udGVudFR5cGV8fCIiLHRoaXMuZmlsZVNpemU9Si5zaXplfHwwLHRoaXMubGFzdE1vZGlmaWVkPUoubGFzdE1vZGlmaWVkfHwiIix0aGlzLmlzVGV4dCgpJiYodGhpcy5vcmlnaW5hbFRleHRDb250ZW50PXRoaXMuZ2V0VGV4dENvbnRlbnQoKSl9Y2F0Y2goSil7Y29uc29sZS5lcnJvcigiRXJyb3IgbG9hZGluZyBvYmplY3Q6IixKKSx0aGlzLmVycm9yPSJGYWlsZWQgdG8gbG9hZCBvYmplY3QifXRoaXMubG9hZGluZz0hMX19Zm9ybWF0RGF0ZShKKXtyZXR1cm4gSj9uZXcgRGF0ZShKKS50b0xvY2FsZVN0cmluZygpOiItIn1pc0ltYWdlKCl7cmV0dXJuIHRoaXMuY29udGVudFR5cGUuc3RhcnRzV2l0aCgiaW1hZ2UvIil9aXNUZXh0KCl7cmV0dXJuIHRoaXMuY29udGVudFR5cGUuc3RhcnRzV2l0aCgidGV4dC8iKXx8dGhpcy5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi9qc29uInx8dGhpcy5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94bWwifHx0aGlzLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQifWdldFRleHRDb250ZW50KCl7dHJ5e2xldCBKPWF0b2IodGhpcy5jb250ZW50KSxaPW5ldyBVaW50OEFycmF5KEoubGVuZ3RoKTtmb3IobGV0IGdlPTA7Z2U8Si5sZW5ndGg7Z2UrKylaW2dlXT1KLmNoYXJDb2RlQXQoZ2UpO3JldHVybiBuZXcgVGV4dERlY29kZXIoInV0Zi04IikuZGVjb2RlKFopfWNhdGNoe3JldHVybiJVbmFibGUgdG8gZGVjb2RlIGNvbnRlbnQifX1hc3luYyBoYW5kbGVEb3dubG9hZCgpe3RyeXtsZXQgSj1uZXcgQmxvYihbVWludDhBcnJheS5mcm9tKGF0b2IodGhpcy5jb250ZW50KSxhZT0+YWUuY2hhckNvZGVBdCgwKSldLHt0eXBlOnRoaXMuY29udGVudFR5cGV9KSxaPVVSTC5jcmVhdGVPYmplY3RVUkwoSiksZ2U9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO2dlLmhyZWY9WixnZS5kb3dubG9hZD1tYSh0aGlzLm9iamVjdEtleSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChnZSksZ2UuY2xpY2soKSxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGdlKSxVUkwucmV2b2tlT2JqZWN0VVJMKFopfWNhdGNoKEope2NvbnNvbGUuZXJyb3IoIkVycm9yIGRvd25sb2FkaW5nOiIsSil9fWFzeW5jIGhhbmRsZURlbGV0ZSgpe2lmKHRoaXMuZGF0YVByb3ZpZGVyJiZjb25maXJtKGBEZWxldGUgIiR7bWEodGhpcy5vYmplY3RLZXkpfSI/YCkpdHJ5e2F3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmRlbGV0ZU9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5vYmplY3RLZXkpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm9iamVjdC1kZWxldGVkIix7ZGV0YWlsOntrZXk6dGhpcy5vYmplY3RLZXl9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2F0Y2goSil7Y29uc29sZS5lcnJvcigiRXJyb3IgZGVsZXRpbmcgb2JqZWN0OiIsSil9fWdldExhbmd1YWdlKCl7bGV0IEo9dGhpcy5vYmplY3RLZXkuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKXx8IiI7cmV0dXJue3RzOiJ0eXBlc2NyaXB0Iix0c3g6InR5cGVzY3JpcHQiLGpzOiJqYXZhc2NyaXB0Iixqc3g6ImphdmFzY3JpcHQiLG1qczoiamF2YXNjcmlwdCIsY2pzOiJqYXZhc2NyaXB0Iixqc29uOiJqc29uIixodG1sOiJodG1sIixodG06Imh0bWwiLGNzczoiY3NzIixzY3NzOiJzY3NzIixzYXNzOiJzY3NzIixsZXNzOiJsZXNzIixtZDoibWFya2Rvd24iLG1hcmtkb3duOiJtYXJrZG93biIseG1sOiJ4bWwiLHlhbWw6InlhbWwiLHltbDoieWFtbCIscHk6InB5dGhvbiIscmI6InJ1YnkiLGdvOiJnbyIscnM6InJ1c3QiLGphdmE6ImphdmEiLGM6ImMiLGNwcDoiY3BwIixoOiJjIixocHA6ImNwcCIsY3M6ImNzaGFycCIscGhwOiJwaHAiLHNoOiJzaGVsbCIsYmFzaDoic2hlbGwiLHpzaDoic2hlbGwiLHNxbDoic3FsIixncmFwaHFsOiJncmFwaHFsIixncWw6ImdyYXBocWwiLGRvY2tlcmZpbGU6ImRvY2tlcmZpbGUiLHR4dDoicGxhaW50ZXh0In1bSl18fCJwbGFpbnRleHQifWhhbmRsZUNvbnRlbnRDaGFuZ2UoSil7bGV0IFo9Si5kZXRhaWw7dGhpcy5oYXNDaGFuZ2VzPVohPT10aGlzLm9yaWdpbmFsVGV4dENvbnRlbnR9aGFuZGxlRWRpdCgpe3RoaXMuZWRpdGluZz0hMH1oYW5kbGVEaXNjYXJkKCl7bGV0IEo9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWNvZGUiKTtKJiYoSi52YWx1ZT10aGlzLm9yaWdpbmFsVGV4dENvbnRlbnQpLHRoaXMuaGFzQ2hhbmdlcz0hMSx0aGlzLmVkaXRpbmc9ITF9YXN5bmMgaGFuZGxlU2F2ZSgpe2lmKCEoIXRoaXMuaGFzQ2hhbmdlc3x8dGhpcy5zYXZpbmd8fCF0aGlzLmRhdGFQcm92aWRlcikpe3RoaXMuc2F2aW5nPSEwO3RyeXtsZXQgWj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtY29kZSIpPy52YWx1ZT8/IiIsYWU9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKFopLHJlPWJ0b2EoU3RyaW5nLmZyb21DaGFyQ29kZSguLi5hZSkpO2F3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLnB1dE9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5vYmplY3RLZXkscmUsdGhpcy5jb250ZW50VHlwZSkmJih0aGlzLm9yaWdpbmFsVGV4dENvbnRlbnQ9Wix0aGlzLmhhc0NoYW5nZXM9ITEsdGhpcy5lZGl0aW5nPSExLHRoaXMuY29udGVudD1yZSl9Y2F0Y2goSil7Y29uc29sZS5lcnJvcigiRXJyb3Igc2F2aW5nIG9iamVjdDoiLEopfXRoaXMuc2F2aW5nPSExfX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5vYmplY3RLZXk/dGhpcy5sb2FkaW5nP3dgCiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1jb250YWluZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1zdGF0ZSI+TG9hZGluZy4uLjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgOnRoaXMuZXJyb3I/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvci1zdGF0ZSI+JHt0aGlzLmVycm9yfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgOndgCiAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LXRpdGxlIj4ke21hKHRoaXMub2JqZWN0S2V5KX08L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctbWV0YSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLWl0ZW0iPiR7dGhpcy5jb250ZW50VHlwZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLWl0ZW0iPiR7VW0odGhpcy5maWxlU2l6ZSl9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0YS1pdGVtIj4ke3RoaXMuZm9ybWF0RGF0ZSh0aGlzLmxhc3RNb2RpZmllZCl9PC9zcGFuPgogICAgICAgICAgICAke3RoaXMuaGFzQ2hhbmdlcz93YAogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bnNhdmVkLWluZGljYXRvciI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idW5zYXZlZC1kb3QiPjwvc3Bhbj4KICAgICAgICAgICAgICAgIFVuc2F2ZWQgY2hhbmdlcwogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWNvbnRlbnQgJHt0aGlzLmVkaXRpbmc/ImNvZGUtZWRpdG9yIjoiIn0iPgogICAgICAgICAgJHt0aGlzLmVkaXRpbmc/d2AKICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LWNvZGUKICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5vcmlnaW5hbFRleHRDb250ZW50fQogICAgICAgICAgICAgICAgICAubGFuZ3VhZ2U9JHt0aGlzLmdldExhbmd1YWdlKCl9CiAgICAgICAgICAgICAgICAgIGhlaWdodD0iMTAwJSIKICAgICAgICAgICAgICAgICAgQGNvbnRlbnQtY2hhbmdlPSR7Sj0+dGhpcy5oYW5kbGVDb250ZW50Q2hhbmdlKEopfQogICAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jb2RlPgogICAgICAgICAgICAgIGA6dGhpcy5pc1RleHQoKT93YAogICAgICAgICAgICAgICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgICAgICAgICAgICAgLnRleHRDb250ZW50PSR7dGhpcy5vcmlnaW5hbFRleHRDb250ZW50fQogICAgICAgICAgICAgICAgICAgIC5maWxlbmFtZT0ke21hKHRoaXMub2JqZWN0S2V5KX0KICAgICAgICAgICAgICAgICAgICAubGFuZ3VhZ2U9JHt0aGlzLmdldExhbmd1YWdlKCl9CiAgICAgICAgICAgICAgICAgICAgLnNob3dUb29sYmFyPSR7ITB9CiAgICAgICAgICAgICAgICAgICAgLnNob3dGaWxlbmFtZT0keyExfQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXByZXZpZXcKICAgICAgICAgICAgICAgICAgICAuYmFzZTY0PSR7dGhpcy5jb250ZW50fQogICAgICAgICAgICAgICAgICAgIC5taW1lVHlwZT0ke3RoaXMuY29udGVudFR5cGV9CiAgICAgICAgICAgICAgICAgICAgLmZpbGVuYW1lPSR7bWEodGhpcy5vYmplY3RLZXkpfQogICAgICAgICAgICAgICAgICAgIC5zaG93VG9vbGJhcj0keyEwfQogICAgICAgICAgICAgICAgICAgIC5zaG93RmlsZW5hbWU9JHshMX0KICAgICAgICAgICAgICAgICAgPjwvZGVlcy1wcmV2aWV3PgogICAgICAgICAgICAgICAgYH0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1hY3Rpb25zIj4KICAgICAgICAgICR7dGhpcy5lZGl0aW5nP3dgCiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnRuIHNlY29uZGFyeSIgQGNsaWNrPSR7dGhpcy5oYW5kbGVEaXNjYXJkfT4KICAgICAgICAgICAgICAgICAgJHt0aGlzLmhhc0NoYW5nZXM/IkRpc2NhcmQiOiJDYW5jZWwifQogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJhY3Rpb24tYnRuIHByaW1hcnkiCiAgICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlU2F2ZX0KICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5zYXZpbmd8fCF0aGlzLmhhc0NoYW5nZXN9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5zYXZpbmc/IlNhdmluZy4uLiI6IlNhdmUifQogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgJHt0aGlzLmlzVGV4dCgpP3dgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ0biIgQGNsaWNrPSR7dGhpcy5oYW5kbGVFZGl0fT5FZGl0PC9idXR0b24+YDoiIn0KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idG4iIEBjbGljaz0ke3RoaXMuaGFuZGxlRG93bmxvYWR9PkRvd25sb2FkPC9idXR0b24+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnRuIGRhbmdlciIgQGNsaWNrPSR7dGhpcy5oYW5kbGVEZWxldGV9PkRlbGV0ZTwvYnV0dG9uPgogICAgICAgICAgICAgIGB9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYDp3YAogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctY29udGFpbmVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOHoiIC8+CiAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTQgMiAxNCA4IDIwIDgiIC8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8cD5TZWxlY3QgYSBmaWxlIHRvIHByZXZpZXc8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykscnIodGhpcyxZKX1zdGF0aWN7cnIocix0KX19O3JldHVybiBRPXJ9KSgpfSk7dmFyIFduLF9yLHkwYSx3UWU9ZigoKT0+e2xlKCk7UWUoKTttMGEoKTtNUWUoKTtrUWUoKTtTUWUoKTtXbj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sX3I9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHkwYT0oKCk9PntsZXQgYT1baWUoImRlZXMtc3RvcmFnZS1icm93c2VyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdO3ZhciBtZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1N0b3JhZ2VCcm93c2VyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEk9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpPYmplY3R9KV0seD1bSygpXSx5PVtLKCldLE49W0soKV0sTz1bSygpXSxCPVtLKCldLEU9W0soKV0sVz1bSygpXSxoZT1bSygpXSxXbih0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGFQcm92aWRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4iZGF0YVByb3ZpZGVyImluIHEsImhhcyIpLGdldDpzKHE9PnEuZGF0YVByb3ZpZGVyLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmRhdGFQcm92aWRlcj1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxuLGwpLFduKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYnVja2V0TmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4iYnVja2V0TmFtZSJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmJ1Y2tldE5hbWUsImdldCIpLHNldDpzKChxLGNlKT0+e3EuYnVja2V0TmFtZT1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxjLHApLFduKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToib25DaGFuZ2VFdmVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ib25DaGFuZ2VFdmVudCJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLm9uQ2hhbmdlRXZlbnQsImdldCIpLHNldDpzKChxLGNlKT0+e3Eub25DaGFuZ2VFdmVudD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxtLHYpLFduKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmlld1R5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InZpZXdUeXBlImluIHEsImhhcyIpLGdldDpzKHE9PnEudmlld1R5cGUsImdldCIpLHNldDpzKChxLGNlKT0+e3Eudmlld1R5cGU9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sYixnKSxXbih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImN1cnJlbnRQcmVmaXgiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5jdXJyZW50UHJlZml4LCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmN1cnJlbnRQcmVmaXg9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sayxDKSxXbih0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkS2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJzZWxlY3RlZEtleSJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnNlbGVjdGVkS2V5LCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnNlbGVjdGVkS2V5PWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LF8seiksV24odGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWZyZXNoS2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJyZWZyZXNoS2V5ImluIHEsImhhcyIpLGdldDpzKHE9PnEucmVmcmVzaEtleSwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5yZWZyZXNoS2V5PWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LFQsUCksV24odGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwcmV2aWV3V2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InByZXZpZXdXaWR0aCJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnByZXZpZXdXaWR0aCwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5wcmV2aWV3V2lkdGg9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sTSxTKSxXbih0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzUmVzaXppbmdQcmV2aWV3IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJpc1Jlc2l6aW5nUHJldmlldyJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmlzUmVzaXppbmdQcmV2aWV3LCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmlzUmVzaXppbmdQcmV2aWV3PWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LEEsRiksV24odGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWNlbnRDaGFuZ2VDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4icmVjZW50Q2hhbmdlQ291bnQiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5yZWNlbnRDaGFuZ2VDb3VudCwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5yZWNlbnRDaGFuZ2VDb3VudD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxqLEcpLFduKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzU3RyZWFtQ29ubmVjdGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJpc1N0cmVhbUNvbm5lY3RlZCJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmlzU3RyZWFtQ29ubmVjdGVkLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmlzU3RyZWFtQ29ubmVjdGVkPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LFIsVSksV24obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6SX0sbnVsbCx0KSxtZT1yPWUudmFsdWUsSSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpJfSl9c3RhdGljIGRlbW89aDBhO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGF0YSBWaWV3Il07I2U9X3IodGhpcyxuLG51bGwpO2dldCBkYXRhUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGF0YVByb3ZpZGVyKEkpe3RoaXMuI2U9SX0jdD0oX3IodGhpcyxsKSxfcih0aGlzLGMsIiIpKTtnZXQgYnVja2V0TmFtZSgpe3JldHVybiB0aGlzLiN0fXNldCBidWNrZXROYW1lKEkpe3RoaXMuI3Q9SX0jYT0oX3IodGhpcyxwKSxfcih0aGlzLG0sbnVsbCkpO2dldCBvbkNoYW5nZUV2ZW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IG9uQ2hhbmdlRXZlbnQoSSl7dGhpcy4jYT1JfSNyPShfcih0aGlzLHYpLF9yKHRoaXMsYiwiY29sdW1ucyIpKTtnZXQgdmlld1R5cGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdmlld1R5cGUoSSl7dGhpcy4jcj1JfSNzPShfcih0aGlzLGcpLF9yKHRoaXMsaywiIikpO2dldCBjdXJyZW50UHJlZml4KCl7cmV0dXJuIHRoaXMuI3N9c2V0IGN1cnJlbnRQcmVmaXgoSSl7dGhpcy4jcz1JfSNpPShfcih0aGlzLEMpLF9yKHRoaXMsXywiIikpO2dldCBzZWxlY3RlZEtleSgpe3JldHVybiB0aGlzLiNpfXNldCBzZWxlY3RlZEtleShJKXt0aGlzLiNpPUl9I289KF9yKHRoaXMseiksX3IodGhpcyxULDApKTtnZXQgcmVmcmVzaEtleSgpe3JldHVybiB0aGlzLiNvfXNldCByZWZyZXNoS2V5KEkpe3RoaXMuI289SX0jbj0oX3IodGhpcyxQKSxfcih0aGlzLE0sNzAwKSk7Z2V0IHByZXZpZXdXaWR0aCgpe3JldHVybiB0aGlzLiNufXNldCBwcmV2aWV3V2lkdGgoSSl7dGhpcy4jbj1JfSNsPShfcih0aGlzLFMpLF9yKHRoaXMsQSwhMSkpO2dldCBpc1Jlc2l6aW5nUHJldmlldygpe3JldHVybiB0aGlzLiNsfXNldCBpc1Jlc2l6aW5nUHJldmlldyhJKXt0aGlzLiNsPUl9I2M9KF9yKHRoaXMsRiksX3IodGhpcyxqLDApKTtnZXQgcmVjZW50Q2hhbmdlQ291bnQoKXtyZXR1cm4gdGhpcy4jY31zZXQgcmVjZW50Q2hhbmdlQ291bnQoSSl7dGhpcy4jYz1JfSNkPShfcih0aGlzLEcpLF9yKHRoaXMsUiwhMSkpO2dldCBpc1N0cmVhbUNvbm5lY3RlZCgpe3JldHVybiB0aGlzLiNkfXNldCBpc1N0cmVhbUNvbm5lY3RlZChJKXt0aGlzLiNkPUl9Y2hhbmdlVW5zdWJzY3JpYmU9KF9yKHRoaXMsVSksbnVsbCk7c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFBlLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5icm93c2VyLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLnRvb2xiYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMCwgMCwgMCwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmJyZWFkY3J1bWIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjOTk5Iil9OwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYi1pdGVtIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1czsKICAgICAgfQoKICAgICAgLmJyZWFkY3J1bWItaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmJyZWFkY3J1bWItc2VwYXJhdG9yIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNTU1Iil9OwogICAgICB9CgogICAgICAudmlldy10b2dnbGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC52aWV3LWJ0biB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNDQ0Iil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM4ODgiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzOwogICAgICB9CgogICAgICAudmlldy1idG46aG92ZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNjY2Iil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNmM2Y0NiIsIiNhYWEiKX07CiAgICAgIH0KCiAgICAgIC52aWV3LWJ0bi5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNDA0MDQwIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNlMGUwZTAiKX07CiAgICAgIH0KCiAgICAgIC5jb250ZW50IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5jb250ZW50Lmhhcy1wcmV2aWV3IHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA0cHggdmFyKC0tcHJldmlldy13aWR0aCwgNzAwcHgpOwogICAgICB9CgogICAgICAucmVzaXplLWRpdmlkZXIgewogICAgICAgIHdpZHRoOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yczsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1kaXZpZGVyOmhvdmVyLAogICAgICAucmVzaXplLWRpdmlkZXIuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjEpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIil9OwogICAgICB9CgogICAgICAubWFpbi12aWV3IHsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAyKSIsInJnYmEoMCwgMCwgMCwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LXBhbmVsIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAyKSIsInJnYmEoMCwgMCwgMCwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBtYXJnaW4tbGVmdDogMTJweDsKICAgICAgfQoKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgewogICAgICAgIC5jb250ZW50LAogICAgICAgIC5jb250ZW50Lmhhcy1wcmV2aWV3IHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KCiAgICAgICAgLnByZXZpZXctcGFuZWwsCiAgICAgICAgLnJlc2l6ZS1kaXZpZGVyIHsKICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgfQogICAgICB9CgogICAgICAuc3RyZWFtLXN0YXR1cyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIG1hcmdpbi1yaWdodDogMTJweDsKICAgICAgfQoKICAgICAgLnN0cmVhbS1kb3QgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzg4OCIpfTsKICAgICAgfQoKICAgICAgLnN0cmVhbS1kb3QuY29ubmVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMjJjNTVlOwogICAgICB9CgogICAgICAuY2hhbmdlLWluZGljYXRvciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDUsIDE1OCwgMTEsIDAuMik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogI2Y1OWUwYjsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7CiAgICAgIH0KCiAgICAgIC5jaGFuZ2UtaW5kaWNhdG9yLnB1bHNlIHsKICAgICAgICBhbmltYXRpb246IHB1bHNlLW9yYW5nZSAxcyBlYXNlLWluLW91dDsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBwdWxzZS1vcmFuZ2UgewogICAgICAgIDAlIHsgYmFja2dyb3VuZDogcmdiYSgyNDUsIDE1OCwgMTEsIDAuNCk7IH0KICAgICAgICAxMDAlIHsgYmFja2dyb3VuZDogcmdiYSgyNDUsIDE1OCwgMTEsIDAuMik7IH0KICAgICAgfQogICAgYF07YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuc3Vic2NyaWJlVG9DaGFuZ2VzKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMudW5zdWJzY3JpYmVGcm9tQ2hhbmdlcygpfXJlZnJlc2goKXt0aGlzLnJlZnJlc2hLZXkrK31zZXRWaWV3VHlwZShJKXt0aGlzLnZpZXdUeXBlPUl9bmF2aWdhdGVUb1ByZWZpeChJKXt0aGlzLmN1cnJlbnRQcmVmaXg9SSx0aGlzLnNlbGVjdGVkS2V5PSIifWhhbmRsZUtleVNlbGVjdGVkKEkpe3RoaXMuc2VsZWN0ZWRLZXk9SS5kZXRhaWwua2V5fWhhbmRsZU5hdmlnYXRlKEkpe3RoaXMubmF2aWdhdGVUb1ByZWZpeChJLmRldGFpbC5wcmVmaXgpfWhhbmRsZU9iamVjdERlbGV0ZWQoSSl7dGhpcy5zZWxlY3RlZEtleT0iIix0aGlzLnJlZnJlc2hLZXkrK311cGRhdGVkKEkpe0kuaGFzKCJidWNrZXROYW1lIikmJih0aGlzLnNlbGVjdGVkS2V5PSIiLHRoaXMuY3VycmVudFByZWZpeD0iIix0aGlzLnJlY2VudENoYW5nZUNvdW50PTAsdGhpcy51bnN1YnNjcmliZUZyb21DaGFuZ2VzKCksdGhpcy5zdWJzY3JpYmVUb0NoYW5nZXMoKSksSS5oYXMoIm9uQ2hhbmdlRXZlbnQiKSYmKHRoaXMudW5zdWJzY3JpYmVGcm9tQ2hhbmdlcygpLHRoaXMuc3Vic2NyaWJlVG9DaGFuZ2VzKCkpfXN1YnNjcmliZVRvQ2hhbmdlcygpe2lmKCF0aGlzLm9uQ2hhbmdlRXZlbnQpe3RoaXMuaXNTdHJlYW1Db25uZWN0ZWQ9ITE7cmV0dXJufXRyeXt0aGlzLmNoYW5nZVVuc3Vic2NyaWJlPXRoaXMub25DaGFuZ2VFdmVudChJPT57dGhpcy5oYW5kbGVDaGFuZ2UoSSl9KSx0aGlzLmlzU3RyZWFtQ29ubmVjdGVkPSEwfWNhdGNoKEkpe2NvbnNvbGUud2FybigiW1N0b3JhZ2VCcm93c2VyXSBGYWlsZWQgdG8gc3Vic2NyaWJlIHRvIGNoYW5nZXM6IixJKSx0aGlzLmlzU3RyZWFtQ29ubmVjdGVkPSExfX11bnN1YnNjcmliZUZyb21DaGFuZ2VzKCl7dGhpcy5jaGFuZ2VVbnN1YnNjcmliZSYmKHRoaXMuY2hhbmdlVW5zdWJzY3JpYmUoKSx0aGlzLmNoYW5nZVVuc3Vic2NyaWJlPW51bGwpLHRoaXMuaXNTdHJlYW1Db25uZWN0ZWQ9ITF9aGFuZGxlQ2hhbmdlKEkpe3RoaXMucmVjZW50Q2hhbmdlQ291bnQrKyx0aGlzLnJlZnJlc2hLZXkrK31zdGFydFByZXZpZXdSZXNpemU9cyhJPT57SS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaXNSZXNpemluZ1ByZXZpZXc9ITAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmhhbmRsZVByZXZpZXdSZXNpemUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuZW5kUHJldmlld1Jlc2l6ZSl9LCJzdGFydFByZXZpZXdSZXNpemUiKTtoYW5kbGVQcmV2aWV3UmVzaXplPXMoST0+e2lmKCF0aGlzLmlzUmVzaXppbmdQcmV2aWV3KXJldHVybjtsZXQgcT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5jb250ZW50Iik7aWYoIXEpcmV0dXJuO2xldCBjZT1xLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHVlPU1hdGgubWluKE1hdGgubWF4KGNlLnJpZ2h0LUkuY2xpZW50WCwyNTApLDFlMyk7dGhpcy5wcmV2aWV3V2lkdGg9dWV9LCJoYW5kbGVQcmV2aWV3UmVzaXplIik7ZW5kUHJldmlld1Jlc2l6ZT1zKCgpPT57dGhpcy5pc1Jlc2l6aW5nUHJldmlldz0hMSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlUHJldmlld1Jlc2l6ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5lbmRQcmV2aWV3UmVzaXplKX0sImVuZFByZXZpZXdSZXNpemUiKTtyZW5kZXIoKXtsZXQgST10aGlzLmN1cnJlbnRQcmVmaXg/dGhpcy5jdXJyZW50UHJlZml4LnNwbGl0KCIvIikuZmlsdGVyKEJvb2xlYW4pOltdO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJicm93c2VyLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJicmVhZGNydW1iIj4KICAgICAgICAgICAgPHNwYW4KICAgICAgICAgICAgICBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIgogICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLm5hdmlnYXRlVG9QcmVmaXgoIiIpfQogICAgICAgICAgICA+CiAgICAgICAgICAgICAgJHt0aGlzLmJ1Y2tldE5hbWV9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgJHtJLm1hcCgocSxjZSk9PntsZXQgdWU9SS5zbGljZSgwLGNlKzEpLmpvaW4oIi8iKSsiLyI7cmV0dXJuIHdgCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYnJlYWRjcnVtYi1zZXBhcmF0b3IiPi88L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbgogICAgICAgICAgICAgICAgICBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIgogICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZVRvUHJlZml4KHVlKX0KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgJHtxfQogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgIGB9KX0KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICR7dGhpcy5vbkNoYW5nZUV2ZW50P3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0cmVhbS1zdGF0dXMiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdHJlYW0tZG90ICR7dGhpcy5pc1N0cmVhbUNvbm5lY3RlZD8iY29ubmVjdGVkIjoiIn0iPjwvc3Bhbj4KICAgICAgICAgICAgICAke3RoaXMuaXNTdHJlYW1Db25uZWN0ZWQ/IkxpdmUiOiJPZmZsaW5lIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgICAgJHt0aGlzLnJlY2VudENoYW5nZUNvdW50PjA/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYW5nZS1pbmRpY2F0b3IgcHVsc2UiPgogICAgICAgICAgICAgICAgICAke3RoaXMucmVjZW50Q2hhbmdlQ291bnR9IGNoYW5nZSR7dGhpcy5yZWNlbnRDaGFuZ2VDb3VudD4xPyJzIjoiIn0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWV3LXRvZ2dsZSI+CiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0idmlldy1idG4gJHt0aGlzLnZpZXdUeXBlPT09ImNvbHVtbnMiPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZXRWaWV3VHlwZSgiY29sdW1ucyIpfQogICAgICAgICAgICA+CiAgICAgICAgICAgICAgQ29sdW1ucwogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIGNsYXNzPSJ2aWV3LWJ0biAke3RoaXMudmlld1R5cGU9PT0ia2V5cyI/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnNldFZpZXdUeXBlKCJrZXlzIil9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICBMaXN0CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQgJHt0aGlzLnNlbGVjdGVkS2V5PyJoYXMtcHJldmlldyI6IiJ9IiBzdHlsZT0iLS1wcmV2aWV3LXdpZHRoOiAke3RoaXMucHJldmlld1dpZHRofXB4Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1haW4tdmlldyI+CiAgICAgICAgICAgICR7dGhpcy52aWV3VHlwZT09PSJjb2x1bW5zIj93YAogICAgICAgICAgICAgICAgICA8ZGVlcy1zdG9yYWdlLWNvbHVtbnMKICAgICAgICAgICAgICAgICAgICAuZGF0YVByb3ZpZGVyPSR7dGhpcy5kYXRhUHJvdmlkZXJ9CiAgICAgICAgICAgICAgICAgICAgLmJ1Y2tldE5hbWU9JHt0aGlzLmJ1Y2tldE5hbWV9CiAgICAgICAgICAgICAgICAgICAgLmN1cnJlbnRQcmVmaXg9JHt0aGlzLmN1cnJlbnRQcmVmaXh9CiAgICAgICAgICAgICAgICAgICAgLnJlZnJlc2hLZXk9JHt0aGlzLnJlZnJlc2hLZXl9CiAgICAgICAgICAgICAgICAgICAgQGtleS1zZWxlY3RlZD0ke3RoaXMuaGFuZGxlS2V5U2VsZWN0ZWR9CiAgICAgICAgICAgICAgICAgICAgQG5hdmlnYXRlPSR7dGhpcy5oYW5kbGVOYXZpZ2F0ZX0KICAgICAgICAgICAgICAgICAgPjwvZGVlcy1zdG9yYWdlLWNvbHVtbnM+CiAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXN0b3JhZ2Uta2V5cwogICAgICAgICAgICAgICAgICAgIC5kYXRhUHJvdmlkZXI9JHt0aGlzLmRhdGFQcm92aWRlcn0KICAgICAgICAgICAgICAgICAgICAuYnVja2V0TmFtZT0ke3RoaXMuYnVja2V0TmFtZX0KICAgICAgICAgICAgICAgICAgICAuY3VycmVudFByZWZpeD0ke3RoaXMuY3VycmVudFByZWZpeH0KICAgICAgICAgICAgICAgICAgICAucmVmcmVzaEtleT0ke3RoaXMucmVmcmVzaEtleX0KICAgICAgICAgICAgICAgICAgICBAa2V5LXNlbGVjdGVkPSR7dGhpcy5oYW5kbGVLZXlTZWxlY3RlZH0KICAgICAgICAgICAgICAgICAgICBAbmF2aWdhdGU9JHt0aGlzLmhhbmRsZU5hdmlnYXRlfQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXN0b3JhZ2Uta2V5cz4KICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAke3RoaXMuc2VsZWN0ZWRLZXk/d2AKICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9InJlc2l6ZS1kaXZpZGVyICR7dGhpcy5pc1Jlc2l6aW5nUHJldmlldz8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICAgIEBtb3VzZWRvd249JHt0aGlzLnN0YXJ0UHJldmlld1Jlc2l6ZX0KICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctcGFuZWwiPgogICAgICAgICAgICAgICAgICA8ZGVlcy1zdG9yYWdlLXByZXZpZXcKICAgICAgICAgICAgICAgICAgICAuZGF0YVByb3ZpZGVyPSR7dGhpcy5kYXRhUHJvdmlkZXJ9CiAgICAgICAgICAgICAgICAgICAgLmJ1Y2tldE5hbWU9JHt0aGlzLmJ1Y2tldE5hbWV9CiAgICAgICAgICAgICAgICAgICAgLm9iamVjdEtleT0ke3RoaXMuc2VsZWN0ZWRLZXl9CiAgICAgICAgICAgICAgICAgICAgQG9iamVjdC1kZWxldGVkPSR7dGhpcy5oYW5kbGVPYmplY3REZWxldGVkfQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXN0b3JhZ2UtcHJldmlldz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1zdGF0aWN7X3Iocix0KX19O3JldHVybiBtZT1yfSkoKX0pO3ZhciB3MGE9ZigoKT0+e30pO3ZhciBNMGE9ZigoKT0+e3dRZSgpO01RZSgpO2tRZSgpO1NRZSgpO3cwYSgpO1hXKCl9KTt2YXIgazBhPWYoKCk9PntvMGEoKTtwMGEoKTtyUWUoKTtmMGEoKTtNMGEoKX0pO3ZhciBRVyxMYyxTMGEsVnNlPWYoKCk9PntsZSgpO1FlKCk7dmEoKTtRVz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sTGM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFMwYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYWN0aW9uYmFyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNBY3Rpb25iYXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgaz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVtLKCldLGQ9W0soKV0sdT1bSygpXSx4PVtLKCldLFFXKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudEJhciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iY3VycmVudEJhciJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmN1cnJlbnRCYXIsImdldCIpLHNldDpzKChDLE4pPT57Qy5jdXJyZW50QmFyPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSxRVyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpbWVSZW1haW5pbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InRpbWVSZW1haW5pbmciaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy50aW1lUmVtYWluaW5nLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MudGltZVJlbWFpbmluZz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGMscCksUVcodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwcm9ncmVzc1BlcmNlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InByb2dyZXNzUGVyY2VudCJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnByb2dyZXNzUGVyY2VudCwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnByb2dyZXNzUGVyY2VudD1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG0sdiksUVcodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1Zpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImlzVmlzaWJsZSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmlzVmlzaWJsZSwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmlzVmlzaWJsZT1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGIsZyksUVcobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6a30sbnVsbCx0KSx5PXI9ZS52YWx1ZSxrJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KX1zdGF0aWMgZGVtb0dyb3Vwcz1bIkZlZWRiYWNrIiwiT3ZlcmxheSJdO3N0YXRpYyBkZW1vPXMoKCk9PntsZXQgaz1zKHo9PnouY3VycmVudFRhcmdldC5jbG9zZXN0KCIuZGVtby1jb250YWluZXIiKT8ucXVlcnlTZWxlY3RvcigiZGVlcy1hY3Rpb25iYXIiKSwiZ2V0QWN0aW9uYmFyIik7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBoZWlnaHQ6IDMwMHB4OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMzMzsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQogICAgICAgIC5kZW1vLWNvbnRlbnQgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRlbnQiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0ke3MoYXN5bmMgej0+e2xldCBPPWsoeik7aWYoIU8pcmV0dXJuO2xldCBUPWF3YWl0IE8uc2hvdyh7bWVzc2FnZToiRmlsZSBjaGFuZ2VkIGV4dGVybmFsbHkuIFJlbG9hZD8iLHR5cGU6Indhcm5pbmciLGljb246Imx1Y2lkZTphbGVydFRyaWFuZ2xlIixhY3Rpb25zOlt7aWQ6InJlbG9hZCIsbGFiZWw6IlJlbG9hZCIscHJpbWFyeTohMH0se2lkOiJpZ25vcmUiLGxhYmVsOiJJZ25vcmUifV0sdGltZW91dDp7ZHVyYXRpb246NWUzLGRlZmF1bHRBY3Rpb25JZDoicmVsb2FkIn0sZGlzbWlzc2libGU6ITB9KTtjb25zb2xlLmxvZygiQWN0aW9uIGJhciByZXN1bHQ6IixUKX0sInNob3dBY3Rpb25CYXIiKX0+V2FybmluZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7cyhhc3luYyB6PT57bGV0IE89ayh6KTtpZighTylyZXR1cm47bGV0IFQ9YXdhaXQgTy5zaG93KHttZXNzYWdlOiJQcm9jZXNzIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxIix0eXBlOiJlcnJvciIsaWNvbjoibHVjaWRlOnhDaXJjbGUiLGFjdGlvbnM6W3tpZDoicmV0cnkiLGxhYmVsOiJSZXRyeSIscHJpbWFyeTohMH0se2lkOiJkaXNtaXNzIixsYWJlbDoiRGlzbWlzcyJ9XSx0aW1lb3V0OntkdXJhdGlvbjoxZTQsZGVmYXVsdEFjdGlvbklkOiJkaXNtaXNzIn19KTtjb25zb2xlLmxvZygiRXJyb3IgYmFyIHJlc3VsdDoiLFQpfSwic2hvd0Vycm9yQmFyIil9PkVycm9yPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHtzKGFzeW5jIHo9PntsZXQgTz1rKHopO2lmKCFPKXJldHVybjtsZXQgVD1hd2FpdCBPLnNob3coe21lc3NhZ2U6IlNhdmUgY2hhbmdlcyBiZWZvcmUgY2xvc2luZz8iLHR5cGU6InF1ZXN0aW9uIixpY29uOiJsdWNpZGU6aGVscENpcmNsZSIsYWN0aW9uczpbe2lkOiJzYXZlIixsYWJlbDoiU2F2ZSIscHJpbWFyeTohMH0se2lkOiJkaXNjYXJkIixsYWJlbDoiRGlzY2FyZCJ9LHtpZDoiY2FuY2VsIixsYWJlbDoiQ2FuY2VsIn1dfSk7Y29uc29sZS5sb2coIlF1ZXN0aW9uIGJhciByZXN1bHQ6IixUKX0sInNob3dRdWVzdGlvbkJhciIpfT5RdWVzdGlvbjwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRlZXMtYWN0aW9uYmFyPjwvZGVlcy1hY3Rpb25iYXI+CiAgICAgIDwvZGl2PgogICAgYH0sImRlbW8iKTtxdWV1ZT1bXTsjZT1MYyh0aGlzLG4sbnVsbCk7Z2V0IGN1cnJlbnRCYXIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudEJhcihrKXt0aGlzLiNlPWt9I3Q9KExjKHRoaXMsbCksTGModGhpcyxjLDApKTtnZXQgdGltZVJlbWFpbmluZygpe3JldHVybiB0aGlzLiN0fXNldCB0aW1lUmVtYWluaW5nKGspe3RoaXMuI3Q9a30jYT0oTGModGhpcyxwKSxMYyh0aGlzLG0sMTAwKSk7Z2V0IHByb2dyZXNzUGVyY2VudCgpe3JldHVybiB0aGlzLiNhfXNldCBwcm9ncmVzc1BlcmNlbnQoayl7dGhpcy4jYT1rfSNyPShMYyh0aGlzLHYpLExjKHRoaXMsYiwhMSkpO2dldCBpc1Zpc2libGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgaXNWaXNpYmxlKGspe3RoaXMuI3I9a310aW1lb3V0SW50ZXJ2YWw9KExjKHRoaXMsZyksbnVsbCk7Y3VycmVudFJlc29sdmU9bnVsbDtzdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuYWN0aW9uYmFyLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAwZnI7CiAgICAgICAgdHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1yb3dzIDAuMnMgZWFzZS1vdXQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk2JSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODglKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KC52aXNpYmxlKSAuYWN0aW9uYmFyLWl0ZW0gewogICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyOwogICAgICB9CgogICAgICAuYWN0aW9uYmFyLWNvbnRlbnQgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLW91dDsKICAgICAgfQoKICAgICAgOmhvc3QoLnZpc2libGUpIC5hY3Rpb25iYXItY29udGVudCB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhciB7CiAgICAgICAgaGVpZ2h0OiAzcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkwJSkiLCJoc2woMCAwJSAxOCUpIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1iYXItZmlsbCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNTAlKSIsImhzbCgyMTAgMTAwJSA2MCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgbGluZWFyOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyLWZpbGwud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgzOCA5MiUgNTAlKSIsImhzbCgzOCA5MiUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhci1maWxsLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhci1maWxsLnF1ZXN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDI3MCA3MCUgNTAlKSIsImhzbCgyNzAgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5jb250ZW50IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDMycHg7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlLXNlY3Rpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtaWNvbiB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtaWNvbi5pbmZvIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA0NSUpIiwiaHNsKDIxMCAxMDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlLWljb24ud2FybmluZyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMzggOTIlIDQ1JSkiLCJoc2woMzggOTIlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlLWljb24uZXJyb3IgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtaWNvbi5xdWVzdGlvbiB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjcwIDcwJSA1MCUpIiwiaHNsKDI3MCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDg1JSkiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuYWN0aW9ucy1zZWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zZWNvbmRhcnkgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDcwJSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODAlKSIsImhzbCgwIDAlIDMwJSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnNlY29uZGFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkyJSkiLCJoc2woMCAwJSAxOCUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDUwJSkiLCJoc2woMjEwIDEwMCUgNTUlKSIpfTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNDUlKSIsImhzbCgyMTAgMTAwJSA1MCUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5wcmltYXJ5Lndhcm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMzggOTIlIDQ1JSkiLCJoc2woMzggOTIlIDUwJSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkud2FybmluZzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgzOCA5MiUgNDAlKSIsImhzbCgzOCA5MiUgNDUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcwJSA1MCUpIiwiaHNsKDAgNzAlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkuZXJyb3I6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNDUlKSIsImhzbCgwIDcwJSA1MCUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5wcmltYXJ5LnF1ZXN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDI3MCA3MCUgNTAlKSIsImhzbCgyNzAgNzAlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkucXVlc3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjcwIDcwJSA0NSUpIiwiaHNsKDI3MCA3MCUgNTAlKSIpfTsKICAgICAgfQoKICAgICAgLmNvdW50ZG93biB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgICBtYXJnaW4tbGVmdDogMnB4OwogICAgICB9CgogICAgICAuZGlzbWlzcy1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1MCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuZGlzbWlzcy1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMjIlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA3MCUpIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgaz10aGlzLmN1cnJlbnRCYXIsQz1rPy50eXBlfHwiaW5mbyIsTj1rPy50aW1lb3V0JiZ0aGlzLnRpbWVSZW1haW5pbmc+MDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYWN0aW9uYmFyLWl0ZW0iPgogICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbmJhci1jb250ZW50Ij4KICAgICAgICAgICR7az93YAogICAgICAgICAgICAke04/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZ3Jlc3MtYmFyLWZpbGwgJHtDfSIKICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAke3RoaXMucHJvZ3Jlc3NQZXJjZW50fSUiCiAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lc3NhZ2Utc2VjdGlvbiI+CiAgICAgICAgICAgICAgICAke2suaWNvbj93YAogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im1lc3NhZ2UtaWNvbiAke0N9IgogICAgICAgICAgICAgICAgICAgIC5pY29uPSR7ay5pY29ufQogICAgICAgICAgICAgICAgICAgIGljb25TaXplPSIxNiIKICAgICAgICAgICAgICAgICAgPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXNzYWdlLXRleHQiPiR7ay5tZXNzYWdlfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zLXNlY3Rpb24iPgogICAgICAgICAgICAgICAgJHtrLmFjdGlvbnMubWFwKF89PnRoaXMucmVuZGVyQWN0aW9uQnV0dG9uKF8sayxOKSl9CiAgICAgICAgICAgICAgICAke2suZGlzbWlzc2libGU/d2AKICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJkaXNtaXNzLWJ1dHRvbiIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEaXNtaXNzKCl9CiAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkRpc21pc3MiCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp4In0gaWNvblNpemU9IjE0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJBY3Rpb25CdXR0b24oayxDLE4pe2xldCBfPWsucHJpbWFyeSx6PUMudHlwZXx8ImluZm8iLE89Qy50aW1lb3V0Py5kZWZhdWx0QWN0aW9uSWQ9PT1rLmlkLFQ9TiYmTyxQPU1hdGguY2VpbCh0aGlzLnRpbWVSZW1haW5pbmcvMWUzKTtyZXR1cm4gd2AKICAgICAgPGJ1dHRvbgogICAgICAgIGNsYXNzPSJhY3Rpb24tYnV0dG9uICR7Xz9gcHJpbWFyeSAke3p9YDoic2Vjb25kYXJ5In0iCiAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKGsuaWQsITEpfQogICAgICA+CiAgICAgICAgJHtrLmljb24/d2AKICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHtrLmljb259IGljb25TaXplPSIxMiI+PC9kZWVzLWljb24+CiAgICAgICAgYDoiIn0KICAgICAgICA8c3Bhbj4ke2subGFiZWx9PC9zcGFuPgogICAgICAgICR7VD93YAogICAgICAgICAgPHNwYW4gY2xhc3M9ImNvdW50ZG93biI+KCR7UH1zKTwvc3Bhbj4KICAgICAgICBgOiIifQogICAgICA8L2J1dHRvbj4KICAgIGB9YXN5bmMgc2hvdyhrKXtyZXR1cm4gbmV3IFByb21pc2UoQz0+e3RoaXMucXVldWUucHVzaCh7b3B0aW9uczprLHJlc29sdmU6Q30pLHRoaXMuY3VycmVudEJhcnx8dGhpcy5wcm9jZXNzUXVldWUoKX0pfWRpc21pc3MoKXt0aGlzLmhhbmRsZURpc21pc3MoKX1jbGVhclF1ZXVlKCl7Zm9yKGxldCBrIG9mIHRoaXMucXVldWUpay5yZXNvbHZlKHthY3Rpb25JZDoiZGlzbWlzc2VkIix0aW1lZE91dDohMX0pO3RoaXMucXVldWU9W119YXN5bmMgaGlkZUN1cnJlbnRCYXIoKXt0aGlzLmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKSx0aGlzLmlzVmlzaWJsZT0hMSxhd2FpdCBuZXcgUHJvbWlzZShrPT5zZXRUaW1lb3V0KGssMjIwKSksdGhpcy5jdXJyZW50QmFyPW51bGwsdGhpcy5jdXJyZW50UmVzb2x2ZT1udWxsfWFzeW5jIHByb2Nlc3NRdWV1ZSgpe2lmKHRoaXMucXVldWUubGVuZ3RoPT09MCl7dGhpcy5oaWRlQ3VycmVudEJhcigpO3JldHVybn1sZXQgaz10aGlzLnF1ZXVlLnNoaWZ0KCk7dGhpcy5jdXJyZW50QmFyPWsub3B0aW9ucyx0aGlzLmN1cnJlbnRSZXNvbHZlPWsucmVzb2x2ZSx0aGlzLmlzVmlzaWJsZT0hMCxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuY2xhc3NMaXN0LmFkZCgidmlzaWJsZSIpfSksay5vcHRpb25zLnRpbWVvdXQmJnRoaXMuc3RhcnRUaW1lb3V0KGsub3B0aW9ucy50aW1lb3V0LmR1cmF0aW9uLGsub3B0aW9ucy50aW1lb3V0LmRlZmF1bHRBY3Rpb25JZCl9c3RhcnRUaW1lb3V0KGssQyl7dGhpcy50aW1lUmVtYWluaW5nPWssdGhpcy5wcm9ncmVzc1BlcmNlbnQ9MTAwO2xldCBOPURhdGUubm93KCksXz01MDt0aGlzLnRpbWVvdXRJbnRlcnZhbD1zZXRJbnRlcnZhbCgoKT0+e2xldCB6PURhdGUubm93KCktTjt0aGlzLnRpbWVSZW1haW5pbmc9TWF0aC5tYXgoMCxrLXopLHRoaXMucHJvZ3Jlc3NQZXJjZW50PXRoaXMudGltZVJlbWFpbmluZy9rKjEwMCx0aGlzLnRpbWVSZW1haW5pbmc8PTAmJih0aGlzLmNsZWFyVGltZW91dEludGVydmFsKCksdGhpcy5oYW5kbGVBY3Rpb24oQywhMCkpfSxfKX1jbGVhclRpbWVvdXRJbnRlcnZhbCgpe3RoaXMudGltZW91dEludGVydmFsJiYoY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVvdXRJbnRlcnZhbCksdGhpcy50aW1lb3V0SW50ZXJ2YWw9bnVsbCl9aGFuZGxlQWN0aW9uKGssQyl7dGhpcy5jbGVhclRpbWVvdXRJbnRlcnZhbCgpLHRoaXMuY3VycmVudFJlc29sdmUmJnRoaXMuY3VycmVudFJlc29sdmUoe2FjdGlvbklkOmssdGltZWRPdXQ6Q30pLHRoaXMucHJvY2Vzc1F1ZXVlKCl9aGFuZGxlRGlzbWlzcygpe3RoaXMuaGFuZGxlQWN0aW9uKCJkaXNtaXNzZWQiLCExKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jbGVhclRpbWVvdXRJbnRlcnZhbCgpfXN0YXRpY3tMYyhyLHQpfX07cmV0dXJuIHk9cn0pKCl9KTt2YXIgejBhPWYoKCk9Pnt9KTt2YXIgQzBhPWYoKCk9PntWc2UoKTt6MGEoKX0pO3ZhciBfMGEsVDBhPWYoKCk9PntsZSgpO18wYT1zKCgpPT53YAogIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBhbGlnbi1pdGVtczogY2VudGVyOyI+CiAgICA8ZGVlcy1iYWRnZSAudGV4dD0keyJEZWZhdWx0In0+PC9kZWVzLWJhZGdlPgogICAgPGRlZXMtYmFkZ2UgLnR5cGU9JHsicHJpbWFyeSJ9IC50ZXh0PSR7IlByaW1hcnkifT48L2RlZXMtYmFkZ2U+CiAgICA8ZGVlcy1iYWRnZSAudHlwZT0keyJzdWNjZXNzIn0gLnRleHQ9JHsiU3VjY2VzcyJ9PjwvZGVlcy1iYWRnZT4KICAgIDxkZWVzLWJhZGdlIC50eXBlPSR7Indhcm5pbmcifSAudGV4dD0keyJXYXJuaW5nIn0+PC9kZWVzLWJhZGdlPgogICAgPGRlZXMtYmFkZ2UgLnR5cGU9JHsiZXJyb3IifSAudGV4dD0keyJFcnJvciJ9PjwvZGVlcy1iYWRnZT4KICAgIDxkZWVzLWJhZGdlIC50eXBlPSR7InByaW1hcnkifSAucm91bmRlZD0keyEwfSAudGV4dD0keyJSb3VuZGVkIn0+PC9kZWVzLWJhZGdlPgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIGpzZSxmNSxMMGEsJDBhPWYoKCk9PntsZSgpO2VhKCk7VDBhKCk7UWUoKTtqc2U9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGY1PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxMMGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWJhZGdlIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNCYWRnZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSxqc2UodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0eXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJ0eXBlImluIGcsImhhcyIpLGdldDpzKGc9PmcudHlwZSwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnR5cGU9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLGpzZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InRleHQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy50ZXh0LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cudGV4dD15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksanNlKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicm91bmRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4icm91bmRlZCJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnJvdW5kZWQsImdldCIpLHNldDpzKChnLHkpPT57Zy5yb3VuZGVkPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxqc2UobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz1fMGE7c3RhdGljIGRlbW9Hcm91cHM9WyJGZWVkYmFjayJdOyNlPWY1KHRoaXMsbiwiZGVmYXVsdCIpO2dldCB0eXBlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHR5cGUoYil7dGhpcy4jZT1ifSN0PShmNSh0aGlzLGwpLGY1KHRoaXMsYywiIikpO2dldCB0ZXh0KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHRleHQoYil7dGhpcy4jdD1ifSNhPShmNSh0aGlzLHApLGY1KHRoaXMsbSwhMSkpO2dldCByb3VuZGVkKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHJvdW5kZWQoYil7dGhpcy4jYT1ifWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxmNSh0aGlzLHYpLHRyLnNldHVwKCl9c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5yb3VuZGVkIHsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICB9CgogICAgICAuYmFkZ2UuZGVmYXVsdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNWY1ZjUiLCIjMzMzIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzY2NiIsIiNjY2MiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZS5wcmltYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMDA1MGI5OwogICAgICAgIGNvbG9yOiAjZmZmZmZmOwogICAgICB9CgogICAgICAuYmFkZ2Uuc3VjY2VzcyB7CiAgICAgICAgYmFja2dyb3VuZDogIzJlN2QzMjsKICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgfQoKICAgICAgLmJhZGdlLndhcm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICNlZDZjMDI7CiAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogI2U0MDAyYjsKICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImJhZGdlICR7dGhpcy50eXBlfSAke3RoaXMucm91bmRlZD8icm91bmRlZCI6IiJ9Ij4KICAgICAgICAke3RoaXMudGV4dH0KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpY3tmNShyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgRDBhPWYoKCk9PnskMGEoKX0pO3ZhciBBMGEsUDBhPWYoKCk9PntsZSgpO0EwYT1zKCgpPT53YAogIDxkZWVzLWhpbnQ+PC9kZWVzLWhpbnQ+CmAsImRlbW9GdW5jIil9KTt2YXIgRTBhLHpRZSxJMGEsTjBhPWYoKCk9PntsZSgpO2VhKCk7UDBhKCk7UWUoKTtFMGE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHpRZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sSTBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1oaW50IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNIaW50Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sRTBhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4idHlwZSJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLnR5cGUsImdldCIpLHNldDpzKChwLHUpPT57cC50eXBlPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxFMGEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1BMGE7c3RhdGljIGRlbW9Hcm91cHM9WyJGZWVkYmFjayJdOyNlPXpRZSh0aGlzLG4sImluZm8iKTtnZXQgdHlwZSgpe3JldHVybiB0aGlzLiNlfXNldCB0eXBlKGMpe3RoaXMuI2U9Y31jb25zdHJ1Y3Rvcigpe3N1cGVyKCkselFlKHRoaXMsbCksdHIuc2V0dXAoKX1zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YCA8ZGl2IGNsYXNzPSJtYWluYm94Ij48L2Rpdj4gYH1zdGF0aWN7elFlKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBSMGE9ZigoKT0+e04wYSgpfSk7dmFyIE8wYSxGMGE9ZigoKT0+e2xlKCk7TmEoKTtPMGE9cygoKT0+e2xldCBhPVtbIlJlc29sdmluZyB3b3Jrc3BhY2UgcGFja2FnZXMiXSxbIlJlc29sdmluZyB3b3Jrc3BhY2UgcGFja2FnZXMiLCJEb3dubG9hZGluZyB1aS1hc3NldHMudGFyLmd6Il0sWyJSZXNvbHZpbmcgd29ya3NwYWNlIHBhY2thZ2VzIiwiRG93bmxvYWRpbmcgdWktYXNzZXRzLnRhci5neiIsIlZlcmlmeWluZyBjaGVja3N1bSJdLFsiUmVzb2x2aW5nIHdvcmtzcGFjZSBwYWNrYWdlcyIsIkRvd25sb2FkaW5nIHVpLWFzc2V0cy50YXIuZ3oiLCJWZXJpZnlpbmcgY2hlY2tzdW0iLCJFeHRyYWN0aW5nIHJlbGVhc2UgYnVuZGxlIl0sWyJSZXNvbHZpbmcgd29ya3NwYWNlIHBhY2thZ2VzIiwiRG93bmxvYWRpbmcgdWktYXNzZXRzLnRhci5neiIsIlZlcmlmeWluZyBjaGVja3N1bSIsIkV4dHJhY3RpbmcgcmVsZWFzZSBidW5kbGUiLCJSZXN0YXJ0aW5nIGFwcGxpY2F0aW9uIl1dLGU9cyh0PT50Pj0xMDA/IlVwbG9hZCBjb21wbGV0ZS4gRmluYWxpemluZyBwYWNrYWdlIG1hbmlmZXN0Li4uIjp0Pj04Mj8iVmVyaWZ5aW5nIGNoZWNrc3VtcyBiZWZvcmUgaGFuZG9mZi4uLiI6dD49NTU/IlVwbG9hZGluZyB0aHVtYm5haWxzIHRvIGVkZ2UgY2FjaGUuLi4iOnQ+PTI1PyJTdHJlYW1pbmcgc291cmNlIGZpbGVzIHRvIHRoZSByZW1vdGUgd29ya2VyLi4uIjoiUHJlcGFyaW5nIGFyY2hpdmUgYW5kIGRlcGVuZGVuY3kgZ3JhcGguLi4iLCJnZXRVcGxvYWRTdGF0dXMiKTtyZXR1cm4gd2AKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgcj10LnF1ZXJ5U2VsZWN0b3IoIiNsaXZlLXByb2dyZXNzIiksaT10LnF1ZXJ5U2VsZWN0b3IoIiN0ZXJtaW5hbC1wcm9ncmVzcyIpLG89dDtpZighcnx8IWkpcmV0dXJuO28uX19wcm9ncmVzc2JhckRlbW9JbnRlcnZhbElkJiZ3aW5kb3cuY2xlYXJJbnRlcnZhbChvLl9fcHJvZ3Jlc3NiYXJEZW1vSW50ZXJ2YWxJZCk7bGV0IG49MTIsbD0wLGQ9cygoKT0+e3IucGVyY2VudGFnZT1uLHIuc3RhdHVzVGV4dD1lKG4pLGkudGVybWluYWxMaW5lcz1bLi4uYVtsXV0saS5wZXJjZW50YWdlPU1hdGgubWluKDEwMCwobCsxKSoyMCksaS5pbmRldGVybWluYXRlPWw8YS5sZW5ndGgtMSxuPW4+PTEwMD8xMjpNYXRoLm1pbigxMDAsbisxMSksbD1sPj1hLmxlbmd0aC0xPzA6bCsxfSwidXBkYXRlRGVtbyIpO2QoKSxvLl9fcHJvZ3Jlc3NiYXJEZW1vSW50ZXJ2YWxJZD13aW5kb3cuc2V0SW50ZXJ2YWwoZCwxNDAwKX19PgogICAgICA8c3R5bGU+CiAgICAgICAgJHtYYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICB9CgogICAgICAgICAgLmRlbW9JbnRybyB7CiAgICAgICAgICAgIG1heC13aWR0aDogNzIwcHg7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAyMCUgMzAlKSIsImhzbCgyMTUgMTglIDc2JSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICAgIH0KCiAgICAgICAgICAuc2hvd2Nhc2VHcmlkIHsKICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7CiAgICAgICAgICAgIGdhcDogMThweDsKICAgICAgICAgIH0KCiAgICAgICAgICAuc2hvd2Nhc2VDYXJkIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMjU1LDI1NSwyNTUsMC43OCkiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMDQpIil9OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxMCAyMiUgODYlKSIsImhzbCgyMTAgMTAlIDE4JSkiKX07CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7CiAgICAgICAgICB9CgogICAgICAgICAgLnNob3djYXNlQ2FyZC53aWRlIHsKICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsKICAgICAgICAgIH0KCiAgICAgICAgICAuc2hvd2Nhc2VDYXJkIGgzIHsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICB9CgogICAgICAgICAgLnNob3djYXNlQ2FyZCBwIHsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTQlIDQwJSkiLCJoc2woMjE1IDEwJSA2NiUpIil9OwogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1OwogICAgICAgICAgfQoKICAgICAgICAgIC5wcm9ncmVzc1N0YWNrIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAxNHB4OwogICAgICAgICAgfQoKICAgICAgICAgIC5jb2RlTGFiZWwgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTQlIDQ0JSkiLCJoc2woMjE1IDEwJSA3MCUpIil9OwogICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtOwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgfQoKICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgewogICAgICAgICAgICAuZGVtb0JveCB7CiAgICAgICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLnNob3djYXNlQ2FyZC53aWRlIHsKICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAxOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgYH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtb0JveCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtb0ludHJvIj4KICAgICAgICAgIDxjb2RlPmRlZXMtcHJvZ3Jlc3NiYXI8L2NvZGU+IGNhbiBub3cgcGFpciBhIGNsYXNzaWMgcHJvZ3Jlc3MgYmFyIHdpdGggYSBmaXhlZC1oZWlnaHQgc3RhdHVzIGFyZWEuIFVzZSBzaW1wbGUgc3RhdHVzIHRleHQgZm9yIGNsZWFyIHVzZXItZmFjaW5nIHVwZGF0ZXMgb3Igc3dpdGNoIHRvIHRlcm1pbmFsLWxpa2UgbGluZXMgd2hlbiB5b3Ugd2FudCByZWNlbnQgc3RlcHMgdG8gc3RheSB2aXNpYmxlIHdpdGhvdXQgY2F1c2luZyBsYXlvdXQganVtcHMuCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2hvd2Nhc2VHcmlkIj4KICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzaG93Y2FzZUNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlTGFiZWwiPkRldGVybWluYXRlPC9kaXY+CiAgICAgICAgICAgIDxoMz5QZXJjZW50YWdlIHBsdXMgY3VycmVudCB0YXNrPC9oMz4KICAgICAgICAgICAgPHA+VXNlIGEgbGFiZWwsIGEgcGVyY2VudGFnZSwgYW5kIG9uZSBzaG9ydCBzdGF0dXMgbGluZSB3aGVuIHRoZSB3b3JrIGlzIG1lYXN1cmFibGUuPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzc1N0YWNrIj4KICAgICAgICAgICAgICA8ZGVlcy1wcm9ncmVzc2JhcgogICAgICAgICAgICAgICAgbGFiZWw9Ik1lZGlhIHVwbG9hZCIKICAgICAgICAgICAgICAgIC5wZXJjZW50YWdlPSR7Njh9CiAgICAgICAgICAgICAgICBzdGF0dXNUZXh0PSJVcGxvYWRpbmcgdGh1bWJuYWlscyB0byBlZGdlIGNhY2hlLi4uIgogICAgICAgICAgICAgICAgLnN0YXR1c1Jvd3M9JHsyfQogICAgICAgICAgICAgID48L2RlZXMtcHJvZ3Jlc3NiYXI+CiAgICAgICAgICAgICAgPGRlZXMtcHJvZ3Jlc3NiYXIKICAgICAgICAgICAgICAgIGxhYmVsPSJBc3NldCBzeW5jIgogICAgICAgICAgICAgICAgLnBlcmNlbnRhZ2U9JHsxMDB9CiAgICAgICAgICAgICAgICBzdGF0dXNUZXh0PSJBbGwgZmlsZXMgYXJlIHN5bmNlZCBhbmQgYXZhaWxhYmxlLiIKICAgICAgICAgICAgICAgIC5zdGF0dXNSb3dzPSR7Mn0KICAgICAgICAgICAgICA+PC9kZWVzLXByb2dyZXNzYmFyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2hvd2Nhc2VDYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZUxhYmVsIj5JbmRldGVybWluYXRlPC9kaXY+CiAgICAgICAgICAgIDxoMz5TcGlubmVyLXN0eWxlIHRleHQgaW5kaWNhdG9yPC9oMz4KICAgICAgICAgICAgPHA+V2hlbiB0aGVyZSBpcyBubyB0cnVzdHdvcnRoeSBwZXJjZW50YWdlIHlldCwga2VlcCB0aGUgYmFyIG1vdmluZyBhbmQgbGV0IHRoZSB0ZXh0IGV4cGxhaW4gd2hhdCBpcyBoYXBwZW5pbmcuPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzc1N0YWNrIj4KICAgICAgICAgICAgICA8ZGVlcy1wcm9ncmVzc2JhcgogICAgICAgICAgICAgICAgbGFiZWw9IkRlcGVuZGVuY3kgaW5zdGFsbCIKICAgICAgICAgICAgICAgIC5pbmRldGVybWluYXRlPSR7ITB9CiAgICAgICAgICAgICAgICBzdGF0dXNUZXh0PSJEb3dubG9hZGluZyBwYWNrYWdlIG1ldGFkYXRhLi4uIgogICAgICAgICAgICAgICAgLnN0YXR1c1Jvd3M9JHsyfQogICAgICAgICAgICAgID48L2RlZXMtcHJvZ3Jlc3NiYXI+CiAgICAgICAgICAgICAgPGRlZXMtcHJvZ3Jlc3NiYXIKICAgICAgICAgICAgICAgIGxhYmVsPSJRdWV1ZWQgam9iIgogICAgICAgICAgICAgICAgLnBlcmNlbnRhZ2U9JHszMn0KICAgICAgICAgICAgICAgIC5zaG93UGVyY2VudGFnZT0keyExfQogICAgICAgICAgICAgICAgc3RhdHVzVGV4dD0iV2FpdGluZyBmb3IgYSB3b3JrZXIgc2xvdCB0byBiZWNvbWUgYXZhaWxhYmxlLi4uIgogICAgICAgICAgICAgICAgLnN0YXR1c1Jvd3M9JHsyfQogICAgICAgICAgICAgID48L2RlZXMtcHJvZ3Jlc3NiYXI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzaG93Y2FzZUNhcmQgd2lkZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGVMYWJlbCI+VGVybWluYWwgTGluZXM8L2Rpdj4KICAgICAgICAgICAgPGgzPkZpeGVkLWhlaWdodCB0ZXJtaW5hbC1zdHlsZSBzdGF0dXMgb3V0cHV0PC9oMz4KICAgICAgICAgICAgPHA+VGhlIHBhbmVsIHN0YXlzIHRoZSBzYW1lIGhlaWdodCB3aGlsZSB0aGUgbGF0ZXN0IHN0ZXAgc3RheXMgdmlzaWJsZS4gVGhpcyBpcyB1c2VmdWwgZm9yIHVwZGF0ZSBmbG93cywgZG93bmxvYWRzLCBhbmQgc3RhZ2VkIGJhY2tncm91bmQgd29yay48L3A+CiAgICAgICAgICAgIDxkZWVzLXByb2dyZXNzYmFyCiAgICAgICAgICAgICAgaWQ9InRlcm1pbmFsLXByb2dyZXNzIgogICAgICAgICAgICAgIGxhYmVsPSJSZWxlYXNlIGJ1bmRsZSIKICAgICAgICAgICAgICAucGVyY2VudGFnZT0kezIwfQogICAgICAgICAgICAgIC5pbmRldGVybWluYXRlPSR7ITB9CiAgICAgICAgICAgICAgLnN0YXR1c1Jvd3M9JHs0fQogICAgICAgICAgICAgIC50ZXJtaW5hbExpbmVzPSR7YVswXX0KICAgICAgICAgICAgPjwvZGVlcy1wcm9ncmVzc2Jhcj4KICAgICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2hvd2Nhc2VDYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZUxhYmVsIj5MaXZlIERlbW88L2Rpdj4KICAgICAgICAgICAgPGgzPlVwZGF0aW5nIHBlcmNlbnRhZ2UgYW5kIHRleHQgdG9nZXRoZXI8L2gzPgogICAgICAgICAgICA8cD5BIHNpbmdsZSBjb21wb25lbnQgY2FuIGV4cHJlc3MgYm90aCBob3cgZmFyIHRoZSBqb2IgaXMgYW5kIHdoaWNoIHBoYXNlIGlzIGN1cnJlbnRseSBhY3RpdmUuPC9wPgogICAgICAgICAgICA8ZGVlcy1wcm9ncmVzc2JhcgogICAgICAgICAgICAgIGlkPSJsaXZlLXByb2dyZXNzIgogICAgICAgICAgICAgIGxhYmVsPSJDdXN0b21lciBleHBvcnQiCiAgICAgICAgICAgICAgLnBlcmNlbnRhZ2U9JHsxMn0KICAgICAgICAgICAgICBzdGF0dXNUZXh0PSJQcmVwYXJpbmcgYXJjaGl2ZSBhbmQgZGVwZW5kZW5jeSBncmFwaC4uLiIKICAgICAgICAgICAgICAuc3RhdHVzUm93cz0kezJ9CiAgICAgICAgICAgID48L2RlZXMtcHJvZ3Jlc3NiYXI+CiAgICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNob3djYXNlQ2FyZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGVMYWJlbCI+Q29tcGF0aWJpbGl0eTwvZGl2PgogICAgICAgICAgICA8aDM+TGVnYWN5IDxjb2RlPnZhbHVlPC9jb2RlPiBhbmQgPGNvZGU+cHJvZ3Jlc3M8L2NvZGU+IGlucHV0czwvaDM+CiAgICAgICAgICAgIDxwPkV4aXN0aW5nIHVzYWdlcyBjYW4ga2VlcCBwYXNzaW5nIHBlcmNlbnRhZ2VzIGRpcmVjdGx5IG9yIG5vcm1hbGl6ZWQgcHJvZ3Jlc3MgdmFsdWVzIGZyb20gMCB0byAxLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3NTdGFjayI+CiAgICAgICAgICAgICAgPGRlZXMtcHJvZ3Jlc3NiYXIKICAgICAgICAgICAgICAgIGxhYmVsPSJGcm9tIHZhbHVlIgogICAgICAgICAgICAgICAgLnZhbHVlPSR7NzV9CiAgICAgICAgICAgICAgICBzdGF0dXNUZXh0PSJNaWdyYXRpbmcgZXhpc3RpbmcgcmVhZG1lLXN0eWxlIHVzYWdlLi4uIgogICAgICAgICAgICAgICAgLnN0YXR1c1Jvd3M9JHsyfQogICAgICAgICAgICAgID48L2RlZXMtcHJvZ3Jlc3NiYXI+CiAgICAgICAgICAgICAgPGRlZXMtcHJvZ3Jlc3NiYXIKICAgICAgICAgICAgICAgIGxhYmVsPSJGcm9tIHByb2dyZXNzIgogICAgICAgICAgICAgICAgLnByb2dyZXNzPSR7LjQyfQogICAgICAgICAgICAgICAgLnNob3dQZXJjZW50YWdlPSR7ITF9CiAgICAgICAgICAgICAgICBzdGF0dXNUZXh0PSJSZW5kZXJpbmcgbm9ybWFsaXplZCBwcm9ncmVzcyBpbnB1dC4uLiIKICAgICAgICAgICAgICAgIC5zdGF0dXNSb3dzPSR7Mn0KICAgICAgICAgICAgICA+PC9kZWVzLXByb2dyZXNzYmFyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYH0sImRlbW9GdW5jIil9KTt2YXIgVTEsc3MsQjBhLENRZT1mKCgpPT57TDEoKTtGMGEoKTtsZSgpO1FlKCk7VTE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHNzPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxCMGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXByb2dyZXNzYmFyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W107dmFyIGhlPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzUHJvZ3Jlc3NiYXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgUj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk51bWJlcn0pXSxkPVskKHt0eXBlOk51bWJlcn0pXSx1PVskKHt0eXBlOk51bWJlcn0pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOlN0cmluZ30pXSxOPVskKHt0eXBlOkFycmF5fSldLE89WyQoe3R5cGU6TnVtYmVyfSldLEI9WyQoe3R5cGU6Qm9vbGVhbn0pXSxFPVskKHt0eXBlOkJvb2xlYW59KV0sVz1bSygpXSxVMSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBlcmNlbnRhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InBlcmNlbnRhZ2UiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5wZXJjZW50YWdlLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnBlcmNlbnRhZ2U9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sbixsKSxVMSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJ2YWx1ZSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnZhbHVlLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnZhbHVlPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGMscCksVTEodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwcm9ncmVzcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4icHJvZ3Jlc3MiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5wcm9ncmVzcywiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5wcm9ncmVzcz1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxtLHYpLFUxKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImxhYmVsImluIFUsImhhcyIpLGdldDpzKFU9PlUubGFiZWwsImdldCIpLHNldDpzKChVLG1lKT0+e1UubGFiZWw9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sYixnKSxVMSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1c1RleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InN0YXR1c1RleHQiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5zdGF0dXNUZXh0LCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnN0YXR1c1RleHQ9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sayxDKSxVMSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRlcm1pbmFsTGluZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InRlcm1pbmFsTGluZXMiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS50ZXJtaW5hbExpbmVzLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnRlcm1pbmFsTGluZXM9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sXyx6KSxVMSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1c1Jvd3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InN0YXR1c1Jvd3MiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5zdGF0dXNSb3dzLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnN0YXR1c1Jvd3M9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sVCxQKSxVMSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImluZGV0ZXJtaW5hdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImluZGV0ZXJtaW5hdGUiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5pbmRldGVybWluYXRlLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmluZGV0ZXJtaW5hdGU9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sTSxTKSxVMSh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dQZXJjZW50YWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJzaG93UGVyY2VudGFnZSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnNob3dQZXJjZW50YWdlLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnNob3dQZXJjZW50YWdlPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LEEsRiksVTEodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3RpdmVTcGlubmVyRnJhbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImFjdGl2ZVNwaW5uZXJGcmFtZSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmFjdGl2ZVNwaW5uZXJGcmFtZSwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5hY3RpdmVTcGlubmVyRnJhbWU9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0saixHKSxVMShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpSfSxudWxsLHQpLGhlPXI9ZS52YWx1ZSxSJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlJ9KX1zdGF0aWMgZGVtbz1PMGE7c3RhdGljIGRlbW9Hcm91cHM9WyJGZWVkYmFjayJdOyNlPXNzKHRoaXMsbiwwKTtnZXQgcGVyY2VudGFnZSgpe3JldHVybiB0aGlzLiNlfXNldCBwZXJjZW50YWdlKFIpe3RoaXMuI2U9Un0jdD0oc3ModGhpcyxsKSxzcyh0aGlzLGMsbnVsbCkpO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiN0fXNldCB2YWx1ZShSKXt0aGlzLiN0PVJ9I2E9KHNzKHRoaXMscCksc3ModGhpcyxtLG51bGwpKTtnZXQgcHJvZ3Jlc3MoKXtyZXR1cm4gdGhpcy4jYX1zZXQgcHJvZ3Jlc3MoUil7dGhpcy4jYT1SfSNyPShzcyh0aGlzLHYpLHNzKHRoaXMsYiwiIikpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNyfXNldCBsYWJlbChSKXt0aGlzLiNyPVJ9I3M9KHNzKHRoaXMsZyksc3ModGhpcyxrLCIiKSk7Z2V0IHN0YXR1c1RleHQoKXtyZXR1cm4gdGhpcy4jc31zZXQgc3RhdHVzVGV4dChSKXt0aGlzLiNzPVJ9I2k9KHNzKHRoaXMsQyksc3ModGhpcyxfLFtdKSk7Z2V0IHRlcm1pbmFsTGluZXMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgdGVybWluYWxMaW5lcyhSKXt0aGlzLiNpPVJ9I289KHNzKHRoaXMseiksc3ModGhpcyxULDMpKTtnZXQgc3RhdHVzUm93cygpe3JldHVybiB0aGlzLiNvfXNldCBzdGF0dXNSb3dzKFIpe3RoaXMuI289Un0jbj0oc3ModGhpcyxQKSxzcyh0aGlzLE0sITEpKTtnZXQgaW5kZXRlcm1pbmF0ZSgpe3JldHVybiB0aGlzLiNufXNldCBpbmRldGVybWluYXRlKFIpe3RoaXMuI249Un0jbD0oc3ModGhpcyxTKSxzcyh0aGlzLEEsITApKTtnZXQgc2hvd1BlcmNlbnRhZ2UoKXtyZXR1cm4gdGhpcy4jbH1zZXQgc2hvd1BlcmNlbnRhZ2UoUil7dGhpcy4jbD1SfSNjPShzcyh0aGlzLEYpLHNzKHRoaXMsaiwwKSk7Z2V0IGFjdGl2ZVNwaW5uZXJGcmFtZSgpe3JldHVybiB0aGlzLiNjfXNldCBhY3RpdmVTcGlubmVyRnJhbWUoUil7dGhpcy4jYz1SfXNwaW5uZXJJbnRlcnZhbElkPShzcyh0aGlzLEcpLG51bGwpO3NwaW5uZXJGcmFtZXM9WyJ8IiwiLyIsIi0iLCJcXCJdO3N0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKG80LnRleHQsaTQudGV4dCl9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3NCYXJDb250YWluZXIgewogICAgICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzc0hlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzc0xhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMS4zOwogICAgICB9CgogICAgICAucHJvZ3Jlc3NWYWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE1JSA0MCUpIiwiaHNsKDIxNSAxNSUgNzAlKSIpfTsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzQmFyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VlZWVlYiIsIiM0NDQiKX07CiAgICAgICAgYm9yZGVyLXRvcDogMC41cHggc29saWQgJHtoLmJkVGhlbWUoInRyYW5zcGFyZW50IiwiIzU1NSIpfTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzQmFyRmlsbCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoaTQuYmx1ZUFjdGl2ZSxvNC5ibHVlQWN0aXZlKX07CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlOwogICAgICB9CgogICAgICAucHJvZ3Jlc3NCYXJGaWxsLmluZGV0ZXJtaW5hdGUgewogICAgICAgIHdpZHRoOiAzNCU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgICBhbmltYXRpb246IGluZGV0ZXJtaW5hdGVTbGlkZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgICB9CgogICAgICAuc3RhdHVzUGFuZWwgewogICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLXN0YXR1cy1yb3dzLCAzKSAqIDEuMzVlbSArIDE2cHgpOwogICAgICAgIG1pbi1oZWlnaHQ6IGNhbGModmFyKC0tc3RhdHVzLXJvd3MsIDMpICogMS4zNWVtICsgMTZweCk7CiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTAgMjAlIDg2JSkiLCJoc2woMjEwIDEwJSAyNiUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDMzJSA5OCUpIiwiaHNsKDIyMCAyMCUgMTAlKSIpfTsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnN0YXR1c1RleHRSb3csCiAgICAgIC50ZXJtaW5hbExpbmUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWluLWhlaWdodDogMS4zNWVtOwogICAgICB9CgogICAgICAudGVybWluYWxTY3JvbGxlciB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICB9CgogICAgICAudGVybWluYWxTY3JvbGxlcjo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbFNjcm9sbGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTglIDc4JSkiLCJoc2woMjE1IDEwJSAzNCUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgICB9CgogICAgICAudGVybWluYWxTY3JvbGxlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAubGluZVByZWZpeCB7CiAgICAgICAgd2lkdGg6IDFjaDsKICAgICAgICBmbGV4OiAwIDAgMWNoOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZShpNC5ibHVlQWN0aXZlLG80LmJsdWVBY3RpdmUpfTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5saW5lVGV4dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIwIDE1JSAyNSUpIiwiaHNsKDIxMCAxNSUgODYlKSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsTGluZTpub3QoLmN1cnJlbnQpIC5saW5lVGV4dCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDEyJSA0MiUpIiwiaHNsKDIxNSAxMiUgNjMlKSIpfTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBpbmRldGVybWluYXRlU2xpZGUgewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTIwJSk7CiAgICAgICAgfQoKICAgICAgICAxMDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMjAlKTsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnN5bmNTcGlubmVyU3RhdGUoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMuc3RvcFNwaW5uZXIoKSxhd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpfXVwZGF0ZWQoUil7c3VwZXIudXBkYXRlZChSKSx0aGlzLnN5bmNTcGlubmVyU3RhdGUoKSxSLmhhcygidGVybWluYWxMaW5lcyIpJiZ0aGlzLnRlcm1pbmFsTGluZXMubGVuZ3RoPjAmJnRoaXMuc2Nyb2xsVGVybWluYWxUb0JvdHRvbSgpfXJlbmRlcigpe2xldCBSPXRoaXMuZ2V0RWZmZWN0aXZlUGVyY2VudGFnZSgpLFU9ISF0aGlzLmxhYmVsfHx0aGlzLnNob3dQZXJjZW50YWdlJiYhdGhpcy5pbmRldGVybWluYXRlLG1lPXRoaXMudGVybWluYWxMaW5lcy5sZW5ndGg+MCxJPW1lfHx0aGlzLnN0YXR1c1RleHQudHJpbSgpLmxlbmd0aD4wLHE9dGhpcy5nZXRSZW5kZXJlZFN0YXR1c1Jvd3MoKSxjZT10aGlzLnNwaW5uZXJGcmFtZXNbdGhpcy5hY3RpdmVTcGlubmVyRnJhbWVdPz90aGlzLnNwaW5uZXJGcmFtZXNbMF07cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzQmFyQ29udGFpbmVyIj4KICAgICAgICAke1U/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzSGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3NMYWJlbCI+JHt0aGlzLmxhYmVsfTwvZGl2PgogICAgICAgICAgICAke3RoaXMuc2hvd1BlcmNlbnRhZ2UmJiF0aGlzLmluZGV0ZXJtaW5hdGU/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzc1ZhbHVlIj4ke3RoaXMuZm9ybWF0UGVyY2VudGFnZShSKX0lPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzQmFyIj4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9InByb2dyZXNzQmFyRmlsbCAke3RoaXMuaW5kZXRlcm1pbmF0ZT8iaW5kZXRlcm1pbmF0ZSI6IiJ9IgogICAgICAgICAgICBzdHlsZT0iJHt0aGlzLmluZGV0ZXJtaW5hdGU/IiI6YHdpZHRoOiAke1J9JTtgfSIKICAgICAgICAgID48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke0k/d2AKICAgICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9InN0YXR1c1BhbmVsIgogICAgICAgICAgICBzdHlsZT0iLS1zdGF0dXMtcm93czogJHtxfTsiCiAgICAgICAgICAgIGFyaWEtbGl2ZT0icG9saXRlIgogICAgICAgICAgICBhcmlhLWF0b21pYz0idHJ1ZSIKICAgICAgICAgID4KICAgICAgICAgICAgJHttZT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlcm1pbmFsU2Nyb2xsZXIiPgogICAgICAgICAgICAgICAgJHt0aGlzLnRlcm1pbmFsTGluZXMubWFwKCh1ZSxZKT0+e2xldCBRPVk9PT10aGlzLnRlcm1pbmFsTGluZXMubGVuZ3RoLTEsSj10aGlzLmluZGV0ZXJtaW5hdGUmJlE/Y2U6Ij4iO3JldHVybiB3YAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlcm1pbmFsTGluZSAke1E/ImN1cnJlbnQiOiIifSI+CiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGluZVByZWZpeCI+JHtKfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsaW5lVGV4dCI+JHt1ZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGB9KX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1c1RleHRSb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxpbmVQcmVmaXgiPiR7dGhpcy5pbmRldGVybWluYXRlP2NlOiI+In08L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGluZVRleHQiPiR7dGhpcy5zdGF0dXNUZXh0fTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1nZXRFZmZlY3RpdmVQZXJjZW50YWdlKCl7aWYodHlwZW9mIHRoaXMudmFsdWU9PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUodGhpcy52YWx1ZSkpcmV0dXJuIHRoaXMuY2xhbXBQZXJjZW50YWdlKHRoaXMudmFsdWUpO2lmKHR5cGVvZiB0aGlzLnByb2dyZXNzPT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKHRoaXMucHJvZ3Jlc3MpKXtsZXQgUj10aGlzLnByb2dyZXNzPj0wJiZ0aGlzLnByb2dyZXNzPD0xP3RoaXMucHJvZ3Jlc3MqMTAwOnRoaXMucHJvZ3Jlc3M7cmV0dXJuIHRoaXMuY2xhbXBQZXJjZW50YWdlKFIpfXJldHVybiB0aGlzLmNsYW1wUGVyY2VudGFnZSh0aGlzLnBlcmNlbnRhZ2UpfWdldFJlbmRlcmVkU3RhdHVzUm93cygpe2xldCBSPU51bWJlci5pc0Zpbml0ZSh0aGlzLnN0YXR1c1Jvd3MpP01hdGguZmxvb3IodGhpcy5zdGF0dXNSb3dzKTozO3JldHVybiBNYXRoLm1heCgxLFIpfWNsYW1wUGVyY2VudGFnZShSKXtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLm1pbigxMDAsUikpfWZvcm1hdFBlcmNlbnRhZ2UoUil7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoUik/YCR7Un1gOlIudG9GaXhlZCgxKS5yZXBsYWNlKC9cLjAkLywiIil9c3luY1NwaW5uZXJTdGF0ZSgpe2xldCBSPXRoaXMuaW5kZXRlcm1pbmF0ZSYmKHRoaXMuc3RhdHVzVGV4dC50cmltKCkubGVuZ3RoPjB8fHRoaXMudGVybWluYWxMaW5lcy5sZW5ndGg+MCk7aWYoUiYmdGhpcy5zcGlubmVySW50ZXJ2YWxJZD09PW51bGwpe3RoaXMuc3Bpbm5lckludGVydmFsSWQ9d2luZG93LnNldEludGVydmFsKCgpPT57dGhpcy5hY3RpdmVTcGlubmVyRnJhbWU9KHRoaXMuYWN0aXZlU3Bpbm5lckZyYW1lKzEpJXRoaXMuc3Bpbm5lckZyYW1lcy5sZW5ndGh9LDEyMCk7cmV0dXJufVJ8fHRoaXMuc3RvcFNwaW5uZXIoKX1zdG9wU3Bpbm5lcigpe3RoaXMuc3Bpbm5lckludGVydmFsSWQhPT1udWxsJiYod2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5zcGlubmVySW50ZXJ2YWxJZCksdGhpcy5zcGlubmVySW50ZXJ2YWxJZD1udWxsKSx0aGlzLmFjdGl2ZVNwaW5uZXJGcmFtZT0wfXNjcm9sbFRlcm1pbmFsVG9Cb3R0b20oKXtsZXQgUj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50ZXJtaW5hbFNjcm9sbGVyIik7UiYmd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e1Iuc2Nyb2xsVG9wPVIuc2Nyb2xsSGVpZ2h0fSl9c3RhdGlje3NzKHIsdCl9fTtyZXR1cm4gaGU9cn0pKCl9KTt2YXIgSDBhPWYoKCk9PntDUWUoKX0pO3ZhciBVc2UsaDUscTBhLFYwYT1mKCgpPT57bGUoKTtlYSgpO1FlKCk7VXNlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxoNT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0scTBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zcGlubmVyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTcGlubmVyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpOdW1iZXJ9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCgpXSxVc2UodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJzaXplImluIGcsImhhcyIpLGdldDpzKGc9Pmcuc2l6ZSwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnNpemU9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLFVzZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJudyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iYm53ImluIGcsImhhcyIpLGdldDpzKGc9PmcuYm53LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuYm53PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxVc2UodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InN0YXR1cyJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnN0YXR1cywiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnN0YXR1cz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG0sdiksVXNlKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW9Hcm91cHM9WyJGZWVkYmFjayJdO3N0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGVlcy1zcGlubmVyPjwvZGVlcy1zcGlubmVyPgogICAgPGRlZXMtc3Bpbm5lciBzdGF0dXM9InN1Y2Nlc3MiPjwvZGVlcy1zcGlubmVyPgogICAgPGRlZXMtc3Bpbm5lciBzdGF0dXM9ImVycm9yIj48L2RlZXMtc3Bpbm5lcj4KICAgIDxkZWVzLXNwaW5uZXIgc2l6ZT0kezY0fSBzdGF0dXM9InN1Y2Nlc3MiPjwvZGVlcy1zcGlubmVyPgogICAgPGRlZXMtc3Bpbm5lciAuc2l6ZT0kezY0fSBzdGF0dXM9ImVycm9yIj48L2RlZXMtc3Bpbm5lcj4KICBgLCJkZW1vIik7I2U9aDUodGhpcyxuLDIwKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNlfXNldCBzaXplKGIpe3RoaXMuI2U9Yn0jdD0oaDUodGhpcyxsKSxoNSh0aGlzLGMsITEpKTtnZXQgYm53KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJudyhiKXt0aGlzLiN0PWJ9I2E9KGg1KHRoaXMscCksaDUodGhpcyxtLCJub3JtYWwiKSk7Z2V0IHN0YXR1cygpe3JldHVybiB0aGlzLiNhfXNldCBzdGF0dXMoYil7dGhpcy4jYT1ifWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxoNSh0aGlzLHYpfXN0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgICNsb2FkaW5nIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBiYWNrZ3JvdW5kOiAjOGJjMzRhMDA7CiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgI2xvYWRpbmcuc3VjY2VzcyB7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBhbmltYXRpb246IG5vbmU7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IG5vbmU7CiAgICAgIH0KCiAgICAgICNsb2FkaW5nLmVycm9yIHsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogbm9uZTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICBkZWVzLWljb24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgI2xvYWRpbmcgewogICAgICAgICAgd2lkdGg6ICR7dGhpcy5zaXplfXB4OwogICAgICAgICAgaGVpZ2h0OiAke3RoaXMuc2l6ZX1weDsKICAgICAgICB9CiAgICAgICAgI2xvYWRpbmcuc3VjY2VzcyB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUodGhpcy5ibnc/IiMzMzMiOiIjOGJjMzRhIix0aGlzLmJudz8iI2ZmZiI6IiM4YmMzNGEiKX07CiAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgI2xvYWRpbmcuZXJyb3IgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKHRoaXMuYm53PyIjMzMzIjoiI2U2NGExOSIsdGhpcy5ibnc/IiNmZmYiOiIjZTY0YTE5Iil9OwogICAgICAgIH0KICAgICAgICBkZWVzLWljb24gewogICAgICAgICAgZm9udC1zaXplOiAke3RoaXMuc2l6ZX1weDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9IiR7dGhpcy5zdGF0dXN9IiBpZD0ibG9hZGluZyI+CiAgICAgICAgJHsoKCk9PntpZih0aGlzLnN0YXR1cz09PSJzdWNjZXNzIilyZXR1cm4gd2A8ZGVlcy1pY29uIHN0eWxlPSJ0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMSUpIHRyYW5zbGF0ZVkoMyUpOyIgLmljb249JHsiZmE6Y2lyY2xlLWNoZWNrIn0+PC9kZWVzLWljb24+YDtpZih0aGlzLnN0YXR1cz09PSJlcnJvciIpcmV0dXJuIHdgPGRlZXMtaWNvbiAuaWNvbj0keyJmYTpjaXJjbGUteG1hcmsifT48L2RlZXMtaWNvbj5gfSkoKX0KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpY3toNShyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgajBhPWYoKCk9PntWMGEoKX0pO3ZhciBVMGEsVzBhPWYoKCk9PntsZSgpO19RZSgpO2tmKCk7VTBhPXMoKCk9PndgCiAgICA8c3R5bGU+CiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIH0KCiAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7CiAgICAgIH0KCiAgICAgIC5kZW1vLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5kZW1vLWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjY2IiwiI2FhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuYnV0dG9uLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgIH0KCiAgICAgIC50aGVtZS10b2dnbGUgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDE2cHg7CiAgICAgICAgcmlnaHQ6IDE2cHg7CiAgICAgICAgei1pbmRleDogMTAwOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtYnV0dG9uIGNsYXNzPSJ0aGVtZS10b2dnbGUiIEBjbGlja2VkPSR7KCk9Pntkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoImJyaWdodCIpfX0+VG9nZ2xlIFRoZW1lPC9kZWVzLWJ1dHRvbj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5Ub2FzdCBUeXBlczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPgogICAgICAgICAgRGlmZmVyZW50IHRvYXN0IHR5cGVzIGZvciB2YXJpb3VzIG5vdGlmaWNhdGlvbiBzY2VuYXJpb3MuIENsaWNrIGFueSBidXR0b24gdG8gc2hvdyBhIHRvYXN0LgogICAgICAgIDwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0FhLmluZm8oIlRoaXMgaXMgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIil9fT5JbmZvIFRvYXN0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIiBAY2xpY2tlZD0keygpPT57QWEuc3VjY2VzcygiT3BlcmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkhIil9fT5TdWNjZXNzIFRvYXN0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntBYS53YXJuaW5nKCJQbGVhc2UgcmV2aWV3IGJlZm9yZSBwcm9jZWVkaW5nIil9fT5XYXJuaW5nIFRvYXN0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntBYS5lcnJvcigiQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyIpfX0+RXJyb3IgVG9hc3Q8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5Ub2FzdCBQb3NpdGlvbnM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIFRvYXN0cyBjYW4gYXBwZWFyIGluIGRpZmZlcmVudCBwb3NpdGlvbnMgb24gdGhlIHNjcmVlbi4KICAgICAgICA8L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntBYS5zaG93KHttZXNzYWdlOiJUb3AgUmlnaHQgUG9zaXRpb24iLHR5cGU6ImluZm8iLHBvc2l0aW9uOiJ0b3AtcmlnaHQifSl9fT5Ub3AgUmlnaHQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0FhLnNob3coe21lc3NhZ2U6IlRvcCBMZWZ0IFBvc2l0aW9uIix0eXBlOiJpbmZvIixwb3NpdGlvbjoidG9wLWxlZnQifSl9fT5Ub3AgTGVmdDwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57QWEuc2hvdyh7bWVzc2FnZToiQm90dG9tIFJpZ2h0IFBvc2l0aW9uIix0eXBlOiJpbmZvIixwb3NpdGlvbjoiYm90dG9tLXJpZ2h0In0pfX0+Qm90dG9tIFJpZ2h0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntBYS5zaG93KHttZXNzYWdlOiJCb3R0b20gTGVmdCBQb3NpdGlvbiIsdHlwZToiaW5mbyIscG9zaXRpb246ImJvdHRvbS1sZWZ0In0pfX0+Qm90dG9tIExlZnQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0FhLnNob3coe21lc3NhZ2U6IlRvcCBDZW50ZXIgUG9zaXRpb24iLHR5cGU6ImluZm8iLHBvc2l0aW9uOiJ0b3AtY2VudGVyIn0pfX0+VG9wIENlbnRlcjwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57QWEuc2hvdyh7bWVzc2FnZToiQm90dG9tIENlbnRlciBQb3NpdGlvbiIsdHlwZToiaW5mbyIscG9zaXRpb246ImJvdHRvbS1jZW50ZXIifSl9fT5Cb3R0b20gQ2VudGVyPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+RHVyYXRpb24gT3B0aW9uczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ29udHJvbCBob3cgbG9uZyB0b2FzdHMgc3RheSB2aXNpYmxlLiBEdXJhdGlvbiBpbiBtaWxsaXNlY29uZHMuCiAgICAgICAgPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57QWEuc2hvdyh7bWVzc2FnZToiUXVpY2sgdG9hc3QgKDEgc2Vjb25kKSIsdHlwZToiaW5mbyIsZHVyYXRpb246MWUzfSl9fT4xIFNlY29uZDwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57QWEuc2hvdyh7bWVzc2FnZToiU3RhbmRhcmQgdG9hc3QgKDMgc2Vjb25kcykiLHR5cGU6ImluZm8iLGR1cmF0aW9uOjNlM30pfX0+MyBTZWNvbmRzIChEZWZhdWx0KTwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57QWEuc2hvdyh7bWVzc2FnZToiTG9uZyB0b2FzdCAoNSBzZWNvbmRzKSIsdHlwZToiaW5mbyIsZHVyYXRpb246NWUzfSl9fT41IFNlY29uZHM8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0FhLnNob3coe21lc3NhZ2U6Ik1hbnVhbCBkaXNtaXNzIG9ubHkgKGNsaWNrIHRvIGNsb3NlKSIsdHlwZToid2FybmluZyIsZHVyYXRpb246MH0pfX0+Tm8gQXV0by1EaXNtaXNzPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+TXVsdGlwbGUgVG9hc3RzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBNdWx0aXBsZSB0b2FzdHMgc3RhY2sgYXV0b21hdGljYWxseS4gVGhleSBtYWludGFpbiB0aGVpciBvcmRlciBhbmQgYW5pbWF0ZSBzbW9vdGhseS4KICAgICAgICA8L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntBYS5pbmZvKCJGaXJzdCBub3RpZmljYXRpb24iKSxzZXRUaW1lb3V0KCgpPT5BYS5zdWNjZXNzKCJTZWNvbmQgbm90aWZpY2F0aW9uIiksMjAwKSxzZXRUaW1lb3V0KCgpPT5BYS53YXJuaW5nKCJUaGlyZCBub3RpZmljYXRpb24iKSw0MDApLHNldFRpbWVvdXQoKCk9PkFhLmVycm9yKCJGb3VydGggbm90aWZpY2F0aW9uIiksNjAwKX19PlNob3cgTXVsdGlwbGU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e2ZvcihsZXQgYT0xO2E8PTU7YSsrKXNldFRpbWVvdXQoKCk9PntBYS5zaG93KHttZXNzYWdlOmBOb3RpZmljYXRpb24gIyR7YX1gLHR5cGU6YSUyPT09MD8ic3VjY2VzcyI6ImluZm8iLGR1cmF0aW9uOjJlMythKjUwMH0pfSxhKjEwMCl9fT5SYXBpZCBGaXJlPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+UmVhbC1Xb3JsZCBFeGFtcGxlczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ29tbW9uIHVzZSBjYXNlcyBmb3IgdG9hc3Qgbm90aWZpY2F0aW9ucyBpbiBhcHBsaWNhdGlvbnMuCiAgICAgICAgPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0ke2FzeW5jKCk9PntsZXQgYT1hd2FpdCBBYS5zaG93KHttZXNzYWdlOiJTYXZpbmcgY2hhbmdlcy4uLiIsdHlwZToiaW5mbyIsZHVyYXRpb246MH0pO3NldFRpbWVvdXQoKCk9PnthLmRpc21pc3MoKSxBYS5zdWNjZXNzKCJDaGFuZ2VzIHNhdmVkIHN1Y2Nlc3NmdWxseSEiKX0sMmUzKX19PlNhdmUgT3BlcmF0aW9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntBYS5lcnJvcigiRmFpbGVkIHRvIGNvbm5lY3QgdG8gc2VydmVyLiBQbGVhc2UgY2hlY2sgeW91ciBpbnRlcm5ldCBjb25uZWN0aW9uLiIpfX0+TmV0d29yayBFcnJvcjwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57QWEud2FybmluZygiWW91ciBzZXNzaW9uIHdpbGwgZXhwaXJlIGluIDUgbWludXRlcyIpfX0+U2Vzc2lvbiBXYXJuaW5nPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntBYS5zdWNjZXNzKCJGaWxlIHVwbG9hZGVkIHN1Y2Nlc3NmdWxseSEiKX19PlVwbG9hZCBDb21wbGV0ZTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlByb2dyYW1tYXRpYyBDb250cm9sPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBBZHZhbmNlZCBjb250cm9sIG92ZXIgdG9hc3QgYmVoYXZpb3IuCiAgICAgICAgPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0ke2FzeW5jKCk9PntsZXQgYT1hd2FpdCBBYS5zaG93KHttZXNzYWdlOiJUaGlzIHRvYXN0IGNhbiBiZSBkaXNtaXNzZWQgcHJvZ3JhbW1hdGljYWxseSIsdHlwZToiaW5mbyIsZHVyYXRpb246MH0pO3NldFRpbWVvdXQoKCk9PnthLmRpc21pc3MoKSxBYS5zdWNjZXNzKCJUb2FzdCBkaXNtaXNzZWQgYWZ0ZXIgMiBzZWNvbmRzIil9LDJlMyl9fT5Qcm9ncmFtbWF0aWMgRGlzbWlzczwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57QWEuaW5mbygiSW5mbyBtZXNzYWdlIiwyZTMpLHNldFRpbWVvdXQoKCk9PkFhLnN1Y2Nlc3MoIlN1Y2Nlc3MgbWVzc2FnZSIsMmUzKSw1MDApLHNldFRpbWVvdXQoKCk9PkFhLndhcm5pbmcoIldhcm5pbmcgbWVzc2FnZSIsMmUzKSwxZTMpLHNldFRpbWVvdXQoKCk9PkFhLmVycm9yKCJFcnJvciBtZXNzYWdlIiwyZTMpLDE1MDApfX0+Q29udmVuaWVuY2UgTWV0aG9kczwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciBKVywkYyxBYSxfUWU9ZigoKT0+e2xlKCk7ZWEoKTtHaSgpO1cwYSgpO21zKCk7UWUoKTtKVz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sJGM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEFhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy10b2FzdCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVG9hc3QiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgaz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOk51bWJlcn0pXSx4PVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxKVyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lc3NhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+Im1lc3NhZ2UiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5tZXNzYWdlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MubWVzc2FnZT1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG4sbCksSlcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0eXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJ0eXBlImluIEMsImhhcyIpLGdldDpzKEM9PkMudHlwZSwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnR5cGU9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLEpXKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHVyYXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImR1cmF0aW9uImluIEMsImhhcyIpLGdldDpzKEM9PkMuZHVyYXRpb24sImdldCIpLHNldDpzKChDLE4pPT57Qy5kdXJhdGlvbj1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG0sdiksSlcodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1Zpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImlzVmlzaWJsZSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmlzVmlzaWJsZSwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmlzVmlzaWJsZT1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGIsZyksSlcobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6a30sbnVsbCx0KSx5PXI9ZS52YWx1ZSxrJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KX1zdGF0aWMgZGVtbz1VMGE7c3RhdGljIGRlbW9Hcm91cHM9WyJGZWVkYmFjayIsIk92ZXJsYXkiXTtzdGF0aWMgdG9hc3RDb250YWluZXJzPW5ldyBNYXA7c3RhdGljIGdldE9yQ3JlYXRlQ29udGFpbmVyKGspe2lmKCF0aGlzLnRvYXN0Q29udGFpbmVycy5oYXMoaykpe2xldCBDPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3N3aXRjaChDLmNsYXNzTmFtZT1gdG9hc3QtY29udGFpbmVyIHRvYXN0LWNvbnRhaW5lci0ke2t9YCxDLnN0eWxlLmNzc1RleHQ9YAogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB6LWluZGV4OiAke1BzLm92ZXJsYXkudG9hc3R9OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICBgLGspe2Nhc2UidG9wLXJpZ2h0IjpDLnN0eWxlLnRvcD0iMCIsQy5zdHlsZS5yaWdodD0iMCI7YnJlYWs7Y2FzZSJ0b3AtbGVmdCI6Qy5zdHlsZS50b3A9IjAiLEMuc3R5bGUubGVmdD0iMCI7YnJlYWs7Y2FzZSJib3R0b20tcmlnaHQiOkMuc3R5bGUuYm90dG9tPSIwIixDLnN0eWxlLnJpZ2h0PSIwIjticmVhaztjYXNlImJvdHRvbS1sZWZ0IjpDLnN0eWxlLmJvdHRvbT0iMCIsQy5zdHlsZS5sZWZ0PSIwIjticmVhaztjYXNlInRvcC1jZW50ZXIiOkMuc3R5bGUudG9wPSIwIixDLnN0eWxlLmxlZnQ9IjUwJSIsQy5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVgoLTUwJSkiO2JyZWFrO2Nhc2UiYm90dG9tLWNlbnRlciI6Qy5zdHlsZS5ib3R0b209IjAiLEMuc3R5bGUubGVmdD0iNTAlIixDLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWCgtNTAlKSI7YnJlYWt9ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChDKSx0aGlzLnRvYXN0Q29udGFpbmVycy5zZXQoayxDKX1yZXR1cm4gdGhpcy50b2FzdENvbnRhaW5lcnMuZ2V0KGspfXN0YXRpYyBhc3luYyBzaG93KGspe2xldCBDPXR5cGVvZiBrPT0ic3RyaW5nIj97bWVzc2FnZTprfTprLE49bmV3IHk7cmV0dXJuIE4ubWVzc2FnZT1DLm1lc3NhZ2UsTi50eXBlPUMudHlwZXx8ImluZm8iLE4uZHVyYXRpb249Qy5kdXJhdGlvbnx8M2UzLHRoaXMuZ2V0T3JDcmVhdGVDb250YWluZXIoQy5wb3NpdGlvbnx8InRvcC1yaWdodCIpLmFwcGVuZENoaWxkKE4pLGF3YWl0IE4udXBkYXRlQ29tcGxldGUscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Ti5pc1Zpc2libGU9ITB9KSxOLmR1cmF0aW9uPjAmJnNldFRpbWVvdXQoKCk9PntOLmRpc21pc3MoKX0sTi5kdXJhdGlvbiksTn1zdGF0aWMgYXN5bmMgY3JlYXRlQW5kU2hvdyhrKXtyZXR1cm4gdGhpcy5zaG93KGspfXN0YXRpYyBpbmZvKGssQyl7cmV0dXJuIHRoaXMuc2hvdyh7bWVzc2FnZTprLHR5cGU6ImluZm8iLGR1cmF0aW9uOkN9KX1zdGF0aWMgc3VjY2VzcyhrLEMpe3JldHVybiB0aGlzLnNob3coe21lc3NhZ2U6ayx0eXBlOiJzdWNjZXNzIixkdXJhdGlvbjpDfSl9c3RhdGljIHdhcm5pbmcoayxDKXtyZXR1cm4gdGhpcy5zaG93KHttZXNzYWdlOmssdHlwZToid2FybmluZyIsZHVyYXRpb246Q30pfXN0YXRpYyBlcnJvcihrLEMpe3JldHVybiB0aGlzLnNob3coe21lc3NhZ2U6ayx0eXBlOiJlcnJvciIsZHVyYXRpb246Q30pfSNlPSRjKHRoaXMsbiwiIik7Z2V0IG1lc3NhZ2UoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbWVzc2FnZShrKXt0aGlzLiNlPWt9I3Q9KCRjKHRoaXMsbCksJGModGhpcyxjLCJpbmZvIikpO2dldCB0eXBlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHR5cGUoayl7dGhpcy4jdD1rfSNhPSgkYyh0aGlzLHApLCRjKHRoaXMsbSwzZTMpKTtnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy4jYX1zZXQgZHVyYXRpb24oayl7dGhpcy4jYT1rfSNyPSgkYyh0aGlzLHYpLCRjKHRoaXMsYiwhMSkpO2dldCBpc1Zpc2libGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgaXNWaXNpYmxlKGspe3RoaXMuI3I9a31jb25zdHJ1Y3Rvcigpe3N1cGVyKCksJGModGhpcyxnKSx0ci5zZXR1cCgpfXN0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICB9CgogICAgICA6aG9zdChbaXN2aXNpYmxlXSkgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICB9CgogICAgICAudG9hc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTZweCAyMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZiIsIiMyMjIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMzMzIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggJHtoLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4xKSIsInJnYmEoMCwwLDAsMC4zKSIpfTsKICAgICAgICBtaW4td2lkdGg6IDMwMHB4OwogICAgICAgIG1heC13aWR0aDogNTAwcHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAudG9hc3Q6aG92ZXIgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7CiAgICAgIH0KCiAgICAgIC5pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuaWNvbiBzdmcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmNsb3NlIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7CiAgICAgIH0KCiAgICAgIC5jbG9zZTpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLmNsb3NlIHN2ZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsKICAgICAgfQoKICAgICAgLyogVHlwZS1zcGVjaWZpYyBzdHlsZXMgKi8KICAgICAgOmhvc3QoW3R5cGU9ImluZm8iXSkgLmljb24gewogICAgICAgIGNvbG9yOiAjMDA4NGZmOwogICAgICB9CgogICAgICA6aG9zdChbdHlwZT0ic3VjY2VzcyJdKSAuaWNvbiB7CiAgICAgICAgY29sb3I6ICMyMmM1NWU7CiAgICAgIH0KCiAgICAgIDpob3N0KFt0eXBlPSJ3YXJuaW5nIl0pIC5pY29uIHsKICAgICAgICBjb2xvcjogI2Y1OWUwYjsKICAgICAgfQoKICAgICAgOmhvc3QoW3R5cGU9ImVycm9yIl0pIC5pY29uIHsKICAgICAgICBjb2xvcjogI2VmNDQ0NDsKICAgICAgfQoKICAgICAgLyogUHJvZ3Jlc3MgYmFyICovCiAgICAgIC5wcm9ncmVzcyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogM3B4OwogICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsKICAgICAgICBvcGFjaXR5OiAwLjI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhciB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDsKICAgICAgICBhbmltYXRpb246IHByb2dyZXNzIGxpbmVhciBmb3J3YXJkczsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBwcm9ncmVzcyB7CiAgICAgICAgZnJvbSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICAgICAgICB9CiAgICAgICAgdG8gewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7CiAgICAgICAgfQogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgaz17aW5mbzp3YDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6bTEtMTFhMSAxIDAgMTAtMiAwdjJIN2ExIDEgMCAxMDAgMmgydjJhMSAxIDAgMTAyIDB2LTJoMmExIDEgMCAxMDAtMmgtMlY3eiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDwvc3ZnPmAsc3VjY2Vzczp3YDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6bTMuNzA3LTkuMjkzYTEgMSAwIDAwLTEuNDE0LTEuNDE0TDkgMTAuNTg2IDcuNzA3IDkuMjkzYTEgMSAwIDAwLTEuNDE0IDEuNDE0bDIgMmExIDEgMCAwMDEuNDE0IDBsNC00eiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDwvc3ZnPmAsd2FybmluZzp3YDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTguMjU3IDMuMDk5Yy43NjUtMS4zNiAyLjcyMi0xLjM2IDMuNDg2IDBsNS41OCA5LjkyYy43NSAxLjMzNC0uMjEzIDIuOTgtMS43NDIgMi45OEg0LjQyYy0xLjUzIDAtMi40OTMtMS42NDYtMS43NDMtMi45OGw1LjU4LTkuOTJ6TTExIDEzYTEgMSAwIDExLTIgMCAxIDEgMCAwMTIgMHptLTEtOGExIDEgMCAwMC0xIDF2M2ExIDEgMCAwMDIgMFY2YTEgMSAwIDAwLTEtMXoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8L3N2Zz5gLGVycm9yOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnpNOC43MDcgNy4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRMOC41ODYgMTBsLTEuMjkzIDEuMjkzYTEgMSAwIDEwMS40MTQgMS40MTRMMTAgMTEuNDE0bDEuMjkzIDEuMjkzYTEgMSAwIDAwMS40MTQtMS40MTRMMTEuNDE0IDEwbDEuMjkzLTEuMjkzYTEgMSAwIDAwLTEuNDE0LTEuNDE0TDEwIDguNTg2IDguNzA3IDcuMjkzeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDwvc3ZnPmB9O3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJ0b2FzdCIgQGNsaWNrPSR7dGhpcy5kaXNtaXNzfT4KICAgICAgICA8ZGl2IGNsYXNzPSJpY29uIj4KICAgICAgICAgICR7a1t0aGlzLnR5cGVdfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1lc3NhZ2UiPiR7dGhpcy5tZXNzYWdlfTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNsb3NlIj4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICA8cGF0aCBkPSJNNC42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCA3LjI5M2wyLjY0Ni0yLjY0N2EuNS41IDAgMCAxIC43MDguNzA4TDguNzA3IDhsMi42NDcgMi42NDZhLjUuNSAwIDAgMS0uNzA4LjcwOEw4IDguNzA3bC0yLjY0NiAyLjY0N2EuNS41IDAgMCAxLS43MDgtLjcwOEw3LjI5MyA4IDQuNjQ2IDUuMzU0YS41LjUgMCAwIDEgMC0uNzA4eiIvPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLmR1cmF0aW9uPjA/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIiBzdHlsZT0iYW5pbWF0aW9uLWR1cmF0aW9uOiAke3RoaXMuZHVyYXRpb259bXMiPjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGRpc21pc3MoKXt0aGlzLmlzVmlzaWJsZT0hMSxhd2FpdCBuZXcgUHJvbWlzZShDPT5zZXRUaW1lb3V0KEMsMzAwKSksdGhpcy5yZW1vdmUoKTtsZXQgaz10aGlzLnBhcmVudEVsZW1lbnQ7aWYoayYmay5jaGlsZHJlbi5sZW5ndGg9PT0wKXtrLnJlbW92ZSgpO2ZvcihsZXRbQyxOXW9mIHkudG9hc3RDb250YWluZXJzLmVudHJpZXMoKSlpZihOPT09ayl7eS50b2FzdENvbnRhaW5lcnMuZGVsZXRlKEMpO2JyZWFrfX19Zmlyc3RVcGRhdGVkKCl7dGhpcy5zZXRBdHRyaWJ1dGUoInR5cGUiLHRoaXMudHlwZSl9c3RhdGljeyRjKHIsdCl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciBHMGE9ZigoKT0+e19RZSgpfSk7dmFyIFkwYT1mKCgpPT57QzBhKCk7RDBhKCk7UjBhKCk7SDBhKCk7ajBhKCk7RzBhKCl9KTt2YXIgSzBhPWYoKCk9PntpbSgpfSk7dmFyIFowYT1mKCgpPT57VGYoKX0pO3ZhciBYMGE9ZigoKT0+e0swYSgpO1owYSgpfSk7dmFyIFEwYT1mKCgpPT57U3IoKX0pO3ZhciBKMGE9ZigoKT0+e0xZZSgpfSk7dmFyIGU0YT1mKCgpPT57SFllKCl9KTt2YXIgdDRhPWYoKCk9PntLWWUoKX0pO3ZhciBhNGE9ZigoKT0+e3FZZSgpfSk7dmFyIHI0YT1mKCgpPT57VlllKCl9KTt2YXIgczRhPWYoKCk9PntFWWUoKX0pO3ZhciBpNGE9ZigoKT0+e2lhZSgpfSk7dmFyIG80YT1mKCgpPT57UnNlKCl9KTt2YXIgbjRhPWYoKCk9Pnt9KTt2YXIgbDRhPWYoKCk9PntuNGEoKX0pO3ZhciBjNGE9ZigoKT0+e1VZZSgpfSk7dmFyIGQ0YT1mKCgpPT57R1llKCl9KTt2YXIgdTRhPWYoKCk9PntOc2UoKTtaWGUoKX0pO3ZhciBXc2UscDRhPWYoKCk9PntXc2U9Y2xhc3N7c3RhdGlje3ModGhpcywiSW1hZ2VDcm9wcGVyIil9b3B0aW9ucztjYW52YXM7Y3R4O2ltZztvdmVybGF5Q2FudmFzO292ZXJsYXlDdHg7Y3JvcFg9MDtjcm9wWT0wO2Nyb3BTaXplPTIwMDttaW5Dcm9wU2l6ZT01MDtpc0RyYWdnaW5nPSExO2lzUmVzaXppbmc9ITE7ZHJhZ1N0YXJ0WD0wO2RyYWdTdGFydFk9MDtyZXNpemVIYW5kbGU9IiI7aW1hZ2VTY2FsZT0xO2ltYWdlT2Zmc2V0WD0wO2ltYWdlT2Zmc2V0WT0wO2NvbnN0cnVjdG9yKGUpe3RoaXMub3B0aW9ucz17bWluU2l6ZTo1MCxvdXRwdXRTaXplOjgwMCxvdXRwdXRRdWFsaXR5Oi45NSwuLi5lfSx0aGlzLmNhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSx0aGlzLmN0eD10aGlzLmNhbnZhcy5nZXRDb250ZXh0KCIyZCIpLHRoaXMub3ZlcmxheUNhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSx0aGlzLm92ZXJsYXlDdHg9dGhpcy5vdmVybGF5Q2FudmFzLmdldENvbnRleHQoIjJkIiksdGhpcy5pbWc9bmV3IEltYWdlfWFzeW5jIGluaXRpYWxpemUoKXthd2FpdCB0aGlzLmxvYWRJbWFnZSgpLHRoaXMuc2V0dXBDYW52YXNlcygpLHRoaXMuc2V0dXBFdmVudExpc3RlbmVycygpLHRoaXMucmVuZGVyKCl9YXN5bmMgbG9hZEltYWdlKCl7cmV0dXJuIG5ldyBQcm9taXNlKChlLHQpPT57dGhpcy5pbWcub25sb2FkPSgpPT5lKCksdGhpcy5pbWcub25lcnJvcj10LHRoaXMuaW1nLnNyYz10aGlzLm9wdGlvbnMuaW1hZ2V9KX1zZXR1cENhbnZhc2VzKCl7bGV0IGU9dGhpcy5vcHRpb25zLmNvbnRhaW5lcix0PU1hdGgubWluKGUuY2xpZW50V2lkdGgsZS5jbGllbnRIZWlnaHQpO3RoaXMuY2FudmFzLndpZHRoPXQsdGhpcy5jYW52YXMuaGVpZ2h0PXQsdGhpcy5jYW52YXMuc3R5bGUud2lkdGg9IjEwMCUiLHRoaXMuY2FudmFzLnN0eWxlLmhlaWdodD0iMTAwJSIsdGhpcy5jYW52YXMuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0aGlzLmNhbnZhcy5zdHlsZS50b3A9IjAiLHRoaXMuY2FudmFzLnN0eWxlLmxlZnQ9IjAiLHRoaXMub3ZlcmxheUNhbnZhcy53aWR0aD10LHRoaXMub3ZlcmxheUNhbnZhcy5oZWlnaHQ9dCx0aGlzLm92ZXJsYXlDYW52YXMuc3R5bGUud2lkdGg9IjEwMCUiLHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS50b3A9IjAiLHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS5sZWZ0PSIwIix0aGlzLm92ZXJsYXlDYW52YXMuc3R5bGUuY3Vyc29yPSJtb3ZlIixlLmFwcGVuZENoaWxkKHRoaXMuY2FudmFzKSxlLmFwcGVuZENoaWxkKHRoaXMub3ZlcmxheUNhbnZhcyk7bGV0IHI9TWF0aC5taW4odC90aGlzLmltZy53aWR0aCx0L3RoaXMuaW1nLmhlaWdodCk7dGhpcy5pbWFnZVNjYWxlPXIsdGhpcy5pbWFnZU9mZnNldFg9KHQtdGhpcy5pbWcud2lkdGgqcikvMix0aGlzLmltYWdlT2Zmc2V0WT0odC10aGlzLmltZy5oZWlnaHQqcikvMjtsZXQgaT10aGlzLmltZy53aWR0aCpyLG89dGhpcy5pbWcuaGVpZ2h0KnIsbj1NYXRoLm1pbihpLG8sdCouOCk7dGhpcy5jcm9wU2l6ZT1uKi44LHRoaXMuY3JvcFg9KHQtdGhpcy5jcm9wU2l6ZSkvMix0aGlzLmNyb3BZPSh0LXRoaXMuY3JvcFNpemUpLzJ9c2V0dXBFdmVudExpc3RlbmVycygpe3RoaXMub3ZlcmxheUNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuaGFuZGxlTW91c2VEb3duLmJpbmQodGhpcykpLHRoaXMub3ZlcmxheUNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlTW91c2VNb3ZlLmJpbmQodGhpcykpLHRoaXMub3ZlcmxheUNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZU1vdXNlVXAuYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuaGFuZGxlTW91c2VVcC5iaW5kKHRoaXMpKSx0aGlzLm92ZXJsYXlDYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5oYW5kbGVUb3VjaFN0YXJ0LmJpbmQodGhpcykpLHRoaXMub3ZlcmxheUNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuaGFuZGxlVG91Y2hNb3ZlLmJpbmQodGhpcykpLHRoaXMub3ZlcmxheUNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5oYW5kbGVUb3VjaEVuZC5iaW5kKHRoaXMpKX1oYW5kbGVNb3VzZURvd24oZSl7bGV0IHQ9dGhpcy5vdmVybGF5Q2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHI9KGUuY2xpZW50WC10LmxlZnQpKih0aGlzLm92ZXJsYXlDYW52YXMud2lkdGgvdC53aWR0aCksaT0oZS5jbGllbnRZLXQudG9wKSoodGhpcy5vdmVybGF5Q2FudmFzLmhlaWdodC90LmhlaWdodCksbz10aGlzLmdldFJlc2l6ZUhhbmRsZShyLGkpO28/KHRoaXMuaXNSZXNpemluZz0hMCx0aGlzLnJlc2l6ZUhhbmRsZT1vKTp0aGlzLmlzSW5zaWRlQ3JvcEFyZWEocixpKSYmKHRoaXMuaXNEcmFnZ2luZz0hMCksdGhpcy5kcmFnU3RhcnRYPXIsdGhpcy5kcmFnU3RhcnRZPWl9aGFuZGxlTW91c2VNb3ZlKGUpe2xldCB0PXRoaXMub3ZlcmxheUNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPShlLmNsaWVudFgtdC5sZWZ0KSoodGhpcy5vdmVybGF5Q2FudmFzLndpZHRoL3Qud2lkdGgpLGk9KGUuY2xpZW50WS10LnRvcCkqKHRoaXMub3ZlcmxheUNhbnZhcy5oZWlnaHQvdC5oZWlnaHQpLG89dGhpcy5nZXRSZXNpemVIYW5kbGUocixpKTtpZihvP3RoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS5jdXJzb3I9dGhpcy5nZXRSZXNpemVDdXJzb3Iobyk6dGhpcy5pc0luc2lkZUNyb3BBcmVhKHIsaSk/dGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLmN1cnNvcj0ibW92ZSI6dGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLmN1cnNvcj0iZGVmYXVsdCIsdGhpcy5pc0RyYWdnaW5nKXtsZXQgbj1yLXRoaXMuZHJhZ1N0YXJ0WCxsPWktdGhpcy5kcmFnU3RhcnRZLGQ9dGhpcy5pbWFnZU9mZnNldFgsYz10aGlzLmltYWdlT2Zmc2V0WCt0aGlzLmltZy53aWR0aCp0aGlzLmltYWdlU2NhbGUtdGhpcy5jcm9wU2l6ZSxwPXRoaXMuaW1hZ2VPZmZzZXRZLHU9dGhpcy5pbWFnZU9mZnNldFkrdGhpcy5pbWcuaGVpZ2h0KnRoaXMuaW1hZ2VTY2FsZS10aGlzLmNyb3BTaXplO3RoaXMuY3JvcFg9TWF0aC5tYXgoZCxNYXRoLm1pbihjLHRoaXMuY3JvcFgrbikpLHRoaXMuY3JvcFk9TWF0aC5tYXgocCxNYXRoLm1pbih1LHRoaXMuY3JvcFkrbCkpLHRoaXMuZHJhZ1N0YXJ0WD1yLHRoaXMuZHJhZ1N0YXJ0WT1pLHRoaXMucmVuZGVyKCl9dGhpcy5pc1Jlc2l6aW5nJiYodGhpcy5oYW5kbGVSZXNpemUocixpKSx0aGlzLmRyYWdTdGFydFg9cix0aGlzLmRyYWdTdGFydFk9aSx0aGlzLnJlbmRlcigpKX1oYW5kbGVNb3VzZVVwKCl7dGhpcy5pc0RyYWdnaW5nPSExLHRoaXMuaXNSZXNpemluZz0hMSx0aGlzLnJlc2l6ZUhhbmRsZT0iIn1oYW5kbGVUb3VjaFN0YXJ0KGUpe2UucHJldmVudERlZmF1bHQoKTtsZXQgdD1lLnRvdWNoZXNbMF0scj1uZXcgTW91c2VFdmVudCgibW91c2Vkb3duIix7Y2xpZW50WDp0LmNsaWVudFgsY2xpZW50WTp0LmNsaWVudFl9KTt0aGlzLmhhbmRsZU1vdXNlRG93bihyKX1oYW5kbGVUb3VjaE1vdmUoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCB0PWUudG91Y2hlc1swXSxyPW5ldyBNb3VzZUV2ZW50KCJtb3VzZW1vdmUiLHtjbGllbnRYOnQuY2xpZW50WCxjbGllbnRZOnQuY2xpZW50WX0pO3RoaXMuaGFuZGxlTW91c2VNb3ZlKHIpfWhhbmRsZVRvdWNoRW5kKGUpe2UucHJldmVudERlZmF1bHQoKSx0aGlzLmhhbmRsZU1vdXNlVXAoKX1nZXRSZXNpemVIYW5kbGUoZSx0KXtsZXQgaT17bnc6e3g6dGhpcy5jcm9wWCx5OnRoaXMuY3JvcFl9LG5lOnt4OnRoaXMuY3JvcFgrdGhpcy5jcm9wU2l6ZSx5OnRoaXMuY3JvcFl9LHN3Ont4OnRoaXMuY3JvcFgseTp0aGlzLmNyb3BZK3RoaXMuY3JvcFNpemV9LHNlOnt4OnRoaXMuY3JvcFgrdGhpcy5jcm9wU2l6ZSx5OnRoaXMuY3JvcFkrdGhpcy5jcm9wU2l6ZX19O2ZvcihsZXRbbyxuXW9mIE9iamVjdC5lbnRyaWVzKGkpKWlmKE1hdGguYWJzKGUtbi54KTwyMCYmTWF0aC5hYnModC1uLnkpPDIwKXJldHVybiBvO3JldHVybiIifWdldFJlc2l6ZUN1cnNvcihlKXtyZXR1cm57bnc6Im53LXJlc2l6ZSIsbmU6Im5lLXJlc2l6ZSIsc3c6InN3LXJlc2l6ZSIsc2U6InNlLXJlc2l6ZSJ9W2VdfHwiZGVmYXVsdCJ9aXNJbnNpZGVDcm9wQXJlYShlLHQpe3JldHVybiBlPj10aGlzLmNyb3BYJiZlPD10aGlzLmNyb3BYK3RoaXMuY3JvcFNpemUmJnQ+PXRoaXMuY3JvcFkmJnQ8PXRoaXMuY3JvcFkrdGhpcy5jcm9wU2l6ZX1oYW5kbGVSZXNpemUoZSx0KXtsZXQgcj1lLXRoaXMuZHJhZ1N0YXJ0WCxpPXQtdGhpcy5kcmFnU3RhcnRZLG89dGhpcy5pbWFnZU9mZnNldFgsbj10aGlzLmltYWdlT2Zmc2V0WSxsPXRoaXMuaW1hZ2VPZmZzZXRYK3RoaXMuaW1nLndpZHRoKnRoaXMuaW1hZ2VTY2FsZSxkPXRoaXMuaW1hZ2VPZmZzZXRZK3RoaXMuaW1nLmhlaWdodCp0aGlzLmltYWdlU2NhbGU7c3dpdGNoKHRoaXMucmVzaXplSGFuZGxlKXtjYXNlInNlIjp0aGlzLmNyb3BTaXplPU1hdGgubWF4KHRoaXMubWluQ3JvcFNpemUsTWF0aC5taW4odGhpcy5jcm9wU2l6ZStNYXRoLm1heChyLGkpLE1hdGgubWluKGwtdGhpcy5jcm9wWCxkLXRoaXMuY3JvcFkpKSk7YnJlYWs7Y2FzZSJudyI6bGV0IGM9TWF0aC5tYXgodGhpcy5taW5Dcm9wU2l6ZSx0aGlzLmNyb3BTaXplLU1hdGgubWF4KHIsaSkpLHA9dGhpcy5jcm9wU2l6ZS1jLHU9dGhpcy5jcm9wWCtwLG09dGhpcy5jcm9wWStwO3U+PW8mJm0+PW4mJih0aGlzLmNyb3BYPXUsdGhpcy5jcm9wWT1tLHRoaXMuY3JvcFNpemU9Yyk7YnJlYWs7Y2FzZSJuZSI6bGV0IHY9TWF0aC5tYXgociwtaSkseD1NYXRoLm1heCh0aGlzLm1pbkNyb3BTaXplLHRoaXMuY3JvcFNpemUrdiksYj14LXRoaXMuY3JvcFNpemUsZz10aGlzLmNyb3BZLWI7Zz49biYmdGhpcy5jcm9wWCt4PD1sJiYodGhpcy5jcm9wWT1nLHRoaXMuY3JvcFNpemU9eCk7YnJlYWs7Y2FzZSJzdyI6bGV0IHk9TWF0aC5tYXgoLXIsaSksaz1NYXRoLm1heCh0aGlzLm1pbkNyb3BTaXplLHRoaXMuY3JvcFNpemUreSksQz1rLXRoaXMuY3JvcFNpemUsTj10aGlzLmNyb3BYLUM7Tj49byYmdGhpcy5jcm9wWStrPD1kJiYodGhpcy5jcm9wWD1OLHRoaXMuY3JvcFNpemU9ayk7YnJlYWt9fXJlbmRlcigpe3RoaXMuY3R4LmNsZWFyUmVjdCgwLDAsdGhpcy5jYW52YXMud2lkdGgsdGhpcy5jYW52YXMuaGVpZ2h0KSx0aGlzLm92ZXJsYXlDdHguY2xlYXJSZWN0KDAsMCx0aGlzLm92ZXJsYXlDYW52YXMud2lkdGgsdGhpcy5vdmVybGF5Q2FudmFzLmhlaWdodCksdGhpcy5jdHguZmlsbFN0eWxlPSIjMDAwMDAwIix0aGlzLmN0eC5maWxsUmVjdCgwLDAsdGhpcy5jYW52YXMud2lkdGgsdGhpcy5jYW52YXMuaGVpZ2h0KSx0aGlzLmN0eC5kcmF3SW1hZ2UodGhpcy5pbWcsdGhpcy5pbWFnZU9mZnNldFgsdGhpcy5pbWFnZU9mZnNldFksdGhpcy5pbWcud2lkdGgqdGhpcy5pbWFnZVNjYWxlLHRoaXMuaW1nLmhlaWdodCp0aGlzLmltYWdlU2NhbGUpLHRoaXMub3ZlcmxheUN0eC5maWxsU3R5bGU9InJnYmEoMCwgMCwgMCwgMC41KSIsdGhpcy5vdmVybGF5Q3R4LmZpbGxSZWN0KHRoaXMuaW1hZ2VPZmZzZXRYLHRoaXMuaW1hZ2VPZmZzZXRZLHRoaXMuaW1nLndpZHRoKnRoaXMuaW1hZ2VTY2FsZSx0aGlzLmltZy5oZWlnaHQqdGhpcy5pbWFnZVNjYWxlKSx0aGlzLm92ZXJsYXlDdHguc2F2ZSgpLHRoaXMub3B0aW9ucy5zaGFwZT09PSJyb3VuZCI/KHRoaXMub3ZlcmxheUN0eC5iZWdpblBhdGgoKSx0aGlzLm92ZXJsYXlDdHguYXJjKHRoaXMuY3JvcFgrdGhpcy5jcm9wU2l6ZS8yLHRoaXMuY3JvcFkrdGhpcy5jcm9wU2l6ZS8yLHRoaXMuY3JvcFNpemUvMiwwLE1hdGguUEkqMiksdGhpcy5vdmVybGF5Q3R4LmNsaXAoKSk6KHRoaXMub3ZlcmxheUN0eC5iZWdpblBhdGgoKSx0aGlzLm92ZXJsYXlDdHgucmVjdCh0aGlzLmNyb3BYLHRoaXMuY3JvcFksdGhpcy5jcm9wU2l6ZSx0aGlzLmNyb3BTaXplKSx0aGlzLm92ZXJsYXlDdHguY2xpcCgpKSx0aGlzLm92ZXJsYXlDdHguY2xlYXJSZWN0KDAsMCx0aGlzLm92ZXJsYXlDYW52YXMud2lkdGgsdGhpcy5vdmVybGF5Q2FudmFzLmhlaWdodCksdGhpcy5vdmVybGF5Q3R4LnJlc3RvcmUoKSx0aGlzLm92ZXJsYXlDdHguc3Ryb2tlU3R5bGU9IndoaXRlIix0aGlzLm92ZXJsYXlDdHgubGluZVdpZHRoPTIsdGhpcy5vcHRpb25zLnNoYXBlPT09InJvdW5kIj8odGhpcy5vdmVybGF5Q3R4LmJlZ2luUGF0aCgpLHRoaXMub3ZlcmxheUN0eC5hcmModGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLzIsdGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplLzIsdGhpcy5jcm9wU2l6ZS8yLDAsTWF0aC5QSSoyKSx0aGlzLm92ZXJsYXlDdHguc3Ryb2tlKCkpOnRoaXMub3ZlcmxheUN0eC5zdHJva2VSZWN0KHRoaXMuY3JvcFgsdGhpcy5jcm9wWSx0aGlzLmNyb3BTaXplLHRoaXMuY3JvcFNpemUpLHRoaXMuZHJhd1Jlc2l6ZUhhbmRsZXMoKX1kcmF3UmVzaXplSGFuZGxlcygpe2xldCB0PVt7eDp0aGlzLmNyb3BYLHk6dGhpcy5jcm9wWX0se3g6dGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLHk6dGhpcy5jcm9wWX0se3g6dGhpcy5jcm9wWCx5OnRoaXMuY3JvcFkrdGhpcy5jcm9wU2l6ZX0se3g6dGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLHk6dGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplfV07dGhpcy5vdmVybGF5Q3R4LmZpbGxTdHlsZT0id2hpdGUiLHQuZm9yRWFjaChyPT57dGhpcy5vdmVybGF5Q3R4LmJlZ2luUGF0aCgpLHRoaXMub3ZlcmxheUN0eC5hcmMoci54LHIueSw4LDAsTWF0aC5QSSoyKSx0aGlzLm92ZXJsYXlDdHguZmlsbCgpfSl9YXN5bmMgZ2V0Q3JvcHBlZEltYWdlKCl7bGV0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksdD1lLmdldENvbnRleHQoIjJkIikscj0xL3RoaXMuaW1hZ2VTY2FsZSxpPXRoaXMuY3JvcFNpemUqcixvPXRoaXMub3B0aW9ucy5vdXRwdXRTaXplO28+aSYmY29uc29sZS5pbmZvKGBQcm9maWxlIHBpY3R1cmU6IFVwc2NhbGluZyBmcm9tICR7TWF0aC5yb3VuZChpKX1weCB0byAke299cHhgKSxlLndpZHRoPW8sZS5oZWlnaHQ9bztsZXQgbj0odGhpcy5jcm9wWC10aGlzLmltYWdlT2Zmc2V0WCkqcixsPSh0aGlzLmNyb3BZLXRoaXMuaW1hZ2VPZmZzZXRZKSpyLGQ9dGhpcy5jcm9wU2l6ZSpyO3RoaXMub3B0aW9ucy5zaGFwZT09PSJyb3VuZCImJih0LmJlZ2luUGF0aCgpLHQuYXJjKG8vMixvLzIsby8yLDAsTWF0aC5QSSoyKSx0LmNsaXAoKSksdC5pbWFnZVNtb290aGluZ0VuYWJsZWQ9ITAsdC5pbWFnZVNtb290aGluZ1F1YWxpdHk9ImhpZ2giLHQuZHJhd0ltYWdlKHRoaXMuaW1nLG4sbCxkLGQsMCwwLG8sbyk7bGV0IHA9dGhpcy5vcHRpb25zLmltYWdlLmluY2x1ZGVzKCJpbWFnZS9wbmciKT8iaW1hZ2UvcG5nIjoiaW1hZ2UvanBlZyI7cmV0dXJuIGUudG9EYXRhVVJMKHAsdGhpcy5vcHRpb25zLm91dHB1dFF1YWxpdHkpfWRlc3Ryb3koKXt0aGlzLmNhbnZhcy5yZW1vdmUoKSx0aGlzLm92ZXJsYXlDYW52YXMucmVtb3ZlKCl9fX0pO3ZhciBJNCxzbyxUUWUsZjRhPWYoKCk9PntsZSgpO0wxKCk7bXMoKTtHaSgpO3ZhKCk7a2YoKTtNMSgpO00xKCk7cDRhKCk7UWUoKTtJND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sc289ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFRRZT0oKCk9PntsZXQgYT1baWUoImRlZXMtcHJvZmlsZXBpY3R1cmUtbW9kYWwiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXTt2YXIgQj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiUHJvZmlsZVBpY3R1cmVNb2RhbCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6TnVtYmVyfSldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEk0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5pdGlhbEltYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJpbml0aWFsSW1hZ2UiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5pbml0aWFsSW1hZ2UsImdldCIpLHNldDpzKChTLEUpPT57Uy5pbml0aWFsSW1hZ2U9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxuLGwpLEk0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hhcGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InNoYXBlImluIFMsImhhcyIpLGdldDpzKFM9PlMuc2hhcGUsImdldCIpLHNldDpzKChTLEUpPT57Uy5zaGFwZT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGMscCksSTQodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvdXRwdXRTaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJvdXRwdXRTaXplImluIFMsImhhcyIpLGdldDpzKFM9PlMub3V0cHV0U2l6ZSwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLm91dHB1dFNpemU9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxtLHYpLEk0KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3V0cHV0UXVhbGl0eSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ib3V0cHV0UXVhbGl0eSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLm91dHB1dFF1YWxpdHksImdldCIpLHNldDpzKChTLEUpPT57Uy5vdXRwdXRRdWFsaXR5PUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixnKSxJNCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRTdGVwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjdXJyZW50U3RlcCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmN1cnJlbnRTdGVwLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MuY3VycmVudFN0ZXA9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxrLEMpLEk0KHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JvcHBlZEltYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjcm9wcGVkSW1hZ2UiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5jcm9wcGVkSW1hZ2UsImdldCIpLHNldDpzKChTLEUpPT57Uy5jcm9wcGVkSW1hZ2U9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLEk0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNQcm9jZXNzaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJpc1Byb2Nlc3NpbmciaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5pc1Byb2Nlc3NpbmcsImdldCIpLHNldDpzKChTLEUpPT57Uy5pc1Byb2Nlc3Npbmc9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxULFApLEk0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9I2U9c28odGhpcyxuLCIiKTtnZXQgaW5pdGlhbEltYWdlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGluaXRpYWxJbWFnZShNKXt0aGlzLiNlPU19I3Q9KHNvKHRoaXMsbCksc28odGhpcyxjLCJyb3VuZCIpKTtnZXQgc2hhcGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2hhcGUoTSl7dGhpcy4jdD1NfSNhPShzbyh0aGlzLHApLHNvKHRoaXMsbSw4MDApKTtnZXQgb3V0cHV0U2l6ZSgpe3JldHVybiB0aGlzLiNhfXNldCBvdXRwdXRTaXplKE0pe3RoaXMuI2E9TX0jcj0oc28odGhpcyx2KSxzbyh0aGlzLGIsLjk1KSk7Z2V0IG91dHB1dFF1YWxpdHkoKXtyZXR1cm4gdGhpcy4jcn1zZXQgb3V0cHV0UXVhbGl0eShNKXt0aGlzLiNyPU19I3M9KHNvKHRoaXMsZyksc28odGhpcyxrLCJjcm9wIikpO2dldCBjdXJyZW50U3RlcCgpe3JldHVybiB0aGlzLiNzfXNldCBjdXJyZW50U3RlcChNKXt0aGlzLiNzPU19I2k9KHNvKHRoaXMsQyksc28odGhpcyxfLCIiKSk7Z2V0IGNyb3BwZWRJbWFnZSgpe3JldHVybiB0aGlzLiNpfXNldCBjcm9wcGVkSW1hZ2UoTSl7dGhpcy4jaT1NfSNvPShzbyh0aGlzLHopLHNvKHRoaXMsVCwhMSkpO2dldCBpc1Byb2Nlc3NpbmcoKXtyZXR1cm4gdGhpcy4jb31zZXQgaXNQcm9jZXNzaW5nKE0pe3RoaXMuI289TX1jcm9wcGVyPShzbyh0aGlzLFApLG51bGwpO3dpbmRvd0xheWVyO3pJbmRleD0wO3N0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNmZmYiKX07CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleCk7CiAgICAgIH0KCiAgICAgIC5tb2RhbC1jb250YWluZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzBhMGEwYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDgpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSIpfTsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCAyMHB4IDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMTBweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjA0KSIsIjAgMjBweCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDEwcHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSIpfTsKICAgICAgICB3aWR0aDogNDgwcHg7CiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpIHNjYWxlKDAuOTgpOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgYW5pbWF0aW9uOiBtb2RhbFNob3cgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSBmb3J3YXJkczsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBtb2RhbFNob3cgewogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgxKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5tb2RhbC1oZWFkZXIgewogICAgICAgIGhlaWdodDogNTJweDsKICAgICAgICBwYWRkaW5nOiAwIDIwcHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAubW9kYWwtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5jbG9zZS1idXR0b24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMTBweDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuY2xvc2UtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNsb3NlLWJ1dHRvbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDgpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSIpfTsKICAgICAgfQoKICAgICAgLm1vZGFsLWJvZHkgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMjBweDsKICAgICAgfQoKICAgICAgLmNyb3BwZXItY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDM2MHB4OwogICAgICAgIGFzcGVjdC1yYXRpbzogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjMDAwMDAwIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNikiLCJpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICB9CgogICAgICAucHJldmlldy1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMjBweDsKICAgICAgfQoKICAgICAgLnByZXZpZXctaW1hZ2UgewogICAgICAgIHdpZHRoOiAxODBweDsKICAgICAgICBoZWlnaHQ6IDE4MHB4OwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCAxMHB4IDE1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgNHB4IDZweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSkiLCIwIDEwcHggMTVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4zKSwgMCA0cHggNnB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICB9CgogICAgICAucHJldmlldy1pbWFnZS5yb3VuZCB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICB9CgogICAgICAucHJldmlldy1pbWFnZS5zcXVhcmUgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zdWNjZXNzLW1lc3NhZ2UgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTBiOTgxIiwiIzEwYjk4MSIpfTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgYW5pbWF0aW9uOiBzdWNjZXNzUHVsc2UgMC40cyBlYXNlLW91dDsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzdWNjZXNzUHVsc2UgewogICAgICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjkpOyBvcGFjaXR5OiAwOyB9CiAgICAgICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsgfQogICAgICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9CiAgICAgIH0KCiAgICAgIC5tb2RhbC1mb290ZXIgewogICAgICAgIHBhZGRpbmc6IDIwcHggMjRweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNikiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgIH0KCiAgICAgIC5pbnN0cnVjdGlvbnMgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIG1heC13aWR0aDogMzIwcHg7CiAgICAgIH0KCiAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjEpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDAuNnMgbGluZWFyIGluZmluaXRlOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIHRvIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAubW9kYWwtY29udGFpbmVyIHsKICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7CiAgICAgICAgICBtYXJnaW46IDE2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5tb2RhbC1ib2R5IHsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgfQogICAgICB9CiAgICBgXTthc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy53aW5kb3dMYXllcj1hd2FpdCBHcy5jcmVhdGVBbmRTaG93KHtibHVyOiEwfSksdGhpcy53aW5kb3dMYXllci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnRoaXMuY2xvc2UoKSksdGhpcy56SW5kZXg9WHQuZ2V0TmV4dFpJbmRleCgpLHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoIi0tei1pbmRleCIsdGhpcy56SW5kZXgudG9TdHJpbmcoKSksWHQucmVnaXN0ZXIodGhpcyx0aGlzLnpJbmRleCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuY3JvcHBlciYmdGhpcy5jcm9wcGVyLmRlc3Ryb3koKSx0aGlzLndpbmRvd0xheWVyJiZhd2FpdCB0aGlzLndpbmRvd0xheWVyLmRlc3Ryb3koKSxYdC51bnJlZ2lzdGVyKHRoaXMpfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1jb250YWluZXIiIEBjbGljaz0ke009Pk0uc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+CiAgICAgICAgICA8aDMgY2xhc3M9Im1vZGFsLXRpdGxlIj4KICAgICAgICAgICAgJHt0aGlzLmN1cnJlbnRTdGVwPT09ImNyb3AiPyJBZGp1c3QgSW1hZ2UiOiJTdWNjZXNzIn0KICAgICAgICAgIDwvaDM+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjbG9zZS1idXR0b24iIEBjbGljaz0ke3RoaXMuY2xvc2V9IHRpdGxlPSJDbG9zZSI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOngiIGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4KICAgICAgICAgICR7dGhpcy5jdXJyZW50U3RlcD09PSJjcm9wIj93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnN0cnVjdGlvbnMiPgogICAgICAgICAgICAgIFBvc2l0aW9uIGFuZCByZXNpemUgdGhlIHNxdWFyZSB0byBzZWxlY3QgeW91ciBwcm9maWxlIGFyZWEKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNyb3BwZXItY29udGFpbmVyIiBpZD0iY3JvcHBlckNvbnRhaW5lciI+PC9kaXY+CiAgICAgICAgICBgOndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctY29udGFpbmVyIj4KICAgICAgICAgICAgICAke3RoaXMuaXNQcm9jZXNzaW5nP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5zdHJ1Y3Rpb25zIj5TYXZpbmcuLi48L2Rpdj4KICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICA8aW1nIAogICAgICAgICAgICAgICAgICBjbGFzcz0icHJldmlldy1pbWFnZSAke3RoaXMuc2hhcGV9IiAKICAgICAgICAgICAgICAgICAgc3JjPSIke3RoaXMuY3JvcHBlZEltYWdlfSIgCiAgICAgICAgICAgICAgICAgIGFsdD0iQ3JvcHBlZCBwcmV2aWV3IgogICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Y2Nlc3MtbWVzc2FnZSI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOmNoZWNrIiBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICA8c3Bhbj5Mb29raW5nIGdvb2QhPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfQogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+CiAgICAgICAgICAke3RoaXMuY3VycmVudFN0ZXA9PT0iY3JvcCI/d2AKICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIiBzaXplPSJzbSIgQGNsaWNrPSR7dGhpcy5jbG9zZX0+CiAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkZWZhdWx0IiBzaXplPSJzbSIgQGNsaWNrPSR7dGhpcy5oYW5kbGVDcm9wfT4KICAgICAgICAgICAgICBTYXZlCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5jdXJyZW50U3RlcD09PSJjcm9wIiYmYXdhaXQgdGhpcy5pbml0aWFsaXplQ3JvcHBlcigpfWFzeW5jIGluaXRpYWxpemVDcm9wcGVyKCl7YXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgTT10aGlzLnNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoImNyb3BwZXJDb250YWluZXIiKTtNJiYodGhpcy5jcm9wcGVyPW5ldyBXc2Uoe2NvbnRhaW5lcjpNLGltYWdlOnRoaXMuaW5pdGlhbEltYWdlLHNoYXBlOnRoaXMuc2hhcGUsYXNwZWN0UmF0aW86MSxvdXRwdXRTaXplOnRoaXMub3V0cHV0U2l6ZSxvdXRwdXRRdWFsaXR5OnRoaXMub3V0cHV0UXVhbGl0eX0pLGF3YWl0IHRoaXMuY3JvcHBlci5pbml0aWFsaXplKCkpfWFzeW5jIGhhbmRsZUNyb3AoKXtpZih0aGlzLmNyb3BwZXIpdHJ5e3RoaXMuaXNQcm9jZXNzaW5nPSEwLHRoaXMuY3VycmVudFN0ZXA9InByZXZpZXciLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7bGV0IE09YXdhaXQgdGhpcy5jcm9wcGVyLmdldENyb3BwZWRJbWFnZSgpO3RoaXMuY3JvcHBlZEltYWdlPU0sYXdhaXQgbmV3IFByb21pc2UoUz0+c2V0VGltZW91dChTLDgwMCkpLHRoaXMuaXNQcm9jZXNzaW5nPSExLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNhdmUiLHtkZXRhaWw6e2Nyb3BwZWRJbWFnZTp0aGlzLmNyb3BwZWRJbWFnZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSxzZXRUaW1lb3V0KCgpPT57dGhpcy5jbG9zZSgpfSwxNTAwKX1jYXRjaChNKXtjb25zb2xlLmVycm9yKCJFcnJvciBjcm9wcGluZyBpbWFnZToiLE0pLHRoaXMuaXNQcm9jZXNzaW5nPSExfX1jbG9zZSgpe3RoaXMucmVtb3ZlKCl9c3RhdGlje3NvKHIsdCl9fTtyZXR1cm4gQj1yfSkoKX0pO3ZhciBoNGEsbTRhPWYoKCk9PntsZSgpO05hKCk7WXMoKTtMUWUoKTtoNGE9cygoKT0+d2AKICA8c3R5bGU+CiAgICAke1hgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0OHB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1vdXRwdXQgewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEwNSwgMjQyLCAwLjEpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQogICAgICAKICAgICAgLmZlYXR1cmUtbGlzdCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5mZWF0dXJlLWxpc3QgbGkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmVbc2hhcGU9InJvdW5kIl0nKTtlJiZlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHQ9PntsZXQgcj10LnRhcmdldDtjb25zb2xlLmxvZygiUm91bmQgcHJvZmlsZSBwaWN0dXJlIGNoYW5nZWQ6IixyLnZhbHVlPy5zdWJzdHJpbmcoMCw1MCkrIi4uLiIpfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJQcm9maWxlIFBpY3R1cmUgSW5wdXQifSAuc3VidGl0bGU9JHsiQmFzaWMgdXNhZ2Ugd2l0aCByb3VuZCBhbmQgc3F1YXJlIHNoYXBlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJQcm9maWxlIFBpY3R1cmUgKFJvdW5kKSIKICAgICAgICAgICAgZGVzY3JpcHRpb249IkNsaWNrIHRvIHVwbG9hZCBvciBkcmFnICYgZHJvcCBhbiBpbWFnZSIKICAgICAgICAgICAgc2hhcGU9InJvdW5kIgogICAgICAgICAgICBzaXplPSIxMjAiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBsYWJlbD0iUHJvZmlsZSBQaWN0dXJlIChTcXVhcmUpIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iU3VwcG9ydHMgSlBFRywgUE5HLCBhbmQgV2ViUCBmb3JtYXRzIgogICAgICAgICAgICBzaGFwZT0ic3F1YXJlIgogICAgICAgICAgICBzaXplPSIxMjAiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZSIpLmZvckVhY2godD0+e3QuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwocj0+e2xldCBpPXIudGFyZ2V0O2NvbnNvbGUubG9nKGBQcm9maWxlIChzaXplICR7aS5zaXplfSkgY2hhbmdlZGApfSkpfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlNpemUgVmFyaWF0aW9ucyJ9IC5zdWJ0aXRsZT0keyJQcm9maWxlIHBpY3R1cmVzIGluIGRpZmZlcmVudCBzaXplcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJTbWFsbCAoODBweCkiCiAgICAgICAgICAgIHNoYXBlPSJyb3VuZCIKICAgICAgICAgICAgc2l6ZT0iODAiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBsYWJlbD0iTWVkaXVtICgxMjBweCkiCiAgICAgICAgICAgIHNoYXBlPSJyb3VuZCIKICAgICAgICAgICAgc2l6ZT0iMTIwIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZT4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmUKICAgICAgICAgICAgbGFiZWw9IkxhcmdlICgxNjBweCkiCiAgICAgICAgICAgIHNoYXBlPSJyb3VuZCIKICAgICAgICAgICAgc2l6ZT0iMTYwIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTWpBd0lpQm9aV2xuYUhROUlqSXdNQ0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajRLSUNBOFpHVm1jejRLSUNBZ0lEeHNhVzVsWVhKSGNtRmthV1Z1ZENCcFpEMGlaM0poWkdsbGJuUWlJSGd4UFNJd0pTSWdlVEU5SWpBbElpQjRNajBpTVRBd0pTSWdlVEk5SWpFd01DVWlQZ29nSUNBZ0lDQThjM1J2Y0NCdlptWnpaWFE5SWpBbElpQnpkRzl3TFdOdmJHOXlQU0lqTmpZM1pXVmhJaUF2UGdvZ0lDQWdJQ0E4YzNSdmNDQnZabVp6WlhROUlqRXdNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTTNOalJpWVRJaUlDOCtDaUFnSUNBOEwyeHBibVZoY2tkeVlXUnBaVzUwUGdvZ0lEd3ZaR1ZtY3o0S0lDQThjbVZqZENCM2FXUjBhRDBpTWpBd0lpQm9aV2xuYUhROUlqSXdNQ0lnWm1sc2JEMGlkWEpzS0NObmNtRmthV1Z1ZENraUlDOCtDaUFnUEhSbGVIUWdlRDBpTlRBbElpQjVQU0kxTUNVaUlHUnZiV2x1WVc1MExXSmhjMlZzYVc1bFBTSnRhV1JrYkdVaUlIUmxlSFF0WVc1amFHOXlQU0p0YVdSa2JHVWlJR1p2Ym5RdFptRnRhV3g1UFNKQmNtbGhiQ0lnWm05dWRDMXphWHBsUFNJNE1DSWdabWxzYkQwaWQyaHBkR1VpUGtwRVBDOTBaWGgwUGdvOEwzTjJaejQ9Iix0PWEucXVlcnlTZWxlY3RvcigiI3ByZWZpbGxlZC1wcm9maWxlIik7dCYmKHQudmFsdWU9ZSx0LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHI9PntsZXQgaT1yLnRhcmdldCxvPWEucXVlcnlTZWxlY3RvcigiI3ByZWZpbGxlZC1vdXRwdXQiKTtvJiYoby50ZXh0Q29udGVudD1pLnZhbHVlP2BJbWFnZSBkYXRhOiAke2kudmFsdWUuc3Vic3RyaW5nKDAsODApfS4uLmA6Ik5vIGltYWdlIHNlbGVjdGVkIil9KSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJQcmUtZmlsbGVkIGFuZCBWYWx1ZSBCaW5kaW5nIn0gLnN1YnRpdGxlPSR7IlByb2ZpbGUgcGljdHVyZSB3aXRoIGluaXRpYWwgdmFsdWUgYW5kIGNoYW5nZSB0cmFja2luZyJ9PgogICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICBpZD0icHJlZmlsbGVkLXByb2ZpbGUiCiAgICAgICAgICBsYWJlbD0iRWRpdCBFeGlzdGluZyBQcm9maWxlIgogICAgICAgICAgZGVzY3JpcHRpb249IkNsaWNrIHRoZSBlZGl0IGJ1dHRvbiB0byBjaGFuZ2Ugb3IgZGVsZXRlIHRvIHJlbW92ZSIKICAgICAgICAgIHNoYXBlPSJyb3VuZCIKICAgICAgICAgIHNpemU9IjE1MCIKICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgIAogICAgICAgIDxkaXYgaWQ9InByZWZpbGxlZC1vdXRwdXQiIGNsYXNzPSJkZW1vLW91dHB1dCI+CiAgICAgICAgICBJbWFnZSBkYXRhIHdpbGwgYXBwZWFyIGhlcmUgd2hlbiBjaGFuZ2VkCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCIjZGlzYWJsZWQtcHJvZmlsZSIpO2UmJihlLnZhbHVlPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNakF3SWlCb1pXbG5hSFE5SWpJd01DSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtJQ0E4Y21WamRDQjNhV1IwYUQwaU1qQXdJaUJvWldsbmFIUTlJakl3TUNJZ1ptbHNiRDBpSTJOalkyTmpZeUlnTHo0S0lDQThkR1Y0ZENCNFBTSTFNQ1VpSUhrOUlqVXdKU0lnWkc5dGFXNWhiblF0WW1GelpXeHBibVU5SW0xcFpHUnNaU0lnZEdWNGRDMWhibU5vYjNJOUltMXBaR1JzWlNJZ1ptOXVkQzFtWVcxcGJIazlJa0Z5YVdGc0lpQm1iMjUwTFhOcGVtVTlJall3SWlCbWFXeHNQU0ozYUdsMFpTSStUa0U4TDNSbGVIUStDand2YzNablBnPT0iKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRm9ybSBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHN0YXRlcyBhbmQgY29uZmlndXJhdGlvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXJvdyI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBsYWJlbD0iUmVxdWlyZWQgRmllbGQiCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkIgogICAgICAgICAgICBzaGFwZT0icm91bmQiCiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZT4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmUKICAgICAgICAgICAgaWQ9ImRpc2FibGVkLXByb2ZpbGUiCiAgICAgICAgICAgIGxhYmVsPSJEaXNhYmxlZCBTdGF0ZSIKICAgICAgICAgICAgZGVzY3JpcHRpb249IkNhbm5vdCBiZSBlZGl0ZWQiCiAgICAgICAgICAgIHNoYXBlPSJzcXVhcmUiCiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZT4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmUKICAgICAgICAgICAgbGFiZWw9IlVwbG9hZCBPbmx5IgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iRGVsZXRlIG5vdCBhbGxvd2VkIgogICAgICAgICAgICBzaGFwZT0icm91bmQiCiAgICAgICAgICAgIC5hbGxvd0RlbGV0ZT0keyExfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRmVhdHVyZXMifSAuc3VidGl0bGU9JHsiQ29tcGxldGUgZmVhdHVyZSBzZXQgb2YgdGhlIHByb2ZpbGUgcGljdHVyZSBpbnB1dCJ9PgogICAgICAgIDx1bCBjbGFzcz0iZmVhdHVyZS1saXN0Ij4KICAgICAgICAgIDxsaT48c3Ryb25nPkltYWdlIFVwbG9hZDo8L3N0cm9uZz4gQ2xpY2sgdG8gdXBsb2FkIG9yIGRyYWcgJiBkcm9wIGltYWdlczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5JbWFnZSBDcm9wcGluZzo8L3N0cm9uZz4gSW50ZXJhY3RpdmUgY3JvcCB0b29sIHdpdGggcmVzaXplIGhhbmRsZXM8L2xpPgogICAgICAgICAgPGxpPjxzdHJvbmc+U2hhcGUgU3VwcG9ydDo8L3N0cm9uZz4gUm91bmQgb3Igc3F1YXJlIHByb2ZpbGUgcGljdHVyZXM8L2xpPgogICAgICAgICAgPGxpPjxzdHJvbmc+U2l6ZSBDdXN0b21pemF0aW9uOjwvc3Ryb25nPiBBZGp1c3RhYmxlIGRpbWVuc2lvbnM8L2xpPgogICAgICAgICAgPGxpPjxzdHJvbmc+UHJldmlldyAmIEVkaXQ6PC9zdHJvbmc+IEhvdmVyIG92ZXJsYXkgd2l0aCBlZGl0IGFuZCBkZWxldGUgb3B0aW9uczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5GaWxlIFZhbGlkYXRpb246PC9zdHJvbmc+IEZvcm1hdCBhbmQgc2l6ZSByZXN0cmljdGlvbnM8L2xpPgogICAgICAgICAgPGxpPjxzdHJvbmc+UmVzcG9uc2l2ZSBEZXNpZ246PC9zdHJvbmc+IFdvcmtzIG9uIGRlc2t0b3AgYW5kIG1vYmlsZSBkZXZpY2VzPC9saT4KICAgICAgICAgIDxsaT48c3Ryb25nPkZvcm0gSW50ZWdyYXRpb246PC9zdHJvbmc+IFN0YW5kYXJkIGZvcm0gdmFsdWUgYmluZGluZyBhbmQgdmFsaWRhdGlvbjwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5BY2Nlc3NpYmlsaXR5Ojwvc3Ryb25nPiBLZXlib2FyZCBuYXZpZ2F0aW9uIGFuZCBzY3JlZW4gcmVhZGVyIHN1cHBvcnQ8L2xpPgogICAgICAgICAgPGxpPjxzdHJvbmc+Wi1JbmRleCBNYW5hZ2VtZW50Ojwvc3Ryb25nPiBQcm9wZXIgbW9kYWwgc3RhY2tpbmcgd2l0aCByZWdpc3RyeTwvbGk+CiAgICAgICAgPC91bD4KICAgICAgICAKICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAyNHB4OyI+CiAgICAgICAgICA8c3Ryb25nPlN1cHBvcnRlZCBGb3JtYXRzOjwvc3Ryb25nPiBKUEVHLCBQTkcsIFdlYlA8YnI+CiAgICAgICAgICA8c3Ryb25nPk1heCBGaWxlIFNpemU6PC9zdHJvbmc+IDVNQiAoY29uZmlndXJhYmxlKTxicj4KICAgICAgICAgIDxzdHJvbmc+T3V0cHV0IEZvcm1hdDo8L3N0cm9uZz4gQmFzZTY0IGVuY29kZWQgSlBFRwogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgQm8sc3IsZzRhLExRZT1mKCgpPT57bGUoKTtTcigpO3ZhKCk7YW0oKTtmNGEoKTttNGEoKTtRZSgpO0JvPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxzcj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sZzRhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZSIpXSxlLHQ9W10scixpPU10LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxQPVtdLEIsTT1bXSxTPVtdLEUsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W10sY2UsdWU9W10sWT1bXTt2YXIgUT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0UHJvZmlsZVBpY3R1cmUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgSj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOk51bWJlcn0pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sTj1bJCh7dHlwZTpCb29sZWFufSldLE89WyQoe3R5cGU6TnVtYmVyfSldLEI9WyQoe3R5cGU6QXJyYXl9KV0sRT1bJCh7dHlwZTpOdW1iZXJ9KV0sVz1bJCh7dHlwZTpOdW1iZXJ9KV0saGU9W0soKV0sbWU9W0soKV0sY2U9W0soKV0sQm8odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4idmFsdWUiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi52YWx1ZSwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi52YWx1ZT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxuLGwpLEJvKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hhcGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+InNoYXBlImluIFosImhhcyIpLGdldDpzKFo9Plouc2hhcGUsImdldCIpLHNldDpzKChaLGdlKT0+e1ouc2hhcGU9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sYyxwKSxCbyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+InNpemUiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5zaXplLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLnNpemU9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sbSx2KSxCbyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJwbGFjZWhvbGRlciJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLnBsYWNlaG9sZGVyLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLnBsYWNlaG9sZGVyPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LGIsZyksQm8odGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhbGxvd1VwbG9hZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4iYWxsb3dVcGxvYWQiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5hbGxvd1VwbG9hZCwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5hbGxvd1VwbG9hZD1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxrLEMpLEJvKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWxsb3dEZWxldGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImFsbG93RGVsZXRlImluIFosImhhcyIpLGdldDpzKFo9PlouYWxsb3dEZWxldGUsImdldCIpLHNldDpzKChaLGdlKT0+e1ouYWxsb3dEZWxldGU9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sXyx6KSxCbyh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1heEZpbGVTaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJtYXhGaWxlU2l6ZSJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLm1heEZpbGVTaXplLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLm1heEZpbGVTaXplPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LFQsUCksQm8odGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY2NlcHRlZEZvcm1hdHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImFjY2VwdGVkRm9ybWF0cyJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmFjY2VwdGVkRm9ybWF0cywiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5hY2NlcHRlZEZvcm1hdHM9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sTSxTKSxCbyh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im91dHB1dFNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+Im91dHB1dFNpemUiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5vdXRwdXRTaXplLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLm91dHB1dFNpemU9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sQSxGKSxCbyh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im91dHB1dFF1YWxpdHkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+Im91dHB1dFF1YWxpdHkiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5vdXRwdXRRdWFsaXR5LCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLm91dHB1dFF1YWxpdHk9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0saixHKSxCbyh0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0hvdmVyZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImlzSG92ZXJlZCJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmlzSG92ZXJlZCwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5pc0hvdmVyZWQ9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sUixVKSxCbyh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0RyYWdnaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJpc0RyYWdnaW5nImluIFosImhhcyIpLGdldDpzKFo9PlouaXNEcmFnZ2luZywiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5pc0RyYWdnaW5nPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LEkscSksQm8odGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNMb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJpc0xvYWRpbmciaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5pc0xvYWRpbmcsImdldCIpLHNldDpzKChaLGdlKT0+e1ouaXNMb2FkaW5nPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LHVlLFkpLEJvKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkp9LG51bGwsdCksUT1yPWUudmFsdWUsSiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpKfSl9c3RhdGljIGRlbW89aDRhO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1zcih0aGlzLG4sIiIpO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZShKKXt0aGlzLiNlPUp9I3Q9KHNyKHRoaXMsbCksc3IodGhpcyxjLCJyb3VuZCIpKTtnZXQgc2hhcGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2hhcGUoSil7dGhpcy4jdD1KfSNhPShzcih0aGlzLHApLHNyKHRoaXMsbSwxMjApKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNhfXNldCBzaXplKEope3RoaXMuI2E9Sn0jcj0oc3IodGhpcyx2KSxzcih0aGlzLGIsIiIpKTtnZXQgcGxhY2Vob2xkZXIoKXtyZXR1cm4gdGhpcy4jcn1zZXQgcGxhY2Vob2xkZXIoSil7dGhpcy4jcj1KfSNzPShzcih0aGlzLGcpLHNyKHRoaXMsaywhMCkpO2dldCBhbGxvd1VwbG9hZCgpe3JldHVybiB0aGlzLiNzfXNldCBhbGxvd1VwbG9hZChKKXt0aGlzLiNzPUp9I2k9KHNyKHRoaXMsQyksc3IodGhpcyxfLCEwKSk7Z2V0IGFsbG93RGVsZXRlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGFsbG93RGVsZXRlKEope3RoaXMuI2k9Sn0jbz0oc3IodGhpcyx6KSxzcih0aGlzLFQsNSoxMDI0KjEwMjQpKTtnZXQgbWF4RmlsZVNpemUoKXtyZXR1cm4gdGhpcy4jb31zZXQgbWF4RmlsZVNpemUoSil7dGhpcy4jbz1KfSNuPShzcih0aGlzLFApLHNyKHRoaXMsTSxbImltYWdlL2pwZWciLCJpbWFnZS9wbmciLCJpbWFnZS93ZWJwIl0pKTtnZXQgYWNjZXB0ZWRGb3JtYXRzKCl7cmV0dXJuIHRoaXMuI259c2V0IGFjY2VwdGVkRm9ybWF0cyhKKXt0aGlzLiNuPUp9I2w9KHNyKHRoaXMsUyksc3IodGhpcyxBLDgwMCkpO2dldCBvdXRwdXRTaXplKCl7cmV0dXJuIHRoaXMuI2x9c2V0IG91dHB1dFNpemUoSil7dGhpcy4jbD1KfSNjPShzcih0aGlzLEYpLHNyKHRoaXMsaiwuOTUpKTtnZXQgb3V0cHV0UXVhbGl0eSgpe3JldHVybiB0aGlzLiNjfXNldCBvdXRwdXRRdWFsaXR5KEope3RoaXMuI2M9Sn0jZD0oc3IodGhpcyxHKSxzcih0aGlzLFIsITEpKTtnZXQgaXNIb3ZlcmVkKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGlzSG92ZXJlZChKKXt0aGlzLiNkPUp9I3U9KHNyKHRoaXMsVSksc3IodGhpcyxJLCExKSk7Z2V0IGlzRHJhZ2dpbmcoKXtyZXR1cm4gdGhpcy4jdX1zZXQgaXNEcmFnZ2luZyhKKXt0aGlzLiN1PUp9I3A9KHNyKHRoaXMscSksc3IodGhpcyx1ZSwhMSkpO2dldCBpc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy4jcH1zZXQgaXNMb2FkaW5nKEope3RoaXMuI3A9Sn1tb2RhbEluc3RhbmNlPShzcih0aGlzLFkpLG51bGwpO3N0YXRpYyBzdHlsZXM9W1BlLC4uLk10LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5pbnB1dC13cmFwcGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAucHJvZmlsZS1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLWNvbnRhaW5lcjpob3ZlciB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZSB7CiAgICAgICAgd2lkdGg6IHZhcigtLXNpemUsIDEyMHB4KTsKICAgICAgICBoZWlnaHQ6IHZhcigtLXNpemUsIDEyMHB4KTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1ZjVmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICB9CgogICAgICAucHJvZmlsZS1waWN0dXJlLnJvdW5kIHsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLXBpY3R1cmUuc3F1YXJlIHsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICB9CgogICAgICAucHJvZmlsZS1waWN0dXJlLmRyYWdnaW5nIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KSIsInJnYmEoOTYsIDE2NSwgMjUwLCAwLjE1KSIpfTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZTpob3ZlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLXBpY3R1cmU6ZGlzYWJsZWQgewogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAucHJvZmlsZS1pbWFnZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICB9CgogICAgICAucGxhY2Vob2xkZXItaWNvbiB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLm92ZXJsYXkgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAucHJvZmlsZS1jb250YWluZXI6aG92ZXIgLm92ZXJsYXkgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5vdmVybGF5LWNvbnRlbnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAub3ZlcmxheS1idXR0b24gewogICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSkiLCJyZ2JhKDM5LCAzOSwgNDIsIDAuOTUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgfQoKICAgICAgLm92ZXJsYXktYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMzZjNmNDYiKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpOwogICAgICB9CgogICAgICAub3ZlcmxheS1idXR0b24uZGVsZXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyMzksIDY4LCA2OCwgMC45KSIsInJnYmEoMjIwLCAzOCwgMzgsIDAuOSkiKX07CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5vdmVybGF5LWJ1dHRvbi5kZWxldGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2RjMjYyNiIpfTsKICAgICAgfQoKICAgICAgLmRyb3Atem9uZS10ZXh0IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgbGVmdDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmhpZGRlbi1pbnB1dCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogTG9hZGluZyBhbmltYXRpb24gKi8KICAgICAgLmxvYWRpbmctb3ZlcmxheSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpIiwicmdiYSgwLCAwLCAwLCAwLjgpIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5sb2FkaW5nLW92ZXJsYXkuc2hvdyB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgfQoKICAgICAgLmxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBhbmltYXRpb246IHNwaW4gMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgdG8gewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgcHVsc2UgewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIH0KICAgICAgICA1MCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAgICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLXBpY3R1cmUuY2xpY2tpbmcgewogICAgICAgIGFuaW1hdGlvbjogcHVsc2UgMC4zcyBlYXNlLW91dDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5pbmZvVGV4dD0ke3RoaXMuaW5mb1RleHR9IC5yZXF1aXJlZD0ke3RoaXMucmVxdWlyZWR9PjwvZGVlcy1sYWJlbD4KICAgICAgICAKICAgICAgICA8ZGl2IAogICAgICAgICAgY2xhc3M9InByb2ZpbGUtY29udGFpbmVyIgogICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVDbGlja30KICAgICAgICAgIEBkcmFnb3Zlcj0ke3RoaXMuaGFuZGxlRHJhZ092ZXJ9CiAgICAgICAgICBAZHJhZ2xlYXZlPSR7dGhpcy5oYW5kbGVEcmFnTGVhdmV9CiAgICAgICAgICBAZHJvcD0ke3RoaXMuaGFuZGxlRHJvcH0KICAgICAgICAgIHN0eWxlPSItLXNpemU6ICR7dGhpcy5zaXplfXB4IgogICAgICAgID4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2ZpbGUtcGljdHVyZSAke3RoaXMuc2hhcGV9ICR7dGhpcy5pc0RyYWdnaW5nPyJkcmFnZ2luZyI6IiJ9ICR7dGhpcy5pc0xvYWRpbmcmJiF0aGlzLnZhbHVlPyJjbGlja2luZyI6IiJ9Ij4KICAgICAgICAgICAgJHt0aGlzLnZhbHVlP3dgCiAgICAgICAgICAgICAgPGltZyBjbGFzcz0icHJvZmlsZS1pbWFnZSIgc3JjPSIke3RoaXMudmFsdWV9IiBhbHQ9IlByb2ZpbGUgcGljdHVyZSIgLz4KICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9InBsYWNlaG9sZGVyLWljb24iIGljb249Imx1Y2lkZTp1c2VyIiBpY29uU2l6ZT0iJHt0aGlzLnNpemUqLjV9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgYH0KICAgICAgICAgICAgCiAgICAgICAgICAgICR7dGhpcy5pc0RyYWdnaW5nP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmxheSIgc3R5bGU9Im9wYWNpdHk6IDEiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHJvcC16b25lLXRleHQiPgogICAgICAgICAgICAgICAgICBEcm9wIGltYWdlIGhlcmUKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgICAKICAgICAgICAgICAgJHt0aGlzLnZhbHVlJiYhdGhpcy5kaXNhYmxlZD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXkiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmxheS1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgJHt0aGlzLmFsbG93VXBsb2FkP3dgCiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ib3ZlcmxheS1idXR0b24iIEBjbGljaz0ke0o9PntKLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMub3Blbk1vZGFsKCl9fSB0aXRsZT0iQ2hhbmdlIHBpY3R1cmUiPgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6cGVuY2lsIiBpY29uU2l6ZT0iMjAiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgICAke3RoaXMuYWxsb3dEZWxldGU/d2AKICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJvdmVybGF5LWJ1dHRvbiBkZWxldGUiIEBjbGljaz0ke0o9PntKLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuZGVsZXRlUGljdHVyZSgpfX0gdGl0bGU9IkRlbGV0ZSBwaWN0dXJlIj4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOnRyYXNoMiIgaWNvblNpemU9IjIwIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgICAKICAgICAgICAgICAgJHt0aGlzLmlzTG9hZGluZyYmIXRoaXMudmFsdWU/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLW92ZXJsYXkgc2hvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGlucHV0CiAgICAgICAgICB0eXBlPSJmaWxlIgogICAgICAgICAgY2xhc3M9ImhpZGRlbi1pbnB1dCIKICAgICAgICAgIGFjY2VwdD0iJHt0aGlzLmFjY2VwdGVkRm9ybWF0cy5qb2luKCIsIil9IgogICAgICAgICAgQGNoYW5nZT0ke3RoaXMuaGFuZGxlRmlsZVNlbGVjdH0KICAgICAgICAvPgogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlQ2xpY2soKXtpZighKHRoaXMuZGlzYWJsZWR8fCF0aGlzLmFsbG93VXBsb2FkKSYmIXRoaXMudmFsdWUpe3RoaXMuaXNMb2FkaW5nPSEwO2xldCBKPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuaGlkZGVuLWlucHV0IiksWj1zKCgpPT57c2V0VGltZW91dCgoKT0+eyghSi5maWxlc3x8Si5maWxlcy5sZW5ndGg9PT0wKSYmKHRoaXMuaXNMb2FkaW5nPSExKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFopfSwzMDApfSwiaGFuZGxlRm9jdXMiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFopLEouY2xpY2soKX19aGFuZGxlRmlsZVNlbGVjdChKKXtsZXQgWj1KLnRhcmdldCxnZT1aLmZpbGVzPy5bMF07dGhpcy5pc0xvYWRpbmc9ITEsZ2UmJnRoaXMucHJvY2Vzc0ZpbGUoZ2UpLFoudmFsdWU9IiJ9aGFuZGxlRHJhZ092ZXIoSil7Si5wcmV2ZW50RGVmYXVsdCgpLCF0aGlzLmRpc2FibGVkJiZ0aGlzLmFsbG93VXBsb2FkJiYodGhpcy5pc0RyYWdnaW5nPSEwKX1oYW5kbGVEcmFnTGVhdmUoKXt0aGlzLmlzRHJhZ2dpbmc9ITF9aGFuZGxlRHJvcChKKXtpZihKLnByZXZlbnREZWZhdWx0KCksdGhpcy5pc0RyYWdnaW5nPSExLHRoaXMuZGlzYWJsZWR8fCF0aGlzLmFsbG93VXBsb2FkKXJldHVybjtsZXQgWj1KLmRhdGFUcmFuc2Zlcj8uZmlsZXNbMF07WiYmdGhpcy5wcm9jZXNzRmlsZShaKX1hc3luYyBwcm9jZXNzRmlsZShKKXtpZighdGhpcy5hY2NlcHRlZEZvcm1hdHMuaW5jbHVkZXMoSi50eXBlKSl7Y29uc29sZS5lcnJvcigiSW52YWxpZCBmaWxlIHR5cGU6IixKLnR5cGUpO3JldHVybn1pZihKLnNpemU+dGhpcy5tYXhGaWxlU2l6ZSl7Y29uc29sZS5lcnJvcigiRmlsZSB0b28gbGFyZ2U6IixKLnNpemUpO3JldHVybn1sZXQgWj1uZXcgRmlsZVJlYWRlcjtaLm9ubG9hZD1hc3luYyBnZT0+e2xldCBhZT1nZS50YXJnZXQ/LnJlc3VsdDthd2FpdCB0aGlzLm9wZW5Nb2RhbChhZSl9LFoucmVhZEFzRGF0YVVSTChKKX1hc3luYyBvcGVuTW9kYWwoSil7bGV0IFo9Snx8dGhpcy52YWx1ZTtpZighWil7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5oaWRkZW4taW5wdXQiKS5jbGljaygpO3JldHVybn10aGlzLm1vZGFsSW5zdGFuY2U9bmV3IFRRZSx0aGlzLm1vZGFsSW5zdGFuY2Uuc2hhcGU9dGhpcy5zaGFwZSx0aGlzLm1vZGFsSW5zdGFuY2UuaW5pdGlhbEltYWdlPVosdGhpcy5tb2RhbEluc3RhbmNlLm91dHB1dFNpemU9dGhpcy5vdXRwdXRTaXplLHRoaXMubW9kYWxJbnN0YW5jZS5vdXRwdXRRdWFsaXR5PXRoaXMub3V0cHV0UXVhbGl0eSx0aGlzLm1vZGFsSW5zdGFuY2UuYWRkRXZlbnRMaXN0ZW5lcigic2F2ZSIsKGdlPT57dGhpcy52YWx1ZT1nZS5kZXRhaWwuY3JvcHBlZEltYWdlLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfSkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5tb2RhbEluc3RhbmNlKX1kZWxldGVQaWN0dXJlKCl7dGhpcy52YWx1ZT0iIix0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKEope3RoaXMudmFsdWU9Sn1zdGF0aWN7c3Iocix0KX19O3JldHVybiBRPXJ9KSgpfSk7dmFyIGI0YT1mKCgpPT57UTBhKCk7SlhlKCk7SjBhKCk7dGFlKCk7ZVFlKCk7UlllKCk7ZTRhKCk7dDRhKCk7YTRhKCk7cjRhKCk7czRhKCk7aTRhKCk7bzRhKCk7bDRhKCk7dFFlKCk7UVhlKCk7YzRhKCk7ZDRhKCk7dTRhKCk7TFFlKCl9KTt2YXIgdjRhLHg0YT1mKCgpPT57bGUoKTt2NGE9cygoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtb0NvbnRhaW5lciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMzJweDsKICAgICAgcGFkZGluZzogNDhweDsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMGEwYTBhIil9OwogICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgIH0KICAgIAogICAgLnNlY3Rpb24gewogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxODE4MWIiKX07CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICBwYWRkaW5nOiAyNHB4OwogICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgfQogICAgCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIH0KICAgIAogICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vQ29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Ob24tU2VsZWN0YWJsZSBDaGlwczwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5CYXNpYyBjaGlwcyB3aXRob3V0IHNlbGVjdGlvbiBjYXBhYmlsaXR5LiBVc2UgZm9yIGRpc3BsYXktb25seSB0YWdzLjwvZGl2PgogICAgICA8ZGVlcy1jaGlwcwogICAgICAgIHNlbGVjdGlvbk1vZGU9Im5vbmUiCiAgICAgICAgLnNlbGVjdGFibGVDaGlwcz0ke1t7a2V5OiJzdGF0dXMiLHZhbHVlOiJBY3RpdmUifSx7a2V5OiJ0aWVyIix2YWx1ZToiUHJlbWl1bSJ9LHtrZXk6InJlZ2lvbiIsdmFsdWU6IkVVLVdlc3QifSx7a2V5OiJ0eXBlIix2YWx1ZToiRW50ZXJwcmlzZSJ9XX0KICAgICAgPjwvZGVlcy1jaGlwcz4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U2luZ2xlIFNlbGVjdGlvbiBDaGlwczwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5DbGljayB0byBzZWxlY3Qgb25lIGNoaXAgYXQgYSB0aW1lLiBVc2VmdWwgZm9yIGZpbHRlcnMgYW5kIG9wdGlvbnMuPC9kaXY+CiAgICAgIDxkZWVzLWNoaXBzCiAgICAgICAgc2VsZWN0aW9uTW9kZT0ic2luZ2xlIgogICAgICAgIC5zZWxlY3RhYmxlQ2hpcHM9JHtbe2tleToiYWxsIix2YWx1ZToiQWxsIFByb2plY3RzIn0se2tleToiYWN0aXZlIix2YWx1ZToiQWN0aXZlIn0se2tleToiYXJjaGl2ZWQiLHZhbHVlOiJBcmNoaXZlZCJ9LHtrZXk6ImRyYWZ0cyIsdmFsdWU6IkRyYWZ0cyJ9XX0KICAgICAgPjwvZGVlcy1jaGlwcz4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TXVsdGlwbGUgU2VsZWN0aW9uIENoaXBzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlNlbGVjdCBtdWx0aXBsZSBjaGlwcyBzaW11bHRhbmVvdXNseS4gR3JlYXQgZm9yIHRhZyBzZWxlY3Rpb24uPC9kaXY+CiAgICAgIDxkZWVzLWNoaXBzCiAgICAgICAgc2VsZWN0aW9uTW9kZT0ibXVsdGlwbGUiCiAgICAgICAgLnNlbGVjdGFibGVDaGlwcz0ke1t7a2V5OiJqcyIsdmFsdWU6IkphdmFTY3JpcHQifSx7a2V5OiJ0cyIsdmFsdWU6IlR5cGVTY3JpcHQifSx7a2V5OiJyZWFjdCIsdmFsdWU6IlJlYWN0In0se2tleToidnVlIix2YWx1ZToiVnVlIn0se2tleToiYW5ndWxhciIsdmFsdWU6IkFuZ3VsYXIifSx7a2V5OiJub2RlIix2YWx1ZToiTm9kZS5qcyJ9XX0KICAgICAgPjwvZGVlcy1jaGlwcz4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UmVtb3ZhYmxlIENoaXBzIHdpdGggS2V5czwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5DaGlwcyB3aXRoIHJlbW92ZSBidXR0b25zIGFuZCBrZXktdmFsdWUgcGFpcnMuIFBlcmZlY3QgZm9yIGR5bmFtaWMgbGlzdHMuPC9kaXY+CiAgICAgIDxkZWVzLWNoaXBzCiAgICAgICAgc2VsZWN0aW9uTW9kZT0ic2luZ2xlIgogICAgICAgIGNoaXBzQXJlUmVtb3ZhYmxlCiAgICAgICAgLnNlbGVjdGFibGVDaGlwcz0ke1t7a2V5OiJlbnYiLHZhbHVlOiJQcm9kdWN0aW9uIn0se2tleToidmVyc2lvbiIsdmFsdWU6IjIuNC4xIn0se2tleToiYnJhbmNoIix2YWx1ZToibWFpbiJ9LHtrZXk6ImF1dGhvciIsdmFsdWU6IkpvaG4gRG9lIn1dfQogICAgICA+PC9kZWVzLWNoaXBzPgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5NaXhlZCBDb250ZW50IEV4YW1wbGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+Q29tYmluaW5nIGRpZmZlcmVudCBjaGlwIHR5cGVzIGZvciBjb21wbGV4IFVJcy48L2Rpdj4KICAgICAgPGRlZXMtY2hpcHMKICAgICAgICBzZWxlY3Rpb25Nb2RlPSJtdWx0aXBsZSIKICAgICAgICBjaGlwc0FyZVJlbW92YWJsZQogICAgICAgIC5zZWxlY3RhYmxlQ2hpcHM9JHtbe2tleToicHJpb3JpdHkiLHZhbHVlOiJIaWdoIn0se2tleToic3RhdHVzIix2YWx1ZToiSW4gUHJvZ3Jlc3MifSx7a2V5OiJidWciLHZhbHVlOiJCdWcifSx7a2V5OiJmZWF0dXJlIix2YWx1ZToiRmVhdHVyZSJ9LHtrZXk6InNwcmludCIsdmFsdWU6IlNwcmludCAyMyJ9LHtrZXk6ImFzc2lnbmVlIix2YWx1ZToiQWxpY2UifV19CiAgICAgID48L2RlZXMtY2hpcHM+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBZbSxXMSx5NGEsdzRhPWYoKCk9PntsZSgpO2VhKCk7eDRhKCk7UWUoKTtZbT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sVzE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHk0YT0oKCk9PntsZXQgYT1baWUoImRlZXMtY2hpcHMiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0NoaXBzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKHt0eXBlOkJvb2xlYW59KV0sdT1bJCh7dHlwZTpBcnJheX0pXSx4PVskKCldLHk9WyQoe3R5cGU6QXJyYXl9KV0sWW0odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3Rpb25Nb2RlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzZWxlY3Rpb25Nb2RlImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0aW9uTW9kZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNlbGVjdGlvbk1vZGU9T30sInNldCIpfSxtZXRhZGF0YTpffSxuLGwpLFltKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2hpcHNBcmVSZW1vdmFibGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImNoaXBzQXJlUmVtb3ZhYmxlImluIHosImhhcyIpLGdldDpzKHo9PnouY2hpcHNBcmVSZW1vdmFibGUsImdldCIpLHNldDpzKCh6LE8pPT57ei5jaGlwc0FyZVJlbW92YWJsZT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCksWW0odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RhYmxlQ2hpcHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNlbGVjdGFibGVDaGlwcyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNlbGVjdGFibGVDaGlwcywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNlbGVjdGFibGVDaGlwcz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksWW0odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZENoaXAiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNlbGVjdGVkQ2hpcCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNlbGVjdGVkQ2hpcCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNlbGVjdGVkQ2hpcD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksWW0odGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZENoaXBzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzZWxlY3RlZENoaXBzImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0ZWRDaGlwcywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNlbGVjdGVkQ2hpcHM9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLFltKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89djRhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTGF5b3V0Il07I2U9VzEodGhpcyxuLCJzaW5nbGUiKTtnZXQgc2VsZWN0aW9uTW9kZSgpe3JldHVybiB0aGlzLiNlfXNldCBzZWxlY3Rpb25Nb2RlKF8pe3RoaXMuI2U9X30jdD0oVzEodGhpcyxsKSxXMSh0aGlzLGMsITEpKTtnZXQgY2hpcHNBcmVSZW1vdmFibGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY2hpcHNBcmVSZW1vdmFibGUoXyl7dGhpcy4jdD1ffSNhPShXMSh0aGlzLHApLFcxKHRoaXMsbSxbXSkpO2dldCBzZWxlY3RhYmxlQ2hpcHMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VsZWN0YWJsZUNoaXBzKF8pe3RoaXMuI2E9X30jcj0oVzEodGhpcyx2KSxXMSh0aGlzLGIsbnVsbCkpO2dldCBzZWxlY3RlZENoaXAoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2VsZWN0ZWRDaGlwKF8pe3RoaXMuI3I9X30jcz0oVzEodGhpcyxnKSxXMSh0aGlzLGssW10pKTtnZXQgc2VsZWN0ZWRDaGlwcygpe3JldHVybiB0aGlzLiNzfXNldCBzZWxlY3RlZENoaXBzKF8pe3RoaXMuI3M9X31jb25zdHJ1Y3Rvcigpe3N1cGVyKCksVzEodGhpcyxDKX1zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5tYWluYm94IHsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmNoaXAgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpOwogICAgICB9CgogICAgICAuY2hpcDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuY2hpcDphY3RpdmUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7CiAgICAgIH0KCiAgICAgIC5jaGlwLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgIH0KCiAgICAgIC5jaGlwLnNlbGVjdGVkOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiMyNTYzZWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiMyNTYzZWIiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwS2V5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA2KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tbGVmdDogLThweDsKICAgICAgICBwYWRkaW5nOiAwcHggOHB4OwogICAgICAgIG1hcmdpbi1yaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuY2hpcC5zZWxlY3RlZCAuY2hpcEtleSB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOwogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7CiAgICAgIH0KCiAgICAgIGRlZXMtaWNvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBtYXJnaW4tbGVmdDogOHB4OwogICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmNoaXAuc2VsZWN0ZWQgZGVlcy1pY29uIHsKICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOwogICAgICB9CgogICAgICBkZWVzLWljb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmNoaXAuc2VsZWN0ZWQgZGVlcy1pY29uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7CiAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICAke3RoaXMuc2VsZWN0YWJsZUNoaXBzLm1hcChfPT53YAogICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2VsZWN0Q2hpcChfKX0KICAgICAgICAgICAgICBjbGFzcz0iY2hpcCAke3RoaXMuaXNTZWxlY3RlZChfKT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgICR7Xy5rZXk/d2A8ZGl2IGNsYXNzPSJjaGlwS2V5Ij4ke18ua2V5fTwvZGl2PmA6d2BgfSAke18udmFsdWV9CiAgICAgICAgICAgICAgJHt0aGlzLmNoaXBzQXJlUmVtb3ZhYmxlP3dgCiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7ej0+e3ouc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5yZW1vdmVDaGlwKF8pfX0KICAgICAgICAgICAgICAgICAgICAgIC5pY29uPSR7ImZhOnhtYXJrIn0KICAgICAgICAgICAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIGA6d2BgfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7fWlzU2VsZWN0ZWQoXyl7cmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZT09PSJzaW5nbGUiP3RoaXMuc2VsZWN0ZWRDaGlwP3RoaXMuaXNTYW1lQ2hpcCh0aGlzLnNlbGVjdGVkQ2hpcCxfKTohMTp0aGlzLnNlbGVjdGVkQ2hpcHMuc29tZSh6PT50aGlzLmlzU2FtZUNoaXAoeixfKSl9aXNTYW1lQ2hpcChfLHope3JldHVybihfLmtleSYmei5rZXl8fF8udmFsdWU9PT16LnZhbHVlKSYmXy5rZXk9PT16LmtleX1hc3luYyBzZWxlY3RDaGlwKF8pe3RoaXMuc2VsZWN0aW9uTW9kZSE9PSJub25lIiYmKHRoaXMuc2VsZWN0aW9uTW9kZT09PSJzaW5nbGUiP3RoaXMuaXNTZWxlY3RlZChfKT8odGhpcy5zZWxlY3RlZENoaXA9bnVsbCx0aGlzLnNlbGVjdGVkQ2hpcHM9W10pOih0aGlzLnNlbGVjdGVkQ2hpcD1fLHRoaXMuc2VsZWN0ZWRDaGlwcz1bX10pOnRoaXMuc2VsZWN0aW9uTW9kZT09PSJtdWx0aXBsZSImJih0aGlzLmlzU2VsZWN0ZWQoXyk/dGhpcy5zZWxlY3RlZENoaXBzPXRoaXMuc2VsZWN0ZWRDaGlwcy5maWx0ZXIoej0+IXRoaXMuaXNTYW1lQ2hpcCh6LF8pKTp0aGlzLnNlbGVjdGVkQ2hpcHM9Wy4uLnRoaXMuc2VsZWN0ZWRDaGlwcyxfXSx0aGlzLnJlcXVlc3RVcGRhdGUoKSksY29uc29sZS5sb2codGhpcy5zZWxlY3RlZENoaXBzKSl9cmVtb3ZlQ2hpcChfKXt0aGlzLnNlbGVjdGFibGVDaGlwcz10aGlzLnNlbGVjdGFibGVDaGlwcy5maWx0ZXIoej0+IXRoaXMuaXNTYW1lQ2hpcCh6LF8pKSx0aGlzLnNlbGVjdGVkQ2hpcHM9dGhpcy5zZWxlY3RlZENoaXBzLmZpbHRlcih6PT4hdGhpcy5pc1NhbWVDaGlwKHosXykpLHRoaXMuc2VsZWN0ZWRDaGlwJiZ0aGlzLmlzU2FtZUNoaXAodGhpcy5zZWxlY3RlZENoaXAsXykmJih0aGlzLnNlbGVjdGVkQ2hpcD1udWxsKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1zdGF0aWN7VzEocix0KX19O3JldHVybiBOPXJ9KSgpfSk7dmFyIE00YT1mKCgpPT57dzRhKCl9KTt2YXIgazRhLFM0YT1mKCgpPT57bGUoKTtOYSgpO2s0YT1zKCgpPT53YAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiI2Rhc2hib2FyZEdyaWQiKSx0PVt7aWQ6Im1ldHJpY3MxIix4OjAseTowLHc6MyxoOjIsdGl0bGU6IlJldmVudWUiLGljb246Imx1Y2lkZTpkb2xsYXJTaWduIixjb250ZW50OndgCiAgICAgICAgICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDIwcHg7Ij4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDMycHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07Ij4kMTI0LDU2MzwvZGl2PgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImNvbG9yOiAjMjJjNTVlOyBmb250LXNpemU6IDE0cHg7IG1hcmdpbi10b3A6IDhweDsiPuKGkSAxMi41JSBmcm9tIGxhc3QgbW9udGg8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfSx7aWQ6Im1ldHJpY3MyIix4OjMseTowLHc6MyxoOjIsdGl0bGU6IlVzZXJzIixpY29uOiJsdWNpZGU6dXNlcnMiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjBweDsiPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMzJweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsiPjgsMjM0PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iY29sb3I6ICMzYjgyZjY7IGZvbnQtc2l6ZTogMTRweDsgbWFyZ2luLXRvcDogOHB4OyI+4oaRIDUuMiUgZnJvbSBsYXN0IHdlZWs8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfSx7aWQ6ImNoYXJ0MSIseDo2LHk6MCx3OjYsaDo0LHRpdGxlOiJBbmFseXRpY3MiLGljb246Imx1Y2lkZTpsaW5lQ2hhcnQiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjBweDsgaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsiPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICM3MTcxN2E7Ij4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmxpbmVDaGFydCJ9IHN0eWxlPSJmb250LXNpemU6IDQ4cHg7IG1hcmdpbi1ib3R0b206IDE2cHg7Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDxkaXY+Q2hhcnQgdmlzdWFsaXphdGlvbiBhcmVhPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH1dO2Uud2lkZ2V0cz10Lm1hcCh5PT4oey4uLnl9KSksZS5jZWxsSGVpZ2h0PTgwLGUubWFyZ2luPXt0b3A6MTAscmlnaHQ6MTAsYm90dG9tOjEwLGxlZnQ6MTB9LGUuZW5hYmxlQW5pbWF0aW9uPSEwLGUuc2hvd0dyaWRMaW5lcz0hMTtsZXQgcj1lLmdldExheW91dCgpLm1hcCh5PT4oey4uLnl9KSksaT1lLndpZGdldHMubWFwKCh5LGspPT4oe2lkOnkuaWQseDowLHk6az09PTA/MDplLndpZGdldHMuc2xpY2UoMCxrKS5yZWR1Y2UoKEMsTik9PkMrTi5oLDApLHc6ZS5jb2x1bW5zLGg6eS5ofSkpO2UubGF5b3V0cz17YmFzZTpyLG1vYmlsZTppfTtsZXQgbz1hLnF1ZXJ5U2VsZWN0b3IoIiNkYXNoYm9hcmRMYXlvdXRTdGF0dXMiKSxuPXMoKCk9PntsZXQgeT1lLmdldExheW91dCgpO28udGV4dENvbnRlbnQ9YEFjdGl2ZSBicmVha3BvaW50OiAke2UuYWN0aXZlQnJlYWtwb2ludH0gXHUyMDIyIFRpbGVzOiAke3kubGVuZ3RofWB9LCJ1cGRhdGVTdGF0dXMiKSxsPXdpbmRvdy5tYXRjaE1lZGlhKCIobWF4LXdpZHRoOiA3NjhweCkiKSxkPXMoKCk9PntsZXQgeT1sLm1hdGNoZXM/Im1vYmlsZSI6ImJhc2UiO2UuYXBwbHlCcmVha3BvaW50TGF5b3V0KHkpLG4oKX0sImhhbmRsZUJyZWFrcG9pbnQiKTt0eXBlb2YgbC5hZGRFdmVudExpc3RlbmVyPT0iZnVuY3Rpb24iP2wuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixkKTpsLmFkZExpc3RlbmVyPy4oZCksZCgpO2xldCBjPTQ7YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goeT0+e3N3aXRjaCh5LnRleHQ/LnRyaW0oKSl7Y2FzZSJUb2dnbGUgQW5pbWF0aW9uIjp5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2UuZW5hYmxlQW5pbWF0aW9uPSFlLmVuYWJsZUFuaW1hdGlvbn0pO2JyZWFrO2Nhc2UiVG9nZ2xlIEdyaWQgTGluZXMiOnkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5zaG93R3JpZExpbmVzPSFlLnNob3dHcmlkTGluZXN9KTticmVhaztjYXNlIkFkZCBXaWRnZXQiOnkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57bGV0IEM9e2lkOmB3aWRnZXQke2MrK31gLHg6MCx5OjAsdzozLGg6MixhdXRvUG9zaXRpb246ITAsdGl0bGU6YFdpZGdldCAke2MtMX1gLGljb246Imx1Y2lkZTpwYWNrYWdlIixjb250ZW50OndgCiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDIwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImNvbG9yOiAjNzE3MTdhOyI+TmV3IHdpZGdldCBjb250ZW50PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogOHB4OyBmb250LXNpemU6IDI0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07Ij4ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxZTMpfTwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGB9O2UuYWRkV2lkZ2V0KEMsITApfSk7YnJlYWs7Y2FzZSJDb21wYWN0IEdyaWQiOnkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5jb21wYWN0KCl9KTticmVhaztjYXNlIlRvZ2dsZSBFZGl0IE1vZGUiOnkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5lZGl0YWJsZT0hZS5lZGl0YWJsZSx5LnRleHQ9ZS5lZGl0YWJsZT8iTG9jayBHcmlkIjoiVW5sb2NrIEdyaWQifSk7YnJlYWs7Y2FzZSJSZXNldCBMYXlvdXQiOnkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5hcHBseUJyZWFrcG9pbnRMYXlvdXQoZS5hY3RpdmVCcmVha3BvaW50KX0pO2JyZWFrO2RlZmF1bHQ6YnJlYWt9fSk7bGV0IHU9bnVsbCxtPTAsdj1zKCh5LGspPT57bGV0IEM9ZS5nZXRMYXlvdXQoKTtjb25zb2xlLmdyb3VwKGBcdXsxRjUwNH0gJHt5fSBbRXZlbnQgIyR7KyttfV1gKSxjb25zb2xlLmxvZygiVGltZXN0YW1wOiIsbmV3IERhdGUoKS50b0lTT1N0cmluZygpKSxjb25zb2xlLmxvZygiR3JpZCBDb25maWd1cmF0aW9uOiIse2NvbHVtbnM6ZS5jb2x1bW5zLGNlbGxIZWlnaHQ6ZS5jZWxsSGVpZ2h0LG1hcmdpbjplLm1hcmdpbixlZGl0YWJsZTplLmVkaXRhYmxlLGFjdGl2ZUJyZWFrcG9pbnQ6ZS5hY3RpdmVCcmVha3BvaW50fSksY29uc29sZS5sb2coIkN1cnJlbnQgTGF5b3V0OiIsQyksY29uc29sZS5sb2coIldpZGdldCBDb3VudDoiLEMubGVuZ3RoKSxjb25zb2xlLmxvZygiR3JpZCBCb3VuZHM6Iix7dG90YWxXaWRnZXRzOmUud2lkZ2V0cy5sZW5ndGgsbWF4WTpNYXRoLm1heCguLi5DLm1hcChOPT5OLnkrTi5oKSksb2NjdXBpZWQ6Qy5tYXAoTj0+YCR7Ti5pZH06ICgke04ueH0sJHtOLnl9KSAke04ud314JHtOLmh9YCkuam9pbigiLCAiKX0pLGsmJmNvbnNvbGUubG9nKCJFdmVudCBEZXRhaWxzOiIsayksY29uc29sZS5ncm91cEVuZCgpfSwibG9nR3JpZFN0YXRlIikseD1uZXcgTXV0YXRpb25PYnNlcnZlcigoKT0+e2xldCB5PWUuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnBsYWNlaG9sZGVyIik7aWYoeSl7bGV0IGs9e2xlZnQ6eS5zdHlsZS5sZWZ0LHRvcDp5LnN0eWxlLnRvcCx3aWR0aDp5LnN0eWxlLndpZHRoLGhlaWdodDp5LnN0eWxlLmhlaWdodH07aWYoSlNPTi5zdHJpbmdpZnkoaykhPT1KU09OLnN0cmluZ2lmeSh1KSl7Y29uc29sZS5ncm91cCgiXHV7MUY0Q0R9IFBsYWNlaG9sZGVyIFBvc2l0aW9uIENoYW5nZWQiKSxjb25zb2xlLmxvZygiUHJldmlvdXM6Iix1KSxjb25zb2xlLmxvZygiQ3VycmVudDoiLGspO2xldCBDPWUuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmdyaWQtY29udGFpbmVyIik7QyYmY29uc29sZS5sb2coIkdyaWQgQ29udGFpbmVyIERpbWVuc2lvbnM6Iix7d2lkdGg6Qy5jbGllbnRXaWR0aCxoZWlnaHQ6Qy5jbGllbnRIZWlnaHR9KSxjb25zb2xlLmdyb3VwRW5kKCksdT1rfX19KTtlLnNoYWRvd1Jvb3QmJngub2JzZXJ2ZShlLnNoYWRvd1Jvb3Qse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwLGF0dHJpYnV0ZXM6ITAsYXR0cmlidXRlRmlsdGVyOlsic3R5bGUiXX0pLHYoIkluaXRpYWwgR3JpZCBTdGF0ZSIpLGUuYWRkRXZlbnRMaXN0ZW5lcigid2lkZ2V0LW1vdmUiLHk9PntsZXQgaz15LmRldGFpbDt2KCJXaWRnZXQgTW92ZSIse3dpZGdldDprLndpZGdldCxkaXNwbGFjZWQ6ay5kaXNwbGFjZWQsc3dhcHBlZFdpdGg6ay5zd2FwcGVkV2l0aH0pfSksZS5hZGRFdmVudExpc3RlbmVyKCJ3aWRnZXQtcmVzaXplIix5PT57bGV0IGs9eS5kZXRhaWw7digiV2lkZ2V0IFJlc2l6ZSIse3dpZGdldDprLndpZGdldCxkaXNwbGFjZWQ6ay5kaXNwbGFjZWQsc3dhcHBlZFdpdGg6ay5zd2FwcGVkV2l0aH0pfSksZS5hZGRFdmVudExpc3RlbmVyKCJ3aWRnZXQtcmVtb3ZlIix5PT57bGV0IGs9eS5kZXRhaWw7digiV2lkZ2V0IFJlbW92ZSIse3JlbW92ZWRXaWRnZXQ6ay53aWRnZXR9KSxuKCl9KSxlLmFkZEV2ZW50TGlzdGVuZXIoImxheW91dC1jaGFuZ2UiLCgpPT57digiTGF5b3V0IENoYW5nZSIpLG4oKX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHk9PntsZXQgaz15LnRhcmdldC5jbG9zZXN0KCIud2lkZ2V0LWhlYWRlciIpLEM9eS50YXJnZXQuY2xvc2VzdCgiLnJlc2l6ZS1oYW5kbGUiKTtpZihrfHxDKXtjb25zb2xlLmdyb3VwKGBcdXsxRjNBRn0gSW50ZXJhY3Rpb24gU3RhcnRlZDogJHtrPyJEcmFnIjoiUmVzaXplIn1gKSxjb25zb2xlLmxvZygiVGFyZ2V0IFdpZGdldDoiLHkudGFyZ2V0LmNsb3Nlc3QoIi53aWRnZXQiKT8uZ2V0QXR0cmlidXRlKCJkYXRhLXdpZGdldC1pZCIpKSxjb25zb2xlLmxvZygiUG9pbnRlciBQb3NpdGlvbjoiLHt4OnkuY2xpZW50WCx5OnkuY2xpZW50WX0pLGNvbnNvbGUuZ3JvdXBFbmQoKTtsZXQgTj1zKHo9PntsZXQgTz15LnRhcmdldC5jbG9zZXN0KCIud2lkZ2V0Iik7TyYmY29uc29sZS5sb2coIlx1MjE5NFx1RkUwRiBQb2ludGVyIE1vdmU6Iix7d2lkZ2V0SWQ6Ty5nZXRBdHRyaWJ1dGUoImRhdGEtd2lkZ2V0LWlkIikscG9zaXRpb246e3g6ei5jbGllbnRYLHk6ei5jbGllbnRZfSxkZWx0YTp7eDp6LmNsaWVudFgteS5jbGllbnRYLHk6ei5jbGllbnRZLXkuY2xpZW50WX19KX0sImhhbmRsZVBvaW50ZXJNb3ZlIiksXz1zKCgpPT57Y29uc29sZS5ncm91cCgiXHV7MUYzQzF9IEludGVyYWN0aW9uIEVuZGVkIiksdigiRmluYWwgU3RhdGUgQWZ0ZXIgSW50ZXJhY3Rpb24iKSxjb25zb2xlLmdyb3VwRW5kKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLE4pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsXyl9LCJoYW5kbGVQb2ludGVyVXAiKTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsTiksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixfKX19KTtsZXQgYj1lLmFkZFdpZGdldC5iaW5kKGUpO2UuYWRkV2lkZ2V0PSh5LGspPT57Y29uc29sZS5ncm91cCgiXHUyNzk1IEFkZGluZyBXaWRnZXQiKSxjb25zb2xlLmxvZygiTmV3IFdpZGdldDoiLHkpLGNvbnNvbGUubG9nKCJBdXRvIFBvc2l0aW9uOiIsayk7bGV0IEM9Yih5LGspO3JldHVybiB2KCJBZnRlciBXaWRnZXQgQWRkZWQiKSxjb25zb2xlLmdyb3VwRW5kKCksQ307bGV0IGc9ZS5jb21wYWN0LmJpbmQoZSk7ZS5jb21wYWN0PXk9Pntjb25zb2xlLmdyb3VwKCJcdXsxRjVEQ31cdUZFMEYgQ29tcGFjdGluZyBHcmlkIiksY29uc29sZS5sb2coIkRpcmVjdGlvbjoiLHl8fCJ2ZXJ0aWNhbCIpLHYoIkJlZm9yZSBDb21wYWN0Iik7bGV0IGs9Zyh5KTtyZXR1cm4gdigiQWZ0ZXIgQ29tcGFjdCIpLGNvbnNvbGUuZ3JvdXBFbmQoKSxrfSxuKCl9fT4KICAgICAgPHN0eWxlPgogICAgICAgICR7WGAKICAgICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMwOTA5MGIiKX07CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KCiAgICAgICAgICAuZGVtby1jb250cm9scyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgfQoKICAgICAgICAgIC5kZW1vLWNvbnRyb2xzIGRlZXMtYnV0dG9uIHsKICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICB9CgogICAgICAgICAgLmdyaWQtY29udGFpbmVyLXdyYXBwZXIgewogICAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgICBtaW4taGVpZ2h0OiA2MDBweDsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgfQoKICAgICAgICAgIC5pbmZvIHsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogNnB4OwogICAgICAgICAgfQoKICAgICAgICAgICNkYXNoYm9hcmRMYXlvdXRTdGF0dXMgewogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgICAgfQogICAgICAgIGB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udHJvbHMiPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJBbmltYXRpb246Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlRvZ2dsZSBBbmltYXRpb248L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KCiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkRpc3BsYXk6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlRvZ2dsZSBHcmlkIExpbmVzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJBY3Rpb25zOiI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5BZGQgV2lkZ2V0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkNvbXBhY3QgR3JpZDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5SZXNldCBMYXlvdXQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KCiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9Ik1vZGU6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlRvZ2dsZSBFZGl0IE1vZGU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1jb250YWluZXItd3JhcHBlciI+CiAgICAgICAgICA8ZGVlcy1kYXNoYm9hcmRncmlkIGlkPSJkYXNoYm9hcmRHcmlkIj48L2RlZXMtZGFzaGJvYXJkZ3JpZD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaW5mbyI+CiAgICAgICAgICA8ZGl2PkRyYWcgdG8gcmVwb3NpdGlvbiwgcmVzaXplIGZyb20gaGFuZGxlcywgb3IgcmlnaHQtY2xpY2sgYSBoZWFkZXIgdG8gZGVsZXRlIGEgdGlsZS48L2Rpdj4KICAgICAgICAgIDxkaXYgaWQ9ImRhc2hib2FyZExheW91dFN0YXR1cyI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGAsImRlbW9GdW5jIil9KTt2YXIgejRhLEM0YT1mKCgpPT57bGUoKTt6NGE9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmdyaWQtY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWluLWhlaWdodDogNDAwcHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtlbmFibGVhbmltYXRpb25dKSAuZ3JpZC13aWRnZXQgewogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIC5ncmlkLXdpZGdldC5kcmFnZ2luZyB7CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIGN1cnNvcjogZ3JhYmJpbmc7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtd2lkZ2V0LnBsYWNlaG9sZGVyIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB6LWluZGV4OiAxOwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC13aWRnZXQucGxhY2Vob2xkZXIgLndpZGdldC1jb250ZW50IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIpfTsKICAgICAgICBib3JkZXI6IDJweCBkYXNoZWQgJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5ncmlkLXdpZGdldC5yZXNpemluZyB7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAud2lkZ2V0LWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSIsIjAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5ncmlkLXdpZGdldDpob3ZlciAud2lkZ2V0LWNvbnRlbnQgewogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkiLCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC40KSIpfTsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0LmRyYWdnaW5nIC53aWRnZXQtY29udGVudCB7CiAgICAgICAgYm94LXNoYWRvdzogJHtoLmJkVGhlbWUoIjAgMTZweCA0OHB4IHJnYmEoMCwgMCwgMCwgMC4yNSkiLCIwIDE2cHggNDhweCByZ2JhKDAsIDAsIDAsIDAuNikiKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAgICAgfQoKICAgICAgLndpZGdldC1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzBhMGEwYSIpfTsKICAgICAgICBjdXJzb3I6IGdyYWI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC53aWRnZXQtaGVhZGVyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC53aWRnZXQtaGVhZGVyOmFjdGl2ZSB7CiAgICAgICAgY3Vyc29yOiBncmFiYmluZzsKICAgICAgfQoKICAgICAgLndpZGdldC1oZWFkZXIubG9ja2VkIHsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KICAgICAgCiAgICAgIC53aWRnZXQtaGVhZGVyLmxvY2tlZDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMGEwYTBhIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LWhlYWRlciBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LWJvZHkgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC1ib2R5Lmhhcy1oZWFkZXIgewogICAgICAgIHRvcDogNDVweDsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBvcGFjaXR5OiAwLjM7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLWUgewogICAgICAgIGN1cnNvcjogZXctcmVzaXplOwogICAgICAgIHdpZHRoOiAxMnB4OwogICAgICAgIHJpZ2h0OiAtNnB4OwogICAgICAgIHRvcDogMTAlOwogICAgICAgIGhlaWdodDogODAlOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS1zIHsKICAgICAgICBjdXJzb3I6IG5zLXJlc2l6ZTsKICAgICAgICBoZWlnaHQ6IDEycHg7CiAgICAgICAgd2lkdGg6IDgwJTsKICAgICAgICBib3R0b206IC02cHg7CiAgICAgICAgbGVmdDogMTAlOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS1zZSB7CiAgICAgICAgY3Vyc29yOiBzZS1yZXNpemU7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIHJpZ2h0OiAtMnB4OwogICAgICAgIGJvdHRvbTogLTJweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAucmVzaXplLWhhbmRsZS1zZTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogNHB4OwogICAgICAgIGJvdHRvbTogNHB4OwogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgIH0KCiAgICAgIC5ncmlkLXdpZGdldDpob3ZlciAucmVzaXplLWhhbmRsZS1zZSB7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS1zZTpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogICAgICB9CiAgICAgIAogICAgICAucmVzaXplLWhhbmRsZS1zZTpob3Zlcjo6YWZ0ZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICB9CgogICAgICAuZ3JpZC1wbGFjZWhvbGRlciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBvcGFjaXR5OiAwLjE7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogNDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtbGluZXMgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgei1pbmRleDogLTE7CiAgICAgIH0KICAgICAgCiAgICAgIC5ncmlkLWxpbmUtdmVydGljYWwgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtbGluZS1ob3Jpem9udGFsIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgb3BhY2l0eTogMC4zOwogICAgICB9CiAgYF19KTt2YXIgTWlvLCRRZSxMNGEsJDRhLF80YSxlRyxUNGEsSklhLGVOYSxEUWUsTjQsRDRhLEE0YSxQNGE9ZigoKT0+e01pbz0xMCwkUWU9cyhhPT57aWYodHlwZW9mIGE9PSJudW1iZXIiKXJldHVybntob3Jpem9udGFsOmEsdmVydGljYWw6YSx0b3A6YSxyaWdodDphLGJvdHRvbTphLGxlZnQ6YX07bGV0IGU9e3RvcDphLnRvcD8/MTAscmlnaHQ6YS5yaWdodD8/MTAsYm90dG9tOmEuYm90dG9tPz8xMCxsZWZ0OmEubGVmdD8/MTB9O3JldHVybnsuLi5lLGhvcml6b250YWw6KGUubGVmdCtlLnJpZ2h0KS8yLHZlcnRpY2FsOihlLnRvcCtlLmJvdHRvbSkvMn19LCJyZXNvbHZlTWFyZ2lucyIpLEw0YT1zKChhLGUsdCxyLGkpPT57bGV0IG89dC5ob3Jpem9udGFsKihlKzEpLG49TWF0aC5tYXgoYS1vLDApLGw9ZT4wP24vZTowLGQ9aT09PSJhdXRvIj9sOnI7cmV0dXJue2NvbnRhaW5lcldpZHRoOmEsY2VsbFdpZHRoUHg6bCxtYXJnaW5Ib3Jpem9udGFsUHg6dC5ob3Jpem9udGFsLGNlbGxIZWlnaHRQeDpkLG1hcmdpblZlcnRpY2FsUHg6dC52ZXJ0aWNhbH19LCJjYWxjdWxhdGVDZWxsTWV0cmljcyIpLCQ0YT1zKChhLGUsdCk9PntpZihhLmxlbmd0aD09PTApcmV0dXJuIDA7bGV0IHI9TWF0aC5tYXgoLi4uYS5tYXAoaT0+aS55K2kuaCksMCk7cmV0dXJuIHIqdCsocisxKSplLnZlcnRpY2FsfSwiY2FsY3VsYXRlR3JpZEhlaWdodCIpLF80YT1zKChhLGUsdCxyLGkpPT5lPGEueCthLncmJmUrcj5hLngmJnQ8YS55K2EuaCYmdCtpPmEueSwib3ZlcmxhcHMiKSxlRz1zKChhLGUsdCxyLGk9ZS53LG89ZS5oKT0+YS5maWx0ZXIobj0+bi5pZD09PWUuaWQ/ITE6XzRhKG4sdCxyLGksbykpLCJjb2xsZWN0Q29sbGlzaW9ucyIpLFQ0YT1zKChhLGUsdCxyKT0+ZUcoYSxlLHQscikubGVuZ3RoPjAsImNoZWNrQ29sbGlzaW9uIiksSklhPXMoYT0+KHsuLi5hfSksImNsb25lV2lkZ2V0IiksZU5hPXMoYT0+YS5tYXAoSklhKSwiY2xvbmVXaWRnZXRzIiksRFFlPXMoKGEsZSx0LHIpPT57Zm9yKGxldCBvPTA7bzwyMDA7bysrKWZvcihsZXQgbj0wO248PXItZTtuKyspaWYoIWEuc29tZShkPT5fNGEoZCxuLG8sZSx0KSkpcmV0dXJue3g6bix5Om99O3JldHVybnt4OjAseTphLnJlZHVjZSgobyxuKT0+TWF0aC5tYXgobyxuLnkrbi5oKSwwKX19LCJmaW5kQXZhaWxhYmxlUG9zaXRpb24iKSxOND1zKChhLGUsdCxyLGkpPT57bGV0IG89ZU5hKGEpLG49by5maW5kKG09Pm0uaWQ9PT1lKSxsPWEuZmluZChtPT5tLmlkPT09ZSk7aWYoIW58fCFsKXJldHVybiBudWxsO2xldCBkPXt4OnQueCx5OnQueSx3OnQudz8/bi53LGg6dC5oPz9uLmh9O24ueD1kLngsbi55PWQueSxuLnc9ZC53LG4uaD1kLmg7bGV0IGM9ZUcobyxuLGQueCxkLnksZC53LGQuaCk7aWYoYy5sZW5ndGg9PT0wKXJldHVybnt3aWRnZXRzOm8sbW92ZWRXaWRnZXRzOltuLmlkXX07aWYoYy5sZW5ndGg9PT0xKXtsZXQgbT1jWzBdO2lmKCFtLmxvY2tlZCYmIW0ubm9Nb3ZlJiZtLnc9PT1uLncmJm0uaD09PW4uaCl7bGV0IHY9by5maW5kKHg9PnguaWQ9PT1tLmlkKTtpZih2KXtsZXQgeD1sLGI9e3g6di54LHk6di55fTtpZih2Lng9eC54LHYueT14LnksZUcobyxuLG4ueCxuLnksbi53LG4uaCkubGVuZ3RoPT09MCYmZUcobyx2LHYueCx2Lnksdi53LHYuaCkubGVuZ3RoPT09MClyZXR1cm57d2lkZ2V0czpvLG1vdmVkV2lkZ2V0czpbbi5pZCx2LmlkXSxzd2FwcGVkV2l0aDp2LmlkfTt2Lng9Yi54LHYueT1iLnl9fX1sZXQgcD1uZXcgU2V0KFtuLmlkXSk7Zm9yKGxldCBtIG9mIGMpe2lmKG0ubG9ja2VkfHxtLm5vTW92ZSlyZXR1cm4gbnVsbDtsZXQgdj1vLmZpbmQoZz0+Zy5pZD09PW0uaWQpO2lmKCF2KWNvbnRpbnVlO2xldCB4PW8uZmlsdGVyKGc9PmcuaWQhPT1tLmlkKSxiPURRZSh4LHYudyx2Lmgscik7di54PWIueCx2Lnk9Yi55LHAuYWRkKHYuaWQpfXJldHVybiBlRyhvLG4sbi54LG4ueSxuLncsbi5oKS5sZW5ndGg+MD9udWxsOnt3aWRnZXRzOm8sbW92ZWRXaWRnZXRzOkFycmF5LmZyb20ocCl9fSwicmVzb2x2ZVdpZGdldFBsYWNlbWVudCIpLEQ0YT1zKChhLGU9InZlcnRpY2FsIik9PntsZXQgdD1bLi4uYV0uc29ydCgocixpKT0+ZT09PSJ2ZXJ0aWNhbCI/ci55IT09aS55P3IueS1pLnk6ci54LWkueDpyLnghPT1pLng/ci54LWkueDpyLnktaS55KTtmb3IobGV0IHIgb2YgdClpZighKHIubG9ja2VkfHxyLm5vTW92ZSkpaWYoZT09PSJ2ZXJ0aWNhbCIpZm9yKDtyLnk+MCYmIVQ0YShhLHIsci54LHIueS0xKTspci55LT0xO2Vsc2UgZm9yKDtyLng+MCYmIVQ0YShhLHIsci54LTEsci55KTspci54LT0xfSwiY29tcGFjdExheW91dCIpLEE0YT1zKChhLGUpPT5hLm1hcCh0PT57bGV0IHI9ZS5maW5kKGk9PmkuaWQ9PT10LmlkKTtyZXR1cm4gcj97Li4udCwuLi5yfTp0fSksImFwcGx5TGF5b3V0Iil9KTt2YXIgRTRhLEk0YSxONGE9ZigoKT0+e0U0YT1zKCh7cG9pbnRlcjphLGNvbnRhaW5lclJlY3Q6ZSxtZXRyaWNzOnQsY29sdW1uczpyLHdpZGdldDppLHJ0bDpvLGRyYWdPZmZzZXRYOm49MCxkcmFnT2Zmc2V0WTpsPTB9KT0+e2xldCBkPWEuY2xpZW50WC1lLmxlZnQtbixjPWEuY2xpZW50WS1lLnRvcC1sLHA9dC5tYXJnaW5Ib3Jpem9udGFsUHgsdT10Lm1hcmdpblZlcnRpY2FsUHgsbT10LmNlbGxXaWR0aFB4LHY9dC5jZWxsSGVpZ2h0UHgseD1zKChfLHosTyk9Pk1hdGgubWF4KHosTWF0aC5taW4oTyxfKSksImNsYW1wIiksYj14KGQtcCwwLGUud2lkdGgtcCksZz14KGMtdSwwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkseT1tK3Asaz12K3UsQz1NYXRoLnJvdW5kKGIveSk7byYmKEM9ci1pLnctQyksQz14KEMsMCxyLWkudyk7bGV0IE49eChNYXRoLnJvdW5kKGcvayksMCxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik7cmV0dXJue3g6Qyx5Ok59fSwiY29tcHV0ZUdyaWRDb29yZGluYXRlcyIpLEk0YT1zKCh7cG9pbnRlcjphLGNvbnRhaW5lclJlY3Q6ZSxtZXRyaWNzOnQsc3RhcnRXaWR0aDpyLHN0YXJ0SGVpZ2h0Omksc3RhcnRQb2ludGVyOm8saGFuZGxlcjpuLHdpZGdldDpsLGNvbHVtbnM6ZH0pPT57bGV0IGM9YS5jbGllbnRYLW8uY2xpZW50WCxwPWEuY2xpZW50WS1vLmNsaWVudFksdT1yLG09aSx2PXQuY2VsbFdpZHRoUHgrdC5tYXJnaW5Ib3Jpem9udGFsUHgseD10LmNlbGxIZWlnaHRQeCt0Lm1hcmdpblZlcnRpY2FsUHg7aWYobi5pbmNsdWRlcygiZSIpKXtsZXQgeT1NYXRoLnJvdW5kKGMvdik7dT1yK3l9aWYobi5pbmNsdWRlcygicyIpKXtsZXQgeT1NYXRoLnJvdW5kKHAveCk7bT1pK3l9bGV0IGI9TWF0aC5tYXgobC5taW5XfHwxLE1hdGgubWluKHUsbC5tYXhXfHxkLWwueCkpLGc9TWF0aC5tYXgobC5taW5IfHwxLE1hdGgubWluKG0sbC5tYXhIfHxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikpO3JldHVybnt3aWR0aDpiLGhlaWdodDpnfX0sImNvbXB1dGVSZXNpemVEaW1lbnNpb25zIil9KTt2YXIgUjRhLE80YT1mKCgpPT57WHIoKTtXcygpO1I0YT1zKCh7d2lkZ2V0OmEsaG9zdDplLGV2ZW50OnR9KT0+e2xldCByPVt7bmFtZToiRGVsZXRlIHRpbGUiLGljb25OYW1lOiJsdWNpZGU6dHJhc2gyIixhY3Rpb246cyhhc3luYygpPT4oZS5yZW1vdmVXaWRnZXQoYS5pZCksbnVsbCksImFjdGlvbiIpfV07dGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnModCxyKX0sIm9wZW5XaWRnZXRDb250ZXh0TWVudSIpfSk7dmFyIE9pLEZhLEY0YSxCNGE9ZigoKT0+e2xlKCk7dmEoKTtYcigpO1M0YSgpO0M0YSgpO1A0YSgpO040YSgpO080YSgpO09pPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxGYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sRjRhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1kYXNoYm9hcmRncmlkIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFEsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdO3ZhciB5ZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0Rhc2hib2FyZGdyaWQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6TnVtYmVyfSldLHU9WyQoe3R5cGU6T2JqZWN0fSldLHg9WyQoe3R5cGU6TnVtYmVyfSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxPPVskKHt0eXBlOlN0cmluZ30pXSxCPVskKHt0eXBlOkJvb2xlYW59KV0sRT1bJCh7dHlwZTpCb29sZWFufSldLFc9WyQoe2F0dHJpYnV0ZTohMX0pXSxoZT1bJCh7dHlwZTpTdHJpbmd9KV0sbWU9W0soKV0sY2U9W0soKV0sUT1bSygpXSxnZT1bSygpXSxPaSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndpZGdldHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+IndpZGdldHMiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC53aWRnZXRzLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILndpZGdldHM9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sbixsKSxPaSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNlbGxIZWlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImNlbGxIZWlnaHQiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5jZWxsSGVpZ2h0LCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmNlbGxIZWlnaHQ9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sYyxwKSxPaSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1hcmdpbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4ibWFyZ2luImluIEgsImhhcyIpLGdldDpzKEg9PkgubWFyZ2luLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILm1hcmdpbj1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxtLHYpLE9pKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sdW1ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iY29sdW1ucyJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmNvbHVtbnMsImdldCIpLHNldDpzKChILG9lKT0+e0guY29sdW1ucz1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxiLGcpLE9pKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZWRpdGFibGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImVkaXRhYmxlImluIEgsImhhcyIpLGdldDpzKEg9PkguZWRpdGFibGUsImdldCIpLHNldDpzKChILG9lKT0+e0guZWRpdGFibGU9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sayxDKSxPaSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZUFuaW1hdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iZW5hYmxlQW5pbWF0aW9uImluIEgsImhhcyIpLGdldDpzKEg9PkguZW5hYmxlQW5pbWF0aW9uLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmVuYWJsZUFuaW1hdGlvbj1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxfLHopLE9pKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2VsbEhlaWdodFVuaXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImNlbGxIZWlnaHRVbml0ImluIEgsImhhcyIpLGdldDpzKEg9PkguY2VsbEhlaWdodFVuaXQsImdldCIpLHNldDpzKChILG9lKT0+e0guY2VsbEhlaWdodFVuaXQ9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sVCxQKSxPaSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJ0bCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4icnRsImluIEgsImhhcyIpLGdldDpzKEg9PkgucnRsLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILnJ0bD1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxNLFMpLE9pKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0dyaWRMaW5lcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4ic2hvd0dyaWRMaW5lcyJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILnNob3dHcmlkTGluZXMsImdldCIpLHNldDpzKChILG9lKT0+e0guc2hvd0dyaWRMaW5lcz1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxBLEYpLE9pKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGF5b3V0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4ibGF5b3V0cyJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmxheW91dHMsImdldCIpLHNldDpzKChILG9lKT0+e0gubGF5b3V0cz1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxqLEcpLE9pKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZUJyZWFrcG9pbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImFjdGl2ZUJyZWFrcG9pbnQiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5hY3RpdmVCcmVha3BvaW50LCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmFjdGl2ZUJyZWFrcG9pbnQ9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sUixVKSxPaSh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwbGFjZWhvbGRlclBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJwbGFjZWhvbGRlclBvc2l0aW9uImluIEgsImhhcyIpLGdldDpzKEg9PkgucGxhY2Vob2xkZXJQb3NpdGlvbiwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5wbGFjZWhvbGRlclBvc2l0aW9uPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LEkscSksT2kodGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWV0cmljcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4ibWV0cmljcyJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILm1ldHJpY3MsImdldCIpLHNldDpzKChILG9lKT0+e0gubWV0cmljcz1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSx1ZSxZKSxPaSh0aGlzLG51bGwsUSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlc29sdmVkTWFyZ2lucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4icmVzb2x2ZWRNYXJnaW5zImluIEgsImhhcyIpLGdldDpzKEg9PkgucmVzb2x2ZWRNYXJnaW5zLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILnJlc29sdmVkTWFyZ2lucz1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxKLFopLE9pKHRoaXMsbnVsbCxnZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByZXZpZXdXaWRnZXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJwcmV2aWV3V2lkZ2V0cyJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILnByZXZpZXdXaWRnZXRzLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILnByZXZpZXdXaWRnZXRzPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGFlLHJlKSxPaShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpWfSxudWxsLHQpLHllPXI9ZS52YWx1ZSxWJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlZ9KX1zdGF0aWMgZGVtbz1rNGE7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiXTtzdGF0aWMgc3R5bGVzPXo0YTsjZT1GYSh0aGlzLG4sW10pO2dldCB3aWRnZXRzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHdpZGdldHMoVil7dGhpcy4jZT1WfSN0PShGYSh0aGlzLGwpLEZhKHRoaXMsYyw4MCkpO2dldCBjZWxsSGVpZ2h0KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGNlbGxIZWlnaHQoVil7dGhpcy4jdD1WfSNhPShGYSh0aGlzLHApLEZhKHRoaXMsbSwxMCkpO2dldCBtYXJnaW4oKXtyZXR1cm4gdGhpcy4jYX1zZXQgbWFyZ2luKFYpe3RoaXMuI2E9Vn0jcj0oRmEodGhpcyx2KSxGYSh0aGlzLGIsMTIpKTtnZXQgY29sdW1ucygpe3JldHVybiB0aGlzLiNyfXNldCBjb2x1bW5zKFYpe3RoaXMuI3I9Vn0jcz0oRmEodGhpcyxnKSxGYSh0aGlzLGssITApKTtnZXQgZWRpdGFibGUoKXtyZXR1cm4gdGhpcy4jc31zZXQgZWRpdGFibGUoVil7dGhpcy4jcz1WfSNpPShGYSh0aGlzLEMpLEZhKHRoaXMsXywhMCkpO2dldCBlbmFibGVBbmltYXRpb24oKXtyZXR1cm4gdGhpcy4jaX1zZXQgZW5hYmxlQW5pbWF0aW9uKFYpe3RoaXMuI2k9Vn0jbz0oRmEodGhpcyx6KSxGYSh0aGlzLFQsInB4IikpO2dldCBjZWxsSGVpZ2h0VW5pdCgpe3JldHVybiB0aGlzLiNvfXNldCBjZWxsSGVpZ2h0VW5pdChWKXt0aGlzLiNvPVZ9I249KEZhKHRoaXMsUCksRmEodGhpcyxNLCExKSk7Z2V0IHJ0bCgpe3JldHVybiB0aGlzLiNufXNldCBydGwoVil7dGhpcy4jbj1WfSNsPShGYSh0aGlzLFMpLEZhKHRoaXMsQSwhMSkpO2dldCBzaG93R3JpZExpbmVzKCl7cmV0dXJuIHRoaXMuI2x9c2V0IHNob3dHcmlkTGluZXMoVil7dGhpcy4jbD1WfSNjPShGYSh0aGlzLEYpLEZhKHRoaXMsaix2b2lkIDApKTtnZXQgbGF5b3V0cygpe3JldHVybiB0aGlzLiNjfXNldCBsYXlvdXRzKFYpe3RoaXMuI2M9Vn0jZD0oRmEodGhpcyxHKSxGYSh0aGlzLFIsImJhc2UiKSk7Z2V0IGFjdGl2ZUJyZWFrcG9pbnQoKXtyZXR1cm4gdGhpcy4jZH1zZXQgYWN0aXZlQnJlYWtwb2ludChWKXt0aGlzLiNkPVZ9I3U9KEZhKHRoaXMsVSksRmEodGhpcyxJLG51bGwpKTtnZXQgcGxhY2Vob2xkZXJQb3NpdGlvbigpe3JldHVybiB0aGlzLiN1fXNldCBwbGFjZWhvbGRlclBvc2l0aW9uKFYpe3RoaXMuI3U9Vn0jcD0oRmEodGhpcyxxKSxGYSh0aGlzLHVlLG51bGwpKTtnZXQgbWV0cmljcygpe3JldHVybiB0aGlzLiNwfXNldCBtZXRyaWNzKFYpe3RoaXMuI3A9Vn0jZj0oRmEodGhpcyxZKSxGYSh0aGlzLEosbnVsbCkpO2dldCByZXNvbHZlZE1hcmdpbnMoKXtyZXR1cm4gdGhpcy4jZn1zZXQgcmVzb2x2ZWRNYXJnaW5zKFYpe3RoaXMuI2Y9Vn0jaD0oRmEodGhpcyxaKSxGYSh0aGlzLGFlLG51bGwpKTtnZXQgcHJldmlld1dpZGdldHMoKXtyZXR1cm4gdGhpcy4jaH1zZXQgcHJldmlld1dpZGdldHMoVil7dGhpcy4jaD1WfWNvbnRhaW5lckJvdW5kcz0oRmEodGhpcyxyZSksbnVsbCk7ZHJhZ1N0YXRlPW51bGw7cmVzaXplU3RhdGU9bnVsbDtyZXNpemVPYnNlcnZlcjtpbnRlcmFjdGlvbkFjdGl2ZT0hMTthc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jb21wdXRlTWV0cmljcygpLHRoaXMub2JzZXJ2ZVJlc2l6ZSgpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmRpc2Nvbm5lY3RSZXNpemVPYnNlcnZlcigpLHRoaXMucmVsZWFzZVBvaW50ZXJFdmVudHMoKX11cGRhdGVkKFYpeyhWLmhhcygibWFyZ2luIil8fFYuaGFzKCJjb2x1bW5zIil8fFYuaGFzKCJjZWxsSGVpZ2h0Iil8fFYuaGFzKCJjZWxsSGVpZ2h0VW5pdCIpKSYmdGhpcy5jb21wdXRlTWV0cmljcygpLFYuaGFzKCJ3aWRnZXRzIikmJiF0aGlzLmludGVyYWN0aW9uQWN0aXZlJiZ0aGlzLm5vdGlmeUxheW91dENoYW5nZSgpfXJlbmRlcigpe2xldCBWPXRoaXMud2lkZ2V0cztpZihWLmxlbmd0aD09PTApcmV0dXJuIHdgCiAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6bGF5b3V0R3JpZCJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgPGRpdj5ObyB3aWRnZXRzIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTRweDsgbWFyZ2luLXRvcDogOHB4OyI+QWRkIHdpZGdldHMgdG8gcG9wdWxhdGUgdGhlIGRhc2hib2FyZDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgO2xldCBIPXRoaXMuZW5zdXJlTWV0cmljcygpLG9lPXRoaXMucmVzb2x2ZWRNYXJnaW5zPz8kUWUodGhpcy5tYXJnaW4pLHNlPUguY2VsbEhlaWdodFB4LHRlPXRoaXMucHJldmlld1dpZGdldHM/P3RoaXMud2lkZ2V0cyx6ZT0kNGEodGUsb2Usc2UpLE9lPXRoaXMucHJldmlld1dpZGdldHM/bmV3IE1hcCh0aGlzLnByZXZpZXdXaWRnZXRzLm1hcChxZT0+W3FlLmlkLHFlXSkpOm51bGw7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQtY29udGFpbmVyIiBzdHlsZT0iaGVpZ2h0OiAke3plfXB4OyI+CiAgICAgICAgJHt0aGlzLnNob3dHcmlkTGluZXM/dGhpcy5yZW5kZXJHcmlkTGluZXMoSCx6ZSk6bnVsbH0KICAgICAgICAke1YubWFwKHFlPT50aGlzLnJlbmRlcldpZGdldChxZSxILG9lLE9lKSl9CiAgICAgICAgJHt0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb24/dGhpcy5yZW5kZXJQbGFjZWhvbGRlcihILG9lKTpudWxsfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyR3JpZExpbmVzKFYsSCl7bGV0IG9lPVtdLHNlPVtdLHRlPVYuY2VsbFdpZHRoUHgrVi5tYXJnaW5Ib3Jpem9udGFsUHgsemU9Vi5jZWxsSGVpZ2h0UHgrVi5tYXJnaW5WZXJ0aWNhbFB4O2ZvcihsZXQgcWU9MDtxZTw9dGhpcy5jb2x1bW5zO3FlKyspe2xldCBkdD1xZSp0ZStWLm1hcmdpbkhvcml6b250YWxQeCwkZT10aGlzLnB4VG9QZXJjZW50KGR0LFYuY29udGFpbmVyV2lkdGgpO29lLnB1c2god2A8ZGl2IGNsYXNzPSJncmlkLWxpbmUtdmVydGljYWwiIHN0eWxlPSJsZWZ0OiAkeyRlfSU7Ij48L2Rpdj5gKX1sZXQgT2U9TWF0aC5jZWlsKEgvemUpO2ZvcihsZXQgcWU9MDtxZTw9T2U7cWUrKyl7bGV0IGR0PXFlKnplO3NlLnB1c2god2A8ZGl2IGNsYXNzPSJncmlkLWxpbmUtaG9yaXpvbnRhbCIgc3R5bGU9InRvcDogJHtkdH1weDsiPjwvZGl2PmApfXJldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJncmlkLWxpbmVzIj4KICAgICAgICAke29lfQogICAgICAgICR7c2V9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJXaWRnZXQoVixILG9lLHNlKXtsZXQgdGU9dGhpcy5kcmFnU3RhdGU/LndpZGdldElkPT09Vi5pZCx6ZT10aGlzLnJlc2l6ZVN0YXRlPy53aWRnZXRJZD09PVYuaWQsT2U9Vi5sb2NrZWR8fCF0aGlzLmVkaXRhYmxlLHFlPXNlPy5nZXQoVi5pZCk/P251bGwsZHQ9dGU/VjpxZT8/ViwkZT10aGlzLmNvbXB1dGVXaWRnZXRSZWN0KGR0LEgsb2UpLENlPXRoaXMucnRsPyJyaWdodCI6ImxlZnQiLE1lPXRoaXMucHhUb1BlcmNlbnQoJGUubGVmdCxILmNvbnRhaW5lcldpZHRoKSxkZT10aGlzLnB4VG9QZXJjZW50KCRlLndpZHRoLEguY29udGFpbmVyV2lkdGgpLHZlPSIiO2lmKHRlJiZ0aGlzLmRyYWdTdGF0ZT8uY3VycmVudFBvaW50ZXIpe2xldCBBZT10aGlzLmRyYWdTdGF0ZS5jdXJyZW50UG9pbnRlcixaZT10aGlzLmNvbnRhaW5lckJvdW5kcz8/dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxudD1BZS5jbGllbnRYLVplLmxlZnQtdGhpcy5kcmFnU3RhdGUub2Zmc2V0WC0kZS5sZWZ0LHp0PUFlLmNsaWVudFktWmUudG9wLXRoaXMuZHJhZ1N0YXRlLm9mZnNldFktJGUudG9wO3ZlPWB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgke250fXB4LCAke3p0fXB4KTtgfXJldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImdyaWQtd2lkZ2V0ICR7dGU/ImRyYWdnaW5nIjoiIn0gJHt6ZT8icmVzaXppbmciOiIifSIKICAgICAgICBzdHlsZT0iCiAgICAgICAgICAke0NlfTogJHtNZX0lOwogICAgICAgICAgdG9wOiAkeyRlLnRvcH1weDsKICAgICAgICAgIHdpZHRoOiAke2RlfSU7CiAgICAgICAgICBoZWlnaHQ6ICR7JGUuaGVpZ2h0fXB4OwogICAgICAgICAgJHt2ZX0KICAgICAgICAiCiAgICAgICAgZGF0YS13aWRnZXQtaWQ9JHtWLmlkfQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgJHtWLnRpdGxlP3dgCiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ3aWRnZXQtaGVhZGVyICR7T2U/ImxvY2tlZCI6IiJ9IgogICAgICAgICAgICAgICAgICBAcG9pbnRlcmRvd249JHshT2UmJiFWLm5vTW92ZT9BZT0+dGhpcy5zdGFydERyYWcoQWUsVik6bnVsbH0KICAgICAgICAgICAgICAgICAgQGNvbnRleHRtZW51PSR7QWU9PnRoaXMuaGFuZGxlV2lkZ2V0Q29udGV4dE1lbnUoQWUsVil9CiAgICAgICAgICAgICAgICAgIHRhYmluZGV4PSR7IU9lJiYhVi5ub01vdmU/MDotMX0KICAgICAgICAgICAgICAgICAgQGtleWRvd249JHtBZT0+dGhpcy5oYW5kbGVIZWFkZXJLZXlkb3duKEFlLFYpfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAke1YuaWNvbj93YDxkZWVzLWljb24gLmljb249JHtWLmljb259PjwvZGVlcy1pY29uPmA6bnVsbH0KICAgICAgICAgICAgICAgICAgJHtWLnRpdGxlfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDpudWxsfQogICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LWJvZHkgJHtWLnRpdGxlPyJoYXMtaGVhZGVyIjoiIn0iPgogICAgICAgICAgICAke1YuY29udGVudH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHshT2UmJiFWLm5vUmVzaXplP3dgCiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJyZXNpemUtaGFuZGxlIHJlc2l6ZS1oYW5kbGUtZSIKICAgICAgICAgICAgICAgICAgQHBvaW50ZXJkb3duPSR7QWU9PnRoaXMuc3RhcnRSZXNpemUoQWUsViwiZSIpfQogICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0icmVzaXplLWhhbmRsZSByZXNpemUtaGFuZGxlLXMiCiAgICAgICAgICAgICAgICAgIEBwb2ludGVyZG93bj0ke0FlPT50aGlzLnN0YXJ0UmVzaXplKEFlLFYsInMiKX0KICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9InJlc2l6ZS1oYW5kbGUgcmVzaXplLWhhbmRsZS1zZSIKICAgICAgICAgICAgICAgICAgQHBvaW50ZXJkb3duPSR7QWU9PnRoaXMuc3RhcnRSZXNpemUoQWUsViwic2UiKX0KICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICBgOm51bGx9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJQbGFjZWhvbGRlcihWLEgpe2lmKCF0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb24pcmV0dXJuIHdgYDtsZXQgb2U9dGhpcy5jb21wdXRlV2lkZ2V0UmVjdCh0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb24sVixIKSxzZT10aGlzLnJ0bD8icmlnaHQiOiJsZWZ0Iix0ZT10aGlzLnB4VG9QZXJjZW50KG9lLmxlZnQsVi5jb250YWluZXJXaWR0aCksemU9dGhpcy5weFRvUGVyY2VudChvZS53aWR0aCxWLmNvbnRhaW5lcldpZHRoKTtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJncmlkLXdpZGdldCBwbGFjZWhvbGRlciIKICAgICAgICBzdHlsZT0iCiAgICAgICAgICAke3NlfTogJHt0ZX0lOwogICAgICAgICAgdG9wOiAke29lLnRvcH1weDsKICAgICAgICAgIHdpZHRoOiAke3plfSU7CiAgICAgICAgICBoZWlnaHQ6ICR7b2UuaGVpZ2h0fXB4OwogICAgICAgICIKICAgICAgPgogICAgICAgIDxkaXYgY2xhc3M9IndpZGdldC1jb250ZW50Ij48L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXN0YXJ0RHJhZyhWLEgpe2lmKCF0aGlzLmVkaXRhYmxlfHxILm5vTW92ZXx8SC5sb2NrZWQpcmV0dXJuO1YucHJldmVudERlZmF1bHQoKSxWLnN0b3BQcm9wYWdhdGlvbigpO2xldCBvZT1WLmN1cnJlbnRUYXJnZXQuY2xvc2VzdCgiLmdyaWQtd2lkZ2V0Iik7aWYoIW9lKXJldHVybjtsZXQgc2U9b2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5jb250YWluZXJCb3VuZHM9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0aGlzLmVuc3VyZU1ldHJpY3MoKSx0aGlzLmRyYWdTdGF0ZT17d2lkZ2V0SWQ6SC5pZCxwb2ludGVySWQ6Vi5wb2ludGVySWQsb2Zmc2V0WDpWLmNsaWVudFgtc2UubGVmdCxvZmZzZXRZOlYuY2xpZW50WS1zZS50b3Asc3RhcnQ6e2lkOkguaWQseDpILngseTpILnksdzpILncsaDpILmh9LHByZXZpb3VzUG9zaXRpb246e2lkOkguaWQseDpILngseTpILnksdzpILncsaDpILmh9LGN1cnJlbnRQb2ludGVyOntjbGllbnRYOlYuY2xpZW50WCxjbGllbnRZOlYuY2xpZW50WX0sbGFzdFBsYWNlbWVudDpudWxsfSx0aGlzLmludGVyYWN0aW9uQWN0aXZlPSEwLFYuY3VycmVudFRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShWLnBvaW50ZXJJZCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHRoaXMuaGFuZGxlRHJhZ01vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsdGhpcy5oYW5kbGVEcmFnRW5kKSx0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249e2lkOkguaWQseDpILngseTpILnksdzpILncsaDpILmh9fWhhbmRsZURyYWdNb3ZlPXMoVj0+e2lmKCF0aGlzLmRyYWdTdGF0ZSlyZXR1cm47bGV0IEg9dGhpcy5lbnN1cmVNZXRyaWNzKCksb2U9dGhpcy53aWRnZXRzLHNlPW9lLmZpbmQocWU9PnFlLmlkPT09dGhpcy5kcmFnU3RhdGUud2lkZ2V0SWQpO2lmKCFzZSlyZXR1cm47Vi5wcmV2ZW50RGVmYXVsdCgpO2xldCB0ZT10aGlzLmRyYWdTdGF0ZS5wcmV2aW91c1Bvc2l0aW9uLHplPUU0YSh7cG9pbnRlcjp7Y2xpZW50WDpWLmNsaWVudFgsY2xpZW50WTpWLmNsaWVudFl9LGNvbnRhaW5lclJlY3Q6dGhpcy5jb250YWluZXJCb3VuZHM/P3RoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbWV0cmljczpILGNvbHVtbnM6dGhpcy5jb2x1bW5zLHdpZGdldDpzZSxydGw6dGhpcy5ydGwsZHJhZ09mZnNldFg6dGhpcy5kcmFnU3RhdGUub2Zmc2V0WCxkcmFnT2Zmc2V0WTp0aGlzLmRyYWdTdGF0ZS5vZmZzZXRZfSksT2U9TjQob2Usc2UuaWQse3g6emUueCx5OnplLnl9LHRoaXMuY29sdW1ucyx0ZSk7aWYoT2Upe2xldCBxZT1PZS53aWRnZXRzLmZpbmQoJGU9PiRlLmlkPT09c2UuaWQpO3RoaXMuZHJhZ1N0YXRlPXsuLi50aGlzLmRyYWdTdGF0ZSxjdXJyZW50UG9pbnRlcjp7Y2xpZW50WDpWLmNsaWVudFgsY2xpZW50WTpWLmNsaWVudFl9LGxhc3RQbGFjZW1lbnQ6T2UscHJldmlvdXNQb3NpdGlvbjpxZT97aWQ6cWUuaWQseDpxZS54LHk6cWUueSx3OnFlLncsaDpxZS5ofTp7aWQ6c2UuaWQseDp6ZS54LHk6emUueSx3OnNlLncsaDpzZS5ofX0sdGhpcy5wcmV2aWV3V2lkZ2V0cz1PZS53aWRnZXRzO2xldCBkdD1PZS53aWRnZXRzLmZpbmQoJGU9PiRlLmlkPT09c2UuaWQpO2R0P3RoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj17aWQ6ZHQuaWQseDpkdC54LHk6ZHQueSx3OmR0LncsaDpkdC5ofTp0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249e2lkOnNlLmlkLHg6emUueCx5OnplLnksdzpzZS53LGg6c2UuaH19ZWxzZSB0aGlzLnByZXZpZXdXaWRnZXRzPW51bGwsdGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPW51bGw7dGhpcy5yZXF1ZXN0VXBkYXRlKCl9LCJoYW5kbGVEcmFnTW92ZSIpO2hhbmRsZURyYWdFbmQ9cyhWPT57bGV0IEg9dGhpcy5kcmFnU3RhdGU7aWYoIUh8fFYucG9pbnRlcklkIT09SC5wb2ludGVySWQpcmV0dXJuO2xldCBvZT10aGlzLndpZGdldHM7dGhpcy5wcmV2aWV3V2lkZ2V0cz1udWxsO2xldCBzZT10aGlzLnBsYWNlaG9sZGVyUG9zaXRpb24/P0guc3RhcnQsdGU9TjQob2UsSC53aWRnZXRJZCx7eDpzZS54LHk6c2UueX0sdGhpcy5jb2x1bW5zLEgucHJldmlvdXNQb3NpdGlvbik7aWYodGUpe2xldCB6ZT10ZS53aWRnZXRzLmZpbmQoT2U9Pk9lLmlkPT09SC53aWRnZXRJZCk7emUmJih0ZS53aWRnZXRzLnNvbWUocWU9PnFlLmlkPT09SC53aWRnZXRJZD8hMTp6ZS54PHFlLngrcWUudyYmemUueCt6ZS53PnFlLngmJnplLnk8cWUueStxZS5oJiZ6ZS55K3plLmg+cWUueSk/dGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5tYXAocWU9PnFlLmlkPT09SC53aWRnZXRJZD97Li4ucWUseDpILnN0YXJ0LngseTpILnN0YXJ0Lnl9OnFlKTp0aGlzLmNvbW1pdFBsYWNlbWVudCh0ZSxILndpZGdldElkLCJ3aWRnZXQtbW92ZSIpKX1lbHNlIHRoaXMud2lkZ2V0cz10aGlzLndpZGdldHMubWFwKHplPT56ZS5pZD09PUgud2lkZ2V0SWQ/ey4uLnplLHg6SC5zdGFydC54LHk6SC5zdGFydC55fTp6ZSk7dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPW51bGwsdGhpcy5kcmFnU3RhdGU9bnVsbCx0aGlzLmludGVyYWN0aW9uQWN0aXZlPSExLHRoaXMucmVsZWFzZVBvaW50ZXJFdmVudHMoKX0sImhhbmRsZURyYWdFbmQiKTtzdGFydFJlc2l6ZShWLEgsb2UpeyF0aGlzLmVkaXRhYmxlfHxILm5vUmVzaXplfHxILmxvY2tlZHx8KFYucHJldmVudERlZmF1bHQoKSxWLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuZW5zdXJlTWV0cmljcygpLHRoaXMucmVzaXplU3RhdGU9e3dpZGdldElkOkguaWQscG9pbnRlcklkOlYucG9pbnRlcklkLGhhbmRsZXI6b2Usc3RhcnRQb2ludGVyOntjbGllbnRYOlYuY2xpZW50WCxjbGllbnRZOlYuY2xpZW50WX0sc3RhcnQ6e2lkOkguaWQseDpILngseTpILnksdzpILncsaDpILmh9LHN0YXJ0V2lkdGg6SC53LHN0YXJ0SGVpZ2h0OkguaCxsYXN0UGxhY2VtZW50Om51bGx9LHRoaXMuaW50ZXJhY3Rpb25BY3RpdmU9ITAsVi5jdXJyZW50VGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKFYucG9pbnRlcklkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5oYW5kbGVSZXNpemVNb3ZlKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHRoaXMuaGFuZGxlUmVzaXplRW5kKSx0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249e2lkOkguaWQseDpILngseTpILnksdzpILncsaDpILmh9KX1oYW5kbGVSZXNpemVNb3ZlPXMoVj0+e2lmKCF0aGlzLnJlc2l6ZVN0YXRlKXJldHVybjtsZXQgSD10aGlzLmVuc3VyZU1ldHJpY3MoKSxvZT10aGlzLndpZGdldHMsc2U9b2UuZmluZChPZT0+T2UuaWQ9PT10aGlzLnJlc2l6ZVN0YXRlLndpZGdldElkKTtpZighc2UpcmV0dXJuO1YucHJldmVudERlZmF1bHQoKTtsZXQgdGU9STRhKHtwb2ludGVyOntjbGllbnRYOlYuY2xpZW50WCxjbGllbnRZOlYuY2xpZW50WX0sY29udGFpbmVyUmVjdDp0aGlzLmNvbnRhaW5lckJvdW5kcz8/dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxtZXRyaWNzOkgsc3RhcnRXaWR0aDp0aGlzLnJlc2l6ZVN0YXRlLnN0YXJ0V2lkdGgsc3RhcnRIZWlnaHQ6dGhpcy5yZXNpemVTdGF0ZS5zdGFydEhlaWdodCxzdGFydFBvaW50ZXI6dGhpcy5yZXNpemVTdGF0ZS5zdGFydFBvaW50ZXIsaGFuZGxlcjp0aGlzLnJlc2l6ZVN0YXRlLmhhbmRsZXIsd2lkZ2V0OnNlLGNvbHVtbnM6dGhpcy5jb2x1bW5zfSksemU9TjQob2Usc2UuaWQse3g6c2UueCx5OnNlLnksdzp0ZS53aWR0aCxoOnRlLmhlaWdodH0sdGhpcy5jb2x1bW5zLHRoaXMucmVzaXplU3RhdGUuc3RhcnQpO2lmKHplKXt0aGlzLnJlc2l6ZVN0YXRlPXsuLi50aGlzLnJlc2l6ZVN0YXRlLGxhc3RQbGFjZW1lbnQ6emV9LHRoaXMucHJldmlld1dpZGdldHM9emUud2lkZ2V0cztsZXQgT2U9emUud2lkZ2V0cy5maW5kKHFlPT5xZS5pZD09PXNlLmlkKTtPZT90aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249e2lkOk9lLmlkLHg6T2UueCx5Ok9lLnksdzpPZS53LGg6T2UuaH06dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPXtpZDpzZS5pZCx4OnNlLngseTpzZS55LHc6dGUud2lkdGgsaDp0ZS5oZWlnaHR9fWVsc2UgdGhpcy5wcmV2aWV3V2lkZ2V0cz1udWxsLHRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj1udWxsO3RoaXMucmVxdWVzdFVwZGF0ZSgpfSwiaGFuZGxlUmVzaXplTW92ZSIpO2hhbmRsZVJlc2l6ZUVuZD1zKFY9PntsZXQgSD10aGlzLnJlc2l6ZVN0YXRlO2lmKCFIfHxWLnBvaW50ZXJJZCE9PUgucG9pbnRlcklkKXJldHVybjtsZXQgb2U9dGhpcy53aWRnZXRzO3RoaXMucHJldmlld1dpZGdldHM9bnVsbDtsZXQgc2U9SC5sYXN0UGxhY2VtZW50Pz9ONChvZSxILndpZGdldElkLHt4OnRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj8ueD8/SC5zdGFydC54LHk6dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPy55Pz9ILnN0YXJ0Lnksdzp0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb24/Lnc/P0guc3RhcnQudyxoOnRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj8uaD8/SC5zdGFydC5ofSx0aGlzLmNvbHVtbnMsSC5zdGFydCk7c2U/dGhpcy5jb21taXRQbGFjZW1lbnQoc2UsSC53aWRnZXRJZCwid2lkZ2V0LXJlc2l6ZSIpOnRoaXMud2lkZ2V0cz10aGlzLndpZGdldHMubWFwKHRlPT50ZS5pZD09PUgud2lkZ2V0SWQ/ey4uLnRlLHc6SC5zdGFydC53LGg6SC5zdGFydC5ofTp0ZSksdGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPW51bGwsdGhpcy5yZXNpemVTdGF0ZT1udWxsLHRoaXMuaW50ZXJhY3Rpb25BY3RpdmU9ITEsdGhpcy5yZWxlYXNlUG9pbnRlckV2ZW50cygpfSwiaGFuZGxlUmVzaXplRW5kIik7aGFuZGxlSGVhZGVyS2V5ZG93bihWLEgpe2lmKCF0aGlzLmVkaXRhYmxlfHxILm5vTW92ZXx8SC5sb2NrZWQpcmV0dXJuO2xldCBvZT1WLmtleSxzZT1WLnNoaWZ0S2V5LHRlPW51bGw7aWYoc2UmJlsiQXJyb3dMZWZ0IiwiQXJyb3dSaWdodCIsIkFycm93VXAiLCJBcnJvd0Rvd24iXS5pbmNsdWRlcyhvZSkpe1YucHJldmVudERlZmF1bHQoKTtsZXQgJGU9b2U9PT0iQXJyb3dSaWdodCJ8fG9lPT09IkFycm93RG93biI/MTotMTtpZihvZT09PSJBcnJvd0xlZnQifHxvZT09PSJBcnJvd1JpZ2h0Iil7bGV0IENlPUgubWF4Vz8/dGhpcy5jb2x1bW5zLUgueCxNZT1NYXRoLm1heChILm1pblc/PzEsTWF0aC5taW4oQ2UsSC53KyRlKSk7dGU9TjQodGhpcy53aWRnZXRzLEguaWQse3g6SC54LHk6SC55LHc6TWUsaDpILmh9LHRoaXMuY29sdW1ucyl9ZWxzZXtsZXQgQ2U9SC5tYXhIPz9OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksTWU9TWF0aC5tYXgoSC5taW5IPz8xLE1hdGgubWluKENlLEguaCskZSkpO3RlPU40KHRoaXMud2lkZ2V0cyxILmlkLHt4OkgueCx5OkgueSx3OkgudyxoOk1lfSx0aGlzLmNvbHVtbnMpfXRlJiZ0aGlzLmNvbW1pdFBsYWNlbWVudCh0ZSxILmlkLCJ3aWRnZXQtcmVzaXplIik7cmV0dXJufWxldCBPZT17QXJyb3dMZWZ0OntkeDotMSxkeTowfSxBcnJvd1JpZ2h0OntkeDoxLGR5OjB9LEFycm93VXA6e2R4OjAsZHk6LTF9LEFycm93RG93bjp7ZHg6MCxkeToxfX1bb2VdO2lmKCFPZSlyZXR1cm47Vi5wcmV2ZW50RGVmYXVsdCgpO2xldCBxZT1NYXRoLm1heCgwLE1hdGgubWluKHRoaXMuY29sdW1ucy1ILncsSC54K09lLmR4KSksZHQ9TWF0aC5tYXgoMCxILnkrT2UuZHkpO3RlPU40KHRoaXMud2lkZ2V0cyxILmlkLHt4OnFlLHk6ZHR9LHRoaXMuY29sdW1ucyksdGUmJnRoaXMuY29tbWl0UGxhY2VtZW50KHRlLEguaWQsIndpZGdldC1tb3ZlIil9aGFuZGxlV2lkZ2V0Q29udGV4dE1lbnUoVixIKXtWLnByZXZlbnREZWZhdWx0KCksVi5zdG9wUHJvcGFnYXRpb24oKSxSNGEoe3dpZGdldDpILGhvc3Q6dGhpcyxldmVudDpWfSl9Y29tbWl0UGxhY2VtZW50KFYsSCxvZSl7dGhpcy5wcmV2aWV3V2lkZ2V0cz1udWxsLHRoaXMud2lkZ2V0cz1WLndpZGdldHM7bGV0IHNlPXRoaXMud2lkZ2V0cy5maW5kKHRlPT50ZS5pZD09PUgpO3NlJiZ0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KG9lLHtkZXRhaWw6e3dpZGdldDpzZSxkaXNwbGFjZWQ6Vi5tb3ZlZFdpZGdldHMuZmlsdGVyKHRlPT50ZSE9PUgpLHN3YXBwZWRXaXRoOlYuc3dhcHBlZFdpdGh9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9cmVtb3ZlV2lkZ2V0KFYpe2xldCBIPXRoaXMud2lkZ2V0cy5maW5kKG9lPT5vZS5pZD09PVYpO0gmJih0aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLmZpbHRlcihvZT0+b2UuaWQhPT1WKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ3aWRnZXQtcmVtb3ZlIix7ZGV0YWlsOnt3aWRnZXQ6SH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSl9dXBkYXRlV2lkZ2V0KFYsSCl7dGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5tYXAob2U9Pm9lLmlkPT09Vj97Li4ub2UsLi4uSH06b2UpfWdldExheW91dCgpe3JldHVybiB0aGlzLndpZGdldHMubWFwKCh7aWQ6Vix4OkgseTpvZSx3OnNlLGg6dGV9KT0+KHtpZDpWLHg6SCx5Om9lLHc6c2UsaDp0ZX0pKX1zZXRMYXlvdXQoVil7dGhpcy53aWRnZXRzPUE0YSh0aGlzLndpZGdldHMsVil9bG9ja0dyaWQoKXt0aGlzLmVkaXRhYmxlPSExfXVubG9ja0dyaWQoKXt0aGlzLmVkaXRhYmxlPSEwfWFkZFdpZGdldChWLEg9ITEpe2xldCBvZT17Li4uVn07aWYoSHx8b2UuYXV0b1Bvc2l0aW9uKXtsZXQgc2U9RFFlKHRoaXMud2lkZ2V0cyxvZS53LG9lLmgsdGhpcy5jb2x1bW5zKTtvZS54PXNlLngsb2UueT1zZS55fXRoaXMud2lkZ2V0cz1bLi4udGhpcy53aWRnZXRzLG9lXX1jb21wYWN0KFY9InZlcnRpY2FsIil7bGV0IEg9dGhpcy53aWRnZXRzLm1hcChvZT0+KHsuLi5vZX0pKTtENGEoSCxWKSx0aGlzLndpZGdldHM9SH1hcHBseUJyZWFrcG9pbnRMYXlvdXQoVil7dGhpcy5hY3RpdmVCcmVha3BvaW50PVY7bGV0IEg9dGhpcy5sYXlvdXRzPy5bVl07SCYmdGhpcy5zZXRMYXlvdXQoSCl9bm90aWZ5TGF5b3V0Q2hhbmdlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibGF5b3V0LWNoYW5nZSIse2RldGFpbDp7bGF5b3V0OnRoaXMuZ2V0TGF5b3V0KCl9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9ZW5zdXJlTWV0cmljcygpe3JldHVybiB0aGlzLm1ldHJpY3N8fHRoaXMuY29tcHV0ZU1ldHJpY3MoKSx0aGlzLm1ldHJpY3N9Y29tcHV0ZU1ldHJpY3MoKXtpZighdGhpcy5pc0Nvbm5lY3RlZClyZXR1cm47bGV0IFY9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmNvbnRhaW5lckJvdW5kcz1WO2xldCBIPSRRZSh0aGlzLm1hcmdpbik7dGhpcy5yZXNvbHZlZE1hcmdpbnM9SCx0aGlzLm1ldHJpY3M9TDRhKFYud2lkdGgsdGhpcy5jb2x1bW5zLEgsdGhpcy5jZWxsSGVpZ2h0LHRoaXMuY2VsbEhlaWdodFVuaXQpfW9ic2VydmVSZXNpemUoKXt0aGlzLnJlc2l6ZU9ic2VydmVyfHwodGhpcy5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9Pnt0aGlzLmNvbXB1dGVNZXRyaWNzKCl9KSx0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcykpfWRpc2Nvbm5lY3RSZXNpemVPYnNlcnZlcigpe3RoaXMucmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPXZvaWQgMH1yZWxlYXNlUG9pbnRlckV2ZW50cygpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIix0aGlzLmhhbmRsZURyYWdNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHRoaXMuaGFuZGxlRHJhZ0VuZCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHRoaXMuaGFuZGxlUmVzaXplTW92ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0aGlzLmhhbmRsZVJlc2l6ZUVuZCl9cHhUb1BlcmNlbnQoVixIKXtyZXR1cm4gSD9OdW1iZXIoKFYvSCoxMDApLnRvRml4ZWQoNCkpOjB9Y29tcHV0ZVdpZGdldFJlY3QoVixILG9lKXtsZXQgc2U9SC5jZWxsV2lkdGhQeCx0ZT1ILmNlbGxIZWlnaHRQeCx6ZT1WLngqKHNlK29lLmhvcml6b250YWwpK29lLmhvcml6b250YWwsT2U9Vi55Kih0ZStvZS52ZXJ0aWNhbCkrb2UudmVydGljYWwscWU9Vi53KnNlK01hdGgubWF4KDAsVi53LTEpKm9lLmhvcml6b250YWwsZHQ9Vi5oKnRlK01hdGgubWF4KDAsVi5oLTEpKm9lLnZlcnRpY2FsO3JldHVybntsZWZ0OnplLHRvcDpPZSx3aWR0aDpxZSxoZWlnaHQ6ZHR9fXN0YXRpY3tGYShyLHQpfX07cmV0dXJuIHllPXJ9KSgpfSk7dmFyIEg0YT1mKCgpPT57QjRhKCl9KTtmdW5jdGlvbiBxNGEoKXtyZXR1cm4gd2AKICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjEiPlRoaXMgaXMgYSBIMSBoZWFkaW5nPC9kZWVzLWhlYWRpbmc+CiAgICA8ZGVlcy1oZWFkaW5nIGxldmVsPSIyIj5UaGlzIGlzIGEgSDIgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iMyI+VGhpcyBpcyBhIEgzIGhlYWRpbmc8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjQiPlRoaXMgaXMgYSBINCBoZWFkaW5nPC9kZWVzLWhlYWRpbmc+CiAgICA8ZGVlcy1oZWFkaW5nIGxldmVsPSI1Ij5UaGlzIGlzIGEgSDUgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iNiI+VGhpcyBpcyBhIEg2IGhlYWRpbmc8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9ImhyIj5UaGlzIGlzIGFuIGhyIGhlYWRpbmcgKGxldmVsPSJociIpPC9kZWVzLWhlYWRpbmc+CiAgICA8ZGVlcy1oZWFkaW5nIGxldmVsPSI3Ij5UaGlzIGlzIGFuIGhyIGhlYWRpbmcgKGxldmVsPSI3Iik8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9ImhyLXNtYWxsIj5UaGlzIGlzIGFuIGhyLXNtYWxsIGhlYWRpbmcgKGxldmVsPSJoci1zbWFsbCIpPC9kZWVzLWhlYWRpbmc+CiAgICA8ZGVlcy1oZWFkaW5nIGxldmVsPSI4Ij5UaGlzIGlzIGFuIGhyLXNtYWxsIGhlYWRpbmcgKGxldmVsPSI4Iik8L2RlZXMtaGVhZGluZz4KICBgfXZhciBWNGE9ZigoKT0+e2xlKCk7cyhxNGEsImRlbW9GdW5jIil9KTt2YXIgajRhLEFRZSxVNGEsVzRhPWYoKCk9PntsZSgpO1Y0YSgpO21zKCk7UWUoKTtqNGE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEFRZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sVTRhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1oZWFkaW5nIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNIZWFkaW5nIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxqNGEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsZXZlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4ibGV2ZWwiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5sZXZlbCwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmxldmVsPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxqNGEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1xNGE7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiXTsjZT1BUWUodGhpcyxuLCIxIik7Z2V0IGxldmVsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGxldmVsKGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAvKiBIZWFkaW5nIHN0eWxlcy4KICAgICAgICogQ29sb3IgaGllcmFyY2h5OiBoMS1oMiBzdGF5IHByb21pbmVudCB3aXRoIHRleHQtcHJpbWFyeTsgaDMtaDYgc3RlcAogICAgICAgKiBkb3duIHRvIHRleHQtc2Vjb25kYXJ5IHNvIHRoZXkgcmVhZCBhcyBzdWJoZWFkaW5ncyBpbnN0ZWFkIG9mCiAgICAgICAqIG1pbmktaDFzLiBLZWVwcyB0aGUgdmlzdWFsIGxvdWRuZXNzIG91dCBvZiBzbWFsbGVyIGhlYWRpbmdzLiAqLwogICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CiAgICAgIGgxLCBoMiB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQogICAgICBoMywgaDQsIGg1LCBoNiB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAvKiBQZXItbGV2ZWwgdHlwb2dyYXBoeSArIHNwYWNpbmcuCiAgICAgICAqIE1hcmdpbiBzY2FsZXMgd2l0aCBpbXBvcnRhbmNlOiBoMSBnZXRzIHRoZSBtb3N0IGJyZWF0aGluZyByb29tLAogICAgICAgKiBoNiB0aGUgbGVhc3QuIFRvcCBtYXJnaW4gPiBib3R0b20gbWFyZ2luIHNvIGhlYWRpbmdzIGdyb3VwIHdpdGgKICAgICAgICogdGhlIGNvbnRlbnQgdGhhdCBmb2xsb3dzIHRoZW0uICovCiAgICAgIGgxIHsKICAgICAgICAvKiBoMSB1c2VzIHdlaWdodCA1MDAsIG5vdCA2MDA6IHRoZSBDYWwgU2FucyBkaXNwbGF5IGZvbnQgaXMKICAgICAgICAgKiBhbHJlYWR5IHN0eWxpemVkIGVub3VnaCB0aGF0IGJvbGQgKyBtYXggY29udHJhc3QgKyAzMnB4IHN0YWNrcwogICAgICAgICAqIHRvbyBtdWNoIGVtcGhhc2lzLiA1MDAga2VlcHMgdGhlIHR5cG9ncmFwaGljIGltcGFjdCB3aXRob3V0CiAgICAgICAgICogc2hvdXRpbmcuICovCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7SnJhfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTsKICAgICAgICBtYXJnaW46IHZhcigtLWRlZXMtc3BhY2luZy0yeGwpIDAgdmFyKC0tZGVlcy1zcGFjaW5nLWxnKTsKICAgICAgfQogICAgICBoMiB7CiAgICAgICAgZm9udC1zaXplOiAyOHB4OwogICAgICAgIG1hcmdpbjogdmFyKC0tZGVlcy1zcGFjaW5nLXhsKSAwIHZhcigtLWRlZXMtc3BhY2luZy1tZCk7CiAgICAgIH0KICAgICAgaDMgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBtYXJnaW46IHZhcigtLWRlZXMtc3BhY2luZy14bCkgMCB2YXIoLS1kZWVzLXNwYWNpbmctbWQpOwogICAgICB9CiAgICAgIGg0IHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgbWFyZ2luOiB2YXIoLS1kZWVzLXNwYWNpbmctbGcpIDAgdmFyKC0tZGVlcy1zcGFjaW5nLXNtKTsKICAgICAgfQogICAgICBoNSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIG1hcmdpbjogdmFyKC0tZGVlcy1zcGFjaW5nLW1kKSAwIHZhcigtLWRlZXMtc3BhY2luZy1zbSk7CiAgICAgIH0KICAgICAgaDYgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtYXJnaW46IHZhcigtLWRlZXMtc3BhY2luZy1tZCkgMCB2YXIoLS1kZWVzLXNwYWNpbmcteHMpOwogICAgICB9CgogICAgICAvKiBIb3Jpem9udGFsIHJ1bGUgc3R5bGUgaGVhZGluZyAqLwogICAgICAuaGVhZGluZy1ociB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBtYXJnaW46IHZhcigtLWRlZXMtc3BhY2luZy1sZykgMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQogICAgICAvKiBGYWRlIGxpbmVzIHRvd2FyZCBhbmQgYXdheSBmcm9tIHRleHQgZm9yIGhyIHN0eWxlICovCiAgICAgIC5oZWFkaW5nLWhyOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCwgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3Ryb25nKSk7CiAgICAgICAgbWFyZ2luOiAwIHZhcigtLWRlZXMtc3BhY2luZy1zbSk7CiAgICAgIH0KICAgICAgLmhlYWRpbmctaHI6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3Ryb25nKSwgdHJhbnNwYXJlbnQpOwogICAgICAgIG1hcmdpbjogMCB2YXIoLS1kZWVzLXNwYWNpbmctc20pOwogICAgICB9CiAgICAgIC8qIFNtYWxsIGhyIHZhcmlhbnQgd2l0aCByZWR1Y2VkIG1hcmdpbnMgKi8KICAgICAgLmhlYWRpbmctaHIuaGVhZGluZy1oci1zbWFsbCB7CiAgICAgICAgbWFyZ2luOiB2YXIoLS1kZWVzLXNwYWNpbmctc20pIDA7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICB9CiAgICAgIC5oZWFkaW5nLWhyLmhlYWRpbmctaHItc21hbGw6OmJlZm9yZSwKICAgICAgLmhlYWRpbmctaHIuaGVhZGluZy1oci1zbWFsbDo6YWZ0ZXIgewogICAgICAgIG1hcmdpbjogMCB2YXIoLS1kZWVzLXNwYWNpbmctc20pOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtzd2l0Y2godGhpcy5sZXZlbCl7Y2FzZSIxIjpyZXR1cm4gd2A8aDE+PHNsb3Q+PC9zbG90PjwvaDE+YDtjYXNlIjIiOnJldHVybiB3YDxoMj48c2xvdD48L3Nsb3Q+PC9oMj5gO2Nhc2UiMyI6cmV0dXJuIHdgPGgzPjxzbG90Pjwvc2xvdD48L2gzPmA7Y2FzZSI0IjpyZXR1cm4gd2A8aDQ+PHNsb3Q+PC9zbG90PjwvaDQ+YDtjYXNlIjUiOnJldHVybiB3YDxoNT48c2xvdD48L3Nsb3Q+PC9oNT5gO2Nhc2UiNiI6cmV0dXJuIHdgPGg2PjxzbG90Pjwvc2xvdD48L2g2PmA7Y2FzZSI3IjpjYXNlImhyIjpyZXR1cm4gd2A8ZGl2IGNsYXNzPSJoZWFkaW5nLWhyIj48c2xvdD48L3Nsb3Q+PC9kaXY+YDtjYXNlIjgiOmNhc2UiaHItc21hbGwiOnJldHVybiB3YDxkaXYgY2xhc3M9ImhlYWRpbmctaHIgaGVhZGluZy1oci1zbWFsbCI+PHNsb3Q+PC9zbG90PjwvZGl2PmA7ZGVmYXVsdDpyZXR1cm4gd2A8aDE+PHNsb3Q+PC9zbG90PjwvaDE+YH19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLEFRZSh0aGlzLGwpfXN0YXRpY3tBUWUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIEc0YT1mKCgpPT57VzRhKCl9KTt2YXIgWTRhPWYoKCk9PnthbSgpfSk7dmFyIEs0YSxaNGE9ZigoKT0+e2xlKCk7SzRhPXMoKCk9PndgCiAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxNnB4OyI+CiAgICA8IS0tIFNtYWxsIHNldCBvZiBwYWdlcyAtLT4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNHB4OyI+CiAgICAgIDxzcGFuPjUgcGFnZXMsIHN0YXJ0aW5nIGF0IDE6PC9zcGFuPgogICAgICA8ZGVlcy1wYWdpbmF0aW9uCiAgICAgICAgLnRvdGFsPSR7NX0KICAgICAgICAucGFnZT0kezF9CiAgICAgICAgQHBhZ2UtY2hhbmdlPSR7YT0+Y29uc29sZS5sb2coIlBhZ2UgY2hhbmdlZCB0byIsYS5kZXRhaWwucGFnZSl9CiAgICAgID48L2RlZXMtcGFnaW5hdGlvbj4KICAgIDwvZGl2PgoKICAgIDwhLS0gTGFyZ2VyIHNldCBvZiBwYWdlcyAtLT4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNHB4OyI+CiAgICAgIDxzcGFuPjE1IHBhZ2VzLCBzdGFydGluZyBhdCA4Ojwvc3Bhbj4KICAgICAgPGRlZXMtcGFnaW5hdGlvbgogICAgICAgIC50b3RhbD0kezE1fQogICAgICAgIC5wYWdlPSR7OH0KICAgICAgICBAcGFnZS1jaGFuZ2U9JHthPT5jb25zb2xlLmxvZygiUGFnZSBjaGFuZ2VkIHRvIixhLmRldGFpbC5wYWdlKX0KICAgICAgPjwvZGVlcy1wYWdpbmF0aW9uPgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgUFFlLHRHLFg0YSxRNGE9ZigoKT0+e2xlKCk7WjRhKCk7UWUoKTtQUWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHRHPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxYNGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXBhZ2luYXRpb24iKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1BhZ2luYXRpb24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk51bWJlcixyZWZsZWN0OiEwfSldLGQ9WyQoe3R5cGU6TnVtYmVyLHJlZmxlY3Q6ITB9KV0sUFFlKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4icGFnZSJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnBhZ2UsImdldCIpLHNldDpzKCh2LHgpPT57di5wYWdlPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxQUWUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0b3RhbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4idG90YWwiaW4gdiwiaGFzIiksZ2V0OnModj0+di50b3RhbCwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnRvdGFsPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxQUWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1LNGE7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiXTsjZT10Ryh0aGlzLG4sMSk7Z2V0IHBhZ2UoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcGFnZShtKXt0aGlzLiNlPW19I3Q9KHRHKHRoaXMsbCksdEcodGhpcyxjLDEpKTtnZXQgdG90YWwoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdG90YWwobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQogICAgICBidXR0b24gewogICAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIG1hcmdpbjogMCAycHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMiLCIjY2NjIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7CiAgICAgIH0KICAgICAgYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VlZSIsIiM0NDQiKX07CiAgICAgIH0KICAgICAgYnV0dG9uOmRpc2FibGVkIHsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYWFhIiwiIzY2NiIpfTsKICAgICAgfQogICAgICBidXR0b24uY3VycmVudCB7CiAgICAgICAgYmFja2dyb3VuZDogIzAwNTBiOTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KICAgICAgc3Bhbi5lbGxpcHNpcyB7CiAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMiLCIjY2NjIil9OwogICAgICB9CiAgICBgXTtnZXQgcGFnZXMoKXtsZXQgbT1bXSx2PXRoaXMudG90YWwseD10aGlzLnBhZ2U7aWYodjw9Nylmb3IobGV0IGI9MTtiPD12O2IrKyltLnB1c2goYik7ZWxzZXttLnB1c2goMSkseD40JiZtLnB1c2goIi4uLiIpO2xldCBiPU1hdGgubWF4KDIseC0yKSxnPU1hdGgubWluKHYtMSx4KzIpO2ZvcihsZXQgeT1iO3k8PWc7eSsrKW0ucHVzaCh5KTt4PHYtMyYmbS5wdXNoKCIuLi4iKSxtLnB1c2godil9cmV0dXJuIG19cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxidXR0b24KICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5jaGFuZ2VQYWdlKHRoaXMucGFnZS0xKX0KICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLnBhZ2U8PTF9CiAgICAgICAgYXJpYS1sYWJlbD0iUHJldmlvdXMgcGFnZSIKICAgICAgPgogICAgICAgIOKAuQogICAgICA8L2J1dHRvbj4KICAgICAgJHt0aGlzLnBhZ2VzLm1hcChtPT5tPT09Ii4uLiI/d2A8c3BhbiBjbGFzcz0iZWxsaXBzaXMiPuKApjwvc3Bhbj5gOndgCiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9IiR7bT09PXRoaXMucGFnZT8iY3VycmVudCI6IiJ9IgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuY2hhbmdlUGFnZShtKX0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke209PT10aGlzLnBhZ2V9CiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSJQYWdlICR7bX0iCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHttfQogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICBgKX0KICAgICAgPGJ1dHRvbgogICAgICAgIEBjbGljaz0keygpPT50aGlzLmNoYW5nZVBhZ2UodGhpcy5wYWdlKzEpfQogICAgICAgID9kaXNhYmxlZD0ke3RoaXMucGFnZT49dGhpcy50b3RhbH0KICAgICAgICBhcmlhLWxhYmVsPSJOZXh0IHBhZ2UiCiAgICAgID4KICAgICAgICDigLoKICAgICAgPC9idXR0b24+CiAgICBgfWNoYW5nZVBhZ2UobSl7bTwxfHxtPnRoaXMudG90YWx8fG09PT10aGlzLnBhZ2V8fCh0aGlzLnBhZ2U9bSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJwYWdlLWNoYW5nZSIse2RldGFpbDp7cGFnZTp0aGlzLnBhZ2V9LGJ1YmJsZXM6ITB9KSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0Ryh0aGlzLHApfXN0YXRpY3t0RyhyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgSjRhPWYoKCk9PntRNGEoKX0pO3ZhciBlM2E9ZigoKT0+e1lzKCl9KTt2YXIgdDNhLGEzYT1mKCgpPT57bGUoKTtFUWUoKTt0M2E9cygoKT0+e2xldCBhPVt7a2V5OiJlbWFpbCIsbGFiZWw6IkFjY291bnQgZW1haWwiLHZhbHVlOiJhZG1pbkBleGFtcGxlLmNvbSJ9LHtrZXk6InN0YXR1cyIsbGFiZWw6IlN0YXR1cyIsdmFsdWU6ImVuYWJsZWQifSx7a2V5OiJtb2RlIixsYWJlbDoiTW9kZSIsdmFsdWU6InByb2R1Y3Rpb24ifSx7a2V5OiJhdXRvUmVuZXciLGxhYmVsOiJBdXRvLXJlbmV3Iix2YWx1ZToib24ifSx7a2V5OiJ0aHJlc2hvbGQiLGxhYmVsOiJSZW5ld2FsIHRocmVzaG9sZCIsdmFsdWU6IjMwIGRheXMifV0sZT1be25hbWU6IkVkaXQiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiRWRpdCBjbGlja2VkIiksImFjdGlvbiIpfV0sdD1be25hbWU6IkNvbmZpZ3VyZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJDb25maWd1cmUgY2xpY2tlZCIpLCJhY3Rpb24iKX1dLHI9W3tuYW1lOiJSZXNldCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJSZXNldCBjbGlja2VkIiksImFjdGlvbiIpfSx7bmFtZToiRWRpdCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJFZGl0IGNsaWNrZWQiKSwiYWN0aW9uIil9XTtyZXR1cm4gd2AKICAgIDxkZWVzLWRlbW93cmFwcGVyPgogICAgICA8c3R5bGU+CiAgICAgICAgJHtYYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4OwogICAgICAgICAgfQogICAgICAgIGB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICAgIDxkZWVzLXNldHRpbmdzCiAgICAgICAgICAuaGVhZGluZz0keyJBQ01FIFNldHRpbmdzIn0KICAgICAgICAgIC5zZXR0aW5nc0ZpZWxkcz0ke2F9CiAgICAgICAgICAuYWN0aW9ucz0ke2V9CiAgICAgICAgPjwvZGVlcy1zZXR0aW5ncz4KCiAgICAgICAgPGRlZXMtc2V0dGluZ3MKICAgICAgICAgIC5oZWFkaW5nPSR7IkFDTUUgU2V0dGluZ3MifQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7Ik5vIEFDTUUgY29uZmlndXJhdGlvbiB5ZXQuIENsaWNrIENvbmZpZ3VyZSB0byBzZXQgdXAgYXV0b21hdGVkIFRMUyBjZXJ0aWZpY2F0ZSBpc3N1YW5jZS4ifQogICAgICAgICAgLmFjdGlvbnM9JHt0fQogICAgICAgID48L2RlZXMtc2V0dGluZ3M+CgogICAgICAgIDxkZWVzLXNldHRpbmdzCiAgICAgICAgICAuaGVhZGluZz0keyJTZXJ2ZXIgQ29uZmlnIn0KICAgICAgICAgIC5zZXR0aW5nc0ZpZWxkcz0ke1t7a2V5OiJob3N0IixsYWJlbDoiSG9zdG5hbWUiLHZhbHVlOiJwcm94eS5leGFtcGxlLmNvbSJ9LHtrZXk6InBvcnQiLGxhYmVsOiJQb3J0Iix2YWx1ZToiNDQzIn1dfQogICAgICAgICAgLmFjdGlvbnM9JHtyfQogICAgICAgID48L2RlZXMtc2V0dGluZ3M+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIGFHLERjLHIzYSxFUWU9ZigoKT0+e2xlKCk7YTNhKCk7bXMoKTtRZSgpO1FyKCk7YUc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LERjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxyM2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNldHRpbmdzIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTZXR0aW5ncyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBrPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe2F0dHJpYnV0ZTohMX0pXSx4PVskKHthdHRyaWJ1dGU6ITF9KV0sYUcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoZWFkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJoZWFkaW5nImluIEMsImhhcyIpLGdldDpzKEM9PkMuaGVhZGluZywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmhlYWRpbmc9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLGFHKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGVzY3JpcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImRlc2NyaXB0aW9uImluIEMsImhhcyIpLGdldDpzKEM9PkMuZGVzY3JpcHRpb24sImdldCIpLHNldDpzKChDLE4pPT57Qy5kZXNjcmlwdGlvbj1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGMscCksYUcodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXR0aW5nc0ZpZWxkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ic2V0dGluZ3NGaWVsZHMiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5zZXR0aW5nc0ZpZWxkcywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnNldHRpbmdzRmllbGRzPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSxhRyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImFjdGlvbnMiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5hY3Rpb25zLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuYWN0aW9ucz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGIsZyksYUcobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6a30sbnVsbCx0KSx5PXI9ZS52YWx1ZSxrJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KX1zdGF0aWMgZGVtbz10M2E7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiXTsjZT1EYyh0aGlzLG4sIiIpO2dldCBoZWFkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcoayl7dGhpcy4jZT1rfSN0PShEYyh0aGlzLGwpLERjKHRoaXMsYywiIikpO2dldCBkZXNjcmlwdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBkZXNjcmlwdGlvbihrKXt0aGlzLiN0PWt9I2E9KERjKHRoaXMscCksRGModGhpcyxtLFtdKSk7Z2V0IHNldHRpbmdzRmllbGRzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNldHRpbmdzRmllbGRzKGspe3RoaXMuI2E9a30jcj0oRGModGhpcyx2KSxEYyh0aGlzLGIsW10pKTtnZXQgYWN0aW9ucygpe3JldHVybiB0aGlzLiNyfXNldCBhY3Rpb25zKGspe3RoaXMuI3I9a31zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgfQoKICAgICAgLnNldHRpbmdzR3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE4MHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDEycHggMjRweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAuc2V0dGluZ3NGaWVsZCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAuZmllbGRMYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLmZpZWxkVmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAuc2V0dGluZ3NEZXNjcmlwdGlvbiB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b246YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTIlKSIsImhzbCgwIDAlIDEzJSkiKX07CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24ucHJpbWFyeSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA4KSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSAvIDAuMDgpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDUwJSkiLCJoc2woMjEzLjEgOTMuOSUgNzUlKSIpfTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbi5wcmltYXJ5OmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMTUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4xNSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBrPXRoaXMuc2V0dGluZ3NGaWVsZHMubGVuZ3RoPjAsQz10aGlzLmFjdGlvbnMubGVuZ3RoPjA7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGUgLmhlYWRpbmc9JHt0aGlzLmhlYWRpbmd9PgogICAgICAgICR7az93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzR3JpZCI+CiAgICAgICAgICAgICAgICAke3RoaXMuc2V0dGluZ3NGaWVsZHMubWFwKE49PndgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3NGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGRMYWJlbCI+JHtOLmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZFZhbHVlIj4ke04udmFsdWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzRGVzY3JpcHRpb24iPiR7dGhpcy5kZXNjcmlwdGlvbn08L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAke0M/d2AKICAgICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImJvdHRvbUJ1dHRvbnMiPgogICAgICAgICAgICAgICAgJHt0aGlzLmFjdGlvbnMubWFwKChOLF8pPT53YAogICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJib3R0b21CdXR0b24gJHtfPT09dGhpcy5hY3Rpb25zLmxlbmd0aC0xPyJwcmltYXJ5IjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+Ti5hY3Rpb24oKX0KICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAke04ubmFtZX0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksRGModGhpcyxnKX1zdGF0aWN7RGMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIHMzYT1mKCgpPT57RVFlKCl9KTt2YXIgaTNhLHJHLG8zYSxuM2EsbDNhPWYoKCk9PntsZSgpO0dzZSgpO2kzYT1zKGFzeW5jKGEsZSk9Pm5ldyBQcm9taXNlKHQ9PntsZXQgcj0hMSxpPXMobD0+e3J8fChyPSEwLGUmJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLG8pLHQobCkpfSwiZmluaXNoIiksbz1zKCgpPT57d2luZG93LmNsZWFyVGltZW91dChuKSxpKCExKX0sImhhbmRsZUFib3J0Iiksbj13aW5kb3cuc2V0VGltZW91dCgoKT0+e2koITApfSxhKTtlJiZlLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixvLHtvbmNlOiEwfSl9KSwid2FpdEZvclByb2dyZXNzVGljayIpLHJHPXMoKGE9IkNvbnRpbnVlIik9Plt7bmFtZTphLGFjdGlvbjpzKGFzeW5jIGU9PmU/LmdvTmV4dCgpLCJhY3Rpb24iKX1dLCJjcmVhdGVDb250aW51ZU1lbnVPcHRpb25zIiksbzNhPXMoKCk9Plt7dGl0bGU6IkFjY291bnQgU2V0dXAiLGNvbnRlbnQ6d2AKICAgICAgPGRlZXMtZm9ybT4KICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0iZW1haWwiIGxhYmVsPSJXb3JrIEVtYWlsIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0icGFzc3dvcmQiIGxhYmVsPSJDcmVhdGUgUGFzc3dvcmQiIHR5cGU9InBhc3N3b3JkIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgPC9kZWVzLWZvcm0+CiAgICBgLG1lbnVPcHRpb25zOnJHKCl9LHt0aXRsZToiUHJvZmlsZSBEZXRhaWxzIixjb250ZW50OndgCiAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBrZXk9ImZpcnN0TmFtZSIgbGFiZWw9IkZpcnN0IE5hbWUiIHJlcXVpcmVkPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJsYXN0TmFtZSIgbGFiZWw9Ikxhc3QgTmFtZSIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgIDwvZGVlcy1mb3JtPgogICAgYCxtZW51T3B0aW9uczpyRygpfSx7dGl0bGU6IkNvbnRhY3QgSW5mb3JtYXRpb24iLGNvbnRlbnQ6d2AKICAgICAgPGRlZXMtZm9ybT4KICAgICAgICA8ZGVlcy1pbnB1dC1waG9uZSBrZXk9InBob25lIiBsYWJlbD0iTW9iaWxlIE51bWJlciIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXBob25lPgogICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJjb21wYW55IiBsYWJlbD0iQ29tcGFueSI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgIDwvZGVlcy1mb3JtPgogICAgYCxtZW51T3B0aW9uczpyRygpfSx7dGl0bGU6IlByb3Zpc2lvbiBXb3Jrc3BhY2UiLGNvbnRlbnQ6d2AKICAgICAgPGRlZXMtcGFuZWw+CiAgICAgICAgPHA+CiAgICAgICAgICBXZSBhcmUgY3JlYXRpbmcgeW91ciBzdGFydGVyIHdvcmtzcGFjZSwgYXBwbHlpbmcgeW91ciBvbmJvYXJkaW5nIGNob2ljZXMsCiAgICAgICAgICBhbmQgcHJlcGFyaW5nIGEgbGl2ZSBwcmV2aWV3LiBUaGlzIHN0ZXAgbW92ZXMgZm9yd2FyZCBhdXRvbWF0aWNhbGx5IHdoZW4KICAgICAgICAgIHRoZSBlbnZpcm9ubWVudCBpcyByZWFkeS4KICAgICAgICA8L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIGAscHJvZ3Jlc3NTdGVwOntsYWJlbDoiV29ya3NwYWNlIHNldHVwIixwZXJjZW50YWdlOjgsaW5kZXRlcm1pbmF0ZTohMCxzdGF0dXNSb3dzOjQsc3RhdHVzVGV4dDoiQWxsb2NhdGluZyBhIGNsZWFuIHdvcmtzcGFjZS4uLiIsdGVybWluYWxMaW5lczpbIkFsbG9jYXRpbmcgYSBjbGVhbiB3b3Jrc3BhY2UiXX0sdmFsaWRhdGlvbkZ1bmM6cyhhc3luYyhhLGUsdCk9PntsZXQgcj1be2xpbmU6IkFsbG9jYXRpbmcgYSBjbGVhbiB3b3Jrc3BhY2UiLHBlcmNlbnRhZ2U6OCxkZWxheTo1MDB9LHtsaW5lOiJTeW5jaW5nIGFjY291bnQgcHJlZmVyZW5jZXMiLHBlcmNlbnRhZ2U6MjQsZGVsYXk6NjUwfSx7bGluZToiSW5zdGFsbGluZyBzZWxlY3RlZCBpbnRlZ3JhdGlvbnMiLHBlcmNlbnRhZ2U6NDcsZGVsYXk6NzAwfSx7bGluZToiR2VuZXJhdGluZyBzdGFydGVyIHByb2plY3QgZmlsZXMiLHBlcmNlbnRhZ2U6NzEsZGVsYXk6NjUwfSx7bGluZToiQm9vdGluZyB0aGUgbGl2ZSBwcmV2aWV3IGVudmlyb25tZW50IixwZXJjZW50YWdlOjkyLGRlbGF5OjcwMH1dO2EucmVzZXRQcm9ncmVzc1N0ZXAoKTtmb3IobGV0W2ksb11vZiByLmVudHJpZXMoKSlpZih0Py5hYm9ydGVkfHwoaT09PTA/YS51cGRhdGVQcm9ncmVzc1N0ZXAoe3BlcmNlbnRhZ2U6by5wZXJjZW50YWdlLGluZGV0ZXJtaW5hdGU6ITAsc3RhdHVzVGV4dDpgJHtvLmxpbmV9Li4uYCx0ZXJtaW5hbExpbmVzOltvLmxpbmVdfSk6KGEuYXBwZW5kUHJvZ3Jlc3NTdGVwTGluZShvLmxpbmUpLGEudXBkYXRlUHJvZ3Jlc3NTdGVwKHtwZXJjZW50YWdlOm8ucGVyY2VudGFnZSxpbmRldGVybWluYXRlOiEwLHN0YXR1c1RleHQ6YCR7by5saW5lfS4uLmB9KSksIWF3YWl0IGkzYShvLmRlbGF5LHQpKSlyZXR1cm47YS5hcHBlbmRQcm9ncmVzc1N0ZXBMaW5lKCJXb3Jrc3BhY2UgcmVhZHkiKSxhLnVwZGF0ZVByb2dyZXNzU3RlcCh7cGVyY2VudGFnZToxMDAsaW5kZXRlcm1pbmF0ZTohMSxzdGF0dXNUZXh0OiJXb3Jrc3BhY2UgcmVhZHkuIn0pLGF3YWl0IGkzYSgzNTAsdCl9LCJ2YWxpZGF0aW9uRnVuYyIpfSx7dGl0bGU6IlRlYW0gU2l6ZSIsY29udGVudDp3YAogICAgICA8ZGVlcy1mb3JtPgogICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICBrZXk9InRlYW1TaXplIgogICAgICAgICAgbGFiZWw9IkhvdyBiaWcgaXMgeW91ciB0ZWFtPyIKICAgICAgICAgIC5vcHRpb25zPSR7W3tsYWJlbDoiMS01Iix2YWx1ZToiMS01In0se2xhYmVsOiI2LTIwIix2YWx1ZToiNi0yMCJ9LHtsYWJlbDoiMjEtNTAiLHZhbHVlOiIyMS01MCJ9LHtsYWJlbDoiNTErIix2YWx1ZToiNTErIn1dfQogICAgICAgICAgcmVxdWlyZWQKICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICA8L2RlZXMtZm9ybT4KICAgIGAsbWVudU9wdGlvbnM6ckcoKX0se3RpdGxlOiJHb2FscyIsY29udGVudDp3YAogICAgICA8ZGVlcy1mb3JtPgogICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICBrZXk9ImdvYWwiCiAgICAgICAgICBsYWJlbD0iTWFpbiBvYmplY3RpdmUiCiAgICAgICAgICAub3B0aW9ucz0ke1t7bGFiZWw6Ik9uYm9hcmRpbmciLHZhbHVlOiJvbmJvYXJkaW5nIn0se2xhYmVsOiJBbmFseXRpY3MiLHZhbHVlOiJhbmFseXRpY3MifSx7bGFiZWw6IkF1dG9tYXRpb24iLHZhbHVlOiJhdXRvbWF0aW9uIn1dfQogICAgICAgICAgcmVxdWlyZWQKICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICA8L2RlZXMtZm9ybT4KICAgIGAsbWVudU9wdGlvbnM6ckcoKX0se3RpdGxlOiJSZXZpZXcgJiBMYXVuY2giLGNvbnRlbnQ6d2AKICAgICAgPGRlZXMtcGFuZWw+CiAgICAgICAgPHA+CiAgICAgICAgICBZb3VyIHdvcmtzcGFjZSBpcyByZWFkeS4gUmV2aWV3IHRoZSBjb2xsZWN0ZWQgZGV0YWlscyBhbmQgbGF1bmNoIHdoZW4KICAgICAgICAgIHlvdSBhcmUgcmVhZHkgdG8gc3RhcnQuCiAgICAgICAgPC9wPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiTGF1bmNoIixhY3Rpb246cyhhc3luYyBhPT57YT8ub3ZlcmxheSYmYXdhaXQgYS5kZXN0cm95KCl9LCJhY3Rpb24iKX1dfV0sImNyZWF0ZURlbW9TdGVwcyIpLG4zYT1zKCgpPT53YAogIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7Ij4KICAgIDxkaXYKICAgICAgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNnB4OyBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgei1pbmRleDogMTA7IgogICAgPgogICAgICA8ZGVlcy1idXR0b24KICAgICAgICBAY2xpY2s9JHthc3luYygpPT57YXdhaXQgS20uY3JlYXRlQW5kU2hvdyh7c3RlcHM6bzNhKCl9KX19CiAgICAgID5PcGVuIHN0ZXBwZXIgYXMgb3ZlcmxheTwvZGVlcy1idXR0b24+CiAgICA8L2Rpdj4KICAgIDxkZWVzLXN0ZXBwZXIgLnN0ZXBzPSR7bzNhKCl9PjwvZGVlcy1zdGVwcGVyPgogIDwvZGl2PgpgLCJzdGVwcGVyRGVtbyIpfSk7dmFyIFI0LGlvLEttLEdzZT1mKCgpPT57V3MoKTtsZSgpO2VhKCk7bDNhKCk7UWUoKTttcygpO0dpKCk7TTEoKTtjYygpO0NRZSgpO1FyKCk7UjQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGlvPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxLbT0oKCk9PntsZXQgYT1baWUoImRlZXMtc3RlcHBlciIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxQPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzU3RlcHBlciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpPYmplY3R9KV0sdT1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0seD1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0seT1bJCh7dHlwZTpOdW1iZXIsYXR0cmlidXRlOiExfSldLE49WyQoe3R5cGU6T2JqZWN0LGF0dHJpYnV0ZTohMX0pXSxPPVskKHt0eXBlOkJvb2xlYW4sYXR0cmlidXRlOiExfSldLFI0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RlcHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InN0ZXBzImluIFMsImhhcyIpLGdldDpzKFM9PlMuc3RlcHMsImdldCIpLHNldDpzKChTLEUpPT57Uy5zdGVwcz1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksUjQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFN0ZXAiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InNlbGVjdGVkU3RlcCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnNlbGVjdGVkU3RlcCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnNlbGVjdGVkU3RlcD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGMscCksUjQodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvdmVybGF5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJvdmVybGF5ImluIFMsImhhcyIpLGdldDpzKFM9PlMub3ZlcmxheSwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLm92ZXJsYXk9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxtLHYpLFI0KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2FuY2VsYWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iY2FuY2VsYWJsZSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmNhbmNlbGFibGUsImdldCIpLHNldDpzKChTLEUpPT57Uy5jYW5jZWxhYmxlPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixnKSxSNCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0ZXBwZXJaSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InN0ZXBwZXJaSW5kZXgiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zdGVwcGVyWkluZGV4LCJnZXQiKSxzZXQ6cygoUyxFKT0+e1Muc3RlcHBlclpJbmRleD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGssQyksUjQodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3RpdmVGb3JtIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJhY3RpdmVGb3JtImluIFMsImhhcyIpLGdldDpzKFM9PlMuYWN0aXZlRm9ybSwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLmFjdGl2ZUZvcm09RX0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLFI0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZlRm9ybVZhbGlkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJhY3RpdmVGb3JtVmFsaWQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5hY3RpdmVGb3JtVmFsaWQsImdldCIpLHNldDpzKChTLEUpPT57Uy5hY3RpdmVGb3JtVmFsaWQ9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxULFApLFI0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89bjNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTGF5b3V0IiwiRm9ybSJdO3N0YXRpYyBhc3luYyBjcmVhdGVBbmRTaG93KE0pe2xldCBTPWRvY3VtZW50LmJvZHksRT1uZXcgQjtyZXR1cm4gRS5zdGVwcz1NLnN0ZXBzLEUub3ZlcmxheT0hMCxNLmNhbmNlbGFibGUhPT12b2lkIDAmJihFLmNhbmNlbGFibGU9TS5jYW5jZWxhYmxlKSxFLndpbmRvd0xheWVyPWF3YWl0IEdzLmNyZWF0ZUFuZFNob3coe2JsdXI6ITB9KSxTLmFwcGVuZChFLndpbmRvd0xheWVyKSxTLmFwcGVuZChFKSxFLnN0ZXBwZXJaSW5kZXg9WHQuZ2V0TmV4dFpJbmRleCgpLFh0LnJlZ2lzdGVyKEUsRS5zdGVwcGVyWkluZGV4KSxFfSNlPWlvKHRoaXMsbixbXSk7Z2V0IHN0ZXBzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHN0ZXBzKE0pe3RoaXMuI2U9TX0jdD0oaW8odGhpcyxsKSxpbyh0aGlzLGMsdm9pZCAwKSk7Z2V0IHNlbGVjdGVkU3RlcCgpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZFN0ZXAoTSl7dGhpcy4jdD1NfSNhPShpbyh0aGlzLHApLGlvKHRoaXMsbSwhMSkpO2dldCBvdmVybGF5KCl7cmV0dXJuIHRoaXMuI2F9c2V0IG92ZXJsYXkoTSl7dGhpcy4jYT1NfSNyPShpbyh0aGlzLHYpLGlvKHRoaXMsYiwhMCkpO2dldCBjYW5jZWxhYmxlKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGNhbmNlbGFibGUoTSl7dGhpcy4jcj1NfSNzPShpbyh0aGlzLGcpLGlvKHRoaXMsaywxZTMpKTtnZXQgc3RlcHBlclpJbmRleCgpe3JldHVybiB0aGlzLiNzfXNldCBzdGVwcGVyWkluZGV4KE0pe3RoaXMuI3M9TX0jaT0oaW8odGhpcyxDKSxpbyh0aGlzLF8sbnVsbCkpO2dldCBhY3RpdmVGb3JtKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGFjdGl2ZUZvcm0oTSl7dGhpcy4jaT1NfSNvPShpbyh0aGlzLHopLGlvKHRoaXMsVCwhMCkpO2dldCBhY3RpdmVGb3JtVmFsaWQoKXtyZXR1cm4gdGhpcy4jb31zZXQgYWN0aXZlRm9ybVZhbGlkKE0pe3RoaXMuI289TX1hY3RpdmVGb3JtU3Vic2NyaXB0aW9uPWlvKHRoaXMsUCk7d2luZG93TGF5ZXI7Y29uc3RydWN0b3IoKXtzdXBlcigpfXN0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLyoKICAgICAgICogSW4gb3ZlcmxheSBtb2RlIHRoZSBob3N0IGlzICJ0cmFuc3BhcmVudCIgdG8gbGF5b3V0IOKAlCB0aGUgaW5uZXIKICAgICAgICogLnN0ZXBwZXJDb250YWluZXIub3ZlcmxheSBpcyB3aGF0IHBpbnMgdG8gdGhlIHZpZXdwb3J0IGFuZCBjYXJyaWVzIHRoZQogICAgICAgKiB6LWluZGV4LiBLZWVwaW5nIDpob3N0IHVucG9zaXRpb25lZCBhdm9pZHMgbmVzdGluZyB0aGUgc3RhY2tpbmcgY29udGV4dAogICAgICAgKiB1bmRlciBhbiBhdXRvLXotaW5kZXggcGFyZW50ICh3aGljaCB3YXMgdHJhcHBpbmcgLnN0ZXBwZXJDb250YWluZXIKICAgICAgICogYmVsb3cgRGVlc1dpbmRvd0xheWVyJ3Mgc2libGluZyBsYXllcnMpLiBUaGlzIG1pcnJvcnMgaG93IGRlZXMtbW9kYWwKICAgICAgICoga2VlcHMgaXRzIG93biA6aG9zdCB1bnBvc2l0aW9uZWQgYW5kIGxldHMgLm1vZGFsQ29udGFpbmVyIGRyaXZlIGxheW91dC4KICAgICAgICovCiAgICAgIDpob3N0KFtvdmVybGF5XSkgewogICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICB9CgogICAgICAuc3RlcHBlckNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuc3RlcHBlckNvbnRhaW5lci5vdmVybGF5IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgIH0KCiAgICAgIC8qIEV4aXQgYW5pbWF0aW9uIOKAlCByZXZlcnNlIG9mIHRoZSBlbnRyeS4gVGlsZXMgc2xpZGUgRE9XTiArIGZhZGUgb3V0LAogICAgICAgICBtaXJyb3JpbmcgdGhlIC5lbnRyYW5jZSBzbGlkZS11cC4gVGhlIHRyYW5zaXRpb24gb3ZlcnJpZGUgaXMgbmVlZGVkCiAgICAgICAgIGJlY2F1c2UgZGVlcy10aWxlLnN0ZXAgaGFzIGl0cyBvd24gMC43cyB0cmFuc2l0aW9uIGZvciBzdGVwIHNlbGVjdGlvbgogICAgICAgICB3aGljaCB3b3VsZCBvdGhlcndpc2UgbWFrZSB0aGUgZXhpdCBzbHVnZ2lzaC4gKi8KICAgICAgLnN0ZXBwZXJDb250YWluZXIucHJlZGVzdHJveSBkZWVzLXRpbGUuc3RlcCB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpOwogICAgICAgIGZpbHRlcjogb3BhY2l0eSgwKTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMsIGZpbHRlciAwLjJzOwogICAgICB9CgogICAgICBkZWVzLXRpbGUuc3RlcCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIG1heC13aWR0aDogNTAwcHg7CiAgICAgICAgbWluLWhlaWdodDogMzAwcHg7CiAgICAgICAgbWFyZ2luOiBhdXRvOwogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgZmlsdGVyOiBvcGFjaXR5KDAuNTUpIHNhdHVyYXRlKDAuODUpOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjdzIGN1YmljLWJlemllcigwLjg3LCAwLCAwLjEzLCAxKSwgZmlsdGVyIDAuN3MgY3ViaWMtYmV6aWVyKDAuODcsIDAsIDAuMTMsIDEpOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICBkZWVzLXRpbGUuc3RlcC5zZWxlY3RlZCB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsKICAgICAgICBmaWx0ZXI6IG9wYWNpdHkoMSkgc2F0dXJhdGUoMSk7CiAgICAgICAgdXNlci1zZWxlY3Q6IGF1dG87CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS5zdGVwLmhpZGRlblN0ZXAgewogICAgICAgIGZpbHRlcjogb3BhY2l0eSgwKTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlLnN0ZXAuZW50cmFuY2UgewogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cyBlYXNlLCBmaWx0ZXIgMC4zNXMgZWFzZTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlLnN0ZXAuZW50cmFuY2UuaGlkZGVuU3RlcCB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpOwogICAgICB9CgogICAgICBkZWVzLXRpbGUuc3RlcDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDB2aDsKICAgICAgfQoKICAgICAgLnN0ZXBwZXJDb250YWluZXIub3ZlcmxheSBkZWVzLXRpbGUuc3RlcDo6cGFydChvdXRlcikgewogICAgICAgIGJveC1zaGFkb3c6CiAgICAgICAgICAwIDAgMCAxcHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wMykiLCJoc2woMCAwJSAxMDAlIC8gMC4wMykiKX0sCiAgICAgICAgICAwIDhweCA0MHB4ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMTIpIiwiaHNsKDAgMCUgMCUgLyAwLjUpIil9LAogICAgICAgICAgMCAycHggOHB4ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDYpIiwiaHNsKDAgMCUgMCUgLyAwLjI1KSIpfTsKICAgICAgfQoKICAgICAgLnN0ZXAtaGVhZGVyIHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAwIDhweCAwIDEycHg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuZ29CYWNrLXNwYWNlciB7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgfQoKICAgICAgLnN0ZXAtaGVhZGVyIC5nb0JhY2sgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLnN0ZXAtaGVhZGVyIC5nb0JhY2s6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7CiAgICAgIH0KCiAgICAgIC5zdGVwLWhlYWRlciAuZ29CYWNrOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkwJSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICB9CgogICAgICAuc3RlcC1oZWFkZXIgLmdvQmFjayBzcGFuIHsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgLnN0ZXAtaGVhZGVyIC5nb0JhY2s6aG92ZXIgc3BhbiB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpOwogICAgICB9CgogICAgICAuc3RlcC1oZWFkZXIgLnN0ZXBDb3VudGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgfQoKICAgICAgLnN0ZXAtYm9keSAudGl0bGUgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nLXRvcDogMzJweDsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICB9CgogICAgICAuc3RlcC1ib2R5IC5jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAzMnB4OwogICAgICB9CgogICAgICAuc3RlcC1ib2R5IC5jb250ZW50LndpdGhQcm9ncmVzc1N0ZXAgewogICAgICAgIHBhZGRpbmctdG9wOiAyMHB4OwogICAgICB9CgogICAgICAucHJvZ3Jlc3NTdGVwIHsKICAgICAgICBwYWRkaW5nOiAwIDI0cHg7CiAgICAgIH0KCiAgICAgIC8qIC0tLSBGb290ZXI6IG1vZGFsLXN0eWxlIGJvdHRvbSBidXR0b25zIC0tLSAqLwogICAgICAuYm90dG9tQnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDA7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC8qIEJvcmRlci1sZWZ0IHNlcGFyYXRvciBvbiBldmVyeSBidXR0b24gRVhDRVBUIHRoZSBmaXJzdCBvbmUuCiAgICAgICAgIFVzZXMgZ2VuZXJhbCBzaWJsaW5nIHNvIHRoZSBzdGVwSGludCAoaWYgcmVuZGVyZWQgb24gdGhlIGxlZnQpIGRvZXMKICAgICAgICAgbm90IHNoaWZ0IHdoaWNoIGJ1dHRvbiBjb3VudHMgYXMgImZpcnN0IiBhbmQgY3JlYXRlIGEgcGhhbnRvbSBib3JkZXIuICovCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24gfiAuYm90dG9tQnV0dG9uIHsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b246YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTIlKSIsImhzbCgwIDAlIDEzJSkiKX07CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24ucHJpbWFyeSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA4KSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSAvIDAuMDgpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDUwJSkiLCJoc2woMjEzLjEgOTMuOSUgNzUlKSIpfTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbi5wcmltYXJ5OmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMTIpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4xMikiKX07CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24uZGlzYWJsZWQgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIG9wYWNpdHk6IDAuNDsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uLmRpc2FibGVkOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLyogSGludCBzaG93biBvbiB0aGUgbGVmdCBvZiB0aGUgZm9vdGVyIHdoZW4gdGhlIGFjdGl2ZSBzdGVwJ3MgZm9ybSBoYXMKICAgICAgICAgdW5maWxsZWQgcmVxdWlyZWQgZmllbGRzLiBVc2VzIG1hcmdpbi1yaWdodDogYXV0byB0byBwdXNoIHJpZ2h0LWFsaWduZWQKICAgICAgICAgYnV0dG9ucyB0byB0aGUgcmlnaHQgd2hpbGUga2VlcGluZyB0aGUgaGludCBmbHVzaC1sZWZ0LiAqLwogICAgICAuYm90dG9tQnV0dG9ucyAuc3RlcEhpbnQgewogICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0ic3RlcHBlckNvbnRhaW5lciAke3RoaXMub3ZlcmxheT8ib3ZlcmxheSI6IiJ9IgogICAgICAgIHN0eWxlPSR7dGhpcy5vdmVybGF5P2B6LWluZGV4OiAke3RoaXMuc3RlcHBlclpJbmRleH07YDoiIn0KICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZU91dHNpZGVDbGlja30KICAgICAgPgogICAgICAgICR7dGhpcy5zdGVwcy5tYXAoKE0sUyk9PntsZXQgRT1NPT09dGhpcy5zZWxlY3RlZFN0ZXAsQT10aGlzLmdldEluZGV4T2ZTdGVwKE0pPnRoaXMuZ2V0SW5kZXhPZlN0ZXAodGhpcy5zZWxlY3RlZFN0ZXApLEY9Uz09PTAsVz1NLnByb2dyZXNzU3RlcD90aGlzLmdldFByb2dyZXNzU3RlcFN0YXRlKE0pOm51bGw7cmV0dXJuIHdgPGRlZXMtdGlsZQogICAgICAgICAgICBjbGFzcz0ic3RlcCAke0U/InNlbGVjdGVkIjoiIn0gJHtBPyJoaWRkZW5TdGVwIjoiIn0gJHtGPyJlbnRyYW5jZSI6IiJ9IgogICAgICAgICAgPgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InN0ZXAtaGVhZGVyIj4KICAgICAgICAgICAgICAke0Y/d2A8ZGl2IGNsYXNzPSJnb0JhY2stc3BhY2VyIj48L2Rpdj5gOndgPGRpdiBjbGFzcz0iZ29CYWNrIiBAY2xpY2s9JHt0aGlzLmdvQmFja30+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBJbnRlciI+PC08L3NwYW4+IGdvIHRvIHByZXZpb3VzIHN0ZXAKICAgICAgICAgICAgICAgICAgPC9kaXY+YH0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwQ291bnRlciI+CiAgICAgICAgICAgICAgICBTdGVwICR7UysxfSBvZiAke3RoaXMuc3RlcHMubGVuZ3RofQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC1ib2R5Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+JHtNLnRpdGxlfTwvZGl2PgogICAgICAgICAgICAgICR7TS5wcm9ncmVzc1N0ZXAmJlc/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzU3RlcCI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLXByb2dyZXNzYmFyCiAgICAgICAgICAgICAgICAgICAgLmxhYmVsPSR7Vy5sYWJlbD8/TS50aXRsZX0KICAgICAgICAgICAgICAgICAgICAucGVyY2VudGFnZT0ke1cucGVyY2VudGFnZT8/MH0KICAgICAgICAgICAgICAgICAgICAuaW5kZXRlcm1pbmF0ZT0ke1cuaW5kZXRlcm1pbmF0ZT8/ITF9CiAgICAgICAgICAgICAgICAgICAgLnNob3dQZXJjZW50YWdlPSR7Vy5zaG93UGVyY2VudGFnZT8/ITB9CiAgICAgICAgICAgICAgICAgICAgLnN0YXR1c1RleHQ9JHtXLnN0YXR1c1RleHQ/PyIifQogICAgICAgICAgICAgICAgICAgIC50ZXJtaW5hbExpbmVzPSR7Vy50ZXJtaW5hbExpbmVzPz9bXX0KICAgICAgICAgICAgICAgICAgICAuc3RhdHVzUm93cz0ke1cuc3RhdHVzUm93cz8/M30KICAgICAgICAgICAgICAgICAgPjwvZGVlcy1wcm9ncmVzc2Jhcj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCAke00ucHJvZ3Jlc3NTdGVwPyJ3aXRoUHJvZ3Jlc3NTdGVwIjoiIn0iPiR7TS5jb250ZW50fTwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJib3R0b21CdXR0b25zIj4KICAgICAgICAgICAgICAke0UmJnRoaXMuYWN0aXZlRm9ybSE9PW51bGwmJiF0aGlzLmFjdGl2ZUZvcm1WYWxpZD93YDxkaXYgY2xhc3M9InN0ZXBIaW50Ij5Db21wbGV0ZSBmb3JtIHRvIGNvbnRpbnVlPC9kaXY+YDoiIn0KICAgICAgICAgICAgICAke3RoaXMuY2FuY2VsYWJsZT93YDxkaXYKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYm90dG9tQnV0dG9uIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNhbmNlbFJlcXVlc3QoKX0KICAgICAgICAgICAgICAgICAgPkNhbmNlbDwvZGl2PmA6IiJ9CiAgICAgICAgICAgICAgJHtNLm1lbnVPcHRpb25zPy5tYXAoKGosRyk9PntsZXQgaGU9Rz09PU0ubWVudU9wdGlvbnMubGVuZ3RoLTEsUj1oZSYmdGhpcy5hY3RpdmVGb3JtIT09bnVsbCYmIXRoaXMuYWN0aXZlRm9ybVZhbGlkO3JldHVybiB3YAogICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImJvdHRvbUJ1dHRvbiAke2hlPyJwcmltYXJ5IjoiIn0gJHtSPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmhhbmRsZU1lbnVPcHRpb25DbGljayhqLGhlKX0KICAgICAgICAgICAgICAgICAgPiR7ai5uYW1lfTwvZGl2PgogICAgICAgICAgICAgICAgYH0pPz8iIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2RlZXMtdGlsZT5gfSl9CiAgICAgIDwvZGl2PgogICAgYH1nZXRJbmRleE9mU3RlcD1zKE09PnRoaXMuc3RlcHMuZmluZEluZGV4KFM9Pk09PT1TKSwiZ2V0SW5kZXhPZlN0ZXAiKTthc3luYyBmaXJzdFVwZGF0ZWQoKXthd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSxhd2FpdCB0aGlzLmRvbXRvb2xzLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCksdGhpcy5zdGVwcy5sZW5ndGgmJih0aGlzLnByZXBhcmVTdGVwRm9yQWN0aXZhdGlvbih0aGlzLnN0ZXBzWzBdKSx0aGlzLnNlbGVjdGVkU3RlcD10aGlzLnN0ZXBzWzBdLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsYXdhaXQgdGhpcy5zZXRTY3JvbGxTdGF0dXMoKSxhd2FpdCB0aGlzLmRvbXRvb2xzLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMzUwKSx0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnN0ZXAuZW50cmFuY2UiKT8uY2xhc3NMaXN0LnJlbW92ZSgiZW50cmFuY2UiKSl9YXN5bmMgdXBkYXRlZChNKXshTS5oYXMoInNlbGVjdGVkU3RlcCIpJiYhTS5oYXMoInN0ZXBzIil8fGF3YWl0IHRoaXMuc2V0U2Nyb2xsU3RhdHVzKCl9c2Nyb2xsZXI7YXN5bmMgc2V0U2Nyb2xsU3RhdHVzKCl7bGV0IE09dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zdGVwcGVyQ29udGFpbmVyIiksUz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnNlbGVjdGVkIik7aWYoIVMpcmV0dXJuO3RoaXMuc2NhbkFjdGl2ZUZvcm0oUyksTS5zdHlsZS5wYWRkaW5nVG9wfHwoTS5zdHlsZS5wYWRkaW5nVG9wPWAke00ub2Zmc2V0SGVpZ2h0LzItUy5vZmZzZXRIZWlnaHQvMn1weGApO2xldCBFPVMub2Zmc2V0VG9wLU0ub2Zmc2V0SGVpZ2h0LzIrUy5vZmZzZXRIZWlnaHQvMjthd2FpdCAkaS5zZXR1cERvbVRvb2xzKCksdGhpcy5zY3JvbGxlcnx8KHRoaXMuc2Nyb2xsZXI9bmV3IEh0LlN3ZWV0U2Nyb2xsKHt2ZXJ0aWNhbDohMCxob3Jpem9udGFsOiExLGVhc2luZzoiZWFzZUluT3V0RXhwbyIsZHVyYXRpb246NzAwfSxNKSksIXRoaXMuc2VsZWN0ZWRTdGVwLnZhbGlkYXRpb25GdW5jQ2FsbGVkJiZ0aGlzLnNlbGVjdGVkU3RlcC52YWxpZGF0aW9uRnVuYyYmKHRoaXMuc2VsZWN0ZWRTdGVwLmFib3J0Q29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyLHRoaXMuc2VsZWN0ZWRTdGVwLnZhbGlkYXRpb25GdW5jQ2FsbGVkPSEwLHRoaXMucnVuU3RlcFZhbGlkYXRpb24odGhpcy5zZWxlY3RlZFN0ZXAsUyx0aGlzLnNlbGVjdGVkU3RlcC5hYm9ydENvbnRyb2xsZXIuc2lnbmFsKSksdGhpcy5zY3JvbGxlci50byhFKX1hc3luYyBnb0JhY2soKXtsZXQgTT10aGlzLnN0ZXBzLmZpbmRJbmRleChBPT5BPT09dGhpcy5zZWxlY3RlZFN0ZXApO2lmKE08PTApcmV0dXJuO3RoaXMuc2VsZWN0ZWRTdGVwLmFib3J0Q29udHJvbGxlciYmdGhpcy5zZWxlY3RlZFN0ZXAuYWJvcnRDb250cm9sbGVyLmFib3J0KCk7bGV0IFM9dGhpcy5zdGVwc1tNXTtTLnZhbGlkYXRpb25GdW5jQ2FsbGVkPSExO2xldCBFPXRoaXMuc3RlcHNbTS0xXTtFLnZhbGlkYXRpb25GdW5jQ2FsbGVkPSExLHRoaXMucHJlcGFyZVN0ZXBGb3JBY3RpdmF0aW9uKEUpLHRoaXMuc2VsZWN0ZWRTdGVwPUUsYXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UsYXdhaXQgdGhpcy5kb210b29scy5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDEwMCksdGhpcy5zZWxlY3RlZFN0ZXAub25SZXR1cm5Ub1N0ZXBGdW5jPy4odGhpcyx0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnNlbGVjdGVkIikpfWdvTmV4dCgpe2xldCBNPXRoaXMuc3RlcHMuZmluZEluZGV4KEE9PkE9PT10aGlzLnNlbGVjdGVkU3RlcCk7aWYoTTwwfHxNPj10aGlzLnN0ZXBzLmxlbmd0aC0xKXJldHVybjt0aGlzLnNlbGVjdGVkU3RlcC5hYm9ydENvbnRyb2xsZXImJnRoaXMuc2VsZWN0ZWRTdGVwLmFib3J0Q29udHJvbGxlci5hYm9ydCgpO2xldCBTPXRoaXMuc3RlcHNbTV07Uy52YWxpZGF0aW9uRnVuY0NhbGxlZD0hMTtsZXQgRT10aGlzLnN0ZXBzW00rMV07RS52YWxpZGF0aW9uRnVuY0NhbGxlZD0hMSx0aGlzLnByZXBhcmVTdGVwRm9yQWN0aXZhdGlvbihFKSx0aGlzLnNlbGVjdGVkU3RlcD1FfXJlc2V0UHJvZ3Jlc3NTdGVwKE09dGhpcy5zZWxlY3RlZFN0ZXApe00/LnByb2dyZXNzU3RlcCYmKE0ucHJvZ3Jlc3NTdGVwU3RhdGU9dGhpcy5jcmVhdGVJbml0aWFsUHJvZ3Jlc3NTdGVwU3RhdGUoTSksdGhpcy5yZXF1ZXN0VXBkYXRlKCkpfXVwZGF0ZVByb2dyZXNzU3RlcChNLFM9dGhpcy5zZWxlY3RlZFN0ZXApe2lmKCFTPy5wcm9ncmVzc1N0ZXApcmV0dXJuO2xldCBFPXRoaXMuZ2V0UHJvZ3Jlc3NTdGVwU3RhdGUoUyk7Uy5wcm9ncmVzc1N0ZXBTdGF0ZT17Li4uRSwuLi5NLHRlcm1pbmFsTGluZXM6TS50ZXJtaW5hbExpbmVzP1suLi5NLnRlcm1pbmFsTGluZXNdOlsuLi5FLnRlcm1pbmFsTGluZXM/P1tdXX0sdGhpcy5yZXF1ZXN0VXBkYXRlKCl9YXBwZW5kUHJvZ3Jlc3NTdGVwTGluZShNLFM9dGhpcy5zZWxlY3RlZFN0ZXApe2lmKCFTPy5wcm9ncmVzc1N0ZXApcmV0dXJuO2xldCBFPXRoaXMuZ2V0UHJvZ3Jlc3NTdGVwU3RhdGUoUyk7dGhpcy51cGRhdGVQcm9ncmVzc1N0ZXAoe3Rlcm1pbmFsTGluZXM6Wy4uLkUudGVybWluYWxMaW5lcz8/W10sTV19LFMpfXNjYW5BY3RpdmVGb3JtKE0pe2xldCBTPU0ucXVlcnlTZWxlY3RvcigiZGVlcy1mb3JtIik7aWYoUz09PXRoaXMuYWN0aXZlRm9ybSl7dGhpcy5yZWNvbXB1dGVGb3JtVmFsaWQoKTtyZXR1cm59aWYodGhpcy5hY3RpdmVGb3JtU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpLHRoaXMuYWN0aXZlRm9ybVN1YnNjcmlwdGlvbj12b2lkIDAsdGhpcy5hY3RpdmVGb3JtPVMsIVMpe3RoaXMuYWN0aXZlRm9ybVZhbGlkPSEwO3JldHVybn10aGlzLnJlY29tcHV0ZUZvcm1WYWxpZCgpLHRoaXMuYWN0aXZlRm9ybVN1YnNjcmlwdGlvbj1TLmNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKCgpPT57dGhpcy5yZWNvbXB1dGVGb3JtVmFsaWQoKX0pfXJlY29tcHV0ZUZvcm1WYWxpZCgpe2xldCBNPXRoaXMuYWN0aXZlRm9ybTtpZighTSl7dGhpcy5hY3RpdmVGb3JtVmFsaWQ9ITA7cmV0dXJufWxldCBTPU0uZ2V0Rm9ybUVsZW1lbnRzKCk7dGhpcy5hY3RpdmVGb3JtVmFsaWQ9Uy5ldmVyeShFPT4hRS5yZXF1aXJlZHx8RS52YWx1ZSE9PW51bGwmJkUudmFsdWUhPT12b2lkIDAmJkUudmFsdWUhPT0iIil9YXN5bmMgaGFuZGxlTWVudU9wdGlvbkNsaWNrKE0sUyl7bGV0IEU9dGhpcy5hY3RpdmVGb3JtO2lmKFMmJkUpe2lmKCF0aGlzLmFjdGl2ZUZvcm1WYWxpZClyZXR1cm47YXdhaXQgbmV3IFByb21pc2UoQT0+e0UuYWRkRXZlbnRMaXN0ZW5lcigiZm9ybURhdGEiLCgpPT5BKCkse29uY2U6ITB9KSxFLmdhdGhlckFuZERpc3BhdGNoKCl9KX1hd2FpdCBNLmFjdGlvbih0aGlzKX1nZXRQcm9ncmVzc1N0ZXBTdGF0ZShNKXtyZXR1cm4gTS5wcm9ncmVzc1N0ZXA/KE0ucHJvZ3Jlc3NTdGVwU3RhdGV8fChNLnByb2dyZXNzU3RlcFN0YXRlPXRoaXMuY3JlYXRlSW5pdGlhbFByb2dyZXNzU3RlcFN0YXRlKE0pKSxNLnByb2dyZXNzU3RlcFN0YXRlKTp7fX1jcmVhdGVJbml0aWFsUHJvZ3Jlc3NTdGVwU3RhdGUoTSl7cmV0dXJue2xhYmVsOk0ucHJvZ3Jlc3NTdGVwPy5sYWJlbD8/TS50aXRsZSxwZXJjZW50YWdlOk0ucHJvZ3Jlc3NTdGVwPy5wZXJjZW50YWdlPz8wLGluZGV0ZXJtaW5hdGU6TS5wcm9ncmVzc1N0ZXA/LmluZGV0ZXJtaW5hdGU/PyExLHNob3dQZXJjZW50YWdlOk0ucHJvZ3Jlc3NTdGVwPy5zaG93UGVyY2VudGFnZT8/ITAsc3RhdHVzVGV4dDpNLnByb2dyZXNzU3RlcD8uc3RhdHVzVGV4dD8/IiIsdGVybWluYWxMaW5lczpbLi4uTS5wcm9ncmVzc1N0ZXA/LnRlcm1pbmFsTGluZXM/P1tdXSxzdGF0dXNSb3dzOk0ucHJvZ3Jlc3NTdGVwPy5zdGF0dXNSb3dzPz8zfX1wcmVwYXJlU3RlcEZvckFjdGl2YXRpb24oTSl7TT8ucHJvZ3Jlc3NTdGVwJiYoTS5wcm9ncmVzc1N0ZXBTdGF0ZT10aGlzLmNyZWF0ZUluaXRpYWxQcm9ncmVzc1N0ZXBTdGF0ZShNKSl9YXN5bmMgcnVuU3RlcFZhbGlkYXRpb24oTSxTLEUpe3RyeXtpZihhd2FpdCBNLnZhbGlkYXRpb25GdW5jPy4odGhpcyxTLEUpLEUuYWJvcnRlZClyZXR1cm47TS5wcm9ncmVzc1N0ZXAmJk0ucHJvZ3Jlc3NTdGVwLmF1dG9BZHZhbmNlIT09ITEmJnRoaXMuc2VsZWN0ZWRTdGVwPT09TSYmdGhpcy5nb05leHQoKX1jYXRjaChBKXtpZihFLmFib3J0ZWQpcmV0dXJuO2lmKE0ucHJvZ3Jlc3NTdGVwKXtsZXQgRj1BIGluc3RhbmNlb2YgRXJyb3I/QS5tZXNzYWdlOiJVbmV4cGVjdGVkIGVycm9yIjt0aGlzLmFwcGVuZFByb2dyZXNzU3RlcExpbmUoYEVycm9yOiAke0Z9YCxNKSx0aGlzLnVwZGF0ZVByb2dyZXNzU3RlcCh7aW5kZXRlcm1pbmF0ZTohMSxzdGF0dXNUZXh0OkZ9LE0pfWNvbnNvbGUuZXJyb3IoQSl9fWNhbmNlbENvbmZpcm1Nb2RhbDtoYW5kbGVPdXRzaWRlQ2xpY2soTSl7aWYoIXRoaXMub3ZlcmxheXx8IXRoaXMuY2FuY2VsYWJsZSlyZXR1cm47TS5zdG9wUHJvcGFnYXRpb24oKTtsZXQgUz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnN0ZXBwZXJDb250YWluZXIiKTtNLnRhcmdldD09PVMmJnRoaXMuaGFuZGxlQ2FuY2VsUmVxdWVzdCgpfWFzeW5jIGhhbmRsZUNhbmNlbFJlcXVlc3QoKXt0aGlzLmNhbmNlbGFibGUmJih0aGlzLmNhbmNlbENvbmZpcm1Nb2RhbCYmdGhpcy5jYW5jZWxDb25maXJtTW9kYWwuaXNDb25uZWN0ZWR8fCh0aGlzLmNhbmNlbENvbmZpcm1Nb2RhbD12b2lkIDAsdGhpcy5jYW5jZWxDb25maXJtTW9kYWw9YXdhaXQgTWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiQ2FuY2VsIHNldHVwPyIsd2lkdGg6InNtYWxsIixjb250ZW50OndgCiAgICAgICAgPHAgc3R5bGU9Im1hcmdpbjogMDsiPgogICAgICAgICAgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNhbmNlbD8gQW55IHByb2dyZXNzIG9uIHRoZSBjdXJyZW50IHN0ZXAgd2lsbCBiZSBsb3N0LgogICAgICAgIDwvcD4KICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNvbnRpbnVlIHNldHVwIixhY3Rpb246cyhhc3luYyBNPT57dGhpcy5jYW5jZWxDb25maXJtTW9kYWw9dm9pZCAwLGF3YWl0IE0uZGVzdHJveSgpfSwiYWN0aW9uIil9LHtuYW1lOiJZZXMsIGNhbmNlbCIsYWN0aW9uOnMoYXN5bmMgTT0+e3RoaXMuY2FuY2VsQ29uZmlybU1vZGFsPXZvaWQgMCxNLmRlc3Ryb3koKSxhd2FpdChhd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSkuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigxMDApLGF3YWl0IHRoaXMuZGVzdHJveSgpfSwiYWN0aW9uIil9XX0pKSl9YXN5bmMgZGVzdHJveSgpe2xldCBNPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLFM9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zdGVwcGVyQ29udGFpbmVyIik7dGhpcy5zZWxlY3RlZFN0ZXA/LmFib3J0Q29udHJvbGxlciYmdGhpcy5zZWxlY3RlZFN0ZXAuYWJvcnRDb250cm9sbGVyLmFib3J0KCksUz8uY2xhc3NMaXN0LmFkZCgicHJlZGVzdHJveSIpLGF3YWl0IE0uY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigyNTApLHRoaXMucGFyZW50RWxlbWVudCYmdGhpcy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMpLHRoaXMud2luZG93TGF5ZXImJmF3YWl0IHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpLHRoaXMuYWN0aXZlRm9ybVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKSx0aGlzLmFjdGl2ZUZvcm1TdWJzY3JpcHRpb249dm9pZCAwLHRoaXMuYWN0aXZlRm9ybT1udWxsLFh0LnVucmVnaXN0ZXIodGhpcyl9c3RhdGlje2lvKHIsdCl9fTtyZXR1cm4gQj1yfSkoKX0pO3ZhciBjM2E9ZigoKT0+e0dzZSgpfSk7dmFyIGQzYT1mKCgpPT57UXIoKX0pO3ZhciB1M2E9ZigoKT0+e000YSgpO0g0YSgpO0c0YSgpO1k0YSgpO0o0YSgpO2UzYSgpO3MzYSgpO2MzYSgpO2QzYSgpfSk7dmFyIHAzYSxmM2E9ZigoKT0+e2xlKCk7cDNhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgcGFkZGluZzogNDhweDsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMGEwYTBhIil9OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDMycHg7CiAgICB9CgogICAgLnNlY3Rpb24gewogICAgICBtYXgtd2lkdGg6IDkwMHB4OwogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CgogICAgLnNlY3Rpb24tdGl0bGUgewogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIH0KCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIH0KCiAgICBkZWVzLWltYWdlLXZpZXdlciB7CiAgICAgIGhlaWdodDogNDAwcHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQoKICAgIC5jb21wYWN0IHsKICAgICAgaGVpZ2h0OiAyNTBweDsKICAgIH0KICA8L3N0eWxlPgoKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SlBFRyBJbWFnZSB3aXRoIFRvb2xiYXI8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+QSBsYW5kc2NhcGUgcGhvdG8gd2l0aCB6b29tLCBwYW4sIGZpdCwgYW5kIGRvd25sb2FkIGNvbnRyb2xzLjwvZGl2PgogICAgICA8ZGVlcy1pbWFnZS12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTA2NzQ0MDM4MTM2LTQ2MjczODM0YjNmYj93PTEyMDAiCiAgICAgICAgYWx0PSJNb3VudGFpbiBsYW5kc2NhcGUiCiAgICAgID48L2RlZXMtaW1hZ2Utdmlld2VyPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlBORyB3aXRoIFRyYW5zcGFyZW5jeTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5UcmFuc3BhcmVudCBQTkcgZGlzcGxheWVkIG9uIGEgY2hlY2tlcmJvYXJkIGJhY2tncm91bmQuPC9kaXY+CiAgICAgIDxkZWVzLWltYWdlLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy80LzQ3L1BOR190cmFuc3BhcmVuY3lfZGVtb25zdHJhdGlvbl8xLnBuZyIKICAgICAgICBhbHQ9IlBORyB0cmFuc3BhcmVuY3kgZGVtbyIKICAgICAgPjwvZGVlcy1pbWFnZS12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U1ZHIEltYWdlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlNjYWxhYmxlIHZlY3RvciBncmFwaGljLjwvZGl2PgogICAgICA8ZGVlcy1pbWFnZS12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvMC8wMi9TVkdfbG9nby5zdmciCiAgICAgICAgYWx0PSJTVkcgbG9nbyIKICAgICAgICBmaXQ9ImNvbnRhaW4iCiAgICAgID48L2RlZXMtaW1hZ2Utdmlld2VyPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk5vIFRvb2xiYXIgVmFyaWFudDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5JbWFnZSB2aWV3ZXIgd2l0aCB0aGUgdG9vbGJhciBoaWRkZW4uPC9kaXY+CiAgICAgIDxkZWVzLWltYWdlLXZpZXdlcgogICAgICAgIGNsYXNzPSJjb21wYWN0IgogICAgICAgIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0Njk0NzQ5NjgwMjgtNTY2MjNmMDJlNDJlP3c9ODAwIgogICAgICAgIGFsdD0iTmF0dXJlIHNjZW5lIgogICAgICAgIC5zaG93VG9vbGJhcj0keyExfQogICAgICA+PC9kZWVzLWltYWdlLXZpZXdlcj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vIil9KTt2YXIgY24sYnIsaDNhLElRZT1mKCgpPT57bGUoKTt2YSgpO2YzYSgpO2NuPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxicj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0saDNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbWFnZS12aWV3ZXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXSxCLE09W10sUz1bXSxFLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdO3ZhciBjZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0ltYWdlVmlld2VyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IHVlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoKV0sZD1bJCgpXSx1PVskKCldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVtLKCldLE49W0soKV0sTz1bSygpXSxCPVtLKCldLEU9W0soKV0sVz1bSygpXSxoZT1bSygpXSxtZT1bSygpXSxjbih0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNyYyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4ic3JjImluIFksImhhcyIpLGdldDpzKFk9Plkuc3JjLCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kuc3JjPVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LG4sbCksY24odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhbHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+ImFsdCJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLmFsdCwiZ2V0Iiksc2V0OnMoKFksUSk9PntZLmFsdD1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxjLHApLGNuKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZml0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJmaXQiaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5maXQsImdldCIpLHNldDpzKChZLFEpPT57WS5maXQ9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sbSx2KSxjbih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUb29sYmFyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJzaG93VG9vbGJhciJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLnNob3dUb29sYmFyLCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kuc2hvd1Rvb2xiYXI9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sYixnKSxjbih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Inpvb20iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+Inpvb20iaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS56b29tLCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kuem9vbT1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxrLEMpLGNuKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGFuWCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4icGFuWCJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLnBhblgsImdldCIpLHNldDpzKChZLFEpPT57WS5wYW5YPVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LF8seiksY24odGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwYW5ZIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJwYW5ZImluIFksImhhcyIpLGdldDpzKFk9PlkucGFuWSwiZ2V0Iiksc2V0OnMoKFksUSk9PntZLnBhblk9UX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sVCxQKSxjbih0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzRHJhZ2dpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+ImlzRHJhZ2dpbmciaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5pc0RyYWdnaW5nLCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kuaXNEcmFnZ2luZz1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxNLFMpLGNuKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4ibG9hZGluZyJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLmxvYWRpbmcsImdldCIpLHNldDpzKChZLFEpPT57WS5sb2FkaW5nPVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LEEsRiksY24odGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlcnJvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4iZXJyb3IiaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5lcnJvciwiZ2V0Iiksc2V0OnMoKFksUSk9PntZLmVycm9yPVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LGosRyksY24odGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW1hZ2VOYXR1cmFsV2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+ImltYWdlTmF0dXJhbFdpZHRoImluIFksImhhcyIpLGdldDpzKFk9PlkuaW1hZ2VOYXR1cmFsV2lkdGgsImdldCIpLHNldDpzKChZLFEpPT57WS5pbWFnZU5hdHVyYWxXaWR0aD1RfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxSLFUpLGNuKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImltYWdlTmF0dXJhbEhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4iaW1hZ2VOYXR1cmFsSGVpZ2h0ImluIFksImhhcyIpLGdldDpzKFk9PlkuaW1hZ2VOYXR1cmFsSGVpZ2h0LCJnZXQiKSxzZXQ6cygoWSxRKT0+e1kuaW1hZ2VOYXR1cmFsSGVpZ2h0PVF9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LEkscSksY24obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6dWV9LG51bGwsdCksY2U9cj1lLnZhbHVlLHVlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnVlfSl9c3RhdGljIGRlbW89cDNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiXTsjZT1icih0aGlzLG4sIiIpO2dldCBzcmMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3JjKHVlKXt0aGlzLiNlPXVlfSN0PShicih0aGlzLGwpLGJyKHRoaXMsYywiIikpO2dldCBhbHQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYWx0KHVlKXt0aGlzLiN0PXVlfSNhPShicih0aGlzLHApLGJyKHRoaXMsbSwiY29udGFpbiIpKTtnZXQgZml0KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGZpdCh1ZSl7dGhpcy4jYT11ZX0jcj0oYnIodGhpcyx2KSxicih0aGlzLGIsITApKTtnZXQgc2hvd1Rvb2xiYXIoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2hvd1Rvb2xiYXIodWUpe3RoaXMuI3I9dWV9I3M9KGJyKHRoaXMsZyksYnIodGhpcyxrLDEpKTtnZXQgem9vbSgpe3JldHVybiB0aGlzLiNzfXNldCB6b29tKHVlKXt0aGlzLiNzPXVlfSNpPShicih0aGlzLEMpLGJyKHRoaXMsXywwKSk7Z2V0IHBhblgoKXtyZXR1cm4gdGhpcy4jaX1zZXQgcGFuWCh1ZSl7dGhpcy4jaT11ZX0jbz0oYnIodGhpcyx6KSxicih0aGlzLFQsMCkpO2dldCBwYW5ZKCl7cmV0dXJuIHRoaXMuI299c2V0IHBhblkodWUpe3RoaXMuI289dWV9I249KGJyKHRoaXMsUCksYnIodGhpcyxNLCExKSk7Z2V0IGlzRHJhZ2dpbmcoKXtyZXR1cm4gdGhpcy4jbn1zZXQgaXNEcmFnZ2luZyh1ZSl7dGhpcy4jbj11ZX0jbD0oYnIodGhpcyxTKSxicih0aGlzLEEsITApKTtnZXQgbG9hZGluZygpe3JldHVybiB0aGlzLiNsfXNldCBsb2FkaW5nKHVlKXt0aGlzLiNsPXVlfSNjPShicih0aGlzLEYpLGJyKHRoaXMsaiwiIikpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiNjfXNldCBlcnJvcih1ZSl7dGhpcy4jYz11ZX0jZD0oYnIodGhpcyxHKSxicih0aGlzLFIsMCkpO2dldCBpbWFnZU5hdHVyYWxXaWR0aCgpe3JldHVybiB0aGlzLiNkfXNldCBpbWFnZU5hdHVyYWxXaWR0aCh1ZSl7dGhpcy4jZD11ZX0jdT0oYnIodGhpcyxVKSxicih0aGlzLEksMCkpO2dldCBpbWFnZU5hdHVyYWxIZWlnaHQoKXtyZXR1cm4gdGhpcy4jdX1zZXQgaW1hZ2VOYXR1cmFsSGVpZ2h0KHVlKXt0aGlzLiN1PXVlfWRyYWdTdGFydFg9KGJyKHRoaXMscSksMCk7ZHJhZ1N0YXJ0WT0wO2RyYWdTdGFydFBhblg9MDtkcmFnU3RhcnRQYW5ZPTA7cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgICB9CgogICAgICAgIC52aWV3ZXItY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk3JSkiLCJoc2woMjE1IDIwJSAxMCUpIil9OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiaHNsKDIxNSAyMCUgMTUlKSIpfTsKICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b24gewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b24gZGVlcy1pY29uIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTIlKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgfQoKICAgICAgICAuem9vbS1sZXZlbCB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgbWluLXdpZHRoOiA0OHB4OwogICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC5pbWFnZS1hcmVhIHsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgY3Vyc29yOiAke3RoaXMuem9vbT4xP3RoaXMuaXNEcmFnZ2luZz8iZ3JhYmJpbmciOiJncmFiIjoiZGVmYXVsdCJ9OwogICAgICAgIH0KCiAgICAgICAgLmNoZWNrZXJib2FyZCB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6CiAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCg0NWRlZywgJHtoLmJkVGhlbWUoIiNmMGYwZjAiLCIjMWExYTFhIil9IDI1JSwgdHJhbnNwYXJlbnQgMjUlKSwKICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KC00NWRlZywgJHtoLmJkVGhlbWUoIiNmMGYwZjAiLCIjMWExYTFhIil9IDI1JSwgdHJhbnNwYXJlbnQgMjUlKSwKICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCA3NSUsICR7aC5iZFRoZW1lKCIjZjBmMGYwIiwiIzFhMWExYSIpfSA3NSUpLAogICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCA3NSUsICR7aC5iZFRoZW1lKCIjZjBmMGYwIiwiIzFhMWExYSIpfSA3NSUpOwogICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDAgOHB4LCA4cHggLThweCwgLThweCAwcHg7CiAgICAgICAgICBvcGFjaXR5OiAwLjM7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2Utd3JhcHBlciB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgke3RoaXMucGFuWH1weCwgJHt0aGlzLnBhbll9cHgpIHNjYWxlKCR7dGhpcy56b29tfSk7CiAgICAgICAgICB0cmFuc2l0aW9uOiAke3RoaXMuaXNEcmFnZ2luZz8ibm9uZSI6InRyYW5zZm9ybSAwLjJzIGVhc2UifTsKICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2Utd3JhcHBlciBpbWcgewogICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgICAgbWF4LWhlaWdodDogMTAwJTsKICAgICAgICAgIG9iamVjdC1maXQ6ICR7dGhpcy5maXR9OwogICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTsKICAgICAgICB9CgogICAgICAgIC5pbWFnZS13cmFwcGVyIGltZy5hY3R1YWwgewogICAgICAgICAgbWF4LXdpZHRoOiBub25lOwogICAgICAgICAgbWF4LWhlaWdodDogbm9uZTsKICAgICAgICAgIG9iamVjdC1maXQ6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1vdmVybGF5IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDI1NSwyNTUsMjU1LDAuOCkiLCJyZ2JhKDAsMCwwLDAuNikiKX07CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlOwogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogICAgICAgIH0KCiAgICAgICAgLmVycm9yLW92ZXJsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICB9CgogICAgICAgIC5lcnJvci1vdmVybGF5IC5lcnJvci1pY29uIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgfQoKICAgICAgICAuZXJyb3ItdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UtaW5mbyB7CiAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgICAgcGFkZGluZzogMCA0cHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgoKICAgICAgPGRpdiBjbGFzcz0idmlld2VyLWNvbnRhaW5lciI+CiAgICAgICAgJHt0aGlzLnNob3dUb29sYmFyP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMuem9vbU91dH0gdGl0bGU9Ilpvb20gb3V0Ij4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlpvb21PdXQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnJlc2V0Wm9vbX0+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iem9vbS1sZXZlbCI+JHtNYXRoLnJvdW5kKHRoaXMuem9vbSoxMDApfSU8L3NwYW4+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMuem9vbUlufSB0aXRsZT0iWm9vbSBpbiI+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpab29tSW4iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMuZml0VG9TY3JlZW59IHRpdGxlPSJGaXQgdG8gc2NyZWVuIj4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOk1heGltaXplIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5hY3R1YWxTaXplfSB0aXRsZT0iQWN0dWFsIHNpemUgKDEwMCUpIj4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlNjYW4iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMuZG93bmxvYWR9IHRpdGxlPSJEb3dubG9hZCI+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpEb3dubG9hZCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAke3RoaXMuaW1hZ2VOYXR1cmFsV2lkdGg+MD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZ3JvdXAiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImltYWdlLWluZm8iPiR7dGhpcy5pbWFnZU5hdHVyYWxXaWR0aH0geCAke3RoaXMuaW1hZ2VOYXR1cmFsSGVpZ2h0fTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJpbWFnZS1hcmVhIgogICAgICAgICAgQHdoZWVsPSR7dGhpcy5oYW5kbGVXaGVlbH0KICAgICAgICAgIEBtb3VzZWRvd249JHt0aGlzLmhhbmRsZU1vdXNlRG93bn0KICAgICAgICAgIEBtb3VzZW1vdmU9JHt0aGlzLmhhbmRsZU1vdXNlTW92ZX0KICAgICAgICAgIEBtb3VzZXVwPSR7dGhpcy5oYW5kbGVNb3VzZVVwfQogICAgICAgICAgQG1vdXNlbGVhdmU9JHt0aGlzLmhhbmRsZU1vdXNlVXB9CiAgICAgICAgICBAZGJsY2xpY2s9JHt0aGlzLmhhbmRsZURvdWJsZUNsaWNrfQogICAgICAgID4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrZXJib2FyZCI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWFnZS13cmFwcGVyIj4KICAgICAgICAgICAgJHt0aGlzLnNyYz93YAogICAgICAgICAgICAgIDxpbWcKICAgICAgICAgICAgICAgIGNsYXNzPSIke3RoaXMuZml0PT09ImFjdHVhbCI/ImFjdHVhbCI6IiJ9IgogICAgICAgICAgICAgICAgc3JjPSIke3RoaXMuc3JjfSIKICAgICAgICAgICAgICAgIGFsdD0iJHt0aGlzLmFsdH0iCiAgICAgICAgICAgICAgICBAbG9hZD0ke3RoaXMuaGFuZGxlSW1hZ2VMb2FkfQogICAgICAgICAgICAgICAgQGVycm9yPSR7dGhpcy5oYW5kbGVJbWFnZUVycm9yfQogICAgICAgICAgICAgICAgZHJhZ2dhYmxlPSJmYWxzZSIKICAgICAgICAgICAgICAvPgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAke3RoaXMubG9hZGluZyYmdGhpcy5zcmM/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1vdmVybGF5Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke3RoaXMuZXJyb3I/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3Itb3ZlcmxheSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iZXJyb3ItaWNvbiIgaWNvbj0ibHVjaWRlOkltYWdlT2ZmIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXJyb3ItdGV4dCI+JHt0aGlzLmVycm9yfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9em9vbUluKCl7dGhpcy56b29tPU1hdGgubWluKDEwLHRoaXMuem9vbSoxLjI1KX16b29tT3V0KCl7dGhpcy56b29tPU1hdGgubWF4KC4xLHRoaXMuem9vbS8xLjI1KSx0aGlzLnpvb208PTEmJih0aGlzLnBhblg9MCx0aGlzLnBhblk9MCl9cmVzZXRab29tKCl7dGhpcy56b29tPTEsdGhpcy5wYW5YPTAsdGhpcy5wYW5ZPTB9Zml0VG9TY3JlZW4oKXt0aGlzLnpvb209MSx0aGlzLnBhblg9MCx0aGlzLnBhblk9MCx0aGlzLmZpdD0iY29udGFpbiJ9YWN0dWFsU2l6ZSgpe3RoaXMuem9vbT0xLHRoaXMucGFuWD0wLHRoaXMucGFuWT0wLHRoaXMuZml0PSJhY3R1YWwifWRvd25sb2FkKCl7aWYoIXRoaXMuc3JjKXJldHVybjtsZXQgdWU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3VlLmhyZWY9dGhpcy5zcmMsdWUuZG93bmxvYWQ9dGhpcy5zcmMuc3BsaXQoIi8iKS5wb3AoKXx8ImltYWdlIix1ZS5jbGljaygpfWhhbmRsZUltYWdlTG9hZCh1ZSl7bGV0IFk9dWUudGFyZ2V0O3RoaXMubG9hZGluZz0hMSx0aGlzLmVycm9yPSIiLHRoaXMuaW1hZ2VOYXR1cmFsV2lkdGg9WS5uYXR1cmFsV2lkdGgsdGhpcy5pbWFnZU5hdHVyYWxIZWlnaHQ9WS5uYXR1cmFsSGVpZ2h0fWhhbmRsZUltYWdlRXJyb3IoKXt0aGlzLmxvYWRpbmc9ITEsdGhpcy5lcnJvcj0iRmFpbGVkIHRvIGxvYWQgaW1hZ2UifWhhbmRsZVdoZWVsKHVlKXt1ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBZPXVlLmRlbHRhWT4wPy45OjEuMSxRPU1hdGgubWluKDEwLE1hdGgubWF4KC4xLHRoaXMuem9vbSpZKSk7dGhpcy56b29tPVEsdGhpcy56b29tPD0xJiYodGhpcy5wYW5YPTAsdGhpcy5wYW5ZPTApfWhhbmRsZU1vdXNlRG93bih1ZSl7dGhpcy56b29tPD0xfHwodGhpcy5pc0RyYWdnaW5nPSEwLHRoaXMuZHJhZ1N0YXJ0WD11ZS5jbGllbnRYLHRoaXMuZHJhZ1N0YXJ0WT11ZS5jbGllbnRZLHRoaXMuZHJhZ1N0YXJ0UGFuWD10aGlzLnBhblgsdGhpcy5kcmFnU3RhcnRQYW5ZPXRoaXMucGFuWSl9aGFuZGxlTW91c2VNb3ZlKHVlKXt0aGlzLmlzRHJhZ2dpbmcmJih0aGlzLnBhblg9dGhpcy5kcmFnU3RhcnRQYW5YKyh1ZS5jbGllbnRYLXRoaXMuZHJhZ1N0YXJ0WCksdGhpcy5wYW5ZPXRoaXMuZHJhZ1N0YXJ0UGFuWSsodWUuY2xpZW50WS10aGlzLmRyYWdTdGFydFkpKX1oYW5kbGVNb3VzZVVwKCl7dGhpcy5pc0RyYWdnaW5nPSExfWhhbmRsZURvdWJsZUNsaWNrKCl7dGhpcy56b29tPT09MT90aGlzLnpvb209MjoodGhpcy56b29tPTEsdGhpcy5wYW5YPTAsdGhpcy5wYW5ZPTApfXVwZGF0ZWQodWUpe3N1cGVyLnVwZGF0ZWQodWUpLHVlLmhhcygic3JjIikmJih0aGlzLmxvYWRpbmc9ITAsdGhpcy5lcnJvcj0iIix0aGlzLnpvb209MSx0aGlzLnBhblg9MCx0aGlzLnBhblk9MCx0aGlzLmltYWdlTmF0dXJhbFdpZHRoPTAsdGhpcy5pbWFnZU5hdHVyYWxIZWlnaHQ9MCl9c3RhdGlje2JyKHIsdCl9fTtyZXR1cm4gY2U9cn0pKCl9KTt2YXIgbTNhPWYoKCk9PntJUWUoKX0pO3ZhciBnM2EsYjNhPWYoKCk9PntsZSgpO2czYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgfQoKICAgIC5zZWN0aW9uIHsKICAgICAgbWF4LXdpZHRoOiA2MDBweDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQoKICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CgogICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICB9CgogICAgZGVlcy1hdWRpby12aWV3ZXIgewogICAgICBoZWlnaHQ6IDIwMHB4OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KICA8L3N0eWxlPgoKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXVkaW8gd2l0aCBXYXZlZm9ybTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BdWRpbyBwbGF5ZXIgd2l0aCB3YXZlZm9ybSB2aXN1YWxpemF0aW9uIGFuZCBmdWxsIHRyYW5zcG9ydCBjb250cm9scy48L2Rpdj4KICAgICAgPGRlZXMtYXVkaW8tdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTEubXAzIgogICAgICAgIHRpdGxlPSJTb3VuZEhlbGl4IFNvbmcgMSIKICAgICAgICBhcnRpc3Q9IlQuIFNjaHVlcmdlciIKICAgICAgPjwvZGVlcy1hdWRpby12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXVkaW8gd2l0aG91dCBXYXZlZm9ybTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5TaW1wbGUgYXVkaW8gcGxheWVyIHdpdGggYSBzZWVrYmFyIGluc3RlYWQgb2YgYSB3YXZlZm9ybS48L2Rpdj4KICAgICAgPGRlZXMtYXVkaW8tdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTIubXAzIgogICAgICAgIHRpdGxlPSJTb3VuZEhlbGl4IFNvbmcgMiIKICAgICAgICAuc2hvd1dhdmVmb3JtPSR7ITF9CiAgICAgID48L2RlZXMtYXVkaW8tdmlld2VyPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk1pbmltYWwgQXVkaW8gUGxheWVyPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPk5vIHRpdGxlIG9yIGFydGlzdCBtZXRhZGF0YSDigJQganVzdCB0aGUgcGxheWVyLjwvZGl2PgogICAgICA8ZGVlcy1hdWRpby12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMy5tcDMiCiAgICAgID48L2RlZXMtYXVkaW8tdmlld2VyPgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW8iKX0pO3ZhciBGaSxCYSx2M2EsTlFlPWYoKCk9PntsZSgpO3ZhKCk7YjNhKCk7Rmk9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEJhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx2M2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWF1ZGlvLXZpZXdlciIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxQPVtdLEIsTT1bXSxTPVtdLEUsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W10sY2UsdWU9W10sWT1bXSxRLEo9W10sWj1bXSxnZSxhZT1bXSxyZT1bXTt2YXIgeWU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNBdWRpb1ZpZXdlciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBWPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoKV0sZD1bJCgpXSx1PVskKCldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sTj1bJCh7dHlwZTpCb29sZWFufSldLE89W0soKV0sQj1bSygpXSxFPVtLKCldLFc9W0soKV0saGU9W0soKV0sbWU9W0soKV0sY2U9W0soKV0sUT1bSygpXSxnZT1bSygpXSxGaSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNyYyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4ic3JjImluIEgsImhhcyIpLGdldDpzKEg9Pkguc3JjLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILnNyYz1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxuLGwpLEZpKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+InRpdGxlImluIEgsImhhcyIpLGdldDpzKEg9PkgudGl0bGUsImdldCIpLHNldDpzKChILG9lKT0+e0gudGl0bGU9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sYyxwKSxGaSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFydGlzdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iYXJ0aXN0ImluIEgsImhhcyIpLGdldDpzKEg9PkguYXJ0aXN0LCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmFydGlzdD1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxtLHYpLEZpKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1dhdmVmb3JtIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJzaG93V2F2ZWZvcm0iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5zaG93V2F2ZWZvcm0sImdldCIpLHNldDpzKChILG9lKT0+e0guc2hvd1dhdmVmb3JtPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGIsZyksRmkodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhdXRvcGxheSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iYXV0b3BsYXkiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5hdXRvcGxheSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5hdXRvcGxheT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxrLEMpLEZpKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9vcCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4ibG9vcCJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmxvb3AsImdldCIpLHNldDpzKChILG9lKT0+e0gubG9vcD1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxfLHopLEZpKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNQbGF5aW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJpc1BsYXlpbmciaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5pc1BsYXlpbmcsImdldCIpLHNldDpzKChILG9lKT0+e0guaXNQbGF5aW5nPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LFQsUCksRmkodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VGltZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iY3VycmVudFRpbWUiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5jdXJyZW50VGltZSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5jdXJyZW50VGltZT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxNLFMpLEZpKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHVyYXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImR1cmF0aW9uImluIEgsImhhcyIpLGdldDpzKEg9PkguZHVyYXRpb24sImdldCIpLHNldDpzKChILG9lKT0+e0guZHVyYXRpb249b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sQSxGKSxGaSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZvbHVtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4idm9sdW1lImluIEgsImhhcyIpLGdldDpzKEg9Pkgudm9sdW1lLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILnZvbHVtZT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxqLEcpLEZpKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzTXV0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImlzTXV0ZWQiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5pc011dGVkLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmlzTXV0ZWQ9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sUixVKSxGaSh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJsb2FkaW5nImluIEgsImhhcyIpLGdldDpzKEg9PkgubG9hZGluZywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5sb2FkaW5nPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LEkscSksRmkodGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImVycm9yImluIEgsImhhcyIpLGdldDpzKEg9PkguZXJyb3IsImdldCIpLHNldDpzKChILG9lKT0+e0guZXJyb3I9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sdWUsWSksRmkodGhpcyxudWxsLFEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3YXZlZm9ybURhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+IndhdmVmb3JtRGF0YSJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILndhdmVmb3JtRGF0YSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC53YXZlZm9ybURhdGE9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sSixaKSxGaSh0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3YXZlZm9ybVJlYWR5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJ3YXZlZm9ybVJlYWR5ImluIEgsImhhcyIpLGdldDpzKEg9Pkgud2F2ZWZvcm1SZWFkeSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC53YXZlZm9ybVJlYWR5PW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGFlLHJlKSxGaShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpWfSxudWxsLHQpLHllPXI9ZS52YWx1ZSxWJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlZ9KX1zdGF0aWMgZGVtbz1nM2E7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdOyNlPUJhKHRoaXMsbiwiIik7Z2V0IHNyYygpe3JldHVybiB0aGlzLiNlfXNldCBzcmMoVil7dGhpcy4jZT1WfSN0PShCYSh0aGlzLGwpLEJhKHRoaXMsYywiIikpO2dldCB0aXRsZSgpe3JldHVybiB0aGlzLiN0fXNldCB0aXRsZShWKXt0aGlzLiN0PVZ9I2E9KEJhKHRoaXMscCksQmEodGhpcyxtLCIiKSk7Z2V0IGFydGlzdCgpe3JldHVybiB0aGlzLiNhfXNldCBhcnRpc3QoVil7dGhpcy4jYT1WfSNyPShCYSh0aGlzLHYpLEJhKHRoaXMsYiwhMCkpO2dldCBzaG93V2F2ZWZvcm0oKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2hvd1dhdmVmb3JtKFYpe3RoaXMuI3I9Vn0jcz0oQmEodGhpcyxnKSxCYSh0aGlzLGssITEpKTtnZXQgYXV0b3BsYXkoKXtyZXR1cm4gdGhpcy4jc31zZXQgYXV0b3BsYXkoVil7dGhpcy4jcz1WfSNpPShCYSh0aGlzLEMpLEJhKHRoaXMsXywhMSkpO2dldCBsb29wKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGxvb3AoVil7dGhpcy4jaT1WfSNvPShCYSh0aGlzLHopLEJhKHRoaXMsVCwhMSkpO2dldCBpc1BsYXlpbmcoKXtyZXR1cm4gdGhpcy4jb31zZXQgaXNQbGF5aW5nKFYpe3RoaXMuI289Vn0jbj0oQmEodGhpcyxQKSxCYSh0aGlzLE0sMCkpO2dldCBjdXJyZW50VGltZSgpe3JldHVybiB0aGlzLiNufXNldCBjdXJyZW50VGltZShWKXt0aGlzLiNuPVZ9I2w9KEJhKHRoaXMsUyksQmEodGhpcyxBLDApKTtnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy4jbH1zZXQgZHVyYXRpb24oVil7dGhpcy4jbD1WfSNjPShCYSh0aGlzLEYpLEJhKHRoaXMsaiwxKSk7Z2V0IHZvbHVtZSgpe3JldHVybiB0aGlzLiNjfXNldCB2b2x1bWUoVil7dGhpcy4jYz1WfSNkPShCYSh0aGlzLEcpLEJhKHRoaXMsUiwhMSkpO2dldCBpc011dGVkKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGlzTXV0ZWQoVil7dGhpcy4jZD1WfSN1PShCYSh0aGlzLFUpLEJhKHRoaXMsSSwhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI3V9c2V0IGxvYWRpbmcoVil7dGhpcy4jdT1WfSNwPShCYSh0aGlzLHEpLEJhKHRoaXMsdWUsIiIpKTtnZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy4jcH1zZXQgZXJyb3IoVil7dGhpcy4jcD1WfSNmPShCYSh0aGlzLFkpLEJhKHRoaXMsSixbXSkpO2dldCB3YXZlZm9ybURhdGEoKXtyZXR1cm4gdGhpcy4jZn1zZXQgd2F2ZWZvcm1EYXRhKFYpe3RoaXMuI2Y9Vn0jaD0oQmEodGhpcyxaKSxCYSh0aGlzLGFlLCExKSk7Z2V0IHdhdmVmb3JtUmVhZHkoKXtyZXR1cm4gdGhpcy4jaH1zZXQgd2F2ZWZvcm1SZWFkeShWKXt0aGlzLiNoPVZ9YXVkaW9FbGVtZW50PShCYSh0aGlzLHJlKSxudWxsKTtjYW52YXNFbGVtZW50PW51bGw7YW5pbUZyYW1lSWQ9MDt2b2x1bWVCZWZvcmVNdXRlPTE7cmVuZGVyKCl7bGV0IFY9dGhpcy50aXRsZSYmdGhpcy5hcnRpc3Q/YCR7dGhpcy50aXRsZX0gXHUyMDE0ICR7dGhpcy5hcnRpc3R9YDp0aGlzLnRpdGxlfHx0aGlzLmFydGlzdHx8IiI7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgICB9CgogICAgICAgIC52aWV3ZXItY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk3JSkiLCJoc2woMjE1IDIwJSAxMCUpIil9OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsImhzbCgyMTUgMjAlIDE1JSkiKX07CiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogNHB4OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItZ3JvdXAtLWVuZCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogNHB4OwogICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b24gewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MiUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b246YWN0aXZlIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbi5hY3RpdmUgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLXRpdGxlIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgICB9CgogICAgICAgIC50aW1lLWRpc3BsYXkgewogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgbWluLXdpZHRoOiA5MHB4OwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAudm9sdW1lLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgfQoKICAgICAgICAudm9sdW1lLXNsaWRlciB7CiAgICAgICAgICB3aWR0aDogNzBweDsKICAgICAgICAgIGhlaWdodDogNHB4OwogICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MSUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQoKICAgICAgICAudm9sdW1lLXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgewogICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgICBoZWlnaHQ6IDEycHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQoKICAgICAgICAudm9sdW1lLXNsaWRlcjo6LW1vei1yYW5nZS10aHVtYiB7CiAgICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC5jb250ZW50LWFyZWEgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLndhdmVmb3JtLWNvbnRhaW5lciB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAgICAud2F2ZWZvcm0tY29udGFpbmVyIGNhbnZhcyB7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLnNlZWtiYXItY29udGFpbmVyIHsKICAgICAgICAgIHdpZHRoOiA4MCU7CiAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4OwogICAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTElKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgLnNlZWtiYXItZmlsbCB7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjFzIGxpbmVhcjsKICAgICAgICB9CgogICAgICAgIC5lcnJvci1vdmVybGF5IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgfQoKICAgICAgICAuZXJyb3Itb3ZlcmxheSAuZXJyb3ItaWNvbiB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZjg3MTcxIil9OwogICAgICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgICAgIH0KCiAgICAgICAgLmVycm9yLXRleHQgewogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIH0KCiAgICAgICAgLmxvYWRpbmctb3ZlcmxheSB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDg2JSkiLCJoc2woMjE3IDI1JSAyOCUpIil9OwogICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlOwogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogICAgICAgIH0KICAgICAgPC9zdHlsZT4KCiAgICAgIDxkaXYgY2xhc3M9InZpZXdlci1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZVBsYXl9PgogICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOiR7dGhpcy5pc1BsYXlpbmc/IlBhdXNlIjoiUGxheSJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aW1lLWRpc3BsYXkiPgogICAgICAgICAgICAgICR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuY3VycmVudFRpbWUpfSAvICR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuZHVyYXRpb24pfQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAke1Y/d2AKICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRvb2xiYXItdGl0bGUiPiR7Vn08L3NwYW4+CiAgICAgICAgICBgOiIifQoKICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZ3JvdXAtLWVuZCI+CiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24gJHt0aGlzLmxvb3A/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMudG9nZ2xlTG9vcH0KICAgICAgICAgICAgICB0aXRsZT0iTG9vcCIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlJlcGVhdCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idm9sdW1lLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy50b2dnbGVNdXRlfSB0aXRsZT0iJHt0aGlzLmlzTXV0ZWQ/IlVubXV0ZSI6Ik11dGUifSI+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZToke3RoaXMuaXNNdXRlZHx8dGhpcy52b2x1bWU9PT0wPyJWb2x1bWVYIjp0aGlzLnZvbHVtZTwuNT8iVm9sdW1lMSI6IlZvbHVtZTIifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICBjbGFzcz0idm9sdW1lLXNsaWRlciIKICAgICAgICAgICAgICAgIHR5cGU9InJhbmdlIgogICAgICAgICAgICAgICAgbWluPSIwIgogICAgICAgICAgICAgICAgbWF4PSIxIgogICAgICAgICAgICAgICAgc3RlcD0iMC4wMSIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke1N0cmluZyh0aGlzLmlzTXV0ZWQ/MDp0aGlzLnZvbHVtZSl9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHt0aGlzLmhhbmRsZVZvbHVtZUNoYW5nZX0KICAgICAgICAgICAgICAvPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LWFyZWEiPgogICAgICAgICAgJHt0aGlzLmVycm9yP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLW92ZXJsYXkiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9ImVycm9yLWljb24iIGljb249Imx1Y2lkZTpNdXNpY09mZiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVycm9yLXRleHQiPiR7dGhpcy5lcnJvcn08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp0aGlzLmxvYWRpbmc/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1vdmVybGF5Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6dGhpcy5zaG93V2F2ZWZvcm0/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZWZvcm0tY29udGFpbmVyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZVdhdmVmb3JtQ2xpY2t9PgogICAgICAgICAgICAgIDxjYW52YXM+PC9jYW52YXM+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp3YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWVrYmFyLWNvbnRhaW5lciIgQGNsaWNrPSR7dGhpcy5oYW5kbGVTZWVrYmFyQ2xpY2t9PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlZWtiYXItZmlsbCIgc3R5bGU9IndpZHRoOiAke3RoaXMuZHVyYXRpb24/dGhpcy5jdXJyZW50VGltZS90aGlzLmR1cmF0aW9uKjEwMDowfSUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zcmMmJnRoaXMuaW5pdEF1ZGlvKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuY2xlYW51cCgpfWFzeW5jIHVwZGF0ZWQoVil7c3VwZXIudXBkYXRlZChWKSxWLmhhcygic3JjIikmJnRoaXMuc3JjJiYodGhpcy5jbGVhbnVwKCksdGhpcy5pbml0QXVkaW8oKSksKFYuaGFzKCJ3YXZlZm9ybURhdGEiKXx8Vi5oYXMoImN1cnJlbnRUaW1lIikpJiZ0aGlzLmRyYXdXYXZlZm9ybSgpfXBsYXkoKXt0aGlzLmF1ZGlvRWxlbWVudD8ucGxheSgpfXBhdXNlKCl7dGhpcy5hdWRpb0VsZW1lbnQ/LnBhdXNlKCl9dG9nZ2xlUGxheSgpe3RoaXMuaXNQbGF5aW5nP3RoaXMucGF1c2UoKTp0aGlzLnBsYXkoKX1zZWVrKFYpe3RoaXMuYXVkaW9FbGVtZW50JiYodGhpcy5hdWRpb0VsZW1lbnQuY3VycmVudFRpbWU9Vil9c2V0Vm9sdW1lKFYpe3RoaXMudm9sdW1lPU1hdGgubWF4KDAsTWF0aC5taW4oMSxWKSksdGhpcy5hdWRpb0VsZW1lbnQmJih0aGlzLmF1ZGlvRWxlbWVudC52b2x1bWU9dGhpcy52b2x1bWUpLHRoaXMudm9sdW1lPjAmJih0aGlzLmlzTXV0ZWQ9ITEpfXRvZ2dsZU11dGUoKXt0aGlzLmlzTXV0ZWQ/KHRoaXMuaXNNdXRlZD0hMSx0aGlzLnZvbHVtZT10aGlzLnZvbHVtZUJlZm9yZU11dGV8fC41LHRoaXMuYXVkaW9FbGVtZW50JiYodGhpcy5hdWRpb0VsZW1lbnQudm9sdW1lPXRoaXMudm9sdW1lKSk6KHRoaXMudm9sdW1lQmVmb3JlTXV0ZT10aGlzLnZvbHVtZSx0aGlzLmlzTXV0ZWQ9ITAsdGhpcy5hdWRpb0VsZW1lbnQmJih0aGlzLmF1ZGlvRWxlbWVudC52b2x1bWU9MCkpfXRvZ2dsZUxvb3AoKXt0aGlzLmxvb3A9IXRoaXMubG9vcCx0aGlzLmF1ZGlvRWxlbWVudCYmKHRoaXMuYXVkaW9FbGVtZW50Lmxvb3A9dGhpcy5sb29wKX1pbml0QXVkaW8oKXt0aGlzLmF1ZGlvRWxlbWVudD1uZXcgQXVkaW8sdGhpcy5hdWRpb0VsZW1lbnQuY3Jvc3NPcmlnaW49ImFub255bW91cyIsdGhpcy5hdWRpb0VsZW1lbnQuc3JjPXRoaXMuc3JjLHRoaXMuYXVkaW9FbGVtZW50LnZvbHVtZT10aGlzLmlzTXV0ZWQ/MDp0aGlzLnZvbHVtZSx0aGlzLmF1ZGlvRWxlbWVudC5sb29wPXRoaXMubG9vcCx0aGlzLmF1ZGlvRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJsb2FkZWRtZXRhZGF0YSIsKCk9Pnt0aGlzLmR1cmF0aW9uPXRoaXMuYXVkaW9FbGVtZW50LmR1cmF0aW9uLHRoaXMubG9hZGluZz0hMX0pLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLCgpPT57dGhpcy5pc1BsYXlpbmc9ITAsdGhpcy5zdGFydFRpbWVVcGRhdGUoKX0pLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlIiwoKT0+e3RoaXMuaXNQbGF5aW5nPSExLHRoaXMuc3RvcFRpbWVVcGRhdGUoKX0pLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImVuZGVkIiwoKT0+e3RoaXMuaXNQbGF5aW5nPSExLHRoaXMuc3RvcFRpbWVVcGRhdGUoKX0pLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e3RoaXMuZXJyb3I9IkZhaWxlZCB0byBsb2FkIGF1ZGlvIix0aGlzLmxvYWRpbmc9ITF9KSx0aGlzLmF1ZGlvRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0aW1ldXBkYXRlIiwoKT0+e3RoaXMuY3VycmVudFRpbWU9dGhpcy5hdWRpb0VsZW1lbnQuY3VycmVudFRpbWV9KSx0aGlzLmF1dG9wbGF5JiZ0aGlzLmF1ZGlvRWxlbWVudC5wbGF5KCkuY2F0Y2goKCk9Pnt9KSx0aGlzLnNob3dXYXZlZm9ybSYmdGhpcy5sb2FkV2F2ZWZvcm0oKX1hc3luYyBsb2FkV2F2ZWZvcm0oKXt0cnl7dGhpcy5sb2FkaW5nPSEwO2xldCBIPWF3YWl0KGF3YWl0IGZldGNoKHRoaXMuc3JjKSkuYXJyYXlCdWZmZXIoKSxvZT1uZXcgQXVkaW9Db250ZXh0LHRlPShhd2FpdCBvZS5kZWNvZGVBdWRpb0RhdGEoSCkpLmdldENoYW5uZWxEYXRhKDApLHplPTIwMCxPZT1NYXRoLmZsb29yKHRlLmxlbmd0aC96ZSkscWU9W107Zm9yKGxldCAkZT0wOyRlPHplOyRlKyspe2xldCBDZT0wO2ZvcihsZXQgTWU9MDtNZTxPZTtNZSsrKUNlKz1NYXRoLmFicyh0ZVskZSpPZStNZV0pO3FlLnB1c2goQ2UvT2UpfWxldCBkdD1NYXRoLm1heCguLi5xZSk7dGhpcy53YXZlZm9ybURhdGE9cWUubWFwKCRlPT5kdD4wPyRlL2R0OjApLHRoaXMud2F2ZWZvcm1SZWFkeT0hMCx0aGlzLmxvYWRpbmc9ITEsYXdhaXQgb2UuY2xvc2UoKX1jYXRjaHt0aGlzLndhdmVmb3JtUmVhZHk9ITEsdGhpcy5sb2FkaW5nPSExfX1kcmF3V2F2ZWZvcm0oKXtpZighdGhpcy5zaG93V2F2ZWZvcm18fCF0aGlzLndhdmVmb3JtUmVhZHkpcmV0dXJuO2xldCBWPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiY2FudmFzIik7aWYoIVYpcmV0dXJuO3RoaXMuY2FudmFzRWxlbWVudD1WO2xldCBIPVYucGFyZW50RWxlbWVudCxvZT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSxzZT1ILmNsaWVudFdpZHRoLHRlPUguY2xpZW50SGVpZ2h0O1Yud2lkdGg9c2Uqb2UsVi5oZWlnaHQ9dGUqb2U7bGV0IHplPVYuZ2V0Q29udGV4dCgiMmQiKTtpZighemUpcmV0dXJuO3plLnNjYWxlKG9lLG9lKSx6ZS5jbGVhclJlY3QoMCwwLHNlLHRlKTtsZXQgT2U9dGhpcy53YXZlZm9ybURhdGEubGVuZ3RoO2lmKE9lPT09MClyZXR1cm47bGV0IHFlPXNlL09lLGR0PXRoaXMuZHVyYXRpb24+MD90aGlzLmN1cnJlbnRUaW1lL3RoaXMuZHVyYXRpb246MCwkZT1NYXRoLmZsb29yKGR0Kk9lKSxDZT1kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygidGhlbWUtZGFyayIpfHx3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXMsTWU9Q2U/ImhzbCgyMTMgOTMlIDY4JSkiOiJoc2woMjE3IDkxJSA2MCUpIixkZT1DZT8iaHNsKDIxNyAyNSUgMjIlKSI6ImhzbCgyMTQgMzElIDg2JSkiO2ZvcihsZXQgdmU9MDt2ZTxPZTt2ZSsrKXtsZXQgQWU9dGhpcy53YXZlZm9ybURhdGFbdmVdLFplPU1hdGgubWF4KDIsQWUqKHRlLTQpKSxudD12ZSpxZSx6dD0odGUtWmUpLzI7emUuZmlsbFN0eWxlPXZlPCRlP01lOmRlLHplLmZpbGxSZWN0KG50Ky41LHp0LHFlLTEsWmUpfX1oYW5kbGVXYXZlZm9ybUNsaWNrKFYpe2xldCBIPVYuY3VycmVudFRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvZT0oVi5jbGllbnRYLUgubGVmdCkvSC53aWR0aDt0aGlzLnNlZWsob2UqdGhpcy5kdXJhdGlvbil9aGFuZGxlU2Vla2JhckNsaWNrKFYpe2xldCBIPVYuY3VycmVudFRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvZT0oVi5jbGllbnRYLUgubGVmdCkvSC53aWR0aDt0aGlzLnNlZWsob2UqdGhpcy5kdXJhdGlvbil9aGFuZGxlVm9sdW1lQ2hhbmdlKFYpe2xldCBIPXBhcnNlRmxvYXQoVi50YXJnZXQudmFsdWUpO3RoaXMuc2V0Vm9sdW1lKEgpfXN0YXJ0VGltZVVwZGF0ZSgpe3RoaXMuc3RvcFRpbWVVcGRhdGUoKTtsZXQgVj1zKCgpPT57dGhpcy5hdWRpb0VsZW1lbnQmJnRoaXMuaXNQbGF5aW5nJiYodGhpcy5jdXJyZW50VGltZT10aGlzLmF1ZGlvRWxlbWVudC5jdXJyZW50VGltZSx0aGlzLmFuaW1GcmFtZUlkPXJlcXVlc3RBbmltYXRpb25GcmFtZShWKSl9LCJ1cGRhdGUiKTt0aGlzLmFuaW1GcmFtZUlkPXJlcXVlc3RBbmltYXRpb25GcmFtZShWKX1zdG9wVGltZVVwZGF0ZSgpe3RoaXMuYW5pbUZyYW1lSWQmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLmFuaW1GcmFtZUlkKSx0aGlzLmFuaW1GcmFtZUlkPTApfWZvcm1hdFRpbWUoVil7aWYoIWlzRmluaXRlKFYpfHxWPDApcmV0dXJuIjA6MDAiO2xldCBIPU1hdGguZmxvb3IoVi82MCksb2U9TWF0aC5mbG9vcihWJTYwKTtyZXR1cm5gJHtIfToke29lLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWB9Y2xlYW51cCgpe3RoaXMuc3RvcFRpbWVVcGRhdGUoKSx0aGlzLmF1ZGlvRWxlbWVudCYmKHRoaXMuYXVkaW9FbGVtZW50LnBhdXNlKCksdGhpcy5hdWRpb0VsZW1lbnQuc3JjPSIiLHRoaXMuYXVkaW9FbGVtZW50PW51bGwpLHRoaXMuaXNQbGF5aW5nPSExLHRoaXMuY3VycmVudFRpbWU9MCx0aGlzLmR1cmF0aW9uPTAsdGhpcy53YXZlZm9ybURhdGE9W10sdGhpcy53YXZlZm9ybVJlYWR5PSExfXN0YXRpY3tCYShyLHQpfX07cmV0dXJuIHllPXJ9KSgpfSk7dmFyIHgzYT1mKCgpPT57TlFlKCl9KTt2YXIgeTNhLHczYT1mKCgpPT57bGUoKTt5M2E9cygoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMzJweDsKICAgIH0KCiAgICAuc2VjdGlvbiB7CiAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgfQoKICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5WaWRlbyB3aXRoIEN1c3RvbSBDb250cm9sczwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BIHZpZGVvIHBsYXllciB3aXRoIG92ZXJsYXkgY29udHJvbHMsIHNlZWtpbmcsIGFuZCB2b2x1bWUgYWRqdXN0bWVudC48L2Rpdj4KICAgICAgPGRlZXMtdmlkZW8tdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2d0di12aWRlb3MtYnVja2V0L3NhbXBsZS9CaWdCdWNrQnVubnkubXA0IgogICAgICAgIHBvc3Rlcj0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9ndHYtdmlkZW9zLWJ1Y2tldC9zYW1wbGUvaW1hZ2VzL0JpZ0J1Y2tCdW5ueS5qcGciCiAgICAgID48L2RlZXMtdmlkZW8tdmlld2VyPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkF1dG9wbGF5IE11dGVkPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlZpZGVvIHRoYXQgYXV0b3BsYXlzIG11dGVkLCBjb21tb25seSB1c2VkIGZvciBwcmV2aWV3cy48L2Rpdj4KICAgICAgPGRlZXMtdmlkZW8tdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2d0di12aWRlb3MtYnVja2V0L3NhbXBsZS9FbGVwaGFudHNEcmVhbS5tcDQiCiAgICAgICAgcG9zdGVyPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2d0di12aWRlb3MtYnVja2V0L3NhbXBsZS9pbWFnZXMvRWxlcGhhbnRzRHJlYW0uanBnIgogICAgICAgIC5hdXRvcGxheT0keyEwfQogICAgICAgIC5tdXRlZD0keyEwfQogICAgICA+PC9kZWVzLXZpZGVvLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5OYXRpdmUgQ29udHJvbHM8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+VmlkZW8gdXNpbmcgYnJvd3Nlci1uYXRpdmUgY29udHJvbHMgaW5zdGVhZCBvZiBjdXN0b20gb3ZlcmxheS48L2Rpdj4KICAgICAgPGRlZXMtdmlkZW8tdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2d0di12aWRlb3MtYnVja2V0L3NhbXBsZS9Gb3JCaWdnZXJCbGF6ZXMubXA0IgogICAgICAgIC5zaG93Q29udHJvbHM9JHshMX0KICAgICAgPjwvZGVlcy12aWRlby12aWV3ZXI+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtbyIpfSk7dmFyIG9vLEthLE0zYSxSUWU9ZigoKT0+e2xlKCk7dmEoKTt3M2EoKTtvbz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sS2E9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LE0zYT0oKCk9PntsZXQgYT1baWUoImRlZXMtdmlkZW8tdmlld2VyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFEsSj1bXSxaPVtdO3ZhciBnZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1ZpZGVvVmlld2VyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGFlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoKV0sZD1bJCgpXSx1PVskKHt0eXBlOkJvb2xlYW59KV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVskKHt0eXBlOkJvb2xlYW59KV0sTz1bSygpXSxCPVtLKCldLEU9W0soKV0sVz1bSygpXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxRPVtLKCldLG9vKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4ic3JjImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuc3JjLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuc3JjPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxuLGwpLG9vKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4icG9zdGVyImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUucG9zdGVyLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUucG9zdGVyPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxjLHApLG9vKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0NvbnRyb2xzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4ic2hvd0NvbnRyb2xzImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuc2hvd0NvbnRyb2xzLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuc2hvd0NvbnRyb2xzPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxtLHYpLG9vKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXV0b3BsYXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJhdXRvcGxheSJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmF1dG9wbGF5LCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuYXV0b3BsYXk9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LGIsZyksb28odGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb29wIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4ibG9vcCJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmxvb3AsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5sb29wPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxrLEMpLG9vKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibXV0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJtdXRlZCJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLm11dGVkLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUubXV0ZWQ9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LF8seiksb28odGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1BsYXlpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJpc1BsYXlpbmciaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5pc1BsYXlpbmcsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5pc1BsYXlpbmc9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LFQsUCksb28odGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VGltZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+ImN1cnJlbnRUaW1lImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuY3VycmVudFRpbWUsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5jdXJyZW50VGltZT15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sTSxTKSxvbyh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImR1cmF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4iZHVyYXRpb24iaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5kdXJhdGlvbiwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmR1cmF0aW9uPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxBLEYpLG9vKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidm9sdW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4idm9sdW1lImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUudm9sdW1lLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUudm9sdW1lPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxqLEcpLG9vKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJsb2FkaW5nImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUubG9hZGluZywiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmxvYWRpbmc9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LFIsVSksb28odGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJlcnJvciJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmVycm9yLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuZXJyb3I9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LEkscSksb28odGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNGdWxsc2NyZWVuIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4iaXNGdWxsc2NyZWVuImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuaXNGdWxsc2NyZWVuLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuaXNGdWxsc2NyZWVuPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSx1ZSxZKSxvbyh0aGlzLG51bGwsUSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRyb2xzVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+ImNvbnRyb2xzVmlzaWJsZSJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmNvbnRyb2xzVmlzaWJsZSwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmNvbnRyb2xzVmlzaWJsZT15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sSixaKSxvbyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTphZX0sbnVsbCx0KSxnZT1yPWUudmFsdWUsYWUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6YWV9KX1zdGF0aWMgZGVtbz15M2E7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdOyNlPUthKHRoaXMsbiwiIik7Z2V0IHNyYygpe3JldHVybiB0aGlzLiNlfXNldCBzcmMoYWUpe3RoaXMuI2U9YWV9I3Q9KEthKHRoaXMsbCksS2EodGhpcyxjLCIiKSk7Z2V0IHBvc3Rlcigpe3JldHVybiB0aGlzLiN0fXNldCBwb3N0ZXIoYWUpe3RoaXMuI3Q9YWV9I2E9KEthKHRoaXMscCksS2EodGhpcyxtLCEwKSk7Z2V0IHNob3dDb250cm9scygpe3JldHVybiB0aGlzLiNhfXNldCBzaG93Q29udHJvbHMoYWUpe3RoaXMuI2E9YWV9I3I9KEthKHRoaXMsdiksS2EodGhpcyxiLCExKSk7Z2V0IGF1dG9wbGF5KCl7cmV0dXJuIHRoaXMuI3J9c2V0IGF1dG9wbGF5KGFlKXt0aGlzLiNyPWFlfSNzPShLYSh0aGlzLGcpLEthKHRoaXMsaywhMSkpO2dldCBsb29wKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGxvb3AoYWUpe3RoaXMuI3M9YWV9I2k9KEthKHRoaXMsQyksS2EodGhpcyxfLCExKSk7Z2V0IG11dGVkKCl7cmV0dXJuIHRoaXMuI2l9c2V0IG11dGVkKGFlKXt0aGlzLiNpPWFlfSNvPShLYSh0aGlzLHopLEthKHRoaXMsVCwhMSkpO2dldCBpc1BsYXlpbmcoKXtyZXR1cm4gdGhpcy4jb31zZXQgaXNQbGF5aW5nKGFlKXt0aGlzLiNvPWFlfSNuPShLYSh0aGlzLFApLEthKHRoaXMsTSwwKSk7Z2V0IGN1cnJlbnRUaW1lKCl7cmV0dXJuIHRoaXMuI259c2V0IGN1cnJlbnRUaW1lKGFlKXt0aGlzLiNuPWFlfSNsPShLYSh0aGlzLFMpLEthKHRoaXMsQSwwKSk7Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGR1cmF0aW9uKGFlKXt0aGlzLiNsPWFlfSNjPShLYSh0aGlzLEYpLEthKHRoaXMsaiwxKSk7Z2V0IHZvbHVtZSgpe3JldHVybiB0aGlzLiNjfXNldCB2b2x1bWUoYWUpe3RoaXMuI2M9YWV9I2Q9KEthKHRoaXMsRyksS2EodGhpcyxSLCEwKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jZH1zZXQgbG9hZGluZyhhZSl7dGhpcy4jZD1hZX0jdT0oS2EodGhpcyxVKSxLYSh0aGlzLEksIiIpKTtnZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy4jdX1zZXQgZXJyb3IoYWUpe3RoaXMuI3U9YWV9I3A9KEthKHRoaXMscSksS2EodGhpcyx1ZSwhMSkpO2dldCBpc0Z1bGxzY3JlZW4oKXtyZXR1cm4gdGhpcy4jcH1zZXQgaXNGdWxsc2NyZWVuKGFlKXt0aGlzLiNwPWFlfSNmPShLYSh0aGlzLFkpLEthKHRoaXMsSiwhMCkpO2dldCBjb250cm9sc1Zpc2libGUoKXtyZXR1cm4gdGhpcy4jZn1zZXQgY29udHJvbHNWaXNpYmxlKGFlKXt0aGlzLiNmPWFlfWhpZGVDb250cm9sc1RpbWVyPShLYSh0aGlzLFopLG51bGwpO3ZpZGVvRWxlbWVudD1udWxsO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgOmhvc3QgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgICAgfQoKICAgICAgICAudmlkZW8tY29udGFpbmVyIHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIHZpZGVvIHsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm92ZXJsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQoKICAgICAgICAuY2VudGVyLXBsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICAgIHdpZHRoOiA2NHB4OwogICAgICAgICAgaGVpZ2h0OiA2NHB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7CiAgICAgICAgICBvcGFjaXR5OiAke3RoaXMuaXNQbGF5aW5nPzA6MX07CiAgICAgICAgICBwb2ludGVyLWV2ZW50czogJHt0aGlzLmlzUGxheWluZz8ibm9uZSI6ImF1dG8ifTsKICAgICAgICB9CgogICAgICAgIC5jZW50ZXItcGxheSBkZWVzLWljb24gewogICAgICAgICAgZm9udC1zaXplOiAyOHB4OwogICAgICAgIH0KCiAgICAgICAgLmNlbnRlci1wbGF5OmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMSk7CiAgICAgICAgfQoKICAgICAgICAuY29udHJvbHMtYmFyIHsKICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjcpKTsKICAgICAgICAgIHBhZGRpbmc6IDI0cHggMTJweCAxMnB4OwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIG9wYWNpdHk6ICR7dGhpcy5jb250cm9sc1Zpc2libGV8fCF0aGlzLmlzUGxheWluZz8xOjB9OwogICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAuc2Vla2Jhci1yb3cgewogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB9CgogICAgICAgIC5zZWVrYmFyLXJvdzpob3ZlciB7CiAgICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICB9CgogICAgICAgIC5zZWVrYmFyLXByb2dyZXNzIHsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRyb2xzLXJvdyB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgIH0KCiAgICAgICAgLmN0cmwtYnV0dG9uIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC5jdHJsLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLmN0cmwtYnV0dG9uOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7CiAgICAgICAgfQoKICAgICAgICAudGltZS1kaXNwbGF5IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOwogICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC5zcGFjZXIgewogICAgICAgICAgZmxleDogMTsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDRweDsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyIHsKICAgICAgICAgIHdpZHRoOiA2MHB4OwogICAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYiB7CiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQoKICAgICAgICAudm9sdW1lLXNsaWRlcjo6LW1vei1yYW5nZS10aHVtYiB7CiAgICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7CiAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1vdmVybGF5IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIH0KCiAgICAgICAgLmxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmZmZmY7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgICAgfQoKICAgICAgICAuZXJyb3Itb3ZlcmxheSB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgICAgIH0KCiAgICAgICAgLmVycm9yLW92ZXJsYXkgZGVlcy1pY29uIHsKICAgICAgICAgIGNvbG9yOiAjZjg3MTcxOwogICAgICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgICAgIH0KCiAgICAgICAgLmVycm9yLXRleHQgewogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0idmlkZW8tY29udGFpbmVyIgogICAgICAgIEBtb3VzZW1vdmU9JHt0aGlzLmhhbmRsZU1vdXNlTW92ZX0KICAgICAgICBAbW91c2VsZWF2ZT0ke3RoaXMuaGFuZGxlTW91c2VMZWF2ZX0KICAgICAgPgogICAgICAgIDx2aWRlbwogICAgICAgICAgLnNyYz0ke3RoaXMuc3JjfQogICAgICAgICAgLnBvc3Rlcj0ke3RoaXMucG9zdGVyfQogICAgICAgICAgLm11dGVkPSR7dGhpcy5tdXRlZH0KICAgICAgICAgIC5sb29wPSR7dGhpcy5sb29wfQogICAgICAgICAgP2F1dG9wbGF5PSR7dGhpcy5hdXRvcGxheX0KICAgICAgICAgID9jb250cm9scz0keyF0aGlzLnNob3dDb250cm9sc30KICAgICAgICAgIHBsYXlzaW5saW5lCiAgICAgICAgICBAbG9hZGVkbWV0YWRhdGE9JHt0aGlzLmhhbmRsZUxvYWRlZE1ldGFkYXRhfQogICAgICAgICAgQHBsYXk9JHt0aGlzLmhhbmRsZVBsYXl9CiAgICAgICAgICBAcGF1c2U9JHt0aGlzLmhhbmRsZVBhdXNlfQogICAgICAgICAgQGVuZGVkPSR7dGhpcy5oYW5kbGVFbmRlZH0KICAgICAgICAgIEB0aW1ldXBkYXRlPSR7dGhpcy5oYW5kbGVUaW1lVXBkYXRlfQogICAgICAgICAgQGVycm9yPSR7dGhpcy5oYW5kbGVFcnJvcn0KICAgICAgICAgIEB3YWl0aW5nPSR7KCk9Pnt0aGlzLmxvYWRpbmc9ITB9fQogICAgICAgICAgQGNhbnBsYXk9JHsoKT0+e3RoaXMubG9hZGluZz0hMX19CiAgICAgICAgPjwvdmlkZW8+CgogICAgICAgICR7dGhpcy5zaG93Q29udHJvbHM/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXkiIEBjbGljaz0ke3RoaXMuaGFuZGxlT3ZlcmxheUNsaWNrfT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VudGVyLXBsYXkiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlBsYXkiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzLWJhciIgQGNsaWNrPSR7YWU9PmFlLnN0b3BQcm9wYWdhdGlvbigpfT4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWVrYmFyLXJvdyIgQGNsaWNrPSR7dGhpcy5oYW5kbGVTZWVrfT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlZWtiYXItcHJvZ3Jlc3MiIHN0eWxlPSJ3aWR0aDogJHt0aGlzLmR1cmF0aW9uP3RoaXMuY3VycmVudFRpbWUvdGhpcy5kdXJhdGlvbioxMDA6MH0lIj48L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMtcm93Ij4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0cmwtYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZVBsYXl9PgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZToke3RoaXMuaXNQbGF5aW5nPyJQYXVzZSI6IlBsYXkifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGltZS1kaXNwbGF5Ij4KICAgICAgICAgICAgICAgICAgJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5jdXJyZW50VGltZSl9IC8gJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5kdXJhdGlvbil9CiAgICAgICAgICAgICAgICA8L3NwYW4+CgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwYWNlciI+PC9zcGFuPgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InZvbHVtZS1ncm91cCI+CiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0cmwtYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZU11dGV9PgogICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOiR7dGhpcy5tdXRlZHx8dGhpcy52b2x1bWU9PT0wPyJWb2x1bWVYIjp0aGlzLnZvbHVtZTwuNT8iVm9sdW1lMSI6IlZvbHVtZTIifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgICAgICBjbGFzcz0idm9sdW1lLXNsaWRlciIKICAgICAgICAgICAgICAgICAgICB0eXBlPSJyYW5nZSIKICAgICAgICAgICAgICAgICAgICBtaW49IjAiCiAgICAgICAgICAgICAgICAgICAgbWF4PSIxIgogICAgICAgICAgICAgICAgICAgIHN0ZXA9IjAuMDEiCiAgICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7U3RyaW5nKHRoaXMubXV0ZWQ/MDp0aGlzLnZvbHVtZSl9CiAgICAgICAgICAgICAgICAgICAgQGlucHV0PSR7dGhpcy5oYW5kbGVWb2x1bWVDaGFuZ2V9CiAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHJsLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy50b2dnbGVGdWxsc2NyZWVufSB0aXRsZT0iRnVsbHNjcmVlbiI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOiR7dGhpcy5pc0Z1bGxzY3JlZW4/Ik1pbmltaXplIjoiTWF4aW1pemUifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICAke3RoaXMubG9hZGluZyYmIXRoaXMuZXJyb3I/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctb3ZlcmxheSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICAke3RoaXMuZXJyb3I/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLW92ZXJsYXkiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpWaWRlb09mZiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlcnJvci10ZXh0Ij4ke3RoaXMuZXJyb3J9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe3RoaXMudmlkZW9FbGVtZW50PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigidmlkZW8iKXx8bnVsbCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVuY2hhbmdlIix0aGlzLmhhbmRsZUZ1bGxzY3JlZW5DaGFuZ2UpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVuY2hhbmdlIix0aGlzLmhhbmRsZUZ1bGxzY3JlZW5DaGFuZ2UpLHRoaXMuaGlkZUNvbnRyb2xzVGltZXImJmNsZWFyVGltZW91dCh0aGlzLmhpZGVDb250cm9sc1RpbWVyKX1wbGF5KCl7dGhpcy52aWRlb0VsZW1lbnQ/LnBsYXkoKX1wYXVzZSgpe3RoaXMudmlkZW9FbGVtZW50Py5wYXVzZSgpfXRvZ2dsZVBsYXkoKXt0aGlzLmlzUGxheWluZz90aGlzLnBhdXNlKCk6dGhpcy5wbGF5KCl9c2VlayhhZSl7dGhpcy52aWRlb0VsZW1lbnQmJih0aGlzLnZpZGVvRWxlbWVudC5jdXJyZW50VGltZT1hZSl9c2V0Vm9sdW1lKGFlKXt0aGlzLnZvbHVtZT1NYXRoLm1heCgwLE1hdGgubWluKDEsYWUpKSx0aGlzLnZpZGVvRWxlbWVudCYmKHRoaXMudmlkZW9FbGVtZW50LnZvbHVtZT10aGlzLnZvbHVtZSl9dG9nZ2xlRnVsbHNjcmVlbigpe2xldCBhZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi52aWRlby1jb250YWluZXIiKTthZSYmKHRoaXMuaXNGdWxsc2NyZWVuP2RvY3VtZW50LmV4aXRGdWxsc2NyZWVuPy4oKTphZS5yZXF1ZXN0RnVsbHNjcmVlbj8uKCkpfWhhbmRsZUxvYWRlZE1ldGFkYXRhKCl7dGhpcy52aWRlb0VsZW1lbnQmJih0aGlzLmR1cmF0aW9uPXRoaXMudmlkZW9FbGVtZW50LmR1cmF0aW9uLHRoaXMubG9hZGluZz0hMSl9aGFuZGxlUGxheSgpe3RoaXMuaXNQbGF5aW5nPSEwLHRoaXMuc2NoZWR1bGVIaWRlQ29udHJvbHMoKX1oYW5kbGVQYXVzZSgpe3RoaXMuaXNQbGF5aW5nPSExLHRoaXMuY29udHJvbHNWaXNpYmxlPSEwfWhhbmRsZUVuZGVkKCl7dGhpcy5pc1BsYXlpbmc9ITEsdGhpcy5jb250cm9sc1Zpc2libGU9ITB9aGFuZGxlVGltZVVwZGF0ZSgpe3RoaXMudmlkZW9FbGVtZW50JiYodGhpcy5jdXJyZW50VGltZT10aGlzLnZpZGVvRWxlbWVudC5jdXJyZW50VGltZSl9aGFuZGxlRXJyb3IoKXt0aGlzLmVycm9yPSJGYWlsZWQgdG8gbG9hZCB2aWRlbyIsdGhpcy5sb2FkaW5nPSExfWhhbmRsZU92ZXJsYXlDbGljaygpe3RoaXMudG9nZ2xlUGxheSgpfWhhbmRsZVNlZWsoYWUpe2xldCByZT1hZS5jdXJyZW50VGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHllPShhZS5jbGllbnRYLXJlLmxlZnQpL3JlLndpZHRoO3RoaXMuc2Vlayh5ZSp0aGlzLmR1cmF0aW9uKX1oYW5kbGVWb2x1bWVDaGFuZ2UoYWUpe2xldCByZT1wYXJzZUZsb2F0KGFlLnRhcmdldC52YWx1ZSk7dGhpcy5zZXRWb2x1bWUocmUpLHRoaXMubXV0ZWQ9cmU9PT0wfXRvZ2dsZU11dGUoKXt0aGlzLm11dGVkPSF0aGlzLm11dGVkLHRoaXMudmlkZW9FbGVtZW50JiYodGhpcy52aWRlb0VsZW1lbnQubXV0ZWQ9dGhpcy5tdXRlZCl9aGFuZGxlTW91c2VNb3ZlKCl7dGhpcy5jb250cm9sc1Zpc2libGU9ITAsdGhpcy5zY2hlZHVsZUhpZGVDb250cm9scygpfWhhbmRsZU1vdXNlTGVhdmUoKXt0aGlzLmlzUGxheWluZyYmKHRoaXMuY29udHJvbHNWaXNpYmxlPSExKX1zY2hlZHVsZUhpZGVDb250cm9scygpe3RoaXMuaGlkZUNvbnRyb2xzVGltZXImJmNsZWFyVGltZW91dCh0aGlzLmhpZGVDb250cm9sc1RpbWVyKSx0aGlzLmlzUGxheWluZyYmKHRoaXMuaGlkZUNvbnRyb2xzVGltZXI9c2V0VGltZW91dCgoKT0+e3RoaXMuY29udHJvbHNWaXNpYmxlPSExfSwzZTMpKX1oYW5kbGVGdWxsc2NyZWVuQ2hhbmdlPXMoKCk9Pnt0aGlzLmlzRnVsbHNjcmVlbj0hIWRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50fSwiaGFuZGxlRnVsbHNjcmVlbkNoYW5nZSIpO2Zvcm1hdFRpbWUoYWUpe2lmKCFpc0Zpbml0ZShhZSl8fGFlPDApcmV0dXJuIjA6MDAiO2xldCByZT1NYXRoLmZsb29yKGFlLzYwKSx5ZT1NYXRoLmZsb29yKGFlJTYwKTtyZXR1cm5gJHtyZX06JHt5ZS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfXN0YXRpY3tLYShyLHQpfX07cmV0dXJuIGdlPXJ9KSgpfSk7dmFyIGszYT1mKCgpPT57UlFlKCl9KTt2YXIgbGwsWXNlPWYoKCk9PntsZSgpO2xsPWNsYXNze3N0YXRpY3tzKHRoaXMsIlBkZk1hbmFnZXIiKX1zdGF0aWMgcGRmanNMaWI7c3RhdGljIGluaXRpYWxpemVkPSExO3N0YXRpYyBhc3luYyBpbml0aWFsaXplKCl7dGhpcy5pbml0aWFsaXplZHx8KHRoaXMucGRmanNMaWI9YXdhaXQgaW1wb3J0KCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3BkZmpzLWRpc3RANC4wLjM3OS8rZXNtIiksdGhpcy5wZGZqc0xpYi5HbG9iYWxXb3JrZXJPcHRpb25zLndvcmtlclNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9wZGZqcy1kaXN0QDQuMC4zNzkvYnVpbGQvcGRmLndvcmtlci5tanMiLHRoaXMuaW5pdGlhbGl6ZWQ9ITApfXN0YXRpYyBhc3luYyBsb2FkRG9jdW1lbnQoZSl7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZSgpLGF3YWl0IHRoaXMucGRmanNMaWIuZ2V0RG9jdW1lbnQoZSkucHJvbWlzZX1zdGF0aWMgcmVsZWFzZURvY3VtZW50KGUpe319fSk7dmFyIFMzYSx6M2E9ZigoKT0+e2xlKCk7UWUoKTtTM2E9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgOmhvc3QgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogNjAwcHg7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgY29udGFpbjogbGF5b3V0IHN0eWxlOwogICAgfQoKICAgIGRlZXMtdGlsZSB7CiAgICAgIGhlaWdodDogMTAwJTsKICAgIH0KCiAgICAudmlld2VyLWNvbnRhaW5lcjo6YmVmb3JlLAogICAgLnZpZXdlci1jb250YWluZXI6OmFmdGVyIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgbGVmdDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIGhlaWdodDogOHB4OwogICAgICB6LWluZGV4OiA1OwogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIH0KCiAgICAudmlld2VyLWNvbnRhaW5lcjo6YmVmb3JlIHsKICAgICAgdG9wOiAwOwogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgdG8gYm90dG9tLAogICAgICAgICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDgpIiwiaHNsKDAgMCUgMCUgLyAwLjQpIil9LAogICAgICAgICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDMpIiwiaHNsKDAgMCUgMCUgLyAwLjEyKSIpfSwKICAgICAgICB0cmFuc3BhcmVudAogICAgICApOwogICAgfQoKICAgIC52aWV3ZXItY29udGFpbmVyOjphZnRlciB7CiAgICAgIGJvdHRvbTogMDsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KAogICAgICAgIHRvIHRvcCwKICAgICAgICAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA4KSIsImhzbCgwIDAlIDAlIC8gMC40KSIpfSwKICAgICAgICAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjAzKSIsImhzbCgwIDAlIDAlIC8gMC4xMikiKX0sCiAgICAgICAgdHJhbnNwYXJlbnQKICAgICAgKTsKICAgIH0KCiAgICAudG9vbGJhciB7CiAgICAgIGhlaWdodDogNDBweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICBnYXA6IDEycHg7CiAgICB9CgogICAgLnRvb2xiYXItZ3JvdXAgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBnYXA6IDRweDsKICAgIH0KCiAgICAudG9vbGJhci1ncm91cC0tZW5kIHsKICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICB9CgogICAgLnRvb2xiYXItYnV0dG9uIHsKICAgICAgd2lkdGg6IDMycHg7CiAgICAgIGhlaWdodDogMzJweDsKICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICB9CgogICAgLnRvb2xiYXItYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDkyJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgfQoKICAgIC50b29sYmFyLWJ1dHRvbjpkaXNhYmxlZCB7CiAgICAgIG9wYWNpdHk6IDAuNDsKICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgIH0KCiAgICAudG9vbGJhci1idXR0b24gZGVlcy1pY29uIHsKICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgfQoKICAgIC5wYWdlLWluZm8gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBnYXA6IDhweDsKICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgIH0KCiAgICAucGFnZS1pbnB1dCB7CiAgICAgIHdpZHRoOiA0OHB4OwogICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDg2JSkiLCJoc2woMjE3IDI1JSAyOCUpIil9OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDIwJSAxMiUpIil9OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIgNDclIDExJSkiLCJoc2woMjEwIDIwJSA5NiUpIil9OwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgIG91dGxpbmU6IG5vbmU7CiAgICB9CgogICAgLnBhZ2UtaW5wdXQ6Zm9jdXMgewogICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgIH0KCiAgICAucGFnZS1zZXBhcmF0b3IgewogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDYwJSkiLCJoc2woMjE1IDE2JSA1MCUpIil9OwogICAgfQoKICAgIC56b29tLWxldmVsIHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgICBtaW4td2lkdGg6IDQ4cHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIH0KCiAgICAudmlld2VyLWNvbnRhaW5lciB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgaW5zZXQ6IDA7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CgogICAgLnNpZGViYXIgewogICAgICB3aWR0aDogMjAwcHg7CiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTElKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgb3JkZXI6IDA7CiAgICB9CgogICAgLnNpZGViYXItcmlnaHQgLnNpZGViYXIgewogICAgICBib3JkZXItcmlnaHQ6IG5vbmU7CiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDkxJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICBvcmRlcjogMTsKICAgIH0KCiAgICAuc2lkZWJhci1oZWFkZXIgewogICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDkxJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICB9CgogICAgLnNpZGViYXItY2xvc2UgewogICAgICB3aWR0aDogMjRweDsKICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICBib3JkZXI6IG5vbmU7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgIH0KCiAgICAuc2lkZWJhci1jbG9zZTpob3ZlciB7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MiUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgIH0KCiAgICAuc2lkZWJhci1jbG9zZSBkZWVzLWljb24gewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICB9CgogICAgLnNpZGViYXItY29udGVudCB7CiAgICAgIGZsZXg6IDE7CiAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgcGFkZGluZzogMTJweDsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICB9CgogICAgLnRodW1ibmFpbCB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZTsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMjE1IDIwJSAxOCUpIil9OwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIC8qIERlZmF1bHQgQTQgYXNwZWN0IHJhdGlvICgyOTdtbSAvIDIxMG1tIOKJiCAxLjQxNCkgKi8KICAgICAgbWluLWhlaWdodDogY2FsYygxNzZweCAqIDEuNDE0KTsKICAgIH0KCiAgICAudGh1bWJuYWlsOmxhc3QtY2hpbGQgewogICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgfQoKICAgIC50aHVtYm5haWw6aG92ZXIgewogICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA4NiUpIiwiaHNsKDIxNyAyNSUgMzUlKSIpfTsKICAgIH0KCiAgICAudGh1bWJuYWlsLmFjdGl2ZSB7CiAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgfQoKICAgIC50aHVtYm5haWwtY2FudmFzIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IGF1dG87CiAgICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDsKICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlczsKICAgIH0KCiAgICAudGh1bWJuYWlsLW51bWJlciB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgYm90dG9tOiA0cHg7CiAgICAgIHJpZ2h0OiA0cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuNykiLCJyZ2JhKDAsIDAsIDAsIDAuOCkiKX07CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICB9CgogICAgLnZpZXdlci1tYWluIHsKICAgICAgZmxleDogMTsKICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICBwYWRkaW5nOiAyMHB4OwogICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsKICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgbWluLWhlaWdodDogMDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgfQoKICAgIC5sb2FkaW5nLWNvbnRhaW5lciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIGdhcDogMTZweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgIH0KCiAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgd2lkdGg6IDMycHg7CiAgICAgIGhlaWdodDogMzJweDsKICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICBib3JkZXI6IDNweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgODYlKSIsImhzbCgyMTcgMjUlIDI4JSkiKX07CiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlOwogICAgfQoKICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgIHRvIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICB9CiAgICB9CgogICAgLmxvYWRpbmctdGV4dCB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIH0KCiAgICAucGFnZXMtY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiAyMHB4OwogICAgfQoKICAgIC5wYWdlLXdyYXBwZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLmNhbnZhcy1jb250YWluZXIgewogICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgYm94LXNoYWRvdzogMCAycHggMTJweCAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjEpIiwicmdiYSgwLCAwLCAwLCAwLjMpIil9OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgfQoKICAgIC5wYWdlLWNhbnZhcyB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7CiAgICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7CiAgICB9CgogICAgLyogVGV4dCBsYXllciBmb3Igc2VsZWN0aW9uICovCiAgICAudGV4dC1sYXllciB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgaW5zZXQ6IDA7CiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgdGV4dC1zaXplLWFkanVzdDogbm9uZTsKICAgICAgZm9yY2VkLWNvbG9yLWFkanVzdDogbm9uZTsKICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwOwogICAgICB6LWluZGV4OiAxOwogICAgICB1c2VyLXNlbGVjdDogdGV4dDsKICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogdGV4dDsKICAgIH0KCiAgICAudGV4dC1sYXllciBzcGFuLAogICAgLnRleHQtbGF5ZXIgYnIgewogICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgd2hpdGUtc3BhY2U6IHByZTsKICAgICAgY3Vyc29yOiB0ZXh0OwogICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTsKICAgICAgdXNlci1zZWxlY3Q6IHRleHQ7CiAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IHRleHQ7CiAgICB9CgogICAgLnRleHQtbGF5ZXIgOjpzZWxlY3Rpb24gewogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEwMCwgMjAwLCAwLjMpOwogICAgfQoKICAgIC50ZXh0LWxheWVyIGJyOjpzZWxlY3Rpb24gewogICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIH0KCiAgICAudGV4dC1sYXllciAuZW5kT2ZDb250ZW50IHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgaW5zZXQ6IDEwMCUgMCAwOwogICAgICB6LWluZGV4OiAwOwogICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgfQoKICAgIC50ZXh0LWxheWVyLnNlbGVjdGluZyAuZW5kT2ZDb250ZW50IHsKICAgICAgdG9wOiAwOwogICAgfQoKICAgIC5wZGYtdmlld2VyLndpdGgtc2lkZWJhciAudmlld2VyLW1haW4gewogICAgICBtYXJnaW4tbGVmdDogMDsKICAgIH0KCiAgICAucGRmLWZvb3RlciB7CiAgICAgIGhlaWdodDogMjhweDsKICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgfQoKICAgIC5wZGYtZm9vdGVyLWxlZnQgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBnYXA6IDEycHg7CiAgICB9CgogICAgLnBkZi1mb290ZXItbGVmdCAucGRmLWZvb3Rlci1pdGVtICsgLnBkZi1mb290ZXItaXRlbSB7CiAgICAgIHBhZGRpbmctbGVmdDogMTJweDsKICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgIH0KCiAgICAucGRmLWZvb3Rlci1jZW50ZXIgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGxlZnQ6IDUwJTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCAwLjE1cyBlYXNlOwogICAgfQoKICAgIC5wZGYtZm9vdGVyLXJpZ2h0IHsKICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICB9CgogICAgLnBkZi1mb290ZXItaXRlbSB7CiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICB9CgogICAgLnBkZi1mb290ZXItZmlsZW5hbWUgewogICAgICBmb250LWZhbWlseTogJ0ludGVsIE9uZSBNb25vJywgJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7CiAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICB9CiAgYF19KTt2YXIgQzNhLF8zYT1mKCgpPT57bGUoKTtDM2E9cygoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBwYWRkaW5nOiAyMHB4OwogICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwOwogICAgfQoKICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICAgfQoKICAgIGgzIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBjb2xvcjogI2ZhZmFmYTsKICAgIH0KCiAgICBkZWVzLXBkZi12aWV3ZXIgewogICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CgogICAgLnZpZXdlci10YWxsIHsKICAgICAgaGVpZ2h0OiA4MDBweDsKICAgIH0KCiAgICAudmlld2VyLWNvbXBhY3QgewogICAgICBoZWlnaHQ6IDUwMHB4OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5GdWxsIEZlYXR1cmVkIFBERiBWaWV3ZXIgd2l0aCBUb29sYmFyPC9oMz4KICAgICAgPGRlZXMtcGRmLXZpZXdlcgogICAgICAgIGNsYXNzPSJ2aWV3ZXItdGFsbCIKICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS93ZWIvY29tcHJlc3NlZC50cmFjZW1vbmtleS1wbGRpLTA5LnBkZiIKICAgICAgICBzaG93VG9vbGJhcj0idHJ1ZSIKICAgICAgICBzaG93U2lkZWJhcj0iZmFsc2UiCiAgICAgICAgaW5pdGlhbFpvb209InBhZ2UtZml0IgogICAgICA+PC9kZWVzLXBkZi12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+UERGIFZpZXdlciB3aXRoIFNpZGViYXIgTmF2aWdhdGlvbjwvaDM+CiAgICAgIDxkZWVzLXBkZi12aWV3ZXIKICAgICAgICBjbGFzcz0idmlld2VyLXRhbGwiCiAgICAgICAgcGRmVXJsPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW96aWxsYS9wZGYuanMvYmEyZWRlYWUvd2ViL2NvbXByZXNzZWQudHJhY2Vtb25rZXktcGxkaS0wOS5wZGYiCiAgICAgICAgc2hvd1Rvb2xiYXI9InRydWUiCiAgICAgICAgc2hvd1NpZGViYXI9InRydWUiCiAgICAgICAgaW5pdGlhbFpvb209InBhZ2Utd2lkdGgiCiAgICAgID48L2RlZXMtcGRmLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5Db21wYWN0IFZpZXdlciB3aXRob3V0IENvbnRyb2xzPC9oMz4KICAgICAgPGRlZXMtcGRmLXZpZXdlcgogICAgICAgIGNsYXNzPSJ2aWV3ZXItY29tcGFjdCIKICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS9leGFtcGxlcy9sZWFybmluZy9oZWxsb3dvcmxkLnBkZiIKICAgICAgICBzaG93VG9vbGJhcj0iZmFsc2UiCiAgICAgICAgc2hvd1NpZGViYXI9ImZhbHNlIgogICAgICAgIGluaXRpYWxab29tPSJhdXRvIgogICAgICA+PC9kZWVzLXBkZi12aWV3ZXI+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtbyIpfSk7dmFyIG5vLFphLFQzYSxPUWU9ZigoKT0+e2xlKCk7WXNlKCk7ejNhKCk7XzNhKCk7dmEoKTtRcigpO25vPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxaYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sVDNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1wZGYtdmlld2VyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFEsSj1bXSxaPVtdO3ZhciBnZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1BkZlZpZXdlciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBhZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOk51bWJlcn0pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpCb29sZWFufSldLE49WyQoe3R5cGU6U3RyaW5nfSldLE89WyQoe3R5cGU6TnVtYmVyfSldLEI9WyQoe3R5cGU6TnVtYmVyfSldLEU9WyQoe3R5cGU6TnVtYmVyfSldLFc9WyQoe3R5cGU6Qm9vbGVhbn0pXSxoZT1bJCh7dHlwZTpTdHJpbmd9KV0sbWU9WyQoe3R5cGU6QXJyYXl9KV0sY2U9WyQoe3R5cGU6QXJyYXl9KV0sUT1bJCh7dHlwZTpOdW1iZXJ9KV0sbm8odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwZGZVcmwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJwZGZVcmwiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5wZGZVcmwsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5wZGZVcmw9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LG4sbCksbm8odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbml0aWFsUGFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+ImluaXRpYWxQYWdlImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuaW5pdGlhbFBhZ2UsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5pbml0aWFsUGFnZT15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sYyxwKSxubyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImluaXRpYWxab29tIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4iaW5pdGlhbFpvb20iaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5pbml0aWFsWm9vbSwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmluaXRpYWxab29tPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxtLHYpLG5vKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1Rvb2xiYXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJzaG93VG9vbGJhciJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLnNob3dUb29sYmFyLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuc2hvd1Rvb2xiYXI9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LGIsZyksbm8odGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93U2lkZWJhciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+InNob3dTaWRlYmFyImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuc2hvd1NpZGViYXIsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5zaG93U2lkZWJhcj15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sayxDKSxubyh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpZGViYXJQb3NpdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+InNpZGViYXJQb3NpdGlvbiJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLnNpZGViYXJQb3NpdGlvbiwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLnNpZGViYXJQb3NpdGlvbj15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sXyx6KSxubyh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRQYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4iY3VycmVudFBhZ2UiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5jdXJyZW50UGFnZSwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmN1cnJlbnRQYWdlPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxULFApLG5vKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidG90YWxQYWdlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+InRvdGFsUGFnZXMiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS50b3RhbFBhZ2VzLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUudG90YWxQYWdlcz15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sTSxTKSxubyh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRab29tIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4iY3VycmVudFpvb20iaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5jdXJyZW50Wm9vbSwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmN1cnJlbnRab29tPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxBLEYpLG5vKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+ImxvYWRpbmciaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5sb2FkaW5nLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUubG9hZGluZz15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0saixHKSxubyh0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkb2N1bWVudElkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4iZG9jdW1lbnRJZCJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmRvY3VtZW50SWQsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5kb2N1bWVudElkPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxSLFUpLG5vKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRodW1ibmFpbERhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJ0aHVtYm5haWxEYXRhImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUudGh1bWJuYWlsRGF0YSwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLnRodW1ibmFpbERhdGE9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LEkscSksbm8odGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGFnZURhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJwYWdlRGF0YSJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLnBhZ2VEYXRhLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUucGFnZURhdGE9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LHVlLFkpLG5vKHRoaXMsbnVsbCxRLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGRmRmlsZVNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJwZGZGaWxlU2l6ZSJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLnBkZkZpbGVTaXplLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUucGRmRmlsZVNpemU9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LEosWiksbm8obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6YWV9LG51bGwsdCksZ2U9cj1lLnZhbHVlLGFlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmFlfSl9c3RhdGljIGRlbW89QzNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiLCJQREYiXTtzdGF0aWMgc3R5bGVzPVMzYTsjZT1aYSh0aGlzLG4sIiIpO2dldCBwZGZVcmwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcGRmVXJsKGFlKXt0aGlzLiNlPWFlfSN0PShaYSh0aGlzLGwpLFphKHRoaXMsYywxKSk7Z2V0IGluaXRpYWxQYWdlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGluaXRpYWxQYWdlKGFlKXt0aGlzLiN0PWFlfSNhPShaYSh0aGlzLHApLFphKHRoaXMsbSwiYXV0byIpKTtnZXQgaW5pdGlhbFpvb20oKXtyZXR1cm4gdGhpcy4jYX1zZXQgaW5pdGlhbFpvb20oYWUpe3RoaXMuI2E9YWV9I3I9KFphKHRoaXMsdiksWmEodGhpcyxiLCEwKSk7Z2V0IHNob3dUb29sYmFyKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNob3dUb29sYmFyKGFlKXt0aGlzLiNyPWFlfSNzPShaYSh0aGlzLGcpLFphKHRoaXMsaywhMSkpO2dldCBzaG93U2lkZWJhcigpe3JldHVybiB0aGlzLiNzfXNldCBzaG93U2lkZWJhcihhZSl7dGhpcy4jcz1hZX0jaT0oWmEodGhpcyxDKSxaYSh0aGlzLF8sImxlZnQiKSk7Z2V0IHNpZGViYXJQb3NpdGlvbigpe3JldHVybiB0aGlzLiNpfXNldCBzaWRlYmFyUG9zaXRpb24oYWUpe3RoaXMuI2k9YWV9I289KFphKHRoaXMseiksWmEodGhpcyxULDEpKTtnZXQgY3VycmVudFBhZ2UoKXtyZXR1cm4gdGhpcy4jb31zZXQgY3VycmVudFBhZ2UoYWUpe3RoaXMuI289YWV9I249KFphKHRoaXMsUCksWmEodGhpcyxNLDEpKTtnZXQgdG90YWxQYWdlcygpe3JldHVybiB0aGlzLiNufXNldCB0b3RhbFBhZ2VzKGFlKXt0aGlzLiNuPWFlfSNsPShaYSh0aGlzLFMpLFphKHRoaXMsQSwxKSk7Z2V0IGN1cnJlbnRab29tKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGN1cnJlbnRab29tKGFlKXt0aGlzLiNsPWFlfSNjPShaYSh0aGlzLEYpLFphKHRoaXMsaiwhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGxvYWRpbmcoYWUpe3RoaXMuI2M9YWV9I2Q9KFphKHRoaXMsRyksWmEodGhpcyxSLCIiKSk7Z2V0IGRvY3VtZW50SWQoKXtyZXR1cm4gdGhpcy4jZH1zZXQgZG9jdW1lbnRJZChhZSl7dGhpcy4jZD1hZX0jdT0oWmEodGhpcyxVKSxaYSh0aGlzLEksW10pKTtnZXQgdGh1bWJuYWlsRGF0YSgpe3JldHVybiB0aGlzLiN1fXNldCB0aHVtYm5haWxEYXRhKGFlKXt0aGlzLiN1PWFlfSNwPShaYSh0aGlzLHEpLFphKHRoaXMsdWUsW10pKTtnZXQgcGFnZURhdGEoKXtyZXR1cm4gdGhpcy4jcH1zZXQgcGFnZURhdGEoYWUpe3RoaXMuI3A9YWV9I2Y9KFphKHRoaXMsWSksWmEodGhpcyxKLDApKTtnZXQgcGRmRmlsZVNpemUoKXtyZXR1cm4gdGhpcy4jZn1zZXQgcGRmRmlsZVNpemUoYWUpe3RoaXMuI2Y9YWV9cGRmRG9jdW1lbnQ9WmEodGhpcyxaKTtyZW5kZXJTdGF0ZT0iaWRsZSI7cmVuZGVyQWJvcnRDb250cm9sbGVyPW51bGw7cGFnZVJlbmRlcmluZz0hMTtwYWdlTnVtUGVuZGluZz1udWxsO2N1cnJlbnRSZW5kZXJUYXNrPW51bGw7Y3VycmVudFJlbmRlclByb21pc2U9bnVsbDt0aHVtYm5haWxSZW5kZXJUYXNrcz1bXTtwYWdlUmVuZGVyVGFza3M9bmV3IE1hcDt0ZXh0TGF5ZXJSZW5kZXJUYXNrcz1uZXcgTWFwO2NhbnZhcztjdHg7dmlld2VyTWFpbj1udWxsO3Jlc2l6ZU9ic2VydmVyO2ludGVyc2VjdGlvbk9ic2VydmVyO3Njcm9sbFRocm90dGxlVGltZW91dDt2aWV3cG9ydERpbWVuc2lvbnM9e3dpZHRoOjAsaGVpZ2h0OjB9O3ZpZXdwb3J0TW9kZT0iYXV0byI7TUFOVUFMX01JTl9aT09NPS41O01BTlVBTF9NQVhfWk9PTT0zO0FCU09MVVRFX01JTl9aT09NPS4xO0FCU09MVVRFX01BWF9aT09NPTQ7UEFHRV9HQVA9MjA7UkVOREVSX0JVRkZFUj0zO2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZSBjbGFzcz0iJHt0aGlzLnNob3dTaWRlYmFyPyJ3aXRoLXNpZGViYXIiOiIifSBzaWRlYmFyLSR7dGhpcy5zaWRlYmFyUG9zaXRpb259Ij4KICAgICAgICAke3RoaXMuc2hvd1Rvb2xiYXI/d2AKICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0idG9vbGJhciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZ3JvdXAiPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMucHJldmlvdXNQYWdlfQogICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5jdXJyZW50UGFnZTw9MX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpDaGV2cm9uTGVmdCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZS1pbmZvIj4KICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICB0eXBlPSJudW1iZXIiCiAgICAgICAgICAgICAgICAgIG1pbj0iMSIKICAgICAgICAgICAgICAgICAgbWF4PSIke3RoaXMudG90YWxQYWdlc30iCiAgICAgICAgICAgICAgICAgIC52YWx1ZT0ke1N0cmluZyh0aGlzLmN1cnJlbnRQYWdlKX0KICAgICAgICAgICAgICAgICAgQGNoYW5nZT0ke3RoaXMuaGFuZGxlUGFnZUlucHV0fQogICAgICAgICAgICAgICAgICBjbGFzcz0icGFnZS1pbnB1dCIKICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFnZS1zZXBhcmF0b3IiPi88L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFnZS10b3RhbCI+JHt0aGlzLnRvdGFsUGFnZXN9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMubmV4dFBhZ2V9CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmN1cnJlbnRQYWdlPj10aGlzLnRvdGFsUGFnZXN9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Q2hldnJvblJpZ2h0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLnpvb21PdXR9CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHshdGhpcy5jYW5ab29tT3V0fQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlpvb21PdXQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMucmVzZXRab29tfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ6b29tLWxldmVsIj4ke01hdGgucm91bmQodGhpcy5jdXJyZW50Wm9vbSoxMDApfSU8L3NwYW4+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy56b29tSW59CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHshdGhpcy5jYW5ab29tSW59CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Wm9vbUluIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmZpdFRvUGFnZX0KICAgICAgICAgICAgICAgIHRpdGxlPSJGaXQgdG8gcGFnZSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpNYXhpbWl6ZSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5maXRUb1dpZHRofQogICAgICAgICAgICAgICAgdGl0bGU9IkZpdCB0byB3aWR0aCIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpBcnJvd0xlZnRSaWdodCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCB0b29sYmFyLWdyb3VwLS1lbmQiPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnNob3dTaWRlYmFyPSF0aGlzLnNob3dTaWRlYmFyfQogICAgICAgICAgICAgICAgdGl0bGU9IiR7dGhpcy5zaG93U2lkZWJhcj8iSGlkZSB0aHVtYm5haWxzIjoiU2hvdyB0aHVtYm5haWxzIn0iCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSIke3RoaXMuc2hvd1NpZGViYXI/Imx1Y2lkZTpTaWRlYmFyQ2xvc2UiOiJsdWNpZGU6U2lkZWJhciJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmRvd25sb2FkUGRmfQogICAgICAgICAgICAgICAgdGl0bGU9IkRvd25sb2FkIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkRvd25sb2FkIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLnByaW50UGRmfQogICAgICAgICAgICAgICAgdGl0bGU9IlByaW50IgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlByaW50ZXIiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgIDxkaXYgY2xhc3M9InZpZXdlci1jb250YWluZXIiPgogICAgICAgICAgJHt0aGlzLnNob3dTaWRlYmFyP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuPlBhZ2VzPC9zcGFuPgogICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICBjbGFzcz0ic2lkZWJhci1jbG9zZSIKICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2hvd1NpZGViYXI9ITF9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlgiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1jb250ZW50Ij4KICAgICAgICAgICAgICAgICR7Sm8ua2V5ZWQodGhpcy5kb2N1bWVudElkLHdgCiAgICAgICAgICAgICAgICAgICR7Sm8ucmVwZWF0KHRoaXMudGh1bWJuYWlsRGF0YSxhZT0+YWUucGFnZSxhZT0+d2AKICAgICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRodW1ibmFpbCAke3RoaXMuY3VycmVudFBhZ2U9PT1hZS5wYWdlPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYWdlPSIke2FlLnBhZ2V9IgogICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZVRodW1ibmFpbENsaWNrfQogICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICA8Y2FudmFzIGNsYXNzPSJ0aHVtYm5haWwtY2FudmFzIiBkYXRhLXBhZ2U9IiR7YWUucGFnZX0iPjwvY2FudmFzPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGh1bWJuYWlsLW51bWJlciI+JHthZS5wYWdlfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWV3ZXItbWFpbiIgQHNjcm9sbD0ke3RoaXMuaGFuZGxlU2Nyb2xsfT4KICAgICAgICAgICAgJHt0aGlzLmxvYWRpbmc/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy10ZXh0Ij5Mb2FkaW5nIFBERi4uLjwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZXMtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICR7Sm8ucmVwZWF0KHRoaXMucGFnZURhdGEsYWU9PmFlLnBhZ2UsYWU9PndgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZS13cmFwcGVyIiBkYXRhLXBhZ2U9IiR7YWUucGFnZX0iPgogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FudmFzLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9InBhZ2UtY2FudmFzIiBkYXRhLXBhZ2U9IiR7YWUucGFnZX0iPjwvY2FudmFzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWxheWVyIiBkYXRhLXBhZ2U9IiR7YWUucGFnZX0iPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJwZGYtZm9vdGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBkZi1mb290ZXItbGVmdCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwZGYtZm9vdGVyLWl0ZW0iPlpvb20gJHtNYXRoLnJvdW5kKHRoaXMuY3VycmVudFpvb20qMTAwKX0lPC9zcGFuPgogICAgICAgICAgICAke3RoaXMucGRmRmlsZVNpemU+MD93YAogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwZGYtZm9vdGVyLWl0ZW0iPiR7dGhpcy5mb3JtYXRGaWxlU2l6ZSh0aGlzLnBkZkZpbGVTaXplKX08L3NwYW4+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBkZi1mb290ZXItY2VudGVyIiBzdHlsZT0ibWFyZ2luLWxlZnQ6ICR7dGhpcy5zaG93U2lkZWJhciYmdGhpcy5zaWRlYmFyUG9zaXRpb249PT0ibGVmdCI/IjEwMHB4Ijp0aGlzLnNob3dTaWRlYmFyJiZ0aGlzLnNpZGViYXJQb3NpdGlvbj09PSJyaWdodCI/Ii0xMDBweCI6IjAifSI+CiAgICAgICAgICAgIDxzcGFuPlBhZ2UgJHt0aGlzLmN1cnJlbnRQYWdlfSBvZiAke3RoaXMudG90YWxQYWdlc308L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBkZi1mb290ZXItcmlnaHQiPgogICAgICAgICAgICAke3RoaXMucGRmVXJsP3dgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBkZi1mb290ZXItZmlsZW5hbWUiPiR7dGhpcy5wZGZVcmwuc3BsaXQoIi8iKS5wb3AoKX08L3NwYW4+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuZW5zdXJlVmlld2VyUmVmcygpLHRoaXMucGRmVXJsJiYodGhpcy5kb2N1bWVudElkPWAke3RoaXMucGRmVXJsfS0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKX1gLGF3YWl0IHRoaXMubG9hZFBkZigpKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9dm9pZCAwLHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPXZvaWQgMCx0aGlzLnNjcm9sbFRocm90dGxlVGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLnNjcm9sbFRocm90dGxlVGltZW91dCksdGhpcy5zY3JvbGxUaHJvdHRsZVRpbWVvdXQ9dm9pZCAwKSx0aGlzLnJlbmRlclN0YXRlPSJkaXNwb3NlZCIsYXdhaXQgdGhpcy5jbGVhbnVwRG9jdW1lbnQoKSx0aGlzLmNhbnZhcz12b2lkIDAsdGhpcy5jdHg9dm9pZCAwfWFzeW5jIHVwZGF0ZWQoYWUpe2lmKHN1cGVyLnVwZGF0ZWQoYWUpLGFlLmhhcygicGRmVXJsIikmJnRoaXMucGRmVXJsKXtsZXQgcmU9YWUuZ2V0KCJwZGZVcmwiKTtyZSYmbGwucmVsZWFzZURvY3VtZW50KHJlKSx0aGlzLmRvY3VtZW50SWQ9YCR7dGhpcy5wZGZVcmx9LSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpfWAsYXdhaXQgdGhpcy5sb2FkUGRmKCl9YWUuaGFzKCJzaG93U2lkZWJhciIpJiZ0aGlzLnNob3dTaWRlYmFyJiZ0aGlzLnBkZkRvY3VtZW50JiYoYXdhaXQgbmV3IFByb21pc2UocmU9PnJlcXVlc3RBbmltYXRpb25GcmFtZShyZSkpLHRoaXMudGh1bWJuYWlsRGF0YS5mb3JFYWNoKHJlPT5yZS5yZW5kZXJlZD0hMSksYXdhaXQgdGhpcy5yZW5kZXJUaHVtYm5haWxzKCksdGhpcy5zZXR1cEludGVyc2VjdGlvbk9ic2VydmVyKCksdGhpcy5zY3JvbGxUaHVtYm5haWxJbnRvVmlldyh0aGlzLmN1cnJlbnRQYWdlKSl9Zm9ybWF0RmlsZVNpemUoYWUpe3JldHVybiBhZTwxMDI0P2Ake2FlfSBCYDphZTwxMDI0KjEwMjQ/YCR7KGFlLzEwMjQpLnRvRml4ZWQoMSl9IEtCYDpgJHsoYWUvKDEwMjQqMTAyNCkpLnRvRml4ZWQoMSl9IE1CYH1hc3luYyBsb2FkUGRmKCl7dGhpcy5sb2FkaW5nPSEwLHRoaXMucmVuZGVyU3RhdGU9ImxvYWRpbmciO3RyeXthd2FpdCB0aGlzLmNsZWFudXBEb2N1bWVudCgpLHRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXI7bGV0IGFlPXRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyLnNpZ25hbDtpZih0aGlzLnBkZkRvY3VtZW50PWF3YWl0IGxsLmxvYWREb2N1bWVudCh0aGlzLnBkZlVybCksYWUuYWJvcnRlZClyZXR1cm47dGhpcy50b3RhbFBhZ2VzPXRoaXMucGRmRG9jdW1lbnQubnVtUGFnZXMsdGhpcy5jdXJyZW50UGFnZT10aGlzLmluaXRpYWxQYWdlLHRoaXMucmVzb2x2ZUluaXRpYWxWaWV3cG9ydE1vZGUoKTt0cnl7bGV0IHJlPWF3YWl0IHRoaXMucGRmRG9jdW1lbnQuZ2V0RGF0YSgpO3RoaXMucGRmRmlsZVNpemU9cmUubGVuZ3RofWNhdGNoe3RoaXMucGRmRmlsZVNpemU9MH1pZih0aGlzLnRodW1ibmFpbERhdGE9QXJyYXkuZnJvbSh7bGVuZ3RoOnRoaXMudG90YWxQYWdlc30sKHJlLHllKT0+KHtwYWdlOnllKzEscmVuZGVyZWQ6ITF9KSksdGhpcy5wYWdlRGF0YT1BcnJheS5mcm9tKHtsZW5ndGg6dGhpcy50b3RhbFBhZ2VzfSwocmUseWUpPT4oe3BhZ2U6eWUrMSxyZW5kZXJlZDohMSxyZW5kZXJpbmc6ITEsdGV4dExheWVyUmVuZGVyZWQ6ITF9KSksdGhpcy5sb2FkaW5nPSExLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5lbnN1cmVWaWV3ZXJSZWZzKCksdGhpcy5zZXR1cEludGVyc2VjdGlvbk9ic2VydmVyKCksYXdhaXQgbmV3IFByb21pc2UocmU9PnJlcXVlc3RBbmltYXRpb25GcmFtZShyZSkpLGFlLmFib3J0ZWR8fCh0aGlzLnJlbmRlclN0YXRlPSJyZW5kZXJpbmctbWFpbiIsYXdhaXQgdGhpcy5yZW5kZXJWaXNpYmxlUGFnZXMoKSxhZS5hYm9ydGVkKXx8KHRoaXMuaW5pdGlhbFBhZ2U+MSYmYXdhaXQgdGhpcy5zY3JvbGxUb1BhZ2UodGhpcy5pbml0aWFsUGFnZSwhMSksdGhpcy5zaG93U2lkZWJhciYmKGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsYXdhaXQgbmV3IFByb21pc2UocmU9PnJlcXVlc3RBbmltYXRpb25GcmFtZShyZSkpLGFlLmFib3J0ZWR8fChhd2FpdCB0aGlzLnJlbmRlclRodW1ibmFpbHMoKSxhZS5hYm9ydGVkKSkpKXJldHVybjt0aGlzLnJlbmRlclN0YXRlPSJyZW5kZXJlZCJ9Y2F0Y2goYWUpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGxvYWRpbmcgUERGOiIsYWUpLHRoaXMubG9hZGluZz0hMSx0aGlzLnJlbmRlclN0YXRlPSJlcnJvciJ9fXNldHVwSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKXt0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyJiZ0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihyZT0+e2ZvcihsZXQgeWUgb2YgcmUpe2xldCBWPXllLnRhcmdldCxIPXBhcnNlSW50KFYuZGF0YXNldC5wYWdlfHwiMSIpO3llLmlzSW50ZXJzZWN0aW5nJiZ0aGlzLnJlbmRlclBhZ2VJZk5lZWRlZChIKX19LHtyb290OnRoaXMudmlld2VyTWFpbixyb290TWFyZ2luOmAke3RoaXMuUkVOREVSX0JVRkZFUioxMDB9cHggMHB4YCx0aHJlc2hvbGQ6LjAxfSk7bGV0IGFlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgiLnBhZ2Utd3JhcHBlciIpO2FlJiZhZS5mb3JFYWNoKHJlPT57dGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlcj8ub2JzZXJ2ZShyZSl9KX1hc3luYyByZW5kZXJWaXNpYmxlUGFnZXMoKXtpZighdGhpcy52aWV3ZXJNYWluKXJldHVybjtsZXQgYWU9dGhpcy52aWV3ZXJNYWluLmNsaWVudEhlaWdodDtmb3IobGV0IHJlIG9mIHRoaXMucGFnZURhdGEpe2xldCB5ZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYC5wYWdlLXdyYXBwZXJbZGF0YS1wYWdlPSIke3JlLnBhZ2V9Il1gKTtpZigheWUpY29udGludWU7bGV0IFY9eWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksSD10aGlzLnZpZXdlck1haW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksb2U9Vi50b3AtSC50b3Asc2U9b2UrVi5oZWlnaHQsdGU9dGhpcy5SRU5ERVJfQlVGRkVSKmFlO3NlPj0tdGUmJm9lPD1hZSt0ZSYmYXdhaXQgdGhpcy5yZW5kZXJQYWdlSWZOZWVkZWQocmUucGFnZSl9fWFzeW5jIHJlbmRlclBhZ2VJZk5lZWRlZChhZSl7bGV0IHJlPXRoaXMucGFnZURhdGEuZmluZCh5ZT0+eWUucGFnZT09PWFlKTtpZighKCFyZXx8cmUucmVuZGVyZWR8fHJlLnJlbmRlcmluZykpe3JlLnJlbmRlcmluZz0hMDt0cnl7bGV0IHllPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLnBhZ2UtY2FudmFzW2RhdGEtcGFnZT0iJHthZX0iXWApO2lmKCF5ZSl7cmUucmVuZGVyaW5nPSExO3JldHVybn1sZXQgVj1hd2FpdCB0aGlzLnBkZkRvY3VtZW50LmdldFBhZ2UoYWUpLEg9dGhpcy5jb21wdXRlVmlld3BvcnQoViksb2U9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE7eWUud2lkdGg9TWF0aC5mbG9vcihILndpZHRoKm9lKSx5ZS5oZWlnaHQ9TWF0aC5mbG9vcihILmhlaWdodCpvZSkseWUuc3R5bGUud2lkdGg9YCR7SC53aWR0aH1weGAseWUuc3R5bGUuaGVpZ2h0PWAke0guaGVpZ2h0fXB4YDtsZXQgc2U9eWUuZ2V0Q29udGV4dCgiMmQiKTtpZighc2Upe1YuY2xlYW51cD8uKCkscmUucmVuZGVyaW5nPSExO3JldHVybn1zZS5zY2FsZShvZSxvZSk7bGV0IHRlPXtjYW52YXNDb250ZXh0OnNlLHZpZXdwb3J0Okh9LHplPVYucmVuZGVyKHRlKTt0aGlzLnBhZ2VSZW5kZXJUYXNrcy5zZXQoYWUsemUpLGF3YWl0IHplLnByb21pc2UsVi5jbGVhbnVwPy4oKSxyZS5yZW5kZXJlZD0hMCxyZS5yZW5kZXJpbmc9ITEsdGhpcy5wYWdlUmVuZGVyVGFza3MuZGVsZXRlKGFlKSxhd2FpdCB0aGlzLnJlbmRlclRleHRMYXllcihhZSksdGhpcy5yZXF1ZXN0VXBkYXRlKCJwYWdlRGF0YSIpfWNhdGNoKHllKXt5ZT8ubmFtZSE9PSJSZW5kZXJpbmdDYW5jZWxsZWRFeGNlcHRpb24iJiZjb25zb2xlLmVycm9yKGBFcnJvciByZW5kZXJpbmcgcGFnZSAke2FlfTpgLHllKSxyZS5yZW5kZXJpbmc9ITEsdGhpcy5wYWdlUmVuZGVyVGFza3MuZGVsZXRlKGFlKX19fWFzeW5jIHJlbmRlclRleHRMYXllcihhZSl7bGV0IHJlPXRoaXMucGFnZURhdGEuZmluZCh5ZT0+eWUucGFnZT09PWFlKTtpZighKCFyZXx8cmUudGV4dExheWVyUmVuZGVyZWQpKXRyeXtsZXQgeWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAudGV4dC1sYXllcltkYXRhLXBhZ2U9IiR7YWV9Il1gKTtpZigheWUpcmV0dXJuO3llLmlubmVySFRNTD0iIjtsZXQgVj1hd2FpdCB0aGlzLnBkZkRvY3VtZW50LmdldFBhZ2UoYWUpLEg9YXdhaXQgVi5nZXRUZXh0Q29udGVudCgpLG9lPXRoaXMuY29tcHV0ZVZpZXdwb3J0KFYpLHNlPWF3YWl0IGltcG9ydCgiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9wZGZqcy1kaXN0QDQuMC4zNzkvK2VzbSIpO3llLnN0eWxlLndpZHRoPWAke29lLndpZHRofXB4YCx5ZS5zdHlsZS5oZWlnaHQ9YCR7b2UuaGVpZ2h0fXB4YCx5ZS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1zY2FsZS1mYWN0b3IiLFN0cmluZyhvZS5zY2FsZSkpO2xldCB0ZT1zZS5yZW5kZXJUZXh0TGF5ZXIoe3RleHRDb250ZW50U291cmNlOkgsY29udGFpbmVyOnllLHZpZXdwb3J0Om9lfSk7dGhpcy50ZXh0TGF5ZXJSZW5kZXJUYXNrcy5zZXQoYWUsdGUpLGF3YWl0IHRlLnByb21pc2U7bGV0IHplPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3plLmNsYXNzTmFtZT0iZW5kT2ZDb250ZW50Iix5ZS5hcHBlbmRDaGlsZCh6ZSk7bGV0IE9lPSExLHFlPW51bGwsZHQ9MCwkZT1zKChkZSx2ZSk9PntsZXQgQWU9QXJyYXkuZnJvbSh5ZS5xdWVyeVNlbGVjdG9yQWxsKCJzcGFuIikpO2ZvcihsZXQgWmUgb2YgQWUpe2xldCBudD1aZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihkZT49bnQubGVmdCYmZGU8PW50LnJpZ2h0JiZ2ZT49bnQudG9wJiZ2ZTw9bnQuYm90dG9tKXtsZXQgenQ9WmUuZmlyc3RDaGlsZDtpZih6dCYmenQubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSl7bGV0IFRlPXp0LnRleHRDb250ZW50fHwiIix3ZT1udC53aWR0aC9UZS5sZW5ndGgsUmU9ZGUtbnQubGVmdCxmZT1NYXRoLm1pbihNYXRoLnJvdW5kKFJlL3dlKSxUZS5sZW5ndGgpO3JldHVybntub2RlOnp0LG9mZnNldDpmZX19fX1yZXR1cm4gbnVsbH0sImdldFRleHRQb3NpdGlvbkZyb21Qb2ludCIpLENlPXMoKCk9PntPZSYmKE9lPSExLHFlPW51bGwseWUuY2xhc3NMaXN0LnJlbW92ZSgic2VsZWN0aW5nIikpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLENlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLE1lKX0sImhhbmRsZU1vdXNlVXAiKSxNZT1zKGRlPT57aWYoIU9lfHwhcWUpcmV0dXJuO2RlLnByZXZlbnREZWZhdWx0KCk7bGV0IHZlPSRlKGRlLmNsaWVudFgsZGUuY2xpZW50WSk7aWYodmUpe2xldCBBZT13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoQWUpdHJ5e0FlLnNldEJhc2VBbmRFeHRlbnQocWUsZHQsdmUubm9kZSx2ZS5vZmZzZXQpfWNhdGNoe319fSwiaGFuZGxlTW91c2VNb3ZlIik7eWUuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixkZT0+e2lmKGRlLmJ1dHRvbiE9PTApcmV0dXJuO2xldCB2ZT0kZShkZS5jbGllbnRYLGRlLmNsaWVudFkpO3ZlJiYoZGUucHJldmVudERlZmF1bHQoKSxPZT0hMCxxZT12ZS5ub2RlLGR0PXZlLm9mZnNldCx5ZS5jbGFzc0xpc3QuYWRkKCJzZWxlY3RpbmciKSx3aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnJlbW92ZUFsbFJhbmdlcygpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsTWUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLENlKSl9KSxyZS50ZXh0TGF5ZXJSZW5kZXJlZD0hMCxWLmNsZWFudXA/LigpLHRoaXMudGV4dExheWVyUmVuZGVyVGFza3MuZGVsZXRlKGFlKX1jYXRjaCh5ZSl7eWU/Lm5hbWUhPT0iUmVuZGVyaW5nQ2FuY2VsbGVkRXhjZXB0aW9uIiYmY29uc29sZS5lcnJvcihgRXJyb3IgcmVuZGVyaW5nIHRleHQgbGF5ZXIgZm9yIHBhZ2UgJHthZX06YCx5ZSksdGhpcy50ZXh0TGF5ZXJSZW5kZXJUYXNrcy5kZWxldGUoYWUpfX1oYW5kbGVTY3JvbGw9cygoKT0+e3RoaXMuc2Nyb2xsVGhyb3R0bGVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5zY3JvbGxUaHJvdHRsZVRpbWVvdXQpLHRoaXMuc2Nyb2xsVGhyb3R0bGVUaW1lb3V0PXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dGhpcy51cGRhdGVDdXJyZW50UGFnZSgpLHRoaXMucmVuZGVyVmlzaWJsZVBhZ2VzKCl9LDUwKX0sImhhbmRsZVNjcm9sbCIpO3VwZGF0ZUN1cnJlbnRQYWdlKCl7aWYoIXRoaXMudmlld2VyTWFpbilyZXR1cm47bGV0IGFlPXRoaXMudmlld2VyTWFpbi5zY3JvbGxUb3AscmU9dGhpcy52aWV3ZXJNYWluLmNsaWVudEhlaWdodCx5ZT1hZStyZS8yO2ZvcihsZXQgVj0wO1Y8dGhpcy5wYWdlRGF0YS5sZW5ndGg7VisrKXtsZXQgSD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYC5wYWdlLXdyYXBwZXJbZGF0YS1wYWdlPSIke1YrMX0iXWApO2lmKCFIKWNvbnRpbnVlO2xldCBvZT1ILmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHNlPXRoaXMudmlld2VyTWFpbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0ZT1vZS50b3Atc2UudG9wK2FlLHplPXRlK29lLmhlaWdodDtpZih5ZT49dGUmJnllPD16ZSl7dGhpcy5jdXJyZW50UGFnZSE9PVYrMSYmKHRoaXMuY3VycmVudFBhZ2U9VisxLHRoaXMuc2hvd1NpZGViYXImJnRoaXMuc2Nyb2xsVGh1bWJuYWlsSW50b1ZpZXcoVisxKSk7YnJlYWt9fX1zY3JvbGxUaHVtYm5haWxJbnRvVmlldyhhZSl7bGV0IHJlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLnRodW1ibmFpbFtkYXRhLXBhZ2U9IiR7YWV9Il1gKSx5ZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5zaWRlYmFyLWNvbnRlbnQiKTtpZihyZSYmeWUpe2xldCBWPXJlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEg9eWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksb2U9Vi50b3A8SC50b3Asc2U9Vi5ib3R0b20+SC5ib3R0b207aWYob2V8fHNlKXtsZXQgdGU9cmUub2Zmc2V0VG9wLHplPXJlLm9mZnNldEhlaWdodCxPZT15ZS5jbGllbnRIZWlnaHQscWU9dGUtT2UvMit6ZS8yO3llLnNjcm9sbFRvKHt0b3A6TWF0aC5tYXgoMCxxZSksYmVoYXZpb3I6InNtb290aCJ9KX19fWFzeW5jIHNjcm9sbFRvUGFnZShhZSxyZT0hMCl7YXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgeWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAucGFnZS13cmFwcGVyW2RhdGEtcGFnZT0iJHthZX0iXWApO2lmKHllJiZ0aGlzLnZpZXdlck1haW4pe2xldCBWPXllLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEg9dGhpcy52aWV3ZXJNYWluLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHNlPXRoaXMudmlld2VyTWFpbi5zY3JvbGxUb3ArKFYudG9wLUgudG9wKS10aGlzLnZpZXdlck1haW4uY2xpZW50VG9wLTE2O3JlP3RoaXMudmlld2VyTWFpbi5zY3JvbGxUbyh7dG9wOnNlLGJlaGF2aW9yOiJzbW9vdGgifSk6dGhpcy52aWV3ZXJNYWluLnNjcm9sbFRvcD1zZSx0aGlzLmN1cnJlbnRQYWdlPWFlLHRoaXMuc2hvd1NpZGViYXImJnRoaXMuc2Nyb2xsVGh1bWJuYWlsSW50b1ZpZXcoYWUpLGF3YWl0IHRoaXMucmVuZGVyUGFnZUlmTmVlZGVkKGFlKX19YXN5bmMgcmVuZGVyVGh1bWJuYWlscygpe2lmKCF0aGlzLnBkZkRvY3VtZW50fHx0aGlzLnRodW1ibmFpbERhdGEubGVuZ3RoPjAmJnRoaXMudGh1bWJuYWlsRGF0YS5ldmVyeShyZT0+cmUucmVuZGVyZWQpfHx0aGlzLnJlbmRlckFib3J0Q29udHJvbGxlcj8uc2lnbmFsLmFib3J0ZWQpcmV0dXJuO2xldCBhZT10aGlzLnJlbmRlckFib3J0Q29udHJvbGxlcj8uc2lnbmFsO3RoaXMucmVuZGVyU3RhdGU9InJlbmRlcmluZy10aHVtYnMiO2ZvcihsZXQgcmUgb2YgdGhpcy50aHVtYm5haWxSZW5kZXJUYXNrcyl0cnl7cmUuY2FuY2VsKCl9Y2F0Y2h7fXRoaXMudGh1bWJuYWlsUmVuZGVyVGFza3M9W107dHJ5e2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7bGV0IHJlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgiLnRodW1ibmFpbCIpLHllPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgiLnRodW1ibmFpbC1jYW52YXMiKSxWPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnNpZGViYXItY29udGVudCIpLEg9d2luZG93LmdldENvbXB1dGVkU3R5bGUoViksc2U9MjAwLShwYXJzZUZsb2F0KEgucGFkZGluZ0xlZnQpK3BhcnNlRmxvYXQoSC5wYWRkaW5nUmlnaHQpKS00O2ZvcihsZXQgdGUgb2YgQXJyYXkuZnJvbSh5ZSkpe2xldCB6ZT10ZS5nZXRDb250ZXh0KCIyZCIpO3plJiZ6ZS5jbGVhclJlY3QoMCwwLHRlLndpZHRoLHRlLmhlaWdodCl9Zm9yKGxldCB0ZT0wO3RlPHllLmxlbmd0aDt0ZSsrKXtpZihhZT8uYWJvcnRlZClyZXR1cm47bGV0IHplPXllW3RlXSxPZT1yZVt0ZV0scWU9cGFyc2VJbnQoemUuZGF0YXNldC5wYWdlfHwiMSIpLGR0PWF3YWl0IHRoaXMucGRmRG9jdW1lbnQuZ2V0UGFnZShxZSksJGU9ZHQuZ2V0Vmlld3BvcnQoe3NjYWxlOjF9KSxDZT1zZS8kZS53aWR0aCxNZT1kdC5nZXRWaWV3cG9ydCh7c2NhbGU6Q2V9KSxkZT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTt6ZS53aWR0aD1NYXRoLmZsb29yKE1lLndpZHRoKmRlKSx6ZS5oZWlnaHQ9TWF0aC5mbG9vcihNZS5oZWlnaHQqZGUpLHplLnN0eWxlLndpZHRoPWAke01lLndpZHRofXB4YCx6ZS5zdHlsZS5oZWlnaHQ9YCR7TWUuaGVpZ2h0fXB4YCxPZS5zdHlsZS5oZWlnaHQ9YCR7TWUuaGVpZ2h0fXB4YCxPZS5zdHlsZS5taW5IZWlnaHQ9YCR7TWUuaGVpZ2h0fXB4YDtsZXQgdmU9emUuZ2V0Q29udGV4dCgiMmQiKTtpZighdmUpe2R0LmNsZWFudXA/LigpO2NvbnRpbnVlfXZlLnNjYWxlKGRlLGRlKTtsZXQgQWU9e2NhbnZhc0NvbnRleHQ6dmUsdmlld3BvcnQ6TWV9LFplPWR0LnJlbmRlcihBZSk7dGhpcy50aHVtYm5haWxSZW5kZXJUYXNrcy5wdXNoKFplKSxhd2FpdCBaZS5wcm9taXNlLGR0LmNsZWFudXA/LigpO2xldCBudD10aGlzLnRodW1ibmFpbERhdGEuZmluZCh6dD0+enQucGFnZT09PXFlKTtudCYmKG50LnJlbmRlcmVkPSEwKX10aGlzLnJlcXVlc3RVcGRhdGUoInRodW1ibmFpbERhdGEiKX1jYXRjaChyZSl7cmU/Lm5hbWUhPT0iUmVuZGVyaW5nQ2FuY2VsbGVkRXhjZXB0aW9uIiYmY29uc29sZS5lcnJvcigiRXJyb3IgcmVuZGVyaW5nIHRodW1ibmFpbHM6IixyZSl9ZmluYWxseXt0aGlzLnRodW1ibmFpbFJlbmRlclRhc2tzPVtdfX1wcmV2aW91c1BhZ2UoKXt0aGlzLmN1cnJlbnRQYWdlPjEmJnRoaXMuc2Nyb2xsVG9QYWdlKHRoaXMuY3VycmVudFBhZ2UtMSl9bmV4dFBhZ2UoKXt0aGlzLmN1cnJlbnRQYWdlPHRoaXMudG90YWxQYWdlcyYmdGhpcy5zY3JvbGxUb1BhZ2UodGhpcy5jdXJyZW50UGFnZSsxKX1oYW5kbGVUaHVtYm5haWxDbGljayhhZSl7bGV0IHJlPWFlLmN1cnJlbnRUYXJnZXQseWU9cGFyc2VJbnQocmUuZGF0YXNldC5wYWdlfHwiMSIpO3RoaXMuc2Nyb2xsVG9QYWdlKHllKX1oYW5kbGVQYWdlSW5wdXQoYWUpe2xldCByZT1hZS50YXJnZXQseWU9cGFyc2VJbnQocmUudmFsdWUpO3RoaXMuc2Nyb2xsVG9QYWdlKHllKX16b29tSW4oKXtsZXQgYWU9TWF0aC5taW4odGhpcy5NQU5VQUxfTUFYX1pPT00sdGhpcy5jdXJyZW50Wm9vbSoxLjIpO3RoaXMudmlld3BvcnRNb2RlPSJjdXN0b20iLGFlIT09dGhpcy5jdXJyZW50Wm9vbSYmKHRoaXMuY3VycmVudFpvb209YWUsdGhpcy5yZVJlbmRlckFsbFBhZ2VzKCkpfXpvb21PdXQoKXtsZXQgYWU9TWF0aC5tYXgodGhpcy5NQU5VQUxfTUlOX1pPT00sdGhpcy5jdXJyZW50Wm9vbS8xLjIpO3RoaXMudmlld3BvcnRNb2RlPSJjdXN0b20iLGFlIT09dGhpcy5jdXJyZW50Wm9vbSYmKHRoaXMuY3VycmVudFpvb209YWUsdGhpcy5yZVJlbmRlckFsbFBhZ2VzKCkpfXJlc2V0Wm9vbSgpe3RoaXMudmlld3BvcnRNb2RlPSJjdXN0b20iLHRoaXMuY3VycmVudFpvb209MSx0aGlzLnJlUmVuZGVyQWxsUGFnZXMoKX1maXRUb1BhZ2UoKXt0aGlzLnZpZXdwb3J0TW9kZT0icGFnZS1maXQiLHRoaXMucmVSZW5kZXJBbGxQYWdlcygpfWZpdFRvV2lkdGgoKXt0aGlzLnZpZXdwb3J0TW9kZT0icGFnZS13aWR0aCIsdGhpcy5yZVJlbmRlckFsbFBhZ2VzKCl9cmVSZW5kZXJBbGxQYWdlcygpe3RoaXMucGFnZURhdGEuZm9yRWFjaChhZT0+e2FlLnJlbmRlcmVkPSExLGFlLnJlbmRlcmluZz0hMSxhZS50ZXh0TGF5ZXJSZW5kZXJlZD0hMX0pLHRoaXMucGFnZVJlbmRlclRhc2tzLmZvckVhY2goYWU9Pnt0cnl7YWUuY2FuY2VsKCl9Y2F0Y2h7fX0pLHRoaXMucGFnZVJlbmRlclRhc2tzLmNsZWFyKCksdGhpcy50ZXh0TGF5ZXJSZW5kZXJUYXNrcy5mb3JFYWNoKGFlPT57dHJ5e2FlLmNhbmNlbD8uKCl9Y2F0Y2h7fX0pLHRoaXMudGV4dExheWVyUmVuZGVyVGFza3MuY2xlYXIoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9Pnt0aGlzLnJlbmRlclZpc2libGVQYWdlcygpfSl9YXN5bmMgZG93bmxvYWRQZGYoKXtpZih0aGlzLnBkZkRvY3VtZW50KXRyeXtsZXQgYWU9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXREYXRhKCkscmU9bmV3IEJsb2IoW2FlLmJ1ZmZlcl0se3R5cGU6ImFwcGxpY2F0aW9uL3BkZiJ9KSx5ZT1VUkwuY3JlYXRlT2JqZWN0VVJMKHJlKSxWPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtWLmhyZWY9eWUsVi5kb3dubG9hZD10aGlzLnBkZlVybCYmdGhpcy5wZGZVcmwuc3BsaXQoIi8iKS5wb3AoKXx8ImRvY3VtZW50LnBkZiIsVi5jbGljaygpLHNldFRpbWVvdXQoKCk9PlVSTC5yZXZva2VPYmplY3RVUkwoeWUpLDFlMyl9Y2F0Y2goYWUpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGRvd25sb2FkaW5nIFBERjoiLGFlKX19YXN5bmMgcHJpbnRQZGYoKXtpZih0aGlzLnBkZkRvY3VtZW50KXRyeXtsZXQgYWU9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXREYXRhKCkscmU9bmV3IEJsb2IoW2FlLmJ1ZmZlcl0se3R5cGU6ImFwcGxpY2F0aW9uL3BkZiJ9KSx5ZT1VUkwuY3JlYXRlT2JqZWN0VVJMKHJlKSxWPWAKICAgICAgICA8IURPQ1RZUEUgaHRtbD4KICAgICAgICA8aHRtbD4KICAgICAgICA8aGVhZD4KICAgICAgICAgIDx0aXRsZT5QcmludCBQREY8L3RpdGxlPgogICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAqIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9CiAgICAgICAgICAgIGh0bWwsIGJvZHkgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyB9CiAgICAgICAgICAgIGlmcmFtZSB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGJvcmRlcjogbm9uZTsgfQogICAgICAgICAgICBAbWVkaWEgcHJpbnQgewogICAgICAgICAgICAgIGh0bWwsIGJvZHksIGlmcmFtZSB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IH0KICAgICAgICAgICAgfQogICAgICAgICAgPC9zdHlsZT4KICAgICAgICA8L2hlYWQ+CiAgICAgICAgPGJvZHk+CiAgICAgICAgICA8aWZyYW1lIHNyYz0iJHt5ZX0iIHR5cGU9ImFwcGxpY2F0aW9uL3BkZiI+PC9pZnJhbWU+CiAgICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHdpbmRvdy5mb2N1cygpOwogICAgICAgICAgICAgICAgd2luZG93LnByaW50KCk7CiAgICAgICAgICAgICAgfSwgNTAwKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgd2luZG93Lm9uYWZ0ZXJwcmludCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHdpbmRvdy5jbG9zZSgpOwogICAgICAgICAgICB9OwogICAgICAgICAgICAvLyBTYWZldHkgY2xvc2UgYWZ0ZXIgMiBtaW51dGVzCiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHdpbmRvdy5jbG9zZSgpOyB9LCAxMjAwMDApOwogICAgICAgICAgPFwvc2NyaXB0PgogICAgICAgIDwvYm9keT4KICAgICAgICA8L2h0bWw+CiAgICAgIGAsSD1uZXcgQmxvYihbVl0se3R5cGU6InRleHQvaHRtbCJ9KSxvZT1VUkwuY3JlYXRlT2JqZWN0VVJMKEgpLHNlPXdpbmRvdy5vcGVuKG9lLCJfYmxhbmsiLCJ3aWR0aD04MDAsaGVpZ2h0PTYwMCIpO2lmKHNlKXtsZXQgdGU9c2V0SW50ZXJ2YWwoKCk9PntzZS5jbG9zZWQmJihjbGVhckludGVydmFsKHRlKSxVUkwucmV2b2tlT2JqZWN0VVJMKHllKSxVUkwucmV2b2tlT2JqZWN0VVJMKG9lKSl9LDUwMCk7c2V0VGltZW91dCgoKT0+e2NsZWFySW50ZXJ2YWwodGUpLFVSTC5yZXZva2VPYmplY3RVUkwoeWUpLFVSTC5yZXZva2VPYmplY3RVUkwob2UpfSwxMmU0KX1lbHNlIHdpbmRvdy5vcGVuKHllLCJfYmxhbmsiKSxzZXRUaW1lb3V0KCgpPT5VUkwucmV2b2tlT2JqZWN0VVJMKHllKSw2ZTQpLFVSTC5yZXZva2VPYmplY3RVUkwob2UpfWNhdGNoKGFlKXtjb25zb2xlLmVycm9yKCJFcnJvciBwcmludGluZyBQREY6IixhZSl9fWdldENvbnRleHRNZW51SXRlbXMoKXtsZXQgYWU9W10seWU9d2luZG93LmdldFNlbGVjdGlvbigpPy50b1N0cmluZygpfHwiIjtyZXR1cm4geWUmJihhZS5wdXNoKHtuYW1lOiJDb3B5IixpY29uTmFtZToibHVjaWRlOkNvcHkiLGFjdGlvbjpzKGFzeW5jKCk9Pnthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh5ZSl9LCJhY3Rpb24iKX0pLGFlLnB1c2goe2RpdmlkZXI6ITB9KSksYWUucHVzaCh7bmFtZToiRG93bmxvYWQgUERGIixpY29uTmFtZToibHVjaWRlOkRvd25sb2FkIixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy5kb3dubG9hZFBkZigpfSwiYWN0aW9uIil9LHtuYW1lOiJQcmludCBQREYiLGljb25OYW1lOiJsdWNpZGU6UHJpbnRlciIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IHRoaXMucHJpbnRQZGYoKX0sImFjdGlvbiIpfSksYWV9Z2V0IGNhblpvb21Jbigpe3JldHVybiB0aGlzLnZpZXdwb3J0TW9kZSE9PSJjdXN0b20ifHx0aGlzLmN1cnJlbnRab29tPHRoaXMuTUFOVUFMX01BWF9aT09NfWdldCBjYW5ab29tT3V0KCl7cmV0dXJuIHRoaXMudmlld3BvcnRNb2RlIT09ImN1c3RvbSJ8fHRoaXMuY3VycmVudFpvb20+dGhpcy5NQU5VQUxfTUlOX1pPT019ZW5zdXJlVmlld2VyUmVmcygpe3RoaXMudmlld2VyTWFpbnx8KHRoaXMudmlld2VyTWFpbj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi52aWV3ZXItbWFpbiIpKSx0aGlzLnZpZXdlck1haW4mJiF0aGlzLnJlc2l6ZU9ic2VydmVyJiYodGhpcy5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9Pnt0aGlzLm1lYXN1cmVWaWV3cG9ydERpbWVuc2lvbnMoKSx0aGlzLnBkZkRvY3VtZW50JiZ0aGlzLnJlUmVuZGVyQWxsUGFnZXMoKX0pLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnZpZXdlck1haW4pLHRoaXMubWVhc3VyZVZpZXdwb3J0RGltZW5zaW9ucygpLHRoaXMudmlld2VyTWFpbi5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsYWU9PntsZXQgcmU9YWUuY3VycmVudFRhcmdldCx5ZT1yZS5zY3JvbGxUb3AsVj1yZS5zY3JvbGxIZWlnaHQsSD1yZS5jbGllbnRIZWlnaHQsb2U9YWUuZGVsdGFZLHNlPXllPT09MCx0ZT1NYXRoLmFicyh5ZStILVYpPDE7b2U8MCYmIXNlfHxvZT4wJiYhdGU/YWUuc3RvcFByb3BhZ2F0aW9uKCk6KG9lPDAmJnNlfHxvZT4wJiZ0ZSkmJihhZS5wcmV2ZW50RGVmYXVsdCgpLGFlLnN0b3BQcm9wYWdhdGlvbigpKX0se3Bhc3NpdmU6ITF9KSl9bWVhc3VyZVZpZXdwb3J0RGltZW5zaW9ucygpe2lmKCF0aGlzLnZpZXdlck1haW4pe3RoaXMudmlld3BvcnREaW1lbnNpb25zPXt3aWR0aDowLGhlaWdodDowfTtyZXR1cm59bGV0IGFlPWdldENvbXB1dGVkU3R5bGUodGhpcy52aWV3ZXJNYWluKSxyZT1wYXJzZUZsb2F0KGFlLnBhZGRpbmdMZWZ0fHwiMCIpK3BhcnNlRmxvYXQoYWUucGFkZGluZ1JpZ2h0fHwiMCIpLHllPXBhcnNlRmxvYXQoYWUucGFkZGluZ1RvcHx8IjAiKStwYXJzZUZsb2F0KGFlLnBhZGRpbmdCb3R0b218fCIwIiksVj1NYXRoLm1heCh0aGlzLnZpZXdlck1haW4uY2xpZW50V2lkdGgtcmUsMCksSD1NYXRoLm1heCh0aGlzLnZpZXdlck1haW4uY2xpZW50SGVpZ2h0LXllLDApO3RoaXMudmlld3BvcnREaW1lbnNpb25zPXt3aWR0aDpWLGhlaWdodDpIfX1yZXNvbHZlSW5pdGlhbFZpZXdwb3J0TW9kZSgpe3R5cGVvZiB0aGlzLmluaXRpYWxab29tPT0ibnVtYmVyIj8odGhpcy52aWV3cG9ydE1vZGU9ImN1c3RvbSIsdGhpcy5jdXJyZW50Wm9vbT10aGlzLm5vcm1hbGl6ZVpvb20odGhpcy5pbml0aWFsWm9vbSwhMCkpOnRoaXMuaW5pdGlhbFpvb209PT0icGFnZS13aWR0aCI/dGhpcy52aWV3cG9ydE1vZGU9InBhZ2Utd2lkdGgiOnRoaXMuaW5pdGlhbFpvb209PT0icGFnZS1maXQifHx0aGlzLmluaXRpYWxab29tPT09ImF1dG8iP3RoaXMudmlld3BvcnRNb2RlPSJwYWdlLWZpdCI6dGhpcy52aWV3cG9ydE1vZGU9ImF1dG8iLHRoaXMudmlld3BvcnRNb2RlIT09ImN1c3RvbSImJih0aGlzLmN1cnJlbnRab29tPTEpfWNvbXB1dGVWaWV3cG9ydChhZSl7dGhpcy5tZWFzdXJlVmlld3BvcnREaW1lbnNpb25zKCk7bGV0IHJlPWFlLmdldFZpZXdwb3J0KHtzY2FsZToxfSkseWU7c3dpdGNoKHRoaXMudmlld3BvcnRNb2RlKXtjYXNlInBhZ2Utd2lkdGgiOnt5ZT0odGhpcy52aWV3cG9ydERpbWVuc2lvbnMud2lkdGh8fHJlLndpZHRoKS9yZS53aWR0aDticmVha31jYXNlInBhZ2UtZml0IjpjYXNlImF1dG8iOntsZXQgSD10aGlzLnZpZXdwb3J0RGltZW5zaW9ucy53aWR0aHx8cmUud2lkdGgsb2U9dGhpcy52aWV3cG9ydERpbWVuc2lvbnMuaGVpZ2h0fHxyZS5oZWlnaHQsc2U9SC9yZS53aWR0aCx0ZT1vZS9yZS5oZWlnaHQ7eWU9TWF0aC5taW4oc2UsdGUpO2JyZWFrfWRlZmF1bHQ6e3llPXRoaXMubm9ybWFsaXplWm9vbSh0aGlzLmN1cnJlbnRab29tfHwxLCExKTticmVha319KCFOdW1iZXIuaXNGaW5pdGUoeWUpfHx5ZTw9MCkmJih5ZT0xKTtsZXQgVj10aGlzLnZpZXdwb3J0TW9kZT09PSJjdXN0b20iP3RoaXMubm9ybWFsaXplWm9vbSh5ZSwhMCk6dGhpcy5ub3JtYWxpemVab29tKHllLCExKTtyZXR1cm4gdGhpcy52aWV3cG9ydE1vZGUhPT0iY3VzdG9tIiYmKHRoaXMuY3VycmVudFpvb209ViksYWUuZ2V0Vmlld3BvcnQoe3NjYWxlOlZ9KX1ub3JtYWxpemVab29tKGFlLHJlKXtsZXQgeWU9cmU/dGhpcy5NQU5VQUxfTUlOX1pPT006dGhpcy5BQlNPTFVURV9NSU5fWk9PTSxWPXJlP3RoaXMuTUFOVUFMX01BWF9aT09NOnRoaXMuQUJTT0xVVEVfTUFYX1pPT007cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KGFlLHllKSxWKX1hc3luYyBjbGVhbnVwRG9jdW1lbnQoKXtpZih0aGlzLnJlbmRlckFib3J0Q29udHJvbGxlciYmKHRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyLmFib3J0KCksdGhpcy5yZW5kZXJBYm9ydENvbnRyb2xsZXI9bnVsbCksdGhpcy5jdXJyZW50UmVuZGVyUHJvbWlzZSl7dHJ5e2F3YWl0IHRoaXMuY3VycmVudFJlbmRlclByb21pc2V9Y2F0Y2h7fXRoaXMuY3VycmVudFJlbmRlclByb21pc2U9bnVsbH10aGlzLmN1cnJlbnRSZW5kZXJUYXNrPW51bGwsdGhpcy5wYWdlUmVuZGVyVGFza3MuZm9yRWFjaChhZT0+e3RyeXthZS5jYW5jZWwoKX1jYXRjaHt9fSksdGhpcy5wYWdlUmVuZGVyVGFza3MuY2xlYXIoKSx0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLmZvckVhY2goYWU9Pnt0cnl7YWUuY2FuY2VsPy4oKX1jYXRjaHt9fSksdGhpcy50ZXh0TGF5ZXJSZW5kZXJUYXNrcy5jbGVhcigpO2ZvcihsZXQgYWUgb2YgdGhpcy50aHVtYm5haWxSZW5kZXJUYXNrc3x8W10pdHJ5e2FlLmNhbmNlbCgpfWNhdGNoe31pZih0aGlzLnRodW1ibmFpbFJlbmRlclRhc2tzPVtdLHRoaXMucmVuZGVyU3RhdGU9ImlkbGUiLHRoaXMucGFnZVJlbmRlcmluZz0hMSx0aGlzLnBhZ2VOdW1QZW5kaW5nPW51bGwsdGhpcy50aHVtYm5haWxEYXRhPVtdLHRoaXMucGFnZURhdGE9W10sdGhpcy5kb2N1bWVudElkPSIiLHRoaXMuY2FudmFzJiZ0aGlzLmN0eCYmdGhpcy5jdHguY2xlYXJSZWN0KDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLHRoaXMucGRmRG9jdW1lbnQpdHJ5e3RoaXMucGRmRG9jdW1lbnQuZGVzdHJveSgpfWNhdGNoKGFlKXtjb25zb2xlLmVycm9yKCJFcnJvciBkZXN0cm95aW5nIFBERiBkb2N1bWVudDoiLGFlKX10aGlzLnBkZkRvY3VtZW50PW51bGwsdGhpcy5yZXF1ZXN0VXBkYXRlKCl9c3RhdGlje1phKHIsdCl9fTtyZXR1cm4gZ2U9cn0pKCl9KTt2YXIgTDNhLCQzYT1mKCgpPT57bGUoKTtMM2E9cygoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogNDBweDsKICAgIH0KCiAgICAuc2VjdGlvbiB7CiAgICAgIG1heC13aWR0aDogOTAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgfQoKICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgfQoKICAgIC5wcmV2aWV3LWltYWdlIHsKICAgICAgaGVpZ2h0OiA0MDBweDsKICAgIH0KCiAgICAucHJldmlldy1wZGYgewogICAgICBoZWlnaHQ6IDYwMHB4OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5JbWFnZSBQcmV2aWV3IChVUkwpPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkF1dG8tZGV0ZWN0cyBpbWFnZSBmcm9tIFVSTCBleHRlbnNpb24gYW5kIHJlbmRlcnMgd2l0aCB0aGUgaW1hZ2Ugdmlld2VyLjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgY2xhc3M9InByZXZpZXctaW1hZ2UiCiAgICAgICAgdXJsPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTUwNjc0NDAzODEzNi00NjI3MzgzNGIzZmI/dz0xMjAwIgogICAgICAgIGZpbGVuYW1lPSJsYW5kc2NhcGUuanBnIgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UERGIFByZXZpZXcgKFVSTCk8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+QXV0by1kZXRlY3RzIFBERiBhbmQgZGlzcGxheXMgd2l0aCB0aGUgUERGIHZpZXdlciBpbmNsdWRpbmcgdG9vbGJhci48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIGNsYXNzPSJwcmV2aWV3LXBkZiIKICAgICAgICB1cmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS93ZWIvY29tcHJlc3NlZC50cmFjZW1vbmtleS1wbGRpLTA5LnBkZiIKICAgICAgICBmaWxlbmFtZT0icmVzZWFyY2gtcGFwZXIucGRmIgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Q29kZSBQcmV2aWV3IChUZXh0IENvbnRlbnQpPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlR5cGVTY3JpcHQgY29kZSBkaXNwbGF5ZWQgd2l0aCBzeW50YXggaGlnaGxpZ2h0aW5nIHZpYSB0aGUgY29kZWJveC48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIGZpbGVuYW1lPSJleGFtcGxlLnRzIgogICAgICAgIGxhbmd1YWdlPSJ0eXBlc2NyaXB0IgogICAgICAgIC50ZXh0Q29udGVudD0ke2BpbXBvcnQgeyBodG1sLCBjc3MgfSBmcm9tICdsaXQnOwoKZXhwb3J0IGNsYXNzIE15Q29tcG9uZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7CiAgc3RhdGljIHN0eWxlcyA9IGNzc1xgCiAgICA6aG9zdCB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBwYWRkaW5nOiAxNnB4OwogICAgfQogIFxgOwoKICByZW5kZXIoKSB7CiAgICByZXR1cm4gaHRtbFxgPGgxPkhlbGxvIFdvcmxkPC9oMT5cYDsKICB9Cn1gfQogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXVkaW8gUHJldmlldyAoVVJMKTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BdWRpbyBmaWxlIGRldGVjdGVkIGJ5IGV4dGVuc2lvbiwgc2hvd24gd2l0aCB3YXZlZm9ybSBwbGF5ZXIuPC9kaXY+CiAgICAgIDxkZWVzLXByZXZpZXcKICAgICAgICB1cmw9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMS5tcDMiCiAgICAgICAgZmlsZW5hbWU9InNvbmcubXAzIgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+VmlkZW8gUHJldmlldyAoVVJMKTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5WaWRlbyBmaWxlIGRldGVjdGVkIGZyb20gVVJMLCByZW5kZXJlZCB3aXRoIGN1c3RvbSB2aWRlbyBjb250cm9scy48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIHVybD0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9ndHYtdmlkZW9zLWJ1Y2tldC9zYW1wbGUvQmlnQnVja0J1bm55Lm1wNCIKICAgICAgICBmaWxlbmFtZT0iYmlnLWJ1Y2stYnVubnkubXA0IgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+RXhwbGljaXQgVHlwZSBPdmVycmlkZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5Gb3JjZSBjb250ZW50IHR5cGUgdG8gJ3RleHQnIGV2ZW4gdGhvdWdoIHRoZSBVUkwgaGFzIG5vIGV4dGVuc2lvbi48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIGNvbnRlbnRUeXBlPSJ0ZXh0IgogICAgICAgIC50ZXh0Q29udGVudD0ke2BUaGlzIGlzIHBsYWluIHRleHQgY29udGVudC4KSXQgcHJlc2VydmVzIHdoaXRlc3BhY2UgYW5kIGxpbmUgYnJlYWtzLgoKVXNlZnVsIGZvciBsb2cgZmlsZXMsIFJFQURNRXMsIGV0Yy5gfQogICAgICAgIGZpbGVuYW1lPSJub3Rlcy50eHQiCiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Vbmtub3duIFR5cGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+V2hlbiBjb250ZW50IHR5cGUgY2Fubm90IGJlIGRldGVjdGVkLCBzaG93cyBhIHBsYWNlaG9sZGVyLjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgZmlsZW5hbWU9ImRhdGEuYmluIgogICAgICAgIGNvbnRlbnRUeXBlPSJ1bmtub3duIgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciB1aSxQYSxEM2EsdE5hLGFOYSxyTmEsQTNhLFAzYT1mKCgpPT57bGUoKTtJUWUoKTtOUWUoKTtSUWUoKTt2UWUoKTtPUWUoKTt2YSgpOyQzYSgpO3VpPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxQYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sRDNhPXtqcGc6ImltYWdlIixqcGVnOiJpbWFnZSIscG5nOiJpbWFnZSIsZ2lmOiJpbWFnZSIsd2VicDoiaW1hZ2UiLHN2ZzoiaW1hZ2UiLGJtcDoiaW1hZ2UiLGF2aWY6ImltYWdlIixpY286ImltYWdlIixwZGY6InBkZiIsbXAzOiJhdWRpbyIsd2F2OiJhdWRpbyIsb2dnOiJhdWRpbyIsZmxhYzoiYXVkaW8iLGFhYzoiYXVkaW8iLG00YToiYXVkaW8iLG9wdXM6ImF1ZGlvIix3ZWJhOiJhdWRpbyIsbXA0OiJ2aWRlbyIsd2VibToidmlkZW8iLG1vdjoidmlkZW8iLGF2aToidmlkZW8iLG1rdjoidmlkZW8iLG9ndjoidmlkZW8iLHRzOiJjb2RlIixqczoiY29kZSIsanN4OiJjb2RlIix0c3g6ImNvZGUiLGpzb246ImNvZGUiLGh0bWw6ImNvZGUiLGNzczoiY29kZSIsc2NzczoiY29kZSIsbGVzczoiY29kZSIscHk6ImNvZGUiLGphdmE6ImNvZGUiLGdvOiJjb2RlIixyczoiY29kZSIseWFtbDoiY29kZSIseW1sOiJjb2RlIix4bWw6ImNvZGUiLHNxbDoiY29kZSIsc2g6ImNvZGUiLGJhc2g6ImNvZGUiLHpzaDoiY29kZSIsbWQ6ImNvZGUiLGM6ImNvZGUiLGNwcDoiY29kZSIsaDoiY29kZSIsaHBwOiJjb2RlIixyYjoiY29kZSIscGhwOiJjb2RlIixzd2lmdDoiY29kZSIsa3Q6ImNvZGUiLHR4dDoidGV4dCIsbG9nOiJ0ZXh0Iixjc3Y6InRleHQiLGVudjoidGV4dCJ9LHROYT17ImltYWdlLyI6ImltYWdlIiwiYXVkaW8vIjoiYXVkaW8iLCJ2aWRlby8iOiJ2aWRlbyIsImFwcGxpY2F0aW9uL3BkZiI6InBkZiJ9LGFOYT17dHM6InR5cGVzY3JpcHQiLHRzeDoidHlwZXNjcmlwdCIsanM6ImphdmFzY3JpcHQiLGpzeDoiamF2YXNjcmlwdCIsanNvbjoianNvbiIsaHRtbDoieG1sIix4bWw6InhtbCIsY3NzOiJjc3MiLHNjc3M6InNjc3MiLGxlc3M6Imxlc3MiLHB5OiJweXRob24iLGphdmE6ImphdmEiLGdvOiJnbyIscnM6InJ1c3QiLHlhbWw6InlhbWwiLHltbDoieWFtbCIsc3FsOiJzcWwiLHNoOiJiYXNoIixiYXNoOiJiYXNoIix6c2g6ImJhc2giLGM6ImMiLGNwcDoiY3BwIixoOiJjIixocHA6ImNwcCIscmI6InJ1YnkiLHBocDoicGhwIixzd2lmdDoic3dpZnQiLGt0OiJrb3RsaW4iLG1kOiJtYXJrZG93biJ9LHJOYT17aW1hZ2U6Imx1Y2lkZTpJbWFnZSIscGRmOiJsdWNpZGU6RmlsZVRleHQiLGF1ZGlvOiJsdWNpZGU6TXVzaWMiLHZpZGVvOiJsdWNpZGU6VmlkZW8iLGNvZGU6Imx1Y2lkZTpDb2RlIix0ZXh0OiJsdWNpZGU6RmlsZVRleHQiLHVua25vd246Imx1Y2lkZTpGaWxlIn0sQTNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1wcmV2aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFEsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdLHllLFY9W10sSD1bXTt2YXIgb2U9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNQcmV2aWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IHNlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoKV0sZD1bJCh7YXR0cmlidXRlOiExfSldLHU9WyQoKV0seD1bJCgpXSx5PVskKCldLE49WyQoKV0sTz1bJCgpXSxCPVskKCldLEU9WyQoe3R5cGU6Qm9vbGVhbn0pXSxXPVskKHt0eXBlOkJvb2xlYW59KV0saGU9W0soKV0sbWU9W0soKV0sY2U9W0soKV0sUT1bSygpXSxnZT1bSygpXSx5ZT1bSygpXSx1aSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InVybCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InVybCJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnVybCwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnVybD16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sbixsKSx1aSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJmaWxlImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUuZmlsZSwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLmZpbGU9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LGMscCksdWkodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJiYXNlNjQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJiYXNlNjQiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5iYXNlNjQsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5iYXNlNjQ9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LG0sdiksdWkodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0ZXh0Q29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InRleHRDb250ZW50ImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUudGV4dENvbnRlbnQsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS50ZXh0Q29udGVudD16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sYixnKSx1aSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRlbnRUeXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4iY29udGVudFR5cGUiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5jb250ZW50VHlwZSwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLmNvbnRlbnRUeXBlPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxrLEMpLHVpKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFuZ3VhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJsYW5ndWFnZSJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmxhbmd1YWdlLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUubGFuZ3VhZ2U9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LF8seiksdWkodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW1lVHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+Im1pbWVUeXBlImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUubWltZVR5cGUsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5taW1lVHlwZT16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sVCxQKSx1aSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbGVuYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4iZmlsZW5hbWUiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5maWxlbmFtZSwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLmZpbGVuYW1lPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxNLFMpLHVpKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1Rvb2xiYXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJzaG93VG9vbGJhciJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnNob3dUb29sYmFyLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuc2hvd1Rvb2xiYXI9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LEEsRiksdWkodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93RmlsZW5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJzaG93RmlsZW5hbWUiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5zaG93RmlsZW5hbWUsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5zaG93RmlsZW5hbWU9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LGosRyksdWkodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzb2x2ZWRUeXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4icmVzb2x2ZWRUeXBlImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUucmVzb2x2ZWRUeXBlLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUucmVzb2x2ZWRUeXBlPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxSLFUpLHVpKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlc29sdmVkU3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4icmVzb2x2ZWRTcmMiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5yZXNvbHZlZFNyYywiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnJlc29sdmVkU3JjPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxJLHEpLHVpKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlc29sdmVkVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InJlc29sdmVkVGV4dCJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnJlc29sdmVkVGV4dCwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnJlc29sdmVkVGV4dD16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sdWUsWSksdWkodGhpcyxudWxsLFEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXNvbHZlZExhbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJyZXNvbHZlZExhbmciaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5yZXNvbHZlZExhbmcsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5yZXNvbHZlZExhbmc9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LEosWiksdWkodGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+ImxvYWRpbmciaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5sb2FkaW5nLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUubG9hZGluZz16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sYWUscmUpLHVpKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4iZXJyb3IiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5lcnJvciwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLmVycm9yPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxWLEgpLHVpKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOnNlfSxudWxsLHQpLG9lPXI9ZS52YWx1ZSxzZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpzZX0pfXN0YXRpYyBkZW1vPUwzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIiwiRGF0YSBWaWV3Il07I2U9UGEodGhpcyxuLCIiKTtnZXQgdXJsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHVybChzZSl7dGhpcy4jZT1zZX0jdD0oUGEodGhpcyxsKSxQYSh0aGlzLGMsdm9pZCAwKSk7Z2V0IGZpbGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZmlsZShzZSl7dGhpcy4jdD1zZX0jYT0oUGEodGhpcyxwKSxQYSh0aGlzLG0sIiIpKTtnZXQgYmFzZTY0KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGJhc2U2NChzZSl7dGhpcy4jYT1zZX0jcj0oUGEodGhpcyx2KSxQYSh0aGlzLGIsIiIpKTtnZXQgdGV4dENvbnRlbnQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdGV4dENvbnRlbnQoc2Upe3RoaXMuI3I9c2V9I3M9KFBhKHRoaXMsZyksUGEodGhpcyxrLHZvaWQgMCkpO2dldCBjb250ZW50VHlwZSgpe3JldHVybiB0aGlzLiNzfXNldCBjb250ZW50VHlwZShzZSl7dGhpcy4jcz1zZX0jaT0oUGEodGhpcyxDKSxQYSh0aGlzLF8sIiIpKTtnZXQgbGFuZ3VhZ2UoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbGFuZ3VhZ2Uoc2Upe3RoaXMuI2k9c2V9I289KFBhKHRoaXMseiksUGEodGhpcyxULCIiKSk7Z2V0IG1pbWVUeXBlKCl7cmV0dXJuIHRoaXMuI299c2V0IG1pbWVUeXBlKHNlKXt0aGlzLiNvPXNlfSNuPShQYSh0aGlzLFApLFBhKHRoaXMsTSwiIikpO2dldCBmaWxlbmFtZSgpe3JldHVybiB0aGlzLiNufXNldCBmaWxlbmFtZShzZSl7dGhpcy4jbj1zZX0jbD0oUGEodGhpcyxTKSxQYSh0aGlzLEEsITApKTtnZXQgc2hvd1Rvb2xiYXIoKXtyZXR1cm4gdGhpcy4jbH1zZXQgc2hvd1Rvb2xiYXIoc2Upe3RoaXMuI2w9c2V9I2M9KFBhKHRoaXMsRiksUGEodGhpcyxqLCEwKSk7Z2V0IHNob3dGaWxlbmFtZSgpe3JldHVybiB0aGlzLiNjfXNldCBzaG93RmlsZW5hbWUoc2Upe3RoaXMuI2M9c2V9I2Q9KFBhKHRoaXMsRyksUGEodGhpcyxSLCJ1bmtub3duIikpO2dldCByZXNvbHZlZFR5cGUoKXtyZXR1cm4gdGhpcy4jZH1zZXQgcmVzb2x2ZWRUeXBlKHNlKXt0aGlzLiNkPXNlfSN1PShQYSh0aGlzLFUpLFBhKHRoaXMsSSwiIikpO2dldCByZXNvbHZlZFNyYygpe3JldHVybiB0aGlzLiN1fXNldCByZXNvbHZlZFNyYyhzZSl7dGhpcy4jdT1zZX0jcD0oUGEodGhpcyxxKSxQYSh0aGlzLHVlLCIiKSk7Z2V0IHJlc29sdmVkVGV4dCgpe3JldHVybiB0aGlzLiNwfXNldCByZXNvbHZlZFRleHQoc2Upe3RoaXMuI3A9c2V9I2Y9KFBhKHRoaXMsWSksUGEodGhpcyxKLCJ0ZXh0IikpO2dldCByZXNvbHZlZExhbmcoKXtyZXR1cm4gdGhpcy4jZn1zZXQgcmVzb2x2ZWRMYW5nKHNlKXt0aGlzLiNmPXNlfSNoPShQYSh0aGlzLFopLFBhKHRoaXMsYWUsITEpKTtnZXQgbG9hZGluZygpe3JldHVybiB0aGlzLiNofXNldCBsb2FkaW5nKHNlKXt0aGlzLiNoPXNlfSNtPShQYSh0aGlzLHJlKSxQYSh0aGlzLFYsIiIpKTtnZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy4jbX1zZXQgZXJyb3Ioc2Upe3RoaXMuI209c2V9b2JqZWN0VXJsPShQYSh0aGlzLEgpLCIiKTtyZW5kZXIoKXtsZXQgc2U9dGhpcy5maWxlbmFtZXx8dGhpcy5maWxlPy5uYW1lfHx0aGlzLmdldEZpbGVuYW1lRnJvbVVybCgpfHwiIjtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICAgIH0KCiAgICAgICAgLnByZXZpZXctY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICB9CgogICAgICAgIC5oZWFkZXItYmFyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsImhzbCgyMTUgMjAlIDE1JSkiKX07CiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAuaGVhZGVyLWljb24gewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLmhlYWRlci1maWxlbmFtZSB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgIH0KCiAgICAgICAgLmhlYWRlci1iYWRnZSB7CiAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KSIpfTsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAuY29udGVudC1hcmVhIHsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7CiAgICAgICAgfQoKICAgICAgICAuY29udGVudC1hcmVhID4gKiB7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB9CgogICAgICAgIGRlZXMtaW1hZ2Utdmlld2VyIHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIH0KCiAgICAgICAgZGVlcy1wZGYtdmlld2VyIHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIH0KCiAgICAgICAgZGVlcy12aWRlby12aWV3ZXIgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgfQoKICAgICAgICBkZWVzLWF1ZGlvLXZpZXdlciB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB9CgogICAgICAgIGRlZXMtZGF0YXZpZXctY29kZWJveCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB9CgogICAgICAgIC50ZXh0LXZpZXdlciB7CiAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBtb25vc3BhY2U7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICB9CgogICAgICAgIC5wbGFjZWhvbGRlciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzcxNzE3YSIpfTsKICAgICAgICB9CgogICAgICAgIC5wbGFjZWhvbGRlciBkZWVzLWljb24gewogICAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgICAgIH0KCiAgICAgICAgLnBsYWNlaG9sZGVyLXRleHQgewogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIH0KCiAgICAgICAgLmxvYWRpbmctY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgICAgfQoKICAgICAgICAuZXJyb3ItY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgICAgfQoKICAgICAgICAuZXJyb3ItY29udGFpbmVyIGRlZXMtaWNvbiB7CiAgICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgfQoKICAgICAgICAuZXJyb3ItdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgoKICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1jb250YWluZXIiPgogICAgICAgICR7dGhpcy5zaG93RmlsZW5hbWUmJnNlP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItYmFyIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iaGVhZGVyLWljb24iIGljb249IiR7ck5hW3RoaXMucmVzb2x2ZWRUeXBlXX0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaGVhZGVyLWZpbGVuYW1lIj4ke3NlfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhlYWRlci1iYWRnZSI+JHt0aGlzLnJlc29sdmVkVHlwZX08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LWFyZWEiPgogICAgICAgICAgJHt0aGlzLmVycm9yP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6QWxlcnRUcmlhbmdsZSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVycm9yLXRleHQiPiR7dGhpcy5lcnJvcn08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp0aGlzLmxvYWRpbmc/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1jb250YWluZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp0aGlzLnJlbmRlckNvbnRlbnQoKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckNvbnRlbnQoKXtzd2l0Y2godGhpcy5yZXNvbHZlZFR5cGUpe2Nhc2UiaW1hZ2UiOnJldHVybiB3YAogICAgICAgICAgPGRlZXMtaW1hZ2Utdmlld2VyCiAgICAgICAgICAgIC5zcmM9JHt0aGlzLnJlc29sdmVkU3JjfQogICAgICAgICAgICAuc2hvd1Rvb2xiYXI9JHt0aGlzLnNob3dUb29sYmFyfQogICAgICAgICAgICBhbHQ9IiR7dGhpcy5maWxlbmFtZXx8IiJ9IgogICAgICAgICAgPjwvZGVlcy1pbWFnZS12aWV3ZXI+CiAgICAgICAgYDtjYXNlInBkZiI6cmV0dXJuIHdgCiAgICAgICAgICA8ZGVlcy1wZGYtdmlld2VyCiAgICAgICAgICAgIC5wZGZVcmw9JHt0aGlzLnJlc29sdmVkU3JjfQogICAgICAgICAgICAuc2hvd1Rvb2xiYXI9JHt0aGlzLnNob3dUb29sYmFyfQogICAgICAgICAgICBpbml0aWFsWm9vbT0icGFnZS1maXQiCiAgICAgICAgICA+PC9kZWVzLXBkZi12aWV3ZXI+CiAgICAgICAgYDtjYXNlImF1ZGlvIjpyZXR1cm4gd2AKICAgICAgICAgIDxkZWVzLWF1ZGlvLXZpZXdlcgogICAgICAgICAgICAuc3JjPSR7dGhpcy5yZXNvbHZlZFNyY30KICAgICAgICAgICAgLnRpdGxlPSR7dGhpcy5maWxlbmFtZXx8dGhpcy5maWxlPy5uYW1lfHwiIn0KICAgICAgICAgID48L2RlZXMtYXVkaW8tdmlld2VyPgogICAgICAgIGA7Y2FzZSJ2aWRlbyI6cmV0dXJuIHdgCiAgICAgICAgICA8ZGVlcy12aWRlby12aWV3ZXIKICAgICAgICAgICAgLnNyYz0ke3RoaXMucmVzb2x2ZWRTcmN9CiAgICAgICAgICA+PC9kZWVzLXZpZGVvLXZpZXdlcj4KICAgICAgICBgO2Nhc2UiY29kZSI6cmV0dXJuIHdgCiAgICAgICAgICA8ZGVlcy1kYXRhdmlldy1jb2RlYm94CiAgICAgICAgICAgIC5wcm9nTGFuZz0ke3RoaXMucmVzb2x2ZWRMYW5nfQogICAgICAgICAgICAuY29kZVRvRGlzcGxheT0ke3RoaXMucmVzb2x2ZWRUZXh0fQogICAgICAgICAgPjwvZGVlcy1kYXRhdmlldy1jb2RlYm94PgogICAgICAgIGA7Y2FzZSJ0ZXh0IjpyZXR1cm4gd2A8cHJlIGNsYXNzPSJ0ZXh0LXZpZXdlciI+JHt0aGlzLnJlc29sdmVkVGV4dH08L3ByZT5gO2RlZmF1bHQ6cmV0dXJuIHdgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFjZWhvbGRlciI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkZpbGVRdWVzdGlvbiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwbGFjZWhvbGRlci10ZXh0Ij5QcmV2aWV3IG5vdCBhdmFpbGFibGU8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgfX1hc3luYyB1cGRhdGVkKHNlKXtzdXBlci51cGRhdGVkKHNlKSxbInVybCIsImZpbGUiLCJiYXNlNjQiLCJ0ZXh0Q29udGVudCIsImNvbnRlbnRUeXBlIiwibGFuZ3VhZ2UiLCJtaW1lVHlwZSIsImZpbGVuYW1lIl0uc29tZShPZT0+c2UuaGFzKE9lKSkmJmF3YWl0IHRoaXMucmVzb2x2ZUNvbnRlbnQoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5yZXZva2VPYmplY3RVcmwoKX1hc3luYyByZXNvbHZlQ29udGVudCgpe3RoaXMuZXJyb3I9IiIsdGhpcy5yZXZva2VPYmplY3RVcmwoKSx0aGlzLnJlc29sdmVkVHlwZT10aGlzLmRldGVjdFR5cGUoKTt0cnl7aWYodGhpcy51cmwpe2lmKHRoaXMucmVzb2x2ZWRTcmM9dGhpcy51cmwsdGhpcy5yZXNvbHZlZFR5cGU9PT0iY29kZSJ8fHRoaXMucmVzb2x2ZWRUeXBlPT09InRleHQiKWlmKHRoaXMudGV4dENvbnRlbnQpdGhpcy5yZXNvbHZlZFRleHQ9dGhpcy50ZXh0Q29udGVudDtlbHNle3RoaXMubG9hZGluZz0hMDtsZXQgc2U9YXdhaXQgZmV0Y2godGhpcy51cmwpO3RoaXMucmVzb2x2ZWRUZXh0PWF3YWl0IHNlLnRleHQoKSx0aGlzLmxvYWRpbmc9ITF9fWVsc2UgaWYodGhpcy5maWxlKXRoaXMub2JqZWN0VXJsPVVSTC5jcmVhdGVPYmplY3RVUkwodGhpcy5maWxlKSx0aGlzLnJlc29sdmVkU3JjPXRoaXMub2JqZWN0VXJsLCh0aGlzLnJlc29sdmVkVHlwZT09PSJjb2RlInx8dGhpcy5yZXNvbHZlZFR5cGU9PT0idGV4dCIpJiYodGhpcy5sb2FkaW5nPSEwLHRoaXMucmVzb2x2ZWRUZXh0PWF3YWl0IHRoaXMuZmlsZS50ZXh0KCksdGhpcy5sb2FkaW5nPSExKTtlbHNlIGlmKHRoaXMuYmFzZTY0KXtsZXQgc2U9dGhpcy5taW1lVHlwZXx8ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI7dGhpcy5yZXNvbHZlZFNyYz1gZGF0YToke3NlfTtiYXNlNjQsJHt0aGlzLmJhc2U2NH1gfWVsc2UgdGhpcy50ZXh0Q29udGVudCYmKHRoaXMucmVzb2x2ZWRUZXh0PXRoaXMudGV4dENvbnRlbnQpfWNhdGNoe3RoaXMuZXJyb3I9IkZhaWxlZCB0byBsb2FkIGNvbnRlbnQiLHRoaXMubG9hZGluZz0hMX10aGlzLnJlc29sdmVkTGFuZz10aGlzLnJlc29sdmVMYW5ndWFnZSgpfWRldGVjdFR5cGUoKXtpZih0aGlzLmNvbnRlbnRUeXBlKXJldHVybiB0aGlzLmNvbnRlbnRUeXBlO2xldCBzZT10aGlzLm1pbWVUeXBlfHx0aGlzLmZpbGU/LnR5cGV8fCIiO2lmKHNlKXtpZihzZT09PSJhcHBsaWNhdGlvbi9wZGYiKXJldHVybiJwZGYiO2ZvcihsZXRbemUsT2Vdb2YgT2JqZWN0LmVudHJpZXModE5hKSlpZihzZS5zdGFydHNXaXRoKHplKSlyZXR1cm4gT2U7aWYoc2Uuc3RhcnRzV2l0aCgidGV4dC8iKSlyZXR1cm4idGV4dCJ9bGV0IHRlPXRoaXMuZ2V0RXh0ZW5zaW9uKCk7cmV0dXJuIHRlJiZEM2FbdGVdP0QzYVt0ZV06dGhpcy50ZXh0Q29udGVudD90aGlzLmxhbmd1YWdlPyJjb2RlIjoidGV4dCI6InVua25vd24ifWdldEV4dGVuc2lvbigpe2xldCBzZT10aGlzLmZpbGVuYW1lfHx0aGlzLmZpbGU/Lm5hbWV8fCIiO2lmKHNlKXtsZXQgdGU9c2Uuc3BsaXQoIi4iKTtpZih0ZS5sZW5ndGg+MSlyZXR1cm4gdGUucG9wKCkudG9Mb3dlckNhc2UoKX1pZih0aGlzLnVybCl0cnl7bGV0IHplPW5ldyBVUkwodGhpcy51cmwsImh0dHBzOi8vcGxhY2Vob2xkZXIuY29tIikucGF0aG5hbWUuc3BsaXQoIi4iKTtpZih6ZS5sZW5ndGg+MSlyZXR1cm4gemUucG9wKCkudG9Mb3dlckNhc2UoKX1jYXRjaHt9cmV0dXJuIiJ9Z2V0RmlsZW5hbWVGcm9tVXJsKCl7aWYoIXRoaXMudXJsKXJldHVybiIiO3RyeXtyZXR1cm4gbmV3IFVSTCh0aGlzLnVybCwiaHR0cHM6Ly9wbGFjZWhvbGRlci5jb20iKS5wYXRobmFtZS5zcGxpdCgiLyIpLnBvcCgpfHwiIn1jYXRjaHtyZXR1cm4iIn19cmVzb2x2ZUxhbmd1YWdlKCl7aWYodGhpcy5sYW5ndWFnZSlyZXR1cm4gdGhpcy5sYW5ndWFnZTtsZXQgc2U9dGhpcy5nZXRFeHRlbnNpb24oKTtyZXR1cm4gYU5hW3NlXXx8InRleHQifXJldm9rZU9iamVjdFVybCgpe3RoaXMub2JqZWN0VXJsJiYoVVJMLnJldm9rZU9iamVjdFVSTCh0aGlzLm9iamVjdFVybCksdGhpcy5vYmplY3RVcmw9IiIpfXN0YXRpY3tQYShyLHQpfX07cmV0dXJuIG9lPXJ9KSgpfSk7dmFyIEUzYT1mKCgpPT57UDNhKCl9KTt2YXIgWm0sRlFlPWYoKCk9PntabT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJDYW52YXNQb29sIil9c3RhdGljIHBvb2w9W107c3RhdGljIG1heFBvb2xTaXplPTIwO3N0YXRpYyBNSU5fQ0FOVkFTX1NJWkU9MjU2O3N0YXRpYyBNQVhfQ0FOVkFTX1NJWkU9NDA5NjtzdGF0aWMgYWNxdWlyZShlLHQpe2xldCByPXRoaXMucG9vbC5maW5kKGw9PiFsLmluVXNlJiZsLmNhbnZhcy53aWR0aD49ZSYmbC5jYW52YXMuaGVpZ2h0Pj10JiZsLmNhbnZhcy53aWR0aDw9ZSoxLjUmJmwuY2FudmFzLmhlaWdodDw9dCoxLjUpO2lmKHIpcmV0dXJuIHIuaW5Vc2U9ITAsci5sYXN0VXNlZD1EYXRlLm5vdygpLHIuY2FudmFzLndpZHRoPWUsci5jYW52YXMuaGVpZ2h0PXQsci5jdHguY2xlYXJSZWN0KDAsMCxlLHQpLHI7aWYodGhpcy5wb29sLmxlbmd0aDx0aGlzLm1heFBvb2xTaXplKXtsZXQgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxkPWwuZ2V0Q29udGV4dCgiMmQiLHthbHBoYTohMCxkZXN5bmNocm9uaXplZDohMH0pO2wud2lkdGg9TWF0aC5taW4oTWF0aC5tYXgoZSx0aGlzLk1JTl9DQU5WQVNfU0laRSksdGhpcy5NQVhfQ0FOVkFTX1NJWkUpLGwuaGVpZ2h0PU1hdGgubWluKE1hdGgubWF4KHQsdGhpcy5NSU5fQ0FOVkFTX1NJWkUpLHRoaXMuTUFYX0NBTlZBU19TSVpFKTtsZXQgYz17Y2FudmFzOmwsY3R4OmQsaW5Vc2U6ITAsbGFzdFVzZWQ6RGF0ZS5ub3coKX07cmV0dXJuIHRoaXMucG9vbC5wdXNoKGMpLGN9bGV0IGk9dGhpcy5wb29sLmZpbHRlcihsPT4hbC5pblVzZSkuc29ydCgobCxkKT0+bC5sYXN0VXNlZC1kLmxhc3RVc2VkKVswXTtpZihpKXJldHVybiBpLmNhbnZhcy53aWR0aD1lLGkuY2FudmFzLmhlaWdodD10LGkuY3R4LmNsZWFyUmVjdCgwLDAsZSx0KSxpLmluVXNlPSEwLGkubGFzdFVzZWQ9RGF0ZS5ub3coKSxpO2xldCBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLG49by5nZXRDb250ZXh0KCIyZCIpO3JldHVybiBvLndpZHRoPWUsby5oZWlnaHQ9dCx7Y2FudmFzOm8sY3R4Om4saW5Vc2U6ITAsbGFzdFVzZWQ6RGF0ZS5ub3coKX19c3RhdGljIHJlbGVhc2UoZSl7dGhpcy5wb29sLmluY2x1ZGVzKGUpJiYoZS5pblVzZT0hMSxlLmN0eC5jbGVhclJlY3QoMCwwLGUuY2FudmFzLndpZHRoLGUuY2FudmFzLmhlaWdodCkpfXN0YXRpYyByZWxlYXNlQWxsKCl7Zm9yKGxldCBlIG9mIHRoaXMucG9vbCllLmluVXNlPSExLGUuY3R4LmNsZWFyUmVjdCgwLDAsZS5jYW52YXMud2lkdGgsZS5jYW52YXMuaGVpZ2h0KX1zdGF0aWMgZGVzdHJveSgpe2ZvcihsZXQgZSBvZiB0aGlzLnBvb2wpZS5jYW52YXMud2lkdGg9MCxlLmNhbnZhcy5oZWlnaHQ9MDt0aGlzLnBvb2w9W119c3RhdGljIGdldFN0YXRzKCl7cmV0dXJue3Bvb2xTaXplOnRoaXMucG9vbC5sZW5ndGgsbWF4UG9vbFNpemU6dGhpcy5tYXhQb29sU2l6ZSxpblVzZTp0aGlzLnBvb2wuZmlsdGVyKGU9PmUuaW5Vc2UpLmxlbmd0aCxhdmFpbGFibGU6dGhpcy5wb29sLmZpbHRlcihlPT4hZS5pblVzZSkubGVuZ3RofX1zdGF0aWMgYWRqdXN0UG9vbFNpemUoZSl7aWYoZTx0aGlzLnBvb2wubGVuZ3RoKXtsZXQgdD10aGlzLnBvb2wubGVuZ3RoLWUscj10aGlzLnBvb2wuZmlsdGVyKGk9PiFpLmluVXNlKS5zbGljZSgwLHQpO2ZvcihsZXQgaSBvZiByKXtsZXQgbz10aGlzLnBvb2wuaW5kZXhPZihpKTtvPi0xJiZ0aGlzLnBvb2wuc3BsaWNlKG8sMSl9fXRoaXMubWF4UG9vbFNpemU9ZX19fSk7ZnVuY3Rpb24gc05hKGEsZSl7bGV0IHQ7cmV0dXJuIHMoZnVuY3Rpb24oLi4uaSl7bGV0IG89cygoKT0+e2NsZWFyVGltZW91dCh0KSxhKC4uLmkpfSwibGF0ZXIiKTtjbGVhclRpbWVvdXQodCksdD13aW5kb3cuc2V0VGltZW91dChvLGUpfSwiZXhlY3V0ZWRGdW5jdGlvbiIpfWZ1bmN0aW9uIGlOYShhLGUpe2xldCB0O3JldHVybiguLi5yKT0+e3R8fChhKC4uLnIpLHQ9ITAsc2V0VGltZW91dCgoKT0+dD0hMSxlKSl9fWZ1bmN0aW9uIEJRZShhKXtpZihhPT09MClyZXR1cm4iMCBCeXRlcyI7bGV0IGU9MTAyNCx0PVsiQnl0ZXMiLCJLQiIsIk1CIiwiR0IiXSxyPU1hdGguZmxvb3IoTWF0aC5sb2coYSkvTWF0aC5sb2coZSkpO3JldHVybiBNYXRoLnJvdW5kKGEvTWF0aC5wb3coZSxyKSoxMDApLzEwMCsiICIrdFtyXX1mdW5jdGlvbiBvTmEoYSxlPTApe2xldCB0PWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIHQudG9wPj0tZSYmdC5sZWZ0Pj0tZSYmdC5ib3R0b208PSh3aW5kb3cuaW5uZXJIZWlnaHR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpK2UmJnQucmlnaHQ8PSh3aW5kb3cuaW5uZXJXaWR0aHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKStlfXZhciBYbSxIUWU9ZigoKT0+e3Moc05hLCJkZWJvdW5jZSIpO3MoaU5hLCJ0aHJvdHRsZSIpO3MoQlFlLCJmb3JtYXRGaWxlU2l6ZSIpO3Mob05hLCJpc0luVmlld3BvcnQiKTtYbT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJQZXJmb3JtYW5jZU1vbml0b3IiKX1zdGF0aWMgbWFya3M9bmV3IE1hcDtzdGF0aWMgbWVhc3VyZXM9W107c3RhdGljIG1hcmsoZSl7dGhpcy5tYXJrcy5zZXQoZSxwZXJmb3JtYW5jZS5ub3coKSl9c3RhdGljIG1lYXN1cmUoZSx0KXtsZXQgcj10aGlzLm1hcmtzLmdldCh0KTtpZihyKXtsZXQgaT1wZXJmb3JtYW5jZS5ub3coKS1yO3JldHVybiB0aGlzLm1lYXN1cmVzLnB1c2goe25hbWU6ZSxkdXJhdGlvbjppfSksdGhpcy5tYXJrcy5kZWxldGUodCksaX1yZXR1cm4gMH1zdGF0aWMgZ2V0UmVwb3J0KCl7bGV0IGU9e21lYXN1cmVzOlsuLi50aGlzLm1lYXN1cmVzXSxhdmVyYWdlczp7fX0sdD1uZXcgTWFwO2ZvcihsZXQgciBvZiB0aGlzLm1lYXN1cmVzKXQuaGFzKHIubmFtZSl8fHQuc2V0KHIubmFtZSxbXSksdC5nZXQoci5uYW1lKS5wdXNoKHIuZHVyYXRpb24pO2ZvcihsZXRbcixpXW9mIHQpZS5hdmVyYWdlc1tyXT1pLnJlZHVjZSgobyxuKT0+bytuLDApL2kubGVuZ3RoO3JldHVybiBlfXN0YXRpYyBjbGVhcigpe3RoaXMubWFya3MuY2xlYXIoKSx0aGlzLm1lYXN1cmVzPVtdfX19KTt2YXIgSTNhPWYoKCk9PntGUWUoKTtZc2UoKTtIUWUoKX0pO3ZhciBOM2E9ZigoKT0+e09RZSgpfSk7dmFyIEJpLEFjPWYoKCk9PntsZSgpO0JpPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgIDpob3N0IHsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgLnRpbGUtY29udGFpbmVyIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB3aWR0aDogMjAwcHg7CiAgICAgIGhlaWdodDogMjYwcHg7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5OCUpIiwiaHNsKDIxNSAyMCUgMTQlKSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgZWFzZTsKICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMTIpIiwicmdiYSgwLCAwLCAwLCAwLjI0KSIpfTsKCiAgICB9CgogICAgLnRpbGUtY29udGFpbmVyLmNsaWNrYWJsZSB7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIH0KCiAgICAudGlsZS1jb250YWluZXIuY2xpY2thYmxlOmhvdmVyIHsKICAgICAgYm94LXNoYWRvdzogMCA4cHggMjRweCAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjEyKSIsInJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICAgIH0KCiAgICAudGlsZS1jb250YWluZXIuY2xpY2thYmxlOmhvdmVyIC50aWxlLW92ZXJsYXkgewogICAgICBvcGFjaXR5OiAxOwogICAgfQoKICAgIC50aWxlLWNvbnRlbnQgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQoKICAgIC50aWxlLW92ZXJsYXkgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIGJvdHRvbTogMDsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC43KSIsInJnYmEoMCwgMCwgMCwgMC44KSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGdhcDogOHB4OwogICAgICBvcGFjaXR5OiAwOwogICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgei1pbmRleDogMjA7CiAgICB9CgogICAgLnRpbGUtb3ZlcmxheSBkZWVzLWljb24gewogICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgIH0KCiAgICAudGlsZS1vdmVybGF5IHNwYW4gewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgIH0KCiAgICAudGlsZS1pbmZvLWJhciB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgYm90dG9tOiAwOwogICAgICBsZWZ0OiAwOwogICAgICByaWdodDogMDsKICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUgLyAwLjk1KSIsImhzbCgyMTUgMjAlIDEyJSAvIDAuOTUpIil9OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBnYXA6IDZweDsKICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7CiAgICAgIHotaW5kZXg6IDI1OwogICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwogICAgfQoKICAgIC5pbmZvLWxhYmVsIHsKICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIG1pbi13aWR0aDogMDsKICAgIH0KCiAgICAuaW5mby1zcGFjZXIgewogICAgICBmbGV4OiAxOwogICAgfQoKICAgIC5pbmZvLWRldGFpbCB7CiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgZmxleC1zaHJpbms6IDA7CiAgICB9CgogICAgLnRpbGUtbG9hZGluZywKICAgIC50aWxlLWVycm9yIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDA7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHJpZ2h0OiAwOwogICAgICBib3R0b206IDA7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICBnYXA6IDEycHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICB9CgogICAgLnRpbGUtbG9hZGluZyB7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5OSUpIiwiaHNsKDIxNSAyMCUgMTQlKSIpfTsKICAgIH0KCiAgICAudGlsZS1lcnJvciB7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MiUgOTglKSIsImhzbCgwIDYyJSAyMCUpIil9OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyJSA0MCUpIiwiaHNsKDAgNzAlIDY4JSkiKX07CiAgICB9CgogICAgLnRpbGUtZXJyb3IgZGVlcy1pY29uIHsKICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgfQoKICAgIC50aWxlLXNwaW5uZXIgewogICAgICB3aWR0aDogMjRweDsKICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA4NiUpIiwiaHNsKDIxNyAyNSUgMjglKSIpfTsKICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgLnRpbGUtbG9hZGluZy10ZXh0LAogICAgLnRpbGUtZXJyb3ItdGV4dCB7CiAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIH0KCiAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICB0byB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgfQogICAgfQoKICAgIC8qIFNpemUgdmFyaWFudHMgKi8KICAgIDpob3N0KFtzaXplPSJzbWFsbCJdKSAudGlsZS1jb250YWluZXIgewogICAgICB3aWR0aDogMTUwcHg7CiAgICAgIGhlaWdodDogMTk1cHg7CiAgICB9CgogICAgOmhvc3QoW3NpemU9ImxhcmdlIl0pIC50aWxlLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAyNTBweDsKICAgICAgaGVpZ2h0OiAzMjVweDsKICAgIH0KCiAgICAvKiBHcmlkIG9wdGltaXphdGlvbnMgKi8KICAgIDpob3N0KFtncmlkLW1vZGVdKSAudGlsZS1jb250YWluZXIgewogICAgICB3aWxsLWNoYW5nZTogYXV0bzsKICAgIH0KICBgXX0pO3ZhciBzRyxjbCxsbyxPND1mKCgpPT57bGUoKTtBYygpO3ZhKCk7c0c9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGNsPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxsbz0oKCk9PntsZXQgYT1wZSxlLHQ9W10scj1bXSxpLG89W10sbj1bXSxsLGQ9W10sYz1bXSxwLHU9W10sbT1bXSx2LHg9W10sYj1bXTtyZXR1cm4gY2xhc3MgZXh0ZW5kcyBhe3N0YXRpY3tzKHRoaXMsIkRlZXNUaHVtYm5haWxCYXNlIil9c3RhdGlje2xldCB5PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGFbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO2U9WyQoe3R5cGU6Qm9vbGVhbn0pXSxpPVskKHt0eXBlOkJvb2xlYW59KV0sbD1bJCh7dHlwZTpCb29sZWFufSldLHA9WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sdj1bJCh7dHlwZTpTdHJpbmd9KV0sc0codGhpcyxudWxsLGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjbGlja2FibGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoaz0+ImNsaWNrYWJsZSJpbiBrLCJoYXMiKSxnZXQ6cyhrPT5rLmNsaWNrYWJsZSwiZ2V0Iiksc2V0OnMoKGssQyk9PntrLmNsaWNrYWJsZT1DfSwic2V0Iil9LG1ldGFkYXRhOnl9LHQsciksc0codGhpcyxudWxsLGkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGs9PiJsb2FkaW5nImluIGssImhhcyIpLGdldDpzKGs9PmsubG9hZGluZywiZ2V0Iiksc2V0OnMoKGssQyk9PntrLmxvYWRpbmc9Q30sInNldCIpfSxtZXRhZGF0YTp5fSxvLG4pLHNHKHRoaXMsbnVsbCxsLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoaz0+ImVycm9yImluIGssImhhcyIpLGdldDpzKGs9PmsuZXJyb3IsImdldCIpLHNldDpzKChrLEMpPT57ay5lcnJvcj1DfSwic2V0Iil9LG1ldGFkYXRhOnl9LGQsYyksc0codGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGs9PiJzaXplImluIGssImhhcyIpLGdldDpzKGs9Pmsuc2l6ZSwiZ2V0Iiksc2V0OnMoKGssQyk9PntrLnNpemU9Q30sInNldCIpfSxtZXRhZGF0YTp5fSx1LG0pLHNHKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoaz0+ImxhYmVsImluIGssImhhcyIpLGdldDpzKGs9PmsubGFiZWwsImdldCIpLHNldDpzKChrLEMpPT57ay5sYWJlbD1DfSwic2V0Iil9LG1ldGFkYXRhOnl9LHgsYikseSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp5fSl9c3RhdGljIHN0eWxlcz1CaTsjZT1jbCh0aGlzLHQsITApO2dldCBjbGlja2FibGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY2xpY2thYmxlKHkpe3RoaXMuI2U9eX0jdD0oY2wodGhpcyxyKSxjbCh0aGlzLG8sITEpKTtnZXQgbG9hZGluZygpe3JldHVybiB0aGlzLiN0fXNldCBsb2FkaW5nKHkpe3RoaXMuI3Q9eX0jYT0oY2wodGhpcyxuKSxjbCh0aGlzLGQsITEpKTtnZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZXJyb3IoeSl7dGhpcy4jYT15fSNyPShjbCh0aGlzLGMpLGNsKHRoaXMsdSwiZGVmYXVsdCIpKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNyfXNldCBzaXplKHkpe3RoaXMuI3I9eX0jcz0oY2wodGhpcyxtKSxjbCh0aGlzLHgsIiIpKTtnZXQgbGFiZWwoKXtyZXR1cm4gdGhpcy4jc31zZXQgbGFiZWwoeSl7dGhpcy4jcz15fW9ic2VydmVyPWNsKHRoaXMsYik7X3Zpc2libGU9ITE7Z2V0IGlzVmlzaWJsZSgpe3JldHVybiB0aGlzLl92aXNpYmxlfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9InRpbGUtY29udGFpbmVyICR7dGhpcy5jbGlja2FibGU/ImNsaWNrYWJsZSI6IiJ9ICR7dGhpcy5sb2FkaW5nPyJsb2FkaW5nIjoiIn0gJHt0aGlzLmVycm9yPyJlcnJvciI6IiJ9IgogICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlVGlsZUNsaWNrfQogICAgICAgIEBtb3VzZWVudGVyPSR7dGhpcy5vblRpbGVNb3VzZUVudGVyfQogICAgICAgIEBtb3VzZWxlYXZlPSR7dGhpcy5vblRpbGVNb3VzZUxlYXZlfQogICAgICAgIEBtb3VzZW1vdmU9JHt0aGlzLm9uVGlsZU1vdXNlTW92ZX0KICAgICAgPgogICAgICAgICR7dGhpcy5sb2FkaW5nP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWxvYWRpbmciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWxvYWRpbmctdGV4dCI+TG9hZGluZy4uLjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgJHt0aGlzLmVycm9yP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWVycm9yIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6QWxlcnRUcmlhbmdsZSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtZXJyb3ItdGV4dCI+RmFpbGVkIHRvIGxvYWQ8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgICR7IXRoaXMubG9hZGluZyYmIXRoaXMuZXJyb3I/dGhpcy5yZW5kZXJUaWxlQ29udGVudCgpOiIifQoKICAgICAgICAke3RoaXMucmVuZGVyQm90dG9tQmFyKCl9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtyZXR1cm4iIn1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zZXR1cEludGVyc2VjdGlvbk9ic2VydmVyKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMub2JzZXJ2ZXImJih0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLm9ic2VydmVyPXZvaWQgMCl9c2V0dXBJbnRlcnNlY3Rpb25PYnNlcnZlcigpe3RoaXMub2JzZXJ2ZXI9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHk9Pntmb3IobGV0IGsgb2YgeSl7bGV0IEM9dGhpcy5fdmlzaWJsZTt0aGlzLl92aXNpYmxlPWsuaXNJbnRlcnNlY3RpbmcsdGhpcy5fdmlzaWJsZSYmIUMmJnRoaXMub25CZWNhbWVWaXNpYmxlKCl9fSx7cm9vdDpudWxsLHJvb3RNYXJnaW46IjIwMHB4Iix0aHJlc2hvbGQ6LjAxfSksdGhpcy5vYnNlcnZlci5vYnNlcnZlKHRoaXMpfW9uQmVjYW1lVmlzaWJsZSgpe31vblRpbGVNb3VzZUVudGVyKCl7fW9uVGlsZU1vdXNlTGVhdmUoKXt9b25UaWxlTW91c2VNb3ZlKHkpe31oYW5kbGVUaWxlQ2xpY2soKXt0aGlzLmNsaWNrYWJsZSYmdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGlsZS1jbGljayIse2RldGFpbDp0aGlzLmdldFRpbGVDbGlja0RldGFpbCgpLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue319fX0pKCl9KTt2YXIgUjNhPWYoKCk9PntPNCgpO0FjKCl9KTt2YXIgTzNhLEYzYT1mKCgpPT57bGUoKTtPM2E9WGAKICAucHJldmlldy1zdGFjayB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBhZGRpbmc6IDhweCA4cHggMjhweCA4cHg7CiAgfQoKICAucHJldmlldy1zdGFjay5ub24tYTQgewogICAgcGFkZGluZzogMTJweCAxMnB4IDI4cHggMTJweDsKICB9CgogIC5wcmV2aWV3LWNhbnZhcyB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgbWF4LWhlaWdodDogMTAwJTsKICAgIHdpZHRoOiBhdXRvOwogICAgaGVpZ2h0OiBhdXRvOwogICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgIGltYWdlLXJlbmRlcmluZzogYXV0bzsKICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgYm94LXNoYWRvdzogMCAxcHggM3B4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgfQoKICAubm9uLWE0IC5wcmV2aWV3LWNhbnZhcyB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTIlKSIsImhzbCgyMTcgMjUlIDI0JSkiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgfQoKICAvKiBHcmlkIG9wdGltaXphdGlvbnMgKi8KICA6aG9zdChbZ3JpZC1tb2RlXSkgLnByZXZpZXctY2FudmFzIHsKICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDsKICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7CiAgfQpgfSk7dmFyIEIzYSxIM2E9ZigoKT0+e2xlKCk7QjNhPXMoKCk9PntsZXQgYT1bImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS9leGFtcGxlcy9sZWFybmluZy9oZWxsb3dvcmxkLnBkZiIsImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS93ZWIvY29tcHJlc3NlZC50cmFjZW1vbmtleS1wbGRpLTA5LnBkZiJdLGU9cyh0PT57bGV0IHI9W107Zm9yKGxldCBpPTA7aTx0O2krKyl7bGV0IG89YVtpJWEubGVuZ3RoXTtyLnB1c2god2AKICAgICAgICA8ZGVlcy10aHVtYm5haWwtcGRmCiAgICAgICAgICBwZGZVcmw9IiR7b30iCiAgICAgICAgICBjbGlja2FibGU9InRydWUiCiAgICAgICAgICBncmlkLW1vZGUKICAgICAgICAgIEB0aWxlLWNsaWNrPSR7bj0+e2NvbnNvbGUubG9nKCJQREYgVGlsZSBjbGlja2VkOiIsbi5kZXRhaWwpLGFsZXJ0KGBQREYgY2xpY2tlZDogJHtuLmRldGFpbC5wYWdlQ291bnR9IHBhZ2VzYCl9fQogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLXBkZj4KICAgICAgYCl9cmV0dXJuIHJ9LCJnZW5lcmF0ZUdyaWRJdGVtcyIpO3JldHVybiB3YAogICAgPHN0eWxlPgogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNWY1ZjUiLCIjMGEwYTBhIil9OwogICAgICB9CgogICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OwogICAgICB9CgogICAgICBoMyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAucHJldmlldy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICB9CgogICAgICAucHJldmlldy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbWluLXdpZHRoOiAxMDBweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+U2luZ2xlIFBERiBUaWxlPC9oMz4KICAgICAgICA8ZGVlcy10aHVtYm5haWwtcGRmCiAgICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS93ZWIvY29tcHJlc3NlZC50cmFjZW1vbmtleS1wbGRpLTA5LnBkZiIKICAgICAgICAgIGNsaWNrYWJsZT0idHJ1ZSIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1wZGY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+RGlmZmVyZW50IFNpemVzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWxhYmVsIj5TbWFsbDo8L2Rpdj4KICAgICAgICAgIDxkZWVzLXRodW1ibmFpbC1wZGYKICAgICAgICAgICAgc2l6ZT0ic21hbGwiCiAgICAgICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL2V4YW1wbGVzL2xlYXJuaW5nL2hlbGxvd29ybGQucGRmIgogICAgICAgICAgICBjbGlja2FibGU9InRydWUiCiAgICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1wZGY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctbGFiZWwiPkRlZmF1bHQ6PC9kaXY+CiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtcGRmCiAgICAgICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL2V4YW1wbGVzL2xlYXJuaW5nL2hlbGxvd29ybGQucGRmIgogICAgICAgICAgICBjbGlja2FibGU9InRydWUiCiAgICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1wZGY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctbGFiZWwiPkxhcmdlOjwvZGl2PgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLXBkZgogICAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgICAgcGRmVXJsPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW96aWxsYS9wZGYuanMvYmEyZWRlYWUvZXhhbXBsZXMvbGVhcm5pbmcvaGVsbG93b3JsZC5wZGYiCiAgICAgICAgICAgIGNsaWNrYWJsZT0idHJ1ZSIKICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLXBkZj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5XaXRoIExhYmVsPC9oMz4KICAgICAgICA8ZGVlcy10aHVtYm5haWwtcGRmCiAgICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS93ZWIvY29tcHJlc3NlZC50cmFjZW1vbmtleS1wbGRpLTA5LnBkZiIKICAgICAgICAgIGNsaWNrYWJsZT0idHJ1ZSIKICAgICAgICAgIGxhYmVsPSJSZXNlYXJjaCBQYXBlci5wZGYiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtcGRmPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPk5vbi1DbGlja2FibGU8L2gzPgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1wZGYKICAgICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL2V4YW1wbGVzL2xlYXJuaW5nL2hlbGxvd29ybGQucGRmIgogICAgICAgICAgY2xpY2thYmxlPSJmYWxzZSIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1wZGY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+R3JpZCAtIDIwIFBERnMgd2l0aCBMYXp5IExvYWRpbmc8L2gzPgogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctZ3JpZCI+CiAgICAgICAgICAke2UoMjApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGB9LCJkZW1vIil9KTt2YXIgRjQsY28scTNhLFYzYT1mKCgpPT57bGUoKTtPNCgpO0FjKCk7WXNlKCk7RlFlKCk7SFFlKCk7RjNhKCk7SDNhKCk7RjQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGNvPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxxM2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRodW1ibmFpbC1wZGYiKV0sZSx0PVtdLHIsaT1sbyxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXTt2YXIgQj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1RodW1ibmFpbFBkZiIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6TnVtYmVyfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sTj1bJCh7dHlwZTpCb29sZWFufSldLE89W0soKV0sRjQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwZGZVcmwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InBkZlVybCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnBkZlVybCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnBkZlVybD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksRjQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50UHJldmlld1BhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImN1cnJlbnRQcmV2aWV3UGFnZSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmN1cnJlbnRQcmV2aWV3UGFnZSwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLmN1cnJlbnRQcmV2aWV3UGFnZT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGMscCksRjQodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwYWdlQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InBhZ2VDb3VudCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnBhZ2VDb3VudCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnBhZ2VDb3VudD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksRjQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5kZXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4icmVuZGVyZWQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5yZW5kZXJlZCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnJlbmRlcmVkPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixnKSxGNCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzSG92ZXJpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImlzSG92ZXJpbmciaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5pc0hvdmVyaW5nLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MuaXNIb3ZlcmluZz1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGssQyksRjQodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0E0Rm9ybWF0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJpc0E0Rm9ybWF0ImluIFMsImhhcyIpLGdldDpzKFM9PlMuaXNBNEZvcm1hdCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLmlzQTRGb3JtYXQ9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLEY0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsZVNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImZpbGVTaXplImluIFMsImhhcyIpLGdldDpzKFM9PlMuZmlsZVNpemUsImdldCIpLHNldDpzKChTLEUpPT57Uy5maWxlU2l6ZT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsUCksRjQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1CM2E7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSIsIlBERiJdO3N0YXRpYyBzdHlsZXM9Wy4uLkJpLE8zYV07I2U9Y28odGhpcyxuLCIiKTtnZXQgcGRmVXJsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHBkZlVybChNKXt0aGlzLiNlPU19I3Q9KGNvKHRoaXMsbCksY28odGhpcyxjLDEpKTtnZXQgY3VycmVudFByZXZpZXdQYWdlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGN1cnJlbnRQcmV2aWV3UGFnZShNKXt0aGlzLiN0PU19I2E9KGNvKHRoaXMscCksY28odGhpcyxtLDApKTtnZXQgcGFnZUNvdW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IHBhZ2VDb3VudChNKXt0aGlzLiNhPU19I3I9KGNvKHRoaXMsdiksY28odGhpcyxiLCExKSk7Z2V0IHJlbmRlcmVkKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHJlbmRlcmVkKE0pe3RoaXMuI3I9TX0jcz0oY28odGhpcyxnKSxjbyh0aGlzLGssITEpKTtnZXQgaXNIb3ZlcmluZygpe3JldHVybiB0aGlzLiNzfXNldCBpc0hvdmVyaW5nKE0pe3RoaXMuI3M9TX0jaT0oY28odGhpcyxDKSxjbyh0aGlzLF8sITApKTtnZXQgaXNBNEZvcm1hdCgpe3JldHVybiB0aGlzLiNpfXNldCBpc0E0Rm9ybWF0KE0pe3RoaXMuI2k9TX0jbz0oY28odGhpcyx6KSxjbyh0aGlzLFQsMCkpO2dldCBmaWxlU2l6ZSgpe3JldHVybiB0aGlzLiNvfXNldCBmaWxlU2l6ZShNKXt0aGlzLiNvPU19cmVuZGVyUGFnZXNUYXNrPShjbyh0aGlzLFApLG51bGwpO3JlbmRlclBhZ2VzUXVldWVkPSExO3BkZkRvY3VtZW50O2NhbnZhc2VzPVtdO3Jlc2l6ZU9ic2VydmVyO3N0YWNrRWxlbWVudD1udWxsO2xvYWRlZFBkZlVybD1udWxsO3JlbmRlclRpbGVDb250ZW50KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctc3RhY2sgJHt0aGlzLmlzQTRGb3JtYXQ/IiI6Im5vbi1hNCJ9Ij4KICAgICAgICA8Y2FudmFzCiAgICAgICAgICBjbGFzcz0icHJldmlldy1jYW52YXMiCiAgICAgICAgICBkYXRhLXBhZ2U9IiR7dGhpcy5jdXJyZW50UHJldmlld1BhZ2V9IgogICAgICAgID48L2NhbnZhcz4KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuY2xpY2thYmxlP3dgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdmVybGF5Ij4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkV5ZSI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5WaWV3IFBERjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgIGB9cmVuZGVyQm90dG9tQmFyKCl7cmV0dXJuIXRoaXMucGFnZUNvdW50JiYhdGhpcy5sYWJlbD8iIjp3YAogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWluZm8tYmFyIj4KICAgICAgICAke3RoaXMubGFiZWw/d2A8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCIgdGl0bGU9IiR7dGhpcy5sYWJlbH0iPiR7dGhpcy5sYWJlbH08L3NwYW4+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1zcGFjZXIiPjwvc3Bhbj4KICAgICAgICAke3RoaXMucGFnZUNvdW50PjEmJnRoaXMuaXNIb3ZlcmluZz93YDxzcGFuIGNsYXNzPSJpbmZvLWRldGFpbCI+JHt0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZX0vJHt0aGlzLnBhZ2VDb3VudH08L3NwYW4+YDp0aGlzLnBhZ2VDb3VudD4wP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke3RoaXMucGFnZUNvdW50fSBwZzwvc3Bhbj5gOiIifQogICAgICAgICR7dGhpcy5maWxlU2l6ZT4wP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke0JRZSh0aGlzLmZpbGVTaXplKX08L3NwYW4+YDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWdldFRpbGVDbGlja0RldGFpbCgpe3JldHVybntwZGZVcmw6dGhpcy5wZGZVcmwscGFnZUNvdW50OnRoaXMucGFnZUNvdW50fX1vbkJlY2FtZVZpc2libGUoKXshdGhpcy5yZW5kZXJlZCYmdGhpcy5wZGZVcmwmJnRoaXMubG9hZEFuZFJlbmRlclByZXZpZXcoKX1vblRpbGVNb3VzZUVudGVyKCl7dGhpcy5pc0hvdmVyaW5nPSEwfW9uVGlsZU1vdXNlTGVhdmUoKXt0aGlzLmlzSG92ZXJpbmc9ITEsdGhpcy5jdXJyZW50UHJldmlld1BhZ2UhPT0xJiYodGhpcy5jdXJyZW50UHJldmlld1BhZ2U9MSx0aGlzLnNjaGVkdWxlUmVuZGVyUGFnZXMoKSl9b25UaWxlTW91c2VNb3ZlKE0pe2lmKCF0aGlzLmlzSG92ZXJpbmd8fHRoaXMucGFnZUNvdW50PD0xKXJldHVybjtsZXQgUz10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEU9TS5jbGllbnRYLVMubGVmdCxBPVMud2lkdGgsRj1NYXRoLm1heCgwLE1hdGgubWluKDEsRS9BKSksVz1NYXRoLmNlaWwoRip0aGlzLnBhZ2VDb3VudCl8fDE7VyE9PXRoaXMuY3VycmVudFByZXZpZXdQYWdlJiYodGhpcy5jdXJyZW50UHJldmlld1BhZ2U9Vyx0aGlzLnNjaGVkdWxlUmVuZGVyUGFnZXMoKSl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5jYWNoZUVsZW1lbnRzKCksdGhpcy5zZXR1cFJlc2l6ZU9ic2VydmVyKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuY2xlYW51cCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPXZvaWQgMH1hc3luYyBsb2FkQW5kUmVuZGVyUHJldmlldygpe2lmKCEodGhpcy5yZW5kZXJlZHx8dGhpcy5sb2FkaW5nKSl7dGhpcy5sb2FkaW5nPSEwLHRoaXMuZXJyb3I9ITEsWG0ubWFyayhgcHJldmlldy1sb2FkLSR7dGhpcy5wZGZVcmx9YCk7dHJ5e3RoaXMucGRmRG9jdW1lbnQ9YXdhaXQgbGwubG9hZERvY3VtZW50KHRoaXMucGRmVXJsKSx0aGlzLnBhZ2VDb3VudD10aGlzLnBkZkRvY3VtZW50Lm51bVBhZ2VzLHRoaXMuY3VycmVudFByZXZpZXdQYWdlPTE7dHJ5e2xldCBTPWF3YWl0IHRoaXMucGRmRG9jdW1lbnQuZ2V0RG93bmxvYWRJbmZvKCk7dGhpcy5maWxlU2l6ZT1TLmxlbmd0aH1jYXRjaHt9dGhpcy5sb2FkZWRQZGZVcmw9dGhpcy5wZGZVcmwsdGhpcy5sb2FkaW5nPSExLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5jYWNoZUVsZW1lbnRzKCksYXdhaXQgdGhpcy5zY2hlZHVsZVJlbmRlclBhZ2VzKCksdGhpcy5yZW5kZXJlZD0hMDtsZXQgTT1YbS5tZWFzdXJlKGBwcmV2aWV3LXJlbmRlci0ke3RoaXMucGRmVXJsfWAsYHByZXZpZXctbG9hZC0ke3RoaXMucGRmVXJsfWApO2NvbnNvbGUubG9nKGBQREYgdGlsZSByZW5kZXJlZCBpbiAke019bXNgKX1jYXRjaChNKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gbG9hZCBQREYgdGlsZToiLE0pLHRoaXMuZXJyb3I9ITAsdGhpcy5sb2FkaW5nPSExfX19c2NoZWR1bGVSZW5kZXJQYWdlcygpe3JldHVybiB0aGlzLnBkZkRvY3VtZW50P3RoaXMucmVuZGVyUGFnZXNUYXNrPyh0aGlzLnJlbmRlclBhZ2VzUXVldWVkPSEwLHRoaXMucmVuZGVyUGFnZXNUYXNrKToodGhpcy5yZW5kZXJQYWdlc1Rhc2s9KGFzeW5jKCk9Pnt0cnl7YXdhaXQgdGhpcy5wZXJmb3JtUmVuZGVyUGFnZXMoKX1jYXRjaChNKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gcmVuZGVyIFBERiB0aWxlIHBhZ2VzOiIsTSl9fSkoKS5maW5hbGx5KCgpPT57dGhpcy5yZW5kZXJQYWdlc1Rhc2s9bnVsbCx0aGlzLnJlbmRlclBhZ2VzUXVldWVkJiYodGhpcy5yZW5kZXJQYWdlc1F1ZXVlZD0hMSx0aGlzLnNjaGVkdWxlUmVuZGVyUGFnZXMoKSl9KSx0aGlzLnJlbmRlclBhZ2VzVGFzayk6UHJvbWlzZS5yZXNvbHZlKCl9YXN5bmMgcGVyZm9ybVJlbmRlclBhZ2VzKCl7aWYoIXRoaXMucGRmRG9jdW1lbnQpcmV0dXJuO2F3YWl0IG5ldyBQcm9taXNlKEE9PnJlcXVlc3RBbmltYXRpb25GcmFtZShBKSk7bGV0IE09dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIucHJldmlldy1jYW52YXMiKTtpZighTSlyZXR1cm47dGhpcy5jbGVhckNhbnZhc2VzKCksdGhpcy5jYWNoZUVsZW1lbnRzKCk7bGV0e2F2YWlsYWJsZVdpZHRoOlMsYXZhaWxhYmxlSGVpZ2h0OkV9PXRoaXMuZ2V0QXZhaWxhYmxlU2l6ZSgpO3RyeXtsZXQgQT10aGlzLmN1cnJlbnRQcmV2aWV3UGFnZSxGPWF3YWl0IHRoaXMucGRmRG9jdW1lbnQuZ2V0UGFnZShBKSxXPUYuZ2V0Vmlld3BvcnQoe3NjYWxlOjF9KSxqPVcuaGVpZ2h0L1cud2lkdGgsRz0xLjQxNCxoZT0uNzA3LFI9MS4yOTQsVT0uNzczLG1lPS4wNSxJPU1hdGguYWJzKGotRyk8RyptZSxxPU1hdGguYWJzKGotaGUpPGhlKm1lLGNlPU1hdGguYWJzKGotUik8UiptZSx1ZT1NYXRoLmFicyhqLVUpPFUqbWU7dGhpcy5pc0E0Rm9ybWF0PUl8fHF8fGNlfHx1ZTtsZXQgWT10aGlzLmlzQTRGb3JtYXQ/UzpTLTI0LFE9dGhpcy5pc0E0Rm9ybWF0P0U6RS0yNCxKPVk+MD9ZL1cud2lkdGg6MCxaPVE+MD9RL1cuaGVpZ2h0OjAsZ2U9TWF0aC5taW4oSnx8LjUsWnx8Snx8LjUpLGFlPU1hdGgubWluKGdlKjIsMyk7aWYoIU51bWJlci5pc0Zpbml0ZShhZSl8fGFlPD0wKXtGLmNsZWFudXA/LigpO3JldHVybn1sZXQgcmU9Ri5nZXRWaWV3cG9ydCh7c2NhbGU6YWV9KSx5ZT1abS5hY3F1aXJlKHJlLndpZHRoLHJlLmhlaWdodCk7dGhpcy5jYW52YXNlcy5wdXNoKHllKTtsZXQgVj17Y2FudmFzQ29udGV4dDp5ZS5jdHgsdmlld3BvcnQ6cmV9O2F3YWl0IEYucmVuZGVyKFYpLnByb21pc2UsTS53aWR0aD1yZS53aWR0aCxNLmhlaWdodD1yZS5oZWlnaHQ7bGV0IEg9WSxvZT1yZS5oZWlnaHQvcmUud2lkdGgqWTtpZihvZT5RKXtsZXQgdGU9USx6ZT1yZS53aWR0aC9yZS5oZWlnaHQqUTtNLnN0eWxlLndpZHRoPWAke3plfXB4YCxNLnN0eWxlLmhlaWdodD1gJHt0ZX1weGB9ZWxzZSBNLnN0eWxlLndpZHRoPWAke0h9cHhgLE0uc3R5bGUuaGVpZ2h0PWAke29lfXB4YDtsZXQgc2U9TS5nZXRDb250ZXh0KCIyZCIpO3NlJiYoc2UuaW1hZ2VTbW9vdGhpbmdFbmFibGVkPSEwLHNlLmltYWdlU21vb3RoaW5nUXVhbGl0eT0iaGlnaCIsc2UuZHJhd0ltYWdlKHllLmNhbnZhcywwLDApKSxGLmNsZWFudXAoKX1jYXRjaChBKXtjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gcmVuZGVyIHBhZ2UgJHt0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZX06YCxBKX19Y2xlYXJDYW52YXNlcygpe2ZvcihsZXQgTSBvZiB0aGlzLmNhbnZhc2VzKVptLnJlbGVhc2UoTSk7dGhpcy5jYW52YXNlcz1bXX1jbGVhbnVwKCl7dGhpcy5jbGVhckNhbnZhc2VzKCksdGhpcy5wZGZEb2N1bWVudCYmKGxsLnJlbGVhc2VEb2N1bWVudCh0aGlzLmxvYWRlZFBkZlVybD8/dGhpcy5wZGZVcmwpLHRoaXMucGRmRG9jdW1lbnQ9bnVsbCksdGhpcy5yZW5kZXJQYWdlc1F1ZXVlZD0hMSx0aGlzLnBhZ2VDb3VudD0wLHRoaXMuY3VycmVudFByZXZpZXdQYWdlPTEsdGhpcy5pc0hvdmVyaW5nPSExLHRoaXMuaXNBNEZvcm1hdD0hMCx0aGlzLnN0YWNrRWxlbWVudD1udWxsLHRoaXMubG9hZGVkUGRmVXJsPW51bGwsdGhpcy5yZW5kZXJlZD0hMSx0aGlzLmxvYWRpbmc9ITEsdGhpcy5lcnJvcj0hMX1hc3luYyB1cGRhdGVkKE0pe2lmKHN1cGVyLnVwZGF0ZWQoTSksTS5oYXMoInBkZlVybCIpJiZ0aGlzLnBkZlVybCl7bGV0IFM9TS5nZXQoInBkZlVybCIpO1MmJmxsLnJlbGVhc2VEb2N1bWVudChTKSx0aGlzLmNsZWFudXAoKSx0aGlzLnJlbmRlcmVkPSExLHRoaXMuY3VycmVudFByZXZpZXdQYWdlPTE7bGV0IEU9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtFLnRvcDx3aW5kb3cuaW5uZXJIZWlnaHQmJkUuYm90dG9tPjAmJnRoaXMubG9hZEFuZFJlbmRlclByZXZpZXcoKX1NLmhhcygiY3VycmVudFByZXZpZXdQYWdlIikmJnRoaXMucmVuZGVyZWQmJmF3YWl0IHRoaXMuc2NoZWR1bGVSZW5kZXJQYWdlcygpfWdldENvbnRleHRNZW51SXRlbXMoKXtsZXQgTT1bXTtyZXR1cm4gdGhpcy5jbGlja2FibGUmJihNLnB1c2goe25hbWU6IlZpZXcgUERGIixpY29uTmFtZToibHVjaWRlOkV5ZSIsYWN0aW9uOnMoYXN5bmMoKT0+e3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRpbGUtY2xpY2siLHtkZXRhaWw6dGhpcy5nZXRUaWxlQ2xpY2tEZXRhaWwoKSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfSwiYWN0aW9uIil9KSxNLnB1c2goe2RpdmlkZXI6ITB9KSksTS5wdXNoKHtuYW1lOiJPcGVuIFBERiBpbiBOZXcgVGFiIixpY29uTmFtZToibHVjaWRlOkV4dGVybmFsTGluayIsYWN0aW9uOnMoYXN5bmMoKT0+e3dpbmRvdy5vcGVuKHRoaXMucGRmVXJsLCJfYmxhbmsiKX0sImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkNvcHkgUERGIFVSTCIsaWNvbk5hbWU6Imx1Y2lkZTpDb3B5IixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGhpcy5wZGZVcmwpfSwiYWN0aW9uIil9LHtuYW1lOiJEb3dubG9hZCBQREYiLGljb25OYW1lOiJsdWNpZGU6RG93bmxvYWQiLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgUz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Uy5ocmVmPXRoaXMucGRmVXJsLFMuZG93bmxvYWQ9dGhpcy5wZGZVcmwuc3BsaXQoIi8iKS5wb3AoKXx8ImRvY3VtZW50LnBkZiIsUy5jbGljaygpfSwiYWN0aW9uIil9KSx0aGlzLnBhZ2VDb3VudD4wJiZNLnB1c2goe2RpdmlkZXI6ITB9LHtuYW1lOmAke3RoaXMucGFnZUNvdW50fSBwYWdlJHt0aGlzLnBhZ2VDb3VudD4xPyJzIjoiIn1gLGljb25OYW1lOiJsdWNpZGU6RmlsZVRleHQiLGRpc2FibGVkOiEwLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKX0pLE19Y2FjaGVFbGVtZW50cygpe3RoaXMuc3RhY2tFbGVtZW50fHwodGhpcy5zdGFja0VsZW1lbnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIucHJldmlldy1zdGFjayIpKX1zZXR1cFJlc2l6ZU9ic2VydmVyKCl7dGhpcy5yZXNpemVPYnNlcnZlcnx8KHRoaXMucmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKCgpPT57dGhpcy5yZW5kZXJlZCYmdGhpcy5wZGZEb2N1bWVudCYmIXRoaXMubG9hZGluZyYmdGhpcy5zY2hlZHVsZVJlbmRlclBhZ2VzKCl9KSx0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcykpfWdldEF2YWlsYWJsZVNpemUoKXtpZih0aGlzLnN0YWNrRWxlbWVudHx8KHRoaXMuc3RhY2tFbGVtZW50PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnByZXZpZXctc3RhY2siKSksIXRoaXMuc3RhY2tFbGVtZW50KXJldHVybnthdmFpbGFibGVXaWR0aDoyMDAsYXZhaWxhYmxlSGVpZ2h0OjI2MH07bGV0IE09dGhpcy5zdGFja0VsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksUz1NYXRoLm1heChNLndpZHRoLDApfHwyMDAsRT1NYXRoLm1heChNLmhlaWdodCwwKXx8MjYwO3JldHVybnthdmFpbGFibGVXaWR0aDpTLGF2YWlsYWJsZUhlaWdodDpFfX1zdGF0aWN7Y28ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIGozYT1mKCgpPT57VjNhKCl9KTt2YXIgVTNhLFczYT1mKCgpPT57bGUoKTtVM2E9cygoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBwYWRkaW5nOiA0MHB4OwogICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1OwogICAgfQogICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICB9CiAgICBoMyB7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIH0KICAgIC50aWxlLXJvdyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogMjRweDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgIH0KICA8L3N0eWxlPgoKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+SW1hZ2UgVGlsZXM8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWltYWdlCiAgICAgICAgICBzcmM9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy84MDAvNjAwIgogICAgICAgICAgYWx0PSJMYW5kc2NhcGUgcGhvdG8iCiAgICAgICAgICBsYWJlbD0ibGFuZHNjYXBlLmpwZyIKICAgICAgICAgIEB0aWxlLWNsaWNrPSR7YT0+Y29uc29sZS5sb2coIkltYWdlIGNsaWNrZWQ6IixhLmRldGFpbCl9CiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtaW1hZ2U+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1pbWFnZQogICAgICAgICAgc3JjPSJodHRwczovL3BpY3N1bS5waG90b3MvNDAwLzQwMCIKICAgICAgICAgIGFsdD0iU3F1YXJlIHBob3RvIgogICAgICAgICAgbGFiZWw9InNxdWFyZS5wbmciCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtaW1hZ2U+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1pbWFnZQogICAgICAgICAgc3JjPSJodHRwczovL3BpY3N1bS5waG90b3MvMzAwLzkwMCIKICAgICAgICAgIGFsdD0iUG9ydHJhaXQgcGhvdG8iCiAgICAgICAgICBsYWJlbD0icG9ydHJhaXQud2VicCIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1pbWFnZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+U2l6ZSBWYXJpYW50czwvaDM+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICA8ZGVlcy10aHVtYm5haWwtaW1hZ2UKICAgICAgICAgIHNpemU9InNtYWxsIgogICAgICAgICAgc3JjPSJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMCIKICAgICAgICAgIGFsdD0iU21hbGwiCiAgICAgICAgICBsYWJlbD0ic21hbGwuanBnIgogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWltYWdlPgoKICAgICAgICA8ZGVlcy10aHVtYm5haWwtaW1hZ2UKICAgICAgICAgIHNyYz0iaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzYwMC80MDAiCiAgICAgICAgICBhbHQ9IkRlZmF1bHQiCiAgICAgICAgICBsYWJlbD0iZGVmYXVsdC5qcGciCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtaW1hZ2U+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1pbWFnZQogICAgICAgICAgc2l6ZT0ibGFyZ2UiCiAgICAgICAgICBzcmM9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8xMjAwLzgwMCIKICAgICAgICAgIGFsdD0iTGFyZ2UiCiAgICAgICAgICBsYWJlbD0ibGFyZ2UuanBnIgogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWltYWdlPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5FcnJvciBTdGF0ZSAoYnJva2VuIFVSTCk8L2gzPgogICAgICA8ZGVlcy10aHVtYm5haWwtaW1hZ2UKICAgICAgICBzcmM9Imh0dHBzOi8vaW52YWxpZC11cmwtdGhhdC1kb2VzLW5vdC1leGlzdC5leGFtcGxlL2ltYWdlLnBuZyIKICAgICAgICBhbHQ9IkJyb2tlbiIKICAgICAgICBsYWJlbD0iYnJva2VuLnBuZyIKICAgICAgPjwvZGVlcy10aHVtYm5haWwtaW1hZ2U+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtbyIpfSk7dmFyIFFtLEcxLEczYSxZM2E9ZigoKT0+e2xlKCk7TzQoKTtBYygpO1czYSgpO1FtPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxHMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sRzNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy10aHVtYm5haWwtaW1hZ2UiKV0sZSx0PVtdLHIsaT1sbyxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1RodW1ibmFpbEltYWdlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bSygpXSx4PVtLKCldLHk9W0soKV0sUW0odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzcmMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNyYyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNyYywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNyYz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksUW0odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhbHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImFsdCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmFsdCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmFsdD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCksUW0odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbWFnZUxvYWRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iaW1hZ2VMb2FkZWQiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5pbWFnZUxvYWRlZCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmltYWdlTG9hZGVkPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxRbSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImltYWdlV2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImltYWdlV2lkdGgiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5pbWFnZVdpZHRoLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouaW1hZ2VXaWR0aD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksUW0odGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbWFnZUhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iaW1hZ2VIZWlnaHQiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5pbWFnZUhlaWdodCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmltYWdlSGVpZ2h0PU99LCJzZXQiKX0sbWV0YWRhdGE6X30sayxDKSxRbShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLHQpLE49cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBkZW1vPVUzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07c3RhdGljIHN0eWxlcz1bLi4uQmksWGAKICAgICAgLmltYWdlLXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJlcGVhdGluZy1jb25pYy1ncmFkaWVudCgjZThlOGU4IDAlIDI1JSwgd2hpdGUgMCUgNTAlKSA1MCUgLyAxNnB4IDE2cHgiLCJyZXBlYXRpbmctY29uaWMtZ3JhZGllbnQoaHNsKDIxNSAyMCUgMTglKSAwJSAyNSUsIGhzbCgyMTUgMjAlIDE0JSkgMCUgNTAlKSA1MCUgLyAxNnB4IDE2cHgiKX07CiAgICAgIH0KCiAgICAgIC5pbWFnZS13cmFwcGVyIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOwogICAgICB9CgogICAgICAuaW1hZ2Utd3JhcHBlciBpbWcubG9hZGVkIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuaW1hZ2Utd3JhcHBlciBpbWcubG9hZGluZyB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQoKICAgIGBdOyNlPUcxKHRoaXMsbiwiIik7Z2V0IHNyYygpe3JldHVybiB0aGlzLiNlfXNldCBzcmMoXyl7dGhpcy4jZT1ffSN0PShHMSh0aGlzLGwpLEcxKHRoaXMsYywiIikpO2dldCBhbHQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYWx0KF8pe3RoaXMuI3Q9X30jYT0oRzEodGhpcyxwKSxHMSh0aGlzLG0sITEpKTtnZXQgaW1hZ2VMb2FkZWQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgaW1hZ2VMb2FkZWQoXyl7dGhpcy4jYT1ffSNyPShHMSh0aGlzLHYpLEcxKHRoaXMsYiwwKSk7Z2V0IGltYWdlV2lkdGgoKXtyZXR1cm4gdGhpcy4jcn1zZXQgaW1hZ2VXaWR0aChfKXt0aGlzLiNyPV99I3M9KEcxKHRoaXMsZyksRzEodGhpcyxrLDApKTtnZXQgaW1hZ2VIZWlnaHQoKXtyZXR1cm4gdGhpcy4jc31zZXQgaW1hZ2VIZWlnaHQoXyl7dGhpcy4jcz1ffWhhc1N0YXJ0ZWRMb2FkaW5nPShHMSh0aGlzLEMpLCExKTtyZW5kZXJUaWxlQ29udGVudCgpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbWFnZS13cmFwcGVyIj4KICAgICAgICAke3RoaXMuaGFzU3RhcnRlZExvYWRpbmc/d2AKICAgICAgICAgIDxpbWcKICAgICAgICAgICAgY2xhc3M9IiR7dGhpcy5pbWFnZUxvYWRlZD8ibG9hZGVkIjoibG9hZGluZyJ9IgogICAgICAgICAgICBzcmM9IiR7dGhpcy5zcmN9IgogICAgICAgICAgICBhbHQ9IiR7dGhpcy5hbHR9IgogICAgICAgICAgICBAbG9hZD0ke3RoaXMuaGFuZGxlSW1hZ2VMb2FkfQogICAgICAgICAgICBAZXJyb3I9JHt0aGlzLmhhbmRsZUltYWdlRXJyb3J9CiAgICAgICAgICAvPgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgoKICAgICAgJHt0aGlzLmNsaWNrYWJsZT93YAogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtb3ZlcmxheSI+CiAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpFeWUiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+VmlldyBJbWFnZTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgIGB9cmVuZGVyQm90dG9tQmFyKCl7cmV0dXJuIXRoaXMubGFiZWwmJiEodGhpcy5pbWFnZVdpZHRoPjApPyIiOndgCiAgICAgIDxkaXYgY2xhc3M9InRpbGUtaW5mby1iYXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIiB0aXRsZT0iJHt0aGlzLmxhYmVsfSI+JHt0aGlzLmxhYmVsfTwvc3Bhbj5gOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXNwYWNlciI+PC9zcGFuPgogICAgICAgICR7dGhpcy5pbWFnZVdpZHRoPjAmJnRoaXMuaW1hZ2VIZWlnaHQ+MD93YDxzcGFuIGNsYXNzPSJpbmZvLWRldGFpbCI+JHt0aGlzLmltYWdlV2lkdGh9IMOXICR7dGhpcy5pbWFnZUhlaWdodH08L3NwYW4+YDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWdldFRpbGVDbGlja0RldGFpbCgpe3JldHVybntzcmM6dGhpcy5zcmMsYWx0OnRoaXMuYWx0LHdpZHRoOnRoaXMuaW1hZ2VXaWR0aCxoZWlnaHQ6dGhpcy5pbWFnZUhlaWdodH19b25CZWNhbWVWaXNpYmxlKCl7IXRoaXMuaGFzU3RhcnRlZExvYWRpbmcmJnRoaXMuc3JjJiYodGhpcy5oYXNTdGFydGVkTG9hZGluZz0hMCx0aGlzLmxvYWRpbmc9ITAsdGhpcy5yZXF1ZXN0VXBkYXRlKCkpfWhhbmRsZUltYWdlTG9hZChfKXtsZXQgej1fLnRhcmdldDt0aGlzLmltYWdlV2lkdGg9ei5uYXR1cmFsV2lkdGgsdGhpcy5pbWFnZUhlaWdodD16Lm5hdHVyYWxIZWlnaHQsdGhpcy5pbWFnZUxvYWRlZD0hMCx0aGlzLmxvYWRpbmc9ITF9aGFuZGxlSW1hZ2VFcnJvcigpe3RoaXMuZXJyb3I9ITAsdGhpcy5sb2FkaW5nPSExfWFzeW5jIHVwZGF0ZWQoXyl7c3VwZXIudXBkYXRlZChfKSxfLmhhcygic3JjIikmJnRoaXMuc3JjJiZ0aGlzLmlzVmlzaWJsZSYmKHRoaXMuaGFzU3RhcnRlZExvYWRpbmc9ITAsdGhpcy5pbWFnZUxvYWRlZD0hMSx0aGlzLmxvYWRpbmc9ITApfXN0YXRpY3tHMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgSzNhPWYoKCk9PntZM2EoKX0pO3ZhciBaM2EsWDNhPWYoKCk9PntsZSgpO1ozYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICB9CiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgIH0KICAgIGgzIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgfQogICAgLnRpbGUtcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAyNHB4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5BdWRpbyBUaWxlczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICA8ZGVlcy10aHVtYm5haWwtYXVkaW8KICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0xLm1wMyIKICAgICAgICAgIHRpdGxlPSJTb3VuZEhlbGl4IFNvbmcgMSIKICAgICAgICAgIGFydGlzdD0iVC4gU2NodWVyZ2VyIgogICAgICAgICAgbGFiZWw9InNvdW5kaGVsaXgtMS5tcDMiCiAgICAgICAgICBAdGlsZS1jbGljaz0ke2E9PmNvbnNvbGUubG9nKCJBdWRpbyBjbGlja2VkOiIsYS5kZXRhaWwpfQogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWF1ZGlvPgoKICAgICAgICA8ZGVlcy10aHVtYm5haWwtYXVkaW8KICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0yLm1wMyIKICAgICAgICAgIHRpdGxlPSJTb3VuZEhlbGl4IFNvbmcgMiIKICAgICAgICAgIGFydGlzdD0iVC4gU2NodWVyZ2VyIgogICAgICAgICAgbGFiZWw9InNvdW5kaGVsaXgtMi5tcDMiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtYXVkaW8+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1hdWRpbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTMubXAzIgogICAgICAgICAgdGl0bGU9IlNvdW5kSGVsaXggU29uZyAzIgogICAgICAgICAgbGFiZWw9InNvdW5kaGVsaXgtMy5tcDMiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtYXVkaW8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPlNpemUgVmFyaWFudHM8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWF1ZGlvCiAgICAgICAgICBzaXplPSJzbWFsbCIKICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0xLm1wMyIKICAgICAgICAgIHRpdGxlPSJTbWFsbCIKICAgICAgICAgIGxhYmVsPSJzbWFsbC5tcDMiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtYXVkaW8+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1hdWRpbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTEubXAzIgogICAgICAgICAgdGl0bGU9IkRlZmF1bHQiCiAgICAgICAgICBsYWJlbD0iZGVmYXVsdC5tcDMiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtYXVkaW8+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1hdWRpbwogICAgICAgICAgc2l6ZT0ibGFyZ2UiCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMS5tcDMiCiAgICAgICAgICB0aXRsZT0iTGFyZ2UiCiAgICAgICAgICBsYWJlbD0ibGFyZ2UubXAzIgogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWF1ZGlvPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vIil9KTt2YXIgQjQsdW8sUTNhLEozYT1mKCgpPT57bGUoKTtPNCgpO0FjKCk7WDNhKCk7QjQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHVvPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxRM2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRodW1ibmFpbC1hdWRpbyIpXSxlLHQ9W10scixpPWxvLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxQPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVGh1bWJuYWlsQXVkaW8iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVtLKCldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEI0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzcmMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zcmMsImdldCIpLHNldDpzKChTLEUpPT57Uy5zcmM9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxuLGwpLEI0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InRpdGxlImluIFMsImhhcyIpLGdldDpzKFM9PlMudGl0bGUsImdldCIpLHNldDpzKChTLEUpPT57Uy50aXRsZT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGMscCksQjQodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcnRpc3QiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImFydGlzdCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmFydGlzdCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLmFydGlzdD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksQjQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkdXJhdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iZHVyYXRpb24iaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5kdXJhdGlvbiwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLmR1cmF0aW9uPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixnKSxCNCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndhdmVmb3JtRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4id2F2ZWZvcm1EYXRhImluIFMsImhhcyIpLGdldDpzKFM9PlMud2F2ZWZvcm1EYXRhLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1Mud2F2ZWZvcm1EYXRhPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxCNCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndhdmVmb3JtUmVhZHkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+IndhdmVmb3JtUmVhZHkiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy53YXZlZm9ybVJlYWR5LCJnZXQiKSxzZXQ6cygoUyxFKT0+e1Mud2F2ZWZvcm1SZWFkeT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LF8seiksQjQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1ByZXZpZXdQbGF5aW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJpc1ByZXZpZXdQbGF5aW5nImluIFMsImhhcyIpLGdldDpzKFM9PlMuaXNQcmV2aWV3UGxheWluZywiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLmlzUHJldmlld1BsYXlpbmc9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxULFApLEI0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89WjNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiXTtzdGF0aWMgc3R5bGVzPVsuLi5CaSxYYAogICAgICAuYXVkaW8tY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGhzbCgyNTAgNDAlIDk2JSksIGhzbCgyODAgMzAlIDk0JSkpIiwibGluZWFyLWdyYWRpZW50KDEzNWRlZywgaHNsKDI1MCAzMCUgMTYlKSwgaHNsKDI4MCAyNSUgMTQlKSkiKX07CiAgICAgIH0KCiAgICAgIC5tdXNpYy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDQ4cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjUwIDYwJSA2NSUpIiwiaHNsKDI1MCA2MCUgNzAlKSIpfTsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KCiAgICAgIC5hdWRpby10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjUwIDIwJSAzNSUpIiwiaHNsKDI1MCAyMCUgODAlKSIpfTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5hdWRpby1hcnRpc3QgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDI1MCAxNSUgNTAlKSIsImhzbCgyNTAgMTUlIDY1JSkiKX07CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBtYXJnaW4tdG9wOiAtMTJweDsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAud2F2ZWZvcm0tY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzJweCk7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAud2F2ZWZvcm0tY29udGFpbmVyIGNhbnZhcyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgoKICAgICAgLnBsYXktb3ZlcmxheSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgICB6LWluZGV4OiAxODsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLnRpbGUtY29udGFpbmVyLmNsaWNrYWJsZTpob3ZlciAucGxheS1vdmVybGF5IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAucGxheS1jaXJjbGUgewogICAgICAgIHdpZHRoOiA0OHB4OwogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTsKICAgICAgfQoKICAgICAgLnBsYXktY2lyY2xlIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQogICAgYF07I2U9dW8odGhpcyxuLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhNKXt0aGlzLiNlPU19I3Q9KHVvKHRoaXMsbCksdW8odGhpcyxjLCIiKSk7Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHRpdGxlKE0pe3RoaXMuI3Q9TX0jYT0odW8odGhpcyxwKSx1byh0aGlzLG0sIiIpKTtnZXQgYXJ0aXN0KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGFydGlzdChNKXt0aGlzLiNhPU19I3I9KHVvKHRoaXMsdiksdW8odGhpcyxiLDApKTtnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy4jcn1zZXQgZHVyYXRpb24oTSl7dGhpcy4jcj1NfSNzPSh1byh0aGlzLGcpLHVvKHRoaXMsayxbXSkpO2dldCB3YXZlZm9ybURhdGEoKXtyZXR1cm4gdGhpcy4jc31zZXQgd2F2ZWZvcm1EYXRhKE0pe3RoaXMuI3M9TX0jaT0odW8odGhpcyxDKSx1byh0aGlzLF8sITEpKTtnZXQgd2F2ZWZvcm1SZWFkeSgpe3JldHVybiB0aGlzLiNpfXNldCB3YXZlZm9ybVJlYWR5KE0pe3RoaXMuI2k9TX0jbz0odW8odGhpcyx6KSx1byh0aGlzLFQsITEpKTtnZXQgaXNQcmV2aWV3UGxheWluZygpe3JldHVybiB0aGlzLiNvfXNldCBpc1ByZXZpZXdQbGF5aW5nKE0pe3RoaXMuI289TX1hdWRpb0VsZW1lbnQ9KHVvKHRoaXMsUCksbnVsbCk7cHJldmlld1RpbWVvdXQ9bnVsbDtoYXNMb2FkZWRXYXZlZm9ybT0hMTtyZW5kZXJUaWxlQ29udGVudCgpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJhdWRpby1jb250ZW50Ij4KICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJtdXNpYy1pY29uIiBpY29uPSJsdWNpZGU6TXVzaWMiPjwvZGVlcy1pY29uPgoKICAgICAgICAke3RoaXMudGl0bGU/d2A8ZGl2IGNsYXNzPSJhdWRpby10aXRsZSI+JHt0aGlzLnRpdGxlfTwvZGl2PmA6IiJ9CiAgICAgICAgJHt0aGlzLmFydGlzdD93YDxkaXYgY2xhc3M9ImF1ZGlvLWFydGlzdCI+JHt0aGlzLmFydGlzdH08L2Rpdj5gOiIifQoKICAgICAgICAke3RoaXMud2F2ZWZvcm1SZWFkeT93YAogICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZWZvcm0tY29udGFpbmVyIj4KICAgICAgICAgICAgPGNhbnZhcz48L2NhbnZhcz4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0icGxheS1vdmVybGF5Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGF5LWNpcmNsZSI+CiAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpQbGF5Ij48L2RlZXMtaWNvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuY2xpY2thYmxlP3dgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdmVybGF5Ij4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkhlYWRwaG9uZXMiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+UGxheSBBdWRpbzwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgIGB9cmVuZGVyQm90dG9tQmFyKCl7cmV0dXJuIXRoaXMubGFiZWwmJiF0aGlzLmR1cmF0aW9uPyIiOndgCiAgICAgIDxkaXYgY2xhc3M9InRpbGUtaW5mby1iYXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIiB0aXRsZT0iJHt0aGlzLmxhYmVsfSI+JHt0aGlzLmxhYmVsfTwvc3Bhbj5gOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXNwYWNlciI+PC9zcGFuPgogICAgICAgICR7dGhpcy5kdXJhdGlvbj4wP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke3RoaXMuZm9ybWF0VGltZSh0aGlzLmR1cmF0aW9uKX08L3NwYW4+YDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWdldFRpbGVDbGlja0RldGFpbCgpe3JldHVybntzcmM6dGhpcy5zcmMsdGl0bGU6dGhpcy50aXRsZSxhcnRpc3Q6dGhpcy5hcnRpc3QsZHVyYXRpb246dGhpcy5kdXJhdGlvbn19b25CZWNhbWVWaXNpYmxlKCl7IXRoaXMuaGFzTG9hZGVkV2F2ZWZvcm0mJnRoaXMuc3JjJiYodGhpcy5oYXNMb2FkZWRXYXZlZm9ybT0hMCx0aGlzLmxvYWRBdWRpb01ldGEoKSl9YXN5bmMgbG9hZEF1ZGlvTWV0YSgpe3RoaXMubG9hZGluZz0hMDt0cnl7bGV0IE09bmV3IEF1ZGlvO00uY3Jvc3NPcmlnaW49ImFub255bW91cyIsTS5wcmVsb2FkPSJtZXRhZGF0YSIsYXdhaXQgbmV3IFByb21pc2UoKFMsRSk9PntNLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRhIiwoKT0+e3RoaXMuZHVyYXRpb249TS5kdXJhdGlvbixTKCl9LHtvbmNlOiEwfSksTS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PkUobmV3IEVycm9yKCJGYWlsZWQgdG8gbG9hZCBhdWRpbyIpKSx7b25jZTohMH0pLE0uc3JjPXRoaXMuc3JjfSksYXdhaXQgdGhpcy5sb2FkV2F2ZWZvcm0oKSx0aGlzLmxvYWRpbmc9ITF9Y2F0Y2h7dGhpcy5sb2FkaW5nPSExfX1hc3luYyBsb2FkV2F2ZWZvcm0oKXt0cnl7bGV0IFM9YXdhaXQoYXdhaXQgZmV0Y2godGhpcy5zcmMpKS5hcnJheUJ1ZmZlcigpLEU9bmV3IEF1ZGlvQ29udGV4dCxGPShhd2FpdCBFLmRlY29kZUF1ZGlvRGF0YShTKSkuZ2V0Q2hhbm5lbERhdGEoMCksVz04MCxqPU1hdGguZmxvb3IoRi5sZW5ndGgvVyksRz1bXTtmb3IobGV0IFI9MDtSPFc7UisrKXtsZXQgVT0wO2ZvcihsZXQgbWU9MDttZTxqO21lKyspVSs9TWF0aC5hYnMoRltSKmorbWVdKTtHLnB1c2goVS9qKX1sZXQgaGU9TWF0aC5tYXgoLi4uRyk7dGhpcy53YXZlZm9ybURhdGE9Ry5tYXAoUj0+aGU+MD9SL2hlOjApLHRoaXMud2F2ZWZvcm1SZWFkeT0hMCxhd2FpdCBFLmNsb3NlKCksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLmRyYXdXYXZlZm9ybSgpfWNhdGNoe3RoaXMud2F2ZWZvcm1SZWFkeT0hMX19ZHJhd1dhdmVmb3JtKCl7aWYoIXRoaXMud2F2ZWZvcm1SZWFkeSlyZXR1cm47bGV0IE09dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIud2F2ZWZvcm0tY29udGFpbmVyIGNhbnZhcyIpO2lmKCFNKXJldHVybjtsZXQgUz1NLnBhcmVudEVsZW1lbnQsRT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSxBPVMuY2xpZW50V2lkdGgsRj1TLmNsaWVudEhlaWdodDtNLndpZHRoPUEqRSxNLmhlaWdodD1GKkU7bGV0IFc9TS5nZXRDb250ZXh0KCIyZCIpO2lmKCFXKXJldHVybjtXLnNjYWxlKEUsRSksVy5jbGVhclJlY3QoMCwwLEEsRik7bGV0IGo9dGhpcy53YXZlZm9ybURhdGEubGVuZ3RoO2lmKGo9PT0wKXJldHVybjtsZXQgRz1BL2osUj1kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygidGhlbWUtZGFyayIpfHx3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXM/ImhzbCgyNTAgNTAlIDYwJSkiOiJoc2woMjUwIDUwJSA3MCUpIjtXLmZpbGxTdHlsZT1SO2ZvcihsZXQgVT0wO1U8ajtVKyspe2xldCBtZT10aGlzLndhdmVmb3JtRGF0YVtVXSxJPU1hdGgubWF4KDIsbWUqKEYtNCkpLHE9VSpHLGNlPShGLUkpLzI7Vy5maWxsUmVjdChxKy41LGNlLEctMSxJKX19YXN5bmMgdXBkYXRlZChNKXtzdXBlci51cGRhdGVkKE0pLE0uaGFzKCJzcmMiKSYmdGhpcy5zcmMmJnRoaXMuaXNWaXNpYmxlJiYodGhpcy5oYXNMb2FkZWRXYXZlZm9ybT0hMCx0aGlzLndhdmVmb3JtUmVhZHk9ITEsdGhpcy5kdXJhdGlvbj0wLHRoaXMubG9hZEF1ZGlvTWV0YSgpKSxNLmhhcygid2F2ZWZvcm1SZWFkeSIpJiZ0aGlzLndhdmVmb3JtUmVhZHkmJihhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuZHJhd1dhdmVmb3JtKCkpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnByZXZpZXdUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5wcmV2aWV3VGltZW91dCksdGhpcy5hdWRpb0VsZW1lbnQmJih0aGlzLmF1ZGlvRWxlbWVudC5wYXVzZSgpLHRoaXMuYXVkaW9FbGVtZW50LnNyYz0iIix0aGlzLmF1ZGlvRWxlbWVudD1udWxsKX1mb3JtYXRUaW1lKE0pe2lmKCFpc0Zpbml0ZShNKXx8TTwwKXJldHVybiIwOjAwIjtsZXQgUz1NYXRoLmZsb29yKE0vNjApLEU9TWF0aC5mbG9vcihNJTYwKTtyZXR1cm5gJHtTfToke0UudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YH1zdGF0aWN7dW8ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIGVkYT1mKCgpPT57SjNhKCl9KTt2YXIgdGRhLGFkYT1mKCgpPT57bGUoKTt0ZGE9cygoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBwYWRkaW5nOiA0MHB4OwogICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1OwogICAgfQogICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICB9CiAgICBoMyB7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIH0KICAgIC50aWxlLXJvdyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogMjRweDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgIH0KICA8L3N0eWxlPgoKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+VmlkZW8gVGlsZXM8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLXZpZGVvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZfYmJiLm1wNCIKICAgICAgICAgIGxhYmVsPSJidW5ueS5tcDQiCiAgICAgICAgICBAdGlsZS1jbGljaz0ke2E9PmNvbnNvbGUubG9nKCJWaWRlbyBjbGlja2VkOiIsYS5kZXRhaWwpfQogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLXZpZGVvPgoKICAgICAgICA8ZGVlcy10aHVtYm5haWwtdmlkZW8KICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9odG1sL21vdmllLm1wNCIKICAgICAgICAgIHBvc3Rlcj0iaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzQwMC8zMDAiCiAgICAgICAgICBsYWJlbD0ibW92aWUubXA0IgogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLXZpZGVvPgoKICAgICAgICA8ZGVlcy10aHVtYm5haWwtdmlkZW8KICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9odG1sL21vdl9iYmIubXA0IgogICAgICAgICAgbGFiZWw9ImFub3RoZXItdmlkZW8ubXA0IgogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLXZpZGVvPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5TaXplIFZhcmlhbnRzPC9oMz4KICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgIDxkZWVzLXRodW1ibmFpbC12aWRlbwogICAgICAgICAgc2l6ZT0ic21hbGwiCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZfYmJiLm1wNCIKICAgICAgICAgIGxhYmVsPSJzbWFsbC5tcDQiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtdmlkZW8+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC12aWRlbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2h0bWwvbW92X2JiYi5tcDQiCiAgICAgICAgICBsYWJlbD0iZGVmYXVsdC5tcDQiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtdmlkZW8+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC12aWRlbwogICAgICAgICAgc2l6ZT0ibGFyZ2UiCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZfYmJiLm1wNCIKICAgICAgICAgIGxhYmVsPSJsYXJnZS5tcDQiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtdmlkZW8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPldpdGggUG9zdGVyIEltYWdlPC9oMz4KICAgICAgPGRlZXMtdGh1bWJuYWlsLXZpZGVvCiAgICAgICAgc3JjPSJodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2h0bWwvbW92aWUubXA0IgogICAgICAgIHBvc3Rlcj0iaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzYwMC80MDAiCiAgICAgICAgbGFiZWw9InBvc3Rlci12aWRlby5tcDQiCiAgICAgID48L2RlZXMtdGh1bWJuYWlsLXZpZGVvPgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW8iKX0pO3ZhciBKbSxZMSxyZGEsc2RhPWYoKCk9PntsZSgpO080KCk7QWMoKTthZGEoKTtKbT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sWTE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHJkYT0oKCk9PntsZXQgYT1baWUoImRlZXMtdGh1bWJuYWlsLXZpZGVvIildLGUsdD1bXSxyLGk9bG8sbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNUaHVtYm5haWxWaWRlbyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9W0soKV0seD1bSygpXSx5PVtLKCldLEptKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzcmMiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5zcmMsImdldCIpLHNldDpzKCh6LE8pPT57ei5zcmM9T30sInNldCIpfSxtZXRhZGF0YTpffSxuLGwpLEptKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJwb3N0ZXIiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5wb3N0ZXIsImdldCIpLHNldDpzKCh6LE8pPT57ei5wb3N0ZXI9T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLEptKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHVyYXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImR1cmF0aW9uImluIHosImhhcyIpLGdldDpzKHo9PnouZHVyYXRpb24sImdldCIpLHNldDpzKCh6LE8pPT57ei5kdXJhdGlvbj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksSm0odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aHVtYm5haWxDYXB0dXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4idGh1bWJuYWlsQ2FwdHVyZWQiaW4geiwiaGFzIiksZ2V0OnMoej0+ei50aHVtYm5haWxDYXB0dXJlZCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnRodW1ibmFpbENhcHR1cmVkPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSxKbSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzSG92ZXJpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImlzSG92ZXJpbmciaW4geiwiaGFzIiksZ2V0OnMoej0+ei5pc0hvdmVyaW5nLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouaXNIb3ZlcmluZz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksSm0obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz10ZGE7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdO3N0YXRpYyBzdHlsZXM9Wy4uLkJpLFhgCiAgICAgIC52aWRlby13cmFwcGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogIzAwMDsKICAgICAgfQoKICAgICAgLnZpZGVvLXdyYXBwZXIgdmlkZW8gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLnZpZGVvLXdyYXBwZXIgY2FudmFzIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5wb3N0ZXItaW1hZ2UgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKCiAgICAgIC5wbGF5LW92ZXJsYXkgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHotaW5kZXg6IDE1OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAucGxheS1vdmVybGF5IGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLnRpbGUtY29udGFpbmVyLmNsaWNrYWJsZTpob3ZlciAucGxheS1vdmVybGF5IHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAudmlkZW8taG92ZXItcHJldmlldyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICB6LWluZGV4OiA1OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC52aWRlby1ob3Zlci1wcmV2aWV3LmFjdGl2ZSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQogICAgYF07I2U9WTEodGhpcyxuLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhfKXt0aGlzLiNlPV99I3Q9KFkxKHRoaXMsbCksWTEodGhpcyxjLCIiKSk7Z2V0IHBvc3Rlcigpe3JldHVybiB0aGlzLiN0fXNldCBwb3N0ZXIoXyl7dGhpcy4jdD1ffSNhPShZMSh0aGlzLHApLFkxKHRoaXMsbSwwKSk7Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGR1cmF0aW9uKF8pe3RoaXMuI2E9X30jcj0oWTEodGhpcyx2KSxZMSh0aGlzLGIsITEpKTtnZXQgdGh1bWJuYWlsQ2FwdHVyZWQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdGh1bWJuYWlsQ2FwdHVyZWQoXyl7dGhpcy4jcj1ffSNzPShZMSh0aGlzLGcpLFkxKHRoaXMsaywhMSkpO2dldCBpc0hvdmVyaW5nKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGlzSG92ZXJpbmcoXyl7dGhpcy4jcz1ffXRodW1ibmFpbENhbnZhcz0oWTEodGhpcyxDKSxudWxsKTtob3ZlclZpZGVvPW51bGw7aGFzU3RhcnRlZExvYWRpbmc9ITE7cmVuZGVyVGlsZUNvbnRlbnQoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0idmlkZW8td3JhcHBlciI+CiAgICAgICAgJHt0aGlzLnBvc3Rlcj93YAogICAgICAgICAgPGltZyBjbGFzcz0icG9zdGVyLWltYWdlIiBzcmM9IiR7dGhpcy5wb3N0ZXJ9IiBhbHQ9IiIgLz4KICAgICAgICBgOnRoaXMudGh1bWJuYWlsQ2FwdHVyZWQ/d2AKICAgICAgICAgIDxjYW52YXM+PC9jYW52YXM+CiAgICAgICAgYDp3YAogICAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZDogIzAwMDsiPjwvZGl2PgogICAgICAgIGB9CgogICAgICAgICR7dGhpcy5pc0hvdmVyaW5nJiZ0aGlzLnNyYz93YAogICAgICAgICAgPHZpZGVvCiAgICAgICAgICAgIGNsYXNzPSJ2aWRlby1ob3Zlci1wcmV2aWV3ICR7dGhpcy5pc0hvdmVyaW5nPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgLnNyYz0ke3RoaXMuc3JjfQogICAgICAgICAgICBtdXRlZAogICAgICAgICAgICBwbGF5c2lubGluZQogICAgICAgICAgICBAbG9hZGVkZGF0YT0ke3RoaXMuaGFuZGxlSG92ZXJWaWRlb0xvYWRlZH0KICAgICAgICAgID48L3ZpZGVvPgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgoKICAgICAgJHt0aGlzLmlzSG92ZXJpbmc/IiI6d2AKICAgICAgICA8ZGl2IGNsYXNzPSJwbGF5LW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UGxheSI+PC9kZWVzLWljb24+CiAgICAgICAgPC9kaXY+CiAgICAgIGB9CgogICAgICAke3RoaXMuY2xpY2thYmxlP3dgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdmVybGF5Ij4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlBsYXkiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+UGxheSBWaWRlbzwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgIGB9cmVuZGVyQm90dG9tQmFyKCl7cmV0dXJuIXRoaXMubGFiZWwmJiF0aGlzLmR1cmF0aW9uPyIiOndgCiAgICAgIDxkaXYgY2xhc3M9InRpbGUtaW5mby1iYXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIiB0aXRsZT0iJHt0aGlzLmxhYmVsfSI+JHt0aGlzLmxhYmVsfTwvc3Bhbj5gOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXNwYWNlciI+PC9zcGFuPgogICAgICAgICR7dGhpcy5kdXJhdGlvbj4wP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke3RoaXMuZm9ybWF0VGltZSh0aGlzLmR1cmF0aW9uKX08L3NwYW4+YDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWdldFRpbGVDbGlja0RldGFpbCgpe3JldHVybntzcmM6dGhpcy5zcmMscG9zdGVyOnRoaXMucG9zdGVyLGR1cmF0aW9uOnRoaXMuZHVyYXRpb259fW9uQmVjYW1lVmlzaWJsZSgpeyF0aGlzLmhhc1N0YXJ0ZWRMb2FkaW5nJiZ0aGlzLnNyYyYmKHRoaXMuaGFzU3RhcnRlZExvYWRpbmc9ITAsdGhpcy5jYXB0dXJlRmlyc3RGcmFtZSgpKX1hc3luYyBjYXB0dXJlRmlyc3RGcmFtZSgpe2lmKHRoaXMucG9zdGVyKXt0aGlzLmxvYWREdXJhdGlvbigpO3JldHVybn10aGlzLmxvYWRpbmc9ITA7dHJ5e2xldCBfPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZpZGVvIik7Xy5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixfLm11dGVkPSEwLF8ucHJlbG9hZD0ibWV0YWRhdGEiLGF3YWl0IG5ldyBQcm9taXNlKCh6LE8pPT57Xy5hZGRFdmVudExpc3RlbmVyKCJsb2FkZWRkYXRhIiwoKT0+e3RoaXMuZHVyYXRpb249Xy5kdXJhdGlvbixfLmN1cnJlbnRUaW1lPS4xLF8uYWRkRXZlbnRMaXN0ZW5lcigic2Vla2VkIiwoKT0+e2xldCBUPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO1Qud2lkdGg9Xy52aWRlb1dpZHRoLFQuaGVpZ2h0PV8udmlkZW9IZWlnaHQ7bGV0IFA9VC5nZXRDb250ZXh0KCIyZCIpO1AmJihQLmRyYXdJbWFnZShfLDAsMCksdGhpcy50aHVtYm5haWxDYW52YXM9VCx0aGlzLnRodW1ibmFpbENhcHR1cmVkPSEwKSxfLnNyYz0iIixfLmxvYWQoKSx6KCl9LHtvbmNlOiEwfSl9LHtvbmNlOiEwfSksXy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pk8obmV3IEVycm9yKCJGYWlsZWQgdG8gbG9hZCB2aWRlbyIpKSx7b25jZTohMH0pLF8uc3JjPXRoaXMuc3JjfSksdGhpcy5sb2FkaW5nPSExLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5jb3B5VGh1bWJuYWlsVG9DYW52YXMoKX1jYXRjaHt0aGlzLmxvYWRpbmc9ITEsdGhpcy5sb2FkRHVyYXRpb24oKX19bG9hZER1cmF0aW9uKCl7bGV0IF89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKTtfLnByZWxvYWQ9Im1ldGFkYXRhIixfLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRhIiwoKT0+e3RoaXMuZHVyYXRpb249Xy5kdXJhdGlvbixfLnNyYz0iIixfLmxvYWQoKX0pLF8uc3JjPXRoaXMuc3JjfWNvcHlUaHVtYm5haWxUb0NhbnZhcygpe2lmKCF0aGlzLnRodW1ibmFpbENhbnZhcylyZXR1cm47bGV0IF89dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudmlkZW8td3JhcHBlciBjYW52YXMiKTtpZighXylyZXR1cm47Xy53aWR0aD10aGlzLnRodW1ibmFpbENhbnZhcy53aWR0aCxfLmhlaWdodD10aGlzLnRodW1ibmFpbENhbnZhcy5oZWlnaHQ7bGV0IHo9Xy5nZXRDb250ZXh0KCIyZCIpO3omJnouZHJhd0ltYWdlKHRoaXMudGh1bWJuYWlsQ2FudmFzLDAsMCl9b25UaWxlTW91c2VFbnRlcigpe3RoaXMuaXNIb3ZlcmluZz0hMH1vblRpbGVNb3VzZUxlYXZlKCl7dGhpcy5pc0hvdmVyaW5nPSExLHRoaXMuaG92ZXJWaWRlbz1udWxsfWhhbmRsZUhvdmVyVmlkZW9Mb2FkZWQoXyl7dGhpcy5ob3ZlclZpZGVvPV8udGFyZ2V0LHRoaXMuaG92ZXJWaWRlby5wbGF5KCkuY2F0Y2goKCk9Pnt9KX1hc3luYyB1cGRhdGVkKF8pe3N1cGVyLnVwZGF0ZWQoXyksXy5oYXMoInNyYyIpJiZ0aGlzLnNyYyYmdGhpcy5pc1Zpc2libGUmJih0aGlzLmhhc1N0YXJ0ZWRMb2FkaW5nPSEwLHRoaXMudGh1bWJuYWlsQ2FwdHVyZWQ9ITEsdGhpcy5kdXJhdGlvbj0wLHRoaXMuY2FwdHVyZUZpcnN0RnJhbWUoKSksXy5oYXMoInRodW1ibmFpbENhcHR1cmVkIikmJnRoaXMudGh1bWJuYWlsQ2FwdHVyZWQmJihhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuY29weVRodW1ibmFpbFRvQ2FudmFzKCkpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmhvdmVyVmlkZW8mJih0aGlzLmhvdmVyVmlkZW8ucGF1c2UoKSx0aGlzLmhvdmVyVmlkZW8uc3JjPSIiLHRoaXMuaG92ZXJWaWRlbz1udWxsKSx0aGlzLnRodW1ibmFpbENhbnZhcz1udWxsfWZvcm1hdFRpbWUoXyl7aWYoIWlzRmluaXRlKF8pfHxfPDApcmV0dXJuIjA6MDAiO2xldCB6PU1hdGguZmxvb3IoXy82MCksTz1NYXRoLmZsb29yKF8lNjApO3JldHVybmAke3p9OiR7Ty50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfXN0YXRpY3tZMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgaWRhPWYoKCk9PntzZGEoKX0pO3ZhciBvZGEsbmRhPWYoKCk9PntsZSgpO29kYT1zKCgpPT57bGV0IGE9YGltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQnOwoKZXhwb3J0IGNsYXNzIE15Q29tcG9uZW50IHsKICBwcml2YXRlIGl0ZW1zOiBzdHJpbmdbXSA9IFtdOwoKICByZW5kZXIoKSB7CiAgICByZXR1cm4gaHRtbFxgCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgXCR7dGhpcy5pdGVtcy5tYXAoaXRlbSA9PiBodG1sXGAKICAgICAgICAgIDxzcGFuPlwke2l0ZW19PC9zcGFuPgogICAgICAgIFxgKX0KICAgICAgPC9kaXY+CiAgICBcYDsKICB9Cn1gLGU9YE1lZXRpbmcgTm90ZXMgLSBRNCBQbGFubmluZwpEYXRlOiBKYW51YXJ5IDE1LCAyMDI2CkF0dGVuZGVlczogQWxpY2UsIEJvYiwgQ2hhcmxpZQoKS2V5IERlY2lzaW9uczoKMS4gTGF1bmNoIG5ldyBmZWF0dXJlIGJ5IE1hcmNoCjIuIEhpcmUgMiBtb3JlIGVuZ2luZWVycwozLiBNaWdyYXRlIHRvIG5ldyBDSS9DRCBwaXBlbGluZQo0LiBVcGRhdGUgZGVzaWduIHN5c3RlbSB0byB2MwoKQWN0aW9uIEl0ZW1zOgotIEFsaWNlOiBEcmFmdCBQUkQgYnkgbmV4dCB3ZWVrCi0gQm9iOiBTZXQgdXAgaW50ZXJ2aWV3IHBpcGVsaW5lCi0gQ2hhcmxpZTogRXZhbHVhdGUgSmVua2lucyB2cyBHaXRIdWIgQWN0aW9uc2A7cmV0dXJuIHdgCiAgICA8c3R5bGU+CiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1OwogICAgICB9CiAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICAgIH0KICAgICAgaDMgewogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KICAgICAgLnRpbGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5Ob3RlIFRpbGVzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtbm90ZQogICAgICAgICAgICB0aXRsZT0iY29tcG9uZW50LnRzIgogICAgICAgICAgICAuY29udGVudD0ke2F9CiAgICAgICAgICAgIGxhbmd1YWdlPSJ0eXBlc2NyaXB0IgogICAgICAgICAgICBsYWJlbD0iY29tcG9uZW50LnRzIgogICAgICAgICAgICBAdGlsZS1jbGljaz0ke3I9PmNvbnNvbGUubG9nKCJOb3RlIGNsaWNrZWQ6IixyLmRldGFpbCl9CiAgICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1ub3RlPgoKICAgICAgICAgIDxkZWVzLXRodW1ibmFpbC1ub3RlCiAgICAgICAgICAgIHRpdGxlPSJNZWV0aW5nIE5vdGVzIgogICAgICAgICAgICAuY29udGVudD0ke2V9CiAgICAgICAgICAgIGxhYmVsPSJtZWV0aW5nLW5vdGVzLnR4dCIKICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLW5vdGU+CgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLW5vdGUKICAgICAgICAgICAgdGl0bGU9InBhY2thZ2UuanNvbiIKICAgICAgICAgICAgLmNvbnRlbnQ9JHtgewogICJuYW1lIjogIkBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZyIsCiAgInZlcnNpb24iOiAiMy4zOC4wIiwKICAiZGVzY3JpcHRpb24iOiAiRGVzaWduIGNvbXBvbmVudCBjYXRhbG9nIiwKICAiZGVwZW5kZW5jaWVzIjogewogICAgIkBkZXNpZ24uZXN0YXRlL2RlZXMtZWxlbWVudCI6ICJeMi4wLjAiLAogICAgImxpdCI6ICJeMy4xLjAiCiAgfSwKICAic2NyaXB0cyI6IHsKICAgICJidWlsZCI6ICJ0c2J1aWxkIiwKICAgICJ0ZXN0IjogInRzdGVzdCIKICB9Cn1gfQogICAgICAgICAgICBsYW5ndWFnZT0ianNvbiIKICAgICAgICAgICAgbGFiZWw9InBhY2thZ2UuanNvbiIKICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLW5vdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+U2l6ZSBWYXJpYW50czwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLW5vdGUKICAgICAgICAgICAgc2l6ZT0ic21hbGwiCiAgICAgICAgICAgIHRpdGxlPSJzbWFsbC50cyIKICAgICAgICAgICAgLmNvbnRlbnQ9JHthfQogICAgICAgICAgICBsYW5ndWFnZT0idHMiCiAgICAgICAgICAgIGxhYmVsPSJzbWFsbC50cyIKICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLW5vdGU+CgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLW5vdGUKICAgICAgICAgICAgdGl0bGU9ImRlZmF1bHQudHMiCiAgICAgICAgICAgIC5jb250ZW50PSR7YX0KICAgICAgICAgICAgbGFuZ3VhZ2U9InRzIgogICAgICAgICAgICBsYWJlbD0iZGVmYXVsdC50cyIKICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLW5vdGU+CgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLW5vdGUKICAgICAgICAgICAgc2l6ZT0ibGFyZ2UiCiAgICAgICAgICAgIHRpdGxlPSJsYXJnZS50cyIKICAgICAgICAgICAgLmNvbnRlbnQ9JHthfQogICAgICAgICAgICBsYW5ndWFnZT0idHMiCiAgICAgICAgICAgIGxhYmVsPSJsYXJnZS50cyIKICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLW5vdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+V2l0aG91dCBUaXRsZTwvaDM+CiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLW5vdGUKICAgICAgICAgIC5jb250ZW50PSR7ZX0KICAgICAgICAgIGxhYmVsPSJ1bnRpdGxlZC50eHQiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtbm90ZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICBgfSwiZGVtbyIpfSk7dmFyIGlHLFBjLGxkYSxjZGE9ZigoKT0+e2xlKCk7TzQoKTtBYygpO25kYSgpO2lHPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxQYz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sbGRhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy10aHVtYm5haWwtbm90ZSIpXSxlLHQ9W10scixpPWxvLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVGh1bWJuYWlsTm90ZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBrPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9W0soKV0saUcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4idGl0bGUiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy50aXRsZSwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnRpdGxlPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSxpRyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImNvbnRlbnQiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5jb250ZW50LCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuY29udGVudD1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGMscCksaUcodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYW5ndWFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ibGFuZ3VhZ2UiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5sYW5ndWFnZSwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmxhbmd1YWdlPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSxpRyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzSG92ZXJpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImlzSG92ZXJpbmciaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5pc0hvdmVyaW5nLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuaXNIb3ZlcmluZz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGIsZyksaUcobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6a30sbnVsbCx0KSx5PXI9ZS52YWx1ZSxrJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KX1zdGF0aWMgZGVtbz1vZGE7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdO3N0YXRpYyBzdHlsZXM9Wy4uLkJpLFhgCiAgICAgIC5ub3RlLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiaHNsKDYwIDUlIDk2JSkiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLm5vdGUtaGVhZGVyIHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHggOHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAubm90ZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwJSAyMCUpIiwiaHNsKDIxNSAyMCUgMjAlKSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgfQoKICAgICAgLm5vdGUtYm9keSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwYWRkaW5nOiAwIDE0cHggMTRweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLm5vdGUtdGV4dCB7CiAgICAgICAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDEwJSA0MCUpIiwiaHNsKDIxNSAxMCUgMzUlKSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAubm90ZS1mYWRlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiA2MHB4OwogICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgKICAgICAgICAgIHRyYW5zcGFyZW50LAogICAgICAgICAgJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCJoc2woNjAgNSUgOTYlKSIpfQogICAgICAgICk7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5ub3RlLWxpbmVzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIHdpZHRoOiAzNHB4OwogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgODUlKSIsImhzbCgwIDUwJSA4MCUpIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgfQoKICAgICAgLmxpbmUtbnVtYmVyIHsKICAgICAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDlweDsKICAgICAgICBsaW5lLWhlaWdodDogMTVweDsgLyogbWF0Y2hlcyAxMHB4ICogMS41IGxpbmUtaGVpZ2h0ICovCiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDEwJSA3NSUpIiwiaHNsKDIxNSAxMCUgNzAlKSIpfTsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7CiAgICAgIH0KCiAgICBgXTsjZT1QYyh0aGlzLG4sIiIpO2dldCB0aXRsZSgpe3JldHVybiB0aGlzLiNlfXNldCB0aXRsZShrKXt0aGlzLiNlPWt9I3Q9KFBjKHRoaXMsbCksUGModGhpcyxjLCIiKSk7Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY29udGVudChrKXt0aGlzLiN0PWt9I2E9KFBjKHRoaXMscCksUGModGhpcyxtLCIiKSk7Z2V0IGxhbmd1YWdlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGxhbmd1YWdlKGspe3RoaXMuI2E9a30jcj0oUGModGhpcyx2KSxQYyh0aGlzLGIsITEpKTtnZXQgaXNIb3ZlcmluZygpe3JldHVybiB0aGlzLiNyfXNldCBpc0hvdmVyaW5nKGspe3RoaXMuI3I9a31ub3RlQm9keUVsZW1lbnQ9KFBjKHRoaXMsZyksbnVsbCk7cmVuZGVyVGlsZUNvbnRlbnQoKXtsZXQgaz10aGlzLmNvbnRlbnQuc3BsaXQoYApgKTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibm90ZS1jb250ZW50Ij4KICAgICAgICAke3RoaXMudGl0bGU/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9Im5vdGUtaGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibm90ZS10aXRsZSI+JHt0aGlzLnRpdGxlfTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgPGRpdiBjbGFzcz0ibm90ZS1ib2R5Ij4KICAgICAgICAgIDxwcmUgY2xhc3M9Im5vdGUtdGV4dCI+JHtrLmpvaW4oYApgKX08L3ByZT4KICAgICAgICAgICR7dGhpcy5pc0hvdmVyaW5nPyIiOndgPGRpdiBjbGFzcz0ibm90ZS1mYWRlIj48L2Rpdj5gfQogICAgICAgIDwvZGl2PgoKICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuY2xpY2thYmxlP3dgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdmVybGF5Ij4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkZpbGVUZXh0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPk9wZW4gTm90ZTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgIGB9cmVuZGVyQm90dG9tQmFyKCl7bGV0IGs9dGhpcy5jb250ZW50LnNwbGl0KGAKYCk7cmV0dXJuIXRoaXMubGFiZWwmJiF0aGlzLmxhbmd1YWdlJiYhay5sZW5ndGg/IiI6d2AKICAgICAgPGRpdiBjbGFzcz0idGlsZS1pbmZvLWJhciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiIHRpdGxlPSIke3RoaXMubGFiZWx9Ij4ke3RoaXMubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tc3BhY2VyIj48L3NwYW4+CiAgICAgICAgJHt0aGlzLmxhbmd1YWdlP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke3RoaXMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX08L3NwYW4+YDoiIn0KICAgICAgICAke3RoaXMuaXNIb3ZlcmluZyYmay5sZW5ndGg+MTI/d2A8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPkxpbmUgJHt0aGlzLmdldFZpc2libGVMaW5lUmFuZ2Uoay5sZW5ndGgpfTwvc3Bhbj5gOndgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke2subGVuZ3RofSBsaW5lczwvc3Bhbj5gfQogICAgICA8L2Rpdj4KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue3RpdGxlOnRoaXMudGl0bGUsY29udGVudDp0aGlzLmNvbnRlbnQsbGFuZ3VhZ2U6dGhpcy5sYW5ndWFnZX19b25UaWxlTW91c2VFbnRlcigpe3RoaXMuaXNIb3ZlcmluZz0hMCx0aGlzLm5vdGVCb2R5RWxlbWVudHx8KHRoaXMubm90ZUJvZHlFbGVtZW50PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm5vdGUtYm9keSIpKX1vblRpbGVNb3VzZUxlYXZlKCl7dGhpcy5pc0hvdmVyaW5nPSExLHRoaXMubm90ZUJvZHlFbGVtZW50JiYodGhpcy5ub3RlQm9keUVsZW1lbnQuc2Nyb2xsVG9wPTApfW9uVGlsZU1vdXNlTW92ZShrKXtpZighdGhpcy5pc0hvdmVyaW5nfHwhdGhpcy5ub3RlQm9keUVsZW1lbnR8fHRoaXMuY29udGVudC5zcGxpdChgCmApLmxlbmd0aDw9MTIpcmV0dXJuO2xldCBOPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXz1rLmNsaWVudFgtTi5sZWZ0LHo9TWF0aC5tYXgoMCxNYXRoLm1pbigxLF8vTi53aWR0aCkpLE89dGhpcy5ub3RlQm9keUVsZW1lbnQuc2Nyb2xsSGVpZ2h0LXRoaXMubm90ZUJvZHlFbGVtZW50LmNsaWVudEhlaWdodDt0aGlzLm5vdGVCb2R5RWxlbWVudC5zY3JvbGxUb3A9eipPfWdldFZpc2libGVMaW5lUmFuZ2Uoayl7aWYoIXRoaXMubm90ZUJvZHlFbGVtZW50KXJldHVybmAxXHUyMDEzMTIgb2YgJHtrfWA7bGV0IEM9MTUsTj1NYXRoLmZsb29yKHRoaXMubm90ZUJvZHlFbGVtZW50LnNjcm9sbFRvcC9DKSsxLF89TWF0aC5mbG9vcih0aGlzLm5vdGVCb2R5RWxlbWVudC5jbGllbnRIZWlnaHQvQyksej1NYXRoLm1pbihOK18tMSxrKTtyZXR1cm5gJHtOfVx1MjAxMyR7en0gb2YgJHtrfWB9c3RhdGlje1BjKHIsdCl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciBkZGE9ZigoKT0+e2NkYSgpfSk7dmFyIHVkYSxwZGE9ZigoKT0+e2xlKCk7dWRhPXMoKCk9PntsZXQgYT1be3R5cGU6ImltYWdlIixuYW1lOiJzdW5zZXQuanBnIix0aHVtYm5haWxTcmM6Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwP3JhbmRvbT0xIn0se3R5cGU6ImltYWdlIixuYW1lOiJtb3VudGFpbi5qcGciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzIwMC8yMDA/cmFuZG9tPTIifSx7dHlwZToiaW1hZ2UiLG5hbWU6Im9jZWFuLmpwZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMD9yYW5kb209MyJ9LHt0eXBlOiJpbWFnZSIsbmFtZToiZm9yZXN0LmpwZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMD9yYW5kb209NCJ9LHt0eXBlOiJpbWFnZSIsbmFtZToiY2l0eS5qcGciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzIwMC8yMDA/cmFuZG9tPTUifSx7dHlwZToiaW1hZ2UiLG5hbWU6ImRlc2VydC5qcGciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzIwMC8yMDA/cmFuZG9tPTYifV07cmV0dXJuIHdgCiAgICA8c3R5bGU+CiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1OwogICAgICB9CiAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICAgIH0KICAgICAgaDMgewogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KICAgICAgLnRpbGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5Gb2xkZXIgVGlsZXM8L2gzPgogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICAgIDxkZWVzLXRodW1ibmFpbC1mb2xkZXIKICAgICAgICAgICAgbmFtZT0iUGhvdG9zIgogICAgICAgICAgICAuaXRlbXM9JHthfQogICAgICAgICAgICBsYWJlbD0iNiBwaG90b3MiCiAgICAgICAgICAgIEB0aWxlLWNsaWNrPSR7bz0+Y29uc29sZS5sb2coIkZvbGRlciBjbGlja2VkOiIsby5kZXRhaWwpfQogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtZm9sZGVyPgoKICAgICAgICAgIDxkZWVzLXRodW1ibmFpbC1mb2xkZXIKICAgICAgICAgICAgbmFtZT0ibXktcHJvamVjdCIKICAgICAgICAgICAgLml0ZW1zPSR7W3t0eXBlOiJub3RlIixuYW1lOiJSRUFETUUubWQifSx7dHlwZToibm90ZSIsbmFtZToicGFja2FnZS5qc29uIn0se3R5cGU6ImZvbGRlciIsbmFtZToic3JjIn0se3R5cGU6ImZvbGRlciIsbmFtZToidGVzdCJ9LHt0eXBlOiJub3RlIixuYW1lOiJ0c2NvbmZpZy5qc29uIn0se3R5cGU6InBkZiIsbmFtZToiZG9jcy5wZGYifSx7dHlwZToiaW1hZ2UiLG5hbWU6ImxvZ28ucG5nIix0aHVtYm5haWxTcmM6Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8xMDAvMTAwP3JhbmRvbT0xMCJ9XX0KICAgICAgICAgICAgbGFiZWw9IlByb2plY3QgZmlsZXMiCiAgICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1mb2xkZXI+CgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWZvbGRlcgogICAgICAgICAgICBuYW1lPSJNZWRpYSBBc3NldHMiCiAgICAgICAgICAgIC5pdGVtcz0ke1t7dHlwZToidmlkZW8iLG5hbWU6ImludHJvLm1wNCJ9LHt0eXBlOiJhdWRpbyIsbmFtZToiYmFja2dyb3VuZC5tcDMifSx7dHlwZToiaW1hZ2UiLG5hbWU6InRodW1ibmFpbC5qcGciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzIwMC8yMDA/cmFuZG9tPTIwIn0se3R5cGU6InBkZiIsbmFtZToic3Rvcnlib2FyZC5wZGYifV19CiAgICAgICAgICAgIGxhYmVsPSJNaXhlZCBtZWRpYSIKICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWZvbGRlcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5FZGdlIENhc2VzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtZm9sZGVyCiAgICAgICAgICAgIG5hbWU9IkVtcHR5IEZvbGRlciIKICAgICAgICAgICAgLml0ZW1zPSR7W119CiAgICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1mb2xkZXI+CgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWZvbGRlcgogICAgICAgICAgICBuYW1lPSJTaW5nbGUgSXRlbSIKICAgICAgICAgICAgLml0ZW1zPSR7W3t0eXBlOiJwZGYiLG5hbWU6InJlcG9ydC5wZGYifV19CiAgICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1mb2xkZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+U2l6ZSBWYXJpYW50czwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWZvbGRlcgogICAgICAgICAgICBzaXplPSJzbWFsbCIKICAgICAgICAgICAgbmFtZT0iU21hbGwiCiAgICAgICAgICAgIC5pdGVtcz0ke2F9CiAgICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1mb2xkZXI+CgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWZvbGRlcgogICAgICAgICAgICBuYW1lPSJEZWZhdWx0IgogICAgICAgICAgICAuaXRlbXM9JHthfQogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtZm9sZGVyPgoKICAgICAgICAgIDxkZWVzLXRodW1ibmFpbC1mb2xkZXIKICAgICAgICAgICAgc2l6ZT0ibGFyZ2UiCiAgICAgICAgICAgIG5hbWU9IkxhcmdlIgogICAgICAgICAgICAuaXRlbXM9JHthfQogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtZm9sZGVyPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGB9LCJkZW1vIil9KTt2YXIgcVFlLG9HLGZkYSxoZGEsbWRhPWYoKCk9PntsZSgpO080KCk7QWMoKTtwZGEoKTtxUWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LG9HPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxmZGE9e3BkZjoibHVjaWRlOkZpbGVUZXh0IixpbWFnZToibHVjaWRlOkltYWdlIixhdWRpbzoibHVjaWRlOk11c2ljIix2aWRlbzoibHVjaWRlOlZpZGVvIixub3RlOiJsdWNpZGU6RmlsZUNvZGUiLGZvbGRlcjoibHVjaWRlOkZvbGRlciIsdW5rbm93bjoibHVjaWRlOkZpbGUifSxoZGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRodW1ibmFpbC1mb2xkZXIiKV0sZSx0PVtdLHIsaT1sbyxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1RodW1ibmFpbEZvbGRlciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe2F0dHJpYnV0ZTohMX0pXSxxUWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJuYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJuYW1lImluIHYsImhhcyIpLGdldDpzKHY9PnYubmFtZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2Lm5hbWU9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLHFRZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Iml0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJpdGVtcyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52Lml0ZW1zLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuaXRlbXM9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLHFRZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPXVkYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07c3RhdGljIHN0eWxlcz1bLi4uQmksWGAKICAgICAgLmZvbGRlci1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDQwIDMwJSA5NyUpIiwiaHNsKDIxNSAyMCUgMTQlKSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuZm9sZGVyLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTRweCA4cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5mb2xkZXItaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDQwIDgwJSA1MCUpIiwiaHNsKDQwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICAuZm9sZGVyLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAyMCUgMjAlKSIsImhzbCgyMTUgMTYlIDgwJSkiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWdyaWQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDAgMTRweCAxNHB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC5ncmlkLWNlbGwgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNSAyMCUgOTQlKSIsImhzbCgyMTUgMjAlIDE4JSkiKX07CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuZ3JpZC1jZWxsIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuZ3JpZC1jZWxsIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNjAlKSIsImhzbCgyMTUgMTYlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC5ncmlkLWNlbGwtZW1wdHkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE1JSA5NiUpIiwiaHNsKDIxNSAyMCUgMTYlKSIpfTsKICAgICAgfQoKICAgIGBdOyNlPW9HKHRoaXMsbiwiIik7Z2V0IG5hbWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbmFtZShtKXt0aGlzLiNlPW19I3Q9KG9HKHRoaXMsbCksb0codGhpcyxjLFtdKSk7Z2V0IGl0ZW1zKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGl0ZW1zKG0pe3RoaXMuI3Q9bX1yZW5kZXJUaWxlQ29udGVudCgpe2xldCBtPXRoaXMuaXRlbXMuc2xpY2UoMCw0KSx2PTQtbS5sZW5ndGg7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImZvbGRlci1jb250ZW50Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJmb2xkZXItaGVhZGVyIj4KICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9ImZvbGRlci1pY29uIiBpY29uPSJsdWNpZGU6Rm9sZGVyIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGRlci1uYW1lIj4ke3RoaXMubmFtZXx8IlVudGl0bGVkIEZvbGRlciJ9PC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctZ3JpZCI+CiAgICAgICAgICAke20ubWFwKHg9PndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtY2VsbCI+CiAgICAgICAgICAgICAgJHt4LnRodW1ibmFpbFNyYz93YAogICAgICAgICAgICAgICAgPGltZyBzcmM9IiR7eC50aHVtYm5haWxTcmN9IiBhbHQ9IiR7eC5uYW1lfSIgLz4KICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249IiR7ZmRhW3gudHlwZV18fGZkYS51bmtub3dufSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICAgICR7QXJyYXkuZnJvbSh7bGVuZ3RoOnZ9KS5tYXAoKCk9PndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtY2VsbCBncmlkLWNlbGwtZW1wdHkiPjwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgJHt0aGlzLmNsaWNrYWJsZT93YAogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtb3ZlcmxheSI+CiAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpGb2xkZXJPcGVuIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPk9wZW4gRm9sZGVyPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtyZXR1cm4hdGhpcy5sYWJlbCYmIXRoaXMuaXRlbXMubGVuZ3RoPyIiOndgCiAgICAgIDxkaXYgY2xhc3M9InRpbGUtaW5mby1iYXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIiB0aXRsZT0iJHt0aGlzLmxhYmVsfSI+JHt0aGlzLmxhYmVsfTwvc3Bhbj5gOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXNwYWNlciI+PC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWRldGFpbCI+JHt0aGlzLml0ZW1zLmxlbmd0aH0gaXRlbSR7dGhpcy5pdGVtcy5sZW5ndGghPT0xPyJzIjoiIn08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgYH1nZXRUaWxlQ2xpY2tEZXRhaWwoKXtyZXR1cm57bmFtZTp0aGlzLm5hbWUsaXRlbUNvdW50OnRoaXMuaXRlbXMubGVuZ3RoLGl0ZW1zOnRoaXMuaXRlbXN9fWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxvRyh0aGlzLHApfXN0YXRpY3tvRyhyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgZ2RhPWYoKCk9PnttZGEoKX0pO3ZhciBiZGE9ZigoKT0+e20zYSgpO3gzYSgpO2szYSgpO0UzYSgpO0kzYSgpO04zYSgpO1IzYSgpO2ozYSgpO0szYSgpO2VkYSgpO2lkYSgpO2RkYSgpO2dkYSgpfSk7dmFyIHZkYT1mKCgpPT57WHIoKX0pO3ZhciB4ZGE9ZigoKT0+e2NjKCl9KTt2YXIgeWRhLHdkYT1mKCgpPT57bGUoKTt5ZGE9cygoKT0+d2AKICAgIDxzdHlsZT4KICAgICAgLnJlZjEgewogICAgICAgIG1hcmdpbjogMjBweDsKICAgICAgICB3aWR0aDogMTBweDsKICAgICAgICBoZWlnaHQ6IDEwcHg7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGRpdiBjbGFzcz0icmVmMSI+PC9kaXY+CiAgICA8ZGVlcy1zcGVlY2hidWJibGUgLnRleHQ9JHtgCiAgICAgICoqVGhpcyBpcyBhIGxvbmdlciBtYXJrZG93biB0ZXh0IHRoYXQgIGNhbiBiZSB1c2VkIHRoZSB3cml0ZSoqICAKICAgICAgYSBsb25nZXIgZGVzY3JpcHRpb24gYWJvdXQgd2hhdHMgZ29pbmcgb24gdGhlIGFwcCAgCiAgCiAgICAgICoqVGhpcyBpcyBhIHN1YmhlYWRlcioqCiAgICAgIGFuZCBhbm90aGVyIHRleHQKICAgIAogICAgYH0+PC9kZWVzLXNwZWVjaGJ1YmJsZT4KICBgLCJkZW1vRnVuYyIpfSk7dmFyIGU3LEsxLE1kYSxrZGE9ZigoKT0+e0wxKCk7V3MoKTt3ZGEoKTtsZSgpO00xKCk7UWUoKTtlNz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sSzE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LE1kYT0oKCk9PntsZXQgYT1baWUoImRlZXMtc3BlZWNoYnViYmxlIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTcGVlY2hidWJibGUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpTdHJpbmd9KV0sZTcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWZmZWRFbGVtZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJyZWZmZWRFbGVtZW50ImluIHosImhhcyIpLGdldDpzKHo9PnoucmVmZmVkRWxlbWVudCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnJlZmZlZEVsZW1lbnQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxuLGwpLGU3KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4idGV4dCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnRleHQsImdldCIpLHNldDpzKCh6LE8pPT57ei50ZXh0PU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYyxwKSxlNyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndhdmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+IndhdmUiaW4geiwiaGFzIiksZ2V0OnMoej0+ei53YXZlLCJnZXQiKSxzZXQ6cygoeixPKT0+e3oud2F2ZT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksZTcodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYW5pZmVzdGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJtYW5pZmVzdGVkImluIHosImhhcyIpLGdldDpzKHo9PnoubWFuaWZlc3RlZCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6Lm1hbmlmZXN0ZWQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLGU3KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzdGF0dXMiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5zdGF0dXMsImdldCIpLHNldDpzKCh6LE8pPT57ei5zdGF0dXM9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLGU3KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89eWRhO3N0YXRpYyBkZW1vR3JvdXBzPVsiT3ZlcmxheSJdO3N0YXRpYyBhc3luYyBjcmVhdGVBbmRTaG93KF8seil7bGV0IE89YXdhaXQgR3MuY3JlYXRlQW5kU2hvdyh7Ymx1cjohMX0pLFQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGVlcy1zcGVlY2hidWJibGUiKTtyZXR1cm4gVC53aW5kb3dMYXllcj1PLFQucmVmZmVkRWxlbWVudD1fLFQudGV4dD16LFQubWFuaWZlc3RlZD0hMCxPLmFwcGVuZENoaWxkKFQpLE8uc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsTy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi53aW5kb3dPdmVybGF5Iikuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsVH0jZT1LMSh0aGlzLG4sdm9pZCAwKTtnZXQgcmVmZmVkRWxlbWVudCgpe3JldHVybiB0aGlzLiNlfXNldCByZWZmZWRFbGVtZW50KF8pe3RoaXMuI2U9X30jdD0oSzEodGhpcyxsKSxLMSh0aGlzLGMsdm9pZCAwKSk7Z2V0IHRleHQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdGV4dChfKXt0aGlzLiN0PV99I2E9KEsxKHRoaXMscCksSzEodGhpcyxtLCExKSk7Z2V0IHdhdmUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgd2F2ZShfKXt0aGlzLiNhPV99I3I9KEsxKHRoaXMsdiksSzEodGhpcyxiLCExKSk7Z2V0IG1hbmlmZXN0ZWQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbWFuaWZlc3RlZChfKXt0aGlzLiNyPV99I3M9KEsxKHRoaXMsZyksSzEodGhpcyxrLCJub3JtYWwiKSk7Z2V0IHN0YXR1cygpe3JldHVybiB0aGlzLiNzfXNldCBzdGF0dXMoXyl7dGhpcy4jcz1ffXdpbmRvd0xheWVyPUsxKHRoaXMsQyk7Y29uc3RydWN0b3IoKXtzdXBlcigpfXN0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDsKICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAwcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSk7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsKICAgICAgfQoKICAgICAgLmFycm93IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmIiwiIzMzMyIpfTsKICAgICAgICBoZWlnaHQ6IDE1cHg7CiAgICAgICAgd2lkdGg6IDE1cHg7CiAgICAgICAgbGVmdDogMnB4OwogICAgICAgIHRvcDogMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC5zcGVlY2hidWJibGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmIiwiIzMzMyIpfTsKICAgICAgICBwYWRkaW5nOiAwcHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIG1pbi13aWR0aDogMjQwcHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIHRvcDogMHB4OwogICAgICAgIGxlZnQ6IDhweDsKICAgICAgfQoKICAgICAgLndhdmUgewogICAgICAgIGFuaW1hdGlvbi1uYW1lOiB3YXZlLWFuaW1hdGlvbjsgLyogUmVmZXJzIHRvIHRoZSBuYW1lIG9mIHlvdXIgQGtleWZyYW1lcyBlbGVtZW50IGJlbG93ICovCiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyLjVzOyAvKiBDaGFuZ2UgdG8gc3BlZWQgdXAgb3Igc2xvdyBkb3duICovCiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IC8qIE5ldmVyIHN0b3Agd2F2aW5nIDopICovCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNzAlIDcwJTsgLyogUGl2b3QgYXJvdW5kIHRoZSBib3R0b20tbGVmdCBwYWxtICovCiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHdhdmUtYW5pbWF0aW9uIHsKICAgICAgICAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICAgICAgICB9CiAgICAgICAgMTAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE0ZGVnKTsKICAgICAgICB9IC8qIFRoZSBmb2xsb3dpbmcgZml2ZSB2YWx1ZXMgY2FuIGJlIHBsYXllZCB3aXRoIHRvIG1ha2UgdGhlIHdhdmluZyBtb3JlIG9yIGxlc3MgZXh0cmVtZSAqLwogICAgICAgIDIwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOGRlZyk7CiAgICAgICAgfQogICAgICAgIDMwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNGRlZyk7CiAgICAgICAgfQogICAgICAgIDQwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNGRlZyk7CiAgICAgICAgfQogICAgICAgIDUwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMGRlZyk7CiAgICAgICAgfQogICAgICAgIDYwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICAgICAgICB9IC8qIFJlc2V0IGZvciB0aGUgbGFzdCBoYWxmIHRvIHBhdXNlICovCiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICAke3RoaXMubWFuaWZlc3RlZD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUNsaWNrfT4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BlZWNoYnViYmxlIj4KICAgICAgICAgICAgICAgICR7dGhpcy53YXZlP3dgPHNwYW4gY2xhc3M9IndhdmUiPvCfkYs8L3NwYW4+YDp3YGB9CiAgICAgICAgICAgICAgICAke0pvLnJlc29sdmUodGhpcy5nZXRIdG1sKCkpfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6d2BgfQogICAgYH1hc3luYyBoYW5kbGVDbGljaygpe2NvbnNvbGUubG9nKCJzcGVlY2hidWJibGUgZ290IGNsaWNrZWQuIil9YXN5bmMgZmlyc3RVcGRhdGVkKCl7aWYodGhpcy5yZWZmZWRFbGVtZW50fHwodGhpcy5yZWZmZWRFbGVtZW50PXRoaXMucHJldmlvdXNFbGVtZW50U2libGluZyksdGhpcy5tYW5pZmVzdGVkKWF3YWl0IHRoaXMudXBkYXRlUG9zaXRpb24oKSx0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1haW5jb250YWluZXIiKS5zdHlsZS5vcGFjaXR5PSIxIjtlbHNle2xldCBfO3RoaXMucmVmZmVkRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixhc3luYygpPT57Xz1hd2FpdCBOLmNyZWF0ZUFuZFNob3codGhpcy5yZWZmZWRFbGVtZW50LHRoaXMudGV4dCl9KSx0aGlzLnJlZmZlZEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsKCk9PntfLmRlc3Ryb3koKX0pfX1hc3luYyB1cGRhdGVQb3NpdGlvbigpe2xldCBfPXRoaXMucmVmZmVkRWxlbWVudCx6PV8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLHRoaXMuc3R5bGUudG9wPWAke3oudG9wLTEzfXB4YCx0aGlzLnN0eWxlLmxlZnQ9YCR7ei5sZWZ0K18uY2xpZW50V2lkdGgrNH1weGAsei5yaWdodD4yNTAmJih0aGlzLnN0eWxlLndpZHRoPSIyNTBweCIpfWFzeW5jIGdldEh0bWwoKXtpZighdGhpcy50ZXh0KXJldHVybiIiO2xldCBfPUF0LnBsdWdpbnMuc21hcnRzdHJpbmcubm9ybWFsaXplLnN0YW5kYXJkKHRoaXMudGV4dCksej1hd2FpdCBBdC5wbHVnaW5zLnNtYXJ0bWFya2Rvd24uU21hcnRNYXJrZG93bi5lYXN5TWFya2Rvd25Ub0h0bWwoXyk7cmV0dXJuIGJiKHopfWFzeW5jIHNob3coKXt9YXN5bmMgZGVzdHJveSgpe3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIubWFpbmNvbnRhaW5lciIpLnN0eWxlLm9wYWNpdHk9IjAiLHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpfXN0YXRpY3tLMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgU2RhPWYoKCk9PntrZGEoKX0pO3ZhciB6ZGE9ZigoKT0+e00xKCl9KTt2YXIgQ2RhPWYoKCk9Pnt2ZGEoKTt4ZGEoKTtTZGEoKTt6ZGEoKX0pO3ZhciBfZGE9ZigoKT0+e30pO3ZhciBUZGE9ZigoKT0+e19kYSgpfSk7dmFyIExkYSxLc2UsWnNlLFZRZSwkZGEsWHNlLFFzZSxKc2UsZWllPWYoKCk9PntMZGE9Imh0dHBzOi8vc3RhY2tibGl0ei5jb20iLEtzZT0iY29kZSIsWnNlPSJlcnJvciIsVlFlPSJlcnJvcl9kZXNjcmlwdGlvbiIsJGRhPSJfX3djX2FwaV9iY19fIixYc2U9Il9fd2NfYXBpX3Rva2Vuc19fIixRc2U9Il9fd2NfYXBpX3ZlcmlmaWVyX18iLEpzZT0iX193Y19hcGlfcG9wdXBfXyJ9KTt2YXIgbTUsalFlPWYoKCk9PnttNT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUeXBlZEV2ZW50VGFyZ2V0Iil9X2J1cz1uZXcgRXZlbnRUYXJnZXQ7bGlzdGVuKGUpe2Z1bmN0aW9uIHQocil7ZShyLmRhdGEpfXJldHVybiBzKHQsIndyYXBwZWRMaXN0ZW5lciIpLHRoaXMuX2J1cy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0KSwoKT0+dGhpcy5fYnVzLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHQpfWZpcmVFdmVudChlKXt0aGlzLl9idXMuZGlzcGF0Y2hFdmVudChuZXcgTWVzc2FnZUV2ZW50KCJtZXNzYWdlIix7ZGF0YTplfSkpfX19KTtmdW5jdGlvbiB0aWUoKXtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShYc2UpfWZ1bmN0aW9uIElkYShhKXtyZXR1cm4gQWRhLmxpc3RlbihhKX1mdW5jdGlvbiBuTmEoKXtsZXQgYT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShYc2UpO2lmKCFhKXJldHVybiBudWxsO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShhKX1jYXRjaHtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gbE5hKGEpe2xvY2FsU3RvcmFnZS5zZXRJdGVtKFhzZSxKU09OLnN0cmluZ2lmeShhKSl9ZnVuY3Rpb24gUGRhKHtjcmVhdGVkX2F0OmEsZXhwaXJlc19pbjplfSl7cmV0dXJuKGErZSkqMWUzfWZ1bmN0aW9uIEVkYShhKXtpZih0eXBlb2YgYSE9Im9iamVjdCJ8fCFhKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBUb2tlbiBSZXNwb25zZSIpO2lmKHR5cGVvZiBhLmFjY2Vzc190b2tlbiE9InN0cmluZyJ8fHR5cGVvZiBhLnJlZnJlc2hfdG9rZW4hPSJzdHJpbmcifHx0eXBlb2YgYS5jcmVhdGVkX2F0IT0ibnVtYmVyInx8dHlwZW9mIGEuZXhwaXJlc19pbiE9Im51bWJlciIpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFRva2VuIFJlc3BvbnNlIil9ZnVuY3Rpb24gY05hKGEpe3JldHVybiBuZXcgUHJvbWlzZShlPT5zZXRUaW1lb3V0KGUsYSkpfWZ1bmN0aW9uIGROYShhKXtBZGEuZmlyZUV2ZW50KGEpfXZhciBEZGEsQWRhLHQ3LFVRZT1mKCgpPT57ZWllKCk7alFlKCk7RGRhPW5ldyBFcnJvcjtEZGEuc3RhY2s9IiI7QWRhPW5ldyBtNSx0Nz1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlRva2VucyIpfW9yaWdpbjtyZWZyZXNoO2FjY2VzcztleHBpcmVzO19yZXZva2VkPW5ldyBBYm9ydENvbnRyb2xsZXI7Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy5vcmlnaW49ZSx0aGlzLnJlZnJlc2g9dCx0aGlzLmFjY2Vzcz1yLHRoaXMuZXhwaXJlcz1pfWFzeW5jIGFjdGl2YXRlKGUpe2lmKHRoaXMuX3Jldm9rZWQuc2lnbmFsLmFib3J0ZWQpdGhyb3cgbmV3IEVycm9yKCJUb2tlbiByZXZva2VkIik7cmV0dXJuIHRoaXMuZXhwaXJlczxEYXRlLm5vdygpJiYhYXdhaXQgdGhpcy5fZmV0Y2hOZXdBY2Nlc3NUb2tlbigpPyExOih0aGlzLl9zeW5jKCksdGhpcy5fc3RhcnRSZWZyZXNoVG9rZW5zTG9vcChlKSwhMCl9YXN5bmMgcmV2b2tlKGUsdCl7dGhpcy5fcmV2b2tlZC5hYm9ydCgpO3RyeXtpZighKGF3YWl0IGZldGNoKGAke3RoaXMub3JpZ2lufS9vYXV0aC9yZXZva2VgLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSxib2R5Om5ldyBVUkxTZWFyY2hQYXJhbXMoe3Rva2VuOnRoaXMucmVmcmVzaCx0b2tlbl90eXBlX2hpbnQ6InJlZnJlc2hfdG9rZW4iLGNsaWVudF9pZDplfSksbW9kZToiY29ycyJ9KSkub2spdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gbG9nb3V0Iil9Y2F0Y2gocil7aWYoIXQpdGhyb3cgcn10aWUoKX1zdGF0aWMgZnJvbVN0b3JhZ2UoKXtsZXQgZT1uTmEoKTtyZXR1cm4gZT9uZXcgYShlLm9yaWdpbixlLnJlZnJlc2gsZS5hY2Nlc3MsZS5leHBpcmVzKTpudWxsfXN0YXRpYyBhc3luYyBmcm9tQXV0aENvZGUoe2VkaXRvck9yaWdpbjplLGNsaWVudElkOnQsY29kZVZlcmlmaWVyOnIsYXV0aENvZGU6aSxyZWRpcmVjdFVyaTpvfSl7bGV0IG49YXdhaXQgZmV0Y2goYCR7ZX0vb2F1dGgvdG9rZW5gLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSxib2R5Om5ldyBVUkxTZWFyY2hQYXJhbXMoe2NsaWVudF9pZDp0LGNvZGU6aSxjb2RlX3ZlcmlmaWVyOnIsZ3JhbnRfdHlwZToiYXV0aG9yaXphdGlvbl9jb2RlIixyZWRpcmVjdF91cmk6b30pLG1vZGU6ImNvcnMifSk7aWYoIW4ub2spdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggdG9rZW46ICR7bi5zdGF0dXN9YCk7bGV0IGw9YXdhaXQgbi5qc29uKCk7RWRhKGwpO2xldHthY2Nlc3NfdG9rZW46ZCxyZWZyZXNoX3Rva2VuOmN9PWwscD1QZGEobCk7cmV0dXJuIG5ldyBhKGUsYyxkLHApfWFzeW5jIF9mZXRjaE5ld0FjY2Vzc1Rva2VuKCl7dHJ5e2xldCBlPWF3YWl0IGZldGNoKGAke3RoaXMub3JpZ2lufS9vYXV0aC90b2tlbmAse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCJ9LGJvZHk6bmV3IFVSTFNlYXJjaFBhcmFtcyh7Z3JhbnRfdHlwZToicmVmcmVzaF90b2tlbiIscmVmcmVzaF90b2tlbjp0aGlzLnJlZnJlc2h9KSxtb2RlOiJjb3JzIixzaWduYWw6dGhpcy5fcmV2b2tlZC5zaWduYWx9KTtpZighZS5vayl0aHJvdyBEZGE7bGV0IHQ9YXdhaXQgZS5qc29uKCk7RWRhKHQpO2xldHthY2Nlc3NfdG9rZW46cixyZWZyZXNoX3Rva2VuOml9PXQsbz1QZGEodCk7cmV0dXJuIHRoaXMuYWNjZXNzPXIsdGhpcy5leHBpcmVzPW8sdGhpcy5yZWZyZXNoPWksITB9Y2F0Y2h7cmV0dXJuIHRpZSgpLCExfX1fc3luYygpe2xOYSh0aGlzKSxkTmEodGhpcy5hY2Nlc3MpfWFzeW5jIF9zdGFydFJlZnJlc2hUb2tlbnNMb29wKGUpe2Zvcig7Oyl7bGV0IHQ9dGhpcy5leHBpcmVzLURhdGUubm93KCktMWUzO2lmKGF3YWl0IGNOYShNYXRoLm1heCh0LDFlMykpLHRoaXMuX3Jldm9rZWQuc2lnbmFsLmFib3J0ZWQpcmV0dXJuO2lmKCF0aGlzLl9mZXRjaE5ld0FjY2Vzc1Rva2VuKCkpe2UoKTtyZXR1cm59dGhpcy5fc3luYygpfX19O3ModGllLCJjbGVhclRva2Vuc0luU3RvcmFnZSIpO3MoSWRhLCJhZGRBY2Nlc3NUb2tlbkNoYW5nZWRMaXN0ZW5lciIpO3Mobk5hLCJyZWFkVG9rZW5zRnJvbVN0b3JhZ2UiKTtzKGxOYSwicGVyc2lzdFRva2Vuc0luU3RvcmFnZSIpO3MoUGRhLCJnZXRFeHBpcmVzRnJvbVRva2VuUmVzcG9uc2UiKTtzKEVkYSwiYXNzZXJ0VG9rZW5SZXNwb25zZSIpO3MoY05hLCJ3YWl0Iik7cyhkTmEsImZpcmVBY2Nlc3NUb2tlbkNoYW5nZWQiKX0pO3ZhciBXUWUsYWllLEVjLEdRZT1mKCgpPT57ZWllKCk7V1FlPXt9LGFpZT1udWxsLEVjPXtnZXQgZWRpdG9yT3JpZ2luKCl7cmV0dXJuIGFpZT09bnVsbCYmKGFpZT1uZXcgVVJMKGdsb2JhbFRoaXMuV0VCQ09OVEFJTkVSX0FQSV9JRlJBTUVfVVJMPz9MZGEpLm9yaWdpbiksYWllfSxzZXQgZWRpdG9yT3JpZ2luKGEpe2FpZT1uZXcgVVJMKGEpLm9yaWdpbn0sc2V0UXVlcnlQYXJhbShhLGUpe1dRZVthXT1lfSxnZXQgdXJsKCl7bGV0IGE9bmV3IFVSTCh0aGlzLmVkaXRvck9yaWdpbik7YS5wYXRobmFtZT0iL2hlYWRsZXNzIjtmb3IobGV0IGUgaW4gV1FlKWEuc2VhcmNoUGFyYW1zLnNldChlLFdRZVtlXSk7cmV0dXJuIGEuc2VhcmNoUGFyYW1zLnNldCgidmVyc2lvbiIsIjEuNi4xIiksYX19fSk7YXN5bmMgZnVuY3Rpb24gTmRhKGEpe2xldCBlPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShhKSx0PW5ldyBVaW50OEFycmF5KGF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCJTSEEtMjU2IixlKSk7cmV0dXJuIGJ0b2EodC5yZWR1Y2UoKHIsaSk9PnIrU3RyaW5nLmZyb21Db2RlUG9pbnQoaSksIiIpKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoLz0rJC8sIiIpfWZ1bmN0aW9uIFJkYSgpe2xldCBhPW5ldyBVaW50OEFycmF5KDk2KTtjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGEpO2xldCBlPSIiO2ZvcihsZXQgdD0wO3Q8MzI7Kyt0KWUrPXVOYShhWzMqdCswXSxhWzMqdCsxXSxhWzMqdCsyXSk7cmV0dXJuIGV9ZnVuY3Rpb24gdU5hKGEsZSx0KXtsZXQgcj1hPj4yLGk9KGEmMyk8PDR8ZT4+NCxvPWUmMTV8KHQmMTkyKT4+MixuPXQmNjM7cmV0dXJuW3IsaSxvLG5dLm1hcChwTmEpLmpvaW4oIiIpfWZ1bmN0aW9uIHBOYShhKXtsZXQgZTtyZXR1cm4gYTwyNj9lPWErNjU6YTw1Mj9lPWEtMjYrOTc6YTw2Mj9lPWEtNTIrNDg6ZT1hPT09NjI/MzA6NDUsU3RyaW5nLmZyb21DaGFyQ29kZShlKX12YXIgT2RhPWYoKCk9PntzKE5kYSwiUzI1NiIpO3MoUmRhLCJuZXdDb2RlVmVyaWZpZXIiKTtzKHVOYSwibmV4dEZvdXJDaGFycyIpO3MocE5hLCJ1bnJlc2VydmVkQ2hhcmFjdGVycyIpfSk7ZnVuY3Rpb24gRmRhKCl7bGV0IGEsZTtmdW5jdGlvbiB0KCl7ZT1uZXcgUHJvbWlzZShyPT5hPXIpfXJldHVybiBzKHQsInJlc2V0IiksdCgpLHtnZXQgcHJvbWlzZSgpe3JldHVybiBlfSxyZXNvbHZlKHIpe3JldHVybiBhKHIpfSxyZXNldDp0fX12YXIgQmRhPWYoKCk9PntzKEZkYSwicmVzZXR0YWJsZVByb21pc2UiKX0pO2Z1bmN0aW9uIG5HKGEpe1p0LmJyb2FkY2FzdENoYW5uZWwmJihadC5icm9hZGNhc3RDaGFubmVsLnBvc3RNZXNzYWdlKGEpLGxvY2FsU3RvcmFnZS5nZXRJdGVtKEpzZSk9PT0idHJ1ZSImJmEudHlwZSE9PSJhdXRoLWxvZ291dCImJihsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShKc2UpLHNldFRpbWVvdXQoKCk9Pnt3aW5kb3cuY2xvc2UoKX0pKSl9ZnVuY3Rpb24gWVFlKCl7ZzUuZmlyZUV2ZW50KCksbkcoe3R5cGU6ImF1dGgtbG9nb3V0In0pfWZ1bmN0aW9uIHFkYSgpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZn1hc3luYyBmdW5jdGlvbiBWZGEoKXtsZXQgYT1SZGEoKTtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShRc2UsYSk7bGV0IGU9YXdhaXQgTmRhKGEpLHQ9bmV3IFVSTCgiL29hdXRoL2F1dGhvcml6ZSIsWnQuZWRpdG9yT3JpZ2luKSx7c2VhcmNoUGFyYW1zOnJ9PXQ7cmV0dXJuIHIuYXBwZW5kKCJyZXNwb25zZV90eXBlIiwiY29kZSIpLHIuYXBwZW5kKCJjbGllbnRfaWQiLFp0LmNsaWVudElkKSxyLmFwcGVuZCgicmVkaXJlY3RfdXJpIixxZGEoKSksci5hcHBlbmQoInNjb3BlIixadC5vYXV0aFNjb3BlKSxyLmFwcGVuZCgiY29kZV9jaGFsbGVuZ2UiLGUpLHIuYXBwZW5kKCJjb2RlX2NoYWxsZW5nZV9tZXRob2QiLCJTMjU2IiksdC50b1N0cmluZygpfWZ1bmN0aW9uIEtRZShhKXtpZighYSl0aHJvdyBuZXcgRXJyb3IoIk9vcHMhIFRva2VucyBpcyBub3QgZGVmaW5lZCB3aGVuIGl0IGFsd2F5cyBzaG91bGQgYmUuIil9dmFyIFp0LEhkYSxnNSxqZGEsWlFlPWYoKCk9PntVUWUoKTtlaWUoKTtHUWUoKTtPZGEoKTtCZGEoKTtqUWUoKTtadD17aW5pdGlhbGl6ZWQ6ITEsYm9vdENhbGxlZDohMSxhdXRoQ29tcGxldGU6RmRhKCksY2xpZW50SWQ6IiIsb2F1dGhTY29wZToiIixicm9hZGNhc3RDaGFubmVsOm51bGwsZ2V0IGVkaXRvck9yaWdpbigpe3JldHVybiBFYy5lZGl0b3JPcmlnaW59LHRva2VuczpudWxsfSxIZGE9bmV3IG01LGc1PW5ldyBtNTtzKG5HLCJicm9hZGNhc3RNZXNzYWdlIik7amRhPXtpbml0KHtlZGl0b3JPcmlnaW46YSxjbGllbnRJZDplLHNjb3BlOnR9KXtpZihadC5pbml0aWFsaXplZCl0aHJvdyBuZXcgRXJyb3IoIkluaXQgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIG9uY2UiKTtpZighMCYmWnQuYm9vdENhbGxlZCl0aHJvdyBuZXcgRXJyb3IoImBhdXRoLmluaXRgIHNob3VsZCBhbHdheXMgYmUgY2FsbGVkIGJlZm9yZSBgV2ViQ29udGFpbmVyLmJvb3RgIik7WnQuaW5pdGlhbGl6ZWQ9ITAsWnQudG9rZW5zPXQ3LmZyb21TdG9yYWdlKCksWnQuY2xpZW50SWQ9ZSxadC5vYXV0aFNjb3BlPXQsWnQuYnJvYWRjYXN0Q2hhbm5lbD1uZXcgQnJvYWRjYXN0Q2hhbm5lbCgkZGEpLEVjLnNldFF1ZXJ5UGFyYW0oImNsaWVudF9pZCIsZSksYSYmKEVjLmVkaXRvck9yaWdpbj1uZXcgVVJMKGEpLm9yaWdpbiksZzUubGlzdGVuKCgpPT5adC5hdXRoQ29tcGxldGUucmVzZXQoKSksWnQuYnJvYWRjYXN0Q2hhbm5lbC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixpKTthc3luYyBmdW5jdGlvbiBpKGQpe2xldCBjPWQuZGF0YTtpZihjLnR5cGU9PT0iYXV0aC1jb21wbGV0ZSIpe1p0LnRva2Vucz10Ny5mcm9tU3RvcmFnZSgpLGF3YWl0IFp0LnRva2Vucy5hY3RpdmF0ZShZUWUpLFp0LmF1dGhDb21wbGV0ZS5yZXNvbHZlKCk7cmV0dXJufWlmKGMudHlwZT09PSJhdXRoLWZhaWxlZCIpe0hkYS5maXJlRXZlbnQoYyk7cmV0dXJufWlmKGMudHlwZT09PSJhdXRoLWxvZ291dCIpe2c1LmZpcmVFdmVudCgpO3JldHVybn19aWYocyhpLCJvbkNoYW5uZWxNZXNzYWdlIiksWnQudG9rZW5zKXtsZXQgZD1adC50b2tlbnM7aWYoZC5vcmlnaW49PT1adC5lZGl0b3JPcmlnaW4pcmV0dXJuKGFzeW5jKCk9PntpZighYXdhaXQgZC5hY3RpdmF0ZShZUWUpKXtpZihadC50b2tlbnMhPT1kKXJldHVybjtnNS5maXJlRXZlbnQoKTtyZXR1cm59WnQuYXV0aENvbXBsZXRlLnJlc29sdmUoKX0pKCkse3N0YXR1czoiYXV0aG9yaXplZCJ9O3RpZSgpLFp0LnRva2Vucz1udWxsfWxldCBvPW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpLHtzZWFyY2hQYXJhbXM6bn09byxsPXMoKCk9PndpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh7fSxkb2N1bWVudC50aXRsZSxvKSwidXBkYXRlVVJMIik7aWYobi5oYXMoWnNlKSl7bGV0IGQ9bi5nZXQoWnNlKSxjPW4uZ2V0KFZRZSk7cmV0dXJuIG4uZGVsZXRlKFpzZSksbi5kZWxldGUoVlFlKSxsKCksbkcoe3R5cGU6ImF1dGgtZmFpbGVkIixlcnJvcjpkLGRlc2NyaXB0aW9uOmN9KSx7c3RhdHVzOiJhdXRoLWZhaWxlZCIsZXJyb3I6ZCxkZXNjcmlwdGlvbjpjfX1pZihuLmhhcyhLc2UpKXtsZXQgZD1uLmdldChLc2UpLGM9WnQuZWRpdG9yT3JpZ2luO24uZGVsZXRlKEtzZSksbCgpO2xldCBwPWxvY2FsU3RvcmFnZS5nZXRJdGVtKFFzZSk7cmV0dXJuIHA/KGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFFzZSksdDcuZnJvbUF1dGhDb2RlKHtlZGl0b3JPcmlnaW46YyxjbGllbnRJZDpadC5jbGllbnRJZCxhdXRoQ29kZTpkLGNvZGVWZXJpZmllcjpwLHJlZGlyZWN0VXJpOnFkYSgpfSkudGhlbihhc3luYyB1PT57aWYoWnQudG9rZW5zPXUsS1FlKFp0LnRva2VucyksIWF3YWl0IFp0LnRva2Vucy5hY3RpdmF0ZShZUWUpKXRocm93IG5ldyBFcnJvcjtadC5hdXRoQ29tcGxldGUucmVzb2x2ZSgpLG5HKHt0eXBlOiJhdXRoLWNvbXBsZXRlIn0pfSkuY2F0Y2godT0+e2NvbnNvbGUuZXJyb3IodSksZzUuZmlyZUV2ZW50KCksbkcoe3R5cGU6ImF1dGgtbG9nb3V0In0pfSkse3N0YXR1czoiYXV0aG9yaXplZCJ9KTp7c3RhdHVzOiJuZWVkLWF1dGgifX1yZXR1cm57c3RhdHVzOiJuZWVkLWF1dGgifX0sYXN5bmMgc3RhcnRBdXRoRmxvdyh7cG9wdXA6YX09e30pe2lmKCFadC5pbml0aWFsaXplZCl0aHJvdyBuZXcgRXJyb3IoImF1dGguaW5pdCBtdXN0IGJlIGNhbGxlZCBmaXJzdCIpO2lmKGEpe2xvY2FsU3RvcmFnZS5zZXRJdGVtKEpzZSwidHJ1ZSIpO2xldCBlPTUwMCx0PTYyMCxyPXdpbmRvdy5zY3JlZW5MZWZ0Kyh3aW5kb3cub3V0ZXJXaWR0aC10KS8yLGk9d2luZG93LnNjcmVlblRvcCsod2luZG93Lm91dGVySGVpZ2h0LWUpLzI7d2luZG93Lm9wZW4oYXdhaXQgVmRhKCksIl9ibGFuayIsYHBvcHVwLHdpZHRoPSR7dH0saGVpZ2h0PSR7ZX0sbGVmdD0ke3J9LHRvcD0ke2l9YCl9ZWxzZSB3aW5kb3cubG9jYXRpb24uaHJlZj1hd2FpdCBWZGEoKX0sYXN5bmMgbG9nb3V0KHtpZ25vcmVSZXZva2VFcnJvcjphfT17fSl7YXdhaXQgWnQudG9rZW5zPy5yZXZva2UoWnQuY2xpZW50SWQsYT8/ITEpLGc1LmZpcmVFdmVudCgpLG5HKHt0eXBlOiJhdXRoLWxvZ291dCJ9KX0sbG9nZ2VkSW4oKXtyZXR1cm4gWnQuYXV0aENvbXBsZXRlLnByb21pc2V9LG9uKGEsZSl7c3dpdGNoKGEpe2Nhc2UiYXV0aC1mYWlsZWQiOnJldHVybiBIZGEubGlzdGVuKGUpO2Nhc2UibG9nZ2VkLW91dCI6cmV0dXJuIGc1Lmxpc3RlbihlKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZXZlbnQgdHlwZSAnJHthfScuYCl9fX07cyhZUWUsIm9uRmFpbGVkVG9rZW5SZWZyZXNoIik7cyhxZGEsImRlZmF1bHRSZWRpcmVjdFVyaSIpO3MoVmRhLCJnZW5lcmF0ZU9BdXRoUmVxdWVzdCIpO3MoS1FlLCJhc3NlcnRBdXRoVG9rZW5zIil9KTt2YXIgSWMscmllPWYoKCk9PnsoZnVuY3Rpb24oYSl7YS5VbmNhdWdodEV4Y2VwdGlvbj0iUFJFVklFV19VTkNBVUdIVF9FWENFUFRJT04iLGEuVW5oYW5kbGVkUmVqZWN0aW9uPSJQUkVWSUVXX1VOSEFORExFRF9SRUpFQ1RJT04iLGEuQ29uc29sZUVycm9yPSJQUkVWSUVXX0NPTlNPTEVfRVJST1IifSkoSWN8fChJYz17fSkpfSk7ZnVuY3Rpb24gZUplKGEsZT1zZWxmKXtlLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHMoZnVuY3Rpb24gdChyKXtpZighcnx8IXIuZGF0YSlyZXR1cm47bGV0e2lkOmksdHlwZTpvLHBhdGg6bn09T2JqZWN0LmFzc2lnbih7cGF0aDpbXX0sci5kYXRhKSxsPShyLmRhdGEuYXJndW1lbnRMaXN0fHxbXSkubWFwKGI1KSxkO3RyeXtsZXQgYz1uLnNsaWNlKDAsLTEpLnJlZHVjZSgodSxtKT0+dVttXSxhKSxwPW4ucmVkdWNlKCh1LG0pPT51W21dLGEpO3N3aXRjaChvKXtjYXNlIDA6ZD1wO2JyZWFrO2Nhc2UgMTpjW24uc2xpY2UoLTEpWzBdXT1iNShyLmRhdGEudmFsdWUpLGQ9ITA7YnJlYWs7Y2FzZSAyOmQ9cC5hcHBseShjLGwpO2JyZWFrO2Nhc2UgMzp7bGV0IHU9bmV3IHAoLi4ubCk7ZD1KZGEodSl9YnJlYWs7Y2FzZSA0OntsZXR7cG9ydDE6dSxwb3J0MjptfT1uZXcgTWVzc2FnZUNoYW5uZWw7ZUplKGEsbSksZD1RZGEodSxbdV0pfWJyZWFrO2Nhc2UgNTpkPXZvaWQgMDticmVha319Y2F0Y2goYyl7ZD17dmFsdWU6YyxbUVFlXTowfX1Qcm9taXNlLnJlc29sdmUoZCkuY2F0Y2goYz0+KHt2YWx1ZTpjLFtRUWVdOjB9KSkudGhlbihjPT57bGV0W3AsdV09YUplKGMpO2UucG9zdE1lc3NhZ2UoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHApLHtpZDppfSksdSksbz09PTUmJihlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHQpLFlkYShlKSl9KX0sImNhbGxiYWNrIikpLGUuc3RhcnQmJmUuc3RhcnQoKX1mdW5jdGlvbiBiTmEoYSl7cmV0dXJuIGEuY29uc3RydWN0b3IubmFtZT09PSJNZXNzYWdlUG9ydCJ9ZnVuY3Rpb24gWWRhKGEpe2JOYShhKSYmYS5jbG9zZSgpfWZ1bmN0aW9uIEtkYShhLGUpe3JldHVybiB0SmUoYSxbXSxlKX1mdW5jdGlvbiBzaWUoYSl7aWYoYSl0aHJvdyBuZXcgRXJyb3IoIlByb3h5IGhhcyBiZWVuIHJlbGVhc2VkIGFuZCBpcyBub3QgdXNlYWJsZSIpfWZ1bmN0aW9uIHRKZShhLGU9W10sdD1mdW5jdGlvbigpe30pe2xldCByPSExLGk9bmV3IFByb3h5KHQse2dldChvLG4pe2lmKHNpZShyKSxuPT09V2RhKXJldHVybigpPT5hNyhhLHt0eXBlOjUscGF0aDplLm1hcChsPT5sLnRvU3RyaW5nKCkpfSkudGhlbigoKT0+e1lkYShhKSxyPSEwfSk7aWYobj09PSJ0aGVuIil7aWYoZS5sZW5ndGg9PT0wKXJldHVybnt0aGVuOnMoKCk9PmksInRoZW4iKX07bGV0IGw9YTcoYSx7dHlwZTowLHBhdGg6ZS5tYXAoZD0+ZC50b1N0cmluZygpKX0pLnRoZW4oYjUpO3JldHVybiBsLnRoZW4uYmluZChsKX1yZXR1cm4gdEplKGEsWy4uLmUsbl0pfSxzZXQobyxuLGwpe3NpZShyKTtsZXRbZCxjXT1hSmUobCk7cmV0dXJuIGE3KGEse3R5cGU6MSxwYXRoOlsuLi5lLG5dLm1hcChwPT5wLnRvU3RyaW5nKCkpLHZhbHVlOmR9LGMpLnRoZW4oYjUpfSxhcHBseShvLG4sbCl7c2llKHIpO2xldCBkPWVbZS5sZW5ndGgtMV07aWYoZD09PVVkYSlyZXR1cm4gYTcoYSx7dHlwZTo0fSkudGhlbihiNSk7aWYoZD09PSJiaW5kIilyZXR1cm4gdEplKGEsZS5zbGljZSgwLC0xKSk7bGV0W2MscF09WmRhKGwpO3JldHVybiBhNyhhLHt0eXBlOjIscGF0aDplLm1hcCh1PT51LnRvU3RyaW5nKCkpLGFyZ3VtZW50TGlzdDpjfSxwKS50aGVuKGI1KX0sY29uc3RydWN0KG8sbil7c2llKHIpO2xldFtsLGRdPVpkYShuKTtyZXR1cm4gYTcoYSx7dHlwZTozLHBhdGg6ZS5tYXAoYz0+Yy50b1N0cmluZygpKSxhcmd1bWVudExpc3Q6bH0sZCkudGhlbihiNSl9fSk7cmV0dXJuIGl9ZnVuY3Rpb24gdk5hKGEpe3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLGEpfWZ1bmN0aW9uIFpkYShhKXtsZXQgZT1hLm1hcChhSmUpO3JldHVybltlLm1hcCh0PT50WzBdKSx2TmEoZS5tYXAodD0+dFsxXSkpXX1mdW5jdGlvbiBRZGEoYSxlKXtyZXR1cm4gWGRhLnNldChhLGUpLGF9ZnVuY3Rpb24gSmRhKGEpe3JldHVybiBPYmplY3QuYXNzaWduKGEse1tYUWVdOiEwfSl9ZnVuY3Rpb24geE5hKGEsZT1zZWxmLHQ9IioiKXtyZXR1cm57cG9zdE1lc3NhZ2U6cygocixpKT0+YS5wb3N0TWVzc2FnZShyLHQsaSksInBvc3RNZXNzYWdlIiksYWRkRXZlbnRMaXN0ZW5lcjplLmFkZEV2ZW50TGlzdGVuZXIuYmluZChlKSxyZW1vdmVFdmVudExpc3RlbmVyOmUucmVtb3ZlRXZlbnRMaXN0ZW5lci5iaW5kKGUpfX1mdW5jdGlvbiBhSmUoYSl7Zm9yKGxldFtlLHRdb2YgSlFlKWlmKHQuY2FuSGFuZGxlKGEpKXtsZXRbcixpXT10LnNlcmlhbGl6ZShhKTtyZXR1cm5be3R5cGU6MyxuYW1lOmUsdmFsdWU6cn0saV19cmV0dXJuW3t0eXBlOjAsdmFsdWU6YX0sWGRhLmdldChhKXx8W11dfWZ1bmN0aW9uIGI1KGEpe3N3aXRjaChhLnR5cGUpe2Nhc2UgMzpyZXR1cm4gSlFlLmdldChhLm5hbWUpLmRlc2VyaWFsaXplKGEudmFsdWUpO2Nhc2UgMDpyZXR1cm4gYS52YWx1ZX19ZnVuY3Rpb24gYTcoYSxlLHQpe3JldHVybiBuZXcgUHJvbWlzZShyPT57bGV0IGk9eU5hKCk7YS5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixzKGZ1bmN0aW9uIG8obil7IW4uZGF0YXx8IW4uZGF0YS5pZHx8bi5kYXRhLmlkIT09aXx8KGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbykscihuLmRhdGEpKX0sImwiKSksYS5zdGFydCYmYS5zdGFydCgpLGEucG9zdE1lc3NhZ2UoT2JqZWN0LmFzc2lnbih7aWQ6aX0sZSksdCl9KX1mdW5jdGlvbiB5TmEoKXtyZXR1cm4gbmV3IEFycmF5KDQpLmZpbGwoMCkubWFwKCgpPT5NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLnRvU3RyaW5nKDE2KSkuam9pbigiLSIpfXZhciBmTmEsaE5hLEduLFhRZSxVZGEsV2RhLFFRZSxHZGEsbU5hLGdOYSxKUWUsWGRhLGU2YT1mKCgpPT57Zk5hPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxoTmE9cygoYSxlKT0+e2Zvcih2YXIgdCBpbiBlKWZOYShhLHQse2dldDplW3RdLGVudW1lcmFibGU6ITB9KX0sIl9fZXhwb3J0IiksR249e307aE5hKEduLHtjcmVhdGVFbmRwb2ludDpzKCgpPT5VZGEsImNyZWF0ZUVuZHBvaW50IiksZXhwb3NlOnMoKCk9PmVKZSwiZXhwb3NlIikscHJveHk6cygoKT0+SmRhLCJwcm94eSIpLHByb3h5TWFya2VyOnMoKCk9PlhRZSwicHJveHlNYXJrZXIiKSxyZWxlYXNlUHJveHk6cygoKT0+V2RhLCJyZWxlYXNlUHJveHkiKSx0cmFuc2ZlcjpzKCgpPT5RZGEsInRyYW5zZmVyIiksdHJhbnNmZXJIYW5kbGVyczpzKCgpPT5KUWUsInRyYW5zZmVySGFuZGxlcnMiKSx3aW5kb3dFbmRwb2ludDpzKCgpPT54TmEsIndpbmRvd0VuZHBvaW50Iiksd3JhcDpzKCgpPT5LZGEsIndyYXAiKX0pO1hRZT1TeW1ib2woIkNvbWxpbmsucHJveHkiKSxVZGE9U3ltYm9sKCJDb21saW5rLmVuZHBvaW50IiksV2RhPVN5bWJvbCgiQ29tbGluay5yZWxlYXNlUHJveHkiKSxRUWU9U3ltYm9sKCJDb21saW5rLnRocm93biIpLEdkYT1zKGE9PnR5cGVvZiBhPT0ib2JqZWN0IiYmYSE9PW51bGx8fHR5cGVvZiBhPT0iZnVuY3Rpb24iLCJpc09iamVjdCIpLG1OYT17Y2FuSGFuZGxlOnMoYT0+R2RhKGEpJiZhW1hRZV0sImNhbkhhbmRsZSIpLHNlcmlhbGl6ZShhKXtsZXR7cG9ydDE6ZSxwb3J0Mjp0fT1uZXcgTWVzc2FnZUNoYW5uZWw7cmV0dXJuIGVKZShhLGUpLFt0LFt0XV19LGRlc2VyaWFsaXplKGEpe3JldHVybiBhLnN0YXJ0KCksS2RhKGEpfX0sZ05hPXtjYW5IYW5kbGU6cyhhPT5HZGEoYSkmJlFRZSBpbiBhLCJjYW5IYW5kbGUiKSxzZXJpYWxpemUoe3ZhbHVlOmF9KXtsZXQgZTtyZXR1cm4gYSBpbnN0YW5jZW9mIEVycm9yP2U9e2lzRXJyb3I6ITAsdmFsdWU6e21lc3NhZ2U6YS5tZXNzYWdlLG5hbWU6YS5uYW1lLHN0YWNrOmEuc3RhY2t9fTplPXtpc0Vycm9yOiExLHZhbHVlOmF9LFtlLFtdXX0sZGVzZXJpYWxpemUoYSl7dGhyb3cgYS5pc0Vycm9yP09iamVjdC5hc3NpZ24obmV3IEVycm9yKGEudmFsdWUubWVzc2FnZSksYS52YWx1ZSk6YS52YWx1ZX19LEpRZT1uZXcgTWFwKFtbInByb3h5IixtTmFdLFsidGhyb3ciLGdOYV1dKTtzKGVKZSwiZXhwb3NlIik7cyhiTmEsImlzTWVzc2FnZVBvcnQiKTtzKFlkYSwiY2xvc2VFbmRQb2ludCIpO3MoS2RhLCJ3cmFwIik7cyhzaWUsInRocm93SWZQcm94eVJlbGVhc2VkIik7cyh0SmUsImNyZWF0ZVByb3h5Iik7cyh2TmEsIm15RmxhdCIpO3MoWmRhLCJwcm9jZXNzQXJndW1lbnRzIik7WGRhPW5ldyBXZWFrTWFwO3MoUWRhLCJ0cmFuc2ZlciIpO3MoSmRhLCJwcm94eSIpO3MoeE5hLCJ3aW5kb3dFbmRwb2ludCIpO3MoYUplLCJ0b1dpcmVWYWx1ZSIpO3MoYjUsImZyb21XaXJlVmFsdWUiKTtzKGE3LCJyZXF1ZXN0UmVzcG9uc2VNZXNzYWdlIik7cyh5TmEsImdlbmVyYXRlVVVJRCIpfSk7dmFyIHQ2YT1mKCgpPT57fSk7ZnVuY3Rpb24gckplKGEpe3JldHVybiEoYT09bnVsbHx8dHlwZW9mIGEhPSJvYmplY3QifHwhKCJ0eXBlImluIGEpfHwhd05hLmluY2x1ZGVzKGEudHlwZSkpfXZhciB3TmEsYTZhPWYoKCk9PntyaWUoKTt3TmE9W0ljLkNvbnNvbGVFcnJvcixJYy5VbmNhdWdodEV4Y2VwdGlvbixJYy5VbmhhbmRsZWRSZWplY3Rpb25dO3MockplLCJpc1ByZXZpZXdNZXNzYWdlIil9KTt2YXIgc0plPWYoKCk9Pnt0NmEoKTtyaWUoKTthNmEoKX0pO2Z1bmN0aW9uIHY1KGEpe2xldCBlPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIGE/T2JqZWN0LmFzc2lnbihlLGEpOmV9dmFyIHI2YT1mKCgpPT57cyh2NSwibnVsbFByb3RvdHlwZSIpfSk7ZnVuY3Rpb24gaUplKGEpe2xldCBlPXtkOnt9fTtmb3IobGV0IHQgb2YgT2JqZWN0LmtleXMoYSkpe2xldCByPWFbdF07aWYoImZpbGUiaW4gcil7aWYoInN5bWxpbmsiaW4gci5maWxlKXtlLmRbdF09e2Y6e2w6ci5maWxlLnN5bWxpbmt9fTtjb250aW51ZX1sZXQgbz1yLmZpbGUuY29udGVudHMsbj10eXBlb2Ygbz09InN0cmluZyI/bzpNTmEuZGVjb2RlKG8pLGw9dHlwZW9mIG89PSJzdHJpbmciP3t9OntiOiEwfTtlLmRbdF09e2Y6e2M6biwuLi5sfX07Y29udGludWV9bGV0IGk9aUplKHIuZGlyZWN0b3J5KTtlLmRbdF09aX1yZXR1cm4gZX1mdW5jdGlvbiBvSmUoYSl7bGV0IGU9djUoKTtpZigiZiJpbiBhKXRocm93IG5ldyBFcnJvcigiSXQgaXMgbm90IHBvc3NpYmxlIHRvIGV4cG9ydCBhIHNpbmdsZSBmaWxlIGluIHRoZSBKU09OIGZvcm1hdC4iKTtpZigiZCJpbiBhKWZvcihsZXQgdCBvZiBPYmplY3Qua2V5cyhhLmQpKXtsZXQgcj1hLmRbdF07ImQiaW4gcj9lW3RdPXY1KHtkaXJlY3Rvcnk6b0plKHIpfSk6ImYiaW4gciYmKCJjImluIHIuZj9lW3RdPXY1KHtmaWxlOnY1KHtjb250ZW50czpyLmYuYj9rTmEoci5mLmMpOnIuZi5jfSl9KToibCJpbiByLmYmJihlW3RdPXY1KHtmaWxlOnY1KHtzeW1saW5rOnIuZi5sfSl9KSkpfXJldHVybiBlfWZ1bmN0aW9uIGtOYShhKXtsZXQgZT1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0KyspZVt0XT1hW3RdLmNoYXJDb2RlQXQoMCk7cmV0dXJuIGV9dmFyIE1OYSxzNmE9ZigoKT0+e3I2YSgpO01OYT1uZXcgVGV4dERlY29kZXIoImxhdGluMSIpO3MoaUplLCJ0b0ludGVybmFsRmlsZVN5c3RlbVRyZWUiKTtzKG9KZSwidG9FeHRlcm5hbEZpbGVTeXN0ZW1UcmVlIik7cyhrTmEsImZyb21CaW5hcnlTdHJpbmciKX0pO2Z1bmN0aW9uIFhjbyhhKXtpZihadC5ib290Q2FsbGVkKXRocm93IG5ldyBFcnJvcigiYGNvbmZpZ3VyZUFQSUtleWAgc2hvdWxkIGFsd2F5cyBiZSBjYWxsZWQgYmVmb3JlIGBXZWJDb250YWluZXIuYm9vdGAiKTtFYy5zZXRRdWVyeVBhcmFtKCJjbGllbnRfaWQiLGEpfWFzeW5jIGZ1bmN0aW9uIF9OYShhKXtsZXR7c2VydmVyUHJvbWlzZTplfT1UTmEoYSkscj1hd2FpdChhd2FpdCBlKS5idWlsZCh7aG9zdDp3aW5kb3cubG9jYXRpb24uaG9zdCx2ZXJzaW9uOiIxLjYuMSIsd29ya2Rpck5hbWU6YS53b3JrZGlyTmFtZSxmb3J3YXJkUHJldmlld0Vycm9yczphLmZvcndhcmRQcmV2aWV3RXJyb3JzfSksW2ksbyxuXT1hd2FpdCBQcm9taXNlLmFsbChbci5mcygpLHIucHJldmlld1NjcmlwdCgpLHIucnVudGltZUluZm8oKV0pO3JldHVybiBuZXcgbEcocixpLG8sbil9ZnVuY3Rpb24gcEplKGEpe2lmKGEhPW51bGwpcmV0dXJuIGU9PntlIGluc3RhbmNlb2YgVWludDhBcnJheT9hKGk2YS5kZWNvZGUoZSkpOmU9PW51bGwmJmEobnVsbCl9fWZ1bmN0aW9uIG5pZShhKXtpZihhIT1udWxsKXJldHVybiBHbi5wcm94eShhKX1mdW5jdGlvbiBUTmEoYSl7aWYob2llIT1udWxsKXJldHVybiBhLmNvZXAhPT1uSmUuY29lcCYmKGNvbnNvbGUud2FybihgQXR0ZW1wdGluZyB0byBib290IFdlYkNvbnRhaW5lciB3aXRoICdjb2VwOiAke2EuY29lcH0nYCksY29uc29sZS53YXJuKGBGaXJzdCBib290IGhhZCAnY29lcDogJHtuSmUuY29lcH0nLCBuZXcgc2V0dGluZ3Mgd2lsbCBub3QgdGFrZSBlZmZlY3QhYCkpLHtzZXJ2ZXJQcm9taXNlOm9pZX07YS5jb2VwJiZFYy5zZXRRdWVyeVBhcmFtKCJjb2VwIixhLmNvZXApLGEuZXhwZXJpbWVudGFsTm9kZSYmRWMuc2V0UXVlcnlQYXJhbSgiZXhwZXJpbWVudGFsX25vZGUiLCIxIik7bGV0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7ZS5zdHlsZS5kaXNwbGF5PSJub25lIixlLnNldEF0dHJpYnV0ZSgiYWxsb3ciLCJjcm9zcy1vcmlnaW4taXNvbGF0ZWQiKTtsZXQgdD1FYy51cmw7ZS5zcmM9dC50b1N0cmluZygpO2xldHtvcmlnaW46cn09dDtyZXR1cm4gbkplPXsuLi5hfSxvaWU9bmV3IFByb21pc2UoaT0+e2xldCBvPXMobj0+e2lmKG4ub3JpZ2luIT09cilyZXR1cm47bGV0e2RhdGE6bH09bjtpZihsLnR5cGU9PT0iaW5pdCIpe2koR24ud3JhcChuLnBvcnRzWzBdKSk7cmV0dXJufWlmKGwudHlwZT09PSJ3YXJuaW5nIil7Y29uc29sZVtsLmxldmVsXS5jYWxsKGNvbnNvbGUsbC5tZXNzYWdlKTtyZXR1cm59fSwib25NZXNzYWdlIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLG8pfSksZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUoZSxudWxsKSx7c2VydmVyUHJvbWlzZTpvaWV9fWZ1bmN0aW9uIExOYShhKXtyZXR1cm4gdHlwZW9mIGFbMF09PSJzdHJpbmcifWZ1bmN0aW9uICROYShhKXtyZXR1cm4gYVswXWluc3RhbmNlb2YgVWludDhBcnJheX1mdW5jdGlvbiBETmEoKXtsZXQgYT1udWxsO3JldHVybntzdHJlYW06bmV3IFJlYWRhYmxlU3RyZWFtKHtzdGFydChyKXthPXJ9fSkscHVzaDpzKHI9PntyIT1udWxsP2E/LmVucXVldWUocik6KGE/LmNsb3NlKCksYT1udWxsKX0sInB1c2giKX19ZnVuY3Rpb24gQU5hKGEpe2xldCBlPSExLHQ9cygoKT0+e30sInVuc3Vic2NyaWJlIik7cmV0dXJue3N1YnNjcmliZShpKXtyZXR1cm4gaS50aGVuKG89Pnt0PW8sZSYmdCgpfSksKCk9PntlPSEwLHQoKX19LGxpc3RlbmVyOnMoKCguLi5pKT0+e2V8fGEoLi4uaSl9KSwid3JhcHBlZCIpfX12YXIgWmNvLGlpZSxvaWUsbkplLGk2YSxTTmEsbEcsek5hLENOYSxsSmUsY0plLGRKZSx1SmUsbzZhPWYoKCk9PntaUWUoKTtyaWUoKTtlNmEoKTtaUWUoKTtVUWUoKTtHUWUoKTtzSmUoKTtzNmEoKTtzSmUoKTtaY289amRhLGlpZT1udWxsLG9pZT1udWxsLG5KZT17fSxpNmE9bmV3IFRleHREZWNvZGVyLFNOYT1uZXcgVGV4dEVuY29kZXIsbEc9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJXZWJDb250YWluZXIiKX1faW5zdGFuY2U7X3J1bnRpbWVJbmZvO2ZzO3N0YXRpYyBfaW5zdGFuY2U9bnVsbDtzdGF0aWMgX3RlYXJkb3duUHJvbWlzZT1udWxsO190b3JuRG93bj0hMTtfdW5zdWJzY3JpYmVGcm9tVG9rZW5DaGFuZ2VkTGlzdGVuZXI9cygoKT0+e30sIl91bnN1YnNjcmliZUZyb21Ub2tlbkNoYW5nZWRMaXN0ZW5lciIpO2NvbnN0cnVjdG9yKGUsdCxyLGkpe3RoaXMuX2luc3RhbmNlPWUsdGhpcy5fcnVudGltZUluZm89aSx0aGlzLmZzPW5ldyB1SmUodCksWnQuaW5pdGlhbGl6ZWQmJih0aGlzLl91bnN1YnNjcmliZUZyb21Ub2tlbkNoYW5nZWRMaXN0ZW5lcj1JZGEobz0+e3RoaXMuX2luc3RhbmNlLnNldENyZWRlbnRpYWxzKHthY2Nlc3NUb2tlbjpvLGVkaXRvck9yaWdpbjpadC5lZGl0b3JPcmlnaW59KX0pLChhc3luYygpPT57YXdhaXQgWnQuYXV0aENvbXBsZXRlLnByb21pc2UsIXRoaXMuX3Rvcm5Eb3duJiYoS1FlKFp0LnRva2VucyksYXdhaXQgdGhpcy5faW5zdGFuY2Uuc2V0Q3JlZGVudGlhbHMoe2FjY2Vzc1Rva2VuOlp0LnRva2Vucy5hY2Nlc3MsZWRpdG9yT3JpZ2luOlp0LmVkaXRvck9yaWdpbn0pKX0pKCkuY2F0Y2gobz0+e2NvbnNvbGUuZXJyb3Iobyl9KSl9YXN5bmMgc3Bhd24oZSx0LHIpe2xldCBpPVtdO0FycmF5LmlzQXJyYXkodCk/aT10OnI9dDtsZXQgbyxuPW5ldyBSZWFkYWJsZVN0cmVhbTtpZihyPy5vdXRwdXQhPT0hMSl7bGV0IGI9RE5hKCk7bz1iLnB1c2gsbj1iLnN0cmVhbX1sZXQgbCxkLGMscCx1PW5pZShwSmUobykpLG09bmllKHBKZShsKSksdj1uaWUocEplKGMpKSx4PWF3YWl0IHRoaXMuX2luc3RhbmNlLnJ1bih7Y29tbWFuZDplLGFyZ3M6aSxjd2Q6cj8uY3dkLGVudjpyPy5lbnYsdGVybWluYWw6cj8udGVybWluYWx9LG0sdix1KTtyZXR1cm4gbmV3IGRKZSh4LG4sZCxwKX1hc3luYyBleHBvcnQoZSx0KXtsZXQgcj17Zm9ybWF0OnQ/LmZvcm1hdD8/Impzb24iLGluY2x1ZGVzOnQ/LmluY2x1ZGVzLGV4Y2x1ZGVzOnQ/LmV4Y2x1ZGVzLGV4dGVybmFsOiEwfSxpPWF3YWl0IHRoaXMuX2luc3RhbmNlLnNlcmlhbGl6ZShlLHIpO2lmKHIuZm9ybWF0PT09Impzb24iKXtsZXQgbz1KU09OLnBhcnNlKGk2YS5kZWNvZGUoaSkpO3JldHVybiBvSmUobyl9cmV0dXJuIGl9b24oZSx0KXtpZihlPT09InByZXZpZXctbWVzc2FnZSIpe2xldCBvPXQ7dD1zKChuPT57ckplKG4pJiZvKG4pfSksImxpc3RlbmVyIil9bGV0e2xpc3RlbmVyOnIsc3Vic2NyaWJlOml9PUFOYSh0KTtyZXR1cm4gaSh0aGlzLl9pbnN0YW5jZS5vbihlLEduLnByb3h5KHIpKSl9bW91bnQoZSx0KXtsZXQgcj1lIGluc3RhbmNlb2YgVWludDhBcnJheT9lOmUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9uZXcgVWludDhBcnJheShlKTpTTmEuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGlKZShlKSkpO3JldHVybiB0aGlzLl9pbnN0YW5jZS5sb2FkRmlsZXMoR24udHJhbnNmZXIocixbci5idWZmZXJdKSx7bW91bnRQb2ludHM6dD8ubW91bnRQb2ludH0pfXNldFByZXZpZXdTY3JpcHQoZSx0KXtyZXR1cm4gdGhpcy5faW5zdGFuY2Uuc2V0UHJldmlld1NjcmlwdChlLHQpfWdldCBwYXRoKCl7cmV0dXJuIHRoaXMuX3J1bnRpbWVJbmZvLnBhdGh9Z2V0IHdvcmtkaXIoKXtyZXR1cm4gdGhpcy5fcnVudGltZUluZm8uY3dkfXRlYXJkb3duKCl7aWYodGhpcy5fdG9ybkRvd24pdGhyb3cgbmV3IEVycm9yKCJXZWJDb250YWluZXIgYWxyZWFkeSB0b3JuIGRvd24iKTt0aGlzLl90b3JuRG93bj0hMCx0aGlzLl91bnN1YnNjcmliZUZyb21Ub2tlbkNoYW5nZWRMaXN0ZW5lcigpO2xldCBlPXMoYXN5bmMoKT0+e3RyeXthd2FpdCB0aGlzLmZzLl90ZWFyZG93bigpLGF3YWl0IHRoaXMuX2luc3RhbmNlLnRlYXJkb3duKCl9ZmluYWxseXt0aGlzLl9pbnN0YW5jZVtHbi5yZWxlYXNlUHJveHldKCksYS5faW5zdGFuY2U9PT10aGlzJiYoYS5faW5zdGFuY2U9bnVsbCl9fSwidGVhcmRvd25GbiIpO2EuX3RlYXJkb3duUHJvbWlzZT1lKCl9c3RhdGljIGFzeW5jIGJvb3QoZT17fSl7YXdhaXQgdGhpcy5fdGVhcmRvd25Qcm9taXNlLGEuX3RlYXJkb3duUHJvbWlzZT1udWxsO2xldHt3b3JrZGlyTmFtZTp0fT1lO2lmKHdpbmRvdy5jcm9zc09yaWdpbklzb2xhdGVkJiZlLmNvZXA9PT0ibm9uZSImJmNvbnNvbGUud2FybihgQSBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGhlYWRlciBpcyByZXF1aXJlZCBpbiBjcm9zcyBvcmlnaW4gaXNvbGF0ZWQgZW52aXJvbm1lbnRzLgpTZXQgdGhlICdjb2VwJyBvcHRpb24gdG8gJ3JlcXVpcmUtY29ycCcuYCksdD8uaW5jbHVkZXMoIi8iKXx8dD09PSIuLiJ8fHQ9PT0iLiIpdGhyb3cgbmV3IEVycm9yKCJ3b3JrZGlyTmFtZSBzaG91bGQgYmUgYSB2YWxpZCBmb2xkZXIgbmFtZSIpO2ZvcihadC5ib290Q2FsbGVkPSEwO2lpZTspYXdhaXQgaWllO2lmKGEuX2luc3RhbmNlKXRocm93IG5ldyBFcnJvcigiT25seSBhIHNpbmdsZSBXZWJDb250YWluZXIgaW5zdGFuY2UgY2FuIGJlIGJvb3RlZCIpO2xldCByPV9OYShlKTtpaWU9ci5jYXRjaCgoKT0+e30pO3RyeXtsZXQgaT1hd2FpdCByO3JldHVybiBhLl9pbnN0YW5jZT1pLGl9ZmluYWxseXtpaWU9bnVsbH19fTtzKFhjbywiY29uZmlndXJlQVBJS2V5Iik7ek5hPTEsQ05hPTIsbEplPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRpckVudEltcGwiKX1uYW1lO190eXBlO2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5uYW1lPWUsdGhpcy5fdHlwZT10fWlzRmlsZSgpe3JldHVybiB0aGlzLl90eXBlPT09ek5hfWlzRGlyZWN0b3J5KCl7cmV0dXJuIHRoaXMuX3R5cGU9PT1DTmF9fSxjSmU9Y2xhc3N7c3RhdGlje3ModGhpcywiRlNXYXRjaGVyIil9X2FwaUNsaWVudDtfcGF0aDtfb3B0aW9ucztfbGlzdGVuZXI7X3dyYXBwZWRMaXN0ZW5lcjtfd2F0Y2hlcjtfY2xvc2VkPSExO2NvbnN0cnVjdG9yKGUsdCxyLGkpe3RoaXMuX2FwaUNsaWVudD1lLHRoaXMuX3BhdGg9dCx0aGlzLl9vcHRpb25zPXIsdGhpcy5fbGlzdGVuZXI9aSx0aGlzLl9hcGlDbGllbnQuX3dhdGNoZXJzLmFkZCh0aGlzKSx0aGlzLl93cmFwcGVkTGlzdGVuZXI9KG8sbik9Pnt0aGlzLl9saXN0ZW5lciYmIXRoaXMuX2Nsb3NlZCYmdGhpcy5fbGlzdGVuZXIobyxuKX0sdGhpcy5fYXBpQ2xpZW50Ll9mcy53YXRjaCh0aGlzLl9wYXRoLHRoaXMuX29wdGlvbnMsbmllKHRoaXMuX3dyYXBwZWRMaXN0ZW5lcikpLnRoZW4obz0+e2lmKHRoaXMuX3dhdGNoZXI9byx0aGlzLl9jbG9zZWQpcmV0dXJuIHRoaXMuX3RlYXJkb3duKCl9KS5jYXRjaChjb25zb2xlLmVycm9yKX1hc3luYyBjbG9zZSgpe3RoaXMuX2Nsb3NlZHx8KHRoaXMuX2Nsb3NlZD0hMCx0aGlzLl9hcGlDbGllbnQuX3dhdGNoZXJzLmRlbGV0ZSh0aGlzKSxhd2FpdCB0aGlzLl90ZWFyZG93bigpKX1hc3luYyBfdGVhcmRvd24oKXthd2FpdCB0aGlzLl93YXRjaGVyPy5jbG9zZSgpLmZpbmFsbHkoKCk9Pnt0aGlzLl93YXRjaGVyPy5bR24ucmVsZWFzZVByb3h5XSgpfSl9fSxkSmU9Y2xhc3N7c3RhdGlje3ModGhpcywiV2ViQ29udGFpbmVyUHJvY2Vzc0ltcGwiKX1vdXRwdXQ7aW5wdXQ7ZXhpdDtfcHJvY2VzcztzdGRvdXQ7c3RkZXJyO2NvbnN0cnVjdG9yKGUsdCxyLGkpe3RoaXMub3V0cHV0PXQsdGhpcy5fcHJvY2Vzcz1lLHRoaXMuaW5wdXQ9bmV3IFdyaXRhYmxlU3RyZWFtKHt3cml0ZTpzKG89Pnt0aGlzLl9nZXRQcm9jZXNzKCk/LndyaXRlKG8pLmNhdGNoKCgpPT57fSl9LCJ3cml0ZSIpfSksdGhpcy5leGl0PXRoaXMuX29uRXhpdCgpLHRoaXMuc3Rkb3V0PXIsdGhpcy5zdGRlcnI9aX1raWxsKCl7dGhpcy5fcHJvY2Vzcz8ua2lsbCgpfXJlc2l6ZShlKXt0aGlzLl9nZXRQcm9jZXNzKCk/LnJlc2l6ZShlKX1hc3luYyBfb25FeGl0KCl7dHJ5e3JldHVybiBhd2FpdCB0aGlzLl9wcm9jZXNzLm9uRXhpdH1maW5hbGx5e3RoaXMuX3Byb2Nlc3M/LltHbi5yZWxlYXNlUHJveHldKCksdGhpcy5fcHJvY2Vzcz1udWxsfX1fZ2V0UHJvY2Vzcygpe3JldHVybiB0aGlzLl9wcm9jZXNzPT1udWxsJiZjb25zb2xlLndhcm4oIlRoaXMgcHJvY2VzcyBhbHJlYWR5IGV4aXRlZCIpLHRoaXMuX3Byb2Nlc3N9fSx1SmU9Y2xhc3N7c3RhdGlje3ModGhpcywiRmlsZVN5c3RlbUFQSUNsaWVudCIpfV9mcztfd2F0Y2hlcnM9bmV3IFNldChbXSk7Y29uc3RydWN0b3IoZSl7dGhpcy5fZnM9ZX1ybSguLi5lKXtyZXR1cm4gdGhpcy5fZnMucm0oLi4uZSl9YXN5bmMgcmVhZEZpbGUoZSx0KXtyZXR1cm4gYXdhaXQgdGhpcy5fZnMucmVhZEZpbGUoZSx0KX1hc3luYyByZW5hbWUoZSx0KXtyZXR1cm4gYXdhaXQgdGhpcy5fZnMucmVuYW1lKGUsdCl9YXN5bmMgd3JpdGVGaWxlKGUsdCxyKXtpZih0IGluc3RhbmNlb2YgVWludDhBcnJheSl7bGV0IGk9dC5idWZmZXIuc2xpY2UodC5ieXRlT2Zmc2V0LHQuYnl0ZU9mZnNldCt0LmJ5dGVMZW5ndGgpO3Q9R24udHJhbnNmZXIobmV3IFVpbnQ4QXJyYXkoaSksW2ldKX1hd2FpdCB0aGlzLl9mcy53cml0ZUZpbGUoZSx0LHIpfWFzeW5jIHJlYWRkaXIoZSx0KXtsZXQgcj1hd2FpdCB0aGlzLl9mcy5yZWFkZGlyKGUsdCk7cmV0dXJuIExOYShyKXx8JE5hKHIpP3I6ci5tYXAobz0+bmV3IGxKZShvLm5hbWUsb1siU3ltYm9sKHR5cGUpIl0pKX1hc3luYyBta2RpcihlLHQpe3JldHVybiBhd2FpdCB0aGlzLl9mcy5ta2RpcihlLHQpfXdhdGNoKGUsdCxyKXtyZXR1cm4gdHlwZW9mIHQ9PSJmdW5jdGlvbiImJihyPXQsdD1udWxsKSxuZXcgY0plKHRoaXMsZSx0LHIpfWFzeW5jIF90ZWFyZG93bigpe3RoaXMuX2ZzW0duLnJlbGVhc2VQcm94eV0oKSxhd2FpdCBQcm9taXNlLmFsbChbLi4udGhpcy5fd2F0Y2hlcnNdLm1hcChlPT5lLmNsb3NlKCkpKX19O3MoX05hLCJ1bnN5bmNocm9uaXplZEJvb3QiKTtzKHBKZSwiYmluYXJ5TGlzdGVuZXIiKTtzKG5pZSwicHJveHlMaXN0ZW5lciIpO3MoVE5hLCJzZXJ2ZXJGYWN0b3J5Iik7cyhMTmEsImlzU3RyaW5nQXJyYXkiKTtzKCROYSwiaXNUeXBlZEFycmF5Q29sbGVjdGlvbiIpO3MoRE5hLCJzdHJlYW1XaXRoUHVzaCIpO3MoQU5hLCJzeW5jU3Vic2NyaXB0aW9uIil9KTt2YXIgeDUsbjZhPWYoKCk9PntvNmEoKTt4NT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIldlYkNvbnRhaW5lckVudmlyb25tZW50Iil9c3RhdGljIHNoYXJlZENvbnRhaW5lcj1udWxsO3N0YXRpYyBib290UHJvbWlzZT1udWxsO19yZWFkeT0hMTt0eXBlPSJ3ZWJjb250YWluZXIiO2dldCByZWFkeSgpe3JldHVybiB0aGlzLl9yZWFkeX1nZXQgY29udGFpbmVyKCl7cmV0dXJuIGEuc2hhcmVkQ29udGFpbmVyfWFzeW5jIGluaXQoKXtpZighKHRoaXMuX3JlYWR5JiZhLnNoYXJlZENvbnRhaW5lcikpe2lmKGEuYm9vdFByb21pc2Upe2F3YWl0IGEuYm9vdFByb21pc2UsdGhpcy5fcmVhZHk9ITA7cmV0dXJufWlmKGEuc2hhcmVkQ29udGFpbmVyKXt0aGlzLl9yZWFkeT0hMDtyZXR1cm59aWYodHlwZW9mIFNoYXJlZEFycmF5QnVmZmVyPiJ1Iil0aHJvdyBuZXcgRXJyb3IoYFdlYkNvbnRhaW5lciByZXF1aXJlcyBTaGFyZWRBcnJheUJ1ZmZlciB3aGljaCBpcyBub3QgYXZhaWxhYmxlLiBFbnN1cmUgeW91ciBzZXJ2ZXIgc2VuZHMgdGhlc2UgaGVhZGVyczoKICBDcm9zcy1PcmlnaW4tT3BlbmVyLVBvbGljeTogc2FtZS1vcmlnaW4KICBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5OiByZXF1aXJlLWNvcnBgKTthLmJvb3RQcm9taXNlPWxHLmJvb3QoKTt0cnl7YS5zaGFyZWRDb250YWluZXI9YXdhaXQgYS5ib290UHJvbWlzZSx0aGlzLl9yZWFkeT0hMH1jYXRjaChlKXt0aHJvdyBhLmJvb3RQcm9taXNlPW51bGwsZX19fWFzeW5jIGRlc3Ryb3koKXthLnNoYXJlZENvbnRhaW5lciYmKGEuc2hhcmVkQ29udGFpbmVyLnRlYXJkb3duKCksYS5zaGFyZWRDb250YWluZXI9bnVsbCxhLmJvb3RQcm9taXNlPW51bGwsdGhpcy5fcmVhZHk9ITEpfWFzeW5jIHJlYWRGaWxlKGUpe3JldHVybiB0aGlzLmVuc3VyZVJlYWR5KCksYXdhaXQgdGhpcy5jb250YWluZXIuZnMucmVhZEZpbGUoZSwidXRmLTgiKX1hc3luYyB3cml0ZUZpbGUoZSx0KXt0aGlzLmVuc3VyZVJlYWR5KCksYXdhaXQgdGhpcy5jb250YWluZXIuZnMud3JpdGVGaWxlKGUsdCwidXRmLTgiKX1hc3luYyByZWFkRGlyKGUpe3JldHVybiB0aGlzLmVuc3VyZVJlYWR5KCksKGF3YWl0IHRoaXMuY29udGFpbmVyLmZzLnJlYWRkaXIoZSx7d2l0aEZpbGVUeXBlczohMH0pKS5tYXAocj0+KHt0eXBlOnIuaXNEaXJlY3RvcnkoKT8iZGlyZWN0b3J5IjoiZmlsZSIsbmFtZTpyLm5hbWUscGF0aDplPT09Ii8iP2AvJHtyLm5hbWV9YDpgJHtlfS8ke3IubmFtZX1gfSkpfWFzeW5jIG1rZGlyKGUpe3RoaXMuZW5zdXJlUmVhZHkoKSxhd2FpdCB0aGlzLmNvbnRhaW5lci5mcy5ta2RpcihlLHtyZWN1cnNpdmU6ITB9KX1hc3luYyBybShlLHQpe3RoaXMuZW5zdXJlUmVhZHkoKSxhd2FpdCB0aGlzLmNvbnRhaW5lci5mcy5ybShlLHtyZWN1cnNpdmU6dD8ucmVjdXJzaXZlPz8hMX0pfWFzeW5jIGV4aXN0cyhlKXt0aGlzLmVuc3VyZVJlYWR5KCk7dHJ5e3JldHVybiBhd2FpdCB0aGlzLmNvbnRhaW5lci5mcy5yZWFkRmlsZShlKSwhMH1jYXRjaHt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuY29udGFpbmVyLmZzLnJlYWRkaXIoZSksITB9Y2F0Y2h7cmV0dXJuITF9fX13YXRjaChlLHQscil7dGhpcy5lbnN1cmVSZWFkeSgpO2xldCBpPXRoaXMuY29udGFpbmVyLmZzLndhdGNoKGUse3JlY3Vyc2l2ZTpyPy5yZWN1cnNpdmU/PyExfSx0KTtyZXR1cm57c3RvcDpzKCgpPT5pLmNsb3NlKCksInN0b3AiKX19YXN5bmMgc3Bhd24oZSx0PVtdKXt0aGlzLmVuc3VyZVJlYWR5KCk7bGV0IHI9YXdhaXQgdGhpcy5jb250YWluZXIuc3Bhd24oZSx0KTtyZXR1cm57b3V0cHV0OnIub3V0cHV0LGlucHV0OnIuaW5wdXQsZXhpdDpyLmV4aXQsa2lsbDpzKCgpPT5yLmtpbGwoKSwia2lsbCIpfX1nZXRTaGVsbENvbW1hbmQoKXtyZXR1cm57Y29tbWFuZDoianNoIixsYWJlbDoianNoIixwcm9tcHQ6In4vIn19YXN5bmMgbW91bnQoZSl7dGhpcy5lbnN1cmVSZWFkeSgpLGF3YWl0IHRoaXMuY29udGFpbmVyLm1vdW50KGUpfWdldENvbnRhaW5lcigpe3JldHVybiB0aGlzLmVuc3VyZVJlYWR5KCksdGhpcy5jb250YWluZXJ9ZW5zdXJlUmVhZHkoKXtpZighdGhpcy5fcmVhZHl8fCF0aGlzLmNvbnRhaW5lcil0aHJvdyBuZXcgRXJyb3IoIldlYkNvbnRhaW5lckVudmlyb25tZW50IG5vdCBpbml0aWFsaXplZC4gQ2FsbCBpbml0KCkgZmlyc3QuIil9fX0pO3ZhciBsNmE9ZigoKT0+e242YSgpfSk7dmFyIGxpZT1mKCgpPT57VGRhKCk7bDZhKCl9KTt2YXIgYzZhPWYoKCk9PntBWWUoKX0pO3ZhciBjRyxmSmU9ZigoKT0+e2NHPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRlcm1pbmFsVGFiTWFuYWdlciIpfXRhYnM9bmV3IE1hcDt0YWJDb3VudGVyPTA7eHRlcm1CdW5kbGU9bnVsbDt4dGVybUZpdEFkZG9uQnVuZGxlPW51bGw7c2V0WHRlcm1Nb2R1bGVzKGUsdCl7dGhpcy54dGVybUJ1bmRsZT1lLHRoaXMueHRlcm1GaXRBZGRvbkJ1bmRsZT10fWdlbmVyYXRlVGFiSWQoKXtyZXR1cm4gdGhpcy50YWJDb3VudGVyKyssYHRlcm1pbmFsLSR7dGhpcy50YWJDb3VudGVyfS0ke0RhdGUubm93KCl9YH1nZXREZWZhdWx0TGFiZWwoZSx0KXtzd2l0Y2goZSl7Y2FzZSJzaGVsbCI6cmV0dXJuImJhc2giO2Nhc2Uic2NyaXB0IjpyZXR1cm4gdD8uc2NyaXB0TmFtZXx8InNjcmlwdCI7Y2FzZSJwYWNrYWdlLXVwZGF0ZSI6cmV0dXJuIHQ/LnBhY2thZ2VOYW1lP2B1cGRhdGUgJHt0LnBhY2thZ2VOYW1lfWA6InVwZGF0ZSI7Y2FzZSJjdXN0b20iOnJldHVybiB0Py5jb21tYW5kfHwicHJvY2VzcyI7ZGVmYXVsdDpyZXR1cm4idGVybWluYWwifX1nZXREZWZhdWx0SWNvbihlKXtzd2l0Y2goZSl7Y2FzZSJzaGVsbCI6cmV0dXJuImx1Y2lkZTp0ZXJtaW5hbCI7Y2FzZSJzY3JpcHQiOnJldHVybiJsdWNpZGU6cGxheSI7Y2FzZSJwYWNrYWdlLXVwZGF0ZSI6cmV0dXJuImx1Y2lkZTpwYWNrYWdlQ2hlY2siO2Nhc2UiY3VzdG9tIjpyZXR1cm4ibHVjaWRlOmNvZGUiO2RlZmF1bHQ6cmV0dXJuImx1Y2lkZTp0ZXJtaW5hbCJ9fWdldFRlcm1pbmFsVGhlbWUoZSl7cmV0dXJuIGU/e2JhY2tncm91bmQ6IiNmZmZmZmYiLGZvcmVncm91bmQ6IiMzMzMzMzMiLGN1cnNvcjoiIzMzMzMzMyIsY3Vyc29yQWNjZW50OiIjZmZmZmZmIixzZWxlY3Rpb246InJnYmEoMCwgMCwgMCwgMC4yKSIsYmxhY2s6IiMwMDAwMDAiLHJlZDoiI2NkMzEzMSIsZ3JlZW46IiMwMGJjMDAiLHllbGxvdzoiIzk0OTgwMCIsYmx1ZToiIzA0NTFhNSIsbWFnZW50YToiI2JjMDViYyIsY3lhbjoiIzA1OThiYyIsd2hpdGU6IiM1NTU1NTUiLGJyaWdodEJsYWNrOiIjNjY2NjY2IixicmlnaHRSZWQ6IiNjZDMxMzEiLGJyaWdodEdyZWVuOiIjMTRjZTE0IixicmlnaHRZZWxsb3c6IiNiNWJhMDAiLGJyaWdodEJsdWU6IiMwNDUxYTUiLGJyaWdodE1hZ2VudGE6IiNiYzA1YmMiLGJyaWdodEN5YW46IiMwNTk4YmMiLGJyaWdodFdoaXRlOiIjYTVhNWE1In06e2JhY2tncm91bmQ6IiMwMDAwMDAiLGZvcmVncm91bmQ6IiNmZmZmZmYiLGN1cnNvcjoiI2ZmZmZmZiIsY3Vyc29yQWNjZW50OiIjMDAwMDAwIixzZWxlY3Rpb246InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSJ9fWNyZWF0ZVRhYihlLHQpe2lmKCF0aGlzLnh0ZXJtQnVuZGxlfHwhdGhpcy54dGVybUZpdEFkZG9uQnVuZGxlKXRocm93IG5ldyBFcnJvcigiVGVybWluYWxUYWJNYW5hZ2VyOiB4dGVybSBtb2R1bGVzIG5vdCBpbml0aWFsaXplZC4gQ2FsbCBzZXRYdGVybU1vZHVsZXMoKSBmaXJzdC4iKTtsZXQgcj10aGlzLmdlbmVyYXRlVGFiSWQoKSxpPWUudHlwZSxvPW5ldyB0aGlzLnh0ZXJtQnVuZGxlLlRlcm1pbmFsKHtjb252ZXJ0RW9sOiEwLGN1cnNvckJsaW5rOiEwLHRoZW1lOnRoaXMuZ2V0VGVybWluYWxUaGVtZSh0KSxmb250RmFtaWx5OidNZW5sbywgTW9uYWNvLCAiQ291cmllciBOZXciLCBtb25vc3BhY2UnLGZvbnRTaXplOjEzLGxpbmVIZWlnaHQ6MS4yfSksbj1uZXcgdGhpcy54dGVybUZpdEFkZG9uQnVuZGxlLkZpdEFkZG9uO28ubG9hZEFkZG9uKG4pO2xldCBsPXtpZDpyLGxhYmVsOmUubGFiZWx8fHRoaXMuZ2V0RGVmYXVsdExhYmVsKGksZS5tZXRhZGF0YSksaWNvbk5hbWU6ZS5pY29uTmFtZXx8dGhpcy5nZXREZWZhdWx0SWNvbihpKSx0eXBlOmksY2xvc2VhYmxlOmUuY2xvc2VhYmxlPz9pIT09InNoZWxsIix0ZXJtaW5hbDpvLGZpdEFkZG9uOm4scHJvY2VzczpudWxsLGlucHV0V3JpdGVyOm51bGwsZXhpdGVkOiExLGV4aXRDb2RlOm51bGwsY3JlYXRlZEF0OkRhdGUubm93KCksbWV0YWRhdGE6ZS5tZXRhZGF0YX07cmV0dXJuIHRoaXMudGFicy5zZXQocixsKSxsfWdldFRhYihlKXtyZXR1cm4gdGhpcy50YWJzLmdldChlKX1nZXRBbGxUYWJzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy50YWJzLnZhbHVlcygpKS5zb3J0KChlLHQpPT5lLmNyZWF0ZWRBdC10LmNyZWF0ZWRBdCl9Z2V0VGFiQ291bnQoKXtyZXR1cm4gdGhpcy50YWJzLnNpemV9aGFzVGFiKGUpe3JldHVybiB0aGlzLnRhYnMuaGFzKGUpfWNsb3NlVGFiKGUpe2xldCB0PXRoaXMudGFicy5nZXQoZSk7aWYoIXQpcmV0dXJuITE7aWYodC5wcm9jZXNzJiYhdC5leGl0ZWQpdHJ5e3QucHJvY2Vzcy5raWxsKCl9Y2F0Y2gocil7Y29uc29sZS53YXJuKCJGYWlsZWQgdG8ga2lsbCBwcm9jZXNzOiIscil9dHJ5e3QudGVybWluYWwuZGlzcG9zZSgpfWNhdGNoKHIpe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGRpc3Bvc2UgdGVybWluYWw6IixyKX1yZXR1cm4gdGhpcy50YWJzLmRlbGV0ZShlKSwhMH1yZW5hbWVUYWIoZSx0KXtsZXQgcj10aGlzLnRhYnMuZ2V0KGUpO3JldHVybiByPyhyLmxhYmVsPXQsITApOiExfW1hcmtUYWJFeGl0ZWQoZSx0KXtsZXQgcj10aGlzLnRhYnMuZ2V0KGUpO3ImJihyLmV4aXRlZD0hMCxyLmV4aXRDb2RlPXQpfXNldFRhYlByb2Nlc3MoZSx0LHIpe2xldCBpPXRoaXMudGFicy5nZXQoZSk7aSYmKGkucHJvY2Vzcz10LGkuaW5wdXRXcml0ZXI9cil9dXBkYXRlQWxsVGhlbWVzKGUpe2xldCB0PXRoaXMuZ2V0VGVybWluYWxUaGVtZShlKTtmb3IobGV0IHIgb2YgdGhpcy50YWJzLnZhbHVlcygpKXIudGVybWluYWwub3B0aW9ucy50aGVtZT10fWRpc3Bvc2VBbGwoKXtmb3IobGV0W2Vdb2YgdGhpcy50YWJzKXRoaXMuY2xvc2VUYWIoZSk7dGhpcy50YWJzLmNsZWFyKCl9fX0pO3ZhciBkNmE9e307bHQoZDZhLHtEZWVzV29ya3NwYWNlVGVybWluYWw6KCk9PmhKZX0pO3ZhciBINCxwbyxoSmUsZEc9ZigoKT0+e2xlKCk7ZWEoKTtRZSgpO2xpZSgpO3ZhKCk7VnNlKCk7ZkplKCk7U2MoKTtIND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scG89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGhKZT0oKCk9PntsZXQgYT1baWUoImRlZXMtd29ya3NwYWNlLXRlcm1pbmFsIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W107dmFyIEI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXb3Jrc3BhY2VUZXJtaW5hbCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoKV0sdT1bJCgpXSx4PVskKHt0eXBlOk51bWJlcn0pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sTj1bSygpXSxPPVtLKCldLEg0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhlY3V0aW9uRW52aXJvbm1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImV4ZWN1dGlvbkVudmlyb25tZW50ImluIFMsImhhcyIpLGdldDpzKFM9PlMuZXhlY3V0aW9uRW52aXJvbm1lbnQsImdldCIpLHNldDpzKChTLEUpPT57Uy5leGVjdXRpb25FbnZpcm9ubWVudD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksSDQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXR1cENvbW1hbmQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InNldHVwQ29tbWFuZCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnNldHVwQ29tbWFuZCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnNldHVwQ29tbWFuZD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGMscCksSDQodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbnZpcm9ubWVudFZhcmlhYmxlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iZW52aXJvbm1lbnRWYXJpYWJsZXMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5lbnZpcm9ubWVudFZhcmlhYmxlcywiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLmVudmlyb25tZW50VmFyaWFibGVzPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbSx2KSxINCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYkJhcldpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0YWJCYXJXaWR0aCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRhYkJhcldpZHRoLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MudGFiQmFyV2lkdGg9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLEg0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1RhYkJhciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic2hvd1RhYkJhciJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnNob3dUYWJCYXIsImdldCIpLHNldDpzKChTLEUpPT57Uy5zaG93VGFiQmFyPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxINCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InRhYnMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50YWJzLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MudGFicz1FfSwic2V0Iil9LG1ldGFkYXRhOk19LF8seiksSDQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3RpdmVUYWJJZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iYWN0aXZlVGFiSWQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5hY3RpdmVUYWJJZCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLmFjdGl2ZVRhYklkPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sVCxQKSxINChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpNfSxudWxsLHQpLEI9cj1lLnZhbHVlLE0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6TX0pfXN0YXRpYyBkZW1vPXMoKCk9PntsZXQgTT1uZXcgeDU7cmV0dXJuIHdgPGRlZXMtd29ya3NwYWNlLXRlcm1pbmFsIC5leGVjdXRpb25FbnZpcm9ubWVudD0ke019PjwvZGVlcy13b3Jrc3BhY2UtdGVybWluYWw+YH0sImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIldvcmtzcGFjZSJdO3Jlc2l6ZU9ic2VydmVyO3RhYk1hbmFnZXI7I2U9cG8odGhpcyxuLG51bGwpO2dldCBleGVjdXRpb25FbnZpcm9ubWVudCgpe3JldHVybiB0aGlzLiNlfXNldCBleGVjdXRpb25FbnZpcm9ubWVudChNKXt0aGlzLiNlPU19I3Q9KHBvKHRoaXMsbCkscG8odGhpcyxjLCIiKSk7Z2V0IHNldHVwQ29tbWFuZCgpe3JldHVybiB0aGlzLiN0fXNldCBzZXR1cENvbW1hbmQoTSl7dGhpcy4jdD1NfSNhPShwbyh0aGlzLHApLHBvKHRoaXMsbSx7fSkpO2dldCBlbnZpcm9ubWVudFZhcmlhYmxlcygpe3JldHVybiB0aGlzLiNhfXNldCBlbnZpcm9ubWVudFZhcmlhYmxlcyhNKXt0aGlzLiNhPU19I3I9KHBvKHRoaXMsdikscG8odGhpcyxiLDE2MCkpO2dldCB0YWJCYXJXaWR0aCgpe3JldHVybiB0aGlzLiNyfXNldCB0YWJCYXJXaWR0aChNKXt0aGlzLiNyPU19I3M9KHBvKHRoaXMsZykscG8odGhpcyxrLCEwKSk7Z2V0IHNob3dUYWJCYXIoKXtyZXR1cm4gdGhpcy4jc31zZXQgc2hvd1RhYkJhcihNKXt0aGlzLiNzPU19I2k9KHBvKHRoaXMsQykscG8odGhpcyxfLFtdKSk7Z2V0IHRhYnMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgdGFicyhNKXt0aGlzLiNpPU19I289KHBvKHRoaXMseikscG8odGhpcyxULG51bGwpKTtnZXQgYWN0aXZlVGFiSWQoKXtyZXR1cm4gdGhpcy4jb31zZXQgYWN0aXZlVGFiSWQoTSl7dGhpcy4jbz1NfXRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249KHBvKHRoaXMsUCksbnVsbCk7aXNCcmlnaHQ9ITE7dGVybWluYWxBY3Rpb25iYXI9bnVsbDtlbnZpcm9ubWVudERlZmVycmVkPW5ldyBIdC5zbWFydHByb21pc2UuRGVmZXJyZWQ7ZW52aXJvbm1lbnRQcm9taXNlPXRoaXMuZW52aXJvbm1lbnREZWZlcnJlZC5wcm9taXNlO2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLnRhYk1hbmFnZXI9bmV3IGNHLHRoaXMucmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKCgpPT57dGhpcy5oYW5kbGVSZXNpemUoKX0pfXN0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICB9CgogICAgICAjYWN0aXZlLXRlcm1pbmFsLWNvbnRhaW5lciB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgICBtYXJnaW46IDIwcHg7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1jb250ZW50IGRlZXMtYWN0aW9uYmFyIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLyogVGFiIGJhciBvbiB0aGUgcmlnaHQgc2lkZSAqLwogICAgICAudGFiLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NiUpIiwiaHNsKDAgMCUgNyUpIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC50YWItYmFyLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUlKSIsImhzbCgwIDAlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC50YWItYmFyLXRpdGxlIHsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC50YWItYmFyLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9uIHsKICAgICAgICB3aWR0aDogMjJweDsKICAgICAgICBoZWlnaHQ6IDIycHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA4MCUpIil9OwogICAgICB9CgogICAgICAudGFiLWxpc3QgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC10YWIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NSUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLXRhYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkwJSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjUlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC10YWIuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDk1JSkiLCJoc2woMjEwIDMwJSAxNSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQwJSkiLCJoc2woMjEwIDEwMCUgNzAlKSIpfTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLXRhYi5leGl0ZWQgewogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKICAgICAgLnRhYi1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRhYi1pY29uLnJ1bm5pbmcgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDE0MiA3MCUgNDAlKSIsImhzbCgxNDIgNzAlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC50YWItbGFiZWwgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZXhpdC1iYWRnZSB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIHBhZGRpbmc6IDFweCA1cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5leGl0LWJhZGdlLnN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMTQyIDcwJSA5MCUpIiwiaHNsKDE0MiAzMCUgMjAlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIgNzAlIDM1JSkiLCJoc2woMTQyIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICAuZXhpdC1iYWRnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcwJSA5MyUpIiwiaHNsKDAgMzAlIDIwJSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNDUlKSIsImhzbCgwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICAudGFiLWNsb3NlIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGVybWluYWwtdGFiOmhvdmVyIC50YWItY2xvc2UgewogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgfQoKICAgICAgLnRhYi1jbG9zZTpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjUlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcwJSA1MCUpIiwiaHNsKDAgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDUwJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAvKiB4dGVybS5qcyBzdHlsZXMgKi8KICAgICAgLnh0ZXJtIHsKICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJyAwOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLnh0ZXJtLmZvY3VzLAogICAgICAueHRlcm06Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0taGVscGVycyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICB6LWluZGV4OiA1OwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLWhlbHBlci10ZXh0YXJlYSB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBib3JkZXI6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGxlZnQ6IC05OTk5ZW07CiAgICAgICAgdG9wOiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgICB6LWluZGV4OiAtNTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcmVzaXplOiBub25lOwogICAgICB9CgogICAgICAueHRlcm0gLmNvbXBvc2l0aW9uLXZpZXcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMzMzMiLCIjZmZmZmZmIil9OwogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC5jb21wb3NpdGlvbi12aWV3LmFjdGl2ZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tdmlld3BvcnQgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tc2NyZWVuIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tc2NyZWVuIGNhbnZhcyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXNjcm9sbC1hcmVhIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC54dGVybS1jaGFyLW1lYXN1cmUtZWxlbWVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IC05OTk5ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgICAgfQoKICAgICAgLnh0ZXJtIHsKICAgICAgICBjdXJzb3I6IHRleHQ7CiAgICAgIH0KCiAgICAgIC54dGVybS5lbmFibGUtbW91c2UtZXZlbnRzIHsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC54dGVybS54dGVybS1jdXJzb3ItcG9pbnRlciB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAueHRlcm0uY29sdW1uLXNlbGVjdC5mb2N1cyB7CiAgICAgICAgY3Vyc29yOiBjcm9zc2hhaXI7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tYWNjZXNzaWJpbGl0eSwKICAgICAgLnh0ZXJtIC54dGVybS1tZXNzYWdlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC5saXZlLXJlZ2lvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IC05OTk5cHg7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAueHRlcm0tZGltIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC54dGVybS11bmRlcmxpbmUgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgTT10aGlzLmFjdGl2ZVRhYklkP3RoaXMudGFiTWFuYWdlci5nZXRUYWIodGhpcy5hY3RpdmVUYWJJZCk6bnVsbDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtY29udGFpbmVyIj4KICAgICAgICA8IS0tIE1haW4gdGVybWluYWwgYXJlYSAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1jb250ZW50Ij4KICAgICAgICAgICR7TT93YAogICAgICAgICAgICA8ZGl2IGlkPSJhY3RpdmUtdGVybWluYWwtY29udGFpbmVyIj48L2Rpdj4KICAgICAgICAgIGA6d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOnRlcm1pbmFsIn0gaWNvblNpemU9IjMyIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3Bhbj5ObyB0ZXJtaW5hbCBvcGVuPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CiAgICAgICAgICA8ZGVlcy1hY3Rpb25iYXI+PC9kZWVzLWFjdGlvbmJhcj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBWZXJ0aWNhbCB0YWIgYmFyIG9uIHRoZSByaWdodCAtLT4KICAgICAgICAke3RoaXMuc2hvd1RhYkJhcj93YAogICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWJhciIgc3R5bGU9IndpZHRoOiAke3RoaXMudGFiQmFyV2lkdGh9cHgiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItYmFyLWhlYWRlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYi1iYXItdGl0bGUiPlRlcm1pbmFsczwvc3Bhbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItYmFyLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWFjdGlvbiIgQGNsaWNrPSR7dGhpcy5oYW5kbGVBZGRUYWJ9IHRpdGxlPSJOZXcgVGVybWluYWwiPgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpwbHVzIn0gaWNvblNpemU9IjE0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1saXN0Ij4KICAgICAgICAgICAgICAke3RoaXMudGFicy5tYXAoUz0+d2AKICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9InRlcm1pbmFsLXRhYiAke1MuaWQ9PT10aGlzLmFjdGl2ZVRhYklkPyJhY3RpdmUiOiIifSAke1MuZXhpdGVkPyJleGl0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc3dpdGNoVG9UYWIoUy5pZCl9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24KICAgICAgICAgICAgICAgICAgICAuaWNvbj0ke1MuaWNvbk5hbWV9CiAgICAgICAgICAgICAgICAgICAgaWNvblNpemU9IjE0IgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0YWItaWNvbiAke1MucHJvY2VzcyYmIVMuZXhpdGVkPyJydW5uaW5nIjoiIn0iCiAgICAgICAgICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYi1sYWJlbCI+JHtTLmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgJHtTLmV4aXRlZD93YAogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJleGl0LWJhZGdlICR7Uy5leGl0Q29kZT09PTA/InN1Y2Nlc3MiOiJlcnJvciJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICR7Uy5leGl0Q29kZX0KICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgICR7Uy5jbG9zZWFibGU/d2AKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFiLWNsb3NlIiBAY2xpY2s9JHtFPT50aGlzLmhhbmRsZVRhYkNsb3NlKEUsUy5pZCl9PgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6eCJ9IGljb25TaXplPSIxMiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2xldCBNPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMuaXNCcmlnaHQ9TS50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj1NLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKEY9Pnt0aGlzLmlzQnJpZ2h0PUYsdGhpcy50YWJNYW5hZ2VyLnVwZGF0ZUFsbFRoZW1lcyhGKX0pO2xldCBTPU9zLmdldEluc3RhbmNlKCksW0UsQV09YXdhaXQgUHJvbWlzZS5hbGwoW1MubG9hZFh0ZXJtKCksUy5sb2FkWHRlcm1GaXRBZGRvbigpXSk7dGhpcy50YWJNYW5hZ2VyLnNldFh0ZXJtTW9kdWxlcyhFLEEpLGF3YWl0IHRoaXMuY3JlYXRlU2hlbGxUYWIoKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtsZXQgTT10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJhY3RpdmUtdGVybWluYWwtY29udGFpbmVyIik7TSYmdGhpcy5yZXNpemVPYnNlcnZlci51bm9ic2VydmUoTSksdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uJiYodGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uPW51bGwpLHRoaXMudGFiTWFuYWdlci5kaXNwb3NlQWxsKCksYXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKX1hc3luYyBoYW5kbGVBZGRUYWIoKXthd2FpdCB0aGlzLmNyZWF0ZVNoZWxsVGFiKCl9aGFuZGxlVGFiQ2xvc2UoTSxTKXtNLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY2xvc2VUYWIoUyl9c3dpdGNoVG9UYWIoTSl7aWYoTT09PXRoaXMuYWN0aXZlVGFiSWQpcmV0dXJuO2xldCBTPXRoaXMudGFiTWFuYWdlci5nZXRUYWIoTSk7aWYoIVMpcmV0dXJuO2xldCBFPXRoaXMuYWN0aXZlVGFiSWQ7dGhpcy5hY3RpdmVUYWJJZCYmdGhpcy5kZXRhY2hBY3RpdmVUZXJtaW5hbCgpLHRoaXMuYWN0aXZlVGFiSWQ9TSx0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9Pnt0aGlzLmF0dGFjaFRlcm1pbmFsVG9Db250YWluZXIoUyksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLXN3aXRjaGVkIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6e3RhYklkOk0scHJldmlvdXNUYWJJZDpFfX0pKX0pfWRldGFjaEFjdGl2ZVRlcm1pbmFsKCl7bGV0IE09dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgiYWN0aXZlLXRlcm1pbmFsLWNvbnRhaW5lciIpO00mJihNLmlubmVySFRNTD0iIil9YXR0YWNoVGVybWluYWxUb0NvbnRhaW5lcihNKXtsZXQgUz10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJhY3RpdmUtdGVybWluYWwtY29udGFpbmVyIik7UyYmKHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShTKSxTLmlubmVySFRNTD0iIixNLnRlcm1pbmFsLm9wZW4oUyksTS5maXRBZGRvbi5maXQoKSxNLnRlcm1pbmFsLmZvY3VzKCkpfWhhbmRsZVJlc2l6ZSgpe2lmKHRoaXMuYWN0aXZlVGFiSWQpe2xldCBNPXRoaXMudGFiTWFuYWdlci5nZXRUYWIodGhpcy5hY3RpdmVUYWJJZCk7TSYmTS5maXRBZGRvbi5maXQoKX19YXN5bmMgc3Bhd25Qcm9jZXNzRm9yVGFiKE0sUyxFPVtdKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl7TS50ZXJtaW5hbC53cml0ZSgiXHgxQlszMW0iKSxNLnRlcm1pbmFsLndyaXRlKGBcdTI3NEMgTm8gZXhlY3V0aW9uIGVudmlyb25tZW50IGF2YWlsYWJsZS5ccgpgKSxNLnRlcm1pbmFsLndyaXRlKCJceDFCWzBtIik7cmV0dXJufXRyeXt0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWR5fHwoTS50ZXJtaW5hbC53cml0ZShgSW5pdGlhbGl6aW5nIGVudmlyb25tZW50Li4uXHIKYCksYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5pbml0KCkpO2xldCBBPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuc3Bhd24oUyxFKTtBLm91dHB1dC5waXBlVG8obmV3IFdyaXRhYmxlU3RyZWFtKHt3cml0ZTpzKFc9PntNLnRlcm1pbmFsLndyaXRlKFcpfSwid3JpdGUiKX0pKTtsZXQgRj1BLmlucHV0LmdldFdyaXRlcigpO00udGVybWluYWwub25EYXRhKFc9PntGLndyaXRlKFcpfSksdGhpcy50YWJNYW5hZ2VyLnNldFRhYlByb2Nlc3MoTS5pZCxBLEYpLHRoaXMudGFicz10aGlzLnRhYk1hbmFnZXIuZ2V0QWxsVGFicygpLEEuZXhpdC50aGVuKFc9Pnt0aGlzLmhhbmRsZVByb2Nlc3NFeGl0KE0uaWQsVyl9KX1jYXRjaChBKXtNLnRlcm1pbmFsLndyaXRlKCJceDFCWzMxbSIpLE0udGVybWluYWwud3JpdGUoYFx1Mjc0QyBGYWlsZWQgdG8gc3Bhd24gcHJvY2VzczogJHtBfVxyCmApLE0udGVybWluYWwud3JpdGUoIlx4MUJbMG0iKSxjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3Bhd24gcHJvY2VzczoiLEEpfX1hc3luYyBnZXRTaGVsbENvbW1hbmQoKXtyZXR1cm4gdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCYmIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZHkmJmF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuaW5pdCgpLHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQ/LmdldFNoZWxsQ29tbWFuZD9hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmdldFNoZWxsQ29tbWFuZCgpOntjb21tYW5kOiJqc2giLGxhYmVsOiJqc2giLHByb21wdDoifi8ifX1oYW5kbGVQcm9jZXNzRXhpdChNLFMpe2xldCBFPXRoaXMudGFiTWFuYWdlci5nZXRUYWIoTSk7aWYoIUUpcmV0dXJuO3RoaXMudGFiTWFuYWdlci5tYXJrVGFiRXhpdGVkKE0sUyk7bGV0IEE9Uz09PTA/YFxyClx4MUJbMzJtW1Byb2Nlc3MgY29tcGxldGVkIHN1Y2Nlc3NmdWxseV1ceDFCWzBtXHIKYDpgXHIKXHgxQlszMW1bUHJvY2VzcyBleGl0ZWQgd2l0aCBjb2RlICR7U31dXHgxQlswbVxyCmA7RS50ZXJtaW5hbC53cml0ZShBKSx0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJwcm9jZXNzLWNvbXBsZXRlIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6e3RhYklkOk0sZXhpdENvZGU6U319KSksRS5jbG9zZWFibGUmJnRoaXMuc2hvd0V4aXRlZFRhYkFjdGlvbmJhcihNLEUubGFiZWwsUyl9YXN5bmMgc2hvd0V4aXRlZFRhYkFjdGlvbmJhcihNLFMsRSl7bGV0IEE9RT09PTA7KGF3YWl0IHRoaXMuc2hvd0FjdGlvbmJhcih7bWVzc2FnZTpBP2AiJHtTfSIgY29tcGxldGVkLiBDbG9zZSB0YWI/YDpgIiR7U30iIGV4aXRlZCAoY29kZSAke0V9KS4gQ2xvc2UgdGFiP2AsdHlwZTpBPyJpbmZvIjoid2FybmluZyIsaWNvbjpBPyJsdWNpZGU6Y2hlY2tDaXJjbGUiOiJsdWNpZGU6YWxlcnRUcmlhbmdsZSIsYWN0aW9uczpbe2lkOiJjbG9zZSIsbGFiZWw6IkNsb3NlIFRhYiIscHJpbWFyeTohMH0se2lkOiJrZWVwIixsYWJlbDoiS2VlcCBPcGVuIn1dLHRpbWVvdXQ6e2R1cmF0aW9uOjFlNCxkZWZhdWx0QWN0aW9uSWQ6ImNsb3NlIn0sZGlzbWlzc2libGU6ITB9KSkuYWN0aW9uSWQ9PT0iY2xvc2UiJiZ0aGlzLmNsb3NlVGFiKE0pfWFzeW5jIGNyZWF0ZVNoZWxsVGFiKE0pe2xldCBTPWF3YWl0IHRoaXMuZ2V0U2hlbGxDb21tYW5kKCksRT10aGlzLnRhYk1hbmFnZXIuY3JlYXRlVGFiKHt0eXBlOiJzaGVsbCIsbGFiZWw6TXx8YCR7Uy5sYWJlbHx8Uy5jb21tYW5kfSAke3RoaXMudGFiTWFuYWdlci5nZXRUYWJDb3VudCgpKzF9YCxjbG9zZWFibGU6dGhpcy50YWJNYW5hZ2VyLmdldFRhYkNvdW50KCk+MH0sdGhpcy5pc0JyaWdodCk7cmV0dXJuIHRoaXMudGFicz10aGlzLnRhYk1hbmFnZXIuZ2V0QWxsVGFicygpLHRoaXMuc3dpdGNoVG9UYWIoRS5pZCksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCB0aGlzLnNwYXduUHJvY2Vzc0ZvclRhYihFLFMuY29tbWFuZCxTLmFyZ3N8fFtdKSx0aGlzLnRhYk1hbmFnZXIuZ2V0VGFiQ291bnQoKT09PTEmJnRoaXMuc2V0dXBDb21tYW5kJiYoYXdhaXQgdGhpcy53YWl0Rm9yUHJvbXB0KEUudGVybWluYWwsUy5wcm9tcHR8fCJ+LyIpLEUuaW5wdXRXcml0ZXImJkUuaW5wdXRXcml0ZXIud3JpdGUodGhpcy5zZXR1cENvbW1hbmQpKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItY3JlYXRlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt0YWJJZDpFLmlkfX0pKSxFLmlkfWFzeW5jIGNyZWF0ZVByb2Nlc3NUYWIoTSl7bGV0IFM9dGhpcy50YWJNYW5hZ2VyLmNyZWF0ZVRhYihNLHRoaXMuaXNCcmlnaHQpO3JldHVybiB0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSxNLnN3aXRjaFRvVGFiIT09ITEmJnRoaXMuc3dpdGNoVG9UYWIoUy5pZCksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxNLmNvbW1hbmQmJmF3YWl0IHRoaXMuc3Bhd25Qcm9jZXNzRm9yVGFiKFMsTS5jb21tYW5kLE0uYXJncyksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLWNyZWF0ZWQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwLGRldGFpbDp7dGFiSWQ6Uy5pZH19KSksUy5pZH1nZXRBY3RpdmVUYWIoKXtyZXR1cm4gdGhpcy5hY3RpdmVUYWJJZCYmdGhpcy50YWJNYW5hZ2VyLmdldFRhYih0aGlzLmFjdGl2ZVRhYklkKXx8bnVsbH1nZXRUYWJzKCl7cmV0dXJuIHRoaXMudGFiTWFuYWdlci5nZXRBbGxUYWJzKCl9c2VsZWN0VGFiKE0pe3JldHVybiB0aGlzLnRhYk1hbmFnZXIuaGFzVGFiKE0pPyh0aGlzLnN3aXRjaFRvVGFiKE0pLCEwKTohMX1jbG9zZVRhYihNKXtsZXQgUz10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKE0pO2lmKCFTfHwhUy5jbG9zZWFibGUpcmV0dXJuITE7aWYoTT09PXRoaXMuYWN0aXZlVGFiSWQpe2xldCBFPXRoaXMudGFiTWFuYWdlci5nZXRBbGxUYWJzKCksQT1FLmZpbmRJbmRleChXPT5XLmlkPT09TSksRj1FW0ErMV18fEVbQS0xXTtGP3RoaXMuc3dpdGNoVG9UYWIoRi5pZCk6KHRoaXMuYWN0aXZlVGFiSWQ9bnVsbCx0aGlzLmRldGFjaEFjdGl2ZVRlcm1pbmFsKCkpfXJldHVybiB0aGlzLnRhYk1hbmFnZXIuY2xvc2VUYWIoTSksdGhpcy50YWJzPXRoaXMudGFiTWFuYWdlci5nZXRBbGxUYWJzKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLWNsb3NlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt0YWJJZDpNfX0pKSwhMH13cml0ZVRvVGFiKE0sUyl7bGV0IEU9dGhpcy50YWJNYW5hZ2VyLmdldFRhYihNKTtyZXR1cm4gRT8oRS50ZXJtaW5hbC53cml0ZShTKSwhMCk6ITF9c2VuZElucHV0VG9UYWIoTSxTKXtsZXQgRT10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKE0pO3JldHVybiFFfHwhRS5pbnB1dFdyaXRlcj8hMTooRS5pbnB1dFdyaXRlci53cml0ZShTKSwhMCl9YXN5bmMgc2hvd0FjdGlvbmJhcihNKXtyZXR1cm4gdGhpcy50ZXJtaW5hbEFjdGlvbmJhcnx8KHRoaXMudGVybWluYWxBY3Rpb25iYXI9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLWFjdGlvbmJhciIpKSx0aGlzLnRlcm1pbmFsQWN0aW9uYmFyPy5zaG93KE0pfWFzeW5jIHdhaXRGb3JQcm9tcHQoTSxTKXtyZXR1cm4gbmV3IFByb21pc2UoRT0+e2xldCBBPXMoKCk9PntsZXQgRj1NLmJ1ZmZlci5hY3RpdmU7Zm9yKGxldCBXPTA7VzxGLmxlbmd0aDtXKyspe2xldCBqPUYuZ2V0TGluZShXKTtpZihqJiZqLnRyYW5zbGF0ZVRvU3RyaW5nKCkuaW5jbHVkZXMoUykpe3NldFRpbWVvdXQoKCk9PntFKCl9LDEwMCk7cmV0dXJufX1zZXRUaW1lb3V0KEEsMTAwKX0sImNoZWNrUHJvbXB0Iik7QSgpfSl9YXN5bmMgc2V0RW52aXJvbm1lbnRWYXJpYWJsZXMoTSl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpdGhyb3cgbmV3IEVycm9yKCJObyBleGVjdXRpb24gZW52aXJvbm1lbnQgYXZhaWxhYmxlIik7bGV0IFM9IiI7Zm9yKGxldCBFIGluIE0pUys9YGV4cG9ydCAke0V9PSIke01bRV19IgpgO2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud3JpdGVGaWxlKCIvc291cmNlLmVudiIsUyl9Z2V0RXhlY3V0aW9uRW52aXJvbm1lbnQoKXtyZXR1cm4gdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudH1zdGF0aWN7cG8ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIG1KZSxnSmUsdTZhLHA2YSxmNmEsaDZhLG02YT1mKCgpPT57bGUoKTtpbSgpO240KCk7WXRlKCk7Y2FlKCk7aWFlKCk7VGYoKTtIc2UoKTttSmU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGdKZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sdTZhPSgoKT0+e2xldCBhPVtpZSgiZGVtby12aWV3LWRhc2hib2FyZCIpXSxlLHQ9W10scixpPXBlO3ZhciBvPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZW1vVmlld0Rhc2hib2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO21KZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgfQogICAgICBoMSB7CiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMCIsIiNmZmYiKX07CiAgICAgIH0KICAgICAgZGVlcy1zdGF0c2dyaWQgewogICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgIH0KICAgIGBdO3N0YXRzVGlsZXM9W3tpZDoidXNlcnMiLHRpdGxlOiJBY3RpdmUgVXNlcnMiLHZhbHVlOjEyMzQsdHlwZToibnVtYmVyIixpY29uOiJmYVVzZXJzIixkZXNjcmlwdGlvbjoiKzE1JSBmcm9tIGxhc3Qgd2VlayIsY29sb3I6IiMyMmM1NWUifSx7aWQ6InBhZ2V2aWV3cyIsdGl0bGU6IlBhZ2UgVmlld3MiLHZhbHVlOjU2NzAwLHR5cGU6Im51bWJlciIsaWNvbjoiZmFFeWUiLGRlc2NyaXB0aW9uOiI1Ni43ayB0b3RhbCB2aWV3cyIsY29sb3I6IiMzYjgyZjYifSx7aWQ6InVwdGltZSIsdGl0bGU6IlN5c3RlbSBVcHRpbWUiLHZhbHVlOjg5LHVuaXQ6IiUiLHR5cGU6ImdhdWdlIixpY29uOiJmYVNlcnZlciIsZGVzY3JpcHRpb246Ikxhc3QgMzAgZGF5cyIsY29sb3I6IiMxMGI5ODEiLGdhdWdlT3B0aW9uczp7bWluOjAsbWF4OjEwMCx0aHJlc2hvbGRzOlt7dmFsdWU6ODAsY29sb3I6IiNlZjQ0NDQifSx7dmFsdWU6OTAsY29sb3I6IiNmNTllMGIifSx7dmFsdWU6MTAwLGNvbG9yOiIjMTBiOTgxIn1dfX0se2lkOiJyZXNwb25zZSIsdGl0bGU6IkF2ZyBSZXNwb25zZSBUaW1lIix2YWx1ZTozLjIsdW5pdDoicyIsdHlwZToibnVtYmVyIixpY29uOiJmYUNsb2NrIixkZXNjcmlwdGlvbjoiLTAuNXMgaW1wcm92ZW1lbnQiLGNvbG9yOiIjZjU5ZTBiIn0se2lkOiJyZXZlbnVlIix0aXRsZToiTW9udGhseSBSZXZlbnVlIix2YWx1ZTo0ODUyMCx1bml0OiIkIix0eXBlOiJ0cmVuZCIsaWNvbjoiZmFEb2xsYXJTaWduIixkZXNjcmlwdGlvbjoiKzguMiUgZ3Jvd3RoIixjb2xvcjoiIzIyYzU1ZSIsdHJlbmREYXRhOlszNWUzLDM4ZTMsMzc1MDAsNDFlMywzOTgwMCw0MmUzLDQ0MTAwLDQzMjAwLDQ1NjAwLDQ3MTAwLDQ2ODAwLDQ4NTIwXX0se2lkOiJ0cmFmZmljIix0aXRsZToiVHJhZmZpYyBUcmVuZCIsdmFsdWU6MTY4MCx0eXBlOiJ0cmVuZCIsaWNvbjoiZmFDaGFydExpbmUiLGRlc2NyaXB0aW9uOiJMYXN0IDcgZGF5cyIsY29sb3I6IiMzYjgyZjYiLHRyZW5kRGF0YTpbMTIwMCwxMzUwLDExMDAsMTQ1MCwxNjAwLDE1NTAsMTY4MF19XTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGgxPkRhc2hib2FyZDwvaDE+CiAgICAgIDxwPldlbGNvbWUgdG8geW91ciBhcHBsaWNhdGlvbiBkYXNoYm9hcmQuIEhlcmUncyBhbiBvdmVydmlldyBvZiB5b3VyIG1ldHJpY3M6PC9wPgogICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAudGlsZXM9JHt0aGlzLnN0YXRzVGlsZXN9CiAgICAgICAgQHRpbGUtYWN0aW9uPSR7bj0+e2NvbnNvbGUubG9nKCJUaWxlIGFjdGlvbjoiLG4uZGV0YWlsKX19CiAgICAgID48L2RlZXMtc3RhdHNncmlkPgoKICAgICAgPGgyIHN0eWxlPSJtYXJnaW4tdG9wOiA0MHB4OyI+UmVjZW50IEFjdGl2aXR5PC9oMj4KICAgICAgPHA+QmVsb3cgaXMgYSBsb2cgb2YgcmVjZW50IHN5c3RlbSBldmVudHMgYW5kIHVzZXIgYWN0aXZpdHkgdG8gZGVtb25zdHJhdGUgc2Nyb2xsYWJsZSBjb250ZW50LjwvcD4KCiAgICAgICR7W3t0aW1lOiIyIG1pbiBhZ28iLGV2ZW50OiJVc2VyIGpvaG5AZXhhbXBsZS5jb20gbG9nZ2VkIGluIGZyb20gMTkyLjE2OC4xLjQyIix0eXBlOiJpbmZvIn0se3RpbWU6IjUgbWluIGFnbyIsZXZlbnQ6IkRlcGxveW1lbnQgdjMuNTIuMSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5IG9uIHByb2R1Y3Rpb24iLHR5cGU6InN1Y2Nlc3MifSx7dGltZToiMTIgbWluIGFnbyIsZXZlbnQ6IkRhdGFiYXNlIGJhY2t1cCBmaW5pc2hlZCBcdTIwMTQgMi40IEdCIGNvbXByZXNzZWQiLHR5cGU6ImluZm8ifSx7dGltZToiMTggbWluIGFnbyIsZXZlbnQ6IlNTTCBjZXJ0aWZpY2F0ZSByZW5ld2VkIGZvciBhcGkuZXhhbXBsZS5jb20gKGV4cGlyZXMgMjAyNy0wNC0wMykiLHR5cGU6InN1Y2Nlc3MifSx7dGltZToiMjUgbWluIGFnbyIsZXZlbnQ6Ik1lbW9yeSB1c2FnZSBzcGlrZSBvbiB3b3JrZXItMDMgKDkyJSkgXHUyMDE0IGF1dG8tc2NhbGVkIHRvIDQgaW5zdGFuY2VzIix0eXBlOiJ3YXJuaW5nIn0se3RpbWU6IjMxIG1pbiBhZ28iLGV2ZW50OiJOZXcgdXNlciByZWdpc3RyYXRpb246IHNhcmFoQGNvbXBhbnkuaW8iLHR5cGU6ImluZm8ifSx7dGltZToiNDUgbWluIGFnbyIsZXZlbnQ6J1NjaGVkdWxlZCBqb2IgImNsZWFudXAtdGVtcC1maWxlcyIgY29tcGxldGVkIFx1MjAxNCByZW1vdmVkIDEsMjQ3IGZpbGVzJyx0eXBlOiJpbmZvIn0se3RpbWU6IjEgaG91ciBhZ28iLGV2ZW50OiJBUEkgcmF0ZSBsaW1pdCByZWFjaGVkIGZvciBjbGllbnQgYXBwLW1vYmlsZS1pb3MgKDQyOSByZXNwb25zZXMpIix0eXBlOiJ3YXJuaW5nIn0se3RpbWU6IjEuNSBob3VycyBhZ28iLGV2ZW50OiJDRE4gY2FjaGUgcHVyZ2VkIGZvciAvYXNzZXRzLyogXHUyMDE0IDM0MCBvYmplY3RzIGludmFsaWRhdGVkIix0eXBlOiJpbmZvIn0se3RpbWU6IjIgaG91cnMgYWdvIixldmVudDoiRmFpbGVkIGxvZ2luIGF0dGVtcHQgZm9yIGFkbWluQGV4YW1wbGUuY29tIGZyb20gMjAzLjAuMTEzLjUwIChibG9ja2VkKSIsdHlwZToiZXJyb3IifSx7dGltZToiMi41IGhvdXJzIGFnbyIsZXZlbnQ6IldlYmhvb2sgZGVsaXZlcnkgdG8gaHR0cHM6Ly9ob29rcy5zbGFjay5jb20gc3VjY2VlZGVkICgyMDAgT0spIix0eXBlOiJpbmZvIn0se3RpbWU6IjMgaG91cnMgYWdvIixldmVudDonQ3JvbiBqb2IgImdlbmVyYXRlLXJlcG9ydHMiIHN0YXJ0ZWQgXHUyMDE0IHByb2Nlc3NpbmcgUTEgMjAyNiBkYXRhJyx0eXBlOiJpbmZvIn0se3RpbWU6IjMuNSBob3VycyBhZ28iLGV2ZW50OiJMb2FkIGJhbGFuY2VyIGhlYWx0aCBjaGVjazogYWxsIDggbm9kZXMgaGVhbHRoeSIsdHlwZToic3VjY2VzcyJ9LHt0aW1lOiI0IGhvdXJzIGFnbyIsZXZlbnQ6IkROUyBwcm9wYWdhdGlvbiBjb21wbGV0ZSBmb3IgbmV3IHN1YmRvbWFpbiBzdGFnaW5nLmV4YW1wbGUuY29tIix0eXBlOiJzdWNjZXNzIn1dLm1hcChuPT53YAogICAgICAgIDxkaXYgc3R5bGU9IgogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDsKICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgIj4KICAgICAgICAgIDxzcGFuIHN0eWxlPSIKICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDU1JSkiLCJoc2woMCAwJSA0NSUpIil9OwogICAgICAgICAgIj4ke24udGltZX08L3NwYW4+CiAgICAgICAgICA8c3BhbiBzdHlsZT0iCiAgICAgICAgICAgIGNvbG9yOiAke24udHlwZT09PSJlcnJvciI/aC5iZFRoZW1lKCJoc2woMCA3MiUgNTAlKSIsImhzbCgwIDcyJSA2NSUpIik6bi50eXBlPT09Indhcm5pbmciP2guYmRUaGVtZSgiaHNsKDI1IDk1JSA1MCUpIiwiaHNsKDI1IDk1JSA2MyUpIik6bi50eXBlPT09InN1Y2Nlc3MiP2guYmRUaGVtZSgiaHNsKDE0MiA3MCUgNDAlKSIsImhzbCgxNDIgNzAlIDU1JSkiKTpoLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA3NSUpIil9OwogICAgICAgICAgIj4ke24uZXZlbnR9PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgKX0KICAgIGB9c3RhdGlje2dKZShyLHQpfX07cmV0dXJuIG89cn0pKCkscDZhPSgoKT0+e2xldCBhPVtpZSgiZGVtby12aWV3LWFuYWx5dGljcyIpXSxlLHQ9W10scixpPXBlO3ZhciBvPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZW1vVmlld0FuYWx5dGljcyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO21KZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgfQogICAgICBoMSB7CiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMCIsIiNmZmYiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8aDE+QW5hbHl0aWNzPC9oMT4KICAgICAgPHA+VGhpcyBpcyB0aGUgYW5hbHl0aWNzIHZpZXcuIFlvdSBjYW4gYWRkIGNoYXJ0cyBhbmQgbWV0cmljcyBoZXJlLjwvcD4KICAgIGB9c3RhdGlje2dKZShyLHQpfX07cmV0dXJuIG89cn0pKCksZjZhPSgoKT0+e2xldCBhPVtpZSgiZGVtby12aWV3LXNldHRpbmdzIildLGUsdD1bXSxyLGk9cGU7dmFyIG89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlbW9WaWV3U2V0dGluZ3MiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDttSmUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bn0sbnVsbCx0KSxvPXI9ZS52YWx1ZSxuJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIH0KICAgICAgaDEgewogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAiLCIjZmZmIil9OwogICAgICB9CiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIHsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgICB9CiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIGgyIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNjY2MiKX07CiAgICAgIH0KICAgICAgLmhvcml6b250YWwtZm9ybS1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1ZjVmNSIsIiMxYTFhMWEiKX07CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgbWFyZ2luOiAxNXB4IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8aDE+U2V0dGluZ3M8L2gxPgogICAgICA8cD5Db25maWd1cmUgeW91ciBhcHBsaWNhdGlvbiBzZXR0aW5ncyBiZWxvdzo8L3A+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uIj4KICAgICAgICA8aDI+R2VuZXJhbCBTZXR0aW5nczwvaDI+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJhcHBOYW1lIiBsYWJlbD0iQXBwbGljYXRpb24gTmFtZSIgdmFsdWU9Ik15IEFwcCI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0iYXBpRW5kcG9pbnQiIGxhYmVsPSJBUEkgRW5kcG9pbnQiIHZhbHVlPSJodHRwczovL2FwaS5leGFtcGxlLmNvbSI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICBrZXk9ImVudmlyb25tZW50IgogICAgICAgICAgICBsYWJlbD0iRW52aXJvbm1lbnQiCiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkRldmVsb3BtZW50IixrZXk6ImRldiJ9LHtvcHRpb246IlN0YWdpbmciLGtleToic3RhZ2luZyJ9LHtvcHRpb246IlByb2R1Y3Rpb24iLGtleToicHJvZCJ9XX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiUHJvZHVjdGlvbiIsa2V5OiJwcm9kIn19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJlbmFibGVOb3RpZmljYXRpb25zIiBsYWJlbD0iRW5hYmxlIE5vdGlmaWNhdGlvbnMiIHZhbHVlPSJ0cnVlIj48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCBrZXk9ImVuYWJsZUFuYWx5dGljcyIgbGFiZWw9IkVuYWJsZSBBbmFseXRpY3MiIHZhbHVlPSJmYWxzZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+U2F2ZSBHZW5lcmFsIFNldHRpbmdzPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24iPgogICAgICAgIDxoMj5EaXNwbGF5IFByZWZlcmVuY2VzPC9oMj4KICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWZvcm0tc2VjdGlvbiI+CiAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMTZweDsiPlF1aWNrIGRpc3BsYXkgc2V0dGluZ3MgdXNpbmcgaG9yaXpvbnRhbCBsYXlvdXQ6PC9wPgogICAgICAgICAgPGRlZXMtZm9ybSBob3Jpem9udGFsLWxheW91dD4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgICBrZXk9InRoZW1lIgogICAgICAgICAgICAgIGxhYmVsPSJUaGVtZSIKICAgICAgICAgICAgICAuZW5hYmxlU2VhcmNoPSR7ITF9CiAgICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiTGlnaHQiLGtleToibGlnaHQifSx7b3B0aW9uOiJEYXJrIixrZXk6ImRhcmsifSx7b3B0aW9uOiJBdXRvIixrZXk6ImF1dG8ifV19CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiRGFyayIsa2V5OiJkYXJrIn19CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgICAga2V5PSJsYW5ndWFnZSIKICAgICAgICAgICAgICBsYWJlbD0iTGFuZ3VhZ2UiCiAgICAgICAgICAgICAgLmVuYWJsZVNlYXJjaD0keyExfQogICAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkVuZ2xpc2giLGtleToiZW4ifSx7b3B0aW9uOiJHZXJtYW4iLGtleToiZGUifSx7b3B0aW9uOiJTcGFuaXNoIixrZXk6ImVzIn0se29wdGlvbjoiRnJlbmNoIixrZXk6ImZyIn1dfQogICAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0ke3tvcHRpb246IkVuZ2xpc2giLGtleToiZW4ifX0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJjb21wYWN0TW9kZSIgbGFiZWw9IkNvbXBhY3QgTW9kZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbiI+CiAgICAgICAgPGgyPk5vdGlmaWNhdGlvbiBTZXR0aW5nczwvaDI+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IkVtYWlsIEZyZXF1ZW5jeSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJSZWFsLXRpbWUiLCJEYWlseSBEaWdlc3QiLCJXZWVrbHkgU3VtbWFyeSIsIk5ldmVyIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJSZWFsLXRpbWUifQogICAgICAgICAgICAua2V5PSR7ImVtYWlsRnJlcXVlbmN5In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IGtleT0icHVzaE5vdGlmaWNhdGlvbnMiIGxhYmVsPSJFbmFibGUgUHVzaCBOb3RpZmljYXRpb25zIiB2YWx1ZT0idHJ1ZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJzb3VuZEFsZXJ0cyIgbGFiZWw9IlBsYXkgU291bmQgZm9yIEFsZXJ0cyIgdmFsdWU9InRydWUiPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PlVwZGF0ZSBOb3RpZmljYXRpb25zPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje2dKZShyLHQpfX07cmV0dXJuIG89cn0pKCksaDZhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgYm9keSB7CiAgICAgIG1hcmdpbjogMDsKICAgICAgcGFkZGluZzogMDsKICAgIH0KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICBsZWZ0OiAwOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtc2ltcGxlLWFwcGRhc2gKICAgICAgbmFtZT0iTXkgQXBwbGljYXRpb24iCiAgICAgIHRlcm1pbmFsU2V0dXBDb21tYW5kPSJlY2hvICdXZWxjb21lIHRvIHRoZSB0ZXJtaW5hbCEnIgogICAgICAuZ2xvYmFsTWVzc2FnZXM9JHtbe2lkOiJ1cGRhdGUiLHR5cGU6ImluZm8iLG1lc3NhZ2U6IkEgbmV3IHZlcnNpb24gKHYzLjUwLjApIGlzIGF2YWlsYWJsZSB3aXRoIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyBhbmQgYnVnIGZpeGVzLiIsZGlzbWlzc2libGU6ITAsYWN0aW9uczpbe25hbWU6IlVwZGF0ZSBOb3ciLGljb25OYW1lOiJsdWNpZGU6ZG93bmxvYWQiLGFjdGlvbjpzKCgpPT5hbGVydCgiVXBkYXRpbmcuLi4iKSwiYWN0aW9uIil9LHtuYW1lOiJSZWxlYXNlIE5vdGVzIixhY3Rpb246cygoKT0+YWxlcnQoIk9wZW5pbmcgcmVsZWFzZSBub3Rlcy4uLiIpLCJhY3Rpb24iKX1dfSx7aWQ6Im1haW50ZW5hbmNlIix0eXBlOiJ3YXJuaW5nIixtZXNzYWdlOiJTY2hlZHVsZWQgbWFpbnRlbmFuY2Ugd2luZG93OiBBcHJpbCA1LCAyMDI2IDAyOjAwXHUyMDEzMDY6MDAgVVRDLiBTb21lIHNlcnZpY2VzIG1heSBiZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZS4iLGRpc21pc3NpYmxlOiEwfSx7aWQ6ImNyaXRpY2FsIix0eXBlOiJlcnJvciIsbWVzc2FnZToiWW91ciBTU0wgY2VydGlmaWNhdGUgZXhwaXJlcyBpbiAzIGRheXMuIFJlbmV3IG5vdyB0byBhdm9pZCBzZXJ2aWNlIGRpc3J1cHRpb24uIixkaXNtaXNzaWJsZTohMSxhY3Rpb25zOlt7bmFtZToiUmVuZXcgQ2VydGlmaWNhdGUiLGljb25OYW1lOiJsdWNpZGU6c2hpZWxkQ2hlY2siLGFjdGlvbjpzKCgpPT5hbGVydCgiUmVuZXdpbmcgY2VydGlmaWNhdGUuLi4iKSwiYWN0aW9uIil9XX1dfQogICAgICAudmlld1RhYnM9JHtbe25hbWU6IkRhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixlbGVtZW50OnU2YX0se25hbWU6IkFuYWx5dGljcyIsaWNvbk5hbWU6Imx1Y2lkZTpsaW5lQ2hhcnQiLGVsZW1lbnQ6cDZhLHN1YlZpZXdzOlt7bmFtZToiT3ZlcnZpZXciLGljb25OYW1lOiJsdWNpZGU6YWN0aXZpdHkiLGVsZW1lbnQ6cDZhfSx7bmFtZToiUmVwb3J0cyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlVGV4dCIsZWxlbWVudDp1NmF9XX0se25hbWU6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixzdWJWaWV3czpbe25hbWU6IlByb2ZpbGUiLGljb25OYW1lOiJsdWNpZGU6dXNlciIsZWxlbWVudDpmNmF9LHtuYW1lOiJCaWxsaW5nIixpY29uTmFtZToibHVjaWRlOmNyZWRpdENhcmQiLGVsZW1lbnQ6ZjZhfV19XX0KICAgICAgQGxvZ291dD0keygpPT57Y29uc29sZS5sb2coIkxvZ291dCBldmVudCB0cmlnZ2VyZWQiKSxhbGVydCgiTG9nb3V0IGNsaWNrZWQhIil9fQogICAgICBAdmlldy1zZWxlY3Q9JHthPT57Y29uc29sZS5sb2coIlZpZXcgc2VsZWN0ZWQ6IixhLmRldGFpbC52aWV3Lm5hbWUpfX0KICAgID48L2RlZXMtc2ltcGxlLWFwcGRhc2g+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgeTUsZG4sZzZhLGI2YT1mKCgpPT57bTZhKCk7bGUoKTt2YSgpO1FlKCk7eTU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGRuPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxnNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNpbXBsZS1hcHBkYXNoIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W107dmFyIE89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTaW1wbGVBcHBEYXNoIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKHt0eXBlOkFycmF5fSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6QXJyYXl9KV0seT1bSygpXSxOPVtLKCldLHk1KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4ibmFtZSJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLm5hbWUsImdldCIpLHNldDpzKChQLEIpPT57UC5uYW1lPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbixsKSx5NSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpZXdUYWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFA9PiJ2aWV3VGFicyJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLnZpZXdUYWJzLCJnZXQiKSxzZXQ6cygoUCxCKT0+e1Audmlld1RhYnM9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxjLHApLHk1KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGVybWluYWxTZXR1cENvbW1hbmQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+InRlcm1pbmFsU2V0dXBDb21tYW5kImluIFAsImhhcyIpLGdldDpzKFA9PlAudGVybWluYWxTZXR1cENvbW1hbmQsImdldCIpLHNldDpzKChQLEIpPT57UC50ZXJtaW5hbFNldHVwQ29tbWFuZD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdikseTUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJnbG9iYWxNZXNzYWdlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4iZ2xvYmFsTWVzc2FnZXMiaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC5nbG9iYWxNZXNzYWdlcywiZ2V0Iiksc2V0OnMoKFAsQik9PntQLmdsb2JhbE1lc3NhZ2VzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYixnKSx5NSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkVmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4ic2VsZWN0ZWRWaWV3ImluIFAsImhhcyIpLGdldDpzKFA9PlAuc2VsZWN0ZWRWaWV3LCJnZXQiKSxzZXQ6cygoUCxCKT0+e1Auc2VsZWN0ZWRWaWV3PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sayxDKSx5NSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Il9hY3RpdmVNZXNzYWdlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4iX2FjdGl2ZU1lc3NhZ2VzImluIFAsImhhcyIpLGdldDpzKFA9PlAuX2FjdGl2ZU1lc3NhZ2VzLCJnZXQiKSxzZXQ6cygoUCxCKT0+e1AuX2FjdGl2ZU1lc3NhZ2VzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSx5NShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPWg2YTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlNpbXBsZSJdOyNlPWRuKHRoaXMsbiwiQXBwbGljYXRpb24gRGFzaGJvYXJkIik7Z2V0IG5hbWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbmFtZShUKXt0aGlzLiNlPVR9I3Q9KGRuKHRoaXMsbCksZG4odGhpcyxjLFtdKSk7Z2V0IHZpZXdUYWJzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHZpZXdUYWJzKFQpe3RoaXMuI3Q9VH0jYT0oZG4odGhpcyxwKSxkbih0aGlzLG0sJ2VjaG8gIlRlcm1pbmFsIHJlYWR5IicpKTtnZXQgdGVybWluYWxTZXR1cENvbW1hbmQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgdGVybWluYWxTZXR1cENvbW1hbmQoVCl7dGhpcy4jYT1UfSNyPShkbih0aGlzLHYpLGRuKHRoaXMsYixbXSkpO2dldCBnbG9iYWxNZXNzYWdlcygpe3JldHVybiB0aGlzLiNyfXNldCBnbG9iYWxNZXNzYWdlcyhUKXt0aGlzLiNyPVR9I3M9KGRuKHRoaXMsZyksZG4odGhpcyxrLHZvaWQgMCkpO2dldCBzZWxlY3RlZFZpZXcoKXtyZXR1cm4gdGhpcy4jc31zZXQgc2VsZWN0ZWRWaWV3KFQpe3RoaXMuI3M9VH0jaT0oZG4odGhpcyxDKSxkbih0aGlzLF8sW10pKTtnZXQgX2FjdGl2ZU1lc3NhZ2VzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IF9hY3RpdmVNZXNzYWdlcyhUKXt0aGlzLiNpPVR9c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDBweDsKICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgcmlnaHQ6IDBweDsKICAgICAgICBib3R0b206IDBweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuYXBwYmFyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjRweCk7CiAgICAgICAgd2lkdGg6IDI0MHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctc2Vjb25kYXJ5KTsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICB6LWluZGV4OiAyOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBtaW4tY29udGVudDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuc2lkZWJhci1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDIwcHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmhlYWRlci1pY29uLXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXRlcnRpYXJ5KTsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCAxcHggMnB4IHJnYigwIDAgMCAvIDAuMDUpIiwiMCAxcHggMnB4IHJnYigwIDAgMCAvIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaWNvbi13cmFwcGVyIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5hcHBOYW1lIHsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsKICAgICAgfQoKICAgICAgLnZpZXdUYWJzLWNvbnRhaW5lciB7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDsKICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47CiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXNjcm9sbGJhci10aHVtYikgdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC52aWV3VGFicy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAudmlld1RhYnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC52aWV3VGFicy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXNjcm9sbGJhci10aHVtYik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAudmlld1RhYnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWItaG92ZXIpOwogICAgICB9CgogICAgICAuc2VjdGlvbi1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC52aWV3VGFicyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAudmlld1RhYiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICB9CgogICAgICAudmlld1RhYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjYyNjI2IiwiI2U1ZTVlNSIpfTsKICAgICAgfQoKICAgICAgLnZpZXdUYWI6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjdGl2ZSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTsKICAgICAgfQoKICAgICAgLnZpZXdUYWIuc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYWN0aXZlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnNlbGVjdGVkOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogOHB4OwogICAgICAgIGJvdHRvbTogOHB4OwogICAgICAgIHdpZHRoOiAzcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudmlld1RhYiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBvcGFjaXR5OiAwLjU1OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudmlld1RhYjpob3ZlciBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDAuNzU7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnNlbGVjdGVkIGRlZXMtaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudmlld1RhYiBzcGFuIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnZpZXdUYWIgLmNoZXZyb24gewogICAgICAgIGZsZXg6IDAgMCBhdXRvOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBvcGFjaXR5IDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLmhhc1N1YnM6aG92ZXIgLmNoZXZyb24gewogICAgICAgIG9wYWNpdHk6IDAuNzU7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLmhhc1N1YnMuZ3JvdXBBY3RpdmUgLmNoZXZyb24gewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgfQoKICAgICAgLnN1YlZpZXdzIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMGZyOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOgogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksCiAgICAgICAgICBtYXJnaW4tdG9wIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksCiAgICAgICAgICBtYXJnaW4tYm90dG9tIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIC5zdWJWaWV3cy5leHBhbmRlZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgLnN1YlZpZXdzOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogNHB4OwogICAgICAgIGJvdHRvbTogNHB4OwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLnN1YlZpZXdzLmV4cGFuZGVkOjpiZWZvcmUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5zdWJWaWV3cy1pbm5lciB7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnN1YiB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICB9CgogICAgICAudmlld1RhYi5zdWIgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnN1Yi5zZWxlY3RlZDo6YmVmb3JlIHsKICAgICAgICBsZWZ0OiAtMTJweDsKICAgICAgfQoKICAgICAgLmFwcEFjdGlvbnMgewogICAgICAgIHBhZGRpbmc6IDEycHggOHB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgfQoKICAgICAgLmFjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA4NCUgNjAlIC8gMC4wOCkiLCJoc2woMCA4NCUgNjAlIC8gMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA4NCUgNDUlKSIsImhzbCgwIDg0JSA2NSUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbjpob3ZlciBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDg0JSA0NSUpIiwiaHNsKDAgODQlIDY1JSkiKX07CiAgICAgIH0KCiAgICAgIC5hcHBjb250ZW50IHsKICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDBweDsKICAgICAgICByaWdodDogMHB4OwogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjRweCk7CiAgICAgICAgYm90dG9tOiAyNHB4OwogICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1zZWNvbmRhcnkpOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgIH0KCiAgICAgIC5hcHBjb250ZW50OjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogLThweDsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgICB0byBib3R0b20sCiAgICAgICAgICAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA4KSIsImhzbCgwIDAlIDAlIC8gMC40KSIpfSwKICAgICAgICAgICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDMpIiwiaHNsKDAgMCUgMCUgLyAwLjEyKSIpfSwKICAgICAgICAgIHRyYW5zcGFyZW50CiAgICAgICAgKTsKICAgICAgfQoKICAgICAgLmNvbnRyb2xiYXI6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogLThweDsKICAgICAgICBsZWZ0OiAyNDBweDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgICB0byB0b3AsCiAgICAgICAgICAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA4KSIsImhzbCgwIDAlIDAlIC8gMC40KSIpfSwKICAgICAgICAgICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDMpIiwiaHNsKDAgMCUgMCUgLyAwLjEyKSIpfSwKICAgICAgICAgIHRyYW5zcGFyZW50CiAgICAgICAgKTsKICAgICAgfQoKICAgICAgLmNvbnRyb2xiYXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDBweDsKICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctdGVydGlhcnkpOwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICB6LWluZGV4OiAxMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07CiAgICAgIH0KCiAgICAgIC5jb250cm9sIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CgogICAgICB9CgogICAgICAuY29udHJvbDpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jb250cm9sOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAuY29udHJvbCBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmNvbnRyb2wuc3RhdHVzLWNvbm5lY3RlZCBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDE0MiA3MCUgMzUlKSIsImhzbCgxNDIgNzAlIDUwJSkiKX07CiAgICAgIH0KCiAgICAgIC5jb250cm9sLnN0YXR1cy10ZXJtaW5hbCBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDM4IDkyJSA0NSUpIiwiaHNsKDM4IDkyJSA1NSUpIil9OwogICAgICB9CgogICAgICAvKiBHbG9iYWwgTWVzc2FnZSBCYW5uZXJzICovCiAgICAgIC5tZXNzYWdlQmFubmVyQXJlYSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAyNDBweDsKICAgICAgICByaWdodDogMDsKICAgICAgICB6LWluZGV4OiAzOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTBweCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGFuaW1hdGlvbjogYmFubmVyU2xpZGVEb3duIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgZm9yd2FyZHM7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLmRpc21pc3NpbmcgewogICAgICAgIGFuaW1hdGlvbjogYmFubmVyU2xpZGVVcCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgZm9yd2FyZHM7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgYmFubmVyU2xpZGVEb3duIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOwogICAgICAgIH0KICAgICAgICB0byB7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBiYW5uZXJTbGlkZVVwIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXIgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLXRleHQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAubWVzc2FnZUJhbm5lci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLWFjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDgpIiwiaHNsKDAgMCUgMTAwJSAvIDAuMSkiKX07CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLWFjdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4xNSkiLCJoc2woMCAwJSAxMDAlIC8gMC4xOCkiKX07CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLWFjdGlvbjphY3RpdmUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLWFjdGlvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXItZGlzbWlzcyB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXItZGlzbWlzczpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICBiYWNrZ3JvdW5kOiBoc2woMCAwJSAwJSAvIDAuMSk7CiAgICAgIH0KCiAgICAgIC8qIE1lc3NhZ2UgdHlwZTogaW5mbyAqLwogICAgICAubWVzc2FnZUJhbm5lci1pbmZvIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDk3JSkiLCJoc2woMjEwIDUwJSAxMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCA3MCUgMzAlKSIsImhzbCgyMTAgNzAlIDgwJSkiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMDA4NGZmOwogICAgICB9CiAgICAgIC5tZXNzYWdlQmFubmVyLWluZm8gZGVlcy1pY29uIHsKICAgICAgICBjb2xvcjogIzAwODRmZjsKICAgICAgfQoKICAgICAgLyogTWVzc2FnZSB0eXBlOiBzdWNjZXNzICovCiAgICAgIC5tZXNzYWdlQmFubmVyLXN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMTQyIDcwJSA5NyUpIiwiaHNsKDE0MiAzMCUgMTAlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIgNTAlIDI1JSkiLCJoc2woMTQyIDUwJSA4MCUpIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzIyYzU1ZTsKICAgICAgfQogICAgICAubWVzc2FnZUJhbm5lci1zdWNjZXNzIGRlZXMtaWNvbiB7CiAgICAgICAgY29sb3I6ICMyMmM1NWU7CiAgICAgIH0KCiAgICAgIC8qIE1lc3NhZ2UgdHlwZTogd2FybmluZyAqLwogICAgICAubWVzc2FnZUJhbm5lci13YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDM4IDkwJSA5NyUpIiwiaHNsKDM4IDQwJSAxMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDM4IDYwJSAyNSUpIiwiaHNsKDM4IDYwJSA4MCUpIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2Y1OWUwYjsKICAgICAgfQogICAgICAubWVzc2FnZUJhbm5lci13YXJuaW5nIGRlZXMtaWNvbiB7CiAgICAgICAgY29sb3I6ICNmNTllMGI7CiAgICAgIH0KCiAgICAgIC8qIE1lc3NhZ2UgdHlwZTogZXJyb3IgKi8KICAgICAgLm1lc3NhZ2VCYW5uZXItZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgOTclKSIsImhzbCgwIDQwJSAxMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNjAlIDMwJSkiLCJoc2woMCA2MCUgODAlKSIpfTsKICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNlZjQ0NDQ7CiAgICAgIH0KICAgICAgLm1lc3NhZ2VCYW5uZXItZXJyb3IgZGVlcy1pY29uIHsKICAgICAgICBjb2xvcjogI2VmNDQ0NDsKICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXItZGlzbWlzczpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wOCkiLCJoc2woMCAwJSAxMDAlIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmFwcGNvbnRlbnQgewogICAgICAgIHRvcDogdmFyKC0tYmFubmVyLWFyZWEtaGVpZ2h0LCAwcHgpOwogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjRweCAtIHZhcigtLWJhbm5lci1hcmVhLWhlaWdodCwgMHB4KSk7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhcHBiYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItaWNvbi13cmFwcGVyIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIkeyJsdWNpZGU6bGF5b3V0R3JpZCJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFwcE5hbWUiPiR7dGhpcy5uYW1lfTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWV3VGFicy1jb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5OYXZpZ2F0aW9uPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZXdUYWJzIj4KICAgICAgICAgICAgICAke3RoaXMudmlld1RhYnMubWFwKFQ9PntsZXQgUD0hIVQuc3ViVmlld3M/Lmxlbmd0aCxCPVAmJnRoaXMuaXNHcm91cEFjdGl2ZShUKTtyZXR1cm4gd2AKICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ2aWV3VGFiICR7dGhpcy5zZWxlY3RlZFZpZXc9PT1UPyJzZWxlY3RlZCI6IiJ9ICR7UD8iaGFzU3VicyI6IiJ9ICR7Qj8iZ3JvdXBBY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5sb2FkVmlldyhUKX0KICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICR7VC5pY29uTmFtZT93YAogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHtULmljb25OYW1lLmluY2x1ZGVzKCI6Iik/VC5pY29uTmFtZTpgbHVjaWRlOiR7VC5pY29uTmFtZX1gfSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOmZpbGUifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke1QubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgJHtQP3dgCiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJjaGV2cm9uIiAuaWNvbj0iJHsibHVjaWRlOmNoZXZyb25Eb3duIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAke1A/d2AKICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3ViVmlld3MgJHtCPyJleHBhbmRlZCI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgP2luZXJ0PSR7IUJ9CiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3ViVmlld3MtaW5uZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAke1Quc3ViVmlld3MubWFwKE09PndgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ2aWV3VGFiIHN1YiAke3RoaXMuc2VsZWN0ZWRWaWV3PT09TT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7Uz0+e1Muc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5sb2FkVmlldyhNKX19CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7TS5pY29uTmFtZT93YAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7TS5pY29uTmFtZS5pbmNsdWRlcygiOiIpP00uaWNvbk5hbWU6YGx1Y2lkZToke00uaWNvbk5hbWV9YH0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOmRvdCJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtNLm5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIGB9KX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFwcEFjdGlvbnMiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb24iIEBjbGljaz0keygpPT57dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibG9nb3V0Iix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX19PgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7Imx1Y2lkZTpsb2dPdXQifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPHNwYW4+U2lnbiBvdXQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLl9hY3RpdmVNZXNzYWdlcy5sZW5ndGg+MD93YAogICAgICAgIDxkaXYgY2xhc3M9Im1lc3NhZ2VCYW5uZXJBcmVhIj4KICAgICAgICAgICR7dGhpcy5fYWN0aXZlTWVzc2FnZXMubWFwKFQ9PndgCiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBjbGFzcz0ibWVzc2FnZUJhbm5lciBtZXNzYWdlQmFubmVyLSR7VC50eXBlfSIKICAgICAgICAgICAgICBkYXRhLW1lc3NhZ2UtaWQ9IiR7VC5pZH0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMuZ2V0TWVzc2FnZUljb24oVCl9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWVzc2FnZUJhbm5lci10ZXh0Ij4ke1QubWVzc2FnZX08L3NwYW4+CiAgICAgICAgICAgICAgJHtULmFjdGlvbnM/Lmxlbmd0aD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZUJhbm5lci1hY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgJHtULmFjdGlvbnMubWFwKFA9PndgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZUJhbm5lci1hY3Rpb24iIEBjbGljaz0keygpPT5QLmFjdGlvbigpfT4KICAgICAgICAgICAgICAgICAgICAgICR7UC5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7UC5pY29uTmFtZS5pbmNsdWRlcygiOiIpP1AuaWNvbk5hbWU6YGx1Y2lkZToke1AuaWNvbk5hbWV9YH0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke1AubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAke1QuZGlzbWlzc2libGUhPT0hMT93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZUJhbm5lci1kaXNtaXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVNZXNzYWdlKFQuaWQpfT4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOngifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgICAgIDxkaXYgY2xhc3M9ImFwcGNvbnRlbnQiPgogICAgICAgICAgPCEtLSBDb250ZW50IGdvZXMgaGVyZSAtLT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9sYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wgc3RhdHVzLWNvbm5lY3RlZCI+CiAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7Imx1Y2lkZTp3aWZpIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8c3Bhbj5Db25uZWN0ZWQ8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wgc3RhdHVzLXRlcm1pbmFsIiBAY2xpY2s9JHt0aGlzLmxhdW5jaFRlcm1pbmFsfT4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOnRlcm1pbmFsIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8c3Bhbj5UZXJtaW5hbDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKFQpe2xldCBQPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO2lmKHN1cGVyLmZpcnN0VXBkYXRlZChUKSx0aGlzLnZpZXdUYWJzJiZ0aGlzLnZpZXdUYWJzLmxlbmd0aD4wKXtsZXQgQj10aGlzLnNlbGVjdGVkVmlld3x8dGhpcy52aWV3VGFic1swXTthd2FpdCB0aGlzLmxvYWRWaWV3KEIpfX13aWxsVXBkYXRlKFQpe2lmKFQuaGFzKCJnbG9iYWxNZXNzYWdlcyIpKXtsZXQgUD1uZXcgU2V0KHRoaXMuZ2xvYmFsTWVzc2FnZXMubWFwKEY9PkYuaWQpKSxCPW5ldyBTZXQodGhpcy5fYWN0aXZlTWVzc2FnZXMubWFwKEY9PkYuaWQpKSxNPXRoaXMuZ2xvYmFsTWVzc2FnZXMuZmlsdGVyKEY9PiFCLmhhcyhGLmlkKSksUz1ULmdldCgiZ2xvYmFsTWVzc2FnZXMiKXx8W10sRT1uZXcgU2V0KFMubWFwKEY9PkYuaWQpKSxBPW5ldyBTZXQoWy4uLkVdLmZpbHRlcihGPT4hUC5oYXMoRikpKTt0aGlzLl9hY3RpdmVNZXNzYWdlcz1bLi4udGhpcy5fYWN0aXZlTWVzc2FnZXMuZmlsdGVyKEY9PiFBLmhhcyhGLmlkKSksLi4uTV19fXVwZGF0ZWQoVCl7c3VwZXIudXBkYXRlZChUKSx0aGlzLnVwZGF0ZUJhbm5lck9mZnNldCgpfXVwZGF0ZUJhbm5lck9mZnNldCgpe3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2xldCBUPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm1lc3NhZ2VCYW5uZXJBcmVhIiksUD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5tYWluY29udGFpbmVyIiksQj1UP1Qub2Zmc2V0SGVpZ2h0OjA7UD8uc3R5bGUuc2V0UHJvcGVydHkoIi0tYmFubmVyLWFyZWEtaGVpZ2h0IixgJHtCfXB4YCl9KX1nZXRNZXNzYWdlSWNvbihUKXtyZXR1cm4gVC5pY29uP1QuaWNvbjp7aW5mbzoibHVjaWRlOmluZm8iLHN1Y2Nlc3M6Imx1Y2lkZTpjaXJjbGVDaGVjayIsd2FybmluZzoibHVjaWRlOnRyaWFuZ2xlQWxlcnQiLGVycm9yOiJsdWNpZGU6Y2lyY2xlWCJ9W1QudHlwZV19YWRkTWVzc2FnZShUKXtsZXQgUD1ULmlkfHxgbXNnLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiw5KX1gLEI9e2Rpc21pc3NpYmxlOiEwLC4uLlQsaWQ6UH07cmV0dXJuIHRoaXMuX2FjdGl2ZU1lc3NhZ2VzPVsuLi50aGlzLl9hY3RpdmVNZXNzYWdlcyxCXSxQfXJlbW92ZU1lc3NhZ2UoVCl7bGV0IFA9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1tZXNzYWdlLWlkPSIke1R9Il1gKTtQPyhQLmNsYXNzTGlzdC5hZGQoImRpc21pc3NpbmciKSxQLmFkZEV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmVuZCIsKCk9Pnt0aGlzLl9hY3RpdmVNZXNzYWdlcz10aGlzLl9hY3RpdmVNZXNzYWdlcy5maWx0ZXIoQj0+Qi5pZCE9PVQpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm1lc3NhZ2UtZGlzbWlzcyIse2RldGFpbDp7aWQ6VH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX0se29uY2U6ITB9KSk6dGhpcy5fYWN0aXZlTWVzc2FnZXM9dGhpcy5fYWN0aXZlTWVzc2FnZXMuZmlsdGVyKEI9PkIuaWQhPT1UKX1jbGVhck1lc3NhZ2VzKCl7dGhpcy5fYWN0aXZlTWVzc2FnZXM9W119Y3VycmVudFRlcm1pbmFsPShkbih0aGlzLHopLG51bGwpO2FzeW5jIGxhdW5jaFRlcm1pbmFsKCl7bGV0IFQ9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7aWYodGhpcy5jdXJyZW50VGVybWluYWwpe2F3YWl0IHRoaXMuY2xvc2VUZXJtaW5hbCgpO3JldHVybn1sZXQgUD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1haW5jb250YWluZXIiKSx7RGVlc1dvcmtzcGFjZVRlcm1pbmFsOkJ9PWF3YWl0IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihkRygpLGQ2YSkpLE09bmV3IEI7cmV0dXJuIE0uc2V0dXBDb21tYW5kPXRoaXMudGVybWluYWxTZXR1cENvbW1hbmQsdGhpcy5jdXJyZW50VGVybWluYWw9TSxQLmFwcGVuZENoaWxkKE0pLE0uc3R5bGUucG9zaXRpb249ImFic29sdXRlIixNLnN0eWxlLnpJbmRleD0iMTAiLE0uc3R5bGUudG9wPSJ2YXIoLS1iYW5uZXItYXJlYS1oZWlnaHQsIDBweCkiLE0uc3R5bGUubGVmdD0iMjQwcHgiLE0uc3R5bGUucmlnaHQ9IjBweCIsTS5zdHlsZS5oZWlnaHQ9ImF1dG8iLE0uc3R5bGUuYm90dG9tPSIyNHB4IixNLnN0eWxlLm9wYWNpdHk9IjAiLE0uc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45OSkiLE0uc3R5bGUudHJhbnNpdGlvbj0iYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkiLE0uc3R5bGUuYm94U2hhZG93PSIwIDI1cHggNTBweCAtMTJweCByZ2IoMCAwIDAgLyAwLjUpLCAwIDAgMCAxcHggcmdiKDI1NSAyNTUgMjU1IC8gMC4wNSkiLE0uYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT50aGlzLmNsb3NlVGVybWluYWwoKSksYXdhaXQgVC5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLE0uc3R5bGUub3BhY2l0eT0iMSIsTS5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVkoMCkgc2NhbGUoMSkiLE19YXN5bmMgY2xvc2VUZXJtaW5hbCgpe2xldCBUPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMuY3VycmVudFRlcm1pbmFsJiYodGhpcy5jdXJyZW50VGVybWluYWwuc3R5bGUub3BhY2l0eT0iMCIsdGhpcy5jdXJyZW50VGVybWluYWwuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45OSkiLGF3YWl0IFQuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigyNTApLHRoaXMuY3VycmVudFRlcm1pbmFsLnJlbW92ZSgpLHRoaXMuY3VycmVudFRlcm1pbmFsPW51bGwpfWlzR3JvdXBBY3RpdmUoVCl7cmV0dXJuIHRoaXMuc2VsZWN0ZWRWaWV3PT09VD8hMDpULnN1YlZpZXdzPy5zb21lKFA9PlA9PT10aGlzLnNlbGVjdGVkVmlldyk/PyExfWN1cnJlbnRWaWV3O2FzeW5jIGxvYWRWaWV3KFQpe2lmKCFULmVsZW1lbnQmJlQuc3ViVmlld3M/Lmxlbmd0aCl7bGV0IE09VC5zdWJWaWV3cy5maW5kKFM9PlMuZWxlbWVudCk7cmV0dXJuIE0/dGhpcy5sb2FkVmlldyhNKTp2b2lkIDB9aWYoIVQuZWxlbWVudClyZXR1cm47bGV0IFA9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5hcHBjb250ZW50IiksQj1uZXcgVC5lbGVtZW50O3RoaXMuY3VycmVudFZpZXcmJnRoaXMuY3VycmVudFZpZXcucmVtb3ZlKCksUC5hcHBlbmRDaGlsZChCKSx0aGlzLmN1cnJlbnRWaWV3PUIsdGhpcy5zZWxlY3RlZFZpZXc9VCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ2aWV3LXNlbGVjdCIse2RldGFpbDp7dmlldzpUfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXN0YXRpY3tkbihyLHQpfX07cmV0dXJuIE89cn0pKCl9KTt2YXIgdjZhPWYoKCk9PntiNmEoKX0pO3ZhciB4NmEseTZhPWYoKCk9PntsZSgpO3g2YT1zKCgpPT53YAogIDxzdHlsZT4KICAgIGJvZHkgewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgICB9CiAgICAuZGVtby1jb250YWluZXIgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLXNpbXBsZS1sb2dpbiAKICAgICAgbmFtZT0iTXkgQXBwbGljYXRpb24iCiAgICAgIEBsb2dpbj0ke2E9Pntjb25zb2xlLmxvZygiTG9naW4gZXZlbnQgcmVjZWl2ZWQ6IixhLmRldGFpbCk7bGV0IGU9YS5kZXRhaWw/LmRhdGF8fGEuZGV0YWlsO2U/LnVzZXJuYW1lJiZlPy5wYXNzd29yZD9hbGVydChgTG9naW4gYXR0ZW1wdGVkIHdpdGg6ClVzZXJuYW1lOiAke2UudXNlcm5hbWV9ClBhc3N3b3JkOiAke2UucGFzc3dvcmR9YCk6Y29uc29sZS5lcnJvcigiSW52YWxpZCBsb2dpbiBkYXRhIHN0cnVjdHVyZToiLGEuZGV0YWlsKX19CiAgICA+CiAgICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDQwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPgogICAgICAgIDxoMT5XZWxjb21lITwvaDE+CiAgICAgICAgPHA+VGhpcyBpcyB0aGUgc2xvdHRlZCBjb250ZW50IHRoYXQgYXBwZWFycyBhZnRlciBsb2dpbi48L3A+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLXNpbXBsZS1sb2dpbj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciB3NmEsYkplLE02YSxrNmE9ZigoKT0+e3k2YSgpO2xlKCk7UWUoKTtRcigpO3c2YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sYkplPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxNNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNpbXBsZS1sb2dpbiIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzU2ltcGxlTG9naW4iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLHc2YSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+Im5hbWUiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5uYW1lLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AubmFtZT11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksdzZhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89eDZhO3N0YXRpYyBkZW1vR3JvdXBzPVsiU2ltcGxlIl07I2U9YkplKHRoaXMsbiwiQXBwbGljYXRpb24iKTtnZXQgbmFtZSgpe3JldHVybiB0aGlzLiNlfXNldCBuYW1lKGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5sb2dpbkNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnNsb3RDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmxvZ2luIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDM2MHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5sb2dpbi1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAuc3ViaGVhZGVyIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZTo6cGFydChjb250ZW50KSB7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIGRlZXMtZm9ybSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIGRlZXMtaW5wdXQtdGV4dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSBkZWVzLWZvcm0tc3VibWl0IHsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJsb2dpbkNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj5TaWduIGluPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1YmhlYWRlciI+RW50ZXIgeW91ciBjcmVkZW50aWFscyB0byBhY2Nlc3MgJHt0aGlzLm5hbWV9PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkZWVzLXRpbGUgLmhlYWRpbmc9JHsiQ3JlZGVudGlhbHMifT4KICAgICAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0idXNlcm5hbWUiIGxhYmVsPSJVc2VybmFtZSIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBrZXk9InBhc3N3b3JkIiBsYWJlbD0iUGFzc3dvcmQiIGlzUGFzc3dvcmRCb29sIHJlcXVpcmVkPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PlNpZ24gaW48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgICAgPC9kZWVzLXRpbGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzbG90Q29udGFpbmVyIj4KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoYyl7c3VwZXIuZmlyc3RVcGRhdGVkKGMpO2xldCBwPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKTtwJiZwLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIiwodT0+e3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxvZ2luIix7ZGV0YWlsOnUuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9KSl9YXN5bmMgc3dpdGNoVG9TbG90dGVkQ29udGVudCgpe2xldCBjPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLHA9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5sb2dpbiIpLHU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5sb2dpbkNvbnRhaW5lciIpLG09dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zbG90Q29udGFpbmVyIik7cC5zdHlsZS5vcGFjaXR5PSIwIixwLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgyMHB4KSIsdS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixtLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgyMHB4KSIsYXdhaXQgYy5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDMwMCksbS5zdHlsZS5vcGFjaXR5PSIxIixtLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgwcHgpIixhd2FpdCBjLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMzAwKSxtLnN0eWxlLnBvaW50ZXJFdmVudHM9ImFsbCJ9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGJKZSh0aGlzLGwpfXN0YXRpY3tiSmUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIFM2YT1mKCgpPT57azZhKCl9KTt2YXIgejZhPWYoKCk9PntjNmEoKTt2NmEoKTtTNmEoKX0pO3ZhciBDNmE9ZigoKT0+e3ZhKCl9KTt2YXIgXzZhLFQ2YT1mKCgpPT57bGUoKTtfNmE9cygoKT0+d2AKICAgIDxzdHlsZT4KICAgICAgLmRlbW9XcmFwcGVyIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgCiAgICAgICAgYmFja2dyb3VuZDogIzg4ODg4ODsKICAgICAgfQogICAgICAubG9ncyB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB3aWR0aDogNjAwcHg7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQogICAgICAubG9ncyBkaXYgewogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vV3JhcHBlciI+CiAgICAgIDxkZWVzLXNlYXJjaGJhcgogICAgICAgIEBzZWFyY2gtY2hhbmdlZD0ke3ModD0+e2xldCBpPXQudGFyZ2V0LmNsb3Nlc3QoIi5kZW1vV3JhcHBlciIpPy5xdWVyeVNlbGVjdG9yKCIjY2hhbmdlZCIpO2kmJihpLnRleHRDb250ZW50PWBzZWFyY2gtY2hhbmdlZDogJHt0LmRldGFpbC52YWx1ZX1gKX0sIm9uQ2hhbmdlZCIpfQogICAgICAgIEBzZWFyY2gtc3VibWl0PSR7cyh0PT57bGV0IGk9dC50YXJnZXQuY2xvc2VzdCgiLmRlbW9XcmFwcGVyIik/LnF1ZXJ5U2VsZWN0b3IoIiNzdWJtaXR0ZWQiKTtpJiYoaS50ZXh0Q29udGVudD1gc2VhcmNoLXN1Ym1pdDogJHt0LmRldGFpbC52YWx1ZX1gKX0sIm9uU3VibWl0Iil9CiAgICAgID48L2RlZXMtc2VhcmNoYmFyPgogICAgICA8ZGl2IGNsYXNzPSJsb2dzIj4KICAgICAgICA8ZGl2IGlkPSJjaGFuZ2VkIj5zZWFyY2gtY2hhbmdlZDo8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSJzdWJtaXR0ZWQiPnNlYXJjaC1zdWJtaXQ6PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciBMNmEsdkplLCQ2YSxENmE9ZigoKT0+e2xlKCk7TDEoKTtUNmEoKTtRZSgpO0w2YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sdkplPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSwkNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNlYXJjaGJhciIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzU2VhcmNoYmFyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxMNmEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJmaWx0ZXJzImluIHAsImhhcyIpLGdldDpzKHA9PnAuZmlsdGVycywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmZpbHRlcnM9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLEw2YShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPV82YTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlV0aWxpdHkiXTtzdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IERlZXMgU2FuczsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VlZWVlYiIsIiMwMDAwMDAiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2hib3hDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IGF1dG87CiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzAwMDAwMDE1IiwiI2ZmZmZmZjE1Iil9OwogICAgICAgIC0tYm94SGVpZ2h0OiA2MHB4OwogICAgICAgIGhlaWdodDogdmFyKC0tYm94SGVpZ2h0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3hIZWlnaHQpOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMTQwcHg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiMwMDAwMDAxNSIsIiNmZmZmZmYyMCIpfTsKICAgICAgfQoKICAgICAgaW5wdXQgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZWVlZWViIil9OwogICAgICAgIHBhZGRpbmctbGVmdDogMjVweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IC04cHg7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hCdXR0b24gewogICAgICAgIC0tYnV0dG9uUGFkZGluZzogOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWVlZWViIiwiIzAwMDAwMCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZWVlZWViIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWJveEhlaWdodCkgLSAodmFyKC0tYnV0dG9uUGFkZGluZykgKiAyKSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm94SGVpZ2h0KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIDsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcywgYmFja2dyb3VuZCAwLjFzOwogICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tYnV0dG9uUGFkZGluZyk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hCdXR0b246aG92ZXIgewogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKG80LmJsdWUsaTQuYmx1ZSl9OwogICAgICB9CgogICAgICAuc2VhcmNoQnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUobzQuYmx1ZUFjdGl2ZSxpNC5ibHVlQWN0aXZlKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLmZpbHRlcnMgewogICAgICAgIG1hcmdpbjogYXV0bzsKICAgICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICB9CiAgICBgXTsjZT12SmUodGhpcyxuLFtdKTtnZXQgZmlsdGVycygpe3JldHVybiB0aGlzLiNlfXNldCBmaWx0ZXJzKGMpe3RoaXMuI2U9Y31zZWFyY2hJbnB1dD12SmUodGhpcyxsKTtzZWFyY2hCdXR0b247Y29uc3RydWN0b3IoKXtzdXBlcigpfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJzZWFyY2hib3hDb250YWluZXIiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iWW91ciBTa2lsbHMgKGUuZy4gVHlwZVNjcmlwdCwgUnVzdCwgUHJvamVjdG1hbmFnZW1lbnQpIiAvPgogICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaEJ1dHRvbiI+U2VhcmNoIC0+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMuZmlsdGVycy5sZW5ndGg+MD93YAogICAgICAgIDxkaXYgY2xhc3M9ImZpbHRlcnMiPgogICAgICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9ImhyLXNtYWxsIj5GaWx0ZXJzPC9kZWVzLWhlYWRpbmc+CiAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24gLmxhYmVsPSR7ImxvY2F0aW9uIn0+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICA8L2Rpdj4gIAogICAgICBgOndgYH0KICAgIGB9Zmlyc3RVcGRhdGVkKCl7dGhpcy5zZWFyY2hJbnB1dC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWFyY2gtY2hhbmdlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt2YWx1ZTp0aGlzLnNlYXJjaElucHV0LnZhbHVlfX0pKX0pLHRoaXMuc2VhcmNoSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYz0+e2Mua2V5PT09IkVudGVyIiYmdGhpcy5fZGlzcGF0Y2hTdWJtaXQoKX0pLHRoaXMuc2VhcmNoQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+dGhpcy5fZGlzcGF0Y2hTdWJtaXQoKSl9X2Rpc3BhdGNoU3VibWl0KCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VhcmNoLXN1Ym1pdCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt2YWx1ZTp0aGlzLnNlYXJjaElucHV0LnZhbHVlfX0pKX1zdGF0aWN7dkplKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBBNmE9ZigoKT0+e0Q2YSgpfSk7dmFyIFA2YSxFNmE9ZigoKT0+e2xlKCk7UDZhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgfQoKICAgIC5zZWN0aW9uIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgcGFkZGluZzogMjRweDsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIH0KCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgIH0KCiAgICAudG9rZW4tZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgZ2FwOiAxNnB4OwogICAgfQoKICAgIC50b2tlbi1pdGVtIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICB9CgogICAgLnRva2VuLW5hbWUgewogICAgICBmb250LWZhbWlseTogJ0ludGVsIE9uZSBNb25vJywgbW9ub3NwYWNlOwogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgIH0KCiAgICAudG9rZW4tdmFsdWUgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CgogICAgLnNwYWNpbmctZGVtbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgZ2FwOiA4cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIH0KCiAgICAuc3BhY2luZy1ib3ggewogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIH0KCiAgICAucmFkaXVzLWRlbW8gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDE2cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIH0KCiAgICAucmFkaXVzLWJveCB7CiAgICAgIHdpZHRoOiA2MHB4OwogICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQoKICAgIC5zaGFkb3ctZGVtbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogMjRweDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgfQoKICAgIC5zaGFkb3ctYm94IHsKICAgICAgd2lkdGg6IDEwMHB4OwogICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgIH0KCiAgICAuaGVpZ2h0LWRlbW8gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDE2cHg7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgfQoKICAgIC5oZWlnaHQtYm94IHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICB3aWR0aDogMTIwcHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtdGhlbWU+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNwYWNpbmcgU2NhbGU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIENTUyB2YXJpYWJsZXM6IC0tZGVlcy1zcGFjaW5nLXhzIHRocm91Z2ggLS1kZWVzLXNwYWNpbmctM3hsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1kZW1vIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNpbmctYm94IiBzdHlsZT0id2lkdGg6IHZhcigtLWRlZXMtc3BhY2luZy14cyk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLXhzKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj54cyAoNHB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctc20pOyBoZWlnaHQ6IHZhcigtLWRlZXMtc3BhY2luZy1zbSk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+c20gKDhweCk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1ib3giIHN0eWxlPSJ3aWR0aDogdmFyKC0tZGVlcy1zcGFjaW5nLW1kKTsgaGVpZ2h0OiB2YXIoLS1kZWVzLXNwYWNpbmctbWQpOyI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPm1kICgxMnB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctbGcpOyBoZWlnaHQ6IHZhcigtLWRlZXMtc3BhY2luZy1sZyk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+bGcgKDE2cHgpPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNpbmctYm94IiBzdHlsZT0id2lkdGg6IHZhcigtLWRlZXMtc3BhY2luZy14bCk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLXhsKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj54bCAoMjRweCk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1ib3giIHN0eWxlPSJ3aWR0aDogdmFyKC0tZGVlcy1zcGFjaW5nLTJ4bCk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLTJ4bCk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MnhsICgzMnB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctM3hsKTsgaGVpZ2h0OiB2YXIoLS1kZWVzLXNwYWNpbmctM3hsKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4zeGwgKDQ4cHgpPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Cb3JkZXIgUmFkaXVzIFNjYWxlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDU1MgdmFyaWFibGVzOiAtLWRlZXMtcmFkaXVzLXhzIHRocm91Z2ggLS1kZWVzLXJhZGl1cy1mdWxsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWRlbW8iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWJveCIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLXhzKTsiPnhzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjJweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtc20pOyI+c208L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+NHB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJhZGl1cy1ib3giIHN0eWxlPSJib3JkZXItcmFkaXVzOiB2YXIoLS1kZWVzLXJhZGl1cy1tZCk7Ij5tZDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj42cHg8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWJveCIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLWxnKTsiPmxnPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjhweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMteGwpOyI+eGw8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MTJweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtZnVsbCk7Ij5mdWxsPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjk5OXB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TaGFkb3cgRWxldmF0aW9uIFNjYWxlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDU1MgdmFyaWFibGVzOiAtLWRlZXMtc2hhZG93LXhzIHRocm91Z2ggLS1kZWVzLXNoYWRvdy1sZwogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1kZW1vIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1ib3giIHN0eWxlPSJib3gtc2hhZG93OiB2YXIoLS1kZWVzLXNoYWRvdy14cyk7Ij54czwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj5taW5pbWFsPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1ib3giIHN0eWxlPSJib3gtc2hhZG93OiB2YXIoLS1kZWVzLXNoYWRvdy1zbSk7Ij5zbTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj5zdWJ0bGU8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hhZG93LWJveCIgc3R5bGU9ImJveC1zaGFkb3c6IHZhcigtLWRlZXMtc2hhZG93LW1kKTsiPm1kPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPm1lZGl1bTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaGFkb3ctYm94IiBzdHlsZT0iYm94LXNoYWRvdzogdmFyKC0tZGVlcy1zaGFkb3ctbGcpOyI+bGc8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+cHJvbWluZW50PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Db250cm9sIEhlaWdodCBTY2FsZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ1NTIHZhcmlhYmxlczogLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LXNtIHRocm91Z2ggLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LXhsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWRlbW8iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWJveCIgc3R5bGU9ImhlaWdodDogdmFyKC0tZGVlcy1jb250cm9sLWhlaWdodC1zbSk7Ij5zbTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4zMnB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlaWdodC1ib3giIHN0eWxlPSJoZWlnaHQ6IHZhcigtLWRlZXMtY29udHJvbC1oZWlnaHQtbWQpOyI+bWQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MzZweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWlnaHQtYm94IiBzdHlsZT0iaGVpZ2h0OiB2YXIoLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LWxnKTsiPmxnPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjQwcHg8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWJveCIgc3R5bGU9ImhlaWdodDogdmFyKC0tZGVlcy1jb250cm9sLWhlaWdodC14bCk7Ij54bDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj40OHB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5UcmFuc2l0aW9uIER1cmF0aW9uczwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ1NTIHZhcmlhYmxlczogLS1kZWVzLXRyYW5zaXRpb24tZmFzdCB0aHJvdWdoIC0tZGVlcy10cmFuc2l0aW9uLXNsb3dlcgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWdyaWQiPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4taXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPi0tZGVlcy10cmFuc2l0aW9uLWZhc3Q8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuMXM8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4taXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPi0tZGVlcy10cmFuc2l0aW9uLWRlZmF1bHQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuMTVzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4tLWRlZXMtdHJhbnNpdGlvbi1zbG93PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLXZhbHVlIj4wLjJzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4tLWRlZXMtdHJhbnNpdGlvbi1zbG93ZXI8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuM3M8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy10aGVtZT4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciByNyxaMSxJNmEsTjZhPWYoKCk9PntsZSgpO1FlKCk7RTZhKCk7cjc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFoxPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxJNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRoZW1lIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNUaGVtZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6T2JqZWN0fSldLHU9WyQoe3R5cGU6T2JqZWN0fSldLHg9WyQoe3R5cGU6T2JqZWN0fSldLHk9WyQoe3R5cGU6T2JqZWN0fSldLHI3KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VzdG9tU3BhY2luZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY3VzdG9tU3BhY2luZyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmN1c3RvbVNwYWNpbmcsImdldCIpLHNldDpzKCh6LE8pPT57ei5jdXN0b21TcGFjaW5nPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxyNyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1c3RvbVJhZGl1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY3VzdG9tUmFkaXVzImluIHosImhhcyIpLGdldDpzKHo9PnouY3VzdG9tUmFkaXVzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouY3VzdG9tUmFkaXVzPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYyxwKSxyNyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1c3RvbVNoYWRvd3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImN1c3RvbVNoYWRvd3MiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5jdXN0b21TaGFkb3dzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouY3VzdG9tU2hhZG93cz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdikscjcodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXN0b21UcmFuc2l0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY3VzdG9tVHJhbnNpdGlvbnMiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5jdXN0b21UcmFuc2l0aW9ucywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmN1c3RvbVRyYW5zaXRpb25zPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSxyNyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1c3RvbUNvbnRyb2xIZWlnaHRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJjdXN0b21Db250cm9sSGVpZ2h0cyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmN1c3RvbUNvbnRyb2xIZWlnaHRzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouY3VzdG9tQ29udHJvbEhlaWdodHM9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLHI3KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89UDZhO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdOyNlPVoxKHRoaXMsbixudWxsKTtnZXQgY3VzdG9tU3BhY2luZygpe3JldHVybiB0aGlzLiNlfXNldCBjdXN0b21TcGFjaW5nKF8pe3RoaXMuI2U9X30jdD0oWjEodGhpcyxsKSxaMSh0aGlzLGMsbnVsbCkpO2dldCBjdXN0b21SYWRpdXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY3VzdG9tUmFkaXVzKF8pe3RoaXMuI3Q9X30jYT0oWjEodGhpcyxwKSxaMSh0aGlzLG0sbnVsbCkpO2dldCBjdXN0b21TaGFkb3dzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGN1c3RvbVNoYWRvd3MoXyl7dGhpcy4jYT1ffSNyPShaMSh0aGlzLHYpLFoxKHRoaXMsYixudWxsKSk7Z2V0IGN1c3RvbVRyYW5zaXRpb25zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGN1c3RvbVRyYW5zaXRpb25zKF8pe3RoaXMuI3I9X30jcz0oWjEodGhpcyxnKSxaMSh0aGlzLGssbnVsbCkpO2dldCBjdXN0b21Db250cm9sSGVpZ2h0cygpe3JldHVybiB0aGlzLiNzfXNldCBjdXN0b21Db250cm9sSGVpZ2h0cyhfKXt0aGlzLiNzPV99c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBjb250ZW50czsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAke3RoaXMuZ2VuZXJhdGVDdXN0b21TdHlsZXMoKX0KICAgICAgPC9zdHlsZT4KICAgICAgPHNsb3Q+PC9zbG90PgogICAgYH1nZW5lcmF0ZUN1c3RvbVN0eWxlcygpe2xldCBfPVsiOmhvc3QgeyJdO2lmKHRoaXMuY3VzdG9tU3BhY2luZylmb3IobGV0W3osT11vZiBPYmplY3QuZW50cmllcyh0aGlzLmN1c3RvbVNwYWNpbmcpKU8mJl8ucHVzaChgICAtLWRlZXMtc3BhY2luZy0ke3p9OiAke099O2ApO2lmKHRoaXMuY3VzdG9tUmFkaXVzKWZvcihsZXRbeixPXW9mIE9iamVjdC5lbnRyaWVzKHRoaXMuY3VzdG9tUmFkaXVzKSlPJiZfLnB1c2goYCAgLS1kZWVzLXJhZGl1cy0ke3p9OiAke099O2ApO2lmKHRoaXMuY3VzdG9tU2hhZG93cylmb3IobGV0W3osT11vZiBPYmplY3QuZW50cmllcyh0aGlzLmN1c3RvbVNoYWRvd3MpKU8mJl8ucHVzaChgICAtLWRlZXMtc2hhZG93LSR7en06ICR7T307YCk7aWYodGhpcy5jdXN0b21UcmFuc2l0aW9ucyl7Zm9yKGxldFt6LE9db2YgT2JqZWN0LmVudHJpZXModGhpcy5jdXN0b21UcmFuc2l0aW9ucykpaWYoTyl7bGV0IFQ9ej09PSJkZWZhdWx0Ij8iZGVmYXVsdCI6ejtfLnB1c2goYCAgLS1kZWVzLXRyYW5zaXRpb24tJHtUfTogJHtPfTtgKX19aWYodGhpcy5jdXN0b21Db250cm9sSGVpZ2h0cylmb3IobGV0W3osT11vZiBPYmplY3QuZW50cmllcyh0aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzKSlPJiZfLnB1c2goYCAgLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LSR7en06ICR7T307YCk7cmV0dXJuIF8ucHVzaCgifSIpLF8uam9pbihgCmApfXNldFNwYWNpbmcoXyx6KXt0aGlzLmN1c3RvbVNwYWNpbmc9ey4uLnRoaXMuY3VzdG9tU3BhY2luZyxbX106en19c2V0UmFkaXVzKF8seil7dGhpcy5jdXN0b21SYWRpdXM9ey4uLnRoaXMuY3VzdG9tUmFkaXVzLFtfXTp6fX1zZXRTaGFkb3coXyx6KXt0aGlzLmN1c3RvbVNoYWRvd3M9ey4uLnRoaXMuY3VzdG9tU2hhZG93cyxbX106en19c2V0VHJhbnNpdGlvbihfLHope3RoaXMuY3VzdG9tVHJhbnNpdGlvbnM9ey4uLnRoaXMuY3VzdG9tVHJhbnNpdGlvbnMsW19dOnp9fXNldENvbnRyb2xIZWlnaHQoXyx6KXt0aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzPXsuLi50aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzLFtfXTp6fX1nZXRUaGVtZSgpe3JldHVybntjb2xvcnM6ZW4uY29sb3JzLHNwYWNpbmc6ey4uLmVuLnNwYWNpbmcsLi4udGhpcy5jdXN0b21TcGFjaW5nfSxyYWRpdXM6ey4uLmVuLnJhZGl1cywuLi50aGlzLmN1c3RvbVJhZGl1c30sc2hhZG93czp7Li4uZW4uc2hhZG93cywuLi50aGlzLmN1c3RvbVNoYWRvd3N9LHRyYW5zaXRpb25zOnsuLi5lbi50cmFuc2l0aW9ucywuLi50aGlzLmN1c3RvbVRyYW5zaXRpb25zfSxjb250cm9sSGVpZ2h0czp7Li4uZW4uY29udHJvbEhlaWdodHMsLi4udGhpcy5jdXN0b21Db250cm9sSGVpZ2h0c319fXJlc2V0VG9EZWZhdWx0cygpe3RoaXMuY3VzdG9tU3BhY2luZz1udWxsLHRoaXMuY3VzdG9tUmFkaXVzPW51bGwsdGhpcy5jdXN0b21TaGFkb3dzPW51bGwsdGhpcy5jdXN0b21UcmFuc2l0aW9ucz1udWxsLHRoaXMuY3VzdG9tQ29udHJvbEhlaWdodHM9bnVsbH1hcHBseVRoZW1lKF8pe18uc3BhY2luZyYmKHRoaXMuY3VzdG9tU3BhY2luZz1fLnNwYWNpbmcpLF8ucmFkaXVzJiYodGhpcy5jdXN0b21SYWRpdXM9Xy5yYWRpdXMpLF8uc2hhZG93cyYmKHRoaXMuY3VzdG9tU2hhZG93cz1fLnNoYWRvd3MpLF8udHJhbnNpdGlvbnMmJih0aGlzLmN1c3RvbVRyYW5zaXRpb25zPV8udHJhbnNpdGlvbnMpLF8uY29udHJvbEhlaWdodHMmJih0aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzPV8uY29udHJvbEhlaWdodHMpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxaMSh0aGlzLEMpfXN0YXRpY3taMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgUjZhPWYoKCk9PntONmEoKX0pO3ZhciBPNmEsRjZhLEI2YT1mKCgpPT57bGUoKTt4SmUoKTtPNmE9cyhhc3luYyBhPT57YXdhaXQgbmV3IFByb21pc2UoZT0+e3dpbmRvdy5zZXRUaW1lb3V0KCgpPT5lKCksYSl9KX0sIndhaXRGb3JEZW1vU3RlcCIpLEY2YT1zKCgpPT57bGV0IGE9ITE7cmV0dXJuIHdgCiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBncmlkOyBnYXA6IDE2cHg7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IDMycHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPgogICAgICA8cCBzdHlsZT0ibWFyZ2luOiAwOyBtYXgtd2lkdGg6IDU0MHB4OyBsaW5lLWhlaWdodDogMS42OyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7Ij4KICAgICAgICBMYXVuY2hlcyB0aGUgdXBkYXRlciBhcyBhIHN0ZXBwZXIgZmxvdy4gVGhlIGZpcnN0IHN0ZXAgc3RyZWFtcyB0ZXJtaW5hbC1zdHlsZQogICAgICAgIHByb2dyZXNzIHVwZGF0ZXMgYW5kIHRoZW4gbW92ZXMgYXV0b21hdGljYWxseSB0byB0aGUgcmVhZHkgc3RlcC4KICAgICAgPC9wPgogICAgICA8ZGVlcy1idXR0b24KICAgICAgICBAY2xpY2s9JHthc3luYygpPT57aWYoIWEpe2E9ITA7dHJ5e2xldCBlPWF3YWl0IGNpZS5jcmVhdGVBbmRTaG93KHtjdXJyZW50VmVyc2lvbjoiMy43OS4wIix1cGRhdGVkVmVyc2lvbjoiMy44MC4wIixtb3JlSW5mb1VybDoiaHR0cHM6Ly9jb2RlLmZvc3MuZ2xvYmFsL2Rlc2lnbi5lc3RhdGUvZGVlcy1jYXRhbG9nIixjaGFuZ2Vsb2dVcmw6Imh0dHBzOi8vY29kZS5mb3NzLmdsb2JhbC9kZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZy8tL2Jsb2IvbWFpbi9jaGFuZ2Vsb2cubWQiLHN1Y2Nlc3NBY3Rpb246ImNsb3NlIixzdWNjZXNzRGVsYXlNczoxZTR9KSx0PVt7bGluZToiQ2hlY2tpbmcgcmVsZWFzZSBtYW5pZmVzdCIscGVyY2VudGFnZToxMixkZWxheTo1NTB9LHtsaW5lOiJEb3dubG9hZGluZyBzaWduZWQgYnVuZGxlIixwZXJjZW50YWdlOjMzLGRlbGF5OjcwMH0se2xpbmU6IlZlcmlmeWluZyBjaGVja3N1bSIscGVyY2VudGFnZTo1MSxkZWxheTo2NTB9LHtsaW5lOiJBcHBseWluZyB1cGRhdGUgZmlsZXMiLHBlcmNlbnRhZ2U6NzQsZGVsYXk6ODAwfSx7bGluZToiQ2xlYW5pbmcgdXAgcHJldmlvdXMgcmVsZWFzZSIscGVyY2VudGFnZTo5MSxkZWxheTo2MDB9XTtlLnVwZGF0ZVByb2dyZXNzKHtzdGF0dXNUZXh0OiJDaGVja2luZyByZWxlYXNlIG1hbmlmZXN0Li4uIix0ZXJtaW5hbExpbmVzOlsiQ2hlY2tpbmcgcmVsZWFzZSBtYW5pZmVzdCJdLHBlcmNlbnRhZ2U6MTIsaW5kZXRlcm1pbmF0ZTohMH0pO2ZvcihsZXRbcixpXW9mIHQuZW50cmllcygpKXI+MCYmKGUuYXBwZW5kUHJvZ3Jlc3NMaW5lKGkubGluZSksZS51cGRhdGVQcm9ncmVzcyh7cGVyY2VudGFnZTppLnBlcmNlbnRhZ2Usc3RhdHVzVGV4dDpgJHtpLmxpbmV9Li4uYH0pKSxhd2FpdCBPNmEoaS5kZWxheSk7YXdhaXQgZS5tYXJrVXBkYXRlUmVhZHkoKSxhd2FpdCBPNmEoMTA1MDApfWZpbmFsbHl7YT0hMX19fX0KICAgICAgPlNob3cgdXBkYXRlciBmbG93PC9kZWVzLWJ1dHRvbj4KICAgIDwvZGl2PgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIHE0LGZvLGNpZSx4SmU9ZigoKT0+e2xlKCk7QjZhKCk7R3NlKCk7bXMoKTtxND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sZm89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGNpZT0oKCk9PntsZXQgYT1baWUoImRlZXMtdXBkYXRlciIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxQPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVXBkYXRlciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6U3RyaW5nfSldLE49WyQoe3R5cGU6TnVtYmVyfSldLE89WyQoe3R5cGU6U3RyaW5nfSldLHE0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFZlcnNpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImN1cnJlbnRWZXJzaW9uImluIFMsImhhcyIpLGdldDpzKFM9PlMuY3VycmVudFZlcnNpb24sImdldCIpLHNldDpzKChTLEUpPT57Uy5jdXJyZW50VmVyc2lvbj1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCkscTQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ1cGRhdGVkVmVyc2lvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idXBkYXRlZFZlcnNpb24iaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy51cGRhdGVkVmVyc2lvbiwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnVwZGF0ZWRWZXJzaW9uPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxxNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vcmVJbmZvVXJsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJtb3JlSW5mb1VybCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLm1vcmVJbmZvVXJsLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MubW9yZUluZm9Vcmw9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxtLHYpLHE0KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2hhbmdlbG9nVXJsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjaGFuZ2Vsb2dVcmwiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5jaGFuZ2Vsb2dVcmwsImdldCIpLHNldDpzKChTLEUpPT57Uy5jaGFuZ2Vsb2dVcmw9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLHE0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3VjY2Vzc0FjdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic3VjY2Vzc0FjdGlvbiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnN1Y2Nlc3NBY3Rpb24sImdldCIpLHNldDpzKChTLEUpPT57Uy5zdWNjZXNzQWN0aW9uPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxxNCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN1Y2Nlc3NEZWxheU1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzdWNjZXNzRGVsYXlNcyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnN1Y2Nlc3NEZWxheU1zLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1Muc3VjY2Vzc0RlbGF5TXM9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLHE0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3VjY2Vzc0FjdGlvbkxhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzdWNjZXNzQWN0aW9uTGFiZWwiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zdWNjZXNzQWN0aW9uTGFiZWwsImdldCIpLHNldDpzKChTLEUpPT57Uy5zdWNjZXNzQWN0aW9uTGFiZWw9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxULFApLHE0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89RjZhO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdO3N0YXRpYyBhc3luYyBjcmVhdGVBbmRTaG93KE09e30pe2xldCBTPW5ldyBCO3JldHVybiBTLmN1cnJlbnRWZXJzaW9uPU0uY3VycmVudFZlcnNpb24/PyIiLFMudXBkYXRlZFZlcnNpb249TS51cGRhdGVkVmVyc2lvbj8/IiIsUy5tb3JlSW5mb1VybD1NLm1vcmVJbmZvVXJsPz8iIixTLmNoYW5nZWxvZ1VybD1NLmNoYW5nZWxvZ1VybD8/IiIsUy5zdWNjZXNzQWN0aW9uPU0uc3VjY2Vzc0FjdGlvbj8/ImNsb3NlIixTLnN1Y2Nlc3NEZWxheU1zPU0uc3VjY2Vzc0RlbGF5TXM/PzFlNCxTLnN1Y2Nlc3NBY3Rpb25MYWJlbD1NLnN1Y2Nlc3NBY3Rpb25MYWJlbD8/IiIsUy5vblN1Y2Nlc3NBY3Rpb249TS5vblN1Y2Nlc3NBY3Rpb24/P251bGwsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChTKSxhd2FpdCBTLnNob3coKSxTfSNlPWZvKHRoaXMsbiwiIik7Z2V0IGN1cnJlbnRWZXJzaW9uKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGN1cnJlbnRWZXJzaW9uKE0pe3RoaXMuI2U9TX0jdD0oZm8odGhpcyxsKSxmbyh0aGlzLGMsIiIpKTtnZXQgdXBkYXRlZFZlcnNpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgdXBkYXRlZFZlcnNpb24oTSl7dGhpcy4jdD1NfSNhPShmbyh0aGlzLHApLGZvKHRoaXMsbSwiIikpO2dldCBtb3JlSW5mb1VybCgpe3JldHVybiB0aGlzLiNhfXNldCBtb3JlSW5mb1VybChNKXt0aGlzLiNhPU19I3I9KGZvKHRoaXMsdiksZm8odGhpcyxiLCIiKSk7Z2V0IGNoYW5nZWxvZ1VybCgpe3JldHVybiB0aGlzLiNyfXNldCBjaGFuZ2Vsb2dVcmwoTSl7dGhpcy4jcj1NfSNzPShmbyh0aGlzLGcpLGZvKHRoaXMsaywiY2xvc2UiKSk7Z2V0IHN1Y2Nlc3NBY3Rpb24oKXtyZXR1cm4gdGhpcy4jc31zZXQgc3VjY2Vzc0FjdGlvbihNKXt0aGlzLiNzPU19I2k9KGZvKHRoaXMsQyksZm8odGhpcyxfLDFlNCkpO2dldCBzdWNjZXNzRGVsYXlNcygpe3JldHVybiB0aGlzLiNpfXNldCBzdWNjZXNzRGVsYXlNcyhNKXt0aGlzLiNpPU19I289KGZvKHRoaXMseiksZm8odGhpcyxULCIiKSk7Z2V0IHN1Y2Nlc3NBY3Rpb25MYWJlbCgpe3JldHVybiB0aGlzLiNvfXNldCBzdWNjZXNzQWN0aW9uTGFiZWwoTSl7dGhpcy4jbz1NfXN0ZXBwZXI9KGZvKHRoaXMsUCksbnVsbCk7cHJvZ3Jlc3NTdGVwPW51bGw7c2hvd1Byb21pc2U9bnVsbDtvblN1Y2Nlc3NBY3Rpb249bnVsbDtzdGF0aWMgc3R5bGVzPVtYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgYH1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zaG93KCl9YXN5bmMgc2hvdygpe2lmKCF0aGlzLnN0ZXBwZXI/LmlzQ29ubmVjdGVkKXtpZih0aGlzLnNob3dQcm9taXNlKXJldHVybiB0aGlzLnNob3dQcm9taXNlO3RoaXMuc2hvd1Byb21pc2U9dGhpcy5vcGVuU3RlcHBlckZsb3coKTt0cnl7YXdhaXQgdGhpcy5zaG93UHJvbWlzZX1maW5hbGx5e3RoaXMuc2hvd1Byb21pc2U9bnVsbH19fXVwZGF0ZVByb2dyZXNzKE0peyF0aGlzLnN0ZXBwZXJ8fCF0aGlzLnByb2dyZXNzU3RlcHx8dGhpcy5zdGVwcGVyLnVwZGF0ZVByb2dyZXNzU3RlcChNLHRoaXMucHJvZ3Jlc3NTdGVwKX1hcHBlbmRQcm9ncmVzc0xpbmUoTSl7IXRoaXMuc3RlcHBlcnx8IXRoaXMucHJvZ3Jlc3NTdGVwfHx0aGlzLnN0ZXBwZXIuYXBwZW5kUHJvZ3Jlc3NTdGVwTGluZShNLHRoaXMucHJvZ3Jlc3NTdGVwKX1tYXJrVXBkYXRlRXJyb3IoTSl7dGhpcy5hcHBlbmRQcm9ncmVzc0xpbmUoYEVycm9yOiAke019YCksdGhpcy51cGRhdGVQcm9ncmVzcyh7aW5kZXRlcm1pbmF0ZTohMSxzdGF0dXNUZXh0Ok19KX1hc3luYyBtYXJrVXBkYXRlUmVhZHkoKXshdGhpcy5zdGVwcGVyfHwhdGhpcy5wcm9ncmVzc1N0ZXB8fCh0aGlzLnN0ZXBwZXIudXBkYXRlUHJvZ3Jlc3NTdGVwKHtwZXJjZW50YWdlOjEwMCxpbmRldGVybWluYXRlOiExLHN0YXR1c1RleHQ6IlVwZGF0ZSByZWFkeS4ifSx0aGlzLnByb2dyZXNzU3RlcCksdGhpcy5zdGVwcGVyLmFwcGVuZFByb2dyZXNzU3RlcExpbmUoIlVwZGF0ZSByZWFkeSIsdGhpcy5wcm9ncmVzc1N0ZXApLHRoaXMuc3RlcHBlci5zZWxlY3RlZFN0ZXA9PT10aGlzLnByb2dyZXNzU3RlcCYmdGhpcy5zdGVwcGVyLmdvTmV4dCgpKX1hc3luYyBkZXN0cm95KCl7bGV0IE09dGhpcy5zdGVwcGVyO3RoaXMuc3RlcHBlcj1udWxsLHRoaXMucHJvZ3Jlc3NTdGVwPW51bGwsTT8uaXNDb25uZWN0ZWQmJmF3YWl0IE0uZGVzdHJveSgpLHRoaXMucGFyZW50RWxlbWVudCYmdGhpcy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMpfWFzeW5jIG9wZW5TdGVwcGVyRmxvdygpe2xldHtzdGVwczpNLHByb2dyZXNzU3RlcDpTfT10aGlzLmNyZWF0ZVVwZGF0ZXJTdGVwcygpO3RoaXMucHJvZ3Jlc3NTdGVwPVMsdGhpcy5zdGVwcGVyPWF3YWl0IEttLmNyZWF0ZUFuZFNob3coe3N0ZXBzOk0sY2FuY2VsYWJsZTohMX0pfWNyZWF0ZVVwZGF0ZXJTdGVwcygpe2xldCBNPXRoaXMuZ2V0TGlua01lbnVPcHRpb25zKCksUz17dGl0bGU6IlVwZGF0aW5nIHRoZSBhcHBsaWNhdGlvbiIsY29udGVudDp0aGlzLnJlbmRlclByb2dyZXNzQ29udGVudCgpLHByb2dyZXNzU3RlcDp7bGFiZWw6dGhpcy5nZXRQcm9ncmVzc0xhYmVsKCkscGVyY2VudGFnZTo1LGluZGV0ZXJtaW5hdGU6ITAsc3RhdHVzUm93czo0LHN0YXR1c1RleHQ6IlByZXBhcmluZyB1cGRhdGUuLi4iLHRlcm1pbmFsTGluZXM6WyJQcmVwYXJpbmcgdXBkYXRlIl19LG1lbnVPcHRpb25zOk0ubGVuZ3RoPjA/TTp2b2lkIDB9LEU9e3RpdGxlOnRoaXMudXBkYXRlZFZlcnNpb24/YFZlcnNpb24gJHt0aGlzLnVwZGF0ZWRWZXJzaW9ufSByZWFkeWA6IlVwZGF0ZSByZWFkeSIsY29udGVudDp0aGlzLnJlbmRlclJlYWR5Q29udGVudCgpLHByb2dyZXNzU3RlcDp7bGFiZWw6dGhpcy5nZXRTdWNjZXNzQ291bnRkb3duTGFiZWwodGhpcy5nZXRTdWNjZXNzRGVsYXlTZWNvbmRzKCkpLHBlcmNlbnRhZ2U6MCxpbmRldGVybWluYXRlOiExLHNob3dQZXJjZW50YWdlOiExLHN0YXR1c1Jvd3M6MixzdGF0dXNUZXh0OnRoaXMuZ2V0U3VjY2Vzc0NvdW50ZG93blN0YXR1cyh0aGlzLmdldFN1Y2Nlc3NEZWxheVNlY29uZHMoKSl9LHZhbGlkYXRpb25GdW5jOnMoYXN5bmMoQSxGLFcpPT57YXdhaXQgdGhpcy5ydW5TdWNjZXNzQ291bnRkb3duKEEsRSxXKX0sInZhbGlkYXRpb25GdW5jIil9O3JldHVybntzdGVwczpbUyxFXSxwcm9ncmVzc1N0ZXA6U319Z2V0UHJvZ3Jlc3NMYWJlbCgpe3JldHVybiB0aGlzLmN1cnJlbnRWZXJzaW9uJiZ0aGlzLnVwZGF0ZWRWZXJzaW9uP2Ake3RoaXMuY3VycmVudFZlcnNpb259IC0+ICR7dGhpcy51cGRhdGVkVmVyc2lvbn1gOnRoaXMudXBkYXRlZFZlcnNpb24/YFByZXBhcmluZyAke3RoaXMudXBkYXRlZFZlcnNpb259YDoiQXBwbGljYXRpb24gdXBkYXRlIn1nZXRTdWNjZXNzRGVsYXlTZWNvbmRzKCl7cmV0dXJuIE1hdGgubWF4KDEsTWF0aC5jZWlsKHRoaXMuc3VjY2Vzc0RlbGF5TXMvMWUzKSl9Z2V0U3VjY2Vzc0FjdGlvbkRpc3BsYXlMYWJlbCgpe3JldHVybiB0aGlzLnN1Y2Nlc3NBY3Rpb25MYWJlbD90aGlzLnN1Y2Nlc3NBY3Rpb25MYWJlbDp0aGlzLm9uU3VjY2Vzc0FjdGlvbj8iQ29udGludWluZyBhdXRvbWF0aWNhbGx5Ijp0aGlzLnN1Y2Nlc3NBY3Rpb249PT0icmVsb2FkIj8iUmVsb2FkaW5nIGFwcGxpY2F0aW9uIjoiQ2xvc2luZyB1cGRhdGVyIn1nZXRTdWNjZXNzQ291bnRkb3duTGFiZWwoTSl7cmV0dXJuYCR7dGhpcy5nZXRTdWNjZXNzQWN0aW9uRGlzcGxheUxhYmVsKCl9IGluICR7TX1zYH1nZXRTdWNjZXNzQ291bnRkb3duU3RhdHVzKE0pe2xldCBTPU09PT0xPyJzZWNvbmQiOiJzZWNvbmRzIjtyZXR1cm5gJHt0aGlzLmdldFN1Y2Nlc3NBY3Rpb25EaXNwbGF5TGFiZWwoKX0gaW4gJHtNfSAke1N9LmB9Z2V0U3VjY2Vzc0FjdGlvbk5vd0xhYmVsKCl7cmV0dXJuYCR7dGhpcy5nZXRTdWNjZXNzQWN0aW9uRGlzcGxheUxhYmVsKCl9IG5vdy4uLmB9Z2V0TGlua01lbnVPcHRpb25zKCl7bGV0IE09W107cmV0dXJuIHRoaXMubW9yZUluZm9VcmwmJk0ucHVzaCh7bmFtZToiTW9yZSBpbmZvIixhY3Rpb246cyhhc3luYygpPT57dGhpcy5vcGVuRXh0ZXJuYWxVcmwodGhpcy5tb3JlSW5mb1VybCl9LCJhY3Rpb24iKX0pLHRoaXMuY2hhbmdlbG9nVXJsJiZNLnB1c2goe25hbWU6IkNoYW5nZWxvZyIsYWN0aW9uOnMoYXN5bmMoKT0+e3RoaXMub3BlbkV4dGVybmFsVXJsKHRoaXMuY2hhbmdlbG9nVXJsKX0sImFjdGlvbiIpfSksTX1yZW5kZXJWZXJzaW9uTWV0YShNLFMpe3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgc3R5bGU9ImRpc3BsYXk6IGdyaWQ7IGdhcDogNHB4OyBtaW4td2lkdGg6IDEzMnB4OyBwYWRkaW5nOiAxMnB4IDE0cHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7IGJvcmRlci1yYWRpdXM6IDhweDsgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7IgogICAgICA+CiAgICAgICAgPGRpdgogICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7IgogICAgICAgID4KICAgICAgICAgICR7TX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2CiAgICAgICAgICBzdHlsZT0ke2Bmb250LWZhbWlseTogJHtXdGV9OyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpO2B9CiAgICAgICAgPgogICAgICAgICAgJHtTfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyUHJvZ3Jlc3NDb250ZW50KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGdyaWQ7IGdhcDogMThweDsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOyI+CiAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZ3JpZDsgZ2FwOiA2cHg7Ij4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7IgogICAgICAgICAgPgogICAgICAgICAgICBBcHBsaWNhdGlvbiB1cGRhdGUKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdgogICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMS4zNTsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7IgogICAgICAgICAgPgogICAgICAgICAgICBEb3dubG9hZGluZyBhbmQgYXBwbHlpbmcgdGhlIGxhdGVzdCByZWxlYXNlLgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOiAwOyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjY1OyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7Ij4KICAgICAgICAgICAgJHt0aGlzLmN1cnJlbnRWZXJzaW9uJiZ0aGlzLnVwZGF0ZWRWZXJzaW9uP3dgTW92aW5nIGZyb20gPHN0cm9uZz4ke3RoaXMuY3VycmVudFZlcnNpb259PC9zdHJvbmc+IHRvIDxzdHJvbmc+JHt0aGlzLnVwZGF0ZWRWZXJzaW9ufTwvc3Ryb25nPi5gOnRoaXMudXBkYXRlZFZlcnNpb24/d2BQcmVwYXJpbmcgPHN0cm9uZz4ke3RoaXMudXBkYXRlZFZlcnNpb259PC9zdHJvbmc+IGZvciBpbnN0YWxsYXRpb24uYDoiVGhlIHVwZGF0ZXIgaXMgZmV0Y2hpbmcgdGhlIG5ld2VzdCBidWlsZCBhbmQgcHJlcGFyaW5nIGl0IGZvciBpbnN0YWxsYXRpb24uIn0KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLmN1cnJlbnRWZXJzaW9ufHx0aGlzLnVwZGF0ZWRWZXJzaW9uP3dgCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDEwcHg7Ij4KICAgICAgICAgICAgICAgICR7dGhpcy5jdXJyZW50VmVyc2lvbj90aGlzLnJlbmRlclZlcnNpb25NZXRhKCJDdXJyZW50IHZlcnNpb24iLHRoaXMuY3VycmVudFZlcnNpb24pOiIifQogICAgICAgICAgICAgICAgJHt0aGlzLnVwZGF0ZWRWZXJzaW9uP3RoaXMucmVuZGVyVmVyc2lvbk1ldGEoIkluY29taW5nIHZlcnNpb24iLHRoaXMudXBkYXRlZFZlcnNpb24pOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2CiAgICAgICAgICBzdHlsZT0iZGlzcGxheTogZ3JpZDsgZ2FwOiA0cHg7IHBhZGRpbmc6IDE0cHggMTZweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsgYm9yZGVyLXJhZGl1czogOHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsiCiAgICAgICAgPgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOyI+CiAgICAgICAgICAgIEF1dG9tYXRpYyBmbG93CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTNweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7Ij4KICAgICAgICAgICAgVGhlIHVwZGF0ZXIgY29udGludWVzIG9uIGl0cyBvd24gb25jZSB0aGUgbmV3IGJ1aWxkIGlzIGluc3RhbGxlZCBhbmQgdmVyaWZpZWQuCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclJlYWR5Q29udGVudCgpe2xldCBNPXRoaXMuZ2V0U3VjY2Vzc0RlbGF5U2Vjb25kcygpO3JldHVybiB3YAogICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBncmlkOyBnYXA6IDE4cHg7IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsiPgogICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGdyaWQ7IGdhcDogNnB4OyI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAwLjA4ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOyIKICAgICAgICAgID4KICAgICAgICAgICAgVXBkYXRlIGNvbXBsZXRlCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDEuMzU7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOyIKICAgICAgICAgID4KICAgICAgICAgICAgJHt0aGlzLnVwZGF0ZWRWZXJzaW9uP3dgVmVyc2lvbiA8c3BhbiBzdHlsZT0ke2Bmb250LWZhbWlseTogJHtXdGV9OyBmb250LXNpemU6IDAuOTVlbTtgfT4ke3RoaXMudXBkYXRlZFZlcnNpb259PC9zcGFuPiBpcyByZWFkeSB0byB1c2UuYDoiVGhlIG5ldyB2ZXJzaW9uIGlzIHJlYWR5IHRvIHVzZS4ifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOiAwOyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjY1OyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7Ij4KICAgICAgICAgICAgVGhlIG5ldyBidWlsZCBoYXMgYmVlbiBpbnN0YWxsZWQgYW5kIHZlcmlmaWVkLiBZb3UgY2FuIHJldmlldyByZWxlYXNlIGRldGFpbHMgYmVsb3cgd2hpbGUgdGhlIG5leHQgYWN0aW9uIHJ1bnMgYXV0b21hdGljYWxseS4KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLnVwZGF0ZWRWZXJzaW9uP3dgCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDEwcHg7Ij4KICAgICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJWZXJzaW9uTWV0YSgiSW5zdGFsbGVkIHZlcnNpb24iLHRoaXMudXBkYXRlZFZlcnNpb24pfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2CiAgICAgICAgICBzdHlsZT0iZGlzcGxheTogZ3JpZDsgZ2FwOiA0cHg7IHBhZGRpbmc6IDE0cHggMTZweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsgYm9yZGVyLXJhZGl1czogOHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsiCiAgICAgICAgPgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOyI+CiAgICAgICAgICAgIE5leHQgYWN0aW9uCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNTsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsiPgogICAgICAgICAgICAke3RoaXMuZ2V0U3VjY2Vzc0FjdGlvbkRpc3BsYXlMYWJlbCgpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEzcHg7IGxpbmUtaGVpZ2h0OiAxLjY7IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOyI+CiAgICAgICAgICAgIFJ1bnMgYXV0b21hdGljYWxseSBpbiAke019IHNlY29uZHMuCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIHJ1blN1Y2Nlc3NDb3VudGRvd24oTSxTLEUpe2xldCBBPU1hdGgubWF4KDFlMyx0aGlzLnN1Y2Nlc3NEZWxheU1zKSxGPURhdGUubm93KCk7Zm9yKDshRT8uYWJvcnRlZDspe2xldCBXPU1hdGgubWluKEEsRGF0ZS5ub3coKS1GKSxqPU1hdGgubWF4KDAsQS1XKSxHPU1hdGgubWF4KDAsTWF0aC5jZWlsKGovMWUzKSk7aWYoTS51cGRhdGVQcm9ncmVzc1N0ZXAoe2xhYmVsOmo+MD90aGlzLmdldFN1Y2Nlc3NDb3VudGRvd25MYWJlbChHKTp0aGlzLmdldFN1Y2Nlc3NBY3Rpb25Ob3dMYWJlbCgpLHBlcmNlbnRhZ2U6Vy9BKjEwMCxpbmRldGVybWluYXRlOiExLHNob3dQZXJjZW50YWdlOiExLHN0YXR1c1RleHQ6aj4wP3RoaXMuZ2V0U3VjY2Vzc0NvdW50ZG93blN0YXR1cyhHKTp0aGlzLmdldFN1Y2Nlc3NBY3Rpb25Ob3dMYWJlbCgpfSxTKSxqPD0wKWJyZWFrO2lmKCFhd2FpdCB0aGlzLndhaXRGb3JDb3VudGRvd25UaWNrKDEwMCxFKSlyZXR1cm59YXdhaXQgdGhpcy5ydW5Db25maWd1cmVkU3VjY2Vzc0FjdGlvbigpfWFzeW5jIHdhaXRGb3JDb3VudGRvd25UaWNrKE0sUyl7cmV0dXJuIG5ldyBQcm9taXNlKEU9PntsZXQgQT0hMSxGPXMoRz0+e0F8fChBPSEwLFMmJlMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLFcpLEUoRykpfSwiZmluaXNoIiksVz1zKCgpPT57d2luZG93LmNsZWFyVGltZW91dChqKSxGKCExKX0sImhhbmRsZUFib3J0Iiksaj13aW5kb3cuc2V0VGltZW91dCgoKT0+e0YoITApfSxNKTtTJiZTLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixXLHtvbmNlOiEwfSl9KX1hc3luYyBydW5Db25maWd1cmVkU3VjY2Vzc0FjdGlvbigpe2lmKHRoaXMub25TdWNjZXNzQWN0aW9uKXthd2FpdCB0aGlzLm9uU3VjY2Vzc0FjdGlvbigpO3JldHVybn1pZih0aGlzLnN1Y2Nlc3NBY3Rpb249PT0icmVsb2FkIil7YXdhaXQgdGhpcy5kZXN0cm95KCksd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO3JldHVybn1hd2FpdCB0aGlzLmRlc3Ryb3koKX1vcGVuRXh0ZXJuYWxVcmwoTSl7d2luZG93Lm9wZW4oTSwiX2JsYW5rIiwibm9vcGVuZXIsbm9yZWZlcnJlciIpfXN0YXRpY3tmbyhyLHQpfX07cmV0dXJuIEI9cn0pKCl9KTt2YXIgSDZhPWYoKCk9Pnt4SmUoKX0pO3ZhciBxNmE9ZigoKT0+e3lZZSgpfSk7dmFyIFY2YT1mKCgpPT57QzZhKCk7QTZhKCk7UjZhKCk7SDZhKCk7cTZhKCl9KTt2YXIgdzUsdW4sajZhLGRpZT1mKCgpPT57bGUoKTtlYSgpO1FlKCk7dmEoKTtYcigpO1hyKCk7Y2MoKTtuNCgpO240KCk7dzU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHVuPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxqNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXdvcmtzcGFjZS1maWxldHJlZSIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdO3ZhciBPPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzV29ya3NwYWNlRmlsZXRyZWUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVtLKCldLHk9W0soKV0sTj1bSygpXSx3NSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV4ZWN1dGlvbkVudmlyb25tZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFA9PiJleGVjdXRpb25FbnZpcm9ubWVudCJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLmV4ZWN1dGlvbkVudmlyb25tZW50LCJnZXQiKSxzZXQ6cygoUCxCKT0+e1AuZXhlY3V0aW9uRW52aXJvbm1lbnQ9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxuLGwpLHc1KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicm9vdFBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+InJvb3RQYXRoImluIFAsImhhcyIpLGdldDpzKFA9PlAucm9vdFBhdGgsImdldCIpLHNldDpzKChQLEIpPT57UC5yb290UGF0aD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGMscCksdzUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+InNlbGVjdGVkUGF0aCJpbiBQLCJoYXMiKSxnZXQ6cyhQPT5QLnNlbGVjdGVkUGF0aCwiZ2V0Iiksc2V0OnMoKFAsQik9PntQLnNlbGVjdGVkUGF0aD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksdzUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0cmVlRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4idHJlZURhdGEiaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC50cmVlRGF0YSwiZ2V0Iiksc2V0OnMoKFAsQik9PntQLnRyZWVEYXRhPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYixnKSx3NSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzTG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4iaXNMb2FkaW5nImluIFAsImhhcyIpLGdldDpzKFA9PlAuaXNMb2FkaW5nLCJnZXQiKSxzZXQ6cygoUCxCKT0+e1AuaXNMb2FkaW5nPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sayxDKSx3NSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVycm9yTWVzc2FnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4iZXJyb3JNZXNzYWdlImluIFAsImhhcyIpLGdldDpzKFA9PlAuZXJyb3JNZXNzYWdlLCJnZXQiKSxzZXQ6cygoUCxCKT0+e1AuZXJyb3JNZXNzYWdlPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSx3NShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAwcHg7IGhlaWdodDogNDAwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsiPgogICAgICA8ZGVlcy13b3Jrc3BhY2UtZmlsZXRyZWU+PC9kZWVzLXdvcmtzcGFjZS1maWxldHJlZT4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIldvcmtzcGFjZSJdOyNlPXVuKHRoaXMsbixudWxsKTtnZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoVCl7dGhpcy4jZT1UfSN0PSh1bih0aGlzLGwpLHVuKHRoaXMsYywiLyIpKTtnZXQgcm9vdFBhdGgoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcm9vdFBhdGgoVCl7dGhpcy4jdD1UfSNhPSh1bih0aGlzLHApLHVuKHRoaXMsbSwiIikpO2dldCBzZWxlY3RlZFBhdGgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VsZWN0ZWRQYXRoKFQpe3RoaXMuI2E9VH0jcj0odW4odGhpcyx2KSx1bih0aGlzLGIsW10pKTtnZXQgdHJlZURhdGEoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdHJlZURhdGEoVCl7dGhpcy4jcj1UfSNzPSh1bih0aGlzLGcpLHVuKHRoaXMsaywhMSkpO2dldCBpc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy4jc31zZXQgaXNMb2FkaW5nKFQpe3RoaXMuI3M9VH0jaT0odW4odGhpcyxDKSx1bih0aGlzLF8sIiIpKTtnZXQgZXJyb3JNZXNzYWdlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGVycm9yTWVzc2FnZShUKXt0aGlzLiNpPVR9ZXhwYW5kZWRQYXRocz0odW4odGhpcyx6KSxuZXcgU2V0KTtsb2FkVHJlZVN0YXJ0ZWQ9ITE7Y2xpcGJvYXJkUGF0aD1udWxsO2NsaXBib2FyZE9wZXJhdGlvbj1udWxsO2ZpbGVXYXRjaGVyPW51bGw7cmVmcmVzaERlYm91bmNlVGltZW91dD1udWxsO2xhc3RFeGVjdXRpb25FbnZpcm9ubWVudD1udWxsO3N0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTglKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAudHJlZS1jb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICB9CgogICAgICAudHJlZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbjogMXB4IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRyZWUtaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkzJSkiLCJoc2woMCAwJSAxNCUpIil9OwogICAgICB9CgogICAgICAudHJlZS1pdGVtLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDk1JSkiLCJoc2woMjEwIDUwJSAyMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQwJSkiLCJoc2woMjEwIDEwMCUgNzAlKSIpfTsKICAgICAgfQoKICAgICAgLnRyZWUtaXRlbS5zZWxlY3RlZDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA5MiUpIiwiaHNsKDIxMCA1MCUgMjUlKSIpfTsKICAgICAgfQoKICAgICAgLmluZGVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZXhwYW5kLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmV4cGFuZC1pY29uLmV4cGFuZGVkIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICAgIH0KCiAgICAgIC5leHBhbmQtaWNvbi5oaWRkZW4gewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIG1hcmdpbi1yaWdodDogNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5mb2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDQ1IDgwJSA0NSUpIiwiaHNsKDQ1IDcwJSA1NSUpIil9OwogICAgICB9CgogICAgICAuZmlsZS1pY29uLmZpbGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24udHlwZXNjcmlwdCB7CiAgICAgICAgY29sb3I6IGhzbCgyMTEgNjAlIDQ4JSk7CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24uamF2YXNjcmlwdCB7CiAgICAgICAgY29sb3I6IGhzbCg1MyA5MyUgNTQlKTsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5qc29uIHsKICAgICAgICBjb2xvcjogaHNsKDQ1IDgwJSA1MCUpOwogICAgICB9CgogICAgICAuZmlsZS1pY29uLmh0bWwgewogICAgICAgIGNvbG9yOiBoc2woMTQgNzclIDUyJSk7CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24uY3NzIHsKICAgICAgICBjb2xvcjogaHNsKDIyOCA3NyUgNTklKTsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5tYXJrZG93biB7CiAgICAgICAgY29sb3I6IGhzbCgwIDAlIDUwJSk7CiAgICAgIH0KCiAgICAgIC5maWxlLW5hbWUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDg1JSkiKX07CiAgICAgIH0KCiAgICAgIC5sb2FkaW5nIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAuZXJyb3IgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiBoc2woMCA3MCUgNTAlKTsKICAgICAgfQoKICAgICAgLmVtcHR5IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLmZpbGV0cmVlLXRvb2xiYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NiUpIiwiaHNsKDAgMCUgOCUpIil9OwogICAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAudG9vbGJhci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzLCBiYWNrZ3JvdW5kIDAuMTVzOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA3MCUpIil9OwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wOCkiLCJoc2woMCAwJSAxMDAlIC8gMC4xKSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQ/dGhpcy5pc0xvYWRpbmc/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nIj4KICAgICAgICAgIExvYWRpbmcgZmlsZXMuLi4KICAgICAgICA8L2Rpdj4KICAgICAgYDp0aGlzLmVycm9yTWVzc2FnZT93YAogICAgICAgIDxkaXYgY2xhc3M9ImVycm9yIj4KICAgICAgICAgICR7dGhpcy5lcnJvck1lc3NhZ2V9CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0iZmlsZXRyZWUtdG9vbGJhciI+CiAgICAgICAgPHNwYW4gY2xhc3M9InRvb2xiYXItdGl0bGUiPkV4cGxvcmVyPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY3JlYXRlTmV3RmlsZSgiLyIpfSB0aXRsZT0iTmV3IEZpbGUiPgogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpmaWxlUGx1cyJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jcmVhdGVOZXdGb2xkZXIoIi8iKX0gdGl0bGU9Ik5ldyBGb2xkZXIiPgogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpmb2xkZXJQbHVzIn0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgJHt0aGlzLnRyZWVEYXRhLmxlbmd0aD09PTA/d2A8ZGl2IGNsYXNzPSJlbXB0eSI+Tm8gZmlsZXMgZm91bmQuPC9kaXY+YDp3YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmVlLWNvbnRhaW5lciIgQGNvbnRleHRtZW51PSR7dGhpcy5oYW5kbGVFbXB0eVNwYWNlQ29udGV4dE1lbnV9PgogICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJUcmVlKHRoaXMudHJlZURhdGEpfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CiAgICBgOndgCiAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHkiPgogICAgICAgICAgTm8gZXhlY3V0aW9uIGVudmlyb25tZW50IHByb3ZpZGVkLgogICAgICAgIDwvZGl2PgogICAgICBgfXJlbmRlclRyZWUoVCl7cmV0dXJuIFQubWFwKFA9PnRoaXMucmVuZGVyTm9kZShQKSl9cmVuZGVyTm9kZShUKXtsZXQgUD1ULnR5cGU9PT0iZGlyZWN0b3J5IixCPXRoaXMuZXhwYW5kZWRQYXRocy5oYXMoVC5wYXRoKSxNPVQucGF0aD09PXRoaXMuc2VsZWN0ZWRQYXRoLFM9dGhpcy5nZXRGaWxlSWNvbkNsYXNzKFQpO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9InRyZWUtaXRlbSAke00/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgc3R5bGU9InBhZGRpbmctbGVmdDogJHs4K1QubGV2ZWwqMTZ9cHgiCiAgICAgICAgQGNsaWNrPSR7RT0+dGhpcy5oYW5kbGVJdGVtQ2xpY2soRSxUKX0KICAgICAgICBAY29udGV4dG1lbnU9JHtFPT50aGlzLmhhbmRsZUNvbnRleHRNZW51KEUsVCl9CiAgICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0iZXhwYW5kLWljb24gJHtCPyJleHBhbmRlZCI6IiJ9ICR7UD8iIjoiaGlkZGVuIn0iPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Y2hldnJvblJpZ2h0In0gaWNvblNpemU9IjEyIj48L2RlZXMtaWNvbj4KICAgICAgICA8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImZpbGUtaWNvbiAke1N9Ij4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHt0aGlzLmdldEZpbGVJY29uKFQpfSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgIDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZmlsZS1uYW1lIj4ke1QubmFtZX08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICAke1AmJkImJlQuY2hpbGRyZW4/dGhpcy5yZW5kZXJUcmVlKFQuY2hpbGRyZW4pOiIifQogICAgYH1nZXRGaWxlSWNvbihUKXtpZihULnR5cGU9PT0iZGlyZWN0b3J5IilyZXR1cm4gdGhpcy5leHBhbmRlZFBhdGhzLmhhcyhULnBhdGgpPyJsdWNpZGU6Zm9sZGVyT3BlbiI6Imx1Y2lkZTpmb2xkZXIiO3N3aXRjaChULm5hbWUuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKSl7Y2FzZSJ0cyI6Y2FzZSJ0c3giOnJldHVybiJsdWNpZGU6ZmlsZUNvZGUiO2Nhc2UianMiOmNhc2UianN4IjpyZXR1cm4ibHVjaWRlOmZpbGVDb2RlIjtjYXNlImpzb24iOnJldHVybiJsdWNpZGU6ZmlsZUpzb24iO2Nhc2UiaHRtbCI6cmV0dXJuImx1Y2lkZTpmaWxlQ29kZSI7Y2FzZSJjc3MiOmNhc2Uic2NzcyI6Y2FzZSJsZXNzIjpyZXR1cm4ibHVjaWRlOmZpbGVDb2RlIjtjYXNlIm1kIjpyZXR1cm4ibHVjaWRlOmZpbGVUZXh0IjtjYXNlInBuZyI6Y2FzZSJqcGciOmNhc2UianBlZyI6Y2FzZSJnaWYiOmNhc2Uic3ZnIjpyZXR1cm4ibHVjaWRlOmltYWdlIjtkZWZhdWx0OnJldHVybiJsdWNpZGU6ZmlsZSJ9fWdldEZpbGVJY29uQ2xhc3MoVCl7aWYoVC50eXBlPT09ImRpcmVjdG9yeSIpcmV0dXJuImZvbGRlciI7c3dpdGNoKFQubmFtZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpKXtjYXNlInRzIjpjYXNlInRzeCI6cmV0dXJuInR5cGVzY3JpcHQiO2Nhc2UianMiOmNhc2UianN4IjpyZXR1cm4iamF2YXNjcmlwdCI7Y2FzZSJqc29uIjpyZXR1cm4ianNvbiI7Y2FzZSJodG1sIjpyZXR1cm4iaHRtbCI7Y2FzZSJjc3MiOmNhc2Uic2NzcyI6Y2FzZSJsZXNzIjpyZXR1cm4iY3NzIjtjYXNlIm1kIjpyZXR1cm4ibWFya2Rvd24iO2RlZmF1bHQ6cmV0dXJuImZpbGUifX1hc3luYyBoYW5kbGVJdGVtQ2xpY2soVCxQKXtULnN0b3BQcm9wYWdhdGlvbigpLFAudHlwZT09PSJkaXJlY3RvcnkiP2F3YWl0IHRoaXMudG9nZ2xlRGlyZWN0b3J5KFApOih0aGlzLnNlbGVjdGVkUGF0aD1QLnBhdGgsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZmlsZS1zZWxlY3QiLHtkZXRhaWw6e3BhdGg6UC5wYXRoLG5hbWU6UC5uYW1lfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX1hc3luYyB0b2dnbGVEaXJlY3RvcnkoVCl7dGhpcy5leHBhbmRlZFBhdGhzLmhhcyhULnBhdGgpP3RoaXMuZXhwYW5kZWRQYXRocy5kZWxldGUoVC5wYXRoKToodGhpcy5leHBhbmRlZFBhdGhzLmFkZChULnBhdGgpLCghVC5jaGlsZHJlbnx8VC5jaGlsZHJlbi5sZW5ndGg9PT0wKSYmYXdhaXQgdGhpcy5sb2FkRGlyZWN0b3J5Q29udGVudHMoVCkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWFzeW5jIGxvYWREaXJlY3RvcnlDb250ZW50cyhUKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXRyeXtsZXQgUD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIoVC5wYXRoKTtULmNoaWxkcmVuPXRoaXMuc29ydEVudHJpZXMoUCkubWFwKEI9Pih7Li4uQixsZXZlbDpULmxldmVsKzEsZXhwYW5kZWQ6ITEsY2hpbGRyZW46Qi50eXBlPT09ImRpcmVjdG9yeSI/W106dm9pZCAwfSkpfWNhdGNoKFApe2NvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBsb2FkIGRpcmVjdG9yeSAke1QucGF0aH06YCxQKX19YXN5bmMgaGFuZGxlQ29udGV4dE1lbnUoVCxQKXtULnByZXZlbnREZWZhdWx0KCksVC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgQj1bXTtQLnR5cGU9PT0iZGlyZWN0b3J5IiYmQi5wdXNoKHtuYW1lOiJOZXcgRmlsZSIsaWNvbk5hbWU6ImZpbGVQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLmNyZWF0ZU5ld0ZpbGUoUC5wYXRoKSwiYWN0aW9uIil9LHtuYW1lOiJOZXcgRm9sZGVyIixpY29uTmFtZToiZm9sZGVyUGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5jcmVhdGVOZXdGb2xkZXIoUC5wYXRoKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSksQi5wdXNoKHtuYW1lOiJSZW5hbWUiLGljb25OYW1lOiJwZW5jaWwiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMucmVuYW1lSXRlbShQKSwiYWN0aW9uIil9LHtuYW1lOiJEdXBsaWNhdGUiLGljb25OYW1lOiJmaWxlcyIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5kdXBsaWNhdGVJdGVtKFApLCJhY3Rpb24iKX0se25hbWU6IkNvcHkiLGljb25OYW1lOiJjb3B5IixhY3Rpb246cyhhc3luYygpPT50aGlzLmNvcHlJdGVtKFApLCJhY3Rpb24iKX0pLFAudHlwZT09PSJkaXJlY3RvcnkiJiZ0aGlzLmNsaXBib2FyZFBhdGgmJkIucHVzaCh7bmFtZToiUGFzdGUiLGljb25OYW1lOiJjbGlwYm9hcmQiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMucGFzdGVJdGVtKFAucGF0aCksImFjdGlvbiIpfSksQi5wdXNoKHtkaXZpZGVyOiEwfSx7bmFtZToiRGVsZXRlIixpY29uTmFtZToidHJhc2gyIixhY3Rpb246cyhhc3luYygpPT50aGlzLmRlbGV0ZUl0ZW0oUCksImFjdGlvbiIpfSksYXdhaXQgdGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoVCxCKX1hc3luYyBoYW5kbGVFbXB0eVNwYWNlQ29udGV4dE1lbnUoVCl7aWYoVC50YXJnZXQuY2xvc2VzdCgiLnRyZWUtaXRlbSIpKXJldHVybjtULnByZXZlbnREZWZhdWx0KCksVC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgQj1be25hbWU6Ik5ldyBGaWxlIixpY29uTmFtZToiZmlsZVBsdXMiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMuY3JlYXRlTmV3RmlsZSgiLyIpLCJhY3Rpb24iKX0se25hbWU6Ik5ldyBGb2xkZXIiLGljb25OYW1lOiJmb2xkZXJQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLmNyZWF0ZU5ld0ZvbGRlcigiLyIpLCJhY3Rpb24iKX1dO3RoaXMuY2xpcGJvYXJkUGF0aCYmQi5wdXNoKHtkaXZpZGVyOiEwfSx7bmFtZToiUGFzdGUiLGljb25OYW1lOiJjbGlwYm9hcmQiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMucGFzdGVJdGVtKCIvIiksImFjdGlvbiIpfSksYXdhaXQgdGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoVCxCKX1hc3luYyBzaG93SW5wdXRNb2RhbChUKXtyZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgUD0+e2xldCBCPWF3YWl0IE1hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6VC5oZWFkaW5nLHdpZHRoOiJzbWFsbCIsY29udGVudDp3YAogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHtULmxhYmVsfQogICAgICAgICAgICAudmFsdWU9JHtULnZhbHVlfHwiIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyBTPT57YXdhaXQgUy5kZXN0cm95KCksUChudWxsKX0sImFjdGlvbiIpfSx7bmFtZTpULmJ1dHRvbk5hbWV8fCJDcmVhdGUiLGFjdGlvbjpzKGFzeW5jIFM9PntsZXQgRj1TLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5tb2RhbCAuY29udGVudCIpPy5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHQiKT8udmFsdWU/LnRyaW0oKXx8IiI7YXdhaXQgUy5kZXN0cm95KCksUChGfHxudWxsKX0sImFjdGlvbiIpfV19KTthd2FpdCBCLnVwZGF0ZUNvbXBsZXRlO2xldCBNPUIuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm1vZGFsIC5jb250ZW50Iik7aWYoTSl7bGV0IFM9TS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHQiKTtTJiYoYXdhaXQgUy51cGRhdGVDb21wbGV0ZSxTLmZvY3VzKCkpfX0pfWFzeW5jIGNyZWF0ZU5ld0ZpbGUoVCl7bGV0IFA9YXdhaXQgdGhpcy5zaG93SW5wdXRNb2RhbCh7aGVhZGluZzoiTmV3IEZpbGUiLGxhYmVsOiJGaWxlIG5hbWUifSk7aWYoIVB8fCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXJldHVybjtsZXQgQj1UPT09Ii8iP2AvJHtQfWA6YCR7VH0vJHtQfWA7dHJ5e2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud3JpdGVGaWxlKEIsIiIpLGF3YWl0IHRoaXMucmVmcmVzaCgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZpbGUtY3JlYXRlZCIse2RldGFpbDp7cGF0aDpCfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNhdGNoKE0pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgZmlsZToiLE0pfX1hc3luYyBjcmVhdGVOZXdGb2xkZXIoVCl7bGV0IFA9YXdhaXQgdGhpcy5zaG93SW5wdXRNb2RhbCh7aGVhZGluZzoiTmV3IEZvbGRlciIsbGFiZWw6IkZvbGRlciBuYW1lIn0pO2lmKCFQfHwhdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm47bGV0IEI9VD09PSIvIj9gLyR7UH1gOmAke1R9LyR7UH1gO3RyeXthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50Lm1rZGlyKEIpLGF3YWl0IHRoaXMucmVmcmVzaCgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZvbGRlci1jcmVhdGVkIix7ZGV0YWlsOntwYXRoOkJ9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2F0Y2goTSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBmb2xkZXI6IixNKX19YXN5bmMgZGVsZXRlSXRlbShUKXtpZighKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhY29uZmlybShgRGVsZXRlICR7VC5uYW1lfT9gKSkpdHJ5e2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucm0oVC5wYXRoLHtyZWN1cnNpdmU6VC50eXBlPT09ImRpcmVjdG9yeSJ9KSxhd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpdGVtLWRlbGV0ZWQiLHtkZXRhaWw6e3BhdGg6VC5wYXRoLHR5cGU6VC50eXBlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNhdGNoKEIpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBkZWxldGUgaXRlbToiLEIpfX1hc3luYyByZW5hbWVJdGVtKFQpe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXJldHVybjtsZXQgUD1hd2FpdCB0aGlzLnNob3dJbnB1dE1vZGFsKHtoZWFkaW5nOiJSZW5hbWUiLGxhYmVsOiJOZXcgbmFtZSIsdmFsdWU6VC5uYW1lLGJ1dHRvbk5hbWU6IlJlbmFtZSJ9KTtpZighUHx8UD09PVQubmFtZSlyZXR1cm47bGV0IEI9VC5wYXRoLnN1YnN0cmluZygwLFQucGF0aC5sYXN0SW5kZXhPZigiLyIpKXx8Ii8iLE09Qj09PSIvIj9gLyR7UH1gOmAke0J9LyR7UH1gO3RyeXtpZihULnR5cGU9PT0iZmlsZSIpe2xldCBTPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUoVC5wYXRoKTthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShNLFMpLGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucm0oVC5wYXRoKX1lbHNlIGF3YWl0IHRoaXMuY29weURpcmVjdG9yeUNvbnRlbnRzKFQucGF0aCxNKSxhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJtKFQucGF0aCx7cmVjdXJzaXZlOiEwfSk7YXdhaXQgdGhpcy5yZWZyZXNoKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiaXRlbS1yZW5hbWVkIix7ZGV0YWlsOntvbGRQYXRoOlQucGF0aCxuZXdQYXRoOk0sdHlwZTpULnR5cGV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2F0Y2goUyl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHJlbmFtZSBpdGVtOiIsUyl9fWFzeW5jIGR1cGxpY2F0ZUl0ZW0oVCl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO2xldCBQPVQucGF0aC5zdWJzdHJpbmcoMCxULnBhdGgubGFzdEluZGV4T2YoIi8iKSl8fCIvIixCO2lmKFQudHlwZT09PSJmaWxlIil7bGV0IFM9VC5uYW1lLmxhc3RJbmRleE9mKCIuIik7aWYoUz4wKXtsZXQgRT1ULm5hbWUuc3Vic3RyaW5nKDAsUyksQT1ULm5hbWUuc3Vic3RyaW5nKFMpO0I9YCR7RX1fY29weSR7QX1gfWVsc2UgQj1gJHtULm5hbWV9X2NvcHlgfWVsc2UgQj1gJHtULm5hbWV9X2NvcHlgO2xldCBNPVA9PT0iLyI/YC8ke0J9YDpgJHtQfS8ke0J9YDt0cnl7aWYoVC50eXBlPT09ImZpbGUiKXtsZXQgUz1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKFQucGF0aCk7YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoTSxTKX1lbHNlIGF3YWl0IHRoaXMuY29weURpcmVjdG9yeUNvbnRlbnRzKFQucGF0aCxNKTthd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpdGVtLWR1cGxpY2F0ZWQiLHtkZXRhaWw6e3NvdXJjZVBhdGg6VC5wYXRoLG5ld1BhdGg6TSx0eXBlOlQudHlwZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jYXRjaChTKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZHVwbGljYXRlIGl0ZW06IixTKX19YXN5bmMgY29weUl0ZW0oVCl7dGhpcy5jbGlwYm9hcmRQYXRoPVQucGF0aCx0aGlzLmNsaXBib2FyZE9wZXJhdGlvbj0iY29weSJ9YXN5bmMgcGFzdGVJdGVtKFQpe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhdGhpcy5jbGlwYm9hcmRQYXRoKXJldHVybjtsZXQgUD10aGlzLmNsaXBib2FyZFBhdGguc3BsaXQoIi8iKS5wb3AoKXx8InBhc3RlZCIsQj1UPT09Ii8iP2AvJHtQfWA6YCR7VH0vJHtQfWA7dHJ5e2lmKCFhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmV4aXN0cyh0aGlzLmNsaXBib2FyZFBhdGgpKXtjb25zb2xlLmVycm9yKCJTb3VyY2UgZmlsZSBubyBsb25nZXIgZXhpc3RzIiksdGhpcy5jbGlwYm9hcmRQYXRoPW51bGwsdGhpcy5jbGlwYm9hcmRPcGVyYXRpb249bnVsbDtyZXR1cm59dHJ5e2xldCBNPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUodGhpcy5jbGlwYm9hcmRQYXRoKTthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShCLE0pfWNhdGNoe2F3YWl0IHRoaXMuY29weURpcmVjdG9yeUNvbnRlbnRzKHRoaXMuY2xpcGJvYXJkUGF0aCxCKX1hd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpdGVtLXBhc3RlZCIse2RldGFpbDp7c291cmNlUGF0aDp0aGlzLmNsaXBib2FyZFBhdGgsdGFyZ2V0UGF0aDpCfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHRoaXMuY2xpcGJvYXJkUGF0aD1udWxsLHRoaXMuY2xpcGJvYXJkT3BlcmF0aW9uPW51bGx9Y2F0Y2goTSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHBhc3RlIGl0ZW06IixNKX19YXN5bmMgY29weURpcmVjdG9yeUNvbnRlbnRzKFQsUCl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQubWtkaXIoUCk7bGV0IEI9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRGlyKFQpO2ZvcihsZXQgTSBvZiBCKXtsZXQgUz1UPT09Ii8iP2AvJHtNLm5hbWV9YDpgJHtUfS8ke00ubmFtZX1gLEU9UD09PSIvIj9gLyR7TS5uYW1lfWA6YCR7UH0vJHtNLm5hbWV9YDtpZihNLnR5cGU9PT0iZGlyZWN0b3J5Iilhd2FpdCB0aGlzLmNvcHlEaXJlY3RvcnlDb250ZW50cyhTLEUpO2Vsc2V7bGV0IEE9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShTKTthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShFLEEpfX19YXN5bmMgZmlyc3RVcGRhdGVkKCl7YXdhaXQgdGhpcy5sb2FkVHJlZSgpfWFzeW5jIHVwZGF0ZWQoVCl7VC5oYXMoImV4ZWN1dGlvbkVudmlyb25tZW50IikmJih0aGlzLmxhc3RFeGVjdXRpb25FbnZpcm9ubWVudCE9PXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJih0aGlzLnN0b3BGaWxlV2F0Y2hlcigpLHRoaXMubGFzdEV4ZWN1dGlvbkVudmlyb25tZW50PXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpLHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJihhd2FpdCB0aGlzLmxvYWRUcmVlKCksdGhpcy5zdGFydEZpbGVXYXRjaGVyKCkpKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zdG9wRmlsZVdhdGNoZXIoKSx0aGlzLnJlZnJlc2hEZWJvdW5jZVRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0KSx0aGlzLnJlZnJlc2hEZWJvdW5jZVRpbWVvdXQ9bnVsbCl9c3RhcnRGaWxlV2F0Y2hlcigpe2lmKCEoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fHRoaXMuZmlsZVdhdGNoZXIpKXRyeXt0aGlzLmZpbGVXYXRjaGVyPXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud2F0Y2goIi8iLChULFApPT57dGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0KSx0aGlzLnJlZnJlc2hEZWJvdW5jZVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMucmVmcmVzaCgpfSwzMDApfSx7cmVjdXJzaXZlOiEwfSl9Y2F0Y2goVCl7Y29uc29sZS53YXJuKCJGaWxlIHdhdGNoaW5nIG5vdCBzdXBwb3J0ZWQ6IixUKX19c3RvcEZpbGVXYXRjaGVyKCl7dGhpcy5maWxlV2F0Y2hlciYmKHRoaXMuZmlsZVdhdGNoZXIuc3RvcCgpLHRoaXMuZmlsZVdhdGNoZXI9bnVsbCl9YXN5bmMgbG9hZFRyZWUoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiYhdGhpcy5sb2FkVHJlZVN0YXJ0ZWQpe3RoaXMubG9hZFRyZWVTdGFydGVkPSEwLHRoaXMuaXNMb2FkaW5nPSEwLHRoaXMuZXJyb3JNZXNzYWdlPSIiO3RyeXt0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWR5fHxhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmluaXQoKTtsZXQgVD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIodGhpcy5yb290UGF0aCk7dGhpcy50cmVlRGF0YT10aGlzLnNvcnRFbnRyaWVzKFQpLm1hcChQPT4oey4uLlAsbGV2ZWw6MCxleHBhbmRlZDohMSxjaGlsZHJlbjpQLnR5cGU9PT0iZGlyZWN0b3J5Ij9bXTp2b2lkIDB9KSl9Y2F0Y2goVCl7dGhpcy5lcnJvck1lc3NhZ2U9YEZhaWxlZCB0byBsb2FkIGZpbGVzOiAke1R9YCxjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gbG9hZCBmaWxlIHRyZWU6IixUKSx0aGlzLmxvYWRUcmVlU3RhcnRlZD0hMX1maW5hbGx5e3RoaXMuaXNMb2FkaW5nPSExfX19c29ydEVudHJpZXMoVCl7cmV0dXJuIFQuc29ydCgoUCxCKT0+UC50eXBlIT09Qi50eXBlP1AudHlwZT09PSJkaXJlY3RvcnkiPy0xOjE6UC5uYW1lLmxvY2FsZUNvbXBhcmUoQi5uYW1lKSl9YXN5bmMgcmVmcmVzaCgpe3RoaXMuZXhwYW5kZWRQYXRocy5jbGVhcigpLHRoaXMubG9hZFRyZWVTdGFydGVkPSExLGF3YWl0IHRoaXMubG9hZFRyZWUoKX1zZWxlY3RGaWxlKFQpe3RoaXMuc2VsZWN0ZWRQYXRoPVR9c3RhdGlje3VuKHIsdCl9fTtyZXR1cm4gTz1yfSkoKX0pO3ZhciB5SmUsdUcsVTZhLHdKZT1mKCgpPT57bGUoKTtRZSgpO1NjKCk7UXIoKTt5SmU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHVHPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxVNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXb3Jrc3BhY2VUZXJtaW5hbFByZXZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOkFycmF5fSldLHlKZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbW1hbmQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImNvbW1hbmQiaW4gdiwiaGFzIiksZ2V0OnModj0+di5jb21tYW5kLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuY29tbWFuZD14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCkseUplKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGluZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImxpbmVzImluIHYsImhhcyIpLGdldDpzKHY9PnYubGluZXMsImdldCIpLHNldDpzKCh2LHgpPT57di5saW5lcz14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCkseUplKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3CiAgICAgIC5jb21tYW5kPSR7InBucG0gaW5zdGFsbCJ9CiAgICAgIC5saW5lcz0ke1siUGFja2FnZXM6ICs0MiIsIlByb2dyZXNzOiByZXNvbHZlZCAxNDIsIHJldXNlZCAxNDAsIGRvd25sb2FkZWQgMiwgYWRkZWQgNDIsIGRvbmUiLCIiLCJkZXBlbmRlbmNpZXM6IiwiKyBAcHVzaC5yb2Nrcy9zbWFydHByb21pc2UgNC4yLjMiLCIrIHR5cGVzY3JpcHQgNS4zLjMiLCIiLCJEb25lIGluIDIuM3MiXX0KICAgID48L2RlZXMtd29ya3NwYWNlLXRlcm1pbmFsLXByZXZpZXc+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07I2U9dUcodGhpcyxuLCIiKTtnZXQgY29tbWFuZCgpe3JldHVybiB0aGlzLiNlfXNldCBjb21tYW5kKG0pe3RoaXMuI2U9bX0jdD0odUcodGhpcyxsKSx1Ryh0aGlzLGMsW10pKTtnZXQgbGluZXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbGluZXMobSl7dGhpcy4jdD1tfXRlcm1pbmFsPSh1Ryh0aGlzLHApLG51bGwpO2ZpdEFkZG9uPW51bGw7bGFzdExpbmVDb3VudD0wO3Jlc2l6ZU9ic2VydmVyPW51bGw7dGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj1udWxsO3N0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAyMDBweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWhlYWRlci1pY29uIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWhlYWRlci1jb21tYW5kIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGluc2V0OiAwOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgfQoKICAgICAgI3h0ZXJtLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogOHB4OwogICAgICAgIGxlZnQ6IDhweDsKICAgICAgICByaWdodDogOHB4OwogICAgICAgIGJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAvKiB4dGVybS5qcyBzdHlsZXMgKi8KICAgICAgLnh0ZXJtIHsKICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJyAwOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLnh0ZXJtLmZvY3VzLAogICAgICAueHRlcm06Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0taGVscGVycyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICB6LWluZGV4OiA1OwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLWhlbHBlci10ZXh0YXJlYSB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBib3JkZXI6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGxlZnQ6IC05OTk5ZW07CiAgICAgICAgdG9wOiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgICB6LWluZGV4OiAtNTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcmVzaXplOiBub25lOwogICAgICB9CgogICAgICAueHRlcm0gLmNvbXBvc2l0aW9uLXZpZXcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMzMzMiLCIjZmZmZmZmIil9OwogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC5jb21wb3NpdGlvbi12aWV3LmFjdGl2ZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tdmlld3BvcnQgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tc2NyZWVuIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tc2NyZWVuIGNhbnZhcyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXNjcm9sbC1hcmVhIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC54dGVybS1jaGFyLW1lYXN1cmUtZWxlbWVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IC05OTk5ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgICAgfQoKICAgICAgLnh0ZXJtIHsKICAgICAgICBjdXJzb3I6IHRleHQ7CiAgICAgIH0KCiAgICAgIC54dGVybS5lbmFibGUtbW91c2UtZXZlbnRzIHsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC54dGVybS54dGVybS1jdXJzb3ItcG9pbnRlciB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAueHRlcm0uY29sdW1uLXNlbGVjdC5mb2N1cyB7CiAgICAgICAgY3Vyc29yOiBjcm9zc2hhaXI7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tYWNjZXNzaWJpbGl0eSwKICAgICAgLnh0ZXJtIC54dGVybS1tZXNzYWdlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC5saXZlLXJlZ2lvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IC05OTk5cHg7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAueHRlcm0tZGltIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC54dGVybS11bmRlcmxpbmUgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAvKiBDdXN0b20gc2Nyb2xsYmFyIGZvciB4dGVybSB2aWV3cG9ydCAqLwogICAgICAueHRlcm0gLnh0ZXJtLXZpZXdwb3J0Ojotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS12aWV3cG9ydDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NiUpIiwiaHNsKDAgMCUgOCUpIil9OwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXZpZXdwb3J0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWIpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS12aWV3cG9ydDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWhvdmVyKTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJ0ZXJtaW5hbC1oZWFkZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InRlcm1pbmFsLWhlYWRlci1pY29uIj4kPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InRlcm1pbmFsLWhlYWRlci1jb21tYW5kIj4ke3RoaXMuY29tbWFuZHx8IldhaXRpbmcuLi4ifTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1jb250YWluZXIiPgogICAgICAgICAgPGRpdiBpZD0ieHRlcm0tY29udGFpbmVyIj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfWdldFRlcm1pbmFsVGhlbWUobSl7cmV0dXJuIG0/e2JhY2tncm91bmQ6IiNmZmZmZmYiLGZvcmVncm91bmQ6IiMzMzMzMzMiLGN1cnNvcjoiIzMzMzMzMyIsY3Vyc29yQWNjZW50OiIjZmZmZmZmIixzZWxlY3Rpb25CYWNrZ3JvdW5kOiJyZ2JhKDAsIDAsIDAsIDAuMikifTp7YmFja2dyb3VuZDoiIzAwMDAwMCIsZm9yZWdyb3VuZDoiI2NjY2NjYyIsY3Vyc29yOiIjY2NjY2NjIixjdXJzb3JBY2NlbnQ6IiMwMDAwMDAiLHNlbGVjdGlvbkJhY2tncm91bmQ6InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSJ9fWFzeW5jIGZpcnN0VXBkYXRlZChtKXtzdXBlci5maXJzdFVwZGF0ZWQobSk7bGV0IHY9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgieHRlcm0tY29udGFpbmVyIik7aWYoIXYpcmV0dXJuO2xldCB4PWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGI9eC50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuLGc9T3MuZ2V0SW5zdGFuY2UoKSxbeSxrXT1hd2FpdCBQcm9taXNlLmFsbChbZy5sb2FkWHRlcm0oKSxnLmxvYWRYdGVybUZpdEFkZG9uKCldKTt0aGlzLnRlcm1pbmFsPW5ldyB5LlRlcm1pbmFsKHtjb252ZXJ0RW9sOiEwLGN1cnNvckJsaW5rOiExLGRpc2FibGVTdGRpbjohMCxmb250U2l6ZToxMixmb250RmFtaWx5OiInU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlIix0aGVtZTp0aGlzLmdldFRlcm1pbmFsVGhlbWUoYiksc2Nyb2xsYmFjazoxZTN9KSx0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249eC50aGVtZU1hbmFnZXIudGhlbWVPYnNlcnZhYmxlLnN1YnNjcmliZShDPT57dGhpcy50ZXJtaW5hbCYmKHRoaXMudGVybWluYWwub3B0aW9ucy50aGVtZT10aGlzLmdldFRlcm1pbmFsVGhlbWUoQykpfSksdGhpcy5maXRBZGRvbj1uZXcgay5GaXRBZGRvbix0aGlzLnRlcm1pbmFsLmxvYWRBZGRvbih0aGlzLmZpdEFkZG9uKSx0aGlzLnRlcm1pbmFsLm9wZW4odiksdGhpcy5maXRBZGRvbi5maXQoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuZml0QWRkb24mJnRoaXMuZml0QWRkb24uZml0KCl9KSx0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodiksdGhpcy53cml0ZU5ld0xpbmVzKCl9YXN5bmMgdXBkYXRlZChtKXtzdXBlci51cGRhdGVkKG0pLG0uaGFzKCJsaW5lcyIpJiZ0aGlzLndyaXRlTmV3TGluZXMoKX13cml0ZU5ld0xpbmVzKCl7aWYoIXRoaXMudGVybWluYWwpcmV0dXJuO2xldCBtPXRoaXMubGluZXMuc2xpY2UodGhpcy5sYXN0TGluZUNvdW50KTtmb3IobGV0IHYgb2YgbSl0aGlzLnRlcm1pbmFsLndyaXRlbG4odik7dGhpcy5sYXN0TGluZUNvdW50PXRoaXMubGluZXMubGVuZ3RofWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5yZXNpemVPYnNlcnZlciYmKHRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9bnVsbCksdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uJiYodGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uPW51bGwpLHRoaXMudGVybWluYWwmJih0aGlzLnRlcm1pbmFsLmRpc3Bvc2UoKSx0aGlzLnRlcm1pbmFsPW51bGwpLGF3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCl9YWRkTGluZShtKXt0aGlzLmxpbmVzPVsuLi50aGlzLmxpbmVzLG1dfWNsZWFyKCl7dGhpcy5saW5lcz1bXSx0aGlzLmxhc3RMaW5lQ291bnQ9MCx0aGlzLnRlcm1pbmFsJiZ0aGlzLnRlcm1pbmFsLmNsZWFyKCl9c3RhdGlje3VHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBzNyxYMSxXNmEsTUplPWYoKCk9PntsZSgpO1FlKCk7dmEoKTtYcigpO3M3PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxYMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sVzZhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy13b3Jrc3BhY2UtYm90dG9tYmFyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXb3Jrc3BhY2VCb3R0b21iYXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVtLKCldLHU9W0soKV0seD1bSygpXSx5PVtLKCldLHM3KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhlY3V0aW9uRW52aXJvbm1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImV4ZWN1dGlvbkVudmlyb25tZW50ImluIHosImhhcyIpLGdldDpzKHo9PnouZXhlY3V0aW9uRW52aXJvbm1lbnQsImdldCIpLHNldDpzKCh6LE8pPT57ei5leGVjdXRpb25FbnZpcm9ubWVudD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksczcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzY3JpcHRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzY3JpcHRzImluIHosImhhcyIpLGdldDpzKHo9Pnouc2NyaXB0cywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNjcmlwdHM9T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLHM3KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGFja2FnZVN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4icGFja2FnZVN0YXR1cyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnBhY2thZ2VTdGF0dXMsImdldCIpLHNldDpzKCh6LE8pPT57ei5wYWNrYWdlU3RhdHVzPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxzNyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im91dGRhdGVkUGFja2FnZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Im91dGRhdGVkUGFja2FnZXMiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5vdXRkYXRlZFBhY2thZ2VzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3oub3V0ZGF0ZWRQYWNrYWdlcz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksczcodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0NoZWNraW5nUGFja2FnZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImlzQ2hlY2tpbmdQYWNrYWdlcyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmlzQ2hlY2tpbmdQYWNrYWdlcywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmlzQ2hlY2tpbmdQYWNrYWdlcz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksczcobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX0jZT1YMSh0aGlzLG4sbnVsbCk7Z2V0IGV4ZWN1dGlvbkVudmlyb25tZW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGV4ZWN1dGlvbkVudmlyb25tZW50KF8pe3RoaXMuI2U9X30jdD0oWDEodGhpcyxsKSxYMSh0aGlzLGMse30pKTtnZXQgc2NyaXB0cygpe3JldHVybiB0aGlzLiN0fXNldCBzY3JpcHRzKF8pe3RoaXMuI3Q9X30jYT0oWDEodGhpcyxwKSxYMSh0aGlzLG0sImlkbGUiKSk7Z2V0IHBhY2thZ2VTdGF0dXMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgcGFja2FnZVN0YXR1cyhfKXt0aGlzLiNhPV99I3I9KFgxKHRoaXMsdiksWDEodGhpcyxiLFtdKSk7Z2V0IG91dGRhdGVkUGFja2FnZXMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgb3V0ZGF0ZWRQYWNrYWdlcyhfKXt0aGlzLiNyPV99I3M9KFgxKHRoaXMsZyksWDEodGhpcyxrLCExKSk7Z2V0IGlzQ2hlY2tpbmdQYWNrYWdlcygpe3JldHVybiB0aGlzLiNzfXNldCBpc0NoZWNraW5nUGFja2FnZXMoXyl7dGhpcy4jcz1ffXBlbmRpbmdQYWNrYWdlVXBkYXRlPShYMSh0aGlzLEMpLCExKTtoYW5kbGVQcm9jZXNzQ29tcGxldGU9cyhfPT57dGhpcy5wZW5kaW5nUGFja2FnZVVwZGF0ZSYmKHRoaXMucGVuZGluZ1BhY2thZ2VVcGRhdGU9ITEsc2V0VGltZW91dCgoKT0+dGhpcy5jaGVja1BhY2thZ2VzKCksNTAwKSl9LCJoYW5kbGVQcm9jZXNzQ29tcGxldGUiKTtzdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmJvdHRvbS1iYXIgewogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk0JSkiLCJoc2woMCAwJSA2JSkiKX07CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLndpZGdldDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQgZGVlcy1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLndpZGdldC1zZXBhcmF0b3IgewogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4MCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBtYXJnaW46IDAgNHB4OwogICAgICB9CgogICAgICAud2lkZ2V0LnJ1bm5pbmcgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQ1JSkiLCJoc2woMjEwIDEwMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC51cC10by1kYXRlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIgNzAlIDM1JSkiLCJoc2woMTQyIDcwJSA1MCUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LnVwZGF0ZXMtYXZhaWxhYmxlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgzOCA5MiUgNDUlKSIsImhzbCgzOCA5MiUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC5lcnJvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfQogICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogICAgICB9CgogICAgICAuc3Bpbm5pbmcgewogICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIC5zcGFjZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJib3R0b20tYmFyIj4KICAgICAgICA8IS0tIFNjcmlwdCBSdW5uZXIgV2lkZ2V0IC0tPgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJ3aWRnZXQiCiAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZVNjcmlwdENsaWNrfQogICAgICAgICAgdGl0bGU9IlJ1biBzY3JpcHQiCiAgICAgICAgPgogICAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgICAuaWNvbj0keyJsdWNpZGU6cGxheSJ9CiAgICAgICAgICAgIGljb25TaXplPSIxMiIKICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPlNjcmlwdHM8L3NwYW4+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9IndpZGdldC1zZXBhcmF0b3IiPjwvZGl2PgoKICAgICAgICA8IS0tIFBhY2thZ2UgQ2hlY2tlciBXaWRnZXQgLS0+CiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9IndpZGdldCAke3RoaXMuZ2V0UGFja2FnZVN0YXR1c0NsYXNzKCl9IgogICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVQYWNrYWdlQ2xpY2t9CiAgICAgICAgICB0aXRsZT0iJHt0aGlzLmdldFBhY2thZ2VUb29sdGlwKCl9IgogICAgICAgID4KICAgICAgICAgIDxkZWVzLWljb24KICAgICAgICAgICAgLmljb249JHt0aGlzLmdldFBhY2thZ2VJY29uKCl9CiAgICAgICAgICAgIGljb25TaXplPSIxMiIKICAgICAgICAgICAgY2xhc3M9IiR7dGhpcy5pc0NoZWNraW5nUGFja2FnZXM/InNwaW5uaW5nIjoiIn0iCiAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj4ke3RoaXMuZ2V0UGFja2FnZVN0YXR1c1RleHQoKX08L3NwYW4+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CgogICAgICAgIDwhLS0gRnV0dXJlIHdpZGdldHMgY2FuIGJlIGFkZGVkIGhlcmUgLS0+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInByb2Nlc3MtY29tcGxldGUiLHRoaXMuaGFuZGxlUHJvY2Vzc0NvbXBsZXRlKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInByb2Nlc3MtY29tcGxldGUiLHRoaXMuaGFuZGxlUHJvY2Vzc0NvbXBsZXRlKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXthd2FpdCB0aGlzLmxvYWRTY3JpcHRzKCksYXdhaXQgdGhpcy5jaGVja1BhY2thZ2VzKCl9YXN5bmMgdXBkYXRlZChfKXtfLmhhcygiZXhlY3V0aW9uRW52aXJvbm1lbnQiKSYmdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCYmKGF3YWl0IHRoaXMubG9hZFNjcmlwdHMoKSxhd2FpdCB0aGlzLmNoZWNrUGFja2FnZXMoKSl9YXN5bmMgbG9hZFNjcmlwdHMoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXRyeXtpZighYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5leGlzdHMoIi9wYWNrYWdlLmpzb24iKSl7dGhpcy5zY3JpcHRzPXt9O3JldHVybn1sZXQgej1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKCIvcGFja2FnZS5qc29uIiksTz1KU09OLnBhcnNlKHopO3RoaXMuc2NyaXB0cz1PLnNjcmlwdHN8fHt9fWNhdGNoKF8pe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGxvYWQgc2NyaXB0cyBmcm9tIHBhY2thZ2UuanNvbjoiLF8pLHRoaXMuc2NyaXB0cz17fX19YXN5bmMgaGFuZGxlU2NyaXB0Q2xpY2soXyl7Xy5zdG9wUHJvcGFnYXRpb24oKTtsZXQgej1PYmplY3Qua2V5cyh0aGlzLnNjcmlwdHMpO2lmKHoubGVuZ3RoPT09MClyZXR1cm47bGV0IE89ei5tYXAoVD0+KHtuYW1lOlQsaWNvbk5hbWU6Imx1Y2lkZTp0ZXJtaW5hbCIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IHRoaXMucnVuU2NyaXB0KFQpfSwiYWN0aW9uIil9KSk7YXdhaXQgdGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoXyxPKX1hc3luYyBydW5TY3JpcHQoXyl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO2xldCB6PXt0eXBlOiJzY3JpcHQiLGxhYmVsOl8sY29tbWFuZDoicG5wbSIsYXJnczpbInJ1biIsX10sbWV0YWRhdGE6e3NjcmlwdE5hbWU6X319O3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJ1bi1wcm9jZXNzIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6en0pKX1hc3luYyBjaGVja1BhY2thZ2VzKCl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpe3RoaXMucGFja2FnZVN0YXR1cz0iaWRsZSI7cmV0dXJufXRyeXtpZighYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5leGlzdHMoIi9wYWNrYWdlLmpzb24iKSl7dGhpcy5wYWNrYWdlU3RhdHVzPSJpZGxlIjtyZXR1cm59dGhpcy5wYWNrYWdlU3RhdHVzPSJjaGVja2luZyIsdGhpcy5pc0NoZWNraW5nUGFja2FnZXM9ITA7bGV0IHo9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5zcGF3bigicG5wbSIsWyJvdXRkYXRlZCIsIi0tanNvbiJdKSxPPSIiLFQ9ei5vdXRwdXQuZ2V0UmVhZGVyKCk7cyhhc3luYygpPT57dHJ5e2Zvcig7Oyl7bGV0e2RvbmU6TSx2YWx1ZTpTfT1hd2FpdCBULnJlYWQoKTtpZihNKWJyZWFrO08rPVN9fWNhdGNoe319LCJyZWFkT3V0cHV0IikoKTtsZXQgQj1hd2FpdCBQcm9taXNlLnJhY2UoW3ouZXhpdCxuZXcgUHJvbWlzZShNPT5zZXRUaW1lb3V0KCgpPT5NKC0xKSwxZTQpKV0pO3RyeXthd2FpdCBULmNhbmNlbCgpfWNhdGNoe31pZihCPT09LTEpe2NvbnNvbGUud2FybigiUGFja2FnZSBjaGVjayB0aW1lZCBvdXQiKSx0aGlzLnBhY2thZ2VTdGF0dXM9ImVycm9yIjtyZXR1cm59aWYoQj09PTApdGhpcy5wYWNrYWdlU3RhdHVzPSJ1cC10by1kYXRlIix0aGlzLm91dGRhdGVkUGFja2FnZXM9W107ZWxzZSB0cnl7bGV0IE09SlNPTi5wYXJzZShPKTt0aGlzLm91dGRhdGVkUGFja2FnZXM9dGhpcy5wYXJzZU91dGRhdGVkUGFja2FnZXMoTSksdGhpcy5wYWNrYWdlU3RhdHVzPXRoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGg+MD8idXBkYXRlcy1hdmFpbGFibGUiOiJ1cC10by1kYXRlIn1jYXRjaHt0aGlzLnBhY2thZ2VTdGF0dXM9InVwZGF0ZXMtYXZhaWxhYmxlIix0aGlzLm91dGRhdGVkUGFja2FnZXM9W119fWNhdGNoKF8pe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGNoZWNrIGZvciBwYWNrYWdlIHVwZGF0ZXM6IixfKSx0aGlzLnBhY2thZ2VTdGF0dXM9ImVycm9yIn1maW5hbGx5e3RoaXMuaXNDaGVja2luZ1BhY2thZ2VzPSExfX1wYXJzZU91dGRhdGVkUGFja2FnZXMoXyl7bGV0IHo9W107aWYodHlwZW9mIF89PSJvYmplY3QiJiZfIT09bnVsbClmb3IobGV0W08sVF1vZiBPYmplY3QuZW50cmllcyhfKSl7bGV0IFA9VDt6LnB1c2goe25hbWU6TyxjdXJyZW50OlAuY3VycmVudHx8InVua25vd24iLHdhbnRlZDpQLndhbnRlZHx8UC5jdXJyZW50fHwidW5rbm93biIsbGF0ZXN0OlAubGF0ZXN0fHxQLndhbnRlZHx8InVua25vd24iLHR5cGU6UC5kZXBlbmRlbmN5VHlwZT09PSJkZXZEZXBlbmRlbmNpZXMiPyJkZXZEZXBlbmRlbmNpZXMiOiJkZXBlbmRlbmNpZXMifSl9cmV0dXJuIHp9YXN5bmMgaGFuZGxlUGFja2FnZUNsaWNrKF8pe18uc3RvcFByb3BhZ2F0aW9uKCk7bGV0IHo9W107aWYoei5wdXNoKHtuYW1lOnRoaXMuaXNDaGVja2luZ1BhY2thZ2VzPyJDaGVja2luZy4uLiI6IkNoZWNrIGZvciB1cGRhdGVzIixpY29uTmFtZToibHVjaWRlOnJlZnJlc2hDdyIsYWN0aW9uOnMoYXN5bmMoKT0+e2lmKHRoaXMuaXNDaGVja2luZ1BhY2thZ2VzKXJldHVybjtsZXQgTz17dHlwZToicGFja2FnZS11cGRhdGUiLGxhYmVsOiJjaGVjayBwYWNrYWdlcyIsY29tbWFuZDoicG5wbSIsYXJnczpbIm91dGRhdGVkIl19O3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJ1bi1wcm9jZXNzIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6T30pKSxzZXRUaW1lb3V0KCgpPT50aGlzLmNoZWNrUGFja2FnZXMoKSwzZTMpfSwiYWN0aW9uIil9KSx0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RoPjApe3oucHVzaCh7ZGl2aWRlcjohMH0pO2xldCBPPXRoaXMub3V0ZGF0ZWRQYWNrYWdlcy5zbGljZSgwLDEwKTtmb3IobGV0IFQgb2YgTyl6LnB1c2goe25hbWU6YCR7VC5uYW1lfTogJHtULmN1cnJlbnR9IFx1MjE5MiAke1QubGF0ZXN0fWAsaWNvbk5hbWU6Imx1Y2lkZTpwYWNrYWdlIixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy51cGRhdGVQYWNrYWdlKFQubmFtZSl9LCJhY3Rpb24iKX0pO3RoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGg+MTAmJnoucHVzaCh7bmFtZTpgLi4uIGFuZCAke3RoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGgtMTB9IG1vcmVgLGljb25OYW1lOiJsdWNpZGU6bW9yZUhvcml6b250YWwiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKX0pLHoucHVzaCh7ZGl2aWRlcjohMH0pLHoucHVzaCh7bmFtZToiVXBkYXRlIGFsbCBwYWNrYWdlcyIsaWNvbk5hbWU6Imx1Y2lkZTphcnJvd1VwQ2lyY2xlIixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy51cGRhdGVBbGxQYWNrYWdlcygpfSwiYWN0aW9uIil9KX1hd2FpdCB0YS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhfLHopfWFzeW5jIHVwZGF0ZVBhY2thZ2UoXyl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO3RoaXMucGVuZGluZ1BhY2thZ2VVcGRhdGU9ITA7bGV0IHo9e3R5cGU6InBhY2thZ2UtdXBkYXRlIixsYWJlbDpgdXBkYXRlICR7X31gLGNvbW1hbmQ6InBucG0iLGFyZ3M6WyJ1cGRhdGUiLCItLWxhdGVzdCIsX10sbWV0YWRhdGE6e3BhY2thZ2VOYW1lOl99fTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJydW4tcHJvY2VzcyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnp9KSl9YXN5bmMgdXBkYXRlQWxsUGFja2FnZXMoKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm47dGhpcy5wZW5kaW5nUGFja2FnZVVwZGF0ZT0hMDtsZXQgXz17dHlwZToicGFja2FnZS11cGRhdGUiLGxhYmVsOiJ1cGRhdGUgYWxsIixjb21tYW5kOiJwbnBtIixhcmdzOlsidXBkYXRlIiwiLS1sYXRlc3QiXX07dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicnVuLXByb2Nlc3MiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwLGRldGFpbDpffSkpfWdldFBhY2thZ2VTdGF0dXNDbGFzcygpe3JldHVybiB0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcz8iIjp0aGlzLnBhY2thZ2VTdGF0dXN9Z2V0UGFja2FnZUljb24oKXtpZih0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcylyZXR1cm4ibHVjaWRlOmxvYWRlcjIiO3N3aXRjaCh0aGlzLnBhY2thZ2VTdGF0dXMpe2Nhc2UidXAtdG8tZGF0ZSI6cmV0dXJuImx1Y2lkZTpjaGVja0NpcmNsZSI7Y2FzZSJ1cGRhdGVzLWF2YWlsYWJsZSI6cmV0dXJuImx1Y2lkZTphbGVydENpcmNsZSI7Y2FzZSJlcnJvciI6cmV0dXJuImx1Y2lkZTp4Q2lyY2xlIjtkZWZhdWx0OnJldHVybiJsdWNpZGU6cGFja2FnZSJ9fWdldFBhY2thZ2VTdGF0dXNUZXh0KCl7aWYodGhpcy5pc0NoZWNraW5nUGFja2FnZXMpcmV0dXJuIkNoZWNraW5nLi4uIjtzd2l0Y2godGhpcy5wYWNrYWdlU3RhdHVzKXtjYXNlInVwLXRvLWRhdGUiOnJldHVybiJVcCB0byBkYXRlIjtjYXNlInVwZGF0ZXMtYXZhaWxhYmxlIjpyZXR1cm5gJHt0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RofSB1cGRhdGUke3RoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGghPT0xPyJzIjoiIn1gO2Nhc2UiZXJyb3IiOnJldHVybiJDaGVjayBmYWlsZWQiO2RlZmF1bHQ6cmV0dXJuIlBhY2thZ2VzIn19Z2V0UGFja2FnZVRvb2x0aXAoKXtpZih0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcylyZXR1cm4iQ2hlY2tpbmcgZm9yIHBhY2thZ2UgdXBkYXRlcy4uLiI7c3dpdGNoKHRoaXMucGFja2FnZVN0YXR1cyl7Y2FzZSJ1cC10by1kYXRlIjpyZXR1cm4iQWxsIHBhY2thZ2VzIGFyZSB1cCB0byBkYXRlIjtjYXNlInVwZGF0ZXMtYXZhaWxhYmxlIjpyZXR1cm5gJHt0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RofSBwYWNrYWdlIHVwZGF0ZSR7dGhpcy5vdXRkYXRlZFBhY2thZ2VzLmxlbmd0aCE9PTE/InMiOiIifSBhdmFpbGFibGVgO2Nhc2UiZXJyb3IiOnJldHVybiJGYWlsZWQgdG8gY2hlY2sgZm9yIHVwZGF0ZXMuIENsaWNrIHRvIHJldHJ5LiI7ZGVmYXVsdDpyZXR1cm4iQ2xpY2sgdG8gY2hlY2sgZm9yIHBhY2thZ2UgdXBkYXRlcyJ9fWFzeW5jIHJlZnJlc2hQYWNrYWdlU3RhdHVzKCl7YXdhaXQgdGhpcy5jaGVja1BhY2thZ2VzKCl9YXN5bmMgcmVmcmVzaFNjcmlwdHMoKXthd2FpdCB0aGlzLmxvYWRTY3JpcHRzKCl9c3RhdGlje1gxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBwRyxrSmU9ZigoKT0+e3BHPWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVTY3JpcHRJbnRlbGxpU2Vuc2VNYW5hZ2VyIil9bG9hZGVkTGlicz1uZXcgU2V0O25vdEZvdW5kUGFja2FnZXM9bmV3IFNldDttb25hY29JbnN0YW5jZT1udWxsO2V4ZWN1dGlvbkVudmlyb25tZW50PW51bGw7ZmlsZUNhY2hlPW5ldyBNYXA7YWRkZWRFeHRyYUxpYnM9bmV3IE1hcDtnZXQgdHNBcGkoKXtyZXR1cm4gdGhpcy5tb25hY29JbnN0YW5jZT90aGlzLm1vbmFjb0luc3RhbmNlLmxhbmd1YWdlcy50eXBlc2NyaXB0Om51bGx9YXN5bmMgaW5pdChlLHQpe3RoaXMubW9uYWNvSW5zdGFuY2U9ZSx0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50PXQsdGhpcy5jb25maWd1cmVDb21waWxlck9wdGlvbnMoKSxhd2FpdCB0aGlzLmxvYWRBbGxQcm9qZWN0RmlsZXMoKX1hc3luYyBsb2FkQWxsUHJvamVjdEZpbGVzKCl7dGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCYmYXdhaXQgdGhpcy5sb2FkRmlsZXNGcm9tRGlyZWN0b3J5KCIvIil9YXN5bmMgbG9hZEZpbGVzRnJvbURpcmVjdG9yeShlKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXRyeXtsZXQgdD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIoZSk7Zm9yKGxldCByIG9mIHQpe2xldCBpPWU9PT0iLyI/YC8ke3IubmFtZX1gOmAke2V9LyR7ci5uYW1lfWA7aWYoci5uYW1lIT09Im5vZGVfbW9kdWxlcyIpe2lmKHIudHlwZT09PSJkaXJlY3RvcnkiKWF3YWl0IHRoaXMubG9hZEZpbGVzRnJvbURpcmVjdG9yeShpKTtlbHNlIGlmKHIudHlwZT09PSJmaWxlIil7bGV0IG89ci5uYW1lLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCk7aWYobz09PSJ0cyJ8fG89PT0idHN4Inx8bz09PSJqcyJ8fG89PT0ianN4Iil0cnl7bGV0IG49YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShpKTt0aGlzLmFkZEZpbGVNb2RlbChpLG4pfWNhdGNoe319fX19Y2F0Y2h7fX1jb25maWd1cmVDb21waWxlck9wdGlvbnMoKXtsZXQgZT10aGlzLnRzQXBpO2UmJihlLnR5cGVzY3JpcHREZWZhdWx0cy5zZXRDb21waWxlck9wdGlvbnMoe3RhcmdldDplLlNjcmlwdFRhcmdldC5FUzIwMjAsbW9kdWxlOmUuTW9kdWxlS2luZC5FU05leHQsbW9kdWxlUmVzb2x1dGlvbjplLk1vZHVsZVJlc29sdXRpb25LaW5kLkJ1bmRsZXI/P2UuTW9kdWxlUmVzb2x1dGlvbktpbmQuTm9kZUpzLGFsbG93U3ludGhldGljRGVmYXVsdEltcG9ydHM6ITAsZXNNb2R1bGVJbnRlcm9wOiEwLHN0cmljdDohMCxub0VtaXQ6ITAsYWxsb3dKczohMCxjaGVja0pzOiExLGFsbG93Tm9uVHNFeHRlbnNpb25zOiEwLGxpYjpbImVzMjAyMCIsImRvbSIsImRvbS5pdGVyYWJsZSJdLGJhc2VVcmw6Ii8iLGFsbG93SW1wb3J0aW5nVHNFeHRlbnNpb25zOiEwLHJlc29sdmVKc29uTW9kdWxlOiEwfSksZS50eXBlc2NyaXB0RGVmYXVsdHMuc2V0RGlhZ25vc3RpY3NPcHRpb25zKHtub1NlbWFudGljVmFsaWRhdGlvbjohMSxub1N5bnRheFZhbGlkYXRpb246ITF9KSxlLnR5cGVzY3JpcHREZWZhdWx0cy5zZXRFYWdlck1vZGVsU3luYyghMCkpfXBhcnNlSW1wb3J0cyhlKXtsZXQgdD1bXSxyPS9pbXBvcnRccysoPzpbXHcqe31ccyxdK2Zyb21ccyspP1snIl0oW14nIl0rKVsnIl0vZyxpO2Zvcig7KGk9ci5leGVjKGUpKSE9PW51bGw7KXtsZXQgbj1pWzFdO2lmKCFuLnN0YXJ0c1dpdGgoIi4iKSYmIW4uc3RhcnRzV2l0aCgiLyIpKXtsZXQgbD1uLnN0YXJ0c1dpdGgoIkAiKT9uLnNwbGl0KCIvIikuc2xpY2UoMCwyKS5qb2luKCIvIik6bi5zcGxpdCgiLyIpWzBdO3QucHVzaChsKX19bGV0IG89L3JlcXVpcmVccypcKFxzKlsnIl0oW14nIl0rKVsnIl1ccypcKS9nO2Zvcig7KGk9by5leGVjKGUpKSE9PW51bGw7KXtsZXQgbj1pWzFdO2lmKCFuLnN0YXJ0c1dpdGgoIi4iKSYmIW4uc3RhcnRzV2l0aCgiLyIpKXtsZXQgbD1uLnN0YXJ0c1dpdGgoIkAiKT9uLnNwbGl0KCIvIikuc2xpY2UoMCwyKS5qb2luKCIvIik6bi5zcGxpdCgiLyIpWzBdO3QucHVzaChsKX19cmV0dXJuWy4uLm5ldyBTZXQodCldfWFzeW5jIGxvYWRUeXBlc0ZvclBhY2thZ2UoZSl7aWYoISghdGhpcy5tb25hY29JbnN0YW5jZXx8IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpJiYhdGhpcy5sb2FkZWRMaWJzLmhhcyhlKSYmIXRoaXMubm90Rm91bmRQYWNrYWdlcy5oYXMoZSkpdHJ5e2xldCB0PWF3YWl0IHRoaXMudHJ5TG9hZFBhY2thZ2VUeXBlcyhlKTt0fHwodD1hd2FpdCB0aGlzLnRyeUxvYWRBdFR5cGVzUGFja2FnZShlKSksdD90aGlzLmxvYWRlZExpYnMuYWRkKGUpOnRoaXMubm90Rm91bmRQYWNrYWdlcy5hZGQoZSl9Y2F0Y2godCl7Y29uc29sZS53YXJuKGBGYWlsZWQgdG8gbG9hZCB0eXBlcyBmb3IgJHtlfTpgLHQpfX1hc3luYyB0cnlMb2FkUGFja2FnZVR5cGVzKGUpe2xldCB0PXRoaXMudHNBcGk7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fCF0KXJldHVybiExO2xldCByPWAvbm9kZV9tb2R1bGVzLyR7ZX1gO3RyeXtsZXQgaT1gJHtyfS9wYWNrYWdlLmpzb25gO2lmKGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKGkpKXtsZXQgbD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKGkpLGQ9SlNPTi5wYXJzZShsKTtpZih0LnR5cGVzY3JpcHREZWZhdWx0cy5hZGRFeHRyYUxpYihsLGBmaWxlOi8vJHtpfWApLGQudHlwZXN8fGQudHlwaW5ncylyZXR1cm4gYXdhaXQgdGhpcy5sb2FkQWxsRHRzRmlsZXNGcm9tUGFja2FnZShyKSwhMH1sZXQgbj1bYCR7cn0vaW5kZXguZC50c2AsYCR7cn0vZGlzdC9pbmRleC5kLnRzYCxgJHtyfS9saWIvaW5kZXguZC50c2BdO2ZvcihsZXQgbCBvZiBuKWlmKGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKGwpKXJldHVybiBhd2FpdCB0aGlzLmxvYWRBbGxEdHNGaWxlc0Zyb21QYWNrYWdlKHIpLCEwO3JldHVybiExfWNhdGNoKGkpe3JldHVybiBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gbG9hZCBwYWNrYWdlIHR5cGVzIGZvciAke2V9OmAsaSksITF9fWFzeW5jIGxvYWRBbGxEdHNGaWxlc0Zyb21QYWNrYWdlKGUpe2xldCB0PXRoaXMudHNBcGk7IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fCF0fHxhd2FpdCB0aGlzLmxvYWREdHNGaWxlc0Zyb21EaXJlY3RvcnkoZSl9YXN5bmMgbG9hZER0c0ZpbGVzRnJvbURpcmVjdG9yeShlKXtsZXQgdD10aGlzLnRzQXBpO2lmKCEoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fCF0KSl0cnl7bGV0IHI9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRGlyKGUpO2ZvcihsZXQgaSBvZiByKXtsZXQgbz1lPT09Ii8iP2AvJHtpLm5hbWV9YDpgJHtlfS8ke2kubmFtZX1gO2lmKGkubmFtZSE9PSJub2RlX21vZHVsZXMiKXtpZihpLnR5cGU9PT0iZGlyZWN0b3J5Iilhd2FpdCB0aGlzLmxvYWREdHNGaWxlc0Zyb21EaXJlY3Rvcnkobyk7ZWxzZSBpZihpLnR5cGU9PT0iZmlsZSImJmkubmFtZS5lbmRzV2l0aCgiLmQudHMiKSl0cnl7bGV0IG49YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShvKTt0LnR5cGVzY3JpcHREZWZhdWx0cy5hZGRFeHRyYUxpYihuLGBmaWxlOi8vJHtvfWApfWNhdGNoe319fX1jYXRjaHt9fWFzeW5jIHRyeUxvYWRBdFR5cGVzUGFja2FnZShlKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm4hMTtsZXQgcj1gL25vZGVfbW9kdWxlcy8ke2Uuc3RhcnRzV2l0aCgiQCIpP2BAdHlwZXMvJHtlLnNsaWNlKDEpLnJlcGxhY2UoIi8iLCJfXyIpfWA6YEB0eXBlcy8ke2V9YH1gO3RyeXtsZXQgaT1gJHtyfS9pbmRleC5kLnRzYDtyZXR1cm4gYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5leGlzdHMoaSk/KGF3YWl0IHRoaXMubG9hZEFsbER0c0ZpbGVzRnJvbVBhY2thZ2UociksITApOiExfWNhdGNoe3JldHVybiExfX1hc3luYyBwcm9jZXNzQ29udGVudENoYW5nZShlKXtsZXQgdD10aGlzLnBhcnNlSW1wb3J0cyhlKTtmb3IobGV0IHIgb2YgdCl0aGlzLmxvYWRlZExpYnMuaGFzKHIpfHxhd2FpdCB0aGlzLmxvYWRUeXBlc0ZvclBhY2thZ2Uocil9YXN5bmMgc2NhbkFuZExvYWROZXdQYWNrYWdlVHlwZXMoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXt0aGlzLm5vdEZvdW5kUGFja2FnZXMuY2xlYXIoKTt0cnl7aWYoIWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKCIvbm9kZV9tb2R1bGVzIikpcmV0dXJuO2xldCBlPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZERpcigiL25vZGVfbW9kdWxlcyIpO2ZvcihsZXQgdCBvZiBlKWlmKHQudHlwZT09PSJkaXJlY3RvcnkiKWlmKHQubmFtZS5zdGFydHNXaXRoKCJAIikpdHJ5e2xldCByPWAvbm9kZV9tb2R1bGVzLyR7dC5uYW1lfWAsaT1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIocik7Zm9yKGxldCBvIG9mIGkpaWYoby50eXBlPT09ImRpcmVjdG9yeSIpe2xldCBuPWAke3QubmFtZX0vJHtvLm5hbWV9YDthd2FpdCB0aGlzLmxvYWRUeXBlc0ZvclBhY2thZ2Uobil9fWNhdGNoe31lbHNlIHQubmFtZS5zdGFydHNXaXRoKCIuIil8fGF3YWl0IHRoaXMubG9hZFR5cGVzRm9yUGFja2FnZSh0Lm5hbWUpfWNhdGNoKGUpe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIHNjYW4gbm9kZV9tb2R1bGVzOiIsZSl9fX1hZGRGaWxlTW9kZWwoZSx0KXtpZighdGhpcy5tb25hY29JbnN0YW5jZSlyZXR1cm47dGhpcy5maWxlQ2FjaGUuc2V0KGUsdCk7bGV0IHI9dGhpcy5tb25hY29JbnN0YW5jZS5VcmkucGFyc2UoYGZpbGU6Ly8ke2V9YCksaT10aGlzLm1vbmFjb0luc3RhbmNlLmVkaXRvci5nZXRNb2RlbChyKTtpZihpKWkuZ2V0VmFsdWUoKSE9PXQmJmkuc2V0VmFsdWUodCk7ZWxzZXtsZXQgbz10aGlzLmdldExhbmd1YWdlRnJvbVBhdGgoZSk7dGhpcy5tb25hY29JbnN0YW5jZS5lZGl0b3IuY3JlYXRlTW9kZWwodCxvLHIpfXRoaXMuYWRkRmlsZUFzRXh0cmFMaWIoZSx0KX1hZGRGaWxlQXNFeHRyYUxpYihlLHQpe2xldCByPXRoaXMudHNBcGk7aWYoIXIpcmV0dXJuO2xldCBpPXRoaXMuYWRkZWRFeHRyYUxpYnMuZ2V0KGUpO2kmJmkuZGlzcG9zZSgpO2xldCBvPWBmaWxlOi8vJHtlfWAsbj1yLnR5cGVzY3JpcHREZWZhdWx0cy5hZGRFeHRyYUxpYih0LG8pO2lmKHRoaXMuYWRkZWRFeHRyYUxpYnMuc2V0KGUsbiksZS5lbmRzV2l0aCgiLnRzIikmJiFlLmVuZHNXaXRoKCIuZC50cyIpKXtsZXQgbD1lLnJlcGxhY2UoL1wudHMkLywiLmpzIiksZD1gZmlsZTovLyR7bH1gLGM9ci50eXBlc2NyaXB0RGVmYXVsdHMuYWRkRXh0cmFMaWIodCxkKTt0aGlzLmFkZGVkRXh0cmFMaWJzLnNldChsLGMpLHRoaXMuZmlsZUNhY2hlLnNldChsLHQpfWVsc2UgaWYoZS5lbmRzV2l0aCgiLnRzeCIpKXtsZXQgbD1lLnJlcGxhY2UoL1wudHN4JC8sIi5qc3giKSxkPWBmaWxlOi8vJHtsfWAsYz1yLnR5cGVzY3JpcHREZWZhdWx0cy5hZGRFeHRyYUxpYih0LGQpO3RoaXMuYWRkZWRFeHRyYUxpYnMuc2V0KGwsYyksdGhpcy5maWxlQ2FjaGUuc2V0KGwsdCl9fWdldEZpbGVDb250ZW50KGUpe3JldHVybiB0aGlzLmZpbGVDYWNoZS5nZXQoZSl9Z2V0TGFuZ3VhZ2VGcm9tUGF0aChlKXtzd2l0Y2goZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpKXtjYXNlInRzIjpjYXNlInRzeCI6cmV0dXJuInR5cGVzY3JpcHQiO2Nhc2UianMiOmNhc2UianN4IjpyZXR1cm4iamF2YXNjcmlwdCI7Y2FzZSJqc29uIjpyZXR1cm4ianNvbiI7ZGVmYXVsdDpyZXR1cm4icGxhaW50ZXh0In19fX0pO3ZhciBNNSxwbixHNmEsU0plPWYoKCk9PntsZSgpO2VhKCk7VFllKCk7UWUoKTtrZigpO001PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxwbj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sRzZhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy13b3Jrc3BhY2UtZGlmZi1lZGl0b3IiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXTt2YXIgTz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1dvcmtzcGFjZURpZmZFZGl0b3IiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOlN0cmluZ30pXSxOPVskKHt0eXBlOlN0cmluZ30pXSxNNSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9yaWdpbmFsQ29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4ib3JpZ2luYWxDb250ZW50ImluIFAsImhhcyIpLGdldDpzKFA9PlAub3JpZ2luYWxDb250ZW50LCJnZXQiKSxzZXQ6cygoUCxCKT0+e1Aub3JpZ2luYWxDb250ZW50PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbixsKSxNNSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vZGlmaWVkQ29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4ibW9kaWZpZWRDb250ZW50ImluIFAsImhhcyIpLGdldDpzKFA9PlAubW9kaWZpZWRDb250ZW50LCJnZXQiKSxzZXQ6cygoUCxCKT0+e1AubW9kaWZpZWRDb250ZW50PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYyxwKSxNNSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9yaWdpbmFsTGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+Im9yaWdpbmFsTGFiZWwiaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC5vcmlnaW5hbExhYmVsLCJnZXQiKSxzZXQ6cygoUCxCKT0+e1Aub3JpZ2luYWxMYWJlbD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksTTUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb2RpZmllZExhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFA9PiJtb2RpZmllZExhYmVsImluIFAsImhhcyIpLGdldDpzKFA9PlAubW9kaWZpZWRMYWJlbCwiZ2V0Iiksc2V0OnMoKFAsQik9PntQLm1vZGlmaWVkTGFiZWw9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxiLGcpLE01KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFuZ3VhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUD0+Imxhbmd1YWdlImluIFAsImhhcyIpLGdldDpzKFA9PlAubGFuZ3VhZ2UsImdldCIpLHNldDpzKChQLEIpPT57UC5sYW5ndWFnZT1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGssQyksTTUodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlUGF0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhQPT4iZmlsZVBhdGgiaW4gUCwiaGFzIiksZ2V0OnMoUD0+UC5maWxlUGF0aCwiZ2V0Iiksc2V0OnMoKFAsQik9PntQLmZpbGVQYXRoPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSxNNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGVlcy13b3Jrc3BhY2UtZGlmZi1lZGl0b3IKICAgICAgLm9yaWdpbmFsQ29udGVudD0ke2BmdW5jdGlvbiBoZWxsbygpIHsKICBjb25zb2xlLmxvZygiSGVsbG8iKTsKfWB9CiAgICAgIC5tb2RpZmllZENvbnRlbnQ9JHtgZnVuY3Rpb24gaGVsbG8oKSB7CiAgY29uc29sZS5sb2coIkhlbGxvIFdvcmxkISIpOwogIHJldHVybiB0cnVlOwp9YH0KICAgICAgLmxhbmd1YWdlPSR7InR5cGVzY3JpcHQifQogICAgICAuZmlsZVBhdGg9JHsiL2RlbW8vZXhhbXBsZS50cyJ9CiAgICA+PC9kZWVzLXdvcmtzcGFjZS1kaWZmLWVkaXRvcj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJXb3Jrc3BhY2UiXTtkaWZmRWRpdG9yRGVmZXJyZWQ9SHQuc21hcnRwcm9taXNlLmRlZmVyKCk7I2U9cG4odGhpcyxuLCIiKTtnZXQgb3JpZ2luYWxDb250ZW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IG9yaWdpbmFsQ29udGVudChUKXt0aGlzLiNlPVR9I3Q9KHBuKHRoaXMsbCkscG4odGhpcyxjLCIiKSk7Z2V0IG1vZGlmaWVkQ29udGVudCgpe3JldHVybiB0aGlzLiN0fXNldCBtb2RpZmllZENvbnRlbnQoVCl7dGhpcy4jdD1UfSNhPShwbih0aGlzLHApLHBuKHRoaXMsbSwiRGlzayBWZXJzaW9uIikpO2dldCBvcmlnaW5hbExhYmVsKCl7cmV0dXJuIHRoaXMuI2F9c2V0IG9yaWdpbmFsTGFiZWwoVCl7dGhpcy4jYT1UfSNyPShwbih0aGlzLHYpLHBuKHRoaXMsYiwiTG9jYWwgVmVyc2lvbiIpKTtnZXQgbW9kaWZpZWRMYWJlbCgpe3JldHVybiB0aGlzLiNyfXNldCBtb2RpZmllZExhYmVsKFQpe3RoaXMuI3I9VH0jcz0ocG4odGhpcyxnKSxwbih0aGlzLGssInR5cGVzY3JpcHQiKSk7Z2V0IGxhbmd1YWdlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGxhbmd1YWdlKFQpe3RoaXMuI3M9VH0jaT0ocG4odGhpcyxDKSxwbih0aGlzLF8sIiIpKTtnZXQgZmlsZVBhdGgoKXtyZXR1cm4gdGhpcy4jaX1zZXQgZmlsZVBhdGgoVCl7dGhpcy4jaT1UfWRpZmZFZGl0b3I9KHBuKHRoaXMseiksbnVsbCk7bW9uYWNvVGhlbWVTdWJzY3JpcHRpb249bnVsbDtvcmlnaW5hbE1vZGVsPW51bGw7bW9kaWZpZWRNb2RlbD1udWxsO2NvbnN0cnVjdG9yKCl7c3VwZXIoKSwkaS5zZXR1cERvbVRvb2xzKCl9c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICB9CgogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZGlmZi13cmFwcGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuZGlmZi10b29sYmFyIHsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk2JSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5kaWZmLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC5kaWZmLWZpbGVuYW1lIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgIH0KCiAgICAgIC5kaWZmLWxhYmVscyB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5kaWZmLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmRpZmYtY29udGFpbmVyIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5uYXYtYnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgVD10aGlzLmZpbGVQYXRoLnNwbGl0KCIvIikucG9wKCl8fCJmaWxlIjtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlmZi13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkaWZmLXRvb2xiYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlmZi1pbmZvIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpZmYtZmlsZW5hbWUiPiR7VH08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaWZmLWxhYmVscyI+JHt0aGlzLm9yaWdpbmFsTGFiZWx9IOKGlCAke3RoaXMubW9kaWZpZWRMYWJlbH08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpZmYtYWN0aW9ucyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1idXR0b25zIj4KICAgICAgICAgICAgICA8ZGVlcy1idXR0b24KICAgICAgICAgICAgICAgIHR5cGU9Im91dGxpbmUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmdvVG9QcmV2aW91c0RpZmZ9CiAgICAgICAgICAgICAgPlByZXZpb3VzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgICA8ZGVlcy1idXR0b24KICAgICAgICAgICAgICAgIHR5cGU9Im91dGxpbmUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmdvVG9OZXh0RGlmZn0KICAgICAgICAgICAgICA+TmV4dDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb24tYnV0dG9ucyI+CiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uCiAgICAgICAgICAgICAgICB0eXBlPSJoaWdobGlnaHRlZCIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuYWNjZXB0TG9jYWx9CiAgICAgICAgICAgICAgPlVzZSBMb2NhbDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uCiAgICAgICAgICAgICAgICB0eXBlPSJvdXRsaW5lIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5hY2NlcHREaXNrfQogICAgICAgICAgICAgID5Vc2UgRGlzazwvZGVlcy1idXR0b24+CiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uCiAgICAgICAgICAgICAgICB0eXBlPSJvdXRsaW5lIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5jbG9zZX0KICAgICAgICAgICAgICA+Q2xvc2U8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImRpZmYtY29udGFpbmVyIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHN1cGVyLmZpcnN0VXBkYXRlZChuZXcgTWFwKSxhd2FpdCB0aGlzLmluaXREaWZmRWRpdG9yKCl9YXN5bmMgaW5pdERpZmZFZGl0b3IoKXtsZXQgVD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5kaWZmLWNvbnRhaW5lciIpO2lmKCFUKXJldHVybjtsZXQgUD1gaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9tb25hY28tZWRpdG9yQCR7WHRlfWAsQj13aW5kb3cubW9uYWNvO0J8fChhd2FpdCBuZXcgUHJvbWlzZShHPT57bGV0IGhlPXNldEludGVydmFsKCgpPT57d2luZG93Lm1vbmFjbyYmKGNsZWFySW50ZXJ2YWwoaGUpLEcoKSl9LDEwMCl9KSxCPXdpbmRvdy5tb25hY28pO2xldCBNPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLEU9TS50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuPyJ2cyI6InZzLWRhcmsiLEE9RGF0ZS5ub3coKSxGPUIuVXJpLnBhcnNlKGBkaWZmOi8vb3JpZ2luYWwvJHtBfSR7dGhpcy5maWxlUGF0aH1gKSxXPUIuVXJpLnBhcnNlKGBkaWZmOi8vbW9kaWZpZWQvJHtBfSR7dGhpcy5maWxlUGF0aH1gKTt0aGlzLm9yaWdpbmFsTW9kZWw9Qi5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5vcmlnaW5hbENvbnRlbnQsdGhpcy5sYW5ndWFnZSxGKSx0aGlzLm1vZGlmaWVkTW9kZWw9Qi5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5tb2RpZmllZENvbnRlbnQsdGhpcy5sYW5ndWFnZSxXKSx0aGlzLmRpZmZFZGl0b3I9Qi5lZGl0b3IuY3JlYXRlRGlmZkVkaXRvcihULHthdXRvbWF0aWNMYXlvdXQ6ITAscmVhZE9ubHk6ITEsb3JpZ2luYWxFZGl0YWJsZTohMSxyZW5kZXJTaWRlQnlTaWRlOiEwLGlnbm9yZVRyaW1XaGl0ZXNwYWNlOiExLGZvbnRTaXplOjE0LG1pbmltYXA6e2VuYWJsZWQ6ITF9fSksQi5lZGl0b3Iuc2V0VGhlbWUoRSksdGhpcy5kaWZmRWRpdG9yLnNldE1vZGVsKHtvcmlnaW5hbDp0aGlzLm9yaWdpbmFsTW9kZWwsbW9kaWZpZWQ6dGhpcy5tb2RpZmllZE1vZGVsfSksdGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbj1NLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKEc9PntsZXQgaGU9Rz8idnMiOiJ2cy1kYXJrIjtCLmVkaXRvci5zZXRUaGVtZShoZSl9KTtsZXQgaj0ibW9uYWNvLWRpZmYtZWRpdG9yLWNzcyI7aWYoIXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoaikpe2xldCBoZT1hd2FpdChhd2FpdCBmZXRjaChgJHtQfS9taW4vdnMvZWRpdG9yL2VkaXRvci5tYWluLmNzc2ApKS50ZXh0KCksUj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO1IuaWQ9aixSLnRleHRDb250ZW50PWhlLHRoaXMuc2hhZG93Um9vdD8uYXBwZW5kKFIpfXNldFRpbWVvdXQoKCk9Pnt0cnl7dGhpcy5kaWZmRWRpdG9yPy5yZXZlYWxGaXJzdERpZmYoKX1jYXRjaHt9fSwxMDApLHRoaXMuZGlmZkVkaXRvckRlZmVycmVkLnJlc29sdmUodGhpcy5kaWZmRWRpdG9yKX1nb1RvTmV4dERpZmYoKXt0cnl7dGhpcy5kaWZmRWRpdG9yPy5nb1RvRGlmZigibmV4dCIpfWNhdGNoe319Z29Ub1ByZXZpb3VzRGlmZigpe3RyeXt0aGlzLmRpZmZFZGl0b3I/LmdvVG9EaWZmKCJwcmV2aW91cyIpfWNhdGNoe319YWNjZXB0TG9jYWwoKXtsZXQgVD10aGlzLmRpZmZFZGl0b3I/LmdldE1vZGlmaWVkRWRpdG9yKCkuZ2V0VmFsdWUoKXx8dGhpcy5tb2RpZmllZENvbnRlbnQ7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGlmZi1yZXNvbHZlZCIse2RldGFpbDp7YWN0aW9uOiJ1c2UtbG9jYWwiLGNvbnRlbnQ6VH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1hY2NlcHREaXNrKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGlmZi1yZXNvbHZlZCIse2RldGFpbDp7YWN0aW9uOiJ1c2UtZGlzayIsY29udGVudDp0aGlzLm9yaWdpbmFsQ29udGVudH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jbG9zZSgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRpZmYtY2xvc2VkIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbiYmKHRoaXMubW9uYWNvVGhlbWVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uPW51bGwpLHRoaXMub3JpZ2luYWxNb2RlbCYmKHRoaXMub3JpZ2luYWxNb2RlbC5kaXNwb3NlKCksdGhpcy5vcmlnaW5hbE1vZGVsPW51bGwpLHRoaXMubW9kaWZpZWRNb2RlbCYmKHRoaXMubW9kaWZpZWRNb2RlbC5kaXNwb3NlKCksdGhpcy5tb2RpZmllZE1vZGVsPW51bGwpLHRoaXMuZGlmZkVkaXRvciYmKHRoaXMuZGlmZkVkaXRvci5kaXNwb3NlKCksdGhpcy5kaWZmRWRpdG9yPW51bGwpfXN0YXRpY3twbihyLHQpfX07cmV0dXJuIE89cn0pKCl9KTt2YXIgVHIscXQsWTZhLEs2YT1mKCgpPT57bGUoKTtlYSgpO1FlKCk7bGllKCk7Q2YoKTtkaWUoKTtkaWUoKTtkRygpO2RHKCk7d0plKCk7TUplKCk7dmEoKTtDZigpO2tKZSgpO1hyKCk7TmEoKTtWc2UoKTtTSmUoKTtUcj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scXQ9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFk2YT0oKCk9PntsZXQgYT1baWUoImRlZXMtd29ya3NwYWNlIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFEsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdLHllLFY9W10sSD1bXSxvZSxzZT1bXSx0ZT1bXSx6ZSxPZT1bXSxxZT1bXSxkdCwkZT1bXSxDZT1bXSxNZSxkZT1bXSx2ZT1bXSxBZSxaZT1bXSxudD1bXSx6dCxUZT1bXSx3ZT1bXTt2YXIgUmU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXb3Jrc3BhY2UiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgZmU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7YXR0cmlidXRlOiExfSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpOdW1iZXJ9KV0sTj1bJCh7dHlwZTpOdW1iZXJ9KV0sTz1bSygpXSxCPVtLKCldLEU9W0soKV0sVz1bSygpXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxRPVtLKCldLGdlPVtLKCldLHllPVtLKCldLG9lPVtLKCldLHplPVtLKCldLGR0PVtLKCldLE1lPVtLKCldLEFlPVtLKCldLHp0PVtLKCldLFRyKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhlY3V0aW9uRW52aXJvbm1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJleGVjdXRpb25FbnZpcm9ubWVudCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmV4ZWN1dGlvbkVudmlyb25tZW50LCJnZXQiKSxzZXQ6cygoYmUsRWUpPT57YmUuZXhlY3V0aW9uRW52aXJvbm1lbnQ9RWV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LG4sbCksVHIodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbml0aWFsaXphdGlvblByb21pc2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJpbml0aWFsaXphdGlvblByb21pc2UiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5pbml0aWFsaXphdGlvblByb21pc2UsImdldCIpLHNldDpzKChiZSxFZSk9PntiZS5pbml0aWFsaXphdGlvblByb21pc2U9RWV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LGMscCksVHIodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93RmlsZVRyZWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJzaG93RmlsZVRyZWUiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5zaG93RmlsZVRyZWUsImdldCIpLHNldDpzKChiZSxFZSk9PntiZS5zaG93RmlsZVRyZWU9RWV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LG0sdiksVHIodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VGVybWluYWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJzaG93VGVybWluYWwiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5zaG93VGVybWluYWwsImdldCIpLHNldDpzKChiZSxFZSk9PntiZS5zaG93VGVybWluYWw9RWV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LGIsZyksVHIodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlVHJlZVdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iZmlsZVRyZWVXaWR0aCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmZpbGVUcmVlV2lkdGgsImdldCIpLHNldDpzKChiZSxFZSk9PntiZS5maWxlVHJlZVdpZHRoPUVlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxrLEMpLFRyKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGVybWluYWxIZWlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJ0ZXJtaW5hbEhlaWdodCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLnRlcm1pbmFsSGVpZ2h0LCJnZXQiKSxzZXQ6cygoYmUsRWUpPT57YmUudGVybWluYWxIZWlnaHQ9RWV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LF8seiksVHIodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcGVuRmlsZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJvcGVuRmlsZXMiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5vcGVuRmlsZXMsImdldCIpLHNldDpzKChiZSxFZSk9PntiZS5vcGVuRmlsZXM9RWV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LFQsUCksVHIodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3RpdmVGaWxlUGF0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImFjdGl2ZUZpbGVQYXRoImluIGJlLCJoYXMiKSxnZXQ6cyhiZT0+YmUuYWN0aXZlRmlsZVBhdGgsImdldCIpLHNldDpzKChiZSxFZSk9PntiZS5hY3RpdmVGaWxlUGF0aD1FZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sTSxTKSxUcih0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzVGVybWluYWxDb2xsYXBzZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJpc1Rlcm1pbmFsQ29sbGFwc2VkImluIGJlLCJoYXMiKSxnZXQ6cyhiZT0+YmUuaXNUZXJtaW5hbENvbGxhcHNlZCwiZ2V0Iiksc2V0OnMoKGJlLEVlKT0+e2JlLmlzVGVybWluYWxDb2xsYXBzZWQ9RWV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LEEsRiksVHIodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0ZpbGVUcmVlQ29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iaXNGaWxlVHJlZUNvbGxhcHNlZCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmlzRmlsZVRyZWVDb2xsYXBzZWQsImdldCIpLHNldDpzKChiZSxFZSk9PntiZS5pc0ZpbGVUcmVlQ29sbGFwc2VkPUVlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxqLEcpLFRyKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzSW5pdGlhbGl6aW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iaXNJbml0aWFsaXppbmciaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5pc0luaXRpYWxpemluZywiZ2V0Iiksc2V0OnMoKGJlLEVlKT0+e2JlLmlzSW5pdGlhbGl6aW5nPUVlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxSLFUpLFRyKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZUJvdHRvbVBhbmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iYWN0aXZlQm90dG9tUGFuZWwiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5hY3RpdmVCb3R0b21QYW5lbCwiZ2V0Iiksc2V0OnMoKGJlLEVlKT0+e2JlLmFjdGl2ZUJvdHRvbVBhbmVsPUVlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxJLHEpLFRyKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpYWdub3N0aWNNYXJrZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iZGlhZ25vc3RpY01hcmtlcnMiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5kaWFnbm9zdGljTWFya2VycywiZ2V0Iiksc2V0OnMoKGJlLEVlKT0+e2JlLmRpYWdub3N0aWNNYXJrZXJzPUVlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSx1ZSxZKSxUcih0aGlzLG51bGwsUSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9TYXZlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iYXV0b1NhdmUiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5hdXRvU2F2ZSwiZ2V0Iiksc2V0OnMoKGJlLEVlKT0+e2JlLmF1dG9TYXZlPUVlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxKLFopLFRyKHRoaXMsbnVsbCxnZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImluaXRDb21tYW5kIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iaW5pdENvbW1hbmQiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5pbml0Q29tbWFuZCwiZ2V0Iiksc2V0OnMoKGJlLEVlKT0+e2JlLmluaXRDb21tYW5kPUVlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxhZSxyZSksVHIodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5pdE91dHB1dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImluaXRPdXRwdXQiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5pbml0T3V0cHV0LCJnZXQiKSxzZXQ6cygoYmUsRWUpPT57YmUuaW5pdE91dHB1dD1FZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sVixIKSxUcih0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50RmlsZVRyZWVXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImN1cnJlbnRGaWxlVHJlZVdpZHRoImluIGJlLCJoYXMiKSxnZXQ6cyhiZT0+YmUuY3VycmVudEZpbGVUcmVlV2lkdGgsImdldCIpLHNldDpzKChiZSxFZSk9PntiZS5jdXJyZW50RmlsZVRyZWVXaWR0aD1FZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sc2UsdGUpLFRyKHRoaXMsbnVsbCx6ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRUZXJtaW5hbEhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImN1cnJlbnRUZXJtaW5hbEhlaWdodCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmN1cnJlbnRUZXJtaW5hbEhlaWdodCwiZ2V0Iiksc2V0OnMoKGJlLEVlKT0+e2JlLmN1cnJlbnRUZXJtaW5hbEhlaWdodD1FZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sT2UscWUpLFRyKHRoaXMsbnVsbCxkdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzRHJhZ2dpbmdGaWxlVHJlZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImlzRHJhZ2dpbmdGaWxlVHJlZSJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmlzRHJhZ2dpbmdGaWxlVHJlZSwiZ2V0Iiksc2V0OnMoKGJlLEVlKT0+e2JlLmlzRHJhZ2dpbmdGaWxlVHJlZT1FZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sJGUsQ2UpLFRyKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzRHJhZ2dpbmdUZXJtaW5hbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImlzRHJhZ2dpbmdUZXJtaW5hbCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmlzRHJhZ2dpbmdUZXJtaW5hbCwiZ2V0Iiksc2V0OnMoKGJlLEVlKT0+e2JlLmlzRHJhZ2dpbmdUZXJtaW5hbD1FZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sZGUsdmUpLFRyKHRoaXMsbnVsbCxBZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dEaWZmVmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+InNob3dEaWZmVmlldyJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLnNob3dEaWZmVmlldywiZ2V0Iiksc2V0OnMoKGJlLEVlKT0+e2JlLnNob3dEaWZmVmlldz1FZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sWmUsbnQpLFRyKHRoaXMsbnVsbCx6dCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpZmZWaWV3Q29uZmlnIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iZGlmZlZpZXdDb25maWciaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5kaWZmVmlld0NvbmZpZywiZ2V0Iiksc2V0OnMoKGJlLEVlKT0+e2JlLmRpZmZWaWV3Q29uZmlnPUVlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxUZSx3ZSksVHIobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6ZmV9LG51bGwsdCksUmU9cj1lLnZhbHVlLGZlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZlfSl9c3RhdGljIGRlbW89cygoKT0+e2xldCBmZT1uZXcgeDUsYmU9KGFzeW5jKCk9Pnthd2FpdCBmZS5pbml0KCk7bGV0IG10PXsicGFja2FnZS5qc29uIjp7ZmlsZTp7Y29udGVudHM6SlNPTi5zdHJpbmdpZnkoe25hbWU6ImRlbW8tcHJvamVjdCIsdmVyc2lvbjoiMS4wLjAiLHR5cGU6Im1vZHVsZSIsc2NyaXB0czp7YnVpbGQ6InRzYyIsZGV2OiJ0c2MgLS13YXRjaCJ9LGRlcGVuZGVuY2llczp7IkBwdXNoLnJvY2tzL3NtYXJ0cHJvbWlzZSI6Il40LjIuMyJ9LGRldkRlcGVuZGVuY2llczp7IkB0eXBlcy9ub2RlIjoiXjIyLjAuMCIsdHlwZXNjcmlwdDoiXjUuMC4wIn19LG51bGwsMil9fSwibnBtZXh0cmEuanNvbiI6e2ZpbGU6e2NvbnRlbnRzOkpTT04uc3RyaW5naWZ5KHtkZWVzRWRpdG9yV29ya3NwYWNlOntvbkluaXQ6InBucG0gaW5zdGFsbCJ9fSxudWxsLDIpfX0sInRzY29uZmlnLmpzb24iOntmaWxlOntjb250ZW50czpKU09OLnN0cmluZ2lmeSh7Y29tcGlsZXJPcHRpb25zOnt0YXJnZXQ6IkVTMjAyMiIsbW9kdWxlOiJOb2RlTmV4dCIsbW9kdWxlUmVzb2x1dGlvbjoiTm9kZU5leHQiLHN0cmljdDohMCxvdXREaXI6Ii4vZGlzdCIscm9vdERpcjoiLi9zcmMiLGRlY2xhcmF0aW9uOiEwfSxpbmNsdWRlOlsic3JjLyoqLyoiXX0sbnVsbCwyKX19LHNyYzp7ZGlyZWN0b3J5OnsiaW5kZXgudHMiOntmaWxlOntjb250ZW50czpgLy8gTWFpbiBlbnRyeSBwb2ludAppbXBvcnQgeyBncmVldCwgZm9ybWF0TmFtZSB9IGZyb20gJy4vdXRpbHMuanMnOwoKY29uc3QgbmFtZSA9IGZvcm1hdE5hbWUoJ1dvcmxkJyk7CmNvbnNvbGUubG9nKGdyZWV0KG5hbWUpKTsKCi8vIEV4YW1wbGUgYXN5bmMgZnVuY3Rpb24KYXN5bmMgZnVuY3Rpb24gbWFpbigpIHsKICBjb25zdCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoJ0hlbGxvIGZyb20gYXN5bmMhJyk7CiAgY29uc29sZS5sb2cocmVzdWx0KTsKfQoKbWFpbigpOwpgfX0sInV0aWxzLnRzIjp7ZmlsZTp7Y29udGVudHM6YC8vIFV0aWxpdHkgZnVuY3Rpb25zCgpleHBvcnQgaW50ZXJmYWNlIElVc2VyIHsKICBmaXJzdE5hbWU6IHN0cmluZzsKICBsYXN0TmFtZTogc3RyaW5nOwp9CgpleHBvcnQgZnVuY3Rpb24gZ3JlZXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHsKICByZXR1cm4gXGBIZWxsbywgXCR7bmFtZX0hXGA7Cn0KCmV4cG9ydCBmdW5jdGlvbiBmb3JtYXROYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7CiAgcmV0dXJuIG5hbWUudHJpbSgpLnRvVXBwZXJDYXNlKCk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVc2VyKGZpcnN0TmFtZTogc3RyaW5nLCBsYXN0TmFtZTogc3RyaW5nKTogSVVzZXIgewogIHJldHVybiB7IGZpcnN0TmFtZSwgbGFzdE5hbWUgfTsKfQpgfX0sImltcG9ydHRlc3QudHMiOntmaWxlOntjb250ZW50czpgLy8gVGVzdCBucG0gcGFja2FnZSBpbXBvcnRzCmltcG9ydCAqIGFzIHNtYXJ0cHJvbWlzZSBmcm9tICdAcHVzaC5yb2Nrcy9zbWFydHByb21pc2UnOwoKLy8gVGhpcyBzaG91bGQgaGF2ZSBJbnRlbGxpU2Vuc2Ugc2hvd2luZyBkZWZlcigpIG1ldGhvZApjb25zdCBkZWZlcnJlZCA9IHNtYXJ0cHJvbWlzZS5kZWZlcjxzdHJpbmc+KCk7CgovLyBUZXN0IHVzaW5nIHRoZSBkZWZlcnJlZCBwcm9taXNlCmFzeW5jIGZ1bmN0aW9uIHRlc3RTbWFydFByb21pc2UoKSB7CiAgc2V0VGltZW91dCgoKSA9PiB7CiAgICBkZWZlcnJlZC5yZXNvbHZlKCdIZWxsbyBmcm9tIHNtYXJ0cHJvbWlzZSEnKTsKICB9LCAxMDApOwoKICBjb25zdCByZXN1bHQgPSBhd2FpdCBkZWZlcnJlZC5wcm9taXNlOwogIGNvbnNvbGUubG9nKHJlc3VsdCk7Cn0KCnRlc3RTbWFydFByb21pc2UoKTsKYH19fX19O2F3YWl0IGZlLm1vdW50KG10KX0pKCksRWU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7RWUuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IjtsZXQgZnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGVlcy13b3Jrc3BhY2UiKTtyZXR1cm4gZnQuZXhlY3V0aW9uRW52aXJvbm1lbnQ9ZmUsZnQuaW5pdGlhbGl6YXRpb25Qcm9taXNlPWJlLEVlLmFwcGVuZENoaWxkKGZ0KSx3YAogICAgICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgICAgICAke0VlfQogICAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICBgfSwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07I2U9cXQodGhpcyxuLG51bGwpO2dldCBleGVjdXRpb25FbnZpcm9ubWVudCgpe3JldHVybiB0aGlzLiNlfXNldCBleGVjdXRpb25FbnZpcm9ubWVudChmZSl7dGhpcy4jZT1mZX0jdD0ocXQodGhpcyxsKSxxdCh0aGlzLGMsbnVsbCkpO2dldCBpbml0aWFsaXphdGlvblByb21pc2UoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaW5pdGlhbGl6YXRpb25Qcm9taXNlKGZlKXt0aGlzLiN0PWZlfSNhPShxdCh0aGlzLHApLHF0KHRoaXMsbSwhMCkpO2dldCBzaG93RmlsZVRyZWUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd0ZpbGVUcmVlKGZlKXt0aGlzLiNhPWZlfSNyPShxdCh0aGlzLHYpLHF0KHRoaXMsYiwhMCkpO2dldCBzaG93VGVybWluYWwoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2hvd1Rlcm1pbmFsKGZlKXt0aGlzLiNyPWZlfSNzPShxdCh0aGlzLGcpLHF0KHRoaXMsaywyNTApKTtnZXQgZmlsZVRyZWVXaWR0aCgpe3JldHVybiB0aGlzLiNzfXNldCBmaWxlVHJlZVdpZHRoKGZlKXt0aGlzLiNzPWZlfSNpPShxdCh0aGlzLEMpLHF0KHRoaXMsXywyMDApKTtnZXQgdGVybWluYWxIZWlnaHQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgdGVybWluYWxIZWlnaHQoZmUpe3RoaXMuI2k9ZmV9I289KHF0KHRoaXMseikscXQodGhpcyxULFtdKSk7Z2V0IG9wZW5GaWxlcygpe3JldHVybiB0aGlzLiNvfXNldCBvcGVuRmlsZXMoZmUpe3RoaXMuI289ZmV9I249KHF0KHRoaXMsUCkscXQodGhpcyxNLCIiKSk7Z2V0IGFjdGl2ZUZpbGVQYXRoKCl7cmV0dXJuIHRoaXMuI259c2V0IGFjdGl2ZUZpbGVQYXRoKGZlKXt0aGlzLiNuPWZlfSNsPShxdCh0aGlzLFMpLHF0KHRoaXMsQSwhMSkpO2dldCBpc1Rlcm1pbmFsQ29sbGFwc2VkKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGlzVGVybWluYWxDb2xsYXBzZWQoZmUpe3RoaXMuI2w9ZmV9I2M9KHF0KHRoaXMsRikscXQodGhpcyxqLCExKSk7Z2V0IGlzRmlsZVRyZWVDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jY31zZXQgaXNGaWxlVHJlZUNvbGxhcHNlZChmZSl7dGhpcy4jYz1mZX0jZD0ocXQodGhpcyxHKSxxdCh0aGlzLFIsITApKTtnZXQgaXNJbml0aWFsaXppbmcoKXtyZXR1cm4gdGhpcy4jZH1zZXQgaXNJbml0aWFsaXppbmcoZmUpe3RoaXMuI2Q9ZmV9I3U9KHF0KHRoaXMsVSkscXQodGhpcyxJLCJ0ZXJtaW5hbCIpKTtnZXQgYWN0aXZlQm90dG9tUGFuZWwoKXtyZXR1cm4gdGhpcy4jdX1zZXQgYWN0aXZlQm90dG9tUGFuZWwoZmUpe3RoaXMuI3U9ZmV9I3A9KHF0KHRoaXMscSkscXQodGhpcyx1ZSxbXSkpO2dldCBkaWFnbm9zdGljTWFya2Vycygpe3JldHVybiB0aGlzLiNwfXNldCBkaWFnbm9zdGljTWFya2VycyhmZSl7dGhpcy4jcD1mZX1lZGl0b3JFbGVtZW50PShxdCh0aGlzLFkpLG51bGwpO2luaXRpYWxpemF0aW9uU3RhcnRlZD0hMTtpbnRlbGxpU2Vuc2VNYW5hZ2VyPW51bGw7aW50ZWxsaVNlbnNlSW5pdGlhbGl6ZWQ9ITE7bm9kZU1vZHVsZXNXYXRjaGVyPW51bGw7bm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQ9bnVsbDtpbnRlbGxpU2Vuc2VEZWJvdW5jZVRpbWVvdXQ9bnVsbDtvcGVuRmlsZVdhdGNoZXJzPW5ldyBNYXA7ZmlsZUNoYW5nZURlYm91bmNlPW5ldyBNYXA7YWN0aW9uYmFyRWxlbWVudD1udWxsOyNmPXF0KHRoaXMsSiwhMSk7Z2V0IGF1dG9TYXZlKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGF1dG9TYXZlKGZlKXt0aGlzLiNmPWZlfWF1dG9TYXZlSW50ZXJ2YWw9KHF0KHRoaXMsWiksbnVsbCk7I2g9cXQodGhpcyxhZSwiIik7Z2V0IGluaXRDb21tYW5kKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGluaXRDb21tYW5kKGZlKXt0aGlzLiNoPWZlfSNtPShxdCh0aGlzLHJlKSxxdCh0aGlzLFYsW10pKTtnZXQgaW5pdE91dHB1dCgpe3JldHVybiB0aGlzLiNtfXNldCBpbml0T3V0cHV0KGZlKXt0aGlzLiNtPWZlfSNnPShxdCh0aGlzLEgpLHF0KHRoaXMsc2UsMjUwKSk7Z2V0IGN1cnJlbnRGaWxlVHJlZVdpZHRoKCl7cmV0dXJuIHRoaXMuI2d9c2V0IGN1cnJlbnRGaWxlVHJlZVdpZHRoKGZlKXt0aGlzLiNnPWZlfSNiPShxdCh0aGlzLHRlKSxxdCh0aGlzLE9lLDIwMCkpO2dldCBjdXJyZW50VGVybWluYWxIZWlnaHQoKXtyZXR1cm4gdGhpcy4jYn1zZXQgY3VycmVudFRlcm1pbmFsSGVpZ2h0KGZlKXt0aGlzLiNiPWZlfSN2PShxdCh0aGlzLHFlKSxxdCh0aGlzLCRlLCExKSk7Z2V0IGlzRHJhZ2dpbmdGaWxlVHJlZSgpe3JldHVybiB0aGlzLiN2fXNldCBpc0RyYWdnaW5nRmlsZVRyZWUoZmUpe3RoaXMuI3Y9ZmV9I3g9KHF0KHRoaXMsQ2UpLHF0KHRoaXMsZGUsITEpKTtnZXQgaXNEcmFnZ2luZ1Rlcm1pbmFsKCl7cmV0dXJuIHRoaXMuI3h9c2V0IGlzRHJhZ2dpbmdUZXJtaW5hbChmZSl7dGhpcy4jeD1mZX0jeT0ocXQodGhpcyx2ZSkscXQodGhpcyxaZSwhMSkpO2dldCBzaG93RGlmZlZpZXcoKXtyZXR1cm4gdGhpcy4jeX1zZXQgc2hvd0RpZmZWaWV3KGZlKXt0aGlzLiN5PWZlfSN3PShxdCh0aGlzLG50KSxxdCh0aGlzLFRlLG51bGwpKTtnZXQgZGlmZlZpZXdDb25maWcoKXtyZXR1cm4gdGhpcy4jd31zZXQgZGlmZlZpZXdDb25maWcoZmUpe3RoaXMuI3c9ZmV9a2V5ZG93bkhhbmRsZXI9KHF0KHRoaXMsd2UpLGZlPT57KGZlLm1ldGFLZXl8fGZlLmN0cmxLZXkpJiZmZS5rZXk9PT0icyImJiFmZS5zaGlmdEtleSYmKGZlLnByZXZlbnREZWZhdWx0KCksdGhpcy5zYXZlQWN0aXZlRmlsZSgpKSwoZmUubWV0YUtleXx8ZmUuY3RybEtleSkmJmZlLnNoaWZ0S2V5JiZmZS5rZXkudG9Mb3dlckNhc2UoKT09PSJzIiYmKGZlLnByZXZlbnREZWZhdWx0KCksdGhpcy5zYXZlQWxsRmlsZXMoKSl9KTtoYW5kbGVGaWxlVHJlZU1vdXNlRG93bj1zKGZlPT57ZmUucHJldmVudERlZmF1bHQoKSx0aGlzLmlzRHJhZ2dpbmdGaWxlVHJlZT0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZU1vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZVVwKX0sImhhbmRsZUZpbGVUcmVlTW91c2VEb3duIik7aGFuZGxlRmlsZVRyZWVNb3VzZU1vdmU9cyhmZT0+e2lmKCF0aGlzLmlzRHJhZ2dpbmdGaWxlVHJlZSlyZXR1cm47bGV0IGJlPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksRWU9ZmUuY2xpZW50WC1iZS5sZWZ0LGZ0PTE1MCxtdD1iZS53aWR0aCouNSxJdD1NYXRoLm1heChmdCxNYXRoLm1pbihtdCxFZSkpO3RoaXMuY3VycmVudEZpbGVUcmVlV2lkdGg9SXR9LCJoYW5kbGVGaWxlVHJlZU1vdXNlTW92ZSIpO2hhbmRsZUZpbGVUcmVlTW91c2VVcD1zKCgpPT57dGhpcy5pc0RyYWdnaW5nRmlsZVRyZWU9ITEsZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmhhbmRsZUZpbGVUcmVlTW91c2VNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZUZpbGVUcmVlTW91c2VVcCksd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJyZXNpemUiKSl9LCJoYW5kbGVGaWxlVHJlZU1vdXNlVXAiKTtoYW5kbGVUZXJtaW5hbE1vdXNlRG93bj1zKGZlPT57ZmUucHJldmVudERlZmF1bHQoKSx0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbD0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZU1vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZVVwKX0sImhhbmRsZVRlcm1pbmFsTW91c2VEb3duIik7aGFuZGxlVGVybWluYWxNb3VzZU1vdmU9cyhmZT0+e2lmKCF0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbClyZXR1cm47bGV0IGJlPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksRWU9ZmUuY2xpZW50WS1iZS50b3AsZnQ9YmUuaGVpZ2h0LUVlLG10PTEwMCxJdD1iZS5oZWlnaHQqLjcsWGE9TWF0aC5tYXgobXQsTWF0aC5taW4oSXQsZnQpKTt0aGlzLmN1cnJlbnRUZXJtaW5hbEhlaWdodD1YYX0sImhhbmRsZVRlcm1pbmFsTW91c2VNb3ZlIik7aGFuZGxlVGVybWluYWxNb3VzZVVwPXMoKCk9Pnt0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbD0hMSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZVVwKSx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX0sImhhbmRsZVRlcm1pbmFsTW91c2VVcCIpO3N0YXRpYyBzdHlsZXM9W1BlLGguZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTYlKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2Utb3V0ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2UtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuZWRpdG9yLWFyZWEgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuZmlsZXRyZWUtcGFuZWwgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZmlsZXRyZWUtcGFuZWwuY29sbGFwc2VkIHsKICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuZWRpdG9yLXBhbmVsIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLXBhbmVsIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGVybWluYWwtcGFuZWwuY29sbGFwc2VkIHsKICAgICAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLnBhbmVsLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA4JSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAucGFuZWwtaGVhZGVyLXRpdGxlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC5wYW5lbC1oZWFkZXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAucGFuZWwtYWN0aW9uIHsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnBhbmVsLWFjdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAxOCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC50YWJzLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk2JSkiLCJoc2woMCAwJSA4JSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAudGFiIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIG1pbi13aWR0aDogMTIwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODglKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NCUpIiwiaHNsKDAgMCUgMTAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkyJSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICB9CgogICAgICAudGFiLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNTAlKSIsImhzbCgyMTAgMTAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAudGFiLW5hbWUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAudGFiLWNsb3NlIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudGFiOmhvdmVyIC50YWItY2xvc2UgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC50YWItY2xvc2U6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjUlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYi1tb2RpZmllZCB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAudGFicy1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAuZWRpdG9yLW1lbnUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggOHB4OwogICAgICAgIG1hcmdpbi1yaWdodDogNHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMsIGJhY2tncm91bmQgMC4xNXM7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuZWRpdG9yLW1lbnUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDgpIiwiaHNsKDAgMCUgMTAwJSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAzMnB4OwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICB9CgogICAgICAucHJvYmxlbXMtY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMzJweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgfQoKICAgICAgLnBhbmVsLXRhYnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDA7CiAgICAgIH0KCiAgICAgIC5wYW5lbC10YWIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1NSUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnBhbmVsLXRhYjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgNzUlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgIH0KCiAgICAgIC5wYW5lbC10YWIuYWN0aXZlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNTAlKSIsImhzbCgyMTAgMTAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAucGFuZWwtdGFiLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG1pbi13aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgcGFkZGluZzogMCA1cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA0NSUpIil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLnBhbmVsLXRhYi1iYWRnZS53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDQwIDcwJSA1MCUpIiwiaHNsKDQwIDcwJSA0NSUpIil9OwogICAgICB9CgogICAgICAucGFuZWwtdGFiLWJhZGdlLm5vbmUgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtcy1saXN0IHsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgfQoKICAgICAgLnByb2JsZW0taXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgODAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTsKICAgICAgfQoKICAgICAgLnByb2JsZW0taXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICB9CgogICAgICAucHJvYmxlbS1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLWljb24uZXJyb3IgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnByb2JsZW0taWNvbi53YXJuaW5nIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCg0MCA3MCUgNTAlKSIsImhzbCg0MCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnByb2JsZW0tZGV0YWlscyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLW1lc3NhZ2UgewogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLWxvY2F0aW9uIHsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtcy1lbXB0eSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTUlKSIsImhzbCgwIDAlIDUwJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1MCUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0KICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KICAgICAgfQoKICAgICAgLmluaXRpYWxpemluZyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmluaXRpYWxpemluZyBkZWVzLWljb24gewogICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIC5pbml0aWFsaXppbmcgZGVlcy13b3Jrc3BhY2UtdGVybWluYWwtcHJldmlldyB7CiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgICB3aWR0aDogODAlOwogICAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgICAgaGVpZ2h0OiAyMDBweDsKICAgICAgfQoKICAgICAgZGVlcy13b3Jrc3BhY2UtZmlsZXRyZWUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIGRlZXMtd29ya3NwYWNlLW1vbmFjbyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgfQoKICAgICAgZGVlcy13b3Jrc3BhY2UtdGVybWluYWwgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC8qIFJlc2l6ZSBoYW5kbGVzICovCiAgICAgIC5yZXNpemUtaGFuZGxlLXZlcnRpY2FsIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS12ZXJ0aWNhbDpob3ZlciwKICAgICAgLnJlc2l6ZS1oYW5kbGUtdmVydGljYWwuZHJhZ2dpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzU4YTZmZiIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtdmVydGljYWw6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgbGVmdDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAgIHdpZHRoOiAycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZlNzY4MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLXZlcnRpY2FsOmhvdmVyOjphZnRlciwKICAgICAgLnJlc2l6ZS1oYW5kbGUtdmVydGljYWwuZHJhZ2dpbmc6OmFmdGVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbCB7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgY3Vyc29yOiByb3ctcmVzaXplOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLWhvcml6b250YWw6aG92ZXIsCiAgICAgIC5yZXNpemUtaGFuZGxlLWhvcml6b250YWwuZHJhZ2dpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzU4YTZmZiIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbDo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmU3NjgxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbDpob3Zlcjo6YWZ0ZXIsCiAgICAgIC5yZXNpemUtaGFuZGxlLWhvcml6b250YWwuZHJhZ2dpbmc6OmFmdGVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLyogUHJldmVudCB0ZXh0IHNlbGVjdGlvbiB3aGlsZSBkcmFnZ2luZyAqLwogICAgICAud29ya3NwYWNlLWNvbnRhaW5lci5kcmFnZ2luZyB7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2UtY29udGFpbmVyLmRyYWdnaW5nIC5maWxldHJlZS1wYW5lbCwKICAgICAgLndvcmtzcGFjZS1jb250YWluZXIuZHJhZ2dpbmcgLmVkaXRvci1wYW5lbCwKICAgICAgLndvcmtzcGFjZS1jb250YWluZXIuZHJhZ2dpbmcgLnRlcm1pbmFsLXBhbmVsIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgIGBdO3JlbmRlcigpe2xldCBmZT1bIndvcmtzcGFjZS1jb250YWluZXIiLHRoaXMuaXNEcmFnZ2luZ0ZpbGVUcmVlfHx0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbD8iZHJhZ2dpbmciOiIiXS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpO3JldHVybiB0aGlzLmlzSW5pdGlhbGl6aW5nP3dgCiAgICAgICAgPGRpdiBjbGFzcz0iaW5pdGlhbGl6aW5nIj4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmxvYWRlcjIifSBpY29uU2l6ZT0iMzIiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+SW5pdGlhbGl6aW5nIHdvcmtzcGFjZS4uLjwvc3Bhbj4KICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3CiAgICAgICAgICAgIC5jb21tYW5kPSR7dGhpcy5pbml0Q29tbWFuZHx8IiJ9CiAgICAgICAgICAgIC5saW5lcz0ke3RoaXMuaW5pdE91dHB1dH0KICAgICAgICAgID48L2RlZXMtd29ya3NwYWNlLXRlcm1pbmFsLXByZXZpZXc+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0id29ya3NwYWNlLW91dGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSIke2ZlfSI+CiAgICAgICAgICA8IS0tIEZpbGV0cmVlIHBhbmVsIChmdWxsIGhlaWdodCkgLS0+CiAgICAgICAgICAke3RoaXMuc2hvd0ZpbGVUcmVlP3dgCiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBjbGFzcz0iZmlsZXRyZWUtcGFuZWwgJHt0aGlzLmlzRmlsZVRyZWVDb2xsYXBzZWQ/ImNvbGxhcHNlZCI6IiJ9IgogICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogJHt0aGlzLmlzRmlsZVRyZWVDb2xsYXBzZWQ/MDp0aGlzLmN1cnJlbnRGaWxlVHJlZVdpZHRofXB4IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRlZXMtd29ya3NwYWNlLWZpbGV0cmVlCiAgICAgICAgICAgICAgICAuZXhlY3V0aW9uRW52aXJvbm1lbnQ9JHt0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fQogICAgICAgICAgICAgICAgLnNlbGVjdGVkUGF0aD0ke3RoaXMuYWN0aXZlRmlsZVBhdGh9CiAgICAgICAgICAgICAgICBAZmlsZS1zZWxlY3Q9JHt0aGlzLmhhbmRsZUZpbGVTZWxlY3R9CiAgICAgICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtZmlsZXRyZWU+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAke3RoaXMuaXNGaWxlVHJlZUNvbGxhcHNlZD8iIjp3YAogICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJyZXNpemUtaGFuZGxlLXZlcnRpY2FsICR7dGhpcy5pc0RyYWdnaW5nRmlsZVRyZWU/ImRyYWdnaW5nIjoiIn0iCiAgICAgICAgICAgICAgICBAbW91c2Vkb3duPSR7dGhpcy5oYW5kbGVGaWxlVHJlZU1vdXNlRG93bn0KICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgIGB9CiAgICAgICAgICBgOiIifQoKICAgICAgICAgIDwhLS0gRWRpdG9yICsgVGVybWluYWwgYXJlYSAtLT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci1hcmVhIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yLXBhbmVsIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJzLWJhciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJzLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5vcGVuRmlsZXMubWFwKGJlPT53YAogICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0YWIgJHtiZS5wYXRoPT09dGhpcy5hY3RpdmVGaWxlUGF0aD8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5hY3RpdmF0ZUZpbGUoYmUucGF0aCl9CiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgJHtiZS5tb2RpZmllZD93YDxzcGFuIGNsYXNzPSJ0YWItbW9kaWZpZWQiPjwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYi1uYW1lIj4ke2JlLm5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYi1jbG9zZSIgQGNsaWNrPSR7RWU9PnRoaXMuY2xvc2VGaWxlKEVlLGJlLnBhdGgpfT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6eCJ9IGljb25TaXplPSIxMiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3ItbWVudS1idXR0b24iIEBjbGljaz0ke3RoaXMuc2hvd0VkaXRvck1lbnV9IHRpdGxlPSJFZGl0b3Igb3B0aW9ucyI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOm1vcmVWZXJ0aWNhbCJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3ItY29udGVudCI+CiAgICAgICAgICAgICAgICAke3RoaXMuc2hvd0RpZmZWaWV3JiZ0aGlzLmRpZmZWaWV3Q29uZmlnP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1kaWZmLWVkaXRvcgogICAgICAgICAgICAgICAgICAgIC5maWxlUGF0aD0ke3RoaXMuZGlmZlZpZXdDb25maWcuZmlsZVBhdGh9CiAgICAgICAgICAgICAgICAgICAgLm9yaWdpbmFsQ29udGVudD0ke3RoaXMuZGlmZlZpZXdDb25maWcub3JpZ2luYWxDb250ZW50fQogICAgICAgICAgICAgICAgICAgIC5tb2RpZmllZENvbnRlbnQ9JHt0aGlzLmRpZmZWaWV3Q29uZmlnLm1vZGlmaWVkQ29udGVudH0KICAgICAgICAgICAgICAgICAgICAubGFuZ3VhZ2U9JHt0aGlzLmRpZmZWaWV3Q29uZmlnLmxhbmd1YWdlfQogICAgICAgICAgICAgICAgICAgIEBkaWZmLXJlc29sdmVkPSR7dGhpcy5oYW5kbGVEaWZmUmVzb2x2ZWR9CiAgICAgICAgICAgICAgICAgICAgQGRpZmYtY2xvc2VkPSR7KCk9Pnt0aGlzLnNob3dEaWZmVmlldz0hMSx0aGlzLmRpZmZWaWV3Q29uZmlnPW51bGx9fQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXdvcmtzcGFjZS1kaWZmLWVkaXRvcj4KICAgICAgICAgICAgICAgIGA6dGhpcy5vcGVuRmlsZXMubGVuZ3RoPT09MD93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6ZmlsZUNvZGUifSBpY29uU2l6ZT0iNDgiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPlNlbGVjdCBhIGZpbGUgdG8gZWRpdDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tb25hY28KICAgICAgICAgICAgICAgICAgICAuZmlsZVBhdGg9JHt0aGlzLmFjdGl2ZUZpbGVQYXRofQogICAgICAgICAgICAgICAgICAgIC5jb250ZW50PSR7dGhpcy5nZXRBY3RpdmVGaWxlQ29udGVudCgpfQogICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZT0ke3RoaXMuZ2V0TGFuZ3VhZ2VGcm9tUGF0aCh0aGlzLmFjdGl2ZUZpbGVQYXRoKX0KICAgICAgICAgICAgICAgICAgICBAY29udGVudC1jaGFuZ2U9JHt0aGlzLmhhbmRsZUNvbnRlbnRDaGFuZ2V9CiAgICAgICAgICAgICAgICAgID48L2RlZXMtd29ya3NwYWNlLW1vbmFjbz4KICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRlZXMtYWN0aW9uYmFyPjwvZGVlcy1hY3Rpb25iYXI+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBIb3Jpem9udGFsIHJlc2l6ZSBoYW5kbGUgZm9yIHRlcm1pbmFsIC0tPgogICAgICAgICAgICAke3RoaXMuc2hvd1Rlcm1pbmFsJiYhdGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkP3dgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9InJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbCAke3RoaXMuaXNEcmFnZ2luZ1Rlcm1pbmFsPyJkcmFnZ2luZyI6IiJ9IgogICAgICAgICAgICAgICAgQG1vdXNlZG93bj0ke3RoaXMuaGFuZGxlVGVybWluYWxNb3VzZURvd259CiAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICBgOiIifQoKICAgICAgICAgICAgPCEtLSBUZXJtaW5hbCBwYW5lbCAtLT4KICAgICAgICAgICAgJHt0aGlzLnNob3dUZXJtaW5hbD93YAogICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJ0ZXJtaW5hbC1wYW5lbCAke3RoaXMuaXNUZXJtaW5hbENvbGxhcHNlZD8iY29sbGFwc2VkIjoiIn0iCiAgICAgICAgICAgICAgICBzdHlsZT0iaGVpZ2h0OiAke3RoaXMuaXNUZXJtaW5hbENvbGxhcHNlZD8zMjp0aGlzLmN1cnJlbnRUZXJtaW5hbEhlaWdodH1weCIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1oZWFkZXIiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC10YWJzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icGFuZWwtdGFiICR7dGhpcy5hY3RpdmVCb3R0b21QYW5lbD09PSJ0ZXJtaW5hbCI/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuYWN0aXZlQm90dG9tUGFuZWw9InRlcm1pbmFsIn0KICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp0ZXJtaW5hbCJ9IGljb25TaXplPSIxNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICBUZXJtaW5hbAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwYW5lbC10YWIgJHt0aGlzLmFjdGl2ZUJvdHRvbVBhbmVsPT09InByb2JsZW1zIj8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5hY3RpdmVCb3R0b21QYW5lbD0icHJvYmxlbXMifQogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmNpcmNsZUFsZXJ0In0gaWNvblNpemU9IjE0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgIFByb2JsZW1zCiAgICAgICAgICAgICAgICAgICAgICAke3RoaXMuZGlhZ25vc3RpY01hcmtlcnMubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBhbmVsLXRhYi1iYWRnZSAke3RoaXMuZ2V0RXJyb3JDb3VudCgpPT09MD8id2FybmluZyI6IiJ9Ij4ke3RoaXMuZGlhZ25vc3RpY01hcmtlcnMubGVuZ3RofTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1oZWFkZXItYWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYWN0aW9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZVRlcm1pbmFsfT4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24KICAgICAgICAgICAgICAgICAgICAgICAgLmljb249JHt0aGlzLmlzVGVybWluYWxDb2xsYXBzZWQ/Imx1Y2lkZTpjaGV2cm9uVXAiOiJsdWNpZGU6Y2hldnJvbkRvd24ifQogICAgICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZT0iMTQiCiAgICAgICAgICAgICAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1jb250ZW50IiBzdHlsZT0iZGlzcGxheTogJHt0aGlzLmFjdGl2ZUJvdHRvbVBhbmVsPT09InRlcm1pbmFsIj8iYmxvY2siOiJub25lIn0iPgogICAgICAgICAgICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtdGVybWluYWwKICAgICAgICAgICAgICAgICAgICAuZXhlY3V0aW9uRW52aXJvbm1lbnQ9JHt0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fQogICAgICAgICAgICAgICAgICAgIC5zZXR1cENvbW1hbmQ9JHsiIn0KICAgICAgICAgICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtdGVybWluYWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2JsZW1zLWNvbnRlbnQiIHN0eWxlPSJkaXNwbGF5OiAke3RoaXMuYWN0aXZlQm90dG9tUGFuZWw9PT0icHJvYmxlbXMiPyJibG9jayI6Im5vbmUifSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJQcm9ibGVtc1BhbmVsKCl9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIEJvdHRvbSBCYXIgKGZ1bGwgd2lkdGgpIC0tPgogICAgICAgIDxkZWVzLXdvcmtzcGFjZS1ib3R0b21iYXIKICAgICAgICAgIC5leGVjdXRpb25FbnZpcm9ubWVudD0ke3RoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR9CiAgICAgICAgICBAcnVuLXByb2Nlc3M9JHt0aGlzLmhhbmRsZVJ1blByb2Nlc3N9CiAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtYm90dG9tYmFyPgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMua2V5ZG93bkhhbmRsZXIpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLmtleWRvd25IYW5kbGVyKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZVVwKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZVVwKSx0aGlzLmF1dG9TYXZlSW50ZXJ2YWwmJihjbGVhckludGVydmFsKHRoaXMuYXV0b1NhdmVJbnRlcnZhbCksdGhpcy5hdXRvU2F2ZUludGVydmFsPW51bGwpLHRoaXMuc3RvcE5vZGVNb2R1bGVzV2F0Y2hlcigpLHRoaXMuc3RvcEFsbEZpbGVXYXRjaGVycygpfWFzeW5jIGZpcnN0VXBkYXRlZCgpe3RoaXMuY3VycmVudEZpbGVUcmVlV2lkdGg9dGhpcy5maWxlVHJlZVdpZHRoLHRoaXMuY3VycmVudFRlcm1pbmFsSGVpZ2h0PXRoaXMudGVybWluYWxIZWlnaHQsdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCYmYXdhaXQgdGhpcy5pbml0aWFsaXplV29ya3NwYWNlKCl9YXN5bmMgdXBkYXRlZChmZSl7ZmUuaGFzKCJleGVjdXRpb25FbnZpcm9ubWVudCIpJiZ0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiZhd2FpdCB0aGlzLmluaXRpYWxpemVXb3Jrc3BhY2UoKSx0aGlzLmFjdGlvbmJhckVsZW1lbnR8fCh0aGlzLmFjdGlvbmJhckVsZW1lbnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLXBhbmVsIGRlZXMtYWN0aW9uYmFyIikpfWFzeW5jIGluaXRpYWxpemVXb3Jrc3BhY2UoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiYhdGhpcy5pbml0aWFsaXphdGlvblN0YXJ0ZWQpe3RoaXMuaW5pdGlhbGl6YXRpb25TdGFydGVkPSEwLHRoaXMuaXNJbml0aWFsaXppbmc9ITA7dHJ5e3RoaXMuaW5pdGlhbGl6YXRpb25Qcm9taXNlP2F3YWl0IHRoaXMuaW5pdGlhbGl6YXRpb25Qcm9taXNlOnRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZHl8fGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuaW5pdCgpLGF3YWl0IHRoaXMuZXhlY3V0ZU9uSW5pdENvbW1hbmQoKX1jYXRjaChmZSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGluaXRpYWxpemUgd29ya3NwYWNlOiIsZmUpLHRoaXMuaW5pdGlhbGl6YXRpb25TdGFydGVkPSExfWZpbmFsbHl7dGhpcy5pc0luaXRpYWxpemluZz0hMX19fWFzeW5jIGV4ZWN1dGVPbkluaXRDb21tYW5kKCl7aWYodGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl0cnl7aWYoYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5leGlzdHMoIi9ucG1leHRyYS5qc29uIikpe2xldCBmZT1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKCIvbnBtZXh0cmEuanNvbiIpLEVlPUpTT04ucGFyc2UoZmUpPy5kZWVzRWRpdG9yV29ya3NwYWNlPy5vbkluaXQ7aWYoRWUmJnR5cGVvZiBFZT09InN0cmluZyIpe2NvbnNvbGUubG9nKCJFeGVjdXRpbmcgb25Jbml0IGNvbW1hbmQ6IixFZSksdGhpcy5pbml0Q29tbWFuZD1FZSx0aGlzLmluaXRPdXRwdXQ9W107bGV0W2Z0LC4uLm10XT1FZS5zcGxpdCgiICIpLEl0PWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuc3Bhd24oZnQsbXQpO0l0Lm91dHB1dC5waXBlVG8obmV3IFdyaXRhYmxlU3RyZWFtKHt3cml0ZTpzKEphPT57bGV0IHdzPUphLnNwbGl0KGAKYCk7Zm9yKGxldCBVZSBvZiB3cylVZSYmKHRoaXMuaW5pdE91dHB1dD1bLi4udGhpcy5pbml0T3V0cHV0LFVlXSl9LCJ3cml0ZSIpfSkpO2xldCBYYT1hd2FpdCBJdC5leGl0O2NvbnNvbGUubG9nKCJvbkluaXQgY29tbWFuZCBjb21wbGV0ZWQgd2l0aCBleGl0IGNvZGU6IixYYSksdGhpcy5pbml0T3V0cHV0PVsuLi50aGlzLmluaXRPdXRwdXQsIiIsYENvbW1hbmQgY29tcGxldGVkIHdpdGggZXhpdCBjb2RlOiAke1hhfWBdfX19Y2F0Y2goZmUpe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGV4ZWN1dGUgb25Jbml0IGNvbW1hbmQ6IixmZSl9fWFzeW5jIGluaXRpYWxpemVJbnRlbGxpU2Vuc2UoKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudHx8dGhpcy5pbnRlbGxpU2Vuc2VJbml0aWFsaXplZClyZXR1cm47bGV0IGZlPXdpbmRvdy5tb25hY287aWYoZmV8fChhd2FpdCBuZXcgUHJvbWlzZShiZT0+c2V0VGltZW91dChiZSwxMDApKSxmZT13aW5kb3cubW9uYWNvKSwhZmUpe2NvbnNvbGUud2FybigiTW9uYWNvIG5vdCB5ZXQgbG9hZGVkLCBJbnRlbGxpU2Vuc2Ugd2lsbCBiZSBpbml0aWFsaXplZCBsYXRlciIpO3JldHVybn10aGlzLmludGVsbGlTZW5zZUluaXRpYWxpemVkPSEwLHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlcj1uZXcgcEcsYXdhaXQgdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyLmluaXQoZmUsdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCksdGhpcy5zZXR1cE1hcmtlckxpc3RlbmVyKCksdGhpcy5zdGFydE5vZGVNb2R1bGVzV2F0Y2hlcigpLGF3YWl0IHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlci5zY2FuQW5kTG9hZE5ld1BhY2thZ2VUeXBlcygpfXN0YXJ0Tm9kZU1vZHVsZXNXYXRjaGVyKCl7aWYoISghdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudHx8dGhpcy5ub2RlTW9kdWxlc1dhdGNoZXIpKXRyeXt0aGlzLm5vZGVNb2R1bGVzV2F0Y2hlcj10aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndhdGNoKCIvbm9kZV9tb2R1bGVzIiwoZmUsYmUpPT57dGhpcy5ub2RlTW9kdWxlc0RlYm91bmNlVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQpLHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQ9c2V0VGltZW91dChhc3luYygpPT57dGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyJiZhd2FpdCB0aGlzLmludGVsbGlTZW5zZU1hbmFnZXIuc2NhbkFuZExvYWROZXdQYWNrYWdlVHlwZXMoKX0sMmUzKX0se3JlY3Vyc2l2ZTohMH0pfWNhdGNoKGZlKXtjb25zb2xlLndhcm4oIkNvdWxkIG5vdCB3YXRjaCBub2RlX21vZHVsZXM6IixmZSl9fXN0b3BOb2RlTW9kdWxlc1dhdGNoZXIoKXt0aGlzLm5vZGVNb2R1bGVzV2F0Y2hlciYmKHRoaXMubm9kZU1vZHVsZXNXYXRjaGVyLnN0b3AoKSx0aGlzLm5vZGVNb2R1bGVzV2F0Y2hlcj1udWxsKSx0aGlzLm5vZGVNb2R1bGVzRGVib3VuY2VUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQpLHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQ9bnVsbCl9c3RhcnRXYXRjaGluZ0ZpbGUoZmUpe2lmKCEoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fHRoaXMub3BlbkZpbGVXYXRjaGVycy5oYXMoZmUpKSl0cnl7bGV0IGJlPXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud2F0Y2goZmUsKEVlLGZ0KT0+e2xldCBtdD10aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5nZXQoZmUpO210JiZjbGVhclRpbWVvdXQobXQpO2xldCBJdD1zZXRUaW1lb3V0KCgpPT57dGhpcy5oYW5kbGVFeHRlcm5hbEZpbGVDaGFuZ2UoZmUpLHRoaXMuZmlsZUNoYW5nZURlYm91bmNlLmRlbGV0ZShmZSl9LDMwMCk7dGhpcy5maWxlQ2hhbmdlRGVib3VuY2Uuc2V0KGZlLEl0KX0pO3RoaXMub3BlbkZpbGVXYXRjaGVycy5zZXQoZmUsYmUpfWNhdGNoKGJlKXtjb25zb2xlLndhcm4oYENvdWxkIG5vdCB3YXRjaCBmaWxlICR7ZmV9OmAsYmUpfX1zdG9wV2F0Y2hpbmdGaWxlKGZlKXtsZXQgYmU9dGhpcy5vcGVuRmlsZVdhdGNoZXJzLmdldChmZSk7YmUmJihiZS5zdG9wKCksdGhpcy5vcGVuRmlsZVdhdGNoZXJzLmRlbGV0ZShmZSkpO2xldCBFZT10aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5nZXQoZmUpO0VlJiYoY2xlYXJUaW1lb3V0KEVlKSx0aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5kZWxldGUoZmUpKX1zdG9wQWxsRmlsZVdhdGNoZXJzKCl7Zm9yKGxldCBmZSBvZiB0aGlzLm9wZW5GaWxlV2F0Y2hlcnMudmFsdWVzKCkpZmUuc3RvcCgpO3RoaXMub3BlbkZpbGVXYXRjaGVycy5jbGVhcigpO2ZvcihsZXQgZmUgb2YgdGhpcy5maWxlQ2hhbmdlRGVib3VuY2UudmFsdWVzKCkpY2xlYXJUaW1lb3V0KGZlKTt0aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5jbGVhcigpfWFzeW5jIGhhbmRsZUV4dGVybmFsRmlsZUNoYW5nZShmZSl7bGV0IGJlPXRoaXMub3BlbkZpbGVzLmZpbmQoRWU9PkVlLnBhdGg9PT1mZSk7aWYoISghYmV8fCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KSl0cnl7bGV0IEVlPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUoZmUpO2lmKEVlPT09YmUuY29udGVudClyZXR1cm47aWYoYmUubW9kaWZpZWQpe2xldCBmdD1hd2FpdCB0aGlzLmFjdGlvbmJhckVsZW1lbnQ/LnNob3coe21lc3NhZ2U6YCIke2JlLm5hbWV9IiBjaGFuZ2VkIG9uIGRpc2suIFdoYXQgZG8geW91IHdhbnQgdG8gZG8/YCx0eXBlOiJxdWVzdGlvbiIsaWNvbjoibHVjaWRlOmdpdE1lcmdlIixhY3Rpb25zOlt7aWQ6ImxvYWQtZGlzayIsbGFiZWw6IkxvYWQgZnJvbSBEaXNrIixwcmltYXJ5OiEwfSx7aWQ6InNhdmUtbG9jYWwiLGxhYmVsOiJTYXZlIExvY2FsIHRvIERpc2sifSx7aWQ6ImNvbXBhcmUiLGxhYmVsOiJDb21wYXJlIn1dLHRpbWVvdXQ6e2R1cmF0aW9uOjE1ZTMsZGVmYXVsdEFjdGlvbklkOiJsb2FkLWRpc2sifSxkaXNtaXNzaWJsZTohMH0pO2Z0Py5hY3Rpb25JZD09PSJsb2FkLWRpc2siP2F3YWl0IHRoaXMudXBkYXRlRmlsZUNvbnRlbnQoZmUsRWUsITEpOmZ0Py5hY3Rpb25JZD09PSJzYXZlLWxvY2FsIj8oYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoZmUsYmUuY29udGVudCksdGhpcy5vcGVuRmlsZXM9dGhpcy5vcGVuRmlsZXMubWFwKG10PT5tdC5wYXRoPT09ZmU/ey4uLm10LG1vZGlmaWVkOiExfTptdCkpOmZ0Py5hY3Rpb25JZD09PSJjb21wYXJlIiYmdGhpcy5vcGVuRGlmZlZpZXcoZmUsYmUuY29udGVudCxFZSl9ZWxzZSBhd2FpdCB0aGlzLnVwZGF0ZUZpbGVDb250ZW50KGZlLEVlLCEwKX1jYXRjaChFZSl7Y29uc29sZS53YXJuKGBGYWlsZWQgdG8gaGFuZGxlIGV4dGVybmFsIGNoYW5nZSBmb3IgJHtmZX06YCxFZSl9fWFzeW5jIHVwZGF0ZUZpbGVDb250ZW50KGZlLGJlLEVlKXtpZih0aGlzLm9wZW5GaWxlcz10aGlzLm9wZW5GaWxlcy5tYXAoZnQ9PmZ0LnBhdGg9PT1mZT97Li4uZnQsY29udGVudDpiZSxtb2RpZmllZDohMX06ZnQpLGZlPT09dGhpcy5hY3RpdmVGaWxlUGF0aCl7bGV0IGZ0PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtbW9uYWNvIik7ZnQmJmF3YWl0IGZ0LnNldENvbnRlbnRFeHRlcm5hbChiZSxFZSl9fW9wZW5EaWZmVmlldyhmZSxiZSxFZSl7dGhpcy5kaWZmVmlld0NvbmZpZz17ZmlsZVBhdGg6ZmUsb3JpZ2luYWxDb250ZW50OkVlLG1vZGlmaWVkQ29udGVudDpiZSxsYW5ndWFnZTp0aGlzLmdldExhbmd1YWdlRnJvbVBhdGgoZmUpfSx0aGlzLnNob3dEaWZmVmlldz0hMH1hc3luYyBoYW5kbGVEaWZmUmVzb2x2ZWQoZmUpe2xldHthY3Rpb246YmUsY29udGVudDpFZX09ZmUuZGV0YWlsLGZ0PXRoaXMuZGlmZlZpZXdDb25maWc/LmZpbGVQYXRoO2lmKCFmdHx8IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpe3RoaXMuc2hvd0RpZmZWaWV3PSExLHRoaXMuZGlmZlZpZXdDb25maWc9bnVsbDtyZXR1cm59aWYoYmU9PT0idXNlLWxvY2FsIil7aWYoYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoZnQsRWUpLHRoaXMub3BlbkZpbGVzPXRoaXMub3BlbkZpbGVzLm1hcChtdD0+bXQucGF0aD09PWZ0P3suLi5tdCxjb250ZW50OkVlLG1vZGlmaWVkOiExfTptdCksZnQ9PT10aGlzLmFjdGl2ZUZpbGVQYXRoKXtsZXQgbXQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKTttdCYmYXdhaXQgbXQuc2V0Q29udGVudEV4dGVybmFsKEVlLCExKX19ZWxzZSBiZT09PSJ1c2UtZGlzayImJmF3YWl0IHRoaXMudXBkYXRlRmlsZUNvbnRlbnQoZnQsRWUsITEpO3RoaXMuc2hvd0RpZmZWaWV3PSExLHRoaXMuZGlmZlZpZXdDb25maWc9bnVsbH1hc3luYyBoYW5kbGVGaWxlU2VsZWN0KGZlKXtsZXR7cGF0aDpiZSxuYW1lOkVlfT1mZS5kZXRhaWw7YXdhaXQgdGhpcy5vcGVuRmlsZShiZSxFZSl9YXN5bmMgb3BlbkZpbGUoZmUsYmUpe2lmKHRoaXMub3BlbkZpbGVzLmZpbmQoZnQ9PmZ0LnBhdGg9PT1mZSkpe3RoaXMuYWN0aXZlRmlsZVBhdGg9ZmU7cmV0dXJufWlmKHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpdHJ5e2xldCBmdD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKGZlKTtpZih0aGlzLm9wZW5GaWxlcz1bLi4udGhpcy5vcGVuRmlsZXMse3BhdGg6ZmUsbmFtZTpiZSxjb250ZW50OmZ0LG1vZGlmaWVkOiExfV0sdGhpcy5hY3RpdmVGaWxlUGF0aD1mZSx0aGlzLnN0YXJ0V2F0Y2hpbmdGaWxlKGZlKSwhdGhpcy5pbnRlbGxpU2Vuc2VJbml0aWFsaXplZCl7YXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCBuZXcgUHJvbWlzZShJdD0+c2V0VGltZW91dChJdCw1MDApKSxhd2FpdCB0aGlzLmluaXRpYWxpemVJbnRlbGxpU2Vuc2UoKTtsZXQgbXQ9dGhpcy5nZXRMYW5ndWFnZUZyb21QYXRoKGZlKTt0aGlzLmludGVsbGlTZW5zZU1hbmFnZXImJihtdD09PSJ0eXBlc2NyaXB0Inx8bXQ9PT0iamF2YXNjcmlwdCIpJiZhd2FpdCB0aGlzLmludGVsbGlTZW5zZU1hbmFnZXIucHJvY2Vzc0NvbnRlbnRDaGFuZ2UoZnQpfX1jYXRjaChmdCl7Y29uc29sZS5lcnJvcihgRmFpbGVkIHRvIG9wZW4gZmlsZSAke2ZlfTpgLGZ0KX19YWN0aXZhdGVGaWxlKGZlKXt0aGlzLmFjdGl2ZUZpbGVQYXRoPWZlfWNsb3NlRmlsZShmZSxiZSl7ZmUuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IEVlPXRoaXMub3BlbkZpbGVzLmZpbmRJbmRleChtdD0+bXQucGF0aD09PWJlKTtpZihFZT09PS0xKXJldHVybjtsZXQgZnQ9dGhpcy5vcGVuRmlsZXNbRWVdO2lmKCEoZnQubW9kaWZpZWQmJiFjb25maXJtKGAke2Z0Lm5hbWV9IGhhcyB1bnNhdmVkIGNoYW5nZXMuIENsb3NlIGFueXdheT9gKSkmJih0aGlzLnN0b3BXYXRjaGluZ0ZpbGUoYmUpLHRoaXMub3BlbkZpbGVzPXRoaXMub3BlbkZpbGVzLmZpbHRlcihtdD0+bXQucGF0aCE9PWJlKSx0aGlzLmFjdGl2ZUZpbGVQYXRoPT09YmUpKWlmKHRoaXMub3BlbkZpbGVzLmxlbmd0aD4wKXtsZXQgbXQ9TWF0aC5taW4oRWUsdGhpcy5vcGVuRmlsZXMubGVuZ3RoLTEpO3RoaXMuYWN0aXZlRmlsZVBhdGg9dGhpcy5vcGVuRmlsZXNbbXRdLnBhdGh9ZWxzZSB0aGlzLmFjdGl2ZUZpbGVQYXRoPSIifWdldEFjdGl2ZUZpbGVDb250ZW50KCl7cmV0dXJuIHRoaXMub3BlbkZpbGVzLmZpbmQoYmU9PmJlLnBhdGg9PT10aGlzLmFjdGl2ZUZpbGVQYXRoKT8uY29udGVudHx8IiJ9aGFuZGxlQ29udGVudENoYW5nZShmZSl7bGV0IGJlPWZlLmRldGFpbCxFZT10aGlzLm9wZW5GaWxlcy5maW5kSW5kZXgobXQ9Pm10LnBhdGg9PT10aGlzLmFjdGl2ZUZpbGVQYXRoKTtpZihFZT09PS0xKXJldHVybjtsZXQgZnQ9dGhpcy5vcGVuRmlsZXNbRWVdO2lmKGZ0LmNvbnRlbnQhPT1iZSl7dGhpcy5vcGVuRmlsZXM9Wy4uLnRoaXMub3BlbkZpbGVzLnNsaWNlKDAsRWUpLHsuLi5mdCxjb250ZW50OmJlLG1vZGlmaWVkOiEwfSwuLi50aGlzLm9wZW5GaWxlcy5zbGljZShFZSsxKV07bGV0IG10PXRoaXMuZ2V0TGFuZ3VhZ2VGcm9tUGF0aCh0aGlzLmFjdGl2ZUZpbGVQYXRoKTt0aGlzLmludGVsbGlTZW5zZU1hbmFnZXImJihtdD09PSJ0eXBlc2NyaXB0Inx8bXQ9PT0iamF2YXNjcmlwdCIpJiYodGhpcy5pbnRlbGxpU2Vuc2VEZWJvdW5jZVRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLmludGVsbGlTZW5zZURlYm91bmNlVGltZW91dCksdGhpcy5pbnRlbGxpU2Vuc2VEZWJvdW5jZVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuaW50ZWxsaVNlbnNlTWFuYWdlcj8ucHJvY2Vzc0NvbnRlbnRDaGFuZ2UoYmUpfSw1MDApKX19Z2V0TGFuZ3VhZ2VGcm9tUGF0aChmZSl7bGV0IGJlPWZlLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCk7cmV0dXJue3RzOiJ0eXBlc2NyaXB0Iix0c3g6InR5cGVzY3JpcHQiLGpzOiJqYXZhc2NyaXB0Iixqc3g6ImphdmFzY3JpcHQiLGpzb246Impzb24iLGh0bWw6Imh0bWwiLGNzczoiY3NzIixzY3NzOiJzY3NzIixsZXNzOiJsZXNzIixtZDoibWFya2Rvd24iLHlhbWw6InlhbWwiLHltbDoieWFtbCIseG1sOiJ4bWwiLHNxbDoic3FsIixweToicHl0aG9uIixzaDoic2hlbGwiLGJhc2g6InNoZWxsIn1bYmV8fCIiXXx8InBsYWludGV4dCJ9dG9nZ2xlVGVybWluYWwoKXt0aGlzLmlzVGVybWluYWxDb2xsYXBzZWQ9IXRoaXMuaXNUZXJtaW5hbENvbGxhcHNlZH1hc3luYyBzYXZlQWN0aXZlRmlsZSgpe2xldCBmZT10aGlzLm9wZW5GaWxlcy5maW5kKGJlPT5iZS5wYXRoPT09dGhpcy5hY3RpdmVGaWxlUGF0aCk7aWYoISghZmV8fCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KSl0cnl7YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoZmUucGF0aCxmZS5jb250ZW50KSx0aGlzLm9wZW5GaWxlcz10aGlzLm9wZW5GaWxlcy5tYXAoYmU9PmJlLnBhdGg9PT1mZS5wYXRoP3suLi5iZSxtb2RpZmllZDohMX06YmUpLHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlciYmdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyLmFkZEZpbGVNb2RlbChmZS5wYXRoLGZlLmNvbnRlbnQpfWNhdGNoKGJlKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc2F2ZSBmaWxlOiIsYmUpfX1hc3luYyBzYXZlQWxsRmlsZXMoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXtmb3IobGV0IGZlIG9mIHRoaXMub3BlbkZpbGVzLmZpbHRlcihiZT0+YmUubW9kaWZpZWQpKXRyeXthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShmZS5wYXRoLGZlLmNvbnRlbnQpLHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlciYmdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyLmFkZEZpbGVNb2RlbChmZS5wYXRoLGZlLmNvbnRlbnQpfWNhdGNoKGJlKXtjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gc2F2ZSAke2ZlLnBhdGh9OmAsYmUpfXRoaXMub3BlbkZpbGVzPXRoaXMub3BlbkZpbGVzLm1hcChmZT0+KHsuLi5mZSxtb2RpZmllZDohMX0pKX19YXN5bmMgc2hvd0VkaXRvck1lbnUoZmUpe2ZlLnN0b3BQcm9wYWdhdGlvbigpO2xldCBiZT1be25hbWU6dGhpcy5hdXRvU2F2ZT8iXHUyNzEzIEF1dG8gU2F2ZSI6IkF1dG8gU2F2ZSIsaWNvbk5hbWU6Imx1Y2lkZTpzYXZlIixhY3Rpb246cyhhc3luYygpPT50aGlzLnRvZ2dsZUF1dG9TYXZlKCksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlNhdmUiLGljb25OYW1lOiJsdWNpZGU6c2F2ZSIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5zYXZlQWN0aXZlRmlsZSgpLCJhY3Rpb24iKX0se25hbWU6IlNhdmUgQWxsIixpY29uTmFtZToibHVjaWRlOnNhdmUiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMuc2F2ZUFsbEZpbGVzKCksImFjdGlvbiIpfV07YXdhaXQgdGEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoZmUsYmUpfXRvZ2dsZUF1dG9TYXZlKCl7dGhpcy5hdXRvU2F2ZT0hdGhpcy5hdXRvU2F2ZSx0aGlzLmF1dG9TYXZlP3RoaXMuYXV0b1NhdmVJbnRlcnZhbD1zZXRJbnRlcnZhbCgoKT0+e3RoaXMub3BlbkZpbGVzLnNvbWUoYmU9PmJlLm1vZGlmaWVkKSYmdGhpcy5zYXZlQWxsRmlsZXMoKX0sMmUzKTp0aGlzLmF1dG9TYXZlSW50ZXJ2YWwmJihjbGVhckludGVydmFsKHRoaXMuYXV0b1NhdmVJbnRlcnZhbCksdGhpcy5hdXRvU2F2ZUludGVydmFsPW51bGwpfWdldEVycm9yQ291bnQoKXtyZXR1cm4gdGhpcy5kaWFnbm9zdGljTWFya2Vycy5maWx0ZXIoZmU9PmZlLnNldmVyaXR5PT09OCkubGVuZ3RofXJlbmRlclByb2JsZW1zUGFuZWwoKXtyZXR1cm4gdGhpcy5kaWFnbm9zdGljTWFya2Vycy5sZW5ndGg9PT0wP3dgCiAgICAgICAgPGRpdiBjbGFzcz0icHJvYmxlbXMtZW1wdHkiPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Y2hlY2tDaXJjbGUifSBpY29uU2l6ZT0iMjQiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+Tm8gcHJvYmxlbXMgZGV0ZWN0ZWQ8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0icHJvYmxlbXMtbGlzdCI+CiAgICAgICAgJHt0aGlzLmRpYWdub3N0aWNNYXJrZXJzLm1hcChmZT0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InByb2JsZW0taXRlbSIgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVUb1Byb2JsZW0oZmUpfT4KICAgICAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgICAgIGNsYXNzPSJwcm9ibGVtLWljb24gJHtmZS5zZXZlcml0eT09PTg/ImVycm9yIjoid2FybmluZyJ9IgogICAgICAgICAgICAgIC5pY29uPSR7ZmUuc2V2ZXJpdHk9PT04PyJsdWNpZGU6Y2lyY2xlWCI6Imx1Y2lkZTp0cmlhbmdsZUFsZXJ0In0KICAgICAgICAgICAgICBpY29uU2l6ZT0iMTQiCiAgICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvYmxlbS1kZXRhaWxzIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ibGVtLW1lc3NhZ2UiPiR7ZmUubWVzc2FnZX08L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ibGVtLWxvY2F0aW9uIj4KICAgICAgICAgICAgICAgICR7ZmUucmVzb3VyY2UucGF0aC5zcGxpdCgiLyIpLnBvcCgpfSAoJHtmZS5zdGFydExpbmVOdW1iZXJ9LCAke2ZlLnN0YXJ0Q29sdW1ufSkKICAgICAgICAgICAgICAgICR7ZmUuc291cmNlP2BbJHtmZS5zb3VyY2V9XWA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBuYXZpZ2F0ZVRvUHJvYmxlbShmZSl7bGV0IGJlPWZlLnJlc291cmNlLnBhdGgsRWU9YmUuc3BsaXQoIi8iKS5wb3AoKXx8IiI7dGhpcy5vcGVuRmlsZXMuZmluZChJdD0+SXQucGF0aD09PWJlKT90aGlzLmFjdGl2ZUZpbGVQYXRoPWJlOmF3YWl0IHRoaXMub3BlbkZpbGUoYmUsRWUpLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7bGV0IG10PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtbW9uYWNvIik7aWYobXQpe2xldCBJdD1hd2FpdCBtdC5lZGl0b3JEZWZlcnJlZC5wcm9taXNlO0l0LnJldmVhbExpbmVJbkNlbnRlcihmZS5zdGFydExpbmVOdW1iZXIpLEl0LnNldFBvc2l0aW9uKHtsaW5lTnVtYmVyOmZlLnN0YXJ0TGluZU51bWJlcixjb2x1bW46ZmUuc3RhcnRDb2x1bW59KSxJdC5mb2N1cygpfX1zZXR1cE1hcmtlckxpc3RlbmVyKCl7bGV0IGZlPXdpbmRvdy5tb25hY287ZmUmJihmZS5lZGl0b3Iub25EaWRDaGFuZ2VNYXJrZXJzKGJlPT57dGhpcy51cGRhdGVEaWFnbm9zdGljTWFya2VycygpfSksdGhpcy51cGRhdGVEaWFnbm9zdGljTWFya2VycygpKX11cGRhdGVEaWFnbm9zdGljTWFya2Vycygpe2xldCBmZT13aW5kb3cubW9uYWNvO2lmKCFmZSlyZXR1cm47bGV0IGJlPWZlLmVkaXRvci5nZXRNb2RlbE1hcmtlcnMoe30pO3RoaXMuZGlhZ25vc3RpY01hcmtlcnM9YmUubWFwKEVlPT4oe21lc3NhZ2U6RWUubWVzc2FnZSxzZXZlcml0eTpFZS5zZXZlcml0eSxzdGFydExpbmVOdW1iZXI6RWUuc3RhcnRMaW5lTnVtYmVyLHN0YXJ0Q29sdW1uOkVlLnN0YXJ0Q29sdW1uLGVuZExpbmVOdW1iZXI6RWUuZW5kTGluZU51bWJlcixlbmRDb2x1bW46RWUuZW5kQ29sdW1uLHNvdXJjZTpFZS5zb3VyY2UscmVzb3VyY2U6e3BhdGg6RWUucmVzb3VyY2UucGF0aH19KSl9YXN5bmMgaGFuZGxlUnVuUHJvY2VzcyhmZSl7bGV0IGJlPWZlLmRldGFpbCxFZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLXRlcm1pbmFsIik7aWYoIUVlKXtjb25zb2xlLndhcm4oIlRlcm1pbmFsIGNvbXBvbmVudCBub3QgZm91bmQiKTtyZXR1cm59dGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkJiYodGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkPSExKSx0aGlzLmFjdGl2ZUJvdHRvbVBhbmVsPSJ0ZXJtaW5hbCIsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCBFZS5jcmVhdGVQcm9jZXNzVGFiKHt0eXBlOmJlLnR5cGUsbGFiZWw6YmUubGFiZWwsY29tbWFuZDpiZS5jb21tYW5kLGFyZ3M6YmUuYXJncyxtZXRhZGF0YTpiZS5tZXRhZGF0YSxzd2l0Y2hUb1RhYjohMH0pfXNldEZpbGVUcmVlV2lkdGgoZmUpe2xldCBFZT10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKi41O3RoaXMuY3VycmVudEZpbGVUcmVlV2lkdGg9TWF0aC5tYXgoMTUwLE1hdGgubWluKEVlLGZlKSksd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJyZXNpemUiKSl9c2V0VGVybWluYWxIZWlnaHQoZmUpe2xldCBFZT10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCouNzt0aGlzLmN1cnJlbnRUZXJtaW5hbEhlaWdodD1NYXRoLm1heCgxMDAsTWF0aC5taW4oRWUsZmUpKSx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX1yZXNldExheW91dCgpe3RoaXMuY3VycmVudEZpbGVUcmVlV2lkdGg9dGhpcy5maWxlVHJlZVdpZHRoLHRoaXMuY3VycmVudFRlcm1pbmFsSGVpZ2h0PXRoaXMudGVybWluYWxIZWlnaHQsd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJyZXNpemUiKSl9c3RhdGlje3F0KHIsdCl9fTtyZXR1cm4gUmU9cn0pKCl9KTt2YXIgWjZhPWYoKCk9PntLNmEoKTtrSmUoKX0pO3ZhciBYNmE9ZigoKT0+e0NmKCl9KTt2YXIgUTZhPWYoKCk9PntkaWUoKX0pO3ZhciBKNmE9ZigoKT0+e30pO3ZhciBldWE9ZigoKT0+e2RHKCk7SjZhKCk7ZkplKCl9KTt2YXIgdHVhPWYoKCk9Pnt3SmUoKX0pO3ZhciBmRyxOYyxTZG8sYXVhLHJ1YT1mKCgpPT57bGUoKTtRZSgpO0NmKCk7Zkc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LE5jPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxTZG89QXQucGx1Z2lucy5zbWFydHByb21pc2UuZGVmZXIoKSxhdWE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93biIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzV29ya3NwYWNlTWFya2Rvd24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgaz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk51bWJlcn0pXSxkPVskKHt0eXBlOk51bWJlcn0pXSx1PVtLKCldLHg9W0soKV0sZkcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzcGxpdFJhdGlvIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJzcGxpdFJhdGlvImluIEMsImhhcyIpLGdldDpzKEM9PkMuc3BsaXRSYXRpbywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnNwbGl0UmF0aW89Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLGZHKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluUGFuZWxTaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJtaW5QYW5lbFNpemUiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5taW5QYW5lbFNpemUsImdldCIpLHNldDpzKChDLE4pPT57Qy5taW5QYW5lbFNpemU9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLGZHKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFNwbGl0UmF0aW8iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImN1cnJlbnRTcGxpdFJhdGlvImluIEMsImhhcyIpLGdldDpzKEM9PkMuY3VycmVudFNwbGl0UmF0aW8sImdldCIpLHNldDpzKChDLE4pPT57Qy5jdXJyZW50U3BsaXRSYXRpbz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG0sdiksZkcodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0RyYWdnaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJpc0RyYWdnaW5nImluIEMsImhhcyIpLGdldDpzKEM9PkMuaXNEcmFnZ2luZywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmlzRHJhZ2dpbmc9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxiLGcpLGZHKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmt9LG51bGwsdCkseT1yPWUudmFsdWUsayYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTprfSl9c3RhdGljIGRlbW89cygoKT0+d2A8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd24+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bj5gLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJXb3Jrc3BhY2UiXTtzdGF0aWMgc3R5bGVzPVtQZSxoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5zcGxpdENvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgIH0KCiAgICAgIC5lZGl0b3JDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgbWluLXdpZHRoOiAxMDBweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucmVzaXplSGFuZGxlIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMDM2M2QiKX07CiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5yZXNpemVIYW5kbGU6aG92ZXIsCiAgICAgIC5yZXNpemVIYW5kbGUuZHJhZ2dpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzU4YTZmZiIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZUhhbmRsZTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgd2lkdGg6IDJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmU3NjgxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgIH0KCiAgICAgIC5yZXNpemVIYW5kbGU6aG92ZXI6OmFmdGVyLAogICAgICAucmVzaXplSGFuZGxlLmRyYWdnaW5nOjphZnRlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjZmZmZmZmIil9OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5vdXRsZXRDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgbWluLXdpZHRoOiAxMDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwZDExMTciKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjQyOTJmIiwiI2U2ZWRmMyIpfTsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnTm90byBTYW5zJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLyogUHJldmVudCB0ZXh0IHNlbGVjdGlvbiB3aGlsZSBkcmFnZ2luZyAqLwogICAgICAuc3BsaXRDb250YWluZXIuZHJhZ2dpbmcgewogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAuc3BsaXRDb250YWluZXIuZHJhZ2dpbmcgLmVkaXRvckNvbnRhaW5lciwKICAgICAgLnNwbGl0Q29udGFpbmVyLmRyYWdnaW5nIC5vdXRsZXRDb250YWluZXIgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICBgXTsjZT1OYyh0aGlzLG4sNTApO2dldCBzcGxpdFJhdGlvKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNwbGl0UmF0aW8oayl7dGhpcy4jZT1rfSN0PShOYyh0aGlzLGwpLE5jKHRoaXMsYywxMCkpO2dldCBtaW5QYW5lbFNpemUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbWluUGFuZWxTaXplKGspe3RoaXMuI3Q9a30jYT0oTmModGhpcyxwKSxOYyh0aGlzLG0sNTApKTtnZXQgY3VycmVudFNwbGl0UmF0aW8oKXtyZXR1cm4gdGhpcy4jYX1zZXQgY3VycmVudFNwbGl0UmF0aW8oayl7dGhpcy4jYT1rfSNyPShOYyh0aGlzLHYpLE5jKHRoaXMsYiwhMSkpO2dldCBpc0RyYWdnaW5nKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGlzRHJhZ2dpbmcoayl7dGhpcy4jcj1rfXJlc2l6ZUhhbmRsZUVsZW1lbnQ9TmModGhpcyxnKTtjb250YWluZXJFbGVtZW50O3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJzcGxpdENvbnRhaW5lciAke3RoaXMuaXNEcmFnZ2luZz8iZHJhZ2dpbmciOiIifSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yQ29udGFpbmVyIiBzdHlsZT0id2lkdGg6ICR7dGhpcy5jdXJyZW50U3BsaXRSYXRpb30lIj4KICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tb25hY28KICAgICAgICAgICAgLmxhbmd1YWdlPSR7Im1hcmtkb3duIn0KICAgICAgICAgICAgLmNvbnRlbnQ9JHtgIyBhIHRlc3QgY29udGVudAoKVGhpcyBpcyB0ZXN0IGNvbnRlbnQgdGhhdCBpcyBvZiBsb25nZXIgZm9ybSBhbiBob3BlZnVsbHkgc3RhcnRzIHRvIHdyYXAgd2hlbiBJIG5lZWQgaXQuIEFuZCB5ZXMsIGl0IGRvZXMgcGVyZmVjdGx5LiBuaWNlLgoKVGVzdCB8IEhlbGxvCi0tLSB8IC0tLQpZZWFoIHwgU28gZ29vZAoKVGhpcyBpcyByZWFsIGFzc2V0IEkgdGhpbmsuIFdoeSB3b3VsZCB3ZSB3YW50IHRvIGxlYXZlIHRoYXQgb24gdGhlIHRhYmxlPyBDYW4geW91IHRlbGwgbXkgdGhhdD8KCldoeSBhcmUgd2UgaGVyZT8KCkRvIHlvdSBrbm93PwoKPiBub3RlOgpUaGVyZSBpcyBzb21ldGhpbmcgZ29pbmcgb24uCgpcYFxgXGB0eXBlc2NyaXB0CmNvbnN0IGhlbGxvID0gJ3llcycKXGBcYFxgCmB9CiAgICAgICAgICAgIHdvcmRXcmFwPSJib3VuZGVkIgogICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtbW9uYWNvPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJyZXNpemVIYW5kbGUgJHt0aGlzLmlzRHJhZ2dpbmc/ImRyYWdnaW5nIjoiIn0iCiAgICAgICAgICBAbW91c2Vkb3duPSR7dGhpcy5oYW5kbGVNb3VzZURvd259CiAgICAgICAgPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im91dGxldENvbnRhaW5lciIgc3R5bGU9IndpZHRoOiAkezEwMC10aGlzLmN1cnJlbnRTcGxpdFJhdGlvfSUiPgogICAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoayl7YXdhaXQgc3VwZXIuZmlyc3RVcGRhdGVkKGspLHRoaXMuY3VycmVudFNwbGl0UmF0aW89dGhpcy5zcGxpdFJhdGlvLHRoaXMuY29udGFpbmVyRWxlbWVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnNwbGl0Q29udGFpbmVyIiksdGhpcy5yZXNpemVIYW5kbGVFbGVtZW50PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIucmVzaXplSGFuZGxlIik7bGV0IEM9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpLE49dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iiksej1hd2FpdCBuZXcgQXQucGx1Z2lucy5zbWFydG1hcmtkb3duLlNtYXJ0TWFya2Rvd24oKS5nZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bigibG9hZGluZy4uLiIpO0MuY29udGVudFN1YmplY3Quc3Vic2NyaWJlKGFzeW5jIE89Pnthd2FpdCB6LnVwZGF0ZUZyb21NYXJrZG93blN0cmluZyhPKTtsZXQgVD16Lmh0bWw7Ti51cGRhdGVIdG1sVGV4dChUKX0pfWhhbmRsZU1vdXNlRG93bj1zKGs9PntrLnByZXZlbnREZWZhdWx0KCksdGhpcy5pc0RyYWdnaW5nPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVNb3VzZU1vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlTW91c2VVcCl9LCJoYW5kbGVNb3VzZURvd24iKTtoYW5kbGVNb3VzZU1vdmU9cyhrPT57aWYoIXRoaXMuaXNEcmFnZ2luZ3x8IXRoaXMuY29udGFpbmVyRWxlbWVudClyZXR1cm47bGV0IEM9dGhpcy5jb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLE49Qy53aWR0aCx6PShrLmNsaWVudFgtQy5sZWZ0KS9OKjEwMDt6PU1hdGgubWF4KHRoaXMubWluUGFuZWxTaXplLE1hdGgubWluKDEwMC10aGlzLm1pblBhbmVsU2l6ZSx6KSksdGhpcy5jdXJyZW50U3BsaXRSYXRpbz16fSwiaGFuZGxlTW91c2VNb3ZlIik7aGFuZGxlTW91c2VVcD1zKCgpPT57dGhpcy5pc0RyYWdnaW5nPSExLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlTW91c2VVcCksdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpJiZ3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX0sImhhbmRsZU1vdXNlVXAiKTthc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmhhbmRsZU1vdXNlTW92ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5oYW5kbGVNb3VzZVVwKX1zZXRTcGxpdFJhdGlvKGspe3RoaXMuY3VycmVudFNwbGl0UmF0aW89TWF0aC5tYXgodGhpcy5taW5QYW5lbFNpemUsTWF0aC5taW4oMTAwLXRoaXMubWluUGFuZWxTaXplLGspKX1yZXNldFNwbGl0UmF0aW8oKXt0aGlzLmN1cnJlbnRTcGxpdFJhdGlvPXRoaXMuc3BsaXRSYXRpb31zdGF0aWN7TmMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIHN1YT1mKCgpPT57cnVhKCl9KTt2YXIgaXVhLG91YT1mKCgpPT57bGUoKTtOYSgpO1lzKCk7aXVhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiA5MDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8IS0tIERlbW8gMTogSGVhZGluZ3MgLS0+CiAgICAgIDxkZWVzLXBhbmVsCiAgICAgICAgLnRpdGxlPSR7IkhlYWRpbmdzIn0KICAgICAgICAuc3VidGl0bGU9JHsiQWxsIGhlYWRpbmcgbGV2ZWxzIGZyb20gSDEgdG8gSDYifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPGgxPkhlYWRpbmcgTGV2ZWwgMTwvaDE+CiAgICAgICAgICAgIDxoMj5IZWFkaW5nIExldmVsIDI8L2gyPgogICAgICAgICAgICA8aDM+SGVhZGluZyBMZXZlbCAzPC9oMz4KICAgICAgICAgICAgPGg0PkhlYWRpbmcgTGV2ZWwgNDwvaDQ+CiAgICAgICAgICAgIDxoNT5IZWFkaW5nIExldmVsIDU8L2g1PgogICAgICAgICAgICA8aDY+SGVhZGluZyBMZXZlbCA2PC9oNj4KICAgICAgICAgIGApfX0KICAgICAgPgogICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD48L2RlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8IS0tIERlbW8gMjogVGV4dCBGb3JtYXR0aW5nIC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJUZXh0IEZvcm1hdHRpbmcifQogICAgICAgIC5zdWJ0aXRsZT0keyJCb2xkLCBpdGFsaWMsIGxpbmtzLCBjb2RlLCBhbmQga2V5Ym9hcmQgaW5wdXQifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPHA+VGhpcyBpcyBhIHBhcmFncmFwaCB3aXRoIDxzdHJvbmc+Ym9sZCB0ZXh0PC9zdHJvbmc+IGFuZCA8ZW0+aXRhbGljIHRleHQ8L2VtPi48L3A+CiAgICAgICAgICAgIDxwPllvdSBjYW4gYWxzbyB1c2UgPHN0cm9uZz48ZW0+Ym9sZCBpdGFsaWM8L2VtPjwvc3Ryb25nPiBmb3IgZW1waGFzaXMuPC9wPgogICAgICAgICAgICA8cD5IZXJlJ3MgYSA8YSBocmVmPSIjIj5saW5rIGV4YW1wbGU8L2E+IGFuZCBzb21lIDxjb2RlPmlubGluZSBjb2RlPC9jb2RlPi48L3A+CiAgICAgICAgICAgIDxwPlByZXNzIDxrYmQ+Q3RybDwva2JkPiArIDxrYmQ+Qzwva2JkPiB0byBjb3B5IHRleHQuPC9wPgogICAgICAgICAgICA8aHI+CiAgICAgICAgICAgIDxwPkFib3ZlIGlzIGEgaG9yaXpvbnRhbCBydWxlIHNlcGFyYXRvci48L3A+CiAgICAgICAgICBgKX19CiAgICAgID4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPCEtLSBEZW1vIDM6IExpc3RzIC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJMaXN0cyJ9CiAgICAgICAgLnN1YnRpdGxlPSR7Ik9yZGVyZWQsIHVub3JkZXJlZCwgYW5kIHRhc2sgbGlzdHMifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPGgzPlVub3JkZXJlZCBMaXN0PC9oMz4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgIDxsaT5GaXJzdCBpdGVtPC9saT4KICAgICAgICAgICAgICA8bGk+U2Vjb25kIGl0ZW0KICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgPGxpPk5lc3RlZCBpdGVtIDE8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+TmVzdGVkIGl0ZW0gMjwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgPGxpPlRoaXJkIGl0ZW08L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPGgzPk9yZGVyZWQgTGlzdDwvaDM+CiAgICAgICAgICAgIDxvbD4KICAgICAgICAgICAgICA8bGk+U3RlcCBvbmU8L2xpPgogICAgICAgICAgICAgIDxsaT5TdGVwIHR3bzwvbGk+CiAgICAgICAgICAgICAgPGxpPlN0ZXAgdGhyZWU8L2xpPgogICAgICAgICAgICA8L29sPgoKICAgICAgICAgICAgPGgzPlRhc2sgTGlzdDwvaDM+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGkgY2xhc3M9InRhc2stbGlzdC1pdGVtIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNoZWNrZWQgZGlzYWJsZWQ+IENvbXBsZXRlZCB0YXNrPC9saT4KICAgICAgICAgICAgICA8bGkgY2xhc3M9InRhc2stbGlzdC1pdGVtIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGRpc2FibGVkPiBQZW5kaW5nIHRhc2s8L2xpPgogICAgICAgICAgICAgIDxsaSBjbGFzcz0idGFzay1saXN0LWl0ZW0iPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgZGlzYWJsZWQ+IEFub3RoZXIgdGFzazwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICBgKX19CiAgICAgID4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPCEtLSBEZW1vIDQ6IENvZGUgQmxvY2tzIC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJDb2RlIEJsb2NrcyJ9CiAgICAgICAgLnN1YnRpdGxlPSR7IlN5bnRheCBoaWdobGlnaHRlZCBjb2RlIGV4YW1wbGVzIn0KICAgICAgICAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YXdhaXQgYS5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpPy51cGRhdGVIdG1sVGV4dChgCiAgICAgICAgICAgIDxwPklubGluZSBjb2RlOiA8Y29kZT5jb25zdCBncmVldGluZyA9ICJIZWxsbywgV29ybGQhIjs8L2NvZGU+PC9wPgoKICAgICAgICAgICAgPGgzPlR5cGVTY3JpcHQgRXhhbXBsZTwvaDM+CiAgICAgICAgICAgIDxwcmU+PGNvZGU+PHNwYW4gY2xhc3M9ImhsanMta2V5d29yZCI+aW1wb3J0PC9zcGFuPiB7IGh0bWwsIGNzcyB9IDxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmZyb208L3NwYW4+IDxzcGFuIGNsYXNzPSJobGpzLXN0cmluZyI+J0BkZXNpZ24uZXN0YXRlL2RlZXMtZWxlbWVudCc8L3NwYW4+OwoKPHNwYW4gY2xhc3M9ImhsanMta2V5d29yZCI+aW50ZXJmYWNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iaGxqcy10aXRsZSI+SVVzZXI8L3NwYW4+IHsKICA8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj5uYW1lPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPnN0cmluZzwvc3Bhbj47CiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+ZW1haWw8L3NwYW4+OiA8c3BhbiBjbGFzcz0iaGxqcy1idWlsdF9pbiI+c3RyaW5nPC9zcGFuPjsKICA8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj5hZ2U8L3NwYW4+PzogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPm51bWJlcjwvc3Bhbj47Cn0KCjxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmNvbnN0PC9zcGFuPiA8c3BhbiBjbGFzcz0iaGxqcy10aXRsZSI+Z2V0VXNlcjwvc3Bhbj4gPSA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5hc3luYzwvc3Bhbj4gKDxzcGFuIGNsYXNzPSJobGpzLWF0dHIiPmlkPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPnN0cmluZzwvc3Bhbj4pOiA8c3BhbiBjbGFzcz0iaGxqcy1idWlsdF9pbiI+UHJvbWlzZTwvc3Bhbj4mbHQ7SVVzZXImZ3Q7ID0mZ3Q7IHsKICA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5jb25zdDwvc3Bhbj4gcmVzcG9uc2UgPSA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5hd2FpdDwvc3Bhbj4gZmV0Y2goXGAvYXBpL3VzZXJzL1wke2lkfVxgKTsKICA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5yZXR1cm48L3NwYW4+IHJlc3BvbnNlLmpzb24oKTsKfTs8L2NvZGU+PC9wcmU+CgogICAgICAgICAgICA8aDM+SlNPTiBFeGFtcGxlPC9oMz4KICAgICAgICAgICAgPHByZT48Y29kZT57CiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+Im5hbWUiPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtc3RyaW5nIj4iZGVlcy1jYXRhbG9nIjwvc3Bhbj4sCiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+InZlcnNpb24iPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtc3RyaW5nIj4iMy4wLjAiPC9zcGFuPiwKICA8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj4iZGVwZW5kZW5jaWVzIjwvc3Bhbj46IHsKICAgIDxzcGFuIGNsYXNzPSJobGpzLWF0dHIiPiJAZGVzaWduLmVzdGF0ZS9kZWVzLWVsZW1lbnQiPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtc3RyaW5nIj4iXjIuMC4wIjwvc3Bhbj4KICB9Cn08L2NvZGU+PC9wcmU+CiAgICAgICAgICBgKX19CiAgICAgID4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPCEtLSBEZW1vIDU6IFRhYmxlcyAtLT4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiVGFibGVzIn0KICAgICAgICAuc3VidGl0bGU9JHsiU3R5bGVkIHRhYmxlcyB3aXRoIGFsdGVybmF0aW5nIHJvd3MifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPHRhYmxlPgogICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRoPkZlYXR1cmU8L3RoPgogICAgICAgICAgICAgICAgICA8dGg+U3RhdHVzPC90aD4KICAgICAgICAgICAgICAgICAgPHRoPlByaW9yaXR5PC90aD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0ZD5EYXJrIG1vZGUgc3VwcG9ydDwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5Db21wbGV0ZWQ8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+SGlnaDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+UmVzcG9uc2l2ZSBkZXNpZ248L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+SW4gUHJvZ3Jlc3M8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+TWVkaXVtPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0ZD5BY2Nlc3NpYmlsaXR5PC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPlBsYW5uZWQ8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+SGlnaDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+RG9jdW1lbnRhdGlvbjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5JbiBQcm9ncmVzczwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5Mb3c8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDwhLS0gRGVtbyA2OiBCbG9ja3F1b3RlcyAmIEFsZXJ0cyAtLT4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiQmxvY2txdW90ZXMgJiBBbGVydHMifQogICAgICAgIC5zdWJ0aXRsZT0keyJRdW90ZXMgYW5kIEdpdEh1Yi1zdHlsZSBhbGVydHMifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPGJsb2NrcXVvdGU+CiAgICAgICAgICAgICAgPHA+VGhpcyBpcyBhIHN0YW5kYXJkIGJsb2NrcXVvdGUuIEl0J3MgZ3JlYXQgZm9yIGhpZ2hsaWdodGluZyBpbXBvcnRhbnQgaW5mb3JtYXRpb24gb3IgcXVvdGVzIGZyb20gb3RoZXIgc291cmNlcy48L3A+CiAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWFsZXJ0IG1hcmtkb3duLWFsZXJ0LW5vdGUiPgogICAgICAgICAgICAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBpcyBhbiBpbmZvcm1hdGlvbmFsIG5vdGUgdG8gZHJhdyBhdHRlbnRpb24gdG8gaW1wb3J0YW50IGRldGFpbHMuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWFsZXJ0IG1hcmtkb3duLWFsZXJ0LXRpcCI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5UaXA6PC9zdHJvbmc+IEhlcmUncyBhIGhlbHBmdWwgdGlwIHRvIGltcHJvdmUgeW91ciB3b3JrZmxvdy48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtaW1wb3J0YW50Ij4KICAgICAgICAgICAgICA8cD48c3Ryb25nPkltcG9ydGFudDo8L3N0cm9uZz4gVGhpcyBpbmZvcm1hdGlvbiBpcyBjcnVjaWFsIGZvciB1bmRlcnN0YW5kaW5nIHRoZSB0b3BpYy48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtd2FybmluZyI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5XYXJuaW5nOjwvc3Ryb25nPiBCZSBjYXJlZnVsIHdoZW4gcGVyZm9ybWluZyB0aGlzIGFjdGlvbi48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtY2F1dGlvbiI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5DYXV0aW9uOjwvc3Ryb25nPiBUaGlzIGFjdGlvbiBtYXkgaGF2ZSB1bmludGVuZGVkIGNvbnNlcXVlbmNlcy48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDwhLS0gRGVtbyA3OiBGdWxsIERvY3VtZW50IC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJGdWxsIERvY3VtZW50In0KICAgICAgICAuc3VidGl0bGU9JHsiQSBjb21wbGV0ZSBtYXJrZG93biBkb2N1bWVudCBleGFtcGxlIn0KICAgICAgICAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YXdhaXQgYS5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpPy51cGRhdGVIdG1sVGV4dChgCiAgICAgICAgICAgIDxoMT5HZXR0aW5nIFN0YXJ0ZWQgR3VpZGU8L2gxPgogICAgICAgICAgICA8cD5XZWxjb21lIHRvIHRoZSA8c3Ryb25nPmRlZXMtY2F0YWxvZzwvc3Ryb25nPiBjb21wb25lbnQgbGlicmFyeS4gVGhpcyBndWlkZSB3aWxsIGhlbHAgeW91IGdldCB1cCBhbmQgcnVubmluZyBxdWlja2x5LjwvcD4KCiAgICAgICAgICAgIDxoMj5JbnN0YWxsYXRpb248L2gyPgogICAgICAgICAgICA8cD5JbnN0YWxsIHRoZSBwYWNrYWdlIHVzaW5nIHlvdXIgcHJlZmVycmVkIHBhY2thZ2UgbWFuYWdlcjo8L3A+CiAgICAgICAgICAgIDxwcmU+PGNvZGU+PHNwYW4gY2xhc3M9ImhsanMtY29tbWVudCI+IyBVc2luZyBwbnBtIChyZWNvbW1lbmRlZCk8L3NwYW4+CnBucG0gYWRkIEBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZwoKPHNwYW4gY2xhc3M9ImhsanMtY29tbWVudCI+IyBVc2luZyBucG08L3NwYW4+Cm5wbSBpbnN0YWxsIEBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZzwvY29kZT48L3ByZT4KCiAgICAgICAgICAgIDxoMj5CYXNpYyBVc2FnZTwvaDI+CiAgICAgICAgICAgIDxwPkltcG9ydCBhbmQgdXNlIGNvbXBvbmVudHMgaW4geW91ciBUeXBlU2NyaXB0IGZpbGVzOjwvcD4KICAgICAgICAgICAgPHByZT48Y29kZT48c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5pbXBvcnQ8L3NwYW4+IHsgRGVlc0J1dHRvbiB9IDxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmZyb208L3NwYW4+IDxzcGFuIGNsYXNzPSJobGpzLXN0cmluZyI+J0BkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZyc8L3NwYW4+OwoKPHNwYW4gY2xhc3M9ImhsanMtY29tbWVudCI+Ly8gVXNlIGluIHlvdXIgdGVtcGxhdGVzPC9zcGFuPgpodG1sXGAmbHQ7ZGVlcy1idXR0b24mZ3Q7Q2xpY2sgbWUmbHQ7L2RlZXMtYnV0dG9uJmd0O1xgPC9jb2RlPjwvcHJlPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtdGlwIj4KICAgICAgICAgICAgICA8cD48c3Ryb25nPlRpcDo8L3N0cm9uZz4gQ2hlY2sgdGhlIGRlbW8gc2hvd2Nhc2UgZm9yIGxpdmUgZXhhbXBsZXMgb2YgYWxsIGNvbXBvbmVudHMuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxoMj5BdmFpbGFibGUgQ29tcG9uZW50czwvaDI+CiAgICAgICAgICAgIDx0YWJsZT4KICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0aD5Db21wb25lbnQ8L3RoPgogICAgICAgICAgICAgICAgICA8dGg+RGVzY3JpcHRpb248L3RoPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPjxjb2RlPmRlZXMtYnV0dG9uPC9jb2RlPjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5QcmltYXJ5IGJ1dHRvbiBjb21wb25lbnQ8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPjxjb2RlPmRlZXMtaW5wdXQtdGV4dDwvY29kZT48L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+VGV4dCBpbnB1dCBmaWVsZDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+PGNvZGU+ZGVlcy10YWJsZTwvY29kZT48L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+RGF0YSB0YWJsZSB3aXRoIHNvcnRpbmc8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPjxjb2RlPmRlZXMtbW9kYWw8L2NvZGU+PC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPk1vZGFsIGRpYWxvZzwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgIDwvdGFibGU+CgogICAgICAgICAgICA8aDI+TmV4dCBTdGVwczwvaDI+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+RXhwbG9yZSB0aGUgPGEgaHJlZj0iIyI+Y29tcG9uZW50IGRvY3VtZW50YXRpb248L2E+PC9saT4KICAgICAgICAgICAgICA8bGk+Q2hlY2sgb3V0IHRoZSA8YSBocmVmPSIjIj50aGVtaW5nIGd1aWRlPC9hPjwvbGk+CiAgICAgICAgICAgICAgPGxpPkpvaW4gb3VyIDxhIGhyZWY9IiMiPmNvbW11bml0eSBEaXNjb3JkPC9hPjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8YmxvY2txdW90ZT4KICAgICAgICAgICAgICA8cD4iVGhlIGJlc3QgY29tcG9uZW50IGxpYnJhcnkgaXMgb25lIHRoYXQgZ2V0cyBvdXQgb2YgeW91ciB3YXkuIiBcdTIwMTQgRGVzaWduIFN5c3RlbXMgVGVhbTwvcD4KICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBFTmEsSU5hLG51YSxsdWE9ZigoKT0+e2xlKCk7UWUoKTtvdWEoKTtFTmE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LElOYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sbnVhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQiKV0sZSx0PVtdLHIsaT1wZTt2YXIgbz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1dvcmtzcGFjZU1hcmtkb3dub3V0bGV0Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG49dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7RU5hKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm59LG51bGwsdCksbz1yPWUudmFsdWUsbiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSl9c3RhdGljIGRlbW89aXVhO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07c3RhdGljIHN0eWxlcz1bUGUsaC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnTm90byBTYW5zJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNDI5MmYiLCIjZTZlZGYzIil9OwogICAgICB9CgogICAgICAub3V0bGV0IHsKICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgIH0KCiAgICAgIC8qIEhlYWRpbmdzICovCiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgewogICAgICAgIG1hcmdpbi10b3A6IDI0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFmMjMyOCIsIiNmMGY2ZmMiKX07CiAgICAgIH0KCiAgICAgIGgxIHsKICAgICAgICBmb250LXNpemU6IDJlbTsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4zZW07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDFkOWUwIiwiIzMwMzYzZCIpfTsKICAgICAgfQoKICAgICAgaDIgewogICAgICAgIGZvbnQtc2l6ZTogMS41ZW07CiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuM2VtOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgIH0KCiAgICAgIGgzIHsKICAgICAgICBmb250LXNpemU6IDEuMjVlbTsKICAgICAgfQoKICAgICAgaDQgewogICAgICAgIGZvbnQtc2l6ZTogMWVtOwogICAgICB9CgogICAgICBoNSB7CiAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtOwogICAgICB9CgogICAgICBoNiB7CiAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjU2ZDc2IiwiIzhiOTQ5ZSIpfTsKICAgICAgfQoKICAgICAgLyogUGFyYWdyYXBocyBhbmQgdGV4dCAqLwogICAgICBwIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC8qIExpbmtzICovCiAgICAgIGEgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5NjlkYSIsIiM1OGE2ZmYiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB9CgogICAgICBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLyogU3Ryb25nIGFuZCBlbXBoYXNpcyAqLwogICAgICBzdHJvbmcgewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWYyMzI4IiwiI2YwZjZmYyIpfTsKICAgICAgfQoKICAgICAgZW0gewogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLyogTGlzdHMgKi8KICAgICAgdWwsIG9sIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07CiAgICAgIH0KCiAgICAgIGxpIHsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgIH0KCiAgICAgIGxpICsgbGkgewogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgfQoKICAgICAgdWwgdWwsIHVsIG9sLCBvbCB1bCwgb2wgb2wgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogQmxvY2txdW90ZXMgKi8KICAgICAgYmxvY2txdW90ZSB7CiAgICAgICAgbWFyZ2luOiAwIDAgMTZweCAwOwogICAgICAgIHBhZGRpbmc6IDAgMWVtOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzY1NmQ3NiIsIiM4Yjk0OWUiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgIH0KCiAgICAgIGJsb2NrcXVvdGUgPiA6Zmlyc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgIH0KCiAgICAgIGJsb2NrcXVvdGUgPiA6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogSW5saW5lIGNvZGUgKi8KICAgICAgY29kZSB7CiAgICAgICAgcGFkZGluZzogMC4yZW0gMC40ZW07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtc2l6ZTogODUlOwogICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCAnU0YgTW9ubycsIE1lbmxvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgicmdiYSgxNzUsIDE4NCwgMTkzLCAwLjIpIiwicmdiYSgxMTAsIDExOCwgMTI5LCAwLjQpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzOwogICAgICB9CgogICAgICAvKiBDb2RlIGJsb2NrcyAqLwogICAgICBwcmUgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIGZvbnQtc2l6ZTogODUlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1OwogICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCAnU0YgTW9ubycsIE1lbmxvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2Y2ZjhmYSIsIiMxNjFiMjIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHdvcmQtd3JhcDogbm9ybWFsOwogICAgICB9CgogICAgICBwcmUgY29kZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMTAwJTsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlOwogICAgICB9CgogICAgICAvKiBUYWJsZXMgKi8KICAgICAgdGFibGUgewogICAgICAgIHdpZHRoOiBtYXgtY29udGVudDsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGJvcmRlci1zcGFjaW5nOiAwOwogICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIHRhYmxlIHRoIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHBhZGRpbmc6IDZweCAxM3B4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDFkOWUwIiwiIzMwMzYzZCIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2Y2ZjhmYSIsIiMxNjFiMjIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWYyMzI4IiwiI2U2ZWRmMyIpfTsKICAgICAgfQoKICAgICAgdGFibGUgdGQgewogICAgICAgIHBhZGRpbmc6IDZweCAxM3B4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDFkOWUwIiwiIzMwMzYzZCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxZjIzMjgiLCIjZTZlZGYzIil9OwogICAgICB9CgogICAgICB0YWJsZSB0ciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMGQxMTE3Iil9OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMyMTI2MmQiKX07CiAgICAgIH0KCiAgICAgIHRhYmxlIHRyOm50aC1jaGlsZCgybikgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7aC5iZFRoZW1lKCIjZjZmOGZhIiwiIzE2MWIyMiIpfTsKICAgICAgfQoKICAgICAgLyogSG9yaXpvbnRhbCBydWxlcyAqLwogICAgICBociB7CiAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBtYXJnaW46IDI0cHggMDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgfQoKICAgICAgLyogSW1hZ2VzICovCiAgICAgIGltZyB7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICB9CgogICAgICAvKiBUYXNrIGxpc3RzICovCiAgICAgIC50YXNrLWxpc3QtaXRlbSB7CiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOwogICAgICB9CgogICAgICAudGFzay1saXN0LWl0ZW0gaW5wdXQgewogICAgICAgIG1hcmdpbjogMCAwLjJlbSAwLjI1ZW0gLTEuNGVtOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC8qIERlZmluaXRpb24gbGlzdHMgKi8KICAgICAgZGwgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIGRsIGR0IHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxZW07CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIGRsIGRkIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLyogS2V5Ym9hcmQgaW5wdXQgKi8KICAgICAga2JkIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcGFkZGluZzogM3B4IDVweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsICdTRiBNb25vJywgTWVubG8sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgbW9ub3NwYWNlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFmMjMyOCIsIiNlNmVkZjMiKX07CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2Y2ZjhmYSIsIiMxNjFiMjIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgIH0KCiAgICAgIC8qIEZvb3Rub3RlcyAqLwogICAgICAuZm9vdG5vdGVzIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjU2ZDc2IiwiIzhiOTQ5ZSIpfTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICAgIHBhZGRpbmctdG9wOiAxNnB4OwogICAgICAgIG1hcmdpbi10b3A6IDMycHg7CiAgICAgIH0KCiAgICAgIC8qIEFsZXJ0cy9BZG1vbml0aW9ucyAqLwogICAgICAubWFya2Rvd24tYWxlcnQgewogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIH0KCiAgICAgIC5tYXJrZG93bi1hbGVydC1ub3RlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjMDk2OWRhIiwiIzU4YTZmZiIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgicmdiYSg5LCAxMDUsIDIxOCwgMC4xKSIsInJnYmEoNTYsIDEzOSwgMjUzLCAwLjEpIil9OwogICAgICB9CgogICAgICAubWFya2Rvd24tYWxlcnQtd2FybmluZyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2JmODcwMCIsIiNkMjk5MjIiKX07CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtoLmJkVGhlbWUoInJnYmEoMTkxLCAxMzUsIDAsIDAuMSkiLCJyZ2JhKDE4NywgMTI4LCA5LCAwLjEpIil9OwogICAgICB9CgogICAgICAubWFya2Rvd24tYWxlcnQtaW1wb3J0YW50IHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjODI1MGRmIiwiI2EzNzFmNyIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgicmdiYSgxMzAsIDgwLCAyMjMsIDAuMSkiLCJyZ2JhKDE2MywgMTEzLCAyNDcsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5tYXJrZG93bi1hbGVydC1jYXV0aW9uIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjY2YyMjJlIiwiI2Y4NTE0OSIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgicmdiYSgyMDcsIDM0LCA0NiwgMC4xKSIsInJnYmEoMjQ4LCA4MSwgNzMsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5tYXJrZG93bi1hbGVydC10aXAgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMxYTdmMzciLCIjM2ZiOTUwIil9OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7aC5iZFRoZW1lKCJyZ2JhKDI2LCAxMjcsIDU1LCAwLjEpIiwicmdiYSg0NiwgMTYwLCA2NywgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLyogU3ludGF4IGhpZ2hsaWdodGluZyBmb3IgY29kZSBibG9ja3MgKi8KICAgICAgLmhsanMtY29tbWVudCwKICAgICAgLmhsanMtcXVvdGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZhNzM3ZCIsIiM4Yjk0OWUiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLWtleXdvcmQsCiAgICAgIC5obGpzLXNlbGVjdG9yLXRhZywKICAgICAgLmhsanMtYWRkaXRpb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Q3M2E0OSIsIiNmZjdiNzIiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLW51bWJlciwKICAgICAgLmhsanMtc3RyaW5nLAogICAgICAuaGxqcy1tZXRhIC5obGpzLW1ldGEtc3RyaW5nLAogICAgICAuaGxqcy1saXRlcmFsLAogICAgICAuaGxqcy1kb2N0YWcsCiAgICAgIC5obGpzLXJlZ2V4cCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDMyZjYyIiwiI2E1ZDZmZiIpfTsKICAgICAgfQoKICAgICAgLmhsanMtdGl0bGUsCiAgICAgIC5obGpzLXNlY3Rpb24sCiAgICAgIC5obGpzLW5hbWUsCiAgICAgIC5obGpzLXNlbGVjdG9yLWlkLAogICAgICAuaGxqcy1zZWxlY3Rvci1jbGFzcyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNmY0MmMxIiwiI2QyYThmZiIpfTsKICAgICAgfQoKICAgICAgLmhsanMtYXR0cmlidXRlLAogICAgICAuaGxqcy1hdHRyLAogICAgICAuaGxqcy12YXJpYWJsZSwKICAgICAgLmhsanMtdGVtcGxhdGUtdmFyaWFibGUsCiAgICAgIC5obGpzLWNsYXNzIC5obGpzLXRpdGxlLAogICAgICAuaGxqcy10eXBlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDVjYzUiLCIjNzljMGZmIil9OwogICAgICB9CgogICAgICAuaGxqcy1zeW1ib2wsCiAgICAgIC5obGpzLWJ1bGxldCwKICAgICAgLmhsanMtc3Vic3QsCiAgICAgIC5obGpzLW1ldGEsCiAgICAgIC5obGpzLW1ldGEgLmhsanMta2V5d29yZCwKICAgICAgLmhsanMtc2VsZWN0b3ItYXR0ciwKICAgICAgLmhsanMtc2VsZWN0b3ItcHNldWRvLAogICAgICAuaGxqcy1saW5rIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNlMzYyMDkiLCIjZmZhNjU3Iil9OwogICAgICB9CgogICAgICAuaGxqcy1idWlsdF9pbiwKICAgICAgLmhsanMtZGVsZXRpb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2IzMWQyOCIsIiNmZmExOTgiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLWZvcm11bGEgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7aC5iZFRoZW1lKCIjZjZmOGZhIiwiIzE2MWIyMiIpfTsKICAgICAgfQoKICAgICAgLmhsanMtZW1waGFzaXMgewogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLmhsanMtc3Ryb25nIHsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQogICAgYF07b3V0bGV0O3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJvdXRsZXQiPgogICAgICAgIDxoMT5NYXJrZG93biBQcmV2aWV3PC9oMT4KICAgICAgICA8cD5Db250ZW50IHdpbGwgYXBwZWFyIGhlcmUgd2hlbiBtYXJrZG93biBpcyBwYXJzZWQuPC9wPgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKG4pe2F3YWl0IHN1cGVyLmZpcnN0VXBkYXRlZChuKSx0aGlzLm91dGxldD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm91dGxldCIpfWFzeW5jIHVwZGF0ZUh0bWxUZXh0KG4pe2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5vdXRsZXR8fCh0aGlzLm91dGxldD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm91dGxldCIpKSx0aGlzLm91dGxldC5pbm5lckhUTUw9bn1zdGF0aWN7SU5hKHIsdCl9fTtyZXR1cm4gbz1yfSkoKX0pO3ZhciBjdWE9ZigoKT0+e2x1YSgpfSk7dmFyIGR1YT1mKCgpPT57TUplKCl9KTt2YXIgdXVhPWYoKCk9PntTSmUoKX0pO3ZhciBwdWE9ZigoKT0+e1o2YSgpO1g2YSgpO1E2YSgpO2V1YSgpO3R1YSgpO3N1YSgpO2N1YSgpO2R1YSgpO3V1YSgpfSk7dmFyIGZ1YT1mKCgpPT57fSk7dmFyIGh1YT1mKCgpPT57ZnVhKCl9KTt2YXIgbXVhPWYoKCk9PntsZSgpfSk7dmFyIGd1YT1mKCgpPT57bXVhKCl9KTt2YXIgYnVhPWYoKCk9PntHaSgpO1FlKCk7WWxhKCk7aWNhKCk7YTBhKCk7azBhKCk7WTBhKCk7WDBhKCk7YjRhKCk7dTNhKCk7YmRhKCk7Q2RhKCk7bGllKCk7ejZhKCk7VjZhKCk7cHVhKCk7aHVhKCk7Z3VhKCl9KTt2YXIgdnVhLHh1YT1mKCgpPT57dnVhPXtuYW1lOiJAZGVzaWduLmVzdGF0ZS9kZWVzLWNhdGFsb2ciLHZlcnNpb246IjMuODIuMCIsZGVzY3JpcHRpb246IkEgY29tcHJlaGVuc2l2ZSBsaWJyYXJ5IHRoYXQgcHJvdmlkZXMgZHluYW1pYyB3ZWIgY29tcG9uZW50cyBmb3IgYnVpbGRpbmcgc29waGlzdGljYXRlZCBhbmQgbW9kZXJuIHdlYiBhcHBsaWNhdGlvbnMgdXNpbmcgSmF2YVNjcmlwdCBhbmQgVHlwZVNjcmlwdC4ifX0pO3ZhciBoRz17fTtsdChoRyx7Q2FudmFzUG9vbDooKT0+Wm0sRGVlc0FjdGlvbmJhcjooKT0+UzBhLERlZXNBcHB1aTooKT0+UmxhLERlZXNBcHB1aUFjdGl2aXR5bG9nOigpPT4kcmEsRGVlc0FwcHVpQmFyOigpPT5VcmEsRGVlc0FwcHVpQm90dG9tYmFyOigpPT5LcmEsRGVlc0FwcHVpTWFpbmNvbnRlbnQ6KCk9Pk5sYSxEZWVzQXBwdWlNYWlubWVudTooKT0+TGxhLERlZXNBcHB1aVByb2ZpbGVEcm9wZG93bjooKT0+anJhLERlZXNBcHB1aVNlY29uZGFyeW1lbnU6KCk9PkFsYSxEZWVzQXBwdWlUYWJzOigpPT5JbGEsRGVlc0F1ZGlvVmlld2VyOigpPT52M2EsRGVlc0JhZGdlOigpPT5MMGEsRGVlc0J1dHRvbjooKT0+a2xhLERlZXNCdXR0b25FeGl0OigpPT5YbGEsRGVlc0J1dHRvbkdyb3VwOigpPT5hY2EsRGVlc0NoYXJ0QXJlYTooKT0+cGNhLERlZXNDaGFydEJhcjooKT0+emNhLERlZXNDaGFydERvbnV0OigpPT5QY2EsRGVlc0NoYXJ0R2F1Z2U6KCk9PkhjYSxEZWVzQ2hhcnRMb2c6KCk9PlVjYSxEZWVzQ2hhcnRSYWRhcjooKT0+ZTBhLERlZXNDaGlwczooKT0+eTRhLERlZXNDb250ZXh0bWVudTooKT0+dGEsRGVlc0Rhc2hib2FyZGdyaWQ6KCk9PkY0YSxEZWVzRGF0YXZpZXdDb2RlYm94OigpPT5pMGEsRGVlc0RhdGF2aWV3U3RhdHVzb2JqZWN0OigpPT5kMGEsRGVlc0Zvcm06KCk9PnlsYSxEZWVzRm9ybVN1Ym1pdDooKT0+b2FlLERlZXNGb3JtYXR0aW5nTWVudTooKT0+U2FlLERlZXNIZWFkaW5nOigpPT5VNGEsRGVlc0hpbnQ6KCk9PkkwYSxEZWVzSWNvbjooKT0+U3JhLERlZXNJbWFnZVZpZXdlcjooKT0+aDNhLERlZXNJbnB1dEJhc2U6KCk9Pk10LERlZXNJbnB1dENoZWNrYm94OigpPT5HdGUsRGVlc0lucHV0Q29kZTooKT0+UXRlLERlZXNJbnB1dERhdGVwaWNrZXI6KCk9PmVhZSxEZWVzSW5wdXREYXRlcGlja2VyUG9wdXA6KCk9Pkp0ZSxEZWVzSW5wdXREcm9wZG93bjooKT0+bGFlLERlZXNJbnB1dERyb3Bkb3duUG9wdXA6KCk9Pm5hZSxEZWVzSW5wdXRGaWxldXBsb2FkOigpPT5kYWUsRGVlc0lucHV0SWJhbjooKT0+aGFlLERlZXNJbnB1dExpc3Q6KCk9PndhZSxEZWVzSW5wdXRNdWx0aXRvZ2dsZTooKT0+bWFlLERlZXNJbnB1dFBob25lOigpPT5iYWUsRGVlc0lucHV0UHJvZmlsZVBpY3R1cmU6KCk9Pmc0YSxEZWVzSW5wdXRRdWFudGl0eVNlbGVjdG9yOigpPT5yYWUsRGVlc0lucHV0UmFkaW9ncm91cDooKT0+c2FlLERlZXNJbnB1dFJpY2h0ZXh0OigpPT5Pc2UsRGVlc0lucHV0VGFnczooKT0+eWFlLERlZXNJbnB1dFRleHQ6KCk9PmFhZSxEZWVzSW5wdXRUb2dnbGU6KCk9PnZhZSxEZWVzSW5wdXRUeXBlbGlzdDooKT0+eGFlLERlZXNJbnB1dFd5c2l3eWc6KCk9PmpXLERlZXNMYWJlbDooKT0+ZnNhLERlZXNNb2JpbGVuYXZpZ2F0aW9uOigpPT5VbGEsRGVlc01vZGFsOigpPT5NYSxEZWVzUGFnaW5hdGlvbjooKT0+WDRhLERlZXNQYW5lbDooKT0+ZXNhLERlZXNQZGZWaWV3ZXI6KCk9PlQzYSxEZWVzUHJldmlldzooKT0+QTNhLERlZXNQcm9ncmVzc2JhcjooKT0+QjBhLERlZXNTZWFyY2hiYXI6KCk9PiQ2YSxEZWVzU2V0dGluZ3M6KCk9PnIzYSxEZWVzU2hvcHBpbmdQcm9kdWN0Y2FyZDooKT0+enNhLERlZXNTaW1wbGVBcHBEYXNoOigpPT5nNmEsRGVlc1NpbXBsZUxvZ2luOigpPT5NNmEsRGVlc1NsYXNoTWVudTooKT0+TWFlLERlZXNTcGVlY2hidWJibGU6KCk9Pk1kYSxEZWVzU3Bpbm5lcjooKT0+cTBhLERlZXNTdGF0c0dyaWQ6KCk9PlNsYSxEZWVzU3RlcHBlcjooKT0+S20sRGVlc1N0b3JhZ2VCcm93c2VyOigpPT55MGEsRGVlc1N0b3JhZ2VDb2x1bW5zOigpPT5iMGEsRGVlc1N0b3JhZ2VLZXlzOigpPT52MGEsRGVlc1N0b3JhZ2VQcmV2aWV3OigpPT54MGEsRGVlc1RhYmxlOigpPT5Cc2UsRGVlc1RoZW1lOigpPT5JNmEsRGVlc1RodW1ibmFpbEF1ZGlvOigpPT5RM2EsRGVlc1RodW1ibmFpbEJhc2U6KCk9PmxvLERlZXNUaHVtYm5haWxGb2xkZXI6KCk9PmhkYSxEZWVzVGh1bWJuYWlsSW1hZ2U6KCk9PkczYSxEZWVzVGh1bWJuYWlsTm90ZTooKT0+bGRhLERlZXNUaHVtYm5haWxQZGY6KCk9PnEzYSxEZWVzVGh1bWJuYWlsVmlkZW86KCk9PnJkYSxEZWVzVGlsZTooKT0+ZHNhLERlZXNUb2FzdDooKT0+QWEsRGVlc1VwZGF0ZXI6KCk9PmNpZSxEZWVzVmlkZW9WaWV3ZXI6KCk9Pk0zYSxEZWVzV2luZG93Q29udHJvbHM6KCk9PlZyYSxEZWVzV2luZG93TGF5ZXI6KCk9PkdzLERlZXNXb3Jrc3BhY2U6KCk9Plk2YSxEZWVzV29ya3NwYWNlQm90dG9tYmFyOigpPT5XNmEsRGVlc1dvcmtzcGFjZURpZmZFZGl0b3I6KCk9Pkc2YSxEZWVzV29ya3NwYWNlRmlsZXRyZWU6KCk9Pmo2YSxEZWVzV29ya3NwYWNlTWFya2Rvd246KCk9PmF1YSxEZWVzV29ya3NwYWNlTWFya2Rvd25vdXRsZXQ6KCk9Pm51YSxEZWVzV29ya3NwYWNlTW9uYWNvOigpPT5oc2EsRGVlc1dvcmtzcGFjZVRlcm1pbmFsOigpPT5oSmUsRGVlc1dvcmtzcGFjZVRlcm1pbmFsUHJldmlldzooKT0+VTZhLERlZXNXeXNpd3lnQmxvY2s6KCk9PkoyYSxQUk9HUkFNTUlOR19MQU5HVUFHRVM6KCk9PkVVLFBkZk1hbmFnZXI6KCk9PmxsLFBlcmZvcm1hbmNlTW9uaXRvcjooKT0+WG0sVGVybWluYWxUYWJNYW5hZ2VyOigpPT5jRyxUeXBlU2NyaXB0SW50ZWxsaVNlbnNlTWFuYWdlcjooKT0+cEcsVmlld1JlZ2lzdHJ5OigpPT5VVyxXZWJDb250YWluZXJFbnZpcm9ubWVudDooKT0+eDUsV3lzaXd5Z0Jsb2NrT3BlcmF0aW9uczooKT0+SVUsV3lzaXd5Z0Jsb2NrczooKT0+c2ksV3lzaXd5Z0NvbnZlcnRlcnM6KCk9PkluLFd5c2l3eWdEcmFnRHJvcEhhbmRsZXI6KCk9PkhXLFd5c2l3eWdGb3JtYXR0aW5nOigpPT5mYyxXeXNpd3lnSGlzdG9yeTooKT0+cVcsV3lzaXd5Z0lucHV0SGFuZGxlcjooKT0+RlcsV3lzaXd5Z0tleWJvYXJkSGFuZGxlcjooKT0+QlcsV3lzaXd5Z01vZGFsTWFuYWdlcjooKT0+T1csV3lzaXd5Z1NlbGVjdGlvbjooKT0+cnQsV3lzaXd5Z1Nob3J0Y3V0czooKT0+ZXMsWkluZGV4UmVnaXN0cnk6KCk9PldKLGNvbG9yczooKT0+dG0sY29tbWl0aW5mbzooKT0+dnVhLGNvbXBvbmVudFpJbmRleDooKT0+akNhLGRlYm91bmNlOigpPT5zTmEsZm9ybWF0Q291bnQ6KCk9PmcwYSxmb3JtYXRGaWxlU2l6ZTooKT0+QlFlLGZvcm1hdFNpemU6KCk9PlVtLGdldENvbnRlbnRUeXBlOigpPT5FNCxnZXREZWZhdWx0Q29udGVudDooKT0+R20sZ2V0RmlsZU5hbWU6KCk9Pm1hLGdldFBhcmVudFByZWZpeDooKT0+ajEsZ2V0UGF0aFNlZ21lbnRzOigpPT5wNSxnZXRaSW5kZXg6KCk9PlZDYSxpY29uczooKT0+anRlLGlzSW5WaWV3cG9ydDooKT0+b05hLHJlZ2lzdGVyQWxsQmxvY2tIYW5kbGVyczooKT0+WTJhLHRoZW1lRGVmYXVsdFN0eWxlczooKT0+UGUsdGhlbWVEZWZhdWx0czooKT0+ZW4sdGhyb3R0bGU6KCk9PmlOYSx0aHVtYm5haWxCYXNlU3R5bGVzOigpPT5CaSx2YWxpZGF0ZU1vdmU6KCk9PldtLHd5c2l3eWdTdHlsZXM6KCk9PkpZZSx6SW5kZXhMYXllcnM6KCk9PlBzLHpJbmRleFJlZ2lzdHJ5OigpPT5YdH0pO3ZhciB6SmU9ZigoKT0+e2J1YSgpO0wxKCk7eHVhKCl9KTt2YXIgQ0plLG1HLE5OYSxfSmU9ZigoKT0+e2xlKCk7Q0plPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxtRz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sTk5hPSgoKT0+e2xldCBhPVtpZSgic3otcmVzb3VyY2UtdXNhZ2UtY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelJlc291cmNlVXNhZ2VDYXJkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sQ0plKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iZGF0YSJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmRhdGEsImdldCIpLHNldDpzKCh2LHgpPT57di5kYXRhPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxDSmUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXJ2aWNlQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InNlcnZpY2VDb3VudCJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnNlcnZpY2VDb3VudCwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnNlcnZpY2VDb3VudD14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksQ0plKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogODAwcHg7Ij4KICAgICAgPHN6LXJlc291cmNlLXVzYWdlLWNhcmQKICAgICAgICAuZGF0YT0ke3tjcHU6LjUsbWVtb3J5VXNlZDoiMTkxIE1CIixtZW1vcnlUb3RhbDoiNDI5LjIgR0IiLG5ldHdvcmtJbjoiMzguOSBLQi9zIixuZXR3b3JrT3V0OiIxLjcgS0IvcyIsdG9wQ29uc3VtZXJzOlt7bmFtZToidGVzdC1uZ2lueCIsbWVtb3J5OiIzMi4xIE1CIn0se25hbWU6InRlc3QtdjIiLG1lbW9yeToiMzEuNyBNQiJ9XX19CiAgICAgICAgc2VydmljZUNvdW50PSI3IgogICAgICA+PC9zei1yZXNvdXJjZS11c2FnZS1jYXJkPgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIl07I2U9bUcodGhpcyxuLHtjcHU6MCxtZW1vcnlVc2VkOiIwIE1CIixtZW1vcnlUb3RhbDoiMCBHQiIsbmV0d29ya0luOiIwIEtCL3MiLG5ldHdvcmtPdXQ6IjAgS0IvcyIsdG9wQ29uc3VtZXJzOltdfSk7Z2V0IGRhdGEoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGF0YShtKXt0aGlzLiNlPW19I3Q9KG1HKHRoaXMsbCksbUcodGhpcyxjLCIwIikpO2dldCBzZXJ2aWNlQ291bnQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VydmljZUNvdW50KG0pe3RoaXMuI3Q9bX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC52aWV3LWFsbCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLnZpZXctYWxsOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLm1ldHJpY3MgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAubWV0cmljLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLm1ldHJpYy12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1iYXIgewogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWZpbGwgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5uZXR3b3JrLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLm5ldHdvcmstaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAubmV0d29yay1pY29uIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5uZXR3b3JrLWljb24uZG93biB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLm5ldHdvcmstaWNvbi51cCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnRvcC1jb25zdW1lcnMgewogICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuY29uc3VtZXJzLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7CiAgICAgIH0KCiAgICAgIC5jb25zdW1lcnMtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuY29uc3VtZXItaXRlbSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5jb25zdW1lci1uYW1lIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5SZXNvdXJjZSBVc2FnZTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+QWdncmVnYXRlZCBhY3Jvc3MgJHt0aGlzLnNlcnZpY2VDb3VudH0gc2VydmljZXM8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGEgY2xhc3M9InZpZXctYWxsIj5WaWV3IEFsbDwvYT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljcyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWhlYWRlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy1sYWJlbCI+Q1BVPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtdmFsdWUiPiR7dGhpcy5kYXRhLmNwdS50b0ZpeGVkKDEpfSU8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwiIHN0eWxlPSJ3aWR0aDogJHtNYXRoLm1pbih0aGlzLmRhdGEuY3B1LDEwMCl9JSI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1oZWFkZXIiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtbGFiZWwiPk1lbW9yeTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuZGF0YS5tZW1vcnlVc2VkfSAvICR7dGhpcy5kYXRhLm1lbW9yeVRvdGFsfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtZmlsbCIgc3R5bGU9IndpZHRoOiAke3RoaXMuY2FsY3VsYXRlTWVtb3J5UGVyY2VudCgpfSUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtaGVhZGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLWxhYmVsIj5OZXR3b3JrPC9zcGFuPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5ldHdvcmstcm93Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuZXR3b3JrLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJuZXR3b3JrLWljb24gZG93biIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgNXYxNE0xOSAxMmwtNyA3LTctNyIvPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgJHt0aGlzLmRhdGEubmV0d29ya0lufQogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5ldHdvcmstaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Im5ldHdvcmstaWNvbiB1cCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMTlWNU01IDEybDctNyA3IDciLz4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5kYXRhLm5ldHdvcmtPdXR9CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgICR7dGhpcy5kYXRhLnRvcENvbnN1bWVycy5sZW5ndGg+MD93YAogICAgICAgICAgPGRpdiBjbGFzcz0idG9wLWNvbnN1bWVycyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN1bWVycy1sYWJlbCI+VG9wIGNvbnN1bWVyczwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25zdW1lcnMtbGlzdCI+CiAgICAgICAgICAgICAgJHt0aGlzLmRhdGEudG9wQ29uc3VtZXJzLm1hcChtPT53YAogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29uc3VtZXItaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnN1bWVyLW5hbWUiPiR7bS5uYW1lfTo8L3NwYW4+ICR7bS5tZW1vcnl9CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1jYWxjdWxhdGVNZW1vcnlQZXJjZW50KCl7bGV0IG09cGFyc2VGbG9hdCh0aGlzLmRhdGEubWVtb3J5VXNlZCksdj1wYXJzZUZsb2F0KHRoaXMuZGF0YS5tZW1vcnlUb3RhbCk7cmV0dXJuIHY9PT0wPzA6TWF0aC5taW4obS92KjEwMCwxMDApfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxtRyh0aGlzLHApfXN0YXRpY3ttRyhyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgeXVhLFRKZSxSTmEsTEplPWYoKCk9PntsZSgpO3l1YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sVEplPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxSTmE9KCgpPT57bGV0IGE9W2llKCJzei10cmFmZmljLWNhcmQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pUcmFmZmljQ2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLHl1YSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+ImRhdGEiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5kYXRhLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AuZGF0YT11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCkseXVhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogNTAwcHg7Ij4KICAgICAgPHN6LXRyYWZmaWMtY2FyZAogICAgICAgIC5kYXRhPSR7e3JlcXVlc3RzOjEyNTAsZXJyb3JzOjE1LGVycm9yUGVyY2VudDoxLjIsYXZnUmVzcG9uc2U6MTQ1LHJlcVBlck1pbjoyMSxzdGF0dXMyeHg6ODUsc3RhdHVzM3h4OjUsc3RhdHVzNHh4Ojgsc3RhdHVzNXh4OjJ9fQogICAgICA+PC9zei10cmFmZmljLWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQiXTsjZT1USmUodGhpcyxuLHtyZXF1ZXN0czowLGVycm9yczowLGVycm9yUGVyY2VudDowLGF2Z1Jlc3BvbnNlOjAscmVxUGVyTWluOjAsc3RhdHVzMnh4OjAsc3RhdHVzM3h4OjAsc3RhdHVzNHh4OjAsc3RhdHVzNXh4OjB9KTtnZXQgZGF0YSgpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhKGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5tZXRyaWNzIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLm1ldHJpYy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFyLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1zZWdtZW50IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnN0YXR1cy0yeHggewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy0zeHggewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy00eHggewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFjYzE1IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy01eHggewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1sZWdlbmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICB9CgogICAgICAubGVnZW5kLWl0ZW0gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgYz10aGlzLmRhdGEuc3RhdHVzMnh4K3RoaXMuZGF0YS5zdGF0dXMzeHgrdGhpcy5kYXRhLnN0YXR1czR4eCt0aGlzLmRhdGEuc3RhdHVzNXh4LHA9Yz4wP3RoaXMuZGF0YS5zdGF0dXMyeHgvYyoxMDA6MCx1PWM+MD90aGlzLmRhdGEuc3RhdHVzM3h4L2MqMTAwOjAsbT1jPjA/dGhpcy5kYXRhLnN0YXR1czR4eC9jKjEwMDowLHY9Yz4wP3RoaXMuZGF0YS5zdGF0dXM1eHgvYyoxMDA6MDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5UcmFmZmljIChMYXN0IEhvdXIpPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+UmVxdWVzdCBtZXRyaWNzIGZyb20gYWNjZXNzIGxvZ3M8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljcyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLWxhYmVsIj5SZXF1ZXN0czwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLmZvcm1hdE51bWJlcih0aGlzLmRhdGEucmVxdWVzdHMpfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy1sYWJlbCI+RXJyb3JzPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuZGF0YS5lcnJvcnN9ICgke3RoaXMuZGF0YS5lcnJvclBlcmNlbnR9JSk8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtbGFiZWwiPkF2ZyBSZXNwb25zZTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLmRhdGEuYXZnUmVzcG9uc2V9bXM8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtbGFiZWwiPlJlcS9taW48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtdmFsdWUiPiR7dGhpcy5kYXRhLnJlcVBlck1pbn08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLWJhci1jb250YWluZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLWJhciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1zZWdtZW50IHN0YXR1cy0yeHgiIHN0eWxlPSJ3aWR0aDogJHtwfSUiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtc2VnbWVudCBzdGF0dXMtM3h4IiBzdHlsZT0id2lkdGg6ICR7dX0lIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLXNlZ21lbnQgc3RhdHVzLTR4eCIgc3R5bGU9IndpZHRoOiAke219JSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1zZWdtZW50IHN0YXR1cy01eHgiIHN0eWxlPSJ3aWR0aDogJHt2fSUiPjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtbGVnZW5kIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxlZ2VuZC1pdGVtIj4yeHg8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsZWdlbmQtaXRlbSI+M3h4PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGVnZW5kLWl0ZW0iPjR4eDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxlZ2VuZC1pdGVtIj41eHg8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWZvcm1hdE51bWJlcihjKXtyZXR1cm4gYz49MWU2PyhjLzFlNikudG9GaXhlZCgxKSsiTSI6Yz49MWUzPyhjLzFlMykudG9GaXhlZCgxKSsiSyI6Yy50b1N0cmluZygpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxUSmUodGhpcyxsKX1zdGF0aWN7VEplKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciB3dWEsJEplLE9OYSxESmU9ZigoKT0+e2xlKCk7d3VhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSwkSmU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LE9OYT0oKCk9PntsZXQgYT1baWUoInN6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pQbGF0Zm9ybVNlcnZpY2VzQ2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sd3VhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VydmljZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+InNlcnZpY2VzImluIHAsImhhcyIpLGdldDpzKHA9PnAuc2VydmljZXMsImdldCIpLHNldDpzKChwLHUpPT57cC5zZXJ2aWNlcz11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksd3VhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogNTAwcHg7Ij4KICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQKICAgICAgICAuc2VydmljZXM9JHtbe25hbWU6Ik1vbmdvREIiLHN0YXR1czoiMSBEQiIscnVubmluZzohMH0se25hbWU6IlMzIFN0b3JhZ2UgKE1pbklPKSIsc3RhdHVzOiIxIGJ1Y2tldCIscnVubmluZzohMH0se25hbWU6IlNtYXJ0UHJveHkgUmV2ZXJzZSBQcm94eSIsc3RhdHVzOiJSdW5uaW5nIixydW5uaW5nOiEwfSx7bmFtZToiQ2xpY2tIb3VzZSIsc3RhdHVzOiIxIERCIixydW5uaW5nOiEwfV19CiAgICAgID48L3N6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJQbGF0Zm9ybSJdOyNlPSRKZSh0aGlzLG4sW10pO2dldCBzZXJ2aWNlcygpe3JldHVybiB0aGlzLiNlfXNldCBzZXJ2aWNlcyhjKXt0aGlzLiNlPWN9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuc2VydmljZXMtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc2VydmljZS1pdGVtOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLWxlZnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90IHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QucnVubmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggJHtoLmJkVGhlbWUoInJnYmEoMzQsIDE5NywgOTQsIDAuNCkiLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjQpIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdC5zdG9wcGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VmNDQ0NCIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLXN0YXR1cyB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPlBsYXRmb3JtIFNlcnZpY2VzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+SW5mcmFzdHJ1Y3R1cmUgc3RhdHVzPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2VzLWxpc3QiPgogICAgICAgICAgJHt0aGlzLnNlcnZpY2VzLm1hcChjPT53YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaXRlbSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU2VydmljZUNsaWNrKGMpfT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtbGVmdCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1kb3QgJHtjLnJ1bm5pbmc/InJ1bm5pbmciOiJzdG9wcGVkIn0iPjwvZGl2PgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VydmljZS1uYW1lIj4ke2MubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZXJ2aWNlLXN0YXR1cyI+JHtjLnN0YXR1c308L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlU2VydmljZUNsaWNrKGMpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlcnZpY2UtY2xpY2siLHtkZXRhaWw6YyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSwkSmUodGhpcyxsKX1zdGF0aWN7JEplKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciB1aWUsazUsRk5hLEFKZT1mKCgpPT57bGUoKTt1aWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGs1PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxGTmE9KCgpPT57bGV0IGE9W2llKCJzei1jZXJ0aWZpY2F0ZXMtY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekNlcnRpZmljYXRlc0NhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk51bWJlcn0pXSxkPVskKHt0eXBlOk51bWJlcn0pXSx1PVskKHt0eXBlOk51bWJlcn0pXSx1aWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJ2YWxpZENvdW50ImluIGcsImhhcyIpLGdldDpzKGc9PmcudmFsaWRDb3VudCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnZhbGlkQ291bnQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLHVpZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV4cGlyaW5nQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImV4cGlyaW5nQ291bnQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5leHBpcmluZ0NvdW50LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuZXhwaXJpbmdDb3VudD15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksdWllKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhwaXJlZENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJleHBpcmVkQ291bnQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5leHBpcmVkQ291bnQsImdldCIpLHNldDpzKChnLHkpPT57Zy5leHBpcmVkQ291bnQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLHVpZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBkaXNwbGF5OiBmbGV4OyBnYXA6IDE2cHg7IGZsZXgtd3JhcDogd3JhcDsiPgogICAgICA8c3otY2VydGlmaWNhdGVzLWNhcmQgdmFsaWRDb3VudD0iMiI+PC9zei1jZXJ0aWZpY2F0ZXMtY2FyZD4KICAgICAgPHN6LWNlcnRpZmljYXRlcy1jYXJkIHZhbGlkQ291bnQ9IjUiIGV4cGlyaW5nQ291bnQ9IjIiPjwvc3otY2VydGlmaWNhdGVzLWNhcmQ+CiAgICAgIDxzei1jZXJ0aWZpY2F0ZXMtY2FyZCB2YWxpZENvdW50PSIwIiBleHBpcmVkQ291bnQ9IjEiPjwvc3otY2VydGlmaWNhdGVzLWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJOZXR3b3JrIl07I2U9azUodGhpcyxuLDApO2dldCB2YWxpZENvdW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbGlkQ291bnQoYil7dGhpcy4jZT1ifSN0PShrNSh0aGlzLGwpLGs1KHRoaXMsYywwKSk7Z2V0IGV4cGlyaW5nQ291bnQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZXhwaXJpbmdDb3VudChiKXt0aGlzLiN0PWJ9I2E9KGs1KHRoaXMscCksazUodGhpcyxtLDApKTtnZXQgZXhwaXJlZENvdW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGV4cGlyZWRDb3VudChiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtaW4td2lkdGg6IDIwMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1pY29uIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtaWNvbi52YWxpZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1pY29uLndhcm5pbmcgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhY2MxNSIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtaWNvbi5lcnJvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPkNlcnRpZmljYXRlczwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3VidGl0bGUiPlNTTC9UTFMgY2VydGlmaWNhdGUgc3RhdHVzPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1saXN0Ij4KICAgICAgICAgICR7dGhpcy52YWxpZENvdW50PjA/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIj4KICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJzdGF0dXMtaWNvbiB2YWxpZCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtdGV4dCI+JHt0aGlzLnZhbGlkQ291bnR9IHZhbGlkPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgJHt0aGlzLmV4cGlyaW5nQ291bnQ+MD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMiPgogICAgICAgICAgICAgIDxzdmcgY2xhc3M9InN0YXR1cy1pY29uIHdhcm5pbmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAuMjkgMy44NkwxLjgyIDE4YTIgMiAwIDAgMCAxLjcxIDNoMTYuOTRhMiAyIDAgMCAwIDEuNzEtM0wxMy43MSAzLjg2YTIgMiAwIDAgMC0zLjQyIDB6Ij48L3BhdGg+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI5IiB4Mj0iMTIiIHkyPSIxMyI+PC9saW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMTciIHgyPSIxMi4wMSIgeTI9IjE3Ij48L2xpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy10ZXh0Ij4ke3RoaXMuZXhwaXJpbmdDb3VudH0gZXhwaXJpbmcgc29vbjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQoKICAgICAgICAgICR7dGhpcy5leHBpcmVkQ291bnQ+MD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMiPgogICAgICAgICAgICAgIDxzdmcgY2xhc3M9InN0YXR1cy1pY29uIGVycm9yIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjE1IiB5MT0iOSIgeDI9IjkiIHkyPSIxNSI+PC9saW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjkiIHkxPSI5IiB4Mj0iMTUiIHkyPSIxNSI+PC9saW5lPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtdGV4dCI+JHt0aGlzLmV4cGlyZWRDb3VudH0gZXhwaXJlZDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQoKICAgICAgICAgICR7dGhpcy52YWxpZENvdW50PT09MCYmdGhpcy5leHBpcmluZ0NvdW50PT09MCYmdGhpcy5leHBpcmVkQ291bnQ9PT0wP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cyI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy10ZXh0Ij5ObyBjZXJ0aWZpY2F0ZXM8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxrNSh0aGlzLHYpfXN0YXRpY3trNShyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgaTcsUTEsQk5hLFBKZT1mKCgpPT57bGUoKTtpNz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUTE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEJOYT0oKCk9PntsZXQgYT1baWUoInN6LXJldmVyc2UtcHJveHktY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelJldmVyc2VQcm94eUNhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOkJvb2xlYW59KV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9WyQoe3R5cGU6U3RyaW5nfSldLGk3KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaHR0cFBvcnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imh0dHBQb3J0ImluIHosImhhcyIpLGdldDpzKHo9PnouaHR0cFBvcnQsImdldCIpLHNldDpzKCh6LE8pPT57ei5odHRwUG9ydD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksaTcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJodHRwc1BvcnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imh0dHBzUG9ydCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56Lmh0dHBzUG9ydCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6Lmh0dHBzUG9ydD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCksaTcodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJodHRwQWN0aXZlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJodHRwQWN0aXZlImluIHosImhhcyIpLGdldDpzKHo9PnouaHR0cEFjdGl2ZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6Lmh0dHBBY3RpdmU9T30sInNldCIpfSxtZXRhZGF0YTpffSxtLHYpLGk3KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaHR0cHNBY3RpdmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imh0dHBzQWN0aXZlImluIHosImhhcyIpLGdldDpzKHo9PnouaHR0cHNBY3RpdmUsImdldCIpLHNldDpzKCh6LE8pPT57ei5odHRwc0FjdGl2ZT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksaTcodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3V0ZUNvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJyb3V0ZUNvdW50ImluIHosImhhcyIpLGdldDpzKHo9Pnoucm91dGVDb3VudCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnJvdXRlQ291bnQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLGk3KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogNDAwcHg7Ij4KICAgICAgPHN6LXJldmVyc2UtcHJveHktY2FyZAogICAgICAgIGh0dHBQb3J0PSI4MDgwIgogICAgICAgIGh0dHBzUG9ydD0iODQ0MyIKICAgICAgICBodHRwQWN0aXZlCiAgICAgICAgaHR0cHNBY3RpdmUKICAgICAgICByb3V0ZUNvdW50PSIzIgogICAgICA+PC9zei1yZXZlcnNlLXByb3h5LWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJOZXR3b3JrIl07I2U9UTEodGhpcyxuLCI4MCIpO2dldCBodHRwUG9ydCgpe3JldHVybiB0aGlzLiNlfXNldCBodHRwUG9ydChfKXt0aGlzLiNlPV99I3Q9KFExKHRoaXMsbCksUTEodGhpcyxjLCI0NDMiKSk7Z2V0IGh0dHBzUG9ydCgpe3JldHVybiB0aGlzLiN0fXNldCBodHRwc1BvcnQoXyl7dGhpcy4jdD1ffSNhPShRMSh0aGlzLHApLFExKHRoaXMsbSwhMSkpO2dldCBodHRwQWN0aXZlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGh0dHBBY3RpdmUoXyl7dGhpcy4jYT1ffSNyPShRMSh0aGlzLHYpLFExKHRoaXMsYiwhMSkpO2dldCBodHRwc0FjdGl2ZSgpe3JldHVybiB0aGlzLiNyfXNldCBodHRwc0FjdGl2ZShfKXt0aGlzLiNyPV99I3M9KFExKHRoaXMsZyksUTEodGhpcyxrLCIwIikpO2dldCByb3V0ZUNvdW50KCl7cmV0dXJuIHRoaXMuI3N9c2V0IHJvdXRlQ291bnQoXyl7dGhpcy4jcz1ffXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLml0ZW1zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICB9CgogICAgICAuaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLml0ZW0tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuaXRlbS12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuYmFkZ2UuaW5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5SZXZlcnNlIFByb3h5PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+SFRUUC9IVFRQUyBwcm94eSBzdGF0dXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaXRlbXMiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLWxhYmVsIj5IVFRQICgke3RoaXMuaHR0cFBvcnR9KTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7dGhpcy5odHRwQWN0aXZlPyJhY3RpdmUiOiJpbmFjdGl2ZSJ9Ij4KICAgICAgICAgICAgICAke3RoaXMuaHR0cEFjdGl2ZT8iQWN0aXZlIjoiSW5hY3RpdmUifQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1sYWJlbCI+SFRUUFMgKCR7dGhpcy5odHRwc1BvcnR9KTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7dGhpcy5odHRwc0FjdGl2ZT8iYWN0aXZlIjoiaW5hY3RpdmUifSI+CiAgICAgICAgICAgICAgJHt0aGlzLmh0dHBzQWN0aXZlPyJBY3RpdmUiOiJJbmFjdGl2ZSJ9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLWxhYmVsIj5Sb3V0ZXM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXZhbHVlIj4ke3RoaXMucm91dGVDb3VudH08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxRMSh0aGlzLEMpfXN0YXRpY3tRMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgRUplLGdHLEhOYSxJSmU9ZigoKT0+e2xlKCk7RUplPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxnRz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sSE5hPSgoKT0+e2xldCBhPVtpZSgic3otZG5zLXNzbC1jYXJkIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RG5zU3NsQ2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6Qm9vbGVhbn0pXSxkPVskKHt0eXBlOkJvb2xlYW59KV0sRUplKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG5zQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iZG5zQ29uZmlndXJlZCJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmRuc0NvbmZpZ3VyZWQsImdldCIpLHNldDpzKCh2LHgpPT57di5kbnNDb25maWd1cmVkPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxFSmUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY21lQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iYWNtZUNvbmZpZ3VyZWQiaW4gdiwiaGFzIiksZ2V0OnModj0+di5hY21lQ29uZmlndXJlZCwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmFjbWVDb25maWd1cmVkPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxFSmUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA0MDBweDsiPgogICAgICA8c3otZG5zLXNzbC1jYXJkCiAgICAgICAgZG5zQ29uZmlndXJlZAogICAgICAgIGFjbWVDb25maWd1cmVkCiAgICAgID48L3N6LWRucy1zc2wtY2FyZD4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT1nRyh0aGlzLG4sITEpO2dldCBkbnNDb25maWd1cmVkKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRuc0NvbmZpZ3VyZWQobSl7dGhpcy4jZT1tfSN0PShnRyh0aGlzLGwpLGdHKHRoaXMsYywhMSkpO2dldCBhY21lQ29uZmlndXJlZCgpe3JldHVybiB0aGlzLiN0fXNldCBhY21lQ29uZmlndXJlZChtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuaXRlbXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuaXRlbS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5jb25maWd1cmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZS5ub3QtY29uZmlndXJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPkROUyAmIFNTTDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3VidGl0bGUiPkNvbmZpZ3VyYXRpb24gc3RhdHVzPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9Iml0ZW1zIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1sYWJlbCI+Q2xvdWRmbGFyZSBETlM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSAke3RoaXMuZG5zQ29uZmlndXJlZD8iY29uZmlndXJlZCI6Im5vdC1jb25maWd1cmVkIn0iPgogICAgICAgICAgICAgICR7dGhpcy5kbnNDb25maWd1cmVkPyJDb25maWd1cmVkIjoiTm90IGNvbmZpZ3VyZWQifQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1sYWJlbCI+QUNNRSAoTGV0J3MgRW5jcnlwdCk8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSAke3RoaXMuYWNtZUNvbmZpZ3VyZWQ/ImNvbmZpZ3VyZWQiOiJub3QtY29uZmlndXJlZCJ9Ij4KICAgICAgICAgICAgICAke3RoaXMuYWNtZUNvbmZpZ3VyZWQ/IkNvbmZpZ3VyZWQiOiJOb3QgY29uZmlndXJlZCJ9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGdHKHRoaXMscCl9c3RhdGlje2dHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBNdWEsTkplLHFOYSxSSmU9ZigoKT0+e2xlKCk7TXVhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxOSmU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHFOYT0oKCk9PntsZXQgYT1baWUoInN6LXF1aWNrLWFjdGlvbnMtY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelF1aWNrQWN0aW9uc0NhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLE11YSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+ImFjdGlvbnMiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5hY3Rpb25zLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AuYWN0aW9ucz11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksTXVhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogODAwcHg7Ij4KICAgICAgPHN6LXF1aWNrLWFjdGlvbnMtY2FyZAogICAgICAgIC5hY3Rpb25zPSR7W3tsYWJlbDoiRGVwbG95IFNlcnZpY2UiLGljb246InBsdXMiLHByaW1hcnk6ITB9LHtsYWJlbDoiVmlldyBBbGwgU2VydmljZXMifSx7bGFiZWw6IlBsYXRmb3JtIFNlcnZpY2VzIn0se2xhYmVsOiJNYW5hZ2UgRG9tYWlucyJ9XX0KICAgICAgPjwvc3otcXVpY2stYWN0aW9ucy1jYXJkPgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIl07I2U9TkplKHRoaXMsbixbXSk7Z2V0IGFjdGlvbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgYWN0aW9ucyhjKXt0aGlzLiNlPWN9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjM2I4MmY2Iil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxZDRlZDgiLCIjMjU2M2ViIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zZWNvbmRhcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24taWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5RdWljayBBY3Rpb25zPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+Q29tbW9uIHRhc2tzIGFuZCBzaG9ydGN1dHM8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucyI+CiAgICAgICAgICAke3RoaXMuYWN0aW9ucy5tYXAoYz0+d2AKICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0iYWN0aW9uLWJ1dHRvbiAke2MucHJpbWFyeT8icHJpbWFyeSI6InNlY29uZGFyeSJ9IgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uQ2xpY2soYyl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHtjLmljb249PT0icGx1cyI/d2AKICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYWN0aW9uLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAke2MubGFiZWx9CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlQWN0aW9uQ2xpY2soYyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYWN0aW9uLWNsaWNrIix7ZGV0YWlsOmMsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksTkplKHRoaXMsbCl9c3RhdGlje05KZShyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIga3VhLE9KZSxWTmEsRkplPWYoKCk9PntsZSgpO2t1YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sT0plPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxWTmE9KCgpPT57bGV0IGE9W2llKCJzei1zdGF0dXMtZ3JpZC1jbHVzdGVyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6U3RhdHVzR3JpZENsdXN0ZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxrdWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4ic3RhdHMiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5zdGF0cywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnN0YXRzPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxrdWEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA5MDBweDsiPgogICAgICA8c3otc3RhdHVzLWdyaWQtY2x1c3RlcgogICAgICAgIC5zdGF0cz0ke3t0b3RhbFNlcnZpY2VzOjcscnVubmluZzo3LHN0b3BwZWQ6MCxkb2NrZXJTdGF0dXM6InJ1bm5pbmcifX0KICAgICAgPjwvc3otc3RhdHVzLWdyaWQtY2x1c3Rlcj4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhc2hib2FyZCBHcmlkcyJdOyNlPU9KZSh0aGlzLG4se3RvdGFsU2VydmljZXM6MCxydW5uaW5nOjAsc3RvcHBlZDowLGRvY2tlclN0YXR1czoic3RvcHBlZCJ9KTtnZXQgc3RhdHMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3RhdHMoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KICAgIGBdO2dldCB0aWxlcygpe3JldHVyblt7aWQ6InRvdGFsIix0aXRsZToiVG90YWwgU2VydmljZXMiLHZhbHVlOnRoaXMuc3RhdHMudG90YWxTZXJ2aWNlcyx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpzZXJ2ZXIifSx7aWQ6InJ1bm5pbmciLHRpdGxlOiJSdW5uaW5nIix2YWx1ZTp0aGlzLnN0YXRzLnJ1bm5pbmcsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6Y2hlY2siLGNvbG9yOiIjMjJjNTVlIn0se2lkOiJzdG9wcGVkIix0aXRsZToiU3RvcHBlZCIsdmFsdWU6dGhpcy5zdGF0cy5zdG9wcGVkLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmNpcmNsZVN0b3AiLGNvbG9yOnRoaXMuc3RhdHMuc3RvcHBlZD4wPyIjZjU5ZTBiIjp2b2lkIDB9LHtpZDoiZG9ja2VyIix0aXRsZToiRG9ja2VyIix2YWx1ZTp0aGlzLnN0YXRzLmRvY2tlclN0YXR1cz09PSJydW5uaW5nIj8iUnVubmluZyI6IlN0b3BwZWQiLHR5cGU6InRleHQiLGljb246Imx1Y2lkZTpjb250YWluZXIiLGNvbG9yOnRoaXMuc3RhdHMuZG9ja2VyU3RhdHVzPT09InJ1bm5pbmciPyIjMjJjNTVlIjoiI2VmNDQ0NCJ9XX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgLnRpbGVzPSR7dGhpcy50aWxlc30KICAgICAgICAubWluVGlsZVdpZHRoPSR7MjAwfQogICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLE9KZSh0aGlzLGwpfXN0YXRpY3tPSmUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIEJKZSxiRyxqTmEsSEplPWYoKCk9PntsZSgpO19KZSgpO0RKZSgpO0JKZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sYkc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGpOYT0oKCk9PntsZXQgYT1baWUoInN6LXN0YXR1cy1ncmlkLXNlcnZpY2VzIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6U3RhdHVzR3JpZFNlcnZpY2VzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7dHlwZTpBcnJheX0pXSxCSmUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXNvdXJjZVVzYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJyZXNvdXJjZVVzYWdlImluIHYsImhhcyIpLGdldDpzKHY9PnYucmVzb3VyY2VVc2FnZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnJlc291cmNlVXNhZ2U9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLEJKZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYXRmb3JtU2VydmljZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InBsYXRmb3JtU2VydmljZXMiaW4gdiwiaGFzIiksZ2V0OnModj0+di5wbGF0Zm9ybVNlcnZpY2VzLCJnZXQiKSxzZXQ6cygodix4KT0+e3YucGxhdGZvcm1TZXJ2aWNlcz14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksQkplKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1zdGF0dXMtZ3JpZC1zZXJ2aWNlcwogICAgICAgIC5yZXNvdXJjZVVzYWdlPSR7e2NwdTo0NSxtZW1vcnlVc2VkOiI0Ljk2IEdCIixtZW1vcnlUb3RhbDoiOCBHQiIsbmV0d29ya0luOiIxLjIgTUIvcyIsbmV0d29ya091dDoiMC44IE1CL3MiLHRvcENvbnN1bWVyczpbe25hbWU6ImFwaS1zZXJ2aWNlIixtZW1vcnk6IjUxMiBNQiJ9LHtuYW1lOiJ3ZWItZnJvbnRlbmQiLG1lbW9yeToiMjU2IE1CIn0se25hbWU6IndvcmtlciIsbWVtb3J5OiIxMjggTUIifV19fQogICAgICAgIC5wbGF0Zm9ybVNlcnZpY2VzPSR7W3tuYW1lOiJNb25nb0RCIixzdGF0dXM6IjEgREIiLHJ1bm5pbmc6ITB9LHtuYW1lOiJTMyBTdG9yYWdlIixzdGF0dXM6IjEgYnVja2V0IixydW5uaW5nOiEwfSx7bmFtZToiQ2xpY2tIb3VzZSIsc3RhdHVzOiJTdG9wcGVkIixydW5uaW5nOiExfSx7bmFtZToiUmVkaXMgQ2FjaGUiLHN0YXR1czoiUnVubmluZyIscnVubmluZzohMH1dfQogICAgICA+PC9zei1zdGF0dXMtZ3JpZC1zZXJ2aWNlcz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhc2hib2FyZCBHcmlkcyJdOyNlPWJHKHRoaXMsbix7Y3B1OjAsbWVtb3J5VXNlZDoiMCBHQiIsbWVtb3J5VG90YWw6IjAgR0IiLG5ldHdvcmtJbjoiMCBNQi9zIixuZXR3b3JrT3V0OiIwIE1CL3MiLHRvcENvbnN1bWVyczpbXX0pO2dldCByZXNvdXJjZVVzYWdlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlc291cmNlVXNhZ2UobSl7dGhpcy4jZT1tfSN0PShiRyh0aGlzLGwpLGJHKHRoaXMsYyxbXSkpO2dldCBwbGF0Zm9ybVNlcnZpY2VzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBsYXRmb3JtU2VydmljZXMobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJncmlkIj4KICAgICAgICA8c3otcmVzb3VyY2UtdXNhZ2UtY2FyZAogICAgICAgICAgLmRhdGE9JHt0aGlzLnJlc291cmNlVXNhZ2V9CiAgICAgICAgPjwvc3otcmVzb3VyY2UtdXNhZ2UtY2FyZD4KICAgICAgICA8c3otcGxhdGZvcm0tc2VydmljZXMtY2FyZAogICAgICAgICAgLnNlcnZpY2VzPSR7dGhpcy5wbGF0Zm9ybVNlcnZpY2VzfQogICAgICAgID48L3N6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQ+CiAgICAgIDwvZGl2PgogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksYkcodGhpcyxwKX1zdGF0aWN7Ykcocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIHBpZSxTNSxVTmEscUplPWYoKCk9PntsZSgpO0xKZSgpO1BKZSgpO0FKZSgpO3BpZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUzU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFVOYT0oKCk9PntsZXQgYT1baWUoInN6LXN0YXR1cy1ncmlkLW5ldHdvcmsiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pTdGF0dXNHcmlkTmV0d29yayIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6T2JqZWN0fSldLHU9WyQoe3R5cGU6T2JqZWN0fSldLHBpZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRyYWZmaWMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InRyYWZmaWMiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy50cmFmZmljLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cudHJhZmZpYz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCkscGllKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJveHkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InByb3h5ImluIGcsImhhcyIpLGdldDpzKGc9PmcucHJveHksImdldCIpLHNldDpzKChnLHkpPT57Zy5wcm94eT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCkscGllKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2VydGlmaWNhdGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJjZXJ0aWZpY2F0ZXMiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5jZXJ0aWZpY2F0ZXMsImdldCIpLHNldDpzKChnLHkpPT57Zy5jZXJ0aWZpY2F0ZXM9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLHBpZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDE0MDBweDsiPgogICAgICA8c3otc3RhdHVzLWdyaWQtbmV0d29yawogICAgICAgIC50cmFmZmljPSR7e3JlcXVlc3RzOjEyNTQyMCxlcnJvcnM6MTUwLGVycm9yUGVyY2VudDouMTIsYXZnUmVzcG9uc2U6NDUscmVxUGVyTWluOjg0NyxzdGF0dXMyeHg6OTUuMixzdGF0dXMzeHg6Mi4xLHN0YXR1czR4eDoyLjMsc3RhdHVzNXh4Oi40fX0KICAgICAgICAucHJveHk9JHt7aHR0cFBvcnQ6IjgwIixodHRwc1BvcnQ6IjQ0MyIsaHR0cEFjdGl2ZTohMCxodHRwc0FjdGl2ZTohMCxyb3V0ZUNvdW50OiIxMiJ9fQogICAgICAgIC5jZXJ0aWZpY2F0ZXM9JHt7dmFsaWQ6OCxleHBpcmluZzoyLGV4cGlyZWQ6MH19CiAgICAgID48L3N6LXN0YXR1cy1ncmlkLW5ldHdvcms+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQgR3JpZHMiXTsjZT1TNSh0aGlzLG4se3JlcXVlc3RzOjAsZXJyb3JzOjAsZXJyb3JQZXJjZW50OjAsYXZnUmVzcG9uc2U6MCxyZXFQZXJNaW46MCxzdGF0dXMyeHg6MCxzdGF0dXMzeHg6MCxzdGF0dXM0eHg6MCxzdGF0dXM1eHg6MH0pO2dldCB0cmFmZmljKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRyYWZmaWMoYil7dGhpcy4jZT1ifSN0PShTNSh0aGlzLGwpLFM1KHRoaXMsYyx7aHR0cFBvcnQ6IjgwIixodHRwc1BvcnQ6IjQ0MyIsaHR0cEFjdGl2ZTohMSxodHRwc0FjdGl2ZTohMSxyb3V0ZUNvdW50OiIwIn0pKTtnZXQgcHJveHkoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcHJveHkoYil7dGhpcy4jdD1ifSNhPShTNSh0aGlzLHApLFM1KHRoaXMsbSx7dmFsaWQ6MCxleHBpcmluZzowLGV4cGlyZWQ6MH0pKTtnZXQgY2VydGlmaWNhdGVzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGNlcnRpZmljYXRlcyhiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgICB9CgogICAgICAuZ3JpZCA+ICogewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7CiAgICAgICAgLmdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDFmciAxZnI7CiAgICAgICAgfQogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZ3JpZCI+CiAgICAgICAgPHN6LXRyYWZmaWMtY2FyZAogICAgICAgICAgLmRhdGE9JHt0aGlzLnRyYWZmaWN9CiAgICAgICAgPjwvc3otdHJhZmZpYy1jYXJkPgogICAgICAgIDxzei1yZXZlcnNlLXByb3h5LWNhcmQKICAgICAgICAgIGh0dHBQb3J0PSIke3RoaXMucHJveHkuaHR0cFBvcnR9IgogICAgICAgICAgaHR0cHNQb3J0PSIke3RoaXMucHJveHkuaHR0cHNQb3J0fSIKICAgICAgICAgID9odHRwQWN0aXZlPSR7dGhpcy5wcm94eS5odHRwQWN0aXZlfQogICAgICAgICAgP2h0dHBzQWN0aXZlPSR7dGhpcy5wcm94eS5odHRwc0FjdGl2ZX0KICAgICAgICAgIHJvdXRlQ291bnQ9IiR7dGhpcy5wcm94eS5yb3V0ZUNvdW50fSIKICAgICAgICA+PC9zei1yZXZlcnNlLXByb3h5LWNhcmQ+CiAgICAgICAgPHN6LWNlcnRpZmljYXRlcy1jYXJkCiAgICAgICAgICB2YWxpZD0iJHt0aGlzLmNlcnRpZmljYXRlcy52YWxpZH0iCiAgICAgICAgICBleHBpcmluZz0iJHt0aGlzLmNlcnRpZmljYXRlcy5leHBpcmluZ30iCiAgICAgICAgICBleHBpcmVkPSIke3RoaXMuY2VydGlmaWNhdGVzLmV4cGlyZWR9IgogICAgICAgID48L3N6LWNlcnRpZmljYXRlcy1jYXJkPgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFM1KHRoaXMsdil9c3RhdGlje1M1KHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBmaWUsejUsV05hLFZKZT1mKCgpPT57bGUoKTtJSmUoKTtSSmUoKTtmaWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHo1PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxXTmE9KCgpPT57bGV0IGE9W2llKCJzei1zdGF0dXMtZ3JpZC1pbmZyYSIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelN0YXR1c0dyaWRJbmZyYSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6Qm9vbGVhbn0pXSxkPVskKHt0eXBlOkJvb2xlYW59KV0sdT1bJCh7dHlwZTpBcnJheX0pXSxmaWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkbnNDb25maWd1cmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJkbnNDb25maWd1cmVkImluIGcsImhhcyIpLGdldDpzKGc9PmcuZG5zQ29uZmlndXJlZCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmRuc0NvbmZpZ3VyZWQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLGZpZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjbWVDb25maWd1cmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJhY21lQ29uZmlndXJlZCJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmFjbWVDb25maWd1cmVkLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuYWNtZUNvbmZpZ3VyZWQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLGZpZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImFjdGlvbnMiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5hY3Rpb25zLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuYWN0aW9ucz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG0sdiksZmllKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1zdGF0dXMtZ3JpZC1pbmZyYQogICAgICAgIGRuc0NvbmZpZ3VyZWQKICAgICAgICBhY21lQ29uZmlndXJlZAogICAgICAgIC5hY3Rpb25zPSR7W3tsYWJlbDoiRGVwbG95IFNlcnZpY2UiLGljb246InBsdXMiLHByaW1hcnk6ITB9LHtsYWJlbDoiVmlldyBBbGwgU2VydmljZXMifSx7bGFiZWw6IlBsYXRmb3JtIFNlcnZpY2VzIn0se2xhYmVsOiJNYW5hZ2UgRG9tYWlucyJ9XX0KICAgICAgPjwvc3otc3RhdHVzLWdyaWQtaW5mcmE+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQgR3JpZHMiXTsjZT16NSh0aGlzLG4sITEpO2dldCBkbnNDb25maWd1cmVkKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRuc0NvbmZpZ3VyZWQoYil7dGhpcy4jZT1ifSN0PSh6NSh0aGlzLGwpLHo1KHRoaXMsYywhMSkpO2dldCBhY21lQ29uZmlndXJlZCgpe3JldHVybiB0aGlzLiN0fXNldCBhY21lQ29uZmlndXJlZChiKXt0aGlzLiN0PWJ9I2E9KHo1KHRoaXMscCksejUodGhpcyxtLFtdKSk7Z2V0IGFjdGlvbnMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYWN0aW9ucyhiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgICB9CgogICAgICAuZ3JpZCA+ICogewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7CiAgICAgICAgLmdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyOwogICAgICAgIH0KICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQiPgogICAgICAgIDxzei1kbnMtc3NsLWNhcmQKICAgICAgICAgID9kbnNDb25maWd1cmVkPSR7dGhpcy5kbnNDb25maWd1cmVkfQogICAgICAgICAgP2FjbWVDb25maWd1cmVkPSR7dGhpcy5hY21lQ29uZmlndXJlZH0KICAgICAgICA+PC9zei1kbnMtc3NsLWNhcmQ+CiAgICAgICAgPHN6LXF1aWNrLWFjdGlvbnMtY2FyZAogICAgICAgICAgLmFjdGlvbnM9JHt0aGlzLmFjdGlvbnN9CiAgICAgICAgICBAYWN0aW9uLWNsaWNrPSR7Yj0+dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYWN0aW9uLWNsaWNrIix7ZGV0YWlsOmIuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9CiAgICAgICAgPjwvc3otcXVpY2stYWN0aW9ucy1jYXJkPgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHo1KHRoaXMsdil9c3RhdGlje3o1KHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBTdWEsakplLEdOYSx6dWE9ZigoKT0+e2xlKCk7RkplKCk7SEplKCk7cUplKCk7VkplKCk7U3VhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxqSmU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEdOYT0oKCk9PntsZXQgYT1baWUoInN6LWRhc2hib2FyZC12aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGFzaGJvYXJkVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLFN1YSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+ImRhdGEiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5kYXRhLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AuZGF0YT11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksU3VhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTQwMHB4OyI+CiAgICAgIDxzei1kYXNoYm9hcmQtdmlldwogICAgICAgIC5kYXRhPSR7e2NsdXN0ZXI6e3RvdGFsU2VydmljZXM6NyxydW5uaW5nOjcsc3RvcHBlZDowLGRvY2tlclN0YXR1czoicnVubmluZyJ9LHJlc291cmNlVXNhZ2U6e2NwdTouNSxtZW1vcnlVc2VkOiIxOTEgTUIiLG1lbW9yeVRvdGFsOiI0MjkuMiBHQiIsbmV0d29ya0luOiIzOC45IEtCL3MiLG5ldHdvcmtPdXQ6IjEuNyBLQi9zIix0b3BDb25zdW1lcnM6W3tuYW1lOiJ0ZXN0LW5naW54IixtZW1vcnk6IjMyLjEgTUIifSx7bmFtZToidGVzdC12MiIsbWVtb3J5OiIzMS43IE1CIn1dfSxwbGF0Zm9ybVNlcnZpY2VzOlt7bmFtZToiTW9uZ29EQiIsc3RhdHVzOiIxIERCIixydW5uaW5nOiEwfSx7bmFtZToiUzMgU3RvcmFnZSAoTWluSU8pIixzdGF0dXM6IjEgYnVja2V0IixydW5uaW5nOiEwfSx7bmFtZToiU21hcnRQcm94eSBSZXZlcnNlIFByb3h5IixzdGF0dXM6IlJ1bm5pbmciLHJ1bm5pbmc6ITB9LHtuYW1lOiJDbGlja0hvdXNlIixzdGF0dXM6IjEgREIiLHJ1bm5pbmc6ITB9XSx0cmFmZmljOntyZXF1ZXN0czoxMjUwLGVycm9yczoxNSxlcnJvclBlcmNlbnQ6MS4yLGF2Z1Jlc3BvbnNlOjE0NSxyZXFQZXJNaW46MjEsc3RhdHVzMnh4Ojg1LHN0YXR1czN4eDo1LHN0YXR1czR4eDo4LHN0YXR1czV4eDoyfSxwcm94eTp7aHR0cFBvcnQ6IjgwIixodHRwc1BvcnQ6IjQ0MyIsaHR0cEFjdGl2ZTohMCxodHRwc0FjdGl2ZTohMCxyb3V0ZUNvdW50OiIxMiJ9LGNlcnRpZmljYXRlczp7dmFsaWQ6OCxleHBpcmluZzoyLGV4cGlyZWQ6MH0sZG5zQ29uZmlndXJlZDohMCxhY21lQ29uZmlndXJlZDohMCxxdWlja0FjdGlvbnM6W3tsYWJlbDoiRGVwbG95IFNlcnZpY2UiLGljb246InBsdXMiLHByaW1hcnk6ITB9LHtsYWJlbDoiVmlldyBBbGwgU2VydmljZXMifSx7bGFiZWw6IlBsYXRmb3JtIFNlcnZpY2VzIn0se2xhYmVsOiJNYW5hZ2UgRG9tYWlucyJ9XX19CiAgICAgID48L3N6LWRhc2hib2FyZC12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIl07I2U9akplKHRoaXMsbix7Y2x1c3Rlcjp7dG90YWxTZXJ2aWNlczowLHJ1bm5pbmc6MCxzdG9wcGVkOjAsZG9ja2VyU3RhdHVzOiJzdG9wcGVkIn0scmVzb3VyY2VVc2FnZTp7Y3B1OjAsbWVtb3J5VXNlZDoiMCBNQiIsbWVtb3J5VG90YWw6IjAgR0IiLG5ldHdvcmtJbjoiMCBLQi9zIixuZXR3b3JrT3V0OiIwIEtCL3MiLHRvcENvbnN1bWVyczpbXX0scGxhdGZvcm1TZXJ2aWNlczpbXSx0cmFmZmljOntyZXF1ZXN0czowLGVycm9yczowLGVycm9yUGVyY2VudDowLGF2Z1Jlc3BvbnNlOjAscmVxUGVyTWluOjAsc3RhdHVzMnh4OjAsc3RhdHVzM3h4OjAsc3RhdHVzNHh4OjAsc3RhdHVzNXh4OjB9LHByb3h5OntodHRwUG9ydDoiODAiLGh0dHBzUG9ydDoiNDQzIixodHRwQWN0aXZlOiExLGh0dHBzQWN0aXZlOiExLHJvdXRlQ291bnQ6IjAifSxjZXJ0aWZpY2F0ZXM6e3ZhbGlkOjAsZXhwaXJpbmc6MCxleHBpcmVkOjB9LGRuc0NvbmZpZ3VyZWQ6ITEsYWNtZUNvbmZpZ3VyZWQ6ITEscXVpY2tBY3Rpb25zOltdfSk7Z2V0IGRhdGEoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGF0YShjKXt0aGlzLiNlPWN9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmRhc2hib2FyZCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRhc2hib2FyZCI+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5DbHVzdGVyIE92ZXJ2aWV3PC9oMj4KICAgICAgICAgIDxzei1zdGF0dXMtZ3JpZC1jbHVzdGVyCiAgICAgICAgICAgIC5zdGF0cz0ke3RoaXMuZGF0YS5jbHVzdGVyfQogICAgICAgICAgPjwvc3otc3RhdHVzLWdyaWQtY2x1c3Rlcj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U2VydmljZXMgJiBSZXNvdXJjZXM8L2gyPgogICAgICAgICAgPHN6LXN0YXR1cy1ncmlkLXNlcnZpY2VzCiAgICAgICAgICAgIC5yZXNvdXJjZVVzYWdlPSR7dGhpcy5kYXRhLnJlc291cmNlVXNhZ2V9CiAgICAgICAgICAgIC5wbGF0Zm9ybVNlcnZpY2VzPSR7dGhpcy5kYXRhLnBsYXRmb3JtU2VydmljZXN9CiAgICAgICAgICA+PC9zei1zdGF0dXMtZ3JpZC1zZXJ2aWNlcz4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TmV0d29yayAmIFRyYWZmaWM8L2gyPgogICAgICAgICAgPHN6LXN0YXR1cy1ncmlkLW5ldHdvcmsKICAgICAgICAgICAgLnRyYWZmaWM9JHt0aGlzLmRhdGEudHJhZmZpY30KICAgICAgICAgICAgLnByb3h5PSR7dGhpcy5kYXRhLnByb3h5fQogICAgICAgICAgICAuY2VydGlmaWNhdGVzPSR7dGhpcy5kYXRhLmNlcnRpZmljYXRlc30KICAgICAgICAgID48L3N6LXN0YXR1cy1ncmlkLW5ldHdvcms+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkluZnJhc3RydWN0dXJlPC9oMj4KICAgICAgICAgIDxzei1zdGF0dXMtZ3JpZC1pbmZyYQogICAgICAgICAgICA/ZG5zQ29uZmlndXJlZD0ke3RoaXMuZGF0YS5kbnNDb25maWd1cmVkfQogICAgICAgICAgICA/YWNtZUNvbmZpZ3VyZWQ9JHt0aGlzLmRhdGEuYWNtZUNvbmZpZ3VyZWR9CiAgICAgICAgICAgIC5hY3Rpb25zPSR7dGhpcy5kYXRhLnF1aWNrQWN0aW9uc30KICAgICAgICAgICAgQGFjdGlvbi1jbGljaz0ke2M9PnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFjdGlvbi1jbGljayIse2RldGFpbDpjLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfQogICAgICAgICAgPjwvc3otc3RhdHVzLWdyaWQtaW5mcmE+CiAgICAgICAgPC9zZWN0aW9uPgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGpKZSh0aGlzLGwpfXN0YXRpY3tqSmUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIFY0LGhvLFlOYSxDdWE9ZigoKT0+e2xlKCk7VjQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGhvPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxZTmE9KCgpPT57bGV0IGE9W2llKCJzei1uZXR3b3JrLXByb3h5LXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXTt2YXIgQj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pOZXR3b3JrUHJveHlWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IE09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0seD1bJCh7dHlwZTpTdHJpbmd9KV0seT1bJCh7dHlwZTpBcnJheX0pXSxOPVskKHt0eXBlOkFycmF5fSldLE89WyQoe3R5cGU6Qm9vbGVhbn0pXSxWNCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByb3h5U3RhdHVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJwcm94eVN0YXR1cyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnByb3h5U3RhdHVzLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MucHJveHlTdGF0dXM9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxuLGwpLFY0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicm91dGVDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4icm91dGVDb3VudCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnJvdXRlQ291bnQsImdldCIpLHNldDpzKChTLEUpPT57Uy5yb3V0ZUNvdW50PUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxWNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNlcnRpZmljYXRlQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImNlcnRpZmljYXRlQ291bnQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5jZXJ0aWZpY2F0ZUNvdW50LCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MuY2VydGlmaWNhdGVDb3VudD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksVjQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YXJnZXRDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFyZ2V0Q291bnQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50YXJnZXRDb3VudCwiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLnRhcmdldENvdW50PUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixnKSxWNCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhcmdldHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InRhcmdldHMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50YXJnZXRzLCJnZXQiKSxzZXQ6cygoUyxFKT0+e1MudGFyZ2V0cz1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGssQyksVjQodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2dzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJsb2dzImluIFMsImhhcyIpLGdldDpzKFM9PlMubG9ncywiZ2V0Iiksc2V0OnMoKFMsRSk9PntTLmxvZ3M9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLFY0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RyZWFtaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzdHJlYW1pbmciaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zdHJlYW1pbmcsImdldCIpLHNldDpzKChTLEUpPT57Uy5zdHJlYW1pbmc9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxULFApLFY0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTQwMHB4OyI+CiAgICAgIDxzei1uZXR3b3JrLXByb3h5LXZpZXcKICAgICAgICBwcm94eVN0YXR1cz0icnVubmluZyIKICAgICAgICByb3V0ZUNvdW50PSIzIgogICAgICAgIGNlcnRpZmljYXRlQ291bnQ9IjIiCiAgICAgICAgdGFyZ2V0Q291bnQ9IjExIgogICAgICAgIC50YXJnZXRzPSR7W3t0eXBlOiJzZXJ2aWNlIixuYW1lOiJ0ZXN0LW5naW54Iixkb21haW46ImFwcC5ibGV1LmRlIix0YXJnZXQ6ImxvY2FsaG9zdDo4MDgwIixzdGF0dXM6InJ1bm5pbmcifSx7dHlwZToic2VydmljZSIsbmFtZToiaGVsbG8td29ybGQiLGRvbWFpbjoiaGVsbG8udGFzay52YyIsdGFyZ2V0OiJsb2NhbGhvc3Q6ODA4MSIsc3RhdHVzOiJydW5uaW5nIn0se3R5cGU6InJlZ2lzdHJ5IixuYW1lOiJvbmVib3gtcmVnaXN0cnkiLGRvbWFpbjpudWxsLHRhcmdldDoibG9jYWxob3N0OjQwMDAiLHN0YXR1czoicnVubmluZyJ9LHt0eXBlOiJwbGF0Zm9ybSIsbmFtZToiTW9uZ29EQiIsZG9tYWluOm51bGwsdGFyZ2V0OiJsb2NhbGhvc3Q6MjcwMTciLHN0YXR1czoicnVubmluZyJ9LHt0eXBlOiJwbGF0Zm9ybSIsbmFtZToiQ2xpY2tIb3VzZSIsZG9tYWluOm51bGwsdGFyZ2V0OiJsb2NhbGhvc3Q6ODEyMyIsc3RhdHVzOiJydW5uaW5nIn1dfQogICAgICAgIC5sb2dzPSR7W3t0aW1lc3RhbXA6IjIwMjQtMDEtMDIgMTA6MTU6MzIiLG1ldGhvZDoiR0VUIixwYXRoOiIvYXBpL3NlcnZpY2VzIixzdGF0dXM6MjAwLGR1cmF0aW9uOjQ1LGlwOiIxOTIuMTY4LjEuMTAwIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0wMiAxMDoxNTozMCIsbWV0aG9kOiJQT1NUIixwYXRoOiIvYXBpL2F1dGgvbG9naW4iLHN0YXR1czoyMDAsZHVyYXRpb246MTIwLGlwOiIxOTIuMTY4LjEuMTAxIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0wMiAxMDoxNToyOCIsbWV0aG9kOiJHRVQiLHBhdGg6Ii9zdGF0aWMvYnVuZGxlLmpzIixzdGF0dXM6MzA0LGR1cmF0aW9uOjUsaXA6IjE5Mi4xNjguMS4xMDAifV19CiAgICAgID48L3N6LW5ldHdvcmstcHJveHktdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT1obyh0aGlzLG4sInN0b3BwZWQiKTtnZXQgcHJveHlTdGF0dXMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcHJveHlTdGF0dXMoTSl7dGhpcy4jZT1NfSN0PShobyh0aGlzLGwpLGhvKHRoaXMsYywiMCIpKTtnZXQgcm91dGVDb3VudCgpe3JldHVybiB0aGlzLiN0fXNldCByb3V0ZUNvdW50KE0pe3RoaXMuI3Q9TX0jYT0oaG8odGhpcyxwKSxobyh0aGlzLG0sIjAiKSk7Z2V0IGNlcnRpZmljYXRlQ291bnQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgY2VydGlmaWNhdGVDb3VudChNKXt0aGlzLiNhPU19I3I9KGhvKHRoaXMsdiksaG8odGhpcyxiLCIwIikpO2dldCB0YXJnZXRDb3VudCgpe3JldHVybiB0aGlzLiNyfXNldCB0YXJnZXRDb3VudChNKXt0aGlzLiNyPU19I3M9KGhvKHRoaXMsZyksaG8odGhpcyxrLFtdKSk7Z2V0IHRhcmdldHMoKXtyZXR1cm4gdGhpcy4jc31zZXQgdGFyZ2V0cyhNKXt0aGlzLiNzPU19I2k9KGhvKHRoaXMsQyksaG8odGhpcyxfLFtdKSk7Z2V0IGxvZ3MoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbG9ncyhNKXt0aGlzLiNpPU19I289KGhvKHRoaXMseiksaG8odGhpcyxULCExKSk7Z2V0IHN0cmVhbWluZygpe3JldHVybiB0aGlzLiNvfXNldCBzdHJlYW1pbmcoTSl7dGhpcy4jbz1NfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnJlZnJlc2gtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAucmVmcmVzaC1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgZGVlcy1zdGF0c2dyaWQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24taGVhZGVyIHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkaW5nIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuc2VjdGlvbi1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAudGlsZS1idXR0b246Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAudGlsZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wOCkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1MCUpIiwiaHNsKDIxMy4xIDkzLjklIDc1JSkiKX07CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5kYW5nZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5kYW5nZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDgwcHggMS41ZnIgMS41ZnIgMS41ZnIgODBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogODBweCAxLjVmciAxLjVmciAxLjVmciA4MHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudGFibGUtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLnR5cGUtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgfQoKICAgICAgLnR5cGUtYmFkZ2Uuc2VydmljZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAudHlwZS1iYWRnZS5yZWdpc3RyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmM2U4ZmYiLCJyZ2JhKDE2OCwgODUsIDI0NywgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5MzMzZWEiLCIjYTg1NWY3Iil9OwogICAgICB9CgogICAgICAudHlwZS1iYWRnZS5wbGF0Zm9ybSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWYzYzciLCJyZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkOTc3MDYiLCIjZjU5ZTBiIil9OwogICAgICB9CgogICAgICAudGFyZ2V0LXZhbHVlIHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucnVubmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uuc3RvcHBlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5sb2dzLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQoKICAgICAgLmxvZy1lbnRyeSB7CiAgICAgICAgcGFkZGluZzogNHB4IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmxvZy10aW1lc3RhbXAgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5sb2ctbWV0aG9kIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5sb2ctc3RhdHVzLTJ4eCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmxvZy1zdGF0dXMtM3h4IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAubG9nLXN0YXR1cy00eHggewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5sb2ctc3RhdHVzLTV4eCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LWxvZ3MgewogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO2dldCB0aWxlcygpe3JldHVyblt7aWQ6InByb3h5LXN0YXR1cyIsdGl0bGU6IlByb3h5IFN0YXR1cyIsdmFsdWU6dGhpcy5wcm94eVN0YXR1cz09PSJydW5uaW5nIj8iUnVubmluZyI6IlN0b3BwZWQiLHR5cGU6InRleHQiLGljb246Imx1Y2lkZTpzZXJ2ZXIiLGNvbG9yOnRoaXMucHJveHlTdGF0dXM9PT0icnVubmluZyI/IiMyMmM1NWUiOiIjZWY0NDQ0In0se2lkOiJyb3V0ZXMiLHRpdGxlOiJSb3V0ZXMiLHZhbHVlOnRoaXMucm91dGVDb3VudCx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpzZXJ2ZXIifSx7aWQ6ImNlcnRpZmljYXRlcyIsdGl0bGU6IkNlcnRpZmljYXRlcyIsdmFsdWU6dGhpcy5jZXJ0aWZpY2F0ZUNvdW50LHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmNoZWNrIn0se2lkOiJ0YXJnZXRzIix0aXRsZToiVGFyZ2V0cyIsdmFsdWU6dGhpcy50YXJnZXRDb3VudCx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpzZXJ2ZXIifV19cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMiPgogICAgICAgIDxidXR0b24gY2xhc3M9InJlZnJlc2gtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSZWZyZXNoKCl9PlJlZnJlc2g8L2J1dHRvbj4KICAgICAgPC9kaXY+CgogICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAudGlsZXM9JHt0aGlzLnRpbGVzfQogICAgICAgIC5taW5UaWxlV2lkdGg9JHsyMDB9CiAgICAgID48L2RlZXMtc3RhdHNncmlkPgoKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5UcmFmZmljIFRhcmdldHM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5TZXJ2aWNlcywgcmVnaXN0cnksIGFuZCBwbGF0Zm9ybSBzZXJ2aWNlcyB3aXRoIHRoZWlyIHJvdXRpbmcgaW5mbzwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj5UeXBlPC9zcGFuPgogICAgICAgICAgPHNwYW4+TmFtZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlRhcmdldDwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlN0YXR1czwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMudGFyZ2V0cy5tYXAoTT0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJvdyIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlVGFyZ2V0Q2xpY2soTSl9PgogICAgICAgICAgICA8c3Bhbj48c3BhbiBjbGFzcz0idHlwZS1iYWRnZSAke00udHlwZX0iPiR7TS50eXBlfTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPiR7TS5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+JHtNLmRvbWFpbnx8Ii0ifTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhcmdldC12YWx1ZSI+JHtNLnRhcmdldH08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHtNLnN0YXR1c30iPiR7TS5zdGF0dXN9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApfQogICAgICA8L2RlZXMtdGlsZT4KCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRpbmciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QWNjZXNzIExvZ3M8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5SZWFsLXRpbWUgcHJveHkgYWNjZXNzIGxvZ3M8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJsb2dzLWNvbnRhaW5lciI+CiAgICAgICAgICAke3RoaXMubG9ncy5sZW5ndGg+MD90aGlzLmxvZ3MubWFwKE09PndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZy1lbnRyeSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxvZy10aW1lc3RhbXAiPiR7TS50aW1lc3RhbXB9PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsb2ctbWV0aG9kIj4ke00ubWV0aG9kfTwvc3Bhbj4KICAgICAgICAgICAgICAke00ucGF0aH0KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iJHt0aGlzLmdldFN0YXR1c0NsYXNzKE0uc3RhdHVzKX0iPiR7TS5zdGF0dXN9PC9zcGFuPgogICAgICAgICAgICAgICR7TS5kdXJhdGlvbn1tcwogICAgICAgICAgICAgICR7TS5pcH0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgKTp3YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1sb2dzIj5DbGljayAiU3RyZWFtIiB0byBzdGFydCBsaXZlIGFjY2VzcyBsb2cgc3RyZWFtaW5nPC9kaXY+CiAgICAgICAgICBgfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0ic2VjdGlvbi1mb290ZXIiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gJHt0aGlzLnN0cmVhbWluZz8iZGFuZ2VyIjoicHJpbWFyeSJ9IiBAY2xpY2s9JHsoKT0+dGhpcy50b2dnbGVTdHJlYW1pbmcoKX0+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgICAgJHt0aGlzLnN0cmVhbWluZz93YDxyZWN0IHg9IjYiIHk9IjYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz5gOndgPHBvbHlnb24gcG9pbnRzPSI1LDMgMTksMTIgNSwyMSIvPmB9CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAke3RoaXMuc3RyZWFtaW5nPyJTdG9wIjoiU3RyZWFtIn0KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNsZWFyTG9ncygpfT4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMyw2IDUsNiAyMSw2Ii8+PHBhdGggZD0iTTE5LDZ2MTRhMiwyLDAsMCwxLTIsMkg3YTIsMiwwLDAsMS0yLTJWNm0zLDBWNGEyLDIsMCwwLDEsMi0yaDRhMiwyLDAsMCwxLDIsMnYyIi8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBDbGVhciBsb2dzCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfWdldFN0YXR1c0NsYXNzKE0pe3JldHVybiBNPj01MDA/ImxvZy1zdGF0dXMtNXh4IjpNPj00MDA/ImxvZy1zdGF0dXMtNHh4IjpNPj0zMDA/ImxvZy1zdGF0dXMtM3h4IjoibG9nLXN0YXR1cy0yeHgifWhhbmRsZVJlZnJlc2goKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZWZyZXNoIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVUYXJnZXRDbGljayhNKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YXJnZXQtY2xpY2siLHtkZXRhaWw6TSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXRvZ2dsZVN0cmVhbWluZygpe3RoaXMuc3RyZWFtaW5nPSF0aGlzLnN0cmVhbWluZyx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzdHJlYW0tdG9nZ2xlIix7ZGV0YWlsOntzdHJlYW1pbmc6dGhpcy5zdHJlYW1pbmd9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ2xlYXJMb2dzKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xlYXItbG9ncyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGhvKHRoaXMsUCl9c3RhdGlje2hvKHIsdCl9fTtyZXR1cm4gQj1yfSkoKX0pO3ZhciBfdWEsVUplLEtOYSxUdWE9ZigoKT0+e2xlKCk7X3VhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxVSmU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEtOYT0oKCk9PntsZXQgYT1baWUoInN6LW5ldHdvcmstZG5zLXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pOZXR3b3JrRG5zVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sX3VhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVjb3JkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4icmVjb3JkcyJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLnJlY29yZHMsImdldCIpLHNldDpzKChwLHUpPT57cC5yZWNvcmRzPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxfdWEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMDAwcHg7Ij4KICAgICAgPHN6LW5ldHdvcmstZG5zLXZpZXcKICAgICAgICAucmVjb3Jkcz0ke1t7ZG9tYWluOiJwci50YXNrLnZjIix0eXBlOiJBIix2YWx1ZToiMTk1LjIwMS45OC4yMzIifSx7ZG9tYWluOiJvdXRsaW5lLnRhc2sudmMiLHR5cGU6IkEiLHZhbHVlOiIxOTUuMjAxLjk4LjIzMiJ9LHtkb21haW46Im5zMS50YXNrLnZjIix0eXBlOiJBIix2YWx1ZToiMjEyLjk1Ljk5LjEzMCJ9LHtkb21haW46ImJsZXUuZGUiLHR5cGU6IkEiLHZhbHVlOiIyMTIuOTUuOTkuMTMwIn0se2RvbWFpbjoibWFpbC5ibGV1LmRlIix0eXBlOiJNWCIsdmFsdWU6IjEwIG1haWwuYmxldS5kZSJ9XX0KICAgICAgPjwvc3otbmV0d29yay1kbnMtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT1VSmUodGhpcyxuLFtdKTtnZXQgcmVjb3Jkcygpe3JldHVybiB0aGlzLiNlfXNldCByZWNvcmRzKGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5zeW5jLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnN5bmMtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgIH0KCiAgICAgIC50YWJsZS1jb250YWluZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC50YWJsZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgODBweCAyZnIgMTAwcHg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciA4MHB4IDJmciAxMDBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudGFibGUtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmRvbWFpbiB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnR5cGUtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAudmFsdWUgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmRlbGV0ZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuZGVsZXRlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRlc2NyaXB0aW9uIj5NYW5hZ2UgRE5TIHJlY29yZHMgc3luY2VkIHdpdGggQ2xvdWRmbGFyZTwvc3Bhbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJzeW5jLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU3luYygpfT4KICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMCAxLTkgOW05LTlhOSA5IDAgMCAwLTktOW05IDlIM205IDlhOSA5IDAgMCAxLTktOW05IDljMS42NiAwIDMtNC4wMyAzLTlzLTEuMzQtOS0zLTltMCAxOGMtMS42NiAwLTMtNC4wMy0zLTlzMS4zNC05IDMtOSIvPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBTeW5jIENsb3VkZmxhcmUKICAgICAgICA8L2J1dHRvbj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj5Eb21haW48L3NwYW4+CiAgICAgICAgICA8c3Bhbj5UeXBlPC9zcGFuPgogICAgICAgICAgPHNwYW4+VmFsdWU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5BY3Rpb25zPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5yZWNvcmRzLmxlbmd0aD4wP3RoaXMucmVjb3Jkcy5tYXAoYz0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJvdyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb21haW4iPiR7Yy5kb21haW59PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj48c3BhbiBjbGFzcz0idHlwZS1iYWRnZSI+JHtjLnR5cGV9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InZhbHVlIj4ke2MudmFsdWV9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkZWxldGUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZWxldGUoYyl9PkRlbGV0ZTwvYnV0dG9uPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKTp3YAogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIEROUyByZWNvcmRzIGZvdW5kPC9kaXY+CiAgICAgICAgYH0KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZVN5bmMoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzeW5jIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZWxldGUoYyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlIix7ZGV0YWlsOmMsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksVUplKHRoaXMsbCl9c3RhdGlje1VKZShyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgV0plLHZHLFpOYSxMdWE9ZigoKT0+e2xlKCk7V0plPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx2Rz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sWk5hPSgoKT0+e2xldCBhPVtpZSgic3otbmV0d29yay1kb21haW5zLXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pOZXR3b3JrRG9tYWluc1ZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6T2JqZWN0fSldLFdKZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRvbWFpbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImRvbWFpbnMiaW4gdiwiaGFzIiksZ2V0OnModj0+di5kb21haW5zLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuZG9tYWlucz14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksV0plKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InN0YXRzImluIHYsImhhcyIpLGdldDpzKHY9PnYuc3RhdHMsImdldCIpLHNldDpzKCh2LHgpPT57di5zdGF0cz14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksV0plKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1uZXR3b3JrLWRvbWFpbnMtdmlldwogICAgICAgIC5kb21haW5zPSR7W3tkb21haW46ImJsZXUuZGUiLHByb3ZpZGVyOiJjbG91ZGZsYXJlIixzZXJ2aWNlQ291bnQ6MixjZXJ0aWZpY2F0ZVN0YXR1czoidmFsaWQiLGV4cGlyZXNJbjoiNTIgZGF5cyJ9LHtkb21haW46InRhc2sudmMiLHByb3ZpZGVyOiJjbG91ZGZsYXJlIixzZXJ2aWNlQ291bnQ6MSxjZXJ0aWZpY2F0ZVN0YXR1czoidmFsaWQiLGV4cGlyZXNJbjoiNTIgZGF5cyJ9LHtkb21haW46ImV4YW1wbGUuY29tIixwcm92aWRlcjoiY2xvdWRmbGFyZSIsc2VydmljZUNvdW50OjAsY2VydGlmaWNhdGVTdGF0dXM6ImV4cGlyaW5nIixleHBpcmVzSW46IjcgZGF5cyJ9XX0KICAgICAgICAuc3RhdHM9JHt7dG90YWw6Myx2YWxpZDoyLGV4cGlyaW5nOjEsZXhwaXJlZDowfX0KICAgICAgPjwvc3otbmV0d29yay1kb21haW5zLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJOZXR3b3JrIl07I2U9dkcodGhpcyxuLFtdKTtnZXQgZG9tYWlucygpe3JldHVybiB0aGlzLiNlfXNldCBkb21haW5zKG0pe3RoaXMuI2U9bX0jdD0odkcodGhpcyxsKSx2Ryh0aGlzLGMse3RvdGFsOjAsdmFsaWQ6MCxleHBpcmluZzowLGV4cGlyZWQ6MH0pKTtnZXQgc3RhdHMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc3RhdHMobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN5bmMtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc3luYy1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgfQoKICAgICAgZGVlcy1zdGF0c2dyaWQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC50YWJsZS1jb250YWluZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC50YWJsZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyIDgwcHggMTAwcHggMTAwcHggODBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDFmciA4MHB4IDEwMHB4IDEwMHB4IDgwcHg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudGFibGUtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmRvbWFpbi1uYW1lIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAucHJvdmlkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UudmFsaWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmV4cGlyaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjljMyIsInJnYmEoMjUwLCAyMDQsIDIxLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZXhwaXJlZCwKICAgICAgLnN0YXR1cy1iYWRnZS5wZW5kaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmV4cGlyZXMgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC52aWV3LWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudmlldy1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO2dldCB0aWxlcygpe3JldHVyblt7aWQ6InRvdGFsIix0aXRsZToiVG90YWwgRG9tYWlucyIsdmFsdWU6dGhpcy5zdGF0cy50b3RhbCx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpnbG9iZSJ9LHtpZDoidmFsaWQiLHRpdGxlOiJWYWxpZCBDZXJ0aWZpY2F0ZXMiLHZhbHVlOnRoaXMuc3RhdHMudmFsaWQsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6c2hpZWxkQ2hlY2siLGNvbG9yOiIjMjJjNTVlIn0se2lkOiJleHBpcmluZyIsdGl0bGU6IkV4cGlyaW5nIFNvb24iLHZhbHVlOnRoaXMuc3RhdHMuZXhwaXJpbmcsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6c2hpZWxkQWxlcnQiLGNvbG9yOnRoaXMuc3RhdHMuZXhwaXJpbmc+MD8iI2Y1OWUwYiI6dm9pZCAwfSx7aWQ6ImV4cGlyZWQiLHRpdGxlOiJFeHBpcmVkL1BlbmRpbmciLHZhbHVlOnRoaXMuc3RhdHMuZXhwaXJlZCx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpjaXJjbGVPZmYiLGNvbG9yOnRoaXMuc3RhdHMuZXhwaXJlZD4wPyIjZWY0NDQ0Ijp2b2lkIDB9XX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iZGVzY3JpcHRpb24iPk1hbmFnZSBkb21haW5zIGFuZCBTU0wgY2VydGlmaWNhdGVzPC9zcGFuPgogICAgICAgIDxidXR0b24gY2xhc3M9InN5bmMtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTeW5jKCl9PlN5bmMgQ2xvdWRmbGFyZTwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgIC50aWxlcz0ke3RoaXMudGlsZXN9CiAgICAgICAgLm1pblRpbGVXaWR0aD0kezIwMH0KICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CgogICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj5Eb21haW48L3NwYW4+CiAgICAgICAgICA8c3Bhbj5Qcm92aWRlcjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlNlcnZpY2VzPC9zcGFuPgogICAgICAgICAgPHNwYW4+Q2VydGlmaWNhdGU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5FeHBpcmVzPC9zcGFuPgogICAgICAgICAgPHNwYW4+QWN0aW9uczwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuZG9tYWlucy5sZW5ndGg+MD90aGlzLmRvbWFpbnMubWFwKG09PndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yb3ciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZG9tYWluLW5hbWUiPiR7bS5kb21haW59PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvdmlkZXIiPiR7bS5wcm92aWRlcn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPiR7bS5zZXJ2aWNlQ291bnR9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj48c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7bS5jZXJ0aWZpY2F0ZVN0YXR1c30iPiR7bS5jZXJ0aWZpY2F0ZVN0YXR1c308L3NwYW4+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXhwaXJlcyI+JHttLmV4cGlyZXNJbnx8Ii0ifTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idmlldy1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVZpZXcobSl9PlZpZXc8L2J1dHRvbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCk6d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBkb21haW5zIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICBgfQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlU3luYygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN5bmMiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVZpZXcobSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidmlldyIse2RldGFpbDptLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHZHKHRoaXMscCl9c3RhdGlje3ZHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBHSmUseEcsWE5hLCR1YT1mKCgpPT57bGUoKTtHSmU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHhHPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxYTmE9KCgpPT57bGV0IGE9W2llKCJzei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6UmVnaXN0cnlBZHZlcnRpc2VtZW50Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sR0plKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJzdGF0dXMiaW4gdiwiaGFzIiksZ2V0OnModj0+di5zdGF0dXMsImdldCIpLHNldDpzKCh2LHgpPT57di5zdGF0dXM9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLEdKZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlZ2lzdHJ5VXJsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJyZWdpc3RyeVVybCJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnJlZ2lzdHJ5VXJsLCJnZXQiKSxzZXQ6cygodix4KT0+e3YucmVnaXN0cnlVcmw9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLEdKZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDgwMHB4OyI+CiAgICAgIDxzei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50CiAgICAgICAgc3RhdHVzPSJydW5uaW5nIgogICAgICAgIHJlZ2lzdHJ5VXJsPSJsb2NhbGhvc3Q6MzAwMC92MiIKICAgICAgPjwvc3otcmVnaXN0cnktYWR2ZXJ0aXNlbWVudD4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkF1dGggJiBTZXR0aW5ncyJdOyNlPXhHKHRoaXMsbiwic3RvcHBlZCIpO2dldCBzdGF0dXMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3RhdHVzKG0pe3RoaXMuI2U9bX0jdD0oeEcodGhpcyxsKSx4Ryh0aGlzLGMsIiIpKTtnZXQgcmVnaXN0cnlVcmwoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcmVnaXN0cnlVcmwobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuY2FyZC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAucmVnaXN0cnktaWNvbiB7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItdGl0bGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuZGVmYXVsdC1iYWRnZSB7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAuaGVhZGVyLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5jYXJkLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5pbmZvLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5pbmZvLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmluZm8tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICB9CgogICAgICAuaW5mby12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucnVubmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uuc3RvcHBlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5tYW5hZ2UtbGluayB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAubWFuYWdlLWxpbms6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAucXVpY2stc3RhcnQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLnF1aWNrLXN0YXJ0LXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLnF1aWNrLXN0YXJ0LWRlc2MgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIC5jb2RlLWJsb2NrIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiMwYTBhMGEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgfQoKICAgICAgLmNvZGUtbGluZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzcxNzE3YSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC5jb2RlLWxpbmU6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLmNvZGUtY29tbWVudCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNmI3MjgwIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLmNvZGUtY29tbWFuZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiI2U0ZTRlNyIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWljb24iPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6Ij48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItaW5mbyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10aXRsZSI+CiAgICAgICAgICAgICAgUmVnaXN0cnkgQWR2ZXJ0aXNlbWVudAogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZWZhdWx0LWJhZGdlIj5EZWZhdWx0PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXN1YnRpdGxlIj5Db250YWluZXIgcmVnaXN0cnkgZm9yIHlvdXIgc2VydmljZXM8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1ncmlkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+U3RhdHVzPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHt0aGlzLnN0YXR1c30iPiR7dGhpcy5zdGF0dXM9PT0icnVubmluZyI/IlJ1bm5pbmciOiJTdG9wcGVkIn08L3NwYW4+CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+UmVnaXN0cnkgVVJMPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj4ke3RoaXMucmVnaXN0cnlVcmx9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+QXV0aGVudGljYXRpb248L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9Im1hbmFnZS1saW5rIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVNYW5hZ2VUb2tlbnMoKX0+TWFuYWdlIFRva2VuczwvYT4KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0icXVpY2stc3RhcnQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJxdWljay1zdGFydC10aXRsZSI+UXVpY2sgU3RhcnQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icXVpY2stc3RhcnQtZGVzYyI+VG8gcHVzaCBpbWFnZXMgdG8gdGhlIHJlZ2lzdHJ5LCB1c2UgYSBDSSBvciBHbG9iYWwgdG9rZW46PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtYmxvY2siPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtbGluZSBjb2RlLWNvbW1lbnQiPiMgTG9naW4gdG8gdGhlIHJlZ2lzdHJ5PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1saW5lIGNvZGUtY29tbWFuZCI+ZG9ja2VyIGxvZ2luICR7dGhpcy5yZWdpc3RyeVVybC5zcGxpdCgiLyIpWzBdfSAtdSByZWdpc3RyeSAtcCBZT1VSX1RPS0VOPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1saW5lIGNvZGUtY29tbWVudCI+IyBUYWcgYW5kIHB1c2ggeW91ciBpbWFnZTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtbGluZSBjb2RlLWNvbW1hbmQiPmRvY2tlciB0YWcgbXlhcHAgJHt0aGlzLnJlZ2lzdHJ5VXJsLnNwbGl0KCIvIilbMF19L215c2VydmljZTpsYXRlc3Q8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWxpbmUgY29kZS1jb21tYW5kIj5kb2NrZXIgcHVzaCAke3RoaXMucmVnaXN0cnlVcmwuc3BsaXQoIi8iKVswXX0vbXlzZXJ2aWNlOmxhdGVzdDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlTWFuYWdlVG9rZW5zKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibWFuYWdlLXRva2VucyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHhHKHRoaXMscCl9c3RhdGlje3hHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBEdWEsWUplLFFOYSxBdWE9ZigoKT0+e2xlKCk7RHVhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxZSmU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFFOYT0oKCk9PntsZXQgYT1baWUoInN6LXJlZ2lzdHJ5LWV4dGVybmFsLXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pSZWdpc3RyeUV4dGVybmFsVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sRHVhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVnaXN0cmllcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4icmVnaXN0cmllcyJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLnJlZ2lzdHJpZXMsImdldCIpLHNldDpzKChwLHUpPT57cC5yZWdpc3RyaWVzPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxEdWEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA4MDBweDsiPgogICAgICA8c3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldwogICAgICAgIC5yZWdpc3RyaWVzPSR7W3tpZDoiMSIsbmFtZToiRG9ja2VyIEh1YiIsdXJsOiJkb2NrZXIuaW8iLHVzZXJuYW1lOiJteXVzZXIiLHR5cGU6ImRvY2tlcmh1YiJ9LHtpZDoiMiIsbmFtZToiR2l0SHViIENvbnRhaW5lciBSZWdpc3RyeSIsdXJsOiJnaGNyLmlvIix1c2VybmFtZToibXlvcmciLHR5cGU6ImdoY3IifV19CiAgICAgID48L3N6LXJlZ2lzdHJ5LWV4dGVybmFsLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJBdXRoICYgU2V0dGluZ3MiXTsjZT1ZSmUodGhpcyxuLFtdKTtnZXQgcmVnaXN0cmllcygpe3JldHVybiB0aGlzLiNlfXNldCByZWdpc3RyaWVzKGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmhlYWRlci10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlci1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWRkLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMC45OwogICAgICB9CgogICAgICAucmVnaXN0cnktbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5yZWdpc3RyeS1pY29uIHsKICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWRldGFpbHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5yZWdpc3RyeS11cmwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5yZWdpc3RyeS1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kZWxldGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAuZW1wdHktaWNvbiB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvIDE2cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLmVtcHR5LWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZW1wdHktYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuZW1wdHktYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbmZvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10aXRsZSI+RXh0ZXJuYWwgUmVnaXN0cmllczwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXN1YnRpdGxlIj5BZGQgY3JlZGVudGlhbHMgZm9yIHByaXZhdGUgRG9ja2VyIHJlZ2lzdHJpZXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJhZGQtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBZGQoKX0+QWRkIFJlZ2lzdHJ5PC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgJHt0aGlzLnJlZ2lzdHJpZXMubGVuZ3RoPjA/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1saXN0Ij4KICAgICAgICAgICR7dGhpcy5yZWdpc3RyaWVzLm1hcChjPT53YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1pdGVtIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1pbmZvIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWljb24iPgogICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1kZXRhaWxzIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVnaXN0cnktbmFtZSI+JHtjLm5hbWV9PC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LXVybCI+JHtjLnVybH0gKCR7Yy51c2VybmFtZX0pPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1hY3Rpb25zIj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUVkaXQoYyl9PkVkaXQ8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGVsZXRlIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZWxldGUoYyl9PkRlbGV0ZTwvYnV0dG9uPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICBgOndgCiAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgPHN2ZyBjbGFzcz0iZW1wdHktaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6Ij48L3BhdGg+CiAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjMuMjcgNi45NiAxMiAxMi4wMSAyMC43MyA2Ljk2Ij48L3BvbHlsaW5lPgogICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIyMi4wOCIgeDI9IjEyIiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktdGl0bGUiPk5vIGV4dGVybmFsIHJlZ2lzdHJpZXM8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LWRlc2NyaXB0aW9uIj5BZGQgY3JlZGVudGlhbHMgZm9yIERvY2tlciBIdWIsIEdpdEh1YiBDb250YWluZXIgUmVnaXN0cnksIG9yIG90aGVyIHByaXZhdGUgcmVnaXN0cmllcy48L2Rpdj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImVtcHR5LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWRkKCl9PkFkZCBFeHRlcm5hbCBSZWdpc3RyeTwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICBgfQogICAgYH1oYW5kbGVBZGQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhZGQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUVkaXQoYyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZWRpdCIse2RldGFpbDpjLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlKGMpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRlbGV0ZSIse2RldGFpbDpjLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFlKZSh0aGlzLGwpfXN0YXRpY3tZSmUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIFB1YSxLSmUsSk5hLEV1YT1mKCgpPT57bGUoKTtQdWE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEtKZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sSk5hPSgoKT0+e2xldCBhPVtpZSgic3otc2VydmljZXMtbGlzdC12aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6U2VydmljZXNMaXN0VmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sUHVhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VydmljZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+InNlcnZpY2VzImluIHAsImhhcyIpLGdldDpzKHA9PnAuc2VydmljZXMsImdldCIpLHNldDpzKChwLHUpPT57cC5zZXJ2aWNlcz11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksUHVhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1zZXJ2aWNlcy1saXN0LXZpZXcKICAgICAgICAuc2VydmljZXM9JHtbe25hbWU6InRlc3QtbmdpbngiLGltYWdlOiJuZ2lueDphbHBpbmUiLGRvbWFpbjoiYXBwLmJsZXUuZGUiLHN0YXR1czoicnVubmluZyJ9LHtuYW1lOiJoZWxsby13b3JsZCIsaW1hZ2U6ImxvY2FsaG9zdDozMDAwL2hlbGxvLXdvcmxkOmxhdGVzdCIsZG9tYWluOiJoZWxsby50YXNrLnZjIixzdGF0dXM6InJ1bm5pbmcifSx7bmFtZToidGVzdC12MiIsaW1hZ2U6ImxvY2FsaG9zdDozMDAwL3Rlc3QtcmVnaXN0cnk6djEiLGRvbWFpbjpudWxsLHN0YXR1czoicnVubmluZyJ9LHtuYW1lOiJhcGktc2VydmljZSIsaW1hZ2U6Im5vZGU6MTgtYWxwaW5lIixkb21haW46ImFwaS5leGFtcGxlLmNvbSIsc3RhdHVzOiJzdG9wcGVkIn1dfQogICAgICA+PC9zei1zZXJ2aWNlcy1saXN0LXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJTZXJ2aWNlcyJdOyNlPUtKZSh0aGlzLG4sW10pO2dldCBzZXJ2aWNlcygpe3JldHVybiB0aGlzLiNlfXNldCBzZXJ2aWNlcyhjKXt0aGlzLiNlPWN9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLnRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuNWZyIDJmciAxLjVmciAxMDBweCAyMDBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS41ZnIgMmZyIDEuNWZyIDEwMHB4IDIwMHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAudGFibGUtcm93OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLW5hbWUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLW5hbWU6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAuaW1hZ2UgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZG9tYWluLWxpbmsgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB9CgogICAgICAuZG9tYWluLWxpbms6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnJ1bm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnN0YXJ0aW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjljMyIsInJnYmEoMjUwLCAyMDQsIDIxLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc3RvcCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnN0YXJ0IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjMpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5yZXN0YXJ0IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPk5hbWU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5JbWFnZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlN0YXR1czwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkFjdGlvbnM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnNlcnZpY2VzLmxlbmd0aD4wP3RoaXMuc2VydmljZXMubWFwKGM9PndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yb3ciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VydmljZS1uYW1lIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTZXJ2aWNlQ2xpY2soYyl9PiR7Yy5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImltYWdlIiB0aXRsZT0iJHtjLmltYWdlfSI+JHtjLmltYWdlfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgJHtjLmRvbWFpbj93YDxhIGNsYXNzPSJkb21haW4tbGluayIgaHJlZj0iaHR0cHM6Ly8ke2MuZG9tYWlufSIgdGFyZ2V0PSJfYmxhbmsiPiR7Yy5kb21haW59PC9hPmA6Ii0ifQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHtjLnN0YXR1c30iPiR7Yy5zdGF0dXN9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjdGlvbnMiPgogICAgICAgICAgICAgICR7Yy5zdGF0dXM9PT0icnVubmluZyI/d2A8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIHN0b3AiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFjdGlvbihjLCJzdG9wIil9PlN0b3A8L2J1dHRvbj5gOndgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBzdGFydCIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKGMsInN0YXJ0Iil9PlN0YXJ0PC9idXR0b24+YH0KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIHJlc3RhcnQiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFjdGlvbihjLCJyZXN0YXJ0Iil9PlJlc3RhcnQ8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGRlbGV0ZSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKGMsImRlbGV0ZSIpfT5EZWxldGU8L2J1dHRvbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCk6d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBzZXJ2aWNlcyBkZXBsb3llZDwvZGl2PgogICAgICAgIGB9CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVTZXJ2aWNlQ2xpY2soYyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VydmljZS1jbGljayIse2RldGFpbDpjLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQWN0aW9uKGMscCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VydmljZS1hY3Rpb24iLHtkZXRhaWw6e3NlcnZpY2U6YyxhY3Rpb246cH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksS0plKHRoaXMsbCl9c3RhdGlje0tKZShyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgWkplLHlHLGVSYSxJdWE9ZigoKT0+e2xlKCk7WkplPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx5Rz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sZVJhPSgoKT0+e2xldCBhPVtpZSgic3otc2VydmljZXMtYmFja3Vwcy12aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6U2VydmljZXNCYWNrdXBzVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpBcnJheX0pXSxaSmUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzY2hlZHVsZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InNjaGVkdWxlcyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnNjaGVkdWxlcywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnNjaGVkdWxlcz14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksWkplKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYmFja3VwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iYmFja3VwcyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmJhY2t1cHMsImdldCIpLHNldDpzKCh2LHgpPT57di5iYWNrdXBzPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxaSmUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LXNlcnZpY2VzLWJhY2t1cHMtdmlldwogICAgICAgIC5zY2hlZHVsZXM9JHtbe2lkOiIxIixzY29wZToiQWxsIFNlcnZpY2VzIixyZXRlbnRpb246IkQ6NywgVzo0LCBNOjEyIixzY2hlZHVsZToiMCAyICogKiAqIixsYXN0UnVuOiIxLzIvMjAyNiwgMjowMDowMyBBTSIsbmV4dFJ1bjoiMS8zLzIwMjYsIDI6MDA6MDAgQU0iLHN0YXR1czoiYWN0aXZlIn1dfQogICAgICAgIC5iYWNrdXBzPSR7W3tpZDoiMSIsc2VydmljZToidGVzdC1uZ2lueCIsY3JlYXRlZEF0OiIxLzIvMjAyNiwgMjowMDowMyBBTSIsc2l6ZToiMjIuMCBNQiIsaW5jbHVkZXM6WyJJbWFnZSJdfSx7aWQ6IjIiLHNlcnZpY2U6ImhlbGxvLXdvcmxkIixjcmVhdGVkQXQ6IjEvMi8yMDI2LCAyOjAwOjAyIEFNIixzaXplOiIyMS41IE1CIixpbmNsdWRlczpbIkltYWdlIl19LHtpZDoiMyIsc2VydmljZToidGVzdC1jaC1maW5hbCIsY3JlYXRlZEF0OiIxLzIvMjAyNiwgMjowMDowMCBBTSIsc2l6ZToiMjIuMCBNQiIsaW5jbHVkZXM6WyJJbWFnZSIsImNsaWNraG91c2UiXX1dfQogICAgICA+PC9zei1zZXJ2aWNlcy1iYWNrdXBzLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJTZXJ2aWNlcyJdOyNlPXlHKHRoaXMsbixbXSk7Z2V0IHNjaGVkdWxlcygpe3JldHVybiB0aGlzLiNlfXNldCBzY2hlZHVsZXMobSl7dGhpcy4jZT1tfSN0PSh5Ryh0aGlzLGwpLHlHKHRoaXMsYyxbXSkpO2dldCBiYWNrdXBzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJhY2t1cHMobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24taGVhZGVyIHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkaW5nIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuc2VjdGlvbi1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAudGlsZS1idXR0b246Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAudGlsZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wOCkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1MCUpIiwiaHNsKDIxMy4xIDkzLjklIDc1JSkiKX07CiAgICAgIH0KCiAgICAgIC50YWJsZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnNjaGVkdWxlcy1oZWFkZXIgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMS41ZnIgMS41ZnIgODBweCAxMjBweDsKICAgICAgfQoKICAgICAgLmJhY2t1cHMtaGVhZGVyIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuNWZyIDEuNWZyIDEwMHB4IDFmciAxMjBweDsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLnNjaGVkdWxlcy1yb3cgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMS41ZnIgMS41ZnIgODBweCAxMjBweDsKICAgICAgfQoKICAgICAgLmJhY2t1cHMtcm93IHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuNWZyIDEuNWZyIDEwMHB4IDFmciAxMjBweDsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAudGFibGUtcm93OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5mYWlsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLm1ldGEtdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5pbmNsdWRlcy1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmluY2x1ZGUtYmFkZ2UgewogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnJvdy1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuaWNvbi1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuaWNvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuaWNvbi1idXR0b24uZGFuZ2VyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRpbmciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QmFja3VwIFNjaGVkdWxlczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkNvbmZpZ3VyZSBhdXRvbWF0ZWQgYmFja3VwIHNjaGVkdWxlcyBmb3IgeW91ciBzZXJ2aWNlczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciBzY2hlZHVsZXMtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPlNjb3BlPC9zcGFuPgogICAgICAgICAgPHNwYW4+UmV0ZW50aW9uPC9zcGFuPgogICAgICAgICAgPHNwYW4+U2NoZWR1bGU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5MYXN0IFJ1bjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPk5leHQgUnVuPC9zcGFuPgogICAgICAgICAgPHNwYW4+U3RhdHVzPC9zcGFuPgogICAgICAgICAgPHNwYW4+QWN0aW9uczwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuc2NoZWR1bGVzLm1hcChtPT53YAogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcm93IHNjaGVkdWxlcy1yb3ciPgogICAgICAgICAgICA8c3Bhbj4ke20uc2NvcGV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0YS10ZXh0IiB0aXRsZT0iS2VlcDogJHttLnJldGVudGlvbn0iPiR7bS5yZXRlbnRpb259PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0YS10ZXh0Ij4ke20uc2NoZWR1bGV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0YS10ZXh0Ij4ke20ubGFzdFJ1bnx8Ii0ifTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtdGV4dCI+JHttLm5leHRSdW58fCItIn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHttLnN0YXR1c30iIHRpdGxlPSIke20uZXJyb3J8fCIifSI+CiAgICAgICAgICAgICAgICAke20uc3RhdHVzPT09ImFjdGl2ZSI/IkFjdGl2ZSI6bS5zdGF0dXM9PT0iZmFpbGVkIj8iRmFpbGVkIjoiRGlzYWJsZWQifQogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icm93LWFjdGlvbnMiPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Imljb24tYnV0dG9uIiB0aXRsZT0iUnVuIGJhY2t1cCBub3ciIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVJ1bk5vdyhtKX0+CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwb2x5Z29uIHBvaW50cz0iNSwzIDE5LDEyIDUsMjEiLz48L3N2Zz4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IiR7bS5zdGF0dXM9PT0iZGlzYWJsZWQiPyJFbmFibGUiOiJEaXNhYmxlIn0iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVRvZ2dsZShtKX0+CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgJHttLnN0YXR1cz09PSJkaXNhYmxlZCI/d2A8cG9seWxpbmUgcG9pbnRzPSIyMCA2IDkgMTcgNCAxMiI+PC9wb2x5bGluZT5gOndgPHJlY3QgeD0iNiIgeT0iNiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiByeD0iMSIvPmB9CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiBkYW5nZXIiIHRpdGxlPSJEZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZVNjaGVkdWxlKG0pfT4KICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzLDYgNSw2IDIxLDYiLz48cGF0aCBkPSJNMTksNnYxNGEyLDIsMCwwLDEtMiwySDdhMiwyLDAsMCwxLTItMlY2bTMsMFY0YTIsMiwwLDAsMSwyLTJoNGEyLDIsMCwwLDEsMiwydjIiLz4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKX0KICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InNlY3Rpb24tZm9vdGVyIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVJbXBvcnQoKX0+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+CiAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTcgOCAxMiAzIDcgOCIvPgogICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjMiIHgyPSIxMiIgeTI9IjE1Ii8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBJbXBvcnQgQmFja3VwCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIHByaW1hcnkiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNyZWF0ZVNjaGVkdWxlKCl9PgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBDcmVhdGUgU2NoZWR1bGUKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRpbmciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QWxsIEJhY2t1cHM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5Ccm93c2UgYW5kIG1hbmFnZSBhbGwgYmFja3VwcyBhY3Jvc3Mgc2VydmljZXM8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1oZWFkZXIgYmFja3Vwcy1oZWFkZXIiPgogICAgICAgICAgPHNwYW4+U2VydmljZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkNyZWF0ZWQ8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5TaXplPC9zcGFuPgogICAgICAgICAgPHNwYW4+SW5jbHVkZXM8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5BY3Rpb25zPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5iYWNrdXBzLm1hcChtPT53YAogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcm93IGJhY2t1cHMtcm93Ij4KICAgICAgICAgICAgPHNwYW4+JHttLnNlcnZpY2V9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0YS10ZXh0Ij4ke20uY3JlYXRlZEF0fTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtdGV4dCI+JHttLnNpemV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5jbHVkZXMtbGlzdCI+CiAgICAgICAgICAgICAgJHttLmluY2x1ZGVzLm1hcCh2PT53YDxzcGFuIGNsYXNzPSJpbmNsdWRlLWJhZGdlIj4ke3Z9PC9zcGFuPmApfQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyb3ctYWN0aW9ucyI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSJEb3dubG9hZCBiYWNrdXAiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURvd25sb2FkKG0pfT4KICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCIvPgogICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI3IDEwIDEyIDE1IDE3IDEwIi8+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjE1IiB4Mj0iMTIiIHkyPSIzIi8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiBkYW5nZXIiIHRpdGxlPSJEZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZUJhY2t1cChtKX0+CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMyw2IDUsNiAyMSw2Ii8+PHBhdGggZD0iTTE5LDZ2MTRhMiwyLDAsMCwxLTIsMkg3YTIsMiwwLDAsMS0yLTJWNm0zLDBWNGEyLDIsMCwwLDEsMi0yaDRhMiwyLDAsMCwxLDIsMnYyIi8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCl9CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH1oYW5kbGVJbXBvcnQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpbXBvcnQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNyZWF0ZVNjaGVkdWxlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY3JlYXRlLXNjaGVkdWxlIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVSdW5Ob3cobSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicnVuLW5vdyIse2RldGFpbDptLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlVG9nZ2xlKG0pe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRvZ2dsZS1zY2hlZHVsZSIse2RldGFpbDptLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlU2NoZWR1bGUobSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlLXNjaGVkdWxlIix7ZGV0YWlsOm0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEb3dubG9hZChtKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkb3dubG9hZCIse2RldGFpbDptLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlQmFja3VwKG0pe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRlbGV0ZS1iYWNrdXAiLHtkZXRhaWw6bSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx5Ryh0aGlzLHApfXN0YXRpY3t5RyhyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgUmMscGksdFJhLE51YT1mKCgpPT57bGUoKTtSYz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scGk9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHRSYT0oKCk9PntsZXQgYT1baWUoInN6LXNlcnZpY2UtZGV0YWlsLXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sUD1bXSxCLE09W10sUz1bXTt2YXIgRT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pTZXJ2aWNlRGV0YWlsVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBBPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6T2JqZWN0fSldLHU9WyQoe3R5cGU6QXJyYXl9KV0seD1bJCh7dHlwZTpBcnJheX0pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sTj1bJCh7dHlwZTpPYmplY3R9KV0sTz1bJCh7dHlwZTpTdHJpbmd9KV0sQj1bSygpXSxSYyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcnZpY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InNlcnZpY2UiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5zZXJ2aWNlLCJnZXQiKSxzZXQ6cygoRixXKT0+e0Yuc2VydmljZT1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LG4sbCksUmModGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4ic3RhdHMiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5zdGF0cywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnN0YXRzPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sYyxwKSxSYyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJhY2t1cHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+ImJhY2t1cHMiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5iYWNrdXBzLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YuYmFja3Vwcz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LG0sdiksUmModGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2dzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJsb2dzImluIEYsImhhcyIpLGdldDpzKEY9PkYubG9ncywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLmxvZ3M9V30sInNldCIpfSxtZXRhZGF0YTpBfSxiLGcpLFJjKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RyZWFtaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJzdHJlYW1pbmciaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5zdHJlYW1pbmcsImdldCIpLHNldDpzKChGLFcpPT57Ri5zdHJlYW1pbmc9V30sInNldCIpfSxtZXRhZGF0YTpBfSxrLEMpLFJjKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToid29ya3NwYWNlRW52aXJvbm1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+IndvcmtzcGFjZUVudmlyb25tZW50ImluIEYsImhhcyIpLGdldDpzKEY9PkYud29ya3NwYWNlRW52aXJvbm1lbnQsImdldCIpLHNldDpzKChGLFcpPT57Ri53b3Jrc3BhY2VFbnZpcm9ubWVudD1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LF8seiksUmModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3b3Jrc3BhY2VQYXRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJ3b3Jrc3BhY2VQYXRoImluIEYsImhhcyIpLGdldDpzKEY9PkYud29ya3NwYWNlUGF0aCwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLndvcmtzcGFjZVBhdGg9V30sInNldCIpfSxtZXRhZGF0YTpBfSxULFApLFJjKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFZpZXciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+ImN1cnJlbnRWaWV3ImluIEYsImhhcyIpLGdldDpzKEY9PkYuY3VycmVudFZpZXcsImdldCIpLHNldDpzKChGLFcpPT57Ri5jdXJyZW50Vmlldz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LE0sUyksUmMobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6QX0sbnVsbCx0KSxFPXI9ZS52YWx1ZSxBJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkF9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LXNlcnZpY2UtZGV0YWlsLXZpZXcKICAgICAgICAuc2VydmljZT0ke3tuYW1lOiJ0ZXN0LW5naW54IixzdGF0dXM6InJ1bm5pbmciLGltYWdlOiJuZ2lueDphbHBpbmUiLHBvcnQ6ODAsZG9tYWluOiJhcHAuYmxldS5kZSIsY29udGFpbmVySWQ6InBjaGJicjlmanI0ZyIsY3JlYXRlZDoiMTEvMTgvMjAyNSwgMjowNjo1NSBQTSIsdXBkYXRlZDoiMTEvMjYvMjAyNSwgNDowNTo0NiBQTSIscmVnaXN0cnk6IkRvY2tlciBIdWIiLHJlcG9zaXRvcnk6Im5naW54Iix0YWc6ImFscGluZSJ9fQogICAgICAgIC5zdGF0cz0ke3tjcHU6LjUsbWVtb3J5OiIzMi4xIE1CIixtZW1vcnlMaW1pdDoiNjEuMyBHQiIsbmV0d29ya0luOiI2LjQgS0IiLG5ldHdvcmtPdXQ6IjI1MiBCIn19CiAgICAgICAgLmJhY2t1cHM9JHtbe2lkOiIxIixjcmVhdGVkQXQ6IjEvMi8yMDI2LCAyOjAwOjAzIEFNIixzaXplOiIyMS45NiBNQiIsdHlwZToiRG9ja2VyIEltYWdlIn0se2lkOiIyIixjcmVhdGVkQXQ6IjExLzI3LzIwMjUsIDE6NDI6MjYgUE0iLHNpemU6IjUxLjc2IE1CIix0eXBlOiJEb2NrZXIgSW1hZ2UifV19CiAgICAgICAgLmxvZ3M9JHtbe3RpbWVzdGFtcDoiMjAyNC0wMS0wMiAxMDoxNTozMiIsbWVzc2FnZTonMTkyLjE2OC4xLjEwMCAtIC0gWzAyL0phbi8yMDI0OjEwOjE1OjMyICswMDAwXSAiR0VUIC8gSFRUUC8xLjEiIDIwMCA2MTInfSx7dGltZXN0YW1wOiIyMDI0LTAxLTAyIDEwOjE1OjMwIixtZXNzYWdlOicxOTIuMTY4LjEuMTAwIC0gLSBbMDIvSmFuLzIwMjQ6MTA6MTU6MzAgKzAwMDBdICJHRVQgL2Zhdmljb24uaWNvIEhUVFAvMS4xIiA0MDQgMTUzJ31dfQogICAgICA+PC9zei1zZXJ2aWNlLWRldGFpbC12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiU2VydmljZXMiXTsjZT1waSh0aGlzLG4se25hbWU6IiIsc3RhdHVzOiJzdG9wcGVkIixpbWFnZToiIixwb3J0OjAsZG9tYWluOm51bGwsY29udGFpbmVySWQ6IiIsY3JlYXRlZDoiIix1cGRhdGVkOiIiLHJlZ2lzdHJ5OiIiLHJlcG9zaXRvcnk6IiIsdGFnOiIifSk7Z2V0IHNlcnZpY2UoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc2VydmljZShBKXt0aGlzLiNlPUF9I3Q9KHBpKHRoaXMsbCkscGkodGhpcyxjLHtjcHU6MCxtZW1vcnk6IjAgTUIiLG1lbW9yeUxpbWl0OiIwIEdCIixuZXR3b3JrSW46IjAgQiIsbmV0d29ya091dDoiMCBCIn0pKTtnZXQgc3RhdHMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc3RhdHMoQSl7dGhpcy4jdD1BfSNhPShwaSh0aGlzLHApLHBpKHRoaXMsbSxbXSkpO2dldCBiYWNrdXBzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGJhY2t1cHMoQSl7dGhpcy4jYT1BfSNyPShwaSh0aGlzLHYpLHBpKHRoaXMsYixbXSkpO2dldCBsb2dzKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGxvZ3MoQSl7dGhpcy4jcj1BfSNzPShwaSh0aGlzLGcpLHBpKHRoaXMsaywhMSkpO2dldCBzdHJlYW1pbmcoKXtyZXR1cm4gdGhpcy4jc31zZXQgc3RyZWFtaW5nKEEpe3RoaXMuI3M9QX0jaT0ocGkodGhpcyxDKSxwaSh0aGlzLF8sbnVsbCkpO2dldCB3b3Jrc3BhY2VFbnZpcm9ubWVudCgpe3JldHVybiB0aGlzLiNpfXNldCB3b3Jrc3BhY2VFbnZpcm9ubWVudChBKXt0aGlzLiNpPUF9I289KHBpKHRoaXMseikscGkodGhpcyxULCIvIikpO2dldCB3b3Jrc3BhY2VQYXRoKCl7cmV0dXJuIHRoaXMuI299c2V0IHdvcmtzcGFjZVBhdGgoQSl7dGhpcy4jbz1BfSNuPShwaSh0aGlzLFApLHBpKHRoaXMsTSwiZGV0YWlscyIpKTtnZXQgY3VycmVudFZpZXcoKXtyZXR1cm4gdGhpcy4jbn1zZXQgY3VycmVudFZpZXcoQSl7dGhpcy4jbj1BfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmJhY2stbGluayB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmJhY2stbGluazpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuc2VydmljZS1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ydW5uaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5zdG9wcGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7CiAgICAgICAgLmNvbnRlbnQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm1haW4tY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLnNpZGViYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5jYXJkLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDhweCAwIDE2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmNhcmQtaGVhZGluZyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5jYXJkLXRpdGxlIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuY2FyZC1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLmNhcmQtZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTAlKSIsImhzbCgyMTMuMSA5My45JSA3NSUpIil9OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24uZGFuZ2VyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24uZGFuZ2VyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5jYXJkLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmRldGFpbC1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgfQoKICAgICAgLmRldGFpbC1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICB9CgogICAgICAuZGV0YWlsLXZhbHVlIGEgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB9CgogICAgICAuZGV0YWlsLXZhbHVlIGE6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLnN0YXQtaXRlbSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICB9CgogICAgICAuc3RhdC1sYWJlbCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgLnN0YXQtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0LXN1YnZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbnMtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMTBweCAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kYW5nZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRhbmdlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuYmFja3VwLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmJhY2t1cC1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgfQoKICAgICAgLmJhY2t1cC1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC5iYWNrdXAtZGF0ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5iYWNrdXAtbWV0YSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5iYWNrdXAtYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhZy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICA6aG9zdCgud29ya3NwYWNlLW1vZGUpIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAud29ya3NwYWNlLXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2UtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1iYWNrLWxpbmsgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1iYWNrLWxpbms6aG92ZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFkNGVkOCIsIiM5M2M1ZmQiKX07CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2Utc2VydmljZS1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAud29ya3NwYWNlLXN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1zdGF0dXMtYmFkZ2UucnVubmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAud29ya3NwYWNlLXN0YXR1cy1iYWRnZS5zdG9wcGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VmNDQ0NCIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2UtY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gdGhpcy5jdXJyZW50Vmlldz09PSJ3b3Jrc3BhY2UiP3RoaXMucmVuZGVyV29ya3NwYWNlVmlldygpOnRoaXMucmVuZGVyRGV0YWlsc1ZpZXcoKX1yZW5kZXJXb3Jrc3BhY2VWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9IndvcmtzcGFjZS13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ3b3Jrc3BhY2UtaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9IndvcmtzcGFjZS1iYWNrLWxpbmsiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNsb3NlV29ya3NwYWNlKCl9PgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiPjwvcG9seWxpbmU+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBCYWNrIHRvIERldGFpbHMKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPHNwYW4gY2xhc3M9IndvcmtzcGFjZS1zZXJ2aWNlLW5hbWUiPiR7dGhpcy5zZXJ2aWNlLm5hbWV9PC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9IndvcmtzcGFjZS1zdGF0dXMtYmFkZ2UgJHt0aGlzLnNlcnZpY2Uuc3RhdHVzfSI+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9IndvcmtzcGFjZS1jb250YWluZXIiPgogICAgICAgICAgPGRlZXMtd29ya3NwYWNlIC5leGVjdXRpb25FbnZpcm9ubWVudD0ke3RoaXMud29ya3NwYWNlRW52aXJvbm1lbnR9PjwvZGVlcy13b3Jrc3BhY2U+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJEZXRhaWxzVmlldygpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImJhY2stbGluayIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQmFjaygpfT4KICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiPjwvcG9seWxpbmU+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIEJhY2sgdG8gU2VydmljZXMKICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWhlYWRlciIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDI0cHg7Ij4KICAgICAgICA8aDEgY2xhc3M9InNlcnZpY2UtbmFtZSI+JHt0aGlzLnNlcnZpY2UubmFtZX08L2gxPgogICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHt0aGlzLnNlcnZpY2Uuc3RhdHVzfSI+JHt0aGlzLnNlcnZpY2Uuc3RhdHVzfTwvc3Bhbj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJtYWluLWNvbnRlbnQiPgogICAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkaW5nIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLXRpdGxlIj5TZXJ2aWNlIERldGFpbHM8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1saXN0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+SW1hZ2U8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLmltYWdlfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5Qb3J0PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke3RoaXMuc2VydmljZS5wb3J0fTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5Eb21haW48L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPgogICAgICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLmRvbWFpbj93YDxhIGhyZWY9Imh0dHBzOi8vJHt0aGlzLnNlcnZpY2UuZG9tYWlufSIgdGFyZ2V0PSJfYmxhbmsiPiR7dGhpcy5zZXJ2aWNlLmRvbWFpbn08L2E+YDoiLSJ9CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5Db250YWluZXIgSUQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLmNvbnRhaW5lcklkfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5DcmVhdGVkPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke3RoaXMuc2VydmljZS5jcmVhdGVkfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5VcGRhdGVkPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke3RoaXMuc2VydmljZS51cGRhdGVkfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJjYXJkLWZvb3RlciI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gcHJpbWFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRWRpdCgpfT5FZGl0PC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgICAgPGRlZXMtY2hhcnQtbG9nCiAgICAgICAgICAgIC5sYWJlbD0keyJTZXJ2aWNlIExvZ3MifQogICAgICAgICAgICAubG9nRW50cmllcz0ke3RoaXMubG9ncy5tYXAoQT0+KHt0aW1lc3RhbXA6QS50aW1lc3RhbXA/LmluY2x1ZGVzPy4oIlQiKT9BLnRpbWVzdGFtcDpuZXcgRGF0ZShBLnRpbWVzdGFtcHx8RGF0ZS5ub3coKSkudG9JU09TdHJpbmcoKSxsZXZlbDpBLmxldmVsfHwiaW5mbyIsbWVzc2FnZTpBLm1lc3NhZ2V9KSl9CiAgICAgICAgICAgIC5hdXRvU2Nyb2xsPSR7ITB9CiAgICAgICAgICAgIC5tYXhFbnRyaWVzPSR7MmUzfQogICAgICAgICAgICAuc2hvd01ldHJpY3M9JHshMH0KICAgICAgICAgID48L2RlZXMtY2hhcnQtbG9nPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIj4KICAgICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC10aXRsZSI+TGl2ZSBzdGF0czwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHMtZ3JpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWxhYmVsIj5DUFU8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC12YWx1ZSI+JHt0aGlzLnN0YXRzLmNwdS50b0ZpeGVkKDEpfSU8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1sYWJlbCI+TWVtb3J5PC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtdmFsdWUiPiR7dGhpcy5zdGF0cy5tZW1vcnl9PC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtc3VidmFsdWUiPm9mICR7dGhpcy5zdGF0cy5tZW1vcnlMaW1pdH08L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1sYWJlbCI+TmV0d29yayBJbjwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXZhbHVlIj4ke3RoaXMuc3RhdHMubmV0d29ya0lufTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWxhYmVsIj5OZXR3b3JrIE91dDwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXZhbHVlIj4ke3RoaXMuc3RhdHMubmV0d29ya091dH08L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC10aXRsZSI+QWN0aW9uczwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLXN1YnRpdGxlIj5NYW5hZ2Ugc2VydmljZSBzdGF0ZTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucy1ncmlkIj4KICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLnN0YXR1cz09PSJydW5uaW5nIj93YDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFjdGlvbigic3RvcCIpfT5TdG9wIFNlcnZpY2U8L2J1dHRvbj5gOndgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKCJzdGFydCIpfT5TdGFydCBTZXJ2aWNlPC9idXR0b24+YH0KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFjdGlvbigicmVzdGFydCIpfT5SZXN0YXJ0IFNlcnZpY2U8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZU9wZW5Xb3Jrc3BhY2UoKX0+CiAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmU7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IG1hcmdpbi1yaWdodDogNHB4OyI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iNCAxNyAxMCAxMSA0IDUiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMTkiIHgyPSIyMCIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICBPcGVuIFdvcmtzcGFjZQogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGRhbmdlciIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKCJkZWxldGUiKX0+RGVsZXRlIFNlcnZpY2U8L2J1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRpbmciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtdGl0bGUiPkltYWdlIFNvdXJjZTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLXN1YnRpdGxlIj4ke3RoaXMuc2VydmljZS5yZWdpc3RyeT09PSJEb2NrZXIgSHViIj8iRXh0ZXJuYWwgY29udGFpbmVyIHJlZ2lzdHJ5IjoiT25lYm94IHJlZ2lzdHJ5In08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1saXN0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+UmVnaXN0cnk8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLnJlZ2lzdHJ5fTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5SZXBvc2l0b3J5PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke3RoaXMuc2VydmljZS5yZXBvc2l0b3J5fTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5UYWc8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPjxzcGFuIGNsYXNzPSJ0YWctYmFkZ2UiPiR7dGhpcy5zZXJ2aWNlLnRhZ308L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkaW5nIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLXRpdGxlIj5CYWNrdXBzPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtc3VidGl0bGUiPkNyZWF0ZSBhbmQgbWFuYWdlIHNlcnZpY2UgYmFja3Vwczwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFja3VwLWxpc3QiPgogICAgICAgICAgICAgICAgJHt0aGlzLmJhY2t1cHMubWFwKEE9PndgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhY2t1cC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrdXAtaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrdXAtZGF0ZSI+JHtBLmNyZWF0ZWRBdH08L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhY2t1cC1tZXRhIj4ke0Euc2l6ZX0gwrcgJHtBLnR5cGV9PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFja3VwLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSJEb3dubG9hZCIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRG93bmxvYWRCYWNrdXAoQSl9PgogICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjcgMTAgMTIgMTUgMTcgMTAiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIxNSIgeDI9IjEyIiB5Mj0iMyIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSJSZXN0b3JlIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSZXN0b3JlQmFja3VwKEEpfT4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMSA0IDEgMTAgNyAxMCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zLjUxIDE1YTkgOSAwIDEgMCAyLjEzLTkuMzZMMSAxMCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSJEZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZUJhY2t1cChBKX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjMsNiA1LDYgMjEsNiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOSw2djE0YTIsMiwwLDAsMS0yLDJIN2EyLDIsMCwwLDEtMi0yVjZtMywwVjRhMiwyLDAsMCwxLDItMmg0YTIsMiwwLDAsMSwyLDJ2MiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJjYXJkLWZvb3RlciI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gcHJpbWFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlQmFja3VwKCl9PgogICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIENyZWF0ZSBCYWNrdXAKICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZUJhY2soKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJiYWNrIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVFZGl0KCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZWRpdCIse2RldGFpbDp0aGlzLnNlcnZpY2UsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBY3Rpb24oQSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VydmljZS1hY3Rpb24iLHtkZXRhaWw6e3NlcnZpY2U6dGhpcy5zZXJ2aWNlLGFjdGlvbjpBfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXRvZ2dsZVN0cmVhbWluZygpe3RoaXMuc3RyZWFtaW5nPSF0aGlzLnN0cmVhbWluZyx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzdHJlYW0tdG9nZ2xlIix7ZGV0YWlsOntzdHJlYW1pbmc6dGhpcy5zdHJlYW1pbmd9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ2xlYXJMb2dzKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xlYXItbG9ncyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ3JlYXRlQmFja3VwKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY3JlYXRlLWJhY2t1cCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRG93bmxvYWRCYWNrdXAoQSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZG93bmxvYWQtYmFja3VwIix7ZGV0YWlsOkEsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVSZXN0b3JlQmFja3VwKEEpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJlc3RvcmUtYmFja3VwIix7ZGV0YWlsOkEsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZWxldGVCYWNrdXAoQSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlLWJhY2t1cCIse2RldGFpbDpBLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlT3BlbldvcmtzcGFjZSgpe3RoaXMud29ya3NwYWNlRW52aXJvbm1lbnQ/KHRoaXMuY3VycmVudFZpZXc9IndvcmtzcGFjZSIsdGhpcy5jbGFzc0xpc3QuYWRkKCJ3b3Jrc3BhY2UtbW9kZSIpKTp0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZXF1ZXN0LXdvcmtzcGFjZSIse2RldGFpbDp7c2VydmljZTp0aGlzLnNlcnZpY2V9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ2xvc2VXb3Jrc3BhY2UoKXt0aGlzLmN1cnJlbnRWaWV3PSJkZXRhaWxzIix0aGlzLmNsYXNzTGlzdC5yZW1vdmUoIndvcmtzcGFjZS1tb2RlIil9dXBkYXRlZChBKXtzdXBlci51cGRhdGVkKEEpLEEuaGFzKCJ3b3Jrc3BhY2VFbnZpcm9ubWVudCIpJiZ0aGlzLndvcmtzcGFjZUVudmlyb25tZW50JiZ0aGlzLmN1cnJlbnRWaWV3PT09ImRldGFpbHMiJiYodGhpcy5jdXJyZW50Vmlldz0id29ya3NwYWNlIix0aGlzLmNsYXNzTGlzdC5hZGQoIndvcmtzcGFjZS1tb2RlIikpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxwaSh0aGlzLFMpfXN0YXRpY3twaShyLHQpfX07cmV0dXJuIEU9cn0pKCl9KTt2YXIgaGllLEM1LGFSYSxSdWE9ZigoKT0+e2xlKCk7aGllPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxDNT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sYVJhPSgoKT0+e2xldCBhPVtpZSgic3otYXBwLXN0b3JlLXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pBcHBTdG9yZVZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9W0soKV0sdT1bSygpXSxoaWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJhcHBzImluIGcsImhhcyIpLGdldDpzKGc9PmcuYXBwcywiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmFwcHM9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLGhpZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkQ2F0ZWdvcnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InNlbGVjdGVkQ2F0ZWdvcnkiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5zZWxlY3RlZENhdGVnb3J5LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuc2VsZWN0ZWRDYXRlZ29yeT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksaGllKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoUXVlcnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InNlYXJjaFF1ZXJ5ImluIGcsImhhcyIpLGdldDpzKGc9Pmcuc2VhcmNoUXVlcnksImdldCIpLHNldDpzKChnLHkpPT57Zy5zZWFyY2hRdWVyeT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG0sdiksaGllKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1hcHAtc3RvcmUtdmlldwogICAgICAgIC5hcHBzPSR7W3tpZDoid29yZHByZXNzIixuYW1lOiJXb3JkUHJlc3MiLGRlc2NyaXB0aW9uOiJUaGUgd29ybGQncyBtb3N0IHBvcHVsYXIgb3Blbi1zb3VyY2UgY29udGVudCBtYW5hZ2VtZW50IHN5c3RlbSBmb3IgYnVpbGRpbmcgd2Vic2l0ZXMgYW5kIGJsb2dzLiIsY2F0ZWdvcnk6IkNNUyIsaWNvbk5hbWU6ImZpbGUtdGV4dCIsaW1hZ2U6IndvcmRwcmVzczpsYXRlc3QiLHBvcnQ6ODAsZW52VmFyczpbe2tleToiV09SRFBSRVNTX0RCX0hPU1QiLHZhbHVlOiIiLGRlc2NyaXB0aW9uOiJEYXRhYmFzZSBob3N0IGFkZHJlc3MiLHJlcXVpcmVkOiEwfSx7a2V5OiJXT1JEUFJFU1NfREJfVVNFUiIsdmFsdWU6IndvcmRwcmVzcyIsZGVzY3JpcHRpb246IkRhdGFiYXNlIHVzZXJuYW1lIixyZXF1aXJlZDohMH0se2tleToiV09SRFBSRVNTX0RCX1BBU1NXT1JEIix2YWx1ZToiIixkZXNjcmlwdGlvbjoiRGF0YWJhc2UgcGFzc3dvcmQiLHJlcXVpcmVkOiEwfSx7a2V5OiJXT1JEUFJFU1NfREJfTkFNRSIsdmFsdWU6IndvcmRwcmVzcyIsZGVzY3JpcHRpb246IkRhdGFiYXNlIG5hbWUiLHJlcXVpcmVkOiEwfV0sdm9sdW1lczpbIi92YXIvd3d3L2h0bWwiXSxlbmFibGVNb25nb0RCOiExLGVuYWJsZVMzOiExfSx7aWQ6ImdpdGVhIixuYW1lOiJHaXRlYSIsZGVzY3JpcHRpb246IkEgbGlnaHR3ZWlnaHQsIHNlbGYtaG9zdGVkIEdpdCBzZXJ2aWNlLiBQYWlubGVzcyBzZXR1cCBmb3IgeW91ciBvd24gY29kZSBob3N0aW5nIHBsYXRmb3JtLiIsY2F0ZWdvcnk6IkRldmVsb3BtZW50IixpY29uTmFtZToiZ2l0LWJyYW5jaCIsaW1hZ2U6ImdpdGVhL2dpdGVhOmxhdGVzdCIscG9ydDozZTMsZW52VmFyczpbe2tleToiR0lURUFfX2RhdGFiYXNlX19EQl9UWVBFIix2YWx1ZToic3FsaXRlMyIsZGVzY3JpcHRpb246IkRhdGFiYXNlIHR5cGUiLHJlcXVpcmVkOiEwfSx7a2V5OiJHSVRFQV9fc2VydmVyX19ST09UX1VSTCIsdmFsdWU6IiIsZGVzY3JpcHRpb246IlB1YmxpYyBVUkwgb2YgdGhlIEdpdGVhIGluc3RhbmNlIixyZXF1aXJlZDohMX1dLHZvbHVtZXM6WyIvZGF0YSJdfSx7aWQ6Imdob3N0IixuYW1lOiJHaG9zdCIsZGVzY3JpcHRpb246IkEgcG93ZXJmdWwgb3Blbi1zb3VyY2UgcHVibGlzaGluZyBwbGF0Zm9ybSBmb3IgcHJvZmVzc2lvbmFsIGJsb2dnZXJzIGFuZCBjb250ZW50IGNyZWF0b3JzLiIsY2F0ZWdvcnk6IkNNUyIsaWNvbk5hbWU6ImJvb2stb3BlbiIsaW1hZ2U6Imdob3N0OmxhdGVzdCIscG9ydDoyMzY4LGVudlZhcnM6W3trZXk6InVybCIsdmFsdWU6IiIsZGVzY3JpcHRpb246IlB1YmxpYyBVUkwgZm9yIHRoZSBHaG9zdCBzaXRlIixyZXF1aXJlZDohMH0se2tleToiZGF0YWJhc2VfX2NsaWVudCIsdmFsdWU6InNxbGl0ZTMiLGRlc2NyaXB0aW9uOiJEYXRhYmFzZSBjbGllbnQgdHlwZSIscmVxdWlyZWQ6ITF9XSx2b2x1bWVzOlsiL3Zhci9saWIvZ2hvc3QvY29udGVudCJdfSx7aWQ6Im5naW54IixuYW1lOiJOZ2lueCIsZGVzY3JpcHRpb246IkhpZ2gtcGVyZm9ybWFuY2UgSFRUUCBzZXJ2ZXIgYW5kIHJldmVyc2UgcHJveHkgd2l0aCBsb3cgcmVzb3VyY2UgY29uc3VtcHRpb24uIixjYXRlZ29yeToiV2ViIFNlcnZlciIsaWNvbk5hbWU6Imdsb2JlIixpbWFnZToibmdpbng6YWxwaW5lIixwb3J0OjgwLHZvbHVtZXM6WyIvdXNyL3NoYXJlL25naW54L2h0bWwiLCIvZXRjL25naW54L2NvbmYuZCJdfSx7aWQ6InJlZGlzIixuYW1lOiJSZWRpcyIsZGVzY3JpcHRpb246IkluLW1lbW9yeSBkYXRhIHN0b3JlIHVzZWQgYXMgYSBkYXRhYmFzZSwgY2FjaGUsIHN0cmVhbWluZyBlbmdpbmUsIGFuZCBtZXNzYWdlIGJyb2tlci4iLGNhdGVnb3J5OiJEYXRhYmFzZSIsaWNvbk5hbWU6ImRhdGFiYXNlIixpbWFnZToicmVkaXM6YWxwaW5lIixwb3J0OjYzNzl9LHtpZDoicG9zdGdyZXMiLG5hbWU6IlBvc3RncmVTUUwiLGRlc2NyaXB0aW9uOiJBZHZhbmNlZCBvcGVuLXNvdXJjZSByZWxhdGlvbmFsIGRhdGFiYXNlIHdpdGggc3Ryb25nIHJlbGlhYmlsaXR5IGFuZCBmZWF0dXJlIHNldC4iLGNhdGVnb3J5OiJEYXRhYmFzZSIsaWNvbk5hbWU6ImRhdGFiYXNlIixpbWFnZToicG9zdGdyZXM6MTYtYWxwaW5lIixwb3J0OjU0MzIsZW52VmFyczpbe2tleToiUE9TVEdSRVNfVVNFUiIsdmFsdWU6InBvc3RncmVzIixkZXNjcmlwdGlvbjoiU3VwZXJ1c2VyIHVzZXJuYW1lIixyZXF1aXJlZDohMH0se2tleToiUE9TVEdSRVNfUEFTU1dPUkQiLHZhbHVlOiIiLGRlc2NyaXB0aW9uOiJTdXBlcnVzZXIgcGFzc3dvcmQiLHJlcXVpcmVkOiEwfSx7a2V5OiJQT1NUR1JFU19EQiIsdmFsdWU6InBvc3RncmVzIixkZXNjcmlwdGlvbjoiRGVmYXVsdCBkYXRhYmFzZSBuYW1lIixyZXF1aXJlZDohMX1dLHZvbHVtZXM6WyIvdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGEiXX1dfQogICAgICA+PC9zei1hcHAtc3RvcmUtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlNlcnZpY2VzIl07I2U9QzUodGhpcyxuLFtdKTtnZXQgYXBwcygpe3JldHVybiB0aGlzLiNlfXNldCBhcHBzKGIpe3RoaXMuI2U9Yn0jdD0oQzUodGhpcyxsKSxDNSh0aGlzLGMsIkFsbCIpKTtnZXQgc2VsZWN0ZWRDYXRlZ29yeSgpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZENhdGVnb3J5KGIpe3RoaXMuI3Q9Yn0jYT0oQzUodGhpcyxwKSxDNSh0aGlzLG0sIiIpKTtnZXQgc2VhcmNoUXVlcnkoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VhcmNoUXVlcnkoYil7dGhpcy4jYT1ifXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgfQoKICAgICAgLmZpbHRlci1iYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5jYXRlZ29yeS1waWxscyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5jYXRlZ29yeS1waWxsIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuY2F0ZWdvcnktcGlsbDpob3ZlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNhdGVnb3J5LXBpbGwuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDI0MHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDhweCAzNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2U7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuc2VhcmNoLXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pY29uIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMTBweDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5hcHAtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgewogICAgICAgIC5hcHAtZ3JpZCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7CiAgICAgICAgLmFwcC1ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KCiAgICAgICAgLmZpbHRlci1iYXIgewogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgICAgIH0KCiAgICAgICAgLnNlYXJjaC1pbnB1dCB7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5hcHAtY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQoKICAgICAgLmFwcC1jYXJkOmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsMCwwLDAuMDUpIiwicmdiYSgwLDAsMCwwLjIpIil9OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsKICAgICAgfQoKICAgICAgLmNhcmQtdG9wIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGdhcDogMTRweDsKICAgICAgfQoKICAgICAgLmFwcC1pY29uIHsKICAgICAgICB3aWR0aDogNDRweDsKICAgICAgICBoZWlnaHQ6IDQ0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5hcHAtaWNvbiBzdmcgewogICAgICAgIHdpZHRoOiAyMnB4OwogICAgICAgIGhlaWdodDogMjJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYXBwLWljb24gaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgIH0KCiAgICAgIC5hcHAtaWNvbiAubGV0dGVyLWZhbGxiYWNrIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAuY2FyZC1pbmZvIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLmFwcC1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICAgIH0KCiAgICAgIC5jYXRlZ29yeS1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlZmY2ZmYiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xNSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmFwcC1kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7CiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5jYXJkLWZvb3RlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMWExYTFlIil9OwogICAgICAgIG1hcmdpbi10b3A6IGF1dG87CiAgICAgIH0KCiAgICAgIC5pbWFnZS10YWcgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG1heC13aWR0aDogMTYwcHg7CiAgICAgIH0KCiAgICAgIC5kZXBsb3ktYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDdweCAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5kZXBsb3ktYnV0dG9uOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjg1OwogICAgICB9CgogICAgICAuZGVwbG95LWJ1dHRvbiBzdmcgewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQoKICAgICAgLmRldGFpbHMtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDdweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmRldGFpbHMtYnV0dG9uOmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY2FyZC1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTsKICAgICAgICBwYWRkaW5nOiA2NHB4IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAuZW1wdHktaWNvbiB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTZweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgLmVtcHR5LWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07Z2V0IGNhdGVnb3JpZXMoKXtsZXQgYj1uZXcgU2V0KHRoaXMuYXBwcy5tYXAoZz0+Zy5jYXRlZ29yeSkpO3JldHVyblsiQWxsIiwuLi5BcnJheS5mcm9tKGIpLnNvcnQoKV19Z2V0IGZpbHRlcmVkQXBwcygpe2xldCBiPXRoaXMuYXBwcztpZih0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkhPT0iQWxsIiYmKGI9Yi5maWx0ZXIoZz0+Zy5jYXRlZ29yeT09PXRoaXMuc2VsZWN0ZWRDYXRlZ29yeSkpLHRoaXMuc2VhcmNoUXVlcnkudHJpbSgpKXtsZXQgZz10aGlzLnNlYXJjaFF1ZXJ5LnRyaW0oKS50b0xvd2VyQ2FzZSgpO2I9Yi5maWx0ZXIoeT0+eS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZyl8fHkuZGVzY3JpcHRpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhnKXx8eS5jYXRlZ29yeS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGcpKX1yZXR1cm4gYn1yZW5kZXIoKXtsZXQgYj10aGlzLmZpbHRlcmVkQXBwcztyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItdGl0bGUiPkFwcCBTdG9yZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1zdWJ0aXRsZSI+RGVwbG95IHBvcHVsYXIgYXBwbGljYXRpb25zIHdpdGggb25lIGNsaWNrPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZmlsdGVyLWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2F0ZWdvcnktcGlsbHMiPgogICAgICAgICAgJHt0aGlzLmNhdGVnb3JpZXMubWFwKGc9PndgCiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9ImNhdGVnb3J5LXBpbGwgJHt0aGlzLnNlbGVjdGVkQ2F0ZWdvcnk9PT1nPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT57dGhpcy5zZWxlY3RlZENhdGVnb3J5PWd9fQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7Z30KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoLXdyYXBwZXIiPgogICAgICAgICAgPHN2ZyBjbGFzcz0ic2VhcmNoLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9IjgiPjwvY2lyY2xlPgogICAgICAgICAgICA8bGluZSB4MT0iMjEiIHkxPSIyMSIgeDI9IjE2LjY1IiB5Mj0iMTYuNjUiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgIGNsYXNzPSJzZWFyY2gtaW5wdXQiCiAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZWFyY2ggYXBwcy4uLiIKICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZWFyY2hRdWVyeX0KICAgICAgICAgICAgQGlucHV0PSR7Zz0+e3RoaXMuc2VhcmNoUXVlcnk9Zy50YXJnZXQudmFsdWV9fQogICAgICAgICAgPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImFwcC1ncmlkIj4KICAgICAgICAke2IubGVuZ3RoPjA/Yi5tYXAoZz0+dGhpcy5yZW5kZXJBcHBDYXJkKGcpKTp3YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImVtcHR5LWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij4KICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iOCI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIyMSIgeTE9IjIxIiB4Mj0iMTYuNjUiIHkyPSIxNi42NSI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iOCIgeTE9IjExIiB4Mj0iMTQiIHkyPSIxMSI+PC9saW5lPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS10aXRsZSI+Tm8gYXBwcyBmb3VuZDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktZGVzY3JpcHRpb24iPgogICAgICAgICAgICAgICAgICBUcnkgYWRqdXN0aW5nIHlvdXIgc2VhcmNoIG9yIGZpbHRlciB0byBmaW5kIHdoYXQgeW91J3JlIGxvb2tpbmcgZm9yLgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJBcHBDYXJkKGIpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJhcHAtY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC10b3AiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYXBwLWljb24iPgogICAgICAgICAgICAke2IuaWNvblVybD93YDxpbWcgc3JjPSIke2IuaWNvblVybH0iIGFsdD0iJHtiLm5hbWV9Ij5gOmIuaWNvbk5hbWU/dGhpcy5yZW5kZXJJY29uQnlOYW1lKGIuaWNvbk5hbWUpOndgPHNwYW4gY2xhc3M9ImxldHRlci1mYWxsYmFjayI+JHtiLm5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9PC9zcGFuPmB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaW5mbyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFwcC1uYW1lIj4ke2IubmFtZX08L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2F0ZWdvcnktYmFkZ2UiPiR7Yi5jYXRlZ29yeX08L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImFwcC1kZXNjcmlwdGlvbiI+JHtiLmRlc2NyaXB0aW9ufTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtZm9vdGVyIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbWFnZS10YWciIHRpdGxlPSIke2IuaW1hZ2V9Ij4ke2IuaW1hZ2V9PC9zcGFuPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1hY3Rpb25zIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGV0YWlscy1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVZpZXdEZXRhaWxzKGIpfT4KICAgICAgICAgICAgICBWaWV3IERldGFpbHMKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRlcGxveS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlcGxveShiKX0+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjAgMTIgMjAgMjIgNCAyMiA0IDEyIj48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPHJlY3QgeD0iMiIgeT0iNyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjUiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjIyIiB4Mj0iMTIiIHkyPSI3Ij48L2xpbmU+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgN0g3LjVhMi41IDIuNSAwIDAgMSAwLTVDMTEgMiAxMiA3IDEyIDd6Ij48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgN2g0LjVhMi41IDIuNSAwIDAgMCAwLTVDMTMgMiAxMiA3IDEyIDd6Ij48L3BhdGg+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgRGVwbG95CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJJY29uQnlOYW1lKGIpe3JldHVybnsiZmlsZS10ZXh0Ijp3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6Ij48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz0iMTQgMiAxNCA4IDIwIDgiPjwvcG9seWxpbmU+PGxpbmUgeDE9IjE2IiB5MT0iMTMiIHgyPSI4IiB5Mj0iMTMiPjwvbGluZT48bGluZSB4MT0iMTYiIHkxPSIxNyIgeDI9IjgiIHkyPSIxNyI+PC9saW5lPjxwb2x5bGluZSBwb2ludHM9IjEwIDkgOSA5IDggOSI+PC9wb2x5bGluZT48L3N2Zz5gLCJnaXQtYnJhbmNoIjp3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48bGluZSB4MT0iNiIgeTE9IjMiIHgyPSI2IiB5Mj0iMTUiPjwvbGluZT48Y2lyY2xlIGN4PSIxOCIgY3k9IjYiIHI9IjMiPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjYiIGN5PSIxOCIgcj0iMyI+PC9jaXJjbGU+PHBhdGggZD0iTTE4IDlhOSA5IDAgMCAxLTkgOSI+PC9wYXRoPjwvc3ZnPmAsImJvb2stb3BlbiI6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTIgM2g2YTQgNCAwIDAgMSA0IDR2MTRhMyAzIDAgMCAwLTMtM0gyeiI+PC9wYXRoPjxwYXRoIGQ9Ik0yMiAzaC02YTQgNCAwIDAgMC00IDR2MTRhMyAzIDAgMCAxIDMtM2g3eiI+PC9wYXRoPjwvc3ZnPmAsZ2xvYmU6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPjxsaW5lIHgxPSIyIiB5MT0iMTIiIHgyPSIyMiIgeTI9IjEyIj48L2xpbmU+PHBhdGggZD0iTTEyIDJhMTUuMyAxNS4zIDAgMCAxIDQgMTAgMTUuMyAxNS4zIDAgMCAxLTQgMTAgMTUuMyAxNS4zIDAgMCAxLTQtMTAgMTUuMyAxNS4zIDAgMCAxIDQtMTB6Ij48L3BhdGg+PC9zdmc+YCxkYXRhYmFzZTp3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48ZWxsaXBzZSBjeD0iMTIiIGN5PSI1IiByeD0iOSIgcnk9IjMiPjwvZWxsaXBzZT48cGF0aCBkPSJNMjEgMTJjMCAxLjY2LTQgMy05IDNzLTktMS4zNC05LTMiPjwvcGF0aD48cGF0aCBkPSJNMyA1djE0YzAgMS42NiA0IDMgOSAzczktMS4zNCA5LTNWNSI+PC9wYXRoPjwvc3ZnPmAsc2VydmVyOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD48cmVjdCB4PSIyIiB5PSIxNCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjYuMDEiIHkyPSI2Ij48L2xpbmU+PGxpbmUgeDE9IjYiIHkxPSIxOCIgeDI9IjYuMDEiIHkyPSIxOCI+PC9saW5lPjwvc3ZnPmAscGFja2FnZTp3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48bGluZSB4MT0iMTYuNSIgeTE9IjkuNCIgeDI9IjcuNSIgeTI9IjQuMjEiPjwvbGluZT48cGF0aCBkPSJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6Ij48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz0iMy4yNyA2Ljk2IDEyIDEyLjAxIDIwLjczIDYuOTYiPjwvcG9seWxpbmU+PGxpbmUgeDE9IjEyIiB5MT0iMjIuMDgiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+PC9zdmc+YCxtYWlsOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik00IDRoMTZjMS4xIDAgMiAuOSAyIDJ2MTJjMCAxLjEtLjkgMi0yIDJINGMtMS4xIDAtMi0uOS0yLTJWNmMwLTEuMS45LTIgMi0yeiI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9IjIyLDYgMTIsMTMgMiw2Ij48L3BvbHlsaW5lPjwvc3ZnPmAsc2hpZWxkOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik0xMiAyMnM4LTQgOC0xMFY1bC04LTMtOCAzdjdjMCA2IDggMTAgOCAxMHoiPjwvcGF0aD48L3N2Zz5gLG1vbml0b3I6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHJlY3QgeD0iMiIgeT0iMyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjE0IiByeD0iMiIgcnk9IjIiPjwvcmVjdD48bGluZSB4MT0iOCIgeTE9IjIxIiB4Mj0iMTYiIHkyPSIyMSI+PC9saW5lPjxsaW5lIHgxPSIxMiIgeTE9IjE3IiB4Mj0iMTIiIHkyPSIyMSI+PC9saW5lPjwvc3ZnPmB9W2JdfHx3YDxzcGFuIGNsYXNzPSJsZXR0ZXItZmFsbGJhY2siPj88L3NwYW4+YH1oYW5kbGVWaWV3RGV0YWlscyhiKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ2aWV3LWFwcCIse2RldGFpbDp7YXBwOmJ9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVwbG95KGIpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRlcGxveS1hcHAiLHtkZXRhaWw6e2FwcDpifSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxDNSh0aGlzLHYpfXN0YXRpY3tDNShyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgWEplLHdHLHJSYSxPdWE9ZigoKT0+e2xlKCk7WEplPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx3Rz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sclJhPSgoKT0+e2xldCBhPVtpZSgic3otdG9rZW5zLXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pUb2tlbnNWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOkFycmF5fSldLFhKZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imdsb2JhbFRva2VucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iZ2xvYmFsVG9rZW5zImluIHYsImhhcyIpLGdldDpzKHY9PnYuZ2xvYmFsVG9rZW5zLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuZ2xvYmFsVG9rZW5zPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxYSmUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjaVRva2VucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iY2lUb2tlbnMiaW4gdiwiaGFzIiksZ2V0OnModj0+di5jaVRva2VucywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmNpVG9rZW5zPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxYSmUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMDAwcHg7Ij4KICAgICAgPHN6LXRva2Vucy12aWV3CiAgICAgICAgLmdsb2JhbFRva2Vucz0ke1t7aWQ6IjEiLG5hbWU6IkNJL0NEIFBpcGVsaW5lIix0eXBlOiJnbG9iYWwiLGNyZWF0ZWRBdDoiMjAyNC0wMS0xNSIsbGFzdFVzZWQ6IjIwMjQtMDEtMjAifSx7aWQ6IjIiLG5hbWU6IkRldmVsb3BtZW50Iix0eXBlOiJnbG9iYWwiLGNyZWF0ZWRBdDoiMjAyNC0wMS0xMCJ9XX0KICAgICAgICAuY2lUb2tlbnM9JHtbe2lkOiIzIixuYW1lOiJoZWxsby13b3JsZC1jaSIsdHlwZToiY2kiLHNlcnZpY2U6ImhlbGxvLXdvcmxkIixjcmVhdGVkQXQ6IjIwMjQtMDEtMTgifSx7aWQ6IjQiLG5hbWU6ImFwaS1zZXJ2aWNlLWNpIix0eXBlOiJjaSIsc2VydmljZToiYXBpLXNlcnZpY2UiLGNyZWF0ZWRBdDoiMjAyNC0wMS0xMiIsbGFzdFVzZWQ6IjIwMjQtMDEtMTkifV19CiAgICAgID48L3N6LXRva2Vucy12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXV0aCAmIFNldHRpbmdzIl07I2U9d0codGhpcyxuLFtdKTtnZXQgZ2xvYmFsVG9rZW5zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGdsb2JhbFRva2VucyhtKXt0aGlzLiNlPW19I3Q9KHdHKHRoaXMsbCksd0codGhpcyxjLFtdKSk7Z2V0IGNpVG9rZW5zKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGNpVG9rZW5zKG0pe3RoaXMuI3Q9bX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICBkZWVzLXRpbGUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24taGVhZGluZyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTAlKSIsImhzbCgyMTMuMSA5My45JSA3NSUpIil9OwogICAgICB9CgogICAgICAudG9rZW4tbGlzdCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLnRva2VuLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAudG9rZW4taXRlbTpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAudG9rZW4taW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAudG9rZW4tbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRva2VuLW1ldGEgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudG9rZW4tc2VydmljZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7CiAgICAgIH0KCiAgICAgIC50b2tlbi1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kZWxldGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBwYWRkaW5nOiAzMnB4IDE2cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAuZW1wdHktdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tdGl0bGUiPkdsb2JhbCBUb2tlbnM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5Ub2tlbnMgdGhhdCBjYW4gcHVzaCBpbWFnZXMgdG8gbXVsdGlwbGUgc2VydmljZXM8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuZ2xvYmFsVG9rZW5zLmxlbmd0aD4wP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1saXN0Ij4KICAgICAgICAgICAgJHt0aGlzLmdsb2JhbFRva2Vucy5tYXAobT0+dGhpcy5yZW5kZXJUb2tlbihtKSl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXRleHQiPk5vIGdsb2JhbCB0b2tlbnMgY3JlYXRlZDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYH0KICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InNlY3Rpb24tZm9vdGVyIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIHByaW1hcnkiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNyZWF0ZSgiZ2xvYmFsIil9PgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBDcmVhdGUgVG9rZW4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRpbmciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Q0kgVG9rZW5zIChTZXJ2aWNlLXNwZWNpZmljKTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPlRva2VucyB0aWVkIHRvIGluZGl2aWR1YWwgc2VydmljZXMgZm9yIENJL0NEIHBpcGVsaW5lczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5jaVRva2Vucy5sZW5ndGg+MD93YAogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbGlzdCI+CiAgICAgICAgICAgICR7dGhpcy5jaVRva2Vucy5tYXAobT0+dGhpcy5yZW5kZXJUb2tlbihtKSl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXRleHQiPk5vIENJIHRva2VucyBjcmVhdGVkPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgfQogICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0ic2VjdGlvbi1mb290ZXIiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gcHJpbWFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlKCJjaSIpfT4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgQ3JlYXRlIFRva2VuCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfXJlbmRlclRva2VuKG0pe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1pdGVtIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1pbmZvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPiR7bS5uYW1lfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbWV0YSI+CiAgICAgICAgICAgICR7bS5zZXJ2aWNlP3dgPHNwYW4gY2xhc3M9InRva2VuLXNlcnZpY2UiPiR7bS5zZXJ2aWNlfTwvc3Bhbj5gOiIifQogICAgICAgICAgICBDcmVhdGVkICR7bS5jcmVhdGVkQXR9CiAgICAgICAgICAgICR7bS5sYXN0VXNlZD93YCDCtyBMYXN0IHVzZWQgJHttLmxhc3RVc2VkfWA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1hY3Rpb25zIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNvcHkobSl9PkNvcHk8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVJlZ2VuZXJhdGUobSl9PlJlZ2VuZXJhdGU8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGVsZXRlIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZWxldGUobSl9PkRlbGV0ZTwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlQ3JlYXRlKG0pe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNyZWF0ZSIse2RldGFpbDp7dHlwZTptfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNvcHkobSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29weSIse2RldGFpbDptLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlUmVnZW5lcmF0ZShtKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZWdlbmVyYXRlIix7ZGV0YWlsOm0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZWxldGUobSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlIix7ZGV0YWlsOm0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksd0codGhpcyxwKX1zdGF0aWN7d0cocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIFFKZSxNRyxzUmEsRnVhPWYoKCk9PntsZSgpO1FKZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sTUc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHNSYT0oKCk9PntsZXQgYT1baWUoInN6LXNldHRpbmdzLXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pTZXR0aW5nc1ZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSxRSmUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXR0aW5ncyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4ic2V0dGluZ3MiaW4gdiwiaGFzIiksZ2V0OnModj0+di5zZXR0aW5ncywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnNldHRpbmdzPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxRSmUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VXNlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iY3VycmVudFVzZXIiaW4gdiwiaGFzIiksZ2V0OnModj0+di5jdXJyZW50VXNlciwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmN1cnJlbnRVc2VyPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxRSmUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA4MDBweDsiPgogICAgICA8c3otc2V0dGluZ3MtdmlldwogICAgICAgIC5zZXR0aW5ncz0ke3tkYXJrTW9kZTohMCxjbG91ZGZsYXJlVG9rZW46IiIsY2xvdWRmbGFyZVpvbmVJZDoiIixhdXRvUmVuZXdDZXJ0czohMCxyZW5ld2FsVGhyZXNob2xkOjMwLGFjbWVFbWFpbDoiY2VydHNAZXhhbXBsZS5jb20iLGh0dHBQb3J0OjgwLGh0dHBzUG9ydDo0NDMsZm9yY2VIdHRwczohMH19CiAgICAgICAgY3VycmVudFVzZXI9ImFkbWluIgogICAgICA+PC9zei1zZXR0aW5ncy12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXV0aCAmIFNldHRpbmdzIl07I2U9TUcodGhpcyxuLHtkYXJrTW9kZTohMSxjbG91ZGZsYXJlVG9rZW46IiIsY2xvdWRmbGFyZVpvbmVJZDoiIixhdXRvUmVuZXdDZXJ0czohMCxyZW5ld2FsVGhyZXNob2xkOjMwLGFjbWVFbWFpbDoiIixodHRwUG9ydDo4MCxodHRwc1BvcnQ6NDQzLGZvcmNlSHR0cHM6ITB9KTtnZXQgc2V0dGluZ3MoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc2V0dGluZ3MobSl7dGhpcy4jZT1tfSN0PShNRyh0aGlzLGwpLE1HKHRoaXMsYywiIikpO2dldCBjdXJyZW50VXNlcigpe3JldHVybiB0aGlzLiN0fXNldCBjdXJyZW50VXNlcihtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRpbmcgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWZvb3RlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDA7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbjpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLnByaW1hcnkgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA4KSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSAvIDAuMDgpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDUwJSkiLCJoc2woMjEzLjEgOTMuOSUgNzUlKSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0tZ3JvdXAgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC5mb3JtLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMnB4IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0tcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5mb3JtLWxhYmVsLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC5mb3JtLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuZm9ybS1oaW50IHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmlucHV0LWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgaW5wdXRbdHlwZT0idGV4dCJdLAogICAgICBpbnB1dFt0eXBlPSJwYXNzd29yZCJdLAogICAgICBpbnB1dFt0eXBlPSJlbWFpbCJdLAogICAgICBpbnB1dFt0eXBlPSJudW1iZXIiXSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICBpbnB1dDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIGlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1zd2l0Y2ggewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogNDRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaC5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzNiODJmNiIpfTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1zd2l0Y2g6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAycHg7CiAgICAgICAgbGVmdDogMnB4OwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc3dpdGNoLmFjdGl2ZTo6YWZ0ZXIgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsKICAgICAgfQoKICAgICAgLnBhc3N3b3JkLXNlY3Rpb24gewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnBhc3N3b3JkLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIC5wYXNzd29yZC1maWVsZHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5maWVsZC1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRpbmciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXBwZWFyYW5jZTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkN1c3RvbWl6ZSB0aGUgbG9vayBhbmQgZmVlbDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tbGFiZWwtZ3JvdXAiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb3JtLWxhYmVsIj5EYXJrIE1vZGU8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvcm0taGludCI+VG9nZ2xlIGRhcmsgbW9kZSBvbiBvciBvZmY8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtc3dpdGNoICR7dGhpcy5zZXR0aW5ncy5kYXJrTW9kZT8iYWN0aXZlIjoiIn0iIEBjbGljaz0keygpPT50aGlzLnRvZ2dsZURhcmtNb2RlKCl9PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5DbG91ZGZsYXJlIEludGVncmF0aW9uPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+Q29uZmlndXJlIENsb3VkZmxhcmUgQVBJIGZvciBETlMgbWFuYWdlbWVudDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWxhYmVsIj5BUEkgVG9rZW48L2Rpdj4KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJFbnRlciBDbG91ZGZsYXJlIEFQSSB0b2tlbiIgLnZhbHVlPSR7dGhpcy5zZXR0aW5ncy5jbG91ZGZsYXJlVG9rZW59IEBpbnB1dD0ke209PnRoaXMudXBkYXRlU2V0dGluZygiY2xvdWRmbGFyZVRva2VuIixtLnRhcmdldC52YWx1ZSl9PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPlpvbmUgSUQgKE9wdGlvbmFsKTwvZGl2PgogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRGVmYXVsdCB6b25lIElEIiAudmFsdWU9JHt0aGlzLnNldHRpbmdzLmNsb3VkZmxhcmVab25lSWR9IEBpbnB1dD0ke209PnRoaXMudXBkYXRlU2V0dGluZygiY2xvdWRmbGFyZVpvbmVJZCIsbS50YXJnZXQudmFsdWUpfT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taGludCI+R2V0IHlvdXIgQVBJIHRva2VuIGZyb20gdGhlIENsb3VkZmxhcmUgZGFzaGJvYXJkIHdpdGggRE5TIGVkaXQgcGVybWlzc2lvbnMuPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CgogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNTTC9UTFMgU2V0dGluZ3M8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5Db25maWd1cmUgY2VydGlmaWNhdGUgbWFuYWdlbWVudDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tbGFiZWwtZ3JvdXAiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb3JtLWxhYmVsIj5BdXRvLVJlbmV3IENlcnRpZmljYXRlczwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1oaW50Ij5BdXRvbWF0aWNhbGx5IHJlbmV3IGNlcnRpZmljYXRlcyBiZWZvcmUgZXhwaXJ5PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXN3aXRjaCAke3RoaXMuc2V0dGluZ3MuYXV0b1JlbmV3Q2VydHM/ImFjdGl2ZSI6IiJ9IiBAY2xpY2s9JHsoKT0+dGhpcy50b2dnbGVTZXR0aW5nKCJhdXRvUmVuZXdDZXJ0cyIpfT48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPlJlbmV3YWwgVGhyZXNob2xkIChkYXlzKTwvZGl2PgogICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiAudmFsdWU9JHtTdHJpbmcodGhpcy5zZXR0aW5ncy5yZW5ld2FsVGhyZXNob2xkKX0gQGlucHV0PSR7bT0+dGhpcy51cGRhdGVTZXR0aW5nKCJyZW5ld2FsVGhyZXNob2xkIixwYXJzZUludChtLnRhcmdldC52YWx1ZSkpfT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50Ij5SZW5ldyBjZXJ0aWZpY2F0ZXMgd2hlbiB0aGV5IGhhdmUgZmV3ZXIgdGhhbiB0aGlzIG1hbnkgZGF5cyByZW1haW5pbmcuPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+QUNNRSBFbWFpbDwvZGl2PgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iZW1haWwiIHBsYWNlaG9sZGVyPSJhZG1pbkBleGFtcGxlLmNvbSIgLnZhbHVlPSR7dGhpcy5zZXR0aW5ncy5hY21lRW1haWx9IEBpbnB1dD0ke209PnRoaXMudXBkYXRlU2V0dGluZygiYWNtZUVtYWlsIixtLnRhcmdldC52YWx1ZSl9PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPkVtYWlsIGFkZHJlc3MgZm9yIExldCdzIEVuY3J5cHQgbm90aWZpY2F0aW9ucy48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRpbmciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TmV0d29yayBTZXR0aW5nczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkNvbmZpZ3VyZSBuZXR3b3JrIGFuZCBwcm94eSBzZXR0aW5nczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+SFRUUCBQb3J0PC9kaXY+CiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgLnZhbHVlPSR7U3RyaW5nKHRoaXMuc2V0dGluZ3MuaHR0cFBvcnQpfSBAaW5wdXQ9JHttPT50aGlzLnVwZGF0ZVNldHRpbmcoImh0dHBQb3J0IixwYXJzZUludChtLnRhcmdldC52YWx1ZSkpfT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWxhYmVsIj5IVFRQUyBQb3J0PC9kaXY+CiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgLnZhbHVlPSR7U3RyaW5nKHRoaXMuc2V0dGluZ3MuaHR0cHNQb3J0KX0gQGlucHV0PSR7bT0+dGhpcy51cGRhdGVTZXR0aW5nKCJodHRwc1BvcnQiLHBhcnNlSW50KG0udGFyZ2V0LnZhbHVlKSl9PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWxhYmVsLWdyb3VwIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1sYWJlbCI+Rm9yY2UgSFRUUFM8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvcm0taGludCI+UmVkaXJlY3QgYWxsIEhUVFAgdHJhZmZpYyB0byBIVFRQUzwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1zd2l0Y2ggJHt0aGlzLnNldHRpbmdzLmZvcmNlSHR0cHM/ImFjdGl2ZSI6IiJ9IiBAY2xpY2s9JHsoKT0+dGhpcy50b2dnbGVTZXR0aW5nKCJmb3JjZUh0dHBzIil9PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BY2NvdW50PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+TWFuYWdlIHlvdXIgYWNjb3VudCBzZXR0aW5nczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPkN1cnJlbnQgVXNlcjwvZGl2PgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDE0cHg7IGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07Ij4ke3RoaXMuY3VycmVudFVzZXJ8fCJVbmtub3duIn08L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icGFzc3dvcmQtc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhc3N3b3JkLXRpdGxlIj5DaGFuZ2UgUGFzc3dvcmQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFzc3dvcmQtZmllbGRzIj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPkN1cnJlbnQgUGFzc3dvcmQ8L2Rpdj4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgaWQ9ImN1cnJlbnRQYXNzd29yZCI+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWxhYmVsIj5OZXcgUGFzc3dvcmQ8L2Rpdj4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgaWQ9Im5ld1Bhc3N3b3JkIj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPkNvbmZpcm0gUGFzc3dvcmQ8L2Rpdj4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgaWQ9ImNvbmZpcm1QYXNzd29yZCI+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJzZWN0aW9uLWZvb3RlciI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ2hhbmdlUGFzc3dvcmQoKX0+VXBkYXRlIFBhc3N3b3JkPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiIHN0eWxlPSJwYWRkaW5nOiAxMnB4IDE2cHg7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7IGZvbnQtc2l6ZTogMTJweDsiPgogICAgICAgICAgU2F2ZSB5b3VyIGNoYW5nZXMgb3IgcmVzZXQgdG8gZGVmYXVsdHMuCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJzZWN0aW9uLWZvb3RlciI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlUmVzZXQoKX0+UmVzZXQ8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIHByaW1hcnkiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVNhdmUoKX0+U2F2ZSBTZXR0aW5nczwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9dG9nZ2xlRGFya01vZGUoKXt0aGlzLnNldHRpbmdzPXsuLi50aGlzLnNldHRpbmdzLGRhcmtNb2RlOiF0aGlzLnNldHRpbmdzLmRhcmtNb2RlfSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZXR0aW5nLWNoYW5nZSIse2RldGFpbDp7a2V5OiJkYXJrTW9kZSIsdmFsdWU6dGhpcy5zZXR0aW5ncy5kYXJrTW9kZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX10b2dnbGVTZXR0aW5nKG0pe3RoaXMuc2V0dGluZ3NbbV09IXRoaXMuc2V0dGluZ3NbbV0sdGhpcy5zZXR0aW5ncz17Li4udGhpcy5zZXR0aW5nc319dXBkYXRlU2V0dGluZyhtLHYpe3RoaXMuc2V0dGluZ3NbbV09dix0aGlzLnNldHRpbmdzPXsuLi50aGlzLnNldHRpbmdzfX1oYW5kbGVDaGFuZ2VQYXNzd29yZCgpe2xldCBtPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoImN1cnJlbnRQYXNzd29yZCIpPy52YWx1ZSx2PXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoIm5ld1Bhc3N3b3JkIik/LnZhbHVlLHg9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgiY29uZmlybVBhc3N3b3JkIik/LnZhbHVlO3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNoYW5nZS1wYXNzd29yZCIse2RldGFpbDp7Y3VycmVudFBhc3N3b3JkOm0sbmV3UGFzc3dvcmQ6dixjb25maXJtUGFzc3dvcmQ6eH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVSZXNldCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJlc2V0Iix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVTYXZlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2F2ZSIse2RldGFpbDp0aGlzLnNldHRpbmdzLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLE1HKHRoaXMscCl9c3RhdGlje01HKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBrRyxPYyxpUmEsQnVhPWYoKCk9PntsZSgpO2tHPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxPYz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0saVJhPSgoKT0+e2xldCBhPVtpZSgic3otbG9naW4tdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekxvZ2luVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBrPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6Qm9vbGVhbn0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOlN0cmluZ30pXSxrRyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImxvYWRpbmciaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5sb2FkaW5nLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MubG9hZGluZz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG4sbCksa0codGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlcnJvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iZXJyb3IiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5lcnJvciwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmVycm9yPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSxrRyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJ0aXRsZSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnRpdGxlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MudGl0bGU9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxtLHYpLGtHKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3VidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InN1YnRpdGxlImluIEMsImhhcyIpLGdldDpzKEM9PkMuc3VidGl0bGUsImdldCIpLHNldDpzKChDLE4pPT57Qy5zdWJ0aXRsZT1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGIsZyksa0cobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6a30sbnVsbCx0KSx5PXI9ZS52YWx1ZSxrJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA2MDBweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGJhY2tncm91bmQ6ICMwOTA5MGI7Ij4KICAgICAgPHN6LWxvZ2luLXZpZXc+PC9zei1sb2dpbi12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXV0aCAmIFNldHRpbmdzIl07I2U9T2ModGhpcyxuLCExKTtnZXQgbG9hZGluZygpe3JldHVybiB0aGlzLiNlfXNldCBsb2FkaW5nKGspe3RoaXMuI2U9a30jdD0oT2ModGhpcyxsKSxPYyh0aGlzLGMsIiIpKTtnZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZXJyb3Ioayl7dGhpcy4jdD1rfSNhPShPYyh0aGlzLHApLE9jKHRoaXMsbSwic2VydmUuem9uZSIpKTtnZXQgdGl0bGUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgdGl0bGUoayl7dGhpcy4jYT1rfSNyPShPYyh0aGlzLHYpLE9jKHRoaXMsYiwiU2lnbiBpbiB0byB5b3VyIG9uZWJveCIpKTtnZXQgc3VidGl0bGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc3VidGl0bGUoayl7dGhpcy4jcj1rfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzA5MDkwYiIpfTsKICAgICAgfQoKICAgICAgLmxvZ2luLWNvbnRhaW5lciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICB9CgogICAgICAubG9naW4tY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMDYpOwogICAgICB9CgogICAgICAubG9nby1zZWN0aW9uIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsKICAgICAgfQoKICAgICAgLmxvZ28gewogICAgICAgIHdpZHRoOiA2NHB4OwogICAgICAgIGhlaWdodDogNjRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTZweDsKICAgICAgfQoKICAgICAgLmxvZ28gc3ZnIHsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5mb3JtLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC5mb3JtLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuZm9ybS1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZm9ybS1pbnB1dDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIsInJnYmEoOTYsIDE2NSwgMjUwLCAwLjEpIil9OwogICAgICB9CgogICAgICAuZm9ybS1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0LmVycm9yIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgLmVycm9yLW1lc3NhZ2UgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWYyZjIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjEpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZmVjYWNhIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgIH0KCiAgICAgIC5lcnJvci1tZXNzYWdlIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuc3VibWl0LWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMTJweCAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZSwgdHJhbnNmb3JtIDIwMG1zIGVhc2U7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuc3VibWl0LWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgb3BhY2l0eTogMC45OwogICAgICB9CgogICAgICAuc3VibWl0LWJ1dHRvbjphY3RpdmU6bm90KDpkaXNhYmxlZCkgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7CiAgICAgIH0KCiAgICAgIC5zdWJtaXQtYnV0dG9uOmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLnNwaW5uZXIgewogICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBjdXJyZW50Q29sb3I7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLmZvb3RlciB7CiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5mb290ZXIgYSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIH0KCiAgICAgIC5mb290ZXIgYTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJsb2dpbi1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImxvZ2luLWNhcmQiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibG9nby1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nbyI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6Ij48L3BhdGg+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzLjI3IDYuOTYgMTIgMTIuMDEgMjAuNzMgNi45NiI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjIyLjA4IiB4Mj0iMTIiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPiR7dGhpcy50aXRsZX08L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VidGl0bGUiPiR7dGhpcy5zdWJ0aXRsZX08L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxmb3JtIGNsYXNzPSJmb3JtIiBAc3VibWl0PSR7dGhpcy5oYW5kbGVTdWJtaXR9PgogICAgICAgICAgICAke3RoaXMuZXJyb3I/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvci1tZXNzYWdlIj4KICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI4IiB4Mj0iMTIiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIxNiIgeDI9IjEyLjAxIiB5Mj0iMTYiPjwvbGluZT4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgJHt0aGlzLmVycm9yfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIiBmb3I9InVzZXJuYW1lIj5Vc2VybmFtZTwvbGFiZWw+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgaWQ9InVzZXJuYW1lIgogICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQgJHt0aGlzLmVycm9yPyJlcnJvciI6IiJ9IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkVudGVyIHlvdXIgdXNlcm5hbWUiCiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9InVzZXJuYW1lIgogICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5sb2FkaW5nfQogICAgICAgICAgICAgICAgcmVxdWlyZWQKICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIiBmb3I9InBhc3N3b3JkIj5QYXNzd29yZDwvbGFiZWw+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJwYXNzd29yZCIKICAgICAgICAgICAgICAgIGlkPSJwYXNzd29yZCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0ICR7dGhpcy5lcnJvcj8iZXJyb3IiOiIifSIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJFbnRlciB5b3VyIHBhc3N3b3JkIgogICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPSJjdXJyZW50LXBhc3N3b3JkIgogICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5sb2FkaW5nfQogICAgICAgICAgICAgICAgcmVxdWlyZWQKICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJzdWJtaXQtYnV0dG9uIiA/ZGlzYWJsZWQ9JHt0aGlzLmxvYWRpbmd9PgogICAgICAgICAgICAgICR7dGhpcy5sb2FkaW5nP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGlubmVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIFNpZ25pbmcgaW4uLi4KICAgICAgICAgICAgICBgOiJTaWduIGluIn0KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Zvcm0+CgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyIj4KICAgICAgICAgICAgUG93ZXJlZCBieSA8YSBocmVmPSJodHRwczovL3NlcnZlLnpvbmUiIHRhcmdldD0iX2JsYW5rIj5zZXJ2ZS56b25lPC9hPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVTdWJtaXQoayl7ay5wcmV2ZW50RGVmYXVsdCgpO2xldCBDPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoInVzZXJuYW1lIiksTj10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJwYXNzd29yZCIpO2lmKCFDfHwhTilyZXR1cm47bGV0IF89Qy52YWx1ZS50cmltKCksej1OLnZhbHVlO2lmKCFffHwheil7dGhpcy5lcnJvcj0iUGxlYXNlIGVudGVyIGJvdGggdXNlcm5hbWUgYW5kIHBhc3N3b3JkIjtyZXR1cm59dGhpcy5lcnJvcj0iIix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsb2dpbiIse2RldGFpbDp7dXNlcm5hbWU6XyxwYXNzd29yZDp6fSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNsZWFyRm9ybSgpe2xldCBrPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoInVzZXJuYW1lIiksQz10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJwYXNzd29yZCIpO2smJihrLnZhbHVlPSIiKSxDJiYoQy52YWx1ZT0iIiksdGhpcy5lcnJvcj0iIn1mb2N1c1VzZXJuYW1lKCl7bGV0IGs9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgidXNlcm5hbWUiKTtrJiZrLmZvY3VzKCl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLE9jKHRoaXMsZyl9c3RhdGlje09jKHIsdCl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciBmaSxFYSxvUmEsSHVhPWYoKCk9PntsZSgpO2ZpPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxFYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sb1JhPSgoKT0+e2xldCBhPVtpZSgic3otc2VydmljZS1jcmVhdGUtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxQPVtdLEIsTT1bXSxTPVtdLEUsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W10sY2UsdWU9W10sWT1bXSxRLEo9W10sWj1bXSxnZSxhZT1bXSxyZT1bXSx5ZSxWPVtdLEg9W107dmFyIG9lPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelNlcnZpY2VDcmVhdGVWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IHNlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpCb29sZWFufSldLHU9W0soKV0seD1bSygpXSx5PVtLKCldLE49W0soKV0sTz1bSygpXSxCPVtLKCldLEU9W0soKV0sVz1bSygpXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxRPVtLKCldLGdlPVtLKCldLHllPVtLKCldLGZpKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVnaXN0cmllcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InJlZ2lzdHJpZXMiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5yZWdpc3RyaWVzLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUucmVnaXN0cmllcz16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sbixsKSxmaSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJsb2FkaW5nImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUubG9hZGluZywiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLmxvYWRpbmc9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LGMscCksZmkodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXJ2aWNlTmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InNlcnZpY2VOYW1lImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUuc2VydmljZU5hbWUsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5zZXJ2aWNlTmFtZT16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sbSx2KSxmaSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImltYWdlVXJsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4iaW1hZ2VVcmwiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5pbWFnZVVybCwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLmltYWdlVXJsPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxiLGcpLGZpKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRSZWdpc3RyeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InNlbGVjdGVkUmVnaXN0cnkiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5zZWxlY3RlZFJlZ2lzdHJ5LCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuc2VsZWN0ZWRSZWdpc3RyeT16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sayxDKSxmaSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBvcnRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4icG9ydHMiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5wb3J0cywiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnBvcnRzPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxfLHopLGZpKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW52VmFycyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+ImVudlZhcnMiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5lbnZWYXJzLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuZW52VmFycz16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sVCxQKSxmaSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZvbHVtZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJ2b2x1bWVzImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUudm9sdW1lcywiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnZvbHVtZXM9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LE0sUyksZmkodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjcHVMaW1pdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+ImNwdUxpbWl0ImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUuY3B1TGltaXQsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5jcHVMaW1pdD16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sQSxGKSxmaSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbW9yeUxpbWl0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4ibWVtb3J5TGltaXQiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5tZW1vcnlMaW1pdCwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLm1lbW9yeUxpbWl0PXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxqLEcpLGZpKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlc3RhcnRQb2xpY3kiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJyZXN0YXJ0UG9saWN5ImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUucmVzdGFydFBvbGljeSwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnJlc3RhcnRQb2xpY3k9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LFIsVSksZmkodGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibmV0d29ya01vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJuZXR3b3JrTW9kZSJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLm5ldHdvcmtNb2RlLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUubmV0d29ya01vZGU9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LEkscSksZmkodGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0FkdmFuY2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4ic2hvd0FkdmFuY2VkImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUuc2hvd0FkdmFuY2VkLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuc2hvd0FkdmFuY2VkPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSx1ZSxZKSxmaSh0aGlzLG51bGwsUSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZU1vbmdvREIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJlbmFibGVNb25nb0RCImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUuZW5hYmxlTW9uZ29EQiwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLmVuYWJsZU1vbmdvREI9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LEosWiksZmkodGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlUzMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJlbmFibGVTMyJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmVuYWJsZVMzLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuZW5hYmxlUzM9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LGFlLHJlKSxmaSh0aGlzLG51bGwseWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVDbGlja0hvdXNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4iZW5hYmxlQ2xpY2tIb3VzZSJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmVuYWJsZUNsaWNrSG91c2UsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5lbmFibGVDbGlja0hvdXNlPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxWLEgpLGZpKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOnNlfSxudWxsLHQpLG9lPXI9ZS52YWx1ZSxzZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpzZX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDgwMHB4OyI+CiAgICAgIDxzei1zZXJ2aWNlLWNyZWF0ZS12aWV3CiAgICAgICAgLnJlZ2lzdHJpZXM9JHtbe2lkOiIxIixuYW1lOiJPbmVib3ggUmVnaXN0cnkiLHVybDoicmVnaXN0cnkub25lYm94LmxvY2FsIn0se2lkOiIyIixuYW1lOiJEb2NrZXIgSHViIix1cmw6ImRvY2tlci5pbyJ9XX0KICAgICAgPjwvc3otc2VydmljZS1jcmVhdGUtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlNlcnZpY2VzIl07I2U9RWEodGhpcyxuLFtdKTtnZXQgcmVnaXN0cmllcygpe3JldHVybiB0aGlzLiNlfXNldCByZWdpc3RyaWVzKHNlKXt0aGlzLiNlPXNlfSN0PShFYSh0aGlzLGwpLEVhKHRoaXMsYywhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGxvYWRpbmcoc2Upe3RoaXMuI3Q9c2V9I2E9KEVhKHRoaXMscCksRWEodGhpcyxtLCIiKSk7Z2V0IHNlcnZpY2VOYW1lKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNlcnZpY2VOYW1lKHNlKXt0aGlzLiNhPXNlfSNyPShFYSh0aGlzLHYpLEVhKHRoaXMsYiwiIikpO2dldCBpbWFnZVVybCgpe3JldHVybiB0aGlzLiNyfXNldCBpbWFnZVVybChzZSl7dGhpcy4jcj1zZX0jcz0oRWEodGhpcyxnKSxFYSh0aGlzLGssIiIpKTtnZXQgc2VsZWN0ZWRSZWdpc3RyeSgpe3JldHVybiB0aGlzLiNzfXNldCBzZWxlY3RlZFJlZ2lzdHJ5KHNlKXt0aGlzLiNzPXNlfSNpPShFYSh0aGlzLEMpLEVhKHRoaXMsXyxbe2hvc3RQb3J0OiIiLGNvbnRhaW5lclBvcnQ6IiIscHJvdG9jb2w6InRjcCJ9XSkpO2dldCBwb3J0cygpe3JldHVybiB0aGlzLiNpfXNldCBwb3J0cyhzZSl7dGhpcy4jaT1zZX0jbz0oRWEodGhpcyx6KSxFYSh0aGlzLFQsW3trZXk6IiIsdmFsdWU6IiJ9XSkpO2dldCBlbnZWYXJzKCl7cmV0dXJuIHRoaXMuI299c2V0IGVudlZhcnMoc2Upe3RoaXMuI289c2V9I249KEVhKHRoaXMsUCksRWEodGhpcyxNLFtdKSk7Z2V0IHZvbHVtZXMoKXtyZXR1cm4gdGhpcy4jbn1zZXQgdm9sdW1lcyhzZSl7dGhpcy4jbj1zZX0jbD0oRWEodGhpcyxTKSxFYSh0aGlzLEEsIiIpKTtnZXQgY3B1TGltaXQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgY3B1TGltaXQoc2Upe3RoaXMuI2w9c2V9I2M9KEVhKHRoaXMsRiksRWEodGhpcyxqLCIiKSk7Z2V0IG1lbW9yeUxpbWl0KCl7cmV0dXJuIHRoaXMuI2N9c2V0IG1lbW9yeUxpbWl0KHNlKXt0aGlzLiNjPXNlfSNkPShFYSh0aGlzLEcpLEVhKHRoaXMsUiwiYWx3YXlzIikpO2dldCByZXN0YXJ0UG9saWN5KCl7cmV0dXJuIHRoaXMuI2R9c2V0IHJlc3RhcnRQb2xpY3koc2Upe3RoaXMuI2Q9c2V9I3U9KEVhKHRoaXMsVSksRWEodGhpcyxJLCJicmlkZ2UiKSk7Z2V0IG5ldHdvcmtNb2RlKCl7cmV0dXJuIHRoaXMuI3V9c2V0IG5ldHdvcmtNb2RlKHNlKXt0aGlzLiN1PXNlfSNwPShFYSh0aGlzLHEpLEVhKHRoaXMsdWUsITEpKTtnZXQgc2hvd0FkdmFuY2VkKCl7cmV0dXJuIHRoaXMuI3B9c2V0IHNob3dBZHZhbmNlZChzZSl7dGhpcy4jcD1zZX0jZj0oRWEodGhpcyxZKSxFYSh0aGlzLEosITEpKTtnZXQgZW5hYmxlTW9uZ29EQigpe3JldHVybiB0aGlzLiNmfXNldCBlbmFibGVNb25nb0RCKHNlKXt0aGlzLiNmPXNlfSNoPShFYSh0aGlzLFopLEVhKHRoaXMsYWUsITEpKTtnZXQgZW5hYmxlUzMoKXtyZXR1cm4gdGhpcy4jaH1zZXQgZW5hYmxlUzMoc2Upe3RoaXMuI2g9c2V9I209KEVhKHRoaXMscmUpLEVhKHRoaXMsViwhMSkpO2dldCBlbmFibGVDbGlja0hvdXNlKCl7cmV0dXJuIHRoaXMuI219c2V0IGVuYWJsZUNsaWNrSG91c2Uoc2Upe3RoaXMuI209c2V9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuaGVhZGVyLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSBzdmcgewogICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZm9ybS1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZm9ybS1yb3cuc2luZ2xlIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgfQoKICAgICAgLmZvcm0tZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWxhYmVsIC5yZXF1aXJlZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0taGludCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0LAogICAgICAuZm9ybS1zZWxlY3QgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0OmZvY3VzLAogICAgICAuZm9ybS1zZWxlY3Q6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuZm9ybS1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLXNlbGVjdCB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAuZHluYW1pYy1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5keW5hbWljLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgfQoKICAgICAgLmR5bmFtaWMtcm93IC5mb3JtLWlucHV0IHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAuZHluYW1pYy1yb3cgLmZvcm0tc2VsZWN0IHsKICAgICAgICB3aWR0aDogODBweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnJlbW92ZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnJlbW92ZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZmVjYWNhIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuYWRkLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBkYXNoZWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICB9CgogICAgICAuYWRkLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAudG9nZ2xlLWFkdmFuY2VkIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICB9CgogICAgICAudG9nZ2xlLWFkdmFuY2VkIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudG9nZ2xlLWFkdmFuY2VkLm9wZW4gc3ZnIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOwogICAgICB9CgogICAgICAuY2hlY2tib3gtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5jaGVja2JveCB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIGFjY2VudC1jb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAucGxhdGZvcm0tdG9nZ2xlLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5wbGF0Zm9ybS10b2dnbGUtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wbGF0Zm9ybS10b2dnbGUtaXRlbTpoYXMoaW5wdXQ6Y2hlY2tlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWZmNmZmIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5wbGF0Zm9ybS10b2dnbGUtaW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLnBsYXRmb3JtLXRvZ2dsZS1pY29uIHsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzI3MjcyYSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5wbGF0Zm9ybS10b2dnbGUtaWNvbiBzdmcgewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAucGxhdGZvcm0tdG9nZ2xlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5wbGF0Zm9ybS10b2dnbGUtZGVzYyB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiA0NHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1zd2l0Y2ggaW5wdXQgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICB9CgogICAgICAudG9nZ2xlLXNsaWRlciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudG9nZ2xlLXNsaWRlcjo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgIGxlZnQ6IDNweDsKICAgICAgICBib3R0b206IDNweDsKICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc3dpdGNoIGlucHV0OmNoZWNrZWQgKyAudG9nZ2xlLXNsaWRlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaCBpbnB1dDpjaGVja2VkICsgLnRvZ2dsZS1zbGlkZXI6OmJlZm9yZSB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogICAgICB9CgogICAgICAuYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTZweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zZWNvbmRhcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24ucHJpbWFyeTpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgb3BhY2l0eTogMC45OwogICAgICB9CgogICAgICAuYnV0dG9uLnByaW1hcnk6ZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAuc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci10b3AtY29sb3I6IGN1cnJlbnRDb2xvcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIHRvIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRpdGxlIj5EZXBsb3kgTmV3IFNlcnZpY2U8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1zdWJ0aXRsZSI+Q29uZmlndXJlIGFuZCBkZXBsb3kgYSBuZXcgRG9ja2VyIGNvbnRhaW5lcjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDwhLS0gQmFzaWMgSW5mbyBTZWN0aW9uIC0tPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgPGxpbmUgeDE9IjkiIHkxPSI5IiB4Mj0iMTUiIHkyPSI5Ij48L2xpbmU+CiAgICAgICAgICAgIDxsaW5lIHgxPSI5IiB5MT0iMTUiIHgyPSIxNSIgeTI9IjE1Ij48L2xpbmU+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIEJhc2ljIEluZm9ybWF0aW9uCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+U2VydmljZSBOYW1lIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJteS1zZXJ2aWNlIgogICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VydmljZU5hbWV9CiAgICAgICAgICAgICAgQGlucHV0PSR7c2U9PnRoaXMuc2VydmljZU5hbWU9c2UudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICA+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taGludCI+VW5pcXVlIG5hbWUgZm9yIHRoZSBzZXJ2aWNlIChhbHBoYW51bWVyaWMgYW5kIGh5cGhlbnMpPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiPlJlZ2lzdHJ5PC9sYWJlbD4KICAgICAgICAgICAgPHNlbGVjdAogICAgICAgICAgICAgIGNsYXNzPSJmb3JtLXNlbGVjdCIKICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlbGVjdGVkUmVnaXN0cnl9CiAgICAgICAgICAgICAgQGNoYW5nZT0ke3NlPT50aGlzLnNlbGVjdGVkUmVnaXN0cnk9c2UudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iIj5DdXN0b20gSW1hZ2UgVVJMPC9vcHRpb24+CiAgICAgICAgICAgICAgJHt0aGlzLnJlZ2lzdHJpZXMubWFwKHNlPT53YAogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ke3NlLmlkfT4ke3NlLm5hbWV9PC9vcHRpb24+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3cgc2luZ2xlIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiPkltYWdlIDxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJuZ2lueDpsYXRlc3Qgb3IgcmVnaXN0cnkuZXhhbXBsZS5jb20vaW1hZ2U6dGFnIgogICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuaW1hZ2VVcmx9CiAgICAgICAgICAgICAgQGlucHV0PSR7c2U9PnRoaXMuaW1hZ2VVcmw9c2UudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICA+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taGludCI+RG9ja2VyIGltYWdlIHRvIGRlcGxveSAoaW5jbHVkZSB0YWcpPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIFBvcnQgQ29uZmlndXJhdGlvbiAtLT4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjIiIHkxPSIxMiIgeDI9IjIyIiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgPHBhdGggZD0iTTEyIDJhMTUuMyAxNS4zIDAgMCAxIDQgMTAgMTUuMyAxNS4zIDAgMCAxLTQgMTAgMTUuMyAxNS4zIDAgMCAxLTQtMTAgMTUuMyAxNS4zIDAgMCAxIDQtMTB6Ij48L3BhdGg+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIFBvcnQgQ29uZmlndXJhdGlvbgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImR5bmFtaWMtbGlzdCI+CiAgICAgICAgICAke3RoaXMucG9ydHMubWFwKChzZSx0ZSk9PndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImR5bmFtaWMtcm93Ij4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJIb3N0IFBvcnQiCiAgICAgICAgICAgICAgICAudmFsdWU9JHtzZS5ob3N0UG9ydH0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3plPT50aGlzLnVwZGF0ZVBvcnQodGUsImhvc3RQb3J0Iix6ZS50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJDb250YWluZXIgUG9ydCIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke3NlLmNvbnRhaW5lclBvcnR9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHt6ZT0+dGhpcy51cGRhdGVQb3J0KHRlLCJjb250YWluZXJQb3J0Iix6ZS50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8c2VsZWN0CiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1zZWxlY3QiCiAgICAgICAgICAgICAgICAudmFsdWU9JHtzZS5wcm90b2NvbH0KICAgICAgICAgICAgICAgIEBjaGFuZ2U9JHt6ZT0+dGhpcy51cGRhdGVQb3J0KHRlLCJwcm90b2NvbCIsemUudGFyZ2V0LnZhbHVlKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ0Y3AiPlRDUDwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idWRwIj5VRFA8L29wdGlvbj4KICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAke3RoaXMucG9ydHMubGVuZ3RoPjE/d2AKICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InJlbW92ZS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLnJlbW92ZVBvcnQodGUpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImFkZC1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmFkZFBvcnQoKX0+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIEFkZCBQb3J0IE1hcHBpbmcKICAgICAgICA8L2J1dHRvbj4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIEVudmlyb25tZW50IFZhcmlhYmxlcyAtLT4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjQgMTcgMTAgMTEgNCA1Ij48L3BvbHlsaW5lPgogICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIxOSIgeDI9IjIwIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgRW52aXJvbm1lbnQgVmFyaWFibGVzCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZHluYW1pYy1saXN0Ij4KICAgICAgICAgICR7dGhpcy5lbnZWYXJzLm1hcCgoc2UsdGUpPT53YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkeW5hbWljLXJvdyI+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQiCiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iS0VZIgogICAgICAgICAgICAgICAgLnZhbHVlPSR7c2Uua2V5fQogICAgICAgICAgICAgICAgQGlucHV0PSR7emU9PnRoaXMudXBkYXRlRW52VmFyKHRlLCJrZXkiLHplLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9InZhbHVlIgogICAgICAgICAgICAgICAgLnZhbHVlPSR7c2UudmFsdWV9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHt6ZT0+dGhpcy51cGRhdGVFbnZWYXIodGUsInZhbHVlIix6ZS50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAke3RoaXMuZW52VmFycy5sZW5ndGg+MT93YAogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0icmVtb3ZlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMucmVtb3ZlRW52VmFyKHRlKX0+CiAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJhZGQtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5hZGRFbnZWYXIoKX0+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIEFkZCBFbnZpcm9ubWVudCBWYXJpYWJsZQogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDwhLS0gUGxhdGZvcm0gU2VydmljZXMgLS0+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8cmVjdCB4PSIyIiB5PSIyIiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IHg9IjIiIHk9IjE0IiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgIDxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjYuMDEiIHkyPSI2Ij48L2xpbmU+CiAgICAgICAgICAgIDxsaW5lIHgxPSI2IiB5MT0iMTgiIHgyPSI2LjAxIiB5Mj0iMTgiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgUGxhdGZvcm0gU2VydmljZXMKICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxMnB4OyI+CiAgICAgICAgICBFbmFibGUgbWFuYWdlZCBpbmZyYXN0cnVjdHVyZSBzZXJ2aWNlcyBmb3IgdGhpcyBkZXBsb3ltZW50LiBSZXNvdXJjZXMgYXJlIGF1dG9tYXRpY2FsbHkgcHJvdmlzaW9uZWQgYW5kIGNvbm5lY3Rpb24gZGV0YWlscyBpbmplY3RlZCBhcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWxpc3QiPgogICAgICAgICAgPGxhYmVsIGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtaXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1pbmZvIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtaWNvbiI+CiAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptLTEgMTcuOTNjLTMuOTUtLjQ5LTctMy44NS03LTcuOTMgMC0uNjIuMDgtMS4yMS4yMS0xLjc5TDkgMTV2MWMwIDEuMS45IDIgMiAydjEuOTN6bTYuOS0yLjU0Yy0uMjYtLjgxLTEtMS4zOS0xLjktMS4zOWgtMXYtM2MwLS41NS0uNDUtMS0xLTFIOHYtMmgyYy41NSAwIDEtLjQ1IDEtMVY3aDJjMS4xIDAgMi0uOSAyLTJ2LS40MWMyLjkzIDEuMTkgNSA0LjA2IDUgNy40MSAwIDIuMDgtLjggMy45Ny0yLjEgNS4zOXoiLz48L3N2Zz4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLW5hbWUiPk1vbmdvREI8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1kZXNjIj5Eb2N1bWVudCBkYXRhYmFzZSB3aXRoIGF1dG8tcHJvdmlzaW9uZWQgY3JlZGVudGlhbHM8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1zd2l0Y2giPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0iY2hlY2tib3giCiAgICAgICAgICAgICAgICA/Y2hlY2tlZD0ke3RoaXMuZW5hYmxlTW9uZ29EQn0KICAgICAgICAgICAgICAgIEBjaGFuZ2U9JHtzZT0+dGhpcy5lbmFibGVNb25nb0RCPXNlLnRhcmdldC5jaGVja2VkfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9nZ2xlLXNsaWRlciI+PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICA8bGFiZWwgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1pdGVtIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWluZm8iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1pY29uIj4KICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMSAxNi41YzAgLjM4LS4yMS43MS0uNTMuODhsLTcuOSA0LjQ0Yy0uMTYuMTItLjM2LjE4LS41Ny4xOC0uMjEgMC0uNDEtLjA2LS41Ny0uMThsLTcuOS00LjQ0QS45OTEuOTkxIDAgMCAxIDMgMTYuNXYtOWMwLS4zOC4yMS0uNzEuNTMtLjg4bDcuOS00LjQ0Yy4xNi0uMTIuMzYtLjE4LjU3LS4xOC4yMSAwIC40MS4wNi41Ny4xOGw3LjkgNC40NGMuMzIuMTcuNTMuNS41My44OHY5eiIvPjwvc3ZnPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtbmFtZSI+UzMgU3RvcmFnZSAoTWluSU8pPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtZGVzYyI+T2JqZWN0IHN0b3JhZ2UgYnVja2V0IHdpdGggYXV0by1wcm92aXNpb25lZCBhY2Nlc3Mga2V5czwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXN3aXRjaCI+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJjaGVja2JveCIKICAgICAgICAgICAgICAgID9jaGVja2VkPSR7dGhpcy5lbmFibGVTM30KICAgICAgICAgICAgICAgIEBjaGFuZ2U9JHtzZT0+dGhpcy5lbmFibGVTMz1zZS50YXJnZXQuY2hlY2tlZH0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRvZ2dsZS1zbGlkZXIiPjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgPGxhYmVsIGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtaXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1pbmZvIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtaWNvbiI+CiAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cmVjdCB4PSIyIiB5PSIyIiB3aWR0aD0iNiIgaGVpZ2h0PSIyMCIvPjxyZWN0IHg9IjkiIHk9IjciIHdpZHRoPSI2IiBoZWlnaHQ9IjE1Ii8+PHJlY3QgeD0iMTYiIHk9IjEyIiB3aWR0aD0iNiIgaGVpZ2h0PSIxMCIvPjwvc3ZnPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtbmFtZSI+Q2xpY2tIb3VzZTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWRlc2MiPkFuYWx5dGljcyBkYXRhYmFzZSB3aXRoIGF1dG8tcHJvdmlzaW9uZWQgY3JlZGVudGlhbHM8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1zd2l0Y2giPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0iY2hlY2tib3giCiAgICAgICAgICAgICAgICA/Y2hlY2tlZD0ke3RoaXMuZW5hYmxlQ2xpY2tIb3VzZX0KICAgICAgICAgICAgICAgIEBjaGFuZ2U9JHtzZT0+dGhpcy5lbmFibGVDbGlja0hvdXNlPXNlLnRhcmdldC5jaGVja2VkfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9nZ2xlLXNsaWRlciI+PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSBBZHZhbmNlZCBPcHRpb25zIFRvZ2dsZSAtLT4KICAgICAgPGJ1dHRvbgogICAgICAgIGNsYXNzPSJ0b2dnbGUtYWR2YW5jZWQgJHt0aGlzLnNob3dBZHZhbmNlZD8ib3BlbiI6IiJ9IgogICAgICAgIEBjbGljaz0keygpPT50aGlzLnNob3dBZHZhbmNlZD0hdGhpcy5zaG93QWR2YW5jZWR9CiAgICAgID4KICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT4KICAgICAgICA8L3N2Zz4KICAgICAgICBBZHZhbmNlZCBPcHRpb25zCiAgICAgIDwvYnV0dG9uPgoKICAgICAgJHt0aGlzLnNob3dBZHZhbmNlZD93YAogICAgICAgIDwhLS0gVm9sdW1lcyAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg1bDIgM2g5YTIgMiAwIDAgMSAyIDJ6Ij48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBWb2x1bWUgTW91bnRzCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImR5bmFtaWMtbGlzdCI+CiAgICAgICAgICAgICR7dGhpcy52b2x1bWVzLmxlbmd0aD09PTA/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPk5vIHZvbHVtZXMgY29uZmlndXJlZDwvZGl2PgogICAgICAgICAgICBgOnRoaXMudm9sdW1lcy5tYXAoKHNlLHRlKT0+d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkeW5hbWljLXJvdyI+CiAgICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQiCiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSIvaG9zdC9wYXRoIgogICAgICAgICAgICAgICAgICAudmFsdWU9JHtzZS5ob3N0UGF0aH0KICAgICAgICAgICAgICAgICAgQGlucHV0PSR7emU9PnRoaXMudXBkYXRlVm9sdW1lKHRlLCJob3N0UGF0aCIsemUudGFyZ2V0LnZhbHVlKX0KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Ii9jb250YWluZXIvcGF0aCIKICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7c2UuY29udGFpbmVyUGF0aH0KICAgICAgICAgICAgICAgICAgQGlucHV0PSR7emU9PnRoaXMudXBkYXRlVm9sdW1lKHRlLCJjb250YWluZXJQYXRoIix6ZS50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hlY2tib3gtcm93Ij4KICAgICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2hlY2tib3giCiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNoZWNrYm94IgogICAgICAgICAgICAgICAgICAgID9jaGVja2VkPSR7c2UucmVhZE9ubHl9CiAgICAgICAgICAgICAgICAgICAgQGNoYW5nZT0ke3plPT50aGlzLnVwZGF0ZVZvbHVtZSh0ZSwicmVhZE9ubHkiLHplLnRhcmdldC5jaGVja2VkKX0KICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1oaW50Ij5STzwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0icmVtb3ZlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMucmVtb3ZlVm9sdW1lKHRlKX0+CiAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhZGQtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5hZGRWb2x1bWUoKX0+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBBZGQgVm9sdW1lIE1vdW50CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBSZXNvdXJjZSBMaW1pdHMgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxyZWN0IHg9IjEiIHk9IjQiIHdpZHRoPSIyMiIgaGVpZ2h0PSIxNiIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjEiIHkxPSIxMCIgeDI9IjIzIiB5Mj0iMTAiPjwvbGluZT4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIFJlc291cmNlIExpbWl0cwogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+Q1BVIExpbWl0PC9sYWJlbD4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJlLmcuLCAxLjAgb3IgMC41IgogICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5jcHVMaW1pdH0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3NlPT50aGlzLmNwdUxpbWl0PXNlLnRhcmdldC52YWx1ZX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50Ij5OdW1iZXIgb2YgQ1BVcyAobGVhdmUgZW1wdHkgZm9yIHVubGltaXRlZCk8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+TWVtb3J5IExpbWl0PC9sYWJlbD4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJlLmcuLCA1MTJtIG9yIDFnIgogICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5tZW1vcnlMaW1pdH0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3NlPT50aGlzLm1lbW9yeUxpbWl0PXNlLnRhcmdldC52YWx1ZX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50Ij5NZW1vcnkgbGltaXQgKGxlYXZlIGVtcHR5IGZvciB1bmxpbWl0ZWQpPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gUmVzdGFydCBQb2xpY3kgJiBOZXR3b3JrIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIj48L2NpcmNsZT4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTkuNCAxNWExLjY1IDEuNjUgMCAwIDAgLjMzIDEuODJsLjA2LjA2YTIgMiAwIDAgMSAwIDIuODMgMiAyIDAgMCAxLTIuODMgMGwtLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAtMS44Mi0uMzMgMS42NSAxLjY1IDAgMCAwLTEgMS41MVYyMWEyIDIgMCAwIDEtMiAyIDIgMiAwIDAgMS0yLTJ2LS4wOUExLjY1IDEuNjUgMCAwIDAgOSAxOS40YTEuNjUgMS42NSAwIDAgMC0xLjgyLjMzbC0uMDYuMDZhMiAyIDAgMCAxLTIuODMgMCAyIDIgMCAwIDEgMC0yLjgzbC4wNi0uMDZhMS42NSAxLjY1IDAgMCAwIC4zMy0xLjgyIDEuNjUgMS42NSAwIDAgMC0xLjUxLTFIM2EyIDIgMCAwIDEtMi0yIDIgMiAwIDAgMSAyLTJoLjA5QTEuNjUgMS42NSAwIDAgMCA0LjYgOWExLjY1IDEuNjUgMCAwIDAtLjMzLTEuODJsLS4wNi0uMDZhMiAyIDAgMCAxIDAtMi44MyAyIDIgMCAwIDEgMi44MyAwbC4wNi4wNmExLjY1IDEuNjUgMCAwIDAgMS44Mi4zM0g5YTEuNjUgMS42NSAwIDAgMCAxLTEuNTFWM2EyIDIgMCAwIDEgMi0yIDIgMiAwIDAgMSAyIDJ2LjA5YTEuNjUgMS42NSAwIDAgMCAxIDEuNTEgMS42NSAxLjY1IDAgMCAwIDEuODItLjMzbC4wNi0uMDZhMiAyIDAgMCAxIDIuODMgMCAyIDIgMCAwIDEgMCAyLjgzbC0uMDYuMDZhMS42NSAxLjY1IDAgMCAwLS4zMyAxLjgyVjlhMS42NSAxLjY1IDAgMCAwIDEuNTEgMUgyMWEyIDIgMCAwIDEgMiAyIDIgMiAwIDAgMS0yIDJoLS4wOWExLjY1IDEuNjUgMCAwIDAtMS41MSAxeiI+PC9wYXRoPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgQ29udGFpbmVyIFNldHRpbmdzCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5SZXN0YXJ0IFBvbGljeTwvbGFiZWw+CiAgICAgICAgICAgICAgPHNlbGVjdAogICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tc2VsZWN0IgogICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5yZXN0YXJ0UG9saWN5fQogICAgICAgICAgICAgICAgQGNoYW5nZT0ke3NlPT50aGlzLnJlc3RhcnRQb2xpY3k9c2UudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImFsd2F5cyI+QWx3YXlzPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJvbi1mYWlsdXJlIj5PbiBGYWlsdXJlPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJuZXZlciI+TmV2ZXI8L29wdGlvbj4KICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+TmV0d29yayBNb2RlPC9sYWJlbD4KICAgICAgICAgICAgICA8c2VsZWN0CiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1zZWxlY3QiCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLm5ldHdvcmtNb2RlfQogICAgICAgICAgICAgICAgQGNoYW5nZT0ke3NlPT50aGlzLm5ldHdvcmtNb2RlPXNlLnRhcmdldC52YWx1ZX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJicmlkZ2UiPkJyaWRnZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iaG9zdCI+SG9zdDwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibm9uZSI+Tm9uZTwvb3B0aW9uPgogICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQoKICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucyI+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnV0dG9uIHNlY29uZGFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ2FuY2VsKCl9PkNhbmNlbDwvYnV0dG9uPgogICAgICAgIDxidXR0b24KICAgICAgICAgIGNsYXNzPSJidXR0b24gcHJpbWFyeSIKICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMubG9hZGluZ3x8IXRoaXMuaXNWYWxpZCgpfQogICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlKCl9CiAgICAgICAgPgogICAgICAgICAgJHt0aGlzLmxvYWRpbmc/d2A8ZGl2IGNsYXNzPSJzcGlubmVyIj48L2Rpdj5gOiIifQogICAgICAgICAgJHt0aGlzLmxvYWRpbmc/IkRlcGxveWluZy4uLiI6IkRlcGxveSBTZXJ2aWNlIn0KICAgICAgICA8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICBgfWlzVmFsaWQoKXtyZXR1cm4gdGhpcy5zZXJ2aWNlTmFtZS50cmltKCkhPT0iIiYmdGhpcy5pbWFnZVVybC50cmltKCkhPT0iIn1hZGRQb3J0KCl7dGhpcy5wb3J0cz1bLi4udGhpcy5wb3J0cyx7aG9zdFBvcnQ6IiIsY29udGFpbmVyUG9ydDoiIixwcm90b2NvbDoidGNwIn1dfXJlbW92ZVBvcnQoc2Upe3RoaXMucG9ydHM9dGhpcy5wb3J0cy5maWx0ZXIoKHRlLHplKT0+emUhPT1zZSl9dXBkYXRlUG9ydChzZSx0ZSx6ZSl7bGV0IE9lPVsuLi50aGlzLnBvcnRzXTtPZVtzZV1bdGVdPXplLHRoaXMucG9ydHM9T2V9YWRkRW52VmFyKCl7dGhpcy5lbnZWYXJzPVsuLi50aGlzLmVudlZhcnMse2tleToiIix2YWx1ZToiIn1dfXJlbW92ZUVudlZhcihzZSl7dGhpcy5lbnZWYXJzPXRoaXMuZW52VmFycy5maWx0ZXIoKHRlLHplKT0+emUhPT1zZSl9dXBkYXRlRW52VmFyKHNlLHRlLHplKXtsZXQgT2U9Wy4uLnRoaXMuZW52VmFyc107T2Vbc2VdW3RlXT16ZSx0aGlzLmVudlZhcnM9T2V9YWRkVm9sdW1lKCl7dGhpcy52b2x1bWVzPVsuLi50aGlzLnZvbHVtZXMse2hvc3RQYXRoOiIiLGNvbnRhaW5lclBhdGg6IiIscmVhZE9ubHk6ITF9XX1yZW1vdmVWb2x1bWUoc2Upe3RoaXMudm9sdW1lcz10aGlzLnZvbHVtZXMuZmlsdGVyKCh0ZSx6ZSk9PnplIT09c2UpfXVwZGF0ZVZvbHVtZShzZSx0ZSx6ZSl7bGV0IE9lPVsuLi50aGlzLnZvbHVtZXNdO09lW3NlXVt0ZV09emUsdGhpcy52b2x1bWVzPU9lfWhhbmRsZUNhbmNlbCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNhbmNlbCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ3JlYXRlKCl7bGV0IHNlPXtuYW1lOnRoaXMuc2VydmljZU5hbWUudHJpbSgpLGltYWdlOnRoaXMuaW1hZ2VVcmwudHJpbSgpLHBvcnRzOnRoaXMucG9ydHMuZmlsdGVyKHRlPT50ZS5ob3N0UG9ydCYmdGUuY29udGFpbmVyUG9ydCksZW52VmFyczp0aGlzLmVudlZhcnMuZmlsdGVyKHRlPT50ZS5rZXkpLHZvbHVtZXM6dGhpcy52b2x1bWVzLmZpbHRlcih0ZT0+dGUuaG9zdFBhdGgmJnRlLmNvbnRhaW5lclBhdGgpLGNwdUxpbWl0OnRoaXMuY3B1TGltaXQsbWVtb3J5TGltaXQ6dGhpcy5tZW1vcnlMaW1pdCxyZXN0YXJ0UG9saWN5OnRoaXMucmVzdGFydFBvbGljeSxuZXR3b3JrTW9kZTp0aGlzLm5ldHdvcmtNb2RlLGVuYWJsZU1vbmdvREI6dGhpcy5lbmFibGVNb25nb0RCLGVuYWJsZVMzOnRoaXMuZW5hYmxlUzMsZW5hYmxlQ2xpY2tIb3VzZTp0aGlzLmVuYWJsZUNsaWNrSG91c2V9O3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNyZWF0ZS1zZXJ2aWNlIix7ZGV0YWlsOnNlLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9cmVzZXQoKXt0aGlzLnNlcnZpY2VOYW1lPSIiLHRoaXMuaW1hZ2VVcmw9IiIsdGhpcy5zZWxlY3RlZFJlZ2lzdHJ5PSIiLHRoaXMucG9ydHM9W3tob3N0UG9ydDoiIixjb250YWluZXJQb3J0OiIiLHByb3RvY29sOiJ0Y3AifV0sdGhpcy5lbnZWYXJzPVt7a2V5OiIiLHZhbHVlOiIifV0sdGhpcy52b2x1bWVzPVtdLHRoaXMuY3B1TGltaXQ9IiIsdGhpcy5tZW1vcnlMaW1pdD0iIix0aGlzLnJlc3RhcnRQb2xpY3k9ImFsd2F5cyIsdGhpcy5uZXR3b3JrTW9kZT0iYnJpZGdlIix0aGlzLnNob3dBZHZhbmNlZD0hMSx0aGlzLmVuYWJsZU1vbmdvREI9ITEsdGhpcy5lbmFibGVTMz0hMSx0aGlzLmVuYWJsZUNsaWNrSG91c2U9ITF9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLEVhKHRoaXMsSCl9c3RhdGlje0VhKHIsdCl9fTtyZXR1cm4gb2U9cn0pKCl9KTt2YXIgbWllLF81LG5SYSxxdWE9ZigoKT0+e2xlKCk7bWllPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxfNT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sblJhPSgoKT0+e2xldCBhPVtpZSgic3otcGxhdGZvcm0tc2VydmljZS1kZXRhaWwtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelBsYXRmb3JtU2VydmljZURldGFpbFZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOkFycmF5fSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSxtaWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXJ2aWNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJzZXJ2aWNlImluIGcsImhhcyIpLGdldDpzKGc9Pmcuc2VydmljZSwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnNlcnZpY2U9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLG1pZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvZ3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImxvZ3MiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5sb2dzLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cubG9ncz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksbWllKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aW9uTG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iYWN0aW9uTG9hZGluZyJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmFjdGlvbkxvYWRpbmcsImdldCIpLHNldDpzKChnLHkpPT57Zy5hY3Rpb25Mb2FkaW5nPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxtaWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMDAwcHg7Ij4KICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXcKICAgICAgICAuc2VydmljZT0ke3tpZDoiMSIsbmFtZToiTW9uZ29EQiIsdHlwZToibW9uZ29kYiIsc3RhdHVzOiJydW5uaW5nIix2ZXJzaW9uOiI3LjAuNCIsaG9zdDoibG9jYWxob3N0Iixwb3J0OjI3MDE3LGNyZWRlbnRpYWxzOnt1c2VybmFtZToiYWRtaW4iLHBhc3N3b3JkOiJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjIifSxjb25maWc6e3JlcGxpY2FTZXQ6InJzMCIsYXV0aEVuYWJsZWQ6ITB9LG1ldHJpY3M6e2NwdToxMixtZW1vcnk6NDUsc3RvcmFnZToyMyxjb25uZWN0aW9uczo4fX19CiAgICAgICAgLmxvZ3M9JHtbe3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoyMiIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6IkNvbm5lY3Rpb24gYWNjZXB0ZWQgZnJvbSAxMjcuMC4wLjE6NTQzMjEifSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjIwIixsZXZlbDoiaW5mbyIsbWVzc2FnZToiSW5kZXggYnVpbGQgY29tcGxldGVkIG9uIGNvbGxlY3Rpb24gdXNlcnMifSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjE1IixsZXZlbDoid2FybiIsbWVzc2FnZToiU2xvdyBxdWVyeSBkZXRlY3RlZDogMS4ycyBvbiBjb2xsZWN0aW9uIG9yZGVycyJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MTAiLGxldmVsOiJpbmZvIixtZXNzYWdlOiJDaGVja3BvaW50IGNvbXBsZXRlIn1dfQogICAgICA+PC9zei1wbGF0Zm9ybS1zZXJ2aWNlLWRldGFpbC12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiUGxhdGZvcm0iXTsjZT1fNSh0aGlzLG4sbnVsbCk7Z2V0IHNlcnZpY2UoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc2VydmljZShiKXt0aGlzLiNlPWJ9I3Q9KF81KHRoaXMsbCksXzUodGhpcyxjLFtdKSk7Z2V0IGxvZ3MoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbG9ncyhiKXt0aGlzLiN0PWJ9I2E9KF81KHRoaXMscCksXzUodGhpcyxtLCExKSk7Z2V0IGFjdGlvbkxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYWN0aW9uTG9hZGluZyhiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmhlYWRlci1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAuc2VydmljZS1pY29uIHsKICAgICAgICB3aWR0aDogNTZweDsKICAgICAgICBoZWlnaHQ6IDU2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuc2VydmljZS1pY29uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDI4cHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLWRldGFpbHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAyMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtbWV0YSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA0cHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucnVubmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uuc3RvcHBlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdCB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yOwogICAgICB9CgogICAgICAuaGVhZGVyLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kYW5nZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRhbmdlcjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZGVlcy10aWxlLmZ1bGwtd2lkdGggewogICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgc3ZnIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAuc2VjdGlvbi1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAuaW5mby1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTBweCAwOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5pbmZvLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAuaW5mby1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5pbmZvLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuY29weS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuY29weS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAubWV0cmljcy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsKICAgICAgICAubWV0cmljcy1ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgICAgfQogICAgICB9CgogICAgICAubWV0cmljLWNhcmQgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhciB7CiAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWZpbGwgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWZpbGwubG93IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzIyYzU1ZSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1maWxsLm1lZGl1bSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlYWIzMDgiLCIjZWFiMzA4Iil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtZmlsbC5oaWdoIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VmNDQ0NCIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5jb25maWctaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgcGFkZGluZzogOHB4IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmNvbmZpZy1pdGVtOmxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jb25maWcta2V5IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmNvbmZpZy12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNvbmZpZy12YWx1ZS50cnVlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuY29uZmlnLXZhbHVlLmZhbHNlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMuc2VydmljZT93YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbmZvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaWNvbiI+CiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJTZXJ2aWNlSWNvbigpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWRldGFpbHMiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLW5hbWUiPiR7dGhpcy5zZXJ2aWNlLm5hbWV9PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtbWV0YSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke3RoaXMuc2VydmljZS5zdGF0dXN9Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtZG90Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAke3RoaXMuc2VydmljZS5zdGF0dXMuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdGhpcy5zZXJ2aWNlLnN0YXR1cy5zbGljZSgxKX0KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4+VmVyc2lvbiAke3RoaXMuc2VydmljZS52ZXJzaW9ufTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItYWN0aW9ucyI+CiAgICAgICAgICAke3RoaXMuc2VydmljZS5zdGF0dXM9PT0icnVubmluZyI/d2AKICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgP2Rpc2FibGVkPSR7dGhpcy5hY3Rpb25Mb2FkaW5nfSBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSZXN0YXJ0KCl9PgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjIzIDQgMjMgMTAgMTcgMTAiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxIDIwIDEgMTQgNyAxNCI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zLjUxIDlhOSA5IDAgMCAxIDE0Ljg1LTMuMzZMMjMgMTBNMSAxNGw0LjY0IDQuMzZBOSA5IDAgMCAwIDIwLjQ5IDE1Ij48L3BhdGg+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgUmVzdGFydAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBkYW5nZXIiID9kaXNhYmxlZD0ke3RoaXMuYWN0aW9uTG9hZGluZ30gQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU3RvcCgpfT4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cmVjdCB4PSI2IiB5PSI2IiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHJ4PSIxIj48L3JlY3Q+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgU3RvcAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIGA6d2AKICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgP2Rpc2FibGVkPSR7dGhpcy5hY3Rpb25Mb2FkaW5nfSBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTdGFydCgpfT4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgIDxwb2x5Z29uIHBvaW50cz0iNSwzIDE5LDEyIDUsMjEiPjwvcG9seWdvbj4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBTdGFydAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIGB9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZ3JpZCI+CiAgICAgICAgPCEtLSBDb25uZWN0aW9uIEluZm8gLS0+CiAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAgMTNhNSA1IDAgMCAwIDcuNTQuNTRsMy0zYTUgNSAwIDAgMC03LjA3LTcuMDdsLTEuNzIgMS43MSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE0IDExYTUgNSAwIDAgMC03LjU0LS41NGwtMyAzYTUgNSAwIDAgMCA3LjA3IDcuMDdsMS43MS0xLjcxIj48L3BhdGg+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgQ29ubmVjdGlvbgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5Ib3N0PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj4KICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLmhvc3R9CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjb3B5LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY29weVRvQ2xpcGJvYXJkKHRoaXMuc2VydmljZS5ob3N0KX0+CiAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9IjkiIHk9IjkiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUgMTVINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ2MSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tcm93Ij4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+UG9ydDwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+JHt0aGlzLnNlcnZpY2UucG9ydH08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAke3RoaXMuc2VydmljZS5jcmVkZW50aWFscz8udXNlcm5hbWU/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+VXNlcm5hbWU8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLmNyZWRlbnRpYWxzLnVzZXJuYW1lfQogICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjb3B5LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY29weVRvQ2xpcGJvYXJkKHRoaXMuc2VydmljZS5jcmVkZW50aWFscy51c2VybmFtZSl9PgogICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlBhc3N3b3JkPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPuKAouKAouKAouKAouKAouKAouKAouKAojwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UuY3JlZGVudGlhbHM/LmFjY2Vzc0tleT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tcm93Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5BY2Nlc3MgS2V5PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPgogICAgICAgICAgICAgICAgICAke3RoaXMuc2VydmljZS5jcmVkZW50aWFscy5hY2Nlc3NLZXl9CiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNvcHktYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jb3B5VG9DbGlwYm9hcmQodGhpcy5zZXJ2aWNlLmNyZWRlbnRpYWxzLmFjY2Vzc0tleSl9PgogICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlNlY3JldCBLZXk8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+4oCi4oCi4oCi4oCi4oCi4oCi4oCi4oCiPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgIDwhLS0gQ29uZmlndXJhdGlvbiAtLT4KICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE5LjQgMTVhMS42NSAxLjY1IDAgMCAwIC4zMyAxLjgybC4wNi4wNmEyIDIgMCAwIDEgMCAyLjgzIDIgMiAwIDAgMS0yLjgzIDBsLS4wNi0uMDZhMS42NSAxLjY1IDAgMCAwLTEuODItLjMzIDEuNjUgMS42NSAwIDAgMC0xIDEuNTFWMjFhMiAyIDAgMCAxLTIgMiAyIDIgMCAwIDEtMi0ydi0uMDlBMS42NSAxLjY1IDAgMCAwIDkgMTkuNGExLjY1IDEuNjUgMCAwIDAtMS44Mi4zM2wtLjA2LjA2YTIgMiAwIDAgMS0yLjgzIDAgMiAyIDAgMCAxIDAtMi44M2wuMDYtLjA2YTEuNjUgMS42NSAwIDAgMCAuMzMtMS44MiAxLjY1IDEuNjUgMCAwIDAtMS41MS0xSDNhMiAyIDAgMCAxLTItMiAyIDIgMCAwIDEgMi0yaC4wOUExLjY1IDEuNjUgMCAwIDAgNC42IDlhMS42NSAxLjY1IDAgMCAwLS4zMy0xLjgybC0uMDYtLjA2YTIgMiAwIDAgMSAwLTIuODMgMiAyIDAgMCAxIDIuODMgMGwuMDYuMDZhMS42NSAxLjY1IDAgMCAwIDEuODIuMzNIOWExLjY1IDEuNjUgMCAwIDAgMS0xLjUxVjNhMiAyIDAgMCAxIDItMiAyIDIgMCAwIDEgMiAydi4wOWExLjY1IDEuNjUgMCAwIDAgMSAxLjUxIDEuNjUgMS42NSAwIDAgMCAxLjgyLS4zM2wuMDYtLjA2YTIgMiAwIDAgMSAyLjgzIDAgMiAyIDAgMCAxIDAgMi44M2wtLjA2LjA2YTEuNjUgMS42NSAwIDAgMC0uMzMgMS44MlY5YTEuNjUgMS42NSAwIDAgMCAxLjUxIDFIMjFhMiAyIDAgMCAxIDIgMiAyIDIgMCAwIDEtMiAyaC0uMDlhMS42NSAxLjY1IDAgMCAwLTEuNTEgMXoiPjwvcGF0aD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBDb25maWd1cmF0aW9uCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgICAke09iamVjdC5lbnRyaWVzKHRoaXMuc2VydmljZS5jb25maWcpLm1hcCgoW2IsZ10pPT53YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb25maWcta2V5Ij4ke3RoaXMuZm9ybWF0Q29uZmlnS2V5KGIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb25maWctdmFsdWUgJHt0eXBlb2YgZz09ImJvb2xlYW4iP2c/InRydWUiOiJmYWxzZSI6IiJ9Ij4ke3RoaXMuZm9ybWF0Q29uZmlnVmFsdWUoZyl9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgICA8IS0tIE1ldHJpY3MgLS0+CiAgICAgICAgJHt0aGlzLnNlcnZpY2UubWV0cmljcz93YAogICAgICAgICAgPGRlZXMtdGlsZSBjbGFzcz0iZnVsbC13aWR0aCI+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTgiIHkxPSIyMCIgeDI9IjE4IiB5Mj0iMTAiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMjAiIHgyPSIxMiIgeTI9IjQiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjYiIHkxPSIyMCIgeDI9IjYiIHkyPSIxNCI+PC9saW5lPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICBSZXNvdXJjZSBVc2FnZQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWNzLWdyaWQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWNhcmQiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLm1ldHJpY3MuY3B1fSU8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWxhYmVsIj5DUFU8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1maWxsICR7dGhpcy5nZXRQcm9ncmVzc0NsYXNzKHRoaXMuc2VydmljZS5tZXRyaWNzLmNwdSl9IiBzdHlsZT0id2lkdGg6ICR7dGhpcy5zZXJ2aWNlLm1ldHJpY3MuY3B1fSUiPjwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWNhcmQiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLm1ldHJpY3MubWVtb3J5fSU8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWxhYmVsIj5NZW1vcnk8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1maWxsICR7dGhpcy5nZXRQcm9ncmVzc0NsYXNzKHRoaXMuc2VydmljZS5tZXRyaWNzLm1lbW9yeSl9IiBzdHlsZT0id2lkdGg6ICR7dGhpcy5zZXJ2aWNlLm1ldHJpY3MubWVtb3J5fSUiPjwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWNhcmQiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLm1ldHJpY3Muc3RvcmFnZX0lPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1sYWJlbCI+U3RvcmFnZTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwgJHt0aGlzLmdldFByb2dyZXNzQ2xhc3ModGhpcy5zZXJ2aWNlLm1ldHJpY3Muc3RvcmFnZSl9IiBzdHlsZT0id2lkdGg6ICR7dGhpcy5zZXJ2aWNlLm1ldHJpY3Muc3RvcmFnZX0lIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLm1ldHJpY3MuY29ubmVjdGlvbnMhPT12b2lkIDA/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWNhcmQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLnNlcnZpY2UubWV0cmljcy5jb25uZWN0aW9uc308L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtbGFiZWwiPkNvbm5lY3Rpb25zPC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgICBgOiIifQoKICAgICAgICA8IS0tIExvZ3MgLS0+CiAgICAgICAgPGRpdiBzdHlsZT0iZ3JpZC1jb2x1bW46IDEgLyAtMTsiPgogICAgICAgICAgPGRlZXMtY2hhcnQtbG9nCiAgICAgICAgICAgIC5sYWJlbD0keyJTZXJ2aWNlIExvZ3MifQogICAgICAgICAgICAubG9nRW50cmllcz0ke3RoaXMubG9ncy5tYXAoYj0+KHt0aW1lc3RhbXA6Yi50aW1lc3RhbXAuaW5jbHVkZXMoIlQiKT9iLnRpbWVzdGFtcDpuZXcgRGF0ZShiLnRpbWVzdGFtcCkudG9JU09TdHJpbmcoKSxsZXZlbDpiLmxldmVsLG1lc3NhZ2U6Yi5tZXNzYWdlfSkpfQogICAgICAgICAgICAuYXV0b1Njcm9sbD0keyEwfQogICAgICAgICAgICAubWF4RW50cmllcz0kezJlM30KICAgICAgICAgICAgLnNob3dNZXRyaWNzPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWNoYXJ0LWxvZz4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgOndgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIHNlcnZpY2Ugc2VsZWN0ZWQ8L2Rpdj5gfXJlbmRlclNlcnZpY2VJY29uKCl7c3dpdGNoKHRoaXMuc2VydmljZT8udHlwZSl7Y2FzZSJtb25nb2RiIjpyZXR1cm4gd2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptLTEgMTcuOTNjLTMuOTUtLjQ5LTctMy44NS03LTcuOTMgMC0uNjIuMDgtMS4yMS4yMS0xLjc5TDkgMTV2MWMwIDEuMS45IDIgMiAydjEuOTN6bTYuOS0yLjU0Yy0uMjYtLjgxLTEtMS4zOS0xLjktMS4zOWgtMXYtM2MwLS41NS0uNDUtMS0xLTFIOHYtMmgyYy41NSAwIDEtLjQ1IDEtMVY3aDJjMS4xIDAgMi0uOSAyLTJ2LS40MWMyLjkzIDEuMTkgNSA0LjA2IDUgNy40MSAwIDIuMDgtLjggMy45Ny0yLjEgNS4zOXoiLz48L3N2Zz5gO2Nhc2UibWluaW8iOnJldHVybiB3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMSAxNi41YzAgLjM4LS4yMS43MS0uNTMuODhsLTcuOSA0LjQ0Yy0uMTYuMTItLjM2LjE4LS41Ny4xOC0uMjEgMC0uNDEtLjA2LS41Ny0uMThsLTcuOS00LjQ0QS45OTEuOTkxIDAgMCAxIDMgMTYuNXYtOWMwLS4zOC4yMS0uNzEuNTMtLjg4bDcuOS00LjQ0Yy4xNi0uMTIuMzYtLjE4LjU3LS4xOC4yMSAwIC40MS4wNi41Ny4xOGw3LjkgNC40NGMuMzIuMTcuNTMuNS41My44OHY5eiIvPjwvc3ZnPmA7Y2FzZSJjbGlja2hvdXNlIjpyZXR1cm4gd2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cmVjdCB4PSIyIiB5PSIyIiB3aWR0aD0iNiIgaGVpZ2h0PSIyMCIvPjxyZWN0IHg9IjkiIHk9IjciIHdpZHRoPSI2IiBoZWlnaHQ9IjE1Ii8+PHJlY3QgeD0iMTYiIHk9IjEyIiB3aWR0aD0iNiIgaGVpZ2h0PSIxMCIvPjwvc3ZnPmA7Y2FzZSJyZWRpcyI6cmV0dXJuIHdgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTEyIDJMMiA3bDEwIDUgMTAtNS0xMC01ek0yIDE3bDEwIDUgMTAtNU0yIDEybDEwIDUgMTAtNSIvPjwvc3ZnPmA7ZGVmYXVsdDpyZXR1cm4gd2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PjxyZWN0IHg9IjIiIHk9IjE0IiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iNi4wMSIgeTI9IjYiPjwvbGluZT48bGluZSB4MT0iNiIgeTE9IjE4IiB4Mj0iNi4wMSIgeTI9IjE4Ij48L2xpbmU+PC9zdmc+YH19Z2V0UHJvZ3Jlc3NDbGFzcyhiKXtyZXR1cm4gYjw1MD8ibG93IjpiPDgwPyJtZWRpdW0iOiJoaWdoIn1mb3JtYXRDb25maWdLZXkoYil7cmV0dXJuIGIucmVwbGFjZSgvKFtBLVpdKS9nLCIgJDEiKS5yZXBsYWNlKC9eLi8sZz0+Zy50b1VwcGVyQ2FzZSgpKX1mb3JtYXRDb25maWdWYWx1ZShiKXtyZXR1cm4gdHlwZW9mIGI9PSJib29sZWFuIj9iPyJFbmFibGVkIjoiRGlzYWJsZWQiOlN0cmluZyhiKX1jb3B5VG9DbGlwYm9hcmQoYil7bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoYiksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29weSIse2RldGFpbDpiLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlU3RhcnQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzdGFydCIse2RldGFpbDp0aGlzLnNlcnZpY2UsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVTdG9wKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic3RvcCIse2RldGFpbDp0aGlzLnNlcnZpY2UsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVSZXN0YXJ0KCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicmVzdGFydCIse2RldGFpbDp0aGlzLnNlcnZpY2UsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksXzUodGhpcyx2KX1zdGF0aWN7XzUocix0KX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIFNHLEZjLGxSYSxWdWE9ZigoKT0+e2xlKCk7U0c9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEZjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxsUmE9KCgpPT57bGV0IGE9W2llKCJzei1kb21haW4tZGV0YWlsLXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pEb21haW5EZXRhaWxWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7dHlwZTpPYmplY3R9KV0sdT1bJCh7dHlwZTpBcnJheX0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0sU0codGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkb21haW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImRvbWFpbiJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmRvbWFpbiwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmRvbWFpbj1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG4sbCksU0codGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjZXJ0aWZpY2F0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iY2VydGlmaWNhdGUiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5jZXJ0aWZpY2F0ZSwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmNlcnRpZmljYXRlPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSxTRyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRuc1JlY29yZHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImRuc1JlY29yZHMiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5kbnNSZWNvcmRzLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuZG5zUmVjb3Jkcz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG0sdiksU0codGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25Mb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJhY3Rpb25Mb2FkaW5nImluIEMsImhhcyIpLGdldDpzKEM9PkMuYWN0aW9uTG9hZGluZywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmFjdGlvbkxvYWRpbmc9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxiLGcpLFNHKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmt9LG51bGwsdCkseT1yPWUudmFsdWUsayYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTprfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTAwMHB4OyI+CiAgICAgIDxzei1kb21haW4tZGV0YWlsLXZpZXcKICAgICAgICAuZG9tYWluPSR7e2lkOiIxIixuYW1lOiJleGFtcGxlLmNvbSIsc3RhdHVzOiJhY3RpdmUiLHZlcmlmaWVkOiEwLGNyZWF0ZWRBdDoiMjAyNC0wMS0xMCIscHJveHlSb3V0ZXM6WyIvYXBpLyoiLCIvYXBwLyoiXX19CiAgICAgICAgLmNlcnRpZmljYXRlPSR7e2lkOiIxIixkb21haW46ImV4YW1wbGUuY29tIixpc3N1ZXI6IkxldCdzIEVuY3J5cHQiLHZhbGlkRnJvbToiMjAyNC0wMS0xMCIsdmFsaWRVbnRpbDoiMjAyNC0wNC0xMCIsZGF5c1JlbWFpbmluZzo0NSxzdGF0dXM6InZhbGlkIixhdXRvUmVuZXc6ITAsY2hhaW46WyJSMyIsIklTUkcgUm9vdCBYMSJdfX0KICAgICAgICAuZG5zUmVjb3Jkcz0ke1t7aWQ6IjEiLHR5cGU6IkEiLG5hbWU6IkAiLHZhbHVlOiIxOTIuMTY4LjEuMTAwIix0dGw6MzYwMH0se2lkOiIyIix0eXBlOiJDTkFNRSIsbmFtZToid3d3Iix2YWx1ZToiZXhhbXBsZS5jb20iLHR0bDozNjAwfSx7aWQ6IjMiLHR5cGU6Ik1YIixuYW1lOiJAIix2YWx1ZToibWFpbC5leGFtcGxlLmNvbSIsdHRsOjM2MDAscHJpb3JpdHk6MTB9LHtpZDoiNCIsdHlwZToiVFhUIixuYW1lOiJAIix2YWx1ZToidj1zcGYxIGluY2x1ZGU6X3NwZi5leGFtcGxlLmNvbSB+YWxsIix0dGw6MzYwMH1dfQogICAgICA+PC9zei1kb21haW4tZGV0YWlsLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJOZXR3b3JrIl07I2U9RmModGhpcyxuLG51bGwpO2dldCBkb21haW4oKXtyZXR1cm4gdGhpcy4jZX1zZXQgZG9tYWluKGspe3RoaXMuI2U9a30jdD0oRmModGhpcyxsKSxGYyh0aGlzLGMsbnVsbCkpO2dldCBjZXJ0aWZpY2F0ZSgpe3JldHVybiB0aGlzLiN0fXNldCBjZXJ0aWZpY2F0ZShrKXt0aGlzLiN0PWt9I2E9KEZjKHRoaXMscCksRmModGhpcyxtLFtdKSk7Z2V0IGRuc1JlY29yZHMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZG5zUmVjb3JkcyhrKXt0aGlzLiNhPWt9I3I9KEZjKHRoaXMsdiksRmModGhpcyxiLCExKSk7Z2V0IGFjdGlvbkxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYWN0aW9uTG9hZGluZyhrKXt0aGlzLiNyPWt9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmhlYWRlci1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5kb21haW4tbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnBlbmRpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVmM2M3IiwicmdiYSgyNDUsIDE1OCwgMTEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZDk3NzA2IiwiI2Y1OWUwYiIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90IHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7CiAgICAgIH0KCiAgICAgIC5kb21haW4tbWV0YSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnZlcmlmaWVkLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC52ZXJpZmllZC1iYWRnZSBzdmcgewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgfQoKICAgICAgLmhlYWRlci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246ZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiBzdmcgewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGFuZ2VyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kYW5nZXI6aG92ZXI6bm90KDpkaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAuZ3JpZCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS5mdWxsLXdpZHRoIHsKICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xOwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTAlKSIsImhzbCgyMTMuMSA5My45JSA3NSUpIil9OwogICAgICB9CgoKICAgICAgLnNlY3Rpb24tY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLmNlcnQtc3RhdHVzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmMGZkZjQiLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjEpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuY2VydC1zdGF0dXMuZXhwaXJpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmYmViIiwicmdiYSgyNDUsIDE1OCwgMTEsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LXN0YXR1cy5leHBpcmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjJmMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWljb24gewogICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuY2VydC1pY29uLnZhbGlkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmNlcnQtaWNvbi5leHBpcmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWYzYzciLCJyZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkOTc3MDYiLCIjZjU5ZTBiIil9OwogICAgICB9CgogICAgICAuY2VydC1pY29uLmV4cGlyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuY2VydC1pY29uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICB9CgogICAgICAuY2VydC1pbmZvIHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAuY2VydC10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNlcnQtc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLmNlcnQtZGF5cyB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAuY2VydC1kYXlzLnZhbGlkIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuY2VydC1kYXlzLmV4cGlyaW5nIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkOTc3MDYiLCIjZjU5ZTBiIil9OwogICAgICB9CgogICAgICAuY2VydC1kYXlzLmV4cGlyZWQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWRheXMtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5pbmZvLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMHB4IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmluZm8tcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5pbmZvLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmluZm8tdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5pbmZvLXZhbHVlLmVuYWJsZWQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5jaGFpbi1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmNoYWluLWJhZGdlIHsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5kbnMtdGFibGUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuZG5zLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDgwcHggMWZyIDJmciA4MHB4IDYwcHg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDEwcHggMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuZG5zLXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDgwcHggMWZyIDJmciA4MHB4IDYwcHg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5kbnMtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kbnMtcm93OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgbWFyZ2luOiAwIC0xNnB4OwogICAgICAgIHBhZGRpbmctbGVmdDogMTZweDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OwogICAgICB9CgogICAgICAuZG5zLXR5cGUgewogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5kbnMtbmFtZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLmRucy12YWx1ZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmRucy10dGwgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5kbnMtYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uLmRhbmdlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5pY29uLWJ1dHRvbiBzdmcgewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQoKICAgICAgLnJvdXRlcy1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnJvdXRlLWJhZGdlIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmRvbWFpbj93YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbmZvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRvbWFpbi1uYW1lIj4KICAgICAgICAgICAgJHt0aGlzLmRvbWFpbi5uYW1lfQogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7dGhpcy5kb21haW4uc3RhdHVzfSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1kb3QiPjwvc3Bhbj4KICAgICAgICAgICAgICAke3RoaXMuZG9tYWluLnN0YXR1cy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0aGlzLmRvbWFpbi5zdGF0dXMuc2xpY2UoMSl9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZG9tYWluLW1ldGEiPgogICAgICAgICAgICAke3RoaXMuZG9tYWluLnZlcmlmaWVkP3dgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InZlcmlmaWVkLWJhZGdlIj4KICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyIDExLjA4VjEyYTEwIDEwIDAgMSAxLTUuOTMtOS4xNCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMiA0IDEyIDE0LjAxIDkgMTEuMDEiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIFZlcmlmaWVkCiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICBgOndgPHNwYW4+Tm90IHZlcmlmaWVkPC9zcGFuPmB9CiAgICAgICAgICAgIDxzcGFuPkFkZGVkICR7dGhpcy5kb21haW4uY3JlYXRlZEF0fTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1hY3Rpb25zIj4KICAgICAgICAgICR7dGhpcy5kb21haW4udmVyaWZpZWQ/IiI6d2AKICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgP2Rpc2FibGVkPSR7dGhpcy5hY3Rpb25Mb2FkaW5nfSBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVWZXJpZnkoKX0+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjAgNiA5IDE3IDQgMTIiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgVmVyaWZ5IERvbWFpbgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIGB9CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGRhbmdlciIgP2Rpc2FibGVkPSR7dGhpcy5hY3Rpb25Mb2FkaW5nfSBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZWxldGUoKX0+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzIDYgNSA2IDIxIDYiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE5IDZ2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNm0zIDBWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYyIj48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBEZWxldGUKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQiPgogICAgICAgIDwhLS0gQ2VydGlmaWNhdGUgU2VjdGlvbiAtLT4KICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxyZWN0IHg9IjMiIHk9IjExIiB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcgMTFWN2E1IDUgMCAwIDEgMTAgMHY0Ij48L3BhdGg+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgU1NMIENlcnRpZmljYXRlCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgICAke3RoaXMuY2VydGlmaWNhdGU/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZXJ0LXN0YXR1cyAke3RoaXMuY2VydGlmaWNhdGUuc3RhdHVzfSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZXJ0LWljb24gJHt0aGlzLmNlcnRpZmljYXRlLnN0YXR1c30iPgogICAgICAgICAgICAgICAgICAke3RoaXMuY2VydGlmaWNhdGUuc3RhdHVzPT09InZhbGlkIj93YAogICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMiAxMS4wOFYxMmExMCAxMCAwIDEgMS01LjkzLTkuMTQiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjIyIDQgMTIgMTQuMDEgOSAxMS4wMSI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgYDp0aGlzLmNlcnRpZmljYXRlLnN0YXR1cz09PSJleHBpcmluZyI/d2AKICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI4IiB4Mj0iMTIiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMTYiIHgyPSIxMi4wMSIgeTI9IjE2Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTUiIHkxPSI5IiB4Mj0iOSIgeTI9IjE1Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iOSIgeTE9IjkiIHgyPSIxNSIgeTI9IjE1Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtaW5mbyI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtdGl0bGUiPiR7dGhpcy5jZXJ0aWZpY2F0ZS5zdGF0dXM9PT0idmFsaWQiPyJDZXJ0aWZpY2F0ZSBWYWxpZCI6dGhpcy5jZXJ0aWZpY2F0ZS5zdGF0dXM9PT0iZXhwaXJpbmciPyJDZXJ0aWZpY2F0ZSBFeHBpcmluZyBTb29uIjoiQ2VydGlmaWNhdGUgRXhwaXJlZCJ9PC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtc3VidGl0bGUiPklzc3VlZCBieSAke3RoaXMuY2VydGlmaWNhdGUuaXNzdWVyfTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZXJ0LWRheXMgJHt0aGlzLmNlcnRpZmljYXRlLnN0YXR1c30iPiR7TWF0aC5hYnModGhpcy5jZXJ0aWZpY2F0ZS5kYXlzUmVtYWluaW5nKX08L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC1kYXlzLWxhYmVsIj4ke3RoaXMuY2VydGlmaWNhdGUuZGF5c1JlbWFpbmluZz49MD8iZGF5cyBsZWZ0IjoiZGF5cyBhZ28ifTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tcm93Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5WYWxpZCBGcm9tPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPiR7dGhpcy5jZXJ0aWZpY2F0ZS52YWxpZEZyb219PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tcm93Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5WYWxpZCBVbnRpbDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj4ke3RoaXMuY2VydGlmaWNhdGUudmFsaWRVbnRpbH08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPkF1dG8tUmVuZXc8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSAke3RoaXMuY2VydGlmaWNhdGUuYXV0b1JlbmV3PyJlbmFibGVkIjoiIn0iPiR7dGhpcy5jZXJ0aWZpY2F0ZS5hdXRvUmVuZXc/IkVuYWJsZWQiOiJEaXNhYmxlZCJ9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICR7dGhpcy5jZXJ0aWZpY2F0ZS5jaGFpbiYmdGhpcy5jZXJ0aWZpY2F0ZS5jaGFpbi5sZW5ndGg+MD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+Q2VydGlmaWNhdGUgQ2hhaW48L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYWluLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICR7dGhpcy5jZXJ0aWZpY2F0ZS5jaGFpbi5tYXAoaz0+d2A8c3BhbiBjbGFzcz0iY2hhaW4tYmFkZ2UiPiR7a308L3NwYW4+YCl9CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBjZXJ0aWZpY2F0ZSBjb25maWd1cmVkPC9kaXY+CiAgICAgICAgICAgIGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7dGhpcy5jZXJ0aWZpY2F0ZT93YAogICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InNlY3Rpb24tZm9vdGVyIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiBwcmltYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSZW5ld0NlcnRpZmljYXRlKCl9PlJlbmV3PC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgPCEtLSBQcm94eSBSb3V0ZXMgU2VjdGlvbiAtLT4KICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE2IDMgMjEgMyAyMSA4Ij48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjQiIHkxPSIyMCIgeDI9IjIxIiB5Mj0iMyI+PC9saW5lPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjEgMTYgMjEgMjEgMTYgMjEiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTUiIHkxPSIxNSIgeDI9IjIxIiB5Mj0iMjEiPjwvbGluZT4KICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI0IiB5MT0iNCIgeDI9IjkiIHkyPSI5Ij48L2xpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgUHJveHkgUm91dGVzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgICAke3RoaXMuZG9tYWluLnByb3h5Um91dGVzJiZ0aGlzLmRvbWFpbi5wcm94eVJvdXRlcy5sZW5ndGg+MD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdXRlcy1saXN0Ij4KICAgICAgICAgICAgICAgICR7dGhpcy5kb21haW4ucHJveHlSb3V0ZXMubWFwKGs9PndgCiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyb3V0ZS1iYWRnZSI+JHtrfTwvc3Bhbj4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIHByb3h5IHJvdXRlcyBjb25maWd1cmVkPC9kaXY+CiAgICAgICAgICAgIGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgPCEtLSBETlMgUmVjb3JkcyBTZWN0aW9uIC0tPgogICAgICAgIDxkZWVzLXRpbGUgY2xhc3M9ImZ1bGwtd2lkdGgiPgogICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIyIiB5MT0iMTIiIHgyPSIyMiIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMmExNS4zIDE1LjMgMCAwIDEgNCAxMCAxNS4zIDE1LjMgMCAwIDEtNCAxMCAxNS4zIDE1LjMgMCAwIDEtNC0xMCAxNS4zIDE1LjMgMCAwIDEgNC0xMHoiPjwvcGF0aD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBETlMgUmVjb3JkcwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgICAgJHt0aGlzLmRuc1JlY29yZHMubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkbnMtdGFibGUiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG5zLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgIDxzcGFuPlR5cGU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuPk5hbWU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuPlZhbHVlPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3Bhbj5UVEw8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgJHt0aGlzLmRuc1JlY29yZHMubWFwKGs9PndgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRucy1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkbnMtdHlwZSI+JHtrLnR5cGV9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkbnMtbmFtZSI+JHtrLm5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkbnMtdmFsdWUiIHRpdGxlPSIke2sudmFsdWV9Ij4ke2sucHJpb3JpdHk/YCR7ay5wcmlvcml0eX0gYDoiIn0ke2sudmFsdWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkbnMtdHRsIj4ke2sudHRsfXM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy1hY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Imljb24tYnV0dG9uIiB0aXRsZT0iRWRpdCIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRWRpdERuc1JlY29yZChrKX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEgNEg0YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi03Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE4LjUgMi41YTIuMTIxIDIuMTIxIDAgMCAxIDMgM0wxMiAxNWwtNCAxIDEtNCA5LjUtOS41eiI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24gZGFuZ2VyIiB0aXRsZT0iRGVsZXRlIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZWxldGVEbnNSZWNvcmQoayl9PgogICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMyA2IDUgNiAyMSA2Ij48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOSA2djE0YTIgMiAwIDAgMS0yIDJIN2EyIDIgMCAwIDEtMi0yVjZtMyAwVjRhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MiI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBETlMgcmVjb3JkcyBjb25maWd1cmVkPC9kaXY+CiAgICAgICAgICAgIGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0ic2VjdGlvbi1mb290ZXIiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiBwcmltYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBZGREbnNSZWNvcmQoKX0+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBBZGQgUmVjb3JkCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLXRpbGU+CiAgICAgIDwvZGl2PgogICAgYDp3YDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBkb21haW4gc2VsZWN0ZWQ8L2Rpdj5gfWhhbmRsZVZlcmlmeSgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInZlcmlmeS1kb21haW4iLHtkZXRhaWw6dGhpcy5kb21haW4sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZWxldGUoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWxldGUtZG9tYWluIix7ZGV0YWlsOnRoaXMuZG9tYWluLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlUmVuZXdDZXJ0aWZpY2F0ZSgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJlbmV3LWNlcnRpZmljYXRlIix7ZGV0YWlsOnRoaXMuY2VydGlmaWNhdGUsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBZGREbnNSZWNvcmQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhZGQtZG5zLXJlY29yZCIse2RldGFpbDp0aGlzLmRvbWFpbixidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUVkaXREbnNSZWNvcmQoayl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZWRpdC1kbnMtcmVjb3JkIix7ZGV0YWlsOmssYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZWxldGVEbnNSZWNvcmQoayl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlLWRucy1yZWNvcmQiLHtkZXRhaWw6ayxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxGYyh0aGlzLGcpfXN0YXRpY3tGYyhyLHQpfX07cmV0dXJuIHk9cn0pKCl9KTt2YXIgekcsQmMsY1JhLGp1YT1mKCgpPT57bGUoKTt6Rz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sQmM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGNSYT0oKCk9PntsZXQgYT1baWUoInN6LW10YS1saXN0LXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pNdGFMaXN0VmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBrPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bSygpXSx1PVtLKCldLHg9W0soKV0sekcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbWFpbHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImVtYWlscyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmVtYWlscywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmVtYWlscz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG4sbCksekcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWFyY2hRdWVyeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ic2VhcmNoUXVlcnkiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5zZWFyY2hRdWVyeSwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnNlYXJjaFF1ZXJ5PU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSx6Ryh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1c0ZpbHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ic3RhdHVzRmlsdGVyImluIEMsImhhcyIpLGdldDpzKEM9PkMuc3RhdHVzRmlsdGVyLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0Muc3RhdHVzRmlsdGVyPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSx6Ryh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpcmVjdGlvbkZpbHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iZGlyZWN0aW9uRmlsdGVyImluIEMsImhhcyIpLGdldDpzKEM9PkMuZGlyZWN0aW9uRmlsdGVyLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuZGlyZWN0aW9uRmlsdGVyPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSx6RyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otbXRhLWxpc3QtdmlldwogICAgICAgIC5lbWFpbHM9JHtbe2lkOiIxIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToibm9yZXBseUBzZXJ2ZS56b25lIix0bzoidXNlckBleGFtcGxlLmNvbSIsc3ViamVjdDoiV2VsY29tZSB0byBzZXJ2ZS56b25lIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MzA6MjIiLG1lc3NhZ2VJZDoiPGFiYzEyM0BzZXJ2ZS56b25lPiIsc2l6ZToiMTIuNCBLQiJ9LHtpZDoiMiIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJib3VuY2VkIixmcm9tOiJhbGVydHNAc2VydmUuem9uZSIsdG86ImludmFsaWRAbm93aGVyZS50ZXN0IixzdWJqZWN0OiJTZXJ2aWNlIEFsZXJ0OiBDUFUgVXNhZ2UgSGlnaCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjI4OjEwIixtZXNzYWdlSWQ6IjxkZWY0NTZAc2VydmUuem9uZT4iLHNpemU6IjguMiBLQiJ9LHtpZDoiMyIsZGlyZWN0aW9uOiJpbmJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToic3VwcG9ydEBjdXN0b21lci5jb20iLHRvOiJhZG1pbkBzZXJ2ZS56b25lIixzdWJqZWN0OiJSZTogSW5mcmFzdHJ1Y3R1cmUgUmV2aWV3Iix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MjU6MDAiLG1lc3NhZ2VJZDoiPGdoaTc4OUBjdXN0b21lci5jb20+IixzaXplOiIyNC4xIEtCIn0se2lkOiI0IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6InJlamVjdGVkIixmcm9tOiJiaWxsaW5nQHNlcnZlLnpvbmUiLHRvOiJibG9ja2VkQHNwYW0tZG9tYWluLnRlc3QiLHN1YmplY3Q6Ikludm9pY2UgIzIwMjQtMDAxIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MjA6NDUiLG1lc3NhZ2VJZDoiPGprbDAxMkBzZXJ2ZS56b25lPiIsc2l6ZToiNDUuNiBLQiJ9LHtpZDoiNSIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJkZWZlcnJlZCIsZnJvbToibm9yZXBseUBzZXJ2ZS56b25lIix0bzoic2xvd0ByZW1vdGUtc2VydmVyLnRlc3QiLHN1YmplY3Q6IlBhc3N3b3JkIFJlc2V0IFJlcXVlc3QiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoxNTozMCIsbWVzc2FnZUlkOiI8bW5vMzQ1QHNlcnZlLnpvbmU+IixzaXplOiI2LjggS0IifSx7aWQ6IjYiLGRpcmVjdGlvbjoiaW5ib3VuZCIsc3RhdHVzOiJkZWxpdmVyZWQiLGZyb206ImNpQGdpdGh1Yi5jb20iLHRvOiJkZXZvcHNAc2VydmUuem9uZSIsc3ViamVjdDoiQnVpbGQgIzQ1MjEgcGFzc2VkIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MTA6MDAiLG1lc3NhZ2VJZDoiPHBxcjY3OEBnaXRodWIuY29tPiIsc2l6ZToiMTUuMyBLQiJ9LHtpZDoiNyIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJwZW5kaW5nIixmcm9tOiJyZXBvcnRzQHNlcnZlLnpvbmUiLHRvOiJ0ZWFtQHNlcnZlLnpvbmUiLHN1YmplY3Q6IldlZWtseSBJbmZyYXN0cnVjdHVyZSBSZXBvcnQiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDowNTowMCIsbWVzc2FnZUlkOiI8c3R1OTAxQHNlcnZlLnpvbmU+IixzaXplOiIxMDIuNyBLQiJ9XX0KICAgICAgPjwvc3otbXRhLWxpc3Qtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1UQSJdOyNlPUJjKHRoaXMsbixbXSk7Z2V0IGVtYWlscygpe3JldHVybiB0aGlzLiNlfXNldCBlbWFpbHMoayl7dGhpcy4jZT1rfSN0PShCYyh0aGlzLGwpLEJjKHRoaXMsYywiIikpO2dldCBzZWFyY2hRdWVyeSgpe3JldHVybiB0aGlzLiN0fXNldCBzZWFyY2hRdWVyeShrKXt0aGlzLiN0PWt9I2E9KEJjKHRoaXMscCksQmModGhpcyxtLCJhbGwiKSk7Z2V0IHN0YXR1c0ZpbHRlcigpe3JldHVybiB0aGlzLiNhfXNldCBzdGF0dXNGaWx0ZXIoayl7dGhpcy4jYT1rfSNyPShCYyh0aGlzLHYpLEJjKHRoaXMsYiwiYWxsIikpO2dldCBkaXJlY3Rpb25GaWx0ZXIoKXtyZXR1cm4gdGhpcy4jcn1zZXQgZGlyZWN0aW9uRmlsdGVyKGspe3RoaXMuI3I9a31nZXQgZmlsdGVyZWRFbWFpbHMoKXtyZXR1cm4gdGhpcy5lbWFpbHMuZmlsdGVyKGs9PntpZih0aGlzLnN0YXR1c0ZpbHRlciE9PSJhbGwiJiZrLnN0YXR1cyE9PXRoaXMuc3RhdHVzRmlsdGVyfHx0aGlzLmRpcmVjdGlvbkZpbHRlciE9PSJhbGwiJiZrLmRpcmVjdGlvbiE9PXRoaXMuZGlyZWN0aW9uRmlsdGVyKXJldHVybiExO2lmKHRoaXMuc2VhcmNoUXVlcnkpe2xldCBDPXRoaXMuc2VhcmNoUXVlcnkudG9Mb3dlckNhc2UoKTtyZXR1cm4gay5mcm9tLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoQyl8fGsudG8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhDKXx8ay5zdWJqZWN0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoQyl8fGsubWVzc2FnZUlkLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoQyl9cmV0dXJuITB9KX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuZmlsdGVyLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDIwMHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzNiODJmNiIpfTsKICAgICAgfQoKICAgICAgLmNoaXAtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5jaGlwIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5jaGlwOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNoaXAuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnJlc3VsdHMtY291bnQgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIC50YWJsZS1jb250YWluZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC50YWJsZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MHB4IDkwcHggMS41ZnIgMS41ZnIgMmZyIDE0MHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MHB4IDkwcHggMS41ZnIgMS41ZnIgMmZyIDE0MHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZGlyZWN0aW9uLWljb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmRpcmVjdGlvbi1pY29uLmluYm91bmQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5kaXJlY3Rpb24taWNvbi5vdXRib3VuZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5kZWxpdmVyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmJvdW5jZWQsCiAgICAgIC5zdGF0dXMtYmFkZ2UucmVqZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRlZmVycmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjljMyIsInJnYmEoMjUwLCAyMDQsIDIxLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucGVuZGluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuZW1haWwtZnJvbSwKICAgICAgLmVtYWlsLXRvIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5lbWFpbC1zdWJqZWN0IHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmVtYWlsLXRpbWVzdGFtcCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBrPXRoaXMuZmlsdGVyZWRFbWFpbHM7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImZpbHRlci1iYXIiPgogICAgICAgIDxpbnB1dAogICAgICAgICAgY2xhc3M9InNlYXJjaC1pbnB1dCIKICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICBwbGFjZWhvbGRlcj0iU2VhcmNoIGJ5IGZyb20sIHRvLCBzdWJqZWN0LCBvciBtZXNzYWdlIElELi4uIgogICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZWFyY2hRdWVyeX0KICAgICAgICAgIEBpbnB1dD0ke0M9Pnt0aGlzLnNlYXJjaFF1ZXJ5PUMudGFyZ2V0LnZhbHVlfX0KICAgICAgICAvPgogICAgICAgIDxkaXYgY2xhc3M9ImNoaXAtZ3JvdXAiPgogICAgICAgICAgJHtbImFsbCIsImluYm91bmQiLCJvdXRib3VuZCJdLm1hcChDPT53YAogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgY2xhc3M9ImNoaXAgJHt0aGlzLmRpcmVjdGlvbkZpbHRlcj09PUM/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0keygpPT57dGhpcy5kaXJlY3Rpb25GaWx0ZXI9Q319CiAgICAgICAgICAgID4ke0M9PT0iYWxsIj8iQWxsIjpDPT09ImluYm91bmQiPyJJbmJvdW5kIjoiT3V0Ym91bmQifTwvYnV0dG9uPgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2hpcC1ncm91cCI+CiAgICAgICAgICAke1siYWxsIiwiZGVsaXZlcmVkIiwiYm91bmNlZCIsInJlamVjdGVkIiwiZGVmZXJyZWQiLCJwZW5kaW5nIl0ubWFwKEM9PndgCiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0iY2hpcCAke3RoaXMuc3RhdHVzRmlsdGVyPT09Qz8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9Pnt0aGlzLnN0YXR1c0ZpbHRlcj1DfX0KICAgICAgICAgICAgPiR7Qz09PSJhbGwiPyJBbGwiOkMuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrQy5zbGljZSgxKX08L2J1dHRvbj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InJlc3VsdHMtY291bnQiPlNob3dpbmcgJHtrLmxlbmd0aH0gb2YgJHt0aGlzLmVtYWlscy5sZW5ndGh9IGVtYWlsczwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0idGFibGUtY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1oZWFkZXIiPgogICAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgICAgPHNwYW4+U3RhdHVzPC9zcGFuPgogICAgICAgICAgPHNwYW4+RnJvbTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlRvPC9zcGFuPgogICAgICAgICAgPHNwYW4+U3ViamVjdDwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlRpbWVzdGFtcDwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke2subGVuZ3RoPjA/ay5tYXAoQz0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJvdyIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRW1haWxDbGljayhDKX0+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaXJlY3Rpb24taWNvbiAke0MuZGlyZWN0aW9ufSI+CiAgICAgICAgICAgICAgJHtDLmRpcmVjdGlvbj09PSJpbmJvdW5kIj93YDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ii8+PHBvbHlsaW5lIHBvaW50cz0iMTkgMTIgMTIgMTkgNSAxMiIvPjwvc3ZnPmA6d2A8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48bGluZSB4MT0iMTIiIHkxPSIxOSIgeDI9IjEyIiB5Mj0iNSIvPjxwb2x5bGluZSBwb2ludHM9IjUgMTIgMTIgNSAxOSAxMiIvPjwvc3ZnPmB9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+PHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke0Muc3RhdHVzfSI+JHtDLnN0YXR1c308L3NwYW4+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW1haWwtZnJvbSIgdGl0bGU9IiR7Qy5mcm9tfSI+JHtDLmZyb219PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW1haWwtdG8iIHRpdGxlPSIke0MudG99Ij4ke0MudG99PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW1haWwtc3ViamVjdCIgdGl0bGU9IiR7Qy5zdWJqZWN0fSI+JHtDLnN1YmplY3R9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW1haWwtdGltZXN0YW1wIj4ke0MudGltZXN0YW1wfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApOndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gZW1haWxzIGZvdW5kPC9kaXY+CiAgICAgICAgYH0KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZUVtYWlsQ2xpY2soayl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZW1haWwtY2xpY2siLHtkZXRhaWw6ayxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxCYyh0aGlzLGcpfXN0YXRpY3tCYyhyLHQpfX07cmV0dXJuIHk9cn0pKCl9KTt2YXIgVXVhLEpKZSxkUmEsV3VhPWYoKCk9PntsZSgpO1V1YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sSkplPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxkUmE9KCgpPT57bGV0IGE9W2llKCJzei1tdGEtZGV0YWlsLXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pNdGFEZXRhaWxWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sVXVhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW1haWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+ImVtYWlsImluIHAsImhhcyIpLGdldDpzKHA9PnAuZW1haWwsImdldCIpLHNldDpzKChwLHUpPT57cC5lbWFpbD11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksVXVhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1tdGEtZGV0YWlsLXZpZXcKICAgICAgICAuZW1haWw9JHt7aWQ6IjEiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLHRvOiJ1c2VyQGV4YW1wbGUuY29tIix0b0xpc3Q6WyJ1c2VyQGV4YW1wbGUuY29tIl0sc3ViamVjdDoiV2VsY29tZSB0byBzZXJ2ZS56b25lIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MzA6MjIiLG1lc3NhZ2VJZDoiPGFiYzEyM0BzZXJ2ZS56b25lPiIsc2l6ZToiMTIuNCBLQiIsc210cExvZzpbe3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJFSExPIG1haWwuc2VydmUuem9uZSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLW1haWwuZXhhbXBsZS5jb20gSGVsbG8iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLVNUQVJUVExTIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBTSVpFIDUyNDI4ODAwIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlNUQVJUVExTIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyMjAgUmVhZHkgdG8gc3RhcnQgVExTIixyZXNwb25zZUNvZGU6MjIwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkVITE8gbWFpbC5zZXJ2ZS56b25lIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtbWFpbC5leGFtcGxlLmNvbSBIZWxsbyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtQVVUSCBQTEFJTiBMT0dJTiIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgU0laRSA1MjQyODgwMCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJBVVRIIFBMQUlOIEFIVnpaWElBY0dGemMzZHZjbVE9In0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyMzUgMi43LjAgQXV0aGVudGljYXRpb24gc3VjY2Vzc2Z1bCIscmVzcG9uc2VDb2RlOjIzNX0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJNQUlMIEZST006PG5vcmVwbHlAc2VydmUuem9uZT4ifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBPSyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJSQ1BUIFRPOjx1c2VyQGV4YW1wbGUuY29tPiJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIEFjY2VwdGVkIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkRBVEEifSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6JzM1NCBFbnRlciBtZXNzYWdlLCBlbmRpbmcgd2l0aCAiLiIgb24gYSBsaW5lIGJ5IGl0c2VsZicscmVzcG9uc2VDb2RlOjM1NH0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiIuIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgT0sgaWQ9MXBRMnJTLTAwMDNBYi1DNCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJRVUlUIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyMjEgbWFpbC5leGFtcGxlLmNvbSBjbG9zaW5nIGNvbm5lY3Rpb24iLHJlc3BvbnNlQ29kZToyMjF9XSxjb25uZWN0aW9uSW5mbzp7c291cmNlSXA6IjEwLjAuMS41MCIsc291cmNlSG9zdG5hbWU6Im1haWwuc2VydmUuem9uZSIsZGVzdGluYXRpb25JcDoiOTMuMTg0LjIxNi4zNCIsZGVzdGluYXRpb25Qb3J0OjI1LHRsc1ZlcnNpb246IlRMU3YxLjMiLHRsc0NpcGhlcjoiVExTX0FFU18yNTZfR0NNX1NIQTM4NCIsYXV0aGVudGljYXRlZDohMCxhdXRoTWV0aG9kOiJQTEFJTiIsYXV0aFVzZXI6Im5vcmVwbHlAc2VydmUuem9uZSJ9LGF1dGhlbnRpY2F0aW9uUmVzdWx0czp7c3BmOiJwYXNzIixzcGZEb21haW46InNlcnZlLnpvbmUiLGRraW06InBhc3MiLGRraW1Eb21haW46InNlcnZlLnpvbmUiLGRtYXJjOiJwYXNzIixkbWFyY1BvbGljeToicmVqZWN0In0saGVhZGVyczp7RnJvbToibm9yZXBseUBzZXJ2ZS56b25lIixUbzoidXNlckBleGFtcGxlLmNvbSIsU3ViamVjdDoiV2VsY29tZSB0byBzZXJ2ZS56b25lIixEYXRlOiJNb24sIDE1IEphbiAyMDI0IDE0OjMwOjIyICswMDAwIiwiTUlNRS1WZXJzaW9uIjoiMS4wIiwiQ29udGVudC1UeXBlIjoidGV4dC9odG1sOyBjaGFyc2V0PVVURi04In0sYm9keTonPGh0bWw+XFxuPGhlYWQ+PHRpdGxlPldlbGNvbWU8L3RpdGxlPjwvaGVhZD5cXG48Ym9keT5cXG4gIDxoMT5XZWxjb21lIHRvIHNlcnZlLnpvbmUhPC9oMT5cXG4gIDxwPllvdXIgYWNjb3VudCBoYXMgYmVlbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseS48L3A+XFxuICA8YSBocmVmPSJodHRwczovL3NlcnZlLnpvbmUvZGFzaGJvYXJkIj5HbyB0byBEYXNoYm9hcmQ8L2E+XFxuPC9ib2R5PlxcbjwvaHRtbD4nfX0KICAgICAgPjwvc3otbXRhLWRldGFpbC12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiTVRBIl07I2U9SkplKHRoaXMsbixudWxsKTtnZXQgZW1haWwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZW1haWwoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmJhY2stbGluayB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmJhY2stbGluazpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmVtYWlsLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuZW1haWwtc3ViamVjdCB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZS1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZGVsaXZlcmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ib3VuY2VkLAogICAgICAuc3RhdHVzLWJhZGdlLnJlamVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5kZWZlcnJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWY5YzMiLCJyZ2JhKDI1MCwgMjA0LCAyMSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNjYThhMDQiLCIjZmFjYzE1Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnBlbmRpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmRpcmVjdGlvbi1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5kaXJlY3Rpb24tYmFkZ2UuaW5ib3VuZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5kaXJlY3Rpb24tYmFkZ2Uub3V0Ym91bmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7CiAgICAgICAgLmNvbnRlbnQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm1haW4tY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLnNpZGViYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5jYXJkLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmNhcmQtaGVhZGluZyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5jYXJkLXRpdGxlIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuY2FyZC1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLmNhcmQtZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTAlKSIsImhzbCgyMTMuMSA5My45JSA3NSUpIil9OwogICAgICB9CgogICAgICAuY2FyZC1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAuZGV0YWlsLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZGV0YWlsLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgIH0KCiAgICAgIC5zbXRwLWxvZy1jb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgTW9uYWNvLCAnQ2FzY2FkaWEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwogICAgICAgIHNjcm9sbGJhci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuc210cC1sb2ctY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgfQoKICAgICAgLnNtdHAtbG9nLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuc210cC1sb2ctY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLyogUGhhc2Ugc2VwYXJhdG9ycyAqLwogICAgICAuc210cC1waGFzZS1zZXBhcmF0b3IgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogNHB4IDA7CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQoKICAgICAgLnNtdHAtcGhhc2UtbGluZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5zbXRwLXBoYXNlLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC8qIENoYXQgYnViYmxlcyAqLwogICAgICAuc210cC1idWJibGUgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE0cHg7CiAgICAgICAgbWF4LXdpZHRoOiA3MCU7CiAgICAgIH0KCiAgICAgIC5zbXRwLWJ1YmJsZS5jbGllbnQgewogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjA4KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEyKSIpfTsKICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87CiAgICAgIH0KCiAgICAgIC5zbXRwLWJ1YmJsZS5zZXJ2ZXIgewogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjA2KSIsInJnYmEoMzQsIDE5NywgOTQsIDAuMTApIil9OwogICAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICR7aC5iZFRoZW1lKCIjMjJjNTVlIiwiIzRhZGU4MCIpfTsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgfQoKICAgICAgLnNtdHAtYnViYmxlLWNvbW1hbmQgewogICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNtdHAtYnViYmxlLW1ldGEgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5zbXRwLWJ1YmJsZS5zZXJ2ZXIgLnNtdHAtYnViYmxlLW1ldGEgewogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgIH0KCiAgICAgIC5zbXRwLWRpcmVjdGlvbi10YWcgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4OwogICAgICB9CgogICAgICAuc210cC1kaXJlY3Rpb24tdGFnLmNsaWVudCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnNtdHAtZGlyZWN0aW9uLXRhZy5zZXJ2ZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzIyYzU1ZSIsIiM0YWRlODAiKX07CiAgICAgIH0KCiAgICAgIC8qIFJlc3BvbnNlIGNvZGUgYmFkZ2VzICovCiAgICAgIC5yZXNwb25zZS1jb2RlLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcGFkZGluZzogMXB4IDdweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsIE1vbmFjbywgJ0Nhc2NhZGlhIENvZGUnLCBtb25vc3BhY2U7CiAgICAgIH0KCiAgICAgIC5yZXNwb25zZS1jb2RlLWJhZGdlLmNvZGUtMnh4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgzNCwgMTk3LCA5NCwgMC4xNSkiLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjI1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAucmVzcG9uc2UtY29kZS1iYWRnZS5jb2RlLTN4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjI1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAucmVzcG9uc2UtY29kZS1iYWRnZS5jb2RlLTR4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMjUwLCAyMDQsIDIxLCAwLjE1KSIsInJnYmEoMjUwLCAyMDQsIDIxLCAwLjI1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNjYThhMDQiLCIjZmFjYzE1Iil9OwogICAgICB9CgogICAgICAucmVzcG9uc2UtY29kZS1iYWRnZS5jb2RlLTV4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMjM5LCA2OCwgNjgsIDAuMTUpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yNSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLyogU01UUCBtZXRhZGF0YSBiYW5uZXIg4oCUIHNpdHMgaW5zaWRlIGNvbnRlbnQsIGFib3ZlIHRoZSBsb2cgKi8KICAgICAgLnNtdHAtaGVhZGVyLXN1YnRpdGxlIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgIH0KCiAgICAgIC5zbXRwLWRpcmVjdGlvbi1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDsKICAgICAgfQoKICAgICAgLnNtdHAtZGlyZWN0aW9uLWJhZGdlLmluYm91bmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjEyKSIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnNtdHAtZGlyZWN0aW9uLWJhZGdlLm91dGJvdW5kIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTIpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmVtYWlsLWJvZHktY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRscy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmF1dGgtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5hdXRoLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAuYXV0aC1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmF1dGgtZG9tYWluIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tbGVmdDogOHB4OwogICAgICB9CgogICAgICAuYXV0aC1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmF1dGgtYmFkZ2UucGFzcyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5hdXRoLWJhZGdlLmZhaWwgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuYXV0aC1iYWRnZS5zb2Z0ZmFpbCwKICAgICAgLmF1dGgtYmFkZ2UubmV1dHJhbCwKICAgICAgLmF1dGgtYmFkZ2Uubm9uZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWY5YzMiLCJyZ2JhKDI1MCwgMjA0LCAyMSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNjYThhMDQiLCIjZmFjYzE1Iil9OwogICAgICB9CgogICAgICBkZWVzLXRpbGUucmVqZWN0aW9uLWNhcmQ6OnBhcnQob3V0ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZmVjYWNhIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgfQoKICAgICAgLnJlamVjdGlvbi1jb250ZW50IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnJlamVjdGlvbi1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAucmVqZWN0aW9uLXRleHQgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVmMmYyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5OTFiMWIiLCIjZmNhNWE1Iil9OwogICAgICB9CgogICAgICAucmVqZWN0aW9uLXRleHQ6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLm5vLWVtYWlsIHsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2lmKCF0aGlzLmVtYWlsKXJldHVybiB3YDxkaXYgY2xhc3M9Im5vLWVtYWlsIj5ObyBlbWFpbCBzZWxlY3RlZDwvZGl2PmA7bGV0IGM9dGhpcy5lbWFpbDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrLWxpbmsiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUJhY2soKX0+CiAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTUgMTggOSAxMiAxNSA2Ij48L3BvbHlsaW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBCYWNrIHRvIEVtYWlscwogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImVtYWlsLWhlYWRlciI+CiAgICAgICAgPGgxIGNsYXNzPSJlbWFpbC1zdWJqZWN0Ij4ke2Muc3ViamVjdH08L2gxPgogICAgICAgIDxkaXYgY2xhc3M9ImJhZGdlLWdyb3VwIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHtjLnN0YXR1c30iPiR7Yy5zdGF0dXN9PC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImRpcmVjdGlvbi1iYWRnZSAke2MuZGlyZWN0aW9ufSI+JHtjLmRpcmVjdGlvbn08L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbi1jb250ZW50Ij4KICAgICAgICAgIDwhLS0gRW1haWwgTWV0YWRhdGEgLS0+CiAgICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRpbmciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtdGl0bGUiPkVtYWlsIE1ldGFkYXRhPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtbGlzdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkZyb208L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy5mcm9tfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5Ubzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLnRvTGlzdC5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgJHtjLmNjJiZjLmNjLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5DQzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2MuY2Muam9pbigiLCAiKX08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+U3ViamVjdDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLnN1YmplY3R9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkRhdGU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy50aW1lc3RhbXB9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPk1lc3NhZ2UgSUQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy5tZXNzYWdlSWR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlNpemU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy5zaXplfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgICAgIDwhLS0gU01UUCBUcmFuc2FjdGlvbiBMb2cgLS0+CiAgICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRpbmciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtdGl0bGUiPlNNVFAgVHJhbnNhY3Rpb24gTG9nPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNtdHAtZGlyZWN0aW9uLWJhZGdlICR7Yy5kaXJlY3Rpb259Ij4ke2MuZGlyZWN0aW9ufTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtdHAtaGVhZGVyLXN1YnRpdGxlIj4KICAgICAgICAgICAgICAke2MuZGlyZWN0aW9uPT09Im91dGJvdW5kIj9gJHtjLmNvbm5lY3Rpb25JbmZvLnNvdXJjZUhvc3RuYW1lfSBcdTIxOTIgJHtjLmNvbm5lY3Rpb25JbmZvLmRlc3RpbmF0aW9uSXB9OiR7Yy5jb25uZWN0aW9uSW5mby5kZXN0aW5hdGlvblBvcnR9YDpgJHtjLmNvbm5lY3Rpb25JbmZvLnNvdXJjZUlwfSBcdTIxOTIgJHtjLmNvbm5lY3Rpb25JbmZvLnNvdXJjZUhvc3RuYW1lfToke2MuY29ubmVjdGlvbkluZm8uZGVzdGluYXRpb25Qb3J0fWB9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAke3RoaXMucmVuZGVyU210cExvZyhjKX0KICAgICAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJjYXJkLWZvb3RlciI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmNvcHlTbXRwTG9nKCl9PgogICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICAgICAgICAgICAgPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUgMTVINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ2MSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICBDb3B5IExvZwogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgICAgIDwhLS0gRW1haWwgQm9keSAtLT4KICAgICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC10aXRsZSI+RW1haWwgQm9keSAoRXNjYXBlZCk8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC1zdWJ0aXRsZSI+UmF3IGNvbnRlbnQg4oCUIEhUTUwgaXMgbm90IHJlbmRlcmVkPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHByZSBjbGFzcz0iZW1haWwtYm9keS1jb250YWluZXIiPiR7Yy5ib2R5fTwvcHJlPgogICAgICAgICAgPC9kZWVzLXRpbGU+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiPgogICAgICAgICAgPCEtLSBDb25uZWN0aW9uIEluZm8gLS0+CiAgICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRpbmciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtdGl0bGUiPkNvbm5lY3Rpb24gSW5mbzwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWxpc3QiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5Tb3VyY2UgSVA8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy5jb25uZWN0aW9uSW5mby5zb3VyY2VJcH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+U291cmNlIEhvc3RuYW1lPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2MuY29ubmVjdGlvbkluZm8uc291cmNlSG9zdG5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkRlc3RpbmF0aW9uPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2MuY29ubmVjdGlvbkluZm8uZGVzdGluYXRpb25JcH06JHtjLmNvbm5lY3Rpb25JbmZvLmRlc3RpbmF0aW9uUG9ydH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+VExTPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAke2MuY29ubmVjdGlvbkluZm8udGxzVmVyc2lvbj93YDxzcGFuIGNsYXNzPSJ0bHMtYmFkZ2UiPiR7Yy5jb25uZWN0aW9uSW5mby50bHNWZXJzaW9ufTwvc3Bhbj5gOiJOb25lIn0KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAke2MuY29ubmVjdGlvbkluZm8udGxzQ2lwaGVyP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5DaXBoZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLmNvbm5lY3Rpb25JbmZvLnRsc0NpcGhlcn08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+QXV0aGVudGljYXRlZDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLmNvbm5lY3Rpb25JbmZvLmF1dGhlbnRpY2F0ZWQ/IlllcyI6Ik5vIn08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICR7Yy5jb25uZWN0aW9uSW5mby5hdXRoZW50aWNhdGVkP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5BdXRoIE1ldGhvZDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2MuY29ubmVjdGlvbkluZm8uYXV0aE1ldGhvZH08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+QXV0aCBVc2VyPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy5jb25uZWN0aW9uSW5mby5hdXRoVXNlcn08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgICA8IS0tIEF1dGhlbnRpY2F0aW9uIFJlc3VsdHMgLS0+CiAgICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRpbmciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtdGl0bGUiPkF1dGhlbnRpY2F0aW9uIFJlc3VsdHM8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF1dGgtcm93Ij4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWxhYmVsIj5TUEY8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWRvbWFpbiI+JHtjLmF1dGhlbnRpY2F0aW9uUmVzdWx0cy5zcGZEb21haW59PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aC1iYWRnZSAke2MuYXV0aGVudGljYXRpb25SZXN1bHRzLnNwZn0iPiR7Yy5hdXRoZW50aWNhdGlvblJlc3VsdHMuc3BmfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdXRoLXJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aC1sYWJlbCI+REtJTTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtZG9tYWluIj4ke2MuYXV0aGVudGljYXRpb25SZXN1bHRzLmRraW1Eb21haW59PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aC1iYWRnZSAke2MuYXV0aGVudGljYXRpb25SZXN1bHRzLmRraW19Ij4ke2MuYXV0aGVudGljYXRpb25SZXN1bHRzLmRraW19PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF1dGgtcm93Ij4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWxhYmVsIj5ETUFSQzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtZG9tYWluIj5wb2xpY3k6ICR7Yy5hdXRoZW50aWNhdGlvblJlc3VsdHMuZG1hcmNQb2xpY3l9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aC1iYWRnZSAke2MuYXV0aGVudGljYXRpb25SZXN1bHRzLmRtYXJjfSI+JHtjLmF1dGhlbnRpY2F0aW9uUmVzdWx0cy5kbWFyY308L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgICAgPCEtLSBSZWplY3Rpb24gRGV0YWlscyAoY29uZGl0aW9uYWwpIC0tPgogICAgICAgICAgJHtjLnN0YXR1cz09PSJyZWplY3RlZCJ8fGMuc3RhdHVzPT09ImJvdW5jZWQiP3dgCiAgICAgICAgICAgIDxkZWVzLXRpbGUgY2xhc3M9InJlamVjdGlvbi1jYXJkIj4KICAgICAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLXRpdGxlIj5SZWplY3Rpb24gRGV0YWlsczwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgICAke2MucmVqZWN0aW9uUmVhc29uP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlamVjdGlvbi1sYWJlbCI+UmVqZWN0aW9uIFJlYXNvbjwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWplY3Rpb24tdGV4dCI+JHtjLnJlamVjdGlvblJlYXNvbn08L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAke2MuYm91bmNlTWVzc2FnZT93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWplY3Rpb24tbGFiZWwiPkJvdW5jZSBNZXNzYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlamVjdGlvbi10ZXh0Ij4ke2MuYm91bmNlTWVzc2FnZX08L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGVlcy10aWxlPgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWdldFJlc3BvbnNlQ29kZUJhZGdlQ2xhc3MoYyl7cmV0dXJuIGM+PTUwMD8iY29kZS01eHgiOmM+PTQwMD8iY29kZS00eHgiOmM+PTMwMD8iY29kZS0zeHgiOiJjb2RlLTJ4eCJ9Z2V0U210cFBoYXNlcyhjKXtsZXQgcD1bXSx1PSIiLG09MDtmb3IobGV0IHYgb2YgYyl7bGV0IHg9di5jb21tYW5kLnRvVXBwZXJDYXNlKCksYj11O2lmKHYuZGlyZWN0aW9uPT09ImNsaWVudCImJih4LnN0YXJ0c1dpdGgoIkVITE8iKXx8eC5zdGFydHNXaXRoKCJIRUxPIik/KG0rKyxtPT09MT9iPSJjb25uZWN0aW9uIjpiPSJwb3N0LXRscyIpOng9PT0iU1RBUlRUTFMiP2I9InRscyI6eC5zdGFydHNXaXRoKCJBVVRIIik/Yj0iYXV0aCI6eC5zdGFydHNXaXRoKCJNQUlMIEZST00iKXx8eC5zdGFydHNXaXRoKCJSQ1BUIFRPIil8fHg9PT0iREFUQSJ8fHg9PT0iLiI/Yj0idHJhbnNmZXIiOng9PT0iUVVJVCImJihiPSJjbG9zaW5nIikpLHYuZGlyZWN0aW9uPT09InNlcnZlciImJmI9PT0iIiYmKGI9dXx8ImNvbm5lY3Rpb24iKSxiPT09IiImJihiPSJjb25uZWN0aW9uIiksYiE9PXUpe3U9YjtsZXQgZz17Y29ubmVjdGlvbjoiQ29ubmVjdGlvbiIsdGxzOiJUTFMgTmVnb3RpYXRpb24iLCJwb3N0LXRscyI6IlBvc3QtVExTIEhhbmRzaGFrZSIsYXV0aDoiQXV0aGVudGljYXRpb24iLHRyYW5zZmVyOiJNYWlsIFRyYW5zZmVyIixjbG9zaW5nOiJDbG9zaW5nIn07cC5wdXNoKHtwaGFzZTpiLGxhYmVsOmdbYl18fGIsZW50cmllczpbXX0pfXAubGVuZ3RoPT09MCYmcC5wdXNoKHtwaGFzZToiY29ubmVjdGlvbiIsbGFiZWw6IkNvbm5lY3Rpb24iLGVudHJpZXM6W119KSxwW3AubGVuZ3RoLTFdLmVudHJpZXMucHVzaCh2KX1yZXR1cm4gcH1yZW5kZXJTbXRwTG9nKGMpe2xldCBwPXRoaXMuZ2V0U210cFBoYXNlcyhjLnNtdHBMb2cpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJzbXRwLWxvZy1jb250YWluZXIiPgogICAgICAgICR7cC5tYXAodT0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InNtdHAtcGhhc2Utc2VwYXJhdG9yIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic210cC1waGFzZS1saW5lIj48L2Rpdj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNtdHAtcGhhc2UtbGFiZWwiPiR7dS5sYWJlbH08L3NwYW4+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtdHAtcGhhc2UtbGluZSI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7dS5lbnRyaWVzLm1hcChtPT53YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbXRwLWJ1YmJsZSAke20uZGlyZWN0aW9ufSI+CiAgICAgICAgICAgICAgJHttLmRpcmVjdGlvbj09PSJzZXJ2ZXIiJiZtLnJlc3BvbnNlQ29kZT93YAogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlc3BvbnNlLWNvZGUtYmFkZ2UgJHt0aGlzLmdldFJlc3BvbnNlQ29kZUJhZGdlQ2xhc3MobS5yZXNwb25zZUNvZGUpfSI+JHttLnJlc3BvbnNlQ29kZX08L3NwYW4+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbXRwLWJ1YmJsZS1jb21tYW5kIj4ke20uY29tbWFuZH08L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbXRwLWJ1YmJsZS1tZXRhIj4KICAgICAgICAgICAgICAgIDxzcGFuPiR7bS50aW1lc3RhbXB9PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4+wrc8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic210cC1kaXJlY3Rpb24tdGFnICR7bS5kaXJlY3Rpb259Ij4ke20uZGlyZWN0aW9uPT09ImNsaWVudCI/IkNsaWVudCI6IlNlcnZlciJ9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIGApfQogICAgICA8L2Rpdj4KICAgIGB9Y29weVNtdHBMb2coKXtpZighdGhpcy5lbWFpbClyZXR1cm47bGV0IGM9dGhpcy5lbWFpbC5zbXRwTG9nLm1hcChwPT5gWyR7cC50aW1lc3RhbXB9XSAke3AuZGlyZWN0aW9uPT09ImNsaWVudCI/IkM6IjoiUzoifSAke3AuY29tbWFuZH1gKS5qb2luKGAKYCk7bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoYyl9aGFuZGxlQmFjaygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImJhY2siLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxKSmUodGhpcyxsKX1zdGF0aWN7SkplKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO2Z1bmN0aW9uIHVSYShhKXtyZXR1cm4gdHlwZW9mIGE9PSJudW1iZXIiP1N0cmluZyhhKTpBcnJheS5pc0FycmF5KGEpP2EubWFwKGU9PnR5cGVvZiBlPT0ibnVtYmVyIj9TdHJpbmcoZSk6YCR7ZS5mcm9tfVx1MjAxMyR7ZS50b31gKS5qb2luKCIsICIpOlN0cmluZyhhKX1mdW5jdGlvbiBwUmEoYSl7bGV0IGU9W107Zm9yKGxldCB0IG9mIGEpe2xldCByPUFycmF5LmlzQXJyYXkodC5ob3N0KT90Lmhvc3Q6W3QuaG9zdF0saT10LnBvcnQ9PT0icHJlc2VydmUiPyIocHJlc2VydmUpIjpTdHJpbmcodC5wb3J0KTtmb3IobGV0IG8gb2YgcillLnB1c2goYCR7b306JHtpfWApfXJldHVybiBlfXZhciBlZXQsQ0csZlJhLEd1YT1mKCgpPT57bGUoKTtlZXQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LENHPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfTtzKHVSYSwiZm9ybWF0UG9ydHMiKTtzKHBSYSwiZm9ybWF0VGFyZ2V0cyIpO2ZSYT0oKCk9PntsZXQgYT1baWUoInN6LXJvdXRlLWNhcmQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pSb3V0ZUNhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOkJvb2xlYW59KV0sZWV0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicm91dGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InJvdXRlImluIHYsImhhcyIpLGdldDpzKHY9PnYucm91dGUsImdldCIpLHNldDpzKCh2LHgpPT57di5yb3V0ZT14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksZWV0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0FjdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InNob3dBY3Rpb25zImluIHYsImhhcyIpLGdldDpzKHY9PnYuc2hvd0FjdGlvbnMsImdldCIpLHNldDpzKCh2LHgpPT57di5zaG93QWN0aW9ucz14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksZWV0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogNTIwcHg7Ij4KICAgICAgPHN6LXJvdXRlLWNhcmQKICAgICAgICAucm91dGU9JHt7bmFtZToiQVBJIEdhdGV3YXkiLGRlc2NyaXB0aW9uOiJNYWluIEFQSSBnYXRld2F5IHdpdGggVExTIHRlcm1pbmF0aW9uIGFuZCBsb2FkIGJhbGFuY2luZyIsZW5hYmxlZDohMCxwcmlvcml0eToxMCx0YWdzOlsid2ViIiwiYXBpIiwicHJvZHVjdGlvbiJdLG1hdGNoOntwb3J0czpbNDQzLDg0NDNdLGRvbWFpbnM6WyJhcGkuZXhhbXBsZS5jb20iLCIqLmFwaS5zZXJ2ZS56b25lIl0scGF0aDoiL2FwaS8qIixwcm90b2NvbDoiaHR0cCIsY2xpZW50SXA6WyIxMC4wLjAuMC84Il19LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6WyIxMC4wLjAuMSIsIjEwLjAuMC4yIl0scG9ydDo4MDgwfV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn0sd2Vic29ja2V0OntlbmFibGVkOiEwfSxsb2FkQmFsYW5jaW5nOnthbGdvcml0aG06InJvdW5kLXJvYmluIn0sZm9yd2FyZGluZ0VuZ2luZToibmZ0YWJsZXMifSxzZWN1cml0eTp7aXBBbGxvd0xpc3Q6WyIxMC4wLjAuMC84Il0saXBCbG9ja0xpc3Q6WyIxOTIuMTY4LjEwMC4wLzI0Il0scmF0ZUxpbWl0OntlbmFibGVkOiEwLG1heFJlcXVlc3RzOjEwMCx3aW5kb3c6NjB9LG1heENvbm5lY3Rpb25zOjFlM30sdnBuT25seTohMCxtZXRhZGF0YTp7c291cmNlUHJvZmlsZU5hbWU6IlNUQU5EQVJEIixuZXR3b3JrVGFyZ2V0TmFtZToiTE9TU0xFU1NfSU5GUkEifX19CiAgICAgID48L3N6LXJvdXRlLWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJSb3V0ZXMiXTsjZT1DRyh0aGlzLG4sbnVsbCk7Z2V0IHJvdXRlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJvdXRlKG0pe3RoaXMuI2U9bX0jdD0oQ0codGhpcyxsKSxDRyh0aGlzLGMsITEpKTtnZXQgc2hvd0FjdGlvbnMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2hvd0FjdGlvbnMobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZTo6cGFydChvdXRlcikgewogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlLCBib3gtc2hhZG93IDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZTpob3Zlcjo6cGFydChvdXRlcikgewogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3Ryb25nKTsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggJHtoLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4wNikiLCJyZ2JhKDAsMCwwLDAuMikiKX07CiAgICAgIH0KCiAgICAgIC8qIEhlYWRlciAqLwogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItbGVmdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdCB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90LmVuYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgNnB4ICR7aC5iZFRoZW1lKCJyZ2JhKDM0LDE5Nyw5NCwwLjQpIiwicmdiYSgzNCwxOTcsOTQsMC4zKSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QuZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLnJvdXRlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItYmFkZ2VzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmJhZGdlLmZvcndhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLnNvY2tldC1oYW5kbGVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VkZTlmZSIsInJnYmEoMTM5LCA5MiwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzdjM2FlZCIsIiNhNzhiZmEiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZS5lbmFibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsInJnYmEoMTEzLCAxMTMsIDEyMiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuY2FyZC1ib2R5IHsKICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHg7CiAgICAgIH0KCiAgICAgIC5kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgIH0KCiAgICAgIC5tZXRhLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnRhZ3MgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAudGFnIHsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNTI1MjViIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnByaW9yaXR5IHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzcxNzE3YSIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAvKiBTZWN0aW9ucyAqLwogICAgICAuc2VjdGlvbiB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAwIDZweCA2cHggMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMxMDEwMTAiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uOmxhc3Qtb2YtdHlwZSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24ubWF0Y2ggewogICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLmFjdGlvbiB7CiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7aC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24uc2VjdXJpdHkgewogICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2guYmRUaGVtZSgiI2Y1OWUwYiIsIiNmNTllMGIiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLmxpbmtlZCB7CiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7aC5iZFRoZW1lKCIjOGI1Y2Y2IiwiIzhiNWNmNiIpfTsKICAgICAgfQoKICAgICAgLmxpbmtlZC1uYW1lIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBwYWRkaW5nOiAxcHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWRlOWZlIiwicmdiYSgxMzksIDkyLCAyNDYsIDAuMTUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZkMjhkOSIsIiNhNzhiZmEiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzcxNzE3YSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5maWVsZC1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CgogICAgICAuZmllbGQtcm93Omxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC5maWVsZC1rZXkgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWluLXdpZHRoOiA2NHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5maWVsZC12YWx1ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2U0ZTRlNyIpfTsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgIH0KCiAgICAgIC5kb21haW4tY2hpcCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgcGFkZGluZzogMXB4IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VmZjZmZiIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgIH0KCiAgICAgIC5kb21haW4tY2hpcC5nbG9iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjNjNyIsInJnYmEoMjQ1LCAxNTgsIDExLCAwLjE1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5MjQwMGUiLCIjZmJiZjI0Iil9OwogICAgICB9CgogICAgICAubW9ubyB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIH0KCiAgICAgIC5wcm90b2NvbC1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgcGFkZGluZzogMXB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5wcm90b2NvbC1iYWRnZS5odHRwIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5wcm90b2NvbC1iYWRnZS50Y3AgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAudGxzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBwYWRkaW5nOiAxcHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnRscy1iYWRnZS5hdXRvIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnRscy1iYWRnZS5jdXN0b20gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZlZGQ1IiwicmdiYSgyNDksIDExNSwgMjIsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYzI0MTBjIiwiI2ZiOTIzYyIpfTsKICAgICAgfQoKICAgICAgLmVuZ2luZS1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgcGFkZGluZzogMXB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWU4ZmYiLCJyZ2JhKDE2OCwgODUsIDI0NywgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3ZTIyY2UiLCIjYzA4NGZjIil9OwogICAgICB9CgogICAgICAuaGVhZGVyLXBhaXIgewogICAgICAgIGRpc3BsYXk6IGlubGluZTsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgfQoKICAgICAgLyogRmVhdHVyZSBpY29ucyAqLwogICAgICAuZmVhdHVyZXMtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTRweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMWExYTFhIil9OwogICAgICB9CgogICAgICAuZmVhdHVyZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLm5vLXJvdXRlIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24udnBuIHsKICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtoLmJkVGhlbWUoIiMwODkxYjIiLCIjMDZiNmQ0Iil9OwogICAgICB9CgogICAgICAudnBuLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC52cG4tYmFkZ2UubWFuZGF0b3J5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZjdlZCIsInJnYmEoMjQ5LCAxMTUsIDIyLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2MyNDEwYyIsIiNmYjkyM2MiKX07CiAgICAgIH0KCiAgICAgIC52cG4tYmFkZ2Uub3B0aW9uYWwgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWNmZGY1IiwicmdiYSgxNiwgMTg1LCAxMjksIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDQ3ODU3IiwiIzM0ZDM5OSIpfTsKICAgICAgfQoKICAgICAgLnZwbi10YWcgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIHBhZGRpbmc6IDFweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWNmZWZmIiwicmdiYSg2LCAxODIsIDIxMiwgMC4xNSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMGU3NDkwIiwiIzIyZDNlZSIpfTsKICAgICAgfQoKICAgICAgLmNhcmQtZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24uZWRpdDpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLmRlbGV0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2lmKCF0aGlzLnJvdXRlKXJldHVybiB3YAogICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJvZHkiPjxkaXYgY2xhc3M9Im5vLXJvdXRlIj5ObyByb3V0ZSBkYXRhPC9kaXY+PC9kaXY+CiAgICAgICAgPC9kZWVzLXRpbGU+CiAgICAgIGA7bGV0IG09dGhpcy5yb3V0ZSx2PW0uZW5hYmxlZCE9PSExLHg9bS5tYXRjaCxiPW0uYWN0aW9uLGc9bS5zZWN1cml0eTtyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8IS0tIEhlYWRlciAtLT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItbGVmdCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtZG90ICR7dj8iZW5hYmxlZCI6ImRpc2FibGVkIn0iPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJvdXRlLW5hbWUiPiR7bS5uYW1lfHxtLmlkfHwiVW5uYW1lZCBSb3V0ZSJ9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItYmFkZ2VzIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7Yi50eXBlfSI+JHtiLnR5cGV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgJHt2PyJlbmFibGVkIjoiZGlzYWJsZWQifSI+JHt2PyJlbmFibGVkIjoiZGlzYWJsZWQifTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJvZHkiPgogICAgICAgICAgJHttLmRlc2NyaXB0aW9uP3dgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPiR7bS5kZXNjcmlwdGlvbn08L2Rpdj5gOiIifQoKICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldGEtcm93Ij4KICAgICAgICAgICAgJHttLnRhZ3MmJm0udGFncy5sZW5ndGg+MD93YDxkaXYgY2xhc3M9InRhZ3MiPiR7bS50YWdzLm1hcCh5PT53YDxzcGFuIGNsYXNzPSJ0YWciPiR7eX08L3NwYW4+YCl9PC9kaXY+YDp3YDxkaXY+PC9kaXY+YH0KICAgICAgICAgICAgJHttLnByaW9yaXR5IT1udWxsP3dgPHNwYW4gY2xhc3M9InByaW9yaXR5Ij5Qcmlvcml0eTogJHttLnByaW9yaXR5fTwvc3Bhbj5gOiIifQogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPCEtLSBNYXRjaCBTZWN0aW9uIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gbWF0Y2giPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+TWF0Y2g8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPlBvcnRzPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUgbW9ubyI+JHt1UmEoeC5wb3J0cyl9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAke3guZG9tYWlucz93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+RG9tYWluczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj4ke3RoaXMucmVuZGVyRG9tYWlucyh4LmRvbWFpbnMpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke3gucGF0aD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+UGF0aDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG1vbm8iPiR7eC5wYXRofTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke3gucHJvdG9jb2w/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPlByb3RvY29sPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm90b2NvbC1iYWRnZSAke3gucHJvdG9jb2x9Ij4ke3gucHJvdG9jb2x9PC9zcGFuPgogICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgJHt4LmNsaWVudElwJiZ4LmNsaWVudElwLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5DbGllbnQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSBtb25vIj4ke3guY2xpZW50SXAuam9pbigiLCAiKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgJHt4LnRsc1ZlcnNpb24mJngudGxzVmVyc2lvbi5sZW5ndGg+MD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+VExTIFZlcjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj4ke3gudGxzVmVyc2lvbi5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke3guaGVhZGVycz93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+SGVhZGVyczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAke09iamVjdC5lbnRyaWVzKHguaGVhZGVycykubWFwKChbeSxrXSk9PndgPHNwYW4gY2xhc3M9ImhlYWRlci1wYWlyIj4ke3l9PSR7a308L3NwYW4+IGApfQogICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIEFjdGlvbiBTZWN0aW9uIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gYWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPkFjdGlvbjwvZGl2PgogICAgICAgICAgJHtiLnRhcmdldHMmJmIudGFyZ2V0cy5sZW5ndGg+MD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+VGFyZ2V0czwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG1vbm8iPiR7cFJhKGIudGFyZ2V0cykuam9pbigiLCAiKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgJHtiLnRscz93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+VExTPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPgogICAgICAgICAgICAgICAgICAgICR7Yi50bHMubW9kZX0KICAgICAgICAgICAgICAgICAgICAke2IudGxzLmNlcnRpZmljYXRlP2IudGxzLmNlcnRpZmljYXRlPT09ImF1dG8iP3dgIDxzcGFuIGNsYXNzPSJ0bHMtYmFkZ2UgYXV0byI+YXV0byBjZXJ0PC9zcGFuPmA6d2AgPHNwYW4gY2xhc3M9InRscy1iYWRnZSBjdXN0b20iPmN1c3RvbSBjZXJ0PC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke2IuZm9yd2FyZGluZ0VuZ2luZT93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+RW5naW5lPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPjxzcGFuIGNsYXNzPSJlbmdpbmUtYmFkZ2UiPiR7Yi5mb3J3YXJkaW5nRW5naW5lfTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgJHtiLmxvYWRCYWxhbmNpbmc/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPkxCPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPiR7Yi5sb2FkQmFsYW5jaW5nLmFsZ29yaXRobX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgJHtiLndlYnNvY2tldD8uZW5hYmxlZD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+V1M8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+PHNwYW4gY2xhc3M9ImJhZGdlIGVuYWJsZWQiPmVuYWJsZWQ8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBTZWN1cml0eSBTZWN0aW9uIC0tPgogICAgICAgICR7Zz93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gc2VjdXJpdHkiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+U2VjdXJpdHk8L2Rpdj4KICAgICAgICAgICAgICAgICR7Zy5pcEFsbG93TGlzdCYmZy5pcEFsbG93TGlzdC5sZW5ndGg+MD93YAogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+QWxsb3c8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSBtb25vIj4ke2cuaXBBbGxvd0xpc3Quam9pbigiLCAiKX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgJHtnLmlwQmxvY2tMaXN0JiZnLmlwQmxvY2tMaXN0Lmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5CbG9jazwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG1vbm8iPiR7Zy5pcEJsb2NrTGlzdC5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAke2cucmF0ZUxpbWl0Py5lbmFibGVkP3dgCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5SYXRlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPiR7Zy5yYXRlTGltaXQubWF4UmVxdWVzdHN9IHJlcSAvICR7Zy5yYXRlTGltaXQud2luZG93fXM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgJHtnLm1heENvbm5lY3Rpb25zP3dgCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5NYXggQ29ubjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj4ke2cubWF4Q29ubmVjdGlvbnN9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KCiAgICAgICAgICA8IS0tIFZQTiBTZWN0aW9uIC0tPgogICAgICAgICAgJHt0aGlzLnJlbmRlclZwbigpfQoKICAgICAgICAgIDwhLS0gTGlua2VkIFJlZmVyZW5jZXMgU2VjdGlvbiAtLT4KICAgICAgICAgICR7dGhpcy5yZW5kZXJMaW5rZWQoKX0KCiAgICAgICAgICA8IS0tIEZlYXR1cmUgSWNvbnMgUm93IC0tPgogICAgICAgICAgJHt0aGlzLnJlbmRlckZlYXR1cmVzKCl9CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gQWN0aW9uIEJ1dHRvbnMgLS0+CiAgICAgICAgJHt0aGlzLnNob3dBY3Rpb25zP3dgCiAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImNhcmQtZm9vdGVyIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gZWRpdCIgQGNsaWNrPSR7eT0+e3kuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm91dGUtZWRpdCIse2RldGFpbDp0aGlzLnJvdXRlLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9fT5FZGl0PC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIGRlbGV0ZSIgQGNsaWNrPSR7eT0+e3kuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm91dGUtZGVsZXRlIix7ZGV0YWlsOnRoaXMucm91dGUsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX19PkRlbGV0ZTwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfXJlbmRlckRvbWFpbnMobSl7bGV0IHY9QXJyYXkuaXNBcnJheShtKT9tOlttXTtyZXR1cm4gd2Ake3YubWFwKHg9PndgPHNwYW4gY2xhc3M9ImRvbWFpbi1jaGlwICR7eC5pbmNsdWRlcygiKiIpPyJnbG9iIjoiIn0iPiR7eH08L3NwYW4+YCl9YH1yZW5kZXJWcG4oKXtyZXR1cm4gdGhpcy5yb3V0ZT8udnBuT25seT93YAogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIHZwbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+VlBOIEFjY2VzczwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5Nb2RlPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InZwbi1iYWRnZSBtYW5kYXRvcnkiPlZQTiBPbmx5PC9zcGFuPgogICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGA6d2BgfXJlbmRlckxpbmtlZCgpe2xldCBtPXRoaXMucm91dGU/Lm1ldGFkYXRhO2lmKCFtKXJldHVybiB3YGA7bGV0IHY9ISFtLnNvdXJjZVByb2ZpbGVOYW1lLHg9ISFtLm5ldHdvcmtUYXJnZXROYW1lO3JldHVybiF2JiYheD93YGA6d2AKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBsaW5rZWQiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPkxpbmtlZDwvZGl2PgogICAgICAgICR7dj93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5Qcm9maWxlPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj48c3BhbiBjbGFzcz0ibGlua2VkLW5hbWUiPiR7bS5zb3VyY2VQcm9maWxlTmFtZX08L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICR7eD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5UYXJnZXQ8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPjxzcGFuIGNsYXNzPSJsaW5rZWQtbmFtZSI+JHttLm5ldHdvcmtUYXJnZXROYW1lfTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGZWF0dXJlcygpe2lmKCF0aGlzLnJvdXRlKXJldHVybiB3YGA7bGV0IG09W10sdj10aGlzLnJvdXRlLmFjdGlvbix4PXRoaXMucm91dGUuc2VjdXJpdHksYj10aGlzLnJvdXRlLmhlYWRlcnMsZz10aGlzLnJvdXRlLm1ldGFkYXRhO3JldHVybiB2LnRscyYmbS5wdXNoKHdgPHNwYW4gY2xhc3M9ImZlYXR1cmUiPjxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPiYjeDFmNTEyOzwvc3Bhbj5UTFM8L3NwYW4+YCksdi53ZWJzb2NrZXQ/LmVuYWJsZWQmJm0ucHVzaCh3YDxzcGFuIGNsYXNzPSJmZWF0dXJlIj48c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj4mI3gyMTk0Ozwvc3Bhbj5XUzwvc3Bhbj5gKSx2LmxvYWRCYWxhbmNpbmcmJm0ucHVzaCh3YDxzcGFuIGNsYXNzPSJmZWF0dXJlIj48c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj4mI3gyNjk2Ozwvc3Bhbj5MQjwvc3Bhbj5gKSx4JiZtLnB1c2god2A8c3BhbiBjbGFzcz0iZmVhdHVyZSI+PHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+JiN4MWY2ZTE7PC9zcGFuPlNlY3VyaXR5PC9zcGFuPmApLGImJm0ucHVzaCh3YDxzcGFuIGNsYXNzPSJmZWF0dXJlIj48c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj4mI3gyNjk5Ozwvc3Bhbj5IZWFkZXJzPC9zcGFuPmApLHRoaXMucm91dGU/LnZwbk9ubHkmJm0ucHVzaCh3YDxzcGFuIGNsYXNzPSJmZWF0dXJlIj48c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj4mI3gxZjUxMDs8L3NwYW4+VlBOPC9zcGFuPmApLChnPy5zb3VyY2VQcm9maWxlTmFtZXx8Zz8ubmV0d29ya1RhcmdldE5hbWUpJiZtLnB1c2god2A8c3BhbiBjbGFzcz0iZmVhdHVyZSI+PHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+JiN4MWY1MTc7PC9zcGFuPkxpbmtlZDwvc3Bhbj5gKSxtLmxlbmd0aD09PTA/d2BgOndgPGRpdiBjbGFzcz0iZmVhdHVyZXMtcm93Ij4ke219PC9kaXY+YH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksQ0codGhpcyxwKX1zdGF0aWN7Q0cocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIG83LEoxLGhSYSxZdWE9ZigoKT0+e2xlKCk7bzc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEoxPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxoUmE9KCgpPT57bGV0IGE9W2llKCJzei1yb3V0ZS1saXN0LXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pSb3V0ZUxpc3RWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHthdHRyaWJ1dGU6ITF9KV0sdT1bSygpXSx4PVtLKCldLHk9W0soKV0sbzcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3V0ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InJvdXRlcyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnJvdXRlcywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnJvdXRlcz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksbzcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93QWN0aW9uc0ZpbHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ic2hvd0FjdGlvbnNGaWx0ZXIiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5zaG93QWN0aW9uc0ZpbHRlciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNob3dBY3Rpb25zRmlsdGVyPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYyxwKSxvNyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlYXJjaFF1ZXJ5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzZWFyY2hRdWVyeSJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNlYXJjaFF1ZXJ5LCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2VhcmNoUXVlcnk9T30sInNldCIpfSxtZXRhZGF0YTpffSxtLHYpLG83KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aW9uRmlsdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJhY3Rpb25GaWx0ZXIiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5hY3Rpb25GaWx0ZXIsImdldCIpLHNldDpzKCh6LE8pPT57ei5hY3Rpb25GaWx0ZXI9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLG83KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlZEZpbHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iZW5hYmxlZEZpbHRlciJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmVuYWJsZWRGaWx0ZXIsImdldCIpLHNldDpzKCh6LE8pPT57ei5lbmFibGVkRmlsdGVyPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sayxDKSxvNyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLHQpLE49cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otcm91dGUtbGlzdC12aWV3CiAgICAgICAgLnJvdXRlcz0ke1t7bmFtZToiSFRUUFMgR2F0ZXdheSIsZGVzY3JpcHRpb246Ik1haW4gd2ViIGdhdGV3YXkgd2l0aCBUTFMgdGVybWluYXRpb24iLGVuYWJsZWQ6ITAsdGFnczpbIndlYiIsImh0dHBzIiwicHJvZHVjdGlvbiJdLG1hdGNoOntwb3J0czo0NDMsZG9tYWluczpbIiouZXhhbXBsZS5jb20iLCJzZXJ2ZS56b25lIl0scHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjAuMSIscG9ydDo4MDgwfV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn19fSx7bmFtZToiU01UUCBJbmJvdW5kIixkZXNjcmlwdGlvbjoiRW1haWwgcmVsYXkgZm9yIGluY29taW5nIG1haWwiLGVuYWJsZWQ6ITAsdGFnczpbImVtYWlsIiwic210cCJdLG1hdGNoOntwb3J0czoyNSxkb21haW5zOiJtYWlsLnNlcnZlLnpvbmUifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjEuNSIscG9ydDoyNX1dfX0se25hbWU6IldlYlNvY2tldCBBUEkiLGRlc2NyaXB0aW9uOiJSZWFsLXRpbWUgV2ViU29ja2V0IGNvbm5lY3Rpb25zIixlbmFibGVkOiEwLHRhZ3M6WyJ3ZWIiLCJhcGkiXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6IndzLmV4YW1wbGUuY29tIixwYXRoOiIvd3MvKiJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMC4zIixwb3J0OjkwOTB9XSx3ZWJzb2NrZXQ6e2VuYWJsZWQ6ITB9LHRsczp7bW9kZToidGVybWluYXRlIixjZXJ0aWZpY2F0ZToiYXV0byJ9fX0se25hbWU6Ik1haW50ZW5hbmNlIFBhZ2UiLGVuYWJsZWQ6ITEsdGFnczpbIndlYiJdLG1hdGNoOntwb3J0czpbODAsNDQzXSxkb21haW5zOiJvbGQuZXhhbXBsZS5jb20ifSxhY3Rpb246e3R5cGU6InNvY2tldC1oYW5kbGVyIn19XX0KICAgICAgPjwvc3otcm91dGUtbGlzdC12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiUm91dGVzIl07I2U9SjEodGhpcyxuLFtdKTtnZXQgcm91dGVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJvdXRlcyhfKXt0aGlzLiNlPV99I3Q9KEoxKHRoaXMsbCksSjEodGhpcyxjLG51bGwpKTtnZXQgc2hvd0FjdGlvbnNGaWx0ZXIoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2hvd0FjdGlvbnNGaWx0ZXIoXyl7dGhpcy4jdD1ffSNhPShKMSh0aGlzLHApLEoxKHRoaXMsbSwiIikpO2dldCBzZWFyY2hRdWVyeSgpe3JldHVybiB0aGlzLiNhfXNldCBzZWFyY2hRdWVyeShfKXt0aGlzLiNhPV99I3I9KEoxKHRoaXMsdiksSjEodGhpcyxiLCJhbGwiKSk7Z2V0IGFjdGlvbkZpbHRlcigpe3JldHVybiB0aGlzLiNyfXNldCBhY3Rpb25GaWx0ZXIoXyl7dGhpcy4jcj1ffSNzPShKMSh0aGlzLGcpLEoxKHRoaXMsaywiYWxsIikpO2dldCBlbmFibGVkRmlsdGVyKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGVuYWJsZWRGaWx0ZXIoXyl7dGhpcy4jcz1ffWdldCBmaWx0ZXJlZFJvdXRlcygpe3JldHVybiB0aGlzLnJvdXRlcy5maWx0ZXIoXz0+e2lmKHRoaXMuYWN0aW9uRmlsdGVyIT09ImFsbCImJl8uYWN0aW9uLnR5cGUhPT10aGlzLmFjdGlvbkZpbHRlcnx8dGhpcy5lbmFibGVkRmlsdGVyPT09ImVuYWJsZWQiJiZfLmVuYWJsZWQ9PT0hMXx8dGhpcy5lbmFibGVkRmlsdGVyPT09ImRpc2FibGVkIiYmXy5lbmFibGVkIT09ITEpcmV0dXJuITE7aWYodGhpcy5zZWFyY2hRdWVyeSl7bGV0IHo9dGhpcy5zZWFyY2hRdWVyeS50b0xvd2VyQ2FzZSgpO3JldHVybiB0aGlzLnJvdXRlTWF0Y2hlc1NlYXJjaChfLHopfXJldHVybiEwfSl9cm91dGVNYXRjaGVzU2VhcmNoKF8seil7aWYoXy5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHopfHxfLmRlc2NyaXB0aW9uPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHopfHxfLm1hdGNoLmRvbWFpbnMmJihBcnJheS5pc0FycmF5KF8ubWF0Y2guZG9tYWlucyk/Xy5tYXRjaC5kb21haW5zOltfLm1hdGNoLmRvbWFpbnNdKS5zb21lKFA9PlAudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh6KSl8fHRoaXMuZm9ybWF0UG9ydHNGb3JTZWFyY2goXy5tYXRjaC5wb3J0cykuaW5jbHVkZXMoeil8fF8ubWF0Y2gucGF0aD8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh6KXx8Xy5tYXRjaC5jbGllbnRJcD8uc29tZShUPT5ULmluY2x1ZGVzKHopKSlyZXR1cm4hMDtpZihfLmFjdGlvbi50YXJnZXRzKXtmb3IobGV0IFQgb2YgXy5hY3Rpb24udGFyZ2V0cylpZigoQXJyYXkuaXNBcnJheShULmhvc3QpP1QuaG9zdDpbVC5ob3N0XSkuc29tZShCPT5CLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoeikpKXJldHVybiEwfXJldHVybiEhXy50YWdzPy5zb21lKFQ9PlQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh6KSl9Zm9ybWF0UG9ydHNGb3JTZWFyY2goXyl7cmV0dXJuIHR5cGVvZiBfPT0ibnVtYmVyIj9TdHJpbmcoXyk6QXJyYXkuaXNBcnJheShfKT9fLm1hcCh6PT50eXBlb2Ygej09Im51bWJlciI/U3RyaW5nKHopOmAke3ouZnJvbX0tJHt6LnRvfWApLmpvaW4oIiAiKTpTdHJpbmcoXyl9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmZpbHRlci1iYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaW5wdXQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiMzYjgyZjYiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuY2hpcCB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuY2hpcDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5yZXN1bHRzLWNvdW50IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCg0MjBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAuZ3JpZCBzei1yb3V0ZS1jYXJkIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IF89dGhpcy5maWx0ZXJlZFJvdXRlcztyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZmlsdGVyLWJhciI+CiAgICAgICAgPGlucHV0CiAgICAgICAgICBjbGFzcz0ic2VhcmNoLWlucHV0IgogICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZWFyY2ggcm91dGVzIGJ5IGRvbWFpbiwgSVAsIHBvcnQsIHBhdGgsIG9yIHRhZy4uLiIKICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VhcmNoUXVlcnl9CiAgICAgICAgICBAaW5wdXQ9JHt6PT57dGhpcy5zZWFyY2hRdWVyeT16LnRhcmdldC52YWx1ZX19CiAgICAgICAgLz4KICAgICAgICA8ZGl2IGNsYXNzPSJjaGlwLWdyb3VwIj4KICAgICAgICAgICR7WyJhbGwiLCJmb3J3YXJkIiwic29ja2V0LWhhbmRsZXIiXS5tYXAoej0+d2AKICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0iY2hpcCAke3RoaXMuYWN0aW9uRmlsdGVyPT09ej8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e3RoaXMuYWN0aW9uRmlsdGVyPXp9fQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7ej09PSJhbGwiPyJBbGwiOno9PT0iZm9yd2FyZCI/IkZvcndhcmQiOiJTb2NrZXQgSGFuZGxlciJ9CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNoaXAtZ3JvdXAiPgogICAgICAgICAgJHtbImFsbCIsImVuYWJsZWQiLCJkaXNhYmxlZCJdLm1hcCh6PT53YAogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJjaGlwICR7dGhpcy5lbmFibGVkRmlsdGVyPT09ej8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e3RoaXMuZW5hYmxlZEZpbHRlcj16fX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke3ouY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrei5zbGljZSgxKX0KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0icmVzdWx0cy1jb3VudCI+CiAgICAgICAgU2hvd2luZyAke18ubGVuZ3RofSBvZiAke3RoaXMucm91dGVzLmxlbmd0aH0gcm91dGVzCiAgICAgIDwvZGl2PgoKICAgICAgJHtfLmxlbmd0aD4wP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQiPgogICAgICAgICAgICAgICR7Xy5tYXAoej0+d2AKICAgICAgICAgICAgICAgICAgPHN6LXJvdXRlLWNhcmQKICAgICAgICAgICAgICAgICAgICAucm91dGU9JHt6fQogICAgICAgICAgICAgICAgICAgIC5zaG93QWN0aW9ucz0ke3RoaXMuc2hvd0FjdGlvbnNGaWx0ZXI/Lih6KT8/ITF9CiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlUm91dGVDbGljayh6KX0KICAgICAgICAgICAgICAgICAgPjwvc3otcm91dGUtY2FyZD4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlLWljb24iPiYjeDFmNTBkOzwvZGl2PgogICAgICAgICAgICAgIDxkaXY+Tm8gcm91dGVzIG1hdGNoIHlvdXIgZmlsdGVyczwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CiAgICBgfWhhbmRsZVJvdXRlQ2xpY2soXyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm91dGUtY2xpY2siLHtkZXRhaWw6XyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxKMSh0aGlzLEMpfXN0YXRpY3tKMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgWW4sTHIsbVJhLEt1YT1mKCgpPT57bGUoKTtZbj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sTHI9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LG1SYT0oKCk9PntsZXQgYT1baWUoInN6LWNvbmZpZy1zZWN0aW9uIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLFA9W10sQixNPVtdLFM9W10sRSxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdO3ZhciBtZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pDb25maWdTZWN0aW9uIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEk9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0seD1bJCh7dHlwZTpTdHJpbmd9KV0seT1bJCh7dHlwZTpBcnJheX0pXSxOPVskKHt0eXBlOkFycmF5fSldLE89WyQoe3R5cGU6QXJyYXl9KV0sQj1bJCh7dHlwZTpCb29sZWFufSldLEU9WyQoe3R5cGU6Qm9vbGVhbn0pXSxXPVtLKCldLGhlPVtLKCldLFluKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InRpdGxlImluIHEsImhhcyIpLGdldDpzKHE9PnEudGl0bGUsImdldCIpLHNldDpzKChxLGNlKT0+e3EudGl0bGU9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sbixsKSxZbih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN1YnRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJzdWJ0aXRsZSJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnN1YnRpdGxlLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnN1YnRpdGxlPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGMscCksWW4odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJpY29uImluIHEsImhhcyIpLGdldDpzKHE9PnEuaWNvbiwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5pY29uPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LG0sdiksWW4odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InN0YXR1cyJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnN0YXR1cywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5zdGF0dXM9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sYixnKSxZbih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpZWxkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4iZmllbGRzImluIHEsImhhcyIpLGdldDpzKHE9PnEuZmllbGRzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmZpZWxkcz1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxrLEMpLFluKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4iYWN0aW9ucyJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmFjdGlvbnMsImdldCIpLHNldDpzKChxLGNlKT0+e3EuYWN0aW9ucz1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxfLHopLFluKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGlua3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImxpbmtzImluIHEsImhhcyIpLGdldDpzKHE9PnEubGlua3MsImdldCIpLHNldDpzKChxLGNlKT0+e3EubGlua3M9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sVCxQKSxZbih0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbGxhcHNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJjb2xsYXBzaWJsZSJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmNvbGxhcHNpYmxlLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmNvbGxhcHNpYmxlPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LE0sUyksWW4odGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2xsYXBzZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImNvbGxhcHNlZCJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmNvbGxhcHNlZCwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5jb2xsYXBzZWQ9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sQSxGKSxZbih0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzQ29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJpc0NvbGxhcHNlZCJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmlzQ29sbGFwc2VkLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmlzQ29sbGFwc2VkPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGosRyksWW4odGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGFzU2xvdHRlZENvbnRlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+Imhhc1Nsb3R0ZWRDb250ZW50ImluIHEsImhhcyIpLGdldDpzKHE9PnEuaGFzU2xvdHRlZENvbnRlbnQsImdldCIpLHNldDpzKChxLGNlKT0+e3EuaGFzU2xvdHRlZENvbnRlbnQ9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sUixVKSxZbihudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpJfSxudWxsLHQpLG1lPXI9ZS52YWx1ZSxJJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkl9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgIHRpdGxlPSJTbWFydFByb3h5IgogICAgICBzdWJ0aXRsZT0iSFRUUC9IVFRQUyBhbmQgVENQL1NOSSByZXZlcnNlIHByb3h5IgogICAgICBpY29uPSJsdWNpZGU6bmV0d29yayIKICAgICAgc3RhdHVzPSJlbmFibGVkIgogICAgICAuZmllbGRzPSR7W3trZXk6IlJvdXRlIENvdW50Iix2YWx1ZToxMn0se2tleToiQUNNRSBFbmFibGVkIix2YWx1ZTohMCx0eXBlOiJib29sZWFuIn0se2tleToiQWNjb3VudCBFbWFpbCIsdmFsdWU6ImFkbWluQGV4YW1wbGUuY29tIn0se2tleToiVXNlIFByb2R1Y3Rpb24iLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifSx7a2V5OiJBdXRvIFJlbmV3Iix2YWx1ZTohMCx0eXBlOiJib29sZWFuIn0se2tleToiUmVuZXcgVGhyZXNob2xkIix2YWx1ZToiMzAgZGF5cyJ9XX0KICAgICAgLmxpbmtzPSR7W3tsYWJlbDoiRG9jcyIsaHJlZjoiaHR0cHM6Ly9jb2RlLmZvc3MuZ2xvYmFsL3NlcnZlLnpvbmUvc21hcnRwcm94eSIsaWNvbjoibHVjaWRlOmJvb2tPcGVuIixleHRlcm5hbDohMH1dfQogICAgICAuYWN0aW9ucz0ke1t7bGFiZWw6IkNvbmZpZ3VyZSIsaWNvbjoibHVjaWRlOnNldHRpbmdzIixldmVudDoiY29uZmlndXJlIn1dfQogICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CiAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgdGl0bGU9IkVtYWlsIFNlcnZlciIKICAgICAgc3VidGl0bGU9IlNNVFAgZW1haWwgaGFuZGxpbmcgd2l0aCBzbWFydG10YSIKICAgICAgaWNvbj0ibHVjaWRlOm1haWwiCiAgICAgIHN0YXR1cz0iZGlzYWJsZWQiCiAgICAgIC5maWVsZHM9JHtbe2tleToiUG9ydHMiLHZhbHVlOlsiMjUiLCI0NjUiLCI1ODciXSx0eXBlOiJwaWxscyJ9LHtrZXk6Ikhvc3RuYW1lIix2YWx1ZTpudWxsfSx7a2V5OiJEb21haW5zIix2YWx1ZTpbImV4YW1wbGUuY29tIiwibWFpbC5leGFtcGxlLmNvbSJdLHR5cGU6InBpbGxzIn1dfQogICAgICAubGlua3M9JHtbe2xhYmVsOiJEb2NzIixocmVmOiJodHRwczovL2NvZGUuZm9zcy5nbG9iYWwvc2VydmUuem9uZS9zbWFydG10YSIsaWNvbjoibHVjaWRlOmJvb2tPcGVuIixleHRlcm5hbDohMH0se2xhYmVsOiJTb3VyY2UiLGhyZWY6Imh0dHBzOi8vY29kZS5mb3NzLmdsb2JhbC9zZXJ2ZS56b25lL3NtYXJ0bXRhIixpY29uOiJsdWNpZGU6Z2l0aHViIixleHRlcm5hbDohMH1dfQogICAgICAuYWN0aW9ucz0ke1t7bGFiZWw6IkVuYWJsZSIsaWNvbjoibHVjaWRlOnBvd2VyIixldmVudDoiZW5hYmxlIn1dfQogICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CiAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgdGl0bGU9IkROUyBTZXJ2ZXIiCiAgICAgIHN1YnRpdGxlPSJBdXRob3JpdGF0aXZlIEROUyB3aXRoIHNtYXJ0ZG5zIgogICAgICBpY29uPSJsdWNpZGU6Z2xvYmUiCiAgICAgIHN0YXR1cz0ibm90LWNvbmZpZ3VyZWQiCiAgICAgIGNvbGxhcHNpYmxlCiAgICAgIC5maWVsZHM9JHtbe2tleToiUG9ydCIsdmFsdWU6NTN9LHtrZXk6Ik5TIERvbWFpbnMiLHZhbHVlOlsibnMxLmV4YW1wbGUuY29tIiwibnMyLmV4YW1wbGUuY29tIl0sdHlwZToicGlsbHMifV19CiAgICAgIC5saW5rcz0ke1t7bGFiZWw6IkdldHRpbmcgU3RhcnRlZCIsaHJlZjoiaHR0cHM6Ly9kb2NzLmV4YW1wbGUuY29tL2RucyIsaWNvbjoibHVjaWRlOmJvb2tPcGVuIixleHRlcm5hbDohMH1dfQogICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiQ29uZmlndXJhdGlvbiJdOyNlPUxyKHRoaXMsbiwiIik7Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRpdGxlKEkpe3RoaXMuI2U9SX0jdD0oTHIodGhpcyxsKSxMcih0aGlzLGMsIiIpKTtnZXQgc3VidGl0bGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc3VidGl0bGUoSSl7dGhpcy4jdD1JfSNhPShMcih0aGlzLHApLExyKHRoaXMsbSwiIikpO2dldCBpY29uKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGljb24oSSl7dGhpcy4jYT1JfSNyPShMcih0aGlzLHYpLExyKHRoaXMsYiwiZW5hYmxlZCIpKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHN0YXR1cyhJKXt0aGlzLiNyPUl9I3M9KExyKHRoaXMsZyksTHIodGhpcyxrLFtdKSk7Z2V0IGZpZWxkcygpe3JldHVybiB0aGlzLiNzfXNldCBmaWVsZHMoSSl7dGhpcy4jcz1JfSNpPShMcih0aGlzLEMpLExyKHRoaXMsXyxbXSkpO2dldCBhY3Rpb25zKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGFjdGlvbnMoSSl7dGhpcy4jaT1JfSNvPShMcih0aGlzLHopLExyKHRoaXMsVCxbXSkpO2dldCBsaW5rcygpe3JldHVybiB0aGlzLiNvfXNldCBsaW5rcyhJKXt0aGlzLiNvPUl9I249KExyKHRoaXMsUCksTHIodGhpcyxNLCExKSk7Z2V0IGNvbGxhcHNpYmxlKCl7cmV0dXJuIHRoaXMuI259c2V0IGNvbGxhcHNpYmxlKEkpe3RoaXMuI249SX0jbD0oTHIodGhpcyxTKSxMcih0aGlzLEEsITEpKTtnZXQgY29sbGFwc2VkKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGNvbGxhcHNlZChJKXt0aGlzLiNsPUl9I2M9KExyKHRoaXMsRiksTHIodGhpcyxqLCExKSk7Z2V0IGlzQ29sbGFwc2VkKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGlzQ29sbGFwc2VkKEkpe3RoaXMuI2M9SX0jZD0oTHIodGhpcyxHKSxMcih0aGlzLFIsITEpKTtnZXQgaGFzU2xvdHRlZENvbnRlbnQoKXtyZXR1cm4gdGhpcy4jZH1zZXQgaGFzU2xvdHRlZENvbnRlbnQoSSl7dGhpcy4jZD1JfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIGRlZXMtdGlsZTo6cGFydChjb250ZW50KSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIGRlZXMtdGlsZTo6cGFydChmb290ZXIpIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2libGVdKSAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNpYmxlXSkgLnNlY3Rpb24taGVhZGVyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgfQoKICAgICAgLmhlYWRlci1sZWZ0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAuaGVhZGVyLWljb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMjhweDsKICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuaGVhZGVyLWljb24gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItdGV4dCB7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuaGVhZGVyLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgfQoKICAgICAgLmhlYWRlci1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICAgICAgbWFyZ2luLXRvcDogMXB4OwogICAgICB9CgogICAgICAuaGVhZGVyLXJpZ2h0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAvKiBTdGF0dXMgYmFkZ2UgKi8KICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiAzcHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5lbmFibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsMTk3LDk0LDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5kaXNhYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSw2OCw2OCwwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uubm90LWNvbmZpZ3VyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwicmdiYSgxMTMsMTEzLDEyMiwwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWYzYzciLCJyZ2JhKDI0NSwxNTgsMTEsMC4xNSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOTI0MDBlIiwiI2ZiYmYyNCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QgewogICAgICAgIHdpZHRoOiA3cHg7CiAgICAgICAgaGVpZ2h0OiA3cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmVuYWJsZWQgLnN0YXR1cy1kb3QgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5kaXNhYmxlZCAuc3RhdHVzLWRvdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLm5vdC1jb25maWd1cmVkIC5zdGF0dXMtZG90IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uud2FybmluZyAuc3RhdHVzLWRvdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNTllMGIiLCIjZmJiZjI0Iil9OwogICAgICB9CgogICAgICAvKiBGb290ZXIgYWN0aW9uIGJ1dHRvbnMg4oCUIGNhbm9uaWNhbCBkZWVzLW1vZGFsIC8gZGVlcy10aWxlIHBhdHRlcm4gKi8KICAgICAgLnNlY3Rpb24tZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbjpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLnByaW1hcnkgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA4KSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSAvIDAuMDgpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDUwJSkiLCJoc2woMjEzLjEgOTMuOSUgNzUlKSIpfTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICB9CgogICAgICAvKiBDaGV2cm9uICovCiAgICAgIC5jaGV2cm9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5jaGV2cm9uLmNvbGxhcHNlZCB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgICAgfQoKICAgICAgLmNoZXZyb24gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC8qIENvbnRlbnQgKi8KICAgICAgLnNlY3Rpb24tY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLmZpZWxkcy1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIH0KCiAgICAgIC8qIEZpZWxkIHJvd3MgKi8KICAgICAgLmZpZWxkLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxYTFhMWUiKX07CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAuZmllbGRzLWxpc3QgLmZpZWxkLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAuZmllbGQta2V5IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG1pbi13aWR0aDogMTQwcHg7CiAgICAgICAgcGFkZGluZy10b3A6IDFweDsKICAgICAgfQoKICAgICAgLmZpZWxkLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgTW9uYWNvLCAnQ2FzY2FkaWEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgfQoKICAgICAgLmZpZWxkLXZhbHVlLm51bGwtdmFsdWUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICB9CgogICAgICAvKiBCb29sZWFuIGRpc3BsYXkgKi8KICAgICAgLmJvb2wtdmFsdWUgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA1cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5ib29sLXZhbHVlLnRydWUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5ib29sLXZhbHVlLmZhbHNlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuYm9vbC1kb3QgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICB9CgogICAgICAuYm9vbC12YWx1ZS50cnVlIC5ib29sLWRvdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuYm9vbC12YWx1ZS5mYWxzZSAuYm9vbC1kb3QgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLyogUGlsbHMgKi8KICAgICAgLnBpbGxzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDVweDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAucGlsbCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOXB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCBNb25hY28sICdDYXNjYWRpYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWZmNmZmIiwicmdiYSg1OSwxMzAsMjQ2LDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLyogQ29kZSB2YWx1ZSAqLwogICAgICAuY29kZS12YWx1ZSB7CiAgICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgTW9uYWNvLCAnQ2FzY2FkaWEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC8qIExpbmsgdmFsdWUgKi8KICAgICAgLmxpbmstdmFsdWUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIC5saW5rLXZhbHVlOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLyogRGVzY3JpcHRpb24gaGludCAqLwogICAgICAuZmllbGQtZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICAgIG1hcmdpbi10b3A6IDNweDsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgfQoKICAgICAgLyogU2xvdCBmb3IgY3VzdG9tIGNvbnRlbnQgKi8KICAgICAgLnNsb3QtY29udGVudCB7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzFhMWExZSIpfTsKICAgICAgfQoKICAgICAgLnNsb3QtY29udGVudC5lbXB0eSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogQmFkZ2UgdHlwZSAqLwogICAgICAuYmFkZ2UtdmFsdWUgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDlweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzUyNTI1YiIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmlzQ29sbGFwc2VkPXRoaXMuY29sbGFwc2VkLHRoaXMuY29sbGFwc2libGUmJnRoaXMuc2V0QXR0cmlidXRlKCJjb2xsYXBzaWJsZSIsIiIpfXVwZGF0ZWQoSSl7c3VwZXIudXBkYXRlZChJKSxJLmhhcygiaXNDb2xsYXBzZWQiKSYmdGhpcy50b2dnbGVBdHRyaWJ1dGUoImNvbGxhcHNlZCIsdGhpcy5pc0NvbGxhcHNlZCl9b25TbG90Q2hhbmdlKEkpe2xldCBxPUkudGFyZ2V0O3RoaXMuaGFzU2xvdHRlZENvbnRlbnQ9cS5hc3NpZ25lZE5vZGVzKHtmbGF0dGVuOiEwfSkubGVuZ3RoPjB9cmVuZGVyKCl7bGV0IEk9e2VuYWJsZWQ6IkVuYWJsZWQiLGRpc2FibGVkOiJEaXNhYmxlZCIsIm5vdC1jb25maWd1cmVkIjoiTm90IENvbmZpZ3VyZWQiLHdhcm5pbmc6Ildhcm5pbmcifTtyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2CiAgICAgICAgICBzbG90PSJoZWFkZXIiCiAgICAgICAgICBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiCiAgICAgICAgICBAY2xpY2s9JHsoKT0+e3RoaXMuY29sbGFwc2libGUmJih0aGlzLmlzQ29sbGFwc2VkPSF0aGlzLmlzQ29sbGFwc2VkKX19CiAgICAgICAgPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWxlZnQiPgogICAgICAgICAgICAke3RoaXMuaWNvbj93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pY29uIj4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHt0aGlzLmljb259PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItdGV4dCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRpdGxlIj4ke3RoaXMudGl0bGV9PC9kaXY+CiAgICAgICAgICAgICAgJHt0aGlzLnN1YnRpdGxlP3dgPGRpdiBjbGFzcz0iaGVhZGVyLXN1YnRpdGxlIj4ke3RoaXMuc3VidGl0bGV9PC9kaXY+YDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1yaWdodCI+CiAgICAgICAgICAgICR7dGhpcy5zdGF0dXM/d2AKICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7dGhpcy5zdGF0dXN9Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtZG90Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAke0lbdGhpcy5zdGF0dXNdfHx0aGlzLnN0YXR1c30KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICR7dGhpcy5jb2xsYXBzaWJsZT93YAogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjaGV2cm9uICR7dGhpcy5pc0NvbGxhcHNlZD8iY29sbGFwc2VkIjoiIn0iPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Y2hldnJvbkRvd24ifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgJHt0aGlzLmZpZWxkcy5sZW5ndGg+MD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZHMtbGlzdCI+CiAgICAgICAgICAgICAgJHt0aGlzLmZpZWxkcy5tYXAocT0+dGhpcy5yZW5kZXJGaWVsZChxKSl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICAgIDxkaXYgY2xhc3M9InNsb3QtY29udGVudCAke3RoaXMuaGFzU2xvdHRlZENvbnRlbnQ/IiI6ImVtcHR5In0iPgogICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMub25TbG90Q2hhbmdlfT48L3Nsb3Q+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMubGlua3MubGVuZ3RoPjB8fHRoaXMuYWN0aW9ucy5sZW5ndGg+MD93YAogICAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJzZWN0aW9uLWZvb3RlciI+CiAgICAgICAgICAgICR7dGhpcy5saW5rcy5tYXAocT0+d2AKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgY2xhc3M9InRpbGUtYnV0dG9uIgogICAgICAgICAgICAgICAgaHJlZj0ke3EuaHJlZn0KICAgICAgICAgICAgICAgIHRhcmdldD0ke3EuZXh0ZXJuYWw/Il9ibGFuayI6Il9zZWxmIn0KICAgICAgICAgICAgICAgIHJlbD0ke3EuZXh0ZXJuYWw/Im5vb3BlbmVyIG5vcmVmZXJyZXIiOiIifQogICAgICAgICAgICAgICAgQGNsaWNrPSR7Y2U9PmNlLnN0b3BQcm9wYWdhdGlvbigpfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7cS5pY29uP3dgPGRlZXMtaWNvbiAuaWNvbj0ke3EuaWNvbn0+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgICAgICR7cS5sYWJlbH0KICAgICAgICAgICAgICAgICR7cS5leHRlcm5hbD93YDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmV4dGVybmFsTGluayJ9PjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICBgKX0KICAgICAgICAgICAgJHt0aGlzLmFjdGlvbnMubWFwKHE9PndgCiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gcHJpbWFyeSIgQGNsaWNrPSR7Y2U9PntjZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KHEuZXZlbnR8fCJhY3Rpb24iLHtkZXRhaWw6cS5kZXRhaWx8fHtsYWJlbDpxLmxhYmVsfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfX0+CiAgICAgICAgICAgICAgICAke3EuaWNvbj93YDxkZWVzLWljb24gLmljb249JHtxLmljb259PjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgICAke3EubGFiZWx9CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfXJlbmRlckZpZWxkKEkpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWtleSI+JHtJLmtleX08L2Rpdj4KICAgICAgICA8ZGl2PgogICAgICAgICAgJHt0aGlzLnJlbmRlckZpZWxkVmFsdWUoSSl9CiAgICAgICAgICAke0kuZGVzY3JpcHRpb24/d2A8ZGl2IGNsYXNzPSJmaWVsZC1kZXNjcmlwdGlvbiI+JHtJLmRlc2NyaXB0aW9ufTwvZGl2PmA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWVsZFZhbHVlKEkpe2xldCBxPUkudmFsdWUsY2U9SS50eXBlfHx0aGlzLmluZmVyVHlwZShxKTtpZihxPT1udWxsKXJldHVybiB3YDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSBudWxsLXZhbHVlIj5Ob3QgY29uZmlndXJlZDwvc3Bhbj5gO3N3aXRjaChjZSl7Y2FzZSJib29sZWFuIjpyZXR1cm4gd2AKICAgICAgICAgIDxzcGFuIGNsYXNzPSJib29sLXZhbHVlICR7cT8idHJ1ZSI6ImZhbHNlIn0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYm9vbC1kb3QiPjwvc3Bhbj4KICAgICAgICAgICAgJHtxPyJFbmFibGVkIjoiRGlzYWJsZWQifQogICAgICAgICAgPC9zcGFuPgogICAgICAgIGA7Y2FzZSJwaWxscyI6cmV0dXJuIEFycmF5LmlzQXJyYXkocSkmJnEubGVuZ3RoPT09MD93YDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSBudWxsLXZhbHVlIj5Ob25lPC9zcGFuPmA6d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxzIj4KICAgICAgICAgICAgJHtxLm1hcCh1ZT0+d2A8c3BhbiBjbGFzcz0icGlsbCI+JHt1ZX08L3NwYW4+YCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgO2Nhc2UiY29kZSI6cmV0dXJuIHdgPHNwYW4gY2xhc3M9ImNvZGUtdmFsdWUiPiR7U3RyaW5nKHEpfTwvc3Bhbj5gO2Nhc2UiYmFkZ2UiOnJldHVybiB3YDxzcGFuIGNsYXNzPSJiYWRnZS12YWx1ZSI+JHtTdHJpbmcocSl9PC9zcGFuPmA7Y2FzZSJsaW5rIjpyZXR1cm4gd2AKICAgICAgICAgIDxzcGFuCiAgICAgICAgICAgIGNsYXNzPSJsaW5rLXZhbHVlIgogICAgICAgICAgICBAY2xpY2s9JHsoKT0+e0kubGlua1RvJiZ0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJuYXZpZ2F0ZSIse2RldGFpbDp7dGFyZ2V0OkkubGlua1RvfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfX0KICAgICAgICAgID4ke1N0cmluZyhxKX08L3NwYW4+CiAgICAgICAgYDtkZWZhdWx0OnJldHVybiB3YDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+JHtTdHJpbmcocSl9PC9zcGFuPmB9fWluZmVyVHlwZShJKXtyZXR1cm4gdHlwZW9mIEk9PSJib29sZWFuIj8iYm9vbGVhbiI6QXJyYXkuaXNBcnJheShJKT8icGlsbHMiOiJ0ZXh0In1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksTHIodGhpcyxVKX1zdGF0aWN7THIocix0KX19O3JldHVybiBtZT1yfSkoKX0pO3ZhciB0ZXQsX0csZ1JhLFp1YT1mKCgpPT57bGUoKTt0ZXQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LF9HPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxnUmE9KCgpPT57bGV0IGE9W2llKCJzei1jb25maWctb3ZlcnZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pDb25maWdPdmVydmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHRldCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImhlYWRpbmciaW4gdiwiaGFzIiksZ2V0OnModj0+di5oZWFkaW5nLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuaGVhZGluZz14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksdGV0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5mb1RleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImluZm9UZXh0ImluIHYsImhhcyIpLGdldDpzKHY9PnYuaW5mb1RleHQsImdldCIpLHNldDpzKCh2LHgpPT57di5pbmZvVGV4dD14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksdGV0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2A8c3otY29uZmlnLW92ZXJ2aWV3CiAgICBoZWFkaW5nPSJDb25maWd1cmF0aW9uIgogICAgaW5mb1RleHQ9IlRoaXMgaXMgYSByZWFkLW9ubHkgdmlldyBvZiB0aGUgY3VycmVudCBydW5uaW5nIGNvbmZpZ3VyYXRpb24uIgogID4KICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDIwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICM3MTcxN2E7IGZvbnQtc2l6ZTogMTRweDsiPgogICAgICBQbGFjZSAmbHQ7c3otY29uZmlnLXNlY3Rpb24mZ3Q7IGVsZW1lbnRzIGhlcmUKICAgIDwvZGl2PgogIDwvc3otY29uZmlnLW92ZXJ2aWV3PmAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNvbmZpZ3VyYXRpb24iXTsjZT1fRyh0aGlzLG4sIiIpO2dldCBoZWFkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcobSl7dGhpcy4jZT1tfSN0PShfRyh0aGlzLGwpLF9HKHRoaXMsYywiIikpO2dldCBpbmZvVGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCBpbmZvVGV4dChtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRpbmcgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmluZm8tYmFubmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxNHB4IDE4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlZmY2ZmYiLCJyZ2JhKDU5LDEzMCwyNDYsMC4wOCkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNiZmRiZmUiLCJyZ2JhKDU5LDEzMCwyNDYsMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxZTQwYWYiLCIjOTNjNWZkIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CgogICAgICAuaW5mby1iYW5uZXIgZGVlcy1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMXB4OwogICAgICB9CgogICAgICA6OnNsb3R0ZWQoc3otY29uZmlnLXNlY3Rpb24pIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CgogICAgICA6OnNsb3R0ZWQoc3otY29uZmlnLXNlY3Rpb246bGFzdC1jaGlsZCkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICAke3RoaXMuaGVhZGluZz93YDxkaXYgY2xhc3M9ImhlYWRpbmciPiR7dGhpcy5oZWFkaW5nfTwvZGl2PmA6IiJ9CiAgICAgICR7dGhpcy5pbmZvVGV4dD93YAogICAgICAgIDxkaXYgY2xhc3M9ImluZm8tYmFubmVyIj4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmluZm8ifT48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPiR7dGhpcy5pbmZvVGV4dH08L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLF9HKHRoaXMscCl9c3RhdGlje19HKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBiUmEsdlJhLHhSYSxYdWE9ZigoKT0+e2xlKCk7Zm4oKTtiUmE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHZSYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0seFJhPSgoKT0+e2xldCBhPVtpZSgic3otZGVtby12aWV3LWRhc2hib2FyZCIpXSxlLHQ9W10scixpPXBlO3ZhciBvPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekRlbW9WaWV3RGFzaGJvYXJkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG49dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7YlJhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm59LG51bGwsdCksbz1yPWUudmFsdWUsbiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSl9YXBwdWk9bnVsbDthc3luYyBvbkFjdGl2YXRlKG4pe3RoaXMuYXBwdWk9bi5hcHB1aSx0aGlzLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IkRhc2hib2FyZCIsZ3JvdXBzOlt7bmFtZToiUXVpY2sgQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiRGVwbG95IFNlcnZpY2UiLGljb25OYW1lOiJsdWNpZGU6Um9ja2V0IixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJEZXBsb3kgc2VydmljZSIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiQWRkIERvbWFpbiIsaWNvbk5hbWU6Imx1Y2lkZTpHbG9iZSIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiQWRkIGRvbWFpbiIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiQ3JlYXRlIFRva2VuIixpY29uTmFtZToibHVjaWRlOktleSIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiQ3JlYXRlIHRva2VuIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiU3lzdGVtIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJSZWZyZXNoIFN0YXRzIixpY29uTmFtZToibHVjaWRlOlJlZnJlc2hDdyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiUmVmcmVzaCIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiVmlldyBMb2dzIixpY29uTmFtZToibHVjaWRlOlRlcm1pbmFsIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJWaWV3IGxvZ3MiKX0sImFjdGlvbiIpfV19XX0pfW9uRGVhY3RpdmF0ZSgpe31zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnBhZ2UtaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDAgMCA4cHggMDsKICAgICAgfQoKICAgICAgLnBhZ2Utc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InBhZ2UtaGVhZGVyIj4KICAgICAgICA8aDEgY2xhc3M9InBhZ2UtdGl0bGUiPkRhc2hib2FyZDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InBhZ2Utc3VidGl0bGUiPk92ZXJ2aWV3IG9mIHlvdXIgb25lYm94IGluZnJhc3RydWN0dXJlPC9wPgogICAgICA8L2Rpdj4KCiAgICAgIDxzei1kYXNoYm9hcmQtdmlldwogICAgICAgIC5jbHVzdGVyU3RhdHM9JHt7dG90YWxTZXJ2aWNlczoxMixydW5uaW5nOjksc3RvcHBlZDozLGRvY2tlclN0YXR1czoicnVubmluZyJ9fQogICAgICAgIC5yZXNvdXJjZVVzYWdlPSR7e2NwdTo0NSxtZW1vcnlVc2VkOiI2LjIgR0IiLG1lbW9yeVRvdGFsOiIxNiBHQiIsbmV0d29ya0luOiIyLjUgTUIvcyIsbmV0d29ya091dDoiMS4yIE1CL3MiLHRvcENvbnN1bWVyczpbe25hbWU6Im1vbmdvZGIiLG1lbW9yeToiMS4yIEdCIn0se25hbWU6ImNsaWNraG91c2UiLG1lbW9yeToiOTgwIE1CIn0se25hbWU6Im5naW54LXByb3h5IixtZW1vcnk6IjI1NiBNQiJ9XX19CiAgICAgICAgLnBsYXRmb3JtU2VydmljZXM9JHtbe25hbWU6Ik1vbmdvREIiLHN0YXR1czoicnVubmluZyIsaWNvbjoiZGF0YWJhc2UifSx7bmFtZToiUzMgU3RvcmFnZSIsc3RhdHVzOiJydW5uaW5nIixpY29uOiJzdG9yYWdlIn0se25hbWU6IkNsaWNrSG91c2UiLHN0YXR1czoic3RvcHBlZCIsaWNvbjoiYW5hbHl0aWNzIn0se25hbWU6IlJlZGlzIENhY2hlIixzdGF0dXM6InJ1bm5pbmciLGljb246ImNhY2hlIn1dfQogICAgICAgIC50cmFmZmljPSR7e3JlcXVlc3RzOjE1NDIwLGVycm9yczoyMyxlcnJvclBlcmNlbnQ6LjE1LGF2Z1Jlc3BvbnNlOjE0NSxyZXFQZXJNaW46ODU2LHN0YXR1czJ4eDoxNDg1MCxzdGF0dXMzeHg6MzIwLHN0YXR1czR4eDoyMjcsc3RhdHVzNXh4OjIzfX0KICAgICAgICAucHJveHk9JHt7aHR0cFBvcnQ6IjgwIixodHRwc1BvcnQ6IjQ0MyIsaHR0cEFjdGl2ZTohMCxodHRwc0FjdGl2ZTohMCxyb3V0ZUNvdW50OiIyNCJ9fQogICAgICAgIC5jZXJ0aWZpY2F0ZXM9JHt7dmFsaWQ6MTgsZXhwaXJpbmc6MixleHBpcmVkOjB9fQogICAgICAgIC5kbnM9JHt7cmVjb3Jkczo0NSx6b25lczo4LHBlbmRpbmdDaGFuZ2VzOjB9fQogICAgICAgIC5zc2w9JHt7YWN0aXZlQ2VydHM6MjAsYXV0b1JlbmV3OiEwLHByb3ZpZGVyOiJMZXQncyBFbmNyeXB0In19CiAgICAgICAgQHF1aWNrLWFjdGlvbj0ke249PmNvbnNvbGUubG9nKCJRdWljayBhY3Rpb246IixuLmRldGFpbCl9CiAgICAgID48L3N6LWRhc2hib2FyZC12aWV3PgogICAgYH1zdGF0aWN7dlJhKHIsdCl9fTtyZXR1cm4gbz1yfSkoKX0pO3ZhciBnaWUsVDUseVJhLFF1YT1mKCgpPT57bGUoKTtmbigpO2dpZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sVDU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHlSYT0oKCk9PntsZXQgYT1baWUoInN6LWRlbW8tdmlldy1zZXJ2aWNlcyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekRlbW9WaWV3U2VydmljZXMiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVtLKCldLGQ9W0soKV0sdT1bSygpXSxnaWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iY3VycmVudFZpZXciaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5jdXJyZW50VmlldywiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmN1cnJlbnRWaWV3PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbixsKSxnaWUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFNlcnZpY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InNlbGVjdGVkU2VydmljZSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnNlbGVjdGVkU2VydmljZSwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnNlbGVjdGVkU2VydmljZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksZ2llKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRQbGF0Zm9ybVNlcnZpY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InNlbGVjdGVkUGxhdGZvcm1TZXJ2aWNlImluIGcsImhhcyIpLGdldDpzKGc9Pmcuc2VsZWN0ZWRQbGF0Zm9ybVNlcnZpY2UsImdldCIpLHNldDpzKChnLHkpPT57Zy5zZWxlY3RlZFBsYXRmb3JtU2VydmljZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG0sdiksZ2llKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9YXBwdWk9bnVsbDsjZT1UNSh0aGlzLG4sImxpc3QiKTtnZXQgY3VycmVudFZpZXcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudFZpZXcoYil7dGhpcy4jZT1ifSN0PShUNSh0aGlzLGwpLFQ1KHRoaXMsYyxudWxsKSk7Z2V0IHNlbGVjdGVkU2VydmljZSgpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZFNlcnZpY2UoYil7dGhpcy4jdD1ifSNhPShUNSh0aGlzLHApLFQ1KHRoaXMsbSxudWxsKSk7Z2V0IHNlbGVjdGVkUGxhdGZvcm1TZXJ2aWNlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNlbGVjdGVkUGxhdGZvcm1TZXJ2aWNlKGIpe3RoaXMuI2E9Yn1kZW1vU2VydmljZXM9KFQ1KHRoaXMsdiksW3tpZDoiMSIsbmFtZToibmdpbngtcHJveHkiLGltYWdlOiJuZ2lueDpsYXRlc3QiLHN0YXR1czoicnVubmluZyIsY3B1OiIyLjUlIixtZW1vcnk6IjI1NiBNQiIscG9ydHM6IjgwLCA0NDMiLHVwdGltZToiNWQgMTJoIn0se2lkOiIyIixuYW1lOiJhcGktZ2F0ZXdheSIsaW1hZ2U6ImFwaS1nYXRld2F5OnYyLjEuMCIsc3RhdHVzOiJydW5uaW5nIixjcHU6IjguMiUiLG1lbW9yeToiNTEyIE1CIixwb3J0czoiMzAwMCIsdXB0aW1lOiIzZCA4aCJ9LHtpZDoiMyIsbmFtZToid29ya2VyLXNlcnZpY2UiLGltYWdlOiJ3b3JrZXI6bGF0ZXN0IixzdGF0dXM6InN0b3BwZWQiLGNwdToiMCUiLG1lbW9yeToiMCBNQiIscG9ydHM6Ii0iLHVwdGltZToiLSJ9LHtpZDoiNCIsbmFtZToicmVkaXMtY2FjaGUiLGltYWdlOiJyZWRpczo3LWFscGluZSIsc3RhdHVzOiJydW5uaW5nIixjcHU6IjEuMiUiLG1lbW9yeToiMTI4IE1CIixwb3J0czoiNjM3OSIsdXB0aW1lOiIxMGQgNGgifV0pO2RlbW9QbGF0Zm9ybVNlcnZpY2U9e2lkOiIxIixuYW1lOiJNb25nb0RCIix0eXBlOiJtb25nb2RiIixzdGF0dXM6InJ1bm5pbmciLHZlcnNpb246IjcuMC40Iixob3N0OiJsb2NhbGhvc3QiLHBvcnQ6MjcwMTcsY3JlZGVudGlhbHM6e3VzZXJuYW1lOiJhZG1pbiIscGFzc3dvcmQ6Ilx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMiJ9LGNvbmZpZzp7cmVwbGljYVNldDoicnMwIixhdXRoRW5hYmxlZDohMCxqb3VybmFsaW5nOiEwfSxtZXRyaWNzOntjcHU6MTIsbWVtb3J5OjQ1LHN0b3JhZ2U6MjMsY29ubmVjdGlvbnM6OH19O2RlbW9QbGF0Zm9ybUxvZ3M9W3t0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MjIiLGxldmVsOiJpbmZvIixtZXNzYWdlOiJDb25uZWN0aW9uIGFjY2VwdGVkIGZyb20gMTI3LjAuMC4xOjU0MzIxIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoyMCIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6IkluZGV4IGJ1aWxkIGNvbXBsZXRlZCBvbiBjb2xsZWN0aW9uIHVzZXJzIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoxNSIsbGV2ZWw6Indhcm4iLG1lc3NhZ2U6IlNsb3cgcXVlcnkgZGV0ZWN0ZWQ6IDEuMnMgb24gY29sbGVjdGlvbiBvcmRlcnMifSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjEwIixsZXZlbDoiaW5mbyIsbWVzc2FnZToiQ2hlY2twb2ludCBjb21wbGV0ZSJ9XTtkZW1vQmFja3VwU2NoZWR1bGVzPVt7aWQ6IjEiLHNjb3BlOiJBbGwgU2VydmljZXMiLHJldGVudGlvbjoiRDo3LCBXOjQsIE06MTIiLHNjaGVkdWxlOiIwIDIgKiAqICoiLGxhc3RSdW46IjEvMi8yMDI2LCAyOjAwOjAzIEFNIixuZXh0UnVuOiIxLzMvMjAyNiwgMjowMDowMCBBTSIsc3RhdHVzOiJhY3RpdmUifV07ZGVtb0JhY2t1cHM9W3tpZDoiMSIsc2VydmljZToibmdpbngtcHJveHkiLGNyZWF0ZWRBdDoiMS8yLzIwMjYsIDI6MDA6MDMgQU0iLHNpemU6IjIyLjAgTUIiLGluY2x1ZGVzOlsiSW1hZ2UiXX0se2lkOiIyIixzZXJ2aWNlOiJhcGktZ2F0ZXdheSIsY3JlYXRlZEF0OiIxLzIvMjAyNiwgMjowMDowMiBBTSIsc2l6ZToiMTU2LjUgTUIiLGluY2x1ZGVzOlsiSW1hZ2UiLCJWb2x1bWVzIl19LHtpZDoiMyIsc2VydmljZToicmVkaXMtY2FjaGUiLGNyZWF0ZWRBdDoiMS8yLzIwMjYsIDI6MDA6MDAgQU0iLHNpemU6IjQ4LjAgTUIiLGluY2x1ZGVzOlsiSW1hZ2UiLCJEYXRhIl19XTtzdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnBhZ2UtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnBhZ2UtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAucGFnZS1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAuaGVhZGVyLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMC45OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zZWNvbmRhcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC50YWJzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLnRhYiB7CiAgICAgICAgcGFkZGluZzogMTBweCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5hY3RpdmUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50YWIuYWN0aXZlOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogLTFweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHggMXB4IDAgMDsKICAgICAgfQoKICAgICAgLmJhY2stYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5iYWNrLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICAke3RoaXMuY3VycmVudFZpZXc9PT0ibGlzdCI/dGhpcy5yZW5kZXJMaXN0VmlldygpOiIifQogICAgICAke3RoaXMuY3VycmVudFZpZXc9PT0iY3JlYXRlIj90aGlzLnJlbmRlckNyZWF0ZVZpZXcoKToiIn0KICAgICAgJHt0aGlzLmN1cnJlbnRWaWV3PT09ImRldGFpbCI/dGhpcy5yZW5kZXJEZXRhaWxWaWV3KCk6IiJ9CiAgICAgICR7dGhpcy5jdXJyZW50Vmlldz09PSJiYWNrdXBzIj90aGlzLnJlbmRlckJhY2t1cHNWaWV3KCk6IiJ9CiAgICAgICR7dGhpcy5jdXJyZW50Vmlldz09PSJwbGF0Zm9ybS1kZXRhaWwiP3RoaXMucmVuZGVyUGxhdGZvcm1EZXRhaWxWaWV3KCk6IiJ9CiAgICBgfXJlbmRlckxpc3RWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InBhZ2UtaGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItaW5mbyI+CiAgICAgICAgICA8aDEgY2xhc3M9InBhZ2UtdGl0bGUiPlNlcnZpY2VzPC9oMT4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdlLXN1YnRpdGxlIj5NYW5hZ2UgeW91ciBEb2NrZXIgY29udGFpbmVycyBhbmQgcGxhdGZvcm0gc2VydmljZXM8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWFjdGlvbnMiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBzZWNvbmRhcnkiIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRWaWV3PSJiYWNrdXBzIn0+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+CiAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTcgOCAxMiAzIDcgOCIvPgogICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjMiIHgyPSIxMiIgeTI9IjE1Ii8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBCYWNrdXBzCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRWaWV3PSJjcmVhdGUifT4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiLz4KICAgICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiIvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgRGVwbG95IFNlcnZpY2UKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InRhYnMiPgogICAgICAgIDxidXR0b24gY2xhc3M9InRhYiBhY3RpdmUiPkRvY2tlciBTZXJ2aWNlczwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9InRhYiIgQGNsaWNrPSR7KCk9Pnt0aGlzLnNlbGVjdGVkUGxhdGZvcm1TZXJ2aWNlPXRoaXMuZGVtb1BsYXRmb3JtU2VydmljZSx0aGlzLmN1cnJlbnRWaWV3PSJwbGF0Zm9ybS1kZXRhaWwifX0+UGxhdGZvcm0gU2VydmljZXM8L2J1dHRvbj4KICAgICAgPC9kaXY+CgogICAgICA8c3otc2VydmljZXMtbGlzdC12aWV3CiAgICAgICAgLnNlcnZpY2VzPSR7dGhpcy5kZW1vU2VydmljZXN9CiAgICAgICAgQHZpZXctc2VydmljZT0ke2I9Pnt0aGlzLnNlbGVjdGVkU2VydmljZT1iLmRldGFpbCx0aGlzLmN1cnJlbnRWaWV3PSJkZXRhaWwifX0KICAgICAgICBAc3RhcnQtc2VydmljZT0ke2I9PmNvbnNvbGUubG9nKCJTdGFydCBzZXJ2aWNlOiIsYi5kZXRhaWwpfQogICAgICAgIEBzdG9wLXNlcnZpY2U9JHtiPT5jb25zb2xlLmxvZygiU3RvcCBzZXJ2aWNlOiIsYi5kZXRhaWwpfQogICAgICAgIEByZXN0YXJ0LXNlcnZpY2U9JHtiPT5jb25zb2xlLmxvZygiUmVzdGFydCBzZXJ2aWNlOiIsYi5kZXRhaWwpfQogICAgICAgIEBkZWxldGUtc2VydmljZT0ke2I9PmNvbnNvbGUubG9nKCJEZWxldGUgc2VydmljZToiLGIuZGV0YWlsKX0KICAgICAgPjwvc3otc2VydmljZXMtbGlzdC12aWV3PgogICAgYH1yZW5kZXJDcmVhdGVWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxidXR0b24gY2xhc3M9ImJhY2stYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9PgogICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTUgMTggOSAxMiAxNSA2Ii8+CiAgICAgICAgPC9zdmc+CiAgICAgICAgQmFjayB0byBTZXJ2aWNlcwogICAgICA8L2J1dHRvbj4KCiAgICAgIDxzei1zZXJ2aWNlLWNyZWF0ZS12aWV3CiAgICAgICAgLnJlZ2lzdHJpZXM9JHtbe2lkOiIxIixuYW1lOiJPbmVib3ggUmVnaXN0cnkiLHVybDoicmVnaXN0cnkub25lYm94LmxvY2FsIn0se2lkOiIyIixuYW1lOiJEb2NrZXIgSHViIix1cmw6ImRvY2tlci5pbyJ9XX0KICAgICAgICBAY3JlYXRlLXNlcnZpY2U9JHtiPT57Y29uc29sZS5sb2coIkNyZWF0ZSBzZXJ2aWNlOiIsYi5kZXRhaWwpLHRoaXMuY3VycmVudFZpZXc9Imxpc3QifX0KICAgICAgICBAY2FuY2VsPSR7KCk9PnRoaXMuY3VycmVudFZpZXc9Imxpc3QifQogICAgICA+PC9zei1zZXJ2aWNlLWNyZWF0ZS12aWV3PgogICAgYH1yZW5kZXJEZXRhaWxWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxidXR0b24gY2xhc3M9ImJhY2stYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9PgogICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTUgMTggOSAxMiAxNSA2Ii8+CiAgICAgICAgPC9zdmc+CiAgICAgICAgQmFjayB0byBTZXJ2aWNlcwogICAgICA8L2J1dHRvbj4KCiAgICAgIDxzei1zZXJ2aWNlLWRldGFpbC12aWV3CiAgICAgICAgLnNlcnZpY2U9JHt7aWQ6dGhpcy5zZWxlY3RlZFNlcnZpY2U/LmlkfHwiMSIsbmFtZTp0aGlzLnNlbGVjdGVkU2VydmljZT8ubmFtZXx8Im5naW54LXByb3h5IixpbWFnZTp0aGlzLnNlbGVjdGVkU2VydmljZT8uaW1hZ2V8fCJuZ2lueDpsYXRlc3QiLHN0YXR1czp0aGlzLnNlbGVjdGVkU2VydmljZT8uc3RhdHVzfHwicnVubmluZyIscG9ydHM6W3tob3N0OiI4MCIsY29udGFpbmVyOiI4MCJ9LHtob3N0OiI0NDMiLGNvbnRhaW5lcjoiNDQzIn1dLGVudlZhcnM6W3trZXk6Ik5HSU5YX0hPU1QiLHZhbHVlOiJsb2NhbGhvc3QifSx7a2V5OiJOR0lOWF9QT1JUIix2YWx1ZToiODAifV0sdm9sdW1lczpbe2hvc3Q6Ii9kYXRhL25naW54L2NvbmYiLGNvbnRhaW5lcjoiL2V0Yy9uZ2lueC9jb25mLmQifV0sY3JlYXRlZEF0OiIyMDI0LTAxLTE1IDEwOjMwOjAwIixyZXN0YXJ0UG9saWN5OiJhbHdheXMifX0KICAgICAgICAubG9ncz0ke1t7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjIyIixsZXZlbDoiaW5mbyIsbWVzc2FnZTonMTI3LjAuMC4xIC0gLSBbMjAvSmFuLzIwMjQ6MTQ6MzA6MjIgKzAwMDBdICJHRVQgLyBIVFRQLzEuMSIgMjAwIDYxMid9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MjEiLGxldmVsOiJpbmZvIixtZXNzYWdlOicxMjcuMC4wLjEgLSAtIFsyMC9KYW4vMjAyNDoxNDozMDoyMSArMDAwMF0gIkdFVCAvYXBpL2hlYWx0aCBIVFRQLzEuMSIgMjAwIDE1J30se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoyMCIsbGV2ZWw6Indhcm4iLG1lc3NhZ2U6InVwc3RyZWFtIHRpbWVkIG91dCAoMTEwOiBDb25uZWN0aW9uIHRpbWVkIG91dCkifSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjE5IixsZXZlbDoiaW5mbyIsbWVzc2FnZTonMTI3LjAuMC4xIC0gLSBbMjAvSmFuLzIwMjQ6MTQ6MzA6MTkgKzAwMDBdICJQT1NUIC9hcGkvZGF0YSBIVFRQLzEuMSIgMjAxIDg5J31dfQogICAgICAgIEBzdGFydD0keygpPT5jb25zb2xlLmxvZygiU3RhcnQiKX0KICAgICAgICBAc3RvcD0keygpPT5jb25zb2xlLmxvZygiU3RvcCIpfQogICAgICAgIEByZXN0YXJ0PSR7KCk9PmNvbnNvbGUubG9nKCJSZXN0YXJ0Iil9CiAgICAgICAgQHJlcXVlc3Qtd29ya3NwYWNlPSR7Yj0+Y29uc29sZS5sb2coIldvcmtzcGFjZSByZXF1ZXN0ZWQgZm9yOiIsYi5kZXRhaWwuc2VydmljZS5uYW1lKX0KICAgICAgPjwvc3otc2VydmljZS1kZXRhaWwtdmlldz4KICAgIGB9cmVuZGVyQmFja3Vwc1ZpZXcoKXtyZXR1cm4gd2AKICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjay1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRWaWV3PSJsaXN0In0+CiAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiLz4KICAgICAgICA8L3N2Zz4KICAgICAgICBCYWNrIHRvIFNlcnZpY2VzCiAgICAgIDwvYnV0dG9uPgoKICAgICAgPGRpdiBjbGFzcz0icGFnZS1oZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbmZvIj4KICAgICAgICAgIDxoMSBjbGFzcz0icGFnZS10aXRsZSI+QmFja3VwczwvaDE+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZS1zdWJ0aXRsZSI+TWFuYWdlIGJhY2t1cCBzY2hlZHVsZXMgYW5kIHJlc3RvcmUgcG9pbnRzPC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxzei1zZXJ2aWNlcy1iYWNrdXBzLXZpZXcKICAgICAgICAuc2NoZWR1bGVzPSR7dGhpcy5kZW1vQmFja3VwU2NoZWR1bGVzfQogICAgICAgIC5iYWNrdXBzPSR7dGhpcy5kZW1vQmFja3Vwc30KICAgICAgICBAY3JlYXRlLXNjaGVkdWxlPSR7KCk9PmNvbnNvbGUubG9nKCJDcmVhdGUgc2NoZWR1bGUiKX0KICAgICAgICBAcnVuLW5vdz0ke2I9PmNvbnNvbGUubG9nKCJSdW4gbm93OiIsYi5kZXRhaWwpfQogICAgICAgIEBkb3dubG9hZD0ke2I9PmNvbnNvbGUubG9nKCJEb3dubG9hZDoiLGIuZGV0YWlsKX0KICAgICAgPjwvc3otc2VydmljZXMtYmFja3Vwcy12aWV3PgogICAgYH1yZW5kZXJQbGF0Zm9ybURldGFpbFZpZXcoKXtyZXR1cm4gd2AKICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjay1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRWaWV3PSJsaXN0In0+CiAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiLz4KICAgICAgICA8L3N2Zz4KICAgICAgICBCYWNrIHRvIFNlcnZpY2VzCiAgICAgIDwvYnV0dG9uPgoKICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXcKICAgICAgICAuc2VydmljZT0ke3RoaXMuZGVtb1BsYXRmb3JtU2VydmljZX0KICAgICAgICAubG9ncz0ke3RoaXMuZGVtb1BsYXRmb3JtTG9nc30KICAgICAgICBAc3RhcnQ9JHsoKT0+Y29uc29sZS5sb2coIlN0YXJ0Iil9CiAgICAgICAgQHN0b3A9JHsoKT0+Y29uc29sZS5sb2coIlN0b3AiKX0KICAgICAgICBAcmVzdGFydD0keygpPT5jb25zb2xlLmxvZygiUmVzdGFydCIpfQogICAgICA+PC9zei1wbGF0Zm9ybS1zZXJ2aWNlLWRldGFpbC12aWV3PgogICAgYH1hc3luYyBvbkFjdGl2YXRlKGIpe3RoaXMuYXBwdWk9Yi5hcHB1aSx0aGlzLmFwcHVpLnNldENvbnRlbnRUYWJzKFt7a2V5OiJEb2NrZXIgU2VydmljZXMiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50Vmlldz0ibGlzdCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiUGxhdGZvcm0gU2VydmljZXMiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50Vmlldz0icGxhdGZvcm0tZGV0YWlsIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJCYWNrdXBzIixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudFZpZXc9ImJhY2t1cHMiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9XSksdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9dXBkYXRlU2Vjb25kYXJ5TWVudSgpe3RoaXMuYXBwdWkmJnRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiU2VydmljZXMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkRlcGxveSBTZXJ2aWNlIixpY29uTmFtZToibHVjaWRlOlBsdXMiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50Vmlldz0iY3JlYXRlIn0sImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIixrZXk6IlJlZnJlc2giLGljb25OYW1lOiJsdWNpZGU6UmVmcmVzaEN3IixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJSZWZyZXNoIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiUXVpY2sgRmlsdGVycyIsaXRlbXM6W3trZXk6IlJ1bm5pbmciLGljb25OYW1lOiJsdWNpZGU6UGxheSIsYmFkZ2U6IjMiLGJhZGdlVmFyaWFudDoic3VjY2VzcyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIHJ1bm5pbmciKX0sImFjdGlvbiIpfSx7a2V5OiJTdG9wcGVkIixpY29uTmFtZToibHVjaWRlOlNxdWFyZSIsYmFkZ2U6IjEiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBzdG9wcGVkIil9LCJhY3Rpb24iKX1dfV19KX1vbkRlYWN0aXZhdGUoKXt9c3RhdGlje1Q1KHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBhZXQsVEcsd1JhLEp1YT1mKCgpPT57bGUoKTtmbigpO2FldD1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sVEc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHdSYT0oKCk9PntsZXQgYT1baWUoInN6LWRlbW8tdmlldy1uZXR3b3JrIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGVtb1ZpZXdOZXR3b3JrIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkPVtLKCldLGFldCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRUYWIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImN1cnJlbnRUYWIiaW4gdiwiaGFzIiksZ2V0OnModj0+di5jdXJyZW50VGFiLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuY3VycmVudFRhYj14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksYWV0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWREb21haW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InNlbGVjdGVkRG9tYWluImluIHYsImhhcyIpLGdldDpzKHY9PnYuc2VsZWN0ZWREb21haW4sImdldCIpLHNldDpzKCh2LHgpPT57di5zZWxlY3RlZERvbWFpbj14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksYWV0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9YXBwdWk9bnVsbDsjZT1URyh0aGlzLG4sInByb3h5Iik7Z2V0IGN1cnJlbnRUYWIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudFRhYihtKXt0aGlzLiNlPW19YXN5bmMgb25BY3RpdmF0ZShtKXt0aGlzLmFwcHVpPW0uYXBwdWksdGhpcy5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiUmV2ZXJzZSBQcm94eSIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9InByb3h5Iix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJETlMgUmVjb3JkcyIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9ImRucyIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiRG9tYWlucyIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9ImRvbWFpbnMiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9XSksdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9dXBkYXRlU2Vjb25kYXJ5TWVudSgpe3RoaXMuYXBwdWkmJih0aGlzLmN1cnJlbnRUYWI9PT0icHJveHkiP3RoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiUmV2ZXJzZSBQcm94eSIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiQWRkIFJvdXRlIixpY29uTmFtZToibHVjaWRlOlBsdXMiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkFkZCByb3V0ZSIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiUmVmcmVzaCIsaWNvbk5hbWU6Imx1Y2lkZTpSZWZyZXNoQ3ciLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlJlZnJlc2giKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTdGF0aXN0aWNzIixpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6IjQyIEFjdGl2ZSBDb25uZWN0aW9ucyJ9LHt0eXBlOiJoZWFkZXIiLGxhYmVsOiIxNSw0MjAgUmVxdWVzdHMgVG9kYXkifV19XX0pOnRoaXMuY3VycmVudFRhYj09PSJkbnMiP3RoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiRE5TIFJlY29yZHMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkFkZCBSZWNvcmQiLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiQWRkIHJlY29yZCIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiSW1wb3J0IFpvbmUiLGljb25OYW1lOiJsdWNpZGU6VXBsb2FkIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJJbXBvcnQgem9uZSIpfSwiYWN0aW9uIil9XX0se25hbWU6IlpvbmVzIixpdGVtczpbe2tleToiZXhhbXBsZS5jb20iLGljb25OYW1lOiJsdWNpZGU6R2xvYmUiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlNlbGVjdCBleGFtcGxlLmNvbSIpfSwiYWN0aW9uIil9LHtrZXk6ImV4YW1wbGUubmV0IixpY29uTmFtZToibHVjaWRlOkdsb2JlIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJTZWxlY3QgZXhhbXBsZS5uZXQiKX0sImFjdGlvbiIpfSx7a2V5OiJteWFwcC5pbyIsaWNvbk5hbWU6Imx1Y2lkZTpHbG9iZSIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiU2VsZWN0IG15YXBwLmlvIil9LCJhY3Rpb24iKX1dfV19KToodGhpcy5jdXJyZW50VGFiPT09ImRvbWFpbnMifHx0aGlzLmN1cnJlbnRUYWI9PT0iZG9tYWluLWRldGFpbCIpJiZ0aGlzLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IkRvbWFpbnMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkFkZCBEb21haW4iLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiQWRkIGRvbWFpbiIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiVmVyaWZ5IEFsbCIsaWNvbk5hbWU6Imx1Y2lkZTpDaGVja0NpcmNsZSIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiVmVyaWZ5IGFsbCIpfSwiYWN0aW9uIil9XX0se25hbWU6IkNlcnRpZmljYXRlcyIsaXRlbXM6W3trZXk6IlZhbGlkIixpY29uTmFtZToibHVjaWRlOlNoaWVsZENoZWNrIixiYWRnZToiMyIsYmFkZ2VWYXJpYW50OiJzdWNjZXNzIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgdmFsaWQiKX0sImFjdGlvbiIpfSx7a2V5OiJFeHBpcmluZyBTb29uIixpY29uTmFtZToibHVjaWRlOkFsZXJ0VHJpYW5nbGUiLGJhZGdlOiIxIixiYWRnZVZhcmlhbnQ6Indhcm5pbmciLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBleHBpcmluZyIpfSwiYWN0aW9uIil9XX1dfSkpfW9uRGVhY3RpdmF0ZSgpe30jdD0oVEcodGhpcyxsKSxURyh0aGlzLGMsbnVsbCkpO2dldCBzZWxlY3RlZERvbWFpbigpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZERvbWFpbihtKXt0aGlzLiN0PW19ZGVtb1Byb3h5Um91dGVzPShURyh0aGlzLHApLFt7aWQ6IjEiLGRvbWFpbjoiYXBpLmV4YW1wbGUuY29tIix0YXJnZXQ6Imh0dHA6Ly9hcGktZ2F0ZXdheTozMDAwIixzc2w6ITAsc3RhdHVzOiJhY3RpdmUifSx7aWQ6IjIiLGRvbWFpbjoiYXBwLmV4YW1wbGUuY29tIix0YXJnZXQ6Imh0dHA6Ly9mcm9udGVuZDo4MDgwIixzc2w6ITAsc3RhdHVzOiJhY3RpdmUifSx7aWQ6IjMiLGRvbWFpbjoiYWRtaW4uZXhhbXBsZS5jb20iLHRhcmdldDoiaHR0cDovL2FkbWluLXBhbmVsOjQwMDAiLHNzbDohMCxzdGF0dXM6ImFjdGl2ZSJ9LHtpZDoiNCIsZG9tYWluOiJsZWdhY3kuZXhhbXBsZS5jb20iLHRhcmdldDoiaHR0cDovL2xlZ2FjeTo1MDAwIixzc2w6ITEsc3RhdHVzOiJpbmFjdGl2ZSJ9XSk7ZGVtb0FjY2Vzc0xvZ3M9W3t0aW1lc3RhbXA6IjE0OjMwOjIyIixtZXRob2Q6IkdFVCIscGF0aDoiL2FwaS91c2VycyIsc3RhdHVzOjIwMCxkdXJhdGlvbjoiNDVtcyIsaXA6IjE5Mi4xNjguMS4xMDAifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsbWV0aG9kOiJQT1NUIixwYXRoOiIvYXBpL29yZGVycyIsc3RhdHVzOjIwMSxkdXJhdGlvbjoiMTIwbXMiLGlwOiIxOTIuMTY4LjEuMTA1In0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLG1ldGhvZDoiR0VUIixwYXRoOiIvYXBpL3Byb2R1Y3RzIixzdGF0dXM6MjAwLGR1cmF0aW9uOiI4OW1zIixpcDoiMTkyLjE2OC4xLjEwMCJ9LHt0aW1lc3RhbXA6IjE0OjMwOjE5IixtZXRob2Q6IkRFTEVURSIscGF0aDoiL2FwaS9jYWNoZSIsc3RhdHVzOjIwNCxkdXJhdGlvbjoiMTJtcyIsaXA6IjE5Mi4xNjguMS41MCJ9LHt0aW1lc3RhbXA6IjE0OjMwOjE4IixtZXRob2Q6IkdFVCIscGF0aDoiL2hlYWx0aCIsc3RhdHVzOjIwMCxkdXJhdGlvbjoiNW1zIixpcDoiMTAuMC4wLjEifV07ZGVtb0Ruc1JlY29yZHM9W3tpZDoiMSIsdHlwZToiQSIsbmFtZToiQCIsdmFsdWU6IjE5Mi4xNjguMS4xMDAiLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIn0se2lkOiIyIix0eXBlOiJBIixuYW1lOiJhcGkiLHZhbHVlOiIxOTIuMTY4LjEuMTAwIix0dGw6MzYwMCx6b25lOiJleGFtcGxlLmNvbSJ9LHtpZDoiMyIsdHlwZToiQ05BTUUiLG5hbWU6Ind3dyIsdmFsdWU6ImV4YW1wbGUuY29tIix0dGw6MzYwMCx6b25lOiJleGFtcGxlLmNvbSJ9LHtpZDoiNCIsdHlwZToiTVgiLG5hbWU6IkAiLHZhbHVlOiJtYWlsLmV4YW1wbGUuY29tIix0dGw6MzYwMCx6b25lOiJleGFtcGxlLmNvbSIscHJpb3JpdHk6MTB9LHtpZDoiNSIsdHlwZToiVFhUIixuYW1lOiJAIix2YWx1ZToidj1zcGYxIGluY2x1ZGU6X3NwZi5leGFtcGxlLmNvbSB+YWxsIix0dGw6MzYwMCx6b25lOiJleGFtcGxlLmNvbSJ9XTtkZW1vRG9tYWlucz1be2lkOiIxIixuYW1lOiJleGFtcGxlLmNvbSIsc3RhdHVzOiJhY3RpdmUiLHNzbDohMCxzc2xFeHBpcnk6IjIwMjQtMDQtMTUiLGRuc1Byb3ZpZGVyOiJDbG91ZGZsYXJlIixyZWNvcmRDb3VudDoxMn0se2lkOiIyIixuYW1lOiJhcGkuZXhhbXBsZS5jb20iLHN0YXR1czoiYWN0aXZlIixzc2w6ITAsc3NsRXhwaXJ5OiIyMDI0LTA1LTIwIixkbnNQcm92aWRlcjoiQ2xvdWRmbGFyZSIscmVjb3JkQ291bnQ6M30se2lkOiIzIixuYW1lOiJzdGFnaW5nLmV4YW1wbGUuY29tIixzdGF0dXM6InBlbmRpbmciLHNzbDohMSxzc2xFeHBpcnk6bnVsbCxkbnNQcm92aWRlcjoiQ2xvdWRmbGFyZSIscmVjb3JkQ291bnQ6Mn0se2lkOiI0IixuYW1lOiJsZWdhY3kuZXhhbXBsZS5uZXQiLHN0YXR1czoiYWN0aXZlIixzc2w6ITAsc3NsRXhwaXJ5OiIyMDI0LTAyLTEwIixkbnNQcm92aWRlcjoiTWFudWFsIixyZWNvcmRDb3VudDo1fV07ZGVtb0RvbWFpbkRldGFpbD17aWQ6IjEiLG5hbWU6ImV4YW1wbGUuY29tIixzdGF0dXM6ImFjdGl2ZSIsdmVyaWZpZWQ6ITAsY3JlYXRlZEF0OiIyMDI0LTAxLTEwIixwcm94eVJvdXRlczpbIi9hcGkvKiIsIi9hcHAvKiIsIi9hZG1pbi8qIl19O2RlbW9DZXJ0aWZpY2F0ZT17aWQ6IjEiLGRvbWFpbjoiZXhhbXBsZS5jb20iLGlzc3VlcjoiTGV0J3MgRW5jcnlwdCIsdmFsaWRGcm9tOiIyMDI0LTAxLTEwIix2YWxpZFVudGlsOiIyMDI0LTA0LTEwIixkYXlzUmVtYWluaW5nOjQ1LHN0YXR1czoidmFsaWQiLGF1dG9SZW5ldzohMCxjaGFpbjpbIlIzIiwiSVNSRyBSb290IFgxIl19O2RlbW9Eb21haW5EbnNSZWNvcmRzPVt7aWQ6IjEiLHR5cGU6IkEiLG5hbWU6IkAiLHZhbHVlOiIxOTIuMTY4LjEuMTAwIix0dGw6MzYwMH0se2lkOiIyIix0eXBlOiJDTkFNRSIsbmFtZToid3d3Iix2YWx1ZToiZXhhbXBsZS5jb20iLHR0bDozNjAwfSx7aWQ6IjMiLHR5cGU6Ik1YIixuYW1lOiJAIix2YWx1ZToibWFpbC5leGFtcGxlLmNvbSIsdHRsOjM2MDAscHJpb3JpdHk6MTB9LHtpZDoiNCIsdHlwZToiVFhUIixuYW1lOiJAIix2YWx1ZToidj1zcGYxIGluY2x1ZGU6X3NwZi5leGFtcGxlLmNvbSB+YWxsIix0dGw6MzYwMH1dO3N0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAucGFnZS1oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5wYWdlLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbjogMCAwIDhweCAwOwogICAgICB9CgogICAgICAucGFnZS1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAudGFicyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC50YWIgewogICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWI6aG92ZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50YWIuYWN0aXZlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGFiLmFjdGl2ZTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IC0xcHg7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4IDFweCAwIDA7CiAgICAgIH0KCiAgICAgIC5iYWNrLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYmFjay1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gdGhpcy5jdXJyZW50VGFiPT09ImRvbWFpbi1kZXRhaWwiP3RoaXMucmVuZGVyRG9tYWluRGV0YWlsKCk6d2AKICAgICAgJHt0aGlzLmN1cnJlbnRUYWI9PT0icHJveHkiP3RoaXMucmVuZGVyUHJveHlWaWV3KCk6IiJ9CiAgICAgICR7dGhpcy5jdXJyZW50VGFiPT09ImRucyI/dGhpcy5yZW5kZXJEbnNWaWV3KCk6IiJ9CiAgICAgICR7dGhpcy5jdXJyZW50VGFiPT09ImRvbWFpbnMiP3RoaXMucmVuZGVyRG9tYWluc1ZpZXcoKToiIn0KICAgIGB9cmVuZGVyUHJveHlWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxzei1uZXR3b3JrLXByb3h5LXZpZXcKICAgICAgICAucm91dGVzPSR7dGhpcy5kZW1vUHJveHlSb3V0ZXN9CiAgICAgICAgLmFjY2Vzc0xvZ3M9JHt0aGlzLmRlbW9BY2Nlc3NMb2dzfQogICAgICAgIC5zdGF0cz0ke3thY3RpdmVDb25uZWN0aW9uczo0MixyZXF1ZXN0c1RvZGF5OjE1NDIwLGJ5dGVzVHJhbnNmZXJyZWQ6IjIuNCBHQiJ9fQogICAgICAgIEBhZGQtcm91dGU9JHsoKT0+Y29uc29sZS5sb2coIkFkZCByb3V0ZSIpfQogICAgICAgIEBlZGl0LXJvdXRlPSR7bT0+Y29uc29sZS5sb2coIkVkaXQgcm91dGU6IixtLmRldGFpbCl9CiAgICAgICAgQGRlbGV0ZS1yb3V0ZT0ke209PmNvbnNvbGUubG9nKCJEZWxldGUgcm91dGU6IixtLmRldGFpbCl9CiAgICAgID48L3N6LW5ldHdvcmstcHJveHktdmlldz4KICAgIGB9cmVuZGVyRG5zVmlldygpe3JldHVybiB3YAogICAgICA8c3otbmV0d29yay1kbnMtdmlldwogICAgICAgIC5yZWNvcmRzPSR7dGhpcy5kZW1vRG5zUmVjb3Jkc30KICAgICAgICAuem9uZXM9JHtbImV4YW1wbGUuY29tIiwiZXhhbXBsZS5uZXQiLCJteWFwcC5pbyJdfQogICAgICAgIC5zZWxlY3RlZFpvbmU9JHsiZXhhbXBsZS5jb20ifQogICAgICAgIEBhZGQtcmVjb3JkPSR7KCk9PmNvbnNvbGUubG9nKCJBZGQgcmVjb3JkIil9CiAgICAgICAgQGVkaXQtcmVjb3JkPSR7bT0+Y29uc29sZS5sb2coIkVkaXQgcmVjb3JkOiIsbS5kZXRhaWwpfQogICAgICAgIEBkZWxldGUtcmVjb3JkPSR7bT0+Y29uc29sZS5sb2coIkRlbGV0ZSByZWNvcmQ6IixtLmRldGFpbCl9CiAgICAgICAgQGNoYW5nZS16b25lPSR7bT0+Y29uc29sZS5sb2coIkNoYW5nZSB6b25lOiIsbS5kZXRhaWwpfQogICAgICA+PC9zei1uZXR3b3JrLWRucy12aWV3PgogICAgYH1yZW5kZXJEb21haW5zVmlldygpe3JldHVybiB3YAogICAgICA8c3otbmV0d29yay1kb21haW5zLXZpZXcKICAgICAgICAuZG9tYWlucz0ke3RoaXMuZGVtb0RvbWFpbnN9CiAgICAgICAgQGFkZC1kb21haW49JHsoKT0+Y29uc29sZS5sb2coIkFkZCBkb21haW4iKX0KICAgICAgICBAdmlldy1kb21haW49JHttPT57dGhpcy5zZWxlY3RlZERvbWFpbj1tLmRldGFpbCx0aGlzLmN1cnJlbnRUYWI9ImRvbWFpbi1kZXRhaWwifX0KICAgICAgICBAcmVuZXctc3NsPSR7bT0+Y29uc29sZS5sb2coIlJlbmV3IFNTTDoiLG0uZGV0YWlsKX0KICAgICAgICBAZGVsZXRlLWRvbWFpbj0ke209PmNvbnNvbGUubG9nKCJEZWxldGUgZG9tYWluOiIsbS5kZXRhaWwpfQogICAgICA+PC9zei1uZXR3b3JrLWRvbWFpbnMtdmlldz4KICAgIGB9cmVuZGVyRG9tYWluRGV0YWlsKCl7cmV0dXJuIHdgCiAgICAgIDxidXR0b24gY2xhc3M9ImJhY2stYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jdXJyZW50VGFiPSJkb21haW5zIn0+CiAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiLz4KICAgICAgICA8L3N2Zz4KICAgICAgICBCYWNrIHRvIERvbWFpbnMKICAgICAgPC9idXR0b24+CgogICAgICA8c3otZG9tYWluLWRldGFpbC12aWV3CiAgICAgICAgLmRvbWFpbj0ke3RoaXMuZGVtb0RvbWFpbkRldGFpbH0KICAgICAgICAuY2VydGlmaWNhdGU9JHt0aGlzLmRlbW9DZXJ0aWZpY2F0ZX0KICAgICAgICAuZG5zUmVjb3Jkcz0ke3RoaXMuZGVtb0RvbWFpbkRuc1JlY29yZHN9CiAgICAgICAgQHZlcmlmeS1kb21haW49JHsoKT0+Y29uc29sZS5sb2coIlZlcmlmeSBkb21haW4iKX0KICAgICAgICBAZGVsZXRlLWRvbWFpbj0keygpPT57Y29uc29sZS5sb2coIkRlbGV0ZSBkb21haW4iKSx0aGlzLmN1cnJlbnRUYWI9ImRvbWFpbnMifX0KICAgICAgICBAcmVuZXctY2VydGlmaWNhdGU9JHsoKT0+Y29uc29sZS5sb2coIlJlbmV3IGNlcnRpZmljYXRlIil9CiAgICAgICAgQGFkZC1kbnMtcmVjb3JkPSR7KCk9PmNvbnNvbGUubG9nKCJBZGQgRE5TIHJlY29yZCIpfQogICAgICAgIEBlZGl0LWRucy1yZWNvcmQ9JHttPT5jb25zb2xlLmxvZygiRWRpdCBETlMgcmVjb3JkOiIsbS5kZXRhaWwpfQogICAgICAgIEBkZWxldGUtZG5zLXJlY29yZD0ke209PmNvbnNvbGUubG9nKCJEZWxldGUgRE5TIHJlY29yZDoiLG0uZGV0YWlsKX0KICAgICAgPjwvc3otZG9tYWluLWRldGFpbC12aWV3PgogICAgYH1zdGF0aWN7VEcocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIGVwYSxyZXQsTVJhLHRwYT1mKCgpPT57bGUoKTtmbigpO2VwYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scmV0PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxNUmE9KCgpPT57bGV0IGE9W2llKCJzei1kZW1vLXZpZXctcmVnaXN0cmllcyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekRlbW9WaWV3UmVnaXN0cmllcyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZXBhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4iY3VycmVudFRhYiJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLmN1cnJlbnRUYWIsImdldCIpLHNldDpzKChwLHUpPT57cC5jdXJyZW50VGFiPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxlcGEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1hcHB1aT1udWxsOyNlPXJldCh0aGlzLG4sIm9uZWJveCIpO2dldCBjdXJyZW50VGFiKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGN1cnJlbnRUYWIoYyl7dGhpcy4jZT1jfWFzeW5jIG9uQWN0aXZhdGUoYyl7dGhpcy5hcHB1aT1jLmFwcHVpLHRoaXMuYXBwdWkuc2V0Q29udGVudFRhYnMoW3trZXk6IlJlZ2lzdHJ5IEFkdmVydGlzZW1lbnQiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50VGFiPSJvbmVib3giLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9LHtrZXk6IkV4dGVybmFsIFJlZ2lzdHJpZXMiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50VGFiPSJleHRlcm5hbCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX1dKSx0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX11cGRhdGVTZWNvbmRhcnlNZW51KCl7dGhpcy5hcHB1aSYmKHRoaXMuY3VycmVudFRhYj09PSJvbmVib3giP3RoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiUmVnaXN0cnkgQWR2ZXJ0aXNlbWVudCIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiUHVzaCBJbWFnZSIsaWNvbk5hbWU6Imx1Y2lkZTpVcGxvYWQiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlB1c2ggaW1hZ2UiKX0sImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIix2YXJpYW50OiJkYW5nZXIiLGtleToiR2FyYmFnZSBDb2xsZWN0IixpY29uTmFtZToibHVjaWRlOlRyYXNoMiIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiR0MiKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTdGF0aXN0aWNzIixpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6IjQgSW1hZ2VzIn0se3R5cGU6ImhlYWRlciIsbGFiZWw6IjY0MCBNQiBUb3RhbCJ9XX1dfSk6dGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJFeHRlcm5hbCBSZWdpc3RyaWVzIixncm91cHM6W3tuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJBZGQgUmVnaXN0cnkiLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiQWRkIHJlZ2lzdHJ5Iil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJUZXN0IEFsbCIsaWNvbk5hbWU6Imx1Y2lkZTpDaGVja0NpcmNsZSIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiVGVzdCBhbGwiKX0sImFjdGlvbiIpfV19LHtuYW1lOiJDb25uZWN0ZWQiLGl0ZW1zOlt7a2V5OiJEb2NrZXIgSHViIixpY29uTmFtZToibHVjaWRlOkJveCIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRG9ja2VyIEh1YiIpfSwiYWN0aW9uIil9LHtrZXk6IkdIQ1IiLGljb25OYW1lOiJsdWNpZGU6R2l0aHViIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJHSENSIil9LCJhY3Rpb24iKX1dfV19KSl9b25EZWFjdGl2YXRlKCl7fWRlbW9PbmVib3hJbWFnZXM9KHJldCh0aGlzLGwpLFt7aWQ6IjEiLG5hbWU6ImFwaS1nYXRld2F5Iix0YWdzOlsibGF0ZXN0IiwidjIuMS4wIiwidjIuMC4wIl0sc2l6ZToiMjU2IE1CIix1cGRhdGVkOiIyMDI0LTAxLTIwIixwdWxsczoxNDJ9LHtpZDoiMiIsbmFtZToiZnJvbnRlbmQiLHRhZ3M6WyJsYXRlc3QiLCJ2MS41LjAiXSxzaXplOiIxMjggTUIiLHVwZGF0ZWQ6IjIwMjQtMDEtMTkiLHB1bGxzOjg5fSx7aWQ6IjMiLG5hbWU6Indvcmtlci1zZXJ2aWNlIix0YWdzOlsibGF0ZXN0Il0sc2l6ZToiNjQgTUIiLHVwZGF0ZWQ6IjIwMjQtMDEtMTgiLHB1bGxzOjU2fSx7aWQ6IjQiLG5hbWU6ImFkbWluLXBhbmVsIix0YWdzOlsibGF0ZXN0IiwidjMuMC4wIiwidjIuOS4wIl0sc2l6ZToiMTkyIE1CIix1cGRhdGVkOiIyMDI0LTAxLTE3IixwdWxsczozNH1dKTtkZW1vRXh0ZXJuYWxSZWdpc3RyaWVzPVt7aWQ6IjEiLG5hbWU6IkRvY2tlciBIdWIiLHVybDoiZG9ja2VyLmlvIixzdGF0dXM6ImNvbm5lY3RlZCIsaW1hZ2VzOjEyfSx7aWQ6IjIiLG5hbWU6IkdpdEh1YiBDb250YWluZXIgUmVnaXN0cnkiLHVybDoiZ2hjci5pbyIsc3RhdHVzOiJjb25uZWN0ZWQiLGltYWdlczo4fSx7aWQ6IjMiLG5hbWU6IkFXUyBFQ1IiLHVybDoiMTIzNDU2Nzg5LmRrci5lY3IudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20iLHN0YXR1czoiZXJyb3IiLGltYWdlczowfV07c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wYWdlLWhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnBhZ2UtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7CiAgICAgIH0KCiAgICAgIC5wYWdlLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC50YWJzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnRhYiB7CiAgICAgICAgcGFkZGluZzogMTBweCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5hY3RpdmUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50YWIuYWN0aXZlOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogLTFweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHggMXB4IDAgMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5jdXJyZW50VGFiPT09Im9uZWJveCI/d2AKICAgICAgICA8c3otcmVnaXN0cnktYWR2ZXJ0aXNlbWVudAogICAgICAgICAgLmltYWdlcz0ke3RoaXMuZGVtb09uZWJveEltYWdlc30KICAgICAgICAgIC5zdGF0cz0ke3t0b3RhbEltYWdlczo0LHRvdGFsU2l6ZToiNjQwIE1CIix0b3RhbFB1bGxzOjMyMX19CiAgICAgICAgICBAdmlldy1pbWFnZT0ke2M9PmNvbnNvbGUubG9nKCJWaWV3IGltYWdlOiIsYy5kZXRhaWwpfQogICAgICAgICAgQGRlbGV0ZS1pbWFnZT0ke2M9PmNvbnNvbGUubG9nKCJEZWxldGUgaW1hZ2U6IixjLmRldGFpbCl9CiAgICAgICAgICBAZGVsZXRlLXRhZz0ke2M9PmNvbnNvbGUubG9nKCJEZWxldGUgdGFnOiIsYy5kZXRhaWwpfQogICAgICAgID48L3N6LXJlZ2lzdHJ5LWFkdmVydGlzZW1lbnQ+CiAgICAgIGA6d2AKICAgICAgICA8c3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldwogICAgICAgICAgLnJlZ2lzdHJpZXM9JHt0aGlzLmRlbW9FeHRlcm5hbFJlZ2lzdHJpZXN9CiAgICAgICAgICBAYWRkLXJlZ2lzdHJ5PSR7KCk9PmNvbnNvbGUubG9nKCJBZGQgcmVnaXN0cnkiKX0KICAgICAgICAgIEBlZGl0LXJlZ2lzdHJ5PSR7Yz0+Y29uc29sZS5sb2coIkVkaXQgcmVnaXN0cnk6IixjLmRldGFpbCl9CiAgICAgICAgICBAZGVsZXRlLXJlZ2lzdHJ5PSR7Yz0+Y29uc29sZS5sb2coIkRlbGV0ZSByZWdpc3RyeToiLGMuZGV0YWlsKX0KICAgICAgICAgIEB0ZXN0LWNvbm5lY3Rpb249JHtjPT5jb25zb2xlLmxvZygiVGVzdCBjb25uZWN0aW9uOiIsYy5kZXRhaWwpfQogICAgICAgID48L3N6LXJlZ2lzdHJ5LWV4dGVybmFsLXZpZXc+CiAgICAgIGB9CiAgICBgfXN0YXRpY3tyZXQocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIGtSYSxTUmEselJhLGFwYT1mKCgpPT57bGUoKTtmbigpO2tSYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sU1JhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx6UmE9KCgpPT57bGV0IGE9W2llKCJzei1kZW1vLXZpZXctdG9rZW5zIildLGUsdD1bXSxyLGk9cGU7dmFyIG89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGVtb1ZpZXdUb2tlbnMiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtrUmEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bn0sbnVsbCx0KSxvPXI9ZS52YWx1ZSxuJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KX1hcHB1aT1udWxsO2FzeW5jIG9uQWN0aXZhdGUobil7dGhpcy5hcHB1aT1uLmFwcHVpLHRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiVG9rZW5zIixncm91cHM6W3tuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJDcmVhdGUgR2xvYmFsIFRva2VuIixpY29uTmFtZToibHVjaWRlOlBsdXMiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkNyZWF0ZSBnbG9iYWwgdG9rZW4iKX0sImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIixrZXk6IkNyZWF0ZSBDSSBUb2tlbiIsaWNvbk5hbWU6Imx1Y2lkZTpHaXRCcmFuY2giLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkNyZWF0ZSBDSSB0b2tlbiIpfSwiYWN0aW9uIil9XX0se25hbWU6IlRva2VuIFR5cGVzIixpdGVtczpbe2tleToiR2xvYmFsIFRva2VucyIsaWNvbk5hbWU6Imx1Y2lkZTpLZXkiLGJhZGdlOiIzIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgZ2xvYmFsIil9LCJhY3Rpb24iKX0se2tleToiQ0kgVG9rZW5zIixpY29uTmFtZToibHVjaWRlOkNwdSIsYmFkZ2U6IjMiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBDSSIpfSwiYWN0aW9uIil9XX1dfSl9b25EZWFjdGl2YXRlKCl7fWRlbW9HbG9iYWxUb2tlbnM9W3tpZDoiMSIsbmFtZToiQ0kvQ0QgUGlwZWxpbmUiLHR5cGU6Imdsb2JhbCIsY3JlYXRlZEF0OiIyMDI0LTAxLTE1IixsYXN0VXNlZDoiMjAyNC0wMS0yMCJ9LHtpZDoiMiIsbmFtZToiRGV2ZWxvcG1lbnQiLHR5cGU6Imdsb2JhbCIsY3JlYXRlZEF0OiIyMDI0LTAxLTEwIn0se2lkOiIzIixuYW1lOiJQcm9kdWN0aW9uIERlcGxveSIsdHlwZToiZ2xvYmFsIixjcmVhdGVkQXQ6IjIwMjQtMDEtMDUiLGxhc3RVc2VkOiIyMDI0LTAxLTE5In1dO2RlbW9DaVRva2Vucz1be2lkOiI0IixuYW1lOiJhcGktZ2F0ZXdheS1jaSIsdHlwZToiY2kiLHNlcnZpY2U6ImFwaS1nYXRld2F5IixjcmVhdGVkQXQ6IjIwMjQtMDEtMTgiLGxhc3RVc2VkOiIyMDI0LTAxLTIwIn0se2lkOiI1IixuYW1lOiJmcm9udGVuZC1jaSIsdHlwZToiY2kiLHNlcnZpY2U6ImZyb250ZW5kIixjcmVhdGVkQXQ6IjIwMjQtMDEtMTIiLGxhc3RVc2VkOiIyMDI0LTAxLTE5In0se2lkOiI2IixuYW1lOiJ3b3JrZXItc2VydmljZS1jaSIsdHlwZToiY2kiLHNlcnZpY2U6Indvcmtlci1zZXJ2aWNlIixjcmVhdGVkQXQ6IjIwMjQtMDEtMDgifV07c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wYWdlLWhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnBhZ2UtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7CiAgICAgIH0KCiAgICAgIC5wYWdlLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJwYWdlLWhlYWRlciI+CiAgICAgICAgPGgxIGNsYXNzPSJwYWdlLXRpdGxlIj5Ub2tlbnM8L2gxPgogICAgICAgIDxwIGNsYXNzPSJwYWdlLXN1YnRpdGxlIj5NYW5hZ2UgcmVnaXN0cnkgYWNjZXNzIHRva2VucyBmb3IgQ0kvQ0QgcGlwZWxpbmVzPC9wPgogICAgICA8L2Rpdj4KCiAgICAgIDxzei10b2tlbnMtdmlldwogICAgICAgIC5nbG9iYWxUb2tlbnM9JHt0aGlzLmRlbW9HbG9iYWxUb2tlbnN9CiAgICAgICAgLmNpVG9rZW5zPSR7dGhpcy5kZW1vQ2lUb2tlbnN9CiAgICAgICAgQGNyZWF0ZT0ke249PmNvbnNvbGUubG9nKCJDcmVhdGUgdG9rZW46IixuLmRldGFpbCl9CiAgICAgICAgQGNvcHk9JHtuPT5jb25zb2xlLmxvZygiQ29weSB0b2tlbjoiLG4uZGV0YWlsKX0KICAgICAgICBAcmVnZW5lcmF0ZT0ke249PmNvbnNvbGUubG9nKCJSZWdlbmVyYXRlIHRva2VuOiIsbi5kZXRhaWwpfQogICAgICAgIEBkZWxldGU9JHtuPT5jb25zb2xlLmxvZygiRGVsZXRlIHRva2VuOiIsbi5kZXRhaWwpfQogICAgICA+PC9zei10b2tlbnMtdmlldz4KICAgIGB9c3RhdGlje1NSYShyLHQpfX07cmV0dXJuIG89cn0pKCl9KTt2YXIgQ1JhLF9SYSxUUmEscnBhPWYoKCk9PntsZSgpO2ZuKCk7Q1JhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxfUmE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFRSYT0oKCk9PntsZXQgYT1baWUoInN6LWRlbW8tdmlldy1zZXR0aW5ncyIpXSxlLHQ9W10scixpPXBlO3ZhciBvPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekRlbW9WaWV3U2V0dGluZ3MiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtDUmEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bn0sbnVsbCx0KSxvPXI9ZS52YWx1ZSxuJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KX1hcHB1aT1udWxsO2FzeW5jIG9uQWN0aXZhdGUobil7dGhpcy5hcHB1aT1uLmFwcHVpLHRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiU2V0dGluZ3MiLGdyb3Vwczpbe25hbWU6IkNhdGVnb3JpZXMiLGl0ZW1zOlt7a2V5OiJHZW5lcmFsIixpY29uTmFtZToibHVjaWRlOlNldHRpbmdzIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJHZW5lcmFsIHNldHRpbmdzIil9LCJhY3Rpb24iKX0se2tleToiTmV0d29yayIsaWNvbk5hbWU6Imx1Y2lkZTpOZXR3b3JrIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJOZXR3b3JrIHNldHRpbmdzIil9LCJhY3Rpb24iKX0se2tleToiU2VjdXJpdHkiLGljb25OYW1lOiJsdWNpZGU6U2hpZWxkIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJTZWN1cml0eSBzZXR0aW5ncyIpfSwiYWN0aW9uIil9LHtrZXk6IkNlcnRpZmljYXRlcyIsaWNvbk5hbWU6Imx1Y2lkZTpGaWxlQmFkZ2UiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkNlcnRpZmljYXRlIHNldHRpbmdzIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiRXhwb3J0IENvbmZpZyIsaWNvbk5hbWU6Imx1Y2lkZTpEb3dubG9hZCIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRXhwb3J0IGNvbmZpZyIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiSW1wb3J0IENvbmZpZyIsaWNvbk5hbWU6Imx1Y2lkZTpVcGxvYWQiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkltcG9ydCBjb25maWciKX0sImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIix2YXJpYW50OiJkYW5nZXIiLGtleToiUmVzZXQgdG8gRGVmYXVsdCIsaWNvbk5hbWU6Imx1Y2lkZTpSb3RhdGVDY3ciLGNvbmZpcm1NZXNzYWdlOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVzZXQgYWxsIHNldHRpbmdzIHRvIGRlZmF1bHQ/IixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJSZXNldCBzZXR0aW5ncyIpfSwiYWN0aW9uIil9XX1dfSl9b25EZWFjdGl2YXRlKCl7fWRlbW9TZXR0aW5ncz17ZGFya01vZGU6ITAsY2xvdWRmbGFyZVRva2VuOiIiLGNsb3VkZmxhcmVab25lSWQ6IiIsYXV0b1JlbmV3Q2VydHM6ITAscmVuZXdhbFRocmVzaG9sZDozMCxhY21lRW1haWw6ImFkbWluQHNlcnZlLnpvbmUiLGh0dHBQb3J0OjgwLGh0dHBzUG9ydDo0NDMsZm9yY2VIdHRwczohMH07c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wYWdlLWhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnBhZ2UtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7CiAgICAgIH0KCiAgICAgIC5wYWdlLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5zZXR0aW5ncy1jb250YWluZXIgewogICAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJwYWdlLWhlYWRlciI+CiAgICAgICAgPGgxIGNsYXNzPSJwYWdlLXRpdGxlIj5TZXR0aW5nczwvaDE+CiAgICAgICAgPHAgY2xhc3M9InBhZ2Utc3VidGl0bGUiPkNvbmZpZ3VyZSB5b3VyIG9uZWJveCBpbnN0YW5jZTwvcD4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1jb250YWluZXIiPgogICAgICAgIDxzei1zZXR0aW5ncy12aWV3CiAgICAgICAgICAuc2V0dGluZ3M9JHt0aGlzLmRlbW9TZXR0aW5nc30KICAgICAgICAgIGN1cnJlbnRVc2VyPSJhZG1pbiIKICAgICAgICAgIEBzZXR0aW5nLWNoYW5nZT0ke249PmNvbnNvbGUubG9nKCJTZXR0aW5nIGNoYW5nZToiLG4uZGV0YWlsKX0KICAgICAgICAgIEBjaGFuZ2UtcGFzc3dvcmQ9JHtuPT5jb25zb2xlLmxvZygiQ2hhbmdlIHBhc3N3b3JkOiIsbi5kZXRhaWwpfQogICAgICAgICAgQHJlc2V0PSR7KCk9PmNvbnNvbGUubG9nKCJSZXNldCBzZXR0aW5ncyIpfQogICAgICAgICAgQHNhdmU9JHtuPT5jb25zb2xlLmxvZygiU2F2ZSBzZXR0aW5nczoiLG4uZGV0YWlsKX0KICAgICAgICA+PC9zei1zZXR0aW5ncy12aWV3PgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje19SYShyLHQpfX07cmV0dXJuIG89cn0pKCl9KTt2YXIgYmllLEw1LExSYSxzcGE9ZigoKT0+e2xlKCk7Zm4oKTtiaWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEw1PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxMUmE9KCgpPT57bGV0IGE9W2llKCJzei1kZW1vLXZpZXctbXRhIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGVtb1ZpZXdNdGEiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVtLKCldLGQ9W0soKV0sdT1bSygpXSxiaWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iY3VycmVudFZpZXciaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5jdXJyZW50VmlldywiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmN1cnJlbnRWaWV3PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbixsKSxiaWUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZEVtYWlsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJzZWxlY3RlZEVtYWlsImluIGcsImhhcyIpLGdldDpzKGc9Pmcuc2VsZWN0ZWRFbWFpbCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnNlbGVjdGVkRW1haWw9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLGJpZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnREaXJlY3Rpb25GaWx0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImN1cnJlbnREaXJlY3Rpb25GaWx0ZXIiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5jdXJyZW50RGlyZWN0aW9uRmlsdGVyLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuY3VycmVudERpcmVjdGlvbkZpbHRlcj15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG0sdiksYmllKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9YXBwdWk9bnVsbDsjZT1MNSh0aGlzLG4sImxpc3QiKTtnZXQgY3VycmVudFZpZXcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudFZpZXcoYil7dGhpcy4jZT1ifSN0PShMNSh0aGlzLGwpLEw1KHRoaXMsYyxudWxsKSk7Z2V0IHNlbGVjdGVkRW1haWwoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VsZWN0ZWRFbWFpbChiKXt0aGlzLiN0PWJ9I2E9KEw1KHRoaXMscCksTDUodGhpcyxtLCJhbGwiKSk7Z2V0IGN1cnJlbnREaXJlY3Rpb25GaWx0ZXIoKXtyZXR1cm4gdGhpcy4jYX1zZXQgY3VycmVudERpcmVjdGlvbkZpbHRlcihiKXt0aGlzLiNhPWJ9ZGVtb0VtYWlscz0oTDUodGhpcyx2KSxbe2lkOiIxIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToibm9yZXBseUBzZXJ2ZS56b25lIix0bzoidXNlckBleGFtcGxlLmNvbSIsc3ViamVjdDoiV2VsY29tZSB0byBzZXJ2ZS56b25lIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MzA6MjIiLG1lc3NhZ2VJZDoiPGFiYzEyM0BzZXJ2ZS56b25lPiIsc2l6ZToiMTIuNCBLQiJ9LHtpZDoiMiIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJib3VuY2VkIixmcm9tOiJhbGVydHNAc2VydmUuem9uZSIsdG86ImludmFsaWRAbm93aGVyZS50ZXN0IixzdWJqZWN0OiJTZXJ2aWNlIEFsZXJ0OiBDUFUgVXNhZ2UgSGlnaCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjI4OjEwIixtZXNzYWdlSWQ6IjxkZWY0NTZAc2VydmUuem9uZT4iLHNpemU6IjguMiBLQiJ9LHtpZDoiMyIsZGlyZWN0aW9uOiJpbmJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToic3VwcG9ydEBjdXN0b21lci5jb20iLHRvOiJhZG1pbkBzZXJ2ZS56b25lIixzdWJqZWN0OiJSZTogSW5mcmFzdHJ1Y3R1cmUgUmV2aWV3Iix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MjU6MDAiLG1lc3NhZ2VJZDoiPGdoaTc4OUBjdXN0b21lci5jb20+IixzaXplOiIyNC4xIEtCIn0se2lkOiI0IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6InJlamVjdGVkIixmcm9tOiJiaWxsaW5nQHNlcnZlLnpvbmUiLHRvOiJibG9ja2VkQHNwYW0tZG9tYWluLnRlc3QiLHN1YmplY3Q6Ikludm9pY2UgIzIwMjQtMDAxIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MjA6NDUiLG1lc3NhZ2VJZDoiPGprbDAxMkBzZXJ2ZS56b25lPiIsc2l6ZToiNDUuNiBLQiJ9LHtpZDoiNSIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJkZWZlcnJlZCIsZnJvbToibm9yZXBseUBzZXJ2ZS56b25lIix0bzoic2xvd0ByZW1vdGUtc2VydmVyLnRlc3QiLHN1YmplY3Q6IlBhc3N3b3JkIFJlc2V0IFJlcXVlc3QiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoxNTozMCIsbWVzc2FnZUlkOiI8bW5vMzQ1QHNlcnZlLnpvbmU+IixzaXplOiI2LjggS0IifSx7aWQ6IjYiLGRpcmVjdGlvbjoiaW5ib3VuZCIsc3RhdHVzOiJkZWxpdmVyZWQiLGZyb206ImNpQGdpdGh1Yi5jb20iLHRvOiJkZXZvcHNAc2VydmUuem9uZSIsc3ViamVjdDoiQnVpbGQgIzQ1MjEgcGFzc2VkIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MTA6MDAiLG1lc3NhZ2VJZDoiPHBxcjY3OEBnaXRodWIuY29tPiIsc2l6ZToiMTUuMyBLQiJ9LHtpZDoiNyIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJwZW5kaW5nIixmcm9tOiJyZXBvcnRzQHNlcnZlLnpvbmUiLHRvOiJ0ZWFtQHNlcnZlLnpvbmUiLHN1YmplY3Q6IldlZWtseSBJbmZyYXN0cnVjdHVyZSBSZXBvcnQiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDowNTowMCIsbWVzc2FnZUlkOiI8c3R1OTAxQHNlcnZlLnpvbmU+IixzaXplOiIxMDIuNyBLQiJ9LHtpZDoiOCIsZGlyZWN0aW9uOiJpbmJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToibW9uaXRvcmluZ0B1cHRpbWUuaW8iLHRvOiJvcHNAc2VydmUuem9uZSIsc3ViamVjdDoiVXB0aW1lIFJlcG9ydDogOTkuOTglIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTM6NTU6MDAiLG1lc3NhZ2VJZDoiPHZ3eDIzNEB1cHRpbWUuaW8+IixzaXplOiI5LjEgS0IifV0pO2RlbW9FbWFpbERldGFpbHM9ezE6e2lkOiIxIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToibm9yZXBseUBzZXJ2ZS56b25lIix0bzoidXNlckBleGFtcGxlLmNvbSIsdG9MaXN0OlsidXNlckBleGFtcGxlLmNvbSJdLHN1YmplY3Q6IldlbGNvbWUgdG8gc2VydmUuem9uZSIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjMwOjIyIixtZXNzYWdlSWQ6IjxhYmMxMjNAc2VydmUuem9uZT4iLHNpemU6IjEyLjQgS0IiLHNtdHBMb2c6W3t0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiRUhMTyBtYWlsLnNlcnZlLnpvbmUifSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1tYWlsLmV4YW1wbGUuY29tIEhlbGxvIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1TVEFSVFRMUyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgU0laRSA1MjQyODgwMCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJTVEFSVFRMUyJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIwIFJlYWR5IHRvIHN0YXJ0IFRMUyIscmVzcG9uc2VDb2RlOjIyMH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJFSExPIG1haWwuc2VydmUuem9uZSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLW1haWwuZXhhbXBsZS5jb20gSGVsbG8iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLUFVVEggUExBSU4gTE9HSU4iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIFNJWkUgNTI0Mjg4MDAiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiQVVUSCBQTEFJTiBBSFZ6WlhJQWNHRnpjM2R2Y21RPSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjM1IDIuNy4wIEF1dGhlbnRpY2F0aW9uIHN1Y2Nlc3NmdWwiLHJlc3BvbnNlQ29kZToyMzV9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiTUFJTCBGUk9NOjxub3JlcGx5QHNlcnZlLnpvbmU+In0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgT0siLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiUkNQVCBUTzo8dXNlckBleGFtcGxlLmNvbT4ifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBBY2NlcHRlZCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJEQVRBIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiczNTQgRW50ZXIgbWVzc2FnZSwgZW5kaW5nIHdpdGggIi4iIG9uIGEgbGluZSBieSBpdHNlbGYnLHJlc3BvbnNlQ29kZTozNTR9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiLiJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIGlkPTFwUTJyUy0wMDAzQWItQzQiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiUVVJVCJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIxIG1haWwuZXhhbXBsZS5jb20gY2xvc2luZyBjb25uZWN0aW9uIixyZXNwb25zZUNvZGU6MjIxfV0sY29ubmVjdGlvbkluZm86e3NvdXJjZUlwOiIxMC4wLjEuNTAiLHNvdXJjZUhvc3RuYW1lOiJtYWlsLnNlcnZlLnpvbmUiLGRlc3RpbmF0aW9uSXA6IjkzLjE4NC4yMTYuMzQiLGRlc3RpbmF0aW9uUG9ydDoyNSx0bHNWZXJzaW9uOiJUTFN2MS4zIix0bHNDaXBoZXI6IlRMU19BRVNfMjU2X0dDTV9TSEEzODQiLGF1dGhlbnRpY2F0ZWQ6ITAsYXV0aE1ldGhvZDoiUExBSU4iLGF1dGhVc2VyOiJub3JlcGx5QHNlcnZlLnpvbmUifSxhdXRoZW50aWNhdGlvblJlc3VsdHM6e3NwZjoicGFzcyIsc3BmRG9tYWluOiJzZXJ2ZS56b25lIixka2ltOiJwYXNzIixka2ltRG9tYWluOiJzZXJ2ZS56b25lIixkbWFyYzoicGFzcyIsZG1hcmNQb2xpY3k6InJlamVjdCJ9LGhlYWRlcnM6e0Zyb206Im5vcmVwbHlAc2VydmUuem9uZSIsVG86InVzZXJAZXhhbXBsZS5jb20iLFN1YmplY3Q6IldlbGNvbWUgdG8gc2VydmUuem9uZSIsRGF0ZToiTW9uLCAxNSBKYW4gMjAyNCAxNDozMDoyMiArMDAwMCIsIk1JTUUtVmVyc2lvbiI6IjEuMCIsIkNvbnRlbnQtVHlwZSI6InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCJ9LGJvZHk6YDxodG1sPgo8aGVhZD48dGl0bGU+V2VsY29tZTwvdGl0bGU+PC9oZWFkPgo8Ym9keT4KICA8aDE+V2VsY29tZSB0byBzZXJ2ZS56b25lITwvaDE+CiAgPHA+WW91ciBhY2NvdW50IGhhcyBiZWVuIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LjwvcD4KICA8cD5HZXQgc3RhcnRlZCBieSB2aXNpdGluZyB5b3VyIDxhIGhyZWY9Imh0dHBzOi8vc2VydmUuem9uZS9kYXNoYm9hcmQiPmRhc2hib2FyZDwvYT4uPC9wPgo8L2JvZHk+CjwvaHRtbD5gfSwyOntpZDoiMiIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJib3VuY2VkIixmcm9tOiJhbGVydHNAc2VydmUuem9uZSIsdG86ImludmFsaWRAbm93aGVyZS50ZXN0Iix0b0xpc3Q6WyJpbnZhbGlkQG5vd2hlcmUudGVzdCJdLHN1YmplY3Q6IlNlcnZpY2UgQWxlcnQ6IENQVSBVc2FnZSBIaWdoIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6Mjg6MTAiLG1lc3NhZ2VJZDoiPGRlZjQ1NkBzZXJ2ZS56b25lPiIsc2l6ZToiOC4yIEtCIixyZWplY3Rpb25SZWFzb246IjU1MCA1LjEuMSBUaGUgZW1haWwgYWNjb3VudCB0aGF0IHlvdSB0cmllZCB0byByZWFjaCBkb2VzIG5vdCBleGlzdC4iLGJvdW5jZU1lc3NhZ2U6YERlbGl2ZXJ5IHRvIHRoZSBmb2xsb3dpbmcgcmVjaXBpZW50IGZhaWxlZCBwZXJtYW5lbnRseToKCiAgICBpbnZhbGlkQG5vd2hlcmUudGVzdAoKVGVjaG5pY2FsIGRldGFpbHMgb2YgcGVybWFuZW50IGZhaWx1cmU6Ckdvb2dsZSB0cmllZCB0byBkZWxpdmVyIHlvdXIgbWVzc2FnZSwgYnV0IGl0IHdhcyByZWplY3RlZCBieSB0aGUgc2VydmVyIGZvciB0aGUgcmVjaXBpZW50IGRvbWFpbiBub3doZXJlLnRlc3QuYCxzbXRwTG9nOlt7dGltZXN0YW1wOiIxNDoyODowOCIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkVITE8gbWFpbC5zZXJ2ZS56b25lIn0se3RpbWVzdGFtcDoiMTQ6Mjg6MDgiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtbWFpbC5ub3doZXJlLnRlc3QgSGVsbG8iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjI4OjA4IixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiTUFJTCBGUk9NOjxhbGVydHNAc2VydmUuem9uZT4ifSx7dGltZXN0YW1wOiIxNDoyODowOSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBPSyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6Mjg6MDkiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJSQ1BUIFRPOjxpbnZhbGlkQG5vd2hlcmUudGVzdD4ifSx7dGltZXN0YW1wOiIxNDoyODoxMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjU1MCA1LjEuMSBUaGUgZW1haWwgYWNjb3VudCB0aGF0IHlvdSB0cmllZCB0byByZWFjaCBkb2VzIG5vdCBleGlzdC4iLHJlc3BvbnNlQ29kZTo1NTB9LHt0aW1lc3RhbXA6IjE0OjI4OjEwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiUVVJVCJ9LHt0aW1lc3RhbXA6IjE0OjI4OjEwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIxIEJ5ZSIscmVzcG9uc2VDb2RlOjIyMX1dLGNvbm5lY3Rpb25JbmZvOntzb3VyY2VJcDoiMTAuMC4xLjUwIixzb3VyY2VIb3N0bmFtZToibWFpbC5zZXJ2ZS56b25lIixkZXN0aW5hdGlvbklwOiIxOTguNTEuMTAwLjI1IixkZXN0aW5hdGlvblBvcnQ6MjUsdGxzVmVyc2lvbjoiVExTdjEuMiIsdGxzQ2lwaGVyOiJFQ0RIRS1SU0EtQUVTMTI4LUdDTS1TSEEyNTYiLGF1dGhlbnRpY2F0ZWQ6ITAsYXV0aE1ldGhvZDoiUExBSU4iLGF1dGhVc2VyOiJhbGVydHNAc2VydmUuem9uZSJ9LGF1dGhlbnRpY2F0aW9uUmVzdWx0czp7c3BmOiJwYXNzIixzcGZEb21haW46InNlcnZlLnpvbmUiLGRraW06InBhc3MiLGRraW1Eb21haW46InNlcnZlLnpvbmUiLGRtYXJjOiJwYXNzIixkbWFyY1BvbGljeToicXVhcmFudGluZSJ9LGhlYWRlcnM6e0Zyb206ImFsZXJ0c0BzZXJ2ZS56b25lIixUbzoiaW52YWxpZEBub3doZXJlLnRlc3QiLFN1YmplY3Q6IlNlcnZpY2UgQWxlcnQ6IENQVSBVc2FnZSBIaWdoIixEYXRlOiJNb24sIDE1IEphbiAyMDI0IDE0OjI4OjEwICswMDAwIiwiTUlNRS1WZXJzaW9uIjoiMS4wIiwiQ29udGVudC1UeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOCJ9LGJvZHk6YEFMRVJUOiBDUFUgVXNhZ2UgSGlnaAoKU2VydmljZTogYXBpLWdhdGV3YXkKQ3VycmVudCBVc2FnZTogOTQuMiUKVGhyZXNob2xkOiA5MCUKVGltZXN0YW1wOiAyMDI0LTAxLTE1IDE0OjI4OjAwIFVUQwoKUGxlYXNlIGludmVzdGlnYXRlIGltbWVkaWF0ZWx5LmB9LDM6e2lkOiIzIixkaXJlY3Rpb246ImluYm91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJzdXBwb3J0QGN1c3RvbWVyLmNvbSIsdG86ImFkbWluQHNlcnZlLnpvbmUiLHRvTGlzdDpbImFkbWluQHNlcnZlLnpvbmUiXSxjYzpbIm9wc0BzZXJ2ZS56b25lIl0sc3ViamVjdDoiUmU6IEluZnJhc3RydWN0dXJlIFJldmlldyIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjI1OjAwIixtZXNzYWdlSWQ6IjxnaGk3ODlAY3VzdG9tZXIuY29tPiIsc2l6ZToiMjQuMSBLQiIsc210cExvZzpbe3RpbWVzdGFtcDoiMTQ6MjQ6NTgiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJFSExPIG1haWwuY3VzdG9tZXIuY29tIn0se3RpbWVzdGFtcDoiMTQ6MjQ6NTgiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtbWFpbC5zZXJ2ZS56b25lIEhlbGxvIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDoyNDo1OCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1TVEFSVFRMUyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MjQ6NTgiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgU0laRSA1MjQyODgwMCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MjQ6NTkiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJTVEFSVFRMUyJ9LHt0aW1lc3RhbXA6IjE0OjI0OjU5IixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIwIFJlYWR5IHRvIHN0YXJ0IFRMUyIscmVzcG9uc2VDb2RlOjIyMH0se3RpbWVzdGFtcDoiMTQ6MjQ6NTkiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJNQUlMIEZST006PHN1cHBvcnRAY3VzdG9tZXIuY29tPiJ9LHt0aW1lc3RhbXA6IjE0OjI0OjU5IixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDoyNDo1OSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlJDUFQgVE86PGFkbWluQHNlcnZlLnpvbmU+In0se3RpbWVzdGFtcDoiMTQ6MjU6MDAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgQWNjZXB0ZWQiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjI1OjAwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiREFUQSJ9LHt0aW1lc3RhbXA6IjE0OjI1OjAwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMzU0IEVudGVyIG1lc3NhZ2UiLHJlc3BvbnNlQ29kZTozNTR9LHt0aW1lc3RhbXA6IjE0OjI1OjAwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiLiJ9LHt0aW1lc3RhbXA6IjE0OjI1OjAwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIGlkPTJiUjNzVC0wMDA0Q2QtRTUiLHJlc3BvbnNlQ29kZToyNTB9XSxjb25uZWN0aW9uSW5mbzp7c291cmNlSXA6IjIwMy4wLjExMy40NSIsc291cmNlSG9zdG5hbWU6Im1haWwuY3VzdG9tZXIuY29tIixkZXN0aW5hdGlvbklwOiIxMC4wLjEuNTAiLGRlc3RpbmF0aW9uUG9ydDoyNSx0bHNWZXJzaW9uOiJUTFN2MS4zIix0bHNDaXBoZXI6IlRMU19BRVNfMTI4X0dDTV9TSEEyNTYiLGF1dGhlbnRpY2F0ZWQ6ITEsYXV0aE1ldGhvZDoiIixhdXRoVXNlcjoiIn0sYXV0aGVudGljYXRpb25SZXN1bHRzOntzcGY6InBhc3MiLHNwZkRvbWFpbjoiY3VzdG9tZXIuY29tIixka2ltOiJwYXNzIixka2ltRG9tYWluOiJjdXN0b21lci5jb20iLGRtYXJjOiJwYXNzIixkbWFyY1BvbGljeToibm9uZSJ9LGhlYWRlcnM6e0Zyb206InN1cHBvcnRAY3VzdG9tZXIuY29tIixUbzoiYWRtaW5Ac2VydmUuem9uZSIsQ0M6Im9wc0BzZXJ2ZS56b25lIixTdWJqZWN0OiJSZTogSW5mcmFzdHJ1Y3R1cmUgUmV2aWV3IixEYXRlOiJNb24sIDE1IEphbiAyMDI0IDE0OjI1OjAwICswMDAwIiwiTUlNRS1WZXJzaW9uIjoiMS4wIiwiQ29udGVudC1UeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOCIsIkluLVJlcGx5LVRvIjoiPHByZXYxMjNAc2VydmUuem9uZT4ifSxib2R5OmBIaSBBZG1pbiwKClRoYW5rIHlvdSBmb3IgdGhlIGRldGFpbGVkIGluZnJhc3RydWN0dXJlIHJldmlldyByZXBvcnQuCgpXZSBoYXZlIHJldmlld2VkIHRoZSByZWNvbW1lbmRhdGlvbnMgYW5kIHdvdWxkIGxpa2UgdG8KcHJvY2VlZCB3aXRoIHRoZSBmb2xsb3dpbmc6CgoxLiBVcGdyYWRlIHRvIHRoZSBQcm8gdGllcgoyLiBFbmFibGUgYXV0b21hdGljIGJhY2t1cHMKMy4gU2V0IHVwIG1vbml0b3JpbmcgYWxlcnRzCgpQbGVhc2UgbGV0IHVzIGtub3cgdGhlIHRpbWVsaW5lIGZvciB0aGVzZSBjaGFuZ2VzLgoKQmVzdCByZWdhcmRzLApDdXN0b21lciBTdXBwb3J0IFRlYW1gfX07YXN5bmMgb25BY3RpdmF0ZShiKXt0aGlzLmFwcHVpPWIuYXBwdWksdGhpcy5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiQWxsIEVtYWlscyIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnREaXJlY3Rpb25GaWx0ZXI9ImFsbCIsdGhpcy5jdXJyZW50Vmlldz0ibGlzdCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiSW5ib3VuZCIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnREaXJlY3Rpb25GaWx0ZXI9ImluYm91bmQiLHRoaXMuY3VycmVudFZpZXc9Imxpc3QiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9LHtrZXk6Ik91dGJvdW5kIixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudERpcmVjdGlvbkZpbHRlcj0ib3V0Ym91bmQiLHRoaXMuY3VycmVudFZpZXc9Imxpc3QiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9XSksdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9dXBkYXRlU2Vjb25kYXJ5TWVudSgpe3RoaXMuYXBwdWkmJnRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiRW1haWwgLyBNVEEiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IlJlZnJlc2giLGljb25OYW1lOiJsdWNpZGU6UmVmcmVzaEN3IixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJSZWZyZXNoIGVtYWlscyIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiRXhwb3J0IExvZ3MiLGljb25OYW1lOiJsdWNpZGU6RG93bmxvYWQiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkV4cG9ydCBsb2dzIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiU3RhdHVzIEZpbHRlcnMiLGl0ZW1zOlt7a2V5OiJEZWxpdmVyZWQiLGljb25OYW1lOiJsdWNpZGU6Q2hlY2tDaXJjbGUiLGJhZGdlOiI1IixiYWRnZVZhcmlhbnQ6InN1Y2Nlc3MiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBkZWxpdmVyZWQiKX0sImFjdGlvbiIpfSx7a2V5OiJCb3VuY2VkIixpY29uTmFtZToibHVjaWRlOlhDaXJjbGUiLGJhZGdlOiIxIixiYWRnZVZhcmlhbnQ6ImVycm9yIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgYm91bmNlZCIpfSwiYWN0aW9uIil9LHtrZXk6IkRlZmVycmVkIixpY29uTmFtZToibHVjaWRlOkNsb2NrIixiYWRnZToiMSIsYmFkZ2VWYXJpYW50OiJ3YXJuaW5nIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgZGVmZXJyZWQiKX0sImFjdGlvbiIpfSx7a2V5OiJQZW5kaW5nIixpY29uTmFtZToibHVjaWRlOkxvYWRlciIsYmFkZ2U6IjEiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBwZW5kaW5nIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiU3RhdGlzdGljcyIsaXRlbXM6W3t0eXBlOiJoZWFkZXIiLGxhYmVsOiI4IFRvdGFsIEVtYWlscyJ9LHt0eXBlOiJoZWFkZXIiLGxhYmVsOiI2Mi41JSBEZWxpdmVyeSBSYXRlIn1dfV19KX1vbkRlYWN0aXZhdGUoKXt9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmN1cnJlbnRWaWV3PT09ImRldGFpbCImJnRoaXMuc2VsZWN0ZWRFbWFpbD93YAogICAgICAgIDxzei1tdGEtZGV0YWlsLXZpZXcKICAgICAgICAgIC5lbWFpbD0ke3RoaXMuc2VsZWN0ZWRFbWFpbH0KICAgICAgICAgIEBiYWNrPSR7KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJsaXN0Iix0aGlzLnNlbGVjdGVkRW1haWw9bnVsbH19CiAgICAgICAgPjwvc3otbXRhLWRldGFpbC12aWV3PgogICAgICBgOndgCiAgICAgIDxzei1tdGEtbGlzdC12aWV3CiAgICAgICAgLmVtYWlscz0ke3RoaXMuY3VycmVudERpcmVjdGlvbkZpbHRlcj09PSJhbGwiP3RoaXMuZGVtb0VtYWlsczp0aGlzLmRlbW9FbWFpbHMuZmlsdGVyKGI9PmIuZGlyZWN0aW9uPT09dGhpcy5jdXJyZW50RGlyZWN0aW9uRmlsdGVyKX0KICAgICAgICBAZW1haWwtY2xpY2s9JHtiPT50aGlzLmhhbmRsZUVtYWlsQ2xpY2soYi5kZXRhaWwpfQogICAgICA+PC9zei1tdGEtbGlzdC12aWV3PgogICAgYH1oYW5kbGVFbWFpbENsaWNrKGIpe2xldCBnPXRoaXMuZGVtb0VtYWlsRGV0YWlsc1tiLmlkXTtnPyh0aGlzLnNlbGVjdGVkRW1haWw9Zyx0aGlzLmN1cnJlbnRWaWV3PSJkZXRhaWwiKTpjb25zb2xlLmxvZygiTm8gZGV0YWlsIGRhdGEgYXZhaWxhYmxlIGZvciBlbWFpbDoiLGIuaWQpfXN0YXRpY3tMNShyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgaXBhLHNldCwkUmEsb3BhPWYoKCk9PntsZSgpO2ZuKCk7aXBhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxzZXQ9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LCRSYT0oKCk9PntsZXQgYT1baWUoInN6LWRlbW8tdmlldy1yb3V0ZXMiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pEZW1vVmlld1JvdXRlcyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0saXBhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4iY3VycmVudFRhYiJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLmN1cnJlbnRUYWIsImdldCIpLHNldDpzKChwLHUpPT57cC5jdXJyZW50VGFiPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxpcGEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1hcHB1aT1udWxsOyNlPXNldCh0aGlzLG4sImFsbCIpO2dldCBjdXJyZW50VGFiKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGN1cnJlbnRUYWIoYyl7dGhpcy4jZT1jfWRlbW9Sb3V0ZXM9KHNldCh0aGlzLGwpLFt7aWQ6InJvdXRlLTEiLG5hbWU6IldlYiBGcm9udGVuZCIsZGVzY3JpcHRpb246Ik1haW4gd2Vic2l0ZSB3aXRoIFRMUyB0ZXJtaW5hdGlvbiBhbmQgYXV0b21hdGljIGNlcnRpZmljYXRlcyIsZW5hYmxlZDohMCxwcmlvcml0eToxMCx0YWdzOlsid2ViIiwiaHR0cHMiLCJwcm9kdWN0aW9uIl0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOlsic2VydmUuem9uZSIsInd3dy5zZXJ2ZS56b25lIl0scHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjAuMTAiLHBvcnQ6M2UzfV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn19fSx7aWQ6InJvdXRlLTIiLG5hbWU6IkhUVFAgUmVkaXJlY3QiLGRlc2NyaXB0aW9uOiJSZWRpcmVjdHMgYWxsIEhUVFAgdHJhZmZpYyB0byBIVFRQUyIsZW5hYmxlZDohMCxwcmlvcml0eToxMDAsdGFnczpbIndlYiIsImh0dHAiLCJyZWRpcmVjdCJdLG1hdGNoOntwb3J0czo4MCxkb21haW5zOlsic2VydmUuem9uZSIsInd3dy5zZXJ2ZS56b25lIl0scHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6InNvY2tldC1oYW5kbGVyIn19LHtpZDoicm91dGUtMyIsbmFtZToiU01UUCBJbmJvdW5kIixkZXNjcmlwdGlvbjoiSW5ib3VuZCBlbWFpbCByZWxheSBmb3Igc2VydmUuem9uZSBkb21haW4iLGVuYWJsZWQ6ITAsdGFnczpbImVtYWlsIiwic210cCIsInByb2R1Y3Rpb24iXSxtYXRjaDp7cG9ydHM6MjUsZG9tYWluczoibWFpbC5zZXJ2ZS56b25lIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC4xLjUiLHBvcnQ6MjV9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifX19LHtpZDoicm91dGUtNCIsbmFtZToiQVBJIEdhdGV3YXkiLGRlc2NyaXB0aW9uOiJBUEkgZ2F0ZXdheSB3aXRoIHJhdGUgbGltaXRpbmcsIENPUlMgaGVhZGVycywgYW5kIGxvYWQgYmFsYW5jaW5nIixlbmFibGVkOiEwLHByaW9yaXR5OjIwLHRhZ3M6WyJ3ZWIiLCJhcGkiLCJodHRwcyIsInByb2R1Y3Rpb24iXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6ImFwaS5zZXJ2ZS56b25lIixwYXRoOiIvdjIvKiIscHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OlsiMTAuMC4wLjIwIiwiMTAuMC4wLjIxIiwiMTAuMC4wLjIyIl0scG9ydDo4MDgwfV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn0sbG9hZEJhbGFuY2luZzp7YWxnb3JpdGhtOiJyb3VuZC1yb2JpbiJ9fSxzZWN1cml0eTp7cmF0ZUxpbWl0OntlbmFibGVkOiEwLG1heFJlcXVlc3RzOjIwMCx3aW5kb3c6NjB9LG1heENvbm5lY3Rpb25zOjVlM30saGVhZGVyczp7cmVzcG9uc2U6eyJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iOiIqIiwiWC1SZXF1ZXN0LUlkIjoie3tyZXF1ZXN0SWR9fSJ9fX0se2lkOiJyb3V0ZS01IixuYW1lOiJXZWJTb2NrZXQgUmVhbHRpbWUiLGRlc2NyaXB0aW9uOiJSZWFsLXRpbWUgV2ViU29ja2V0IGNvbm5lY3Rpb25zIGZvciBsaXZlIHVwZGF0ZXMiLGVuYWJsZWQ6ITAsdGFnczpbIndlYiIsImh0dHBzIiwid2Vic29ja2V0Il0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOiJ3cy5zZXJ2ZS56b25lIixwYXRoOiIvd3MvKiIscHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjAuMzAiLHBvcnQ6OTA5MH1dLHRsczp7bW9kZToidGVybWluYXRlIixjZXJ0aWZpY2F0ZToiYXV0byJ9LHdlYnNvY2tldDp7ZW5hYmxlZDohMH19fSx7aWQ6InJvdXRlLTYiLG5hbWU6IlRlbmFudCBXaWxkY2FyZCIsZGVzY3JpcHRpb246Ik11bHRpLXRlbmFudCB3aWxkY2FyZCByb3V0aW5nIGZvciBjdXN0b21lciBzdWJkb21haW5zIixlbmFibGVkOiEwLHByaW9yaXR5OjUwLHRhZ3M6WyJ3ZWIiLCJodHRwcyIsIm11bHRpLXRlbmFudCJdLG1hdGNoOntwb3J0czo0NDMsZG9tYWluczoiKi5jdXN0b21lcnMuc2VydmUuem9uZSIscHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjAuNDAiLHBvcnQ6ODA4MH1dLHRsczp7bW9kZToidGVybWluYXRlIixjZXJ0aWZpY2F0ZToiYXV0byJ9fSxzZWN1cml0eTp7aXBBbGxvd0xpc3Q6WyIxMC4wLjAuMC84IiwiMTcyLjE2LjAuMC8xMiJdfX0se2lkOiJyb3V0ZS03IixuYW1lOiJNaWNyb3NlcnZpY2VzIExCIixkZXNjcmlwdGlvbjoiTG9hZC1iYWxhbmNlZCBtaWNyb3NlcnZpY2VzIGJhY2tlbmQgd2l0aCBJUC1oYXNoIGFmZmluaXR5IixlbmFibGVkOiEwLHRhZ3M6WyJ3ZWIiLCJodHRwcyIsInByb2R1Y3Rpb24iXSxtYXRjaDp7cG9ydHM6WzQ0Myw4NDQzXSxkb21haW5zOiJzZXJ2aWNlcy5zZXJ2ZS56b25lIixwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6WyIxMC4wLjIuMSIsIjEwLjAuMi4yIiwiMTAuMC4yLjMiLCIxMC4wLjIuNCJdLHBvcnQ6M2UzfV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUtYW5kLXJlZW5jcnlwdCIsY2VydGlmaWNhdGU6ImF1dG8ifSxsb2FkQmFsYW5jaW5nOnthbGdvcml0aG06ImlwLWhhc2gifX19LHtpZDoicm91dGUtOCIsbmFtZToiRE5TIG92ZXIgSFRUUFMiLGRlc2NyaXB0aW9uOiJETlMtb3Zlci1IVFRQUyByZXNvbHZlciBlbmRwb2ludCIsZW5hYmxlZDohMCx0YWdzOlsiZG5zIiwiaHR0cHMiXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6ImRucy5zZXJ2ZS56b25lIixwYXRoOiIvZG5zLXF1ZXJ5Iixwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMy4xIixwb3J0OjgwNTN9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifX19LHtpZDoicm91dGUtOSIsbmFtZToiSGlnaC1QZXJmIFRDUCBQcm94eSIsZGVzY3JpcHRpb246Ik5GVGFibGVzLWFjY2VsZXJhdGVkIFRDUCBwcm94eSBmb3IgZ2FtZSBzZXJ2ZXJzIixlbmFibGVkOiEwLHRhZ3M6WyJ0Y3AiLCJuZnRhYmxlcyIsInByb2R1Y3Rpb24iXSxtYXRjaDp7cG9ydHM6W3tmcm9tOjI3ZTMsdG86MjcwNTB9XSxwcm90b2NvbDoidGNwIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC40LjEiLHBvcnQ6InByZXNlcnZlIn1dLGZvcndhcmRpbmdFbmdpbmU6Im5mdGFibGVzIn19LHtpZDoicm91dGUtMTAiLG5hbWU6IkxlZ2FjeSBBZG1pbiBQYW5lbCIsZGVzY3JpcHRpb246IkRlcHJlY2F0ZWQgYWRtaW4gcGFuZWwgXHUyMDE0IGRpc2FibGVkIGZvciBtYWludGVuYW5jZSIsZW5hYmxlZDohMSx0YWdzOlsid2ViIiwiaHR0cHMiLCJkZXByZWNhdGVkIl0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOiJhZG1pbi1vbGQuc2VydmUuem9uZSIscHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6InNvY2tldC1oYW5kbGVyIn0sc2VjdXJpdHk6e2lwQmxvY2tMaXN0OlsiMC4wLjAuMC8wIl19fV0pO2dldCBmaWx0ZXJlZFJvdXRlcygpe3JldHVybiB0aGlzLmN1cnJlbnRUYWI9PT0iYWxsIj90aGlzLmRlbW9Sb3V0ZXM6dGhpcy5jdXJyZW50VGFiPT09Imh0dHBzIj90aGlzLmRlbW9Sb3V0ZXMuZmlsdGVyKGM9PmMudGFncz8uc29tZShwPT5bIndlYiIsImh0dHBzIiwiaHR0cCJdLmluY2x1ZGVzKHApKSk6dGhpcy5jdXJyZW50VGFiPT09ImVtYWlsIj90aGlzLmRlbW9Sb3V0ZXMuZmlsdGVyKGM9PmMudGFncz8uc29tZShwPT5bImVtYWlsIiwic210cCJdLmluY2x1ZGVzKHApKSk6dGhpcy5jdXJyZW50VGFiPT09ImRucyI/dGhpcy5kZW1vUm91dGVzLmZpbHRlcihjPT5jLnRhZ3M/LnNvbWUocD0+WyJkbnMiXS5pbmNsdWRlcyhwKSkpOnRoaXMuZGVtb1JvdXRlc31hc3luYyBvbkFjdGl2YXRlKGMpe3RoaXMuYXBwdWk9Yy5hcHB1aSx0aGlzLmFwcHVpLnNldENvbnRlbnRUYWJzKFt7a2V5OiJBbGwgUm91dGVzIixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudFRhYj0iYWxsIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJIVFRQL1MiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50VGFiPSJodHRwcyIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiRW1haWwiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50VGFiPSJlbWFpbCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiRE5TIixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudFRhYj0iZG5zIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfV0pLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfXVwZGF0ZVNlY29uZGFyeU1lbnUoKXtpZighdGhpcy5hcHB1aSlyZXR1cm47bGV0IGM9dGhpcy5kZW1vUm91dGVzLmxlbmd0aCxwPXRoaXMuZGVtb1JvdXRlcy5maWx0ZXIobT0+bS5lbmFibGVkIT09ITEpLmxlbmd0aCx1PXRoaXMuZGVtb1JvdXRlcy5maWx0ZXIobT0+bS5hY3Rpb24udHlwZT09PSJmb3J3YXJkIikubGVuZ3RoO3RoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiUm91dGVzIixncm91cHM6W3tuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJSZWZyZXNoIixpY29uTmFtZToibHVjaWRlOlJlZnJlc2hDdyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiUmVmcmVzaCByb3V0ZXMiKX0sImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIixrZXk6IkFkZCBSb3V0ZSIsaWNvbk5hbWU6Imx1Y2lkZTpQbHVzIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJBZGQgcm91dGUiKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTdGF0aXN0aWNzIixpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6YCR7Y30gVG90YWwgUm91dGVzYH0se3R5cGU6ImhlYWRlciIsbGFiZWw6YCR7cH0gQWN0aXZlYH0se3R5cGU6ImhlYWRlciIsbGFiZWw6YCR7dX0gRm9yd2FyZGB9LHt0eXBlOiJoZWFkZXIiLGxhYmVsOmAke2MtdX0gU29ja2V0IEhhbmRsZXJgfV19XX0pfW9uRGVhY3RpdmF0ZSgpe31zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzei1yb3V0ZS1saXN0LXZpZXcKICAgICAgICAucm91dGVzPSR7dGhpcy5maWx0ZXJlZFJvdXRlc30KICAgICAgICBAcm91dGUtY2xpY2s9JHtjPT57Y29uc29sZS5sb2coIlJvdXRlIGNsaWNrZWQ6IixjLmRldGFpbC5uYW1lKX19CiAgICAgID48L3N6LXJvdXRlLWxpc3Qtdmlldz4KICAgIGB9c3RhdGlje3NldChyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgRFJhLEFSYSxQUmEsbnBhPWYoKCk9PntsZSgpO2ZuKCk7RFJhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxBUmE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFBSYT0oKCk9PntsZXQgYT1baWUoInN6LWRlbW8tdmlldy1jb25maWciKV0sZSx0PVtdLHIsaT1wZTt2YXIgbz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pEZW1vVmlld0NvbmZpZyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO0RSYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN6LWNvbmZpZy1vdmVydmlldwogICAgICAgIGluZm9UZXh0PSJUaGlzIHZpZXcgZGlzcGxheXMgdGhlIGN1cnJlbnQgcnVubmluZyBjb25maWd1cmF0aW9uLiBEY1JvdXRlciBpcyBjb25maWd1cmVkIHRocm91Z2ggY29kZSBvciByZW1vdGUgbWFuYWdlbWVudC4iCiAgICAgID4KICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJTeXN0ZW0iCiAgICAgICAgICBzdWJ0aXRsZT0iQmFzZSBwYXRocyBhbmQgaW5mcmFzdHJ1Y3R1cmUiCiAgICAgICAgICBpY29uPSJsdWNpZGU6c2VydmVyIgogICAgICAgICAgc3RhdHVzPSJlbmFibGVkIgogICAgICAgICAgLmZpZWxkcz0ke1t7a2V5OiJCYXNlIERpcmVjdG9yeSIsdmFsdWU6Ii9ob21lL3VzZXIvLnNlcnZlLnpvbmUvZGNyb3V0ZXIifSx7a2V5OiJEYXRhIERpcmVjdG9yeSIsdmFsdWU6Ii9ob21lL3VzZXIvLnNlcnZlLnpvbmUvZGNyb3V0ZXIvZGF0YSJ9LHtrZXk6IlB1YmxpYyBJUCIsdmFsdWU6IjIwMy4wLjExMy41MCJ9LHtrZXk6IlByb3h5IElQcyIsdmFsdWU6WyIyMDMuMC4xMTMuMTAiLCIyMDMuMC4xMTMuMTEiXSx0eXBlOiJwaWxscyJ9LHtrZXk6IlVwdGltZSIsdmFsdWU6IjNkIDE0aCAyMm0ifSx7a2V5OiJTdG9yYWdlIEJhY2tlbmQiLHZhbHVlOiJmaWxlc3lzdGVtIix0eXBlOiJiYWRnZSJ9XX0KICAgICAgICA+PC9zei1jb25maWctc2VjdGlvbj4KCiAgICAgICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgICAgICB0aXRsZT0iU21hcnRQcm94eSIKICAgICAgICAgIHN1YnRpdGxlPSJIVFRQL0hUVFBTIGFuZCBUQ1AvU05JIHJldmVyc2UgcHJveHkiCiAgICAgICAgICBpY29uPSJsdWNpZGU6bmV0d29yayIKICAgICAgICAgIHN0YXR1cz0iZW5hYmxlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiUm91dGUgQ291bnQiLHZhbHVlOjEyfSx7a2V5OiJBQ01FIEVuYWJsZWQiLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifSx7a2V5OiJBY2NvdW50IEVtYWlsIix2YWx1ZToiYWRtaW5Ac2VydmUuem9uZSJ9LHtrZXk6IlVzZSBQcm9kdWN0aW9uIix2YWx1ZTohMCx0eXBlOiJib29sZWFuIn0se2tleToiQXV0byBSZW5ldyIsdmFsdWU6ITAsdHlwZToiYm9vbGVhbiJ9LHtrZXk6IlJlbmV3IFRocmVzaG9sZCIsdmFsdWU6IjMwIGRheXMifV19CiAgICAgICAgICAuYWN0aW9ucz0ke1t7bGFiZWw6IlZpZXcgUm91dGVzIixpY29uOiJsdWNpZGU6YXJyb3ctcmlnaHQiLGV2ZW50OiJuYXZpZ2F0ZSIsZGV0YWlsOnt2aWV3OiJyb3V0ZXMifX1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgoKICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJFbWFpbCBTZXJ2ZXIiCiAgICAgICAgICBzdWJ0aXRsZT0iU01UUCBlbWFpbCBoYW5kbGluZyB3aXRoIHNtYXJ0bXRhIgogICAgICAgICAgaWNvbj0ibHVjaWRlOm1haWwiCiAgICAgICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgICAgICAuZmllbGRzPSR7W3trZXk6IlBvcnRzIix2YWx1ZTpbIjI1IiwiNDY1IiwiNTg3Il0sdHlwZToicGlsbHMifSx7a2V5OiJIb3N0bmFtZSIsdmFsdWU6Im1haWwuc2VydmUuem9uZSJ9LHtrZXk6IkRvbWFpbnMiLHZhbHVlOlsic2VydmUuem9uZSIsIm1haWwuc2VydmUuem9uZSJdLHR5cGU6InBpbGxzIn0se2tleToiRW1haWwgUm91dGVzIix2YWx1ZTo1fSx7a2V5OiJSZWNlaXZlZCBQYXRoIix2YWx1ZToiL2RhdGEvZW1haWxzIn1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgoKICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJETlMgU2VydmVyIgogICAgICAgICAgc3VidGl0bGU9IkF1dGhvcml0YXRpdmUgRE5TIHdpdGggc21hcnRkbnMiCiAgICAgICAgICBpY29uPSJsdWNpZGU6Z2xvYmUiCiAgICAgICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgICAgICAuZmllbGRzPSR7W3trZXk6IlBvcnQiLHZhbHVlOjUzfSx7a2V5OiJOUyBEb21haW5zIix2YWx1ZTpbIm5zMS5zZXJ2ZS56b25lIiwibnMyLnNlcnZlLnpvbmUiXSx0eXBlOiJwaWxscyJ9LHtrZXk6IlNjb3BlcyIsdmFsdWU6WyJzZXJ2ZS56b25lIiwiZXhhbXBsZS5jb20iXSx0eXBlOiJwaWxscyJ9LHtrZXk6IlJlY29yZCBDb3VudCIsdmFsdWU6MjR9LHtrZXk6IkROUyBDaGFsbGVuZ2UiLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifV19CiAgICAgICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IlRMUyAvIENlcnRpZmljYXRlcyIKICAgICAgICAgIHN1YnRpdGxlPSJDZXJ0aWZpY2F0ZSBtYW5hZ2VtZW50IGFuZCBBQ01FIgogICAgICAgICAgaWNvbj0ibHVjaWRlOnNoaWVsZC1jaGVjayIKICAgICAgICAgIHN0YXR1cz0iZW5hYmxlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiQ29udGFjdCBFbWFpbCIsdmFsdWU6ImFkbWluQHNlcnZlLnpvbmUifSx7a2V5OiJEb21haW4iLHZhbHVlOiJzZXJ2ZS56b25lIn0se2tleToiU291cmNlIix2YWx1ZToiYWNtZSIsdHlwZToiYmFkZ2UifSx7a2V5OiJDZXJ0aWZpY2F0ZSBQYXRoIix2YWx1ZTpudWxsfSx7a2V5OiJLZXkgUGF0aCIsdmFsdWU6bnVsbH1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgoKICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJDYWNoZSBEYXRhYmFzZSIKICAgICAgICAgIHN1YnRpdGxlPSJQZXJzaXN0ZW50IGNhY2hpbmcgd2l0aCBzbWFydGRhdGEiCiAgICAgICAgICBpY29uPSJsdWNpZGU6ZGF0YWJhc2UiCiAgICAgICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgICAgICAuZmllbGRzPSR7W3trZXk6IlN0b3JhZ2UgUGF0aCIsdmFsdWU6Ii9ob21lL3VzZXIvLnNlcnZlLnpvbmUvZGNyb3V0ZXIvdHNtZGIifSx7a2V5OiJEQiBOYW1lIix2YWx1ZToiZGNyb3V0ZXIifSx7a2V5OiJEZWZhdWx0IFRUTCIsdmFsdWU6IjMwIGRheXMifSx7a2V5OiJDbGVhbnVwIEludGVydmFsIix2YWx1ZToiMSBob3VyIn1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgoKICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJSQURJVVMgU2VydmVyIgogICAgICAgICAgc3VidGl0bGU9Ik5ldHdvcmsgYXV0aGVudGljYXRpb24gYW5kIFZMQU4gYXNzaWdubWVudCIKICAgICAgICAgIGljb249Imx1Y2lkZTp3aWZpIgogICAgICAgICAgc3RhdHVzPSJub3QtY29uZmlndXJlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiQXV0aCBQb3J0Iix2YWx1ZTpudWxsfSx7a2V5OiJBY2NvdW50aW5nIFBvcnQiLHZhbHVlOm51bGx9XX0KICAgICAgICA+PC9zei1jb25maWctc2VjdGlvbj4KCiAgICAgICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgICAgICB0aXRsZT0iUmVtb3RlIEluZ3Jlc3MiCiAgICAgICAgICBzdWJ0aXRsZT0iRWRnZSB0dW5uZWwgbm9kZXMiCiAgICAgICAgICBpY29uPSJsdWNpZGU6Y2xvdWQiCiAgICAgICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgICAgICAuZmllbGRzPSR7W3trZXk6IlR1bm5lbCBQb3J0Iix2YWx1ZTo4NDQzfSx7a2V5OiJIdWIgRG9tYWluIix2YWx1ZToiaHViLnNlcnZlLnpvbmUifSx7a2V5OiJUTFMgQ29uZmlndXJlZCIsdmFsdWU6ITAsdHlwZToiYm9vbGVhbiJ9XX0KICAgICAgICA+PC9zei1jb25maWctc2VjdGlvbj4KICAgICAgPC9zei1jb25maWctb3ZlcnZpZXc+CiAgICBgfXN0YXRpY3tBUmEocix0KX19O3JldHVybiBvPXJ9KSgpfSk7dmFyIGZuPWYoKCk9PntfSmUoKTtMSmUoKTtESmUoKTtBSmUoKTtQSmUoKTtJSmUoKTtSSmUoKTtGSmUoKTtISmUoKTtxSmUoKTtWSmUoKTt6dWEoKTtDdWEoKTtUdWEoKTtMdWEoKTskdWEoKTtBdWEoKTtFdWEoKTtJdWEoKTtOdWEoKTtSdWEoKTtPdWEoKTtGdWEoKTtCdWEoKTtIdWEoKTtxdWEoKTtWdWEoKTtqdWEoKTtXdWEoKTtHdWEoKTtZdWEoKTtLdWEoKTtadWEoKTtYdWEoKTtRdWEoKTtKdWEoKTt0cGEoKTthcGEoKTtycGEoKTtzcGEoKTtvcGEoKTtucGEoKX0pO3ZhciBVNW8sbHBhPWYoKCk9PntsZSgpO1U1bz1zKCgpPT53YAogIDxzdHlsZT4KICAgIGJvZHkgewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICB9CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICB9CiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgYmFja2dyb3VuZDogd2hpdGU7CiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICBtYXgtd2lkdGg6IDYwMHB4OwogICAgICB3aWR0aDogMTAwJTsKICAgIH0KICAgIGgxIHsKICAgICAgbWFyZ2luOiAwIDAgMzJweCAwOwogICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgIGZvbnQtc2l6ZTogMjhweDsKICAgICAgY29sb3I6ICMxYTFhMWE7CiAgICB9CiAgICAuY29tcG9uZW50LWRlbW8gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDE2cHg7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDE+U2VydmUuWm9uZSBDYXRhbG9nPC9oMT4KICAgICAgPGRpdiBjbGFzcz0iY29tcG9uZW50LWRlbW8iPgogICAgICAgIDxzei1oZWxsbz48L3N6LWhlbGxvPgogICAgICAgIDxzei1oZWxsbyB0ZXh0PSJXZWxjb21lIHRvIFNlcnZlLlpvbmUhIj48L3N6LWhlbGxvPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJtYWlucGFnZSIpfSk7dmFyIFo1byxjcGE9ZigoKT0+e2xlKCk7Zm4oKTtaNW89cygoKT0+d2AKICA8c3R5bGU+CiAgICBodG1sLCBib2R5IHsKICAgICAgbWFyZ2luOiAwOwogICAgICBwYWRkaW5nOiAwOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQogICAgc3otZGVtby1hcHAtc2hlbGwgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAgd2lkdGg6IDEwMHZ3OwogICAgfQogIDwvc3R5bGU+CiAgPHN6LWRlbW8tYXBwLXNoZWxsPjwvc3otZGVtby1hcHAtc2hlbGw+CmAsInN6RGVtb0FwcCIpfSk7dmFyIEVSYSxJUmEsTlJhLGRwYT1mKCgpPT57bGUoKTt6SmUoKTtmbigpO0VSYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sSVJhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxOUmE9KCgpPT57bGV0IGE9W2llKCJzei1kZW1vLWFwcC1zaGVsbCIpXSxlLHQ9W10scixpPXBlO3ZhciBvPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekRlbW9BcHBTaGVsbCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO0VSYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBkZWVzLWFwcHVpIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGVlcy1hcHB1aT48L2RlZXMtYXBwdWk+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2xldCBuPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aSIpO24mJihuLmNvbmZpZ3VyZSh7YnJhbmRpbmc6e2xvZ29JY29uOiJsdWNpZGU6Qm94Iixsb2dvVGV4dDoic2VydmUuem9uZSJ9LGFwcEJhcjp7c2hvd1NlYXJjaDohMCxicmVhZGNydW1iczoic2VydmUuem9uZSIsbWVudUl0ZW1zOlt7bmFtZToiRmlsZSIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJOZXcgU2VydmljZSIsc2hvcnRjdXQ6IkNtZCtOIixhY3Rpb246cyhhc3luYygpPT57Y29uc29sZS5sb2coIk5ldyBTZXJ2aWNlIil9LCJhY3Rpb24iKX0se25hbWU6IkltcG9ydCBDb25maWd1cmF0aW9uIixhY3Rpb246cyhhc3luYygpPT57Y29uc29sZS5sb2coIkltcG9ydCIpfSwiYWN0aW9uIil9LHtuYW1lOiJFeHBvcnQgQ29uZmlndXJhdGlvbiIsYWN0aW9uOnMoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJFeHBvcnQiKX0sImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlByZWZlcmVuY2VzIixzaG9ydGN1dDoiQ21kKywiLGFjdGlvbjpzKGFzeW5jKCk9PntuLm5hdmlnYXRlVG9WaWV3KCJzZXR0aW5ncyIpfSwiYWN0aW9uIil9XX0se25hbWU6IlZpZXciLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiRGFzaGJvYXJkIixzaG9ydGN1dDoiQ21kKzEiLGFjdGlvbjpzKGFzeW5jKCk9PntuLm5hdmlnYXRlVG9WaWV3KCJkYXNoYm9hcmQiKX0sImFjdGlvbiIpfSx7bmFtZToiU2VydmljZXMiLHNob3J0Y3V0OiJDbWQrMiIsYWN0aW9uOnMoYXN5bmMoKT0+e24ubmF2aWdhdGVUb1ZpZXcoInNlcnZpY2VzIil9LCJhY3Rpb24iKX0se25hbWU6Ik5ldHdvcmsiLHNob3J0Y3V0OiJDbWQrMyIsYWN0aW9uOnMoYXN5bmMoKT0+e24ubmF2aWdhdGVUb1ZpZXcoIm5ldHdvcmsiKX0sImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkFjdGl2aXR5IExvZyIsc2hvcnRjdXQ6IkNtZCtTaGlmdCtBIixhY3Rpb246cyhhc3luYygpPT57bi50b2dnbGVBY3Rpdml0eUxvZygpfSwiYWN0aW9uIil9LHtuYW1lOiJUb2dnbGUgU2lkZWJhciIsc2hvcnRjdXQ6IkNtZCtCIixhY3Rpb246cyhhc3luYygpPT57bi5zZXRNYWluTWVudUNvbGxhcHNlZCghbi5tYWlubWVudUNvbGxhcHNlZCl9LCJhY3Rpb24iKX1dfSx7bmFtZToiU2VydmljZXMiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiRGVwbG95IE5ldyBTZXJ2aWNlIixhY3Rpb246cyhhc3luYygpPT57Y29uc29sZS5sb2coIkRlcGxveSIpfSwiYWN0aW9uIil9LHtuYW1lOiJTdGFydCBBbGwiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiU3RhcnQgYWxsIil9LCJhY3Rpb24iKX0se25hbWU6IlN0b3AgQWxsIixhY3Rpb246cyhhc3luYygpPT57Y29uc29sZS5sb2coIlN0b3AgYWxsIil9LCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJHYXJiYWdlIENvbGxlY3QiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiR0MiKX0sImFjdGlvbiIpfV19LHtuYW1lOiJIZWxwIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkRvY3VtZW50YXRpb24iLGFjdGlvbjpzKGFzeW5jKCk9Pnt3aW5kb3cub3BlbigiaHR0cHM6Ly9kb2NzLnNlcnZlLnpvbmUiLCJfYmxhbmsiKX0sImFjdGlvbiIpfSx7bmFtZToiUmVsZWFzZSBOb3RlcyIsYWN0aW9uOnMoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJSZWxlYXNlIG5vdGVzIil9LCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJBYm91dCBzZXJ2ZS56b25lIixhY3Rpb246cyhhc3luYygpPT57Y29uc29sZS5sb2coIkFib3V0Iil9LCJhY3Rpb24iKX1dfV19LHZpZXdzOlt7aWQ6ImRhc2hib2FyZCIsbmFtZToiRGFzaGJvYXJkIixpY29uTmFtZToibHVjaWRlOkxheW91dERhc2hib2FyZCIsY29udGVudDoic3otZGVtby12aWV3LWRhc2hib2FyZCJ9LHtpZDoic2VydmljZXMiLG5hbWU6IlNlcnZpY2VzIixpY29uTmFtZToibHVjaWRlOlNlcnZlciIsY29udGVudDoic3otZGVtby12aWV3LXNlcnZpY2VzIn0se2lkOiJuZXR3b3JrIixuYW1lOiJOZXR3b3JrIixpY29uTmFtZToibHVjaWRlOk5ldHdvcmsiLGNvbnRlbnQ6InN6LWRlbW8tdmlldy1uZXR3b3JrIn0se2lkOiJyZWdpc3RyaWVzIixuYW1lOiJSZWdpc3RyaWVzIixpY29uTmFtZToibHVjaWRlOkFyY2hpdmUiLGNvbnRlbnQ6InN6LWRlbW8tdmlldy1yZWdpc3RyaWVzIn0se2lkOiJ0b2tlbnMiLG5hbWU6IlRva2VucyIsaWNvbk5hbWU6Imx1Y2lkZTpLZXkiLGNvbnRlbnQ6InN6LWRlbW8tdmlldy10b2tlbnMifSx7aWQ6Im10YSIsbmFtZToiRW1haWwgLyBNVEEiLGljb25OYW1lOiJsdWNpZGU6TWFpbCIsY29udGVudDoic3otZGVtby12aWV3LW10YSJ9LHtpZDoicm91dGVzIixuYW1lOiJSb3V0ZXMiLGljb25OYW1lOiJsdWNpZGU6Um91dGUiLGNvbnRlbnQ6InN6LWRlbW8tdmlldy1yb3V0ZXMifSx7aWQ6InNldHRpbmdzIixuYW1lOiJTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpTZXR0aW5ncyIsY29udGVudDoic3otZGVtby12aWV3LXNldHRpbmdzIn1dLG1haW5NZW51OntzZWN0aW9uczpbe25hbWU6Ik92ZXJ2aWV3Iix2aWV3czpbImRhc2hib2FyZCJdfSx7bmFtZToiSW5mcmFzdHJ1Y3R1cmUiLHZpZXdzOlsic2VydmljZXMiLCJuZXR3b3JrIiwicmVnaXN0cmllcyIsIm10YSIsInJvdXRlcyJdfSx7bmFtZToiQWRtaW5pc3RyYXRpb24iLHZpZXdzOlsidG9rZW5zIiwic2V0dGluZ3MiXX1dfSxkZWZhdWx0VmlldzoiZGFzaGJvYXJkIixvblZpZXdDaGFuZ2U6cygobCxkKT0+e2NvbnNvbGUubG9nKCJWaWV3IGNoYW5nZWQgdG86IixsLGQpfSwib25WaWV3Q2hhbmdlIil9KSxuLnNldFVzZXIoe25hbWU6IkFkbWluIFVzZXIiLGVtYWlsOiJhZG1pbkBzZXJ2ZS56b25lIixzdGF0dXM6Im9ubGluZSJ9KSxuLnNldFByb2ZpbGVNZW51SXRlbXMoW3tuYW1lOiJQcm9maWxlIixpY29uTmFtZToibHVjaWRlOlVzZXIiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiUHJvZmlsZSIpfSwiYWN0aW9uIil9LHtuYW1lOiJQcmVmZXJlbmNlcyIsaWNvbk5hbWU6Imx1Y2lkZTpTbGlkZXJzSG9yaXpvbnRhbCIsYWN0aW9uOnMoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJQcmVmZXJlbmNlcyIpfSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiU2lnbiBPdXQiLGljb25OYW1lOiJsdWNpZGU6TG9nT3V0IixhY3Rpb246cyhhc3luYygpPT57Y29uc29sZS5sb2coIlNpZ24gT3V0Iil9LCJhY3Rpb24iKX1dKSl9c3RhdGlje0lSYShyLHQpfX07cmV0dXJuIG89cn0pKCl9KTt2YXIgdXBhPWYoKCk9PntscGEoKTtjcGEoKTtkcGEoKX0pO3ZhciBwcGE9ZigoKT0+e2ZuKCk7dXBhKCl9KTt2YXIgZnBhPU1vKHlzPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh5cywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkseXMuZ2V0Rmlyc3RUcnVlT3JGYWxzZT15cy50aW1lb3V0QW5kQ29udGludWU9eXMudGltZW91dFdyYXA9eXMubWFwPXlzLnJlamVjdGVkUHJvbWlzZT15cy5yZXNvbHZlZFByb21pc2U9eXMuZGVmZXI9eXMuRGVmZXJyZWQ9dm9pZCAwO3ZhciB2aWU9Y2xhc3N7c3RhdGlje3ModGhpcywiRGVmZXJyZWQiKX1jb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoZSx0KT0+e3RoaXMucmVzb2x2ZT1yPT57dGhpcy5zdGF0dXM9ImZ1bGZpbGxlZCIsdGhpcy5zdG9wcGVkQXQ9RGF0ZS5ub3coKSxlKHIpfSx0aGlzLnJlamVjdD1yPT57dGhpcy5zdGF0dXM9InJlamVjdGVkIix0aGlzLnN0b3BwZWRBdD1EYXRlLm5vdygpLHQocil9LHRoaXMuc3RhcnRlZEF0PURhdGUubm93KCksdGhpcy5zdGF0dXM9InBlbmRpbmcifSl9Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuc3RvcHBlZEF0P3RoaXMuc3RvcHBlZEF0LXRoaXMuc3RhcnRlZEF0OkRhdGUubm93KCktdGhpcy5zdGFydGVkQXR9fTt5cy5EZWZlcnJlZD12aWUseXMuZGVmZXI9KCk9Pm5ldyB2aWUseXMucmVzb2x2ZWRQcm9taXNlPWE9PlByb21pc2UucmVzb2x2ZShhKSx5cy5yZWplY3RlZFByb21pc2U9YT0+UHJvbWlzZS5yZWplY3QoYSkseXMubWFwPWFzeW5jKGEsZSk9PntsZXQgdD1bXSxyPVtdO2ZvcihsZXQgaSBvZiBhKXtsZXQgbz1lKGkpO3QucHVzaChvKSxvLnRoZW4obj0+e3IucHVzaChuKX0pfXJldHVybiBhd2FpdCBQcm9taXNlLmFsbCh0KSxyfSx5cy50aW1lb3V0V3JhcD1hc3luYyhhLGUsdD0hMCk9Pm5ldyBQcm9taXNlKChyLGkpPT57c2V0VGltZW91dCgoKT0+e3Q/aShuZXcgRXJyb3IoInRpbWVvdXQiKSk6cihudWxsKX0sZSksYS50aGVuKHIsaSl9KSx5cy50aW1lb3V0QW5kQ29udGludWU9YXN5bmMoYSxlPTZlNCk9PnlzLnRpbWVvdXRXcmFwKGEsZSwhMSkseXMuZ2V0Rmlyc3RUcnVlT3JGYWxzZT1hc3luYyBhPT57bGV0IGU9eXMuZGVmZXIoKTtmb3IobGV0IHQgb2YgYSl0LnRoZW4ocj0+e3I9PT0hMCYmZS5yZXNvbHZlKCEwKX0pO3JldHVybiBQcm9taXNlLmFsbChhKS50aGVuKCgpPT57ZS5yZXNvbHZlKCExKX0pLGUucHJvbWlzZX19KTt2YXIgaWV0LGhwYT1mKCgpPT57aWV0PWtvKGZwYSgpLDEpfSk7dmFyIG1wYT1mKCgpPT57fSk7dmFyIG9ldCxncGE9ZigoKT0+e2hwYSgpO21wYSgpO29ldD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTbWFydGVudiIpfWNvbnN0cnVjdG9yKCl7dGhpcy5sb2FkZWRTY3JpcHRzPVtdfWFzeW5jIGdldEVudkF3YXJlTW9kdWxlKGUpe2lmKHRoaXMuaXNOb2RlKXJldHVybiBhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKGUubm9kZU1vZHVsZU5hbWUpO2lmKHRoaXMuaXNCcm93c2VyKXJldHVybiBhd2FpdCB0aGlzLmdldFNhZmVXZWJNb2R1bGUoZS53ZWJVcmxBcmcsZS5nZXRGdW5jdGlvbik7Y29uc29sZS5lcnJvcigicGxhdGZvcm0gZm9yIGxvYWRpbmcgbm90IHN1cHBvcnRlZCBieSBzbWFydGVudiIpfWFzeW5jIGdldFNhZmVOb2RlTW9kdWxlKGUpe2lmKCF0aGlzLmlzTm9kZSl7Y29uc29sZS5lcnJvcihgWW91IHRyaWVkIHRvIGxvYWQgYSBub2RlIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQ6ICR7ZX1gKTtyZXR1cm59cmV0dXJuIG5ldyBGdW5jdGlvbihgcmV0dXJuIGltcG9ydCgnJHtlfScpYCkoKX1hc3luYyBnZXRTYWZlV2ViTW9kdWxlKGUsdCl7aWYoIXRoaXMuaXNCcm93c2VyKXtjb25zb2xlLmVycm9yKCJZb3UgdHJpZWQgdG8gbG9hZCBhIHdlYiBtb2R1bGUgaW4gYSB3cm9uZyBjb250ZXh0Iik7cmV0dXJufWlmKHRoaXMubG9hZGVkU2NyaXB0cy5pbmNsdWRlcyhlKSlyZXR1cm4gdCgpO3RoaXMubG9hZGVkU2NyaXB0cy5wdXNoKGUpO2xldCByPWlldC5kZWZlcigpO2lmKGdsb2JhbFRoaXMuaW1wb3J0U2NyaXB0cylnbG9iYWxUaGlzLmltcG9ydFNjcmlwdHMoZSksci5yZXNvbHZlKCk7ZWxzZXtsZXQgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtpLm9ubG9hZD0oKT0+e3IucmVzb2x2ZSgpfSxpLnNyYz1lLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoaSl9cmV0dXJuIGF3YWl0IHIucHJvbWlzZSx0KCl9Z2V0IHJ1bnRpbWVFbnYoKXtyZXR1cm4gdHlwZW9mIHByb2Nlc3M8InUiPyJub2RlIjoiYnJvd3NlciJ9Z2V0IGlzQnJvd3Nlcigpe3JldHVybiF0aGlzLmlzTm9kZX1nZXQgdXNlckFnZW50KCl7cmV0dXJuIHRoaXMuaXNCcm93c2VyP25hdmlnYXRvci51c2VyQWdlbnQ6InVuZGVmaW5lZCJ9Z2V0IGlzTm9kZSgpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0ibm9kZSJ9Z2V0IG5vZGVWZXJzaW9uKCl7cmV0dXJuIHByb2Nlc3MudmVyc2lvbn1nZXQgaXNDSSgpe3JldHVybiB0aGlzLmlzTm9kZT8hIXByb2Nlc3MuZW52LkNJOiExfWFzeW5jIGlzTWFjQXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGU/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoIm9zIikpLnBsYXRmb3JtKCk9PT0iZGFyd2luIjohMX1hc3luYyBpc1dpbmRvd3NBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZT8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSgib3MiKSkucGxhdGZvcm0oKT09PSJ3aW4zMiI6ITF9YXN5bmMgaXNMaW51eEFzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKCJvcyIpKS5wbGF0Zm9ybSgpPT09ImxpbnV4IjohMX1hc3luYyBwcmludEVudigpe3RoaXMuaXNOb2RlPyhjb25zb2xlLmxvZygicnVubmluZyBvbiBOT0RFIiksY29uc29sZS5sb2coIm5vZGUgdmVyc2lvbiBpcyAiK3RoaXMubm9kZVZlcnNpb24pKTooY29uc29sZS5sb2coInJ1bm5pbmcgb24gQlJPV1NFUiIpLGNvbnNvbGUubG9nKCJicm93c2VyIGlzICIrdGhpcy51c2VyQWdlbnQpKX19fSk7dmFyIExHPXt9O2x0KExHLHtTbWFydGVudjooKT0+b2V0fSk7dmFyIGJwYT1mKCgpPT57Z3BhKCl9KTt2YXIgdnBhPWYoKCk9PnticGEoKX0pO3ZhciBuZXQ9e307bHQobmV0LHtzaGEyNTZGcm9tU3RyaW5nOigpPT5CUmF9KTt2YXIgRlJhLEJSYSx4cGE9ZigoKT0+e3ZwYSgpO0ZSYT1zKGE9PntsZXQgZT1bXSx0PW5ldyBEYXRhVmlldyhhKTtmb3IobGV0IHI9MDtyPHQuYnl0ZUxlbmd0aDtyKz00KXtsZXQgbz10LmdldFVpbnQzMihyKS50b1N0cmluZygxNiksbj0iMDAwMDAwMDAiLGw9KG4rbykuc2xpY2UoLW4ubGVuZ3RoKTtlLnB1c2gobCl9cmV0dXJuIGUuam9pbigiIil9LCJoZXgiKSxCUmE9cyhhc3luYyBhPT57bGV0IGU9bmV3IExHLlNtYXJ0ZW52O2lmKGUuaXNCcm93c2VyKXtsZXQgdD1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoYSkscj1hd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgiU0hBLTI1NiIsdCk7cmV0dXJuIEZSYShyKX1lbHNlIGlmKGUuaXNOb2RlKXJldHVybiBhd2FpdChhd2FpdCBlLmdldFNhZmVOb2RlTW9kdWxlKCJAcHVzaHJvY2tzL3NtYXJ0aGFzaCIpKS5zaGEyNTZGcm9tU3RyaW5nKGEpfSwic2hhMjU2RnJvbVN0cmluZyIpfSk7dmFyIHlwYT1mKCgpPT57YmkoKX0pO3ZhciB3cGE9ZigoKT0+e30pO3ZhciBjZXQsTXBhPWYoKCk9Pnt5cGEoKTt3cGEoKTtjZXQ9Y2xhc3N7c3RhdGlje3ModGhpcywiU21hcnRlbnYiKX1jb25zdHJ1Y3Rvcigpe3RoaXMubG9hZGVkU2NyaXB0cz1bXX1hc3luYyBnZXRFbnZBd2FyZU1vZHVsZShlKXtpZih0aGlzLmlzTm9kZSlyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZShlLm5vZGVNb2R1bGVOYW1lKTtpZih0aGlzLmlzQnJvd3NlcilyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlV2ViTW9kdWxlKGUud2ViVXJsQXJnLGUuZ2V0RnVuY3Rpb24pO2NvbnNvbGUuZXJyb3IoInBsYXRmb3JtIGZvciBsb2FkaW5nIG5vdCBzdXBwb3J0ZWQgYnkgc21hcnRlbnYiKX1hc3luYyBnZXRTYWZlTm9kZU1vZHVsZShlLHQpe2lmKCF0aGlzLmlzTm9kZSl7Y29uc29sZS5lcnJvcihgWW91IHRyaWVkIHRvIGxvYWQgYSBub2RlIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQ6ICR7ZX0uIFRoaXMgZG9lcyBub3QgdGhyb3cuYCk7cmV0dXJufWxldCByPWF3YWl0IG5ldyBGdW5jdGlvbihgcmV0dXJuIGltcG9ydCgnJHtlfScpYCkoKTtyZXR1cm4gdCYmYXdhaXQgdChyKSxyfWFzeW5jIGdldFNhZmVXZWJNb2R1bGUoZSx0KXtpZighdGhpcy5pc0Jyb3dzZXIpe2NvbnNvbGUuZXJyb3IoIllvdSB0cmllZCB0byBsb2FkIGEgd2ViIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQiKTtyZXR1cm59aWYodGhpcy5sb2FkZWRTY3JpcHRzLmluY2x1ZGVzKGUpKXJldHVybiB0KCk7dGhpcy5sb2FkZWRTY3JpcHRzLnB1c2goZSk7bGV0IHI9Y3QuZGVmZXIoKTtpZihnbG9iYWxUaGlzLmltcG9ydFNjcmlwdHMpZ2xvYmFsVGhpcy5pbXBvcnRTY3JpcHRzKGUpLHIucmVzb2x2ZSgpO2Vsc2V7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7aS5vbmxvYWQ9KCk9PntyLnJlc29sdmUoKX0saS5zcmM9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGkpfXJldHVybiBhd2FpdCByLnByb21pc2UsdCgpfWdldCBydW50aW1lRW52KCl7cmV0dXJuIHR5cGVvZiBwcm9jZXNzPCJ1Ij8ibm9kZSI6ImJyb3dzZXIifWdldCBpc0Jyb3dzZXIoKXtyZXR1cm4hdGhpcy5pc05vZGV9Z2V0IHVzZXJBZ2VudCgpe3JldHVybiB0aGlzLmlzQnJvd3Nlcj9uYXZpZ2F0b3IudXNlckFnZW50OiJ1bmRlZmluZWQifWdldCBpc05vZGUoKXtyZXR1cm4gdGhpcy5ydW50aW1lRW52PT09Im5vZGUifWdldCBub2RlVmVyc2lvbigpe3JldHVybiBwcm9jZXNzLnZlcnNpb259Z2V0IGlzQ0koKXtyZXR1cm4gdGhpcy5pc05vZGU/ISFwcm9jZXNzLmVudi5DSTohMX1hc3luYyBpc01hY0FzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKCJvcyIpKS5wbGF0Zm9ybSgpPT09ImRhcndpbiI6ITF9YXN5bmMgaXNXaW5kb3dzQXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGU/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoIm9zIikpLnBsYXRmb3JtKCk9PT0id2luMzIiOiExfWFzeW5jIGlzTGludXhBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZT8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSgib3MiKSkucGxhdGZvcm0oKT09PSJsaW51eCI6ITF9YXN5bmMgcHJpbnRFbnYoKXt0aGlzLmlzTm9kZT8oY29uc29sZS5sb2coInJ1bm5pbmcgb24gTk9ERSIpLGNvbnNvbGUubG9nKCJub2RlIHZlcnNpb24gaXMgIit0aGlzLm5vZGVWZXJzaW9uKSk6KGNvbnNvbGUubG9nKCJydW5uaW5nIG9uIEJST1dTRVIiKSxjb25zb2xlLmxvZygiYnJvd3NlciBpcyAiK3RoaXMudXNlckFnZW50KSl9fX0pO3ZhciBkZXQ9e307bHQoZGV0LHtTbWFydGVudjooKT0+Y2V0fSk7dmFyIGtwYT1mKCgpPT57TXBhKCl9KTt2YXIgdWZhPU1vKChBRyxkNyk9Pnt2YXIgcVJhPTIwMCxTcGE9Il9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iLHpwYT05MDA3MTk5MjU0NzQwOTkxLHVldD0iW29iamVjdCBBcmd1bWVudHNdIixWUmE9IltvYmplY3QgQXJyYXldIixDcGE9IltvYmplY3QgQm9vbGVhbl0iLF9wYT0iW29iamVjdCBEYXRlXSIsalJhPSJbb2JqZWN0IEVycm9yXSIscGV0PSJbb2JqZWN0IEZ1bmN0aW9uXSIsVHBhPSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIseGllPSJbb2JqZWN0IE1hcF0iLExwYT0iW29iamVjdCBOdW1iZXJdIixmZXQ9IltvYmplY3QgT2JqZWN0XSIsJHBhPSJbb2JqZWN0IFByb21pc2VdIixEcGE9IltvYmplY3QgUmVnRXhwXSIseWllPSJbb2JqZWN0IFNldF0iLEFwYT0iW29iamVjdCBTdHJpbmddIixQcGE9IltvYmplY3QgU3ltYm9sXSIsaGV0PSJbb2JqZWN0IFdlYWtNYXBdIixFcGE9IltvYmplY3QgQXJyYXlCdWZmZXJdIix3aWU9IltvYmplY3QgRGF0YVZpZXddIixJcGE9IltvYmplY3QgRmxvYXQzMkFycmF5XSIsTnBhPSJbb2JqZWN0IEZsb2F0NjRBcnJheV0iLFJwYT0iW29iamVjdCBJbnQ4QXJyYXldIixPcGE9IltvYmplY3QgSW50MTZBcnJheV0iLEZwYT0iW29iamVjdCBJbnQzMkFycmF5XSIsQnBhPSJbb2JqZWN0IFVpbnQ4QXJyYXldIixIcGE9IltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIixxcGE9IltvYmplY3QgVWludDE2QXJyYXldIixWcGE9IltvYmplY3QgVWludDMyQXJyYXldIixVUmE9L1tcXF4kLiorPygpW1xde318XS9nLFdSYT0vXHcqJC8sR1JhPS9eXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXSQvLFlSYT0vXig/OjB8WzEtOV1cZCopJC8sbnI9e307bnJbdWV0XT1ucltWUmFdPW5yW0VwYV09bnJbd2llXT1ucltDcGFdPW5yW19wYV09bnJbSXBhXT1ucltOcGFdPW5yW1JwYV09bnJbT3BhXT1ucltGcGFdPW5yW3hpZV09bnJbTHBhXT1ucltmZXRdPW5yW0RwYV09bnJbeWllXT1ucltBcGFdPW5yW1BwYV09bnJbQnBhXT1ucltIcGFdPW5yW3FwYV09bnJbVnBhXT0hMCxucltqUmFdPW5yW3BldF09bnJbaGV0XT0hMTt2YXIgS1JhPXR5cGVvZiBnbG9iYWw9PSJvYmplY3QiJiZnbG9iYWwmJmdsb2JhbC5PYmplY3Q9PT1PYmplY3QmJmdsb2JhbCxaUmE9dHlwZW9mIHNlbGY9PSJvYmplY3QiJiZzZWxmJiZzZWxmLk9iamVjdD09PU9iamVjdCYmc2VsZixIYz1LUmF8fFpSYXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxqcGE9dHlwZW9mIEFHPT0ib2JqZWN0IiYmQUcmJiFBRy5ub2RlVHlwZSYmQUcsVXBhPWpwYSYmdHlwZW9mIGQ3PT0ib2JqZWN0IiYmZDcmJiFkNy5ub2RlVHlwZSYmZDcsWFJhPVVwYSYmVXBhLmV4cG9ydHM9PT1qcGE7ZnVuY3Rpb24gUVJhKGEsZSl7cmV0dXJuIGEuc2V0KGVbMF0sZVsxXSksYX1zKFFSYSwiYWRkTWFwRW50cnkiKTtmdW5jdGlvbiBKUmEoYSxlKXtyZXR1cm4gYS5hZGQoZSksYX1zKEpSYSwiYWRkU2V0RW50cnkiKTtmdW5jdGlvbiBlT2EoYSxlKXtmb3IodmFyIHQ9LTEscj1hP2EubGVuZ3RoOjA7Kyt0PHImJmUoYVt0XSx0LGEpIT09ITE7KTtyZXR1cm4gYX1zKGVPYSwiYXJyYXlFYWNoIik7ZnVuY3Rpb24gdE9hKGEsZSl7Zm9yKHZhciB0PS0xLHI9ZS5sZW5ndGgsaT1hLmxlbmd0aDsrK3Q8cjspYVtpK3RdPWVbdF07cmV0dXJuIGF9cyh0T2EsImFycmF5UHVzaCIpO2Z1bmN0aW9uIFdwYShhLGUsdCxyKXt2YXIgaT0tMSxvPWE/YS5sZW5ndGg6MDtmb3IociYmbyYmKHQ9YVsrK2ldKTsrK2k8bzspdD1lKHQsYVtpXSxpLGEpO3JldHVybiB0fXMoV3BhLCJhcnJheVJlZHVjZSIpO2Z1bmN0aW9uIGFPYShhLGUpe2Zvcih2YXIgdD0tMSxyPUFycmF5KGEpOysrdDxhOylyW3RdPWUodCk7cmV0dXJuIHJ9cyhhT2EsImJhc2VUaW1lcyIpO2Z1bmN0aW9uIHJPYShhLGUpe3JldHVybiBhPy5bZV19cyhyT2EsImdldFZhbHVlIik7ZnVuY3Rpb24gR3BhKGEpe3ZhciBlPSExO2lmKGEhPW51bGwmJnR5cGVvZiBhLnRvU3RyaW5nIT0iZnVuY3Rpb24iKXRyeXtlPSEhKGErIiIpfWNhdGNoe31yZXR1cm4gZX1zKEdwYSwiaXNIb3N0T2JqZWN0Iik7ZnVuY3Rpb24gWXBhKGEpe3ZhciBlPS0xLHQ9QXJyYXkoYS5zaXplKTtyZXR1cm4gYS5mb3JFYWNoKGZ1bmN0aW9uKHIsaSl7dFsrK2VdPVtpLHJdfSksdH1zKFlwYSwibWFwVG9BcnJheSIpO2Z1bmN0aW9uIG1ldChhLGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gYShlKHQpKX19cyhtZXQsIm92ZXJBcmciKTtmdW5jdGlvbiBLcGEoYSl7dmFyIGU9LTEsdD1BcnJheShhLnNpemUpO3JldHVybiBhLmZvckVhY2goZnVuY3Rpb24ocil7dFsrK2VdPXJ9KSx0fXMoS3BhLCJzZXRUb0FycmF5Iik7dmFyIHNPYT1BcnJheS5wcm90b3R5cGUsaU9hPUZ1bmN0aW9uLnByb3RvdHlwZSxNaWU9T2JqZWN0LnByb3RvdHlwZSxnZXQ9SGNbIl9fY29yZS1qc19zaGFyZWRfXyJdLFpwYT0oZnVuY3Rpb24oKXt2YXIgYT0vW14uXSskLy5leGVjKGdldCYmZ2V0LmtleXMmJmdldC5rZXlzLklFX1BST1RPfHwiIik7cmV0dXJuIGE/IlN5bWJvbChzcmMpXzEuIithOiIifSkoKSxYcGE9aU9hLnRvU3RyaW5nLGo0PU1pZS5oYXNPd25Qcm9wZXJ0eSxraWU9TWllLnRvU3RyaW5nLG9PYT1SZWdFeHAoIl4iK1hwYS5jYWxsKGo0KS5yZXBsYWNlKFVSYSwiXFwkJiIpLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFwoKXwgZm9yIC4rPyg/PVxcXF0pL2csIiQxLio/IikrIiQiKSxRcGE9WFJhP0hjLkJ1ZmZlcjp2b2lkIDAsSnBhPUhjLlN5bWJvbCxlZmE9SGMuVWludDhBcnJheSxuT2E9bWV0KE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpLGxPYT1PYmplY3QuY3JlYXRlLGNPYT1NaWUucHJvcGVydHlJc0VudW1lcmFibGUsZE9hPXNPYS5zcGxpY2UsdGZhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsdU9hPVFwYT9RcGEuaXNCdWZmZXI6dm9pZCAwLHBPYT1tZXQoT2JqZWN0LmtleXMsT2JqZWN0KSxiZXQ9YzcoSGMsIkRhdGFWaWV3IiksJEc9YzcoSGMsIk1hcCIpLHZldD1jNyhIYywiUHJvbWlzZSIpLHhldD1jNyhIYywiU2V0IikseWV0PWM3KEhjLCJXZWFrTWFwIiksREc9YzcoT2JqZWN0LCJjcmVhdGUiKSxmT2E9QTUoYmV0KSxoT2E9QTUoJEcpLG1PYT1BNSh2ZXQpLGdPYT1BNSh4ZXQpLGJPYT1BNSh5ZXQpLGFmYT1KcGE/SnBhLnByb3RvdHlwZTp2b2lkIDAscmZhPWFmYT9hZmEudmFsdWVPZjp2b2lkIDA7ZnVuY3Rpb24gJDUoYSl7dmFyIGU9LTEsdD1hP2EubGVuZ3RoOjA7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8dDspe3ZhciByPWFbZV07dGhpcy5zZXQoclswXSxyWzFdKX19cygkNSwiSGFzaCIpO2Z1bmN0aW9uIHZPYSgpe3RoaXMuX19kYXRhX189REc/REcobnVsbCk6e319cyh2T2EsImhhc2hDbGVhciIpO2Z1bmN0aW9uIHhPYShhKXtyZXR1cm4gdGhpcy5oYXMoYSkmJmRlbGV0ZSB0aGlzLl9fZGF0YV9fW2FdfXMoeE9hLCJoYXNoRGVsZXRlIik7ZnVuY3Rpb24geU9hKGEpe3ZhciBlPXRoaXMuX19kYXRhX187aWYoREcpe3ZhciB0PWVbYV07cmV0dXJuIHQ9PT1TcGE/dm9pZCAwOnR9cmV0dXJuIGo0LmNhbGwoZSxhKT9lW2FdOnZvaWQgMH1zKHlPYSwiaGFzaEdldCIpO2Z1bmN0aW9uIHdPYShhKXt2YXIgZT10aGlzLl9fZGF0YV9fO3JldHVybiBERz9lW2FdIT09dm9pZCAwOmo0LmNhbGwoZSxhKX1zKHdPYSwiaGFzaEhhcyIpO2Z1bmN0aW9uIE1PYShhLGUpe3ZhciB0PXRoaXMuX19kYXRhX187cmV0dXJuIHRbYV09REcmJmU9PT12b2lkIDA/U3BhOmUsdGhpc31zKE1PYSwiaGFzaFNldCIpLCQ1LnByb3RvdHlwZS5jbGVhcj12T2EsJDUucHJvdG90eXBlLmRlbGV0ZT14T2EsJDUucHJvdG90eXBlLmdldD15T2EsJDUucHJvdG90eXBlLmhhcz13T2EsJDUucHJvdG90eXBlLnNldD1NT2E7ZnVuY3Rpb24gcWMoYSl7dmFyIGU9LTEsdD1hP2EubGVuZ3RoOjA7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8dDspe3ZhciByPWFbZV07dGhpcy5zZXQoclswXSxyWzFdKX19cyhxYywiTGlzdENhY2hlIik7ZnVuY3Rpb24ga09hKCl7dGhpcy5fX2RhdGFfXz1bXX1zKGtPYSwibGlzdENhY2hlQ2xlYXIiKTtmdW5jdGlvbiBTT2EoYSl7dmFyIGU9dGhpcy5fX2RhdGFfXyx0PVNpZShlLGEpO2lmKHQ8MClyZXR1cm4hMTt2YXIgcj1lLmxlbmd0aC0xO3JldHVybiB0PT1yP2UucG9wKCk6ZE9hLmNhbGwoZSx0LDEpLCEwfXMoU09hLCJsaXN0Q2FjaGVEZWxldGUiKTtmdW5jdGlvbiB6T2EoYSl7dmFyIGU9dGhpcy5fX2RhdGFfXyx0PVNpZShlLGEpO3JldHVybiB0PDA/dm9pZCAwOmVbdF1bMV19cyh6T2EsImxpc3RDYWNoZUdldCIpO2Z1bmN0aW9uIENPYShhKXtyZXR1cm4gU2llKHRoaXMuX19kYXRhX18sYSk+LTF9cyhDT2EsImxpc3RDYWNoZUhhcyIpO2Z1bmN0aW9uIF9PYShhLGUpe3ZhciB0PXRoaXMuX19kYXRhX18scj1TaWUodCxhKTtyZXR1cm4gcjwwP3QucHVzaChbYSxlXSk6dFtyXVsxXT1lLHRoaXN9cyhfT2EsImxpc3RDYWNoZVNldCIpLHFjLnByb3RvdHlwZS5jbGVhcj1rT2EscWMucHJvdG90eXBlLmRlbGV0ZT1TT2EscWMucHJvdG90eXBlLmdldD16T2EscWMucHJvdG90eXBlLmhhcz1DT2EscWMucHJvdG90eXBlLnNldD1fT2E7ZnVuY3Rpb24gbjcoYSl7dmFyIGU9LTEsdD1hP2EubGVuZ3RoOjA7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8dDspe3ZhciByPWFbZV07dGhpcy5zZXQoclswXSxyWzFdKX19cyhuNywiTWFwQ2FjaGUiKTtmdW5jdGlvbiBUT2EoKXt0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyAkNSxtYXA6bmV3KCRHfHxxYyksc3RyaW5nOm5ldyAkNX19cyhUT2EsIm1hcENhY2hlQ2xlYXIiKTtmdW5jdGlvbiBMT2EoYSl7cmV0dXJuIHppZSh0aGlzLGEpLmRlbGV0ZShhKX1zKExPYSwibWFwQ2FjaGVEZWxldGUiKTtmdW5jdGlvbiAkT2EoYSl7cmV0dXJuIHppZSh0aGlzLGEpLmdldChhKX1zKCRPYSwibWFwQ2FjaGVHZXQiKTtmdW5jdGlvbiBET2EoYSl7cmV0dXJuIHppZSh0aGlzLGEpLmhhcyhhKX1zKERPYSwibWFwQ2FjaGVIYXMiKTtmdW5jdGlvbiBBT2EoYSxlKXtyZXR1cm4gemllKHRoaXMsYSkuc2V0KGEsZSksdGhpc31zKEFPYSwibWFwQ2FjaGVTZXQiKSxuNy5wcm90b3R5cGUuY2xlYXI9VE9hLG43LnByb3RvdHlwZS5kZWxldGU9TE9hLG43LnByb3RvdHlwZS5nZXQ9JE9hLG43LnByb3RvdHlwZS5oYXM9RE9hLG43LnByb3RvdHlwZS5zZXQ9QU9hO2Z1bmN0aW9uIGw3KGEpe3RoaXMuX19kYXRhX189bmV3IHFjKGEpfXMobDcsIlN0YWNrIik7ZnVuY3Rpb24gUE9hKCl7dGhpcy5fX2RhdGFfXz1uZXcgcWN9cyhQT2EsInN0YWNrQ2xlYXIiKTtmdW5jdGlvbiBFT2EoYSl7cmV0dXJuIHRoaXMuX19kYXRhX18uZGVsZXRlKGEpfXMoRU9hLCJzdGFja0RlbGV0ZSIpO2Z1bmN0aW9uIElPYShhKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5nZXQoYSl9cyhJT2EsInN0YWNrR2V0Iik7ZnVuY3Rpb24gTk9hKGEpe3JldHVybiB0aGlzLl9fZGF0YV9fLmhhcyhhKX1zKE5PYSwic3RhY2tIYXMiKTtmdW5jdGlvbiBST2EoYSxlKXt2YXIgdD10aGlzLl9fZGF0YV9fO2lmKHQgaW5zdGFuY2VvZiBxYyl7dmFyIHI9dC5fX2RhdGFfXztpZighJEd8fHIubGVuZ3RoPHFSYS0xKXJldHVybiByLnB1c2goW2EsZV0pLHRoaXM7dD10aGlzLl9fZGF0YV9fPW5ldyBuNyhyKX1yZXR1cm4gdC5zZXQoYSxlKSx0aGlzfXMoUk9hLCJzdGFja1NldCIpLGw3LnByb3RvdHlwZS5jbGVhcj1QT2EsbDcucHJvdG90eXBlLmRlbGV0ZT1FT2EsbDcucHJvdG90eXBlLmdldD1JT2EsbDcucHJvdG90eXBlLmhhcz1OT2EsbDcucHJvdG90eXBlLnNldD1ST2E7ZnVuY3Rpb24gT09hKGEsZSl7dmFyIHQ9a2V0KGEpfHxsRmEoYSk/YU9hKGEubGVuZ3RoLFN0cmluZyk6W10scj10Lmxlbmd0aCxpPSEhcjtmb3IodmFyIG8gaW4gYSkoZXx8ajQuY2FsbChhLG8pKSYmIShpJiYobz09Imxlbmd0aCJ8fHNGYShvLHIpKSkmJnQucHVzaChvKTtyZXR1cm4gdH1zKE9PYSwiYXJyYXlMaWtlS2V5cyIpO2Z1bmN0aW9uIHNmYShhLGUsdCl7dmFyIHI9YVtlXTsoIShqNC5jYWxsKGEsZSkmJmxmYShyLHQpKXx8dD09PXZvaWQgMCYmIShlIGluIGEpKSYmKGFbZV09dCl9cyhzZmEsImFzc2lnblZhbHVlIik7ZnVuY3Rpb24gU2llKGEsZSl7Zm9yKHZhciB0PWEubGVuZ3RoO3QtLTspaWYobGZhKGFbdF1bMF0sZSkpcmV0dXJuIHQ7cmV0dXJuLTF9cyhTaWUsImFzc29jSW5kZXhPZiIpO2Z1bmN0aW9uIEZPYShhLGUpe3JldHVybiBhJiZpZmEoZSx6ZXQoZSksYSl9cyhGT2EsImJhc2VBc3NpZ24iKTtmdW5jdGlvbiB3ZXQoYSxlLHQscixpLG8sbil7dmFyIGw7aWYociYmKGw9bz9yKGEsaSxvLG4pOnIoYSkpLGwhPT12b2lkIDApcmV0dXJuIGw7aWYoIUNpZShhKSlyZXR1cm4gYTt2YXIgZD1rZXQoYSk7aWYoZCl7aWYobD10RmEoYSksIWUpcmV0dXJuIFFPYShhLGwpfWVsc2V7dmFyIGM9RDUoYSkscD1jPT1wZXR8fGM9PVRwYTtpZihkRmEoYSkpcmV0dXJuIFVPYShhLGUpO2lmKGM9PWZldHx8Yz09dWV0fHxwJiYhbyl7aWYoR3BhKGEpKXJldHVybiBvP2E6e307aWYobD1hRmEocD97fTphKSwhZSlyZXR1cm4gSk9hKGEsRk9hKGwsYSkpfWVsc2V7aWYoIW5yW2NdKXJldHVybiBvP2E6e307bD1yRmEoYSxjLHdldCxlKX19bnx8KG49bmV3IGw3KTt2YXIgdT1uLmdldChhKTtpZih1KXJldHVybiB1O2lmKG4uc2V0KGEsbCksIWQpdmFyIG09dD9lRmEoYSk6emV0KGEpO3JldHVybiBlT2EobXx8YSxmdW5jdGlvbih2LHgpe20mJih4PXYsdj1hW3hdKSxzZmEobCx4LHdldCh2LGUsdCxyLHgsYSxuKSl9KSxsfXMod2V0LCJiYXNlQ2xvbmUiKTtmdW5jdGlvbiBCT2EoYSl7cmV0dXJuIENpZShhKT9sT2EoYSk6e319cyhCT2EsImJhc2VDcmVhdGUiKTtmdW5jdGlvbiBIT2EoYSxlLHQpe3ZhciByPWUoYSk7cmV0dXJuIGtldChhKT9yOnRPYShyLHQoYSkpfXMoSE9hLCJiYXNlR2V0QWxsS2V5cyIpO2Z1bmN0aW9uIHFPYShhKXtyZXR1cm4ga2llLmNhbGwoYSl9cyhxT2EsImJhc2VHZXRUYWciKTtmdW5jdGlvbiBWT2EoYSl7aWYoIUNpZShhKXx8b0ZhKGEpKXJldHVybiExO3ZhciBlPWRmYShhKXx8R3BhKGEpP29PYTpHUmE7cmV0dXJuIGUudGVzdChBNShhKSl9cyhWT2EsImJhc2VJc05hdGl2ZSIpO2Z1bmN0aW9uIGpPYShhKXtpZighbmZhKGEpKXJldHVybiBwT2EoYSk7dmFyIGU9W107Zm9yKHZhciB0IGluIE9iamVjdChhKSlqNC5jYWxsKGEsdCkmJnQhPSJjb25zdHJ1Y3RvciImJmUucHVzaCh0KTtyZXR1cm4gZX1zKGpPYSwiYmFzZUtleXMiKTtmdW5jdGlvbiBVT2EoYSxlKXtpZihlKXJldHVybiBhLnNsaWNlKCk7dmFyIHQ9bmV3IGEuY29uc3RydWN0b3IoYS5sZW5ndGgpO3JldHVybiBhLmNvcHkodCksdH1zKFVPYSwiY2xvbmVCdWZmZXIiKTtmdW5jdGlvbiBNZXQoYSl7dmFyIGU9bmV3IGEuY29uc3RydWN0b3IoYS5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IGVmYShlKS5zZXQobmV3IGVmYShhKSksZX1zKE1ldCwiY2xvbmVBcnJheUJ1ZmZlciIpO2Z1bmN0aW9uIFdPYShhLGUpe3ZhciB0PWU/TWV0KGEuYnVmZmVyKTphLmJ1ZmZlcjtyZXR1cm4gbmV3IGEuY29uc3RydWN0b3IodCxhLmJ5dGVPZmZzZXQsYS5ieXRlTGVuZ3RoKX1zKFdPYSwiY2xvbmVEYXRhVmlldyIpO2Z1bmN0aW9uIEdPYShhLGUsdCl7dmFyIHI9ZT90KFlwYShhKSwhMCk6WXBhKGEpO3JldHVybiBXcGEocixRUmEsbmV3IGEuY29uc3RydWN0b3IpfXMoR09hLCJjbG9uZU1hcCIpO2Z1bmN0aW9uIFlPYShhKXt2YXIgZT1uZXcgYS5jb25zdHJ1Y3RvcihhLnNvdXJjZSxXUmEuZXhlYyhhKSk7cmV0dXJuIGUubGFzdEluZGV4PWEubGFzdEluZGV4LGV9cyhZT2EsImNsb25lUmVnRXhwIik7ZnVuY3Rpb24gS09hKGEsZSx0KXt2YXIgcj1lP3QoS3BhKGEpLCEwKTpLcGEoYSk7cmV0dXJuIFdwYShyLEpSYSxuZXcgYS5jb25zdHJ1Y3Rvcil9cyhLT2EsImNsb25lU2V0Iik7ZnVuY3Rpb24gWk9hKGEpe3JldHVybiByZmE/T2JqZWN0KHJmYS5jYWxsKGEpKTp7fX1zKFpPYSwiY2xvbmVTeW1ib2wiKTtmdW5jdGlvbiBYT2EoYSxlKXt2YXIgdD1lP01ldChhLmJ1ZmZlcik6YS5idWZmZXI7cmV0dXJuIG5ldyBhLmNvbnN0cnVjdG9yKHQsYS5ieXRlT2Zmc2V0LGEubGVuZ3RoKX1zKFhPYSwiY2xvbmVUeXBlZEFycmF5Iik7ZnVuY3Rpb24gUU9hKGEsZSl7dmFyIHQ9LTEscj1hLmxlbmd0aDtmb3IoZXx8KGU9QXJyYXkocikpOysrdDxyOyllW3RdPWFbdF07cmV0dXJuIGV9cyhRT2EsImNvcHlBcnJheSIpO2Z1bmN0aW9uIGlmYShhLGUsdCxyKXt0fHwodD17fSk7Zm9yKHZhciBpPS0xLG89ZS5sZW5ndGg7KytpPG87KXt2YXIgbj1lW2ldLGw9cj9yKHRbbl0sYVtuXSxuLHQsYSk6dm9pZCAwO3NmYSh0LG4sbD09PXZvaWQgMD9hW25dOmwpfXJldHVybiB0fXMoaWZhLCJjb3B5T2JqZWN0Iik7ZnVuY3Rpb24gSk9hKGEsZSl7cmV0dXJuIGlmYShhLG9mYShhKSxlKX1zKEpPYSwiY29weVN5bWJvbHMiKTtmdW5jdGlvbiBlRmEoYSl7cmV0dXJuIEhPYShhLHpldCxvZmEpfXMoZUZhLCJnZXRBbGxLZXlzIik7ZnVuY3Rpb24gemllKGEsZSl7dmFyIHQ9YS5fX2RhdGFfXztyZXR1cm4gaUZhKGUpP3RbdHlwZW9mIGU9PSJzdHJpbmciPyJzdHJpbmciOiJoYXNoIl06dC5tYXB9cyh6aWUsImdldE1hcERhdGEiKTtmdW5jdGlvbiBjNyhhLGUpe3ZhciB0PXJPYShhLGUpO3JldHVybiBWT2EodCk/dDp2b2lkIDB9cyhjNywiZ2V0TmF0aXZlIik7dmFyIG9mYT10ZmE/bWV0KHRmYSxPYmplY3QpOmZGYSxENT1xT2E7KGJldCYmRDUobmV3IGJldChuZXcgQXJyYXlCdWZmZXIoMSkpKSE9d2llfHwkRyYmRDUobmV3ICRHKSE9eGllfHx2ZXQmJkQ1KHZldC5yZXNvbHZlKCkpIT0kcGF8fHhldCYmRDUobmV3IHhldCkhPXlpZXx8eWV0JiZENShuZXcgeWV0KSE9aGV0KSYmKEQ1PXMoZnVuY3Rpb24oYSl7dmFyIGU9a2llLmNhbGwoYSksdD1lPT1mZXQ/YS5jb25zdHJ1Y3Rvcjp2b2lkIDAscj10P0E1KHQpOnZvaWQgMDtpZihyKXN3aXRjaChyKXtjYXNlIGZPYTpyZXR1cm4gd2llO2Nhc2UgaE9hOnJldHVybiB4aWU7Y2FzZSBtT2E6cmV0dXJuICRwYTtjYXNlIGdPYTpyZXR1cm4geWllO2Nhc2UgYk9hOnJldHVybiBoZXR9cmV0dXJuIGV9LCJnZXRUYWciKSk7ZnVuY3Rpb24gdEZhKGEpe3ZhciBlPWEubGVuZ3RoLHQ9YS5jb25zdHJ1Y3RvcihlKTtyZXR1cm4gZSYmdHlwZW9mIGFbMF09PSJzdHJpbmciJiZqNC5jYWxsKGEsImluZGV4IikmJih0LmluZGV4PWEuaW5kZXgsdC5pbnB1dD1hLmlucHV0KSx0fXModEZhLCJpbml0Q2xvbmVBcnJheSIpO2Z1bmN0aW9uIGFGYShhKXtyZXR1cm4gdHlwZW9mIGEuY29uc3RydWN0b3I9PSJmdW5jdGlvbiImJiFuZmEoYSk/Qk9hKG5PYShhKSk6e319cyhhRmEsImluaXRDbG9uZU9iamVjdCIpO2Z1bmN0aW9uIHJGYShhLGUsdCxyKXt2YXIgaT1hLmNvbnN0cnVjdG9yO3N3aXRjaChlKXtjYXNlIEVwYTpyZXR1cm4gTWV0KGEpO2Nhc2UgQ3BhOmNhc2UgX3BhOnJldHVybiBuZXcgaSgrYSk7Y2FzZSB3aWU6cmV0dXJuIFdPYShhLHIpO2Nhc2UgSXBhOmNhc2UgTnBhOmNhc2UgUnBhOmNhc2UgT3BhOmNhc2UgRnBhOmNhc2UgQnBhOmNhc2UgSHBhOmNhc2UgcXBhOmNhc2UgVnBhOnJldHVybiBYT2EoYSxyKTtjYXNlIHhpZTpyZXR1cm4gR09hKGEscix0KTtjYXNlIExwYTpjYXNlIEFwYTpyZXR1cm4gbmV3IGkoYSk7Y2FzZSBEcGE6cmV0dXJuIFlPYShhKTtjYXNlIHlpZTpyZXR1cm4gS09hKGEscix0KTtjYXNlIFBwYTpyZXR1cm4gWk9hKGEpfX1zKHJGYSwiaW5pdENsb25lQnlUYWciKTtmdW5jdGlvbiBzRmEoYSxlKXtyZXR1cm4gZT1lPz96cGEsISFlJiYodHlwZW9mIGE9PSJudW1iZXIifHxZUmEudGVzdChhKSkmJmE+LTEmJmElMT09MCYmYTxlfXMoc0ZhLCJpc0luZGV4Iik7ZnVuY3Rpb24gaUZhKGEpe3ZhciBlPXR5cGVvZiBhO3JldHVybiBlPT0ic3RyaW5nInx8ZT09Im51bWJlciJ8fGU9PSJzeW1ib2wifHxlPT0iYm9vbGVhbiI/YSE9PSJfX3Byb3RvX18iOmE9PT1udWxsfXMoaUZhLCJpc0tleWFibGUiKTtmdW5jdGlvbiBvRmEoYSl7cmV0dXJuISFacGEmJlpwYSBpbiBhfXMob0ZhLCJpc01hc2tlZCIpO2Z1bmN0aW9uIG5mYShhKXt2YXIgZT1hJiZhLmNvbnN0cnVjdG9yLHQ9dHlwZW9mIGU9PSJmdW5jdGlvbiImJmUucHJvdG90eXBlfHxNaWU7cmV0dXJuIGE9PT10fXMobmZhLCJpc1Byb3RvdHlwZSIpO2Z1bmN0aW9uIEE1KGEpe2lmKGEhPW51bGwpe3RyeXtyZXR1cm4gWHBhLmNhbGwoYSl9Y2F0Y2h7fXRyeXtyZXR1cm4gYSsiIn1jYXRjaHt9fXJldHVybiIifXMoQTUsInRvU291cmNlIik7ZnVuY3Rpb24gbkZhKGEpe3JldHVybiB3ZXQoYSwhMCwhMCl9cyhuRmEsImNsb25lRGVlcCIpO2Z1bmN0aW9uIGxmYShhLGUpe3JldHVybiBhPT09ZXx8YSE9PWEmJmUhPT1lfXMobGZhLCJlcSIpO2Z1bmN0aW9uIGxGYShhKXtyZXR1cm4gY0ZhKGEpJiZqNC5jYWxsKGEsImNhbGxlZSIpJiYoIWNPYS5jYWxsKGEsImNhbGxlZSIpfHxraWUuY2FsbChhKT09dWV0KX1zKGxGYSwiaXNBcmd1bWVudHMiKTt2YXIga2V0PUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gY2ZhKGEpe3JldHVybiBhIT1udWxsJiZ1RmEoYS5sZW5ndGgpJiYhZGZhKGEpfXMoY2ZhLCJpc0FycmF5TGlrZSIpO2Z1bmN0aW9uIGNGYShhKXtyZXR1cm4gcEZhKGEpJiZjZmEoYSl9cyhjRmEsImlzQXJyYXlMaWtlT2JqZWN0Iik7dmFyIGRGYT11T2F8fGhGYTtmdW5jdGlvbiBkZmEoYSl7dmFyIGU9Q2llKGEpP2tpZS5jYWxsKGEpOiIiO3JldHVybiBlPT1wZXR8fGU9PVRwYX1zKGRmYSwiaXNGdW5jdGlvbiIpO2Z1bmN0aW9uIHVGYShhKXtyZXR1cm4gdHlwZW9mIGE9PSJudW1iZXIiJiZhPi0xJiZhJTE9PTAmJmE8PXpwYX1zKHVGYSwiaXNMZW5ndGgiKTtmdW5jdGlvbiBDaWUoYSl7dmFyIGU9dHlwZW9mIGE7cmV0dXJuISFhJiYoZT09Im9iamVjdCJ8fGU9PSJmdW5jdGlvbiIpfXMoQ2llLCJpc09iamVjdCIpO2Z1bmN0aW9uIHBGYShhKXtyZXR1cm4hIWEmJnR5cGVvZiBhPT0ib2JqZWN0In1zKHBGYSwiaXNPYmplY3RMaWtlIik7ZnVuY3Rpb24gemV0KGEpe3JldHVybiBjZmEoYSk/T09hKGEpOmpPYShhKX1zKHpldCwia2V5cyIpO2Z1bmN0aW9uIGZGYSgpe3JldHVybltdfXMoZkZhLCJzdHViQXJyYXkiKTtmdW5jdGlvbiBoRmEoKXtyZXR1cm4hMX1zKGhGYSwic3R1YkZhbHNlIiksZDcuZXhwb3J0cz1uRmF9KTt2YXIgX2llLHBmYSxUaWUsQ2V0PWYoKCk9PntrcGEoKTtSaCgpO19pZT1rbyh1ZmEoKSwxKSxwZmE9a28ocWxlKCksMSksVGllPXBmYS5kZWZhdWx0fSk7ZnVuY3Rpb24gZ0ZhKGEpe3JldHVybiB0eXBlb2YgQnVmZmVyPCJ1Ij9CdWZmZXIuZnJvbShhKS50b1N0cmluZygiYmFzZTY0Iik6YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLmEpKX1mdW5jdGlvbiBiRmEoYSl7aWYodHlwZW9mIEJ1ZmZlcjwidSIpe2xldCBlPUJ1ZmZlci5mcm9tKGEsImJhc2U2NCIpO3JldHVybiBuZXcgVWludDhBcnJheShlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoQXJyYXkuZnJvbShhdG9iKGEpKS5tYXAoZT0+ZS5jaGFyQ29kZUF0KDApKSl9ZnVuY3Rpb24gVGV0KGEsZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGEsTGllLGUpfWZ1bmN0aW9uIExldChhKXtyZXR1cm4gSlNPTi5wYXJzZShhLGZmYSl9ZnVuY3Rpb24gdkZhKGEpe3JldHVybiBtZmEoYSkmJmEudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmX2V0KGEuZGF0YSl9ZnVuY3Rpb24geEZhKGEpe3JldHVybiBtZmEoYSkmJmEudHlwZT09PSJCdWZmZXIiJiYoaGZhKGEuZGF0YSl8fF9ldChhLmRhdGEpKXx8YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl9ZnVuY3Rpb24gaGZhKGEpe3JldHVybiBBcnJheS5pc0FycmF5KGEpfWZ1bmN0aW9uIF9ldChhKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmcifWZ1bmN0aW9uIG1mYShhKXtyZXR1cm4gdHlwZW9mIGE9PSJvYmplY3QiJiZhIT09bnVsbH12YXIgTGllLGZmYSxnZmE9ZigoKT0+e0NldCgpO3MoZ0ZhLCJiYXNlNjRFbmNvZGUiKTtzKGJGYSwiYmFzZTY0RGVjb2RlIik7cyhUZXQsInN0cmluZ2lmeSIpO3MoTGV0LCJwYXJzZSIpO0xpZT1zKChhLGUpPT57aWYoeEZhKGUpKXtsZXQgdDtpZigiZGF0YSJpbiBlJiZoZmEoZS5kYXRhKSl0PW5ldyBVaW50OEFycmF5KGUuZGF0YSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgVWludDhBcnJheSl0PWU7ZWxzZSByZXR1cm4gZTtyZXR1cm57dHlwZToiRW5jb2RlZEJ1ZmZlciIsZGF0YToiYmFzZTY0OiIrZ0ZhKHQpfX1yZXR1cm4gZX0sInJlcGxhY2VyIiksZmZhPXMoKGEsZSk9PntpZih2RmEoZSkmJl9ldChlLmRhdGEpJiZlLmRhdGEuc3RhcnRzV2l0aCgiYmFzZTY0OiIpKXtsZXQgdD1lLmRhdGEuc2xpY2UoNyk7cmV0dXJuIGJGYSh0KX1yZXR1cm4gZX0sInJldml2ZXIiKTtzKHZGYSwiaXNFbmNvZGVkQnVmZmVyIik7cyh4RmEsImlzQnVmZmVyTGlrZSIpO3MoaGZhLCJpc0FycmF5Iik7cyhfZXQsImlzU3RyaW5nIik7cyhtZmEsImlzT2JqZWN0Iil9KTt2YXIgZGw9e307bHQoZGwse1NtYXJ0anNvbjooKT0+RGV0LGRlZXBFcXVhbEpzb25MU3RyaW5nczooKT0+X0ZhLGRlZXBFcXVhbE9iamVjdHM6KCk9PmJmYSxmb2xkRGVjOigpPT5DRmEscGFyc2U6KCk9PiRpZSxwYXJzZUJhc2U2NDooKT0+ekZhLHBhcnNlSnNvbkw6KCk9PiRldCxzdGFibGVPbmVXYXlTdHJpbmdpZnk6KCk9Pk1GYSxzdHJpbmdpZnk6KCk9PlA1LHN0cmluZ2lmeUJhc2U2NDooKT0+U0ZhLHN0cmluZ2lmeUpzb25MOigpPT53RmEsc3RyaW5naWZ5UHJldHR5OigpPT5rRmF9KTt2YXIgJGllLCRldCx3RmEsTUZhLFA1LGtGYSxTRmEsekZhLERldCxDRmEsYmZhLF9GYSx2ZmE9ZigoKT0+e0NldCgpO2dmYSgpOyRpZT1MZXQsJGV0PXMoYT0+YS5zcGxpdChgCmApLnJlZHVjZSgocixpKT0+e2xldCBvPWkudHJpbSgpO3JldHVybiBvLmxlbmd0aD4wJiZyLnB1c2goJGllKG8pKSxyfSxbXSksInBhcnNlSnNvbkwiKSx3RmE9cyhhPT5hLm1hcChlPT5QNShlKSkuam9pbihgCmApLCJzdHJpbmdpZnlKc29uTCIpLE1GYT1zKChhLGUsdD17fSk9PntsZXQgcj1uZXcgV2Vha1NldCxpPXMobD0+e2lmKGw9PT1udWxsfHx0eXBlb2YgbCE9Im9iamVjdCIpcmV0dXJuIGw7bGV0IGQ9TGllKCIiLGwpO2lmKGQmJmQudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmdHlwZW9mIGQuZGF0YT09InN0cmluZyIpcmV0dXJuIGQ7aWYoci5oYXMobCkpcmV0dXJuIl9fY3ljbGVfXyI7aWYoci5hZGQobCksQXJyYXkuaXNBcnJheShsKSlyZXR1cm4gbC5tYXAocD0+aShwKSk7bGV0IGM9e307Zm9yKGxldCBwIG9mIE9iamVjdC5rZXlzKGwpKXRyeXtjW3BdPWkobFtwXSl9Y2F0Y2h7Y1twXT0iX191bnNlcmlhbGl6YWJsZV9fIn1yZXR1cm4gY30sInNhbml0aXplIiksbz1pKGEpLG49ey4uLnQsY3ljbGVzOiEwfTtpZihlJiYhbi5jbXApe2xldCBsPW5ldyBNYXA7ZS5mb3JFYWNoKChkLGMpPT5sLnNldChkLGMpKSxuLmNtcD0oZCxjKT0+e2xldCBwPWwuaGFzKGQua2V5KT9sLmdldChkLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHU9bC5oYXMoYy5rZXkpP2wuZ2V0KGMua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIHAhPT11P3AtdTpkLmtleTxjLmtleT8tMTpkLmtleT5jLmtleT8xOjB9fXJldHVybiBUaWUobyxuKX0sInN0YWJsZU9uZVdheVN0cmluZ2lmeSIpLFA1PXMoKGEsZSx0PXt9KT0+e2xldCByPVRldChhKTthPUpTT04ucGFyc2Uocik7bGV0IGk9ey4uLnR9O2lmKGUmJiFpLmNtcCl7bGV0IG49bmV3IE1hcDtlLmZvckVhY2goKGwsZCk9Pm4uc2V0KGwsZCkpLGkuY21wPShsLGQpPT57bGV0IGM9bi5oYXMobC5rZXkpP24uZ2V0KGwua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkscD1uLmhhcyhkLmtleSk/bi5nZXQoZC5rZXkpOk51bWJlci5QT1NJVElWRV9JTkZJTklUWTtyZXR1cm4gYyE9PXA/Yy1wOmwua2V5PGQua2V5Py0xOmwua2V5PmQua2V5PzE6MH19cmV0dXJuIFRpZShhLGkpfSwic3RyaW5naWZ5Iiksa0ZhPXMoYT0+e2xldCBlPVA1KGEpLHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCxudWxsLDIpfSwic3RyaW5naWZ5UHJldHR5IiksU0ZhPXMoKC4uLmEpPT57bGV0IGU9UDUoLi4uYSk7cmV0dXJuIGRzLmJhc2U2NC5lbmNvZGVVcmkoZSl9LCJzdHJpbmdpZnlCYXNlNjQiKSx6RmE9cyhhPT57bGV0IGU9ZHMuYmFzZTY0LHI9KGUuZGVjb2RlVXJpfHxlLmRlY29kZSkoYSk7cmV0dXJuICRpZShyKX0sInBhcnNlQmFzZTY0IiksRGV0PWNsYXNzIGF7c3RhdGlje3ModGhpcywiU21hcnRqc29uIil9c3RhdGljIGVuZm9sZEZyb21PYmplY3QoZSl7bGV0IHQ9bmV3IHRoaXMscj10LnNhdmVhYmxlUHJvcGVydGllc3x8W107Zm9yKGxldCBpIGluIGUpci5pbmRleE9mKGkpIT09LTEmJih0W2ldPWVbaV0pO3JldHVybiB0fXN0YXRpYyBlbmZvbGRGcm9tSnNvbihlKXtsZXQgdD0kaWUoZSk7cmV0dXJuIHRoaXMuZW5mb2xkRnJvbU9iamVjdCh0KX1mb2xkVG9PYmplY3QoKXtsZXQgZT1uZXcgU2V0O3JldHVybiBlLmFkZCh0aGlzKSx0aGlzLmZvbGRUb09iamVjdEludGVybmFsKGUpfWZvbGRUb09iamVjdEludGVybmFsKGUpe2xldCB0PXt9LHI9cyhvPT57aWYobyBpbnN0YW5jZW9mIGEpe2lmKGUuaGFzKG8pKXRocm93IG5ldyBFcnJvcigiY3ljbGUgZGV0ZWN0ZWQiKTtyZXR1cm4gZS5hZGQobyksby5mb2xkVG9PYmplY3RJbnRlcm5hbChlKX1yZXR1cm4gQXJyYXkuaXNBcnJheShvKT9vLm1hcChuPT5yKG4pKTpfaWUuZGVmYXVsdChvKX0sImZvbGRWYWx1ZSIpLGk9dGhpcy5zYXZlYWJsZVByb3BlcnRpZXN8fFtdO2ZvcihsZXQgbyBvZiBpKXtsZXQgbj10aGlzW29dO3Rbb109cihuKX1yZXR1cm4gdH1mb2xkVG9Kc29uKCl7bGV0IGU9dGhpcy5mb2xkVG9PYmplY3QoKTtyZXR1cm4gUDUoZSl9fSxDRmE9cygoKT0+KGEsZSk9PnthLnNhdmVhYmxlUHJvcGVydGllc3x8KGEuc2F2ZWFibGVQcm9wZXJ0aWVzPVtdKSxhLnNhdmVhYmxlUHJvcGVydGllcy5wdXNoKGUpfSwiZm9sZERlYyIpLGJmYT1zKChhLGUpPT57bGV0IHQ9UDUoYSkscj1QNShlKTtyZXR1cm4gdD09PXJ9LCJkZWVwRXF1YWxPYmplY3RzIiksX0ZhPXMoKGEsZSk9PntsZXQgdD0kZXQoYSkscj0kZXQoZSk7cmV0dXJuIGJmYSh0LHIpfSwiZGVlcEVxdWFsSnNvbkxTdHJpbmdzIil9KTt2YXIgeGZhPWYoKCk9PntHOSgpO2loKCk7eHBhKCk7dDAoKTt2ZmEoKTtiaSgpO3AyKCk7UmgoKTtqZGUoKX0pO2Z1bmN0aW9uIExGYShhKXtyZXR1cm57cGVlcjphLGFzeW5jIGdldFRhZ0J5SWQoZSl7aWYoIWEudGFncy5oYXMoZSkpcmV0dXJuO2xldCB0PWEuZGF0YS5nZXQoYCR7QWV0fSR7ZX1gKTtyZXR1cm57aWQ6ZSxwYXlsb2FkOnR9fX19dmFyIEFldCxQZXQseWZhPWYoKCk9Pnt4ZmEoKTtBZXQ9Il9fdHlwZWRzb2NrZXRfdGFnX18iO3MoTEZhLCJ3cmFwU21hcnRTZXJ2ZVBlZXIiKTtQZXQ9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJUeXBlZFNvY2tldCIpfXN0YXRpYyBhc3luYyBjcmVhdGVDbGllbnQoZSx0LHI9e30pe2xldCBvPXsuLi57YXV0b1JlY29ubmVjdDohMCxtYXhSZXRyaWVzOjEwMCxpbml0aWFsQmFja29mZk1zOjFlMyxtYXhCYWNrb2ZmTXM6NmU0fSwuLi5yfSxuPW5ldyBhKCJjbGllbnQiLGUpO3JldHVybiBuLmNsaWVudE9wdGlvbnM9byxuLnNlcnZlclVybD10LG4uY3VycmVudEJhY2tvZmY9by5pbml0aWFsQmFja29mZk1zLGF3YWl0IG4uY29ubmVjdCgpLG59c3RhdGlje3RoaXMudXNlV2luZG93TG9jYXRpb25PcmlnaW5Vcmw9KCk9PnkxLlNtYXJ0dXJsLmNyZWF0ZUZyb21VcmwoZ2xvYmFsVGhpcy5sb2NhdGlvbi5vcmlnaW4pLnRvU3RyaW5nKCl9c3RhdGljIGZyb21TbWFydFNlcnZlKGUsdCl7bGV0IHI9bmV3IE1hcDthLnJlZ2lzdGVyVGFnSGFuZGxlcnModCk7bGV0IGk9bmV3IGEoInNlcnZlciIsdCk7cmV0dXJuIGkuc21hcnRTZXJ2ZVJlZj1lLGkuc21hcnRTZXJ2ZUNvbm5lY3Rpb25XcmFwcGVycz1yLGl9c3RhdGljIHJlZ2lzdGVyVGFnSGFuZGxlcnMoZSl7ZS5hZGRUeXBlZEhhbmRsZXIobmV3IEdyLlR5cGVkSGFuZGxlcigiX190eXBlZHNvY2tldF9zZXRUYWciLGFzeW5jKHQscik9PntsZXQgaT1yPy5sb2NhbERhdGE/LnBlZXI7cmV0dXJuIGk/KGkudGFncy5hZGQodC5uYW1lKSxpLmRhdGEuc2V0KGAke0FldH0ke3QubmFtZX1gLHQucGF5bG9hZCkse3N1Y2Nlc3M6ITB9KTooY29uc29sZS53YXJuKCJzZXRUYWc6IE5vIHBlZXIgZm91bmQgaW4gcmVxdWVzdCBjb250ZXh0Iikse3N1Y2Nlc3M6ITF9KX0pKSxlLmFkZFR5cGVkSGFuZGxlcihuZXcgR3IuVHlwZWRIYW5kbGVyKCJfX3R5cGVkc29ja2V0X3JlbW92ZVRhZyIsYXN5bmModCxyKT0+e2xldCBpPXI/LmxvY2FsRGF0YT8ucGVlcjtyZXR1cm4gaT8oaS50YWdzLmRlbGV0ZSh0Lm5hbWUpLGkuZGF0YS5kZWxldGUoYCR7QWV0fSR7dC5uYW1lfWApLHtzdWNjZXNzOiEwfSk6KGNvbnNvbGUud2FybigicmVtb3ZlVGFnOiBObyBwZWVyIGZvdW5kIGluIHJlcXVlc3QgY29udGV4dCIpLHtzdWNjZXNzOiExfSl9KSl9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnN0YXR1c1N1YmplY3Q9bmV3IF9hLnJ4anMuU3ViamVjdCx0aGlzLmNvbm5lY3Rpb25TdGF0dXM9Im5ldyIsdGhpcy53ZWJzb2NrZXQ9bnVsbCx0aGlzLmNsaWVudE9wdGlvbnM9bnVsbCx0aGlzLnNlcnZlclVybD0iIix0aGlzLnJldHJ5Q291bnQ9MCx0aGlzLmN1cnJlbnRCYWNrb2ZmPTFlMyx0aGlzLnBlbmRpbmdSZXF1ZXN0cz1uZXcgTWFwLHRoaXMuc21hcnRTZXJ2ZVJlZj1udWxsLHRoaXMuc21hcnRTZXJ2ZUNvbm5lY3Rpb25XcmFwcGVycz1uZXcgTWFwLHRoaXMuc2lkZT1lLHRoaXMudHlwZWRyb3V0ZXI9dH1hc3luYyBjb25uZWN0KCl7bGV0IGU9Y3QuZGVmZXIoKTt0aGlzLnVwZGF0ZVN0YXR1cygiY29ubmVjdGluZyIpO2xldCB0PXRoaXMudG9XZWJTb2NrZXRVcmwodGhpcy5zZXJ2ZXJVcmwpO2NvbnNvbGUubG9nKGBUeXBlZFNvY2tldCBjb25uZWN0aW5nIHRvICR7dH0uLi5gKSx0aGlzLndlYnNvY2tldD1uZXcgV2ViU29ja2V0KHQpO2xldCByPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmNvbm5lY3Rpb25TdGF0dXMhPT0iY29ubmVjdGVkIiYmKGNvbnNvbGUud2FybigiVHlwZWRTb2NrZXQgY29ubmVjdGlvbiB0aW1lb3V0IiksdGhpcy53ZWJzb2NrZXQ/LmNsb3NlKCksZS5yZWplY3QobmV3IEVycm9yKCJDb25uZWN0aW9uIHRpbWVvdXQiKSkpfSwxZTQpO3RoaXMud2Vic29ja2V0Lm9ub3Blbj0oKT0+e2NsZWFyVGltZW91dChyKSxjb25zb2xlLmxvZygiVHlwZWRTb2NrZXQgY29ubmVjdGVkISIpLHRoaXMudXBkYXRlU3RhdHVzKCJjb25uZWN0ZWQiKSx0aGlzLnJldHJ5Q291bnQ9MCx0aGlzLmN1cnJlbnRCYWNrb2ZmPXRoaXMuY2xpZW50T3B0aW9ucz8uaW5pdGlhbEJhY2tvZmZNcz8/MWUzLGUucmVzb2x2ZSgpfSx0aGlzLndlYnNvY2tldC5vbm1lc3NhZ2U9YXN5bmMgaT0+e2F3YWl0IHRoaXMuaGFuZGxlTWVzc2FnZShpLmRhdGEpfSx0aGlzLndlYnNvY2tldC5vbmNsb3NlPSgpPT57Y2xlYXJUaW1lb3V0KHIpLHRoaXMuaGFuZGxlRGlzY29ubmVjdCgpfSx0aGlzLndlYnNvY2tldC5vbmVycm9yPWk9Pntjb25zb2xlLmVycm9yKCJUeXBlZFNvY2tldCBXZWJTb2NrZXQgZXJyb3I6IixpKX07dHJ5e2F3YWl0IGUucHJvbWlzZX1jYXRjaChpKXtpZihjbGVhclRpbWVvdXQociksdGhpcy5jbGllbnRPcHRpb25zPy5hdXRvUmVjb25uZWN0KWF3YWl0IHRoaXMuc2NoZWR1bGVSZWNvbm5lY3QoKTtlbHNlIHRocm93IGl9fXRvV2ViU29ja2V0VXJsKGUpe2xldCB0PW5ldyBVUkwoZSk7cmV0dXJuYCR7dC5wcm90b2NvbD09PSJodHRwczoiPyJ3c3M6Ijoid3M6In0vLyR7dC5ob3N0fSR7dC5wYXRobmFtZX1gfWFzeW5jIGhhbmRsZU1lc3NhZ2UoZSl7dHJ5e2xldCB0PXR5cGVvZiBlPT0ic3RyaW5nIj9lOm5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShlKSxyPWRsLnBhcnNlKHQpO2lmKHIuY29ycmVsYXRpb24/LmlkJiZ0aGlzLnBlbmRpbmdSZXF1ZXN0cy5oYXMoci5jb3JyZWxhdGlvbi5pZCkpe2xldCBvPXRoaXMucGVuZGluZ1JlcXVlc3RzLmdldChyLmNvcnJlbGF0aW9uLmlkKTt0aGlzLnBlbmRpbmdSZXF1ZXN0cy5kZWxldGUoci5jb3JyZWxhdGlvbi5pZCksby5yZXNvbHZlKHIpO3JldHVybn1sZXQgaT1hd2FpdCB0aGlzLnR5cGVkcm91dGVyLnJvdXRlQW5kQWRkUmVzcG9uc2Uocik7aSYmdGhpcy53ZWJzb2NrZXQ/LnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuT1BFTiYmdGhpcy53ZWJzb2NrZXQuc2VuZChkbC5zdHJpbmdpZnkoaSkpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoIlR5cGVkU29ja2V0IGZhaWxlZCB0byBwcm9jZXNzIG1lc3NhZ2U6Iix0KX19aGFuZGxlRGlzY29ubmVjdCgpe2lmKHRoaXMuY29ubmVjdGlvblN0YXR1cyE9PSJkaXNjb25uZWN0ZWQiKXt0aGlzLnVwZGF0ZVN0YXR1cygiZGlzY29ubmVjdGVkIik7Zm9yKGxldFtlLHRdb2YgdGhpcy5wZW5kaW5nUmVxdWVzdHMpdC5yZWplY3QobmV3IEVycm9yKCJUeXBlZFNvY2tldCBkaXNjb25uZWN0ZWQiKSk7dGhpcy5wZW5kaW5nUmVxdWVzdHMuY2xlYXIoKSx0aGlzLmNsaWVudE9wdGlvbnM/LmF1dG9SZWNvbm5lY3QmJnRoaXMucmV0cnlDb3VudDx0aGlzLmNsaWVudE9wdGlvbnMubWF4UmV0cmllcyYmdGhpcy5zY2hlZHVsZVJlY29ubmVjdCgpfX1hc3luYyBzY2hlZHVsZVJlY29ubmVjdCgpe2lmKCF0aGlzLmNsaWVudE9wdGlvbnMpcmV0dXJuO3RoaXMudXBkYXRlU3RhdHVzKCJyZWNvbm5lY3RpbmciKSx0aGlzLnJldHJ5Q291bnQrKztsZXQgZT10aGlzLmN1cnJlbnRCYWNrb2ZmKi4yKihNYXRoLnJhbmRvbSgpKjItMSksdD1NYXRoLm1pbih0aGlzLmN1cnJlbnRCYWNrb2ZmK2UsdGhpcy5jbGllbnRPcHRpb25zLm1heEJhY2tvZmZNcyk7Y29uc29sZS5sb2coYFR5cGVkU29ja2V0IHJlY29ubmVjdGluZyBpbiAke01hdGgucm91bmQodCl9bXMgKGF0dGVtcHQgJHt0aGlzLnJldHJ5Q291bnR9LyR7dGhpcy5jbGllbnRPcHRpb25zLm1heFJldHJpZXN9KWApLGF3YWl0IFV0LmRlbGF5Rm9yKHQpLHRoaXMuY3VycmVudEJhY2tvZmY9TWF0aC5taW4odGhpcy5jdXJyZW50QmFja29mZioyLHRoaXMuY2xpZW50T3B0aW9ucy5tYXhCYWNrb2ZmTXMpO3RyeXthd2FpdCB0aGlzLmNvbm5lY3QoKX1jYXRjaChyKXtjb25zb2xlLmVycm9yKCJUeXBlZFNvY2tldCByZWNvbm5lY3Rpb24gZmFpbGVkOiIscil9fXVwZGF0ZVN0YXR1cyhlKXt0aGlzLmNvbm5lY3Rpb25TdGF0dXMhPT1lJiYodGhpcy5jb25uZWN0aW9uU3RhdHVzPWUsdGhpcy5zdGF0dXNTdWJqZWN0Lm5leHQoZSkpfWFzeW5jIHNlbmRSZXF1ZXN0KGUpe2lmKCF0aGlzLndlYnNvY2tldHx8dGhpcy53ZWJzb2NrZXQucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOKXRocm93IG5ldyBFcnJvcigiV2ViU29ja2V0IG5vdCBjb25uZWN0ZWQiKTtlLmNvcnJlbGF0aW9ufHw9e2lkOmRzLmNyZWF0ZS5jcmVhdGVDcnlwdG9SYW5kb21TdHJpbmcoKSxwaGFzZToicmVxdWVzdCJ9O2xldCB0PWUuY29ycmVsYXRpb24uaWQ7cmV0dXJuIG5ldyBQcm9taXNlKChyLGkpPT57bGV0IG89c2V0VGltZW91dCgoKT0+e3RoaXMucGVuZGluZ1JlcXVlc3RzLmRlbGV0ZSh0KSxpKG5ldyBFcnJvcigiUmVxdWVzdCB0aW1lb3V0IikpfSwzZTQpO3RoaXMucGVuZGluZ1JlcXVlc3RzLnNldCh0LHtyZXNvbHZlOnMobj0+e2NsZWFyVGltZW91dChvKSxyKG4pfSwicmVzb2x2ZSIpLHJlamVjdDpzKG49PntjbGVhclRpbWVvdXQobyksaShuKX0sInJlamVjdCIpfSksdGhpcy53ZWJzb2NrZXQuc2VuZChkbC5zdHJpbmdpZnkoZSkpfSl9Y3JlYXRlVHlwZWRSZXF1ZXN0KGUsdCl7bGV0IHI9cyhhc3luYyBpPT57aWYodGhpcy5zaWRlPT09ImNsaWVudCIpcmV0dXJuIHRoaXMuc2VuZFJlcXVlc3QoaSk7aWYoIXRoaXMuc21hcnRTZXJ2ZVJlZil0aHJvdyBuZXcgRXJyb3IoIlNlcnZlciBub3QgaW5pdGlhbGl6ZWQiKTtsZXQgbz10O2lmKCFvKXtsZXQgbD10aGlzLnNtYXJ0U2VydmVSZWYuZ2V0V2ViU29ja2V0Q29ubmVjdGlvbnMoKTtpZihsLmxlbmd0aD09PTEpe2xldCBkPWxbMF07bz10aGlzLmdldE9yQ3JlYXRlV3JhcHBlcihkKX1lbHNlIHRocm93IGwubGVuZ3RoPT09MD9uZXcgRXJyb3IoIk5vIFdlYlNvY2tldCBjb25uZWN0aW9ucyBhdmFpbGFibGUiKTpuZXcgRXJyb3IoIk11bHRpcGxlIGNvbm5lY3Rpb25zIGF2YWlsYWJsZSAtIHNwZWNpZnkgdGFyZ2V0Q29ubmVjdGlvbiIpfWxldCBuPWF3YWl0IHRoaXMudHlwZWRyb3V0ZXIuZmlyZUV2ZW50SW50ZXJlc3RNYXAuYWRkSW50ZXJlc3QoaS5jb3JyZWxhdGlvbi5pZCxpKTtyZXR1cm4gby5wZWVyLnNlbmQoZGwuc3RyaW5naWZ5KGkpKSxhd2FpdCBuLmludGVyZXN0RnVsbGZpbGxlZH0sInBvc3RNZXRob2QiKTtyZXR1cm4gbmV3IEdyLlR5cGVkUmVxdWVzdChuZXcgR3IuVHlwZWRUYXJnZXQoe3Bvc3RNZXRob2Q6cn0pLGUpfWdldFN0YXR1cygpe3JldHVybiB0aGlzLmNvbm5lY3Rpb25TdGF0dXN9YXN5bmMgc3RvcCgpe3RoaXMuc2lkZT09PSJjbGllbnQiPyh0aGlzLmNsaWVudE9wdGlvbnMmJih0aGlzLmNsaWVudE9wdGlvbnMuYXV0b1JlY29ubmVjdD0hMSksdGhpcy53ZWJzb2NrZXQmJih0aGlzLndlYnNvY2tldC5jbG9zZSgpLHRoaXMud2Vic29ja2V0PW51bGwpLHRoaXMucGVuZGluZ1JlcXVlc3RzLmNsZWFyKCkpOnRoaXMuc21hcnRTZXJ2ZUNvbm5lY3Rpb25XcmFwcGVycy5jbGVhcigpfWFzeW5jIHNldFRhZyhlLHQpe2lmKHRoaXMuc2lkZSE9PSJjbGllbnQiKXRocm93IG5ldyBFcnJvcigic2V0VGFnIGlzIG9ubHkgYXZhaWxhYmxlIG9uIGNsaWVudHMiKTtpZighKGF3YWl0IHRoaXMuY3JlYXRlVHlwZWRSZXF1ZXN0KCJfX3R5cGVkc29ja2V0X3NldFRhZyIpLmZpcmUoe25hbWU6ZSxwYXlsb2FkOnR9KSkuc3VjY2Vzcyl0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBzZXQgdGFnIG9uIHNlcnZlciIpfWFzeW5jIHJlbW92ZVRhZyhlKXtpZih0aGlzLnNpZGUhPT0iY2xpZW50Iil0aHJvdyBuZXcgRXJyb3IoInJlbW92ZVRhZyBpcyBvbmx5IGF2YWlsYWJsZSBvbiBjbGllbnRzIik7aWYoIShhd2FpdCB0aGlzLmNyZWF0ZVR5cGVkUmVxdWVzdCgiX190eXBlZHNvY2tldF9yZW1vdmVUYWciKS5maXJlKHtuYW1lOmV9KSkuc3VjY2Vzcyl0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byByZW1vdmUgdGFnIG9uIHNlcnZlciIpfWdldE9yQ3JlYXRlV3JhcHBlcihlKXtsZXQgdD10aGlzLnNtYXJ0U2VydmVDb25uZWN0aW9uV3JhcHBlcnMuZ2V0KGUuaWQpO3JldHVybiB0fHwodD1MRmEoZSksdGhpcy5zbWFydFNlcnZlQ29ubmVjdGlvbldyYXBwZXJzLnNldChlLmlkLHQpKSx0fWFzeW5jIGZpbmRBbGxUYXJnZXRDb25uZWN0aW9ucyhlKXtpZih0aGlzLnNpZGUhPT0ic2VydmVyInx8IXRoaXMuc21hcnRTZXJ2ZVJlZil0aHJvdyBuZXcgRXJyb3IoImZpbmRBbGxUYXJnZXRDb25uZWN0aW9ucyBpcyBvbmx5IGF2YWlsYWJsZSBvbiBzZXJ2ZXJzIik7bGV0IHQ9W107Zm9yKGxldCByIG9mIHRoaXMuc21hcnRTZXJ2ZVJlZi5nZXRXZWJTb2NrZXRDb25uZWN0aW9ucygpKXtsZXQgaT10aGlzLmdldE9yQ3JlYXRlV3JhcHBlcihyKTthd2FpdCBlKGkpJiZ0LnB1c2goaSl9cmV0dXJuIHR9YXN5bmMgZmluZFRhcmdldENvbm5lY3Rpb24oZSl7cmV0dXJuKGF3YWl0IHRoaXMuZmluZEFsbFRhcmdldENvbm5lY3Rpb25zKGUpKVswXX1hc3luYyBmaW5kQWxsVGFyZ2V0Q29ubmVjdGlvbnNCeVRhZyhlLHQpe2lmKHRoaXMuc2lkZSE9PSJzZXJ2ZXIifHwhdGhpcy5zbWFydFNlcnZlUmVmKXRocm93IG5ldyBFcnJvcigiZmluZEFsbFRhcmdldENvbm5lY3Rpb25zQnlUYWcgaXMgb25seSBhdmFpbGFibGUgb24gc2VydmVycyIpO2xldCByPXRoaXMuc21hcnRTZXJ2ZVJlZi5nZXRXZWJTb2NrZXRDb25uZWN0aW9uc0J5VGFnKGUpLGk9W107Zm9yKGxldCBvIG9mIHIpe2xldCBuPXRoaXMuZ2V0T3JDcmVhdGVXcmFwcGVyKG8pO2lmKHQhPT12b2lkIDApe2xldCBsPWF3YWl0IG4uZ2V0VGFnQnlJZChlKTtpZihkbC5zdHJpbmdpZnkobD8ucGF5bG9hZCkhPT1kbC5zdHJpbmdpZnkodCkpY29udGludWV9aS5wdXNoKG4pfXJldHVybiBpfWFzeW5jIGZpbmRUYXJnZXRDb25uZWN0aW9uQnlUYWcoZSx0KXtyZXR1cm4oYXdhaXQgdGhpcy5maW5kQWxsVGFyZ2V0Q29ubmVjdGlvbnNCeVRhZyhlLHQpKVswXX19fSk7dmFyIFZjPXt9O2x0KFZjLHtUeXBlZFNvY2tldDooKT0+UGV0fSk7dmFyIHdmYT1mKCgpPT57eWZhKCl9KTt2YXIgSmUsbW89ZigoKT0+e2xlKCk7ekplKCk7cHBhKCk7d2ZhKCk7SmU9QXR9KTt2YXIgWHMsTWZhPWYoKCk9PntsZSgpO1hzPVhgCiAgOmhvc3QgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW46IGF1dG87CiAgICBtYXgtd2lkdGg6IDEyODBweDsKICAgIHBhZGRpbmc6IDE2cHggMTZweDsKICB9CmB9KTt2YXIga2ZhLEVldCwkRmEsUEcsU2ZhPWYoKCk9PntsZSgpO2tmYT1baWUoIm9iLXNlY3Rpb25oZWFkaW5nIildO1BHPWNsYXNzIGV4dGVuZHMoJEZhPXBlKXtzdGF0aWN7cyh0aGlzLCJPYlNlY3Rpb25IZWFkaW5nIil9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIC5oZWFkaW5nIHsKICAgICAgICBmb250LWZhbWlseTogJ0NhbCBTYW5zJywgJ0ludGVyJywgc2Fucy1zZXJpZjsKICAgICAgICBmb250LXNpemU6IDI4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxMTEiLCIjZmZmIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGgxIGNsYXNzPSJoZWFkaW5nIj4KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvaDE+CiAgICBgfX07RWV0PUFyKCRGYSksUEc9eXQoRWV0LDAsIk9iU2VjdGlvbkhlYWRpbmciLGtmYSxQRyksVmUoRWV0LDEsUEcpfSk7dmFyIGUyPWYoKCk9PntNZmEoKTtTZmEoKX0pO3ZhciBoaT1mKCgpPT57aWgoKX0pO3ZhciB6ZmE9ZigoKT0+e30pO3ZhciBDZmE9ZigoKT0+e30pO3ZhciBfZmE9ZigoKT0+e30pO3ZhciBUZmE9ZigoKT0+e30pO3ZhciBMZmE9ZigoKT0+e30pO3ZhciAkZmE9ZigoKT0+e30pO3ZhciBERmEsRGZhPWYoKCk9PntERmE9e3N0YW5kYXJkOntob3VybHk6MCxkYWlseTo3LHdlZWtseTo0LG1vbnRobHk6MTJ9LGZyZXF1ZW50Ontob3VybHk6MjQsZGFpbHk6Nyx3ZWVrbHk6NCxtb250aGx5OjEyfSxtaW5pbWFsOntob3VybHk6MCxkYWlseTozLHdlZWtseToyLG1vbnRobHk6Nn0sbG9uZ3Rlcm06e2hvdXJseTowLGRhaWx5OjE0LHdlZWtseTo4LG1vbnRobHk6MjR9fX0pO3ZhciBBZmE9ZigoKT0+e30pO3ZhciBQZmE9ZigoKT0+e30pO3ZhciBJZXQ9e307bHQoSWV0LHtSRVRFTlRJT05fUFJFU0VUUzooKT0+REZhfSk7dmFyIG1pPWYoKCk9Pnt6ZmEoKTtDZmEoKTtfZmEoKTtUZmEoKTtMZmEoKTskZmEoKTtEZmEoKTtBZmEoKTtQZmEoKX0pO3ZhciBFZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBJZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBOZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBSZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBPZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBGZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBCZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBIZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBxZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBWZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBqZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBVZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBXZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBHZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBZZmE9ZigoKT0+e2hpKCk7bWkoKX0pO3ZhciBLZmE9e307dmFyIFpmYT1mKCgpPT57RWZhKCk7SWZhKCk7TmZhKCk7UmZhKCk7T2ZhKCk7RmZhKCk7QmZhKCk7SGZhKCk7cWZhKCk7VmZhKCk7amZhKCk7VWZhKCk7V2ZhKCk7R2ZhKCk7WWZhKCl9KTt2YXIgcDc9ZigoKT0+e2hpKCk7bWkoKTtaZmEoKX0pO2FzeW5jIGZ1bmN0aW9uIFBGYSgpe2lmKCFFNSl0cnl7RTU9YXdhaXQgVmMuVHlwZWRTb2NrZXQuY3JlYXRlQ2xpZW50KEVHLFZjLlR5cGVkU29ja2V0LnVzZVdpbmRvd0xvY2F0aW9uT3JpZ2luVXJsKCkpLGF3YWl0IEU1LnNldFRhZygicm9sZSIsIm9wc19kYXNoYm9hcmQiKSxjb25zb2xlLmxvZygiVHlwZWRTb2NrZXQgZGFzaGJvYXJkIGNvbm5lY3Rpb24gZXN0YWJsaXNoZWQiKX1jYXRjaChhKXtjb25zb2xlLmVycm9yKCJUeXBlZFNvY2tldCBjb25uZWN0aW9uIGZhaWxlZDoiLGEpLEU1PW51bGx9fWFzeW5jIGZ1bmN0aW9uIEVGYSgpe2lmKEU1KXt0cnl7YXdhaXQgRTUuZGlzY29ubmVjdCgpfWNhdGNoe31FNT1udWxsfX12YXIgVWMscXIsdWwsUHQseWEsYTIsdDIsRnMsZ28saG4sRnQsSmZhLERpZSxoNyxBaWUsZTVhLFJldCx0NWEsYTVhLHI1YSxzNWEsaTVhLG81YSxQaWUsT2V0LEZldCxFaWUsbjVhLEJldCxJRyxORyxsNWEsYzVhLEhldCxxZXQsVmV0LElpZSxkNWEsTmllLHU1YSxwNWEsVThvLGY1YSxXOG8saDVhLEc4byxtNWEsamV0LFJHLGc1YSxiNWEsdjVhLHg1YSxZOG8sSzhvLFo4byxmNyxBRmEsTmV0LEU1LEVHLFhmYSxRZmEseTVhLHc1YSxSaWUsTTVhLEtuPWYoYXN5bmMoKT0+e21vKCk7cDcoKTtVYz1uZXcgSmUucGx1Z2lucy5zbWFydHN0YXRlLlNtYXJ0c3RhdGUscXI9YXdhaXQgVWMuZ2V0U3RhdGVQYXJ0KCJsb2dpbiIse2lkZW50aXR5Om51bGwsaXNMb2dnZWRJbjohMX0sInBlcnNpc3RlbnQiKSx1bD1hd2FpdCBVYy5nZXRTdGF0ZVBhcnQoInN5c3RlbSIse3N0YXR1czpudWxsfSwic29mdCIpLFB0PWF3YWl0IFVjLmdldFN0YXRlUGFydCgic2VydmljZXMiLHtzZXJ2aWNlczpbXSxjdXJyZW50U2VydmljZTpudWxsLGN1cnJlbnRTZXJ2aWNlTG9nczpbXSxjdXJyZW50U2VydmljZVN0YXRzOm51bGwscGxhdGZvcm1TZXJ2aWNlczpbXSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3M6W119LCJzb2Z0IikseWE9YXdhaXQgVWMuZ2V0U3RhdGVQYXJ0KCJuZXR3b3JrIix7dGFyZ2V0czpbXSxzdGF0czpudWxsLHRyYWZmaWNTdGF0czpudWxsLGRuc1JlY29yZHM6W10sZG9tYWluczpbXSxnYXRld2F5RG9tYWluczpbXSxnYXRld2F5RG5zUmVjb3JkczpbXSxjZXJ0aWZpY2F0ZXM6W119LCJzb2Z0IiksYTI9YXdhaXQgVWMuZ2V0U3RhdGVQYXJ0KCJyZWdpc3RyaWVzIix7dG9rZW5zOltdLHJlZ2lzdHJ5U3RhdHVzOm51bGx9LCJzb2Z0IiksdDI9YXdhaXQgVWMuZ2V0U3RhdGVQYXJ0KCJiYWNrdXBzIix7YmFja3VwczpbXSxzY2hlZHVsZXM6W119LCJzb2Z0IiksRnM9YXdhaXQgVWMuZ2V0U3RhdGVQYXJ0KCJzZXR0aW5ncyIse3NldHRpbmdzOm51bGwsYmFja3VwUGFzc3dvcmRDb25maWd1cmVkOiExLG1hbmFnZWREY1JvdXRlclN0YXR1czpudWxsfSwic29mdCIpLGdvPWF3YWl0IFVjLmdldFN0YXRlUGFydCgiYXBwU3RvcmUiLHthcHBzOltdLHVwZ3JhZGVhYmxlU2VydmljZXM6W10sdXBncmFkZU9wZXJhdGlvbnM6W119LCJzb2Z0IiksaG49YXdhaXQgVWMuZ2V0U3RhdGVQYXJ0KCJ1aSIse2FjdGl2ZVZpZXc6ImRhc2hib2FyZCIsYWN0aXZlU3VidmlldzpudWxsLGF1dG9SZWZyZXNoOiEwLHJlZnJlc2hJbnRlcnZhbDozZTR9KSxGdD1zKCgpPT4oe2lkZW50aXR5OnFyLmdldFN0YXRlKCkuaWRlbnRpdHl9KSwiZ2V0QWN0aW9uQ29udGV4dCIpLEpmYT1xci5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e3RyeXtyZXR1cm57aWRlbnRpdHk6KGF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJhZG1pbkxvZ2luV2l0aFVzZXJuYW1lQW5kUGFzc3dvcmQiKS5maXJlKHt1c2VybmFtZTplLnVzZXJuYW1lLHBhc3N3b3JkOmUucGFzc3dvcmR9KSkuaWRlbnRpdHksaXNMb2dnZWRJbjohMH19Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkxvZ2luIGZhaWxlZDoiLHQpLHtpZGVudGl0eTpudWxsLGlzTG9nZ2VkSW46ITF9fX0pLERpZT1xci5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPUZ0KCk7dHJ5e2UuaWRlbnRpdHkmJmF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJhZG1pbkxvZ291dCIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKCJMb2dvdXQgZXJyb3I6Iix0KX1yZXR1cm57aWRlbnRpdHk6bnVsbCxpc0xvZ2dlZEluOiExfX0pLGg3PXVsLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9RnQoKTt0cnl7cmV0dXJue3N0YXR1czooYXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFN5c3RlbVN0YXR1cyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KSkuc3RhdHVzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHN5c3RlbSBzdGF0dXM6Iix0KSxhLmdldFN0YXRlKCl9fSksQWllPVB0LmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9RnQoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksc2VydmljZXM6ci5zZXJ2aWNlc319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBzZXJ2aWNlczoiLHQpLGEuZ2V0U3RhdGUoKX19KSxlNWE9UHQuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1GdCgpO3RyeXtsZXQgaT1hd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZU5hbWU6ZS5uYW1lfSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxjdXJyZW50U2VydmljZTppLnNlcnZpY2V9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggc2VydmljZToiLHIpLGEuZ2V0U3RhdGUoKX19KSxSZXQ9UHQuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1GdCgpO3RyeXthd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiY3JlYXRlU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZUNvbmZpZzplLmNvbmZpZ30pO2xldCBvPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXJ2aWNlcyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHNlcnZpY2VzOm8uc2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY3JlYXRlIHNlcnZpY2U6IixyKSxhLmdldFN0YXRlKCl9fSksdDVhPVB0LmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9RnQoKTt0cnl7YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImRlbGV0ZVNlcnZpY2UiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNlcnZpY2VOYW1lOmUubmFtZX0pO2xldCBpPWEuZ2V0U3RhdGUoKTtyZXR1cm57Li4uaSxzZXJ2aWNlczppLnNlcnZpY2VzLmZpbHRlcihvPT5vLm5hbWUhPT1lLm5hbWUpLGN1cnJlbnRTZXJ2aWNlOm51bGx9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZGVsZXRlIHNlcnZpY2U6IixyKSxhLmdldFN0YXRlKCl9fSksYTVhPVB0LmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9RnQoKTt0cnl7YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInN0YXJ0U2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZU5hbWU6ZS5uYW1lfSk7bGV0IG89YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksc2VydmljZXM6by5zZXJ2aWNlc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzdGFydCBzZXJ2aWNlOiIsciksYS5nZXRTdGF0ZSgpfX0pLHI1YT1QdC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PUZ0KCk7dHJ5e2F3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzdG9wU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZU5hbWU6ZS5uYW1lfSk7bGV0IG89YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksc2VydmljZXM6by5zZXJ2aWNlc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzdG9wIHNlcnZpY2U6IixyKSxhLmdldFN0YXRlKCl9fSksczVhPVB0LmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9RnQoKTt0cnl7YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInJlc3RhcnRTZXJ2aWNlIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzZXJ2aWNlTmFtZTplLm5hbWV9KTtsZXQgbz1hd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2VydmljZXMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxzZXJ2aWNlczpvLnNlcnZpY2VzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHJlc3RhcnQgc2VydmljZToiLHIpLGEuZ2V0U3RhdGUoKX19KSxpNWE9UHQuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1GdCgpO3RyeXtsZXQgaT1hd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2VydmljZUxvZ3MiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNlcnZpY2VOYW1lOmUubmFtZSx0YWlsOmUubGluZXN8fDIwMH0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksY3VycmVudFNlcnZpY2VMb2dzOmkubG9nc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBzZXJ2aWNlIGxvZ3M6IixyKSxhLmdldFN0YXRlKCl9fSksbzVhPVB0LmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9RnQoKTt0cnl7bGV0IGk9YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VTdGF0cyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZU5hbWU6ZS5uYW1lfSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxjdXJyZW50U2VydmljZVN0YXRzOmkuc3RhdHN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggc2VydmljZSBzdGF0czoiLHIpLGEuZ2V0U3RhdGUoKX19KSxQaWU9UHQuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1GdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0UGxhdGZvcm1TZXJ2aWNlcyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHBsYXRmb3JtU2VydmljZXM6ci5wbGF0Zm9ybVNlcnZpY2VzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHBsYXRmb3JtIHNlcnZpY2VzOiIsdCksYS5nZXRTdGF0ZSgpfX0pLE9ldD1QdC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PUZ0KCk7dHJ5e2F3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzdGFydFBsYXRmb3JtU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZVR5cGU6ZS5zZXJ2aWNlVHlwZX0pO2xldCBvPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRQbGF0Zm9ybVNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCkscGxhdGZvcm1TZXJ2aWNlczpvLnBsYXRmb3JtU2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3RhcnQgcGxhdGZvcm0gc2VydmljZToiLHIpLGEuZ2V0U3RhdGUoKX19KSxGZXQ9UHQuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1GdCgpO3RyeXthd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0Iiwic3RvcFBsYXRmb3JtU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZVR5cGU6ZS5zZXJ2aWNlVHlwZX0pO2xldCBvPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRQbGF0Zm9ybVNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCkscGxhdGZvcm1TZXJ2aWNlczpvLnBsYXRmb3JtU2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3RvcCBwbGF0Zm9ybSBzZXJ2aWNlOiIsciksYS5nZXRTdGF0ZSgpfX0pLEVpZT1QdC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PUZ0KCk7dHJ5e2xldCBpPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRQbGF0Zm9ybVNlcnZpY2VTdGF0cyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZVR5cGU6ZS5zZXJ2aWNlVHlwZX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOmkuc3RhdHN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggcGxhdGZvcm0gc2VydmljZSBzdGF0czoiLHIpLHsuLi5hLmdldFN0YXRlKCksY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOm51bGx9fX0pLG41YT1QdC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PUZ0KCk7dHJ5e2xldCBpPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRQbGF0Zm9ybVNlcnZpY2VMb2dzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzZXJ2aWNlVHlwZTplLnNlcnZpY2VUeXBlLHRhaWw6ZS50YWlsfHwxMDB9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VMb2dzOmkubG9nc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBwbGF0Zm9ybSBzZXJ2aWNlIGxvZ3M6IixyKSx7Li4uYS5nZXRTdGF0ZSgpLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VMb2dzOltdfX19KSxCZXQ9eWEuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1GdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0TmV0d29ya1RhcmdldHMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSx0YXJnZXRzOnIudGFyZ2V0c319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBuZXR3b3JrIHRhcmdldHM6Iix0KSxhLmdldFN0YXRlKCl9fSksSUc9eWEuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1GdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0TmV0d29ya1N0YXRzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksc3RhdHM6ci5zdGF0c319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBuZXR3b3JrIHN0YXRzOiIsdCksYS5nZXRTdGF0ZSgpfX0pLE5HPXlhLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9RnQoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFRyYWZmaWNTdGF0cyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHRyYWZmaWNTdGF0czpyLnN0YXRzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHRyYWZmaWMgc3RhdHM6Iix0KSxhLmdldFN0YXRlKCl9fSksbDVhPXlhLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9RnQoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldERuc1JlY29yZHMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxkbnNSZWNvcmRzOnIucmVjb3Jkc319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBETlMgcmVjb3JkczoiLHQpLGEuZ2V0U3RhdGUoKX19KSxjNWE9eWEuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1GdCgpO3RyeXthd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0Iiwic3luY0RucyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtsZXQgaT1hd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0RG5zUmVjb3JkcyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGRuc1JlY29yZHM6aS5yZWNvcmRzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHN5bmMgRE5TOiIsdCksYS5nZXRTdGF0ZSgpfX0pLEhldD15YS5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPUZ0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXREb21haW5zIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksZG9tYWluczpyLmRvbWFpbnN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggZG9tYWluczoiLHQpLGEuZ2V0U3RhdGUoKX19KSxxZXQ9eWEuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1GdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0R2F0ZXdheURvbWFpbnMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxnYXRld2F5RG9tYWluczpyLmRvbWFpbnN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggZ2F0ZXdheSBkb21haW5zOiIsdCksYS5nZXRTdGF0ZSgpfX0pLFZldD15YS5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPUZ0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRHYXRld2F5RG5zUmVjb3JkcyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGdhdGV3YXlEbnNSZWNvcmRzOnIucmVjb3Jkc319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBnYXRld2F5IEROUyByZWNvcmRzOiIsdCksYS5nZXRTdGF0ZSgpfX0pLElpZT15YS5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPUZ0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJsaXN0Q2VydGlmaWNhdGVzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksY2VydGlmaWNhdGVzOnIuY2VydGlmaWNhdGVzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIGNlcnRpZmljYXRlczoiLHQpLGEuZ2V0U3RhdGUoKX19KSxkNWE9eWEuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1GdCgpO3RyeXthd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwicmVuZXdDZXJ0aWZpY2F0ZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksZG9tYWluOmUuZG9tYWlufSk7bGV0IG89YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImxpc3RDZXJ0aWZpY2F0ZXMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxjZXJ0aWZpY2F0ZXM6by5jZXJ0aWZpY2F0ZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gcmVuZXcgY2VydGlmaWNhdGU6IixyKSxhLmdldFN0YXRlKCl9fSksTmllPWEyLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9RnQoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFJlZ2lzdHJ5VG9rZW5zIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksdG9rZW5zOnIudG9rZW5zfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHJlZ2lzdHJ5IHRva2VuczoiLHQpLGEuZ2V0U3RhdGUoKX19KSx1NWE9YTIuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1GdCgpO3RyeXthd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiY3JlYXRlUmVnaXN0cnlUb2tlbiIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksdG9rZW46ZS50b2tlbn0pO2xldCBvPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRSZWdpc3RyeVRva2VucyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHRva2VuczpvLnRva2Vuc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgcmVnaXN0cnkgdG9rZW46IixyKSxhLmdldFN0YXRlKCl9fSkscDVhPWEyLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9RnQoKTt0cnl7YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImRlbGV0ZVJlZ2lzdHJ5VG9rZW4iKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHRva2VuSWQ6ZS50b2tlbklkfSk7bGV0IGk9YS5nZXRTdGF0ZSgpO3JldHVybnsuLi5pLHRva2VuczppLnRva2Vucy5maWx0ZXIobz0+by5pZCE9PWUudG9rZW5JZCl9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZGVsZXRlIHJlZ2lzdHJ5IHRva2VuOiIsciksYS5nZXRTdGF0ZSgpfX0pLFU4bz10Mi5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPUZ0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRCYWNrdXBzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksYmFja3VwczpyLmJhY2t1cHN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggYmFja3VwczoiLHQpLGEuZ2V0U3RhdGUoKX19KSxmNWE9dDIuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1GdCgpO3RyeXthd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZGVsZXRlQmFja3VwIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxiYWNrdXBJZDplLmJhY2t1cElkfSk7bGV0IGk9YS5nZXRTdGF0ZSgpO3JldHVybnsuLi5pLGJhY2t1cHM6aS5iYWNrdXBzLmZpbHRlcihvPT5vLmlkIT09ZS5iYWNrdXBJZCl9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZGVsZXRlIGJhY2t1cDoiLHIpLGEuZ2V0U3RhdGUoKX19KSxXOG89dDIuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1GdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0QmFja3VwU2NoZWR1bGVzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksc2NoZWR1bGVzOnIuc2NoZWR1bGVzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHNjaGVkdWxlczoiLHQpLGEuZ2V0U3RhdGUoKX19KSxoNWE9dDIuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1GdCgpO3RyeXthd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiY3JlYXRlQmFja3VwU2NoZWR1bGUiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNjaGVkdWxlQ29uZmlnOmUuY29uZmlnfSk7bGV0IG89YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldEJhY2t1cFNjaGVkdWxlcyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHNjaGVkdWxlczpvLnNjaGVkdWxlc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgc2NoZWR1bGU6IixyKSxhLmdldFN0YXRlKCl9fSksRzhvPXQyLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9RnQoKTt0cnl7YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImRlbGV0ZUJhY2t1cFNjaGVkdWxlIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzY2hlZHVsZUlkOmUuc2NoZWR1bGVJZH0pO2xldCBpPWEuZ2V0U3RhdGUoKTtyZXR1cm57Li4uaSxzY2hlZHVsZXM6aS5zY2hlZHVsZXMuZmlsdGVyKG89Pm8uaWQhPT1lLnNjaGVkdWxlSWQpfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGRlbGV0ZSBzY2hlZHVsZToiLHIpLGEuZ2V0U3RhdGUoKX19KSxtNWE9dDIuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1GdCgpO3RyeXthd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwidHJpZ2dlckJhY2t1cFNjaGVkdWxlIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzY2hlZHVsZUlkOmUuc2NoZWR1bGVJZH0pO2xldCBvPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRCYWNrdXBzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksYmFja3VwczpvLmJhY2t1cHN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gdHJpZ2dlciBzY2hlZHVsZToiLHIpLGEuZ2V0U3RhdGUoKX19KSxqZXQ9RnMuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1GdCgpO3RyeXtsZXRbdCxyLGldPWF3YWl0IFByb21pc2UuYWxsKFtuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2V0dGluZ3MiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSksbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldEJhY2t1cFBhc3N3b3JkU3RhdHVzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pLG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRNYW5hZ2VkRGNSb3V0ZXJTdGF0dXMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSldKTtyZXR1cm57c2V0dGluZ3M6dC5zZXR0aW5ncyxiYWNrdXBQYXNzd29yZENvbmZpZ3VyZWQ6ci5zdGF0dXMuaXNDb25maWd1cmVkLG1hbmFnZWREY1JvdXRlclN0YXR1czppLnN0YXR1c319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBzZXR0aW5nczoiLHQpLGEuZ2V0U3RhdGUoKX19KSxSRz1Gcy5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PUZ0KCk7dHJ5e2xldCBpPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJ1cGRhdGVTZXR0aW5ncyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2V0dGluZ3M6ZS5zZXR0aW5nc30pO3JldHVybnsuLi5hLmdldFN0YXRlKCksc2V0dGluZ3M6aS5zZXR0aW5nc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byB1cGRhdGUgc2V0dGluZ3M6IixyKSxhLmdldFN0YXRlKCl9fSksZzVhPUZzLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9RnQoKTt0cnl7bGV0IHQ9YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldE1hbmFnZWREY1JvdXRlclN0YXR1cyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLG1hbmFnZWREY1JvdXRlclN0YXR1czp0LnN0YXR1c319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBtYW5hZ2VkIGRjcm91dGVyIHN0YXR1czoiLHQpLGEuZ2V0U3RhdGUoKX19KSxiNWE9RnMuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1GdCgpO3RyeXtsZXQgdD1hd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0Iiwic3RhcnRNYW5hZ2VkRGNSb3V0ZXIiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxtYW5hZ2VkRGNSb3V0ZXJTdGF0dXM6dC5zdGF0dXN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3RhcnQgbWFuYWdlZCBkY3JvdXRlcjoiLHQpLGEuZ2V0U3RhdGUoKX19KSx2NWE9RnMuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1GdCgpO3RyeXtsZXQgdD1hd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0Iiwic3RvcE1hbmFnZWREY1JvdXRlciIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLG1hbmFnZWREY1JvdXRlclN0YXR1czp0LnN0YXR1c319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzdG9wIG1hbmFnZWQgZGNyb3V0ZXI6Iix0KSxhLmdldFN0YXRlKCl9fSkseDVhPUZzLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9RnQoKTt0cnl7bGV0IHQ9YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInJlc3RhcnRNYW5hZ2VkRGNSb3V0ZXIiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxtYW5hZ2VkRGNSb3V0ZXJTdGF0dXM6dC5zdGF0dXN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gcmVzdGFydCBtYW5hZ2VkIGRjcm91dGVyOiIsdCksYS5nZXRTdGF0ZSgpfX0pLFk4bz1Gcy5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PUZ0KCk7dHJ5e3JldHVybiBhd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0Iiwic2V0QmFja3VwUGFzc3dvcmQiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHBhc3N3b3JkOmUucGFzc3dvcmR9KSx7Li4uYS5nZXRTdGF0ZSgpLGJhY2t1cFBhc3N3b3JkQ29uZmlndXJlZDohMH19Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzZXQgYmFja3VwIHBhc3N3b3JkOiIsciksYS5nZXRTdGF0ZSgpfX0pLEs4bz1obi5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PWUudmlldy50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzKy9nLCItIikscj1lLnN1YnZpZXc/ZS5zdWJ2aWV3LnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXHMrL2csIi0iKTpudWxsO3JldHVybnsuLi5hLmdldFN0YXRlKCksYWN0aXZlVmlldzp0LGFjdGl2ZVN1YnZpZXc6cn19KSxaOG89aG4uY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1hLmdldFN0YXRlKCk7cmV0dXJuey4uLmUsYXV0b1JlZnJlc2g6IWUuYXV0b1JlZnJlc2h9fSksZjc9bnVsbCxBRmE9cyhhc3luYygpPT57aWYocXIuZ2V0U3RhdGUoKS5pc0xvZ2dlZEluKXRyeXthd2FpdCBQcm9taXNlLmFsbChbdWwuZGlzcGF0Y2hBY3Rpb24oaDcsbnVsbCkseWEuZGlzcGF0Y2hBY3Rpb24oTkcsbnVsbCldKX1jYXRjaHt9fSwiZGlzcGF0Y2hDb21iaW5lZFJlZnJlc2hBY3Rpb24iKSxOZXQ9cygoKT0+e2xldCBhPWhuLmdldFN0YXRlKCksZT1xci5nZXRTdGF0ZSgpO2EuYXV0b1JlZnJlc2gmJmUuaXNMb2dnZWRJbj8oZjcmJmNsZWFySW50ZXJ2YWwoZjcpLGY3PXNldEludGVydmFsKCgpPT57QUZhKCl9LGEucmVmcmVzaEludGVydmFsKSk6ZjcmJihjbGVhckludGVydmFsKGY3KSxmNz1udWxsKX0sInN0YXJ0QXV0b1JlZnJlc2giKTtobi5zZWxlY3QoYT0+YSkuc3Vic2NyaWJlKCgpPT5OZXQoKSkscXIuc2VsZWN0KGE9PmEpLnN1YnNjcmliZSgoKT0+TmV0KCkpLE5ldCgpO0U1PW51bGwsRUc9bmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUm91dGVyLFhmYT1zKChhLGUpPT57bGV0IHQ9YS5maW5kSW5kZXgoaT0+aS5uYW1lPT09ZS5uYW1lKTtpZih0PT09LTEpcmV0dXJuWy4uLmEsZV07bGV0IHI9Wy4uLmFdO3JldHVybiByW3RdPWUscn0sInVwc2VydFNlcnZpY2UiKSxRZmE9cygoYSxlKT0+KGEuZmluZEluZGV4KGk9PmkuaWQ9PT1lLmlkKT09PS0xP1tlLC4uLmFdOmEubWFwKGk9PmkuaWQ9PT1lLmlkP2U6aSkpLnNvcnQoKGksbyk9Pm8uc3RhcnRlZEF0LWkuc3RhcnRlZEF0KS5zbGljZSgwLDI1KSwidXBzZXJ0VXBncmFkZU9wZXJhdGlvbiIpO0VHLmFkZFR5cGVkSGFuZGxlcihuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRIYW5kbGVyKCJwdXNoU2VydmljZVVwZGF0ZSIsYXN5bmMgYT0+e2xldCBlPVB0LmdldFN0YXRlKCksdD1lLnNlcnZpY2VzLHI9ZS5jdXJyZW50U2VydmljZSxpPWUuY3VycmVudFNlcnZpY2VMb2dzLG89ZS5jdXJyZW50U2VydmljZVN0YXRzO3JldHVybiBhLmFjdGlvbj09PSJkZWxldGVkIj8odD10LmZpbHRlcihuPT5uLm5hbWUhPT1hLnNlcnZpY2VOYW1lKSxyPy5uYW1lPT09YS5zZXJ2aWNlTmFtZSYmKHI9bnVsbCxpPVtdLG89bnVsbCkpOmEuc2VydmljZSYmKHQ9WGZhKHQsYS5zZXJ2aWNlKSxyPy5uYW1lPT09YS5zZXJ2aWNlLm5hbWUmJihyPWEuc2VydmljZSkpLFB0LnNldFN0YXRlKHsuLi5lLHNlcnZpY2VzOnQsY3VycmVudFNlcnZpY2U6cixjdXJyZW50U2VydmljZUxvZ3M6aSxjdXJyZW50U2VydmljZVN0YXRzOm99KSx7fX0pKSxFRy5hZGRUeXBlZEhhbmRsZXIobmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkSGFuZGxlcigicHVzaEFwcFN0b3JlVXBncmFkZVByb2dyZXNzIixhc3luYyBhPT57bGV0IGU9Z28uZ2V0U3RhdGUoKTtpZihnby5zZXRTdGF0ZSh7Li4uZSx1cGdyYWRlT3BlcmF0aW9uczpRZmEoZS51cGdyYWRlT3BlcmF0aW9ucyxhLm9wZXJhdGlvbiksdXBncmFkZWFibGVTZXJ2aWNlczphLm9wZXJhdGlvbi5zdGF0dXM9PT0ic3VjY2VzcyI/ZS51cGdyYWRlYWJsZVNlcnZpY2VzLmZpbHRlcih0PT50LnNlcnZpY2VOYW1lIT09YS5vcGVyYXRpb24uc2VydmljZU5hbWUpOmUudXBncmFkZWFibGVTZXJ2aWNlc30pLGEub3BlcmF0aW9uLnNlcnZpY2Upe2xldCB0PVB0LmdldFN0YXRlKCk7UHQuc2V0U3RhdGUoey4uLnQsc2VydmljZXM6WGZhKHQuc2VydmljZXMsYS5vcGVyYXRpb24uc2VydmljZSksY3VycmVudFNlcnZpY2U6dC5jdXJyZW50U2VydmljZT8ubmFtZT09PWEub3BlcmF0aW9uLnNlcnZpY2UubmFtZT9hLm9wZXJhdGlvbi5zZXJ2aWNlOnQuY3VycmVudFNlcnZpY2V9KX1yZXR1cm57fX0pKSxFRy5hZGRUeXBlZEhhbmRsZXIobmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkSGFuZGxlcigicHVzaFBsYXRmb3JtU2VydmljZUxvZyIsYXN5bmMgYT0+e2xldCBlPVB0LmdldFN0YXRlKCksdD17aWQ6ZS5jdXJyZW50UGxhdGZvcm1TZXJ2aWNlTG9ncy5sZW5ndGgsc2VydmljZUlkOjAsdGltZXN0YW1wOm5ldyBEYXRlKGEuZW50cnkudGltZXN0YW1wKS5nZXRUaW1lKCksbWVzc2FnZTphLmVudHJ5Lm1lc3NhZ2UsbGV2ZWw6YS5lbnRyeS5sZXZlbCxzb3VyY2U6InN0ZG91dCJ9LHI9Wy4uLmUuY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3MsdF07cmV0dXJuIHIubGVuZ3RoPjJlMyYmci5zcGxpY2UoMCxyLmxlbmd0aC0yZTMpLFB0LnNldFN0YXRlKHsuLi5lLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VMb2dzOnJ9KSx7fX0pKSxFRy5hZGRUeXBlZEhhbmRsZXIobmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkSGFuZGxlcigicHVzaFNlcnZpY2VMb2ciLGFzeW5jIGE9PntsZXQgZT1QdC5nZXRTdGF0ZSgpO2lmKCFlLmN1cnJlbnRTZXJ2aWNlfHxlLmN1cnJlbnRTZXJ2aWNlLm5hbWUhPT1hLnNlcnZpY2VOYW1lKXJldHVybnt9O2xldCB0PXtpZDplLmN1cnJlbnRTZXJ2aWNlTG9ncy5sZW5ndGgsc2VydmljZUlkOjAsdGltZXN0YW1wOm5ldyBEYXRlKGEuZW50cnkudGltZXN0YW1wKS5nZXRUaW1lKCksbWVzc2FnZTphLmVudHJ5Lm1lc3NhZ2UsbGV2ZWw6YS5lbnRyeS5sZXZlbCxzb3VyY2U6InN0ZG91dCJ9LHI9Wy4uLmUuY3VycmVudFNlcnZpY2VMb2dzLHRdO3JldHVybiByLmxlbmd0aD4yZTMmJnIuc3BsaWNlKDAsci5sZW5ndGgtMmUzKSxQdC5zZXRTdGF0ZSh7Li4uZSxjdXJyZW50U2VydmljZUxvZ3M6cn0pLHt9fSkpO3MoUEZhLCJjb25uZWN0U29ja2V0Iik7cyhFRmEsImRpc2Nvbm5lY3RTb2NrZXQiKTt5NWE9Z28uY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1GdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0QXBwU3RvcmVUZW1wbGF0ZXMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxhcHBzOnIuYXBwc319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBhcHAgdGVtcGxhdGVzOiIsdCksYS5nZXRTdGF0ZSgpfX0pLHc1YT1nby5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPUZ0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRVcGdyYWRlYWJsZUFwcFN0b3JlU2VydmljZXMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSx1cGdyYWRlYWJsZVNlcnZpY2VzOnIuc2VydmljZXN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggdXBncmFkZWFibGUgc2VydmljZXM6Iix0KSxhLmdldFN0YXRlKCl9fSksUmllPWdvLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9RnQoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldEFwcFN0b3JlVXBncmFkZU9wZXJhdGlvbnMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSx1cGdyYWRlT3BlcmF0aW9uczpyLm9wZXJhdGlvbnN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggdXBncmFkZSBvcGVyYXRpb25zOiIsdCksYS5nZXRTdGF0ZSgpfX0pLE01YT1nby5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PUZ0KCk7dHJ5e2xldCBpPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzdGFydEFwcFN0b3JlU2VydmljZVVwZ3JhZGUiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNlcnZpY2VOYW1lOmUuc2VydmljZU5hbWUsdGFyZ2V0VmVyc2lvbjplLnRhcmdldFZlcnNpb259KSxvPWEuZ2V0U3RhdGUoKTtyZXR1cm57Li4ubyx1cGdyYWRlT3BlcmF0aW9uczpRZmEoby51cGdyYWRlT3BlcmF0aW9ucyxpLm9wZXJhdGlvbil9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gdXBncmFkZSBzZXJ2aWNlOiIsciksYS5nZXRTdGF0ZSgpfX0pO3FyLnNlbGVjdChhPT5hKS5zdWJzY3JpYmUoYT0+e2EuaXNMb2dnZWRJbj9QRmEoKTpFRmEoKX0pfSk7ZnVuY3Rpb24gUzVhKGEpe3JldHVybiBSRmEuaW5jbHVkZXMoYSl9ZnVuY3Rpb24gejVhKGEsZSl7cmV0dXJuIG03W2FdPy5pbmNsdWRlcyhlKT8/ITF9dmFyIElGYSxrNWEsbTcsVWV0LE5GYSxSRmEsV2V0LGJvLEk1PWYoYXN5bmMoKT0+e21vKCk7YXdhaXQgS24oKTtJRmE9SmUucGx1Z2lucy5zbWFydHJvdXRlci5TbWFydFJvdXRlcixrNWE9WyJkYXNoYm9hcmQiLCJzZXR0aW5ncyJdLG03PXthcHBzOlsiYXBwLXN0b3JlIiwic2VydmljZXMiXSxuZXR3b3JrOlsicHJveHkiLCJkb21haW5zIiwiZG5zLXJlY29yZHMiXSxyZWdpc3RyeTpbInJlZ2lzdHJpZXMiLCJ0b2tlbnMiXX0sVWV0PXthcHBzOiJhcHAtc3RvcmUiLG5ldHdvcms6InByb3h5IixyZWdpc3RyeToicmVnaXN0cmllcyJ9LE5GYT17ImFwcC1zdG9yZSI6e3ZpZXc6ImFwcHMiLHN1YnZpZXc6ImFwcC1zdG9yZSJ9LHNlcnZpY2VzOnt2aWV3OiJhcHBzIixzdWJ2aWV3OiJzZXJ2aWNlcyJ9LHByb3h5Ont2aWV3OiJuZXR3b3JrIixzdWJ2aWV3OiJwcm94eSJ9LGRvbWFpbnM6e3ZpZXc6Im5ldHdvcmsiLHN1YnZpZXc6ImRvbWFpbnMifSwiZG5zLXJlY29yZHMiOnt2aWV3OiJuZXR3b3JrIixzdWJ2aWV3OiJkbnMtcmVjb3JkcyJ9LHJlZ2lzdHJpZXM6e3ZpZXc6InJlZ2lzdHJ5IixzdWJ2aWV3OiJyZWdpc3RyaWVzIn0sdG9rZW5zOnt2aWV3OiJyZWdpc3RyeSIsc3VidmlldzoidG9rZW5zIn19LFJGYT1bLi4uazVhLC4uLk9iamVjdC5rZXlzKG03KV07cyhTNWEsImlzVmFsaWRWaWV3Iik7cyh6NWEsImlzVmFsaWRTdWJ2aWV3Iik7V2V0PWNsYXNze3N0YXRpY3tzKHRoaXMsIkFwcFJvdXRlciIpfXJvdXRlcjtpbml0aWFsaXplZD0hMTtzdXBwcmVzc1N0YXRlVXBkYXRlPSExO2NvbnN0cnVjdG9yKCl7dGhpcy5yb3V0ZXI9bmV3IElGYSh7ZGVidWc6ITF9KX1pbml0KCl7dGhpcy5pbml0aWFsaXplZHx8KHRoaXMuc2V0dXBSb3V0ZXMoKSx0aGlzLnNldHVwU3RhdGVTeW5jKCksdGhpcy5oYW5kbGVJbml0aWFsUm91dGUoKSx0aGlzLmluaXRpYWxpemVkPSEwKX1zZXR1cFJvdXRlcygpe2ZvcihsZXQgZSBvZiBrNWEpdGhpcy5yb3V0ZXIub24oYC8ke2V9YCxhc3luYygpPT57dGhpcy51cGRhdGVWaWV3U3RhdGUoZSxudWxsKX0pO2ZvcihsZXQgZSBvZiBPYmplY3Qua2V5cyhtNykpe3RoaXMucm91dGVyLm9uKGAvJHtlfWAsYXN5bmMoKT0+e3RoaXMubmF2aWdhdGVUbyhgLyR7ZX0vJHtVZXRbZV19YCl9KTtmb3IobGV0IHQgb2YgbTdbZV0pdGhpcy5yb3V0ZXIub24oYC8ke2V9LyR7dH1gLGFzeW5jKCk9Pnt0aGlzLnVwZGF0ZVZpZXdTdGF0ZShlLHQpfSl9dGhpcy5yb3V0ZXIub24oIi8iLGFzeW5jKCk9Pnt0aGlzLm5hdmlnYXRlVG8oIi9kYXNoYm9hcmQiKX0pfXNldHVwU3RhdGVTeW5jKCl7aG4uc2VsZWN0KCkuc3Vic2NyaWJlKGU9PntpZih0aGlzLnN1cHByZXNzU3RhdGVVcGRhdGUpcmV0dXJuO2xldCB0PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSxyPWUuYWN0aXZlU3Vidmlldz9gLyR7ZS5hY3RpdmVWaWV3fS8ke2UuYWN0aXZlU3Vidmlld31gOmAvJHtlLmFjdGl2ZVZpZXd9YDt0IT09ciYmKHRoaXMuc3VwcHJlc3NTdGF0ZVVwZGF0ZT0hMCx0aGlzLnJvdXRlci5wdXNoVXJsKHIpLHRoaXMuc3VwcHJlc3NTdGF0ZVVwZGF0ZT0hMSl9KX1oYW5kbGVJbml0aWFsUm91dGUoKXtsZXQgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7aWYoIWV8fGU9PT0iLyIpe3RoaXMucm91dGVyLnB1c2hVcmwoIi9kYXNoYm9hcmQiKTtyZXR1cm59bGV0IHQ9ZS5zcGxpdCgiLyIpLmZpbHRlcihCb29sZWFuKSxyPXRbMF0saT10WzFdO2lmKCFTNWEocikpe3RoaXMucm91dGVyLnB1c2hVcmwoIi9kYXNoYm9hcmQiKTtyZXR1cm59bTdbcl0/aSYmejVhKHIsaSk/dGhpcy51cGRhdGVWaWV3U3RhdGUocixpKTp0aGlzLnJvdXRlci5wdXNoVXJsKGAvJHtyfS8ke1VldFtyXX1gKTp0aGlzLnVwZGF0ZVZpZXdTdGF0ZShyLG51bGwpfXVwZGF0ZVZpZXdTdGF0ZShlLHQpe3RoaXMuc3VwcHJlc3NTdGF0ZVVwZGF0ZT0hMDtsZXQgcj1obi5nZXRTdGF0ZSgpOyhyLmFjdGl2ZVZpZXchPT1lfHxyLmFjdGl2ZVN1YnZpZXchPT10KSYmaG4uc2V0U3RhdGUoey4uLnIsYWN0aXZlVmlldzplLGFjdGl2ZVN1YnZpZXc6dH0pLHRoaXMuc3VwcHJlc3NTdGF0ZVVwZGF0ZT0hMX1uYXZpZ2F0ZVRvKGUpe3RoaXMucm91dGVyLnB1c2hVcmwoZSl9bmF2aWdhdGVUb1ZpZXcoZSx0KXtsZXQgcj1lLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXHMrL2csIi0iKSxpPXQ/LnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXHMrL2csIi0iKTtpZighUzVhKHIpKXtsZXQgbz1ORmFbcl07aWYobyl7dGhpcy5uYXZpZ2F0ZVRvVmlldyhvLnZpZXcsby5zdWJ2aWV3KTtyZXR1cm59dGhpcy5uYXZpZ2F0ZVRvKCIvZGFzaGJvYXJkIik7cmV0dXJufWkmJno1YShyLGkpP3RoaXMubmF2aWdhdGVUbyhgLyR7cn0vJHtpfWApOm03W3JdP3RoaXMubmF2aWdhdGVUbyhgLyR7cn0vJHtVZXRbcl19YCk6dGhpcy5uYXZpZ2F0ZVRvKGAvJHtyfWApfWdldEN1cnJlbnRWaWV3KCl7bGV0IGU9aG4uZ2V0U3RhdGUoKTtyZXR1cm4gZS5hY3RpdmVTdWJ2aWV3P2Ake2UuYWN0aXZlVmlld30vJHtlLmFjdGl2ZVN1YnZpZXd9YDplLmFjdGl2ZVZpZXd9ZGVzdHJveSgpe3RoaXMucm91dGVyLmRlc3Ryb3koKSx0aGlzLmluaXRpYWxpemVkPSExfX0sYm89bmV3IFdldH0pO3ZhciBQNWE9e307bHQoUDVhLHtPYlZpZXdEYXNoYm9hcmQ6KCk9PlpldH0pO2Z1bmN0aW9uIF81YShhKXtyZXR1cm4hYXx8YT09PTA/MDpNYXRoLm1pbihNYXRoLmZsb29yKE1hdGgubG9nKGEpL01hdGgubG9nKDEwMjQpKSxDNWEubGVuZ3RoLTEpfWZ1bmN0aW9uIE9pZShhLGUpe2lmKCghYXx8YT09PTApJiZlPT09dm9pZCAwKXJldHVybiIwIEIiO2xldCB0PWU/P181YShhKTtyZXR1cm5gJHsoYS9NYXRoLnBvdygxMDI0LHQpKS50b0ZpeGVkKDEpfSAke0M1YVt0XX1gfXZhciBUNWEsTDVhLCQ1YSxENWEsQTVhLFpuLEdldCxZZXQsS2V0LEM1YSxwbCxaZXQsWGV0PWYoYXN5bmMoKT0+e21vKCk7ZTIoKTthd2FpdCBLbigpO2F3YWl0IEk1KCk7bGUoKTtDNWE9WyJCIiwiS0IiLCJNQiIsIkdCIiwiVEIiXTtzKF81YSwiZ2V0Qnl0ZVVuaXRJbmRleCIpO3MoT2llLCJmb3JtYXRCeXRlcyIpLEE1YT1baWUoIm9iLXZpZXctZGFzaGJvYXJkIildO3BsPWNsYXNzIHBsIGV4dGVuZHMoRDVhPXBlLCQ1YT1bSygpXSxMNWE9W0soKV0sVDVhPVtLKCldLEQ1YSl7Y29uc3RydWN0b3IoKXtzdXBlcigpO1J0KHRoaXMsR2V0LFZlKFpuLDgsdGhpcyx7c3RhdHVzOm51bGx9KSksVmUoWm4sMTEsdGhpcyk7UnQodGhpcyxZZXQsVmUoWm4sMTIsdGhpcyx7c2VydmljZXM6W10sY3VycmVudFNlcnZpY2U6bnVsbCxjdXJyZW50U2VydmljZUxvZ3M6W10sY3VycmVudFNlcnZpY2VTdGF0czpudWxsLHBsYXRmb3JtU2VydmljZXM6W10sY3VycmVudFBsYXRmb3JtU2VydmljZTpudWxsLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VTdGF0czpudWxsLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VMb2dzOltdfSkpLFZlKFpuLDE1LHRoaXMpO1J0KHRoaXMsS2V0LFZlKFpuLDE2LHRoaXMse3RhcmdldHM6W10sc3RhdHM6bnVsbCx0cmFmZmljU3RhdHM6bnVsbCxkbnNSZWNvcmRzOltdLGRvbWFpbnM6W10sZ2F0ZXdheURvbWFpbnM6W10sZ2F0ZXdheURuc1JlY29yZHM6W10sY2VydGlmaWNhdGVzOltdfSkpLFZlKFpuLDE5LHRoaXMpO2xldCB0PXVsLnNlbGVjdChvPT5vKS5zdWJzY3JpYmUobz0+e3RoaXMuc3lzdGVtU3RhdGU9b30pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2godCk7bGV0IHI9UHQuc2VsZWN0KG89Pm8pLnN1YnNjcmliZShvPT57dGhpcy5zZXJ2aWNlc1N0YXRlPW99KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHIpO2xldCBpPXlhLnNlbGVjdChvPT5vKS5zdWJzY3JpYmUobz0+e3RoaXMubmV0d29ya1N0YXRlPW99KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKGkpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCBQcm9taXNlLmFsbChbdWwuZGlzcGF0Y2hBY3Rpb24oaDcsbnVsbCksUHQuZGlzcGF0Y2hBY3Rpb24oQWllLG51bGwpLFB0LmRpc3BhdGNoQWN0aW9uKFBpZSxudWxsKSx5YS5kaXNwYXRjaEFjdGlvbihJRyxudWxsKSx5YS5kaXNwYXRjaEFjdGlvbihORyxudWxsKSx5YS5kaXNwYXRjaEFjdGlvbihJaWUsbnVsbCldKX1yZW5kZXIoKXtsZXQgdD10aGlzLnN5c3RlbVN0YXRlLnN0YXR1cyxyPXRoaXMuc2VydmljZXNTdGF0ZS5zZXJ2aWNlcyxpPXRoaXMuc2VydmljZXNTdGF0ZS5wbGF0Zm9ybVNlcnZpY2VzLG89dGhpcy5uZXR3b3JrU3RhdGUuc3RhdHMsbj10aGlzLm5ldHdvcmtTdGF0ZS50cmFmZmljU3RhdHMsbD10aGlzLm5ldHdvcmtTdGF0ZS5jZXJ0aWZpY2F0ZXMsZD1uPy5zdGF0dXNDb3VudHN8fHt9LGM9ci5maWx0ZXIoZz0+Zy5zdGF0dXM9PT0icnVubmluZyIpLmxlbmd0aCxwPXIuZmlsdGVyKGc9Pmcuc3RhdHVzPT09InN0b3BwZWQiKS5sZW5ndGgsdT1fNWEodD8uZG9ja2VyPy5tZW1vcnlUb3RhbHx8dD8uZG9ja2VyPy5tZW1vcnlVc2FnZXx8MCksbT1sLmZpbHRlcihnPT5nLmlzVmFsaWQpLmxlbmd0aCx2PWwuZmlsdGVyKGc9PmcuaXNWYWxpZCYmZy5leHBpcmVzQXQmJmcuZXhwaXJlc0F0LURhdGUubm93KCk8NzIwKjYwKjYwKjFlMykubGVuZ3RoLHg9bC5maWx0ZXIoZz0+IWcuaXNWYWxpZCkubGVuZ3RoLGI9e2NsdXN0ZXI6e3RvdGFsU2VydmljZXM6ci5sZW5ndGgscnVubmluZzpjLHN0b3BwZWQ6cCxkb2NrZXJTdGF0dXM6dD8uZG9ja2VyPy5ydW5uaW5nPyJydW5uaW5nIjoic3RvcHBlZCJ9LHJlc291cmNlVXNhZ2U6e2NwdTp0Py5kb2NrZXI/LmNwdVVzYWdlfHwwLG1lbW9yeVVzZWQ6T2llKHQ/LmRvY2tlcj8ubWVtb3J5VXNhZ2V8fDAsdSksbWVtb3J5VG90YWw6T2llKHQ/LmRvY2tlcj8ubWVtb3J5VG90YWx8fDAsdSksbmV0d29ya0luOk9pZSh0Py5kb2NrZXI/Lm5ldHdvcmtJbnx8MCksbmV0d29ya091dDpPaWUodD8uZG9ja2VyPy5uZXR3b3JrT3V0fHwwKSx0b3BDb25zdW1lcnM6W119LHBsYXRmb3JtU2VydmljZXM6aS5maWx0ZXIoZz0+Zy5zdGF0dXM9PT0icnVubmluZyJ8fGcuc3RhdHVzPT09InN0YXJ0aW5nInx8Zy5zdGF0dXM9PT0ic3RvcHBpbmcifHxnLmlzQ29yZSkubWFwKGc9Pih7bmFtZTpnLmRpc3BsYXlOYW1lLHN0YXR1czpnLnN0YXR1cz09PSJydW5uaW5nIj8iUnVubmluZyI6Zy5zdGF0dXM9PT0ic3RhcnRpbmciPyJTdGFydGluZy4uLiI6Zy5zdGF0dXM9PT0ic3RvcHBpbmciPyJTdG9wcGluZy4uLiI6IlN0b3BwZWQiLHJ1bm5pbmc6Zy5zdGF0dXM9PT0icnVubmluZyJ9KSksdHJhZmZpYzp7cmVxdWVzdHM6bj8ucmVxdWVzdENvdW50fHwwLGVycm9yczpuPy5lcnJvckNvdW50fHwwLGVycm9yUGVyY2VudDpuPy5lcnJvclJhdGV8fDAsYXZnUmVzcG9uc2U6bj8uYXZnUmVzcG9uc2VUaW1lfHwwLHJlcVBlck1pbjpuPy5yZXF1ZXN0c1Blck1pbnV0ZXx8MCxzdGF0dXMyeHg6ZFsiMnh4Il18fDAsc3RhdHVzM3h4OmRbIjN4eCJdfHwwLHN0YXR1czR4eDpkWyI0eHgiXXx8MCxzdGF0dXM1eHg6ZFsiNXh4Il18fDB9LHByb3h5OntodHRwUG9ydDpTdHJpbmcobz8ucHJveHk/Lmh0dHBQb3J0fHw4MCksaHR0cHNQb3J0OlN0cmluZyhvPy5wcm94eT8uaHR0cHNQb3J0fHw0NDMpLGh0dHBBY3RpdmU6bz8ucHJveHk/LnJ1bm5pbmd8fCExLGh0dHBzQWN0aXZlOm8/LnByb3h5Py5ydW5uaW5nfHwhMSxyb3V0ZUNvdW50OlN0cmluZyhvPy5wcm94eT8ucm91dGVzfHwwKX0sY2VydGlmaWNhdGVzOnt2YWxpZDptLGV4cGlyaW5nOnYsZXhwaXJlZDp4fSxkbnNDb25maWd1cmVkOnQ/LmRucz8uY29uZmlndXJlZHx8ITEsYWNtZUNvbmZpZ3VyZWQ6dD8uc3NsPy5jb25maWd1cmVkfHwhMSxxdWlja0FjdGlvbnM6W3tsYWJlbDoiRGVwbG95IFNlcnZpY2UiLGljb246Imx1Y2lkZTpQbHVzIixwcmltYXJ5OiEwfSx7bGFiZWw6IkFkZCBEb21haW4iLGljb246Imx1Y2lkZTpHbG9iZSJ9LHtsYWJlbDoiVmlldyBMb2dzIixpY29uOiJsdWNpZGU6RmlsZVRleHQifV19O3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+RGFzaGJvYXJkPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPGRpdiBjbGFzcz0iZGFzaGJvYXJkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkNsdXN0ZXIgT3ZlcnZpZXc8L2gyPgogICAgICAgICAgPHN6LXN0YXR1cy1ncmlkLWNsdXN0ZXIgLnN0YXRzPSR7Yi5jbHVzdGVyfT48L3N6LXN0YXR1cy1ncmlkLWNsdXN0ZXI+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNlcnZpY2VzICYgUmVzb3VyY2VzPC9oMj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2VzLWdyaWQiPgogICAgICAgICAgICA8c3otcmVzb3VyY2UtdXNhZ2UtY2FyZCAuZGF0YT0ke2IucmVzb3VyY2VVc2FnZX0+PC9zei1yZXNvdXJjZS11c2FnZS1jYXJkPgogICAgICAgICAgICA8c3otcGxhdGZvcm0tc2VydmljZXMtY2FyZAogICAgICAgICAgICAgIC5zZXJ2aWNlcz0ke2IucGxhdGZvcm1TZXJ2aWNlc30KICAgICAgICAgICAgICBAc2VydmljZS1jbGljaz0ke2c9PnRoaXMuaGFuZGxlUGxhdGZvcm1TZXJ2aWNlQ2xpY2soZyl9CiAgICAgICAgICAgID48L3N6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQ+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TmV0d29yayAmIFRyYWZmaWM8L2gyPgogICAgICAgICAgPHN6LXN0YXR1cy1ncmlkLW5ldHdvcmsKICAgICAgICAgICAgLnRyYWZmaWM9JHtiLnRyYWZmaWN9CiAgICAgICAgICAgIC5wcm94eT0ke2IucHJveHl9CiAgICAgICAgICAgIC5jZXJ0aWZpY2F0ZXM9JHtiLmNlcnRpZmljYXRlc30KICAgICAgICAgID48L3N6LXN0YXR1cy1ncmlkLW5ldHdvcms+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkluZnJhc3RydWN0dXJlPC9oMj4KICAgICAgICAgIDxzei1zdGF0dXMtZ3JpZC1pbmZyYQogICAgICAgICAgICA/ZG5zQ29uZmlndXJlZD0ke2IuZG5zQ29uZmlndXJlZH0KICAgICAgICAgICAgP2FjbWVDb25maWd1cmVkPSR7Yi5hY21lQ29uZmlndXJlZH0KICAgICAgICAgICAgLmFjdGlvbnM9JHtiLnF1aWNrQWN0aW9uc30KICAgICAgICAgICAgQGFjdGlvbi1jbGljaz0ke2c9PnRoaXMuaGFuZGxlUXVpY2tBY3Rpb24oZyl9CiAgICAgICAgICA+PC9zei1zdGF0dXMtZ3JpZC1pbmZyYT4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVRdWlja0FjdGlvbih0KXtsZXQgcj10LmRldGFpbD8uYWN0aW9ufHx0LmRldGFpbD8ubGFiZWw7cj09PSJEZXBsb3kgU2VydmljZSI/Ym8ubmF2aWdhdGVUb1ZpZXcoInNlcnZpY2VzIik6cj09PSJBZGQgRG9tYWluIiYmYm8ubmF2aWdhdGVUb1ZpZXcoIm5ldHdvcmsiKX1oYW5kbGVQbGF0Zm9ybVNlcnZpY2VDbGljayh0KXtsZXQgcj10LmRldGFpbD8ubmFtZSxpPXRoaXMuc2VydmljZXNTdGF0ZS5wbGF0Zm9ybVNlcnZpY2VzLmZpbmQobz0+by5kaXNwbGF5TmFtZT09PXIpO2kmJihQdC5zZXRTdGF0ZSh7Li4uUHQuZ2V0U3RhdGUoKSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlOml9KSxiby5uYXZpZ2F0ZVRvVmlldygic2VydmljZXMiKSl9fTtabj1BcihENWEpLEdldD1uZXcgV2Vha01hcCxZZXQ9bmV3IFdlYWtNYXAsS2V0PW5ldyBXZWFrTWFwLHl0KFpuLDQsInN5c3RlbVN0YXRlIiwkNWEscGwsR2V0KSx5dChabiw0LCJzZXJ2aWNlc1N0YXRlIixMNWEscGwsWWV0KSx5dChabiw0LCJuZXR3b3JrU3RhdGUiLFQ1YSxwbCxLZXQpLHBsPXl0KFpuLDAsIk9iVmlld0Rhc2hib2FyZCIsQTVhLHBsKSxzKHBsLCJPYlZpZXdEYXNoYm9hcmQiKSx2cihwbCwic3R5bGVzIixbaC5kZWZhdWx0U3R5bGVzLFhzLFhgCiAgICAgIC5kYXNoYm9hcmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbjogMCAwIDEycHg7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlcy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLnNlcnZpY2VzLWdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5zZXJ2aWNlcy1ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgIGBdKSxWZShabiwxLHBsKTtaZXQ9cGx9KTt2YXIgRzVhPXt9O2x0KEc1YSx7T2JWaWV3QXBwU3RvcmU6KCk9PmN0dH0pO3ZhciBFNWEsSTVhLE41YSxSNWEsTzVhLEY1YSxCNWEsSDVhLHE1YSxWNWEsajVhLFU1YSxXNWEsa2EsUWV0LEpldCxldHQsdHR0LGF0dCxydHQsc3R0LGl0dCxvdHQsbnR0LGx0dCxRcyxjdHQsWTVhPWYoYXN5bmMoKT0+e21vKCk7ZTIoKTthd2FpdCBLbigpO3A3KCk7YXdhaXQgSTUoKTtsZSgpO1c1YT1baWUoIm9iLXZpZXctYXBwc3RvcmUiKV07UXM9Y2xhc3MgUXMgZXh0ZW5kcyhVNWE9cGUsajVhPVtLKCldLFY1YT1bSygpXSxxNWE9W0soKV0sSDVhPVtLKCldLEI1YT1bSygpXSxGNWE9W0soKV0sTzVhPVtLKCldLFI1YT1bSygpXSxONWE9W0soKV0sSTVhPVtLKCldLEU1YT1bSygpXSxVNWEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtSdCh0aGlzLFFldCxWZShrYSw4LHRoaXMse2FwcHM6W10sdXBncmFkZWFibGVTZXJ2aWNlczpbXSx1cGdyYWRlT3BlcmF0aW9uczpbXX0pKSxWZShrYSwxMSx0aGlzKTtSdCh0aGlzLEpldCxWZShrYSwxMix0aGlzLCJncmlkIikpLFZlKGthLDE1LHRoaXMpO1J0KHRoaXMsZXR0LFZlKGthLDE2LHRoaXMsbnVsbCkpLFZlKGthLDE5LHRoaXMpO1J0KHRoaXMsdHR0LFZlKGthLDIwLHRoaXMsbnVsbCkpLFZlKGthLDIzLHRoaXMpO1J0KHRoaXMsYXR0LFZlKGthLDI0LHRoaXMsbnVsbCkpLFZlKGthLDI3LHRoaXMpO1J0KHRoaXMscnR0LFZlKGthLDI4LHRoaXMsIiIpKSxWZShrYSwzMSx0aGlzKTtSdCh0aGlzLHN0dCxWZShrYSwzMix0aGlzLFtdKSksVmUoa2EsMzUsdGhpcyk7UnQodGhpcyxpdHQsVmUoa2EsMzYsdGhpcywiIikpLFZlKGthLDM5LHRoaXMpO1J0KHRoaXMsb3R0LFZlKGthLDQwLHRoaXMsIiIpKSxWZShrYSw0Myx0aGlzKTtSdCh0aGlzLG50dCxWZShrYSw0NCx0aGlzLCExKSksVmUoa2EsNDcsdGhpcyk7UnQodGhpcyxsdHQsVmUoa2EsNDgsdGhpcywhMSkpLFZlKGthLDUxLHRoaXMpO2xldCB0PWdvLnNlbGVjdChyPT5yKS5zdWJzY3JpYmUocj0+e3RoaXMuYXBwU3RvcmVTdGF0ZT1yfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgUHJvbWlzZS5hbGwoW2dvLmRpc3BhdGNoQWN0aW9uKHk1YSxudWxsKSxnby5kaXNwYXRjaEFjdGlvbihSaWUsbnVsbCldKX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5jdXJyZW50Vmlldz09PSJkZXRhaWwiP3RoaXMucmVuZGVyRGV0YWlsVmlldygpOnRoaXMucmVuZGVyR3JpZFZpZXcoKX1yZW5kZXJHcmlkVmlldygpe2xldCB0PXRoaXMuYXBwU3RvcmVTdGF0ZS5hcHBzLm1hcChyPT4oe2lkOnIuaWQsbmFtZTpyLm5hbWUsZGVzY3JpcHRpb246ci5kZXNjcmlwdGlvbixjYXRlZ29yeTpyLmNhdGVnb3J5LGljb25OYW1lOnIuaWNvbk5hbWUsaWNvblVybDpyLmljb25VcmwsaW1hZ2U6IiIscG9ydDowfSkpO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+QXBwIFN0b3JlPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgJHt0aGlzLnJlbmRlclVwZ3JhZGVPcGVyYXRpb25zKCl9CiAgICAgICR7dC5sZW5ndGg9PT0wP3dgPGRpdiBjbGFzcz0ibG9hZGluZy1zcGlubmVyIj5Mb2FkaW5nIGFwcCB0ZW1wbGF0ZXMuLi48L2Rpdj5gOndgCiAgICAgICAgICA8c3otYXBwLXN0b3JlLXZpZXcKICAgICAgICAgICAgLmFwcHM9JHt0fQogICAgICAgICAgICBAdmlldy1hcHA9JHtyPT50aGlzLmhhbmRsZVZpZXdEZXRhaWxzKHIpfQogICAgICAgICAgICBAZGVwbG95LWFwcD0ke3I9PnRoaXMuaGFuZGxlQXBwQ2xpY2socil9CiAgICAgICAgICA+PC9zei1hcHAtc3RvcmUtdmlldz4KICAgICAgICBgfQogICAgYH1yZW5kZXJVcGdyYWRlT3BlcmF0aW9ucygpe2xldCB0PXRoaXMuYXBwU3RvcmVTdGF0ZS51cGdyYWRlT3BlcmF0aW9ucy5maWx0ZXIocj0+ci5zdGF0dXM9PT0icnVubmluZyJ8fHIuc3RhdHVzPT09ImZhaWxlZCIpLnNsaWNlKDAsMyk7cmV0dXJuIHQubGVuZ3RoPT09MD8iIjp3YAogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+UmVjZW50IFVwZ3JhZGUgT3BlcmF0aW9uczwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZvb3RwcmludC1saXN0Ij4KICAgICAgICAgICR7dC5tYXAocj0+d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdHByaW50LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuPiR7ci5zZXJ2aWNlTmFtZX06ICR7ci5mcm9tVmVyc2lvbn0gJnJhcnI7ICR7ci50YXJnZXRWZXJzaW9ufTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdHByaW50LW1ldGEiPiR7ci5zdGF0dXN9IC8gJHtyLnN0ZXB9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRGV0YWlsVmlldygpe2lmKHRoaXMubG9hZGluZylyZXR1cm4gd2AKICAgICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+QXBwIFN0b3JlPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPkxvYWRpbmcgYXBwIGRldGFpbHMuLi48L2Rpdj4KICAgICAgYDtsZXQgdD10aGlzLnNlbGVjdGVkQXBwLHI9dGhpcy5zZWxlY3RlZEFwcE1ldGEsaT10aGlzLnNlbGVjdGVkQXBwQ29uZmlnO2lmKCF0fHwhaSlyZXR1cm4gd2AKICAgICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+QXBwIFN0b3JlPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPkFwcCBub3QgZm91bmQuPC9kaXY+CiAgICAgIGA7bGV0IG89aS5wbGF0Zm9ybVJlcXVpcmVtZW50c3x8e30sbj1PYmplY3QudmFsdWVzKG8pLnNvbWUoQm9vbGVhbiksbD17bW9uZ29kYjoiTW9uZ29EQiIsczM6IlMzIChNaW5JTykiLGNsaWNraG91c2U6IkNsaWNrSG91c2UiLHJlZGlzOiJSZWRpcyIsbWFyaWFkYjoiTWFyaWFEQiJ9O3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+QXBwIFN0b3JlPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxNnB4OyIgQGNsaWNrPSR7KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJncmlkIn19PgogICAgICAgICZsYXJyOyBCYWNrIHRvIEFwcCBTdG9yZQogICAgICA8L2J1dHRvbj4KCiAgICAgIDwhLS0gSGVhZGVyIC0tPgogICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaWNvbiI+JHsodC5uYW1lfHwiPyIpWzBdLnRvVXBwZXJDYXNlKCl9PC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmbGV4OiAxOyI+CiAgICAgICAgICAgIDxoMiBjbGFzcz0iZGV0YWlsLXRpdGxlIj4ke3QubmFtZX08L2gyPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWNhdGVnb3J5Ij4ke3QuY2F0ZWdvcnl9PC9zcGFuPgogICAgICAgICAgICA8cCBjbGFzcz0iZGV0YWlsLWRlc2NyaXB0aW9uIj4ke3QuZGVzY3JpcHRpb259PC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtbWV0YSI+CiAgICAgICAgICAgICAgJHtyPy5tYWludGFpbmVyP3dgPHNwYW4+TWFpbnRhaW5lcjogPHN0cm9uZz4ke3IubWFpbnRhaW5lcn08L3N0cm9uZz48L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAke3I/LmxpbmtzP09iamVjdC5lbnRyaWVzKHIubGlua3MpLm1hcCgoW2QsY10pPT53YDxhIGhyZWY9IiR7Y30iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj4ke2R9PC9hPmApOiIifQogICAgICAgICAgICAgICR7dC50YWdzPy5sZW5ndGg/d2A8c3Bhbj5UYWdzOiAke3QudGFncy5qb2luKCIsICIpfTwvc3Bhbj5gOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDwhLS0gUGxhdGZvcm0gU2VydmljZXMgLS0+CiAgICAgICR7bj93YAogICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1jYXJkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPlBsYXRmb3JtIFNlcnZpY2VzPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAke09iamVjdC5lbnRyaWVzKG8pLmZpbHRlcigoW2QsY10pPT5jKS5tYXAoKFtkXSk9PndgPHNwYW4gY2xhc3M9ImJhZGdlIj4ke2xbZF18fGR9PC9zcGFuPmApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsgbWFyZ2luLXRvcDogOHB4OyI+CiAgICAgICAgICAgIFRoZXNlIHBsYXRmb3JtIHNlcnZpY2VzIHdpbGwgYmUgYXV0b21hdGljYWxseSBwcm92aXNpb25lZCB3aGVuIHlvdSBkZXBsb3kuCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KCiAgICAgICR7dGhpcy5yZW5kZXJEZXBsb3ltZW50Rm9vdHByaW50KGkpfQoKICAgICAgPCEtLSBWZXJzaW9uICYgSW1hZ2UgLS0+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1jYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5WZXJzaW9uPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmVyc2lvbi1yb3ciPgogICAgICAgICAgPHNlbGVjdCBjbGFzcz0idmVyc2lvbi1zZWxlY3QiIEBjaGFuZ2U9JHtkPT50aGlzLmhhbmRsZVZlcnNpb25DaGFuZ2UoZC50YXJnZXQudmFsdWUpfT4KICAgICAgICAgICAgJHsocj8udmVyc2lvbnN8fFt0aGlzLnNlbGVjdGVkVmVyc2lvbl0pLm1hcChkPT53YDxvcHRpb24gdmFsdWU9IiR7ZH0iID9zZWxlY3RlZD0ke2Q9PT10aGlzLnNlbGVjdGVkVmVyc2lvbn0+JHtkfSR7ZD09PXQubGF0ZXN0VmVyc2lvbj8iIChsYXRlc3QpIjoiIn08L29wdGlvbj5gKX0KICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgPHNwYW4gY2xhc3M9ImltYWdlLXRhZyI+JHtpLmltYWdlfTwvc3Bhbj4KICAgICAgICAgICR7aS5taW5PbmVib3hWZXJzaW9uP3dgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOyI+UmVxdWlyZXMgb25lYm94ICZnZTsgJHtpLm1pbk9uZWJveFZlcnNpb259PC9zcGFuPmA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSBFbnZpcm9ubWVudCBWYXJpYWJsZXMgLS0+CiAgICAgICR7dGhpcy5lZGl0YWJsZUVudlZhcnMubGVuZ3RoPjA/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtY2FyZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5FbnZpcm9ubWVudCBWYXJpYWJsZXM8L2Rpdj4KICAgICAgICAgIDx0YWJsZSBjbGFzcz0iZW52LXRhYmxlIj4KICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6IDMwJTsiPlZhcmlhYmxlPC90aD4KICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6IDQwJTsiPlZhbHVlPC90aD4KICAgICAgICAgICAgICAgIDx0aD5EZXNjcmlwdGlvbjwvdGg+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICR7dGhpcy5lZGl0YWJsZUVudlZhcnMubWFwKChkLGMpPT53YAogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVudi1rZXkiPiR7ZC5rZXl9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICR7ZC5yZXF1aXJlZD93YDxzcGFuIGNsYXNzPSJlbnYtYmFkZ2UgcmVxdWlyZWQiPnJlcXVpcmVkPC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgICAgICAgJHtkLnBsYXRmb3JtSW5qZWN0ZWQ/d2A8c3BhbiBjbGFzcz0iZW52LWJhZGdlIGF1dG8iPmF1dG88L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImVudi1pbnB1dCIKICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgICAgICAudmFsdWU9JHtkLnZhbHVlfQogICAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7ZC5wbGF0Zm9ybUluamVjdGVkfHwhdGhpcy5kZXBsb3lNb2RlfQogICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9JHtkLnBsYXRmb3JtSW5qZWN0ZWQ/IkF1dG8taW5qZWN0ZWQgYnkgcGxhdGZvcm0iOiJFbnRlciB2YWx1ZS4uLiJ9CiAgICAgICAgICAgICAgICAgICAgICBAaW5wdXQ9JHtwPT50aGlzLmhhbmRsZUVudlZhckNoYW5nZShjLHAudGFyZ2V0LnZhbHVlKX0KICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImVudi1kZXNjIj4ke2QuZGVzY3JpcHRpb258fCIifTwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CgogICAgICA8IS0tIERlcGxveSBzZWN0aW9uIChvbmx5IGluIGRlcGxveSBtb2RlKSBvciBhY3Rpb24gYnV0dG9uICh2aWV3IG1vZGUpIC0tPgogICAgICAke3RoaXMuZGVwbG95TW9kZT93YAogICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1jYXJkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPlNlcnZpY2UgTmFtZTwvZGl2PgogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIGNsYXNzPSJuYW1lLWlucHV0IgogICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlcnZpY2VOYW1lfQogICAgICAgICAgICBwbGFjZWhvbGRlcj0iZS5nLiBteS1naG9zdC1ibG9nIgogICAgICAgICAgICBAaW5wdXQ9JHtkPT57dGhpcy5zZXJ2aWNlTmFtZT1kLnRhcmdldC52YWx1ZX19CiAgICAgICAgICAvPgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNCwgIzcxNzE3YSk7IG1hcmdpbi10b3A6IDZweDsiPgogICAgICAgICAgICBMb3dlcmNhc2UgbGV0dGVycywgbnVtYmVycywgYW5kIGh5cGhlbnMgb25seS4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiIHN0eWxlPSJtYXJnaW4tdG9wOiAxOHB4OyI+RG9tYWluPC9kaXY+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgY2xhc3M9Im5hbWUtaW5wdXQiCiAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VydmljZURvbWFpbn0KICAgICAgICAgICAgcGxhY2Vob2xkZXI9ImUuZy4gY2xvdWRseS5leGFtcGxlLmNvbSIKICAgICAgICAgICAgQGlucHV0PSR7ZD0+dGhpcy5oYW5kbGVTZXJ2aWNlRG9tYWluQ2hhbmdlKGQudGFyZ2V0LnZhbHVlKX0KICAgICAgICAgIC8+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsgbWFyZ2luLXRvcDogNnB4OyI+CiAgICAgICAgICAgIE9uZWJveCByb3V0ZXMgdGhpcyBkb21haW4gdG8gdGhlIGRlcGxveWVkIGFwcC4gUmVxdWlyZWQgd2hlbiB0aGUgYXBwIHVzZXMgU0VSVklDRV9ET01BSU4uCiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAke3RoaXMucmVuZGVyRGVwbG95Q29uZmlybWF0aW9uKGkpfQoKICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMtcm93Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkiIEBjbGljaz0keygpPT57dGhpcy5jdXJyZW50Vmlldz0iZ3JpZCJ9fT5DYW5jZWw8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZXBsb3koKX0+CiAgICAgICAgICAgICAgRGVwbG95IHYke3RoaXMuc2VsZWN0ZWRWZXJzaW9ufQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgOndgCiAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucy1yb3ciIHN0eWxlPSJtYXJnaW4tdG9wOiA4cHg7Ij4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IiBAY2xpY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9ImdyaWQifX0+CiAgICAgICAgICAgICZsYXJyOyBCYWNrCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgQGNsaWNrPSR7KCk9Pnt0aGlzLmRlcGxveU1vZGU9ITB9fT4KICAgICAgICAgICAgRGVwbG95IHRoaXMgQXBwCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgYH0KICAgIGB9cmVuZGVyRGVwbG95bWVudEZvb3RwcmludCh0KXtsZXQgcj10aGlzLmdldENvbmZpZ1ZvbHVtZXModCksaT10LnB1Ymxpc2hlZFBvcnRzfHxbXTtyZXR1cm4gci5sZW5ndGg9PT0wJiZpLmxlbmd0aD09PTA/IiI6d2AKICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPkRlcGxveW1lbnQgRm9vdHByaW50PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdHByaW50LWxpc3QiPgogICAgICAgICAgJHtyLm1hcChvPT53YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290cHJpbnQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4+Vm9sdW1lIG1vdW50PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290cHJpbnQtbWV0YSI+CiAgICAgICAgICAgICAgICAke28uc291cmNlfHxvLm5hbWV8fCJtYW5hZ2VkIHZvbHVtZSJ9OiR7by5tb3VudFBhdGh9JHtvLnJlYWRPbmx5PyI6cm8iOiIifQogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICAgICR7aS5tYXAobz0+d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdHByaW50LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuPlB1Ymxpc2hlZCBob3N0IHBvcnQ8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvb3RwcmludC1tZXRhIj4ke3RoaXMuZm9ybWF0UHVibGlzaGVkUG9ydChvKX08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHtpLmxlbmd0aD4wP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJleHBvc3VyZS13YXJuaW5nIj4KICAgICAgICAgICAgVGhpcyBhcHAgcHVibGlzaGVzIHJhdyBob3N0IHBvcnRzIG91dHNpZGUgdGhlIEhUVFAgcHJveHkuIENvbmZpcm0gZmlyZXdhbGwgYW5kIG5ldHdvcmsgcG9saWN5IGJlZm9yZSBkZXBsb3lpbmcuCiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRGVwbG95Q29uZmlybWF0aW9uKHQpe2xldCByPXRoaXMuZ2V0Q29uZmlnVm9sdW1lcyh0KSxpPXQucHVibGlzaGVkUG9ydHN8fFtdO3JldHVybiByLmxlbmd0aD09PTAmJmkubGVuZ3RoPT09MD8iIjp3YAogICAgICA8ZGl2IGNsYXNzPSJleHBvc3VyZS13YXJuaW5nIj4KICAgICAgICBEZXBsb3lpbmcgdGhpcyBhcHAgd2lsbCBjcmVhdGUgJHtyLmxlbmd0aH0gcGVyc2lzdGVudCB2b2x1bWUocykKICAgICAgICAke2kubGVuZ3RoPjA/d2BhbmQgZXhwb3NlICR7aS5sZW5ndGh9IGhvc3QgcG9ydCBkZWNsYXJhdGlvbihzKWA6IiJ9LgogICAgICA8L2Rpdj4KICAgIGB9Z2V0Q29uZmlnVm9sdW1lcyh0KXtyZXR1cm4odC52b2x1bWVzfHxbXSkubWFwKHI9PnR5cGVvZiByPT0ic3RyaW5nIj97bW91bnRQYXRoOnJ9OnIpLmZpbHRlcihyPT4hIXIubW91bnRQYXRoKX1mb3JtYXRQdWJsaXNoZWRQb3J0KHQpe2xldCByPXQucHJvdG9jb2x8fCJ0Y3AiLGk9dC50YXJnZXRQb3J0RW5kP2Ake3QudGFyZ2V0UG9ydH0tJHt0LnRhcmdldFBvcnRFbmR9YDpTdHJpbmcodC50YXJnZXRQb3J0KSxvPXQucHVibGlzaGVkUG9ydHx8dC50YXJnZXRQb3J0LG49dC5wdWJsaXNoZWRQb3J0RW5kfHwodC50YXJnZXRQb3J0RW5kP28rKHQudGFyZ2V0UG9ydEVuZC10LnRhcmdldFBvcnQpOnZvaWQgMCksbD1uP2Ake299LSR7bn1gOlN0cmluZyhvKTtyZXR1cm5gJHt0Lmhvc3RJcHx8IjAuMC4wLjAifToke2x9LyR7cn0gLT4gJHtpfS8ke3J9YH1hc3luYyBoYW5kbGVWaWV3RGV0YWlscyh0KXtsZXQgcj10LmRldGFpbD8uYXBwO2lmKCFyKXJldHVybjtsZXQgaT10aGlzLmFwcFN0b3JlU3RhdGUuYXBwcy5maW5kKG89Pm8uaWQ9PT1yLmlkKTtpJiYodGhpcy5kZXBsb3lNb2RlPSExLHRoaXMuc2VsZWN0ZWRBcHA9aSx0aGlzLnNlbGVjdGVkVmVyc2lvbj1pLmxhdGVzdFZlcnNpb24sdGhpcy5zZXJ2aWNlTmFtZT1pLmlkLHRoaXMubG9hZGluZz0hMCx0aGlzLmN1cnJlbnRWaWV3PSJkZXRhaWwiLGF3YWl0IHRoaXMuZmV0Y2hWZXJzaW9uQ29uZmlnKGkuaWQsaS5sYXRlc3RWZXJzaW9uKSx0aGlzLmxvYWRpbmc9ITEpfWFzeW5jIGhhbmRsZUFwcENsaWNrKHQpe2xldCByPXQuZGV0YWlsPy5hcHA7aWYoIXIpcmV0dXJuO2xldCBpPXRoaXMuYXBwU3RvcmVTdGF0ZS5hcHBzLmZpbmQobz0+by5pZD09PXIuaWQpO2kmJih0aGlzLmRlcGxveU1vZGU9ITAsdGhpcy5zZWxlY3RlZEFwcD1pLHRoaXMuc2VsZWN0ZWRWZXJzaW9uPWkubGF0ZXN0VmVyc2lvbix0aGlzLnNlcnZpY2VOYW1lPWkuaWQsdGhpcy5sb2FkaW5nPSEwLHRoaXMuY3VycmVudFZpZXc9ImRldGFpbCIsYXdhaXQgdGhpcy5mZXRjaFZlcnNpb25Db25maWcoaS5pZCxpLmxhdGVzdFZlcnNpb24pLHRoaXMubG9hZGluZz0hMSl9YXN5bmMgaGFuZGxlVmVyc2lvbkNoYW5nZSh0KXshdGhpcy5zZWxlY3RlZEFwcHx8dD09PXRoaXMuc2VsZWN0ZWRWZXJzaW9ufHwodGhpcy5zZWxlY3RlZFZlcnNpb249dCx0aGlzLmxvYWRpbmc9ITAsYXdhaXQgdGhpcy5mZXRjaFZlcnNpb25Db25maWcodGhpcy5zZWxlY3RlZEFwcC5pZCx0KSx0aGlzLmxvYWRpbmc9ITEpfWFzeW5jIGZldGNoVmVyc2lvbkNvbmZpZyh0LHIpe3RyeXtsZXQgaT1xci5nZXRTdGF0ZSgpLmlkZW50aXR5O2lmKCFpKXJldHVybjtsZXQgbj1hd2FpdCBuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0QXBwU3RvcmVDb25maWciKS5maXJlKHtpZGVudGl0eTppLGFwcElkOnQsdmVyc2lvbjpyfSk7dGhpcy5zZWxlY3RlZEFwcE1ldGE9bi5hcHBNZXRhLHRoaXMuc2VsZWN0ZWRBcHBDb25maWc9bi5jb25maWcsdGhpcy5lZGl0YWJsZUVudlZhcnM9KG4uY29uZmlnLmVudlZhcnN8fFtdKS5tYXAobD0+KHtrZXk6bC5rZXksdmFsdWU6bC52YWx1ZXx8IiIsZGVzY3JpcHRpb246bC5kZXNjcmlwdGlvbnx8IiIscmVxdWlyZWQ6bC5yZXF1aXJlZCxwbGF0Zm9ybUluamVjdGVkOmwudmFsdWU/LmluY2x1ZGVzKCIkeyIpfHwhMX0pKSx0aGlzLnNlcnZpY2VEb21haW49IiJ9Y2F0Y2goaSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIGFwcCBjb25maWc6IixpKX19aGFuZGxlRW52VmFyQ2hhbmdlKHQscil7bGV0IGk9Wy4uLnRoaXMuZWRpdGFibGVFbnZWYXJzXTtpW3RdPXsuLi5pW3RdLHZhbHVlOnJ9LHRoaXMuZWRpdGFibGVFbnZWYXJzPWl9aGFuZGxlU2VydmljZURvbWFpbkNoYW5nZSh0KXt0aGlzLnNlcnZpY2VEb21haW49dGhpcy5ub3JtYWxpemVEb21haW4odCl9bm9ybWFsaXplRG9tYWluKHQpe3JldHVybiB0LnRyaW0oKS5yZXBsYWNlKC9eaHR0cHM/OlwvXC8vLCIiKS5yZXBsYWNlKC9cLyQvLCIiKX1hc3luYyBoYW5kbGVEZXBsb3koKXtsZXQgdD10aGlzLnNlbGVjdGVkQXBwLHI9dGhpcy5zZWxlY3RlZEFwcENvbmZpZztpZighdHx8IXIpcmV0dXJuO2xldCBpPXRoaXMuZWRpdGFibGVFbnZWYXJzLmZpbHRlcihsPT5sLnJlcXVpcmVkJiYhbC5wbGF0Zm9ybUluamVjdGVkJiYhbC52YWx1ZS50cmltKCkpO2lmKGkubGVuZ3RoPjApe2NvbnNvbGUuZXJyb3IoYE1pc3NpbmcgcmVxdWlyZWQgZW52aXJvbm1lbnQgdmFyaWFibGVzOiAke2kubWFwKGw9Pmwua2V5KS5qb2luKCIsICIpfWApO3JldHVybn1pZigoci5lbnZWYXJzfHxbXSkuc29tZShsPT5sLnZhbHVlPy5pbmNsdWRlcygiJHtTRVJWSUNFX0RPTUFJTn0iKSkmJiF0aGlzLnNlcnZpY2VEb21haW4pe2NvbnNvbGUuZXJyb3IoIkEgZG9tYWluIGlzIHJlcXVpcmVkIGZvciB0aGlzIGFwcC4iKTtyZXR1cm59bGV0IG49e307Zm9yKGxldCBsIG9mIHRoaXMuZWRpdGFibGVFbnZWYXJzKWwua2V5JiZsLnZhbHVlJiYobltsLmtleV09bC52YWx1ZSk7dHJ5e2xldCBsPXFyLmdldFN0YXRlKCkuaWRlbnRpdHk7aWYoIWwpcmV0dXJuO2F3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJpbnN0YWxsQXBwU3RvcmVBcHAiKS5maXJlKHtpZGVudGl0eTpsLGluc3RhbGw6e2FwcElkOnQuaWQsdmVyc2lvbjp0aGlzLnNlbGVjdGVkVmVyc2lvbixzZXJ2aWNlTmFtZTp0aGlzLnNlcnZpY2VOYW1lfHx0LmlkLGRvbWFpbjp0aGlzLnNlcnZpY2VEb21haW58fHZvaWQgMCxlbnZWYXJzOm59fSksc2V0VGltZW91dCgoKT0+e2JvLm5hdmlnYXRlVG9WaWV3KCJzZXJ2aWNlcyIpfSwwKX1jYXRjaChsKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZGVwbG95IGZyb20gQXBwIFN0b3JlOiIsbCl9fX07a2E9QXIoVTVhKSxRZXQ9bmV3IFdlYWtNYXAsSmV0PW5ldyBXZWFrTWFwLGV0dD1uZXcgV2Vha01hcCx0dHQ9bmV3IFdlYWtNYXAsYXR0PW5ldyBXZWFrTWFwLHJ0dD1uZXcgV2Vha01hcCxzdHQ9bmV3IFdlYWtNYXAsaXR0PW5ldyBXZWFrTWFwLG90dD1uZXcgV2Vha01hcCxudHQ9bmV3IFdlYWtNYXAsbHR0PW5ldyBXZWFrTWFwLHl0KGthLDQsImFwcFN0b3JlU3RhdGUiLGo1YSxRcyxRZXQpLHl0KGthLDQsImN1cnJlbnRWaWV3IixWNWEsUXMsSmV0KSx5dChrYSw0LCJzZWxlY3RlZEFwcCIscTVhLFFzLGV0dCkseXQoa2EsNCwic2VsZWN0ZWRBcHBNZXRhIixINWEsUXMsdHR0KSx5dChrYSw0LCJzZWxlY3RlZEFwcENvbmZpZyIsQjVhLFFzLGF0dCkseXQoa2EsNCwic2VsZWN0ZWRWZXJzaW9uIixGNWEsUXMscnR0KSx5dChrYSw0LCJlZGl0YWJsZUVudlZhcnMiLE81YSxRcyxzdHQpLHl0KGthLDQsInNlcnZpY2VOYW1lIixSNWEsUXMsaXR0KSx5dChrYSw0LCJzZXJ2aWNlRG9tYWluIixONWEsUXMsb3R0KSx5dChrYSw0LCJsb2FkaW5nIixJNWEsUXMsbnR0KSx5dChrYSw0LCJkZXBsb3lNb2RlIixFNWEsUXMsbHR0KSxRcz15dChrYSwwLCJPYlZpZXdBcHBTdG9yZSIsVzVhLFFzKSxzKFFzLCJPYlZpZXdBcHBTdG9yZSIpLHZyKFFzLCJzdHlsZXMiLFtoLmRlZmF1bHRTdHlsZXMsWHMsWGAKICAgICAgLmRldGFpbC1jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0xLCAjMDkwOTBiKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZGV0YWlsLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmRldGFpbC1pY29uIHsKICAgICAgICB3aWR0aDogNjRweDsKICAgICAgICBoZWlnaHQ6IDY0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAyOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZGV0YWlsLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNywgI2U0ZTRlNyk7CiAgICAgICAgbWFyZ2luOiAwIDAgNHB4IDA7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtY2F0ZWdvcnkgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwYWRkaW5nOiAycHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLmRldGFpbC1kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLmRldGFpbC1tZXRhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsKICAgICAgfQoKICAgICAgLmRldGFpbC1tZXRhIGEgewogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtbWV0YSBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgfQoKICAgICAgLmJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xNSk7CiAgICAgICAgY29sb3I6ICM2MGE1ZmE7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgICB9CgogICAgICAudmVyc2lvbi1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC52ZXJzaW9uLXNlbGVjdCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMywgIzNmM2Y0Nik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS03LCAjZTRlNGU3KTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAuaW1hZ2UtdGFnIHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KCiAgICAgIC5lbnYtdGFibGUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICAgIH0KCiAgICAgIC5lbnYtdGFibGUgdGggewogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOwogICAgICAgIHBhZGRpbmc6IDhweCA4cHggOHB4IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOwogICAgICB9CgogICAgICAuZW52LXRhYmxlIHRkIHsKICAgICAgICBwYWRkaW5nOiA2cHggOHB4IDZweCAwOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC5lbnYtaW5wdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTMsICMzZjNmNDYpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBwYWRkaW5nOiA2cHggOHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS03LCAjZTRlNGU3KTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZW52LWlucHV0OmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLmVudi1rZXkgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS02LCAjZDRkNGQ4KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZW52LWRlc2MgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNCwgIzcxNzE3YSk7CiAgICAgIH0KCiAgICAgIC5lbnYtYmFkZ2UgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBwYWRkaW5nOiAxcHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBtYXJnaW4tbGVmdDogNnB4OwogICAgICB9CgogICAgICAuZW52LWJhZGdlLnJlcXVpcmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KTsKICAgICAgICBjb2xvcjogI2Y4NzE3MTsKICAgICAgfQoKICAgICAgLmVudi1iYWRnZS5hdXRvIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KTsKICAgICAgICBjb2xvcjogIzRhZGU4MDsKICAgICAgfQoKICAgICAgLm5hbWUtaW5wdXQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTMsICMzZjNmNDYpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE0cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTcsICNlNGU0ZTcpOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB3aWR0aDogMzAwcHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmFjdGlvbnMtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIG1hcmdpbi10b3A6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5idG4gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmJ0bjpob3ZlciB7IG9wYWNpdHk6IDAuOTsgfQoKICAgICAgLmJ0bi1wcmltYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS03LCAjZTRlNGU3KTsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtMCwgIzA5MDkwYik7CiAgICAgIH0KCiAgICAgIC5idG4tc2Vjb25kYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNiwgI2Q0ZDRkOCk7CiAgICAgIH0KCiAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsKICAgICAgfQoKICAgICAgLmZvb3RwcmludC1saXN0IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZm9vdHByaW50LWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNiwgI2Q0ZDRkOCk7CiAgICAgIH0KCiAgICAgIC5mb290cHJpbnQtbWV0YSB7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgIH0KCiAgICAgIC5leHBvc3VyZS13YXJuaW5nIHsKICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgICAgIGNvbG9yOiAjZmJiZjI0OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CiAgICBgXSksVmUoa2EsMSxRcyk7Y3R0PVFzfSk7dmFyIE9GYSxGaWUsSzVhPWYoKCk9PnttbygpO3A3KCk7T0ZhPW5kLmRvbXRvb2xzLEZpZT1jbGFzc3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuc2VydmljZU5hbWU9ZTt0aGlzLmlkZW50aXR5PXQsdGhpcy5yZWdpc3RlclByb2Nlc3NTb2NrZXRIYW5kbGVycygpfXNlcnZpY2VOYW1lO3N0YXRpY3tzKHRoaXMsIkJhY2tlbmRFeGVjdXRpb25FbnZpcm9ubWVudCIpfXR5cGU9ImJhY2tlbmQiO19yZWFkeT0hMTtpZGVudGl0eTtwcm9jZXNzUm91dGVyPW5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJvdXRlcjtwcm9jZXNzU29ja2V0PW51bGw7cHJvY2Vzc1NvY2tldFByb21pc2U9bnVsbDtwcm9jZXNzU3RhdGVzPW5ldyBNYXA7Z2V0IHJlYWR5KCl7cmV0dXJuIHRoaXMuX3JlYWR5fWFzeW5jIGluaXQoKXtpZighKGF3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZUV4aXN0cyIse3BhdGg6Ii8ifSkpLmV4aXN0cyl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBhY2Nlc3MgY29udGFpbmVyIGZpbGVzeXN0ZW0gZm9yIHNlcnZpY2U6ICR7dGhpcy5zZXJ2aWNlTmFtZX1gKTt0aGlzLl9yZWFkeT0hMH1hc3luYyBkZXN0cm95KCl7Zm9yKGxldCBlIG9mIEFycmF5LmZyb20odGhpcy5wcm9jZXNzU3RhdGVzLmtleXMoKSkpYXdhaXQgdGhpcy5raWxsUHJvY2VzcyhlKS5jYXRjaCgoKT0+e30pO2F3YWl0IHRoaXMucHJvY2Vzc1NvY2tldD8uc3RvcCgpLmNhdGNoKCgpPT57fSksdGhpcy5wcm9jZXNzU29ja2V0PW51bGwsdGhpcy5wcm9jZXNzU29ja2V0UHJvbWlzZT1udWxsLHRoaXMuX3JlYWR5PSExfWFzeW5jIHJlYWRGaWxlKGUpe3JldHVybihhd2FpdCB0aGlzLmZpcmVSZXF1ZXN0KCJ3b3Jrc3BhY2VSZWFkRmlsZSIse3BhdGg6ZX0pKS5jb250ZW50fWFzeW5jIHdyaXRlRmlsZShlLHQpe2F3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZVdyaXRlRmlsZSIse3BhdGg6ZSxjb250ZW50OnR9KX1hc3luYyByZWFkRGlyKGUpe3JldHVybihhd2FpdCB0aGlzLmZpcmVSZXF1ZXN0KCJ3b3Jrc3BhY2VSZWFkRGlyIix7cGF0aDplfSkpLmVudHJpZXN9YXN5bmMgbWtkaXIoZSl7YXdhaXQgdGhpcy5maXJlUmVxdWVzdCgid29ya3NwYWNlTWtkaXIiLHtwYXRoOmV9KX1hc3luYyBybShlLHQpe2F3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZVJtIix7cGF0aDplLHJlY3Vyc2l2ZTp0Py5yZWN1cnNpdmV9KX1hc3luYyBleGlzdHMoZSl7cmV0dXJuKGF3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZUV4aXN0cyIse3BhdGg6ZX0pKS5leGlzdHN9d2F0Y2goZSx0LHIpe3JldHVybntzdG9wOnMoKCk9Pnt9LCJzdG9wIil9fWFzeW5jIHNwYXduKGUsdCl7bGV0IHI9YXdhaXQgdGhpcy5lbnN1cmVQcm9jZXNzU29ja2V0KCksaT1jcnlwdG8ucmFuZG9tVVVJRCgpO2F3YWl0IHIuc2V0VGFnKGB3b3Jrc3BhY2VQcm9jZXNzOiR7aX1gLCEwKTtsZXQgbz1zKCgpPT57fSwicmVzb2x2ZUV4aXQiKSxuPW5ldyBQcm9taXNlKGM9PntvPWN9KSxsPW5ldyBSZWFkYWJsZVN0cmVhbSh7c3RhcnQ6cyhjPT57dGhpcy5wcm9jZXNzU3RhdGVzLnNldChpLHtvdXRwdXRDb250cm9sbGVyOmMscmVzb2x2ZUV4aXQ6b30pfSwic3RhcnQiKSxjYW5jZWw6cyhhc3luYygpPT57YXdhaXQgdGhpcy5raWxsUHJvY2VzcyhpKS5jYXRjaCgoKT0+e30pfSwiY2FuY2VsIil9KTt0cnl7YXdhaXQgci5jcmVhdGVUeXBlZFJlcXVlc3QoIndvcmtzcGFjZVN0YXJ0UHJvY2VzcyIpLmZpcmUoe2lkZW50aXR5OnRoaXMuaWRlbnRpdHksc2VydmljZU5hbWU6dGhpcy5zZXJ2aWNlTmFtZSxwcm9jZXNzSWQ6aSxjb21tYW5kOmUsYXJnczp0fSl9Y2F0Y2goYyl7bGV0IHA9dGhpcy5wcm9jZXNzU3RhdGVzLmdldChpKTt0aGlzLnByb2Nlc3NTdGF0ZXMuZGVsZXRlKGkpLGF3YWl0IHIucmVtb3ZlVGFnKGB3b3Jrc3BhY2VQcm9jZXNzOiR7aX1gKS5jYXRjaCgoKT0+e30pO3RyeXtwPy5vdXRwdXRDb250cm9sbGVyLmVycm9yKGMpfWNhdGNoe310aHJvdyBjfWxldCBkPW5ldyBXcml0YWJsZVN0cmVhbSh7d3JpdGU6cyhhc3luYyBjPT57YXdhaXQgci5jcmVhdGVUeXBlZFJlcXVlc3QoIndvcmtzcGFjZVByb2Nlc3NJbnB1dCIpLmZpcmUoe2lkZW50aXR5OnRoaXMuaWRlbnRpdHkscHJvY2Vzc0lkOmksaW5wdXQ6Y30pfSwid3JpdGUiKSxhYm9ydDpzKGFzeW5jKCk9Pnthd2FpdCB0aGlzLmtpbGxQcm9jZXNzKGkpLmNhdGNoKCgpPT57fSl9LCJhYm9ydCIpfSk7cmV0dXJue291dHB1dDpsLGlucHV0OmQsZXhpdDpuLGtpbGw6cygoKT0+e3RoaXMua2lsbFByb2Nlc3MoaSl9LCJraWxsIil9fWFzeW5jIGdldFNoZWxsQ29tbWFuZCgpe3JldHVybihhd2FpdCB0aGlzLmZpcmVSZXF1ZXN0KCJ3b3Jrc3BhY2VHZXRTaGVsbENvbW1hbmQiLHt9KSkuc2hlbGxDb21tYW5kfXJlZ2lzdGVyUHJvY2Vzc1NvY2tldEhhbmRsZXJzKCl7dGhpcy5wcm9jZXNzUm91dGVyLmFkZFR5cGVkSGFuZGxlcihuZXcgSmUucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRIYW5kbGVyKCJwdXNoV29ya3NwYWNlUHJvY2Vzc091dHB1dCIsYXN5bmMgZT0+KHRoaXMucHJvY2Vzc1N0YXRlcy5nZXQoZS5wcm9jZXNzSWQpPy5vdXRwdXRDb250cm9sbGVyLmVucXVldWUoZS5vdXRwdXQpLHt9KSkpLHRoaXMucHJvY2Vzc1JvdXRlci5hZGRUeXBlZEhhbmRsZXIobmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkSGFuZGxlcigicHVzaFdvcmtzcGFjZVByb2Nlc3NFeGl0Iixhc3luYyBlPT4odGhpcy5jb21wbGV0ZVByb2Nlc3NTdGF0ZShlLnByb2Nlc3NJZCxlLmV4aXRDb2RlKSxhd2FpdCB0aGlzLnByb2Nlc3NTb2NrZXQ/LnJlbW92ZVRhZyhgd29ya3NwYWNlUHJvY2Vzczoke2UucHJvY2Vzc0lkfWApLmNhdGNoKCgpPT57fSkse30pKSl9YXN5bmMgZW5zdXJlUHJvY2Vzc1NvY2tldCgpe3JldHVybiB0aGlzLnByb2Nlc3NTb2NrZXQ/dGhpcy5wcm9jZXNzU29ja2V0Oih0aGlzLnByb2Nlc3NTb2NrZXRQcm9taXNlfHwodGhpcy5wcm9jZXNzU29ja2V0UHJvbWlzZT1WYy5UeXBlZFNvY2tldC5jcmVhdGVDbGllbnQodGhpcy5wcm9jZXNzUm91dGVyLFZjLlR5cGVkU29ja2V0LnVzZVdpbmRvd0xvY2F0aW9uT3JpZ2luVXJsKCkse2F1dG9SZWNvbm5lY3Q6ITB9KSksdGhpcy5wcm9jZXNzU29ja2V0PWF3YWl0IHRoaXMucHJvY2Vzc1NvY2tldFByb21pc2UsdGhpcy5wcm9jZXNzU29ja2V0KX1jb21wbGV0ZVByb2Nlc3NTdGF0ZShlLHQpe2xldCByPXRoaXMucHJvY2Vzc1N0YXRlcy5nZXQoZSk7aWYocil7dHJ5e3Iub3V0cHV0Q29udHJvbGxlci5jbG9zZSgpfWNhdGNoe31yLnJlc29sdmVFeGl0KHQpLHRoaXMucHJvY2Vzc1N0YXRlcy5kZWxldGUoZSl9fWFzeW5jIGtpbGxQcm9jZXNzKGUpe2xldCB0PXRoaXMucHJvY2Vzc1NvY2tldDt0JiYoYXdhaXQgdC5jcmVhdGVUeXBlZFJlcXVlc3QoIndvcmtzcGFjZUtpbGxQcm9jZXNzIikuZmlyZSh7aWRlbnRpdHk6dGhpcy5pZGVudGl0eSxwcm9jZXNzSWQ6ZX0pLmNhdGNoKCgpPT57fSksdGhpcy5jb21wbGV0ZVByb2Nlc3NTdGF0ZShlLC0xKSxhd2FpdCB0LnJlbW92ZVRhZyhgd29ya3NwYWNlUHJvY2Vzczoke2V9YCkuY2F0Y2goKCk9Pnt9KSl9YXN5bmMgZmlyZVJlcXVlc3QoZSx0KXtyZXR1cm4gYXdhaXQgbmV3IE9GYS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLGUpLmZpcmUoe2lkZW50aXR5OnRoaXMuaWRlbnRpdHksc2VydmljZU5hbWU6dGhpcy5zZXJ2aWNlTmFtZSwuLi50fSl9fX0pO3ZhciBuaGE9e307bHQobmhhLHtPYlZpZXdTZXJ2aWNlczooKT0+dnR0fSk7ZnVuY3Rpb24gQmllKGEpe2lmKCFhfHxhPT09MClyZXR1cm4iMCBCIjtsZXQgZT1bIkIiLCJLQiIsIk1CIiwiR0IiLCJUQiJdLHQ9MTAyNCxyPU1hdGguZmxvb3IoTWF0aC5sb2coYSkvTWF0aC5sb2codCkpO3JldHVybmAkeyhhL01hdGgucG93KHQscikpLnRvRml4ZWQoMSl9ICR7ZVtyXX1gfWZ1bmN0aW9uIEZGYShhKXtsZXQgZT1hLmxhc3RJbmRleE9mKCI6IiksdD1hLmxhc3RJbmRleE9mKCIvIik7cmV0dXJuIGU+dCYmZT4wP3tyZXBvc2l0b3J5OmEuc3Vic3RyaW5nKDAsZSksdGFnOmEuc3Vic3RyaW5nKGUrMSl9OntyZXBvc2l0b3J5OmEsdGFnOiJsYXRlc3QifX1mdW5jdGlvbiBaNWEoYSl7c3dpdGNoKGEpe2Nhc2UicnVubmluZyI6cmV0dXJuInJ1bm5pbmciO2Nhc2Uic3RhcnRpbmciOnJldHVybiJzdGFydGluZyI7Y2FzZSJmYWlsZWQiOnJldHVybiJlcnJvciI7ZGVmYXVsdDpyZXR1cm4ic3RvcHBlZCJ9fWZ1bmN0aW9uIEJGYShhKXtsZXQgZT1GRmEoYS5pbWFnZSk7cmV0dXJue25hbWU6YS5uYW1lLHN0YXR1czpaNWEoYS5zdGF0dXMpLGltYWdlOmEuaW1hZ2UscG9ydDphLnBvcnQsZG9tYWluOmEuZG9tYWlufHxudWxsLGNvbnRhaW5lcklkOmEuY29udGFpbmVySUR8fCIiLGNyZWF0ZWQ6YS5jcmVhdGVkQXQ/bmV3IERhdGUoYS5jcmVhdGVkQXQpLnRvTG9jYWxlU3RyaW5nKCk6Ii0iLHVwZGF0ZWQ6YS51cGRhdGVkQXQ/bmV3IERhdGUoYS51cGRhdGVkQXQpLnRvTG9jYWxlU3RyaW5nKCk6Ii0iLHJlZ2lzdHJ5OmEudXNlT25lYm94UmVnaXN0cnk/Ik9uZWJveCBSZWdpc3RyeSI6YS5yZWdpc3RyeXx8IkRvY2tlciBIdWIiLHJlcG9zaXRvcnk6YS5yZWdpc3RyeVJlcG9zaXRvcnl8fGUucmVwb3NpdG9yeSx0YWc6YS5yZWdpc3RyeUltYWdlVGFnfHxlLnRhZ319ZnVuY3Rpb24gSEZhKGEpe3JldHVybntjcHU6YS5jcHVQZXJjZW50LG1lbW9yeTpCaWUoYS5tZW1vcnlVc2VkKSxtZW1vcnlMaW1pdDpCaWUoYS5tZW1vcnlMaW1pdCksbmV0d29ya0luOkJpZShhLm5ldHdvcmtSeCksbmV0d29ya091dDpCaWUoYS5uZXR3b3JrVHgpfX1mdW5jdGlvbiBxRmEoYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YS5tYXAoZT0+e2xldCB0PWUudGltZXN0YW1wP3R5cGVvZiBlLnRpbWVzdGFtcD09Im51bWJlciI/bmV3IERhdGUoZS50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCk6U3RyaW5nKGUudGltZXN0YW1wKTpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkscj1lLm1lc3NhZ2V8fFN0cmluZyhlKSxpPWUubGV2ZWx8fCJpbmZvIjtyZXR1cm57dGltZXN0YW1wOnQsbWVzc2FnZTpyLGxldmVsOml9fSk6dHlwZW9mIGE9PSJzdHJpbmciJiZhLnRyaW0oKT9hLnNwbGl0KGAKYCkuZmlsdGVyKGU9PmUudHJpbSgpKS5tYXAoZT0+e2xldCB0PWUubWF0Y2goL14oXGR7NH0tXGR7Mn0tXGR7Mn1UW1xkOi5dK1o/KVxzKyguKikvKSxyPXQ/dFsxXTpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksaT10P3RbMl06ZSxvPWkudG9Mb3dlckNhc2UoKSxuPW8uaW5jbHVkZXMoImVycm9yIil8fG8uaW5jbHVkZXMoImZhdGFsIik/ImVycm9yIjpvLmluY2x1ZGVzKCJ3YXJuIik/Indhcm4iOiJpbmZvIjtyZXR1cm57dGltZXN0YW1wOnIsbWVzc2FnZTppLGxldmVsOm59fSk6W119dmFyIFg1YSxRNWEsSjVhLGVoYSx0aGEsYWhhLHJoYSxzaGEsaWhhLG9oYSxpcixkdHQsdXR0LHB0dCxmdHQsaHR0LG10dCxndHQsYnR0LFZGYSx2byx2dHQseHR0PWYoYXN5bmMoKT0+e21vKCk7ZTIoKTthd2FpdCBLbigpO3A3KCk7SzVhKCk7bGUoKTtzKEJpZSwiZm9ybWF0Qnl0ZXMiKTtzKEZGYSwicGFyc2VJbWFnZVN0cmluZyIpO3MoWjVhLCJtYXBTdGF0dXMiKTtzKEJGYSwidG9TZXJ2aWNlRGV0YWlsIik7cyhIRmEsInRvU2VydmljZVN0YXRzIik7cyhxRmEsInBhcnNlTG9ncyIpO1ZGYT17Y3B1OjAsbWVtb3J5OiIwIEIiLG1lbW9yeUxpbWl0OiIwIEIiLG5ldHdvcmtJbjoiMCBCIixuZXR3b3JrT3V0OiIwIEIifTtvaGE9W2llKCJvYi12aWV3LXNlcnZpY2VzIildO3ZvPWNsYXNzIHZvIGV4dGVuZHMoaWhhPXBlLHNoYT1bSygpXSxyaGE9W0soKV0sYWhhPVtLKCldLHRoYT1bSygpXSxlaGE9W0soKV0sSjVhPVtLKCldLFE1YT1bSygpXSxYNWE9W0soKV0saWhhKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7UnQodGhpcyxkdHQsVmUoaXIsOCx0aGlzLHtzZXJ2aWNlczpbXSxjdXJyZW50U2VydmljZTpudWxsLGN1cnJlbnRTZXJ2aWNlTG9nczpbXSxjdXJyZW50U2VydmljZVN0YXRzOm51bGwscGxhdGZvcm1TZXJ2aWNlczpbXSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3M6W119KSksVmUoaXIsMTEsdGhpcyk7UnQodGhpcyx1dHQsVmUoaXIsMTIsdGhpcyx7YmFja3VwczpbXSxzY2hlZHVsZXM6W119KSksVmUoaXIsMTUsdGhpcyk7UnQodGhpcyxwdHQsVmUoaXIsMTYsdGhpcywibGlzdCIpKSxWZShpciwxOSx0aGlzKTtSdCh0aGlzLGZ0dCxWZShpciwyMCx0aGlzLCIiKSksVmUoaXIsMjMsdGhpcyk7UnQodGhpcyxodHQsVmUoaXIsMjQsdGhpcywiIikpLFZlKGlyLDI3LHRoaXMpO1J0KHRoaXMsbXR0LFZlKGlyLDI4LHRoaXMsITEpKSxWZShpciwzMSx0aGlzKTtSdCh0aGlzLGd0dCxWZShpciwzMix0aGlzLG51bGwpKSxWZShpciwzNSx0aGlzKTtSdCh0aGlzLGJ0dCxWZShpciwzNix0aGlzLHthcHBzOltdLHVwZ3JhZGVhYmxlU2VydmljZXM6W10sdXBncmFkZU9wZXJhdGlvbnM6W119KSksVmUoaXIsMzksdGhpcyk7bGV0IHQ9UHQuc2VsZWN0KG89Pm8pLnN1YnNjcmliZShvPT57dGhpcy5zZXJ2aWNlc1N0YXRlPW99KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHQpO2xldCByPXQyLnNlbGVjdChvPT5vKS5zdWJzY3JpYmUobz0+e3RoaXMuYmFja3Vwc1N0YXRlPW99KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHIpO2xldCBpPWdvLnNlbGVjdChvPT5vKS5zdWJzY3JpYmUobz0+e3RoaXMuYXBwU3RvcmVTdGF0ZT1vfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChpKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgUHJvbWlzZS5hbGwoW1B0LmRpc3BhdGNoQWN0aW9uKEFpZSxudWxsKSxQdC5kaXNwYXRjaEFjdGlvbihQaWUsbnVsbCksZ28uZGlzcGF0Y2hBY3Rpb24odzVhLG51bGwpLGdvLmRpc3BhdGNoQWN0aW9uKFJpZSxudWxsKV0pO2xldCB0PVB0LmdldFN0YXRlKCk7aWYodC5jdXJyZW50UGxhdGZvcm1TZXJ2aWNlKXtsZXQgcj10LmN1cnJlbnRQbGF0Zm9ybVNlcnZpY2UudHlwZTtQdC5zZXRTdGF0ZSh7Li4uUHQuZ2V0U3RhdGUoKSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlOm51bGx9KSx0aGlzLm5hdmlnYXRlVG9QbGF0Zm9ybURldGFpbChyKX19cmVuZGVyKCl7c3dpdGNoKHRoaXMuY3VycmVudFZpZXcpe2Nhc2UiY3JlYXRlIjpyZXR1cm4gdGhpcy5yZW5kZXJDcmVhdGVWaWV3KCk7Y2FzZSJkZXRhaWwiOnJldHVybiB0aGlzLnJlbmRlckRldGFpbFZpZXcoKTtjYXNlImJhY2t1cHMiOnJldHVybiB0aGlzLnJlbmRlckJhY2t1cHNWaWV3KCk7Y2FzZSJwbGF0Zm9ybS1kZXRhaWwiOnJldHVybiB0aGlzLnJlbmRlclBsYXRmb3JtRGV0YWlsVmlldygpO2RlZmF1bHQ6cmV0dXJuIHRoaXMucmVuZGVyTGlzdFZpZXcoKX19cmVuZGVyTGlzdFZpZXcoKXtsZXQgdD10aGlzLnNlcnZpY2VzU3RhdGUuc2VydmljZXMubWFwKGw9Pih7bmFtZTpsLm5hbWUsaW1hZ2U6bC5pbWFnZSxkb21haW46bC5kb21haW58fG51bGwsc3RhdHVzOlo1YShsLnN0YXR1cyl9KSkscj1zKGw9Pntzd2l0Y2gobCl7Y2FzZSJydW5uaW5nIjpyZXR1cm4iUnVubmluZyI7Y2FzZSJzdG9wcGVkIjpyZXR1cm4iU3RvcHBlZCI7Y2FzZSJzdGFydGluZyI6cmV0dXJuIlN0YXJ0aW5nLi4uIjtjYXNlInN0b3BwaW5nIjpyZXR1cm4iU3RvcHBpbmcuLi4iO2Nhc2UiZmFpbGVkIjpyZXR1cm4iRmFpbGVkIjtjYXNlIm5vdC1kZXBsb3llZCI6cmV0dXJuIk5vdCBEZXBsb3llZCI7ZGVmYXVsdDpyZXR1cm4gbH19LCJkaXNwbGF5U3RhdHVzIiksaT10aGlzLnNlcnZpY2VzU3RhdGUucGxhdGZvcm1TZXJ2aWNlcy5maWx0ZXIobD0+bC5zdGF0dXM9PT0icnVubmluZyJ8fGwuc3RhdHVzPT09InN0YXJ0aW5nInx8bC5zdGF0dXM9PT0ic3RvcHBpbmcifHxsLmlzQ29yZSksbz10aGlzLnNlcnZpY2VzU3RhdGUucGxhdGZvcm1TZXJ2aWNlcy5maWx0ZXIobD0+IWwuaXNDb3JlJiYobC5zdGF0dXM9PT0ibm90LWRlcGxveWVkInx8bC5zdGF0dXM9PT0ic3RvcHBlZCJ8fGwuc3RhdHVzPT09ImZhaWxlZCIpKSxuPWkubWFwKGw9Pih7bmFtZTpsLmRpc3BsYXlOYW1lLHN0YXR1czpyKGwuc3RhdHVzKSxydW5uaW5nOmwuc3RhdHVzPT09InJ1bm5pbmciLHR5cGU6bC50eXBlfSkpO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+U2VydmljZXM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8ZGl2IGNsYXNzPSJwYWdlLWFjdGlvbnMiPgogICAgICAgIDxidXR0b24gY2xhc3M9ImRlcGxveS1idXR0b24iIEBjbGljaz0keygpPT57dGhpcy5jdXJyZW50Vmlldz0iY3JlYXRlIn19PgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBEZXBsb3kgU2VydmljZQogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPHN6LXNlcnZpY2VzLWxpc3QtdmlldwogICAgICAgIC5zZXJ2aWNlcz0ke3R9CiAgICAgICAgQHNlcnZpY2UtY2xpY2s9JHtsPT57dGhpcy5zZWxlY3RlZFNlcnZpY2VOYW1lPWwuZGV0YWlsLm5hbWV8fGwuZGV0YWlsLnNlcnZpY2U/Lm5hbWUsUHQuZGlzcGF0Y2hBY3Rpb24oZTVhLHtuYW1lOnRoaXMuc2VsZWN0ZWRTZXJ2aWNlTmFtZX0pLFB0LmRpc3BhdGNoQWN0aW9uKGk1YSx7bmFtZTp0aGlzLnNlbGVjdGVkU2VydmljZU5hbWV9KSxQdC5kaXNwYXRjaEFjdGlvbihvNWEse25hbWU6dGhpcy5zZWxlY3RlZFNlcnZpY2VOYW1lfSksdGhpcy5jdXJyZW50Vmlldz0iZGV0YWlsIn19CiAgICAgICAgQHNlcnZpY2UtYWN0aW9uPSR7bD0+dGhpcy5oYW5kbGVTZXJ2aWNlQWN0aW9uKGwpfQogICAgICA+PC9zei1zZXJ2aWNlcy1saXN0LXZpZXc+CiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZyBzdHlsZT0ibWFyZ2luLXRvcDogMzJweDsiPlBsYXRmb3JtIFNlcnZpY2VzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOiA1MDBweDsiPgogICAgICAgICR7bi5sZW5ndGg+MD93YAogICAgICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQKICAgICAgICAgICAgLnNlcnZpY2VzPSR7bn0KICAgICAgICAgICAgQHNlcnZpY2UtY2xpY2s9JHtsPT57bGV0IGQ9bC5kZXRhaWwudHlwZXx8dGhpcy5zZXJ2aWNlc1N0YXRlLnBsYXRmb3JtU2VydmljZXMuZmluZChjPT5jLmRpc3BsYXlOYW1lPT09bC5kZXRhaWwubmFtZSk/LnR5cGU7ZCYmdGhpcy5uYXZpZ2F0ZVRvUGxhdGZvcm1EZXRhaWwoZCl9fQogICAgICAgICAgPjwvc3otcGxhdGZvcm0tc2VydmljZXMtY2FyZD4KICAgICAgICBgOiIifQogICAgICAgICR7by5sZW5ndGg+MD93YAogICAgICAgICAgPGRpdiBzdHlsZT0iCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTEsICMwOTA5MGIpOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgICBtYXJnaW4tdG9wOiAke24ubGVuZ3RoPjA/IjEycHgiOiIwIn07CiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICAgICI+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOyBtYXJnaW4tYm90dG9tOiAxMnB4OyI+QXZhaWxhYmxlIOKAlCBub3QgaW4gdXNlPC9kaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTJweDsiPgogICAgICAgICAgICAgICR7by5tYXAobD0+d2AKICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZzogOHB4IDA7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlOyIKICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVUb1BsYXRmb3JtRGV0YWlsKGwudHlwZSl9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9IndpZHRoOiA4cHg7IGhlaWdodDogOHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTMsICMzZjNmNDYpOyBmbGV4LXNocmluazogMDsiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsiPiR7bC5kaXNwbGF5TmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtMywgIzNmM2Y0Nik7Ij4ke3IobC5zdGF0dXMpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBkZXBsb3lGcm9tVGVtcGxhdGUodCl7bGV0IHI9dC5pZHx8dC5uYW1lLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW15hLXowLTktXS9nLCItIiksaT17fTtpZih0LmVudlZhcnMpZm9yKGxldCBuIG9mIHQuZW52VmFycyluLmtleSYmbi52YWx1ZSYmKGlbbi5rZXldPW4udmFsdWUpO2xldCBvPXtuYW1lOnIsaW1hZ2U6dC5pbWFnZSxwb3J0OnQucG9ydHx8ODAsZW52VmFyczppLGVuYWJsZU1vbmdvREI6dC5lbmFibGVNb25nb0RCfHwhMSxlbmFibGVTMzp0LmVuYWJsZVMzfHwhMSxlbmFibGVDbGlja0hvdXNlOnQuZW5hYmxlQ2xpY2tIb3VzZXx8ITEsZW5hYmxlUmVkaXM6dC5lbmFibGVSZWRpc3x8ITEsZW5hYmxlTWFyaWFEQjp0LmVuYWJsZU1hcmlhREJ8fCExfTthd2FpdCBQdC5kaXNwYXRjaEFjdGlvbihSZXQse2NvbmZpZzpvfSksdGhpcy5wZW5kaW5nVGVtcGxhdGU9bnVsbCx0aGlzLmN1cnJlbnRWaWV3PSJsaXN0In1yZW5kZXJDcmVhdGVWaWV3KCl7aWYodGhpcy5wZW5kaW5nVGVtcGxhdGUpe2xldCB0PXRoaXMucGVuZGluZ1RlbXBsYXRlO3JldHVybiB3YAogICAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5EZXBsb3kgJHt0Lm5hbWV9PC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgICA8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6IDYwMHB4OyBtYXJnaW46IDAgYXV0bzsiPgogICAgICAgICAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMSwgIzA5MDkwYik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOyBib3JkZXItcmFkaXVzOiA4cHg7IHBhZGRpbmc6IDI0cHg7IG1hcmdpbi1ib3R0b206IDE2cHg7Ij4KICAgICAgICAgICAgPGgzIHN0eWxlPSJtYXJnaW46IDAgMCA4cHggMDsgZm9udC1zaXplOiAxOHB4OyI+JHt0Lm5hbWV9PC9oMz4KICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbjogMCAwIDE2cHggMDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOyBmb250LXNpemU6IDE0cHg7Ij4ke3QuZGVzY3JpcHRpb259PC9wPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogMTJweDsgZm9udC1zaXplOiAxM3B4OyI+CiAgICAgICAgICAgICAgPGRpdj48c3BhbiBzdHlsZT0iY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOyI+SW1hZ2U6PC9zcGFuPiA8c3Ryb25nPiR7dC5pbWFnZX08L3N0cm9uZz48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PjxzcGFuIHN0eWxlPSJjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7Ij5Qb3J0Ojwvc3Bhbj4gPHN0cm9uZz4ke3QucG9ydH08L3N0cm9uZz48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PjxzcGFuIHN0eWxlPSJjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7Ij5TZXJ2aWNlIE5hbWU6PC9zcGFuPiA8c3Ryb25nPiR7dC5pZH08L3N0cm9uZz48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PjxzcGFuIHN0eWxlPSJjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7Ij5DYXRlZ29yeTo8L3NwYW4+IDxzdHJvbmc+JHt0LmNhdGVnb3J5fTwvc3Ryb25nPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgJHt0LmVuYWJsZU1vbmdvREJ8fHQuZW5hYmxlUzN8fHQuZW5hYmxlQ2xpY2tIb3VzZXx8dC5lbmFibGVSZWRpc3x8dC5lbmFibGVNYXJpYURCP3dgCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMTJweDsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7Ij4KICAgICAgICAgICAgICAgIFBsYXRmb3JtIFNlcnZpY2VzOgogICAgICAgICAgICAgICAgJHt0LmVuYWJsZU1vbmdvREI/d2A8c3BhbiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA4cHg7Ij5Nb25nb0RCPC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgICAke3QuZW5hYmxlUzM/d2A8c3BhbiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA4cHg7Ij5TMzwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICAgJHt0LmVuYWJsZUNsaWNrSG91c2U/d2A8c3BhbiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA4cHg7Ij5DbGlja0hvdXNlPC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgICAke3QuZW5hYmxlUmVkaXM/d2A8c3BhbiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA4cHg7Ij5SZWRpczwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICAgJHt0LmVuYWJsZU1hcmlhREI/d2A8c3BhbiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA4cHg7Ij5NYXJpYURCPC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGdhcDogMTJweDsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkZXBsb3ktYnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOyBjb2xvcjogaW5oZXJpdDsiIEBjbGljaz0keygpPT57dGhpcy5wZW5kaW5nVGVtcGxhdGU9bnVsbCx0aGlzLmN1cnJlbnRWaWV3PSJsaXN0In19PkNhbmNlbDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkZXBsb3ktYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5kZXBsb3lGcm9tVGVtcGxhdGUodCl9PkRlcGxveSAke3QubmFtZX08L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgfXJldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+Q3JlYXRlIFNlcnZpY2U8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otc2VydmljZS1jcmVhdGUtdmlldwogICAgICAgIC5yZWdpc3RyaWVzPSR7W119CiAgICAgICAgQGNyZWF0ZS1zZXJ2aWNlPSR7YXN5bmMgdD0+e2xldCByPXQuZGV0YWlsLGk9e25hbWU6ci5uYW1lLGltYWdlOnIuaW1hZ2UscG9ydDpyLnBvcnRzPy5bMF0/LmNvbnRhaW5lclBvcnQ/cGFyc2VJbnQoci5wb3J0c1swXS5jb250YWluZXJQb3J0LDEwKTo4MCxlbnZWYXJzOnIuZW52VmFycz8ucmVkdWNlKChvLG4pPT4obi5rZXkmJihvW24ua2V5XT1uLnZhbHVlKSxvKSx7fSksZW5hYmxlTW9uZ29EQjpyLmVuYWJsZU1vbmdvREJ8fCExLGVuYWJsZVMzOnIuZW5hYmxlUzN8fCExLGVuYWJsZUNsaWNrSG91c2U6ci5lbmFibGVDbGlja0hvdXNlfHwhMSxlbmFibGVSZWRpczpyLmVuYWJsZVJlZGlzfHwhMSxlbmFibGVNYXJpYURCOnIuZW5hYmxlTWFyaWFEQnx8ITF9O2F3YWl0IFB0LmRpc3BhdGNoQWN0aW9uKFJldCx7Y29uZmlnOml9KSx0aGlzLmN1cnJlbnRWaWV3PSJsaXN0In19CiAgICAgICAgQGNhbmNlbD0keygpPT57dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9fQogICAgICA+PC9zei1zZXJ2aWNlLWNyZWF0ZS12aWV3PgogICAgYH1yZW5kZXJEZXRhaWxWaWV3KCl7bGV0IHQ9dGhpcy5zZXJ2aWNlc1N0YXRlLmN1cnJlbnRTZXJ2aWNlLHI9dD9CRmEodCk6bnVsbCxpPXRoaXMuc2VydmljZXNTdGF0ZS5jdXJyZW50U2VydmljZVN0YXRzP0hGYSh0aGlzLnNlcnZpY2VzU3RhdGUuY3VycmVudFNlcnZpY2VTdGF0cyk6VkZhLG89cUZhKHRoaXMuc2VydmljZXNTdGF0ZS5jdXJyZW50U2VydmljZUxvZ3MpLG49dD90aGlzLmFwcFN0b3JlU3RhdGUudXBncmFkZWFibGVTZXJ2aWNlcy5maW5kKGM9PmMuc2VydmljZU5hbWU9PT10Lm5hbWUpOm51bGwsbD10P3RoaXMuYXBwU3RvcmVTdGF0ZS51cGdyYWRlT3BlcmF0aW9ucy5maW5kKGM9PmMuc2VydmljZU5hbWU9PT10Lm5hbWUmJmMuc3RhdHVzPT09InJ1bm5pbmciKTpudWxsLGQ9dD90aGlzLmFwcFN0b3JlU3RhdGUudXBncmFkZU9wZXJhdGlvbnMuZmluZChjPT5jLnNlcnZpY2VOYW1lPT09dC5uYW1lKTpudWxsO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+U2VydmljZSBEZXRhaWxzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgJHtsP3RoaXMucmVuZGVyVXBncmFkZU9wZXJhdGlvbihsKToiIn0KICAgICAgJHshbCYmZD8uc3RhdHVzPT09ImZhaWxlZCI/dGhpcy5yZW5kZXJVcGdyYWRlT3BlcmF0aW9uKGQpOiIifQogICAgICAke24/d2AKICAgICAgICA8ZGl2IHN0eWxlPSIKICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpLCByZ2JhKDEzOSwgOTIsIDI0NiwgMC4xKSk7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTcsICNlNGU0ZTcpOyI+CiAgICAgICAgICAgICAgVXBkYXRlIGF2YWlsYWJsZTogdiR7bi5jdXJyZW50VmVyc2lvbn0gJnJhcnI7IHYke24ubGF0ZXN0VmVyc2lvbn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOyBtYXJnaW4tdG9wOiA0cHg7Ij4KICAgICAgICAgICAgICAke24uaGFzTWlncmF0aW9uPyJNaWdyYXRpb24gc2NyaXB0IGF2YWlsYWJsZSI6IkNvbmZpZy1vbmx5IHVwZ3JhZGUifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICBjbGFzcz0iZGVwbG95LWJ1dHRvbiIKICAgICAgICAgICAgc3R5bGU9InBhZGRpbmc6IDhweCAxNnB4OyBmb250LXNpemU6IDEzcHg7IgogICAgICAgICAgICA/ZGlzYWJsZWQ9JHshIWx9CiAgICAgICAgICAgIEBjbGljaz0ke2FzeW5jKCk9Pnthd2FpdCBnby5kaXNwYXRjaEFjdGlvbihNNWEse3NlcnZpY2VOYW1lOm4uc2VydmljZU5hbWUsdGFyZ2V0VmVyc2lvbjpuLmxhdGVzdFZlcnNpb259KX19CiAgICAgICAgICA+JHtsPyJVcGdyYWRpbmcuLi4iOiJVcGdyYWRlIn08L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgICAgPHN6LXNlcnZpY2UtZGV0YWlsLXZpZXcKICAgICAgICAuc2VydmljZT0ke3J9CiAgICAgICAgLmxvZ3M9JHtvfQogICAgICAgIC5zdGF0cz0ke2l9CiAgICAgICAgQGJhY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9Imxpc3QifX0KICAgICAgICBAc2VydmljZS1hY3Rpb249JHtjPT50aGlzLmhhbmRsZVNlcnZpY2VBY3Rpb24oYyl9CiAgICAgICAgQHJlcXVlc3Qtd29ya3NwYWNlPSR7YXN5bmMgYz0+e2xldCBwPWMuZGV0YWlsPy5zZXJ2aWNlPy5uYW1lfHx0aGlzLnNlbGVjdGVkU2VydmljZU5hbWUsdT1xci5nZXRTdGF0ZSgpLmlkZW50aXR5O2lmKCEoIXB8fCF1KSl0cnl7bGV0IG09bmV3IEZpZShwLHUpO2F3YWl0IG0uaW5pdCgpO2xldCB2PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3Rvcigic3otc2VydmljZS1kZXRhaWwtdmlldyIpO3YmJih2LndvcmtzcGFjZUVudmlyb25tZW50PW0pLHRoaXMud29ya3NwYWNlT3Blbj0hMCx0aGlzLmNsYXNzTGlzdC5hZGQoIndvcmtzcGFjZS1tb2RlIil9Y2F0Y2gobSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIG9wZW4gd29ya3NwYWNlOiIsbSl9fX0KICAgICAgICBAYmFjaz0keygpPT57dGhpcy53b3Jrc3BhY2VPcGVuPSExLHRoaXMuY2xhc3NMaXN0LnJlbW92ZSgid29ya3NwYWNlLW1vZGUiKSx0aGlzLmN1cnJlbnRWaWV3PSJsaXN0In19CiAgICAgID48L3N6LXNlcnZpY2UtZGV0YWlsLXZpZXc+CiAgICBgfXJlbmRlclVwZ3JhZGVPcGVyYXRpb24odCl7bGV0IHI9dC5zdGF0dXM9PT0iZmFpbGVkIj8iI2Y4NzE3MSI6IiM2MGE1ZmEiO3JldHVybiB3YAogICAgICA8ZGl2IHN0eWxlPSIKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0xLCAjMDkwOTBiKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3J9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICI+CiAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IDE2cHg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyI+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS03LCAjZTRlNGU3KTsiPgogICAgICAgICAgICAgIFVwZ3JhZGUgJHt0LmZyb21WZXJzaW9ufSAmcmFycjsgJHt0LnRhcmdldFZlcnNpb259OiAke3Quc3RlcH0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOyBtYXJnaW4tdG9wOiA0cHg7Ij4KICAgICAgICAgICAgICAke3Quc3RhdHVzPT09InJ1bm5pbmciPyJPcGVyYXRpb24gaXMgcnVubmluZyBpbiB0aGUgYmFja2dyb3VuZC4iOnQuZXJyb3J8fCJPcGVyYXRpb24gZmluaXNoZWQuIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHg7IGNvbG9yOiAke3J9OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogMC4wNGVtOyI+CiAgICAgICAgICAgICR7dC5zdGF0dXN9CiAgICAgICAgICA8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0iCiAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OwogICAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMCwgIzAzMDMwNSk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7CiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICAgIG1heC1oZWlnaHQ6IDEzMHB4OwogICAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgIj4ke3QucHJvZ3Jlc3NMaW5lcy5zbGljZSgtOCkuam9pbihgCmApfTwvZGl2PgogICAgICAgICR7dC53YXJuaW5ncy5sZW5ndGg+MD93YAogICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMTBweDsgY29sb3I6ICNmYmJmMjQ7IGZvbnQtc2l6ZTogMTJweDsiPgogICAgICAgICAgICAke3Qud2FybmluZ3Muam9pbigiIHwgIil9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQmFja3Vwc1ZpZXcoKXtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkJhY2t1cHM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otc2VydmljZXMtYmFja3Vwcy12aWV3CiAgICAgICAgLnNjaGVkdWxlcz0ke3RoaXMuYmFja3Vwc1N0YXRlLnNjaGVkdWxlc30KICAgICAgICAuYmFja3Vwcz0ke3RoaXMuYmFja3Vwc1N0YXRlLmJhY2t1cHN9CiAgICAgICAgQGNyZWF0ZS1zY2hlZHVsZT0ke3Q9Pnt0Mi5kaXNwYXRjaEFjdGlvbihoNWEse2NvbmZpZzp0LmRldGFpbH0pfX0KICAgICAgICBAcnVuLW5vdz0ke3Q9Pnt0Mi5kaXNwYXRjaEFjdGlvbihtNWEse3NjaGVkdWxlSWQ6dC5kZXRhaWwuc2NoZWR1bGVJZH0pfX0KICAgICAgICBAZGVsZXRlLWJhY2t1cD0ke3Q9Pnt0Mi5kaXNwYXRjaEFjdGlvbihmNWEse2JhY2t1cElkOnQuZGV0YWlsLmJhY2t1cElkfSl9fQogICAgICA+PC9zei1zZXJ2aWNlcy1iYWNrdXBzLXZpZXc+CiAgICBgfW5hdmlnYXRlVG9QbGF0Zm9ybURldGFpbCh0KXt0aGlzLmN1cnJlbnRWaWV3PSJsaXN0Iix0aGlzLnNlbGVjdGVkUGxhdGZvcm1UeXBlPXQsUHQuc2V0U3RhdGUoey4uLlB0LmdldFN0YXRlKCksY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3M6W119KTtsZXQgcj10O1B0LmRpc3BhdGNoQWN0aW9uKEVpZSx7c2VydmljZVR5cGU6cn0pLFB0LmRpc3BhdGNoQWN0aW9uKG41YSx7c2VydmljZVR5cGU6cn0pLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuY3VycmVudFZpZXc9InBsYXRmb3JtLWRldGFpbCJ9KX1yZW5kZXJQbGF0Zm9ybURldGFpbFZpZXcoKXtsZXQgdD10aGlzLnNlcnZpY2VzU3RhdGUucGxhdGZvcm1TZXJ2aWNlcy5maW5kKGQ9PmQudHlwZT09PXRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGUpLHI9dGhpcy5zZXJ2aWNlc1N0YXRlLmN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VTdGF0cyxpPXtjcHU6cj9NYXRoLnJvdW5kKHIuY3B1UGVyY2VudCk6MCxtZW1vcnk6cj9NYXRoLnJvdW5kKHIubWVtb3J5UGVyY2VudCk6MCxzdG9yYWdlOjAsY29ubmVjdGlvbnM6dm9pZCAwfSxuPXQ/e21vbmdvZGI6e2hvc3Q6Im9uZWJveC1tb25nb2RiIixwb3J0OjI3MDE3LHZlcnNpb246IjQuNCIsY29uZmlnOntlbmdpbmU6IldpcmVkVGlnZXIiLGF1dGhFbmFibGVkOiEwfX0sbWluaW86e2hvc3Q6Im9uZWJveC1taW5pbyIscG9ydDo5ZTMsdmVyc2lvbjoibGF0ZXN0Iixjb25maWc6e2NvbnNvbGVQb3J0OjkwMDEscmVnaW9uOiJ1cy1lYXN0LTEifX0sY2xpY2tob3VzZTp7aG9zdDoib25lYm94LWNsaWNraG91c2UiLHBvcnQ6ODEyMyx2ZXJzaW9uOiJsYXRlc3QiLGNvbmZpZzp7bmF0aXZlUG9ydDo5ZTMsaHR0cFBvcnQ6ODEyM319LHNtYXJ0cHJveHk6e2hvc3Q6Im9uZWJveC1zbWFydHByb3h5Iixwb3J0OjgwLHZlcnNpb246ImxhdGVzdCIsY29uZmlnOntodHRwc1BvcnQ6NDQzLGFkbWluQXBpOjIwMTl9fSxtYXJpYWRiOntob3N0OiJvbmVib3gtbWFyaWFkYiIscG9ydDozMzA2LHZlcnNpb246IjExIixjb25maWc6e2VuZ2luZToiSW5ub0RCIixhdXRoRW5hYmxlZDohMH19LHJlZGlzOntob3N0OiJvbmVib3gtcmVkaXMiLHBvcnQ6NjM3OSx2ZXJzaW9uOiI3LWFscGluZSIsY29uZmlnOnthcHBlbmRvbmx5OiEwLG1heERhdGFiYXNlczoxNn19fVt0LnR5cGVdfHx7aG9zdDoidW5rbm93biIscG9ydDowLHZlcnNpb246IiIsY29uZmlnOnt9fTp7aG9zdDoiIixwb3J0OjAsdmVyc2lvbjoiIixjb25maWc6e319LGw9cyhkPT57c3dpdGNoKGQpe2Nhc2UicnVubmluZyI6cmV0dXJuInJ1bm5pbmciO2Nhc2UiZmFpbGVkIjpyZXR1cm4iZXJyb3IiO2RlZmF1bHQ6cmV0dXJuInN0b3BwZWQifX0sIm1hcFBsYXRmb3JtU3RhdHVzIik7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5QbGF0Zm9ybSBTZXJ2aWNlPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPGRpdiBjbGFzcz0icGFnZS1hY3Rpb25zIiBzdHlsZT0ianVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyI+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGVwbG95LWJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsgY29sb3I6IGluaGVyaXQ7IiBAY2xpY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9Imxpc3QifX0+CiAgICAgICAgICAmbGFycjsgQmFjayB0byBTZXJ2aWNlcwogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXcKICAgICAgICAuc2VydmljZT0ke3Q/e2lkOnQudHlwZSxuYW1lOnQuZGlzcGxheU5hbWUsdHlwZTp0LnR5cGUsc3RhdHVzOmwodC5zdGF0dXMpLHZlcnNpb246bi52ZXJzaW9uLGhvc3Q6bi5ob3N0LHBvcnQ6bi5wb3J0LGNvbmZpZzpuLmNvbmZpZyxtZXRyaWNzOml9Om51bGx9CiAgICAgICAgLmxvZ3M9JHt0aGlzLnNlcnZpY2VzU3RhdGUuY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3MubWFwKGQ9Pih7dGltZXN0YW1wOm5ldyBEYXRlKGQudGltZXN0YW1wKS50b0lTT1N0cmluZygpLGxldmVsOmQubGV2ZWwsbWVzc2FnZTpkLm1lc3NhZ2V9KSl9CiAgICAgICAgQGJhY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9Imxpc3QifX0KICAgICAgICBAc3RhcnQ9JHthc3luYygpPT57YXdhaXQgUHQuZGlzcGF0Y2hBY3Rpb24oT2V0LHtzZXJ2aWNlVHlwZTp0aGlzLnNlbGVjdGVkUGxhdGZvcm1UeXBlfSksUHQuZGlzcGF0Y2hBY3Rpb24oRWllLHtzZXJ2aWNlVHlwZTp0aGlzLnNlbGVjdGVkUGxhdGZvcm1UeXBlfSl9fQogICAgICAgIEBzdG9wPSR7YXN5bmMoKT0+e2F3YWl0IFB0LmRpc3BhdGNoQWN0aW9uKEZldCx7c2VydmljZVR5cGU6dGhpcy5zZWxlY3RlZFBsYXRmb3JtVHlwZX0pfX0KICAgICAgICBAcmVzdGFydD0ke2FzeW5jKCk9Pnthd2FpdCBQdC5kaXNwYXRjaEFjdGlvbihGZXQse3NlcnZpY2VUeXBlOnRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGV9KSxhd2FpdCBQdC5kaXNwYXRjaEFjdGlvbihPZXQse3NlcnZpY2VUeXBlOnRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGV9KSxQdC5kaXNwYXRjaEFjdGlvbihFaWUse3NlcnZpY2VUeXBlOnRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGV9KX19CiAgICAgID48L3N6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXc+CiAgICBgfWFzeW5jIGhhbmRsZVNlcnZpY2VBY3Rpb24odCl7bGV0IHI9dC5kZXRhaWwuYWN0aW9uLGk9dC5kZXRhaWwuc2VydmljZT8ubmFtZXx8dC5kZXRhaWwubmFtZXx8dGhpcy5zZWxlY3RlZFNlcnZpY2VOYW1lO3N3aXRjaChyKXtjYXNlInN0YXJ0Ijphd2FpdCBQdC5kaXNwYXRjaEFjdGlvbihhNWEse25hbWU6aX0pO2JyZWFrO2Nhc2Uic3RvcCI6YXdhaXQgUHQuZGlzcGF0Y2hBY3Rpb24ocjVhLHtuYW1lOml9KTticmVhaztjYXNlInJlc3RhcnQiOmF3YWl0IFB0LmRpc3BhdGNoQWN0aW9uKHM1YSx7bmFtZTppfSk7YnJlYWs7Y2FzZSJkZWxldGUiOmF3YWl0IFB0LmRpc3BhdGNoQWN0aW9uKHQ1YSx7bmFtZTppfSksdGhpcy5jdXJyZW50Vmlldz0ibGlzdCI7YnJlYWt9fX07aXI9QXIoaWhhKSxkdHQ9bmV3IFdlYWtNYXAsdXR0PW5ldyBXZWFrTWFwLHB0dD1uZXcgV2Vha01hcCxmdHQ9bmV3IFdlYWtNYXAsaHR0PW5ldyBXZWFrTWFwLG10dD1uZXcgV2Vha01hcCxndHQ9bmV3IFdlYWtNYXAsYnR0PW5ldyBXZWFrTWFwLHl0KGlyLDQsInNlcnZpY2VzU3RhdGUiLHNoYSx2byxkdHQpLHl0KGlyLDQsImJhY2t1cHNTdGF0ZSIscmhhLHZvLHV0dCkseXQoaXIsNCwiY3VycmVudFZpZXciLGFoYSx2byxwdHQpLHl0KGlyLDQsInNlbGVjdGVkU2VydmljZU5hbWUiLHRoYSx2byxmdHQpLHl0KGlyLDQsInNlbGVjdGVkUGxhdGZvcm1UeXBlIixlaGEsdm8saHR0KSx5dChpciw0LCJ3b3Jrc3BhY2VPcGVuIixKNWEsdm8sbXR0KSx5dChpciw0LCJwZW5kaW5nVGVtcGxhdGUiLFE1YSx2byxndHQpLHl0KGlyLDQsImFwcFN0b3JlU3RhdGUiLFg1YSx2byxidHQpLHZvPXl0KGlyLDAsIk9iVmlld1NlcnZpY2VzIixvaGEsdm8pLHModm8sIk9iVmlld1NlcnZpY2VzIiksdnIodm8sInN0eWxlcyIsW2guZGVmYXVsdFN0eWxlcyxYcyxYYAogICAgICAucGFnZS1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b24gc3ZnIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KC53b3Jrc3BhY2UtbW9kZSkgewogICAgICAgIG1heC13aWR0aDogbm9uZTsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIH0KCiAgICAgIDpob3N0KC53b3Jrc3BhY2UtbW9kZSkgb2Itc2VjdGlvbmhlYWRpbmcgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIGBdKSxWZShpciwxLHZvKTt2dHQ9dm99KTt2YXIgZmhhPXt9O2x0KGZoYSx7T2JWaWV3TmV0d29yazooKT0+a3R0fSk7dmFyIGxoYSxjaGEsZGhhLHVoYSxwaGEsWG4seXR0LHd0dCxNdHQsZmwsa3R0LFN0dD1mKGFzeW5jKCk9PnttbygpO2UyKCk7YXdhaXQgS24oKTtsZSgpO3BoYT1baWUoIm9iLXZpZXctbmV0d29yayIpXTtmbD1jbGFzcyBmbCBleHRlbmRzKHVoYT1wZSxkaGE9W0soKV0sY2hhPVtLKCldLGxoYT1bSygpXSx1aGEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtSdCh0aGlzLHl0dCxWZShYbiw4LHRoaXMse3RhcmdldHM6W10sc3RhdHM6bnVsbCx0cmFmZmljU3RhdHM6bnVsbCxkbnNSZWNvcmRzOltdLGRvbWFpbnM6W10sZ2F0ZXdheURvbWFpbnM6W10sZ2F0ZXdheURuc1JlY29yZHM6W10sY2VydGlmaWNhdGVzOltdfSkpLFZlKFhuLDExLHRoaXMpO1J0KHRoaXMsd3R0LFZlKFhuLDEyLHRoaXMsInByb3h5IikpLFZlKFhuLDE1LHRoaXMpO1J0KHRoaXMsTXR0LFZlKFhuLDE2LHRoaXMsIiIpKSxWZShYbiwxOSx0aGlzKTtsZXQgdD15YS5zZWxlY3Qocj0+cikuc3Vic2NyaWJlKHI9Pnt0aGlzLm5ldHdvcmtTdGF0ZT1yfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgUHJvbWlzZS5hbGwoW3lhLmRpc3BhdGNoQWN0aW9uKEJldCxudWxsKSx5YS5kaXNwYXRjaEFjdGlvbihJRyxudWxsKSx5YS5kaXNwYXRjaEFjdGlvbihORyxudWxsKSx5YS5kaXNwYXRjaEFjdGlvbihsNWEsbnVsbCkseWEuZGlzcGF0Y2hBY3Rpb24oSGV0LG51bGwpLHlhLmRpc3BhdGNoQWN0aW9uKElpZSxudWxsKV0pfXJlbmRlcigpe3N3aXRjaCh0aGlzLmN1cnJlbnRUYWIpe2Nhc2UiZG5zIjpyZXR1cm4gdGhpcy5yZW5kZXJEbnNWaWV3KCk7Y2FzZSJkb21haW5zIjpyZXR1cm4gdGhpcy5yZW5kZXJEb21haW5zVmlldygpO2Nhc2UiZG9tYWluLWRldGFpbCI6cmV0dXJuIHRoaXMucmVuZGVyRG9tYWluRGV0YWlsVmlldygpO2RlZmF1bHQ6cmV0dXJuIHRoaXMucmVuZGVyUHJveHlWaWV3KCl9fXJlbmRlclByb3h5Vmlldygpe2xldCB0PXRoaXMubmV0d29ya1N0YXRlLnN0YXRzO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+TmV0d29yazwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxzei1uZXR3b3JrLXByb3h5LXZpZXcKICAgICAgICAucHJveHlTdGF0dXM9JHt0Py5wcm94eT8ucnVubmluZz8icnVubmluZyI6InN0b3BwZWQifQogICAgICAgIC5yb3V0ZUNvdW50PSR7U3RyaW5nKHQ/LnByb3h5Py5yb3V0ZXN8fDApfQogICAgICAgIC5jZXJ0aWZpY2F0ZUNvdW50PSR7U3RyaW5nKHQ/LnByb3h5Py5jZXJ0aWZpY2F0ZXN8fDApfQogICAgICAgIC50YXJnZXRDb3VudD0ke1N0cmluZyh0aGlzLm5ldHdvcmtTdGF0ZS50YXJnZXRzLmxlbmd0aCl9CiAgICAgICAgLnRhcmdldHM9JHt0aGlzLm5ldHdvcmtTdGF0ZS50YXJnZXRzLm1hcChyPT4oe3R5cGU6ci50eXBlLG5hbWU6ci5uYW1lLGRvbWFpbjpyLmRvbWFpbix0YXJnZXQ6YCR7ci50YXJnZXRIb3N0fToke3IudGFyZ2V0UG9ydH1gLHN0YXR1czpyLnN0YXR1c30pKX0KICAgICAgICAubG9ncz0ke1tdfQogICAgICAgIEByZWZyZXNoPSR7KCk9Pnt5YS5kaXNwYXRjaEFjdGlvbihCZXQsbnVsbCkseWEuZGlzcGF0Y2hBY3Rpb24oSUcsbnVsbCl9fQogICAgICA+PC9zei1uZXR3b3JrLXByb3h5LXZpZXc+CiAgICBgfXJlbmRlckRuc1ZpZXcoKXtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkROUyBSZWNvcmRzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LW5ldHdvcmstZG5zLXZpZXcKICAgICAgICAucmVjb3Jkcz0ke3RoaXMubmV0d29ya1N0YXRlLmRuc1JlY29yZHN9CiAgICAgICAgQHN5bmM9JHsoKT0+e3lhLmRpc3BhdGNoQWN0aW9uKGM1YSxudWxsKX19CiAgICAgICAgQGRlbGV0ZT0ke3Q9Pntjb25zb2xlLmxvZygiRGVsZXRlIEROUyByZWNvcmQ6Iix0LmRldGFpbCl9fQogICAgICA+PC9zei1uZXR3b3JrLWRucy12aWV3PgogICAgYH1yZW5kZXJEb21haW5zVmlldygpe2xldCB0PXRoaXMubmV0d29ya1N0YXRlLmNlcnRpZmljYXRlcztyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkRvbWFpbnM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otbmV0d29yay1kb21haW5zLXZpZXcKICAgICAgICAuZG9tYWlucz0ke3RoaXMubmV0d29ya1N0YXRlLmRvbWFpbnMubWFwKHI9PntsZXQgaT10LmZpbmQobj0+bi5jZXJ0RG9tYWluPT09ci5kb21haW4pLG89InBlbmRpbmciO3JldHVybiBpJiYoaS5pc1ZhbGlkP2kuZXhwaXJlc0F0JiZpLmV4cGlyZXNBdC1EYXRlLm5vdygpPDcyMCo2MCo2MCoxZTM/bz0iZXhwaXJpbmciOm89InZhbGlkIjpvPSJleHBpcmVkIikse2RvbWFpbjpyLmRvbWFpbixwcm92aWRlcjoiY2xvdWRmbGFyZSIsc2VydmljZUNvdW50OnIuc2VydmljZXM/Lmxlbmd0aHx8MCxjZXJ0aWZpY2F0ZVN0YXR1czpvfX0pfQogICAgICAgIEBzeW5jPSR7KCk9Pnt5YS5kaXNwYXRjaEFjdGlvbihIZXQsbnVsbCl9fQogICAgICAgIEB2aWV3PSR7cj0+e3RoaXMuc2VsZWN0ZWREb21haW49ci5kZXRhaWwuZG9tYWlufHxyLmRldGFpbCx0aGlzLmN1cnJlbnRUYWI9ImRvbWFpbi1kZXRhaWwifX0KICAgICAgPjwvc3otbmV0d29yay1kb21haW5zLXZpZXc+CiAgICBgfXJlbmRlckRvbWFpbkRldGFpbFZpZXcoKXtsZXQgdD10aGlzLm5ldHdvcmtTdGF0ZS5kb21haW5zLmZpbmQoaT0+aS5kb21haW49PT10aGlzLnNlbGVjdGVkRG9tYWluKSxyPXRoaXMubmV0d29ya1N0YXRlLmNlcnRpZmljYXRlcy5maW5kKGk9PmkuY2VydERvbWFpbj09PXRoaXMuc2VsZWN0ZWREb21haW4pO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+RG9tYWluIERldGFpbHM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otZG9tYWluLWRldGFpbC12aWV3CiAgICAgICAgLmRvbWFpbj0ke3Q/e2lkOnRoaXMuc2VsZWN0ZWREb21haW4sbmFtZTp0aGlzLnNlbGVjdGVkRG9tYWluLHN0YXR1czoiYWN0aXZlIix2ZXJpZmllZDohMCxjcmVhdGVkQXQ6IiJ9Om51bGx9CiAgICAgICAgLmNlcnRpZmljYXRlPSR7cj97aWQ6ci5kb21haW5JZCxkb21haW46ci5jZXJ0RG9tYWluLGlzc3VlcjoiTGV0J3MgRW5jcnlwdCIsdmFsaWRGcm9tOnIuaXNzdWVkQXQ/bmV3IERhdGUoci5pc3N1ZWRBdCkudG9JU09TdHJpbmcoKToiIix2YWxpZFVudGlsOnIuZXhwaXJlc0F0P25ldyBEYXRlKHIuZXhwaXJlc0F0KS50b0lTT1N0cmluZygpOiIiLGRheXNSZW1haW5pbmc6ci5leHBpcmVzQXQ/TWF0aC5mbG9vcigoci5leHBpcmVzQXQtRGF0ZS5ub3coKSkvKDE0NDAqNjAqMWUzKSk6MCxzdGF0dXM6ci5pc1ZhbGlkPyJ2YWxpZCI6ImV4cGlyZWQiLGF1dG9SZW5ldzohMH06bnVsbH0KICAgICAgICAuZG5zUmVjb3Jkcz0ke3RoaXMubmV0d29ya1N0YXRlLmRuc1JlY29yZHMuZmlsdGVyKGk9PmkuZG9tYWluPy5pbmNsdWRlcyh0aGlzLnNlbGVjdGVkRG9tYWluKSkubWFwKGk9Pih7aWQ6aS5pZHx8IiIsdHlwZTppLnR5cGUsbmFtZTppLmRvbWFpbix2YWx1ZTppLnZhbHVlLHR0bDozNjAwfSkpfQogICAgICAgIEByZW5ldy1jZXJ0aWZpY2F0ZT0keygpPT57eWEuZGlzcGF0Y2hBY3Rpb24oZDVhLHtkb21haW46dGhpcy5zZWxlY3RlZERvbWFpbn0pfX0KICAgICAgPjwvc3otZG9tYWluLWRldGFpbC12aWV3PgogICAgYH19O1huPUFyKHVoYSkseXR0PW5ldyBXZWFrTWFwLHd0dD1uZXcgV2Vha01hcCxNdHQ9bmV3IFdlYWtNYXAseXQoWG4sNCwibmV0d29ya1N0YXRlIixkaGEsZmwseXR0KSx5dChYbiw0LCJjdXJyZW50VGFiIixjaGEsZmwsd3R0KSx5dChYbiw0LCJzZWxlY3RlZERvbWFpbiIsbGhhLGZsLE10dCksZmw9eXQoWG4sMCwiT2JWaWV3TmV0d29yayIscGhhLGZsKSxzKGZsLCJPYlZpZXdOZXR3b3JrIiksdnIoZmwsInN0eWxlcyIsW2guZGVmYXVsdFN0eWxlcyxYcyxYYGBdKSxWZShYbiwxLGZsKTtrdHQ9Zmx9KTt2YXIgYmhhPXt9O2x0KGJoYSx7T2JWaWV3RG9tYWluczooKT0+Q3R0fSk7dmFyIGhoYSxtaGEsZ2hhLGc3LHp0dCxVNCxDdHQsdmhhPWYoYXN5bmMoKT0+e2UyKCk7bW8oKTthd2FpdCBLbigpO2xlKCk7Z2hhPVtpZSgib2Itdmlldy1kb21haW5zIildO1U0PWNsYXNzIFU0IGV4dGVuZHMobWhhPXBlLGhoYT1bSygpXSxtaGEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtSdCh0aGlzLHp0dCxWZShnNyw4LHRoaXMse3RhcmdldHM6W10sc3RhdHM6bnVsbCx0cmFmZmljU3RhdHM6bnVsbCxkbnNSZWNvcmRzOltdLGRvbWFpbnM6W10sZ2F0ZXdheURvbWFpbnM6W10sZ2F0ZXdheURuc1JlY29yZHM6W10sY2VydGlmaWNhdGVzOltdfSkpLFZlKGc3LDExLHRoaXMpO2xldCB0PXlhLnNlbGVjdChyPT5yKS5zdWJzY3JpYmUocj0+e3RoaXMubmV0d29ya1N0YXRlPXJ9KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHQpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCB5YS5kaXNwYXRjaEFjdGlvbihxZXQsbnVsbCl9cmVuZGVyKCl7bGV0IHQ9dGhpcy5uZXR3b3JrU3RhdGUuZ2F0ZXdheURvbWFpbnM7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5Eb21haW5zPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPGRpdiBjbGFzcz0ibXV0ZWQiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxNnB4OyI+CiAgICAgICAgRG9tYWlucyBhcmUgbWFuYWdlZCBpbiBkY3JvdXRlci4gT25lYm94IHNob3dzIGdhdGV3YXkgdmlzaWJpbGl0eSBmb3IgZGVwbG95ZWQgc2VydmljZXMuCiAgICAgIDwvZGl2PgogICAgICAke3QubGVuZ3RoP3dgCiAgICAgICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICAgICAgLmhlYWRpbmcxPSR7IkdhdGV3YXkgRG9tYWlucyJ9CiAgICAgICAgICAgICAgLmhlYWRpbmcyPSR7IkRvbWFpbnMgaW1wb3J0ZWQgZnJvbSBkY3JvdXRlciBnYXRld2F5IHZpc2liaWxpdHkifQogICAgICAgICAgICAgIC5kYXRhPSR7dH0KICAgICAgICAgICAgICAuc2hvd0NvbHVtbkZpbHRlcnM9JHshMH0KICAgICAgICAgICAgICAuZGlzcGxheUZ1bmN0aW9uPSR7cj0+KHtEb21haW46d2AKICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkb21haW4iPiR7ci5uYW1lfTwvZGl2PgogICAgICAgICAgICAgICAgICAgICR7ci5wcm92aWRlcklkP3dgPGRpdiBjbGFzcz0ibXV0ZWQiPlByb3ZpZGVyOiAke3IucHJvdmlkZXJJZH08L2Rpdj5gOiIifQogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGAsU291cmNlOndgPHNwYW4gY2xhc3M9ImJhZGdlIj4ke3Iuc291cmNlfHwiZGNyb3V0ZXIifTwvc3Bhbj5gLEF1dGhvcml0YXRpdmU6ci5hdXRob3JpdGF0aXZlPyJZZXMiOiJObyIsU2VydmljZXM6ci5zZXJ2aWNlQ291bnR8fDB9KX0KICAgICAgICAgICAgICAuZGF0YUFjdGlvbnM9JHtbe25hbWU6IlJlZnJlc2giLGljb25OYW1lOiJsdWNpZGU6cm90YXRlQ3ciLHR5cGU6WyJoZWFkZXIiXSxhY3Rpb25GdW5jOnMoYXN5bmMoKT0+e2F3YWl0IHlhLmRpc3BhdGNoQWN0aW9uKHFldCxudWxsKX0sImFjdGlvbkZ1bmMiKX0se25hbWU6Ik1hbmFnZSBpbiBkY3JvdXRlciIsaWNvbk5hbWU6Imx1Y2lkZTpleHRlcm5hbExpbmsiLHR5cGU6WyJpblJvdyIsImNvbnRleHRtZW51Il0sYWN0aW9uUmVsZXZhbmN5Q2hlY2tGdW5jOnMocj0+ISFyLm1hbmFnZVVybCwiYWN0aW9uUmVsZXZhbmN5Q2hlY2tGdW5jIiksYWN0aW9uRnVuYzpzKGFzeW5jIHI9PntyLml0ZW0ubWFuYWdlVXJsJiZnbG9iYWxUaGlzLm9wZW4oci5pdGVtLm1hbmFnZVVybCwiX2JsYW5rIiwibm9vcGVuZXIiKX0sImFjdGlvbkZ1bmMiKX1dfQogICAgICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICAgICAgYDp3YDxkaXYgY2xhc3M9ImVtcHR5Ij5ObyBnYXRld2F5IGRvbWFpbnMgZm91bmQuIENvbmZpZ3VyZSBhIGRjcm91dGVyIGdhdGV3YXkgaW4gU2V0dGluZ3MuPC9kaXY+YH0KICAgIGB9fTtnNz1BcihtaGEpLHp0dD1uZXcgV2Vha01hcCx5dChnNyw0LCJuZXR3b3JrU3RhdGUiLGhoYSxVNCx6dHQpLFU0PXl0KGc3LDAsIk9iVmlld0RvbWFpbnMiLGdoYSxVNCkscyhVNCwiT2JWaWV3RG9tYWlucyIpLHZyKFU0LCJzdHlsZXMiLFtoLmRlZmF1bHRTdHlsZXMsWHMsWGAKICAgICAgLmRvbWFpbiB7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KICAgICAgLm11dGVkIHsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICM3MTcxN2EpOyBmb250LXNpemU6IDEzcHg7IH0KICAgICAgLmJhZGdlIHsgYm9yZGVyLXJhZGl1czogOTk5cHg7IHBhZGRpbmc6IDNweCA4cHg7IGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTEsICNmNGY0ZjUpOyBmb250LXNpemU6IDEycHg7IH0KICAgICAgLmVtcHR5IHsgcGFkZGluZzogMzJweDsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgIzcxNzE3YSk7IH0KICAgIGBdKSxWZShnNywxLFU0KTtDdHQ9VTR9KTt2YXIgTWhhPXt9O2x0KE1oYSx7T2JWaWV3RG5zUmVjb3JkczooKT0+VHR0fSk7dmFyIHhoYSx5aGEsd2hhLGI3LF90dCxXNCxUdHQsa2hhPWYoYXN5bmMoKT0+e2UyKCk7bW8oKTthd2FpdCBLbigpO2F3YWl0IEk1KCk7bGUoKTt3aGE9W2llKCJvYi12aWV3LWRucy1yZWNvcmRzIildO1c0PWNsYXNzIFc0IGV4dGVuZHMoeWhhPXBlLHhoYT1bSygpXSx5aGEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtSdCh0aGlzLF90dCxWZShiNyw4LHRoaXMse3RhcmdldHM6W10sc3RhdHM6bnVsbCx0cmFmZmljU3RhdHM6bnVsbCxkbnNSZWNvcmRzOltdLGRvbWFpbnM6W10sZ2F0ZXdheURvbWFpbnM6W10sZ2F0ZXdheURuc1JlY29yZHM6W10sY2VydGlmaWNhdGVzOltdfSkpLFZlKGI3LDExLHRoaXMpO2xldCB0PXlhLnNlbGVjdChyPT5yKS5zdWJzY3JpYmUocj0+e3RoaXMubmV0d29ya1N0YXRlPXJ9KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHQpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCB5YS5kaXNwYXRjaEFjdGlvbihWZXQsbnVsbCl9cmVuZGVyKCl7bGV0IHQ9dGhpcy5uZXR3b3JrU3RhdGUuZ2F0ZXdheURuc1JlY29yZHM7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5ETlMgUmVjb3Jkczwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgICR7dC5sZW5ndGg/d2AKICAgICAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgICAgICAuaGVhZGluZzE9JHsiR2F0ZXdheSBETlMgUmVjb3JkcyJ9CiAgICAgICAgICAgICAgLmhlYWRpbmcyPSR7IkROUyByZWNvcmRzIHB1Ymxpc2hlZCB0aHJvdWdoIGRjcm91dGVyIGZvciBPbmVib3ggc2VydmljZXMifQogICAgICAgICAgICAgIC5kYXRhPSR7dH0KICAgICAgICAgICAgICAuc2hvd0NvbHVtbkZpbHRlcnM9JHshMH0KICAgICAgICAgICAgICAuZGlzcGxheUZ1bmN0aW9uPSR7cj0+KHtOYW1lOndgCiAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmFtZSI+JHtyLm5hbWV9PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgJHtyLmRvbWFpbk5hbWU/d2A8ZGl2IGNsYXNzPSJtdXRlZCI+JHtyLmRvbWFpbk5hbWV9PC9kaXY+YDoiIn0KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgLFR5cGU6d2A8c3BhbiBjbGFzcz0iYmFkZ2UiPiR7ci50eXBlfTwvc3Bhbj5gLFZhbHVlOndgPHNwYW4gY2xhc3M9InZhbHVlIj4ke3IudmFsdWV8fCItIn08L3NwYW4+YCxTdGF0dXM6d2A8c3BhbiBjbGFzcz0ke3Iuc3RhdHVzPT09Im1pc3NpbmciPyJtaXNzaW5nIjoiIn0+JHtyLnN0YXR1c308L3NwYW4+YCxTZXJ2aWNlOnIuc2VydmljZU5hbWV8fHIuYXBwSWR8fCItIn0pfQogICAgICAgICAgICAgIC5kYXRhQWN0aW9ucz0ke1t7bmFtZToiUmVmcmVzaCIsaWNvbk5hbWU6Imx1Y2lkZTpyb3RhdGVDdyIsdHlwZTpbImhlYWRlciJdLGFjdGlvbkZ1bmM6cyhhc3luYygpPT57YXdhaXQgeWEuZGlzcGF0Y2hBY3Rpb24oVmV0LG51bGwpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiVmlldyBzZXJ2aWNlIixpY29uTmFtZToibHVjaWRlOmJveGVzIix0eXBlOlsiaW5Sb3ciLCJjb250ZXh0bWVudSJdLGFjdGlvbkZ1bmM6cyhhc3luYygpPT57Ym8ubmF2aWdhdGVUb1ZpZXcoInNlcnZpY2VzIil9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJNYW5hZ2UgaW4gZGNyb3V0ZXIiLGljb25OYW1lOiJsdWNpZGU6ZXh0ZXJuYWxMaW5rIix0eXBlOlsiaW5Sb3ciLCJjb250ZXh0bWVudSJdLGFjdGlvblJlbGV2YW5jeUNoZWNrRnVuYzpzKHI9PiEhci5tYW5hZ2VVcmwsImFjdGlvblJlbGV2YW5jeUNoZWNrRnVuYyIpLGFjdGlvbkZ1bmM6cyhhc3luYyByPT57ci5pdGVtLm1hbmFnZVVybCYmZ2xvYmFsVGhpcy5vcGVuKHIuaXRlbS5tYW5hZ2VVcmwsIl9ibGFuayIsIm5vb3BlbmVyIil9LCJhY3Rpb25GdW5jIil9XX0KICAgICAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgICAgIGA6d2A8ZGl2IGNsYXNzPSJlbXB0eSI+Tm8gZ2F0ZXdheSBETlMgcmVjb3JkcyBmb3VuZC4gQ29uZmlndXJlIGEgZGNyb3V0ZXIgZ2F0ZXdheSBpbiBTZXR0aW5ncy48L2Rpdj5gfQogICAgYH19O2I3PUFyKHloYSksX3R0PW5ldyBXZWFrTWFwLHl0KGI3LDQsIm5ldHdvcmtTdGF0ZSIseGhhLFc0LF90dCksVzQ9eXQoYjcsMCwiT2JWaWV3RG5zUmVjb3JkcyIsd2hhLFc0KSxzKFc0LCJPYlZpZXdEbnNSZWNvcmRzIiksdnIoVzQsInN0eWxlcyIsW2guZGVmYXVsdFN0eWxlcyxYcyxYYAogICAgICAubmFtZSB7IGZvbnQtd2VpZ2h0OiA2MDA7IH0KICAgICAgLnZhbHVlIHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICM3MTcxN2EpOyBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsgfQogICAgICAubXV0ZWQgeyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgIzcxNzE3YSk7IGZvbnQtc2l6ZTogMTNweDsgfQogICAgICAuYmFkZ2UgeyBib3JkZXItcmFkaXVzOiA5OTlweDsgcGFkZGluZzogM3B4IDhweDsgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMSwgI2Y0ZjRmNSk7IGZvbnQtc2l6ZTogMTJweDsgfQogICAgICAubWlzc2luZyB7IGNvbG9yOiAjZGMyNjI2OyB9CiAgICAgIC5lbXB0eSB7IHBhZGRpbmc6IDMycHg7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICM3MTcxN2EpOyB9CiAgICBgXSksVmUoYjcsMSxXNCk7VHR0PVc0fSk7dmFyIFRoYT17fTtsdChUaGEse09iVmlld1JlZ2lzdHJpZXM6KCk9PkR0dH0pO3ZhciBTaGEsemhhLENoYSxfaGEsV2MsTHR0LCR0dCxHYyxEdHQsQXR0PWYoYXN5bmMoKT0+e21vKCk7ZTIoKTthd2FpdCBLbigpO2F3YWl0IEk1KCk7bGUoKTtfaGE9W2llKCJvYi12aWV3LXJlZ2lzdHJpZXMiKV07R2M9Y2xhc3MgR2MgZXh0ZW5kcyhDaGE9cGUsemhhPVtLKCldLFNoYT1bSygpXSxDaGEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtSdCh0aGlzLEx0dCxWZShXYyw4LHRoaXMse3Rva2VuczpbXSxyZWdpc3RyeVN0YXR1czpudWxsfSkpLFZlKFdjLDExLHRoaXMpO1J0KHRoaXMsJHR0LFZlKFdjLDEyLHRoaXMsIm9uZWJveCIpKSxWZShXYywxNSx0aGlzKTtsZXQgdD1hMi5zZWxlY3Qocj0+cikuc3Vic2NyaWJlKHI9Pnt0aGlzLnJlZ2lzdHJpZXNTdGF0ZT1yfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgYTIuZGlzcGF0Y2hBY3Rpb24oTmllLG51bGwpfXJlbmRlcigpe3JldHVybiB0aGlzLmN1cnJlbnRUYWI9PT0iZXh0ZXJuYWwiP3RoaXMucmVuZGVyRXh0ZXJuYWxWaWV3KCk6dGhpcy5yZW5kZXJPbmVib3hWaWV3KCl9cmVuZGVyT25lYm94Vmlldygpe3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+UmVnaXN0cmllczwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxzei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50CiAgICAgICAgLnN0YXR1cz0keyJydW5uaW5nIn0KICAgICAgICAucmVnaXN0cnlVcmw9JHsibG9jYWxob3N0OjUwMDAifQogICAgICAgIEBtYW5hZ2UtdG9rZW5zPSR7KCk9Pntiby5uYXZpZ2F0ZVRvVmlldygidG9rZW5zIil9fQogICAgICA+PC9zei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50PgogICAgYH1yZW5kZXJFeHRlcm5hbFZpZXcoKXtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkV4dGVybmFsIFJlZ2lzdHJpZXM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldwogICAgICAgIC5yZWdpc3RyaWVzPSR7W119CiAgICAgICAgQGFkZD0ke3Q9Pntjb25zb2xlLmxvZygiQWRkIGV4dGVybmFsIHJlZ2lzdHJ5OiIsdC5kZXRhaWwpfX0KICAgICAgPjwvc3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldz4KICAgIGB9fTtXYz1BcihDaGEpLEx0dD1uZXcgV2Vha01hcCwkdHQ9bmV3IFdlYWtNYXAseXQoV2MsNCwicmVnaXN0cmllc1N0YXRlIix6aGEsR2MsTHR0KSx5dChXYyw0LCJjdXJyZW50VGFiIixTaGEsR2MsJHR0KSxHYz15dChXYywwLCJPYlZpZXdSZWdpc3RyaWVzIixfaGEsR2MpLHMoR2MsIk9iVmlld1JlZ2lzdHJpZXMiKSx2cihHYywic3R5bGVzIixbaC5kZWZhdWx0U3R5bGVzLFhzLFhgYF0pLFZlKFdjLDEsR2MpO0R0dD1HY30pO3ZhciBBaGE9e307bHQoQWhhLHtPYlZpZXdUb2tlbnM6KCk9PkV0dH0pO3ZhciBMaGEsJGhhLERoYSx2NyxQdHQsRzQsRXR0LEl0dD1mKGFzeW5jKCk9PnttbygpO2UyKCk7YXdhaXQgS24oKTtsZSgpO0RoYT1baWUoIm9iLXZpZXctdG9rZW5zIildO0c0PWNsYXNzIEc0IGV4dGVuZHMoJGhhPXBlLExoYT1bSygpXSwkaGEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtSdCh0aGlzLFB0dCxWZSh2Nyw4LHRoaXMse3Rva2VuczpbXSxyZWdpc3RyeVN0YXR1czpudWxsfSkpLFZlKHY3LDExLHRoaXMpO2xldCB0PWEyLnNlbGVjdChyPT5yKS5zdWJzY3JpYmUocj0+e3RoaXMucmVnaXN0cmllc1N0YXRlPXJ9KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHQpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCBhMi5kaXNwYXRjaEFjdGlvbihOaWUsbnVsbCl9cmVuZGVyKCl7bGV0IHQ9dGhpcy5yZWdpc3RyaWVzU3RhdGUudG9rZW5zLmZpbHRlcihpPT5pLnR5cGU9PT0iZ2xvYmFsIikscj10aGlzLnJlZ2lzdHJpZXNTdGF0ZS50b2tlbnMuZmlsdGVyKGk9PmkudHlwZT09PSJjaSIpO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+VG9rZW5zPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LXRva2Vucy12aWV3CiAgICAgICAgLmdsb2JhbFRva2Vucz0ke3QubWFwKGk9Pih7aWQ6aS5pZCxuYW1lOmkubmFtZSx0eXBlOiJnbG9iYWwiLGNyZWF0ZWRBdDppLmNyZWF0ZWRBdCxsYXN0VXNlZDppLmxhc3RVc2VkfSkpfQogICAgICAgIC5jaVRva2Vucz0ke3IubWFwKGk9Pih7aWQ6aS5pZCxuYW1lOmkubmFtZSx0eXBlOiJjaSIsc2VydmljZTppLnNlcnZpY2UsY3JlYXRlZEF0OmkuY3JlYXRlZEF0LGxhc3RVc2VkOmkubGFzdFVzZWR9KSl9CiAgICAgICAgQGNyZWF0ZT0ke2k9PnthMi5kaXNwYXRjaEFjdGlvbih1NWEse3Rva2VuOntuYW1lOmBuZXctJHtpLmRldGFpbC50eXBlfS10b2tlbmAsdHlwZTppLmRldGFpbC50eXBlLHBlcm1pc3Npb25zOlsicHVsbCJdfX0pfX0KICAgICAgICBAZGVsZXRlPSR7aT0+e2EyLmRpc3BhdGNoQWN0aW9uKHA1YSx7dG9rZW5JZDppLmRldGFpbC5pZHx8aS5kZXRhaWwudG9rZW5JZH0pfX0KICAgICAgPjwvc3otdG9rZW5zLXZpZXc+CiAgICBgfX07djc9QXIoJGhhKSxQdHQ9bmV3IFdlYWtNYXAseXQodjcsNCwicmVnaXN0cmllc1N0YXRlIixMaGEsRzQsUHR0KSxHND15dCh2NywwLCJPYlZpZXdUb2tlbnMiLERoYSxHNCkscyhHNCwiT2JWaWV3VG9rZW5zIiksdnIoRzQsInN0eWxlcyIsW2guZGVmYXVsdFN0eWxlcyxYcyxYYGBdKSxWZSh2NywxLEc0KTtFdHQ9RzR9KTt2YXIgUmhhPXt9O2x0KFJoYSx7T2JWaWV3U2V0dGluZ3M6KCk9Pk90dH0pO3ZhciBQaGEsRWhhLEloYSxOaGEsWWMsTnR0LFJ0dCxLYyxPdHQsRnR0PWYoYXN5bmMoKT0+e21vKCk7ZTIoKTthd2FpdCBLbigpO2xlKCk7TmhhPVtpZSgib2Itdmlldy1zZXR0aW5ncyIpXTtLYz1jbGFzcyBLYyBleHRlbmRzKEloYT1wZSxFaGE9W0soKV0sUGhhPVtLKCldLEloYSl7Y29uc3RydWN0b3IoKXtzdXBlcigpO1J0KHRoaXMsTnR0LFZlKFljLDgsdGhpcyx7c2V0dGluZ3M6bnVsbCxiYWNrdXBQYXNzd29yZENvbmZpZ3VyZWQ6ITEsbWFuYWdlZERjUm91dGVyU3RhdHVzOm51bGx9KSksVmUoWWMsMTEsdGhpcyk7UnQodGhpcyxSdHQsVmUoWWMsMTIsdGhpcyx7aWRlbnRpdHk6bnVsbCxpc0xvZ2dlZEluOiExfSkpLFZlKFljLDE1LHRoaXMpO2xldCB0PUZzLnNlbGVjdChpPT5pKS5zdWJzY3JpYmUoaT0+e3RoaXMuc2V0dGluZ3NTdGF0ZT1pfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KTtsZXQgcj1xci5zZWxlY3QoaT0+aSkuc3Vic2NyaWJlKGk9Pnt0aGlzLmxvZ2luU3RhdGU9aX0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2gocil9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IEZzLmRpc3BhdGNoQWN0aW9uKGpldCxudWxsKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPlNldHRpbmdzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgJHt0aGlzLnJlbmRlckFkbWluVWlTZXR0aW5ncygpfQogICAgICAke3RoaXMucmVuZGVyRXh0ZXJuYWxHYXRld2F5U2V0dGluZ3MoKX0KICAgICAgPHN6LXNldHRpbmdzLXZpZXcKICAgICAgICAuc2V0dGluZ3M9JHt0aGlzLnNldHRpbmdzU3RhdGUuc2V0dGluZ3N8fHtkYXJrTW9kZTohMCxjbG91ZGZsYXJlVG9rZW46IiIsY2xvdWRmbGFyZVpvbmVJZDoiIixhZG1pblVpRG9tYWluOiIiLGRjcm91dGVyTW9kZToibWFuYWdlZCIsZGNyb3V0ZXJNYW5hZ2VkSW1hZ2U6ImNvZGUuZm9zcy5nbG9iYWwvc2VydmUuem9uZS9kY3JvdXRlcjpsYXRlc3QiLGRjcm91dGVyTWFuYWdlZE9wc1BvcnQ6MzMwMCxkY3JvdXRlck1hbmFnZWRIdHRwUG9ydDo4MCxkY3JvdXRlck1hbmFnZWRIdHRwc1BvcnQ6NDQzLGRjcm91dGVyTWFuYWdlZERhdGFEaXI6Ii4vLm5vZ2l0L2Rjcm91dGVyLWRhdGEiLGRjcm91dGVyR2F0ZXdheUNsaWVudElkOiIiLGRjcm91dGVyV29ya0hvc3RlcklkOiIiLGF1dG9SZW5ld0NlcnRzOiExLHJlbmV3YWxUaHJlc2hvbGQ6MzAsYWNtZUVtYWlsOiIiLGh0dHBQb3J0OjgwLGh0dHBzUG9ydDo0NDMsZm9yY2VIdHRwczohMX19CiAgICAgICAgLmN1cnJlbnRVc2VyPSR7dGhpcy5sb2dpblN0YXRlLmlkZW50aXR5Py51c2VybmFtZXx8ImFkbWluIn0KICAgICAgICBAc2V0dGluZy1jaGFuZ2U9JHt0PT57bGV0e2tleTpyLHZhbHVlOml9PXQuZGV0YWlsO0ZzLmRpc3BhdGNoQWN0aW9uKFJHLHtzZXR0aW5nczp7W3JdOml9fSl9fQogICAgICAgIEBzYXZlPSR7dD0+e0ZzLmRpc3BhdGNoQWN0aW9uKFJHLHtzZXR0aW5nczp0LmRldGFpbH0pfX0KICAgICAgICBAY2hhbmdlLXBhc3N3b3JkPSR7dD0+e2NvbnNvbGUubG9nKCJDaGFuZ2UgcGFzc3dvcmQgcmVxdWVzdGVkOiIsdC5kZXRhaWwpfX0KICAgICAgICBAcmVzZXQ9JHsoKT0+e0ZzLmRpc3BhdGNoQWN0aW9uKGpldCxudWxsKX19CiAgICAgID48L3N6LXNldHRpbmdzLXZpZXc+CiAgICBgfXJlbmRlckFkbWluVWlTZXR0aW5ncygpe2xldCB0PXRoaXMuc2V0dGluZ3NTdGF0ZS5zZXR0aW5ncztyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImdhdGV3YXktaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImdhdGV3YXktaGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnYXRld2F5LXRpdGxlIj5PbmVib3ggQWRtaW4gVUk8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnYXRld2F5LXN1YnRpdGxlIj5Db25maWd1cmUgdGhlIHB1YmxpYyBob3N0bmFtZSBmb3IgdGhpcyBPbmVib3ggZGFzaGJvYXJkPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2F0ZXdheS1jb250ZW50Ij4KICAgICAgICAgICR7dGhpcy5yZW5kZXJHYXRld2F5SW5wdXQoImFkbWluVWlEb21haW4iLCJBZG1pbiBVSSBEb21haW4iLHQ/LmFkbWluVWlEb21haW58fCIiLCJFeGFtcGxlOiBvbmVib3guZXhhbXBsZS5jb20uIExlYXZlIGVtcHR5IHRvIGRpc2FibGUgdGhlIHB1YmxpYyBBZG1pbiBVSSByb3V0ZS4iKX0KICAgICAgICAgICR7dGhpcy5yZW5kZXJHYXRld2F5UmVhZG9ubHkoIkxvY2FsIFRhcmdldCIsIk9uZWJveCBPcHNTZXJ2ZXIgb24gcG9ydCAzMDAwIiwiVGhlIGV4dGVybmFsIGdhdGV3YXkgZm9yd2FyZHMgdG8gU21hcnRQcm94eSwgd2hpY2ggZm9yd2FyZHMgdGhpcyBob3N0bmFtZSB0byB0aGUgT25lYm94IEFkbWluIFVJLiIpfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iZ2F0ZXdheS1mb290ZXIiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gcHJpbWFyeSIgdHlwZT0iYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5zYXZlQWRtaW5VaVNldHRpbmdzKCl9PgogICAgICAgICAgICBTYXZlIEFkbWluIFVJIERvbWFpbgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH1yZW5kZXJFeHRlcm5hbEdhdGV3YXlTZXR0aW5ncygpe2xldCB0PXRoaXMuc2V0dGluZ3NTdGF0ZS5zZXR0aW5ncyxyPXQ/LmRjcm91dGVyTW9kZXx8Im1hbmFnZWQiO3JldHVybiB3YAogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iZ2F0ZXdheS1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZ2F0ZXdheS1oZWFkaW5nIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdhdGV3YXktdGl0bGUiPmRjcm91dGVyIEdhdGV3YXk8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnYXRld2F5LXN1YnRpdGxlIj5SdW4gYSBsb2NhbCBtYW5hZ2VkIGRjcm91dGVyIG9yIGRlbGVnYXRlIHJvdXRpbmcgdG8gYW4gZXh0ZXJuYWwgZGNyb3V0ZXI8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYXRld2F5LW1vZGUtcm93Ij4KICAgICAgICAgICR7dGhpcy5yZW5kZXJNb2RlQnV0dG9uKCJtYW5hZ2VkIiwiTWFuYWdlZCBMb2NhbCIscil9CiAgICAgICAgICAke3RoaXMucmVuZGVyTW9kZUJ1dHRvbigiZXh0ZXJuYWwiLCJFeHRlcm5hbCBkY3JvdXRlciIscil9CiAgICAgICAgICAke3RoaXMucmVuZGVyTW9kZUJ1dHRvbigiZGlzYWJsZWQiLCJEaXNhYmxlZCIscil9CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHtyPT09Im1hbmFnZWQiP3RoaXMucmVuZGVyTWFuYWdlZEdhdGV3YXlTdGF0dXMoKTpudWxsfQogICAgICAgIDxkaXYgY2xhc3M9ImdhdGV3YXktY29udGVudCI+CiAgICAgICAgICAke3I9PT0ibWFuYWdlZCI/d2AKICAgICAgICAgICAgJHt0aGlzLnJlbmRlckdhdGV3YXlJbnB1dCgiZGNyb3V0ZXJNYW5hZ2VkSW1hZ2UiLCJkY3JvdXRlciBJbWFnZSIsdD8uZGNyb3V0ZXJNYW5hZ2VkSW1hZ2V8fCJjb2RlLmZvc3MuZ2xvYmFsL3NlcnZlLnpvbmUvZGNyb3V0ZXI6bGF0ZXN0IiwiT0NJIGltYWdlIHVzZWQgZm9yIHRoZSBtYW5hZ2VkIGxvY2FsIGdhdGV3YXkuIil9CiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJHYXRld2F5SW5wdXQoImRjcm91dGVyTWFuYWdlZERhdGFEaXIiLCJEYXRhIERpcmVjdG9yeSIsdD8uZGNyb3V0ZXJNYW5hZ2VkRGF0YURpcnx8Ii4vLm5vZ2l0L2Rjcm91dGVyLWRhdGEiLCJIb3N0IGRpcmVjdG9yeSBtb3VudGVkIGludG8gdGhlIGRjcm91dGVyIGNvbnRhaW5lci4iKX0KICAgICAgICAgICAgJHt0aGlzLnJlbmRlckdhdGV3YXlJbnB1dCgiZGNyb3V0ZXJNYW5hZ2VkT3BzUG9ydCIsIkxvY2FsIE9wcyBQb3J0IixTdHJpbmcodD8uZGNyb3V0ZXJNYW5hZ2VkT3BzUG9ydHx8MzMwMCksIkJvdW5kIHRvIDEyNy4wLjAuMSBmb3IgT25lYm94IHRvIGNhbGwgZGNyb3V0ZXIgQVBJcy4iKX0KICAgICAgICAgICAgJHt0aGlzLnJlbmRlckdhdGV3YXlJbnB1dCgiZGNyb3V0ZXJNYW5hZ2VkSHR0cFBvcnQiLCJQdWJsaWMgSFRUUCBQb3J0IixTdHJpbmcodD8uZGNyb3V0ZXJNYW5hZ2VkSHR0cFBvcnR8fDgwKSwiSG9zdCBwb3J0IG93bmVkIGJ5IGRjcm91dGVyIGZvciBIVFRQIGluZ3Jlc3MuIil9CiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJHYXRld2F5SW5wdXQoImRjcm91dGVyTWFuYWdlZEh0dHBzUG9ydCIsIlB1YmxpYyBIVFRQUyBQb3J0IixTdHJpbmcodD8uZGNyb3V0ZXJNYW5hZ2VkSHR0cHNQb3J0fHw0NDMpLCJIb3N0IHBvcnQgb3duZWQgYnkgZGNyb3V0ZXIgZm9yIEhUVFBTIGluZ3Jlc3MuIil9CiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJHYXRld2F5UmVhZG9ubHkoIkdhdGV3YXkgQ2xpZW50IElEIix0Py5kY3JvdXRlckdhdGV3YXlDbGllbnRJZHx8dD8uZGNyb3V0ZXJXb3JrSG9zdGVySWR8fCJDcmVhdGVkIHdoZW4gbWFuYWdlZCBkY3JvdXRlciBzdGFydHMiLCJEaWFnbm9zdGljIG9ubHkuIE9uZWJveCBtYW5hZ2VzIHRoaXMgbG9jYWwgY2xpZW50IGF1dG9tYXRpY2FsbHkuIil9CiAgICAgICAgICBgOnI9PT0iZXh0ZXJuYWwiP3dgCiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJHYXRld2F5SW5wdXQoImRjcm91dGVyR2F0ZXdheVVybCIsIkdhdGV3YXkgVVJMIix0Py5kY3JvdXRlckdhdGV3YXlVcmx8fCIiLCJCYXNlIFVSTCBvZiB0aGUgZGNyb3V0ZXIgT3BzU2VydmVyLiIpfQogICAgICAgICAgICAke3RoaXMucmVuZGVyR2F0ZXdheUlucHV0KCJkY3JvdXRlckdhdGV3YXlBcGlUb2tlbiIsIkFQSSBUb2tlbiIsdD8uZGNyb3V0ZXJHYXRld2F5QXBpVG9rZW58fCIiLCJSZXF1aXJlcyBnYXRld2F5LWNsaWVudCBhY2Nlc3MgaW4gZGNyb3V0ZXIuIiwhMCl9CiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJHYXRld2F5UmVhZG9ubHkoIkdhdGV3YXkgQ2xpZW50IElEIix0Py5kY3JvdXRlckdhdGV3YXlDbGllbnRJZHx8dD8uZGNyb3V0ZXJXb3JrSG9zdGVySWR8fCJEZXJpdmVkIGZyb20gdG9rZW4iLCJDb25maWd1cmUgdGhpcyBpbiBkY3JvdXRlciBHYXRld2F5IENsaWVudHMsIG5vdCBpbiBPbmVib3guIil9CiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJHYXRld2F5SW5wdXQoImRjcm91dGVyVGFyZ2V0SG9zdCIsIlRhcmdldCBIb3N0Iix0Py5kY3JvdXRlclRhcmdldEhvc3R8fCIiLCJEZWZhdWx0cyB0byB0aGUgY29uZmlndXJlZCBzZXJ2ZXIgSVAgd2hlbiBlbXB0eS4iKX0KICAgICAgICAgICAgJHt0aGlzLnJlbmRlckdhdGV3YXlJbnB1dCgiZGNyb3V0ZXJUYXJnZXRQb3J0IiwiVGFyZ2V0IFBvcnQiLFN0cmluZyh0Py5kY3JvdXRlclRhcmdldFBvcnR8fDgwKSwiSW50ZXJuYWwgSFRUUCBwb3J0IGRjcm91dGVyIGZvcndhcmRzIHRvLiIpfQogICAgICAgICAgYDp3YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJnYXRld2F5LWRpc2FibGVkIj5kY3JvdXRlciByb3V0ZSBkZWxlZ2F0aW9uIGlzIGRpc2FibGVkLiBPbmVib3ggd2lsbCBrZWVwIHVzaW5nIGl0cyBsb2NhbCBTbWFydFByb3h5IGRpcmVjdGx5LjwvZGl2PgogICAgICAgICAgYH0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImdhdGV3YXktZm9vdGVyIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIHByaW1hcnkiIHR5cGU9ImJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuc2F2ZUV4dGVybmFsR2F0ZXdheVNldHRpbmdzKCl9PgogICAgICAgICAgICBTYXZlIGRjcm91dGVyIFNldHRpbmdzCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfXJlbmRlck1vZGVCdXR0b24odCxyLGkpe3JldHVybiB3YAogICAgICA8YnV0dG9uCiAgICAgICAgY2xhc3M9ImdhdGV3YXktbW9kZS1idXR0b24gJHtpPT09dD8iYWN0aXZlIjoiIn0iCiAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMudXBkYXRlR2F0ZXdheURyYWZ0KCJkY3JvdXRlck1vZGUiLHQpfQogICAgICA+JHtyfTwvYnV0dG9uPgogICAgYH1yZW5kZXJNYW5hZ2VkR2F0ZXdheVN0YXR1cygpe2xldCB0PXRoaXMuc2V0dGluZ3NTdGF0ZS5tYW5hZ2VkRGNSb3V0ZXJTdGF0dXMscj10Py5ydW5uaW5nP3QuaGVhbHRoeT8iUnVubmluZyI6IlN0YXJ0aW5nIjoiU3RvcHBlZCI7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImdhdGV3YXktc3RhdHVzLXJvdyI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImdhdGV3YXktc3RhdHVzLWxhYmVsIj5NYW5hZ2VkIGRjcm91dGVyPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJnYXRld2F5LXN0YXR1cy12YWx1ZSI+JHtyfSR7dD8uZ2F0ZXdheVVybD9gIGF0ICR7dC5nYXRld2F5VXJsfWA6IiJ9PC9kaXY+CiAgICAgICAgICAke3Q/Lm1lc3NhZ2U/d2A8ZGl2IGNsYXNzPSJnYXRld2F5LXN0YXR1cy1lcnJvciI+JHt0Lm1lc3NhZ2V9PC9kaXY+YDpudWxsfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdhdGV3YXktYWN0aW9ucyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gLnRleHQ9JHsiU3RhcnQifSAudHlwZT0keyJkZWZhdWx0In0gQGNsaWNrPSR7KCk9PkZzLmRpc3BhdGNoQWN0aW9uKGI1YSxudWxsKX0+PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiAudGV4dD0keyJSZXN0YXJ0In0gLnR5cGU9JHsiZGVmYXVsdCJ9IEBjbGljaz0keygpPT5Gcy5kaXNwYXRjaEFjdGlvbih4NWEsbnVsbCl9PjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gLnRleHQ9JHsiU3RvcCJ9IC50eXBlPSR7ImRlZmF1bHQifSBAY2xpY2s9JHsoKT0+RnMuZGlzcGF0Y2hBY3Rpb24odjVhLG51bGwpfT48L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyR2F0ZXdheUlucHV0KHQscixpLG8sbj0hMSl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImdhdGV3YXktZmllbGQgJHt0PT09ImRjcm91dGVyR2F0ZXdheVVybCJ8fHQ9PT0iYWRtaW5VaURvbWFpbiI/ImZ1bGwiOiIifSI+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgLmtleT0ke3R9CiAgICAgICAgICAubGFiZWw9JHtyfQogICAgICAgICAgLnZhbHVlPSR7aX0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0ke299CiAgICAgICAgICAuaXNQYXNzd29yZEJvb2w9JHtufQogICAgICAgICAgQGlucHV0PSR7bD0+dGhpcy51cGRhdGVHYXRld2F5RHJhZnQodCxsLnRhcmdldC52YWx1ZSl9CiAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyR2F0ZXdheVJlYWRvbmx5KHQscixpKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZ2F0ZXdheS1yZWFkb25seSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2F0ZXdheS1yZWFkb25seS1sYWJlbCI+JHt0fTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdhdGV3YXktcmVhZG9ubHktdmFsdWUiPiR7cn08L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYXRld2F5LXJlYWRvbmx5LWhpbnQiPiR7aX08L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXVwZGF0ZUdhdGV3YXlEcmFmdCh0LHIpe2xldCBpPXRoaXMuc2V0dGluZ3NTdGF0ZS5zZXR0aW5nc3x8e30sbj1uZXcgU2V0KFsiZGNyb3V0ZXJUYXJnZXRQb3J0IiwiZGNyb3V0ZXJNYW5hZ2VkT3BzUG9ydCIsImRjcm91dGVyTWFuYWdlZEh0dHBQb3J0IiwiZGNyb3V0ZXJNYW5hZ2VkSHR0cHNQb3J0Il0pLmhhcyh0KT9OdW1iZXIocil8fDA6cjt0aGlzLnNldHRpbmdzU3RhdGU9ey4uLnRoaXMuc2V0dGluZ3NTdGF0ZSxzZXR0aW5nczp7Li4uaSxbdF06bn19fWFzeW5jIHNhdmVFeHRlcm5hbEdhdGV3YXlTZXR0aW5ncygpe2xldCB0PXRoaXMuc2V0dGluZ3NTdGF0ZS5zZXR0aW5nczt0JiYoYXdhaXQgRnMuZGlzcGF0Y2hBY3Rpb24oUkcse3NldHRpbmdzOntkY3JvdXRlck1vZGU6dC5kY3JvdXRlck1vZGV8fCJtYW5hZ2VkIixkY3JvdXRlck1hbmFnZWRJbWFnZTp0LmRjcm91dGVyTWFuYWdlZEltYWdlfHwiY29kZS5mb3NzLmdsb2JhbC9zZXJ2ZS56b25lL2Rjcm91dGVyOmxhdGVzdCIsZGNyb3V0ZXJNYW5hZ2VkT3BzUG9ydDpOdW1iZXIodC5kY3JvdXRlck1hbmFnZWRPcHNQb3J0KXx8MzMwMCxkY3JvdXRlck1hbmFnZWRIdHRwUG9ydDpOdW1iZXIodC5kY3JvdXRlck1hbmFnZWRIdHRwUG9ydCl8fDgwLGRjcm91dGVyTWFuYWdlZEh0dHBzUG9ydDpOdW1iZXIodC5kY3JvdXRlck1hbmFnZWRIdHRwc1BvcnQpfHw0NDMsZGNyb3V0ZXJNYW5hZ2VkRGF0YURpcjp0LmRjcm91dGVyTWFuYWdlZERhdGFEaXJ8fCIuLy5ub2dpdC9kY3JvdXRlci1kYXRhIixkY3JvdXRlckdhdGV3YXlVcmw6dC5kY3JvdXRlckdhdGV3YXlVcmx8fCIiLGRjcm91dGVyR2F0ZXdheUFwaVRva2VuOnQuZGNyb3V0ZXJHYXRld2F5QXBpVG9rZW58fCIiLGRjcm91dGVyVGFyZ2V0SG9zdDp0LmRjcm91dGVyVGFyZ2V0SG9zdHx8IiIsZGNyb3V0ZXJUYXJnZXRQb3J0Ok51bWJlcih0LmRjcm91dGVyVGFyZ2V0UG9ydCl8fDgwfX0pLGF3YWl0IEZzLmRpc3BhdGNoQWN0aW9uKGc1YSxudWxsKSl9YXN5bmMgc2F2ZUFkbWluVWlTZXR0aW5ncygpe2xldCB0PXRoaXMuc2V0dGluZ3NTdGF0ZS5zZXR0aW5nczt0JiZhd2FpdCBGcy5kaXNwYXRjaEFjdGlvbihSRyx7c2V0dGluZ3M6e2FkbWluVWlEb21haW46dC5hZG1pblVpRG9tYWlufHwiIn19KX19O1ljPUFyKEloYSksTnR0PW5ldyBXZWFrTWFwLFJ0dD1uZXcgV2Vha01hcCx5dChZYyw0LCJzZXR0aW5nc1N0YXRlIixFaGEsS2MsTnR0KSx5dChZYyw0LCJsb2dpblN0YXRlIixQaGEsS2MsUnR0KSxLYz15dChZYywwLCJPYlZpZXdTZXR0aW5ncyIsTmhhLEtjKSxzKEtjLCJPYlZpZXdTZXR0aW5ncyIpLHZyKEtjLCJzdHlsZXMiLFtoLmRlZmF1bHRTdHlsZXMsWHMsWGAKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuZ2F0ZXdheS1oZWFkZXIgewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5nYXRld2F5LWhlYWRpbmcgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuZ2F0ZXdheS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLmdhdGV3YXktc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5nYXRld2F5LWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAuZ2F0ZXdheS1tb2RlLXJvdywKICAgICAgLmdhdGV3YXktc3RhdHVzLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTZweCAyMHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5nYXRld2F5LW1vZGUtcm93IHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgIH0KCiAgICAgIC5nYXRld2F5LW1vZGUtYnV0dG9uIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNmM2Y0NiIsIiNkNGQ0ZDgiKX07CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZm9udDogaW5oZXJpdDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5nYXRld2F5LW1vZGUtYnV0dG9uLmFjdGl2ZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlZmY2ZmYiLCIjMTcyNTU0Iil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFkNGVkOCIsIiNiZmRiZmUiKX07CiAgICAgIH0KCiAgICAgIC5nYXRld2F5LXN0YXR1cy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZ2F0ZXdheS1zdGF0dXMtdmFsdWUgewogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmdhdGV3YXktc3RhdHVzLWVycm9yLAogICAgICAuZ2F0ZXdheS1kaXNhYmxlZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYjkxYzFjIiwiI2ZjYTVhNSIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIC5nYXRld2F5LWRpc2FibGVkIHsKICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xOwogICAgICB9CgogICAgICAuZ2F0ZXdheS1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZ2F0ZXdheS1maWVsZC5mdWxsIHsKICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xOwogICAgICB9CgogICAgICAuZ2F0ZXdheS1yZWFkb25seSB7CiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZ2F0ZXdheS1yZWFkb25seS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNTI1MjViIiwiI2Q0ZDRkOCIpfTsKICAgICAgfQoKICAgICAgLmdhdGV3YXktcmVhZG9ubHktdmFsdWUgewogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgIH0KCiAgICAgIC5nYXRld2F5LXJlYWRvbmx5LWhpbnQgewogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgZGVlcy1pbnB1dC10ZXh0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLmdhdGV3YXktZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTAlKSIsImhzbCgyMTMuMSA5My45JSA3NSUpIil9OwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHsKICAgICAgICAuZ2F0ZXdheS1jb250ZW50IHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KCiAgICAgICAgLmdhdGV3YXktc3RhdHVzLXJvdyB7CiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgfQogICAgICB9CiAgICBgXSksVmUoWWMsMSxLYyk7T3R0PUtjfSk7bW8oKTthd2FpdCBLbigpO3A3KCk7YXdhaXQgSTUoKTtsZSgpO3ZhciBGaGEsQmhhLEhoYSxxaGEsVmhhLGpoYSxVaGEsV2hhLGlzLEJ0dCxIdHQscXR0LFZ0dCxqdHQsVXR0O1doYT1baWUoIm9iLWFwcC1zaGVsbCIpXTt2YXIgbW49Y2xhc3MgbW4gZXh0ZW5kcyhVaGE9cGUsamhhPVtLKCldLFZoYT1bSygpXSxxaGE9W0soKV0sSGhhPVtLKCldLEJoYT1bSygpXSxGaGE9W0soKV0sVWhhKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7UnQodGhpcyxCdHQsVmUoaXMsOCx0aGlzLHtpZGVudGl0eTpudWxsLGlzTG9nZ2VkSW46ITF9KSksVmUoaXMsMTEsdGhpcyk7UnQodGhpcyxIdHQsVmUoaXMsMTIsdGhpcyx7YWN0aXZlVmlldzoiZGFzaGJvYXJkIixhY3RpdmVTdWJ2aWV3Om51bGwsYXV0b1JlZnJlc2g6ITAscmVmcmVzaEludGVydmFsOjNlNH0pKSxWZShpcywxNSx0aGlzKTtSdCh0aGlzLHF0dCxWZShpcywxNix0aGlzLHtzdGF0dXM6bnVsbH0pKSxWZShpcywxOSx0aGlzKTtSdCh0aGlzLFZ0dCxWZShpcywyMCx0aGlzLFtdKSksVmUoaXMsMjMsdGhpcyk7UnQodGhpcyxqdHQsVmUoaXMsMjQsdGhpcywhMSkpLFZlKGlzLDI3LHRoaXMpO1J0KHRoaXMsVXR0LFZlKGlzLDI4LHRoaXMsIiIpKSxWZShpcywzMSx0aGlzKTt2cih0aGlzLCJ2aWV3VGFicyIsW3tzbHVnOiJkYXNoYm9hcmQiLG5hbWU6IkRhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpsYXlvdXREYXNoYm9hcmQiLGVsZW1lbnQ6KGFzeW5jKCk9Pihhd2FpdCBYZXQoKS50aGVuKCgpPT5QNWEpKS5PYlZpZXdEYXNoYm9hcmQpKCl9LHtzbHVnOiJhcHBzIixuYW1lOiJBcHBzIixpY29uTmFtZToibHVjaWRlOnN0b3JlIixzdWJWaWV3czpbe3NsdWc6ImFwcC1zdG9yZSIsbmFtZToiQXBwIFN0b3JlIixpY29uTmFtZToibHVjaWRlOnN0b3JlIixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQgWTVhKCkudGhlbigoKT0+RzVhKSkuT2JWaWV3QXBwU3RvcmUpKCl9LHtzbHVnOiJzZXJ2aWNlcyIsbmFtZToiU2VydmljZXMiLGljb25OYW1lOiJsdWNpZGU6Ym94ZXMiLGVsZW1lbnQ6KGFzeW5jKCk9Pihhd2FpdCB4dHQoKS50aGVuKCgpPT5uaGEpKS5PYlZpZXdTZXJ2aWNlcykoKX1dfSx7c2x1ZzoibmV0d29yayIsbmFtZToiTmV0d29yayIsaWNvbk5hbWU6Imx1Y2lkZTpuZXR3b3JrIixzdWJWaWV3czpbe3NsdWc6InByb3h5IixuYW1lOiJQcm94eSIsaWNvbk5hbWU6Imx1Y2lkZTpyb3V0ZSIsZWxlbWVudDooYXN5bmMoKT0+KGF3YWl0IFN0dCgpLnRoZW4oKCk9PmZoYSkpLk9iVmlld05ldHdvcmspKCl9LHtzbHVnOiJkb21haW5zIixuYW1lOiJEb21haW5zIixpY29uTmFtZToibHVjaWRlOmdsb2JlIixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQgdmhhKCkudGhlbigoKT0+YmhhKSkuT2JWaWV3RG9tYWlucykoKX0se3NsdWc6ImRucy1yZWNvcmRzIixuYW1lOiJETlMgUmVjb3JkcyIsaWNvbk5hbWU6Imx1Y2lkZTpsaXN0VHJlZSIsZWxlbWVudDooYXN5bmMoKT0+KGF3YWl0IGtoYSgpLnRoZW4oKCk9Pk1oYSkpLk9iVmlld0Ruc1JlY29yZHMpKCl9XX0se3NsdWc6InJlZ2lzdHJ5IixuYW1lOiJSZWdpc3RyeSIsaWNvbk5hbWU6Imx1Y2lkZTpwYWNrYWdlIixzdWJWaWV3czpbe3NsdWc6InJlZ2lzdHJpZXMiLG5hbWU6IlJlZ2lzdHJpZXMiLGljb25OYW1lOiJsdWNpZGU6cGFja2FnZSIsZWxlbWVudDooYXN5bmMoKT0+KGF3YWl0IEF0dCgpLnRoZW4oKCk9PlRoYSkpLk9iVmlld1JlZ2lzdHJpZXMpKCl9LHtzbHVnOiJ0b2tlbnMiLG5hbWU6IlRva2VucyIsaWNvbk5hbWU6Imx1Y2lkZTprZXkiLGVsZW1lbnQ6KGFzeW5jKCk9Pihhd2FpdCBJdHQoKS50aGVuKCgpPT5BaGEpKS5PYlZpZXdUb2tlbnMpKCl9XX0se3NsdWc6InNldHRpbmdzIixuYW1lOiJTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpzZXR0aW5ncyIsZWxlbWVudDooYXN5bmMoKT0+KGF3YWl0IEZ0dCgpLnRoZW4oKCk9PlJoYSkpLk9iVmlld1NldHRpbmdzKSgpfV0pO3ZyKHRoaXMsInJlc29sdmVkVmlld1RhYnMiLFtdKTt2cih0aGlzLCJzdXBwcmVzc2VkVXBkYXRlVmVyc2lvbiIsIiIpO3ZyKHRoaXMsInVwZ3JhZGVGbG93UnVubmluZyIsITEpO2RvY3VtZW50LnRpdGxlPSJPbmVib3giO2xldCB0PXFyLnNlbGVjdChvPT5vKS5zdWJzY3JpYmUobz0+e3RoaXMubG9naW5TdGF0ZT1vLHRoaXMudXBkYXRlR2xvYmFsTWVzc2FnZXMoKSxvLmlzTG9nZ2VkSW4mJnVsLmRpc3BhdGNoQWN0aW9uKGg3LG51bGwpfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KTtsZXQgcj11bC5zZWxlY3Qobz0+bykuc3Vic2NyaWJlKG89Pnt0aGlzLnN5c3RlbVN0YXRlPW8sdGhpcy51cGRhdGVHbG9iYWxNZXNzYWdlcygpfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChyKTtsZXQgaT1obi5zZWxlY3Qobz0+bykuc3Vic2NyaWJlKG89Pnt0aGlzLnVpU3RhdGU9byx0aGlzLnN5bmNBcHBkYXNoVmlldyhvLmFjdGl2ZVZpZXcsby5hY3RpdmVTdWJ2aWV3KX0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2goaSl9YXN5bmMgcmVzb2x2ZVZpZXdUYWJzKHQpe3JldHVybiBQcm9taXNlLmFsbCh0Lm1hcChhc3luYyByPT57bGV0IGk9e3NsdWc6ci5zbHVnLG5hbWU6ci5uYW1lLGljb25OYW1lOnIuaWNvbk5hbWV9O3JldHVybiByLmVsZW1lbnQmJihpLmVsZW1lbnQ9YXdhaXQgci5lbGVtZW50KSxyLnN1YlZpZXdzJiYoaS5zdWJWaWV3cz1hd2FpdCB0aGlzLnJlc29sdmVWaWV3VGFicyhyLnN1YlZpZXdzKSksaX0pKX1zbHVnRm9yKHQpe3JldHVybiB0LnNsdWc/P3QubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzKy9nLCItIil9ZmluZFBhcmVudCh0KXtyZXR1cm4gdGhpcy5yZXNvbHZlZFZpZXdUYWJzLmZpbmQocj0+ci5zdWJWaWV3cz8uaW5jbHVkZXModCkpfWZpbmRWaWV3QnlTbHVnKHQscil7bGV0IGk9dGhpcy5yZXNvbHZlZFZpZXdUYWJzLmZpbmQobz0+dGhpcy5zbHVnRm9yKG8pPT09dCk7aWYoaSlyZXR1cm4gciYmaS5zdWJWaWV3cz9pLnN1YlZpZXdzLmZpbmQobz0+dGhpcy5zbHVnRm9yKG8pPT09cik/P2k6aX1nZXQgY3VycmVudFZpZXdUYWIoKXtpZih0aGlzLnJlc29sdmVkVmlld1RhYnMubGVuZ3RoIT09MClyZXR1cm4gdGhpcy5maW5kVmlld0J5U2x1Zyh0aGlzLnVpU3RhdGUuYWN0aXZlVmlldyx0aGlzLnVpU3RhdGUuYWN0aXZlU3Vidmlldyk/P3RoaXMucmVzb2x2ZWRWaWV3VGFic1swXX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgPGRlZXMtc2ltcGxlLWxvZ2luIG5hbWU9Ik9uZWJveCI+CiAgICAgICAgICA8ZGVlcy1zaW1wbGUtYXBwZGFzaAogICAgICAgICAgICBuYW1lPSJPbmVib3giCiAgICAgICAgICAgIC52aWV3VGFicz0ke3RoaXMucmVzb2x2ZWRWaWV3VGFic30KICAgICAgICAgICAgLnNlbGVjdGVkVmlldz0ke3RoaXMuY3VycmVudFZpZXdUYWJ9CiAgICAgICAgICAgIC5nbG9iYWxNZXNzYWdlcz0ke3RoaXMuZ2xvYmFsTWVzc2FnZXN9CiAgICAgICAgICA+CiAgICAgICAgICA8L2RlZXMtc2ltcGxlLWFwcGRhc2g+CiAgICAgICAgPC9kZWVzLXNpbXBsZS1sb2dpbj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe3RoaXMucmVzb2x2ZWRWaWV3VGFicz1hd2FpdCB0aGlzLnJlc29sdmVWaWV3VGFicyh0aGlzLnZpZXdUYWJzKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlO2xldCB0PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXNpbXBsZS1sb2dpbiIpO3QmJnQuYWRkRXZlbnRMaXN0ZW5lcigibG9naW4iLG89Pnt0aGlzLmxvZ2luKG8uZGV0YWlsLmRhdGEudXNlcm5hbWUsby5kZXRhaWwuZGF0YS5wYXNzd29yZCl9KTtsZXQgcj10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1zaW1wbGUtYXBwZGFzaCIpO2lmKHImJihyLmFkZEV2ZW50TGlzdGVuZXIoInZpZXctc2VsZWN0IixvPT57bGV0IG49by5kZXRhaWwudmlldyxsPXRoaXMuZmluZFBhcmVudChuKSxkPWhuLmdldFN0YXRlKCk7aWYobCl7bGV0IGM9dGhpcy5zbHVnRm9yKGwpLHA9dGhpcy5zbHVnRm9yKG4pO2lmKGQuYWN0aXZlVmlldz09PWMmJmQuYWN0aXZlU3Vidmlldz09PXApcmV0dXJuO2JvLm5hdmlnYXRlVG9WaWV3KGMscCl9ZWxzZXtsZXQgYz10aGlzLnNsdWdGb3Iobik7aWYoZC5hY3RpdmVWaWV3PT09YyYmIWQuYWN0aXZlU3VidmlldylyZXR1cm47Ym8ubmF2aWdhdGVUb1ZpZXcoYyl9fSksci5hZGRFdmVudExpc3RlbmVyKCJsb2dvdXQiLGFzeW5jKCk9Pnthd2FpdCBxci5kaXNwYXRjaEFjdGlvbihEaWUsbnVsbCl9KSksciYmdGhpcy5yZXNvbHZlZFZpZXdUYWJzLmxlbmd0aD4wKXtsZXQgbz1obi5nZXRTdGF0ZSgpLG49dGhpcy5maW5kVmlld0J5U2x1ZyhvLmFjdGl2ZVZpZXcsby5hY3RpdmVTdWJ2aWV3KXx8dGhpcy5yZXNvbHZlZFZpZXdUYWJzWzBdO2F3YWl0IHIubG9hZFZpZXcobil9bGV0IGk9cXIuZ2V0U3RhdGUoKTtpZihpLmlkZW50aXR5Py5qd3QpaWYoaS5pZGVudGl0eS5leHBpcmVzQXQ+RGF0ZS5ub3coKSl7dGhpcy5sb2dpblN0YXRlPWksdCYmYXdhaXQgdC5zd2l0Y2hUb1Nsb3R0ZWRDb250ZW50KCk7dHJ5e2xldCBuPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTeXN0ZW1TdGF0dXMiKS5maXJlKHtpZGVudGl0eTppLmlkZW50aXR5fSk7dWwuc2V0U3RhdGUoe3N0YXR1czpuLnN0YXR1c30pfWNhdGNoKG8pe2NvbnNvbGUud2FybigiU3RvcmVkIHNlc3Npb24gaW52YWxpZCwgcmV0dXJuaW5nIHRvIGxvZ2luOiIsbyksYXdhaXQgcXIuZGlzcGF0Y2hBY3Rpb24oRGllLG51bGwpLHQmJndpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX19ZWxzZSBhd2FpdCBxci5kaXNwYXRjaEFjdGlvbihEaWUsbnVsbCl9YXN5bmMgbG9naW4odCxyKXtsZXQgaT1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSxvPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXNpbXBsZS1sb2dpbiIpLG49bz8uc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy1mb3JtIik7biYmbi5zZXRTdGF0dXMoInBlbmRpbmciLCJMb2dnaW5nIGluLi4uIiksKGF3YWl0IHFyLmRpc3BhdGNoQWN0aW9uKEpmYSx7dXNlcm5hbWU6dCxwYXNzd29yZDpyfSkpLmlkZW50aXR5PyhuJiZuLnNldFN0YXR1cygic3VjY2VzcyIsIkxvZ2dlZCBpbiEiKSxvJiZhd2FpdCBvLnN3aXRjaFRvU2xvdHRlZENvbnRlbnQoKSxhd2FpdCB1bC5kaXNwYXRjaEFjdGlvbihoNyxudWxsKSk6biYmKG4uc2V0U3RhdHVzKCJlcnJvciIsIkxvZ2luIGZhaWxlZCEiKSxhd2FpdCBpLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMmUzKSxuLnJlc2V0KCkpfXVwZGF0ZUdsb2JhbE1lc3NhZ2VzKCl7bGV0IHQ9dGhpcy5zeXN0ZW1TdGF0ZS5zdGF0dXM/Lm9uZWJveC51cGRhdGU7aWYoIXRoaXMubG9naW5TdGF0ZS5pc0xvZ2dlZElufHwhdD8udXBkYXRlQXZhaWxhYmxlfHwhdC5sYXRlc3RWZXJzaW9ufHx0LmxhdGVzdFZlcnNpb249PT10aGlzLnN1cHByZXNzZWRVcGRhdGVWZXJzaW9uKXt0aGlzLmdsb2JhbE1lc3NhZ2VzPVtdO3JldHVybn10aGlzLmdsb2JhbE1lc3NhZ2VzPVt7aWQ6YG9uZWJveC11cGRhdGUtJHt0LmxhdGVzdFZlcnNpb259YCx0eXBlOiJpbmZvIixpY29uOiJsdWNpZGU6ZG93bmxvYWQiLG1lc3NhZ2U6YE9uZWJveCAke3QubGF0ZXN0VmVyc2lvbn0gaXMgYXZhaWxhYmxlLiBDdXJyZW50IHZlcnNpb246ICR7dC5jdXJyZW50VmVyc2lvbn0uYCxkaXNtaXNzaWJsZTohMSxhY3Rpb25zOlt7bmFtZToiVXBkYXRlIE5vdyIsaWNvbk5hbWU6Imx1Y2lkZTpkb3dubG9hZCIsYWN0aW9uOnMoKCk9PnRoaXMuc3RhcnRPbmVib3hVcGdyYWRlRmxvdygpLCJhY3Rpb24iKX0se25hbWU6IlJlbGVhc2UgTm90ZXMiLGljb25OYW1lOiJsdWNpZGU6ZmlsZVRleHQiLGFjdGlvbjpzKCgpPT50aGlzLm9wZW5VcGRhdGVVcmwodC5jaGFuZ2Vsb2dVcmx8fHQucmVsZWFzZVVybCksImFjdGlvbiIpfSx7bmFtZToiTGF0ZXIiLGljb25OYW1lOiJsdWNpZGU6Y2xvY2siLGFjdGlvbjpzKCgpPT57dGhpcy5zdXBwcmVzc2VkVXBkYXRlVmVyc2lvbj10LmxhdGVzdFZlcnNpb258fCIiLHRoaXMudXBkYXRlR2xvYmFsTWVzc2FnZXMoKX0sImFjdGlvbiIpfV19XX1hc3luYyBzdGFydE9uZWJveFVwZ3JhZGVGbG93KCl7aWYodGhpcy51cGdyYWRlRmxvd1J1bm5pbmcpcmV0dXJuO2xldCB0PXFyLmdldFN0YXRlKCkuaWRlbnRpdHkscj10aGlzLnN5c3RlbVN0YXRlLnN0YXR1cz8ub25lYm94LnVwZGF0ZTtpZighdHx8IXI/LmxhdGVzdFZlcnNpb24pcmV0dXJuO3RoaXMudXBncmFkZUZsb3dSdW5uaW5nPSEwO2xldCBpPWF3YWl0IGhHLkRlZXNVcGRhdGVyLmNyZWF0ZUFuZFNob3coe2N1cnJlbnRWZXJzaW9uOnIuY3VycmVudFZlcnNpb24sdXBkYXRlZFZlcnNpb246ci5sYXRlc3RWZXJzaW9uLG1vcmVJbmZvVXJsOnIucmVsZWFzZVVybCxjaGFuZ2Vsb2dVcmw6ci5jaGFuZ2Vsb2dVcmwsc3VjY2Vzc0FjdGlvbjoicmVsb2FkIixzdWNjZXNzRGVsYXlNczozZTQsc3VjY2Vzc0FjdGlvbkxhYmVsOiJSZWxvYWRpbmcgT25lYm94IFVJIn0pO3RyeXtpLnVwZGF0ZVByb2dyZXNzKHtwZXJjZW50YWdlOjEwLGluZGV0ZXJtaW5hdGU6ITAsc3RhdHVzVGV4dDoiUmVxdWVzdGluZyB1cGdyYWRlLi4uIix0ZXJtaW5hbExpbmVzOlsiUmVxdWVzdGluZyBPbmVib3ggdXBncmFkZSJdfSk7bGV0IG49YXdhaXQgbmV3IEplLnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInN0YXJ0T25lYm94VXBncmFkZSIpLmZpcmUoe2lkZW50aXR5OnR9KTtpZighbi51cGdyYWRlLmFjY2VwdGVkKXtpLm1hcmtVcGRhdGVFcnJvcihuLnVwZ3JhZGUubWVzc2FnZSksYXdhaXQgdGhpcy5kZWxheSg1ZTMpLGF3YWl0IGkuZGVzdHJveSgpO3JldHVybn1pLmFwcGVuZFByb2dyZXNzTGluZShuLnVwZ3JhZGUubWVzc2FnZSksbi51cGdyYWRlLnBpZCYmaS5hcHBlbmRQcm9ncmVzc0xpbmUoYFVwZ3JhZGUgcHJvY2VzcyBQSUQ6ICR7bi51cGdyYWRlLnBpZH1gKSxuLnVwZ3JhZGUubG9nUGF0aCYmaS5hcHBlbmRQcm9ncmVzc0xpbmUoYFVwZ3JhZGUgbG9nOiAke24udXBncmFkZS5sb2dQYXRofWApLGkudXBkYXRlUHJvZ3Jlc3Moe3BlcmNlbnRhZ2U6NDUsaW5kZXRlcm1pbmF0ZTohMCxzdGF0dXNUZXh0OiJJbnN0YWxsZXIgc3RhcnRlZC4uLiJ9KSxhd2FpdCB0aGlzLndhaXRGb3JPbmVib3hVcGdyYWRlKGksbi51cGdyYWRlLnRhcmdldFZlcnNpb24sdCksYXdhaXQgaS5tYXJrVXBkYXRlUmVhZHkoKX1jYXRjaChvKXtpLm1hcmtVcGRhdGVFcnJvcih0aGlzLmdldEVycm9yTWVzc2FnZShvKSksYXdhaXQgdGhpcy5kZWxheSg1ZTMpLGF3YWl0IGkuZGVzdHJveSgpfWZpbmFsbHl7dGhpcy51cGdyYWRlRmxvd1J1bm5pbmc9ITF9fWFzeW5jIHdhaXRGb3JPbmVib3hVcGdyYWRlKHQscixpKXtsZXQgbz10aGlzLm5vcm1hbGl6ZVZlcnNpb24ociksbj1EYXRlLm5vdygpKzllNCxsPTA7Zm9yKHQuYXBwZW5kUHJvZ3Jlc3NMaW5lKCJXYWl0aW5nIGZvciBPbmVib3ggdG8gcmVzdGFydCB3aXRoIHRoZSBuZXcgdmVyc2lvbiIpO0RhdGUubm93KCk8bjspe2F3YWl0IHRoaXMuZGVsYXkoNWUzKSxsKys7dHJ5e2xldCBjPWF3YWl0IG5ldyBKZS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTeXN0ZW1TdGF0dXMiKS5maXJlKHtpZGVudGl0eTppfSkscD10aGlzLm5vcm1hbGl6ZVZlcnNpb24oYy5zdGF0dXMub25lYm94LnZlcnNpb24pO2lmKHQuYXBwZW5kUHJvZ3Jlc3NMaW5lKGBPbmVib3ggQVBJIGFuc3dlcmVkIHdpdGggJHtwfWApLHA9PT1vKXt0LnVwZGF0ZVByb2dyZXNzKHtwZXJjZW50YWdlOjEwMCxpbmRldGVybWluYXRlOiExLHN0YXR1c1RleHQ6YE9uZWJveCAke299IGlzIG9ubGluZS5gfSk7cmV0dXJufX1jYXRjaHt0LmFwcGVuZFByb2dyZXNzTGluZSgiT25lYm94IEFQSSBpcyByZXN0YXJ0aW5nLi4uIil9dC51cGRhdGVQcm9ncmVzcyh7cGVyY2VudGFnZTpNYXRoLm1pbig5NSw0NStsKjUpLGluZGV0ZXJtaW5hdGU6ITAsc3RhdHVzVGV4dDpgV2FpdGluZyBmb3IgT25lYm94ICR7b30uLi5gfSl9dC5hcHBlbmRQcm9ncmVzc0xpbmUoIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aGUgdmVyc2lvbiBjaGVjazsgcmVsb2FkaW5nIHRoZSBVSSBhbnl3YXkiKX1vcGVuVXBkYXRlVXJsKHQpe3dpbmRvdy5vcGVuKHQsIl9ibGFuayIsIm5vb3BlbmVyLG5vcmVmZXJyZXIiKX1hc3luYyBkZWxheSh0KXthd2FpdChhd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSkuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcih0KX1nZXRFcnJvck1lc3NhZ2UodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBFcnJvcj90Lm1lc3NhZ2U6U3RyaW5nKHQpfW5vcm1hbGl6ZVZlcnNpb24odCl7bGV0IHI9dC50cmltKCk7cmV0dXJuIHIuc3RhcnRzV2l0aCgidiIpP3I6YHYke3J9YH1zeW5jQXBwZGFzaFZpZXcodCxyKXtsZXQgaT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtc2ltcGxlLWFwcGRhc2giKTtpZighaXx8dGhpcy5yZXNvbHZlZFZpZXdUYWJzLmxlbmd0aD09PTApcmV0dXJuO2xldCBvPXRoaXMuZmluZFZpZXdCeVNsdWcodCxyKTshb3x8aS5zZWxlY3RlZFZpZXc9PT1vfHxpLmxvYWRWaWV3KG8pfX07aXM9QXIoVWhhKSxCdHQ9bmV3IFdlYWtNYXAsSHR0PW5ldyBXZWFrTWFwLHF0dD1uZXcgV2Vha01hcCxWdHQ9bmV3IFdlYWtNYXAsanR0PW5ldyBXZWFrTWFwLFV0dD1uZXcgV2Vha01hcCx5dChpcyw0LCJsb2dpblN0YXRlIixqaGEsbW4sQnR0KSx5dChpcyw0LCJ1aVN0YXRlIixWaGEsbW4sSHR0KSx5dChpcyw0LCJzeXN0ZW1TdGF0ZSIscWhhLG1uLHF0dCkseXQoaXMsNCwiZ2xvYmFsTWVzc2FnZXMiLEhoYSxtbixWdHQpLHl0KGlzLDQsImxvZ2luTG9hZGluZyIsQmhhLG1uLGp0dCkseXQoaXMsNCwibG9naW5FcnJvciIsRmhhLG1uLFV0dCksbW49eXQoaXMsMCwiT2JBcHBTaGVsbCIsV2hhLG1uKSxzKG1uLCJPYkFwcFNoZWxsIiksdnIobW4sInN0eWxlcyIsW2guZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICB9CiAgICBgXSksVmUoaXMsMSxtbik7dmFyIE9oYT1tbjtlMigpO1hldCgpO3h0dCgpO1N0dCgpO0F0dCgpO0l0dCgpO0Z0dCgpO21vKCk7bGUoKTthd2FpdCBJNSgpO2JvLmluaXQoKSxuZC5yZW5kZXIod2AKICA8b2ItYXBwLXNoZWxsPjwvb2ItYXBwLXNoZWxsPgpgLGRvY3VtZW50LmJvZHkpOwovKiEgQnVuZGxlZCBsaWNlbnNlIGluZm9ybWF0aW9uOgoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2Nzcy10YWcuanM6CiAgKCoqCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgMjAxOSBHb29nbGUgTExDCiAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQogICAqKQoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L3JlYWN0aXZlLWVsZW1lbnQuanM6CmxpdC1odG1sL2xpdC1odG1sLmpzOgpsaXQtZWxlbWVudC9saXQtZWxlbWVudC5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvcHJvcGVydHkuanM6CmxpdC1odG1sL2RpcmVjdGl2ZS5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy91bnNhZmUtaHRtbC5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvY3VzdG9tLWVsZW1lbnQuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3N0YXRlLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9ldmVudC1vcHRpb25zLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9iYXNlLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvcXVlcnktYWxsLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS1hc3luYy5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvcXVlcnktYXNzaWduZWQtbm9kZXMuanM6CmxpdC1odG1sL2FzeW5jLWRpcmVjdGl2ZS5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy91bnRpbC5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy9hc3luYy1yZXBsYWNlLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL2FzeW5jLWFwcGVuZC5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy9yZXBlYXQuanM6CiAgKCoqCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDCiAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQogICAqKQoKbGl0LWh0bWwvaXMtc2VydmVyLmpzOgogICgqKgogICAqIEBsaWNlbnNlCiAgICogQ29weXJpZ2h0IDIwMjIgR29vZ2xlIExMQwogICAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKICAgKikKCnN3ZWV0LXNjcm9sbC9zd2VldC1zY3JvbGwuanM6CiAgKCohIEBwcmVzZXJ2ZSBzd2VldC1zY3JvbGwgdjQuMC4wIC0gdHN1eW9zaGl3YWRhIHwgTUlUIExpY2Vuc2UgKikKICAoKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UKICAgICAgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUKICAgICAgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAKICAgICAgVEhJUyBDT0RFIElTIFBST1ZJREVEIE9OIEFOICpBUyBJUyogQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWQogICAgICBLSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIEFOWSBJTVBMSUVECiAgICAgIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBUSVRMRSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsCiAgICAgIE1FUkNIQU5UQUJMSVRZIE9SIE5PTi1JTkZSSU5HRU1FTlQuCiAgCiAgICAgIFNlZSB0aGUgQXBhY2hlIFZlcnNpb24gMi4wIExpY2Vuc2UgZm9yIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucwogICAgICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICopCgpsaXQtaHRtbC9zdGF0aWMuanM6CmxpdC1odG1sL2RpcmVjdGl2ZS1oZWxwZXJzLmpzOgogICgqKgogICAqIEBsaWNlbnNlCiAgICogQ29weXJpZ2h0IDIwMjAgR29vZ2xlIExMQwogICAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKICAgKikKCkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3F1ZXJ5LWFzc2lnbmVkLWVsZW1lbnRzLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL3ByaXZhdGUtYXN5bmMtaGVscGVycy5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy9rZXllZC5qczoKICAoKioKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCAyMDIxIEdvb2dsZSBMTEMKICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiAgICopCgpAZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtc3ZnLWNvcmUvaW5kZXgubWpzOgpAZm9ydGF3ZXNvbWUvZnJlZS1icmFuZHMtc3ZnLWljb25zL2luZGV4Lm1qczoKQGZvcnRhd2Vzb21lL2ZyZWUtcmVndWxhci1zdmctaWNvbnMvaW5kZXgubWpzOgpAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMvaW5kZXgubWpzOgogICgqIQogICAqIEZvbnQgQXdlc29tZSBGcmVlIDcuMi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tCiAgICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSkKICAgKiBDb3B5cmlnaHQgMjAyNiBGb250aWNvbnMsIEluYy4KICAgKikKCmx1Y2lkZS9kaXN0L2VzbS9kZWZhdWx0QXR0cmlidXRlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9jcmVhdGVFbGVtZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL3NoYXJlZC9zcmMvdXRpbHMvaGFzQTExeVByb3AubWpzOgpsdWNpZGUvZGlzdC9lc20vc2hhcmVkL3NyYy91dGlscy9tZXJnZUNsYXNzZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vc2hhcmVkL3NyYy91dGlscy90b0NhbWVsQ2FzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9zaGFyZWQvc3JjL3V0aWxzL3RvUGFzY2FsQ2FzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9yZXBsYWNlRWxlbWVudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hLWFycm93LWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYS1hcnJvdy11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hLWxhcmdlLXNtYWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FjY2Vzc2liaWxpdHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWN0aXZpdHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWlyLXZlbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWlycGxheS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGFybS1jbG9jay1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGFybS1jbG9jay1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGFybS1jbG9jay1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxhcm0tY2xvY2stcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGFybS1jbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGFybS1zbW9rZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGJ1bS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1jZW50ZXItaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1jZW50ZXItdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tZW5kLWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24taG9yaXpvbnRhbC1kaXN0cmlidXRlLWNlbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1lbmQtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24taG9yaXpvbnRhbC1kaXN0cmlidXRlLWVuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1ob3Jpem9udGFsLWRpc3RyaWJ1dGUtc3RhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24taG9yaXpvbnRhbC1qdXN0aWZ5LWNlbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1ob3Jpem9udGFsLWp1c3RpZnktZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWhvcml6b250YWwtanVzdGlmeS1zdGFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1ob3Jpem9udGFsLXNwYWNlLWFyb3VuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1zdGFydC1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXN0YXJ0LXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWhvcml6b250YWwtc3BhY2UtYmV0d2Vlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi12ZXJ0aWNhbC1kaXN0cmlidXRlLWNlbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi12ZXJ0aWNhbC1kaXN0cmlidXRlLWVuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi12ZXJ0aWNhbC1kaXN0cmlidXRlLXN0YXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLWp1c3RpZnktY2VudGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLWp1c3RpZnktZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLWp1c3RpZnktc3RhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tdmVydGljYWwtc3BhY2UtYXJvdW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLXNwYWNlLWJldHdlZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW1idWxhbmNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FtcGVyc2FuZHMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW1wZXJzYW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FtcGhvcmEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW5jaG9yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FuZ3J5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fubm95ZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW50ZW5uYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbnZpbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcGVydHVyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcHAtd2luZG93LW1hYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcHAtd2luZG93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FyY2hpdmUtcmVzdG9yZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcHBsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcmNoaXZlLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJtY2hhaXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJjaGl2ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1iaWctZG93bi1kYXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWJpZy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWJpZy1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWJpZy1sZWZ0LWRhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLXJpZ2h0LWRhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWJpZy11cC1kYXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWJpZy11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLTAtMS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLTEtMC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLWZyb20tbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLWEtei5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi1uYXJyb3ctd2lkZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tdG8tZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi10by1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24td2lkZS1uYXJyb3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi16LWEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1sZWZ0LWZyb20tbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1sZWZ0LXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWxlZnQtdG8tbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1yaWdodC1mcm9tLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1yaWdodC1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXJpZ2h0LXRvLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctdXAtMS0wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLTAtMS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC1hLXoubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctdXAtZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC1mcm9tLWRvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC1mcm9tLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctdXAtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC1uYXJyb3ctd2lkZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC13aWRlLW5hcnJvdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC10by1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLXotYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hc3Rlcmlzay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvd3MtdXAtZnJvbS1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FzdHJvaWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXQtc2lnbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hdG9tLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2F1ZGlvLWxpbmVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2F1ZGlvLXdhdmVmb3JtLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2F3YXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2F4ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWJ5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2F4aXMtM2QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFja3BhY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtYWxlcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtY2VudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1kb2xsYXItc2lnbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1ldXJvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWluZGlhbi1ydXBlZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1pbmZvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWphcGFuZXNlLXllbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1wZXJjZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtcG91bmQtc3RlcmxpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtcXVlc3Rpb24tbWFyay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1zd2lzcy1mcmFuYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1ydXNzaWFuLXJ1YmxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLXR1cmtpc2gtbGlyYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZ2dhZ2UtY2xhaW0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhbGxvb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFuYW5hLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhbmRhZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFua25vdGUtYXJyb3ctdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFua25vdGUtYXJyb3ctZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYW5rbm90ZS14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jhbmtub3RlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhcmNvZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFycmVsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jhc2VsaW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhdGgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmF0dGVyeS1jaGFyZ2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXR0ZXJ5LWZ1bGwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmF0dGVyeS1sb3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmF0dGVyeS1tZWRpdW0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmF0dGVyeS1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhdHRlcnktd2FybmluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXR0ZXJ5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlYW4tb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlYWtlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWQtZG91YmxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVkLXNpbmdsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWVmLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVlZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWVyLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlbGwtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVsbC1kb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVsbC1lbGVjdHJpYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWxsLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWxsLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlbGwtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWxsLXJpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZXR3ZWVuLWhvcml6b250YWwtZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JldHdlZW4taG9yaXpvbnRhbC1zdGFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZXR3ZWVuLXZlcnRpY2FsLWVuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZXR3ZWVuLXZlcnRpY2FsLXN0YXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JpY2Vwcy1mbGV4ZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmlrZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaW5hcnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmlub2N1bGFycy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaW9oYXphcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmlyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaXJkaG91c2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYml0Y29pbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ibGVuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ibGluZHMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmxvY2tzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JsdWV0b290aC1jb25uZWN0ZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmx1ZXRvb3RoLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ibHVldG9vdGgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmx1ZXRvb3RoLXNlYXJjaGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib2xkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvbWIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9sdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib25lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWFsZXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stYXVkaW8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWNvcHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2staGVhZHBob25lcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWhlYXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2staW1hZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1rZXkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1tYXJrZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1sb2NrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1vcGVuLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stb3Blbi10ZXh0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stc2VhcmNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stb3Blbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay10ZXh0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stdXAtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stdHlwZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLXVzZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9va21hcmstY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9va21hcmstbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9va21hcmstb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2ttYXJrLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9va21hcmsteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rbWFyay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29tLWJveC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib3QtbWVzc2FnZS1zcXVhcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm90LW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm93LWFycm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvdHRsZS13aW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JveC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib3hlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmFjZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJhY2tldHMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJhaW4tY2lyY3VpdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmFpbi1jb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpY2std2FsbC1maXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyYWluLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyaWNrLXdhbGwtc2hpZWxkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyaWNrLXdhbGwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpZWZjYXNlLWJ1c2luZXNzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyaWVmY2FzZS1jb252ZXlvci1iZWx0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyaWVmY2FzZS1tZWRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyaWVmY2FzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmluZy10by1mcm9udC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icnVzaC1jbGVhbmluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icnVzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9idWctb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2J1YmJsZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnVnLXBsYXkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnVnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2J1aWxkaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2J1aWxkaW5nLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnVzLWZyb250Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2J1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWJsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWJsZS1jYXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FrZS1zbGljZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWtlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLTEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsY3VsYXRvci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1hcnJvdy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLWFycm93LXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLWNoZWNrLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItY2xvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLWRheXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItZm9sZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1taW51cy0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLWhlYXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1wbHVzLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItcmFuZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItc3luYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci14LTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXIteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhcnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FtZXJhLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYW1lcmEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FuZHktY2FuZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYW5keS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYW5keS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FubmFiaXMtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nhbm5hYmlzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhcHRpb25zLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXB0aW9ucy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXItZnJvbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nhci10YXhpLWZyb250Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhcmF2YW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FyZC1zaW0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2Fycm90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nhc2UtbG93ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FzZS1zZW5zaXRpdmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FzZS11cHBlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXNzZXR0ZS10YXBlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nhc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FzdGxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jY3R2LW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jY3R2Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWFyZWEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtYmFyLWJpZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1iYXItZGVjcmVhc2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1iYXItaW5jcmVhc2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1iYXItc3RhY2tlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1iYXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtY2FuZGxlc3RpY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtY29sdW1uLWJpZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1jb2x1bW4tZGVjcmVhc2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1jb2x1bW4taW5jcmVhc2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1jb2x1bW4tc3RhY2tlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1jb2x1bW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtZ2FudHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1uZXR3b3JrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LW5vLWF4ZXMtY29sdW1uLWRlY3JlYXNpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtbm8tYXhlcy1jb2x1bW4taW5jcmVhc2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1uby1heGVzLWNvbHVtbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1uby1heGVzLWNvbWJpbmVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LW5vLWF4ZXMtZ2FudHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtcGllLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LXNjYXR0ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtc3BsaW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZWNrLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZWNrLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlZi1oYXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlcnJ5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXNzLWtpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlc3MtYmlzaG9wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXNzLWtuaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGVzcy1wYXduLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXNzLXJvb2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbi1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXNzLXF1ZWVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb24tZmlyc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbi1sYXN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb24tbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9uLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb24tdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbnMtZG93bi11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb25zLWxlZnQtcmlnaHQtZWxsaXBzaXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbnMtbGVmdC1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb25zLXJpZ2h0LWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbnMtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbnMtdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbnMtdXAtZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaHVyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lnYXJldHRlLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaWdhcmV0dGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFsZXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1hcnJvdy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1hcnJvdy1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1hcnJvdy1vdXQtZG93bi1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1hcnJvdy1vdXQtZG93bi1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtYXJyb3ctb3V0LXVwLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LW91dC11cC1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtYXJyb3ctcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1jaGVjay1iaWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1jaGV2cm9uLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWNoZXZyb24tZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtY2hldnJvbi1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtY2hldnJvbi11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1kaXZpZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWRvbGxhci1zaWduLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1kb3QtZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1lbGxpcHNpcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1lcXVhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtZmFkaW5nLWFycm93LXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1mYWRpbmctcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtZ2F1Z2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXBhcmtpbmctb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wYXJraW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wYXVzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtcGVyY2VudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtcGxheS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtcGlsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtcG91bmQtc3RlcmxpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXBvd2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1xdWVzdGlvbi1tYXJrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1zbGFzaC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1zbGFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtc21hbGwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXN0YXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXN0b3AubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXVzZXItcm91bmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXVzZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmN1aXQtYm9hcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2l0cnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsYXBwZXJib2FyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLWNsb2NrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC1jb3B5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC1saXN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtcGFzdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLXBlbi1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC1wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLXR5cGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stMS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stMTAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stMTEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stMTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay0zLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLTQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stNS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay02Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLTgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stNy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay05Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLWFsZXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLWFycm93LWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stYXJyb3ctdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stZmFkaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvc2VkLWNhcHRpb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtYWxlcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtYmFja3VwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLWNvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1kb3dubG9hZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1kcml6emxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLWhhaWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtZm9nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLWxpZ2h0bmluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1tb29uLXJhaW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtbW9vbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1yYWluLXdpbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLXJhaW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtc25vdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1zdW4tcmFpbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1zeW5jLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLXN1bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC11cGxvYWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWR5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3Zlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbHViLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvZGUteG1sLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29mZmVlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2lucy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2x1bW5zLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29sdW1ucy0zLWNvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2x1bW5zLTMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29sdW1ucy00Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbWJpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29tbWFuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb21wYXNzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbXBvbmVudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb21wdXRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb25jaWVyZ2UtYmVsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb25lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbnN0cnVjdGlvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb250YWN0LXJvdW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbnRhY3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29udGFpbmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbnRyYXN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nvb2tpZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb29raW5nLXBvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3B5LWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvcHktbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29weS1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvcHktc2xhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29weS14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvcHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29weWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29weXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nvcm5lci1kb3duLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29ybmVyLWRvd24tcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29ybmVyLWxlZnQtZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItbGVmdC11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItcmlnaHQtZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItcmlnaHQtdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29ybmVyLXVwLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29ybmVyLXVwLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NwdS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jcmVhdGl2ZS1jb21tb25zLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NyZWRpdC1jYXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nyb2lzc2FudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jcm9wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nyb3NzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nyb3NzaGFpci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jcm93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jdWJvaWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3VwLXNvZGEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3VycmVuY3kubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3lsaW5kZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGFtLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RhdGFiYXNlLWJhY2t1cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kYXRhYmFzZS16YXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGF0YWJhc2Utc2VhcmNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RhdGFiYXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RlY2ltYWxzLWFycm93LWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGVjaW1hbHMtYXJyb3ctcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGVsZXRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Rlc3NlcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlhbWV0ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlhbW9uZC1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWFtb25kLXBlcmNlbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlhbW9uZC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpYW1vbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGljZS0xLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpY2UtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlLTMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGljZS00Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpY2UtNS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlLTYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlmZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaXNjLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlzYy0zLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Rpc2MtYWxidW0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGl2aWRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Rpc2MubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG5hLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kbmEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kb2xsYXItc2lnbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG9udXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG9vci1jbG9zZWQtbG9ja2VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Rvb3ItY2xvc2VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Rvb3Itb3Blbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG93bmxvYWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZHJhZnRpbmctY29tcGFzcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kcmlsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kcmFtYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kcm9uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kcm9wbGV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Ryb3BsZXQtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Ryb3BsZXRzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RydW0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZHJ1bXN0aWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2R1bWJiZWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Vhci1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWFyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VhcnRoLWxvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWFydGgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWNsaXBzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lZ2ctZnJpZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWdnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VnZy1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWxsaXBzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lbGxpcHNpcy12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lcXVhbC1hcHByb3hpbWF0ZWx5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VsbGlwc2lzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VxdWFsLW5vdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lcXVhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lcmFzZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXRoZXJuZXQtcG9ydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ldXJvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2V2LWNoYXJnZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXhwYW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2V4dGVybmFsLWxpbmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXllLWNsb3NlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9leWUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2V5ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mYWN0b3J5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zhbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mYXN0LWZvcndhcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmVhdGhlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mZXJyaXMtd2hlZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmVuY2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1hcmNoaXZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtYXhpcy0zZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWJhZGdlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtYm94Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtYnJhY2VzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2hhcnQtY29sdW1uLWluY3JlYXNpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1icmFjZXMtY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2hhcnQtY29sdW1uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2hhcnQtbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWNoYXJ0LXBpZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWNoZWNrLWNvcm5lci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2xvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1jb2RlLWNvcm5lci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWNvZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1jb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1kaWZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtZGlnaXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtZXhjbGFtYXRpb24tcG9pbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1oZWFkcGhvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1oZWFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWltYWdlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtaW5wdXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1rZXkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1sb2NrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtbWludXMtY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1tdXNpYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLW91dHB1dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXBlbi1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtcGxheS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXBlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXBsdXMtY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXF1ZXN0aW9uLW1hcmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1zY2FuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtc2VhcmNoLWNvcm5lci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXNpZ25hbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXNsaWRlcnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1zcHJlYWRzaGVldC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXN5bWxpbmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1zdGFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXRlcm1pbmFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdGV4dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXR5cGUtY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdHlwZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdXNlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXZvbHVtZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXZpZGVvLWNhbWVyYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXgtY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbG0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmluZ2VycHJpbnQtcGF0dGVybi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maXJlLWV4dGluZ3Vpc2hlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maXNoLXN5bWJvbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maXNoLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zpc2hpbmctaG9vay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFnLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maXNoaW5nLXJvZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFnLXRyaWFuZ2xlLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhZy10cmlhbmdsZS1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYW1lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYXNobGlnaHQtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYW1lLWtpbmRsaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYXNobGlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhc2stY29uaWNhbC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhc2stY29uaWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFzay1yb3VuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGlwLWhvcml6b250YWwtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGlwLXZlcnRpY2FsLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxvd2VyLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9jdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZC1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zsb3dlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItYXJjaGl2ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItYm9va21hcmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZC12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWNsb3NlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1jbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1naXQtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItZ2l0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1oZWFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXIta2FuYmFuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1rZXkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWlucHV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1sb2NrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1vcGVuLWRvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItb3Blbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLW91dHB1dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1yb290Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1zZWFyY2gtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItc2VhcmNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1zeW1saW5rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci10cmVlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1zeW5jLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXIteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVycy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb290cHJpbnRzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvcmtsaWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zvcm0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9yd2FyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mcmFtZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mcm93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mdWVsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Z1bGxzY3JlZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZnVubmVsLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZnVubmVsLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2FsbGVyeS1ob3Jpem9udGFsLWVuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mdW5uZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2FsbGVyeS1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dhbGxlcnktdGh1bWJuYWlscy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYWxsZXJ5LXZlcnRpY2FsLWVuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYWxsZXJ5LXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dhbWVwYWQtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYW1lcGFkLWRpcmVjdGlvbmFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dhbWVwYWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2F1Z2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2F2ZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2VtLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dob3N0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dlb3JnaWFuLWxhcmkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LWJyYW5jaC1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1icmFuY2gtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtYnJhbmNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1jb21taXQtaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtY29tbWl0LXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1jb21wYXJlLWFycm93cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtY29tcGFyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtZm9yay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtZ3JhcGgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LW1lcmdlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1tZXJnZS1jb25mbGljdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtcHVsbC1yZXF1ZXN0LWFycm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1wdWxsLXJlcXVlc3QtY2xvc2VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1wdWxsLXJlcXVlc3QtY3JlYXRlLWFycm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1wdWxsLXJlcXVlc3QtY3JlYXRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1wdWxsLXJlcXVlc3QtZHJhZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LXB1bGwtcmVxdWVzdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nbGFzcy13YXRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nbGFzc2VzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dsb2JlLWxvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2xvYmUteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nbG9iZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2xvYmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ29hbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncHUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JhZHVhdGlvbi1jYXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JhcGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpZC0yeDItY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpZC0yeDItcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmlkLTJ4Mi14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dyaWQtMngyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dyaWQtM3gyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dyaWQtM3gzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dyaXAtaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmlwLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dyaXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JvdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3VpdGFyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYW1idXJnZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFtbWVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQtY29pbnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZC1maXN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQtZ3JhYi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYW5kLWhlYXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQtaGVscGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYW5kLW1ldGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQtcGxhdHRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmRiYWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZHNoYWtlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhcmQtZHJpdmUtZG93bmxvYWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFyZC1kcml2ZS11cGxvYWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFyZC1oYXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFyZC1kcml2ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhdC1nbGFzc2VzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhemUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGRtaS1wb3J0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYWRpbmctMS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkaW5nLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhZGluZy0zLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYWRpbmctNC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkaW5nLTUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhZGluZy02Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYWRpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhZHBob25lLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkc2V0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYWRwaG9uZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhcnQtY3JhY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhcnQtaGFuZHNoYWtlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYXJ0LW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYXJ0LW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFydC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYXJ0LXB1bHNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYXJ0LXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhdGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlbGljb3B0ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGV4YWdvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oaWdobGlnaHRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oaXN0b3J5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ob3Atb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvc3BpdGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvdGVsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvdXJnbGFzcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ob3VzZS1oZWFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ob3VzZS1wbHVnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvdXNlLXdpZmkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaG91c2UtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ob3VzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pY2UtY3JlYW0tYm93bC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pY2UtY3JlYW0tY29uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pZC1jYXJkLWxhbnlhcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaWQtY2FyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbWFnZS1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbWFnZS1wbGF5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW1hZ2UtdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW1hZ2UtdXBzY2FsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbWFnZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbWFnZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW1wb3J0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2luYm94Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2luZGlhbi1ydXBlZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbmZpbml0eS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbmZvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2luc3BlY3Rpb24tcGFuZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaXRhbGljLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2l0ZXJhdGlvbi1jY3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaXRlcmF0aW9uLWN3Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2phcGFuZXNlLXllbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9qb3lzdGljay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rYW5iYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMva2F5YWsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMva2V5LXNxdWFyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rZXktcm91bmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMva2V5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2tleWJvYXJkLW11c2ljLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2tleWJvYXJkLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rZXlib2FyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYW1wLWNlaWxpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFtcC1kZXNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhbXAtZmxvb3IubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFtcC13YWxsLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFtcC13YWxsLXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhbXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFuZC1wbG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhbmRtYXJrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhbmd1YWdlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXB0b3AtbWluaW1hbC1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXB0b3AtbWluaW1hbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXB0b3AubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFzc28tc2VsZWN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhdWdoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhc3NvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheWVycy0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheWVycy1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXllcnMtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXlvdXQtZGFzaGJvYXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheWVycy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXlvdXQtZ3JpZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXlvdXQtbGlzdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXlvdXQtcGFuZWwtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXlvdXQtdGVtcGxhdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGF5b3V0LXBhbmVsLXRvcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sZWFmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xlYWZ5LWdyZWVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xlY3Rlcm4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGVucy1jb25jYXZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xlbnMtY29udmV4Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpYnJhcnktYmlnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpYnJhcnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlmZS1idW95Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpZ2F0dXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpZ2h0YnVsYi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saWdodGJ1bGItb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpbmUtZG90LXJpZ2h0LWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGluZS1zdHlsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saW5lLXNxdWlnZ2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpbmstMi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGluay0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpbmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWNoZWNrcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWNoZXZyb25zLWRvd24tdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1jaGV2cm9ucy11cC1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtY29sbGFwc2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1lbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1maWx0ZXItcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWZpbHRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWluZGVudC1kZWNyZWFzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWluZGVudC1pbmNyZWFzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtbXVzaWMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1vcmRlcmVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LXJlc3RhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1zdGFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LXRvZG8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC10cmVlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtdmlkZW8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9hZGVyLWNpcmNsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2FkZXItcGlud2hlZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9hZGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvY2F0ZS1maXhlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2NhdGUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvY2F0ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2NrLWtleWhvbGUtb3Blbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2NrLWtleWhvbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9jay1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9nLWluLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvZy1vdXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9ncy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2xsaXBvcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sdWdnYWdlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21haWwtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFnbmV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21haWwtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21haWwtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlsLXF1ZXN0aW9uLW1hcmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC13YXJuaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21haWwteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlsYm94Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21haWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbHMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4tY2hlY2staW5zaWRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4tY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1ob3VzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGluLW1pbnVzLWluc2lkZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGluLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4tb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4tcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4tcGx1cy1pbnNpZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4tc2VhcmNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4teC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGluLXgtaW5zaWRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbm5lZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFycy1zdHJva2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFycy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXJ0aW5pLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21heGltaXplLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWF4aW1pemUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVkYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVnYXBob25lLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZWdhcGhvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lbW9yeS1zdGljay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZW51Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lcmdlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLWNvZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLWhlYXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLW1vcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtcXVlc3Rpb24tbWFyay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS1yZXBseS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS13YXJuaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtZGlmZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1kb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtaGVhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1tb3JlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLXF1b3RlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLXJlcGx5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLXNoYXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLXRleHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtd2FybmluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2VzLXNxdWFyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXRyb25vbWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWljLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taWMtdm9jYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWljLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pY3JvY2hpcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taWNyb3Njb3BlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pY3Jvd2F2ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taWxlc3RvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWlsay1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWlsay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taW5pbWl6ZS0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pbmltaXplLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pcnJvci1yZWN0YW5ndWxhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taXJyb3Itcm91bmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLWNsb3VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3ItY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3ItZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3Itb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3ItZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLXBhdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3ItcGxheS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLXNtYXJ0cGhvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1zcGVha2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3ItdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1zdG9wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3IteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vb24tc3Rhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb29uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdG9yYmlrZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3VudGFpbi1zbm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdW50YWluLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdXNlLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2Utb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdXNlLXBvaW50ZXItMi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2UtcG9pbnRlci0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdXNlLXBvaW50ZXItYmFuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdXNlLXBvaW50ZXItY2xpY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2UtcG9pbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3VzZS1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3VzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3ZlLTNkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtZGlhZ29uYWwtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3ZlLWRpYWdvbmFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtZG93bi1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtZG93bi1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3ZlLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3ZlLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtdXAtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3ZlLXVwLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3ZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL211c2ljLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbXVzaWMtNC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tdXNpYy0zLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL211c2ljLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25hdmlnYXRpb24tMi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbmF2aWdhdGlvbi0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25hdmlnYXRpb24tb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25hdmlnYXRpb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbmV0d29yay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9uZXdzcGFwZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbmZjLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25vbi1iaW5hcnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbm90ZWJvb2stcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25vdGVib29rLXRleHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbm90ZWJvb2stdGFicy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ub3RlYm9vay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ub3RlcGFkLXRleHQtZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25vdGVwYWQtdGV4dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9udXQtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL251dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9vY3RhZ29uLWFsZXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29jdGFnb24tbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvb2N0YWdvbi1wYXVzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9vY3RhZ29uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29jdGFnb24teC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9vbWVnYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9vcHRpb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvb3JiaXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvb3JpZ2FtaS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWNrYWdlLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFja2FnZS1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWNrYWdlLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhY2thZ2Utb3Blbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWNrYWdlLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFja2FnZS1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFja2FnZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWNrYWdlLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFpbnQtYnVja2V0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhaW50LXJvbGxlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWludGJydXNoLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhaW50YnJ1c2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFsZXR0ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1ib3R0b20tY2xvc2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZGEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWwtYm90dG9tLWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1ib3R0b20tb3Blbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1ib3R0b20ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWwtbGVmdC1jbG9zZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1sZWZ0LWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1sZWZ0LW9wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWwtbGVmdC1yaWdodC1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWwtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1yaWdodC1jbG9zZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1yaWdodC1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWwtcmlnaHQtb3Blbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC10b3AtYm90dG9tLWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC10b3AtY2xvc2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWwtdG9wLWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC10b3Atb3Blbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC10b3AubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWxzLWxlZnQtYm90dG9tLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVscy1yaWdodC1ib3R0b20ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWxzLXRvcC1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhcGVyY2xpcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYXJlbnRoZXNlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYXJraW5nLW1ldGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhcnR5LXBvcHBlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYXctcHJpbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGMtY2FzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wZW4tbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wZW4tb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Blbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wZW4tdG9vbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wZW5jaWwtbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wZW5jaWwtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BlbmNpbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wZW5jaWwtcnVsZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGVudGFnb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGVyY2VudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wZXJzb24tc3RhbmRpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhpbGlwcGluZS1wZXNvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bob25lLWNhbGwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhvbmUtZm9yd2FyZGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bob25lLWluY29taW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bob25lLW1pc3NlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waG9uZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhvbmUtb3V0Z29pbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGlhbm8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGlja2F4ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWN0dXJlLWluLXBpY3R1cmUtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWN0dXJlLWluLXBpY3R1cmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGlnZ3ktYmFuay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWxjcm93LWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGlsY3Jvdy1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWxjcm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpbGwtYm90dGxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bpbi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGlsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGlwZXR0ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waXp6YS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbGFuZS1sYW5kaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BsYW5lLXRha2VvZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGxhbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGxheS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbHVnLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGx1Zy16YXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGx1Zy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BvY2tldC1rbmlmZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wb2RjYXN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BvaW50ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcG9pbnRlci1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcG9wY29ybi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wb3BzaWNsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wb3VuZC1zdGVybGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wb3dlci1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcG93ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcHJlc2VudGF0aW9uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ByaW50ZXIteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wcmludGVyLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ByaW50ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcHJvcG9ydGlvbnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcHV6emxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Byb2plY3Rvci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9weXJhbWlkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3F1b3RlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3FyLWNvZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmFkYXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmFiYml0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGlhdGlvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYWRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGlvLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYWRpby1yZWNlaXZlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYWRpby10b3dlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYWRpby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYWRpdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmFpbmJvdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmF0aW8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC1jZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY2VpcHQtZXVyby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWNlaXB0LWluZGlhbi1ydXBlZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWNlaXB0LXBvdW5kLXN0ZXJsaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY2VpcHQtamFwYW5lc2UteWVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY2VpcHQtcnVzc2lhbi1ydWJsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWNlaXB0LXRleHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC1zd2lzcy1mcmFuYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWNlaXB0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY2VpcHQtdHVya2lzaC1saXJhLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY3RhbmdsZS1jaXJjbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjdGFuZ2xlLWVsbGlwc2lzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY3RhbmdsZS1nb2dnbGVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY3RhbmdsZS1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY3RhbmdsZS12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWN5Y2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZG8tMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWRvLWRvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWRvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZnJlc2gtY2N3LWRvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWZyZXNoLWNjdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWZyZXNoLWN3LW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWZyZXNoLWN3Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZnJpZ2VyYXRvci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWdleC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZW1vdmUtZm9ybWF0dGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZXBlYXQtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZXBlYXQtMS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZXBlYXQtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGVhdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZXBsYWNlLWFsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZXBsYWNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGx5LWFsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZXBseS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yaWJib24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmV3aW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JvYWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm9ja2V0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JvY2tpbmctY2hhaXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm9sbGVyLWNvYXN0ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm9zZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3RhdGUtM2QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm90YXRlLWNjdy1rZXkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm90YXRlLWNjdy1zcXVhcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm90YXRlLWNjdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3RhdGUtY3ctc3F1YXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JvdGF0ZS1jdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3V0ZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm91dGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm91dGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Jvd3MtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3dzLTMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm93cy00Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Jzcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ydWxlci1kaW1lbnNpb24tbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ydWxlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ydXNzaWFuLXJ1YmxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhaWxib2F0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhbGFkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhbmR3aWNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdGVsbGl0ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zYXRlbGxpdGUtZGlzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zYXVkaS1yaXlhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zYXZlLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zYXZlLWFsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zYXZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYWxlLTNkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYWxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4tYmFyY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY2FsaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4tZXllLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4tZmFjZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY2FuLWhlYXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4tbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY2FuLXFyLWNvZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi10ZXh0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nob29sLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjaXNzb3JzLWxpbmUtZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjaXNzb3JzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Njb290ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2NyZWVuLXNoYXJlLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY3JlZW4tc2hhcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nyb2xsLXRleHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nyb2xsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlYXJjaC1hbGVydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZWFyY2gtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VhcmNoLWNvZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VhcmNoLXNsYXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlYXJjaC14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZWN0aW9uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlbmQtaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZW5kLXRvLWJhY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXBhcmF0b3ItaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXBhcmF0b3ItdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VydmVyLWNvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXJ2ZXItY3Jhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VydmVyLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXJ2ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2V0dGluZ3MtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGFwZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2V0dGluZ3MubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hhcmUtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGFyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGVsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGVldC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGVsdmluZy11bml0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1hbGVydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQtYmFuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQtY29nLWNvcm5lci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQtZWxsaXBzaXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpZWxkLWNvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQtaGFsZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpZWxkLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQtcXVlc3Rpb24tbWFyay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQtdXNlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGlwLXdoZWVsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nob3BwaW5nLWJhZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaG9wcGluZy1iYXNrZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hvcHBpbmctY2FydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaG92ZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hvd2VyLWhlYWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hyZWRkZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hyaW5rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NocmltcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaHJ1Yi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaHVmZmxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpZ21hLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpZ25hbC1oaWdoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpZ25hbC1sb3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2lnbmFsLW1lZGl1bS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaWduYWwtemVyby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaWduYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2lnbmF0dXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpZ25wb3N0LWJpZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaWducG9zdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaXJlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9za2lwLWJhY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2tpcC1mb3J3YXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NrdWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NsYXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NsaWRlcnMtaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zbGljZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zbGlkZXJzLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NtYXJ0cGhvbmUtY2hhcmdpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc21hcnRwaG9uZS1uZmMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc21pbGUtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zbWFydHBob25lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NtaWxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NuYWlsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nub3dmbGFrZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zb2FwLWRpc3BlbnNlci1kcm9wbGV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NvZmEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc29sYXItcGFuZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc291cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcGFjZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcGFkZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcGFya2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwYXJrbGVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwZWFrZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BlZWNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwZWxsLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwZWxsLWNoZWNrLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BsaW5lLXBvaW50ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BsaW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwbGl0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nwb29sLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nwb3J0LXNob2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3ByYXktY2FuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nwcm91dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcG90bGlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFjdGl2aXR5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1kb3duLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LWRvd24tcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LW91dC1kb3duLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LW91dC1kb3duLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1vdXQtdXAtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctb3V0LXVwLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1yaWdodC1lbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctcmlnaHQtZXhpdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LXVwLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LXVwLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXN0ZXJpc2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWJvdHRvbS1kYXNoZWQtc2Npc3NvcnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNlbnRlcmxpbmUtZGFzaGVkLWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNlbnRlcmxpbmUtZGFzaGVkLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1jaGFydC1nYW50dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY2hlY2stYmlnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY2hldnJvbi1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1jaGV2cm9uLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNoZXZyb24tcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNoZXZyb24tdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNvZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWRhc2hlZC1ib3R0b20tY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZGFzaGVkLWJvdHRvbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZGFzaGVkLWthbmJhbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZGFzaGVkLW1vdXNlLXBvaW50ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWRhc2hlZC10ZXh0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1kYXNoZWQtdG9wLXNvbGlkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWRvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZGl2aWRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1lcXVhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZnVuY3Rpb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWxpYnJhcnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLW0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWthbmJhbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtbWVudS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLW1vdXNlLXBvaW50ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXBhcmtpbmctb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1wYXJraW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXBlcmNlbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXBhdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1waS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcGlsY3Jvdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcGxheS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcG93ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXJhZGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXJvdW5kLWNvcm5lci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtc2lnbWEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXNjaXNzb3JzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zbGFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtc3BsaXQtaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtc3BsaXQtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXNxdWFyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtc3RhY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXN0YXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXN0b3AubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXRlcm1pbmFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS11c2VyLXJvdW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS11c2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmVzLWV4Y2x1ZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlcy1pbnRlcnNlY3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlcy1zdWJ0cmFjdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmVzLXVuaXRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWlyY2xlLWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVpcmNsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVpcnJlbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGFtcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGFyLWhhbGYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3Rhci1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3Rhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGVwLWJhY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RlcC1mb3J3YXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N0aWNrZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RldGhvc2NvcGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RpY2t5LW5vdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RvcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RyZXRjaC1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N0b25lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N0cmV0Y2gtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RyaWtldGhyb3VnaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdWJzY3JpcHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3VuLWRpbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdW4tbWVkaXVtLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N1bi1tb29uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N1bi1zbm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N1bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdW5yaXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N1bnNldC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdXBlcnNjcmlwdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zd2F0Y2gtYm9vay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zd2lzcy1mcmFuYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zd2l0Y2gtY2FtZXJhLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N3b3JkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N3b3Jkcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zeXJpbmdlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhYmxlLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGUtY2VsbHMtbWVyZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGUtY2VsbHMtc3BsaXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGUtY29sdW1ucy1zcGxpdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZS1vZi1jb250ZW50cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZS1wcm9wZXJ0aWVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhYmxlLXJvd3Mtc3BsaXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGV0LXNtYXJ0cGhvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhYmxldHMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhZ3MubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFsbHktMS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWxseS0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhbGx5LTMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFsbHktNC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YW5nZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhbGx5LTUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFyZ2V0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RlbGVzY29wZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZW50LXRyZWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGVudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXJtaW5hbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXN0LXR1YmUtZGlhZ29uYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGVzdC10dWJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RleHQtYWxpZ24tY2VudGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Rlc3QtdHViZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1hbGlnbi1lbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1hbGlnbi1qdXN0aWZ5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RleHQtYWxpZ24tc3RhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1jdXJzb3ItaW5wdXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1jdXJzb3IubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1pbml0aWFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RleHQtcXVvdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC13cmFwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RoZWF0ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGhlcm1vbWV0ZXItc25vd2ZsYWtlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RoZXJtb21ldGVyLXN1bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aGVybW9tZXRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aHVtYnMtZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aHVtYnMtdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGlja2V0LWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpY2tldC1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXQtcGVyY2VudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXQtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXQtc2xhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGlja2V0LXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGlja2V0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpY2tldHMtcGxhbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGlja2V0cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aW1lbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aW1lci1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGltZXItcmVzZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGltZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG9pbGV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RvZ2dsZS1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RvZ2dsZS1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b29sLWNhc2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG9vbGJveC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b3J1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b3VjaHBhZC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG9ybmFkby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b3VjaHBhZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b3dlbC1yYWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Rvd2VyLWNvbnRyb2wubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG95LWJyaWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyYWN0b3IubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJhZmZpYy1jb25lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyYWluLWZyb250LXR1bm5lbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmFpbi1mcm9udC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmFpbi10cmFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmFtLWZyb250Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyYW5zZ2VuZGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyYXNoLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJlZS1kZWNpZHVvdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJlZS1wYWxtLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyZWUtcGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmVlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmVuZGluZy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyZW5kaW5nLXVwLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJlbmRpbmctdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJpYW5nbGUtYWxlcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJpYW5nbGUtZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyaWFuZ2xlLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyaWFuZ2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Ryb3BoeS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cnVjay1lbGVjdHJpYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cnVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90dXJraXNoLWxpcmEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHVybnRhYmxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R1cnRsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90di1taW5pbWFsLXBsYXkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHYtbWluaW1hbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90di5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90eXBlLW91dGxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHlwZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bWJyZWxsYS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW1icmVsbGEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5kZXJsaW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VuZG8tMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bmRvLWRvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bmRvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VuZm9sZC1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VuZm9sZC12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bml2ZXJzaXR5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VuZ3JvdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5saW5rLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5wbHVnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VubGluay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91cGxvYWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNiLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXItY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1jb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1rZXkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1sb2NrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXItbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXItcm91bmQtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1yb3VuZC1jb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1yb3VuZC1rZXkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1yb3VuZC1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLXBlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1yb3VuZC1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1yb3VuZC14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXItcm91bmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1zdGFyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXIteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXJzLXJvdW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXJzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3V0ZW5zaWxzLWNyb3NzZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXRlbnNpbHMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmFuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3V0aWxpdHktcG9sZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92YXJpYWJsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92YXVsdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92ZWN0b3Itc3F1YXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZlZ2FuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZlbmV0aWFuLW1hc2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmVudXMtYW5kLW1hcnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmVudXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmlicmF0ZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmlicmF0ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92aWRlby1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmlkZW8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmlkZW90YXBlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZpZXcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdm9sbGV5YmFsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b2ljZW1haWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdm9sdW1lLTEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdm9sdW1lLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdm9sdW1lLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b2x1bWUteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b2x1bWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdm90ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YWxsZXQtY2FyZHMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2FsbGV0LW1pbmltYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2FsbGV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhbGxwYXBlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YW5kLXNwYXJrbGVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2FyZWhvdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhdGNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhc2hpbmctbWFjaGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YXZlcy1hcnJvdy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhdmVzLWFycm93LXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhdmVzLWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2F2ZXMtbGFkZGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhdmVzLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dheXBvaW50cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93ZWJjYW0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2ViaG9vay1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2ViaG9vay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93ZWlnaHQtdGlsZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2VpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3doZWF0LW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aGVhdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aG9sZS13b3JkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpZmktY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpZmktaGlnaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aWZpLWxvdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aWZpLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aWZpLXBlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aWZpLXN5bmMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2lmaS16ZXJvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpbmQtYXJyb3ctZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aWZpLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2luZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd29ybS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93b3JrZmxvdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dyZW5jaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy94LWxpbmUtdG9wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvemFwLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96YXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLWFxdWFyaXVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy1hcmllcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtY2FuY2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy1jYXByaWNvcm4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLWdlbWluaS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtbGVvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy1saWJyYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtb3BoaXVjaHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy1waXNjZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLXNjb3JwaW8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLXNhZ2l0dGFyaXVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy10YXVydXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLXZpcmdvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvb20taW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9vbS1vdXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnNBbmRBbGlhc2VzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2x1Y2lkZS5tanM6CiAgKCoqCiAgICogQGxpY2Vuc2UgbHVjaWRlIHYxLjE0LjAgLSBJU0MKICAgKgogICAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIElTQyBsaWNlbnNlLgogICAqIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLgogICAqKQoKaWJhbnRvb2xzL2pzbmV4dC9pYmFudG9vbHMuanM6CiAgKCohCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgU2HFoWEgSm92YW5pxIcKICAgKiBMaWNlbnNlZCB1bmRlciB0aGUgTW96aWxsYSBQdWJsaWMgTGljZW5zZSwgVmVyc2lvbiAyLjAgb3IgdGhlIE1JVCBsaWNlbnNlLAogICAqIGF0IHlvdXIgb3B0aW9uLiBUaGlzIGZpbGUgbWF5IG5vdCBiZSBjb3BpZWQsIG1vZGlmaWVkLCBvciBkaXN0cmlidXRlZAogICAqIGV4Y2VwdCBhY2NvcmRpbmcgdG8gdGhvc2UgdGVybXMuCiAgICogU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogU2HFoWEgSm92YW5pxIcKICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUIG9yIE1QTC8yLjAKICAgKikKICAoKioKICAgKiBWYWxpZGF0aW9uLCBleHRyYWN0aW9uIGFuZCBjcmVhdGlvbiBvZiBJQkFOLCBCQkFOLCBCSUMvU1dJRlQgbnVtYmVycyBwbHVzIHNvbWUgb3RoZXIgaGVscGZ1bCBzdHVmZgogICAqIEBwYWNrYWdlIERvY3VtZW50YXRpb24KICAgKiBAYXV0aG9yIFNhxaFhIEpvdmFuacSHCiAgICogQG1vZHVsZSBpYmFudG9vbHMKICAgKiBAdmVyc2lvbiA0LjUuNAogICAqIEBsaWNlbnNlIE1JVCBvciBNUEwtMi4wCiAgICogQHByZWZlcnJlZAogICAqKQoqLwovLyMgc291cmNlTWFwcGluZ1VSTD1idW5kbGUuanMubWFwCg=="
},
{
"path": "index.html",
"contentBase64": "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhCiAgICAgIG5hbWU9InZpZXdwb3J0IgogICAgICBjb250ZW50PSJ1c2VyLXNjYWxhYmxlPTAsIGluaXRpYWwtc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEsIHdpZHRoPWRldmljZS13aWR0aCwgaGVpZ2h0PWRldmljZS1oZWlnaHQiCiAgICAvPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CiAgICA8bWV0YSBuYW1lPSJ0aGVtZS1jb2xvciIgY29udGVudD0iIzAwMDAwMCIgLz4KICAgIDx0aXRsZT5PbmVib3g8L3RpdGxlPgogICAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2Fzc2V0YnJva2VyLmxvc3NsZXNzLm9uZS8iIGNyb3Nzb3JpZ2luPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Fzc2V0YnJva2VyLmxvc3NsZXNzLm9uZS9mb250cy9mb250cy5jc3MiPgogICAgPHN0eWxlPgogICAgICBodG1sIHsKICAgICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsKICAgICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgIH0KICAgICAgYm9keSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICAgICAgbWFyZ2luOiAwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPG5vc2NyaXB0PgogICAgICA8cCBzdHlsZT0iY29sb3I6ICNmZmY7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDogMTAwcHg7Ij4KICAgICAgICBKYXZhU2NyaXB0IGlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgT25lYm94IGRhc2hib2FyZC4KICAgICAgPC9wPgogICAgPC9ub3NjcmlwdD4KICA8L2JvZHk+CiAgPHNjcmlwdCBkZWZlciB0eXBlPSJtb2R1bGUiIHNyYz0iL2J1bmRsZS5qcyI+PC9zY3JpcHQ+CjwvaHRtbD4K"
}
];